commit 71bbf8363fc1358e388322ddde4930efd91b61f4 Author: zsk <710162063@qq.com> Date: Thu Dec 14 16:03:02 2023 +0800 start diff --git a/ApiDoc.txt b/ApiDoc.txt new file mode 100644 index 0000000..9880646 --- /dev/null +++ b/ApiDoc.txt @@ -0,0 +1,31 @@ +接口地址: +正式:https://d.matripe.com.cn +测试:http://bl7.matripe.com.cn:8001 + + + +1.职位列表 +/overall/store/job/list +参数: + 当前页:pageNum + 每页条数:pageSize + 企业名搜索:aliasName + 省市县:district,北京市,北京市,海淀区 + 工价:monthlyPayStr,3000-4000 + 年龄:ageStr, 16-18或58 + 特色:jobSpecialLabelIds,多个ID英文逗号隔开 + 热门企业ID:hotStoreId + 城市:cityName和levelType两个要同时传 + 性别:sex,1男 2女,-1不限 + +2.职位详情 +/overall/store/job/getStoreJobDetailById?storeJobId=123456 + +3.工单详情 +/yishoudan/user/apply/order/details?orderId=123 + +4.根据渠道经理获取代理列表 +/agency/getByPmdUserId +参数: + 渠道经理ID(可不传,不传就是登录人ID):pmdUserId + 搜索代理的名称:agencyName \ No newline at end of file diff --git a/app.js b/app.js new file mode 100644 index 0000000..77b186f --- /dev/null +++ b/app.js @@ -0,0 +1,473 @@ +App({ + globalData: { + userInfo: null, + // ip: 'http://bl7.matripe.com.cn:8001', + ip: "https://daotian.matripe.com.cn", + // ip: 'http://localhost:8001', + sessionId: "", + header: { + "content-type": "application/x-www-form-urlencoded", + Authorization: "", + Cookie: "", + }, + headers2: { + "content-type": "multipart/form-data", + Authorization: "", + Cookie: "", + }, + headers: { + "content-type": "application/x-www-form-urlencoded", + Authorization: "", + Cookie: "", + }, + userLoginTokenInfo: { + tel: "", //用户电话 + token: "", //用户token + }, + isLogin: false, //是否登录 + loginUserInfo: { + id: "", + userName: "", + tel: "", + imgSrc: "", + }, + lng: "", + lat: "", + autoLoginTag: 0, //是否是自动登录,0否、1是 + isScanQRCodes: 0, //是否是扫码进来的,0否、1是 + hasUserInfo: 0, //是否有用户授权信息 + agencyStatus: 0, //是否是代理 + openId: "", + unionid: "", + isCommission: 0, //是否计算佣金,0否、1是 + user: {}, //用户信息 + serviceInfo: {}, // 客服电话 + version: null, + loginKey:'', + agencyId:'', + sceneStoreJobId:'', + appId:'wx0e390bea912ae982' + }, + // "permission": { + // "scope.userLocation": { + // "desc": "你的位置信息将用于小程序位置接口的效果展示" + // } + // }, + onLaunch() { + let that = this; + wx.hideShareMenu(); + Array.prototype.logResult = function (data) { + console.log("Array"); + return data; + }; + const updateManager = wx.getUpdateManager(); + updateManager.onCheckForUpdate(function (res) { + console.log("onCheckForUpdate====", res); + // 请求完新版本信息的回调 + if (res.hasUpdate) { + console.log("res.hasUpdate===="); + updateManager.onUpdateReady(function () { + wx.showModal({ + title: "更新提示", + content: "新版本已经准备好,是否重启应用?", + confirmColor: "#ff4400", + success: function (res) { + console.log("success====", res); + // res: {errMsg: "showModal: ok", cancel: false, confirm: true} + if (res.confirm) { + // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启 + updateManager.applyUpdate(); + } + }, + }); + }); + updateManager.onUpdateFailed(function () { + // 新的版本下载失败 + wx.showModal({ + title: "已经有新版本了哟~", + content: "新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~", + confirmColor: "#ff4400", + }); + }); + } + }); + // 获取小程序版本 + const miniProgram = wx.getAccountInfoSync(); + console.log(miniProgram); + this.globalData.version = miniProgram.miniProgram.version || "1.1.1"; + that.getServiceInfo().then(() => { + console.log("getServiceInfo"); + }); + + // 展示本地存储能力 + const { statusBarHeight, platform } = wx.getSystemInfoSync(); + + const { top, height } = wx.getMenuButtonBoundingClientRect(); + console.log(statusBarHeight); + console.log(wx.getMenuButtonBoundingClientRect()); + console.log(top, height); + // 状态栏高度 + wx.setStorageSync("statusBarHeight", statusBarHeight); + // 胶囊按钮高度 一般是32 如果获取不到就使用32 + wx.setStorageSync("menuButtonHeight", height ? height : 32); + // 胶囊按钮信息 + wx.setStorageSync("menuButtonInfo", wx.getMenuButtonBoundingClientRect()); + + // 判断胶囊按钮信息是否成功获取 + if (top && top !== 0 && height && height !== 0) { + const navigationBarHeight = (top - statusBarHeight) * 2 + height; + // 导航栏高度 + wx.setStorageSync("navigationBarHeight", navigationBarHeight); + } else { + wx.setStorageSync("navigationBarHeight", platform === "android" ? 48 : 40); + } + const logs = wx.getStorageSync("logs") || []; + logs.unshift(Date.now()); + wx.setStorageSync("logs", logs); + + + this.getLoginUserTokenInfo(); + + // 登录 + wx.login({ + success: (res) => { + // 发送 res.code 到后台换取 openId, sessionKey, unionId + // this.appLoginByTel() + }, + }); + // 引入云开发 + // wx.cloud.init({ + // env: "cloud1-2gnvowo5e7ab00ec", + // }); + }, + isEmptyCheck: function (str) { + if (str == null || str == "" || str == "null" || str == "undefined" || typeof str == "undefined") { + return true; + } + return false; + }, + isNotEmptyCheck: function (str) { + return !this.isEmptyCheck(str); + }, + logout: function () { + var that = this; + return new Promise(function (reslove, reject) { + try { + wx.removeStorageSync("loginUserTokenInfo"); + that.globalData.autoLoginTag = 0; + that.globalData.sessionId = ""; + that.globalData.loginUserInfo = {}; + that.globalData.userLoginTokenInfo = {}; + that.globalData.headers.Cookie = ""; + that.globalData.headers2.Cookie = ""; + that.globalData.header.Authorization = ""; + that.globalData.headers.Authorization = ""; + that.globalData.headers2.Authorization = ""; + that.globalData.isLogin = false; + that.globalData.hasUserInfo = 0; + reslove(); + } catch (e) { + console.log("退出登录失败"); + console.log(e); + reject(); + } + }); + }, + load: function (text) { + wx.showLoading({ + title: text, + mask: true, + }); + }, + hideLoad: function () { + wx.hideLoading(); + }, + showTips: function (_that, msg) { + /*_that.setData({ + popErrorMsg: msg, + pop: 1, + }); + setTimeout(() => { + _that.setData({ + popErrorMsg: '', + pop: 0, + }); + return; + }, 2000)*/ + + wx.showToast({ + icon: "none", + title: msg, + duration: 3000, + }); + }, + setLoginUserTokenInfo: function (tel, token) { + var that = this; + return new Promise(function (resolve, reject) { + try { + that.globalData.userLoginTokenInfo.tel = tel; + that.globalData.userLoginTokenInfo.token = token; + wx.setStorageSync("loginUserTokenInfo", that.globalData.userLoginTokenInfo); + that.appLoginByTel(resolve, reject); + } catch (e) { + console.log("设置登录信息错误"); + console.log(e); + reject(); + } + }); + }, + appLoginByTel: function (resolve, reject) { + var that = this; + + var channelContactId = ""; + try { + var value = wx.getStorageSync("fromQrCodeChannelContactId"); + if (value) { + console.log("fromQrCodeChannelContactId:======", value); + channelContactId = value; + } + } catch (e) { + console.log("获取缓存设置的参数错误:", e); + } + + var agencyUserId = ""; + try { + var value = wx.getStorageSync("storageSyncAgencyUserId"); + if (value) { + console.log("storageSyncAgencyUserId======", value); + agencyUserId = value; + } + } catch (e) { + console.log("获取缓存设置的参数错误:", e); + } + + wx.request({ + url: that.globalData.ip + "/appLoginByTelYiShouDan", + data: { + tel: that.globalData.userLoginTokenInfo.tel, + autoLoginTag: that.globalData.autoLoginTag, + isScanQRCodes: that.globalData.isScanQRCodes, + channelContactId: channelContactId, + agencyUserId: agencyUserId, + openId: that.globalData.openId, + unionid: that.globalData.unionid, + loginKey: that.globalData.loginKey, + appId:that.globalData.appId, + + }, + header: { + "content-type": "application/json", + }, + success: function (res) { + console.log(res); + + if (res.data.status == 200) { + that.globalData.user = res.data.data.user; + // that.globalData.user.idauth = 0; + that.globalData.sessionId = res.data.data.sessionId; + that.globalData.headers.Cookie = "JSESSIONID=" + res.data.data.sessionId; + that.globalData.headers2.Cookie = "JSESSIONID=" + res.data.data.sessionId; + // that.globalData.headers.Authorization = "Bearer " + res.data.data.token; + // that.globalData.headers2.Authorization = "Bearer " + res.data.data.token; + + that.globalData.isLogin = true; + that.globalData.read = res.data.data.read; + that.globalData.userLoginTokenInfo.tel = res.data.data.tel; + that.globalData.userLoginTokenInfo.token = res.data.data.token; + + (that.globalData.hasUserInfo = res.data.data.imgSrc != "" && res.data.data.imgSrc != null && res.data.data.imgSrc != undefined && res.data.data.nickName != "" && res.data.data.nickName != null && res.data.data.nickName != undefined ? 1 : 0), (that.globalData.loginUserInfo = res.data.data); + wx.setStorageSync("loginUserTokenInfo", that.globalData.userLoginTokenInfo); + console.log("readySet"); + wx.showToast({ + title: "登录成功", + icon: "success", + duration: 2000, + }); + + + + + that.getServiceInfo().then(() => { + console.log("getServiceInfo"); + }); + console.log("appLoginByTel" + "+++++++++++++++++++++++++++++++++++++++++++"); + + resolve(); + } else { + wx.showToast({ + icon: "none", + title: res.data.msg, + duration: 2000, + }); + reject(); + } + if (that.userLoginCallback) { + that.userLoginCallback(res); + } + console.log("login====result=======1"); + console.log(that.globalData); + console.log("login====result=======2"); + }, + }); + }, + /** + * 获取客户经理信息 + * + * + */ + getServiceInfo() { + let that = this; + console.log("fromLogin"); + return new Promise((resolve, reject) => { + wx.request({ + url: that.globalData.ip + "/costumer/manager", + header: that.globalData.headers, + success(res) { + console.log(res); + if (res.data.status == 200) { + that.globalData.serviceInfo = res.data.data; + console.log(that.globalData.serviceInfo); + if (that.globalData.serviceInfo.workPhone) { + let tel = that.globalData.serviceInfo.workPhone; + let num1 = tel.slice(0, 3); + let num2 = tel.slice(3, 7); + let num3 = tel.slice(7, 11); + that.globalData.serviceInfo.tel = num1 + "-" + num2 + "-" + num3; + console.log(that.globalData.serviceInfo.tel); + } + resolve(true); + } + }, + }); + }); + }, + getLoginUserTokenInfo: function () { + var that = this; + // debugger; + return new Promise((resloveOutter, rejectOutter) => { + try { + var value = wx.getStorageSync("loginUserTokenInfo"); + console.log(value); + if (value) { + that.globalData.userLoginTokenInfo = value; + // console.log(that.isNotEmptyCheck(that.globalData.userLoginTokenInfo.token)); + if (that.isNotEmptyCheck(that.globalData.userLoginTokenInfo.token)) { + let token = that.globalData.userLoginTokenInfo.token; + that.globalData.header.Authorization = "Bearer " + token; + that.globalData.headers2.Authorization = "Bearer " + token; + that.globalData.headers.Authorization = "Bearer " + token; + console.log(that.globalData.headers); + wx.request({ + url: that.globalData.ip + "/checkToken", + method: "GET", + header: that.globalData.headers, + data:{loginKey: that.globalData.loginKey}, + success: function (res) { + console.log(res); + + if (res.data.status == 200) { + if (wx.getStorageSync("messageClick" + res.data.data.id)) { + console.log("messageClick" + res.data.data.id); + } else { + wx.setStorageSync("messageClick" + res.data.data.id, false); + } + that.globalData.isLogin = true; + that.globalData.test = "b"; + that.globalData.user = res.data.data.user; + // that.globalData.user.idauth = 0; + + that.globalData.loginUserInfo = res.data.data; + console.log(that.globalData.loginUserInfo); + that.getServiceInfo().then(() => { + console.log("getServiceInfo"); + }); + if (that.userLoginCallback) { + that.userLoginCallback(res); + } + let loginKeyTmp = that.globalData.loginKey; + resloveOutter(loginKeyTmp); + + } else { + //已过期 + that.globalData.autoLoginTag = 1; + // that.appLoginByTel(); + // that.globalData.isLogin = false; + return new Promise(function (resolve, reject) { + try { + that.appLoginByTel(resolve, reject); + } catch (e) { + console.log("设置登录信息错误"); + console.log(e); + reject(); + } + }); + rejectOutter(); + } + }, + }); + // console.log(that.globalData.isLogin); + } else if (that.isNotEmptyCheck(that.globalData.userLoginTokenInfo.tel)) { + that.globalData.autoLoginTag = 1; + // that.appLoginByTel(); + + return new Promise(function (resolve, reject) { + try { + that.appLoginByTel(resolve, reject); + } catch (e) { + console.log("设置登录信息错误"); + console.log(e); + reject(); + } + }); + rejectOutter(); + } + } else { + console.log("nologinInfo"); + if (that.userLoginCallback) { + that.userLoginCallback(); + } + rejectOutter(); + } + } catch (e) { + } + }) + }, + onTabItemTap(e) { + console.log(123); + console.log(e); + let that = this; + if (!that.globalData.isLogin) { + // wx.showModal({ + // title: '提示', + // content: '账号尚未登录,请先登录账号', + // success: res => { + // if (res.confirm) { + wx.navigateTo({ + url: "/pages/login/login", + }); + // } else if (res.cancel) { + // wx.reLaunch({ + // url: '/pages/main/homePage' + // }) + // } + // } + // }) + } + }, + dialog: function (title, content, btxt) { + wx.showModal({ + title: title, + content: content, + showCancel: false, + confirmColor: "#027AFF", + confirmText: btxt, + success: function (res) { + if (res.confirm) { + console.log("用户点击确定"); + } else if (res.cancel) { + console.log("用户点击取消"); + } + }, + }); + }, +}); diff --git a/app.json b/app.json new file mode 100644 index 0000000..971c06f --- /dev/null +++ b/app.json @@ -0,0 +1,88 @@ +{ + "pages": [ + "pages/index/index", + "pages/jobListSearch/index", + "pages/city/index", + "pages/detail/index", + "pages/mine/index", + "pages/collect/index", + "pages/shareList/index", + "pages/login/index", + "pages/newEnroll/index", + "pages/newEnroll/enrollEdit/index", + "pages/newEnroll/enroll/index", + "pages/newEnroll/enrollJob/index", + "pages/returnMessage/index", + "pages/test/index", + + "pages/mine/userDetail/index", + "pages/mine/changeAvatar/index", + "pages/mine/changeGender/index", + "pages/mine/setting/index", + "pages/mine/trueName/index", + "pages/mine/userName/index", + "pages/mine/returnMessage/index", + "pages/mine/realName1/index", + "pages/mine/userTel/index", + "pages/mine/wxNickname/index", + "pages/mine/addAddress/index", + "pages/mine/addCard/index", + "pages/mine/addressBook/index", + "pages/mine/addressPage/index", + "pages/mine/addUserCard/index", + "pages/mine/changePsw/index", + "pages/mine/connectUs/index", + "pages/mine/seeIdCard/index", + "pages/mine/versionPage/index", + "pages/mine/myJob/index", + + "pages/message/index", + "pages/messageDetail/index", + + "pages/secret/index", + "pages/serviceTerm/index" + ], + "permission": { + "scope.userLocation": { + "desc": "你的位置信息将用于小程序位置接口的效果展示" + } + }, + "requiredPrivateInfos":[ + "getLocation", + "chooseLocation", + "chooseAddress" + ], + "window": { + "backgroundTextStyle": "light", + "navigationBarBackgroundColor": "#fff", + "navigationBarTitleText": "Weixin", + "navigationBarTextStyle": "black" + }, + "tabBar": { + "color": "#666666", + "borderStyle": "black", + "selectedColor": "#027aff", + "list": [ + { + "iconPath": "./assets/images/zw.png", + "selectedIconPath": "./assets/images/zw1.png", + "pagePath": "pages/index/index", + "text": "首页" + }, + + + { + "iconPath": "./assets/images/wd.png", + "selectedIconPath": "./assets/images/wd1.png", + "pagePath": "pages/mine/index", + "text": "我的" + } + ] + }, + "useExtendedLib": { + "weui": true + }, + "style": "v2", + "sitemapLocation": "sitemap.json", + "lazyCodeLoading": "requiredComponents" +} \ No newline at end of file diff --git a/app.wxss b/app.wxss new file mode 100644 index 0000000..951c700 --- /dev/null +++ b/app.wxss @@ -0,0 +1,1997 @@ +@import "./assets/iconfont-weapp/iconfont-weapp-icon.wxss"; +@import "./assets/iconfont/iconfont.wxss"; + +page { + height: 100vh; + background: #f5f5f5; + --color-ysd: #00B666; + --color-hover: #3393FF; + --color-be: #ff4400; + --color-f40: #ff4400; + --color-027: #ff4400; +} +::-webkit-scrollbar { + display: none; + width: 0; + height: 0; + color: transparent; +} +.weui-cells { + font-size: 16px; + margin: 0 !important; +} +.ysd-basebg-color { + background-color: var(--color-f40) !important; +} +.ysd-base-color { + color: var(--color-ysd) !important; +} +.color-f40{ + color: var(--color-f40) !important; +} +.br8 { + border-radius: 8px; +} +.dil { + display: inline; +} + +.dib { + display: inline-block; +} + +.fl { + float: left; +} + +.fr { + float: right; +} + +.clb { + clear: both; +} +.tl { + text-align: left; +} + +.tr { + text-align: right; +} + +.tc, +.center { + text-align: center; +} + +.f14 { + font-size: 14px !important; +} + +.f14s { + font-size: 14px; +} + +.ml8 { + margin-left: 8px; +} +.ml24 { + margin-left: 24px; +} +.m16 { + margin: 16px; +} +.m0 { + margin: 0 !important; +} +.m016 { + margin: 0 16px; +} +.m010 { + margin: 0 10px; +} +.m160 { + margin: 16px 0; +} +.mr4 { + margin-right: 4px; +} +.mr8 { + margin-right: 8px; +} +.mr12 { + margin-right: 12px; +} +.mt8 { + margin-top: 8px; +} + +.mb8 { + margin-bottom: 8px; +} + +.mb4 { + margin-bottom: 4px; +} +.mb2 { + margin-bottom: 2px; +} +.p0 { + padding: 0 !important; +} +.pr16 { + padding-right: 16px; +} + +.pl16 { + padding-left: 16px; +} +.pb12 { + padding-bottom: 12px; +} +.pb4 { + padding-bottom: 4px; +} +.p08 { + padding: 0 8px; +} +.p012 { + padding: 0 12px !important; +} +.p016 { + padding: 0 16px; +} +.mt6 { + margin-top: 6px; +} +.mt2 { + margin-top: 2px; +} +.p160 { + padding: 16px 0; +} +.p1612 { + padding: 16px 12px; +} +.pb10{ + padding-bottom: 10px; +} +.ml10 { + margin-left: 10px; +} +.ml12 { + margin-left: 12px; +} +.mr10 { + margin-right: 10px; +} +.ml6 { + margin-left: 6px; +} +.ml4 { + margin-left: 4px; +} +.mr6 { + margin-right: 6px; +} +.mr14 { + margin-right: 14px; +} +.ml14 { + margin-left: 14px; +} +.mb32 { + margin-bottom: 32px; +} +.mt2 { + margin-top: 2px; +} +.mt10 { + margin-top: 10px; +} + +.mb10 { + margin-bottom: 10px; +} +.mb12 { + margin-bottom: 12px; +} +.mb6 { + margin-bottom: 6px; +} +.mb16 { + margin-bottom: 16px; +} + +.pl8 { + padding-left: 8px; +} + +.pr8 { + padding-right: 8px; +} + +.pt8 { + padding-top: 8px; +} +.pt12 { + padding-top: 12px; +} +.pb8 { + padding-bottom: 8px; +} + +.p16 { + padding: 16px; +} +.border1 { + border: 1px solid #eee; +} +.bb1 { + border-bottom: 1px solid #eee; +} + +.br1 { + border-right: 1px solid #eee; +} +.bt1 { + border-top: 1px solid #eee; +} +.bl1 { + border-left: 1px solid #eee; +} +.bbd1 { + border-bottom: 1px dotted #eee; +} +.brd1 { + border-right: 1px dotted #eee; +} +.btd1 { + border-top: 1px dotted #eee; +} +.bld1 { + border-left: 1px dotted #eee; +} +.f6 { + font-size: 6px; +} +.f10 { + font-size: 10px; +} + +.f11 { + font-size: 10px; +} + +.va-center { + display: flex; + align-items: center; +} +.db { + display: block; +} + +.display-flex { + display: flex; +} +.tac { + text-align: center; +} +.flex-1 { + flex: 1; +} +.bgcf { + background-color: #fff; +} +.c085 { + color: rgba(0, 0, 0, 0.85); +} + +.cf085 { + color: rgba(255, 255, 255, 1); +} + +.c065 { + color: rgba(0, 0, 0, 0.65); +} + +.c3 { + color: #333333 !important; +} + +.p10 { + padding: 10px; +} + +.c045 { + color: rgba(0, 0, 0, 0.45); +} + +.cgreen { + color: #39bc8b; +} + +.c025 { + color: rgba(0, 0, 0, 0.25); +} + +.am-icon.c015 { + color: rgba(0, 0, 0, 0.15); +} +.pr0 { + padding-right: 0px !important; +} +.pl0 { + padding-left: 0px !important; +} +.pb0 { + padding-bottom: 0px !important; +} +.pt0 { + padding-top: 0px !important; +} + +.pl20 { + padding-left: 20px; +} +.pr10 { + padding-right: 10px; +} +.pl10 { + padding-left: 10px; +} + +.pr20 { + padding-right: 20px; +} + +.pb20 { + padding-bottom: 20px; +} + +.ml20 { + margin-left: 20px; +} + +.mr20 { + margin-right: 20px; +} + +.mt20 { + margin-top: 20px; +} + +.mt24 { + margin-top: 24px; +} + +.mt32 { + margin-top: 32px !important; +} + +.f11 { + font-size: 11px; +} + +.f12 { + font-size: 12px; +} + +.f16 { + font-size: 16px !important; +} +.f17 { + font-size: 17px !important; +} +.f22 { + font-size: 22px; +} +.f24 { + font-size: 24px; +} +.f26 { + font-size: 26px; +} +.f28 { + font-size: 28px; +} +.mt4 { + margin-top: 4px; +} + +.mt5 { + margin-top: 5px; +} + +.f18 { + font-size: 18px; +} + +.f20 { + font-size: 20px; +} +.f28 { + font-size: 28px; +} +.p1620 { + padding: 16px 20px; +} + +.p020 { + padding: 0px 20px; +} + +.p200 { + padding: 20px 0px; +} + +.lineT { + height: 1rpx; + width: calc(100vw - 40px); + margin: 0 auto; + background-color: rgba(0, 0, 0, 0.1); +} + +.p1020 { + padding: 16px 16px 15px; +} + +.pen { + pointer-events: none; +} + +.pea { + pointer-events: auto; +} + +.p1016 { + padding: 10px 16px; +} + +.p20 { + padding: 20px; +} +.p24 { + padding: 24px; +} +.c633 { + color: var(--color-f40); +} +.c6 { + color: #666666 !important; +} +.c9 { + color: #999999 !important; +} +.cbc { + color: #ccc !important; +} +.cf40 { + color: var(--color-ysd) !important; +} +.tar { + text-align: right; +} +.tal { + text-align: left; +} +.por { + position: relative; +} +.poa { + position: absolute; +} +.tagsLi { + display: inline-block; + font-size: 12px; + font-weight: 400; + color: #888; + background: #f1f1f1; + border-radius: 2px; + padding: 0 4px 0px; + line-height: 18px; + margin-right: 6px; + margin-bottom: 4px; + position: relative; + top: 1px; +} +.ticon { + background-repeat: no-repeat !important; + background-size: 100%; +} +.wsn { + white-space: nowrap; +} +.tagsLi.spli { + color: var(--color-ysd); + background-color: rgba(234, 67, 58, 0.2); +} + +.f00, +.cf00 { + color: var(--color-ysd) !important; +} +.cfred { + color: #ff1000; +} +.cf { + color: #ffffff; +} +.pr { + position: relative; +} + +/* .tagsLi.spli{ + color: #FFFFFF; + background-color: var(--color-ysd); +} */ + +.sbLine { + height: 1px; + background-color: rgba(0, 0, 0, 0.08); + /* margin-left: 20px; */ +} + +.ahover { + background-color: rgba(0, 0, 0, 0.08); +} + +.h2 { + font-size: 16px; + color: rgba(0, 0, 0, 0.85); + line-height: 1; + /* margin-top:12px; */ + margin-bottom: 10px; + font-weight: bold; +} + +.lh1 { + line-height: 1; +} +.lh12 { + line-height: 12px; +} +.w70 { + /* width: 100px; */ + white-space: nowrap; + text-align: right; + line-height: 1.5; +} + +.fw500 { + font-weight: bold; +} + +.fw400 { + font-weight: 400; +} + +.w70 + .c085 { + line-height: 1.5; + /* white-space: pre-line; */ +} + +.fwb { + font-weight: bold; +} + +/* .wspl { + white-space: pre-line; +} */ +button.weui-btn_primary::after { + border: 0; +} + +button[type="primary"] { + color: #ffffff; + background-color: var(--color-ysd); +} + +.button-hover[type="primary"] { + color: #ffffff; + /* opacity: 0.8; */ + background-color: var(--color-ysd) !important; +} +/* .login-hover { + opacity: 0.8 !important; +} */ +button[disabled][type="primary"] { + background-color: #c0deff; +} + +.am-button-ghost { + padding: 8px !important; + color: #1f6bbf !important; + box-shadow: inset 0 0 0 1px #1f6bbf !important; +} + +.am-button-primary { + padding: 8px !important; + background-color: #1f6bbf !important; +} + +.w180 { + width: 184px; + margin: 0 auto; + line-height: 42px; +} + +.tImage { + width: 50px; + height: 50px; + margin-right: 6px; + border-radius: 4px; + /* border: 1rpx solid #ddd; */ +} + +.row-extra.c025 { + color: rgba(0, 0, 0, 0.25); +} + +.page-description { + margin-bottom: 32rpx; +} + +.page-section { + background: #fff; +} + +.page-section-title { + padding: 16rpx 32rpx; +} + +.page-section-demo { + padding: 32rpx; +} + +button { + margin-top: 20rpx; + margin-bottom: 20rpx; +} + +.bc_blue { + background-color: #49a9ee; +} + +.bc_red { + background-color: #f04134; +} + +.bc_yellow { + background-color: #ffbf00; +} + +.bc_green { + background-color: #00a854; +} +.inherit_c { + color: inherit !important; +} +.form-row { + display: flex; + align-items: center; + padding: 0 20px; + height: 44px; + align-items: center; +} + +.form-row-label { + width: 50px; + font-size: 16px; + font-weight: 400; + color: #666666; + line-height: 22px; + margin-right: 10px; +} + +.form-row-content { + flex: 1; + font-size: 16px; + background: #f4f4f4; + border-radius: 6px; + line-height: 50px; +} + +.form-line { + height: 1px; + background-color: rgba(0, 0, 0, 0.08); + margin-left: 16px; + /*margin-left: 30rpx;*/ +} + +.f13 { + font-size: 13px; +} + +.row-title.f14 { + font-size: 14px; +} + +.inlineBlock .am-loading-wrap { + margin: 0 auto; +} + +.am-list-content-title { + font-size: 14px !important; +} + +.inlineBlock { + display: inline-block; + vertical-align: middle; +} + +.rightIcon { + position: relative; + padding-right: 16px; +} + +.rightIcon:after { + content: " "; + width: 12px; + height: 24px; + -webkit-mask-position: 0 0; + mask-position: 0 0; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: 100%; + mask-size: 100%; + background-color: currentColor; + color: var(--weui-FG-2); + -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2.454%206.58l1.06-1.06%205.78%205.779a.996.996%200%20010%201.413l-5.78%205.779-1.06-1.061%205.425-5.425-5.425-5.424z%22%20fill%3D%22%23B2B2B2%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E); + mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2.454%206.58l1.06-1.06%205.78%205.779a.996.996%200%20010%201.413l-5.78%205.779-1.06-1.061%205.425-5.425-5.425-5.424z%22%20fill%3D%22%23B2B2B2%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E); + position: absolute; + top: 50%; + right: 0; + margin-top: -12px; + -webkit-mask-position-x: 0px; + -webkit-mask-position-y: 0px; + -webkit-mask-repeat-x: no-repeat; + -webkit-mask-repeat-y: no-repeat; +} +.mt10 { + margin-top: 10px; +} +.mt16 { + margin-top: 16px; +} + +.mb16 { + margin-bottom: 16px; +} +.ml4 { + margin-left: 4px; +} +.mb8 { + margin-bottom: 8px; +} + +.pb8 { + padding-bottom: 8px; +} + +.bgf { + background-color: #fff; +} +.weui-cells { + font-size: 16px; + margin: 0 !important; +} +.wx-border-tb { + border-top: 1px solid #f3f3f3; + border-bottom: 1px solid #f3f3f3; +} + +.userImg { + width: 120rpx; + height: 120rpx; + /* border-radius: 4px; */ + overflow: hidden; + display: flex; + justify-content: center; + align-items: center; +} + +button::after { + border: 0; +} + +.v-center { + display: flex; + align-items: center; + justify-content: center; +} + +.vsb { + justify-content: space-between; + display: flex; + flex-flow: column; +} +.fsa { + display: flex; + align-items: center; + justify-content: space-between; +} +.fsc { + display: flex; + /* flex-direction: column; */ + align-items: center; + justify-content: center; +} + +.jobTitle { + font-size: 22px; + font-weight: 601; + color: rgba(0, 0, 0, 0.85); + line-height: 30px; + flex: 1; +} + +[data-title*="null"] { + display: none; +} + +.ui-poptips { + transform: translateY(-40px); + transition: all 0.5s; + padding: 0 30px; +} + +.ui-poptips.ui-poptipsTop { + transform: translateY(0px); +} + +.ui-poptips { + width: 100%; + position: fixed; + top: 0; + left: 0; + z-index: 99999999; + padding: 0 10px; + box-sizing: border-box; +} + +.ui-poptips-cnt { + background-color: rgba(0, 0, 0, 0.5); + line-height: 40px; + height: 40px; + color: #fff; + font-size: 16px; + text-align: center; + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + max-width: 100%; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.ui-poptips { + transform: translateY(-40px); + transition: all 0.5s; + padding: 0 30px; +} + +.ui-poptips.ui-poptipsTop { + transform: translateY(0px); +} + +.icon-weixuanzhong { + color: #888; + padding-right: 8px; + font-size: 20px; +} + +.icon-xuanzhong { + color: var(--color-ysd); + padding-right: 8px; + font-size: 20px; +} + +.radioText { + font-size: 16px; + color: rgba(0, 0, 0, 0.65); + position: relative; + top: -2px; +} + +.userName { + font-size: 16px; + font-weight: 400; + color: #333333; + line-height: 25px; + margin-top: 3px; +} + +.time { + font-size: 14px; + font-weight: 400; + color: #919191; + line-height: 16px; + margin-top: 6px; +} + +.ava { + width: 44px; + height: 44px; + border-radius: 4px; + margin-right: 6px; + display: block; +} + +.sm { + font-size: 14px; + font-weight: 400; + text-align: left; + color: #333333; + line-height: 44px; +} + +.oneP { + display: flex; + /* padding-bottom: 12px; + padding-top: 16px; */ + padding-bottom: 16px; + padding-top: 16px; + box-sizing: border-box; + border-bottom: 1px solid #f3f3f3; +} + +.staticTitle { + margin-top: 20px; + font-size: 22px; + font-weight: 601; + text-align: center; + color: #262626; + line-height: 30px; +} +.cccc { + color: #ccc; +} +.aca { + color: #c2c2c2; +} +.mr4 { + margin-right: 4px; +} + +.weui-btn_input-clear [class*="weui-icon-"] { + width: 18px; + height: 18px; +} + +.weui-btn_input-clear { + padding-top: 3px; +} + +.mr16 { + margin-right: 16px; +} + +.ml16 { + margin-left: 16px; +} + +.p2010 { + padding: 20px 10px; +} + +.weui-dialog__title { + font-size: 18px; + font-weight: 400; + color: #333333; + line-height: 25px; +} + +.weui-dialog__bd { + font-size: 16px; + font-weight: 400; + text-align: center; + color: #787878; + line-height: 22px; + margin-bottom: 20px; + /* border-bottom: 1rpx solid #e2e2e2; */ +} + +.weui-dialog__bd view { + /* padding-bottom: 20px; */ + + /* border-bottom: 1rpx solid #e2e2e2; */ +} + +.weui-dialog__hd { + padding: 32px 24px 20px; +} + +.lflex { + font-size: 18px; + font-weight: 601; + text-align: center; + color: var(--color-ysd); + line-height: 28px; + /* margin-top: 7px; */ + padding: 0 10px 0 30px; +} + +.rflex { + flex: 1; + padding: 0 30px 0 10px; +} + +.rflex button { + margin-top: 0; + margin-bottom: 0; + height: 42px; + opacity: 1; + background: var(--color-ysd); + border-radius: 25px; + font-size: 18px; + font-weight: 601; + color: #ffffff; + line-height: 26px; +} +.f22 { + font-size: 22px; +} + +.pb16 { + padding-bottom: 16px !important; +} + +.pb20 { + padding-bottom: 20px; +} +.mb0 { + margin-bottom: 0px !important; +} +.btnFlex { + margin: 0; + padding: 0; + background-color: #fff; + line-height: 28px; + color: var(--color-ysd); +} + +.lflex.p020 { + padding: 0 20px; +} +.newList { + padding: 17px 20px; +} + +.newList .lefticon { + /* font-size:20px; */ + width: 20px; + height: 20px; + line-height: 1; + color: #666; +} +.newList .icon-you { + line-height: 1; +} + +.newList .mw-labe { + display: flex; + flex-direction: row; + align-items: center; +} + +.storeName { + font-size: 18px; + color: rgba(0, 0, 0, 0.85); + /* flex:1; */ + width: 360rpx; + font-weight: 601; + line-height: 1.2; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.servicePrice { + border: 1rpx solid var(--color-ysd); + background-color: #ffeee7; + justify-content: space-between; + border-right-color: transparent; + border-left-color: transparent; +} +.newList .iconOut { + margin-right: 12px; +} +.newList .mw-labe .flex-1 { + display: flex; + flex-direction: row; + align-items: center; +} + +.flex-2 { + flex: 2; +} +.weui-cells__group_form .weui-cell { + padding: 18px 20px; +} +.weui-cells__group_form .weui-cell:before, +.weui-cells__group_form .weui-cells:before, +.weui-cells__group_form .weui-cells:after { + left: 20px; + right: 20px; +} +.mt12 { + margin-top: 12px; +} + +.rtText, +.rbText { + font-size: 14px; + font-weight: 400; + text-align: right; + color: #333333; + line-height: 18px; + margin-top: 3px; +} + +.rbText { + margin-top: 5px; + color: #919191; +} +.rtText { + font-size: 16px; +} +.weui-loading { + display: none; +} +.weui-btn_loading { + pointer-events: none; +} +.weui-btn_loading .weui-loading { + display: inline-block; +} + +.gztop { + background-color: #00a0ff; + padding: 20px 15px; + color: #fff; +} +.cred_new { + color: #e60012 !important; +} +.ui-step { + padding-bottom: 10px; + margin-bottom: 60px; + padding-top: 32rpx; + border-top: 1px solid #f3f3f3; +} + +.ui-step.ui-list > view { + margin-left: 48rpx; + padding-top: 0; + padding-bottom: 0; + padding-right: 32rpx; + position: relative; +} + +.mb18 { + margin-bottom: 36rpx; +} +.br8 { + border-radius: 8px; +} +.tc { + text-align: center; +} +.flex-2 { + flex: 2; +} +.weui-cells:after { + border-bottom: 0; +} +.mbtn { + background-color: #10aeff; +} + +.pull-right { + float: right; +} +.size100 { + width: 100%; + height: 100%; +} +.cardTitle { + flex: 1; + font-size: 34rpx; + font-weight: 400; + color: rgba(0, 0, 0, 0.9); + line-height: 48rpx; +} + +.cardTime { + font-size: 28rpx; + line-height: 56rpx; + color: rgba(0, 0, 0, 0.3); +} + +.smd-container { + padding: 40rpx; +} +.thover { + opacity: 0.8 !important; +} +.thover view { + opacity: 0.8 !important; +} +.textHov { + opacity: 0.8 !important; +} +.c009 { + color: rgba(0, 0, 0, 0.9); +} +.leftText { + color: rgba(0, 0, 0, 0.45); + font-size: 28rpx; + min-width: 160rpx; +} +.rightText { + flex: 1; + font-size: 28rpx; +} + +.c030 { + color: rgba(0, 0, 0, 0.3); +} +.c050 { + color: rgba(0, 0, 0, 0.5); +} +.c090 { + color: rgba(0, 0, 0, 0.9); +} +.p1220 { + padding: 32rpx 40rpx; +} +.mt8 { + margin-top: 16rpx; +} +.mt12 { + margin-top: 24rpx; +} +.mt32 { + margin-top: 64rpx; +} +.mPicker { + text-align: right; + margin-right: 36px; +} +.weui-cell::before { + left: 0; +} +.weui-cells::before { + display: none; +} +.weui-cells::after { + display: none; +} +.mbtn { + background-color: var(--color-ysd); +} +.primaryColor { + color: var(--color-ysd); +} +.p010 { + padding: 0 10px; +} + +.c065 { + color: rgba(0, 0, 0, 0.65); +} +.c045 { + color: rgba(0, 0, 0, 0.45); +} + +.lh24 { + line-height: 48rpx; +} +.mt0 { + margin-top: 0 !important; +} +.dn { + display: none !important; +} +.aic { + align-items: center; +} +.weui-loading { + display: none; +} +.weui-btn_loading { + pointer-events: none; +} +.weui-btn_loading .weui-loading { + display: inline-block; +} + +.gztop { + background-color: #00a0ff; + padding: 20px 15px; + color: #fff; +} +.cred_new { + color: #e60012 !important; +} +.ui-step { + padding-bottom: 10px; + margin-bottom: 60px; + padding-top: 32rpx; + border-top: 1px solid #f3f3f3; +} + +.ui-step.ui-list > view { + margin-left: 48rpx; + padding-top: 0; + padding-bottom: 0; + padding-right: 32rpx; + position: relative; +} + +.cg-cricle, +.cb-cricle { + position: absolute; + left: -4.5px; + top: -2px; + background: #cce0b7; + width: 10px; + height: 10px; + border-radius: 100%; +} + +.cb-cricle { + background-color: var(--color-ysd); +} + +.ui-step .ui-list-info { + padding-left: 26rpx; + border-left: 2px solid var(--color-ysd); + padding-bottom: 15px; + margin-top: -2px; +} + +.ui-step li:last-child .ui-list-info { + border-left: 0; +} + +.ui-step .f14.c3, +.ui-step .f12.c6 { + position: relative; + top: -5px; +} + +.ui-step view:last-child .ui-list-info { + border-left: 0; +} +.mb18 { + margin-bottom: 36rpx; +} + +.flex-2 { + flex: 2; +} +button.newBtn { + width: 200px; + height: 42px; + background: var(--color-ysd); + border-radius: 25px; + font-size: 18px; + line-height: 42px; + font-weight: 601; + padding: 0; +} + +button.newBtn.mbtn-hover { + background-color: #1890ff; +} +.topMenu { + display: flex; + padding: 12px 0; + border-bottom: 1px solid #f3f3f3; + background-color: #fff; +} + +.onMune { + flex: 1; + font-size: 16px; + font-weight: 400; + text-align: center; + color: #000; + line-height: 18px; +} + +.menuBorder { + position: absolute; + width: 20px; + height: 3px; + opacity: 1; + background: var(--color-ysd); + border-radius: 2px; + bottom: -12px; + left: 50%; + margin-left: -10px; +} + +.onMune .menuBorder { + display: none; +} + +.onMune.active .menuBorder { + display: block; +} + +.onMune.active { + font-size: 16px; + font-weight: 601; + text-align: center; + color: var(--color-ysd); + line-height: 18px; +} +.loadMore { + border-top: 1rpx solid transparent; + border-bottom: 1rpx solid transparent; + background-color: #fff; +} +.loadMore view { + width: 120px; + height: 28px; + border: 1px solid #f3f3f3; + border-radius: 20px; + font-size: 14px; + text-align: center; + color: #8c8c8c; + line-height: 28px; + margin: 20px auto; +} +view:empty, +text:empty { + content: "-"; +} +.c027 { + color: var(--color-ysd); +} + +page { + /* padding: 10px; */ + /* height: 100vh !important; */ + /* background-color: #fff; */ + color: #333; + box-sizing: border-box; +} + +.navigationbar { + width: 100%; + height: 88px; + display: none; + position: fixed; + top: 0; + left: 0; + z-index: 999; +} +.navigationbar text { + position: absolute; + bottom: 10px; + left: 50%; + transform: translateX(-50%); +} + +.navigationbar view { + position: absolute; + width: 15px; + height: 18px; + bottom: 15px; + left: 18px; + background-repeat: no-repeat; + background-size: 100% 100%; + background-position: center; +} +.mt_10 { + margin-top: 10px !important; +} +.br_8 { + border-radius: 8px; +} +/* .container{ + margin-top: 88px !important; +} */ +.logout-hover { + background-color: #ff44001a; +} +/* 搜索栏的样式 */ +.navigatortool { + position: fixed; + width: 100vw; + top: 0; + z-index: 1000; +} +.navigatortool .weui-search-bar { + display: flex; + justify-content: space-between; + /* padding-top: 52px; */ + margin-bottom: 4px; + padding-right: 120px; + position: relative; + background-color: #fff; + /* padding: 8px 16px; */ + /* padding-bottom: 10px; */ + /* background-color: #ff4400; */ +} +.navigatortool .weui-search-bar .weui-search-bar__box { + flex: 1; + /* width: 198px; */ + margin-left: 10px; + border-radius: 999px; + background-color: #f5f5f5 !important; + margin-left: 0px; + padding-left: 6px; +} +.navigatortool .weui-search-bar .weui-search-bar__box i { + margin-left: 6px; + margin-right: 4px; + color: #ccc; +} +.navigatortool .weui-search-bar .weui-search-bar__box .iconfont { + -webkit-text-stroke-width: 0.3px; +} +.navigatortool .weui-search-bar .weui-search-bar__input { + padding: 4px 0; +} +.navigatortool .weui-search-bar .weui-search-bar__input::placeholder { + line-height: 24px !important; +} +.navigatortool .weui-search-bar .icon-xiangzuo { + width: 30px; + height: 30px; + line-height: 30px; + text-align: center; + font-weight: bold; +} +.normalBtn { + width: 260px !important; + height: 42px; + color: #fff; + border-radius: 999px; +} +.loginOut { + width: 200px; + height: 42px; + opacity: 1; + background-color: var(--color-ysd); + border-radius: 25px; + font-size: 18px; + font-weight: 601; + color: #ffffff; + padding: 0; + line-height: 42px; + /* margin-top: 30px; */ + margin-bottom: unset; +} +.uploadZheng image, +.uploadFan image { + width: 313px; + height: 167px; + border-radius: 8px; +} +.uploadFan { + text-align: center; + margin-top: 20px; +} +.circleNum { + display: inline-block; + width: 16px; + height: 16px; + background-color: #ff4400; + color: #fff; + font-size: 12px; + line-height: 16px; + text-align: center; + border-radius: 50%; + /* position: relative; */ + /* top: -2px; */ + /* right: 8px; */ +} + +.weui-cell:before { + transform: scaleY(1); +} + +.hcb { + background-color: #f2f2f2 !important; +} +.weui-dialog__ft:after { + border-top: 1px solid #eeeeee; + transform: scaleY(1); +} + +.weui-loadmore_line { + border-top: 1px solid #f3f3f3; +} +.weui-grid4, +.weui-grid5 { + position: relative; + float: left; + text-align: center; + padding: 20px 10px; + width: 25%; + box-sizing: border-box; +} +.weui-grid5 { + width: 20%; + padding: 10px 10px; +} +.weui-grids:after, +.weui-grids:before { + z-index: 99; +} +.weui-grids:after { + border-left: 0; +} +.weui-grid4:active, +.weui-grid5:active { + /* background-color: #ececec; */ +} + +.weui-grid4:before, +.weui-grid5::before { + content: " "; + position: absolute; + right: 0; + bottom: 0; + color: var(--weui-FG-3); + top: 0; + width: 1px; + border-right: 1px solid var(--weui-FG-3); + -webkit-transform-origin: 100% 0; + transform-origin: 100% 0; + -webkit-transform: scaleX(0.5); + transform: scaleX(0.5); +} +.weui-grid5:nth-child(1):before { + border-left: 0; +} +.weui-grid4:nth-child(4):before, +.weui-grid5:nth-child(5):before { + border-right: 0; + border-right-width: 0px; + border-right-style: initial; + border-right-color: initial; +} +.btmFix { + position: fixed; + z-index: 999; + bottom: 0px; + left: 0; + width: 100%; + padding: 0 32px; + box-sizing: border-box; + /* margin-top: 24px; + position: relative; */ + background-color: #fff !important; + height: 88px; + box-shadow: 0px -2px 4px 0px rgba(218, 218, 218, 0.5); + /* margin-bottom: 24px; */ +} +.dtBtn, +.dtBtnD { + display: inline-block; + border-radius: 18px; + font-size: 16px; + font-weight: 601; + padding: 0; + color: #ffffff; + + width: 128px !important; + height: 36px; + line-height: 36px; + box-sizing: border-box; + margin: 12px 0; +} +.button-hover[type="primary"] { + background-color: var(--color-hover) !important; +} +.dtBtn { + background-color: var(--color-ysd) !important; +} +.dtBtnD { + border: 1px solid var(--color-ysd); + border-radius: 18px; + background-color: #fff; + line-height: 34px; + color: var(--color-ysd); +} +.dtBtnD:active { + background-color: #fff5f1; +} +.iconView { + display: inline-block; + width: 24px; + height: 24px; + background: #f6f6f6; + border-radius: 50%; + text-align: center; +} +.iconView.active { + background: #fff5f1; +} +.editClass { + font-size: 16px; + text-align: center; + border-top: 1px solid #eee; + color: #576b95; + line-height: 48px; +} +.iconView .iconfont { + font-size: 12px; + line-height: 24px; + color: #ccc; +} +.iconView.active .iconfont { + color: #ff4400; +} +.weui-search-bar__input.c9 { + color: #999999 !important; +} +.weui-search-bar__input.c3 { + color: #333333 !important; +} + +/* 搜索框的公用样式 */ +.weui-search-bar { + padding-right: 12px; +} +.weui-search-bar__form { + border-radius: 40px !important; +} +.weui-search-bar__form .icon-sousuo { + position: absolute; + left: 14px; + width: 16px; + top: 1px; + height: 16px; + color: #cccccc; +} + +.weui-search-bar__box { + position: relative; + line-height: 40px; + height: 40px; + padding-left: 32px; + display: flex; + + justify-content: space-between; + padding-right: 0; +} + +.weui-search-bar__box .weui-search-bar__input { + width: 220px; + padding: 0; + height: 32px !important; + line-height: 32px !important; + font-size: 16px; +} +.weui-search-bar__box { + height: 32px !important; + line-height: 32px !important; + /* top: 8px; */ +} +.weui-search-bar__box .search { + position: relative; + text-align: left; + width: 52px; + padding-left: 12px; + box-sizing: border-box; + /* left: -10px; */ + font-size: 16px; + height: 40px !important; + font-weight: bold; + line-height: 40px !important; + color: var(--color-ysd); +} +.weui-search-bar__box .search::before { + content: ""; + position: absolute; + width: 1px; + height: 16px; + left: 0; + top: 50%; + transform: translateY(-50%); + background-color: #ddd; +} +.weui-search-bar .icon-qingchu1 { + position: absolute; + top: 50%; + right: 62px; + padding-right: 0; + transform: translateY(-50%); + width: 16px; + height: 16px; + z-index: 3; + line-height: 16px; + /* -webkit-mask-size: 16px; */ + /* mask-size: 16px; */ +} +.weui-search-bar .icon-qingchu1::before { + color: rgba(0, 0, 0, 0.25); +} +.navigatortool { + position: fixed; + width: 100vw; + top: 0; + z-index: 1000; +} +.navigatortool .weui-search-bar { + display: flex; + justify-content: space-between; + /* padding-top: 52px; */ + margin-bottom: 4px; + padding-right: 120px; + position: relative; + background-color: #fff; + /* padding: 8px 16px; */ + /* padding-bottom: 10px; */ + /* background-color: #ff4400; */ +} +.navigatortool .weui-search-bar .weui-search-bar__box { + flex: 1; + /* width: 198px; */ + margin-left: 10px; + border-radius: 999px; + background-color: #f5f5f5 !important; + margin-left: 0px; + padding-left: 6px; +} +.navigatortool .weui-search-bar .weui-search-bar__box i { + margin-left: 6px; + margin-right: 4px; + color: #ccc; +} +.navigatortool .weui-search-bar .weui-search-bar__box .iconfont { + -webkit-text-stroke-width: 0.3px; +} + +.navigatortool .weui-search-bar .weui-search-bar__input::placeholder { + line-height: 24px !important; +} +.navigatortool .weui-search-bar .icon-xiangzuo { + width: 30px; + height: 30px; + line-height: 30px; + text-align: center; + font-weight: bold; +} +.iconClass { + position: relative; + left: 0px; + top: -2px; + display: flex; + align-items: center; + justify-content: center; + width: 148px; + height: 34px; + background: #fff5f1; + border-radius: 17px; +} +.weui-dialog__hd { + padding: 16px 20px; +} +.weui-dialog__btn.weui-dialog__btn_primary { + color: var(--color-ysd); +} +.weui-dialog__btn.weui-dialog__btn_default { + color: #333; +} +.weui-dialog__bd.wbv0 view { + padding-bottom: 0; + border-bottom: 0; + text-align: left; +} +.weui-dialog__btn:after { + transform: scaleX(1); + border-left: 1px solid #eeeeee; +} +.elps { + overflow: hidden; + text-overflow: ellipsis; + width: 100%; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 3; + word-break: break-all; +} +.oelps { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +/* 伪元素加大识别区域 */ +.biggerSize, +.biggerSize2 { + position: relative; +} + +.biggerSize::after { + content: ""; + /* display: inline-block; */ + width: 50px; + height: 50px; + position: absolute; + left: 50%; + top: 50%; + z-index: 99; + transform: translate(-50%, -50%); +} + +.biggerSize2::after { + content: ""; + /* display: inline-block; */ + width: 100px; + height: 70px; + position: absolute; + left: 50%; + top: 50%; + z-index: 99; + transform: translate(-50%, -50%); +} +.tobe { + height: 70% !important; +} +.tobe .guanbi { + top: 12px !important; +} +.tobe .weui-dialog__hd { + position: relative; + height: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + margin-top: 8%; +} +.tobe .weui-dialog__hd .top { + padding-bottom: 20px; + width: 100%; +} +.tobe .weui-dialog__hd .bottom { + display: flex; + flex: 1; + flex-direction: column; + justify-content: center; + align-items: center; + width: 100%; + /* padding-top: 10px; */ +} +.tobe .weui-dialog__hd .bottom > view { + margin-top: -30px; +} +/* + 成为代理二维码弹窗 +*/ +.contact { + width: 80%; + height: 350px; +} +.contact .contact_bottomBtn .v-center { + width: 80px !important; +} +.contact .contact_bottomBtn .rflex button { + padding: 0; + width: 100%; +} +.contact .weui-dialog__hd { + margin-top: 40px; + padding: 0; + position: relative; +} +.contact .guanbi { + position: absolute; + right: 16px; + top: -28px; +} +.contact .contact_bottomBtn .v-center { + width: 80px !important; +} +.contact .contact_bottomBtn .rflex button { + padding: 0; + width: 100%; +} diff --git a/appcommon.wxss b/appcommon.wxss new file mode 100644 index 0000000..e69de29 diff --git a/assets/iconfont-weapp/iconfont-weapp-icon.wxss b/assets/iconfont-weapp/iconfont-weapp-icon.wxss new file mode 100644 index 0000000..447e73a --- /dev/null +++ b/assets/iconfont-weapp/iconfont-weapp-icon.wxss @@ -0,0 +1,671 @@ + +.t-icon { + display: inline-block; + width: 16px; + height: 16px; + background-repeat: no-repeat; + background-position: center; + background-size: 100%; +} + + + +.t-icon-wodebaoming2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodebaoming2%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M951.466667%20785.066667h-115.2v-110.933334c0-17.066667-12.8-29.866667-29.866667-29.866666-17.066667%200-29.866667%2012.8-29.866667%2029.866666v110.933334h-115.2c-17.066667%200-29.866667%2012.8-29.866666%2029.866666s12.8%2029.866667%2029.866666%2029.866667h115.2v110.933333c0%2017.066667%2012.8%2029.866667%2029.866667%2029.866667s29.866667-12.8%2029.866667-29.866667v-110.933333h115.2c17.066667%200%2029.866667-12.8%2029.866666-29.866667s-12.8-29.866667-29.866666-29.866666z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M810.666667%20985.6c-17.066667%200-34.133333-12.8-34.133334-34.133333v-106.666667h-110.933333c-17.066667%200-34.133333-12.8-34.133333-34.133333%200-17.066667%2012.8-34.133333%2034.133333-34.133334h110.933333v-106.666666c0-17.066667%2012.8-34.133333%2034.133334-34.133334s34.133333%2012.8%2034.133333%2034.133334v106.666666h110.933333c17.066667%200%2034.133333%2012.8%2034.133334%2034.133334%200%2017.066667-12.8%2034.133333-34.133334%2034.133333h-110.933333v106.666667c0%2021.333333-17.066667%2034.133333-34.133333%2034.133333z%20m-140.8-196.266667c-12.8%200-25.6%208.533333-25.6%2025.6%200%2012.8%2012.8%2025.6%2025.6%2025.6h119.466666v115.2c0%2012.8%2012.8%2025.6%2025.6%2025.6s25.6-8.533333%2025.6-25.6v-115.2h119.466667c12.8%200%2025.6-8.533333%2025.6-25.6%200-12.8-12.8-25.6-25.6-25.6h-119.466667v-115.2c0-12.8-12.8-25.6-25.6-25.6s-25.6%208.533333-25.6%2025.6v115.2h-119.466666z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M507.733333%20533.333333c-140.8%200-260.266667-106.666667-260.266666-243.2C251.733333%20149.333333%20362.666667%2042.666667%20507.733333%2042.666667S768%20149.333333%20768%20285.866667c0%20132.266667-115.2%20247.466667-260.266667%20247.466666z%20m0-435.2c-110.933333%200-200.533333%2085.333333-200.533333%20187.733334s93.866667%20187.733333%20200.533333%20187.733333%20200.533333-85.333333%20200.533334-187.733333-89.6-187.733333-200.533334-187.733334z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M507.733333%20541.866667c-149.333333%200-273.066667-115.2-273.066666-256%204.266667-145.066667%20123.733333-256%20273.066666-256%20149.333333%200%20273.066667%20115.2%20273.066667%20256s-123.733333%20256-273.066667%20256z%20m0-486.4C371.2%2055.466667%20260.266667%20157.866667%20256%20285.866667c0%20128%20110.933333%20234.666667%20251.733333%20234.666666s251.733333-106.666667%20251.733334-234.666666-115.2-230.4-251.733334-230.4z%20m0%20430.933333c-115.2%200-213.333333-89.6-213.333333-200.533333S392.533333%2085.333333%20507.733333%2085.333333s213.333333%2089.6%20213.333334%20200.533334c-4.266667%20110.933333-98.133333%20200.533333-213.333334%20200.533333z%20m0-375.466667c-102.4%200-192%2081.066667-192%20179.2s85.333333%20179.2%20192%20179.2c102.4%200%20192-81.066667%20192-179.2-4.266667-102.4-89.6-179.2-192-179.2z%22%20fill%3D%22%23343333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M68.266667%20981.333333c-17.066667%200-25.6-8.533333-25.6-21.333333%200-238.933333%20217.6-430.933333%20486.4-430.933333%20115.2%200%20153.6%2021.333333%20226.133333%2059.733333%208.533333%208.533333%2021.333333%2025.6%2012.8%2038.4-8.533333%2012.8-25.6%2012.8-51.2%200-55.466667-34.133333-119.466667-46.933333-187.733333-46.933333-238.933333%200-430.933333%20170.666667-430.933334%20384-8.533333%208.533333-17.066667%2017.066667-29.866666%2017.066666z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M68.266667%20994.133333c-21.333333%200-34.133333-12.8-34.133334-34.133333%200-243.2%20221.866667-443.733333%20494.933334-443.733333%20115.2%200%20157.866667%2021.333333%20226.133333%2059.733333l4.266667%204.266667c21.333333%2017.066667%2025.6%2034.133333%2012.8%2051.2-8.533333%2012.8-25.6%2021.333333-64%204.266666-55.466667-29.866667-115.2-46.933333-183.466667-46.933333-234.666667%200-422.4%20166.4-422.4%20371.2v4.266667c-4.266667%2017.066667-17.066667%2029.866667-34.133333%2029.866666z%20m460.8-456.533333c-260.266667%200-473.6%20187.733333-473.6%20422.4%200%208.533333%208.533333%2012.8%2012.8%2012.8%208.533333%200%2012.8-4.266667%2017.066666-12.8%200-217.6%20200.533333-392.533333%20443.733334-392.533333%2072.533333%200%20136.533333%2017.066667%20196.266666%2051.2%2017.066667%208.533333%2029.866667%208.533333%2034.133334%204.266666%200%200%204.266667-8.533333-12.8-21.333333h-4.266667c-64-42.666667-102.4-64-213.333333-64z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhiwei1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhiwei1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M805.236364%20279.272727h-125.672728V209.454545c0-65.163636-46.545455-116.363636-102.4-116.363636H451.490909C390.981818%2093.090909%20344.436364%20144.290909%20344.436364%20209.454545V279.272727H218.763636C162.909091%20279.272727%20111.709091%20330.472727%20111.709091%20395.636364v372.363636c0%2065.163636%2046.545455%20116.363636%20102.4%20116.363636h586.472727c55.854545%200%20102.4-51.2%20102.4-116.363636v-372.363636c4.654545-65.163636-41.890909-116.363636-97.745454-116.363637z%20m-418.909091-69.818182c0-37.236364%2027.927273-69.818182%2065.163636-69.818181h125.672727c32.581818%200%2060.509091%2032.581818%2060.509091%2069.818181V279.272727H386.327273V209.454545zM218.763636%20842.472727c-32.581818%200-65.163636-32.581818-65.163636-69.818182v-372.363636C158.254545%20358.4%20186.181818%20325.818182%20218.763636%20325.818182h111.709091v516.654545H218.763636z%20m102.4%200V325.818182H698.181818v516.654545H321.163636z%20m544.581819-69.818182c0%2037.236364-27.927273%2069.818182-60.509091%2069.818182h-111.709091V325.818182h111.709091c32.581818%200%2060.509091%2032.581818%2060.509091%2069.818182v377.018181z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M805.236364%20902.981818H218.763636c-65.163636%200-116.363636-60.509091-116.363636-130.327273v-372.363636c0-74.472727%2051.2-130.327273%20116.363636-130.327273h111.709091V209.454545c0-74.472727%2051.2-130.327273%20116.363637-130.327272h125.672727c65.163636%200%20116.363636%2060.509091%20116.363636%20130.327272v55.854546h111.709091c65.163636%200%20116.363636%2060.509091%20116.363637%20130.327273v372.363636c4.654545%2074.472727-46.545455%20134.981818-111.709091%20134.981818zM218.763636%20293.236364c-51.2%200-93.090909%2046.545455-93.090909%20102.4v372.363636c0%2055.854545%2041.890909%20102.4%2093.090909%20102.4h586.472728c51.2%200%2093.090909-46.545455%2093.090909-102.4v-372.363636c0-55.854545-41.890909-102.4-93.090909-102.4h-139.636364V209.454545c0-55.854545-41.890909-102.4-93.090909-102.4H446.836364c-51.2%200-93.090909%2046.545455-93.090909%20102.4v83.781819H218.763636z%20m586.472728%20563.2H218.763636c-41.890909%200-74.472727-37.236364-74.472727-83.781819v-372.363636c0-46.545455%2032.581818-83.781818%2074.472727-83.781818h586.472728c41.890909%200%2079.127273%2037.236364%2079.127272%2083.781818v372.363636c0%2046.545455-37.236364%2083.781818-79.127272%2083.781819z%20m-93.090909-27.927273h93.090909c27.927273%200%2051.2-23.272727%2051.2-55.854546v-372.363636c0-32.581818-23.272727-55.854545-51.2-55.854545h-93.090909v484.072727z%20m-367.709091%200h335.127272V339.781818H344.436364v488.727273zM218.763636%20339.781818c-27.927273%200-51.2%2023.272727-51.2%2055.854546v372.363636c0%2032.581818%2023.272727%2055.854545%2051.2%2055.854545h93.090909V339.781818h-93.090909z%20m432.872728-46.545454H372.363636V209.454545c0-46.545455%2032.581818-83.781818%2074.472728-83.781818h125.672727c41.890909%200%2079.127273%2037.236364%2079.127273%2083.781818v83.781819z%20m-251.345455-27.927273h223.418182V209.454545c0-32.581818-23.272727-55.854545-51.2-55.854545H446.836364c-27.927273%200-51.2%2023.272727-51.2%2055.854545v55.854546z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M316.509091%20344.436364H372.363636v484.072727H316.509091z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M377.018182%20833.163636H311.854545V339.781818h69.818182v493.381818zM325.818182%20819.2h41.890909v-465.454545H325.818182v465.454545z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M651.636364%20344.436364h55.854545v484.072727H651.636364z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M712.145455%20833.163636h-69.818182V339.781818h69.818182v493.381818z%20m-51.2-13.963636h37.236363v-465.454545h-41.890909v465.454545z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-weixuanzhong4 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-weixuanzhong4%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%200C229.2224%200%200%20229.2224%200%20512s229.2224%20512%20512%20512%20512-229.2224%20512-512S794.7776%200%20512%200z%22%20fill%3D%22%23CCCCCC%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M512%20966.2464a454.2464%20454.2464%200%201%201%200-908.4928%20454.2464%20454.2464%200%200%201%200%20908.4928z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-xuanzhong12 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-xuanzhong12%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%200C229.2224%200%200%20229.2224%200%20512s229.2224%20512%20512%20512%20512-229.2224%20512-512S794.7776%200%20512%200z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M512%20966.2464a454.2464%20454.2464%200%201%201%200-908.4928%20454.2464%20454.2464%200%200%201%200%20908.4928z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M456.0384%20734.976c-14.2848%200-27.9552-5.632-38.144-15.872l-100.5568-100.5056-51.0976-49.2544a33.3824%2033.3824%200%200%201%2046.336-48.128l51.7632%2049.92%2090.0608%2090.0608%20252.928-357.7856a33.3824%2033.3824%200%201%201%2054.528%2038.5536l-261.6832%20370.176a53.8624%2053.8624%200%200%201-44.1344%2022.8352z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-paizhao5 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-paizhao5%22%20viewBox%3D%220%200%201142%201024%22%3E%3Cpath%20d%3D%22M1010.361108%201020.396308c70.262154%200%20127.133538-56.871385%20127.133538-127.133539V291.064123c-3.347692-66.906585-56.879262-120.438154-127.133538-120.438154h-3.347693c66.914462%200%20123.785846%2053.531569%20127.133539%20120.442093v602.202584c0%2070.258215-56.875323%20127.1296-127.133539%20127.1296h3.347693z%20m27.557415-752.789662l0.468677%200.496246-0.630154-0.582892c-6.994708-6.266092-16.466708-9.909169-27.395938-9.909169h-163.934523l-127.1296-157.239139%20127.133538%20153.895385h3.347692l-130.48123-153.895385-0.003939-0.007877-0.685292-0.976738c-6.888369-9.275077-19.719877-12.402215-29.420308-12.402215h-230.845046c-13.382892%200-23.422031%206.691446-30.109538%2013.378953L294.407877%20257.614769H130.473354v-0.015754c-23.414154%200-40.1408%2016.730585-40.1408%2040.148677v595.511139c0%2023.422031%2016.726646%2040.148677%2040.1408%2040.148677h879.891692c23.024246%200%2039.581538-16.175262%2040.125046-38.982893l0.015754-1.157907c2.875077%2020.160985-11.594831%2037.840738-30.613661%2042.369969%2019.077908-4.525292%2033.957415-22.205046%2033.957415-42.369969V297.747692c0-23.414154-20.066462-43.484554-43.488492-43.484554h-3.347693c11.894154%200%2022.929723%205.175138%2030.905108%2013.33957z%20m0.468677%200.496246l0.106338%200.098462c7.546092%207.140431%2012.012308%2017.455262%2012.012308%2029.550277l-0.015754-1.110646c-0.291446-10.732308-4.777354-20.692677-11.831138-28.258462l-0.271754-0.279631zM399.844431%2012.7488l-1.378462%200.638031c-12.6976%205.947077-24.536615%2013.887015-34.800246%2024.052184l-0.370215%200.374154a141.571938%20141.571938%200%200%201%2036.548923-25.064369zM685.8752%200h-0.039385c40.148677%200%2073.605908%2016.726646%20100.371693%2046.836185l103.715446%20120.442092h120.438154c70.262154%200%20127.133538%2053.523692%20130.477292%20123.785846v602.202585c-3.347692%2070.258215-60.219077%20130.481231-130.477292%20130.48123H130.473354C60.2112%201023.744%200%20966.8608%200%20893.262769V297.747692c3.347692-70.258215%2060.219077-130.473354%20130.473354-130.473354H250.919385l103.715446-123.785846C377.210092%2017.687631%20409.115569%201.213046%20444.349046%200.063015a33.437538%2033.437538%200%200%201%200.606523-0.063015h240.888123l1.902277%200.015754-1.870769-0.015754z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M568.745354%20354.630892c116.413046%200%20212.984123%2092.585354%20214.106584%20212.007385l0.011816%202.107077c3.308308%20115.928615-91.746462%20212.176738-210.510769%20214.086892l-3.607631%200.031508c-120.438154%200-214.114462-93.676308-214.114462-214.1184%200-58.549169%2024.253046-112.0768%2063.145354-150.969108l0.535631-0.531692%200.929477-0.933416%200.208738-0.208738a209.5616%20209.5616%200%200%201%20121.245539-59.651938%20216.134892%20216.134892%200%200%201%2028.049723-1.81957z%20m0%2086.984862c-69.698954%200-126.227692%2055.973415-127.117785%20125.459692l-0.011815-1.673846c0%2070.262154%2056.871385%20127.133538%20127.133538%20127.133538%2069.698954%200%20126.223754-55.981292%20127.117785-125.46363l0.007877%201.673846c0-70.262154-56.871385-127.1296-127.1296-127.1296z%22%20fill%3D%22%230DCC91%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shoucang { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shoucang%22%20viewBox%3D%220%200%201048%201024%22%3E%3Cpath%20d%3D%22M365.539202%20463.229623c17.747946%208.876021%20106.495868%2057.687992%20106.495868%20221.867757%200%208.876021%200%2017.747946-8.876021%2026.623967-8.871925%208.876021-17.747946%2013.311983-26.623967%2013.311984a39.772111%2039.772111%200%200%201-39.93595-39.935951c0-115.371889-53.247934-146.431818-62.119859-150.867781-17.752042-8.876021-26.623967-31.064025-22.188005-48.811971%204.435962-8.876021%208.876021-17.747946%2022.188005-22.188005%208.871925-4.435962%2022.183908-4.435962%2031.059929%200z%22%20fill%3D%22%230DCC91%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M569.654917%2010.622185a87.900051%2087.900051%200%200%201%2048.811972%2048.811971l102.059905%20212.991736%20235.175645%2035.499988c39.93595%204.435962%2070.999976%2031.059929%2084.311959%2070.99588%2013.311983%2035.499988%204.435962%2079.871901-26.623967%20106.495868l-173.055785%20173.055785%2039.93595%20239.615703c4.435962%2039.93595-8.876021%2079.871901-44.376009%20102.059906-17.747946%2013.311983-39.93595%2017.747946-62.119859%2017.747946-17.752042%200-35.499988-4.435962-48.811971-13.311984l-204.115715-106.495868-204.119811%20110.931831c-35.495892%2017.752042-79.871901%2017.752042-110.931831-4.435963-31.059929-22.188004-48.811971-62.123955-44.371912-102.059905l39.93595-239.615703-173.055785-173.055786C1.679686%20458.793661-7.196335%20418.85771%206.115648%20378.92176c13.311983-35.499988%2044.371913-62.123955%2084.307864-70.99588l235.17974-35.499988%20102.059905-212.991736c13.311983-26.623967%2035.495892-44.371913%2062.119859-53.247934s57.687992-8.876021%2079.871901%204.435963z%20m-44.371913%2066.559917c-13.311983%200-26.623967%208.876021-31.059929%2017.752042l-115.371889%20226.303719c-4.435962%2013.311983-13.311983%2017.747946-26.623967%2022.183909l-252.927686%2035.499988c-13.311983%200-22.188004%208.876021-26.623967%2022.188004-4.435962%2013.311983%200%2026.623967%208.876021%2035.495892l186.367768%20186.367769c8.871925%208.876021%2013.311983%2017.752042%208.871925%2031.064026L232.419367%20911.4011c0%2013.311983%204.435962%2026.623967%2013.311984%2031.059929%208.876021%208.876021%2026.623967%208.876021%2039.93595%200l221.867757-119.807851h13.311984c4.435962%200%2013.311983%200%2017.747946%204.440058l221.867757%20119.807852c13.311983%204.435962%2026.623967%204.435962%2039.93595%200l0.716799-0.720896%201.433599-1.44179c8.073206-8.179702%2015.237101-16.670699%2011.161586-28.90134l-44.376009-257.363649c0-13.311983%200-22.188004%208.876021-31.059929l186.367769-186.367769c8.876021-8.876021%2013.311983-22.188004%208.876021-35.499988-4.440058-13.311983-13.311983-22.188004-26.623967-22.188005l-252.927687-39.93595c-13.311983%200-22.188004-8.871925-26.623967-17.747946l-0.368639-0.753663c-1.376254-1.212414-2.428925-2.445309-3.047421-3.686396-7.004151-15.540205-13.688815-30.330842-20.053991-44.371913l-87.465875-181.92771c-4.435962-13.311983-17.747946-17.752042-31.05993-17.752042zM4.45677%20414.503668l-0.016384%200.729087c-0.229376%2024.006626%209.523188%2046.731206%2027.78723%2065.232815l0.511999%200.516095a96.70644%2096.70644%200%200%201-28.282845-66.477997z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shezhi4 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shezhi4%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M672.277912%204.632477c57.878135%2022.260821%20111.304106%2053.425971%20160.277913%2097.947613%2013.356493%2013.356493%2022.260821%2031.16515%2017.808657%2053.425971l-8.904329%2062.330299c-4.452164%2048.973807%2022.260821%2097.947613%2062.3303%20115.75627l53.42597%2026.712986c20.034739%208.013896%2032.856972%2023.240297%2038.466699%2042.429125l1.60278%206.544681c4.452164%2031.16515%208.904328%2062.330299%208.904328%2093.495449%200%2031.16515-4.452164%2062.330299-8.904328%2093.495449-4.452164%2022.260821-17.808657%2040.069478-35.617314%2048.973807l-53.425971%2026.712985c-44.521642%2022.260821-71.234628%2066.782464-62.330299%20115.75627l8.904328%2062.330299c0%2022.260821-4.452164%2040.069478-17.808657%2053.425971-44.521642%2044.521642-97.947613%2075.686792-155.825748%2097.947613-17.808657%208.904328-40.069478%204.452164-53.425971-8.904328l-53.425971-40.069478c-35.617314-26.712985-89.043285-26.712985-124.660598%200l-62.3303%2040.069478c-13.356493%208.904328-22.260821%2013.356493-35.617313%2013.356493-4.452164%200-13.356493%200-17.808657-4.452165-57.878135-22.260821-111.304106-53.425971-160.277913-97.947613-13.356493-13.356493-22.260821-31.16515-17.808657-53.425971l4.452164-66.782463c4.452164-48.973807-22.260821-97.947613-62.330299-115.75627l-53.425971-26.712986c-17.808657-4.452164-31.16515-22.260821-35.617313-44.521642-4.452164-31.16515-8.904328-62.330299-8.904329-93.495449%200-31.16515%204.452164-62.330299%208.904329-93.495449%204.452164-22.260821%2017.808657-40.069478%2035.617313-48.973806l53.425971-26.712986c44.521642-22.260821%2066.782464-66.782464%2062.330299-115.75627l-4.452164-62.330299c0-22.260821%204.452164-40.069478%2017.808657-53.425971%2044.521642-44.521642%2097.947613-75.686792%20155.825748-97.947613%2022.260821-8.904328%2040.069478-4.452164%2057.878135%208.904328l53.425971%2040.069478c35.617314%2026.712985%2089.043285%2026.712985%20124.660599%200l53.425971-40.069478c17.808657-13.356493%2035.617314-17.808657%2053.42597-8.904328z%20m-17.808656%2071.234628l-48.973807%2035.617314c-35.617314%2026.712985-80.138956%2040.069478-129.112763%2035.617313-26.712985%200-57.878135-13.356493-84.59112-35.617313l-44.521643-31.16515c-44.521642%2017.808657-84.59112%2044.521642-120.208434%2075.686792l8.904328%2053.425971c8.904328%2084.59112-35.617314%20160.277912-106.851941%20195.895226l-48.973807%2022.260821c-4.452164%2026.712985-4.452164%2053.425971-4.452164%2075.686792s0%2048.973807%204.452164%2075.686792l48.973807%2022.260821c71.234628%2035.617314%20115.75627%20111.304106%20106.851941%20195.895227l-4.452164%2057.878135c35.617314%2031.16515%2075.686792%2057.878135%20120.208435%2075.686792l48.973806-35.617314c26.712985-26.712985%2062.330299-40.069478%20102.399778-40.069478h22.260821c31.16515%204.452164%2062.330299%2017.808657%2089.043284%2040.069478l44.521643%2031.165149c44.521642-17.808657%2084.59112-44.521642%20120.208434-75.686792l-8.904328-53.42597c-8.904328-84.59112%2035.617314-160.277912%20106.851941-195.895227l48.973807-22.260821c4.452164-26.712985%204.452164-48.973807%204.452164-75.686792%200-22.260821%200-48.973807-4.452164-75.686792l-48.973807-22.260821c-71.234628-35.617314-115.75627-111.304106-106.851941-195.895226l4.452164-57.878135c-35.617314-31.16515-75.686792-57.878135-120.208434-75.686792z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M503.095672%20712.52659c-111.304106%200-204.799555-93.495449-204.799555-204.799555%200-111.304106%2093.495449-204.799555%20204.799555-204.799554%20111.304106%200%20204.799555%2093.495449%20204.799554%20204.799554%200%20111.304106-93.495449%20204.799555-204.799554%20204.799555z%20m0-329.460153c-66.782464%200-124.660599%2057.878135-124.660599%20124.660598%200%2066.782464%2057.878135%20124.660599%20124.660599%20124.660599%2066.782464%200%20124.660599-57.878135%20124.660598-124.660599%200-66.782464-57.878135-124.660599-124.660598-124.660598z%22%20fill%3D%22%230DCC91%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-fankuiyujianyi1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-fankuiyujianyi1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M926.72%20317.44l-35.84-20.48V128c0-35.84-15.36-66.56-35.84-92.16-30.72-20.48-61.44-35.84-97.28-35.84H235.52c-35.84%200-66.56%2015.36-92.16%2035.84-25.6%2025.6-35.84%2061.44-35.84%2092.16v168.96l-40.96%2020.48C25.6%20343.04%200%20384%200%20430.08v460.8c0%2035.84%2015.36%2066.56%2035.84%2092.16%2025.6%2025.6%2056.32%2040.96%2092.16%2040.96h737.28c35.84%200%2066.56-15.36%2092.16-35.84%2025.6-25.6%2035.84-56.32%2035.84-92.16v-460.8c5.12-51.2-25.6-92.16-66.56-117.76zM184.32%20128c0-10.24%205.12-25.6%2015.36-35.84%2010.24-10.24%2020.48-15.36%2035.84-15.36h522.24c25.6%200%2051.2%2020.48%2051.2%2051.2v312.32l-312.32%20184.32-312.32-184.32V128z%20m-97.28%20256c0-5.12%205.12-5.12%2010.24-10.24l25.6-15.36v61.44l-51.2-30.72%2015.36-5.12z%20m834.56%20512c-5.12%2025.6-25.6%2051.2-56.32%2051.2H128c-25.6%200-51.2-20.48-51.2-51.2V471.04l394.24%20225.28c5.12%205.12%2015.36%2010.24%2025.6%2010.24h10.24c10.24%200%2020.48-5.12%2025.6-10.24L921.6%20471.04v424.96z%20m-46.08-471.04V363.52l20.48%2010.24c5.12%205.12%2010.24%205.12%2010.24%2010.24l15.36%2010.24-46.08%2030.72z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M691.2%20399.36c10.24-15.36%2010.24-30.72%200-40.96-10.24-15.36-20.48-20.48-35.84-20.48H337.92c-20.48%200-35.84%2020.48-35.84%2040.96s15.36%2035.84%2035.84%2040.96h317.44c15.36%200%2025.6-5.12%2035.84-20.48zM337.92%20276.48h322.56c15.36%200%2025.6-5.12%2035.84-20.48%2010.24-15.36%2010.24-30.72%200-40.96-10.24-15.36-20.48-20.48-35.84-20.48H343.04c-20.48%200-35.84%2020.48-35.84%2040.96-5.12%2020.48%2010.24%2040.96%2030.72%2040.96z%22%20fill%3D%22%230DCC91%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-yinhangka4 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-yinhangka4%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M868.173913%200c75.686957%200%20133.565217%2071.234783%20133.565217%20155.826087V845.913043c-4.452174%2089.043478-62.330435%20160.278261-138.017391%20160.278261H133.565217c-75.686957%200-133.565217-71.234783-133.565217-155.826087V155.826087C0%2071.234783%2057.878261%200%20133.565217%200h734.608696z%20m62.330435%20387.33913H71.234783v463.026087c0%2040.069565%2026.713043%2075.686957%2062.330434%2075.686957h734.608696c35.617391%200%2062.330435-35.617391%2062.330435-75.686957V387.33913z%20m-62.330435-307.2H133.565217c-35.617391%200-62.330435%2035.617391-62.330434%2075.686957v151.373913h859.269565V155.826087c0-40.069565-26.713043-75.686957-62.330435-75.686957z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M823.652174%20618.852174c8.904348%200%2013.356522%204.452174%2013.356522%2013.356522v48.973913c0%204.452174-4.452174%2013.356522-13.356522%2013.356521h-267.130435c-8.904348%200-13.356522-4.452174-13.356522-13.356521v-48.973913c0-8.904348%204.452174-13.356522%2013.356522-13.356522h267.130435z%22%20fill%3D%22%230DCC91%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodegongzuo2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodegongzuo2%22%20viewBox%3D%220%200%201126%201024%22%3E%3Cpath%20d%3D%22M943.3088%20897.6896H183.6032a45.3632%2045.3632%200%200%200-45.056%2045.056c0%2024.7296%2020.3776%2045.1584%2045.056%2045.1584h759.7056c24.7296%200%2045.1072-20.4288%2045.1072-45.1072a45.3632%2045.3632%200%200%200-45.056-45.1072zM1012.0192%200H114.3808A114.7904%20114.7904%200%200%200%200%20114.3808v552.448a114.7904%20114.7904%200%200%200%20114.3808%20114.3296h897.6384A114.7904%20114.7904%200%200%200%201126.4%20666.8288V114.3808A114.432%20114.432%200%200%200%201012.0192%200zM90.7264%20114.3808c0-12.9024%2010.752-23.6544%2023.6544-23.6544h897.6384c12.9024%200%2023.6544%2010.752%2023.6544%2023.6544v552.448c0%2012.9024-10.752%2023.6032-23.6544%2023.6032H114.3808a23.808%2023.808%200%200%201-23.6544-23.6032V114.3808z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M273.2544%20632.4736c0.5632%200%200.5632%200%200%200a44.1344%2044.1344%200%200%200%2032.256-13.4144L431.104%20493.9264h188.4672c11.776%200%2023.6032-4.8128%2031.6928-13.4144l235.6736-244.8384a44.3904%2044.3904%200%200%200%200-63.3344%2044.7488%2044.7488%200%200%200-31.6928-13.4144c-11.776%200-23.04%204.8128-31.6416%2013.4144l-222.8224%20231.424h-187.904a42.0864%2042.0864%200%200%200-31.6928%2013.4144L243.2%20555.1616l-2.1504%202.1504a43.9296%2043.9296%200%200%200%201.6384%2061.7472%2040.6016%2040.6016%200%200%200%2030.5664%2013.4144z%22%20fill%3D%22%230DCC91%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dizhiben5 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dizhiben5%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M861.090909%200C925.323636%200%20977.454545%2051.572364%20977.454545%20115.2v793.6C977.454545%20972.427636%20925.323636%201024%20861.090909%201024h-698.181818C98.676364%201024%2046.545455%20972.427636%2046.545455%20908.8V115.2C46.545455%2051.572364%2098.676364%200%20162.909091%200h698.181818z%20m-651.636364%2069.818182h-46.545454c-25.693091%200-46.545455%2017.454545-46.545455%2039.005091v806.353454c0%2021.550545%2020.852364%2039.005091%2046.545455%2039.005091h46.545454v-884.363636z%20m69.818182%200v881.710545h584.750546c21.271273%200%2038.632727-17.128727%2038.958545-38.353454V108.823273a39.005091%2039.005091%200%200%200-38.958545-39.005091H279.272727z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M584.145455%20268.8c113.105455%200%20204.8%2094.254545%20204.8%20210.571636a213.038545%20213.038545%200%200%201-55.947637%20144.616728l-4.049454%204.282181-108.078546%20111.150546a51.2%2051.2%200%200%201-69.12%203.956364l-3.816727-3.444364-108.590546-111.709091-4.049454-4.235636a213.038545%20213.038545%200%200%201-55.947636-144.616728c0-116.317091%2091.694545-210.571636%20204.8-210.571636z%20m0%2076.8c-70.190545%200-128%2059.438545-128%20133.771636%200%2032.814545%2011.264%2063.488%2030.673454%2086.946909l4.235636%204.887273%203.351273%203.490909%2089.739637%2092.299637%2088.994909-91.508364%203.351272-3.490909a136.238545%20136.238545%200%200%200%2035.653819-92.625455c0-74.333091-57.809455-133.771636-128-133.771636z%22%20fill%3D%22%230DCC91%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhengjian3 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhengjian3%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M868.173913%200c75.686957%200%20133.565217%2071.234783%20133.565217%20155.826087V845.913043c-4.452174%2089.043478-62.330435%20160.278261-138.017391%20160.278261H133.565217c-75.686957%200-133.565217-71.234783-133.565217-155.826087V155.826087C0%2071.234783%2057.878261%200%20133.565217%200h734.608696z%20m0%2080.13913H133.565217c-35.617391%200-62.330435%2035.617391-62.330434%2075.686957V845.913043c0%2040.069565%2026.713043%2075.686957%2062.330434%2075.686957h734.608696c35.617391%200%2062.330435-35.617391%2062.330435-75.686957V155.826087c0-40.069565-26.713043-75.686957-62.330435-75.686957zM405.147826%20663.373913v80.13913H155.826087l-4.452174-80.13913h253.773913z%20m0-200.347826v80.13913H151.373913v-80.13913h253.773913z%20m0-200.347826v80.13913H151.373913V262.678261h253.773913z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M672.278261%20338.365217c80.13913%200%20146.921739%2066.782609%20146.921739%20151.373913%200%2040.069565-17.808696%2075.686957-44.521739%20106.852174%2062.330435%2035.617391%2097.947826%20102.4%2097.947826%20173.634783%200%2017.808696-17.808696%2035.617391-35.617391%2035.617391-22.26087%200-35.617391-17.808696-35.617392-35.617391%200-71.234783-57.878261-133.565217-129.113043-133.565217-71.234783%200-129.113043%2057.878261-129.113044%20133.565217%200%2022.26087-17.808696%2035.617391-35.617391%2035.617391-22.26087%200-35.617391-17.808696-35.617391-35.617391%200-71.234783%2035.617391-138.017391%2097.947826-173.634783-26.713043-26.713043-44.521739-66.782609-44.521739-106.852174%200-84.591304%2066.782609-151.373913%20146.921739-151.373913zM667.826087%20414.052174c-40.069565%200-75.686957%2035.617391-75.686957%2075.686956%200%2040.069565%2031.165217%2075.686957%2075.686957%2075.686957s75.686957-35.617391%2075.686956-75.686957c0-40.069565-31.165217-75.686957-75.686956-75.686956z%22%20fill%3D%22%230DCC91%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-fankuiyujianyi { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-fankuiyujianyi%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M926.72%20317.44l-35.84-20.48V128c0-35.84-15.36-66.56-35.84-92.16-30.72-20.48-61.44-35.84-97.28-35.84H235.52c-35.84%200-66.56%2015.36-92.16%2035.84-25.6%2025.6-35.84%2061.44-35.84%2092.16v168.96l-40.96%2020.48C25.6%20343.04%200%20384%200%20430.08v460.8c0%2035.84%2015.36%2066.56%2035.84%2092.16%2025.6%2025.6%2056.32%2040.96%2092.16%2040.96h737.28c35.84%200%2066.56-15.36%2092.16-35.84%2025.6-25.6%2035.84-56.32%2035.84-92.16v-460.8c5.12-51.2-25.6-92.16-66.56-117.76zM184.32%20128c0-10.24%205.12-25.6%2015.36-35.84%2010.24-10.24%2020.48-15.36%2035.84-15.36h522.24c25.6%200%2051.2%2020.48%2051.2%2051.2v312.32l-312.32%20184.32-312.32-184.32V128z%20m-97.28%20256c0-5.12%205.12-5.12%2010.24-10.24l25.6-15.36v61.44l-51.2-30.72%2015.36-5.12z%20m834.56%20512c-5.12%2025.6-25.6%2051.2-56.32%2051.2H128c-25.6%200-51.2-20.48-51.2-51.2V471.04l394.24%20225.28c5.12%205.12%2015.36%2010.24%2025.6%2010.24h10.24c10.24%200%2020.48-5.12%2025.6-10.24L921.6%20471.04v424.96z%20m-46.08-471.04V363.52l20.48%2010.24c5.12%205.12%2010.24%205.12%2010.24%2010.24l15.36%2010.24-46.08%2030.72z%22%20fill%3D%22%23000000%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M691.2%20399.36c10.24-15.36%2010.24-30.72%200-40.96-10.24-15.36-20.48-20.48-35.84-20.48H337.92c-20.48%200-35.84%2020.48-35.84%2040.96s15.36%2035.84%2035.84%2040.96h317.44c15.36%200%2025.6-5.12%2035.84-20.48zM337.92%20276.48h322.56c15.36%200%2025.6-5.12%2035.84-20.48%2010.24-15.36%2010.24-30.72%200-40.96-10.24-15.36-20.48-20.48-35.84-20.48H343.04c-20.48%200-35.84%2020.48-35.84%2040.96-5.12%2020.48%2010.24%2040.96%2030.72%2040.96z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dianhua9 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dianhua9%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%23FFE085%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M450.56%20261.12c51.2%2051.2%2051.2%20138.24%200%20189.44-7.68%207.68-17.92%2015.36-25.6%2020.48%2017.92%2028.16%2035.84%2051.2%2056.32%2071.68%2020.48%2020.48%2043.52%2038.4%2071.68%2056.32%205.12-7.68%2012.8-17.92%2020.48-25.6%2023.8848-23.8848%2054.4768-36.6336%2087.5776-38.2208l7.1424-0.1792c35.84%200%2069.12%2012.8%2092.16%2038.4%2051.2%2051.2%2051.2%20138.24%200%20189.44-23.04%2023.04-56.32%2038.4-92.16%2038.4H665.6c-102.4%200-202.24-46.08-299.52-143.36-99.84-99.84-145.92-199.68-143.36-304.64%202.56-35.84%2015.36-66.56%2038.4-92.16%2051.2-51.2%20138.24-51.2%20189.44%200z%20m-94.72%202.56c-25.6%200-48.64%2010.24-61.44%2028.16-17.92%2017.92-28.16%2038.4-28.16%2064-2.56%2094.72%2040.96%20184.32%20133.12%20276.48%2089.6%2089.6%20176.64%20133.12%20268.8%20133.12h2.56c23.04%200%2046.08-10.24%2064-28.16%2035.84-38.4%2035.84-97.28-2.56-135.68-17.92-17.92-40.96-28.16-66.56-28.16s-48.64%2010.24-66.56%2028.16c-7.68%207.68-15.36%2017.92-20.48%2033.28l-2.56%202.56-5.12%205.12h-2.56c-2.56%202.56-5.12%202.56-7.68%202.56h-10.24c-38.4-20.48-74.24-46.08-99.84-74.24-25.6-25.6-51.2-61.44-74.24-99.84v-17.92h7.68l7.68-7.68c12.8-5.12%2023.04-12.8%2033.28-20.48%2038.4-38.4%2038.4-94.72%200-133.12-20.48-17.92-43.52-28.16-69.12-28.16z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-qiyeweixin11 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-qiyeweixin11%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%23FFE085%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M430.848%20271.7952c-57.984%206.5024-110.6688%2031.7696-148.48%2071.2192a200.6528%20200.6528%200%200%200-36.2752%2051.9168%20183.552%20183.552%200%200%200%2012.544%20182.5536c10.24%2015.8208%2027.1616%2035.5584%2042.5728%2049.5616l-6.9888%2055.8336-0.768%202.3296c-0.2304%200.7424-0.2304%201.5104-0.2816%202.2016l-0.1536%201.792%200.1536%201.792a18.176%2018.176%200%200%200%209.5488%2014.4896c5.376%202.816%2011.8016%202.6368%2016.9984-0.512h0.3072l1.0752-0.7936%2016.6912-8.448%2049.7152-25.472c23.6288%206.912%2048.128%2010.3424%2072.7296%2010.1888a255.5648%20255.5648%200%200%200%2089.1904-15.8208%2032.8704%2032.8704%200%200%201-21.9904-34.432%20215.6544%20215.6544%200%200%201-91.6992%209.3184l-4.9408-0.7168a224.384%20224.384%200%200%201-32.9472-6.9632%2022.2208%2022.2208%200%200%200-17.6896%201.8688l-1.3824%200.7168-40.9088%2024.4992-1.7408%201.1008c-0.9728%200.5632-1.4336%200.768-1.9712%200.768a2.688%202.688%200%200%201-1.8944-0.9216%202.8416%202.8416%200%200%201-0.6912-2.048l1.536-6.4%201.792-6.9888%202.9696-11.52%203.4048-12.8a17.5104%2017.5104%200%200%200-6.2208-19.456%20181.7088%20181.7088%200%200%201-41.2672-43.8272%20144.4352%20144.4352%200%200%201-10.112-143.8976%20162.944%20162.944%200%200%201%2029.1584-41.3952c31.0272-32.5888%2074.5984-53.3248%20122.88-58.6496a224.8192%20224.8192%200%200%201%2050.2784%200c47.9488%205.632%2091.392%2026.624%20122.2912%2059.0336a162.304%20162.304%200%200%201%2028.7744%2041.6512c9.472%2019.456%2014.4384%2040.9344%2014.4896%2062.72%200%202.2528-0.256%204.5056-0.3072%206.7072a31.8464%2031.8464%200%200%201%2039.7824%204.7872l1.4592%201.792a182.272%20182.272%200%200%200-17.7152-93.5424%20200.6272%20200.6272%200%200%200-35.8912-51.9168%20242.1248%20242.1248%200%200%200-147.968-71.808%20248.6272%20248.6272%200%200%200-60.032-0.512zM592%20653.2864a8.0896%208.0896%200%200%200%201.0496%2012.3904%20104.9344%20104.9344%200%200%201%2032.512%2062.976c5.1456%2018.2272%2023.9872%2028.928%2042.1888%2023.8848a34.048%2034.048%200%200%200%2024.1408-41.5744c0-0.0768-0.1024-0.1536-0.1024-0.3072a34.2528%2034.2528%200%200%200-29.5168-24.96%20105.2416%20105.2416%200%200%201-58.5728-32.512%208.448%208.448%200%200%200-11.6736%200.1024zM753.2544%20600.6784c-5.7856%201.536-11.0848%204.608-15.4112%208.9088h-0.0768a33.7152%2033.7152%200%200%200-9.8048%2020.48%20104.5504%20104.5504%200%200%201-32.4864%2058.2912%208.0896%208.0896%200%200%200-0.2304%2011.4176l0.0768%200.0768c3.2256%203.2768%208.448%203.328%2011.7248%200.0768a4.5568%204.5568%200%200%200%200.9472-1.2032%20105.3952%20105.3952%200%200%201%2063.1552-32.2304c8.704-2.304%2016.1792-7.9872%2020.7104-15.8208%204.5312-7.8592%205.76-17.1776%203.4304-25.9584a34.304%2034.304%200%200%200-42.0352-24.064v0.0256z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M627.584%20550.0928l-0.5632%200.5632a104.3712%20104.3712%200%200%201-63.8976%2033.3312%2033.8432%2033.8432%200%200%200-15.104%2056.96%2034.2016%2034.2016%200%200%200%2058.0608-20.48%20104.8064%20104.8064%200%200%201%2032.512-58.24%208.2176%208.2176%200%200%200%200.7424-11.392l-0.1024-0.1024a8.32%208.32%200%200%200-11.648-0.64zM666.368%20497.8176a33.9968%2033.9968%200%200%200-15.3856%2056.6016l0.384%200.4096c5.5808%205.504%2012.8256%208.9344%2020.5568%209.8048%2022.528%204.1216%2043.136%2015.488%2058.7264%2032.3584a8.192%208.192%200%201%200%2010.4704-12.4672%20104.7808%20104.7808%200%200%201-32.5376-62.9504%2034.2016%2034.2016%200%200%200-42.24-23.7568z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shezhi3 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shezhi3%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M672.277912%204.632477c57.878135%2022.260821%20111.304106%2053.425971%20160.277913%2097.947613%2013.356493%2013.356493%2022.260821%2031.16515%2017.808657%2053.425971l-8.904329%2062.330299c-4.452164%2048.973807%2022.260821%2097.947613%2062.3303%20115.75627l53.42597%2026.712986c20.034739%208.013896%2032.856972%2023.240297%2038.466699%2042.429125l1.60278%206.544681c4.452164%2031.16515%208.904328%2062.330299%208.904328%2093.495449%200%2031.16515-4.452164%2062.330299-8.904328%2093.495449-4.452164%2022.260821-17.808657%2040.069478-35.617314%2048.973807l-53.425971%2026.712985c-44.521642%2022.260821-71.234628%2066.782464-62.330299%20115.75627l8.904328%2062.330299c0%2022.260821-4.452164%2040.069478-17.808657%2053.425971-44.521642%2044.521642-97.947613%2075.686792-155.825748%2097.947613-17.808657%208.904328-40.069478%204.452164-53.425971-8.904328l-53.425971-40.069478c-35.617314-26.712985-89.043285-26.712985-124.660598%200l-62.3303%2040.069478c-13.356493%208.904328-22.260821%2013.356493-35.617313%2013.356493-4.452164%200-13.356493%200-17.808657-4.452165-57.878135-22.260821-111.304106-53.425971-160.277913-97.947613-13.356493-13.356493-22.260821-31.16515-17.808657-53.425971l4.452164-66.782463c4.452164-48.973807-22.260821-97.947613-62.330299-115.75627l-53.425971-26.712986c-17.808657-4.452164-31.16515-22.260821-35.617313-44.521642-4.452164-31.16515-8.904328-62.330299-8.904329-93.495449%200-31.16515%204.452164-62.330299%208.904329-93.495449%204.452164-22.260821%2017.808657-40.069478%2035.617313-48.973806l53.425971-26.712986c44.521642-22.260821%2066.782464-66.782464%2062.330299-115.75627l-4.452164-62.330299c0-22.260821%204.452164-40.069478%2017.808657-53.425971%2044.521642-44.521642%2097.947613-75.686792%20155.825748-97.947613%2022.260821-8.904328%2040.069478-4.452164%2057.878135%208.904328l53.425971%2040.069478c35.617314%2026.712985%2089.043285%2026.712985%20124.660599%200l53.425971-40.069478c17.808657-13.356493%2035.617314-17.808657%2053.42597-8.904328z%20m-17.808656%2071.234628l-48.973807%2035.617314c-35.617314%2026.712985-80.138956%2040.069478-129.112763%2035.617313-26.712985%200-57.878135-13.356493-84.59112-35.617313l-44.521643-31.16515c-44.521642%2017.808657-84.59112%2044.521642-120.208434%2075.686792l8.904328%2053.425971c8.904328%2084.59112-35.617314%20160.277912-106.851941%20195.895226l-48.973807%2022.260821c-4.452164%2026.712985-4.452164%2053.425971-4.452164%2075.686792s0%2048.973807%204.452164%2075.686792l48.973807%2022.260821c71.234628%2035.617314%20115.75627%20111.304106%20106.851941%20195.895227l-4.452164%2057.878135c35.617314%2031.16515%2075.686792%2057.878135%20120.208435%2075.686792l48.973806-35.617314c26.712985-26.712985%2062.330299-40.069478%20102.399778-40.069478h22.260821c31.16515%204.452164%2062.330299%2017.808657%2089.043284%2040.069478l44.521643%2031.165149c44.521642-17.808657%2084.59112-44.521642%20120.208434-75.686792l-8.904328-53.42597c-8.904328-84.59112%2035.617314-160.277912%20106.851941-195.895227l48.973807-22.260821c4.452164-26.712985%204.452164-48.973807%204.452164-75.686792%200-22.260821%200-48.973807-4.452164-75.686792l-48.973807-22.260821c-71.234628-35.617314-115.75627-111.304106-106.851941-195.895226l4.452164-57.878135c-35.617314-31.16515-75.686792-57.878135-120.208434-75.686792z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M503.095672%20712.52659c-111.304106%200-204.799555-93.495449-204.799555-204.799555%200-111.304106%2093.495449-204.799555%20204.799555-204.799554%20111.304106%200%20204.799555%2093.495449%20204.799554%20204.799554%200%20111.304106-93.495449%20204.799555-204.799554%20204.799555z%20m0-329.460153c-66.782464%200-124.660599%2057.878135-124.660599%20124.660598%200%2066.782464%2057.878135%20124.660599%20124.660599%20124.660599%2066.782464%200%20124.660599-57.878135%20124.660598-124.660599%200-66.782464-57.878135-124.660599-124.660598-124.660598z%22%20fill%3D%22%23FFCC33%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodegongzuo1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodegongzuo1%22%20viewBox%3D%220%200%201126%201024%22%3E%3Cpath%20d%3D%22M943.3088%20897.6896H183.6032a45.3632%2045.3632%200%200%200-45.056%2045.056c0%2024.7296%2020.3776%2045.1584%2045.056%2045.1584h759.7056c24.7296%200%2045.1072-20.4288%2045.1072-45.1072a45.3632%2045.3632%200%200%200-45.056-45.1072zM1012.0192%200H114.3808A114.7904%20114.7904%200%200%200%200%20114.3808v552.448a114.7904%20114.7904%200%200%200%20114.3808%20114.3296h897.6384A114.7904%20114.7904%200%200%200%201126.4%20666.8288V114.3808A114.432%20114.432%200%200%200%201012.0192%200zM90.7264%20114.3808c0-12.9024%2010.752-23.6544%2023.6544-23.6544h897.6384c12.9024%200%2023.6544%2010.752%2023.6544%2023.6544v552.448c0%2012.9024-10.752%2023.6032-23.6544%2023.6032H114.3808a23.808%2023.808%200%200%201-23.6544-23.6032V114.3808z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M273.2544%20632.4736c0.5632%200%200.5632%200%200%200a44.1344%2044.1344%200%200%200%2032.256-13.4144L431.104%20493.9264h188.4672c11.776%200%2023.6032-4.8128%2031.6928-13.4144l235.6736-244.8384a44.3904%2044.3904%200%200%200%200-63.3344%2044.7488%2044.7488%200%200%200-31.6928-13.4144c-11.776%200-23.04%204.8128-31.6416%2013.4144l-222.8224%20231.424h-187.904a42.0864%2042.0864%200%200%200-31.6928%2013.4144L243.2%20555.1616l-2.1504%202.1504a43.9296%2043.9296%200%200%200%201.6384%2061.7472%2040.6016%2040.6016%200%200%200%2030.5664%2013.4144z%22%20fill%3D%22%23FFCC33%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhengjian2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhengjian2%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M868.173913%200c75.686957%200%20133.565217%2071.234783%20133.565217%20155.826087V845.913043c-4.452174%2089.043478-62.330435%20160.278261-138.017391%20160.278261H133.565217c-75.686957%200-133.565217-71.234783-133.565217-155.826087V155.826087C0%2071.234783%2057.878261%200%20133.565217%200h734.608696z%20m0%2080.13913H133.565217c-35.617391%200-62.330435%2035.617391-62.330434%2075.686957V845.913043c0%2040.069565%2026.713043%2075.686957%2062.330434%2075.686957h734.608696c35.617391%200%2062.330435-35.617391%2062.330435-75.686957V155.826087c0-40.069565-26.713043-75.686957-62.330435-75.686957zM405.147826%20663.373913v80.13913H155.826087l-4.452174-80.13913h253.773913z%20m0-200.347826v80.13913H151.373913v-80.13913h253.773913z%20m0-200.347826v80.13913H151.373913V262.678261h253.773913z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M672.278261%20338.365217c80.13913%200%20146.921739%2066.782609%20146.921739%20151.373913%200%2040.069565-17.808696%2075.686957-44.521739%20106.852174%2062.330435%2035.617391%2097.947826%20102.4%2097.947826%20173.634783%200%2017.808696-17.808696%2035.617391-35.617391%2035.617391-22.26087%200-35.617391-17.808696-35.617392-35.617391%200-71.234783-57.878261-133.565217-129.113043-133.565217-71.234783%200-129.113043%2057.878261-129.113044%20133.565217%200%2022.26087-17.808696%2035.617391-35.617391%2035.617391-22.26087%200-35.617391-17.808696-35.617391-35.617391%200-71.234783%2035.617391-138.017391%2097.947826-173.634783-26.713043-26.713043-44.521739-66.782609-44.521739-106.852174%200-84.591304%2066.782609-151.373913%20146.921739-151.373913zM667.826087%20414.052174c-40.069565%200-75.686957%2035.617391-75.686957%2075.686956%200%2040.069565%2031.165217%2075.686957%2075.686957%2075.686957s75.686957-35.617391%2075.686956-75.686957c0-40.069565-31.165217-75.686957-75.686956-75.686956z%22%20fill%3D%22%23FFCC33%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dizhiben4 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dizhiben4%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M861.090909%200C925.323636%200%20977.454545%2051.572364%20977.454545%20115.2v793.6C977.454545%20972.427636%20925.323636%201024%20861.090909%201024h-698.181818C98.676364%201024%2046.545455%20972.427636%2046.545455%20908.8V115.2C46.545455%2051.572364%2098.676364%200%20162.909091%200h698.181818z%20m-651.636364%2069.818182h-46.545454c-25.693091%200-46.545455%2017.454545-46.545455%2039.005091v806.353454c0%2021.550545%2020.852364%2039.005091%2046.545455%2039.005091h46.545454v-884.363636z%20m69.818182%200v881.710545h584.750546c21.271273%200%2038.632727-17.128727%2038.958545-38.353454V108.823273a39.005091%2039.005091%200%200%200-38.958545-39.005091H279.272727z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M584.145455%20268.8c113.105455%200%20204.8%2094.254545%20204.8%20210.571636a213.038545%20213.038545%200%200%201-55.947637%20144.616728l-4.049454%204.282181-108.078546%20111.150546a51.2%2051.2%200%200%201-69.12%203.956364l-3.816727-3.444364-108.590546-111.709091-4.049454-4.235636a213.038545%20213.038545%200%200%201-55.947636-144.616728c0-116.317091%2091.694545-210.571636%20204.8-210.571636z%20m0%2076.8c-70.190545%200-128%2059.438545-128%20133.771636%200%2032.814545%2011.264%2063.488%2030.673454%2086.946909l4.235636%204.887273%203.351273%203.490909%2089.739637%2092.299637%2088.994909-91.508364%203.351272-3.490909a136.238545%20136.238545%200%200%200%2035.653819-92.625455c0-74.333091-57.809455-133.771636-128-133.771636z%22%20fill%3D%22%23FFCC33%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-yinhangka3 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-yinhangka3%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M868.173913%200c75.686957%200%20133.565217%2071.234783%20133.565217%20155.826087V845.913043c-4.452174%2089.043478-62.330435%20160.278261-138.017391%20160.278261H133.565217c-75.686957%200-133.565217-71.234783-133.565217-155.826087V155.826087C0%2071.234783%2057.878261%200%20133.565217%200h734.608696z%20m62.330435%20387.33913H71.234783v463.026087c0%2040.069565%2026.713043%2075.686957%2062.330434%2075.686957h734.608696c35.617391%200%2062.330435-35.617391%2062.330435-75.686957V387.33913z%20m-62.330435-307.2H133.565217c-35.617391%200-62.330435%2035.617391-62.330434%2075.686957v151.373913h859.269565V155.826087c0-40.069565-26.713043-75.686957-62.330435-75.686957z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M823.652174%20618.852174c8.904348%200%2013.356522%204.452174%2013.356522%2013.356522v48.973913c0%204.452174-4.452174%2013.356522-13.356522%2013.356521h-267.130435c-8.904348%200-13.356522-4.452174-13.356522-13.356521v-48.973913c0-8.904348%204.452174-13.356522%2013.356522-13.356522h267.130435z%22%20fill%3D%22%23FFCC33%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-paizhao4 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-paizhao4%22%20viewBox%3D%220%200%201142%201024%22%3E%3Cpath%20d%3D%22M685.843237%200c36.79889%200%2073.59778%2016.727306%2097.013642%2046.837642l103.719953%20123.785618h120.435422c66.915145%200%20123.785618%2053.532116%20127.135815%20120.441341v602.200786c0%2070.259422-56.876393%20127.129896-127.135815%20127.129896H130.474173c-70.259422%200-127.129896-56.870474-127.129896-127.129896V297.753156c0-70.259422%2056.876393-127.129896%20127.129896-127.129896h120.441341L354.629549%2046.837642C378.051329%2020.071584%20411.505942%203.344277%20444.954636%200h240.888601z%20m0%2083.636532h-230.843931c-13.383029%200-23.42178%206.688555-33.460531%2016.733225l-130.474174%20153.895954h-160.584509c-23.42178%200-43.493364%2020.065665-43.493364%2043.487445v595.512231c0%2023.42178%2020.071584%2043.493364%2043.487445%2043.493364h879.888278c23.415861%200%2043.487445-20.071584%2043.487445-43.493364V297.753156c0-23.415861-20.065665-43.487445-43.487445-43.487445h-160.584509l-130.480092-153.895954c-6.688555-10.038751-20.077503-16.733225-33.454613-16.733225z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1010.362451%201023.74548H130.474173c-70.259422%200-130.474173-56.882312-130.474173-130.480093V297.753156c3.344277-70.259422%2060.220671-130.474173%20130.474173-130.474173h120.441341L354.629549%2043.493364C378.051329%2016.727306%20411.505942%200%20448.304832%200h237.532486c40.149087%200%2073.603699%2016.727306%20100.369757%2046.837642l103.714035%20120.441341h120.441341c70.259422%200%20127.129896%2053.526197%20130.474173%20123.785618v602.200786c-3.344277%2070.259422-60.220671%20130.480092-130.474173%20130.480093zM130.474173%20170.629179c-70.259422%200-127.129896%2056.870474-127.129896%20127.123977v595.512231c0%2070.259422%2056.876393%20127.129896%20127.129896%20127.129896h879.888278c70.259422%200%20127.129896-56.870474%20127.129896-127.129896V291.058682c-3.344277-66.903306-56.876393-120.435422-127.129896-120.435422h-123.785619L782.856879%2046.837642C759.441017%2016.727306%20722.642127%200%20685.843237%200H448.310751c-33.460532%203.344277-66.915145%2016.727306-90.336924%2043.493364L254.265711%20170.62326H130.474173zM1010.362451%20936.752832H130.474173c-23.415861%200-43.487445-20.071584-43.487445-43.493364V297.753156c0-23.415861%2020.071584-43.487445%2043.487445-43.487445h160.584509l130.480093-153.895954c10.038751-10.038751%2020.077503-16.733225%2033.460531-16.733225h230.843931c13.37711%200%2026.760139%206.688555%2033.454613%2016.733225l127.129896%20153.895954h160.584508c23.42178%200%2043.493364%2020.065665%2043.493364%2043.487445v595.512231c3.344277%2023.42178-16.727306%2043.493364-40.143167%2043.493364zM130.474173%20257.59815c-23.415861%200-40.143168%2016.733225-40.143167%2040.149087v595.512231c0%2023.42178%2016.727306%2040.149087%2040.143167%2040.149087h879.888278c23.415861%200%2040.143168-16.727306%2040.143167-40.149087V297.753156c0-23.415861-16.727306-40.143168-40.143167-40.143168H846.427746l-127.129896-157.240231c-6.688555-10.038751-20.077503-13.383029-30.110336-13.383029h-230.84393c-13.383029%200-23.42178%206.688555-30.110335%2013.37711L294.408879%20257.615908H130.474173z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M568.746173%20354.629549c117.097064%200%20214.116624%2093.675283%20214.116625%20214.116624%200%20117.097064-93.675283%20214.116624-214.116625%20214.116625s-214.116624-93.675283-214.116624-214.116625c3.344277-120.441341%2097.019561-214.116624%20214.116624-214.116624z%20m0%2083.636532c-70.259422%200-127.129896%2056.882312-127.129896%20127.135815%200%2070.259422%2056.870474%20127.129896%20127.129896%20127.129896%2070.259422%200%20127.129896-56.876393%20127.129896-127.129896%203.344277-70.259422-53.526197-127.135815-127.129896-127.135815z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M568.746173%20782.856879c-117.097064%200-214.116624-97.013642-214.116624-214.110706s97.019561-214.116624%20214.116624-214.116624%20214.116624%2097.019561%20214.116625%20214.116624c3.344277%20117.097064-93.675283%20214.116624-214.116625%20214.116625z%20m0-428.22733c-117.097064%200-210.772347%2093.675283-210.772346%20210.772347%200%20117.091145%2093.675283%20210.766428%20210.772346%20210.766428s210.772347-93.675283%20210.772347-210.766428c0-117.097064-93.675283-210.772347-210.772347-210.772347z%20m0%20341.24652c-70.259422%200-130.480092-56.870474-130.480092-130.474173%200-73.603699%2056.882312-130.480092%20130.480092-130.480093%2073.603699%200%20130.474173%2056.876393%20130.474174%20130.480093s-56.870474%20130.474173-130.474174%20130.474173z%20m0-254.259792c-70.259422%200-127.129896%2056.870474-127.129896%20127.129896%200%2070.259422%2056.870474%20127.129896%20127.129896%20127.129896%2070.259422%200%20127.129896-56.870474%20127.129896-127.129896%200-70.259422-56.870474-127.129896-127.129896-127.129896z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-qiyeweixin1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-qiyeweixin1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%23E7F2FF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M430.848%20271.7952c-57.984%206.5024-110.6688%2031.7696-148.48%2071.2192a200.6528%20200.6528%200%200%200-36.2752%2051.9168%20183.552%20183.552%200%200%200%2012.544%20182.5536c10.24%2015.8208%2027.1616%2035.5584%2042.5728%2049.5616l-6.9888%2055.8336-0.768%202.3296c-0.2304%200.7424-0.2304%201.5104-0.2816%202.2016l-0.1536%201.792%200.1536%201.792a18.176%2018.176%200%200%200%209.5488%2014.4896c5.376%202.816%2011.8016%202.6368%2016.9984-0.512h0.3072l1.0752-0.7936%2016.6912-8.448%2049.7152-25.472c23.6288%206.912%2048.128%2010.3424%2072.7296%2010.1888a255.5648%20255.5648%200%200%200%2089.1904-15.8208%2032.8704%2032.8704%200%200%201-21.9904-34.432%20215.6544%20215.6544%200%200%201-91.6992%209.3184l-4.9408-0.7168a224.384%20224.384%200%200%201-32.9472-6.9632%2022.2208%2022.2208%200%200%200-17.6896%201.8688l-1.3824%200.7168-40.9088%2024.4992-1.7408%201.1008c-0.9728%200.5632-1.4336%200.768-1.9712%200.768a2.688%202.688%200%200%201-1.8944-0.9216%202.8416%202.8416%200%200%201-0.6912-2.048l1.536-6.4%201.792-6.9888%202.9696-11.52%203.4048-12.8a17.5104%2017.5104%200%200%200-6.2208-19.456%20181.7088%20181.7088%200%200%201-41.2672-43.8272%20144.4352%20144.4352%200%200%201-10.112-143.8976%20162.944%20162.944%200%200%201%2029.1584-41.3952c31.0272-32.5888%2074.5984-53.3248%20122.88-58.6496a224.8192%20224.8192%200%200%201%2050.2784%200c47.9488%205.632%2091.392%2026.624%20122.2912%2059.0336a162.304%20162.304%200%200%201%2028.7744%2041.6512c9.472%2019.456%2014.4384%2040.9344%2014.4896%2062.72%200%202.2528-0.256%204.5056-0.3072%206.7072a31.8464%2031.8464%200%200%201%2039.7824%204.7872l1.4592%201.792a182.272%20182.272%200%200%200-17.7152-93.5424%20200.6272%20200.6272%200%200%200-35.8912-51.9168%20242.1248%20242.1248%200%200%200-147.968-71.808%20248.6272%20248.6272%200%200%200-60.032-0.512zM592%20653.2864a8.0896%208.0896%200%200%200%201.0496%2012.3904%20104.9344%20104.9344%200%200%201%2032.512%2062.976c5.1456%2018.2272%2023.9872%2028.928%2042.1888%2023.8848a34.048%2034.048%200%200%200%2024.1408-41.5744c0-0.0768-0.1024-0.1536-0.1024-0.3072a34.2528%2034.2528%200%200%200-29.5168-24.96%20105.2416%20105.2416%200%200%201-58.5728-32.512%208.448%208.448%200%200%200-11.6736%200.1024zM753.2544%20600.6784c-5.7856%201.536-11.0848%204.608-15.4112%208.9088h-0.0768a33.7152%2033.7152%200%200%200-9.8048%2020.48%20104.5504%20104.5504%200%200%201-32.4864%2058.2912%208.0896%208.0896%200%200%200-0.2304%2011.4176l0.0768%200.0768c3.2256%203.2768%208.448%203.328%2011.7248%200.0768a4.5568%204.5568%200%200%200%200.9472-1.2032%20105.3952%20105.3952%200%200%201%2063.1552-32.2304c8.704-2.304%2016.1792-7.9872%2020.7104-15.8208%204.5312-7.8592%205.76-17.1776%203.4304-25.9584a34.304%2034.304%200%200%200-42.0352-24.064v0.0256z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M627.584%20550.0928l-0.5632%200.5632a104.3712%20104.3712%200%200%201-63.8976%2033.3312%2033.8432%2033.8432%200%200%200-15.104%2056.96%2034.2016%2034.2016%200%200%200%2058.0608-20.48%20104.8064%20104.8064%200%200%201%2032.512-58.24%208.2176%208.2176%200%200%200%200.7424-11.392l-0.1024-0.1024a8.32%208.32%200%200%200-11.648-0.64zM666.368%20497.8176a33.9968%2033.9968%200%200%200-15.3856%2056.6016l0.384%200.4096c5.5808%205.504%2012.8256%208.9344%2020.5568%209.8048%2022.528%204.1216%2043.136%2015.488%2058.7264%2032.3584a8.192%208.192%200%201%200%2010.4704-12.4672%20104.7808%20104.7808%200%200%201-32.5376-62.9504%2034.2016%2034.2016%200%200%200-42.24-23.7568z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dianhua { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dianhua%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%23E7F2FF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M448%20263.68c51.2%2051.2%2051.2%20133.12%200%20184.32-10.24%2010.24-20.48%2017.92-28.16%2023.04%2017.92%2028.16%2038.4%2056.32%2058.88%2076.8%2020.48%2020.48%2046.08%2040.96%2076.8%2058.88%205.12-10.24%2012.8-17.92%2023.04-28.16%2023.8848-23.8848%2052.224-36.6336%2085.0688-38.2208l7.0912-0.1792c33.28%200%2066.56%2012.8%2089.6%2035.84%2051.2%2051.2%2051.2%20133.12%200%20184.32-23.04%2023.04-53.76%2035.84-89.6%2038.4H665.6c-102.4%200-199.68-46.08-296.96-143.36-97.28-99.84-145.92-199.68-143.36-302.08%201.9456-27.2128%209.8048-51.4816%2023.552-71.68%200.8448-1.2544%201.7408-2.4832%202.6368-3.712A129.792%20129.792%200%200%201%20448%20263.68z%20m-92.16-5.12c-25.6%200-51.2%2010.24-66.56%2030.72-17.92%2017.92-28.16%2040.96-28.16%2066.56-2.56%2094.72%2040.96%20186.88%20133.12%20279.04%2089.6%2089.6%20179.2%20133.12%20273.92%20133.12h2.56c23.04%200%2046.08-10.24%2066.56-28.16%2038.4-38.4%2035.84-102.4-2.56-140.8s-99.84-38.4-138.24%200c-10.24%207.68-15.36%2017.92-23.04%2033.28v2.56l-5.12%205.12h-12.8l-4.5824-2.56H550.4a440.1408%20440.1408%200%200%201-88.6016-63.3088l-4.7616-4.5824a627.8144%20627.8144%200%200%201-1.3568-1.2288l-1.3568-1.3568-1.2032-1.2032c-25.0368-25.0368-46.0288-54.1184-64.768-85.4272l-6.912-11.8528V460.8c2.56%200%202.56-2.56%202.56-2.56v-2.56l7.68-7.68c12.8-5.12%2025.6-12.8%2033.28-23.04%2038.4-38.4%2038.4-99.84%200-138.24-17.92-17.92-43.52-28.16-69.12-28.16z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodegongzuo { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodegongzuo%22%20viewBox%3D%220%200%201126%201024%22%3E%3Cpath%20d%3D%22M943.3088%20897.6896H183.6032a45.3632%2045.3632%200%200%200-45.056%2045.056c0%2024.7296%2020.3776%2045.1584%2045.056%2045.1584h759.7056c24.7296%200%2045.1072-20.4288%2045.1072-45.1072a45.3632%2045.3632%200%200%200-45.056-45.1072zM1012.0192%200H114.3808A114.7904%20114.7904%200%200%200%200%20114.3808v552.448a114.7904%20114.7904%200%200%200%20114.3808%20114.3296h897.6384A114.7904%20114.7904%200%200%200%201126.4%20666.8288V114.3808A114.432%20114.432%200%200%200%201012.0192%200zM90.7264%20114.3808c0-12.9024%2010.752-23.6544%2023.6544-23.6544h897.6384c12.9024%200%2023.6544%2010.752%2023.6544%2023.6544v552.448c0%2012.9024-10.752%2023.6032-23.6544%2023.6032H114.3808a23.808%2023.808%200%200%201-23.6544-23.6032V114.3808z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M273.2544%20632.4736c0.5632%200%200.5632%200%200%200a44.1344%2044.1344%200%200%200%2032.256-13.4144L431.104%20493.9264h188.4672c11.776%200%2023.6032-4.8128%2031.6928-13.4144l235.6736-244.8384a44.3904%2044.3904%200%200%200%200-63.3344%2044.7488%2044.7488%200%200%200-31.6928-13.4144c-11.776%200-23.04%204.8128-31.6416%2013.4144l-222.8224%20231.424h-187.904a42.0864%2042.0864%200%200%200-31.6928%2013.4144L243.2%20555.1616l-2.1504%202.1504a43.9296%2043.9296%200%200%200%201.6384%2061.7472%2040.6016%2040.6016%200%200%200%2030.5664%2013.4144z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-qiyeweixin { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-qiyeweixin%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%23FFF1EC%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M430.848%20271.7952c-57.984%206.5024-110.6688%2031.7696-148.48%2071.2192a200.6528%20200.6528%200%200%200-36.2752%2051.9168%20183.552%20183.552%200%200%200%2012.544%20182.5536c10.24%2015.8208%2027.1616%2035.5584%2042.5728%2049.5616l-6.9888%2055.8336-0.768%202.3296c-0.2304%200.7424-0.2304%201.5104-0.2816%202.2016l-0.1536%201.792%200.1536%201.792a18.176%2018.176%200%200%200%209.5488%2014.4896c5.376%202.816%2011.8016%202.6368%2016.9984-0.512h0.3072l1.0752-0.7936%2016.6912-8.448%2049.7152-25.472c23.6288%206.912%2048.128%2010.3424%2072.7296%2010.1888a255.5648%20255.5648%200%200%200%2089.1904-15.8208%2032.8704%2032.8704%200%200%201-21.9904-34.432%20215.6544%20215.6544%200%200%201-91.6992%209.3184l-4.9408-0.7168a224.384%20224.384%200%200%201-32.9472-6.9632%2022.2208%2022.2208%200%200%200-17.6896%201.8688l-1.3824%200.7168-40.9088%2024.4992-1.7408%201.1008c-0.9728%200.5632-1.4336%200.768-1.9712%200.768a2.688%202.688%200%200%201-1.8944-0.9216%202.8416%202.8416%200%200%201-0.6912-2.048l1.536-6.4%201.792-6.9888%202.9696-11.52%203.4048-12.8a17.5104%2017.5104%200%200%200-6.2208-19.456%20181.7088%20181.7088%200%200%201-41.2672-43.8272%20144.4352%20144.4352%200%200%201-10.112-143.8976%20162.944%20162.944%200%200%201%2029.1584-41.3952c31.0272-32.5888%2074.5984-53.3248%20122.88-58.6496a224.8192%20224.8192%200%200%201%2050.2784%200c47.9488%205.632%2091.392%2026.624%20122.2912%2059.0336a162.304%20162.304%200%200%201%2028.7744%2041.6512c9.472%2019.456%2014.4384%2040.9344%2014.4896%2062.72%200%202.2528-0.256%204.5056-0.3072%206.7072a31.8464%2031.8464%200%200%201%2039.7824%204.7872l1.4592%201.792a182.272%20182.272%200%200%200-17.7152-93.5424%20200.6272%20200.6272%200%200%200-35.8912-51.9168%20242.1248%20242.1248%200%200%200-147.968-71.808%20248.6272%20248.6272%200%200%200-60.032-0.512zM592%20653.2864a8.0896%208.0896%200%200%200%201.0496%2012.3904%20104.9344%20104.9344%200%200%201%2032.512%2062.976c5.1456%2018.2272%2023.9872%2028.928%2042.1888%2023.8848a34.048%2034.048%200%200%200%2024.1408-41.5744c0-0.0768-0.1024-0.1536-0.1024-0.3072a34.2528%2034.2528%200%200%200-29.5168-24.96%20105.2416%20105.2416%200%200%201-58.5728-32.512%208.448%208.448%200%200%200-11.6736%200.1024zM753.2544%20600.6784c-5.7856%201.536-11.0848%204.608-15.4112%208.9088h-0.0768a33.7152%2033.7152%200%200%200-9.8048%2020.48%20104.5504%20104.5504%200%200%201-32.4864%2058.2912%208.0896%208.0896%200%200%200-0.2304%2011.4176l0.0768%200.0768c3.2256%203.2768%208.448%203.328%2011.7248%200.0768a4.5568%204.5568%200%200%200%200.9472-1.2032%20105.3952%20105.3952%200%200%201%2063.1552-32.2304c8.704-2.304%2016.1792-7.9872%2020.7104-15.8208%204.5312-7.8592%205.76-17.1776%203.4304-25.9584a34.304%2034.304%200%200%200-42.0352-24.064v0.0256z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M627.584%20550.0928l-0.5632%200.5632a104.3712%20104.3712%200%200%201-63.8976%2033.3312%2033.8432%2033.8432%200%200%200-15.104%2056.96%2034.2016%2034.2016%200%200%200%2058.0608-20.48%20104.8064%20104.8064%200%200%201%2032.512-58.24%208.2176%208.2176%200%200%200%200.7424-11.392l-0.1024-0.1024a8.32%208.32%200%200%200-11.648-0.64zM666.368%20497.8176a33.9968%2033.9968%200%200%200-15.3856%2056.6016l0.384%200.4096c5.5808%205.504%2012.8256%208.9344%2020.5568%209.8048%2022.528%204.1216%2043.136%2015.488%2058.7264%2032.3584a8.192%208.192%200%201%200%2010.4704-12.4672%20104.7808%20104.7808%200%200%201-32.5376-62.9504%2034.2016%2034.2016%200%200%200-42.24-23.7568z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-bocaiTV { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-bocaiTV%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M843.915636%20296.587636c44.032%200%2082.385455%2034.071273%2082.385455%2073.867637v515.723636c0%2039.796364-38.353455%2073.867636-82.385455%2073.867636H146.338909c-44.032%200-82.385455-34.071273-82.385454-73.867636V370.501818c0-39.796364%2038.353455-73.867636%2082.385454-73.867636H843.869091m0-63.953455H146.338909C65.349818%20232.634182%200%20293.748364%200%20370.501818v515.723637C0%20961.489455%2065.349818%201024%20146.338909%201024H843.869091c80.989091%200%20146.338909-61.114182%20146.338909-137.774545V370.501818c0-76.8-65.349818-137.867636-146.338909-137.867636z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M348.066909%20276.712727a30.254545%2030.254545%200%200%201-22.714182-9.960727L112.174545%2055.063273c-12.753455-12.8-12.753455-34.117818%200-45.474909%2012.8-12.8%2034.117818-12.8%2045.47491%200l213.131636%20211.688727c12.753455%2012.8%2012.753455%2034.117818%200%2045.474909a28.253091%2028.253091%200%200%201-22.760727%209.960727z%20m294.120727%200a32.442182%2032.442182%200%200%201-26.996363-14.242909c-11.357091-15.592727-7.121455-34.071273%207.074909-45.428363l201.774545-140.660364c15.639273-11.403636%2034.071273-7.121455%2045.474909%207.074909%2011.357091%2015.639273%207.074909%2034.117818-7.121454%2045.474909l-201.728%20140.660364a29.928727%2029.928727%200%200%201-18.478546%207.121454z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M431.476364%20788.712727l222.347636-121.576727a46.545455%2046.545455%200%200%200%200-81.687273L431.522909%20463.872a46.545455%2046.545455%200%200%200-68.887273%2040.820364v243.2a46.545455%2046.545455%200%200%200%2068.887273%2040.820363z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shangjiaguanli { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shangjiaguanli%22%20viewBox%3D%220%200%201072%201024%22%3E%3Cpath%20d%3D%22M1072.76288%20382.293333a37.64419%2037.64419%200%200%200-2.194286-12.629333l-107.129904-299.641905A105.667048%20105.667048%200%200%200%20864.061928%200H207.872975C163.353356%200%20123.368594%2028.233143%20108.447451%2070.265905L2.146499%20369.712762A37.059048%2037.059048%200%200%200%200.000975%20382.293333c0%2070.41219%2043.544381%20130.82819%20105.179429%20155.794286v338.797714a110.884571%20110.884571%200%200%200%20110.738286%20110.787048h653.312a110.884571%20110.884571%200%200%200%20110.787047-110.787048v-344.454095A168.17981%20168.17981%200%200%200%201072.76288%20382.293333z%20m-167.448381%20494.543238c0%2019.894857-16.14019%2035.986286-36.035048%2035.986286H215.91869a36.035048%2036.035048%200%200%201-35.986286-35.986286v-326.997333a168.228571%20168.228571%200%200%200%20110.884571-53.101714%20168.228571%20168.228571%200%200%200%20122.782476%2053.638095%20168.228571%20168.228571%200%200%200%20122.782477-53.638095%20168.228571%20168.228571%200%200%200%20122.782476%2053.638095%20168.228571%20168.228571%200%200%200%20122.782476-53.638095%20168.17981%20168.17981%200%200%200%20122.782476%2053.638095h0.585143v326.460952z%20m-0.633905-401.310476a93.622857%2093.622857%200%200%201-87.625143-61.635047%2037.400381%2037.400381%200%200%200-70.314666%200%2093.476571%2093.476571%200%200%201-87.625143%2061.635047%2093.525333%2093.525333%200%200%201-87.673905-61.635047%2037.400381%2037.400381%200%200%200-70.217143%200A93.476571%2093.476571%200%200%201%20413.501928%20475.526095a93.622857%2093.622857%200%200%201-87.673905-61.635047%2037.400381%2037.400381%200%200%200-70.265905%200%2093.476571%2093.476571%200%200%201-87.673905%2061.635047A93.379048%2093.379048%200%200%201%2074.899261%20388.144762l103.862857-292.961524a30.817524%2030.817524%200%200%201%2029.062095-20.48h656.188953c12.970667%200%2024.576%208.240762%2028.964571%2020.48l104.789333%20293.010286a93.330286%2093.330286%200%200%201-93.086476%2087.283809z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M786.04288%20252.099048H286.672213a37.400381%2037.400381%200%200%200%200%2074.752h499.468191a37.400381%2037.400381%200%200%200%200-74.752z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodetuandui { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodetuandui%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M349.928727%2093.090909C238.638545%2093.090909%20146.897455%20184.785455%20146.897455%20296.122182a202.519273%20202.519273%200%200%200%20203.031272%20203.031273c111.290182%200%20203.031273-91.694545%20203.031273-203.031273A203.310545%20203.310545%200%200%200%20349.928727%2093.090909z%20m0%20325.352727a122.647273%20122.647273%200%200%201-122.274909-122.321454%20122.647273%20122.647273%200%200%201%20122.274909-122.321455%20122.647273%20122.647273%200%200%201%20122.321455%20122.321455A121.902545%20121.902545%200%200%201%20349.928727%20418.443636z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M675.281455%20500.363636c111.290182%200%20203.031273-91.694545%20203.031272-203.031272a202.519273%20202.519273%200%200%200-203.031272-203.031273%2040.727273%2040.727273%200%200%200-40.35491%2040.354909c0%2022.016%2018.338909%2040.401455%2040.35491%2040.401455a122.647273%20122.647273%200%200%201%20122.321454%20122.274909%20122.647273%20122.647273%200%200%201-122.321454%20122.321454%2040.727273%2040.727273%200%200%200-40.35491%2040.354909c0%2022.016%2017.128727%2040.354909%2040.35491%2040.354909z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M890.554182%20934.586182a40.727273%2040.727273%200%200%200%2040.354909-40.354909v-162.676364a149.829818%20149.829818%200%200%200-149.224727-149.224727h-53.806546a40.727273%2040.727273%200%200%200-40.354909%2040.354909c0%2022.016%2018.338909%2040.354909%2040.354909%2040.354909h53.806546c37.934545%200%2067.258182%2030.580364%2067.258181%2067.304727v162.629818c1.256727%2023.272727%2019.549091%2041.611636%2041.611637%2041.611637z%20m-324.142546%200a40.727273%2040.727273%200%200%200%2040.354909-40.354909v-162.676364a149.829818%20149.829818%200%200%200-149.178181-149.224727H242.315636c-81.92%200-148.014545%2067.258182-149.224727%20149.224727v162.676364c0%2022.016%2018.338909%2040.354909%2040.354909%2040.354909a40.727273%2040.727273%200%200%200%2040.354909-40.354909v-162.676364c0-37.934545%2030.580364-67.258182%2067.304728-68.514909h216.436363c37.934545%200%2067.304727%2030.580364%2067.304727%2067.304727v162.629818c1.210182%2023.272727%2019.549091%2041.611636%2041.565091%2041.611637z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-paizhao3 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-paizhao3%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M587.776%20175.166061c24.824242%200%2049.648485%2012.412121%2065.163636%2031.030303l71.369697%2080.678788h80.678788c46.545455%200%2083.781818%2037.236364%2083.781818%2080.678787v400.290909c0%2046.545455-37.236364%2083.781818-83.781818%2083.781819h-586.472727c-46.545455%200-83.781818-37.236364-83.781818-83.781819v-394.084848c0-46.545455%2037.236364-83.781818%2083.781818-83.781818h80.678788l71.369697-83.781818c15.515152-18.618182%2037.236364-31.030303%2058.957576-31.030303H587.776z%20m0%2055.854545h-155.151515c-6.206061%200-15.515152%203.10303-18.618182%2012.412121l-86.884848%20102.4h-108.606061c-15.515152%200-27.927273%2012.412121-27.927273%2027.927273v397.187879c0%2015.515152%2012.412121%2027.927273%2027.927273%2027.927273h583.369697c15.515152%200%2027.927273-12.412121%2027.927273-27.927273v-397.187879c0-15.515152-12.412121-27.927273-27.927273-27.927273h-108.606061l-86.884848-102.4c0-9.309091-9.309091-12.412121-18.618182-12.412121z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M804.988121%20854.729697h-586.472727c-46.545455%200-86.884848-37.236364-86.884849-86.884849v-394.084848c0-46.545455%2037.236364-86.884848%2086.884849-86.884848h80.678788l68.266666-80.678788c15.515152-18.618182%2037.236364-31.030303%2062.060607-31.030303h161.357575c24.824242%200%2049.648485%2012.412121%2065.163637%2031.030303l68.266666%2080.678788h80.678788c46.545455%200%2083.781818%2037.236364%2086.884849%2083.781818v400.290909c0%2046.545455-40.339394%2083.781818-86.884849%2083.781818z%20m-586.472727-564.751515c-43.442424%200-83.781818%2037.236364-83.781818%2083.781818v397.187879c0%2046.545455%2037.236364%2083.781818%2083.781818%2083.781818h583.369697c46.545455%200%2083.781818-37.236364%2083.781818-83.781818v-400.290909c-3.10303-43.442424-37.236364-80.678788-83.781818-80.678788h-80.678788l-68.266667-83.781818c-15.515152-18.618182-40.339394-31.030303-65.163636-31.030303h-158.254545c-21.721212%200-43.442424%2012.412121-58.957576%2031.030303l-68.266667%2083.781818h-83.781818z%20m586.472727%20508.89697h-586.472727c-15.515152%200-31.030303-12.412121-31.030303-31.030304v-394.084848c0-15.515152%2012.412121-31.030303%2031.030303-31.030303h105.50303l86.884849-102.4c6.206061-6.206061%2015.515152-9.309091%2021.721212-9.309091h155.151515c9.309091%200%2018.618182%203.10303%2021.721212%209.309091l86.884849%20102.4h105.50303c15.515152%200%2031.030303%2012.412121%2031.030303%2031.030303v397.187879c0%2015.515152-12.412121%2027.927273-27.927273%2027.927273z%20m-586.472727-453.042425c-15.515152%200-27.927273%2012.412121-27.927273%2027.927273v397.187879c0%2015.515152%2012.412121%2027.927273%2027.927273%2027.927273h583.369697c15.515152%200%2027.927273-12.412121%2027.927273-27.927273v-397.187879c0-15.515152-12.412121-27.927273-27.927273-27.927273h-108.606061l-86.884848-102.4c-6.206061-6.206061-12.412121-9.309091-21.721212-9.309091h-155.151515c-3.10303%200-9.309091%203.10303-15.515152%209.309091l-86.884848%20102.4h-108.606061z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M513.303273%20410.996364c77.575758%200%20142.739394%2062.060606%20142.739394%20142.739394%200%2077.575758-62.060606%20142.739394-142.739394%20142.739394s-142.739394-62.060606-142.739394-142.739394c0-80.678788%2062.060606-142.739394%20142.739394-142.739394z%20m0%2055.854545c-46.545455%200-83.781818%2037.236364-83.781818%2083.781818%200%2046.545455%2037.236364%2083.781818%2083.781818%2083.781818s83.781818-37.236364%2083.781818-83.781818c0-46.545455-37.236364-83.781818-83.781818-83.781818z%22%20fill%3D%22%23A43F3F%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M513.303273%20696.475152c-77.575758%200-142.739394-65.163636-142.739394-142.739394%200-77.575758%2065.163636-142.739394%20142.739394-142.739394%2077.575758%200%20142.739394%2065.163636%20142.739394%20142.739394%200%2077.575758-65.163636%20142.739394-142.739394%20142.739394z%20m0-285.478788c-77.575758%200-139.636364%2062.060606-139.636364%20139.636363s62.060606%20139.636364%20139.636364%20139.636364%20139.636364-62.060606%20139.636363-139.636364c0-74.472727-65.163636-139.636364-139.636363-139.636363z%20m0%20226.521212c-46.545455%200-86.884848-37.236364-86.884849-86.884849s37.236364-86.884848%2086.884849-86.884848c46.545455%200%2086.884848%2037.236364%2086.884848%2086.884848s-40.339394%2086.884848-86.884848%2086.884849z%20m0-167.563637c-46.545455%200-83.781818%2037.236364-83.781818%2083.781819%200%2046.545455%2037.236364%2083.781818%2083.781818%2083.781818s83.781818-37.236364%2083.781818-83.781818c-3.10303-46.545455-40.339394-83.781818-83.781818-83.781819z%22%20fill%3D%22%23A43F3F%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-aixin { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-aixin%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M469.824%20877.824L152.704%20560.64l-31.872-31.552a221.76%20221.76%200%200%201%200-315.648%20226.752%20226.752%200%200%201%20318.592%200l30.4%2030.08%2031.744-31.744a224.256%20224.256%200%200%201%20356.8%20263.488h-3.968c-26.24%200-51.968%207.104-74.432%2020.608l-25.472%2015.36-14.4-23.744a145.024%20145.024%200%200%200-125.12-70.08%20146.56%20146.56%200%200%200-74.88%2020.608%20143.68%20143.68%200%200%200-49.92%20198.208l15.744%2025.92%2067.712%20112.768-102.336%20101.376-1.472%201.472z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M666.24%20865.408L517.44%20620.096a112.448%20112.448%200%200%201%2038.976-154.944c17.664-10.56%2037.824-16.128%2058.432-16.128h0.064c39.936%200%2076.992%2020.736%2097.92%2054.72l31.36%2051.84%2052.288-31.168a114.688%20114.688%200%200%201%20156.352%2038.656%20112.448%20112.448%200%200%201-38.976%20154.88l-247.616%20147.456z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-taiyang { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-taiyang%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M833.088%20883.072l-146.688-34.752a47.488%2047.488%200%200%200-51.904%2022.208L558.08%201000.512a47.552%2047.552%200%200%201-81.472%200.896l-79.168-128.256a47.552%2047.552%200%200%200-52.416-21.056l-145.92%2037.952a47.552%2047.552%200%200%201-58.24-56.96l34.752-146.688a47.488%2047.488%200%200%200-22.208-51.904L23.488%20558.08a47.552%2047.552%200%200%201-0.896-81.472l128.256-79.168a47.552%2047.552%200%200%200%2021.056-52.416l-37.952-145.92a47.552%2047.552%200%200%201%2056.96-58.24l146.688%2034.752a47.488%2047.488%200%200%200%2051.904-22.208L465.92%2023.488A47.552%2047.552%200%200%201%20547.328%2022.592l79.168%20128.256c10.944%2017.792%2032.192%2026.304%2052.416%2021.056l145.92-37.952a47.552%2047.552%200%200%201%2058.24%2056.96l-34.752%20146.688a47.488%2047.488%200%200%200%2022.208%2051.904l129.984%2076.352c30.912%2018.112%2031.36%2062.656%200.896%2081.472l-128.256%2079.168a47.552%2047.552%200%200%200-21.056%2052.416l37.952%20145.92a47.552%2047.552%200%200%201-56.96%2058.24z%22%20fill%3D%22%23FF7938%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M274.112%20512a237.888%20237.888%200%201%200%20475.776%200%20237.888%20237.888%200%200%200-475.776%200z%22%20fill%3D%22%23F7FF53%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M403.008%20462.464a29.76%2029.76%200%201%200%2059.456%200%2029.76%2029.76%200%200%200-59.52%200zM561.536%20462.464a29.76%2029.76%200%201%200%2059.52%200%2029.76%2029.76%200%200%200-59.52%200z%22%20fill%3D%22%23000000%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M432.704%20592.192s19.84%2055.36%2079.296%2055.36%2079.296-55.36%2079.296-55.36H432.64z%22%20fill%3D%22%23FF2929%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhuyi { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhuyi%22%20viewBox%3D%220%200%201173%201024%22%3E%3Cpath%20d%3D%22M585.205619%200.000039c57.785105%200%20110.591996%2029.987445%20140.729103%2079.50572L1145.699875%20768.291456c31.231999%2051.345721%2032.913722%20115.711996%204.387446%20168.593717A165.009717%20165.009717%200%200%201%201004.89988%201024H165.365635c-60.632613%200-116.223996-33.646276-145.041717-87.039997a169.617717%20169.617717%200%200%201%204.387446-168.668547L444.405625%2079.505759A164.277163%20164.277163%200%200%201%20585.205619%200.000039z%22%20fill%3D%22%23FFD112%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M592.519342%20699.246289c-48.490337%200-87.768612%2040.959998-87.768612%2091.427443%200%2050.467444%2039.278275%2091.427443%2087.768612%2091.427443%2048.494275%200%2087.77255-40.959998%2087.772551-91.427443%200-50.467444-39.278275-91.427443-87.772551-91.427443zM592.519342%20234.058861c-36.351999%200-65.827444%2030.719999-65.827443%2068.533167v259.58399c0%2037.813168%2029.475445%2068.533167%2065.827443%2068.533166%2036.351999%200%2065.831382-30.719999%2065.831382-68.533166V302.592028c0-37.813168-29.479383-68.533167-65.831382-68.533167z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-hongbao { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-hongbao%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M151.6544%200h716.8c51.2%200%2076.8%2025.6%2076.8%2076.8v870.4c0%2051.2-25.6%2076.8-76.8%2076.8h-716.8c-51.2%200-76.8-25.6-76.8-76.8v-870.4c0-51.2%2025.6-76.8%2076.8-76.8z%22%20fill%3D%22%23D73C1E%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M868.4544%200c42.417231%200%2076.8%2034.382769%2076.8%2076.8l0.027569%20275.8144c-122.289231%2051.968-272.64%2082.5856-435.2%2082.5856C347.4944%20435.2%20197.12%20404.558769%2074.830769%20352.6144L74.8544%2076.8C74.8544%2034.382769%20109.241108%200%20151.6544%200h716.8z%22%20fill%3D%22%23F14C2E%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M382.058338%20409.6c0%2084.834462%2068.765538%20153.6%20153.6%20153.6%2084.830523%200%20153.6-68.765538%20153.6-153.6a153.6%20153.6%200%200%200-307.2%200z%22%20fill%3D%22%23F7D49A%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M546.7136%20512h-21.909662v-51.2H459.035569v-20.48h65.764431V409.6H459.039508v-20.48h53.504l-53.681231-70.8096L477.672369%20307.2l54.3232%2071.68h12.469169l48.561231-67.84%2018.2272%2011.393969L563.483569%20389.12h48.970831v20.48h-63.6416l-2.095262%202.945969v27.774031h65.736862v20.48h-65.7408z%22%20fill%3D%22%23E98337%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-chuangjianren { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-chuangjianren%22%20viewBox%3D%220%200%202688%201024%22%3E%3Cpath%20d%3D%22M160%2032h2368c70.4%200%20128%2057.6%20128%20128v704c0%2070.4-57.6%20128-128%20128h-2368c-70.4%200-128-57.6-128-128v-704c0-70.4%2057.6-128%20128-128z%22%20fill%3D%22%23F3FFFE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M2528%201024h-2368C70.4%201024%200%20953.6%200%20864v-704C0%2070.4%2070.4%200%20160%200h2368C2617.6%200%202688%2070.4%202688%20160v704c0%2089.6-70.4%20160-160%20160zM160%2064C108.8%2064%2064%20108.8%2064%20160v704c0%2051.2%2044.8%2096%2096%2096h2368c51.2%200%2096-44.8%2096-96v-704c0-51.2-44.8-96-96-96h-2368z%22%20fill%3D%22%238EDDD6%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M512%20179.2c64%2070.4%20128%20140.8%20192%20224l-38.4%2038.4c-64-89.6-121.6-160-172.8-211.2-57.6%2083.2-121.6%20160-198.4%20230.4l-32-44.8c76.8-70.4%20140.8-147.2%20204.8-243.2H512zM403.2%20467.2v320c0%2019.2%206.4%2025.6%2032%2025.6H576c25.6%200%2044.8-6.4%2051.2-19.2%206.4-19.2%2012.8-44.8%2012.8-89.6l51.2%2019.2c-6.4%2064-12.8%20102.4-32%20121.6-12.8%2012.8-38.4%2019.2-70.4%2019.2H409.6c-44.8%200-64-19.2-64-57.6v-384h275.2v204.8c0%2038.4-19.2%2064-64%2064H473.6l-19.2-64c32%200%2057.6%206.4%2076.8%206.4%2019.2%200%2032-12.8%2032-32V467.2H403.2z%20m352%20396.8l-12.8-51.2c38.4%200%2076.8%206.4%20115.2%206.4%2019.2%200%2032-12.8%2032-32V172.8h57.6v627.2c0%2044.8-19.2%2070.4-64%2070.4h-128z%20m44.8-627.2v480h-51.2V236.8h51.2zM1734.4%20800l-6.4%2057.6h-224c-140.8%200-236.8-19.2-294.4-57.6-12.8-6.4-19.2-12.8-25.6-19.2-25.6%2038.4-57.6%2070.4-89.6%2096l-38.4-44.8c38.4-25.6%2064-57.6%2089.6-89.6-32-44.8-57.6-96-70.4-166.4l44.8-19.2c12.8%2057.6%2032%2096%2051.2%20134.4%2025.6-57.6%2038.4-115.2%2044.8-192h-140.8V448c44.8-57.6%2083.2-115.2%20121.6-185.6h-128v-51.2h185.6V256c-38.4%2070.4-76.8%20128-108.8%20185.6h121.6v32c0%20102.4-25.6%20185.6-57.6%20256%2012.8%2012.8%2025.6%2025.6%2038.4%2032%2051.2%2032%20134.4%2044.8%20236.8%2044.8%2076.8%200%20160%200%20249.6-6.4z%20m-224-313.6v64h179.2v44.8h-179.2v64h204.8v44.8h-204.8v76.8h-51.2V704h-172.8v-44.8h172.8v-64h-153.6v-51.2h153.6v-64h-134.4v-38.4h134.4v-64h-172.8v-44.8h172.8v-64h-134.4v-44.8h134.4v-57.6h51.2v57.6h166.4v108.8h51.2v44.8h-51.2v108.8h-166.4z%20m0-153.6h108.8v-64h-108.8v64z%20m0%20108.8h108.8v-64h-108.8v64zM2176%20339.2c44.8%20211.2%20153.6%20371.2%20332.8%20480l-38.4%2051.2c-153.6-102.4-262.4-243.2-320-416-44.8%20166.4-153.6%20307.2-326.4%20416l-32-51.2c211.2-128%20320-307.2%20326.4-524.8V172.8h57.6c6.4%2064%206.4%20121.6%200%20166.4z%22%20fill%3D%22%2305B2A3%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-chengyuan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-chengyuan%22%20viewBox%3D%220%200%201920%201024%22%3E%3Cpath%20d%3D%22M160%2032h1600c70.4%200%20128%2057.6%20128%20128v704c0%2070.4-57.6%20128-128%20128h-1600c-70.4%200-128-57.6-128-128v-704c0-70.4%2057.6-128%20128-128z%22%20fill%3D%22%23F2F9FF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1760%201024h-1600C70.4%201024%200%20953.6%200%20864v-704C0%2070.4%2070.4%200%20160%200h1600C1849.6%200%201920%2070.4%201920%20160v704c0%2089.6-70.4%20160-160%20160zM160%2064C108.8%2064%2064%20108.8%2064%20160v704c0%2051.2%2044.8%2096%2096%2096h1600c51.2%200%2096-44.8%2096-96v-704c0-51.2-44.8-96-96-96h-1600z%22%20fill%3D%22%2390CAFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M864%20243.2l-38.4%2038.4h96v51.2h-236.8c6.4%2096%2012.8%20172.8%2032%20224%206.4%2019.2%2012.8%2038.4%2012.8%2051.2%2038.4-64%2070.4-134.4%2096-217.6l51.2%2019.2c-32%20102.4-70.4%20185.6-121.6%20256%2012.8%2025.6%2019.2%2044.8%2032%2064%2025.6%2038.4%2044.8%2057.6%2064%2057.6%2012.8%200%2025.6-38.4%2038.4-121.6l51.2%2025.6c-19.2%20102.4-44.8%20153.6-76.8%20153.6s-64-25.6-102.4-70.4c-12.8-19.2-25.6-38.4-38.4-64-51.2%2064-115.2%20108.8-192%20140.8l-32-44.8c76.8-32%20140.8-83.2%20192-153.6-12.8-25.6-19.2-57.6-32-89.6-19.2-64-25.6-147.2-32-243.2H364.8v128h185.6c0%20128-6.4%20211.2-19.2%20249.6-12.8%2032-32%2051.2-70.4%2051.2h-64l-12.8-38.4h76.8c19.2%200%2025.6-12.8%2032-32%200-25.6%206.4-83.2%206.4-166.4H364.8v25.6c0%20134.4-32%20249.6-89.6%20332.8l-44.8-38.4c51.2-70.4%2076.8-166.4%2076.8-294.4v-256h320V160h57.6v121.6h140.8c-25.6-25.6-51.2-57.6-96-83.2l38.4-38.4c38.4%2025.6%2070.4%2057.6%2096%2083.2zM1382.4%20544c-12.8%20115.2-32%20192-70.4%20230.4-38.4%2044.8-134.4%2076.8-275.2%2089.6l-19.2-51.2c121.6-6.4%20204.8-32%20249.6-76.8%2038.4-38.4%2057.6-108.8%2064-198.4l51.2%206.4z%20m224%20179.2h-57.6V492.8h-409.6v243.2h-57.6V441.6H1600v281.6zM1561.6%20192v192h-422.4V192h422.4z%20m-51.2%2044.8h-320v96h320V236.8z%20m166.4%20582.4l-32%2044.8c-89.6-44.8-179.2-83.2-268.8-108.8l25.6-38.4c102.4%2032%20192%2064%20275.2%20102.4z%22%20fill%3D%22%231890FF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-guanliyuan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-guanliyuan%22%20viewBox%3D%220%200%202688%201024%22%3E%3Cpath%20d%3D%22M160%2032h2368c70.4%200%20128%2057.6%20128%20128v704c0%2070.4-57.6%20128-128%20128h-2368c-70.4%200-128-57.6-128-128v-704c0-70.4%2057.6-128%20128-128z%22%20fill%3D%22%23FFF3F3%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M2528%201024h-2368C70.4%201024%200%20953.6%200%20864v-704C0%2070.4%2070.4%200%20160%200h2368C2617.6%200%202688%2070.4%202688%20160v704c0%2089.6-70.4%20160-160%20160zM160%2064C108.8%2064%2064%20108.8%2064%20160v704c0%2051.2%2044.8%2096%2096%2096h2368c51.2%200%2096-44.8%2096-96v-704c0-51.2-44.8-96-96-96h-2368z%22%20fill%3D%22%23FEA39F%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M281.6%20358.4l-51.2-32c44.8-44.8%2076.8-102.4%20102.4-160l51.2%2012.8c0%2012.8-12.8%2032-19.2%2044.8H576v51.2H448c19.2%2025.6%2032%2044.8%2044.8%2064l-57.6%2019.2c-12.8-32-32-57.6-51.2-83.2h-38.4c-19.2%2025.6-38.4%2057.6-64%2083.2z%20m620.8%20160h-51.2V428.8H307.2v89.6h-57.6V377.6h300.8c-6.4-12.8-12.8-32-19.2-44.8l51.2-12.8c38.4-44.8%2064-96%2076.8-153.6l51.2%2012.8c-6.4%2012.8-6.4%2032-12.8%2044.8h224v51.2h-134.4c19.2%2019.2%2032%2038.4%2038.4%2057.6l-57.6%2019.2c-12.8-25.6-32-51.2-51.2-76.8h-51.2c-12.8%2025.6-32%2051.2-44.8%2076.8L582.4%20320c6.4%2019.2%2019.2%2038.4%2025.6%2057.6h294.4v140.8z%20m-108.8%20102.4h-384v51.2H832v198.4h-57.6v-32H409.6v32h-51.2V473.6h435.2v147.2z%20m-51.2-44.8V512H409.6v64h332.8z%20m32%20217.6v-70.4H409.6v70.4h364.8zM1094.4%20454.4V275.2h-96v-57.6h243.2v51.2H1152V448h83.2v51.2H1152v172.8c32-12.8%2057.6-19.2%2083.2-32v64c-70.4%2032-147.2%2051.2-230.4%2076.8l-12.8-51.2c32-6.4%2070.4-12.8%20102.4-25.6V512h-83.2v-57.6h83.2z%20m563.2-256v352h-160V640h172.8v51.2h-172.8v102.4h198.4v51.2h-460.8v-51.2h204.8v-102.4h-172.8V640h172.8V556.8H1280V198.4h377.6z%20m-217.6%20153.6V249.6h-108.8v102.4h108.8z%20m0%2051.2h-108.8v102.4h108.8V403.2z%20m57.6-51.2H1600V249.6h-108.8v102.4z%20m102.4%2051.2h-108.8v102.4H1600V403.2zM2144%20550.4c-12.8%20115.2-32%20192-70.4%20230.4-38.4%2044.8-134.4%2076.8-275.2%2089.6l-19.2-51.2c121.6-6.4%20204.8-32%20249.6-76.8%2038.4-38.4%2057.6-108.8%2064-198.4l51.2%206.4z%20m224%20185.6h-57.6V499.2h-409.6v243.2H1856V448h512v288z%20m-44.8-537.6v192h-422.4v-192h422.4z%20m-51.2%2051.2h-320v96h320V249.6z%20m166.4%20582.4l-32%2044.8c-89.6-44.8-179.2-83.2-268.8-108.8l25.6-38.4c102.4%2025.6%20192%2057.6%20275.2%20102.4z%22%20fill%3D%22%23F6343E%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-daiduifangtongyi { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-daiduifangtongyi%22%20viewBox%3D%220%200%204224%201024%22%3E%3Cpath%20d%3D%22M160%2032h3904c70.4%200%20128%2057.6%20128%20128v704c0%2070.4-57.6%20128-128%20128h-3904c-70.4%200-128-57.6-128-128v-704c0-70.4%2057.6-128%20128-128z%22%20fill%3D%22%23F5F5F5%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M4064%201024h-3904C70.4%201024%200%20953.6%200%20864v-704C0%2070.4%2070.4%200%20160%200h3904C4153.6%200%204224%2070.4%204224%20160v704c0%2089.6-70.4%20160-160%20160zM160%2064C108.8%2064%2064%20108.8%2064%20160v704c0%2051.2%2044.8%2096%2096%2096h3904c51.2%200%2096-44.8%2096-96v-704c0-51.2-44.8-96-96-96h-3904z%22%20fill%3D%22%23CCCCCC%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M441.6%20172.8c-38.4%2083.2-102.4%20160-192%20224l-19.2-51.2c76.8-57.6%20128-121.6%20160-192l51.2%2019.2z%20m25.6%20179.2c-19.2%2038.4-38.4%2076.8-64%20115.2v390.4h-57.6V524.8c-25.6%2032-57.6%2057.6-89.6%2083.2l-12.8-51.2C320%20486.4%20384%20409.6%20422.4%20326.4l44.8%2025.6z%20m268.8-198.4v83.2h172.8v51.2h-172.8V384h204.8v51.2H480V384h198.4V288H512v-51.2h172.8V153.6h51.2z%20m44.8%20371.2v-57.6h57.6v57.6h89.6V576h-89.6v198.4c0%2051.2-25.6%2076.8-76.8%2076.8h-108.8l-12.8-51.2c38.4%200%2070.4%206.4%20102.4%206.4%2025.6%200%2038.4-12.8%2038.4-38.4V576H486.4v-51.2h294.4z%20m-108.8%20198.4l-44.8%2032c-19.2-38.4-51.2-76.8-96-121.6l44.8-25.6c44.8%2044.8%2076.8%2083.2%2096%20115.2zM1196.8%20512c25.6-70.4%2044.8-147.2%2051.2-224h-211.2v-57.6h262.4v38.4c-6.4%20102.4-25.6%20198.4-64%20288%2032%2044.8%2064%2089.6%2089.6%20128l-44.8%2044.8-76.8-115.2c-44.8%2076.8-96%20140.8-172.8%20198.4l-32-51.2c70.4-57.6%20128-121.6%20166.4-198.4-38.4-57.6-83.2-115.2-140.8-172.8l38.4-32c51.2%2044.8%2096%20102.4%20134.4%20153.6z%20m300.8%20102.4l-44.8%2032c-32-51.2-70.4-108.8-115.2-166.4l44.8-32c51.2%2064%2089.6%20115.2%20115.2%20166.4z%20m64-313.6V153.6h57.6v153.6h83.2v51.2h-83.2v422.4c0%2051.2-25.6%2076.8-76.8%2076.8h-121.6l-12.8-57.6c38.4%200%2076.8%206.4%20115.2%206.4%2025.6%200%2044.8-12.8%2044.8-38.4V358.4H1344v-57.6h217.6zM2118.4%20268.8c-12.8-32-32-64-57.6-96l51.2-19.2c19.2%2032%2038.4%2070.4%2057.6%20115.2h288V320h-403.2L2048%20454.4h320c0%20153.6-6.4%20249.6-19.2%20294.4-12.8%2064-51.2%2096-115.2%20102.4h-89.6l-19.2-51.2h102.4c38.4%200%2064-32%2070.4-83.2%206.4-32%206.4-102.4%206.4-204.8h-256c-12.8%2064-32%20115.2-57.6%20166.4-38.4%2064-89.6%20128-160%20179.2l-38.4-32c83.2-70.4%20134.4-134.4%20160-192%2025.6-57.6%2038.4-128%2044.8-198.4%200-51.2%206.4-83.2%206.4-108.8H1792v-57.6h326.4zM3033.6%20857.6l-12.8-57.6h102.4c19.2%200%2032-12.8%2032-32V236.8h-505.6v620.8h-57.6V185.6H3200v595.2c0%2051.2-19.2%2076.8-64%2076.8h-102.4z%20m57.6-531.2v51.2h-396.8v-51.2h396.8z%20m-44.8%20134.4v249.6h-307.2V460.8h307.2z%20m-51.2%2051.2h-198.4v147.2h198.4V512zM3436.8%20678.4c-19.2%2064-44.8%20115.2-76.8%20160l-44.8-32c32-44.8%2057.6-89.6%2070.4-140.8l51.2%2012.8z%20m-76.8-428.8v-51.2h262.4c-6.4-19.2-12.8-32-19.2-44.8l57.6-6.4c6.4%2019.2%2019.2%2032%2025.6%2051.2h268.8v44.8h-128l-32%2057.6h192v51.2H3328v-44.8h185.6l-25.6-57.6h-128zM3904%20403.2v230.4h-492.8V403.2H3904z%20m-51.2%2096V448h-384v51.2h384z%20m0%2038.4h-384v51.2h384v-51.2z%20m-275.2%20307.2c-51.2%200-76.8-25.6-76.8-70.4v-102.4h57.6v89.6c0%2019.2%2012.8%2032%2038.4%2032h160c19.2%200%2025.6%200%2032-6.4%206.4-6.4%2012.8-32%2019.2-70.4l51.2%2019.2c-6.4%2051.2-19.2%2083.2-32%2096-12.8%206.4-32%2012.8-64%2012.8h-185.6z%20m166.4-537.6l32-57.6h-230.4l25.6%2057.6h172.8z%20m0%20422.4l-44.8%2032c-19.2-25.6-44.8-57.6-76.8-89.6l44.8-32c32%2038.4%2057.6%2064%2076.8%2089.6z%20m262.4%2064l-44.8%2032c-25.6-44.8-57.6-89.6-96-140.8l44.8-25.6c44.8%2051.2%2076.8%2096%2096%20134.4z%22%20fill%3D%22%23999999%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-peizhi { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-peizhi%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M571.733333%20635.733333h405.333334V686.933333c0%204.266667-4.266667%208.533333-8.533334%208.533334h-401.066666-4.266667V644.266667c4.266667-4.266667%204.266667-8.533333%208.533333-8.533334z%20m0%20140.8h405.333334V832h-405.333334-4.266666V780.8s0-4.266667%204.266666-4.266667z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M571.733333%20840.533333c-4.266667%200-4.266667%200-8.533333-4.266666%200%200-4.266667-4.266667-4.266667-8.533334v-46.933333c0-4.266667%204.266667-8.533333%208.533334-8.533333h405.333333c4.266667%200%204.266667%200%208.533333%204.266666%200%200%204.266667%204.266667%204.266667%208.533334v46.933333c0%204.266667%200%204.266667-4.266667%208.533333s-4.266667%204.266667-8.533333%204.266667h-401.066667v-4.266667z%20m0-59.733333s0%204.266667%200%200l-4.266666%2046.933333h401.066666v-46.933333h-396.8z%20m401.066667-81.066667h-401.066667c-4.266667%200-4.266667%200-8.533333-4.266666%200-4.266667-4.266667-4.266667-4.266667-8.533334V640c0-4.266667%204.266667-12.8%2012.8-12.8h401.066667c4.266667%200%204.266667%200%208.533333%204.266667%200%204.266667%204.266667%204.266667%204.266667%208.533333v46.933333c0%208.533333-4.266667%2012.8-12.8%2012.8zM571.733333%20640s0%204.266667%200%200l-4.266666%2046.933333h401.066666s4.266667%200%204.266667-4.266666v-46.933334h-401.066667zM571.733333%20917.333333h401.066667c4.266667%200%208.533333%204.266667%208.533333%208.533334v46.933333c0%204.266667-4.266667%208.533333-8.533333%208.533333h-401.066667c-4.266667%200-8.533333-4.266667-8.533333-8.533333v-46.933333c4.266667-4.266667%204.266667-8.533333%208.533333-8.533334z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M972.8%20981.333333h-401.066667c-8.533333%200-12.8-4.266667-12.8-12.8v-46.933333c0-8.533333%204.266667-12.8%2012.8-12.8h401.066667c8.533333%200%2012.8%204.266667%2012.8%2012.8v46.933333c0%208.533333-4.266667%2012.8-12.8%2012.8z%20m-401.066667-59.733333s-4.266667%200%200%200l-4.266666%2046.933333s0%204.266667%204.266666%204.266667h401.066667s4.266667%200%204.266667-4.266667v-46.933333s0-4.266667-4.266667-4.266667h-401.066667z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M418.133333%20887.466667l-8.533333-46.933334c0-8.533333-8.533333-17.066667-21.333333-21.333333-17.066667-4.266667-29.866667-12.8-46.933334-21.333333-8.533333-4.266667-17.066667-8.533333-25.6-17.066667-12.8-8.533333-29.866667-21.333333-38.4-29.866667-8.533333-8.533333-17.066667-8.533333-29.866666-4.266666l-42.666667%2017.066666-29.866667%2012.8-72.533333-123.733333%2025.6-21.333333%2034.133333-29.866667c8.533333-8.533333%2012.8-17.066667%208.533334-29.866667v-46.933333-12.8-17.066667c0-17.066667%204.266667-34.133333%204.266666-51.2%204.266667-8.533333%200-21.333333-8.533333-29.866666l-34.133333-25.6-29.866667-21.333334%2072.533333-123.733333%2034.133334%2012.8%2042.666666%2017.066667c8.533333%204.266667%2021.333333%200%2029.866667-4.266667%2012.8-12.8%2025.6-21.333333%2042.666667-29.866667%208.533333-4.266667%2017.066667-8.533333%2021.333333-12.8%2017.066667-8.533333%2029.866667-12.8%2046.933333-21.333333%208.533333-4.266667%2017.066667-12.8%2021.333334-21.333333l8.533333-46.933334%204.266667-34.133333h140.8l4.266666%2034.133333%208.533334%2046.933334c0%208.533333%208.533333%2017.066667%2021.333333%2021.333333%2017.066667%204.266667%2029.866667%2012.8%2046.933333%2021.333333%208.533333%204.266667%2017.066667%208.533333%2021.333334%2012.8%2012.8%208.533333%2029.866667%2021.333333%2042.666666%2029.866667%208.533333%208.533333%2017.066667%208.533333%2029.866667%204.266667l42.666667-17.066667%2025.6-12.8%2072.533333%20123.733333-25.6%2021.333334-34.133333%2029.866666c-12.8%208.533333-17.066667%2017.066667-12.8%2029.866667%204.266667%2017.066667%204.266667%2034.133333%204.266666%2051.2v29.866667c0%2017.066667-4.266667%2034.133333-4.266666%2051.2v4.266666h72.533333l-12.8-8.533333c4.266667-17.066667%204.266667-38.4%204.266667-55.466667%200-21.333333%200-38.4-4.266667-59.733333l55.466667-42.666667c21.333333-17.066667%2025.6-42.666667%2012.8-64l-76.8-136.533333c-12.8-21.333333-38.4-29.866667-64-21.333333l-64%2017.066666c-29.866667-25.6-64-42.666667-98.133334-55.466666L622.933333%2085.333333c-4.266667-25.6-25.6-42.666667-51.2-42.666666H413.866667c-25.6%200-46.933333%2017.066667-46.933334%2042.666666l-12.8%2068.266667C320%20170.666667%20285.866667%20187.733333%20256%20213.333333l-64-25.6c-25.6-8.533333-51.2%200-64%2021.333334L51.2%20345.6c-12.8%2021.333333-8.533333%2046.933333%2012.8%2064l55.466667%2042.666667c-4.266667%2021.333333-4.266667%2038.4-4.266667%2059.733333%200%2017.066667%200%2038.4%204.266667%2055.466667l-51.2%2042.666666c-21.333333%2017.066667-25.6%2042.666667-12.8%2064L128%20810.666667c8.533333%2017.066667%2025.6%2025.6%2042.666667%2025.6%208.533333%200%2012.8%200%2017.066666-4.266667l64-21.333333c29.866667%2025.6%2064%2042.666667%20102.4%2059.733333l8.533334%2068.266667c4.266667%2025.6%2025.6%2042.666667%2051.2%2042.666666h89.6v-59.733333h-85.333334v-34.133333z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M516.266667%20985.6H413.866667c-29.866667%200-55.466667-21.333333-59.733334-51.2l-8.533333-59.733333c-34.133333-12.8-68.266667-34.133333-93.866667-55.466667l-55.466666%2021.333333c-8.533333%204.266667-12.8%204.266667-21.333334%204.266667-21.333333%200-42.666667-12.8-51.2-29.866667L42.666667%20682.666667c-12.8-25.6-8.533333-59.733333%2012.8-76.8l51.2-38.4c-4.266667-17.066667-4.266667-34.133333-4.266667-55.466667%200-17.066667%200-38.4%204.266667-55.466667l-51.2-38.4C34.133333%20396.8%2025.6%20366.933333%2042.666667%20341.333333l76.8-136.533333c12.8-25.6%2046.933333-38.4%2072.533333-25.6l59.733333%2021.333333c29.866667-21.333333%2059.733333-38.4%2093.866667-55.466666L358.4%2085.333333C362.666667%2055.466667%20384%2034.133333%20413.866667%2034.133333h153.6c29.866667%200%2055.466667%2021.333333%2059.733333%2051.2l12.8%2064c34.133333%2012.8%2064%2029.866667%2093.866667%2055.466667l59.733333-21.333333c29.866667-12.8%2059.733333%200%2072.533333%2025.6L942.933333%20341.333333c12.8%2025.6%208.533333%2059.733333-12.8%2076.8l-51.2%2038.4c4.266667%2017.066667%204.266667%2038.4%204.266667%2055.466667s0%2034.133333-4.266667%2055.466667l29.866667%2021.333333h-106.666667v-8.533333-4.266667c4.266667-17.066667%204.266667-34.133333%204.266667-51.2v-4.266667-8.533333V499.2c0-17.066667-4.266667-34.133333-4.266667-46.933333-4.266667-12.8%200-25.6%2012.8-38.4l55.466667-46.933334L806.4%20256l-68.266667%2025.6c-12.8%204.266667-25.6%204.266667-38.4-8.533333-12.8-12.8-25.6-21.333333-38.4-29.866667-8.533333-4.266667-12.8-8.533333-21.333333-12.8-12.8-8.533333-29.866667-12.8-46.933333-21.333333-12.8-4.266667-21.333333-17.066667-25.6-29.866667L554.666667%20106.666667h-128l-8.533334%2076.8c0%2012.8-12.8%2025.6-25.6%2029.866666-12.8%204.266667-29.866667%208.533333-46.933333%2017.066667-4.266667%204.266667-12.8%208.533333-21.333333%2012.8-12.8%208.533333-25.6%2021.333333-38.4%2029.866667-12.8%2012.8-25.6%2012.8-38.4%208.533333L179.2%20256%20115.2%20366.933333l55.466667%2042.666667c12.8%208.533333%2017.066667%2021.333333%2012.8%2038.4-4.266667%2017.066667-4.266667%2034.133333-4.266667%2046.933333v25.6c0%2017.066667%204.266667%2034.133333%204.266667%2051.2%204.266667%2012.8%200%2025.6-12.8%2034.133334l-55.466667%2046.933333%2064%20110.933333%2068.266667-25.6c12.8-4.266667%2025.6%200%2038.4%208.533334%2012.8%2012.8%2025.6%2021.333333%2038.4%2029.866666l25.6%2012.8c12.8%208.533333%2029.866667%2012.8%2046.933333%2017.066667%2012.8%204.266667%2021.333333%2017.066667%2025.6%2029.866667l12.8%2072.533333h85.333333v76.8zM256%20797.866667c34.133333%2025.6%2068.266667%2046.933333%20102.4%2059.733333h4.266667l12.8%2072.533333c4.266667%2021.333333%2021.333333%2034.133333%2042.666666%2034.133334h81.066667v-42.666667h-85.333333l-12.8-85.333333c0-8.533333-4.266667-12.8-12.8-17.066667-17.066667-4.266667-34.133333-12.8-46.933334-21.333333-8.533333-4.266667-17.066667-8.533333-25.6-17.066667-12.8-8.533333-29.866667-21.333333-42.666666-29.866667-4.266667-4.266667-12.8-8.533333-21.333334-4.266666l-81.066666%2038.4-76.8-136.533334L162.133333%20597.333333c4.266667-4.266667%208.533333-12.8%208.533334-21.333333-4.266667-17.066667-4.266667-34.133333-4.266667-51.2v-4.266667-8.533333V499.2c0-17.066667%204.266667-34.133333%208.533333-51.2%200-8.533333%200-17.066667-8.533333-21.333333L93.866667%20371.2%20170.666667%20234.666667l81.066666%2034.133333c8.533333%204.266667%2012.8%200%2021.333334-4.266667%2012.8-12.8%2025.6-21.333333%2042.666666-29.866666%208.533333-8.533333%2017.066667-12.8%2025.6-17.066667%2017.066667-8.533333%2029.866667-12.8%2046.933334-21.333333%208.533333-4.266667%2012.8-8.533333%2012.8-17.066667l12.8-85.333333h157.866666l12.8%2089.6c0%208.533333%204.266667%2012.8%2012.8%2017.066666%2017.066667%204.266667%2034.133333%2012.8%2046.933334%2021.333334l25.6%2012.8c12.8%208.533333%2029.866667%2021.333333%2042.666666%2029.866666%204.266667%204.266667%2012.8%208.533333%2021.333334%204.266667l81.066666-34.133333L896%20371.2%20823.466667%20426.666667c-4.266667%204.266667-8.533333%2012.8-8.533334%2021.333333%204.266667%2017.066667%204.266667%2034.133333%208.533334%2051.2v25.6c0%2017.066667-4.266667%2029.866667-4.266667%2046.933333h42.666667v-4.266666c4.266667-17.066667%204.266667-38.4%204.266666-55.466667s0-38.4-4.266666-55.466667v-4.266666l55.466666-46.933334c17.066667-12.8%2021.333333-38.4%208.533334-55.466666L853.333333%20213.333333c-12.8-17.066667-34.133333-25.6-51.2-17.066666l-68.266666%2025.6-8.533334-4.266667c-29.866667-25.6-64-42.666667-98.133333-55.466667h-4.266667l-12.8-72.533333c-4.266667-21.333333-21.333333-38.4-42.666666-38.4H413.866667c-21.333333%200-38.4%2017.066667-42.666667%2034.133333l-8.533333%2076.8h-4.266667c-34.133333%2012.8-68.266667%2034.133333-98.133333%2055.466667l-4.266667%204.266667-68.266667-25.6c-21.333333-8.533333-42.666667%200-51.2%2017.066666L55.466667%20349.866667c-8.533333%2017.066667-4.266667%2042.666667%208.533333%2055.466666l55.466667%2046.933334v4.266666c-4.266667%2017.066667-4.266667%2038.4-4.266667%2059.733334%200%2017.066667%200%2038.4%204.266667%2055.466666v4.266667l-55.466667%2046.933333c-17.066667%2012.8-21.333333%2038.4-8.533333%2055.466667l76.8%20136.533333c8.533333%2012.8%2021.333333%2021.333333%2038.4%2021.333334%204.266667%200%2012.8%200%2017.066666-4.266667l68.266667-34.133333z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M345.6%20512c0-81.066667%2064-149.333333%20149.333333-149.333333S640%20430.933333%20640%20512c0%2021.333333-4.266667%2046.933333-17.066667%2068.266667h64c29.866667-85.333333%200-179.2-72.533333-230.4s-170.666667-55.466667-243.2-4.266667-102.4%20145.066667-72.533333%20230.4%20106.666667%20145.066667%20196.266666%20145.066667h12.8v-59.733334h-12.8c-81.066667-4.266667-149.333333-68.266667-149.333333-149.333333z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M494.933333%20725.333333c-93.866667%200-174.933333-59.733333-204.8-149.333333-29.866667-89.6%204.266667-187.733333%2081.066667-238.933333%2076.8-55.466667%20179.2-55.466667%20251.733333%204.266666%2076.8%2055.466667%20106.666667%20153.6%2076.8%20243.2v4.266667h-85.333333l8.533333-12.8c8.533333-21.333333%2017.066667-42.666667%2017.066667-64%200-76.8-64-140.8-140.8-140.8S354.133333%20435.2%20354.133333%20512c0%2076.8%2064%20140.8%20140.8%20140.8h21.333334V725.333333h-21.333334z%20m0-413.866666c-38.4%200-81.066667%2012.8-115.2%2038.4-68.266667%2051.2-98.133333%20140.8-72.533333%20221.866666%2025.6%2081.066667%20102.4%20136.533333%20187.733333%20136.533334h4.266667v-42.666667h-4.266667c-85.333333%200-157.866667-68.266667-157.866666-157.866667%200-85.333333%2068.266667-157.866667%20157.866666-157.866666s153.6%2076.8%20153.6%20162.133333c0%2021.333333-4.266667%2038.4-12.8%2059.733333H682.666667c25.6-81.066667-4.266667-166.4-72.533334-217.6-34.133333-25.6-76.8-42.666667-115.2-42.666666z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-tonggao { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-tonggao%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M450.094545%2046.592a124.788364%20124.788364%200%200%200-81.547636%2031.790545L161.512727%20273.687273l-6.283636%203.258182A130.466909%20130.466909%200%200%200%2023.272727%20408.948364v172.450909a130.466909%20130.466909%200%200%200%20132.002909%20131.723636l2.978909%201.768727%203.304728%201.489455%20207.266909%20195.584a119.994182%20119.994182%200%200%200%2082.478545%2034.443636%20107.985455%20107.985455%200%200%200%2077.125818-32.069818c22.528-22.714182%2035.048727-53.480727%2034.769455-85.457454V166.586182a121.762909%20121.762909%200%200%200-34.164364-89.972364A108.916364%20108.916364%200%200%200%20450.094545%2046.545455z%20m20.712728%20776.564364c0%2020.107636-11.962182%2030.021818-23.365818%2030.021818a28.206545%2028.206545%200%200%201-20.107637-9.309091l-239.988363-221.090909h-32.116364a39.005091%2039.005091%200%200%201-41.937455-41.378909V408.948364a39.005091%2039.005091%200%200%201%2041.984-40.820364h33.885091L429.149091%20147.083636a28.206545%2028.206545%200%200%201%2018.618182-10.472727c15.825455%200%2023.365818%2015.266909%2023.365818%2029.975273l-0.325818%20656.570182z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M951.202909%20230.679273A49.524364%2049.524364%200%200%200%20902.981818%20279.877818v507.904a49.524364%2049.524364%200%200%200%2097.745455%200V279.877818a49.524364%2049.524364%200%200%200-49.524364-49.198545zM757.992727%20361.006545A49.524364%2049.524364%200%200%200%20707.490909%20408.901818v249.902546a49.524364%2049.524364%200%200%200%2097.745455%200V408.901818c0-26.484364-20.805818-48.314182-47.243637-49.524363v1.62909z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zanwushouhuodizhi { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zanwushouhuodizhi%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M366.580989%2014.490151L31.358624%20101.298925v819.915699l335.222365-86.808775L657.562151%201008.012387l335.079225-86.797763V101.298925L705.965419%20174.190108%22%20fill%3D%22%23EDEDED%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M655.337978%201024l-291.124301-173.606538L16.516129%20940.483441V89.638538L362.870366%200l7.421247%2028.837161-324.079484%2083.95699v789.140645l322.604043-83.516559%20290.970151%20173.463397%20318.001548-82.327397v-789.140646l-268.111828%2068.277678-7.267097-28.980301L1007.483871%2082.019097v850.690752z%22%20fill%3D%22%23EDEDED%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M495.483871%20594.580645C462.605763%20594.580645%20258.752688%20435.255054%20258.752688%20303.896774%20258.752688%20172.538495%20364.742194%2066.064516%20495.483871%2066.064516S732.215054%20172.538495%20732.215054%20303.896774C732.215054%20435.255054%20528.361978%20594.580645%20495.483871%20594.580645z%20m0-218.012903c39.947011%200%2072.340645-32.536774%2072.340645-72.670968%200-40.134194-32.393634-72.670968-72.340645-72.670968s-72.340645%2032.536774-72.340645%2072.670968c0%2040.134194%2032.393634%2072.670968%2072.340645%2072.670968z%22%20fill%3D%22%23FF6A00%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M659.577118%201008.012387v-522.900645%22%20fill%3D%22%23FFF061%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M640.055054%20501.627871l29.684989-16.516129v522.900645h-29.696z%22%20fill%3D%22%23E9E9E9%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M373.793032%20114.588903V14.490151%22%20fill%3D%22%23FFF061%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M354.259957%2014.490151h29.696v50.550365h-29.696zM373.793032%20824.991656V485.111742M348.622452%20496.331699l25.17058%2015.668301%2010.162925%20312.991656h-29.696z%22%20fill%3D%22%23E9E9E9%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M448.534022%2068.277677L356.186839%2012.992688%22%20fill%3D%22%23FFF061%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M348.622452%2025.875269L363.80628%200.187183l83.24129%2051.651441-32.481721%2012.706408z%22%20fill%3D%22%23E9E9E9%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-bocai1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-bocai1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M128.256%20581.056a382.016%20382.016%200%200%201%2081.92-240c27.712-35.2%2060.672-64.64%2097.28-87.68V153.344C307.52%2068.928%20239.04%200%20154.56%200H128v578.688h0.192l0.064%202.368%22%20fill%3D%22%2300D000%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M649.92%20427.776L795.328%20319.808a381.312%20381.312%200%200%201%20100.48%20270.272A381.12%20381.12%200%200%201%20787.84%20845.312L645.696%20733.44%20642.56%20735.936a204.8%20204.8%200%200%200%207.36-308.16%22%20fill%3D%22%2300D000%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M511.616%20962.752a380.16%20380.16%200%200%201-237.312-82.368A384.512%20384.512%200%200%201%20210.176%20341.12a382.08%20382.08%200%200%201%20302.08-146.56c86.784%200%20168.896%2028.544%20237.248%2082.432%2016.512%2012.928%2031.872%2027.2%2046.016%2042.688l-145.6%20108.16A202.24%20202.24%200%200%200%20537.6%20375.68a204.16%20204.16%200%200%200-195.712%2089.28c-59.072%2087.808-39.552%20209.088%2043.648%20274.496a202.432%20202.432%200%200%200%20126.272%2043.712c49.92%200%2097.024-17.792%20133.824-49.728l142.464%20112.192a381.952%20381.952%200%200%201-276.48%20117.12z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-weiguanzhu { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-weiguanzhu%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M389.907692%20274.825846a110.119385%20110.119385%200%200%200-69.159384-23.236923c-68.844308%200-124.612923%2061.44-124.612923%20137.294769-0.236308%2029.538462%208.428308%2058.289231%2024.733538%2081.841231l0.078769%200.157539a26.387692%2026.387692%200%200%200%2039.699693%203.229538%2033.240615%2033.240615%200%200%200%205.513846-39.936c0-0.236308-0.157538-0.236308-0.236308-0.393846l-1.024-1.575385a76.878769%2076.878769%200%200%201-12.445538-43.323077c0-41.590154%2030.562462-75.303385%2068.292923-75.303384%2015.281231%200%2028.672%204.962462%2040.014769%2014.25723l0.078769-0.078769c13.075692%209.216%2030.483692%205.041231%2038.833231-9.294769a32.846769%2032.846769%200%200%200-9.688615-43.638154z%22%20fill%3D%22%23595959%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M513.181538%20923.648c-15.675077%200-29.932308-11.106462-40.723692-20.952615L330.121846%20746.023385%20151.000615%20549.021538C65.063385%20454.025846%2065.142154%20299.638154%20151.394462%20204.878769c41.668923-45.686154%2096.886154-70.971077%20155.648-70.971077s113.979077%2015.596308%20155.648%2061.44l49.782153%2049.939693%208.27077-9.216%201.339077-1.417847%2040.96-40.172307C604.396308%20149.188923%20659.298462%20133.907692%20717.430154%20133.907692c58.683077%200%20113.900308%2025.206154%20155.490461%2071.049846%2043.874462%2048.364308%2066.166154%20112.403692%2064.275693%20185.107693v0.787692l-0.07877%200.393846v1.181539c-0.787692%2015.911385-12.051692%2028.829538-26.230153%2030.089846a25.363692%2025.363692%200%200%201-2.205539%200c-14.651077%200-27.096615-12.839385-28.278154-29.302154v-1.417846l-0.078769-1.496616c0-0.945231%200-2.126769%200.157539-3.387076l0.078769-0.315077v-0.315077a197.474462%20197.474462%200%200%200-49.545846-135.955693%20162.107077%20162.107077%200%200%200-120.595693-54.902153c-35.761231%200-70.104615%2012.130462-99.24923%2034.973538l-21.740308%2019.613538-77.036308%2075.224616-77.193846-75.224616-21.504-19.298461a159.428923%20159.428923%200%200%200-100.036923-35.682462c-35.918769%200-70.419692%2012.209231-99.564308%2035.288616-75.854769%2060.022154-93.262769%20176.836923-38.833231%20260.332307l0.315077%200.393847%20327.128616%20364.307692%2010.633846%2014.020923%208.822154-14.178462%2043.953231-49.07323h0.157538l2.048-2.441846a24.576%2024.576%200%200%201%2018.904615-9.373539c7.876923%200%2014.966154%203.702154%2019.849847%2010.161231a31.507692%2031.507692%200%200%201-3.15077%2041.432615l-0.472615%200.472616-51.278769%2056.477538c-13.627077%2013.863385-26.466462%2020.716308-39.069539%2020.716308z%22%20fill%3D%22%23595959%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M785.723077%20803.524923c-16.384%200-29.774769-14.966154-29.774769-33.476923V671.271385H665.757538c-16.462769%200-29.853538-14.966154-29.853538-33.476923s13.390769-33.555692%2029.853538-33.555693h90.19077V505.540923c0-18.510769%2013.390769-33.555692%2029.774769-33.555692%2016.462769%200%2029.853538%2015.044923%2029.853538%2033.555692V604.16h90.19077c16.462769%200%2029.853538%2015.044923%2029.853538%2033.555692s-13.390769%2033.555692-29.853538%2033.555693H815.576615v98.697846c0%2018.432-13.390769%2033.476923-29.853538%2033.476923z%22%20fill%3D%22%23595959%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-gongdan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-gongdan%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m160%200l704%200q160%200%20160%20160l0%20704q0%20160-160%20160l-704%200q-160%200-160-160l0-704q0-160%20160-160Z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M709.664%20224H302.016C266.592%20224%20240%20251.968%20240%20283.936v456.128c0%2032%2026.56%2059.936%2062.016%2059.936h407.648c35.456%200%2062.016-27.968%2062.016-59.936V283.936c0-32-26.56-59.936-62.016-59.936zM476.8%20600.64h-116c-16.096%200-32.224-16.64-32.224-33.28%200-16.576%2012.896-33.216%2032.224-33.216h112.8c16.096%200%2032.224%2016.64%2032.224%2033.248%200%2016.608-12.896%2033.216-29.024%2033.216z%20m129.984-132.96h-239.04c-19.584%200-39.168-16.608-39.168-33.216%200-16.64%2015.68-33.248%2039.2-33.248h235.104c11.744%200%2027.424%206.656%2031.36%2016.64%203.904%209.952%207.808%2023.264%200%2033.216-3.936%209.984-15.68%2016.64-27.456%2016.64z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhiwei { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhiwei%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M873.6%201024H150.4A150.4%20150.4%200%200%201%200%20873.6V150.4A150.4%20150.4%200%200%201%20150.4%200h723.2A150.4%20150.4%200%200%201%201024%20150.4v723.2a150.4%20150.4%200%200%201-150.4%20150.4%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M777.6%20534.848h-187.52v-30.464h-156.16v30.4H246.4V383.04c0-33.536%2027.968-60.672%2062.496-60.672h93.76v-30.464c0-25.152%2020.928-45.504%2046.848-45.504h124.992c25.92%200%2046.88%2020.352%2046.88%2045.504v30.4h93.728c34.528%200%2062.496%2027.136%2062.496%2060.672V534.848z%20m0%2030.336v151.744c0%2033.6-27.968%2060.736-62.496%2060.736H308.96c-34.56%200-62.56-27.168-62.56-60.736v-151.68h187.52v30.272h156.16v-30.336h187.52z%20m-187.52-242.816v-30.464a15.392%2015.392%200%200%200-15.52-15.104h-125.056a15.392%2015.392%200%200%200-15.584%2015.168v30.4h156.16z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-pengyouquanzhushou { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-pengyouquanzhushou%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M511.999573%20667.56211a146.474545%20146.474545%200%200%201-146.303878-146.303878%2041.813298%2041.813298%200%200%200-83.58393%200A230.101142%20230.101142%200%200%200%20511.999573%20751.146041a230.101142%20230.101142%200%200%200%20229.887809-229.887809%2041.813298%2041.813298%200%200%200-83.626597%200A146.474545%20146.474545%200%200%201%20511.999573%20667.56211z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M0%20511.999573c0%2090.069258%2023.338647%20176.853186%2066.986611%20253.397123a17.621319%2017.621319%200%200%201-2.645331-6.997328c0.085333%201.407999-0.042667%203.92533-0.512%207.381327-1.109332%208.10666-3.711997%2019.029317-7.551994%2031.78664-2.175998%207.210661-4.693329%2014.805321-7.551993%2022.741315-5.162662%2014.506655-10.837324%2028.885309-16.938653%2043.093297l-29.823975%2067.839944%2073.514605-9.642659%2015.231988-1.919998c16.383986-2.005332%2032.810639-3.967997%2049.237292-5.759996a680.1061%20680.1061%200%200%201%2053.674622-4.479996c-1.919998%200-5.631995-0.853333-11.989323-6.271995A510.292908%20510.292908%200%200%200%20511.999573%201023.999147c282.751764%200%20511.999573-229.247809%20511.999574-511.999574%200-282.794431-229.247809-511.999573-511.999574-511.999573S0%20229.247809%200%20511.999573z%20m940.37255%200c0%20236.543803-191.786507%20428.372976-428.372977%20428.372977a426.538311%20426.538311%200%200%201-276.309103-100.94925c-12.15999-10.325325-25.898645-13.567989-42.069298-13.567988-12.330656%200-33.535972%201.791999-62.719948%204.991996l-14.079988%201.578665c-17.365319%201.962665-34.773304%204.095997-52.138623%206.314661l43.647963%2058.282618c6.911994-15.999987%2013.311989-32.255973%2019.199984-48.639959%203.199997-9.173326%206.143995-18.047985%208.74666-26.623978%2013.397322-44.245296%2017.322652-73.258606%203.28533-97.791918A426.324978%20426.324978%200%200%201%2083.626597%20511.999573C83.626597%20275.45577%20275.45577%2083.626597%20511.999573%2083.626597c236.58647%200%20428.372976%20191.74384%20428.372977%20428.372976z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhaogongtv { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhaogongtv%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M455.123437%20512.002133H227.540385a38.058508%2038.058508%200%200%201-37.930508-37.930508c0-20.863913%2017.066596-37.930509%2037.973175-37.930509h227.540385c20.863913%200%2037.930509%2017.066596%2037.930509%2037.973175%200%2020.821247-17.066596%2037.887842-37.973176%2037.887842z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M341.331911%20777.473027a38.058508%2038.058508%200%200%201-37.930509-37.930508v-265.470894c0-20.863913%2017.066596-37.930509%2037.930509-37.930509s37.930509%2017.066596%2037.930509%2037.973175v265.428228c0%2020.90658-17.066596%2037.973175-37.930509%2037.973175z%20m341.331911%200a37.461177%2037.461177%200%200%201-34.133191-22.741238l-113.791526-265.470894c-7.551969-18.986588%200-41.727826%2018.986588-49.322461%2018.943921-7.594635%2041.727826%200%2049.279794%2020.863913L682.663822%20644.73758l79.658335-183.935233a38.485173%2038.485173%200%200%201%2049.279795-20.863913%2036.09585%2036.09585%200%200%201%2018.986587%2049.322461L716.797013%20754.731789a37.461177%2037.461177%200%200%201-34.133191%2022.741238z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M910.204207%201024H113.791526A114.132858%20114.132858%200%200%201%200%20910.208474V303.405669c0-62.591739%2051.199787-113.791526%20113.791526-113.791526h796.412681C972.795947%20189.614143%201023.995733%20240.81393%201023.995733%20303.405669v606.802805C1023.995733%20972.800213%20972.795947%201024%20910.204207%201024zM113.791526%20265.475161c-20.90658%200-37.973175%2017.066596-37.973175%2037.973175v606.760138c0%2020.90658%2017.066596%2037.973175%2037.973175%2037.973175h796.412681c20.90658%200%2037.973175-17.066596%2037.973176-37.973175V303.405669c0-20.863913-17.066596-37.930509-37.973176-37.930508H113.791526z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M436.136849%20265.475161a37.418511%2037.418511%200%200%201-26.538556-11.349287L219.988417%2064.430665a36.69318%2036.69318%200%200%201%200-53.077112%2036.69318%2036.69318%200%200%201%2053.077112%200l189.609877%20189.609876a36.69318%2036.69318%200%200%201%200%2053.119779%2037.418511%2037.418511%200%200%201-26.538557%2011.349286z%20m151.722035%200a37.418511%2037.418511%200%200%201-26.538556-11.349287%2036.69318%2036.69318%200%200%201%200-53.119778L750.930204%2011.396219a36.69318%2036.69318%200%200%201%2053.077113%200%2036.69318%2036.69318%200%200%201%200%2053.077112L614.39744%20254.125874a37.418511%2037.418511%200%200%201-26.538556%2011.349287z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-hanshujiagong { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-hanshujiagong%22%20viewBox%3D%220%200%201045%201024%22%3E%3Cpath%20d%3D%22M520%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%233392FF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M725.952%20661.717333l-6.016-33.6c-2.218667-8.96-15.488-10.858667-15.488-10.858666l-1.557333-56.661334c-87.850667-11.626667-159.68%2036.202667-159.68%2036.202667h-39.68c-85.546667-52.928-159.274667-36.202667-159.274667-36.202667l-1.92%2056.661334c-14.101333%201.322667-16.512%2013.269333-16.512%2013.269333l-5.824%2037.525333c2.944%2021.162667%2020.010667%2019.072%2020.010667%2019.072%201.045333%2028.309333-8.512%2071.893333-8.512%2071.893334%20112.426667%208.704%20172.032%2051.648%20172.032%2051.648h39.744c64.426667-44.906667%20172.416-51.626667%20172.416-51.626667-5.888-11.968-8.746667-71.893333-8.746667-71.893333%2023.658667%200%2019.008-25.429333%2019.008-25.429334z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M445.162667%20502.101333c-23.594667%208.362667-45.44%2020.522667-64.768%2035.626667%2010.325333%200.704%2021.76%201.962667%2034.133333%203.84%2010.837333%201.493333%2020.309333%203.733333%2028.16%205.824%2034.176%208.234667%2057.642667%2020.586667%2069.738667%2028.096h21.44c12.096-7.509333%2035.541333-19.797333%2069.738666-28.096%207.893333-2.090667%2017.322667-4.309333%2028.16-5.824%2012.373333-1.813333%2023.808-3.136%2034.133334-3.84a232.362667%20232.362667%200%200%200-64.789334-35.626667c0.149333-0.064%200.277333-0.213333%200.405334-0.256a231.893333%20231.893333%200%200%200-28.501334-6.933333%2024.213333%2024.213333%200%200%201-2.346666-15.829333c36.053333-19.008%2044.437333-61.76%2044.437333-61.76%2058.56-60.266667%2012.096-73.472%2012.096-73.472%201.301333-48.746667-15.168-77.056-15.168-77.056%2019.093333-18.432%2017.642667-28.949333%2017.642667-28.949334-20.458667%200.128-51.882667-17.130667-51.882667-17.130666-51.904-15.808-83.669333-1.301333-83.669333-1.301334-79.744%2028.309333-70.528%20126.464-70.528%20126.464-45.482667%2012.224%2010.197333%2071.509333%2010.197333%2071.509334%203.989333%2038.378667%2037.12%2057.066667%2045.76%2061.312%200.256%202.026667%200.576%208.32-3.2%2015.808a183.146667%20183.146667%200%200%200-31.189333%207.594666z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-jinriretui { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-jinriretui%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%232DBAFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M514.944%20763.370667l83.989333-302.442667a7.509333%207.509333%200%200%200-1.066666-6.4%207.125333%207.125333%200%200%200-5.589334-3.050667h-172.074666a7.125333%207.125333%200%200%200-5.589334%203.029334%207.509333%207.509333%200%200%200-1.066666%206.4l88.106666%20302.464c1.066667%202.794667%203.712%204.629333%206.634667%204.629333a7.168%207.168%200%200%200%206.656-4.629333z%20m-49.664-20.48a7.424%207.424%200%200%200%203.584-8.384l-80.917333-277.781334a7.210667%207.210667%200%200%200-6.656-5.248h-125.973334a7.146667%207.146667%200%200%200-6.613333%204.181334%207.509333%207.509333%200%200%200%200.981333%207.893333l206.890667%20277.248a7.04%207.04%200%200%200%208.704%202.090667z%20m85.525333-2.090667a7.04%207.04%200%200%200%208.704-2.112l199.210667-275.136a7.509333%207.509333%200%200%200%200.533333-7.488%207.168%207.168%200%200%200-6.186666-4.053333h-122.88a7.210667%207.210667%200%200%200-6.677334%205.226666l-76.8%20275.157334a7.402667%207.402667%200%200%200%204.096%208.405333z%20m89.6-310.848h108.586667a7.168%207.168%200%200%200%206.186667-4.416%207.509333%207.509333%200%200%200-1.066667-7.68l-82.453333-95.573333a7.061333%207.061333%200%200%200-12.288%202.645333l-25.6%2095.573333a7.509333%207.509333%200%200%200%201.045333%206.4c1.301333%201.856%203.370667%202.986667%205.589333%203.050667z%20m-88.576-0.533333h50.688a7.210667%207.210667%200%200%200%206.656-5.248l18.944-71.424a7.445333%207.445333%200%200%200-3.178666-8.234667%207.04%207.04%200%200%200-8.597334%200.896l-69.632%2071.402667a7.466667%207.466667%200%200%200-1.621333%208.085333c1.130667%202.773333%203.797333%204.565333%206.741333%204.522667z%20m-144.426666%200h54.805333a7.168%207.168%200%200%200%206.72-4.522667%207.466667%207.466667%200%200%200-1.6-8.085333l-75.285333-73.514667a7.04%207.04%200%200%200-8.597334-0.874667%207.445333%207.445333%200%200%200-3.178666%208.234667l20.48%2072.981333c0.704%203.242667%203.413333%205.610667%206.656%205.781334z%20m-149.013334%200h112.64a7.125333%207.125333%200%200%200%205.610667-3.050667%207.509333%207.509333%200%200%200%201.066667-6.4l-28.672-97.152a7.061333%207.061333%200%201%200-12.288-2.624l-83.989334%2097.152a7.509333%207.509333%200%200%200-0.981333%207.893333%207.146667%207.146667%200%200%200%206.613333%204.181334z%20m253.482667-9.450667l106.026667-108.693333a7.466667%207.466667%200%200%200%201.578666-8.085334%207.168%207.168%200%200%200-6.72-4.522666h-218.666666a7.168%207.168%200%200%200-6.72%204.522666%207.466667%207.466667%200%200%200%201.6%208.085334l112.661333%20108.693333a7.082667%207.082667%200%200%200%2010.24%200z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shixisheng { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shixisheng%22%20viewBox%3D%220%200%201045%201024%22%3E%3Cpath%20d%3D%22M520%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%23FFCC33%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M802.069333%20394.581333c14.528-9.088%2037.44-16.554667-14.72-39.253333-59.733333-24.597333-164.714667-65.685333-217.6-87.466667-0.256-0.085333-4.629333-2.026667-4.864-2.133333-39.594667-16.64-57.002667-9.536-89.045333%203.413333-54.314667%2020.522667-144.469333%2058.133333-206.464%2081.664-47.573333%2017.792-44.693333%2031.082667-0.768%2052.053334%2065.792%2031.424%20192%2079.701333%20219.904%2090.176%2027.904%2010.453333%2048.042667%2010.538667%2076.16-2.112%2026.837333-12.053333%2071.36-27.328%20184.149333-73.898667%202.538667-1.045333%2020.266667-8.533333%2053.248-22.442667z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M571.136%20525.141333c-41.386667%2014.826667-52.757333%209.450667-86.4-0.768-46.464-14.144-114.453333-43.114667-154.005333-56.96a11.989333%2011.989333%200%200%200-10.922667%201.578667%2012.181333%2012.181333%200%200%200-5.077333%209.92v217.813333c0%204.245333%202.176%208.192%205.76%2010.389334C342.72%20720.853333%20426.816%20768%20532.544%20768c98.154667%200%20180.053333-47.125333%20201.813333-60.864a12.181333%2012.181333%200%200%200%205.674667-10.304V477.845333a12.181333%2012.181333%200%200%200-5.226667-10.048%2011.989333%2011.989333%200%200%200-11.178666-1.322666c-48.832%2019.050667-122.325333%2047.829333-152.490667%2058.666666z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shehuigong { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shehuigong%22%20viewBox%3D%220%200%201045%201024%22%3E%3Cpath%20d%3D%22M520%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M517.76%20391.104c108.8%200%20197.034667%2089.152%20197.034667%20199.125333%200%2071.125333-37.546667%20136.853333-98.517334%20172.437334a195.242667%20195.242667%200%200%201-197.034666%200C358.293333%20727.082667%20320.746667%20661.333333%20320.746667%20590.229333c0-109.973333%2088.213333-199.125333%20197.013333-199.125333z%20m0.042667%2085.333333a12.757333%2012.757333%200%200%200-11.712%207.68l-24.661334%2052.821334a13.205333%2013.205333%200%200%201-9.877333%207.552l-55.146667%208.448c-10.752%201.664-15.018667%2015.573333-7.253333%2023.552l39.872%2041.088c3.072%203.2%204.522667%207.765333%203.754667%2012.181333l-9.450667%2058.069333c-1.792%2011.306667%209.386667%2019.882667%2018.986667%2014.549334l49.322666-27.370667c3.776-2.133333%208.362667-2.133333%2012.138667%200l49.322667%2027.370667c9.6%205.333333%2020.821333-3.264%2018.986666-14.549334l-9.386666-58.069333a14.506667%2014.506667%200%200%201%203.754666-12.181333l39.957334-41.088c7.744-7.978667%203.413333-21.888-7.253334-23.552l-55.168-8.448a13.205333%2013.205333%200%200%201-9.877333-7.552l-24.661333-52.8a12.736%2012.736%200%200%200-11.648-7.68z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M411.925333%20394.794667l-46.570666-69.12c-1.877333-2.752-0.725333-5.376%202.602666-5.738667l73.109334-8.192a10.752%2010.752%200%200%201%209.322666%204.48l28.586667%2044.16c1.813333%202.816%200.618667%205.376-2.709333%205.76%200%200-38.954667%204.096-64.341334%2028.650667z%22%20fill%3D%22%23FEA15D%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M386.944%20416c-0.426667%200-0.853333%200-1.28-0.064a12.138667%2012.138667%200%200%201-8.704-5.248l-68.202667-101.269333a12.288%2012.288%200%200%201%208.704-18.986667l116.16-13.013333a12.032%2012.032%200%200%201%2011.434667%205.418666l48%2074.24a12.309333%2012.309333%200%200%201%200.810667%2011.946667%2012.032%2012.032%200%200%201-9.685334%206.890667c-0.533333%200.064-57.749333%206.549333-88.896%2036.672a11.946667%2011.946667%200%200%201-8.32%203.413333z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M628.096%20394.794667l46.570667-69.12c1.877333-2.752%200.725333-5.376-2.602667-5.738667l-73.109333-8.192a10.752%2010.752%200%200%200-9.301334%204.48l-28.608%2044.16c-1.813333%202.816-0.597333%205.376%202.709334%205.76%200%200%2038.954667%204.096%2064.341333%2028.650667z%22%20fill%3D%22%23FEA15D%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M653.077333%20416a12.16%2012.16%200%200%201-8.341333-3.349333c-31.274667-30.250667-88.341333-36.608-88.896-36.693334a12.117333%2012.117333%200%200%201-9.664-6.890666%2012.309333%2012.309333%200%200%201%200.768-11.904l48.021333-74.24a11.904%2011.904%200%200%201%2011.434667-5.461334l116.16%2013.013334a12.16%2012.16%200%200%201%209.685333%207.04%2012.437333%2012.437333%200%200%201-0.981333%2011.968l-68.202667%20101.141333a11.946667%2011.946667%200%200%201-8.704%205.248c-0.490667%200.064-0.917333%200.128-1.28%200.128z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-gantan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-gantan%22%20viewBox%3D%220%200%201170%201024%22%3E%3Cpath%20d%3D%22M585.194057%200c57.782857%200%20110.592%2029.988571%20140.726857%2079.506286l419.766857%20688.786285c31.232%2051.346286%2032.914286%20115.712%204.388572%20168.594286A165.010286%20165.010286%200%200%201%201004.887771%201024H165.354057c-60.635429%200-116.224-33.645714-145.042286-87.04a169.618286%20169.618286%200%200%201%204.388572-168.667429l419.693714-688.786285A164.278857%20164.278857%200%200%201%20585.194057%200z%20m7.314286%20699.245714c-48.493714%200-87.771429%2040.96-87.771429%2091.428572s39.277714%2091.428571%2087.771429%2091.428571c48.493714%200%2087.771429-40.96%2087.771428-91.428571s-39.277714-91.428571-87.771428-91.428572z%20m0-465.188571c-36.352%200-65.828571%2030.72-65.828572%2068.534857v259.584c0%2037.814857%2029.476571%2068.534857%2065.828572%2068.534857s65.828571-30.72%2065.828571-68.534857V302.592c0-37.814857-29.476571-68.534857-65.828571-68.534857z%22%20fill%3D%22%23E6F8F8%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-duoxuan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-duoxuan%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M192%2021.333333h640c93.866667%200%20170.666667%2076.8%20170.666667%20170.666667v640c0%2093.866667-76.8%20170.666667-170.666667%20170.666667h-640c-93.866667%200-170.666667-76.8-170.666667-170.666667v-640c0-93.866667%2076.8-170.666667%20170.666667-170.666667z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M832%201024h-640C85.333333%201024%200%20938.666667%200%20832v-640C0%2085.333333%2085.333333%200%20192%200h640C938.666667%200%201024%2085.333333%201024%20192v640c0%20106.666667-85.333333%20192-192%20192zM192%2042.666667C110.933333%2042.666667%2042.666667%20110.933333%2042.666667%20192v640C42.666667%20913.066667%20110.933333%20981.333333%20192%20981.333333h640c81.066667%200%20149.333333-68.266667%20149.333333-149.333333v-640C981.333333%20110.933333%20913.066667%2042.666667%20832%2042.666667h-640z%22%20fill%3D%22%23CCCCCC%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-ziying1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-ziying1%22%20viewBox%3D%220%200%201638%201024%22%3E%3Cpath%20d%3D%22M128%2025.6h1382.4c56.32%200%20102.4%2046.08%20102.4%20102.4v768c0%2056.32-46.08%20102.4-102.4%20102.4h-1382.4c-56.32%200-102.4-46.08-102.4-102.4v-768c0-56.32%2046.08-102.4%20102.4-102.4z%22%20fill%3D%22%23FFF3F3%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1510.4%201024h-1382.4C56.32%201024%200%20967.68%200%20896v-768C0%2056.32%2056.32%200%20128%200h1382.4C1582.08%200%201638.4%2056.32%201638.4%20128v768c0%2071.68-56.32%20128-128%20128zM128%2051.2C87.04%2051.2%2051.2%2087.04%2051.2%20128v768c0%2040.96%2035.84%2076.8%2076.8%2076.8h1382.4c40.96%200%2076.8-35.84%2076.8-76.8v-768c0-40.96-35.84-76.8-76.8-76.8h-1382.4z%22%20fill%3D%22%23FEA39F%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M716.8%20798.72h-46.08v-35.84H348.16v35.84h-46.08V312.32h133.12c15.36-25.6%2025.6-51.2%2030.72-76.8l46.08%205.12c-10.24%2025.6-20.48%2046.08-30.72%2071.68H716.8v486.4z%20m-46.08-353.28V353.28H348.16v92.16h322.56z%20m0%20133.12V486.4H348.16v92.16h322.56z%20m0%20138.24v-102.4H348.16v102.4h322.56zM998.4%20281.6v-40.96h46.08v40.96h163.84v-40.96h46.08v40.96h138.24v40.96h-138.24V358.4h-46.08v-40.96h-163.84v35.84h-46.08v-35.84h-138.24v-35.84h138.24z%20m373.76%20215.04H1331.2V419.84h-409.6v81.92h-40.96V378.88h491.52v117.76z%20m-35.84%20302.08h-40.96v-25.6h-332.8v25.6H921.6v-174.08h419.84v174.08z%20m-40.96-61.44V665.6h-332.8v71.68h332.8zM1280%20460.8v122.88h-307.2V460.8h307.2z%20m-40.96%2035.84h-225.28v56.32h225.28V496.64z%22%20fill%3D%22%23F6343E%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zanwu { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zanwu%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M258.403756%20334.122066L1.201878%20639.399061h1010.779343L754.779343%20334.122066z%22%20fill%3D%22%23B1B8C1%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M210.328638%200h606.948357c28.84507%200%2042.065728%2014.422535%2042.065728%2043.267606v734.347417c0%2028.84507-14.422535%2043.267606-42.065728%2043.267606H210.328638c-28.84507%200-42.065728-14.422535-42.065727-43.267606V43.267606C167.061033%2014.422535%20181.483568%200%20210.328638%200z%22%20fill%3D%22%23F5F5F7%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M721.126761%20679.061033c0%2033.652582-27.643192%2061.295775-62.497653%2061.295775H354.553991c-34.85446%200-62.497653-27.643192-62.497653-61.295775%200-21.633803-18.028169-39.661972-39.661972-39.661972H1.201878v306.478873c0%2038.460094%2031.248826%2069.70892%2070.910798%2069.70892h868.957747c19.230047%200%2037.258216-7.211268%2050.478873-20.431924s20.431925-31.248826%2020.431925-49.276996V639.399061H760.788732c-22.835681%201.201878-39.661972%2018.028169-39.661971%2039.661972zM287.248826%2069.70892h450.704226c15.624413%200%2024.037559%208.413146%2024.037558%2024.037559v230.760563c0%2015.624413-8.413146%2024.037559-24.037558%2024.037559H287.248826c-15.624413%200-24.037559-8.413146-24.037558-24.037559V92.544601c1.201878-15.624413%208.413146-22.835681%2024.037558-22.835681zM284.84507%20459.117371h456.713615c13.220657%200%2020.431925%207.211268%2020.431925%2020.431925%200%2014.422535-7.211268%2020.431925-20.431925%2020.431925h-456.713615c-13.220657%200-20.431925-7.211268-20.431924-20.431925s7.211268-20.431925%2020.431924-20.431925zM284.84507%20556.469484h456.713615c13.220657%200%2020.431925%207.211268%2020.431925%2020.431924%200%2014.422535-7.211268%2020.431925-20.431925%2020.431925h-456.713615c-13.220657%200-20.431925-7.211268-20.431924-20.431925s7.211268-20.431925%2020.431924-20.431924z%22%20fill%3D%22%23DEE0E4%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-ziying3 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-ziying3%22%20viewBox%3D%220%200%201920%201024%22%3E%3Cpath%20d%3D%22M160%2032h1600c70.4%200%20128%2057.6%20128%20128v704c0%2070.4-57.6%20128-128%20128h-1600c-70.4%200-128-57.6-128-128v-704c0-70.4%2057.6-128%20128-128z%22%20fill%3D%22%23F3FFFE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1760%201024h-1600C70.4%201024%200%20953.6%200%20864v-704C0%2070.4%2070.4%200%20160%200h1600C1849.6%200%201920%2070.4%201920%20160v704c0%2089.6-70.4%20160-160%20160zM160%2064C108.8%2064%2064%20108.8%2064%20160v704c0%2051.2%2044.8%2096%2096%2096h1600c51.2%200%2096-44.8%2096-96v-704c0-51.2-44.8-96-96-96h-1600z%22%20fill%3D%22%238EDDD6%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M832%20864h-57.6v-44.8H371.2v44.8H320V249.6h166.4c12.8-25.6%2025.6-57.6%2032-89.6l57.6%206.4c-6.4%2032-19.2%2057.6-38.4%2083.2H832v614.4z%20m-51.2-441.6V307.2H371.2v115.2h409.6z%20m0%20166.4V467.2H371.2v115.2h409.6z%20m0%20172.8v-128H371.2v128h409.6zM1184%20211.2v-51.2h57.6v51.2h204.8v-51.2h57.6v51.2h172.8v51.2h-172.8v44.8h-57.6v-44.8h-204.8v44.8h-57.6v-44.8h-172.8v-51.2h172.8z%20m467.2%20268.8H1600V384h-512v102.4h-51.2V339.2h614.4v140.8z%20m-44.8%20384h-51.2V832h-416v32H1088v-217.6h524.8v217.6z%20m-51.2-76.8v-89.6h-416v89.6h416zM1536%20441.6v153.6h-384V441.6h384z%20m-51.2%2044.8h-281.6v70.4h281.6V486.4z%22%20fill%3D%22%2305B2A3%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-sanfang2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-sanfang2%22%20viewBox%3D%220%200%201920%201024%22%3E%3Cpath%20d%3D%22M160%2032h1600c70.4%200%20128%2057.6%20128%20128v704c0%2070.4-57.6%20128-128%20128h-1600c-70.4%200-128-57.6-128-128v-704c0-70.4%2057.6-128%20128-128z%22%20fill%3D%22%23F2F9FF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1760%201024h-1600C70.4%201024%200%20953.6%200%20864v-704C0%2070.4%2070.4%200%20160%200h1600C1849.6%200%201920%2070.4%201920%20160v704c0%2089.6-70.4%20160-160%20160zM160%2064C108.8%2064%2064%20108.8%2064%20160v704c0%2051.2%2044.8%2096%2096%2096h1600c51.2%200%2096-44.8%2096-96v-704c0-51.2-44.8-96-96-96h-1600z%22%20fill%3D%22%2390CAFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M928%20761.6v57.6H236.8v-57.6h691.2z%20m-51.2-550.4v51.2H294.4v-51.2h582.4z%20m-51.2%20262.4v51.2H345.6v-51.2h480zM1350.4%20262.4c-12.8-32-32-64-57.6-96l51.2-19.2c19.2%2032%2038.4%2070.4%2057.6%20115.2h288V320h-403.2L1280%20454.4h320c0%20153.6-6.4%20249.6-19.2%20294.4-12.8%2064-51.2%2096-115.2%20102.4h-89.6l-19.2-51.2h102.4c38.4%200%2064-32%2070.4-83.2%206.4-32%206.4-102.4%206.4-204.8h-268.8c-12.8%2064-32%20115.2-57.6%20166.4-38.4%2064-89.6%20128-160%20179.2l-25.6-38.4c83.2-70.4%20134.4-134.4%20160-192%2025.6-57.6%2038.4-128%2044.8-198.4%200-51.2%206.4-83.2%206.4-108.8H1024v-57.6h326.4z%22%20fill%3D%22%231890FF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dianhua8 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dianhua8%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%23F6F6F6%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M574.171429%20574.171429c-7.314286%207.314286-14.628571%2018.285714-21.942858%2029.257142-25.6-14.628571-51.2-36.571429-73.142857-54.857142s-40.228571-47.542857-54.857143-73.142858c10.971429-3.657143%2021.942857-10.971429%2029.257143-21.942857%2043.885714-43.885714%2043.885714-117.028571%200-160.914285S336.457143%20248.685714%20292.571429%20292.571429c-21.942857%2018.285714-36.571429%2043.885714-36.571429%2076.8%200%2095.085714%2040.228571%20182.857143%20128%20270.628571%2087.771429%2087.771429%20175.542857%20128%20266.971429%20128h3.657142c29.257143%200%2058.514286-10.971429%2076.8-32.914286%2043.885714-43.885714%2043.885714-117.028571%200-160.914285-40.228571-43.885714-113.371429-43.885714-157.257142%200z%20m146.285714%20146.285714c-18.285714%2018.285714-40.228571%2025.6-62.171429%2025.6h-3.657143c-87.771429%200-168.228571-40.228571-248.685714-124.342857-84.114286-84.114286-124.342857-168.228571-124.342857-256%200-25.6%2010.971429-47.542857%2025.6-62.171429%2014.628571-18.285714%2036.571429-29.257143%2062.171429-29.257143s47.542857%2010.971429%2065.828571%2025.6c36.571429%2036.571429%2036.571429%2095.085714%200%20131.657143-10.971429%2010.971429-21.942857%2014.628571-32.914286%2021.942857v7.314286c18.285714%2032.914286%2040.228571%2062.171429%2065.828572%2087.771429s58.514286%2047.542857%2087.771428%2065.828571h7.314286l3.657143-3.657143c3.657143-10.971429%2010.971429-25.6%2021.942857-32.914286%2036.571429-36.571429%2095.085714-36.571429%20131.657143%200%2036.571429%2047.542857%2036.571429%20106.057143%200%20142.628572z%22%20fill%3D%22%23CCCCCC%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M650.971429%20778.971429c-95.085714%200-186.514286-43.885714-274.285715-131.657143-91.428571-91.428571-135.314286-182.857143-131.657143-277.942857%200-32.914286%2014.628571-62.171429%2036.571429-84.114286%2021.942857-21.942857%2054.857143-36.571429%2087.771429-36.571429s65.828571%2014.628571%2087.771428%2036.571429c47.542857%2047.542857%2047.542857%20128%200%20179.2-7.314286%207.314286-14.628571%2014.628571-21.942857%2018.285714%2014.628571%2021.942857%2029.257143%2043.885714%2047.542857%2062.171429s36.571429%2032.914286%2062.171429%2047.542857c3.657143-7.314286%2010.971429-14.628571%2018.285714-21.942857%2047.542857-47.542857%20128-47.542857%20175.542857%200%2021.942857%2021.942857%2036.571429%2054.857143%2036.571429%2087.771428%200%2032.914286-14.628571%2065.828571-36.571429%2087.771429-21.942857%2021.942857-51.2%2036.571429-84.114286%2036.571428h-3.657142z%20m-281.6-512c-29.257143%200-54.857143%2010.971429-73.142858%2029.257142s-29.257143%2043.885714-29.257142%2069.485715c0%2087.771429%2040.228571%20175.542857%20124.342857%20263.314285%2054.857143%2054.857143%20109.714286%2091.428571%20168.228571%20109.714286-54.857143-18.285714-109.714286-54.857143-164.571428-109.714286-87.771429-87.771429-128-171.885714-124.342858-263.314285%200-25.6%2010.971429-51.2%2029.257143-69.485715%2014.628571-18.285714%2043.885714-29.257143%2069.485715-29.257142s54.857143%2010.971429%2073.142857%2029.257142%2025.6%2036.571429%2029.257143%2058.514286c-3.657143-21.942857-14.628571-43.885714-29.257143-58.514286-18.285714-18.285714-43.885714-29.257143-73.142857-29.257142z%20m0%2021.942857c-21.942857%200-40.228571%2010.971429-51.2%2025.6-18.285714%2014.628571-25.6%2032.914286-25.6%2054.857143%200%2084.114286%2036.571429%20164.571429%20120.685714%20248.685714%2080.457143%2080.457143%20160.914286%20120.685714%20241.371428%20120.685714h3.657143c18.285714%200%2040.228571-7.314286%2054.857143-25.6%2032.914286-32.914286%2029.257143-84.114286%200-117.028571-32.914286-32.914286-84.114286-32.914286-117.028571%200-7.314286%207.314286-14.628571%2014.628571-18.285715%2029.257143l-3.657142%203.657142-7.314286%207.314286H544.914286c-36.571429-18.285714-65.828571-43.885714-91.428572-65.828571-25.6-25.6-47.542857-54.857143-65.828571-91.428572v-21.942857h7.314286l7.314285-7.314286c10.971429-3.657143%2021.942857-10.971429%2029.257143-18.285714%2014.628571-14.628571%2025.6-36.571429%2025.6-58.514286s-14.628571-43.885714-29.257143-58.514285c-14.628571-18.285714-36.571429-25.6-58.514285-25.6z%20m332.8%20274.285714c7.314286%203.657143%2018.285714%2010.971429%2025.6%2018.285714%2018.285714%2018.285714%2029.257143%2043.885714%2029.257142%2069.485715%200-25.6-10.971429-51.2-29.257142-73.142858-7.314286-7.314286-18.285714-10.971429-25.6-14.628571z%20m-292.571429-98.742857l7.314286-3.657143c7.314286-3.657143%2014.628571-10.971429%2025.6-18.285714%2014.628571-14.628571%2025.6-36.571429%2029.257143-58.514286-3.657143%2021.942857-14.628571%2043.885714-29.257143%2058.514286-7.314286%2010.971429-18.285714%2018.285714-32.914286%2021.942857z%22%20fill%3D%22%23CCCCCC%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhanghuyue { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhanghuyue%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%200C229.29408%200%200%20229.29408%200%20512s229.29408%20512%20512%20512%20512-229.29408%20512-512S794.70592%200%20512%200z%20m-20.76672%20298.2912c18.5344-8.9088%2037.82656-17.8176%2056.38144-26.70592%2018.55488-8.9088%2032.64512-15.58528%2043.04896-20.7872%2015.5648-7.41376%2029.67552-11.12064%2042.2912-10.38336%2012.61568%200.73728%2022.99904%202.23232%2031.17056%205.9392%209.6256%204.44416%2018.5344%2010.38336%2025.96864%2017.8176l39.3216%2066.7648h-307.2c23.7568-11.12064%2046.75584-22.26176%2069.0176-32.64512z%20m310.14912%20195.1744h-144.6912c-16.32256%200-29.696%205.18144-40.81664%2016.30208-11.12064%2010.40384-17.05984%2025.23136-17.05984%2040.81664%200.73728%2011.14112%202.9696%2020.7872%206.67648%2029.696%203.70688%207.41376%208.9088%2014.09024%2017.08032%2020.02944%208.15104%205.9392%2019.29216%208.88832%2034.11968%208.88832h144.6912V724.992c0%207.41376-1.47456%2015.5648-4.44416%2022.26176-2.9696%206.67648-6.67648%2013.35296-11.8784%2018.5344a55.00928%2055.00928%200%200%201-40.05888%2017.08032H282.70592c-8.15104%200-15.5648-1.49504-22.99904-4.46464-7.41376-2.9696-13.35296-7.41376-19.29216-12.61568a69.9392%2069.9392%200%200%201-13.35296-18.5344%2060.47744%2060.47744%200%200%201-4.44416-23.01952v-316.8256c0-16.34304%205.9392-29.696%2017.05984-40.81664a56.66816%2056.66816%200%200%201%2040.81664-17.08032h462.27456c16.32256%200%2029.696%205.9392%2040.81664%2017.08032%2011.12064%2011.12064%2017.05984%2025.21088%2017.05984%2040.79616v86.07744h0.73728z%20m-126.13632%2063.05792c0%207.41376-2.9696%2014.09024-8.17152%2019.29216a26.95168%2026.95168%200%200%201-38.58432%200%2026.95168%2026.95168%200%200%201-8.15104-19.29216c0-7.41376%202.9696-14.09024%208.15104-19.29216%205.20192-5.20192%2011.8784-8.17152%2019.29216-7.41376%207.43424%200%2014.11072%202.94912%2019.29216%207.41376%205.20192%205.20192%208.17152%2012.61568%208.17152%2019.29216z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhengjian { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhengjian%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M861.866667%2042.666667H162.133333C93.866667%2042.666667%2042.666667%20102.4%2042.666667%20179.2v661.333333C42.666667%20921.6%2093.866667%20981.333333%20162.133333%20981.333333h704c64%200%20119.466667-59.733333%20119.466667-136.533333V179.2C981.333333%20102.4%20930.133333%2042.666667%20861.866667%2042.666667z%20m72.533333%20802.133333c0%2046.933333-29.866667%2081.066667-68.266667%2081.066667H162.133333c-38.4%200-68.266667-38.4-68.266666-81.066667V179.2c0-46.933333%2029.866667-81.066667%2068.266666-81.066667h704c38.4%200%2068.266667%2038.4%2068.266667%2081.066667v665.6zM192%20733.866667h217.6v-55.466667H187.733333l4.266667%2055.466667z%20m-4.266667-196.266667h221.866667v-55.466667H187.733333v55.466667z%20m0-192h221.866667V290.133333H187.733333v55.466667z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M861.866667%20989.866667H162.133333c-72.533333%200-128-68.266667-128-149.333334V179.2C34.133333%2098.133333%2089.6%2029.866667%20162.133333%2029.866667h704c72.533333%200%20128%2068.266667%20128%20149.333333v661.333333c-4.266667%2085.333333-59.733333%20149.333333-132.266666%20149.333334zM162.133333%2051.2c-59.733333%200-106.666667%2055.466667-106.666666%20128v661.333333c0%2068.266667%2046.933333%20128%20106.666666%20128h704c59.733333%200%20106.666667-55.466667%20106.666667-128V179.2c0-68.266667-46.933333-128-106.666667-128H162.133333zM861.866667%20938.666667H162.133333c-42.666667%200-81.066667-42.666667-81.066666-93.866667V179.2C81.066667%20128%20115.2%2085.333333%20162.133333%2085.333333h704c42.666667%200%2081.066667%2042.666667%2081.066667%2093.866667v661.333333c0%2055.466667-38.4%2098.133333-85.333333%2098.133334zM162.133333%20106.666667c-34.133333%200-59.733333%2034.133333-59.733333%2072.533333v661.333333c0%2038.4%2025.6%2072.533333%2059.733333%2072.533334h704c34.133333%200%2059.733333-34.133333%2059.733334-72.533334V179.2c0-38.4-25.6-72.533333-59.733334-72.533333H162.133333z%20m260.266667%20635.733333H183.466667l-4.266667-76.8h243.2v76.8z%20m-217.6-21.333333h196.266667v-34.133334H200.533333l4.266667%2034.133334z%20m217.6-170.666667H179.2v-76.8h243.2v76.8z%20m-221.866667-21.333333h200.533334v-34.133334H200.533333v34.133334z%20m221.866667-170.666667H179.2V281.6h243.2v76.8z%20m-221.866667-21.333333h200.533334v-34.133334H200.533333v34.133334z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M759.466667%20601.6c29.866667-25.6%2046.933333-59.733333%2046.933333-102.4%200-72.533333-59.733333-136.533333-132.266667-136.533333s-132.266667%2059.733333-132.266666%20136.533333c0%2042.666667%2017.066667%2076.8%2046.933333%20102.4-59.733333%2029.866667-102.4%2093.866667-102.4%20166.4%200%2012.8%2012.8%2025.6%2025.6%2025.6s25.6-12.8%2025.6-25.6c0-72.533333%2059.733333-136.533333%20132.266667-136.533333S810.666667%20691.2%20810.666667%20768c0%2012.8%2012.8%2025.6%2025.6%2025.6s25.6-12.8%2025.6-25.6c0-72.533333-42.666667-136.533333-102.4-166.4z%20m-81.066667-21.333333c-42.666667%200-81.066667-34.133333-81.066667-81.066667s34.133333-81.066667%2081.066667-81.066667%2081.066667%2034.133333%2081.066667%2081.066667-38.4%2081.066667-81.066667%2081.066667z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M836.266667%20802.133333c-21.333333%200-34.133333-17.066667-34.133334-34.133333%200-68.266667-55.466667-128-123.733333-128-68.266667%200-123.733333%2055.466667-123.733333%20128%200%2021.333333-17.066667%2034.133333-34.133334%2034.133333-21.333333%200-34.133333-17.066667-34.133333-34.133333%200-68.266667%2034.133333-132.266667%2093.866667-166.4-25.6-25.6-42.666667-64-42.666667-102.4%200-81.066667%2064-145.066667%20140.8-145.066667s140.8%2064%20140.8%20145.066667c0%2038.4-17.066667%2072.533333-42.666667%20102.4%2059.733333%2034.133333%2093.866667%2098.133333%2093.866667%20166.4%200%2017.066667-17.066667%2034.133333-34.133333%2034.133333z%20m-162.133334-179.2c76.8%200%20140.8%2064%20140.8%20145.066667%200%208.533333%208.533333%2017.066667%2017.066667%2017.066667s21.333333-8.533333%2021.333333-17.066667c0-68.266667-38.4-128-98.133333-157.866667l-12.8-4.266666%208.533333-8.533334c29.866667-25.6%2042.666667-59.733333%2042.666667-98.133333%200-68.266667-55.466667-128-123.733333-128-68.266667%200-123.733333%2055.466667-123.733334%20128%200%2038.4%2017.066667%2072.533333%2042.666667%2098.133333l8.533333%208.533334c-59.733333%2029.866667-98.133333%2093.866667-98.133333%20157.866666%200%208.533333%208.533333%2017.066667%2017.066667%2017.066667s17.066667-8.533333%2017.066666-17.066667c0-76.8%2064-140.8%20140.8-140.8z%20m0-34.133333c-46.933333%200-89.6-38.4-89.6-89.6%200-51.2%2038.4-89.6%2089.6-89.6s89.6%2038.4%2089.6%2089.6c0%2046.933333-38.4%2089.6-89.6%2089.6z%20m0-162.133333c-38.4%200-72.533333%2034.133333-72.533333%2072.533333%200%2038.4%2029.866667%2072.533333%2072.533333%2072.533333s72.533333-34.133333%2072.533334-72.533333c0-42.666667-29.866667-72.533333-72.533334-72.533333z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dizhiben { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dizhiben%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M861.090909%200C925.323636%200%20977.454545%2051.572364%20977.454545%20115.2v793.6C977.454545%20972.427636%20925.323636%201024%20861.090909%201024h-698.181818C98.676364%201024%2046.545455%20972.427636%2046.545455%20908.8V115.2C46.545455%2051.572364%2098.676364%200%20162.909091%200h698.181818z%20m-651.636364%2069.818182h-46.545454c-25.693091%200-46.545455%2017.454545-46.545455%2039.005091v806.353454c0%2021.550545%2020.852364%2039.005091%2046.545455%2039.005091h46.545454v-884.363636z%20m69.818182%200v881.710545h584.750546c21.271273%200%2038.632727-17.128727%2038.958545-38.353454V108.823273a39.005091%2039.005091%200%200%200-38.958545-39.005091H279.272727z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M584.145455%20268.8c113.105455%200%20204.8%2094.254545%20204.8%20210.571636a213.038545%20213.038545%200%200%201-55.947637%20144.616728l-4.049454%204.282181-108.078546%20111.150546a51.2%2051.2%200%200%201-69.12%203.956364l-3.816727-3.444364-108.590546-111.709091-4.049454-4.235636a213.038545%20213.038545%200%200%201-55.947636-144.616728c0-116.317091%2091.694545-210.571636%20204.8-210.571636z%20m0%2076.8c-70.190545%200-128%2059.438545-128%20133.771636%200%2032.814545%2011.264%2063.488%2030.673454%2086.946909l4.235636%204.887273%203.351273%203.490909%2089.739637%2092.299637%2088.994909-91.508364%203.351272-3.490909a136.238545%20136.238545%200%200%200%2035.653819-92.625455c0-74.333091-57.809455-133.771636-128-133.771636z%22%20fill%3D%22%231F7FEF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shezhi { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shezhi%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M972.8%20422.4c-4.266667-17.066667-12.8-29.866667-25.6-34.133333L896%20362.666667c-46.933333-21.333333-72.533333-72.533333-68.266667-123.733334l4.266667-59.733333c0-17.066667-4.266667-29.866667-12.8-38.4-42.666667-38.4-89.6-68.266667-145.066667-89.6-12.8-4.266667-29.866667-4.266667-38.4%208.533333l-51.2%2038.4c-21.333333%2017.066667-42.666667%2021.333333-68.266666%2021.333334-25.6%200-46.933333-8.533333-68.266667-21.333334L392.533333%2051.2c-12.8-8.533333-25.6-12.8-42.666666-4.266667-51.2%2017.066667-102.4%2051.2-145.066667%2089.6-8.533333%208.533333-12.8%2025.6-12.8%2038.4l4.266667%2064C204.8%20290.133333%20174.933333%20341.333333%20128%20362.666667l-51.2%2025.6c-12.8%208.533333-25.6%2021.333333-25.6%2034.133333-4.266667%2029.866667-8.533333%2059.733333-8.533333%2089.6s4.266667%2059.733333%208.533333%2089.6c4.266667%2017.066667%2012.8%2029.866667%2025.6%2034.133333l51.2%2025.6c46.933333%2021.333333%2072.533333%2072.533333%2068.266667%20123.733334l-4.266667%2064c0%2017.066667%204.266667%2029.866667%2012.8%2038.4%2042.666667%2038.4%2089.6%2068.266667%20145.066667%2089.6%2012.8%204.266667%2029.866667%204.266667%2038.4-8.533334l51.2-38.4c21.333333-17.066667%2042.666667-21.333333%2068.266666-21.333333%2025.6%200%2046.933333%208.533333%2068.266667%2021.333333l51.2%2038.4c12.8%208.533333%2025.6%2012.8%2038.4%208.533334%2055.466667-21.333333%20102.4-51.2%20145.066667-89.6%2012.8-8.533333%2017.066667-25.6%2012.8-38.4l-4.266667-59.733334c-4.266667-55.466667%2021.333333-102.4%2068.266667-123.733333L938.666667%20640c12.8-4.266667%2025.6-21.333333%2025.6-34.133333%204.266667-29.866667%208.533333-59.733333%208.533333-89.6%208.533333-34.133333%204.266667-64%200-93.866667z%20m-42.666667%20170.666667l-51.2%2025.6c-64%2029.866667-102.4%20102.4-93.866666%20174.933333l4.266666%2059.733333c-38.4%2034.133333-81.066667%2064-128%2081.066667l-51.2-38.4c-25.6-17.066667-51.2-29.866667-81.066666-34.133333-38.4-4.266667-81.066667%204.266667-110.933334%2029.866666l-51.2%2038.4c-46.933333-17.066667-89.6-46.933333-128-81.066666l4.266667-59.733334c8.533333-72.533333-29.866667-145.066667-93.866667-174.933333l-51.2-25.6c-4.266667-25.6-8.533333-55.466667-8.533333-81.066667%200-25.6%204.266667-51.2%208.533333-81.066666l51.2-25.6C213.333333%20379.733333%20251.733333%20307.2%20243.2%20234.666667L234.666667%20170.666667c38.4-34.133333%2081.066667-64%20128-81.066667l51.2%2038.4c25.6%2017.066667%2051.2%2029.866667%2081.066666%2034.133333%2038.4%204.266667%2081.066667-4.266667%20110.933334-29.866666l51.2-38.4c46.933333%2017.066667%2089.6%2046.933333%20128%2081.066666l-4.266667%2059.733334c-8.533333%2072.533333%2029.866667%20145.066667%2093.866667%20174.933333l51.2%2025.6c4.266667%2025.6%208.533333%2055.466667%208.533333%2081.066667%200%2021.333333%200%2046.933333-4.266667%2076.8z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M366.933333%20994.133333c-4.266667%200-12.8%200-17.066666-4.266666-55.466667-21.333333-106.666667-51.2-153.6-93.866667-12.8-12.8-21.333333-29.866667-17.066667-51.2l4.266667-64c4.266667-46.933333-21.333333-93.866667-59.733334-110.933333l-51.2-25.6c-17.066667-4.266667-29.866667-21.333333-34.133333-42.666667-4.266667-29.866667-8.533333-59.733333-8.533333-89.6%200-29.866667%204.266667-59.733333%208.533333-89.6%204.266667-21.333333%2017.066667-38.4%2034.133333-46.933333l51.2-25.6c42.666667-21.333333%2064-64%2059.733334-110.933334l-4.266667-59.733333c0-21.333333%204.266667-38.4%2017.066667-51.2%2042.666667-42.666667%2093.866667-72.533333%20149.333333-93.866667%2021.333333-8.533333%2038.4-4.266667%2055.466667%208.533334l51.2%2038.4c34.133333%2025.6%2085.333333%2025.6%20119.466666%200l51.2-38.4c17.066667-12.8%2034.133333-17.066667%2051.2-8.533334%2055.466667%2021.333333%20106.666667%2051.2%20153.6%2093.866667%2012.8%2012.8%2021.333333%2029.866667%2017.066667%2051.2l-8.533333%2059.733333c-4.266667%2046.933333%2021.333333%2093.866667%2059.733333%20110.933334l51.2%2025.6c21.333333%208.533333%2034.133333%2025.6%2038.4%2046.933333%204.266667%2029.866667%208.533333%2059.733333%208.533333%2089.6%200%2029.866667-4.266667%2059.733333-8.533333%2089.6-4.266667%2021.333333-17.066667%2038.4-34.133333%2046.933333l-51.2%2025.6c-42.666667%2021.333333-68.266667%2064-59.733334%20110.933334l8.533334%2059.733333c0%2021.333333-4.266667%2038.4-17.066667%2051.2-42.666667%2042.666667-93.866667%2072.533333-149.333333%2093.866667-17.066667%208.533333-38.4%204.266667-51.2-8.533334l-51.2-38.4c-34.133333-25.6-85.333333-25.6-119.466667%200l-59.733333%2038.4c-12.8%208.533333-21.333333%2012.8-34.133334%2012.8z%20m0-938.666666h-8.533333C307.2%2076.8%20256%20106.666667%20213.333333%20145.066667c-4.266667%208.533333-8.533333%2017.066667-8.533333%2029.866666l4.266667%2064C213.333333%20298.666667%20183.466667%20354.133333%20132.266667%20375.466667l-51.2%2025.6c-8.533333%204.266667-17.066667%2012.8-17.066667%2025.6-4.266667%2029.866667-8.533333%2055.466667-8.533333%2085.333333s4.266667%2055.466667%208.533333%2085.333333c0%2012.8%208.533333%2021.333333%2017.066667%2025.6l51.2%2025.6c51.2%2025.6%2081.066667%2081.066667%2076.8%20136.533334l-4.266667%2064c0%2012.8%204.266667%2021.333333%208.533333%2029.866666%2042.666667%2038.4%2089.6%2068.266667%20140.8%2089.6%208.533333%204.266667%2021.333333%200%2029.866667-4.266666l51.2-38.4c42.666667-34.133333%20106.666667-34.133333%20153.6%200l51.2%2038.4c8.533333%208.533333%2017.066667%208.533333%2029.866667%204.266666%2051.2-21.333333%2098.133333-51.2%20140.8-89.6%208.533333-8.533333%2012.8-17.066667%208.533333-29.866666l-8.533333-59.733334c-4.266667-59.733333%2025.6-115.2%2076.8-140.8l51.2-25.6c8.533333-4.266667%2017.066667-12.8%2017.066666-25.6%204.266667-29.866667%208.533333-55.466667%208.533334-85.333333s-4.266667-55.466667-8.533334-85.333333c0-12.8-8.533333-21.333333-17.066666-25.6l-51.2-25.6c-51.2-25.6-81.066667-81.066667-76.8-136.533334l8.533333-59.733333c0-12.8-4.266667-21.333333-8.533333-29.866667-42.666667-38.4-89.6-68.266667-140.8-89.6-8.533333-4.266667-21.333333%200-29.866667%204.266667l-51.2%2038.4c-42.666667%2034.133333-106.666667%2034.133333-153.6%200L384%2064c-4.266667-4.266667-12.8-8.533333-17.066667-8.533333z%20m0%20891.733333l-8.533333-4.266667c-46.933333-17.066667-93.866667-46.933333-132.266667-85.333333l-4.266666-4.266667%208.533333-68.266666c8.533333-68.266667-29.866667-132.266667-89.6-162.133334L85.333333%20601.6v-8.533333c-4.266667-29.866667-8.533333-55.466667-8.533333-81.066667s4.266667-55.466667%208.533333-81.066667v-8.533333l59.733334-25.6c59.733333-25.6%2093.866667-93.866667%2089.6-162.133333l-12.8-68.266667%204.266666-4.266667c38.4-34.133333%2085.333333-64%20132.266667-81.066666l8.533333-4.266667%2051.2%2042.666667c25.6%2017.066667%2046.933333%2029.866667%2072.533334%2029.866666%2038.4%204.266667%2072.533333-4.266667%20102.4-29.866666l55.466666-42.666667%208.533334%204.266667c46.933333%2017.066667%2093.866667%2046.933333%20132.266666%2085.333333l4.266667%204.266667-8.533333%2068.266666c-8.533333%2068.266667%2029.866667%20132.266667%2089.6%20162.133334l59.733333%2025.6v8.533333c4.266667%2029.866667%208.533333%2055.466667%208.533333%2081.066667%200%2025.6-4.266667%2055.466667-8.533333%2081.066666v8.533334l-59.733333%2025.6c-59.733333%2025.6-93.866667%2093.866667-89.6%20162.133333l8.533333%2068.266667-4.266667%204.266666c-38.4%2034.133333-85.333333%2064-132.266666%2085.333334l-8.533334%204.266666-51.2-42.666666c-25.6-17.066667-46.933333-29.866667-72.533333-34.133334-38.4-4.266667-72.533333%204.266667-102.4%2029.866667l-55.466667%2038.4z%20m145.066667-98.133333h21.333333c29.866667%204.266667%2059.733333%2017.066667%2085.333334%2038.4l42.666666%2029.866666c42.666667-17.066667%2081.066667-42.666667%20115.2-72.533333l-8.533333-51.2c-8.533333-81.066667%2034.133333-153.6%20102.4-187.733333l46.933333-21.333334c4.266667-25.6%204.266667-46.933333%204.266667-72.533333%200-21.333333%200-46.933333-4.266667-72.533333l-46.933333-21.333334C802.133333%20384%20759.466667%20311.466667%20768%20230.4l4.266667-55.466667c-34.133333-29.866667-72.533333-55.466667-115.2-72.533333l-46.933334%2034.133333c-34.133333%2025.6-76.8%2038.4-123.733333%2034.133334-25.6%200-55.466667-12.8-81.066667-34.133334l-42.666666-29.866666c-42.666667%2017.066667-81.066667%2042.666667-115.2%2072.533333L256%20230.4c8.533333%2081.066667-34.133333%20153.6-102.4%20187.733333l-46.933333%2021.333334c-4.266667%2025.6-4.266667%2051.2-4.266667%2072.533333s0%2046.933333%204.266667%2072.533333l46.933333%2021.333334c68.266667%2034.133333%20110.933333%20106.666667%20102.4%20187.733333l-4.266667%2055.466667c34.133333%2029.866667%2072.533333%2055.466667%20115.2%2072.533333l46.933334-34.133333c25.6-25.6%2059.733333-38.4%2098.133333-38.4z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M512%20712.533333c-106.666667%200-196.266667-89.6-196.266667-196.266666S405.333333%20320%20512%20320c106.666667%200%20196.266667%2089.6%20196.266667%20196.266667s-89.6%20196.266667-196.266667%20196.266666z%20m0-315.733333c-64%200-119.466667%2055.466667-119.466667%20119.466667%200%2064%2055.466667%20119.466667%20119.466667%20119.466666s119.466667-55.466667%20119.466667-119.466666c0-64-55.466667-119.466667-119.466667-119.466667z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-yinhangka { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-yinhangka%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M861.866667%2042.666667H162.133333C93.866667%2042.666667%2042.666667%20102.4%2042.666667%20179.2v661.333333C42.666667%20921.6%2093.866667%20981.333333%20162.133333%20981.333333h704c64%200%20119.466667-59.733333%20119.466667-136.533333V179.2C981.333333%20102.4%20930.133333%2042.666667%20861.866667%2042.666667z%20m72.533333%20802.133333c0%2046.933333-29.866667%2081.066667-68.266667%2081.066667H162.133333c-38.4%200-68.266667-38.4-68.266666-81.066667V179.2c0-46.933333%2029.866667-81.066667%2068.266666-81.066667h704c38.4%200%2068.266667%2038.4%2068.266667%2081.066667v665.6zM55.466667%20388.266667h900.266666V332.8H55.466667v55.466667z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M861.866667%20989.866667H162.133333c-72.533333%200-128-68.266667-128-149.333334V179.2C34.133333%2098.133333%2089.6%2029.866667%20162.133333%2029.866667h704c72.533333%200%20128%2068.266667%20128%20149.333333v661.333333c-4.266667%2085.333333-59.733333%20149.333333-132.266666%20149.333334zM51.2%20401.066667v443.733333c0%2068.266667%2046.933333%20128%20106.666667%20128h704c59.733333%200%20106.666667-55.466667%20106.666666-128V179.2c0-68.266667-46.933333-128-106.666666-128H162.133333c-59.733333%200-106.666667%2055.466667-106.666666%20128v140.8h25.6V179.2C81.066667%20128%20115.2%2085.333333%20162.133333%2085.333333h704c42.666667%200%2081.066667%2042.666667%2081.066667%2093.866667v140.8h17.066667v76.8h-17.066667v443.733333c0%2051.2-38.4%2093.866667-81.066667%2093.866667H162.133333c-42.666667%200-81.066667-42.666667-81.066666-93.866667V401.066667h-29.866667z%20m51.2%200v443.733333c0%2038.4%2025.6%2072.533333%2059.733333%2072.533333h704c34.133333%200%2059.733333-34.133333%2059.733334-72.533333V401.066667H102.4z%20m0-21.333334h823.466667v-34.133333H102.4v34.133333z%20m-38.4%200h12.8v-34.133333h-12.8v34.133333z%20m38.4-55.466666h823.466667V179.2c0-38.4-25.6-72.533333-59.733334-72.533333H162.133333c-34.133333%200-59.733333%2034.133333-59.733333%2072.533333v145.066667z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M567.466667%20682.666667h260.266666v-46.933334h-260.266666z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M823.466667%20695.466667h-256c-8.533333%200-12.8-4.266667-12.8-12.8v-46.933334c0-8.533333%204.266667-12.8%2012.8-12.8h256c8.533333%200%2012.8%204.266667%2012.8%2012.8V682.666667c0%204.266667-4.266667%2012.8-12.8%2012.8z%20m-243.2-25.6H810.666667v-21.333334h-234.666667v21.333334z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-nan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-nan%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M848.457143%20138.971429H716.8c-21.942857%200-36.571429-14.628571-36.571429-36.571429s14.628571-36.571429%2036.571429-36.571429h226.742857c21.942857%200%2036.571429%2014.628571%2036.571429%2036.571429v226.742857c0%2021.942857-14.628571%2036.571429-36.571429%2036.571429s-36.571429-14.628571-36.571428-36.571429V190.171429l-124.342858%20124.342857c58.514286%2073.142857%2095.085714%20168.228571%2095.085715%20270.628571%200%20226.742857-182.857143%20409.6-416.914286%20409.6S51.2%20811.885714%2051.2%20585.142857c0-226.742857%20182.857143-409.6%20416.914286-409.6%2095.085714%200%20190.171429%2029.257143%20263.314285%2095.085714l117.028572-131.657142zM468.114286%20921.6C658.285714%20921.6%20804.571429%20768%20804.571429%20585.142857c0-182.857143-153.6-336.457143-336.457143-336.457143-190.171429%200-343.771429%20146.285714-343.771429%20336.457143%200%20182.857143%20153.6%20336.457143%20343.771429%20336.457143z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-nv { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-nv%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M490.057143%20870.4v-43.885714c-212.114286-14.628571-380.342857-197.485714-380.342857-409.6C117.028571%20190.171429%20299.885714%200%20526.628571%200s416.914286%20182.857143%20416.914286%20416.914286c0%20212.114286-160.914286%20387.657143-365.714286%20409.6v43.885714h73.142858c21.942857%200%2043.885714%2014.628571%2043.885714%2036.571429s-14.628571%2043.885714-43.885714%2043.885714H570.514286v29.257143c0%2021.942857-21.942857%2043.885714-43.885715%2043.885714s-43.885714-21.942857-43.885714-43.885714V950.857143h-73.142857c-21.942857%200-43.885714-14.628571-43.885714-36.571429s14.628571-43.885714%2036.571428-43.885714H490.057143z%20m36.571428-124.342857c182.857143%200%20329.142857-146.285714%20329.142858-329.142857s-146.285714-329.142857-329.142858-329.142857-329.142857%20146.285714-329.142857%20329.142857%20146.285714%20329.142857%20329.142857%20329.142857z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-biyan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-biyan%22%20viewBox%3D%220%200%201733%201024%22%3E%3Cpath%20d%3D%22M1587.2%20212.114286zM1587.2%20212.114286c-14.628571%200-36.571429%207.314286-43.885714%2021.942857-21.942857%2021.942857-65.828571%2051.2-138.971429%2080.457143-138.971429%2058.514286-336.457143%2087.771429-541.257143%2087.771428-204.8%200-402.285714-29.257143-541.257143-87.771428-73.142857-29.257143-117.028571-58.514286-138.971428-80.457143-7.314286-14.628571-21.942857-21.942857-36.571429-21.942857-58.514286%200-87.771429%2073.142857-43.885714%20109.714285%2036.571429%2043.885714%20102.4%2080.457143%20182.857143%20109.714286L153.6%20555.885714c-21.942857%2029.257143-21.942857%2073.142857%200%2095.085715s65.828571%2021.942857%2087.771429%200l160.914285-160.914286s7.314286-7.314286%207.314286-14.628572c65.828571%2014.628571%20138.971429%2029.257143%20219.428571%2036.571429l-36.571428%20226.742857c-7.314286%2036.571429%2014.628571%2065.828571%2051.2%2073.142857%2036.571429%207.314286%2065.828571-14.628571%2073.142857-51.2l36.571429-226.742857v-14.628571h117.028571c43.885714%200%2087.771429%200%20131.657143-7.314286v14.628571l36.571428%20226.742858c7.314286%2036.571429%2036.571429%2058.514286%2073.142858%2051.2%2036.571429-7.314286%2058.514286-36.571429%2051.2-73.142858l-43.885715-219.428571c73.142857-7.314286%20146.285714-21.942857%20212.114286-43.885714%200%207.314286%207.314286%2014.628571%207.314286%2014.628571l160.914285%20160.914286c21.942857%2021.942857%2065.828571%2021.942857%2087.771429%200%2021.942857-21.942857%2021.942857-65.828571%200-87.771429L1462.857143%20424.228571c73.142857-29.257143%20131.657143-65.828571%20175.542857-102.4%2036.571429-36.571429%207.314286-109.714286-51.2-109.714285z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-chefeibaoxiao { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-chefeibaoxiao%22%20viewBox%3D%220%200%201070%201024%22%3E%3Cpath%20d%3D%22M707.490909%2069.864727c18.618182%200%2037.236364%204.654545%2055.854546%209.309091%2032.581818%2013.963636%2060.509091%2046.545455%2074.472727%2083.781818%2023.272727%2083.781818%2046.545455%20144.290909%2055.854545%20186.181819%204.654545%2013.963636%209.309091%2051.2%2018.618182%20111.70909%200%204.654545%204.654545%2013.963636%209.309091%2018.618182l27.927273%2032.581818c23.272727%2032.581818%2027.927273%2088.436364%2018.618182%20125.672728-4.654545%2027.927273-18.618182%20125.672727-41.89091%20307.2-9.309091%2046.545455-51.2%2079.127273-97.745454%2079.127272s-69.818182-23.272727-97.745455-60.50909l-13.963636-18.618182c-9.309091-13.963636-41.890909-23.272727-60.509091-23.272728h-325.818182c-18.618182%200-60.509091%209.309091-69.818182%2018.618182l-4.654545%204.654546-13.963636%2018.618182c-23.272727%2037.236364-37.236364%2060.509091-83.781819%2060.50909s-88.436364-32.581818-97.745454-74.472727v-4.654545c-32.581818-181.527273-51.2-279.272727-55.854546-307.2-9.309091-37.236364%200-93.090909%2023.272728-125.672728l32.581818-37.236363c4.654545-4.654545%204.654545-9.309091%209.309091-13.963637v-4.654545l93.090909-293.236364c18.618182-55.854545%2065.163636-93.090909%20121.018182-93.090909h423.563636z%20m-577.163636%20423.563637c0%204.654545-4.654545%209.309091-4.654546%209.309091l-4.654545%209.30909-27.927273%2037.236364c-9.309091%209.309091-13.963636%2027.927273-13.963636%2041.890909v4.654546c32.581818%20204.8%2051.2%20307.2%2051.2%20316.509091%200%204.654545%2023.272727%2041.890909%2032.581818%2041.890909%2018.618182%200%2032.581818-9.309091%2041.890909-23.272728l4.654545-4.654545%2013.963637-18.618182c23.272727-37.236364%2046.545455-46.545455%2093.090909-46.545454H656.290909c46.545455%200%20102.4%209.309091%20125.672727%2051.2l13.963637%2018.618181c9.309091%2013.963636%2027.927273%2027.927273%2046.545454%2023.272728%2013.963636-4.654545%2018.618182-18.618182%2023.272728-41.890909l41.890909-316.509091c4.654545-13.963636%200-32.581818-9.309091-46.545455l-27.927273-37.236364c-4.654545-4.654545-9.309091-9.309091-9.309091-18.618181H130.327273z%20m228.072727%20232.727272c0%2023.272727-13.963636%2037.236364-37.236364%2041.890909H232.727273c-23.272727%200-37.236364-18.618182-41.890909-37.236363%200-23.272727%2013.963636-41.890909%2037.236363-41.890909H316.509091c23.272727-4.654545%2041.890909%2013.963636%2041.890909%2037.236363z%20m325.818182-41.890909h83.781818c23.272727%200%2037.236364%2018.618182%2041.890909%2037.236364%200%2023.272727-13.963636%2037.236364-37.236364%2041.890909H684.218182c-23.272727%200-37.236364-18.618182-41.890909-37.236364%204.654545-18.618182%2018.618182-37.236364%2041.890909-41.890909h83.781818-83.781818zM279.272727%20135.028364c-23.272727%200-46.545455%2013.963636-55.854545%2037.236363v4.654546l-74.472727%20256H837.818182l-65.163637-256c-9.309091-23.272727-27.927273-41.890909-55.854545-41.890909H279.272727z%22%20%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M796.392727%200c-134.981818%200-242.036364%20107.054545-242.036363%20242.036364%200%20134.981818%20107.054545%20242.036364%20242.036363%20242.036363%20134.981818%200%20242.036364-107.054545%20242.036364-242.036363%200-134.981818-107.054545-242.036364-242.036364-242.036364z%22%20%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M796.392727%20432.872727c-102.4%200-190.836364-83.781818-190.836363-190.836363%200-102.4%2083.781818-190.836364%20190.836363-190.836364%20102.4%200%20190.836364%2083.781818%20190.836364%20190.836364%200%20102.4-88.436364%20190.836364-190.836364%20190.836363z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M717.265455%20204.8h176.872727v-27.927273h-176.872727v27.927273z%20m0%2088.436364h176.872727v-27.927273h-176.872727v27.927273z%20m74.472727-116.363637v204.8h27.927273V176.872727h-27.927273z%20m-69.818182-37.236363l65.163636%2065.163636%2018.618182-18.618182-65.163636-65.163636-18.618182%2018.618182z%20m167.563636%200l-65.163636%2065.163636-18.618182-23.272727%2065.163637-65.163637%2018.618181%2023.272728z%20m0%200l-65.163636%2065.163636-18.618182-23.272727%2065.163637-65.163637%2018.618181%2023.272728z%20m0%200l-65.163636%2065.163636-18.618182-23.272727%2065.163637-65.163637%2018.618181%2023.272728z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M833.629091%20390.981818h-55.854546V302.545455h-69.818181V251.345455h74.472727v-32.581819h-74.472727V162.909091h23.272727l-27.927273-23.272727%2037.236364-37.236364%2060.509091%2060.509091h4.654545l60.509091-60.509091%2037.236364%2037.236364-23.272728%2023.272727h23.272728v51.2h-69.818182v37.236364h74.472727v51.2h-74.472727v88.436363z%20m-32.581818-23.272727h4.654545V302.545455h-4.654545v65.163636z%20m32.581818-88.436364h51.2v-4.654545h-51.2V279.272727z%20m-32.581818%200h4.654545v-4.654545h-4.654545V279.272727z%20m-69.818182%200h51.2v-4.654545h-51.2V279.272727z%20m69.818182-27.927272h4.654545v-32.581819h-4.654545v32.581819z%20m51.2-55.854546h32.581818V186.181818h-27.927273l-4.654545%209.309091z%20m-121.018182%200h27.927273l-9.309091-9.309091h-18.618182v9.309091z%20m107.054545-32.581818h9.309091l23.272728-23.272727-4.654546-4.654546-27.927273%2027.927273z%20m-79.127272%200h9.309091l-27.927273-27.927273-4.654546%204.654546%2023.272728%2023.272727z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dizhiben1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dizhiben1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M861.090909%200C925.323636%200%20977.454545%2051.572364%20977.454545%20115.2v793.6C977.454545%20972.427636%20925.323636%201024%20861.090909%201024h-698.181818C98.676364%201024%2046.545455%20972.427636%2046.545455%20908.8V115.2C46.545455%2051.572364%2098.676364%200%20162.909091%200h698.181818z%20m-651.636364%2069.818182h-46.545454c-25.693091%200-46.545455%2017.454545-46.545455%2039.005091v806.353454c0%2021.550545%2020.852364%2039.005091%2046.545455%2039.005091h46.545454v-884.363636z%20m69.818182%200v881.710545h584.750546c21.271273%200%2038.632727-17.128727%2038.958545-38.353454V108.823273a39.005091%2039.005091%200%200%200-38.958545-39.005091H279.272727z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M584.145455%20268.8c113.105455%200%20204.8%2094.254545%20204.8%20210.571636a213.038545%20213.038545%200%200%201-55.947637%20144.616728l-4.049454%204.282181-108.078546%20111.150546a51.2%2051.2%200%200%201-69.12%203.956364l-3.816727-3.444364-108.590546-111.709091-4.049454-4.235636a213.038545%20213.038545%200%200%201-55.947636-144.616728c0-116.317091%2091.694545-210.571636%20204.8-210.571636z%20m0%2076.8c-70.190545%200-128%2059.438545-128%20133.771636%200%2032.814545%2011.264%2063.488%2030.673454%2086.946909l4.235636%204.887273%203.351273%203.490909%2089.739637%2092.299637%2088.994909-91.508364%203.351272-3.490909a136.238545%20136.238545%200%200%200%2035.653819-92.625455c0-74.333091-57.809455-133.771636-128-133.771636z%22%20fill%3D%22%231F7FEF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodebaoming { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodebaoming%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M958.592%20785.066667h-115.2v-110.933334c0-17.066667-12.8-29.866667-29.866667-29.866666-17.066667%200-29.866667%2012.8-29.866666%2029.866666v110.933334h-115.2c-17.066667%200-29.866667%2012.8-29.866667%2029.866666s12.8%2029.866667%2029.866667%2029.866667h115.2v110.933333c0%2017.066667%2012.8%2029.866667%2029.866666%2029.866667s29.866667-12.8%2029.866667-29.866667v-110.933333h115.2c17.066667%200%2029.866667-12.8%2029.866667-29.866667s-12.8-29.866667-29.866667-29.866666z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M817.792%20985.6c-17.066667%200-34.133333-12.8-34.133333-34.133333v-106.666667h-110.933334c-17.066667%200-34.133333-12.8-34.133333-34.133333%200-17.066667%2012.8-34.133333%2034.133333-34.133334h110.933334v-106.666666c0-17.066667%2012.8-34.133333%2034.133333-34.133334s34.133333%2012.8%2034.133333%2034.133334v106.666666h110.933334c17.066667%200%2034.133333%2012.8%2034.133333%2034.133334%200%2017.066667-12.8%2034.133333-34.133333%2034.133333h-110.933334v106.666667c0%2021.333333-17.066667%2034.133333-34.133333%2034.133333z%20m-140.8-196.266667c-12.8%200-25.6%208.533333-25.6%2025.6%200%2012.8%2012.8%2025.6%2025.6%2025.6h119.466667v115.2c0%2012.8%2012.8%2025.6%2025.6%2025.6s25.6-8.533333%2025.6-25.6v-115.2h119.466666c12.8%200%2025.6-8.533333%2025.6-25.6%200-12.8-12.8-25.6-25.6-25.6h-119.466666v-115.2c0-12.8-12.8-25.6-25.6-25.6s-25.6%208.533333-25.6%2025.6v115.2h-119.466667z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M514.858667%20533.333333c-140.8%200-260.266667-106.666667-260.266667-243.2%204.266667-140.8%20115.2-247.466667%20260.266667-247.466666s260.266667%20106.666667%20260.266666%20243.2c0%20132.266667-115.2%20247.466667-260.266666%20247.466666z%20m0-435.2c-110.933333%200-200.533333%2085.333333-200.533334%20187.733334s93.866667%20187.733333%20200.533334%20187.733333%20200.533333-85.333333%20200.533333-187.733333-89.6-187.733333-200.533333-187.733334z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M514.858667%20541.866667c-149.333333%200-273.066667-115.2-273.066667-256%204.266667-145.066667%20123.733333-256%20273.066667-256%20149.333333%200%20273.066667%20115.2%20273.066666%20256s-123.733333%20256-273.066666%20256z%20m0-490.666667c-136.533333%200-247.466667%20106.666667-251.733334%20234.666667%200%20128%20110.933333%20234.666667%20251.733334%20234.666666s251.733333-106.666667%20251.733333-234.666666-115.2-234.666667-251.733333-234.666667z%20m0%20435.2c-115.2%200-213.333333-89.6-213.333334-200.533333%200-106.666667%2098.133333-200.533333%20213.333334-200.533334s213.333333%2089.6%20213.333333%20200.533334c-4.266667%20110.933333-98.133333%20200.533333-213.333333%20200.533333z%20m0-375.466667c-102.4%200-192%2081.066667-192%20179.2s85.333333%20179.2%20192%20179.2%20192-81.066667%20192-179.2c-4.266667-102.4-89.6-179.2-192-179.2z%22%20fill%3D%22%23343333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M75.392%20981.333333c-17.066667%200-25.6-8.533333-25.6-21.333333%200-238.933333%20217.6-430.933333%20486.4-430.933333%20115.2%200%20153.6%2021.333333%20226.133333%2059.733333%208.533333%208.533333%2021.333333%2025.6%2012.8%2038.4-8.533333%2012.8-25.6%2012.8-51.2%200-55.466667-34.133333-119.466667-46.933333-187.733333-46.933333-238.933333%200-430.933333%20170.666667-430.933333%20384-8.533333%208.533333-17.066667%2017.066667-29.866667%2017.066666z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M75.392%20989.866667c-21.333333%200-34.133333-12.8-34.133333-34.133334%200-243.2%20221.866667-443.733333%20494.933333-443.733333%20115.2%200%20157.866667%2021.333333%20226.133333%2059.733333l4.266667%204.266667c21.333333%2017.066667%2025.6%2034.133333%2012.8%2051.2-8.533333%2012.8-25.6%2021.333333-64%204.266667-55.466667-29.866667-115.2-46.933333-183.466667-46.933334-234.666667%200-422.4%20166.4-422.4%20371.2v4.266667c-4.266667%2021.333333-17.066667%2029.866667-34.133333%2029.866667z%20m460.8-452.266667c-260.266667%200-473.6%20187.733333-473.6%20422.4%200%208.533333%208.533333%2012.8%2012.8%2012.8%204.266667%200%2012.8%200%2017.066667-12.8%200-217.6%20200.533333-392.533333%20443.733333-392.533333%2072.533333%200%20136.533333%2017.066667%20196.266667%2051.2%2017.066667%208.533333%2029.866667%208.533333%2034.133333%204.266666%200%200%204.266667-8.533333-12.8-21.333333h-4.266667c-64-42.666667-102.4-64-213.333333-64z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-gongzitiao1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-gongzitiao1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M861.866667%2042.666667H162.133333C93.866667%2042.666667%2042.666667%20102.4%2042.666667%20179.2v661.333333c0%2081.066667%2051.2%20140.8%20119.466666%20140.8h704c64%200%20119.466667-59.733333%20119.466667-136.533333V179.2C981.333333%20102.4%20930.133333%2042.666667%20861.866667%2042.666667z%20m72.533333%20802.133333c0%2046.933333-29.866667%2081.066667-68.266667%2081.066667H162.133333c-38.4%200-68.266667-38.4-68.266666-81.066667V179.2c0-46.933333%2029.866667-81.066667%2068.266666-81.066667h704c38.4%200%2068.266667%2038.4%2068.266667%2081.066667v665.6z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M861.866667%20989.866667H162.133333c-72.533333%200-128-68.266667-128-149.333334V179.2C34.133333%2098.133333%2089.6%2029.866667%20162.133333%2029.866667h704c72.533333%200%20128%2068.266667%20128%20149.333333v661.333333c-4.266667%2085.333333-59.733333%20149.333333-132.266666%20149.333334zM162.133333%2051.2C102.4%2051.2%2055.466667%20106.666667%2055.466667%20179.2v661.333333c0%2068.266667%2046.933333%20128%20106.666666%20128h704c59.733333%200%20106.666667-55.466667%20106.666667-128V179.2c0-68.266667-46.933333-128-106.666667-128H162.133333zM861.866667%20938.666667H162.133333c-42.666667%200-81.066667-42.666667-81.066666-93.866667V179.2C81.066667%20128%20115.2%2085.333333%20162.133333%2085.333333h704c42.666667%200%2081.066667%2042.666667%2081.066667%2093.866667v661.333333c0%2055.466667-38.4%2098.133333-85.333333%2098.133334zM162.133333%20106.666667c-34.133333%200-59.733333%2034.133333-59.733333%2072.533333v661.333333c0%2038.4%2025.6%2072.533333%2059.733333%2072.533334h704c34.133333%200%2059.733333-34.133333%2059.733334-72.533334V179.2c0-38.4-25.6-72.533333-59.733334-72.533333H162.133333z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M396.8%20558.933333h260.266667v-42.666666H396.8v42.666666z%20m0%20128h260.266667v-42.666666H396.8v42.666666z%20m106.666667-170.666666v298.666666h42.666666v-298.666666h-42.666666z%20m-102.4-51.2l93.866666%2093.866666%2029.866667-29.866666-93.866667-93.866667-29.866666%2029.866667z%20m247.466666%200l-93.866666%2093.866666-29.866667-29.866666%2093.866667-93.866667%2029.866666%2029.866667z%20m0%200l-93.866666%2093.866666-29.866667-29.866666%2093.866667-93.866667%2029.866666%2029.866667z%20m0%200l-93.866666%2093.866666-29.866667-29.866666%2093.866667-93.866667%2029.866666%2029.866667z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M558.933333%20827.733333h-64v-128H384v-64H490.666667v-64H384v-64h42.666667l-42.666667-42.666666%2046.933333-46.933334%2085.333334%2085.333334h12.8l85.333333-85.333334%2046.933333%2046.933334-42.666666%2042.666666h46.933333v64h-106.666667v64h106.666667v64h-106.666667v128z%20m-42.666666-21.333333h21.333333v-106.666667h-21.333333v106.666667z%20m42.666666-128h85.333334v-21.333333h-85.333334v21.333333z%20m-42.666666%200h21.333333v-21.333333h-21.333333v21.333333z%20m-110.933334%200h85.333334v-21.333333H405.333333v21.333333z%20m110.933334-42.666667h21.333333v-64h-21.333333v64z%20m59.733333-85.333333h68.266667v-21.333333h-46.933334l-21.333333%2021.333333z%20m-59.733333%200h17.066666l-8.533333-8.533333-8.533333%208.533333z%20m-110.933334%200h64l-21.333333-21.333333H405.333333v21.333333z%20m72.533334-21.333333l12.8%2012.8v-12.8h-12.8z%20m81.066666%200v12.8l12.8-12.8h-12.8z%20m0-21.333334h29.866667l42.666667-42.666666-17.066667-17.066667-55.466667%2059.733333z%20m-102.4%200h29.866667l-55.466667-55.466666-17.066666%2012.8%2042.666666%2042.666666z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M89.6%20345.6h844.8V298.666667H89.6z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M947.2%20358.4H81.066667V290.133333h866.133333v68.266667zM102.4%20337.066667h823.466667v-25.6H102.4v25.6z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-youhuiquan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-youhuiquan%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M861.866667%20981.333333h-153.6c-29.866667%200-59.733333-12.8-81.066667-34.133333-29.866667-29.866667-68.266667-46.933333-110.933333-46.933333s-81.066667%2017.066667-110.933334%2046.933333c-29.866667%2021.333333-55.466667%2034.133333-93.866666%2034.133333H162.133333C93.866667%20981.333333%2042.666667%20930.133333%2042.666667%20861.866667V162.133333C42.666667%2093.866667%2093.866667%2042.666667%20162.133333%2042.666667h157.866667c29.866667%200%2059.733333%2012.8%2081.066667%2034.133333%2029.866667%2029.866667%2068.266667%2046.933333%20110.933333%2046.933333s81.066667-17.066667%20110.933333-46.933333c25.6-21.333333%2055.466667-34.133333%2081.066667-34.133333h157.866667C930.133333%2042.666667%20981.333333%2093.866667%20981.333333%20162.133333v704c0%2064-51.2%20115.2-119.466666%20115.2zM512%20840.533333c59.733333%200%20110.933333%2021.333333%20153.6%2064%2012.8%2012.8%2029.866667%2017.066667%2042.666667%2017.066667h157.866666c34.133333%200%2059.733333-29.866667%2059.733334-59.733333V162.133333c0-34.133333-29.866667-59.733333-59.733334-59.733333h-157.866666c-12.8%200-29.866667%204.266667-42.666667%2017.066667-42.666667%2042.666667-93.866667%2064-153.6%2064s-110.933333-21.333333-153.6-64c-12.8-12.8-25.6-17.066667-42.666667-17.066667H162.133333c-29.866667%200-59.733333%2029.866667-59.733333%2059.733333v704c0%2034.133333%2029.866667%2059.733333%2059.733333%2059.733334h153.6c17.066667%200%2029.866667-4.266667%2042.666667-17.066667%2042.666667-46.933333%2093.866667-68.266667%20153.6-68.266667z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M861.866667%20989.866667h-153.6c-34.133333%200-64-12.8-89.6-38.4-25.6-25.6-68.266667-42.666667-102.4-42.666667s-76.8%2017.066667-102.4%2042.666667c-34.133333%2025.6-64%2038.4-102.4%2038.4H162.133333c-72.533333%200-128-55.466667-128-128V162.133333c0-72.533333%2055.466667-128%20128-128h157.866667c34.133333%200%2064%2012.8%2089.6%2038.4%2025.6%2025.6%2068.266667%2042.666667%20102.4%2042.666667s76.8-17.066667%20102.4-42.666667c25.6-25.6%2055.466667-38.4%2089.6-38.4h157.866667c72.533333%200%20128%2055.466667%20128%20128v704c0%2068.266667-55.466667%20123.733333-128%20123.733334z%20m-345.6-102.4c42.666667%200%2085.333333%2017.066667%20119.466666%2051.2%2021.333333%2021.333333%2046.933333%2034.133333%2072.533334%2034.133333h153.6c59.733333%200%20106.666667-46.933333%20106.666666-106.666667V162.133333c0-59.733333-46.933333-106.666667-106.666666-106.666666h-157.866667c-25.6%200-55.466667%2012.8-72.533333%2034.133333-34.133333%2025.6-76.8%2046.933333-119.466667%2046.933333S426.666667%20115.2%20392.533333%2085.333333c-21.333333-21.333333-46.933333-34.133333-72.533333-34.133333H162.133333c-59.733333%200-106.666667%2046.933333-106.666666%20106.666667v704c0%2059.733333%2046.933333%20106.666667%20106.666666%20106.666666h153.6c29.866667%200%2059.733333-8.533333%2085.333334-34.133333%2029.866667-25.6%2072.533333-46.933333%20115.2-46.933333z%20m345.6%2046.933333h-157.866667c-12.8%200-34.133333-8.533333-46.933333-21.333333-38.4-42.666667-89.6-59.733333-145.066667-59.733334-55.466667%200-102.4%2021.333333-149.333333%2064-12.8%2012.8-29.866667%2021.333333-46.933334%2021.333334H162.133333c-34.133333%200-68.266667-25.6-68.266666-68.266667V162.133333c0-34.133333%2034.133333-68.266667%2068.266666-68.266666h157.866667c21.333333%200%2034.133333%204.266667%2046.933333%2021.333333%2038.4%2038.4%2089.6%2055.466667%20145.066667%2055.466667s106.666667-21.333333%20145.066667-59.733334c12.8-12.8%2034.133333-21.333333%2046.933333-21.333333h157.866667c34.133333%200%2068.266667%2025.6%2068.266666%2068.266667v704c4.266667%2034.133333-21.333333%2072.533333-68.266666%2072.533333zM512%20832c59.733333%200%20115.2%2021.333333%20162.133333%2068.266667%208.533333%208.533333%2025.6%2012.8%2034.133334%2012.8h157.866666c29.866667%200%2046.933333-25.6%2046.933334-46.933334V162.133333c0-29.866667-25.6-46.933333-46.933334-46.933333h-157.866666c-8.533333%200-25.6%204.266667-34.133334%2012.8-42.666667%2042.666667-98.133333%2068.266667-162.133333%2068.266667S396.8%20170.666667%20349.866667%20128c-8.533333-12.8-17.066667-17.066667-29.866667-17.066667H162.133333c-21.333333%200-46.933333%2025.6-46.933333%2046.933334v704c0%2029.866667%2025.6%2046.933333%2046.933333%2046.933333h153.6c12.8%200%2021.333333-4.266667%2034.133334-12.8%2046.933333-42.666667%20102.4-64%20162.133333-64z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M866.133333%20401.066667h-93.866666c-12.8%200-21.333333-8.533333-21.333334-25.6s8.533333-25.6%2021.333334-25.6h93.866666c12.8%200%2021.333333%208.533333%2021.333334%2025.6s-8.533333%2025.6-21.333334%2025.6z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M866.133333%20413.866667h-93.866666c-21.333333%200-34.133333-17.066667-34.133334-38.4s12.8-38.4%2034.133334-38.4h93.866666c21.333333%200%2034.133333%2017.066667%2034.133334%2038.4s-12.8%2038.4-34.133334%2038.4z%20m-93.866666-55.466667c-4.266667%200-4.266667%2012.8-4.266667%2017.066667s0%2012.8%208.533333%2012.8h93.866667c8.533333%200%208.533333-12.8%208.533333-12.8s0-12.8-8.533333-12.8h-98.133333zM644.266667%20401.066667h-76.8c-17.066667%200-25.6-8.533333-25.6-25.6s8.533333-25.6%2025.6-25.6h76.8c17.066667%200%2025.6%208.533333%2025.6%2025.6s-8.533333%2025.6-25.6%2025.6z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M644.266667%20413.866667h-76.8c-21.333333%200-38.4-17.066667-38.4-38.4s17.066667-38.4%2038.4-38.4h76.8c21.333333%200%2038.4%2017.066667%2038.4%2038.4s-12.8%2038.4-38.4%2038.4z%20m-72.533334-55.466667c-8.533333%200-12.8%204.266667-12.8%2012.8s4.266667%2012.8%2012.8%2012.8h76.8c8.533333%200%2012.8-4.266667%2012.8-12.8s-4.266667-12.8-12.8-12.8h-76.8z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M430.933333%20401.066667H362.666667c-17.066667%200-25.6-8.533333-25.6-25.6s8.533333-25.6%2025.6-25.6h76.8c17.066667%200%2025.6%208.533333%2025.6%2025.6s-17.066667%2025.6-34.133334%2025.6z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M430.933333%20413.866667H362.666667c-21.333333%200-38.4-17.066667-38.4-38.4s17.066667-42.666667%2038.4-42.666667h76.8c21.333333%200%2038.4%2017.066667%2038.4%2038.4%200%2025.6-25.6%2042.666667-46.933334%2042.666667zM362.666667%20358.4c-8.533333%200-12.8%204.266667-12.8%2012.8s4.266667%2012.8%2012.8%2012.8h68.266666c8.533333%200%2021.333333-4.266667%2021.333334-12.8%200-8.533333-4.266667-12.8-12.8-12.8H362.666667z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M234.666667%20401.066667H157.866667c-12.8%200-21.333333-8.533333-21.333334-25.6s8.533333-25.6%2021.333334-25.6h76.8c12.8-4.266667%2021.333333%208.533333%2021.333333%2025.6s-12.8%2025.6-21.333333%2025.6z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M234.666667%20413.866667H157.866667c-17.066667%200-34.133333-17.066667-34.133334-38.4s12.8-38.4%2034.133334-38.4h76.8c17.066667%200%2034.133333%2017.066667%2034.133333%2038.4s-17.066667%2038.4-34.133333%2038.4zM157.866667%20358.4c-4.266667%200-8.533333%208.533333-8.533334%2012.8s0%2012.8%208.533334%2012.8h76.8s8.533333-4.266667%208.533333-12.8c0-4.266667%200-12.8-8.533333-12.8H157.866667z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shoucang1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shoucang1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M430.933333%20704c-12.8%200-25.6-12.8-25.6-25.6%200-123.733333-64-153.6-68.266666-153.6-12.8-4.266667-17.066667-21.333333-12.8-34.133333s21.333333-17.066667%2029.866666-12.8c4.266667%200%2093.866667%2038.4%2093.866667%20200.533333%204.266667%2012.8-4.266667%2025.6-17.066667%2025.6z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M430.933333%20716.8c-21.333333%200-38.4-17.066667-38.4-38.4%200-110.933333-51.2-140.8-59.733333-145.066667-17.066667-8.533333-25.6-29.866667-21.333333-46.933333%204.266667-8.533333%208.533333-17.066667%2021.333333-21.333333%208.533333-4.266667%2021.333333-4.266667%2029.866667%200%2017.066667%208.533333%20102.4%2055.466667%20102.4%20213.333333%200%208.533333%200%2017.066667-8.533334%2025.6-8.533333%208.533333-17.066667%2012.8-25.6%2012.8z%20m-85.333333-226.133333c-4.266667%200-8.533333%204.266667-8.533333%208.533333-4.266667%204.266667%200%2012.8%204.266666%2017.066667%2012.8%208.533333%2072.533333%2042.666667%2072.533334%20166.4%200%208.533333%2012.8%2012.8%2021.333333%208.533333%200%200%204.266667-4.266667%200-4.266667%204.266667-149.333333-68.266667-192-89.6-196.266666%204.266667%200%204.266667%200%200%200z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M755.2%20994.133333c-17.066667%200-34.133333-4.266667-46.933333-12.8L512%20874.666667%20311.466667%20981.333333c-34.133333%2017.066667-72.533333%2017.066667-102.4-4.266666s-46.933333-55.466667-38.4-93.866667l38.4-230.4-166.4-170.666667C17.066667%20456.533333%208.533333%20418.133333%2021.333333%20384c12.8-34.133333%2042.666667-59.733333%2076.8-64l230.4-34.133333L422.4%2085.333333C448%2038.4%20503.466667%2017.066667%20554.666667%2042.666667c21.333333%208.533333%2034.133333%2025.6%2042.666666%2042.666666l98.133334%20204.8%20230.4%2034.133334c34.133333%204.266667%2064%2029.866667%2076.8%2064%2012.8%2034.133333%204.266667%2072.533333-21.333334%2098.133333l-166.4%20166.4%2038.4%20234.666667c4.266667%2038.4-8.533333%2072.533333-38.4%2093.866666-17.066667%208.533333-38.4%2012.8-59.733333%2012.8zM512%20814.933333c4.266667%200%208.533333%200%2012.8%204.266667l213.333333%20115.2c12.8%208.533333%2029.866667%204.266667%2042.666667-4.266667%2012.8-8.533333%2017.066667-21.333333%2017.066667-34.133333l-42.666667-247.466667c0-8.533333%200-17.066667%208.533333-25.6l179.2-179.2c8.533333-8.533333%2012.8-25.6%208.533334-38.4-4.266667-12.8-17.066667-21.333333-29.866667-25.6L678.4%20341.333333c-8.533333%200-17.066667-8.533333-21.333333-17.066666l-106.666667-221.866667c-8.533333-8.533333-25.6-17.066667-38.4-12.8-12.8%200-29.866667%208.533333-34.133333%2021.333333L371.2%20328.533333c-4.266667%208.533333-12.8%2017.066667-21.333333%2017.066667l-243.2%2034.133333c-17.066667%204.266667-25.6%2012.8-29.866667%2025.6-4.266667%2012.8%200%2025.6%208.533333%2038.4l179.2%20179.2c8.533333%208.533333%208.533333%2017.066667%208.533334%2025.6l-42.666667%20247.466667c-4.266667%2012.8%204.266667%2029.866667%2017.066667%2034.133333%2012.8%208.533333%2029.866667%208.533333%2042.666666%200l213.333334-115.2h8.533333z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M755.2%20998.4c-17.066667%200-34.133333-4.266667-46.933333-12.8L512%20883.2l-196.266667%20106.666667c-34.133333%2017.066667-76.8%2017.066667-106.666666-4.266667s-46.933333-59.733333-42.666667-98.133333l38.4-230.4-166.4-166.4C12.8%20460.8%204.266667%20422.4%2017.066667%20384c12.8-34.133333%2042.666667-59.733333%2081.066666-68.266667l226.133334-34.133333%2098.133333-204.8c12.8-25.6%2034.133333-42.666667%2059.733333-51.2%2025.6-8.533333%2055.466667-8.533333%2076.8%204.266667%2021.333333%208.533333%2038.4%2025.6%2046.933334%2046.933333l98.133333%20204.8%20226.133333%2034.133333c38.4%204.266667%2068.266667%2029.866667%2081.066667%2068.266667%2012.8%2034.133333%204.266667%2076.8-25.6%20102.4l-166.4%20166.4%2038.4%20230.4c4.266667%2038.4-8.533333%2076.8-42.666667%2098.133333-17.066667%2012.8-38.4%2017.066667-59.733333%2017.066667z%20m-243.2-128l200.533333%20106.666667c12.8%208.533333%2029.866667%2012.8%2042.666667%2012.8%2017.066667%200%2038.4-4.266667%2051.2-17.066667%2029.866667-21.333333%2042.666667-55.466667%2038.4-89.6l-34.133333-234.666667%20166.4-166.4c25.6-25.6%2034.133333-59.733333%2021.333333-93.866666-12.8-34.133333-38.4-55.466667-72.533333-59.733334l-230.4-34.133333L597.333333%2085.333333c-8.533333-17.066667-25.6-34.133333-42.666666-42.666666-21.333333-12.8-46.933333-12.8-72.533334-4.266667-25.6%208.533333-42.666667%2025.6-55.466666%2046.933333L328.533333%20294.4l-230.4%2034.133333c-34.133333%204.266667-64%2025.6-76.8%2059.733334-12.8%2034.133333-4.266667%2068.266667%2021.333334%2093.866666l170.666666%20170.666667v4.266667l-38.4%20230.4c-4.266667%2034.133333%208.533333%2068.266667%2038.4%2085.333333%2029.866667%2021.333333%2068.266667%2021.333333%2098.133334%204.266667l200.533333-106.666667z%20m243.2%2068.266667c-8.533333%200-12.8%200-21.333333-4.266667l-213.333334-115.2c-8.533333-4.266667-17.066667-4.266667-25.6%200l-213.333333%20115.2c-12.8%208.533333-34.133333%208.533333-46.933333-4.266667-12.8-8.533333-21.333333-25.6-17.066667-38.4l42.666667-247.466666c0-8.533333%200-17.066667-8.533334-21.333334l-179.2-179.2c-12.8-8.533333-12.8-25.6-8.533333-42.666666%204.266667-12.8%2017.066667-25.6%2034.133333-25.6L349.866667%20341.333333c8.533333%200%2017.066667-8.533333%2017.066666-12.8l106.666667-221.866666c8.533333-12.8%2021.333333-25.6%2038.4-25.6s29.866667%208.533333%2038.4%2025.6l106.666667%20221.866666c4.266667%204.266667%208.533333%2012.8%2017.066666%2012.8l243.2%2038.4c17.066667%204.266667%2029.866667%2012.8%2034.133334%2025.6%204.266667%2012.8%200%2029.866667-8.533334%2042.666667l-179.2%20179.2c-4.266667%204.266667-8.533333%2012.8-8.533333%2021.333333l42.666667%20247.466667c4.266667%2017.066667-4.266667%2029.866667-17.066667%2038.4-4.266667%204.266667-12.8%204.266667-25.6%204.266667zM512%20810.666667c4.266667%200%2012.8%200%2017.066667%204.266666l213.333333%20115.2c12.8%204.266667%2025.6%204.266667%2038.4%200%208.533333-8.533333%2017.066667-17.066667%2012.8-29.866666l-42.666667-247.466667c0-12.8%200-21.333333%208.533334-29.866667l179.2-179.2c8.533333-8.533333%2012.8-21.333333%208.533333-34.133333-4.266667-12.8-12.8-21.333333-25.6-21.333333l-243.2-38.4c-12.8%200-21.333333-8.533333-25.6-17.066667l-106.666667-221.866667c-4.266667-12.8-17.066667-17.066667-29.866666-17.066666-12.8%200-25.6%208.533333-29.866667%2017.066666L375.466667%20328.533333c-4.266667%2012.8-12.8%2017.066667-25.6%2021.333334L106.666667%20384c-12.8%200-21.333333%208.533333-25.6%2021.333333-4.266667%2012.8%200%2025.6%208.533333%2034.133334l179.2%20179.2c8.533333%208.533333%2012.8%2017.066667%208.533333%2029.866666l-42.666666%20247.466667c0%2012.8%204.266667%2025.6%2012.8%2029.866667%208.533333%208.533333%2025.6%208.533333%2038.4%200l213.333333-115.2h12.8z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodejianli1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodejianli1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M931.541333%20273.066667s0-4.266667%200%200l-251.733333-213.333334h-4.266667l-456.533333-12.8c-76.8-17.066667-140.8%2051.2-140.8%20119.466667V853.333333c0%2072.533333%2064%20128%20140.8%20128h571.733333c76.8%200%20140.8-55.466667%20140.8-123.733333V273.066667z%20m-93.866666-21.333334h-72.533334c-46.933333%200-89.6-34.133333-89.6-76.8V119.466667l162.133334%20132.266666z%20m-618.666667%20682.666667c-46.933333%200-89.6-34.133333-89.6-76.8V166.4c0-42.666667%2038.4-76.8%2089.6-76.8h405.333333V170.666667c0%2068.266667%2064%20123.733333%20140.8%20123.733333h110.933334V853.333333c0%2042.666667-38.4%2076.8-89.6%2076.8h-567.466667v4.266667z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M790.741333%20989.866667h-571.733333c-81.066667%200-145.066667-59.733333-145.066667-132.266667V166.4c0-72.533333%2064-132.266667%20145.066667-132.266667h448l8.533333%208.533334%20256%20213.333333v601.6c8.533333%2072.533333-59.733333%20132.266667-140.8%20132.266667zM219.008%2046.933333c-72.533333%200-132.266667%2055.466667-132.266667%20119.466667V853.333333c0%2064%2059.733333%20119.466667%20132.266667%20119.466667h571.733333c72.533333%200%20132.266667-55.466667%20132.266667-119.466667V273.066667v-8.533334l-8.533333%2034.133334v-25.6l-29.866667-8.533334-209.066667-204.8-17.066666%208.533334-247.466667%2017.066666-192-38.4z%20m699.733333%20217.6z%20m-128%20678.4h-571.733333c-51.2%200-93.866667-38.4-93.866667-85.333333V166.4c0-46.933333%2042.666667-85.333333%2093.866667-85.333333h413.866667V170.666667c0%2064%2059.733333%20119.466667%20132.266666%20119.466666h119.466667V853.333333c0%2051.2-42.666667%2089.6-93.866667%2089.6zM219.008%2098.133333c-46.933333%200-81.066667%2029.866667-81.066667%2068.266667V853.333333c0%2038.4%2038.4%2072.533333%2081.066667%2072.533334h571.733333c46.933333%200%2081.066667-34.133333%2081.066667-72.533334V302.933333h-106.666667c-81.066667%200-145.066667-59.733333-145.066666-132.266666V98.133333h-401.066667z%20m635.733333%20157.866667h-89.6c-51.2%200-93.866667-38.4-93.866666-85.333333V106.666667l183.466666%20149.333333z%20m-170.666666-123.733333V170.666667c0%2038.4%2038.4%2072.533333%2081.066666%2072.533333h55.466667l-136.533333-110.933333z%22%20fill%3D%22%23323333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M432.341333%20422.4c25.6-21.333333%2042.666667-55.466667%2042.666667-89.6%200-64-55.466667-119.466667-119.466667-119.466667s-115.2%2055.466667-115.2%20119.466667c0%2038.4%2017.066667%2068.266667%2042.666667%2089.6-51.2%2029.866667-89.6%2081.066667-89.6%20149.333333%200%2012.8%208.533333%2025.6%2021.333333%2025.6s21.333333-12.8%2021.333334-25.6c0-64%2051.2-119.466667%20119.466666-119.466666s115.2%2055.466667%20115.2%20119.466666c0%2012.8%208.533333%2025.6%2025.6%2025.6s25.6-12.8%2025.6-25.6c0-64-38.4-119.466667-89.6-149.333333z%20m-76.8-17.066667c-38.4%200-72.533333-34.133333-72.533333-72.533333s29.866667-72.533333%2072.533333-72.533333%2072.533333%2034.133333%2072.533334%2072.533333-34.133333%2072.533333-72.533334%2072.533333z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M496.341333%20601.6c-17.066667%200-34.133333-12.8-34.133333-34.133333%200-59.733333-46.933333-110.933333-106.666667-110.933334s-106.666667%2055.466667-106.666666%20115.2c0%2017.066667-12.8%2034.133333-34.133334%2034.133334s-34.133333-12.8-34.133333-34.133334c0-59.733333%2029.866667-119.466667%2085.333333-149.333333-21.333333-25.6-34.133333-55.466667-34.133333-89.6%200-72.533333%2055.466667-128%20128-128s128%2055.466667%20128%20128c0%2034.133333-12.8%2064-38.4%2089.6%2051.2%2029.866667%2085.333333%2089.6%2085.333333%20149.333333-4.266667%2017.066667-21.333333%2029.866667-38.4%2029.866667z%20m-140.8-157.866667c68.266667%200%20128%2055.466667%20128%20128%200%208.533333%208.533333%2017.066667%2012.8%2017.066667%208.533333%200%2017.066667-8.533333%2017.066667-17.066667%200-59.733333-34.133333-110.933333-85.333333-140.8l-12.8-4.266666%208.533333-8.533334c25.6-21.333333%2038.4-51.2%2038.4-85.333333%200-59.733333-46.933333-110.933333-106.666667-110.933333s-106.666667%2051.2-106.666666%20110.933333c0%2034.133333%2012.8%2064%2038.4%2085.333333l8.533333%208.533334-12.8%204.266666c-51.2%2025.6-85.333333%2081.066667-85.333333%20140.8%200%208.533333%208.533333%2017.066667%2012.8%2017.066667%208.533333%200%2017.066667-8.533333%2017.066666-17.066667%204.266667-72.533333%2059.733333-128%20128-128z%20m0-29.866666c-42.666667%200-81.066667-34.133333-81.066666-81.066667s34.133333-81.066667%2081.066666-81.066667%2081.066667%2034.133333%2081.066667%2081.066667-38.4%2081.066667-81.066667%2081.066667z%20m0-145.066667c-34.133333%200-59.733333%2029.866667-59.733333%2064s29.866667%2064%2059.733333%2064%2064-29.866667%2064-64-29.866667-64-64-64z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M790.741333%20768h-341.333333c-8.533333%200-21.333333%208.533333-21.333333%2021.333333s8.533333%2021.333333%2021.333333%2021.333334h345.6c12.8%200%2017.066667-8.533333%2017.066667-21.333334s-4.266667-21.333333-21.333334-21.333333z%20m4.266667-128h-221.866667c-8.533333%200-17.066667%208.533333-17.066666%2021.333333s8.533333%2021.333333%2017.066666%2021.333334h226.133334c12.8%200%2012.8-8.533333%2012.8-21.333334s-4.266667-21.333333-17.066667-21.333333z%20m-4.266667-128h-132.266666c-8.533333%200-21.333333%208.533333-21.333334%2021.333333s8.533333%2021.333333%2021.333334%2021.333334h136.533333c12.8%200%2017.066667-8.533333%2017.066667-21.333334s-4.266667-21.333333-21.333334-21.333333z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M795.008%20819.2h-345.6c-17.066667%200-25.6-12.8-25.6-29.866667%200-17.066667%2012.8-29.866667%2025.6-29.866666h341.333333c17.066667%200%2025.6%208.533333%2029.866667%2025.6%200%2012.8%200%2034.133333-25.6%2034.133333z%20m-345.6-42.666667c-4.266667%200-12.8%204.266667-12.8%2012.8%200%208.533333%204.266667%2012.8%2012.8%2012.8h345.6c8.533333%200%208.533333%200%208.533333-12.8%200-8.533333-4.266667-12.8-17.066666-12.8h-337.066667z%20m349.866667-85.333333h-226.133334c-12.8%200-25.6-12.8-25.6-29.866667s12.8-29.866667%2025.6-29.866666h221.866667c25.6%200%2025.6%2021.333333%2025.6%2025.6%200%2012.8%200%2034.133333-21.333333%2034.133333z%20m-226.133334-42.666667c-4.266667%200-12.8%204.266667-12.8%2012.8s4.266667%2012.8%2012.8%2012.8h226.133334c4.266667%200%208.533333%200%208.533333-12.8s-4.266667-12.8-12.8-12.8h-221.866667z%20m221.866667-85.333333h-136.533333c-17.066667%200-25.6-12.8-25.6-29.866667s12.8-25.6%2025.6-25.6h132.266666c25.6%200%2025.6%2021.333333%2025.6%2025.6%204.266667%208.533333%204.266667%2029.866667-21.333333%2029.866667z%20m-132.266667-46.933333c-4.266667%200-12.8%204.266667-12.8%2017.066666%200%208.533333%204.266667%2017.066667%2012.8%2017.066667h136.533334c8.533333%200%208.533333%200%208.533333-17.066667%200-12.8-4.266667-17.066667-12.8-17.066666h-132.266667z%22%20fill%3D%22%23333234%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dangqiangongzuo { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dangqiangongzuo%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M854.817391%20262.678261h-146.921739V182.53913c0-75.686957-53.426087-138.017391-124.660869-138.017391H440.765217C369.530435%2044.521739%20316.104348%20106.852174%20316.104348%20182.53913v80.139131H169.182609C102.4%20262.678261%2048.973913%20325.008696%2048.973913%20400.695652v436.313044c0%2075.686957%2053.426087%20138.017391%20124.66087%20138.017391h685.634782c66.782609%200%20124.66087-62.330435%20124.66087-138.017391V400.695652c-4.452174-75.686957-62.330435-138.017391-129.113044-138.017391z%20m-489.73913-80.139131c0-44.521739%2031.165217-80.13913%2075.686956-80.13913h146.92174c40.069565%200%2075.686957%2035.617391%2075.686956%2080.13913v80.139131H365.078261V182.53913zM169.182609%20921.6c-40.069565%200-71.234783-35.617391-71.234783-80.13913V400.695652c0-44.521739%2031.165217-80.13913%2071.234783-80.13913h71.234782v601.043478H169.182609z%20m124.660869%200V316.104348H734.608696v601.043478H293.843478z%20m636.66087-84.591304c0%2044.521739-31.165217%2080.13913-71.234783%2080.13913H779.130435V316.104348h75.686956c40.069565%200%2071.234783%2035.617391%2071.234783%2080.13913v440.765218z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M854.817391%20983.930435H169.182609c-71.234783%200-133.565217-66.782609-133.565218-146.921739V400.695652c0-80.13913%2057.878261-146.921739%20133.565218-146.921739h138.017391V182.53913c0-80.13913%2057.878261-146.921739%20133.565217-146.921739h146.92174c71.234783%200%20133.565217%2066.782609%20133.565217%20146.921739v71.234783h138.017391c71.234783%200%20133.565217%2066.782609%20133.565218%20146.921739v436.313044c-4.452174%2080.13913-66.782609%20146.921739-138.017392%20146.921739zM169.182609%20271.582609C106.852174%20271.582609%2057.878261%20329.46087%2057.878261%20400.695652v436.313044c0%2071.234783%2048.973913%20129.113043%20111.304348%20129.113043h685.634782c62.330435%200%20111.304348-57.878261%20111.304348-129.113043V400.695652c0-71.234783-48.973913-129.113043-111.304348-129.113043h-155.826087v-89.043479c0-71.234783-48.973913-129.113043-111.304347-129.113043H440.765217C378.434783%2053.426087%20329.46087%20111.304348%20329.46087%20182.53913v89.043479H169.182609z%20m685.634782%20658.921739h-84.591304v-623.304348h84.591304c44.521739%200%2080.13913%2040.069565%2080.139131%2089.043478v436.313044c0%2057.878261-35.617391%2097.947826-80.139131%2097.947826z%20m-66.782608-17.808696h66.782608c35.617391%200%2062.330435-31.165217%2062.330435-71.234782V400.695652c0-40.069565-31.165217-71.234783-62.330435-71.234782h-66.782608v583.234782z%20m-44.52174%2017.808696H280.486957v-623.304348h458.573913v623.304348z%20m-445.217391-17.808696h422.956522V325.008696H298.295652v587.686956z%20m-44.521739%2017.808696H169.182609c-44.521739%200-84.591304-40.069565-84.591305-89.043478V400.695652c0-48.973913%2035.617391-89.043478%2084.591305-89.043478h84.591304v618.852174zM169.182609%20325.008696c-35.617391%200-62.330435%2035.617391-62.330435%2075.686956v436.313044c0%2040.069565%2031.165217%2071.234783%2062.330435%2071.234782h66.782608V325.008696H169.182609z%20m498.643478-53.426087h-311.652174v-89.043479c0-48.973913%2035.617391-89.043478%2084.591304-89.043478h146.92174c44.521739%200%2080.13913%2040.069565%2080.13913%2089.043478v89.043479z%20m-293.843478-17.808696h276.034782V182.53913c0-40.069565-31.165217-71.234783-62.330434-71.234782H440.765217c-35.617391%200-62.330435%2031.165217-62.330434%2071.234782v71.234783z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M235.965217%20329.46087h62.330435v583.234782H235.965217z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M302.747826%20912.695652H231.513043V325.008696h66.782609v587.686956z%20m-66.782609-4.452174h57.878261v-578.782608H235.965217v578.782608z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M725.704348%20329.46087h62.330435v583.234782h-62.330435z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M792.486957%20912.695652h-66.782609V325.008696h66.782609v587.686956z%20m-66.782609-4.452174h57.878261v-578.782608h-57.878261v578.782608z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-hetong { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-hetong%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M464.847238%20934.180571H147.504762c-49.152%200-93.866667-35.742476-93.866667-80.457142V151.990857c0-44.714667%2044.714667-89.429333%2093.866667-89.429333H750.933333c49.152%200%2084.943238%2035.791238%2084.943238%2080.457143V321.828571c0%2013.409524%2013.409524%2026.819048%2026.819048%2026.819048%2022.332952-4.486095%2035.742476-13.409524%2035.742476-31.305143V138.581333c0-76.01981-67.047619-134.095238-143.018666-134.095238H147.504762C71.533714%204.486095%204.486095%2067.047619%204.486095%20138.581333v715.142096c0%2076.01981%2067.047619%20134.095238%20143.018667%20134.095238h317.342476c17.895619%200%2026.819048-13.409524%2026.819048-26.819048%204.486095-13.409524-8.923429-26.819048-26.819048-26.819048z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M464.847238%20992.304762H147.504762C67.047619%20992.304762%200%20929.743238%200%20853.723429V138.581333C0%2062.561524%2067.047619%200%20147.504762%200H750.933333c80.457143%200%20147.504762%2062.561524%20147.504762%20138.581333v178.761143a30.573714%2030.573714%200%200%201-31.305143%2031.305143%2030.573714%2030.573714%200%200%201-31.256381-31.305143V138.581333c0-40.228571-35.791238-76.01981-80.457142-76.019809H147.504762c-44.714667%200-89.380571%2044.714667-89.380572%2084.943238v706.218667c0%2040.228571%2040.228571%2076.01981%2089.380572%2076.019809h317.342476c17.895619%200%2031.305143%2013.409524%2031.305143%2031.256381%204.486095%2017.895619-13.409524%2031.305143-31.305143%2031.305143zM147.504762%208.923429C71.533714%208.923429%208.923429%2067.047619%208.923429%20138.581333v715.142096c0%2071.533714%2062.610286%20129.657905%20138.581333%20129.657904h317.342476c13.409524%200%2022.381714-8.97219%2022.381714-22.381714s-8.97219-22.332952-22.381714-22.332952H147.504762c-53.638095%200-98.352762-40.228571-98.352762-84.943238V151.990857c0-49.200762%2049.200762-93.866667%2098.352762-93.866667H750.933333c49.152%200%2089.380571%2040.228571%2089.380572%2084.894477V321.828571c0%2013.409524%208.97219%2022.332952%2022.381714%2022.332953s22.332952-8.923429%2022.332952-22.332953V138.581333c0-71.533714-62.561524-129.657905-138.581333-129.657904H147.504762z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M853.723429%20621.32419c26.819048-17.895619%2040.228571-49.200762%2040.228571-80.457142%200-53.638095-44.665905-98.352762-98.304-98.352762s-107.27619%2044.714667-107.27619%2098.352762c0%2053.638095%2035.742476%2089.380571%2053.638095%2080.457142%200%2049.152-17.895619%2089.380571-53.638095%20125.123048a226.986667%20226.986667%200%200%201-53.638096%2040.228572c-13.409524%200-22.381714%208.97219-22.381714%2022.381714v147.504762c0%2013.409524%208.97219%2022.332952%2022.381714%2022.332952h321.828572c13.409524%200%2022.332952-8.923429%2022.332952-22.332952v-147.504762c0-13.409524-8.923429-22.381714-22.332952-22.381714-17.895619-8.923429-102.838857-58.075429-102.838857-165.35162z%20m-58.075429-134.095238c31.256381%200%2053.638095%2026.819048%2053.638095%2053.638096s-26.819048%2053.638095-53.638095%2053.638095-53.638095-26.819048-53.638095-53.638095%2022.332952-53.638095%2053.638095-53.638096z%20m-76.01981%20295.009524a223.427048%20223.427048%200%200%200%2062.610286-138.581333h26.819048c4.437333%2067.047619%2035.742476%20111.762286%2062.561524%20143.018667l8.923428%208.97219h-174.323809c4.486095-8.97219%208.97219-13.409524%2013.409523-13.409524z%20m214.552381%20151.942095h-277.113904V831.390476h277.113904v102.790095z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M956.562286%20983.381333h-321.828572c-17.895619%200-26.819048-13.409524-26.819047-26.819047v-147.504762c0-13.409524%2013.409524-26.819048%2026.819047-26.819048a213.967238%20213.967238%200%200%200%2049.152-35.791238c31.305143-31.256381%2049.152-71.484952%2049.152-116.199619a101.717333%20101.717333%200%200%201-44.665904-84.943238c0-58.075429%2049.152-107.27619%20107.27619-107.276191%2058.075429%200%20107.27619%2049.200762%20107.27619%20107.276191%200%2031.305143-13.409524%2062.610286-40.228571%2084.943238%204.437333%2098.352762%2080.457143%20147.504762%2098.304%20156.428191%2013.409524%200%2026.819048%2013.409524%2026.819048%2026.819047v147.504762c-4.437333%208.97219-13.409524%2022.381714-31.256381%2022.381714z%20m-321.828572-187.733333c-8.97219%200-17.895619%208.923429-17.895619%2013.409524v147.504762c0%208.923429%208.923429%2013.409524%2013.409524%2013.409524h321.828571c8.923429%200%2013.409524-8.97219%2013.409524-13.409524v-147.504762c0-8.97219-8.923429-13.409524-13.409524-13.409524h-4.486095c-17.846857-8.97219-107.27619-58.12419-107.27619-169.886476v-4.437334h4.486095c22.332952-17.895619%2040.228571-44.714667%2040.228571-76.019809%200-49.152-40.228571-93.866667-93.866666-93.866667-49.152%200-93.866667%2040.228571-93.866667%2093.866667%200%2031.305143%2013.409524%2058.12419%2040.228572%2076.019809h4.486095v4.437334a179.004952%20179.004952%200%200%201-53.638095%20129.657905c-17.895619%2022.332952-40.228571%2035.742476-53.638096%2040.228571z%20m299.446857%20143.018667h-286.037333v-116.199619h295.009524v107.27619h-4.486095v8.923429h-4.486096z%20m-272.627809-13.409524h263.704381v-89.380572h-263.704381v89.380572z%20m254.780952-107.276191l-241.371428-4.486095%2031.256381-31.256381%208.97219-8.97219a212.016762%20212.016762%200%200%200%2062.561524-138.532572v-8.97219h44.714667v8.97219a212.016762%20212.016762%200%200%200%2062.561523%20138.532572l8.923429%208.97219%2022.381714%2035.742476z%20m-192.219428-35.742476h138.581333c-26.819048-26.819048-53.638095-71.533714-62.610286-134.095238h-13.409523c-4.437333%2062.561524-35.742476%20107.27619-62.561524%20134.095238z%20m71.533714-156.476952c-35.791238%200-93.866667-53.638095-93.866667-84.894476%200-35.791238%2053.638095-84.943238%2089.380572-84.943238%2035.742476%200%2093.866667%2040.228571%2093.866666%2075.971047%200%2035.791238-53.638095%2093.866667-89.380571%2093.866667z%20m0-134.095238c-26.819048%200-49.200762%2022.381714-49.200762%2049.200762%200%2026.819048%2022.381714%2049.152%2049.200762%2049.152%2026.819048%200%2049.152-22.332952%2049.152-49.152s-22.332952-49.200762-49.152-49.200762z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M223.47581%20272.676571c-13.409524%200-26.819048%208.923429-26.819048%2022.332953s13.409524%2022.332952%2026.819048%2022.332952h397.84838c13.409524%200%2022.332952-8.923429%2022.332953-22.332952s-8.923429-22.332952-22.332953-22.332953H223.47581z%20m330.800761%20201.142858c0-13.409524-13.409524-22.381714-26.819047-22.381715H223.47581c-13.409524%200-26.819048%208.97219-26.819048%2022.381715s13.409524%2022.332952%2026.819048%2022.332952h308.419047c13.409524%200%2022.381714-8.923429%2022.381714-22.332952z%20m-67.047619%20156.42819H223.47581c-13.409524%200-26.819048%208.923429-26.819048%2022.332952s13.409524%2022.381714%2026.819048%2022.381715h263.753142c13.409524%200%2026.819048-8.97219%2026.819048-22.381715s-13.409524-22.332952-26.819048-22.332952z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M487.228952%20683.885714H223.47581c-17.846857%200-35.742476-13.409524-35.742477-31.305143%200-17.846857%2013.409524-31.256381%2035.742477-31.256381h263.753142c17.846857%200%2035.742476%2013.409524%2035.742477%2031.256381%200%2017.895619-17.895619%2031.305143-35.742477%2031.305143z%20m-263.753142-44.714666c-8.923429%200-17.846857%204.486095-17.846858%2013.409523%200%208.97219%208.923429%2013.409524%2017.846858%2013.409524h263.753142c8.923429%200%2017.846857-4.437333%2017.846858-13.409524%200-8.923429-8.923429-13.409524-17.846858-13.409523H223.47581z%20m308.419047-134.095238H223.47581c-17.846857%200-35.742476-13.409524-35.742477-31.256381%200-17.895619%2013.409524-31.305143%2035.742477-31.305143h308.419047c17.895619%200%2035.791238%2013.409524%2035.791238%2031.305143-4.486095%2017.846857-17.895619%2031.256381-35.791238%2031.256381z%20m-308.419047-44.665905c-8.923429%200-17.846857%204.437333-17.846858%2013.409524%200%208.923429%208.923429%2013.409524%2017.846858%2013.409523h308.419047c8.97219%200%2017.895619-4.486095%2017.895619-13.409523%200-8.97219-8.923429-13.409524-17.895619-13.409524H223.47581z%20m397.84838-134.095238H223.47581a30.573714%2030.573714%200%200%201-31.256381-31.305143c0-17.895619%2013.409524-31.305143%2031.256381-31.305143h397.84838c17.846857%200%2031.256381%2013.409524%2031.256381%2031.305143a30.573714%2030.573714%200%200%201-31.256381%2031.305143z%20m-397.84838-44.714667c-8.923429%200-13.409524%204.486095-13.409524%2013.409524%200%208.923429%204.486095%2013.409524%2013.409524%2013.409524h397.84838c8.923429%200%2013.409524-4.486095%2013.409524-13.409524%200-8.923429-4.486095-13.409524-13.409524-13.409524H223.47581z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-feiyongbaoxiao { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-feiyongbaoxiao%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M742.723816%20507.603653a29.634637%2029.634637%200%200%200%200-59.269275H670.428328L750.399978%20353.56867a29.634637%2029.634637%200%201%200-44.986961-37.96211l-94.160919%20112.025442-94.114398-112.025442a29.588115%2029.588115%200%200%200-45.033483%2037.96211l79.366862%2094.765708h-75.226387a29.634637%2029.634637%200%200%200%200%2059.269275h103.651447v44.428694h-103.651447a29.634637%2029.634637%200%200%200%200%2059.269275h103.651447v79.413384a29.634637%2029.634637%200%201%200%2059.17623%200V611.301622h103.651447a29.634637%2029.634637%200%200%200%200-59.269275h-103.651447v-44.428694h103.651447z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M267.546132%20287.925855c-19.260188%200-34.891645%2014.328836-34.891645%2031.960747V456.84794c0%2017.678434%2015.631457%2031.960747%2034.891645%2031.960747%2019.074099-0.325655%2034.519468-14.42188%2034.891645-31.960747V319.886602c0-17.678434-15.631457-31.960747-34.891645-31.960747z%20m0-273.17832a35.915133%2035.915133%200%200%200-24.656762%208.978784A30.099859%2030.099859%200%200%200%20232.654487%2046.056972v136.914815c0%2017.678434%2015.631457%2031.960747%2034.891645%2031.960747s34.891645-14.328836%2034.891645-31.960747V46.056972C302.0656%2028.704193%20286.527187%2014.747535%20267.546132%2014.747535zM267.546132%20535.005225c-19.260188%200-34.891645%2014.328836-34.891645%2031.960747v136.914815c0%2017.678434%2015.631457%2031.960747%2034.891645%2031.960747%2019.074099-0.325655%2034.519468-14.42188%2034.891645-31.960747v-136.914815c0-17.678434-15.631457-31.960747-34.891645-31.960747zM267.546132%20799.669983c-19.260188%200-34.891645%2014.328836-34.891645%2031.960747v136.914815c0%2017.678434%2015.631457%2031.960747%2034.891645%2031.960747%2019.074099-0.325655%2034.519468-14.42188%2034.891645-31.960747v-136.914815c0-17.678434-15.631457-31.960747-34.891645-31.960747z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M891.873968%200H63.406747c-18.794966%200-36.287311%2012.09577-45.591749%2031.542047a72.574622%2072.574622%200%200%200%200.744355%2062.618873l58.524919%20115.328517L8.32447%20336.820681A71.876789%2071.876789%200%200%200%209.068826%20405.208305l64.107582%20112.583708L7.952293%20641.913225a71.923311%2071.923311%200%200%200%201.302621%2068.155014l65.503249%20112.676752-55.361411%20105.884512c-9.955749%2019.167144-10.420971%2043.26564-1.256099%2062.944528%209.257916%2019.678888%2026.750261%2031.914225%2045.731316%2031.914225H891.873968c72.574622%200%20131.657807-70.108946%20131.657808-156.31457V156.31457C1023.531776%2070.155468%20964.44859%200%20891.873968%200zM134.353092%20792.505565l-65.456726-114.909817%2065.131071-126.586889a74.900731%2074.900731%200%200%200-1.116533-69.038935L68.942888%20367.246195l68.480669-129.424742c10.839671-20.469765%2011.165326-46.103494%200.790878-66.945436L87.877421%2069.78329H252.65903v883.921676H88.714821l47.033937-91.788288a74.900731%2074.900731%200%200%200-1.395666-69.411113z%20m816.13884%2081.832539c0%2043.730862-32.100313%2079.366862-71.644178%2079.366862H252.65903v-883.921676h626.188724c39.543864%200%2071.644178%2035.636%2071.644178%2079.366862v725.187952z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-yinhangka-ka { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-yinhangka-ka%22%20viewBox%3D%220%200%201194%201024%22%3E%3Cpath%20d%3D%22M1194.666667%20285.013333V77.909333A78.122667%2078.122667%200%200%200%201116.757333%200H77.909333A78.122667%2078.122667%200%200%200%200%2077.909333V285.013333h1194.666667zM0%20414.890667v499.285333c0%2040.234667%2033.109333%2072.704%2072.704%2072.704h1045.333333c42.837333%200%2077.226667-34.389333%2076.629334-76.629333V414.890667H0z%20m1024.554667%20268.8l-24.021334%2095.445333a43.093333%2043.093333%200%200%201-42.24%2033.109333H848.64a22.186667%2022.186667%200%200%201-21.418667-27.306666l25.301334-99.968a37.461333%2037.461333%200%200%201%2036.352-28.586667h114.944c14.293333%200%2024.661333%2013.653333%2020.778666%2027.306667z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-xinrenzhinan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-xinrenzhinan%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m64%200l896%200q64%200%2064%2064l0%20896q0%2064-64%2064l-896%200q-64%200-64-64l0-896q0-64%2064-64Z%22%20fill%3D%22%234DB54B%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M618.656%20401.216h-181.312c0%2048.96%2040.576%2088.64%2090.656%2088.64%2050.08%200%2090.656-39.68%2090.656-88.64z%20m-226.656%20221.568h272c75.104%200%20136%2059.52%20136%20132.896V800H256v-44.32c0-73.408%2060.896-132.896%20136-132.896z%20m136-44.32c-100.16%200-181.344-79.36-181.344-177.248C346.656%20303.36%20427.84%20224%20528%20224s181.344%2079.36%20181.344%20177.216c0%2097.92-81.184%20177.248-181.344%20177.248z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-guanyuwomen2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-guanyuwomen2%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m64%200l896%200q64%200%2064%2064l0%20896q0%2064-64%2064l-896%200q-64%200-64-64l0-896q0-64%2064-64Z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M512%20224a288%20288%200%201%201%200%20576%20288%20288%200%200%201%200-576z%20m0%20233.6c-19.84%200-35.872%2016.064-35.872%2035.872v157.312a35.872%2035.872%200%201%200%2071.744%200v-157.312c0-19.808-16.064-35.84-35.872-35.84z%20m0-120.256a40.544%2040.544%200%201%200%200%2081.088%2040.544%2040.544%200%200%200%200-81.088z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-quanbu { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-quanbu%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M938.666667%20295.822222c0-113.777778-91.022222-210.488889-204.8-210.488889S529.066667%20176.355556%20529.066667%20295.822222v210.488889h204.8c113.777778-5.688889%20204.8-96.711111%20204.8-210.488889zM728.177778%20170.666667C796.444444%20170.666667%20853.333333%20227.555556%20853.333333%20295.822222c0%2068.266667-56.888889%20125.155556-125.155555%20125.155556h-125.155556V290.133333c0-62.577778%2056.888889-119.466667%20125.155556-119.466666zM295.822222%2085.333333c-113.777778%200-204.8%2091.022222-204.8%20210.488889s91.022222%20210.488889%20204.8%20210.488889h204.8V295.822222c0-119.466667-91.022222-210.488889-204.8-210.488889z%20m0%2085.333334c34.133333%200%2068.266667%2017.066667%2091.022222%2039.822222%2022.755556%2017.066667%2034.133333%2051.2%2034.133334%2079.644444v125.155556H295.822222C227.555556%20420.977778%20170.666667%20358.4%20170.666667%20290.133333S227.555556%20170.666667%20295.822222%20170.666667z%20m-210.488889%20557.511111c0%20113.777778%2091.022222%20210.488889%20204.8%20210.488889%2056.888889%200%20113.777778-22.755556%20147.911111-62.577778%2039.822222-39.822222%2062.577778-91.022222%2056.888889-142.222222V523.377778H290.133333c-108.088889%200-204.8%2091.022222-204.8%20204.8z%20m210.488889%20119.466666c-68.266667%200-125.155556-56.888889-125.155555-125.155555%200-68.266667%2056.888889-125.155556%20125.155555-125.155556h125.155556v125.155556c0%2068.266667-56.888889%20125.155556-125.155556%20125.155555z%20m432.355556-324.266666H523.377778v210.488889c0%20113.777778%2091.022222%20210.488889%20204.8%20210.488889s204.8-91.022222%20204.8-210.488889-91.022222-210.488889-204.8-210.488889z%20m-125.155556%2073.955555h125.155556c68.266667%200%20125.155556%2056.888889%20125.155555%20125.155556%200%2068.266667-56.888889%20125.155556-125.155555%20125.155555s-125.155556-56.888889-125.155556-125.155555v-125.155556z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shenfenzheng { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shenfenzheng%22%20viewBox%3D%220%200%201344%201024%22%3E%3Cpath%20d%3D%22M1132.8%200H192C89.6%200%200%2089.6%200%20192v640c0%20108.8%2089.6%20192%20192%20192h934.4c108.8%200%20192-89.6%20192-192V192c6.4-102.4-83.2-192-185.6-192z%20m102.4%20832c0%2057.6-44.8%20102.4-102.4%20102.4H192c-57.6%200-102.4-44.8-102.4-102.4V192c0-57.6%2044.8-102.4%20102.4-102.4h934.4c57.6%200%20102.4%2044.8%20102.4%20102.4v640z%22%20fill%3D%22%234DB54B%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1056%20531.2c38.4-32%2057.6-83.2%2057.6-134.4%200-108.8-83.2-192-192-192s-192%2083.2-192%20192c0%2051.2%2025.6%20102.4%2057.6%20134.4-64%2044.8-102.4%20115.2-102.4%20198.4%200%2025.6%2019.2%2044.8%2044.8%2044.8s44.8-19.2%2044.8-44.8c0-76.8%2057.6-134.4%20128-147.2h38.4c70.4%2012.8%20128%2070.4%20128%20147.2%200%2025.6%2019.2%2044.8%2044.8%2044.8s44.8-19.2%2044.8-44.8c0-83.2-38.4-160-102.4-198.4z%20m-108.8-38.4h-38.4c-44.8-6.4-83.2-51.2-83.2-96%200-57.6%2044.8-102.4%20102.4-102.4s96%2044.8%2096%2096-32%2089.6-76.8%20102.4zM588.8%20275.2H185.6c-25.6%200-44.8%2019.2-44.8%2044.8s19.2%2044.8%2044.8%2044.8h403.2c25.6%200%2044.8-19.2%2044.8-44.8s-19.2-44.8-44.8-44.8zM588.8%20467.2H185.6c-25.6%200-44.8%2019.2-44.8%2044.8%200%2025.6%2019.2%2044.8%2044.8%2044.8h403.2c25.6%200%2044.8-19.2%2044.8-44.8%200-25.6-19.2-44.8-44.8-44.8zM473.6%20665.6H185.6c-25.6%200-44.8%2019.2-44.8%2044.8%200%2025.6%2019.2%2044.8%2044.8%2044.8h281.6c25.6%200%2044.8-19.2%2044.8-44.8%206.4-25.6-12.8-44.8-38.4-44.8z%22%20fill%3D%22%234DB54B%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-jieren { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-jieren%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M819.2%20352c44.8%200%2089.6-19.2%20121.6-51.2s51.2-76.8%2044.8-115.2c0-96-76.8-166.4-172.8-166.4S640%2096%20640%20192c6.4%2083.2%2083.2%20160%20179.2%20160z%20m-76.8-172.8c0-44.8%2038.4-76.8%2083.2-76.8%2025.6%200%2044.8%206.4%2057.6%2025.6%2012.8%2012.8%2019.2%2032%2019.2%2051.2%200%2044.8-38.4%2076.8-83.2%2076.8s-76.8-32-76.8-76.8zM204.8%20352c96%200%20172.8-76.8%20172.8-172.8C377.6%2083.2%20300.8%2012.8%20204.8%2012.8c-51.2%200-96%2019.2-128%2051.2S32%20140.8%2032%20185.6c0%2089.6%2076.8%20166.4%20172.8%20166.4zM121.6%20179.2c0-44.8%2038.4-76.8%2083.2-76.8%2044.8%200%2083.2%2038.4%2083.2%2076.8%200%2044.8-38.4%2076.8-83.2%2076.8s-83.2-32-83.2-76.8z%22%20fill%3D%22%234DB54B%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M832%20358.4h-12.8c-102.4%200-179.2%2083.2-179.2%20179.2v6.4c-6.4%200-12.8%206.4-12.8%206.4l-128%20102.4-108.8-89.6v-32c0-96-83.2-179.2-179.2-179.2H192C89.6%20352%2012.8%20435.2%2012.8%20531.2v396.8c0%2044.8%2032%2076.8%2076.8%2076.8h217.6c44.8%200%2076.8-32%2083.2-76.8v-256l64%2057.6c6.4%206.4%2019.2%2012.8%2032%2012.8s19.2-6.4%2025.6-12.8l121.6-96v288c0%2044.8%2032%2076.8%2076.8%2076.8h217.6c44.8%200%2083.2-32%2083.2-76.8V531.2c0-96-83.2-172.8-179.2-172.8z%20m89.6%20172.8v384h-198.4v-384c0-51.2%2038.4-89.6%2089.6-89.6h12.8c51.2%206.4%2096%2044.8%2096%2089.6z%20m-620.8%200v384H102.4v-384C102.4%20486.4%20140.8%20448%20192%20448h12.8c57.6%200%2096%2038.4%2096%2083.2z%20m185.6%20198.4z%22%20fill%3D%22%234DB54B%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-qiye { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-qiye%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M898.844444%20506.311111l-278.755555-199.111111V159.288889c0-39.822222-17.066667-73.955556-51.2-96.711111C540.444444%2045.511111%20500.622222%2039.822222%20460.8%2056.888889L147.911111%20182.044444c-45.511111%2017.066667-73.955556%2056.888889-73.955555%20108.088889v568.888889c0%2062.577778%2051.2%20119.466667%20119.466666%20119.466667h642.844445c62.577778%200%20119.466667-51.2%20119.466666-119.466667v-256c-5.688889-39.822222-22.755556-73.955556-56.888889-96.711111z%20m-28.444444%20352.711111c0%2022.755556-17.066667%2039.822222-39.822222%2039.822222h-210.488889V403.911111L853.333333%20568.888889c11.377778%205.688889%2017.066667%2017.066667%2017.066667%2034.133333v256z%20m-523.377778-238.933333c-22.755556%200-39.822222%2017.066667-39.822222%2039.822222v238.933333h-113.777778c-11.377778%200-17.066667-5.688889-28.444444-11.377777-5.688889-5.688889-11.377778-17.066667-11.377778-28.444445v-568.888889c0-17.066667%2011.377778-28.444444%2022.755556-34.133333l312.888888-125.155556c5.688889%200%2011.377778-5.688889%2011.377778-5.688888%205.688889%200%2017.066667%200%2022.755556%205.688888%2011.377778%205.688889%2017.066667%2017.066667%2017.066666%2028.444445v739.555555H386.844444v-238.933333c0-22.755556-17.066667-39.822222-39.822222-39.822222z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-mianshi { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-mianshi%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M961.422222%20472.177778c-11.377778-5.688889-28.444444-5.688889-39.822222%200L512%20631.466667%20102.4%20472.177778c-11.377778-5.688889-28.444444-5.688889-39.822222%200-11.377778%205.688889-22.755556%2017.066667-17.066667%2034.133333v381.155556c0%2045.511111%2039.822222%2079.644444%2091.022222%2079.644444h756.622223c51.2%200%2091.022222-34.133333%2091.022222-79.644444V506.311111c-5.688889-17.066667-11.377778-28.444444-22.755556-34.133333z%20m-68.266666%2091.022222v318.577778s0%205.688889-5.688889%205.688889H130.844444s-5.688889%200-5.688888-5.688889V563.2l364.088888%20147.911111c11.377778%205.688889%2022.755556%205.688889%2034.133334%200l369.777778-147.911111z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M790.755556%2079.644444H238.933333c-45.511111%200-79.644444%2028.444444-79.644444%2068.266667v386.844445c0%2022.755556%2017.066667%2039.822222%2039.822222%2039.822222s39.822222-17.066667%2039.822222-39.822222V153.6h551.822223v381.155556c0%2022.755556%2017.066667%2039.822222%2039.822222%2039.822222%2022.755556%200%2039.822222-17.066667%2039.822222-39.822222V147.911111c0-39.822222-34.133333-68.266667-79.644444-68.266667z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M711.111111%20358.4H347.022222c-22.755556%200-39.822222%2017.066667-39.822222%2039.822222s17.066667%2039.822222%2039.822222%2039.822222h364.088889c22.755556%200%2039.822222-17.066667%2039.822222-39.822222s-22.755556-39.822222-39.822222-39.822222zM546.133333%20341.333333h164.977778c22.755556%200%2039.822222-17.066667%2039.822222-39.822222s-17.066667-39.822222-39.822222-39.822222H546.133333c-22.755556%200-39.822222%2017.066667-39.822222%2039.822222s17.066667%2039.822222%2039.822222%2039.822222z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-weizaizhilaoxiang { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-weizaizhilaoxiang%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M77.575758%2015.515152h868.848484c34.133333%200%2062.060606%2027.927273%2062.060606%2062.060606v868.848484c0%2034.133333-27.927273%2062.060606-62.060606%2062.060606h-868.848484c-34.133333%200-62.060606-27.927273-62.060606-62.060606v-868.848484c0-34.133333%2027.927273-62.060606%2062.060606-62.060606z%22%20fill%3D%22%23FFAB00%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M381.672727%20403.393939c40.339394%200%2071.369697-31.030303%2071.369697-71.369697V211.006061h-93.090909c-27.927273%200-52.751515%2021.721212-52.751515%2052.751515v68.266666c3.10303%2037.236364%2037.236364%2071.369697%2074.472727%2071.369697zM657.842424%20446.836364c34.133333%200%2065.163636-27.927273%2065.163637-65.163637V276.169697h-80.678788c-24.824242%200-46.545455%2021.721212-46.545455%2046.545455v62.060606c0%2034.133333%2027.927273%2062.060606%2062.060606%2062.060606zM456.145455%20449.939394H266.860606l-77.575758%2096.193939%2077.575758%2046.545455v217.212121h238.933333v-310.30303c0-27.927273-24.824242-49.648485-49.648484-49.648485zM763.345455%20490.278788H620.606061c-37.236364%200-68.266667%2031.030303-68.266667%2068.266667v251.345454h214.109091v-167.563636l74.472727-46.545455c-3.10303-3.10303-77.575758-105.50303-77.575757-105.50303z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-paizhao1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-paizhao1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M590.147368%20175.157895c24.252632%200%2048.505263%2010.778947%2064.673685%2029.642105l70.063158%2083.536842h80.842105c45.810526%200%2083.536842%2035.031579%2083.536842%2080.842105V768c0%2045.810526-37.726316%2083.536842-83.536842%2083.536842H218.273684c-45.810526%202.694737-83.536842-35.031579-83.536842-83.536842V371.873684c0-45.810526%2037.726316-83.536842%2083.536842-83.536842h80.842105l70.063158-83.536842c16.168421-16.168421%2037.726316-26.947368%2061.978948-29.642105h158.989473z%20m0%2056.589473h-153.6c-8.084211%200-16.168421%202.694737-21.557894%2010.778948l-88.926316%20102.4h-107.789474c-16.168421%200-26.947368%2013.473684-26.947368%2026.947368v396.126316c0%2016.168421%2013.473684%2026.947368%2026.947368%2026.947368h584.757895c16.168421%200%2026.947368-13.473684%2026.947368-26.947368V371.873684c0-16.168421-13.473684-26.947368-26.947368-26.947368h-107.789474L609.010526%20242.526316c-2.694737-8.084211-10.778947-10.778947-18.863158-10.778948z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M803.031579%20854.231579H218.273684c-45.810526%200-83.536842-37.726316-83.536842-86.231579V374.568421c0-48.505263%2037.726316-86.231579%2086.231579-86.231579h80.842105l67.368421-80.842105c13.473684-21.557895%2037.726316-32.336842%2061.978948-32.336842h158.989473c26.947368%200%2048.505263%2010.778947%2067.368421%2032.336842l67.368422%2080.842105h80.842105c45.810526%200%2083.536842%2035.031579%2086.231579%2080.842105V768c-2.694737%2048.505263-40.421053%2086.231579-88.926316%2086.231579z%20m-584.757895-565.894737c-45.810526%200-83.536842%2037.726316-83.536842%2086.231579v393.431579c0%2045.810526%2037.726316%2083.536842%2083.536842%2083.536842h584.757895c45.810526%200%2083.536842-37.726316%2083.536842-83.536842V369.178947c-2.694737-45.810526-37.726316-80.842105-83.536842-80.842105h-80.842105l-70.063158-83.536842c-13.473684-16.168421-37.726316-29.642105-61.978948-29.642105H431.157895c-24.252632%200-45.810526%2013.473684-59.284211%2029.642105l-70.063158%2083.536842H218.273684z%20m584.757895%20509.305263H218.273684c-16.168421%200-29.642105-13.473684-29.642105-29.642105V374.568421c0-16.168421%2013.473684-29.642105%2029.642105-29.642105h107.789474L412.294737%20242.526316c5.389474-8.084211%2013.473684-10.778947%2021.557895-10.778948h153.6c8.084211%200%2016.168421%202.694737%2021.557894%2010.778948l86.231579%20102.4h107.789474c16.168421%200%2029.642105%2013.473684%2029.642105%2029.642105v393.431579c2.694737%2018.863158-10.778947%2029.642105-29.642105%2029.642105zM218.273684%20344.926316c-16.168421%200-26.947368%2010.778947-26.947368%2026.947368v396.126316c0%2016.168421%2010.778947%2026.947368%2026.947368%2026.947368h584.757895c16.168421%200%2026.947368-10.778947%2026.947368-26.947368V374.568421c0-16.168421-10.778947-26.947368-26.947368-26.947368h-107.789474l-86.231579-102.4c-5.389474-5.389474-13.473684-10.778947-21.557894-10.778948h-153.6c-8.084211%200-16.168421%202.694737-21.557895%2010.778948l-83.536842%2099.705263H218.273684z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M512%20412.294737c78.147368%200%20142.821053%2064.673684%20142.821053%20140.126316%200%2078.147368-64.673684%20142.821053-142.821053%20142.821052s-140.126316-64.673684-140.126316-142.821052%2061.978947-140.126316%20140.126316-140.126316z%20m0%2056.589474c-45.810526%200-83.536842%2037.726316-83.536842%2083.536842%200%2045.810526%2037.726316%2083.536842%2083.536842%2083.536842s83.536842-37.726316%2083.536842-83.536842c0-45.810526-37.726316-83.536842-83.536842-83.536842z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M512%20695.242105c-78.147368%200-142.821053-64.673684-142.821053-142.821052s64.673684-142.821053%20142.821053-142.821053%20142.821053%2064.673684%20142.821053%20142.821053-64.673684%20142.821053-142.821053%20142.821052z%20m0-282.947368c-78.147368%200-140.126316%2061.978947-140.126316%20140.126316s61.978947%20140.126316%20140.126316%20140.126315%20140.126316-61.978947%20140.126316-140.126315-61.978947-140.126316-140.126316-140.126316z%20m0%20226.357895c-48.505263%200-86.231579-37.726316-86.231579-86.231579s37.726316-86.231579%2086.231579-86.231579%2086.231579%2037.726316%2086.231579%2086.231579-37.726316%2086.231579-86.231579%2086.231579z%20m0-169.768421c-45.810526%200-83.536842%2037.726316-83.536842%2083.536842%200%2045.810526%2037.726316%2083.536842%2083.536842%2083.536842%2045.810526%200%2083.536842-37.726316%2083.536842-83.536842%200-45.810526-37.726316-83.536842-83.536842-83.536842z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-ludan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-ludan%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M538.543158%20898.56H274.324211A85.800421%2085.800421%200%200%201%20188.631579%20812.867368V209.650526a85.800421%2085.800421%200%200%201%2085.692632-85.692631h475.351578A85.800421%2085.800421%200%200%201%20835.368421%20209.650526v392.084211c0%20163.651368-133.173895%20296.825263-296.825263%20296.825263zM274.324211%20181.867789c-15.333053%200-27.809684%2012.449684-27.809685%2027.782737v603.216842c0%2015.333053%2012.476632%2027.809684%2027.809685%2027.809685h264.218947c131.745684%200%20238.942316-107.196632%20238.942316-238.969264V209.650526c0-15.333053-12.476632-27.809684-27.809685-27.809684H274.324211z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M636.604632%20460.8h-249.209264a28.941474%2028.941474%200%200%201%200-57.909895h249.209264a28.941474%2028.941474%200%200%201%200%2057.909895z%20m-109.514106%20178.930526h-139.695158a28.941474%2028.941474%200%200%201%200-57.882947h139.695158a28.941474%2028.941474%200%200%201%200%2057.882947z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-xiangce { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-xiangce%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M754.036364%2041.890909H269.963636C144.290909%2041.890909%2041.890909%20139.636364%2041.890909%20256v507.345455C41.890909%20884.363636%20144.290909%20977.454545%20269.963636%20977.454545h488.727273c125.672727%200%20223.418182-97.745455%20223.418182-214.10909V256C982.109091%20139.636364%20879.709091%2041.890909%20754.036364%2041.890909z%20m158.254545%20214.109091v507.345455c0%2083.781818-69.818182%20148.945455-158.254545%20148.945454H269.963636c-88.436364%200-158.254545-69.818182-158.254545-148.945454V256c0-83.781818%2069.818182-148.945455%20158.254545-148.945455h488.727273c83.781818%200%20153.6%2069.818182%20153.6%20148.945455z%22%20fill%3D%22%23666666%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M693.527273%20474.763636c-9.309091-18.618182-27.927273-32.581818-46.545455-32.581818s-41.890909%2013.963636-46.545454%2032.581818l-32.581819%2069.818182c0%204.654545-4.654545%204.654545-4.654545%200l-83.781818-195.490909c-9.309091-18.618182-27.927273-32.581818-46.545455-32.581818s-41.890909%2013.963636-46.545454%2032.581818l-125.672728%20288.581818c-9.309091%2018.618182-4.654545%2037.236364%204.654546%2051.2%209.309091%2013.963636%2027.927273%2023.272727%2041.890909%2023.272728h409.6c18.618182%200%2032.581818-9.309091%2041.890909-23.272728%209.309091-13.963636%209.309091-32.581818%204.654546-51.2l-69.818182-162.909091z%20m13.963636%20181.527273H316.509091l111.709091-260.654545%2074.472727%20176.872727c9.309091%2023.272727%2032.581818%2037.236364%2055.854546%2037.236364%2027.927273%200%2046.545455-13.963636%2055.854545-37.236364l23.272727-55.854546%2069.818182%20139.636364z%22%20fill%3D%22%23666666%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-qudaohezuo { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-qudaohezuo%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m56.888889%200l910.222222%200q56.888889%200%2056.888889%2056.888889l0%20910.222222q0%2056.888889-56.888889%2056.888889l-910.222222%200q-56.888889%200-56.888889-56.888889l0-910.222222q0-56.888889%2056.888889-56.888889Z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M667.306667%20700.273778l-159.004445-158.520889a11.946667%2011.946667%200%200%200-17.265778%200%2011.861333%2011.861333%200%200%200%200%2017.208889l159.004445%20158.520889-60.387556%2060.188444-151.608889-149.902222a11.946667%2011.946667%200%200%200-17.265777%200%2011.861333%2011.861333%200%200%200%200%2017.208889l150.385777%20149.902222-33.28%2033.166222c-14.791111%2014.762667-38.200889%2014.762667-51.768888%200l-189.809778-187.989333-139.292445-140.060445a48.839111%2048.839111%200%200%201%200-70.030222l145.436445-145.009778a49.208889%2049.208889%200%200%201%2070.257778%200L512%20425.045333l215.694222%20215.04-60.387555%2060.188445z%20m199.68-200.277334l-122.026667%20121.628445-215.694222-213.788445%20122.026666-121.628444a49.208889%2049.208889%200%200%201%2070.257778%200l145.436445%20144.981333c19.712%2019.626667%2019.712%2050.346667%200%2068.807111z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhuchang { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhuchang%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m56.888889%200l910.222222%200q56.888889%200%2056.888889%2056.888889l0%20910.222222q0%2056.888889-56.888889%2056.888889l-910.222222%200q-56.888889%200-56.888889-56.888889l0-910.222222q0-56.888889%2056.888889-56.888889Z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M278.840889%20622.279111c0%2057.457778-29.383111%2094.520889-33.905778%2099.868445l-0.568889%200.682666-47.104-25.827555c24.860444-26.481778%2028.899556-70.656%2029.184-74.467556l0.028445-0.256h52.337777z%20m617.102222%200c0%2057.457778-29.383111%2094.520889-33.905778%2099.868445l-0.568889%200.682666-47.104-25.827555c24.860444-26.481778%2028.899556-70.656%2029.212445-74.467556v-0.256h52.366222zM615.907556%20355.555556l-0.028445%2082.232888h35.100445v31.971556l-35.100445-0.028444v159.772444h35.100445v31.971556h-122.538667v-31.971556h35.043555v-159.772444h-35.043555v-31.943112h35.043555V355.555556h52.423112z%20m-153.201778%2038.769777v31.943111h-56.917334v54.926223h56.917334v31.971555h-56.917334v116.337778h60.302223v31.971556h-179.256889v-31.971556h66.56v-116.337778h-63.089778v-31.943111l63.089778-0.028444v-54.926223h-63.089778v-31.943111h172.401778z%20m278.471111%20166.599111c0%2070.656-25.002667%2096.910222-28.444445%20100.181334l-0.398222%200.369778-47.104-25.827556c20.593778-21.902222%2023.352889-55.950222%2023.608889-69.205333l0.028445-3.413334-0.028445-1.848889v-0.256h52.337778z%20m77.653333-78.819555v79.644444c1.137778%2076.743111-17.408%2098.247111-18.659555%2099.612445l-0.056889%200.056889-47.274667-25.827556c11.918222-19.911111%2013.511111-53.134222%2013.624889-67.214222v-4.124445l-0.056889-2.218666v-79.928889h52.394667zM250.908444%20355.555556l-0.028444%20125.639111h27.989333v141.027555H226.474667v-109.056H119.580444v-118.840889h52.394667v86.869334h26.538667v-93.866667H119.580444V355.555556h131.356445zM896%20622.222222h-52.423111v-152.490666h-177.635556v-31.943112l81.578667-50.289777h-81.578667V355.555556h177.635556v31.971555L761.742222%20437.76H896v184.433778z%20m-680.874667-65.991111v31.943111H99.555556v-31.971555h115.569777z%20m526.108445-75.008v79.644445h-52.423111v-79.644445h52.423111zM402.033778%20355.555556l7.566222%2033.848888h-52.423111l-7.566222-33.848888h52.423111z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodexiangmu { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodexiangmu%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M967.111111%200a56.888889%2056.888889%200%200%201%2056.888889%2056.888889v910.222222a56.888889%2056.888889%200%200%201-56.888889%2056.888889H56.888889a56.888889%2056.888889%200%200%201-56.888889-56.888889V56.888889a56.888889%2056.888889%200%200%201%2056.888889-56.888889h910.222222zM530.119111%20211.996444a62.833778%2062.833778%200%200%200-40.760889%200L231.224889%20338.773333c-4.522667%200-13.568%209.073778-18.090667%2018.119111-9.073778%2022.641778%200%2049.834667%2022.641778%2058.88l54.328889%2027.164445-54.328889%2027.164444c-18.119111%209.073778-27.192889%2022.641778-27.192889%2040.760889s9.073778%2031.715556%2027.192889%2040.760889l54.328889%2027.164445-54.328889%2027.164444c-18.119111%209.073778-27.192889%2022.670222-27.192889%2040.760889%200%2018.119111%204.551111%2031.715556%2022.641778%2040.760889l258.133333%20126.805333c9.045333%204.551111%2013.596444%204.551111%2022.641778%204.551111%209.045333%200%2018.119111%200%2022.641778-4.551111l249.059555-122.282667c22.641778-9.045333%2031.715556-27.164444%2031.715556-45.283555%200-22.641778-9.073778-36.209778-31.715556-45.283556l-49.806222-22.641777%2049.806222-22.641778c22.641778-9.045333%2031.715556-27.164444%2031.715556-45.283556%200-22.641778-9.073778-36.209778-31.715556-45.283555l-49.806222-22.641778%2054.328889-27.164445c4.551111%200%2013.596444-9.045333%2018.119111-18.119111%2013.596444-22.641778%204.551111-49.806222-18.119111-58.88z%20m-190.208%20393.955556l149.447111%2076.999111c9.045333%204.551111%2013.596444%204.551111%2022.641778%204.551111%209.045333%200%2018.119111%200%2022.641778-4.551111l149.447111-72.448%2086.044444%2040.760889L512%20778.040889l-258.133333-131.328%2086.044444-40.760889z%20m344.177778-135.850667l86.044444%2040.760889L512%20642.190222%20253.866667%20510.862222l86.044444-40.760889%20153.969778%2072.476445c13.596444%204.522667%2027.164444%204.522667%2040.760889%200l149.447111-72.476445z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodetonggao { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodetonggao%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M967.111111%200a56.888889%2056.888889%200%200%201%2056.888889%2056.888889v910.222222a56.888889%2056.888889%200%200%201-56.888889%2056.888889H56.888889a56.888889%2056.888889%200%200%201-56.888889-56.888889V56.888889a56.888889%2056.888889%200%200%201%2056.888889-56.888889h910.222222z%20m-182.044444%20438.983111h-66.844445v125.809778l-0.142222%204.835555c-2.474667%2036.721778-32.796444%2061.980444-66.645333%2061.980445H446.862222v78.648889l0.170667%203.896889c2.019556%2021.816889%2020.792889%2039.338667%2043.064889%2039.338666H651.377778l11.377778%209.045334c14.734222%2011.576889%2027.960889%2021.617778%2043.690666%2034.190222%207.822222%203.925333%2011.832889%2011.832889%2019.655111%2015.758222%203.925333%203.925333%2011.832889%207.822222%2015.758223%203.925333%203.896889-3.925333%207.822222-7.850667%207.822222-15.758222V753.493333h31.488l3.896889-0.170666a43.690667%2043.690667%200%200%200%2039.338666-43.064889v-228.124445l0.426667-3.669333c1.422222-21.845333-17.408-39.480889-39.736889-39.480889zM635.591111%20199.111111H242.346667l-3.896889%200.170667C216.661333%20201.329778%20199.111111%20220.302222%20199.111111%20246.272v306.773333l0.170667%203.868445c2.019556%2021.816889%2020.792889%2039.367111%2043.064889%2039.367111l39.310222-0.028445v70.826667l0.256%203.128889c0.881778%205.859556%204.266667%209.272889%207.594667%2012.629333%207.850667%203.925333%2011.832889%200%2015.758222-3.925333l9.500444-7.566222%202.304-1.848889v1.507555l1.422222-2.645333%205.262223-4.152889c11.662222-9.301333%2022.158222-18.033778%2032.654222-28.529778l8.846222-6.513777%2017.692445-14.506667c2.958222-2.304%205.916444-4.522667%208.874666-6.485333%206.456889-3.214222%2010.296889-6.428444%2015.815111-11.889778h227.953778l3.896889-0.199111a43.690667%2043.690667%200%200%200%2039.367111-43.036445V246.272l-0.199111-4.522667C676.693333%20216.661333%20657.92%20199.111111%20635.591111%20199.111111z%20m-318.492444%20153.372445a43.52%2043.52%200%200%201%2043.235555%2043.235555c0%2023.608889-19.683556%2043.235556-43.235555%2043.235556-23.608889%200-43.235556-19.626667-43.235556-43.235556%200-23.552%2019.626667-43.235556%2043.235556-43.235555z%20m117.959111%200a43.52%2043.52%200%200%201%2043.235555%2043.235555c0%2023.608889-19.655111%2043.235556-43.235555%2043.235556-23.580444%200-43.235556-19.626667-43.235556-43.235556%200-23.552%2019.655111-43.235556%2043.235556-43.235555z%20m121.884444%200a43.52%2043.52%200%200%201%2043.235556%2043.235555c0%2023.608889-19.626667%2043.235556-43.235556%2043.235556-23.580444%200-43.235556-19.626667-43.235555-43.235556%200-23.552%2019.655111-43.235556%2043.235555-43.235555z%22%20fill%3D%22%23FFAB00%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodegongdan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodegongdan%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M943.693576%206.237091a62.060606%2062.060606%200%200%201%2062.060606%2062.060606v868.848485a62.060606%2062.060606%200%200%201-62.060606%2062.060606h-868.848485a62.060606%2062.060606%200%200%201-62.060606-62.060606v-868.848485a62.060606%2062.060606%200%200%201%2062.060606-62.060606h868.848485z%20m-638.014061%20217.212121c-34.381576%200-60.167758%2027.120485-60.167757%2058.119758v442.336969c0%2030.968242%2025.786182%2058.088727%2060.167757%2058.088728h395.264c34.381576%200%2060.167758-27.120485%2060.167758-58.088728V281.56897c0-30.999273-25.786182-58.119758-60.167758-58.119758H305.679515z%20m166.384485%20300.776727c15.639273%200%2031.247515%2016.104727%2031.247515%2032.209455%200%2016.135758-12.505212%2032.209455-28.113454%2032.209454h-112.484849c-15.639273%200-31.247515-16.104727-31.247515-32.209454%200-16.135758%2012.474182-32.209455%2031.247515-32.209455h109.350788z%20m125.362424-128.899878c11.388121%200%2026.59297%206.423273%2030.409697%2016.104727%203.785697%209.650424%207.571394%2022.55903%200%2032.209454-3.816727%209.681455-15.204848%2016.135758-26.624%2016.135758h-231.765333c-18.990545%200-37.981091-16.135758-37.981091-32.240485%200-16.135758%2015.204848-32.209455%2037.981091-32.209454h227.979636z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-mendian { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-mendian%22%20viewBox%3D%220%200%201920%201024%22%3E%3Cpath%20d%3D%22M160%2032h1600c70.4%200%20128%2057.6%20128%20128v704c0%2070.4-57.6%20128-128%20128h-1600c-70.4%200-128-57.6-128-128v-704c0-70.4%2057.6-128%20128-128z%22%20fill%3D%22%23F3FFFE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1760%201024h-1600C70.4%201024%200%20953.6%200%20864v-704C0%2070.4%2070.4%200%20160%200h1600C1849.6%200%201920%2070.4%201920%20160v704c0%2089.6-70.4%20160-160%20160zM160%2064C108.8%2064%2064%20108.8%2064%20160v704c0%2051.2%2044.8%2096%2096%2096h1600c51.2%200%2096-44.8%2096-96v-704c0-51.2-44.8-96-96-96h-1600z%22%20fill%3D%22%238EDDD6%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M326.4%20300.8v576h-51.2v-576h51.2z%20m153.6%206.4l-51.2%2025.6c-25.6-57.6-57.6-102.4-96-147.2l51.2-19.2c38.4%2044.8%2070.4%2089.6%2096%20140.8z%20m268.8%20563.2l-12.8-51.2h70.4c19.2%200%2032-12.8%2032-44.8v-512H537.6v-51.2h345.6v582.4c0%2051.2-25.6%2076.8-76.8%2076.8h-57.6zM1408%20249.6h281.6v51.2h-563.2v166.4c0%20166.4-32%20300.8-83.2%20403.2l-38.4-38.4c44.8-89.6%2070.4-211.2%2070.4-364.8V249.6h281.6c-12.8-25.6-25.6-51.2-38.4-70.4l57.6-6.4c6.4%2019.2%2019.2%2044.8%2032%2076.8z%20m12.8%2083.2v89.6h256v51.2h-256v115.2h204.8v288h-57.6v-38.4h-326.4v38.4h-57.6V588.8h172.8v-256h64z%20m147.2%20454.4V640h-326.4v147.2h326.4z%22%20fill%3D%22%2305B2A3%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-tongye { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-tongye%22%20viewBox%3D%220%200%201920%201024%22%3E%3Cpath%20d%3D%22M160%2032h1600c70.4%200%20128%2057.6%20128%20128v704c0%2070.4-57.6%20128-128%20128h-1600c-70.4%200-128-57.6-128-128v-704c0-70.4%2057.6-128%20128-128z%22%20fill%3D%22%23FFF3F3%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1760%201024h-1600C70.4%201024%200%20953.6%200%20864v-704C0%2070.4%2070.4%200%20160%200h1600C1849.6%200%201920%2070.4%201920%20160v704c0%2089.6-70.4%20160-160%20160zM160%2064C108.8%2064%2064%20108.8%2064%20160v704c0%2051.2%2044.8%2096%2096%2096h1600c51.2%200%2096-44.8%2096-96v-704c0-51.2-44.8-96-96-96h-1600z%22%20fill%3D%22%23FEA39F%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M716.8%20870.4l-12.8-57.6h102.4c19.2%200%2032-12.8%2032-32V256h-512v620.8h-51.2V198.4h614.4v595.2c0%2051.2-19.2%2076.8-64%2076.8h-108.8z%20m57.6-531.2v51.2H384v-51.2h390.4z%20m-38.4%20134.4v249.6H428.8V473.6h307.2z%20m-57.6%2051.2H480v147.2h198.4V524.8zM1292.8%20179.2v608h108.8V179.2h57.6v608h230.4v51.2H1011.2v-51.2h230.4V179.2h51.2z%20m-108.8%20492.8l-51.2%2012.8c-25.6-121.6-64-243.2-102.4-352l44.8-12.8c38.4%20102.4%2076.8%20217.6%20108.8%20352z%20m486.4-339.2c-32%20134.4-70.4%20249.6-115.2%20352l-51.2-19.2c44.8-89.6%2083.2-204.8%20115.2-345.6l51.2%2012.8z%22%20fill%3D%22%23F6343E%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-yiye { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-yiye%22%20viewBox%3D%220%200%201920%201024%22%3E%3Cpath%20d%3D%22M160%2032h1600c70.4%200%20128%2057.6%20128%20128v704c0%2070.4-57.6%20128-128%20128h-1600c-70.4%200-128-57.6-128-128v-704c0-70.4%2057.6-128%20128-128z%22%20fill%3D%22%23F2F9FF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1760%201024h-1600C70.4%201024%200%20953.6%200%20864v-704C0%2070.4%2070.4%200%20160%200h1600C1849.6%200%201920%2070.4%201920%20160v704c0%2089.6-70.4%20160-160%20160zM160%2064C108.8%2064%2064%20108.8%2064%20160v704c0%2051.2%2044.8%2096%2096%2096h1600c51.2%200%2096-44.8%2096-96v-704c0-51.2-44.8-96-96-96h-1600z%22%20fill%3D%22%2390CAFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M435.2%20640V556.8h57.6V640h204.8V550.4h57.6V640h192v51.2h-192v185.6h-57.6v-185.6H486.4c-19.2%2089.6-76.8%20153.6-172.8%20185.6l-32-44.8c83.2-25.6%20128-70.4%20147.2-140.8h-192V640h198.4z%20m384-256H377.6v51.2c0%2025.6%2012.8%2038.4%2038.4%2038.4h403.2c19.2%200%2025.6-6.4%2032-12.8%206.4-6.4%206.4-32%2012.8-64l51.2%2019.2c0%2038.4-6.4%2057.6-12.8%2076.8-12.8%2025.6-32%2032-64%2038.4H396.8C345.6%20524.8%20320%20499.2%20320%20454.4V204.8h492.8V384z%20m-57.6-51.2V249.6h-384v83.2h384zM1299.2%20179.2v608H1408V179.2h57.6v608h230.4v51.2H1017.6v-51.2h230.4V179.2h51.2z%20m-108.8%20499.2l-51.2%2012.8c-25.6-121.6-64-243.2-102.4-352l44.8-19.2c38.4%20102.4%2076.8%20224%20108.8%20358.4z%20m486.4-345.6c-32%20134.4-70.4%20249.6-115.2%20352l-51.2-19.2c44.8-89.6%2083.2-204.8%20115.2-345.6l51.2%2012.8z%22%20fill%3D%22%231890FF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-weixindibulan-dianji { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-weixindibulan-dianji%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M376.539429%20671.110095c-41.447619%207.168-93.42781-3.462095-130.29181-15.993905a348.16%20348.16%200%200%201-26.819048-10.337523c-8.728381-3.803429-60.708571%2041.935238-68.900571%2037.546666-16.676571-9.020952%2011.264-69.046857-3.072-80.408381C86.649905%20553.788952%2048.761905%20485.814857%2048.761905%20410.38019%2048.761905%20264.533333%20191.341714%20133.412571%20365.714286%20146.285714c182.369524%2013.409524%20293.692952%20154.087619%20293.692952%20226.157715%22%20fill%3D%22%23FF6A00%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M224.304762%20346.209524m-48.761905%200a48.761905%2048.761905%200%201%200%2097.52381%200%2048.761905%2048.761905%200%201%200-97.52381%200Z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M419.352381%20346.209524m-48.761905%200a48.761905%2048.761905%200%201%200%2097.52381%200%2048.761905%2048.761905%200%201%200-97.52381%200Z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M682.666667%20877.714286c39.009524%200%2076.214857-6.339048%20110.250666-17.895619%208.484571-2.925714%2016.774095-6.095238%2024.81981-9.606096%207.996952-3.462095%2055.978667%2038.716952%2063.536762%2034.620953%2015.408762-8.289524-10.386286-63.683048%202.876952-74.118095%2056.07619-44.422095%2091.087238-107.227429%2091.087238-176.810667%200-134.680381-130.974476-243.809524-292.571428-243.809524s-292.571429%20109.129143-292.571429%20243.809524c0%20134.631619%20130.974476%20243.809524%20292.571429%20243.809524z%22%20fill%3D%22%23FF6A00%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M565.638095%20565.638095m-48.761905%200a48.761905%2048.761905%200%201%200%2097.52381%200%2048.761905%2048.761905%200%201%200-97.52381%200Z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M760.685714%20565.638095m-48.761904%200a48.761905%2048.761905%200%201%200%2097.523809%200%2048.761905%2048.761905%200%201%200-97.523809%200Z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-youhuiquan1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-youhuiquan1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M864%20981.333333h-152.533333c-29.354667%200-58.666667-11.733333-82.133334-35.2a160.298667%20160.298667%200%200%200-111.488-46.933333c-41.045333%200-82.133333%2017.621333-111.445333%2046.933333-29.354667%2023.466667-58.666667%2035.2-93.866667%2035.2H160A117.674667%20117.674667%200%200%201%2042.666667%20864V160A117.674667%20117.674667%200%200%201%20160%2042.666667h158.421333c29.312%200%2058.666667%2011.733333%2082.090667%2035.2%2029.354667%2029.354667%2070.4%2046.933333%20111.488%2046.933333%2041.088%200%2082.133333-17.621333%20111.488-46.933333%2023.466667-23.466667%2052.778667-35.2%2082.133333-35.2h158.378667A117.674667%20117.674667%200%200%201%20981.333333%20160v704A117.674667%20117.674667%200%200%201%20864%20981.333333zM512%20840.533333c58.666667%200%20111.488%2023.466667%20152.533333%2064.512%2011.733333%2011.776%2029.354667%2017.621333%2041.088%2017.621334h158.378667c35.2%200%2058.666667-29.354667%2058.666667-58.666667V160c0-35.2-29.354667-58.666667-58.666667-58.666667h-158.421333c-11.690667%200-29.312%205.845333-41.045334%2017.621334C623.488%20160%20570.666667%20183.466667%20512%20183.466667s-111.445333-23.466667-152.533333-64.512c-11.733333-11.733333-23.466667-17.621333-41.045334-17.621334H160c-29.312%200-58.666667%2029.354667-58.666667%2058.666667v704c0%2035.2%2029.354667%2058.666667%2058.666667%2058.666667h152.533333c17.621333%200%2029.354667-5.845333%2041.088-17.621334C400.554667%20864%20453.333333%20840.533333%20512%20840.533333z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M866.218667%20400h-92.970667c-12.117333%200-20.181333-10.666667-20.181333-26.666667s8.106667-26.666667%2020.181333-26.666666h92.970667c12.117333%200%2020.181333%2010.666667%2020.181333%2026.666666s-8.106667%2026.666667-20.181333%2026.666667zM645.76%20400h-74.666667c-16%200-26.666667-10.666667-26.666666-26.666667s10.666667-26.666667%2026.666666-26.666666h74.666667c16%200%2026.666667%2010.666667%2026.666667%2026.666666s-10.666667%2026.666667-26.666667%2026.666667zM431.786667%20400H362.453333c-16%200-26.666667-10.666667-26.666666-26.666667s10.666667-26.666667%2026.666666-26.666666h74.666667c16%200%2026.666667%2010.666667%2026.666667%2026.666666s-16%2026.666667-32%2026.666667zM235.605333%20400H157.354667c-11.733333%200-19.541333-10.666667-19.541334-26.666667s7.808-26.666667%2019.541334-26.666666h78.250666c11.733333%200%2019.541333%2010.666667%2019.541334%2026.666666s-11.733333%2026.666667-19.541334%2026.666667z%22%20fill%3D%22%23FF6A00%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-yinhangka1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-yinhangka1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M864%2042.666667H160C95.146667%2042.666667%2042.666667%20104.448%2042.666667%20180.693333v662.613334C42.666667%20919.552%2095.146667%20981.333333%20160%20981.333333h704c64.853333%200%20117.333333-61.781333%20117.333333-138.026666V180.693333C981.333333%20104.448%20928.853333%2042.666667%20864%2042.666667z%20m70.4%20800.64c0%2045.696-31.573333%2082.773333-70.4%2082.773333H160c-38.826667%200-70.4-37.077333-70.4-82.773333V180.693333c0-45.696%2031.573333-82.773333%2070.4-82.773333h704c38.826667%200%2070.4%2037.077333%2070.4%2082.773333v662.613334zM55.466667%20389.034667h898.133333V333.824H55.466667v55.210667z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M567.466667%20681.386667h258.133333v-47.658667H567.466667z%22%20fill%3D%22%23FF6A00%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shoucangdibulan-dianji { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shoucangdibulan-dianji%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M893.318095%20352.353524l-155.891809-22.625524c-38.326857-5.607619-85.284571-39.643429-102.4-74.459429l-69.778286-141.312C547.693714%2078.506667%20524.385524%2073.142857%20512%2073.142857c-12.385524%200-35.693714%205.315048-53.248%2040.813714l-69.729524%20141.312c-17.16419%2034.767238-64.073143%2068.85181-102.4%2074.459429l-155.989333%2022.625524c-39.204571%205.705143-51.44381%2026.282667-55.296%2038.034286-3.803429%2011.751619-5.997714%2035.59619%2022.430476%2063.24419l112.835048%20110.006857c27.745524%2027.062857%2045.641143%2082.212571%2039.107047%20120.441905l-26.624%20155.257905c-5.168762%2030.086095%203.120762%2047.542857%2011.020191%2056.905143%2016.091429%2019.017143%2044.860952%2021.650286%2075.093333%205.753904l139.459048-73.337904c32.572952-17.066667%2094.110476-17.066667%20126.683428%200l139.459048%2073.337904c13.458286%207.070476%2026.331429%2010.630095%2038.180571%2010.630096%2014.872381%200%2027.989333-5.802667%2036.912762-16.384%207.899429-9.362286%2016.188952-26.819048%2011.068953-56.856381l-26.624-155.355429c-6.534095-38.180571%2011.361524-93.281524%2039.107047-120.344381l112.835048-110.006857c28.379429-27.648%2026.185143-51.541333%2022.381714-63.292952-3.900952-11.751619-16.091429-32.329143-55.296-38.034286z%22%20fill%3D%22%23FF6A00%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shoucangdibulan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shoucangdibulan%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M750.933333%20936.71619c-14.628571%200-34.133333-4.87619-48.761904-14.628571l-141.409524-73.142857c-24.380952-14.628571-78.019048-14.628571-102.4%200L316.952381%20922.087619c-39.009524%2019.504762-82.895238%2014.628571-107.276191-9.752381-9.752381-14.628571-24.380952-39.009524-14.628571-78.019048l24.380952-156.038095c4.87619-29.257143-9.752381-78.019048-34.133333-97.523809l-102.4-107.276191c-39.009524-39.009524-34.133333-78.019048-29.257143-92.647619%204.87619-14.628571%2019.504762-48.761905%2073.142857-53.638095l156.038096-24.380952c29.257143%200%2073.142857-29.257143%2082.895238-58.514286l73.142857-141.409524c24.380952-48.761905%2058.514286-53.638095%2073.142857-53.638095s48.761905%204.87619%2073.142857%2053.638095l73.142857%20141.409524c14.628571%2029.257143%2053.638095%2058.514286%2082.895238%2063.390476l156.038096%2024.380952c53.638095%209.752381%2068.266667%2039.009524%2073.142857%2053.638096%204.87619%2019.504762%209.752381%2053.638095-29.257143%2087.771428l-112.152381%20112.152381c-24.380952%2019.504762-39.009524%2068.266667-34.133333%2097.52381l24.380952%20156.038095c4.87619%2039.009524-4.87619%2063.390476-14.628571%2078.019048-9.752381%209.752381-29.257143%2019.504762-53.638096%2019.504761z%20m-238.933333-146.285714c29.257143%200%2053.638095%204.87619%2073.142857%2014.628572l141.409524%2073.142857c14.628571%209.752381%2029.257143%2014.628571%2043.885714%200%204.87619-9.752381%209.752381-19.504762%204.876191-39.009524l-24.380953-151.161905c-9.752381-43.885714%2014.628571-107.27619%2043.885715-141.409524l112.152381-112.152381c14.628571-14.628571%2019.504762-29.257143%2014.628571-39.009523-4.87619-9.752381-14.628571-19.504762-34.133333-19.504762l-156.038096-24.380953c-43.885714-4.87619-102.4-43.885714-121.904761-87.771428l-68.266667-141.409524c-19.504762-34.133333-43.885714-34.133333-63.390476%200l-68.266667%20141.409524c-19.504762%2043.885714-73.142857%2082.895238-121.904762%2087.771428l-151.161905%2024.380953c-19.504762%204.87619-34.133333%209.752381-39.009523%2024.380952-4.87619%209.752381%200%2024.380952%2014.628571%2039.009524l112.152381%20112.152381c34.133333%2034.133333%2053.638095%2097.52381%2043.885714%20141.409524l-24.380952%20156.038095c-4.87619%2019.504762%200%2029.257143%204.87619%2039.009524%209.752381%209.752381%2029.257143%209.752381%2043.885715%200l141.409523-73.142857c24.380952-19.504762%2048.761905-24.380952%2078.019048-24.380953z%22%20fill%3D%22%23787878%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-daichuli2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-daichuli2%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M5.182061%206.237091m62.060606%200l868.848485%200q62.060606%200%2062.060606%2062.060606l0%20868.848485q0%2062.060606-62.060606%2062.060606l-868.848485%200q-62.060606%200-62.060606-62.060606l0-868.848485q0-62.060606%2062.060606-62.060606Z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M785.37697%20404.138667v243.153454a87.722667%2087.722667%200%200%201-87.288243%2087.319273H305.245091a87.722667%2087.722667%200%200%201-87.288243-87.319273v-243.153454h567.420122z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M349.246061%20514.792727a32.892121%2032.892121%200%200%201%2032.736969%2032.73697%2032.892121%2032.892121%200%200%201-32.736969%2032.73697%2032.892121%2032.892121%200%200%201-32.73697-32.73697%2032.892121%2032.892121%200%200%201%2032.73697-32.73697z%20m152.420848%200a32.892121%2032.892121%200%200%201%2032.73697%2032.73697A32.892121%2032.892121%200%200%201%20501.666909%20580.266667a32.892121%2032.892121%200%200%201-32.73697-32.73697A32.892121%2032.892121%200%200%201%20501.666909%20514.792727z%20m152.358788%200a32.892121%2032.892121%200%200%201%2032.768%2032.73697%2032.892121%2032.892121%200%200%201-32.73697%2032.73697%2032.892121%2032.892121%200%200%201-32.736969-32.73697%2032.892121%2032.892121%200%200%201%2032.705939-32.73697z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M785.37697%20341.767758A87.722667%2087.722667%200%200%200%20698.088727%20254.479515H305.245091a87.722667%2087.722667%200%200%200-87.288243%2087.288243v24.917333h567.420122v-24.917333z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-yichuli1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-yichuli1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M28.578909%206.237091m62.060606%200l868.848485%200q62.060606%200%2062.060606%2062.060606l0%20868.848485q0%2062.060606-62.060606%2062.060606l-868.848485%200q-62.060606%200-62.060606-62.060606l0-868.848485q0-62.060606%2062.060606-62.060606Z%22%20fill%3D%22%23FF6A00%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M745.813333%20266.177939h-63.022545a31.650909%2031.650909%200%200%200-31.557818-31.557818%2031.650909%2031.650909%200%200%200-31.557818%2031.557818h-189.160728a31.650909%2031.650909%200%200%200-31.557818-31.557818%2031.650909%2031.650909%200%200%200-31.526788%2031.557818H304.376242a63.239758%2063.239758%200%200%200-62.991515%2063.022546V707.521939c0%2034.660848%2028.361697%2063.022545%2062.991515%2063.022546h441.375031a63.239758%2063.239758%200%200%200%2062.991515-62.991515V329.169455a63.115636%2063.115636%200%200%200-62.929455-63.022546z%20m-42.325333%20248.428606L525.063758%20692.906667a31.588848%2031.588848%200%200%201-44.559516%200l-133.740606-133.740606a31.588848%2031.588848%200%200%201%200-44.559516%2031.588848%2031.588848%200%200%201%2044.559516%200l111.429818%20111.398788%20156.082424-156.051394a31.588848%2031.588848%200%200%201%2044.621576%2044.652606z%20m10.767515-122.290424H335.934061a31.650909%2031.650909%200%200%201-31.557819-31.557818c0-17.37697%2014.211879-31.557818%2031.557819-31.557818h31.557818c0%2017.37697%2014.180848%2031.557818%2031.557818%2031.557818a31.650909%2031.650909%200%200%200%2031.557818-31.557818h189.160727c0%2017.37697%2014.180848%2031.557818%2031.526788%2031.557818a31.650909%2031.650909%200%200%200%2031.557818-31.557818h31.402667c17.37697%200%2031.557818%2014.180848%2031.557818%2031.557818a31.650909%2031.650909%200%200%201-31.557818%2031.557818z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-xiezhubaoming1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-xiezhubaoming1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M15.515152%2015.515152m62.060606%200l868.848484%200q62.060606%200%2062.060606%2062.060606l0%20868.848484q0%2062.060606-62.060606%2062.060606l-868.848484%200q-62.060606%200-62.060606-62.060606l0-868.848484q0-62.060606%2062.060606-62.060606Z%22%20fill%3D%22%234DB54B%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M667.865212%20540.237576c48.407273%200%2087.195152-47.910788%2087.195152-107.209697S716.272485%20325.818182%20667.865212%20325.818182c-9.371152%200-18.40097%201.799758-26.561939%204.995879%2016.601212%2028.920242%2026.282667%2063.984485%2026.282666%20102.213818%200%2038.260364-9.929697%2072.921212-26.282666%20102.213818%208.22303%203.196121%2017.252848%204.995879%2026.561939%204.995879z%20m-125.98303%200c55.171879%200%2099.421091-47.910788%2099.421091-107.209697S597.02303%20325.818182%20541.913212%20325.818182c-55.171879%200-99.731394%2047.910788-99.731394%20107.209697s44.559515%20107.209697%2099.731394%20107.209697z%20m156.299636%200c26.996364%2027.710061%2044.807758%2062.991515%2044.807758%20107.861333v75.931152h97.435151v-75.931152c0.062061-58.430061-76.893091-94.549333-142.242909-107.861333z%20m-170.697697%200c-56.878545%200-170.635636%2036.770909-170.635636%20110.281697v73.541818h341.333333v-73.541818c0-73.541818-113.819152-110.281697-170.697697-110.281697z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M170.666667%20493.381818h198.593939V543.030303H170.666667z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M294.787879%20418.909091v198.593939H245.139394V418.909091z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-weizaizhilaoxiang1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-weizaizhilaoxiang1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M15.515152%2015.515152m62.060606%200l868.848484%200q62.060606%200%2062.060606%2062.060606l0%20868.848484q0%2062.060606-62.060606%2062.060606l-868.848484%200q-62.060606%200-62.060606-62.060606l0-868.848484q0-62.060606%2062.060606-62.060606Z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M462.072242%20478.797576H298.914909L232.727273%20560.934788%20298.914909%20601.987879v185.250909h205.203394v-266.426182a42.01503%2042.01503%200%200%200-42.01503-42.01503z%20m-62.060606-41.363394a61.719273%2061.719273%200%200%200%2061.626182-61.688243V273.066667h-79.096242c-24.420848%200-44.249212%2019.797333-44.249212%2044.249212v58.43006c0%2034.071273%2027.61697%2061.688242%2061.688242%2061.688243z%20m327.369697%2075.093333h-123.96606a58.957576%2058.957576%200%200%200-58.895515%2058.895515v215.815758h182.768484v-143.918546l64.015516-41.332363-63.922425-89.491394z%20m-90.112-36.92606c30.316606%200%2054.954667-24.60703%2054.954667-54.923637V329.231515h-70.438788c-21.783273%200-39.408485%2017.656242-39.408485%2039.408485v52.068848c0%2030.316606%2024.576%2054.923636%2054.923637%2054.923637z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhanghuyue1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhanghuyue1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%200C229.29408%200%200%20229.29408%200%20512s229.29408%20512%20512%20512%20512-229.29408%20512-512S794.70592%200%20512%200z%20m-20.76672%20298.2912c18.5344-8.9088%2037.82656-17.8176%2056.38144-26.70592%2018.55488-8.9088%2032.64512-15.58528%2043.04896-20.7872%2015.5648-7.41376%2029.67552-11.12064%2042.2912-10.38336%2012.61568%200.73728%2022.99904%202.23232%2031.17056%205.9392%209.6256%204.44416%2018.5344%2010.38336%2025.96864%2017.8176l39.3216%2066.7648h-307.2c23.7568-11.12064%2046.75584-22.26176%2069.0176-32.64512z%20m310.14912%20195.1744h-144.6912c-16.32256%200-29.696%205.18144-40.81664%2016.30208-11.12064%2010.40384-17.05984%2025.23136-17.05984%2040.81664%200.73728%2011.14112%202.9696%2020.7872%206.67648%2029.696%203.70688%207.41376%208.9088%2014.09024%2017.08032%2020.02944%208.15104%205.9392%2019.29216%208.88832%2034.11968%208.88832h144.6912V724.992c0%207.41376-1.47456%2015.5648-4.44416%2022.26176-2.9696%206.67648-6.67648%2013.35296-11.8784%2018.5344a55.00928%2055.00928%200%200%201-40.05888%2017.08032H282.70592c-8.15104%200-15.5648-1.49504-22.99904-4.46464-7.41376-2.9696-13.35296-7.41376-19.29216-12.61568a69.9392%2069.9392%200%200%201-13.35296-18.5344%2060.47744%2060.47744%200%200%201-4.44416-23.01952v-316.8256c0-16.34304%205.9392-29.696%2017.05984-40.81664a56.66816%2056.66816%200%200%201%2040.81664-17.08032h462.27456c16.32256%200%2029.696%205.9392%2040.81664%2017.08032%2011.12064%2011.12064%2017.05984%2025.21088%2017.05984%2040.79616v86.07744h0.73728z%20m-126.13632%2063.05792c0%207.41376-2.9696%2014.09024-8.17152%2019.29216a26.95168%2026.95168%200%200%201-38.58432%200%2026.95168%2026.95168%200%200%201-8.15104-19.29216c0-7.41376%202.9696-14.09024%208.15104-19.29216%205.20192-5.20192%2011.8784-8.17152%2019.29216-7.41376%207.43424%200%2014.11072%202.94912%2019.29216%207.41376%205.20192%205.20192%208.17152%2012.61568%208.17152%2019.29216z%22%20fill%3D%22%23FF6A00%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dizhiben2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dizhiben2%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M838.784%2032.853333c60.16%200%20108.885333%2048.256%20108.885333%20107.818667v742.826667c0%2059.52-48.725333%20107.818667-108.885333%20107.818666H185.301333c-60.16%200-108.928-48.298667-108.928-107.861333V140.672C76.373333%2081.109333%20125.141333%2032.853333%20185.301333%2032.853333h653.482667zM228.864%2098.218667H185.301333c-24.064%200-43.562667%2016.341333-43.562666%2036.522666v754.688c0%2020.181333%2019.498667%2036.522667%2043.52%2036.522667h43.605333v-827.733333z%20m65.322667%200v825.258666h547.328a36.522667%2036.522667%200%200%200%2036.48-35.925333V134.741333a36.522667%2036.522667%200%200%200-36.48-36.522666H294.186667z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M579.541333%20284.458667c105.898667%200%20191.701333%2088.234667%20191.701334%20197.077333a199.381333%20199.381333%200%200%201-52.352%20135.338667l-3.797334%204.010666-101.162666%20104.064c-17.493333%2017.962667-45.653333%2019.285333-64.682667%203.669334l-3.584-3.2-101.632-104.533334-3.84-4.010666a199.424%20199.424%200%200%201-52.309333-135.338667c0-108.842667%2085.802667-197.12%20191.658666-197.12z%20m0%2071.850666c-65.706667%200-119.808%2055.637333-119.808%20125.226667%200%2030.72%2010.538667%2059.434667%2028.714667%2081.365333l4.010667%204.608%203.072%203.285334%2084.053333%2086.357333%2083.285333-85.632%203.114667-3.285333a127.488%20127.488%200%200%200%2033.365333-86.698667c0-69.589333-54.058667-125.226667-119.808-125.226667z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shezhi1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shezhi1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M994.133333%20422.4c-4.266667-17.066667-12.8-29.866667-25.6-34.133333l-55.466666-25.6c-46.933333-21.333333-76.8-72.533333-72.533334-123.733334l8.533334-59.733333c0-17.066667-4.266667-29.866667-17.066667-38.4-42.666667-38.4-93.866667-68.266667-153.6-89.6-12.8-4.266667-29.866667-4.266667-42.666667%208.533333l-55.466666%2038.4c-21.333333%2017.066667-46.933333%2021.333333-72.533334%2021.333334s-51.2-8.533333-72.533333-21.333334L388.266667%2051.2c-12.8-8.533333-29.866667-12.8-42.666667-4.266667-55.466667%2017.066667-106.666667%2051.2-153.6%2089.6-12.8%208.533333-17.066667%2025.6-12.8%2038.4l8.533333%2064c0%2051.2-25.6%20102.4-76.8%20123.733334l-55.466666%2025.6c-12.8%204.266667-21.333333%2021.333333-25.6%2034.133333-4.266667%2029.866667-8.533333%2059.733333-8.533334%2089.6s4.266667%2059.733333%208.533334%2089.6c4.266667%2017.066667%2012.8%2029.866667%2025.6%2034.133333l55.466666%2025.6c46.933333%2021.333333%2076.8%2072.533333%2072.533334%20123.733334l-8.533334%2064c0%2012.8%204.266667%2029.866667%2017.066667%2038.4%2042.666667%2038.4%2093.866667%2068.266667%20153.6%2089.6%2012.8%204.266667%2029.866667%204.266667%2042.666667-8.533334l55.466666-38.4c21.333333-17.066667%2046.933333-21.333333%2072.533334-21.333333s51.2%208.533333%2072.533333%2021.333333l55.466667%2038.4c12.8%208.533333%2029.866667%2012.8%2042.666666%208.533334%2055.466667-21.333333%20106.666667-51.2%20153.6-89.6%2012.8-8.533333%2017.066667-25.6%2017.066667-38.4l-8.533333-59.733334c-4.266667-51.2%2021.333333-102.4%2072.533333-123.733333l55.466667-25.6c12.8-4.266667%2025.6-21.333333%2025.6-34.133333%204.266667-29.866667%208.533333-59.733333%208.533333-89.6-8.533333-34.133333-12.8-64-17.066667-93.866667z%20m-46.933333%20170.666667l-55.466667%2025.6c-68.266667%2029.866667-106.666667%2098.133333-98.133333%20174.933333l8.533333%2059.733333c-38.4%2034.133333-85.333333%2064-136.533333%2081.066667l-51.2-38.4c-25.6-17.066667-51.2-29.866667-85.333333-34.133333-42.666667-4.266667-85.333333%204.266667-119.466667%2029.866666l-55.466667%2038.4c-46.933333-17.066667-93.866667-46.933333-136.533333-81.066666l8.533333-59.733334c8.533333-72.533333-34.133333-145.066667-98.133333-174.933333l-55.466667-25.6c-4.266667-25.6-8.533333-55.466667-8.533333-81.066667%200-25.6%204.266667-51.2%208.533333-81.066666L128%20401.066667c68.266667-29.866667%20106.666667-98.133333%2098.133333-174.933334V170.666667c38.4-34.133333%2085.333333-64%20136.533334-81.066667l46.933333%2038.4c25.6%2017.066667%2051.2%2029.866667%2085.333333%2034.133333%2042.666667%204.266667%2085.333333-4.266667%20119.466667-29.866666l55.466667-38.4c46.933333%2017.066667%2093.866667%2046.933333%20136.533333%2081.066666l-8.533333%2059.733334c-8.533333%2072.533333%2034.133333%20145.066667%2098.133333%20174.933333l55.466667%2025.6c4.266667%2025.6%208.533333%2055.466667%208.533333%2081.066667-4.266667%2021.333333-8.533333%2046.933333-12.8%2076.8z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M358.4%20994.133333c-8.533333%200-12.8%200-17.066667-4.266666-59.733333-21.333333-110.933333-51.2-157.866666-93.866667-12.8-12.8-21.333333-29.866667-21.333334-51.2l8.533334-59.733333c4.266667-46.933333-21.333333-93.866667-64-110.933334l-55.466667-25.6c-17.066667-8.533333-29.866667-25.6-34.133333-46.933333-4.266667-29.866667-8.533333-59.733333-8.533334-89.6%200-29.866667%204.266667-59.733333%208.533334-89.6%204.266667-21.333333%2017.066667-38.4%2034.133333-46.933333l55.466667-25.6c42.666667-21.333333%2068.266667-64%2064-110.933334l-4.266667-59.733333c-4.266667-21.333333%204.266667-42.666667%2017.066667-51.2C230.4%2085.333333%20281.6%2055.466667%20341.333333%2034.133333c17.066667-8.533333%2038.4-4.266667%2051.2%208.533334l55.466667%2038.4c38.4%2025.6%2089.6%2025.6%20128%200l51.2-38.4c17.066667-12.8%2034.133333-12.8%2055.466667-8.533334%2059.733333%2021.333333%20110.933333%2051.2%20157.866666%2093.866667%2012.8%2012.8%2021.333333%2029.866667%2021.333334%2051.2L853.333333%20238.933333c-4.266667%2046.933333%2021.333333%2093.866667%2064%20110.933334l55.466667%2025.6c17.066667%208.533333%2029.866667%2025.6%2034.133333%2046.933333%204.266667%2029.866667%208.533333%2059.733333%208.533334%2089.6%200%2029.866667-4.266667%2059.733333-8.533334%2089.6-4.266667%2021.333333-17.066667%2038.4-34.133333%2046.933333l-55.466667%2025.6c-42.666667%2021.333333-68.266667%2064-64%20110.933334l8.533334%2059.733333c0%2021.333333-4.266667%2038.4-21.333334%2051.2-46.933333%2042.666667-98.133333%2072.533333-157.866666%2093.866667-17.066667%208.533333-38.4%204.266667-55.466667-8.533334l-55.466667-38.4c-38.4-25.6-89.6-25.6-128%200l-46.933333%2038.4c-12.8%208.533333-25.6%2012.8-38.4%2012.8z%20m0-938.666666h-8.533333c-55.466667%2021.333333-106.666667%2051.2-149.333334%2089.6-8.533333%208.533333-12.8%2017.066667-8.533333%2029.866666l8.533333%2064c4.266667%2055.466667-29.866667%20110.933333-81.066666%20136.533334l-55.466667%2025.6c-12.8%204.266667-21.333333%2012.8-21.333333%2025.6-4.266667%2029.866667-8.533333%2055.466667-8.533334%2085.333333s4.266667%2055.466667%208.533334%2085.333333c0%2012.8%208.533333%2021.333333%2021.333333%2025.6l55.466667%2025.6c55.466667%2025.6%2085.333333%2081.066667%2081.066666%20136.533334l-8.533333%2064c0%2012.8%204.266667%2021.333333%2012.8%2029.866666%2042.666667%2038.4%2093.866667%2068.266667%20149.333333%2089.6%208.533333%204.266667%2021.333333%200%2029.866667-4.266666l55.466667-38.4c46.933333-34.133333%20110.933333-34.133333%20157.866666%200l55.466667%2038.4c8.533333%208.533333%2021.333333%208.533333%2029.866667%204.266666%2055.466667-21.333333%20102.4-51.2%20149.333333-89.6%208.533333-8.533333%2012.8-17.066667%2012.8-29.866666l-8.533333-59.733334c-8.533333-59.733333%2025.6-115.2%2081.066666-136.533333l55.466667-25.6c8.533333-4.266667%2017.066667-12.8%2021.333333-25.6%204.266667-29.866667%208.533333-55.466667%208.533334-85.333333s-4.266667-55.466667-8.533334-85.333334c0-12.8-8.533333-21.333333-21.333333-25.6l-55.466667-25.6c-55.466667-25.6-85.333333-81.066667-81.066666-136.533333l8.533333-59.733333c0-12.8-4.266667-21.333333-12.8-29.866667-42.666667-38.4-93.866667-68.266667-149.333333-89.6-8.533333-4.266667-21.333333%200-29.866667%204.266667l-55.466667%2038.4c-46.933333%2034.133333-110.933333%2034.133333-157.866666%200l-59.733334-42.666667c-4.266667-4.266667-12.8-8.533333-21.333333-8.533333z%20m4.266667%20891.733333l-8.533334-4.266667C302.933333%20925.866667%20256%20896%20217.6%20861.866667l-4.266667-4.266667%208.533334-68.266667c8.533333-68.266667-29.866667-132.266667-93.866667-162.133333l-59.733333-25.6v-8.533333c-4.266667-29.866667-8.533333-55.466667-8.533334-81.066667s4.266667-55.466667%208.533334-81.066667v-8.533333L128%20396.8c64-25.6%2098.133333-93.866667%2093.866667-162.133333l-12.8-68.266667%204.266666-4.266667C256%20128%20302.933333%2098.133333%20354.133333%2081.066667l8.533334-4.266667%2055.466666%2038.4c25.6%2017.066667%2051.2%2029.866667%2076.8%2034.133333%2038.4%204.266667%2076.8-4.266667%20106.666667-29.866666l59.733333-42.666667%208.533334%204.266667C721.066667%2098.133333%20768%20128%20810.666667%20162.133333l4.266666%204.266667-8.533333%2068.266667c-8.533333%2068.266667%2029.866667%20132.266667%2093.866667%20162.133333l59.733333%2025.6v8.533333c4.266667%2029.866667%208.533333%2055.466667%208.533333%2081.066667%200%2025.6-4.266667%2055.466667-8.533333%2081.066667v8.533333l-64%2025.6c-64%2025.6-98.133333%2093.866667-93.866667%20162.133333l8.533334%2068.266667-4.266667%204.266667c-42.666667%2034.133333-89.6%2064-140.8%2081.066666l-8.533333%204.266667-55.466667-38.4c-25.6-17.066667-51.2-29.866667-76.8-34.133333-38.4-4.266667-76.8%204.266667-106.666667%2029.866666l-55.466666%2042.666667z%20m149.333333-98.133333h21.333333c29.866667%204.266667%2059.733333%2017.066667%2089.6%2038.4l42.666667%2034.133333c42.666667-17.066667%2085.333333-42.666667%20119.466667-72.533333l-4.266667-55.466667c-8.533333-81.066667%2034.133333-153.6%20106.666667-187.733333l51.2-21.333334c4.266667-25.6%204.266667-46.933333%204.266666-72.533333%200-21.333333%200-46.933333-4.266666-72.533333l-51.2-21.333334c-72.533333-34.133333-115.2-106.666667-106.666667-187.733333l4.266667-55.466667c-38.4-29.866667-76.8-55.466667-119.466667-72.533333l-46.933333%2034.133333c-38.4%2025.6-81.066667%2038.4-128%2034.133334-29.866667%200-59.733333-12.8-89.6-34.133334l-42.666667-34.133333c-42.666667%2017.066667-85.333333%2042.666667-119.466667%2072.533333l4.266667%2055.466667c8.533333%2081.066667-34.133333%20153.6-106.666667%20187.733333l-51.2%2021.333334c-4.266667%2025.6-4.266667%2046.933333-4.266666%2072.533333s0%2046.933333%204.266666%2072.533333l51.2%2021.333334c72.533333%2034.133333%20115.2%20106.666667%20106.666667%20187.733333l-4.266667%2055.466667c34.133333%2029.866667%2076.8%2055.466667%20119.466667%2072.533333l46.933333-34.133333c29.866667-29.866667%2068.266667-38.4%20106.666667-38.4z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M512%20721.066667c-115.2%200-204.8-93.866667-204.8-204.8%200-115.2%2093.866667-204.8%20204.8-204.8%20115.2%200%20204.8%2093.866667%20204.8%20204.8%200%20110.933333-89.6%20204.8-204.8%20204.8z%20m0-332.8c-72.533333%200-128%2059.733333-128%20128s59.733333%20128%20128%20128%20128-55.466667%20128-128-55.466667-128-128-128z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-biyan11 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-biyan11%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M511.829333%20692.778667c-181.205333%200-357.162667-59.349333-495.445333-167.125334a31.445333%2031.445333%200%201%201%2038.741333-49.621333c127.232%2099.157333%20289.450667%20153.813333%20456.746667%20153.813333%20167.424%200%20329.770667-54.613333%20457.002667-153.813333a31.488%2031.488%200%201%201%2038.741333%2049.621333c-138.282667%20107.776-314.368%20167.125333-495.786667%20167.125334z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M653.269333%20852.053333a31.445333%2031.445333%200%200%201-31.061333-26.837333l-22.4-150.186667a31.488%2031.488%200%200%201%2062.293333-9.301333l22.357334%20150.186667a31.488%2031.488%200%200%201-31.146667%2036.138666z%20m291.968-69.546666a31.402667%2031.402667%200%200%201-22.272-9.258667l-132.650666-132.693333a31.445333%2031.445333%200%201%201%2044.501333-44.458667l132.693333%20132.650667a31.445333%2031.445333%200%200%201-22.272%2053.76zM370.773333%20852.053333a31.445333%2031.445333%200%200%201-31.146666-36.138666l22.4-150.186667a31.445333%2031.445333%200%201%201%2062.293333%209.344l-22.442667%20150.186667a31.488%2031.488%200%200%201-31.146666%2026.794666z%20m-292.010666-69.546666a31.402667%2031.402667%200%200%201-22.272-53.76l132.693333-132.693334a31.445333%2031.445333%200%201%201%2044.458667%2044.544l-132.650667%20132.693334a31.36%2031.36%200%200%201-22.229333%209.173333z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-fenxiang { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-fenxiang%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M995.155644%20409.30598L628.715723%2012.784792c-13.67699-13.666851-38.283406-13.666851-51.960396%200-8.202139%208.212277-10.939564%2019.151842-10.939565%2030.081267v213.306297C262.285941%20256.172356%2018.898376%20499.549782%2018.898376%20800.362455c0%2073.829386%2016.404277%20147.668911%2046.485545%20216.033585%2043.758257-226.973149%20259.791842-399.258614%20500.44198-399.258614V830.453861c-2.737426%2010.939564%202.737426%2021.879129%2010.929426%2030.081268%205.474851%208.202139%2016.414416%2010.939564%2027.343841%2010.939564%2010.949703%200%2021.879129-5.474851%2027.353981-13.67699l363.702495-391.046337c8.212277-8.212277%2010.939564-16.414416%2010.939564-27.35398s-5.474851-21.86899-10.949703-30.081267z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-paizhao { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-paizhao%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M889.263158%20369.178947c-2.694737-45.810526-40.421053-80.842105-86.231579-80.842105h-80.842105l-67.368421-80.842105c-16.168421-18.863158-40.421053-32.336842-67.368421-32.336842h-158.989474c-24.252632%200-45.810526%2013.473684-61.978947%2029.642105l-67.368422%2080.842105h-80.842105c-48.505263%200-86.231579%2037.726316-86.231579%2086.231579v396.126316c0%2048.505263%2037.726316%2086.231579%2086.231579%2086.231579h584.757895c48.505263%200%2086.231579-37.726316%2086.231579-86.231579V369.178947z%20m-697.936842%205.389474c0-16.168421%2010.778947-26.947368%2026.947368-26.947368h107.789474L414.989474%20242.526316c5.389474-5.389474%2013.473684-10.778947%2021.557894-10.778948h153.6c8.084211%200%2016.168421%202.694737%2021.557895%2010.778948l86.231579%20102.4h107.789474c16.168421%200%2026.947368%2010.778947%2026.947368%2026.947368v396.126316c0%2016.168421-10.778947%2026.947368-26.947368%2026.947368H218.273684c-16.168421%200-26.947368-10.778947-26.947368-26.947368V374.568421z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M512%20409.6c-78.147368%200-142.821053%2064.673684-142.821053%20142.821053s64.673684%20142.821053%20142.821053%20142.821052%20142.821053-64.673684%20142.821053-142.821052-64.673684-142.821053-142.821053-142.821053z%20m0%20226.357895c-45.810526%200-83.536842-37.726316-83.536842-83.536842%200-45.810526%2037.726316-83.536842%2083.536842-83.536842%2045.810526%200%2083.536842%2037.726316%2083.536842%2083.536842%200%2045.810526-37.726316%2083.536842-83.536842%2083.536842z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-ludan1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-ludan1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M749.136842%20123.957895H274.863158C226.357895%20123.957895%20188.631579%20161.684211%20188.631579%20210.189474v603.621052c0%2048.505263%2037.726316%2086.231579%2086.231579%2086.231579H538.947368c164.378947%200%20296.421053-132.042105%20296.421053-296.421052V210.189474c0-48.505263-37.726316-86.231579-86.231579-86.231579z%20m29.642105%20476.968421c0%20132.042105-107.789474%20239.831579-239.831579%20239.831579h-264.08421c-16.168421%200-26.947368-13.473684-26.947369-26.947369V210.189474c0-16.168421%2013.473684-26.947368%2026.947369-26.947369h474.273684c16.168421%200%2026.947368%2013.473684%2026.947369%2026.947369v390.736842z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M528.168421%20582.063158h-140.126316c-16.168421%200-29.642105%2013.473684-29.642105%2029.642105%200%2016.168421%2013.473684%2029.642105%2029.642105%2029.642105h140.126316c16.168421%200%2029.642105-13.473684%2029.642105-29.642105-2.694737-16.168421-13.473684-29.642105-29.642105-29.642105zM635.957895%20404.210526h-247.91579c-16.168421%200-29.642105%2013.473684-29.642105%2029.642106s13.473684%2029.642105%2029.642105%2029.642105h247.91579c16.168421%200%2029.642105-13.473684%2029.642105-29.642105s-13.473684-29.642105-29.642105-29.642106z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-chengyuanguanli { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-chengyuanguanli%22%20viewBox%3D%220%200%201066%201024%22%3E%3Cpath%20d%3D%22M785.066667%20281.6c0-157.866667-128-281.6-290.133334-281.6-123.733333%200-234.666667%2076.8-273.066666%20196.266667s0%20243.2%20102.4%20315.733333C128%20580.266667%200%20763.733333%200%20968.533333c0%2025.6%2021.333333%2042.666667%2046.933333%2042.666667%2025.6%200%2046.933333-21.333333%2046.933334-42.666667%200-217.6%20183.466667-396.8%20405.333333-396.8h12.8-12.8c153.6-4.266667%20285.866667-132.266667%20285.866667-290.133333z%20m-290.133334%20196.266667c-110.933333%200-200.533333-85.333333-200.533333-196.266667C294.4%20174.933333%20384%2085.333333%20494.933333%2085.333333s200.533333%2085.333333%20200.533334%20196.266667c0%20110.933333-89.6%20196.266667-200.533334%20196.266667z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M768%20742.4c-29.866667%200-51.2%2021.333333-51.2%2051.2s21.333333%2051.2%2051.2%2051.2c17.066667%200%2034.133333-8.533333%2042.666667-25.6%208.533333-17.066667%208.533333-34.133333%200-51.2-8.533333-17.066667-25.6-25.6-42.666667-25.6z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1015.466667%20750.933333l-85.333334-145.066666c-17.066667-25.6-42.666667-42.666667-72.533333-42.666667H682.666667c-29.866667%200-59.733333%2017.066667-72.533334%2042.666667l-85.333333%20145.066666c-17.066667%2025.6-17.066667%2059.733333%200%2085.333334l85.333333%20145.066666c17.066667%2025.6%2042.666667%2042.666667%2072.533334%2042.666667h174.933333c29.866667%200%2059.733333-17.066667%2072.533333-42.666667l85.333334-145.066666c17.066667-25.6%2017.066667-59.733333%200-85.333334z%20m-68.266667%2064L874.666667%20938.666667c-8.533333%2012.8-21.333333%2021.333333-38.4%2021.333333h-145.066667c-17.066667%200-29.866667-8.533333-38.4-21.333333l-72.533333-123.733334c-8.533333-12.8-8.533333-29.866667%200-42.666666l72.533333-123.733334c8.533333-12.8%2021.333333-21.333333%2038.4-21.333333h145.066667c17.066667%200%2029.866667%208.533333%2038.4%2021.333333l72.533333%20119.466667c8.533333%2017.066667%208.533333%2034.133333%200%2046.933333z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-quanbu1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-quanbu1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M936.96%20296.96c0-112.64-92.16-209.92-204.8-209.92s-204.8%2092.16-204.8%20209.92v209.92h204.8c112.64-5.12%20204.8-97.28%20204.8-209.92z%20m-209.92-128c66.56%200%20122.88%2056.32%20122.88%20128%200%2066.56-56.32%20128-128%20128h-122.88V291.84c5.12-66.56%2061.44-122.88%20128-122.88zM296.96%2087.04c-112.64%200-204.8%2092.16-204.8%20209.92s92.16%20209.92%20204.8%20209.92h204.8V296.96c0-117.76-92.16-209.92-204.8-209.92z%20m0%2081.92c35.84%200%2066.56%2015.36%2092.16%2040.96%2020.48%2020.48%2030.72%2051.2%2030.72%2081.92v128H296.96C225.28%20419.84%20168.96%20358.4%20168.96%20291.84s56.32-122.88%20128-122.88zM87.04%20727.04c0%20112.64%2092.16%20209.92%20204.8%20209.92%2056.32%200%20112.64-20.48%20148.48-61.44%2040.96-40.96%2061.44-92.16%2056.32-143.36v-209.92h-204.8c-112.64%200-204.8%2092.16-204.8%20204.8z%20m209.92%20122.88c-66.56%200-128-56.32-128-128%200-66.56%2056.32-128%20128-128h128v128c-5.12%2071.68-61.44%20128-128%20128zM727.04%20522.24h-204.8v209.92c0%20112.64%2092.16%20209.92%20204.8%20209.92s204.8-92.16%20204.8-209.92-87.04-209.92-204.8-209.92z%20m-122.88%2076.8h128c66.56%200%20128%2056.32%20128%20128%200%2066.56-56.32%20128-128%20128s-128-56.32-128-128v-128z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-guanliyuan1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-guanliyuan1%22%20viewBox%3D%220%200%202688%201024%22%3E%3Cpath%20d%3D%22M160%2032h2368c70.4%200%20128%2057.6%20128%20128v704c0%2070.4-57.6%20128-128%20128h-2368c-70.4%200-128-57.6-128-128v-704c0-70.4%2057.6-128%20128-128z%22%20fill%3D%22%23F2F9FF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M2528%201024h-2368C70.4%201024%200%20953.6%200%20864v-704C0%2070.4%2070.4%200%20160%200h2368C2617.6%200%202688%2070.4%202688%20160v704c0%2089.6-70.4%20160-160%20160zM160%2064C108.8%2064%2064%20108.8%2064%20160v704c0%2051.2%2044.8%2096%2096%2096h2368c51.2%200%2096-44.8%2096-96v-704c0-51.2-44.8-96-96-96h-2368z%22%20fill%3D%22%2390CAFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M294.4%20345.6l-51.2-32c44.8-44.8%2076.8-102.4%20102.4-160l51.2%2012.8c-6.4%2019.2-12.8%2032-19.2%2051.2h204.8v51.2h-128c19.2%2025.6%2032%2044.8%2044.8%2064l-51.2%2019.2c-12.8-32-32-57.6-51.2-89.6h-44.8c-12.8%2032-38.4%2057.6-57.6%2083.2zM915.2%20512h-51.2V416H313.6V512h-51.2V371.2h300.8c-6.4-19.2-12.8-32-19.2-51.2l51.2-6.4h-6.4c38.4-44.8%2064-96%2076.8-153.6l51.2%2012.8c-6.4%2019.2-12.8%2032-19.2%2044.8h224v51.2h-134.4c19.2%2019.2%2032%2038.4%2038.4%2057.6l-51.2%2019.2c-12.8-25.6-32-51.2-51.2-76.8h-51.2c-12.8%2025.6-32%2051.2-44.8%2076.8l-32-32c6.4%2019.2%2019.2%2038.4%2025.6%2057.6h294.4V512z%20m-108.8%20102.4h-384v51.2h416v198.4h-57.6V832H422.4v32h-51.2V460.8h435.2v153.6z%20m-51.2-44.8v-64H422.4v64h332.8z%20m32%20211.2v-70.4H422.4v70.4h364.8zM1107.2%20448V262.4h-96v-51.2h243.2v51.2h-96V448h83.2v51.2h-83.2v172.8c32-12.8%2057.6-19.2%2083.2-32v51.2c-70.4%2032-147.2%2051.2-230.4%2076.8l-12.8-51.2c32-6.4%2070.4-12.8%20102.4-25.6v-192h-83.2V448h89.6zM1664%20192v352h-160v89.6h172.8v51.2h-172.8v102.4h198.4v51.2h-460.8v-51.2h204.8v-102.4H1280v-51.2h172.8V544h-160V192H1664z%20m-211.2%20153.6V243.2H1344v102.4h108.8z%20m0%2044.8H1344v102.4h108.8V390.4z%20m51.2-44.8h108.8V243.2h-108.8v102.4z%20m108.8%2044.8h-108.8v102.4h108.8V390.4zM2156.8%20544c-12.8%20115.2-32%20192-70.4%20230.4-38.4%2044.8-134.4%2076.8-275.2%2089.6l-19.2-51.2c121.6-6.4%20204.8-32%20249.6-76.8%2038.4-38.4%2057.6-108.8%2064-198.4l51.2%206.4z%20m224%20179.2h-57.6V492.8H1920v243.2h-57.6V441.6h518.4v281.6zM2336%20192v192h-422.4V192h422.4z%20m-51.2%2044.8h-320v96h320V236.8z%20m166.4%20582.4l-32%2044.8c-89.6-44.8-179.2-83.2-268.8-108.8l25.6-38.4c102.4%2032%20192%2064%20275.2%20102.4z%22%20fill%3D%22%231890FF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-chengyuan1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-chengyuan1%22%20viewBox%3D%220%200%202688%201024%22%3E%3Cpath%20d%3D%22M160%2032h2368c70.4%200%20128%2057.6%20128%20128v704c0%2070.4-57.6%20128-128%20128h-2368c-70.4%200-128-57.6-128-128v-704c0-70.4%2057.6-128%20128-128z%22%20fill%3D%22%23F3FFFE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M2528%201024h-2368C70.4%201024%200%20953.6%200%20864v-704C0%2070.4%2070.4%200%20160%200h2368C2617.6%200%202688%2070.4%202688%20160v704c0%2089.6-70.4%20160-160%20160zM160%2064C108.8%2064%2064%20108.8%2064%20160v704c0%2051.2%2044.8%2096%2096%2096h2368c51.2%200%2096-44.8%2096-96v-704c0-51.2-44.8-96-96-96h-2368z%22%20fill%3D%22%238EDDD6%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1132.8%20230.4l-38.4%2038.4h96V320h-236.8c6.4%2096%2012.8%20172.8%2032%20224%206.4%2019.2%2012.8%2038.4%2012.8%2051.2%2038.4-64%2070.4-134.4%2096-217.6l51.2%2019.2c-32%20102.4-70.4%20185.6-121.6%20256%2012.8%2025.6%2019.2%2044.8%2032%2064%2025.6%2038.4%2044.8%2057.6%2064%2057.6%2012.8%200%2025.6-38.4%2038.4-121.6l51.2%2025.6c-19.2%20102.4-44.8%20153.6-76.8%20153.6s-64-25.6-102.4-70.4c-12.8-19.2-25.6-38.4-38.4-64-51.2%2064-115.2%20108.8-192%20140.8l-32-32c76.8-32%20140.8-83.2%20192-153.6-12.8-25.6-19.2-57.6-32-89.6-19.2-64-25.6-147.2-32-243.2H633.6v128h185.6c0%20128-6.4%20211.2-19.2%20249.6-12.8%2032-32%2051.2-70.4%2051.2h-64l-19.2-51.2h76.8c19.2%200%2025.6-12.8%2032-32%206.4-25.6%2012.8-83.2%2012.8-166.4H633.6v25.6c0%20134.4-32%20249.6-89.6%20332.8l-44.8-38.4C550.4%20748.8%20576%20652.8%20576%20524.8v-256h320V147.2h57.6v121.6h140.8c-25.6-25.6-51.2-57.6-96-83.2l38.4-32c38.4%2019.2%2070.4%2051.2%2096%2076.8zM1913.6%20531.2c-12.8%20115.2-32%20192-70.4%20230.4-38.4%2044.8-134.4%2076.8-275.2%2089.6l-19.2-51.2c121.6-6.4%20204.8-32%20249.6-76.8%2038.4-38.4%2057.6-108.8%2064-198.4l51.2%206.4z%20m224%20185.6h-57.6V480h-409.6v243.2h-57.6V428.8h518.4v288z%20m-51.2-537.6v192H1664v-192h422.4z%20m-51.2%2044.8h-320V320h320V224z%20m172.8%20582.4l-32%2051.2c-89.6-44.8-179.2-83.2-268.8-108.8l25.6-38.4c96%2025.6%20192%2057.6%20275.2%2096z%22%20fill%3D%22%2305B2A3%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-boyinglian { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-boyinglian%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M873.792%201024H150.208A150.208%20150.208%200%200%201%200%20873.792V150.208A150.208%20150.208%200%200%201%20150.208%200h723.584A150.208%20150.208%200%200%201%201024%20150.208v723.584A150.208%20150.208%200%200%201%20873.792%201024%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M291.68%20371.776a80.096%2080.096%200%201%200%200-160.192%2080.096%2080.096%200%200%200%200%20160.192M732.32%20371.776a80.096%2080.096%200%201%200%200-160.192%2080.096%2080.096%200%200%200%200%20160.192M512%20427.872a80.096%2080.096%200%201%200%200%20160.192%2080.096%2080.096%200%200%200%200-160.192%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M732.32%20431.904a80.096%2080.096%200%200%200-79.68%2088.128l0.064%201.184c6.72%2075.232-53.28%20132.032-119.84%20132.032-5.6%200-9.504-0.352-12.576-0.64l0.032%200.032a80.096%2080.096%200%201%200%2071.328%2071.232l-0.096-1.28a120.32%20120.32%200%200%201%20132.48-130.912%2080.096%2080.096%200%201%200%208.288-159.776%22%20fill%3D%22%2300D000%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M291.68%20652.224a80.096%2080.096%200%201%200%200%20160.192%2080.096%2080.096%200%200%200%200-160.192M732.32%20652.224a80.096%2080.096%200%201%200%200%20160.192%2080.096%2080.096%200%200%200%200-160.192%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M495.808%20370.816c3.52%200.128%207.968%200.544%207.968%200.544a80.096%2080.096%200%201%200-71.488-71.68c7.36%2067.36-45.376%20135.808-125.344%20133.12a165.76%20165.76%200%200%201-6.72-0.448%2080.096%2080.096%200%201%200%2071.136%2071.456l-0.192-2.56a120.544%20120.544%200%200%201%20124.64-130.432%22%20fill%3D%22%2300D000%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-bocaiyouren { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-bocaiyouren%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M150.4%201024A150.4%20150.4%200%200%201%200%20873.6V150.4A150.4%20150.4%200%200%201%20150.4%200h723.2A150.4%20150.4%200%200%201%201024%20150.4v723.2a150.4%20150.4%200%200%201-150.4%20150.4H150.4z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M277.44%20464.32c4.896%200%209.984-0.704%2015.2-2.08%205.216-1.376%208.48-2.784%209.76-4.16%201.28-1.376%201.92-3.584%201.92-6.56V265.28c2.976-1.696%204.48-3.52%204.48-5.44%200-1.92-1.184-3.424-3.52-4.48a50.56%2050.56%200%200%200-12.16-2.88c9.824-16.864%2016.896-29.984%2021.28-39.36%204.384-9.376%207.2-14.88%208.48-16.48%201.28-1.6%203.2-2.72%205.76-3.36%202.56-0.64%203.84-1.92%203.84-3.84%200-1.28-0.736-2.496-2.24-3.68-1.504-1.184-6.944-3.584-16.32-7.2-9.376-3.616-20.48-7.136-33.28-10.56-8.544%2065.504-28.896%20124.064-61.12%20175.68-1.696%202.56-2.56%204.224-2.56%204.96%200%200.736%200.224%201.12%200.64%201.12%202.144%200%208.384-5.824%2018.72-17.44%2010.336-11.616%2021.056-25.344%2032.16-41.12v109.44c0%2010.88-0.224%2021.44-0.64%2031.68l-0.64%2026.24c0%202.144%200.48%203.616%201.44%204.48%200.96%200.864%203.904%201.28%208.8%201.28z%20m60.16-2.88c5.536%200%2011.264-0.64%2017.12-1.92%205.856-1.28%209.664-2.496%2011.36-3.68%201.696-1.184%202.56-3.136%202.56-5.92v-21.12h92.8v20.48c0%203.84%200.896%206.304%202.72%207.36%201.824%201.056%205.664%201.6%2011.52%201.6s11.2-0.896%2016-2.72c4.8-1.824%207.68-3.136%208.64-4%200.96-0.864%201.44-2.24%201.44-4.16l-0.32-10.88c-0.224-4.064-0.32-11.104-0.32-21.12V263.04c7.904-1.92%2011.84-4.704%2011.84-8.32%200-2.336-1.664-4.8-4.96-7.36-3.296-2.56-10.176-7.136-20.64-13.76s-17.216-9.92-20.32-9.92c-3.104%200-7.744%206.496-13.92%2019.52h-55.68c9.184-14.72%2017.504-26.464%2024.96-35.2%207.456-8.736%2013.12-13.984%2016.96-15.68%203.84-1.696%205.76-3.36%205.76-4.96s-1.376-2.944-4.16-4a191.488%20191.488%200%200%200-19.36-5.12%20278.784%20278.784%200%200%200-33.12-5.44c0.864%2021.76-0.96%2045.216-5.44%2070.4h-11.52a215.232%20215.232%200%200%200-40-13.44c0.416%209.184%200.64%2020.256%200.64%2033.28v147.52c0%2011.52-0.224%2021.664-0.64%2030.4-0.416%208.736-0.64%2013.664-0.64%2014.72%200%203.84%202.24%205.76%206.72%205.76z%20m123.84-135.36h-92.8V259.52c2.144-1.28%203.744-3.2%204.8-5.76h88v72.32z%20m0%2092.16h-92.8v-81.6h92.8v81.6z%20m232.96%2049.92c14.08%200%2025.344-2.816%2033.76-8.48%208.416-5.664%2012.64-15.616%2012.64-29.92V260.48H832c4.256%200%206.4-1.28%206.4-3.84%200-2.56-6.784-9.12-20.32-19.68-13.536-10.56-21.92-15.84-25.12-15.84a3.968%203.968%200%200%200-2.88%201.28%2093.92%2093.92%200%200%200-6.88%2010.4c-3.744%206.08-7.104%2011.776-10.08%2017.12h-32.32V197.76c8.096-3.424%2012.16-7.264%2012.16-11.52%200-4.256-3.744-7.52-11.2-9.76-7.456-2.24-21.536-4.096-42.24-5.6%200.416%208.32%200.64%2017.824%200.64%2028.48v50.56h-139.84c-5.536%200-10.88-0.32-16-0.96l8.32%2015.04a19.84%2019.84%200%200%201%2011.52-3.52h105.28c-6.624%2021.76-17.984%2043.04-34.08%2063.84-16.096%2020.8-46.56%2045.696-91.36%2074.72-2.784%201.92-4.16%203.2-4.16%203.84%200%200.64%200.544%200.96%201.6%200.96%204.064%200%2019.456-5.376%2046.24-16.16%2026.784-10.784%2049.44-23.936%2068-39.52a170.88%20170.88%200%200%200%2044.48-58.24v106.56c0%2014.72-2.72%2023.584-8.16%2026.56-5.44%202.976-12.064%204.48-19.84%204.48s-14.784-0.224-20.96-0.64c-6.176-0.416-9.28-0.16-9.28%200.8%200%200.96%202.016%201.984%206.08%203.04%2013.856%203.2%2022.944%206.784%2027.2%2010.72%204.256%203.936%207.264%2010.176%208.96%2018.72%200.64%203.2%201.696%205.344%203.2%206.4%201.504%201.056%203.84%201.6%207.04%201.6zM418.24%20854.4c4.48%200%2011.424-1.184%2020.8-3.52%209.376-2.336%2015.904-5.824%2019.52-10.4%203.616-4.576%205.44-12.64%205.44-24.16v-130.88c9.824-1.92%2014.72-5.024%2014.72-9.28a6.784%206.784%200%200%200-1.44-4.16%2038.816%2038.816%200%200%200-7.2-6.08%20446.56%20446.56%200%200%200-25.44-16.8c-4.384-2.656-7.424-4-9.12-4-4.896%200-10.336%206.176-16.32%2018.56h-82.88c7.04-11.104%2015.264-25.6%2024.64-43.52h143.36c6.4%200%209.6-1.6%209.6-4.8%200-3.2-6.624-9.76-19.84-19.68-13.216-9.92-21.12-14.88-23.68-14.88-1.28%200-2.496%200.576-3.68%201.76a73.6%2073.6%200%200%200-6.88%2010.08c-3.424%205.536-6.496%2011.2-9.28%2016.96h-84.16c5.12-10.464%209.056-18.656%2011.84-24.64%202.784-5.984%206.08-9.984%209.92-12s5.76-3.84%205.76-5.44c0-1.6-2.816-3.2-8.48-4.8-5.664-1.6-22.144-4.96-49.44-10.08-4.256%2025.376-8.544%2044.384-12.8%2056.96H231.68c-5.536%200-10.88-0.32-16-0.96l8.32%2015.04a19.84%2019.84%200%200%201%2011.52-3.52h83.84c-23.904%2057.6-57.6%20102.816-101.12%20135.68-2.56%201.92-3.84%203.36-3.84%204.32%200%200.96%200.384%201.44%201.12%201.44%200.736%200%201.6-0.16%202.56-0.48a593.92%20593.92%200%200%200%2048.32-30.08c10.336-7.136%2019.904-14.336%2028.64-21.6v99.52c0%2014.08-0.64%2026.88-1.92%2038.4-0.416%204.256%203.04%206.4%2010.4%206.4s13.92-1.344%2019.68-4c5.76-2.656%208.64-6.656%208.64-12v-72h91.2v42.56c0%203.2-2.88%205.44-8.64%206.72-5.76%201.28-17.92%202.016-36.48%202.24-4.064%200-6.08%200.544-6.08%201.6s1.824%201.824%205.44%202.24c11.104%201.504%2019.2%204.32%2024.32%208.48%205.12%204.16%207.68%209.984%207.68%2017.44%200%204.896%202.976%207.36%208.96%207.36z%20m4.8-145.6h-91.2v-29.12c3.2-1.056%205.344-2.88%206.4-5.44h84.8v34.56z%20m0%2046.4h-91.2v-35.84h91.2v35.84z%20m109.76%2094.08c3.84%200%2018.08-5.536%2042.72-16.64%2024.64-11.104%2044.896-25.44%2060.8-43.04%2015.904-17.6%2028.16-39.68%2036.8-66.24%208.64-26.56%2014.784-61.696%2018.4-105.44%200.224%2043.296%203.904%2078.56%2011.04%20105.76%207.136%2027.2%2021.184%2053.344%2042.08%2078.4%2020.896%2025.056%2033.824%2037.6%2038.72%2037.6%202.144%200%203.616-0.864%204.48-2.56%209.6-16%2023.68-26.976%2042.24-32.96%203.84-1.056%205.76-1.984%205.76-2.72%200-0.736-1.28-1.664-3.84-2.72-43.936-19.84-76.96-46.88-99.04-81.12-22.08-34.24-34.72-76.32-37.92-126.24%201.92-6.624%204.736-10.816%208.48-12.64%203.744-1.824%205.6-3.776%205.6-5.92%200-1.504-0.864-2.72-2.56-3.68-1.696-0.96-8.416-2.496-20.16-4.64a253.984%20253.984%200%200%200-37.12-3.84c0.64%2055.456-2.176%20100.064-8.48%20133.76s-17.28%2062.144-32.96%2085.28c-15.68%2023.136-39.744%2044.736-72.16%2064.8-2.784%201.696-4.16%202.944-4.16%203.68%200%200.736%200.416%201.12%201.28%201.12z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-nazha { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-nazha%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M874.112%201024H149.888A149.888%20149.888%200%200%201%200%20874.112V149.888A149.888%20149.888%200%200%201%20149.888%200h724.224A149.888%20149.888%200%200%201%201024%20149.888v724.224A149.888%20149.888%200%200%201%20874.112%201024%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M169.92%20675.136h83.04v-50.08H169.92zM438.72%20625.056h57.44v50.08h-40.096zM284.256%20348.864h111.488v33.376H282.624zM422.08%20382.24h74.08v-33.376H422.08zM413.568%20518.08h82.56v-33.344h-82.56z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M457.568%20675.136h38.592V348.864h-38.592zM279.808%20440h113.344v33.376H278.208zM275.584%20531.168h120.16v33.376H273.92zM345.856%20625.056h49.888v50.08h-40.256zM267.2%20625.056h49.92v50.08H276.864z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M413.088%20348.864l-15.744%20326.272h-35.072V348.864zM454.08%20348.864l-17.344%20326.272h-31.84l15.744-326.272zM348.608%20348.864l-7.072%20326.272H285.92l27.616-326.272zM275.328%20348.864l-15.104%20326.272H225.152l15.104-326.272z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M265.728%20348.864l-60.704%20276.192H169.92l60.736-276.192zM219.744%20348.864L169.92%20585.6v-236.736zM665.984%20348.864h180.576l-7.68%2050.08h-175.456zM659.392%20486.976h165.92l-7.712%2050.048h-160.544zM688.448%20641.76h113.024l-5.12%2033.376h-109.504z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M773.696%20348.864L724.8%20675.136h-74.176l79.488-326.272zM527.808%20675.136h83.008v-50.08h-83.008z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M658.24%20348.864l-15.104%20326.272h-41.472l15.104-326.272z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M623.616%20348.864l-60.736%20276.192h-35.072l60.736-276.192zM577.6%20348.864L527.808%20585.6v-236.736zM804.256%20675.136l49.792-326.272v326.272z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-daotian { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-daotian%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M873.984%201024H150.016A150.016%20150.016%200%200%201%200%20873.92V150.016C0%2067.2%2067.2%200%20150.016%200h723.968A150.016%20150.016%200%200%201%201024%20150.016v723.936A150.016%20150.016%200%200%201%20873.984%201024%22%20fill%3D%22%230174E3%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M169.856%20479.872h124.096v-29.408H169.856zM408.768%20519.456h92.384v-29.408h-92.384zM368.32%20480.48a9.568%209.568%200%200%201-9.568%209.6h-53.44v29.376h63.04a29.408%2029.408%200%200%200%2029.376-29.408v-9.568h-29.408zM326.496%20600.096h71.232v-29.408h-71.232zM408.768%20600.096h83.36v-29.408h-83.36z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M501.152%20648.8v-140.16h-41.536v133.664a6.528%206.528%200%200%201-6.496%206.496h-99.744a6.528%206.528%200%200%201-6.528-6.496v-133.664H305.312v146.688c0%2012.64%2010.24%2022.88%2022.88%2022.88h150.208c12.64%200%2022.88-10.24%2022.88-22.88v-6.528h-0.128zM169.856%20668.064v-178.016c16.224%200%2029.376%2013.184%2029.376%2029.408v119.2a29.376%2029.376%200%200%201-29.376%2029.408M264.576%20638.656v-119.2c0-16.224%2013.152-29.408%2029.376-29.408v178.016a29.376%2029.376%200%200%201-29.376-29.408M211.136%20678.208h41.536V388.48H211.136zM688.192%20666.08h41.568v-276.192h-41.568z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M563.872%20417.376h290.272v-41.536h-290.24zM563.872%20541.76h290.272v-41.6h-290.24z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M812.608%20375.84v237.6a11.104%2011.104%200%200%201-11.104%2011.104h-184.96a11.104%2011.104%200%200%201-11.136-11.104v-237.6h-41.536v248.704c0%2022.944%2018.592%2041.536%2041.536%2041.536h207.2c22.944%200%2041.536-18.56%2041.536-41.536v-248.704h-41.536zM293.952%20366.72v-20.928h-29.376v11.168a9.792%209.792%200%200%201-9.792%209.76H169.856v29.376h94.72a29.28%2029.28%200%200%200%2029.376-29.376M471.776%20345.792v11.104c0%205.44-4.384%209.824-9.824%209.824H305.312v29.376h166.464a29.248%2029.248%200%200%200%2022.688-10.688%2029.248%2029.248%200%200%200%206.72-18.688v-20.928h-29.408zM362.176%20467.04a56.864%2056.864%200%200%201-56.864-56.864c31.392%200%2056.864%2025.472%2056.864%2056.864M428.576%20467.04a56.864%2056.864%200%200%201-56.864-56.864c31.424%200%2056.864%2025.472%2056.864%2056.864M444.32%20467.04c0-31.392%2025.44-56.864%2056.832-56.864%200%2031.392-25.44%2056.864-56.832%2056.864%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhuchangtong { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhuchangtong%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M873.792%201024H150.208A150.208%20150.208%200%200%201%200%20873.792V150.208A150.208%20150.208%200%200%201%20150.208%200h723.584A150.208%20150.208%200%200%201%201024%20150.208v723.584A150.208%20150.208%200%200%201%20873.792%201024%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M179.68%20378.624h86.976v-27.968H179.68zM329.696%20412.8h151.488v-28.096h-151.488zM659.776%20378.72h156.064v-28.064h-156.064zM538.912%20450.976h107.68v-28.096h-107.68zM538.912%20619.424h107.68v-28.064h-107.68zM329.696%20489.152h151.488v-28.064h-151.488zM659.776%20450.976h202.112v-28.096h-202.112zM326.656%20619.424h157.536v-28.064h-157.536zM179.68%20489.152h138.656v-28.064H179.68zM162.08%20555.04H263.68v-28.064H162.08z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M249.056%20479.808h46.08v-129.152h-46.08z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M273.632%20584.992H319.68V461.12H273.632zM179.68%20479.808h46.08v-95.104h-46.08zM385.152%20605.376h46.08v-207.552h-46.08zM569.728%20608.32h46.08v-257.664h-46.08zM434.528%20380.352H388.48l-6.656-29.696h46.08zM659.776%20422.88l52.512%2019.488%20103.552-63.648-46.56-23.328zM273.6%20584.992s-2.816%2041.344-25.664%2065.664l41.408%2022.72s30.336-33.728%2030.336-88.384H273.6zM815.84%20584.992h46.08V439.36h-46.08zM815.84%20584.992s-2.816%2041.344-25.664%2065.664l41.408%2022.72s30.304-33.728%2030.304-88.384h-46.048zM679.84%20531.072h46.048V461.12h-46.08zM679.84%20531.072s2.112%2041.344-20.704%2065.664l41.408%2022.72s25.344-21.696%2025.344-88.384h-46.08zM748%20531.84h46.048v-70.016h-46.08z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M748%20531.84s1.664%2042.24-11.904%2064.896l41.536%2022.72s17.472-17.856%2016.416-87.616h-46.08z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-fachebao { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-fachebao%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M873.6%201024H150.4A150.4%20150.4%200%200%201%200%20873.6V150.4A150.4%20150.4%200%200%201%20150.4%200h723.2A150.4%20150.4%200%200%201%201024%20150.4v723.2a150.4%20150.4%200%200%201-150.4%20150.4%22%20fill%3D%22%2313A34D%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M234.24%20596.288h112.768A333.792%20333.792%200%200%201%20512%20552.96c59.968%200%20116.256%2015.744%20164.992%2043.328h112.736A401.6%20401.6%200%200%200%20512%20485.312a401.6%20401.6%200%200%200-277.76%20110.976M512%20192.096a296.16%20296.16%200%200%200-286.08%20372.928%20432.448%20432.448%200%200%201%2081.152-56.736%20205.92%20205.92%200%201%201%20409.888%200c29.216%2015.776%2056.416%2034.88%2081.12%2056.736%206.56-24.48%2010.048-50.24%2010.048-76.8A296.16%20296.16%200%200%200%20512%20192.096m-78.08%20271.584c-24.384%204.48-48.064%2010.944-70.848%2019.328a149.056%20149.056%200%200%201%20297.856%200%20429.248%20429.248%200%200%200-70.88-19.328%2081.856%2081.856%200%200%200-156.128%200M355.136%20753.184h-24.384a4.832%204.832%200%200%200-3.84%207.776c3.808%204.928%208%209.504%2012.704%2013.728%201.76%201.6%204.512%201.632%206.336%200.096%204.896-4.256%209.28-8.896%2013.088-13.952%202.368-3.136%200-7.648-3.904-7.648m-36.8%2032.48a121.92%20121.92%200%200%201-10.496-12.864%204.768%204.768%200%200%200-8.032%200.576%20217.536%20217.536%200%200%201-15.296%2023.552c-2.816%203.808%200.896%208.992%205.344%207.424%2010.08-3.584%2019.072-7.328%2026.944-11.136a4.8%204.8%200%200%200%201.536-7.552m77.408%2045.984c-20.8-7.36-38.112-15.52-51.904-24.544a4.576%204.576%200%200%200-4.864-0.16c-6.72%203.84-14.336%207.52-22.88%2011.136-8.608%203.648-18.72%207.488-30.304%2011.52a4.864%204.864%200%200%201-5.952-2.4l-4.16-8.64a4.8%204.8%200%200%200-7.904-1.12%20262.752%20262.752%200%200%201-4.16%204.512%204.8%204.8%200%200%201-7.008%200.032l-10.4-11.072a4.8%204.8%200%200%201%200.16-6.624c11.488-11.648%2021.216-24.16%2029.12-37.504%207.68-12.896%2013.984-27.04%2018.944-42.496a4.8%204.8%200%200%200-4.64-6.24h-26.944a4.8%204.8%200%200%201-4.8-4.8v-14.304c0-0.576%200.096-1.088%200.288-1.632%200.96-2.56%202.144-6.816%203.584-12.736%201.12-4.576%202.112-8.704%202.912-12.384a4.768%204.768%200%200%201%205.504-3.648l12.576%202.208a4.8%204.8%200%200%201%203.84%205.888%20780.512%20780.512%200%200%201-3.648%2013.696%204.8%204.8%200%200%200%204.64%206.08h9.92a4.832%204.832%200%200%200%204.768-3.936c1.44-7.808%202.624-15.616%203.52-23.424a4.768%204.768%200%200%201%205.344-4.16l13.024%201.664a4.8%204.8%200%200%201%204.16%205.408c-0.928%207.296-1.792%2013.632-2.624%2018.976a4.768%204.768%200%200%200%204.768%205.44h25.088a4.8%204.8%200%200%200%203.2-8.32%20358.304%20358.304%200%200%200-9.792-8.64%204.8%204.8%200%200%201-0.64-6.656l6.72-8.32c2.144-2.688%205.12-3.04%207.168-1.44a364.576%20364.576%200%200%201%2018.336%2015.456%206.208%206.208%200%200%201%200.896%208.16%206.208%206.208%200%200%200%205.088%209.792h12.64a4.8%204.8%200%200%201%204.8%204.8v12.032a4.8%204.8%200%200%201-4.8%204.8h-73.92a6.24%206.24%200%200%200-6.048%204.704l-0.224%200.896a6.176%206.176%200%200%200%206.048%207.712h60.096a4.8%204.8%200%200%201%204.8%204.8v15.52a4.928%204.928%200%200%201-0.64%202.464%20191.552%20191.552%200%200%201-13.056%2019.936c-3.2%204.256-6.592%208.224-10.176%2011.936-2.24%202.304-1.792%206.112%201.088%207.616%2010.944%205.664%2023.584%2010.688%2037.952%2015.104a4.8%204.8%200%200%201%202.976%206.624l-6.496%2013.76a4.864%204.864%200%200%201-5.984%202.528M587.936%20783.872v12.608a4.8%204.8%200%200%201-4.8%204.8H530.24a4.8%204.8%200%200%200-4.8%204.8v18.304a4.8%204.8%200%200%201-4.8%204.8h-14.432a4.8%204.8%200%200%201-4.8-4.8v-18.336a4.8%204.8%200%200%200-4.8-4.8h-60.672a4.8%204.8%200%200%201-4.8-4.8v-12.576a4.8%204.8%200%200%201%204.8-4.8h60.672a4.8%204.8%200%200%200%204.8-4.8v-9.28a4.8%204.8%200%200%200-4.8-4.8h-44.608a4.8%204.8%200%200%201-4.8-4.8v-15.296c0-1.12%200.384-2.144%201.056-2.976%204.544-5.568%209.6-12.928%2015.136-22.08a4.8%204.8%200%200%200-4.064-7.36h-15.616a4.8%204.8%200%200%201-4.8-4.8v-12.384a4.8%204.8%200%200%201%204.8-4.8h32.64a4.864%204.864%200%200%200%204.352-2.784%20186.24%20186.24%200%200%200%206.688-15.872%204.736%204.736%200%200%201%205.28-3.04l15.232%202.56a4.768%204.768%200%200%201%203.648%206.56c-0.768%201.76-1.6%203.68-2.56%205.76a4.8%204.8%200%200%200%204.352%206.816h62.592a4.8%204.8%200%200%201%204.8%204.8v12.416a4.8%204.8%200%200%201-4.8%204.8h-78.4a4.864%204.864%200%200%200-4.16%202.496c-4.448%208-8.576%2014.912-12.416%2020.8a4.8%204.8%200%200%200%204%207.36h11.648a4.8%204.8%200%200%200%204.8-4.8v-14.592a4.8%204.8%200%200%201%204.96-4.8l14.464%200.544a4.8%204.8%200%200%201%204.608%204.8v14.08c0%202.656%202.144%204.8%204.8%204.8h35.328a4.8%204.8%200%200%201%204.8%204.8v12.224a4.8%204.8%200%200%201-4.8%204.8H530.24a4.8%204.8%200%200%200-4.8%204.8v9.28c0%202.624%202.144%204.8%204.8%204.8h52.928a4.8%204.8%200%200%201%204.8%204.768M737.568%20703.04h-92.32a4.8%204.8%200%200%200-4.8%204.8v4.288a4.8%204.8%200%200%201-4.8%204.8h-13.696a4.8%204.8%200%200%201-4.8-4.8v-26.08a4.8%204.8%200%200%201%204.8-4.8h51.456a4.8%204.8%200%200%200%204.64-5.92l-0.896-3.776a4.8%204.8%200%200%201%204.48-5.92l14.848-0.64a4.8%204.8%200%200%201%204.896%203.84l1.728%208.576a4.8%204.8%200%200%200%204.704%203.84h54.176a4.8%204.8%200%200%201%204.8%204.8v26.08a4.8%204.8%200%200%201-4.8%204.8h-14.816a4.8%204.8%200%200%201-4.8-4.8v-4.256a4.8%204.8%200%200%200-4.8-4.8m30.304%20106.88v12.576a4.8%204.8%200%200%201-4.8%204.8H620.48a4.8%204.8%200%200%201-4.8-4.8v-12.576a4.8%204.8%200%200%201%204.8-4.8h53.856a4.8%204.8%200%200%200%204.8-4.8v-15.2a4.8%204.8%200%200%200-4.8-4.8h-37.76a4.8%204.8%200%200%201-4.8-4.8v-13.12a4.8%204.8%200%200%201%204.8-4.8h37.76a4.8%204.8%200%200%200%204.8-4.8v-5.76a4.8%204.8%200%200%200-4.8-4.8h-43.136a4.8%204.8%200%200%201-4.8-4.8v-12.608a4.8%204.8%200%200%201%204.8-4.8h121.728a4.8%204.8%200%200%201%204.8%204.8v12.608a4.8%204.8%200%200%201-4.8%204.8h-45.536a4.8%204.8%200%200%200-4.8%204.8v5.76c0%202.656%202.176%204.8%204.8%204.8h39.616a4.8%204.8%200%200%201%204.8%204.8v13.12a4.8%204.8%200%200%201-4.8%204.8h-39.616a4.8%204.8%200%200%200-4.8%204.8v15.2c0%202.656%202.176%204.8%204.8%204.8h10.176a4.8%204.8%200%200%200%204.544-6.4%20142.4%20142.4%200%200%200-1.824-4.992%204.8%204.8%200%200%201%203.584-6.496l14.24-2.56a4.736%204.736%200%200%201%205.248%202.848c1.536%203.68%203.36%208.448%205.44%2014.336%200.704%201.92%202.528%203.264%204.544%203.264h9.728a4.8%204.8%200%200%201%204.8%204.8%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-jiesuanzhushou { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-jiesuanzhushou%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M160%201024h704a160%20160%200%200%200%20160-160V160a160%20160%200%200%200-160-160H160a160%20160%200%200%200-160%20160v704a160%20160%200%200%200%20160%20160z%22%20fill%3D%22%23FFE000%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M506.08%20406.72l-40.448%2040.48a8.384%208.384%200%200%200%200%2011.84l40.448%2040.448a8.384%208.384%200%200%200%2011.84%200l40.448-40.448a8.384%208.384%200%200%200%200-11.84l-40.448-40.448a8.384%208.384%200%200%200-11.84%200%22%20fill%3D%22%23000000%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M512%20652.96a200.096%20200.096%200%200%201-199.872-199.84c0-68.16%2034.24-130.944%2091.52-168a24.032%2024.032%200%200%201%2036.64%2025.28%2024%2024%200%200%201-10.464%2015.232%20151.232%20151.232%200%200%200-69.472%20127.488A151.84%20151.84%200%200%200%20512%20604.768a151.84%20151.84%200%200%200%20151.648-151.68%20151.232%20151.232%200%200%200-69.504-127.456%2023.936%2023.936%200%200%201-10.464-15.2%2024.032%2024.032%200%200%201%2036.64-25.28%20199.296%20199.296%200%200%201%2091.52%20167.968A200.096%20200.096%200%200%201%20512%20652.96%22%20fill%3D%22%23000000%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M511.68%20301.44a24.096%2024.096%200%200%201-15.36-5.568l-1.376-1.184-68.576-70.464a24.128%2024.128%200%200%201%2017.28-40.896c6.528%200%2012.672%202.56%2017.248%207.296l51.008%2052.416%2051.424-51.456a24%2024%200%200%201%2034.08%200%2023.968%2023.968%200%200%201%200%2034.08l-68.864%2068.864-1.824%201.6-1.92%201.408-0.704%200.416-1.344%200.8-0.512%200.224-1.6%200.736-0.32%200.096a24.192%2024.192%200%200%201-8.64%201.632M359.424%20805.056h-20.704a3.424%203.424%200%200%200-3.424%203.424v11.072c0%201.888%201.536%203.424%203.424%203.424h20.704c1.92%200%203.424-1.536%203.424-3.424v-11.072a3.424%203.424%200%200%200-3.424-3.424z%20m15.456%2031.872h-51.456a3.424%203.424%200%200%201-3.424-3.424v-39.104c0-1.888%201.536-3.424%203.424-3.424h51.456c1.888%200%203.424%201.536%203.424%203.424v39.104c0%201.92-1.536%203.424-3.424%203.424z%20m-18.336-104.064v6.4c0%201.888%201.536%203.424%203.424%203.424h20.352c1.856%200%203.424%201.536%203.424%203.424v7.584c0%201.92-1.568%203.424-3.424%203.424h-20.352a3.424%203.424%200%200%200-3.424%203.424v5.28c0%201.888%201.536%203.424%203.424%203.424h14.784c1.888%200%203.424%201.536%203.424%203.424v7.456c0%201.92-1.536%203.424-3.424%203.424h-50.976a3.424%203.424%200%200%201-3.424-3.424v-7.456c0-1.92%201.536-3.424%203.424-3.424h14.144c1.92%200%203.456-1.536%203.456-3.424v-5.28a3.424%203.424%200%200%200-3.456-3.424h-16.864a3.424%203.424%200%200%201-3.424-3.424v-7.584c0-1.92%201.536-3.424%203.424-3.424h16.864c1.92%200%203.456-1.536%203.456-3.424v-6.72c0-1.952%201.6-3.52%203.52-3.424l8.384%200.32c1.824%200.096%203.264%201.6%203.264%203.424z%20m-52.704%2026.816l1.504-2.784a3.424%203.424%200%200%201%204.48-1.44l5.76%202.752a3.456%203.456%200%200%201%201.632%204.64%20241.408%20241.408%200%200%201-12.16%2021.568%203.424%203.424%200%200%200%203.52%205.184l2.752-0.48a3.424%203.424%200%200%201%204.032%203.296l0.128%207.456a3.392%203.392%200%200%201-2.944%203.456%20762.048%20762.048%200%200%200-23.68%203.552l-0.224%200.064-2.624%200.576a3.424%203.424%200%200%201-4.096-2.56l-2.688-11.648a10.688%2010.688%200%200%200%203.776-1.6%2029.696%2029.696%200%200%200%203.264-3.584c1.504-1.92%203.2-4.224%205.024-6.944a3.424%203.424%200%200%200-3.136-5.312l-3.136%200.288a56.768%2056.768%200%200%200-5.312%200.864l-3.2-14.464a12.128%2012.128%200%200%200%202.176-1.28%2014.496%2014.496%200%200%200%201.792-1.92c1.632-2.144%204.16-6.496%207.648-13.024%202.848-5.408%205.312-10.496%207.456-15.296a3.392%203.392%200%200%201%204.416-1.76l6.432%202.656a3.424%203.424%200%200%201%201.824%204.576c-2.048%204.448-4.48%209.152-7.168%2014.144-3.36%206.208-5.792%209.984-7.296%2011.296l7.264-0.512a3.424%203.424%200%200%200%202.784-1.76z%20m-27.68%2063.36a3.392%203.392%200%200%201%202.816-3.808%201950.08%201950.08%200%200%200%2032.992-5.76%203.392%203.392%200%200%201%204.064%203.2l0.448%208.032a3.392%203.392%200%200%201-2.912%203.584c-3.232%200.448-8.16%201.216-14.752%202.336-7.264%201.216-13.184%202.24-17.76%203.072a3.392%203.392%200%200%201-4-2.976l-0.896-7.68zM439.552%20807.776c0%201.632%201.344%202.976%202.976%202.976h20.64a2.976%202.976%200%201%200%200-5.952h-20.64a2.976%202.976%200%200%200-2.976%202.976z%20m-14.816-13.12h54.592v-3.936h-54.592v3.968z%20m0-12.32h54.592v-4.096h-54.592v4.096z%20m0-12.864h54.592v-4.16h-54.592v4.16z%20m-4.736-21.44a182.144%20182.144%200%200%201-2.176%202.624%202.976%202.976%200%200%200%202.272%204.864h37.376l-11.616-4.576%203.328-4.064h-11.488l1.856%205.056-8.48%202.4a2.944%202.944%200%200%201-3.648-1.984%20110.4%20110.4%200%200%200-1.824-5.44h-3.264a2.976%202.976%200%200%200-2.336%201.088z%20m86.272%2065.664v6.08a2.976%202.976%200%200%201-2.976%202.944h-19.744a2.976%202.976%200%200%200-2.976%202.976v10.496a2.976%202.976%200%200%201-2.976%202.944h-8.512a2.976%202.976%200%200%201-2.976-2.944v-10.496a2.976%202.976%200%200%200-2.944-2.976h-23.808a2.976%202.976%200%200%200-2.56%201.6%2025.664%2025.664%200%200%201-8.224%208.608%2085.28%2085.28%200%200%201-14.528%207.52%203.008%203.008%200%200%201-3.648-1.088l-4.352-6.528a2.976%202.976%200%200%201%201.344-4.416c5.728-2.24%209.632-4.16%2011.776-5.696h-18.752a2.976%202.976%200%200%201-2.976-2.976v-6.048c0-1.6%201.312-2.944%202.976-2.944h21.6a2.976%202.976%200%201%200%200-5.952h-8.768a2.976%202.976%200%200%201-2.944-2.944v-42.752l-3.104%203.104-8.032-6.4a2.944%202.944%200%200%201-0.256-4.384c3.168-3.072%206.4-6.72%209.696-11.04%203.584-4.64%206.464-8.8%208.608-12.48a2.912%202.912%200%200%201%203.008-1.472l12.288%201.92c-0.832%201.92-1.888%203.936-3.2%206.176h20.608c1.664%200%202.976%201.312%202.976%202.976v4.16c2.848-3.968%205.504-8.352%207.936-13.12a2.976%202.976%200%200%201%203.072-1.6l12.096%201.76a96.608%2096.608%200%200%201-3.072%205.824h28.032c1.6%200%202.944%201.312%202.944%202.976v6.4a2.976%202.976%200%200%201-2.944%202.976h-15.328a20.992%2020.992%200%200%200%200.672%201.728c0.32%200.64%200.64%201.472%201.056%202.464l-8.32%202.976a2.944%202.944%200%200%201-3.776-1.792c-0.32-0.96-0.768-2.112-1.28-3.424a2.976%202.976%200%200%200-2.752-1.92h-4.096a2.88%202.88%200%200%200-2.464%201.344%2087.872%2087.872%200%200%201-1.76%202.624%202.976%202.976%200%200%200%202.432%204.64h25.472c1.632%200%202.976%201.344%202.976%202.976v43.36a2.976%202.976%200%200%201-2.976%202.944h-7.264a2.976%202.976%200%201%200%200%205.952h19.744c1.632%200%202.976%201.312%202.976%202.944zM551.872%20797.76h-7.232a3.424%203.424%200%200%200-3.424%203.424v6.656c0%202.112%201.888%203.712%203.968%203.392l7.232-1.152a3.424%203.424%200%200%200%202.88-3.392v-5.504a3.424%203.424%200%200%200-3.424-3.424z%20m-7.232-13.824h7.232c1.92%200%203.424-1.536%203.424-3.424v-4.032a3.424%203.424%200%200%200-3.424-3.424h-7.232a3.424%203.424%200%200%200-3.424%203.424v4.032c0%201.888%201.536%203.424%203.424%203.424z%20m10.656-28.16v-4.864a3.424%203.424%200%200%200-3.424-3.424h-7.232a3.424%203.424%200%200%200-3.424%203.424v4.896c0%201.92%201.536%203.424%203.424%203.424h7.232c1.92%200%203.424-1.536%203.424-3.424z%20m65.184-8.16c1.92%200%203.456%201.6%203.424%203.52l-0.32%2011.296a2209.216%202209.216%200%200%201-1.696%2059.68c-0.256%205.024-1.504%208.576-3.712%2010.688-2.24%202.08-5.856%203.36-10.88%203.744l-8.864%200.864a3.424%203.424%200%200%201-3.648-2.496l-2.304-8.384a3.424%203.424%200%200%201%202.944-4.32l6.208-0.608c1.792-0.16%203.072-0.8%203.744-1.92a15.808%2015.808%200%200%200%201.44-6.464c0.48-5.856%200.864-13.056%201.088-21.632%200.256-8.544%200.416-16.416%200.512-23.584l0.128-5.568h-10.752a329.792%20329.792%200%200%201-2.24%2033.088c-0.96%207.616-3.392%2015.232-7.264%2022.944a70.528%2070.528%200%200%201-15.744%2020.032%203.456%203.456%200%200%201-4.736-0.096l-5.344-5.248a3.456%203.456%200%200%201%200.096-4.96c2.112-1.984%203.968-3.936%205.6-5.856a891.616%20891.616%200%200%201-44.448%208%203.392%203.392%200%200%201-3.872-3.008l-0.96-8.96a3.424%203.424%200%200%201%202.976-3.744l2.144-0.288a3.456%203.456%200%200%200%203.008-3.392v-74.464c0-1.92%201.536-3.424%203.424-3.424h36c1.92%200%203.456%201.536%203.456%203.424v70.4a26.624%2026.624%200%200%201%202.208-0.416%2022.112%2022.112%200%200%200%202.592-0.544l0.384%206.56a55.36%2055.36%200%200%200%205.92-18.24c0.96-6.624%201.632-15.936%201.984-27.968l0.128-3.84h-5.472a3.424%203.424%200%200%201-3.424-3.424v-7.968c0-1.888%201.536-3.424%203.424-3.424h2.432a3.424%203.424%200%200%200%203.424-3.392l0.16-12.32c0.032-1.92%201.664-3.488%203.616-3.392l7.872%200.416c1.824%200.096%203.264%201.6%203.264%203.424%200%203.552-0.064%207.488-0.16%2011.744-0.032%201.92%201.504%203.52%203.424%203.52h18.816zM747.84%20794.528v8.576c0%201.92-1.504%203.424-3.392%203.424h-36.768a3.424%203.424%200%200%200-3.424%203.424v9.184c0%205.28-0.448%209.248-1.408%2011.936a9.6%209.6%200%200%201-4.768%205.664%2028.704%2028.704%200%200%201-9.76%202.304l-7.808%200.736a3.424%203.424%200%200%201-3.552-2.336l-2.944-8.576a3.424%203.424%200%200%201%202.88-4.48l4.768-0.544a11.904%2011.904%200%200%200%204.16-1.056c0.768-0.448%201.312-1.376%201.632-2.72a31.424%2031.424%200%200%200%200.512-6.592v-3.52a3.424%203.424%200%200%200-3.424-3.424h-38.624a3.424%203.424%200%200%201-3.424-3.424v-8.576c0-1.92%201.536-3.424%203.424-3.424h38.624c1.888%200%203.424-1.536%203.424-3.424v-5.376a3.424%203.424%200%200%200-3.424-3.424h-29.344a3.424%203.424%200%200%201-3.424-3.424v-8.608c0-1.888%201.536-3.424%203.424-3.424h29.344c1.888%200%203.424-1.536%203.424-3.424v-5.792a3.456%203.456%200%200%200-3.648-3.424c-11.392%200.64-21.792%201.024-31.2%201.216a3.392%203.392%200%200%201-3.456-3.168l-0.576-7.84a3.392%203.392%200%200%201%203.328-3.68c12.16-0.16%2026.176-0.832%2042.08-2.048%2015.776-1.184%2029.12-2.688%2039.936-4.544%201.92-0.32%203.744%200.992%204%202.944l1.024%208.544a3.424%203.424%200%200%201-2.88%203.84c-8.32%201.216-18.048%202.24-29.12%203.2a3.456%203.456%200%200%200-3.2%203.392v7.36c0%201.92%201.536%203.424%203.424%203.424h27.616c1.92%200%203.424%201.536%203.424%203.424v8.608c0%201.888-1.536%203.424-3.424%203.424h-27.616a3.424%203.424%200%200%200-3.424%203.424v5.376c0%201.888%201.536%203.424%203.424%203.424h36.768c1.92%200%203.424%201.536%203.424%203.424%22%20fill%3D%22%23000000%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-qudaoguanjia { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-qudaoguanjia%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M467.264%20405.44h-30.24a52.864%2052.864%200%200%201-50.176%2050.176v30.272c10.432-0.32%2020.416-2.56%2029.568-6.432v141.728h27.392a2.56%202.56%200%200%200%202.56-2.56V457.92c12.48-14.08%2020.288-32.384%2020.896-52.48M559.424%20592.544h-64.96v-46.912h92.032v19.84c0%2014.944-12.128%2027.072-27.072%2027.072z%20m-64.96-75.552v-46.944h92.032v46.976h-92.032v-0.032z%20m109.248-75.552h-72.736a64.64%2064.64%200%200%200%2010.88-36h-28.928c0%2019.36-15.232%2035.136-34.368%2036h-1.312a12.768%2012.768%200%200%200-12.768%2012.768V608.384c0%207.04%205.696%2012.768%2012.768%2012.768h80.576c32.416%200%2058.656-26.24%2058.656-58.624V454.208a12.768%2012.768%200%200%200-12.768-12.768zM860.064%20441.44h-50.048V405.44h-29.888v36h-123.936v29.568h89.92l-46.848%2086.56c-10.24%2018.944-20.672%2022.976-27.648%2023.04h-1.024v30.336c0.864%200.064%201.728%200.128%202.592%200.128%2011.584%200%2033.408-4.352%2049.12-33.44l57.792-106.624v85.056c0.032%2017.088-4.576%2028.672-13.376%2033.472l-0.896%200.512v31.104l2.016-0.352c20.384-3.648%2042.176-20.8%2042.176-58.048v-91.744h50.048v-29.568zM163.936%20393.472h3.872a35.84%2035.84%200%200%201%2035.776%2035.872v23.68a99.584%2099.584%200%200%200-39.648%2050.496v-110.048zM295.872%20575.36l31.232%2024.576a93.568%2093.568%200%200%200%201.824-124.896l-32%2023.744%200.448%200.416a54.4%2054.4%200%200%201-1.504%2076.16%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M257.824%20630.496a93.056%2093.056%200%200%201-58.08-20.16%2093.376%2093.376%200%200%201-35.136-62.72%2093.376%2093.376%200%200%201%2019.424-69.248%2093.536%2093.536%200%200%201%2073.92-35.84%2093.024%2093.024%200%200%201%2067.2%2028.352l-32.32%2024a53.632%2053.632%200%200%200-34.88-12.704%2054.4%2054.4%200%200%200-45.216%2024.128A54.464%2054.464%200%200%200%20224.32%20579.2a54.24%2054.24%200%200%200%2067.328-0.128l31.68%2024.96a93.12%2093.12%200%200%201-65.504%2026.464%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M0%200m160%200l704%200q160%200%20160%20160l0%20704q0%20160-160%20160l-704%200q-160%200-160-160l0-704q0-160%20160-160Z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M671.584%20483.52l-134.272%2077.536v155.04l134.272%2077.504%20134.272-77.504v-155.04l-134.272-77.536zM230.4%20561.056v155.04l134.272%2077.504%20134.272-77.504v-155.04l-134.272-77.536L230.4%20561.056z%20m421.888-265.92L518.016%20217.6l-134.272%2077.536v155.008l134.272%2077.536%20134.272-77.536V295.136z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-guanyuwomen3 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-guanyuwomen3%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M864%200a160%20160%200%200%201%20160%20160v704a160%20160%200%200%201-160%20160H160a160%20160%200%200%201-160-160V160a160%20160%200%200%201%20160-160h704z%20m-312.864%20385.056c-35.52-15.68-126.912%2064.256-126.912%2064.256-8.896%207.84-13.6%2016.704-10.464%2022.464%2012.032%2020.896%2061.632-9.92%2061.632-9.92s18.304-14.624%2016.192%200c-6.24%2043.872-31.84%20239.744-25.6%20272.128%207.84%2042.816%2059.552%2050.144%20112.832-6.784%2064.256-84.608%204.16-43.872%204.16-43.872-25.568%2021.408-33.92%2042.816-41.248%2015.68-2.528-3.552%201.088-43.904%205.568-86.08l1.824-16.896c4.352-39.264%208.864-76.064%209.344-81.92%203.648-14.656%2016.704-122.784-7.328-129.056z%20m3.136-159.808c-30.304-7.328-55.36%2018.784-62.688%2049.088-6.784%2030.304%204.704%2065.28%2035.008%2072.608%2030.304%207.296%2058.496-18.272%2065.824-48.576%206.784-30.304-7.84-65.824-38.144-73.12z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-gongsizhengce { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-gongsizhengce%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m160%200l704%200q160%200%20160%20160l0%20704q0%20160-160%20160l-704%200q-160%200-160-160l0-704q0-160%20160-160Z%22%20fill%3D%22%23FFAB00%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M682.912%20224a60.8%2060.8%200%200%201%2060.992%2060.64v225.376a127.232%20127.232%200%200%200-91.488-38.912c-71.712%200-129.408%2059.776-129.408%20132.96%200%2021.44%204.928%2042.144%2014.208%2060.704l3.648%206.816-31.68%2056.96c-7.36%2013.184-5.824%2029.472%203.84%2041.12H316.96A60.8%2060.8%200%200%201%20256%20709.024V284.64A60.8%2060.8%200%200%201%20316.992%20224H682.88z%20m-83.296%20349.632a60.32%2060.32%200%200%200%200%2060.64c10.88%2018.752%2031.04%2030.304%2052.8%2030.304a60.8%2060.8%200%200%200%2060.992-60.608%2060.8%2060.8%200%200%200-60.992-60.64c-21.76%200-41.92%2011.552-52.8%2030.304z%20m-250.688-7.072a21.28%2021.28%200%200%200-21.344%2021.216c0%2011.712%209.536%2021.216%2021.344%2021.216h101.696a21.28%2021.28%200%200%200%2021.344-21.216%2021.28%2021.28%200%200%200-21.344-21.216h-101.696z%20m0-121.28a21.28%2021.28%200%200%200-21.344%2021.248c0%2011.712%209.536%2021.216%2021.344%2021.216h181.536a21.28%2021.28%200%200%200%2021.312-21.216%2021.28%2021.28%200%200%200-21.312-21.248h-181.536z%20m303.488-116.768h-303.488a21.376%2021.376%200%200%200-18.496%2010.624%2021.12%2021.12%200%200%200%200%2021.216c3.808%206.56%2010.88%2010.624%2018.496%2010.624h303.488a21.28%2021.28%200%200%200%2021.344-21.248%2021.28%2021.28%200%200%200-21.344-21.216z%20m0%20169.536l4.512%200.448%200.576%200.16-5.088-0.64z%20m8.96-0.832c9.472%200.864%2018.752%203.04%2027.584%206.496l1.056%200.384c6.176%202.496%2012.096%205.6%2017.632%209.28l3.008%202.016c9.376%206.56%2017.6%2014.624%2024.288%2023.872a110.016%20110.016%200%200%201%2021.056%2064.8%20110.208%20110.208%200%200%201-22.24%2066.432l39.232%2070.496c2.88%205.088%201.216%2011.52-3.776%2014.624a10.112%2010.112%200%200%201-4.576%201.44l-35.84%202.24a10.272%2010.272%200%200%200-8.032%204.8l-19.84%2031.04a10.112%2010.112%200%200%201-17.6-0.544l-30.912-55.456-15.296%2027.456-15.616%2028a10.144%2010.144%200%200%201-17.6%200.544l-19.84-31.04a10.272%2010.272%200%200%200-8-4.8l-35.872-2.24a10.592%2010.592%200%200%201-9.696-11.36%2011.008%2011.008%200%200%201%201.344-4.704l39.264-70.496a109.248%20109.248%200%200%201-22.24-66.4c0-57.28%2043.328-104.064%2097.92-107.104l5.632-0.16%205.344%200.16%203.648%200.224z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-xinrenzhinan1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-xinrenzhinan1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m160%200l704%200q160%200%20160%20160l0%20704q0%20160-160%20160l-704%200q-160%200-160-160l0-704q0-160%20160-160Z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M614.528%20407.36h-171.264c0%2046.24%2038.336%2083.712%2085.632%2083.712%2047.296%200%2085.632-37.44%2085.632-83.68z%20m-214.08%20209.28h256.896c70.912%200%20128.448%2056.192%20128.448%20125.504V784H272v-41.856c0-69.312%2057.504-125.536%20128.448-125.536z%20m128.448-41.856c-94.592%200-171.264-74.944-171.264-167.392%200-92.48%2076.672-167.392%20171.264-167.392%2094.592%200%20171.264%2074.944%20171.264%20167.36%200%2092.48-76.672%20167.424-171.264%20167.424z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dagou { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dagou%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M873.6%201024H150.4A150.4%20150.4%200%200%201%200%20873.6V150.4A150.4%20150.4%200%200%201%20150.4%200h723.2A150.4%20150.4%200%200%201%201024%20150.4v723.2a150.4%20150.4%200%200%201-150.4%20150.4%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M469.856%20601.184a29.696%2029.696%200%200%200%2043.616-0.16l0.032-0.032%20175.104-175.136%200.416%200.832a196.448%20196.448%200%201%201-105.504-97.696l0.576%200.16a29.76%2029.76%200%200%200%2021.856-55.36l-0.32-0.128h-0.096A255.424%20255.424%200%200%200%20512%20256a256%20256%200%201%200%20208.032%20106.752%2029.76%2029.76%200%200%200-49.824-2.688l-0.096%200.16h-0.128l-178.4%20178.432-74.56-74.592h-0.064l-0.448-0.48a29.76%2029.76%200%201%200-42.816%2041.28l0.448%200.512%2095.712%2095.776z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodebaoming1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodebaoming1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m142.222222%200l739.555556%200q142.222222%200%20142.222222%20142.222222l0%20739.555556q0%20142.222222-142.222222%20142.222222l-739.555556%200q-142.222222%200-142.222222-142.222222l0-739.555556q0-142.222222%20142.222222-142.222222Z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M603.619556%20533.390222c64.056889%200%20115.427556-63.402667%20115.427555-141.880889%200-78.506667-51.370667-141.909333-115.427555-141.909333a96.711111%2096.711111%200%200%200-35.157334%206.627556c22.016%2038.286222%2034.787556%2084.650667%2034.787556%20135.281777a276.195556%20276.195556%200%200%201-34.787556%20135.253334c10.922667%204.238222%2022.840889%206.627556%2035.157334%206.627555z%20m-166.684445%200c72.988444%200%20131.527111-63.402667%20131.527111-141.880889%200-78.506667-58.538667-141.909333-131.555555-141.909333-72.988444%200-131.982222%2063.431111-131.982223%20141.909333%200%2078.506667%2058.993778%20141.880889%20131.982223%20141.880889z%20m206.819556%200c35.726222%2036.693333%2059.306667%2083.399111%2059.306666%20142.762667v100.494222h128.938667v-100.494222c0.113778-77.312-101.745778-125.155556-188.245333-142.762667z%20m-225.905778%200c-75.292444%200-225.848889%2048.64-225.848889%20145.976889v97.28h451.754667v-97.28c0-97.308444-150.641778-145.976889-225.905778-145.976889z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dailishuju { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dailishuju%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m160%200l704%200q160%200%20160%20160l0%20704q0%20160-160%20160l-704%200q-160%200-160-160l0-704q0-160%20160-160Z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M550.304%20476.96H800S800.8%20241.824%20550.304%20224%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M728%20543.776c0%20140.992-112.8%20255.296-252%20255.296C336.832%20799.072%20224%20684.8%20224%20543.776s112.832-255.328%20252-255.328v255.36h252z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodedaili { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodedaili%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m160%200l704%200q160%200%20160%20160l0%20704q0%20160-160%20160l-704%200q-160%200-160-160l0-704q0-160%20160-160Z%22%20fill%3D%22%23FFAB00%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M272%20697.024c0-29.408%2011.84-57.6%2032.832-78.4a112.608%20112.608%200%200%201%2079.296-32.416h255.744c61.888%200%20112.128%2049.664%20112.128%20110.816%200%2029.44-11.84%2057.632-32.832%2078.4a112.608%20112.608%200%200%201-79.296%2032.448h-255.776c-61.888%200-112.096-49.696-112.096-110.848zM512%20527.872c-80%200-144-71.296-144-158.336S432%20211.2%20512%20211.2s144%2071.296%20144%20158.336-64%20158.336-144%20158.336z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-xiezhubaoming { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-xiezhubaoming%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m142.222222%200l739.555556%200q142.222222%200%20142.222222%20142.222222l0%20739.555556q0%20142.222222-142.222222%20142.222222l-739.555556%200q-142.222222%200-142.222222-142.222222l0-739.555556q0-142.222222%20142.222222-142.222222Z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M672.711111%20541.127111c49.92%200%2089.969778-49.408%2089.969778-110.563555s-40.049778-110.563556-89.969778-110.563556c-9.671111%200-18.944%201.877333-27.363555%205.176889%2017.123556%2029.809778%2027.079111%2065.962667%2027.079111%20105.386667%200%2039.424-10.24%2075.235556-27.107556%20105.415111%208.533333%203.271111%2017.806222%205.148444%2027.392%205.148444z%20m-129.877333%200c56.888889%200%20102.513778-49.408%20102.513778-110.563555s-45.624889-110.563556-102.513778-110.563556-102.826667%2049.408-102.826667%20110.563556%2045.937778%20110.563556%20102.826667%20110.563555z%20m161.166222%200c27.818667%2028.558222%2046.193778%2064.967111%2046.193778%20111.217778v78.307555h100.465778v-78.307555c0.085333-60.245333-79.274667-97.507556-146.659556-111.217778z%20m-176.042667%200c-58.652444%200-175.957333%2037.916444-175.957333%20113.720889v75.832889H704v-75.832889c0-75.804444-117.390222-113.720889-176.042667-113.720889z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M160%20492.8h204.8v51.2h-204.8z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M288%20416v204.8h-51.2v-204.8z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodelaoxiang1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodelaoxiang1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m142.222222%200l739.555556%200q142.222222%200%20142.222222%20142.222222l0%20739.555556q0%20142.222222-142.222222%20142.222222l-739.555556%200q-142.222222%200-142.222222-142.222222l0-739.555556q0-142.222222%20142.222222-142.222222Z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M562.232889%20454.200889h-149.560889l-60.672%2075.264%2060.672%2037.632v169.813333h188.103111v-244.195555a38.513778%2038.513778%200%200%200-38.513778-38.513778z%20m-56.888889-37.916445a56.576%2056.576%200%200%200%2056.519111-56.576V265.614222h-72.533333c-22.385778%200-40.561778%2018.119111-40.561778%2040.561778v53.532444c0%2031.232%2025.315556%2056.547556%2056.547556%2056.576z%20m300.088889%2068.807112H691.768889a54.044444%2054.044444%200%200%200-53.987556%2053.987555v197.859556h167.537778v-131.953778l58.680889-37.859556-58.595556-82.033777z%20m-82.602667-33.848889c27.790222%200%2050.375111-22.528%2050.375111-50.346667v-83.854222h-64.568889c-19.968%200-36.124444%2016.213333-36.124444%2036.152889v47.729777c0%2027.790222%2022.528%2050.346667%2050.346667%2050.346667z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M128%20480h204.8v51.2H128zM128%20576h204.8v51.2H128zM128%20384h204.8v51.2H128z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-chuangjiandaili1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-chuangjiandaili1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m160%200l704%200q160%200%20160%20160l0%20704q0%20160-160%20160l-704%200q-160%200-160-160l0-704q0-160%20160-160Z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M506.24%20515.424c30.688%200%2060.192%205.056%2087.84%2014.4-46.752%2022.848-79.296%2070.72-81.44%20127.616%200%2079.872%2065.984%20142.016%20143.936%20142.016l-6.08-0.096a17.44%2017.44%200%200%201-4.608%200.64H224c0-153.728%20126.464-284.576%20282.24-284.576z%22%20fill%3D%22%23FFFFFF%22%20opacity%3D%22.944%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M688.608%20772.032c-64%200-118.176-51.712-118.176-118.208%202.464-66.496%2054.176-118.208%20118.176-118.208a118.208%20118.208%200%200%201%200%20236.416z%22%20fill%3D%22%23FFFFFF%22%20opacity%3D%22.944%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M764.64%20638.528h-59.936v-59.136a14.912%2014.912%200%200%200-14.976-14.72%2014.912%2014.912%200%200%200-14.976%2014.72v59.136h-59.936a14.912%2014.912%200%200%200-14.944%2014.784c0%208.096%206.72%2014.752%2014.944%2014.752h59.872v59.136c0%208.096%206.72%2014.752%2014.976%2014.752a14.912%2014.912%200%200%200%2014.944-14.752v-59.136h60.032a14.912%2014.912%200%200%200%2014.944-14.752%2014.912%2014.912%200%200%200-14.944-14.784z%22%20fill%3D%22%23027AFF%22%20opacity%3D%22.944%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M508.896%20508.032c-77.984%200-143.936-62.144-143.936-142.016C367.936%20286.144%20430.912%20224%20508.896%20224c77.952%200%20143.936%2062.144%20143.936%20142.016%200%2076.928-62.976%20142.016-143.936%20142.016z%22%20fill%3D%22%23FFFFFF%22%20opacity%3D%22.944%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodegongdan1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodegongdan1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m142.222222%200l739.555556%200q142.222222%200%20142.222222%20142.222222l0%20739.555556q0%20142.222222-142.222222%20142.222222l-739.555556%200q-142.222222%200-142.222222-142.222222l0-739.555556q0-142.222222%20142.222222-142.222222Z%22%20fill%3D%22%23FFAB00%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M725.816889%20752.583111a8.305778%208.305778%200%200%201-8.305778%208.305778H302.705778a8.305778%208.305778%200%200%201-8.305778-8.305778v-165.916444c0-4.579556%203.697778-8.305778%208.305778-8.305778h414.805333c4.579556%200%208.305778%203.726222%208.305778%208.305778v165.916444z%20m-373.76-299.008h28.359111a24.746667%2024.746667%200%200%201%2024.462222%2025.059556%2024.746667%2024.746667%200%200%201-24.462222%2025.059555h-28.359111a24.746667%2024.746667%200%200%201-24.462222-25.031111%2024.746667%2024.746667%200%200%201%2024.462222-25.088z%20m0-148.992h28.359111c13.511111%200%2024.462222%2011.235556%2024.462222%2025.088a24.746667%2024.746667%200%200%201-24.462222%2025.031111h-28.359111a24.746667%2024.746667%200%200%201-24.462222-25.031111c0-13.852444%2010.951111-25.088%2024.462222-25.088z%20m104.533333%20148.992h211.569778a24.746667%2024.746667%200%200%201%2024.462222%2025.059556%2024.746667%2024.746667%200%200%201-24.462222%2025.059555h-211.569778a24.746667%2024.746667%200%200%201-24.462222-25.031111%2024.746667%2024.746667%200%200%201%2024.462222-25.088z%20m0-148.992h211.569778c13.511111%200%2024.462222%2011.235556%2024.462222%2025.088a24.746667%2024.746667%200%200%201-24.462222%2025.031111h-211.569778a24.746667%2024.746667%200%200%201-24.462222-25.031111c0-13.852444%2010.979556-25.088%2024.462222-25.088zM742.4%20213.333333H277.816889c-18.346667%200-33.194667%2014.848-33.194667%2033.194667v530.944c0%2018.346667%2014.848%2033.194667%2033.194667%2033.194667H742.4c18.318222%200%2033.194667-14.848%2033.194667-33.194667V246.528c0-18.346667-14.876444-33.194667-33.194667-33.194667zM380.416%20636.103111a24.746667%2024.746667%200%200%201%2024.462222%2025.031111%2024.775111%2024.775111%200%200%201-24.462222%2025.088h-28.387556a24.775111%2024.775111%200%200%201-24.462222-25.059555%2024.746667%2024.746667%200%200%201%2024.462222-25.031111h28.387556z%20m287.744%200c13.511111%200%2024.462222%2011.207111%2024.462222%2025.031111a24.803556%2024.803556%200%200%201-24.462222%2025.088h-211.569778a24.775111%2024.775111%200%200%201-24.462222-25.059555%2024.746667%2024.746667%200%200%201%2024.462222-25.031111h211.569778z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-xiangmuzhiwei { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-xiangmuzhiwei%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m160%200l704%200q160%200%20160%20160l0%20704q0%20160-160%20160l-704%200q-160%200-160-160l0-704q0-160%20160-160Z%22%20fill%3D%22%23FFAB00%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M684.8%20368h-28.8v-28.8c0-63.36-51.84-115.2-115.2-115.2h-57.6a115.52%20115.52%200%200%200-115.2%20115.2v28.8h-28.8A115.52%20115.52%200%200%200%20224%20483.2v201.6c0%2063.36%2051.84%20115.2%20115.2%20115.2h345.6c63.36%200%20115.2-51.84%20115.2-115.2v-201.6c0-63.36-51.84-115.2-115.2-115.2z%20m-246.4-36.8c0-22.08%2014.72-36.8%2036.8-36.8h73.6c22.08%200%2036.8%2014.72%2036.8%2036.8v36.8h-147.2v-36.8z%20m118.4%20382.4h-89.6c-26.88%200-44.8-17.92-44.8-44.8%200-26.88%2017.92-44.8%2044.8-44.8h89.6c26.88%200%2044.8%2017.92%2044.8%2044.8%200%2026.88-17.92%2044.8-44.8%2044.8z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-xiangmutonggao { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-xiangmutonggao%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m142.222222%200l739.555556%200q142.222222%200%20142.222222%20142.222222l0%20739.555556q0%20142.222222-142.222222%20142.222222l-739.555556%200q-142.222222%200-142.222222-142.222222l0-739.555556q0-142.222222%20142.222222-142.222222Z%22%20fill%3D%22%231890FF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M785.066667%20438.983111h-66.844445v125.809778c0%2039.310222-31.459556%2066.816-66.787555%2066.816H446.862222v78.648889c0%2023.580444%2019.655111%2043.235556%2043.235556%2043.235555H651.377778c19.655111%2015.758222%2035.413333%2027.505778%2055.068444%2043.235556%207.822222%203.925333%2011.832889%2011.832889%2019.655111%2015.758222%203.925333%203.925333%2011.832889%207.822222%2015.758223%203.925333%203.896889-3.925333%207.822222-7.850667%207.822222-15.758222V753.493333h31.488c23.608889%200%2043.235556-19.655111%2043.235555-43.235555v-228.124445c3.925333-23.495111-15.729778-43.150222-39.310222-43.150222z%20m-487.651556%20137.642667v90.453333l110.136889-82.545778v-35.413333l-110.136889%2027.505778z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M281.685333%20576.625778v90.453333c0%207.850667%203.896889%2011.832889%207.822223%2015.758222%207.850667%203.925333%2011.832889%200%2015.758222-3.925333%2019.626667-15.729778%2035.384889-27.477333%2051.143111-43.235556%2011.832889-7.822222%2023.580444-19.655111%2035.413333-27.505777%207.822222-3.896889%2011.832889-7.822222%2019.655111-15.729778%207.850667-3.925333%203.925333-15.758222%203.925334-23.608889v-19.626667c0-11.832889-11.832889-15.758222-19.655111-15.758222-23.608889%2011.832889-55.096889%2019.655111-86.471112%2027.505778-3.953778%200-7.850667%203.896889-15.758222%203.896889-7.850667%200-11.832889%207.850667-11.832889%2015.758222a21.731556%2021.731556%200%200%200%2019.655111%2011.832889c31.488-7.850667%2066.844444-15.758222%2098.304-23.608889%203.925333%200%207.850667-3.896889%2015.758223-3.896889-7.850667-3.925333-15.758222-11.832889-23.608889-15.729778v35.384889c0-3.896889%203.953778-7.822222%203.953778-11.804444l-35.413334%2027.477333-58.993778%2047.160889-11.747555%2011.747556c7.822222%203.925333%2015.729778%207.850667%2027.505778%2011.832888v-94.378666c0-7.850667-7.850667-15.758222-15.758223-15.758222-11.747556%203.925333-19.655111%207.822222-19.655111%2015.758222z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M635.591111%20199.111111H242.346667C218.766222%20199.111111%20199.111111%20218.766222%20199.111111%20246.272v306.773333c0%2023.580444%2019.655111%2043.235556%2043.235556%2043.235556h393.244444c23.608889%200%2043.235556-19.655111%2043.235556-43.235556V246.272c0-27.505778-19.626667-47.160889-43.235556-47.160889z%20m-275.256889%20196.636445c0%2023.580444-19.683556%2043.235556-43.235555%2043.235555-23.608889%200-43.235556-19.655111-43.235556-43.235555%200-23.608889%2019.626667-43.235556%2043.235556-43.235556a43.52%2043.52%200%200%201%2043.235555%2043.235556z%20m117.959111%200c0%2023.580444-19.655111%2043.235556-43.235555%2043.235555-23.580444%200-43.235556-19.655111-43.235556-43.235555%200-23.608889%2019.655111-43.235556%2043.235556-43.235556a43.52%2043.52%200%200%201%2043.235555%2043.235556z%20m121.912889%200c0%2023.580444-19.683556%2043.235556-43.235555%2043.235555-23.608889%200-43.235556-19.655111-43.235556-43.235555%200-23.608889%2019.626667-43.235556%2043.235556-43.235556a43.52%2043.52%200%200%201%2043.235555%2043.235556z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodelaoxiang3 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodelaoxiang3%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m142.222222%200l739.555556%200q142.222222%200%20142.222222%20142.222222l0%20739.555556q0%20142.222222-142.222222%20142.222222l-739.555556%200q-142.222222%200-142.222222-142.222222l0-739.555556q0-142.222222%20142.222222-142.222222Z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M465.92%20530.432a140.600889%20140.600889%200%200%200%205.944889-0.853333c0.711111-0.085333%201.422222-0.227556%202.161778-0.369778l3.811555-0.711111a139.093333%20139.093333%200%200%200%205.745778-1.336889l1.536-0.398222%204.778667-1.365334%201.422222-0.455111c1.678222-0.540444%203.328-1.080889%204.949333-1.678222l0.995556-0.369778a138.24%20138.24%200%200%200%205.688889-2.247111h0.085333a137.784889%20137.784889%200%200%200%2012.202667-247.921778l-0.654223-0.341333a137.386667%20137.386667%200%200%200-16.497777-7.509333l-1.991111-0.739556a135.879111%20135.879111%200%200%200-12.003556-3.697778l-3.84-0.938666a137.045333%20137.045333%200%200%200-10.951111-2.048l-3.555556-0.455111a142.222222%20142.222222%200%200%200-4.949333-0.483556l-3.128889-0.256A139.463111%20139.463111%200%200%200%20449.962667%20256h-0.483556a137.728%20137.728%200%200%200-11.235555%20274.972444h-0.056889a139.719111%20139.719111%200%200%200%2027.733333-0.540444z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M527.132444%20512.512a247.352889%20247.352889%200%200%200-18.261333-5.176889l-1.991111-0.483555a248.860444%20248.860444%200%200%200-14.734222-2.986667l-3.128889-0.568889c-1.848889-0.284444-3.697778-0.512-5.603556-0.768a255.402667%20255.402667%200%200%200-18.318222-1.848889l-4.067555-0.227555a255.800889%20255.800889%200%200%200-23.267556%200l-4.067556%200.227555a244.707556%20244.707556%200%200%200-18.318222%201.848889l-5.632%200.768-3.100444%200.568889c-4.949333%200.853333-9.870222%201.848889-14.734222%202.986667-0.682667%200.170667-1.336889%200.284444-1.991112%200.483555a252.700444%20252.700444%200%200%200-18.232888%205.176889%20250.680889%20250.680889%200%200%200-171.719112%20216.462222l-0.056888%200.654222A252.700444%20252.700444%200%200%200%20199.111111%20749.795556v5.944888c0.170667%208.817778%200.824889%2017.550222%201.877333%2026.140445h496.810667a250.481778%20250.481778%200%200%200-170.666667-269.368889z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M824.888889%20697.344a200.305778%20200.305778%200%200%200-181.191111-198.542222%20113.265778%20113.265778%200%200%201-38.087111-0.028445%20201.130667%20201.130667%200%200%200-23.04%203.555556%20282.225778%20282.225778%200%200%201%2047.388444%2032.142222l1.934222%201.564445c2.816%202.389333%205.575111%204.835556%208.305778%207.367111l1.706667%201.621333c2.275556%202.133333%204.551111%204.295111%206.741333%206.513778l1.820445%201.848889c2.645333%202.673778%205.233778%205.404444%207.765333%208.192l0.910222%201.024c2.275556%202.56%204.494222%205.12%206.656%207.736889l1.592889%201.905777c10.325333%2012.572444%2019.512889%2026.026667%2027.505778%2040.192l0.853333%201.479111c1.820444%203.356444%203.612444%206.712889%205.347556%2010.126223l0.170666%200.341333c1.848889%203.669333%203.584%207.367111%205.262223%2011.093333l0.426666%200.967111c1.564444%203.527111%203.072%207.111111%204.465778%2010.666667l0.312889%200.768c1.536%203.896889%202.958222%207.822222%204.323555%2011.776l0.028445%200.142222c1.308444%203.84%202.531556%207.68%203.669333%2011.605334l0.284445%201.052444a279.978667%20279.978667%200%200%201%2010.183111%2056.206222H824.888889v-31.288889z%20m-258.389333-213.105778c1.365333%201.450667%202.759111%202.787556%204.152888%204.152889-1.393778-1.365333-2.787556-2.730667-4.152888-4.152889z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M626.773333%20531.655111c5.688889-0.113778%2011.320889-0.625778%2016.896-1.564444l-1.166222-0.142223a112.696889%20112.696889%200%200%200%2030.805333-212.622222%20112.867556%20112.867556%200%200%200-77.112888-7.367111c5.233778%209.187556%209.614222%2018.858667%2013.084444%2028.842667%202.190222%206.485333%204.039111%2013.084444%205.461333%2019.825778v0.085333c0.967111%204.437333%201.706667%208.931556%202.304%2013.482667l0.113778%200.881777c0.483556%204.067556%200.853333%208.135111%201.052445%2012.202667%200%200.625778%200.056889%201.223111%200.085333%201.848889a170.723556%20170.723556%200%200%201-0.085333%2014.648889l-0.142223%202.417778c-0.113778%201.934222-0.284444%203.84-0.455111%205.774222l-0.227555%202.446222c-0.284444%202.332444-0.568889%204.636444-0.910223%206.940444l-0.113777%200.910223c-0.426667%202.56-0.910222%205.12-1.422223%207.68l-0.483555%202.161777c-0.398222%201.877333-0.853333%203.697778-1.308445%205.575112l-0.625777%202.332444c-0.568889%202.076444-1.137778%204.124444-1.792%206.144l-0.398223%201.308444a171.804444%20171.804444%200%200%201-2.503111%207.224889l-0.711111%201.848889c-1.706667%204.437333-3.640889%208.817778-5.717333%2013.084445l-0.654222%201.393777c-1.137778%202.275556-2.360889%204.551111-3.612445%206.769778l-0.711111%201.251556a166.741333%20166.741333%200%200%201-3.214222%205.404444l-1.080889%201.735111c-1.137778%201.792-2.275556%203.555556-3.498667%205.290667l-0.739555%201.080889c-2.503111%203.555556-5.12%206.968889-7.907556%2010.325333a282.396444%20282.396444%200%200%201%2046.791111%2030.776889z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-xiangmutongzhi { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-xiangmutongzhi%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m142.222222%200l739.555556%200q142.222222%200%20142.222222%20142.222222l0%20739.555556q0%20142.222222-142.222222%20142.222222l-739.555556%200q-142.222222%200-142.222222-142.222222l0-739.555556q0-142.222222%20142.222222-142.222222Z%22%20fill%3D%22%23FFAB00%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M830.691556%20278.016c-2.56-14.222222-11.662222-22.016-27.192889-22.016H219.192889c-1.28%200-3.868444%200-6.456889%201.28-14.250667%202.588444-20.736%2011.662222-20.736%2027.221333V636.871111c3.896889%2014.250667%2012.942222%2024.632889%2027.192889%2028.501333h330.382222v116.622223c3.868444%2015.530667%2012.970667%2024.604444%2028.501333%2028.501333%207.765333-1.308444%2014.791111-3.413333%2020.707556-10.353778l115.313778-134.769778h89.400889c1.28%200%203.896889%200%206.485333-1.28%2014.222222-2.588444%2022.016-11.662222%2022.016-27.221333V284.501333c0-1.308444%200-3.896889-1.308444-6.485333z%20m-260.920889%20279.751111c-3.128889%201.592889-6.257778%201.592889-7.850667%201.592889h-244.736c-17.237333-4.721778-28.245333-17.265778-32.938667-34.531556%200-18.801778%207.850667-29.781333%2025.088-32.938666%203.157333-1.564444%206.286222-1.564444%207.850667-1.564445h244.736c18.858667%200%2029.838222%209.415111%2032.967111%2026.652445%201.564444%203.128889%201.564444%206.257778%201.564445%207.850666%200%2018.858667-9.386667%2029.809778-26.680889%2032.938667z%20m0-141.653333c-3.128889%201.592889-6.257778%201.592889-7.850667%201.592889h-244.736c-17.237333-4.721778-28.245333-17.265778-32.938667-34.503111%200-18.858667%207.850667-29.838222%2025.088-32.995556%203.157333-1.536%206.286222-1.536%207.850667-1.536h244.736c18.858667%200%2029.838222%209.386667%2032.967111%2026.680889%201.564444%203.128889%201.564444%206.257778%201.564445%207.850667%200%2018.801778-9.386667%2029.781333-26.680889%2032.938666z%20m116.110222%20141.653333c-3.128889%201.592889-6.286222%201.592889-7.850667%201.592889-18.830222%200-29.809778-9.386667-32.938666-26.680889-1.592889-3.128889-1.592889-6.257778-1.592889-7.850667%200-18.801778%209.443556-29.781333%2026.680889-32.938666%203.128889-1.564444%206.257778-1.564444%207.850666-1.564445%2018.830222%200%2029.809778%209.415111%2032.938667%2026.652445%201.564444%203.128889%201.564444%206.257778%201.564444%207.850666%200%2018.858667-9.386667%2029.809778-26.652444%2032.938667z%20m0-141.653333c-3.128889%201.592889-6.286222%201.592889-7.850667%201.592889-18.830222%200-29.809778-9.415111-32.938666-26.680889-1.592889-3.128889-1.592889-6.257778-1.592889-7.822222%200-18.858667%209.443556-29.838222%2026.680889-32.995556%203.128889-1.536%206.257778-1.536%207.850666-1.536%2018.830222%200%2029.809778%209.386667%2032.938667%2026.680889%201.564444%203.128889%201.564444%206.257778%201.564444%207.850667%200%2018.801778-9.386667%2029.781333-26.652444%2032.938666z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodexiangmu1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodexiangmu1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m142.222222%200l739.555556%200q142.222222%200%20142.222222%20142.222222l0%20739.555556q0%20142.222222-142.222222%20142.222222l-739.555556%200q-142.222222%200-142.222222-142.222222l0-739.555556q0-142.222222%20142.222222-142.222222Z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M668.16%20522.467556h-192.426667a28.728889%2028.728889%200%200%201-28.842666-28.842667%2028.728889%2028.728889%200%200%201%2028.842666-28.871111h192.426667a28.728889%2028.728889%200%200%201%2028.871111%2028.871111%2028.728889%2028.728889%200%200%201-28.871111%2028.842667z%20m-328.704%2084.992c0%2017.635556%2012.8%2030.464%2030.435556%2030.464a30.435556%2030.435556%200%200%200%2030.492444-30.464%2030.435556%2030.435556%200%200%200-30.464-30.464c-17.635556%200-30.464%2012.8-30.464%2030.464z%20m0-113.834667c0%2017.635556%2012.8%2030.435556%2030.435556%2030.435555a30.435556%2030.435556%200%200%200%2030.492444-30.435555%2030.435556%2030.435556%200%201%200-60.928%200zM668.16%20636.302222h-192.426667a28.728889%2028.728889%200%200%201-28.842666-28.871111%2028.728889%2028.728889%200%200%201%2028.842666-28.871111h192.426667a28.728889%2028.728889%200%200%201%2028.871111%2028.871111%2028.728889%2028.728889%200%200%201-28.871111%2028.871111z%20m131.498667%2093.013334V368.526222c0-43.292444-40.106667-40.106667-40.106667-40.106666h-226.076444c-12.828444%200-20.849778-6.4-20.849778-6.4s-9.614222-16.042667-27.249778-41.699556c-16.042667-28.871111-36.892444-24.035556-36.892444-24.035556H273.720889c-49.720889%200-49.720889%2046.478222-49.720889%2046.478223v423.338666c0%2052.906667%2040.106667%2046.478222%2040.106667%2046.478223h500.252444c41.699556%200%2035.271111-43.292444%2035.271111-43.292445z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-duoxuan1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-duoxuan1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m170.666667%200l682.666666%200q170.666667%200%20170.666667%20170.666667l0%20682.666666q0%20170.666667-170.666667%20170.666667l-682.666666%200q-170.666667%200-170.666667-170.666667l0-682.666666q0-170.666667%20170.666667-170.666667Z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M185.728%20538.026667a26.453333%2026.453333%200%200%201-2.56-32.64l11.946667-16.213334a20.864%2020.864%200%200%201%2029.269333-4.138666l131.370667%20100.693333c18.645333%2014.293333%2048.469333%2013.653333%2066.56-1.450667l377.856-314.752a23.808%2023.808%200%200%201%2031.232%201.28l6.912%206.826667a20.736%2020.736%200%200%201-0.426667%2030.037333l-417.92%20411.306667a41.941333%2041.941333%200%200%201-59.946667-0.597333L185.728%20538.026667z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shujutongji { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shujutongji%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m160%200l704%200q160%200%20160%20160l0%20704q0%20160-160%20160l-704%200q-160%200-160-160l0-704q0-160%20160-160Z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M301.44%20581.76h75.2v84.16H301.44v-84.16z%20m346.24-134.72h75.2v219.2h-75.2v-219.2z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M790.4%20275.52H233.6c-23.04%200-41.6%2018.56-41.6%2041.6v389.44c0%2023.04%2018.56%2041.6%2041.6%2041.6h556.8c23.04%200%2041.6-18.56%2041.6-41.6V317.12c0-23.04-18.56-41.6-41.6-41.6z%20m0%20417.28c0%207.68-6.08%2013.76-13.76%2013.76H247.68c-7.68%200-13.76-6.08-13.76-13.76v-361.6c0-7.68%206.08-13.76%2013.76-13.76h528.64c7.68%200%2013.76%206.08%2013.76%2013.76v361.6h0.32z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M407.04%20514.24h75.2v151.68h-75.2v-151.68z%20m120.32-134.72h75.2v286.72h-75.2v-286.72z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-paizhao2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-paizhao2%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M588.866783%20175.148522c24.486957%200%2048.973913%2011.130435%2064.556521%2031.165217l69.008696%2082.365218h80.13913c44.521739%200%2082.365217%2035.617391%2084.591305%2080.13913v400.695652c0%2046.747826-37.843478%2084.591304-84.591305%2084.591304h-583.234782c-46.747826%200-84.591304-37.843478-84.591305-84.591304v-396.243478c0-46.747826%2037.843478-84.591304%2084.591305-84.591304h80.13913l69.008696-82.365218c15.582609-17.808696%2037.843478-28.93913%2060.104348-31.165217h160.278261z%20m0%2055.652174h-153.6c-8.904348%200-15.582609%204.452174-22.26087%2011.130434l-86.817391%20102.4h-106.852174c-15.582609%200-28.93913%2013.356522-28.939131%2028.939131v396.243478c0%2015.582609%2013.356522%2028.93913%2028.939131%2028.939131h585.460869c15.582609%200%2028.93913-13.356522%2028.939131-28.939131v-396.243478c0-15.582609-13.356522-28.93913-28.939131-28.939131h-106.852174l-86.817391-102.4c-4.452174-6.678261-13.356522-11.130435-22.260869-11.130434z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M804.797217%20856.33113h-585.460869c-46.747826%200-86.817391-37.843478-86.817391-86.817391v-396.243478c2.226087-46.747826%2040.069565-86.817391%2086.817391-86.817391h80.13913l69.008696-82.365218c15.582609-17.808696%2037.843478-28.93913%2062.330435-28.93913H588.866783c26.713043%200%2048.973913%2011.130435%2066.782608%2031.165217l69.008696%2080.139131h80.13913c46.747826%200%2084.591304%2035.617391%2086.817392%2082.365217v400.695652c-2.226087%2046.747826-40.069565%2086.817391-86.817392%2086.817391z%20m-585.460869-567.652173c-46.747826%200-84.591304%2037.843478-84.591305%2084.591304v396.243478c0%2046.747826%2037.843478%2084.591304%2084.591305%2084.591304h585.460869c46.747826%200%2084.591304-37.843478%2084.591305-84.591304v-400.695652c-2.226087-44.521739-37.843478-80.13913-84.591305-80.13913h-82.365217l-69.008696-82.365218c-15.582609-20.034783-40.069565-31.165217-64.556521-31.165217h-158.052174c-22.26087%202.226087-44.521739%2011.130435-60.104348%2028.93913l-69.008696%2084.591305h-82.365217z%20m585.460869%20509.773913h-585.460869c-15.582609%200-28.93913-13.356522-28.939131-28.939131v-396.243478c0-15.582609%2013.356522-28.93913%2028.939131-28.939131h106.852174l86.817391-102.4c6.678261-6.678261%2013.356522-11.130435%2022.26087-11.130434h153.6c8.904348%200%2017.808696%204.452174%2022.260869%2011.130434l84.591305%20102.4h106.852173c15.582609%200%2028.93913%2013.356522%2028.939131%2028.939131v396.243478c2.226087%2015.582609-11.130435%2028.93913-26.713044%2028.939131z%20m-585.460869-451.895653c-15.582609%200-26.713043%2011.130435-26.713044%2026.713044v396.243478c0%2015.582609%2011.130435%2026.713043%2026.713044%2026.713044h585.460869c15.582609%200%2026.713043-11.130435%2026.713044-26.713044v-396.243478c0-15.582609-11.130435-26.713043-26.713044-26.713044h-109.07826l-84.591305-104.626087c-4.452174-6.678261-13.356522-8.904348-20.034782-8.904347h-153.6c-8.904348%200-15.582609%204.452174-20.034783%208.904347l-89.043478%20104.626087h-109.078261z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M510.953739%20411.113739c77.913043%200%20142.469565%2062.330435%20142.469565%20142.469565%200%2077.913043-62.330435%20142.469565-142.469565%20142.469566s-142.469565-62.330435-142.469565-142.469566c2.226087-80.13913%2064.556522-142.469565%20142.469565-142.469565z%20m0%2055.652174c-46.747826%200-84.591304%2037.843478-84.591304%2084.591304%200%2046.747826%2037.843478%2084.591304%2084.591304%2084.591305s84.591304-37.843478%2084.591304-84.591305c2.226087-46.747826-35.617391-84.591304-84.591304-84.591304z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M510.953739%20696.05287c-77.913043%200-142.469565-64.556522-142.469565-142.469566%200-77.913043%2064.556522-142.469565%20142.469565-142.469565s142.469565%2064.556522%20142.469565%20142.469565c2.226087%2077.913043-62.330435%20142.469565-142.469565%20142.469566z%20m0-284.939131c-77.913043%200-140.243478%2062.330435-140.243478%20140.243478s62.330435%20140.243478%20140.243478%20140.243479%20140.243478-62.330435%20140.243478-140.243479-62.330435-140.243478-140.243478-140.243478z%20m0%20227.06087c-46.747826%200-86.817391-37.843478-86.817391-86.817392s37.843478-86.817391%2086.817391-86.817391%2086.817391%2037.843478%2086.817391%2086.817391-37.843478%2086.817391-86.817391%2086.817392z%20m0-169.182609c-46.747826%200-84.591304%2037.843478-84.591304%2084.591304%200%2046.747826%2037.843478%2084.591304%2084.591304%2084.591305%2046.747826%200%2084.591304-37.843478%2084.591304-84.591305%200-46.747826-37.843478-84.591304-84.591304-84.591304z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shenfenzheng2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shenfenzheng2%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%23FFF5F1%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M729.234286%20316.306286c26.514286%200%2048.018286%2021.504%2048.018285%2047.981714v295.424c0%2026.477714-21.504%2047.981714-47.981714%2047.981714H294.765714A48.054857%2048.054857%200%200%201%20246.857143%20659.748571V364.251429c0-26.477714%2021.504-47.981714%2047.981714-47.981715h434.468572m0-42.020571H294.765714A90.002286%2090.002286%200%200%200%20204.8%20364.288v295.424A90.002286%2090.002286%200%200%200%20294.802286%20749.714286h434.468571a90.002286%2090.002286%200%200%200%2090.002286-90.002286V364.251429A90.002286%2090.002286%200%200%200%20729.270857%20274.285714z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M634.148571%20409.307429c25.819429%200%2046.848%2021.028571%2046.848%2046.848%200%2025.856-21.028571%2046.848-46.811428%2046.848a46.921143%2046.921143%200%200%201-46.884572-46.811429c0-25.856%2021.028571-46.884571%2046.848-46.884571m0-41.984a88.868571%2088.868571%200%201%200%200%20177.700571%2088.868571%2088.868571%200%200%200%200-177.737143z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M723.017143%20631.954286a20.992%2020.992%200%200%201-21.028572-20.992%2067.913143%2067.913143%200%200%200-67.84-67.84%2067.913143%2067.913143%200%200%200-67.84%2067.84%2020.992%2020.992%200%201%201-42.020571%200%20109.970286%20109.970286%200%200%201%20109.860571-109.860572%20109.970286%20109.970286%200%200%201%20109.860572%20109.860572%2020.992%2020.992%200%200%201-20.992%2020.992z%20m-243.675429-188.342857h-187.245714a20.992%2020.992%200%201%201%200-41.984h187.245714a20.992%2020.992%200%201%201%200%2042.020571z%20m0%2090.331428h-187.245714a20.992%2020.992%200%201%201%200-41.984h187.245714a20.992%2020.992%200%201%201%200%2041.984z%20m-55.808%2090.331429H292.096a20.992%2020.992%200%201%201%200-42.020572h131.437714a20.992%2020.992%200%201%201%200%2042.020572z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dianhua6 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dianhua6%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%23FFF5F1%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M574.171429%20574.171429c-7.314286%207.314286-14.628571%2018.285714-21.942858%2029.257142-25.6-14.628571-51.2-36.571429-73.142857-54.857142s-40.228571-47.542857-54.857143-73.142858c10.971429-3.657143%2021.942857-10.971429%2029.257143-21.942857%2043.885714-43.885714%2043.885714-117.028571%200-160.914285S336.457143%20248.685714%20292.571429%20292.571429c-21.942857%2018.285714-36.571429%2043.885714-36.571429%2076.8%200%2095.085714%2040.228571%20182.857143%20128%20270.628571%2087.771429%2087.771429%20175.542857%20128%20266.971429%20128h3.657142c29.257143%200%2058.514286-10.971429%2076.8-32.914286%2043.885714-43.885714%2043.885714-117.028571%200-160.914285-40.228571-43.885714-113.371429-43.885714-157.257142%200z%20m146.285714%20146.285714c-18.285714%2018.285714-40.228571%2025.6-62.171429%2025.6h-3.657143c-87.771429%200-168.228571-40.228571-248.685714-124.342857-84.114286-84.114286-124.342857-168.228571-124.342857-256%200-25.6%2010.971429-47.542857%2025.6-62.171429%2014.628571-18.285714%2036.571429-29.257143%2062.171429-29.257143s47.542857%2010.971429%2065.828571%2025.6c36.571429%2036.571429%2036.571429%2095.085714%200%20131.657143-10.971429%2010.971429-21.942857%2014.628571-32.914286%2021.942857v7.314286c18.285714%2032.914286%2040.228571%2062.171429%2065.828572%2087.771429s58.514286%2047.542857%2087.771428%2065.828571h7.314286l3.657143-3.657143c3.657143-10.971429%2010.971429-25.6%2021.942857-32.914286%2036.571429-36.571429%2095.085714-36.571429%20131.657143%200%2036.571429%2047.542857%2036.571429%20106.057143%200%20142.628572z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M650.971429%20778.971429c-95.085714%200-186.514286-43.885714-274.285715-131.657143-91.428571-91.428571-135.314286-182.857143-131.657143-277.942857%200-32.914286%2014.628571-62.171429%2036.571429-84.114286%2021.942857-21.942857%2054.857143-36.571429%2087.771429-36.571429s65.828571%2014.628571%2087.771428%2036.571429c47.542857%2047.542857%2047.542857%20128%200%20179.2-7.314286%207.314286-14.628571%2014.628571-21.942857%2018.285714%2014.628571%2021.942857%2029.257143%2043.885714%2047.542857%2062.171429s36.571429%2032.914286%2062.171429%2047.542857c3.657143-7.314286%2010.971429-14.628571%2018.285714-21.942857%2047.542857-47.542857%20128-47.542857%20175.542857%200%2021.942857%2021.942857%2036.571429%2054.857143%2036.571429%2087.771428%200%2032.914286-14.628571%2065.828571-36.571429%2087.771429-21.942857%2021.942857-51.2%2036.571429-84.114286%2036.571428h-3.657142z%20m-281.6-512c-29.257143%200-54.857143%2010.971429-73.142858%2029.257142s-29.257143%2043.885714-29.257142%2069.485715c0%2087.771429%2040.228571%20175.542857%20124.342857%20263.314285%2054.857143%2054.857143%20109.714286%2091.428571%20168.228571%20109.714286-54.857143-18.285714-109.714286-54.857143-164.571428-109.714286-87.771429-87.771429-128-171.885714-124.342858-263.314285%200-25.6%2010.971429-51.2%2029.257143-69.485715%2014.628571-18.285714%2043.885714-29.257143%2069.485715-29.257142s54.857143%2010.971429%2073.142857%2029.257142%2025.6%2036.571429%2029.257143%2058.514286c-3.657143-21.942857-14.628571-43.885714-29.257143-58.514286-18.285714-18.285714-43.885714-29.257143-73.142857-29.257142z%20m0%2021.942857c-21.942857%200-40.228571%2010.971429-51.2%2025.6-18.285714%2014.628571-25.6%2032.914286-25.6%2054.857143%200%2084.114286%2036.571429%20164.571429%20120.685714%20248.685714%2080.457143%2080.457143%20160.914286%20120.685714%20241.371428%20120.685714h3.657143c18.285714%200%2040.228571-7.314286%2054.857143-25.6%2032.914286-32.914286%2029.257143-84.114286%200-117.028571-32.914286-32.914286-84.114286-32.914286-117.028571%200-7.314286%207.314286-14.628571%2014.628571-18.285715%2029.257143l-3.657142%203.657142-7.314286%207.314286H544.914286c-36.571429-18.285714-65.828571-43.885714-91.428572-65.828571-25.6-25.6-47.542857-54.857143-65.828571-91.428572v-21.942857h7.314286l7.314285-7.314286c10.971429-3.657143%2021.942857-10.971429%2029.257143-18.285714%2014.628571-14.628571%2025.6-36.571429%2025.6-58.514286s-14.628571-43.885714-29.257143-58.514285c-14.628571-18.285714-36.571429-25.6-58.514285-25.6z%20m332.8%20274.285714c7.314286%203.657143%2018.285714%2010.971429%2025.6%2018.285714%2018.285714%2018.285714%2029.257143%2043.885714%2029.257142%2069.485715%200-25.6-10.971429-51.2-29.257142-73.142858-7.314286-7.314286-18.285714-10.971429-25.6-14.628571z%20m-292.571429-98.742857l7.314286-3.657143c7.314286-3.657143%2014.628571-10.971429%2025.6-18.285714%2014.628571-14.628571%2025.6-36.571429%2029.257143-58.514286-3.657143%2021.942857-14.628571%2043.885714-29.257143%2058.514286-7.314286%2010.971429-18.285714%2018.285714-32.914286%2021.942857z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dianhua7 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dianhua7%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%23EBFAFA%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M574.171429%20574.171429c-7.314286%207.314286-14.628571%2018.285714-21.942858%2029.257142-25.6-14.628571-51.2-36.571429-73.142857-54.857142s-40.228571-47.542857-54.857143-73.142858c10.971429-3.657143%2021.942857-10.971429%2029.257143-21.942857%2043.885714-43.885714%2043.885714-117.028571%200-160.914285S336.457143%20248.685714%20292.571429%20292.571429c-21.942857%2018.285714-36.571429%2043.885714-36.571429%2076.8%200%2095.085714%2040.228571%20182.857143%20128%20270.628571%2087.771429%2087.771429%20175.542857%20128%20266.971429%20128h3.657142c29.257143%200%2058.514286-10.971429%2076.8-32.914286%2043.885714-43.885714%2043.885714-117.028571%200-160.914285-40.228571-43.885714-113.371429-43.885714-157.257142%200z%20m146.285714%20146.285714c-18.285714%2018.285714-40.228571%2025.6-62.171429%2025.6h-3.657143c-87.771429%200-168.228571-40.228571-248.685714-124.342857-84.114286-84.114286-124.342857-168.228571-124.342857-256%200-25.6%2010.971429-47.542857%2025.6-62.171429%2014.628571-18.285714%2036.571429-29.257143%2062.171429-29.257143s47.542857%2010.971429%2065.828571%2025.6c36.571429%2036.571429%2036.571429%2095.085714%200%20131.657143-10.971429%2010.971429-21.942857%2014.628571-32.914286%2021.942857v7.314286c18.285714%2032.914286%2040.228571%2062.171429%2065.828572%2087.771429s58.514286%2047.542857%2087.771428%2065.828571h7.314286l3.657143-3.657143c3.657143-10.971429%2010.971429-25.6%2021.942857-32.914286%2036.571429-36.571429%2095.085714-36.571429%20131.657143%200%2036.571429%2047.542857%2036.571429%20106.057143%200%20142.628572z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M650.971429%20778.971429c-95.085714%200-186.514286-43.885714-274.285715-131.657143-91.428571-91.428571-135.314286-182.857143-131.657143-277.942857%200-32.914286%2014.628571-62.171429%2036.571429-84.114286%2021.942857-21.942857%2054.857143-36.571429%2087.771429-36.571429s65.828571%2014.628571%2087.771428%2036.571429c47.542857%2047.542857%2047.542857%20128%200%20179.2-7.314286%207.314286-14.628571%2014.628571-21.942857%2018.285714%2014.628571%2021.942857%2029.257143%2043.885714%2047.542857%2062.171429s36.571429%2032.914286%2062.171429%2047.542857c3.657143-7.314286%2010.971429-14.628571%2018.285714-21.942857%2047.542857-47.542857%20128-47.542857%20175.542857%200%2021.942857%2021.942857%2036.571429%2054.857143%2036.571429%2087.771428%200%2032.914286-14.628571%2065.828571-36.571429%2087.771429-21.942857%2021.942857-51.2%2036.571429-84.114286%2036.571428h-3.657142z%20m-281.6-512c-29.257143%200-54.857143%2010.971429-73.142858%2029.257142s-29.257143%2043.885714-29.257142%2069.485715c0%2087.771429%2040.228571%20175.542857%20124.342857%20263.314285%2054.857143%2054.857143%20109.714286%2091.428571%20168.228571%20109.714286-54.857143-18.285714-109.714286-54.857143-164.571428-109.714286-87.771429-87.771429-128-171.885714-124.342858-263.314285%200-25.6%2010.971429-51.2%2029.257143-69.485715%2014.628571-18.285714%2043.885714-29.257143%2069.485715-29.257142s54.857143%2010.971429%2073.142857%2029.257142%2025.6%2036.571429%2029.257143%2058.514286c-3.657143-21.942857-14.628571-43.885714-29.257143-58.514286-18.285714-18.285714-43.885714-29.257143-73.142857-29.257142z%20m0%2021.942857c-21.942857%200-40.228571%2010.971429-51.2%2025.6-18.285714%2014.628571-25.6%2032.914286-25.6%2054.857143%200%2084.114286%2036.571429%20164.571429%20120.685714%20248.685714%2080.457143%2080.457143%20160.914286%20120.685714%20241.371428%20120.685714h3.657143c18.285714%200%2040.228571-7.314286%2054.857143-25.6%2032.914286-32.914286%2029.257143-84.114286%200-117.028571-32.914286-32.914286-84.114286-32.914286-117.028571%200-7.314286%207.314286-14.628571%2014.628571-18.285715%2029.257143l-3.657142%203.657142-7.314286%207.314286H544.914286c-36.571429-18.285714-65.828571-43.885714-91.428572-65.828571-25.6-25.6-47.542857-54.857143-65.828571-91.428572v-21.942857h7.314286l7.314285-7.314286c10.971429-3.657143%2021.942857-10.971429%2029.257143-18.285714%2014.628571-14.628571%2025.6-36.571429%2025.6-58.514286s-14.628571-43.885714-29.257143-58.514285c-14.628571-18.285714-36.571429-25.6-58.514285-25.6z%20m332.8%20274.285714c7.314286%203.657143%2018.285714%2010.971429%2025.6%2018.285714%2018.285714%2018.285714%2029.257143%2043.885714%2029.257142%2069.485715%200-25.6-10.971429-51.2-29.257142-73.142858-7.314286-7.314286-18.285714-10.971429-25.6-14.628571z%20m-292.571429-98.742857l7.314286-3.657143c7.314286-3.657143%2014.628571-10.971429%2025.6-18.285714%2014.628571-14.628571%2025.6-36.571429%2029.257143-58.514286-3.657143%2021.942857-14.628571%2043.885714-29.257143%2058.514286-7.314286%2010.971429-18.285714%2018.285714-32.914286%2021.942857z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shenfenzheng3 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shenfenzheng3%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%23EBFAFA%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M729.234286%20316.306286c26.514286%200%2048.018286%2021.504%2048.018285%2047.981714v295.424c0%2026.477714-21.504%2047.981714-47.981714%2047.981714H294.765714A48.054857%2048.054857%200%200%201%20246.857143%20659.748571V364.251429c0-26.477714%2021.504-47.981714%2047.981714-47.981715h434.468572m0-42.020571H294.765714A90.002286%2090.002286%200%200%200%20204.8%20364.288v295.424A90.002286%2090.002286%200%200%200%20294.802286%20749.714286h434.468571a90.002286%2090.002286%200%200%200%2090.002286-90.002286V364.251429A90.002286%2090.002286%200%200%200%20729.270857%20274.285714z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M634.148571%20409.307429c25.819429%200%2046.848%2021.028571%2046.848%2046.848%200%2025.856-21.028571%2046.848-46.811428%2046.848a46.921143%2046.921143%200%200%201-46.884572-46.811429c0-25.856%2021.028571-46.884571%2046.848-46.884571m0-41.984a88.868571%2088.868571%200%201%200%200%20177.700571%2088.868571%2088.868571%200%200%200%200-177.737143z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M723.017143%20631.954286a20.992%2020.992%200%200%201-21.028572-20.992%2067.913143%2067.913143%200%200%200-67.84-67.84%2067.913143%2067.913143%200%200%200-67.84%2067.84%2020.992%2020.992%200%201%201-42.020571%200%20109.970286%20109.970286%200%200%201%20109.860571-109.860572%20109.970286%20109.970286%200%200%201%20109.860572%20109.860572%2020.992%2020.992%200%200%201-20.992%2020.992z%20m-243.675429-188.342857h-187.245714a20.992%2020.992%200%201%201%200-41.984h187.245714a20.992%2020.992%200%201%201%200%2042.020571z%20m0%2090.331428h-187.245714a20.992%2020.992%200%201%201%200-41.984h187.245714a20.992%2020.992%200%201%201%200%2041.984z%20m-55.808%2090.331429H292.096a20.992%2020.992%200%201%201%200-42.020572h131.437714a20.992%2020.992%200%201%201%200%2042.020572z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-tonggaoquan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-tonggaoquan%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m170.666667%200l682.666666%200q170.666667%200%20170.666667%20170.666667l0%20682.666666q0%20170.666667-170.666667%20170.666667l-682.666666%200q-170.666667%200-170.666667-170.666667l0-682.666666q0-170.666667%20170.666667-170.666667Z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M269.858133%20819.2a30.993067%2030.993067%200%200%201-29.627733-39.799467l41.608533-137.9328A284.228267%20284.228267%200%200%201%20238.933333%20490.939733C238.933333%20333.141333%20367.274667%20204.8%20525.073067%20204.8c157.7984%200%20286.139733%20128.375467%20286.139733%20286.139733%200%20157.730133-128.4096%20286.139733-286.139733%20286.139734-32.256%200-64-5.461333-94.583467-16.247467l-149.7088%2056.388267a30.378667%2030.378667%200%200%201-10.922667%201.979733z%20m255.214934-552.5504a224.5632%20224.5632%200%200%200-224.256%20224.256c0%2045.943467%2013.858133%2090.112%2040.174933%20127.863467a31.232%2031.232%200%200%201%204.266667%2026.624L317.576533%20737.28l101.9904-38.434133a31.095467%2031.095467%200%200%201%2022.391467%200.2048%20222.3104%20222.3104%200%200%200%2083.114667%2016.0768%20224.5632%20224.5632%200%200%200%20224.256-224.256%20224.494933%20224.494933%200%200%200-224.256-224.221867z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M525.073067%20665.8048a174.1824%20174.1824%200%200%201-173.9776-173.9776%20174.216533%20174.216533%200%200%201%20173.9776-173.9776%20174.216533%20174.216533%200%200%201%20173.943466%20173.9776%20174.1824%20174.1824%200%200%201-173.943466%20173.9776z%20m0-286.139733a112.2304%20112.2304%200%200%200-112.093867%20112.093866%20112.264533%20112.264533%200%200%200%20112.093867%20112.093867%20112.264533%20112.264533%200%200%200%20112.093866-112.093867%20112.264533%20112.264533%200%200%200-112.093866-112.093866z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M525.073067%20553.642667a61.952%2061.952%200%200%201-61.8496-61.883734c0-34.0992%2027.7504-61.8496%2061.8496-61.8496%2034.0992%200%2061.8496%2027.7504%2061.8496%2061.8496%200%2034.0992-27.7504%2061.8496-61.8496%2061.8496z%20m1.297066-60.279467h0.750934-0.750934z%20m0%200h0.750934-0.750934z%20m0%200h0.750934-0.750934z%20m0%200h0.750934-0.750934z%20m0%200h0.750934-0.750934z%20m0%200h0.750934-0.750934z%20m0%200h0.750934-0.750934z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-lianjie { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-lianjie%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M632.945778%20522.24c0-7.395556-0.568889-14.677333-1.592889-21.788444a32.881778%2032.881778%200%200%200-65.592889-2.275556%2032.995556%2032.995556%200%200%200%200.796444%2010.695111c0.341333%203.982222%200.739556%207.964444%200.739556%2011.946667v3.811555c0%2048.184889-48.64%2082.488889-96.824889%2082.488889H264.817778c-48.184889-0.056889-87.324444-39.253333-87.381334-87.438222v-3.868444c0-48.184889%2039.253333-87.381333%2087.324445-87.324445h90.851555a35.669333%2035.669333%200%200%200%2010.808889-70.542222l0.056889-0.113778h-0.967111a35.896889%2035.896889%200%200%200-9.272889-0.341333L264.874667%20354.417778a161.905778%20161.905778%200%200%200-161.393778%20161.393778v3.868444a161.905778%20161.905778%200%200%200%20161.336889%20161.336889H470.471111c88.689778-0.056889%20162.474667-66.332444%20162.474667-154.965333V522.24z%22%20fill%3D%22%23CCCCCC%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M931.953778%20519.623111v-3.811555a161.848889%20161.848889%200%200%200-161.393778-161.393778l-205.596444%200.056889c-88.746667%200-155.306667%2061.667556-155.306667%20150.414222v3.754667c0%204.039111%200.170667%208.021333%200.512%2011.946666a31.175111%2031.175111%200%200%200%209.045333%2023.722667%2031.061333%2031.061333%200%200%200%2051.2-11.719111c3.640889-9.443556%202.218667-18.830222%202.218667-26.339556v-3.754666c0-48.184889%2044.088889-74.069333%2092.330667-74.069334l205.653333%200.056889a87.381333%2087.381333%200%200%201%2087.324444%2087.324445v3.811555c0%2048.241778-39.196444%2087.438222-87.381333%2087.438222h-90.567111a35.384889%2035.384889%200%200%200-13.482667%2069.518223v0.227555h1.308445a35.612444%2035.612444%200%200%200%2010.979555%200.455111l91.761778%203.697778a161.792%20161.792%200%200%200%20161.393778-161.336889z%22%20fill%3D%22%23CCCCCC%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-yuanquan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-yuanquan%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m136.533333%200l750.933334%200q136.533333%200%20136.533333%20136.533333l0%20750.933334q0%20136.533333-136.533333%20136.533333l-750.933334%200q-136.533333%200-136.533333-136.533333l0-750.933334q0-136.533333%20136.533333-136.533333Z%22%20fill%3D%22%23323033%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M512%20221.866667a290.133333%20290.133333%200%201%201%200%20580.266666%20290.133333%20290.133333%200%200%201%200-580.266666z%20m0%20102.4a187.733333%20187.733333%200%201%200%200%20375.466666%20187.733333%20187.733333%200%200%200%200-375.466666z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-luban { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-luban%22%20viewBox%3D%220%200%201058%201024%22%3E%3Cpath%20d%3D%22M166.946133%201024A149.879467%20149.879467%200%200%201%2017.066667%20874.120533V149.845333A149.879467%20149.879467%200%200%201%20166.946133%200H891.221333A149.879467%20149.879467%200%200%201%201041.066667%20149.845333V874.154667A149.879467%20149.879467%200%200%201%20891.1872%201024H166.912z%22%20fill%3D%22%23004D7F%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M515.242667%20368.981333v364.066134h52.0192V368.981333h156.023466V290.952533H463.530667l-104.277334%2056.866134v21.162666h156.023467zM450.218667%20238.933333h299.076266c14.370133%200%2026.0096%2011.639467%2026.0096%2026.0096v130.048a26.0096%2026.0096%200%200%201-26.0096%2025.975467h-130.048v338.090667c0%2014.336-11.605333%2026.0096-25.975466%2026.0096h-104.0384a26.0096%2026.0096%200%200%201-26.0096-26.0096v-338.090667h-130.048a26.0096%2026.0096%200%200%201-25.975467-26.0096V332.3904c0-9.5232%205.188267-18.261333%2013.550933-22.8352L450.218667%20238.933333z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M619.281067%20290.952533h52.0192v78.0288h-52.0192z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhaogonghezi { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhaogonghezi%22%20viewBox%3D%220%200%201058%201024%22%3E%3Cpath%20d%3D%22M187.733333%201024h682.666667a170.666667%20170.666667%200%200%200%20170.666667-170.666667V170.666667a170.666667%20170.666667%200%200%200-170.666667-170.666667h-682.666667a170.666667%20170.666667%200%200%200-170.666666%20170.666667v682.666666a170.666667%20170.666667%200%200%200%20170.666666%20170.666667z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M273.066667%20377.856c0-10.001067%205.3248-19.217067%2013.994666-24.234667l41.847467-24.1664%20167.594667-96.733866%2041.8816-24.1664a27.921067%2027.921067%200%200%201%2027.921066%200l41.8816%2024.1664%20167.5264%2096.733866%2041.915734%2024.1664c8.635733%204.983467%2013.960533%2014.199467%2013.960533%2024.200534v268.356266a27.921067%2027.921067%200%200%201-13.9264%2024.1664l-9.5232%205.461334-241.834667%20139.639466a27.921067%2027.921067%200%200%201-27.921066%200l-41.915734-24.1664-199.953066-115.473066-9.489067-5.461334A27.921067%2027.921067%200%200%201%20273.066667%20646.178133v-268.356266z%20m55.842133%2037.410133v214.766934l195.515733%20112.878933v-214.801067l-195.515733-112.8448z%20m446.839467%200L580.266667%20528.042667v214.8352l195.4816-112.878934v-214.766933z%20m-223.402667-150.289066l-186.026667%20107.383466%20186.026667%20107.383467%20185.992533-107.383467-186.026666-107.383466z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shujutongji1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shujutongji1%22%20viewBox%3D%220%200%201058%201024%22%3E%3Cpath%20d%3D%22M17.066667%200m170.666666%200l682.666667%200q170.666667%200%20170.666667%20170.666667l0%20682.666666q0%20170.666667-170.666667%20170.666667l-682.666667%200q-170.666667%200-170.666666-170.666667l0-682.666666q0-170.666667%20170.666666-170.666667Z%22%20fill%3D%22%231989FA%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M397.755733%20702.5664c0%207.816533-6.3488%2014.2336-14.199466%2014.2336H321.194667a14.2336%2014.2336%200%200%201-14.199467-14.2336v-176.3328c0-7.816533%206.382933-14.2336%2014.199467-14.2336h62.3616c7.850667%200%2014.199467%206.382933%2014.199466%2014.2336v176.3328h0.034134z%20m181.4528%200c0%207.816533-6.3488%2014.199467-14.199466%2014.199467h-62.327467a14.2336%2014.2336%200%200%201-14.199467-14.199467V253.166933c0-7.816533%206.3488-14.2336%2014.199467-14.2336h62.327467c7.850667%200%2014.199467%206.382933%2014.199466%2014.2336v449.399467z%20m181.521067%200c0%207.816533-6.382933%2014.2336-14.199467%2014.2336h-62.3616a14.2336%2014.2336%200%200%201-14.199466-14.2336v-312.866133c0-7.816533%206.382933-14.2336%2014.165333-14.2336h62.395733c7.816533%200%2014.199467%206.382933%2014.199467%2014.2336v312.866133zM253.1328%20785.066667a14.2336%2014.2336%200%200%201-14.199467-14.2336v-17.032534c0-7.850667%206.382933-14.2336%2014.199467-14.2336h561.493333c7.714133%200%2014.1312%206.3488%2014.1312%2014.2336v17.032534c0%207.816533-6.382933%2014.2336-14.165333%2014.2336H253.1328z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-daotian1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-daotian1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M853.333333%200a170.666667%20170.666667%200%200%201%20170.666667%20170.666667v682.666666a170.666667%20170.666667%200%200%201-170.666667%20170.666667H170.666667a170.666667%20170.666667%200%200%201-170.666667-170.666667V170.666667a170.666667%20170.666667%200%200%201%20170.666667-170.666667h682.666666zM290.065067%20341.333333c-42.496%206.3488-80.759467%209.898667-114.824534%2010.717867l-14.336%200.170667v45.806933c11.195733%200%2022.186667-0.170667%2033.041067-0.512l16.145067-0.6144v32.6656H156.023467v45.806933h56.695466v207.2576h45.431467v-124.279466l34.542933%2019.899733v-53.691733l-34.542933-19.899734v-29.2864h39.048533v-45.806933H258.1504v-37.1712c11.6736-1.672533%2021.026133-3.072%2027.989333-4.232533l3.925334-0.648534V341.333333z%20m101.000533%20136.2944c-30.890667%203.925333-57.6512%206.144-80.2816%206.656l-9.454933%200.1024v192.989867h193.365333v-196.744533h-90.862933v40.174933h45.806933v34.9184h-43.178667v40.174933h43.178667v41.301334h-103.253333v-41.301334h41.301333v-40.174933h-41.301333v-33.041067c10.171733-0.8192%2020.206933-1.8432%2030.037333-3.003733l14.6432-1.877333v-40.174934z%20m459.195733-123.153066h-295.867733v318.395733h295.867733v-318.395733zM202.581333%20492.6464H167.287467c0%2052.770133-3.925333%20104.106667-11.776%20154.043733l-3.618134%2021.2992h37.1712c8.021333-46.4896%2012.458667-97.860267%2013.346134-154.043733l0.170666-21.2992z%20m475.716267%2043.178667v87.8592h-75.093333v-87.8592h75.093333z%20m123.153067%200v87.8592h-75.093334v-87.8592h75.093334z%20m-123.153067-132.164267v84.104533h-75.093333v-84.104533h75.093333z%20m123.153067%200v84.104533h-75.093334v-84.104533h75.093334z%20m-300.7488%201.501867h-43.178667l-13.141333%2061.576533h43.178666l13.141334-61.576533z%20m-151.688534%207.509333H305.083733l11.639467%2054.0672h43.9296l-11.639467-54.0672z%20m70.587734%200h-43.9296l9.762133%2054.0672h43.9296l-9.762133-54.0672zM493.568%20341.333333c-30.549333%205.0176-62.122667%208.772267-94.788267%2011.264-24.507733%201.877333-48.3328%203.072-71.509333%203.515734l-22.9376%200.238933v45.056a1142.784%201142.784%200%200%200%2096.119467-3.3792%20955.1872%20955.1872%200%200%200%2075.332266-8.635733l17.783467-3.003734V341.333333z%22%20fill%3D%22%23FF4300%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-xiniu { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-xiniu%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M849.92%200C945.493333%200%201024%2078.506667%201024%20174.08v675.84c0%2098.986667-78.506667%20174.08-174.08%20174.08H174.08C78.506667%201024%200%20945.493333%200%20849.92V174.08C0%2078.506667%2078.506667%200%20174.08%200h675.84z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M849.92%201024H174.08c-47.786667%200-92.16-17.066667-122.88-51.2S0%20897.706667%200%20849.92V174.08c0-47.786667%2017.066667-92.16%2051.2-122.88C85.333333%2017.066667%20129.706667%200%20174.08%200h675.84c47.786667%200%2092.16%2017.066667%20122.88%2051.2S1024%20126.293333%201024%20174.08v675.84c0%2047.786667-17.066667%2092.16-51.2%20122.88S897.706667%201024%20849.92%201024zM174.08%2017.066667C133.12%2017.066667%2092.16%2034.133333%2061.44%2061.44%2034.133333%2092.16%2017.066667%20133.12%2017.066667%20174.08v675.84c0%2040.96%2017.066667%2081.92%2044.373333%20112.64%2030.72%2030.72%2068.266667%2044.373333%20112.64%2044.373333h675.84c40.96%200%2081.92-17.066667%20112.64-44.373333s44.373333-68.266667%2044.373333-112.64V174.08c0-40.96-17.066667-81.92-44.373333-112.64-30.72-30.72-68.266667-44.373333-112.64-44.373333H174.08z%22%20fill%3D%22%23EEEEEE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M945.493333%20348.16c13.653333%2013.653333%2013.653333%2030.72%206.826667%2047.786667%200%200-10.24%2017.066667-23.893333%2030.72-13.653333%2013.653333-30.72%2023.893333-34.133334%2023.893333v10.24c0%2051.2-40.96%2095.573333-95.573333%2095.573333h-88.746667c0%2013.653333-3.413333%2027.306667-10.24%2037.546667v81.92c10.24%2010.24%2017.066667%2023.893333%2017.066667%2037.546667%200%2013.653333-13.653333%2027.306667-27.306667%2027.306666H648.533333v6.826667c0%2013.653333-13.653333%2027.306667-27.306666%2027.306667h-102.4c-20.48%200-37.546667-17.066667-37.546667-37.546667v-85.333333H409.6v23.893333c10.24%2010.24%2017.066667%2023.893333%2017.066667%2037.546667%200%2013.653333-13.653333%2027.306667-27.306667%2027.306666h-40.96v6.826667c0%2013.653333-13.653333%2027.306667-27.306667%2027.306667h-102.4c-20.48%200-37.546667-17.066667-37.546666-37.546667v-105.813333c-23.893333-17.066667-40.96-44.373333-44.373334-75.093334v-81.92-13.653333c-17.066667%203.413333-30.72%2020.48-30.72%2037.546667v23.893333c6.826667%206.826667%2010.24%2013.653333%2010.24%2023.893333v10.24c0%2017.066667-13.653333%2027.306667-27.306666%2027.306667s-30.72-13.653333-30.72-30.72v-10.24c0-10.24%203.413333-17.066667%2010.24-23.893333v-20.48c0-40.96%2030.72-71.68%2071.68-71.68h3.413333c10.24-30.72%2027.306667-58.026667%2051.2-78.506667%2027.306667-23.893333%2064.853333-37.546667%20102.4-37.546667h201.386667c23.893333-23.893333%2058.026667-37.546667%2095.573333-37.546666h20.48c10.24-13.653333%2027.306667-23.893333%2044.373333-30.72%2013.653333-3.413333%2027.306667-6.826667%2040.96-3.413334%206.826667%203.413333%2013.653333%200%2023.893334%200%2017.066667%200%2030.72%200%2047.786666%206.826667%206.826667%203.413333%2010.24%2010.24%2010.24%2017.066667s-3.413333%2013.653333-10.24%2017.066666c-10.24%203.413333-20.48%2010.24-23.893333%2020.48%203.413333%203.413333%206.826667%203.413333%2010.24%206.826667l68.266667%2058.026667c13.653333-6.826667%2023.893333%200%2037.546666-6.826667%206.826667-3.413333%2013.653333-10.24%2013.653334-10.24%2017.066667-17.066667%2040.96-13.653333%2058.026666%200z%22%20fill%3D%22%23663333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M918.186667%20372.053333c3.413333%203.413333%200%203.413333%200%206.826667%200%200-6.826667%2017.066667-27.306667%2030.72-13.653333%2013.653333-37.546667%2017.066667-37.546667%2017.066667h-13.653333l-10.24-10.24v-13.653334l10.24-10.24s23.893333%200%2037.546667-6.826666c17.066667-6.826667%2027.306667-20.48%2027.306666-20.48%2010.24%206.826667%2013.653333%206.826667%2013.653334%206.826666z%22%20fill%3D%22%23FFE4CC%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M860.16%20464.213333c0%2030.72-27.306667%2058.026667-58.026667%2058.026667h-105.813333c-3.413333%200-10.24%203.413333-13.653333%206.826667-3.413333%203.413333-6.826667%206.826667-6.826667%2013.653333v10.24c0%2017.066667-6.826667%2034.133333-17.066667%2047.786667-10.24%2013.653333-27.306667%2020.48-44.373333%2020.48-10.24%200-17.066667%2010.24-17.066667%2017.066666v85.333334c0%206.826667%203.413333%2010.24%206.826667%2013.653333%203.413333%200%203.413333%203.413333%206.826667%206.826667h-92.16s-3.413333%200-3.413334-3.413334v-102.4c0-10.24-6.826667-17.066667-17.066666-17.066666H324.266667c-10.24%200-17.066667%206.826667-17.066667%2017.066666v85.333334c0%206.826667%203.413333%2010.24%206.826667%2013.653333%203.413333%200%203.413333%203.413333%206.826666%206.826667H228.693333s-3.413333%200-3.413333-3.413334v-112.64c0-6.826667-3.413333-13.653333-10.24-17.066666-20.48-10.24-34.133333-30.72-34.133333-54.613334V477.866667c0-10.24%200-20.48%203.413333-27.306667%206.826667-30.72%2020.48-54.613333%2044.373333-71.68%2023.893333-20.48%2051.2-30.72%2078.506667-30.72h208.213333c3.413333%200%2010.24-3.413333%2013.653334-6.826667%2010.24-10.24%2020.48-17.066667%2034.133333-23.893333s27.306667-6.826667%2040.96-6.826667v6.826667c-3.413333%2010.24%203.413333%2020.48%2013.653333%2020.48h3.413334c6.826667%200%2013.653333-6.826667%2017.066666-13.653333%203.413333-17.066667%2017.066667-34.133333%2034.133334-40.96-3.413333%2010.24-6.826667%2020.48-10.24%2027.306666%200%2010.24%206.826667%2017.066667%2013.653333%2020.48%2010.24%200%2017.066667-6.826667%2020.48-13.653333%203.413333-17.066667%2010.24-30.72%2023.893333-40.96%203.413333%200%203.413333%200%206.826667-3.413333-6.826667%206.826667-10.24%2017.066667-13.653333%2027.306666-3.413333%2010.24%200%2020.48%2010.24%2023.893334%206.826667%203.413333%2013.653333%206.826667%2017.066666%2010.24%203.413333%200%2064.853333%2054.613333%2064.853334%2054.613333v3.413333c-6.826667%2013.653333-6.826667%2027.306667-3.413334%2040.96%203.413333%2013.653333%2013.653333%2023.893333%2027.306667%2030.72%206.826667%203.413333%2013.653333%206.826667%2023.893333%206.826667%200-3.413333%203.413333-3.413333%206.826667-6.826667z%22%20fill%3D%22%23CEC8C8%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M723.626667%20385.706667c10.24%200%2017.066667%206.826667%2017.066666%2017.066666s-6.826667%2017.066667-17.066666%2017.066667-17.066667-6.826667-17.066667-17.066667c-3.413333-6.826667%206.826667-17.066667%2017.066667-17.066666z%22%20fill%3D%22%23663333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M679.253333%20709.973333h-44.373333v-58.026666c10.24-3.413333%2020.48-6.826667%2030.72-13.653334v51.2c0%206.826667%203.413333%2010.24%206.826667%2013.653334%203.413333%200%206.826667%203.413333%206.826666%206.826666z%20m-290.133333%200h-44.373333v-54.613333h30.72v34.133333c0%206.826667%203.413333%2010.24%206.826666%2013.653334%203.413333%200%203.413333%203.413333%206.826667%206.826666z%22%20fill%3D%22%23D2CDCE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M307.2%20395.946667c10.24%200%2017.066667%206.826667%2017.066667%2017.066666s-6.826667%2017.066667-17.066667%2017.066667c-20.48%200-37.546667%2013.653333-44.373333%2034.133333%200%2010.24-6.826667%2017.066667-13.653334%2017.066667h-3.413333c-10.24-3.413333-17.066667-13.653333-13.653333-23.893333%206.826667-34.133333%2040.96-61.44%2075.093333-61.44z%22%20fill%3D%22%23663333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-daotian2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-daotian2%22%20viewBox%3D%220%200%202108%201024%22%3E%3Cpath%20d%3D%22M318.795294%201024V651.143529l103.634824%2059.693177v-161.099294l-103.604706-59.693177v-87.883294h117.157647V264.734118h-117.157647V153.208471c42.044235-6.023529%2073.938824-10.902588%2095.744-14.637177V0C268.860235%2021.775059%20139.685647%2032.677647%2027.045647%2032.677647v137.426824c50.296471%200%2099.508706-1.114353%20147.576471-3.373177V264.734118H12.348235v137.426823H182.512941V1024h136.312471z%20m138.541177-843.745882c93.906824%200.752941%20190.042353-2.650353%20288.406588-10.149647a2781.033412%202781.033412%200%200%200%20279.371294-34.936471V0c-91.617882%2015.028706-186.428235%2026.292706-284.431059%2033.792-98.002824%207.529412-192.451765%2011.264-283.316706%2011.264v135.198118z%20m549.767529%20196.005647l39.454118-184.741647h-129.566118l-39.454118%20184.741647h129.566118z%20m-380.777412%200l-34.906353-162.213647h-131.794823l34.93647%20162.213647h131.764706z%20m206.155294%200l-29.274353-162.213647h-131.794823l29.274353%20162.213647h131.794823z%20m196.035765%20631.958588v-590.305882h-272.624941v120.560941h137.426823v104.779294H763.783529v120.530823h129.536v123.904H583.529412V763.783529h123.934117v-120.530823h-123.934117v-99.147294a2440.131765%202440.131765%200%200%200%20134.053647-14.637177v-120.530823c-105.893647%2013.492706-195.644235%2020.269176-269.251765%2020.269176v579.011765H1028.517647z%20m-916.992-28.16C138.571294%20823.115294%20152.094118%20647.740235%20152.094118%20453.993412H46.200471c0%20181.007059-15.420235%20356.352-46.200471%20526.064941h111.525647z%20m1983.789177%2014.667294V39.424H1207.627294v955.301647H2095.284706zM1579.369412%20439.356235h-225.28V186.970353h225.28v252.325647z%20m369.483294%200h-225.28V186.970353h225.28v252.325647zM1579.369412%20847.119059h-225.28v-263.619765h225.28v263.619765z%20m369.483294%200h-225.28v-263.619765h225.28v263.619765z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-nazha1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-nazha1%22%20viewBox%3D%220%200%202168%201024%22%3E%3Cpath%20d%3D%22M260.156235%201024H0v-157.184h260.156235zM843.083294%20866.243765h180.766118v157.214117H898.108235zM358.912%200.090353h349.786353v104.508235H353.430588z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1023.608471%20104.508235h-232.658824V0h232.658824z%22%20fill%3D%22%23CE131C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1023.638588%20531.124706h-259.373176v-104.508235h259.373176z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M902.505412%201024V0.662588h121.072941V1024zM344.786824%20286.177882H700.837647v104.538353H340.028235zM331.414588%20572.295529h377.283765v104.508236H326.686118zM552.267294%20866.243765h156.431059v157.214117h-126.554353zM305.483294%20866.243765h156.400941v157.214117h-126.554353z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M762.910118%200.090353l-49.513412%201023.337412h-110.019765V0.090353zM891.813647%200.090353l-54.211765%201023.337412H736.978824L786.492235%200.090353zM560.911059%200.090353l-22.799059%201023.337412h-174.471529L450.861176%200.090353zM330.631529%200.090353L283.467294%201023.427765H173.417412L220.581647%200.090353z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M300.754824%200.090353L109.778824%20866.243765H0.512L190.735059%200.090353zM156.129882%200.090353L0.512%20742.851765V0.090353z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1556.781176%200.090353h565.880471l-23.582118%20157.214118H1548.107294zM1535.548235%20433.152h521.09553l-24.395294%20157.214118H1528.470588zM1626.714353%20918.889412h355.267765l-16.504471%20104.538353H1621.985882z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1894.701176%200.090353l-153.238588%201023.337412h-232.658823L1757.967059%200.090353zM1383.454118%201024h-260.156236v-157.214118h260.156236z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1532.385882%200.090353l-47.947294%201023.337412h-129.686588L1401.916235%200.090353z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1423.149176%200.090353l-190.223058%20866.153412h-110.019765L1313.882353%200.090353zM1279.307294%200.090353l-156.400941%20742.761412V0.090353zM1990.625882%201023.427765L2146.243765%200.090353v1023.337412z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-xiniu1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-xiniu1%22%20viewBox%3D%220%200%201686%201024%22%3E%3Cpath%20d%3D%22M1662.023588%20209.251257c23.370607%2024.334343%2028.098938%2060.715391%2011.89612%2090.290051%200%200-18.280874%2033.730773-45.265492%2060.71539-25.810064%2025.810064-60.293756%2044.873974-61.799594%2045.596777a180.098232%20180.098232%200%200%201-178.893562%20199.613894H1219.427664a197.264786%20197.264786%200%200%201-20.358931%2074.087232v155.914473a98.602276%2098.602276%200%200%201%2030.719097%2071.617659c0%2028.309756-22.979089%2051.288844-51.258728%2051.288844h-75.23167c0.752919%204.698215%200.963736%209.245846%200.963737%2014.154878%200%2028.249522-23.009206%2051.258728-51.288845%2051.258728h-196.602217a72.731978%2072.731978%200%200%201-72.581395-72.581395v-162.118526h-136.669863v46.560513a98.602276%2098.602276%200%200%201%2030.719097%2071.647775c0%2028.249522-22.979089%2051.258728-51.258728%2051.258728h-75.201553c0.752919%204.728332%201.11432%209.245846%201.114321%2014.154878%200%2028.249522-22.979089%2051.258728-51.258728%2051.258727h-196.813035a72.731978%2072.731978%200%200%201-72.581395-72.581394v-197.746655a196.993735%20196.993735%200%200%201-84.628099-145.52419l-0.1807-157.570895c0-9.245846%200.391518-18.672392%201.325137-27.888121a70.172054%2070.172054%200%200%200-60.715391%2069.569718v44.271639c12.64904%209.998765%2020.931149%2025.448663%2020.931149%2042.765801v18.88321a54.300521%2054.300521%200%200%201-108.570924%200v-18.853093c0-17.347254%208.282109-32.82727%2020.931149-42.795918v-44.271639c0-75.593071%2061.438193-137.061381%20136.850563-137.06138h4.336814A312.190347%20312.190347%200%200%201%20262.015823%20210.395694a308.606453%20308.606453%200%200%201%20193.04844-68.06388h380.013294a261.082203%20261.082203%200%200%201%20178.893561-71.617659c12.438222%200%2024.876445%200.93362%2036.92315%202.620159A177.899709%20177.899709%200%200%201%201135.913885%2016.263051a177.990059%20177.990059%200%200%201%2078.996265-6.023352%20178.411694%20178.411694%200%200%201%20132.905267%205.661951c12.046705%205.421017%2019.786712%2017.527955%2019.575895%2030.899797a33.670539%2033.670539%200%200%201-20.358931%2030.357695c-19.395194%208.101409-35.98953%2021.684068-48.066351%2038.820506%206.41487%203.945296%2012.64904%208.131526%2018.491692%2012.649039l131.941531%20112.907738c24.334343-10.751684%2046.741213-2.469574%2070.503338-11.89612a104.595512%20104.595512%200%200%200%2033.369372-22.22617%2076.857975%2076.857975%200%200%201%20108.751625%201.867239z%22%20fill%3D%22%23663333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1613.776536%20255.450369a10.179465%2010.179465%200%200%201%201.505838%2011.866004s-13.552543%2030.357695-52.222464%2061.438193c-28.821741%2023.189906-68.425282%2034.694509-68.425282%2034.694509-8.101409%202.830976-16.775036%202.258757-24.304226-1.505838a31.622599%2031.622599%200%200%201-16.202818-18.280874c-2.830976-8.131526-2.288874-16.564219%201.505839-24.304226%203.764595-7.52919%2010.179465-13.401959%2018.280874-16.232935%201.505838-0.572218%2042.223699-1.11432%2071.256257-12.257522C1578.118291%20278.278874%201599.440958%20255.088968%201599.440958%20255.088968a10.299932%2010.299932%200%200%201%2014.335578%200.391518z%22%20fill%3D%22%23FFE4CC%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1501.049499%20430.549219a113.239022%20113.239022%200%200%201-113.088439%20108.028823H1186.600394c-9.245846%200-17.527955%203.764595-23.551307%209.787947-6.023352%206.023352-9.818064%2014.335578-9.818064%2023.581424v18.853093a130.495927%20130.495927%200%200%201-35.055911%2089.145613%20131.821064%20131.821064%200%200%201-81.616423%2041.259963%2033.429605%2033.429605%200%200%200-29.815593%2033.218788v162.479927c0%2011.504603%205.872768%2022.045469%2015.660716%2028.279639%204.728332%203.011676%208.492927%206.956972%2011.143201%2011.685303h-177.207023a5.872768%205.872768%200%200%201-5.842652-5.842652V755.328373c0-18.491691-14.87768-33.369371-33.369371-33.369372H488.222817c-18.461575%200-33.369371%2014.87768-33.369372%2033.369372v161.365607c0%2011.474486%205.842652%2022.045469%2015.660716%2028.249522%204.698215%203.011676%208.46281%206.987089%2011.113085%2011.71542h-177.207023a5.872768%205.872768%200%200%201-5.842652-5.872769v-215.63601c0-12.046705-6.595571-23.370607-17.317137-29.213259a130.586277%20130.586277%200%200%201-67.491662-103.11979v-152.089645c0-18.310991%202.078057-36.772566%206.204052-54.511338a243.283198%20243.283198%200%200%201%2084.085998-133.628069%20238.70545%20238.70545%200%200%201%20151.186141-53.366901H848.9915c9.637364%200%2018.280874-4.125996%2024.304227-10.540867a194.16276%20194.16276%200%200%201%2065.052204-45.446193%20198.138172%20198.138172%200%200%201%2077.641011-16.022117c1.144437%200-0.752919%206.987089-1.505839%2010.390283a33.399488%2033.399488%200%200%200%2032.616453%2040.507044c15.269198%200%2029.032558-10.540866%2032.616452-26.020882a111.642834%20111.642834%200%200%201%2061.829711-76.888091%20183.350843%20183.350843%200%200%200-16.413635%2054.661921c-2.409341%2018.280874%2010.570983%2035.05591%2028.851858%2037.344784a33.218788%2033.218788%200%200%200%2037.344784-28.851857%20112.937855%20112.937855%200%200%201%2043.729537-75.050969c0.361401-0.180701%200.752919-0.180701%201.11432-0.361401a90.350284%2090.350284%200%200%201%2013.944061-3.975413%20180.098232%20180.098232%200%200%200-27.888121%2049.993824c-6.23417%2016.92562%202.439458%2035.778712%2019.214493%2042.374283%2012.438222%204.909032%2024.334343%2011.504603%2034.87521%2019.606012l0.572218%200.602335c4.336814%203.192377%20121.009147%20103.661892%20121.009147%20103.661892-0.903503%201.505838-1.686539%203.192377-2.439457%204.698215a98.813094%2098.813094%200%200%200-4.698215%2075.41237%2097.879474%2097.879474%200%200%200%2049.93359%2056.529161c13.94406%206.806388%2028.671157%2010.179465%2043.548837%2010.179465%205.661951%200%2011.143202-0.542102%2016.775036-1.505838z%22%20fill%3D%22%23CEC8C8%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1241.292433%20281.29055c19.425311%200%2035.236611%2015.8113%2035.23661%2035.236611%200%2019.395194-15.8113%2035.236611-35.23661%2035.236611-19.425311%200-35.236611-15.841416-35.236611-35.236611%200-19.606012%2015.8113-35.236611%2035.236611-35.236611z%22%20fill%3D%22%23663333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1159.103791%20891.456134h-85.591835v-109.534661a200.005412%20200.005412%200%200%200%2058.818034-26.743684v96.313402c0%2011.504603%205.842652%2022.045469%2015.660716%2028.279639%204.698215%203.011676%208.46281%206.956972%2011.143202%2011.685304z%20m-552.130584%200H521.622305v-102.728273h58.818035v62.76333c0%2011.504603%205.842652%2022.045469%2015.660716%2028.279639%204.517514%203.011676%208.282109%206.956972%2010.902267%2011.685304z%22%20fill%3D%22%23D2CDCE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M455.064263%20299.179906c18.461575%200%2033.339255%2014.87768%2033.339255%2033.369372%200%2018.461575-14.87768%2033.369371-33.369372%2033.369371a85.049734%2085.049734%200%200%200-82.369342%2065.594307%2033.339255%2033.339255%200%200%201-32.405635%2025.810064%2025.870298%2025.870298%200%200%201-7.52919-0.93362%2033.128437%2033.128437%200%200%201-24.906562-39.964942c15.449899-67.853063%2077.490427-117.244552%20147.210729-117.244552z%22%20fill%3D%22%23663333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-bocai { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-bocai%22%20viewBox%3D%220%200%203329%201024%22%3E%3Cpath%20d%3D%22M1449.988042%200.063996h-143.606755a250.927847%20250.927847%200%200%201-238.128671%20238.12867v143.606756a391.078824%20391.078824%200%200%200%20140.27897-30.526035V1023.99808h130.16762a12.159217%2012.159217%200%200%200%2012.159218-12.159217V249.199958A392.422738%20392.422738%200%200%200%201449.924046%200.063996M1887.399884%20888.134826h-308.396147v-222.769659h436.96387v94.073944c0%2071.099423-57.596292%20128.631719-128.631719%20128.631719z%20m-308.396147-358.632913V306.604262h436.96387V529.565909h-436.96387v-0.063996z%20m518.686609-358.632913H1752.432572c32.573903-48.892853%2051.580679-107.641071%2051.58068-170.805004h-137.335159a170.996992%20170.996992%200%200%201-163.189495%20170.805004h-6.2076a60.540103%2060.540103%200%200%200-60.540103%2060.540103V963.329986c0%2033.469845%2027.134253%2060.604099%2060.540103%2060.604098h382.631368a278.382079%20278.382079%200%200%200%20278.382079-278.382079V231.409103a60.540103%2060.540103%200%200%200-60.604099-60.540103zM3314.508014%20170.869h-237.616704V0.063996h-141.878866v170.805004h-588.186136v140.27897h426.852522l-222.44968%20410.853551c-48.508877%2089.978208-98.16968%20109.112976-131.319547%20109.36896h-4.735695v144.118722c4.095736%200.191988%208.127477%200.511967%2012.223213%200.511967%2055.036457%200%20158.517795-20.606673%20233.200988-158.645787l274.222347-506.207413h0.191988v403.814004c0.063996%2081.08278-21.886591%20136.055241-63.611905%20158.965767l-4.159732%202.239856V1023.99808l9.535386-1.727889c96.697775-17.342884%20200.115118-98.809639%20200.115117-275.502264V311.083974h237.616704V170.869z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1.889264%20618.008216a406.309844%20406.309844%200%200%201%2087.162388-255.215571A409.573634%20409.573634%200%200%201%20192.532991%20269.486652V163.253491A163.125499%20163.125499%200%200%200%2029.727471%200.063996H1.63328v615.44838h0.191988l0.063996%202.559836%22%20fill%3D%22%2300D000%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M556.733545%20455.010709L711.347592%20340.202099a405.541893%20405.541893%200%200%201%20106.87312%20287.469495%20405.349906%20405.349906%200%200%201-114.936601%20271.470524L552.189838%20780.10978%20548.862052%20782.861603a217.777981%20217.777981%200%200%200%2019.390752-316.395632s-8.831431-8.959423-11.519259-11.327271%22%20fill%3D%22%2300D000%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M409.671013%201023.99808a404.325972%20404.325972%200%200%201-252.463748-87.546364%20408.933675%20408.933675%200%200%201-68.155613-573.659071%20406.37384%20406.37384%200%200%201%20321.259319-155.829968c92.346055%200%20179.57244%2030.334047%20252.335756%2087.61036%2017.534871%2013.759114%2033.917817%2028.990134%2048.892853%2045.437075L556.66955%20455.074705a215.154149%20215.154149%200%200%200-119.480309-55.420433%20217.138022%20217.138022%200%200%200-208.050607%2094.969887c-62.843954%2093.433985-42.109289%20222.385684%2046.397014%20291.949205%2038.717508%2030.398043%2085.114521%2046.461009%20134.327352%2046.461009a216.306075%20216.306075%200%200%200%20142.326838-52.860597l151.542244%20119.288321A406.181852%20406.181852%200%200%201%20409.671013%201023.99808z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhuchangtong1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhuchangtong1%22%20viewBox%3D%220%200%203824%201024%22%3E%3Cpath%20d%3D%22M0%20719.570824h357.225412v-98.725648H0z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M435.561412%200.752941H61.982118v98.243765h243.952941v290.153412H191.367529V120.440471H62.042353V487.875765h358.008471v273.287529s-7.920941%20116.374588-72.222118%20185.012706l116.615529%2063.789176s85.473882-94.930824%2085.473883-248.771764V389.12h-114.05553V0.752941h-0.271059zM946.688%20487.905882h175.826824v-98.785882h-175.826824V219.196235h175.826824v-98.785882h-533.082353v98.785882h195.222588v169.923765h-195.192471v98.785882h195.192471v359.243294h-205.673412v99.026824h553.984v-99.026824h-186.277647zM1595.843765%200.752941h-162.032941v253.891765h-108.182589v98.785882h108.182589v493.748706h-108.182589v98.996706h378.669177v-98.996706h-108.453647V353.400471h108.423529V254.674824h-108.423529zM958.433882%20105.110588l-23.491764-104.357647h-162.032942l23.491765%20104.357647zM1815.280941%20656.323765s4.577882%20118.874353-33.430588%20182.663529l116.856471%2063.789177s49.272471-50.266353%2046.20047-246.452706V389.12h-129.626353v267.143529zM2073.750588%20656.323765s4.638118%20118.874353-33.430588%20182.663529l116.916706%2063.789177s49.212235-50.266353%2046.140235-246.452706V389.12h-129.626353v267.143529z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M2299.602824%20254.674824h-252.867765l252.867765-155.407059V0.512H1750.467765v98.755765h252.084706l-252.084706%20155.407059v98.755764h549.135059v407.762824s0%20120.922353-72.222118%20184.982588L2369.536%201024s90.051765-70.896941%2092.099765-257.204706h0.240941V254.644706h-162.273882zM2899.004235%20140.589176L2867.621647%200.752941%202696.884706%200l31.412706%20139.836235zM3083.474824%20825.735529s40.327529-44.152471%2045.68847-210.251294h156.16v146.462118h129.626353v-146.462118h155.136c-1.807059%2040.297412-8.432941%20104.869647-33.159529%20146.462118l116.85647%2064.030118s46.200471-50.507294%2046.200471-246.753883V205.402353H3506.567529l106.405647-106.405647V0.240941H3087.058824v98.785883h386.319058l-88.786823%2088.786823-40.83953-40.839529-58.428235%2058.428235h-285.033412v373.820235s4.608%20118.934588-33.430588%20182.723765l116.61553%2063.789176z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M3028.359529%20844.860235s-78.095059-5.360941-130.891294-46.682353c0.752941-10.962824%201.264941-22.467765%201.264941-34.454588h0.301177V252.084706h-202.149647v98.785882h40.05647v407.762824s0%20120.952471-72.192%20184.982588l142.125177%2077.824s43.399529-33.912471%2070.686118-116.856471a310.994824%20310.994824%200%200%200%20151.070117%2039.032471h769.325177v-98.755765h-769.596236z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M3129.645176%20358.520471h155.407059v-54.362353h-155.407059zM3414.708706%20358.520471h155.407059v-54.362353h-155.407059zM3414.708706%20516.969412h155.407059v-59.693177h-155.407059zM3129.675294%20516.728471h155.407059v-59.723295h-155.407059z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-yinhangka2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-yinhangka2%22%20viewBox%3D%220%200%201066%201024%22%3E%3Cpath%20d%3D%22M875.946667%2042.666667H171.946667c-64%200-115.2%2059.733333-115.2%20136.533333v661.333333c0%2081.066667%2051.2%20140.8%20115.2%20140.8h704c64%200%20119.466667-59.733333%20119.466666-136.533333V179.2c0-76.8-51.2-136.533333-119.466666-136.533333z%20m72.533333%20802.133333c0%2046.933333-29.866667%2081.066667-68.266667%2081.066667H171.946667c-38.4%200-72.533333-38.4-72.533334-81.066667V179.2c0-46.933333%2029.866667-81.066667%2072.533334-81.066667h704c38.4%200%2068.266667%2038.4%2068.266666%2081.066667v665.6zM69.546667%20388.266667h900.266666V332.8H69.546667v55.466667z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M880.213333%20989.866667H176.213333c-72.533333%200-128-68.266667-128-149.333334V179.2c0-81.066667%2055.466667-149.333333%20128-149.333333h704c72.533333%200%20128%2068.266667%20128%20149.333333v661.333333c0%2085.333333-59.733333%20149.333333-128%20149.333334z%20m-810.666666-588.8v443.733333c0%2068.266667%2046.933333%20128%20106.666666%20128h704c59.733333%200%20106.666667-55.466667%20106.666667-128V179.2c0-68.266667-46.933333-128-106.666667-128H176.213333c-59.733333%200-106.666667%2055.466667-106.666666%20128v140.8h25.6V179.2c0-51.2%2034.133333-93.866667%2081.066666-93.866667h704c42.666667%200%2081.066667%2042.666667%2081.066667%2093.866667v140.8h17.066667v76.8h-17.066667v443.733333c0%2051.2-38.4%2093.866667-81.066667%2093.866667H176.213333c-42.666667%200-81.066667-42.666667-81.066666-93.866667V401.066667h-25.6z%20m46.933333%200v443.733333c0%2038.4%2025.6%2072.533333%2059.733333%2072.533333h704c34.133333%200%2059.733333-34.133333%2059.733334-72.533333V401.066667H116.48z%20m0-21.333334h823.466667v-34.133333H116.48v34.133333z%20m-38.4%200h12.8v-34.133333h-12.8v34.133333z%20m38.4-55.466666h823.466667V179.2c0-38.4-25.6-72.533333-59.733334-72.533333H176.213333c-34.133333%200-59.733333%2034.133333-59.733333%2072.533333v145.066667z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M581.546667%20682.666667h260.266666v-46.933334h-260.266666z%22%20fill%3D%22%23A43F3F%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M837.546667%20695.466667h-256c-8.533333%200-12.8-4.266667-12.8-12.8v-46.933334c0-8.533333%204.266667-12.8%2012.8-12.8h256c8.533333%200%2012.8%204.266667%2012.8%2012.8V682.666667c0%204.266667-4.266667%2012.8-12.8%2012.8z%20m-243.2-25.6h230.4v-21.333334h-234.666667v21.333334z%22%20fill%3D%22%23A43F3F%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhengjian1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhengjian1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M861.866667%2042.666667H162.133333C93.866667%2042.666667%2042.666667%20102.4%2042.666667%20179.2v661.333333C42.666667%20921.6%2093.866667%20981.333333%20162.133333%20981.333333h704c64%200%20119.466667-59.733333%20119.466667-136.533333V179.2C981.333333%20102.4%20930.133333%2042.666667%20861.866667%2042.666667z%20m72.533333%20802.133333c0%2046.933333-29.866667%2081.066667-68.266667%2081.066667H162.133333c-38.4%200-68.266667-38.4-68.266666-81.066667V179.2c0-46.933333%2029.866667-81.066667%2068.266666-81.066667h704c38.4%200%2068.266667%2038.4%2068.266667%2081.066667v665.6zM192%20733.866667h217.6v-55.466667H187.733333l4.266667%2055.466667z%20m-4.266667-196.266667h221.866667v-55.466667H187.733333v55.466667z%20m0-192h221.866667V290.133333H187.733333v55.466667z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M861.866667%20989.866667H162.133333c-72.533333%200-128-68.266667-128-149.333334V179.2C34.133333%2098.133333%2089.6%2029.866667%20162.133333%2029.866667h704c72.533333%200%20128%2068.266667%20128%20149.333333v661.333333c-4.266667%2085.333333-59.733333%20149.333333-132.266666%20149.333334zM162.133333%2051.2c-59.733333%200-106.666667%2055.466667-106.666666%20128v661.333333c0%2068.266667%2046.933333%20128%20106.666666%20128h704c59.733333%200%20106.666667-55.466667%20106.666667-128V179.2c0-68.266667-46.933333-128-106.666667-128H162.133333zM861.866667%20938.666667H162.133333c-42.666667%200-81.066667-42.666667-81.066666-93.866667V179.2C81.066667%20128%20115.2%2085.333333%20162.133333%2085.333333h704c42.666667%200%2081.066667%2042.666667%2081.066667%2093.866667v661.333333c0%2055.466667-38.4%2098.133333-85.333333%2098.133334zM162.133333%20106.666667c-34.133333%200-59.733333%2034.133333-59.733333%2072.533333v661.333333c0%2038.4%2025.6%2072.533333%2059.733333%2072.533334h704c34.133333%200%2059.733333-34.133333%2059.733334-72.533334V179.2c0-38.4-25.6-72.533333-59.733334-72.533333H162.133333z%20m260.266667%20635.733333H183.466667l-4.266667-76.8h243.2v76.8z%20m-217.6-21.333333h196.266667v-34.133334H200.533333l4.266667%2034.133334z%20m217.6-170.666667H179.2v-76.8h243.2v76.8z%20m-221.866667-21.333333h200.533334v-34.133334H200.533333v34.133334z%20m221.866667-170.666667H179.2V281.6h243.2v76.8z%20m-221.866667-21.333333h200.533334v-34.133334H200.533333v34.133334z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M759.466667%20601.6c29.866667-25.6%2046.933333-59.733333%2046.933333-102.4%200-72.533333-59.733333-136.533333-132.266667-136.533333s-132.266667%2059.733333-132.266666%20136.533333c0%2042.666667%2017.066667%2076.8%2046.933333%20102.4-59.733333%2029.866667-102.4%2093.866667-102.4%20166.4%200%2012.8%2012.8%2025.6%2025.6%2025.6s25.6-12.8%2025.6-25.6c0-72.533333%2059.733333-136.533333%20132.266667-136.533333S810.666667%20691.2%20810.666667%20768c0%2012.8%2012.8%2025.6%2025.6%2025.6s25.6-12.8%2025.6-25.6c0-72.533333-42.666667-136.533333-102.4-166.4z%20m-81.066667-21.333333c-42.666667%200-81.066667-34.133333-81.066667-81.066667s34.133333-81.066667%2081.066667-81.066667%2081.066667%2034.133333%2081.066667%2081.066667-38.4%2081.066667-81.066667%2081.066667z%22%20fill%3D%22%23A43F3F%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M836.266667%20802.133333c-21.333333%200-34.133333-17.066667-34.133334-34.133333%200-68.266667-55.466667-128-123.733333-128-68.266667%200-123.733333%2055.466667-123.733333%20128%200%2021.333333-17.066667%2034.133333-34.133334%2034.133333-21.333333%200-34.133333-17.066667-34.133333-34.133333%200-68.266667%2034.133333-132.266667%2093.866667-166.4-25.6-25.6-42.666667-64-42.666667-102.4%200-81.066667%2064-145.066667%20140.8-145.066667s140.8%2064%20140.8%20145.066667c0%2038.4-17.066667%2072.533333-42.666667%20102.4%2059.733333%2034.133333%2093.866667%2098.133333%2093.866667%20166.4%200%2017.066667-17.066667%2034.133333-34.133333%2034.133333z%20m-162.133334-179.2c76.8%200%20140.8%2064%20140.8%20145.066667%200%208.533333%208.533333%2017.066667%2017.066667%2017.066667s21.333333-8.533333%2021.333333-17.066667c0-68.266667-38.4-128-98.133333-157.866667l-12.8-4.266666%208.533333-8.533334c29.866667-25.6%2042.666667-59.733333%2042.666667-98.133333%200-68.266667-55.466667-128-123.733333-128-68.266667%200-123.733333%2055.466667-123.733334%20128%200%2038.4%2017.066667%2072.533333%2042.666667%2098.133333l8.533333%208.533334c-59.733333%2029.866667-98.133333%2093.866667-98.133333%20157.866666%200%208.533333%208.533333%2017.066667%2017.066667%2017.066667s17.066667-8.533333%2017.066666-17.066667c0-76.8%2064-140.8%20140.8-140.8z%20m0-34.133333c-46.933333%200-89.6-38.4-89.6-89.6%200-51.2%2038.4-89.6%2089.6-89.6s89.6%2038.4%2089.6%2089.6c0%2046.933333-38.4%2089.6-89.6%2089.6z%20m0-162.133333c-38.4%200-72.533333%2034.133333-72.533333%2072.533333%200%2038.4%2029.866667%2072.533333%2072.533333%2072.533333s72.533333-34.133333%2072.533334-72.533333c0-42.666667-29.866667-72.533333-72.533334-72.533333z%22%20fill%3D%22%23A43F3F%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dizhiben3 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dizhiben3%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M838.784%2032.853333c60.16%200%20108.885333%2048.256%20108.885333%20107.818667v742.826667c0%2059.52-48.725333%20107.818667-108.885333%20107.818666H185.301333c-60.16%200-108.928-48.298667-108.928-107.861333V140.672C76.373333%2081.109333%20125.141333%2032.853333%20185.301333%2032.853333h653.482667zM228.864%2098.218667H185.301333c-24.064%200-43.562667%2016.341333-43.562666%2036.522666v754.688c0%2020.181333%2019.498667%2036.522667%2043.52%2036.522667h43.605333v-827.733333z%20m65.322667%200v825.258666h547.328a36.522667%2036.522667%200%200%200%2036.48-35.925333V134.741333a36.522667%2036.522667%200%200%200-36.48-36.522666H294.186667z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M579.541333%20284.458667c105.898667%200%20191.701333%2088.234667%20191.701334%20197.077333a199.381333%20199.381333%200%200%201-52.352%20135.338667l-3.797334%204.010666-101.162666%20104.064c-17.493333%2017.962667-45.653333%2019.285333-64.682667%203.669334l-3.584-3.2-101.632-104.533334-3.84-4.010666a199.424%20199.424%200%200%201-52.309333-135.338667c0-108.842667%2085.802667-197.12%20191.658666-197.12z%20m0%2071.850666c-65.706667%200-119.808%2055.637333-119.808%20125.226667%200%2030.72%2010.538667%2059.434667%2028.714667%2081.365333l4.010667%204.608%203.072%203.285334%2084.053333%2086.357333%2083.285333-85.632%203.114667-3.285333a127.488%20127.488%200%200%200%2033.365333-86.698667c0-69.589333-54.058667-125.226667-119.808-125.226667z%22%20fill%3D%22%23A43F3F%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shezhi2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shezhi2%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M994.133333%20422.4c-4.266667-17.066667-12.8-29.866667-25.6-34.133333l-55.466666-25.6c-46.933333-21.333333-76.8-72.533333-72.533334-123.733334l8.533334-59.733333c0-17.066667-4.266667-29.866667-17.066667-38.4-42.666667-38.4-93.866667-68.266667-153.6-89.6-12.8-4.266667-29.866667-4.266667-42.666667%208.533333l-55.466666%2038.4c-21.333333%2017.066667-46.933333%2021.333333-72.533334%2021.333334s-51.2-8.533333-72.533333-21.333334L388.266667%2051.2c-12.8-8.533333-29.866667-12.8-42.666667-4.266667-55.466667%2017.066667-106.666667%2051.2-153.6%2089.6-12.8%208.533333-17.066667%2025.6-12.8%2038.4l8.533333%2064c0%2051.2-25.6%20102.4-76.8%20123.733334l-55.466666%2025.6c-12.8%204.266667-21.333333%2021.333333-25.6%2034.133333-4.266667%2029.866667-8.533333%2059.733333-8.533334%2089.6s4.266667%2059.733333%208.533334%2089.6c4.266667%2017.066667%2012.8%2029.866667%2025.6%2034.133333l55.466666%2025.6c46.933333%2021.333333%2076.8%2072.533333%2072.533334%20123.733334l-8.533334%2064c0%2012.8%204.266667%2029.866667%2017.066667%2038.4%2042.666667%2038.4%2093.866667%2068.266667%20153.6%2089.6%2012.8%204.266667%2029.866667%204.266667%2042.666667-8.533334l55.466666-38.4c21.333333-17.066667%2046.933333-21.333333%2072.533334-21.333333s51.2%208.533333%2072.533333%2021.333333l55.466667%2038.4c12.8%208.533333%2029.866667%2012.8%2042.666666%208.533334%2055.466667-21.333333%20106.666667-51.2%20153.6-89.6%2012.8-8.533333%2017.066667-25.6%2017.066667-38.4l-8.533333-59.733334c-4.266667-51.2%2021.333333-102.4%2072.533333-123.733333l55.466667-25.6c12.8-4.266667%2025.6-21.333333%2025.6-34.133333%204.266667-29.866667%208.533333-59.733333%208.533333-89.6-8.533333-34.133333-12.8-64-17.066667-93.866667z%20m-46.933333%20170.666667l-55.466667%2025.6c-68.266667%2029.866667-106.666667%2098.133333-98.133333%20174.933333l8.533333%2059.733333c-38.4%2034.133333-85.333333%2064-136.533333%2081.066667l-51.2-38.4c-25.6-17.066667-51.2-29.866667-85.333333-34.133333-42.666667-4.266667-85.333333%204.266667-119.466667%2029.866666l-55.466667%2038.4c-46.933333-17.066667-93.866667-46.933333-136.533333-81.066666l8.533333-59.733334c8.533333-72.533333-34.133333-145.066667-98.133333-174.933333l-55.466667-25.6c-4.266667-25.6-8.533333-55.466667-8.533333-81.066667%200-25.6%204.266667-51.2%208.533333-81.066666L128%20401.066667c68.266667-29.866667%20106.666667-98.133333%2098.133333-174.933334V170.666667c38.4-34.133333%2085.333333-64%20136.533334-81.066667l46.933333%2038.4c25.6%2017.066667%2051.2%2029.866667%2085.333333%2034.133333%2042.666667%204.266667%2085.333333-4.266667%20119.466667-29.866666l55.466667-38.4c46.933333%2017.066667%2093.866667%2046.933333%20136.533333%2081.066666l-8.533333%2059.733334c-8.533333%2072.533333%2034.133333%20145.066667%2098.133333%20174.933333l55.466667%2025.6c4.266667%2025.6%208.533333%2055.466667%208.533333%2081.066667-4.266667%2021.333333-8.533333%2046.933333-12.8%2076.8z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M358.4%20994.133333c-8.533333%200-12.8%200-17.066667-4.266666-59.733333-21.333333-110.933333-51.2-157.866666-93.866667-12.8-12.8-21.333333-29.866667-21.333334-51.2l8.533334-59.733333c4.266667-46.933333-21.333333-93.866667-64-110.933334l-55.466667-25.6c-17.066667-8.533333-29.866667-25.6-34.133333-46.933333-4.266667-29.866667-8.533333-59.733333-8.533334-89.6%200-29.866667%204.266667-59.733333%208.533334-89.6%204.266667-21.333333%2017.066667-38.4%2034.133333-46.933333l55.466667-25.6c42.666667-21.333333%2068.266667-64%2064-110.933334l-4.266667-59.733333c-4.266667-21.333333%204.266667-42.666667%2017.066667-51.2C230.4%2085.333333%20281.6%2055.466667%20341.333333%2034.133333c17.066667-8.533333%2038.4-4.266667%2051.2%208.533334l55.466667%2038.4c38.4%2025.6%2089.6%2025.6%20128%200l51.2-38.4c17.066667-12.8%2034.133333-12.8%2055.466667-8.533334%2059.733333%2021.333333%20110.933333%2051.2%20157.866666%2093.866667%2012.8%2012.8%2021.333333%2029.866667%2021.333334%2051.2L853.333333%20238.933333c-4.266667%2046.933333%2021.333333%2093.866667%2064%20110.933334l55.466667%2025.6c17.066667%208.533333%2029.866667%2025.6%2034.133333%2046.933333%204.266667%2029.866667%208.533333%2059.733333%208.533334%2089.6%200%2029.866667-4.266667%2059.733333-8.533334%2089.6-4.266667%2021.333333-17.066667%2038.4-34.133333%2046.933333l-55.466667%2025.6c-42.666667%2021.333333-68.266667%2064-64%20110.933334l8.533334%2059.733333c0%2021.333333-4.266667%2038.4-21.333334%2051.2-46.933333%2042.666667-98.133333%2072.533333-157.866666%2093.866667-17.066667%208.533333-38.4%204.266667-55.466667-8.533334l-55.466667-38.4c-38.4-25.6-89.6-25.6-128%200l-46.933333%2038.4c-12.8%208.533333-25.6%2012.8-38.4%2012.8z%20m0-938.666666h-8.533333c-55.466667%2021.333333-106.666667%2051.2-149.333334%2089.6-8.533333%208.533333-12.8%2017.066667-8.533333%2029.866666l8.533333%2064c4.266667%2055.466667-29.866667%20110.933333-81.066666%20136.533334l-55.466667%2025.6c-12.8%204.266667-21.333333%2012.8-21.333333%2025.6-4.266667%2029.866667-8.533333%2055.466667-8.533334%2085.333333s4.266667%2055.466667%208.533334%2085.333333c0%2012.8%208.533333%2021.333333%2021.333333%2025.6l55.466667%2025.6c55.466667%2025.6%2085.333333%2081.066667%2081.066666%20136.533334l-8.533333%2064c0%2012.8%204.266667%2021.333333%2012.8%2029.866666%2042.666667%2038.4%2093.866667%2068.266667%20149.333333%2089.6%208.533333%204.266667%2021.333333%200%2029.866667-4.266666l55.466667-38.4c46.933333-34.133333%20110.933333-34.133333%20157.866666%200l55.466667%2038.4c8.533333%208.533333%2021.333333%208.533333%2029.866667%204.266666%2055.466667-21.333333%20102.4-51.2%20149.333333-89.6%208.533333-8.533333%2012.8-17.066667%2012.8-29.866666l-8.533333-59.733334c-8.533333-59.733333%2025.6-115.2%2081.066666-136.533333l55.466667-25.6c8.533333-4.266667%2017.066667-12.8%2021.333333-25.6%204.266667-29.866667%208.533333-55.466667%208.533334-85.333333s-4.266667-55.466667-8.533334-85.333334c0-12.8-8.533333-21.333333-21.333333-25.6l-55.466667-25.6c-55.466667-25.6-85.333333-81.066667-81.066666-136.533333l8.533333-59.733333c0-12.8-4.266667-21.333333-12.8-29.866667-42.666667-38.4-93.866667-68.266667-149.333333-89.6-8.533333-4.266667-21.333333%200-29.866667%204.266667l-55.466667%2038.4c-46.933333%2034.133333-110.933333%2034.133333-157.866666%200l-59.733334-42.666667c-4.266667-4.266667-12.8-8.533333-21.333333-8.533333z%20m4.266667%20891.733333l-8.533334-4.266667C302.933333%20925.866667%20256%20896%20217.6%20861.866667l-4.266667-4.266667%208.533334-68.266667c8.533333-68.266667-29.866667-132.266667-93.866667-162.133333l-59.733333-25.6v-8.533333c-4.266667-29.866667-8.533333-55.466667-8.533334-81.066667s4.266667-55.466667%208.533334-81.066667v-8.533333L128%20396.8c64-25.6%2098.133333-93.866667%2093.866667-162.133333l-12.8-68.266667%204.266666-4.266667C256%20128%20302.933333%2098.133333%20354.133333%2081.066667l8.533334-4.266667%2055.466666%2038.4c25.6%2017.066667%2051.2%2029.866667%2076.8%2034.133333%2038.4%204.266667%2076.8-4.266667%20106.666667-29.866666l59.733333-42.666667%208.533334%204.266667C721.066667%2098.133333%20768%20128%20810.666667%20162.133333l4.266666%204.266667-8.533333%2068.266667c-8.533333%2068.266667%2029.866667%20132.266667%2093.866667%20162.133333l59.733333%2025.6v8.533333c4.266667%2029.866667%208.533333%2055.466667%208.533333%2081.066667%200%2025.6-4.266667%2055.466667-8.533333%2081.066667v8.533333l-64%2025.6c-64%2025.6-98.133333%2093.866667-93.866667%20162.133333l8.533334%2068.266667-4.266667%204.266667c-42.666667%2034.133333-89.6%2064-140.8%2081.066666l-8.533333%204.266667-55.466667-38.4c-25.6-17.066667-51.2-29.866667-76.8-34.133333-38.4-4.266667-76.8%204.266667-106.666667%2029.866666l-55.466666%2042.666667z%20m149.333333-98.133333h21.333333c29.866667%204.266667%2059.733333%2017.066667%2089.6%2038.4l42.666667%2034.133333c42.666667-17.066667%2085.333333-42.666667%20119.466667-72.533333l-4.266667-55.466667c-8.533333-81.066667%2034.133333-153.6%20106.666667-187.733333l51.2-21.333334c4.266667-25.6%204.266667-46.933333%204.266666-72.533333%200-21.333333%200-46.933333-4.266666-72.533333l-51.2-21.333334c-72.533333-34.133333-115.2-106.666667-106.666667-187.733333l4.266667-55.466667c-38.4-29.866667-76.8-55.466667-119.466667-72.533333l-46.933333%2034.133333c-38.4%2025.6-81.066667%2038.4-128%2034.133334-29.866667%200-59.733333-12.8-89.6-34.133334l-42.666667-34.133333c-42.666667%2017.066667-85.333333%2042.666667-119.466667%2072.533333l4.266667%2055.466667c8.533333%2081.066667-34.133333%20153.6-106.666667%20187.733333l-51.2%2021.333334c-4.266667%2025.6-4.266667%2046.933333-4.266666%2072.533333s0%2046.933333%204.266666%2072.533333l51.2%2021.333334c72.533333%2034.133333%20115.2%20106.666667%20106.666667%20187.733333l-4.266667%2055.466667c34.133333%2029.866667%2076.8%2055.466667%20119.466667%2072.533333l46.933333-34.133333c29.866667-29.866667%2068.266667-38.4%20106.666667-38.4z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M512%20721.066667c-115.2%200-204.8-93.866667-204.8-204.8%200-115.2%2093.866667-204.8%20204.8-204.8%20115.2%200%20204.8%2093.866667%20204.8%20204.8%200%20110.933333-89.6%20204.8-204.8%20204.8z%20m0-332.8c-72.533333%200-128%2059.733333-128%20128s59.733333%20128%20128%20128%20128-55.466667%20128-128-55.466667-128-128-128z%22%20fill%3D%22%23A43F3F%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhuanfa2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhuanfa2%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M40.011337%201024A40.009143%2040.009143%200%200%201%200.002194%20984.064C-0.948663%20443.538286%20327.170194%20238.299429%20519.682194%20210.651429V40.009143a40.009143%2040.009143%200%200%201%2067.437715-29.110857l424.301714%20400.237714a40.009143%2040.009143%200%200%201%200%2058.221714l-424.228572%20400.237715a40.009143%2040.009143%200%201%201-67.437714-29.110858l-0.073143-165.522285c-150.820571%2017.188571-341.138286%20128.950857-444.123428%20327.460571A40.082286%2040.082286%200%200%201%2040.011337%201024zM599.70048%20132.754286V247.222857a39.936%2039.936%200%200%201-39.277714%2040.009143c-55.222857%200.950857-177.883429%2032.182857-287.890286%20142.628571-99.035429%2099.474286-161.353143%20238.738286-183.515429%20407.478858%20137.874286-167.277714%20328.850286-244.662857%20470.674286-244.662858%2022.089143%200%2040.009143%2017.92%2040.009143%2039.936v115.126858l325.997714-307.492572-325.997714-307.565714z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zidongtonggao { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zidongtonggao%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m170.666667%200l682.666666%200q170.666667%200%20170.666667%20170.666667l0%20682.666666q0%20170.666667-170.666667%20170.666667l-682.666666%200q-170.666667%200-170.666667-170.666667l0-682.666666q0-170.666667%20170.666667-170.666667Z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M751.342933%20588.9024c23.893333-108.032-27.716267-218.7264-125.44-268.970667A115.677867%20115.677867%200%200%200%20512%20221.866667a115.677867%20115.677867%200%200%200-113.902933%2098.065066A247.739733%20247.739733%200%200%200%20266.922667%20538.282667c0.170667%2017.066667%202.116267%2034.030933%205.768533%2050.653866a116.872533%20116.872533%200%200%200-49.7664%20112.264534%20116.155733%20116.155733%200%200%200%2077.7216%2094.685866%20114.5856%20114.5856%200%200%200%20118.510933-28.501333%20240.64%20240.64%200%200%200%20185.412267%200%20114.5856%20114.5856%200%200%200%20118.510933%2028.8768%20116.155733%20116.155733%200%200%200%2077.960534-94.651733%20116.872533%20116.872533%200%200%200-49.698134-112.366934v-0.3072zM512%20276.2752c31.8464%200%2057.685333%2026.077867%2057.685333%2058.231467s-25.838933%2058.197333-57.685333%2058.197333c-31.8464%200-57.685333-26.043733-57.685333-58.197333%200-15.4624%206.109867-30.242133%2016.930133-41.1648%2010.786133-10.922667%2025.463467-17.066667%2040.7552-17.066667zM339.012267%20742.058667c-31.8464%200-57.685333-26.077867-57.685334-58.231467s25.838933-58.197333%2057.685334-58.197333c31.8464%200%2057.685333%2026.043733%2057.685333%2058.197333%200%2032.1536-25.838933%2058.231467-57.685333%2058.231467z%20m110.148266-25.941334a117.418667%20117.418667%200%200%200%205.188267-32.290133c0-64.3072-51.643733-116.4288-115.370667-116.4288a111.684267%20111.684267%200%200%200-12.0832%200%20189.6448%20189.6448%200%200%201%2080.145067-185.412267%20115.268267%20115.268267%200%200%200%20105.130667%2068.471467%20115.268267%20115.268267%200%200%200%20105.0624-68.471467%20188.8256%20188.8256%200%200%201%2082.193066%20156.330667c-0.136533%209.728-1.024%2019.456-2.594133%2029.0816a111.684267%20111.684267%200%200%200-11.810133%200c-63.726933%200-115.370667%2052.1216-115.370667%20116.4288%200.238933%2010.9568%201.979733%2021.845333%205.2224%2032.324267a191.1808%20191.1808%200%200%201-125.713067%200z%20m235.861334%2025.941334c-31.8464%200-57.685333-26.077867-57.685334-58.231467s25.838933-58.197333%2057.685334-58.197333c31.8464%200%2057.685333%2026.043733%2057.685333%2058.197333%200%2032.1536-25.838933%2058.231467-57.685333%2058.231467z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} diff --git a/assets/iconfont/iconfont.wxss b/assets/iconfont/iconfont.wxss new file mode 100644 index 0000000..869a5d3 --- /dev/null +++ b/assets/iconfont/iconfont.wxss @@ -0,0 +1,1294 @@ +@font-face { + font-family: "iconfont"; /* Project id 2708790 */ + src: url('//at.alicdn.com/t/c/font_2708790_wf39q5p5n5.woff2?t=1695172930420') format('woff2'), + url('//at.alicdn.com/t/c/font_2708790_wf39q5p5n5.woff?t=1695172930420') format('woff'), + url('//at.alicdn.com/t/c/font_2708790_wf39q5p5n5.ttf?t=1695172930420') format('truetype'); +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-jiaobiao:before { + content: "\e8e6"; +} + +.icon-retui:before { + content: "\e8e5"; +} + +.icon-shangjiahoutai:before { + content: "\e8e0"; +} + +.icon-daohang:before { + content: "\e8df"; +} + +.icon-shoucang:before { + content: "\e8dd"; +} + +.icon-yishoucang:before { + content: "\e8de"; +} + +.icon-huadong:before { + content: "\e8dc"; +} + +.icon-shaixuan4:before { + content: "\e8db"; +} + +.icon-shenfenzheng1:before { + content: "\e8da"; +} + +.icon-paizhao3:before { + content: "\e8d9"; +} + +.icon-zizhushangchuan:before { + content: "\e8d5"; +} + +.icon-shoudongshuru:before { + content: "\e8d6"; +} + +.icon-shuashenfenzheng:before { + content: "\e8d8"; +} + +.icon-shouji1:before { + content: "\e8d7"; +} + +.icon-jinxuan:before { + content: "\e8d4"; +} + +.icon-wei:before { + content: "\e8d3"; +} + +.icon-tuandui:before { + content: "\e8d2"; +} + +.icon-shenqingchengweidaili:before { + content: "\e8d1"; +} + +.icon-nv3:before { + content: "\e8cf"; +} + +.icon-nan3:before { + content: "\e8d0"; +} + +.icon-weixin5:before { + content: "\e8ca"; +} + +.icon-dianhua:before { + content: "\e8cb"; +} + +.icon-qingkong1:before { + content: "\e8cd"; +} + +.icon-yigezhuanmenfuwudailidepingtai:before { + content: "\e8ce"; +} + +.icon-qiyeweixin:before { + content: "\e8cc"; +} + +.icon-weiguanzhu:before { + content: "\e8c8"; +} + +.icon-yiguanzhu:before { + content: "\e8c9"; +} + +.icon-yirenzheng:before { + content: "\e8c7"; +} + +.icon-zanting:before { + content: "\e8c1"; +} + +.icon-jia11:before { + content: "\e8c2"; +} + +.icon-jian:before { + content: "\e8c3"; +} + +.icon-kaishi:before { + content: "\e8c4"; +} + +.icon-xiangyou1:before { + content: "\e8c5"; +} + +.icon-xiangzuo1:before { + content: "\e8c6"; +} + +.icon-tianjia3:before { + content: "\e8c0"; +} + +.icon-shaixuan1:before { + content: "\e8bf"; +} + +.icon-shanchu2:before { + content: "\e8be"; +} + +.icon-dangqianzhuangtai:before { + content: "\e8bd"; +} + +.icon-gengxinshijian:before { + content: "\e8b9"; +} + +.icon-wanzhengdu:before { + content: "\e8ba"; +} + +.icon-gengxinshijian1:before { + content: "\e8bb"; +} + +.icon-wanzhengdu1:before { + content: "\e8bc"; +} + +.icon-hanshujiagong:before { + content: "\e8b5"; +} + +.icon-jinriretui:before { + content: "\e8b6"; +} + +.icon-shixisheng:before { + content: "\e8b7"; +} + +.icon-shehuigong:before { + content: "\e8b8"; +} + +.icon-beizhu:before { + content: "\e8a5"; +} + +.icon-gantan:before { + content: "\e89d"; +} + +.icon-zidongtonggao:before { + content: "\e8b4"; +} + +.icon-yilizhi:before { + content: "\e8ad"; +} + +.icon-yijiedao:before { + content: "\e8ae"; +} + +.icon-baomingchenggong:before { + content: "\e8af"; +} + +.icon-ruzhichenggong:before { + content: "\e8b0"; +} + +.icon-yuyuelizhi:before { + content: "\e8b1"; +} + +.icon-shenhezhong:before { + content: "\e8b2"; +} + +.icon-mianshitongguo:before { + content: "\e8b3"; +} + +.icon-zhuanfa2:before { + content: "\e8aa"; +} + +.icon-dianzan:before { + content: "\e8ab"; +} + +.icon-yinhangka2:before { + content: "\e8a6"; +} + +.icon-zhengjian1:before { + content: "\e8a7"; +} + +.icon-dizhiben3:before { + content: "\e8a8"; +} + +.icon-shezhi2:before { + content: "\e8a9"; +} + +.icon-zhuchangtong1:before { + content: "\e8a3"; +} + +.icon-bocai:before { + content: "\e8a4"; +} + +.icon-daotian2:before { + content: "\e8a0"; +} + +.icon-nazha1:before { + content: "\e8a1"; +} + +.icon-xiniu1:before { + content: "\e8a2"; +} + +.icon-xiniu:before { + content: "\e89f"; +} + +.icon-daotian1:before { + content: "\e89e"; +} + +.icon-shujutongji1:before { + content: "\e89c"; +} + +.icon-yuanquan:before { + content: "\e899"; +} + +.icon-luban:before { + content: "\e89a"; +} + +.icon-zhaogonghezi:before { + content: "\e89b"; +} + +.icon-lianjie:before { + content: "\e898"; +} + +.icon-tonggaoquan:before { + content: "\e897"; +} + +.icon-yulan:before { + content: "\e896"; +} + +.icon-dianhua8:before { + content: "\e894"; +} + +.icon-shenfenzheng4:before { + content: "\e895"; +} + +.icon-dianhua7:before { + content: "\e892"; +} + +.icon-shenfenzheng3:before { + content: "\e893"; +} + +.icon-dianhua6:before { + content: "\e891"; +} + +.icon-shenfenzheng2:before { + content: "\e890"; +} + +.icon-gengduo1:before { + content: "\e617"; +} + +.icon-paizhao2:before { + content: "\e88f"; +} + +.icon-shanchu1:before { + content: "\e88e"; +} + +.icon-shijian:before { + content: "\e88b"; +} + +.icon-youjindaoyuan:before { + content: "\e88c"; +} + +.icon-youyuandaojin:before { + content: "\e88d"; +} + +.icon-xiala-zuijin:before { + content: "\e88a"; +} + +.icon-bianji:before { + content: "\e887"; +} + +.icon-shouqi1:before { + content: "\e888"; +} + +.icon-fujian:before { + content: "\e889"; +} + +.icon-shujutongji:before { + content: "\e886"; +} + +.icon-fuzhi:before { + content: "\e884"; +} + +.icon-qitadizhi:before { + content: "\e883"; +} + +.icon-qingkong:before { + content: "\e881"; +} + +.icon-shanchu:before { + content: "\e882"; +} + +.icon-zhuchangxinxi:before { + content: "\e880"; +} + +.icon-sushe:before { + content: "\e87e"; +} + +.icon-hesuan:before { + content: "\e87d"; +} + +.icon-tijian:before { + content: "\e87f"; +} + +.icon-guanbi11:before { + content: "\e87c"; +} + +.icon-duoxuan:before { + content: "\e877"; +} + +.icon-duoxuan1:before { + content: "\e878"; +} + +.icon-wodegongdan1:before { + content: "\e871"; +} + +.icon-xiangmuzhiwei:before { + content: "\e872"; +} + +.icon-xiangmutonggao:before { + content: "\e873"; +} + +.icon-wodelaoxiang3:before { + content: "\e874"; +} + +.icon-xiangmutongzhi:before { + content: "\e875"; +} + +.icon-wodexiangmu1:before { + content: "\e876"; +} + +.icon-wodebaoming1:before { + content: "\e86b"; +} + +.icon-dailishuju:before { + content: "\e86c"; +} + +.icon-wodedaili:before { + content: "\e86d"; +} + +.icon-xiezhubaoming:before { + content: "\e86e"; +} + +.icon-wodelaoxiang1:before { + content: "\e86f"; +} + +.icon-chuangjiandaili1:before { + content: "\e870"; +} + +.icon-ziying3:before { + content: "\e869"; +} + +.icon-sanfang2:before { + content: "\e86a"; +} + +.icon-dagou:before { + content: "\e865"; +} + +.icon-gongsizhengce:before { + content: "\e85f"; +} + +.icon-xinrenzhinan1:before { + content: "\e864"; +} + +.icon-qudaoguanjia:before { + content: "\e85b"; +} + +.icon-guanyuwomen3:before { + content: "\e85d"; +} + +.icon-boyinglian:before { + content: "\e85c"; +} + +.icon-bocaiyouren:before { + content: "\e85e"; +} + +.icon-nazha:before { + content: "\e860"; +} + +.icon-daotian:before { + content: "\e861"; +} + +.icon-zhuchangtong:before { + content: "\e862"; +} + +.icon-fachebao:before { + content: "\e866"; +} + +.icon-jiesuanzhushou:before { + content: "\e867"; +} + +.icon-xuanzhong4:before { + content: "\e857"; +} + +.icon-weixuanzhong4:before { + content: "\e858"; +} + +.icon-xuanzhong12:before { + content: "\e859"; +} + +.icon-biyan1:before { + content: "\e713"; +} + +.icon-nan2:before { + content: "\e71b"; +} + +.icon-tijiaochenggong2:before { + content: "\e71c"; +} + +.icon-nv2:before { + content: "\e71d"; +} + +.icon-dianhuadibulan:before { + content: "\e71e"; +} + +.icon-weixin4:before { + content: "\e71f"; +} + +.icon-dianhuadibulan-dianji:before { + content: "\e720"; +} + +.icon-xiala2:before { + content: "\e725"; +} + +.icon-kefu3:before { + content: "\e727"; +} + +.icon-wode-xuanzhong:before { + content: "\e728"; +} + +.icon-zhuanfa1:before { + content: "\e72b"; +} + +.icon-dianhua5:before { + content: "\e72c"; +} + +.icon-weixindibulan-dianji:before { + content: "\e72d"; +} + +.icon-youhuiquan1:before { + content: "\e72e"; +} + +.icon-yinhangka1:before { + content: "\e730"; +} + +.icon-shoucangdibulan-dianji:before { + content: "\e731"; +} + +.icon-zhengyan1:before { + content: "\e735"; +} + +.icon-shoucangdibulan:before { + content: "\e729"; +} + +.icon-weixindibulan:before { + content: "\e733"; +} + +.icon-wode2:before { + content: "\e72a"; +} + +.icon-daichuli2:before { + content: "\e73b"; +} + +.icon-yichuli1:before { + content: "\e73e"; +} + +.icon-xiezhubaoming1:before { + content: "\e73f"; +} + +.icon-weixuanzhong3:before { + content: "\e742"; +} + +.icon-xuanzhong3:before { + content: "\e743"; +} + +.icon-xiala11:before { + content: "\e744"; +} + +.icon-duihao2:before { + content: "\e745"; +} + +.icon-weizaizhilaoxiang1:before { + content: "\e746"; +} + +.icon-tianjia2:before { + content: "\e747"; +} + +.icon-xuanzhong-dizhi:before { + content: "\e74a"; +} + +.icon-weixuanzhong-dizhi:before { + content: "\e74b"; +} + +.icon-qita:before { + content: "\e74c"; +} + +.icon-gongsi1:before { + content: "\e74d"; +} + +.icon-jia1:before { + content: "\e74e"; +} + +.icon-dingwei1:before { + content: "\e74f"; +} + +.icon-zhanghuyue1:before { + content: "\e750"; +} + +.icon-jiazai-danchuang:before { + content: "\e751"; +} + +.icon-shibai-danchuang:before { + content: "\e752"; +} + +.icon-chenggong-danchuang:before { + content: "\e755"; +} + +.icon-baisegengduo:before { + content: "\e758"; +} + +.icon-dizhi11:before { + content: "\e759"; +} + +.icon-gengduo11:before { + content: "\e75a"; +} + +.icon-xuanzhong11:before { + content: "\e7b5"; +} + +.icon-weixuanzhong11:before { + content: "\e7b6"; +} + +.icon-weixin12:before { + content: "\e634"; +} + +.icon-morentouxiang:before { + content: "\e605"; +} + +.icon-dizhiben2:before { + content: "\e7fe"; +} + +.icon-shezhi1:before { + content: "\e805"; +} + +.icon-biyan11:before { + content: "\e807"; +} + +.icon-zhengyan11:before { + content: "\e808"; +} + +.icon-zhuyi:before { + content: "\e809"; +} + +.icon-fenxiang:before { + content: "\e80b"; +} + +.icon-shipin:before { + content: "\e80d"; +} + +.icon-paizhao:before { + content: "\e80e"; +} + +.icon-ludan1:before { + content: "\e80f"; +} + +.icon-chengyuanguanli:before { + content: "\e812"; +} + +.icon-ziying12:before { + content: "\e817"; +} + +.icon-quanbu1:before { + content: "\e821"; +} + +.icon-chuangjianren1:before { + content: "\e822"; +} + +.icon-guanliyuan1:before { + content: "\e823"; +} + +.icon-chengyuan1:before { + content: "\e824"; +} + +.icon-lajitong:before { + content: "\e856"; +} + +.icon-guanliyuan:before { + content: "\e855"; +} + +.icon-chuangjianren:before { + content: "\e854"; +} + +.icon-chengyuan:before { + content: "\e853"; +} + +.icon-nv1:before { + content: "\e852"; +} + +.icon-mendian:before { + content: "\e84f"; +} + +.icon-tongye:before { + content: "\e850"; +} + +.icon-yiye:before { + content: "\e851"; +} + +.icon-nan1:before { + content: "\e844"; +} + +.icon-wodexiangmu:before { + content: "\e841"; +} + +.icon-wodetonggao:before { + content: "\e842"; +} + +.icon-wodegongdan:before { + content: "\e843"; +} + +.icon-qudaohezuo:before { + content: "\e83b"; +} + +.icon-zhuchang:before { + content: "\e83e"; +} + +.icon-xiangce:before { + content: "\e810"; +} + +.icon-ludan:before { + content: "\e840"; +} + +.icon-paizhao1:before { + content: "\e83f"; +} + +.icon-weizaizhilaoxiang:before { + content: "\e834"; +} + +.icon-zhankai:before { + content: "\e819"; +} + +.icon-shouqi:before { + content: "\e81c"; +} + +.icon-qiye:before { + content: "\e81a"; +} + +.icon-mianshi:before { + content: "\e826"; +} + +.icon-jieren:before { + content: "\e81b"; +} + +.icon-shenfenzheng:before { + content: "\e830"; +} + +.icon-zhankai2:before { + content: "\e82e"; +} + +.icon-xiala1:before { + content: "\e82f"; +} + +.icon-quanbu:before { + content: "\e827"; +} + +.icon-dianhua-gongdan:before { + content: "\e740"; +} + +.icon-gengduo:before { + content: "\e717"; +} + +.icon-sousuo1:before { + content: "\e721"; +} + +.icon-qingchu1:before { + content: "\e723"; +} + +.icon-dianhua-gongdanxiangqing:before { + content: "\e753"; +} + +.icon-xiangzuo:before { + content: "\e754"; +} + +.icon-weixin3:before { + content: "\e600"; +} + +.icon-duihao1:before { + content: "\e7fa"; +} + +.icon-jingshi:before { + content: "\e7f9"; +} + +.icon-shuaxin:before { + content: "\e7f7"; +} + +.icon-xinrenzhinan:before { + content: "\e7d3"; +} + +.icon-guanyuwomen2:before { + content: "\e7d4"; +} + +.icon-shouji:before { + content: "\e7b4"; +} + +.icon-rili:before { + content: "\e7b1"; +} + +.icon-zanwu:before { + content: "\e6ec"; +} + +.icon-dianhua4:before { + content: "\e6e6"; +} + +.icon-chakangengduo:before { + content: "\e6eb"; +} + +.icon-guanbi1:before { + content: "\e6e7"; +} + +.icon-yinhangka-ka:before { + content: "\e6e4"; +} + +.icon-weixin-bg:before { + content: "\e6e5"; +} + +.icon-yinhangka-bg:before { + content: "\e6e2"; +} + +.icon-weixin-ka:before { + content: "\e6e3"; +} + +.icon-tianjia1:before { + content: "\e6b7"; +} + +.icon-fuzhi1:before { + content: "\e613"; +} + +.icon-jiazai:before { + content: "\e6a1"; +} + +.icon-tishi:before { + content: "\e6a2"; +} + +.icon-tijiaochenggong11:before { + content: "\e6a3"; +} + +.icon-tianjia11:before { + content: "\e6a4"; +} + +.icon-weixin2:before { + content: "\e6a5"; +} + +.icon-zhengyan:before { + content: "\e6a8"; +} + +.icon-duihao:before { + content: "\e6a9"; +} + +.icon-guanbi:before { + content: "\e6aa"; +} + +.icon-xuanzhong1:before { + content: "\e6ab"; +} + +.icon-weixuanzhong1:before { + content: "\e6ac"; +} + +.icon-dingwei:before { + content: "\e6ae"; +} + +.icon-gongsi:before { + content: "\e6af"; +} + +.icon-xuexiao:before { + content: "\e6b0"; +} + +.icon-xiangyou:before { + content: "\e6b1"; +} + +.icon-jia:before { + content: "\e6b2"; +} + +.icon-chenggong:before { + content: "\e6b3"; +} + +.icon-shibai1:before { + content: "\e6b4"; +} + +.icon-jiazai2:before { + content: "\e6b5"; +} + +.icon-chuangjiandaili:before { + content: "\e6bd"; +} + +.icon-zhengjian:before { + content: "\e6bf"; +} + +.icon-dizhiben:before { + content: "\e6c0"; +} + +.icon-shezhi:before { + content: "\e6c1"; +} + +.icon-yinhangka:before { + content: "\e6c3"; +} + +.icon-nan:before { + content: "\e6c4"; +} + +.icon-nv:before { + content: "\e6c5"; +} + +.icon-biyan:before { + content: "\e6c9"; +} + +.icon-chefeibaoxiao:before { + content: "\e6ca"; +} + +.icon-dizhiben1:before { + content: "\e6cb"; +} + +.icon-wodebaoming:before { + content: "\e6cc"; +} + +.icon-gongzitiao1:before { + content: "\e6cd"; +} + +.icon-youhuiquan:before { + content: "\e6ce"; +} + +.icon-wodejianli1:before { + content: "\e6d0"; +} + +.icon-dangqiangongzuo:before { + content: "\e6d1"; +} + +.icon-hetong:before { + content: "\e6d2"; +} + +.icon-dianhua3:before { + content: "\e6d7"; +} + +.icon-feiyongbaoxiao:before { + content: "\e6d8"; +} + +.icon-zhanghuyue:before { + content: "\e6ad"; +} + +.icon-weixin11:before { + content: "\e698"; +} + +.icon-baoming:before { + content: "\e681"; +} + +.icon-tijiaochenggong1:before { + content: "\e667"; +} + +.icon-mingxiyoujiantou:before { + content: "\e66a"; +} + +.icon-shimingrenzheng:before { + content: "\e66b"; +} + +.icon-tuiguangmingxi-mianxing:before { + content: "\e66c"; +} + +.icon-tianjia:before { + content: "\e66d"; +} + +.icon-wode-mianxing:before { + content: "\e66e"; +} + +.icon-wode1:before { + content: "\e670"; +} + +.icon-you:before { + content: "\e671"; +} + +.icon-xiayiye:before { + content: "\e65e"; +} + +.icon-kefu2:before { + content: "\e65d"; +} + +.icon-weixin:before { + content: "\e647"; +} + +.icon-liebiaoyishoucang1:before { + content: "\e645"; +} + +.icon-liebiaoshoucang1:before { + content: "\e646"; +} + +.icon-kefu1:before { + content: "\e644"; +} + +.icon-wode-red:before { + content: "\e638"; +} + +.icon-dianhua-red1:before { + content: "\e628"; +} + +.icon-dianhua2:before { + content: "\e62a"; +} + +.icon-kefu:before { + content: "\e62b"; +} + +.icon-liebiaoweishoucang:before { + content: "\e62d"; +} + +.icon-sousuo:before { + content: "\e62e"; +} + +.icon-shaixuan:before { + content: "\e62f"; +} + +.icon-shoucang-red:before { + content: "\e630"; +} + +.icon-tijiaochenggong:before { + content: "\e631"; +} + +.icon-weixin-red:before { + content: "\e632"; +} + +.icon-liebiaoyishoucang:before { + content: "\e633"; +} + +.icon-weixuanzhong:before { + content: "\e635"; +} + +.icon-xiala:before { + content: "\e636"; +} + +.icon-wode-shoucang:before { + content: "\e637"; +} + +.icon-weixin1:before { + content: "\e63a"; +} + +.icon-zhuanfa:before { + content: "\e63c"; +} + +.icon-wode:before { + content: "\e63e"; +} + +.icon-xuanzhong:before { + content: "\e641"; +} + +.icon-dianhua-red:before { + content: "\e61f"; +} + +.icon-dianhua1:before { + content: "\e61e"; +} + +.icon-message:before { + content: "\e690"; +} + +.icon-xiayiye1:before { + content: "\e695"; +} diff --git a/assets/images/back.png b/assets/images/back.png new file mode 100644 index 0000000..c4624b9 Binary files /dev/null and b/assets/images/back.png differ diff --git a/assets/images/bclogo.png b/assets/images/bclogo.png new file mode 100644 index 0000000..26465a6 Binary files /dev/null and b/assets/images/bclogo.png differ diff --git a/assets/images/biao.svg b/assets/images/biao.svg new file mode 100644 index 0000000..f333411 --- /dev/null +++ b/assets/images/biao.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/biao1.svg b/assets/images/biao1.svg new file mode 100644 index 0000000..14af3c3 --- /dev/null +++ b/assets/images/biao1.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/biaog.svg b/assets/images/biaog.svg new file mode 100644 index 0000000..a40a061 --- /dev/null +++ b/assets/images/biaog.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/bmz.svg b/assets/images/bmz.svg new file mode 100644 index 0000000..b7ba9aa --- /dev/null +++ b/assets/images/bmz.svg @@ -0,0 +1,42 @@ + + + + +报名中 + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/border-circle.svg b/assets/images/border-circle.svg new file mode 100644 index 0000000..9335af1 --- /dev/null +++ b/assets/images/border-circle.svg @@ -0,0 +1,13 @@ + + + 选中 + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/dh.svg b/assets/images/dh.svg new file mode 100644 index 0000000..2e3b39a --- /dev/null +++ b/assets/images/dh.svg @@ -0,0 +1,48 @@ + + + + +电话 + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/dh1.svg b/assets/images/dh1.svg new file mode 100644 index 0000000..4159669 --- /dev/null +++ b/assets/images/dh1.svg @@ -0,0 +1,49 @@ + + + + +电话 + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/dms.svg b/assets/images/dms.svg new file mode 100644 index 0000000..0c6b9b4 --- /dev/null +++ b/assets/images/dms.svg @@ -0,0 +1,52 @@ + + + + +待面试 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/drz.svg b/assets/images/drz.svg new file mode 100644 index 0000000..177f8ad --- /dev/null +++ b/assets/images/drz.svg @@ -0,0 +1,25 @@ + + + + +待入职 + + + + + diff --git a/assets/images/dtlogo.svg b/assets/images/dtlogo.svg new file mode 100644 index 0000000..274c923 --- /dev/null +++ b/assets/images/dtlogo.svg @@ -0,0 +1,14 @@ + + + 职位云logo + + + + + + + + \ No newline at end of file diff --git a/assets/images/dzb.svg b/assets/images/dzb.svg new file mode 100644 index 0000000..076e923 --- /dev/null +++ b/assets/images/dzb.svg @@ -0,0 +1,17 @@ + + + 地址本 + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/face.png b/assets/images/face.png new file mode 100644 index 0000000..6602dcd Binary files /dev/null and b/assets/images/face.png differ diff --git a/assets/images/gj.png b/assets/images/gj.png new file mode 100644 index 0000000..fe6987a Binary files /dev/null and b/assets/images/gj.png differ diff --git a/assets/images/gj1.png b/assets/images/gj1.png new file mode 100644 index 0000000..e59d3f6 Binary files /dev/null and b/assets/images/gj1.png differ diff --git a/assets/images/guanzhu.png b/assets/images/guanzhu.png new file mode 100644 index 0000000..5040c29 Binary files /dev/null and b/assets/images/guanzhu.png differ diff --git a/assets/images/guanzhu1.png b/assets/images/guanzhu1.png new file mode 100644 index 0000000..27e7d2e Binary files /dev/null and b/assets/images/guanzhu1.png differ diff --git a/assets/images/gzt.png b/assets/images/gzt.png new file mode 100644 index 0000000..931459d Binary files /dev/null and b/assets/images/gzt.png differ diff --git a/assets/images/gzt1.png b/assets/images/gzt1.png new file mode 100644 index 0000000..b51b677 Binary files /dev/null and b/assets/images/gzt1.png differ diff --git a/assets/images/idCard.png b/assets/images/idCard.png new file mode 100644 index 0000000..90df220 Binary files /dev/null and b/assets/images/idCard.png differ diff --git a/assets/images/jian.svg b/assets/images/jian.svg new file mode 100644 index 0000000..dca86a9 --- /dev/null +++ b/assets/images/jian.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/jian1.svg b/assets/images/jian1.svg new file mode 100644 index 0000000..0e4f81a --- /dev/null +++ b/assets/images/jian1.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/jiang.svg b/assets/images/jiang.svg new file mode 100644 index 0000000..247abcb --- /dev/null +++ b/assets/images/jiang.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/kxz.svg b/assets/images/kxz.svg new file mode 100644 index 0000000..d07e28e --- /dev/null +++ b/assets/images/kxz.svg @@ -0,0 +1,113 @@ + + + + +空闲中 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/logoColumn.svg b/assets/images/logoColumn.svg new file mode 100644 index 0000000..2bd8640 --- /dev/null +++ b/assets/images/logoColumn.svg @@ -0,0 +1 @@ +职位云logo \ No newline at end of file diff --git a/assets/images/logoColumn1.svg b/assets/images/logoColumn1.svg new file mode 100644 index 0000000..d8e28f6 --- /dev/null +++ b/assets/images/logoColumn1.svg @@ -0,0 +1,59 @@ + + + logo-竖排 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/miniphone.png b/assets/images/miniphone.png new file mode 100644 index 0000000..6c3b1e0 Binary files /dev/null and b/assets/images/miniphone.png differ diff --git a/assets/images/phone.png b/assets/images/phone.png new file mode 100644 index 0000000..f54d8de Binary files /dev/null and b/assets/images/phone.png differ diff --git a/assets/images/pz.svg b/assets/images/pz.svg new file mode 100644 index 0000000..1632bf6 --- /dev/null +++ b/assets/images/pz.svg @@ -0,0 +1,48 @@ + + + + +拍照 + + + + + + + + + + + + + + + + + diff --git a/assets/images/qrcode.png b/assets/images/qrcode.png new file mode 100644 index 0000000..19587c6 Binary files /dev/null and b/assets/images/qrcode.png differ diff --git a/assets/images/sc.svg b/assets/images/sc.svg new file mode 100644 index 0000000..3f0a865 --- /dev/null +++ b/assets/images/sc.svg @@ -0,0 +1,21 @@ + + + 收藏 + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/sy.png b/assets/images/sy.png new file mode 100644 index 0000000..1532e22 Binary files /dev/null and b/assets/images/sy.png differ diff --git a/assets/images/sy1.png b/assets/images/sy1.png new file mode 100644 index 0000000..41bb373 Binary files /dev/null and b/assets/images/sy1.png differ diff --git a/assets/images/sz.svg b/assets/images/sz.svg new file mode 100644 index 0000000..4dee4b8 --- /dev/null +++ b/assets/images/sz.svg @@ -0,0 +1,63 @@ + + + + +设置 + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/wd.png b/assets/images/wd.png new file mode 100644 index 0000000..6698bbc Binary files /dev/null and b/assets/images/wd.png differ diff --git a/assets/images/wd1.png b/assets/images/wd1.png new file mode 100644 index 0000000..581f2d8 Binary files /dev/null and b/assets/images/wd1.png differ diff --git a/assets/images/wdbm.svg b/assets/images/wdbm.svg new file mode 100644 index 0000000..17955e1 --- /dev/null +++ b/assets/images/wdbm.svg @@ -0,0 +1,57 @@ + + + + +我的报名 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/wdlx.svg b/assets/images/wdlx.svg new file mode 100644 index 0000000..d6215f4 --- /dev/null +++ b/assets/images/wdlx.svg @@ -0,0 +1,57 @@ + + + + +我的老乡 + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/xx.png b/assets/images/xx.png new file mode 100644 index 0000000..84ad246 Binary files /dev/null and b/assets/images/xx.png differ diff --git a/assets/images/xx1.png b/assets/images/xx1.png new file mode 100644 index 0000000..85b0122 Binary files /dev/null and b/assets/images/xx1.png differ diff --git a/assets/images/yhk.svg b/assets/images/yhk.svg new file mode 100644 index 0000000..7178f2c --- /dev/null +++ b/assets/images/yhk.svg @@ -0,0 +1,37 @@ + + + + +银行卡 + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/ysd.png b/assets/images/ysd.png new file mode 100644 index 0000000..1ea21f6 Binary files /dev/null and b/assets/images/ysd.png differ diff --git a/assets/images/ysd1.png b/assets/images/ysd1.png new file mode 100644 index 0000000..d5d0ad6 Binary files /dev/null and b/assets/images/ysd1.png differ diff --git a/assets/images/ysd11.png b/assets/images/ysd11.png new file mode 100644 index 0000000..7f1c85c Binary files /dev/null and b/assets/images/ysd11.png differ diff --git a/assets/images/ysd12.png b/assets/images/ysd12.png new file mode 100644 index 0000000..84f7336 Binary files /dev/null and b/assets/images/ysd12.png differ diff --git a/assets/images/ysd2.png b/assets/images/ysd2.png new file mode 100644 index 0000000..20e6308 Binary files /dev/null and b/assets/images/ysd2.png differ diff --git a/assets/images/ysd3.png b/assets/images/ysd3.png new file mode 100644 index 0000000..758a17e Binary files /dev/null and b/assets/images/ysd3.png differ diff --git a/assets/images/ywc.svg b/assets/images/ywc.svg new file mode 100644 index 0000000..b9642e0 --- /dev/null +++ b/assets/images/ywc.svg @@ -0,0 +1,62 @@ + + + + +已完成 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/zj.svg b/assets/images/zj.svg new file mode 100644 index 0000000..6512bfd --- /dev/null +++ b/assets/images/zj.svg @@ -0,0 +1,51 @@ + + + + +证件 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/zw.png b/assets/images/zw.png new file mode 100644 index 0000000..92a0924 Binary files /dev/null and b/assets/images/zw.png differ diff --git a/assets/images/zw1.png b/assets/images/zw1.png new file mode 100644 index 0000000..73d4390 Binary files /dev/null and b/assets/images/zw1.png differ diff --git a/assets/images/zz.svg b/assets/images/zz.svg new file mode 100644 index 0000000..9cf3782 --- /dev/null +++ b/assets/images/zz.svg @@ -0,0 +1,64 @@ + + + + +在职 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/zzz.svg b/assets/images/zzz.svg new file mode 100644 index 0000000..beef64d --- /dev/null +++ b/assets/images/zzz.svg @@ -0,0 +1,39 @@ + + + + +在职中 + + + + + + + + + + + + + + + + + + diff --git a/common.wxs b/common.wxs new file mode 100644 index 0000000..a1e4389 --- /dev/null +++ b/common.wxs @@ -0,0 +1,402 @@ +var formatDateYYYYMMDDHHMM = function (time) { + var date = getDate(time); + var m = date.getMonth() + 1; + if(m < 10) { + m = "0" + m; + } + var d = date.getDate(); + if(d < 10) { + d = "0" + d; + } + var h = date.getHours(); + if(h < 10) { + h = "0" + h; + } + var mm = date.getMinutes(); + if(mm < 10) { + mm = "0" + mm; + } + return date.getFullYear() + '-' + m + '-' + d + ' ' + h + ':' + mm; +} +var formatDateYYYYMMDD = function (time) { + var date = getDate(time); + var m = date.getMonth() + 1; + if(m < 10) { + m = "0" + m; + } + var d = date.getDate(); + if(d < 10) { + d = "0" + d; + } + return date.getFullYear() + '-' + m + '-' + d; +} +var formatDateYYYYMMDD2 = function (time) { + var date = getDate(time); + var m = date.getMonth() + 1; + if(m < 10) { + m = "0" + m; + } + var d = date.getDate(); + if(d < 10) { + d = "0" + d; + } + return date.getFullYear() + '/' + m + '/' + d; +} +var formatDateMMSS = function (time) { + return (getDate(time).getHours() > 9 ? getDate(time).getHours() : '0' + getDate(time).getHours()) + ':' + (getDate(time).getMinutes() > 9 ? getDate(time).getMinutes() : '0' + getDate(time).getMinutes()); +} + +var showClockResult = function (confirmStatus, confirmReason) { + temp = ""; + if (confirmStatus == 0) { + temp = "未出勤"; + } else if (confirmStatus == 1) { + temp = "出勤半天"; + } else if (confirmStatus == 2) { + temp = "出勤一天"; + } + if (confirmReason == 0) { + temp = temp + " 休息"; + } else if (confirmReason == 1) { + temp = temp + " 请假"; + } + return temp; +} + +var showClockResult2 = function (reason) { + temp = "未出勤 "; + if (reason == 0) { + temp += "休息"; + } else if (reason == 1) { + temp += "请假"; + } + return temp; +} + + +var showWorkState = function(followNewState, appraiserState) { + var res = ""; + if (appraiserState === 0) { + res = "未鉴定"; + } else if (appraiserState == 1) { + res = "待鉴定"; + } else if (appraiserState == 2) { + res = "已鉴定"; + } + + var temp = ""; + switch(followNewState) { + case 10 : + temp = "已预约"; + break; + case 20 : + temp = "待面试"; + break ; + case 30 : + temp = "待入职"; + break ; + case 40 : + temp = "在职中"; + break ; + case 50 : + temp = "已离职"; + break ; + case 60 : + temp = "关闭期望"; + break ; + default : + temp = res; + } + return temp; +} + +showSourceName = function (intervieweeSource) { + var result = ''; + switch (intervieweeSource) { + case 0 : + result = '58'; + break; + case 5 : + result = '赶集'; + break; + case 6 : + result = '打勾网预约'; + break; + case 1 : + result = '推广军推荐'; + break; + case 2 : + result = '御林军推荐'; + break; + case 3 : + result = '会员推荐'; + break; + case 4 : + result = '其它'; + break; + default: + break; + } + return result; +} + +initHopePositionType = function(type) { + var res = ''; + if(isNotEmptyCheck(type)) { + switch (type) { + case 1 : + res = '全职'; + break; + case 2 : + res = '兼职'; + break; + case 3 : + res = '小时工'; + break; + } + } + return res; +} + +/** + * 如果是null '' 'null' 'undefined' + * @param item + * @returns + */ +function isEmptyCheck(value) { + if(value == null || value === '' || value == 'null' || typeof(value)=="undefined") { + return true; + } + return false; +} +/** + * 如果不是是null '' 'null' 'undefined' + * @param item + * @returns + */ +function isNotEmptyCheck(value) { + return !isEmptyCheck(value); +} + +function showNotNullStr(value) { + return value == null ? '' : value; +} + +function showNotNullNum(value) { + return value == null || value == '' ? 0 : value; +} + +function showStoreAddress(township, distance) { + + result = ''; + if (!isEmptyCheck(township) && !isEmptyCheck(distance)) { + if (distance >= 1000) { + distance = distance / 1000; + return township + '·' + parseInt(distance) + '千米'; + } else { + return township + '·' + distance + '米'; + } + } else if (!isEmptyCheck(township) && isEmptyCheck(distance)) { + result = township; + } else if (isEmptyCheck(township) && !isEmptyCheck(distance)) { + if (distance >= 1000) { + distance = distance / 1000; + result = parseInt(distance) + '千米'; + } else { + result = distance + '米'; + } + + + } + return result; +} + + +function initDormType(_type) { + var temp = ""; + switch (_type) { + case 0: + temp = "有宿舍"; + break; + case 1: + temp = "男有宿舍"; + break; + case 2: + temp = "女有宿舍"; + break; + case 3: + temp = "无宿舍"; + break; + } + return temp; +} + +function timeago(timestamp) { + var mistiming = Math.round((getDate().getTime() - timestamp) / 1000); + + var arrr = ['年', '个月', '天', '小时', '分钟', '秒']; + var arrn = [31536000, 2592000, 86400, 3600, 60, 1]; + var str = ""; + for (var i = 0; i < 6; ++i) { + var inm = Math.floor(mistiming / arrn[i]); + if(inm > 0) { + str = inm + arrr[i] + '前'; + break; + } else if (inm < 0) { + str = '1秒前'; + break; + } + } + if(str == "") { + str = '1秒前'; + } + return str; +} + + +function timeafter(timestamp) { + var mistiming = Math.round((timestamp - getDate().getTime()) / 1000); + + var arrr = ['年', '个月', '天', '小时', '分钟', '秒']; + var arrn = [31536000, 2592000, 86400, 3600, 60, 1]; + var str = ""; + for (var i = 0; i < 6; ++i) { + var inm = Math.floor(mistiming / arrn[i]); + if(inm > 0) { + str = inm + arrr[i] + '后'; + break; + } else if (inm < 0) { + str = '1秒后'; + break; + } + } + if(str == "") { + str = '1秒后'; + } + return str; +} + +function timeago4str(date) { + var reg = getRegExp("-", "g"); + return timeago(getDate(date.replace(reg, "/")).getTime()); +} + +function showNum (_money, num) { + if (_money == null || _money == '' || typeof _money == 'undefined') { + return 0; + } else { + if (parseInt(_money) - _money != 0) { + if (num == 1) { + return parseInt(_money * 10) / 10.0; + } else if (num == 2) { + return parseInt(_money * 100) / 100.0; + } else { + return parseInt(_money); + } + + } else { + return parseInt(_money); + } + } +} + +/** + * 获取几天前、几小时前等格式(剩余|超时) + */ +function timeagoLater(timestamp) { + + if(timestamp == '' || timestamp == null || timestamp == undefined) { + return ''; + } + var str = ""; + var arrr = ['年', '个月', '天', '小时', '分钟', '秒']; + var arrn = [31536000, 2592000, 86400, 3600, 60, 1]; + if(getDate().getTime() - timestamp > 0) { + var mistiming = Math.round((getDate().getTime() - timestamp) / 1000); + + for (var i = 0; i < 6; ++i) { + var inm = Math.floor(mistiming / arrn[i]); + if(inm > 0) { + // str = '超时' + (inm + arrr[i]); + // str = '已处理' + (inm + arrr[i]); + str = (inm + arrr[i]) + '前'; + break; + } else if (inm < 0) { + str = '剩余' + (-inm + arrr[5 - i]); + //str = '1秒前'; + break; + } + } + if(str == "") { + // str = '超时1秒'; + // str = '已处理1秒'; + str = '1秒前'; + } + } else { + var mistiming = Math.round((timestamp - getDate().getTime()) / 1000); + + for (var i = 0; i < 6; ++i) { + var inm = Math.floor(mistiming / arrn[i]); + if(inm > 0) { + str = '剩余' + (inm + arrr[i]); + break; + } else if (inm < 0) { + // str = '超时1秒'; + // str = '已处理1秒'; + str = '1秒前'; + break; + } + } + if(str == "") { + // str = '超时1秒'; + // str = '已处理1秒'; + str = '1秒前'; + } + } + + return str; +} +/** + * 格式化距离 + */ +function getDistanceNum(distance) { + if(distance == null || distance === '' || distance == 'null' || typeof(distance)=="undefined") { + return ''; + } + if(distance < 1000) { + return distance + 'm'; + } else if(distance == 99999999) { + return ''; + } else { + var num = distance / 1000; + return num.toFixed(2) + 'km' + } +} + +/** + * endwith + */ +function spliceStr(str) { + return str.split('_')[1] +} +module.exports.spliceStr = spliceStr; +module.exports.timeagoLater = timeagoLater; +module.exports.timeago = timeago; +module.exports.timeago4str = timeago4str; +module.exports.formatDateYYYYMMDDHHMM = formatDateYYYYMMDDHHMM; +module.exports.formatDateYYYYMMDD = formatDateYYYYMMDD; +module.exports.formatDateYYYYMMDD2 = formatDateYYYYMMDD2; +module.exports.formatDateMMSS = formatDateMMSS; +module.exports.showClockResult = showClockResult; +module.exports.showClockResult2 = showClockResult2; +module.exports.showWorkState = showWorkState; +module.exports.showSourceName = showSourceName; +module.exports.initHopePositionType = initHopePositionType; +module.exports.isEmptyCheck = isEmptyCheck; +module.exports.isNotEmptyCheck = isNotEmptyCheck; +module.exports.showStoreAddress = showStoreAddress; +module.exports.showNotNullStr = showNotNullStr; +module.exports.showNotNullNum = showNotNullNum; +module.exports.initDormType = initDormType; +module.exports.showNum = showNum; +module.exports.getDistanceNum = getDistanceNum; \ No newline at end of file diff --git a/miniprogram_npm/@miniprogram-component-plus/tabs/index.js b/miniprogram_npm/@miniprogram-component-plus/tabs/index.js new file mode 100644 index 0000000..cfb261f --- /dev/null +++ b/miniprogram_npm/@miniprogram-component-plus/tabs/index.js @@ -0,0 +1,148 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 5); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 5: +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Component({ + options: { + addGlobalClass: true, + pureDataPattern: /^_/, + multipleSlots: true + }, + properties: { + tabs: { type: Array, value: [] }, + tabClass: { type: String, value: '' }, + swiperClass: { type: String, value: '' }, + activeClass: { type: String, value: '' }, + tabUnderlineColor: { type: String, value: '#07c160' }, + tabActiveTextColor: { type: String, value: '#000000' }, + tabInactiveTextColor: { type: String, value: '#000000' }, + tabBackgroundColor: { type: String, value: '#ffffff' }, + activeTab: { type: Number, value: 0 }, + swipeable: { type: Boolean, value: true }, + animation: { type: Boolean, value: true }, + duration: { type: Number, value: 500 } + }, + data: { + currentView: 0 + }, + observers: { + activeTab: function activeTab(_activeTab) { + var len = this.data.tabs.length; + if (len === 0) return; + var currentView = _activeTab - 1; + if (currentView < 0) currentView = 0; + if (currentView > len - 1) currentView = len - 1; + this.setData({ currentView: currentView }); + } + }, + lifetimes: { + created: function created() {} + }, + methods: { + handleTabClick: function handleTabClick(e) { + var index = e.currentTarget.dataset.index; + this.setData({ activeTab: index }); + this.triggerEvent('tabclick', { index: index }); + }, + handleSwiperChange: function handleSwiperChange(e) { + var index = e.detail.current; + this.setData({ activeTab: index }); + this.triggerEvent('change', { index: index }); + } + } +}); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/miniprogram_npm/@miniprogram-component-plus/tabs/index.json b/miniprogram_npm/@miniprogram-component-plus/tabs/index.json new file mode 100644 index 0000000..b18bd46 --- /dev/null +++ b/miniprogram_npm/@miniprogram-component-plus/tabs/index.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/miniprogram_npm/@miniprogram-component-plus/tabs/index.wxml b/miniprogram_npm/@miniprogram-component-plus/tabs/index.wxml new file mode 100644 index 0000000..ddb213c --- /dev/null +++ b/miniprogram_npm/@miniprogram-component-plus/tabs/index.wxml @@ -0,0 +1,20 @@ + + + + + + + + {{item.title}} + + + + + + + + + + + + \ No newline at end of file diff --git a/miniprogram_npm/@miniprogram-component-plus/tabs/index.wxss b/miniprogram_npm/@miniprogram-component-plus/tabs/index.wxss new file mode 100644 index 0000000..a6982e7 --- /dev/null +++ b/miniprogram_npm/@miniprogram-component-plus/tabs/index.wxss @@ -0,0 +1 @@ +.weui-tabs{width:100%}.weui-tabs-bar__wrp{width:100%;background:#fff}.weui-tabs-bar__content{width:100%;white-space:nowrap}.weui-tabs-bar__item{display:inline-block}.weui-tabs-bar__title{display:inline-block;border-bottom-width:2px;border-bottom-style:solid;border-bottom-color:transparent} \ No newline at end of file diff --git a/miniprogram_npm/wxml-to-canvas/index.js b/miniprogram_npm/wxml-to-canvas/index.js new file mode 100644 index 0000000..2a4f21e --- /dev/null +++ b/miniprogram_npm/wxml-to-canvas/index.js @@ -0,0 +1,779 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define([], factory); + else { + var a = factory(); + for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; + } +})(window, function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 1); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports) { + +const hex = (color) => { + let result = null + + if (/^#/.test(color) && (color.length === 7 || color.length === 9)) { + return color + // eslint-disable-next-line no-cond-assign + } else if ((result = /^(rgb|rgba)\((.+)\)/.exec(color)) !== null) { + return '#' + result[2].split(',').map((part, index) => { + part = part.trim() + part = index === 3 ? Math.floor(parseFloat(part) * 255) : parseInt(part, 10) + part = part.toString(16) + if (part.length === 1) { + part = '0' + part + } + return part + }).join('') + } else { + return '#00000000' + } +} + +const splitLineToCamelCase = (str) => str.split('-').map((part, index) => { + if (index === 0) { + return part + } + return part[0].toUpperCase() + part.slice(1) +}).join('') + +const 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 + } else if (num1 < num2) { + return -1 + } + } + + return 0 +} + +module.exports = { + hex, + splitLineToCamelCase, + compareVersion +} + + +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { + + +const xmlParse = __webpack_require__(2) +const {Widget} = __webpack_require__(3) +const {Draw} = __webpack_require__(5) +const {compareVersion} = __webpack_require__(0) + +const canvasId = 'weui-canvas' + +Component({ + properties: { + width: { + type: Number, + value: 400 + }, + height: { + type: Number, + value: 300 + } + }, + data: { + use2dCanvas: false, // 2.9.2 后可用canvas 2d 接口 + }, + lifetimes: { + attached() { + const {SDKVersion, pixelRatio: dpr} = wx.getSystemInfoSync() + const use2dCanvas = compareVersion(SDKVersion, '2.9.2') >= 0 + this.dpr = dpr + this.setData({use2dCanvas}, () => { + if (use2dCanvas) { + const query = this.createSelectorQuery() + query.select(`#${canvasId}`) + .fields({node: true, size: true}) + .exec(res => { + const canvas = res[0].node + const ctx = canvas.getContext('2d') + canvas.width = res[0].width * dpr + canvas.height = res[0].height * dpr + ctx.scale(dpr, dpr) + this.ctx = ctx + this.canvas = canvas + }) + } else { + this.ctx = wx.createCanvasContext(canvasId, this) + } + }) + } + }, + methods: { + async renderToCanvas(args) { + const {wxml, style} = args + const ctx = this.ctx + const canvas = this.canvas + const use2dCanvas = this.data.use2dCanvas + + if (use2dCanvas && !canvas) { + return Promise.reject(new Error('renderToCanvas: fail canvas has not been created')) + } + + ctx.clearRect(0, 0, this.data.width, this.data.height) + const {root: xom} = xmlParse(wxml) + + const widget = new Widget(xom, style) + const container = widget.init() + this.boundary = { + top: container.layoutBox.top, + left: container.layoutBox.left, + width: container.computedStyle.width, + height: container.computedStyle.height, + } + const draw = new Draw(ctx, canvas, use2dCanvas) + await draw.drawNode(container) + + if (!use2dCanvas) { + await this.canvasDraw(ctx) + } + return Promise.resolve(container) + }, + + canvasDraw(ctx, reserve) { + return new Promise(resolve => { + ctx.draw(reserve, () => { + resolve() + }) + }) + }, + + canvasToTempFilePath(args = {}) { + const use2dCanvas = this.data.use2dCanvas + + return new Promise((resolve, reject) => { + const { + top, left, width, height + } = this.boundary + + const copyArgs = { + x: left, + y: top, + width, + height, + destWidth: width * this.dpr, + destHeight: height * this.dpr, + canvasId, + fileType: args.fileType || 'png', + quality: args.quality || 1, + success: resolve, + fail: reject + } + + if (use2dCanvas) { + delete copyArgs.canvasId + copyArgs.canvas = this.canvas + } + wx.canvasToTempFilePath(copyArgs, this) + }) + } + } +}) + + +/***/ }), +/* 2 */ +/***/ (function(module, exports) { + + +/** + * Module dependencies. + */ + + +/** + * Expose `parse`. + */ + + +/** + * Parse the given string of `xml`. + * + * @param {String} xml + * @return {Object} + * @api public + */ + +function parse(xml) { + xml = xml.trim() + + // strip comments + xml = xml.replace(//g, '') + + return document() + + /** + * XML document. + */ + + function document() { + return { + declaration: declaration(), + root: tag() + } + } + + /** + * Declaration. + */ + + function declaration() { + const m = match(/^<\?xml\s*/) + if (!m) return + + // tag + const node = { + attributes: {} + } + + // attributes + while (!(eos() || is('?>'))) { + const attr = attribute() + if (!attr) return node + node.attributes[attr.name] = attr.value + } + + match(/\?>\s*/) + + return node + } + + /** + * Tag. + */ + + function tag() { + const m = match(/^<([\w-:.]+)\s*/) + if (!m) return + + // name + const node = { + name: m[1], + attributes: {}, + children: [] + } + + // attributes + while (!(eos() || is('>') || is('?>') || is('/>'))) { + const attr = attribute() + if (!attr) return node + node.attributes[attr.name] = attr.value + } + + // self closing tag + if (match(/^\s*\/>\s*/)) { + return node + } + + match(/\??>\s*/) + + // content + node.content = content() + + // children + let child + while (child = tag()) { + node.children.push(child) + } + + // closing + match(/^<\/[\w-:.]+>\s*/) + + return node + } + + /** + * Text content. + */ + + function content() { + const m = match(/^([^<]*)/) + if (m) return m[1] + return '' + } + + /** + * Attribute. + */ + + function attribute() { + const m = match(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/) + if (!m) return + return {name: m[1], value: strip(m[2])} + } + + /** + * Strip quotes from `val`. + */ + + function strip(val) { + return val.replace(/^['"]|['"]$/g, '') + } + + /** + * Match `re` and advance the string. + */ + + function match(re) { + const m = xml.match(re) + if (!m) return + xml = xml.slice(m[0].length) + return m + } + + /** + * End-of-source. + */ + + function eos() { + return xml.length == 0 + } + + /** + * Check for `prefix`. + */ + + function is(prefix) { + return xml.indexOf(prefix) == 0 + } +} + +module.exports = parse + + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +const Block = __webpack_require__(4) +const {splitLineToCamelCase} = __webpack_require__(0) + +class Element extends Block { + constructor(prop) { + super(prop.style) + this.name = prop.name + this.attributes = prop.attributes + } +} + + +class Widget { + constructor(xom, style) { + this.xom = xom + this.style = style + + this.inheritProps = ['fontSize', 'lineHeight', 'textAlign', 'verticalAlign', 'color'] + } + + init() { + this.container = this.create(this.xom) + this.container.layout() + + this.inheritStyle(this.container) + return this.container + } + + // 继承父节点的样式 + inheritStyle(node) { + const parent = node.parent || null + const children = node.children || {} + const computedStyle = node.computedStyle + + if (parent) { + this.inheritProps.forEach(prop => { + computedStyle[prop] = computedStyle[prop] || parent.computedStyle[prop] + }) + } + + Object.values(children).forEach(child => { + this.inheritStyle(child) + }) + } + + create(node) { + let classNames = (node.attributes.class || '').split(' ') + classNames = classNames.map(item => splitLineToCamelCase(item.trim())) + const style = {} + classNames.forEach(item => { + Object.assign(style, this.style[item] || {}) + }) + + const args = {name: node.name, style} + + const attrs = Object.keys(node.attributes) + const attributes = {} + for (const attr of attrs) { + const value = node.attributes[attr] + const CamelAttr = splitLineToCamelCase(attr) + + if (value === '' || value === 'true') { + attributes[CamelAttr] = true + } else if (value === 'false') { + attributes[CamelAttr] = false + } else { + attributes[CamelAttr] = value + } + } + attributes.text = node.content + args.attributes = attributes + const element = new Element(args) + node.children.forEach(childNode => { + const childElement = this.create(childNode) + element.add(childElement) + }) + return element + } +} + +module.exports = {Widget} + + +/***/ }), +/* 4 */ +/***/ (function(module, exports) { + +module.exports = require("widget-ui"); + +/***/ }), +/* 5 */ +/***/ (function(module, exports) { + +class Draw { + constructor(context, canvas, use2dCanvas = false) { + this.ctx = context + this.canvas = canvas || null + this.use2dCanvas = use2dCanvas + } + + roundRect(x, y, w, h, r, fill = true, stroke = false) { + if (r < 0) return + const ctx = this.ctx + + ctx.beginPath() + ctx.arc(x + r, y + r, r, Math.PI, Math.PI * 3 / 2) + ctx.arc(x + w - r, y + r, r, Math.PI * 3 / 2, 0) + ctx.arc(x + w - r, y + h - r, r, 0, Math.PI / 2) + ctx.arc(x + r, y + h - r, r, Math.PI / 2, Math.PI) + ctx.lineTo(x, y + r) + if (stroke) ctx.stroke() + if (fill) ctx.fill() + } + + drawView(box, style) { + const ctx = this.ctx + const { + left: x, top: y, width: w, height: h + } = box + const { + borderRadius = 0, + borderWidth = 0, + borderColor, + color = '#000', + backgroundColor = 'transparent', + } = style + ctx.save() + // 外环 + if (borderWidth > 0) { + ctx.fillStyle = borderColor || color + this.roundRect(x, y, w, h, borderRadius) + } + + // 内环 + ctx.fillStyle = backgroundColor + const innerWidth = w - 2 * borderWidth + const innerHeight = h - 2 * borderWidth + const innerRadius = borderRadius - borderWidth >= 0 ? borderRadius - borderWidth : 0 + this.roundRect(x + borderWidth, y + borderWidth, innerWidth, innerHeight, innerRadius) + ctx.restore() + } + + async drawImage(img, box, style) { + await new Promise((resolve, reject) => { + const ctx = this.ctx + const canvas = this.canvas + + const { + borderRadius = 0 + } = style + const { + left: x, top: y, width: w, height: h + } = box + ctx.save() + this.roundRect(x, y, w, h, borderRadius, false, false) + ctx.clip() + + const _drawImage = (img) => { + if (this.use2dCanvas) { + const Image = canvas.createImage() + Image.onload = () => { + ctx.drawImage(Image, x, y, w, h) + ctx.restore() + resolve() + } + Image.onerror = () => { reject(new Error(`createImage fail: ${img}`)) } + Image.src = img + } else { + ctx.drawImage(img, x, y, w, h) + ctx.restore() + resolve() + } + } + + const isTempFile = /^wxfile:\/\//.test(img) + const isNetworkFile = /^https?:\/\//.test(img) + + if (isTempFile) { + _drawImage(img) + } else if (isNetworkFile) { + wx.downloadFile({ + url: img, + success(res) { + if (res.statusCode === 200) { + _drawImage(res.tempFilePath) + } else { + reject(new Error(`downloadFile:fail ${img}`)) + } + }, + fail() { + reject(new Error(`downloadFile:fail ${img}`)) + } + }) + } else { + reject(new Error(`image format error: ${img}`)) + } + }) + } + + // eslint-disable-next-line complexity + drawText(text, box, style) { + const ctx = this.ctx + let { + left: x, top: y, width: w, height: h + } = box + let { + color = '#000', + lineHeight = '1.4em', + fontSize = 14, + textAlign = 'left', + verticalAlign = 'top', + backgroundColor = 'transparent' + } = style + + if (typeof lineHeight === 'string') { // 2em + lineHeight = Math.ceil(parseFloat(lineHeight.replace('em')) * fontSize) + } + if (!text || (lineHeight > h)) return + + ctx.save() + ctx.textBaseline = 'top' + ctx.font = `${fontSize}px sans-serif` + ctx.textAlign = textAlign + + // 背景色 + ctx.fillStyle = backgroundColor + this.roundRect(x, y, w, h, 0) + + // 文字颜色 + ctx.fillStyle = color + + // 水平布局 + switch (textAlign) { + case 'left': + break + case 'center': + x += 0.5 * w + break + case 'right': + x += w + break + default: break + } + + const textWidth = ctx.measureText(text).width + const actualHeight = Math.ceil(textWidth / w) * lineHeight + let paddingTop = Math.ceil((h - actualHeight) / 2) + if (paddingTop < 0) paddingTop = 0 + + // 垂直布局 + switch (verticalAlign) { + case 'top': + break + case 'middle': + y += paddingTop + break + case 'bottom': + y += 2 * paddingTop + break + default: break + } + + const inlinePaddingTop = Math.ceil((lineHeight - fontSize) / 2) + + // 不超过一行 + if (textWidth <= w) { + ctx.fillText(text, x, y + inlinePaddingTop) + return + } + + // 多行文本 + const chars = text.split('') + const _y = y + + // 逐行绘制 + let line = '' + for (const ch of chars) { + const testLine = line + ch + const testWidth = ctx.measureText(testLine).width + + if (testWidth > w) { + ctx.fillText(line, x, y + inlinePaddingTop) + y += lineHeight + line = ch + if ((y + lineHeight) > (_y + h)) break + } else { + line = testLine + } + } + + // 避免溢出 + if ((y + lineHeight) <= (_y + h)) { + ctx.fillText(line, x, y + inlinePaddingTop) + } + ctx.restore() + } + + async drawNode(element) { + const {layoutBox, computedStyle, name} = element + const {src, text} = element.attributes + if (name === 'view') { + this.drawView(layoutBox, computedStyle) + } else if (name === 'image') { + await this.drawImage(src, layoutBox, computedStyle) + } else if (name === 'text') { + this.drawText(text, layoutBox, computedStyle) + } + const childs = Object.values(element.children) + for (const child of childs) { + await this.drawNode(child) + } + } +} + + +module.exports = { + Draw +} + + +/***/ }) +/******/ ]); +}); \ No newline at end of file diff --git a/miniprogram_npm/wxml-to-canvas/index.json b/miniprogram_npm/wxml-to-canvas/index.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/miniprogram_npm/wxml-to-canvas/index.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/miniprogram_npm/wxml-to-canvas/index.wxml b/miniprogram_npm/wxml-to-canvas/index.wxml new file mode 100644 index 0000000..a0010ad --- /dev/null +++ b/miniprogram_npm/wxml-to-canvas/index.wxml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/miniprogram_npm/wxml-to-canvas/index.wxss b/miniprogram_npm/wxml-to-canvas/index.wxss new file mode 100644 index 0000000..e69de29 diff --git a/miniprogram_npm/wxml-to-canvas/miniprogram_npm/eventemitter3/index.js b/miniprogram_npm/wxml-to-canvas/miniprogram_npm/eventemitter3/index.js new file mode 100644 index 0000000..65dc011 --- /dev/null +++ b/miniprogram_npm/wxml-to-canvas/miniprogram_npm/eventemitter3/index.js @@ -0,0 +1,349 @@ +module.exports = (function() { +var __MODS__ = {}; +var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexports: {} }; __MODS__[modId] = { status: 0, func: func, req: req, m: m }; }; +var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; }; +var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } }; +var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; }; +__DEFINE__(1702536291628, function(require, module, exports) { + + +var has = Object.prototype.hasOwnProperty + , prefix = '~'; + +/** + * Constructor to create a storage for our `EE` objects. + * An `Events` instance is a plain object whose properties are event names. + * + * @constructor + * @private + */ +function Events() {} + +// +// We try to not inherit from `Object.prototype`. In some engines creating an +// instance in this way is faster than calling `Object.create(null)` directly. +// If `Object.create(null)` is not supported we prefix the event names with a +// character to make sure that the built-in object properties are not +// overridden or used as an attack vector. +// +if (Object.create) { + Events.prototype = Object.create(null); + + // + // This hack is needed because the `__proto__` property is still inherited in + // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5. + // + if (!new Events().__proto__) prefix = false; +} + +/** + * Representation of a single event listener. + * + * @param {Function} fn The listener function. + * @param {*} context The context to invoke the listener with. + * @param {Boolean} [once=false] Specify if the listener is a one-time listener. + * @constructor + * @private + */ +function EE(fn, context, once) { + this.fn = fn; + this.context = context; + this.once = once || false; +} + +/** + * Add a listener for a given event. + * + * @param {EventEmitter} emitter Reference to the `EventEmitter` instance. + * @param {(String|Symbol)} event The event name. + * @param {Function} fn The listener function. + * @param {*} context The context to invoke the listener with. + * @param {Boolean} once Specify if the listener is a one-time listener. + * @returns {EventEmitter} + * @private + */ +function addListener(emitter, event, fn, context, once) { + if (typeof fn !== 'function') { + throw new TypeError('The listener must be a function'); + } + + var listener = new EE(fn, context || emitter, once) + , evt = prefix ? prefix + event : event; + + if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++; + else if (!emitter._events[evt].fn) emitter._events[evt].push(listener); + else emitter._events[evt] = [emitter._events[evt], listener]; + + return emitter; +} + +/** + * Clear event by name. + * + * @param {EventEmitter} emitter Reference to the `EventEmitter` instance. + * @param {(String|Symbol)} evt The Event name. + * @private + */ +function clearEvent(emitter, evt) { + if (--emitter._eventsCount === 0) emitter._events = new Events(); + else delete emitter._events[evt]; +} + +/** + * Minimal `EventEmitter` interface that is molded against the Node.js + * `EventEmitter` interface. + * + * @constructor + * @public + */ +function EventEmitter() { + this._events = new Events(); + this._eventsCount = 0; +} + +/** + * Return an array listing the events for which the emitter has registered + * listeners. + * + * @returns {Array} + * @public + */ +EventEmitter.prototype.eventNames = function eventNames() { + var names = [] + , events + , name; + + if (this._eventsCount === 0) return names; + + for (name in (events = this._events)) { + if (has.call(events, name)) names.push(prefix ? name.slice(1) : name); + } + + if (Object.getOwnPropertySymbols) { + return names.concat(Object.getOwnPropertySymbols(events)); + } + + return names; +}; + +/** + * Return the listeners registered for a given event. + * + * @param {(String|Symbol)} event The event name. + * @returns {Array} The registered listeners. + * @public + */ +EventEmitter.prototype.listeners = function listeners(event) { + var evt = prefix ? prefix + event : event + , handlers = this._events[evt]; + + if (!handlers) return []; + if (handlers.fn) return [handlers.fn]; + + for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) { + ee[i] = handlers[i].fn; + } + + return ee; +}; + +/** + * Return the number of listeners listening to a given event. + * + * @param {(String|Symbol)} event The event name. + * @returns {Number} The number of listeners. + * @public + */ +EventEmitter.prototype.listenerCount = function listenerCount(event) { + var evt = prefix ? prefix + event : event + , listeners = this._events[evt]; + + if (!listeners) return 0; + if (listeners.fn) return 1; + return listeners.length; +}; + +/** + * Calls each of the listeners registered for a given event. + * + * @param {(String|Symbol)} event The event name. + * @returns {Boolean} `true` if the event had listeners, else `false`. + * @public + */ +EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) { + var evt = prefix ? prefix + event : event; + + if (!this._events[evt]) return false; + + var listeners = this._events[evt] + , len = arguments.length + , args + , i; + + if (listeners.fn) { + if (listeners.once) this.removeListener(event, listeners.fn, undefined, true); + + switch (len) { + case 1: return listeners.fn.call(listeners.context), true; + case 2: return listeners.fn.call(listeners.context, a1), true; + case 3: return listeners.fn.call(listeners.context, a1, a2), true; + case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true; + case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true; + case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true; + } + + for (i = 1, args = new Array(len -1); i < len; i++) { + args[i - 1] = arguments[i]; + } + + listeners.fn.apply(listeners.context, args); + } else { + var length = listeners.length + , j; + + for (i = 0; i < length; i++) { + if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true); + + switch (len) { + case 1: listeners[i].fn.call(listeners[i].context); break; + case 2: listeners[i].fn.call(listeners[i].context, a1); break; + case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break; + case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break; + default: + if (!args) for (j = 1, args = new Array(len -1); j < len; j++) { + args[j - 1] = arguments[j]; + } + + listeners[i].fn.apply(listeners[i].context, args); + } + } + } + + return true; +}; + +/** + * Add a listener for a given event. + * + * @param {(String|Symbol)} event The event name. + * @param {Function} fn The listener function. + * @param {*} [context=this] The context to invoke the listener with. + * @returns {EventEmitter} `this`. + * @public + */ +EventEmitter.prototype.on = function on(event, fn, context) { + return addListener(this, event, fn, context, false); +}; + +/** + * Add a one-time listener for a given event. + * + * @param {(String|Symbol)} event The event name. + * @param {Function} fn The listener function. + * @param {*} [context=this] The context to invoke the listener with. + * @returns {EventEmitter} `this`. + * @public + */ +EventEmitter.prototype.once = function once(event, fn, context) { + return addListener(this, event, fn, context, true); +}; + +/** + * Remove the listeners of a given event. + * + * @param {(String|Symbol)} event The event name. + * @param {Function} fn Only remove the listeners that match this function. + * @param {*} context Only remove the listeners that have this context. + * @param {Boolean} once Only remove one-time listeners. + * @returns {EventEmitter} `this`. + * @public + */ +EventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) { + var evt = prefix ? prefix + event : event; + + if (!this._events[evt]) return this; + if (!fn) { + clearEvent(this, evt); + return this; + } + + var listeners = this._events[evt]; + + if (listeners.fn) { + if ( + listeners.fn === fn && + (!once || listeners.once) && + (!context || listeners.context === context) + ) { + clearEvent(this, evt); + } + } else { + for (var i = 0, events = [], length = listeners.length; i < length; i++) { + if ( + listeners[i].fn !== fn || + (once && !listeners[i].once) || + (context && listeners[i].context !== context) + ) { + events.push(listeners[i]); + } + } + + // + // Reset the array, or remove it completely if we have no more listeners. + // + if (events.length) this._events[evt] = events.length === 1 ? events[0] : events; + else clearEvent(this, evt); + } + + return this; +}; + +/** + * Remove all listeners, or those of the specified event. + * + * @param {(String|Symbol)} [event] The event name. + * @returns {EventEmitter} `this`. + * @public + */ +EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) { + var evt; + + if (event) { + evt = prefix ? prefix + event : event; + if (this._events[evt]) clearEvent(this, evt); + } else { + this._events = new Events(); + this._eventsCount = 0; + } + + return this; +}; + +// +// Alias methods names because people roll like that. +// +EventEmitter.prototype.off = EventEmitter.prototype.removeListener; +EventEmitter.prototype.addListener = EventEmitter.prototype.on; + +// +// Expose the prefix. +// +EventEmitter.prefixed = prefix; + +// +// Allow `EventEmitter` to be imported as module namespace. +// +EventEmitter.EventEmitter = EventEmitter; + +// +// Expose the module. +// +if ('undefined' !== typeof module) { + module.exports = EventEmitter; +} + +}, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); }) +return __REQUIRE__(1702536291628); +})() +//miniprogram-npm-outsideDeps=[] +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/miniprogram_npm/wxml-to-canvas/miniprogram_npm/eventemitter3/index.js.map b/miniprogram_npm/wxml-to-canvas/miniprogram_npm/eventemitter3/index.js.map new file mode 100644 index 0000000..4f2cb7b --- /dev/null +++ b/miniprogram_npm/wxml-to-canvas/miniprogram_npm/eventemitter3/index.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["index.js"],"names":[],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.js","sourcesContent":["\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n"]} \ No newline at end of file diff --git a/miniprogram_npm/wxml-to-canvas/miniprogram_npm/widget-ui/index.js b/miniprogram_npm/wxml-to-canvas/miniprogram_npm/widget-ui/index.js new file mode 100644 index 0000000..4f42c98 --- /dev/null +++ b/miniprogram_npm/wxml-to-canvas/miniprogram_npm/widget-ui/index.js @@ -0,0 +1,13 @@ +module.exports = (function() { +var __MODS__ = {}; +var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexports: {} }; __MODS__[modId] = { status: 0, func: func, req: req, m: m }; }; +var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; }; +var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } }; +var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; }; +__DEFINE__(1702536291629, function(require, module, exports) { +!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var o=e();for(var r in o)("object"==typeof exports?exports:t)[r]=o[r]}}(this,(function(){return function(t){var e={};function o(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,o),i.l=!0,i.exports}return o.m=t,o.c=e,o.d=function(t,e,r){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(o.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)o.d(r,i,function(e){return t[e]}.bind(null,i));return r},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="",o(o.s=0)}([function(t,e,o){var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var i=r(o(1)),l=o(2),n=0,a=function(){function t(e){var o=this;void 0===e&&(e={}),this.parent=null,this.id=t.uuid(),this.style={},this.computedStyle={},this.lastComputedStyle={},this.children={},this.layoutBox={left:0,top:0,width:0,height:0},e=Object.assign(l.getDefaultStyle(),e),this.computedStyle=Object.assign(l.getDefaultStyle(),e),this.lastComputedStyle=Object.assign(l.getDefaultStyle(),e),Object.keys(e).forEach((function(t){Object.defineProperty(o.style,t,{configurable:!0,enumerable:!0,get:function(){return e[t]},set:function(r){r!==e[t]&&void 0!==r&&(o.lastComputedStyle=o.computedStyle[t],e[t]=r,o.computedStyle[t]=r,l.scalableStyles.includes(t)&&o.style.scale&&(o.computedStyle[t]=r*o.style.scale),"scale"===t&&l.scalableStyles.forEach((function(t){e[t]&&(o.computedStyle[t]=e[t]*r)})),"hidden"===t&&(r?l.layoutAffectedStyles.forEach((function(t){o.computedStyle[t]=0})):l.layoutAffectedStyles.forEach((function(t){o.computedStyle[t]=o.lastComputedStyle[t]}))))}})})),this.style.scale&&l.scalableStyles.forEach((function(t){if(o.style[t]){var e=o.style[t]*o.style.scale;o.computedStyle[t]=e}})),e.hidden&&l.layoutAffectedStyles.forEach((function(t){o.computedStyle[t]=0}))}return t.uuid=function(){return n++},t.prototype.getAbsolutePosition=function(t){if(!t)return this.getAbsolutePosition(this);if(!t.parent)return{left:0,top:0};var e=this.getAbsolutePosition(t.parent),o=e.left,r=e.top;return{left:o+t.layoutBox.left,top:r+t.layoutBox.top}},t.prototype.add=function(t){t.parent=this,this.children[t.id]=t},t.prototype.remove=function(t){var e=this;t?this.children[t.id]&&(t.remove(),delete this.children[t.id]):Object.keys(this.children).forEach((function(t){e.children[t].remove(),delete e.children[t]}))},t.prototype.getNodeTree=function(){var t=this;return{id:this.id,style:this.computedStyle,children:Object.keys(this.children).map((function(e){return t.children[e].getNodeTree()}))}},t.prototype.applyLayout=function(t){var e=this;["left","top","width","height"].forEach((function(o){t.layout&&"number"==typeof t.layout[o]&&(e.layoutBox[o]=t.layout[o],!e.parent||"left"!==o&&"top"!==o||(e.layoutBox[o]+=e.parent.layoutBox[o]))})),t.children.forEach((function(t){e.children[t.id].applyLayout(t)}))},t.prototype.layout=function(){var t=this.getNodeTree();i.default(t),this.applyLayout(t)},t}();e.default=a},function(t,e,o){o.r(e);var r=function(){var t,e="inherit",o="ltr",r="rtl",i="row",l="row-reverse",n="column",a="column-reverse",u="flex-start",d="center",s="flex-end",y="space-between",c="space-around",f="flex-start",h="center",p="flex-end",g="stretch",v="relative",m="absolute",b={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},x={row:"right","row-reverse":"left",column:"bottom","column-reverse":"top"},w={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},S={row:"width","row-reverse":"width",column:"height","column-reverse":"height"};function W(t){return void 0===t}function L(t){return t===i||t===l}function k(t,e){if(void 0!==t.style.marginStart&&L(e))return t.style.marginStart;var o=null;switch(e){case"row":o=t.style.marginLeft;break;case"row-reverse":o=t.style.marginRight;break;case"column":o=t.style.marginTop;break;case"column-reverse":o=t.style.marginBottom}return void 0!==o?o:void 0!==t.style.margin?t.style.margin:0}function j(t,e){if(void 0!==t.style.marginEnd&&L(e))return t.style.marginEnd;var o=null;switch(e){case"row":o=t.style.marginRight;break;case"row-reverse":o=t.style.marginLeft;break;case"column":o=t.style.marginBottom;break;case"column-reverse":o=t.style.marginTop}return null!=o?o:void 0!==t.style.margin?t.style.margin:0}function B(t,e){if(void 0!==t.style.borderStartWidth&&t.style.borderStartWidth>=0&&L(e))return t.style.borderStartWidth;var o=null;switch(e){case"row":o=t.style.borderLeftWidth;break;case"row-reverse":o=t.style.borderRightWidth;break;case"column":o=t.style.borderTopWidth;break;case"column-reverse":o=t.style.borderBottomWidth}return null!=o&&o>=0?o:void 0!==t.style.borderWidth&&t.style.borderWidth>=0?t.style.borderWidth:0}function E(t,e){if(void 0!==t.style.borderEndWidth&&t.style.borderEndWidth>=0&&L(e))return t.style.borderEndWidth;var o=null;switch(e){case"row":o=t.style.borderRightWidth;break;case"row-reverse":o=t.style.borderLeftWidth;break;case"column":o=t.style.borderBottomWidth;break;case"column-reverse":o=t.style.borderTopWidth}return null!=o&&o>=0?o:void 0!==t.style.borderWidth&&t.style.borderWidth>=0?t.style.borderWidth:0}function C(t,e){return function(t,e){if(void 0!==t.style.paddingStart&&t.style.paddingStart>=0&&L(e))return t.style.paddingStart;var o=null;switch(e){case"row":o=t.style.paddingLeft;break;case"row-reverse":o=t.style.paddingRight;break;case"column":o=t.style.paddingTop;break;case"column-reverse":o=t.style.paddingBottom}return null!=o&&o>=0?o:void 0!==t.style.padding&&t.style.padding>=0?t.style.padding:0}(t,e)+B(t,e)}function T(t,e){return function(t,e){if(void 0!==t.style.paddingEnd&&t.style.paddingEnd>=0&&L(e))return t.style.paddingEnd;var o=null;switch(e){case"row":o=t.style.paddingRight;break;case"row-reverse":o=t.style.paddingLeft;break;case"column":o=t.style.paddingBottom;break;case"column-reverse":o=t.style.paddingTop}return null!=o&&o>=0?o:void 0!==t.style.padding&&t.style.padding>=0?t.style.padding:0}(t,e)+E(t,e)}function O(t,e){return B(t,e)+E(t,e)}function _(t,e){return k(t,e)+j(t,e)}function R(t,e){return C(t,e)+T(t,e)}function A(t,e){return e.style.alignSelf?e.style.alignSelf:t.style.alignItems?t.style.alignItems:"stretch"}function P(t,e){if(e===r){if(t===i)return l;if(t===l)return i}return t}function D(t,e){return function(t){return t===n||t===a}(t)?P(i,e):n}function H(t){return t.style.position?t.style.position:"relative"}function M(t){return H(t)===v&&t.style.flex>0}function I(t,e){return t.layout[S[e]]+_(t,e)}function N(t,e){return void 0!==t.style[S[e]]&&t.style[S[e]]>=0}function F(t,e){return void 0!==t.style[e]}function q(t,e){return void 0!==t.style[e]?t.style[e]:0}function z(t,e,o){var r={row:t.style.minWidth,"row-reverse":t.style.minWidth,column:t.style.minHeight,"column-reverse":t.style.minHeight}[e],i={row:t.style.maxWidth,"row-reverse":t.style.maxWidth,column:t.style.maxHeight,"column-reverse":t.style.maxHeight}[e],l=o;return void 0!==i&&i>=0&&l>i&&(l=i),void 0!==r&&r>=0&&le?t:e}function G(t,e){void 0===t.layout[S[e]]&&N(t,e)&&(t.layout[S[e]]=U(z(t,e,t.style[S[e]]),R(t,e)))}function J(t,e,o){e.layout[x[o]]=t.layout[S[o]]-e.layout[S[o]]-e.layout[w[o]]}function K(t,e){return void 0!==t.style[b[e]]?q(t,b[e]):-q(t,x[e])}function Q(r,E,Q){var X=function(t,r){var i;return(i=t.style.direction?t.style.direction:e)===e&&(i=void 0===r?o:r),i}(r,Q),Y=P(function(t){return t.style.flexDirection?t.style.flexDirection:n}(r),X),Z=D(Y,X),$=P(i,X);G(r,Y),G(r,Z),r.layout.direction=X,r.layout[b[Y]]+=k(r,Y)+K(r,Y),r.layout[x[Y]]+=j(r,Y)+K(r,Y),r.layout[b[Z]]+=k(r,Z)+K(r,Z),r.layout[x[Z]]+=j(r,Z)+K(r,Z);var tt=r.children.length,et=R(r,$);if(function(t){return void 0!==t.style.measure}(r)){var ot=!W(r.layout[S[$]]),rt=t;rt=N(r,$)?r.style.width:ot?r.layout[S[$]]:E-_(r,$),rt-=et;var it=!N(r,$)&&!ot,lt=!N(r,n)&&W(r.layout[S[n]]);if(it||lt){var nt=r.style.measure(rt);it&&(r.layout.width=nt.width+et),lt&&(r.layout.height=nt.height+R(r,n))}if(0===tt)return}var at,ut,dt,st,yt=function(t){return"wrap"===t.style.flexWrap}(r),ct=function(t){return t.style.justifyContent?t.style.justifyContent:"flex-start"}(r),ft=C(r,Y),ht=C(r,Z),pt=R(r,Y),gt=R(r,Z),vt=!W(r.layout[S[Y]]),mt=!W(r.layout[S[Z]]),bt=L(Y),xt=null,wt=null,St=t;vt&&(St=r.layout[S[Y]]-pt);for(var Wt=0,Lt=0,kt=0,jt=0,Bt=0,Et=0;LtSt&&at!==Wt){Rt--,kt=1;break}At&&(H(dt)!==v||M(dt))&&(At=!1,Pt=at),Dt&&(H(dt)!==v||Xt!==g&&Xt!==f||W(dt.layout[S[Z]]))&&(Dt=!1,Ht=at),At&&(dt.layout[w[Y]]+=Nt,vt&&J(r,dt,Y),Nt+=I(dt,Y),Ft=U(Ft,z(dt,Z,I(dt,Z)))),Dt&&(dt.layout[w[Z]]+=jt+ht,mt&&J(r,dt,Z)),kt=0,Tt+=qt,Lt=at+1}var zt=0,Ut=0,Gt=0;if(Gt=vt?St-Tt:U(Tt,0)-Tt,0!==Ot){var Jt,Kt,Qt=Gt/_t;for(It=Mt;null!==It;)(Jt=Qt*It.style.flex+R(It,Y))!==(Kt=z(It,Y,Jt))&&(Gt-=Kt,_t-=It.style.flex),It=It.nextFlexChild;for((Qt=Gt/_t)<0&&(Qt=0),It=Mt;null!==It;)It.layout[S[Y]]=z(It,Y,Qt*It.style.flex+R(It,Y)),Ct=t,N(r,$)?Ct=r.layout[S[$]]-et:bt||(Ct=E-_(r,$)-et),V(It,Ct,X),dt=It,It=It.nextFlexChild,dt.nextFlexChild=null}else ct!==u&&(ct===d?zt=Gt/2:ct===s?zt=Gt:ct===y?(Gt=U(Gt,0),Ut=Ot+Rt-1!=0?Gt/(Ot+Rt-1):0):ct===c&&(zt=(Ut=Gt/(Ot+Rt))/2));for(Nt+=zt,at=Pt;at1&&mt){var $t=r.layout[S[Z]]-gt,te=$t-jt,ee=0,oe=ht,re=function(t){return t.style.alignContent?t.style.alignContent:"flex-start"}(r);re===p?oe+=te:re===h?oe+=te/2:re===g&&$t>jt&&(ee=te/Et);var ie=0;for(at=0;at=0&&L(e))return t.style.borderStartWidth;var o=null;switch(e){case\"row\":o=t.style.borderLeftWidth;break;case\"row-reverse\":o=t.style.borderRightWidth;break;case\"column\":o=t.style.borderTopWidth;break;case\"column-reverse\":o=t.style.borderBottomWidth}return null!=o&&o>=0?o:void 0!==t.style.borderWidth&&t.style.borderWidth>=0?t.style.borderWidth:0}function E(t,e){if(void 0!==t.style.borderEndWidth&&t.style.borderEndWidth>=0&&L(e))return t.style.borderEndWidth;var o=null;switch(e){case\"row\":o=t.style.borderRightWidth;break;case\"row-reverse\":o=t.style.borderLeftWidth;break;case\"column\":o=t.style.borderBottomWidth;break;case\"column-reverse\":o=t.style.borderTopWidth}return null!=o&&o>=0?o:void 0!==t.style.borderWidth&&t.style.borderWidth>=0?t.style.borderWidth:0}function C(t,e){return function(t,e){if(void 0!==t.style.paddingStart&&t.style.paddingStart>=0&&L(e))return t.style.paddingStart;var o=null;switch(e){case\"row\":o=t.style.paddingLeft;break;case\"row-reverse\":o=t.style.paddingRight;break;case\"column\":o=t.style.paddingTop;break;case\"column-reverse\":o=t.style.paddingBottom}return null!=o&&o>=0?o:void 0!==t.style.padding&&t.style.padding>=0?t.style.padding:0}(t,e)+B(t,e)}function T(t,e){return function(t,e){if(void 0!==t.style.paddingEnd&&t.style.paddingEnd>=0&&L(e))return t.style.paddingEnd;var o=null;switch(e){case\"row\":o=t.style.paddingRight;break;case\"row-reverse\":o=t.style.paddingLeft;break;case\"column\":o=t.style.paddingBottom;break;case\"column-reverse\":o=t.style.paddingTop}return null!=o&&o>=0?o:void 0!==t.style.padding&&t.style.padding>=0?t.style.padding:0}(t,e)+E(t,e)}function O(t,e){return B(t,e)+E(t,e)}function _(t,e){return k(t,e)+j(t,e)}function R(t,e){return C(t,e)+T(t,e)}function A(t,e){return e.style.alignSelf?e.style.alignSelf:t.style.alignItems?t.style.alignItems:\"stretch\"}function P(t,e){if(e===r){if(t===i)return l;if(t===l)return i}return t}function D(t,e){return function(t){return t===n||t===a}(t)?P(i,e):n}function H(t){return t.style.position?t.style.position:\"relative\"}function M(t){return H(t)===v&&t.style.flex>0}function I(t,e){return t.layout[S[e]]+_(t,e)}function N(t,e){return void 0!==t.style[S[e]]&&t.style[S[e]]>=0}function F(t,e){return void 0!==t.style[e]}function q(t,e){return void 0!==t.style[e]?t.style[e]:0}function z(t,e,o){var r={row:t.style.minWidth,\"row-reverse\":t.style.minWidth,column:t.style.minHeight,\"column-reverse\":t.style.minHeight}[e],i={row:t.style.maxWidth,\"row-reverse\":t.style.maxWidth,column:t.style.maxHeight,\"column-reverse\":t.style.maxHeight}[e],l=o;return void 0!==i&&i>=0&&l>i&&(l=i),void 0!==r&&r>=0&&le?t:e}function G(t,e){void 0===t.layout[S[e]]&&N(t,e)&&(t.layout[S[e]]=U(z(t,e,t.style[S[e]]),R(t,e)))}function J(t,e,o){e.layout[x[o]]=t.layout[S[o]]-e.layout[S[o]]-e.layout[w[o]]}function K(t,e){return void 0!==t.style[b[e]]?q(t,b[e]):-q(t,x[e])}function Q(r,E,Q){var X=function(t,r){var i;return(i=t.style.direction?t.style.direction:e)===e&&(i=void 0===r?o:r),i}(r,Q),Y=P(function(t){return t.style.flexDirection?t.style.flexDirection:n}(r),X),Z=D(Y,X),$=P(i,X);G(r,Y),G(r,Z),r.layout.direction=X,r.layout[b[Y]]+=k(r,Y)+K(r,Y),r.layout[x[Y]]+=j(r,Y)+K(r,Y),r.layout[b[Z]]+=k(r,Z)+K(r,Z),r.layout[x[Z]]+=j(r,Z)+K(r,Z);var tt=r.children.length,et=R(r,$);if(function(t){return void 0!==t.style.measure}(r)){var ot=!W(r.layout[S[$]]),rt=t;rt=N(r,$)?r.style.width:ot?r.layout[S[$]]:E-_(r,$),rt-=et;var it=!N(r,$)&&!ot,lt=!N(r,n)&&W(r.layout[S[n]]);if(it||lt){var nt=r.style.measure(rt);it&&(r.layout.width=nt.width+et),lt&&(r.layout.height=nt.height+R(r,n))}if(0===tt)return}var at,ut,dt,st,yt=function(t){return\"wrap\"===t.style.flexWrap}(r),ct=function(t){return t.style.justifyContent?t.style.justifyContent:\"flex-start\"}(r),ft=C(r,Y),ht=C(r,Z),pt=R(r,Y),gt=R(r,Z),vt=!W(r.layout[S[Y]]),mt=!W(r.layout[S[Z]]),bt=L(Y),xt=null,wt=null,St=t;vt&&(St=r.layout[S[Y]]-pt);for(var Wt=0,Lt=0,kt=0,jt=0,Bt=0,Et=0;LtSt&&at!==Wt){Rt--,kt=1;break}At&&(H(dt)!==v||M(dt))&&(At=!1,Pt=at),Dt&&(H(dt)!==v||Xt!==g&&Xt!==f||W(dt.layout[S[Z]]))&&(Dt=!1,Ht=at),At&&(dt.layout[w[Y]]+=Nt,vt&&J(r,dt,Y),Nt+=I(dt,Y),Ft=U(Ft,z(dt,Z,I(dt,Z)))),Dt&&(dt.layout[w[Z]]+=jt+ht,mt&&J(r,dt,Z)),kt=0,Tt+=qt,Lt=at+1}var zt=0,Ut=0,Gt=0;if(Gt=vt?St-Tt:U(Tt,0)-Tt,0!==Ot){var Jt,Kt,Qt=Gt/_t;for(It=Mt;null!==It;)(Jt=Qt*It.style.flex+R(It,Y))!==(Kt=z(It,Y,Jt))&&(Gt-=Kt,_t-=It.style.flex),It=It.nextFlexChild;for((Qt=Gt/_t)<0&&(Qt=0),It=Mt;null!==It;)It.layout[S[Y]]=z(It,Y,Qt*It.style.flex+R(It,Y)),Ct=t,N(r,$)?Ct=r.layout[S[$]]-et:bt||(Ct=E-_(r,$)-et),V(It,Ct,X),dt=It,It=It.nextFlexChild,dt.nextFlexChild=null}else ct!==u&&(ct===d?zt=Gt/2:ct===s?zt=Gt:ct===y?(Gt=U(Gt,0),Ut=Ot+Rt-1!=0?Gt/(Ot+Rt-1):0):ct===c&&(zt=(Ut=Gt/(Ot+Rt))/2));for(Nt+=zt,at=Pt;at1&&mt){var $t=r.layout[S[Z]]-gt,te=$t-jt,ee=0,oe=ht,re=function(t){return t.style.alignContent?t.style.alignContent:\"flex-start\"}(r);re===p?oe+=te:re===h?oe+=te/2:re===g&&$t>jt&&(ee=te/Et);var ie=0;for(at=0;at { + let result = null + + if (/^#/.test(color) && (color.length === 7 || color.length === 9)) { + return color + // eslint-disable-next-line no-cond-assign + } else if ((result = /^(rgb|rgba)\((.+)\)/.exec(color)) !== null) { + return '#' + result[2].split(',').map((part, index) => { + part = part.trim() + part = index === 3 ? Math.floor(parseFloat(part) * 255) : parseInt(part, 10) + part = part.toString(16) + if (part.length === 1) { + part = '0' + part + } + return part + }).join('') + } else { + return '#00000000' + } +} + +const splitLineToCamelCase = (str) => str.split('-').map((part, index) => { + if (index === 0) { + return part + } + return part[0].toUpperCase() + part.slice(1) +}).join('') + +const 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 + } else if (num1 < num2) { + return -1 + } + } + + return 0 +} + +module.exports = { + hex, + splitLineToCamelCase, + compareVersion +} diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json new file mode 100644 index 0000000..c55fe0c --- /dev/null +++ b/node_modules/.package-lock.json @@ -0,0 +1,39 @@ +{ + "name": "yimini", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "node_modules/@miniprogram-component-plus/sticky": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@miniprogram-component-plus/sticky/-/sticky-1.0.1.tgz", + "integrity": "sha512-HYZ/PCm8KjUSQYwMLG61bhHBKU8s9aDx5Tl2BvruAku8bvEbyd8A3Povpb9V6lPPvsD/oXp2R7/GmgsCgDuI4g==" + }, + "node_modules/@miniprogram-component-plus/tabs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@miniprogram-component-plus/tabs/-/tabs-1.0.0.tgz", + "integrity": "sha512-oV9dFpIoYAz0IbDECS9toS1GHivWoAd1cchxeZKCBV3PoPCEipHOeXQS3K2USr7EY8LDyfg3f0tDAacPfagYjg==" + }, + "node_modules/wxml-to-canvas": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/wxml-to-canvas/-/wxml-to-canvas-1.1.1.tgz", + "integrity": "sha512-3mDjHzujY/UgdCOXij/MnmwJYerVjwkyQHMBFBE8zh89DK7h7UTzoydWFqEBjIC0rfZM+AXl5kDh9hUcsNpSmg==", + "dependencies": { + "widget-ui": "^1.0.2" + } + }, + "node_modules/wxml-to-canvas/node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/wxml-to-canvas/node_modules/widget-ui": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/widget-ui/-/widget-ui-1.0.2.tgz", + "integrity": "sha512-gDXosr5mflJdMA1weU1A47aTsTFfMJhfA4EKgO5XFebY3eVklf80KD4GODfrjo8J2WQ+9YjL1Rd9UUmKIzhShw==", + "dependencies": { + "eventemitter3": "^4.0.0" + } + } + } +} diff --git a/node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.js b/node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.js new file mode 100644 index 0000000..cfb261f --- /dev/null +++ b/node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.js @@ -0,0 +1,148 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 5); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 5: +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Component({ + options: { + addGlobalClass: true, + pureDataPattern: /^_/, + multipleSlots: true + }, + properties: { + tabs: { type: Array, value: [] }, + tabClass: { type: String, value: '' }, + swiperClass: { type: String, value: '' }, + activeClass: { type: String, value: '' }, + tabUnderlineColor: { type: String, value: '#07c160' }, + tabActiveTextColor: { type: String, value: '#000000' }, + tabInactiveTextColor: { type: String, value: '#000000' }, + tabBackgroundColor: { type: String, value: '#ffffff' }, + activeTab: { type: Number, value: 0 }, + swipeable: { type: Boolean, value: true }, + animation: { type: Boolean, value: true }, + duration: { type: Number, value: 500 } + }, + data: { + currentView: 0 + }, + observers: { + activeTab: function activeTab(_activeTab) { + var len = this.data.tabs.length; + if (len === 0) return; + var currentView = _activeTab - 1; + if (currentView < 0) currentView = 0; + if (currentView > len - 1) currentView = len - 1; + this.setData({ currentView: currentView }); + } + }, + lifetimes: { + created: function created() {} + }, + methods: { + handleTabClick: function handleTabClick(e) { + var index = e.currentTarget.dataset.index; + this.setData({ activeTab: index }); + this.triggerEvent('tabclick', { index: index }); + }, + handleSwiperChange: function handleSwiperChange(e) { + var index = e.detail.current; + this.setData({ activeTab: index }); + this.triggerEvent('change', { index: index }); + } + } +}); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.json b/node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.json new file mode 100644 index 0000000..b18bd46 --- /dev/null +++ b/node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.wxml b/node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.wxml new file mode 100644 index 0000000..ddb213c --- /dev/null +++ b/node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.wxml @@ -0,0 +1,20 @@ + + + + + + + + {{item.title}} + + + + + + + + + + + + \ No newline at end of file diff --git a/node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.wxss b/node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.wxss new file mode 100644 index 0000000..a6982e7 --- /dev/null +++ b/node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.wxss @@ -0,0 +1 @@ +.weui-tabs{width:100%}.weui-tabs-bar__wrp{width:100%;background:#fff}.weui-tabs-bar__content{width:100%;white-space:nowrap}.weui-tabs-bar__item{display:inline-block}.weui-tabs-bar__title{display:inline-block;border-bottom-width:2px;border-bottom-style:solid;border-bottom-color:transparent} \ No newline at end of file diff --git a/node_modules/@miniprogram-component-plus/tabs/package.json b/node_modules/@miniprogram-component-plus/tabs/package.json new file mode 100644 index 0000000..a6df0d5 --- /dev/null +++ b/node_modules/@miniprogram-component-plus/tabs/package.json @@ -0,0 +1,44 @@ +{ + "_from": "@miniprogram-component-plus/tabs", + "_id": "@miniprogram-component-plus/tabs@1.0.0", + "_inBundle": false, + "_integrity": "sha512-oV9dFpIoYAz0IbDECS9toS1GHivWoAd1cchxeZKCBV3PoPCEipHOeXQS3K2USr7EY8LDyfg3f0tDAacPfagYjg==", + "_location": "/@miniprogram-component-plus/tabs", + "_phantomChildren": {}, + "_requested": { + "type": "tag", + "registry": true, + "raw": "@miniprogram-component-plus/tabs", + "name": "@miniprogram-component-plus/tabs", + "escapedName": "@miniprogram-component-plus%2ftabs", + "scope": "@miniprogram-component-plus", + "rawSpec": "", + "saveSpec": null, + "fetchSpec": "latest" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/@miniprogram-component-plus/tabs/-/tabs-1.0.0.tgz", + "_shasum": "cbf6b4e3ce7c4ac8ad790a844b407155f07d9ed7", + "_spec": "@miniprogram-component-plus/tabs", + "_where": "/Users/zhangshaokang/Desktop/matripeGit/demo/yiMini", + "author": { + "name": "sanfordsun" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "", + "keywords": [ + "tabs", + "miniprogram" + ], + "license": "ISC", + "main": "miniprogram_dist/index.js", + "name": "@miniprogram-component-plus/tabs", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "version": "1.0.0" +} diff --git a/node_modules/wxml-to-canvas/.babelrc b/node_modules/wxml-to-canvas/.babelrc new file mode 100644 index 0000000..c062b77 --- /dev/null +++ b/node_modules/wxml-to-canvas/.babelrc @@ -0,0 +1,10 @@ +{ + "plugins": [ + ["module-resolver", { + "root": ["./src"], + "alias": {} + }], + "@babel/transform-runtime" + ], + "presets": ["@babel/preset-env"] +} \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/.eslintrc.js b/node_modules/wxml-to-canvas/.eslintrc.js new file mode 100644 index 0000000..6576a30 --- /dev/null +++ b/node_modules/wxml-to-canvas/.eslintrc.js @@ -0,0 +1,99 @@ +module.exports = { + 'extends': [ + 'airbnb-base', + 'plugin:promise/recommended' + ], + 'parserOptions': { + 'ecmaVersion': 9, + 'ecmaFeatures': { + 'jsx': false + }, + 'sourceType': 'module' + }, + 'env': { + 'es6': true, + 'node': true, + 'jest': true + }, + 'plugins': [ + 'import', + 'node', + 'promise' + ], + 'rules': { + 'arrow-parens': 'off', + 'comma-dangle': [ + 'error', + 'only-multiline' + ], + 'complexity': ['error', 10], + 'func-names': 'off', + 'global-require': 'off', + 'handle-callback-err': [ + 'error', + '^(err|error)$' + ], + 'import/no-unresolved': [ + 'error', + { + 'caseSensitive': true, + 'commonjs': true, + 'ignore': ['^[^.]'] + } + ], + 'import/prefer-default-export': 'off', + 'linebreak-style': 'off', + 'no-catch-shadow': 'error', + 'no-continue': 'off', + 'no-div-regex': 'warn', + 'no-else-return': 'off', + 'no-param-reassign': 'off', + 'no-plusplus': 'off', + 'no-shadow': 'off', + 'no-multi-assign': 'off', + 'no-underscore-dangle': 'off', + 'node/no-deprecated-api': 'error', + 'node/process-exit-as-throw': 'error', + 'object-curly-spacing': [ + 'error', + 'never' + ], + 'operator-linebreak': [ + 'error', + 'after', + { + 'overrides': { + ':': 'before', + '?': 'before' + } + } + ], + 'prefer-arrow-callback': 'off', + 'prefer-destructuring': 'off', + 'prefer-template': 'off', + 'quote-props': [ + 1, + 'as-needed', + { + 'unnecessary': true + } + ], + 'semi': [ + 'error', + 'never' + ], + 'no-await-in-loop': 'off', + 'no-restricted-syntax': 'off', + 'promise/always-return': 'off', + }, + 'globals': { + 'window': true, + 'document': true, + 'App': true, + 'Page': true, + 'Component': true, + 'Behavior': true, + 'wx': true, + 'getCurrentPages': true, + } +} diff --git a/node_modules/wxml-to-canvas/LICENSE b/node_modules/wxml-to-canvas/LICENSE new file mode 100644 index 0000000..3617210 --- /dev/null +++ b/node_modules/wxml-to-canvas/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 wechat-miniprogram + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/wxml-to-canvas/README.md b/node_modules/wxml-to-canvas/README.md new file mode 100644 index 0000000..8ee64df --- /dev/null +++ b/node_modules/wxml-to-canvas/README.md @@ -0,0 +1,187 @@ +# wxml-to-canvas + +[![](https://img.shields.io/npm/v/wxml-to-canvas)](https://www.npmjs.com/package/wxml-to-canvas) +[![](https://img.shields.io/npm/l/wxml-to-canvas)](https://github.com/wechat-miniprogram/wxml-to-canvas) + +小程序内通过静态模板和样式绘制 canvas ,导出图片,可用于生成分享图等场景。[代码片段](https://developers.weixin.qq.com/s/r6UBlEm17pc6) + + +## 使用方法 + +#### Step1. npm 安装,参考 [小程序 npm 支持](https://developers.weixin.qq.com/miniprogram/dev/devtools/npm.html) + +``` +npm install --save wxml-to-canvas +``` + +#### Step2. JSON 组件声明 + +``` +{ + "usingComponents": { + "wxml-to-canvas": "wxml-to-canvas", + } +} +``` + +#### Step3. wxml 引入组件 + +``` + + +``` + +##### 属性列表 + +| 属性 | 类型 | 默认值 | 必填 | 说明 | +| --------------- | ------- | ------- | ---- | ---------------------- | +| width | Number | 400 | 否 | 画布宽度 | +| height | Number | 300 | 否 | 画布高度 | + + +#### Step4. js 获取实例 + +``` +const {wxml, style} = require('./demo.js') +Page({ + data: { + src: '' + }, + onLoad() { + this.widget = this.selectComponent('.widget') + }, + renderToCanvas() { + const p1 = this.widget.renderToCanvas({ wxml, style }) + p1.then((res) => { + this.container = res + this.extraImage() + }) + }, + extraImage() { + const p2 = this.widget.canvasToTempFilePath() + p2.then(res => { + this.setData({ + src: res.tempFilePath, + width: this.container.layoutBox.width, + height: this.container.layoutBox.height + }) + }) + } +}) +``` + +## wxml 模板 + +支持 `view`、`text`、`image` 三种标签,通过 class 匹配 style 对象中的样式。 + +``` + + + + + yeah! + + + + + +``` + +## 样式 + +对象属性值为对应 wxml 标签的 cass 驼峰形式。**需为每个元素指定 width 和 height 属性**,否则会导致布局错误。 + +存在多个 className 时,位置靠后的优先级更高,子元素会继承父级元素的可继承属性。 + +元素均为 flex 布局。left/top 等 仅在 absolute 定位下生效。 + +``` +const style = { + container: { + width: 300, + height: 200, + flexDirection: 'row', + justifyContent: 'space-around', + backgroundColor: '#ccc', + alignItems: 'center', + }, + itemBox: { + width: 80, + height: 60, + }, + red: { + backgroundColor: '#ff0000' + }, + green: { + backgroundColor: '#00ff00' + }, + blue: { + backgroundColor: '#0000ff' + }, + text: { + width: 80, + height: 60, + textAlign: 'center', + verticalAlign: 'middle', + } +} +``` + +## 接口 + +#### f1. `renderToCanvas({wxml, style}): Promise` + +渲染到 canvas,传入 wxml 模板 和 style 对象,返回的容器对象包含布局和样式信息。 + +#### f2. `canvasToTempFilePath({fileType, quality}): Promise` + +提取画布中容器所在区域内容生成相同大小的图片,返回临时文件地址。 + +`fileType` 支持 `jpg`、`png` 两种格式,quality 为图片的质量,目前仅对 jpg 有效。取值范围为 (0, 1],不在范围内时当作 1.0 处理。 + +## 支持的 css 属性 + +### 布局相关 + +| 属性名 | 支持的值或类型 | 默认值 | +| --------------------- | --------------------------------------------------------- | ---------- | +| width | number | 0 | +| height | number | 0 | +| position | relative, absolute | relative | +| left | number | 0 | +| top | number | 0 | +| right | number | 0 | +| bottom | number | 0 | +| margin | number | 0 | +| padding | number | 0 | +| borderWidth | number | 0 | +| borderRadius | number | 0 | +| flexDirection | column, row | row | +| flexShrink | number | 1 | +| flexGrow | number | | +| flexWrap | wrap, nowrap | nowrap | +| justifyContent | flex-start, center, flex-end, space-between, space-around | flex-start | +| alignItems, alignSelf | flex-start, center, flex-end, stretch | flex-start | + +支持 marginLeft、paddingLeft 等 + +### 文字 + +| 属性名 | 支持的值或类型 | 默认值 | +| --------------- | ------------------- | ----------- | +| fontSize | number | 14 | +| lineHeight | number / string | '1.4em' | +| textAlign | left, center, right | left | +| verticalAlign | top, middle, bottom | top | +| color | string | #000000 | +| backgroundColor | string | transparent | + +lineHeight 可取带 em 单位的字符串或数字类型。 + +### 变形 + +| 属性名 | 支持的值或类型 | 默认值 | +| ------ | -------------- | ------ | +| scale | number | 1 | diff --git a/node_modules/wxml-to-canvas/gulpfile.js b/node_modules/wxml-to-canvas/gulpfile.js new file mode 100644 index 0000000..fb292c2 --- /dev/null +++ b/node_modules/wxml-to-canvas/gulpfile.js @@ -0,0 +1,26 @@ +const gulp = require('gulp') +const clean = require('gulp-clean') + +const config = require('./tools/config') +const BuildTask = require('./tools/build') +const id = require('./package.json').name || 'miniprogram-custom-component' + +// 构建任务实例 +// eslint-disable-next-line no-new +new BuildTask(id, config.entry) + +// 清空生成目录和文件 +gulp.task('clean', gulp.series(() => gulp.src(config.distPath, {read: false, allowEmpty: true}).pipe(clean()), done => { + if (config.isDev) { + return gulp.src(config.demoDist, {read: false, allowEmpty: true}) + .pipe(clean()) + } + + return done() +})) +// 监听文件变化并进行开发模式构建 +gulp.task('watch', gulp.series(`${id}-watch`)) +// 开发模式构建 +gulp.task('dev', gulp.series(`${id}-dev`)) +// 生产模式构建 +gulp.task('default', gulp.series(`${id}-default`)) diff --git a/node_modules/wxml-to-canvas/miniprogram_dist/index.js b/node_modules/wxml-to-canvas/miniprogram_dist/index.js new file mode 100644 index 0000000..2a4f21e --- /dev/null +++ b/node_modules/wxml-to-canvas/miniprogram_dist/index.js @@ -0,0 +1,779 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define([], factory); + else { + var a = factory(); + for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; + } +})(window, function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 1); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports) { + +const hex = (color) => { + let result = null + + if (/^#/.test(color) && (color.length === 7 || color.length === 9)) { + return color + // eslint-disable-next-line no-cond-assign + } else if ((result = /^(rgb|rgba)\((.+)\)/.exec(color)) !== null) { + return '#' + result[2].split(',').map((part, index) => { + part = part.trim() + part = index === 3 ? Math.floor(parseFloat(part) * 255) : parseInt(part, 10) + part = part.toString(16) + if (part.length === 1) { + part = '0' + part + } + return part + }).join('') + } else { + return '#00000000' + } +} + +const splitLineToCamelCase = (str) => str.split('-').map((part, index) => { + if (index === 0) { + return part + } + return part[0].toUpperCase() + part.slice(1) +}).join('') + +const 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 + } else if (num1 < num2) { + return -1 + } + } + + return 0 +} + +module.exports = { + hex, + splitLineToCamelCase, + compareVersion +} + + +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { + + +const xmlParse = __webpack_require__(2) +const {Widget} = __webpack_require__(3) +const {Draw} = __webpack_require__(5) +const {compareVersion} = __webpack_require__(0) + +const canvasId = 'weui-canvas' + +Component({ + properties: { + width: { + type: Number, + value: 400 + }, + height: { + type: Number, + value: 300 + } + }, + data: { + use2dCanvas: false, // 2.9.2 后可用canvas 2d 接口 + }, + lifetimes: { + attached() { + const {SDKVersion, pixelRatio: dpr} = wx.getSystemInfoSync() + const use2dCanvas = compareVersion(SDKVersion, '2.9.2') >= 0 + this.dpr = dpr + this.setData({use2dCanvas}, () => { + if (use2dCanvas) { + const query = this.createSelectorQuery() + query.select(`#${canvasId}`) + .fields({node: true, size: true}) + .exec(res => { + const canvas = res[0].node + const ctx = canvas.getContext('2d') + canvas.width = res[0].width * dpr + canvas.height = res[0].height * dpr + ctx.scale(dpr, dpr) + this.ctx = ctx + this.canvas = canvas + }) + } else { + this.ctx = wx.createCanvasContext(canvasId, this) + } + }) + } + }, + methods: { + async renderToCanvas(args) { + const {wxml, style} = args + const ctx = this.ctx + const canvas = this.canvas + const use2dCanvas = this.data.use2dCanvas + + if (use2dCanvas && !canvas) { + return Promise.reject(new Error('renderToCanvas: fail canvas has not been created')) + } + + ctx.clearRect(0, 0, this.data.width, this.data.height) + const {root: xom} = xmlParse(wxml) + + const widget = new Widget(xom, style) + const container = widget.init() + this.boundary = { + top: container.layoutBox.top, + left: container.layoutBox.left, + width: container.computedStyle.width, + height: container.computedStyle.height, + } + const draw = new Draw(ctx, canvas, use2dCanvas) + await draw.drawNode(container) + + if (!use2dCanvas) { + await this.canvasDraw(ctx) + } + return Promise.resolve(container) + }, + + canvasDraw(ctx, reserve) { + return new Promise(resolve => { + ctx.draw(reserve, () => { + resolve() + }) + }) + }, + + canvasToTempFilePath(args = {}) { + const use2dCanvas = this.data.use2dCanvas + + return new Promise((resolve, reject) => { + const { + top, left, width, height + } = this.boundary + + const copyArgs = { + x: left, + y: top, + width, + height, + destWidth: width * this.dpr, + destHeight: height * this.dpr, + canvasId, + fileType: args.fileType || 'png', + quality: args.quality || 1, + success: resolve, + fail: reject + } + + if (use2dCanvas) { + delete copyArgs.canvasId + copyArgs.canvas = this.canvas + } + wx.canvasToTempFilePath(copyArgs, this) + }) + } + } +}) + + +/***/ }), +/* 2 */ +/***/ (function(module, exports) { + + +/** + * Module dependencies. + */ + + +/** + * Expose `parse`. + */ + + +/** + * Parse the given string of `xml`. + * + * @param {String} xml + * @return {Object} + * @api public + */ + +function parse(xml) { + xml = xml.trim() + + // strip comments + xml = xml.replace(//g, '') + + return document() + + /** + * XML document. + */ + + function document() { + return { + declaration: declaration(), + root: tag() + } + } + + /** + * Declaration. + */ + + function declaration() { + const m = match(/^<\?xml\s*/) + if (!m) return + + // tag + const node = { + attributes: {} + } + + // attributes + while (!(eos() || is('?>'))) { + const attr = attribute() + if (!attr) return node + node.attributes[attr.name] = attr.value + } + + match(/\?>\s*/) + + return node + } + + /** + * Tag. + */ + + function tag() { + const m = match(/^<([\w-:.]+)\s*/) + if (!m) return + + // name + const node = { + name: m[1], + attributes: {}, + children: [] + } + + // attributes + while (!(eos() || is('>') || is('?>') || is('/>'))) { + const attr = attribute() + if (!attr) return node + node.attributes[attr.name] = attr.value + } + + // self closing tag + if (match(/^\s*\/>\s*/)) { + return node + } + + match(/\??>\s*/) + + // content + node.content = content() + + // children + let child + while (child = tag()) { + node.children.push(child) + } + + // closing + match(/^<\/[\w-:.]+>\s*/) + + return node + } + + /** + * Text content. + */ + + function content() { + const m = match(/^([^<]*)/) + if (m) return m[1] + return '' + } + + /** + * Attribute. + */ + + function attribute() { + const m = match(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/) + if (!m) return + return {name: m[1], value: strip(m[2])} + } + + /** + * Strip quotes from `val`. + */ + + function strip(val) { + return val.replace(/^['"]|['"]$/g, '') + } + + /** + * Match `re` and advance the string. + */ + + function match(re) { + const m = xml.match(re) + if (!m) return + xml = xml.slice(m[0].length) + return m + } + + /** + * End-of-source. + */ + + function eos() { + return xml.length == 0 + } + + /** + * Check for `prefix`. + */ + + function is(prefix) { + return xml.indexOf(prefix) == 0 + } +} + +module.exports = parse + + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +const Block = __webpack_require__(4) +const {splitLineToCamelCase} = __webpack_require__(0) + +class Element extends Block { + constructor(prop) { + super(prop.style) + this.name = prop.name + this.attributes = prop.attributes + } +} + + +class Widget { + constructor(xom, style) { + this.xom = xom + this.style = style + + this.inheritProps = ['fontSize', 'lineHeight', 'textAlign', 'verticalAlign', 'color'] + } + + init() { + this.container = this.create(this.xom) + this.container.layout() + + this.inheritStyle(this.container) + return this.container + } + + // 继承父节点的样式 + inheritStyle(node) { + const parent = node.parent || null + const children = node.children || {} + const computedStyle = node.computedStyle + + if (parent) { + this.inheritProps.forEach(prop => { + computedStyle[prop] = computedStyle[prop] || parent.computedStyle[prop] + }) + } + + Object.values(children).forEach(child => { + this.inheritStyle(child) + }) + } + + create(node) { + let classNames = (node.attributes.class || '').split(' ') + classNames = classNames.map(item => splitLineToCamelCase(item.trim())) + const style = {} + classNames.forEach(item => { + Object.assign(style, this.style[item] || {}) + }) + + const args = {name: node.name, style} + + const attrs = Object.keys(node.attributes) + const attributes = {} + for (const attr of attrs) { + const value = node.attributes[attr] + const CamelAttr = splitLineToCamelCase(attr) + + if (value === '' || value === 'true') { + attributes[CamelAttr] = true + } else if (value === 'false') { + attributes[CamelAttr] = false + } else { + attributes[CamelAttr] = value + } + } + attributes.text = node.content + args.attributes = attributes + const element = new Element(args) + node.children.forEach(childNode => { + const childElement = this.create(childNode) + element.add(childElement) + }) + return element + } +} + +module.exports = {Widget} + + +/***/ }), +/* 4 */ +/***/ (function(module, exports) { + +module.exports = require("widget-ui"); + +/***/ }), +/* 5 */ +/***/ (function(module, exports) { + +class Draw { + constructor(context, canvas, use2dCanvas = false) { + this.ctx = context + this.canvas = canvas || null + this.use2dCanvas = use2dCanvas + } + + roundRect(x, y, w, h, r, fill = true, stroke = false) { + if (r < 0) return + const ctx = this.ctx + + ctx.beginPath() + ctx.arc(x + r, y + r, r, Math.PI, Math.PI * 3 / 2) + ctx.arc(x + w - r, y + r, r, Math.PI * 3 / 2, 0) + ctx.arc(x + w - r, y + h - r, r, 0, Math.PI / 2) + ctx.arc(x + r, y + h - r, r, Math.PI / 2, Math.PI) + ctx.lineTo(x, y + r) + if (stroke) ctx.stroke() + if (fill) ctx.fill() + } + + drawView(box, style) { + const ctx = this.ctx + const { + left: x, top: y, width: w, height: h + } = box + const { + borderRadius = 0, + borderWidth = 0, + borderColor, + color = '#000', + backgroundColor = 'transparent', + } = style + ctx.save() + // 外环 + if (borderWidth > 0) { + ctx.fillStyle = borderColor || color + this.roundRect(x, y, w, h, borderRadius) + } + + // 内环 + ctx.fillStyle = backgroundColor + const innerWidth = w - 2 * borderWidth + const innerHeight = h - 2 * borderWidth + const innerRadius = borderRadius - borderWidth >= 0 ? borderRadius - borderWidth : 0 + this.roundRect(x + borderWidth, y + borderWidth, innerWidth, innerHeight, innerRadius) + ctx.restore() + } + + async drawImage(img, box, style) { + await new Promise((resolve, reject) => { + const ctx = this.ctx + const canvas = this.canvas + + const { + borderRadius = 0 + } = style + const { + left: x, top: y, width: w, height: h + } = box + ctx.save() + this.roundRect(x, y, w, h, borderRadius, false, false) + ctx.clip() + + const _drawImage = (img) => { + if (this.use2dCanvas) { + const Image = canvas.createImage() + Image.onload = () => { + ctx.drawImage(Image, x, y, w, h) + ctx.restore() + resolve() + } + Image.onerror = () => { reject(new Error(`createImage fail: ${img}`)) } + Image.src = img + } else { + ctx.drawImage(img, x, y, w, h) + ctx.restore() + resolve() + } + } + + const isTempFile = /^wxfile:\/\//.test(img) + const isNetworkFile = /^https?:\/\//.test(img) + + if (isTempFile) { + _drawImage(img) + } else if (isNetworkFile) { + wx.downloadFile({ + url: img, + success(res) { + if (res.statusCode === 200) { + _drawImage(res.tempFilePath) + } else { + reject(new Error(`downloadFile:fail ${img}`)) + } + }, + fail() { + reject(new Error(`downloadFile:fail ${img}`)) + } + }) + } else { + reject(new Error(`image format error: ${img}`)) + } + }) + } + + // eslint-disable-next-line complexity + drawText(text, box, style) { + const ctx = this.ctx + let { + left: x, top: y, width: w, height: h + } = box + let { + color = '#000', + lineHeight = '1.4em', + fontSize = 14, + textAlign = 'left', + verticalAlign = 'top', + backgroundColor = 'transparent' + } = style + + if (typeof lineHeight === 'string') { // 2em + lineHeight = Math.ceil(parseFloat(lineHeight.replace('em')) * fontSize) + } + if (!text || (lineHeight > h)) return + + ctx.save() + ctx.textBaseline = 'top' + ctx.font = `${fontSize}px sans-serif` + ctx.textAlign = textAlign + + // 背景色 + ctx.fillStyle = backgroundColor + this.roundRect(x, y, w, h, 0) + + // 文字颜色 + ctx.fillStyle = color + + // 水平布局 + switch (textAlign) { + case 'left': + break + case 'center': + x += 0.5 * w + break + case 'right': + x += w + break + default: break + } + + const textWidth = ctx.measureText(text).width + const actualHeight = Math.ceil(textWidth / w) * lineHeight + let paddingTop = Math.ceil((h - actualHeight) / 2) + if (paddingTop < 0) paddingTop = 0 + + // 垂直布局 + switch (verticalAlign) { + case 'top': + break + case 'middle': + y += paddingTop + break + case 'bottom': + y += 2 * paddingTop + break + default: break + } + + const inlinePaddingTop = Math.ceil((lineHeight - fontSize) / 2) + + // 不超过一行 + if (textWidth <= w) { + ctx.fillText(text, x, y + inlinePaddingTop) + return + } + + // 多行文本 + const chars = text.split('') + const _y = y + + // 逐行绘制 + let line = '' + for (const ch of chars) { + const testLine = line + ch + const testWidth = ctx.measureText(testLine).width + + if (testWidth > w) { + ctx.fillText(line, x, y + inlinePaddingTop) + y += lineHeight + line = ch + if ((y + lineHeight) > (_y + h)) break + } else { + line = testLine + } + } + + // 避免溢出 + if ((y + lineHeight) <= (_y + h)) { + ctx.fillText(line, x, y + inlinePaddingTop) + } + ctx.restore() + } + + async drawNode(element) { + const {layoutBox, computedStyle, name} = element + const {src, text} = element.attributes + if (name === 'view') { + this.drawView(layoutBox, computedStyle) + } else if (name === 'image') { + await this.drawImage(src, layoutBox, computedStyle) + } else if (name === 'text') { + this.drawText(text, layoutBox, computedStyle) + } + const childs = Object.values(element.children) + for (const child of childs) { + await this.drawNode(child) + } + } +} + + +module.exports = { + Draw +} + + +/***/ }) +/******/ ]); +}); \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/miniprogram_dist/index.json b/node_modules/wxml-to-canvas/miniprogram_dist/index.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/node_modules/wxml-to-canvas/miniprogram_dist/index.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/miniprogram_dist/index.wxml b/node_modules/wxml-to-canvas/miniprogram_dist/index.wxml new file mode 100644 index 0000000..a0010ad --- /dev/null +++ b/node_modules/wxml-to-canvas/miniprogram_dist/index.wxml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/miniprogram_dist/index.wxss b/node_modules/wxml-to-canvas/miniprogram_dist/index.wxss new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/wxml-to-canvas/miniprogram_dist/utils.js b/node_modules/wxml-to-canvas/miniprogram_dist/utils.js new file mode 100644 index 0000000..c3cf7d7 --- /dev/null +++ b/node_modules/wxml-to-canvas/miniprogram_dist/utils.js @@ -0,0 +1,57 @@ +const hex = (color) => { + let result = null + + if (/^#/.test(color) && (color.length === 7 || color.length === 9)) { + return color + // eslint-disable-next-line no-cond-assign + } else if ((result = /^(rgb|rgba)\((.+)\)/.exec(color)) !== null) { + return '#' + result[2].split(',').map((part, index) => { + part = part.trim() + part = index === 3 ? Math.floor(parseFloat(part) * 255) : parseInt(part, 10) + part = part.toString(16) + if (part.length === 1) { + part = '0' + part + } + return part + }).join('') + } else { + return '#00000000' + } +} + +const splitLineToCamelCase = (str) => str.split('-').map((part, index) => { + if (index === 0) { + return part + } + return part[0].toUpperCase() + part.slice(1) +}).join('') + +const 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 + } else if (num1 < num2) { + return -1 + } + } + + return 0 +} + +module.exports = { + hex, + splitLineToCamelCase, + compareVersion +} diff --git a/node_modules/wxml-to-canvas/node_modules/eventemitter3/LICENSE b/node_modules/wxml-to-canvas/node_modules/eventemitter3/LICENSE new file mode 100644 index 0000000..abcbd54 --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/eventemitter3/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Arnout Kazemier + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/wxml-to-canvas/node_modules/eventemitter3/README.md b/node_modules/wxml-to-canvas/node_modules/eventemitter3/README.md new file mode 100644 index 0000000..aba7e18 --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/eventemitter3/README.md @@ -0,0 +1,94 @@ +# EventEmitter3 + +[![Version npm](https://img.shields.io/npm/v/eventemitter3.svg?style=flat-square)](https://www.npmjs.com/package/eventemitter3)[![Build Status](https://img.shields.io/travis/primus/eventemitter3/master.svg?style=flat-square)](https://travis-ci.org/primus/eventemitter3)[![Dependencies](https://img.shields.io/david/primus/eventemitter3.svg?style=flat-square)](https://david-dm.org/primus/eventemitter3)[![Coverage Status](https://img.shields.io/coveralls/primus/eventemitter3/master.svg?style=flat-square)](https://coveralls.io/r/primus/eventemitter3?branch=master)[![IRC channel](https://img.shields.io/badge/IRC-irc.freenode.net%23primus-00a8ff.svg?style=flat-square)](https://webchat.freenode.net/?channels=primus) + +[![Sauce Test Status](https://saucelabs.com/browser-matrix/eventemitter3.svg)](https://saucelabs.com/u/eventemitter3) + +EventEmitter3 is a high performance EventEmitter. It has been micro-optimized +for various of code paths making this, one of, if not the fastest EventEmitter +available for Node.js and browsers. The module is API compatible with the +EventEmitter that ships by default with Node.js but there are some slight +differences: + +- Domain support has been removed. +- We do not `throw` an error when you emit an `error` event and nobody is + listening. +- The `newListener` and `removeListener` events have been removed as they + are useful only in some uncommon use-cases. +- The `setMaxListeners`, `getMaxListeners`, `prependListener` and + `prependOnceListener` methods are not available. +- Support for custom context for events so there is no need to use `fn.bind`. +- The `removeListener` method removes all matching listeners, not only the + first. + +It's a drop in replacement for existing EventEmitters, but just faster. Free +performance, who wouldn't want that? The EventEmitter is written in EcmaScript 3 +so it will work in the oldest browsers and node versions that you need to +support. + +## Installation + +```bash +$ npm install --save eventemitter3 +``` + +## CDN + +Recommended CDN: + +```text +https://unpkg.com/eventemitter3@latest/umd/eventemitter3.min.js +``` + +## Usage + +After installation the only thing you need to do is require the module: + +```js +var EventEmitter = require('eventemitter3'); +``` + +And you're ready to create your own EventEmitter instances. For the API +documentation, please follow the official Node.js documentation: + +http://nodejs.org/api/events.html + +### Contextual emits + +We've upgraded the API of the `EventEmitter.on`, `EventEmitter.once` and +`EventEmitter.removeListener` to accept an extra argument which is the `context` +or `this` value that should be set for the emitted events. This means you no +longer have the overhead of an event that required `fn.bind` in order to get a +custom `this` value. + +```js +var EE = new EventEmitter() + , context = { foo: 'bar' }; + +function emitted() { + console.log(this === context); // true +} + +EE.once('event-name', emitted, context); +EE.on('another-event', emitted, context); +EE.removeListener('another-event', emitted, context); +``` + +### Tests and benchmarks + +This module is well tested. You can run: + +- `npm test` to run the tests under Node.js. +- `npm run test-browser` to run the tests in real browsers via Sauce Labs. + +We also have a set of benchmarks to compare EventEmitter3 with some available +alternatives. To run the benchmarks run `npm run benchmark`. + +Tests and benchmarks are not included in the npm package. If you want to play +with them you have to clone the GitHub repository. +Note that you will have to run an additional `npm i` in the benchmarks folder +before `npm run benchmark`. + +## License + +[MIT](LICENSE) diff --git a/node_modules/wxml-to-canvas/node_modules/eventemitter3/index.d.ts b/node_modules/wxml-to-canvas/node_modules/eventemitter3/index.d.ts new file mode 100644 index 0000000..118f68b --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/eventemitter3/index.d.ts @@ -0,0 +1,134 @@ +/** + * Minimal `EventEmitter` interface that is molded against the Node.js + * `EventEmitter` interface. + */ +declare class EventEmitter< + EventTypes extends EventEmitter.ValidEventTypes = string | symbol, + Context extends any = any +> { + static prefixed: string | boolean; + + /** + * Return an array listing the events for which the emitter has registered + * listeners. + */ + eventNames(): Array>; + + /** + * Return the listeners registered for a given event. + */ + listeners>( + event: T + ): Array>; + + /** + * Return the number of listeners listening to a given event. + */ + listenerCount(event: EventEmitter.EventNames): number; + + /** + * Calls each of the listeners registered for a given event. + */ + emit>( + event: T, + ...args: EventEmitter.EventArgs + ): boolean; + + /** + * Add a listener for a given event. + */ + on>( + event: T, + fn: EventEmitter.EventListener, + context?: Context + ): this; + addListener>( + event: T, + fn: EventEmitter.EventListener, + context?: Context + ): this; + + /** + * Add a one-time listener for a given event. + */ + once>( + event: T, + fn: EventEmitter.EventListener, + context?: Context + ): this; + + /** + * Remove the listeners of a given event. + */ + removeListener>( + event: T, + fn?: EventEmitter.EventListener, + context?: Context, + once?: boolean + ): this; + off>( + event: T, + fn?: EventEmitter.EventListener, + context?: Context, + once?: boolean + ): this; + + /** + * Remove all listeners, or those of the specified event. + */ + removeAllListeners(event?: EventEmitter.EventNames): this; +} + +declare namespace EventEmitter { + export interface ListenerFn { + (...args: Args): void; + } + + export interface EventEmitterStatic { + new < + EventTypes extends ValidEventTypes = string | symbol, + Context = any + >(): EventEmitter; + } + + /** + * `object` should be in either of the following forms: + * ``` + * interface EventTypes { + * 'event-with-parameters': any[] + * 'event-with-example-handler': (...args: any[]) => void + * } + * ``` + */ + export type ValidEventTypes = string | symbol | object; + + export type EventNames = T extends string | symbol + ? T + : keyof T; + + export type ArgumentMap = { + [K in keyof T]: T[K] extends (...args: any[]) => void + ? Parameters + : T[K] extends any[] + ? T[K] + : any[]; + }; + + export type EventListener< + T extends ValidEventTypes, + K extends EventNames + > = T extends string | symbol + ? (...args: any[]) => void + : ( + ...args: ArgumentMap>[Extract] + ) => void; + + export type EventArgs< + T extends ValidEventTypes, + K extends EventNames + > = Parameters>; + + export const EventEmitter: EventEmitterStatic; +} + +export = EventEmitter; diff --git a/node_modules/wxml-to-canvas/node_modules/eventemitter3/index.js b/node_modules/wxml-to-canvas/node_modules/eventemitter3/index.js new file mode 100644 index 0000000..6ea485c --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/eventemitter3/index.js @@ -0,0 +1,336 @@ +'use strict'; + +var has = Object.prototype.hasOwnProperty + , prefix = '~'; + +/** + * Constructor to create a storage for our `EE` objects. + * An `Events` instance is a plain object whose properties are event names. + * + * @constructor + * @private + */ +function Events() {} + +// +// We try to not inherit from `Object.prototype`. In some engines creating an +// instance in this way is faster than calling `Object.create(null)` directly. +// If `Object.create(null)` is not supported we prefix the event names with a +// character to make sure that the built-in object properties are not +// overridden or used as an attack vector. +// +if (Object.create) { + Events.prototype = Object.create(null); + + // + // This hack is needed because the `__proto__` property is still inherited in + // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5. + // + if (!new Events().__proto__) prefix = false; +} + +/** + * Representation of a single event listener. + * + * @param {Function} fn The listener function. + * @param {*} context The context to invoke the listener with. + * @param {Boolean} [once=false] Specify if the listener is a one-time listener. + * @constructor + * @private + */ +function EE(fn, context, once) { + this.fn = fn; + this.context = context; + this.once = once || false; +} + +/** + * Add a listener for a given event. + * + * @param {EventEmitter} emitter Reference to the `EventEmitter` instance. + * @param {(String|Symbol)} event The event name. + * @param {Function} fn The listener function. + * @param {*} context The context to invoke the listener with. + * @param {Boolean} once Specify if the listener is a one-time listener. + * @returns {EventEmitter} + * @private + */ +function addListener(emitter, event, fn, context, once) { + if (typeof fn !== 'function') { + throw new TypeError('The listener must be a function'); + } + + var listener = new EE(fn, context || emitter, once) + , evt = prefix ? prefix + event : event; + + if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++; + else if (!emitter._events[evt].fn) emitter._events[evt].push(listener); + else emitter._events[evt] = [emitter._events[evt], listener]; + + return emitter; +} + +/** + * Clear event by name. + * + * @param {EventEmitter} emitter Reference to the `EventEmitter` instance. + * @param {(String|Symbol)} evt The Event name. + * @private + */ +function clearEvent(emitter, evt) { + if (--emitter._eventsCount === 0) emitter._events = new Events(); + else delete emitter._events[evt]; +} + +/** + * Minimal `EventEmitter` interface that is molded against the Node.js + * `EventEmitter` interface. + * + * @constructor + * @public + */ +function EventEmitter() { + this._events = new Events(); + this._eventsCount = 0; +} + +/** + * Return an array listing the events for which the emitter has registered + * listeners. + * + * @returns {Array} + * @public + */ +EventEmitter.prototype.eventNames = function eventNames() { + var names = [] + , events + , name; + + if (this._eventsCount === 0) return names; + + for (name in (events = this._events)) { + if (has.call(events, name)) names.push(prefix ? name.slice(1) : name); + } + + if (Object.getOwnPropertySymbols) { + return names.concat(Object.getOwnPropertySymbols(events)); + } + + return names; +}; + +/** + * Return the listeners registered for a given event. + * + * @param {(String|Symbol)} event The event name. + * @returns {Array} The registered listeners. + * @public + */ +EventEmitter.prototype.listeners = function listeners(event) { + var evt = prefix ? prefix + event : event + , handlers = this._events[evt]; + + if (!handlers) return []; + if (handlers.fn) return [handlers.fn]; + + for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) { + ee[i] = handlers[i].fn; + } + + return ee; +}; + +/** + * Return the number of listeners listening to a given event. + * + * @param {(String|Symbol)} event The event name. + * @returns {Number} The number of listeners. + * @public + */ +EventEmitter.prototype.listenerCount = function listenerCount(event) { + var evt = prefix ? prefix + event : event + , listeners = this._events[evt]; + + if (!listeners) return 0; + if (listeners.fn) return 1; + return listeners.length; +}; + +/** + * Calls each of the listeners registered for a given event. + * + * @param {(String|Symbol)} event The event name. + * @returns {Boolean} `true` if the event had listeners, else `false`. + * @public + */ +EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) { + var evt = prefix ? prefix + event : event; + + if (!this._events[evt]) return false; + + var listeners = this._events[evt] + , len = arguments.length + , args + , i; + + if (listeners.fn) { + if (listeners.once) this.removeListener(event, listeners.fn, undefined, true); + + switch (len) { + case 1: return listeners.fn.call(listeners.context), true; + case 2: return listeners.fn.call(listeners.context, a1), true; + case 3: return listeners.fn.call(listeners.context, a1, a2), true; + case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true; + case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true; + case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true; + } + + for (i = 1, args = new Array(len -1); i < len; i++) { + args[i - 1] = arguments[i]; + } + + listeners.fn.apply(listeners.context, args); + } else { + var length = listeners.length + , j; + + for (i = 0; i < length; i++) { + if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true); + + switch (len) { + case 1: listeners[i].fn.call(listeners[i].context); break; + case 2: listeners[i].fn.call(listeners[i].context, a1); break; + case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break; + case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break; + default: + if (!args) for (j = 1, args = new Array(len -1); j < len; j++) { + args[j - 1] = arguments[j]; + } + + listeners[i].fn.apply(listeners[i].context, args); + } + } + } + + return true; +}; + +/** + * Add a listener for a given event. + * + * @param {(String|Symbol)} event The event name. + * @param {Function} fn The listener function. + * @param {*} [context=this] The context to invoke the listener with. + * @returns {EventEmitter} `this`. + * @public + */ +EventEmitter.prototype.on = function on(event, fn, context) { + return addListener(this, event, fn, context, false); +}; + +/** + * Add a one-time listener for a given event. + * + * @param {(String|Symbol)} event The event name. + * @param {Function} fn The listener function. + * @param {*} [context=this] The context to invoke the listener with. + * @returns {EventEmitter} `this`. + * @public + */ +EventEmitter.prototype.once = function once(event, fn, context) { + return addListener(this, event, fn, context, true); +}; + +/** + * Remove the listeners of a given event. + * + * @param {(String|Symbol)} event The event name. + * @param {Function} fn Only remove the listeners that match this function. + * @param {*} context Only remove the listeners that have this context. + * @param {Boolean} once Only remove one-time listeners. + * @returns {EventEmitter} `this`. + * @public + */ +EventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) { + var evt = prefix ? prefix + event : event; + + if (!this._events[evt]) return this; + if (!fn) { + clearEvent(this, evt); + return this; + } + + var listeners = this._events[evt]; + + if (listeners.fn) { + if ( + listeners.fn === fn && + (!once || listeners.once) && + (!context || listeners.context === context) + ) { + clearEvent(this, evt); + } + } else { + for (var i = 0, events = [], length = listeners.length; i < length; i++) { + if ( + listeners[i].fn !== fn || + (once && !listeners[i].once) || + (context && listeners[i].context !== context) + ) { + events.push(listeners[i]); + } + } + + // + // Reset the array, or remove it completely if we have no more listeners. + // + if (events.length) this._events[evt] = events.length === 1 ? events[0] : events; + else clearEvent(this, evt); + } + + return this; +}; + +/** + * Remove all listeners, or those of the specified event. + * + * @param {(String|Symbol)} [event] The event name. + * @returns {EventEmitter} `this`. + * @public + */ +EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) { + var evt; + + if (event) { + evt = prefix ? prefix + event : event; + if (this._events[evt]) clearEvent(this, evt); + } else { + this._events = new Events(); + this._eventsCount = 0; + } + + return this; +}; + +// +// Alias methods names because people roll like that. +// +EventEmitter.prototype.off = EventEmitter.prototype.removeListener; +EventEmitter.prototype.addListener = EventEmitter.prototype.on; + +// +// Expose the prefix. +// +EventEmitter.prefixed = prefix; + +// +// Allow `EventEmitter` to be imported as module namespace. +// +EventEmitter.EventEmitter = EventEmitter; + +// +// Expose the module. +// +if ('undefined' !== typeof module) { + module.exports = EventEmitter; +} diff --git a/node_modules/wxml-to-canvas/node_modules/eventemitter3/package.json b/node_modules/wxml-to-canvas/node_modules/eventemitter3/package.json new file mode 100644 index 0000000..8e60976 --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/eventemitter3/package.json @@ -0,0 +1,84 @@ +{ + "_from": "eventemitter3@^4.0.0", + "_id": "eventemitter3@4.0.7", + "_inBundle": false, + "_integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "_location": "/wxml-to-canvas/eventemitter3", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "eventemitter3@^4.0.0", + "name": "eventemitter3", + "escapedName": "eventemitter3", + "rawSpec": "^4.0.0", + "saveSpec": null, + "fetchSpec": "^4.0.0" + }, + "_requiredBy": [ + "/wxml-to-canvas/widget-ui" + ], + "_resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "_shasum": "2de9b68f6528d5644ef5c59526a1b4a07306169f", + "_spec": "eventemitter3@^4.0.0", + "_where": "/Users/zhangshaokang/Desktop/matripeGit/demo/yiMini/node_modules/wxml-to-canvas/node_modules/widget-ui", + "author": { + "name": "Arnout Kazemier" + }, + "bugs": { + "url": "https://github.com/primus/eventemitter3/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "EventEmitter3 focuses on performance while maintaining a Node.js AND browser compatible interface.", + "devDependencies": { + "assume": "^2.2.0", + "browserify": "^16.5.0", + "mocha": "^8.0.1", + "nyc": "^15.1.0", + "pre-commit": "^1.2.0", + "sauce-browsers": "^2.0.0", + "sauce-test": "^1.3.3", + "uglify-js": "^3.9.0" + }, + "files": [ + "index.js", + "index.d.ts", + "umd" + ], + "homepage": "https://github.com/primus/eventemitter3#readme", + "keywords": [ + "EventEmitter", + "EventEmitter2", + "EventEmitter3", + "Events", + "addEventListener", + "addListener", + "emit", + "emits", + "emitter", + "event", + "once", + "pub/sub", + "publish", + "reactor", + "subscribe" + ], + "license": "MIT", + "main": "index.js", + "name": "eventemitter3", + "repository": { + "type": "git", + "url": "git://github.com/primus/eventemitter3.git" + }, + "scripts": { + "benchmark": "find benchmarks/run -name '*.js' -exec benchmarks/start.sh {} \\;", + "browserify": "rm -rf umd && mkdir umd && browserify index.js -s EventEmitter3 -o umd/eventemitter3.js", + "minify": "uglifyjs umd/eventemitter3.js --source-map -cm -o umd/eventemitter3.min.js", + "prepublishOnly": "npm run browserify && npm run minify", + "test": "nyc --reporter=html --reporter=text mocha test/test.js", + "test-browser": "node test/browser.js" + }, + "typings": "index.d.ts", + "version": "4.0.7" +} diff --git a/node_modules/wxml-to-canvas/node_modules/eventemitter3/umd/eventemitter3.js b/node_modules/wxml-to-canvas/node_modules/eventemitter3/umd/eventemitter3.js new file mode 100644 index 0000000..888fcb8 --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/eventemitter3/umd/eventemitter3.js @@ -0,0 +1,340 @@ +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.EventEmitter3 = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i=0&&L(e))return t.style.borderStartWidth;var o=null;switch(e){case"row":o=t.style.borderLeftWidth;break;case"row-reverse":o=t.style.borderRightWidth;break;case"column":o=t.style.borderTopWidth;break;case"column-reverse":o=t.style.borderBottomWidth}return null!=o&&o>=0?o:void 0!==t.style.borderWidth&&t.style.borderWidth>=0?t.style.borderWidth:0}function E(t,e){if(void 0!==t.style.borderEndWidth&&t.style.borderEndWidth>=0&&L(e))return t.style.borderEndWidth;var o=null;switch(e){case"row":o=t.style.borderRightWidth;break;case"row-reverse":o=t.style.borderLeftWidth;break;case"column":o=t.style.borderBottomWidth;break;case"column-reverse":o=t.style.borderTopWidth}return null!=o&&o>=0?o:void 0!==t.style.borderWidth&&t.style.borderWidth>=0?t.style.borderWidth:0}function C(t,e){return function(t,e){if(void 0!==t.style.paddingStart&&t.style.paddingStart>=0&&L(e))return t.style.paddingStart;var o=null;switch(e){case"row":o=t.style.paddingLeft;break;case"row-reverse":o=t.style.paddingRight;break;case"column":o=t.style.paddingTop;break;case"column-reverse":o=t.style.paddingBottom}return null!=o&&o>=0?o:void 0!==t.style.padding&&t.style.padding>=0?t.style.padding:0}(t,e)+B(t,e)}function T(t,e){return function(t,e){if(void 0!==t.style.paddingEnd&&t.style.paddingEnd>=0&&L(e))return t.style.paddingEnd;var o=null;switch(e){case"row":o=t.style.paddingRight;break;case"row-reverse":o=t.style.paddingLeft;break;case"column":o=t.style.paddingBottom;break;case"column-reverse":o=t.style.paddingTop}return null!=o&&o>=0?o:void 0!==t.style.padding&&t.style.padding>=0?t.style.padding:0}(t,e)+E(t,e)}function O(t,e){return B(t,e)+E(t,e)}function _(t,e){return k(t,e)+j(t,e)}function R(t,e){return C(t,e)+T(t,e)}function A(t,e){return e.style.alignSelf?e.style.alignSelf:t.style.alignItems?t.style.alignItems:"stretch"}function P(t,e){if(e===r){if(t===i)return l;if(t===l)return i}return t}function D(t,e){return function(t){return t===n||t===a}(t)?P(i,e):n}function H(t){return t.style.position?t.style.position:"relative"}function M(t){return H(t)===v&&t.style.flex>0}function I(t,e){return t.layout[S[e]]+_(t,e)}function N(t,e){return void 0!==t.style[S[e]]&&t.style[S[e]]>=0}function F(t,e){return void 0!==t.style[e]}function q(t,e){return void 0!==t.style[e]?t.style[e]:0}function z(t,e,o){var r={row:t.style.minWidth,"row-reverse":t.style.minWidth,column:t.style.minHeight,"column-reverse":t.style.minHeight}[e],i={row:t.style.maxWidth,"row-reverse":t.style.maxWidth,column:t.style.maxHeight,"column-reverse":t.style.maxHeight}[e],l=o;return void 0!==i&&i>=0&&l>i&&(l=i),void 0!==r&&r>=0&&le?t:e}function G(t,e){void 0===t.layout[S[e]]&&N(t,e)&&(t.layout[S[e]]=U(z(t,e,t.style[S[e]]),R(t,e)))}function J(t,e,o){e.layout[x[o]]=t.layout[S[o]]-e.layout[S[o]]-e.layout[w[o]]}function K(t,e){return void 0!==t.style[b[e]]?q(t,b[e]):-q(t,x[e])}function Q(r,E,Q){var X=function(t,r){var i;return(i=t.style.direction?t.style.direction:e)===e&&(i=void 0===r?o:r),i}(r,Q),Y=P(function(t){return t.style.flexDirection?t.style.flexDirection:n}(r),X),Z=D(Y,X),$=P(i,X);G(r,Y),G(r,Z),r.layout.direction=X,r.layout[b[Y]]+=k(r,Y)+K(r,Y),r.layout[x[Y]]+=j(r,Y)+K(r,Y),r.layout[b[Z]]+=k(r,Z)+K(r,Z),r.layout[x[Z]]+=j(r,Z)+K(r,Z);var tt=r.children.length,et=R(r,$);if(function(t){return void 0!==t.style.measure}(r)){var ot=!W(r.layout[S[$]]),rt=t;rt=N(r,$)?r.style.width:ot?r.layout[S[$]]:E-_(r,$),rt-=et;var it=!N(r,$)&&!ot,lt=!N(r,n)&&W(r.layout[S[n]]);if(it||lt){var nt=r.style.measure(rt);it&&(r.layout.width=nt.width+et),lt&&(r.layout.height=nt.height+R(r,n))}if(0===tt)return}var at,ut,dt,st,yt=function(t){return"wrap"===t.style.flexWrap}(r),ct=function(t){return t.style.justifyContent?t.style.justifyContent:"flex-start"}(r),ft=C(r,Y),ht=C(r,Z),pt=R(r,Y),gt=R(r,Z),vt=!W(r.layout[S[Y]]),mt=!W(r.layout[S[Z]]),bt=L(Y),xt=null,wt=null,St=t;vt&&(St=r.layout[S[Y]]-pt);for(var Wt=0,Lt=0,kt=0,jt=0,Bt=0,Et=0;LtSt&&at!==Wt){Rt--,kt=1;break}At&&(H(dt)!==v||M(dt))&&(At=!1,Pt=at),Dt&&(H(dt)!==v||Xt!==g&&Xt!==f||W(dt.layout[S[Z]]))&&(Dt=!1,Ht=at),At&&(dt.layout[w[Y]]+=Nt,vt&&J(r,dt,Y),Nt+=I(dt,Y),Ft=U(Ft,z(dt,Z,I(dt,Z)))),Dt&&(dt.layout[w[Z]]+=jt+ht,mt&&J(r,dt,Z)),kt=0,Tt+=qt,Lt=at+1}var zt=0,Ut=0,Gt=0;if(Gt=vt?St-Tt:U(Tt,0)-Tt,0!==Ot){var Jt,Kt,Qt=Gt/_t;for(It=Mt;null!==It;)(Jt=Qt*It.style.flex+R(It,Y))!==(Kt=z(It,Y,Jt))&&(Gt-=Kt,_t-=It.style.flex),It=It.nextFlexChild;for((Qt=Gt/_t)<0&&(Qt=0),It=Mt;null!==It;)It.layout[S[Y]]=z(It,Y,Qt*It.style.flex+R(It,Y)),Ct=t,N(r,$)?Ct=r.layout[S[$]]-et:bt||(Ct=E-_(r,$)-et),V(It,Ct,X),dt=It,It=It.nextFlexChild,dt.nextFlexChild=null}else ct!==u&&(ct===d?zt=Gt/2:ct===s?zt=Gt:ct===y?(Gt=U(Gt,0),Ut=Ot+Rt-1!=0?Gt/(Ot+Rt-1):0):ct===c&&(zt=(Ut=Gt/(Ot+Rt))/2));for(Nt+=zt,at=Pt;at1&&mt){var $t=r.layout[S[Z]]-gt,te=$t-jt,ee=0,oe=ht,re=function(t){return t.style.alignContent?t.style.alignContent:"flex-start"}(r);re===p?oe+=te:re===h?oe+=te/2:re===g&&$t>jt&&(ee=te/Et);var ie=0;for(at=0;at { + left: undefined; + top: undefined; + right: undefined; + bottom: undefined; + width: undefined; + height: undefined; + maxWidth: undefined; + maxHeight: undefined; + minWidth: undefined; + minHeight: undefined; + margin: undefined; + marginLeft: undefined; + marginRight: undefined; + marginTop: undefined; + marginBottom: undefined; + padding: undefined; + paddingLeft: undefined; + paddingRight: undefined; + paddingTop: undefined; + paddingBottom: undefined; + borderWidth: undefined; + flexDirection: undefined; + justifyContent: undefined; + alignItems: undefined; + alignSelf: undefined; + flex: undefined; + flexWrap: undefined; + position: undefined; + hidden: boolean; + scale: number; +}; +export { getDefaultStyle, scalableStyles, textStyles, layoutAffectedStyles }; diff --git a/node_modules/wxml-to-canvas/node_modules/widget-ui/jest.config.js b/node_modules/wxml-to-canvas/node_modules/widget-ui/jest.config.js new file mode 100644 index 0000000..837466b --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/widget-ui/jest.config.js @@ -0,0 +1,6 @@ +module.exports = { + transform: { + "^.+\\.js$": "babel-jest", + "^.+\\.ts$": "ts-jest" + } +}; \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/node_modules/widget-ui/package.json b/node_modules/wxml-to-canvas/node_modules/widget-ui/package.json new file mode 100644 index 0000000..4672791 --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/widget-ui/package.json @@ -0,0 +1,52 @@ +{ + "_from": "widget-ui@1.0.2", + "_id": "widget-ui@1.0.2", + "_inBundle": false, + "_integrity": "sha512-gDXosr5mflJdMA1weU1A47aTsTFfMJhfA4EKgO5XFebY3eVklf80KD4GODfrjo8J2WQ+9YjL1Rd9UUmKIzhShw==", + "_location": "/wxml-to-canvas/widget-ui", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "widget-ui@1.0.2", + "name": "widget-ui", + "escapedName": "widget-ui", + "rawSpec": "1.0.2", + "saveSpec": null, + "fetchSpec": "1.0.2" + }, + "_requiredBy": [ + "/wxml-to-canvas" + ], + "_resolved": "https://registry.npmjs.org/widget-ui/-/widget-ui-1.0.2.tgz", + "_shasum": "d65a560b91739fbd0ea7c2f5f2d28fe4c0132470", + "_spec": "widget-ui@1.0.2", + "_where": "/Users/zhangshaokang/Desktop/matripeGit/demo/yiMini/node_modules/wxml-to-canvas", + "author": "", + "bundleDependencies": false, + "dependencies": { + "eventemitter3": "^4.0.0" + }, + "deprecated": false, + "description": "", + "devDependencies": { + "@babel/preset-env": "^7.6.3", + "@babel/preset-typescript": "^7.6.0", + "@types/jest": "^24.0.18", + "babel-jest": "^24.9.0", + "jest": "^24.9.0", + "ts-jest": "^24.1.0", + "ts-loader": "^6.2.0", + "typescript": "^3.6.4", + "webpack": "^4.41.1", + "webpack-cli": "^3.3.9" + }, + "license": "ISC", + "main": "dist/index.js", + "name": "widget-ui", + "scripts": { + "build": "webpack", + "test": "jest" + }, + "version": "1.0.2" +} diff --git a/node_modules/wxml-to-canvas/node_modules/widget-ui/src/css-layout.js b/node_modules/wxml-to-canvas/node_modules/widget-ui/src/css-layout.js new file mode 100644 index 0000000..790c753 --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/widget-ui/src/css-layout.js @@ -0,0 +1,1186 @@ +/* eslint-disable */ +// https://www.npmjs.com/package/css-layout +// change: module export strategy. Use ES6 Module + +/** + * Copyright (c) 2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +var computeLayout = (function() { + + var CSS_UNDEFINED; + + var CSS_DIRECTION_INHERIT = 'inherit'; + var CSS_DIRECTION_LTR = 'ltr'; + var CSS_DIRECTION_RTL = 'rtl'; + + var CSS_FLEX_DIRECTION_ROW = 'row'; + var CSS_FLEX_DIRECTION_ROW_REVERSE = 'row-reverse'; + var CSS_FLEX_DIRECTION_COLUMN = 'column'; + var CSS_FLEX_DIRECTION_COLUMN_REVERSE = 'column-reverse'; + + var CSS_JUSTIFY_FLEX_START = 'flex-start'; + var CSS_JUSTIFY_CENTER = 'center'; + var CSS_JUSTIFY_FLEX_END = 'flex-end'; + var CSS_JUSTIFY_SPACE_BETWEEN = 'space-between'; + var CSS_JUSTIFY_SPACE_AROUND = 'space-around'; + + var CSS_ALIGN_FLEX_START = 'flex-start'; + var CSS_ALIGN_CENTER = 'center'; + var CSS_ALIGN_FLEX_END = 'flex-end'; + var CSS_ALIGN_STRETCH = 'stretch'; + + var CSS_POSITION_RELATIVE = 'relative'; + var CSS_POSITION_ABSOLUTE = 'absolute'; + + var leading = { + 'row': 'left', + 'row-reverse': 'right', + 'column': 'top', + 'column-reverse': 'bottom' + }; + var trailing = { + 'row': 'right', + 'row-reverse': 'left', + 'column': 'bottom', + 'column-reverse': 'top' + }; + var pos = { + 'row': 'left', + 'row-reverse': 'right', + 'column': 'top', + 'column-reverse': 'bottom' + }; + var dim = { + 'row': 'width', + 'row-reverse': 'width', + 'column': 'height', + 'column-reverse': 'height' + }; + + // When transpiled to Java / C the node type has layout, children and style + // properties. For the JavaScript version this function adds these properties + // if they don't already exist. + function fillNodes(node) { + if (!node.layout || node.isDirty) { + node.layout = { + width: undefined, + height: undefined, + top: 0, + left: 0, + right: 0, + bottom: 0 + }; + } + + if (!node.style) { + node.style = {}; + } + + if (!node.children) { + node.children = []; + } + node.children.forEach(fillNodes); + return node; + } + + function isUndefined(value) { + return value === undefined; + } + + function isRowDirection(flexDirection) { + return flexDirection === CSS_FLEX_DIRECTION_ROW || + flexDirection === CSS_FLEX_DIRECTION_ROW_REVERSE; + } + + function isColumnDirection(flexDirection) { + return flexDirection === CSS_FLEX_DIRECTION_COLUMN || + flexDirection === CSS_FLEX_DIRECTION_COLUMN_REVERSE; + } + + function getLeadingMargin(node, axis) { + if (node.style.marginStart !== undefined && isRowDirection(axis)) { + return node.style.marginStart; + } + + var value = null; + switch (axis) { + case 'row': value = node.style.marginLeft; break; + case 'row-reverse': value = node.style.marginRight; break; + case 'column': value = node.style.marginTop; break; + case 'column-reverse': value = node.style.marginBottom; break; + } + + if (value !== undefined) { + return value; + } + + if (node.style.margin !== undefined) { + return node.style.margin; + } + + return 0; + } + + function getTrailingMargin(node, axis) { + if (node.style.marginEnd !== undefined && isRowDirection(axis)) { + return node.style.marginEnd; + } + + var value = null; + switch (axis) { + case 'row': value = node.style.marginRight; break; + case 'row-reverse': value = node.style.marginLeft; break; + case 'column': value = node.style.marginBottom; break; + case 'column-reverse': value = node.style.marginTop; break; + } + + if (value != null) { + return value; + } + + if (node.style.margin !== undefined) { + return node.style.margin; + } + + return 0; + } + + function getLeadingPadding(node, axis) { + if (node.style.paddingStart !== undefined && node.style.paddingStart >= 0 + && isRowDirection(axis)) { + return node.style.paddingStart; + } + + var value = null; + switch (axis) { + case 'row': value = node.style.paddingLeft; break; + case 'row-reverse': value = node.style.paddingRight; break; + case 'column': value = node.style.paddingTop; break; + case 'column-reverse': value = node.style.paddingBottom; break; + } + + if (value != null && value >= 0) { + return value; + } + + if (node.style.padding !== undefined && node.style.padding >= 0) { + return node.style.padding; + } + + return 0; + } + + function getTrailingPadding(node, axis) { + if (node.style.paddingEnd !== undefined && node.style.paddingEnd >= 0 + && isRowDirection(axis)) { + return node.style.paddingEnd; + } + + var value = null; + switch (axis) { + case 'row': value = node.style.paddingRight; break; + case 'row-reverse': value = node.style.paddingLeft; break; + case 'column': value = node.style.paddingBottom; break; + case 'column-reverse': value = node.style.paddingTop; break; + } + + if (value != null && value >= 0) { + return value; + } + + if (node.style.padding !== undefined && node.style.padding >= 0) { + return node.style.padding; + } + + return 0; + } + + function getLeadingBorder(node, axis) { + if (node.style.borderStartWidth !== undefined && node.style.borderStartWidth >= 0 + && isRowDirection(axis)) { + return node.style.borderStartWidth; + } + + var value = null; + switch (axis) { + case 'row': value = node.style.borderLeftWidth; break; + case 'row-reverse': value = node.style.borderRightWidth; break; + case 'column': value = node.style.borderTopWidth; break; + case 'column-reverse': value = node.style.borderBottomWidth; break; + } + + if (value != null && value >= 0) { + return value; + } + + if (node.style.borderWidth !== undefined && node.style.borderWidth >= 0) { + return node.style.borderWidth; + } + + return 0; + } + + function getTrailingBorder(node, axis) { + if (node.style.borderEndWidth !== undefined && node.style.borderEndWidth >= 0 + && isRowDirection(axis)) { + return node.style.borderEndWidth; + } + + var value = null; + switch (axis) { + case 'row': value = node.style.borderRightWidth; break; + case 'row-reverse': value = node.style.borderLeftWidth; break; + case 'column': value = node.style.borderBottomWidth; break; + case 'column-reverse': value = node.style.borderTopWidth; break; + } + + if (value != null && value >= 0) { + return value; + } + + if (node.style.borderWidth !== undefined && node.style.borderWidth >= 0) { + return node.style.borderWidth; + } + + return 0; + } + + function getLeadingPaddingAndBorder(node, axis) { + return getLeadingPadding(node, axis) + getLeadingBorder(node, axis); + } + + function getTrailingPaddingAndBorder(node, axis) { + return getTrailingPadding(node, axis) + getTrailingBorder(node, axis); + } + + function getBorderAxis(node, axis) { + return getLeadingBorder(node, axis) + getTrailingBorder(node, axis); + } + + function getMarginAxis(node, axis) { + return getLeadingMargin(node, axis) + getTrailingMargin(node, axis); + } + + function getPaddingAndBorderAxis(node, axis) { + return getLeadingPaddingAndBorder(node, axis) + + getTrailingPaddingAndBorder(node, axis); + } + + function getJustifyContent(node) { + if (node.style.justifyContent) { + return node.style.justifyContent; + } + return 'flex-start'; + } + + function getAlignContent(node) { + if (node.style.alignContent) { + return node.style.alignContent; + } + return 'flex-start'; + } + + function getAlignItem(node, child) { + if (child.style.alignSelf) { + return child.style.alignSelf; + } + if (node.style.alignItems) { + return node.style.alignItems; + } + return 'stretch'; + } + + function resolveAxis(axis, direction) { + if (direction === CSS_DIRECTION_RTL) { + if (axis === CSS_FLEX_DIRECTION_ROW) { + return CSS_FLEX_DIRECTION_ROW_REVERSE; + } else if (axis === CSS_FLEX_DIRECTION_ROW_REVERSE) { + return CSS_FLEX_DIRECTION_ROW; + } + } + + return axis; + } + + function resolveDirection(node, parentDirection) { + var direction; + if (node.style.direction) { + direction = node.style.direction; + } else { + direction = CSS_DIRECTION_INHERIT; + } + + if (direction === CSS_DIRECTION_INHERIT) { + direction = (parentDirection === undefined ? CSS_DIRECTION_LTR : parentDirection); + } + + return direction; + } + + function getFlexDirection(node) { + if (node.style.flexDirection) { + return node.style.flexDirection; + } + return CSS_FLEX_DIRECTION_COLUMN; + } + + function getCrossFlexDirection(flexDirection, direction) { + if (isColumnDirection(flexDirection)) { + return resolveAxis(CSS_FLEX_DIRECTION_ROW, direction); + } else { + return CSS_FLEX_DIRECTION_COLUMN; + } + } + + function getPositionType(node) { + if (node.style.position) { + return node.style.position; + } + return 'relative'; + } + + function isFlex(node) { + return ( + getPositionType(node) === CSS_POSITION_RELATIVE && + node.style.flex > 0 + ); + } + + function isFlexWrap(node) { + return node.style.flexWrap === 'wrap'; + } + + function getDimWithMargin(node, axis) { + return node.layout[dim[axis]] + getMarginAxis(node, axis); + } + + function isDimDefined(node, axis) { + return node.style[dim[axis]] !== undefined && node.style[dim[axis]] >= 0; + } + + function isPosDefined(node, pos) { + return node.style[pos] !== undefined; + } + + function isMeasureDefined(node) { + return node.style.measure !== undefined; + } + + function getPosition(node, pos) { + if (node.style[pos] !== undefined) { + return node.style[pos]; + } + return 0; + } + + function boundAxis(node, axis, value) { + var min = { + 'row': node.style.minWidth, + 'row-reverse': node.style.minWidth, + 'column': node.style.minHeight, + 'column-reverse': node.style.minHeight + }[axis]; + + var max = { + 'row': node.style.maxWidth, + 'row-reverse': node.style.maxWidth, + 'column': node.style.maxHeight, + 'column-reverse': node.style.maxHeight + }[axis]; + + var boundValue = value; + if (max !== undefined && max >= 0 && boundValue > max) { + boundValue = max; + } + if (min !== undefined && min >= 0 && boundValue < min) { + boundValue = min; + } + return boundValue; + } + + function fmaxf(a, b) { + if (a > b) { + return a; + } + return b; + } + + // When the user specifically sets a value for width or height + function setDimensionFromStyle(node, axis) { + // The parent already computed us a width or height. We just skip it + if (node.layout[dim[axis]] !== undefined) { + return; + } + // We only run if there's a width or height defined + if (!isDimDefined(node, axis)) { + return; + } + + // The dimensions can never be smaller than the padding and border + node.layout[dim[axis]] = fmaxf( + boundAxis(node, axis, node.style[dim[axis]]), + getPaddingAndBorderAxis(node, axis) + ); + } + + function setTrailingPosition(node, child, axis) { + child.layout[trailing[axis]] = node.layout[dim[axis]] - + child.layout[dim[axis]] - child.layout[pos[axis]]; + } + + // If both left and right are defined, then use left. Otherwise return + // +left or -right depending on which is defined. + function getRelativePosition(node, axis) { + if (node.style[leading[axis]] !== undefined) { + return getPosition(node, leading[axis]); + } + return -getPosition(node, trailing[axis]); + } + + function layoutNodeImpl(node, parentMaxWidth, /*css_direction_t*/parentDirection) { + var/*css_direction_t*/ direction = resolveDirection(node, parentDirection); + var/*(c)!css_flex_direction_t*//*(java)!int*/ mainAxis = resolveAxis(getFlexDirection(node), direction); + var/*(c)!css_flex_direction_t*//*(java)!int*/ crossAxis = getCrossFlexDirection(mainAxis, direction); + var/*(c)!css_flex_direction_t*//*(java)!int*/ resolvedRowAxis = resolveAxis(CSS_FLEX_DIRECTION_ROW, direction); + + // Handle width and height style attributes + setDimensionFromStyle(node, mainAxis); + setDimensionFromStyle(node, crossAxis); + + // Set the resolved resolution in the node's layout + node.layout.direction = direction; + + // The position is set by the parent, but we need to complete it with a + // delta composed of the margin and left/top/right/bottom + node.layout[leading[mainAxis]] += getLeadingMargin(node, mainAxis) + + getRelativePosition(node, mainAxis); + node.layout[trailing[mainAxis]] += getTrailingMargin(node, mainAxis) + + getRelativePosition(node, mainAxis); + node.layout[leading[crossAxis]] += getLeadingMargin(node, crossAxis) + + getRelativePosition(node, crossAxis); + node.layout[trailing[crossAxis]] += getTrailingMargin(node, crossAxis) + + getRelativePosition(node, crossAxis); + + // Inline immutable values from the target node to avoid excessive method + // invocations during the layout calculation. + var/*int*/ childCount = node.children.length; + var/*float*/ paddingAndBorderAxisResolvedRow = getPaddingAndBorderAxis(node, resolvedRowAxis); + + if (isMeasureDefined(node)) { + var/*bool*/ isResolvedRowDimDefined = !isUndefined(node.layout[dim[resolvedRowAxis]]); + + var/*float*/ width = CSS_UNDEFINED; + if (isDimDefined(node, resolvedRowAxis)) { + width = node.style.width; + } else if (isResolvedRowDimDefined) { + width = node.layout[dim[resolvedRowAxis]]; + } else { + width = parentMaxWidth - + getMarginAxis(node, resolvedRowAxis); + } + width -= paddingAndBorderAxisResolvedRow; + + // We only need to give a dimension for the text if we haven't got any + // for it computed yet. It can either be from the style attribute or because + // the element is flexible. + var/*bool*/ isRowUndefined = !isDimDefined(node, resolvedRowAxis) && !isResolvedRowDimDefined; + var/*bool*/ isColumnUndefined = !isDimDefined(node, CSS_FLEX_DIRECTION_COLUMN) && + isUndefined(node.layout[dim[CSS_FLEX_DIRECTION_COLUMN]]); + + // Let's not measure the text if we already know both dimensions + if (isRowUndefined || isColumnUndefined) { + var/*css_dim_t*/ measureDim = node.style.measure( + /*(c)!node->context,*/ + /*(java)!layoutContext.measureOutput,*/ + width + ); + if (isRowUndefined) { + node.layout.width = measureDim.width + + paddingAndBorderAxisResolvedRow; + } + if (isColumnUndefined) { + node.layout.height = measureDim.height + + getPaddingAndBorderAxis(node, CSS_FLEX_DIRECTION_COLUMN); + } + } + if (childCount === 0) { + return; + } + } + + var/*bool*/ isNodeFlexWrap = isFlexWrap(node); + + var/*css_justify_t*/ justifyContent = getJustifyContent(node); + + var/*float*/ leadingPaddingAndBorderMain = getLeadingPaddingAndBorder(node, mainAxis); + var/*float*/ leadingPaddingAndBorderCross = getLeadingPaddingAndBorder(node, crossAxis); + var/*float*/ paddingAndBorderAxisMain = getPaddingAndBorderAxis(node, mainAxis); + var/*float*/ paddingAndBorderAxisCross = getPaddingAndBorderAxis(node, crossAxis); + + var/*bool*/ isMainDimDefined = !isUndefined(node.layout[dim[mainAxis]]); + var/*bool*/ isCrossDimDefined = !isUndefined(node.layout[dim[crossAxis]]); + var/*bool*/ isMainRowDirection = isRowDirection(mainAxis); + + var/*int*/ i; + var/*int*/ ii; + var/*css_node_t**/ child; + var/*(c)!css_flex_direction_t*//*(java)!int*/ axis; + + var/*css_node_t**/ firstAbsoluteChild = null; + var/*css_node_t**/ currentAbsoluteChild = null; + + var/*float*/ definedMainDim = CSS_UNDEFINED; + if (isMainDimDefined) { + definedMainDim = node.layout[dim[mainAxis]] - paddingAndBorderAxisMain; + } + + // We want to execute the next two loops one per line with flex-wrap + var/*int*/ startLine = 0; + var/*int*/ endLine = 0; + // var/*int*/ nextOffset = 0; + var/*int*/ alreadyComputedNextLayout = 0; + // We aggregate the total dimensions of the container in those two variables + var/*float*/ linesCrossDim = 0; + var/*float*/ linesMainDim = 0; + var/*int*/ linesCount = 0; + while (endLine < childCount) { + // Layout non flexible children and count children by type + + // mainContentDim is accumulation of the dimensions and margin of all the + // non flexible children. This will be used in order to either set the + // dimensions of the node if none already exist, or to compute the + // remaining space left for the flexible children. + var/*float*/ mainContentDim = 0; + + // There are three kind of children, non flexible, flexible and absolute. + // We need to know how many there are in order to distribute the space. + var/*int*/ flexibleChildrenCount = 0; + var/*float*/ totalFlexible = 0; + var/*int*/ nonFlexibleChildrenCount = 0; + + // Use the line loop to position children in the main axis for as long + // as they are using a simple stacking behaviour. Children that are + // immediately stacked in the initial loop will not be touched again + // in . + var/*bool*/ isSimpleStackMain = + (isMainDimDefined && justifyContent === CSS_JUSTIFY_FLEX_START) || + (!isMainDimDefined && justifyContent !== CSS_JUSTIFY_CENTER); + var/*int*/ firstComplexMain = (isSimpleStackMain ? childCount : startLine); + + // Use the initial line loop to position children in the cross axis for + // as long as they are relatively positioned with alignment STRETCH or + // FLEX_START. Children that are immediately stacked in the initial loop + // will not be touched again in . + var/*bool*/ isSimpleStackCross = true; + var/*int*/ firstComplexCross = childCount; + + var/*css_node_t**/ firstFlexChild = null; + var/*css_node_t**/ currentFlexChild = null; + + var/*float*/ mainDim = leadingPaddingAndBorderMain; + var/*float*/ crossDim = 0; + + var/*float*/ maxWidth; + for (i = startLine; i < childCount; ++i) { + child = node.children[i]; + child.lineIndex = linesCount; + + child.nextAbsoluteChild = null; + child.nextFlexChild = null; + + var/*css_align_t*/ alignItem = getAlignItem(node, child); + + // Pre-fill cross axis dimensions when the child is using stretch before + // we call the recursive layout pass + if (alignItem === CSS_ALIGN_STRETCH && + getPositionType(child) === CSS_POSITION_RELATIVE && + isCrossDimDefined && + !isDimDefined(child, crossAxis)) { + child.layout[dim[crossAxis]] = fmaxf( + boundAxis(child, crossAxis, node.layout[dim[crossAxis]] - + paddingAndBorderAxisCross - getMarginAxis(child, crossAxis)), + // You never want to go smaller than padding + getPaddingAndBorderAxis(child, crossAxis) + ); + } else if (getPositionType(child) === CSS_POSITION_ABSOLUTE) { + // Store a private linked list of absolutely positioned children + // so that we can efficiently traverse them later. + if (firstAbsoluteChild === null) { + firstAbsoluteChild = child; + } + if (currentAbsoluteChild !== null) { + currentAbsoluteChild.nextAbsoluteChild = child; + } + currentAbsoluteChild = child; + + // Pre-fill dimensions when using absolute position and both offsets for the axis are defined (either both + // left and right or top and bottom). + for (ii = 0; ii < 2; ii++) { + axis = (ii !== 0) ? CSS_FLEX_DIRECTION_ROW : CSS_FLEX_DIRECTION_COLUMN; + if (!isUndefined(node.layout[dim[axis]]) && + !isDimDefined(child, axis) && + isPosDefined(child, leading[axis]) && + isPosDefined(child, trailing[axis])) { + child.layout[dim[axis]] = fmaxf( + boundAxis(child, axis, node.layout[dim[axis]] - + getPaddingAndBorderAxis(node, axis) - + getMarginAxis(child, axis) - + getPosition(child, leading[axis]) - + getPosition(child, trailing[axis])), + // You never want to go smaller than padding + getPaddingAndBorderAxis(child, axis) + ); + } + } + } + + var/*float*/ nextContentDim = 0; + + // It only makes sense to consider a child flexible if we have a computed + // dimension for the node. + if (isMainDimDefined && isFlex(child)) { + flexibleChildrenCount++; + totalFlexible += child.style.flex; + + // Store a private linked list of flexible children so that we can + // efficiently traverse them later. + if (firstFlexChild === null) { + firstFlexChild = child; + } + if (currentFlexChild !== null) { + currentFlexChild.nextFlexChild = child; + } + currentFlexChild = child; + + // Even if we don't know its exact size yet, we already know the padding, + // border and margin. We'll use this partial information, which represents + // the smallest possible size for the child, to compute the remaining + // available space. + nextContentDim = getPaddingAndBorderAxis(child, mainAxis) + + getMarginAxis(child, mainAxis); + + } else { + maxWidth = CSS_UNDEFINED; + if (!isMainRowDirection) { + if (isDimDefined(node, resolvedRowAxis)) { + maxWidth = node.layout[dim[resolvedRowAxis]] - + paddingAndBorderAxisResolvedRow; + } else { + maxWidth = parentMaxWidth - + getMarginAxis(node, resolvedRowAxis) - + paddingAndBorderAxisResolvedRow; + } + } + + // This is the main recursive call. We layout non flexible children. + if (alreadyComputedNextLayout === 0) { + layoutNode(/*(java)!layoutContext, */child, maxWidth, direction); + } + + // Absolute positioned elements do not take part of the layout, so we + // don't use them to compute mainContentDim + if (getPositionType(child) === CSS_POSITION_RELATIVE) { + nonFlexibleChildrenCount++; + // At this point we know the final size and margin of the element. + nextContentDim = getDimWithMargin(child, mainAxis); + } + } + + // The element we are about to add would make us go to the next line + if (isNodeFlexWrap && + isMainDimDefined && + mainContentDim + nextContentDim > definedMainDim && + // If there's only one element, then it's bigger than the content + // and needs its own line + i !== startLine) { + nonFlexibleChildrenCount--; + alreadyComputedNextLayout = 1; + break; + } + + // Disable simple stacking in the main axis for the current line as + // we found a non-trivial child. The remaining children will be laid out + // in . + if (isSimpleStackMain && + (getPositionType(child) !== CSS_POSITION_RELATIVE || isFlex(child))) { + isSimpleStackMain = false; + firstComplexMain = i; + } + + // Disable simple stacking in the cross axis for the current line as + // we found a non-trivial child. The remaining children will be laid out + // in . + if (isSimpleStackCross && + (getPositionType(child) !== CSS_POSITION_RELATIVE || + (alignItem !== CSS_ALIGN_STRETCH && alignItem !== CSS_ALIGN_FLEX_START) || + isUndefined(child.layout[dim[crossAxis]]))) { + isSimpleStackCross = false; + firstComplexCross = i; + } + + if (isSimpleStackMain) { + child.layout[pos[mainAxis]] += mainDim; + if (isMainDimDefined) { + setTrailingPosition(node, child, mainAxis); + } + + mainDim += getDimWithMargin(child, mainAxis); + crossDim = fmaxf(crossDim, boundAxis(child, crossAxis, getDimWithMargin(child, crossAxis))); + } + + if (isSimpleStackCross) { + child.layout[pos[crossAxis]] += linesCrossDim + leadingPaddingAndBorderCross; + if (isCrossDimDefined) { + setTrailingPosition(node, child, crossAxis); + } + } + + alreadyComputedNextLayout = 0; + mainContentDim += nextContentDim; + endLine = i + 1; + } + + // Layout flexible children and allocate empty space + + // In order to position the elements in the main axis, we have two + // controls. The space between the beginning and the first element + // and the space between each two elements. + var/*float*/ leadingMainDim = 0; + var/*float*/ betweenMainDim = 0; + + // The remaining available space that needs to be allocated + var/*float*/ remainingMainDim = 0; + if (isMainDimDefined) { + remainingMainDim = definedMainDim - mainContentDim; + } else { + remainingMainDim = fmaxf(mainContentDim, 0) - mainContentDim; + } + + // If there are flexible children in the mix, they are going to fill the + // remaining space + if (flexibleChildrenCount !== 0) { + var/*float*/ flexibleMainDim = remainingMainDim / totalFlexible; + var/*float*/ baseMainDim; + var/*float*/ boundMainDim; + + // If the flex share of remaining space doesn't meet min/max bounds, + // remove this child from flex calculations. + currentFlexChild = firstFlexChild; + while (currentFlexChild !== null) { + baseMainDim = flexibleMainDim * currentFlexChild.style.flex + + getPaddingAndBorderAxis(currentFlexChild, mainAxis); + boundMainDim = boundAxis(currentFlexChild, mainAxis, baseMainDim); + + if (baseMainDim !== boundMainDim) { + remainingMainDim -= boundMainDim; + totalFlexible -= currentFlexChild.style.flex; + } + + currentFlexChild = currentFlexChild.nextFlexChild; + } + flexibleMainDim = remainingMainDim / totalFlexible; + + // The non flexible children can overflow the container, in this case + // we should just assume that there is no space available. + if (flexibleMainDim < 0) { + flexibleMainDim = 0; + } + + currentFlexChild = firstFlexChild; + while (currentFlexChild !== null) { + // At this point we know the final size of the element in the main + // dimension + currentFlexChild.layout[dim[mainAxis]] = boundAxis(currentFlexChild, mainAxis, + flexibleMainDim * currentFlexChild.style.flex + + getPaddingAndBorderAxis(currentFlexChild, mainAxis) + ); + + maxWidth = CSS_UNDEFINED; + if (isDimDefined(node, resolvedRowAxis)) { + maxWidth = node.layout[dim[resolvedRowAxis]] - + paddingAndBorderAxisResolvedRow; + } else if (!isMainRowDirection) { + maxWidth = parentMaxWidth - + getMarginAxis(node, resolvedRowAxis) - + paddingAndBorderAxisResolvedRow; + } + + // And we recursively call the layout algorithm for this child + layoutNode(/*(java)!layoutContext, */currentFlexChild, maxWidth, direction); + + child = currentFlexChild; + currentFlexChild = currentFlexChild.nextFlexChild; + child.nextFlexChild = null; + } + + // We use justifyContent to figure out how to allocate the remaining + // space available + } else if (justifyContent !== CSS_JUSTIFY_FLEX_START) { + if (justifyContent === CSS_JUSTIFY_CENTER) { + leadingMainDim = remainingMainDim / 2; + } else if (justifyContent === CSS_JUSTIFY_FLEX_END) { + leadingMainDim = remainingMainDim; + } else if (justifyContent === CSS_JUSTIFY_SPACE_BETWEEN) { + remainingMainDim = fmaxf(remainingMainDim, 0); + if (flexibleChildrenCount + nonFlexibleChildrenCount - 1 !== 0) { + betweenMainDim = remainingMainDim / + (flexibleChildrenCount + nonFlexibleChildrenCount - 1); + } else { + betweenMainDim = 0; + } + } else if (justifyContent === CSS_JUSTIFY_SPACE_AROUND) { + // Space on the edges is half of the space between elements + betweenMainDim = remainingMainDim / + (flexibleChildrenCount + nonFlexibleChildrenCount); + leadingMainDim = betweenMainDim / 2; + } + } + + // Position elements in the main axis and compute dimensions + + // At this point, all the children have their dimensions set. We need to + // find their position. In order to do that, we accumulate data in + // variables that are also useful to compute the total dimensions of the + // container! + mainDim += leadingMainDim; + + for (i = firstComplexMain; i < endLine; ++i) { + child = node.children[i]; + + if (getPositionType(child) === CSS_POSITION_ABSOLUTE && + isPosDefined(child, leading[mainAxis])) { + // In case the child is position absolute and has left/top being + // defined, we override the position to whatever the user said + // (and margin/border). + child.layout[pos[mainAxis]] = getPosition(child, leading[mainAxis]) + + getLeadingBorder(node, mainAxis) + + getLeadingMargin(child, mainAxis); + } else { + // If the child is position absolute (without top/left) or relative, + // we put it at the current accumulated offset. + child.layout[pos[mainAxis]] += mainDim; + + // Define the trailing position accordingly. + if (isMainDimDefined) { + setTrailingPosition(node, child, mainAxis); + } + + // Now that we placed the element, we need to update the variables + // We only need to do that for relative elements. Absolute elements + // do not take part in that phase. + if (getPositionType(child) === CSS_POSITION_RELATIVE) { + // The main dimension is the sum of all the elements dimension plus + // the spacing. + mainDim += betweenMainDim + getDimWithMargin(child, mainAxis); + // The cross dimension is the max of the elements dimension since there + // can only be one element in that cross dimension. + crossDim = fmaxf(crossDim, boundAxis(child, crossAxis, getDimWithMargin(child, crossAxis))); + } + } + } + + var/*float*/ containerCrossAxis = node.layout[dim[crossAxis]]; + if (!isCrossDimDefined) { + containerCrossAxis = fmaxf( + // For the cross dim, we add both sides at the end because the value + // is aggregate via a max function. Intermediate negative values + // can mess this computation otherwise + boundAxis(node, crossAxis, crossDim + paddingAndBorderAxisCross), + paddingAndBorderAxisCross + ); + } + + // Position elements in the cross axis + for (i = firstComplexCross; i < endLine; ++i) { + child = node.children[i]; + + if (getPositionType(child) === CSS_POSITION_ABSOLUTE && + isPosDefined(child, leading[crossAxis])) { + // In case the child is absolutely positionned and has a + // top/left/bottom/right being set, we override all the previously + // computed positions to set it correctly. + child.layout[pos[crossAxis]] = getPosition(child, leading[crossAxis]) + + getLeadingBorder(node, crossAxis) + + getLeadingMargin(child, crossAxis); + + } else { + var/*float*/ leadingCrossDim = leadingPaddingAndBorderCross; + + // For a relative children, we're either using alignItems (parent) or + // alignSelf (child) in order to determine the position in the cross axis + if (getPositionType(child) === CSS_POSITION_RELATIVE) { + // This variable is intentionally re-defined as the code is transpiled to a block scope language + var/*css_align_t*/ alignItem = getAlignItem(node, child); + if (alignItem === CSS_ALIGN_STRETCH) { + // You can only stretch if the dimension has not already been set + // previously. + if (isUndefined(child.layout[dim[crossAxis]])) { + child.layout[dim[crossAxis]] = fmaxf( + boundAxis(child, crossAxis, containerCrossAxis - + paddingAndBorderAxisCross - getMarginAxis(child, crossAxis)), + // You never want to go smaller than padding + getPaddingAndBorderAxis(child, crossAxis) + ); + } + } else if (alignItem !== CSS_ALIGN_FLEX_START) { + // The remaining space between the parent dimensions+padding and child + // dimensions+margin. + var/*float*/ remainingCrossDim = containerCrossAxis - + paddingAndBorderAxisCross - getDimWithMargin(child, crossAxis); + + if (alignItem === CSS_ALIGN_CENTER) { + leadingCrossDim += remainingCrossDim / 2; + } else { // CSS_ALIGN_FLEX_END + leadingCrossDim += remainingCrossDim; + } + } + } + + // And we apply the position + child.layout[pos[crossAxis]] += linesCrossDim + leadingCrossDim; + + // Define the trailing position accordingly. + if (isCrossDimDefined) { + setTrailingPosition(node, child, crossAxis); + } + } + } + + linesCrossDim += crossDim; + linesMainDim = fmaxf(linesMainDim, mainDim); + linesCount += 1; + startLine = endLine; + } + + // + // + // Note(prenaux): More than one line, we need to layout the crossAxis + // according to alignContent. + // + // Note that we could probably remove and handle the one line case + // here too, but for the moment this is safer since it won't interfere with + // previously working code. + // + // See specs: + // http://www.w3.org/TR/2012/CR-css3-flexbox-20120918/#layout-algorithm + // section 9.4 + // + if (linesCount > 1 && isCrossDimDefined) { + var/*float*/ nodeCrossAxisInnerSize = node.layout[dim[crossAxis]] - + paddingAndBorderAxisCross; + var/*float*/ remainingAlignContentDim = nodeCrossAxisInnerSize - linesCrossDim; + + var/*float*/ crossDimLead = 0; + var/*float*/ currentLead = leadingPaddingAndBorderCross; + + var/*css_align_t*/ alignContent = getAlignContent(node); + if (alignContent === CSS_ALIGN_FLEX_END) { + currentLead += remainingAlignContentDim; + } else if (alignContent === CSS_ALIGN_CENTER) { + currentLead += remainingAlignContentDim / 2; + } else if (alignContent === CSS_ALIGN_STRETCH) { + if (nodeCrossAxisInnerSize > linesCrossDim) { + crossDimLead = (remainingAlignContentDim / linesCount); + } + } + + var/*int*/ endIndex = 0; + for (i = 0; i < linesCount; ++i) { + var/*int*/ startIndex = endIndex; + + // compute the line's height and find the endIndex + var/*float*/ lineHeight = 0; + for (ii = startIndex; ii < childCount; ++ii) { + child = node.children[ii]; + if (getPositionType(child) !== CSS_POSITION_RELATIVE) { + continue; + } + if (child.lineIndex !== i) { + break; + } + if (!isUndefined(child.layout[dim[crossAxis]])) { + lineHeight = fmaxf( + lineHeight, + child.layout[dim[crossAxis]] + getMarginAxis(child, crossAxis) + ); + } + } + endIndex = ii; + lineHeight += crossDimLead; + + for (ii = startIndex; ii < endIndex; ++ii) { + child = node.children[ii]; + if (getPositionType(child) !== CSS_POSITION_RELATIVE) { + continue; + } + + var/*css_align_t*/ alignContentAlignItem = getAlignItem(node, child); + if (alignContentAlignItem === CSS_ALIGN_FLEX_START) { + child.layout[pos[crossAxis]] = currentLead + getLeadingMargin(child, crossAxis); + } else if (alignContentAlignItem === CSS_ALIGN_FLEX_END) { + child.layout[pos[crossAxis]] = currentLead + lineHeight - getTrailingMargin(child, crossAxis) - child.layout[dim[crossAxis]]; + } else if (alignContentAlignItem === CSS_ALIGN_CENTER) { + var/*float*/ childHeight = child.layout[dim[crossAxis]]; + child.layout[pos[crossAxis]] = currentLead + (lineHeight - childHeight) / 2; + } else if (alignContentAlignItem === CSS_ALIGN_STRETCH) { + child.layout[pos[crossAxis]] = currentLead + getLeadingMargin(child, crossAxis); + // TODO(prenaux): Correctly set the height of items with undefined + // (auto) crossAxis dimension. + } + } + + currentLead += lineHeight; + } + } + + var/*bool*/ needsMainTrailingPos = false; + var/*bool*/ needsCrossTrailingPos = false; + + // If the user didn't specify a width or height, and it has not been set + // by the container, then we set it via the children. + if (!isMainDimDefined) { + node.layout[dim[mainAxis]] = fmaxf( + // We're missing the last padding at this point to get the final + // dimension + boundAxis(node, mainAxis, linesMainDim + getTrailingPaddingAndBorder(node, mainAxis)), + // We can never assign a width smaller than the padding and borders + paddingAndBorderAxisMain + ); + + if (mainAxis === CSS_FLEX_DIRECTION_ROW_REVERSE || + mainAxis === CSS_FLEX_DIRECTION_COLUMN_REVERSE) { + needsMainTrailingPos = true; + } + } + + if (!isCrossDimDefined) { + node.layout[dim[crossAxis]] = fmaxf( + // For the cross dim, we add both sides at the end because the value + // is aggregate via a max function. Intermediate negative values + // can mess this computation otherwise + boundAxis(node, crossAxis, linesCrossDim + paddingAndBorderAxisCross), + paddingAndBorderAxisCross + ); + + if (crossAxis === CSS_FLEX_DIRECTION_ROW_REVERSE || + crossAxis === CSS_FLEX_DIRECTION_COLUMN_REVERSE) { + needsCrossTrailingPos = true; + } + } + + // Set trailing position if necessary + if (needsMainTrailingPos || needsCrossTrailingPos) { + for (i = 0; i < childCount; ++i) { + child = node.children[i]; + + if (needsMainTrailingPos) { + setTrailingPosition(node, child, mainAxis); + } + + if (needsCrossTrailingPos) { + setTrailingPosition(node, child, crossAxis); + } + } + } + + // Calculate dimensions for absolutely positioned elements + currentAbsoluteChild = firstAbsoluteChild; + while (currentAbsoluteChild !== null) { + // Pre-fill dimensions when using absolute position and both offsets for + // the axis are defined (either both left and right or top and bottom). + for (ii = 0; ii < 2; ii++) { + axis = (ii !== 0) ? CSS_FLEX_DIRECTION_ROW : CSS_FLEX_DIRECTION_COLUMN; + + if (!isUndefined(node.layout[dim[axis]]) && + !isDimDefined(currentAbsoluteChild, axis) && + isPosDefined(currentAbsoluteChild, leading[axis]) && + isPosDefined(currentAbsoluteChild, trailing[axis])) { + currentAbsoluteChild.layout[dim[axis]] = fmaxf( + boundAxis(currentAbsoluteChild, axis, node.layout[dim[axis]] - + getBorderAxis(node, axis) - + getMarginAxis(currentAbsoluteChild, axis) - + getPosition(currentAbsoluteChild, leading[axis]) - + getPosition(currentAbsoluteChild, trailing[axis]) + ), + // You never want to go smaller than padding + getPaddingAndBorderAxis(currentAbsoluteChild, axis) + ); + } + + if (isPosDefined(currentAbsoluteChild, trailing[axis]) && + !isPosDefined(currentAbsoluteChild, leading[axis])) { + currentAbsoluteChild.layout[leading[axis]] = + node.layout[dim[axis]] - + currentAbsoluteChild.layout[dim[axis]] - + getPosition(currentAbsoluteChild, trailing[axis]); + } + } + + child = currentAbsoluteChild; + currentAbsoluteChild = currentAbsoluteChild.nextAbsoluteChild; + child.nextAbsoluteChild = null; + } + } + + function layoutNode(node, parentMaxWidth, parentDirection) { + node.shouldUpdate = true; + + var direction = node.style.direction || CSS_DIRECTION_LTR; + var skipLayout = + !node.isDirty && + node.lastLayout && + node.lastLayout.requestedHeight === node.layout.height && + node.lastLayout.requestedWidth === node.layout.width && + node.lastLayout.parentMaxWidth === parentMaxWidth && + node.lastLayout.direction === direction; + + if (skipLayout) { + node.layout.width = node.lastLayout.width; + node.layout.height = node.lastLayout.height; + node.layout.top = node.lastLayout.top; + node.layout.left = node.lastLayout.left; + } else { + if (!node.lastLayout) { + node.lastLayout = {}; + } + + node.lastLayout.requestedWidth = node.layout.width; + node.lastLayout.requestedHeight = node.layout.height; + node.lastLayout.parentMaxWidth = parentMaxWidth; + node.lastLayout.direction = direction; + + // Reset child layouts + node.children.forEach(function(child) { + child.layout.width = undefined; + child.layout.height = undefined; + child.layout.top = 0; + child.layout.left = 0; + }); + + layoutNodeImpl(node, parentMaxWidth, parentDirection); + + node.lastLayout.width = node.layout.width; + node.lastLayout.height = node.layout.height; + node.lastLayout.top = node.layout.top; + node.lastLayout.left = node.layout.left; + } + } + + return { + layoutNodeImpl: layoutNodeImpl, + computeLayout: layoutNode, + fillNodes: fillNodes + }; +})(); + +export default function(node) { + // disabling ESLint because this code relies on the above include + computeLayout.fillNodes(node); + computeLayout.computeLayout(node); +}; diff --git a/node_modules/wxml-to-canvas/node_modules/widget-ui/src/element.ts b/node_modules/wxml-to-canvas/node_modules/widget-ui/src/element.ts new file mode 100644 index 0000000..4677bc0 --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/widget-ui/src/element.ts @@ -0,0 +1,172 @@ + +import computeLayout from "./css-layout"; +import { getDefaultStyle, scalableStyles, layoutAffectedStyles } from "./style"; + +type LayoutData = { + left: number, + top: number, + width: number, + height: number +}; + +type LayoutNode = { + id: number, + style: Object, + children: LayoutNode[], + layout?: LayoutData +}; + +let uuid = 0; + +class Element { + public static uuid(): number { + return uuid++; + } + + public parent: Element | null = null; + public id: number = Element.uuid(); + public style: { [key: string]: any } = {}; + public computedStyle: { [key: string]: any } = {}; + public lastComputedStyle: { [key: string]: any } = {}; + public children: { [key: string]: Element } = {}; + public layoutBox: LayoutData = { left: 0, top: 0, width: 0, height: 0 }; + + constructor(style: { [key: string]: any } = {}) { + // 拷贝一份,防止被外部逻辑修改 + style = Object.assign(getDefaultStyle(), style); + this.computedStyle = Object.assign(getDefaultStyle(), style); + this.lastComputedStyle = Object.assign(getDefaultStyle(), style); + + Object.keys(style).forEach(key => { + Object.defineProperty(this.style, key, { + configurable: true, + enumerable: true, + get: () => style[key], + set: (value: any) => { + if (value === style[key] || value === undefined) { + return; + } + + this.lastComputedStyle = this.computedStyle[key] + style[key] = value + this.computedStyle[key] = value + + // 如果设置的是一个可缩放的属性, 计算自己 + if (scalableStyles.includes(key) && this.style.scale) { + this.computedStyle[key] = value * this.style.scale + } + + // 如果设置的是 scale, 则把所有可缩放的属性计算 + if (key === "scale") { + scalableStyles.forEach(prop => { + if (style[prop]) { + this.computedStyle[prop] = style[prop] * value + } + }) + } + + if (key === "hidden") { + if (value) { + layoutAffectedStyles.forEach((key: string) => { + this.computedStyle[key] = 0; + }); + } else { + layoutAffectedStyles.forEach((key: string) => { + this.computedStyle[key] = this.lastComputedStyle[key]; + }); + } + } + } + }) + }) + + if (this.style.scale) { + scalableStyles.forEach((key: string) => { + if (this.style[key]) { + const computedValue = this.style[key] * this.style.scale; + this.computedStyle[key] = computedValue; + } + }); + } + + if (style.hidden) { + layoutAffectedStyles.forEach((key: string) => { + this.computedStyle[key] = 0; + }); + } + } + + getAbsolutePosition(element: Element) { + if (!element) { + return this.getAbsolutePosition(this) + } + + if (!element.parent) { + return { + left: 0, + top: 0 + } + } + + const {left, top} = this.getAbsolutePosition(element.parent) + + return { + left: left + element.layoutBox.left, + top: top + element.layoutBox.top + } + } + + public add(element: Element) { + element.parent = this; + this.children[element.id] = element; + } + + public remove(element?: Element) { + // 删除自己 + if (!element) { + Object.keys(this.children).forEach(id => { + const child = this.children[id] + child.remove() + delete this.children[id] + }) + } else if (this.children[element.id]) { + // 是自己的子节点才删除 + element.remove() + delete this.children[element.id]; + } + } + + public getNodeTree(): LayoutNode { + return { + id: this.id, + style: this.computedStyle, + children: Object.keys(this.children).map((id: string) => { + const child = this.children[id]; + return child.getNodeTree(); + }) + } + } + + public applyLayout(layoutNode: LayoutNode) { + ["left", "top", "width", "height"].forEach((key: string) => { + if (layoutNode.layout && typeof layoutNode.layout[key] === "number") { + this.layoutBox[key] = layoutNode.layout[key]; + if (this.parent && (key === "left" || key === "top")) { + this.layoutBox[key] += this.parent.layoutBox[key]; + } + } + }); + + layoutNode.children.forEach((child: LayoutNode) => { + this.children[child.id].applyLayout(child); + }); + } + + layout() { + const nodeTree = this.getNodeTree(); + computeLayout(nodeTree); + this.applyLayout(nodeTree); + } +} + +export default Element; \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/node_modules/widget-ui/src/event.ts b/node_modules/wxml-to-canvas/node_modules/widget-ui/src/event.ts new file mode 100644 index 0000000..fe41980 --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/widget-ui/src/event.ts @@ -0,0 +1,15 @@ +import _EventEmitter from "eventemitter3"; +const emitter = new _EventEmitter(); +export default class EventEmitter { + public emit(event: string, data?: any) { + emitter.emit(event, data); + } + + public on(event: string, callback) { + emitter.on(event, callback); + } + + public off(event: string, callback) { + emitter.off(event, callback); + } +} \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/node_modules/widget-ui/src/style.ts b/node_modules/wxml-to-canvas/node_modules/widget-ui/src/style.ts new file mode 100644 index 0000000..7d595c2 --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/widget-ui/src/style.ts @@ -0,0 +1,87 @@ +const textStyles: string[] = ["color", "fontSize", "textAlign", "fontWeight", "lineHeight", "lineBreak"]; + +const scalableStyles: string[] = ["left", "top", "right", "bottom", "width", "height", + "margin", "marginLeft", "marginRight", "marginTop", "marginBottom", + "padding", "paddingLeft", "paddingRight", "paddingTop", "paddingBottom", + "borderWidth", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth"]; + +const layoutAffectedStyles: string[] = [ + "margin", "marginTop", "marginBottom", "marginLeft", "marginRight", + "padding", "paddingTop", "paddingBottom", "paddingLeft", "paddingRight", + "width", "height"]; + +type Style = { + left: number, + top: number, + right: number, + bottom: number, + width: number, + height: number, + maxWidth: number, + maxHeight: number, + minWidth: number, + minHeight: number, + margin: number, + marginLeft: number, + marginRight: number, + marginTop: number, + marginBottom: number, + padding: number, + paddingLeft: number, + paddingRight: number, + paddingTop: number, + paddingBottom: number, + borderWidth: number, + borderLeftWidth: number, + borderRightWidth: number, + borderTopWidth: number, + borderBottomWidth: number, + flexDirection: "column" | "row", + justifyContent: "flex-start" | "center" | "flex-end" | "space-between" | "space-around", + alignItems: "flex-start" | "center" | "flex-end" | "stretch", + alignSelf: "flex-start" | "center" | "flex-end" | "stretch", + flex: number, + flexWrap: "wrap" | "nowrap", + position: "relative" | "absolute", + + hidden: boolean, + scale: number +} + +const getDefaultStyle = () => ({ + left: undefined, + top: undefined, + right: undefined, + bottom: undefined, + width: undefined, + height: undefined, + maxWidth: undefined, + maxHeight: undefined, + minWidth: undefined, + minHeight: undefined, + margin: undefined, + marginLeft: undefined, + marginRight: undefined, + marginTop: undefined, + marginBottom: undefined, + padding: undefined, + paddingLeft: undefined, + paddingRight: undefined, + paddingTop: undefined, + paddingBottom: undefined, + borderWidth: undefined, + flexDirection: undefined, + justifyContent: undefined, + alignItems: undefined, + alignSelf: undefined, + flex: undefined, + flexWrap: undefined, + position: undefined, + + hidden: false, + scale: 1 +}) + +export { + getDefaultStyle, scalableStyles, textStyles, layoutAffectedStyles +} diff --git a/node_modules/wxml-to-canvas/node_modules/widget-ui/test/css-layout.test.ts b/node_modules/wxml-to-canvas/node_modules/widget-ui/test/css-layout.test.ts new file mode 100644 index 0000000..9657d2c --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/widget-ui/test/css-layout.test.ts @@ -0,0 +1,183 @@ + +import Element from "../src/element"; + +test("layout", () => { + const container = new Element({ + width: 100, + height: 100, + padding: 10, + borderWidth: 2 + }) + + const div1 = new Element({ + left: 5, + top: 5, + width: 14, + height: 14 + }) + + container.add(div1); + container.layout(); + // css-layout 是 border-box + expect(container.layoutBox.left).toBe(0); + expect(container.layoutBox.top).toBe(0); + expect(container.layoutBox.width).toBe(100); + expect(container.layoutBox.height).toBe(100); + + expect(div1.layoutBox.left).toBe(10 + 2 + 5); + expect(div1.layoutBox.top).toBe(10 + 2 + 5); + expect(div1.layoutBox.width).toBe(14); + expect(div1.layoutBox.height).toBe(14); +}); + +test("overflow", () => { + const container = new Element({ + width: 100, + height: 100, + padding: 10, + borderWidth: 2 + }) + + const div1 = new Element({ + width: 114, + height: 114, + }) + + container.add(div1); + container.layout(); + + // 写死尺寸的情况下子元素不收缩父元素不撑开 + expect(container.layoutBox.width).toBe(100); + expect(container.layoutBox.height).toBe(100); + + expect(div1.layoutBox.left).toBe(10 + 2); + expect(div1.layoutBox.top).toBe(10 + 2); + expect(div1.layoutBox.width).toBe(114); + expect(div1.layoutBox.height).toBe(114); +}); + +test("right bottom", () => { + const container = new Element({ + width: 100, + height: 100, + padding: 10, + borderWidth: 2 + }) + + const div1 = new Element({ + width: 14, + height: 14, + right: 13, + bottom: 9, + position: "absolute" + }) + + container.add(div1); + container.layout(); + + // right bottom 只有在 position 为 absolute 的情况下才有用 + expect(container.layoutBox.width).toBe(100); + expect(container.layoutBox.height).toBe(100); + + // 但这时就是以整个父元素为边界,而不是 border + padding 后的边界 + expect(div1.layoutBox.left).toBe(100 - 13 - 14); + expect(div1.layoutBox.top).toBe(100 - 9 - 14); +}); + +test("flex center", () => { + const container = new Element({ + width: 100, + height: 100, + padding: 10, + borderWidth: 2, + flexDirection: "row", + justifyContent: "center", + alignItems: "center" + }) + + const div1 = new Element({ + width: 14, + height: 14 + }) + + container.add(div1); + container.layout(); + // 使用 flex 水平垂直居中 + expect(div1.layoutBox.left).toBe((100 - 14)/2); + expect(div1.layoutBox.top).toBe((100 - 14)/2); +}) + +test("flex top bottom", () => { + const container = new Element({ + width: 100, + height: 100, + padding: 10, + borderWidth: 2, + flexDirection: "column", + justifyContent: "space-between", + alignItems: "stretch" + }) + + // flex 实现一上一下两行水平填满 + const div1 = new Element({ + height: 10 + }) + + const div2 = new Element({ + height: 20 + }) + + container.add(div1); + container.add(div2); + container.layout(); + + expect(div1.layoutBox.left).toBe(10 + 2); + expect(div1.layoutBox.top).toBe(10 + 2); + expect(div1.layoutBox.width).toBe(100 - 10*2 - 2*2); + + expect(div2.layoutBox.left).toBe(10 + 2); + expect(div2.layoutBox.top).toBe(100 - 10 - 2 - 20); + expect(div2.layoutBox.width).toBe(100 - 10*2 - 2*2); +}) + +test("rewrite uuid", () => { + // 小程序为了保证 webview 和 service 侧的 coverview 不冲突,所以设置了不同的自增起点 + // uuid 静态方法就是为了根据不同的需求去覆写 + let uuid = 79648527; + Element.uuid = () => uuid++; + const container = new Element(); + expect(container.id).toEqual(79648527); + const div = new Element(); + expect(div.id).toEqual(79648528); +}); + +test("absolute left top", () => { + const container = new Element({ + width: 300, + height: 200, + flexDirection: 'row', + justifyContent: 'center', + alignItems: 'center' + }) + + + const div1 = new Element({ + width: 80, + height: 60 + }) + + const div2 = new Element({ + width: 40, + height: 30 + }) + + div1.add(div2) + container.add(div1) + container.layout() + + expect(div1.layoutBox.left).toBe(110) + expect(div1.layoutBox.top).toBe(70) + + expect(div2.layoutBox.left).toBe(110) + expect(div2.layoutBox.top).toBe(70) +}) \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/node_modules/widget-ui/tsconfig.json b/node_modules/wxml-to-canvas/node_modules/widget-ui/tsconfig.json new file mode 100644 index 0000000..5e628f9 --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/widget-ui/tsconfig.json @@ -0,0 +1,47 @@ +{ + "compilerOptions": { + "baseUrl": "src", + "resolveJsonModule": true, + "downlevelIteration": false, + "target": "es5", + "module": "commonjs", + "lib": [ + "es5", + "es2015.promise", + "es2016", + "dom" + ], + "outDir": "./dist", + "paths": { + "@/*": [ + "*" + ], + "*": [ + "*" + ] + }, + "typeRoots": [ + "./node_modules/@types" + ], + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "declaration": true, + "stripInternal": true, + "experimentalDecorators": true, + "noImplicitReturns": true, + "alwaysStrict": true, + "noFallthroughCasesInSwitch": true, + "removeComments": false, + "strictNullChecks": true, + "strictFunctionTypes": true, + "skipLibCheck": true, + "pretty": true, + "strictPropertyInitialization": true + }, + "include": [ + "src/**/*.ts" + ], + "exclude": [ + "node_modules" + ] +} \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/node_modules/widget-ui/tslint.json b/node_modules/wxml-to-canvas/node_modules/widget-ui/tslint.json new file mode 100644 index 0000000..f6dac04 --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/widget-ui/tslint.json @@ -0,0 +1,206 @@ +{ + "defaultSeverity": "error", + "extends": [], + "rules": { + "adjacent-overload-signatures": true, + "align": { + "options": [ + "parameters", + "statements" + ] + }, + "arrow-return-shorthand": true, + "ban-types": { + "options": [ + [ + "Object", + "Avoid using the `Object` type. Did you mean `object`?" + ], + [ + "Function", + "Avoid using the `Function` type. Prefer a specific function type, like `() => void`." + ], + [ + "Boolean", + "Avoid using the `Boolean` type. Did you mean `boolean`?" + ], + [ + "Number", + "Avoid using the `Number` type. Did you mean `number`?" + ], + [ + "String", + "Avoid using the `String` type. Did you mean `string`?" + ], + [ + "Symbol", + "Avoid using the `Symbol` type. Did you mean `symbol`?" + ] + ] + }, + "comment-format": { + "options": [ + "check-space" + ] + }, + "curly": { + "options": [ + "ignore-same-line" + ] + }, + "cyclomatic-complexity": false, + "import-spacing": true, + "indent": { + "options": [ + "spaces" + ] + }, + "interface-over-type-literal": true, + "member-ordering": [ + true, + { + "order": [ + "public-static-field", + "public-instance-field", + "private-static-field", + "private-instance-field", + "public-constructor", + "private-constructor", + "public-instance-method", + "protected-instance-method", + "private-instance-method" + ], + "alphabetize": false + } + ], + "no-angle-bracket-type-assertion": true, + "no-arg": true, + "no-conditional-assignment": true, + "no-debugger": true, + "no-duplicate-super": true, + "no-eval": true, + "no-internal-module": true, + "no-misused-new": true, + "no-reference-import": true, + "no-string-literal": true, + "no-string-throw": true, + "no-unnecessary-initializer": true, + "no-unsafe-finally": true, + "no-unused-expression": true, + "no-use-before-declare": false, + "no-var-keyword": true, + "no-var-requires": true, + "one-line": { + "options": [ + "check-catch", + "check-else", + "check-finally", + "check-open-brace", + "check-whitespace" + ] + }, + "one-variable-per-declaration": { + "options": [ + "ignore-for-loop" + ] + }, + "ordered-imports": { + "options": { + "import-sources-order": "case-insensitive", + "module-source-path": "full", + "named-imports-order": "case-insensitive" + } + }, + "prefer-const": true, + "prefer-for-of": false, + "quotemark": { + "options": [ + "double", + "avoid-escape" + ] + }, + "radix": true, + "semicolon": { + "options": [ + "always" + ] + }, + "space-before-function-paren": { + "options": { + "anonymous": "never", + "asyncArrow": "always", + "constructor": "never", + "method": "never", + "named": "never" + } + }, + "trailing-comma": { + "options": { + "esSpecCompliant": true, + "multiline": { + "objects": "always", + "arrays": "always", + "functions": "always", + "typeLiterals": "always" + }, + "singleline": "never" + } + }, + "triple-equals": { + "options": [ + "allow-null-check" + ] + }, + "typedef": false, + "typedef-whitespace": { + "options": [ + { + "call-signature": "nospace", + "index-signature": "nospace", + "parameter": "nospace", + "property-declaration": "nospace", + "variable-declaration": "nospace" + }, + { + "call-signature": "onespace", + "index-signature": "onespace", + "parameter": "onespace", + "property-declaration": "onespace", + "variable-declaration": "onespace" + } + ] + }, + "typeof-compare": false, + "unified-signatures": true, + "use-isnan": true, + "whitespace": { + "options": [ + "check-branch", + "check-decl", + "check-operator", + "check-separator", + "check-type", + "check-typecast" + ] + } + }, + "jsRules": {}, + "rulesDirectory": [], + "no-var-requires": false, + "trailing-comma": [ + true, + { + "multiline": { + "objects": "always", + "arrays": "always", + "functions": "always", + "typeLiterals": "ignore" + }, + "esSpecCompliant": true + } + ], + "no-unused-expression": [ + true, + "allow-fast-null-checks" + ] +} \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/node_modules/widget-ui/webpack.config.js b/node_modules/wxml-to-canvas/node_modules/widget-ui/webpack.config.js new file mode 100644 index 0000000..2a3a7e2 --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/widget-ui/webpack.config.js @@ -0,0 +1,25 @@ +const path = require("path"); + +module.exports = { + mode: "production", + entry: path.resolve(__dirname, "src/element.ts"), + module: { + rules: [ + { + test: /\.ts$/, + use: "ts-loader", + exclude: /node_modules/ + } + ] + }, + resolve: { + extensions: [".js", ".ts"] + }, + output: { + filename: "index.js", + path: path.resolve(__dirname, "dist"), + libraryTarget: "umd", // 采用通用模块定义 + libraryExport: "default", // 兼容 ES6(ES2015) 的模块系统、CommonJS 和 AMD 模块规范 + globalObject: "this" // 兼容node和浏览器运行,避免window is not undefined情况 + } +}; \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/package.json b/node_modules/wxml-to-canvas/package.json new file mode 100644 index 0000000..c44cfbf --- /dev/null +++ b/node_modules/wxml-to-canvas/package.json @@ -0,0 +1,90 @@ +{ + "_from": "wxml-to-canvas@1.1.1", + "_id": "wxml-to-canvas@1.1.1", + "_inBundle": false, + "_integrity": "sha512-3mDjHzujY/UgdCOXij/MnmwJYerVjwkyQHMBFBE8zh89DK7h7UTzoydWFqEBjIC0rfZM+AXl5kDh9hUcsNpSmg==", + "_location": "/wxml-to-canvas", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "wxml-to-canvas@1.1.1", + "name": "wxml-to-canvas", + "escapedName": "wxml-to-canvas", + "rawSpec": "1.1.1", + "saveSpec": null, + "fetchSpec": "1.1.1" + }, + "_requiredBy": [ + "/" + ], + "_resolved": "https://registry.npmjs.org/wxml-to-canvas/-/wxml-to-canvas-1.1.1.tgz", + "_shasum": "64771473fb1e251bdad94f8c6ffa7dd64290e7ca", + "_spec": "wxml-to-canvas@1.1.1", + "_where": "/Users/zhangshaokang/Desktop/matripeGit/demo/yiMini", + "author": { + "name": "sanfordsun" + }, + "bundleDependencies": false, + "dependencies": { + "widget-ui": "^1.0.2" + }, + "deprecated": false, + "description": "[![](https://img.shields.io/npm/v/wxml-to-canvas)](https://www.npmjs.com/package/wxml-to-canvas) [![](https://img.shields.io/npm/l/wxml-to-canvas)](https://github.com/wechat-miniprogram/wxml-to-canvas)", + "devDependencies": { + "colors": "^1.3.1", + "eslint": "^5.14.1", + "eslint-config-airbnb-base": "13.1.0", + "eslint-loader": "^2.1.2", + "eslint-plugin-import": "^2.16.0", + "eslint-plugin-node": "^7.0.1", + "eslint-plugin-promise": "^3.8.0", + "gulp": "^4.0.0", + "gulp-clean": "^0.4.0", + "gulp-if": "^2.0.2", + "gulp-install": "^1.1.0", + "gulp-less": "^4.0.1", + "gulp-rename": "^1.4.0", + "gulp-sourcemaps": "^2.6.5", + "jest": "^23.5.0", + "miniprogram-simulate": "^1.0.0", + "through2": "^2.0.3", + "vinyl": "^2.2.0", + "webpack": "^4.29.5", + "webpack-cli": "^3.3.10", + "webpack-node-externals": "^1.7.2" + }, + "jest": { + "testEnvironment": "jsdom", + "testURL": "https://jest.test", + "collectCoverageFrom": [ + "src/**/*.js" + ], + "moduleDirectories": [ + "node_modules", + "src" + ] + }, + "license": "MIT", + "main": "miniprogram_dist/index.js", + "miniprogram": "miniprogram_dist", + "name": "wxml-to-canvas", + "repository": { + "type": "git", + "url": "" + }, + "scripts": { + "build": "gulp", + "clean": "gulp clean", + "clean-dev": "gulp clean --develop", + "coverage": "jest ./test/* --coverage --bail", + "dev": "gulp dev --develop", + "dist": "npm run build", + "lint": "eslint \"src/**/*.js\" --fix", + "lint-tools": "eslint \"tools/**/*.js\" --rule \"import/no-extraneous-dependencies: false\" --fix", + "test": "jest --bail", + "test-debug": "node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand --bail", + "watch": "gulp watch --develop --watch" + }, + "version": "1.1.1" +} diff --git a/node_modules/wxml-to-canvas/src/draw.js b/node_modules/wxml-to-canvas/src/draw.js new file mode 100644 index 0000000..42e69c4 --- /dev/null +++ b/node_modules/wxml-to-canvas/src/draw.js @@ -0,0 +1,225 @@ +class Draw { + constructor(context, canvas, use2dCanvas = false) { + this.ctx = context + this.canvas = canvas || null + this.use2dCanvas = use2dCanvas + } + + roundRect(x, y, w, h, r, fill = true, stroke = false) { + if (r < 0) return + const ctx = this.ctx + + ctx.beginPath() + ctx.arc(x + r, y + r, r, Math.PI, Math.PI * 3 / 2) + ctx.arc(x + w - r, y + r, r, Math.PI * 3 / 2, 0) + ctx.arc(x + w - r, y + h - r, r, 0, Math.PI / 2) + ctx.arc(x + r, y + h - r, r, Math.PI / 2, Math.PI) + ctx.lineTo(x, y + r) + if (stroke) ctx.stroke() + if (fill) ctx.fill() + } + + drawView(box, style) { + const ctx = this.ctx + const { + left: x, top: y, width: w, height: h + } = box + const { + borderRadius = 0, + borderWidth = 0, + borderColor, + color = '#000', + backgroundColor = 'transparent', + } = style + ctx.save() + // 外环 + if (borderWidth > 0) { + ctx.fillStyle = borderColor || color + this.roundRect(x, y, w, h, borderRadius) + } + + // 内环 + ctx.fillStyle = backgroundColor + const innerWidth = w - 2 * borderWidth + const innerHeight = h - 2 * borderWidth + const innerRadius = borderRadius - borderWidth >= 0 ? borderRadius - borderWidth : 0 + this.roundRect(x + borderWidth, y + borderWidth, innerWidth, innerHeight, innerRadius) + ctx.restore() + } + + async drawImage(img, box, style) { + await new Promise((resolve, reject) => { + const ctx = this.ctx + const canvas = this.canvas + + const { + borderRadius = 0 + } = style + const { + left: x, top: y, width: w, height: h + } = box + ctx.save() + this.roundRect(x, y, w, h, borderRadius, false, false) + ctx.clip() + + const _drawImage = (img) => { + if (this.use2dCanvas) { + const Image = canvas.createImage() + Image.onload = () => { + ctx.drawImage(Image, x, y, w, h) + ctx.restore() + resolve() + } + Image.onerror = () => { reject(new Error(`createImage fail: ${img}`)) } + Image.src = img + } else { + ctx.drawImage(img, x, y, w, h) + ctx.restore() + resolve() + } + } + + const isTempFile = /^wxfile:\/\//.test(img) + const isNetworkFile = /^https?:\/\//.test(img) + + if (isTempFile) { + _drawImage(img) + } else if (isNetworkFile) { + wx.downloadFile({ + url: img, + success(res) { + if (res.statusCode === 200) { + _drawImage(res.tempFilePath) + } else { + reject(new Error(`downloadFile:fail ${img}`)) + } + }, + fail() { + reject(new Error(`downloadFile:fail ${img}`)) + } + }) + } else { + reject(new Error(`image format error: ${img}`)) + } + }) + } + + // eslint-disable-next-line complexity + drawText(text, box, style) { + const ctx = this.ctx + let { + left: x, top: y, width: w, height: h + } = box + let { + color = '#000', + lineHeight = '1.4em', + fontSize = 14, + textAlign = 'left', + verticalAlign = 'top', + backgroundColor = 'transparent' + } = style + + if (typeof lineHeight === 'string') { // 2em + lineHeight = Math.ceil(parseFloat(lineHeight.replace('em')) * fontSize) + } + if (!text || (lineHeight > h)) return + + ctx.save() + ctx.textBaseline = 'top' + ctx.font = `${fontSize}px sans-serif` + ctx.textAlign = textAlign + + // 背景色 + ctx.fillStyle = backgroundColor + this.roundRect(x, y, w, h, 0) + + // 文字颜色 + ctx.fillStyle = color + + // 水平布局 + switch (textAlign) { + case 'left': + break + case 'center': + x += 0.5 * w + break + case 'right': + x += w + break + default: break + } + + const textWidth = ctx.measureText(text).width + const actualHeight = Math.ceil(textWidth / w) * lineHeight + let paddingTop = Math.ceil((h - actualHeight) / 2) + if (paddingTop < 0) paddingTop = 0 + + // 垂直布局 + switch (verticalAlign) { + case 'top': + break + case 'middle': + y += paddingTop + break + case 'bottom': + y += 2 * paddingTop + break + default: break + } + + const inlinePaddingTop = Math.ceil((lineHeight - fontSize) / 2) + + // 不超过一行 + if (textWidth <= w) { + ctx.fillText(text, x, y + inlinePaddingTop) + return + } + + // 多行文本 + const chars = text.split('') + const _y = y + + // 逐行绘制 + let line = '' + for (const ch of chars) { + const testLine = line + ch + const testWidth = ctx.measureText(testLine).width + + if (testWidth > w) { + ctx.fillText(line, x, y + inlinePaddingTop) + y += lineHeight + line = ch + if ((y + lineHeight) > (_y + h)) break + } else { + line = testLine + } + } + + // 避免溢出 + if ((y + lineHeight) <= (_y + h)) { + ctx.fillText(line, x, y + inlinePaddingTop) + } + ctx.restore() + } + + async drawNode(element) { + const {layoutBox, computedStyle, name} = element + const {src, text} = element.attributes + if (name === 'view') { + this.drawView(layoutBox, computedStyle) + } else if (name === 'image') { + await this.drawImage(src, layoutBox, computedStyle) + } else if (name === 'text') { + this.drawText(text, layoutBox, computedStyle) + } + const childs = Object.values(element.children) + for (const child of childs) { + await this.drawNode(child) + } + } +} + + +module.exports = { + Draw +} diff --git a/node_modules/wxml-to-canvas/src/index.js b/node_modules/wxml-to-canvas/src/index.js new file mode 100644 index 0000000..ffa8834 --- /dev/null +++ b/node_modules/wxml-to-canvas/src/index.js @@ -0,0 +1,117 @@ + +const xmlParse = require('./xml-parser') +const {Widget} = require('./widget') +const {Draw} = require('./draw') +const {compareVersion} = require('./utils') + +const canvasId = 'weui-canvas' + +Component({ + properties: { + width: { + type: Number, + value: 400 + }, + height: { + type: Number, + value: 300 + } + }, + data: { + use2dCanvas: false, // 2.9.2 后可用canvas 2d 接口 + }, + lifetimes: { + attached() { + const {SDKVersion, pixelRatio: dpr} = wx.getSystemInfoSync() + const use2dCanvas = compareVersion(SDKVersion, '2.9.2') >= 0 + this.dpr = dpr + this.setData({use2dCanvas}, () => { + if (use2dCanvas) { + const query = this.createSelectorQuery() + query.select(`#${canvasId}`) + .fields({node: true, size: true}) + .exec(res => { + const canvas = res[0].node + const ctx = canvas.getContext('2d') + canvas.width = res[0].width * dpr + canvas.height = res[0].height * dpr + ctx.scale(dpr, dpr) + this.ctx = ctx + this.canvas = canvas + }) + } else { + this.ctx = wx.createCanvasContext(canvasId, this) + } + }) + } + }, + methods: { + async renderToCanvas(args) { + const {wxml, style} = args + const ctx = this.ctx + const canvas = this.canvas + const use2dCanvas = this.data.use2dCanvas + + if (use2dCanvas && !canvas) { + return Promise.reject(new Error('renderToCanvas: fail canvas has not been created')) + } + + ctx.clearRect(0, 0, this.data.width, this.data.height) + const {root: xom} = xmlParse(wxml) + + const widget = new Widget(xom, style) + const container = widget.init() + this.boundary = { + top: container.layoutBox.top, + left: container.layoutBox.left, + width: container.computedStyle.width, + height: container.computedStyle.height, + } + const draw = new Draw(ctx, canvas, use2dCanvas) + await draw.drawNode(container) + + if (!use2dCanvas) { + await this.canvasDraw(ctx) + } + return Promise.resolve(container) + }, + + canvasDraw(ctx, reserve) { + return new Promise(resolve => { + ctx.draw(reserve, () => { + resolve() + }) + }) + }, + + canvasToTempFilePath(args = {}) { + const use2dCanvas = this.data.use2dCanvas + + return new Promise((resolve, reject) => { + const { + top, left, width, height + } = this.boundary + + const copyArgs = { + x: left, + y: top, + width, + height, + destWidth: width * this.dpr, + destHeight: height * this.dpr, + canvasId, + fileType: args.fileType || 'png', + quality: args.quality || 1, + success: resolve, + fail: reject + } + + if (use2dCanvas) { + delete copyArgs.canvasId + copyArgs.canvas = this.canvas + } + wx.canvasToTempFilePath(copyArgs, this) + }) + } + } +}) diff --git a/node_modules/wxml-to-canvas/src/index.json b/node_modules/wxml-to-canvas/src/index.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/node_modules/wxml-to-canvas/src/index.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/src/index.wxml b/node_modules/wxml-to-canvas/src/index.wxml new file mode 100644 index 0000000..a0010ad --- /dev/null +++ b/node_modules/wxml-to-canvas/src/index.wxml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/src/index.wxss b/node_modules/wxml-to-canvas/src/index.wxss new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/wxml-to-canvas/src/utils.js b/node_modules/wxml-to-canvas/src/utils.js new file mode 100644 index 0000000..c3cf7d7 --- /dev/null +++ b/node_modules/wxml-to-canvas/src/utils.js @@ -0,0 +1,57 @@ +const hex = (color) => { + let result = null + + if (/^#/.test(color) && (color.length === 7 || color.length === 9)) { + return color + // eslint-disable-next-line no-cond-assign + } else if ((result = /^(rgb|rgba)\((.+)\)/.exec(color)) !== null) { + return '#' + result[2].split(',').map((part, index) => { + part = part.trim() + part = index === 3 ? Math.floor(parseFloat(part) * 255) : parseInt(part, 10) + part = part.toString(16) + if (part.length === 1) { + part = '0' + part + } + return part + }).join('') + } else { + return '#00000000' + } +} + +const splitLineToCamelCase = (str) => str.split('-').map((part, index) => { + if (index === 0) { + return part + } + return part[0].toUpperCase() + part.slice(1) +}).join('') + +const 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 + } else if (num1 < num2) { + return -1 + } + } + + return 0 +} + +module.exports = { + hex, + splitLineToCamelCase, + compareVersion +} diff --git a/node_modules/wxml-to-canvas/src/widget.js b/node_modules/wxml-to-canvas/src/widget.js new file mode 100644 index 0000000..af3ccc2 --- /dev/null +++ b/node_modules/wxml-to-canvas/src/widget.js @@ -0,0 +1,81 @@ +const Block = require('widget-ui') +const {splitLineToCamelCase} = require('./utils') + +class Element extends Block { + constructor(prop) { + super(prop.style) + this.name = prop.name + this.attributes = prop.attributes + } +} + + +class Widget { + constructor(xom, style) { + this.xom = xom + this.style = style + + this.inheritProps = ['fontSize', 'lineHeight', 'textAlign', 'verticalAlign', 'color'] + } + + init() { + this.container = this.create(this.xom) + this.container.layout() + + this.inheritStyle(this.container) + return this.container + } + + // 继承父节点的样式 + inheritStyle(node) { + const parent = node.parent || null + const children = node.children || {} + const computedStyle = node.computedStyle + + if (parent) { + this.inheritProps.forEach(prop => { + computedStyle[prop] = computedStyle[prop] || parent.computedStyle[prop] + }) + } + + Object.values(children).forEach(child => { + this.inheritStyle(child) + }) + } + + create(node) { + let classNames = (node.attributes.class || '').split(' ') + classNames = classNames.map(item => splitLineToCamelCase(item.trim())) + const style = {} + classNames.forEach(item => { + Object.assign(style, this.style[item] || {}) + }) + + const args = {name: node.name, style} + + const attrs = Object.keys(node.attributes) + const attributes = {} + for (const attr of attrs) { + const value = node.attributes[attr] + const CamelAttr = splitLineToCamelCase(attr) + + if (value === '' || value === 'true') { + attributes[CamelAttr] = true + } else if (value === 'false') { + attributes[CamelAttr] = false + } else { + attributes[CamelAttr] = value + } + } + attributes.text = node.content + args.attributes = attributes + const element = new Element(args) + node.children.forEach(childNode => { + const childElement = this.create(childNode) + element.add(childElement) + }) + return element + } +} + +module.exports = {Widget} diff --git a/node_modules/wxml-to-canvas/src/xml-parser.js b/node_modules/wxml-to-canvas/src/xml-parser.js new file mode 100644 index 0000000..de7526c --- /dev/null +++ b/node_modules/wxml-to-canvas/src/xml-parser.js @@ -0,0 +1,164 @@ + +/** + * Module dependencies. + */ + + +/** + * Expose `parse`. + */ + + +/** + * Parse the given string of `xml`. + * + * @param {String} xml + * @return {Object} + * @api public + */ + +function parse(xml) { + xml = xml.trim() + + // strip comments + xml = xml.replace(//g, '') + + return document() + + /** + * XML document. + */ + + function document() { + return { + declaration: declaration(), + root: tag() + } + } + + /** + * Declaration. + */ + + function declaration() { + const m = match(/^<\?xml\s*/) + if (!m) return + + // tag + const node = { + attributes: {} + } + + // attributes + while (!(eos() || is('?>'))) { + const attr = attribute() + if (!attr) return node + node.attributes[attr.name] = attr.value + } + + match(/\?>\s*/) + + return node + } + + /** + * Tag. + */ + + function tag() { + const m = match(/^<([\w-:.]+)\s*/) + if (!m) return + + // name + const node = { + name: m[1], + attributes: {}, + children: [] + } + + // attributes + while (!(eos() || is('>') || is('?>') || is('/>'))) { + const attr = attribute() + if (!attr) return node + node.attributes[attr.name] = attr.value + } + + // self closing tag + if (match(/^\s*\/>\s*/)) { + return node + } + + match(/\??>\s*/) + + // content + node.content = content() + + // children + let child + while (child = tag()) { + node.children.push(child) + } + + // closing + match(/^<\/[\w-:.]+>\s*/) + + return node + } + + /** + * Text content. + */ + + function content() { + const m = match(/^([^<]*)/) + if (m) return m[1] + return '' + } + + /** + * Attribute. + */ + + function attribute() { + const m = match(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/) + if (!m) return + return {name: m[1], value: strip(m[2])} + } + + /** + * Strip quotes from `val`. + */ + + function strip(val) { + return val.replace(/^['"]|['"]$/g, '') + } + + /** + * Match `re` and advance the string. + */ + + function match(re) { + const m = xml.match(re) + if (!m) return + xml = xml.slice(m[0].length) + return m + } + + /** + * End-of-source. + */ + + function eos() { + return xml.length == 0 + } + + /** + * Check for `prefix`. + */ + + function is(prefix) { + return xml.indexOf(prefix) == 0 + } +} + +module.exports = parse diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..1f060ee --- /dev/null +++ b/package-lock.json @@ -0,0 +1,84 @@ +{ + "name": "yimini", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "yimini", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@miniprogram-component-plus/sticky": "^1.0.1", + "@miniprogram-component-plus/tabs": "^1.0.0", + "wxml-to-canvas": "^1.1.1" + } + }, + "node_modules/@miniprogram-component-plus/sticky": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@miniprogram-component-plus/sticky/-/sticky-1.0.1.tgz", + "integrity": "sha512-HYZ/PCm8KjUSQYwMLG61bhHBKU8s9aDx5Tl2BvruAku8bvEbyd8A3Povpb9V6lPPvsD/oXp2R7/GmgsCgDuI4g==" + }, + "node_modules/@miniprogram-component-plus/tabs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@miniprogram-component-plus/tabs/-/tabs-1.0.0.tgz", + "integrity": "sha512-oV9dFpIoYAz0IbDECS9toS1GHivWoAd1cchxeZKCBV3PoPCEipHOeXQS3K2USr7EY8LDyfg3f0tDAacPfagYjg==" + }, + "node_modules/wxml-to-canvas": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/wxml-to-canvas/-/wxml-to-canvas-1.1.1.tgz", + "integrity": "sha512-3mDjHzujY/UgdCOXij/MnmwJYerVjwkyQHMBFBE8zh89DK7h7UTzoydWFqEBjIC0rfZM+AXl5kDh9hUcsNpSmg==", + "dependencies": { + "widget-ui": "^1.0.2" + } + }, + "node_modules/wxml-to-canvas/node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/wxml-to-canvas/node_modules/widget-ui": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/widget-ui/-/widget-ui-1.0.2.tgz", + "integrity": "sha512-gDXosr5mflJdMA1weU1A47aTsTFfMJhfA4EKgO5XFebY3eVklf80KD4GODfrjo8J2WQ+9YjL1Rd9UUmKIzhShw==", + "dependencies": { + "eventemitter3": "^4.0.0" + } + } + }, + "dependencies": { + "@miniprogram-component-plus/sticky": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@miniprogram-component-plus/sticky/-/sticky-1.0.1.tgz", + "integrity": "sha512-HYZ/PCm8KjUSQYwMLG61bhHBKU8s9aDx5Tl2BvruAku8bvEbyd8A3Povpb9V6lPPvsD/oXp2R7/GmgsCgDuI4g==" + }, + "@miniprogram-component-plus/tabs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@miniprogram-component-plus/tabs/-/tabs-1.0.0.tgz", + "integrity": "sha512-oV9dFpIoYAz0IbDECS9toS1GHivWoAd1cchxeZKCBV3PoPCEipHOeXQS3K2USr7EY8LDyfg3f0tDAacPfagYjg==" + }, + "wxml-to-canvas": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/wxml-to-canvas/-/wxml-to-canvas-1.1.1.tgz", + "integrity": "sha512-3mDjHzujY/UgdCOXij/MnmwJYerVjwkyQHMBFBE8zh89DK7h7UTzoydWFqEBjIC0rfZM+AXl5kDh9hUcsNpSmg==", + "requires": { + "widget-ui": "^1.0.2" + }, + "dependencies": { + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "widget-ui": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/widget-ui/-/widget-ui-1.0.2.tgz", + "integrity": "sha512-gDXosr5mflJdMA1weU1A47aTsTFfMJhfA4EKgO5XFebY3eVklf80KD4GODfrjo8J2WQ+9YjL1Rd9UUmKIzhShw==", + "requires": { + "eventemitter3": "^4.0.0" + } + } + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..90805d7 --- /dev/null +++ b/package.json @@ -0,0 +1,20 @@ +{ + "name": "yimini", + "version": "1.0.0", + "description": "", + "main": ".eslintrc.js", + "dependencies": { + "@miniprogram-component-plus/sticky": "^1.0.1", + "@miniprogram-component-plus/tabs": "^1.0.0", + "wxml-to-canvas": "^1.1.1" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "http://zsk@47.95.113.45:19998/r/matripe/minapp/1shoudan.git" + }, + "author": "", + "license": "ISC" +} diff --git a/pages/city/index.js b/pages/city/index.js new file mode 100644 index 0000000..61c4484 --- /dev/null +++ b/pages/city/index.js @@ -0,0 +1,530 @@ +// pages/city/index.js +const app = getApp(); +Page({ + /** + * 页面的初始数据 + */ + data: { + inputShowed: false, + inputVal: "", + hotCity: [ + { id: 1, name: "郑州" }, + { id: 2, name: "上海" }, + { id: 3, name: "昆山" }, + { id: 4, name: "苏州" }, + { id: 5, name: "无锡" }, + { id: 6, name: "深圳" }, + { id: 7, name: "南京" }, + { id: 8, name: "东莞" }, + { id: 9, name: "常州" }, + ], + hotCitySelect: -1, + toView: "", + from: "", + cityList: [], + letter: ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"], + selectedQuanGuo: { + name: "全国", + shortName: "全国", + checked: true, + }, + selectedCityLocal: { + name: "", + shortName: "", + checked: false, + }, + selectedCity: { + name: "", + shortName: "", + checked: false, + }, + selectedCityTemp: { + name: "", + shortName: "", + checked: false, + }, + alpha: "", + plShow: false, + pltop: 70, + + selectedQuanGuoStorage: { + name: "全国", + shortName: "全国", + checked: true, + }, + selectedCityStorage: { + name: "", + shortName: "", + checked: false, + }, + selectedCityLocalStorage: { + name: "", + shortName: "", + checked: false, + }, + selectedCityTempStorage: { + name: "", + shortName: "", + checked: false, + }, + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + var that = this; + console.log(options); + if (options.from) { + this.setData({ + from: options.from, + }); + } + try { + var searchCityParamStorage = wx.getStorageSync("searchCityParamStorage"); + console.log("searchCityParamStorage======", searchCityParamStorage); + var selectedCityTempParamStorage = wx.getStorageSync("selectedCityTempParamStorage"); + console.log("selectedCityTempParamStorage======", selectedCityTempParamStorage); + + var tag = wx.getStorageSync("selectedQuanGuoStorage"); + if (tag && app.isNotEmptyCheck(tag.name)) { + that.data.selectedQuanGuoStorage = wx.getStorageSync("selectedQuanGuoStorage"); + console.log("selectedQuanGuoStorage======", that.data.selectedQuanGuoStorage); + that.data.selectedCityStorage = wx.getStorageSync("selectedCityStorage"); + console.log("selectedCityStorage======", that.data.selectedCityStorage); + that.data.selectedCityLocalStorage = wx.getStorageSync("selectedCityLocalStorage"); + console.log("selectedCityLocalStorage======", that.data.selectedCityLocalStorage); + that.data.selectedCityTempStorage = wx.getStorageSync("selectedCityTempStorage"); + console.log("selectedCityTempStorage======", that.data.selectedCityTempStorage); + } + + if (searchCityParamStorage && app.isNotEmptyCheck(searchCityParamStorage.name)) { + that.setData({ + selectedQuanGuo: JSON.parse(JSON.stringify(that.data.selectedQuanGuoStorage)), + selectedCity: JSON.parse(JSON.stringify(that.data.selectedCityStorage)), + selectedCityTemp: JSON.parse(JSON.stringify(that.data.selectedCityTempStorage)), + }); + } else { + that.setData({ + selectedQuanGuo: that.data.selectedQuanGuo, + selectedCityLocal: that.data.selectedCityLocal, + selectedCity: that.data.selectedCity, + selectedCityTemp: that.data.selectedCityTemp, + }); + } + } catch (e) { + console.log("获取缓存设置的查询职位列表参数错误:", e); + } + + this.getAllCityLevel2(); + }, + leftMove(e) { + this.setData({ + toView: "", + }); + }, + handlerAlphaTap(e) { + console.log(e.target.dataset.item); + this.setData({ + toView: e.target.dataset.item, + alpha: e.target.dataset.item, + plShow: true, + }); + }, + touchEnd(e) { + this.setData({ + plShow: false, + }); + }, + touchMove(e) { + var that = this; + // console.log(e) + console.log(e.changedTouches[0].clientY); + let moveY = e.changedTouches[0].clientY; + let rY = moveY - 80; + + // toView:'hot' + // toView:e.target.dataset.item + + if (rY >= 0) { + let index = Math.ceil(rY / 22); + // console.log(index); + if (index == 1) { + this.setData({ toView: "top", alpha: "查", plShow: true }); + } else if (index == 2) { + this.setData({ toView: "hot", alpha: "热", plShow: true, pltop: 92 }); + } else { + let nonwAp = that.data.letter[index - 3]; + let hg = (index - 2) * 22; + this.setData({ toView: nonwAp, alpha: nonwAp, plShow: true, pltop: 92 + hg }); + } + + // if(0 <= index < list.length) { + // let nonwAp = list[index]; + // nonwAp && this.setData({alpha: nonwAp.alphabet}); + // } + } + + // let {list} = this.data; + // console.log(list) + // console.log(this.data.alphabet) + // let moveY = e.touches[0].clientY; + // let rY = moveY - this.offsetTop; + // if(rY >= 0) { + // let index = Math.ceil((rY - this.apHeight)/ this.apHeight); + // if(0 <= index < list.length) { + // let nonwAp = list[index]; + // nonwAp && this.setData({alpha: nonwAp.alphabet}); + // } + // } + }, + getLocation() { + var that = this; + if (app.isNotEmptyCheck(app.globalData.lng) && app.isNotEmptyCheck(app.globalData.lat)) { + that.getCityNameByLatLng(app.globalData.lng, app.globalData.lat, 1); + } else { + wx.getSetting({ + success: (res) => { + console.log(res); // res.authSetting.location + + if (res.authSetting["scope.userLocation"]) { + wx.getLocation({ + type: "gcj02", + success(res1) { + console.log("获取位置"); + console.log(res1); + app.globalData.lng = res1.longitude; + app.globalData.lat = res1.latitude; + that.getCityNameByLatLng(res1.longitude, res1.latitude, 1); + }, + fail() {}, + }); + that.getCityNameByLatLng(app.globalData.lng, app.globalData.lat, 1); + } else { + console.log("11111111"); + wx.openSetting({ + success(res) { + console.log(res.authSetting); + // res.authSetting = { + // "scope.userInfo": true, + // "scope.userLocation": true + // } + }, + }); + // that.getStoreJobDetailById(); + } + }, + }); + } + }, + selectQuanGuo: function (e) { + var that = this; + that.data.selectedQuanGuo.checked = true; + that.data.selectedCity.checked = false; + that.data.selectedCityLocal.checked = false; + that.data.selectedCityTemp.checked = false; + + this.setData({ + selectedQuanGuo: that.data.selectedQuanGuo, + selectedCity: that.data.selectedCity, + selectedCityTemp: that.data.selectedCityTemp, + selectedCityLocal: that.data.selectedCityLocal, + }); + }, + selectOld: function (e) { + var that = this; + that.clearAllChecked(); + that.data.selectedCity.checked = true; + + this.setData({ + selectedQuanGuo: that.data.selectedQuanGuo, + selectedCity: that.data.selectedCity, + selectedCityTemp: that.data.selectedCityTemp, + selectedCityLocal: that.data.selectedCityLocal, + }); + }, + reset: function (e) { + this.clearAllChecked(); + this.data.selectedQuanGuo.checked = true; + this.setAllSelected(); + }, + selectCity: function (e) { + var city = e.currentTarget.dataset.city; + console.log(city); + this.data.selectedCityLocal.checked = false; + var that = this; + + if (this.data.selectedCity.id != city.id) { + this.data.selectedCity.checked = false; + } + + this.data.selectedCityTemp = city; + this.data.selectedCityTemp.checked = true; + + this.data.selectedQuanGuo.checked = false; + + this.setData({ + selectedCity: that.data.selectedCity, + selectedCityTemp: that.data.selectedCityTemp, + selectedQuanGuo: that.data.selectedQuanGuo, + selectedCityLocal: this.data.selectedCityLocal, + }); + }, + loginOut: function () { + var that = this; + + var temp; + if (that.data.selectedCityTemp.checked) { + that.clearAllChecked(); + that.data.selectedCityTemp.checked = true; + + temp = that.data.selectedCityTemp; + that.data.selectedCity = that.data.selectedCityTemp; + } else if (that.data.selectedQuanGuo.checked) { + that.clearAllChecked(); + that.data.selectedQuanGuo.checked = true; + + temp = that.data.selectedQuanGuo; + } else if (that.data.selectedCity.checked) { + that.clearAllChecked(); + that.data.selectedCity.checked = true; + + temp = that.data.selectedCity; + } else if (that.data.selectedCityLocal.checked) { + that.clearAllChecked(); + that.data.selectedCityLocal.checked = true; + + temp = that.data.selectedCityLocal; + } + + try { + wx.setStorageSync("selectedCityTempParamStorage", that.data.selectedCity); + wx.setStorageSync("searchCityParamStorage", temp); + + wx.setStorageSync("selectedQuanGuoStorage", that.data.selectedQuanGuo); + wx.setStorageSync("selectedCityStorage", that.data.selectedCity); + wx.setStorageSync("selectedCityLocalStorage", that.data.selectedCityLocal); + wx.setStorageSync("selectedCityTempStorage", that.data.selectedCityTemp); + wx.setStorageSync("FROMCITY", true); + } catch (e) { + console.log("index-设置查询职位列表参数错误", e); + } + if (this.data.from == "search") { + var pages = getCurrentPages(); + var prevPage = pages[pages.length - 2]; // 上一个页面 + + prevPage.data.storeJobListSearchForm.cityName = temp.name; + prevPage.setData({ + storeJobListSearchForm: prevPage.data.storeJobListSearchForm, + searchCityParamStorage: temp, + }); + wx.navigateBack({ + delta: 1, + }); + // wx.reLaunch({ + // url: "../jobListSearch/index?fromSearchPage=1", + // }); + } else { + var pages = getCurrentPages(); + var prevPage = pages[pages.length - 2]; // 上一个页面 + + prevPage.data.storeJobListSearchForm.cityName = temp.name; + prevPage.setData({ + storeJobListSearchForm: prevPage.data.storeJobListSearchForm, + searchCityParamStorage: temp, + }); + wx.navigateBack({ + delta: 1, + }); + // var pages = getCurrentPages(); + // var prevPage = pages[pages.length - 2]; // 上一个页面 + // console.log(prevPage); + // console.log(temp); + // prevPage.data.storeJobListSearchForm.cityName = temp.name; + // prevPage.setData({ + // storeJobListSearchForm: prevPage.data.storeJobListSearchForm, + // searchCityParamStorage: temp, + // }); + // wx.navigateBack({ + // delta: 1, + // }); + // wx.reLaunch({ + // url: "../firstBill/index?fromSearchPage=1", + // }); + } + }, + showInput: function () { + this.setData({ + inputShowed: true, + }); + }, + hideInput: function () { + this.setData({ + inputVal: "", + inputShowed: false, + }); + }, + clearInput: function () { + this.setData({ + inputVal: "", + }); + }, + inputTyping: function (e) { + this.setData({ + inputVal: e.detail.value, + }); + }, + clickHot: function (e) { + this.setData({ + toView: "hot", + }); + }, + goTop: function (e) { + this.setData({ + toView: "top", + }); + }, + chooseLetter: function (e) { + console.log(e.target.dataset.item); + this.setData({ + toView: e.target.dataset.item, + }); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () {}, + + getAllCityLevel2: function () { + var that = this; + wx.request({ + url: app.globalData.ip + "/city/getAllCityLevel2", + data: {}, + header: app.globalData.header, + method: "GET", + success: function (res) { + console.log(res); + that.setData({ + cityList: res.data.data, + }); + console.log(that.data.cityList); + + if (app.isNotEmptyCheck(app.globalData.lng) && app.isNotEmptyCheck(app.globalData.lat)) { + that.getCityNameByLatLng(app.globalData.lng, app.globalData.lat, 0); + } else { + wx.getLocation({ + type: "gcj02", + success(res) { + console.log(res); + app.globalData.lng = res.longitude; + app.globalData.lat = res.latitude; + that.getCityNameByLatLng(res.longitude, res.latitude, 0); + }, + }); + } + }, + }); + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () {}, + + getCityNameByLatLng: function (longitude, latitude, comeFrom) { + var that = this; + wx.request({ + url: app.globalData.ip + "/location/getCityNameByLatLng", + data: { + lng: longitude, + lat: latitude, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + var cityName = res.data.data; + + var tag = false; + + that.data.cityList.forEach((item) => { + item.list.forEach((item1) => { + if (item1.name == cityName) { + // if (that.data.selectedCityLocalStorage) {} + + // debugger; + if (comeFrom == 1) { + //主动点击获取位置 + + that.clearAllChecked(); + that.data.selectedCityLocal = item1; + that.data.selectedCityLocal.checked = true; + + that.setAllSelected(); + } else { + if (that.data.selectedCityLocalStorage.checked) { + that.clearAllChecked(); + that.data.selectedCityLocal = item1; + that.data.selectedCityLocal.checked = true; + + that.setAllSelected(); + } else { + // that.clearAllChecked(); + that.data.selectedCityLocal = item1; + that.data.selectedCityLocal.checked = false; + + that.setAllSelected(); + } + } + } + }); + }); + } + }, + }); + }, + + clearAllChecked: function () { + var that = this; + that.data.selectedQuanGuo.checked = false; + that.data.selectedCity.checked = false; + that.data.selectedCityLocal.checked = false; + that.data.selectedCityTemp.checked = false; + }, + setAllSelected: function () { + var that = this; + this.setData({ + selectedQuanGuo: that.data.selectedQuanGuo, + selectedCity: that.data.selectedCity, + selectedCityTemp: that.data.selectedCityTemp, + selectedCityLocal: that.data.selectedCityLocal, + }); + }, + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () {}, + + /** + * 用户点击右上角分享 + */ + // onShareAppMessage1: function () { + + // } +}); diff --git a/pages/city/index.json b/pages/city/index.json new file mode 100644 index 0000000..b42112c --- /dev/null +++ b/pages/city/index.json @@ -0,0 +1,5 @@ +{ + "navigationBarTitleText": "选择城市", + "backgroundColor": "#f5f5f5" + +} \ No newline at end of file diff --git a/pages/city/index.wxml b/pages/city/index.wxml new file mode 100644 index 0000000..0f90518 --- /dev/null +++ b/pages/city/index.wxml @@ -0,0 +1,68 @@ + + {{alpha}} + + + + + + + + 当前城市 + + 全国 + {{selectedCityLocal.shortName}} + {{selectedCity.shortName}} + + + + {{item.name}} + + {{item1.shortName}} + + + + + + + + + + + + + {{item}} + + + + + + + + + + + \ No newline at end of file diff --git a/pages/city/index.wxss b/pages/city/index.wxss new file mode 100644 index 0000000..12e14a4 --- /dev/null +++ b/pages/city/index.wxss @@ -0,0 +1,159 @@ +page { + padding-bottom: 120px; +} + +.p1020 { + padding: 10px 10px 10px 20px; +} + +.container { + margin-top: 10px; +} + +.container::after { + content: "."; + display: block; + height: 0; + visibility: hidden; + clear: both; +} + +.container .item { + width: calc(33.33% - 10px); + float: left; + margin-right: 10px; + background: #fff; + border-radius: 16px; + font-size: 16px; + font-weight: 400; + text-align: center; + padding: 8px 0; + color: #1d1d1d; + margin-bottom: 10px; + line-height: 20px; + /* display: flex; + align-items: center; + justify-content: center; */ + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.container .item.active { + background: var(--color-ysd); + color: #ffffff; +} + +.headTxt { + font-size: 18px; + font-weight: 400; + color: #999999; + line-height: 25px; + margin-top: 10px; +} +.resetBtn{ + height: 44px; + opacity: 1; + background: #fff; + border: 1px solid var(--color-ysd); + border-radius: 25px; + font-size: 18px; + font-weight: 601; + color: var(--color-ysd); + padding: 0; + line-height: 44px; + margin-bottom: 40px; +} +.resetBtn:active{ + background-color: #f2f2f2; +} +.loginOut { + width: 100%; + height: 44px; + opacity: 1; + background: var(--color-ysd) !important; + border-radius: 25px; + font-size: 18px; + font-weight: 601; + color: #ffffff; + padding: 0; + line-height: 44px; + margin-bottom: 40px; + margin-top: 20rpx; +} +.pl10{ + padding-left: 10px; +} +.pr10{ + padding-right: 10px; +} + +.btmFix { + position: fixed; + bottom: 0px; + left: 0; + width: 100%; + /* background-color: #ffffff; */ + z-index: 99; +} +page { + padding-bottom: 0; +} +.weui-search-bar { + padding: 0; +} +.weui-search-bar__box { + background-color: #f6f6f6; +} +.weui-search-bar__form { + padding-right: 10px; +} +.weui-search-bar__box { + border-radius: 17px; +} +.p10200 { + padding: 10px 10px 140px 20px; +} +.letter-list { + position: fixed; + top: 80px; + right: 0; + z-index: 999; + width: 24px; + font-size: 11px; + text-align: center; + color: #999999; +} + +.letter-list .letter { + padding: 4px; + line-height: 1.3; +} + +.rlhc { + background: var(--color-ysd); + border-radius: 100%; + color: #ffffff; +} +.positionLetter { + position: fixed; + right: 40px; + top: 90px; + width: 47px; + height: 47px; + opacity: 1; + background: #cccccc; + border-radius: 50%; + font-size: 25px; + font-weight: 601; + text-align: center; + color: #ffffff; + line-height: 47px; + z-index: 9999; +} +.loginOut { + margin-top: 20rpx; +} +.btn { + width: unset !important; +} diff --git a/pages/collect/index.js b/pages/collect/index.js new file mode 100644 index 0000000..f264225 --- /dev/null +++ b/pages/collect/index.js @@ -0,0 +1,1362 @@ +const app = getApp(); + +const commonUtil = require("../../utils/commonUtil.js"); +Page({ + data: { + toped: "1", + chaShowed: false, + backHeight:wx.getMenuButtonBoundingClientRect().top + (wx.getMenuButtonBoundingClientRect().height/2) +'px', + isTrigger: false, + // background: ["../../assets/images/banner1.jpg", "../../assets/images/banner2.jpg", "../../assets/images/banner3.jpg", "../../assets/images/banner4.jpg"], + pullNum: 0, //下拉次数 + tabs: [], + activeTab: 0, + systemInfo: {}, + getMenuButtonBoundingClientRect: {}, + // 手机基础信息 + tabs2: [], + loadMore: "", + loadContent: ["马不停蹄加载更多数据中...", "-- 已经到底了,加不了咯 --"], + + statusBarHeight: wx.getStorageSync("statusBarHeight"), // 状态栏高度 + + navigationBarHeight: wx.getStorageSync("navigationBarHeight"), // 导航栏高度 + + menuButtonHeight: wx.getStorageSync("menuButtonHeight"), // 胶囊按钮高度 + + menuButton: wx.getStorageSync("menuButtonInfo"), // 胶囊信息 + navigatorHeight: 60, + activeTab2: 0, + contentIndex: 0, + latestClass: 0, + zoneClass: 0, + recordList: [], + jobSpecialLabelNames: [], + storeJobListSearchForm: { + pageNum: 1, + pageSize: 20, + classify: 1, + sex: -1, + workTypeStr: "", + lat: "", + lng: "", + jobClassify: "", + sortTag: 0, + jobSpecialLabelIds: "", + cityName: "", + brandIds: "", + jobCategoryLabelIds: "", + ucj: 1, + }, + loading: true, + topJobList: [], + hasLocation: false, + chooseActive: false, //筛选是否高亮 + + labelItems: [], + checkedlabelItems: [], + hasMoreData: false, //下拉是否还有更多数据 + inputShowed: false, + inputVal: "搜索工作", + wxCode: "", + isCollect: false, + collectTxt: "收藏", + isLogin: app.globalData.isLogin, + hasUserInfo: 0, + searchCityParamStorage: { + name: "", + shortName: "", + }, + iosDialog1: false, + phoneDialog: false, + triggered: false, + pageShow: false, + whichOneShow: "", + siv: "", + activez: "zuigao", + sexid: "-1", // 性别筛选的id + dialog1: false, + dialog2: false, + jobSpecialLabelList: [], + brandList: [], + firstMenu: "排序", // 工价筛选tab显示 + secondMenu: "性别", // 性别筛选tab显示 + selectBrandList: [], // 选中的品牌标签 + selectJobList: [], // 选中的特色标签 + tagArray0: [], + tagArray1: [], + tagArray2: [], + tagArray3: [], + tagArray4: [], + recordBillType: "", // 报名类型(拍照或者直接报名) + signType: 0, // 职位类型(自营 三方) + recordCount: 0, + totalPage: 0, + currPage: 0, + currentJobDrawer: {}, // 当前简版职位抽屉信息 + drawerShow: false, // 简版职位抽屉显隐 + choiceCollect: 0, //收藏的筛选 + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, // 内部成员的判断 + agencyStatus: app.globalData.loginUserInfo.agencyStatus, // 是否是代理的判断 + serviceInfo: {}, // 代理信息 + navigatorBarHeight: 0, // 头部整体高度信息 + iosDialog: false, // 成为代理弹窗 + isLoading: true, // 成为代理图片加载loading效果 + isScrollTop: false, // 控制职位列表的滚动 + swiperTextList: ["日结工", "18岁", "电子厂", "短期工", "47岁", "保底", "小时工"], // 关键词轮播的关键词列表 + placeholderText: "", // 当前关键词 + leftShow: false, // 左侧智能匹配抽屉显示 + from:'', + /** + * 滑动相关变量 + */ + lastX: 0, //滑动开始x轴位置 + lastY: 0, //滑动开始y轴位置 + text: "没有滑动", + currentGesture: 0, //标识手势 + listPosition: null, // 存储列表当前位置 + halfHide: true, // 智能匹配显示一半控制 + topNum: 0, + scrollTo: "", // 列表滚动的控制 + navList: [ + { + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/ztrt.png", + url: "/pages/hotList/index", + title: "主推/热推", + }, + // { img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/dtld.png",url:'/pages/hotList/index', title: "职位云亮点" }, + // { img: "http://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/zjzp.png",url:'/pages/hotList/index', title: "职教职培" }, + { + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/cwdl.png", + url: "/pages/tobeAgency/index", + title: "成为代理", + }, + // { img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/dzkf.png",url:'/pages/hotList/index', title: "定制开发" }, + { + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/xmhz.png", + url: "/pages/xiangmuhezuo/index", + title: "项目合作", + }, + { + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/xtxx.png", + url: "/pages/message/index", + title: "消息中心", + }, + { + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/lxwm.png", + url: "/pages/connectUs/index", + title: "联系我们", + }, + // { img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/jqqd.png",url:'/pages/hotList/index', title: "敬请期待" }, + ], + bannerList: [], + /** + * 筛选的相关变量 + * + * + */ + filterData: { + yanba: [ + { + name: "无", + id: 1, + active: 0, + }, + { + name: "小面积", + id: 2, + active: 0, + }, + { + name: "大面积", + id: 3, + active: 0, + }, + ], + area: [ + { + name: "江浙沪", + id: 1, + active: 0, + }, + { + name: "鄂豫皖", + id: 2, + active: 0, + }, + { + name: "京津冀", + id: 3, + active: 0, + }, + { + name: "晋西北", + id: 4, + active: 0, + }, + { + name: "粤桂闽", + id: 5, + active: 0, + }, + { + name: "鲁东南", + id: 6, + active: 0, + }, + { + name: "黑吉辽", + id: 7, + active: 0, + }, + { + name: "疆藏青", + id: 8, + active: 0, + }, + { + name: "渝湘赣", + id: 9, + active: 0, + }, + { + name: "陕甘宁", + id: 10, + active: 0, + }, + { + name: "云贵川", + id: 11, + active: 0, + }, + { + name: "港澳台", + id: 12, + active: 0, + }, + ], + price: [ + { + name: "3000-4000", + id: 1, + active: 0, + }, + { + name: "4000-5000", + id: 2, + active: 0, + }, + { + name: "5000-6000", + id: 3, + active: 0, + }, + { + name: "6000-7000", + id: 4, + active: 0, + }, + { + name: "7000-8000", + id: 5, + active: 0, + }, + { + name: "8000以上", + id: 6, + active: 0, + }, + ], + sex: [ + { + name: "男", + id: 1, + active: 0, + }, + { + name: "女", + id: 2, + active: 0, + }, + { + name: "男女不限", + id: -1, + active: -1, + }, + ], + jobFilter: { + tagArray0: [], + tagArray1: [], + tagArray2: [], + tagArray3: [], + tagArray4: [], + }, + classifyList: [], + }, + copyList: {}, + innerFilter: false, + }, + goBack(){ + wx.navigateBack({ + delta: -1, + }) + }, + // onPullDownRefresh:function(){ + // this.getJobList(); + // console.log(123); + + // wx.stopPullDownRefresh({ + // success() { + // app.refreshSuccess(); + // } + // }); + // }, + goLogin() { + wx.setStorageSync("comeFromPage", "index"); + wx.navigateTo({ + url: "/pages/login/index", + }); + }, + onScrollRefresh: function () { + var that = this; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + }); + that.getJobList(); + }, + + cc: function () {}, + + onShareAppMessage: function () { + var path = commonUtil.getCurrentPageUrlWithArgs(); + if (app.globalData.isLogin && app.globalData.agencyStatus - 0 != 0) { + //当前用户是代理人 + path += (path.indexOf("?") >= 0 ? "&" : "?") + "agencyUserId=" + app.globalData.loginUserInfo.id; + } + console.log(path); + let img; + + this.data.templateList.forEach((element) => { + if (element.title == "职位云小程序首页卡片分享封面") { + img = element.img + "?" + new Date().getTime(); + } + }); + return { + title: " ", + path: path, + imageUrl: img, + }; + }, + + /** + * 清除本地缓存 + * + * + */ + clear() { + wx.clearStorage(); + + console.log("清除成功"); + }, + + onLoad(options) { + var that = this; + console.log(options.from == 'shoucang'); + console.log(wx.getSystemInfoSync()); + // Array.prototype.logResult = function(){ + // console.log('Array'); + // } + if(options.from == 'shoucang'){ + wx.setNavigationBarTitle({ + title: '我的收藏', + }) + this.setData({ + from: 'shoucang', + }); + }else if(options.from == 'baoming'){ + wx.setNavigationBarTitle({ + title: '我的报名', + }) + this.setData({ + from: 'baoming', + }); + } + + + this.setData({ + placeholderText: this.data.swiperTextList[0], + + }); + let arr = []; + arr.logResult(); + + + // 查看是否授权 + wx.getSetting({ + success(res) { + if (res.authSetting["scope.userInfo"]) { + // 已经授权,可以直接调用 getUserInfo 获取头像昵称 + wx.getUserInfo({ + success: function (res) { + console.log(res.userInfo); + }, + }); + } + }, + }); + + // if (app.isNotEmptyCheck(options.fromSearchPage) && options.fromSearchPage == 1) { + // try { + // var searchCityParamStorage = wx.getStorageSync("searchCityParamStorage"); + // if (searchCityParamStorage) { + // console.log("searchCityParamStorage======", searchCityParamStorage); + // that.data.storeJobListSearchForm.cityName = searchCityParamStorage.name; + // if (app.isEmptyCheck(searchCityParamStorage.name)) { + // that.data.storeJobListSearchForm.cityName = "全国"; + // } + // that.setData({ + // searchCityParamStorage: searchCityParamStorage, + // }); + // } + // } catch (e) { + // console.log("获取缓存设置的查询职位列表参数错误:", e); + // } + // } else { + // try { + // wx.removeStorageSync("searchJobListParamStorage"); + // } catch (e) { + // console.log("删除缓存设置的查询职位列表参数错误:", e); + // } + // try { + // wx.removeStorageSync("searchCityParamStorage"); + // } catch (e) { + // console.log("删除缓存设置的查询职位列表参数错误:", e); + // } + // } + + try { + if (app.globalData.isScanQRCodes - 1 == 0) { + wx.showToast({ + title: "欢迎查看好工作", + icon: "success", + duration: 2000, + }); + if (!getApp().globalData.isLogin) { + setTimeout(function () { + if (!getApp().globalData.isLogin) { + that.openIOS2(); + } + }, 5000); + } + } + } catch (e) { + console.log("获取缓存设置的查询职位列表参数错误:", e); + } + + console.log("options==============================1"); + console.log(options); + console.log("options==============================2"); + + if (app.isNotEmptyCheck(options.scene)) { + //扫小程序码携带参数 + var sceneStr = decodeURIComponent(options.scene); + var sceneJson = commonUtil.sceneToJson(sceneStr); + console.log("sceneJson===", sceneJson); + if (sceneJson.fromType == 1) { + app.globalData.isCommission = 1; + wx.setStorageSync("storageSyncAgencyUserId", sceneJson.userId); + } + + //先设置代理人缓存人再登录 + app.getLoginUserTokenInfo(); + } else if (app.isNotEmptyCheck(options.fromType)) { + //扫小程序普通二维码携带参数-来源ID + console.log("options.fromType========" + options.fromType); + if (options.fromType == 0) { + console.log("options.id========" + options.id); + console.log("options.userId========" + options.userId); + try { + app.globalData.isCommission = 1; + wx.setStorageSync("fromQrCodeChannelContactId", options.id); + that.getAgencyUserId(options.id); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + } + } else if (options.fromType.indexOf("0&id=") >= 0) { + //兼容2021-9-9之前的二维码 + var paramsTempId = options.fromType.replace("0&id=", ""); + console.log("¶msTempId========" + paramsTempId); + try { + app.globalData.isCommission = 1; + wx.setStorageSync("fromQrCodeChannelContactId", paramsTempId); + that.getAgencyUserId(paramsTempId); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + } + } else { + //兼容2021-9-9之前的二维码 + var paramsTempId = options.fromType.replace("0,id=", ""); + console.log("=paramsTempId========" + paramsTempId); + try { + app.globalData.isCommission = 1; + wx.setStorageSync("fromQrCodeChannelContactId", paramsTempId); + that.getAgencyUserId(paramsTempId); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + } + } + } else { + console.log("options.fromType===else=====" + options); + } + + //this.wxLogin(); + let res = wx.getStorageSync("storeJobId"); //详情页返回 + console.log(res); + if (app.isEmptyCheck(res.data)) { + this.setData({ + recordList: [], + }); + } else { + wx.removeStorageSync({ + key: "storeJobId", + }); + } + + console.log("on show"); + + //登录=================================start + if (app.globalData.isLogin) { + this.setData({ + isLogin: app.globalData.isLogin, + hasUserInfo: app.globalData.hasUserInfo, + agencyStatus: app.globalData.loginUserInfo.agencyStatus, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + userInfo: app.globalData.loginUserInfo, + serviceInfo: app.globalData.serviceInfo, + isLoading: true, + }); + } else { + // 由于 userLogin 是网络请求,可能会在 Page.onLoad 之后才返回 + // 所以此处加入 callback 以防止这种情况 + app.userLoginCallback = (res) => { + this.setData({ + isLogin: app.globalData.isLogin, + hasUserInfo: app.globalData.hasUserInfo, + agencyStatus: app.globalData.loginUserInfo.agencyStatus, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + userInfo: app.globalData.loginUserInfo, + serviceInfo: app.globalData.serviceInfo, + }); + console.log(that.data.serviceInfo); + }; + console.log(that.data.serviceInfo); + } + //登录=================================end + + var reset = true; + let agencyUserId = options.agencyUserId; + if (agencyUserId) { + wx.setStorageSync("storageSyncAgencyUserId", agencyUserId); + console.log("agencyUserId", agencyUserId); + app.globalData.isCommission = 1; + } + app.getLoginUserTokenInfo(); + + // this.getJobList(); + if (wx.getStorageSync("FILTER_LIST")) { + let list = wx.getStorageSync("FILTER_LIST"); + list.forEach((item) => { + item.active = 0; + if (item.typeClassify == "0") { + this.data.filterData.jobFilter["tagArray0"].push(item); + } else if (item.typeClassify == "1") { + this.data.filterData.jobFilter["tagArray1"].push(item); + } else if (item.typeClassify == "2") { + this.data.filterData.jobFilter["tagArray2"].push(item); + } else if (item.typeClassify == "3") { + this.data.filterData.jobFilter["tagArray3"].push(item); + } else if (item.typeClassify == "4") { + this.data.filterData.jobFilter["tagArray4"].push(item); + } + }); + let jobFilter = "filterData.jobFilter"; + this.setData({ + [jobFilter]: this.data.filterData.jobFilter, + }); + } + + if (wx.getStorageSync("CLASSIFY_LIST")) { + this.data.filterData.classifyList = wx.getStorageSync("CLASSIFY_LIST"); + this.data.filterData.classifyList.forEach((item) => { + item.active = 0; + }); + let classifyList = "filterData.classifyList"; + this.setData({ + [classifyList]: this.data.filterData.classifyList, + }); + } + this.setData({ + copyList: JSON.parse(JSON.stringify(this.data.filterData)), + }); + // that.getJobList(); + }, + + /** + * 智能匹配结束 + * + * + * + */ + /** + * 获取banner信息 + * + * + */ + + onChange(e) { + const index = e.detail.index; + this.setData({ + activeTab: index, + }); + }, + emptyMethod(e) { + console.log(e); + }, + + onShow() { + let that = this; + that.setData({ + recordList: [], + }); + that.data.storeJobListSearchForm.pageNum = 1; + wx.setStorageSync("BILLFROM", "firstBill"); + + // wx.showTabBar({ + // success(e) {}, + // }); + // let index = 1; + // that.setData({ + // placeholderText: that.data.swiperTextList[0], + // }); + // setInterval(() => { + // that.data.placeholderText = that.data.swiperTextList[index % that.data.swiperTextList.length]; + // that.setData({ + // placeholderText: that.data.placeholderText, + // }); + // index++; + // }, 5000); + if (wx.getStorageSync("FROMCITY")) { + try { + var searchCityParamStorage = wx.getStorageSync("searchCityParamStorage"); + if (searchCityParamStorage) { + console.log("searchCityParamStorage======", searchCityParamStorage); + that.data.storeJobListSearchForm.cityName = searchCityParamStorage.name; + if (app.isEmptyCheck(searchCityParamStorage.name)) { + that.data.storeJobListSearchForm.cityName = "全国"; + } + + that.setData({ + searchCityParamStorage: searchCityParamStorage, + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.setData({ + recordList: [], + }); + + } + } catch (e) { + console.log("获取缓存设置的查询职位列表参数错误:", e); + } + wx.removeStorageSync("FROMCITY"); + }else{ + that.setData({ + recordList: [], + }); + } + if (typeof this.getTabBar === "function" && this.getTabBar()) { + this.getTabBar().setData({ + selected: 0, + isShow: true, + }); + } + wx.setStorageSync("comeFromPage", "index"); + + this.setData({ + storeJobListSearchForm: that.data.storeJobListSearchForm, + isLogin: app.globalData.isLogin, + recordBillType: "", + }); + console.log(app.globalData); + + setTimeout(() => { + if (app.globalData.isLogin) { + that.setData({ + agencyStatus: app.globalData.loginUserInfo.agencyStatus, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + userInfo: app.globalData.loginUserInfo, + serviceInfo: app.globalData.serviceInfo, + }); + console.log(app.globalData.loginUserInfo); + } else { + that.setData({ + serviceInfo: app.globalData.serviceInfo, + }); + this.wxLogin(); + } + }, 100); + console.log(app.globalData.headers); + // if (that.data.inputVal != "搜索工作") { + // console.log(that.data.inputVal); + // that.setData({ + // recordList: [], + // }); + + // that.getJobList(); + // } + + wx.removeStorage({ + key: "townsManInfo", + }); + wx.removeStorage({ + key: "townsManInfoJob", + }); + + /*this.wxLogin(); + let res = wx.getStorageSync({ + key: "storeJobId" + }); //详情页返回 + + if (app.isEmptyCheck(res.data)) { + this.setData({ + recordList: [] + }); + } else { + wx.removeStorageSync({ + key: "storeJobId" + }); + } + + console.log("on show"); + var reset = true;*/ + this.getJobList(); + }, + + + getJobList() { + var that = this; + // debugger + that.setData({ + pageShow: false, + }); + return new Promise(function (resolve, reject) { + if (that.data.storeJobListSearchForm.sortTag == 2) { + //如果按照距离排序,拼接上坐标 + that.data.storeJobListSearchForm.lng = app.globalData.lng; + that.data.storeJobListSearchForm.lat = app.globalData.lat; + } + + console.log(that.data.inputVal); + that.data.storeJobListSearchForm.cityName = that.data.searchCityParamStorage.name; + if (app.isEmptyCheck(that.data.searchCityParamStorage.name)) { + that.data.storeJobListSearchForm.cityName = "全国"; + } + that.data.storeJobListSearchForm.keys = that.data.inputVal == "搜索工作" ? "" : that.data.inputVal; + // debugger; + wx.showLoading({ + title: "加载中...", + }); + console.log(that.data.storeJobListSearchForm); + let url = ''; + if(that.data.from == 'shoucang'){ + url = '/overall/store/job/list' + }else if(that.data.from == 'baoming'){ + url = '/yishoudan/user/apply/order/mine' + } + + + wx.request({ + url: app.globalData.ip + url, + method: "POST", + header: app.globalData.headers, + data: that.data.storeJobListSearchForm, + success: function (res) { + console.log("职位列表↓↓↓↓"); + console.log(res); + if(that.data.from == 'baoming'){ + res.data.data.recordList = res.data.data.list + } + that.setData({ + totalPage: res.data.data.pageCount, + currPage: res.data.data.currentPage, + }); + + setTimeout(function () { + that.setData({ + triggered: false, + }); + }, 1000); + if (res.data.data.recordList == null || res.data.data.recordList.length == 0 || res.data.data.recordList.length < that.data.storeJobListSearchForm.pageSize) { + var jobListTemp = commonUtil.disposeJobListData(res.data.data.recordList); + that.data.recordList = that.data.recordList.concat(jobListTemp); + + that.setData({ + recordList: that.data.recordList, + hasMoreData: false, + isTrigger: false, + }); + } else { + var jobListTemp = commonUtil.disposeJobListData(res.data.data.recordList); + that.data.recordList = that.data.recordList.concat(jobListTemp); + + that.setData({ + recordList: that.data.recordList, + hasMoreData: true, + isTrigger: false, + }); + } + + wx.hideLoading({ + success: (res) => {}, + }); + that.setData({ + loading: false, + pageShow: true, + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + resolve(); + + that.data.recordList.forEach((item, index) => { + // console.log(item); + if (app.isNotEmptyCheck(item.returnFeeType) || item.returnFeeType == "0" || item.returnFee == "0") { + item["fuWuFei"] = commonUtil.getReturnFeeTypeName1ById(item.returnFeeType, item.returnFee); + } else { + item["fuWuFei"] = ""; + } + // 简版弹窗通告显示 + if (item.id == that.data.currentJobDrawer.id) { + item["jobDesp"] = item.jobDesp.replace(/\*\*\*\*\*/g, "").split("————————")[0]; + // 展示用字段 + item["jobDesp1"] = item.jobDesp.replace("⚠", ""); + item["jobDesp1"] = item.jobDesp1.replace("[红包]", ""); + that.data.currentJobDrawer = { + ...item, + index: that.data.currentJobDrawer.index ? that.data.currentJobDrawer.index : null, + }; + } + }); + that.setData({ + recordList: that.data.recordList, + currentJobDrawer: that.data.currentJobDrawer, + }); + // if (that.data.recordList.length < res.data.data.recordCount) { + // that.setData({ + // hasMoreData: true, + // }); + // } else { + // that.setData({ + // hasMoreData: false, + // }); + // } + }, + }); + }); + }, + + /** + * 标准详情 + * + * + */ + goDetail(e) { + console.log(e); + var that = this; + if (this.data.isLogin) { + wx.navigateTo({ + url: "../detail/index?storeJobId=" + e.currentTarget.dataset.id + "&wxCode=" + that.data.wxCode+ "&fromShoucangOrBaoming="+that.data.from, + }); + } else { + wx.navigateTo({ + url: "../login/index", + }); + } + }, + goEnroll(e) { + console.log(e); + // wx.navigateTo({ + // url: "../newEnroll/index?applyType=0" + // }); + var that = this; + + wx.removeStorageSync("townsManInfo"); + wx.removeStorageSync("townsManInfoJob"); + wx.removeStorageSync("storeInfoJob"); + + // if(app.isNotEmptyCheck(wx.getStorage('townsManInfo'))){ + // wx.removeStorageSync('townsManInfo') + // } + // if(app.isNotEmptyCheck(wx.getStorage('townsManInfoJob'))){ + // wx.removeStorageSync('townsManInfoJob') + // } + // if(app.isNotEmptyCheck(wx.getStorage('storeInfoJob'))){ + // wx.removeStorageSync('storeInfoJob') + // } + // wx.removeStorageSync('townsManInfoJob') + console.log(app.globalData.loginUserInfo.tel); + wx.setStorageSync("jobDetailStorage", that.data.recordList[e.currentTarget.dataset.idx]); + let argument; + argument = JSON.stringify(e.currentTarget.dataset.info).replace(/\=|\&/g, "3D"); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + }, + wxLogin() { + var that = this; + wx.login({ + success(res) { + if (res.code) { + that.setData({ + wxCode: res.code, + }); + } else { + console.log("获取code失败!" + res.errMsg); + } + }, + }); + }, + getPhoneNumber(e) { + var that = this; + console.log(e); + console.log(e.detail.errMsg); + /*wx.setStorageSync({ + key: "jobDetailStorage", + data: that.data.recordList[e.currentTarget.dataset.idx] + });*/ + + wx.setStorageSync("jobDetailStorage", that.data.recordList[e.currentTarget.dataset.idx]); + + // console.log(e); + // console.log(e.detail.errMsg) + // console.log(e.detail.iv) + // console.log(e.detail.encryptedData) + if ("getPhoneNumber:ok" == e.detail.errMsg) { + //同意 + var iv = e.detail.iv; + var encryptedData = e.detail.encryptedData; + console.log(iv, "=-=========", encryptedData); + wx.checkSession({ + success() { + //session_key 未过期,并且在本生命周期一直有效 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: that.data.wxCode, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + app.globalData.openId = res.data.data.openId; + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + var collected = e.currentTarget.dataset.collected; + if (collected) { + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.doCollected(collected, e.currentTarget.dataset.jobid); + // that.collectedStoreJobList(); + }); + } else { + if (that.data.recordBillType == "photo" || that.data.recordBillType == "record") { + promise.then((res) => { + if (that.data.recordBillType == "photo") { + that.chooseIdCard(); + } else { + that.navigatorToRecord(); + } + }); + } else { + promise.then((res) => { + let argument; + argument = JSON.stringify(e.currentTarget.dataset.info).replace(/\=|\&/g, "3D"); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + }); + } + } + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + }, + fail() { + // session_key 已经失效,需要重新执行登录流程 + wx.login({ + success(res) { + if (res.code) { + console.log(res.code); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: res.code, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + var collected = e.currentTarget.dataset.collected; + if (collected) { + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.doCollected(collected, e.currentTarget.dataset.jobid); + }); + } else { + promise.then((res) => { + wx.navigateTo({ + url: "../enroll/index?applyType=1", + //url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber + }); + }); + } + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + } else { + console.log("获取手机号失败!" + res.errMsg); + } + }, + }); + }, + }); + } else { + //拒绝 + var collected = e.currentTarget.dataset.collected; + if (collected) { + try { + wx.setStorageSync("comeFromPage", "index"); + } catch (e) { + console.log("index-页面跳转,设置参数错误:", e); + } + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + wx.navigateTo({ + url: "../enroll/index?applyType=1", + }); + } + } + return false; + }, + getPhoneNumber1(e) { + var that = this; + console.log(e); + console.log(e.detail.errMsg); + + that.close(); + // console.log(e); + // console.log(e.detail.errMsg) + // console.log(e.detail.iv) + // console.log(e.detail.encryptedData) + + if ("getPhoneNumber:ok" == e.detail.errMsg) { + //同意 + var iv = e.detail.iv; + var encryptedData = e.detail.encryptedData; + wx.checkSession({ + success() { + //session_key 未过期,并且在本生命周期一直有效 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: that.data.wxCode, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.onScrollToLower(); + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + }, + fail() { + // session_key 已经失效,需要重新执行登录流程 + wx.login({ + success(res) { + if (res.code) { + console.log(res.code); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: res.code, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + } else { + console.log("获取手机号失败!" + res.errMsg); + } + }, + }); + }, + }); + } else { + //拒绝 + if (e.currentTarget.dataset.type != "close") { + try { + wx.setStorageSync("comeFromPage", "index"); + } catch (e) { + console.log("index-页面跳转,设置参数错误:", e); + } + + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + that.close(); + } + } + return false; + }, + + modalMove() { + return false; + }, + /** + * 获取搜索轮播的关键字索引 + * + * + */ + + + goList() { + wx.navigateTo({ + url: "/pages/filterPage/index", + }); + }, + recordBill(e) { + if (!this.data.isLogin) { + wx.navigateTo({ + url: "/pages/login/index", + }); + return; + } + console.log(e.currentTarget.dataset.job); + console.log(123); + let middleInfo = e.currentTarget.dataset.job; + let info = JSON.stringify({ + id: middleInfo.id, + jobName: middleInfo.jobName, + storeName: middleInfo.storeName, + aliasName: middleInfo.aliasName, + storeId: middleInfo.storeId, + }); + console.log(info); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${info}`, + }); + // wx.navigateTo({ + // url: `../newEnroll/enroll/index?applyType=1&info=${info}`, + // }); + }, + collectPaste(e) { + var txt; + var that = this; + if (!this.data.isLogin) { + wx.navigateTo({ + url: "/pages/login/index", + }); + return; + } + var collected = e.currentTarget.dataset.collected; + var storeJobId = e.currentTarget.dataset.jobid; + that.doCollected(collected, storeJobId); + // console.log(collected); + // if(!this.data.isCollect){ + // that.setData({ + // isCollect: true, + // collectTxt:'已收藏' + // }) + // txt = '收藏成功' + // }else{ + // that.setData({ + // isCollect: false, + // collectTxt:'收藏' + // }) + // } + }, + doCollected(collected, storeJobId) { + var that = this; + var url = "/user/collect/job/add"; + if (collected - 1 == 0) { + url = "/user/collect/job/remove"; + } + console.log(app.globalData.headers); + //发起网络请求 + wx.request({ + url: app.globalData.ip + url, + data: { + storeJobId: storeJobId, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + var txt; + if (collected - 1 == 0) { + //取消收藏 + for (var i = 0; i != that.data.recordList.length; ++i) { + if (that.data.recordList[i].id - storeJobId == 0) { + that.data.recordList[i].collected = 2; + break; + } + } + txt = "取消收藏"; + that.data.currentJobDrawer.collected = 2; + + if (that.data.choiceCollect == 1) { + if (that.data.drawerShow) { + that.data.drawerShow = false; + } + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + drawerShow: that.data.drawerShow, + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } + } else { + //收藏 + for (var i = 0; i != that.data.recordList.length; ++i) { + if (that.data.recordList[i].id - storeJobId == 0) { + that.data.recordList[i].collected = 1; + break; + } + } + that.data.currentJobDrawer.collected = 1; + + txt = "收藏成功"; + } + + console.log(that.data.currentJobDrawer); + + that.setData({ + recordList: that.data.recordList, + currentJobDrawer: that.data.currentJobDrawer, + isLogin: app.globalData.isLogin, + }); + wx.showToast({ + icon: "none", + title: txt, + }); + }, + fail: function (res) { + console.log("操作失败"); + }, + }); + }, + getUserInfoBtn: function (e) { + console.log(e); + let that = this; + let type = e.currentTarget.dataset.type; + var collected = e.currentTarget.dataset.collected; + var storeJobId = e.currentTarget.dataset.jobid; + let idx = e.currentTarget.dataset.idx; + console.log(type); + wx.getUserProfile({ + desc: "用于完善会员资料", // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 + success: (res) => { + console.log(res); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/updateUserWechatInfo", + data: { + nickName: res.userInfo.nickName, + avatarUrl: res.userInfo.avatarUrl, + gender: res.userInfo.gender, + country: res.userInfo.country, + province: res.userInfo.province, + city: res.userInfo.city, + }, + method: "POST", + header: app.globalData.headers, + success: function (res) { + console.log(res); + app.globalData.hasUserInfo = 1; + that.setData({ + hasUserInfo: 1, + }); + that.doMenuClick(type, collected, storeJobId, idx); + }, + fail: function (res) { + that.doMenuClick(type, collected, storeJobId, idx); + }, + }); + }, + fail: (res) => { + console.log(res); + that.doMenuClick(type, collected, storeJobId, idx); + }, + }); + }, + doMenuClick: function (_type, _collected, _storeJobId, _idx) { + let that = this; + if (_type - 1 == 0) { + //点击全国 + that.goCity(); + } else if (_type - 2 == 0) { + //搜索 + } else if (_type - 3 == 0) { + //筛选 + that.goScreen(); + } else if (_type - 4 == 0) { + //收藏 + that.doCollected(_collected, _storeJobId); + } else if (_type - 5 == 0) { + //报名 + wx.setStorageSync("jobDetailStorage", that.data.recordList[_idx]); + wx.navigateTo({ + url: "../enroll/index?applyType=1&tel=" + app.globalData.loginUserInfo.tel, + }); + } + }, +}); diff --git a/pages/collect/index.json b/pages/collect/index.json new file mode 100644 index 0000000..ffb5dc3 --- /dev/null +++ b/pages/collect/index.json @@ -0,0 +1,5 @@ +{ + "navigationBarTitleText": "我的收藏", + "backgroundColor": "#f5f5f5" + +} \ No newline at end of file diff --git a/pages/collect/index.wxml b/pages/collect/index.wxml new file mode 100644 index 0000000..549f0be --- /dev/null +++ b/pages/collect/index.wxml @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{item.jobName || item.aliasName}} + {{item.salaryClassifyValue}} + + + + + {{item.district == "" ?'':item.district + ' | ' }} + {{item.distanceKm}} + {{item.age}} + + {{item.monthlyPay}} + + + + + + + + + 热推 + + {{item1}} + 暂无特色 + + + + 报名 + + + 已报名 + + + 报名 + + + + + + + + + + + + + + + 没有符合条件的职位 + + + + + + 暂无记录 + + + + + + + diff --git a/pages/collect/index.wxss b/pages/collect/index.wxss new file mode 100644 index 0000000..83b8599 --- /dev/null +++ b/pages/collect/index.wxss @@ -0,0 +1,19 @@ +@import "../index/index.wxss"; +page{ + background-color: #f00 !important; +} +.goback { + position: absolute; + color: #000; + left: 0px; + /* top: 40px; */ + transform: translateY(-50%); + margin-left: 5px; + height: 24px; + font-size: 24px; + font-weight: 400; + z-index: 99999; +} +.jobOne:last-child{ + margin-bottom: 60px; +} \ No newline at end of file diff --git a/pages/detail/demo.js b/pages/detail/demo.js new file mode 100644 index 0000000..03f19e4 --- /dev/null +++ b/pages/detail/demo.js @@ -0,0 +1,183 @@ +const wxml = (jobDetail) => { + console.log(jobDetail.storeJob.hourlyPay); + // debugger; + var str = '' + for (var i = 0; i < jobDetail.storeJob.jobSpecialLabelNames.length; i++) { + str += ` + ` + jobDetail.storeJob.jobSpecialLabelNames[i] + ` + ` + } + + // + // + + + return ` + + + + + + ` + jobDetail.storeJob.jobName + ` + + + + + ` + jobDetail.storeJob.hourlyPay + ` + + + + + ` + jobDetail.storeJob.monthlyPay + ` + + + + + + ` + str + ` + + + + + 查看详情 + + + + + +` +} +{/* */} + + +// return ` +// +// +// +// +// +// +// yeah!12 +// +// +// +// ` + +const style = { + container: { + width: 300, + height: 240, + lingHeight: 1, + backgroundColor: "#f8f8f8", + }, + df: { + width: 300, + height: 30, + padding: 12, + marginTop: 10, + flexDirection: 'row', + }, + df1: { + width: 300, + height: 30, + padding: 12, + marginTop: 10, + flexDirection: 'row', + }, + df2: { + width: 300, + height: 30, + padding: 12, + marginTop: 10, + flexDirection: 'row', + }, + df4: { + width: 300, + height: 30, + padding: 12, + marginTop: 10, + flexDirection: 'row', + }, + logo: { + width: 30, + height: 30, + }, + next: { + width: 12, + height: 12, + marginLeft: 54, + marginTop: 3, + }, + dib2: { + width: 32, + height: 32, + borderWidth: 1, + borderColor: '#fff', + borderStyle: 'dashed' + + }, + itembox: { + width: 184, + height: 24, + }, + itemboxTag: { + width: 300, + height: 24, + flexDirection: 'row', + }, + + text: { + width: 180, + height: 30, + color: '#1a1a1a', + marginTop: 4, + marginLeft:8, + fontSize: 20, + }, + text1: { + width: 180, + height: 30, + marginLeft: 10, + marginTop: 30, + fontSize: 16, + }, + tag: { + width: 64, + height: 20, + marginRight: 10, + backgroundColor: 'rgba(212,212,212,0.50)', + borderRadius: 16, + fontSize: 12, + lineHeight: 20, + color: '#353535', + textAlign: 'center', + }, + money: { + width: 180, + height: 36, + fontSize: 24, + fontWeight: 'blod', + fontWeight: 700, + color: '#ff6a00', + }, + moneyD: { + width: 180, + height: 24, + fontSize: 16, + }, + detail: { + color: '#353535', + width: 180, + height: 24, + fontSize: 12, + } +}; + +function getText(str) { + return str +}; + +module.exports = { + wxml, + style +} \ No newline at end of file diff --git a/pages/detail/index.js b/pages/detail/index.js new file mode 100644 index 0000000..dc80802 --- /dev/null +++ b/pages/detail/index.js @@ -0,0 +1,1571 @@ +const app = getApp(); +const commonUtil = require("../../utils/commonUtil"); +const { wxml, style } = require("./demo.js"); +var QQMapWX = require("../../utils/qqmap-wx-jssdk.min.js"); +var qqmapsdk; + +Page({ + data: { + isLogin:false, + statusBarHeight: wx.getStorageSync("statusBarHeight"), // 状态栏高度 + + navigationBarHeight: wx.getStorageSync("navigationBarHeight"), // 导航栏高度 + + menuButtonHeight: wx.getStorageSync("menuButtonHeight"), // 胶囊按钮高度 + + menuButton: wx.getStorageSync("menuButtonInfo"), // 胶囊信息 + backHeight:wx.getMenuButtonBoundingClientRect().top + (wx.getMenuButtonBoundingClientRect().height/2) +'px', + storeJobId: "", + iosDialog: false, + //职位ID + searchForm: { + storeJobId: "", + lng: "", + lat: "", + }, + fullScreen: false, + bclr: "", + djxx: "", + currIndex: "1", + jobDetail: {}, //详情 + wxCode: "", + pbtm: 0, + shareTitle: "", + isCollect: false, + src: "", + word: "woca", + phoneDialog: false, + isImg: true, + labelColor: ["#c41d7f", "#096dd9", "#531dab", "#d46b08", "#389e0d", "#08979c", "#cf1322"], + bgColor: ["#fff0f6", "#e6f7ff", "#f9f0ff", "#fff7e6", "#f6ffed", "#e6fffb", "#fff1f0"], + wxml: { + text: "啊啊按", + }, + addressNew: "", + citys: "", + showSexAgeText: "", + fuWuFei: "", + isServicePriceShow: true, + isAgency: true, + isShareShow: false, + managerRoleClassify: false, // 管理员权限 + serviceInfo: app.globalData.serviceInfo, + isMaskShow: false, + onSiteRemark: "", + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/bg.png", + canvasImg: "", + isLoading: true, + iosDialogTobe: false, // 成为代理弹窗显示 + userInfo: {}, + shareListImg: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/detail830-1.png", + shareDetailImg: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/posterbg1.1.png", + posterImg: "", + safeBottom:wx.getWindowInfo().screenHeight - wx.getWindowInfo().safeArea.height+'px', + fromScene:false, + fromShoucangOrBaoming:'' + }, + showdialog() { + this.setData({ + iosDialog: true, + }); + }, + closeDialog() { + this.setData({ + iosDialog: false, + }); + }, + onShow() { + var that = this; + + console.log(that.data.safeBottom); + + this.setData({ + isLogin: app.globalData.isLogin, + // backHeight:wx.getMenuButtonBoundingClientRect().top, + isLoading: true, + // userInfo:{...app.globalData.loginUserInfo, agencyStatus:0}, + }); + if (app.globalData.isLogin) { + that.setData({ + // agencyStatus: app.globalData.agencyStatus, + userInfo: app.globalData.loginUserInfo, + }); + } else { + this.wxLogin(); + } + that.searchAnimate(); + + console.log(that.data.userInfo); + }, + showphone: function () { + var that = this; + wx.makePhoneCall({ + // number: that.data.jobDetail.assistantUserTel + "" + phoneNumber: that.data.serviceInfo.workPhone || "0371-6611 3723", + }); + }, + close: function () { + this.setData({ + phoneDialog: false, + }); + }, + wxLogin() { + var that = this; + wx.login({ + success(res) { + if (res.code) { + that.setData({ + wxCode: res.code, + }); + } else { + console.log("获取code失败!" + res.errMsg); + } + }, + }); + }, + showImage(e) { + let resImg = e.currentTarget.dataset.src; + var imgArr = []; + + this.data.jobDetail.storeImage.forEach((item) => { + // let regs = /\.(jpg|jpeg|png)(\?.*)?$/; + // item.isImg = regs.test(item.url.toLowerCase()); + if (item.isImg) { + imgArr.push(item.url); + } + }); + wx.previewImage({ + current: e.currentTarget.dataset.src, // 当前显示图片的http链接 + urls: imgArr, + }); + }, + + renderToCanvas() { + const p1 = this.widget.renderToCanvas({ wxml: wxml(that.data.wxml), style }); + p1.then((res) => { + console.log("container", res.layoutBox); + this.container = res; + console.log(res); + }); + }, + extraImage() { + var that = this; + // return new Promise(function (resolve, reject) { + that.widget.renderToCanvas({ wxml: wxml(that.data.wxml), style }).then((res1) => { + const p2 = that.widget.canvasToTempFilePath(); + p2.then((res) => { + console.log(res); + that.setData({ + src: res.tempFilePath, + }); + }); + }); + // }); + }, + onLoad(query) { + var that = this; + + +// let systemInfo = wx.getSystemInfoSync(); +// let rect = wx.getMenuButtonBoundingClientRect ? wx.getMenuButtonBoundingClientRect() : null; //胶囊按钮位置信息 +// wx.getMenuButtonBoundingClientRect(); +// let navBarHeight = (function() { //导航栏高度 +// let gap = rect.top - systemInfo.statusBarHeight; //动态计算每台手机状态栏到胶囊按钮间距 +// return 2 * gap + rect.height; +// })(); + + console.log((wx.getMenuButtonBoundingClientRect().top - wx.getWindowInfo().statusBarHeight) * 2 + wx.getMenuButtonBoundingClientRect().height + wx.getWindowInfo().statusBarHeight); + + console.log(wx.getWindowInfo().screenTop) + + + + + + + + + console.log(app.globalData.loginUserInfo); + qqmapsdk = new QQMapWX({ + key: "5PTBZ-YI7C6-MZGS3-ES7QN-4T5O2-EJFVR", + }); + + that.setData({ + isAgency: app.globalData.loginUserInfo.agencyStatus == 1 ? true : false, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + managerRoleClassify: app.globalData.loginUserInfo.managerRoleClassify, + userInfo: app.globalData.loginUserInfo, + }); + that.widget = that.selectComponent(".widget"); + wx.getSystemInfo({ + success: (res) => { + console.log("手机信息res" + res.model); + let modelmes = res.model; + console.log(modelmes.search("iPhone X")); + if (modelmes.search("iPhone 12 Pro") != -1 || modelmes.search("iPhone X") != -1 || modelmes.search("iPhone XR") != -1 || modelmes.search("iPhone XS max") != -1 || modelmes.search("iPhone 11") != -1) { + that.setData({ + pbtm: 40, + }); + } else { + } + }, + }); + console.log(query); + if(app.isNotEmptyCheck(query.fromShoucangOrBaoming)){ + that.setData({ + fromShoucangOrBaoming:query.fromShoucangOrBaoming + }) + } + console.log("HHHHHHHHHHHHH" + query.storeJobId); + if (app.isNotEmptyCheck(query.storeJobId)) { + console.log("HHHHHHHHHHHHH"); + this.data.searchForm.storeJobId = query.storeJobId; + } else if (app.isNotEmptyCheck(query.scene)) { + console.log("XXXXXXXXXXXX") + //扫小程序码携带参数 + var sceneStr = decodeURIComponent(query.scene); + var sceneJson = commonUtil.sceneToJson(sceneStr); + console.log("sceneJson===", sceneJson); + let arr = sceneJson.i.split('_') + if(arr[0] > 0){ + wx.setStorageSync("applyUserId", arr[0]); + } + if(arr[1] > 0){ + wx.setStorageSync("agencyId", arr[1]); + app.globalData.agencyId = arr[1] + } + if(arr[2] > 0){ + this.data.searchForm.storeJobId = arr[2]; + } + + // wx.setStorageSync("agencyId", sceneJson.agencyId); + + that.setData({ + fromScene:true + }) + + } + if(app.isNotEmptyCheck(query.from)){ + that.setData({ + fromScene:true + }) + } + + + + + // this.data.wxCode = query.wxCode; + // this.getLocation(); + this.getStoreJobDetailById(); + // that.setData({ + // wxCode: that.data.wxCode + // }) + wx.setStorageSync({ + key: "storeJobId", + data: query.storeJobId, + }); + + let agencyUserId = query.agencyUserId; + if (agencyUserId) { + wx.setStorageSync("storageSyncAgencyUserId", agencyUserId); + console.log("agencyUserId", agencyUserId); + app.globalData.isCommission = 1; + } + }, + backIndex(){ + wx.switchTab({ + url: '../index/index', + }) + }, + searchAnimate() { + let that = this; + wx.createSelectorQuery() + .select("#listBox") + .fields( + { + scrollOffset: true, + size: true, + }, + (res) => { + this.animate( + ".navigatorBar", + [ + { + opacity: 0 + }, + { + opacity: 1 + }, + ], + 800, + { + scrollSource: "#listBox", + timeRange: 1000, + startScrollOffset: 0, + endScrollOffset: 120, + } + ); + this.animate( + ".noBack", + [ + { + opacity: 1 + }, + { + opacity: 0 + }, + ], + 800, + { + scrollSource: "#listBox", + timeRange: 1000, + startScrollOffset: 0, + endScrollOffset: 1, + } + ); + + } + ) + .exec(); + }, + + + + getAgencyInfo(job) { + var that = this; + console.log(job); + console.log("打印基本信息"); + + let objAgency = { + returnFeeDesp: job.returnFeeDesp, + returnFeeType: job.returnFeeType, + transferFee: job.transferFee, + returnFee: job.returnFee != null ? new Number(job.returnFee).toFixed(2) : null, + }; + let agencyStr = ""; + if (app.isNotEmptyCheck(job.transferFee)) { + agencyStr = "伯才利润:" + job.transferFee + ";"; + } + if (job.returnFeeType == 0) { + agencyStr += `\n服务费:xxx元/时`; + } else if (job.returnFeeType == 1) { + agencyStr += `\n服务费:xxx元/天`; + } else if (job.returnFeeType == 2) { + agencyStr += `\n服务费:xxx元/月`; + } else if (job.returnFeeType == 3) { + agencyStr += `\n服务费:xxx元/次`; + } + if (objAgency.returnFee > 0) { + agencyStr = agencyStr.replace("xxx", objAgency.returnFee); + } else if (app.isNotEmptyCheck(job.transferFee)) { + agencyStr = "伯才利润:" + job.transferFee + ";"; + } else { + agencyStr = "-"; + } + if (app.isEmptyCheck(objAgency.returnFeeDesp)) { + // return agencyStr + that.setData({ + bclr: agencyStr, + }); + } else { + that.setData({ + bclr: agencyStr + "\n" + objAgency.returnFeeDesp, + }); + // return agencyStr + '\n' + objAgency.returnFeeDesp; + } + }, + toMapChoice(e) { + var that = this; + console.log(e); + try { + wx.setStorageSync("onSiteRemark", that.data.onSiteRemark); + wx.setStorageSync("addressList", e.currentTarget.dataset.address); + } catch (error) { + console.log(error); + } + wx.navigateTo({ + url: "../mine/addressPage/index", + }); + }, + // openMap(e) { + // wx.showLoading({ + // title: "加载中", + // }); + // console.log(e); + // let address = e.currentTarget.dataset.address; + // let lat = e.currentTarget.dataset.lat; + // var formatted_addresses = ""; + // qqmapsdk.reverseGeocoder({ + // location: `${e.currentTarget.dataset.lat},${e.currentTarget.dataset.lng}`, + // success: function (res) { + // console.log(res); + // formatted_addresses = res.result.formatted_addresses.recommend; + // }, + // }); + // console.log(formatted_addresses); + // console.log(lat); + // wx.getLocation({ + // type: "gcj02", //返回可以用于wx.openLocation的经纬度 + // success(res) { + // wx.openLocation({ + // latitude: e.currentTarget.dataset.lat - 0, + // longitude: e.currentTarget.dataset.lng - 0, + // name: formatted_addresses, + // address: address, + // scale: 8, + // }); + // }, + // complete(res) { + // wx.hideLoading(); + // console.log(1123213); + // }, + // }); + // }, + changeMenu(e) { + let currentIndex = parseInt(e.currentTarget.dataset.id); + this.setData({ + currIndex: e.currentTarget.dataset.id, + }); + }, + getLocation() { + var that = this; + + wx.getSetting({ + success: (res) => { + console.log(res); // res.authSetting.location + + if (res.authSetting.location) { + wx.getLocation({ + success(res1) { + console.log("获取位置"); + console.log(res1); + + if (app.isNotEmptyCheck(res1.latitude) && app.isNotEmptyCheck(res1.longitude)) { + that.data.searchForm.lat = res1.latitude; + that.data.searchForm.lng = res1.longitude; + } + + that.getStoreJobDetailById(); + }, + + fail() { + that.getStoreJobDetailById(); + }, + }); + } else { + that.getStoreJobDetailById(); + } + }, + }); // my.getLocation({ + // success(res) { + // my.hideLoading(); + // console.log(res) + // that.data.searchForm.lng = res.longitude; + // that.data.searchForm.lat = res.latitude; + // that.getStoreJobDetailById(); + // }, + // fail() { + // my.hideLoading(); + // that.getStoreJobDetailById(); + // }, + // }) + }, + // onShareAppMessage1: function () { + // var path = commonUtil.getCurrentPageUrlWithArgs(); + // if (app.globalData.isLogin && app.globalData.agencyStatus - 0 != 0) { + // //当前用户是代理人 + // path += "&agencyUserId=" + app.globalData.loginUserInfo.id; + // } + // var that = this; + // // const promise = new Promise(resolve => { + // // that.widget.renderToCanvas({ wxml:wxml(that.data.jobDetail), style }).then(res1 => { + // // const p2 = that.widget.canvasToTempFilePath() + // // p2.then(res => { + // // console.log(res); + // // resolve({ + // // title:that.data.shareTitle, + // // imageUrl: res.tempFilePath, + // // }) + + // // }) + + // // }); + // // }); + // return this.getCanvas().then(()=>{ + // return { + // title: that.data.shareTitle, + // imageUrl: that.data.canvasImg, + // path: path, + // // promise + // }; + // }) + + // }, + getCanvas() { + const that = this; + return new Promise((resolve) => { + var mycenter = 0; //文字左右居中显示 + var myheight = 0; //文字高度 + const query = wx.createSelectorQuery(); + query + .select("#canvasId") + .fields({ node: true, size: true }) + .exec((res) => { + console.log(res); + const canvas = res[0].node; + const ctx = canvas.getContext("2d"); + new Promise(function (resolve) { + // 绘制背景图片 + wx.getImageInfo({ + src: that.data.img, //网络图片,如果不行请换一个 + success(res) { + console.log(res); + var width = res.width; + var height = res.height; + mycenter = width / 2; + myheight = height; + canvas.width = width; + canvas.height = height; + const img = canvas.createImage(); + console.log(ctx); + img.src = res.path; + img.onload = () => { + ctx.drawImage(img, 0, 0, width, height); + resolve(true); + }; + }, + }); + }) + .then(() => { + ctx.font = "500 70px Arial"; + ctx.textAlign = "left"; + // ctx.fillStyle = "#333"; + ctx.fillStyle = "#fff"; + // console.log(that.data.factoryBill.totalSalary.toString().length); + // let steNumber = that.data.factoryBill.totalSalary.toString().length + // ctx.fillRect(40, 168, steNumber * 30, 72); + ctx.fillText("职位详情", 40, 210); + }) + .then(function () { + wx.canvasToTempFilePath({ + canvas: canvas, + success(res) { + console.log(res); + that.setData({ + canvasImg: res.tempFilePath, + // base64: canvas.toDataURL(), + }); + resolve(); + // console.log(that.data.canvasImg); + }, + }); + }) + .catch((err) => {}); + }); + }); + }, + // onShareTimeline: function () { + // return { + // title: this.data.shareTitle, + // query: "?storeJobId=" + this.data.storeJobId, + // }; + // }, + getCanvas() { + const that = this; + + return new Promise((resolve) => { + var mycenter = 0; //文字左右居中显示 + var myheight = 0; //文字高度 + const query = wx.createSelectorQuery(); + query + .select("#canvasId") + .fields({ node: true, size: true }) + .exec((res) => { + console.log(res); + const canvas = res[0].node; + const ctx = canvas.getContext("2d"); + new Promise(function (resolve) { + // 绘制背景图片 + wx.getImageInfo({ + src: that.data.shareDetailImg, //网络图片,如果不行请换一个 + success(res) { + console.log(res); + var width = res.width; + var height = res.height; + mycenter = width / 2; + myheight = height; + canvas.width = width; + canvas.height = height; + const img = canvas.createImage(); + console.log(ctx); + img.src = res.path; + img.onload = () => { + ctx.drawImage(img, 0, 0, width, height); + resolve(true); + }; + }, + }); + }).then(() => { + console.log(530); + const fillTextLineBreak = (ctx, text, x, y, lw, lh, color = "#333", font = "32", weight = "500") => { + var i = 0; + var n = 0; + var r = -1; + var initHeight = 0; + ctx.font = weight + " " + font + "px Arial"; //字体大小 + ctx.fillStyle = color; //字体颜色 + while (i < text.length) { + while (ctx.measureText(text.substring(n, i)).width < lw && i < text.length) { + i++; + } + r++; + ctx.fillText(text.substring(n, i), x, y + lh * r); + n = i; + } + initHeight = lh * r; + // wx.setStorageSync("initHeight", initHeight); + }; + const roundRect = (ctx, img, bg_x, bg_y, bg_w, bg_h, bg_r) => { + // 开始绘制 + ctx.save(); + ctx.beginPath(); + ctx.arc(bg_x + bg_r, bg_y + bg_r, bg_r, Math.PI, Math.PI * 1.5); + ctx.arc(bg_x + bg_w - bg_r, bg_y + bg_r, bg_r, Math.PI * 1.5, Math.PI * 2); + ctx.arc(bg_x + bg_w - bg_r, bg_y + bg_h - bg_r, bg_r, 0, Math.PI * 0.5); + ctx.arc(bg_x + bg_r, bg_y + bg_h - bg_r, bg_r, Math.PI * 0.5, Math.PI); + ctx.clip(); + ctx.drawImage(img, bg_x, bg_y, bg_w, bg_h); + // 恢复之前保存的绘图上下文 + ctx.restore(); + }; + const roundRect_yuan = (ctx, x, y, size) => { + // 开始绘制 + ctx.save(); // 保存 + ctx.beginPath(); // 开始绘制 + // ctx.arc(100, 75, 50, 0, 2 * Math.PI) + ctx.arc(size / 2 + x, size / 2 + y, size / 2, 0, Math.PI * 2, false); + ctx.clip(); + // 恢复之前保存的绘图上下文 + ctx.restore(); + }; + function roundRect1(ctx, x, y, w, h, r, color) { + //绘制圆角矩形(无填充色)) + ctx.save(); + ctx.fillStyle = color; + ctx.strokeStyle = color; + ctx.lineJoin = "round"; //交点设置成圆角 + ctx.lineWidth = r; + ctx.strokeRect(x + r / 2, y + r / 2, w - r, h - r); + ctx.fillRect(x + r, y + r, w - r * 2, h - r * 2); + ctx.stroke(); + ctx.closePath(); + } + //使用: + new Promise((imgres) => { + // that.data.checkedList.forEach((item, index) => { + console.log(587); + let labelLeft = 0; + // ctx.arcTo() + let baseTop, logoLeft, logoSize, titleSize, ageTop, salaryClassifyValueLeft, salaryClassifyValueTop, monthlyPaySize, position, markTop, roundRectHeight; + logoLeft = 56 * 2; + let baseMiddle = 248 * 2; + // if (that.data.checkedList.length == 1) { + baseTop = 2 * 370; + logoSize = 2 * 96; + titleSize = 2 * 36; + roundRectHeight = 2 * 260; + ageTop = 2 * 110; + salaryClassifyValueLeft = 2 * 176; + salaryClassifyValueTop = 2 * 54; + monthlyPaySize = 2 * 28; + markTop = 2 * 145; + console.log(603); + + // } + // else { + // baseTop = 2 * 294; + // logoSize = 2 * 80; + // titleSize = 2 * 32; + // roundRectHeight = 2 * 226; + // ageTop = 2 * 88; + // salaryClassifyValueLeft = 2 * 156; + // salaryClassifyValueTop = 2 * 48; + // monthlyPaySize = 2 * 24; + // markTop = 2 * 115; + // } + roundRect1(ctx, 24 * 2, baseTop - 100, 1104, roundRectHeight, 32, "#fff"); + console.log(that.data.jobDetail.store); + + that.data.jobDetail.storeJob.jobSpecialLabelNames.forEach((item1, index) => { + // console.log(item1); + // console.log(ctx.measureText(item1).width); + if (index <= 2) { + fillTextLineBreak(ctx, item1, 60 * 2 + labelLeft, baseTop + markTop + 30 * 2, 400 * 2, 20, "#333", monthlyPaySize); // 标签字符 + roundRect1(ctx, 52 * 2 + labelLeft, baseTop + markTop, ctx.measureText(item1).width + 16 * 2, 40 * 2, 32 * 2, "#00000008"); + labelLeft += ctx.measureText(item1).width + 32 * 2; + } + }); + console.log(that.data.jobDetail.store); + console.log(that.data.jobDetail); + + fillTextLineBreak(ctx, that.data.jobDetail.store.aliasName, logoLeft, baseTop, 500 * 2, 20, "#333", titleSize, "600"); // 岗位标题 + console.log(630); + fillTextLineBreak(ctx, that.data.jobDetail.storeJob.hourlyPay, salaryClassifyValueLeft, baseTop + salaryClassifyValueTop, 400 * 2, 20, "#ff4400", titleSize, "600"); // 时薪 + fillTextLineBreak(ctx, that.data.jobDetail.storeJob.monthlyPay, salaryClassifyValueLeft + ctx.measureText(that.data.jobDetail.storeJob.monthlyPay).width, baseTop + salaryClassifyValueTop, 400 * 2, 20, "#ff4400", monthlyPaySize, "400"); // 月工资 + fillTextLineBreak(ctx, that.data.jobDetail.store.districtStr + "丨", salaryClassifyValueLeft, baseTop + ageTop, 300 * 2, 20, "#333", monthlyPaySize); // 省市年龄 + fillTextLineBreak(ctx, that.data.jobDetail.storeJob.age, salaryClassifyValueLeft + ctx.measureText(that.data.jobDetail.store.districtStr + "丨").width, baseTop + ageTop, 300 * 2, 20, "#333", monthlyPaySize); // 省市年龄 + // let src + // src = that.data.jobDetail.store.logo.indexOf("https") > -1 ? that.data.jobDetail.store.logo : that.data.jobDetail.store.logo.replace("http", "https") + console.log(that.data.jobDetail.store.logo); + wx.downloadFile({ + url: that.data.jobDetail.store.logo, //网络图片,如果不行请换一个 + success(res) { + console.log(res); + const img = canvas.createImage(); + img.src = res.tempFilePath; + img.onload = () => { + roundRect(ctx, img, logoLeft, baseTop + 40, logoSize, logoSize, 8); + // if (index == that.data.checkedList.length - 1) { + setTimeout(() => { + imgres(); + }, 200); + // } + }; + }, + fail(err){ + console.log(err); + } + }); + // }); + // setTimeout(() => { + // },500); + }) + .then(function () { + wx.canvasToTempFilePath({ + canvas: canvas, + success(res) { + console.log(res); + that.setData({ + canvasImg: res.tempFilePath, + }); + resolve(res); + }, + fail(res) { + wx.hideLoading(); + + wx.showToast({ + title: res.errMsg, + icon: "error", + }); + }, + }); + }) + .catch((err) => { + console.log(err); + }); + }); + }); + }); + }, + /** + * 分享海报生成海报图并转发 + * + * + */ + sharePoster() { + wx.showLoading({ + title: "生成中...", + }); + this.getCanvas().then((res) => { + console.log(res); + wx.hideLoading(); + this.setData({ + posterImg: res.tempFilePath, + posterShow: true, + }); + }); + // this.setData({ + // }); + }, + hidePoster() { + this.setData({ + posterShow: false, + }); + }, + saveToalbum() { + let that = this; + wx.saveImageToPhotosAlbum({ + filePath: that.data.posterImg, + success(res) { + console.log(res); + if (res.errMsg == "saveImageToPhotosAlbum:ok") { + wx.showToast({ + title: "图片已保存", + icon: "none", + duration: 1500, + }); + } + }, + fail(res) { + console.log(res); + wx.showToast({ + title: "图片保存失败", + icon: "none", + duration: 1500, + }); + }, + }); + }, + goBack(){ + if(this.data.fromScene){ + wx.switchTab({ + url: '../index/index', + }) + }else{ + wx.navigateBack({ + delta: -1, + }) + } + }, + getStoreJobDetailById() { + var that = this; + wx.showLoading({ + title: "加载中...", + }); + wx.request({ + // url: app.globalData.ip + "/store/job/getStoreJobDetailById?storeJobId=" + that.data.searchForm.storeJobId, + url: app.globalData.ip + "/overall/store/job/getStoreJobDetailById?storeJobId=" + that.data.searchForm.storeJobId, + method: "POST", + header: app.globalData.headers, + data: that.data.searchForm, + success: function (res) { + console.log(res); + if (res.data.status == 200) { + var result = res.data.data; + var title = result.storeJob.jobName; + // var title1 = result.store.aliasName; + // that.data.logo2 + // wx.setStorageSync({ + // key: "onSiteRemark", + // data: result.storeJob.onSiteRemark, + // }) + + that.setData({ + shareTitle: title, + onSiteRemark: result.storeJob.onSiteRemark, + }); + + let regs = /\.(jpg|jpeg|png)(\?.*)?$/; + res.data.data.storeImage.forEach((item) => { + item.isImg = regs.test(item.url.toLowerCase()); + }); + result.storeJob.genderRestrict = commonUtil.getGenderByMinAge(result.storeJob); + if (app.isNotEmptyCheck(title)) { + title = result.storeJob.jobName; + } else { + title = result.store.aliasName; + } + + wx.setNavigationBarTitle({ + title, + }); + + result.storeJob.workType = commonUtil.getWorkTypeById(result.storeJob.workTypeMulti); + + if (app.isNotEmptyCheck(result.storeJob.calculationSalaryType)) { + result.storeJob.calculationSalaryType = result.storeJob.calculationSalaryType.split("#")[0]; + } + if (app.isNotEmptyCheck(result.storeJob.jobDesp)) { + result.storeJob.jobDesp = result.storeJob.jobDesp.replaceAll("*****", "").split("————————")[0]; + result.storeJob["jobDesp1"] = result.storeJob.jobDesp.replace("⚠", ""); + result.storeJob["jobDesp1"] = result.storeJob.jobDesp1.replace("[红包]", ""); + } + + if (app.isNotEmptyCheck(result.storeJob.paymentSalaryType)) { + result.storeJob.paymentSalaryType = result.storeJob.paymentSalaryType.split(","); + } + + if (app.isNotEmptyCheck(result.storeJob.salaryDesp)) { + result.storeJob.salaryDesp = result.storeJob.salaryDesp.split(";"); + } + + if (app.isNotEmptyCheck(result.storeJob.workDurationDesp)) { + result.storeJob.workDurationDesp = result.storeJob.workDurationDesp.split(";"); + } + + if (app.isNotEmptyCheck(result.storeJob.probationDesp)) { + result.storeJob.probationDesp = result.storeJob.probationDesp.split(";"); + } + + if (app.isNotEmptyCheck(result.storeJob.workingLunchDesp)) { + result.storeJob.workingLunchDesp = result.storeJob.workingLunchDesp.split(";"); + } + + if (app.isNotEmptyCheck(result.storeJob.dormitoryDesp)) { + result.storeJob.dormitoryDesp = result.storeJob.dormitoryDesp.split(";"); + } + + if (app.isNotEmptyCheck(result.storeJob.foregift)) { + result.storeJob.foregift = result.storeJob.foregift.split(";"); + var arrTemp = []; + result.storeJob.foregift.forEach((item) => { + var arr = item.split(","); + + if (app.length > 0) { + arrTemp.push({ + item0: arr[0].split("#")[0], + item1: arr[1].split("#")[0], + }); + } + }); + result.storeJob.foregift = arrTemp; + } else { + result.storeJob.foregift = "无押金"; + } + + result.store.distance = commonUtil.getDistanceName(result.store.distance); + if (app.isNotEmptyCheck(result.store.distance)) { + result.store.distance = "丨" + result.store.distance; + } + + /*if (app.isNotEmptyCheck(result.store.district)) { + var tempArr = result.store.district.split(","); + + if (tempArr.length == 1) { + result.store.district = tempArr[0]; + } else if (tempArr.length == 2) { + result.store.district = tempArr[0] + "" + tempArr[1]; + } else if (tempArr.length > 2) { + result.store.district = tempArr[1] + "" + tempArr[2]; + } + }*/ + // getStoreAddress + + that.disposeJobListData(result); + if (app.isNotEmptyCheck(result.store.logo)) { + result["logo2"] = result.store.logo.replace("http:", "https:"); + result.store.logo.indexOf("https") > -1 ? result.store.logo : result.store.logo.replace("http", "https") + } else { + result["logo2"] = ""; + } + // console.log(commonUtil.getReturnFeeTypeName1ById(result.storeJob.returnFeeType, result.storeJob.returnFee)); + console.log("isout"); + if (app.isNotEmptyCheck(result.storeJob.returnFeeType) || result.storeJob.returnFeeType == "0" || result.storeJob.returnFee == "0") { + that.setData({ + fuWuFei: commonUtil.getReturnFeeTypeName1ById(result.storeJob.returnFeeType, result.storeJob.returnFee), + }); + } + // else if (result.storeJob.returnFeeType == 7) { + // that.setData({ + // fuWuFei: commonUtil.getReturnFeeTypeNameById(result.storeJob.returnFeeType), + // }); + // } + else { + that.setData({ + fuWuFei: "-", + }); + } + + console.log(result); + console.log(commonUtil); + let citys = commonUtil.setJobInfoPosition(result.store.district); + // city = city.replace(/,/g, " | ") + result.storeImage.splice(0,1) + + + + that.setData({ + jobDetail: result, + isMaskShow: !(result.storeJob.recruitment == "1"), + citys: citys || "-", + addressNew: result.store.district.replace(/,/g, "") + result.store.detailPosition, + }); + that.data.jobDetail.storeJob["storeName"] = that.data.jobDetail.store.storeName; + + that.showSexAge(); + + // that.getAgencyInfo(res.data.data.storeJob); + + if (app.isEmptyCheck(res.data.data.storeJob.handoverInfo)) { + that.setData({ + djxx: "暂无对接信息", + }); + } else { + that.setData({ + djxx: res.data.data.storeJob.handoverInfo, + }); + } + console.log(that.data.jobDetail); + } + wx.hideLoading(); + }, + }); + }, + + showSexAge() { + var that = this; + var manStr = ""; + var womanStr = ""; + + if (app.isNotEmptyCheck(that.data.jobDetail.storeJob.minAgeMan) || app.isNotEmptyCheck(that.data.jobDetail.storeJob.maxAgeMan)) { + manStr = "男 "; + } + + if (app.isNotEmptyCheck(that.data.jobDetail.storeJob.minAgeMan)) { + manStr = manStr + that.data.jobDetail.storeJob.minAgeMan; + } + if (app.isNotEmptyCheck(that.data.jobDetail.storeJob.maxAgeMan)) { + manStr = manStr + "-" + that.data.jobDetail.storeJob.maxAgeMan; + } + + if (app.isNotEmptyCheck(that.data.jobDetail.storeJob.minAgeWoman) || app.isNotEmptyCheck(that.data.jobDetail.storeJob.maxAgeWoman)) { + womanStr = "女 "; + } + if (app.isNotEmptyCheck(that.data.jobDetail.storeJob.minAgeWoman)) { + womanStr = womanStr + that.data.jobDetail.storeJob.minAgeWoman; + } + if (app.isNotEmptyCheck(that.data.jobDetail.storeJob.maxAgeWoman)) { + womanStr = womanStr + "-" + that.data.jobDetail.storeJob.maxAgeWoman; + } + + if (womanStr != "") { + manStr = manStr + `${manStr == "" ? "" : ";"}` + womanStr; + } + + that.setData({ + showSexAgeText: manStr, + }); + }, + /** + * 处理后台返回的职位列表 + */ + disposeJobListData(jobDetail) { + var that = this; + + // item["workType"] = commonUtil.getWorkTypeById( + // item.workTypeMulti + // ); + + // if (app.isNotEmptyCheck(item.distance)) { + // item["distanceKm"] = commonUtil.getDistanceName( + // item.distance + // ); + // } + //年龄 + var ageStr = ""; + if (app.isNotEmptyCheck(jobDetail.storeJob.minAge) && app.isNotEmptyCheck(jobDetail.storeJob.maxAge)) { + ageStr = jobDetail.storeJob.minAge + "-" + jobDetail.storeJob.maxAge + "岁"; + } else if (app.isNotEmptyCheck(jobDetail.storeJob.minAge)) { + ageStr = jobDetail.storeJob.minAge + "岁以上"; + } else if (app.isNotEmptyCheck(jobDetail.storeJob.maxAge)) { + ageStr = jobDetail.storeJob.maxAge + "岁以下"; + } + jobDetail.storeJob["age"] = ageStr; + //时薪 + // var hourlyPayStr = ""; + var hasHourlyPay = true; + console.log(jobDetail.storeJob); + // if (app.isNotEmptyCheck(jobDetail.storeJob.hourlyPay)) { + // hourlyPayStr = jobDetail.storeJob.hourlyPay + "元/小时"; + // hasHourlyPay = true; + // } else if (app.isNotEmptyCheck(jobDetail.storeJob.dayPay)) { + // hourlyPayStr = jobDetail.storeJob.dayPay + "元/日"; + // hasHourlyPay = true; + // } else { + // if (app.isNotEmptyCheck(jobDetail.storeJob.minMonthlyPay) && app.isNotEmptyCheck(jobDetail.storeJob.maxMonthlyPay)) { + // if (jobDetail.storeJob.minMonthlyPay == jobDetail.storeJob.maxMonthlyPay) { + // hourlyPayStr = jobDetail.storeJob.minMonthlyPay; + // } else { + // hourlyPayStr = jobDetail.storeJob.minMonthlyPay + "-" + jobDetail.storeJob.maxMonthlyPay; + // } + // } else if (app.isNotEmptyCheck(jobDetail.storeJob.minMonthlyPay)) { + // hourlyPayStr = jobDetail.storeJob.minMonthlyPay; + // } else if (app.isNotEmptyCheck(jobDetail.storeJob.maxMonthlyPay)) { + // hourlyPayStr = jobDetail.storeJob.maxMonthlyPay; + // } + // } + // if (app.isNotEmptyCheck(jobDetail.storeJob.dayPay)){ + + // } + // if (app.isNotEmptyCheck(jobDetail.storeJob.salaryClassify) && app.isNotEmptyCheck(jobDetail.storeJob.salaryClassifyValue)) { + + jobDetail.storeJob["hourlyPay"] = commonUtil.getSalaryClassifyValue(jobDetail.storeJob.salaryClassify, jobDetail.storeJob.salaryClassifyValue); + // } + //月薪 + var monthlyPayStr = ""; + if (hasHourlyPay) { + if (app.isNotEmptyCheck(jobDetail.storeJob.minMonthlyPay) && app.isNotEmptyCheck(jobDetail.storeJob.maxMonthlyPay)) { + if (jobDetail.storeJob.minMonthlyPay == jobDetail.storeJob.maxMonthlyPay) { + monthlyPayStr = jobDetail.storeJob.minMonthlyPay; + } else { + monthlyPayStr = jobDetail.storeJob.minMonthlyPay + "-" + jobDetail.storeJob.maxMonthlyPay; + } + } else if (app.isNotEmptyCheck(jobDetail.storeJob.minMonthlyPay)) { + monthlyPayStr = jobDetail.storeJob.minMonthlyPay; + } else if (app.isNotEmptyCheck(jobDetail.storeJob.maxMonthlyPay)) { + monthlyPayStr = jobDetail.storeJob.maxMonthlyPay; + } + } + jobDetail.storeJob["monthlyPay"] = monthlyPayStr; + //地址深圳丨龙岗区丨 + var districtStr = ""; + if (app.isNotEmptyCheck(jobDetail.store.district)) { + var districtArr = jobDetail.store.district.split(","); + if (districtArr.length < 3) { + districtStr = districtArr[districtArr.length - 1]; + } else { + districtStr = districtArr[1] + "丨" + districtArr[2]; + } + //districtStr = districtArr[1] + '丨' + districtArr[2]; + } + jobDetail.store["districtStr"] = districtStr; + jobDetail.storeJob["districtDetail"] = commonUtil.getStoreAddress(jobDetail.storeJob.district, jobDetail.storeJob.detailPosition); + //职位特色 + if (app.isNotEmptyCheck(jobDetail.storeJob.jobSpecialLabelNames)) { + jobDetail.storeJob["jobSpecialLabelNames"] = that.getJobSpecialLabelNamesArray(jobDetail.storeJob.jobSpecialLabelNames); + } + // if (app.isNotEmptyCheck(jobDetail.storeJob.jobRequestLabelNames)) { + // jobDetail.storeJob['jobRequestLabelNames'] = that.getJobRequestLabelNamesArray(jobDetail.storeJob.jobRequestLabelNames); + // } + }, + getJobSpecialLabelNamesArray(jobSpecialLabelNames) { + if (app.isNotEmptyCheck(jobSpecialLabelNames)) { + return jobSpecialLabelNames.split(", "); + } + return []; + }, + getJobRequestLabelNamesArray(jobRequestLabelNames) { + console.log(jobRequestLabelNames); + if (app.isNotEmptyCheck(jobRequestLabelNames)) { + return jobRequestLabelNames.split(", "); + } + return []; + }, + goSimilar() { + var that = this; + + console.log(that.data.jobDetail); + console.log(that.data.jobDetail.storeJob.jobLabelId); + + wx.navigateTo({ + url: "../similar/index?brandId=" + that.data.jobDetail.store.brandId + "&jobLabelId=" + that.data.jobDetail.storeJob.jobLabelId + "&classify=99", + }); + }, + + makePhoneCall() { + console.log(1); + var that = this; + wx.makePhoneCall({ + // number: that.data.jobDetail.assistantUserTel + "" + phoneNumber: that.data.serviceInfo.workPhone || "0371-6611 3723", + }); + // var that = this; + + // let res = wx.getStorageSync({ + // key: "assistantUserTel" + // }); + + // console.log(res); + // console.log("缓存获取电话号:" + res.data); + + // if (app.isNotEmptyCheck(res.data)) { + // wx.makePhoneCall({ + // number: res.data + // }); + // } else { + // wx.request({ + // url: app.globalData.ip + "/store/job/getOneAssistantUser", + // method: "POST", + // header: app.globalData.headers, + // data: {}, + // success: function (res) { + // console.log(res.data.data.tel); + + // wx.setStorageSync({ + // key: "assistantUserTel", + // data: res.data.data.tel + // }); + + // wx.makePhoneCall({ + // number: res.data.data.tel + "" + // }); + // } + // }); + // } + }, + textPaste() { + var that = this; + wx.setClipboardData({ + // data: that.data.jobDetail.assistantUserWechat, + data: "16619732648", + success: function (res) { + wx.getClipboardData({ + success: function (res) { + wx.showToast({ + icon: "none", + title: "已复制微信号,快去添加好友吧", + duration: 0, + }); + wx.showModal({ + title: "已复制微信号", + content: "快去搜索添加经纪人好友吧", + showCancel: false, + success(res) { + if (res.confirm) { + console.log("用户点击确定"); + } else if (res.cancel) { + console.log("用户点击取消"); + } + }, + }); + + console.log(res.data); // data + }, + }); + }, + }); + }, + /*collectPaste() { + var txt; + var that = this; + if(!this.data.isCollect){ + that.setData({ + isCollect: true + }) + txt = '收藏成功' + }else{ + that.setData({ + isCollect: false + }) + txt = '取消收藏' + } + wx.showToast({ + icon: "none", + title: txt, + }) + + },*/ + + goNewEnroll(e) { + let that = this; + + let argument; + argument = JSON.stringify(that.data.jobDetail.storeJob).replace(/\=|\&/g, "3D"); + + if (!app.globalData.isLogin) { + wx.setStorageSync("comeFromPage", "detailBaoming"); + wx.setStorageSync("baomingDetail",argument); + wx.navigateTo({ + url: "/pages/login/index", + }); + return; + } + + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + // wx.navigateTo({ + // url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + // }); + }, + emptyMethod() {}, + wxLogin() { + var that = this; + wx.login({ + success(res) { + if (res.code) { + that.setData({ + wxCode: res.code, + }); + } else { + console.log("获取code失败!" + res.errMsg); + } + }, + }); + }, + getPhoneNumber(e) { + var that = this; + console.log(e); + console.log(e.detail.errMsg); + console.log(that.data.jobDetail.storeJob); + /*wx.setStorageSync({ + key: "jobDetailStorage", + data: that.data.jobDetail.storeJob, + });*/ + wx.setStorageSync("jobDetailStorage", that.data.jobDetail.storeJob); + // console.log(e); + // console.log(e.detail.errMsg) + console.log(e.detail.iv); + // console.log(e.detail.encryptedData) + if ("getPhoneNumber:ok" == e.detail.errMsg) { + //同意 + var iv = e.detail.iv; + var encryptedData = e.detail.encryptedData; + wx.checkSession({ + success() { + //session_key 未过期,并且在本生命周期一直有效 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: that.data.wxCode, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + app.globalData.openId = res.data.data.openId; + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + var collected = e.currentTarget.dataset.collected; + + console.log(that.data.isAgency); + if (collected) { + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.doCollected(collected, e.currentTarget.dataset.jobid); + }); + } else { + /*wx.navigateTo({ + url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber + });*/ + promise.then((res) => { + let argument; + argument = JSON.stringify(that.data.jobDetail.storeJob).replace(/\=|\&/g, "3D"); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + }); + } + promise.then(() => { + console.log(app.globalData.loginUserInfo.agencyStatus); + that.setData({ + isAgency: app.globalData.loginUserInfo.agencyStatus == 1 ? true : false, + }); + }); + // wx.navigateTo({ + // url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber + // }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + }, + fail() { + // session_key 已经失效,需要重新执行登录流程 + wx.login({ + success(res) { + if (res.code) { + console.log(res.code); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: res.code, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + + var collected = e.currentTarget.dataset.collected; + if (collected) { + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.doCollected(collected, e.currentTarget.dataset.jobid); + }); + } else { + promise.then((res) => { + let argument; + argument = JSON.stringify(that.data.jobDetail.storeJob).replace(/\=|\&/g, "3D"); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + }); + } + promise.then(() => { + console.log(app.globalData.loginUserInfo.agencyStatus); + that.setData({ + isAgency: app.globalData.loginUserInfo.agencyStatus == 1 ? true : false, + }); + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + } else { + console.log("获取手机号失败!" + res.errMsg); + } + }, + }); + }, + }); + } else { + //拒绝 + var collected = e.currentTarget.dataset.collected; + if (collected) { + try { + wx.setStorageSync("comeFromPage", "detail"); + wx.setStorageSync("comeFromPageParam", { storeJobId: that.data.searchForm.storeJobId }); + } catch (e) { + console.log("detail-页面跳转,设置参数错误:", e); + } + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + wx.navigateTo({ + //url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber + url: "../enroll/index?applyType=1", + }); + } + } + return false; + }, + setCopy(e) { + var that = this; + var contentInfo; + const query = wx.createSelectorQuery().in(this); + query + .select(".contactInfo") + .boundingClientRect(function (res) { + contentInfo = res.dataset.info; + wx.setClipboardData({ + data: e.currentTarget.dataset.content + contentInfo, + success(res) { + wx.getClipboardData({ + success(res) { + console.log(res.data); // data + wx.showToast({ + title: "内容已复制", + icon: "none", + duration: 1500, + }); + }, + }); + }, + }); + }) + .exec(); + }, + changeContact() { + console.log(2123); + wx.navigateTo({ + url: `/pages/configAnnunciate/index`, + }); + }, + collectPaste(e) { + var txt; + var that = this; + if (!this.data.isLogin) { + wx.setStorageSync("comeFromPage", "detail"); + wx.navigateTo({ + url: "/pages/login/index", + }); + return; + } + var collected = e.currentTarget.dataset.collected; + var storeJobId = e.currentTarget.dataset.jobid; + that.doCollected(collected, storeJobId); + // console.log(collected); + // if(!this.data.isCollect){ + // that.setData({ + // isCollect: true, + // collectTxt:'已收藏' + // }) + // txt = '收藏成功' + // }else{ + // that.setData({ + // isCollect: false, + // collectTxt:'收藏' + // }) + // } + }, + doCollected(collected, storeJobId) { + var that = this; + var url = "/user/collect/job/add"; + if (collected - 1 == 0) { + url = "/user/collect/job/remove"; + } + // console.log(app.globalData.headers); + //发起网络请求 + wx.request({ + url: app.globalData.ip + url, + data: { + storeJobId: storeJobId, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + var txt; + if (collected - 1 == 0) { + //取消收藏 + that.data.jobDetail.storeJob.collected = 2; + txt = "取消收藏"; + } else { + //收藏 + that.data.jobDetail.storeJob.collected = 1; + txt = "收藏成功"; + } + + that.setData({ + jobDetail: that.data.jobDetail, + isLogin: app.globalData.isLogin, + }); + console.log(that.data.jobDetail); + wx.showToast({ + icon: "none", + title: txt, + }); + }, + fail: function (res) { + console.log("操作失败"); + }, + }); + }, + toggleprice(type) { + console.log(type); + if (type.target.dataset.index == 1) { + this.setData({ + isServicePriceShow: false, + }); + } else { + this.setData({ + isServicePriceShow: true, + }); + } + }, + imageLoad() { + this.setData({ + isLoading: false, + }); + }, + /** + * 阻止滑动穿透 + * + * + */ + modalMove() { + return false; + }, + showTobe() { + this.setData({ + iosDialogTobe: true, + }); + }, + closeTobe() { + this.setData({ + iosDialogTobe: false, + }); + }, +}); diff --git a/pages/detail/index.json b/pages/detail/index.json new file mode 100644 index 0000000..5b28bc4 --- /dev/null +++ b/pages/detail/index.json @@ -0,0 +1,3 @@ +{ + "navigationStyle":"custom" +} \ No newline at end of file diff --git a/pages/detail/index.wxml b/pages/detail/index.wxml new file mode 100644 index 0000000..f072c08 --- /dev/null +++ b/pages/detail/index.wxml @@ -0,0 +1,496 @@ + + + + + {{jobDetail.storeJob.jobName}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{jobDetail.storeJob.jobName}} + + + + + + + + + {{citys}}{{jobDetail.store.distance}} + + + + + {{jobDetail.storeJob.genderRestrict}} + 丨{{jobDetail.storeJob.age}} + + + + + + + + {{jobDetail.storeJob.hourlyPay || '--'}} + + + + {{jobDetail.storeJob.monthlyPay || '--'}} + + + + + + + + {{item1}} + + + {{item1}} + + + + + + + + {{jobDetail.poses.store.posContent ? jobDetail.poses.store.posContent :'暂无地址信息'}} + + + + + + + + + 温馨提示 + {{jobDetail.storeJob.notes}} + + 薪资待遇 + + + 薪资明细 + {{jobDetail.storeJob.salaryDetail}} + + + 薪资发放 + {{jobDetail.storeJob.payDay}} + + + 银行卡 + {{jobDetail.storeJob.bankInfo}} + + + 押金 + {{jobDetail.storeJob.mealCardDeposit}} + + + 培训 + {{jobDetail.storeJob.training}} + + + 试用期 + {{jobDetail.storeJob.probation}} + + + 福利待遇 + {{jobDetail.storeJob.boon}} + + + 薪资说明 + {{jobDetail.storeJob.salaryDesp}} + + + 招聘要求 + + + 性别年龄 + {{showSexAgeText}} + + + 文化学历 + {{jobDetail.storeJob.education}} + + + + + + 证件 + {{jobDetail.storeJob.idCard}} + + + + 疑难杂症 + {{jobDetail.storeJob.otherRequire}} + + + + 体检 + {{jobDetail.storeJob.healthRequire}} + + + 岗位说明 + + + 工作内容 + {{jobDetail.storeJob.workContent}} + + + 工作方式 + {{jobDetail.storeJob.workMode}} + + + 班次工时 + {{jobDetail.storeJob.workClasses}} + + + 工作衣 + {{jobDetail.storeJob.workClothes}} + + + 车间 + {{jobDetail.storeJob.securityCheck}} + + + 保险 + {{jobDetail.storeJob.employeeInsurance}} + + + 换岗调班 + {{jobDetail.storeJob.otherDesp}} + + + 吃饭住宿 + + + + + + 吃饭 + {{jobDetail.storeJob.workingLunch}} + + + + + + + + + 住宿费用 + {{jobDetail.storeJob.dormitory}} + + + 宿舍设施 + {{jobDetail.storeJob.dormitoryFacilities}} + + + 宿舍距离 + {{jobDetail.storeJob.dormDistance}} + + + + + 入住要求 + {{jobDetail.storeJob.dormitoryDesp}} + + + + + 对接信息 + + + + + + 面试时间 + {{jobDetail.storeJob.interviewDuration}} + + + + + + 面试说明 + {{jobDetail.storeJob.interviewDesp}} + + + 入职说明 + {{jobDetail.storeJob.entryDesp}} + + + 离职说明 + {{jobDetail.storeJob.leaveRequire}} + + + + + + 其它信息 + {{jobDetail.storeJob.OtherInfo}} + + + + + + + 面试 + + + 面试时间 + {{jobDetail.storeJob.interviewDuration}} + + + + + 出行方式 + {{jobDetail.storeJob.tripMode}} + + + + 面试说明 + {{jobDetail.storeJob.interviewDesp}} + + + 入离职 + + + + 入职说明 + {{jobDetail.storeJob.entryDesp}} + + + 入职说明 + {{jobDetail.storeJob.leaveRequire}} + + + 返厂 + {{jobDetail.storeJob.leaveDesp}} + + + + + + 报名须知 + {{jobDetail.storeJob.agencyStatement}} + + + + 财务信息 + + + + + + + + + 服务费详情 + {{jobDetail.storeJob.agencyProfit}} + + + 扣税说明 + {{jobDetail.storeJob.deductTaxDesp}} + + + + 账单日 + (出名单时间) + + {{jobDetail.storeJob.outListTime}} + + + + 结算日 + (结算时间) + + {{jobDetail.storeJob.settlementTime}} + + + 仅代理可见 + + + + + + 复制 + + + {{userInfo.agencyStatus == 1 ? (userInfo.noticeEndStr ? userInfo.noticeEndStr : ('详情咨询:' + userInfo.tel)) : ('详情咨询:' + serviceInfo.aliasName + (serviceInfo.workPhone || '-'))}} + + 以上联系人,可以 + 改成我的 + + + + + + + + + + + + 该职位暂时停招 + + + + + + + + + + + {{jobDetail.storeJob.collected - 1 == 0 ? '已' : ''}}收藏 + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pages/detail/index.wxss b/pages/detail/index.wxss new file mode 100644 index 0000000..435daa0 --- /dev/null +++ b/pages/detail/index.wxss @@ -0,0 +1,565 @@ + .goback { + position: absolute; + color: #000; + left: 0px; + /* top: 40px; */ + /* transform: translateY(-50%); */ + margin-left: 6px; + font-size: 18px; + font-weight: bold; + z-index: 99999; +} +page, +.pb180 { + padding-bottom: 120px; + background-color: #fff; +} +.p14{ + padding: 14px; +} +.mg020 { + margin: 0 20px; +} +.pb10{ + padding-bottom: 10px; +} +.desp-copy { + color: #FF4400; + font-size: 12px; + float: right; + /* top: 11px; + right: 8px; + position: relative; */ + border: 1px solid #FF4400; + border-radius: 25rpx; + padding: 0px 8px; + height: 16px; + line-height: 16px; + + margin-top: 16px; + margin-right: 16px; +} +.jobMoney { + font-size: 18px; + font-weight: 601; + line-height: 20px; +} +.bottomBtn { + position: fixed; + width: 100%; + left: 0; + bottom: 0; + background-color: #fff; + border-top: 1rpx solid rgba(0, 0, 0, 0.1); +} +.bottomBtn > view { + justify-content: start; +} + + +.servicePrice { + border: 1rpx solid var(--color-ysd); + background-color: #ffeee7; + justify-content: space-between; + border-right-color: transparent; + border-left-color: transparent; +} +.servicePrice .left .display-flex { + align-items: center; + line-height: 20px; + margin-bottom: 12px; +} +.servicePrice .left .display-flex .icon-zhuyi { + width: 14px; + height: 20px; + margin-right: 4px; +} +.servicePrice .left .display-flex .iconfont::before { + position: absolute; +} +.servicePrice .right { + display: flex; + align-items: center; + margin-right: 8px; +} +.servicePrice .right .iconfont { + font-size: 24px; +} +.price { + font-size: 18px; + line-height: 20px; + font-weight: bold; +} +.mt3 { + margin-top: 3px; +} +.sharebtn { + padding-right: 0; + margin: 0; + display: inline; + background-color: transparent; + line-height: 1; + float: right; + margin-top: 5px; +} +.ml2 { + margin-left: 2px; +} +.am-button { + margin-top: 0; + margin-bottom: 0; +} + +.activeList { + display: flex; + text-align: center; +} +button::after { + border: 0; +} + +/* .menu { + flex: 1; + line-height: 1.5; + font-size: 16px; + color: rgba(0, 0, 0, 0.65); + border-bottom: 4px solid transparent; +} + +.menu.active { + font-weight: 601; + color: rgba(0, 0, 0, 0.85); + border-bottom: 4px solid #FE633F; +} */ +/* .icon-wode-shoucang{ + color: #787878 !important; +} +.icon-shoucang-red{ + color: #FF6A00 !important; +} */ +.scrollImgBox { + position: relative; + border-radius: 4px; + width: 60px; + height: 60px; + margin: 12px 5px; + overflow: hidden; +} +.scrollImg,swiper,.theVideo { + width: 100vw; + height: calc(100vw * 281 / 375); + /* position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%,-50%); */ + /* margin: 0; + /* margin-top: 16px; */ +} + +.show { + display: show; +} +.hide { + display: none; +} + +.scroll-header { + display: flex; + white-space: nowrap; +} + +.scroll-header view { + display: inline-block; +} +.scroll-header video { + width: 100%; + height: 100%; + border-radius: 8px; +} +.scroll-header image:first-child { + margin-left: 0px; +} +.bottomBtn .flex-1 { + flex: 1; +} +.bottomBtn .flex-3 { + flex: 1; +} +button.loginOut { + width: 136px; + line-height: 36px; + height: 36px; + margin-right:16px; + margin-left: 0; + background-color: var(--color-ysd); +} +.wxBtn { + background-color: #fff !important; + color: var(--color-ysd); + border: 1px solid var(--color-ysd); +} +.loginBtnHov{ + background-color: var(--color-ysd) !important; + color: #fff !important; +} +.bottomBox{ + /* padding-bottom: 16px; */ +} +.button-hover[type="primary"] { + color: #ffffff; + /* opacity: 0.8; */ + background-color: #fc7617; +} +.flex-1.f14.c085 { + /* white-space: pre-wrap; */ + /* white-space: pre-line; */ + font-size: 17px; + line-height: 28px; +} +button.collectBtn { + margin: 0; + padding: 0; + line-height: 1.4; + padding: 0; + background-color: #fff; + /* text-align: left; */ + /* background-color: #fff; */ +} +.tagsLi { + height: 20px; + font-size: 14px; + font-weight: 400; + margin-right: 8px; + margin-bottom: 0; + color: #888; + line-height: 18px; + padding: 0px 4px; +} +.t-icon-ziying1 { + background-repeat: no-repeat; + display: inline-block; + width: 32px; + height: 20px; + margin-right: 6px; +} +.dName { + font-size: 16px; + font-weight: 601; + color: #262626; + line-height: 22px; +} +.dsName { + font-size: 12px; + font-weight: 400; + color: #8c8c8c; + line-height: 17px; +} +.ava { + width: 48px; + height: 48px; + border-radius: 50%; + margin-right: 14px; +} +.f25 { + font-size: 25px; +} +.p20-0 { + padding: 20px 0; + margin-bottom: 20px; +} +.p020 { + padding: 0 20px; +} +.dianhua { + color: #787878; +} +.achover .dianhua { + color: #999; +} +.storeTitle { + font-size: 18px; + font-weight: 601; + color: #262626; + line-height: 25px; + /* margin-bottom: 10px; */ +} +.storeInfo { + font-size: 15px; + font-weight: 400; + color: #939393; + line-height: 21px; + white-space: pre-line; +} +.address { + font-size: 15px; + font-weight: 400; + color: #787878; + line-height: 21px; + flex: 1; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.btext { + font-size: 11px; + font-weight: 400; + color: #444444; + line-height: 16px; + margin-top: 2px; +} +.flex-3 { + flex: 3; +} +.noShow { + position: absolute; + top: -9999px; +} +.onMune { + font-size: 16px; + flex: inherit; +} +.topMenu { + justify-content: space-around; + padding: 0; +} +.topMenu > view { + padding: 12px 0; +} +.onMune.active { + position: relative; + font-size: 16px; + font-weight: 500; + text-align: center; +} +.onMune.active:after { + display: block; + content: ""; + width: 20px; + height: 3px; + background-color: var(--color-ysd); + position: absolute; + bottom: 0px; + left: 50%; + transform: translateX(-10px); +} +/* .menuBorder { + display: block; + content: ""; + width: 20px; + height: 3px; + background-color: var(--color-ysd); + position: absolute; + bottom: -8px; + left: 50%; + transform: translateX(-10px); +} */ +.detailH3 { + font-size: 16px; + font-weight: 400; + color: #000; + line-height: 22px; + margin-top: 16px; + margin-bottom: 8px; +} +.pri { + white-space: pre-line; +} +.pri:empty:before, +.textb1:empty:before { + content: "-" !important; + color: #333; +} +.outSp { + border: 1px solid #f3f3f3; + border-radius: 4px; + /* line-height: 56rpx; */ +} +.outSp .display-flex:last-child .rb1, +.outSp .display-flex:last-child .textb1 { + border-bottom: 0; +} +.sbb1 { + border-bottom: 1rpx solid #eee !important; +} +.tabBox .display-flex { + flex-wrap: wrap; +} +.tabBox .display-flex > view { + margin-bottom: 8px; +} +.rb1 { + font-size: 14px; + color: #666; + text-align: center; + width: 60px; + border-right: 1px solid #f3f3f3; + border-bottom: 1px solid #f3f3f3; + display: flex; + align-items: center; + justify-content: flex-start; + padding: 0 8px; +} +.textb1 { + white-space: pre-line; + color: #000; + border-bottom: 1px solid #f3f3f3; + padding: 0 8px; + flex: 1; + line-height: 1.8; + padding-top: 3px; +} +.jobMoney { + color: var(--color-ysd); +} +.c633 { + color: var(--color-ysd); +} + +.navigatorBar { + position: relative; + letter-spacing:1px; + /* z-index: 999; */ + /* background-color: var(--color-ysd); */ + padding-bottom: 8px; +} +.navigatorBar { + position: absolute; + letter-spacing:1px; + background-color: #fff; + padding-bottom: 8px; + z-index: 999; + left: 0; + right: 0; +} +.navigatorBar .tabs { + position: relative; + left: 50%; + color: #000; + font-size: 35rpx; + transform: translateX(-50%); + /* justify-content: center; */ + box-sizing: border-box; +} + +.navigatorBar .tabs > view { + flex: 1; + line-height: 26px; + width: 56px; + color: #666; + text-align: center; +} +.mask { + position: fixed; + width: 100vw; + height: 100vh; + background-color: rgba(0, 0, 0, 0.3); + top: 0; + left: 0; + z-index: 99; + pointer-events: none; + /* display: none; */ +} +.norecruit { + position: absolute; + width: 100%; + height: 38px; + line-height: 38px; + top: -38px; + font-size: 14px; + text-align: center; + background-color: #666; + color: #fff; + /* display: none; */ +} +.transparentBtn{ + background-color: transparent !important; + color: #FF4400 !important; +} +.drawerMask { + position: fixed; + z-index: 1000; + top: 0; + right: 0; + left: 0; + bottom: 0; + transition: opacity 0.3s, visibility 0.3s; + background: rgba(0, 0, 0, 0.6); + visibility: hidden; + opacity: 0; +} +.drawerMask.showDrawer { + opacity: 1; + visibility: visible; +} +.drawer.showDrawer { + /* position: relative; */ + border-radius: 8px 8px 0 0; + width: 100vw; + height: 92vh; + /* bottom: -44px; */ + /* padding-bottom: 44px; */ +} +.drawer { + position: fixed; + left: 0; + right: 0; + bottom: 0px; + z-index: 2000; + width: 100vw; + background-color: #fff; + height: 0; + transition: all 0.3s; +} +.showDrawer .title { + padding: 6px 16px; +} +.showDrawer .title { + position: relative; +} +.showDrawer .title .icon-guanbi { + content: ""; + position: absolute; + right: 12px; + top: 0; + /* transform: translate(0%, -50%); */ +} +.showDrawer .content { + height: 100%; + padding-top: 16px; + display: flex; + align-items: start; + justify-content: center; +} +.showDrawer .annunciate { + height: calc(100% - 112px); + overflow: auto; +} +.showDrawer .annunciate .info { + width: 100%; + padding: 12px 22px; + padding-bottom: 120px; + box-sizing: border-box; +} +.showDrawer .footer { + display: flex; + justify-content: space-between; + text-align: center; + align-items: center; + padding-top: 15px; + padding-right: 48px; + padding-left: 48px; + border-top: 1px dashed #cccccc; +} +.drawerBox .bottom { + position: sticky; + bottom: 24px; + width: 100%; + text-align: center; +} +.drawerBox .bottom .loginOut { + width: 260px !important; +} +.posterImg { + height: 75vh; + width: calc(75vh * .52); +} diff --git a/pages/index/filtercss.wxss b/pages/index/filtercss.wxss new file mode 100644 index 0000000..d1dc41c --- /dev/null +++ b/pages/index/filtercss.wxss @@ -0,0 +1,71 @@ + +.container { + /* margin: 10px; + padding: 0 10px; */ + padding-bottom: 32px; + margin-bottom: 10px; + background-color: #fff; + border-radius: 8px; +} +.sub { + overflow: hidden; +} +.sub .title { + margin: 32px 0 20px 0; + font-size: 18px; + line-height: 1; + font-weight: bold; + text-align: left; +} +.sub .content { + display: flex; + flex-wrap: wrap; +} +.sub .content > span { + width: calc(32% - 2px); + height: 34px; + line-height: 34px; + border-radius: 4px; + background-color: #fff; + text-align: center; + color: #333; + font-size: 14px; + border: 1px solid transparent; +} +.sub .content > span.active { + background-color: #E7F2FF; + color: var(--color-ysd); + border-color: var(--color-ysd); +} +.sub .content > span:not(:nth-child(3n)) { + margin-right: 2%; +} +.sub .content > span:not(:nth-last-child(-n + 3)) { + margin-bottom: 12px; +} +.btnBox { + position: sticky; + bottom: 0; + height: 44px; + padding-top: 12px; + display: flex; + justify-content: center; + background-color: #fff; +} +.btnBox button { + width: 128px !important; + height: 32px; + padding: 0; + margin: 0; + border-radius: 24px; + line-height: 32px; + font-size: 14px; + box-sizing: border-box; +} +.btnBox .clearFilter{ + margin-right: 20px; + line-height: 30px; + border:1px solid var(--color-ysd); + background-color: #fff; + color: var(--color-ysd); +} \ No newline at end of file diff --git a/pages/index/index.js b/pages/index/index.js new file mode 100644 index 0000000..a488ba5 --- /dev/null +++ b/pages/index/index.js @@ -0,0 +1,3062 @@ +const app = getApp(); + +const commonUtil = require("../../utils/commonUtil.js"); +Page({ + data: { + toped: "1", + chaShowed: false, + isTrigger: false, + // background: ["../../assets/images/banner1.jpg", "../../assets/images/banner2.jpg", "../../assets/images/banner3.jpg", "../../assets/images/banner4.jpg"], + pullNum: 0, //下拉次数 + tabs: [], + activeTab: 0, + systemInfo: {}, + getMenuButtonBoundingClientRect: {}, + // 手机基础信息 + tabs2: [], + loadMore: "", + loadContent: ["马不停蹄加载更多数据中...", "-- 已经到底了,加不了咯 --"], + + statusBarHeight: wx.getStorageSync("statusBarHeight"), // 状态栏高度 + + navigationBarHeight: wx.getStorageSync("navigationBarHeight"), // 导航栏高度 + + menuButtonHeight: wx.getStorageSync("menuButtonHeight"), // 胶囊按钮高度 + + menuButton: wx.getStorageSync("menuButtonInfo"), // 胶囊信息 + navigatorHeight: 60, + activeTab2: 0, + contentIndex: 0, + latestClass: 0, + zoneClass: 0, + recordList: [], + jobSpecialLabelNames: [], + storeJobListSearchForm: { + pageNum: 1, + pageSize: 20, + classify: 1, + sex: -1, + workTypeStr: "", + lat: "", + lng: "", + jobClassify: "", + sortTag: 0, + jobSpecialLabelIds: "", + cityName: "", + brandIds: "", + jobCategoryLabelIds: "", + ucj: 0, + }, + loading: true, + topJobList: [], + hasLocation: false, + chooseActive: false, //筛选是否高亮 + + labelItems: [], + checkedlabelItems: [], + hasMoreData: false, //下拉是否还有更多数据 + inputShowed: false, + inputVal: "搜索工作", + wxCode: "", + isCollect: false, + collectTxt: "收藏", + isLogin: app.globalData.isLogin, + hasUserInfo: 0, + searchCityParamStorage: { + name: "", + shortName: "", + }, + iosDialog1: false, + phoneDialog: false, + triggered: false, + pageShow: false, + whichOneShow: "", + siv: "", + activez: "zuigao", + sexid: "-1", // 性别筛选的id + dialog1: false, + dialog2: false, + jobSpecialLabelList: [], + brandList: [], + firstMenu: "排序", // 工价筛选tab显示 + secondMenu: "性别", // 性别筛选tab显示 + selectBrandList: [], // 选中的品牌标签 + selectJobList: [], // 选中的特色标签 + tagArray0: [], + tagArray1: [], + tagArray2: [], + tagArray3: [], + tagArray4: [], + recordBillType: "", // 报名类型(拍照或者直接报名) + signType: 0, // 职位类型(自营 三方) + recordCount: 0, + totalPage: 0, + currPage: 0, + currentJobDrawer: {}, // 当前简版职位抽屉信息 + drawerShow: false, // 简版职位抽屉显隐 + choiceCollect: 0, //收藏的筛选 + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, // 内部成员的判断 + agencyStatus: app.globalData.loginUserInfo.agencyStatus, // 是否是代理的判断 + serviceInfo: {}, // 代理信息 + navigatorBarHeight: 0, // 头部整体高度信息 + iosDialog: false, // 成为代理弹窗 + isLoading: true, // 成为代理图片加载loading效果 + isScrollTop: false, // 控制职位列表的滚动 + swiperTextList: ["搜索职位"], // 关键词轮播的关键词列表 + placeholderText: "", // 当前关键词 + leftShow: false, // 左侧智能匹配抽屉显示 + /** + * 滑动相关变量 + */ + lastX: 0, //滑动开始x轴位置 + lastY: 0, //滑动开始y轴位置 + text: "没有滑动", + currentGesture: 0, //标识手势 + listPosition: null, // 存储列表当前位置 + halfHide: true, // 智能匹配显示一半控制 + topNum: 0, + scrollTo: "", // 列表滚动的控制 + navList: [ + { + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/ztrt.png", + url: "/pages/hotList/index", + title: "主推/热推", + }, + // { img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/dtld.png",url:'/pages/hotList/index', title: "职位云亮点" }, + // { img: "http://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/zjzp.png",url:'/pages/hotList/index', title: "职教职培" }, + { + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/cwdl.png", + url: "/pages/tobeAgency/index", + title: "成为代理", + }, + // { img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/dzkf.png",url:'/pages/hotList/index', title: "定制开发" }, + { + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/xmhz.png", + url: "/pages/xiangmuhezuo/index", + title: "项目合作", + }, + { + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/xtxx.png", + url: "/pages/message/index", + title: "消息中心", + }, + { + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/lxwm.png", + url: "/pages/connectUs/index", + title: "联系我们", + }, + // { img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/jqqd.png",url:'/pages/hotList/index', title: "敬请期待" }, + ], + bannerList: [], + /** + * 筛选的相关变量 + * + * + */ + filterData: { + yanba: [ + { + name: "无", + id: 1, + active: 0, + }, + { + name: "小面积", + id: 2, + active: 0, + }, + { + name: "大面积", + id: 3, + active: 0, + }, + ], + area: [ + { + name: "江浙沪", + id: 1, + active: 0, + }, + { + name: "鄂豫皖", + id: 2, + active: 0, + }, + { + name: "京津冀", + id: 3, + active: 0, + }, + { + name: "晋西北", + id: 4, + active: 0, + }, + { + name: "粤桂闽", + id: 5, + active: 0, + }, + { + name: "鲁东南", + id: 6, + active: 0, + }, + { + name: "黑吉辽", + id: 7, + active: 0, + }, + { + name: "疆藏青", + id: 8, + active: 0, + }, + { + name: "渝湘赣", + id: 9, + active: 0, + }, + { + name: "陕甘宁", + id: 10, + active: 0, + }, + { + name: "云贵川", + id: 11, + active: 0, + }, + { + name: "港澳台", + id: 12, + active: 0, + }, + ], + price: [ + { + name: "3000-4000", + id: 1, + active: 0, + }, + { + name: "4000-5000", + id: 2, + active: 0, + }, + { + name: "5000-6000", + id: 3, + active: 0, + }, + { + name: "6000-7000", + id: 4, + active: 0, + }, + { + name: "7000-8000", + id: 5, + active: 0, + }, + { + name: "8000以上", + id: 6, + active: 0, + }, + ], + sex: [ + { + name: "男", + id: 1, + active: 0, + }, + { + name: "女", + id: 2, + active: 0, + }, + { + name: "男女不限", + id: -1, + active: -1, + }, + ], + jobFilter: { + tagArray0: [], + tagArray1: [], + tagArray2: [], + tagArray3: [], + tagArray4: [], + }, + classifyList: [], + }, + copyList: {}, + innerFilter: false, + }, + // onPullDownRefresh:function(){ + // this.getJobList(); + // console.log(123); + + // wx.stopPullDownRefresh({ + // success() { + // app.refreshSuccess(); + // } + // }); + // }, + goLogin() { + wx.setStorageSync("comeFromPage", "index"); + wx.navigateTo({ + url: "/pages/login/index", + }); + }, + close() { + let that = this; + let brandList = that.data.brandList; + let selectBrandList = that.data.selectBrandList; + if (selectBrandList.length > 0) { + for (let i = 0; i < brandList.length; i++) { + console.log("level1"); + for (let j = 0; j < selectBrandList.length; j++) { + console.log("level2"); + if (brandList[i].id == selectBrandList[j].id) { + return (brandList[i].checked = true); + } else { + brandList[i].checked = false; + } + } + } + } else { + brandList.forEach((item) => { + item.checked = false; + }); + } + return brandList; + }, + closeFix: function () { + var that = this; + // let brandList = that.close() + // that.data.brandList.forEach((item) => { + // if (that.data.selectBrandList.length > 0) { + // that.data.selectBrandList.forEach((item1) => { + // if (item.id != item1.id) { + // console.log("isSame"); + // item.checked = false; + // console.log(item.checked); + // } else { + // item.checked = true; + // } + // }); + // } else { + // item.checked = false; + // } + // }); + // console.log(that.data.brandList); + // console.log(that.data.selectBrandList); + console.log("isout"); + }, + touchStart(e) { + // console.log("滚起来", e); + // this.setData({ + // scrollStop: false + // }) + this.setData({ + // whichOneShow: mark, + siv: "", + }); + }, + choosenTop(e) { + var that = this; + // that.data.storeJobListSearchForm.pageNum = 1; + let id = e.currentTarget.dataset.id; + setTimeout(() => { + that.setData({ + toped: id, + // isScrollTop: false, + }); + }, 0); + // 切换标准 简版 重新查询列表 + // that.data.storeJobListSearchForm.pageNum = 1; + // that.setData({ + // toped: id, + // recordList: [], + // }); + // that.getJobList(); + }, + + chooseNl: function (e) { + var that = this; + console.log(e); + let mark = ""; + let type = e.target.dataset.type; + let whichOneShow = that.data.whichOneShow; + // if (!that.data.isLogin) { + // wx.navigateTo({ + // url: "/pages/login/index", + // }); + // return; + // } + if (type == "gj") { + if (whichOneShow == "gj") { + mark = ""; + } else { + mark = "gj"; + } + } else if (type == "sex") { + if (whichOneShow == "sex") { + mark = ""; + } else { + mark = "sex"; + } + } else if (type == "brand") { + if (whichOneShow == "brand") { + mark = ""; + } else { + mark = "brand"; + } + } else if (type == "special") { + if (whichOneShow == "special") { + mark = ""; + } else { + mark = "special"; + } + } + if (that.data.siv != "menu") { + setTimeout(() => { + that.setData({ + whichOneShow: mark, + // siv:'menu' + }); + console.log(this.data.whichOneShow); + }, 0); + that.setData({ + siv: "menu", + scrollTo: "sticky", + }); + } + this.hideLeft(); + }, + toSpecialArea: function (e) { + var id = e.currentTarget.dataset.id; + wx.navigateTo({ + url: "../specialArea/index?id=" + id, + }); + }, + chooseM: function (e) { + var str = e.currentTarget.dataset.id; + console.log(str); + this.setData({ + activez: str, + }); + }, + watch() {}, + witchNav(e) { + console.log(e); + if (!this.data.isLogin) { + wx.navigateTo({ + url: "/pages/login/index", + }); + return; + } + if (e.currentTarget.dataset.title == "成为代理") { + console.log("成为代理"); + if (app.globalData.loginUserInfo.agencyStatus == 1) { + wx.showToast({ + title: "您已经是代理了", + icon: "none", + duration: 2000, + }); + return; + } + } else if (e.currentTarget.dataset.title == "主推/热推") { + wx.navigateTo({ + url: e.currentTarget.dataset.url + "?listtype=" + this.data.toped, + }); + return; + } + + wx.navigateTo({ + url: e.currentTarget.dataset.url, + }); + }, + toHot(e) { + if (e.currentTarget.dataset.path) { + if (e.currentTarget.dataset.path == "/pages/hotList/index") { + wx.navigateTo({ + url: `${e.currentTarget.dataset.path}?listtype=${this.data.toped}`, + }); + } + } + }, + choiceSex(e) { + var that = this; + let data = e.currentTarget.dataset; + that.data.filterData[data.type].forEach((item) => { + item.active = 0; + }); + let index = that.data.filterData[data.type].findIndex((item) => { + return item.id == data.id; + }); + that.data.filterData[data.type][index].active = data.id; + // let str = that.data.sexid + console.log(e); + let str = e.currentTarget.dataset.id; + console.log(str); + if (str == "1") { + that.data.secondMenu = "男生"; + } else if (str == "2") { + that.data.secondMenu = "女生"; + } else if (str == "-1") { + that.data.secondMenu = "不限"; + } + that.setData({ + sexid: str, + secondMenu: this.data.secondMenu, + }); + that.data.storeJobListSearchForm.pageNum = 1; + that.data.storeJobListSearchForm.sex = str; + that.setData({ + storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + filterData: that.data.filterData, + innerFilter: true, + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + whichOneShow: "", + }); + }); + }, + onScrollRefresh: function () { + var that = this; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + }); + that.getJobList(); + + // setTimeout(function(){ + // that.setData({ + // recordList: [],: false, + // }) + // },2000); + }, + + cc: function () {}, + close: function () { + this.setData({ + dialog1: false, + dialog2: false, + phoneDialog: false, + }); + }, + searchKey: function (e) { + if (!this.data.isLogin) { + wx.navigateTo({ + url: "../login/index", + }); + return; + } + console.log(e); + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.data.storeJobListSearchForm.keys = this.data.inputVal; + this.getJobList(); + }, + onShareAppMessage: function () { + var path = commonUtil.getCurrentPageUrlWithArgs(); + if (app.globalData.isLogin && app.globalData.agencyStatus - 0 != 0) { + //当前用户是代理人 + path += (path.indexOf("?") >= 0 ? "&" : "?") + "agencyUserId=" + app.globalData.loginUserInfo.id; + } + console.log(path); + let img; + + this.data.templateList.forEach((element) => { + if (element.title == "职位云小程序首页卡片分享封面") { + img = element.img + "?" + new Date().getTime(); + } + }); + return { + title: " ", + path: path, + imageUrl: img, + }; + }, + goSearch() { + if (!this.data.isLogin) { + wx.navigateTo({ + url: "../login/index", + }); + return; + } + wx.navigateTo({ + url: `../jobListSearch/index?from=project&listtype=${this.data.toped}&key=${this.data.placeholderText}`, + }); + }, + clearInput: function () { + this.setData({ + inputVal: "搜索工作", + chaShowed: false, + inputShowed: false, + hasMoreData: true, + }); + this.inputBlur(); + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.data.storeJobListSearchForm.keys = ""; + this.getJobList(); + }, + inputTyping: function (e) { + this.setData({ + inputVal: e.detail.value, + }); + console.log(this.data.inputVal == ""); + if (this.data.inputVal == "") { + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.data.storeJobListSearchForm.keys = ""; + this.getJobList(); + } + }, + /** + * 清除本地缓存 + * + * + */ + clear() { + wx.clearStorage(); + + console.log("清除成功"); + }, + inputBlur() {}, + getListByTypeAndIndustry: function () { + var that = this; + wx.request({ + url: app.globalData.ip + "/labels/getListByTypeAndIndustry", + data: { + type: 90, + industry: 2, + }, + header: app.globalData.header, + method: "GET", + success: function (res) { + console.log(res.data.data); + wx.setStorageSync("FILTER_LIST", res.data.data); + res.data.data.forEach((item) => { + if (item.typeClassify == "0") { + that.data.tagArray0.push(item); + } else if (item.typeClassify == "1") { + that.data.tagArray1.push(item); + } else if (item.typeClassify == "2") { + that.data.tagArray2.push(item); + } else if (item.typeClassify == "3") { + that.data.tagArray3.push(item); + } else if (item.typeClassify == "4") { + that.data.tagArray4.push(item); + } + }); + that.setData({ + tagArray0: that.data.tagArray0, + tagArray1: that.data.tagArray1, + tagArray2: that.data.tagArray2, + tagArray3: that.data.tagArray3, + tagArray4: that.data.tagArray4, + }); + + var jobSpecialLabelIdArray = that.data.storeJobListSearchForm.jobSpecialLabelIds.split(","); + + res.data.data.forEach((item) => { + item["checked"] = false; + jobSpecialLabelIdArray.forEach((item1) => { + if (item.id == item1) { + item["checked"] = true; + } + }); + }); + + that.setData({ + jobSpecialLabelList: res.data.data, + }); + }, + }); + }, + golistSharePage() { + if (this.data.isLogin) { + if (app.globalData.loginUserInfo.agencyStatus == 1) { + wx.navigateTo({ + url: `/pages/listSharePage/index?listtype=${this.data.toped}`, + }); + } else { + wx.navigateTo({ + url: `/pages/tobeAgency/index`, + }); + } + } else { + wx.navigateTo({ + url: `/pages/login/index`, + }); + } + }, + getBrandNameAllList: function () { + var that = this; + wx.request({ + url: app.globalData.ip + "/labels/type/95", // 分类列表获取接口 + header: app.globalData.header, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + if (that.data.storeJobListSearchForm.brandIds) { + var brandIdArray = that.data.storeJobListSearchForm.brandIds.split(","); + } + console.log(res.data.data.labels); + wx.setStorageSync("CLASSIFY_LIST", res.data.data.labels); + res.data.data.labels.forEach((item) => { + item["checked"] = false; + if (brandIdArray) { + brandIdArray.forEach((item1) => { + if (item.id == item1) { + item["checked"] = true; + } + }); + } + }); + that.setData({ + brandList: res.data.data.labels, + }); + } + }, + }); + // wx.request({ + // url: app.globalData.ip + "/brand/getBrandNameAllList", // 品牌列表获取接口 + // data: {}, + // header: app.globalData.header, + // method: "GET", + // success: function (res) { + // console.log(res); + + // var brandIdArray = that.data.storeJobListSearchForm.brandIds.split(","); + + // res.data.data.forEach((item) => { + // item["checked"] = false; + // brandIdArray.forEach((item1) => { + // if (item.id == item1) { + // item["checked"] = true; + // } + // }); + // }); + // that.setData({ + // brandList: res.data.data, + // }); + // }, + // }); + }, + + selectBrand: function (e) { + var that = this; + let data = e.currentTarget.dataset; + let index = that.data.filterData[data.type].findIndex((item) => { + return item.id == data.id; + }); + that.data.filterData[data.type][index].active = data.id; + + if (that.data.brandList[data.index].checked) { + that.data.brandList[data.index].checked = false; + // let index1 = that.data.selectBrandList.indexOf(that.data.brandList[index]) + // that.data.selectBrandList.splice(index1,1) + } else { + that.data.brandList[data.index].checked = true; + } + console.log(that.data.selectBrandList); + this.setData({ + brandList: that.data.brandList, + filterData: that.data.filterData, + }); + }, + reset: function (e) { + var that = this; + console.log(e); + if (e.target.dataset.type == 1) { + //特色 + that.data.jobSpecialLabelList.forEach((item) => { + // console.log(item); + if (item.checked) { + item.checked = false; + } + }); + that.setData({ + jobSpecialLabelList: that.data.jobSpecialLabelList, + tagArray0: that.data.tagArray0, + tagArray1: that.data.tagArray1, + tagArray2: that.data.tagArray2, + tagArray3: that.data.tagArray3, + selectJobList: [], + whichOneShow: "", + }); + that.data.storeJobListSearchForm.jobSpecialLabelIds = ""; + } else if (e.target.dataset.type == 2) { + //品牌 + that.data.brandList.forEach((item) => { + if (item.checked) { + item.checked = false; + } + }); + that.setData({ + brandList: that.data.brandList, + selectBrandList: [], + whichOneShow: "", + }); + that.data.storeJobListSearchForm.jobCategoryLabelIds = ""; + // that.data.storeJobListSearchForm.brandIds = ""; + } else if (e.target.dataset.type == 4) { + that.setData({ + activez: "", + }); + } + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + innerFilter: false, + }); + that.getJobList(); + }, + loginOut: function () { + var that = this; + var jobSpecialLabelIdArray = []; + + // var brandIdArray = []; + that.data.selectBrandList = []; + that.data.filterData.classifyList.forEach((item) => { + if (item.active) { + if (that.data.selectBrandList.indexOf(item) == -1) { + that.data.selectBrandList.push(item); + } + // brandIdArray.push(item.id); + } + }); + that.data.selectJobList = []; + let subArr = that.data.filterData.jobFilter; + let jobList = subArr.tagArray0.concat(subArr.tagArray1, subArr.tagArray2, subArr.tagArray3, subArr.tagArray4); + jobList.forEach((item) => { + if (item.active) { + if (that.data.selectJobList.indexOf(item) == -1) { + that.data.selectJobList.push(item); + } + } + }); + // if (brandIdArray.length > 0) { + // // that.data.storeJobListSearchForm.brandIds = brandIdArray.join(","); + // that.data.storeJobListSearchForm.jobCategoryLabelIds = brandIdArray.join(","); + // } else { + // // that.data.storeJobListSearchForm.brandIds = ""; + // that.data.storeJobListSearchForm.jobCategoryLabelIds = ""; + // } + // that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + // recordList: [], + // siv: "", + // whichOneShow: "", + selectBrandList: that.data.selectBrandList, + selectJobList: that.data.selectJobList, + // innerFilter:true + }); + // that.getJobList(); + }, + onLoad(options) { + var that = this; + console.log(options); + console.log(wx.getSystemInfoSync()); + // Array.prototype.logResult = function(){ + // console.log('Array'); + // } + this.setData({ + placeholderText: this.data.swiperTextList[0], + }); + let arr = []; + arr.logResult(); + + this.getListByTypeAndIndustry(); + this.getBrandNameAllList(); + + // 查看是否授权 + wx.getSetting({ + success(res) { + if (res.authSetting["scope.userInfo"]) { + // 已经授权,可以直接调用 getUserInfo 获取头像昵称 + wx.getUserInfo({ + success: function (res) { + console.log(res.userInfo); + }, + }); + } + }, + }); + + // if (app.isNotEmptyCheck(options.fromSearchPage) && options.fromSearchPage == 1) { + // try { + // var searchCityParamStorage = wx.getStorageSync("searchCityParamStorage"); + // if (searchCityParamStorage) { + // console.log("searchCityParamStorage======", searchCityParamStorage); + // that.data.storeJobListSearchForm.cityName = searchCityParamStorage.name; + // if (app.isEmptyCheck(searchCityParamStorage.name)) { + // that.data.storeJobListSearchForm.cityName = "全国"; + // } + // that.setData({ + // searchCityParamStorage: searchCityParamStorage, + // }); + // } + // } catch (e) { + // console.log("获取缓存设置的查询职位列表参数错误:", e); + // } + // } else { + // try { + // wx.removeStorageSync("searchJobListParamStorage"); + // } catch (e) { + // console.log("删除缓存设置的查询职位列表参数错误:", e); + // } + // try { + // wx.removeStorageSync("searchCityParamStorage"); + // } catch (e) { + // console.log("删除缓存设置的查询职位列表参数错误:", e); + // } + // } + + try { + if (app.globalData.isScanQRCodes - 1 == 0) { + wx.showToast({ + title: "欢迎查看好工作", + icon: "success", + duration: 2000, + }); + if (!getApp().globalData.isLogin) { + setTimeout(function () { + if (!getApp().globalData.isLogin) { + that.openIOS2(); + } + }, 5000); + } + } + } catch (e) { + console.log("获取缓存设置的查询职位列表参数错误:", e); + } + + console.log("options==============================1"); + console.log(options); + console.log("options==============================2"); + + if (app.isNotEmptyCheck(options.scene)) { + //扫小程序码携带参数 + var sceneStr = decodeURIComponent(options.scene); + var sceneJson = commonUtil.sceneToJson(sceneStr); + console.log("sceneJson===", sceneJson); + if (sceneJson.fromType == 1) { + app.globalData.isCommission = 1; + wx.setStorageSync("storageSyncAgencyUserId", sceneJson.userId); + } + + //先设置代理人缓存人再登录 + app.getLoginUserTokenInfo(); + } else if (app.isNotEmptyCheck(options.fromType)) { + //扫小程序普通二维码携带参数-来源ID + console.log("options.fromType========" + options.fromType); + if (options.fromType == 0) { + console.log("options.id========" + options.id); + console.log("options.userId========" + options.userId); + try { + app.globalData.isCommission = 1; + wx.setStorageSync("fromQrCodeChannelContactId", options.id); + that.getAgencyUserId(options.id); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + } + } else if (options.fromType.indexOf("0&id=") >= 0) { + //兼容2021-9-9之前的二维码 + var paramsTempId = options.fromType.replace("0&id=", ""); + console.log("¶msTempId========" + paramsTempId); + try { + app.globalData.isCommission = 1; + wx.setStorageSync("fromQrCodeChannelContactId", paramsTempId); + that.getAgencyUserId(paramsTempId); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + } + } else { + //兼容2021-9-9之前的二维码 + var paramsTempId = options.fromType.replace("0,id=", ""); + console.log("=paramsTempId========" + paramsTempId); + try { + app.globalData.isCommission = 1; + wx.setStorageSync("fromQrCodeChannelContactId", paramsTempId); + that.getAgencyUserId(paramsTempId); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + } + } + } else { + console.log("options.fromType===else=====" + options); + } + + //this.wxLogin(); + let res = wx.getStorageSync("storeJobId"); //详情页返回 + console.log(res); + if (app.isEmptyCheck(res.data)) { + this.setData({ + recordList: [], + }); + } else { + wx.removeStorageSync({ + key: "storeJobId", + }); + } + + console.log("on show"); + + //登录=================================start + if (app.globalData.isLogin) { + this.setData({ + isLogin: app.globalData.isLogin, + hasUserInfo: app.globalData.hasUserInfo, + agencyStatus: app.globalData.loginUserInfo.agencyStatus, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + userInfo: app.globalData.loginUserInfo, + serviceInfo: app.globalData.serviceInfo, + isLoading: true, + }); + } else { + // 由于 userLogin 是网络请求,可能会在 Page.onLoad 之后才返回 + // 所以此处加入 callback 以防止这种情况 + app.userLoginCallback = (res) => { + this.setData({ + isLogin: app.globalData.isLogin, + hasUserInfo: app.globalData.hasUserInfo, + agencyStatus: app.globalData.loginUserInfo.agencyStatus, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + userInfo: app.globalData.loginUserInfo, + serviceInfo: app.globalData.serviceInfo, + }); + console.log(that.data.serviceInfo); + }; + console.log(that.data.serviceInfo); + } + //登录=================================end + + this.getHopeJobLabels(); + var reset = true; + let agencyUserId = options.agencyUserId; + if (agencyUserId) { + wx.setStorageSync("storageSyncAgencyUserId", agencyUserId); + console.log("agencyUserId", agencyUserId); + app.globalData.isCommission = 1; + } + app.getLoginUserTokenInfo(); + + this.getJobList(); + if (wx.getStorageSync("FILTER_LIST")) { + let list = wx.getStorageSync("FILTER_LIST"); + list.forEach((item) => { + item.active = 0; + if (item.typeClassify == "0") { + this.data.filterData.jobFilter["tagArray0"].push(item); + } else if (item.typeClassify == "1") { + this.data.filterData.jobFilter["tagArray1"].push(item); + } else if (item.typeClassify == "2") { + this.data.filterData.jobFilter["tagArray2"].push(item); + } else if (item.typeClassify == "3") { + this.data.filterData.jobFilter["tagArray3"].push(item); + } else if (item.typeClassify == "4") { + this.data.filterData.jobFilter["tagArray4"].push(item); + } + }); + let jobFilter = "filterData.jobFilter"; + this.setData({ + [jobFilter]: this.data.filterData.jobFilter, + }); + } + + if (wx.getStorageSync("CLASSIFY_LIST")) { + this.data.filterData.classifyList = wx.getStorageSync("CLASSIFY_LIST"); + this.data.filterData.classifyList.forEach((item) => { + item.active = 0; + }); + let classifyList = "filterData.classifyList"; + this.setData({ + [classifyList]: this.data.filterData.classifyList, + }); + } + this.setData({ + copyList: JSON.parse(JSON.stringify(this.data.filterData)), + }); + // that.getJobList(); + that.getBannerList(); + that.getchannelList(); + }, + onReady() { + let that = this; + }, + /** + * 智能匹配结束 + * + * + * + */ + goChannel(e) { + console.log(e); + }, + /** + * 筛选标签的点击 + * + * + */ + setActive(e) { + console.log(e); + let data = e.currentTarget.dataset; + if (data.type == "yanba" || data.type == "sex" || data.type == "price") { + console.log(data.id); + let index = this.data.filterData[data.type].findIndex((item) => { + return item.id == data.id; + }); + if (this.data.filterData[data.type][index].active == data.id) { + this.data.filterData[data.type][index].active = 0; + } else { + this.data.filterData[data.type].forEach((item) => { + item.active = 0; + }); + this.data.filterData[data.type][index].active = data.id; + } + + this.setData({ + filterData: this.data.filterData, + }); + } else if (data.type != "jobFilter") { + this.data.filterData[data.type].forEach((item) => { + if (item.id == data.id) { + if (item.active == data.id) { + item.active = 0; + } else { + item.active = data.id; + } + } + }); + console.log(this.data.filterData[data.type]); + } else { + this.data.filterData[data.type][data.arr].forEach((item) => { + if (item.id == data.id) { + if (item.active == data.id) { + item.active = 0; + } else { + item.active = data.id; + } + } + }); + } + + this.setData({ + filterData: this.data.filterData, + }); + }, + + /** + * 获取banner信息 + * + * + */ + getBannerList() { + let that = this; + wx.request({ + url: app.globalData.ip + "/daotian/banner/list", + success(res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + bannerList: res.data.data.banners, + }); + } + }, + }); + }, + + /** + * 获取图片模板信息 + * + * + */ + getTemplateList() { + let that = this; + wx.request({ + url: app.globalData.ip + "/daotian/image/list", + success(res) { + console.log(res); + if (res.data.status == 200) { + app.globalData.templateList = res.data.data.images; + that.setData({ + templateList: res.data.data.images, + }); + } + }, + }); + }, + + /** + * 获取频道列表 + * + * + */ + getchannelList() { + let that = this; + wx.request({ + url: app.globalData.ip + "/daotian/channel/list", + success(res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + navList: res.data.data.channels, + }); + } + }, + }); + }, + /** + * 清除筛选信息 + * + * + */ + clearFilter1(e) { + let middleList = JSON.parse(JSON.stringify(this.data.copyList)); + let type = e.currentTarget.dataset.type; + let filterData = this.data.filterData; + console.log(type); + if (type == 2) { + filterData = { + ...filterData, + classifyList: middleList.classifyList, + }; + this.setData({ + selectBrandList: [], + }); + } else if (type == 1) { + filterData = { + ...filterData, + jobFilter: middleList.jobFilter, + }; + this.setData({ + selectJobList: [], + }); + } else if (type == "outerClear") { + filterData = middleList; + this.setData({ + selectJobList: [], + selectBrandList: [], + firstMenu: "排序", + secondMenu: "不限", + sexid: -1, + activez: "zuigao", + innerFilter: false, + }); + } else if (type == "innerclear") { + filterData = middleList; + this.setData({ + selectJobList: [], + selectBrandList: [], + firstMenu: "排序", + secondMenu: "不限", + sexid: -1, + activez: "zuigao", + innerFilter: false, + }); + } + console.log(filterData); + this.setData({ + filterData, + leftShow: false, + recordList: [], + whichOneShow: "", + scrollTo: "sticky", + }); + if (this.data.choiceCollect == 0) { + this.data.storeJobListSearchForm.ucj = 0; + } else { + this.data.storeJobListSearchForm.ucj = 1; + } + this.toList(); + + // this.getJobList(); + }, + /** + * 点击确认按钮 + * + * + */ + toList() { + let that = this; + let innerFilter = false; + console.log(this.data.filterData); + let formSearch = { + pageNum: 1, + pageSize: 20, + }; + let filter = this.data.filterData; + for (var k in filter) { + if (k != "jobFilter") { + let jobCategoryArr = []; + filter[k].forEach((item) => { + if (item.active != 0) { + if (k == "price") { + if (item.name == "8000以上") { + formSearch.monthlyPayStr = "8001-20000"; + } else { + formSearch.monthlyPayStr = item.name; + } + } else if (k == "sex") { + formSearch.sex = item.id; + if (item.id == -1) { + this.data.secondMenu = "不限"; + } else if (item.id == 1) { + this.data.secondMenu = "男生"; + innerFilter = true; + } else if (item.id == 2) { + this.data.secondMenu = "女生"; + innerFilter = true; + } + this.setData({ + sexid: item.id, + secondMenu: this.data.secondMenu, + }); + } else if (k == "classifyList") { + jobCategoryArr.push(item.id); + if (jobCategoryArr.length > 0) { + innerFilter = true; + } + } + } + }); + formSearch.jobCategoryLabelIds = jobCategoryArr.join(); + } else { + let totalArr = [...filter["jobFilter"].tagArray0, ...filter["jobFilter"].tagArray1, ...filter["jobFilter"].tagArray2, ...filter["jobFilter"].tagArray3, ...filter["jobFilter"].tagArray4]; + let jobSpecialArr = []; + console.log(totalArr); + totalArr.forEach((item) => { + if (item.active != 0) { + jobSpecialArr.push(item.id); + } + }); + console.log(jobSpecialArr); + if (jobSpecialArr.length > 0) { + innerFilter = true; + } + console.log(jobSpecialArr.join(",")); + formSearch.jobSpecialLabelIds = jobSpecialArr.join(","); + } + } + console.log(formSearch); + + that.data.storeJobListSearchForm = { ...that.data.storeJobListSearchForm, ...formSearch }; + if (this.data.choiceCollect == 0) { + that.data.storeJobListSearchForm.ucj = 0; + } else { + that.data.storeJobListSearchForm.ucj = 1; + } + console.log(that.data.storeJobListSearchForm); + that.setData({ + recordList: [], + leftShow: false, + innerFilter, + whichOneShow: "", + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.loginOut(); + that.getJobList(); + }, + /** + * 智能匹配结束 + * + * + */ + onTabClick(e) { + const index = e.detail.index; + this.setData({ + activeTab: index, + }); + }, + + onChange(e) { + const index = e.detail.index; + this.setData({ + activeTab: index, + }); + }, + + findLocation() { + var that = this; + wx.getLocation({ + type: "gcj02", + success(res1) { + console.log("获取位置2"); + console.log(res1); + app.globalData.lng = res1.longitude; + app.globalData.lat = res1.latitude; + }, + fail() {}, + }); + }, + + emptyMethod(e) { + console.log(e); + }, + chooseIdCard() { + var that = this; + if (that.data.agencyStatus != 1) { + this.setData({ + iosDialog: true, + }); + return; + } + wx.chooseImage({ + count: 1, + sizeType: ["original", "compressed"], + sourceType: ["album", "camera"], + success(res) { + console.log(res); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&imgUrl=${res.tempFilePaths[0]}`, + }); + // that.uploadIdcardImg(res); + }, + }); + }, + navigatorToRecord() { + if (this.data.agencyStatus != 1) { + this.setData({ + iosDialog: true, + }); + return; + } + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1`, + }); + }, + PageScroll(e) { + let that = this; + const query = wx.createSelectorQuery().in(this); + query + .select(".sticky") + .boundingClientRect(function (res) { + // console.log(res); + if (res.top <= 5) { + that.setData({ + isScrollTop: true, + }); + } else if (res.top > 0 && res.top < 90) { + that.setData({ + isScrollTop: false, + }); + } else if (res.top >= 90) { + that.setData({ + isScrollTop: false, + }); + } + }) + .exec(); + }, + onShow() { + let that = this; + that.data.storeJobListSearchForm.pageNum = 1; + wx.setStorageSync("BILLFROM", "firstBill"); + + // wx.showTabBar({ + // success(e) {}, + // }); + // let index = 1; + // that.setData({ + // placeholderText: that.data.swiperTextList[0], + // }); + // setInterval(() => { + // that.data.placeholderText = that.data.swiperTextList[index % that.data.swiperTextList.length]; + // that.setData({ + // placeholderText: that.data.placeholderText, + // }); + // index++; + // }, 5000); + if (wx.getStorageSync("FROMCITY")) { + try { + var searchCityParamStorage = wx.getStorageSync("searchCityParamStorage"); + if (searchCityParamStorage) { + console.log("searchCityParamStorage======", searchCityParamStorage); + that.data.storeJobListSearchForm.cityName = searchCityParamStorage.name; + if (app.isEmptyCheck(searchCityParamStorage.name)) { + that.data.storeJobListSearchForm.cityName = "全国"; + } + + that.setData({ + searchCityParamStorage: searchCityParamStorage, + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.setData({ + recordList: [], + }); + this.getJobList(); + } + } catch (e) { + console.log("获取缓存设置的查询职位列表参数错误:", e); + } + wx.removeStorageSync("FROMCITY"); + }else{ + that.setData({ + recordList: [], + }); + that.getJobList(); + } + if (typeof this.getTabBar === "function" && this.getTabBar()) { + this.getTabBar().setData({ + selected: 0, + isShow: true, + }); + } + wx.setStorageSync("comeFromPage", "index"); + + this.setData({ + storeJobListSearchForm: that.data.storeJobListSearchForm, + isLogin: app.globalData.isLogin, + recordBillType: "", + }); + console.log(app.globalData); + + setTimeout(() => { + if (app.globalData.isLogin) { + that.setData({ + agencyStatus: app.globalData.loginUserInfo.agencyStatus, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + userInfo: app.globalData.loginUserInfo, + serviceInfo: app.globalData.serviceInfo, + }); + console.log(app.globalData.loginUserInfo); + } else { + that.setData({ + serviceInfo: app.globalData.serviceInfo, + }); + this.wxLogin(); + } + }, 100); + console.log(app.globalData.headers); + // if (that.data.inputVal != "搜索工作") { + // console.log(that.data.inputVal); + // that.setData({ + // recordList: [], + // }); + + // that.getJobList(); + // } + + wx.removeStorage({ + key: "townsManInfo", + }); + wx.removeStorage({ + key: "townsManInfoJob", + }); + + /*this.wxLogin(); + let res = wx.getStorageSync({ + key: "storeJobId" + }); //详情页返回 + + if (app.isEmptyCheck(res.data)) { + this.setData({ + recordList: [] + }); + } else { + wx.removeStorageSync({ + key: "storeJobId" + }); + } + + console.log("on show"); + this.getHopeJobLabels(); + var reset = true;*/ + that.getTemplateList(); + that.searchAnimate(); + + }, + collectedStoreJobList() { + var that = this; + + wx.request({ + url: app.globalData.ip + "/store/job/collected/list?ucj=1", + method: "GET", + data: {}, + header: app.globalData.headers, + success: function (res) { + console.log(res); + let collectList = res.data.data.recordList; + let jobs = that.data.recordList; + if (collectList != null && collectList != "" && collectList != undefined && collectList.length != 0 && jobs != null && jobs != "" && jobs != undefined && jobs.length != 0) { + for (var j = 0; j != jobs.length; ++j) { + jobs[j].collected = 2; + } + for (var i = 0; i != collectList.length; ++i) { + for (var j = 0; j != jobs.length; ++j) { + if (collectList[i].storeJobId - jobs[j].id == 0) { + jobs[j].collected = 1; + break; + } + } + } + that.setData({ + recordList: jobs, + }); + } + }, + fail: function (res) {}, + }); + }, + getHopeJobLabels() { + var that = this; + wx.request({ + url: app.globalData.ip + "/labels/findAllHopeJobLabels", + // ?category=4 + method: "GET", + data: {}, + success: function (res0) { + console.log("感兴趣职位 ↓↓↓"); + console.log(res0); + if (res0.data.data != null) { + res0.data.data.forEach((item, index) => { + item["title"] = item.name; + item["checked"] = false; + + if (index == 0 || index == 1) { + item["checked"] = true; + } + }); + } + + that.setData({ + labelItems: res0.data.data == null ? [] : res0.data.data, + }); + that.initData(); + console.log("感兴趣职位 赋值title↓↓↓"); + console.log(res0); + }, + fail: function (res) { + console.log(res); + wx.showToast({ + title: "获取失败", + icon: "none", + duration: 2000, + }); + }, + }); + }, + makePhoneCall() { + var that = this; + wx.makePhoneCall({ + phoneNumber: "13937184434", + }); + }, + goScreen() { + wx.navigateTo({ + url: "../screen/index", + }); + }, + goCity() { + let that = this; + + wx.navigateTo({ + url: "../city/index", + }); + }, + initData() { + var that = this; + try { + // 获取手机基础信息(头状态栏和标题栏高度) + let systemInfo = wx.getSystemInfoSync(); + let getMenuButtonBoundingClientRect = wx.getMenuButtonBoundingClientRect(); + console.log(wx.getMenuButtonBoundingClientRect()); + this.setData({ + systemInfo, + getMenuButtonBoundingClientRect, + }); + } catch (e) { + console.log(e); + + wx.alert({ + title: "温馨提示", + content: "onLoad 执行异常", + }); + } + let res0 = wx.getStorageSync("checkedlabelItems"); + + console.log(app.isNotEmptyCheck(res0.data)); + that.data.tabs2 = [ + { + name: "打勾推荐", + category: -1, + id: 406, + checked: true, + title: "打勾推荐", + }, + ]; + + if (app.isNotEmptyCheck(res0.data)) { + for (var i = 0; i < res0.data.length; i++) { + res0.data[i]["title"] = res0.data[i].name; + // that.data.tabs2.push(res0.data[i]); + } + + console.log("获取缓存"); // res0.data.unshift(); + // console.log(res.data.unshift({name: "打勾推荐", category: 3, id: 406, checked: true, title: "打勾推荐"})); + } else { + console.log("无感兴趣职位 push两个职位 ↓↓↓"); + console.log(that.data.labelItems); + that.data.labelItems.forEach((item) => { + if (item.name == "理货员" || item.name == "餐饮服务员") { + // that.data.tabs2.push(item); + } + }); // that.data.tabs2.push(that.data.labelItems[0], that.data.labelItems[1]) + } + + that.setData({ + tabs2: that.data.tabs2, + }); + + let res = wx.getStorageSync("sex"); //性别 + if (app.isNotEmptyCheck(res.data)) { + that.data.storeJobListSearchForm.sex = res.data; + that.data.storeJobListSearchForm.pageNum = 1; + } else { + // res.data = []; + } + let res2 = wx.getStorageSync("checkedJobItems"); //筛选职位 + let workTypeStrCurr = ""; + if (app.isNotEmptyCheck(res2.data)) { + res2.data.forEach((item, index) => { + workTypeStrCurr += item.value + ","; + }); + + if (workTypeStrCurr.length > 0) { + workTypeStrCurr = workTypeStrCurr.substr(0, workTypeStrCurr.length - 1); + } + + that.data.storeJobListSearchForm.workTypeStr = workTypeStrCurr; + that.data.storeJobListSearchForm.pageNum = 1; + } else { + that.data.storeJobListSearchForm.workTypeStr = ""; + that.data.storeJobListSearchForm.pageNum = 1; + } + + console.log(res.data + "===" + res2.data); + + if (res.data == -1 && (res2.data == null || res2.data == "")) { + that.setData({ + chooseActive: false, + }); + } else { + that.setData({ + chooseActive: true, + }); + } + + // this.getJobList(); + }, + + getJobList() { + var that = this; + // debugger + that.setData({ + pageShow: false, + }); + return new Promise(function (resolve, reject) { + if (that.data.storeJobListSearchForm.sortTag == 2) { + //如果按照距离排序,拼接上坐标 + that.data.storeJobListSearchForm.lng = app.globalData.lng; + that.data.storeJobListSearchForm.lat = app.globalData.lat; + } + + console.log(that.data.inputVal); + that.data.storeJobListSearchForm.cityName = that.data.searchCityParamStorage.name; + if (app.isEmptyCheck(that.data.searchCityParamStorage.name)) { + that.data.storeJobListSearchForm.cityName = "全国"; + } + that.data.storeJobListSearchForm.keys = that.data.inputVal == "搜索工作" ? "" : that.data.inputVal; + // debugger; + wx.showLoading({ + title: "加载中...", + }); + console.log(that.data.storeJobListSearchForm); + wx.request({ + url: app.globalData.ip + "/overall/store/job/list", + method: "POST", + header: app.globalData.headers, + data: that.data.storeJobListSearchForm, + success: function (res) { + console.log("职位列表↓↓↓↓"); + console.log(res); + + that.setData({ + totalPage: res.data.data.pageCount, + currPage: res.data.data.currentPage, + }); + + setTimeout(function () { + that.setData({ + triggered: false, + }); + }, 1000); + if (res.data.data.recordList == null || res.data.data.recordList.length == 0 || res.data.data.recordList.length < that.data.storeJobListSearchForm.pageSize) { + var jobListTemp = commonUtil.disposeJobListData(res.data.data.recordList); + that.data.recordList = that.data.recordList.concat(jobListTemp); + + that.setData({ + recordList: that.data.recordList, + hasMoreData: false, + isTrigger: false, + }); + } else { + var jobListTemp = commonUtil.disposeJobListData(res.data.data.recordList); + that.data.recordList = that.data.recordList.concat(jobListTemp); + + that.setData({ + recordList: that.data.recordList, + hasMoreData: true, + isTrigger: false, + }); + } + + wx.hideLoading({ + success: (res) => {}, + }); + that.setData({ + loading: false, + pageShow: true, + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + resolve(); + that.getTag(); + + that.data.recordList.forEach((item, index) => { + // console.log(item); + if (app.isNotEmptyCheck(item.returnFeeType) || item.returnFeeType == "0" || item.returnFee == "0") { + item["fuWuFei"] = commonUtil.getReturnFeeTypeName1ById(item.returnFeeType, item.returnFee); + } else { + item["fuWuFei"] = ""; + } + // 简版弹窗通告显示 + if (item.id == that.data.currentJobDrawer.id) { + item["jobDesp"] = item.jobDesp.replace(/\*\*\*\*\*/g, "").split("————————")[0]; + // 展示用字段 + item["jobDesp1"] = item.jobDesp.replace("⚠", ""); + item["jobDesp1"] = item.jobDesp1.replace("[红包]", ""); + that.data.currentJobDrawer = { + ...item, + index: that.data.currentJobDrawer.index ? that.data.currentJobDrawer.index : null, + }; + } + }); + that.setData({ + recordList: that.data.recordList, + currentJobDrawer: that.data.currentJobDrawer, + }); + // if (that.data.recordList.length < res.data.data.recordCount) { + // that.setData({ + // hasMoreData: true, + // }); + // } else { + // that.setData({ + // hasMoreData: false, + // }); + // } + }, + }); + }); + }, + + onScrollRefresh() { + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.getJobList(); + }, + + getTag() { + let that = this; + let query = that.createSelectorQuery(); + query + .selectAll(".tttg") + .boundingClientRect() + .exec(function (res) { + res.forEach((item) => { + item.forEach((element, index) => { + if (element.width > 200) { + // that.data.recordList[index].isTagShow = true; + var age = "recordList[" + index + "].isTagShow"; + that.setData({ + [age]: true, + }); + } + }); + }); + // if(){ + + // } + // console.log(res); + }); + }, + + // 下拉加载更多 + onScrollToLower() { + console.log("===================================================="); + var that = this; + // if (app.globalData.isLogin) { + that.data.storeJobListSearchForm.pageNum = that.data.storeJobListSearchForm.pageNum + 1; + if (that.data.hasMoreData) { + that.getJobList(); + } + + this.setData({ + loadMore: "load", + }); + // } else { + + // } + + that.data.pullNum = that.data.pullNum + 1; + }, + + handleTabClick(e) { + var that = this; + var index = e.detail.index; + console.log(e.detail.index); + let categoryCurr = that.data.tabs2[index].category; // that.data.tabs2.forEach((item,index2) => { + // if (index == index2) { + // categoryCurr = item.category + // } + // if( index == 0){ + // categoryCurr = -1 + // } + // }) + + this.setData({ + // [tabsName]: index, + contentIndex: index, + }); + console.log(categoryCurr); + that.data.storeJobListSearchForm.jobClassify = categoryCurr; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + }); + that.getJobList(); + }, + /** + * 标准详情 + * + * + */ + goDetail(e) { + console.log(e); + var that = this; + // if (this.data.isLogin) { + wx.navigateTo({ + url: "../detail/index?storeJobId=" + e.currentTarget.dataset.id + "&wxCode=" + that.data.wxCode, + }); + // } else { + // wx.navigateTo({ + // url: "../login/index", + // }); + // } + }, + /** + * 简版抽屉 + * + * + */ + goDrawer(event) { + let that = this; + + console.log(event.currentTarget.dataset.item); + event.currentTarget.dataset.item["jobDesp"] = event.currentTarget.dataset.item.jobDesp.replace(/\*\*\*\*\*/g, "").split("————————")[0]; + // 展示用字段 + event.currentTarget.dataset.item["jobDesp1"] = event.currentTarget.dataset.item.jobDesp.replace("⚠", ""); + event.currentTarget.dataset.item["jobDesp1"] = event.currentTarget.dataset.item.jobDesp1.replace("[红包]", ""); + + // wx.hideTabBar({ + // success(e) { + this.getTabBar().setData({ + isShow: false, + }); + that.setData({ + currentJobDrawer: { + ...event.currentTarget.dataset.item, + index: event.currentTarget.dataset.index, + }, + drawerShow: true, + }); + // }, + // }); + + console.log(this.data.currentJobDrawer); + }, + copyClose() { + var that = this; + var contentInfo; + const query = wx.createSelectorQuery().in(this); + query + .select(".contactInfo") + .boundingClientRect(function (res) { + contentInfo = res.dataset.info; + var text = that.data.currentJobDrawer.jobDesp + contentInfo; + wx.setClipboardData({ + data: text, + success(res) { + wx.getClipboardData({ + success(res) { + console.log(res.data); // data + wx.showToast({ + title: "内容已复制", + icon: "none", + duration: 1500, + }); + }, + }); + }, + }); + }) + .exec(); + }, + // showDrawer() { + // this.setData({ + // }); + // }, + hideDrawer() { + let that = this; + this.getTabBar().setData({ + isShow: true, + }); + that.setData({ + drawerShow: false, + }); + // this.getJobList(); + // setTimeout(() => { + // wx.showTabBar({ + // success(e) {}, + // }); + // }, 300); + }, + goEnroll(e) { + console.log(e); + // wx.navigateTo({ + // url: "../newEnroll/index?applyType=0" + // }); + var that = this; + + wx.removeStorageSync("townsManInfo"); + wx.removeStorageSync("townsManInfoJob"); + wx.removeStorageSync("storeInfoJob"); + + // if(app.isNotEmptyCheck(wx.getStorage('townsManInfo'))){ + // wx.removeStorageSync('townsManInfo') + // } + // if(app.isNotEmptyCheck(wx.getStorage('townsManInfoJob'))){ + // wx.removeStorageSync('townsManInfoJob') + // } + // if(app.isNotEmptyCheck(wx.getStorage('storeInfoJob'))){ + // wx.removeStorageSync('storeInfoJob') + // } + // wx.removeStorageSync('townsManInfoJob') + console.log(app.globalData.loginUserInfo.tel); + wx.setStorageSync("jobDetailStorage", that.data.recordList[e.currentTarget.dataset.idx]); + let argument; + argument = JSON.stringify(e.currentTarget.dataset.info).replace(/\=|\&/g, "3D"); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + }, + wxLogin() { + var that = this; + wx.login({ + success(res) { + if (res.code) { + that.setData({ + wxCode: res.code, + }); + } else { + console.log("获取code失败!" + res.errMsg); + } + }, + }); + }, + changeRecordBillType(e) { + let that = this; + console.log(e); + that.setData({ + recordBillType: e.currentTarget.dataset.type, + }); + }, + toSmart() { + wx.navigateTo({ + url: "/pages/IDCardWithNFC/index", + }); + }, + getPhoneNumber(e) { + var that = this; + console.log(e); + console.log(e.detail.errMsg); + /*wx.setStorageSync({ + key: "jobDetailStorage", + data: that.data.recordList[e.currentTarget.dataset.idx] + });*/ + + wx.setStorageSync("jobDetailStorage", that.data.recordList[e.currentTarget.dataset.idx]); + + // console.log(e); + // console.log(e.detail.errMsg) + // console.log(e.detail.iv) + // console.log(e.detail.encryptedData) + if ("getPhoneNumber:ok" == e.detail.errMsg) { + //同意 + var iv = e.detail.iv; + var encryptedData = e.detail.encryptedData; + console.log(iv, "=-=========", encryptedData); + wx.checkSession({ + success() { + //session_key 未过期,并且在本生命周期一直有效 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: that.data.wxCode, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + app.globalData.openId = res.data.data.openId; + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + var collected = e.currentTarget.dataset.collected; + if (collected) { + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.doCollected(collected, e.currentTarget.dataset.jobid); + // that.collectedStoreJobList(); + }); + } else { + if (that.data.recordBillType == "photo" || that.data.recordBillType == "record") { + promise.then((res) => { + if (that.data.recordBillType == "photo") { + that.chooseIdCard(); + } else { + that.navigatorToRecord(); + } + }); + } else { + promise.then((res) => { + let argument; + argument = JSON.stringify(e.currentTarget.dataset.info).replace(/\=|\&/g, "3D"); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + }); + } + } + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + }, + fail() { + // session_key 已经失效,需要重新执行登录流程 + wx.login({ + success(res) { + if (res.code) { + console.log(res.code); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: res.code, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + var collected = e.currentTarget.dataset.collected; + if (collected) { + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.doCollected(collected, e.currentTarget.dataset.jobid); + }); + } else { + promise.then((res) => { + wx.navigateTo({ + url: "../enroll/index?applyType=1", + //url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber + }); + }); + } + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + } else { + console.log("获取手机号失败!" + res.errMsg); + } + }, + }); + }, + }); + } else { + //拒绝 + var collected = e.currentTarget.dataset.collected; + if (collected) { + try { + wx.setStorageSync("comeFromPage", "index"); + } catch (e) { + console.log("index-页面跳转,设置参数错误:", e); + } + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + wx.navigateTo({ + url: "../enroll/index?applyType=1", + }); + } + } + return false; + }, + getPhoneNumber1(e) { + var that = this; + console.log(e); + console.log(e.detail.errMsg); + + that.close(); + // console.log(e); + // console.log(e.detail.errMsg) + // console.log(e.detail.iv) + // console.log(e.detail.encryptedData) + + if ("getPhoneNumber:ok" == e.detail.errMsg) { + //同意 + var iv = e.detail.iv; + var encryptedData = e.detail.encryptedData; + wx.checkSession({ + success() { + //session_key 未过期,并且在本生命周期一直有效 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: that.data.wxCode, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.onScrollToLower(); + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + }, + fail() { + // session_key 已经失效,需要重新执行登录流程 + wx.login({ + success(res) { + if (res.code) { + console.log(res.code); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: res.code, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + } else { + console.log("获取手机号失败!" + res.errMsg); + } + }, + }); + }, + }); + } else { + //拒绝 + if (e.currentTarget.dataset.type != "close") { + try { + wx.setStorageSync("comeFromPage", "index"); + } catch (e) { + console.log("index-页面跳转,设置参数错误:", e); + } + + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + that.close(); + } + } + return false; + }, + getAgencyUserId(id) { + var that = this; + wx.request({ + url: app.globalData.ip + "/channel/contact/getAgencyUserId", + method: "GET", + header: app.globalData.header, + data: { + channelContactId: id, + }, + success: function (res) { + console.log("获取来源对应的代理人,来源ID:", id); + console.log(res); + try { + if (app.isNotEmptyCheck(res.data.data)) { + wx.setStorageSync("storageSyncAgencyUserId", res.data.data); + } + //先设置代理人缓存人再登录 + app.getLoginUserTokenInfo(); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + //先设置代理人缓存人再登录 + app.getLoginUserTokenInfo(); + } + }, + fail: function (res0) { + console.log("获取来源对应的代理人错误", id); + }, + }); + }, + collectPaste(e) { + var txt; + var that = this; + if (!this.data.isLogin) { + wx.navigateTo({ + url: "/pages/login/index", + }); + return; + } + var collected = e.currentTarget.dataset.collected; + var storeJobId = e.currentTarget.dataset.jobid; + that.doCollected(collected, storeJobId); + // console.log(collected); + // if(!this.data.isCollect){ + // that.setData({ + // isCollect: true, + // collectTxt:'已收藏' + // }) + // txt = '收藏成功' + // }else{ + // that.setData({ + // isCollect: false, + // collectTxt:'收藏' + // }) + // } + }, + doCollected(collected, storeJobId) { + var that = this; + var url = "/user/collect/job/add"; + if (collected - 1 == 0) { + url = "/user/collect/job/remove"; + } + console.log(app.globalData.headers); + //发起网络请求 + wx.request({ + url: app.globalData.ip + url, + data: { + storeJobId: storeJobId, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + var txt; + if (collected - 1 == 0) { + //取消收藏 + for (var i = 0; i != that.data.recordList.length; ++i) { + if (that.data.recordList[i].id - storeJobId == 0) { + that.data.recordList[i].collected = 2; + break; + } + } + txt = "取消收藏"; + that.data.currentJobDrawer.collected = 2; + + if (that.data.choiceCollect == 1) { + if (that.data.drawerShow) { + that.data.drawerShow = false; + } + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + drawerShow: that.data.drawerShow, + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } + } else { + //收藏 + for (var i = 0; i != that.data.recordList.length; ++i) { + if (that.data.recordList[i].id - storeJobId == 0) { + that.data.recordList[i].collected = 1; + break; + } + } + that.data.currentJobDrawer.collected = 1; + + txt = "收藏成功"; + } + + console.log(that.data.currentJobDrawer); + + that.setData({ + recordList: that.data.recordList, + currentJobDrawer: that.data.currentJobDrawer, + isLogin: app.globalData.isLogin, + }); + wx.showToast({ + icon: "none", + title: txt, + }); + }, + fail: function (res) { + console.log("操作失败"); + }, + }); + }, + getUserInfoBtn: function (e) { + console.log(e); + let that = this; + let type = e.currentTarget.dataset.type; + var collected = e.currentTarget.dataset.collected; + var storeJobId = e.currentTarget.dataset.jobid; + let idx = e.currentTarget.dataset.idx; + console.log(type); + wx.getUserProfile({ + desc: "用于完善会员资料", // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 + success: (res) => { + console.log(res); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/updateUserWechatInfo", + data: { + nickName: res.userInfo.nickName, + avatarUrl: res.userInfo.avatarUrl, + gender: res.userInfo.gender, + country: res.userInfo.country, + province: res.userInfo.province, + city: res.userInfo.city, + }, + method: "POST", + header: app.globalData.headers, + success: function (res) { + console.log(res); + app.globalData.hasUserInfo = 1; + that.setData({ + hasUserInfo: 1, + }); + that.doMenuClick(type, collected, storeJobId, idx); + }, + fail: function (res) { + that.doMenuClick(type, collected, storeJobId, idx); + }, + }); + }, + fail: (res) => { + console.log(res); + that.doMenuClick(type, collected, storeJobId, idx); + }, + }); + }, + doMenuClick: function (_type, _collected, _storeJobId, _idx) { + let that = this; + if (_type - 1 == 0) { + //点击全国 + that.goCity(); + } else if (_type - 2 == 0) { + //搜索 + } else if (_type - 3 == 0) { + //筛选 + that.goScreen(); + } else if (_type - 4 == 0) { + //收藏 + that.doCollected(_collected, _storeJobId); + } else if (_type - 5 == 0) { + //报名 + wx.setStorageSync("jobDetailStorage", that.data.recordList[_idx]); + wx.navigateTo({ + url: "../enroll/index?applyType=1&tel=" + app.globalData.loginUserInfo.tel, + }); + } + }, + changSign(e) { + let that = this; + console.log(e); + that.data.storeJobListSearchForm.pageNum = 1; + if (e.target.dataset.type == 0 && that.data.signType != 0) { + that.data.storeJobListSearchForm.signType = ""; + that.setData({ + signType: e.target.dataset.type, + recordList: [], + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } else if (e.target.dataset.type == 1 && that.data.signType != 1) { + that.data.storeJobListSearchForm.signType = 1; + that.setData({ + signType: e.target.dataset.type, + recordList: [], + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } else if (e.target.dataset.type == 2 && that.data.signType != 2) { + that.data.storeJobListSearchForm.signType = 2; + that.setData({ + signType: e.target.dataset.type, + recordList: [], + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } + }, + /** + * 收藏的切换 + * + * + */ + collectChange(e) { + let that = this; + if (that.data.isLogin || (!that.data.isLogin && e.currentTarget.dataset.id == 0)) { + if (e.currentTarget.dataset.id) { + that.data.choiceCollect = e.currentTarget.dataset.id; + that.data.storeJobListSearchForm.ucj = e.currentTarget.dataset.id; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + choiceCollect: that.data.choiceCollect, + storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + hasMoreData: false, + }); + that.getJobList(); + } + } else { + that.setData({ + recordList: [], + hasMoreData:false, + choiceCollect: 1, + }); + // } + } + }, + choiceFilter(e) { + var that = this; + // let str = that.data.activez + let str = e.currentTarget.dataset.id; + if (str == "all") { + that.data.storeJobListSearchForm.sortTag = 0; + that.setData({ + firstMenu: "排序", + // storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + } else if (str == "zuijin") { + //距离最近 + if (that.data.storeJobListSearchForm.lng && that.data.storeJobListSearchForm.lat) { + that.data.storeJobListSearchForm.sortTag = 2; + that.setData({ + firstMenu: "距离", + // storeJobListSearchForm: tha t.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + } else { + wx.getLocation({ + type: "gcj02", + success(res1) { + console.log("获取位置1"); + app.globalData.lng = res1.longitude; + app.globalData.lat = res1.latitude; + that.data.storeJobListSearchForm.lng = res1.longitude; + that.data.storeJobListSearchForm.lat = res1.latitude; + that.data.storeJobListSearchForm.sortTag = 2; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + firstMenu: "距离", + storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + // var promise = new Promise(function(resolve,reject){ + // that.getJobList(); + // }); + }, + fail() { + console.log("获取位置失败,打开位置设置界面"); + // wx.openSetting({ + // success(res) { + // console.log(res.authSetting); + // if (res.authSetting["scope.userLocation"]) { + // wx.getLocation({ + // type: "gcj02", + // success(res1) { + // console.log("获取位置2"); + // console.log(res1); + // app.globalData.lng = res1.longitude; + // app.globalData.lat = res1.latitude; + + // that.data.storeJobListSearchForm.sortTag = 2; + // that.data.storeJobListSearchForm.lng = res1.longitude; + // that.data.storeJobListSearchForm.lat = res1.latitude; + // that.data.storeJobListSearchForm.pageNum = 1; + // that.setData({ + // storeJobListSearchForm: that.data.storeJobListSearchForm, + // recordList: [], + // }); + // that.getJobList().then(() => { + // that.setData({ + // siv: "menu", + // }); + // }); + // }, + // fail() {}, + // }); + // } + // }, + // }); + }, + }); + } + } else if (str == "zuigao") { + //工价最高 + that.data.storeJobListSearchForm.sortTag = 1; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + storeJobListSearchForm: that.data.storeJobListSearchForm, + firstMenu: "排序", + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + } + that.setData({ + activez: str, + }); + that.setData({ + whichOneShow: "", + siv: "", + }); + // setTimeout(() => { + // that.setData({ + // whichOneShow: "", + // }); + // console.log(this.data.whichOneShow); + // console.log("112233"); + // }, 1); + }, + /** + * 清除所有的筛选项 + * + * + */ + clearFilter() { + let that = this; + that.data.jobSpecialLabelList.forEach((item) => { + // console.log(item); + if (item.checked) { + item.checked = false; + } + }); + that.data.brandList.forEach((item) => { + if (item.checked) { + item.checked = false; + } + }); + that.data.storeJobListSearchForm.jobSpecialLabelIds = ""; + // that.data.storeJobListSearchForm.ucj = + // that.data.storeJobListSearchForm.brandIds = ""; + that.data.storeJobListSearchForm.jobCategoryLabelIds = ""; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + jobSpecialLabelList: that.data.jobSpecialLabelList, + tagArray0: that.data.tagArray0, + tagArray1: that.data.tagArray1, + tagArray2: that.data.tagArray2, + tagArray3: that.data.tagArray3, + brandList: that.data.brandList, + selectJobList: [], + selectBrandList: [], + recordList: [], + whichOneShow: "", + firstMenu: "排序", + secondMenu: "不限", + sexid: -1, + activez: "zuigao", + }); + // that.choiceFilter({ + // currentTarget: { + // dataset: { + // id: "all", + // }, + // }, + // }); + // that.choiceSex({ + // currentTarget: { + // dataset: { + // id: "-1", + // }, + // }, + // }); + that.getJobList(); + }, + scroll(e) { + return false; + }, + stoptap(e) { + return false; + }, + changeContact() { + console.log(2123); + wx.navigateTo({ + url: `/pages/configAnnunciate/index`, + }); + }, + /** + * 简版报名 + * + * + */ + recordBill(e) { + if (!this.data.isLogin) { + wx.navigateTo({ + url: "/pages/login/index", + }); + return; + } + console.log(e.currentTarget.dataset.job); + console.log(123); + let middleInfo = e.currentTarget.dataset.job; + let info = JSON.stringify({ + id: middleInfo.id, + jobName: middleInfo.jobName, + storeName: middleInfo.storeName, + aliasName: middleInfo.aliasName, + storeId: middleInfo.storeId, + }); + console.log(info); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${info}`, + }); + // wx.navigateTo({ + // url: `../newEnroll/enroll/index?applyType=1&info=${info}`, + // }); + }, + imageLoad() { + this.setData({ + isLoading: false, + }); + }, + closeDialog() { + this.setData({ + iosDialog: false, + }); + }, + showLeft() { + this.setData({ + leftShow: true, + }); + }, + hideLeft() { + this.setData({ + leftShow: false, + whichOneShow: "", + }); + console.log(this.data.innerFilter); + if (!this.data.innerFilter) { + this.setData({ + filterData: JSON.parse(JSON.stringify(this.data.copyList)), + }); + } + }, + /** + * 阻止滑动穿透 + * + * + */ + modalMove() { + return false; + }, + /** + * 获取搜索轮播的关键字索引 + * + * + */ + getSwiperIndex(e) { + // console.dir(e); + if (e.detail.current) { + this.setData({ + placeholderText: this.data.swiperTextList[e.detail.current], + }); + // console.log(this.data.swiperTextList[e.detail.current]); + // console.log(this.data.placeholderText); + } + }, + onPageScroll(e) {}, + drawerTouchStart(event) { + this.handletouchtart(event); + }, + drawerTouchMove(event) { + let tx = this.handletouchmove(event); + console.log(tx); + if (tx.ty > 100) { + this.hideDrawer(); + } + }, + filterTouchMove(event) { + let tx = this.handletouchmove(event); + if (tx.tx < -100) { + this.setData({ + leftShow: false, + }); + } + }, + filterTouchStart(event) { + this.handletouchtart(event); + }, + listTouchMove(event) { + if (event.detail.scrollTop - this.data.listPosition > 15 && this.data.halfHide == false) { + this.setData({ + halfHide: true, + }); + } else if (event.detail.scrollTop - this.data.listPosition < -15 && this.data.halfHide == true) { + this.setData({ + halfHide: false, + }); + } + if (event.detail.scrollTop > 200) { + // wx.setTabBarItem({ + // index: 0, + // text: "回顶部", + // iconPath: "/assets/images/ysd.png", + // selectedIconPath: "/assets/images/top.png", + // success: (e) => {}, + // fail(e) { + // console.log(e); + // }, + // }); + } else if (event.detail.scrollTop <= 200) { + // wx.setTabBarItem({ + // index: 0, + // text: "首页", + // iconPath: "/assets/images/ysd.png", + // selectedIconPath: "/assets/images/ysd1.png", + // success: (e) => {}, + // fail(e) { + // console.log(e); + // }, + // }); + } + // console.log(event); + }, + listTouchStart(event) { + this.data.listPosition = event.detail.scrollTop; + }, + + /** + * 页面滑动事件监听 + * + * + */ + handletouchmove: function (event) { + let that = this; + var currentX = event.touches[0].pageX; + var currentY = event.touches[0].pageY; + var tx = currentX - this.data.lastX; + var ty = currentY - this.data.lastY; + var text = ""; + //左右方向滑动 + if (Math.abs(tx) > Math.abs(ty)) { + return { + tx, + }; + } + //上下方向滑动 + else { + return { + ty, + }; + } + }, + // 触摸开始事件 + handletouchtart: function (event) { + this.data.lastX = event.touches[0].pageX; + this.data.lastY = event.touches[0].pageY; + }, + searchAnimate() { + let that = this; + wx.createSelectorQuery() + .select("#listBox") + .fields( + { + scrollOffset: true, + size: true, + }, + (res) => { + this.animate( + "#searchInputBox", + [ + { + // paddingTop: "10px", + // paddingBottom: "10px", + top: "10px", + width: "100%", + // height: "40px", + // backgroundColor: "#f5f5f5", + }, + { + // paddingTop: that.data.statusBarHeight + (that.data.navigationBarHeight - that.data.menuButtonHeight) / 2 + "px", + // paddingBottom: "30px", + top: "-40px", + width: "70%", + // height: "84px", + // backgroundColor: "#ff4400", + // paddingTop:'100px', + }, + ], + 800, + { + scrollSource: "#listBox", + timeRange: 1000, + startScrollOffset: 0, + endScrollOffset: 60, + } + ); + this.animate( + "#searchInput", + [ + { + backgroundColor: '#fff' + }, + { + backgroundColor: '#f5f5f5' + }, + ], + 500, + { + scrollSource: "#listBox", + timeRange: 1000, + startScrollOffset: 0, + endScrollOffset: 90, + } + ); + this.animate( + "#sticky", + [ + { + marginTop: "56px", + // top: "0px", + }, + { + marginTop: "0px", + // top: "-272px", + }, + ], + 2000, + { + scrollSource: "#listBox", + timeRange: 2000, + startScrollOffset: 50, + endScrollOffset: 362, + } + ); + this.animate( + ".daotian", + [ + { + opacity: "1", + }, + { + opacity: "0", + }, + ], + 1000, + { + scrollSource: "#listBox", + timeRange: 1000, + startScrollOffset: 0, + endScrollOffset: 90, + } + ); + } + ) + .exec(); + }, + + // tabbar点击监听 + onTabItemTap(e) { + console.log(e); + let that = this; + that.setData({ + topNum: 1, + }); + }, + onHide() { + this.setData({ + whichOneShow: "", + // topNum: 1, + }); + }, + onUnload() { + console.log("destory"); + }, + goList() { + wx.navigateTo({ + url: "/pages/filterPage/index", + }); + }, +}); diff --git a/pages/index/index.json b/pages/index/index.json new file mode 100644 index 0000000..5b28bc4 --- /dev/null +++ b/pages/index/index.json @@ -0,0 +1,3 @@ +{ + "navigationStyle":"custom" +} \ No newline at end of file diff --git a/pages/index/index.wxml b/pages/index/index.wxml new file mode 100644 index 0000000..e748125 --- /dev/null +++ b/pages/index/index.wxml @@ -0,0 +1,104 @@ + + + 报名助手 + + + + + + + + + + {{item}} + + + + + + 搜索 + + + + + + + + + + + + + + + + + + + + + + {{item.jobName || item.aliasName}} + {{item.salaryClassifyValue}} + + + + {{item.monthlyPay}}元/月,{{item.age}} + + + + + + + 郑州一才工作 + + + 1分钟前 + + + + + + + + + + + + + + + 没有符合条件的职位 + + + 已经到底啦~ + 上滑加载更多 + + + + + 暂无记录 + + + + + + + diff --git a/pages/index/index.wxss b/pages/index/index.wxss new file mode 100644 index 0000000..e12174c --- /dev/null +++ b/pages/index/index.wxss @@ -0,0 +1,1474 @@ +/* required by usingComponents */ +/* @import "../../appcommon.wxss"; */ +/* @import "../index/index.wxss"; */ +/* @import "./filtercss.wxss"; */ +/* @font-face{ +  font-family:YaHeiConsolasHybrid; +  src:url('https://matripecandy.oss-cn-beijing.aliyuncs.com/1shoudanImg/DingTalk%20Sans.ttf'); +  } */ +/* @font-face { + font-family: "DingTalk"; + src: url("https://matripecandy.oss-cn-beijing.aliyuncs.com/1shoudanImg/DingTalk%20Sans.ttf"); 服务器上ttf文件的路径,记得配置域名权限 + font-weight: normal; + font-style: normal; + font-display: swap; +} */ +page { + /* position: fixed; */ + background-color: #f5f5f5; +} +.container { + /* position: relative; */ + /* display: flex; */ + height: 100vh; + width: 100%; + padding-bottom: 0 !important; + /* flex-direction: column; */ +} + +#listBox { + position: relative; + height: 100vh; + /* background-color: #f5f5f5; */ + /* background: linear-gradient(to bottom, #00B666, #fff) */ + + background: linear-gradient(#00B666 0%,#f5f5f5 15%); + /* display: none; */ + /* width: 90%; */ +} +.standardList { + flex: 1 !important; + overflow: hidden; + /* min-height: calc(100vh - 214px); */ +} +.searchBar { + height: 50px; + line-height: 50px; + padding-left: 12px; + padding-right: 8px; + background-color: #f5f5f5; +} +.searchBar .weui-search-bar__form { + flex: unset; + width: 210px !important; + /* width: 160px !important; */ + height: 32px; + /* left: 10px; */ + position: relative; + box-shadow: 0px 0px 8px 0px rgba(206, 206, 206, 0.5); +} +.searchBar .weui-search-bar__form .weui-search-bar__box { + height: 32px !important; + line-height: 32px !important; + padding-left: 28px; +} +.searchBar .weui-search-bar__form .weui-search-bar__box .icon-guanbi11 { + position: absolute; + right: 58px; +} +.weui-search-bar__form .icon-sousuo { + left: 8px; +} +.searchBar .typeChange { + display: flex; + align-items: center; + /* padding-top: 6px; */ +} +.searchBar .typeChange image { + border-radius: 24px; + box-shadow: 0px 2px 2px 0px rgba(214, 214, 214, 0.5); +} +.tarbarText { + font-size: 18px; + font-weight: 400; + color: #666666; + /* line-height: 25px; */ +} +.tarbarText.active { + font-weight: 601; + color: #000000; +} +.tarbar { + text-align: center; +} +.tarbarImg { + width: 22px; + height: 5px; + display: block; + margin: 0 auto; + margin-bottom: 12px; +} +.newSearch { + width: 88px; + height: 32px; + background: #ffffff; + border-radius: 16px; + position: relative; + top: 50%; + transform: translateY(-50%); + float: right; + font-size: 16px; + font-weight: 600; + text-align: center; + color: #999; + line-height: 32px; + /* margin-top: 12px; */ +} + +.lNum { + opacity: 0.6; + font-size: 32px; + font-weight: 400; + text-align: right; + color: var(--color-ysd); + line-height: 39px; + margin-right: 12px; + font-family: "DingTalk"; +} +.f10 { + font-size: 10px !important; +} +.jobTitle2 { + font-size: 16px; + color: #333; + font-weight: bold; + line-height: 24px; +} +.jobText.bz { + height: 20px; + padding: 0px 8px; + background-color: var(--color-ysd); + border-radius: 10px; + color: #fff; + line-height: 20px; +} +.jobText { + line-height: 24px; +} +.daili { + width: 30px; + height: 16px; + background: #fff3f3; + border: 1px solid #fea39f; + border-radius: 2px; + font-size: 12px; + font-weight: 400; + text-align: center; + color: #f6343e; + line-height: 16px; + float: right; + margin-top: 4px; +} +.ahoverd { + background-color: #f5f5f5 !important; +} +.fixedNum { + position: fixed; + right: 16px; + bottom: 32px; + z-index: 999; + width: 60px; + height: 60px; + background: #ffffff; + border-radius: 50%; + box-shadow: 0px 2px 8px 0px rgba(169, 169, 169, 0.5); + text-align: center; + line-height: 60px; +} + +.p024 { + padding: 0 24px; +} +.demo-steps-class { + margin: 20px 0; + border-bottom: 1px solid #e5e5e5; +} + +.demo-btn-container { + display: flex; + justify-content: space-between; + margin: 20px; +} + +.demo-btn { + width: 47%; +} + +.atd-config-transparent-header { + background-color: #fff; +} + +/*.atd-config-transparent-header .content-top { +background-image: url('https://gw.alipayobjects.com/mdn/rms_7a3c08/afts/img/A*13jpTYrECqYAAAAAAAAAAABjARQnAQ'); +background-repeat: no-repeat; +background-size: 100% 100%; +-moz-background-size: 100% 100%; +width: 100vw; +height: 746rpx; +color: #fff; +}*/ + +/* .atd-config-transparent-header .content-top{ +color: #000; +} */ + +.atd-config-transparent-header .content-top .statusBar { + background-color: transparent; + display: flex; + align-items: center; + justify-content: center; +} + +.atd-config-transparent-header .content-top .titleBar { + /* background-color: #108ee9; */ + display: flex; + align-items: center; + justify-content: left; + padding-left: 32rpx; +} + +.tab-content { + display: flex; + justify-content: center; + align-items: center; + padding: 40rpx; + box-sizing: border-box; + /* 如果 swipeable="{{true}}",需要增加 height */ + /* height: 350px; */ + /* 为了体现 stickyBar 的作用而增加的 tab-content 的高度 */ + height: 100vh; +} + +/*.atd-config-transparent-header .content-bottom { +margin-top: 1000rpx; +background-image: url('https://gw.alipayobjects.com/mdn/rms_7a3c08/afts/img/A*rFctR6myHjcAAAAAAAAAAABjARQnAQ'); +background-repeat: no-repeat; +background-size: 100% 100%; +-moz-background-size: 100% 100%; +width: 100vw; +height: 746rpx; +} +*/ + +.atd-config-transparent-header .content-top .titleBar { + background-color: #fff; +} + +.am-tabs-content-wrap { + height: auto !important; +} + +.atd-config-transparent-header .content-top .titleBar { + padding-left: 0; +} + +.am-tabs-tab-bar-wrap { + width: calc(100vw - 120px); +} + +.latest { + color: rgba(0, 0, 0, 0.65); +} + +.latest .active { + color: rgba(0, 0, 0, 0.85); + font-weight: 601; +} + +.secondSelect { + padding: 8px 20px; +} + +.zoneSelect .dib { + font-size: 14px; + margin-left: 8px; + background-color: rgba(0, 0, 0, 0.06); + color: rgba(0, 0, 0, 0.65); + padding: 4px; +} + +.zoneSelect .dib.active { + background-color: rgba(254, 99, 63, 0.15); + color: #fe633f; +} + +.am-tabs-bar { + padding-left: 20px; +} + +.navigator { + /* position: sticky; */ + /* width: 100vw; + top: 0; + left: 0; */ + /* z-index: 1000; */ +} +.navigatorBar { + position: relative; + letter-spacing:1px; + /* z-index: 999; */ + background-color: var(--color-ysd); + padding-bottom: 8px; +} +.navigatorBar .tabs { + position: relative; + left: 50%; + font-size: 35rpx; + transform: translateX(-50%); + justify-content: center; + box-sizing: border-box; +} + +.navigatorBar .tabs > view { + flex: 1; + line-height: 26px; + width: 56px; + color: #666; + text-align: center; +} +.navigatorBar .tabs .active { + height: 26px; + background-color: var(--color-ysd); + color: #fff; + border-radius: 6px; +} +.weui-tabs-swiper { + display: none; +} + +.weui-tabs-bar__item { + margin: 12px 8px; +} + +.weui-tabs-bar__title { + color: rgba(0, 0, 0, 0.65); +} + +.weui-tabs-bar__title.tab-bar-title__selected { + font-weight: bolder; + color: rgba(0, 0, 0, 0.85); + border-bottom-color: #fe633f !important; +} + +.dian { + float: left; + position: relative; + line-height: 36px; + left: 20px; + box-shadow: -30px 0 30px #fff; +} + +.weui-cell_access .weui-cell__ft { + padding-right: 16px; +} + +.weui-tabs { + padding-left: 12px; +} + +.mt6 { + margin-top: 6px; +} +.mb6 { + margin-bottom: 5px; +} +.storeName{ + max-width: 360rpx; +} +.logoClass { + width: 52px; + height: 52px; + max-width: 100%; + /* border: 1rpx solid #ddd; */ + margin-bottom: 8px; + border-radius: 4px; +} +.pendant { + position: absolute; + width: 52px; + height: 52px; + left: 0; + top: 0; +} +.f20.c633.lh1 { + font-weight: 601; +} +.hourPay { + /* f18 c633 lh1 flex-1 tr */ + font-size: 18px; + line-height: 1; + flex: 1; + text-align: right; + white-space: nowrap; + color: var(--color-f40); + font-weight: 601; +} +.weui-btn { + margin-left: 0 !important; + margin-right: 0 !important; +} +.weui-btn_primary { + border-radius: 3px; + font-size: 12px; + margin-top: 0; + font-weight: 400; + width: 48px; + height: 18px; + border-radius: 9px; + /* line-height: 18px; */ + background-color: var(--color-ysd); + margin-bottom: 0; +} + +.tttg { + /* max-width: calc(100vw - 200px); */ + /* float: left; */ + display: flex; + justify-content: start; + align-items: center; + width: 63%; + white-space: nowrap; +} +.tttg .t-icon { + display: block; + width: 32px; + height: 20px; + margin-right: 6px; +} +/* .tttg .tagsLi { + display: none; +} */ + +.tttg.isTagShow > view:nth-child(n + 4) { + display: none; +} +/* .tttg .tagsLi:nth-child(-n + 3) { + display: inline-block; +} */ +.tagsLi { + display: inline-block; + height: 21px; + box-sizing: border-box; + font-size: 12px; + font-weight: 400; + color: #666; + background: #f1f1f1; + border-radius: 2px; + padding: 0 4px 0px; + line-height: 20px; + margin-right: 6px; + margin-bottom: 0px; + position: relative; + top: 1px; + /* border: 1rpx solid transparent; */ +} + +.tagsLi.spli { + color: var(--color-ysd); + background-color: rgba(234, 67, 58, 0.2); +} + +.f12.c045.flex-1.mb4 { + margin-bottom: 7px; +} +.prImg { + position: relative; + display: flex; + flex-direction: column; + justify-content: space-around; + width: 53px; + /* height: 52px; */ + margin-right: 8px; +} +button.collect { + /* position: absolute; */ + /* left: 0; */ + /* top: 61px; */ + /* bottom: -1px; */ + padding: 0 3px; + /* max-width: 52px; */ + width: 52px; + border: 1px solid rgb(236, 235, 235); + border-radius: 2px; + height: 20px; + box-sizing: border-box; + text-align: center; + margin: 0; + padding: 0px; + background-color: #fff; + line-height: 20px; + display: flex; + align-items: center; + justify-content: center; +} +button.collect icon { + display: block; + font-size: 10px; +} +button.collect icon::before { + display: block; +} +.cf { + color: #fff; +} + +.f15 { + font-size: 15px !important; +} + +.p1020 { + padding: 10px; +} +#searchBar .cf, +#searchBar .cf085 { + color: #fff; +} + +.innerSwiper { + border-radius: 8px; + overflow: hidden; +} + +.jobCenter { + height: calc(100vh); + padding: 0px; + margin-top: 10px; + border-radius: 8px; + position: relative; + z-index: 999; + background-color: #fff; + box-sizing: border-box; +} +.jobCenterActive { + /* height: calc(100vh); */ + /* padding: 0 10px; + margin-top:10px; */ + /* border-radius: 8px; */ + position: relative; + z-index: 998; + background-color: #f5f5f5; + box-sizing: border-box; +} +.jobOne { + /* margin-top: 10px; */ + padding: 0 10px; + line-height: 1; + /* margin-top: -1rpx; */ +} + +.jobIn { + /* border-bottom: 1px solid #f3f3f3; */ + padding: 16px 0px; + /* background-color: #fff; */ + /* border-radius: 4px; */ +} +/* .jobOne:nth-of-type(1) .jobIn { + border-top: 1rpx solid #f00; +} */ +/* .jobOne:nth-child(1) .jobIn { + border-top: 0; +} */ +.icon-weixuanzhong2 { + color: #999; + font-size: 6px; + margin-left: 2px; + line-height: 36px; + position: relative; + top: -2px; +} +.csbf { + /* position: relative; */ + padding: 0px 8px; + /* flex: 1; */ + /* width: 66px; */ + height: 28px; + /* margin-top: 10px; */ + background-color: #fff; + border-radius: 16px; + /* width:60px; */ + text-align: center; + font-size: 14px; + font-weight: 400; + color: #333333; + line-height: 28px; + box-sizing: border-box; + /* margin-right: 8px; */ +} +.csbf .icon-shouye-xiala { + font-size: 7px; + position: relative; + color: #f6f6f6 !important; + top: -2px; +} +.csbf.active { + /* color: var(--color-ysd); */ + /* height: 35px; */ + font-weight: 601 !important; + /* border-radius: 16px 16px 0 0; */ +} +.special_active, +.brand_active { + /* padding-bottom: 7px; */ +} +.csbf.activecolor { + font-weight: 600; + color: var(--color-ysd) !important; +} +.csbf.active .icon-shouye-xiala { + /* color: var(--color-ysd) !important; */ +} +.csbf .icon-zhankai { + /* margin-left: 2px; */ + color: #999; +} + +.topHover, +.ahover { + opacity: 0.8; +} +.c8, +.icon-wode-shoucang { + color: #888; +} +/* .cred, +.icon-shoucang-red { + color: rgba(234, 67, 58, 1); +} */ +.collect.collectred { + /* opacity: 0.5; */ + /* border: 1rpx solid var(--color-ysd); + color: var(--color-ysd); */ + background: rgba(255, 68, 0, 0.2); + color: var(--color-ysd); + border: 1rpx solid rgba(255, 68, 0, 0.2); +} +.opacityBtn { + position: absolute; + padding: 0; + width: unset !important; + /* width: calc(100vw - 100px); */ + z-index: 999; + opacity: 0; +} +.opacityBtn button { + padding: 0 10px; +} +.clickMore { + width: 120px; + height: 28px; + margin: 16px auto; + padding: 0; + opacity: 1; + border: 1px solid #0000000f; + border-radius: 20px; + color: #8c8c8c; + line-height: 25px; + font-size: 14px; + font-weight: normal; + background-color: #fff; +} +.stm { + font-size: 13px; + font-weight: 400; + text-align: center; + color: #666; + line-height: 18px; +} + +.filterprice { + position: relative; + height: 68.5%; + /* height: 500px; */ + overflow: auto; + border-radius: 0 0 14px 14px; + background-color: #f6f6f6; +} +.filterprice .b1 { + border: 1px solid var(--color-ysd); +} +.filter.filterprice > view { + margin: 16px 18px 0; + border-radius: 24px; + text-align: center; + overflow: hidden; + background-color: #fff; +} +/* .filter.filterprice > view:first-child{ + margin-top:0; +} */ +.sort.filterprice { + /* border-radius: 12px; */ + overflow: hidden; + /* display: flex; + flex-direction: column; + justify-content: center; */ +} +.btmFix { + height: 56px; + /* padding-left: 50px; */ + justify-content: center; + border-radius: 0 0 10px 10px; + line-height: 56px; + background-color: #fff !important; +} +.btmFix > view { + display: flex; + align-items: center; + width: 128px !important; + /* margin-right: 20px; */ + line-height: 48px; +} +.btmFix > view:first-child { + margin-right: 20px; +} +.btmFix button { + height: 36px; + margin: 0; + /* margin-top: 10px; */ + margin-bottom: 0; + font-size: 16px; + line-height: 36px; +} +.brand .content { + padding: 16px 18px; + padding-bottom: 50px; + border-radius: 12px; + flex-wrap: wrap; + /* height: 208px; */ + overflow: auto; + justify-content: start; +} +.brand .content > view { + display: flex; + align-items: center; + justify-content: center; + border: 1px solid transparent; + padding: 0px 8px; + width: 30%; + height: 36px; + font-size: 16px; + color: #1d1d1d; + font-weight: 401; + background-color: #fff; + border-radius: 100px; + margin-bottom: 10px; + margin-right: 4%; + box-sizing: border-box; +} +/* .brand .content > view image { + width: 44px; + height: 44px; + border-radius: 6px; + margin-right: 8px; +} */ +.brand .content > view:nth-child(3n) { + margin-right: 0px; +} + +/* .filterprice .specialtag .mt10 { + display: flex; + justify-content: start; + flex-wrap: wrap; +} */ +.gjFixed { + position: absolute; + top: 44px; + left: 0; + width: 100vw; + height: 100vh; + /* right:0; + bottom:0; */ + z-index: 999999; + background-color: rgba(0, 0, 0, 0.8); +} +.sort { + animation: singleBox 0.2s; + animation-fill-mode: forwards; + /* animation-timing-function: linear; */ + /* animation-timing-function: ease-out; */ + animation-timing-function: ease-in; +} +.filterBox, +.brand { + animation: filterBox 0.35s; + animation-fill-mode: forwards; + /* animation-timing-function: linear; */ + /* animation-timing-function: ease-out; */ + animation-timing-function: ease-in; +} +@keyframes filterBox { + 0% { + height: 0; + /* opacity: 0; */ + } + 100% { + height: 58.5%; + /* opacity: 1; */ + } +} +@keyframes singleBox { + 0% { + height: 0; + /* opacity: 0; */ + } + 100% { + height: 240px; + /* opacity: 1; */ + } +} +/* .activeWindow { + height: 240px !important; +} */ +.oh { + overflow: hidden; + height: 100vh; +} +.oa { + overflow: auto; +} +.weui-half-screen-dialog { + height: 75vh; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + padding: 0; +} +.specialtag { + position: relative; + padding: 0 18px 10px; + height: calc(100% - 48px); + overflow: auto; + box-sizing: border-box; +} +.specialtag .tagBox { + display: flex; + justify-content: start; + align-items: center; + flex-wrap: wrap; + padding: 0; +} +.bgAc { + display: inline-block; + /* width: 82px; */ + width: 29%; + height: 36px; + background: #fff; + border: 1px solid transparent; + border-radius: 999px; + font-size: 16px; + font-weight: 401 !important; + color: #1d1d1d; + line-height: 36px; + text-align: center; + margin-right: 5%; + margin-bottom: 10px; +} +.bgAc:nth-child(3n) { + margin-right: 0; +} +.bgAc.active { + border-color: var(--color-ysd); + /* background-color: #ffefe9; */ + color: var(--color-ysd); +} +.brandactive { + color: var(--color-ysd) !important; + border-color: var(--color-ysd) !important; +} +.btmFix { + position: absolute; + bottom: 0px; + left: 0; + width: 100%; + /* background-color: #ffffff; */ + z-index: 99; +} +.resetBtn { + width: 100% !important; + height: 36px; + display: flex; + align-items: center; + justify-content: center; + opacity: 1; + background: #fff; + border: 1px solid var(--color-ysd); + border-radius: 25px; + font-size: 18px; + font-weight: 601; + color: var(--color-ysd); + padding: 0; + margin-top: 0; + box-sizing: border-box; +} +.resetBtn:active { + background-color: #f2f2f2; +} +button.loginOut { + width: 100% !important; + height: 44px; + opacity: 1; + display: flex; + align-items: center; + justify-content: center; + background-color: var(--color-ysd); + border-radius: 25px; + font-size: 18px; + font-weight: 601; + color: #ffffff; + padding: 0; + line-height: 44px; + margin-bottom: 40px; + margin-top: 20rpx; +} +.spef { + /* padding: 10px 0; */ + justify-content: space-between; +} +.spef .flex-1 { + max-width: 57px; + min-width: 52px; +} +.p10100 { + padding: 10px 10px 0; + min-height: 100vh; +} +.xgxg { + /* height: 44px; */ + /* position: relative; */ + padding: 8px 0px; + /* position: sticky; */ + /* top: 103px; */ + /* z-index: 9999; */ + /* background-color: #fff; */ + /* border-bottom: 1px solid #f3f3f3; */ + border-top-left-radius: 16px; + border-top-right-radius: 16px; + /* border-radius: 8px; */ +} +.login_now { + padding: 0; +} +.record { + width: 64px !important; + padding: 0; + height: 20px !important; + line-height: 20px; + /* background-color: var(--color-ysd) !important; */ +} +.filterTag { + display: flex; + height: 44px; + width: 100%; + align-items: center; + /* padding: 10px 0; */ + line-height: 44px; + background-color: #f5f5f5; + box-sizing: border-box; + border-top: 1rpx solid #eee; + /* margin-top: 8px; */ +} +.clear { + position: sticky; + right: 0px; + top: 0px; + height: 50px; + min-width: 60px; + text-align: center; + line-height: 50px; + font-size: 14px; + background: linear-gradient(180deg, #f5f5f5, #ffffff 23%, #ffffff 79%, #f5f5f5); + box-shadow: -12px 0px 8px -4px rgba(206, 206, 206, 0.6); +} +.filterTag .brandTag, +.filterTag .specialTag { + display: flex; + /* width: 200vw; */ + position: relative; + justify-content: start; + align-items: center; + flex-wrap: nowrap; + padding-right: 8px; + /* border-right: 1px solid #ccc; */ +} +/* .filterTag .brandTag .mt10, +.filterTag .specialTag .mt10 { + display: flex; + justify-content: space-between; +} */ +.filterTag .brandTag.hascontent::after { + content: ""; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); + width: 1px; + height: 18px; + background-color: #ccc; +} +.hascontent::after { + content: ""; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); + width: 1px; + height: 18px; + background-color: #ccc; +} +.filterTag .brandTag > view, +.filterTag .specialTag > view, +.genderTag > view { + height: 28px; + line-height: 26px; + background-color: #E7F2FF; + border: 1px solid var(--color-ysd); + border-radius: 999px; + margin-right: 8px; + font-size: 12px; + color: var(--color-ysd); + /* min-width: 100px; */ + white-space: nowrap; + padding: 0px 12px; + box-sizing: border-box; +} +.genderTag { + width: 80px; + padding-left: 8px; + justify-content: center !important; +} +.filterTag .brandTag > view:last-child, +.filterTag .specialTag > view:last-child { + margin-right: 0px; +} +.filterTag .specialTag { + padding-left: 8px; +} +.specialnum { + height: 16px; + min-width: 16px !important; + line-height: 16px; + padding: 0px; + font-size: 12px; + color: #fff; + text-align: center; + border-radius: 999px; + background-color: var(--color-ysd); +} +.quickapply { + /* position: relative; */ + display: flex; + justify-content: space-between; + height: 80px; + margin: 0 10px 0; + padding-top: 10px; + margin-bottom: 0; + /* background-color: #fff; */ + overflow: hidden; +} +.quickapply button { + display: flex; + height: 100%; + width: 100%; + padding: 0; + margin: 0; +} +.sticky { + position: sticky; + top: 0px; + left: 0; + z-index: 999; +} +.quickapply button > view { + position: relative; + display: flex; + justify-content: space-between; + align-items: center; + width: 50%; + padding: 20px 24px; + border-radius: 8px; + background-color: #fff; +} +.quickapply button > view:last-child { + margin-left: 10px; +} +/* .quickapply button > view:first-child::after { + content: ""; + width: 1px; + height: 20px; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); + background-color: #eee; +} */ +.quickapply button > view .t-icon { + width: 38px; + height: 38px; +} +.quickapply button > view .info > view { + text-align: left; + line-height: 1.6; +} + +.tabTable { + margin-top: 10px; + padding: 0 10px; + justify-content: space-between; +} +.tabTable > view { + display: flex; + flex: 1; + padding: 8px 0 4px 0; + justify-content: center; + align-items: center; + text-align: center; + font-size: 18px; +} +.tabTable .all .iconfont { + font-size: 18px !important; +} +.tabTable > view .iconfont { + font-size: 20px; +} +.tabTable > view.active { + background-color: #fff; + border-radius: 12px 12px 0px 0px; + color: #f40; + /* font-weight: 600; */ +} +.tabTable > view.active .iconfont { + /* font-weight: 600; */ + color: #f40; +} +.tabTable > view .iconfont { + /* font-size: 18px; */ + margin-right: 5px; +} +.display-flex { + display: flex; + justify-content: space-between; +} +.drawerMask { + position: fixed; + z-index: 1000; + top: 0; + right: 0; + left: 0; + bottom: 0; + transition: opacity 0.3s, visibility 0.3s; + background: rgba(0, 0, 0, 0.6); + visibility: hidden; + opacity: 0; +} +.drawerMask.showDrawer { + opacity: 1; + visibility: visible; +} +.drawer.showDrawer { + /* position: relative; */ + border-radius: 8px 8px 0 0; + width: 100vw; + height: 90vh; + /* bottom: -44px; */ + /* padding-bottom: 44px; */ +} +.drawer { + position: fixed; + left: 0; + right: 0; + bottom: 0px; + z-index: 2000; + width: 100vw; + background-color: #fff; + height: 0; + transition: all 0.3s; +} +.showDrawer .title { + padding: 6px 16px; +} +.showDrawer .title { + position: relative; +} +.showDrawer .title .icon-guanbi { + content: ""; + position: absolute; + right: 24px; + top: 16px; + /* transform: translate(0%, -50%); */ +} +.showDrawer .content { + height: 100%; +} +.showDrawer .annunciate { + height: calc(100% - 112px); + overflow: auto; +} +.showDrawer .annunciate .info { + width: 100%; + padding: 12px 22px; + padding-bottom: 120px; + box-sizing: border-box; +} +.showDrawer .footer { + display: flex; + justify-content: space-between; + text-align: center; + align-items: center; + padding-top: 15px; + padding-right: 48px; + padding-left: 48px; + border-top: 1px dashed #cccccc; +} +.collectActive { + color: var(--color-ysd); + font-weight: 601; + position: relative; +} +.collectActive::after { + content: ""; + background: var(--color-ysd); + height: 3px; + width: 22px; + position: absolute; + bottom: 8px; + left: 50%; + transform: translateX(-50%); +} +.fee { + height: 20px; + padding-right: 4px; + background: #fff; + border: 1px solid var(--color-ysd); + background-color: var(--color-ysd); + color: #fff; + /* box-sizing: border-box; */ + border-radius: 20px; + overflow: hidden; + line-height: 20px; +} +.fee .inner { + height: 100%; + padding: 0 4px; + margin-right: 4px; + + background-color: #fff; + color: var(--color-ysd); +} +.miniBtn { + width: 64px; + height: 20px; + background-color: var(--color-f40); + font-size: 14px; + border-radius: 99px; + line-height: 20px; + color: #fff; + text-align: center; + /* border: 4px solid #fff; */ +} +.miniBtn.disabled{ + background-color: #ccc; +} + +.pabtm { + position: fixed; + /* height: 86px; */ + width: 48px; + right: 12px; + padding: 6px 0px; + border-radius: 999px; + background-color: rgba(0, 0, 0, 0.6); + display: flex; + align-items: center; + flex-direction: column; + justify-content: space-between; + box-sizing: border-box; + z-index: 999; +} +.pabtm .typeChange { + width: 36px; + height: 36px; + display: flex; + align-items: center; + justify-content: center; + background-color: #fff; + border-radius: 50%; + padding: 5px; + text-align: center; + box-sizing: border-box; +} +.tjsx { + position: relative; + width: 48px; + height: 48px; + background: #ffffff; + border-radius: 24px; + display: flex; + /* box-shadow: 0px 0px 8px 0px #dddddd; */ + /* line-height: 1; */ + color: #333; + font-weight: bold; + justify-content: center; + align-items: center; + /* margin-left: 24px; */ +} +.tjsx view { + font-size: 13px; + line-height: 1.2 !important; +} +.tjsx i { + width: 16px; + height: 16px; + margin-bottom: 2px; + margin-top: -4px; +} + +.leftBox { + position: fixed; + left: 0; + top: 0; + width: 0; + height: 0; + /* width: 100vw; + height: 100vh; */ + z-index: 9999; +} +.filterContainer { + padding: 0 10px; + height: calc(40vh - 64px); + /* width: calc(100%); */ + box-sizing: border-box; + background-color: #f6f6f6; + padding-bottom: 10px; +} +.leftBox .mask { + position: fixed; + width: 100vw; + height: 100vh; + z-index: 1; + background-color: rgba(0, 0, 0, 0.5); +} + +.leftBox .hideBox { + position: relative; + left: -100vw; + top: 0; + width: 88vw; + height: 100vh; + overflow: hidden; + z-index: 1; + background-color: #fff; + border-radius: 0px 8px 8px 0px; + transition: left linear 0.2s; +} +.buttonShow { + left: 88vw !important; + transform: translateY(-50%) translateX(-50%) !important; +} +.leftBox .leftShow { + left: 0 !important; +} + +.leftButton { + position: fixed; + display: flex; + left: 0; + z-index: 999; + /* top: 350px; */ + width: 40px; + height: 88px; + background: rgba(0, 0, 0, 0.6); + border-radius: 0px 8px 8px 0px; + align-items: center; + justify-content: center; + color: #fff; + transform: translateY(-50%); + transition: all linear 0.2s; +} +.halfHide { + transform: translateY(-50%) translateX(-50%); +} +.leftButton .column { + font-size: 14px; + width: 14px; + line-height: 1.2; + word-spacing: wrap; +} +.rotate { + transform: rotate(180deg); +} +/* .the_city { + min-width: 60px; +} */ + +#searchInputBox { + display: flex; + justify-content: space-between; + padding: 0 10px; + box-sizing: border-box; + position: absolute; + z-index: 1; + width: 100vw; +} +#searchInput { + /* margin-left: 12px; */ + /* margin-left: 8px; */ + flex: 1; + border-radius: 99px; + background-color: #fff; +} +.bannerContainer { + background-color: #f5f5f5; + padding-top: 10px; +} +.banner { + width: calc(100vw - 20px); + height: 70px; + margin: 0 10px; + border-radius: 8px; + overflow: hidden; + transform: translateY(0); + /* background-color: #fff; */ +} +.banner swiper-item { + width: 100%; + box-sizing: border-box; + padding: 0 3px; + text-align: center; +} +.navListContainer { + overflow: hidden; + background-color: #f5f5f5; +} +.navList { + width: calc(100vw - 20px); + /* height: 97px; */ + display: flex; + flex-wrap: wrap; + justify-content: start; + align-items: center; + text-align: center; + padding-top: 12px; + margin: 0 10px; + margin-top: 10px; + border-radius: 8px; + background-color: #fff; +} +.navSub { + width: 20%; + margin-bottom: 12px; +} +.navSub image { + width: 44px; + height: 44px; +} +#navBox { + position: relative; + overflow: hidden; + margin-top: 50px; + /* z-index: -1; */ + /* visibility: ; */ +} +.dlLogo{ + width: 24px; +height: 24px; +border-radius: 100%; +} diff --git a/pages/jobListSearch/index.js b/pages/jobListSearch/index.js new file mode 100644 index 0000000..cd9f795 --- /dev/null +++ b/pages/jobListSearch/index.js @@ -0,0 +1,2425 @@ +const app = getApp(); + +const commonUtil = require("../../utils/commonUtil.js"); +Page({ + data: { + toped: "1", + chaShowed: false, + isTrigger: false, + // background: ["../../assets/images/banner1.jpg", "../../assets/images/banner2.jpg", "../../assets/images/banner3.jpg", "../../assets/images/banner4.jpg"], + pullNum: 0, //下拉次数 + tabs: [], + activeTab: 0, + systemInfo: {}, + getMenuButtonBoundingClientRect: {}, + // 手机基础信息 + tabs2: [], + loadMore: "", + loadContent: ["马不停蹄加载更多数据中...", "-- 已经到底了,加不了咯 --"], + + statusBarHeight: wx.getStorageSync("statusBarHeight"), // 状态栏高度 + + navigationBarHeight: wx.getStorageSync("navigationBarHeight"), // 导航栏高度 + + menuButtonHeight: wx.getStorageSync("menuButtonHeight"), // 胶囊按钮高度 + + menuButton: wx.getStorageSync("menuButtonInfo"), // 胶囊信息 + navigatorHeight: 60, + activeTab2: 0, + contentIndex: 0, + latestClass: 0, + zoneClass: 0, + recordList: [], + jobSpecialLabelNames: [], + wannaList: ["电子厂", "大龄工", "日结", "保底", "返费", "短期工", "新能源", "富士康", "暑假工", "焊工", "食品", "学生"], + storeJobListSearchForm: { + pageNum: 1, + pageSize: 20, + classify: 1, + sex: -1, + workTypeStr: "", + lat: "", + lng: "", + jobClassify: "", + sortTag: 0, + jobSpecialLabelIds: "", + cityName: "", + brandIds: "", + ucj: 0, + }, + loading: true, + topJobList: [], + hasLocation: false, + chooseActive: false, + //筛选是否高亮 + labelItems: [], + checkedlabelItems: [], + hasMoreData: true, //下拉是否还有更多数据 + inputShowed: false, + inputVal: "", + wxCode: "", + isCollect: false, + collectTxt: "收藏", + isLogin: app.globalData.isLogin, + hasUserInfo: 0, + searchCityParamStorage: { + name: "", + shortName: "", + }, + iosDialog1: false, + iosDialog2: false, + phoneDialog: false, + triggered: false, + pageShow: false, + whichOneShow: "", + siv: "", + activez: "all", + sexid: "-1", // 性别筛选的id + dialog1: false, + dialog2: false, + jobSpecialLabelList: [], + brandList: [], + firstMenu: "排序", // 工价筛选tab显示 + secondMenu: "性别", // 性别筛选tab显示 + selectBrandList: [], // 选中的品牌标签 + selectJobList: [], // 选中的特色标签 + tagArray0: [], + tagArray1: [], + tagArray2: [], + tagArray3: [], + recordBillType: "", // 报名类型(拍照或者直接报名) + signType: 0, // 职位类型(自营 三方) + recordCount: 0, + totalPage: 0, + currPage: 0, + currentJobDrawer: {}, // 当前简版职位抽屉信息 + drawerShow: false, // 简版职位抽屉显隐 + choiceCollect: 0, //收藏的筛选 + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, // 内部成员的判断 + agencyStatus: app.globalData.loginUserInfo.agencyStatus, // 是否是代理的判断 + serviceInfo: {}, // 代理信息 + navigatorBarHeight: 0, // 头部整体高度信息 + iosDialog: false, // 成为代理弹窗 + isLoading: true, // 成为代理图片加载loading效果 + isScrollTop: false, // 控制职位列表的滚动 + isWannaShow: false, // 猜你想搜是否显示 + historyList: [], // 最近搜索列表 + from: "", // 来自哪个页面 + placeholderText: "请输入关键词", + isFilterPage: false, + }, + // onPullDownRefresh:function(){ + // this.getJobList(); + // console.log(123); + + // wx.stopPullDownRefresh({ + // success() { + // app.refreshSuccess(); + // } + // }); + // }, + goLogin() { + wx.setStorageSync("comeFromPage", "index"); + wx.navigateTo({ + url: "/pages/login/index", + }); + }, + close() { + let that = this; + let brandList = that.data.brandList; + let selectBrandList = that.data.selectBrandList; + if (selectBrandList.length > 0) { + for (let i = 0; i < brandList.length; i++) { + console.log("level1"); + for (let j = 0; j < selectBrandList.length; j++) { + console.log("level2"); + if (brandList[i].id == selectBrandList[j].id) { + return (brandList[i].checked = true); + } else { + brandList[i].checked = false; + } + } + } + } else { + brandList.forEach((item) => { + item.checked = false; + }); + } + return brandList; + }, + closeFix: function () { + var that = this; + // let brandList = that.close() + // that.data.brandList.forEach((item) => { + // if (that.data.selectBrandList.length > 0) { + // that.data.selectBrandList.forEach((item1) => { + // if (item.id != item1.id) { + // console.log("isSame"); + // item.checked = false; + // console.log(item.checked); + // } else { + // item.checked = true; + // } + // }); + // } else { + // item.checked = false; + // } + // }); + // console.log(that.data.brandList); + // console.log(that.data.selectBrandList); + console.log("isout"); + }, + touchStart(e) { + // console.log("滚起来", e); + // this.setData({ + // scrollStop: false + // }) + this.setData({ + // whichOneShow: mark, + siv: "", + }); + }, + choosenTop(e) { + var that = this; + // that.data.storeJobListSearchForm.pageNum = 1; + let id = e.currentTarget.dataset.id; + console.log(id); + that.setData({ + toped: id, + // isScrollTop: false, + }); + + // 切换标准 简版 重新查询列表 + // that.data.storeJobListSearchForm.pageNum = 1; + // that.setData({ + // toped: id, + // recordList: [], + // }); + // that.getJobList(); + }, + + chooseNl: function (e) { + var that = this; + console.log(e); + let mark = ""; + let type = e.target.dataset.type; + let whichOneShow = that.data.whichOneShow; + if (!that.data.isLogin) { + wx.navigateTo({ + url: "/pages/login/index", + }); + return; + } + if (type == "gj") { + if (whichOneShow == "gj") { + mark = ""; + } else { + mark = "gj"; + } + } else if (type == "sex") { + if (whichOneShow == "sex") { + mark = ""; + } else { + mark = "sex"; + } + } else if (type == "brand") { + if (whichOneShow == "brand") { + mark = ""; + } else { + mark = "brand"; + } + } else if (type == "special") { + if (whichOneShow == "special") { + mark = ""; + } else { + mark = "special"; + } + } + if (that.data.siv != "menu") { + setTimeout(() => { + that.setData({ + whichOneShow: mark, + // siv:'menu' + }); + console.log(this.data.whichOneShow); + }, 0); + that.setData({ + siv: "menu", + }); + } + }, + toSpecialArea: function (e) { + var id = e.currentTarget.dataset.id; + wx.navigateTo({ + url: "../specialArea/index?id=" + id, + }); + }, + chooseM: function (e) { + var str = e.currentTarget.dataset.id; + console.log(str); + this.setData({ + activez: str, + }); + }, + watch() {}, + + choosen: function (e) { + var str = e.currentTarget.dataset.id; + // var ageStr = e.currentTarget.dataset.str; + this.setData({ + sexid: str, + }); + }, + choiceSex(e) { + var that = this; + // let str = that.data.sexid + console.log(e); + let str = e.currentTarget.dataset.id; + console.log(str); + if (str == "1") { + this.data.secondMenu = "男生"; + } else if (str == "2") { + this.data.secondMenu = "女生"; + } else if (str == "-1") { + this.data.secondMenu = "不限"; + } + that.setData({ + sexid: str, + secondMenu: this.data.secondMenu, + }); + that.data.storeJobListSearchForm.pageNum = 1; + that.data.storeJobListSearchForm.sex = str; + that.setData({ + storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + whichOneShow: "", + }); + }); + }, + onScrollRefresh: function () { + var that = this; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + }); + that.getJobList(); + + // setTimeout(function(){ + // that.setData({ + // recordList: [],: false, + // }) + // },2000); + }, + + cc: function () {}, + close: function () { + this.setData({ + dialog1: false, + dialog2: false, + iosDialog1: false, + iosDialog2: false, + phoneDialog: false, + }); + }, + openIOS1: function () { + this.setData({ + iosDialog1: true, + }); + }, + + openIOS2: function () { + this.setData({ + iosDialog2: true, + }); + }, + showphone: function () { + this.setData({ + phoneDialog: true, + }); + }, + searchKey: function (e) { + console.log(e); + + if (this.data.inputVal.trim() == "" && this.data.placeholderText == "请输入关键词") { + wx.showToast({ + title: "请输入内容", + icon: "none", + }); + } else { + this.setData({ + isWannaShow: false, + recordList: [], + }); + console.log(this.data.placeholderText); + this.data.storeJobListSearchForm.pageNum = 1; + this.data.storeJobListSearchForm.keys = this.data.inputVal || this.data.placeholderText; + this.setData({ + inputVal: this.data.inputVal || this.data.placeholderText, + }); + this.getJobList(); + this.setHistoryList(); + } + }, + setHistoryList() { + let that = this; + if (app.isNotEmptyCheck(wx.getStorageSync("projectSearch"))) { + that.data.historyList = wx.getStorageSync("projectSearch"); + } + if (that.data.historyList.indexOf(that.data.inputVal) > -1) { + that.data.historyList.splice(that.data.historyList.indexOf(that.data.inputVal), 1); + that.data.historyList.unshift(that.data.inputVal); + } else { + that.data.historyList.unshift(that.data.inputVal); + } + if (that.data.historyList.length > 10) { + that.data.historyList = that.data.historyList.splice(0, 10); + } + that.setData({ + historyList: that.data.historyList, + }); + wx.setStorageSync("projectSearch", that.funQC(that.data.historyList)); + }, + showInput: function () { + this.setData({ + inputShowed: true, + }); + }, + hideInput: function () { + this.setData({ + inputVal: "", + inputShowed: false, + }); + }, + onShareAppMessage1: function () { + var path = commonUtil.getCurrentPageUrlWithArgs(); + if (app.globalData.isLogin && app.globalData.agencyStatus - 0 != 0) { + //当前用户是代理人 + path += (path.indexOf("?") >= 0 ? "&" : "?") + "agencyUserId=" + app.globalData.loginUserInfo.id; + } + console.log(path); + return { + title: "伯才", + path: path, + }; + }, + + clearInput: function () { + this.setData({ + inputVal: "", + chaShowed: false, + inputShowed: false, + hasMoreData: true, + recordList: [], + isWannaShow: true, + placeholderText: "请输入关键词", + }); + this.inputBlur(); + this.clearFilter(); + this.data.storeJobListSearchForm.pageNum = 1; + this.data.storeJobListSearchForm.keys = ""; + }, + inputTyping: function (e) { + this.setData({ + inputVal: e.detail.value, + }); + console.log(this.data.inputVal == ""); + if (this.data.inputVal == "") { + this.setData({ + recordList: [], + isWannaShow: true, + }); + this.data.storeJobListSearchForm.pageNum = 1; + this.data.storeJobListSearchForm.keys = ""; + // this.getJobList(); + } + }, + clear() { + wx.clearStorage(); + + console.log("清除成功"); + }, + inputBlur() {}, + getListByTypeAndIndustry: function () { + var that = this; + wx.request({ + url: app.globalData.ip + "/labels/getListByTypeAndIndustry", + data: { + type: 90, + industry: 2, + }, + header: app.globalData.header, + method: "GET", + success: function (res) { + console.log(res.data.data); + // that.setData({ + // tagArray0: [], + // tagArray1: [], + // tagArray2: [], + // tagArray3: [], + // }); + res.data.data.forEach((item) => { + if (item.typeClassify == "0") { + that.data.tagArray0.push(item); + } else if (item.typeClassify == "1") { + that.data.tagArray1.push(item); + } else if (item.typeClassify == "2") { + that.data.tagArray2.push(item); + } else if (item.typeClassify == "3") { + that.data.tagArray3.push(item); + } + }); + that.setData({ + tagArray0: that.data.tagArray0, + tagArray1: that.data.tagArray1, + tagArray2: that.data.tagArray2, + tagArray3: that.data.tagArray3, + }); + + var jobSpecialLabelIdArray = that.data.storeJobListSearchForm.jobSpecialLabelIds.split(","); + + res.data.data.forEach((item) => { + item["checked"] = false; + jobSpecialLabelIdArray.forEach((item1) => { + if (item.id == item1) { + item["checked"] = true; + } + }); + }); + + that.setData({ + jobSpecialLabelList: res.data.data, + }); + }, + }); + }, + getBrandNameAllList: function () { + var that = this; + wx.request({ + url: app.globalData.ip + "/labels/type/95", // 分类列表获取接口 + header: app.globalData.header, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + if (that.data.storeJobListSearchForm.brandIds) { + var brandIdArray = that.data.storeJobListSearchForm.brandIds.split(","); + } + console.log(res.data.data.labels); + + res.data.data.labels.forEach((item) => { + item["checked"] = false; + if (brandIdArray) { + brandIdArray.forEach((item1) => { + if (item.id == item1) { + item["checked"] = true; + } + }); + } + }); + that.setData({ + brandList: res.data.data.labels, + }); + } + }, + }); + // wx.request({ + // url: app.globalData.ip + "/brand/getBrandNameAllList", + // data: {}, + // header: app.globalData.header, + // method: "GET", + // success: function (res) { + // console.log(res); + + // var brandIdArray = that.data.storeJobListSearchForm.brandIds.split(","); + + // res.data.data.forEach((item) => { + // item["checked"] = false; + // brandIdArray.forEach((item1) => { + // if (item.id == item1) { + // item["checked"] = true; + // } + // }); + // }); + // that.setData({ + // brandList: res.data.data, + // }); + // }, + // }); + }, + selectJobSpecialLabel: function (e) { + var that = this; + var index = e.currentTarget.dataset.index; + var indexTag = e.currentTarget.dataset.indexTag; + let index1 = ""; + console.log(e); + console.log(indexTag); + // debugger; + if (indexTag == "0") { + if (that.data.tagArray0[index].checked) { + that.data.tagArray0[index].checked = false; + // index1 = that.data.selectJobList.indexOf(that.data.tagArray0[index]); + // that.data.selectJobList.splice(index1, 1); + } else { + that.data.tagArray0[index].checked = true; + // that.data.selectJobList.push(that.data.tagArray0[index]); + } + this.setData({ + tagArray0: that.data.tagArray0, + }); + } else if (indexTag == "1") { + console.log('indexTag == "1"'); + if (that.data.tagArray1[index].checked) { + that.data.tagArray1[index].checked = false; + // index1 = that.data.selectJobList.indexOf(that.data.tagArray1[index]); + // that.data.selectJobList.splice(index1, 1); + } else { + that.data.tagArray1[index].checked = true; + // that.data.selectJobList.push(that.data.tagArray1[index]); + } + this.setData({ + tagArray1: that.data.tagArray1, + }); + } else if (indexTag == "2") { + if (that.data.tagArray2[index].checked) { + that.data.tagArray2[index].checked = false; + // index1 = that.data.selectJobList.indexOf(that.data.tagArray2[index]); + // that.data.selectJobList.splice(index1, 1); + } else { + that.data.tagArray2[index].checked = true; + // that.data.selectJobList.push(that.data.tagArray2[index]); + } + this.setData({ + tagArray2: that.data.tagArray2, + }); + } else if (indexTag == "3") { + if (that.data.tagArray3[index].checked) { + that.data.tagArray3[index].checked = false; + // index1 = that.data.selectJobList.indexOf(that.data.tagArray3[index]); + // that.data.selectJobList.splice(index1, 1); + } else { + that.data.tagArray3[index].checked = true; + // that.data.selectJobList.push(that.data.tagArray3[index]); + } + this.setData({ + tagArray3: that.data.tagArray3, + }); + } + this.setData({ + selectJobList: that.data.selectJobList, + }); + // jobSpecialLabelList + + // if(that.data.jobSpecialLabelList[index].checked) { + // that.data.jobSpecialLabelList[index].checked = false; + // } else { + // that.data.jobSpecialLabelList[index].checked = true; + // } + // this.setData({ + // jobSpecialLabelList: that.data.jobSpecialLabelList + // }); + }, + selectBrand: function (e) { + var that = this; + var index = e.currentTarget.dataset.index; + if (that.data.brandList[index].checked) { + that.data.brandList[index].checked = false; + // let index1 = that.data.selectBrandList.indexOf(that.data.brandList[index]) + // that.data.selectBrandList.splice(index1,1) + } else { + that.data.brandList[index].checked = true; + } + console.log(that.data.selectBrandList); + this.setData({ + brandList: that.data.brandList, + }); + }, + reset: function (e) { + var that = this; + console.log(e); + if (e.target.dataset.type == 1) { + //特色 + that.data.jobSpecialLabelList.forEach((item) => { + // console.log(item); + if (item.checked) { + item.checked = false; + } + }); + that.setData({ + jobSpecialLabelList: that.data.jobSpecialLabelList, + tagArray0: that.data.tagArray0, + tagArray1: that.data.tagArray1, + tagArray2: that.data.tagArray2, + tagArray3: that.data.tagArray3, + selectJobList: [], + whichOneShow: "", + }); + that.data.storeJobListSearchForm.jobSpecialLabelIds = ""; + } else if (e.target.dataset.type == 2) { + //品牌 + that.data.brandList.forEach((item) => { + if (item.checked) { + item.checked = false; + } + }); + that.setData({ + brandList: that.data.brandList, + selectBrandList: [], + whichOneShow: "", + }); + that.data.storeJobListSearchForm.jobCategoryLabelIds = ""; + // that.data.storeJobListSearchForm.brandIds = ""; + } else if (e.target.dataset.type == 4) { + that.setData({ + activez: "", + }); + } + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + }); + that.getJobList(); + }, + loginOut: function () { + var that = this; + var jobSpecialLabelIdArray = []; + that.data.jobSpecialLabelList.forEach((item) => { + if (item.checked) { + jobSpecialLabelIdArray.push(item.id); + } + }); + + if (jobSpecialLabelIdArray.length > 0) { + that.data.storeJobListSearchForm.jobSpecialLabelIds = jobSpecialLabelIdArray.join(","); + } else { + that.data.storeJobListSearchForm.jobSpecialLabelIds = ""; + } + + var brandIdArray = []; + that.data.selectBrandList = []; + that.data.brandList.forEach((item) => { + if (item.checked) { + if (that.data.selectBrandList.indexOf(item) == -1) { + that.data.selectBrandList.push(item); + } + brandIdArray.push(item.id); + } + }); + that.data.selectJobList = []; + let jobList = that.data.tagArray0.concat(that.data.tagArray1, that.data.tagArray2, that.data.tagArray3); + jobList.forEach((item) => { + if (item.checked) { + if (that.data.selectJobList.indexOf(item) == -1) { + that.data.selectJobList.push(item); + } + } + }); + if (brandIdArray.length > 0) { + // that.data.storeJobListSearchForm.brandIds = brandIdArray.join(","); + that.data.storeJobListSearchForm.jobCategoryLabelIds = brandIdArray.join(","); + } else { + // that.data.storeJobListSearchForm.brandIds = ""; + that.data.storeJobListSearchForm.jobCategoryLabelIds = ""; + } + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + siv: "", + whichOneShow: "", + selectBrandList: that.data.selectBrandList, + selectJobList: that.data.selectJobList, + }); + that.getJobList(); + }, + onLoad(options) { + var that = this; + console.log(options); + console.log(that.data.menuButton); + // let query = wx.createSelectorQuery() + // console.log(query.select('#searchBar')); + console.log(app.globalData.isLogin); + console.log(app.globalData.loginUserInfo.agencyStatus); + + console.log(); + this.getListByTypeAndIndustry(); + this.getBrandNameAllList(); + + // 查看是否授权 + wx.getSetting({ + success(res) { + if (res.authSetting["scope.userInfo"]) { + // 已经授权,可以直接调用 getUserInfo 获取头像昵称 + wx.getUserInfo({ + success: function (res) { + console.log(res.userInfo); + }, + }); + } + }, + }); + // 检查从哪个页面进来的 + console.log(options); + if (options.from) { + if (options.from != "filter") { + this.setData({ + isWannaShow: true, + }); + if (options.listtype) { + this.setData({ + toped: options.listtype, + }); + } + } + this.setData({ + from: options.from, + }); + } + if (options.data) { + console.log(JSON.parse(options.data)); + that.data.storeJobListSearchForm = JSON.parse(options.data); + } + if (options.key) { + this.setData({ + placeholderText: options.key, + }); + } + if (app.isNotEmptyCheck(options.fromSearchPage) && options.fromSearchPage == 1) { + // try { + // var searchCityParamStorage = wx.getStorageSync("searchCityParamStorage"); + // var searchValue = wx.getStorageSync("SEARCH_VAL"); + // console.log(searchValue); + // if (searchCityParamStorage) { + // console.log("searchCityParamStorage======", searchCityParamStorage); + // that.data.storeJobListSearchForm.cityName = searchCityParamStorage.name; + // if (app.isEmptyCheck(searchCityParamStorage.name)) { + // that.data.storeJobListSearchForm.cityName = "全国"; + // } + // console.log(that.data.storeJobListSearchForm); + // console.log(searchValue); + // if (searchValue) { + // that.data.storeJobListSearchForm.keys = searchValue; + // that.data.inputVal = searchValue; + // } + // that.setData({ + // searchCityParamStorage: searchCityParamStorage, + // storeJobListSearchForm: that.data.storeJobListSearchForm, + // inputVal: that.data.inputVal, + // }); + // this.getJobList(); + // } + // } catch (e) { + // console.log("获取缓存设置的查询职位列表参数错误:", e); + // } + } else { + try { + wx.removeStorageSync("searchJobListParamStorage"); + } catch (e) { + console.log("删除缓存设置的查询职位列表参数错误:", e); + } + try { + wx.removeStorageSync("searchCityParamStorage"); + } catch (e) { + console.log("删除缓存设置的查询职位列表参数错误:", e); + } + } + + try { + if (app.globalData.isScanQRCodes - 1 == 0) { + wx.showToast({ + title: "欢迎查看好工作", + icon: "success", + duration: 2000, + }); + if (!getApp().globalData.isLogin) { + setTimeout(function () { + if (!getApp().globalData.isLogin) { + that.openIOS2(); + } + }, 5000); + } + } + } catch (e) { + console.log("获取缓存设置的查询职位列表参数错误:", e); + } + + console.log("options==============================1"); + console.log(options); + console.log("options==============================2"); + + if (app.isNotEmptyCheck(options.scene)) { + //扫小程序码携带参数 + var sceneStr = decodeURIComponent(options.scene); + var sceneJson = commonUtil.sceneToJson(sceneStr); + console.log("sceneJson===", sceneJson); + if (sceneJson.fromType == 1) { + app.globalData.isCommission = 1; + wx.setStorageSync("storageSyncAgencyUserId", sceneJson.userId); + } + + //先设置代理人缓存人再登录 + app.getLoginUserTokenInfo(); + } else if (app.isNotEmptyCheck(options.fromType)) { + //扫小程序普通二维码携带参数-来源ID + console.log("options.fromType========" + options.fromType); + if (options.fromType == 0) { + console.log("options.id========" + options.id); + console.log("options.userId========" + options.userId); + try { + app.globalData.isCommission = 1; + wx.setStorageSync("fromQrCodeChannelContactId", options.id); + that.getAgencyUserId(options.id); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + } + } else if (options.fromType.indexOf("0&id=") >= 0) { + //兼容2021-9-9之前的二维码 + var paramsTempId = options.fromType.replace("0&id=", ""); + console.log("¶msTempId========" + paramsTempId); + try { + app.globalData.isCommission = 1; + wx.setStorageSync("fromQrCodeChannelContactId", paramsTempId); + that.getAgencyUserId(paramsTempId); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + } + } else { + //兼容2021-9-9之前的二维码 + var paramsTempId = options.fromType.replace("0,id=", ""); + console.log("=paramsTempId========" + paramsTempId); + try { + app.globalData.isCommission = 1; + wx.setStorageSync("fromQrCodeChannelContactId", paramsTempId); + that.getAgencyUserId(paramsTempId); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + } + } + } else { + console.log("options.fromType===else=====" + options); + } + + //this.wxLogin(); + let res = wx.getStorageSync("storeJobId"); //详情页返回 + console.log(res); + if (app.isEmptyCheck(res.data)) { + this.setData({ + recordList: [], + }); + } else { + wx.removeStorageSync({ + key: "storeJobId", + }); + } + + console.log("on show"); + + //登录=================================start + if (app.globalData.isLogin) { + this.setData({ + isLogin: app.globalData.isLogin, + hasUserInfo: app.globalData.hasUserInfo, + agencyStatus: app.globalData.loginUserInfo.agencyStatus, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + userInfo: app.globalData.loginUserInfo, + serviceInfo: app.globalData.serviceInfo, + isLoading: true, + }); + } else { + // 由于 userLogin 是网络请求,可能会在 Page.onLoad 之后才返回 + // 所以此处加入 callback 以防止这种情况 + app.userLoginCallback = (res) => { + this.setData({ + isLogin: app.globalData.isLogin, + hasUserInfo: app.globalData.hasUserInfo, + agencyStatus: app.globalData.loginUserInfo.agencyStatus, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + userInfo: app.globalData.loginUserInfo, + serviceInfo: app.globalData.serviceInfo, + }); + console.log(that.data.serviceInfo); + }; + console.log(that.data.serviceInfo); + } + //登录=================================end + + this.getHopeJobLabels(); + var reset = true; + let agencyUserId = options.agencyUserId; + if (agencyUserId) { + wx.setStorageSync("storageSyncAgencyUserId", agencyUserId); + console.log("agencyUserId", agencyUserId); + app.globalData.isCommission = 1; + } + }, + onReady() { + let that = this; + }, + onTabClick(e) { + const index = e.detail.index; + this.setData({ + activeTab: index, + }); + }, + + onChange(e) { + const index = e.detail.index; + this.setData({ + activeTab: index, + }); + }, + + findLocation() { + var that = this; + wx.getLocation({ + type: "gcj02", + success(res1) { + console.log("获取位置2"); + console.log(res1); + app.globalData.lng = res1.longitude; + app.globalData.lat = res1.latitude; + }, + fail() {}, + }); + }, + + emptyMethod(e) { + console.log(e); + }, + chooseIdCard() { + var that = this; + if (that.data.agencyStatus != 1) { + this.setData({ + iosDialog: true, + }); + return; + } + wx.chooseImage({ + count: 1, + sizeType: ["original", "compressed"], + sourceType: ["album", "camera"], + success(res) { + console.log(res); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&imgUrl=${res.tempFilePaths[0]}`, + }); + // that.uploadIdcardImg(res); + }, + }); + }, + navigatorToRecord() { + if (this.data.agencyStatus != 1) { + this.setData({ + iosDialog: true, + }); + return; + } + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1`, + }); + }, + PageScroll(e) { + let that = this; + const query = wx.createSelectorQuery().in(this); + query + .select(".sticky") + .boundingClientRect(function (res) { + console.log(res); + if (res.top <= 5) { + that.setData({ + isScrollTop: true, + }); + } else if (res.top > 0 && res.top < 90) { + that.setData({ + isScrollTop: false, + }); + } else if (res.top >= 90) { + that.setData({ + isScrollTop: false, + }); + } + }) + .exec(); + }, + onShow() { + let that = this; + that.data.storeJobListSearchForm.pageNum = 1; + console.log(that.data.from); + if (wx.getStorageSync("FROMCITY")) { + try { + var searchCityParamStorage = wx.getStorageSync("searchCityParamStorage"); + if (searchCityParamStorage) { + console.log("searchCityParamStorage======", searchCityParamStorage); + that.data.storeJobListSearchForm.cityName = searchCityParamStorage.name; + if (app.isEmptyCheck(searchCityParamStorage.name)) { + that.data.storeJobListSearchForm.cityName = "全国"; + } + + that.setData({ + searchCityParamStorage: searchCityParamStorage, + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.setData({ + recordList: [], + }); + this.getJobList(); + } + } catch (e) { + console.log("获取缓存设置的查询职位列表参数错误:", e); + } + wx.removeStorageSync("FROMCITY"); + }else{ + // that.setData({ + // recordList: [], + // }); + // that.getJobList(); + } + if (app.isNotEmptyCheck(wx.getStorageSync("projectSearch")) && that.data.from == "project") { + console.log(wx.getStorageSync("projectSearch")); + that.setData({ + historyList: wx.getStorageSync("projectSearch"), + }); + } + if (that.data.from == "filter") { + console.log(123); + that.data.storeJobListSearchForm.keys = "1"; + that.setData({ + isFilterPage: true, + recordList: [], + }); + that.getJobList(); + wx.setNavigationBarTitle({ + title: "职位匹配", + }); + } + this.setData({ + storeJobListSearchForm: that.data.storeJobListSearchForm, + isLogin: app.globalData.isLogin, + iosDialog2: app.globalData.isLogin ? false : that.data.iosDialog2, + recordBillType: "", + }); + console.log(app.globalData); + + setTimeout(() => { + if (app.globalData.isLogin) { + that.setData({ + agencyStatus: app.globalData.loginUserInfo.agencyStatus, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + userInfo: app.globalData.loginUserInfo, + serviceInfo: app.globalData.serviceInfo, + }); + console.log(app.globalData.loginUserInfo); + } else { + that.setData({ + serviceInfo: app.globalData.serviceInfo, + }); + this.wxLogin(); + } + }, 100); + console.log(app.globalData.headers); + // if (that.data.inputVal != "") { + // console.log(that.data.inputVal); + // that.setData({ + // recordList: [], + // }); + + // that.getJobList(); + // } + + wx.removeStorage({ + key: "townsManInfo", + }); + wx.removeStorage({ + key: "townsManInfoJob", + }); + + /*this.wxLogin(); + let res = wx.getStorageSync({ + key: "storeJobId" + }); //详情页返回 + + if (app.isEmptyCheck(res.data)) { + this.setData({ + recordList: [] + }); + } else { + wx.removeStorageSync({ + key: "storeJobId" + }); + } + + console.log("on show"); + this.getHopeJobLabels(); + var reset = true;*/ + }, + collectedStoreJobList() { + var that = this; + + wx.request({ + url: app.globalData.ip + "/store/job/collected/list?ucj=1", + method: "GET", + data: {}, + header: app.globalData.headers, + success: function (res) { + console.log(res); + let collectList = res.data.data.recordList; + let jobs = that.data.recordList; + if (collectList != null && collectList != "" && collectList != undefined && collectList.length != 0 && jobs != null && jobs != "" && jobs != undefined && jobs.length != 0) { + for (var j = 0; j != jobs.length; ++j) { + jobs[j].collected = 2; + } + for (var i = 0; i != collectList.length; ++i) { + for (var j = 0; j != jobs.length; ++j) { + if (collectList[i].storeJobId - jobs[j].id == 0) { + jobs[j].collected = 1; + break; + } + } + } + that.setData({ + recordList: jobs, + }); + } + }, + fail: function (res) {}, + }); + }, + getHopeJobLabels() { + var that = this; + wx.request({ + url: app.globalData.ip + "/labels/findAllHopeJobLabels", + // ?category=4 + method: "GET", + data: {}, + success: function (res0) { + console.log("感兴趣职位 ↓↓↓"); + console.log(res0); + if (res0.data.data != null) { + res0.data.data.forEach((item, index) => { + item["title"] = item.name; + item["checked"] = false; + + if (index == 0 || index == 1) { + item["checked"] = true; + } + }); + } + + that.setData({ + labelItems: res0.data.data == null ? [] : res0.data.data, + }); + that.initData(); + console.log("感兴趣职位 赋值title↓↓↓"); + console.log(res0); + }, + fail: function (res) { + console.log(res); + wx.showToast({ + title: "获取失败", + icon: "none", + duration: 2000, + }); + }, + }); + }, + makePhoneCall() { + var that = this; + wx.makePhoneCall({ + phoneNumber: "13937184434", + }); + }, + goScreen() { + wx.navigateTo({ + url: "../screen/index", + }); + }, + goCity() { + let that = this; + console.log("search"); + if (!that.data.isLogin) { + wx.navigateTo({ + url: "/pages/login/index", + }); + return; + } + wx.navigateTo({ + url: "../city/index?from=search", + }); + wx.setStorageSync("SEARCH_VAL", that.data.storeJobListSearchForm.keys); + }, + initData() { + var that = this; + try { + // 获取手机基础信息(头状态栏和标题栏高度) + let systemInfo = wx.getSystemInfoSync(); + let getMenuButtonBoundingClientRect = wx.getMenuButtonBoundingClientRect(); + console.log(wx.getMenuButtonBoundingClientRect()); + this.setData({ + systemInfo, + getMenuButtonBoundingClientRect, + }); + } catch (e) { + console.log(e); + + wx.alert({ + title: "温馨提示", + content: "onLoad 执行异常", + }); + } + let res0 = wx.getStorageSync("checkedlabelItems"); + + console.log(app.isNotEmptyCheck(res0.data)); + that.data.tabs2 = [ + { + name: "打勾推荐", + category: -1, + id: 406, + checked: true, + title: "打勾推荐", + }, + ]; + + if (app.isNotEmptyCheck(res0.data)) { + for (var i = 0; i < res0.data.length; i++) { + res0.data[i]["title"] = res0.data[i].name; + // that.data.tabs2.push(res0.data[i]); + } + + console.log("获取缓存"); // res0.data.unshift(); + // console.log(res.data.unshift({name: "打勾推荐", category: 3, id: 406, checked: true, title: "打勾推荐"})); + } else { + console.log("无感兴趣职位 push两个职位 ↓↓↓"); + console.log(that.data.labelItems); + that.data.labelItems.forEach((item) => { + if (item.name == "理货员" || item.name == "餐饮服务员") { + // that.data.tabs2.push(item); + } + }); // that.data.tabs2.push(that.data.labelItems[0], that.data.labelItems[1]) + } + + that.setData({ + tabs2: that.data.tabs2, + }); + + let res = wx.getStorageSync("sex"); //性别 + if (app.isNotEmptyCheck(res.data)) { + that.data.storeJobListSearchForm.sex = res.data; + that.data.storeJobListSearchForm.pageNum = 1; + } else { + // res.data = []; + } + let res2 = wx.getStorageSync("checkedJobItems"); //筛选职位 + let workTypeStrCurr = ""; + if (app.isNotEmptyCheck(res2.data)) { + res2.data.forEach((item, index) => { + workTypeStrCurr += item.value + ","; + }); + + if (workTypeStrCurr.length > 0) { + workTypeStrCurr = workTypeStrCurr.substr(0, workTypeStrCurr.length - 1); + } + + that.data.storeJobListSearchForm.workTypeStr = workTypeStrCurr; + that.data.storeJobListSearchForm.pageNum = 1; + } else { + that.data.storeJobListSearchForm.workTypeStr = ""; + that.data.storeJobListSearchForm.pageNum = 1; + } + + console.log(res.data + "===" + res2.data); + + if (res.data == -1 && (res2.data == null || res2.data == "")) { + that.setData({ + chooseActive: false, + }); + } else { + that.setData({ + chooseActive: true, + }); + } + + // this.getJobList(); + }, + + getJobList(e) { + console.log(e); + var that = this; + // debugger + return new Promise(function (resolve, reject) { + if (that.data.storeJobListSearchForm.sortTag == 2) { + //如果按照距离排序,拼接上坐标 + that.data.storeJobListSearchForm.lng = app.globalData.lng; + that.data.storeJobListSearchForm.lat = app.globalData.lat; + } + + console.log(that.data.inputVal); + console.log(that.data.searchCityParamStorage); + that.data.storeJobListSearchForm.cityName = that.data.searchCityParamStorage.name; + if (app.isEmptyCheck(that.data.searchCityParamStorage.name)) { + that.data.storeJobListSearchForm.cityName = "全国"; + } + that.data.storeJobListSearchForm.keys = that.data.inputVal == "" ? "" : that.data.inputVal; + // debugger; + wx.showLoading({ + title: "加载中...", + }); + console.log(that.data.storeJobListSearchForm); + wx.request({ + url: app.globalData.ip + "/overall/store/job/list", + method: "POST", + header: app.globalData.headers, + data: that.data.storeJobListSearchForm, + success: function (res) { + console.log("职位列表↓↓↓↓"); + console.log(res); + + that.setData({ + totalPage: res.data.data.pageCount, + currPage: res.data.data.currentPage, + }); + + setTimeout(function () { + that.setData({ + triggered: false, + }); + }, 1000); + if (res.data.data.recordList == null || res.data.data.recordList.length == 0 || res.data.data.recordList.length < that.data.storeJobListSearchForm.pageSize) { + var jobListTemp = commonUtil.disposeJobListData(res.data.data.recordList); + that.data.recordList = that.data.recordList.concat(jobListTemp); + + that.setData({ + recordList: that.data.recordList, + hasMoreData: false, + isTrigger: false, + }); + } else { + var jobListTemp = commonUtil.disposeJobListData(res.data.data.recordList); + that.data.recordList = that.data.recordList.concat(jobListTemp); + + that.setData({ + recordList: that.data.recordList, + hasMoreData: true, + isTrigger: false, + }); + } + + wx.hideLoading({ + success: (res) => {}, + }); + that.setData({ + loading: false, + pageShow: true, + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + resolve(); + that.getTag(); + + that.data.recordList.forEach((item, index) => { + if (app.isNotEmptyCheck(item.returnFeeType) || item.returnFeeType == "0" || item.returnFee == "0") { + item["fuWuFei"] = commonUtil.getReturnFeeTypeName1ById(item.returnFeeType, item.returnFee); + } else { + item["fuWuFei"] = ""; + } + }); + + that.setData({ + recordList: that.data.recordList, + isWannaShow: that.data.searchCityParamStorage ? false : true, + }); + setTimeout(() => { + var query = wx.createSelectorQuery(); + query.select(".navigator").boundingClientRect(); + query.exec(function (res) { + //res就是 所有标签为v1的元素的信息 的数组 + console.log(res); + //取高度 + console.log(res[0].height); + that.setData({ + navigatorBarHeight: res[0].height, + }); + console.log(that.data.navigatorBarHeight); + }); + }, 300); + // if (that.data.recordList.length < res.data.data.recordCount) { + // that.setData({ + // hasMoreData: true, + // }); + // } else { + // that.setData({ + // hasMoreData: false, + // }); + // } + }, + }); + }); + }, + + onScrollRefresh() { + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.getJobList(); + }, + + getTag() { + let that = this; + let query = that.createSelectorQuery(); + query + .selectAll(".tttg") + .boundingClientRect() + .exec(function (res) { + res.forEach((item) => { + item.forEach((element, index) => { + if (element.width > 200) { + // that.data.recordList[index].isTagShow = true; + var age = "recordList[" + index + "].isTagShow"; + that.setData({ + [age]: true, + }); + } + }); + }); + // if(){ + + // } + // console.log(res); + }); + }, + + // 下拉加载更多 + onScrollToLower() { + console.log("===================================================="); + var that = this; + if (app.globalData.isLogin) { + that.data.storeJobListSearchForm.pageNum = that.data.storeJobListSearchForm.pageNum + 1; + if (that.data.hasMoreData) { + that.getJobList(); + } + // 根据实际数据加载情况设定 loadMore 的值即可,分别为 load 和 over + + this.setData({ + loadMore: "load", + // loading:true + }); + } else { + // if (that.data.pullNum == 0) { + // that.openIOS1(); + // } + } + + that.data.pullNum = that.data.pullNum + 1; + }, + + handleTabClick(e) { + var that = this; + var index = e.detail.index; + console.log(e.detail.index); + let categoryCurr = that.data.tabs2[index].category; // that.data.tabs2.forEach((item,index2) => { + // if (index == index2) { + // categoryCurr = item.category + // } + // if( index == 0){ + // categoryCurr = -1 + // } + // }) + + this.setData({ + // [tabsName]: index, + contentIndex: index, + }); + console.log(categoryCurr); + that.data.storeJobListSearchForm.jobClassify = categoryCurr; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + }); + that.getJobList(); + }, + /** + * 标准详情 + * + * + */ + goDetail(e) { + console.log(e); + var that = this; + if (this.data.isLogin) { + wx.navigateTo({ + url: "../detail/index?storeJobId=" + e.currentTarget.dataset.id + "&wxCode=" + that.data.wxCode, + }); + } else { + wx.navigateTo({ + url: "../login/index", + }); + } + }, + backIndex() { + console.log(123); + wx.reLaunch({ + url: "/pages/firstBill/index", + success: (result) => {}, + fail: () => {}, + complete: () => {}, + }); + }, + /** + * 简版抽屉 + * + * + */ + goDrawer(event) { + let that = this; + + console.log(event.currentTarget.dataset.item); + event.currentTarget.dataset.item["jobDesp"] = event.currentTarget.dataset.item.jobDesp.replace(/\*\*\*\*\*/g, "").split("————————")[0]; + event.currentTarget.dataset.item["jobDesp1"] = event.currentTarget.dataset.item.jobDesp.replace("⚠", ""); + event.currentTarget.dataset.item["jobDesp1"] = event.currentTarget.dataset.item.jobDesp1.replace("[红包]", ""); + that.setData({ + currentJobDrawer: { ...event.currentTarget.dataset.item, index: event.currentTarget.dataset.index }, + drawerShow: true, + }); + + console.log(this.data.currentJobDrawer); + }, + copyClose() { + var that = this; + var contentInfo; + const query = wx.createSelectorQuery().in(this); + query + .select(".contactInfo") + .boundingClientRect(function (res) { + contentInfo = res.dataset.info; + var text = that.data.currentJobDrawer.jobDesp + contentInfo; + wx.setClipboardData({ + data: text, + success(res) { + wx.getClipboardData({ + success(res) { + console.log(res.data); // data + wx.showToast({ + title: "内容已复制", + icon: "none", + duration: 1500, + }); + }, + }); + }, + }); + }) + .exec(); + }, + // showDrawer() { + // this.setData({ + // }); + // }, + hideDrawer() { + let that = this; + that.setData({ + drawerShow: false, + }); + setTimeout(() => { + wx.showTabBar({ + success(e) {}, + }); + }, 300); + }, + goEnroll(e) { + console.log(e); + // wx.navigateTo({ + // url: "../newEnroll/index?applyType=0" + // }); + var that = this; + + wx.removeStorageSync("townsManInfo"); + wx.removeStorageSync("townsManInfoJob"); + wx.removeStorageSync("storeInfoJob"); + + // if(app.isNotEmptyCheck(wx.getStorage('townsManInfo'))){ + // wx.removeStorageSync('townsManInfo') + // } + // if(app.isNotEmptyCheck(wx.getStorage('townsManInfoJob'))){ + // wx.removeStorageSync('townsManInfoJob') + // } + // if(app.isNotEmptyCheck(wx.getStorage('storeInfoJob'))){ + // wx.removeStorageSync('storeInfoJob') + // } + // wx.removeStorageSync('townsManInfoJob') + console.log(app.globalData.loginUserInfo.tel); + wx.setStorageSync("jobDetailStorage", that.data.recordList[e.currentTarget.dataset.idx]); + let argument; + argument = JSON.stringify(e.currentTarget.dataset.info).replace(/\=|\&/g, "3D"); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + }, + wxLogin() { + var that = this; + wx.login({ + success(res) { + if (res.code) { + that.setData({ + wxCode: res.code, + }); + } else { + console.log("获取code失败!" + res.errMsg); + } + }, + }); + }, + changeRecordBillType(e) { + let that = this; + console.log(e); + that.setData({ + recordBillType: e.currentTarget.dataset.type, + }); + }, + getPhoneNumber(e) { + var that = this; + console.log(e); + console.log(e.detail.errMsg); + /*wx.setStorageSync({ + key: "jobDetailStorage", + data: that.data.recordList[e.currentTarget.dataset.idx] + });*/ + + wx.setStorageSync("jobDetailStorage", that.data.recordList[e.currentTarget.dataset.idx]); + + // console.log(e); + // console.log(e.detail.errMsg) + // console.log(e.detail.iv) + // console.log(e.detail.encryptedData) + if ("getPhoneNumber:ok" == e.detail.errMsg) { + //同意 + var iv = e.detail.iv; + var encryptedData = e.detail.encryptedData; + console.log(iv, "=-=========", encryptedData); + wx.checkSession({ + success() { + //session_key 未过期,并且在本生命周期一直有效 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: that.data.wxCode, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + }, + success: function (res) { + console.log(res); + app.globalData.openId = res.data.data.openId; + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + var collected = e.currentTarget.dataset.collected; + if (collected) { + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.doCollected(collected, e.currentTarget.dataset.jobid); + // that.collectedStoreJobList(); + }); + } else { + if (that.data.recordBillType == "photo" || that.data.recordBillType == "record") { + promise.then((res) => { + if (that.data.recordBillType == "photo") { + that.chooseIdCard(); + } else { + that.navigatorToRecord(); + } + }); + } else { + promise.then((res) => { + let argument; + argument = JSON.stringify(e.currentTarget.dataset.info).replace(/\=|\&/g, "3D"); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + }); + } + } + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + }, + fail() { + // session_key 已经失效,需要重新执行登录流程 + wx.login({ + success(res) { + if (res.code) { + console.log(res.code); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: res.code, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + var collected = e.currentTarget.dataset.collected; + if (collected) { + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.doCollected(collected, e.currentTarget.dataset.jobid); + }); + } else { + promise.then((res) => { + wx.navigateTo({ + url: "../enroll/index?applyType=1", + //url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber + }); + }); + } + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + } else { + console.log("获取手机号失败!" + res.errMsg); + } + }, + }); + }, + }); + } else { + //拒绝 + var collected = e.currentTarget.dataset.collected; + if (collected) { + try { + wx.setStorageSync("comeFromPage", "index"); + } catch (e) { + console.log("index-页面跳转,设置参数错误:", e); + } + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + wx.navigateTo({ + url: "../enroll/index?applyType=1", + }); + } + } + return false; + }, + getPhoneNumber1(e) { + var that = this; + console.log(e); + console.log(e.detail.errMsg); + + that.close(); + // console.log(e); + // console.log(e.detail.errMsg) + // console.log(e.detail.iv) + // console.log(e.detail.encryptedData) + + if ("getPhoneNumber:ok" == e.detail.errMsg) { + //同意 + var iv = e.detail.iv; + var encryptedData = e.detail.encryptedData; + wx.checkSession({ + success() { + //session_key 未过期,并且在本生命周期一直有效 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: that.data.wxCode, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.onScrollToLower(); + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + }, + fail() { + // session_key 已经失效,需要重新执行登录流程 + wx.login({ + success(res) { + if (res.code) { + console.log(res.code); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: res.code, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + } else { + console.log("获取手机号失败!" + res.errMsg); + } + }, + }); + }, + }); + } else { + //拒绝 + if (e.currentTarget.dataset.type != "close") { + try { + wx.setStorageSync("comeFromPage", "index"); + } catch (e) { + console.log("index-页面跳转,设置参数错误:", e); + } + + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + that.close(); + } + } + return false; + }, + getAgencyUserId(id) { + var that = this; + wx.request({ + url: app.globalData.ip + "/channel/contact/getAgencyUserId", + method: "GET", + header: app.globalData.header, + data: { + channelContactId: id, + }, + success: function (res) { + console.log("获取来源对应的代理人,来源ID:", id); + console.log(res); + try { + if (app.isNotEmptyCheck(res.data.data)) { + wx.setStorageSync("storageSyncAgencyUserId", res.data.data); + } + //先设置代理人缓存人再登录 + app.getLoginUserTokenInfo(); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + //先设置代理人缓存人再登录 + app.getLoginUserTokenInfo(); + } + }, + fail: function (res0) { + console.log("获取来源对应的代理人错误", id); + }, + }); + }, + collectPaste(e) { + var txt; + var that = this; + if (!this.data.isLogin) { + wx.redirectTo({ + url: "/pages/login/index", + }); + return; + } + var collected = e.currentTarget.dataset.collected; + var storeJobId = e.currentTarget.dataset.jobid; + that.doCollected(collected, storeJobId); + // console.log(collected); + // if(!this.data.isCollect){ + // that.setData({ + // isCollect: true, + // collectTxt:'已收藏' + // }) + // txt = '收藏成功' + // }else{ + // that.setData({ + // isCollect: false, + // collectTxt:'收藏' + // }) + // } + }, + doCollected(collected, storeJobId) { + var that = this; + var url = "/user/collect/job/add"; + if (collected - 1 == 0) { + url = "/user/collect/job/remove"; + } + console.log(app.globalData.headers); + //发起网络请求 + wx.request({ + url: app.globalData.ip + url, + data: { + storeJobId: storeJobId, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + var txt; + if (collected - 1 == 0) { + //取消收藏 + for (var i = 0; i != that.data.recordList.length; ++i) { + if (that.data.recordList[i].id - storeJobId == 0) { + that.data.recordList[i].collected = 2; + break; + } + } + txt = "取消收藏"; + that.data.currentJobDrawer.collected = 2; + + if (that.data.choiceCollect == 1) { + if (that.data.drawerShow) { + that.data.drawerShow = false; + } + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + drawerShow: that.data.drawerShow, + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } + } else { + //收藏 + for (var i = 0; i != that.data.recordList.length; ++i) { + if (that.data.recordList[i].id - storeJobId == 0) { + that.data.recordList[i].collected = 1; + break; + } + } + that.data.currentJobDrawer.collected = 1; + + txt = "收藏成功"; + } + + console.log(that.data.currentJobDrawer); + + that.setData({ + recordList: that.data.recordList, + currentJobDrawer: that.data.currentJobDrawer, + isLogin: app.globalData.isLogin, + }); + wx.showToast({ + icon: "none", + title: txt, + }); + }, + fail: function (res) { + console.log("操作失败"); + }, + }); + }, + getUserInfoBtn: function (e) { + console.log(e); + let that = this; + let type = e.currentTarget.dataset.type; + var collected = e.currentTarget.dataset.collected; + var storeJobId = e.currentTarget.dataset.jobid; + let idx = e.currentTarget.dataset.idx; + console.log(type); + wx.getUserProfile({ + desc: "用于完善会员资料", // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 + success: (res) => { + console.log(res); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/updateUserWechatInfo", + data: { + nickName: res.userInfo.nickName, + avatarUrl: res.userInfo.avatarUrl, + gender: res.userInfo.gender, + country: res.userInfo.country, + province: res.userInfo.province, + city: res.userInfo.city, + }, + method: "POST", + header: app.globalData.headers, + success: function (res) { + console.log(res); + app.globalData.hasUserInfo = 1; + that.setData({ + hasUserInfo: 1, + }); + that.doMenuClick(type, collected, storeJobId, idx); + }, + fail: function (res) { + that.doMenuClick(type, collected, storeJobId, idx); + }, + }); + }, + fail: (res) => { + console.log(res); + that.doMenuClick(type, collected, storeJobId, idx); + }, + }); + }, + doMenuClick: function (_type, _collected, _storeJobId, _idx) { + let that = this; + if (_type - 1 == 0) { + //点击全国 + that.goCity(); + } else if (_type - 2 == 0) { + //搜索 + that.showInput(); + } else if (_type - 3 == 0) { + //筛选 + that.goScreen(); + } else if (_type - 4 == 0) { + //收藏 + that.doCollected(_collected, _storeJobId); + } else if (_type - 5 == 0) { + //报名 + wx.setStorageSync("jobDetailStorage", that.data.recordList[_idx]); + wx.navigateTo({ + url: "../enroll/index?applyType=1&tel=" + app.globalData.loginUserInfo.tel, + }); + } + }, + changSign(e) { + let that = this; + console.log(e); + that.data.storeJobListSearchForm.pageNum = 1; + if (e.target.dataset.type == 0 && that.data.signType != 0) { + that.data.storeJobListSearchForm.signType = ""; + that.setData({ + signType: e.target.dataset.type, + recordList: [], + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } else if (e.target.dataset.type == 1 && that.data.signType != 1) { + that.data.storeJobListSearchForm.signType = 1; + that.setData({ + signType: e.target.dataset.type, + recordList: [], + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } else if (e.target.dataset.type == 2 && that.data.signType != 2) { + that.data.storeJobListSearchForm.signType = 2; + that.setData({ + signType: e.target.dataset.type, + recordList: [], + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } + }, + /** + * 收藏的切换 + * + * + */ + collectChange(e) { + let that = this; + if (that.data.isLogin || (!that.data.isLogin && e.currentTarget.dataset.id == 0)) { + if (e.currentTarget.dataset.id) { + that.data.choiceCollect = e.currentTarget.dataset.id; + that.data.storeJobListSearchForm.ucj = e.currentTarget.dataset.id; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + choiceCollect: that.data.choiceCollect, + storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + hasMoreData: true, + }); + that.getJobList(); + } + } else { + // if(e.currentTarget.dataset.id == 1){ + that.setData({ + recordList: [], + choiceCollect: 1, + }); + // } + } + }, + choiceFilter(e) { + var that = this; + // let str = that.data.activez + let str = e.currentTarget.dataset.id; + if (str == "all") { + that.data.storeJobListSearchForm.sortTag = 0; + that.setData({ + firstMenu: "排序", + // storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + } else if (str == "zuijin") { + //距离最近 + if (that.data.storeJobListSearchForm.lng && that.data.storeJobListSearchForm.lat) { + that.data.storeJobListSearchForm.sortTag = 2; + that.setData({ + firstMenu: "距离", + // storeJobListSearchForm: tha t.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + } else { + wx.getLocation({ + type: "gcj02", + success(res1) { + console.log("获取位置1"); + app.globalData.lng = res1.longitude; + app.globalData.lat = res1.latitude; + that.data.storeJobListSearchForm.lng = res1.longitude; + that.data.storeJobListSearchForm.lat = res1.latitude; + that.data.storeJobListSearchForm.sortTag = 2; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + firstMenu: "距离", + storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + }, + fail() { + console.log("获取位置失败,打开位置设置界面"); + }, + }); + } + } else if (str == "zuigao") { + //工价最高 + that.data.storeJobListSearchForm.sortTag = 1; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + storeJobListSearchForm: that.data.storeJobListSearchForm, + firstMenu: "工价", + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + } + that.setData({ + activez: str, + }); + that.setData({ + whichOneShow: "", + siv: "", + }); + // setTimeout(() => { + // that.setData({ + // whichOneShow: "", + // }); + // console.log(this.data.whichOneShow); + // console.log("112233"); + // }, 1); + }, + /** + * 清除所有的筛选项 + * + * + */ + clearFilter() { + let that = this; + that.data.jobSpecialLabelList.forEach((item) => { + // console.log(item); + if (item.checked) { + item.checked = false; + } + }); + that.data.brandList.forEach((item) => { + if (item.checked) { + item.checked = false; + } + }); + that.data.storeJobListSearchForm.jobSpecialLabelIds = ""; + // that.data.storeJobListSearchForm.ucj = + // that.data.storeJobListSearchForm.brandIds = ""; + that.data.storeJobListSearchForm.jobCategoryLabelIds = ""; + that.data.storeJobListSearchForm.pageNum = 1; + that.data.storeJobListSearchForm.sortTag = 0; + that.data.storeJobListSearchForm.sex = -1; + + that.setData({ + jobSpecialLabelList: that.data.jobSpecialLabelList, + tagArray0: that.data.tagArray0, + tagArray1: that.data.tagArray1, + tagArray2: that.data.tagArray2, + tagArray3: that.data.tagArray3, + brandList: that.data.brandList, + selectJobList: [], + selectBrandList: [], + recordList: [], + whichOneShow: "", + firstMenu: "排序", + secondMenu: "不限", + sexid: -1, + activez: "all", + }); + + if (!that.data.isWannaShow) { + // that.choiceFilter({ + // currentTarget: { + // dataset: { + // id: "all", + // }, + // }, + // }); + // that.choiceSex({ + // currentTarget: { + // dataset: { + // id: "-1", + // }, + // }, + // }); + that.getJobList("isWannaShow"); + } + }, + scroll(e) { + e.preventDefault(); + e.stopPropagation(); + }, + stoptap(e) { + e.preventDefault(); + e.stopPropagation(); + }, + changeContact() { + console.log(2123); + wx.navigateTo({ + url: `/pages/configAnnunciate/index`, + }); + }, + /** + * 简版报名 + * + * + */ + recordBill(e) { + console.log(e.currentTarget.dataset.job); + console.log(123); + let middleInfo = e.currentTarget.dataset.job; + let info = JSON.stringify({ + id: middleInfo.id, + jobName: middleInfo.jobName, + storeName: middleInfo.storeName, + aliasName: middleInfo.aliasName, + storeId: middleInfo.storeId, + }); + console.log(info); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${info}`, + }); + }, + imageLoad() { + this.setData({ + isLoading: false, + }); + }, + setKey(e) { + console.log(e); + let data = e.currentTarget.dataset.key; + this.data.storeJobListSearchForm.keys = data; + this.setData({ + inputVal: data, + isWannaShow: false, + }); + this.setHistoryList(); + this.getJobList(); + }, + /** + * 存最近搜索调用的函数 + * + * + */ + funQC(arr) { + let newsArr = []; + for (let i = 0; i < arr.length; i++) { + if (app.isEmptyCheck(arr[i])) { + continue; + } + if (newsArr.indexOf(arr[i]) === -1) { + newsArr.push(arr[i]); + } + } + return newsArr; + }, + /** + * 删除最近搜索 + * + * + */ + closeDialog() { + this.setData({ + iosDialog: false, + }); + }, + /** + * 阻止滑动穿透 + * + * + */ + clearNearSearch() { + let that = this; + wx.showModal({ + title: "删除最近搜索", + content: "确定删除所有的最近搜索吗?", + contentColor: "#ccc", + confirmColor: "#ff4400", + confirmText: "确定", + cancelText: "取消", + success(res) { + console.log(res); + if (res.confirm) { + that.setData({ + historyList: [], + }); + wx.removeStorageSync("projectSearch"); + wx.showToast({ + title: "已删除", + icon: "none", + }); + } + }, + }); + }, + modalMove() { + return false; + }, + onHide() { + console.log("hide"); + wx.removeStorageSync("searchJobListParamStorage"); + wx.removeStorageSync("searchCityParamStorage"); + this.setData({ + whichOneShow: "", + }); + }, + onUnload() { + console.log("destory"); + }, +}); diff --git a/pages/jobListSearch/index.json b/pages/jobListSearch/index.json new file mode 100644 index 0000000..84dd50b --- /dev/null +++ b/pages/jobListSearch/index.json @@ -0,0 +1,7 @@ +{ + "usingComponents": {}, + "navigationBarTitleText": "搜索", + "navigationBarBackgroundColor": "#fff", + "navigationBarTextStyle": "black", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/jobListSearch/index.wxml b/pages/jobListSearch/index.wxml new file mode 100644 index 0000000..2a16f1e --- /dev/null +++ b/pages/jobListSearch/index.wxml @@ -0,0 +1,479 @@ + + + + + + + 搜索 + + + + + + + 最近搜索 + + + + {{item}} + + + + + + 猜你想搜 + + {{item}} + + + + + + + + + + + + {{searchCityParamStorage.name == '' ? '全国' : searchCityParamStorage.shortName}} + + + + {{firstMenu}} + + + + + + 综合排序 + 工价优先 + 距离优先 + + + + + {{ secondMenu }} + + + + + 男女不限 + 男生 + 女生 + + + + + 分类 + + + {{selectBrandList.length}} + + + + + + + {{item.name}} + + + + + + + + + + + + + + + + + + 筛选 + + + {{selectJobList.length}} + + + + 薪资福利 + + + {{item.name}} + + + 食宿保障 + + + {{item.name}} + + + 班制特色 + + + {{item.name}} + + + 其它特色 + + + {{item.name}} + + + + + + + + + + + + + + + + + + + {{firstMenu}} + + + {{secondMenu}} + + + + {{item.name}} + + + + + {{item.name}} + + + + + + 清除 + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{item.jobName}} + {{item.aliasName}} + {{item.salaryClassifyValue}} + + + + + {{item.district == "" ?'':item.district + ' | ' }} + {{item.distanceKm}} + {{item.age}} + + {{item.monthlyPay}} + + + + + + {{item1}} + 暂无特色 + + + 报名 + + + 报名 + + + + + + + + + + + + + 没有符合条件的职位 + + + + 已经到底啦~ + 上滑加载更多 + + + + + + + + + 没有符合条件的职位 + + + + + + + + + + + + + + + + {{index < 9?'0'+(index+1):index+1 }} + + {{item.jobName}} + {{item.salaryClassifyValue}},{{item.age}} + {{item.minMonthlyPay+'-'+item.maxMonthlyPay+'元/月'}},{{item.age}} + + + + + + + + + + 代理 + + + {{!isLogin ? '登录查看服务费' : (agencyStatus == 1 ? (item.fuWuFei ? item.fuWuFei : '-') : '服务费仅代理可见')}} + + + + + + + + 没有符合条件的职位 + + + + 已经到底啦~ + 上滑加载更多 + + + + 未登录时只能使用部分功能,成为伯才代理即可使用更多功能。 + + 登录稻田 + + + + + + + + 没有符合条件的职位 + + + + + + + + + + + + {{currentJobDrawer.jobName}} + + 服务费:{{!isLogin ? '登录查看服务费' : (agencyStatus == 1 ? (currentJobDrawer.fuWuFei ? currentJobDrawer.fuWuFei : '-') : '服务费仅代理可见')}} + + + + + + + + + +

已收藏

+
+ +

收藏

+
+
+ 报名 + + + 复制 + +
+
+ + + + {{userInfo.agencyStatus == 1 ? (userInfo.noticeEndStr ? userInfo.noticeEndStr : ('详情咨询:' + userInfo.tel)) : ('详情咨询:' + serviceInfo.aliasName + (serviceInfo.workPhone || '-'))}} + + 以上联系人,可以 + 改成我的 + + + +
+
+
+ + + + + + + 成为伯才代理 + 请联系客户经理 + + + + 客户经理 + + {{serviceInfo.userName }} + +

{{serviceInfo.tel || '0371-6611 3723'}}

+
+ + + + + 加载中... + + + 长按识别二维码 +
+
+
+
+
diff --git a/pages/jobListSearch/index.wxss b/pages/jobListSearch/index.wxss new file mode 100644 index 0000000..d775d9c --- /dev/null +++ b/pages/jobListSearch/index.wxss @@ -0,0 +1,118 @@ +@import "../index/index.wxss"; +.p1216 { + padding: 12px 16px; +} +page { + display: flex; + flex-direction: column; +} +.container { + flex: 1; +} +.historyBox { + display: flex; + flex-wrap: wrap; +} +.searchTag { + display: flex; + padding: 6px 12px; + margin-bottom: 10px; + /* float: left; */ + background-color: #fff; + border-radius: 2px; + font-size: 14px; + color: #333333; + margin-left: 10px; +} +.weui-search-bar.fff { + background-color: #fff; +} +.weui-search-bar.be { + background-color: #ff4400; +} +.weui-search-bar .icon-qingchu1 { + position: absolute !important; + z-index: 9999999; +} +.weui-search-bar .icon-qingchu1::after { + z-index: 9999; +} +.agencyRoleContainer { + padding: 10px; +} +.sub { + display: flex; + justify-content: space-between; + align-items: center; + height: 81px; + padding: 0 10px; + font-size: 18px; + background-color: #fff; + border-radius: 8px; +} +.sub-hover { + background-color: #e5e5e5; +} +.sub:not(:first-child) { + margin-top: 10px; +} +.weui-search-bar__box .weui-search-bar__input { + width: unset; +} + +.wannaList { + display: flex; + flex-wrap: wrap; +} +.wannaList .subset { + position: relative; + padding: 5px 12px; + margin-right: 10px; + margin-top: 10px; + background-color: #fff; + border-radius: 16px; +} +.wannaList .subset .clearIcon{ + position: absolute; + top: -6px; + right: -4px; + color: #aaa; +} +.wannaSearch { + position: relative; + /* margin-top: 32px; */ +} +.wannaSearch .laji{ + position: absolute; + right: 16px; + top: 0; + color: #999; +} +.markImg{ + z-index: 9; +} +.bottomBox{ + background-color: #fff; + border-top: 1px solid #eeeeee; + overflow: hidden; + position: absolute; + bottom: 0; + width: 100%; +} +.backIndex{ + width: 260px !important; + height: 44px; + opacity: 1; + display: flex; + align-items: center; + justify-content: center; + background: var(--color-ysd); + border-radius: 25px; + font-size: 18px; + font-weight: 601; + color: #ffffff; + padding: 0; + line-height: 44px; + margin-bottom: 40px; + margin-top: 20rpx; +} \ No newline at end of file diff --git a/pages/login/index.js b/pages/login/index.js new file mode 100644 index 0000000..85cab28 --- /dev/null +++ b/pages/login/index.js @@ -0,0 +1,690 @@ +const app = getApp(); +const commonUtil = require("../../utils/commonUtil"); +Page({ + data: { + disabled: 0, //0不可点 + getmsg: "获取验证码", + pop: 0, + tel: "", + userId: -1, + msgCode: "", + userUniqueCheck: true, //用户是否唯一 + tapFlag: true, //点击手机号倒计时变红 + regionMgrId: "", + reg_type: "a", + wxCode: "", + btnColor: false, + formPath: "", + loginType: "tel", // 登录类型 + password: null, + + }, + wxLogin() { + var that = this; + wx.login({ + success(res) { + if (res.code) { + that.setData({ + wxCode: res.code, + }); + } else { + console.log("获取code失败!" + res.errMsg); + } + }, + }); + }, + onLoad: function (options) { + var that = this; + console.log(options); + if (options.type) { + this.setData({ + loginType: options.type, + }); + } + this.setData({ + formPath: options.path, + }); + if (app.isNotEmptyCheck(options.scene)) { + console.log("XXXXXXXXXXXX") + //扫小程序码携带参数 + var sceneStr = decodeURIComponent(options.scene); + var sceneJson = commonUtil.sceneToJson(sceneStr); + console.log("sceneJson===", sceneJson); + app.globalData.loginKey = sceneJson.loginKey + debugger + + app.getLoginUserTokenInfo().then(res => { + console.log(res) + + if(app.isNotEmptyCheck(app.globalData.loginKey)) { + app.globalData.loginKey = ""; + if(app.globalData.loginUserInfo.agencyStatus == 1) { + wx.navigateTo({ + url: '/pages/bocaiTV/index', + }) + } + + } + }) + + } + }, + onShow: function () { + + var comeFrom = wx.getStorageSync("comeFromPage"); + console.log(comeFrom); + + // app.dialog("通知","请注意","知道了") + this.wxLogin(); + }, + changeBtn: function (e) { + var myreg = /^[1][3456789][0-9]{9}$/; + if (myreg.test(e.detail.value)) { + console.log("验证码变色"); + this.setData({ + disabled: "1", + btnColor: true, + tel: e.detail.value, + }); + } else { + this.setData({ + btnColor: false, + disabled: 0, + }); + } + }, + showCha: function (e) { + var myreg = /^[1][3456789][0-9]{9}$/; + console.log(e.detail.value); + if (e.target.dataset.tel == 1) { + // && this.data.tapFlag + if (myreg.test(e.detail.value)) { + console.log("验证码变色"); + this.setData({ + disabled: 1, + btnColor: true, + tel: e.detail.value, + }); + } else { + this.setData({ + btnColor: false, + disabled: 0, + }); + } + } else { + this.setData({ + msgCode: e.detail.value, + }); + } + }, + /** + * 改变登录类型 + * + * + */ + changeLoginType() { + this.setData({ + loginType: this.data.loginType == "psw" ? "tel" : "psw", + }); + }, + sendMsg: function () { + console.log(this.data.tel); + var that = this; + + that.setData({ + btnColor: false, + disabled: 0, + }); + + that.getCode(); + var timer = 1; + if (timer == 1) { + timer = 0; + var time = 60; + var inter = setInterval(function () { + that.setData({ + getmsg: time + "s", + btnColor: false, + disabled: 0, + tapFlag: false, + }); + time--; + if (time < 0) { + timer = 1; + clearInterval(inter); + that.setData({ + getmsg: "重新获取", + btnColor: true, + disabled: 1, + tapFlag: true, + }); + } + }, 1000); + } + }, + + getCode: function () { + var that = this; + wx.request({ + url: app.globalData.ip + "/commons/sendMsgCode", + data: { + tel: that.data.tel, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log("发送短信验证码"); + console.log(res); + if (res.data.status == 200) { + } else if (res.data.status == 9999) { + app.dialogNotLogin(); + } else { + } + }, + }); + }, + getPhoneNumber(e) { + var that = this; + console.log(e); + console.log(e.detail.errMsg); + + if ("getPhoneNumber:ok" == e.detail.errMsg) { + //同意 + wx.showLoading({ + title: "登录中...", + }); + var iv = e.detail.iv; + var encryptedData = e.detail.encryptedData; + wx.checkSession({ + success() { + //session_key 未过期,并且在本生命周期一直有效 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: that.data.wxCode, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + app.globalData.openId = res.data.data.openId; + app.globalData.unionid = res.data.data.unionid; + app.globalData.isLogin = 1; + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + promise.then((res) => { + try { + var comeFrom = wx.getStorageSync("comeFromPage"); + console.log(comeFrom); + // debugger + // console.log(app.isNotEmptyCheck(that.globalData.loginKey)); + + + + + // var comeFromPageParam = wx.getStorageSync('comeFromPageParam'); + console.log(comeFrom); + if (comeFrom == "me") { + wx.reLaunch({ + url: "/pages/mine/index", + }); + } else if (comeFrom == "set") { + wx.reLaunch({ + url: "../workBench/index", + }); + } else if (comeFrom == "detail") { + wx.navigateBack({ + delta: 1, + }); + }else if (comeFrom == "shareList") { + wx.reLaunch({ + url: "/pages/shareList/index", + }); + } else if (comeFrom == "detailBaoming") { + wx.reLaunch({ + url: `../newEnroll/enroll/index?applyType=1&info=${wx.getStorageSync("baomingDetail")}`, + }); + } else if (comeFrom == "collect") { + wx.reLaunch({ + url: "/pages/collect/index", + }); + } else if (comeFrom == "index") { + wx.reLaunch({ + url: "/pages/index/index", + }); + } else if (comeFrom == "BillInfo") { + // console.log(wx.getStorageSync('QRBillInfo')); + // console.log(JSON.stringify(wx.getStorageSync('QRBillInfo'))); + wx.reLaunch({ + url: "/pages/wodeBillDetail/index?info=" + JSON.stringify(wx.getStorageSync("QRBillInfo")), + }); + wx.removeStorageSync("QRBillInfo"); + } else { + wx.setStorage({ + key: "comeFrom", + data: "login", + }); + wx.reLaunch({ + url: "/pages/index/index", + }); + } + + // if (app.isNotEmptyCheck(that.globalData.loginKey)){ + // wx.redirectTo({ + // url: 'pages/bocaiTV/index', + // }) + // return + // } + + + + } catch (e) { + wx.setStorage({ + key: "comeFrom", + data: "login", + }); + wx.reLaunch({ + url: "/pages/index/index", + }); + } + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + }, + fail() { + // session_key 已经失效,需要重新执行登录流程 + wx.login({ + success(res) { + if (res.code) { + console.log(res.code); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: res.code, + iv: iv, + encryptedData: encryptedData, + type: "dtdl", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + promise.then((res) => { + wx.reLaunch({ + url: "/pages/index/index", + }); + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + } else { + console.log("获取手机号失败!" + res.errMsg); + } + }, + }); + }, + }); + } else { + //拒绝 + try { + wx.setStorageSync("comeFromPage", "me"); + } catch (e) { + console.log("0-页面跳转,设置参数错误:", e); + } + // wx.navigateTo({ + // url: "/pages/login/index", + // }); + } + return false; + }, + /** + * 登录信息提交前校验 + * + * + */ + beforeFormSubmit(e) { + console.log(e); + let that = this; + if (that.data.loginType == "tel") { + this.formSubmit(e.detail.value); + } else { + this.pswLogin(); + } + }, + /** + * 账号密码登录 + * + * + */ + pswLogin() { + let that = this; + app.load("登录中..."); + console.log(that.data.tel); + console.log(that.data.password); + if (that.data.tel == "") { + app.hideLoad(); + app.showTips(that, "请输入正确手机号"); + return; + } + if (that.data.password == "") { + app.hideLoad(); + app.showTips(that, "密码不能为空"); + return; + } + var channelContactId = ""; + try { + var value = wx.getStorageSync("fromQrCodeChannelContactId"); + if (value) { + console.log("fromQrCodeChannelContactId:======", value); + channelContactId = value; + } + } catch (e) { + console.log("获取缓存设置的参数错误:", e); + } + + var agencyUserId = ""; + try { + var value = wx.getStorageSync("storageSyncAgencyUserId"); + if (value) { + console.log("storageSyncAgencyUserId======", value); + agencyUserId = value; + } + } catch (e) { + console.log("获取缓存设置的参数错误:", e); + } + + wx.request({ + url: app.globalData.ip + "/yishoudan/login", + data: { + tel: that.data.tel, + password: that.data.password, + autoLoginTag: 0, + loginType: 0, + channelContactId: channelContactId, + agencyUserId: agencyUserId, + isScanQRCodes: app.globalData.isScanQRCodes, + wxCode: that.data.wxCode, + }, + method: "post", + header: { + "content-type": "application/x-www-form-urlencoded", + }, + success: function (res) { + app.hideLoad(); + console.log(res.data); + + if (res.data.status == 200) { + that.setLoginData(res); + wx.request({ + url: app.globalData.ip + "/costumer/manager", + header: app.globalData.headers, + success(res) { + console.log(res); + if (res.data.status == 200) { + app.globalData.serviceInfo = res.data.data; + console.log(app.globalData.serviceInfo); + if (app.globalData.serviceInfo.workPhone) { + let tel = app.globalData.serviceInfo.workPhone; + let num1 = tel.slice(0, 3); + let num2 = tel.slice(3, 7); + let num3 = tel.slice(7, 11); + app.globalData.serviceInfo.tel = num1 + "-" + num2 + "-" + num3; + console.log(app.globalData.serviceInfo.tel); + } + } + }, + }); + console.log(222); + } else { + wx.showToast({ + icon: "none", + title: res.data.msg, + duration: 2000, + }); + } + }, + }); + }, + /** + * 手机验证登录 + * + * + */ + formSubmit: function (data) { + app.load("登录中..."); + var that = this; + + if (that.data.tel == "") { + app.hideLoad(); + app.showTips(that, "请输入正确手机号"); + return; + } + if (that.data.msgCode == "") { + app.hideLoad(); + app.showTips(that, "验证码不能为空"); + return; + } + + var channelContactId = ""; + try { + var value = wx.getStorageSync("fromQrCodeChannelContactId"); + if (value) { + console.log("fromQrCodeChannelContactId:======", value); + channelContactId = value; + } + } catch (e) { + console.log("获取缓存设置的参数错误:", e); + } + + var agencyUserId = ""; + try { + var value = wx.getStorageSync("storageSyncAgencyUserId"); + if (value) { + console.log("storageSyncAgencyUserId======", value); + agencyUserId = value; + } + } catch (e) { + console.log("获取缓存设置的参数错误:", e); + } + console.log(that.data.tel); + // if (that.data.tel == "18537774") { + // // (app.globalData.header.Authorization = "Bearer " + "eyJUeXBlIjoiSnd0IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJ0b2tlbiI6IntcImNyZWF0ZWRcIjoxNjg2OTA0NDEzMzM0LFwidGVsXCI6XCIxODUzNzc3MjI0NFwiLFwidXNlcklkXCI6MzEyNDk2LFwidXNlck5hbWVcIjpcIumZiOe7j-eQhlwifSJ9.9Z0cqhQ9o7dKyxyLflUcT6MhkdkmPXOs49wHjM4z1ko"), + // wx.request({ + // url: app.globalData.ip + "/appLoginByToken", + // header: app.globalData.header, + // success: function (res) { + // console.log(res); + // if (app.isNotEmptyCheck(res.data)) { + // app.globalData.user = res.data.data.user; + // app.globalData.sessionId = res.data.data.sessionId; + // app.globalData.headers.Cookie = "JSESSIONID=" + res.data.data.sessionId; + // app.globalData.headers2.Cookie = "JSESSIONID=" + res.data.data.sessionId; + // app.globalData.isLogin = true; + // app.globalData.agencyStatus = res.data.data.agencyStatus; + // app.globalData.loginUserInfo = res.data.data; + // //登录设置缓存 + // app.globalData.userLoginTokenInfo.tel = res.data.data.tel; + // app.globalData.userLoginTokenInfo.token = "eyJUeXBlIjoiSnd0IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJ0b2tlbiI6IntcImNyZWF0ZWRcIjoxNjg2OTA0NDEzMzM0LFwidGVsXCI6XCIxODUzNzc3MjI0NFwiLFwidXNlcklkXCI6MzEyNDk2LFwidXNlck5hbWVcIjpcIumZiOe7j-eQhlwifSJ9.9Z0cqhQ9o7dKyxyLflUcT6MhkdkmPXOs49wHjM4z1ko"; + // wx.setStorageSync("loginUserTokenInfo", app.globalData.userLoginTokenInfo); + // try { + // var comeFrom = wx.getStorageSync("comeFromPage"); + // // var comeFromPageParam = wx.getStorageSync('comeFromPageParam'); + // console.log(comeFrom); + // if (comeFrom == "me") { + // wx.reLaunch({ + // url: "/pages/index/index", + // }); + // } else if (comeFrom == "index") { + // wx.reLaunch({ + // url: "/pages/index/index", + // }); + // } else if (comeFrom == "detail") { + // wx.navigateBack({ + // delta: 1, + // }); + + // // wx.reLaunch({ + // // url: "/pages/detail/index?storeJobId=" + comeFromPageParam.storeJobId + // // }) + // } else if (comeFrom == "collect") { + // wx.reLaunch({ + // url: "/pages/collect/index", + // }); + // } else if (comeFrom == "BillInfo") { + // // console.log(wx.getStorageSync('QRBillInfo')); + // // console.log(JSON.stringify(wx.getStorageSync('QRBillInfo'))); + // wx.reLaunch({ + // url: "/pages/wodeBillDetail/index?info=" + JSON.stringify(wx.getStorageSync("QRBillInfo")), + // }); + // wx.removeStorageSync("QRBillInfo"); + // } else { + // wx.setStorage({ + // key: "comeFrom", + // data: "login", + // }); + // wx.reLaunch({ + // url: "/pages/workBench/index", + // }); + // } + // } catch (e) { + // wx.setStorage({ + // key: "comeFrom", + // data: "login", + // }); + // wx.reLaunch({ + // url: "/pages/index/index", + // }); + // } + // } else { + // } + // }, + // }); + // } else { + + wx.request({ + url: app.globalData.ip + "/appLoginByTelYiShouDan", + data: { + tel: that.data.tel, + code: that.data.msgCode, + autoLoginTag: 0, + loginType: "login", + channelContactId: channelContactId, + agencyUserId: agencyUserId, + isScanQRCodes: app.globalData.isScanQRCodes, + wxCode: that.data.wxCode, + }, + header: { + "content-type": "application/json", + }, + success: function (res) { + app.hideLoad(); + + console.log(res.data); + + if (res.data.status == 200) { + that.setLoginData(res); + console.log(222); + } else { + wx.showToast({ + icon: "none", + title: res.data.msg, + duration: 2000, + }); + } + }, + }); + // } + }, + /** + * 将传回的登录信息存储以及页面的跳转 + * + * + */ + setLoginData(res) { + console.log(res); + app.globalData.user = res.data.data.user; + app.globalData.sessionId = res.data.data.sessionId; + app.globalData.headers.Cookie = "JSESSIONID=" + res.data.data.sessionId; + app.globalData.headers2.Cookie = "JSESSIONID=" + res.data.data.sessionId; + app.globalData.isLogin = true; + app.globalData.agencyStatus = res.data.data.agencyStatus; + app.globalData.loginUserInfo = res.data.data; + //登录设置缓存 + app.globalData.userLoginTokenInfo.tel = res.data.data.tel; + // app.globalData.userLoginTokenInfo.token = null; + wx.setStorageSync("loginUserTokenInfo", app.globalData.userLoginTokenInfo); + + console.log(111); + try { + var comeFrom = wx.getStorageSync("comeFromPage"); + // var comeFromPageParam = wx.getStorageSync('comeFromPageParam'); + console.log(comeFrom); + if (app.isNotEmptyCheck(that.globalData.loginKey)){ + wx.redirectTo({ + url: 'pages/bocaiTV/index', + }) + } + + + + if (comeFrom == "me") { + wx.reLaunch({ + url: "/pages/index/index", + }); + } else if (comeFrom == "index") { + wx.reLaunch({ + url: "/pages/index/index", + }); + } else if (comeFrom == "detail") { + wx.navigateBack({ + delta: 1, + }); + } else if (comeFrom == "collect") { + wx.reLaunch({ + url: "/pages/collect/index", + }); + }else if (comeFrom == "shareList") { + wx.reLaunch({ + url: "/pages/shareList/index", + }); + } else if (comeFrom == "BillInfo") { + // console.log(wx.getStorageSync('QRBillInfo')); + // console.log(JSON.stringify(wx.getStorageSync('QRBillInfo'))); + wx.reLaunch({ + url: "/pages/wodeBillDetail/index?info=" + JSON.stringify(wx.getStorageSync("QRBillInfo")), + }); + wx.removeStorageSync("QRBillInfo"); + } else { + wx.setStorage({ + key: "comeFrom", + data: "login", + }); + wx.reLaunch({ + url: "/pages/workBench/index", + }); + } + } catch (e) { + wx.setStorage({ + key: "comeFrom", + data: "login", + }); + wx.reLaunch({ + url: "/pages/index/index", + }); + } + }, + ohShitfadeOut() { + var fadeOutTimeout = setTimeout(() => { + this.setData({ popErrorMsg: "", pop: 0 }); + clearTimeout(fadeOutTimeout); + }, 3000); + }, +}); diff --git a/pages/login/index.json b/pages/login/index.json new file mode 100644 index 0000000..c2afa67 --- /dev/null +++ b/pages/login/index.json @@ -0,0 +1,6 @@ +{ + "navigationBarBackgroundColor":"#027aff", + "navigationBarTextStyle":"white", + "backgroundColor": "#FFFFFF", + "navigationBarTitleText": "登录" +} \ No newline at end of file diff --git a/pages/login/index.wxml b/pages/login/index.wxml new file mode 100644 index 0000000..bc26b31 --- /dev/null +++ b/pages/login/index.wxml @@ -0,0 +1,66 @@ + + + + + + + + + + + 为劳动者创造价值 + + + +
+ + + + + + + + + {{getmsg}} + + + + + + + + + + {{loginType == 'psw' ? '验证码登录':'密码登录'}} + 找回密码 + + + + + + + + + + + +
+
+ + + + 伯才人力资源供应链平台 荣誉出品 + + + +
+ + {{popErrorMsg}} + diff --git a/pages/login/index.wxss b/pages/login/index.wxss new file mode 100644 index 0000000..de511db --- /dev/null +++ b/pages/login/index.wxss @@ -0,0 +1,225 @@ +page { + background-color: #fff; +} +.tc .logo { + width: 70px; + height: 70px; + margin: 5% 0 0; +} +.container { + display: flex; + flex-direction: column; + justify-content: space-around; + height: 100vh; +} +.logoPng { + width: 70px; + height: 70px; + margin-top: 30px; + /* margin-bottom: 20px; */ +} +.logoTxt { + font-size: 18px; + font-weight: 400; + color: #919191; + line-height: 25px; + margin-bottom: 30px; +} +.input_base { + border: 2rpx solid #0000000f; + padding-left: 10rpx; + margin-right: 50rpx; +} + +.input_h30 { + height: 30px; + line-height: 30px; +} + +.input_h60 { + height: 60px; +} + +.input_view { + font: 12px; + background: #fff; + color: #000; + line-height: 30px; +} + +.wx-text-list, +.wx-text-cover { + background-color: #fff; +} + +.wx-text-list .wx-list-li, +.wx-text-cover .wx-list-li { + display: flex; + -webkit-align-items: center; + align-items: center; + -webkit-justify-content: center; + justify-content: center; + padding: 10px 15px 10px 0; + margin-left: 15px; + border-bottom: 1px solid #f3f3f3; +} + +.li-hover { + background-color: #ececec; +} + +.wx-text-list .wx-list-li:last-child { + border-bottom: 0; +} + +.flex-right { + text-align: right; + flex: 1; +} + +.flex-left { + text-align: left; + flex: 1; +} + +.input-pl { + padding-left: 30px; +} + +.mw-label { + min-width: 90px; +} + +.wx-list-li .icon-xiayiye, +.wx-list-li .icon-dianji { + font-size: 30rpx; + padding-left: 5px; + display: inline; + color: #ccc; + position: relative; + top: -3px; +} + +.wx-list-li .icon-dianji { + opacity: 0; + pointer-events: none; +} + +.cur.icon-dianji { + opacity: 1; + pointer-events: auto; +} + +.pce { + color: #ccc; +} + +.wx-text-cover .wx-list-li { + margin-left: 0; + padding-left: 15px; +} + +.list-avater { + width: 120rpx; + height: 120rpx; + border-radius: 4px; + margin-right: 10px; +} + +.radio-group { + background-color: #fff; +} + +label.radio { + display: block; + padding: 12px 0; + margin-left: 15px; + background: #fff; + border-bottom: 1px solid #0000000f; +} + +label.radio:last-child { + border-bottom: 0; +} + +.icon-fangdajing { + line-height: 30px; + position: relative; + top: -4px; + margin-right: 3px; +} + +.ui-searchbar input { + padding: 0; +} +.loginForm { + padding: 0 37px; + /* margin-top: 12%; */ +} + +.phoneInput { + height: 50px; + opacity: 1; + background: #f4f4f4; + border-radius: 8px; + font-size: 17px; + font-weight: 400; + color: #000; + line-height: 24px; + padding-left: 20px; + padding-right: 60px; +} +.onlyBtn { + margin-top: 12%; +} +button.loginBtn { + width: 260px !important; + height: 48px; + font-weight: 500; + border-radius: 25px; + font-size: 18px; + padding: 0; + color: #ffffff; + background-color: var(--color-ysd); + line-height: 48px; +} +.loginBtn.wxBtn { + width: 258px !important; + height: 46px; + line-height: 46px; + background-color: #fff; + color: var(--color-ysd); + border: 1px solid var(--color-ysd); +} +.loginBtnHov{ + background-color: var(--color-ysd) !important; + color: #fff !important; +} +/* .wxBtn.button-hover[type=primary] { + color: #FFFFFF; + background-color: #0c880a +} */ + +.sendCode.code { + border-left: 1px solid #0000000f; + line-height: 20px; + height: 20px; + font-size: 17px; + color: #333; + padding-left: 10px; + padding-right: 20px; + text-align: center; +} +.code.disabled { + color: #979797; + pointer-events: none; +} +.bocai { + /* position: sticky; */ + /* bottom: 0; + left: 0; */ + /* margin-top: 15%; */ +} +.changeType{ + padding: 0 20px; +} \ No newline at end of file diff --git a/pages/message/index.js b/pages/message/index.js new file mode 100644 index 0000000..23c7f05 --- /dev/null +++ b/pages/message/index.js @@ -0,0 +1,149 @@ +// pages/message/index.js +const app = getApp(); +import dateUtil from "../../utils/dateUtil"; +Page({ + /** + * 页面的初始数据 + */ + data: { + isLogin: app.globalData.isLogin, + serviceInfo: {}, + iosDialog: false, + isLoading: true, + messageClick: false, + infoList: [], + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + this.setData({ + messageClick: wx.getStorageSync("messageClick" + app.globalData.loginUserInfo.id), + }); + console.log(this.data.messageClick); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + // let serviceInfo = wx.getStorageSync('ServiceInfo') + this.getInfoList(); + console.log('messageTab'+typeof this.getTabBar); + if (typeof this.getTabBar === "function" && this.getTabBar()) { + this.getTabBar().setData({ + selected: 1, + }); + } + setTimeout(() => { + this.setData({ + serviceInfo: app.globalData.serviceInfo, + isLoading: true, + messageClick: wx.getStorageSync("messageClick" + app.globalData.loginUserInfo.id), + }); + }, 10); + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + this.setData({ + iosDialog: false, + }); + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() {}, + + makePhoneCall() { + console.log(1); + var that = this; + wx.makePhoneCall({ + // number: that.data.jobDetail.assistantUserTel + "" + phoneNumber: that.data.serviceInfo.workPhone || "0371-6611 3723", + }); + }, + + showdialog() { + this.setData({ + iosDialog: true, + loading: true, + }); + }, + closeDialog() { + this.setData({ + iosDialog: false, + }); + }, + imageLoad() { + this.setData({ + isLoading: false, + }); + }, + getInfoList() { + let that = this; + wx.request({ + url: app.globalData.ip + "/bocai/cms/list", + data: { pageSize: 100, pageNum: 1, keys: "" }, + header: app.globalData.headers, + method: "post", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + res.data.data.pageBean.recordList.forEach(item => { + item['pubTime'] = dateUtil.timeShow(item.publishTime); + console.log(item); + }); + that.setData({ + infoList: res.data.data.pageBean.recordList, + }); + } + }, + }); + }, + /** + * 阻止滑动穿透 + * + * + */ + modalMove() { + return false; + }, + goDetail(e) { + console.log(e); + if (e.currentTarget.dataset.type == "wellcome") { + wx.setStorageSync("messageClick" + app.globalData.loginUserInfo.id, true); + wx.navigateTo({ + url: "/pages/messageDetail/index?type=1", + }); + } else { + wx.navigateTo({ + url: "/pages/messageDetail/index?id=" + e.currentTarget.dataset.id, + }); + } + }, +}); diff --git a/pages/message/index.json b/pages/message/index.json new file mode 100644 index 0000000..072ff77 --- /dev/null +++ b/pages/message/index.json @@ -0,0 +1,6 @@ +{ + "navigationBarTitleText" : "消息", + "navigationBarBackgroundColor": "#027aff", + "backgroundColor": "#f5f5f5", + "navigationBarTextStyle": "white" +} \ No newline at end of file diff --git a/pages/message/index.wxml b/pages/message/index.wxml new file mode 100644 index 0000000..bcacfcc --- /dev/null +++ b/pages/message/index.wxml @@ -0,0 +1,107 @@ + + + + + + + + + + + 客户经理 + + {{serviceInfo.userName}} + +

{{serviceInfo.tel || '0371-6611 3723'}}

+
+
+
+ + + + +
+ + + 伯才稻田欢迎您 + + 伯才稻田(以下简称”稻田“),是一个专门服务代理的平台。 + + + + + + + {{item.title}} + + {{item.pubTime}} + + {{item.remark}} + + + + 暂无消息 + +
+ + + + + + + + + + 加客户经理微信 + + + + + 加载中... + + + + + 长按识别二维码 + + + + diff --git a/pages/message/index.wxss b/pages/message/index.wxss new file mode 100644 index 0000000..8fdff57 --- /dev/null +++ b/pages/message/index.wxss @@ -0,0 +1,56 @@ +/* pages/message/index.wxss */ +.container{ + padding: 10px; +} +.container .servicebox { + /* display: flex; */ + /* justify-content: space-between; */ + /* flex-direction: column; */ + /* align-items: start; */ + /* padding: 20px; */ + padding: 16px 12px; + /* padding-bottom: 0; */ + /* padding-right: 10px; */ + background-color: #fff; +} +.container .servicebox .serviceinfo{ +} +.container .servicebox .serviceinfo image { + width: 52px; + height: 52px; +} +.servicebox .serviceBottom { + height: 48px; + line-height: 48px; + width: 100%; + justify-content: space-between; +} +.servicebox .serviceBottom > view { + flex: 1; + justify-content: space-between; + padding: 0 10px 0 16px; +} +.contact { + width: 80%; + height: 350px; +} +.contact .weui-dialog__hd{ + margin-top: 40px; + padding: 0; + position: relative; +} +.contact .contact_bottomBtn .v-center { + width: 80px !important; +} +.contact .contact_bottomBtn .rflex button { + padding: 0; + width: 100%; +} +.guanbi{ + position: absolute; + right: 16px; + top: -28px; +} +.mb32{ + margin-bottom: 32px; +} \ No newline at end of file diff --git a/pages/messageDetail/index.js b/pages/messageDetail/index.js new file mode 100644 index 0000000..bfe99bc --- /dev/null +++ b/pages/messageDetail/index.js @@ -0,0 +1,143 @@ +const app = getApp(); +// pages/messageDetail/index.js +Page({ + /** + * 页面的初始数据 + */ + data: { + iosDialogTobe: false, + serviceInfo: {}, + pageType: null, + currentId: null, + currentInfo: {}, + tagStyle: { + p: "margin-top: 0; margin-bottom: 0;line-height: 1.8; white-space:pre-wrap;", + body: " margin: 0; color: #333; font-size: 14px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-variant: tabular-nums; line-height: 1.8; -webkit-font-feature-settings: 'tnum'; font-feature-settings: 'tnum';", + h1: " margin-top: 0; margin-bottom: 0.5em;margin-top:0.3em; color: rgba(0, 0, 0, 0.85); font-weight: 500;line-height: 1.1;font-size:24px; ", + h2: " margin-top: 0; margin-bottom: 0.5em;margin-top:0.3em; color: rgba(0, 0, 0, 0.85); font-weight: 500;line-height: 1.1;font-size:21px; ", + h3: " margin-top: 0; margin-bottom: 0.5em;margin-top:0.3em; color: rgba(0, 0, 0, 0.85); font-weight: 500;line-height: 1.1;font-size:16px; ", + h4: " margin-top: 0; margin-bottom: 0.5em;margin-top:0.3em; color: rgba(0, 0, 0, 0.85); font-weight: 500;line-height: 1.1 ", + h5: " margin-top: 0; margin-bottom: 0.5em;margin-top:0.3em; color: rgba(0, 0, 0, 0.85); font-weight: 500;line-height: 1.1 ", + h6: " margin-top: 0; margin-bottom: 0.5em;margin-top:0.3em; color: rgba(0, 0, 0, 0.85); font-weight: 500;line-height: 1.1 ", + strong: "font-weight: bolder;", + b: "font-weight: bolder;", + dl: "margin-top: 0; margin-bottom: 1em;", + ol: "margin-top: 0; margin-bottom: 1em;", + ul: "margin-top: 0; margin-bottom: 1em;", + li: "line-height: 1.8", + hr: "box-sizing: content-box;height:1rpx;overflow: visible;background-color: #ddd;border:0;", + table: "border-collapse: collapse;border: 1px solid #d9d9d9;margin: 18px 0 16px 0;line-height: 1.8", + td: "border: 1px solid #d9d9d9;vertical-align: top;padding: 4px 8px;line-height: 1.8", + }, + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + console.log(options); + if (options.type) { + this.setData({ + pageType: options.type, + }); + } + if (options.id) { + this.setData({ + currentId: options.id, + }); + this.requestInfo(); + } + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + setTimeout(() => { + this.setData({ + serviceInfo: app.globalData.serviceInfo, + }); + }, 10); + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() {}, + requestInfo() { + let that = this; + wx.showLoading({ + title: "正在获取内容", + }); + wx.request({ + url: app.globalData.ip + "/bocai/cms/details/" + this.data.currentId, + header: app.globalData.headers, + success: function (res) { + console.log(res); + if (res.data.status == 200) { + setTimeout(() => { + // let reg = /]*href=['"]([^"]*)['"][^>]*>(.*?)<\/a>/g.exec(res.data.data.content); + // console.log(reg); + + that.setData({ + currentInfo: res.data.data, + html: res.data.data.content.replace(//g, ""), + }); + wx.hideLoading(); + }, 1000); + wx.request({ + url: app.globalData.ip + "/bocai/cms/read/" + that.data.currentId, + header: app.globalData.headers, + success: function (res) { + console.log(res); + if (res.data.status == 200) { + } + }, + }); + } else { + wx.showToast({ + title: res.data.msg, + icon: "none", + duration: 2000, + }); + wx.hideLoading(); + } + }, + }); + }, + showTobe() { + this.setData({ + iosDialogTobe: true, + }); + }, + closeDialog() { + this.setData({ + iosDialogTobe: false, + }); + }, +}); diff --git a/pages/messageDetail/index.json b/pages/messageDetail/index.json new file mode 100644 index 0000000..0d20f46 --- /dev/null +++ b/pages/messageDetail/index.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText" : "消息", + "backgroundColor":"#f5f5f5", + "navigationBarBackgroundColor": "#027aff", + "navigationBarTextStyle": "white" + +} \ No newline at end of file diff --git a/pages/messageDetail/index.wxml b/pages/messageDetail/index.wxml new file mode 100644 index 0000000..09ceb49 --- /dev/null +++ b/pages/messageDetail/index.wxml @@ -0,0 +1,66 @@ + + 伯才稻田欢迎您 + + 伯才稻田(以下简称“稻田”),是一个专门服务代理的平台。 + 稻田秉承“资源共享、伙伴共赢”的理念,为合作伙伴提供海量项目内容分发及流量分佣。在稻田,您可以享受项目查看、老乡报名、面试跟踪、财务结算等一站式服务,省时、省心、省力。 + + 如果您还现在不是稻田的合作代理,您可以在此 + 申请成为代理,共享平台项目及流量资源。 + + 稻田期待与您一道,细细耕耘,共同助力人力资源行业新发展,为劳动者创造价值。 + 感谢您的支持与合作! + + + 伯才稻田运营中心 + 2023年6月16日 + + + + + + + + 成为伯才代理 + 请联系客户经理 + + + + 客户经理 + + {{serviceInfo.userName }} + +

{{serviceInfo.tel || '0371-6611 3723'}}

+
+ + 长按识别二维码 +
+
+
+
+
+
+ + + 通许聚创人力 + 请求添加你为团队成员 + + + + + + + + + 张三 + 已同意成为你的成员 + + + + + {{currentInfo.title}} + + + diff --git a/pages/messageDetail/index.wxss b/pages/messageDetail/index.wxss new file mode 100644 index 0000000..e3af288 --- /dev/null +++ b/pages/messageDetail/index.wxss @@ -0,0 +1,100 @@ +/* pages/messageDetail/index.wxss */ +page { + padding: 10px; + + height: calc(100vh - 20px); +} +.content { + height: calc(100% - 30px); + padding: 24px 12px; + background-color: #fff; + border-radius: 8px; + /* overflow: hidden; */ +} +.content .title { + text-align: center; + padding-bottom: 24px; +} +.info view { + padding-bottom: 24px; + white-space: pre-wrap; + text-indent: 20px; +} +.bottom { + text-align: right; +} +.tobe { + height: 70%; +} +.guanbi { + position: absolute; + right: 16px; + top: -28px; +} +.tobe .guanbi { + top: 12px; +} +.tobe .weui-dialog__hd { + position: relative; + height: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + margin-top: 8%; +} +.tobe .weui-dialog__hd .top { + padding-bottom: 20px; + width: 100%; +} +.tobe .weui-dialog__hd .bottom { + display: flex; + flex: 1; + flex-direction: column; + justify-content: center; + align-items: center; + width: 100%; + /* padding-top: 10px; */ +} +.tobe .weui-dialog__hd .bottom > view { + text-align: center; + margin-top: -30px; +} +.tobeText { + display: inline; + color: #576b95; + font-weight: bold; + text-decoration: underline; +} +.messageContent { + padding: 16px 0; + border-radius: 8px; + background-color: #fff; + text-align: center; +} +.btnBox { + display: flex; + justify-content: center; + margin-top: 110px; +} +.btnBox button { + width: 128px; + height: 42px; + margin: 10px; + padding: 0; + border-radius: 22px; + font-weight: bold; + font-size: 16px; + line-height: 42px; +} +.cancel { + background: #ffffff; + border: 1px solid #ff4400; + border-radius: 22px; + color: #ff4400; +} +.agree { + background: #ff4400; + border-radius: 21px; + color: #fff; +} diff --git a/pages/mine/addAddress/index.js b/pages/mine/addAddress/index.js new file mode 100644 index 0000000..b26d848 --- /dev/null +++ b/pages/mine/addAddress/index.js @@ -0,0 +1,495 @@ +const app = getApp(); +import { isEmptyCheck } from "../../../utils/commonUtil"; +var QQMapWX = require("../../../utils/qqmap-wx-jssdk.min.js"); +var qqmapsdk; +// pages/addAddress/index.js +Page({ + /** + * 页面的初始数据 + */ + data: { + multiSelected: false, + multiIndex: [0, 0, 0], + multiIndexTemp: [0, 0, 0], + // multiArray: [['无脊柱动物', '脊柱动物'], ['扁性动物', '线形动物', '环节动物', '软体动物', '节肢动物'], ['猪肉绦虫', '吸血虫']], + multiArray: [[], [], []], + multiArrayTemp: [[], [], []], + multiArrayRecord: [[], [], []], + title: "添加地址", + btnLoading: false, + address: { + contacts: "", + contactsTel: "", + }, + addressClassify: "", + addressStr: "", + recordId: "", + locationObj: { + provinceName: "", + cityName: "", + districtName: "", + }, + // provinceId: '', + // cityId: '', + // districtId: '', + }, + + delAddress:function(e){ + var that = this; + // var record = e.currentTarget.dataset.record; + // console.log(record); + + wx.showModal({ + title: '提示', + content: `确定要删除该地址吗?`, + cancelColor:"#666666", + confirmColor: "#ff4400", + success (res) { + if (res.confirm) { + console.log('用户点击确定') + + wx.request({ + url: app.globalData.ip + "/user/address/deleteUserAddress", + method: "POST", + header: app.globalData.headers, + data: { + id: that.data.recordId + }, + success: function(res) { + console.log(res); + wx.showToast({ + title: '删除成功', + icon: 'success', + duration: 2000, + + }) + setTimeout(()=>{ + wx.navigateBack({ + delta: -1, + }) + },2000) + + } + + }); + + } else if (res.cancel) { + console.log('用户点击取消') + } + } + }) + }, + getProvinceByPid: function () { + var that = this; + wx.request({ + url: app.globalData.ip + "/city/getProvince", + data: {}, + header: app.globalData.headers, + method: "POST", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.data.multiArrayRecord[0] = [{ id: -1, name: "请选择" }].concat(res.data.data); + + var nameArray = ["请选择"]; + res.data.data.forEach((item, index) => { + nameArray.push(item.name); + }); + that.data.multiArrayTemp[0] = nameArray; + that.setData({ + multiArrayTemp: that.data.multiArrayTemp, + }); + + //如果有省市回显处理 + if (app.isNotEmptyCheck(that.data.address.provinceId) && app.isNotEmptyCheck(that.data.address.cityId) && app.isNotEmptyCheck(that.data.address.districtId)) { + that.data.multiArrayRecord[0].forEach((item, index) => { + if (item.id == that.data.address.provinceId) { + that.data.multiIndex[0] = index; + } + }); + + that.setData({ + multiArray: that.data.multiArrayTemp, + multiIndex: that.data.multiIndex, + multiIndexTemp: that.data.multiIndex, + }); + + that.getCityByPid2(1, that.data.address.provinceId); + } + } else { + app.showTips(that, res.data.msg); + } + }, + }); + }, + bindMultiPickerChange: function (e) { + console.log("picker发送选择改变,携带值为", e.detail.value); + var that = this; + var multiSelected = false; + if (e.detail.value[0] > 0 && e.detail.value[1] > 0 && e.detail.value[2] > 0) { + multiSelected = true; + } + + this.setData({ + multiIndex: e.detail.value, + multiSelected: multiSelected, + multiArray: that.data.multiArrayTemp, + }); + }, + bindMultiPickerColumnChange: function (e) { + console.log("修改的列为", e.detail.column, ",值为", e.detail.value); + var that = this; + if (e.detail.column == 0) { + that.data.multiIndexTemp[0] = e.detail.value; + that.data.multiIndexTemp[1] = 0; + that.data.multiIndexTemp[2] = 0; + that.data.multiArrayTemp[1] = []; + that.data.multiArrayTemp[2] = []; + this.setData({ + multiIndexTemp: that.data.multiIndexTemp, + multiArrayTemp: that.data.multiArrayTemp, + }); + } + if (e.detail.column < 2) { + this.getCityByPid(e.detail.column, e.detail.value); + } + }, + + getCityByPid: function (column, value) { + var that = this; + // var pid = that.data.userDetails.bankProvinceCode; + console.log(that.data.multiArrayRecord[column][value]); + var pid = that.data.multiArrayRecord[column][value].id; + wx.request({ + url: app.globalData.ip + "/city/getCityByPid", + data: { + pid: pid, + }, + header: app.globalData.headers, + method: "POST", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.data.multiArrayRecord[column + 1] = [{ id: -1, name: "请选择" }].concat(res.data.data); + + var nameArray = ["请选择"]; + res.data.data.forEach((item, index) => { + nameArray.push(item.name); + }); + that.data.multiArrayTemp[column + 1] = nameArray; + + that.setData({ + multiArrayTemp: that.data.multiArrayTemp, + }); + } else { + app.showTips(that, res.data.msg); + } + }, + }); + }, + + getCityByPid2: function (column, pid) { + var that = this; + wx.request({ + url: app.globalData.ip + "/city/getCityByPid", + data: { + pid: pid, + }, + header: app.globalData.headers, + method: "POST", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.data.multiArrayRecord[column] = [{ id: -1, name: "请选择" }].concat(res.data.data); + + var nameArray = ["请选择"]; + res.data.data.forEach((item, index) => { + nameArray.push(item.name); + }); + that.data.multiArrayTemp[column] = nameArray; + + that.data.multiArrayRecord[column].forEach((item, index) => { + if (column == 1 && item.id == that.data.address.cityId) { + that.data.multiIndex[column] = index; + } else if (column == 2 && item.id == that.data.address.districtId) { + that.data.multiIndex[column] = index; + } + }); + + that.setData({ + multiArray: that.data.multiArrayTemp, + multiArrayTemp: that.data.multiArrayTemp, + multiIndex: that.data.multiIndex, + multiIndexTemp: that.data.multiIndex, + }); + + if (column == 1) { + that.getCityByPid2(2, that.data.address.cityId); + } + } else { + app.showTips(that, res.data.msg); + } + }, + }); + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + console.log(options); + if (!isEmptyCheck(options.id)) { + this.data.recordId = options.id; + this.data.title = "修改地址"; + this.setData({ + recordId:options.id + }) + + this.getDetail(); + } else { + this.getProvinceByPid(); + } + + wx.setNavigationBarTitle({ + title: this.data.title, + }); + qqmapsdk = new QQMapWX({ + key: "5PTBZ-YI7C6-MZGS3-ES7QN-4T5O2-EJFVR", + }); + console.log(123); + }, + selectAddressClassify: function (e) { + var that = this; + + var classify = e.currentTarget.dataset.classify; + console.log(classify); + + that.setData({ + addressClassify: classify, + }); + }, + getDetail() { + var that = this; + + wx.request({ + url: app.globalData.ip + "/user/address/getUserAddressDetail?id=" + that.data.recordId, + method: "GET", + header: app.globalData.headers, + data: {}, + success: function (res) { + console.log(res); + + if (app.isNotEmptyCheck(res.data.data)) { + that.setData({ + address: res.data.data, + addressClassify: res.data.data.classify, + addressStr: res.data.data.address, + }); + if (app.isNotEmptyCheck(res.data.data.provinceId) && app.isNotEmptyCheck(res.data.data.cityId) && app.isNotEmptyCheck(res.data.data.districtId)) { + that.setData({ + multiSelected: true, + }); + } + that.getProvinceByPid(); + } + }, + }); + }, + onSubmit(e) { + console.log(e); + + var that = this; + + that.setData({ + btnLoading: true, + }); + + if (app.isEmptyCheck(e.detail.value.contacts)) { + wx.showToast({ + icon: "none", + title: "请输入姓名", + duration: 3000, + }); + + that.setData({ + btnLoading: false, + }); + return; + } + + var myreg = /^[1][3456789][0-9]{9}$/; + if (!myreg.test(e.detail.value.contactsTel) || e.detail.value.contactsTel == "") { + wx.showToast({ + icon: "none", + title: "请输入正确手机号", + duration: 3000, + }); + + that.setData({ + btnLoading: false, + }); + return; + } + // if (that.data.multiIndex[0] == 0 || that.data.multiIndex[1] == 0 || that.data.multiIndex[2] == 0) { + // wx.showToast({ + // icon: "none", + // title: "请选择详细地区", + // duration: 3000, + // }); + + // that.setData({ + // btnLoading: false, + // }); + // return; + // } + + if (!e.detail.value.address) { + wx.showToast({ + icon: "none", + title: "请输入详细地址", + duration: 3000, + }); + + that.setData({ + btnLoading: false, + }); + return; + } + // if (app.isEmptyCheck(that.data.addressClassify)) { + // wx.showToast({ + // icon: "none", + // title: "请选择标签", + // duration: 3000, + // }); + + // that.setData({ + // btnLoading: false, + // }); + // return; + // } + + var formData = e.detail.value; + formData["id"] = that.data.recordId; + formData["classify"] = that.data.addressClassify; + + if (that.data.locationObj.provinceName) { + // formData["provinceId"] = that.data.multiArrayRecord[0][that.data.multiIndex[0]].id; + // formData["cityId"] = that.data.multiArrayRecord[1][that.data.multiIndex[1]].id; + // formData["districtId"] = that.data.multiArrayRecord[2][that.data.multiIndex[2]].id; + formData["provinceName"] = that.data.locationObj.provinceName; + formData["cityName"] = that.data.locationObj.cityName; + formData["districtName"] = that.data.locationObj.districtName; + } else { + wx.showToast({ + icon: "none", + title: "请选择地区", + duration: 3000, + }); + } + + console.log(formData); + + that.setData({ + btnLoading: false, + }); + + wx.request({ + url: app.globalData.ip + "/user/address/addOrUpdateUserAddress", + method: "POST", + header: app.globalData.headers, + data: formData, + success: function (res) { + console.log(res); + + if (res.data.status == 200) { + wx.navigateBack({ + delta: 1, + }); + } else { + wx.showToast({ + icon: "none", + title: res.data.msg, + duration: 2000, + }); + + that.setData({ + btnLoading: false, + }); + } + }, + }); + }, + + chooseMap: function () { + var that = this; + console.log("1111111"); + // wx.chooseLocation({ + wx.chooseLocation({ + success: function (res) { + console.log("res", res); + that.data.addressStr = res.name; + qqmapsdk.reverseGeocoder({ + location: `${res.latitude},${res.longitude}`, + success: function (res) { + console.log(res.result); + let address = res.result.address_component; + that.data.addressStr = `${address.province} ${address.city} ${address.district} ` + that.data.addressStr; + that.setData({ + addressStr: that.data.addressStr, + locationObj: { + provinceName: res.result.address_component.province, + cityName: res.result.address_component.city, + districtName: res.result.address_component.district, + }, + }); + }, + fail: function (res) { + console.log(res); + }, + }); + }, + fail: function (e) { + console.log(e); + }, + }); + }, + goAddAddress: function () { + wx.navigateTo({ + url: "/pages/addressBook/index", + }); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () {}, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () {}, +}); diff --git a/pages/mine/addAddress/index.json b/pages/mine/addAddress/index.json new file mode 100644 index 0000000..f3d0dd5 --- /dev/null +++ b/pages/mine/addAddress/index.json @@ -0,0 +1,3 @@ +{ + "navigationBarTitleText": "添加地址" +} \ No newline at end of file diff --git a/pages/mine/addAddress/index.wxml b/pages/mine/addAddress/index.wxml new file mode 100644 index 0000000..a2d8d83 --- /dev/null +++ b/pages/mine/addAddress/index.wxml @@ -0,0 +1,60 @@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 公司 + 其它 + + + + 删除该地址 + + +
diff --git a/pages/mine/addAddress/index.wxss b/pages/mine/addAddress/index.wxss new file mode 100644 index 0000000..b88cc8e --- /dev/null +++ b/pages/mine/addAddress/index.wxss @@ -0,0 +1,58 @@ +@import "/pages/login/index.wxss"; +page { + padding: 10px; + padding-top: 0; + background-color: #f5f5f5; +} +.weui-cell { + padding-left: 0 !important; + padding-right: 0 !important; +} +.weui-cells__group { + border-radius: 8px; + padding: 0 20px; + overflow: hidden; + background-color: #fff; + margin-top: 16px !important; +} +.mark { + border-radius: 8px; + padding: 16px 20px !important; + overflow: hidden; + background-color: #fff; +} +.mark::before{ + display: none; +} +.adTag { + width: 56px; + height: 28px; + border: 1rpx solid #e2e2e2; + border-radius: 25px; + text-align: center; + font-size: 14px; + color: #333; + line-height: 28px; + display: inline-block; + margin-left: 8px; +} +.adTag.active { + background: var(--color-ysd); + color: #fff; + border: 1rpx solid var(--color-ysd); +} +.normalBtn { + width: 260px !important; + height: 42px; + line-height: 42px; + color: #fff; + border-radius: 999px; +} + +.weui-cell::before{ + display: none; + +} +.textarea{ + width: 65%; +} \ No newline at end of file diff --git a/pages/mine/addCard/index.js b/pages/mine/addCard/index.js new file mode 100644 index 0000000..ba8f42e --- /dev/null +++ b/pages/mine/addCard/index.js @@ -0,0 +1,133 @@ +// pages/addCard/index.js +const app = getApp(); +Page({ + /** + * 页面的初始数据 + */ + data: { + iosDialog1:false, + user: {}, + bankArray: [], + }, + showDialog(){ + this.setData({ + iosDialog1:true + }) + }, + close: function () { + this.setData({ + iosDialog1: false + }) +}, +emptyMethod:function(){ + wx.navigateTo({ + url: '/pages/realName1/index', + }) + +}, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + this.setData({ + user: app.globalData.user, + }); + this.getUserBankList(); + }, + getUserBankList: function() { + var that = this; + wx.request({ + url: app.globalData.ip + '/user/bank/getUserBankList', + data: {}, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + if (app.isNotEmptyCheck(res.data.data) && res.data.data.length > 0) { + res.data.data.forEach(item => { + if (app.isNotEmptyCheck(item.bankNo) && item.bankNo.length > 4) { + item.bankNo = '****' + item.bankNo.substring(item.bankNo.length - 4); + } else { + item.bankNo = ''; + } + if (app.isEmptyCheck(item.bankLogo)) { + item.bankLogo = 'http://matripe.oss-cn-beijing.aliyuncs.com/bankCard.png'; + } + }); + } + that.setData({ + bankArray: res.data.data, + }); + + } else { + app.showTips(that, res.data.msg); + } + } + }) + }, + + toCardDetail: function(e) { + var item = e.currentTarget.dataset.item; + + try { + wx.setStorageSync('storageSyncBankDetail', item) + } catch (e) { + console.log('设置银行卡详情缓存错误', e); + } + + wx.navigateTo({ + url: '/pages/cardDetail/index', + }) + }, + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + this.setData({ + iosDialog1:false + }) + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () { + + } +}) \ No newline at end of file diff --git a/pages/mine/addCard/index.json b/pages/mine/addCard/index.json new file mode 100644 index 0000000..c9f9de6 --- /dev/null +++ b/pages/mine/addCard/index.json @@ -0,0 +1,4 @@ +{ + "navigationBarTitleText": "银行卡", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/addCard/index.wxml b/pages/mine/addCard/index.wxml new file mode 100644 index 0000000..7d81465 --- /dev/null +++ b/pages/mine/addCard/index.wxml @@ -0,0 +1,44 @@ + + + + 微信零钱 + + + + + + {{item.bankName}} + + {{item.bankNo}} + + + + + 绑定银行卡 + + + + 绑定银行卡 + + + + + + + 实名认证 + + 实名认证后才可以绑定银行卡,现在去实名吗? + + + + 取消 + + + + + + + \ No newline at end of file diff --git a/pages/mine/addCard/index.wxss b/pages/mine/addCard/index.wxss new file mode 100644 index 0000000..bf9a166 --- /dev/null +++ b/pages/mine/addCard/index.wxss @@ -0,0 +1,55 @@ +page{ + padding: 10px; + padding-top: 0; +} +.bgTest { + background-image: url('//matripe.oss-cn-beijing.aliyuncs.com/dagouAgency/bg.png'); + width: 100%; + height: 90px; + background-size: cover; + border-radius: 8px; + overflow: hidden; +} + +.cardbgTest { + background-image: url('//matripe.oss-cn-beijing.aliyuncs.com/dagouAgency/cardbg.png'); + width: 100%; + height: 90px; + background-size: cover; + border-radius: 8px; + overflow: hidden; +} + +.cardName { + font-size: 18px; + font-weight: 601; + color: #ffffff; + line-height: 26px; + margin-left: 12px; +} + +.addcard { + background-color: #ff44001a; + border-radius: 8px; + height: 80px; + font-size: 20px; + font-weight: 601; + color: var(--color-ysd); + line-height: 26px; +} + +.cardlogo { + width: 46px; + height: 46px; + background-color: #fff; + border-radius: 50%; + margin-left: 20px; + display: inline-block; +} + +.cardbgTest image { + width: 28px; + height: 28px; + margin-left: 9px; + margin-top: 9px; +} \ No newline at end of file diff --git a/pages/mine/addUserCard/index.js b/pages/mine/addUserCard/index.js new file mode 100644 index 0000000..23bc87e --- /dev/null +++ b/pages/mine/addUserCard/index.js @@ -0,0 +1,81 @@ +// pages/addUserCard/index.js +const app = getApp(); +const commonUtil = require("../../../utils/commonUtil.js"); +Page({ + /** + * 页面的初始数据 + */ + data: {}, + + subCard: function (str, frontLen, endLen) { + console.log(str); + //str:要进行隐藏的变量 frontLen: 前面需要保留几位 endLen: 后面需要保留几位 + var len = str.length - frontLen - endLen; + var xing = ""; + for (var i = 0; i != len; i++) { + xing += "*"; + } + let res = str.substring(0, frontLen) + xing + str.substring(str.length - endLen); + console.log(res); + return res; + }, + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + //登录=================================start + if (app.globalData.isLogin) { + this.setData({ + isLogin: app.globalData.isLogin, + user: app.globalData.user, + card: this.subCard(app.globalData.user.idcard, 1, 1), + healthTime: commonUtil.formatDateYMD(app.globalData.user.healthTime), + }); + } else { + // 由于 userLogin 是网络请求,可能会在 Page.onLoad 之后才返回 + // 所以此处加入 callback 以防止这种情况 + app.userLoginCallback = (res) => { + this.setData({ + isLogin: app.globalData.isLogin, + user: app.globalData.user, + card: this.subCard(app.globalData.user.idcard, 1, 1), + healthTime: commonUtil.formatDateYMD(app.globalData.user.healthTime), + }); + }; + } + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) {}, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () {}, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () {}, +}); diff --git a/pages/mine/addUserCard/index.json b/pages/mine/addUserCard/index.json new file mode 100644 index 0000000..facd958 --- /dev/null +++ b/pages/mine/addUserCard/index.json @@ -0,0 +1,5 @@ +{ + "navigationBarTitleText": "证件", + "backgroundColor": "#f5f5f5" + +} \ No newline at end of file diff --git a/pages/mine/addUserCard/index.wxml b/pages/mine/addUserCard/index.wxml new file mode 100644 index 0000000..11d1b1d --- /dev/null +++ b/pages/mine/addUserCard/index.wxml @@ -0,0 +1,50 @@ + + + + + + 身份证 + {{card}} + + 查看身份证照片 + + + + + + + 身份证 + 未添加 + 添加照片以查看证件 + + 添加并使用 + + + + + diff --git a/pages/mine/addUserCard/index.wxss b/pages/mine/addUserCard/index.wxss new file mode 100644 index 0000000..73b600c --- /dev/null +++ b/pages/mine/addUserCard/index.wxss @@ -0,0 +1,38 @@ +page{ + padding: 10px; + padding-top: 0; +} +.bgsfz{ + position: relative; + width: 100%; + height: 120px; + background-image: url(//matripe.oss-cn-beijing.aliyuncs.com/tuiguang/sfz.png); + background-size: cover; + border-radius: 8px; + padding: 10px; + box-sizing: border-box; +} +.bgsfz image{ + width:24px;height:24px;border-radius: 50%;display:inline-block; vertical-align: text-bottom; +} +.bottom{ + position: absolute; + bottom: 0; + left: 0; + height: 38px; + line-height: 38px; + width: 100%; + font-size: 14px; + color: #333; + text-align: center; + background: rgba(0, 0, 0, 0.09); + border-radius: 0px 0px 8px 8px; +} +.bgsfz.jkz{ + background-image: none; + background-color: #027aff; +} +.bottom.jkz{ + background-color: rgba(255,255, 255, 0.3); + color: #fff; +} \ No newline at end of file diff --git a/pages/mine/addressBook/index.js b/pages/mine/addressBook/index.js new file mode 100644 index 0000000..eab3731 --- /dev/null +++ b/pages/mine/addressBook/index.js @@ -0,0 +1,169 @@ +// pages/addressBook/index.js +var app = getApp(); +Page({ + + /** + * 页面的初始数据 + */ + data: { + items: [ + {value: '1', name: '设为默认'}, + {value: '2', name: '已设为默认', checked: 'true'}, + {value: '3', name: '设为默认'}, + ], + hasAddress: false, + recordList: [], + }, + + getList() { + var that = this; + + wx.request({ + url: app.globalData.ip + "/user/address/getUserAddressList", + method: "POST", + header: app.globalData.headers, + data: that.data.searchForm, + success: function(res) { + console.log(res); + + if (app.isNotEmptyCheck(res.data.data)) { + + that.setData({ + recordList: res.data.data, + hasAddress: true + }); + } else { + that.setData({ + recordList: [], + hasAddress: false + }); + } + } + + }); + }, + radioChange(e) { + console.log('radio发生change事件,携带value值为:', e.detail.value) + + var that = this; + that.data.recordList.forEach(item => { + item.defaultFlag = 0; + if (item.id == e.detail.value) { + item.defaultFlag = 1; + } + }); + + this.setData({ + recordList: that.data.recordList + }) + + wx.request({ + url: app.globalData.ip + "/user/address/updateDefaultFlag", + method: "POST", + header: app.globalData.headers, + data: { + id: e.detail.value, + defaultFlag: 1, + }, + success: function(res) { + console.log(res); + } + + }); + + }, + addAddress:function(){ + wx.navigateTo({ + url: '../addAddress/index', + }) + }, + delAddress:function(e){ + var that = this; + var record = e.currentTarget.dataset.record; + console.log(record); + + wx.showModal({ + title: '提示', + content: `确定要删除该地址吗?`, + cancelColor:"#666666", + confirmColor: "#ff4400", + success (res) { + if (res.confirm) { + console.log('用户点击确定') + + wx.request({ + url: app.globalData.ip + "/user/address/deleteUserAddress", + method: "POST", + header: app.globalData.headers, + data: { + id: record.id + }, + success: function(res) { + console.log(res); + that.getList(); + } + + }); + + } else if (res.cancel) { + console.log('用户点击取消') + } + } + }) + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + this.getList(); + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () { + + } +}) \ No newline at end of file diff --git a/pages/mine/addressBook/index.json b/pages/mine/addressBook/index.json new file mode 100644 index 0000000..7c81c20 --- /dev/null +++ b/pages/mine/addressBook/index.json @@ -0,0 +1,5 @@ +{ + "backgroundColorTop":"#f5f5f5", + "backgroundColor": "#f5f5f5", + "navigationBarTitleText": "地址本" +} \ No newline at end of file diff --git a/pages/mine/addressBook/index.wxml b/pages/mine/addressBook/index.wxml new file mode 100644 index 0000000..ed5ca91 --- /dev/null +++ b/pages/mine/addressBook/index.wxml @@ -0,0 +1,47 @@ + + + + + 暂无收货地址 + + + + + + + + + +

{{item.contacts}}

+

{{item.contactsTel}}

+
+ {{item.provinceName}} {{item.cityName}} {{item.districtName}} {{item.address}} +
+ + + 家 + + + + 公司 + + + + 其他 + +
+ + + + {{item.defaultFlag == 1 ? '默认' : '设为默认'}} + + 编辑 + + + +
+
+
+ + +
diff --git a/pages/mine/addressBook/index.wxss b/pages/mine/addressBook/index.wxss new file mode 100644 index 0000000..35ccd5e --- /dev/null +++ b/pages/mine/addressBook/index.wxss @@ -0,0 +1,22 @@ +page { + background-color: #f5f5f5; +} +.container { + padding: 10px; + padding-top: 0; +} +.text-hover { + color: #666; +} +.normalBtn { + width: 260px !important; + height: 42px; + line-height: 42px; + color: #fff; + border-radius: 999px; +} +.borderImg { + border-image: url("http://matripe.oss-cn-beijing.aliyuncs.com/goodJob/wmk.svg") 4 fill / 6px; + border-image-width: 6px 0 0 0; + clip-path: inset(0 round 8px); +} diff --git a/pages/mine/addressPage/index.js b/pages/mine/addressPage/index.js new file mode 100644 index 0000000..d291243 --- /dev/null +++ b/pages/mine/addressPage/index.js @@ -0,0 +1,363 @@ +// pages/addressPage/index.js +// const { variableDeclaration } = require("jscodeshift"); +const app = getApp(); +var QQMapWX = require("../../../utils/qqmap-wx-jssdk.min"); +var qqmapsdk; +Page({ + /** + * 页面的初始数据 + */ + data: { + onSiteRemark: "", + jobDetail: {}, + addressList: { + storeAddress: { + color: "#027AFF", + icon: "icon-qiye", + name: "厂区地址", + addressName: "无", + address: "暂无详细地址", + }, + meetingAddress: { + color: "#4DB54B", + icon: "icon-jieren", + name: "接人地址", + addressName: "无", + address: "暂无详细地址", + }, + interviewAddress: { + color: "#FF4400", + icon: "icon-mianshi", + name: "面试地址", + addressName: "无", + address: "暂无详细地址", + }, + }, + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + var that = this; + qqmapsdk = new QQMapWX({ + key: "5PTBZ-YI7C6-MZGS3-ES7QN-4T5O2-EJFVR", + }); + console.log(wx.getStorageSync("addressList")); + + wx.getStorage({ + key: "addressList", + success(res) { + that.setData({ + jobDetail: res.data, + }); + console.log(res.data); + var data = res.data; + new Promise(function (resolve, reject) { + console.log(data); + var d1 = ""; + var d2 = ""; + var d3 = ""; + if (data.store.lat != "") { + qqmapsdk.reverseGeocoder({ + location: `${data.store.lat},${data.store.lng}`, + success: function (res) { + console.log(res); + d1 = res.result.formatted_addresses.recommend; + that.data.addressList["storeAddress"] = { + color: "#027AFF", + icon: "icon-qiye", + name: "企业地址", + addresss: data.store.detailPosition, + lat: data.store.lat, + lng: data.store.lng, + addressName: d1, + }; + that.setData({ + addressList: that.data.addressList, + }); + }, + }); + } + if (data.storeJob.meettingAddr != "") { + qqmapsdk.reverseGeocoder({ + location: `${data.storeJob.meettingLat},${data.storeJob.meettingLng}`, + success: function (res) { + console.log(res); + d2 = res.result.formatted_addresses.recommend; + that.data.addressList["meetingAddress"] = { + color: "#4DB54B", + icon: "icon-jieren", + name: "接人地址", + addresss: data.storeJob.meettingAddr, + lat: data.storeJob.meettingLat, + lng: data.storeJob.meettingLng, + addressName: d2, + }; + that.setData({ + addressList: that.data.addressList, + }); + }, + }); + } + if (data.storeJob.interviewAddress != "") { + qqmapsdk.reverseGeocoder({ + location: `${data.storeJob.interviewLat},${data.storeJob.interviewLng}`, + success: function (res) { + console.log(res); + d3 = res.result.formatted_addresses.recommend; + that.data.addressList["interviewAddress"] = { + color: "#FF4400", + icon: "icon-mianshi", + name: "面试地址", + addresss: data.storeJob.interviewAddr, + lat: data.storeJob.interviewLat, + lng: data.storeJob.interviewLng, + addressName: d3, + }; + that.setData({ + addressList: that.data.addressList, + }); + }, + }); + + console.log(that.data.addressList); + } + resolve(); + }) + .then(() => { + that.setData({ + addressList: that.data.addressList, + }); + console.log(that.data.addressList); + }) + .catch((err) => { + console.log(err); + }); + }, + }); + + // resolve(); + // }).then(() => { + // setTimeout(function () { + // that.setData({ + // addressList: that.data.addressList, + // }); + // console.log(that.data.addressList); + // }, 800) + + // }); + }, + toMap(e) { + var that = this; + wx.setClipboardData({ + data: that.data.onSiteRemark, + success(res) { + wx.getClipboardData({ + success(res) { + wx.showToast({ + title: "内容已复制", + icon: "none", + duration: 1500, + }); + console.log(res.data); // data + // wx.hideToast() + // wx.showLoading({ + // title: "加载中", + // }); + }, + // , + // complete:()=>{ + // wx.hideToast() + // } + }); + }, + }); + console.log(e.currentTarget.dataset.info.lat); + if (app.isEmptyCheck(e.currentTarget.dataset.info.lat)) { + return; + } + + console.log(e); + var address = e.currentTarget.dataset.info.addresss; + let lat = e.currentTarget.dataset.info.lat; + var formatted_addresses = ""; + // wx.getStorageSync("addressList").store.aliasName; + console.log(address); + qqmapsdk.reverseGeocoder({ + // location: `${e.currentTarget.dataset.info.lat ? e.currentTarget.dataset.info.lat : "39.909115"},${e.currentTarget.dataset.info.lng ? e.currentTarget.dataset.info.lng : "116.397407"}`, + location: `${e.currentTarget.dataset.info.lat},${e.currentTarget.dataset.info.lng}`, + success: function (res) { + console.log(res); + formatted_addresses = res.result.formatted_addresses.recommend; + wx.getLocation({ + type: "gcj02", //返回可以用于wx.openLocation的经纬度 + success(res) { + console.log(formatted_addresses); + console.log(lat); + console.log(address); + wx.openLocation({ + latitude: e.currentTarget.dataset.info.lat ? e.currentTarget.dataset.info.lat - 0 : 39.909115, + longitude: e.currentTarget.dataset.info.lng ? e.currentTarget.dataset.info.lng - 0 : 116.397407, + name: formatted_addresses, + address: address ? address : "", + scale: 15, + }); + }, + complete(res) { + wx.hideLoading(); + console.log(1123213); + }, + }); + }, + fail(res) { + console.log(res); + }, + }); + }, + setCopy() { + var that = this; + wx.setClipboardData({ + data: that.data.onSiteRemark, + success(res) { + wx.getClipboardData({ + success(res) { + console.log(res.data); // data + wx.showToast({ + title: "内容已复制", + icon: "none", + duration: 1500, + }); + }, + }); + }, + }); + }, + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() {}, + + chooseMap2(e) { + var that = this; + setTimeout(() => { + console.log(e.currentTarget.dataset.lat); + if (e.currentTarget.dataset.lat == "") { + return; + } + let name = e.currentTarget.dataset.postitle; + let content = e.currentTarget.dataset.poscontent; + let lat = e.currentTarget.dataset.lat - 0; + let lng = e.currentTarget.dataset.lng - 0; + + wx.openLocation({ + latitude: lat, + longitude: lng, + name: name, + address: content, + scale: 15, + }); + }, 200); + // wx.setClipboardData({ + // data: that.data.onSiteRemark, + // success (res) { + // wx.getClipboardData({ + // success (res) { + // wx.showToast({ + // title: '内容已复制', + // icon: 'none', + // duration: 1500 + // }) + + // console.log(res.data) // data + // // wx.hideToast() + // // wx.showLoading({ + // // title: "加载中", + // // }); + + // } + // // , + // // complete:()=>{ + // // wx.hideToast() + // // } + // }) + // } + // }) + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + console.log(wx.getStorageSync("onSiteRemark")); + + var that = this; + that.setData({ + onSiteRemark: wx.getStorageSync("onSiteRemark"), + }); + + // new Promise((resolve, reject) => { + // let data = wx.getStorageSync("addressList"); + // console.log("start Promise"); + // if (data.store.lat != "") { + // qqmapsdk.reverseGeocoder({ + // location: `${data.store.lat},${data.store.lng}`, + // success: function (res) { + // console.log(res); + // that.data.addressList.storeAddress["addressName"] = res.result.formatted_addresses.recommend; + // } + // }) + // } + + // if (data.storeJob.meettingLat != "") { + // qqmapsdk.reverseGeocoder({ + // location: `${data.storeJob.meettingLat},${data.storeJob.meettingLng}`, + // success: function (res) { + // console.log(res); + // that.data.addressList.meetingAddress["addressName"] = res.result.formatted_addresses.recommend; + // } + // }) + // } + // if (data.storeJob.interviewLat != "") { + // qqmapsdk.reverseGeocoder({ + // location: `${data.storeJob.interviewLat},${data.storeJob.interviewLng}`, + // success: function (res) { + // console.log(res); + // that.data.addressList.interviewAddress["addressName"] = res.result.formatted_addresses.recommend; + // } + // }) + // } + // resolve("resolved"); + // }).then(() => { + // that.setData({ + // addressList: that.data.addressList, + // }); + // console.log(that.data.addressList) + // }) + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() {}, +}); diff --git a/pages/mine/addressPage/index.json b/pages/mine/addressPage/index.json new file mode 100644 index 0000000..71f77ee --- /dev/null +++ b/pages/mine/addressPage/index.json @@ -0,0 +1,6 @@ +{ + "usingComponents": {}, + "navigationBarTitleText":"地址导航", + "backgroundColor": "#f5f5f5" + +} \ No newline at end of file diff --git a/pages/mine/addressPage/index.wxml b/pages/mine/addressPage/index.wxml new file mode 100644 index 0000000..596514e --- /dev/null +++ b/pages/mine/addressPage/index.wxml @@ -0,0 +1,87 @@ + + + + 厂区地址 + + + + + + {{jobDetail.poses.store.posTitle ? jobDetail.poses.store.posTitle : '无'}} + {{jobDetail.poses.store.posContent ? jobDetail.poses.store.posContent : '暂无地址信息'}} + + + + + + + + + + 面试地址 + + + + + + {{jobDetail.jobPoses.interview.posTitle ? jobDetail.jobPoses.interview.posTitle : '无'}} + {{jobDetail.jobPoses.interview.posContent ? jobDetail.jobPoses.interview.posContent : '暂无地址信息'}} + + + + + + + + + + 宿舍地址 + + + + + + {{jobDetail.jobPoses.room.posTitle ? jobDetail.jobPoses.room.posTitle : '无'}} + {{jobDetail.jobPoses.room.posContent ? jobDetail.jobPoses.room.posContent : '暂无地址信息'}} + + + + + + + + + + + {{item.posName}} + + + + + + {{item.posTitle ? item.posTitle : '无'}} + {{item.posContent ? item.posContent : '暂无地址信息'}} + + + + + + + + + + + + \ No newline at end of file diff --git a/pages/mine/addressPage/index.wxss b/pages/mine/addressPage/index.wxss new file mode 100644 index 0000000..9414f6e --- /dev/null +++ b/pages/mine/addressPage/index.wxss @@ -0,0 +1,54 @@ +/* pages/addressPage/index.wxss */ +page { + padding: 0 10px 30px; + padding-bottom: 40px; +} + +.subset { + margin-top: 12px; +} +.subset .title .iconfont { + font-weight: lighter; + font-size: 18px; + line-height: 26px; + margin-right: 8px; +} +.navigator { + display: flex; + align-items: center; + justify-content: space-between; + min-height: 76px; + padding: 0px 10px; + margin-top: 8px; + border-radius: 6px; + background-color: #fff; +} +.navigator .icon-gengduo1 { + color: #999; + margin-left: 8px; + margin-right: 12px; +} +.copyBtn{ + position: absolute; + right: 0px; + font-size: 12px; + line-height: 14px; + border:1rpx solid #ccc; + padding: 2px 4px; + color: #666; + border-radius: 2px; +} +.copyBtn:active{ + background-color: #ddd; +} +.weui-slidecells { + margin:8px 0; +} + +.weui-slidecell { + background-color: var(--weui-BG-2); + border-radius: 8px; + padding: 12px; + line-height: 1.4; + font-size: 17px; +} \ No newline at end of file diff --git a/pages/mine/changeAvatar/index.js b/pages/mine/changeAvatar/index.js new file mode 100644 index 0000000..491a133 --- /dev/null +++ b/pages/mine/changeAvatar/index.js @@ -0,0 +1,139 @@ +// pages/changeAvatar/index.js +let app = getApp(); +Page({ + /** + * 页面的初始数据 + */ + data: { + files: [], + userInfo: {}, + temporaryImg: "", + isSure: false, + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) {}, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + this.setData({ + userInfo: app.globalData.user, + }); + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() {}, + + /** + * 选择临时图片 + * + * + */ + chooseImage() { + const that = this; + wx.chooseImage({ + sizeType: ["original", "compressed"], // 可以指定是原图还是压缩图,默认二者都有 + sourceType: ["album", "camera"], // 可以指定来源是相册还是相机,默认二者都有 + success(res) { + // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片 + console.log(res); + that.setData({ + files: that.data.files.concat(res.tempFilePaths), + temporaryImg: res.tempFilePaths[0], + isSure: true, + }); + }, + }); + }, + changeUserImgsrc: function () { + var that = this; + // wx.chooseImage({ + // count: 1, // 默认9 + // sizeType: ["original", "compressed"], // 可以指定是原图还是压缩图,默认二者都有 + // sourceType: ["album", "camera"], // 可以指定来源是相册还是相机,默认二者都有 + // success: function (res) { + // // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片 + // var tempFilePaths = res.tempFilePaths; + // // var formData = {'userId': app.globalData.userId}; + + // }, + // }); + wx.uploadFile({ + url: app.globalData.ip + "/user/changeUserImgsrc", + filePath: that.data.temporaryImg, + name: "uploadFile", + header: app.globalData.headers2, + // formData: formData, // HTTP 请求中其他额外的 form data + success: function (res1) { + console.log(res1); + if (res1.statusCode == 200) { + var result = JSON.parse(res1.data); + if (result.status == 200) { + app.globalData.user.imgSrc = result.data.url; + + app.showTips(that, "更改成功"); + setTimeout(() => { + that.setData({ + userInfo: app.globalData.user, + isSure: false, + }); + wx.navigateBack({ + delta: 1, + }); + }, 1000); + } else { + app.showTips(that, result.msg); + } + } else if (res.data.status == 9999) { + app.dialogNotLogin(); + } + }, + fail: function (res2) {}, + }); + }, + cancelChoice() { + this.setData({ + isSure: false, + temporaryImg: "", + }); + }, + choiceAvatar(e) { + console.log(e); + const { avatarUrl } = e.detail; + this.setData({ + temporaryImg: avatarUrl, + isSure: true, + }); + }, +}); diff --git a/pages/mine/changeAvatar/index.json b/pages/mine/changeAvatar/index.json new file mode 100644 index 0000000..c9d85ea --- /dev/null +++ b/pages/mine/changeAvatar/index.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "个人头像", + "navigationBarBackgroundColor":"#000", + "navigationBarTextStyle" : "white", + "backgroundColor": "#000" + +} \ No newline at end of file diff --git a/pages/mine/changeAvatar/index.wxml b/pages/mine/changeAvatar/index.wxml new file mode 100644 index 0000000..f9d1e8a --- /dev/null +++ b/pages/mine/changeAvatar/index.wxml @@ -0,0 +1,16 @@ + + + + + + + + + + + 取消 + 确定 + + + + \ No newline at end of file diff --git a/pages/mine/changeAvatar/index.wxss b/pages/mine/changeAvatar/index.wxss new file mode 100644 index 0000000..42c85a7 --- /dev/null +++ b/pages/mine/changeAvatar/index.wxss @@ -0,0 +1,34 @@ +page { + background-color: #000; + text-align: center; + height: 100vh; +} +page .container { + position: relative; + top: 50%; + transform: translateY(-50%); +} +page image { + width: 100%; + height: 375px; +} +page .weui-btn_primary { + height: 32px; + width: 112px; + padding: 0; + /* margin-top: 30px; */ + line-height: 30px; + font-size: 14px; + background-color: transparent; + border-radius: 999px; + color: #fff; + border: 1px solid #fff; + box-sizing: border-box; +} +.btnBox{ + margin-top: 30px; + padding: 0 20%; +} +.change{ + margin: 0 auto; +} \ No newline at end of file diff --git a/pages/mine/changeGender/index.js b/pages/mine/changeGender/index.js new file mode 100644 index 0000000..68c83e6 --- /dev/null +++ b/pages/mine/changeGender/index.js @@ -0,0 +1,135 @@ +// pages/changeGender/index.js +let app = getApp(); + +Page({ + /** + * 页面的初始数据 + */ + data: { + items: [ + { name: "男", value: "1" }, + { name: "女", value: "2" }, + ], + userInfo: {}, + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad() {}, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + console.log(this.data.userInfo); + this.setData({ + userInfo:app.globalData.user + }) + if (this.data.userInfo.sex == 1) { + let data = "items[0].checked"; + this.setData({ + [data]: true, + }); + } else if (this.data.userInfo.sex == 2) { + let data = "items[1].checked"; + this.setData({ + [data]: true, + }); + } + console.log(this.data.items); + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload(options) {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() {}, + radioChange(e) { + console.log(e); + this.data.items.forEach((item) => { + item.checked = false; + if (item.value == e.detail.value) { + item.checked = true; + } + }); + this.setData({ + items: this.data.items, + }); + console.log(this.data); + }, + formSubmit(e) { + console.log("form发生了submit事件,携带数据为:", e.detail.value); + var that = this; + + var sex = ""; + that.data.items.forEach((item) => { + if (item.checked) { + sex = item.value; + } + }); + + var formData = { + userId: app.globalData.user.id, + sex: sex, + }; + console.log(formData); + + wx.request({ + url: app.globalData.ip + "/user/updateSex", + method: "POST", + header: app.globalData.headers, + data: formData, + success: function (res) { + console.log(res); + + if (res.data.status == 200) { + // let data = "user.sex"; + // app.({ + // [data]: formData.sex, + // }); + app.globalData.user.sex = formData.sex; + console.log(app.globalData.user.sex ); + + wx.navigateBack({ + delta: 1, + }); + } else { + wx.showToast({ + icon: "none", + title: res.data.msg, + duration: 2000, + }); + + that.setData({ + btnLoading: false, + }); + } + }, + }); + }, +}); diff --git a/pages/mine/changeGender/index.json b/pages/mine/changeGender/index.json new file mode 100644 index 0000000..cecd7fa --- /dev/null +++ b/pages/mine/changeGender/index.json @@ -0,0 +1,6 @@ +{ + "usingComponents": {}, + "navigationBarTitleText":"设置性别", + "backgroundColor": "#f5f5f5" + +} \ No newline at end of file diff --git a/pages/mine/changeGender/index.wxml b/pages/mine/changeGender/index.wxml new file mode 100644 index 0000000..993fc6b --- /dev/null +++ b/pages/mine/changeGender/index.wxml @@ -0,0 +1,18 @@ + + + + + + + + + + diff --git a/pages/mine/changeGender/index.wxss b/pages/mine/changeGender/index.wxss new file mode 100644 index 0000000..aae9122 --- /dev/null +++ b/pages/mine/changeGender/index.wxss @@ -0,0 +1,24 @@ +.radio-group{ + margin: 10px; + padding: 0 9px; + border-radius: 8px; + overflow: hidden; + background-color: #fff; +} +.radio-group label { + height: 56px; + line-height: 56px; + padding: 0px 0; + border-top: none; +} +.radio-group label::before { + display: none; +} +.save { + margin-top: 90px; + width: 260px; + /* height: 42px; + line-height: 42px; + background-color: var(--color-ysd); + border-radius: 999px; */ +} diff --git a/pages/mine/changePsw/index.js b/pages/mine/changePsw/index.js new file mode 100644 index 0000000..5c9285b --- /dev/null +++ b/pages/mine/changePsw/index.js @@ -0,0 +1,312 @@ +// pages/changePsw/index.js +const app = getApp(); +Page({ + /** + * 页面的初始数据 + */ + data: { + type: 1, + disabled: 0, + getmsg: "获取验证码", + btnColor: false, + tel: "", + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + if (options.type) { + this.setData({ + type: options.type, + }); + if (options.type == 1) { + wx.setNavigationBarTitle({ + title: "找回密码", + }); + } else { + wx.setNavigationBarTitle({ + title: "修改登录密码", + }); + } + } + }, + changeBtn: function (e) { + console.log(e); + if (this.verifyTel(e.detail.value)) { + this.setData({ + disabled: "1", + btnColor: true, + tel: e.detail.value, + }); + } else { + this.setData({ + btnColor: false, + disabled: 0, + }); + } + }, + /** + * 手机号合规校验 + * + * + */ + verifyTel(value) { + console.log(value); + var myreg = /^[1][3456789][0-9]{9}$/; + if (myreg.test(value)) { + return true; + } else { + return false; + } + }, + /** + * 密码重复校验 + * + * + */ + verify(newStr, oldStr) { + if (newStr != oldStr) { + return false; + } else { + return true; + } + }, + /** + * 表单信息提交校验 + * + * + */ + beforeFormSubmit(e) { + console.log(e); + wx.showLoading({ + title: "提交中", + mask: true, + success: (result) => {}, + }); + let that = this; + let value = e.detail.value; + if (e.currentTarget.dataset.type == 1) { + if (value.tel == "" || !this.verifyTel(value.tel)) { + app.hideLoad(); + app.showTips(that, "请输入正确手机号"); + return; + } + if (value.code == "") { + app.hideLoad(); + app.showTips(that, "验证码不能为空"); + return; + } + if (value.newPsw.trim() == "" || value.rePsw.trim() == "") { + app.hideLoad(); + value.newPsw.trim() == "" ? app.showTips(that, "请输入新密码") : app.showTips(that, "请再次输入密码"); + return; + } + if (!this.verify(value.newPsw.trim(), value.rePsw.trim())) { + app.hideLoad(); + app.showTips(that, "前后密码不一致"); + return; + } + app.hideLoad(); + this.formSubmit(value, 1); + } else { + console.log(app.globalData.user); + if (value.tel == "") { + app.hideLoad(); + app.showTips(that, "请输入原密码"); + return; + } + if (value.newPsw.trim() == "" || value.rePsw.trim() == "") { + app.hideLoad(); + value.newPsw.trim() == "" ? app.showTips(that, "请输入新密码") : app.showTips(that, "请再次输入密码"); + return; + } + if (!this.verify(value.newPsw.trim(), value.rePsw.trim())) { + app.hideLoad(); + app.showTips(that, "前后密码不一致"); + return; + } + this.formSubmit(value, 2); + } + }, + /** + * 表单信息提交 + * + * + */ + formSubmit(value, type) { + let that = this; + if (type == 1) { + console.log(value); + wx.request({ + url: app.globalData.ip + "/yishoudan/updatePassword", + data: { + tel: value.tel, + code: value.code, + password: value.newPsw, + }, + header: { + "content-type": "application/json", + }, + success: function ({ data }) { + console.log(data); + if (data.status == 200) { + app.showTips(that, "修改成功"); + setTimeout(() => { + if (app.globalData.isLogin) { + wx.navigateBack({ + target: 1, + success: (result) => {}, + }); + } else { + wx.reLaunch({ + url: "/pages/login/index?type=psw", + success: (result) => {}, + }); + } + }, 2000); + } else { + app.showTips(that, data.msg); + } + }, + }); + } else { + wx.request({ + url: app.globalData.ip + "/yishoudan/updatePasswordByPwd", + data: { + tel: app.globalData.user.tel, + oldPassword: value.oldPsw, + password: value.newPsw, + }, + method:'post', + header:app.globalData.header, + success: function ({ data }) { + console.log(data); + if (data.status == 200) { + app.showTips(that, "修改成功"); + setTimeout(() => { + if (app.globalData.isLogin) { + wx.navigateBack({ + target: 1, + success: (result) => {}, + }); + } else { + wx.reLaunch({ + url: "/pages/login/index?type=psw", + success: (result) => {}, + }); + } + }, 2000); + } else { + app.showTips(that, data.msg); + } + }, + }); + } + }, + /** + * 改变修改密码类型 + * + * + */ + changeType() { + this.setData({ + type: 1, + }); + wx.setNavigationBarTitle({ + title: "找回密码", + }); + }, + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() {}, + /** + * 获取验证码 + * + * + */ + sendMsg: function () { + console.log(this.data.tel); + var that = this; + + that.setData({ + btnColor: false, + disabled: 0, + }); + + that.getCode(); + var timer = 1; + if (timer == 1) { + timer = 0; + var time = 60; + var inter = setInterval(function () { + that.setData({ + getmsg: time + "s", + btnColor: false, + disabled: 0, + }); + time--; + if (time < 0) { + timer = 1; + clearInterval(inter); + that.setData({ + getmsg: "重新获取", + btnColor: true, + disabled: 1, + }); + } + }, 1000); + } + }, + getCode: function () { + var that = this; + wx.request({ + url: app.globalData.ip + "/commons/sendMsgCode", + data: { + tel: that.data.tel, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log("发送短信验证码"); + console.log(res); + if (res.data.status == 200) { + app.showTips(that, "验证码发送成功"); + } else if (res.data.status == 9999) { + app.dialogNotLogin(); + } else { + } + }, + }); + }, + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() {}, +}); diff --git a/pages/mine/changePsw/index.json b/pages/mine/changePsw/index.json new file mode 100644 index 0000000..da7c217 --- /dev/null +++ b/pages/mine/changePsw/index.json @@ -0,0 +1,5 @@ +{ + "usingComponents": {}, + "navigationBarTitleText": "" + +} \ No newline at end of file diff --git a/pages/mine/changePsw/index.wxml b/pages/mine/changePsw/index.wxml new file mode 100644 index 0000000..ed6355b --- /dev/null +++ b/pages/mine/changePsw/index.wxml @@ -0,0 +1,67 @@ + + +
+ + + 手机号 + + + + + + 验证码 + + + + + {{getmsg}} + + + + + + 新密码 + + + + + + 确认密码 + + + + + + +
+
+ + + +
+ + + 原密码 + + + + + + 忘记原密码 + + + 新密码 + + + + + + 确认密码 + + + + + + +
+
diff --git a/pages/mine/changePsw/index.wxss b/pages/mine/changePsw/index.wxss new file mode 100644 index 0000000..6b9c497 --- /dev/null +++ b/pages/mine/changePsw/index.wxss @@ -0,0 +1,29 @@ +page { + padding: 10px; + padding-top: 0; +} +.container { + background-color: #fff; + padding: 0 10px; + border-radius: 8px; +} +.sub { + height: 56px; +} +.sub input { + text-align: right; +} +.code.disabled { + color: #979797; + pointer-events: none; +} + +.sendCode.code { + border-left: 1px solid #999999; + line-height: 20px; + height: 20px; + font-size: 17px; + color: #333; + padding-left: 10px; + text-align: center; +} diff --git a/pages/mine/collect/index.js b/pages/mine/collect/index.js new file mode 100644 index 0000000..050ab08 --- /dev/null +++ b/pages/mine/collect/index.js @@ -0,0 +1,1906 @@ +const app = getApp(); + +const commonUtil = require("../../utils/commonUtil.js"); + +Page({ + data: { + toped: "2", + chaShowed: false, + isTrigger: false, + // background: ["../../assets/images/banner1.jpg", "../../assets/images/banner2.jpg", "../../assets/images/banner3.jpg", "../../assets/images/banner4.jpg"], + pullNum: 0, //下拉次数 + tabs: [], + activeTab: 0, + systemInfo: {}, + getMenuButtonBoundingClientRect: {}, + // 手机基础信息 + tabs2: [], + loadMore: "", + loadContent: ["马不停蹄加载更多数据中...", "-- 已经到底了,加不了咯 --"], + + statusBarHeight: wx.getStorageSync("statusBarHeight"), // 状态栏高度 + + navigationBarHeight: wx.getStorageSync("navigationBarHeight"), // 导航栏高度 + + menuButtonHeight: wx.getStorageSync("menuButtonHeight"), // 胶囊按钮高度 + + menuButton: wx.getStorageSync("menuButtonInfo"), // 胶囊信息 + navigatorHeight: 60, + activeTab2: 0, + contentIndex: 0, + latestClass: 0, + zoneClass: 0, + recordList: [], + jobSpecialLabelNames: [], + storeJobListSearchForm: { + pageNum: 1, + pageSize: 25, + classify: 1, + sex: -1, + workTypeStr: "", + lat: "", + lng: "", + jobClassify: "", + sortTag: 0, + jobSpecialLabelIds: "", + cityName: "", + brandIds: "", + ucj: 1, + }, + loading: true, + topJobList: [], + hasLocation: false, + chooseActive: false, + //筛选是否高亮 + labelItems: [], + checkedlabelItems: [], + hasMoreData: true, //下拉是否还有更多数据 + inputShowed: false, + inputVal: "搜索工作", + wxCode: "", + isCollect: false, + collectTxt: "收藏", + isLogin: false, + hasUserInfo: 0, + searchCityParamStorage: { + name: "", + shortName: "", + }, + iosDialog1: false, + iosDialog2: false, + phoneDialog: false, + triggered: false, + pageShow: false, + whichOneShow: "", + siv: "", + activez: "", + sexid: "", // 性别筛选的id + dialog1: false, + dialog2: false, + jobSpecialLabelList: [], + brandList: [], + firstMenu: "排序", // 工价筛选tab显示 + secondMenu: "性别", // 性别筛选tab显示 + selectBrandList: [], // 选中的品牌标签 + selectJobList: [], // 选中的特色标签 + tagArray0: [], + tagArray1: [], + tagArray2: [], + tagArray3: [], + recordBillType: "", // 报名类型(拍照或者直接报名) + signType: 0, // 职位类型(自营 三方) + recordCount: 0, + totalPage: 0, + currPage: 0, + currentJobDrawer: {}, // 当前简版职位抽屉信息 + drawerShow: false, // 简版职位抽屉显隐 + }, + // onPullDownRefresh:function(){ + // this.getJobList(); + // console.log(123); + + // wx.stopPullDownRefresh({ + // success() { + // app.refreshSuccess(); + // } + // }); + // }, + close() { + let that = this; + let brandList = that.data.brandList; + let selectBrandList = that.data.selectBrandList; + if (selectBrandList.length > 0) { + for (let i = 0; i < brandList.length; i++) { + console.log("level1"); + for (let j = 0; j < selectBrandList.length; j++) { + console.log("level2"); + if (brandList[i].id == selectBrandList[j].id) { + return (brandList[i].checked = true); + } else { + brandList[i].checked = false; + } + } + } + } else { + brandList.forEach((item) => { + item.checked = false; + }); + } + return brandList; + }, + closeFix: function () { + var that = this; + // let brandList = that.close() + // that.data.brandList.forEach((item) => { + // if (that.data.selectBrandList.length > 0) { + // that.data.selectBrandList.forEach((item1) => { + // if (item.id != item1.id) { + // console.log("isSame"); + // item.checked = false; + // console.log(item.checked); + // } else { + // item.checked = true; + // } + // }); + // } else { + // item.checked = false; + // } + // }); + // console.log(that.data.brandList); + // console.log(that.data.selectBrandList); + console.log("isout"); + setTimeout(() => { + that.setData({ + whichOneShow: "", + siv: "", + }); + console.log(this.data.whichOneShow); + console.log("112233"); + }, 1); + }, + touchStart(e) { + // console.log("滚起来", e); + // this.setData({ + // scrollStop: false + // }) + this.setData({ + // whichOneShow: mark, + siv: "", + }); + }, + choosenTop(e) { + var that = this; + let id = e.currentTarget.dataset.id; + console.log(id); + that.setData({ + toped: id, + }); + }, + + chooseNl: function (e) { + var that = this; + console.log(e); + let mark = ""; + let type = e.target.dataset.type; + let whichOneShow = that.data.whichOneShow; + if (type == "gj") { + if (whichOneShow == "gj") { + mark = ""; + } else { + mark = "gj"; + } + } else if (type == "sex") { + if (whichOneShow == "sex") { + mark = ""; + } else { + mark = "sex"; + } + } else if (type == "brand") { + if (whichOneShow == "brand") { + mark = ""; + } else { + mark = "brand"; + } + } else if (type == "special") { + if (whichOneShow == "special") { + mark = ""; + } else { + mark = "special"; + } + } + if (that.data.siv != "menu") { + setTimeout(() => { + that.setData({ + whichOneShow: mark, + // siv:'menu' + }); + console.log(this.data.whichOneShow); + }, 300); + that.setData({ + siv: "menu", + }); + } + }, + toSpecialArea: function (e) { + var id = e.currentTarget.dataset.id; + wx.navigateTo({ + url: "../specialArea/index?id=" + id, + }); + }, + chooseM: function (e) { + var str = e.currentTarget.dataset.id; + console.log(str); + var that = this; + if (str == "all") { + that.data.storeJobListSearchForm.sortTag = 0; + that.setData({ + firstMenu: "排序", + // storeJobListSearchForm: tha t.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + } else if (str == "zuijin") { + //距离最近 + if (that.data.storeJobListSearchForm.lng && that.data.storeJobListSearchForm.lat) { + that.data.storeJobListSearchForm.sortTag = 2; + that.setData({ + firstMenu: "距离", + // storeJobListSearchForm: tha t.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + } else { + wx.getLocation({ + type: "gcj02", + success(res1) { + console.log("获取位置1"); + app.globalData.lng = res1.longitude; + app.globalData.lat = res1.latitude; + that.data.storeJobListSearchForm.lng = res1.longitude; + that.data.storeJobListSearchForm.lat = res1.latitude; + that.data.storeJobListSearchForm.sortTag = 2; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + firstMenu: "距离", + storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + // var promise = new Promise(function(resolve,reject){ + // that.getJobList(); + // }); + }, + fail() { + console.log("获取位置失败,打开位置设置界面"); + // wx.openSetting({ + // success(res) { + // console.log(res.authSetting); + // if (res.authSetting["scope.userLocation"]) { + // wx.getLocation({ + // type: "gcj02", + // success(res1) { + // console.log("获取位置2"); + // console.log(res1); + // app.globalData.lng = res1.longitude; + // app.globalData.lat = res1.latitude; + + // that.data.storeJobListSearchForm.sortTag = 2; + // that.data.storeJobListSearchForm.lng = res1.longitude; + // that.data.storeJobListSearchForm.lat = res1.latitude; + // that.data.storeJobListSearchForm.pageNum = 1; + // that.setData({ + // storeJobListSearchForm: that.data.storeJobListSearchForm, + // recordList: [], + // }); + // that.getJobList().then(() => { + // that.setData({ + // siv: "menu", + // }); + // }); + // }, + // fail() {}, + // }); + // } + // }, + // }); + }, + }); + } + } else if (str == "zuigao") { + //工价最高 + that.data.storeJobListSearchForm.sortTag = 1; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + storeJobListSearchForm: that.data.storeJobListSearchForm, + firstMenu: "工价", + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + } + + that.setData({ + activez: str, + }); + }, + watch() {}, + + choosen: function (e) { + var str = e.currentTarget.dataset.id; + // var ageStr = e.currentTarget.dataset.str; + console.log(str); + var that = this; + if (that.data.sexid == str) { + str = ""; + this.data.secondMenu = "不限"; + } else if (str == "1") { + this.data.secondMenu = "男"; + } else if (str == "2") { + this.data.secondMenu = "女"; + } else if (str == "-1") { + this.data.secondMenu = "不限"; + } + that.setData({ + sexid: str, + secondMenu: this.data.secondMenu, + }); + that.data.storeJobListSearchForm.pageNum = 1; + that.data.storeJobListSearchForm.sex = str; + that.setData({ + storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + }, + onScrollRefresh: function () { + var that = this; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + }); + that.getJobList(); + + // setTimeout(function(){ + // that.setData({ + // recordList: [],: false, + // }) + // },2000); + }, + + cc: function () {}, + close: function () { + this.setData({ + dialog1: false, + dialog2: false, + iosDialog1: false, + iosDialog2: false, + phoneDialog: false, + }); + }, + openIOS1: function () { + this.setData({ + iosDialog1: true, + }); + }, + + openIOS2: function () { + this.setData({ + iosDialog2: true, + }); + }, + showphone: function () { + this.setData({ + phoneDialog: true, + }); + }, + searchKey: function (e) { + console.log(e); + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.data.storeJobListSearchForm.keys = this.data.inputVal; + this.getJobList(); + }, + showInput: function () { + this.setData({ + inputShowed: true, + }); + }, + hideInput: function () { + this.setData({ + inputVal: "", + inputShowed: false, + }); + }, + onShareAppMessage1: function () { + var path = commonUtil.getCurrentPageUrlWithArgs(); + if (app.globalData.isLogin && app.globalData.agencyStatus - 0 != 0) { + //当前用户是代理人 + path += (path.indexOf("?") >= 0 ? "&" : "?") + "agencyUserId=" + app.globalData.loginUserInfo.id; + } + console.log(path); + return { + title: "伯才", + path: path, + }; + }, + goSearch() { + wx.navigateTo({ + url: "../search/index?from=project", + }); + }, + clearInput: function () { + this.setData({ + inputVal: "搜索工作", + chaShowed: false, + inputShowed: false, + hasMoreData: true, + }); + this.inputBlur(); + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.data.storeJobListSearchForm.keys = ""; + this.getJobList(); + }, + inputTyping: function (e) { + this.setData({ + inputVal: e.detail.value, + }); + console.log(this.data.inputVal == ""); + if (this.data.inputVal == "") { + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.data.storeJobListSearchForm.keys = ""; + this.getJobList(); + } + }, + clear() { + wx.clearStorage(); + + console.log("清除成功"); + }, + inputBlur() {}, + getListByTypeAndIndustry: function () { + var that = this; + wx.request({ + url: app.globalData.ip + "/labels/getListByTypeAndIndustry", + data: { + type: 90, + industry: 2, + }, + header: app.globalData.header, + method: "GET", + success: function (res) { + console.log(res.data.data); + // that.setData({ + // tagArray0: [], + // tagArray1: [], + // tagArray2: [], + // tagArray3: [], + // }); + res.data.data.forEach((item) => { + if (item.typeClassify == "0") { + that.data.tagArray0.push(item); + } else if (item.typeClassify == "1") { + that.data.tagArray1.push(item); + } else if (item.typeClassify == "2") { + that.data.tagArray2.push(item); + } else if (item.typeClassify == "3") { + that.data.tagArray3.push(item); + } + }); + that.setData({ + tagArray0: that.data.tagArray0, + tagArray1: that.data.tagArray1, + tagArray2: that.data.tagArray2, + tagArray3: that.data.tagArray3, + }); + + var jobSpecialLabelIdArray = that.data.storeJobListSearchForm.jobSpecialLabelIds.split(","); + + res.data.data.forEach((item) => { + item["checked"] = false; + jobSpecialLabelIdArray.forEach((item1) => { + if (item.id == item1) { + item["checked"] = true; + } + }); + }); + + that.setData({ + jobSpecialLabelList: res.data.data, + }); + }, + }); + }, + getBrandNameAllList: function () { + var that = this; + wx.request({ + url: app.globalData.ip + "/brand/getBrandNameAllList", + data: {}, + header: app.globalData.header, + method: "GET", + success: function (res) { + console.log(res); + + var brandIdArray = that.data.storeJobListSearchForm.brandIds.split(","); + + res.data.data.forEach((item) => { + item["checked"] = false; + brandIdArray.forEach((item1) => { + if (item.id == item1) { + item["checked"] = true; + } + }); + }); + that.setData({ + brandList: res.data.data, + }); + }, + }); + }, + selectJobSpecialLabel: function (e) { + var that = this; + var index = e.currentTarget.dataset.index; + var indexTag = e.currentTarget.dataset.indextag; + let index1 = ""; + console.log(e); + // debugger; + if (indexTag == "0") { + if (that.data.tagArray0[index].checked) { + that.data.tagArray0[index].checked = false; + // index1 = that.data.selectJobList.indexOf(that.data.tagArray0[index]); + // that.data.selectJobList.splice(index1, 1); + } else { + that.data.tagArray0[index].checked = true; + // that.data.selectJobList.push(that.data.tagArray0[index]); + } + this.setData({ + tagArray0: that.data.tagArray0, + }); + } else if (indexTag == "1") { + if (that.data.tagArray1[index].checked) { + that.data.tagArray1[index].checked = false; + // index1 = that.data.selectJobList.indexOf(that.data.tagArray1[index]); + // that.data.selectJobList.splice(index1, 1); + } else { + that.data.tagArray1[index].checked = true; + // that.data.selectJobList.push(that.data.tagArray1[index]); + } + this.setData({ + tagArray1: that.data.tagArray1, + }); + } else if (indexTag == "2") { + if (that.data.tagArray2[index].checked) { + that.data.tagArray2[index].checked = false; + // index1 = that.data.selectJobList.indexOf(that.data.tagArray2[index]); + // that.data.selectJobList.splice(index1, 1); + } else { + that.data.tagArray2[index].checked = true; + // that.data.selectJobList.push(that.data.tagArray2[index]); + } + this.setData({ + tagArray2: that.data.tagArray2, + }); + } else if (indexTag == "3") { + if (that.data.tagArray3[index].checked) { + that.data.tagArray3[index].checked = false; + // index1 = that.data.selectJobList.indexOf(that.data.tagArray3[index]); + // that.data.selectJobList.splice(index1, 1); + } else { + that.data.tagArray3[index].checked = true; + // that.data.selectJobList.push(that.data.tagArray3[index]); + } + this.setData({ + tagArray3: that.data.tagArray3, + }); + } + this.setData({ + selectJobList: that.data.selectJobList, + }); + // jobSpecialLabelList + + // if(that.data.jobSpecialLabelList[index].checked) { + // that.data.jobSpecialLabelList[index].checked = false; + // } else { + // that.data.jobSpecialLabelList[index].checked = true; + // } + // this.setData({ + // jobSpecialLabelList: that.data.jobSpecialLabelList + // }); + }, + selectBrand: function (e) { + var that = this; + var index = e.currentTarget.dataset.index; + if (that.data.brandList[index].checked) { + that.data.brandList[index].checked = false; + // let index1 = that.data.selectBrandList.indexOf(that.data.brandList[index]) + // that.data.selectBrandList.splice(index1,1) + } else { + that.data.brandList[index].checked = true; + } + console.log(that.data.selectBrandList); + this.setData({ + brandList: that.data.brandList, + }); + }, + reset: function (e) { + var that = this; + console.log(e); + if (e.target.dataset.type == 1) { + //特色 + that.data.jobSpecialLabelList.forEach((item) => { + // console.log(item); + if (item.checked) { + item.checked = false; + } + }); + that.setData({ + jobSpecialLabelList: that.data.jobSpecialLabelList, + tagArray0: that.data.tagArray0, + tagArray1: that.data.tagArray1, + tagArray2: that.data.tagArray2, + tagArray3: that.data.tagArray3, + selectJobList: [], + whichOneShow: "", + }); + that.data.storeJobListSearchForm.jobSpecialLabelIds = ""; + } else if (e.target.dataset.type == 2) { + //品牌 + that.data.brandList.forEach((item) => { + if (item.checked) { + item.checked = false; + } + }); + that.setData({ + brandList: that.data.brandList, + selectBrandList: [], + whichOneShow: "", + }); + that.data.storeJobListSearchForm.brandIds = ""; + } + that.data.storeJobListSearchForm.pageNum = 1; + that.getJobList(); + }, + loginOut: function () { + var that = this; + var jobSpecialLabelIdArray = []; + that.data.jobSpecialLabelList.forEach((item) => { + if (item.checked) { + jobSpecialLabelIdArray.push(item.id); + } + }); + + if (jobSpecialLabelIdArray.length > 0) { + that.data.storeJobListSearchForm.jobSpecialLabelIds = jobSpecialLabelIdArray.join(","); + } else { + that.data.storeJobListSearchForm.jobSpecialLabelIds = ""; + } + + var brandIdArray = []; + that.data.selectBrandList = []; + that.data.brandList.forEach((item) => { + if (item.checked) { + if (that.data.selectBrandList.indexOf(item) == -1) { + that.data.selectBrandList.push(item); + } + brandIdArray.push(item.id); + } + }); + that.data.selectJobList = []; + let jobList = that.data.tagArray0.concat(that.data.tagArray1, that.data.tagArray2, that.data.tagArray3); + jobList.forEach((item) => { + if (item.checked) { + if (that.data.selectJobList.indexOf(item) == -1) { + that.data.selectJobList.push(item); + } + } + }); + if (brandIdArray.length > 0) { + that.data.storeJobListSearchForm.brandIds = brandIdArray.join(","); + } else { + that.data.storeJobListSearchForm.brandIds = ""; + } + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + siv: "", + whichOneShow: "", + selectBrandList: that.data.selectBrandList, + selectJobList: that.data.selectJobList, + }); + that.getJobList(); + }, + onLoad(options) { + var that = this; + console.log(123); + console.log(options); + console.log(wx.getStorageSync("navigationBarHeight")); + console.log(wx.getStorageSync("statusBarHeight")); + console.log(that.data.menuButton); + // let query = wx.createSelectorQuery() + // console.log(query.select('#searchBar')); + + this.getListByTypeAndIndustry(); + this.getBrandNameAllList(); + + // 查看是否授权 + wx.getSetting({ + success(res) { + if (res.authSetting["scope.userInfo"]) { + // 已经授权,可以直接调用 getUserInfo 获取头像昵称 + wx.getUserInfo({ + success: function (res) { + console.log(res.userInfo); + }, + }); + } + }, + }); + + if (app.isNotEmptyCheck(options.fromSearchPage) && options.fromSearchPage == 1) { + try { + var searchCityParamStorage = wx.getStorageSync("searchCityParamStorage"); + if (searchCityParamStorage) { + console.log("searchCityParamStorage======", searchCityParamStorage); + that.data.storeJobListSearchForm.cityName = searchCityParamStorage.name; + if (app.isEmptyCheck(searchCityParamStorage.name)) { + that.data.storeJobListSearchForm.cityName = "全国"; + } + that.setData({ + searchCityParamStorage: searchCityParamStorage, + }); + } + } catch (e) { + console.log("获取缓存设置的查询职位列表参数错误:", e); + } + } else { + try { + wx.removeStorageSync("searchJobListParamStorage"); + } catch (e) { + console.log("删除缓存设置的查询职位列表参数错误:", e); + } + try { + wx.removeStorageSync("searchCityParamStorage"); + } catch (e) { + console.log("删除缓存设置的查询职位列表参数错误:", e); + } + } + + try { + if (app.globalData.isScanQRCodes - 1 == 0) { + wx.showToast({ + title: "欢迎查看好工作", + icon: "success", + duration: 2000, + }); + if (!getApp().globalData.isLogin) { + setTimeout(function () { + if (!getApp().globalData.isLogin) { + that.openIOS2(); + } + }, 5000); + } + } + } catch (e) { + console.log("获取缓存设置的查询职位列表参数错误:", e); + } + + console.log("options==============================1"); + console.log(options); + console.log("options==============================2"); + + if (app.isNotEmptyCheck(options.scene)) { + //扫小程序码携带参数 + var sceneStr = decodeURIComponent(options.scene); + var sceneJson = commonUtil.sceneToJson(sceneStr); + console.log("sceneJson===", sceneJson); + if (sceneJson.fromType == 1) { + app.globalData.isCommission = 1; + wx.setStorageSync("storageSyncAgencyUserId", sceneJson.userId); + } + + //先设置代理人缓存人再登录 + app.getLoginUserTokenInfo(); + } else if (app.isNotEmptyCheck(options.fromType)) { + //扫小程序普通二维码携带参数-来源ID + console.log("options.fromType========" + options.fromType); + if (options.fromType == 0) { + console.log("options.id========" + options.id); + console.log("options.userId========" + options.userId); + try { + app.globalData.isCommission = 1; + wx.setStorageSync("fromQrCodeChannelContactId", options.id); + that.getAgencyUserId(options.id); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + } + } else if (options.fromType.indexOf("0&id=") >= 0) { + //兼容2021-9-9之前的二维码 + var paramsTempId = options.fromType.replace("0&id=", ""); + console.log("¶msTempId========" + paramsTempId); + try { + app.globalData.isCommission = 1; + wx.setStorageSync("fromQrCodeChannelContactId", paramsTempId); + that.getAgencyUserId(paramsTempId); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + } + } else { + //兼容2021-9-9之前的二维码 + var paramsTempId = options.fromType.replace("0,id=", ""); + console.log("=paramsTempId========" + paramsTempId); + try { + app.globalData.isCommission = 1; + wx.setStorageSync("fromQrCodeChannelContactId", paramsTempId); + that.getAgencyUserId(paramsTempId); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + } + } + } else { + console.log("options.fromType===else=====" + options); + } + + //this.wxLogin(); + let res = wx.getStorageSync("storeJobId"); //详情页返回 + console.log(res); + if (app.isEmptyCheck(res.data)) { + this.setData({ + recordList: [], + }); + } else { + wx.removeStorageSync({ + key: "storeJobId", + }); + } + + console.log("on show"); + + //登录=================================start + if (app.globalData.isLogin) { + this.setData({ + isLogin: app.globalData.isLogin, + hasUserInfo: app.globalData.hasUserInfo, + }); + } else { + // 由于 userLogin 是网络请求,可能会在 Page.onLoad 之后才返回 + // 所以此处加入 callback 以防止这种情况 + app.userLoginCallback = (res) => { + this.setData({ + isLogin: app.globalData.isLogin, + hasUserInfo: app.globalData.hasUserInfo, + }); + }; + } + //登录=================================end + + this.getHopeJobLabels(); + var reset = true; + let agencyUserId = options.agencyUserId; + if (agencyUserId) { + wx.setStorageSync("storageSyncAgencyUserId", agencyUserId); + console.log("agencyUserId", agencyUserId); + app.globalData.isCommission = 1; + } + // that.getJobList(); + }, + onReady() {}, + onTabClick(e) { + const index = e.detail.index; + this.setData({ + activeTab: index, + }); + }, + + onChange(e) { + const index = e.detail.index; + this.setData({ + activeTab: index, + }); + }, + + findLocation() { + var that = this; + wx.getLocation({ + type: "gcj02", + success(res1) { + console.log("获取位置2"); + console.log(res1); + app.globalData.lng = res1.longitude; + app.globalData.lat = res1.latitude; + }, + fail() {}, + }); + }, + + emptyMethod(e) { + console.log(e); + }, + chooseIdCard() { + var that = this; + wx.chooseImage({ + count: 1, + sizeType: ["original", "compressed"], + sourceType: ["album", "camera"], + success(res) { + console.log(res); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&imgUrl=${JSON.stringify(res)}`, + }); + // that.uploadIdcardImg(res); + }, + }); + }, + navigatorToRecord() { + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1`, + }); + }, + onShow() { + let that = this; + that.data.storeJobListSearchForm.pageNum = 1; + this.setData({ + storeJobListSearchForm: that.data.storeJobListSearchForm, + isLogin: app.globalData.isLogin, + iosDialog2: app.globalData.isLogin ? false : that.data.iosDialog2, + recordBillType: "", + }); + // that.getJobList(); + if (!app.globalData.isLogin) { + wx.setStorageSync("comeFromPage", "collect"); + wx.redirectTo({ + url: "/pages/login/index", + }); + } else { + this.collectedStoreJobList(); + } + console.log(app.globalData.headers); + that.setData({ + recordList: [], + }); + this.getJobList(); + + wx.removeStorage({ + key: "townsManInfo", + }); + wx.removeStorage({ + key: "townsManInfoJob", + }); + + /*this.wxLogin(); + let res = wx.getStorageSync({ + key: "storeJobId" + }); //详情页返回 + + if (app.isEmptyCheck(res.data)) { + this.setData({ + recordList: [] + }); + } else { + wx.removeStorageSync({ + key: "storeJobId" + }); + } + + console.log("on show"); + this.getHopeJobLabels(); + var reset = true;*/ + }, + collectedStoreJobList() { + var that = this; + + wx.request({ + url: app.globalData.ip + "/store/job/collected/list?ucj=1", + method: "GET", + data: {}, + header: app.globalData.headers, + success: function (res) { + console.log(res); + let collectList = res.data.data.recordList; + let jobs = that.data.recordList; + if (collectList != null && collectList != "" && collectList != undefined && collectList.length != 0 && jobs != null && jobs != "" && jobs != undefined && jobs.length != 0) { + for (var j = 0; j != jobs.length; ++j) { + jobs[j].collected = 2; + } + for (var i = 0; i != collectList.length; ++i) { + for (var j = 0; j != jobs.length; ++j) { + if (collectList[i].storeJobId - jobs[j].id == 0) { + jobs[j].collected = 1; + break; + } + } + } + that.setData({ + recordList: jobs, + }); + } + }, + fail: function (res) {}, + }); + }, + getHopeJobLabels() { + var that = this; + wx.request({ + url: app.globalData.ip + "/labels/findAllHopeJobLabels", + // ?category=4 + method: "GET", + data: {}, + success: function (res0) { + console.log("感兴趣职位 ↓↓↓"); + console.log(res0); + if (res0.data.data != null) { + res0.data.data.forEach((item, index) => { + item["title"] = item.name; + item["checked"] = false; + + if (index == 0 || index == 1) { + item["checked"] = true; + } + }); + } + + that.setData({ + labelItems: res0.data.data == null ? [] : res0.data.data, + }); + that.initData(); + console.log("感兴趣职位 赋值title↓↓↓"); + console.log(res0); + }, + fail: function (res) { + console.log(res); + wx.showToast({ + title: "获取失败", + icon: "none", + duration: 2000, + }); + }, + }); + }, + makePhoneCall() { + var that = this; + wx.makePhoneCall({ + phoneNumber: "13937184434", + }); + }, + goScreen() { + wx.navigateTo({ + url: "../screen/index", + }); + }, + goCity() { + console.log("gocity"); + wx.navigateTo({ + url: "../city/index", + }); + }, + initData() { + var that = this; + try { + // 获取手机基础信息(头状态栏和标题栏高度) + let systemInfo = wx.getSystemInfoSync(); + let getMenuButtonBoundingClientRect = wx.getMenuButtonBoundingClientRect(); + console.log(wx.getMenuButtonBoundingClientRect()); + this.setData({ + systemInfo, + getMenuButtonBoundingClientRect, + }); + } catch (e) { + console.log(e); + + wx.alert({ + title: "温馨提示", + content: "onLoad 执行异常", + }); + } + let res0 = wx.getStorageSync("checkedlabelItems"); + + console.log(app.isNotEmptyCheck(res0.data)); + that.data.tabs2 = [ + { + name: "打勾推荐", + category: -1, + id: 406, + checked: true, + title: "打勾推荐", + }, + ]; + + if (app.isNotEmptyCheck(res0.data)) { + for (var i = 0; i < res0.data.length; i++) { + res0.data[i]["title"] = res0.data[i].name; + // that.data.tabs2.push(res0.data[i]); + } + + console.log("获取缓存"); // res0.data.unshift(); + // console.log(res.data.unshift({name: "打勾推荐", category: 3, id: 406, checked: true, title: "打勾推荐"})); + } else { + console.log("无感兴趣职位 push两个职位 ↓↓↓"); + console.log(that.data.labelItems); + that.data.labelItems.forEach((item) => { + if (item.name == "理货员" || item.name == "餐饮服务员") { + // that.data.tabs2.push(item); + } + }); // that.data.tabs2.push(that.data.labelItems[0], that.data.labelItems[1]) + } + + that.setData({ + tabs2: that.data.tabs2, + }); + + let res = wx.getStorageSync("sex"); //性别 + if (app.isNotEmptyCheck(res.data)) { + that.data.storeJobListSearchForm.sex = res.data; + that.data.storeJobListSearchForm.pageNum = 1; + } else { + // res.data = []; + } + let res2 = wx.getStorageSync("checkedJobItems"); //筛选职位 + let workTypeStrCurr = ""; + if (app.isNotEmptyCheck(res2.data)) { + res2.data.forEach((item, index) => { + workTypeStrCurr += item.value + ","; + }); + + if (workTypeStrCurr.length > 0) { + workTypeStrCurr = workTypeStrCurr.substr(0, workTypeStrCurr.length - 1); + } + + that.data.storeJobListSearchForm.workTypeStr = workTypeStrCurr; + that.data.storeJobListSearchForm.pageNum = 1; + } else { + that.data.storeJobListSearchForm.workTypeStr = ""; + that.data.storeJobListSearchForm.pageNum = 1; + } + + console.log(res.data + "===" + res2.data); + + if (res.data == -1 && (res2.data == null || res2.data == "")) { + that.setData({ + chooseActive: false, + }); + } else { + that.setData({ + chooseActive: true, + }); + } + + // this.getJobList(); + }, + + getJobList() { + var that = this; + // debugger + return new Promise(function (resolve, reject) { + if (that.data.storeJobListSearchForm.sortTag == 2) { + //如果按照距离排序,拼接上坐标 + that.data.storeJobListSearchForm.lng = app.globalData.lng; + that.data.storeJobListSearchForm.lat = app.globalData.lat; + } + + console.log(that.data.inputVal); + + that.data.storeJobListSearchForm.keys = that.data.inputVal == "搜索工作" ? "" : that.data.inputVal; + // debugger; + wx.showLoading({ + title: "加载中...", + }); + console.log(that.data.storeJobListSearchForm); + wx.request({ + url: app.globalData.ip + "/overall/store/job/list", + method: "POST", + header: app.globalData.headers, + data: that.data.storeJobListSearchForm, + success: function (res) { + console.log("职位列表↓↓↓↓"); + console.log(res); + + that.setData({ + totalPage: res.data.data.pageCount, + currPage: res.data.data.currentPage, + }); + + setTimeout(function () { + that.setData({ + triggered: false, + }); + }, 1000); + if (res.data.data.recordList == null || res.data.data.recordList.length == 0 || res.data.data.recordList.length < that.data.storeJobListSearchForm.pageSize) { + var jobListTemp = commonUtil.disposeJobListData(res.data.data.recordList); + that.data.recordList = that.data.recordList.concat(jobListTemp); + + that.setData({ + recordList: that.data.recordList, + hasMoreData: false, + isTrigger: false, + }); + } else { + var jobListTemp = commonUtil.disposeJobListData(res.data.data.recordList); + that.data.recordList = that.data.recordList.concat(jobListTemp); + + that.setData({ + recordList: that.data.recordList, + isTrigger: false, + }); + } + + wx.hideLoading({ + success: (res) => {}, + }); + that.setData({ + loading: false, + pageShow: true, + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + resolve(); + that.getTag(); + + that.data.recordList.forEach((item, index) => { + if ((app.isNotEmptyCheck(item.returnFeeType) && app.isNotEmptyCheck(item.returnFee)) || item.returnFeeType == "0" || item.returnFee == "0") { + item["fuWuFei"] = commonUtil.getReturnFeeTypeName1ById(item.returnFeeType, item.returnFee); + } else { + item["fuWuFei"] = ""; + } + }); + + that.setData({ + recordList: that.data.recordList, + }); + if (that.data.recordList.length < res.data.data.recordCount) { + that.setData({ + hasMoreData: true, + }); + } else { + that.setData({ + hasMoreData: false, + }); + } + }, + }); + }); + }, + + onScrollRefresh() { + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.getJobList(); + }, + + getTag() { + let that = this; + let query = that.createSelectorQuery(); + query + .selectAll(".tttg") + .boundingClientRect() + .exec(function (res) { + res.forEach((item) => { + item.forEach((element, index) => { + if (element.width > 200) { + // that.data.recordList[index].isTagShow = true; + var age = "recordList[" + index + "].isTagShow"; + that.setData({ + [age]: true, + }); + } + }); + }); + // if(){ + + // } + // console.log(res); + }); + }, + + // 下拉加载更多 + onScrollToLower() { + console.log("===================================================="); + var that = this; + if (app.globalData.isLogin) { + that.data.storeJobListSearchForm.pageNum = that.data.storeJobListSearchForm.pageNum + 1; + if (that.data.hasMoreData) { + that.getJobList(); + } + // 根据实际数据加载情况设定 loadMore 的值即可,分别为 load 和 over + + this.setData({ + loadMore: "load", + // loading:true + }); + } else { + if (that.data.pullNum == 0) { + that.openIOS1(); + } + } + + that.data.pullNum = that.data.pullNum + 1; + }, + + handleTabClick(e) { + var that = this; + var index = e.detail.index; + console.log(e.detail.index); + let categoryCurr = that.data.tabs2[index].category; // that.data.tabs2.forEach((item,index2) => { + // if (index == index2) { + // categoryCurr = item.category + // } + // if( index == 0){ + // categoryCurr = -1 + // } + // }) + + this.setData({ + // [tabsName]: index, + contentIndex: index, + }); + console.log(categoryCurr); + that.data.storeJobListSearchForm.jobClassify = categoryCurr; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + }); + that.getJobList(); + }, + /** + * 标准详情 + * + * + */ + goDetail(e) { + console.log(e); + var that = this; + wx.navigateTo({ + url: "../detail/index?storeJobId=" + e.currentTarget.dataset.id + "&wxCode=" + that.data.wxCode, + }); + }, + /** + * 简版抽屉 + * + * + */ + goDrawer(event) { + let that = this; + wx.hideTabBar({ + success(e) { + that.setData({ + currentJobDrawer: { ...event.currentTarget.dataset.item, index: event.currentTarget.dataset.index }, + drawerShow: true, + }); + }, + }); + + console.log(this.data.currentJobDrawer); + }, + copyClose() { + var that = this; + var text = that.data.currentJobDrawer.jobDesp; + + wx.setClipboardData({ + data: text, + success(res) { + wx.getClipboardData({ + success(res) { + console.log(res.data); // data + wx.showToast({ + title: "内容已复制", + icon: "none", + duration: 1500, + }); + }, + }); + }, + }); + }, + // showDrawer() { + // this.setData({ + // }); + // }, + hideDrawer() { + let that = this; + that.setData({ + drawerShow: false, + }); + setTimeout(() => { + wx.showTabBar({ + success(e) {}, + }); + }, 300); + }, + goEnroll(e) { + console.log(e); + // wx.navigateTo({ + // url: "../newEnroll/index?applyType=0" + // }); + var that = this; + + wx.removeStorageSync("townsManInfo"); + wx.removeStorageSync("townsManInfoJob"); + wx.removeStorageSync("storeInfoJob"); + + // if(app.isNotEmptyCheck(wx.getStorage('townsManInfo'))){ + // wx.removeStorageSync('townsManInfo') + // } + // if(app.isNotEmptyCheck(wx.getStorage('townsManInfoJob'))){ + // wx.removeStorageSync('townsManInfoJob') + // } + // if(app.isNotEmptyCheck(wx.getStorage('storeInfoJob'))){ + // wx.removeStorageSync('storeInfoJob') + // } + // wx.removeStorageSync('townsManInfoJob') + console.log(app.globalData.loginUserInfo.tel); + wx.setStorageSync("jobDetailStorage", that.data.recordList[e.currentTarget.dataset.idx]); + let argument; + argument = JSON.stringify(e.currentTarget.dataset.info).replace(/\=|\&/g, "3D"); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + }, + wxLogin() { + var that = this; + wx.login({ + success(res) { + if (res.code) { + that.setData({ + wxCode: res.code, + }); + } else { + console.log("获取code失败!" + res.errMsg); + } + }, + }); + }, + changeRecordBillType(e) { + let that = this; + console.log(e); + that.setData({ + recordBillType: e.currentTarget.dataset.type, + }); + }, + getPhoneNumber(e) { + var that = this; + console.log(e); + console.log(e.detail.errMsg); + /*wx.setStorageSync({ + key: "jobDetailStorage", + data: that.data.recordList[e.currentTarget.dataset.idx] + });*/ + + wx.setStorageSync("jobDetailStorage", that.data.recordList[e.currentTarget.dataset.idx]); + + // console.log(e); + // console.log(e.detail.errMsg) + // console.log(e.detail.iv) + // console.log(e.detail.encryptedData) + if ("getPhoneNumber:ok" == e.detail.errMsg) { + //同意 + var iv = e.detail.iv; + var encryptedData = e.detail.encryptedData; + console.log(iv, "=-=========", encryptedData); + wx.checkSession({ + success() { + //session_key 未过期,并且在本生命周期一直有效 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: that.data.wxCode, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + }, + success: function (res) { + console.log(res); + app.globalData.openId = res.data.data.openId; + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + var collected = e.currentTarget.dataset.collected; + if (collected) { + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.doCollected(collected, e.currentTarget.dataset.jobid); + that.collectedStoreJobList(); + }); + } else { + if (that.data.recordBillType == "photo" || that.data.recordBillType == "record") { + promise.then((res) => { + if (that.data.recordBillType == "photo") { + that.chooseIdCard(); + } else { + that.navigatorToRecord(); + } + }); + } else { + promise.then((res) => { + let argument; + argument = JSON.stringify(e.currentTarget.dataset.info).replace(/\=|\&/g, "3D"); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + }); + } + } + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + }, + fail() { + // session_key 已经失效,需要重新执行登录流程 + wx.login({ + success(res) { + if (res.code) { + console.log(res.code); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: res.code, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + var collected = e.currentTarget.dataset.collected; + if (collected) { + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.doCollected(collected, e.currentTarget.dataset.jobid); + }); + } else { + promise.then((res) => { + wx.navigateTo({ + url: "../enroll/index?applyType=1", + //url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber + }); + }); + } + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + } else { + console.log("获取手机号失败!" + res.errMsg); + } + }, + }); + }, + }); + } else { + //拒绝 + var collected = e.currentTarget.dataset.collected; + if (collected) { + try { + wx.setStorageSync("comeFromPage", "index"); + } catch (e) { + console.log("index-页面跳转,设置参数错误:", e); + } + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + wx.navigateTo({ + url: "../enroll/index?applyType=1", + }); + } + } + return false; + }, + getPhoneNumber1(e) { + var that = this; + console.log(e); + console.log(e.detail.errMsg); + + that.close(); + // console.log(e); + // console.log(e.detail.errMsg) + // console.log(e.detail.iv) + // console.log(e.detail.encryptedData) + + if ("getPhoneNumber:ok" == e.detail.errMsg) { + //同意 + var iv = e.detail.iv; + var encryptedData = e.detail.encryptedData; + wx.checkSession({ + success() { + //session_key 未过期,并且在本生命周期一直有效 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: that.data.wxCode, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.onScrollToLower(); + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + }, + fail() { + // session_key 已经失效,需要重新执行登录流程 + wx.login({ + success(res) { + if (res.code) { + console.log(res.code); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: res.code, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + } else { + console.log("获取手机号失败!" + res.errMsg); + } + }, + }); + }, + }); + } else { + //拒绝 + if (e.currentTarget.dataset.type != "close") { + try { + wx.setStorageSync("comeFromPage", "index"); + } catch (e) { + console.log("index-页面跳转,设置参数错误:", e); + } + + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + that.close(); + } + } + return false; + }, + getAgencyUserId(id) { + var that = this; + wx.request({ + url: app.globalData.ip + "/channel/contact/getAgencyUserId", + method: "GET", + header: app.globalData.header, + data: { + channelContactId: id, + }, + success: function (res) { + console.log("获取来源对应的代理人,来源ID:", id); + console.log(res); + try { + if (app.isNotEmptyCheck(res.data.data)) { + wx.setStorageSync("storageSyncAgencyUserId", res.data.data); + } + //先设置代理人缓存人再登录 + app.getLoginUserTokenInfo(); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + //先设置代理人缓存人再登录 + app.getLoginUserTokenInfo(); + } + }, + fail: function (res0) { + console.log("获取来源对应的代理人错误", id); + }, + }); + }, + collectPaste(e) { + var txt; + var that = this; + var collected = e.currentTarget.dataset.collected; + var storeJobId = e.currentTarget.dataset.jobid; + that.doCollected(collected, storeJobId); + // console.log(collected); + // if(!this.data.isCollect){ + // that.setData({ + // isCollect: true, + // collectTxt:'已收藏' + // }) + // txt = '收藏成功' + // }else{ + // that.setData({ + // isCollect: false, + // collectTxt:'收藏' + // }) + // } + }, + doCollected(collected, storeJobId) { + var that = this; + var url = "/user/collect/job/add"; + if (collected - 1 == 0) { + url = "/user/collect/job/remove"; + } + console.log(app.globalData.headers); + //发起网络请求 + wx.request({ + url: app.globalData.ip + url, + data: { + storeJobId: storeJobId, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + var txt; + if (collected - 1 == 0) { + //取消收藏 + for (var i = 0; i != that.data.recordList.length; ++i) { + if (that.data.recordList[i].id - storeJobId == 0) { + that.data.recordList[i].collected = 2; + break; + } + } + txt = "取消收藏"; + } else { + //收藏 + for (var i = 0; i != that.data.recordList.length; ++i) { + if (that.data.recordList[i].id - storeJobId == 0) { + that.data.recordList[i].collected = 1; + break; + } + } + txt = "收藏成功"; + } + that.data.recordList.forEach((item) => { + if (item.id == that.data.currentJobDrawer.id) { + that.data.currentJobDrawer = { ...item, index: that.data.currentJobDrawer.index ? that.data.currentJobDrawer.index : null }; + } + }); + that.setData({ + recordList: that.data.recordList, + currentJobDrawer: that.data.currentJobDrawer, + isLogin: app.globalData.isLogin, + }); + wx.showToast({ + icon: "none", + title: txt, + }); + }, + fail: function (res) { + console.log("操作失败"); + }, + }); + }, + getUserInfoBtn: function (e) { + console.log(e); + let that = this; + let type = e.currentTarget.dataset.type; + var collected = e.currentTarget.dataset.collected; + var storeJobId = e.currentTarget.dataset.jobid; + let idx = e.currentTarget.dataset.idx; + console.log(type); + wx.getUserProfile({ + desc: "用于完善会员资料", // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 + success: (res) => { + console.log(res); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/updateUserWechatInfo", + data: { + nickName: res.userInfo.nickName, + avatarUrl: res.userInfo.avatarUrl, + gender: res.userInfo.gender, + country: res.userInfo.country, + province: res.userInfo.province, + city: res.userInfo.city, + }, + method: "POST", + header: app.globalData.headers, + success: function (res) { + console.log(res); + app.globalData.hasUserInfo = 1; + that.setData({ + hasUserInfo: 1, + }); + that.doMenuClick(type, collected, storeJobId, idx); + }, + fail: function (res) { + that.doMenuClick(type, collected, storeJobId, idx); + }, + }); + }, + fail: (res) => { + console.log(res); + that.doMenuClick(type, collected, storeJobId, idx); + }, + }); + }, + doMenuClick: function (_type, _collected, _storeJobId, _idx) { + let that = this; + if (_type - 1 == 0) { + //点击全国 + that.goCity(); + } else if (_type - 2 == 0) { + //搜索 + that.showInput(); + } else if (_type - 3 == 0) { + //筛选 + that.goScreen(); + } else if (_type - 4 == 0) { + //收藏 + that.doCollected(_collected, _storeJobId); + } else if (_type - 5 == 0) { + //报名 + wx.setStorageSync("jobDetailStorage", that.data.recordList[_idx]); + wx.navigateTo({ + url: "../enroll/index?applyType=1&tel=" + app.globalData.loginUserInfo.tel, + }); + } + }, + changSign(e) { + let that = this; + console.log(e); + that.data.storeJobListSearchForm.pageNum = 1; + if (e.target.dataset.type == 0 && that.data.signType != 0) { + that.data.storeJobListSearchForm.signType = ""; + that.setData({ + signType: e.target.dataset.type, + recordList: [], + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } else if (e.target.dataset.type == 1 && that.data.signType != 1) { + that.data.storeJobListSearchForm.signType = 1; + that.setData({ + signType: e.target.dataset.type, + recordList: [], + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } else if (e.target.dataset.type == 2 && that.data.signType != 2) { + that.data.storeJobListSearchForm.signType = 2; + that.setData({ + signType: e.target.dataset.type, + recordList: [], + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } + }, +}); diff --git a/pages/mine/collect/index.json b/pages/mine/collect/index.json new file mode 100644 index 0000000..102043d --- /dev/null +++ b/pages/mine/collect/index.json @@ -0,0 +1,6 @@ +{"navigationBarTitleText" : "职位", + "navigationBarBackgroundColor":"#ff4400", + "navigationBarTextStyle" :"white", + "navigationStyle":"custom", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/collect/index.wxml b/pages/mine/collect/index.wxml new file mode 100644 index 0000000..9c666a5 --- /dev/null +++ b/pages/mine/collect/index.wxml @@ -0,0 +1,561 @@ + + + + + + 标准 + + + + 简版 + + + + + + + {{searchCityParamStorage.name == '' ? '全国' : searchCityParamStorage.shortName}} + + +
+ + + {{inputVal}} + + 搜索 + +
+
+ + + + + {{firstMenu}} + + + + + 综合排序 + 工价优先 + 距离优先 + + + + + + 品牌 + + + {{selectBrandList.length}} + + + + + + + + {{item.name}} + + + + + + + + + + + + + + + + {{ secondMenu }} + + + + + 男女不限 + + + + + + + 筛选 + + + {{selectJobList.length}} + + + + 薪资福利 + + + {{item.name}} + + + 食宿保障 + + + {{item.name}} + + + 班制特色 + + + {{item.name}} + + + 其它特色 + + + {{item.name}} + + + + + + + + + + + + + + + + + + + {{item.name}} + + + + + {{item.name}} + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + {{item.jobName}} + {{item.aliasName}} + {{item.salaryClassifyValue}} + + + + + {{item.district == "" ?'':item.district + ' | ' }} + {{item.distanceKm}} + {{item.age}} + + {{item.monthlyPay}} + + + + + + {{item1}} + 暂无特色 + + 服务费: {{item.fuWuFei ? item.fuWuFei : '-' }} + + + + + + + + + + 没有符合条件的职位 + + + + + + 暂无更多数据 + 上滑加载更多 + + + + + + + 暂无记录 + + + + + + + + + + + + + + {{index < 9?'0'+(index+1):index+1 }} + + {{item.jobName}} + {{item.salaryClassifyValue}},{{item.age}} + + + + + + + + + 代理 + + + {{item.fuWuFei ? item.fuWuFei : '-' }} + + + + + + + + + + 没有符合条件的职位 + + + + + 暂无更多数据 + 上滑加载更多 + + + + + + 暂无记录 + + {{currPage}}/{{totalPage}} + + + + + + + 登录后才能查看全部职位 + + + 现在登录吗? + + + 知道了 + + + + + + + + + + + 请提供你的手机号 + + + 方便客服联系你,帮你推荐工作 + + + + + + + + + + + + + + + + + 周耀锋 + 专属客服 + + 13937184434 + + + 取消 + + + + + + +
+ + + + + {{currentJobDrawer.jobName}} + + + + + + + {{currentJobDrawer.index < 9 ? '0'+(currentJobDrawer.index + 1): currentJobDrawer.index + 1 }} + + {{currentJobDrawer.jobName}} + {{currentJobDrawer.salaryClassifyValue}},{{currentJobDrawer.age}} + + + + + + + + + 代理 + + + {{currentJobDrawer.fuWuFei ? currentJobDrawer.fuWuFei : '-' }} + + + + + + + {{currentJobDrawer.jobDesp}} + + + + + + + 取消 + + + + + + 复制 + + + + + + + + \ No newline at end of file diff --git a/pages/mine/collect/index.wxss b/pages/mine/collect/index.wxss new file mode 100644 index 0000000..dfbf905 --- /dev/null +++ b/pages/mine/collect/index.wxss @@ -0,0 +1,1021 @@ +/* required by usingComponents */ +@import "../../appcommon.wxss"; +@import "../index/index.wxss"; +/* @font-face{ +  font-family:YaHeiConsolasHybrid; +  src:url('https://matripecandy.oss-cn-beijing.aliyuncs.com/1shoudanImg/DingTalk%20Sans.ttf'); +  } */ +@font-face { + font-family: "DingTalk"; /* 这里的字体名称是自定义的 */ + src: url("https://matripecandy.oss-cn-beijing.aliyuncs.com/1shoudanImg/DingTalk%20Sans.ttf"); /* 服务器上ttf文件的路径,记得配置域名权限 */ + font-weight: normal; + font-style: normal; + font-display: swap; +} +/* .tarbarText { + font-size: 18px; + font-weight: 400; + color: #666666; + line-height: 25px; +} +.tarbarText.active { + font-weight: 600; + color: #000000; +} +.tarbar { + text-align: center; +} +.tarbarImg { + width: 22px; + height: 5px; + display: block; + margin: 0 auto; + margin-bottom: 12px; +} */ +.newSearch { + width: 88px; + height: 32px; + background: #ffffff; + border-radius: 16px; + float: right; + font-size: 16px; + font-weight: 600; + text-align: center; + color: #666666; + line-height: 32px; + margin-top: 12px; +} + +.lNum { + opacity: 0.6; + font-size: 32px; + font-weight: 400; + text-align: right; + color: #ff4400; + line-height: 39px; + margin-right: 12px; + font-family: "DingTalk"; +} +.f10 { + font-size: 10px !important; +} +.jobTitle2 { + font-size: 16px; + color: #333; + font-weight: 600; + line-height: 24px; +} +.jobText.bz { + height: 20px; + padding: 0px 8px; + background-color: #ff4400; + border-radius: 10px; + color: #fff; + line-height: 20px; +} +.jobText{ + line-height: 24px; + +} +.daili { + width: 30px; + height: 16px; + background: #fff3f3; + border: 1px solid #fea39f; + border-radius: 2px; + font-size: 12px; + font-weight: 400; + text-align: center; + color: #f6343e; + line-height: 16px; + float: right; + margin-top: 4px; +} +.ahoverd { + background-color: #f5f5f5 !important; +} +.fixedNum { + position: fixed; + right: 16px; + bottom: 32px; + z-index: 999; + width: 60px; + height: 60px; + background: #ffffff; + border-radius: 50%; + box-shadow: 0px 2px 8px 0px rgba(169, 169, 169, 0.5); + text-align: center; + line-height: 60px; +} + +.p024 { + padding: 0 24px; +} +.demo-steps-class { + margin: 20px 0; + border-bottom: 1px solid #e5e5e5; +} + +.demo-btn-container { + display: flex; + justify-content: space-between; + margin: 20px; +} + +.demo-btn { + width: 47%; +} + +.atd-config-transparent-header { + background-color: #fff; +} + +/*.atd-config-transparent-header .content-top { +background-image: url('https://gw.alipayobjects.com/mdn/rms_7a3c08/afts/img/A*13jpTYrECqYAAAAAAAAAAABjARQnAQ'); +background-repeat: no-repeat; +background-size: 100% 100%; +-moz-background-size: 100% 100%; +width: 100vw; +height: 746rpx; +color: #fff; +}*/ + +/* .atd-config-transparent-header .content-top{ +color: #000; +} */ + +.atd-config-transparent-header .content-top .statusBar { + background-color: transparent; + display: flex; + align-items: center; + justify-content: center; +} + +.atd-config-transparent-header .content-top .titleBar { + /* background-color: #108ee9; */ + display: flex; + align-items: center; + justify-content: left; + padding-left: 32rpx; +} + +.tab-content { + display: flex; + justify-content: center; + align-items: center; + padding: 40rpx; + box-sizing: border-box; + /* 如果 swipeable="{{true}}",需要增加 height */ + /* height: 350px; */ + /* 为了体现 stickyBar 的作用而增加的 tab-content 的高度 */ + height: 100vh; +} + +/*.atd-config-transparent-header .content-bottom { +margin-top: 1000rpx; +background-image: url('https://gw.alipayobjects.com/mdn/rms_7a3c08/afts/img/A*rFctR6myHjcAAAAAAAAAAABjARQnAQ'); +background-repeat: no-repeat; +background-size: 100% 100%; +-moz-background-size: 100% 100%; +width: 100vw; +height: 746rpx; +} +*/ + +.atd-config-transparent-header .content-top .titleBar { + background-color: #fff; +} + +.am-tabs-content-wrap { + height: auto !important; +} + +.atd-config-transparent-header .content-top .titleBar { + padding-left: 0; +} + +.am-tabs-tab-bar-wrap { + width: calc(100vw - 120px); +} + +.latest { + color: rgba(0, 0, 0, 0.65); +} + +.latest .active { + color: rgba(0, 0, 0, 0.85); + font-weight: 601; +} + +.secondSelect { + padding: 8px 20px; +} + +.zoneSelect .dib { + font-size: 14px; + margin-left: 8px; + background-color: rgba(0, 0, 0, 0.06); + color: rgba(0, 0, 0, 0.65); + padding: 4px; +} + +.zoneSelect .dib.active { + background-color: rgba(254, 99, 63, 0.15); + color: #fe633f; +} + +.am-tabs-bar { + padding-left: 20px; +} + +.navigator { + position: fixed; + width: 100vw; + top: 0; + z-index: 1000; +} +.navigatorBar { + background-color: #ff4400; + padding-bottom: 8px; +} +.navigatorBar .tabs { + position: relative; + left: 50%; + height: 30px; + padding: 2px; + background-color: #fff; + border-radius: 8px; + transform: translateX(-50%); + justify-content: center; + box-sizing: border-box; +} + +.navigatorBar .tabs > view { + flex: 1; + line-height: 26px; + width: 56px; + color: #666; + text-align: center; +} +.navigatorBar .tabs .active{ + height: 26px; + background-color: #ff4400; + color: #fff; + border-radius: 6px; + +} +.weui-tabs-swiper { + display: none; +} + +.weui-tabs-bar__item { + margin: 12px 8px; +} + +.weui-tabs-bar__title { + color: rgba(0, 0, 0, 0.65); +} + +.weui-tabs-bar__title.tab-bar-title__selected { + font-weight: bolder; + color: rgba(0, 0, 0, 0.85); + border-bottom-color: #fe633f !important; +} + +.dian { + float: left; + position: relative; + line-height: 36px; + left: 20px; + box-shadow: -30px 0 30px #fff; +} + +.weui-cell_access .weui-cell__ft { + padding-right: 16px; +} + +.weui-tabs { + padding-left: 12px; +} + +.mt6 { + margin-top: 6px; +} +.mb6 { + margin-bottom: 5px; +} +.logoClass { + width: 52px; + height: 52px; + max-width: 100%; + /* border: 1rpx solid #ddd; */ + margin-bottom: 8px; + border-radius: 4px; +} +.f20.c633.lh1 { + font-weight: 601; +} +.hourPay { + /* f18 c633 lh1 flex-1 tr */ + font-size: 18px; + line-height: 1; + flex: 1; + text-align: right; + white-space: nowrap; + color: var(--color-ysd); + font-weight: 601; +} +.weui-btn { + margin-left: 0 !important; + margin-right: 0 !important; +} +.weui-btn_primary { + border-radius: 3px; + font-size: 12px; + margin-top: 0; + font-weight: 400; + width: 48px; + height: 18px; + border-radius: 9px; + /* line-height: 18px; */ + background-color: var(--color-ysd); + margin-bottom: 0; +} + +.tttg { + /* max-width: calc(100vw - 200px); */ + /* float: left; */ + display: flex; + justify-content: start; + align-items: center; +} +.tttg .t-icon { + display: block; + width: 32px; + height: 20px; + margin-right: 6px; +} +/* .tttg .tagsLi { + display: none; +} */ + +.tttg.isTagShow > view:nth-child(n + 4) { + display: none; +} +/* .tttg .tagsLi:nth-child(-n + 3) { + display: inline-block; +} */ +.tagsLi { + display: inline-block; + font-size: 12px; + font-weight: 400; + color: #666; + background: #f1f1f1; + border-radius: 2px; + padding: 0 4px 0px; + line-height: 20px; + margin-right: 6px; + margin-bottom: 0px; + position: relative; + top: 1px; + /* border: 1rpx solid transparent; */ +} + +.tagsLi.spli { + color: var(--color-ysd); + background-color: rgba(234, 67, 58, 0.2); +} + +.f12.c045.flex-1.mb4 { + margin-bottom: 7px; +} +.prImg { + position: relative; + width: 52px; + /* height: 52px; */ + margin-right: 8px; +} +button.collect { + position: absolute; + left: 0; + /* top: 61px; */ + bottom: -1px; + padding: 0 3px; + /* max-width: 52px; */ + width: 52px; + border: 1px solid rgb(236, 235, 235); + border-radius: 2px; + height: 20px; + text-align: center; + margin: 0; + padding: 0px; + background-color: #fff; + /* opacity: 0.7; */ + line-height: 20px; + /* border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; */ + display: flex; + align-items: center; + justify-content: center; +} +button.collect icon { + display: block; + font-size: 10px; +} +button.collect icon::before { + display: block; +} +.cf { + color: #fff; +} + +.f15 { + font-size: 15px !important; +} + +.p1020 { + padding: 10px; +} +#searchBar .cf, +#searchBar .cf085 { + color: #fff; +} +.banner { + /* background-color: var(--color-ysd); */ + margin-top: 10px; + padding: 0 10px; +} +.innerSwiper { + border-radius: 8px; + overflow: hidden; +} + +.jobCenter { + height: calc(100vh); + padding: 0px; + margin-top: 10px; + border-radius: 8px; + position: relative; + z-index: 999; + background-color: #fff; + box-sizing: border-box; +} +.jobCenterActive { + height: calc(100vh); + /* padding: 0 10px; + margin-top:10px; */ + /* border-radius: 8px; */ + position: relative; + z-index: 999; + background-color: #f5f5f5; + box-sizing: border-box; +} +.jobOne { + /* margin-top: 10px; */ + padding: 0 10px; + line-height: 1; + /* margin-top: -1rpx; */ +} + +.jobIn { + border-bottom: 1px solid #f3f3f3; + padding: 16px 0px; + /* background-color: #fff; */ + /* border-radius: 4px; */ +} +/* .jobOne:nth-of-type(1) .jobIn { + border-top: 1rpx solid #f00; +} */ +/* .jobOne:nth-child(1) .jobIn { + border-top: 0; +} */ +.icon-weixuanzhong2 { + color: #999; + font-size: 6px; + margin-left: 2px; + line-height: 36px; + position: relative; + top: -2px; +} +.csbf { + position: relative; + padding: 4px 12px 4px 16px; + /* width: 78px; */ + height: 36px; + background-color: #f6f6f6; + border-radius: 16px; + /* width:60px; */ + text-align: center; + font-size: 14px; + font-weight: 400; + color: #333333; + line-height: 28px; + box-sizing: border-box; + margin-right: 8px; +} +.csbf .icon-shouye-xiala { + font-size: 7px; + position: relative; + color: #f6f6f6 !important; + top: -2px; +} +.csbf.active { + /* color: var(--color-ysd); */ + height: 35px; + border-radius: 16px 16px 0 0; +} +.csbf.activecolor { + color: var(--color-ysd); +} +.csbf.active .icon-shouye-xiala { + /* color: var(--color-ysd) !important; */ +} +.csbf .icon-zhankai { + /* margin-left: 2px; */ + color: #999; +} + +.topHover, +.ahover { + opacity: 0.8; +} +.c8, +.icon-wode-shoucang { + color: #888; +} +/* .cred, +.icon-shoucang-red { + color: rgba(234, 67, 58, 1); +} */ +.collect.collectred { + /* opacity: 0.5; */ + /* border: 1rpx solid var(--color-ysd); + color: var(--color-ysd); */ + background: rgba(255, 68, 0, 0.2); + color: #ff4400; + border: 1rpx solid rgba(255, 68, 0, 0.2); +} +.opacityBtn { + position: absolute; + padding: 0; + width: unset !important; + /* width: calc(100vw - 100px); */ + z-index: 999; + opacity: 0; +} +.opacityBtn button { + padding: 0 10px; +} +.clickMore { + width: 120px; + height: 28px; + margin: 16px auto; + padding: 0; + opacity: 1; + border: 1px solid #0000000f; + border-radius: 20px; + color: #8c8c8c; + line-height: 25px; + font-size: 14px; + font-weight: normal; + background-color: #fff; +} +.stm { + font-size: 13px; + font-weight: 400; + text-align: center; + color: #666; + line-height: 18px; +} + +.filterprice { + position: relative; + border-radius: 0 0 14px 14px; +} +.filterprice > view { + background-color: #f6f6f6; + border-radius: 12px; +} +.sort.filterprice { + /* border-radius: 12px; */ + overflow: hidden; +} +.sort.filterprice > view { + border-radius: unset; +} +.sort.filterprice > view:first-child { + border-radius: 12px 12px 0 0; +} +.btmFix { + height: 48px; + /* padding-left: 50px; */ + justify-content: center; + border-radius: 0 0 10px 10px; + line-height: 48px; + background-color: #fff !important; +} +.btmFix > view { + display: flex; + align-items: center; + width: 128px !important; + /* margin-right: 20px; */ + line-height: 48px; +} +.btmFix > view:first-child { + margin-right: 20px; +} +.btmFix button { + height: 32px; + margin: 0; + /* margin-top: 10px; */ + margin-bottom: 0; + font-size: 14px; + line-height: 32px; +} +.brand .content { + padding: 8px; + padding-bottom: 50px; + border-radius: 12px; + flex-wrap: wrap; + height: 208px; + overflow: auto; + justify-content: space-between; +} +.brand .content > view { + display: flex; + align-items: center; + border: 1px solid transparent; + padding: 9px 8px; + flex: 43% 0 0; + height: 42px; + background-color: #fff; + border-radius: 8px; + margin-bottom: 8px; +} +.brand .content > view image { + width: 44px; + height: 44px; + border-radius: 6px; + margin-right: 8px; +} +.brand .content > view:nth-child(2n-1) { + margin-right: 8px; +} +.specialtag { + position: relative; + padding: 12px 10px 50px; + height: 269px; + overflow: auto; +} +/* .filterprice .specialtag .mt10 { + display: flex; + justify-content: start; + flex-wrap: wrap; +} */ +.gjFixed { + position: fixed; + top: 0px; + left: 0; + width: 100vw; + height: 100vh; + /* right:0; + bottom:0; */ + z-index: 999; + background-color: rgba(0, 0, 0, 0.8); +} +.oh { + overflow: hidden; + height: 100vh; +} +.oa { + overflow: auto; +} +.weui-half-screen-dialog { + height: 75vh; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + padding: 0; +} +.bgAc { + display: inline-block; + /* width: 82px; */ + flex: 23% 0 0; + height: 32px; + background: #fff; + border: 1rpx solid transparent; + border-radius: 999px; + font-size: 12px; + color: #333; + line-height: 32px; + text-align: center; + margin-right: 4px; + margin-bottom: 10px; +} +.bgAc.active { + border-color: var(--color-ysd); + background-color: #ffefe9; + color: var(--color-ysd); +} +.brandactive { + border-color: var(--color-ysd) !important; +} +.btmFix { + position: absolute; + bottom: 0px; + left: 0; + width: 100%; + /* background-color: #ffffff; */ + z-index: 99; +} +.resetBtn { + width: 100% !important; + height: 44px; + opacity: 1; + background: #fff; + border: 1px solid var(--color-ysd); + border-radius: 25px; + font-size: 18px; + font-weight: 601; + color: var(--color-ysd); + padding: 0; + line-height: 44px; + margin-bottom: 40px; +} +.resetBtn:active { + background-color: #f2f2f2; +} +.loginOut { + width: 100% !important; + height: 44px; + opacity: 1; + background: var(--color-ysd); + border-radius: 25px; + font-size: 18px; + font-weight: 601; + color: #ffffff; + padding: 0; + line-height: 44px; + margin-bottom: 40px; + margin-top: 20rpx; +} +.spef { + /* padding: 10px 0; */ + justify-content: space-between; +} +.spef .flex-1 { + max-width: 57px; + min-width: 52px; +} +.p10100 { + padding: 10px 10px 0; + min-height: 100vh; +} +.xgxg { + /* height: 44px; */ + padding: 8px 10px; + position: sticky; + top: 103px; + z-index: 999; + background-color: #fff; + border-bottom: 1rpx solid #f3f3f3; + border-top-left-radius: 16px; + border-top-right-radius: 16px; + /* border-radius: 8px; */ +} +.login_now { + padding: 0; +} +.record { + width: 64px !important; + padding: 0; + height: 20px !important; + line-height: 20px; + /* background-color: var(--color-ysd) !important; */ +} +.filterTag { + display: flex; + padding: 0 10px 8px 0px; + /* margin-top: 8px; */ +} +.filterTag .brandTag, +.filterTag .specialTag { + display: flex; + /* width: 200vw; */ + position: relative; + justify-content: start; + align-items: center; + flex-wrap: nowrap; + padding-right: 8px; + /* border-right: 1px solid #ccc; */ +} +.specialtag .tagBox { + display: flex; + justify-content: start; + align-items: center; + flex-wrap: wrap; +} +/* .filterTag .brandTag .mt10, +.filterTag .specialTag .mt10 { + display: flex; + justify-content: space-between; +} */ +.filterTag .brandTag.hascontent::after { + content: ""; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); + width: 1px; + height: 18px; + background-color: #ccc; +} +.filterTag .brandTag > view, +.filterTag .specialTag > view { + height: 24px; + line-height: 24px; + background-color: #ffefe9; + border: 0.5px solid #ff8255; + border-radius: 999px; + margin-right: 8px; + font-size: 12px; + color: var(--color-ysd); + /* min-width: 100px; */ + white-space: nowrap; + padding: 0px 12px; +} +.filterTag .brandTag > view:last-child, +.filterTag .specialTag > view:last-child { + margin-right: 0px; +} +.filterTag .specialTag { + padding-left: 8px; +} +.specialnum { + font-size: 12px; + color: #fff; + text-align: center; + background-color: var(--color-ysd); + padding: 0 4px; + border-radius: 999px; +} +.quickapply { + position: relative; + height: 80px; + margin: 10px; + margin-bottom: 0; + /* background-color: #fff; */ + overflow: hidden; + border-radius: 8px; +} +.quickapply button { + display: flex; + height: 100%; + width: 100%; + padding: 0; + margin: 0; + background-color: #fff; +} +.quickapply button > view { + position: relative; + display: flex; + justify-content: space-between; + align-items: center; + width: 50%; + padding: 20px 24px; +} +.quickapply button > view:first-child::after { + content: ""; + width: 1px; + height: 20px; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); + background-color: #eee; +} +.quickapply button > view .t-icon { + width: 38px; + height: 38px; +} +.quickapply button > view .info > view { + text-align: left; + line-height: 1.6; +} +.quickapply button > view .info > view:first-child { + font-size: 18px; + font-weight: 400; +} +.quickapply button > view .info > view:last-child { + font-size: 14px; + color: #999; + font-weight: 400; +} +.tabTable { + margin-top: 10px; + padding: 0 10px; + justify-content: space-between; +} +.tabTable > view { + display: flex; + flex: 1; + padding: 8px 0 4px 0; + justify-content: center; + align-items: center; + text-align: center; + font-size: 18px; +} +.tabTable .all .iconfont { + font-size: 18px !important; +} +.tabTable > view .iconfont { + font-size: 20px; +} +.tabTable > view.active { + background-color: #fff; + border-radius: 12px 12px 0px 0px; + color: #f40; + /* font-weight: 600; */ +} +.tabTable > view.active .iconfont { + /* font-weight: 600; */ + color: #f40; +} +.tabTable > view .iconfont { + /* font-size: 18px; */ + margin-right: 5px; +} +.display-flex { + display: flex; + justify-content: space-between; +} +.drawerMask { + position: fixed; + z-index: 1000; + top: 0; + right: 0; + left: 0; + bottom: 0; + transition: opacity 0.3s, visibility 0.3s; + background: rgba(0, 0, 0, 0.6); + visibility: hidden; + opacity: 0; +} +.drawerMask.showDrawer { + opacity: 1; + visibility: visible; +} +.drawer.showDrawer { + /* position: relative; */ + border-radius: 8px 8px 0 0; + width: 100vw; + height: 660px; + /* bottom: -44px; */ + /* padding-bottom: 44px; */ +} +.drawer { + position: fixed; + left: 0; + right: 0; + bottom: 0px; + z-index: 2000; + width: 100vw; + background-color: #fff; + height: 0; + transition: all 0.3s; +} +.showDrawer .title{ + padding: 12px 16px; +} +.showDrawer .title .icon-guanbi { + position: relative; +} +.showDrawer .title .icon-guanbi::after{ + content: ''; + display: inline-block; + width: 60px; + height: 60px; + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); +} +.showDrawer .annunciate { + height: 430px; + + overflow: auto; +} +.showDrawer .annunciate .info{ + width: 100%; + padding:12px 22px; + box-sizing: border-box; +} +.showDrawer .footer{ + display: flex; + justify-content: space-between; + text-align: center; + align-items: center; + padding-top: 15px; + padding-right: 48px; + padding-left: 48px; + border-top: 1px dashed #cccccc; +} \ No newline at end of file diff --git a/pages/mine/connectUs/index.js b/pages/mine/connectUs/index.js new file mode 100644 index 0000000..963811a --- /dev/null +++ b/pages/mine/connectUs/index.js @@ -0,0 +1,58 @@ +// pages/connectUs/index.js +const app = getApp(); + +Page({ + /** + * 页面的初始数据 + */ + data: { + serviceInfo: app.globalData.serviceInfo, + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) {}, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() {}, + call() { + console.log(1); + var that = this; + wx.makePhoneCall({ + // number: that.data.jobDetail.assistantUserTel + "" + phoneNumber: that.data.serviceInfo.workPhone || "0371-6611 3723", + }); + }, + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() {}, +}); diff --git a/pages/mine/connectUs/index.json b/pages/mine/connectUs/index.json new file mode 100644 index 0000000..2d0a05f --- /dev/null +++ b/pages/mine/connectUs/index.json @@ -0,0 +1,6 @@ +{ + "navigationBarTitleText": "联系我们", + "navigationBarBackgroundColor": "#fff", + "navigationBarTextStyle": "black", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/connectUs/index.wxml b/pages/mine/connectUs/index.wxml new file mode 100644 index 0000000..73fbb95 --- /dev/null +++ b/pages/mine/connectUs/index.wxml @@ -0,0 +1,32 @@ + + + + + + + + + 客户经理 + + {{serviceInfo.userName }} + +

{{serviceInfo.tel || '0371-6611 3723'}}

+
+ +
+
+ + + +
+ + 客户经理 + + {{serviceInfo.userName }} + +

{{serviceInfo.tel || '0371-6611 3723'}}

+
+ + 长按识别二维码 +
+
diff --git a/pages/mine/connectUs/index.wxss b/pages/mine/connectUs/index.wxss new file mode 100644 index 0000000..6df2b22 --- /dev/null +++ b/pages/mine/connectUs/index.wxss @@ -0,0 +1,28 @@ +page { + padding: 10px; +} +.bottom { + background-color: #fff; + border-radius: 8px; + text-align: center; +} +.serviceinfo { + line-height: 1; + padding: 26px 16px 16px 16px; + align-items: center; +} +.serviceinfo image { + width: 52px; + height: 52px; +} +.telBox { + width: 40px; + height: 40px; + line-height: 40px; + border-radius: 50%; + background-color: #fff1ec; +} +.telBox i { + font-size: 24px; + color: #ff4400; +} diff --git a/pages/mine/index.js b/pages/mine/index.js new file mode 100644 index 0000000..e98b93e --- /dev/null +++ b/pages/mine/index.js @@ -0,0 +1,300 @@ +// pages/mine/mine.js +const app = getApp(); +Page({ + /** + * 页面的初始数据 + */ + data: { + isopen: 1, // 账户余额是否显示 + iosDialog: false, + iosDialogTobe: false, + isLoading: true, // 成为代理loading效果 + isLogin: app.globalData.isLogin, + // user:app.globalData.user, + serviceInfo: {}, + map: { num10: "0", num20: "0", num25: "0", num30: "0", num40: "0", num999: "0", user999: "0", user40: "0", user48: "0", user50: "0", billStatus10Salary: "0", billStatus30Salary: "0" }, + motto: "Hello World", + userInfo: {}, + hasUserInfo: false, + canIUse: wx.canIUse("button.open-type.getUserInfo"), + canIUseGetUserProfile: false, + // 如需尝试获取用户信息可改为false + underReviewNum: -1, + underReviewList: [], + searchParam: {}, + recordBillType: "", + configInfo:{} + // agencyStatus: 0, // 是否是代理判断 + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + setTimeout(() => { + console.log(app.globalData.loginUserInfo); + this.setData({ + isLogin: app.globalData.isLogin, + hasUserInfo: app.globalData.hasUserInfo, + // agencyStatus: app.globalData.loginUserInfo.agencyStatus, + userInfo: app.globalData.loginUserInfo, + serviceInfo: app.globalData.serviceInfo, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + }); + }, 100); + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + console.log("isshow"); + let that = this; + console.log(wx.getWindowInfo().screenTop) + + wx.setStorageSync("comeFromPage", "me"); + if (typeof this.getTabBar === "function" && this.getTabBar()) { + this.getTabBar().setData({ + selected: 2, + isShow:true + }); + } + wx.setStorageSync('BILLFROM','mine') + + // wx.showTabBar({ + // success(e) {}, + // }); + // if (!app.globalData.isLogin) { + // wx.setStorageSync('comeFromPage', "me") + // wx.redirectTo({ + // url: "/pages/login/index", + // }); + // } else { + // wx.switchTab({ + // url: "/pages/mine/index", + // }); + // } + // let serviceInfo = wx.getStorageSync('ServiceInfo') + setTimeout(() => { + if (app.globalData.isLogin) { + console.log(that.data.userInfo); + that.setData({ + isLogin: app.globalData.isLogin, + hasUserInfo: app.globalData.hasUserInfo, + // agencyStatus: app.globalData.loginUserInfo.agencyStatus, + userInfo: app.globalData.loginUserInfo, + serviceInfo: app.globalData.serviceInfo, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + }); + that.getDataNum(); + } else { + // 由于 userLogin 是网络请求,可能会在 Page.onLoad 之后才返回 + // 所以此处加入 callback 以防止这种情况 + // app.userLoginCallback = (res) => { + setTimeout(() => { + console.log(that.data.userInfo); + that.setData({ + isLogin: app.globalData.isLogin, + hasUserInfo: app.globalData.hasUserInfo, + userInfo: app.globalData.loginUserInfo, + // agencyStatus: app.globalData.agencyStatus, + serviceInfo: app.globalData.serviceInfo, + }); + }, 100); + // }; + that.getDataNum(); + } + console.log(that.data.serviceInfo); + // this.watch(); + }, 100); + this.getConfigInfo(); + + }, + watch() { + // var obj = app.globalData; + // this.setData({ + // isLogin: obj.isLogin, + // }); + }, + onTabItemTap(item) { + console.log(item.index); + console.log(item.pagePath); + console.log(item.text); + }, + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + console.log(123); + + this.setData({ + iosDialog: false, + iosDialogTobe: false, + }); + wx.onAppRoute({ + success(item) { + console.log(item); + }, + fail: function (item) { + console.log(item); + }, + }); + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + // var that = this; + // console.log(that.data.isLogin) + // if(!that.data.isLogin){ + // wx.setStorageSync('comeFromPage', "me") + // wx.redirectTo({ + // url: "/pages/login/index", + // }); + // } + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () {}, + showbalance(e) { + this.setData({ + isopen: e.mark.open, + }); + }, + showdialog() { + this.setData({ + iosDialog: true, + }); + }, + showTobe() { + this.setData({ + iosDialogTobe: true, + }); + }, + closeDialog() { + this.setData({ + iosDialog: false, + iosDialogTobe: false, + }); + }, + login() { + // this.setData({ + // isLogin:true + // }) + + app.globalData.isLogin = true; + wx.reLaunch({ + url: "/pages/mine/index", + }); + }, + /** + * 获取商家配置信息 + * + * + */ + getConfigInfo() { + let that = this; + wx.request({ + url: app.globalData.ip + "/yishoudan/agency/config/get", // 分类列表获取接口 + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + configInfo: res.data.data.config, + }); + wx.setStorageSync('configInfo', res.data.data.config) + console.log(that.data.configInfo); + } + }, + }); + }, + makePhoneCall() { + console.log(1); + var that = this; + wx.makePhoneCall({ + // number: that.data.jobDetail.assistantUserTel + "" + phoneNumber: that.data.serviceInfo.workPhone || "0371-6611 3723", + }); + }, + /** + * 前往工单页面 + * + * + */ + goList() { + if (!app.globalData.isLogin) { + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + wx.navigateTo({ + url: "../myBill/index?status=0", + }); + } + }, + /** + * 获取各个数量 + * + * + */ + getDataNum() { + let that = this; + wx.request({ + url: app.globalData.ip + "/statistics/home", + header: app.globalData.headers, + success(res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + map: res.data.data, + }); + } + }, + }); + }, + /** + * 二维码加载laoding隐藏 + * + * + */ + imageLoad() { + this.setData({ + isLoading: false, + }); + }, + toTodayData() { + if (!app.globalData.isLogin) { + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + wx.navigateTo({ + url: "/pages/todayData/index", + }); + } + }, + modalMove() { + return false; + }, +}); diff --git a/pages/mine/index.json b/pages/mine/index.json new file mode 100644 index 0000000..b693d42 --- /dev/null +++ b/pages/mine/index.json @@ -0,0 +1,7 @@ +{ + "usingComponents": {}, + "navigationBarTitleText": "我的", + "navigationBarBackgroundColor": "#027aff", + "navigationBarTextStyle": "white", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/index.wxml b/pages/mine/index.wxml new file mode 100644 index 0000000..9352b8a --- /dev/null +++ b/pages/mine/index.wxml @@ -0,0 +1,228 @@ + + + + + + + + + + + + + + + + + {{userInfo.user.userName || '微信用户'}} + + + + {{userInfo.user.tel}} + + + + + + 去认证 + + + + + + + + + + + + + + 微信用户 + + 为劳动者创造价值 + + + + + + + + + + + + + + 我的报名 + + + + + + + + + + + + 我的服务 + + + + + + + 工作 + + + + + + + 证件 + + + + + + + + + + + 地址本 + + + + + + 收藏 + + + + + + + + + + + + + + + + 设置 + + + + + + + + + + + + + + + + + + 加客户经理微信 + + + + + 加载中... + + + + + 长按识别二维码 + + + + + + + + + + + 成为伯才代理 + 请联系客户经理 + + + + 客户经理 + + {{serviceInfo.userName }} + +

{{serviceInfo.tel || '0371-6611 3723'}}

+
+ + + + + 加载中... + + + 长按识别二维码 +
+
+
+
+
+ + diff --git a/pages/mine/index.wxss b/pages/mine/index.wxss new file mode 100644 index 0000000..36bf766 --- /dev/null +++ b/pages/mine/index.wxss @@ -0,0 +1,369 @@ +/* pages/mine/mine.wxss */ +/* @import "../../appcommon.wxss"; */ +page { + height: 90vh; +} +.container { + padding: 10px; +} +.container .no_login { + display: flex; + align-items: center; +} +.container .no_login .t-icon-morentouxiang { + width: 56px; + height: 56px; +} +.container .no_login view:last-child { + font-size: 22px; +} +.container .login { + margin-top: 30px; +} +.container .login .loginBtn { + width: 200px; + height: 42px; + background-color: var(--color-ysd); + border-radius: 999px; +} +.container .setting { + padding: 18px 10px !important; + padding-left: 16px !important; +} +.container .userinfobox, +.container .setting { + display: flex; + background-color: #fff; + justify-content: space-between; + align-items: center; + border-radius: 8px; + padding: 15px 10px; + + /* padding-left: 20px !important; */ +} +.container .userinfobox .userinfo, +.container .setting .userinfo { + display: flex; + justify-content: space-between; + align-items: center; +} +.container .userinfobox .userinfo > view:last-child, +.container .setting .userinfo > view:last-child { + display: flex; + flex-direction: column; + justify-content: space-between; + height: 100%; +} +.container .userinfobox .userinfo > view:last-child view:last-child, +.container .setting .userinfo > view:last-child view:last-child { + color: #666; + line-height: 1; +} +.container .userinfobox .userinfo .usernamebox, +.container .setting .userinfo .usernamebox { + display: flex; + justify-content: space-between; + flex-direction: column; + /* margin-left: 4px; */ +} +.container .userinfobox .userinfo .usernamebox .username, +.container .setting .userinfo .usernamebox .username { + display: flex; + justify-content: start; + flex-direction: row; + align-items: center; + line-height: 1; + margin-bottom: 15px; + font-size: 20px; + font-weight: 603; +} +.container .userinfobox .userinfo .usernamebox .username .theusername { + max-width: 160px; + word-wrap: nowrap; + word-break: keep-all; + overflow: hidden; + text-overflow: ellipsis; + color: #333; +} +.container .userinfobox .userinfo .usernamebox .username i, +.container .setting .userinfo .usernamebox .username i { + width: 20px; + height: 20px; + margin-left: 5px; +} +.container .userinfobox .userinfo image, +.container .setting .userinfo image { + width: 56px; + height: 56px; + border-radius: 999px; + /* margin-right: 12px; */ +} +.container .userinfobox > view:last-child, +.container .setting > view:last-child { + display: flex; + align-items: center; + color: #acacac; +} +.container .userinfobox > view:last-child text, +.container .setting > view:last-child text { + margin-left: 4px; +} +.balanceBox { + border-radius: 8px; + margin-bottom: 10px; + overflow: hidden; + margin-top: 10px; +} +.balanceBox .myaBill { + display: flex; + justify-content: space-between; + align-items: center; + height: 48px; + padding: 0 10px 0 16px; + background-color: #fff; +} +.balanceBox .myaBill .icon-gengduo11 { + color: #999; + font-size: 12px; +} +.container .userbalance { + display: flex; + justify-content: space-between; + align-items: center; + /* padding: 16px; */ + border-radius: 8px 8px 0 0; + /* width: 355px; */ + /* height: 96px; */ + box-sizing: border-box; + color: #fff; + background-color: #fff; +} +.container .userbalance > navigator { + height: 100%; + display: flex; + flex: 1; + flex-direction: column; + justify-content: space-around; + padding: 16px 0 16px 16px; +} +.container .userbalance > view > view:last-child { + font-size: 26px; +} +.container .userbalance .balanceinfo { + display: flex; + justify-content: start; + flex-direction: row; + align-items: center; +} +.container .userbalance .balanceinfo > view:last-child { + width: 20px; + height: 20px; + background-repeat: no-repeat; + background-size: 100% 100%; +} +.container .userbalance .rightbox { + display: flex; + justify-content: space-between; + flex-direction: column; + align-items: center; +} +.container .userbalance .rightbox > view:last-child { + width: 12px; + height: 12px; + /* margin-left: 8px; */ +} +.container .mycard, +.container .myserve { + background-color: #fff; +} +.container .mycard .title, +.container .myserve .title { + font-size: 16px; + /* font-weight: 400; */ + padding: 9px 0px; + /* padding-top: 16px; */ +} +.container .mycard .content, +.container .myserve .content { + display: flex; + justify-content: start; + padding: 16px 0px; +} +.container .mycard .content > view, +.container .myserve .content > view { + width: 25%; + text-align: center; + font-size: 14px; + color: #666; + /* margin-right: 24px; */ +} +.container .mycard .content > view image, +.container .myserve .content > view image { + width: 22px; + height: 22px; +} +/* .container .myserve .content { + justify-content: space-between; +} */ +.container .myserve .content > view { + margin-right: 0; +} +.container .servicebox { + /* display: flex; + justify-content: space-between; + flex-direction: column; + align-items: start; */ + /* padding: 20px; */ + padding: 16px 12px; + /* padding-bottom: 0; */ + /* padding-right: 10px; */ + background-color: #fff; +} +.thover06{ + opacity: 0.6; +} +.container .servicebox .serviceinfo image { + width: 52px; + height: 52px; +} +.servicebox .serviceBottom { + height: 48px; + line-height: 48px; + width: 100%; + justify-content: space-between; +} +.servicebox .serviceBottom > view { + flex: 1; + justify-content: space-between; + padding: 0 10px 0 16px; +} +.container .setting { + display: flex; + justify-content: space-between; + background-color: #fff; + align-items: center; + padding: 20px; +} +.container .setting > view:first-child { + display: flex; + justify-content: space-between; + align-items: center; +} + +.weui-dialog .weui-dialog__ft { + display: flex; + align-items: center; + justify-content: space-around; + height: 80px; +} +.weui-dialog .weui-dialog__ft .cancel { + flex: unset; + width: 112px; + color: var(--color-ysd); +} +.weui-dialog .weui-dialog__ft .call { + flex: unset; + width: 112px; + height: 42px; + line-height: 42px; + padding: 0; + background-color: var(--color-ysd); + border-radius: 999px; + color: #fff; +} +.weui-dialog .weui-dialog__bd { + text-align: center; + padding: 20px 20px 0; + margin-bottom: 0; + font-weight: normal; +} +.weui-dialog .weui-dialog__bd .avatar { + margin-bottom: 12px; +} +.weui-dialog .weui-dialog__bd .avatar image { + width: 56px; + height: 56px; +} +.weui-dialog .weui-dialog__bd .name { + margin-bottom: 8px; + font-size: 20px; +} +.weui-dialog .weui-dialog__bd .job { + margin-bottom: 20px; + font-size: 14px; +} +.weui-dialog .weui-dialog__bd .tel { + margin-bottom: 20px; + font-size: 22px; +} +.contact { + width: 80%; + height: 350px; +} +.contact .weui-dialog__hd { + margin-top: 40px; + padding: 0; + position: relative; +} +.guanbi { + position: absolute; + right: 16px; + top: -28px; +} +.contact .contact_bottomBtn .v-center { + width: 80px !important; +} +.contact .contact_bottomBtn .rflex button { + padding: 0; + width: 100%; +} +.button-hover { + opacity: 0.8; + background-color: #fff; +} +.friendBar .container { + display: flex; + justify-content: start; + padding: 0; +} +.friendBar .container .sub { + flex: 25%; + padding: 16px 0; + text-align: center; +} +.friendBar .container .sub .t-icon { + margin-bottom: 6px; +} +.friendBar .container .sub view { + line-height: 1; +} +.myBill .weui-grids { + border-top: 1px solid #f5f5f5; +} +.myBill .weui-grids::before, +.myTownsman .weui-grids::before { + display: none; +} +.weui-grids navigator { + width: 20%; +} +.weui-grid4 { + padding: 10px 0; + text-align: center; +} +.weui-grid4::before { + display: none; +} +.weui-grid5::before { + display: none; +} + +.bb1 { + border-bottom: 1px solid #f5f5f5; +} +.mark { + position: absolute; + left: 50%; + bottom: -5px; + transform: translateX(-50%); +} diff --git a/pages/mine/myJob/index.js b/pages/mine/myJob/index.js new file mode 100644 index 0000000..ad26a39 --- /dev/null +++ b/pages/mine/myJob/index.js @@ -0,0 +1,66 @@ +// pages/mine/myJob/index.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/pages/mine/myJob/index.json b/pages/mine/myJob/index.json new file mode 100644 index 0000000..6bfcd14 --- /dev/null +++ b/pages/mine/myJob/index.json @@ -0,0 +1,3 @@ +{ + "navigationBarTitleText": "我的工作" +} \ No newline at end of file diff --git a/pages/mine/myJob/index.wxml b/pages/mine/myJob/index.wxml new file mode 100644 index 0000000..ea80243 --- /dev/null +++ b/pages/mine/myJob/index.wxml @@ -0,0 +1,34 @@ + + + 暂无记录 + + + \ No newline at end of file diff --git a/pages/mine/myJob/index.wxss b/pages/mine/myJob/index.wxss new file mode 100644 index 0000000..0b93c6c --- /dev/null +++ b/pages/mine/myJob/index.wxss @@ -0,0 +1 @@ +/* pages/mine/myJob/index.wxss */ \ No newline at end of file diff --git a/pages/mine/realName1/index.js b/pages/mine/realName1/index.js new file mode 100644 index 0000000..7835090 --- /dev/null +++ b/pages/mine/realName1/index.js @@ -0,0 +1,468 @@ +// pages/realName/index.js +let app = getApp(); +Page({ + /** + * 页面的初始数据 + */ + data: { + level: 1, + isFinish: false, + user: { + sex: "", + sexStr: "", + IDCard: "", + realName: "", + idcardImgFrontm: "", // 正面mini照 + idcardImgFront: "", // 正面标准照 + idcardImgBackm: "", // 反面mini照 + idcardImgBack: "", // 反面标准照 + }, + canFinish: false, + switch1Checked: false, + + sexArr: [ + { + text: "男", + id: 1, + }, + { + text: "女", + id: 2, + }, + ], + }, + switch1Change: function (e) { + console.log("radio发生change事件,携带value值为:", e.detail.value); + console.log(e.detail.value); + + var check = this.data.switch1Checked; + if (check) { + this.data.switch1Checked = false; + console.log("已取消选中"); + wx.showToast({ + title: "请先阅读并同意《服务协议》及《隐私政策》", + icon: "none", + duration: 2000, + }); + } else { + this.data.switch1Checked = true; + console.log("已选中"); + } + this.setData({ + switch1Checked: this.data.switch1Checked, + }); + + // if(!e.detail.value){ + + // } + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + // if (app.globalData.isLogin) { + // this.setData({ + // isLogin: app.globalData.isLogin, + // user: app.globalData.user, + // }); + // if (this.data.user.idcardImgBack && this.data.user.idcardImgFront) { + // this.setData({ + // btnDisabled: false, + // }); + // } + // this.data.user["IDCard"] = this.data.user["IDCard"]; + // } else { + // // 由于 userLogin 是网络请求,可能会在 Page.onLoad 之后才返回 + // // 所以此处加入 callback 以防止这种情况 + // app.userLoginCallback = (res) => { + // this.setData({ + // isLogin: app.globalData.isLogin, + // user: app.globalData.user, + // }); + // if (this.data.user.idcardImgBack && this.data.user.idcardImgFront) { + // this.setData({ + // btnDisabled: false, + // }); + // } + // this.data.user["IDCard"] = this.data.user["idcard"]; + // }; + // } + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() {}, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() {}, + getId(e) { + console.log(e); + let user = "user.IDCard"; + this.setData({ + [user]: e.detail.value, + }); + console.log(this.data.user.IDCard); + this.idverify(); + }, + getRealName(e) { + console.log(e); + let user = "user.realName"; + this.setData({ + [user]: e.detail.value, + }); + this.idverify(); + }, + // toNext(data) { + // console.log(data); + // if (data.currentTarget.dataset.level == 1) { + // if (this.isNotEmptyCheck(this.data.user.idcardImgFront)) { + // this.setData({ + // level: 2, + // }); + // } + // } else { + // if (this.isNotEmptyCheck(this.data.user.idcardImgBack)) { + // this.setData({ + // level: 3, + // }); + // } + // } + // this.idverify(); + // // this.setData({ + // // level : this.data.level <= 2 ? this.data.level + 1 : this.data.level + // // }) + // // wx.navigateTo({ + // // url: '../realName2/index', + // // }) + // // console.log(123); + // }, + idverify() { + var username = /^[\u4E00-\u9FA5\uf900-\ufa2d·s]{2,20}$/; + if (this.data.user.IDCard.length == 18 && username.test(this.data.user.realName)) { + this.setData({ + canFinish: true, + }); + } else { + this.setData({ + canFinish: false, + }); + } + }, + goBack() { + // this.data.level = this.data.level - 1 + this.setData({ + level: this.data.level >= 1 ? this.data.level - 1 : this.data.level, + isFinish: false, + }); + if (this.data.level == 0) { + wx.navigateBack({ + delta: 1, + }); + } + // this.onLoad() + }, + toFinish() { + let that = this; + this.idverify(); + console.log(that.data.canFinish); + if (!that.data.switch1Checked) { + wx.showToast({ + title: "请先阅读并同意《服务协议》及《隐私政策》", + icon: "none", + duration: 2000, + }); + return; + } + if (!that.data.user.idcardImgFront || !that.data.user.idcardImgBack) { + wx.showToast({ + title: "请上传身份证照片", + icon: "none", + duration: 2000, + }); + return; + } + if (that.data.canFinish) { + wx.showLoading({ + title: "保存中...", + mask: true, + }); + + var realName = that.data.user.realName; + var IDCard = that.data.user.IDCard; + + wx.request({ + url: app.globalData.ip + "/commons/validatecard", + data: { + name: realName, + cardno: IDCard, + }, + header: app.globalData.headers, + method: "POST", + success: function (res) { + console.log(res); + + // if (res.data.status == 9999) { + // app.dialogNotLogin(); + // return; + // } + + var state = res.data.data.state; + // wx.navigateTo({ + // url: `/pages/returnMessage/index?from=real&type=success&msg=实名认证成功`, + // }); + // app.globalData.loginUserInfo.user.idauth = 1; + // return; + if (state == 101) { + wx.hideLoading(); + that.dialog("已被占用", "你输入的身份证号已经被其他人占用了", "知道了"); + } else if (state == 102) { + wx.hideLoading(); + that.dialog("次数超限", "你今天已经认证失败3次,明天再认证吧", "知道了"); + } else if (state == 5 || state == 14 || state == 96) { + wx.hideLoading(); + that.dialog("认证失败", "姓名或身份证号错误,认证失败", "知道了"); + } else if (state == 0) { + that.saveIDCard(realName, IDCard); + } else { + wx.hideLoading(); + that.dialog("认证失败", res.data.msg, "知道了"); + } + }, + }); + } else { + wx.showToast({ + icon: "none", + title: "请确保信息完整", + duration: 2000, + }); + } + }, + saveIDCard: function (realName, IDCard) { + let that = this; + wx.request({ + url: app.globalData.ip + "/user/auth/authIDCard", + data: { + realName: realName, + IDCard: IDCard, + }, + header: app.globalData.headers, + method: "POST", + success: function (res) { + // console.log(res); + if (res.data.status == 200) { + wx.showToast({ + title: "保存成功", + icon: "success", + image: "", + duration: 1000, + mask: true, + success: function (res) { + wx.hideLoading(); + that.updateSex(); + app.globalData.loginUserInfo.user.idauth = 1; //如果身份证上传成功,登录缓存的实名认证状态更新为已实名 + // that.makeInfoSuccess(); + wx.navigateTo({ + url: `../returnMessage/index?from=real&type=success&msg=实名认证成功`, + }); + }, + fail: function (res) { + wx.hideLoading(); + }, + complete: function (res) {}, + }); + } else { + wx.navigateTo({ + url: `../returnMessage/index?from=real&type=fail&msg=实名认证失败&status=${res.data.status}`, + }); + // app.showTips(that, res.data.msg); + } + }, + }); + }, + dialog: function (title, content, btxt) { + wx.showModal({ + title: title, + content: content, + showCancel: false, + confirmColor: "#ff4400", + confirmText: btxt, + success: function (res) { + if (res.confirm) { + console.log("用户点击确定"); + } else if (res.cancel) { + console.log("用户点击取消"); + } + }, + }); + }, + uploadCard(data) { + var that = this; + // return + let type = data.currentTarget.dataset.type; + console.log(type); + wx.chooseImage({ + count: 1, // 默认9 + sizeType: ["original", "compressed"], // 可以指定是原图还是压缩图,默认二者都有 + sourceType: ["album", "camera"], // 可以指定来源是相册还是相机,默认二者都有 + success: function (res) { + wx.showLoading({ + title: "上传中", + mask: true, + }); + // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片 + var tempFilePaths = res.tempFilePaths; + var formData = { + type: type, + userId: app.globalData.userId, + }; + wx.uploadFile({ + url: app.globalData.ip + "/user/auth/uploadImage", + filePath: res.tempFilePaths[0], + name: "uploadFile", + header: app.globalData.headers2, // 设置请求的 header + formData: formData, // HTTP 请求中其他额外的 form data + success: function (res1) { + var result = JSON.parse(res1.data); + console.log(result); + if (result.status == 200) { + if (type == 2) { + that.data.user["idcardImgFrontm"] = result.data.miniUrl; + that.data.user["idcardImgFront"] = result.data.url; + that.data.user["IDCard"] = result.data.IDCard; + that.data.user["realName"] = result.data.realName; + console.log(that.data.user.IDCard); + if (that.data.user.IDCard) { + if (that.data.user.IDCard.slice(16, 17) % 2 == 0) { + that.data.user.sex = 2; + that.data.user.sexStr = "女"; + } else { + that.data.user.sex = 1; + that.data.user.sexStr = "男"; + } + } + } else if (type == 3) { + that.data.user["idcardImgBackm"] = result.data.miniUrl; + that.data.user["idcardImgBack"] = result.data.url; + } + console.log(that.data.user); + that.setData({ + user: that.data.user, + }); + } else { + wx.showToast({ + icon: "none", + title: result.msg, + duration: 2000, + }); + } + //判断是否可以进入下一步 + // if (!that.isEmptyCheck(that.data.user.idcardImgFront) && !that.isEmptyCheck(that.data.user.idcardImgBack)) { + // that.setData({ + // btnDisabled: false, + // }); + // } + wx.hideLoading(); + }, + fail: function (res2) { + wx.hideLoading(); + }, + }); + }, + }); + }, + updateSex() { + // that.updateSex(that.data.user["IDCard"]); + + var formData = { + userId: app.globalData.user.id, + sex: this.data.user.sex, + }; + wx.request({ + url: app.globalData.ip + "/user/updateSex", + method: "POST", + header: app.globalData.headers, + data: formData, + success: function (res) { + console.log(res); + + if (res.data.status == 200) { + // let data = "user.sex"; + // app.({ + // [data]: formData.sex, + // }); + app.globalData.user.sex = formData.sex; + console.log(app.globalData.user.sex); + } else { + wx.showToast({ + icon: "none", + title: res.data.msg, + duration: 2000, + }); + + that.setData({ + btnLoading: false, + }); + } + }, + }); + }, + isEmptyCheck: function (str) { + if (str == null || str == "" || str == "null" || str == "undefined" || typeof str == "undefined") { + return true; + } + return false; + }, + isNotEmptyCheck: function (str) { + return !this.isEmptyCheck(str); + }, + tomine() { + wx.navigateBack({ + delta: 1, + }); + }, + changeDateTime(e) { + console.log(e); + console.log(this.data.sex); + if (e.detail.value == 0) { + this.data.user.sexStr = "男"; + this.data.user.sex = 1; + } else { + this.data.user.sexStr = "女"; + this.data.user.sex = 2; + } + this.setData({ + user: this.data.user, + }); + }, + changeDateTimeColumn(e) { + console.log(e); + }, +}); diff --git a/pages/mine/realName1/index.json b/pages/mine/realName1/index.json new file mode 100644 index 0000000..6d218e1 --- /dev/null +++ b/pages/mine/realName1/index.json @@ -0,0 +1,4 @@ +{ + "navigationBarTitleText": "实名认证", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/realName1/index.wxml b/pages/mine/realName1/index.wxml new file mode 100644 index 0000000..6c81ac5 --- /dev/null +++ b/pages/mine/realName1/index.wxml @@ -0,0 +1,75 @@ + + + + + + + + + 人像面照片 + + + + + + + 国徽面照片 + + + + + + + 姓名 + + + + + + 性别 + + {{!!user.sexStr ? user.sexStr : '选择性别' }} + + + + 身份证号 + + + + + + + + + 上传成功 + + + + + + + + + + 我已阅读并同意 + 《服务协议》及 + 《隐私政策》 + + diff --git a/pages/mine/realName1/index.wxss b/pages/mine/realName1/index.wxss new file mode 100644 index 0000000..c350770 --- /dev/null +++ b/pages/mine/realName1/index.wxss @@ -0,0 +1,52 @@ +page { + padding: 10px; + background-color: #f5f5f5; +} +.IDcardBox { + display: flex; + flex-direction: column; + justify-content: center; + height: 366px; + + align-items: center; + background-color: #fff; + border-radius: 8px; +} +.imgBox { + width: 240px; + height: 151px; + position: relative; +} +.imgBox image { + width: 100%; + height: 100%; +} +.imgBox:first-child { + margin-bottom: 16px; +} +.cardText { + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + text-align: center; +} +.infoBox { + background-color: #fff; + border-radius: 8px; +} +.infoBox .userInfo { + padding: 0 10px; +} +.dfsb { + display: flex; + justify-content: space-between; + align-items: center; + line-height: 52px; +} +.dfsb input { + color: #333; +} +.bgh { + background-color: #ccc; +} diff --git a/pages/mine/returnMessage/index.js b/pages/mine/returnMessage/index.js new file mode 100644 index 0000000..b60131e --- /dev/null +++ b/pages/mine/returnMessage/index.js @@ -0,0 +1,99 @@ +// pages/returnMessage/index.js +Page({ + /** + * 页面的初始数据 + */ + data: { + success: false, + fail: false, + from: "", + messageInfo: "", + status: null, + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + console.log(options); + let type = options.type; + this.setData({ + [type]: true, + messageInfo: options.msg, + from: options.from, + }); + if (options.status) { + this.setData({ + status: options.status, + }); + } + console.log(this.data); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() {}, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() {}, + finish() { + // if (wx.getStorageSync("comeFromPage")) { + // let from = wx.getStorageSync("comeFromPage"); + // wx.navigateTo({ + // url: `/pages/${from}/index`, + // }); + // console.log(wx.getStorageSync("comeFromPage")); + // } + wx.switchTab({ + url: "/pages/mine/index", + }); + // wx.navigateBack({ + // delta: 2, + // }); + }, + /** + * 点击返回我的 + * + * + */ + toMine(e) { + console.log(e); + if (this.data.from == "bill") { + wx.reLaunch({ + url: "/pages/firstBill/index", + }); + } else if (this.data.from == "real") { + wx.reLaunch({ + url: "/pages/mine/index", + }); + } + }, +}); diff --git a/pages/mine/returnMessage/index.json b/pages/mine/returnMessage/index.json new file mode 100644 index 0000000..da7c217 --- /dev/null +++ b/pages/mine/returnMessage/index.json @@ -0,0 +1,5 @@ +{ + "usingComponents": {}, + "navigationBarTitleText": "" + +} \ No newline at end of file diff --git a/pages/mine/returnMessage/index.wxml b/pages/mine/returnMessage/index.wxml new file mode 100644 index 0000000..d982f04 --- /dev/null +++ b/pages/mine/returnMessage/index.wxml @@ -0,0 +1,10 @@ + + + + {{messageInfo}} + + {{'错误代码:' + status}} + + 完成 + {{from == 'bill' ? '返回职位列表' : '返回我的'}} + diff --git a/pages/mine/returnMessage/index.wxss b/pages/mine/returnMessage/index.wxss new file mode 100644 index 0000000..d9db717 --- /dev/null +++ b/pages/mine/returnMessage/index.wxss @@ -0,0 +1,15 @@ +.container{ + display: flex; + flex-direction: column; + justify-content: start; + height: 100%; + text-align: center; +} +.iconfont{ + font-size: 70px; + margin-top: 100px; +} +.loginOut{ + margin: 0 auto; + margin-top: 120px; +} \ No newline at end of file diff --git a/pages/mine/seeIdCard/index.js b/pages/mine/seeIdCard/index.js new file mode 100644 index 0000000..e1789ab --- /dev/null +++ b/pages/mine/seeIdCard/index.js @@ -0,0 +1,99 @@ +// pages/seeIdCard/index.js +const app = getApp(); +Page({ + + /** + * 页面的初始数据 + */ + data: { + user: {}, + switch1Checked: true, + }, + TT(e){ + var url = e.currentTarget.dataset.url; + console.log(url); + + wx.previewImage({ + current: url, // 当前显示图片的http链接 + urls: [this.data.user.idcardImgFront != null ? this.data.user.idcardImgFront : '//matripe.oss-cn-beijing.aliyuncs.com/tuiguang/renxiang.png',this.data.user.idcardImgBack != null ? this.data.user.idcardImgBack : '//matripe.oss-cn-beijing.aliyuncs.com/tuiguang/guohui.png'] // 需要预览的图片http链接列表 + }) + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + goBack(){ + /*wx.navigateTo({ + url: '/pages/seeCard/index', + })*/ + wx.navigateBack({ + delta: 1 + }) + }, + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + //登录=================================start + if (app.globalData.isLogin) { + this.setData({ + isLogin: app.globalData.isLogin, + user: app.globalData.user, + }); + } else { + // 由于 userLogin 是网络请求,可能会在 Page.onLoad 之后才返回 + // 所以此处加入 callback 以防止这种情况 + app.userLoginCallback = res => { + this.setData({ + isLogin: app.globalData.isLogin, + user: app.globalData.user, + }); + } + } + console.log(this.data.user) + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () { + + } +}) \ No newline at end of file diff --git a/pages/mine/seeIdCard/index.json b/pages/mine/seeIdCard/index.json new file mode 100644 index 0000000..7879f5d --- /dev/null +++ b/pages/mine/seeIdCard/index.json @@ -0,0 +1,4 @@ +{ + "navigationBarTitleText": "实名认证", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/seeIdCard/index.wxml b/pages/mine/seeIdCard/index.wxml new file mode 100644 index 0000000..ca4657f --- /dev/null +++ b/pages/mine/seeIdCard/index.wxml @@ -0,0 +1,24 @@ + + + + + 身份证正面 + + + + 身份证反面 + + + + + + + 我已阅读并同意 + 《用户服务协议》 + 及 + 《隐私政策》 + + + \ No newline at end of file diff --git a/pages/mine/seeIdCard/index.wxss b/pages/mine/seeIdCard/index.wxss new file mode 100644 index 0000000..6fc7f22 --- /dev/null +++ b/pages/mine/seeIdCard/index.wxss @@ -0,0 +1,4 @@ +/* @import "/pages/makeInfo/index.wxss"; */ +page{ + background-color: #fff; +} \ No newline at end of file diff --git a/pages/mine/setting/index.js b/pages/mine/setting/index.js new file mode 100644 index 0000000..c978887 --- /dev/null +++ b/pages/mine/setting/index.js @@ -0,0 +1,76 @@ +// pages/setting/index.js +const app = getApp(); +Page({ + /** + * 页面的初始数据 + */ + data: { + version: app.globalData.version, + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) {}, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() {}, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() {}, + loginOut: function () { + wx.showModal({ + title: "退出登录", + content: "确定要退出登录吗?", + confirmColor: "#ff4400", + success(res) { + if (res.confirm) { + console.log("用户点击确定"); + app.logout().then(() => { + wx.reLaunch({ + url: "/pages/login/index", + }); + app.getServiceInfo().then(() => { + wx.setStorageSync("ServiceInfo", app.globalData.serviceInfo); + }); + }); + + // wx.navigateBack({ + // delta: 1 + // }) + } else if (res.cancel) { + console.log("用户点击取消"); + } + }, + }); + }, +}); diff --git a/pages/mine/setting/index.json b/pages/mine/setting/index.json new file mode 100644 index 0000000..f97fc84 --- /dev/null +++ b/pages/mine/setting/index.json @@ -0,0 +1,5 @@ +{ + "navigationBarTitleText": "设置", + "usingComponents": {}, + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/setting/index.wxml b/pages/mine/setting/index.wxml new file mode 100644 index 0000000..9d57ae1 --- /dev/null +++ b/pages/mine/setting/index.wxml @@ -0,0 +1,44 @@ + + + + 修改密码 + + + + + + + + + 用户协议 + + + + + + + + + 隐私政策 + + + + + + + + + 关于职位云 + + 版本{{version}} + + + + + + + + 退出登录 + + + diff --git a/pages/mine/setting/index.wxss b/pages/mine/setting/index.wxss new file mode 100644 index 0000000..2ea7d3d --- /dev/null +++ b/pages/mine/setting/index.wxss @@ -0,0 +1,54 @@ +page{ + background-color: #f5f5f5 +} +.container{ + padding: 10px; + padding-top: 0; +} +.container .userinfo { + font-size: 16px; + background-color: #fff; + border-radius: 8px; + overflow: hidden; +} +.container .userinfo navigator>view { + display: flex; + flex-direction: row; + align-items: center; + height: 56px; + line-height: 56px; + justify-content: space-between; + margin: 0 10px; + border-bottom: 1px solid #f3f3f3 +} +.container .userinfo > view:last-child { + border-bottom-color: transparent; +} +.container .userinfo > view > view:last-child { + display: flex; + align-items: center; + color: #666; +} +.icon-gengduo11{ + font-size: 14px; + line-height: 24px; + color: #b8b8b8; +} +.loginOut{ + width: unset; + height: 56px; + background-color: #fff; + line-height: 56px; + border-radius: 8px; + text-align: center; + /* border: 1px solid var(--color-ysd); */ + margin: 32px 0 0 0; + color: red; + font-weight: bold; + overflow: hidden; +} +.changePsw{ + padding: 0 10px; + height: 56px; + +} diff --git a/pages/mine/trueName/index.js b/pages/mine/trueName/index.js new file mode 100644 index 0000000..fe42399 --- /dev/null +++ b/pages/mine/trueName/index.js @@ -0,0 +1,69 @@ +// pages/trueName/index.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + trueName:'' + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + console.log(options); + this.setData({ + trueName:options.realName + }) + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() { + + } +}) \ No newline at end of file diff --git a/pages/mine/trueName/index.json b/pages/mine/trueName/index.json new file mode 100644 index 0000000..1c0df8c --- /dev/null +++ b/pages/mine/trueName/index.json @@ -0,0 +1,5 @@ +{ + "usingComponents": {}, + "navigationBarTitleText": "实名认证", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/trueName/index.wxml b/pages/mine/trueName/index.wxml new file mode 100644 index 0000000..da8d058 --- /dev/null +++ b/pages/mine/trueName/index.wxml @@ -0,0 +1,8 @@ + + + 实名认证 + {{trueName}} + + + 暂不支持修改。 + \ No newline at end of file diff --git a/pages/mine/trueName/index.wxss b/pages/mine/trueName/index.wxss new file mode 100644 index 0000000..08b2ab2 --- /dev/null +++ b/pages/mine/trueName/index.wxss @@ -0,0 +1,22 @@ +page { + padding: 10px; +} +page .trueName { + display: flex; + justify-content: space-between; + height: 56px; + line-height: 56px; + padding: 0px 10px; + background-color: #fff; + border-radius: 8px; + font-size: 16px; +} +page .trueName span:last-child { + color: #999; +} +page .explain { + font-size: 14px; + text-align: center; + color: #999; + margin-top: 10px; +} diff --git a/pages/mine/userDetail/index.js b/pages/mine/userDetail/index.js new file mode 100644 index 0000000..86745c2 --- /dev/null +++ b/pages/mine/userDetail/index.js @@ -0,0 +1,54 @@ +// pages/userdetail/index.js +let app = getApp(); +Page({ + /** + * 页面的初始数据 + */ + data: { + userInfo: {}, + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) {}, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + this.setData({ + userInfo: app.globalData.loginUserInfo.user, + }); + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () {}, +}); diff --git a/pages/mine/userDetail/index.json b/pages/mine/userDetail/index.json new file mode 100644 index 0000000..8af5935 --- /dev/null +++ b/pages/mine/userDetail/index.json @@ -0,0 +1,4 @@ +{ + "navigationBarTitleText": "个人信息", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/userDetail/index.wxml b/pages/mine/userDetail/index.wxml new file mode 100644 index 0000000..beee6cf --- /dev/null +++ b/pages/mine/userDetail/index.wxml @@ -0,0 +1,81 @@ + + + + + 头像 + + + + + + + + + + + + + + + + 用户名 + + {{userInfo.userName || '暂无'}} + + + + + + + + 性别 + + + + 未知 + + + + + + + + 手机号 + + {{userInfo.tel || '暂无'}} + + + + + + + + + + 实名认证 + + 去认证 + + + + + + + 实名认证 + + {{userInfo.realName}} + + + + + \ No newline at end of file diff --git a/pages/mine/userDetail/index.wxss b/pages/mine/userDetail/index.wxss new file mode 100644 index 0000000..96c972b --- /dev/null +++ b/pages/mine/userDetail/index.wxss @@ -0,0 +1,81 @@ +.container { + padding: 10px; +} +.container .userinfo { + font-size: 16px; + background-color: #fff; + border-radius: 8px; + overflow: hidden; +} +.container .userinfo navigator>view { + display: flex; + flex-direction: row; + align-items: center; + height: 56px; + line-height: 56px; + justify-content: space-between; + padding: 0px 0; + margin: 0 9px; + border-bottom: 1px solid #f3f3f3 +} +.container .userinfo > view:last-child { + border-bottom-color: transparent; +} +.container .userinfo > view > view:last-child { + display: flex; + align-items: center; + color: #666; +} +.container .userinfo > view > view:last-child image { + width: 50px; + height: 50px; +} +.container .wxnickname, +.container .realname, +.container .phone, +.container .gender, +.container .userName, +.container .useravatar { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + height: 56px; + line-height: 56px; + padding: 0px 9px; + /* background-color: #fff; */ +} +.container .wxnickname > view, +.container .realname > view, +.container .phone > view, +.container .gender > view, +.container .userName > view, +.container .useravatar > view { + display: flex; + align-items: center; +} +.container .wxnickname > view:last-child, +.container .realname > view:last-child, +.container .phone > view:last-child, +.container .gender > view:last-child, +.container .userName > view:last-child, +.container .useravatar > view:last-child { + color: #666; +} +.container .wxnickname > view:last-child image, +.container .realname > view:last-child image, +.container .phone > view:last-child image, +.container .gender > view:last-child image, +.container .userName > view:last-child image, +.container .useravatar > view:last-child image { + width: 50px; + height: 50px; +} +.icon-gengduo11{ + margin-left: 4px; + font-size: 14px; + color: #999; +} +.c0{ + color: #000; +} \ No newline at end of file diff --git a/pages/mine/userName/index.js b/pages/mine/userName/index.js new file mode 100644 index 0000000..04c5cbe --- /dev/null +++ b/pages/mine/userName/index.js @@ -0,0 +1,115 @@ +// pages/changeName/index.js +const app = getApp(); +Page({ + /** + * 页面的初始数据 + */ + data: { + userId: "", + userName: "", + btnLoading: false, + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) {}, + + onSubmit(e) { + console.log(e); + + var that = this; + + if (app.isEmptyCheck(e.detail.value.userName)) { + wx.showToast({ + icon: "none", + title: "请输入姓名", + duration: 3000, + }); + + return; + } + + var formData = e.detail.value; + formData["userId"] = that.data.userId; + + console.log(formData); + + wx.request({ + url: app.globalData.ip + "/user/updateUserName", + method: "POST", + header: app.globalData.headers, + data: formData, + success: function (res) { + console.log(res); + + if (res.data.status == 200) { + app.globalData.user.userName = formData.userName; + + wx.navigateBack({ + delta: 1, + }); + } else { + wx.showToast({ + icon: "none", + title: res.data.msg, + duration: 2000, + }); + + that.setData({ + btnLoading: false, + }); + } + }, + }); + }, + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + this.setData({ + userId: app.globalData.user.id, + userName: app.globalData.user.userName, + }); + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () {}, + // toRole() { + // let res = { + // data:{ + // msg:'失败' + // } + // } + // wx.navigateTo({ + // url: `/pages/returnMessage/index?type=fail&msg=${res.data.msg}&status=304`, + // }); + // }, +}); diff --git a/pages/mine/userName/index.json b/pages/mine/userName/index.json new file mode 100644 index 0000000..37c8bca --- /dev/null +++ b/pages/mine/userName/index.json @@ -0,0 +1,4 @@ +{ + "navigationBarTitleText": "更改用户名", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/userName/index.wxml b/pages/mine/userName/index.wxml new file mode 100644 index 0000000..d92176f --- /dev/null +++ b/pages/mine/userName/index.wxml @@ -0,0 +1,17 @@ +
+ + + + + + + + + + + + +
+ diff --git a/pages/mine/userName/index.wxss b/pages/mine/userName/index.wxss new file mode 100644 index 0000000..1d2ff92 --- /dev/null +++ b/pages/mine/userName/index.wxss @@ -0,0 +1,30 @@ +page { + padding: 10px; +} +.weui-cell{ + display: flex; + justify-content: space-between; + height: 56px !important; + line-height: 56px; + padding: 0px 10px !important; + border-radius: 8px; + font-size: 16px; +} +page .tel > span:first-child { + width: 60px; +} +page .tel input { + height: 25px; + line-height: 25px; +} +page .save { + margin-top: 90px; + width: 260px; + /* height: 42px; + line-height: 42px; + background-color: var(--color-ysd); + border-radius: 999px; */ +} +page .weui-cells_form { + margin: 0 !important; +} \ No newline at end of file diff --git a/pages/mine/userTel/index.js b/pages/mine/userTel/index.js new file mode 100644 index 0000000..a3c1a9c --- /dev/null +++ b/pages/mine/userTel/index.js @@ -0,0 +1,69 @@ +// pages/userTel/index.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + tel:'' + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + console.log(options); + this.setData({ + tel:options.tel + }) + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() { + + } +}) \ No newline at end of file diff --git a/pages/mine/userTel/index.json b/pages/mine/userTel/index.json new file mode 100644 index 0000000..7111327 --- /dev/null +++ b/pages/mine/userTel/index.json @@ -0,0 +1,4 @@ +{ + "navigationBarTitleText": "手机号", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/userTel/index.wxml b/pages/mine/userTel/index.wxml new file mode 100644 index 0000000..1de8a9a --- /dev/null +++ b/pages/mine/userTel/index.wxml @@ -0,0 +1,8 @@ + + + 手机号 + {{tel}} + + + 暂不支持修改。 + \ No newline at end of file diff --git a/pages/mine/userTel/index.wxss b/pages/mine/userTel/index.wxss new file mode 100644 index 0000000..b8965d2 --- /dev/null +++ b/pages/mine/userTel/index.wxss @@ -0,0 +1,22 @@ +page { + padding: 10px; +} +page .tel { + display: flex; + justify-content: space-between; + height: 56px; + line-height: 56px; + padding: 0px 10px; + background-color: #fff; + border-radius: 8px; + font-size: 16px; +} +page .tel span:last-child { + color: #999; +} +page .explain { + font-size: 14px; + text-align: center; + color: #999; + margin-top: 10px; +} diff --git a/pages/mine/versionPage/index.js b/pages/mine/versionPage/index.js new file mode 100644 index 0000000..1911169 --- /dev/null +++ b/pages/mine/versionPage/index.js @@ -0,0 +1,68 @@ +// pages/versionPage/index.js +const app = getApp(); + +Page({ + + /** + * 页面的初始数据 + */ + data: { + version:app.globalData.version + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() { + + } +}) \ No newline at end of file diff --git a/pages/mine/versionPage/index.json b/pages/mine/versionPage/index.json new file mode 100644 index 0000000..8a365a9 --- /dev/null +++ b/pages/mine/versionPage/index.json @@ -0,0 +1,5 @@ +{ + "usingComponents": {}, + "navigationBarTitleText": "", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/versionPage/index.wxml b/pages/mine/versionPage/index.wxml new file mode 100644 index 0000000..5ad1150 --- /dev/null +++ b/pages/mine/versionPage/index.wxml @@ -0,0 +1,11 @@ + + + +

职位云

+

Version {{version}}

+
+ + 伯才公司 版权所有 + Copyright © 2021-2023 BocaiGroup. All Rights Reserved. + +
\ No newline at end of file diff --git a/pages/mine/versionPage/index.wxss b/pages/mine/versionPage/index.wxss new file mode 100644 index 0000000..a181076 --- /dev/null +++ b/pages/mine/versionPage/index.wxss @@ -0,0 +1,28 @@ +/* pages/versionPage/index.wxss */ +.container { + height: 100%; + flex-direction: column; + justify-content: space-between; +} +.logoContainer { + margin-top: 120px; + text-align: center; + flex-direction: column; + +} +.logoContainer p:first-of-type{ + font-size: 24px; + font-weight: 600; +} +.logoContainer image { + width: 64px; + height: 64px; + position: relative; + left: 50%; + transform: translateX(-50%); +} +.copyRight{ + color: #999999; + text-align: center; + margin-bottom: 55px; +} \ No newline at end of file diff --git a/pages/mine/wxNickname/index.js b/pages/mine/wxNickname/index.js new file mode 100644 index 0000000..8c36288 --- /dev/null +++ b/pages/mine/wxNickname/index.js @@ -0,0 +1,69 @@ +// pages/wxNickname/index.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + nickName:'', + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + console.log(options); + this.setData({ + nickName:options.nickName + }) + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() { + + } +}) \ No newline at end of file diff --git a/pages/mine/wxNickname/index.json b/pages/mine/wxNickname/index.json new file mode 100644 index 0000000..48b9bbb --- /dev/null +++ b/pages/mine/wxNickname/index.json @@ -0,0 +1,4 @@ +{ + "navigationBarTitleText": "微信昵称 ", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/wxNickname/index.wxml b/pages/mine/wxNickname/index.wxml new file mode 100644 index 0000000..c3097c0 --- /dev/null +++ b/pages/mine/wxNickname/index.wxml @@ -0,0 +1,8 @@ + + + 微信昵称 + {{nickName}} + + + 暂不支持修改。 + \ No newline at end of file diff --git a/pages/mine/wxNickname/index.wxss b/pages/mine/wxNickname/index.wxss new file mode 100644 index 0000000..07a13ae --- /dev/null +++ b/pages/mine/wxNickname/index.wxss @@ -0,0 +1,20 @@ +page { + padding: 10px; +} +page .nickname { + display: flex; + justify-content: space-between; + padding: 20px 10px; + background-color: #fff; + border-radius: 8px; + font-size: 16px; +} +page .nickname span:last-child { + color: #999; +} +page .explain { + font-size: 14px; + text-align: center; + color: #999; + margin-top: 10px; +} diff --git a/pages/newEnroll/enroll/index.js b/pages/newEnroll/enroll/index.js new file mode 100644 index 0000000..a685cf2 --- /dev/null +++ b/pages/newEnroll/enroll/index.js @@ -0,0 +1,1405 @@ +// pages/newEnroll/index.js +const app = getApp(); +var dateTimePicker = require("../../../utils/dateTimePicker.js"); +var dateUtil = require("../../../utils/dateUtil.js"); +import { isNotEmptyCheck, nationArray } from "../../../utils/commonUtil"; +const mydate = new Date(); +Page({ + /** + * 页面的初始数据 + */ + data: { + pageFrom: 1, + files: [], + switch1Checked: true, + urls: [], + userInfo: { + name: "", + address: "", + age: "", + nationality: "", + sex: "", + num: "", + tel: "", + idCardImageUrl: "", + }, + showUpload: true, + name: "", + sex: [ + { + id: 1, + value: "男", + }, + { + id: 2, + value: "女", + }, + ], + loading: false, + idInfo: {}, + index: -1, + agentArray: [], + ageArray: [], + ageIndex: -1, + // jobIndex: -1, + jobArray: [ + // { + // id: 1, + // name: "GG", + // }, + ], + storeIndex: -1, + storeArray: [ + // { + // id: 1, + // name: "GG", + // }, + ], + dateTimeArray1: null, + dateTime1: null, + startYear: 2022, + endYear: 2024, + currentTime: dateUtil.formatDateYMD(mydate.toLocaleDateString()), + currentTime2: dateUtil.formatDateYMD(mydate.toLocaleDateString()), + copyTime: dateUtil.formatDateYMD(mydate.toLocaleDateString()), + searchListShow: false, + searchListShow: false, + searchKeys: "", + searchKeysA: "", + inputShowed: false, + inputVal: "", + inputShowedA: false, + inputValA: "", + storeId: "", + agentId: "", + agentName: "", + storeJobId: "", + policy: "", + currentImg: "", + nationIndex: -1, // 民族的索引 + managerRoleClassify: app.globalData.loginUserInfo.managerRoleClassify, // 管理员权限 + agencyStatus: app.globalData.loginUserInfo.agencyStatus, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, //内部成员 + nationArray, + currentUser: {}, + jobName: "", + newAddImg: [], + tel: "", + iosDialog1: false, + zhedie: false, + isShowZhedie: false, + idCardImg: "", + dateTime: "", + pageShow: false, + items: [ + {value: '1', name: '一', checked: true}, + {value: '2', name: '二', checked: false}, + {value: '3', name: '三', checked: false}, + {value: '4', name: '四', checked: false}, + {value: '5', name: '五', checked: false}, + ] + }, + radioChange2(e) { + console.log('radio发生change事件,携带value值为:', e.detail.value) + + const items = this.data.items + for (let i = 0, len = items.length; i < len; ++i) { + items[i].checked = items[i].value === e.detail.value + } + + this.setData({ + items + }) + }, + open1() { + this.setData({ + dialog1: true, + }); + }, + close() { + this.setData({ + dialog1: false, + }); + }, + preventTouchMove() {}, + bindPickerChangeAge(e) { + console.log("picker发送选择改变,携带值为", e.detail.value); + this.setData({ + ageIndex: e.detail.value, + ["userInfo.age"]: parseInt(e.detail.value) + 16, + }); + }, + + ifZhedie() { + this.setData({ + zhedie: false, + }); + }, + ifZhankai() { + this.setData({ + zhedie: true, + }); + }, + copyClose() { + var that = this; + + console.log(that.data.userInfo); + + var text = ""; + if (that.data.userInfo.name != "") { + text = "姓名:" + that.data.userInfo.name + "/" + ((that.data.userInfo.sex == 1 || that.data.userInfo.sex) == "男" ? "男" : "女") + "/" + (that.data.userInfo.age == "" ? "" : that.data.userInfo.age + "岁") + (that.data.userInfo.nationality == "族" ? "" : "/" + that.data.userInfo.nationality) + "\n电话:" + (that.data.userInfo.tel == "" ? "-" : that.data.userInfo.tel) + "\n身份证号:" + (that.data.userInfo.num == "" ? "-" : that.data.userInfo.num) + "\n家庭住址:" + (that.data.userInfo.address == "" ? "-" : that.data.userInfo.address) + "\n报名岗位:" + (that.data.jobName == "" ? "-" : that.data.jobName) + "\n面试时间:" + that.data.currentTime + "\n接待时间:" + that.data.currentTime2 + "\n政策:" + (that.data.policy == "" ? "-" : that.data.policy); + } else { + text = "姓名:-" + "\n电话:" + (that.data.userInfo.tel == "" ? "-" : that.data.userInfo.tel) + "\n身份证号:" + (that.data.userInfo.num == "" ? "-" : that.data.userInfo.num) + "\n家庭住址:" + (that.data.userInfo.address == "" ? "-" : that.data.userInfo.address) + "\n报名岗位:" + (that.data.jobName == "" ? "-" : that.data.jobName) + "\n面试时间:" + that.data.currentTime + "\n接待时间:" + that.data.currentTime2 + "\n政策:" + (that.data.policy == "" ? "-" : that.data.policy); + } + + wx.setClipboardData({ + data: text, + success(res) { + wx.getClipboardData({ + success(res) { + console.log(res.data); // data + wx.showToast({ + title: "内容已复制", + icon: "none", + duration: 1500, + }); + that.close1(); + }, + }); + }, + }); + }, + showInfo() { + this.setData({ + iosDialog1: true, + }); + }, + close1: function () { + console.log("close"); + + this.setData({ + iosDialog1: false, + }); + }, + + shrink() { + // wx.navigateBack({ + // delta: -1, + // }) + var that = this; + let from = wx.getStorageSync("BILLFROM"); + console.log(from); + wx.navigateBack({ + delta: -1, + }); + // wx.switchTab({ + // url: `/pages/${from}/index`, + // }); + // if (that.data.pageFrom == 1) { + // wx.switchTab({ + // url: "../../firstBill/index", + // }); + // } + // else { + // wx.switchTab({ + // url: "../../workBench/index", + // }); + // } + }, + chooseMedia() { + var that = this; + wx.chooseMedia({ + count: 1, + mediaType: ["image", "video"], + sizeType: ["original", "compressed"], + sourceType: ["album", "camera"], + success(res) { + // tempFilePath可以作为 img 标签的 src 属性显示图片 + wx.showLoading({ + title: "上传中...", + }); + console.log(res); + var currData = {}; + + const tempFilePaths = res.tempFiles; + tempFilePaths.forEach((item, index) => { + wx.uploadFile({ + url: app.globalData.ip + "/imgs/uploadImage", + method: "post", + // data:currData, + // name: "uploadFile", + filePath: tempFilePaths[index].tempFilePath, + name: "uploadFile", + header: app.globalData.headers, + success: function (res) { + that.data.files.push({ url: JSON.parse(res.data).data, id: new Date().getTime() }); + that.setData({ + files: that.data.files, + }); + that.pushImg(); + setTimeout(() => { + wx.hideLoading(); + }, 2000); + // that.updateImgs(currData.type,currData.fkId,currData.data.data); + }, + fail: function (res) { + console.log(res); + + setTimeout(() => { + wx.hideLoading(); + }, 2000); + }, + }); + setTimeout(() => { + wx.hideLoading(); + }, 2000); + }); + }, + fail(res) { + if (res["errMsg"]) { + } + console.log(res); + }, + }); + }, + delImgs(e) { + var that = this; + var url = e.currentTarget.dataset.url; + var id = e.currentTarget.dataset.id; + wx.showModal({ + title: "提示", + content: "确定要删除该图片?", + confirmColor: "#ff4400", + success(res) { + if (res.confirm) { + that.data.files.forEach((item, index) => { + if (id == item.id) { + that.data.files.splice(index, 1); + // that.data.newAddImg.splice(index, 1); + } + }); + that.pushImg(); + that.setData({ + files: that.data.files, + // newAddImg: that.data.newAddImg, + }); + if (id != -999) { + wx.request({ + url: app.globalData.ip + "/imgs/del/" + id, + header: app.globalData.header, + // data:currData, + method: "get", + success: function (res) { + console.log(res.data); + }, + fail: function (res) { + console.log(res); + }, + }); + } + } else if (res.cancel) { + console.log("用户点击取消"); + } + }, + }); + }, + pushImg() { + var that = this; + + console.log(that.data.files); + + that.data.urls = []; + // that.data.files.forEach(item=>{ + // that.data.urls.push(item.url) + // }) + + let curr = []; + that.data.files.forEach((item) => { + curr.push({ url: item.url, id: item.id }); + }); + that.setData({ + urls: curr, + }); + }, + showImgs(e) { + var that = this; + console.log(e); + console.log(that.data.urls); + let curr = []; + that.data.urls.forEach((item) => { + curr.push(item.url); + }); + + wx.previewImage({ + current: e.currentTarget.dataset.url, // 当前显示图片的 http 链接 + urls: curr, // 需要预览的图片 http 链接列表 + }); + }, + + radioChange: function (e) { + const sex = this.data.sex; + let currentSex = ""; + for (let i = 0, len = sex.length; i < len; ++i) { + sex[i].checked = sex[i].id == e.detail.value; + if (sex[i].checked) { + currentSex = sex[i].value; + } + } + this.setData({ + ["userInfo.sex"]: currentSex, + sex, + }); + console.log(e.detail.value); + }, + chooseIdCard() { + var that = this; + console.log("ischoise"); + wx.chooseImage({ + count: 1, + sizeType: ["original", "compressed"], + sourceType: ["album", "camera"], + success(res) { + console.log(res); + // debugger; + that.uploadIdcardImg(res); + }, + }); + }, + uploadIdcardImg(imgPath) { + let that = this; + // tempFilePath可以作为img标签的src属性显示图片 + let filePath; + console.log(imgPath); + if (imgPath.tempFilePaths) { + filePath = imgPath.tempFilePaths[0]; + } else { + filePath = imgPath; + } + + console.log(filePath); + wx.showLoading({ + title: "识别中...", + }); + wx.uploadFile({ + // url: app.globalData.ip + '/commons/idCardOcrRecognize', + url: app.globalData.ip + "/commons/idCardOcrRecognizeAndUploadToAliyunOss", + filePath, + name: "uploadFile", + header: app.globalData.headers, + success: function (res) { + console.log(res); + var idcard = JSON.parse(res.data); + idcard.data["tel"] = that.data.tel; + + if (idcard.status == 200) { + if (idcard.data.nationality.substr(idcard.data.nationality.length - 1, 1) != "族" && idcard.data.nationality.substr(idcard.data.nationality.length - 1, 1) != "") { + idcard.data.nationality = idcard.data.nationality + "族"; + } + + that.setData({ + userInfo: idcard.data, + ageIndex: parseInt(idcard.data.age) - 16, + showUpload: false, + idCardImg: idcard.data["idCardImageUrl"], + currentImg: imgPath.tempFilePaths ? imgPath.tempFilePaths[0] : imgPath, + }); + that.setStorage(); + console.log(that.data.userInfo); + that.data.nationArray.forEach((item, index) => { + if (item.name.includes(that.data.userInfo.nationality)) { + that.setData({ + nationIndex: index, + }); + } + }); + if (that.data.userInfo.sex == "男") { + that.data.sex[0].checked = true; + } else { + that.data.sex[1].checked = true; + } + + // that.data.files.push({'url':tempFilePaths[0]}) + + // console.log(that.data.files); + + that.setData({ + // files: that.data.files, + sex: that.data.sex, + }); + + // that.data.files.push({ url: idcard.data.idCardImageUrl, id: -999 }); + // that.data.newAddImg.push(idcard.data.idCardImageUrl); + that.setData({ + // files: that.data.files, + // newAddImg: that.data.newAddImg, + }); + that.pushImg(); + } else { + wx.showToast({ + duration: 2000, + title: "身份证未识别", + icon: "none", + mask: true, + }); + // console.log(1); + //app.showTips(that, res.data.msg); + } + wx.hideLoading(); + }, + fail: function (res) { + console.log(res); + setTimeout(() => { + wx.hideLoading(); + }, 2000); + }, + }); + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + var that = this; + console.log(options); + // 先统一给代理名字赋予登陆者的名称applyType + that.setData({ + agentName: app.globalData.user.userName, + agentId: app.globalData.user.agencyId, + pageFrom: options.applyType, + }); + + console.log(that.data.pageFrom + "1首页 2报名页"); + + // console.log(JSON.parse(options.info)); + // 获取缓存的报名人信息 + let info = wx.getStorageSync("townsManInfo"); + console.log(info); + if (app.isNotEmptyCheck(info)) { + // 统一给代理岗位相关的字段赋值 + if (app.isNotEmptyCheck(info.userId)) { + that.getImgs(info.userId); + } + + if (info.nationality.substr(info.nationality.length - 1, 1) != "族" && info.nationality.substr(info.nationality.length - 1, 1) != "") { + info.nationality = info.nationality + "族"; + } + + that.setData({ + userInfo: info, + currentImg: info.currentImg, + }); + if (app.isNotEmptyCheck(info.imgs)) { + that.setData({ + files: info.imgs, + urls: info.imgs, + }); + } + + // this.setData({ + // userInfo: info, + // currentImg: info.currentImg, + // currentTime: info.currentTime, + // }); + console.log(info); + if (info.sex == "男" || info.sex == "1") { + this.data.sex[0].checked = true; + } else if (info.sex == "女" || info.sex == "2") { + this.data.sex[1].checked = true; + } + that.data.nationArray.forEach((item, index) => { + if (item.name.indexOf(info.nationality) > -1 && info.nationality != "") { + console.log("isin"); + that.setData({ + nationIndex: index, + }); + } + }); + + console.log(that.data.nationIndex); + this.setData({ + sex: this.data.sex, + }); + if (info.age) { + this.setData({ + ageIndex: parseInt(info.age) - 16, + }); + } + } + // this.getPolicyByStoreJobId(that.data.storeJobId); + console.log(app.globalData.loginUserInfo); + // let jobInfo = wx.getStorageSync("townsManInfoJob"); + // if (app.isNotEmptyCheck(jobInfo)) { + // console.log(jobInfo); + + // this.setData({ + // storeJobId: jobInfo.id, + // jobName: jobInfo.jobName, + // inputVal: jobInfo.storeName || jobInfo.aliasName, + // storeId: jobInfo.storeId, + // policy: jobInfo.policy, + // currentTime: jobInfo.currentTime, + // currentTime2: jobInfo.currentTime2, + // isShowZhedie: true, + // }); + // } + + if (app.isNotEmptyCheck(options.info)) { + console.log(options.info); + console.log(JSON.parse(options.info)); + + // 如果随路由传过来的信息有更新,赋值新的数据 + this.setData({ + storeJobId: JSON.parse(options.info).id, + jobName: JSON.parse(options.info).jobName, + inputVal: JSON.parse(options.info).storeName || JSON.parse(options.info).aliasName, + storeId: JSON.parse(options.info).storeId, + }); + that.getPolicyByStoreJobId(that.data.storeJobId).then(function () { + console.log(that.data.policy); + + let data = { currentTime: that.data.currentTime, currentTime2: that.data.currentTime2, storeJobId: that.data.storeJobId, jobName: that.data.jobName, agentName: that.data.agentName, policy: that.data.policy }; + console.log(data); + wx.setStorage({ + key: "townsManInfoJob", + data, + }); + }); + } + + if (app.isNotEmptyCheck(options.agencyInfo)) { + that.setData({ + agentName: JSON.parse(options.agencyInfo).agencyName, + agentId: JSON.parse(options.agencyInfo).id, + }); + } + if (app.isNotEmptyCheck(options.imgUrl)) { + console.log(options.imgUrl); + // let imgUrl = JSON.parse(options.imgUrl); + that.uploadIdcardImg(options.imgUrl); + } + }, + toJobAndAgencySelect(e) { + console.log(e); + var that = this; + console.log(this.data.userInfo); + this.setStorage().then(() => { + console.log("--------", "isIntonavigation"); + wx.navigateTo({ + url: `../../recordChoice/index?type=${e.currentTarget.dataset.type}&applyType=${that.data.pageFrom}`, + }); + }); + }, + showImg() { + wx.previewImage({ + current: this.data.currentImg, // 当前显示图片的 http 链接 + urls: [this.data.currentImg], // 需要预览的图片 http 链接列表 + }); + }, + deleteImg(e) { + var that = this; + console.log(e); + that.data.files.forEach((item, index) => { + if (item.id == e.currentTarget.dataset.id) { + that.data.files.splice(index, 1); + } + }); + that.setData({ + files: that.data.files, + }); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + // let src = wx.getStorageSync("src"); + // console.log(src); + }, + bothwayBind(e) { + console.log(e); + let type = `userInfo.${e.currentTarget.dataset.type}`; + this.setData({ + [type]: e.detail.value, + }); + }, + beforeFormSubmit: function (e) { + var that = this; + console.log(e); + console.log(that.data.files); + that.setData({ + loading: true, + }); + let time1 = new Date(that.data.currentTime).getTime(); + let time2 = new Date(that.data.currentTime2).getTime(); + let currentTime = new Date().getTime(); + if (time1 < time2) { + wx.showToast({ + duration: 2000, + title: "面试时间不能早于预计到达时间", + icon: "none", + mask: true, + }); + that.setData({ + loading: false, + }); + return; + } + if (time1 < currentTime || time2 < currentTime) { + if (time1 < currentTime) { + wx.showToast({ + duration: 2000, + title: "面试时间不能早于现在的时间", + icon: "none", + mask: true, + }); + } else if (time2 < currentTime) { + wx.showToast({ + duration: 2000, + title: "到达时间不能早于现在的时间", + icon: "none", + mask: true, + }); + } + that.setData({ + loading: false, + }); + return; + } + if (app.isEmptyCheck(e.detail.value.userName)) { + wx.showToast({ + duration: 2000, + title: "请输入姓名", + icon: "none", + mask: true, + }); + that.setData({ + loading: false, + }); + } else if (app.isEmptyCheck(e.detail.value.sex)) { + wx.showToast({ + duration: 2000, + title: "请选择性别", + icon: "none", + mask: true, + }); + that.setData({ + loading: false, + }); + } else if (that.data.ageIndex == -1) { + wx.showToast({ + duration: 2000, + title: "请选择年龄", + icon: "none", + mask: true, + }); + that.setData({ + loading: false, + }); + } else if (app.isEmptyCheck(wx.getStorageSync("townsManInfoJob"))) { + wx.showToast({ + duration: 2000, + title: "请补全岗位信息", + icon: "none", + mask: true, + }); + that.setData({ + loading: false, + }); + } else if (app.isEmptyCheck(e.detail.value.idCard)) { + wx.showToast({ + duration: 2000, + title: "请输入身份证号", + icon: "none", + mask: true, + }); + that.setData({ + loading: false, + }); + } else { + setTimeout(() => { + that.formSubmit(e); + }, 1); + e.detail.value["idCardImageUrl"] = that.data.userInfo.idCardImageUrl; + } + }, + getTel(e) { + let tel = e.detail.value; + this.setData({ + tel: e.detail.value, + }); + }, + + setStorage() { + let that = this; + console.log(wx.getStorageSync("townsManInfo")); + console.log(this.data.userInfo.tel); + return new Promise((resolve, reject) => { + console.log("写入缓存"); + console.log(that.data.userInfo.tel); + // if(app.isNotEmptyCheck(that.data.tel)){ + // userInfo['tel'] = that.data.tel; + // that.setData({ + // tel:this.data.userInfo.tel, + // userInfo: + // }) + // } + + console.log(that.data.storeJobId); + let data = { ...that.data.userInfo, currentImg: that.data.currentImg, imgs: that.data.files, tel: that.data.userInfo.tel }; + + // currentTime: that.data.currentTime,currentTime2: that.data.currentTime2, storeJobId: that.data.storeJobId, jobName: that.data.jobName, agentName: that.data.agentName,policy:that.data.policy + console.log(data); + wx.setStorage({ + key: "townsManInfo", + data, + }); + + if (that.data.storeJobId) { + let data2 = { currentTime: that.data.currentTime, currentTime2: that.data.currentTime2, storeJobId: that.data.storeJobId, jobName: that.data.jobName, agentId: that.data.agentId, agentName: that.data.agentName, policy: that.data.policy }; + wx.setStorage({ + key: "townsManInfoJob", + data: data2, + }); + } + + console.log(wx.getStorageSync("townsManInfoJob")); + console.log(wx.getStorageSync("townsManInfo")); + resolve(); + }); + }, + formSubmit: function (e) { + var that = this; + console.log(e); + that.setData({ + loading: true, + }); + + wx.showLoading({ + title: "提交中...", + mask: true, + }); + let userInfo = wx.getStorageSync("townsManInfo"); + let jobInfo = wx.getStorageSync("townsManInfoJob"); + // wx.showLoading({ + // title: "提交中...", + // mask: true, + // }); + // if (that.data.index == -1) { + // wx.showToast({ + // duration: 2000, + // title: '请选择代理', + // icon: 'none', + // mask: true + // }) + // that.setData({ + // loading: false + // }) + // } else + + // if (that.data.jobIndex == -1) { + // wx.showToast({ + // duration: 2000, + // title: "请选择岗位", + // icon: "none", + // mask: true, + // }); + // that.setData({ + // loading: false, + // }); + // } else { + console.log(that.data.userInfo); + new Promise(function (resolve, reject) { + var paramData = that.data.userInfo; + paramData["userName"] = e.detail.value.userName; + paramData["sex"] = e.detail.value.sex; + paramData["age"] = that.data.userInfo.age; + paramData["nation"] = that.data.userInfo.nationality; + paramData["idCard"] = e.detail.value.idCard; + paramData["num"] = e.detail.value.idCard; + paramData["tel"] = e.detail.value.tel; + paramData["idCardImageUrl"] = that.data.userInfo.idCardImageUrl; + paramData["address"] = e.detail.value.address; + paramData["desp"] = e.detail.value.desp; + + // if(app.isNotEmptyCheck(userInfo.imgs)){ + // paramData["imgs"] = userInfo.imgs.toString(); + // } + if(app.isNotEmptyCheck(wx.getStorageSync('applyUserId'))){ + paramData["applyUserId"] = wx.getStorageSync('applyUserId') + } + + if(app.isNotEmptyCheck(wx.getStorageSync('agencyId'))){ + paramData["agencyId"] = wx.getStorageSync('agencyId') + }else{ + paramData["agencyId"] = '3089'; + } + paramData["storeJobId"] = jobInfo.storeJobId; + paramData["policy"] = jobInfo.policy; + paramData["interviewTime"] = jobInfo.currentTime; + paramData["receptionTime"] = jobInfo.currentTime2; + // if (app.isNotEmptyCheck(app.globalData.agencyId)) { + // paramData["agencyId"] = app.globalData.agencyId; + // } + let urlss = []; + if (app.isNotEmptyCheck(that.data.files)) { + that.data.files.forEach((item) => { + urlss.push(item.url); + }); + } + + paramData["imgs"] = urlss.toString(); + + resolve(paramData); + }).then((paramData) => { + console.log(paramData); + wx.request({ + url: app.globalData.ip + "/user/apply/order/addByAgency", + header: app.globalData.headers, + data: paramData, + method: "POST", + success: function (res) { + // wx.removeStorageSync('townsManInfo') + // wx.removeStorageSync('townsManInfoJob') + + console.log(res); + if (res.data.status == 200) { + console.log(that.data.pageFrom + "1首页 2报名页"); + setTimeout(function () { + // wx.navigateBack({ + // delta: -1, + // }); + // wx.setStorageSync('comeFromPage','') + wx.navigateTo({ + url: `/pages/returnMessage/index?from=bill&type=success&msg=报名成功`, + }); + // if (that.data.pageFrom == 1) { + // wx.switchTab({ + // url: "../../firstBill/index", + // }); + // } else { + // wx.switchTab({ + // url: "../../workBench/index", + // }); + // } + }, 100); + + // wx.showToast({ + // duration: 2000, + // title: "报名成功", + // icon: "success", + // mask: true, + // }); + } else { + wx.navigateTo({ + url: `/pages/returnMessage/index?from=bill&type=fail&msg=报名已提交&status${res.data.status}`, + }); + // wx.showToast({ + // duration: 2000, + // title: res.data.msg, + // icon: "none", + // mask: true, + // }); + } + that.setData({ + loading: false, + }); + setTimeout(() => { + wx.hideLoading(); + }, 2000); + }, + fail(err) { + console.log(err); + wx.showToast({ + duration: 2000, + title: err, + icon: "none", + mask: true, + }); + setTimeout(() => { + wx.hideLoading(); + that.setData({ + loading: false, + }); + }, 2000); + }, + }); + }); + + // wx.navigateBack({ + // delta: -1, + // }) + // }); + + // } + }, + inputTyping: function (e) { + this.setData({ + inputVal: e.detail.value, + }); + if (e.detail.value.length > 0) { + this.setData({ + searchListShow: true, + }); + this.getStoreList(e.detail.value); + } else { + this.setData({ + searchListShow: false, + }); + } + }, + getStoreList: function (searchKeys) { + console.log(searchKeys); + var that = this; + that.data.searchKeys = searchKeys; + // 60秒后重新获取验证码 + wx.request({ + url: app.globalData.ip + "/store/getAllStoreAliasName", + data: { + keys: searchKeys, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + storeArray: res.data.data, + }); + } + }, + fail: function (res) {}, + }); + }, + setValue: function (e) { + let str = e.currentTarget.dataset.name; + let storeId = e.currentTarget.dataset.id; + console.log(storeId); + this.setData({ + inputVal: str, + storeId: storeId, + searchListShow: false, + }); + this.getJobList(storeId); + }, + getJobList: function (storeId) { + var that = this; + return new Promise((resolve, reject) => { + wx.request({ + url: app.globalData.ip + "/store/job/getJobNameByStoreId", + data: { + storeId: storeId, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + jobArray: res.data.data, + }); + resolve(); + } + }, + fail: function (res) {}, + }); + }); + }, + + // bindPickerChangeJob: function (e) { + // var that = this; + // console.log("picker发送选择改变,携带值为", e.detail.value); + // var storeJobId = that.data.jobArray[e.detail.value].id; + // console.log(storeJobId); + // that.getPolicyByStoreJobId(storeJobId); + // this.setData({ + // jobIndex: e.detail.value, + // }); + // }, + bindPickerChangeNation(e) { + let that = this; + console.log("picker发送选择改变,携带值为", e.detail.value); + var nationName = that.data.nationArray[e.detail.value].name; + + this.setData({ + nationIndex: e.detail.value, + ["userInfo.nationality"]: nationName, + }); + }, + getPolicyByStoreJobId: function (storeJobId) { + var that = this; + return new Promise((resolve, reject) => { + wx.request({ + url: app.globalData.ip + "/store/job/getPolicyByStoreJobId", + data: { + storeJobId: storeJobId ? storeJobId : "", + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + policy: res.data.data, + isShowZhedie: true, + }); + resolve(); + } + }, + fail: function (res) { + console.log(res); + reject(); + }, + }); + }); + }, + + changeDateTime(e) { + var dateTimeArray = this.data.dateTimeArray, + dateTime = e.detail.value; + this.setData({ + // dateTime: e.detail.value, + currentTime: dateTimeArray[0][dateTime[0]].replace("年", "") + "-" + dateTimeArray[1][dateTime[1]].replace("月", "") + "-" + dateTimeArray[2][dateTime[2]].replace("日", "") + " " + dateTimeArray[3][dateTime[3]], + }); + console.log(this.data.dateTimeArray); + + console.log(wx.getStorageSync("townsManInfoJob")); + let result = wx.getStorageSync("townsManInfoJob"); + result.currentTime = this.data.currentTime; + wx.setStorageSync("townsManInfoJob", result); + }, + + changeDateTimeColumn(e) { + console.log(e); + var arr = this.data.dateTime, + dateArr = this.data.dateTimeArray; + arr[e.detail.column] = e.detail.value; + console.log("aaaaaa"); + console.log(dateArr[0][arr[0]], dateArr[1][arr[1]]); + + dateArr[2] = dateTimePicker.getMonthDay(dateArr[0][arr[0]], dateArr[1][arr[1]]); + for (let index = 0; index < dateArr[2].length; index++) { + dateArr[2][index] = dateArr[2][index] + "日"; + } + // .replace("年",'').replace("月",'').replace("日",'') + this.setData({ + dateTimeArray: dateArr, + dateTime: arr, + }); + }, + + changeDateTime2(e) { + var dateTimeArray = this.data.dateTimeArray, + dateTime = e.detail.value; + this.setData({ + // dateTime: e.detail.value, + currentTime2: dateTimeArray[0][dateTime[0]].replace("年", "") + "-" + dateTimeArray[1][dateTime[1]].replace("月", "") + "-" + dateTimeArray[2][dateTime[2]].replace("日", "") + " " + dateTimeArray[3][dateTime[3]], + }); + console.log(this.data.dateTimeArray); + + console.log(wx.getStorageSync("townsManInfoJob")); + let result = wx.getStorageSync("townsManInfoJob"); + result.currentTime2 = this.data.currentTime2; + wx.setStorageSync("townsManInfoJob", result); + }, + + changeDateTimeColumn2(e) { + var arr = this.data.dateTime2, + dateArr = this.data.dateTimeArray; + arr[e.detail.column] = e.detail.value; + dateArr[2] = dateTimePicker.getMonthDay(dateArr[0][arr[0]], dateArr[1][arr[1]]); + for (let index = 0; index < dateArr[2].length; index++) { + dateArr[2][index] = dateArr[2][index] + "日"; + } + // .replace("年",'').replace("月",'').replace("日",'') + this.setData({ + dateTimeArray: dateArr, + dateTime2: arr, + }); + }, + + // getAgencyList: function (searchKeys) { + // var that = this; + // that.data.searchKeysA = searchKeys; + // // 60秒后重新获取验证码 + // wx.request({ + // url: app.globalData.ip + "/agency/getByPmdUserId", + // data: { + // agencyName: searchKeys, + // // pmdUserId: 101125 + // }, + // header: app.globalData.headers, + // method: "GET", + // success: function (res) { + // console.log(res); + // if (res.data.status == 200) { + // that.setData({ + // agentArray: res.data.data, + // }); + // } + // }, + // fail: function (res) {}, + // }); + // }, + /** + * 生命周期函数--监听页面显示 + */ + getImgs(userId) { + var that = this; + wx.request({ + url: app.globalData.ip + "/imgs/list/" + userId + "?type=20", + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + // if (res.data.status == 200) { + let currFils = []; + let regs = /\.(jpg|jpeg|png)(\?.*)?$/; + // res.data.data.storeImage.forEach((item) => { + // item.isImg = regs.test(item.url.toLowerCase()); + // if(app.isEmptyCheck(item.recordState)){ + // item.recordState = 1 + // } + // }); + if (app.isNotEmptyCheck(res.data.data.userImgs)) { + res.data.data.userImgs.forEach((item) => { + if (regs.test(item.url.toLowerCase())) { + currFils.push({ url: item.url, id: item.id }); + } + }); + } + + that.setData({ + files: currFils, + urls: currFils, + }); + // } + }, + fail: function (res) { + console.log(res); + }, + }); + }, + + onShow: function () { + let that = this; + that.setData({ + pageShow: false, + }); + // wx.hideTabBar({ + // success(e) { + // setTimeout(() => { + that.setData({ + pageShow: true, + }); + // }, 500); + // // that.setData({ + // // currentJobDrawer: { ...event.currentTarget.dataset.item, index: event.currentTarget.dataset.index }, + // // drawerShow: true, + // // }); + // }, + // }); + if (typeof this.getTabBar === "function" && this.getTabBar()) { + this.getTabBar().setData({ + selected: 1, + isShow: false, + }); + } + that.pushImg(); + + for (let i = 16; i < 70; i++) { + that.data.ageArray.push(i); + } + + // let that = this; + // let info = wx.getStorageSync("townsManInfo"); + // if (app.isNotEmptyCheck(info)) { + // this.setData({ + // userInfo: info, + // currentImg: info.currentImg, + // currentTime: info.currentTime, + // }); + // console.log(info); + // if (info.sex == "男") { + // this.data.sex[0].checked = true; + // } else if (info.sex == "女") { + // this.data.sex[1].checked = true; + // } + // that.data.nationArray.forEach((item, index) => { + // if (item.name.indexOf(info.nationality) > -1 && info.nationality != "") { + // console.log("isin"); + // that.setData({ + // nationIndex: index, + // }); + // } + // }); + // console.log(that.data.nationIndex); + // this.setData({ + // sex: this.data.sex, + // }); + // } + // this.pickerTap(); + let hour = new Date().getHours(); + if (hour < 20 && hour >= 6) { + if (that.data.currentTime == that.data.copyTime) { + that.data.currentTime = that.data.currentTime + " " + (hour + 1) + ":00"; + that.data.currentTime2 = that.data.currentTime2 + " " + (hour + 1) + ":00"; + } + } else if (hour >= 20) { + if (that.data.currentTime == that.data.copyTime) { + that.data.currentTime = that.data.currentTime + " " + "19:30"; + that.data.currentTime2 = that.data.currentTime2 + " " + "19:30"; + } + } else if (hour < 6) { + if (that.data.currentTime == that.data.copyTime) { + that.data.currentTime = that.data.currentTime + " " + "6:00"; + that.data.currentTime2 = that.data.currentTime2 + " " + "6:00"; + } + } + this.setData({ + currentTime: that.data.currentTime, + currentTime2: that.data.currentTime2, + }); + var obj = dateTimePicker.dateTimePicker(this.data.startYear, this.data.endYear, this.data.currentTime); + console.log(obj); + console.log(obj.dateTimeArray); + for (let index = 0; index < obj.dateTimeArray[0].length; index++) { + obj.dateTimeArray[0][index] = obj.dateTimeArray[0][index] + "年"; + } + for (let index = 0; index < obj.dateTimeArray[1].length; index++) { + obj.dateTimeArray[1][index] = obj.dateTimeArray[1][index] + "月"; + } + for (let index = 0; index < obj.dateTimeArray[2].length; index++) { + obj.dateTimeArray[2][index] = obj.dateTimeArray[2][index] + "日"; + } + if (that.data.storeJobId) { + that.getPolicyByStoreJobId(that.data.storeJobId).then(function () { + console.log(that.data.policy); + let data = { currentTime: that.data.currentTime, currentTime2: that.data.currentTime2, storeJobId: that.data.storeJobId, jobName: that.data.jobName, agentName: that.data.agentName, policy: that.data.policy }; + console.log(data); + wx.setStorage({ + key: "townsManInfoJob", + data, + }); + }); + } + + console.log(app.globalData.loginUserInfo); + this.setData({ + managerRoleClassify: app.globalData.loginUserInfo.managerRoleClassify, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + dateTimeArray: obj.dateTimeArray, + dateTime: obj.dateTime, + dateTimeArray2: obj.dateTimeArray, + dateTime2: obj.dateTime, + ageArray: that.data.ageArray, + }); + console.log(); + }, + switch1Change: function (e) { + console.log("radio发生change事件,携带value值为:", e.detail.value); + console.log(e.detail.value); + + var check = this.data.switch1Checked; + if (check) { + this.data.switch1Checked = false; + console.log("已取消选中"); + wx.showToast({ + title: "请先阅读并同意《服务协议》及《隐私政策》", + icon: "none", + duration: 2000, + }); + } else { + this.data.switch1Checked = true; + console.log("已选中"); + } + this.setData({ + switch1Checked: this.data.switch1Checked, + }); + + // if(!e.detail.value){ + + // } + }, + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function (e) { + console.log("isHide"); + console.log(e); + }, + // tabbar点击监听 + onTabItemTap(e) { + console.log(e); + let that = this; + if (!app.globalData.isLogin) { + if (e.index == 1) { + wx.redirectTo({ + url: "/pages/login/index", + }); + } + } else { + console.log("1250", app.globalData.loginUserInfo.agencyStatus); + if (app.globalData.loginUserInfo.agencyStatus != 1) { + wx.redirectTo({ + url: "/pages/tobeAgency/index", + }); + } + } + }, + /** + * 预览身份证图片 + * + * + */ + previewImage(e) { + let that = this; + console.log(e); + wx.previewImage({ + current: that.data.idCardImg, // 当前显示图片的 http 链接 + urls: [that.data.idCardImg], // 需要预览的图片 http 链接列表 + }); + }, + /** + * 预览附件图片 + * + * + */ + previewImg() {}, + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + console.log("isonUnload"); + this.setData({ + userInfo: { + name: "", + address: "", + age: "", + nationality: "", + sex: "", + num: "", + idCardImageUrl: "", + }, + }); + wx.removeStorageSync("townsManInfo"); + // wx.removeStorageSync("townsManInfo"); + // wx.switchTab({ + // url: "../firstBill/index", + // }); + // console.log(wx.getStorageSync("townsManInfo")); + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () {}, +}); diff --git a/pages/newEnroll/enroll/index.json b/pages/newEnroll/enroll/index.json new file mode 100644 index 0000000..903dd03 --- /dev/null +++ b/pages/newEnroll/enroll/index.json @@ -0,0 +1,5 @@ +{ + "navigationBarTitleText": "报名", + "backgroundColor": "#f5f5f5" + +} \ No newline at end of file diff --git a/pages/newEnroll/enroll/index.wxml b/pages/newEnroll/enroll/index.wxml new file mode 100644 index 0000000..73de7a4 --- /dev/null +++ b/pages/newEnroll/enroll/index.wxml @@ -0,0 +1,427 @@ +
+ + + + + + 信息 + + + + + + + + + + + + + + + + + + + + + + + {{item.value}} + + + + + + + + + + + + + + + + 请选择年龄 + + + {{ageArray[ageIndex]}} + + + + + + + + + + + + + + + + + 请选择民族 + + + {{nationArray[nationIndex].name}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 请选择附件上传 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 职位信息 + + + + + + {{item.aliasName}} + + + + + + + + + + + {{jobName}} + + + + 请选择岗位 + + + + + + + + + + + + {{!!currentTime?currentTime:'----'}} + + + + + + + + + + + + {{!!currentTime2?currentTime2:'----'}} + + + + + + + + + + + + + + + {{jobName}} + + + + 请选择政策 + + + + + + + + + + + {{policy == "" ?'-':policy}} + + + + + + 收起 + + + + 展开 + + + + + + + + + + + + + + + + + + + + 我已阅读并同意 + 《服务协议》及 + 《隐私政策》 + + + + + 取消 + + + + +
+ + + + + + + 报名信息 + + + + 姓名: + + + {{userInfo.name}} + + /{{(userInfo.sex == '1' || userInfo.sex == '男') ? '男' : + '女'}} + + /{{userInfo.age}}岁 + /{{userInfo.nationality}} + + - + + + + 电话: + + {{userInfo.tel == '' || userInfo.tel == null || userInfo.tel == 'undefined' ? '-' : + userInfo.tel}} + + + + + 身份证号: + {{userInfo.num == '' || userInfo.num == null || userInfo.num == 'undefined' ? '-' : userInfo.num}} + + + 家庭住址: + + {{userInfo.address == '' || userInfo.address == null || userInfo.address == 'undefined' ? '-' : + userInfo.address}} + + + + + 报名岗位: + {{jobName || '-'}} + + + 面试时间: + {{currentTime}} + + + + 接待时间: + {{currentTime2}} + + + + 政策: + {{policy || '-'}} + + + + 复制文本 + 知道了 + + + + + + + + + + + + 标题 + + + 关闭 + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pages/newEnroll/enroll/index.wxss b/pages/newEnroll/enroll/index.wxss new file mode 100644 index 0000000..5671cfb --- /dev/null +++ b/pages/newEnroll/enroll/index.wxss @@ -0,0 +1,338 @@ +.weui-cells__group_form { + margin-top: 0px; +} +.weui-cells__group_form .weui-label { + color: rgba(0, 0, 0, 0.65); +} +.weui-input::placeholder { + color: #ccc; +} +.weui-cells__group_form .weui-cell { + align-items: center; + padding: 0px 16px !important; + min-height: 56px; + line-height: 56px; + overflow: hidden; +} +.weui-cells__group_form .weui-cells:after, +.weui-cells__group_form .weui-cell:before, +.weui-cells__group_form .weui-cells:before { + left: 10px; + right: 10px; +} +.br8 { + border-radius: 8px; +} +.weui-cells__group_form .weui-cell__hd { + padding-right: 0; +} + +.weui-cells__group_form .weui-cell.weui-cell_vcode { + padding: 11px 10px; +} +.weui-input { + /* min-width: 250px; */ + min-height: 22px; + height: 22px; + line-height: 22px; +} +.weui-uploader__file, +.weui-uploader__input-box { + /* width: calc((100vw - 105px - 40px) / 3); + height: calc((100vw - 105px - 40px) / 3); */ + border-radius: 4px; + width: 76px; + height: 76px; + margin-right: 11px; +} +.weui-cells__group_form .weui-vcode-btn { + width: 68px; + height: 26px; + background-color: #fff; + border-radius: 13px; + font-size: 14px; + color: #027aff; + text-align: center; + padding: 0; + font-weight: 400; + line-height: 26px; +} +.weui-label.c085 { + color: #333; + /* font-weight: 500; */ +} +.weui-cell { + align-items: flex-start; +} +.weui-cells__group_form .weui-cells:before { + border-top: 0; +} + +.weui-cell.weui-cell_active.weui-cell_access { + padding: 12px 10px; +} +button[disabled]:not([type]) { + background-color: #ddd; +} + +.searchbar-result { + position: absolute; + z-index: 9; + width: calc(100% - 20px); + max-height: 200px; + overflow: auto; +} +.weui-cells:after, +.weui-cells:before { + height: 0; + border-top: 0; + border-bottom: 0; +} +.weui-input { + text-align: right; +} +.topViewN { + height: 66px; + background: #fff4f1; + border: 1px solid #ff8255; + border-radius: 6px; + display: flex; + padding: 0 16px; + line-height: 66px; +} +.weui-cell__bd { + color: #666; +} +.imgSpanIcon { + width: 23px; + height: 18px; +} +.imgSpanIcon1 { + width: 22px; + height: 22px; + position: absolute; + right: -11px; + top: -11px; +} + +.topImg { + position: absolute; + width: 100px; + height: 100px; + background: rgba(0, 0, 0, 0.48); + border-radius: 4px; +} + +button.newBtn { + width: 200px; + background-color: var(--color-ysd); +} + +.quickapply { + position: relative; + display: flex; + align-items: center; + justify-content: space-between; + min-height: 54px; + margin-bottom: 0; + padding: 12px 10px 12px 14px; + /* padding-bottom: 48px; */ + background-color: #fff; + border-radius: 6px; +} + +.quickapply .upload .t-icon { + width: 46px; + height: 46px; + margin-right: 10px; + background-repeat: no-repeat; +} +.quickapply .upload { + display: flex; + align-items: center; +} +.quickapply .info view:first-child { + font-size: 17px; + font-weight: 500; + color: #333; +} +.quickapply .info view:last-child { + font-size: 14px; + color: #ccc; +} +.quickapply .idCardPreview, +.quickapply .idCardPreview image { + width: 28px; + height: 28px; + border-radius: 2px; +} +.quickapply .idCardPreview .t-icon { + width: 100%; + height: 100%; +} +.input__placeholder { + color: #ccc; +} +.weui-input { + color: #333; +} +.weui-uploader__input-box:before { + width: 2px; + height: 24px; +} +.weui-uploader__input-box:after { + width: 24px; + height: 2px; +} +.weui-uploader__img { + border-radius: 4px; +} +.weui-uploader__file .delImg { + position: absolute; + right: -6px; + top: -6px; + z-index: 99; +} +.weui-uploader__bd { + overflow: inherit; +} +.rightPz { + position: relative; + width: 31px; + height: 28px; + margin-left: 10px; + background-repeat: no-repeat; + background-size: cover; +} +.weui-cell.name { + padding: 7px 16px; + display: flex; + align-items: center; + position: relative; +} +.weui-cell.name .idcardImg { + position: absolute; + left: 70px; + top: 50%; + transform: translateY(-50%); + z-index: 99; +} +.weui-cell.sex { + /* padding: 10px 16px; */ + height: 56px; +} +.weui-cell.imgupdata { + justify-content: space-between; +} +.wbv0 .f16.c3.mb8 { + display: flex; +} +.over3 { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 3; + overflow: hidden; + text-overflow: ellipsis; +} +.wbv0.weui-dialog__bd { + display: inline; + max-height: 400px; + overflow: auto; +} +.weui-dialog__title { + font-weight: bold; +} +.hasHigh { + height: calc(100vh - 210px); +} +.weui-dialog { + top: calc(50% - 60px); +} +.heiover { + height: 0; + overflow: hidden; +} +.remark { + padding: 15px 16px; + align-items: center; +} +.uploadImgBox{ + display: flex; + justify-content: start; + font-display: row; + align-items: center; + padding-left: 10px; + /* padding-bottom: 12px; */ + width: calc(100vw - 40px); +} +.uploadImgSubBox { + width: 60px; + height: 60px; + position: relative; + margin-top:16px; + margin-right: 9px; + border-radius: 4px; + /* overflow: hidden; */ + +} +.uploadImgSubBox image{ + /* object-fit: contain; */ + width: 60px; + height: 60px; +} +.uploadImgSubBox .close{ + position: absolute; + width: 18px; + height: 18px; + right: -6px; + top: -6px; + z-index: 99; + background-color: #666; + color: #fff; + font-size: 8px; + text-align: center; + line-height: 18px; + border-radius: 50%; +} + +[weui-modal-show=false] .weui-half-screen-dialog{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:translateY(100%);transform:translateY(100%)}[weui-modal-show=true] .weui-half-screen-dialog{-webkit-transform:translateY(0);transform:translateY(0)} +.weui-half-screen-dialog__title{ + font-size: 16px; +} +.weui-half-screen-dialog { + padding: 0 12px; + padding: 0 calc(12px + constant(safe-area-inset-right)) constant(safe-area-inset-bottom) calc(12px + constant(safe-area-inset-left)); + padding: 0 calc(12px + env(safe-area-inset-right)) env(safe-area-inset-bottom) calc(12px + env(safe-area-inset-left)); +} +.weui-half-screen-dialog__hd { + min-height: 42px; +} +.weui-icon-btn.weui-icon-btn{ + margin-right: 12px; +} + +.screen-weui-cell .weui-cell:before { + border-top:0 +} +.screen-weui-cell .weui-cell{ + padding:0 !important; + min-height:40px; + line-height: 40px; + font-size: 14px; +} +.zhengceDiv{ + font-size: 14px; + padding: 8px; +background: #f5f5f5; +border: 1px solid #f5f5f5; +border-radius: 4px; +margin-bottom: 8px; +line-height: 1.5; +} +.zhengceDiv.active{ + background: #e0f0ff; +border: 1px solid #1890ff; +border-radius: 4px; +box-sizing: border-box; +} + diff --git a/pages/newEnroll/enrollEdit/index.js b/pages/newEnroll/enrollEdit/index.js new file mode 100644 index 0000000..92287a4 --- /dev/null +++ b/pages/newEnroll/enrollEdit/index.js @@ -0,0 +1,992 @@ +// pages/newEnroll/index.js +const app = getApp(); +var dateTimePicker = require("../../../utils/dateTimePicker.js"); +var dateUtil = require("../../../utils/dateUtil.js"); +import { isNotEmptyCheck, nationArray } from "../../../utils/commonUtil"; +const mydate = new Date(); +Page({ + /** + * 页面的初始数据 + */ + data: { + userId:'', + ageArray:[], + ageIndex:-1, + files: [], + urls:[], + userInfo: { + name: "", + address: "", + age: "", + nationality: "", + sex: "", + num: "", + tel: "", + idCardImageUrl: "", + }, + showUpload: true, + name: "", + sex: [ + { + id: 1, + value: "男", + }, + { + id: 2, + value: "女", + }, + ], + imgSrc: "", + loading: false, + idInfo: {}, + index: -1, + agentArray: [], + // jobIndex: -1, + jobArray: [ + // { + // id: 1, + // name: "GG", + // }, + ], + storeIndex: -1, + storeArray: [ + // { + // id: 1, + // name: "GG", + // }, + ], + dateTimeArray1: null, + dateTime1: null, + startYear: 2022, + endYear: 2024, + currentTime: dateUtil.formatDateYMD(mydate.toLocaleDateString()) + " " + "12:00", + searchListShow: false, + searchKeys: "", + searchKeysA: "", + inputShowed: false, + inputVal: "", + inputShowedA: false, + inputValA: "", + storeId: "", + agentId: "", + agentName: "", + storeJobId: "", + policy: "", + currentImg: "", + nationIndex: -1, // 民族的索引 + managerRoleClassify: false, // 管理员权限 + nationArray, + currentUser: {}, + jobName: "", + switch1Checked: true, + newAddImg:[], + }, + switch1Change:function(e){ + console.log('radio发生change事件,携带value值为:', e.detail.value) + console.log(e.detail.value) + + var check = this.data.switch1Checked; + if (check) { + this.data.switch1Checked = false; + console.log("已取消选中"); + wx.showToast({ + title: '请先阅读并同意《服务协议》及《隐私政策》', + icon: 'none', + duration: 2000 + }) + } else { + this.data.switch1Checked = true; + console.log("已选中"); + } + this.setData({ + switch1Checked: this.data.switch1Checked, + }); + + // if(!e.detail.value){ + + // } + }, + shrink(){ + wx.navigateBack({ + delta: -1, + }) + }, + bindPickerChangeAge(e){ + console.log('picker发送选择改变,携带值为', e.detail.value) + this.setData({ + ageIndex: e.detail.value, + ["userInfo.age"]: parseInt(e.detail.value) + 16, + }) + }, + chooseMedia(){ + var that = this; + wx.chooseMedia({ + count: 9, + mediaType: ['image'], + sizeType: ['original','compressed'], + sourceType: ['album', 'camera'], + success (res) { + // tempFilePath可以作为 img 标签的 src 属性显示图片 + wx.showLoading({ + title: '上传中...', + }) + console.log(res); + var currData = {}; + + + const tempFilePaths = res.tempFiles; + tempFilePaths.forEach((item,index)=>{ + + wx.uploadFile({ + url: app.globalData.ip + "/imgs/uploadImage", + method: "post", + // data:currData, + // name: "uploadFile", + filePath: tempFilePaths[index].tempFilePath, + name: "uploadFile", + header: app.globalData.headers, + success: function (res) { + console.log(that.data.files); + console.log(JSON.parse(res.data).data); + + that.data.files.push({url:JSON.parse(res.data).data,id:-999}) + that.data.newAddImg.push(JSON.parse(res.data).data) + that.setData({ + files:that.data.files, + newAddImg:that.data.newAddImg + }) + // currData.data = JSON.parse(res.data); + + + that.pushImg(); + // console.log(that.data.files); + + // that.updateImgs(currData.type,currData.fkId,currData.data.data); + + }, + fail: function (res) { + console.log(res); + }, + }); + wx.hideLoading(); + }) + } + }) + }, + delImgs(e){ + var that = this; + var url = e.currentTarget.dataset.url; + var id = e.currentTarget.dataset.id; + wx.showModal({ + title: '提示', + content: '确定要删除该图片?', + confirmColor:'#ff4400', + success (res) { + if (res.confirm) { + that.data.files.forEach((item,index)=>{ + if(id == item.id){ + that.data.files.splice(index,1); + that.data.newAddImg.splice(index,1); + } + }) + that.pushImg(); + that.setData({ + files:that.data.files, + newAddImg:that.data.newAddImg + }) + if(id != -999){ + + wx.request({ + url: app.globalData.ip + "/imgs/del/"+id, + header: app.globalData.headers, + // data:currData, + method: "get", + success: function (res) { + console.log(res.data); + + }, + fail: function (res) { + console.log(res); + }, + }); + } + + + + + + } else if (res.cancel) { + console.log('用户点击取消') + } + } + }) + + + + + }, + pushImg(){ + var that = this; + + console.log(that.data.files); + + that.data.urls = []; + // that.data.files.forEach(item=>{ + // that.data.urls.push(item.url) + // }) + + let curr = []; + that.data.files.forEach(item=>{ + curr.push({url:item.url,id:item.id}) + }) + that.setData({ + urls:curr + }) + }, + showImgs(e){ + var that = this; + console.log(that.data.urls); + let curr = []; + that.data.urls.forEach(item=>{ + curr.push(item.url) + }) + + wx.previewImage({ + current: e.mark.url, // 当前显示图片的 http 链接 + urls: curr // 需要预览的图片 http 链接列表 + }) + }, + + radioChange: function (e) { + const sex = this.data.sex; + let currentSex = ""; + for (let i = 0, len = sex.length; i < len; ++i) { + sex[i].checked = sex[i].id == e.detail.value; + if (sex[i].checked) { + currentSex = sex[i].value; + } + } + this.setData({ + ["userInfo.sex"]: currentSex, + sex, + }); + console.log(e.detail.value); + }, + chooseIdCard() { + var that = this; + wx.chooseImage({ + count: 1, + sizeType: ["original", "compressed"], + sourceType: ["album", "camera"], + success(res) { + console.log(res); +// debugger; + that.uploadIdcardImg(res); + }, + }); + }, + uploadIdcardImg(imgPath) { + let that = this; + // tempFilePath可以作为img标签的src属性显示图片 + console.log(imgPath.tempFilePaths[0]); + const tempFilePaths = imgPath.tempFilePaths; + wx.showLoading({ + title: "识别中...", + }); + wx.uploadFile({ + // url: app.globalData.ip + '/commons/idCardOcrRecognize', + url: app.globalData.ip + "/commons/idCardOcrRecognizeAndUploadToAliyunOss", + filePath: imgPath.tempFilePaths[0], + name: "uploadFile", + header: app.globalData.headers, + success: function (res) { + console.log(JSON.parse(res.data)); + var idcard = JSON.parse(res.data); + if (idcard.status == 200) { + that.setData({ + ageIndex:parseInt(idcard.data.age) - 16, + + userInfo: idcard.data, + showUpload: false, + currentImg: idcard.data.idCardImageUrl, + }); + that.setStorage(); + console.log(that.data.userInfo); + that.data.nationArray.forEach((item, index) => { + if (item.name.includes(that.data.userInfo.nationality)) { + that.setData({ + nationIndex: index, + }); + } + }); + if (that.data.userInfo.sex == "男") { + that.data.sex[0].checked = true; + } else { + that.data.sex[1].checked = true; + } + // that.data.files.push({'url':tempFilePaths[0]}) + + // console.log(that.data.files); + + that.setData({ + // files: that.data.files, + sex: that.data.sex, + imgSrc: tempFilePaths[0], + }); + that.pushImg(); + + } else { + wx.showToast({ + duration: 2000, + title: "身份证未识别", + icon: "none", + mask: true, + }); + // console.log(1); + //app.showTips(that, res.data.msg); + } + wx.hideLoading(); + }, + fail: function (res) { + console.log(res); + }, + }); + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + var that = this; + + // console.log(JSON.parse(options.info)); + // 获取缓存的报名人信息 + let info = wx.getStorageSync("townsManInfo"); + console.log(info); + if (app.isNotEmptyCheck(info)) { + // 统一给代理岗位相关的字段赋值 + if(app.isNotEmptyCheck(info.userId)){ + that.getImgs(info.userId); + } + that.setData({ + userInfo: info, + userId:info.userId, + currentImg: info.currentImg, + }); + if(app.isNotEmptyCheck(info.imgs)){ + that.setData({ + files:info.imgs, + urls:info.imgs, + }); + } + + + // this.setData({ + // userInfo: info, + // currentImg: info.currentImg, + // currentTime: info.currentTime, + // }); + console.log(info); + if (info.sex == "男" || info.sex == "1") { + this.data.sex[0].checked = true; + } else if (info.sex == "女" || info.sex == "2") { + this.data.sex[1].checked = true; + } + that.data.nationArray.forEach((item, index) => { + if (item.name.indexOf(info.nationality) > -1 && info.nationality != "") { + console.log("isin"); + that.setData({ + nationIndex: index, + }); + } + }); + + console.log(info.age); + + if(info.age){ + this.setData({ + ageIndex:parseInt(info.age) - 16, + }); + } + console.log(that.data.nationIndex); + this.setData({ + sex: this.data.sex, + }); + } + // this.getPolicyByStoreJobId(that.data.storeJobId); + that.setData({ + managerRoleClassify: app.globalData.loginUserInfo.managerRoleClassify, + }); + + if (app.isNotEmptyCheck(options.info)) { + // 如果随路由传过来的信息有更新,赋值新的数据 + this.setData({ + storeJobId: JSON.parse(options.info).id, + jobName: JSON.parse(options.info).jobName, + inputVal: JSON.parse(options.info).storeName || JSON.parse(options.info).aliasName, + storeId: JSON.parse(options.info).storeId, + }); + // this.getPolicyByStoreJobId(this.data.storeJobId); + } + if (app.isNotEmptyCheck(options.agencyInfo)) { + that.setData({ + agentName: JSON.parse(options.agencyInfo).agencyName, + agentId: JSON.parse(options.agencyInfo).id, + }); + } + if (app.isNotEmptyCheck(options.imgUrl)) { + let imgUrl = JSON.parse(options.imgUrl); + that.uploadIdcardImg(imgUrl); + } + }, + toJobAndAgencySelect(e) { + console.log(e); + console.log(this.data.userInfo); + this.setStorage().then(() => { + console.log('--------','isIntonavigation'); + wx.navigateTo({ + url: `../recordChoice/index?type=${e.currentTarget.dataset.type}`, + }); + }); + }, + showImg() { + wx.previewImage({ + current: this.data.currentImg, // 当前显示图片的 http 链接 + urls: [this.data.currentImg], // 需要预览的图片 http 链接列表 + }); + }, + deleteImg() { + var that = this; + wx.showModal({ + title: "提示", + content: "确定要删除图片吗?", + confirmColor: "#ff4400", + success(res) { + if (res.confirm) { + that.setData({ + imgSrc: "", + showUpload: true, + }); + } else if (res.cancel) { + console.log("用户点击取消"); + } + }, + }); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + // let src = wx.getStorageSync("src"); + // console.log(src); + }, + bothwayBind(e) { + console.log(e); + let type = `userInfo.${e.currentTarget.dataset.type}`; + this.setData({ + [type]: e.detail.value, + }); + }, + beforeFormSubmit: function (e) { + var that = this; + console.log(e); + that.setData({ + loading: true, + }); + +if (app.isEmptyCheck(e.detail.value.userName)) { + wx.showToast({ + duration: 2000, + title: "请输入姓名", + icon: "none", + mask: true, + }); + that.setData({ + loading: false, + }); + } else if (app.isEmptyCheck(e.detail.value.sex)) { + wx.showToast({ + duration: 2000, + title: "请选择性别", + icon: "none", + mask: true, + }); + that.setData({ + loading: false, + }); + } else if (that.data.ageIndex == -1) { + wx.showToast({ + duration: 2000, + title: "请选择年龄", + icon: "none", + mask: true, + }); + that.setData({ + loading: false, + }); + } else { + setTimeout(() => { + that.formSubmit(e); + }, 1); + } + }, + setStorage() { + let that = this; + wx.removeStorageSync('townsManInfo') + return new Promise((resolve, reject) => { + console.log(that.data.storeJobId); + let data = { ...that.data.userInfo, currentImg: that.data.currentImg }; + console.log(data); + wx.setStorage({ + key: "townsManInfo", + data, + }); + console.log(wx.getStorageSync("townsManInfo")); + resolve(); + }); + }, + formSubmit: function (e) { + var that = this; + console.log(e); + that.setData({ + loading: true, + }); + // wx.showLoading({ + // title: "提交中...", + // mask: true, + // }); + // if (that.data.index == -1) { + // wx.showToast({ + // duration: 2000, + // title: '请选择代理', + // icon: 'none', + // mask: true + // }) + // that.setData({ + // loading: false + // }) + // } else + + // if (that.data.jobIndex == -1) { + // wx.showToast({ + // duration: 2000, + // title: "请选择岗位", + // icon: "none", + // mask: true, + // }); + // that.setData({ + // loading: false, + // }); + // } else { + console.log(that.data.userInfo); + new Promise(function (resolve, reject) { + var paramData = that.data.userInfo; + paramData["userName"] = e.detail.value.userName; + paramData["sex"] = e.detail.value.sex; + paramData["age"] = that.data.userInfo.age; + paramData["nation"] = that.data.userInfo.nationality; + paramData["idCard"] = e.detail.value.idCard; + paramData["num"] = e.detail.value.idCard; + paramData["tel"] = e.detail.value.tel; + paramData["idCardImageUrl"] = that.data.currentImg; + paramData ["address"] = e.detail.value.address; + paramData ["userId"] = that.data.userId; + + // let urlss = []; + // if(app.isNotEmptyCheck(that.data.files)){ + // that.data.files.forEach(item=>{ + // urlss.push(item.url) + // }) + // } + + + paramData["imgs"] = that.data.newAddImg.toString(); + + resolve(paramData); + }).then(function (paramData) { + console.log(paramData); + + wx.removeStorageSync('townsManInfo') + new Promise((resolve, reject) => { + console.log(that.data.storeJobId); + let data = { ...paramData ,currentImg: that.data.currentImg,imgs:that.data.files }; + console.log(data); + wx.setStorage({ + key: "townsManInfo", + data, + }); + console.log(wx.getStorageSync("townsManInfo")); + resolve(); + }).then(() => { + + + console.log(paramData['userId']); + + if(app.isNotEmptyCheck(that.data.userId)){ + wx.request({ + url: app.globalData.ip + "/user/updateInfo", + header: app.globalData.headers, + data: paramData, + method: "POST", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + wx.hideLoading(); + wx.showToast({ + duration: 2000, + title: "提交中", + icon: "success", + mask: true, + }); + setTimeout(()=>{ + wx.navigateBack({ + delta: -1, + }) + },2000) + + }else{ + wx.showToast({ + title: res.data.msg, + icon:'none' + }) + } + }, + }); + }else{ + wx.hideLoading(); + wx.showToast({ + duration: 2000, + title: "提交中", + icon: "success", + mask: true, + }); + setTimeout(()=>{ + wx.navigateBack({ + delta: -1, + }) + },2000) + } + + // wx.navigateBack({ + // delta: -1, + // }) + }); + wx.hideLoading({ + success: (res) => {}, + }) + }); + // } + }, + inputTyping: function (e) { + this.setData({ + inputVal: e.detail.value, + }); + if (e.detail.value.length > 0) { + this.setData({ + searchListShow: true, + }); + this.getStoreList(e.detail.value); + } else { + this.setData({ + searchListShow: false, + }); + } + }, + getStoreList: function (searchKeys) { + console.log(searchKeys); + var that = this; + that.data.searchKeys = searchKeys; + // 60秒后重新获取验证码 + wx.request({ + url: app.globalData.ip + "/store/getAllStoreAliasName", + data: { + keys: searchKeys, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + storeArray: res.data.data, + }); + } + }, + fail: function (res) {}, + }); + }, + setValue: function (e) { + let str = e.currentTarget.dataset.name; + let storeId = e.currentTarget.dataset.id; + console.log(storeId); + this.setData({ + inputVal: str, + storeId: storeId, + searchListShow: false, + }); + this.getJobList(storeId); + }, + getJobList: function (storeId) { + var that = this; + return new Promise((resolve, reject) => { + wx.request({ + url: app.globalData.ip + "/store/job/getJobNameByStoreId", + data: { + storeId: storeId, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + jobArray: res.data.data, + }); + resolve(); + } + }, + fail: function (res) {}, + }); + }); + }, + + // bindPickerChangeJob: function (e) { + // var that = this; + // console.log("picker发送选择改变,携带值为", e.detail.value); + // var storeJobId = that.data.jobArray[e.detail.value].id; + // console.log(storeJobId); + // that.getPolicyByStoreJobId(storeJobId); + // this.setData({ + // jobIndex: e.detail.value, + // }); + // }, + bindPickerChangeNation(e) { + let that = this; + console.log("picker发送选择改变,携带值为", e.detail.value); + var nationName = that.data.nationArray[e.detail.value].name; + + this.setData({ + nationIndex: e.detail.value, + ["userInfo.nationality"]: nationName, + }); + }, + getPolicyByStoreJobId: function (storeJobId) { + var that = this; + wx.request({ + url: app.globalData.ip + "/store/job/getPolicyByStoreJobId", + data: { + storeJobId: storeJobId, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + policy: res.data.data, + }); + } + }, + fail: function (res) { + console.log(res); + }, + }); + }, + + changeDateTime(e) { + var dateTimeArray = this.data.dateTimeArray, + dateTime = e.detail.value; + this.setData({ + // dateTime: e.detail.value, + currentTime: dateTimeArray[0][dateTime[0]].replace("年", "") + "-" + dateTimeArray[1][dateTime[1]].replace("月", "") + "-" + dateTimeArray[2][dateTime[2]].replace("日", "") + " " + dateTimeArray[3][dateTime[3]], + }); + console.log(this.data.dateTimeArray); + }, + + changeDateTimeColumn(e) { + var arr = this.data.dateTime, + dateArr = this.data.dateTimeArray; + arr[e.detail.column] = e.detail.value; + console.log("aaaaaa"); +console.log(dateArr[0][arr[0]], dateArr[1][arr[1]]); + + + dateArr[2] = dateTimePicker.getMonthDay(dateArr[0][arr[0]], dateArr[1][arr[1]]); + for (let index = 0; index < dateArr[2].length; index++) { + dateArr[2][index] = dateArr[2][index] + "日"; + } + // .replace("年",'').replace("月",'').replace("日",'') + this.setData({ + dateTimeArray: dateArr, + dateTime: arr, + }); + }, + + // getAgencyList: function (searchKeys) { + // var that = this; + // that.data.searchKeysA = searchKeys; + // // 60秒后重新获取验证码 + // wx.request({ + // url: app.globalData.ip + "/agency/getByPmdUserId", + // data: { + // agencyName: searchKeys, + // // pmdUserId: 101125 + // }, + // header: app.globalData.headers, + // method: "GET", + // success: function (res) { + // console.log(res); + // if (res.data.status == 200) { + // that.setData({ + // agentArray: res.data.data, + // }); + // } + // }, + // fail: function (res) {}, + // }); + // }, + /** + * 生命周期函数--监听页面显示 + */ + getImgs(userId){ + var that = this; + wx.request({ + url: app.globalData.ip + "/imgs/list/"+userId+"?type=20", + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + // if (res.data.status == 200) { + let currFils = []; + let regs = /\.(jpg|jpeg|png)(\?.*)?$/; + // res.data.data.storeImage.forEach((item) => { + // item.isImg = regs.test(item.url.toLowerCase()); + // if(app.isEmptyCheck(item.recordState)){ + // item.recordState = 1 + // } + // }); + if(app.isNotEmptyCheck(res.data.data.userImgs)){ + res.data.data.userImgs.forEach(item=>{ + if(regs.test(item.url.toLowerCase())){ + currFils.push({url:item.url,id:item.id}) + } + }) + } + + that.setData({ + files: currFils, + urls: currFils, + }); + // } + }, + fail: function (res) { + console.log(res); + }, + }); + }, + + + onShow: function () { + let that = this; + + that.pushImg(); + + + for(let i = 16;i < 70;i++){ + that.data.ageArray.push(i) + } + + // let that = this; + // let info = wx.getStorageSync("townsManInfo"); + // if (app.isNotEmptyCheck(info)) { + // this.setData({ + // userInfo: info, + // currentImg: info.currentImg, + // currentTime: info.currentTime, + // }); + // console.log(info); + // if (info.sex == "男") { + // this.data.sex[0].checked = true; + // } else if (info.sex == "女") { + // this.data.sex[1].checked = true; + // } + // that.data.nationArray.forEach((item, index) => { + // if (item.name.indexOf(info.nationality) > -1 && info.nationality != "") { + // console.log("isin"); + // that.setData({ + // nationIndex: index, + // }); + // } + // }); + // console.log(that.data.nationIndex); + // this.setData({ + // sex: this.data.sex, + // }); + // } + // this.pickerTap(); + + var obj = dateTimePicker.dateTimePicker(this.data.startYear, this.data.endYear, this.data.currentTime); + console.log(obj); + console.log(obj.dateTimeArray); + for (let index = 0; index < obj.dateTimeArray[0].length; index++) { + obj.dateTimeArray[0][index] = obj.dateTimeArray[0][index] + "年"; + } + for (let index = 0; index < obj.dateTimeArray[1].length; index++) { + obj.dateTimeArray[1][index] = obj.dateTimeArray[1][index] + "月"; + } + for (let index = 0; index < obj.dateTimeArray[2].length; index++) { + obj.dateTimeArray[2][index] = obj.dateTimeArray[2][index] + "日"; + } + + this.setData({ + dateTimeArray: obj.dateTimeArray, + dateTime: obj.dateTime, + ageArray:that.data.ageArray + }); + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function (e) { + console.log("isHide"); + console.log(e); + // this.setData({ + // userInfo: { + // name: "", + // address: "", + // age: "", + // nationality: "", + // sex: "", + // num: "", + // idCardImageUrl: "", + // }, + // }); + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + // wx.removeStorageSync("townsManInfo"); + // wx.switchTab({ + // url: "../firstBill/index", + // }); + // console.log(wx.getStorageSync("townsManInfo")); + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () {}, +}); diff --git a/pages/newEnroll/enrollEdit/index.json b/pages/newEnroll/enrollEdit/index.json new file mode 100644 index 0000000..b7103f8 --- /dev/null +++ b/pages/newEnroll/enrollEdit/index.json @@ -0,0 +1,3 @@ +{ + "navigationBarTitleText": "老乡报名信息" +} \ No newline at end of file diff --git a/pages/newEnroll/enrollEdit/index.wxml b/pages/newEnroll/enrollEdit/index.wxml new file mode 100644 index 0000000..ccee155 --- /dev/null +++ b/pages/newEnroll/enrollEdit/index.wxml @@ -0,0 +1,173 @@ +
+ + + + + + + 拍照或相册上传 + 系统智能识别并自动填写 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{item.value}} + + + + + + + + + + + + + + + 请选择年龄 + + + {{ageArray[ageIndex]}} + + + + + + + + + + + + + + + + 请选择民族 + + + {{nationArray[nationIndex].name}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 我已阅读并同意 + + 《服务协议》《隐私政策》 + + + + + + + + + +
\ No newline at end of file diff --git a/pages/newEnroll/enrollEdit/index.wxss b/pages/newEnroll/enrollEdit/index.wxss new file mode 100644 index 0000000..f446131 --- /dev/null +++ b/pages/newEnroll/enrollEdit/index.wxss @@ -0,0 +1,192 @@ +.weui-cells__group_form { + margin-top: 10px; +} +.weui-cells__group_form .weui-label { + color: rgba(0, 0, 0, 0.65); +} +.weui-input::placeholder { + color: #ccc; +} +.weui-cells__group_form .weui-cell { + padding: 16px 16px; +} +.weui-cells__group_form .weui-cells:after, +.weui-cells__group_form .weui-cell:before, +.weui-cells__group_form .weui-cells:before { + left: 10px; + right: 10px; +} +.br8 { + border-radius: 8px; +} +.weui-cells__group_form .weui-cell__hd { + padding-right: 0; +} + +.weui-cells__group_form .weui-cell.weui-cell_vcode { + padding: 11px 10px; +} +.weui-input { + min-height: 22px; + height: 22px; + line-height: 22px; +} +.weui-uploader__file, +.weui-uploader__input-box { + /* width: calc((100vw - 105px - 40px) / 3); + height: calc((100vw - 105px - 40px) / 3); */ + border-radius: 4px; + width: 76px; + height: 76px; + margin-right: 11px; +} +.weui-cells__group_form .weui-vcode-btn { + width: 68px; + height: 26px; + background-color: #fff; + border-radius: 13px; + font-size: 14px; + color: #027aff; + text-align: center; + padding: 0; + font-weight: 400; + line-height: 26px; +} +.weui-label.c085 { + color: #333; + /* font-weight: 500; */ +} +.weui-cell{ + align-items: flex-start; +} +.weui-cells__group_form .weui-cells:before { + border-top: 0; +} + +.weui-cell.weui-cell_active.weui-cell_access { + padding: 12px 10px; +} +button[disabled]:not([type]) { + background-color: #ddd; +} + +.searchbar-result { + position: absolute; + z-index: 9; + width: calc(100% - 20px); + max-height: 200px; + overflow: auto; +} +.weui-cells:after, +.weui-cells:before { + height: 0; + border-top: 0; + border-bottom: 0; +} +.weui-input { + text-align: right; +} +.topViewN { + height: 66px; + background: #fff4f1; + border: 1px solid #ff8255; + border-radius: 6px; + display: flex; + padding: 0 16px; + line-height: 66px; +} +.weui-cell__bd { + color: #666; +} +.imgSpanIcon { + width: 23px; + height: 18px; +} +.imgSpanIcon1 { + width: 22px; + height: 22px; + position: absolute; + right: -11px; + top: -11px; +} + +.topImg { + position: absolute; + width: 100px; + height: 100px; + background: rgba(0, 0, 0, 0.48); + border-radius: 4px; +} + +button.newBtn { + width: 200px; + background-color: var(--color-ysd); +} + +.quickapply { + position: relative; + display: flex; + align-items: center; + justify-content: space-between; + min-height: 54px; + margin-bottom: 0; + padding: 12px 10px 12px 14px; + /* padding-bottom: 48px; */ + background-color: #fff; + border-radius: 6px; +} + +.quickapply .upload .t-icon { + width: 46px; + height: 46px; + margin-right: 10px; + background-repeat: no-repeat; +} +.quickapply .upload { + display: flex; + align-items: center; +} +.quickapply .info view:first-child { + font-size: 17px; + font-weight: 500; + color: #333; +} +.quickapply .info view:last-child { + font-size: 14px; + color: #ccc; +} +.quickapply .idCardPreview ,.quickapply .idCardPreview image{ + width: 28px; + height: 28px; + border-radius: 2px; +} +.quickapply .idCardPreview .t-icon { + width: 100%; + height: 100%; +} +.input__placeholder{ + color: #ccc; +} +.weui-input{ + color: #333; +} +.weui-uploader__input-box:before { + width: 2px; + height: 24px; +} +.weui-uploader__input-box:after { + width: 24px; + height: 2px; +} +.weui-uploader__img{ + border-radius: 4px; +} +.weui-uploader__file .delImg{ + position: absolute; + right: -6px; + top:-6px; + z-index: 99; +} +.weui-uploader__bd{ + overflow: inherit; +} \ No newline at end of file diff --git a/pages/newEnroll/enrollJob/index.js b/pages/newEnroll/enrollJob/index.js new file mode 100644 index 0000000..0fff6e6 --- /dev/null +++ b/pages/newEnroll/enrollJob/index.js @@ -0,0 +1,537 @@ +// pages/newEnroll/index.js +const app = getApp(); +var dateTimePicker = require("../../../utils/dateTimePicker.js"); +var dateUtil = require("../../../utils/dateUtil.js"); +import { nationArray } from "../../../utils/commonUtil"; +const mydate = new Date(); +Page({ + /** + * 页面的初始数据 + */ + data: { + + showUpload: true, + name: "", + + loading: false, + idInfo: {}, + index: -1, + agentArray: [], + // jobIndex: -1, + jobArray: [ + // { + // id: 1, + // name: "GG", + // }, + ], + storeIndex: -1, + storeArray: [ + // { + // id: 1, + // name: "GG", + // }, + ], + dateTimeArray1: null, + dateTime1: null, + startYear: 2022, + endYear: 2024, + currentTime: dateUtil.formatDateYMD(mydate.toLocaleDateString()) + " " + "12:00", + currentTime2: dateUtil.formatDateYMD(mydate.toLocaleDateString()) + " " + "12:00", + searchListShow: false, + searchKeys: "", + searchKeysA: "", + inputShowed: false, + inputVal: "", + inputShowedA: false, + inputValA: "", + storeId: "", + agentId: "", + agentName: "", + storeJobId: "", + policy: "", + currentImg: "", + nationIndex: -1, // 民族的索引 + managerRoleClassify: false, // 管理员权限 + nationArray, + currentUser: {}, + jobName: "", + switch1Checked: false, + }, + + + shrink:function(){ + wx.navigateBack({ + delta: -1, + }) + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + let that = this; + // console.log(JSON.parse(options.info)); + console.log(options); + + // 获取缓存的报名人信息 + let info = wx.getStorageSync("storeJobInfo"); + console.log(info); + if (app.isNotEmptyCheck(info)) { + // 统一给代理岗位相关的字段赋值 + that.setData({ + storeJobId: info.id, + jobName: info.jobName, + agentId: info.agentId, + agentName: info.agentName, + currentImg: info.currentImg, + }); + this.getPolicyByStoreJobId(that.data.storeJobId); + + } + that.setData({ + managerRoleClassify: app.globalData.loginUserInfo.managerRoleClassify, + }); + if (app.isNotEmptyCheck(options.info)) { + // 如果随路由传过来的信息有更新,赋值新的数据 + this.setData({ + storeJobId: JSON.parse(options.info).id, + jobName: JSON.parse(options.info).jobName, + inputVal: JSON.parse(options.info).storeName || JSON.parse(options.info).aliasName, + storeId: JSON.parse(options.info).storeId, + }); + this.getPolicyByStoreJobId(this.data.storeJobId); + } + if (app.isNotEmptyCheck(options.agencyInfo)) { + that.setData({ + agentName: JSON.parse(options.agencyInfo).agencyName, + agentId: JSON.parse(options.agencyInfo).id, + }); + } + if (app.isNotEmptyCheck(options.imgUrl)) { + let imgUrl = JSON.parse(options.imgUrl); + that.uploadIdcardImg(imgUrl); + } + }, + toJobAndAgencySelect(e) { + console.log(e); + console.log(this.data.userInfo); + this.setStorage().then(() => { + console.log('--------','isIntonavigation'); + wx.navigateTo({ + url: `../../recordChoice/index?type=${e.currentTarget.dataset.type}`, + }); + }); + }, + showImg() { + wx.previewImage({ + current: this.data.currentImg, // 当前显示图片的 http 链接 + urls: [this.data.currentImg], // 需要预览的图片 http 链接列表 + }); + }, + deleteImg() { + var that = this; + wx.showModal({ + title: "提示", + content: "确定要删除图片吗?", + confirmColor: "#ff4400", + success(res) { + if (res.confirm) { + that.setData({ + imgSrc: "", + showUpload: true, + }); + } else if (res.cancel) { + console.log("用户点击取消"); + } + }, + }); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + // let src = wx.getStorageSync("src"); + // console.log(src); + }, + bothwayBind(e) { + console.log(e); + let type = `userInfo.${e.currentTarget.dataset.type}`; + this.setData({ + [type]: e.detail.value, + }); + }, + beforeFormSubmit: function (e) { + var that = this; + console.log(e); + that.setData({ + loading: true, + }); + + setTimeout(() => { + that.formSubmit(e); + }, 1); + + // if (!that.data.switch1Checked) { + // wx.showToast({ + // title: "请先阅读并同意《服务协议》及《隐私政策》", + // icon: "none", + // duration: 2000, + // }); + // } else if (app.isEmptyCheck(e.detail.value.userName)) { + // wx.showToast({ + // duration: 2000, + // title: "请输入姓名", + // icon: "none", + // mask: true, + // }); + // that.setData({ + // loading: false, + // }); + // } else if (app.isEmptyCheck(e.detail.value.sex)) { + // wx.showToast({ + // duration: 2000, + // title: "请选择性别", + // icon: "none", + // mask: true, + // }); + // that.setData({ + // loading: false, + // }); + // } else if (app.isEmptyCheck(e.detail.value.age)) { + // wx.showToast({ + // duration: 2000, + // title: "请输入年龄", + // icon: "none", + // mask: true, + // }); + // that.setData({ + // loading: false, + // }); + // } else { + // setTimeout(() => { + // that.formSubmit(e); + // }, 1); + // } + }, + setStorage() { + let that = this; + wx.removeStorageSync('townsManInfoJob') + return new Promise((resolve, reject) => { + console.log(that.data.storeJobId); + let data = { currentTime: that.data.currentTime,currentTime2: that.data.currentTime2, storeJobId: that.data.storeJobId, jobName: that.data.jobName, agentId: that.data.agentId, agentName: that.data.agentName }; + console.log(data); + wx.setStorage({ + key: "townsManInfoJob", + data, + }); + console.log(wx.getStorageSync("townsManInfoJob")); + resolve(); + }); + }, + formSubmit: function (e) { + var that = this; + console.log(e); + that.setData({ + loading: true, + }); + wx.showLoading({ + title: "提交中...", + mask: true, + }); + // if (that.data.index == -1) { + // wx.showToast({ + // duration: 2000, + // title: '请选择代理', + // icon: 'none', + // mask: true + // }) + // that.setData({ + // loading: false + // }) + // } else + + // if (that.data.jobIndex == -1) { + // wx.showToast({ + // duration: 2000, + // title: "请选择岗位", + // icon: "none", + // mask: true, + // }); + // that.setData({ + // loading: false, + // }); + // } else { + console.log(that.data.idInfo); + new Promise(function (resolve, reject) { + var paramData = {}; + + paramData["storeJobId"] = that.data.storeJobId; + paramData["policy"] = that.data.policy; + paramData["interviewTime"] = that.data.currentTime; + paramData["receptionTime"] = that.data.currentTime2; + resolve(paramData); + }).then(function (paramData) { + console.log(paramData); + + wx.removeStorageSync('townsManInfoJob') + new Promise((resolve, reject) => { + console.log(that.data.storeJobId); + let data = { currentTime: that.data.currentTime,currentTime2: that.data.currentTime2, storeJobId: that.data.storeJobId, jobName: that.data.jobName, agentName: that.data.agentName,policy:that.data.policy }; + console.log(data); + wx.setStorage({ + key: "townsManInfoJob", + data, + }); + console.log(wx.getStorageSync("townsManInfoJob")); + resolve(); + }).then(() => { + wx.redirectTo({ + url: '../../newEnroll/index', + }) + }); + wx.hideLoading({ + success: (res) => {}, + }) + + + + }); + // } + }, + inputTyping: function (e) { + this.setData({ + inputVal: e.detail.value, + }); + if (e.detail.value.length > 0) { + this.setData({ + searchListShow: true, + }); + this.getStoreList(e.detail.value); + } else { + this.setData({ + searchListShow: false, + }); + } + }, + getStoreList: function (searchKeys) { + console.log(searchKeys); + var that = this; + that.data.searchKeys = searchKeys; + // 60秒后重新获取验证码 + wx.request({ + url: app.globalData.ip + "/store/getAllStoreAliasName", + data: { + keys: searchKeys, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + storeArray: res.data.data, + }); + } + }, + fail: function (res) {}, + }); + }, + setValue: function (e) { + let str = e.currentTarget.dataset.name; + let storeId = e.currentTarget.dataset.id; + console.log(storeId); + this.setData({ + inputVal: str, + storeId: storeId, + searchListShow: false, + }); + this.getJobList(storeId); + }, + getJobList: function (storeId) { + var that = this; + return new Promise((resolve, reject) => { + wx.request({ + url: app.globalData.ip + "/store/job/getJobNameByStoreId", + data: { + storeId: storeId, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + jobArray: res.data.data, + }); + resolve(); + } + }, + fail: function (res) {}, + }); + }); + }, + + // bindPickerChangeJob: function (e) { + // var that = this; + // console.log("picker发送选择改变,携带值为", e.detail.value); + // var storeJobId = that.data.jobArray[e.detail.value].id; + // console.log(storeJobId); + // that.getPolicyByStoreJobId(storeJobId); + // this.setData({ + // jobIndex: e.detail.value, + // }); + // }, + bindPickerChangeNation(e) { + let that = this; + console.log("picker发送选择改变,携带值为", e.detail.value); + var nationName = that.data.nationArray[e.detail.value].name; + + this.setData({ + nationIndex: e.detail.value, + ["userInfo.nationality"]: nationName, + }); + }, + getPolicyByStoreJobId: function (storeJobId) { + var that = this; + // 60秒后重新获取验证码 + wx.request({ + url: app.globalData.ip + "/store/job/getPolicyByStoreJobId", + data: { + storeJobId: storeJobId, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + policy: res.data.data, + }); + } + }, + fail: function (res) { + console.log(res); + }, + }); + }, + + changeDateTime(e) { + var dateTimeArray = this.data.dateTimeArray, + dateTime = e.detail.value; + this.setData({ + // dateTime: e.detail.value, + currentTime: dateTimeArray[0][dateTime[0]].replace("年", "") + "-" + dateTimeArray[1][dateTime[1]].replace("月", "") + "-" + dateTimeArray[2][dateTime[2]].replace("日", "") + " " + dateTimeArray[3][dateTime[3]], + }); + console.log(this.data.dateTimeArray); + }, + + changeDateTimeColumn(e) { + var arr = this.data.dateTime, + dateArr = this.data.dateTimeArray; + arr[e.detail.column] = e.detail.value; + dateArr[2] = dateTimePicker.getMonthDay(dateArr[0][arr[0]], dateArr[1][arr[1]]); + for (let index = 0; index < dateArr[2].length; index++) { + dateArr[2][index] = dateArr[2][index] + "日"; + } + // .replace("年",'').replace("月",'').replace("日",'') + this.setData({ + dateTimeArray: dateArr, + dateTime: arr, + }); + }, + + changeDateTime2(e) { + var dateTimeArray = this.data.dateTimeArray, + dateTime = e.detail.value; + this.setData({ + // dateTime: e.detail.value, + currentTime2: dateTimeArray[0][dateTime[0]].replace("年", "") + "-" + dateTimeArray[1][dateTime[1]].replace("月", "") + "-" + dateTimeArray[2][dateTime[2]].replace("日", "") + " " + dateTimeArray[3][dateTime[3]], + }); + console.log(this.data.dateTimeArray); + }, + + changeDateTimeColumn2(e) { + var arr = this.data.dateTime2, + dateArr = this.data.dateTimeArray; + arr[e.detail.column] = e.detail.value; + dateArr[2] = dateTimePicker.getMonthDay(dateArr[0][arr[0]], dateArr[1][arr[1]]); + for (let index = 0; index < dateArr[2].length; index++) { + dateArr[2][index] = dateArr[2][index] + "日"; + } + // .replace("年",'').replace("月",'').replace("日",'') + this.setData({ + dateTimeArray: dateArr, + dateTime2: arr, + }); + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + var obj = dateTimePicker.dateTimePicker(this.data.startYear, this.data.endYear, this.data.currentTime); + console.log(obj.dateTimeArray); + for (let index = 0; index < obj.dateTimeArray[0].length; index++) { + obj.dateTimeArray[0][index] = obj.dateTimeArray[0][index] + "年"; + } + for (let index = 0; index < obj.dateTimeArray[1].length; index++) { + obj.dateTimeArray[1][index] = obj.dateTimeArray[1][index] + "月"; + } + for (let index = 0; index < obj.dateTimeArray[2].length; index++) { + obj.dateTimeArray[2][index] = obj.dateTimeArray[2][index] + "日"; + } + + this.setData({ + dateTimeArray: obj.dateTimeArray, + dateTime: obj.dateTime, + dateTimeArray2: obj.dateTimeArray, + dateTime2: obj.dateTime, + }); + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function (e) { + console.log("isHide"); + console.log(e); + // this.setData({ + // userInfo: { + // name: "", + // address: "", + // age: "", + // nationality: "", + // sex: "", + // num: "", + // idCardImageUrl: "", + // }, + // }); + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + // wx.removeStorageSync("townsManInfo"); + // wx.switchTab({ + // url: "../firstBill/index", + // }); + // console.log(wx.getStorageSync("townsManInfo")); + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () {}, +}); diff --git a/pages/newEnroll/enrollJob/index.json b/pages/newEnroll/enrollJob/index.json new file mode 100644 index 0000000..b7103f8 --- /dev/null +++ b/pages/newEnroll/enrollJob/index.json @@ -0,0 +1,3 @@ +{ + "navigationBarTitleText": "老乡报名信息" +} \ No newline at end of file diff --git a/pages/newEnroll/enrollJob/index.wxml b/pages/newEnroll/enrollJob/index.wxml new file mode 100644 index 0000000..056787d --- /dev/null +++ b/pages/newEnroll/enrollJob/index.wxml @@ -0,0 +1,81 @@ +
+ + + + + + + + {{item.aliasName}} + + + + + + + + + + + {{jobName}} + + + + 请选择岗位 + + + + + + + + + + + + {{!!currentTime?currentTime:'----'}} + + + + + + + + + + + + {{!!currentTime2?currentTime2:'----'}} + + + + + + + + + + + + {{policy == "" ?'-':policy}} + + + + + + + + + + + + +
\ No newline at end of file diff --git a/pages/newEnroll/enrollJob/index.wxss b/pages/newEnroll/enrollJob/index.wxss new file mode 100644 index 0000000..180f65f --- /dev/null +++ b/pages/newEnroll/enrollJob/index.wxss @@ -0,0 +1,4 @@ +@import "../enroll/index.wxss"; +page{ + font-size: 16px; +} \ No newline at end of file diff --git a/pages/newEnroll/index.js b/pages/newEnroll/index.js new file mode 100644 index 0000000..21503bc --- /dev/null +++ b/pages/newEnroll/index.js @@ -0,0 +1,634 @@ +// pages/newEnroll/index.js +const app = getApp(); +var dateTimePicker = require("../../utils/dateTimePicker.js"); +var dateUtil = require("../../utils/dateUtil.js"); +import { nationArray } from "../../utils/commonUtil"; +const mydate = new Date(); +Page({ + /** + * 页面的初始数据 + */ + data: { + storeJobInfo:{}, + userInfo: { + name: "姓名", + address: "报名老乡地址", + age: "年龄", + nationality: "民族", + sex: "性别", + num: "-", + tel: "-", + idCardImageUrl: "", + }, + user:app.globalData.user, + showUpload: true, + name: "", + sex: [ + { + id: 1, + value: "男", + }, + { + id: 2, + value: "女", + }, + ], + imgSrc: "", + loading: false, + idInfo: {}, + index: -1, + agentArray: [], + // jobIndex: -1, + jobArray: [ + // { + // id: 1, + // name: "GG", + // }, + ], + storeIndex: -1, + storeArray: [ + // { + // id: 1, + // name: "GG", + // }, + ], + dateTimeArray1: null, + dateTime1: null, + startYear: 2022, + endYear: 2024, + currentTime: '-', + currentTime2: '-', + searchListShow: false, + searchKeys: "", + searchKeysA: "", + inputShowed: false, + inputVal: "", + inputShowedA: false, + inputValA: "", + storeId: "", + agentId: "", + agentName: "", + storeJobId: "", + policy: "-", + currentImg: "", + nationIndex: -1, // 民族的索引 + managerRoleClassify: app.globalData.loginUserInfo.managerRoleClassify, // 管理员权限 + nationArray, + currentUser: {}, + jobName: "-", + switch1Checked: true, + }, + shrink:function(){ + wx.navigateBack({ + delta: -1, + }) + }, + radioChange: function (e) { + const sex = this.data.sex; + let currentSex = ""; + for (let i = 0, len = sex.length; i < len; ++i) { + sex[i].checked = sex[i].id == e.detail.value; + if (sex[i].checked) { + currentSex = sex[i].value; + } + } + this.setData({ + ["userInfo.sex"]: currentSex, + sex, + }); + console.log(e.detail.value); + }, + chooseIdCard() { + var that = this; + wx.chooseImage({ + count: 1, + sizeType: ["original", "compressed"], + sourceType: ["album", "camera"], + success(res) { + console.log(res); + + that.uploadIdcardImg(res); + }, + }); + }, + uploadIdcardImg(imgPath) { + let that = this; + // tempFilePath可以作为img标签的src属性显示图片 + console.log(imgPath.tempFilePaths[0]); + const tempFilePaths = imgPath.tempFilePaths; + wx.showLoading({ + title: "识别中...", + }); + wx.uploadFile({ + // url: app.globalData.ip + '/commons/idCardOcrRecognize', + url: app.globalData.ip + "/commons/idCardOcrRecognizeAndUploadToAliyunOss", + filePath: imgPath.tempFilePaths[0], + name: "uploadFile", + header: app.globalData.headers, + success: function (res) { + console.log(JSON.parse(res.data)); + var idcard = JSON.parse(res.data); + idcard.data.tel = "" + idcard.data.nationality = idcard.data.nationality + if (idcard.status == 200) { + that.setData({ + userInfo: idcard.data, + showUpload: false, + currentImg: imgPath.tempFilePaths[0], + }); + that.setStorage(); + console.log(that.data.userInfo); + that.data.nationArray.forEach((item, index) => { + if (item.name.includes(that.data.userInfo.nationality)) { + that.setData({ + nationIndex: index, + }); + } + }); + if(that.data.userInfo.nationality.substr(that.data.userInfo.nationality.length-1,1) != '族' && that.data.userInfo.nationality.substr(that.data.userInfo.nationality.length-1,1) != ''){ + that.data.userInfo.nationality = that.data.userInfo.nationality + '族' + } + if (that.data.userInfo.sex == "男") { + that.data.sex[0].checked = true; + } else { + that.data.sex[1].checked = true; + } + that.setData({ + userInfo:that.data.userInfo, + sex: that.data.sex, + imgSrc: tempFilePaths[0], + }); + + + } else { + wx.showToast({ + duration: 2000, + title: "身份证未识别", + icon: "none", + mask: true, + }); + // console.log(1); + //app.showTips(that, res.data.msg); + } + wx.hideLoading(); + }, + fail: function (res) { + console.log(res); + }, + }); + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + let that = this; + console.log(app.globalData.user); + console.log(options); + + // 先统一给代理名字赋予登陆者的名称 + that.setData({ + agentName: app.globalData.user.userName, + agentId:app.globalData.user.agencyId + }); + if (app.isNotEmptyCheck(options.info)) { + // 如果随路由传过来的信息有更新,赋值新的数据 + console.log(JSON.parse(options.info)); + + this.setData({ + storeJobInfo:JSON.parse(options.info), + storeJobId: JSON.parse(options.info).id, + jobName: JSON.parse(options.info).jobName, + inputVal: JSON.parse(options.info).storeName || JSON.parse(options.info).aliasName, + storeId: JSON.parse(options.info).storeId, + }); + this.getPolicyByStoreJobId(this.data.storeJobId); + wx.setStorageSync('storeJobInfo', that.data.storeJobInfo) + } + if (app.isNotEmptyCheck(options.agencyInfo)) { + that.setData({ + agentName: JSON.parse(options.agencyInfo).agencyName, + agentId: JSON.parse(options.agencyInfo).id, + }); + } + if (app.isNotEmptyCheck(options.imgUrl)) { + let imgUrl = JSON.parse(options.imgUrl); + that.uploadIdcardImg(imgUrl); + } + }, + toJobAndAgencySelect(e) { + console.log(e); + console.log(this.data.userInfo); + this.setStorage().then(() => { + console.log('--------','isIntonavigation'); + wx.navigateTo({ + url: `../recordChoice/index?type=${e.currentTarget.dataset.type}`, + }); + }); + }, + showImg() { + wx.previewImage({ + current: this.data.currentImg, // 当前显示图片的 http 链接 + urls: [this.data.currentImg], // 需要预览的图片 http 链接列表 + }); + }, + deleteImg() { + var that = this; + wx.showModal({ + title: "提示", + content: "确定要删除图片吗?", + confirmColor: "#ff4400", + success(res) { + if (res.confirm) { + that.setData({ + imgSrc: "", + showUpload: true, + }); + } else if (res.cancel) { + console.log("用户点击取消"); + } + }, + }); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + // let src = wx.getStorageSync("src"); + // console.log(src); + }, + bothwayBind(e) { + console.log(e); + let type = `userInfo.${e.currentTarget.dataset.type}`; + this.setData({ + [type]: e.detail.value, + }); + }, + beforeFormSubmit: function (e) { + var that = this; + console.log(e); + that.setData({ + loading: true, + }); + + if (!that.data.switch1Checked) { + wx.showToast({ + title: "请先阅读并同意《服务协议》及《隐私政策》", + icon: "none", + duration: 2000, + }); + } else if (app.isEmptyCheck(wx.getStorageSync("townsManInfo"))) { + wx.showToast({ + duration: 2000, + title: "请补全个人信息", + icon: "none", + mask: true, + }); + that.setData({ + loading: false, + }); + } + else if (app.isEmptyCheck(wx.getStorageSync("townsManInfoJob"))) { + wx.showToast({ + duration: 2000, + title: "请补全岗位信息", + icon: "none", + mask: true, + }); + that.setData({ + loading: false, + }); + } + else { + setTimeout(() => { + that.formSubmit(e); + }, 1); + e.detail.value["idCardImageUrl"] = that.data.userInfo.idCardImageUrl; + } + }, + clear(){ + wx.removeStorageSync('townsManInfo') + }, + setStorage() { + let that = this; + wx.removeStorageSync('townsManInfo') + return new Promise((resolve, reject) => { + console.log(that.data.storeJobId); + let data = { ...that.data.userInfo, currentImg: that.data.currentImg }; + console.log(data); + wx.setStorage({ + key: "townsManInfo", + data, + }); + console.log(wx.getStorageSync("townsManInfo")); + resolve(); + }); + }, + formSubmit: function (e) { + var that = this; + console.log(e); + console.log(wx.getStorageSync("townsManInfo")) + console.log(wx.getStorageSync("townsManInfoJob")) + console.log(that.data.agentName+"+===+"+that.data.agentId) + that.setData({ + loading: true, + }); + // return + wx.showLoading({ + title: "提交中...", + mask: true, + }); + let userInfo = wx.getStorageSync("townsManInfo"); + let jobInfo = wx.getStorageSync("townsManInfoJob"); + + console.log(that.data.idInfo); + new Promise(function (resolve, reject) { + var paramData = {}; + paramData["userName"] = userInfo.name; + + if(userInfo.sex == '1' || userInfo.sex == '男'){ + paramData["sex"] = 1; + }else{ + paramData["sex"] = 2; + } + + paramData["age"] = userInfo.age; + paramData["nation"] = userInfo.nationality; + paramData["idCard"] = userInfo.num; + if(app.isNotEmptyCheck(userInfo.imgs)){ + paramData["imgs"] = userInfo.imgs.toString(); + } + + paramData["tel"] = userInfo.tel; + paramData["idCardImageUrl"] = userInfo.idCardImageUrl; + paramData["address"] = userInfo.address; + + paramData["agencyId"] = that.data.agentId; + paramData["storeJobId"] = jobInfo.storeJobId; + paramData["policy"] = jobInfo.policy; + paramData["interviewTime"] = jobInfo.currentTime; + paramData["receptionTime"] = jobInfo.currentTime2; + resolve(paramData); + }).then(function (paramData) { + console.log(paramData); + wx.request({ + url: app.globalData.ip + "/user/apply/order/addByAgency", + header: app.globalData.headers, + data: paramData, + method: "POST", + success: function (res) { + + wx.removeStorageSync('townsManInfo') + wx.removeStorageSync('townsManInfoJob') + + console.log(res); + if (res.data.status == 200) { + wx.hideLoading(); + wx.switchTab({ + url: "/pages/workBench/index", + }); + wx.showToast({ + duration: 2000, + title: "报名成功", + icon: "success", + mask: true, + }); + } + }, + }); + }); + // } + }, + inputTyping: function (e) { + this.setData({ + inputVal: e.detail.value, + }); + if (e.detail.value.length > 0) { + this.setData({ + searchListShow: true, + }); + this.getStoreList(e.detail.value); + } else { + this.setData({ + searchListShow: false, + }); + } + }, + + + + + + getPolicyByStoreJobId: function (storeJobId) { + var that = this; + // 60秒后重新获取验证码 + wx.request({ + url: app.globalData.ip + "/store/job/getPolicyByStoreJobId", + data: { + storeJobId: storeJobId, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + policy: res.data.data, + }); + } + }, + fail: function (res) { + console.log(res); + }, + }); + }, + + + + // getAgencyList: function (searchKeys) { + // var that = this; + // that.data.searchKeysA = searchKeys; + // // 60秒后重新获取验证码 + // wx.request({ + // url: app.globalData.ip + "/agency/getByPmdUserId", + // data: { + // agencyName: searchKeys, + // // pmdUserId: 101125 + // }, + // header: app.globalData.headers, + // method: "GET", + // success: function (res) { + // console.log(res); + // if (res.data.status == 200) { + // that.setData({ + // agentArray: res.data.data, + // }); + // } + // }, + // fail: function (res) {}, + // }); + // }, + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + let that = this; + console.log(that.data.managerRoleClassify); + console.log(app.globalData.loginUserInfo); + // 获取缓存的报名人信息 + let info = wx.getStorageSync("townsManInfo"); + console.log(info); + if (app.isNotEmptyCheck(info)) { + // 统一给代理岗位相关的字段赋值 + that.setData({ + userInfo: info, + + }); + // this.setData({ + // userInfo: info, + // currentImg: info.currentImg, + // currentTime: info.currentTime, + // }); + console.log(info); + if (info.sex == "1") { + info.sex = '男' + } else if (info.sex == "2") { + info.sex = '女' + } + + // info.sex = info.sex == '1' ? '男' : '女'; + if(info.nationality.substr(info.nationality.length-1,1) != '族' && info.nationality.substr(info.nationality.length-1,1) != ''){ + info.nationality = info.nationality + '族' + } + that.data.nationArray.forEach((item, index) => { + if (item.name.indexOf(info.nationality) > -1 && info.nationality != "") { + console.log("isin"); + that.setData({ + nationIndex: index, + }); + } + }); + console.log(that.data.nationIndex); + this.setData({ + userInfo:info, + sex: this.data.sex, + }); + } + + + let infoJob = wx.getStorageSync("townsManInfoJob"); + console.log(infoJob); + if (app.isNotEmptyCheck(infoJob)) { + // 统一给代理岗位相关的字段赋值 + that.setData({ + storeJobId: infoJob.storeJobId, + jobName: infoJob.jobName, + currentImg: infoJob.currentImg, + currentTime: infoJob.currentTime, + currentTime2: infoJob.currentTime2, + }); + this.getPolicyByStoreJobId(that.data.storeJobId); + + } + + // + // let info = wx.getStorageSync("townsManInfo"); + // if (app.isNotEmptyCheck(info)) { + // this.setData({ + // userInfo: info, + // currentImg: info.currentImg, + // currentTime: info.currentTime, + // }); + // console.log(info); + // if (info.sex == "男") { + // this.data.sex[0].checked = true; + // } else if (info.sex == "女") { + // this.data.sex[1].checked = true; + // } + // that.data.nationArray.forEach((item, index) => { + // if (item.name.indexOf(info.nationality) > -1 && info.nationality != "") { + // console.log("isin"); + // that.setData({ + // nationIndex: index, + // }); + // } + // }); + // console.log(that.data.nationIndex); + // this.setData({ + // sex: this.data.sex, + // }); + // } + // this.pickerTap(); + + + }, + switch1Change: function (e) { + console.log("radio发生change事件,携带value值为:", e.detail.value); + console.log(e.detail.value); + + var check = this.data.switch1Checked; + if (check) { + this.data.switch1Checked = false; + console.log("已取消选中"); + wx.showToast({ + title: "请先阅读并同意《服务协议》及《隐私政策》", + icon: "none", + duration: 2000, + }); + } else { + this.data.switch1Checked = true; + console.log("已选中"); + } + this.setData({ + switch1Checked: this.data.switch1Checked, + }); + + // if(!e.detail.value){ + + // } + }, + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function (e) { + console.log("isHide"); + console.log(e); + // this.setData({ + // userInfo: { + // name: "", + // address: "", + // age: "", + // nationality: "", + // sex: "", + // num: "", + // idCardImageUrl: "", + // }, + // }); + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + // wx.removeStorageSync("townsManInfo"); + // wx.switchTab({ + // url: "../firstBill/index", + // }); + // console.log(wx.getStorageSync("townsManInfo")); + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () {}, +}); diff --git a/pages/newEnroll/index.json b/pages/newEnroll/index.json new file mode 100644 index 0000000..f6d3a3a --- /dev/null +++ b/pages/newEnroll/index.json @@ -0,0 +1,4 @@ +{ + "navigationBarTitleText": "老乡报名信息", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/newEnroll/index.wxml b/pages/newEnroll/index.wxml new file mode 100644 index 0000000..f0c8ccc --- /dev/null +++ b/pages/newEnroll/index.wxml @@ -0,0 +1,134 @@ + +
+ + + + + + + + 拍照或相册上传 + 系统智能识别并自动填写 + + + + + + + + + + {{userInfo.name||'姓名'}}/{{userInfo.sex||'性别'}}/{{userInfo.age||'年龄'}}/{{userInfo.nationality || ''+'族'}} + + {{userInfo.address}} + + + + + + {{userInfo.num == '-' || userInfo.num == '' || userInfo.num == null ? '-' : userInfo.num}} + + + + + + {{userInfo.tel == '-' || userInfo.tel == '' || userInfo.tel == null ? '-' : userInfo.tel}} + + + + 编辑 + + + + + 报名岗位 + + {{jobName}} + + + + + + + + 面试时间 + + + {{currentTime}} + + + + + 接待时间 + + + {{currentTime2}} + + + + + 政策 + + + {{policy}} + + + + 编辑 + + + + + + + + + + + + + + + + {{agentName}} + + + + + + {{agentName}} + + + + + + + + + + + + 我已阅读并同意 + 《用户服务协议》 + 及 + 《隐私政策》 + + + + + + + + + + + +
\ No newline at end of file diff --git a/pages/newEnroll/index.wxss b/pages/newEnroll/index.wxss new file mode 100644 index 0000000..49fc222 --- /dev/null +++ b/pages/newEnroll/index.wxss @@ -0,0 +1,176 @@ +page{ + font-size: 16px; + /* padding-bottom: 80px; */ +} + +.weui-cells__group_form { + margin-top: 10px; +} +.weui-cells__group_form .weui-label { + color: rgba(0, 0, 0, 0.65); +} +.weui-input::placeholder { + color: #ccc; +} +.weui-cells__group_form .weui-cell { + padding: 16px 16px; +} +.weui-cells__group_form .weui-cells:after, +.weui-cells__group_form .weui-cell:before, +.weui-cells__group_form .weui-cells:before { + left: 10px; + right: 10px; +} +.br8 { + border-radius: 8px; +} +.weui-cells__group_form .weui-cell__hd { + padding-right: 0; +} + +.weui-cells__group_form .weui-cell.weui-cell_vcode { + padding: 11px 10px; +} +.weui-input { + min-height: 22px; + height: 22px; + line-height: 22px; +} +.weui-uploader__file, +.weui-uploader__input-box { + /* width: calc((100vw - 105px - 40px) / 3); + height: calc((100vw - 105px - 40px) / 3); */ + border-radius: 4px; + width: 76px; + height: 76px; +} +.weui-cells__group_form .weui-vcode-btn { + width: 68px; + height: 26px; + background-color: #fff; + border-radius: 13px; + font-size: 14px; + color: #027aff; + text-align: center; + padding: 0; + font-weight: 400; + line-height: 26px; +} +.weui-label.c085 { + color: #333; + /* font-weight: 500; */ +} +.weui-cell{ + align-items: flex-start; +} +.weui-cells__group_form .weui-cells:before { + border-top: 0; +} + +.weui-cell.weui-cell_active.weui-cell_access { + padding: 12px 10px; +} +button[disabled]:not([type]) { + background-color: #ddd; +} + +.searchbar-result { + position: absolute; + z-index: 9; + width: calc(100% - 20px); + max-height: 200px; + overflow: auto; +} +.weui-cells:after, +.weui-cells:before { + height: 0; + border-top: 0; + border-bottom: 0; +} +.weui-input { + text-align: right; +} +.topViewN { + height: 66px; + background: #fff4f1; + border: 1px solid #ff8255; + border-radius: 6px; + display: flex; + padding: 0 16px; + line-height: 66px; +} +.weui-cell__bd { + color: #666; +} +.imgSpanIcon { + width: 23px; + height: 18px; +} +.imgSpanIcon1 { + width: 22px; + height: 22px; + position: absolute; + right: -11px; + top: -11px; +} + +.topImg { + position: absolute; + width: 100px; + height: 100px; + background: rgba(0, 0, 0, 0.48); + border-radius: 4px; +} + +button.newBtn { + width: 200px; + background-color: var(--color-ysd); +} + +.quickapply { + position: relative; + display: flex; + align-items: center; + justify-content: space-between; + min-height: 54px; + margin-bottom: 0; + padding: 12px 10px 12px 14px; + /* padding-bottom: 48px; */ + background-color: #fff; + /* border-radius: 6px; */ +} + +.quickapply .upload .t-icon { + width: 46px; + height: 46px; + margin-right: 10px; + background-repeat: no-repeat; +} +.quickapply .upload { + display: flex; + align-items: center; +} +.quickapply .info view:first-child { + font-size: 17px; + font-weight: 500; + color: #333; +} +.quickapply .info view:last-child { + font-size: 14px; + color: #ccc; +} +.quickapply .idCardPreview ,.quickapply .idCardPreview image{ + width: 28px; + height: 28px; + border-radius: 2px; +} +.quickapply .idCardPreview .t-icon { + width: 100%; + height: 100%; +} +.input__placeholder{ + color: #ccc; +} +.weui-input{ + color: #333; +} diff --git a/pages/returnMessage/index.js b/pages/returnMessage/index.js new file mode 100644 index 0000000..04f3104 --- /dev/null +++ b/pages/returnMessage/index.js @@ -0,0 +1,106 @@ +// pages/returnMessage/index.js +const app = getApp(); +Page({ + /** + * 页面的初始数据 + */ + data: { + success: false, + fail: false, + from: "", + messageInfo: "", + status: null, + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + console.log(options); + let type = options.type; + this.setData({ + [type]: true, + messageInfo: options.msg, + from: options.from, + }); + if (options.status) { + this.setData({ + status: options.status, + }); + } + console.log(this.data); + // if(app.isNotEmptyCheck(wx.getStorageSync('agencyId'))){ + // wx.removeStorage('agencyId') + // } + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() {}, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() {}, + finish() { + // if (wx.getStorageSync("comeFromPage")) { + // let from = wx.getStorageSync("comeFromPage"); + // wx.navigateTo({ + // url: `/pages/${from}/index`, + // }); + // console.log(wx.getStorageSync("comeFromPage")); + // } + wx.switchTab({ + url: '../index/index', + }) + // wx.navigateBack({ + // delta: 2, + // }); + }, + /** + * 点击返回我的 + * + * + */ + toMine(e) { + console.log(e); + wx.switchTab({ + url: '../index/index', + }) + // if (this.data.from == "bill") { + // wx.reLaunch({ + // url: "/pages/firstBill/index", + // }); + // } else if (this.data.from == "real") { + // wx.reLaunch({ + // url: "/pages/mine/index", + // }); + // } + }, +}); diff --git a/pages/returnMessage/index.json b/pages/returnMessage/index.json new file mode 100644 index 0000000..da7c217 --- /dev/null +++ b/pages/returnMessage/index.json @@ -0,0 +1,5 @@ +{ + "usingComponents": {}, + "navigationBarTitleText": "" + +} \ No newline at end of file diff --git a/pages/returnMessage/index.wxml b/pages/returnMessage/index.wxml new file mode 100644 index 0000000..573b5fb --- /dev/null +++ b/pages/returnMessage/index.wxml @@ -0,0 +1,10 @@ + + + + {{messageInfo}} + + {{'错误代码:' + status}} + + 完成 + + diff --git a/pages/returnMessage/index.wxss b/pages/returnMessage/index.wxss new file mode 100644 index 0000000..d9db717 --- /dev/null +++ b/pages/returnMessage/index.wxss @@ -0,0 +1,15 @@ +.container{ + display: flex; + flex-direction: column; + justify-content: start; + height: 100%; + text-align: center; +} +.iconfont{ + font-size: 70px; + margin-top: 100px; +} +.loginOut{ + margin: 0 auto; + margin-top: 120px; +} \ No newline at end of file diff --git a/pages/secret/index.js b/pages/secret/index.js new file mode 100644 index 0000000..0587f42 --- /dev/null +++ b/pages/secret/index.js @@ -0,0 +1,66 @@ +// pages/secret/index.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () { + + } +}) \ No newline at end of file diff --git a/pages/secret/index.json b/pages/secret/index.json new file mode 100644 index 0000000..b744980 --- /dev/null +++ b/pages/secret/index.json @@ -0,0 +1,4 @@ +{ + "navigationBarTitleText": "隐私政策", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/secret/index.wxml b/pages/secret/index.wxml new file mode 100644 index 0000000..e4de075 --- /dev/null +++ b/pages/secret/index.wxml @@ -0,0 +1,124 @@ + + 隐私政策您使用或继续使用我们的服务,即意味着同意我们按照本《隐私政策》收集、使用、储存和分享您的相关信息。 + + \n我们可能收集的信息 + 我们提供服务时,可能会收集、储存和使用下列与您有关的信息。如果您不提供相关信息,可能无法享受我们提供的某些服务,或者无法达到相关服务拟达到的效果。 + + \n您提供的信息 + 您在使用我们的服务时,向我们提供的相关个人信息,例如姓名、性别、电话号码、身份证号等; + 您通过我们的服务向其他方提供的共享信息,以及您使用我们的服务时所储存的信息。 + + \n其他方分享的您的信息 + 其他方使用我们的服务时所提供有关您的共享信息。 + + \n我们获取的您的信息 + 您使用服务时我们可能收集如下信息: + 日志信息,指您使用我们的服务时,系统可能通过cookies、web beacon或其他方式自动采集的技术信息,包括: + 设备或软件信息,例如您的移动设备、网页浏览器或用于接入我们服务的其他程序所提供的配置信息、您的IP地址和移动设备所用的版本和设备识别码; + 在使用我们服务时搜索或浏览的信息,例如您使用的网页搜索词语、访问的社交媒体页面url地址,以及您在使用我们服务时浏览或要求提供的其他信息和内容详情; + 有关您曾使用的移动应用(APP)和其他软件的信息,以及您曾经使用该等移动应用和软件的信息; + 位置信息,指您开启设备定位功能并使用我们基于位置提供的相关服务时,收集的有关您位置的信息,包括: + 您通过具有定位功能的移动设备使用我们的服务时,通过GPS或WiFi等方式收集的您的地理位置信息; + 您或其他用户提供的包含您所处地理位置的实时信息,例如您提供的账户信息中包含的您所在地区信息,您或其他人上传的显示您当前或曾经所处地理位置的共享信息; + 您可以通过关闭定位功能,停止对您的地理位置信息的收集,不过可能会影响您使用天气及其他部分功能。 + + \n我们可能如何使用信息 + 我们可能将在向您提供服务的过程之中所收集的信息用作下列用途: + \n 1.向您提供服务; + \n 2.在我们提供服务时,用于身份验证、客户服务、安全防范、诈骗监测、存档和备份用途,确保我们向您提供的产品和服务的安全性; + \n 3.帮助我们设计新服务,改善我们现有服务; + \n 4.使我们更加了解您如何接入和使用我们的服务,从而针对性地回应您的个性化需求,例如语言设定、位置设定、个性化的帮助服务和指示,或对您和其他用户作出其他方面的回应; + 软件认证或管理软件升级; + + \n让您参与有关我们产品和服务的调查。 + 为了让您有更好的体验、改善我们的服务或您同意的其他用途,在符合相关法律法规的前提下,我们可能将通过某一项服务所收集的信息,以汇集信息或者个性化的方式,用于我们的其他服务。例如,在您使用我们的一项服务时所收集的信息,可能在另一服务中用于向您提供特定内容,或向您展示与您相关的、非普遍推送的信息。如果我们在相关服务中提供了相应选项,您也可以授权我们将该服务所提供和储存的信息用于我们的其他服务。 + + \n您如何访问和控制自己的个人信息 + 我们将尽一切可能采取适当的技术手段,保证您可以访问、更新和更正自己的注册信息或使用我们的服务时提供的其他个人信息。在访问、更新、更正和删除前述信息时,我们可能会要求您进行身份验证,以保障账户安全。 + + \n我们可能分享的信息 + 除以下情形外,未经您同意,我们不会与任何第三方分享您的个人信息: + 我们可能将您的个人信息与第三方服务供应商、承包商及代理(例如代表我们发出电子邮件或推送通知的通讯服务提供商、为我们提供位置数据的地图服务供应商)分享(他们可能并非位于您所在的法域),用作下列用途: + \n 向您提供我们的服务; + \n 实现“我们可能如何使用信息”部分所述目的; + \n 履行我们在本《隐私政策》中的义务和行使我们的权利; + \n 理解、维护和改善我们的服务。 + \n 如我们与任何上述第三方分享您的个人信息,我们将努力确保该等第三方在使用您的个人信息时遵守本《隐私政策》及我们要求其遵守的其他适当的保密和安全措施。 + \n 随着我们业务的持续发展,我们有可能进行合并、收购、资产转让或类似的交易,您的个人信息有可能作为此类交易的一部分而被转移。我们将在转移前通知您。 + \n 我们还可能为以下需要而保留、保存或披露您的个人信息: + \n 遵守适用的法律法规; + \n 遵守法院命令或其他法律程序的规定; + \n 遵守相关政府机关的要求; + \n 为遵守适用的法律法规、维护社会公共利益,或保护我们的客户、我们、其他用户的人身和财产安全或合法权益所合理必需的用途。 + + \n信息安全 + 我们仅在本《隐私政策》所述目的所必需的期间和法律法规要求的时限内保留您的个人信息。 我们使用各种安全技术和程序,以防信息的丢失、不当使用、未经授权阅览或披露。例如,在某些服务中,我们将利用加密技术(例如SSL)来保护您提供的个人信息。但请您理解,由于技术的限制以及可能存在的各种恶意手段,在互联网行业,即便竭尽所能加强安全措施,也不可能始终保证信息百分之百的安全。您需要了解,您接入我们的服务所用的系统和通讯网络,有可能因我们可控范围外的因素而出现问题。 + + \n您分享的信息 + 我们的多项服务,可让您不仅与自己的社交网络,也与使用该服务的所有用户公开分享您的相关信息,例如,您在我们的服务中所上传或发布的信息(包括您公开的个人信息、您建立的名单)、您对其他人上传或发布的信息作出的回应,以及包括与这些信息有关的位置数据和日志信息。使用我们服务的其他用户也有可能分享与您有关的信息(包括位置数据和日志信息)。特别是,我们的社交媒体服务,是专为使您与世界各地的用户共享信息而设计,您可以使共享信息实时、广泛地传递。只要您不删除共享信息,有关信息会一直留存在公共领域;即使您删除共享信息,有关信息仍可能由其他用户或不受我们控制的非关联第三方独立地缓存、复制或储存,或由其他用户或该等第三方在公共领域保存。 + \n 因此,请您谨慎考虑通过我们的服务上传、发布和交流的信息内容。在一些情况下,您可通过我们某些服务的隐私设定来控制有权浏览您共享信息的用户范围。如要求从我们的服务中删除您的相关信息,请通过该等特别服务条款提供的方式操作。 + + \n您分享的敏感个人信息 + 某些个人信息因其特殊性可能被认为是敏感个人信息,例如您的拍照、相机等。相比其他个人信息,敏感个人信息受到更加严格的保护。 + \n 请注意,您在使用我们的服务时所提供、上传或发布的内容和信息,可能会泄露您的敏感个人信息。您需要谨慎地考虑,是否在使用我们的服务时披露相关敏感个人信息。 + 您同意按本《隐私政策》所述的目的和方式来处理您的敏感个人信息。 + + \n收集信息类型与用途 + 平台出于对本政策所述的以下目的,收集和使用您的个人信息。除非为实现基本业务功能或按照相关法律法规必须收集,拒绝提供以下信息仅会使你无法使用相关特定功能,但不影响您正常使用河南省老干部大学的其他功能: + \n 记住您的身份:例如:cookies和web beacon有助于我们辨认您作为我们的注册用户的身份,或保存您向我们提供的有关您的喜好或其他信息; + \n 版本升级:版本升级使用了BuglySDk进行管理。 + \n 展示信息:展示职位详情、用户协议、隐藏政策,使用了webview的腾讯浏览服务SDK来完成。 + + \n广告服务 + 我们可能使用您的相关信息,向您提供与您更加相关的广告。 + 我们也可能使用您的信息,通过我们的服务、电子邮件或其他方式向您发送营销信息,提供或推广我们或第三方的如下商品和服务: + \n 我们的服务,我们的关联单位和合作伙伴的商品或服务,包括即时通讯服务、网上媒体服务、互动娱乐服务、社交网络服务、付款服务、互联网搜索服务、位置和地图服务、应用软件和服务、数据管理软件和服务、网上广告服务、互联网金融,以及其他社交媒体、娱乐、电子商务、资讯和通讯软件或服务(统称“互联网服务”); + \n 第三方互联网服务供应商,以及与下列有关的第三方商品或服务:食物和餐饮、体育、音乐、电影、电视、现场表演及其他艺术和娱乐、书册、杂志和其他刊物、服装和配饰、珠宝、化妆品、个人健康和卫生、电子、收藏品、家用器皿、电器、家居装饰和摆设、宠物、汽车、酒店、交通和旅游、银行、保险及其他金融服务、会员积分和奖励计划,以及我们认为可能与您相关的其他商品或服务。 + \n 如您不希望我们将您的个人信息用作前述广告用途,您可以通过我们在广告中提供的相关提示,或在特定服务中提供的指引,要求我们停止为上述用途使用您的个人信息。 + + \n我们可能向您发送的邮件和信息 + 邮件和信息推送 + \n 您在使用我们的服务时,我们可能使用您的信息向您的设备发送电子邮件、新闻或推送通知。如您不希望收到这些信息,可以按照我们的相关提示,在设备上选择取消订阅。 + \n 与服务有关的公告 + \n 我们可能在必要时(例如因系统维护而暂停某一项服务时)向您发出与服务有关的公告。您可能无法取消这些与服务有关、性质不属于推广的公告。 + \n 隐私政策的适用例外 + \n 我们的服务可能包括或链接至第三方提供的社交媒体或其他服务(包括网站)。例如: + \n 您利用 “分享”键将某些内容分享到我们的服务,或您利用第三方连线服务登录我们的服务。这些功能可能会收集您的相关信息(包括您的日志信息),并可能在您的电脑装置cookies,从而正常运行上述功能; + \n 我们通过广告或我们服务的其他方式向您提供链接,使您可以接入第三方的服务或网站。 + \n 该等第三方社交媒体或其他服务可能由相关的第三方或我们运营。您使用该等第三方的社交媒体服务或其他服务(包括您向该等第三方提供的任何个人信息),须受该第三方的服务条款及隐私政策(而非《通用服务条款》或本《隐私政策》)约束,您需要仔细阅读其条款。本《隐私政策》仅适用于我们所收集的信息,并不适用于任何第三方提供的服务或第三方的信息使用规则,我们对任何第三方使用由您提供的信息不承担任何责任。 + \n 隐私政策的适用范围 + \n 除某些特定服务外,我们所有的服务均适用本《隐私政策》。这些特定服务将适用特定的隐私政策。针对某些特定服务的特定隐私政策,将更具体地说明我们在该等服务中如何使用您的信息。该特定服务的隐私政策构成本《隐私政策》的一部分。如相关特定服务的隐私政策与本《隐私政策》有不一致之处,适用该特定服务的隐私政策。 + 请您注意,本《隐私政策》不适用于以下情况: + 通过我们的服务而接入的第三方服务(包括任何第三方网站)收集的信息; + 通过在我们服务中进行广告服务的其他公司或机构所收集的信息。 + + \n变更 + 我们可能适时修订本《隐私政策》的条款,该等修订构成本《隐私政策》的一部分。如该等修订造成您在本《隐私政策》下权利的实质减少,我们将在修订生效前通过在主页上显著位置提示或向您发送电子邮件或以其他方式通知您。在该种情况下,若您继续使用我们的服务,即表示同意受经修订的本《隐私政策》的约束。 + + \n用户协议 + (以下简称“本平台”)按照下列条款与条件提供信息和产品,您在本协议中亦可被称为“用户”,以下所述条款和条件将构成您与本平台,就您使用提供的内容所达成的全部协议(以下称“本协议”)。 + + \n权利声明 + 1、本平台及其关联单位(关联单位指与本平台存在直接或间接管理关系)享有并保留以下各项内容完整的、不可分割的所有权及/或知识产权: + \n (1)相关的软件、技术、程序、代码、用户界面等; + \n (2)本服务相关的商标、图形标记。 + \n 2、本平台提供的服务内容中所涉及的文字、软件、声音、图片、动画、录像、图表等,均受相关知识产权法以及其他相关法律的保护。未经本平台或者其他相关权利人授权,用户不得复制、使用、修改、摘编、翻译、发行,第三方未经本平台及/或其相关权利人的书面许可,不得以任何方式擅自进行使用。 + + \n责任限制 + 1、本平台向用户提供的服务均是在依"现状"提供,本平台在此明确声明对本服务不作任何明示或暗示的保证,包括但不限于对服务的可适用性、准确性、及时性、可持续性等。 + \n 2、用户理解并同意自行承担使用本服务的风险,且用户在使用本服务时,应遵循中国法律的相关规定,由于用户行为所造成的任何损害和后果,本平台均不承担除法律有明确规定外的责任。 + \n 3、不论在何种情况下,本平台均不对由于网络连接故障、通讯线路、第三方网站、电脑硬件等任何原因给用户造成的任何损失承担除法律有明确规定外的责任。 + + \n用户行为规范 + 1、用户在本网站注册时,不得使用虚假身份信息。用户应当妥善保存其账户信息和密码,由于用户泄密所导致的损失需由用户自行承担。如用户发现他人冒用或盗用其账户或密码,或其账户存在其他未经合法授权使用之情形,应立即以有效方式通知本平台。用户理解并同意本平台有权根据用户的通知、请求或依据判断,采取相应的行动或措施,包括但不限于冻结账户、限制账户功能等,本平台对采取上述行动所导致的损失不承担除法律有明确规定外的责任。 + \n 2、用户在使用本服务时须遵守法律法规,不得利用本服务从事违法违规行为,包括但不限于: + \n (1)发布、传送、传播、储存危害国家安全统一、破坏社会稳定、违反公序良俗、侮辱、诽谤、淫秽、暴力以及任何违反国家法律法规的内容; + \n (2)发布、传送、传播、储存侵害他人知识产权、商业秘密等合法权利的内容; + \n (3)恶意虚构事实、隐瞒真相以误导、欺骗他人; + \n (4)发布、传送、传播广告信息及垃圾信息; + \n (5)其他法律法规禁止的行为。 + \n 3、用户不得利用本服务进行任何有损本平台及其关联单位之权利、利益及商誉,或其他用户合法权利之行为。 + \n 4、用户不得基于本服务从事侵害本平台合法权益的行为。如有违反,本平台将依据中国现行法律法规及本平台的相关规定予以处理。 + \n 5、用户不得从事任何利用本平台平台系统漏洞进行有损其他用户、本平台或互联网安全的行为。 + \n 6、用户知悉并确认,本平台通过公告、邮件、短信、账户通知以及用户在账户中登记的即时通讯工具等方式,向用户发出关于本服务的通知、规则、提示等信息,均为有效通知。该等信息一经公布或发布,即视为已送达至用户。 + diff --git a/pages/secret/index.wxss b/pages/secret/index.wxss new file mode 100644 index 0000000..a7319b4 --- /dev/null +++ b/pages/secret/index.wxss @@ -0,0 +1 @@ +/* pages/secret/index.wxss */ \ No newline at end of file diff --git a/pages/secret/secret.zip b/pages/secret/secret.zip new file mode 100644 index 0000000..c06bee4 Binary files /dev/null and b/pages/secret/secret.zip differ diff --git a/pages/serviceTerm/index.js b/pages/serviceTerm/index.js new file mode 100644 index 0000000..c1226c8 --- /dev/null +++ b/pages/serviceTerm/index.js @@ -0,0 +1,66 @@ +// pages/serviceTerm/index.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () { + + } +}) \ No newline at end of file diff --git a/pages/serviceTerm/index.json b/pages/serviceTerm/index.json new file mode 100644 index 0000000..9d79919 --- /dev/null +++ b/pages/serviceTerm/index.json @@ -0,0 +1,4 @@ +{ + "navigationBarTitleText": "用户服务协议", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/serviceTerm/index.wxml b/pages/serviceTerm/index.wxml new file mode 100644 index 0000000..872ea5f --- /dev/null +++ b/pages/serviceTerm/index.wxml @@ -0,0 +1,333 @@ + + 欢迎您阅读本公司平台用户服务协议! +本协议发布之日起,本公司的网站平台、软件系统、APP、公众号、小程序等均适用本平台服务协议指本协议。 +\n各服务条款前所列索引关键词仅为帮助您理解该条款表达的主旨之用,不影响或限制本协议条款的含义或解释。为维护您自身权益,建议您仔细阅读各条款具体表述。 +0.1【审慎阅读】录流程中,点击同意本协议之前,应当认真阅读(未成年人应当在监管人陪同下阅读)本协议。请您务必审慎阅读、充分理解各条款内容,特别是免除或者限制责任的条款、法律适用和争议解决条款。免除或者限制责任的条款将以粗体下划线标识,您应重点阅读。如您对协议有任何疑问,可向本公司平台客服咨询。 + +0.2【签约动作】当您按照登录、注册页面提示填写信息、阅读并同意本协议且完成全部注册程序后,即表示已充分阅读、理解并接受本协议的全部内容,并与本公司应用达成一致,成为本公司用户。阅读本协议的过程中,如果您不同意本协议或其中任何条款约定,您应立即停止注册、登录程序。 + +0.3【协议变更】在您签署本协议之后,此文本可能因国家政策、产品以及履行本协议的环境发生变化而进行修改,修改后的协议发布在本公司平台上,并以本协议第九条约定的方式通知您。若您对修改后的协议有异议的,请立即停止登录、使用本公司平台产品及服务,若您登录或继续使用本公司平台产品或服务,视为对修改后的协议予以认可。 + +0.4【补充协议】由于互联网高速发展,您与本应用签署的协议列明的条款并不能完整罗列并覆盖您与本公司的所有权利与义务,现有的约定也不能保证完全符合未来发展的需求。因此,本应用法律声明及隐私权政策、规则均为本协议的补充协议,与本协议不可分割且具有同等法律效力。如您使用本公司服务,视为您同意上述补充协议。各补充协议的变更效力参照0.3款的约定。 + +\n一、 定义 + +本公司平台: 指包括网站官网,APP、公众号等网站及客户端。 + +本公司平台规则: 包括所有在应用平台上已经发布及后续发布的全部规则、解读、实施细则、产品流程说明、公告等内容。 + +用户: 下称“您”或“用户”,是指注册、登录、使用该应用平台的个人或组织,包括但不限于该应用平台入驻机构。 + + +\n二、 协议范围 + +2.1 签约主体 + +【签约主体】本协议由您与本应用平台经营者共同订立,本协议对您与本应用平台经营者均具有约束力。 + +【经营者信息】本应用平台经营者是指经营本应用平台的法律主体。 + +【经营者变更】本协议项下,本应用平台经营者可能根据平台的业务调整而发生变更,变更后的平台经营者与您共同履行本协议并向您提供服务,本应用平台经营者的变更不会影响您本协议项下的权益。 + +\n三、 账号注册与使用 + +3.1 用户资格 + +【用户资格】您确认,在您开始注册程序使用本应用平台服务前,您应当具备中华人民共和国法律规定的与您行为相适应的民事行为能力。若您不具备前述与您行为相适应的民事行为能力,则您及您的监护人应依照法律规定承担因此而导致的一切后果。 + +此外,您还需确保您符合中国法律的各项规定,不是任何国家、国际组织或者地域法律、规则限制的对象,否则您可能无法正常注册及使用本应用平台服务。 + +3.2 用户账号说明 + +【用户账号获得】 当您使用您的第三方平台账号,登录本应用平台,即在本应用平台创建等同于您的第三方平台账号的本应用账号。在您的应用账号绑定您的手机号后,您的手机号也具有您的本应用账号的同等效力。 + +【用户账号使用】 您有权使用您设置或确认的本应用用户账号登录本应用平台,以及通过机构ID登录本应用。 + +本应用平台只允许每位用户使用一个本应用平台账号。 + +由于您的本应用账号关联您的个人信息及本应用平台的商业信息,您的本应用账号仅限于您本人使用。未经本应用平台同意,您直接或间接授权第三方使用您本应用账号的行为无效。如经本应用平台判断,您的本应用账号的使用可能危及您的账号安全或本应用平台信息安全的,本应用平台可拒绝提供相应服务或终止本协议。 + +【用户账号转让】 您在本应用平台的账号不得以任何方式转让,否则本应用平台有权追究您的违约责任,且由此产生的一切责任均由您承担。 + +【实名认证】 为使您更好地使用本应用平台的各项服务,保障您的账号安全,本应用课可要求您按我国法律规定完成实名认证。 + +【不活跃账号回收】 如您的账号同时符合以下条件,则本应用可回收您的账号,您的账号将不能再登录本应用平台,并按本协议第十条的约定处理: + +(一)未按要求完成实名认证; + +(二)连续70天未用于登录本应用平台; + +(三)不存在未到期的有效业务。 + +3.3 用户信息管理 + +3.3.1 真实合法 +【名称合法】 您在本应用平台设置的以下名称,包括但不限于用户名称、机构名称等,不得违反国家法律法规以及本应用平台关于此类名称的管理规定,否则本应用平台可限制、禁止您使用本应用平台的相关服务,或按照本协议的违约处理措施进行处理。 + +3.3.2 更新维护 + +【信息更新】 您应当及时更新您提供的信息,在法律有明确规定要求本应用平台作为网络服务提供者必须对用户的信息进行核实的情况下,本应用将依法不时地对您的信息进行检查核实,您应当配合提供最新、真实、完整、有效的信息。 + +【信息维护】 存在以下任一条件时,本应用可向您发出询问或要求整改的通知,并要求您进行重新认证,直至中止、终止对您提供部分或全部本应用平台服务,本应用对此不承担责任,您将承担对您自身、他人及本应用造成的全部损失与不利后果。 + +(一)本应用按您最后一次提供的信息与您联系未果; + +(二)您未按本应用的要求及时提供信息; + +(三)您提供的信息存在明显不实; + +(四)司法行政机关核实您提供的信息无效。 + +3.4 账号安全规范 + +【账号安全保管义务】 您通过第三方平台账号或手机号登录本应用平台,本应用任何时候均不会主动要求您提供您的第三方平台账号的密码或手机短信验证码。因此,建议您务必保管好您的第三方平台账号和手机,并确保您在每个上网时段结束时退出登录并以正确步骤离开本应用平台。 + +【账号损失】 因您主动泄露账号或因您遭受他人攻击、诈骗等行为导致的损失及后果,本应用对此不承担责任,您应通过司法、行政等救济途径向侵权行为人追偿。 + +【账号行为责任自负】 除本应用存在过错外,您应对您账号项下的所有行为结果负责。 + +【日常维护须知】 如发现任何未经授权使用您账号登录本应用平台或其他可能导致您账号遭窃、遗失的情况,建议您立即通知本应用。您理解本应用对您的任何请求采取行动均需要合理时间,且本应用应您的请求而采取的行动可能无法避免或阻止侵害后果的形成或扩大,除本应用存在法定过错外,本应用不承担责任。 + +\n四、 本应用平台服务及规范 + +4.1 禁止行为 + +【禁止行为】 您不得在本应用平台上从事以下行为: + +(一)利用本应用平台发表、传送、传播、储存危害国家安全、国家统一、社会稳定的内容; + +(二)利用本应用平台发表侮辱、诽谤、色情、暴力、引起他人不安及任何违反国家法律法规政策的内容; + +(三)利用本应用平台发表、传送、传播、储存侵害他人知识产权、商业秘密、肖像权、隐私权等合法权利的内容; + +(四)利用本应用平台发表欺诈、虚假、不准确、存在误导性的信息,或冒充、利用他人名义进行活动; + +(五)利用本应用平台从事任何违法犯罪活动; + +(六)发布破坏、篡改、删除、影响本应用平台任一系统正常运行或未经授权秘密获取本应用平台及其他用户数据、个人资料的病毒、木马、爬虫等恶意软件、程序代码; + +(七)发布其他违背社会公共利益、公共道德或依据本协议或本应用平台规则不适合在本应用平台上发布的信息; + +(八)在本应用平台上贬低、诋毁竞争对手,干扰本应用平台上进行的任何交易、活动,或以任何方式干扰或试图干扰本应用平台的正常运作; + +(九)其他违反中华人民共和国相关法律法规及国家政策的行为。 + +4.2 交易争议处理 + +【交易争议处理】 您在本应用平台交易过程中与其他用户发生争议的,您或其他用户中的任何一方均有权选择以下途径解决: + +(一)与争议相对方自主协商; + +(二)向本应用平台客服申请协助解决争议; + +(三)请求消费者协会或者其他依法成立的调解组织调解; + +(四)向有关行政部门投诉; + +(五)根据与争议相对方达成的仲裁协议(如有)提请仲裁机构仲裁; + +(六)向人民法院提起诉讼。 + +4.3 免责条款 + +【不可抗力及第三方原因】 本应用依照法律规定履行基础保障义务,但对于下述原因导致的合同履行障碍、履行瑕疵、履行延后或履行内容变更等情形,本应用不承担相应的违约责任: + +(一)因自然灾害、罢工、暴乱、战争、政府行为、司法行政命令等不可抗力因素; + +(二)因电力供应故障、通讯网络故障等公共服务因素或网络流量拥堵、黑客攻击等第三人因素; + +(三)在本应用已尽善意管理的情况下,因常规或紧急的设备与系统维护、设备与系统故障、网络信息与数据安全等因素。 + +\n五、 用户信息的保护及例外 + +5.1 用户信息保护 + +【信息保护注意事项】 本应用非常重视用户个人信息的保护,在您使用本应用提供的服务时,您同意本应用按照在本应用平台上公布的隐私权政策收集、存储、保护、使用和披露您的个人信息。本应用希望通过隐私权政策向您清楚地介绍本应用对您个人信息的处理方式,因此本应用建议您完整地阅读隐私权政策(详情见本应用帮助手册),以帮助您更好地保护您的隐私权。除此以外,您需要特别注意以下几点: + +(一)请您勿在使用本应用平台服务过程中透露您的各类财产帐户、银行卡、信用卡、第三方支付账号及对应密码等重要资料,否则由此带来的任何损失由您自行承担; + +(二)您的注册信息是本应用平台的重要保护内容,本应用将采取必要的技术保护措施。但由于互联网的开放性以及技术的迅猛发展,可能因第三方因素导致您的信息泄漏,本应用平台对此不承担责任; + +(三)本应用平台的服务具有公开性,若您将个人隐私信息上传、发表至本应用平台,或通过本应用平台传播给其他人,由此引起隐私的泄漏,本应用对此不承担责任; + +(四)由于您将账号信息告知他人或与他人共享账号,由此导致的任何个人隐私的泄漏,本应用对此不承担责任; + +(五)若您是未成年人,您在本应用平台上发表或上传信息前,应咨询您的监护人并取得监护人的同意。 + +5.2 第三方合作信息互通 + +【第三方合作信息互通】 为提升本应用的质量,本应用平台可能会与第三方合作共同向您提供相关的本应用服务,此类合作可能需要包括但不限于本应用用户数据与第三方用户数据的互通。在此情况下,您知晓并同意如该第三方同意承担与本应用平台同等的保护用户隐私的责任,则本应用平台有权将您的注册资料等提供给该第三方,并与第三方约定您的数据仅为双方合作的本应用之目的使用; + +并且,本应用将对该等第三方使用您的数据的行为进行监督和管理,尽一切合理努力保护您的个人信息的安全性。 + +5.3 用户信息保护的例外 + +【信息保护例外】 保护用户隐私和其他个人信息是本应用的一项基本政策,本应用保证不会将您的注册资料及您在使用本应用平台时存储在本应用的非公开内容用于任何用途,但下列情况除外: + +(一)您自行在网络上公开的信息或其他已合法公开的个人信息; + +(二)以合法渠道获取的个人信息; + +(三)事先获得您的明确授权; + +(四)为维护社会公共利益; + +(五)本应用或学校、科研机构等基于公共利益为学术研究或统计的目的,且公开方式不足以识别特定自然人; + +(六)您侵害本应用合法权益,为维护前述合法权益且在必要范围内; + +(七)根据相关政府主管部门或根据相关法律法规和政策的要求; + +(八)其他必要情况。 + +\n六、知识产权及相关权利 + +6.1 用户权利通知 + +【用户权利通知】 本应用尊重他人的知识产权和合法权益,呼吁用户也要同样尊重他人的知识产权和他人的合法权益。若您认为您的知识产权或其他合法权益被侵犯,请按照以下规范向本应用平台提供资料。 + +【权利通知格式规范】 为了本应用平台有效处理您发出的权利通知,请您使用以下格式(包括各条款的序号): + +(一)权利人对涉嫌侵权内容拥有知识产权或其他合法权益,依法可以行使知识产权或其他合法权益的权属证明; + +(二)请充分、明确地描述被侵犯了知识产权或其他合法权益的情况并请提供涉嫌侵权的名称或第三方网址(如有); + +(三)请指明涉嫌侵权或其他信息的哪些内容侵犯了第(二)项中列明的权利; + +(四)请提供权利人具体的联络信息,包括姓名、身份证或护照复印件(对自然人)、机构登记证明复印件(对机构)、通信地址、电话号码、传真和电子邮件; + +(五)请提供涉嫌侵权内容在信息网络上的位置,以便我们与您举报的含有侵权内容的所有权人/管理人联系; + +(六)请在权利通知中加入如下关于通知内容真实性的声明:“我保证,本通知中所述信息是充分、真实、准确的,如果本权利通知内容不完全属实,本人将承担由此产生的一切法律责任”; + +(七)请您签署该权利通知,如果您是依法成立的机构或组织,请您加盖公章。 + +【权利通知失实】 如果权利通知的陈述失实,权利通知提交者将承担由此造成的全部法律责任(包括但不限于赔偿各种费用及律师费)。如果您不确定网络上可获取的资料是否侵犯了其知识产权和其他合法权益,本应用建议您首先咨询专业人士。 + +6.2 用户授权 + +【用户授权】 对于用户通过本应用平台上传至可公开(免费或付费)获取区域的任何内容,用户同意本应用在全世界范围内具有免费的、永久性的、不可撤销的、非独家的和完全再许可的权利和许可,以使用、复制、修改、改编、出版、翻译、据以创作衍生作品、传播、表演和展示此等内容(整体或部分),和/或将此等内容编入当前已知的或以后开发的其他任何形式的作品、媒体或技术中。 + +6.3 权利声明 + +【权利声明】 本应用平台所有的产品、技术与所有程序均属于本应用的知识产权,“本应用”相关图形等为本应用的注册商标。未经本应用许可,任何人不得擅自(包括但不限于:以非法的方式复制、传播、展示、镜像、上载、下载)使用,否则本应用将依法追究法律责任。 + +\n七、第三方产品和服务 + +7.1 第三方产品和服务 + +【第三方产品和服务】 本服务可能包含第三方提供的产品或服务。当您使用第三方提供的产品或服务时,可能会另有相关的协议或规则,您同样应当认真阅读并遵守。如您在使用第三方产品或服务时发生任何纠纷的,请您与第三方直接联系,本应用不承担任何责任,但根据需要会依法提供必要的协助。 + +7.2 第三方支付服务 + +【第三方支付服务】用户在本应用平台上进行的包括但不限于上述各种支付活动均直接通过微信支付和财付通等第三方支付服务实现,用户应遵守第三方支付服务协议。因第三方支付服务收取的手续费和导致的资金损失由用户自行承担或根据第三方支付服务的协议处理,本应用不承担相应责任。 + +7.3 代收服务 + +【代收服务】 用户使用本应用代收服务期间,本应用无须对为您保管、代收或代付款项的货币贬值、汇率损失和利息损失及其他风险担责,并且本应用无须向您支付此等款项的任何孳息。 + +7.4 提现服务 + +【提现服务】 根据不同的支付方式,接受资金的用户可在本应用平台上申请提现。根据相关法律法规及第三方支付平台的限制,每位用户每天只能提现一次,单笔提现可能存在一定的提现限额和账期要求。本应用无法提供资金即时到账服务,您认可资金于途中流转需要合理时间。提现指令一旦发出即立即生效、不可撤销,本应用有权根据您发出的提现指令进行支付操作。您应妥善保管您的手机等电子设备以及第三方平台账号及密码、支付密码、短信校验码等信息和资料,因您泄露、遗失、复制、转交前述信息和资料而导致的损失,由您自行承担。 + +\n八、 用户的违约及处理 + +8.1 违约认定 + +【违约情形】 发生如下情形之一的,视为您违约: + +(一)使用本应用平台服务时违反有关法律法规规定; + +(二)违反本协议、本协议补充协议约定或本应用平台规则。 + +【违约认定】 本应用可在本应用平台规则中约定违约认定的程序和标准;您有义务对您的数据或信息的异常现象进行充分举证和合理解释,否则将被认定为违约。 + +8.2 违约处理措施 + +【行为限制】 您在本应用平台上实施的行为,或虽未在本应用平台上实施但对本应用平台及其用户产生影响的行为构成违约的,本应用可依据相应规则对您执行限制参加推广活动、中止向您提供部分或全部服务、划扣违约金等处理措施。如您的行为构成根本违约的,本应用可查封您的账号,终止向您提供服务。 + +【信息移交】 为遵守国家法律、法规,维护社会安全,对于在本应用平台实施违法犯罪活动的用户,本应用将可能冻结账号,并向公安机关移交与违法犯罪活动有关的线索及用户信息。 + +【账号严重风险】 当您违约的同时存在欺诈、售假、盗用他人账号等特定情形或您存在危及他人交易安全或账号安全风险时,或严重影响本应用平台正常运转的,本应用会依照您行为的风险程度对您的账号采取取消收款、终止服务等强制措施。 + +8.3 赔偿责任 + +【赔偿范围】 如您的行为使本应用遭受损失(包括自身的直接经济损失、商誉损失及对外支付的赔偿金、和解款、律师费、诉讼费等间接经济损失),您应赔偿本应用的上述全部损失。 + +【损失追偿】 如您的行为使本应用遭受第三人主张权利,本应用可在对第三人承担金钱给付等义务后就全部损失向您追偿。 + +【资金划扣】 如因您的行为构成严重违法、犯罪或违反相关政策的强制性规定,使得第三人遭受损失的,本应用出于社会公共利益保护或消费者权益保护目的,可从您由本应用代收的资金中划扣相应款项进行支付。如您由本应用代收的资金不足以支付上述赔偿款项的,本应用可直接扣减您在本应用其它协议项下的权益。 + +8.4 特别约定 + +【商业贿赂】 如您向本应用雇员或顾问等提供实物、现金、现金等价物、劳务、旅游等价值明显超出正常商务洽谈范畴的利益,则可视为您存在商业贿赂行为。发生上述情形的,本应用可立即终止与您的所有合作并向您收取违约金及/或赔偿金,该等金额以本应用因您的贿赂行为而遭受的经济损失和商誉损失作为计算依据。 + +【关联处理】 如您因严重违约导致本应用终止本协议的,出于维护平台秩序及保护用户权益的目的,本应用可对本应用与您在其他协议项下的合作采取中止甚或终止协议的措施,并以本协议第九条约定的方式通知您。 + +\n九、 通知 + +9.1 用户有效的联系方式 + +【联系方式真实有效】 您在注册成为本应用平台用户,并接受本应用平台服务时,您应保证使用真实有效的第三方平台账号。如果您绑定您的手机号,您应保证使用本人的手机号。对于联系方式发生变更的,您有义务及时更新有关信息,并保持可被联系的状态。 + +您提供的微信号、手机号或其他联系方式,作为您在本应用平台的有效联系方式。本应用将向您的上述其中之一或若干联系方式向您送达各类通知,而此类通知的内容可能对您的权利义务产生重大的有利或不利影响,请您务必及时关注。 + +9.2 本应用联系方式 + +您对于本应用的通知应当通过本应用平台对外正式公布的通信地址、传真号码、电子邮件地址等联系信息进行送达。 + +9.3 通知的送达 + +【通知送达的方式】 本应用通过上述联系方式向您发出通知,其中以电子方式发出的书面通知,包括但不限于在本应用平台公告,向您提供的联系电话发送手机短信,向您提供的电子邮件地址发送电子邮件,向您的第三方账号(如微信账号)推送本应用公众号消息,在发送成功后即视为送达;以纸质载体发出的书面通知,按照提供联系地址交邮后的第五个自然日即视为送达。 + +【通知送达的法律后果】 你应当保证所提供的联系方式是准确、有效的,并进行实时更新。如果因提供的联系方式不确切,或不及时告知变更后的联系方式,使通知无法送达或未及时送达,由您自行承担由此可能产生的法律后果。 + +\n十、 协议的终止 + +10.1 终止的情形 + +【用户发起的终止】 您有权通过以下任一方式终止本协议: + +(一)变更事项生效前,您停止使用并明示不愿接受变更事项的; + +(二)您明示不愿继续使用本应用平台服务,且符合本应用平台终止条件的。 + +【本应用发起的终止】 出现以下情况时,本应用可以本协议第九条约定的方式通知您终止本协议: + +(一)您违反本协议约定,本应用依据违约条款终止本协议的; + +(二)您盗用他人账号、发布违禁信息、骗取他人财物、侵犯他人知识产权、扰乱市场秩序、采取不正当手段谋利等行为,本应用依据本协议和本应用平台规则对您的账号予以查封的; + +(三)除上述情形外,因您多次违反本应用平台规则相关规定且情节严重,本应用依据本协议及本应用平台规则对您的账号予以查封的; + +(四)您的账号被本应用依据本协议回收的; + +(五)根据法律、法规、政策规定,出于维护公共利益的目的,其它应当终止服务的情况。 + +10.2 协议终止后的处理 + +【用户信息披露】 本协议终止后,除法律有明确规定外,本应用无义务向您或您指定的第三方披露您账号中的任何信息。 + +【本应用权利】 本协议终止后,本应用仍享有下列权利: + +(一)继续保存您留存于本应用平台的本协议的各类信息; + +(二)对于您过往的违约行为,本应用仍可依据本协议向您追究违约责任。 + +【交易处理】 本协议终止后,对于您在本协议存续期间产生的未结清的支付的款项和收取的款项(指存入第三方支付平台或本应用账号,未提现的款项),本应用可通知交易相对方并根据交易相对方的意愿决定是否取消该笔支付。 + +\n十一、 法律适用、管辖与其他 + +11.1 法律适用 + +【法律适用】 本协议之订立、生效、解释、修订、补充、终止、执行与争议解决均适用中华人民共和国大陆地区法律;如法律无相关规定的,参照商业惯例及/或行业惯例。 + +11.2 管辖 + +【管辖】 您因使用本应用平台服务所产生及与本应用平台服务有关的争议,由本应用与您协商解决。协商不成时,任何一方均可向本应用经营者注册地的人民法院提起诉讼。 + +11.3 协议可分性 + +【协议可分性】 本协议任一条款被视为废止、无效或不可执行,该条应视为可分的且并不影响本协议其余条款的有效性及可执行性。 + + \ No newline at end of file diff --git a/pages/serviceTerm/index.wxss b/pages/serviceTerm/index.wxss new file mode 100644 index 0000000..e0dfe39 --- /dev/null +++ b/pages/serviceTerm/index.wxss @@ -0,0 +1 @@ +/* pages/serviceTerm/index.wxss */ \ No newline at end of file diff --git a/pages/serviceTerm/serviceTerm.zip b/pages/serviceTerm/serviceTerm.zip new file mode 100644 index 0000000..a0d2524 Binary files /dev/null and b/pages/serviceTerm/serviceTerm.zip differ diff --git a/pages/shareList/index.js b/pages/shareList/index.js new file mode 100644 index 0000000..20f77b9 --- /dev/null +++ b/pages/shareList/index.js @@ -0,0 +1,2761 @@ +const app = getApp(); + +const commonUtil = require("../../utils/commonUtil.js"); +Page({ + data: { + toped: "1", + sceneStoreJobId:'', + chaShowed: false, + backHeight:wx.getMenuButtonBoundingClientRect().top + (wx.getMenuButtonBoundingClientRect().height/2) +'px', + isTrigger: false, + // background: ["../../assets/images/banner1.jpg", "../../assets/images/banner2.jpg", "../../assets/images/banner3.jpg", "../../assets/images/banner4.jpg"], + pullNum: 0, //下拉次数 + tabs: [], + activeTab: 0, + systemInfo: {}, + getMenuButtonBoundingClientRect: {}, + // 手机基础信息 + tabs2: [], + loadMore: "", + loadContent: ["马不停蹄加载更多数据中...", "-- 已经到底了,加不了咯 --"], + + statusBarHeight: wx.getStorageSync("statusBarHeight"), // 状态栏高度 + + navigationBarHeight: wx.getStorageSync("navigationBarHeight"), // 导航栏高度 + + menuButtonHeight: wx.getStorageSync("menuButtonHeight"), // 胶囊按钮高度 + + menuButton: wx.getStorageSync("menuButtonInfo"), // 胶囊信息 + navigatorHeight: 60, + activeTab2: 0, + contentIndex: 0, + latestClass: 0, + zoneClass: 0, + recordList: [], + jobSpecialLabelNames: [], + storeJobListSearchForm: { + pageNum: 1, + pageSize: 20, + classify: 1, + sex: -1, + workTypeStr: "", + lat: "", + lng: "", + jobClassify: "", + sortTag: 0, + jobSpecialLabelIds: "", + cityName: "", + brandIds: "", + jobCategoryLabelIds: "", + ucj: 1, + }, + loading: true, + topJobList: [], + hasLocation: false, + chooseActive: false, //筛选是否高亮 + + labelItems: [], + checkedlabelItems: [], + hasMoreData: false, //下拉是否还有更多数据 + inputShowed: false, + inputVal: "搜索工作", + wxCode: "", + isCollect: false, + collectTxt: "收藏", + isLogin: false, + hasUserInfo: 0, + searchCityParamStorage: { + name: "", + shortName: "", + }, + iosDialog1: false, + phoneDialog: false, + triggered: false, + pageShow: false, + whichOneShow: "", + siv: "", + activez: "zuigao", + sexid: "-1", // 性别筛选的id + dialog1: false, + dialog2: false, + jobSpecialLabelList: [], + brandList: [], + firstMenu: "排序", // 工价筛选tab显示 + secondMenu: "性别", // 性别筛选tab显示 + selectBrandList: [], // 选中的品牌标签 + selectJobList: [], // 选中的特色标签 + tagArray0: [], + tagArray1: [], + tagArray2: [], + tagArray3: [], + tagArray4: [], + recordBillType: "", // 报名类型(拍照或者直接报名) + signType: 0, // 职位类型(自营 三方) + recordCount: 0, + totalPage: 0, + currPage: 0, + currentJobDrawer: {}, // 当前简版职位抽屉信息 + drawerShow: false, // 简版职位抽屉显隐 + choiceCollect: 0, //收藏的筛选 + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, // 内部成员的判断 + agencyStatus: app.globalData.loginUserInfo.agencyStatus, // 是否是代理的判断 + serviceInfo: {}, // 代理信息 + navigatorBarHeight: 0, // 头部整体高度信息 + iosDialog: false, // 成为代理弹窗 + isLoading: true, // 成为代理图片加载loading效果 + isScrollTop: false, // 控制职位列表的滚动 + swiperTextList: ["日结工", "18岁", "电子厂", "短期工", "47岁", "保底", "小时工"], // 关键词轮播的关键词列表 + placeholderText: "", // 当前关键词 + leftShow: false, // 左侧智能匹配抽屉显示 + /** + * 滑动相关变量 + */ + lastX: 0, //滑动开始x轴位置 + lastY: 0, //滑动开始y轴位置 + text: "没有滑动", + currentGesture: 0, //标识手势 + listPosition: null, // 存储列表当前位置 + halfHide: true, // 智能匹配显示一半控制 + topNum: 0, + scrollTo: "", // 列表滚动的控制 + navList: [ + { + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/ztrt.png", + url: "/pages/hotList/index", + title: "主推/热推", + }, + // { img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/dtld.png",url:'/pages/hotList/index', title: "职位云亮点" }, + // { img: "http://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/zjzp.png",url:'/pages/hotList/index', title: "职教职培" }, + { + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/cwdl.png", + url: "/pages/tobeAgency/index", + title: "成为代理", + }, + // { img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/dzkf.png",url:'/pages/hotList/index', title: "定制开发" }, + { + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/xmhz.png", + url: "/pages/xiangmuhezuo/index", + title: "项目合作", + }, + { + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/xtxx.png", + url: "/pages/message/index", + title: "消息中心", + }, + { + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/lxwm.png", + url: "/pages/connectUs/index", + title: "联系我们", + }, + // { img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/jqqd.png",url:'/pages/hotList/index', title: "敬请期待" }, + ], + bannerList: [], + /** + * 筛选的相关变量 + * + * + */ + filterData: { + yanba: [ + { + name: "无", + id: 1, + active: 0, + }, + { + name: "小面积", + id: 2, + active: 0, + }, + { + name: "大面积", + id: 3, + active: 0, + }, + ], + area: [ + { + name: "江浙沪", + id: 1, + active: 0, + }, + { + name: "鄂豫皖", + id: 2, + active: 0, + }, + { + name: "京津冀", + id: 3, + active: 0, + }, + { + name: "晋西北", + id: 4, + active: 0, + }, + { + name: "粤桂闽", + id: 5, + active: 0, + }, + { + name: "鲁东南", + id: 6, + active: 0, + }, + { + name: "黑吉辽", + id: 7, + active: 0, + }, + { + name: "疆藏青", + id: 8, + active: 0, + }, + { + name: "渝湘赣", + id: 9, + active: 0, + }, + { + name: "陕甘宁", + id: 10, + active: 0, + }, + { + name: "云贵川", + id: 11, + active: 0, + }, + { + name: "港澳台", + id: 12, + active: 0, + }, + ], + price: [ + { + name: "3000-4000", + id: 1, + active: 0, + }, + { + name: "4000-5000", + id: 2, + active: 0, + }, + { + name: "5000-6000", + id: 3, + active: 0, + }, + { + name: "6000-7000", + id: 4, + active: 0, + }, + { + name: "7000-8000", + id: 5, + active: 0, + }, + { + name: "8000以上", + id: 6, + active: 0, + }, + ], + sex: [ + { + name: "男", + id: 1, + active: 0, + }, + { + name: "女", + id: 2, + active: 0, + }, + { + name: "男女不限", + id: -1, + active: -1, + }, + ], + jobFilter: { + tagArray0: [], + tagArray1: [], + tagArray2: [], + tagArray3: [], + tagArray4: [], + }, + classifyList: [], + }, + copyList: {}, + innerFilter: false, + }, + goBack(){ + wx.navigateBack({ + delta: -1, + }) + }, + // onPullDownRefresh:function(){ + // this.getJobList(); + // console.log(123); + + // wx.stopPullDownRefresh({ + // success() { + // app.refreshSuccess(); + // } + // }); + // }, + goLogin() { + wx.setStorageSync("comeFromPage", "index"); + wx.navigateTo({ + url: "/pages/login/index", + }); + }, + close() { + let that = this; + let brandList = that.data.brandList; + let selectBrandList = that.data.selectBrandList; + if (selectBrandList.length > 0) { + for (let i = 0; i < brandList.length; i++) { + console.log("level1"); + for (let j = 0; j < selectBrandList.length; j++) { + console.log("level2"); + if (brandList[i].id == selectBrandList[j].id) { + return (brandList[i].checked = true); + } else { + brandList[i].checked = false; + } + } + } + } else { + brandList.forEach((item) => { + item.checked = false; + }); + } + return brandList; + }, + closeFix: function () { + var that = this; + // let brandList = that.close() + // that.data.brandList.forEach((item) => { + // if (that.data.selectBrandList.length > 0) { + // that.data.selectBrandList.forEach((item1) => { + // if (item.id != item1.id) { + // console.log("isSame"); + // item.checked = false; + // console.log(item.checked); + // } else { + // item.checked = true; + // } + // }); + // } else { + // item.checked = false; + // } + // }); + // console.log(that.data.brandList); + // console.log(that.data.selectBrandList); + console.log("isout"); + }, + touchStart(e) { + // console.log("滚起来", e); + // this.setData({ + // scrollStop: false + // }) + this.setData({ + // whichOneShow: mark, + siv: "", + }); + }, + choosenTop(e) { + var that = this; + // that.data.storeJobListSearchForm.pageNum = 1; + let id = e.currentTarget.dataset.id; + setTimeout(() => { + that.setData({ + toped: id, + // isScrollTop: false, + }); + }, 0); + // 切换标准 简版 重新查询列表 + // that.data.storeJobListSearchForm.pageNum = 1; + // that.setData({ + // toped: id, + // recordList: [], + // }); + // that.getJobList(); + }, + + chooseNl: function (e) { + var that = this; + console.log(e); + let mark = ""; + let type = e.target.dataset.type; + let whichOneShow = that.data.whichOneShow; + // if (!that.data.isLogin) { + // wx.navigateTo({ + // url: "/pages/login/index", + // }); + // return; + // } + if (type == "gj") { + if (whichOneShow == "gj") { + mark = ""; + } else { + mark = "gj"; + } + } else if (type == "sex") { + if (whichOneShow == "sex") { + mark = ""; + } else { + mark = "sex"; + } + } else if (type == "brand") { + if (whichOneShow == "brand") { + mark = ""; + } else { + mark = "brand"; + } + } else if (type == "special") { + if (whichOneShow == "special") { + mark = ""; + } else { + mark = "special"; + } + } + if (that.data.siv != "menu") { + setTimeout(() => { + that.setData({ + whichOneShow: mark, + // siv:'menu' + }); + console.log(this.data.whichOneShow); + }, 0); + that.setData({ + siv: "menu", + scrollTo: "sticky", + }); + } + this.hideLeft(); + }, + toSpecialArea: function (e) { + var id = e.currentTarget.dataset.id; + wx.navigateTo({ + url: "../specialArea/index?id=" + id, + }); + }, + chooseM: function (e) { + var str = e.currentTarget.dataset.id; + console.log(str); + this.setData({ + activez: str, + }); + }, + watch() {}, + witchNav(e) { + console.log(e); + if (!this.data.isLogin) { + wx.navigateTo({ + url: "/pages/login/index", + }); + return; + } + if (e.currentTarget.dataset.title == "成为代理") { + console.log("成为代理"); + if (app.globalData.loginUserInfo.agencyStatus == 1) { + wx.showToast({ + title: "您已经是代理了", + icon: "none", + duration: 2000, + }); + return; + } + } else if (e.currentTarget.dataset.title == "主推/热推") { + wx.navigateTo({ + url: e.currentTarget.dataset.url + "?listtype=" + this.data.toped, + }); + return; + } + + wx.navigateTo({ + url: e.currentTarget.dataset.url, + }); + }, + toHot(e) { + if (e.currentTarget.dataset.path) { + if (e.currentTarget.dataset.path == "/pages/hotList/index") { + wx.navigateTo({ + url: `${e.currentTarget.dataset.path}?listtype=${this.data.toped}`, + }); + } + } + }, + choiceSex(e) { + var that = this; + let data = e.currentTarget.dataset; + that.data.filterData[data.type].forEach((item) => { + item.active = 0; + }); + let index = that.data.filterData[data.type].findIndex((item) => { + return item.id == data.id; + }); + that.data.filterData[data.type][index].active = data.id; + // let str = that.data.sexid + console.log(e); + let str = e.currentTarget.dataset.id; + console.log(str); + if (str == "1") { + that.data.secondMenu = "男生"; + } else if (str == "2") { + that.data.secondMenu = "女生"; + } else if (str == "-1") { + that.data.secondMenu = "不限"; + } + that.setData({ + sexid: str, + secondMenu: this.data.secondMenu, + }); + that.data.storeJobListSearchForm.pageNum = 1; + that.data.storeJobListSearchForm.sex = str; + that.setData({ + storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + filterData: that.data.filterData, + innerFilter: true, + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + whichOneShow: "", + }); + }); + }, + onScrollRefresh: function () { + var that = this; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + }); + that.getJobList(); + + // setTimeout(function(){ + // that.setData({ + // recordList: [],: false, + // }) + // },2000); + }, + + cc: function () {}, + close: function () { + this.setData({ + dialog1: false, + dialog2: false, + phoneDialog: false, + }); + }, + searchKey: function (e) { + if (!this.data.isLogin) { + wx.navigateTo({ + url: "../login/index", + }); + return; + } + console.log(e); + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.data.storeJobListSearchForm.keys = this.data.inputVal; + this.getJobList(); + }, + onShareAppMessage: function () { + var path = commonUtil.getCurrentPageUrlWithArgs(); + if (app.globalData.isLogin && app.globalData.agencyStatus - 0 != 0) { + //当前用户是代理人 + path += (path.indexOf("?") >= 0 ? "&" : "?") + "agencyUserId=" + app.globalData.loginUserInfo.id; + } + console.log(path); + let img; + + this.data.templateList.forEach((element) => { + if (element.title == "职位云小程序首页卡片分享封面") { + img = element.img + "?" + new Date().getTime(); + } + }); + return { + title: " ", + path: path, + imageUrl: img, + }; + }, + goSearch() { + if (!this.data.isLogin) { + wx.navigateTo({ + url: "../login/index", + }); + return; + } + wx.navigateTo({ + url: `../jobListSearch/index?from=project&listtype=${this.data.toped}&key=${this.data.placeholderText}`, + }); + }, + clearInput: function () { + this.setData({ + inputVal: "搜索工作", + chaShowed: false, + inputShowed: false, + hasMoreData: true, + }); + this.inputBlur(); + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.data.storeJobListSearchForm.keys = ""; + this.getJobList(); + }, + inputTyping: function (e) { + this.setData({ + inputVal: e.detail.value, + }); + console.log(this.data.inputVal == ""); + if (this.data.inputVal == "") { + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.data.storeJobListSearchForm.keys = ""; + this.getJobList(); + } + }, + /** + * 清除本地缓存 + * + * + */ + clear() { + wx.clearStorage(); + + console.log("清除成功"); + }, + inputBlur() {}, + getListByTypeAndIndustry: function () { + var that = this; + wx.request({ + url: app.globalData.ip + "/labels/getListByTypeAndIndustry", + data: { + type: 90, + industry: 2, + }, + header: app.globalData.header, + method: "GET", + success: function (res) { + console.log(res.data.data); + wx.setStorageSync("FILTER_LIST", res.data.data); + res.data.data.forEach((item) => { + if (item.typeClassify == "0") { + that.data.tagArray0.push(item); + } else if (item.typeClassify == "1") { + that.data.tagArray1.push(item); + } else if (item.typeClassify == "2") { + that.data.tagArray2.push(item); + } else if (item.typeClassify == "3") { + that.data.tagArray3.push(item); + } else if (item.typeClassify == "4") { + that.data.tagArray4.push(item); + } + }); + that.setData({ + tagArray0: that.data.tagArray0, + tagArray1: that.data.tagArray1, + tagArray2: that.data.tagArray2, + tagArray3: that.data.tagArray3, + tagArray4: that.data.tagArray4, + }); + + var jobSpecialLabelIdArray = that.data.storeJobListSearchForm.jobSpecialLabelIds.split(","); + + res.data.data.forEach((item) => { + item["checked"] = false; + jobSpecialLabelIdArray.forEach((item1) => { + if (item.id == item1) { + item["checked"] = true; + } + }); + }); + + that.setData({ + jobSpecialLabelList: res.data.data, + }); + }, + }); + }, + golistSharePage() { + if (this.data.isLogin) { + if (app.globalData.loginUserInfo.agencyStatus == 1) { + wx.navigateTo({ + url: `/pages/listSharePage/index?listtype=${this.data.toped}`, + }); + } else { + wx.navigateTo({ + url: `/pages/tobeAgency/index`, + }); + } + } else { + wx.navigateTo({ + url: `/pages/login/index`, + }); + } + }, + getBrandNameAllList: function () { + var that = this; + wx.request({ + url: app.globalData.ip + "/labels/type/95", // 分类列表获取接口 + header: app.globalData.header, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + if (that.data.storeJobListSearchForm.brandIds) { + var brandIdArray = that.data.storeJobListSearchForm.brandIds.split(","); + } + console.log(res.data.data.labels); + wx.setStorageSync("CLASSIFY_LIST", res.data.data.labels); + res.data.data.labels.forEach((item) => { + item["checked"] = false; + if (brandIdArray) { + brandIdArray.forEach((item1) => { + if (item.id == item1) { + item["checked"] = true; + } + }); + } + }); + that.setData({ + brandList: res.data.data.labels, + }); + } + }, + }); + // wx.request({ + // url: app.globalData.ip + "/brand/getBrandNameAllList", // 品牌列表获取接口 + // data: {}, + // header: app.globalData.header, + // method: "GET", + // success: function (res) { + // console.log(res); + + // var brandIdArray = that.data.storeJobListSearchForm.brandIds.split(","); + + // res.data.data.forEach((item) => { + // item["checked"] = false; + // brandIdArray.forEach((item1) => { + // if (item.id == item1) { + // item["checked"] = true; + // } + // }); + // }); + // that.setData({ + // brandList: res.data.data, + // }); + // }, + // }); + }, + + selectBrand: function (e) { + var that = this; + let data = e.currentTarget.dataset; + let index = that.data.filterData[data.type].findIndex((item) => { + return item.id == data.id; + }); + that.data.filterData[data.type][index].active = data.id; + + if (that.data.brandList[data.index].checked) { + that.data.brandList[data.index].checked = false; + // let index1 = that.data.selectBrandList.indexOf(that.data.brandList[index]) + // that.data.selectBrandList.splice(index1,1) + } else { + that.data.brandList[data.index].checked = true; + } + console.log(that.data.selectBrandList); + this.setData({ + brandList: that.data.brandList, + filterData: that.data.filterData, + }); + }, + reset: function (e) { + var that = this; + console.log(e); + if (e.target.dataset.type == 1) { + //特色 + that.data.jobSpecialLabelList.forEach((item) => { + // console.log(item); + if (item.checked) { + item.checked = false; + } + }); + that.setData({ + jobSpecialLabelList: that.data.jobSpecialLabelList, + tagArray0: that.data.tagArray0, + tagArray1: that.data.tagArray1, + tagArray2: that.data.tagArray2, + tagArray3: that.data.tagArray3, + selectJobList: [], + whichOneShow: "", + }); + that.data.storeJobListSearchForm.jobSpecialLabelIds = ""; + } else if (e.target.dataset.type == 2) { + //品牌 + that.data.brandList.forEach((item) => { + if (item.checked) { + item.checked = false; + } + }); + that.setData({ + brandList: that.data.brandList, + selectBrandList: [], + whichOneShow: "", + }); + that.data.storeJobListSearchForm.jobCategoryLabelIds = ""; + // that.data.storeJobListSearchForm.brandIds = ""; + } else if (e.target.dataset.type == 4) { + that.setData({ + activez: "", + }); + } + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + innerFilter: false, + }); + that.getJobList(); + }, + loginOut: function () { + var that = this; + var jobSpecialLabelIdArray = []; + + // var brandIdArray = []; + that.data.selectBrandList = []; + that.data.filterData.classifyList.forEach((item) => { + if (item.active) { + if (that.data.selectBrandList.indexOf(item) == -1) { + that.data.selectBrandList.push(item); + } + // brandIdArray.push(item.id); + } + }); + that.data.selectJobList = []; + let subArr = that.data.filterData.jobFilter; + let jobList = subArr.tagArray0.concat(subArr.tagArray1, subArr.tagArray2, subArr.tagArray3, subArr.tagArray4); + jobList.forEach((item) => { + if (item.active) { + if (that.data.selectJobList.indexOf(item) == -1) { + that.data.selectJobList.push(item); + } + } + }); + // if (brandIdArray.length > 0) { + // // that.data.storeJobListSearchForm.brandIds = brandIdArray.join(","); + // that.data.storeJobListSearchForm.jobCategoryLabelIds = brandIdArray.join(","); + // } else { + // // that.data.storeJobListSearchForm.brandIds = ""; + // that.data.storeJobListSearchForm.jobCategoryLabelIds = ""; + // } + // that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + // recordList: [], + // siv: "", + // whichOneShow: "", + selectBrandList: that.data.selectBrandList, + selectJobList: that.data.selectJobList, + // innerFilter:true + }); + // that.getJobList(); + }, + onLoad(query) { + var that = this; + if (app.isNotEmptyCheck(query.scene)) { + console.log("XXXXXXXXXXXX") + //扫小程序码携带参数 + var sceneStr = decodeURIComponent(query.scene); + var sceneJson = commonUtil.sceneToJson(sceneStr); + console.log("sceneJson===", sceneJson); + let arr = sceneJson.i.split('_') + if(arr[0] > 0){ + wx.setStorageSync("applyUserId", arr[0]); + } + if(arr[1] > 0){ + wx.setStorageSync("agencyId", arr[1]); + app.globalData.agencyId = arr[1] + } + console.log(arr.slice(2)); + app.globalData.sceneStoreJobId = arr.slice(2).join(','); + + + + // app.globalData.sceneStoreJobId = sceneJson.ids + // app.globalData.agencyId = sceneJson.agId + // wx.setStorageSync("agencyId", sceneJson.agId); + // wx.setStorageSync("ap", sceneJson.ap); + + } + that.getJobList(); + }, + onReady() { + }, + /** + * 智能匹配结束 + * + * + * + */ + goChannel(e) { + console.log(e); + }, + /** + * 筛选标签的点击 + * + * + */ + setActive(e) { + console.log(e); + let data = e.currentTarget.dataset; + if (data.type == "yanba" || data.type == "sex" || data.type == "price") { + console.log(data.id); + let index = this.data.filterData[data.type].findIndex((item) => { + return item.id == data.id; + }); + if (this.data.filterData[data.type][index].active == data.id) { + this.data.filterData[data.type][index].active = 0; + } else { + this.data.filterData[data.type].forEach((item) => { + item.active = 0; + }); + this.data.filterData[data.type][index].active = data.id; + } + + this.setData({ + filterData: this.data.filterData, + }); + } else if (data.type != "jobFilter") { + this.data.filterData[data.type].forEach((item) => { + if (item.id == data.id) { + if (item.active == data.id) { + item.active = 0; + } else { + item.active = data.id; + } + } + }); + console.log(this.data.filterData[data.type]); + } else { + this.data.filterData[data.type][data.arr].forEach((item) => { + if (item.id == data.id) { + if (item.active == data.id) { + item.active = 0; + } else { + item.active = data.id; + } + } + }); + } + + this.setData({ + filterData: this.data.filterData, + }); + }, + + /** + * 获取banner信息 + * + * + */ + getBannerList() { + let that = this; + wx.request({ + url: app.globalData.ip + "/daotian/banner/list", + success(res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + bannerList: res.data.data.banners, + }); + } + }, + }); + }, + + /** + * 获取图片模板信息 + * + * + */ + getTemplateList() { + let that = this; + wx.request({ + url: app.globalData.ip + "/daotian/image/list", + success(res) { + console.log(res); + if (res.data.status == 200) { + app.globalData.templateList = res.data.data.images; + that.setData({ + templateList: res.data.data.images, + }); + } + }, + }); + }, + + /** + * 获取频道列表 + * + * + */ + getchannelList() { + let that = this; + wx.request({ + url: app.globalData.ip + "/daotian/channel/list", + success(res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + navList: res.data.data.channels, + }); + } + }, + }); + }, + /** + * 清除筛选信息 + * + * + */ + clearFilter1(e) { + let middleList = JSON.parse(JSON.stringify(this.data.copyList)); + let type = e.currentTarget.dataset.type; + let filterData = this.data.filterData; + console.log(type); + if (type == 2) { + filterData = { + ...filterData, + classifyList: middleList.classifyList, + }; + this.setData({ + selectBrandList: [], + }); + } else if (type == 1) { + filterData = { + ...filterData, + jobFilter: middleList.jobFilter, + }; + this.setData({ + selectJobList: [], + }); + } else if (type == "outerClear") { + filterData = middleList; + this.setData({ + selectJobList: [], + selectBrandList: [], + firstMenu: "排序", + secondMenu: "不限", + sexid: -1, + activez: "zuigao", + innerFilter: false, + }); + } else if (type == "innerclear") { + filterData = middleList; + this.setData({ + selectJobList: [], + selectBrandList: [], + firstMenu: "排序", + secondMenu: "不限", + sexid: -1, + activez: "zuigao", + innerFilter: false, + }); + } + console.log(filterData); + this.setData({ + filterData, + leftShow: false, + recordList: [], + whichOneShow: "", + scrollTo: "sticky", + }); + if (this.data.choiceCollect == 0) { + this.data.storeJobListSearchForm.ucj = 0; + } else { + this.data.storeJobListSearchForm.ucj = 1; + } + this.toList(); + + // this.getJobList(); + }, + /** + * 点击确认按钮 + * + * + */ + toList() { + let that = this; + let innerFilter = false; + console.log(this.data.filterData); + let formSearch = { + pageNum: 1, + pageSize: 20, + }; + let filter = this.data.filterData; + for (var k in filter) { + if (k != "jobFilter") { + let jobCategoryArr = []; + filter[k].forEach((item) => { + if (item.active != 0) { + if (k == "price") { + if (item.name == "8000以上") { + formSearch.monthlyPayStr = "8001-20000"; + } else { + formSearch.monthlyPayStr = item.name; + } + } else if (k == "sex") { + formSearch.sex = item.id; + if (item.id == -1) { + this.data.secondMenu = "不限"; + } else if (item.id == 1) { + this.data.secondMenu = "男生"; + innerFilter = true; + } else if (item.id == 2) { + this.data.secondMenu = "女生"; + innerFilter = true; + } + this.setData({ + sexid: item.id, + secondMenu: this.data.secondMenu, + }); + } else if (k == "classifyList") { + jobCategoryArr.push(item.id); + if (jobCategoryArr.length > 0) { + innerFilter = true; + } + } + } + }); + formSearch.jobCategoryLabelIds = jobCategoryArr.join(); + } else { + let totalArr = [...filter["jobFilter"].tagArray0, ...filter["jobFilter"].tagArray1, ...filter["jobFilter"].tagArray2, ...filter["jobFilter"].tagArray3, ...filter["jobFilter"].tagArray4]; + let jobSpecialArr = []; + console.log(totalArr); + totalArr.forEach((item) => { + if (item.active != 0) { + jobSpecialArr.push(item.id); + } + }); + console.log(jobSpecialArr); + if (jobSpecialArr.length > 0) { + innerFilter = true; + } + console.log(jobSpecialArr.join(",")); + formSearch.jobSpecialLabelIds = jobSpecialArr.join(","); + } + } + console.log(formSearch); + + that.data.storeJobListSearchForm = { ...that.data.storeJobListSearchForm, ...formSearch }; + if (this.data.choiceCollect == 0) { + that.data.storeJobListSearchForm.ucj = 0; + } else { + that.data.storeJobListSearchForm.ucj = 1; + } + console.log(that.data.storeJobListSearchForm); + that.setData({ + recordList: [], + leftShow: false, + innerFilter, + whichOneShow: "", + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.loginOut(); + that.getJobList(); + }, + /** + * 智能匹配结束 + * + * + */ + onTabClick(e) { + const index = e.detail.index; + this.setData({ + activeTab: index, + }); + }, + + onChange(e) { + const index = e.detail.index; + this.setData({ + activeTab: index, + }); + }, + + findLocation() { + var that = this; + wx.getLocation({ + type: "gcj02", + success(res1) { + console.log("获取位置2"); + console.log(res1); + app.globalData.lng = res1.longitude; + app.globalData.lat = res1.latitude; + }, + fail() {}, + }); + }, + + emptyMethod(e) { + console.log(e); + }, + chooseIdCard() { + var that = this; + if (that.data.agencyStatus != 1) { + this.setData({ + iosDialog: true, + }); + return; + } + wx.chooseImage({ + count: 1, + sizeType: ["original", "compressed"], + sourceType: ["album", "camera"], + success(res) { + console.log(res); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&imgUrl=${res.tempFilePaths[0]}`, + }); + // that.uploadIdcardImg(res); + }, + }); + }, + navigatorToRecord() { + if (this.data.agencyStatus != 1) { + this.setData({ + iosDialog: true, + }); + return; + } + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1`, + }); + }, + PageScroll(e) { + let that = this; + const query = wx.createSelectorQuery().in(this); + query + .select(".sticky") + .boundingClientRect(function (res) { + // console.log(res); + if (res.top <= 5) { + that.setData({ + isScrollTop: true, + }); + } else if (res.top > 0 && res.top < 90) { + that.setData({ + isScrollTop: false, + }); + } else if (res.top >= 90) { + that.setData({ + isScrollTop: false, + }); + } + }) + .exec(); + }, + onShow() { + // debugger + let that = this; + that.setData({ + isLogin: app.globalData.isLogin + }); + that.getJobList(); + }, + collectedStoreJobList() { + var that = this; + + wx.request({ + url: app.globalData.ip + "/store/job/collected/list?ucj=1", + method: "GET", + data: {}, + header: app.globalData.headers, + success: function (res) { + console.log(res); + let collectList = res.data.data.recordList; + let jobs = that.data.recordList; + if (collectList != null && collectList != "" && collectList != undefined && collectList.length != 0 && jobs != null && jobs != "" && jobs != undefined && jobs.length != 0) { + for (var j = 0; j != jobs.length; ++j) { + jobs[j].collected = 2; + } + for (var i = 0; i != collectList.length; ++i) { + for (var j = 0; j != jobs.length; ++j) { + if (collectList[i].storeJobId - jobs[j].id == 0) { + jobs[j].collected = 1; + break; + } + } + } + that.setData({ + recordList: jobs, + }); + } + }, + fail: function (res) {}, + }); + }, + getHopeJobLabels() { + var that = this; + wx.request({ + url: app.globalData.ip + "/labels/findAllHopeJobLabels", + // ?category=4 + method: "GET", + data: {}, + success: function (res0) { + console.log("感兴趣职位 ↓↓↓"); + console.log(res0); + if (res0.data.data != null) { + res0.data.data.forEach((item, index) => { + item["title"] = item.name; + item["checked"] = false; + + if (index == 0 || index == 1) { + item["checked"] = true; + } + }); + } + + that.setData({ + labelItems: res0.data.data == null ? [] : res0.data.data, + }); + that.initData(); + console.log("感兴趣职位 赋值title↓↓↓"); + console.log(res0); + }, + fail: function (res) { + console.log(res); + wx.showToast({ + title: "获取失败", + icon: "none", + duration: 2000, + }); + }, + }); + }, + makePhoneCall() { + var that = this; + wx.makePhoneCall({ + phoneNumber: "13937184434", + }); + }, + goScreen() { + wx.navigateTo({ + url: "../screen/index", + }); + }, + goCity() { + let that = this; + + wx.navigateTo({ + url: "../city/index", + }); + }, + initData() { + var that = this; + try { + // 获取手机基础信息(头状态栏和标题栏高度) + let systemInfo = wx.getSystemInfoSync(); + let getMenuButtonBoundingClientRect = wx.getMenuButtonBoundingClientRect(); + console.log(wx.getMenuButtonBoundingClientRect()); + this.setData({ + systemInfo, + getMenuButtonBoundingClientRect, + }); + } catch (e) { + console.log(e); + + wx.alert({ + title: "温馨提示", + content: "onLoad 执行异常", + }); + } + let res0 = wx.getStorageSync("checkedlabelItems"); + + console.log(app.isNotEmptyCheck(res0.data)); + that.data.tabs2 = [ + { + name: "打勾推荐", + category: -1, + id: 406, + checked: true, + title: "打勾推荐", + }, + ]; + + if (app.isNotEmptyCheck(res0.data)) { + for (var i = 0; i < res0.data.length; i++) { + res0.data[i]["title"] = res0.data[i].name; + // that.data.tabs2.push(res0.data[i]); + } + + console.log("获取缓存"); // res0.data.unshift(); + // console.log(res.data.unshift({name: "打勾推荐", category: 3, id: 406, checked: true, title: "打勾推荐"})); + } else { + console.log("无感兴趣职位 push两个职位 ↓↓↓"); + console.log(that.data.labelItems); + that.data.labelItems.forEach((item) => { + if (item.name == "理货员" || item.name == "餐饮服务员") { + // that.data.tabs2.push(item); + } + }); // that.data.tabs2.push(that.data.labelItems[0], that.data.labelItems[1]) + } + + that.setData({ + tabs2: that.data.tabs2, + }); + + let res = wx.getStorageSync("sex"); //性别 + if (app.isNotEmptyCheck(res.data)) { + that.data.storeJobListSearchForm.sex = res.data; + that.data.storeJobListSearchForm.pageNum = 1; + } else { + // res.data = []; + } + let res2 = wx.getStorageSync("checkedJobItems"); //筛选职位 + let workTypeStrCurr = ""; + if (app.isNotEmptyCheck(res2.data)) { + res2.data.forEach((item, index) => { + workTypeStrCurr += item.value + ","; + }); + + if (workTypeStrCurr.length > 0) { + workTypeStrCurr = workTypeStrCurr.substr(0, workTypeStrCurr.length - 1); + } + + that.data.storeJobListSearchForm.workTypeStr = workTypeStrCurr; + that.data.storeJobListSearchForm.pageNum = 1; + } else { + that.data.storeJobListSearchForm.workTypeStr = ""; + that.data.storeJobListSearchForm.pageNum = 1; + } + + console.log(res.data + "===" + res2.data); + + if (res.data == -1 && (res2.data == null || res2.data == "")) { + that.setData({ + chooseActive: false, + }); + } else { + that.setData({ + chooseActive: true, + }); + } + + // this.getJobList(); + }, + + getJobList() { + var that = this; + // debugger + that.setData({ + pageShow: false, + }); + return new Promise(function (resolve, reject) { + wx.showLoading({ + title: "加载中...", + }); + console.log(that.data.storeJobListSearchForm); + wx.request({ + url: app.globalData.ip + "/yishoudan/store/job/getShareJobs?storeJobIds="+app.globalData.sceneStoreJobId, + method: "POST", + header: app.globalData.headers, + success: function (res) { + console.log("职位列表↓↓↓↓"); + console.log(res); + + setTimeout(function () { + that.setData({ + triggered: false, + }); + }, 1000); + var jobListTemp = commonUtil.disposeJobListData(res.data.data.list); + that.data.recordList = jobListTemp; + + that.setData({ + recordList: that.data.recordList, + hasMoreData: true, + isTrigger: false, + }); + + wx.hideLoading({ + success: (res) => {}, + }); + that.setData({ + loading: false, + pageShow: true, + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + resolve(); + that.getTag(); + + that.data.recordList.forEach((item, index) => { + // console.log(item); + if (app.isNotEmptyCheck(item.returnFeeType) || item.returnFeeType == "0" || item.returnFee == "0") { + item["fuWuFei"] = commonUtil.getReturnFeeTypeName1ById(item.returnFeeType, item.returnFee); + } else { + item["fuWuFei"] = ""; + } + // 简版弹窗通告显示 + if (item.id == that.data.currentJobDrawer.id) { + item["jobDesp"] = item.jobDesp.replace(/\*\*\*\*\*/g, "").split("————————")[0]; + // 展示用字段 + item["jobDesp1"] = item.jobDesp.replace("⚠", ""); + item["jobDesp1"] = item.jobDesp1.replace("[红包]", ""); + that.data.currentJobDrawer = { + ...item, + index: that.data.currentJobDrawer.index ? that.data.currentJobDrawer.index : null, + }; + } + }); + that.setData({ + recordList: that.data.recordList, + currentJobDrawer: that.data.currentJobDrawer, + }); + // if (that.data.recordList.length < res.data.data.recordCount) { + // that.setData({ + // hasMoreData: true, + // }); + // } else { + // that.setData({ + // hasMoreData: false, + // }); + // } + }, + }); + }); + }, + + onScrollRefresh() { + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.getJobList(); + }, + + getTag() { + let that = this; + let query = that.createSelectorQuery(); + query + .selectAll(".tttg") + .boundingClientRect() + .exec(function (res) { + res.forEach((item) => { + item.forEach((element, index) => { + if (element.width > 200) { + // that.data.recordList[index].isTagShow = true; + var age = "recordList[" + index + "].isTagShow"; + that.setData({ + [age]: true, + }); + } + }); + }); + // if(){ + + // } + // console.log(res); + }); + }, + + // 下拉加载更多 + onScrollToLower() { + console.log("===================================================="); + var that = this; + // if (app.globalData.isLogin) { + that.data.storeJobListSearchForm.pageNum = that.data.storeJobListSearchForm.pageNum + 1; + if (that.data.hasMoreData) { + that.getJobList(); + } + + this.setData({ + loadMore: "load", + }); + // } else { + + // } + + that.data.pullNum = that.data.pullNum + 1; + }, + + handleTabClick(e) { + var that = this; + var index = e.detail.index; + console.log(e.detail.index); + let categoryCurr = that.data.tabs2[index].category; // that.data.tabs2.forEach((item,index2) => { + // if (index == index2) { + // categoryCurr = item.category + // } + // if( index == 0){ + // categoryCurr = -1 + // } + // }) + + this.setData({ + // [tabsName]: index, + contentIndex: index, + }); + console.log(categoryCurr); + that.data.storeJobListSearchForm.jobClassify = categoryCurr; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + }); + that.getJobList(); + }, + /** + * 标准详情 + * + * + */ + goDetail(e) { + console.log(e); + var that = this; + wx.navigateTo({ + url: "../detail/index?storeJobId=" + e.currentTarget.dataset.id + "&wxCode=" + that.data.wxCode+ "&from=erweima", + }); + }, + /** + * 简版抽屉 + * + * + */ + goDrawer(event) { + let that = this; + + console.log(event.currentTarget.dataset.item); + event.currentTarget.dataset.item["jobDesp"] = event.currentTarget.dataset.item.jobDesp.replace(/\*\*\*\*\*/g, "").split("————————")[0]; + // 展示用字段 + event.currentTarget.dataset.item["jobDesp1"] = event.currentTarget.dataset.item.jobDesp.replace("⚠", ""); + event.currentTarget.dataset.item["jobDesp1"] = event.currentTarget.dataset.item.jobDesp1.replace("[红包]", ""); + + // wx.hideTabBar({ + // success(e) { + this.getTabBar().setData({ + isShow: false, + }); + that.setData({ + currentJobDrawer: { + ...event.currentTarget.dataset.item, + index: event.currentTarget.dataset.index, + }, + drawerShow: true, + }); + // }, + // }); + + console.log(this.data.currentJobDrawer); + }, + copyClose() { + var that = this; + var contentInfo; + const query = wx.createSelectorQuery().in(this); + query + .select(".contactInfo") + .boundingClientRect(function (res) { + contentInfo = res.dataset.info; + var text = that.data.currentJobDrawer.jobDesp + contentInfo; + wx.setClipboardData({ + data: text, + success(res) { + wx.getClipboardData({ + success(res) { + console.log(res.data); // data + wx.showToast({ + title: "内容已复制", + icon: "none", + duration: 1500, + }); + }, + }); + }, + }); + }) + .exec(); + }, + // showDrawer() { + // this.setData({ + // }); + // }, + hideDrawer() { + let that = this; + this.getTabBar().setData({ + isShow: true, + }); + that.setData({ + drawerShow: false, + }); + // this.getJobList(); + // setTimeout(() => { + // wx.showTabBar({ + // success(e) {}, + // }); + // }, 300); + }, + goEnroll(e) { + console.log(e); + // wx.navigateTo({ + // url: "../newEnroll/index?applyType=0" + // }); + var that = this; + + wx.removeStorageSync("townsManInfo"); + wx.removeStorageSync("townsManInfoJob"); + wx.removeStorageSync("storeInfoJob"); + + // if(app.isNotEmptyCheck(wx.getStorage('townsManInfo'))){ + // wx.removeStorageSync('townsManInfo') + // } + // if(app.isNotEmptyCheck(wx.getStorage('townsManInfoJob'))){ + // wx.removeStorageSync('townsManInfoJob') + // } + // if(app.isNotEmptyCheck(wx.getStorage('storeInfoJob'))){ + // wx.removeStorageSync('storeInfoJob') + // } + // wx.removeStorageSync('townsManInfoJob') + console.log(app.globalData.loginUserInfo.tel); + wx.setStorageSync("jobDetailStorage", that.data.recordList[e.currentTarget.dataset.idx]); + let argument; + argument = JSON.stringify(e.currentTarget.dataset.info).replace(/\=|\&/g, "3D"); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + }, + wxLogin() { + var that = this; + wx.login({ + success(res) { + if (res.code) { + that.setData({ + wxCode: res.code, + }); + } else { + console.log("获取code失败!" + res.errMsg); + } + }, + }); + }, + changeRecordBillType(e) { + let that = this; + console.log(e); + that.setData({ + recordBillType: e.currentTarget.dataset.type, + }); + }, + toSmart() { + wx.navigateTo({ + url: "/pages/IDCardWithNFC/index", + }); + }, + getPhoneNumber(e) { + var that = this; + console.log(e); + console.log(e.detail.errMsg); + /*wx.setStorageSync({ + key: "jobDetailStorage", + data: that.data.recordList[e.currentTarget.dataset.idx] + });*/ + + wx.setStorageSync("jobDetailStorage", that.data.recordList[e.currentTarget.dataset.idx]); + + // console.log(e); + // console.log(e.detail.errMsg) + // console.log(e.detail.iv) + // console.log(e.detail.encryptedData) + if ("getPhoneNumber:ok" == e.detail.errMsg) { + //同意 + var iv = e.detail.iv; + var encryptedData = e.detail.encryptedData; + console.log(iv, "=-=========", encryptedData); + wx.checkSession({ + success() { + //session_key 未过期,并且在本生命周期一直有效 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: that.data.wxCode, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + app.globalData.openId = res.data.data.openId; + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + var collected = e.currentTarget.dataset.collected; + if (collected) { + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.doCollected(collected, e.currentTarget.dataset.jobid); + // that.collectedStoreJobList(); + }); + } else { + if (that.data.recordBillType == "photo" || that.data.recordBillType == "record") { + promise.then((res) => { + if (that.data.recordBillType == "photo") { + that.chooseIdCard(); + } else { + that.navigatorToRecord(); + } + }); + } else { + promise.then((res) => { + let argument; + argument = JSON.stringify(e.currentTarget.dataset.info).replace(/\=|\&/g, "3D"); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + }); + } + } + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + }, + fail() { + // session_key 已经失效,需要重新执行登录流程 + wx.login({ + success(res) { + if (res.code) { + console.log(res.code); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: res.code, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + var collected = e.currentTarget.dataset.collected; + if (collected) { + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.doCollected(collected, e.currentTarget.dataset.jobid); + }); + } else { + promise.then((res) => { + wx.navigateTo({ + url: "../enroll/index?applyType=1", + //url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber + }); + }); + } + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + } else { + console.log("获取手机号失败!" + res.errMsg); + } + }, + }); + }, + }); + } else { + //拒绝 + var collected = e.currentTarget.dataset.collected; + if (collected) { + try { + wx.setStorageSync("comeFromPage", "index"); + } catch (e) { + console.log("index-页面跳转,设置参数错误:", e); + } + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + wx.navigateTo({ + url: "../enroll/index?applyType=1", + }); + } + } + return false; + }, + getPhoneNumber1(e) { + var that = this; + console.log(e); + console.log(e.detail.errMsg); + + that.close(); + // console.log(e); + // console.log(e.detail.errMsg) + // console.log(e.detail.iv) + // console.log(e.detail.encryptedData) + + if ("getPhoneNumber:ok" == e.detail.errMsg) { + //同意 + var iv = e.detail.iv; + var encryptedData = e.detail.encryptedData; + wx.checkSession({ + success() { + //session_key 未过期,并且在本生命周期一直有效 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: that.data.wxCode, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.onScrollToLower(); + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + }, + fail() { + // session_key 已经失效,需要重新执行登录流程 + wx.login({ + success(res) { + if (res.code) { + console.log(res.code); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: res.code, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + } else { + console.log("获取手机号失败!" + res.errMsg); + } + }, + }); + }, + }); + } else { + //拒绝 + if (e.currentTarget.dataset.type != "close") { + try { + wx.setStorageSync("comeFromPage", "index"); + } catch (e) { + console.log("index-页面跳转,设置参数错误:", e); + } + + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + that.close(); + } + } + return false; + }, + getAgencyUserId(id) { + var that = this; + wx.request({ + url: app.globalData.ip + "/channel/contact/getAgencyUserId", + method: "GET", + header: app.globalData.header, + data: { + channelContactId: id, + }, + success: function (res) { + console.log("获取来源对应的代理人,来源ID:", id); + console.log(res); + try { + if (app.isNotEmptyCheck(res.data.data)) { + wx.setStorageSync("storageSyncAgencyUserId", res.data.data); + } + //先设置代理人缓存人再登录 + app.getLoginUserTokenInfo(); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + //先设置代理人缓存人再登录 + app.getLoginUserTokenInfo(); + } + }, + fail: function (res0) { + console.log("获取来源对应的代理人错误", id); + }, + }); + }, + collectPaste(e) { + var txt; + var that = this; + if (!this.data.isLogin) { + wx.navigateTo({ + url: "/pages/login/index", + }); + return; + } + var collected = e.currentTarget.dataset.collected; + var storeJobId = e.currentTarget.dataset.jobid; + that.doCollected(collected, storeJobId); + // console.log(collected); + // if(!this.data.isCollect){ + // that.setData({ + // isCollect: true, + // collectTxt:'已收藏' + // }) + // txt = '收藏成功' + // }else{ + // that.setData({ + // isCollect: false, + // collectTxt:'收藏' + // }) + // } + }, + doCollected(collected, storeJobId) { + var that = this; + var url = "/user/collect/job/add"; + if (collected - 1 == 0) { + url = "/user/collect/job/remove"; + } + console.log(app.globalData.headers); + //发起网络请求 + wx.request({ + url: app.globalData.ip + url, + data: { + storeJobId: storeJobId, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + var txt; + if (collected - 1 == 0) { + //取消收藏 + for (var i = 0; i != that.data.recordList.length; ++i) { + if (that.data.recordList[i].id - storeJobId == 0) { + that.data.recordList[i].collected = 2; + break; + } + } + txt = "取消收藏"; + that.data.currentJobDrawer.collected = 2; + + if (that.data.choiceCollect == 1) { + if (that.data.drawerShow) { + that.data.drawerShow = false; + } + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + drawerShow: that.data.drawerShow, + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } + } else { + //收藏 + for (var i = 0; i != that.data.recordList.length; ++i) { + if (that.data.recordList[i].id - storeJobId == 0) { + that.data.recordList[i].collected = 1; + break; + } + } + that.data.currentJobDrawer.collected = 1; + + txt = "收藏成功"; + } + + console.log(that.data.currentJobDrawer); + + that.setData({ + recordList: that.data.recordList, + currentJobDrawer: that.data.currentJobDrawer, + isLogin: app.globalData.isLogin, + }); + wx.showToast({ + icon: "none", + title: txt, + }); + }, + fail: function (res) { + console.log("操作失败"); + }, + }); + }, + getUserInfoBtn: function (e) { + console.log(e); + let that = this; + let type = e.currentTarget.dataset.type; + var collected = e.currentTarget.dataset.collected; + var storeJobId = e.currentTarget.dataset.jobid; + let idx = e.currentTarget.dataset.idx; + console.log(type); + wx.getUserProfile({ + desc: "用于完善会员资料", // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 + success: (res) => { + console.log(res); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/updateUserWechatInfo", + data: { + nickName: res.userInfo.nickName, + avatarUrl: res.userInfo.avatarUrl, + gender: res.userInfo.gender, + country: res.userInfo.country, + province: res.userInfo.province, + city: res.userInfo.city, + }, + method: "POST", + header: app.globalData.headers, + success: function (res) { + console.log(res); + app.globalData.hasUserInfo = 1; + that.setData({ + hasUserInfo: 1, + }); + that.doMenuClick(type, collected, storeJobId, idx); + }, + fail: function (res) { + that.doMenuClick(type, collected, storeJobId, idx); + }, + }); + }, + fail: (res) => { + console.log(res); + that.doMenuClick(type, collected, storeJobId, idx); + }, + }); + }, + doMenuClick: function (_type, _collected, _storeJobId, _idx) { + let that = this; + if (_type - 1 == 0) { + //点击全国 + that.goCity(); + } else if (_type - 2 == 0) { + //搜索 + } else if (_type - 3 == 0) { + //筛选 + that.goScreen(); + } else if (_type - 4 == 0) { + //收藏 + that.doCollected(_collected, _storeJobId); + } else if (_type - 5 == 0) { + //报名 + wx.setStorageSync("jobDetailStorage", that.data.recordList[_idx]); + wx.navigateTo({ + url: "../enroll/index?applyType=1&tel=" + app.globalData.loginUserInfo.tel, + }); + } + }, + changSign(e) { + let that = this; + console.log(e); + that.data.storeJobListSearchForm.pageNum = 1; + if (e.target.dataset.type == 0 && that.data.signType != 0) { + that.data.storeJobListSearchForm.signType = ""; + that.setData({ + signType: e.target.dataset.type, + recordList: [], + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } else if (e.target.dataset.type == 1 && that.data.signType != 1) { + that.data.storeJobListSearchForm.signType = 1; + that.setData({ + signType: e.target.dataset.type, + recordList: [], + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } else if (e.target.dataset.type == 2 && that.data.signType != 2) { + that.data.storeJobListSearchForm.signType = 2; + that.setData({ + signType: e.target.dataset.type, + recordList: [], + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } + }, + /** + * 收藏的切换 + * + * + */ + collectChange(e) { + let that = this; + if (that.data.isLogin || (!that.data.isLogin && e.currentTarget.dataset.id == 0)) { + if (e.currentTarget.dataset.id) { + that.data.choiceCollect = e.currentTarget.dataset.id; + that.data.storeJobListSearchForm.ucj = e.currentTarget.dataset.id; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + choiceCollect: that.data.choiceCollect, + storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + hasMoreData: false, + }); + that.getJobList(); + } + } else { + that.setData({ + recordList: [], + hasMoreData:false, + choiceCollect: 1, + }); + // } + } + }, + choiceFilter(e) { + var that = this; + // let str = that.data.activez + let str = e.currentTarget.dataset.id; + if (str == "all") { + that.data.storeJobListSearchForm.sortTag = 0; + that.setData({ + firstMenu: "排序", + // storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + } else if (str == "zuijin") { + //距离最近 + if (that.data.storeJobListSearchForm.lng && that.data.storeJobListSearchForm.lat) { + that.data.storeJobListSearchForm.sortTag = 2; + that.setData({ + firstMenu: "距离", + // storeJobListSearchForm: tha t.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + } else { + wx.getLocation({ + type: "gcj02", + success(res1) { + console.log("获取位置1"); + app.globalData.lng = res1.longitude; + app.globalData.lat = res1.latitude; + that.data.storeJobListSearchForm.lng = res1.longitude; + that.data.storeJobListSearchForm.lat = res1.latitude; + that.data.storeJobListSearchForm.sortTag = 2; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + firstMenu: "距离", + storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + // var promise = new Promise(function(resolve,reject){ + // that.getJobList(); + // }); + }, + fail() { + console.log("获取位置失败,打开位置设置界面"); + // wx.openSetting({ + // success(res) { + // console.log(res.authSetting); + // if (res.authSetting["scope.userLocation"]) { + // wx.getLocation({ + // type: "gcj02", + // success(res1) { + // console.log("获取位置2"); + // console.log(res1); + // app.globalData.lng = res1.longitude; + // app.globalData.lat = res1.latitude; + + // that.data.storeJobListSearchForm.sortTag = 2; + // that.data.storeJobListSearchForm.lng = res1.longitude; + // that.data.storeJobListSearchForm.lat = res1.latitude; + // that.data.storeJobListSearchForm.pageNum = 1; + // that.setData({ + // storeJobListSearchForm: that.data.storeJobListSearchForm, + // recordList: [], + // }); + // that.getJobList().then(() => { + // that.setData({ + // siv: "menu", + // }); + // }); + // }, + // fail() {}, + // }); + // } + // }, + // }); + }, + }); + } + } else if (str == "zuigao") { + //工价最高 + that.data.storeJobListSearchForm.sortTag = 1; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + storeJobListSearchForm: that.data.storeJobListSearchForm, + firstMenu: "排序", + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + } + that.setData({ + activez: str, + }); + that.setData({ + whichOneShow: "", + siv: "", + }); + // setTimeout(() => { + // that.setData({ + // whichOneShow: "", + // }); + // console.log(this.data.whichOneShow); + // console.log("112233"); + // }, 1); + }, + /** + * 清除所有的筛选项 + * + * + */ + clearFilter() { + let that = this; + that.data.jobSpecialLabelList.forEach((item) => { + // console.log(item); + if (item.checked) { + item.checked = false; + } + }); + that.data.brandList.forEach((item) => { + if (item.checked) { + item.checked = false; + } + }); + that.data.storeJobListSearchForm.jobSpecialLabelIds = ""; + // that.data.storeJobListSearchForm.ucj = + // that.data.storeJobListSearchForm.brandIds = ""; + that.data.storeJobListSearchForm.jobCategoryLabelIds = ""; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + jobSpecialLabelList: that.data.jobSpecialLabelList, + tagArray0: that.data.tagArray0, + tagArray1: that.data.tagArray1, + tagArray2: that.data.tagArray2, + tagArray3: that.data.tagArray3, + brandList: that.data.brandList, + selectJobList: [], + selectBrandList: [], + recordList: [], + whichOneShow: "", + firstMenu: "排序", + secondMenu: "不限", + sexid: -1, + activez: "zuigao", + }); + // that.choiceFilter({ + // currentTarget: { + // dataset: { + // id: "all", + // }, + // }, + // }); + // that.choiceSex({ + // currentTarget: { + // dataset: { + // id: "-1", + // }, + // }, + // }); + that.getJobList(); + }, + scroll(e) { + return false; + }, + stoptap(e) { + return false; + }, + changeContact() { + console.log(2123); + wx.navigateTo({ + url: `/pages/configAnnunciate/index`, + }); + }, + /** + * 简版报名 + * + * + */ + recordBill(e) { + + var that = this; +console.log(this.data.isLogin); + + if (!this.data.isLogin) { + // debugger + wx.setStorageSync("comeFromPage", "shareList"); + // wx.setStorageSync("baomingDetail",argument); + wx.navigateTo({ + url: "/pages/login/index", + }); + return; + } + // if (!this.data.isLogin) { + // wx.navigateTo({ + // url: "/pages/login/index", + // }); + // return; + // } + console.log(e.currentTarget.dataset.job); + console.log(123); + let middleInfo = e.currentTarget.dataset.job; + let info = JSON.stringify({ + id: middleInfo.id, + jobName: middleInfo.jobName, + storeName: middleInfo.storeName, + aliasName: middleInfo.aliasName, + storeId: middleInfo.storeId, + }); + console.log(info); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${info}`, + }); + // wx.navigateTo({ + // url: `../newEnroll/enroll/index?applyType=1&info=${info}`, + // }); + }, + imageLoad() { + this.setData({ + isLoading: false, + }); + }, + closeDialog() { + this.setData({ + iosDialog: false, + }); + }, + showLeft() { + this.setData({ + leftShow: true, + }); + }, + hideLeft() { + this.setData({ + leftShow: false, + whichOneShow: "", + }); + console.log(this.data.innerFilter); + if (!this.data.innerFilter) { + this.setData({ + filterData: JSON.parse(JSON.stringify(this.data.copyList)), + }); + } + }, + /** + * 阻止滑动穿透 + * + * + */ + modalMove() { + return false; + }, + /** + * 获取搜索轮播的关键字索引 + * + * + */ + getSwiperIndex(e) { + // console.dir(e); + if (e.detail.current) { + this.setData({ + placeholderText: this.data.swiperTextList[e.detail.current], + }); + // console.log(this.data.swiperTextList[e.detail.current]); + // console.log(this.data.placeholderText); + } + }, + onPageScroll(e) {}, + drawerTouchStart(event) { + this.handletouchtart(event); + }, + drawerTouchMove(event) { + let tx = this.handletouchmove(event); + console.log(tx); + if (tx.ty > 100) { + this.hideDrawer(); + } + }, + filterTouchMove(event) { + let tx = this.handletouchmove(event); + if (tx.tx < -100) { + this.setData({ + leftShow: false, + }); + } + }, + filterTouchStart(event) { + this.handletouchtart(event); + }, + listTouchMove(event) { + if (event.detail.scrollTop - this.data.listPosition > 15 && this.data.halfHide == false) { + this.setData({ + halfHide: true, + }); + } else if (event.detail.scrollTop - this.data.listPosition < -15 && this.data.halfHide == true) { + this.setData({ + halfHide: false, + }); + } + if (event.detail.scrollTop > 200) { + // wx.setTabBarItem({ + // index: 0, + // text: "回顶部", + // iconPath: "/assets/images/ysd.png", + // selectedIconPath: "/assets/images/top.png", + // success: (e) => {}, + // fail(e) { + // console.log(e); + // }, + // }); + } else if (event.detail.scrollTop <= 200) { + // wx.setTabBarItem({ + // index: 0, + // text: "首页", + // iconPath: "/assets/images/ysd.png", + // selectedIconPath: "/assets/images/ysd1.png", + // success: (e) => {}, + // fail(e) { + // console.log(e); + // }, + // }); + } + // console.log(event); + }, + listTouchStart(event) { + this.data.listPosition = event.detail.scrollTop; + }, + + /** + * 页面滑动事件监听 + * + * + */ + handletouchmove: function (event) { + let that = this; + var currentX = event.touches[0].pageX; + var currentY = event.touches[0].pageY; + var tx = currentX - this.data.lastX; + var ty = currentY - this.data.lastY; + var text = ""; + //左右方向滑动 + if (Math.abs(tx) > Math.abs(ty)) { + return { + tx, + }; + } + //上下方向滑动 + else { + return { + ty, + }; + } + }, + // 触摸开始事件 + handletouchtart: function (event) { + this.data.lastX = event.touches[0].pageX; + this.data.lastY = event.touches[0].pageY; + }, + searchAnimate() { + let that = this; + wx.createSelectorQuery() + .select("#listBox") + .fields( + { + scrollOffset: true, + size: true, + }, + (res) => { + this.animate( + "#searchInputBox", + [ + { + // paddingTop: "10px", + // paddingBottom: "10px", + top: "10px", + width: "100%", + // height: "40px", + // backgroundColor: "#f5f5f5", + }, + { + // paddingTop: that.data.statusBarHeight + (that.data.navigationBarHeight - that.data.menuButtonHeight) / 2 + "px", + // paddingBottom: "30px", + top: "-48px", + width: "70%", + // height: "84px", + // backgroundColor: "#ff4400", + // paddingTop:'100px', + }, + ], + 800, + { + scrollSource: "#listBox", + timeRange: 1000, + startScrollOffset: 0, + endScrollOffset: 60, + } + ); + this.animate( + "#searchInput", + [ + { + backgroundColor: '#fff' + }, + { + backgroundColor: '#f5f5f5' + }, + ], + 500, + { + scrollSource: "#listBox", + timeRange: 1000, + startScrollOffset: 0, + endScrollOffset: 90, + } + ); + this.animate( + "#sticky", + [ + { + marginTop: "50px", + // top: "0px", + }, + { + marginTop: "0px", + // top: "-272px", + }, + ], + 2000, + { + scrollSource: "#listBox", + timeRange: 2000, + startScrollOffset: 50, + endScrollOffset: 362, + } + ); + this.animate( + ".daotian", + [ + { + opacity: "1", + }, + { + opacity: "0", + }, + ], + 1000, + { + scrollSource: "#listBox", + timeRange: 1000, + startScrollOffset: 0, + endScrollOffset: 90, + } + ); + this.animate( + ".goback", + [ + { + opacity: "1", + fontSize:'24px' + }, + { + opacity: "0", + fontSize:'0' + }, + ], + 1000, + { + scrollSource: "#listBox", + timeRange: 1000, + startScrollOffset: 0, + endScrollOffset: 10, + } + ); + } + ) + .exec(); + }, + + // tabbar点击监听 + onTabItemTap(e) { + console.log(e); + let that = this; + that.setData({ + topNum: 1, + }); + }, + onHide() { + this.setData({ + whichOneShow: "", + // topNum: 1, + }); + }, + onUnload() { + console.log("destory"); + }, + goList() { + wx.navigateTo({ + url: "/pages/filterPage/index", + }); + }, + goIndex(){ + wx.switchTab({ + url: '../index/index', + }) + }, +}); diff --git a/pages/shareList/index.json b/pages/shareList/index.json new file mode 100644 index 0000000..595bfe1 --- /dev/null +++ b/pages/shareList/index.json @@ -0,0 +1,5 @@ +{ + "navigationBarTitleText": "职位列表", + "backgroundColor": "#f5f5f5" + +} \ No newline at end of file diff --git a/pages/shareList/index.wxml b/pages/shareList/index.wxml new file mode 100644 index 0000000..03acce8 --- /dev/null +++ b/pages/shareList/index.wxml @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{item.jobName || item.aliasName}} + {{item.salaryClassifyValue}} + + + + + {{item.district == "" ?'':item.district + ' | ' }} + {{item.distanceKm}} + {{item.age}} + + {{item.monthlyPay}} + + + + + + + + + 热推 + + {{item1}} + + 暂无特色 + + + + 报名 + + + 报名 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pages/shareList/index.wxss b/pages/shareList/index.wxss new file mode 100644 index 0000000..3d2786d --- /dev/null +++ b/pages/shareList/index.wxss @@ -0,0 +1,28 @@ +@import "../index/index.wxss"; +.goback { + position: absolute; + color: #000; + left: 0px; + /* top: 40px; */ + transform: translateY(-50%); + margin-left: 5px; + height: 24px; + font-size: 24px; + font-weight: 400; + z-index: 99999; +} +button.loginOut{ + width: 260px !important; + height: 48px; + font-weight: 500; + border-radius: 25px; + font-size: 18px; + padding: 0; + color: #ffffff; + line-height: 48px; +} +button.wxBtn { + background-color: #fff !important; + color: var(--color-ysd); + border: 1px solid var(--color-ysd); +} \ No newline at end of file diff --git a/pages/test/index.js b/pages/test/index.js new file mode 100644 index 0000000..464e435 --- /dev/null +++ b/pages/test/index.js @@ -0,0 +1,32 @@ +// pages/test/index.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + questList: [{ + questions: 'Q:这是问题', + answers: "A:答案内答案内容答案内容答案内容答案内容答案内容答案内容容容答案内容容容答案内容容", + t:false, + }, { + questions: 'Q:这是问题', + answers: "A:答案内答案内容答案内容答案内容答案内容答案内容答案内容容容答案内容容容答案内容容", + t:false, + }, { + questions: 'Q:这是问题', + answers: "A:答案内答案内容答案内容答案内容答案内容答案内容答案内容容容答案内容容容答案内容容", + t:false, + }], + }, +// 折叠面板 + panel: function (e) { + this.data.questList.forEach(item =>{ + item.t = false + }) + this.data.questList[e.currentTarget.dataset.index].t = !this.data.questList[e.currentTarget.dataset.index].t + this.setData({ + questList:this.data.questList + }) + }, +}) \ No newline at end of file diff --git a/pages/test/index.json b/pages/test/index.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/test/index.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/test/index.wxml b/pages/test/index.wxml new file mode 100644 index 0000000..e2a9884 --- /dev/null +++ b/pages/test/index.wxml @@ -0,0 +1,8 @@ + + + + {{item.questions}} + + {{item.answers}} + + \ No newline at end of file diff --git a/pages/test/index.wxss b/pages/test/index.wxss new file mode 100644 index 0000000..5176b3f --- /dev/null +++ b/pages/test/index.wxss @@ -0,0 +1,47 @@ +.help { + width: 700rpx; + margin: 0 auto; +} +.help .help_item { + margin: 10rpx auto; +} +.help .help_item .title { + font-size: 30rpx; + height: 80rpx; + line-height: 80rpx; + border-bottom: 1rpx solid #E6E6E6; + display: flex; +} +.help .help_item .title .title_1 { + width: 630rpx; + height: 80rpx; + padding-left: 20rpx; +} +.help .help_item .title .title_2 { + width: 50rpx; + height: 60rpx; + text-align: center; +} +.help .help_item .title .title_2 image { + margin: 10rpx auto; + width: 25rpx; +} +.help .help_item .detail { + margin: 10rpx auto; + font-size: 25rpx; + line-height: 40rpx; + font-size: 30rpx; + height: 200rpx; + transition: height 1s; + -moz-transition: height 1s; + /* Firefox 4 */ + -webkit-transition: height 1s; + /* Safari and Chrome */ + -o-transition: height 1s; + /* Opera */ + overflow: hidden; + font-size: 28rpx; + color: #1F1F21; + padding-left: 20rpx; + box-sizing: border-box; +} \ No newline at end of file diff --git a/project.config.json b/project.config.json new file mode 100644 index 0000000..d48c1d3 --- /dev/null +++ b/project.config.json @@ -0,0 +1,52 @@ +{ + "description": "项目配置文件,详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", + "setting": { + "urlCheck": true, + "es6": false, + "enhance": true, + "postcss": true, + "preloadBackgroundData": false, + "minified": true, + "newFeature": false, + "coverView": true, + "nodeModules": false, + "autoAudits": false, + "showShadowRootInWxmlPanel": true, + "scopeDataCheck": false, + "uglifyFileName": false, + "checkInvalidKey": true, + "checkSiteMap": true, + "uploadWithSourceMap": true, + "compileHotReLoad": false, + "lazyloadPlaceholderEnable": false, + "useMultiFrameRuntime": true, + "babelSetting": { + "ignore": [], + "disablePlugins": [], + "outputPath": "" + }, + "useIsolateContext": true, + "userConfirmedBundleSwitch": false, + "packNpmManually": false, + "packNpmRelationList": [], + "minifyWXSS": true, + "disableUseStrict": false, + "minifyWXML": true, + "showES6CompileOption": false, + "useCompilerPlugins": false, + "ignoreUploadUnusedFiles": true, + "useStaticServer": true, + "condition": false + }, + "compileType": "miniprogram", + "condition": {}, + "editorSetting": { + "tabIndent": "insertSpaces", + "tabSize": 2 + }, + "appid": "wx0e390bea912ae982", + "packOptions": { + "ignore": [], + "include": [] + } +} \ No newline at end of file diff --git a/project.private.config.json b/project.private.config.json new file mode 100644 index 0000000..ac64285 --- /dev/null +++ b/project.private.config.json @@ -0,0 +1,190 @@ +{ + "setting": { + "compileHotReLoad": true, + "urlCheck": false + }, + "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", + "projectname": "signupAssistant", + "condition": { + "miniprogram": { + "list": [ + { + "name": "实名认证", + "pathName": "pages/realName1/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "首页", + "pathName": "pages/index/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "审核中", + "pathName": "pages/myBill/index", + "query": "status=20", + "launchMode": "default", + "scene": null + }, + { + "name": "实名认证", + "pathName": "pages/realName1/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "实名认证", + "pathName": "pages/seeldCard/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "修改地址", + "pathName": "pages/addAddress/index", + "query": "id=14", + "launchMode": "default", + "scene": null + }, + { + "name": "个人信息", + "pathName": "pages/userDetail/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/ceshi/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/myBill/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "报名", + "pathName": "pages/workBench/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/wodeBillDetail/index", + "query": "scene=factoryBillId%3D147%2CagencyId%3D3026", + "launchMode": "default", + "scene": 1047 + }, + { + "name": "", + "pathName": "pages/returnMessage/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/bocaiTV/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/bocaiTVConfig/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/makeInfo/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/IDCardWithNFC/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/realName1/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/addressPage/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/secret/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/bocaiTV/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "详情", + "pathName": "pages/detail/index", + "query": "storeJobId=8666&wxCode=", + "launchMode": "default", + "scene": null + }, + { + "name": "收藏", + "pathName": "pages/collect/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "分享识别职位", + "pathName": "pages/shareList/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/test/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/newEnroll/enroll/index", + "query": "applyType=1&info=%7B%22agencyMode1%22%3A%22%22%2C%22agencyMode3%22%3A%22%22%2C%22interviewDuration%22%3A%22%E4%B8%8B%E5%8D%88%E5%9B%9B%E7%82%B9%E9%97%A8%E5%BA%97%E7%BB%9F%E4%B8%80%E9%9B%86%E5%90%88%E5%8F%91%E8%BD%A6%EF%BC%8C%E7%9C%81%E5%A4%96%E5%8F%91%E8%BD%A6%E7%9B%B4%E6%8E%A5%E5%8E%BB%E5%8E%82%E5%8C%BA%E9%9B%86%E5%90%88%22%2C%22agencyMode2%22%3A%22%22%2C%22paySubject%22%3A%22%22%2C%22salaryStructure%22%3A%22%22%2C%22workingLunch%22%3A%22%E5%90%83%E9%A5%AD%E8%87%AA%E7%90%86%22%2C%22idCard%22%3A%22%22%2C%22numMale%22%3A0%2C%22salary%22%3A%22%22%2C%22workClasses%22%3A%22%E4%B8%A4%E7%8F%AD%E5%80%92%22%2C%22minDay%22%3A%22%22%2C%22probation%22%3A%22%E6%97%A0%E8%AF%95%E7%94%A8%E6%9C%9F%22%2C%22calcType%22%3A%22%22%2C%22maxMonthlyPay%22%3A%227000%22%2C%22signType%22%3A%22%22%2C%22dormType%22%3A%22%22%2C%22reimbursement%22%3A%22%22%2C%22state%22%3A1%2C%22otherInfo%22%3A%22%22%2C%22bankInfo%22%3A%22%E5%9B%9B%E5%A4%A7%E8%A1%8C%22%2C%22interviewLng%22%3A%22%22%2C%22workingTime%22%3A%22%22%2C%22mealCardDeposit%22%3A%22%22%2C%22maxAgeWoman%22%3A50%2C%22hourlyPay%22%3A%22260%E5%85%83%2F%E5%A4%A9%22%2C%22version%22%3A%22f49ad05e8122468c9303d02dc2cb1752%22%2C%22meettingLng%22%3A%22%22%2C%22paymentSalaryTypeDesp%22%3A%22%22%2C%22agencyProfit%22%3A%2225%E5%85%83%2F%E5%A4%A9*%E6%94%AF%E4%BB%98%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8B%E5%85%8D%E8%B7%AF%E8%B4%B9%E5%8F%91%E8%BD%A6%E6%88%96%E8%87%AA%E8%A1%8C%E5%89%8D%E5%8E%BB%E5%85%A5%E8%81%8C%E8%BD%A6%E8%A1%A5150%E5%85%83%22%2C%22minHour%22%3A%22%22%2C%22otherDesp%22%3A%22%22%2C%22outListTime%22%3A%22%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%22%2C%22boonDesp%22%3A%22%22%2C%22basicSalary%22%3A%22%22%2C%22entryInformation%22%3A%22%22%2C%22telSubsidy%22%3A%22%22%2C%22foregift%22%3A%5B%5D%2C%22baseInfo%22%3A%22%22%2C%22normalPercent%22%3A0%2C%22jobCategory%22%3A1%2C%22muslim%22%3A%22%22%2C%22totalProfit%22%3A%2230%E5%85%83%2F%E5%A4%A9*%E6%94%AF%E4%BB%98%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8B%E5%85%8D%E8%B7%AF%E8%B4%B9%E5%8F%91%E8%BD%A6%E6%88%96%E8%87%AA%E8%A1%8C%E5%89%8D%E5%8E%BB%E5%85%A5%E8%81%8C%E8%BD%A6%E8%A1%A5150%E5%85%83%22%2C%22workMode%22%3A%22%E7%AB%99%E7%8F%AD%22%2C%22storeJobNoticeId%22%3A22172%2C%22dormitory%22%3A%22%E4%BD%8F%E5%AE%BF%E5%85%8D%E8%B4%B9%EF%BC%8C%E5%8E%82%E5%8C%BA%E5%85%8D%E8%B4%B9%E6%8F%90%E4%BE%9B%E8%A2%AB%E8%A4%A5%EF%BC%8C%E6%B0%B4%E7%94%B5%E5%9D%87%E6%91%8A%22%2C%22leaveRequire%22%3A%22%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E4%BA%BA%E8%B5%B0%E8%B4%A6%E6%B8%85%22%2C%22fullDegree%22%3A93%2C%22jobNamePrefix%22%3A%22%22%2C%22combiSalary%22%3A%22%22%2C%22onSiteTransfers%22%3A%22%22%2C%22promote%22%3A%22%22%2C%22mealSubsidyDesp%22%3A%22%22%2C%22endDay%22%3A%22%22%2C%22paymentCycle%22%3A%22%22%2C%22onSiteRemark%22%3A%22%E6%B5%99%E6%B1%9F%E6%B8%A9%E5%B7%9E%E9%A1%BA%E4%B8%B0%E7%9F%AD%E6%9C%9F%E6%97%A5%E7%BB%93%E5%B7%A5%5Cr%5Cn%5Cr%5Cn%E9%A9%BB%E5%9C%BA%EF%BC%9A19036980027%EF%BC%88%E6%8E%A5%E5%BE%85%E9%9D%A2%E8%AF%95%EF%BC%89%5Cr%5Cn%5Cr%5Cn%E2%9A%A0%E6%B3%A8%E6%84%8F%EF%BC%9A%E8%81%94%E7%B3%BB%E4%B8%8D%E4%B8%8A%E9%A9%BB%E5%9C%BA%EF%BC%8C%E9%9D%A2%E8%AF%95%E6%9C%89%E4%BB%BB%E4%BD%95%E9%97%AE%E9%A2%98%EF%BC%8C%E7%9B%B4%E6%8E%A5%E8%81%94%E7%B3%BB%E8%A2%81%E8%80%81%E5%B8%8819036980019%22%2C%22agencyStatement%22%3A%22%22%2C%22salaryClassify%22%3A1%2C%22recruitmentStartTime%22%3A1697536103000%2C%22blacklist%22%3A%22%22%2C%22holidayRestDays%22%3A%22%22%2C%22sweetTips%22%3A%22%22%2C%22storeId%22%3A13948%2C%22returnFeeType%22%3A1%2C%22waterAndElec%22%3A%22%22%2C%22roomSubsidy%22%3A%22%22%2C%22dormitoryDesp%22%3A%5B%22%E5%BD%93%E5%A4%A9%E5%AE%89%E6%8E%92%E4%BD%8F%E5%AE%BF%22%5D%2C%22deleted%22%3A2%2C%22createTime%22%3A1697534476000%2C%22maxAgeMan%22%3A55%2C%22lastEntryLeaveTime%22%3A%22%22%2C%22bus%22%3A%22%22%2C%22notes%22%3A%221.%E7%89%B9%E5%88%AB%E6%B3%A8%E6%84%8F%EF%BC%9A%E8%A6%81%E6%B1%82%E5%91%98%E5%B7%A5%E5%B9%B2%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E5%B9%B2%E4%B8%8D%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%E4%B8%8D%E5%8F%91%EF%BC%8C%E6%97%A0%E7%89%B9%E6%AE%8A%E6%83%85%E5%86%B5%E4%B8%8D%E5%85%81%E8%AF%B7%E5%81%87%E3%80%82%E8%AF%B7%E5%81%87%E4%B8%80%E5%A4%A9%E5%90%8E%E6%8C%89220%E5%85%83%E5%BC%80%E5%B7%A5%E8%B5%84%E3%80%82%E5%A6%82%E9%81%87%E5%B9%B2%E5%8D%8A%E5%A4%A9%E7%8F%AD%E7%9A%84%E5%BD%93%E5%A4%A9%E6%B2%A1%E6%9C%89%E5%B7%A5%E8%B5%84%EF%BC%8C%E8%A6%81%E6%B1%82%E5%B9%B2%E5%88%B02023%E5%B9%B411%E6%9C%8817%E5%8F%B7%E5%90%8E%5Cn2.%E5%8E%8B%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%90%8E%E6%97%A5%E7%BB%93%EF%BC%8C%E8%B6%85%E5%87%BA%E6%88%96%E4%B8%8D%E8%B6%B312%E4%B8%AA%E5%B0%8F%E6%97%B6%EF%BC%8C%E6%8C%8922%E5%85%83%2F%E5%B0%8F%E6%97%B6%E6%A0%B8%E7%AE%97%22%2C%22dormitoryCost%22%3A%22%22%2C%22salaryEnd%22%3A%22%22%2C%22calculationUnit%22%3A%22%22%2C%22idCardType%22%3A%221%22%2C%22hasInterviewAddr%22%3A1%2C%22starLevelId%22%3A%22%22%2C%22yearRestDays%22%3A%22%22%2C%22salaryType%22%3A1%2C%22holidaySalary%22%3A%22%22%2C%22allFieldsStr%22%3A%22StoreJobEs%7Bid3D9674%2C%20supplierId3D40%2C%20storeId3D13948%2C%20jobName3D'%E6%B5%99%E6%B1%9F%E6%B8%A9%E5%B7%9E%E9%A1%BA%E4%B8%B0%E7%9F%AD%E6%9C%9F%E6%97%A5%E7%BB%93%E5%B7%A5'%2C%20storeName3D'%E6%B5%99%E6%B1%9F%E9%A1%BA%E4%B8%B0%E5%BF%AB%E9%80%92'%2C%20brandName3D'%E9%A1%BA%E4%B8%B0%E5%BF%AB%E9%80%92'%2C%20notes3D'1.%E7%89%B9%E5%88%AB%E6%B3%A8%E6%84%8F%EF%BC%9A%E8%A6%81%E6%B1%82%E5%91%98%E5%B7%A5%E5%B9%B2%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E5%B9%B2%E4%B8%8D%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%E4%B8%8D%E5%8F%91%EF%BC%8C%E6%97%A0%E7%89%B9%E6%AE%8A%E6%83%85%E5%86%B5%E4%B8%8D%E5%85%81%E8%AF%B7%E5%81%87%E3%80%82%E8%AF%B7%E5%81%87%E4%B8%80%E5%A4%A9%E5%90%8E%E6%8C%89220%E5%85%83%E5%BC%80%E5%B7%A5%E8%B5%84%E3%80%82%E5%A6%82%E9%81%87%E5%B9%B2%E5%8D%8A%E5%A4%A9%E7%8F%AD%E7%9A%84%E5%BD%93%E5%A4%A9%E6%B2%A1%E6%9C%89%E5%B7%A5%E8%B5%84%EF%BC%8C%E8%A6%81%E6%B1%82%E5%B9%B2%E5%88%B02023%E5%B9%B411%E6%9C%8817%E5%8F%B7%E5%90%8E%5Cn2.%E5%8E%8B%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%90%8E%E6%97%A5%E7%BB%93%EF%BC%8C%E8%B6%85%E5%87%BA%E6%88%96%E4%B8%8D%E8%B6%B312%E4%B8%AA%E5%B0%8F%E6%97%B6%EF%BC%8C%E6%8C%8922%E5%85%83%2F%E5%B0%8F%E6%97%B6%E6%A0%B8%E7%AE%97'%2C%20salaryDetail3D'%E8%96%AA%E8%B5%84%EF%BC%9A260%E5%85%83%2F%E5%A4%A9%EF%BC%8C%E5%B7%A5%E6%9C%9F20~30%E5%A4%A9%EF%BC%8C%E5%85%B7%E4%BD%93%E4%BB%A5%E9%80%9A%E7%9F%A5%E4%B8%BA%E5%87%86%EF%BC%8C%E5%8E%8B%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%90%8E%E6%97%A5%E7%BB%93%EF%BC%8C%E8%B6%85%E5%87%BA%E6%88%96%E4%B8%8D%E8%B6%B312%E4%B8%AA%E5%B0%8F%E6%97%B6%EF%BC%8C%E6%8C%8922%E5%85%83%2F%E5%B0%8F%E6%97%B6%E6%A0%B8%E7%AE%97'%2C%20bankInfo3D'%E5%9B%9B%E5%A4%A7%E8%A1%8C'%2C%20probation3D'%E6%97%A0%E8%AF%95%E7%94%A8%E6%9C%9F'%2C%20boon3D'%E6%97%A0'%2C%20training3D'%E6%97%A0%E5%9F%B9%E8%AE%AD'%2C%20maxAge3D55%2C%20minAge3D18%2C%20maxAgeMan3D18%2C%20minAgeMan3D18%2C%20maxAgeWoman3D50%2C%20minAgeWoman3D18%2C%20education3D'%E4%BC%9A%E7%8E%A9%E6%99%BA%E8%83%BD%E6%89%8B%E6%9C%BA%EF%BC%8C%E8%AF%86%E5%AD%97'%2C%20idCard3D''%2C%20otherRequire3D''%2C%20healthRequire3D'%E4%B8%8D%E4%BD%93%E6%A3%80'%2C%20workContent3D'%E5%91%98%E5%B7%A5%E5%B7%A5%E4%BD%9C%3A%E5%88%86%E6%8B%A3%EF%BC%8C%E6%89%AB%E6%8F%8F%EF%BC%8C%E5%B0%8F%E4%BB%B6%E8%A3%85%E5%8D%B8%EF%BC%8C%E5%B9%B2%E8%BF%87%E7%9A%84%E9%83%BD%E7%9F%A5%E9%81%93%EF%BC%8C%E5%B7%A5%E4%BD%9C%E7%89%B9%E5%88%AB%E8%BD%BB%E6%9D%BE%E3%80%82%E5%85%A8%E9%83%A8%E5%B0%8F%E4%BB%B6%EF%BC%8C%E5%85%A8%E9%83%A8%E5%B0%8F%E4%BB%B6'%2C%20workMode3D'%E7%AB%99%E7%8F%AD'%2C%20workClasses3D'%E4%B8%A4%E7%8F%AD%E5%80%92'%2C%20workClothes3D'%E6%99%AE%E9%80%9A%E5%B7%A5%E8%A1%A3'%2C%20securityCheck3D'%E5%B8%B8%E6%B8%A9%E8%BD%A6%E9%97%B4'%2C%20employeeInsurance3D'%E5%95%86%E4%BF%9D60%E5%85%83%2F%E6%9C%88'%2C%20workingLunch3D'%E5%90%83%E9%A5%AD%E8%87%AA%E7%90%86'%2C%20dormitory3D'%E4%BD%8F%E5%AE%BF%E5%85%8D%E8%B4%B9%EF%BC%8C%E5%8E%82%E5%8C%BA%E5%85%8D%E8%B4%B9%E6%8F%90%E4%BE%9B%E8%A2%AB%E8%A4%A5%EF%BC%8C%E6%B0%B4%E7%94%B5%E5%9D%87%E6%91%8A'%2C%20dormitoryFacilities3D'%E9%85%8D%E5%A5%97%E9%BD%90%E5%85%A8'%2C%20dormDistance3D'%E5%8E%82%E5%8C%BA%E4%BD%8F%E5%AE%BF'%2C%20dormitoryDesp3D'%E5%BD%93%E5%A4%A9%E5%AE%89%E6%8E%92%E4%BD%8F%E5%AE%BF'%2C%20interviewDuration3D'%E4%B8%8B%E5%8D%88%E5%9B%9B%E7%82%B9%E9%97%A8%E5%BA%97%E7%BB%9F%E4%B8%80%E9%9B%86%E5%90%88%E5%8F%91%E8%BD%A6%EF%BC%8C%E7%9C%81%E5%A4%96%E5%8F%91%E8%BD%A6%E7%9B%B4%E6%8E%A5%E5%8E%BB%E5%8E%82%E5%8C%BA%E9%9B%86%E5%90%88'%2C%20onSiteInfo3D'1.%E7%9C%81%E5%A4%96%E5%8F%91%E8%BD%A6%E8%81%94%E7%B3%BB%EF%BC%9A17303712435%E8%92%8B%E6%9D%B0%5Cn2.%E7%9C%81%E5%A4%96%E6%8E%A5%E4%BA%BA%E7%94%B5%E8%AF%9D%EF%BC%9A17303815171%E7%99%BD%E8%80%81%E5%B8%88'%2C%20interviewDesp3D'%E6%8A%A5%E5%90%8D%E6%8A%BC%E9%87%9150%E5%85%83%EF%BC%8C%E4%B8%8A%E8%BD%A6%E9%80%80%EF%BC%8C10%E6%9C%8819%E5%8F%B7%E5%87%86%E6%97%B6%E5%8F%91%E8%BD%A6'%2C%20entryDesp3D'%E8%A6%81%E6%B1%82%E5%91%98%E5%B7%A5%E5%B9%B2%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E5%B9%B2%E4%B8%8D%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%E4%B8%8D%E5%8F%91%EF%BC%8C%E6%97%A0%E7%89%B9%E6%AE%8A%E6%83%85%E5%86%B5%E4%B8%8D%E5%85%81%E8%AF%B7%E5%81%87%E3%80%82%E8%AF%B7%E5%81%87%E4%B8%80%E5%A4%A9%E5%90%8E%E6%8C%89220%E5%85%83%E5%BC%80%E5%B7%A5%E8%B5%84%E3%80%82%E5%A6%82%E9%81%87%E5%B9%B2%E5%8D%8A%E5%A4%A9%E7%8F%AD%E7%9A%84%E5%BD%93%E5%A4%A9%E6%B2%A1%E6%9C%89%E5%B7%A5%E8%B5%84%EF%BC%8C%E8%A6%81%E6%B1%82%E5%B9%B2%E5%88%B02023%E5%B9%B411%E6%9C%8817%E5%8F%B7%E7%BB%93%E6%9D%9F'%2C%20leaveRequire3D'%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E4%BA%BA%E8%B5%B0%E8%B4%A6%E6%B8%85'%2C%20totalProfit3D'30%E5%85%83%2F%E5%A4%A9*%E6%94%AF%E4%BB%98%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8B%E5%85%8D%E8%B7%AF%E8%B4%B9%E5%8F%91%E8%BD%A6%E6%88%96%E8%87%AA%E8%A1%8C%E5%89%8D%E5%8E%BB%E5%85%A5%E8%81%8C%E8%BD%A6%E8%A1%A5150%E5%85%83'%2C%20boCaiProfit3D'5%E5%85%83%2F%E5%A4%A9*%E6%94%AF%E4%BB%98%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8B%E5%85%8D%E8%B7%AF%E8%B4%B9%E5%8F%91%E8%BD%A6%E6%88%96%E8%87%AA%E8%A1%8C%E5%89%8D%E5%8E%BB%E5%85%A5%E8%81%8C%E8%BD%A6%E8%A1%A50%E5%85%83'%2C%20returnFeeType3D1%2C%20returnFee3D2500%2C%20returnFeeDesp3D''%2C%20agencyProfit3D'25%E5%85%83%2F%E5%A4%A9*%E6%94%AF%E4%BB%98%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8B%E5%85%8D%E8%B7%AF%E8%B4%B9%E5%8F%91%E8%BD%A6%E6%88%96%E8%87%AA%E8%A1%8C%E5%89%8D%E5%8E%BB%E5%85%A5%E8%81%8C%E8%BD%A6%E8%A1%A5150%E5%85%83'%2C%20deductTaxDesp3D'%E4%B8%8D%E5%90%AB%E7%A8%8E'%2C%20outListTime3D'%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F'%2C%20settlementTime3D'%E4%BA%BA%E8%B5%B0%E8%B4%A6%E6%B8%85'%2C%20maxMonthlyPay3D700000%2C%20minMonthlyPay3D600000%2C%20salaryDesp3D'%E5%8E%8B%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%90%8E%E6%97%A5%E7%BB%93'%2C%20jobLabelId3Dnull%2C%20jobSpecialLabelId3D'621%2C602%2C605%2C177%2C634%2C551%2C606%2C608'%2C%20jobRequestLabelId3D'369'%2C%20jobCategoryLabelId3D'645'%2C%20jobSpecialLabelName3D'%E5%85%8D%E8%B4%B9%E4%BD%8F%E5%AE%BF%2C%20%E4%BA%A4%E5%95%86%E4%BF%9D%2C%20%E7%9F%AD%E6%9C%9F%E5%B7%A5%2C%20%E5%B7%A5%E8%B5%84%E6%97%A5%E7%BB%93%2C%20%E5%85%8D%E8%B7%AF%E8%B4%B9%2C%20%E4%BB%8A%E6%97%A5%E7%83%AD%E6%8E%A8%2C%20%E4%B8%8D%E4%BD%93%E6%A3%80%2C%20%E5%85%8D%E8%B4%B9%E8%A2%AB%E8%A4%A5'%2C%20jobRequestLabelName3D'%E6%BB%A118%E5%91%A8%E5%B2%81'%2C%20jobCategoryLabelName3D'%E5%BF%AB%E9%80%92%E7%89%A9%E6%B5%81'%2C%20payDay3D'%E5%8E%8B%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%90%8E%E6%97%A5%E7%BB%93%EF%BC%8C%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%E5%90%8E%E4%BA%BA%E8%B5%B0%E8%B4%A6%E6%B8%85'%2C%20foregift3D'%E6%8A%A5%E5%90%8D%E6%8A%BC%E9%87%9150%E5%85%83%EF%BC%8C%E4%B8%8A%E8%BD%A6%E9%80%80'%2C%20salaryClassify3D1%2C%20salaryClassifyValue3D26000%7D%22%2C%22workOvertime%22%3A%22%22%2C%22workingLunchDesp%22%3A%22%22%2C%22desp%22%3A%22%22%2C%22meettingLat%22%3A%22%22%2C%22minAge%22%3A18%2C%22projectId%22%3A%22%22%2C%22sexAge%22%3A%22%22%2C%22boon%22%3A%22%E6%97%A0%22%2C%22otherQuestions%22%3A%22%22%2C%22onSiteInfo%22%3A%221.%E7%9C%81%E5%A4%96%E5%8F%91%E8%BD%A6%E8%81%94%E7%B3%BB%EF%BC%9A17303712435%E8%92%8B%E6%9D%B0%5Cn2.%E7%9C%81%E5%A4%96%E6%8E%A5%E4%BA%BA%E7%94%B5%E8%AF%9D%EF%BC%9A17303815171%E7%99%BD%E8%80%81%E5%B8%88%22%2C%22numberPay%22%3A%22%22%2C%22training%22%3A%22%E6%97%A0%E5%9F%B9%E8%AE%AD%22%2C%22probationDesp%22%3A%22%22%2C%22onDuty%22%3A%22%22%2C%22jobRequestLabelId%22%3A%22369%22%2C%22updater%22%3A%22315822%22%2C%22hasRoomAddr%22%3A1%2C%22payCard%22%3A%22%22%2C%22bedding%22%3A%22%22%2C%22userMode2%22%3A%22%22%2C%22ruleName%22%3A%22%22%2C%22userMode3%22%3A%22%22%2C%22jobType%22%3A%22%22%2C%22workDurationDesp%22%3A%22%22%2C%22userMode1%22%3A%22%22%2C%22dormitoryFacilities%22%3A%22%E9%85%8D%E5%A5%97%E9%BD%90%E5%85%A8%22%2C%22entryAddr%22%3A%22%22%2C%22workTypeMulti%22%3A%22%22%2C%22workDuration%22%3A%22%22%2C%22monthPay%22%3A%22%22%2C%22deliveryDays%22%3A0%2C%22returnFee%22%3A%2225%22%2C%22entryContracts%22%3A%22%22%2C%22jobRequestLabelNames%22%3A%5B%22%E6%BB%A118%E5%91%A8%E5%B2%81%22%5D%2C%22liveSubsidy%22%3A0%2C%22minAgeMan%22%3A18%2C%22numFemale%22%3A0%2C%22education%22%3A%22%E4%BC%9A%E7%8E%A9%E6%99%BA%E8%83%BD%E6%89%8B%E6%9C%BA%EF%BC%8C%E8%AF%86%E5%AD%97%22%2C%22notesUpdateTime%22%3A%22%22%2C%22leaveDesp%22%3A%22%22%2C%22payoffDate%22%3A%22%22%2C%22collected%22%3A2%2C%22cycleWeek%22%3A%22%22%2C%22jobLabelId%22%3A%22%22%2C%22criminalDesp%22%3A%22%22%2C%22specificPolicy%22%3A%22%22%2C%22payType%22%3A%22%22%2C%22recruitment%22%3A1%2C%22offlineAlertTime%22%3A%22%22%2C%22jobSpecialLabelNames%22%3A%5B%22%E5%B7%A5%E8%B5%84%E6%97%A5%E7%BB%93%22%2C%22%E5%85%8D%E8%B7%AF%E8%B4%B9%22%2C%22%E4%BA%A4%E5%95%86%E4%BF%9D%22%2C%22%E5%85%8D%E8%B4%B9%E4%BD%8F%E5%AE%BF%22%2C%22%E5%85%8D%E8%B4%B9%E8%A2%AB%E8%A4%A5%22%2C%22%E4%B8%8D%E4%BD%93%E6%A3%80%22%2C%22%E7%9F%AD%E6%9C%9F%E5%B7%A5%22%2C%22%E4%BB%8A%E6%97%A5%E7%83%AD%E6%8E%A8%22%5D%2C%22nightSubsidy%22%3A%22%22%2C%22regularBus%22%3A%22%22%2C%22id%22%3A9674%2C%22adjustSalaryDesp%22%3A%22%22%2C%22calculationSalaryType%22%3A%22%22%2C%22monRestDays%22%3A%22%22%2C%22urgencyPercent%22%3A0%2C%22workCycle%22%3A%22%22%2C%22idCardStr%22%3A%22%E9%9C%80%E8%A6%81%E8%BA%AB%E4%BB%BD%E8%AF%81%E5%8E%9F%E4%BB%B6%22%2C%22minMonthlyPay%22%3A%226000%22%2C%22mealFee%22%3A%22%22%2C%22returnFeeDesp%22%3A%22%22%2C%22otherRequireStr%22%3A%22%E7%BA%B9%E8%BA%AB%E7%83%9F%E7%96%A4%E9%9C%80%E6%8F%90%E5%89%8D%E7%A1%AE%E8%AE%A4%EF%BC%8C%E4%B8%8D%E6%8E%A5%E6%94%B6%E6%A1%88%E5%BA%95%22%2C%22boCaiProfit%22%3A%225%E5%85%83%2F%E5%A4%A9*%E6%94%AF%E4%BB%98%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8B%E5%85%8D%E8%B7%AF%E8%B4%B9%E5%8F%91%E8%BD%A6%E6%88%96%E8%87%AA%E8%A1%8C%E5%89%8D%E5%8E%BB%E5%85%A5%E8%81%8C%E8%BD%A6%E8%A1%A50%E5%85%83%22%2C%22onlineAlertTime%22%3A1697535982000%2C%22roomSubsidyDesp%22%3A%22%22%2C%22salaryStart%22%3A%22%22%2C%22tattoo%22%3A3%2C%22minAgeWoman%22%3A18%2C%22workByTurns%22%3A%22%22%2C%22gender%22%3A%22%22%2C%22jobRequestDesp%22%3A%22%22%2C%22mealSubsidy%22%3A%22%22%2C%22lastJobUpdator%22%3A%22%E7%8E%8B%E6%A2%A6%E9%9B%A8%22%2C%22staffNum%22%3A0%2C%22entryDesp%22%3A%22%E8%A6%81%E6%B1%82%E5%91%98%E5%B7%A5%E5%B9%B2%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E5%B9%B2%E4%B8%8D%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%E4%B8%8D%E5%8F%91%EF%BC%8C%E6%97%A0%E7%89%B9%E6%AE%8A%E6%83%85%E5%86%B5%E4%B8%8D%E5%85%81%E8%AF%B7%E5%81%87%E3%80%82%E8%AF%B7%E5%81%87%E4%B8%80%E5%A4%A9%E5%90%8E%E6%8C%89220%E5%85%83%E5%BC%80%E5%B7%A5%E8%B5%84%E3%80%82%E5%A6%82%E9%81%87%E5%B9%B2%E5%8D%8A%E5%A4%A9%E7%8F%AD%E7%9A%84%E5%BD%93%E5%A4%A9%E6%B2%A1%E6%9C%89%E5%B7%A5%E8%B5%84%EF%BC%8C%E8%A6%81%E6%B1%82%E5%B9%B2%E5%88%B02023%E5%B9%B411%E6%9C%8817%E5%8F%B7%E7%BB%93%E6%9D%9F%22%2C%22carryTel%22%3A%22%22%2C%22numType%22%3A0%2C%22dayPay%22%3A%22%22%2C%22creator%22%3A%22316329%22%2C%22tripMode%22%3A%22%22%2C%22projectExecutor%22%3A%22%22%2C%22updateTime%22%3A1698202451000%2C%22workClothes%22%3A%22%E6%99%AE%E9%80%9A%E5%B7%A5%E8%A1%A3%22%2C%22dormDistance%22%3A%22%E5%8E%82%E5%8C%BA%E4%BD%8F%E5%AE%BF%22%2C%22sortIdx%22%3A1%2C%22maxAge%22%3A55%2C%22workTimeStr%22%3A%22%22%2C%22interviewAddr%22%3A%22%22%2C%22payDay%22%3A%22%E5%8E%8B%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%90%8E%E6%97%A5%E7%BB%93%EF%BC%8C%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%E5%90%8E%E4%BA%BA%E8%B5%B0%E8%B4%A6%E6%B8%85%22%2C%22trafficSubsidy%22%3A%22%22%2C%22lastJobUpdateTime%22%3A1698202451000%2C%22paymentSalaryType%22%3A%22%22%2C%22otherRequire%22%3A%22%22%2C%22agencyRelateUserMode1%22%3A%22%22%2C%22agencyRelateUserMode3%22%3A%22%22%2C%22agencyRelateUserMode2%22%3A%22%22%2C%22jobSpecialLabelId%22%3A%22621%2C602%2C605%2C177%2C634%2C551%2C606%2C608%22%2C%22dormitoryDistance%22%3A%22%22%2C%22workContent%22%3A%22%E5%91%98%E5%B7%A5%E5%B7%A5%E4%BD%9C%3A%E5%88%86%E6%8B%A3%EF%BC%8C%E6%89%AB%E6%8F%8F%EF%BC%8C%E5%B0%8F%E4%BB%B6%E8%A3%85%E5%8D%B8%EF%BC%8C%E5%B9%B2%E8%BF%87%E7%9A%84%E9%83%BD%E7%9F%A5%E9%81%93%EF%BC%8C%E5%B7%A5%E4%BD%9C%E7%89%B9%E5%88%AB%E8%BD%BB%E6%9D%BE%E3%80%82%E5%85%A8%E9%83%A8%E5%B0%8F%E4%BB%B6%EF%BC%8C%E5%85%A8%E9%83%A8%E5%B0%8F%E4%BB%B6%22%2C%22bonusSalary%22%3A%22%22%2C%22timeType%22%3A%22%22%2C%22healthRequire%22%3A%22%E4%B8%8D%E4%BD%93%E6%A3%80%22%2C%22storeJobNoticeTime%22%3A1698193831000%2C%22entryWeight%22%3A0%2C%22meettingAddr%22%3A%22%22%2C%22performanceSalary%22%3A%22%22%2C%22criminal%22%3A2%2C%22interviewLat%22%3A%22%22%2C%22jobName%22%3A%22%E6%B5%99%E6%B1%9F%E6%B8%A9%E5%B7%9E%E9%A1%BA%E4%B8%B0%E7%9F%AD%E6%9C%9F%E6%97%A5%E7%BB%93%E5%B7%A5%22%2C%22offlineDesp%22%3A%22%22%2C%22startDay%22%3A%22%22%2C%22blacklistDesp%22%3A%22%22%2C%22handoverInfo%22%3A%22%22%2C%22rainbow%22%3A0%2C%22dormitoryAdvance%22%3A%22%22%2C%22standOrSit%22%3A%22%22%2C%22jobDesp%22%3A%22%E3%80%90%E6%B5%99%E6%B1%9F%E6%B8%A9%E5%B7%9E%E9%A1%BA%E4%B8%B0%E7%9F%AD%E6%9C%9F%E6%97%A5%E7%BB%93%E5%B7%A5%E3%80%91%5Cn%5Cn%F0%9F%94%A5%E5%85%8D%E8%B7%AF%E8%B4%B9%E5%8F%91%E8%BD%A6%5Cn%F0%9F%94%A5%E5%85%8D%E8%B4%B9%E6%8F%90%E4%BE%9B%E8%A2%AB%E8%A4%A5%EF%BC%8C%E5%85%8D%E8%B4%B9%E4%BD%8F%E5%AE%BF%5Cn%F0%9F%94%A5%E4%B8%8D%E4%BD%93%E6%A3%80%EF%BC%8C%E4%B8%8D%E9%9D%A2%E8%AF%95%EF%BC%8C%E7%9B%B4%E6%8E%A5%E4%B8%8A%E7%8F%AD%5Cn%5Cn%F0%9F%9A%BB%E7%94%B7%2018-55%EF%BC%9B%E5%A5%B3%2018-50%EF%BC%8C%E4%BC%9A%E7%8E%A9%E6%99%BA%E8%83%BD%E6%89%8B%E6%9C%BA%EF%BC%8C%E8%AF%86%E5%AD%97%EF%BC%8C%E9%9C%80%E8%A6%81%E8%BA%AB%E4%BB%BD%E8%AF%81%E5%8E%9F%E4%BB%B6%EF%BC%8C%E7%BA%B9%E8%BA%AB%E7%83%9F%E7%96%A4%E9%9C%80%E6%8F%90%E5%89%8D%E7%A1%AE%E8%AE%A4%EF%BC%8C%E4%B8%8D%E6%8E%A5%E6%94%B6%E6%A1%88%E5%BA%95%5Cn%5Cn%F0%9F%92%B0%E8%96%AA%E8%B5%84%E5%BE%85%E9%81%87%EF%BC%9A%5Cn%E8%96%AA%E8%B5%84%EF%BC%9A260%E5%85%83%2F%E5%A4%A9%EF%BC%8C%E5%B7%A5%E6%9C%9F20~30%E5%A4%A9%EF%BC%8C%E5%85%B7%E4%BD%93%E4%BB%A5%E9%80%9A%E7%9F%A5%E4%B8%BA%E5%87%86%EF%BC%8C%E5%8E%8B%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%90%8E%E6%97%A5%E7%BB%93%EF%BC%8C%E8%B6%85%E5%87%BA%E6%88%96%E4%B8%8D%E8%B6%B312%E4%B8%AA%E5%B0%8F%E6%97%B6%EF%BC%8C%E6%8C%8922%E5%85%83%2F%E5%B0%8F%E6%97%B6%E6%A0%B8%E7%AE%97%5Cn%5Cn%F0%9F%93%A3%E5%91%98%E5%B7%A5%E5%B7%A5%E4%BD%9C%3A%E5%88%86%E6%8B%A3%EF%BC%8C%E6%89%AB%E6%8F%8F%EF%BC%8C%E5%B0%8F%E4%BB%B6%E8%A3%85%E5%8D%B8%EF%BC%8C%E5%B9%B2%E8%BF%87%E7%9A%84%E9%83%BD%E7%9F%A5%E9%81%93%EF%BC%8C%E5%B7%A5%E4%BD%9C%E7%89%B9%E5%88%AB%E8%BD%BB%E6%9D%BE%E3%80%82%E5%85%A8%E9%83%A8%E5%B0%8F%E4%BB%B6%EF%BC%8C%E5%85%A8%E9%83%A8%E5%B0%8F%E4%BB%B6%5Cn%E2%8F%B0%E4%B8%A4%E7%8F%AD%E5%80%92%EF%BC%8C%E7%AB%99%E7%8F%AD%EF%BC%8C%E5%B8%B8%E6%B8%A9%E8%BD%A6%E9%97%B4%EF%BC%8C%E6%99%AE%E9%80%9A%E5%B7%A5%E8%A1%A3%5Cn%F0%9F%88%B6%E5%95%86%E4%BF%9D60%E5%85%83%2F%E6%9C%88%EF%BC%8C%E4%B8%8D%E4%BD%93%E6%A3%80%5Cn%5Cn%F0%9F%8D%B1%E5%90%83%E9%A5%AD%E8%87%AA%E7%90%86%5Cn%F0%9F%8F%A0%E4%BD%8F%E5%AE%BF%E5%85%8D%E8%B4%B9%EF%BC%8C%E5%8E%82%E5%8C%BA%E5%85%8D%E8%B4%B9%E6%8F%90%E4%BE%9B%E8%A2%AB%E8%A4%A5%EF%BC%8C%E6%B0%B4%E7%94%B5%E5%9D%87%E6%91%8A%EF%BC%8C%E9%85%8D%E5%A5%97%E9%BD%90%E5%85%A8%5Cn%5Cn%E2%9A%A0%E6%B3%A8%E6%84%8F%EF%BC%9A%5Cn1.%20%E7%89%B9%E5%88%AB%E6%B3%A8%E6%84%8F%EF%BC%9A%E8%A6%81%E6%B1%82%E5%91%98%E5%B7%A5%E5%B9%B2%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E5%B9%B2%E4%B8%8D%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%E4%B8%8D%E5%8F%91%EF%BC%8C%E6%97%A0%E7%89%B9%E6%AE%8A%E6%83%85%E5%86%B5%E4%B8%8D%E5%85%81%E8%AF%B7%E5%81%87%E3%80%82%E8%AF%B7%E5%81%87%E4%B8%80%E5%A4%A9%E5%90%8E%E6%8C%89220%E5%85%83%E5%BC%80%E5%B7%A5%E8%B5%84%E3%80%82%E5%A6%82%E9%81%87%E5%B9%B2%E5%8D%8A%E5%A4%A9%E7%8F%AD%E7%9A%84%E5%BD%93%E5%A4%A9%E6%B2%A1%E6%9C%89%E5%B7%A5%E8%B5%84%EF%BC%8C%E8%A6%81%E6%B1%82%E5%B9%B2%E5%88%B02023%E5%B9%B411%E6%9C%8817%E5%8F%B7%E5%90%8E%5Cn2.%20%E5%8E%8B%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%90%8E%E6%97%A5%E7%BB%93%EF%BC%8C%E8%B6%85%E5%87%BA%E6%88%96%E4%B8%8D%E8%B6%B312%E4%B8%AA%E5%B0%8F%E6%97%B6%EF%BC%8C%E6%8C%8922%E5%85%83%2F%E5%B0%8F%E6%97%B6%E6%A0%B8%E7%AE%97%5Cn%5Cn%22%2C%22employeeInsurance%22%3A%22%E5%95%86%E4%BF%9D60%E5%85%83%2F%E6%9C%88%22%2C%22otherCard%22%3A%22%22%2C%22tattooDesp%22%3A%22%22%2C%22salaryClassifyValue%22%3A26000%2C%22supplierId%22%3A40%2C%22hotTime%22%3A1698134591000%2C%22certificate%22%3A%22%22%2C%22deductTaxDesp%22%3A%22%E4%B8%8D%E5%90%AB%E7%A8%8E%22%2C%22transferFee%22%3A%22%22%2C%22interviewDesp%22%3A%22%E6%8A%A5%E5%90%8D%E6%8A%BC%E9%87%9150%E5%85%83%EF%BC%8C%E4%B8%8A%E8%BD%A6%E9%80%80%EF%BC%8C10%E6%9C%8819%E5%8F%B7%E5%87%86%E6%97%B6%E5%8F%91%E8%BD%A6%22%2C%22onlineTime%22%3A1697535982000%2C%22dormitoryPeoples%22%3A%22%22%2C%22offlineTime%22%3A%22%22%2C%22jobCategoryLabelId%22%3A%22645%22%2C%22deliveryRuleId%22%3A%22%22%2C%22securityCheck%22%3A%22%E5%B8%B8%E6%B8%A9%E8%BD%A6%E9%97%B4%22%2C%22supplierName%22%3A%22%22%2C%22payChannels%22%3A%22%22%2C%22recruitmentEndTime%22%3A%22%22%2C%22dormitoryType%22%3A%22%22%2C%22rebate%22%3A%22%22%2C%22dormPermise%22%3A%22%22%2C%22numDesp%22%3A%22%22%2C%22salaryDesp%22%3A%5B%22%E5%8E%8B%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%90%8E%E6%97%A5%E7%BB%93%22%5D%2C%22entryDuration%22%3A%22%22%2C%22settlementTime%22%3A%22%E4%BA%BA%E8%B5%B0%E8%B4%A6%E6%B8%85%22%2C%22workType%22%3A%22%E5%85%A8%E8%81%8C%22%2C%22standardPaySubject%22%3A%22%22%2C%22leaveImproper%22%3A%22%22%2C%22salaryDetail%22%3A%22%E8%96%AA%E8%B5%84%EF%BC%9A260%E5%85%83%2F%E5%A4%A9%EF%BC%8C%E5%B7%A5%E6%9C%9F20~30%E5%A4%A9%EF%BC%8C%E5%85%B7%E4%BD%93%E4%BB%A5%E9%80%9A%E7%9F%A5%E4%B8%BA%E5%87%86%EF%BC%8C%E5%8E%8B%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%90%8E%E6%97%A5%E7%BB%93%EF%BC%8C%E8%B6%85%E5%87%BA%E6%88%96%E4%B8%8D%E8%B6%B312%E4%B8%AA%E5%B0%8F%E6%97%B6%EF%BC%8C%E6%8C%8922%E5%85%83%2F%E5%B0%8F%E6%97%B6%E6%A0%B8%E7%AE%97%22%2C%22percentageSalary%22%3A%22%22%2C%22genderRestrict%22%3A%22%E7%94%B7%E5%A5%B3%E4%B8%8D%E9%99%90%22%2C%22jobDesp1%22%3A%22%E3%80%90%E6%B5%99%E6%B1%9F%E6%B8%A9%E5%B7%9E%E9%A1%BA%E4%B8%B0%E7%9F%AD%E6%9C%9F%E6%97%A5%E7%BB%93%E5%B7%A5%E3%80%91%5Cn%5Cn%F0%9F%94%A5%E5%85%8D%E8%B7%AF%E8%B4%B9%E5%8F%91%E8%BD%A6%5Cn%F0%9F%94%A5%E5%85%8D%E8%B4%B9%E6%8F%90%E4%BE%9B%E8%A2%AB%E8%A4%A5%EF%BC%8C%E5%85%8D%E8%B4%B9%E4%BD%8F%E5%AE%BF%5Cn%F0%9F%94%A5%E4%B8%8D%E4%BD%93%E6%A3%80%EF%BC%8C%E4%B8%8D%E9%9D%A2%E8%AF%95%EF%BC%8C%E7%9B%B4%E6%8E%A5%E4%B8%8A%E7%8F%AD%5Cn%5Cn%F0%9F%9A%BB%E7%94%B7%2018-55%EF%BC%9B%E5%A5%B3%2018-50%EF%BC%8C%E4%BC%9A%E7%8E%A9%E6%99%BA%E8%83%BD%E6%89%8B%E6%9C%BA%EF%BC%8C%E8%AF%86%E5%AD%97%EF%BC%8C%E9%9C%80%E8%A6%81%E8%BA%AB%E4%BB%BD%E8%AF%81%E5%8E%9F%E4%BB%B6%EF%BC%8C%E7%BA%B9%E8%BA%AB%E7%83%9F%E7%96%A4%E9%9C%80%E6%8F%90%E5%89%8D%E7%A1%AE%E8%AE%A4%EF%BC%8C%E4%B8%8D%E6%8E%A5%E6%94%B6%E6%A1%88%E5%BA%95%5Cn%5Cn%F0%9F%92%B0%E8%96%AA%E8%B5%84%E5%BE%85%E9%81%87%EF%BC%9A%5Cn%E8%96%AA%E8%B5%84%EF%BC%9A260%E5%85%83%2F%E5%A4%A9%EF%BC%8C%E5%B7%A5%E6%9C%9F20~30%E5%A4%A9%EF%BC%8C%E5%85%B7%E4%BD%93%E4%BB%A5%E9%80%9A%E7%9F%A5%E4%B8%BA%E5%87%86%EF%BC%8C%E5%8E%8B%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%90%8E%E6%97%A5%E7%BB%93%EF%BC%8C%E8%B6%85%E5%87%BA%E6%88%96%E4%B8%8D%E8%B6%B312%E4%B8%AA%E5%B0%8F%E6%97%B6%EF%BC%8C%E6%8C%8922%E5%85%83%2F%E5%B0%8F%E6%97%B6%E6%A0%B8%E7%AE%97%5Cn%5Cn%F0%9F%93%A3%E5%91%98%E5%B7%A5%E5%B7%A5%E4%BD%9C%3A%E5%88%86%E6%8B%A3%EF%BC%8C%E6%89%AB%E6%8F%8F%EF%BC%8C%E5%B0%8F%E4%BB%B6%E8%A3%85%E5%8D%B8%EF%BC%8C%E5%B9%B2%E8%BF%87%E7%9A%84%E9%83%BD%E7%9F%A5%E9%81%93%EF%BC%8C%E5%B7%A5%E4%BD%9C%E7%89%B9%E5%88%AB%E8%BD%BB%E6%9D%BE%E3%80%82%E5%85%A8%E9%83%A8%E5%B0%8F%E4%BB%B6%EF%BC%8C%E5%85%A8%E9%83%A8%E5%B0%8F%E4%BB%B6%5Cn%E2%8F%B0%E4%B8%A4%E7%8F%AD%E5%80%92%EF%BC%8C%E7%AB%99%E7%8F%AD%EF%BC%8C%E5%B8%B8%E6%B8%A9%E8%BD%A6%E9%97%B4%EF%BC%8C%E6%99%AE%E9%80%9A%E5%B7%A5%E8%A1%A3%5Cn%F0%9F%88%B6%E5%95%86%E4%BF%9D60%E5%85%83%2F%E6%9C%88%EF%BC%8C%E4%B8%8D%E4%BD%93%E6%A3%80%5Cn%5Cn%F0%9F%8D%B1%E5%90%83%E9%A5%AD%E8%87%AA%E7%90%86%5Cn%F0%9F%8F%A0%E4%BD%8F%E5%AE%BF%E5%85%8D%E8%B4%B9%EF%BC%8C%E5%8E%82%E5%8C%BA%E5%85%8D%E8%B4%B9%E6%8F%90%E4%BE%9B%E8%A2%AB%E8%A4%A5%EF%BC%8C%E6%B0%B4%E7%94%B5%E5%9D%87%E6%91%8A%EF%BC%8C%E9%85%8D%E5%A5%97%E9%BD%90%E5%85%A8%5Cn%5Cn%3Ci%20class3D't-icon%20t-icon-zhuyi'%20style3D'margin-bottom%3A-2px%3Bwidth%3A17px%3Bheight%3A17px%3Bbackground-repeat%3Ano-repeat%3Bbackground-size%3A100%25%20100%25'%3E%3C%2Fi%3E%E6%B3%A8%E6%84%8F%EF%BC%9A%5Cn1.%20%E7%89%B9%E5%88%AB%E6%B3%A8%E6%84%8F%EF%BC%9A%E8%A6%81%E6%B1%82%E5%91%98%E5%B7%A5%E5%B9%B2%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E5%B9%B2%E4%B8%8D%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%E4%B8%8D%E5%8F%91%EF%BC%8C%E6%97%A0%E7%89%B9%E6%AE%8A%E6%83%85%E5%86%B5%E4%B8%8D%E5%85%81%E8%AF%B7%E5%81%87%E3%80%82%E8%AF%B7%E5%81%87%E4%B8%80%E5%A4%A9%E5%90%8E%E6%8C%89220%E5%85%83%E5%BC%80%E5%B7%A5%E8%B5%84%E3%80%82%E5%A6%82%E9%81%87%E5%B9%B2%E5%8D%8A%E5%A4%A9%E7%8F%AD%E7%9A%84%E5%BD%93%E5%A4%A9%E6%B2%A1%E6%9C%89%E5%B7%A5%E8%B5%84%EF%BC%8C%E8%A6%81%E6%B1%82%E5%B9%B2%E5%88%B02023%E5%B9%B411%E6%9C%8817%E5%8F%B7%E5%90%8E%5Cn2.%20%E5%8E%8B%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%90%8E%E6%97%A5%E7%BB%93%EF%BC%8C%E8%B6%85%E5%87%BA%E6%88%96%E4%B8%8D%E8%B6%B312%E4%B8%AA%E5%B0%8F%E6%97%B6%EF%BC%8C%E6%8C%8922%E5%85%83%2F%E5%B0%8F%E6%97%B6%E6%A0%B8%E7%AE%97%5Cn%5Cn%22%2C%22age%22%3A%2218-55%E5%B2%81%22%2C%22monthlyPay%22%3A%226000-7000%22%2C%22districtDetail%22%3A%22%22%2C%22storeName%22%3A%22%E6%B5%99%E6%B1%9F%E9%A1%BA%E4%B8%B0%E6%97%A5%E7%BB%93%E7%9F%AD%E6%9C%9F%E5%B7%A5%22%7D", + "launchMode": "default", + "scene": null + } + ] + } + }, + "libVersion": "3.0.0" +} \ No newline at end of file diff --git a/sitemap.json b/sitemap.json new file mode 100644 index 0000000..ca02add --- /dev/null +++ b/sitemap.json @@ -0,0 +1,7 @@ +{ + "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html", + "rules": [{ + "action": "allow", + "page": "*" + }] +} \ No newline at end of file diff --git a/utils/commonUtil.js b/utils/commonUtil.js new file mode 100644 index 0000000..2e876db --- /dev/null +++ b/utils/commonUtil.js @@ -0,0 +1,1586 @@ +/** + * 如果是null '' 'null' 'undefined' + * @param item + * @returns + */ +export function isEmptyCheck(value) { + if (value == null || value === "" || value == "null" || typeof value == "undefined") { + return true; + } + + return false; +} +/** + * 如果不是是null '' 'null' 'undefined' + * @param item + * @returns + */ + +export function isNotEmptyCheck(value) { + return !isEmptyCheck(value); +} +/** + * 根据状态工单类型ID获取名称 + */ + +export function getDistanceName(distance) { + let str = ""; + + if (isNotEmptyCheck(distance)) { + if (distance > 1000) { + var dis = distance / 1000; + dis = dis.toFixed(1); + str = dis + "km"; + } else { + str = distance + "m"; + } + } + + return str; +} +/** + * 业务类型 + */ + +export function jobTypeArray() { + let jobTypeArray = [ + { + id: "0", + name: "代理招聘", + name2: "代理招聘", + value: "0", + text: "代理招聘", + checked: false, + }, + { + id: "1", + name: "劳务派遣", + name2: "全职", + value: "1", + text: "劳务派遣", + checked: false, + }, + { + id: "2", + name: "劳务外包", + name2: "兼职", + value: "2", + text: "劳务外包", + checked: false, + }, + { + id: "4", + name: "劳务外包挂靠", + name2: "劳务外包挂靠", + value: "4", + text: "劳务外包挂靠", + checked: false, + }, + ]; + return jobTypeArray; +} +/** + * 根据业务类型ID获取名称 + */ + +export function getJobTypeById(id) { + let str = ""; + let array = jobTypeArray(); + array.forEach((item) => { + if (item.id == id) { + str = item.name; + } + }); + return str; +} +/** + * 工种类型 + */ + +export function workTypeArray() { + let workTypeArray = [ + { + id: 0, + name: "全职", + value: "0", + text: "全职", + checked: false, + }, + { + id: 1, + name: "兼职", + value: "1", + text: "兼职", + checked: false, + }, + { + id: 2, + name: "寒暑假工", + value: "2", + text: "寒暑假工", + checked: false, + }, + { + id: 3, + name: "实习生", + value: "3", + text: "实习生", + checked: false, + }, + { + id: 4, + name: "零工", + value: "4", + text: "零工", + checked: false, + }, + ]; + return workTypeArray; +} +/** + * 根据工种类型ID获取名称 + */ + +export function getWorkTypeById(id) { + let str = ""; + let array = workTypeArray(); + array.forEach((item) => { + if (item.id == id) { + str = item.name; + } + }); + return str; +} +/** + * 根据工种类型ID获取名称 + */ + +export function getGenderByMinAge(res) { + console.log("==================", res); + let str = ""; + if (res.minAgeMan && res.minAgeWoman) { + str = "男女不限"; + } else if (res.minAgeMan && !res.minAgeWoman) { + str = "仅限男性"; + } else if (!res.minAgeMan && res.minAgeWoman) { + str = "仅限女性"; + } + return str; +} +/** + * 根据传递的scene参数,获取里面的内容 + */ +export function sceneToJson(sceneStr) { + let json = {}; + let array = sceneStr.split(","); + array.forEach((item) => { + let arr = item.split("="); + let key = arr[0]; + let value = arr[1]; + json[key] = value; + }); + return json; +} + +var isMarry = [ + // { id: "", name: "请选择"}, + { id: "未婚", name: "未婚" }, + { id: "已婚", name: "已婚" }, + { id: "离异", name: "离异" }, + { id: "其它", name: "其它" }, +]; + +var isMarry2 = [ + { id: "", name: "请选择" }, + { id: "未婚", name: "未婚" }, + { id: "已婚", name: "已婚" }, + { id: "离异", name: "离异" }, + { id: "其它", name: "其它" }, +]; + +var education = [ + // { id: "", name: "请选择"}, + { id: "初中", name: "初中" }, + { id: "中专", name: "中专" }, + { id: "高中", name: "高中" }, + { id: "大专", name: "大专" }, + { id: "本科及以上", name: "本科及以上" }, +]; +// { id: "-1", name: "请选择" }, +var sex = [ + { id: "1", name: "男" }, + { id: "2", name: "女" }, +]; + +var attendanceStatus = [ + { id: "-1", name: "请选择" }, + { id: "1", name: "旷工" }, + { id: "2", name: "正常出勤" }, + // { id: "3", name: "上班缺卡"}, + // { id: "4", name: "下班缺卡"} +]; + +var attendanceStatus2 = [ + { id: "-1", name: "请选择" }, + { id: "1", name: "旷工" }, + { id: "2", name: "正常出勤" }, + { id: "3", name: "上班缺卡" }, + { id: "4", name: "下班缺卡" }, + { id: "5", name: "请假" }, + { id: "6", name: "休息" }, +]; + +var signatoryTypeArray = [ + { id: "0", name: "甲方" }, + { id: "1", name: "乙方" }, + { id: "2", name: "丙方" }, + { id: "3", name: "丁方" }, + { id: "4", name: "午方" }, + { id: "5", name: "己方" }, + { id: "6", name: "庚方" }, + { id: "7", name: "辛方" }, + { id: "8", name: "壬方" }, + { id: "9", name: "癸方" }, +]; + +var contractTypeArray = [ + { id: "0", name: "个人" }, + { id: "1", name: "企业" }, +]; + +var hourArray = ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"]; + +var timeArray1 = [["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"], ["00", "30"], ["-"], ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"], ["00", "30"]]; +//是否可以面试 +var interviewArray = [ + { id: "0", name: "请选择" }, + { id: "1", name: "可以面试" }, + { id: "2", name: "不能面试" }, +]; + +//面试反馈状态 +var interviewStatusArray = [ + { id: "0", name: "请选择", checked: false }, + { id: "1", name: "不缺人", checked: false }, + { id: "2", name: "候选人不合适", checked: false }, + { id: "3", name: "面试时间不合适", checked: false }, + { id: "4", name: "面试地点不合适", checked: false }, + { id: "10", name: "爽约", checked: false }, + { id: "11", name: "未通过-形象不符", checked: false }, + { id: "12", name: "未通过-能力不匹配", checked: false }, + { id: "13", name: "放弃", checked: false }, + { id: "21", name: "通过-无法安置", checked: false }, + { id: "20", name: "通过-候选人考虑中", checked: false }, + { id: "29", name: "通过-安排入职", checked: false }, +]; +//面试反馈状态 +var interviewStatusArray1 = [ + { id: "0", name: "请选择", checked: false }, + { id: "1", name: "不缺人", checked: false }, + { id: "2", name: "候选人不合适", checked: false }, + { id: "3", name: "面试时间不合适", checked: false }, + { id: "4", name: "面试地点不合适", checked: false }, +]; +//面试反馈状态 +var interviewStatusArray2 = [ + { id: "0", name: "请选择", checked: false }, + { id: "10", name: "爽约", checked: false }, + { id: "13", name: "放弃", checked: false }, + { id: "11", name: "未通过-形象不符", checked: false }, + { id: "12", name: "未通过-能力不匹配", checked: false }, + { id: "21", name: "通过-无法安置", checked: false }, + { id: "20", name: "通过-候选人考虑中", checked: false }, + { id: "29", name: "通过-安排入职", checked: false }, +]; +//入职反馈状态 +var entryStatusArray = [ + { id: "0", name: "请选择", checked: false }, + { id: "1", name: "候选人主动放弃", checked: false }, + { id: "2", name: "候选人被淘汰", checked: false }, + { id: "10", name: "已入职", checked: false }, +]; + +var workType = [ + { id: "1", name: "全职" }, + { id: "2", name: "兼职" }, + { id: "3", name: "小时工" }, +]; +var workType2 = [ + { id: "0", name: "请选择" }, + { id: "1", name: "全职" }, + { id: "2", name: "兼职" }, + { id: "3", name: "小时工" }, +]; +var workType3 = [ + { id: "0", name: "长期工" }, + { id: "1", name: "短期工" }, + { id: "2", name: "寒暑假工" }, + { id: "3", name: "实习生" }, +]; +var workType4 = [ + { id: "-1", name: "请选择" }, + { id: "0", name: "长期工" }, + { id: "1", name: "短期工" }, + { id: "2", name: "寒暑假工" }, + { id: "3", name: "实习生" }, +]; +//职位工资结算周期 +var settlementCycleArray = [ + { id: "0", name: "月结", checked: false }, + { id: "1", name: "半月结", checked: false }, + { id: "2", name: "周结", checked: false }, + { id: "3", name: "日结", checked: false }, + { id: "4", name: "次结", checked: false }, +]; + +//职位计薪方式 +var salaryTypeArray = [ + { id: "0", name: "按月计薪", subName: "月计", checked: false, type: 1 }, + { id: "1", name: "按日计薪", subName: "日计", checked: false, type: 1 }, + { id: "2", name: "按时计薪", subName: "时计", checked: false, type: 1 }, + { id: "3", name: "按次计薪", subName: "次计", checked: false, type: 1 }, +]; + +var hopeLive = [ + { id: "", name: "请选择" }, + { id: "住宿舍", name: "住宿舍" }, + { id: "不住宿舍", name: "不住宿舍" }, +]; + +var workExp = [ + // { id: "", name: "请选择"}, + { id: "无工作经验", name: "无工作经验" }, + { id: "餐饮管理经验", name: "餐饮管理经验" }, + { id: "餐饮服务岗经验", name: "餐饮服务岗经验" }, + { id: "非餐饮岗位经验", name: "非餐饮岗位经验" }, + { id: "星级酒店前厅岗位经验", name: "星级酒店前厅岗位经验" }, + { id: "其他", name: "其他" }, +]; + +var education2 = [ + { id: "", name: "请选择" }, + { id: "初中", name: "初中" }, + { id: "中专", name: "中专" }, + { id: "高中", name: "高中" }, + { id: "大专", name: "大专" }, + { id: "本科及以上", name: "本科及以上" }, +]; + +var bankAuth = [ + { id: "0", name: "未认证" }, + { id: "1", name: "已认证" }, + { id: "2", name: "审核中" }, +]; + +var auth = [ + { id: "0", name: "未认证" }, + { id: "1", name: "已认证" }, +]; + +var healthAuth = [ + { id: "0", name: "未绑定" }, + { id: "1", name: "已绑定" }, +]; + +function CommonUtil() {} + +export function getHealthArray() { + return healthAuth; +} + +export function getAuthArray() { + return auth; +} +//初始化picker选中项 +export function initAuthPicker(id) { + for (var i = 0; i < auth.length; i++) { + if (auth[i].id == id) { + return i; + } + } + return 0; +} +export function getAuthValue(index) { + return auth[index].id; +} + +export function getIsMarryArray() { + return isMarry; +} +//初始化picker选中项 +export function initIsMarryPicker(name) { + for (var i = 0; i < isMarry.length; i++) { + if (isMarry[i].name == name) { + return i; + } + } + return 0; +} +export function getIsMarryValue(index) { + return isMarry[index].id; +} + +export function getEducationArray() { + return education; +} +//初始化picker选中项 +export function initEducationPicker(name) { + for (var i = 0; i < education.length; i++) { + if (education[i].name == name) { + return i; + } + } + return 0; +} +export function getEducationValue(index) { + return education[index].id; +} + +export function getSexValue(index) { + return sex[index].id; +} + +export function getSexArray() { + return sex; +} +//初始化picker选中项 +export function initSexPicker(id) { + for (var i = 0; i < sex.length; i++) { + if (sex[i].id == id) { + return i; + } + } + return 0; +} + +export function getAttendanceStatus() { + return attendanceStatus; +} +export function getAttendanceStatusValue(index) { + return attendanceStatus[index].id; +} +export function getAttendanceStatusIndex(id) { + for (var i = 0; i < attendanceStatus.length; i++) { + if (attendanceStatus[i].id == id) { + return i; + } + } + return 0; +} +export function getAttendanceStatusName(id) { + for (var i = 0; i < attendanceStatus.length; i++) { + if (attendanceStatus[i].id == id) { + return attendanceStatus[i].name; + } + } + return ""; +} +export function getAttendanceStatusNameOfIndex(index) { + for (var i = 0; i < attendanceStatus.length; i++) { + if (index == i) { + return attendanceStatus[i].name; + } + } + return ""; +} + +export function getAttendanceStatus2() { + return attendanceStatus2; +} +export function getAttendanceStatusValue2(index) { + return attendanceStatus2[index].id; +} +export function getAttendanceStatusIndex2(id) { + for (var i = 0; i < attendanceStatus2.length; i++) { + if (attendanceStatus2[i].id == id) { + return i; + } + } + return 0; +} +export function getAttendanceStatusName2(id) { + for (var i = 0; i < attendanceStatus2.length; i++) { + if (attendanceStatus2[i].id == id) { + return attendanceStatus2[i].name; + } + } + return ""; +} +export function getAttendanceStatusNameOfIndex2(index) { + for (var i = 0; i < attendanceStatus2.length; i++) { + if (index == i) { + return attendanceStatus2[i].name; + } + } + return ""; +} + +export function getSignatoryTypeArray() { + return signatoryTypeArray; +} + +export function getContractTypeArrayArray() { + return contractTypeArray; +} + +export function getHourArray() { + return hourArray; +} + +export function getTimeArray1() { + return timeArray1; +} + +export function getInterviewArray() { + return interviewArray; +} +export function getInterviewArrayName(id) { + for (var i = 0; i < interviewArray.length; i++) { + if (interviewArray[i].id == id) { + return interviewArray[i].name; + } + } + return ""; +} + +export function getInterviewStatusArray() { + return interviewStatusArray; +} +export function getInterviewStatusName(id) { + for (var i = 0; i < interviewStatusArray.length; i++) { + if (interviewStatusArray[i].id == id) { + return interviewStatusArray[i].name; + } + } + return ""; +} +export function getInterviewStatusArray1() { + return interviewStatusArray1; +} +export function getInterviewStatusName1(id) { + for (var i = 0; i < interviewStatusArray1.length; i++) { + if (interviewStatusArray1[i].id == id) { + return interviewStatusArray1[i].name; + } + } + return ""; +} +export function getInterviewStatusIndex1(id) { + for (var i = 0; i < interviewStatusArray1.length; i++) { + if (interviewStatusArray1[i].id == id) { + return i; + } + } + return -1; +} + +export function getInterviewStatusArray2() { + return interviewStatusArray2; +} +export function getInterviewStatusName2(id) { + for (var i = 0; i < interviewStatusArray2.length; i++) { + if (interviewStatusArray2[i].id == id) { + return interviewStatusArray2[i].name; + } + } + return ""; +} +export function getInterviewStatusIndex2(id) { + for (var i = 0; i < interviewStatusArray2.length; i++) { + if (interviewStatusArray2[i].id == id) { + return i; + } + } + return -1; +} + +export function getEntryStatusArray() { + return entryStatusArray; +} + +export function getEntryStatusName(id) { + for (var i = 0; i < entryStatusArray.length; i++) { + if (entryStatusArray[i].id == id) { + return entryStatusArray[i].name; + } + } + return ""; +} +export function getEntryStatusIndex(id) { + for (var i = 0; i < entryStatusArray.length; i++) { + if (entryStatusArray[i].id == id) { + return i; + } + } + return -1; +} + +export function getWorkTypeArray() { + return workType; +} +//初始化picker选中项 +export function initWorkTypePicker(id) { + for (var i = 0; i < workType.length; i++) { + if (workType[i].id == id) { + return i; + } + } + return 0; +} +export function getWorkTypeValue(index) { + return workType[index].id; +} + +export function getWorkType2Array() { + return workType2; +} +//初始化picker选中项 +export function initWorkType2Picker(id) { + for (var i = 0; i < workType2.length; i++) { + if (workType2[i].id == id) { + return i; + } + } + return 0; +} +export function getWorkType2Value(index) { + return workType2[index].id; +} + +export function getWorkType3Array() { + return workType3; +} +//初始化picker选中项 +export function initWorkType3Picker(id) { + for (var i = 0; i < workType3.length; i++) { + if (workType3[i].id == id) { + return i; + } + } + return 0; +} +export function getWorkType3Value(index) { + return workType3[index].id; +} +export function getWorkType3Name(id) { + for (var i = 0; i < workType3.length; i++) { + if (workType3[i].id == id) { + return workType3[i].name; + } + } + return ""; +} + +export function getWorkType4Array() { + return workType4; +} +//初始化picker选中项 +export function initWorkType4Picker(id) { + for (var i = 0; i < workType4.length; i++) { + if (workType4[i].id == id) { + return i; + } + } + return 0; +} +export function getWorkType4Value(index) { + return workType4[index].id; +} +export function getWorkType4Name(id) { + for (var i = 0; i < workType4.length; i++) { + if (workType4[i].id == id) { + return workType4[i].name; + } + } + return ""; +} + +export function getSettlementCycleArray() { + return settlementCycleArray; +} +export function getSettlementCycleName(id) { + for (var i = 0; i < settlementCycleArray.length; i++) { + if (settlementCycleArray[i].id == id) { + return settlementCycleArray[i].name; + } + } + return ""; +} + +export function getSalaryTypeArray() { + return salaryTypeArray; +} +export function getSalaryTypeName(id) { + for (var i = 0; i < salaryTypeArray.length; i++) { + if (salaryTypeArray[i].id == id) { + return salaryTypeArray[i].name; + } + } + return ""; +} +export function getSalaryTypeSubName(id) { + for (var i = 0; i < salaryTypeArray.length; i++) { + if (salaryTypeArray[i].id == id) { + return salaryTypeArray[i].subName; + } + } + return ""; +} + +export function getHopeLiveArray() { + return hopeLive; +} +//初始化picker选中项 +export function initHopeLivePicker(name) { + for (var i = 0; i < hopeLive.length; i++) { + if (hopeLive[i].id == name) { + return i; + } + } + return 0; +} +export function getHopeLiveValue(index) { + return hopeLive[index].id; +} + +export function getWorkExpArray() { + return workExp; +} +//初始化picker选中项 +export function initWorkExpPicker(name) { + for (var i = 0; i < workExp.length; i++) { + if (workExp[i].name == name) { + return i; + } + } + return 0; +} +export function getWorkExpValue(index) { + return workExp[index].id; +} + +export function getEducation2Array() { + return education2; +} +//初始化picker选中项 +export function initEducation2Picker(name) { + for (var i = 0; i < education2.length; i++) { + if (education2[i].name == name) { + return i; + } + } + return 0; +} +export function getEducation2Value(index) { + return education2[index].id; +} + +export function getIsMarry2Array() { + return isMarry2; +} +//初始化picker选中项 +export function initIsMarry2Picker(name) { + for (var i = 0; i < isMarry2.length; i++) { + if (isMarry2[i].name == name) { + return i; + } + } + return 0; +} +export function getIsMarry2Value(index) { + return isMarry2[index].id; +} + +export function getBankAuthArray() { + return bankAuth; +} + +//初始化picker选中项 +export function initBankAuthPicker(id) { + for (var i = 0; i < bankAuth.length; i++) { + if (bankAuth[i].id == id) { + return i; + } + } + return 0; +} +export function getBankAuthValue(index) { + return bankAuth[index].id; +} +/** + * + * @param district 省市县 + * @param detailPosition 详细地址 + * @returns {string} + */ +export function getStoreAddress(district, detailPosition) { + var res = ""; + if (isNotEmptyCheck(district)) { + var tmpArr = district.split(","); + if (tmpArr.length == 3 && tmpArr[0] == tmpArr[1]) { + res += tmpArr[1] + tmpArr[2]; + } else { + res += district.replace(/,/g, ""); + } + } + if (isNotEmptyCheck(detailPosition)) { + res += detailPosition; + } + return res; +} + +/** + * 代理推广明细事件 + */ +export function agencyPromotionDetailEventArray() { + let agencyPromotionDetailEventArray = [ + { id: "10", name: "扫码", value: "10", text: "扫码", checked: false }, + { id: "20", name: "报名", value: "20", text: "报名", checked: false }, + { id: "30", name: "面试", value: "30", text: "面试", checked: false }, + { id: "40", name: "入职", value: "40", text: "入职", checked: false }, + { id: "50", name: "离职", value: "50", text: "离职", checked: false }, + ]; + return agencyPromotionDetailEventArray; +} +/** + * 根据代理推广明细事件ID获取名称 + */ +export function getAgencyPromotionDetailEventNameId(id) { + let str = ""; + let array = agencyPromotionDetailEventArray(); + array.forEach((item) => { + if (item.id == id) { + str = item.name; + } + }); + return str; +} + +/** + * 代理推广明细佣金状态 + */ +export function agencyPromotionDetailMoneyStatusArray() { + let agencyPromotionDetailMoneyStatusArray = [ + { id: "0", name: "无佣金", value: "0", text: "无佣金", checked: false }, + { id: "10", name: "待结算", value: "10", text: "待结算", checked: false }, + { id: "20", name: "已结算", value: "20", text: "已结算", checked: false }, + { id: "30", name: "已失效", value: "30", text: "已失效", checked: false }, + ]; + return agencyPromotionDetailMoneyStatusArray; +} +/** + * 根据代理推广明细佣金状态ID获取名称 + */ +export function getAgencyPromotionDetailMoneyStatusNameId(id) { + let str = ""; + let array = agencyPromotionDetailMoneyStatusArray(); + array.forEach((item) => { + if (item.id == id) { + str = item.name; + } + }); + return str; +} + +export function moneyToFixed(money, fixed = 2, multiplicator = 100) { + if (money != 0 && money != null && money != "" && money != undefined) { + return cutZero(new Number(money / multiplicator).toFixed(fixed)); + } else { + return "0"; + } +} +export function cutZero(old) { + //拷贝一份 返回去掉零的新串 + let newstr = old; + //循环变量 小数部分长度 + var leng = old.length - old.indexOf(".") - 1; + //判断是否有效数 + if (old.indexOf(".") > -1) { + //循环小数部分 + for (var i = leng; i > 0; i--) { + //如果newstr末尾有0 + if (newstr.lastIndexOf("0") > -1 && newstr.substr(newstr.length - 1, 1) == 0) { + var k = newstr.lastIndexOf("0"); + //如果小数点后只有一个0 去掉小数点 + if (newstr.charAt(k - 1) == ".") { + return newstr.substring(0, k - 1); + } else { + //否则 去掉一个0 + newstr = newstr.substring(0, k); + } + } else { + //如果末尾没有0 + return newstr; + } + } + } + return old; +} +export function getCurrentPageUrlWithArgs() { + const pages = getCurrentPages(); + const currentPage = pages[pages.length - 1]; + const url = currentPage.route; + const options = currentPage.options; + let urlWithArgs = `/${url}?`; + for (let key in options) { + const value = options[key]; + urlWithArgs += `${key}=${value}&`; + } + urlWithArgs = urlWithArgs.substring(0, urlWithArgs.length - 1); + return urlWithArgs; +} + +export function getDateArrayOfScope() { + // var multiArray = [['2000年', '2001年'], ['01月', '02月', '03月', '04月', '05月'], ['-'],['2000年', '2001年'], ['01月', '02月', '03月', '04月', '05月']]; + var multiArray = [[], ["01月", "02月", "03月", "04月", "05月", "06月", "07月", "08月", "09月", "10月", "11月", "12月"], ["-"], [], ["01月", "02月", "03月", "04月", "05月", "06月", "07月", "08月", "09月", "10月", "11月", "12月"]]; + + var date = new Date(); + var end = date.getFullYear(); + + var yearArray = []; + for (var i = 1990; i <= end; i++) { + yearArray.push(i + "年"); + } + + multiArray[0] = yearArray; + multiArray[3] = yearArray; + + return multiArray; +} + +export function educationArray() { + let educationArray = [ + { id: "初中", name: "初中" }, + { id: "高中", name: "高中" }, + { id: "大专", name: "大专" }, + { id: "本科", name: "本科" }, + { id: "硕士", name: "硕士" }, + { id: "博士", name: "博士" }, + ]; + return educationArray; +} + +/** + * 时间格式化 2017-01-01 + * @param val + * @returns {string} + */ +export function formatDateYMD(val) { + if (val == null || val == "") { + return null; + } + + if ((val != null || val == "") && typeof val == "string") { + if (val.indexOf("T")) { + val = val.replace("T", " "); //原来L端可能返回的时间格式有带T的格式,处理一下 + } + val = val.replace("-", "/").replace("-", "/"); + } + var value = new Date(val); + //console.log(val); + var fmt = "yyyy-MM-dd"; + var o = { + "M+": value.getMonth() + 1, //月份 + "d+": value.getDate(), //日 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (value.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) { + if (new RegExp("(" + k + ")").test(fmt)) { + fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); + } + } + return fmt; +} +/** + * 根据薪资类型和薪资值获取薪资展示 + */ +export function getSalaryClassifyValue(salaryClassify, salaryClassifyValue) { + var hourlyPay = moneyToFixed(salaryClassifyValue); + // console.log(hourlyPay); + // console.log(salaryClassify); + if (salaryClassify == 0) { + return `${hourlyPay}元/时`; + } else if (salaryClassify == 1) { + return `${hourlyPay}元/天`; + } else if (salaryClassify == 2) { + return `补${hourlyPay}元`; + } else if (salaryClassify == 3) { + return `返${hourlyPay}元`; + } else if (salaryClassify == 4) { + return "计件"; + } else if (salaryClassify == 5) { + return `保底${hourlyPay}元`; + } else if (salaryClassify == 6) { + return `面议`; + } else if (salaryClassify == 7) { + return `月薪`; + } else { + // return '请配置薪资'; + return "-"; + } +} +export function getReturnFeeTypeName1ById(id, value) { + let str = ""; + // console.log(id+'returnFeeType'); + let array = this.returnFeeTypeArray(value); + str = "--"; + + array.forEach((item) => { + if (item.id == id) { + str = item.name1; + } + }); + return str; +} +export function returnFeeTypeArray(value) { + let returnFeeTypeArray = [ + { id: 0, value: "0", text: "按时", name: "小时", name1: `${value}元/时` }, + { id: 1, value: "1", text: "按日", name: "天", name1: `${value}元/日` }, + { id: 2, value: "2", text: "按月", name: "月", name1: `${value}元/月` }, + { id: 3, value: "3", text: "按次", name: "次", name1: `${value}元/次` }, + { id: 4, value: "4", text: "按件", name: "件", name1: `${value}元/公斤` }, + { id: 5, value: "5", text: "百分比", name: "百分比", name1: `工人收入${value}%` }, + { id: 6, value: "6", text: "共计", name: "人", name1: `共${value}元` }, + { id: 7, value: "7", name1: "费用待定" }, + ]; + + return returnFeeTypeArray; +} + +/** + * 代理成员角色类型 + */ +export function agencyRoleTypeArray() { + let workTypeArray = [ + { id: 1, name: "创建人", value: "1", text: "创建人", checked: false }, + { id: 2, name: "管理员", value: "2", text: "管理员", checked: false }, + { id: 3, name: "成员", value: "3", text: "成员", checked: false }, + ]; + return workTypeArray; +} +export function agencyPermissionArray() { + //查看职位、报名、查看报名、查看老乡、修改密码、修改手机号、新增成员、修改成员信息、删除成员 + let workTypeArray = [ + { id: 1, name: "查看职位", value: "job:list", text: "查看职位", checked: false }, + { id: 2, name: "报名", value: "apply:add", text: "报名", checked: false }, + { id: 3, name: "查看报名", value: "apply:list", text: "查看报名", checked: false }, + { id: 4, name: "查看老乡", value: "apply:user", text: "查看老乡", checked: false }, + { id: 5, name: "修改密码", value: "user:pwd", text: "修改密码", checked: false }, + { id: 6, name: "修改手机号", value: "user:tel", text: "修改手机号", checked: false }, + { id: 7, name: "新增成员", value: "user:add", text: "新增成员", checked: false }, + { id: 8, name: "修改成员信息", value: "user:update", text: "修改成员信息", checked: false }, + { id: 9, name: "删除成员", value: "user:del", text: "删除成员", checked: false }, + ]; + return workTypeArray; +} +/** + * 根据代理成员角色ID获取名称 + */ +export function getAgencyRoleTypeById(id) { + let str = ""; + let array = agencyRoleTypeArray(); + array.forEach((item) => { + if (item.id == id) { + str = item.name; + } + }); + return str; +} + +/** + * 根据代理权限ID获取名称 + */ +export function getAgencyPermissionNameById(permissionStr) { + let str = ""; + let array = agencyPermissionArray(); + let names = []; + let permissions = permissionStr.split(","); + array.forEach((item) => { + if (permissions.indexOf(item.value) >= 0) { + names.push(item.name); + } + }); + return names.join(","); +} + +/** + * 根据代理角色获取权限 + */ +export function getAgencyPermissionsByRole(role) { + if (role == 1) { + return "job:list,apply:add,apply:list,apply:user,user:pwd,user:tel,user:add,user:update,user:del"; + } else { + return "job:list,apply:add,apply:list,apply:user,user:pwd,user:tel"; + } +} +/* + 处理详情地址 +*/ +export function setJobInfoPosition(pos) { + let city = []; + let citys = []; + if (isNotEmptyCheck(pos)) { + city = pos.split(","); + } + city.forEach((i) => { + if (isNotEmptyCheck(i)) { + citys.push(i); + } + }); + citys = citys.join(",").replace(/,/g, " | "); + return citys || "-"; +} +/* + 处理详情地址 +*/ +export function setJobListInfoPosition(pos) { + let city = []; + let citys = []; + if (isNotEmptyCheck(pos)) { + city = pos.split(","); + } + city.forEach((i, index) => { + if (isNotEmptyCheck(i) && index < 2) { + citys.push(i); + } + }); + citys = citys.join(",").replace(/,/g, " | "); + return citys || "-"; +} + +export const cutShareImg = (imgUrl) => { + return new Promise((resolve) => { + wx.getImageInfo({ + src: imgUrl, // 原图路径 + success: (res) => { + let ctx = wx.createCanvasContext("canvas"); + let canvasW = 0; + let canvasH = res.height; + // 把比例设置为 宽比高 5:4 + canvasW = (res.height * 5) / 4; + // 为画框设置背景色,注意要放在画图前,图会覆盖在背景色上 + ctx.fillStyle = "#fff"; + ctx.fillRect(0, 0, canvasW, canvasH); + // ctx.drawImage(res.path, (res.width - canvasW) / 2, 0, canvasW, canvasH, 0, 0, canvasW, canvasH) + ctx.drawImage( + res.path, + 0, + 0, + canvasW, + canvasH, + (canvasW - res.width) / 2, // 宽度从中间向两边填充 + 0, + canvasW, + canvasH + ); + console.log(res); + + ctx.draw(false, (test) => { + console.log(test); + wx.canvasToTempFilePath({ + width: canvasW, + height: canvasH, + destWidth: 750, // 标准的iphone6尺寸的两倍,生成高清图 + destHeight: 600, + canvasId: "canvas", + fileType: "jpg", // 注意jpg默认背景为透明 + success: (res) => { + // 设置分享图片路径 + console.log(res); + resolve(res.tempFilePath); + }, + }); + }); + }, + }); + }); +}; + +// function isEmptyCheck(str) { +// if (str == null || str == "" || str == "null" || str == "undefined" || typeof str == "undefined") { +// return true; +// } +// return false; +// } +// function isNotEmptyCheck(str) { +// return !isEmptyCheck(str); +// } + +/** + * 处理后台返回的职位列表 + * + * + * + */ + +export function disposeJobListData(recordList) { + var that = this; + console.log(recordList); + recordList.forEach((item) => { + item["workType"] = getWorkTypeById(item.workTypeMulti); + + if (isNotEmptyCheck(item.distance)) { + item["distanceKm"] = getDistanceName(item.distance); + } + //年龄 + var ageStr = ""; + if (isNotEmptyCheck(item.minAge) && isNotEmptyCheck(item.maxAge)) { + ageStr = item.minAge + "-" + item.maxAge + "岁"; + } else if (isNotEmptyCheck(item.minAge)) { + ageStr = item.minAge + "岁以上"; + } else if (isNotEmptyCheck(item.maxAge)) { + ageStr = item.maxAge + "岁以下"; + } + item["age"] = ageStr; + // console.log(item.salaryClassify,'=============', item.salaryClassifyValue); + item["salaryClassifyValue"] = getSalaryClassifyValue(item.salaryClassify, item.salaryClassifyValue); + // //时薪 + // var hourlyPayStr = ''; + // var hasHourlyPay = false; + // if (isNotEmptyCheck(item.hourlyPay)) { + // hourlyPayStr = item.hourlyPay + '元/小时'; + // hasHourlyPay = true; + // } else if (isNotEmptyCheck(item.dayPay)) { + // hourlyPayStr = item.dayPay + '元/日'; + // hasHourlyPay = true; + // } else { + // if (isNotEmptyCheck(item.minMonthlyPay) && isNotEmptyCheck(item.maxMonthlyPay)) { + // if (item.minMonthlyPay == item.maxMonthlyPay) { + // hourlyPayStr = item.minMonthlyPay; + // } else { + // hourlyPayStr = item.minMonthlyPay + '-' + item.maxMonthlyPay; + // } + // } else if (isNotEmptyCheck(item.minMonthlyPay)) { + // hourlyPayStr = item.minMonthlyPay; + // } else if (isNotEmptyCheck(item.maxMonthlyPay)) { + // hourlyPayStr = item.maxMonthlyPay; + // } + // } + // item["hourlyPay"] = hourlyPayStr; + //月薪 + var monthlyPayStr = ""; + // if (hasHourlyPay) { + if (isNotEmptyCheck(item.minMonthlyPay) && isNotEmptyCheck(item.maxMonthlyPay)) { + if (item.minMonthlyPay == item.maxMonthlyPay) { + monthlyPayStr = item.minMonthlyPay; + } else { + monthlyPayStr = item.minMonthlyPay + "-" + item.maxMonthlyPay; + } + } else if (isNotEmptyCheck(item.minMonthlyPay)) { + monthlyPayStr = item.minMonthlyPay; + } else if (isNotEmptyCheck(item.maxMonthlyPay)) { + monthlyPayStr = item.maxMonthlyPay; + } + // console.log(monthlyPayStr); + // } + item["monthlyPay"] = monthlyPayStr; + //地址深圳丨龙岗区丨 + let citys = setJobListInfoPosition(item.district); + + // console.log(citys); + var districtStr = ""; + if (isNotEmptyCheck(item.district)) { + var districtArr = item.district.split(","); + if (districtArr.length < 3) { + districtStr = districtArr[districtArr.length - 1]; + } else { + districtStr = districtArr[1] + "丨" + districtArr[2]; + } + //districtStr = districtArr[1] + '丨' + districtArr[2]; + } + item["district"] = citys; + item["districtStr"] = districtStr; + //职位特色 + item.jobSpecialLabelNameArray = []; + getJobSpecialLabelNamesArray(item.jobSpecialLabelNames).forEach((i, index) => { + if (index <= 2) { + item["jobSpecialLabelNameArray"].push(i); + } + }); + // item["jobSpecialLabelNames"] = ; + }); + + return recordList; +} +/** + * 通过出生日期获取年龄 + * + * + */ +export function getAgeByBirthday(strBirthday) { + //strBirthday = util.formatTime(strBirthday);转换成yyyy-MM-dd形式 + var returnAge; + var strBirthdayArr = strBirthday.split("-"); + var birthYear = strBirthdayArr[0]; + var birthMonth = strBirthdayArr[1]; + var birthDay = strBirthdayArr[2]; + var d = new Date(); + var nowYear = d.getFullYear(); + var nowMonth = d.getMonth() + 1; + var nowDay = d.getDate(); + if (nowYear == birthYear) { + returnAge = 0; //同年 则为0岁 + } else { + var ageDiff = nowYear - birthYear; //年之差 + if (ageDiff > 0) { + if (nowMonth == birthMonth) { + var dayDiff = nowDay - birthDay; //日之差 + if (dayDiff < 0) { + returnAge = ageDiff - 1; + } else { + returnAge = ageDiff; + } + } else { + var monthDiff = nowMonth - birthMonth; //月之差 + if (monthDiff < 0) { + returnAge = ageDiff - 1; + } else { + returnAge = ageDiff; + } + } + } else { + returnAge = -1; //返回-1 表示出生日期输入错误 晚于今天 + } + } + return returnAge; //返回周岁年龄 +} +function getJobSpecialLabelNamesArray(jobSpecialLabelNames) { + if (isNotEmptyCheck(jobSpecialLabelNames)) { + return jobSpecialLabelNames.split(", "); + } + return []; +} + +export function query(id, fn) { + let query = wx.createSelectorQuery(); + query.select(id).boundingClientRect(); + // query.selectViewport().scrollOffset(); + query.exec(fn); +} +export let nationArray = [ + // 民族的数组 + { + id: "01", + name: "汉族", + }, + { + id: "02", + name: "蒙古族", + }, + { + id: "03", + name: "满族", + }, + { + id: "04", + name: "朝鲜族", + }, + { + id: "05", + name: "赫哲族", + }, + { + id: "06", + name: "达斡尔族", + }, + { + id: "07", + name: "鄂温克族", + }, + { + id: "08", + name: "鄂伦春族", + }, + { + id: "09", + name: "回族", + }, + { + id: "10", + name: "东乡族", + }, + { + id: "11", + name: "土族", + }, + { + id: "12", + name: "撒拉族", + }, + { + id: "13", + name: "保安族", + }, + { + id: "14", + name: "裕固族", + }, + { + id: "15", + name: "维吾尔族", + }, + { + id: "16", + name: "哈萨克族", + }, + { + id: "17", + name: "柯尔克孜族", + }, + { + id: "18", + name: "锡伯族", + }, + { + id: "19", + name: "塔吉克族", + }, + { + id: "20", + name: "乌孜别克族", + }, + { + id: "21", + name: "俄罗斯族", + }, + { + id: "22", + name: "塔塔尔族", + }, + { + id: "23", + name: "藏族", + }, + { + id: "24", + name: "门巴族", + }, + { + id: "25", + name: "珞巴族", + }, + { + id: "26", + name: "羌族", + }, + { + id: "27", + name: "彝族", + }, + { + id: "28", + name: "白族", + }, + { + id: "29", + name: "哈尼族", + }, + { + id: "30", + name: "傣族", + }, + { + id: "31", + name: "傈僳族", + }, + { + id: "32", + name: "佤族", + }, + { + id: "33", + name: "拉祜族", + }, + { + id: "34", + name: "纳西族", + }, + { + id: "35", + name: "景颇族", + }, + { + id: "36", + name: "布朗族", + }, + { + id: "37", + name: "阿昌族", + }, + { + id: "38", + name: "普米族", + }, + { + id: "39", + name: "怒族", + }, + { + id: "40", + name: "德昂族", + }, + { + id: "41", + name: "独龙族", + }, + { + id: "42", + name: "基诺族", + }, + { + id: "43", + name: "苗族", + }, + { + id: "44", + name: "布依族", + }, + { + id: "45", + name: "侗族", + }, + { + id: "46", + name: "水族", + }, + { + id: "47", + name: "仡佬族", + }, + { + id: "48", + name: "壮族", + }, + { + id: "49", + name: "瑶族", + }, + { + id: "50", + name: "仫佬族", + }, + { + id: "51", + name: "毛南族", + }, + { + id: "52", + name: "京族", + }, + { + id: "53", + name: "土家族", + }, + { + id: "54", + name: "黎族", + }, + { + id: "55", + name: "畲族", + }, + { + id: "56", + name: "高山族", + }, +]; diff --git a/utils/dateTimePicker.js b/utils/dateTimePicker.js new file mode 100644 index 0000000..1a9b843 --- /dev/null +++ b/utils/dateTimePicker.js @@ -0,0 +1,141 @@ +function withData(param) { + return param < 10 ? "0" + param : "" + param; +} +function getLoopArray(start, end) { + var start = start || 0; + var end = end || 1; + var array = []; + for (var i = start; i <= end; i++) { + array.push(withData(i)); + } + return array; +} +function getMonthDay(year, month) { + console.log(year, month); + year = year.replace("年", ""); + month = month.replace("月", ""); + console.log(year, month); + var flag = year % 400 == 0 || (year % 4 == 0 && year % 100 != 0), + array = null; + switch (month) { + case "01": + case "03": + case "05": + case "07": + case "08": + case "10": + case "12": + array = getLoopArray(1, 31); + break; + case "04": + case "06": + case "09": + case "11": + array = getLoopArray(1, 30); + break; + case "02": + array = flag ? getLoopArray(1, 29) : getLoopArray(1, 28); + break; + default: + array = "月份格式不正确,请重新输入!"; + } + return array; +} +function getNewDateArry() { + //如果dateTimePicker的date不可能为空,此处可以省略 + // 当前时间的处理 + var newDate = new Date(); + var year = withData(newDate.getFullYear()), + mont = withData(newDate.getMonth() + 1), + date = withData(newDate.getDate()), + hour = withData(newDate.getHours()), + minu = withData(newDate.getMinutes()), + seco = withData(newDate.getSeconds()); + + return [year, mont, date, hour, minu]; +} +function getcurrent(date) { + console.log("获取时间 56"); + console.log(date); + + // wx.getSystemInfo({ + // success: function (res) { + // console.log(res); + // if(res.platform == "devtools"){ + // } + // } + // }) + // date.replace(/\-/g,"/") + // console.log(date.replace(/\-/g,"/")) + var d = new Date(date.replace(/\-/g, "/")); + console.log(d); + var year = withData(d.getFullYear()), + month = withData(d.getMonth() + 1), + dat = withData(d.getDate()), + hour = withData(d.getHours()), + minu = withData(d.getMinutes()), + seco = withData(d.getSeconds()); + + console.log(year); + return [year, month, dat, hour, minu]; +} +function dateTimePicker(startYear, endYear, date, isNoTime) { + var datearr = []; + + // console.log(date); + // console.log("获取date 74 "); + // console.log(getcurrent(date)); + + if (date) { + datearr = getcurrent(date); + } + // console.log(datearr) + // 返回默认显示的数组和联动数组的声明 + var dateTime = [], + dateTimeArray = [[], [], [], []]; + var start = startYear || 2020; + var end = endYear || 2025; + // 默认开始显示数据 + var defaultDate = date ? datearr : getNewDateArry(); + + // console.log("datearr") + // console.log(datearr) + // console.log(getNewDateArry()); + // console.log(defaultDate) + + // console.log("0999999"); + // console.log(defaultDate[0], defaultDate[1]) + // 处理联动列表数据 + /*年月日 时分*/ + dateTimeArray[0] = getLoopArray(start, end); + dateTimeArray[1] = getLoopArray(1, 12); + dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]); + console.log(isNoTime); + if (isNoTime != "noTime") { + dateTimeArray[3] = ["06:00", "06:30", "07:00", "07:30", "08:00", "08:30", "09:00", "09:30", "10:00", "10:30", "11:00", "11:30", "12:00", "12:30", "13:00", "13:30", "14:00", "14:30", "15:00", "15:30", "16:00", "16:30", "17:00", "17:30", "18:00", "18:30", "19:00", "19:30"]; + } + + dateTimeArray.forEach((current, index) => { + // console.log(current); + // console.log(index); + // console.log(defaultDate[index]); + // console.log(current.indexOf(defaultDate[index])); + if (index != 3) { + dateTime.push(current.indexOf(defaultDate[index])); + } else { + if (defaultDate[3] != "") { + dateTime.push(dateTimeArray[3].indexOf(defaultDate[3] + ":" + defaultDate[4])); + } else { + dateTime.push(12); + } + } + }); + return { + dateTimeArray: dateTimeArray, + dateTime: dateTime, + }; +} +module.exports = { + dateTimePicker: dateTimePicker, + getMonthDay: getMonthDay, +}; diff --git a/utils/dateUtil.js b/utils/dateUtil.js new file mode 100644 index 0000000..b3cc20d --- /dev/null +++ b/utils/dateUtil.js @@ -0,0 +1,965 @@ +const formatTime = (date) => { + const year = date.getFullYear(); + const month = date.getMonth() + 1; + const day = date.getDate(); + const hour = date.getHours(); + const minute = date.getMinutes(); + const second = date.getSeconds(); + + return [year, month, day].map(formatNumber).join("/") + " " + [hour, minute, second].map(formatNumber).join(":"); +}; +//开始年份 +const yearStart = 1978; +//结束年份 +const yearEnd = 2100; + +const formatNumber = (n) => { + n = n.toString(); + return n[1] ? n : "0" + n; +}; + +module.exports = { + formatTime: formatTime, +}; + +function withData(param) { + return param < 10 ? "0" + param : "" + param; +} +function getLoopArray(start, end) { + var start = start || 0; + var end = end || 1; + var array = []; + for (var i = start; i <= end; i++) { + array.push(withData(i)); + } + return array; +} +function getMonthDay(year, month) { + var flag = year % 400 == 0 || (year % 4 == 0 && year % 100 != 0), + array = null; + console.log(year + "--" + month); + switch (month) { + case "01": + case "03": + case "05": + case "07": + case "08": + case "10": + case "12": + case "1": + case "3": + case "5": + case "7": + case "8": + array = getLoopArray(1, 31); + break; + case "4": + case "6": + case "9": + case "04": + case "06": + case "09": + case "11": + array = getLoopArray(1, 30); + break; + case "02": + case "2": + array = flag ? getLoopArray(1, 29) : getLoopArray(1, 28); + break; + default: + //array = '月份格式不正确,请重新输入!' + array = getLoopArray(1, 30); + } + return array; +} +function getNewDateArry() { + // 当前时间的处理 + var newDate = new Date(); + var year = withData(newDate.getFullYear()), + mont = withData(newDate.getMonth() + 1), + date = withData(newDate.getDate()), + hour = withData(newDate.getHours()), + minu = withData(newDate.getMinutes()), + seco = withData(newDate.getSeconds()); + + return [year, mont, date, hour, minu, seco]; +} + +/** + * 返回传入时间对应的值 + * 对应的值显示年月日时分秒(时分秒不为00:00:00) + */ +function dateTimePickerNowDate(date, startYear, endYear) { + // 返回默认显示的数组和联动数组的声明 + var dateTime = [], + dateTimeArray = [[], [], [], [], [], []]; + var start = startYear || yearStart; + var end = endYear || yearEnd; + // 默认开始显示数据 + // var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry(); + var defaultDate; + if (date != null && date != "") { + // if (date.indexOf('T')) { + // date = date.replace('T', ' ');//原来L端可能返回的时间格式有带T的格式,处理一下 + // } + date = formatDateYMDHMS(date); //先格式化一下时间 + defaultDate = [...date.split(" ")[0].split("-"), ...date.split(" ")[1].split(":")]; + } else { + defaultDate = getNewDateArry(); + } + + // 处理联动列表数据 + /*年月日 时分秒*/ + dateTimeArray[0] = getLoopArray(start, end); + dateTimeArray[1] = getLoopArray(1, 12); + dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]); + dateTimeArray[3] = getLoopArray(0, 23); + dateTimeArray[4] = getLoopArray(0, 59); + dateTimeArray[5] = getLoopArray(0, 59); + + dateTimeArray.forEach((current, index) => { + dateTime.push(current.indexOf(defaultDate[index])); + }); + + return { + dateTimeArray: dateTimeArray, + dateTime: dateTime, + }; +} +/** + * 返回传入时间对应的值 分钟只显示 00和30 + * 对应的值显示年月日时分秒(时分秒不为00:00:00) + */ +function dateTimePickerNowDate2(date, startYear, endYear) { + // 返回默认显示的数组和联动数组的声明 + var dateTime = [], + dateTimeArray = [[], [], [], [], [], []]; + var start = startYear || yearStart; + var end = endYear || yearEnd; + // 默认开始显示数据 + // var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry(); + var defaultDate; + if (date != null && date != "") { + // if (date.indexOf('T')) { + // date = date.replace('T', ' ');//原来L端可能返回的时间格式有带T的格式,处理一下 + // } + date = formatDateYMDHMS(date); //先格式化一下时间 + defaultDate = [...date.split(" ")[0].split("-"), ...date.split(" ")[1].split(":")]; + } else { + defaultDate = getNewDateArry(); + } + + // 处理联动列表数据 + /*年月日 时分秒*/ + dateTimeArray[0] = getLoopArray(start, end); + dateTimeArray[1] = getLoopArray(1, 12); + dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]); + dateTimeArray[3] = getLoopArray(0, 23); + dateTimeArray[4] = ["00", "30"]; + dateTimeArray[5] = getLoopArray(0, 59); + + dateTimeArray.forEach((current, index) => { + dateTime.push(current.indexOf(defaultDate[index])); + }); + + return { + dateTimeArray: dateTimeArray, + dateTime: dateTime, + }; +} +/** + * 返回传入时间对应的值 + * 对应的值显示年月日时分秒(时分秒为00:00:00) + */ +function dateTimePicker(date, startYear, endYear) { + // 返回默认显示的数组和联动数组的声明 + var dateTime = [], + dateTimeArray = [[], [], [], [], [], []]; + var start = startYear || yearStart; + var end = endYear || yearEnd; + // 默认开始显示数据 + // var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry(); + var defaultDate; + if (date != null && date != "") { + // if (date.indexOf('T')) { + // date = date.replace('T', ' ');//原来L端可能返回的时间格式有带T的格式,处理一下 + // } + date = formatDateYMDHMS(date); //先格式化一下时间 + defaultDate = [...date.split(" ")[0].split("-"), ...date.split(" ")[1].split(":")]; + } else { + defaultDate = getNewDateArry(); + } + + defaultDate[3] = "00"; + defaultDate[4] = "00"; + defaultDate[5] = "00"; + + // 处理联动列表数据 + /*年月日 时分秒*/ + dateTimeArray[0] = getLoopArray(start, end); + dateTimeArray[1] = getLoopArray(1, 12); + dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]); + dateTimeArray[3] = getLoopArray(0, 23); + dateTimeArray[4] = getLoopArray(0, 59); + dateTimeArray[5] = getLoopArray(0, 59); + + dateTimeArray.forEach((current, index) => { + dateTime.push(current.indexOf(defaultDate[index])); + }); + + return { + dateTimeArray: dateTimeArray, + dateTime: dateTime, + }; +} +function dateTimePicker2(date, startYear, endYear) { + // 返回默认显示的数组和联动数组的声明 + var dateTime = [], + dateTimeArray = [[], [], [], [], [], []]; + var start = startYear || yearStart; + var end = endYear || yearEnd; + // 默认开始显示数据 + // var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry(); + var defaultDate; + // debugger; + if (date != null && date != "") { + // if (date.indexOf('T')) { + // date = date.replace('T', ' ');//原来L端可能返回的时间格式有带T的格式,处理一下 + // } + date = formatDateYMDHMS(date); //先格式化一下时间 + defaultDate = [...date.split(" ")[0].split("-"), ...date.split(" ")[1].split(":")]; + } else { + defaultDate = getNewDateArry(); + } + + // defaultDate[3] = '00'; + // defaultDate[4] = '00'; + // defaultDate[5] = '00'; + + // 处理联动列表数据 + /*年月日 时分秒*/ + dateTimeArray[0] = getLoopArray(start, end); + dateTimeArray[1] = getLoopArray(1, 12); + dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]); + dateTimeArray[3] = getLoopArray(0, 23); + //dateTimeArray[4] = ['00']; + dateTimeArray[4] = getLoopArray(0, 59); + dateTimeArray[5] = getLoopArray(0, 59); + + dateTimeArray.forEach((current, index) => { + dateTime.push(current.indexOf(defaultDate[index])); + }); + + return { + dateTimeArray: dateTimeArray, + dateTime: dateTime, + }; +} +function dateTimePickerYMDHM(date, startYear, endYear) { + // 返回默认显示的数组和联动数组的声明 + var dateTime = [], + dateTimeArray = [[], [], [], [], []]; + var start = startYear || yearStart; + var end = endYear || yearEnd; + // 默认开始显示数据 + var defaultDate; + if (date != null && date != "") { + // if (date.indexOf('T')) { + // date = date.replace('T', ' ');//原来L端可能返回的时间格式有带T的格式,处理一下 + // } + date = formatDateYMDHMS(date); //先格式化一下时间 + defaultDate = [...date.split(" ")[0].split("-"), ...date.split(" ")[1].split(":")]; + } else { + defaultDate = getNewDateArry(); + } + + defaultDate[3] = "00"; + defaultDate[4] = "00"; + defaultDate[5] = "00"; + // var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry(); + + // 处理联动列表数据 + /*年月日 时分秒*/ + dateTimeArray[0] = getLoopArray(start, end); + dateTimeArray[1] = getLoopArray(1, 12); + dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]); + dateTimeArray[3] = getLoopArray(0, 23); + dateTimeArray[4] = getLoopArray(0, 59); + // dateTimeArray[5] = getLoopArray(0, 59); + + dateTimeArray.forEach((current, index) => { + dateTime.push(current.indexOf(defaultDate[index])); + }); + return { + dateTimeArray: dateTimeArray, + dateTime: dateTime, + }; +} + +function dateTimePickerYMDHM2(date, startYear, endYear) { + //分钟为00和30 + // 返回默认显示的数组和联动数组的声明 + var dateTime = [], + dateTimeArray = [[], [], [], [], []]; + var start = startYear || yearStart; + var end = endYear || yearEnd; + // 默认开始显示数据 + var defaultDate; + if (date != null && date != "") { + // if (date.indexOf('T')) { + // date = date.replace('T', ' ');//原来L端可能返回的时间格式有带T的格式,处理一下 + // } + date = formatDateYMDHMS(date); //先格式化一下时间 + defaultDate = [...date.split(" ")[0].split("-"), ...date.split(" ")[1].split(":")]; + } else { + defaultDate = getNewDateArry(); + } + + defaultDate[3] = "00"; + defaultDate[4] = "00"; + defaultDate[5] = "00"; + // var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry(); + + // 处理联动列表数据 + /*年月日 时分秒*/ + dateTimeArray[0] = getLoopArray(start, end); + dateTimeArray[1] = getLoopArray(1, 12); + dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]); + dateTimeArray[3] = getLoopArray(0, 23); + dateTimeArray[4] = ["00", "30"]; + // dateTimeArray[5] = getLoopArray(0, 59); + + dateTimeArray.forEach((current, index) => { + dateTime.push(current.indexOf(defaultDate[index])); + }); + return { + dateTimeArray: dateTimeArray, + dateTime: dateTime, + }; +} + +function dateTimePickerYMD(date, startYear, endYear) { + // 返回默认显示的数组和联动数组的声明 + var dateTime = [], + dateTimeArray = [[], [], [], [], []]; + var start = startYear || yearStart; + var end = endYear || yearEnd; + // 默认开始显示数据 + var defaultDate; + if (date != null && date != "") { + // if (date.indexOf('T')) { + // date = date.replace('T', ' ');//原来L端可能返回的时间格式有带T的格式,处理一下 + // } + date = formatDateYMDHMS(date); //先格式化一下时间 + defaultDate = [...date.split(" ")[0].split("-"), ...date.split(" ")[1].split(":")]; + } else { + defaultDate = getNewDateArry(); + } + // var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry(); + + // 处理联动列表数据 + /*年月日 时分秒*/ + dateTimeArray[0] = getLoopArray(start, end); + dateTimeArray[1] = getLoopArray(1, 12); + dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]); + // dateTimeArray[3] = getLoopArray(0, 23); + // dateTimeArray[4] = getLoopArray(0, 59); + // dateTimeArray[5] = getLoopArray(0, 59); + + dateTimeArray.forEach((current, index) => { + dateTime.push(current.indexOf(defaultDate[index])); + }); + + return { + dateTimeArray: dateTimeArray, + dateTime: dateTime, + }; +} + +/** + * 时间格式化 2017-01-01 01:01:01 + * @param val + * @returns {string} + */ +function formatDateYMDHMS(val) { + // model -> view,在更新 `` 元素之前格式化值 + if ((val != null || val == "") && typeof val == "string") { + if (val.indexOf("T")) { + val = val.replace("T", " "); //原来L端可能返回的时间格式有带T的格式,处理一下 + } + val = val.replace("-", "/").replace("-", "/"); + } + var value = new Date(val); + //console.log(val); + var fmt = "yyyy-MM-dd HH:mm:ss"; + var o = { + "M+": value.getMonth() + 1, //月份 + "d+": value.getDate(), //日 + "H+": value.getHours(), //小时 + //"h+": val.getHours()%12 == 0 ? 12 : val.getHours()%12, //小时 + "m+": value.getMinutes(), //分 + "s+": value.getSeconds(), //秒 + //"S": val.getMilliseconds() //毫秒 + //"q+": Math.floor((val.getMonth() + 3) / 3) //季度 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (value.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) { + if (new RegExp("(" + k + ")").test(fmt)) { + fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); + } + } + return fmt; +} + +/** + * 时间格式化 2017-01-01 01:01:01 + * @param val + * @returns {string} + */ +function formatDateYMDHM(val) { + // model -> view,在更新 `` 元素之前格式化值 + if (val != null && val != "") { + if (typeof val == "string") { + if (val.indexOf("T")) { + val = val.replace("T", " "); //原来L端可能返回的时间格式有带T的格式,处理一下 + } + val = val.replace("-", "/").replace("-", "/"); + } + var value = new Date(val); + //console.log(val); + var fmt = "yyyy-MM-dd HH:mm"; + var o = { + "M+": value.getMonth() + 1, //月份 + "d+": value.getDate(), //日 + "H+": value.getHours(), //小时 + //"h+": val.getHours()%12 == 0 ? 12 : val.getHours()%12, //小时 + "m+": value.getMinutes(), //分 + // "s+": value.getSeconds() //秒 + //"S": val.getMilliseconds() //毫秒 + //"q+": Math.floor((val.getMonth() + 3) / 3) //季度 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (value.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) { + if (new RegExp("(" + k + ")").test(fmt)) { + fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); + } + } + return fmt || ""; + } else { + return "-"; + } +} + +// 年月日 +function formatDateYMD(val) { + // model -> view,在更新 `` 元素之前格式化值 + if (val == null || val == "") { + return null; + } + + if ((val != null || val == "") && typeof val == "string") { + if (val.indexOf("T")) { + val = val.replace("T", " "); //原来L端可能返回的时间格式有带T的格式,处理一下 + } + val = val.replace("-", "/").replace("-", "/"); + } + var value = new Date(val); + //console.log(val); + var fmt = "yyyy-MM-dd"; + var o = { + "M+": value.getMonth() + 1, //月份 + "d+": value.getDate(), //日 + // "H+": value.getHours(), //小时 + //"h+": val.getHours()%12 == 0 ? 12 : val.getHours()%12, //小时 + // "m+": value.getMinutes(), //分 + // "s+": value.getSeconds() //秒 + //"S": val.getMilliseconds() //毫秒 + //"q+": Math.floor((val.getMonth() + 3) / 3) //季度 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (value.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) { + if (new RegExp("(" + k + ")").test(fmt)) { + fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); + } + } + return fmt; +} +/** + * 时间格式化 mm:ss + * @param val + * @returns {string} + */ +function formatDateMS(val) { + if ((val != null || val == "") && typeof val == "string") { + if (val.indexOf("T")) { + val = val.replace("T", " "); //原来L端可能返回的时间格式有带T的格式,处理一下 + } + val = val.replace("-", "/").replace("-", "/"); + } + var value = new Date(val); + var fmt = "HH:mm"; + var o = { + "H+": value.getHours(), //小时 + "m+": value.getMinutes(), //分 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (value.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) { + if (new RegExp("(" + k + ")").test(fmt)) { + fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); + } + } + return fmt; +} +/** +格式化为苹果手机能认的时间格式yyyy/MM/dd HH:mm:ss +*/ +function formatDateYMDHMS_TO_APPLE(val) { + // model -> view,在更新 `` 元素之前格式化值 + if (val != null || val == "") { + val = val + ""; + if (val.indexOf("T")) { + val = val.replace("T", " "); //原来L端可能返回的时间格式有带T的格式,处理一下 + } + val = val.replace("-", "/").replace("-", "/"); + } + var value = new Date(val); + //console.log(val); + var fmt = "yyyy/MM/dd HH:mm:ss"; + var o = { + "M+": value.getMonth() + 1, //月份 + "d+": value.getDate(), //日 + "H+": value.getHours(), //小时 + //"h+": val.getHours()%12 == 0 ? 12 : val.getHours()%12, //小时 + "m+": value.getMinutes(), //分 + "s+": value.getSeconds(), //秒 + //"S": val.getMilliseconds() //毫秒 + //"q+": Math.floor((val.getMonth() + 3) / 3) //季度 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (value.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) { + if (new RegExp("(" + k + ")").test(fmt)) { + fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); + } + } + return fmt; +} +/** +获取当前时间所在年 +*/ +function getNowYear() { + return new Date().getFullYear(); +} +/** +获取当前时间所在月 +*/ +function getNowMonth() { + return new Date().getMonth() + 1; +} +/** +获取当前时间的年月 +*/ +function getNowYearMonth() { + var date = new Date(); + var month = date.getMonth() + 1; + if (month < 10) { + month = "0" + month; + } + return date.getFullYear() + "-" + month; +} +/** +获取当前时间的年月日 +*/ +function getNowYearMonthDay() { + var date = new Date(); + var month = date.getMonth() + 1; + if (month < 10) { + month = "0" + month; + } + return date.getFullYear() + "-" + month + "-" + date.getDate(); +} +/** +获取时间的上午下午格式 +*/ +function formateTimeAMPM(date) { + if (date == null || date == "") { + return ""; + } + if (typeof date == "string") { + date = date.replace("-", "/").replace("-", "/"); + } + var d = new Date(date); + var hour = d.getHours(); + if (hour <= 12) { + return "AM " + (hour + 1) + ":" + d.getMinutes(); + } else if (hour > 12) { + return "PM " + (hour + 1) + ":" + d.getMinutes(); + } else { + return ""; + } +} + +function getTodayYYYYMMDD() { + var date = new Date(); + return date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate(); +} +function formateMonthDay(dateTime) { + // debugger; + var dt = dateTime.split("-"); + return dt[1] * 1 + "月" + dt[2] * 1 + "日"; +} +// 时间对比 +function subTimes(_val1, _val2) { + var start_date = new Date(_val1.replace(/-/g, "/")); + var end_date = new Date(_val2.replace(/-/g, "/")); + var days = end_date.getTime() - start_date.getTime(); + return days / (1000 * 60); //返回分钟数 +} +// 时间对比 + +function subDays(sDate1) { + //sDate1和sDate2是2017-9-25格式 + sDate1 = formatDateYMD(sDate1); + var sDate2 = getTodayYYYYMMDD(); + var aDate, oDate1, oDate2, iDays; + aDate = sDate1.split("-"); + oDate1 = new Date(aDate[1] + "/" + aDate[2] + "/" + aDate[0]); //转换为9-25-2017格式 + aDate = sDate2.split("-"); + oDate2 = new Date(aDate[1] + "/" + aDate[2] + "/" + aDate[0]); + iDays = parseInt((oDate2 - oDate1) / 1000 / 60 / 60 / 24); //把相差的毫秒数转换为天数 + return iDays; +} + +function subDays1(_val1) { + var start_date = new Date(_val1.replace(/-/g, "/")); + + // console.log(start_date.toLocaleDateString()+"pppp"); + var end_date = new Date(); + + // var days = end_date - start_date; + var days = parseInt((end_date.getTime() - start_date.getTime()) / 1000 / 3600 / 24); + console.log("start_date:" + start_date); + console.log("end_date:" + end_date); + console.log(days); + var day = parseInt(days); + console.log(day + "uuuuuu"); + return day; +} +/** + * 获取今天、明天、后天 + */ +function getDataName(dateTemp) { + var timeStr = ""; + if (isNotEmptyCheck(dateTemp)) { + var str = formatDateYMD(dateTemp); + + var date = str.split(" ")[0]; + if (getFutureDateYMD(0) == date) { + timeStr = "(今天)"; + } else if (getFutureDateYMD(1) == date) { + timeStr = "(明天)"; + } else if (getFutureDateYMD(2) == date) { + timeStr = "(后天)"; + } + } + return timeStr; +} +/** + * 如果是null '' 'null' 'undefined' + * @param item + * @returns + */ +function isEmptyCheck(value) { + if (value == null || value === "" || value == "null" || typeof value == "undefined") { + return true; + } + return false; +} +/** + * 如果不是是null '' 'null' 'undefined' + * @param item + * @returns + */ +function isNotEmptyCheck(value) { + return !isEmptyCheck(value); +} +/** + * 获取未来第几天, + * 1、传入正数,返回未来几天 + * 2、传入负数,返回过去几天 + */ +function getFutureDateYMD(dayNum) { + // 开始时间 + var date = new Date(); + date.setDate(date.getDate() + dayNum); + var prevYear = date.getFullYear(); + var prevMonth = date.getMonth() + 1; + var prevDay = date.getDate() < 10 ? "0" + date.getDate() : date.getDate(); + return prevYear + "-" + (prevMonth >= 10 ? prevMonth : "0" + prevMonth) + "-" + prevDay; +} + +function getDateYMDHM() { + // 开始时间 + let date = new Date(); + let prevYear = date.getFullYear(); + let prevMonth = date.getMonth() + 1; + let prevDay = date.getDate() < 10 ? "0" + date.getDate() : date.getDate(); + let hour = date.getHours(); + let minute = date.getMinutes(); + // let second = date.getSeconds(); + return prevYear + "-" + (prevMonth >= 10 ? prevMonth : "0" + prevMonth) + "-" + prevDay + " " + hour + ":" + minute; +} + +// function getDateYMDHM() { +// // 开始时间 +// let date = new Date(); +// let prevYear = date.getFullYear(); +// let prevMonth = date.getMonth() + 1; +// let prevDay = date.getDate() < 10 ? "0" + date.getDate() : date.getDate(); +// let hour = date.getHours(); +// let minute = date.getMinutes(); +// // let second = date.getSeconds(); +// return prevYear + "-" + (prevMonth >= 10 ? prevMonth : ('0' + prevMonth)) + "-" + prevDay + " " + hour + ":" + minute; +// } + +function getDateYMD() { + // 开始时间 + let date = new Date(); + let prevYear = date.getFullYear(); + let prevMonth = date.getMonth() + 1; + let prevDay = date.getDate() < 10 ? "0" + date.getDate() : date.getDate(); + // let second = date.getSeconds(); + return prevYear + "-" + (prevMonth >= 10 ? prevMonth : "0" + prevMonth) + "-" + prevDay; +} + +function getHour() { + // 开始时间 + let date = new Date(); + let hour = date.getHours(); + // let second = date.getSeconds(); + return hour; +} +function timeShow(val) { + if (isEmptyCheck(val)) { + return ""; + } + + if (typeof val == "string") { + val = val + ""; + if (val.indexOf("T")) { + val = val.replace("T", " "); //原来L端可能返回的时间格式有带T的格式,处理一下 + } + val = val.replace("-", "/").replace("-", "/"); + } + + var date = new Date(); + var value = new Date(val); + + const year0 = date.getFullYear(); + const month0 = date.getMonth() + 1; + const day0 = date.getDate(); + const hour0 = date.getHours(); + const minute0 = date.getMinutes(); + // const second = date.getSeconds() + + const year1 = value.getFullYear(); + const month1 = value.getMonth() + 1; + const day1 = value.getDate(); + const hour1 = value.getHours(); + const minute1 = value.getMinutes(); + // const second = value.getSeconds() + + if (year0 == year1 && month0 == month1 && day0 == day1) { + return hour1 + ":" + (minute1 >= 10 ? minute1 : "0" + minute1); + } + + let d = new Date(val).setHours(0, 0, 0, 0); + let today = new Date().setHours(0, 0, 0, 0); + + if (d - today == -86400000) { + return "昨天"; + } + + if (year0 == year1) { + return month1 + "月" + day1 + "日"; + } + return (year1 + "").slice(2) + "年" + month1 + "月" + day1 + "日"; + + return hour; +} + +function timeShowXXX(val) { + if (isEmptyCheck(val)) { + return ""; + } + let date = ""; + let differenceTime = new Date().getTime() - new Date(val).getTime(); + var D = Math.floor(differenceTime / (24 * 60 * 60 * 1000)); + var level1 = differenceTime % (24 * 3600 * 1000); + var H = Math.floor(level1 / (3600 * 1000)); + var level2 = level1 % (3600 * 1000); + var M = Math.floor(level2 / (60 * 1000)); + var level3 = level2 % (60 * 1000); + var S = Math.floor(level3 / 1000); + date = null; + if (D > 0 && D <= 100) { + date = D + "天前"; + } else if (D > 0) { + let date1 = new Date(val); + var y = date1.getFullYear(); + var m = date1.getMonth() + 1; + m = m < 10 ? "0" + m : m; + var d = date1.getDate(); + d = d < 10 ? "0" + d : d; + var h = date1.getHours(); + h = h < 10 ? "0" + h : h; + var minute = date1.getMinutes(); + minute = minute < 10 ? "0" + minute : minute; + var second = date1.getSeconds(); + second = second < 10 ? "0" + second : second; + date = y + "-" + m + "-" + d + " " + h + ":" + minute; + } else if (H > 0) { + date = H + "小时前"; + } else if (M > 0) { + date = M + "分钟前"; + } else { + date = S + "秒前"; + } + return date; +} +/** + * 处理工单状态 + */ +export function userApplyOrderStatusArray() { + // let orderStatus = [ + // { id: "10", name: "审核中", value: "10", text: "审核中" }, + // { id: "20", name: "待面试", value: "20", text: "待面试" }, + // { id: "30", name: "待入职", value: "30", text: "待入职" }, + // { id: "40", name: "在职中", value: "40", text: "在职中" }, + // { id: "50", name: "待离职", value: "50", text: "待离职" }, + // { id: "60", name: "已完成", value: "60", text: "已完成" }, + // ]; + let orderStatus = [ + { + id: "10", + name: "审核中", + value: "10", + text: "审核中", + num: 0, + }, + { + id: "20", + name: "待接待", + value: "20", + text: "待接待", + num: 0, + }, + { + id: "21", + name: "审核未通过", + value: "21", + text: "审核未通过", + num: 0, + }, + { id: "25", name: "待面试", value: "25", text: "待面试", num: 0 }, + { id: "26", name: "未接到", value: "26", text: "未接到", num: 0 }, + { + id: "30", + name: "待入职", + value: "30", + text: "待入职", + num: 0, + }, + { id: "35", name: "面试未通过", value: "35", text: "面试未通过", num: 0 }, + { id: "40", name: "在职中", value: "40", text: "在职中", num: 0 }, + { + id: "45", + name: "通过未入职", + value: "45", + text: "通过未入职", + num: 0, + }, + { + id: "48", + name: "约离职", + value: "48", + text: "约离职", + num: 0, + }, + { id: "50", name: "已离职", value: "50", text: "已完成", num: 0 }, + // { id: "60", name: "已完成", value: "60", text: "已完成", num: 0 } + ]; + return orderStatus; +} +/* + 截取备注字段 +*/ +export function splitRemark(info) { + let index = info.lastIndexOf("备注"); + let remark = info.substr(index + 3); + console.log(remark); + return remark; +} + +/** + * 根据工单类型获取名称 + */ +export function getUserApplyOrderTypeByType(type) { + let typeStr = ""; + let array = userApplyOrderStatusArray(); + array.forEach((item) => { + if (item.type == type) { + typeStr = item.text; + } + }); + return typeStr; +} + +/** + * 根据工单状态ID获取名称 + */ +export function getUserApplyOrderStatusById(id) { + let str = ""; + let array = userApplyOrderStatusArray(); + array.forEach((item) => { + if (item.id == id) { + str = item.name; + } + }); + return str; +} +module.exports = { + getFutureDateYMD: getFutureDateYMD, + isEmptyCheck: isEmptyCheck, + isNotEmptyCheck: isNotEmptyCheck, + dateTimePickerNowDate: dateTimePickerNowDate, + dateTimePickerNowDate2: dateTimePickerNowDate2, + dateTimePicker: dateTimePicker, + dateTimePicker2: dateTimePicker2, + dateTimePickerYMDHM: dateTimePickerYMDHM, + dateTimePickerYMDHM2: dateTimePickerYMDHM2, + dateTimePickerYMD: dateTimePickerYMD, + getMonthDay: getMonthDay, + formatDateYMDHMS: formatDateYMDHMS, + formatDateYMDHM: formatDateYMDHM, + formatDateYMD: formatDateYMD, + formatDateMS: formatDateMS, + formatDateYMDHMS_TO_APPLE: formatDateYMDHMS_TO_APPLE, + getNowYear: getNowYear, + getNowMonth: getNowMonth, + getNowYearMonth: getNowYearMonth, + getNowYearMonthDay: getNowYearMonthDay, + formateTimeAMPM: formateTimeAMPM, + getTodayYYYYMMDD: getTodayYYYYMMDD, + formateMonthDay: formateMonthDay, + subTimes: subTimes, + subDays: subDays, + getDataName: getDataName, + getDateYMDHM: getDateYMDHM, + getDateYMD: getDateYMD, + getHour: getHour, + timeShowXXX: timeShowXXX, + getUserApplyOrderStatusById, + getUserApplyOrderTypeByType, + splitRemark, + timeShow, +}; diff --git a/utils/qqmap-wx-jssdk.min.js b/utils/qqmap-wx-jssdk.min.js new file mode 100644 index 0000000..8fa1477 --- /dev/null +++ b/utils/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/utils/util.js b/utils/util.js new file mode 100644 index 0000000..764bc2c --- /dev/null +++ b/utils/util.js @@ -0,0 +1,19 @@ +const formatTime = date => { + const year = date.getFullYear() + const month = date.getMonth() + 1 + const day = date.getDate() + const hour = date.getHours() + const minute = date.getMinutes() + const second = date.getSeconds() + + return `${[year, month, day].map(formatNumber).join('/')} ${[hour, minute, second].map(formatNumber).join(':')}` +} + +const formatNumber = n => { + n = n.toString() + return n[1] ? n : `0${n}` +} + +module.exports = { + formatTime +} diff --git a/weui.wxss b/weui.wxss new file mode 100644 index 0000000..e69de29