作者 lihongjuan

1

正在显示 100 个修改的文件 包含 2597 行增加0 行删除

要显示太多修改。

为保证性能只显示 100 of 100+ 个文件。

  1 +//app.js
  2 +
  3 +const ald = require('./utils/ald-stat.js')
  4 +var xmad = require('./utils/dsp_sdk.js')
  5 +
  6 +App({
  7 + onLaunch: function() {
  8 + this.getOpenId()
  9 + let token = wx.getStorageSync("token");
  10 + if (token != '') {
  11 + this.getrecord()
  12 + }
  13 +
  14 +
  15 + // 展示本地存储能力
  16 + var logs = wx.getStorageSync('logs') || []
  17 + logs.unshift(Date.now())
  18 + wx.setStorageSync('logs', logs)
  19 +
  20 + //自动更新版本
  21 + const updateManager = wx.getUpdateManager()
  22 + updateManager.onCheckForUpdate(function(res) {
  23 + // 请求完新版本信息的回调
  24 + })
  25 +
  26 + updateManager.onUpdateReady(function() {
  27 + wx.showModal({
  28 + title: '更新提示',
  29 + content: '新版本已经准备好,是否重启应用?',
  30 + success: function(res) {
  31 + if (res.confirm) {
  32 + // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
  33 + updateManager.applyUpdate()
  34 + }
  35 + }
  36 + })
  37 + })
  38 + updateManager.onUpdateFailed(function() {
  39 + // 新的版本下载失败
  40 + wx.showModal({
  41 + title: '更新提示',
  42 + content: '新版本下载失败',
  43 + showCancel: false
  44 + })
  45 + })
  46 + },
  47 +
  48 + getOpenId() {
  49 + console.log('我是openid')
  50 + let that = this
  51 + wx.login({
  52 + success: (res) => {
  53 + console.log(res)
  54 + let url = 'wxapp/public/getSessionKey'
  55 + let param = {
  56 + code: res.code,
  57 + }
  58 + let header = {
  59 + 'content-type': 'application/x-www-form-urlencoded'
  60 +
  61 + }
  62 + wx.request({
  63 + url: 'https://yxjingying.com/api/wxapp/public/getSessionKey',
  64 + data: param,
  65 + method: 'POST',
  66 + header: header,
  67 +
  68 + success: function(res) { //返回取得的数据
  69 + console.log(res)
  70 + console.log(res.data.data.openid)
  71 + wx.setStorageSync('openid', res.data.data.openid);
  72 + let openid = wx.getStorageSync("openid");
  73 +
  74 + wx.dsp.setOpenid(openid)
  75 +
  76 +
  77 + // else if (res.data.code == '42002') {
  78 +
  79 + // }
  80 + // setTimeout(function () {
  81 +
  82 + // wx.hideNavigationBarLoading()
  83 + // }, 600)
  84 + },
  85 +
  86 + complete: function() {
  87 + wx.hideNavigationBarLoading()
  88 + },
  89 + fail: function(e) {
  90 + reject('网络出错');
  91 + // wx.hideLoading()
  92 + wx.hideNavigationBarLoading()
  93 + }
  94 + })
  95 +
  96 + // app.post(url, param).then((res) => {
  97 + // console.log(res)
  98 + // that.setData({
  99 + // openid: res.data.openid,
  100 + // session_key: res.data.session_key
  101 + // })
  102 +
  103 + // wx.setStorageSync("openid", res.data.openid)
  104 +
  105 + // // this.isregister()
  106 + // wx.getSetting({
  107 + // success: res => {
  108 + // if (res.authSetting['scope.userInfo'] === true) {
  109 + // wx.getUserInfo({
  110 + // success: reg => {
  111 + // that.setData({
  112 + // encrypted_data: reg.encryptedData,
  113 + // iv: reg.iv
  114 + // })
  115 + // // 获取完后自动执行login 然后跳转至设置的url
  116 + // // that.login()
  117 + // },
  118 + // fail(res) {
  119 + // console.log(res)
  120 + // }
  121 + // })
  122 + // }
  123 +
  124 + // }
  125 + // })
  126 +
  127 + // }).catch((errMsg) => {
  128 + // })
  129 +
  130 +
  131 + }
  132 + });
  133 + },
  134 +
  135 + onshow() {
  136 +
  137 +
  138 +
  139 + },
  140 + post: function(url, data, headerParams, showLoad) {
  141 + wx.showNavigationBarLoading()
  142 + var promise = new Promise((resolve, reject) => {
  143 + //init
  144 + let that = this;
  145 + let postData = data;
  146 + let baseUrl = 'https://yxjingying.com/api/';
  147 + //网络请求
  148 + let header = {
  149 + 'content-type': 'application/x-www-form-urlencoded'
  150 +
  151 + }
  152 + header = Object.assign(header, headerParams)
  153 + //网络请求
  154 + wx.request({
  155 + url: baseUrl + url,
  156 + data: postData,
  157 + method: 'POST',
  158 + header: header,
  159 +
  160 + success: function(res) { //返回取得的数据
  161 + if (res.data.code == '20000') {
  162 + resolve(res.data);
  163 + } else if (res.data.code == '201') {
  164 + resolve(res.data);
  165 + } else {
  166 + console.log(res)
  167 + reject(res)
  168 + if (res.data.msg == "请完善简历") {
  169 + wx.showToast({
  170 + title: res.data.msg,
  171 + icon: 'none'
  172 + })
  173 +
  174 + setTimeout(function() {
  175 + wx.switchTab({
  176 + url: '/pages/index/index',
  177 + })
  178 + }, 1500)
  179 + wx.setStorageSync('toisresume', 1)
  180 + }
  181 + }
  182 +
  183 + // else if (res.data.code == '42002') {
  184 +
  185 + // }
  186 + // setTimeout(function () {
  187 +
  188 + // wx.hideNavigationBarLoading()
  189 + // }, 600)
  190 + },
  191 +
  192 + complete: function() {
  193 + wx.hideNavigationBarLoading()
  194 + },
  195 + fail: function(e) {
  196 + reject('网络出错');
  197 + // wx.hideLoading()
  198 + wx.hideNavigationBarLoading()
  199 + }
  200 + })
  201 + });
  202 + return promise;
  203 + },
  204 +
  205 + // 获取用户记录
  206 + getrecord() {
  207 + let that = this;
  208 + var url = 'index/user/visit';
  209 + var params = {
  210 +
  211 +
  212 + }
  213 + var header = {
  214 + 'XX-Token': wx.getStorageSync('token'),
  215 + "XX-Device-Type": 'wxapp'
  216 + }
  217 + that.post(url, params, header).then((res) => {
  218 + console.log('88990', res);
  219 +
  220 +
  221 +
  222 + }).catch((err) => {
  223 +
  224 + })
  225 +
  226 + },
  227 +
  228 + upload(filetype, file) {
  229 +
  230 + var promise = new Promise((resolve, reject) => {
  231 + wx.showNavigationBarLoading()
  232 + wx.showLoading({
  233 + title: '上传中',
  234 + })
  235 + let url = 'https://yxjingying.com/api/user/upload/one';
  236 + let head = {
  237 + 'XX-Token': wx.getStorageSync('token'),
  238 + 'XX-Device-Type': ''
  239 + }
  240 + let typename = {
  241 + filetype: filetype
  242 + }
  243 + wx.uploadFile({
  244 + url: url, //仅为示例,非真实的接口地址
  245 + filePath: file,
  246 + name: 'file',
  247 + header: head,
  248 + formData: typename,
  249 + success: function(res) {
  250 + console.log('上传文件后', res)
  251 + let temdata = JSON.parse(res.data);
  252 + console.log(temdata)
  253 + let urlobj = {
  254 + url: temdata.data.url
  255 + //url: temdata.data.filepath
  256 + }
  257 + resolve(urlobj);
  258 + wx.hideNavigationBarLoading();
  259 + wx.hideLoading();
  260 + },
  261 + fail: function(res) {
  262 + reject('网络出错');
  263 + wx.hideNavigationBarLoading()
  264 + wx.hideLoading()
  265 + },
  266 + complete: () => {
  267 + wx.hideNavigationBarLoading()
  268 + wx.hideLoading()
  269 + },
  270 + })
  271 + });
  272 + return promise;
  273 + },
  274 +
  275 + // pay(res, successData) {
  276 + // wx.requestPayment({
  277 + // "timeStamp": res.pay.timeStamp,
  278 + // "nonceStr": res.pay.nonceStr,
  279 + // "package": res.pay.package,
  280 + // "signType": "MD5",
  281 + // "paySign": res.pay.paySign,
  282 + // "success": function (res) {
  283 + // wx.showToast({
  284 + // title: '支付完成',
  285 + // icon: "success",
  286 + // duration: 1500,
  287 + // success: function (data) {
  288 + // successData(data)
  289 + // }
  290 + // })
  291 + // },
  292 + // "fail": function (res) {
  293 + // wx.showToast({
  294 + // title: '取消支付成功!',
  295 + // icon: "icon",
  296 + // duration: 1500,
  297 + // })
  298 + // }
  299 + // })
  300 + // },
  301 + // nowDate() {
  302 + // let date = new Date();
  303 + // let month = date.getMonth() + 1;
  304 + // let day = date.getDate();
  305 + // return date.getFullYear() + '-' + (month > 9 ? month : ('0' + month)) + '-' + (day > 9 ? day : ('0' + day));
  306 + // },
  307 + // minDate() {
  308 + // let date = new Date();
  309 + // date.setDate(date.getDate() - 287);
  310 + // let m = date.getMonth() + 1;
  311 + // return date.getFullYear() + '-' + m + '-' + date.getDate();
  312 + // },
  313 + // timeFormate(timestamp, timeType) {
  314 + // var timeStamp = timestamp.length == 13 ? timestamp : timestamp * 1000
  315 + // var date = new Date(timeStamp); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
  316 + // var Y = date.getFullYear() + '-';
  317 + // var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
  318 + // var D = date.getDate() + ' ';
  319 + // var h = date.getHours() + ':';
  320 + // var m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes());
  321 + // var s = date.getSeconds();
  322 + // if (timeType == 'YYMMDD') {
  323 + // return Y + M + D;
  324 + // } else {
  325 + // return h + m;
  326 + // }
  327 + // },
  328 +
  329 + nowDate() {
  330 + let date = new Date();
  331 + let month = date.getMonth() + 1;
  332 + let day = date.getDate();
  333 + return date.getFullYear() + '年' + (month > 9 ? month : ('0' + month)) + '月' + (day > 9 ? day : ('0' + day)) + '日';
  334 + },
  335 +
  336 + newnowDate() {
  337 + let date = new Date();
  338 + let month = date.getMonth() + 1;
  339 + let day = date.getDate();
  340 + return date.getFullYear() + '-' + (month > 9 ? month : ('0' + month)) + '-' + (day > 9 ? day : ('0' + day));
  341 + },
  342 +
  343 + // 接口管理
  344 + interface: {
  345 + // historyDelete: '/home/index/historyDelete',//删除
  346 + // shopClass: '/home/index/shopClass',//分类
  347 + // shopPage: '/home/index/shopPage',//分页
  348 + // history: '/home/index/history',//检索
  349 + // index: '/home/index/index', //首页
  350 + // login: '/wxapp/public/login', //小程序登录注册
  351 + getSessionKey: '/wxapp/public/getSessionKey', //获取sessionKey和openid
  352 + },
  353 + //全局变量
  354 + globalData: {
  355 + userInfo: null,
  356 + cid: null,
  357 + class_id: null
  358 + }
  359 +})
  1 +{
  2 + "pages": [
  3 + "pages/index/index",
  4 + "pages/personalData/personalData",
  5 +
  6 +
  7 + "pages/registration/registration",
  8 + "pages/myResume2/myResume2",
  9 + "pages/regSuccess/regSuccess",
  10 + "pages/myResume/myResume",
  11 +
  12 + "pages/openIndex/openIndex",
  13 +
  14 + "pages/publish/publish",
  15 + "pages/positionDetails/positionDetails",
  16 + "pages/goodWord/goodWord",
  17 + "pages/easyPart/easyPart",
  18 + "pages/hotRecommend/hotRecommend",
  19 + "pages/atHome/atHome",
  20 + "pages/employerDetails/employerDetails",
  21 + "pages/inviteFriends/inviteFriends",
  22 + "pages/recommend/recommend",
  23 + "pages/financialRecord/financialRecord",
  24 + "pages/feedback/feedback",
  25 + "pages/record2/record2",
  26 + "pages/record/record",
  27 + "pages/myMessage2/myMessage2",
  28 + "pages/myMessage/myMessage",
  29 + "pages/index/select/select",
  30 + "pages/index/search_4/search_4",
  31 + "pages/index/search_2/search_2",
  32 + "pages/index/url/url",
  33 + "pages/mine/mine",
  34 + "pages/date/date",
  35 + "pages/day/day"
  36 + ],
  37 + "window": {
  38 + "backgroundTextStyle": "light",
  39 + "navigationBarBackgroundColor": "#fff",
  40 + "navigationBarTitleText": "WeChat",
  41 + "navigationBarTextStyle": "black"
  42 + },
  43 + "tabBar": {
  44 + "selectedColor": "#FF8839",
  45 + "list": [
  46 + {
  47 + "pagePath": "pages/index/index",
  48 + "text": "首页",
  49 + "selectedColor": "#6EAC3D",
  50 + "iconPath": "img/nav_02@2x.png",
  51 + "selectedIconPath": "img/nav_01@2x.png"
  52 + },
  53 + {
  54 + "pagePath": "pages/publish/publish",
  55 + "text": "发布",
  56 + "selectedColor": "#6EAC3D",
  57 + "iconPath": "img/nav_03@2x.png",
  58 + "selectedIconPath": "img/nav_03@2x.png"
  59 + },
  60 + {
  61 + "pagePath": "pages/mine/mine",
  62 + "text": "我的",
  63 + "selectedColor": "#6EAC3D",
  64 + "iconPath": "img/nav_04@2x.png",
  65 + "selectedIconPath": "img/nav_05@2x.png"
  66 + }
  67 + ]
  68 + },
  69 + "permission": {
  70 + "scope.userLocation": {
  71 + "desc": "你的位置信息将用于小程序位置接口的效果展示"
  72 + }
  73 + },
  74 + "sitemapLocation": "sitemap.json"
  75 +}

873 字节

  1 +const app = getApp();
  2 +
  3 +Page({
  4 +
  5 + /**
  6 + * 页面的初始数据
  7 + */
  8 + data: {
  9 + industry: '',
  10 + categories_id: '',
  11 + jobs: '',
  12 + // 定义绑定跳转的id
  13 + id: '',
  14 + userid: '',
  15 + categories_name: ''
  16 + },
  17 +
  18 + /**
  19 + * 生命周期函数--监听页面加载
  20 + */
  21 + regSuccess(e) {
  22 +
  23 + let that = this;
  24 + let id = e.currentTarget.dataset.id;
  25 + var url = 'index/job/job_apply';
  26 + var params = {
  27 +
  28 + job_id: id
  29 + }
  30 +
  31 + var header = {
  32 + 'XX-Token': wx.getStorageSync('token')
  33 + }
  34 + app.post(url, params, header).then((res) => {
  35 +
  36 + wx.showToast({
  37 + title: '报名成功',
  38 + icon: 'none'
  39 + })
  40 +
  41 + setTimeout(function() {
  42 + wx.navigateTo({
  43 + url: '/pages/regSuccess/regSuccess?id=' + id,
  44 + })
  45 + }, 1500)
  46 +
  47 + }).catch((err) => {
  48 + console.log(err)
  49 + wx.showToast({
  50 + title: err.data.msg,
  51 + icon: 'none'
  52 + })
  53 +
  54 + // setTimeout(function () {
  55 + // wx.switchTab({
  56 + // url: 'pages/index/index?isresume=' + 1,
  57 + // })
  58 + // }, 1500)
  59 + })
  60 +
  61 +
  62 + },
  63 +
  64 + // 上架下架
  65 + upshang(e) {
  66 + let that=this;
  67 + let id = e.currentTarget.dataset.id;
  68 + var url = 'index/job/job_up';
  69 + let params = {
  70 + job_id: id,
  71 + type: 2
  72 + }
  73 + let header = {
  74 + "XX-Token": wx.getStorageSync('token'),
  75 + "XX-Device-Type": 'wxapp'
  76 + }
  77 + app.post(url, params, header).then((res) => {
  78 + console.log(res);
  79 + wx.showToast({
  80 + title: '下架成功',
  81 + icon: "none"
  82 + })
  83 +
  84 + setTimeout(function() {
  85 + console.log(88889999)
  86 + that.getfabu()
  87 + }, 1500)
  88 + // console.log(res.data)
  89 +
  90 + // 获取值
  91 +
  92 + // console.log(that.data.industry)
  93 +
  94 + }).catch((err) => {
  95 +
  96 + })
  97 + },
  98 + upxia(e) {
  99 + let that=this;
  100 + let id = e.currentTarget.dataset.id;
  101 + var url = 'index/job/job_up';
  102 + let params = {
  103 + job_id: id,
  104 + type: 1
  105 + }
  106 + let header = {
  107 + "XX-Token": wx.getStorageSync('token'),
  108 + "XX-Device-Type": 'wxapp'
  109 + }
  110 + app.post(url, params, header).then((res) => {
  111 + console.log(res);
  112 + wx.showToast({
  113 + title: '上架成功',
  114 + icon: "none"
  115 + })
  116 +
  117 + setTimeout(function() {
  118 + that.getfabu()
  119 + }, 1500)
  120 + // console.log(res.data)
  121 +
  122 + // 获取值
  123 +
  124 + // console.log(that.data.industry)
  125 +
  126 + }).catch((err) => {
  127 +
  128 + })
  129 + },
  130 + //报名者详情
  131 + // peopledetail(e){
  132 + // let userid = e.currentTarget.dataset.userid
  133 + // },
  134 +
  135 +
  136 + toPosition(e) {
  137 + console.log(e)
  138 + // 绑定id跳转至工作详情
  139 + let that = this;
  140 + let id = e.currentTarget.dataset.id;
  141 + wx.navigateTo({
  142 + url: '/pages/positionDetails/positionDetails?id=' + id,
  143 + })
  144 + },
  145 + // 跳转招聘者信息
  146 + toRecruiter(e) {
  147 + wx.navigateTo({
  148 + url: '/pages/employerDetails/employerDetails?userid=' + e.currentTarget.dataset.userid + '&resumename=' + e.currentTarget.dataset.resumename,
  149 + })
  150 + },
  151 + onLoad: function(options) {
  152 + console.log(options)
  153 + //页面切换,更换页面标题
  154 + wx.setNavigationBarTitle({
  155 + title: options.categories_name
  156 + })
  157 + if (options.categories_id != undefined) {
  158 + this.setData({
  159 + categories_id: options.categories_id,
  160 + categories_name: options.categories_name
  161 + })
  162 + }
  163 +
  164 + if (options.userid != undefined) {
  165 + this.setData({
  166 + userid: options.userid,
  167 + categories_name: options.categories_name
  168 + })
  169 + }
  170 +
  171 + // 调用岗位功能参数
  172 + // this.getIndustry()
  173 +
  174 + if (options.categories_name == '发布岗位') {
  175 + this.getfabu()
  176 + } else {
  177 + this.getJods()
  178 + }
  179 +
  180 + },
  181 +
  182 + // 获取多个工作
  183 + getJods() {
  184 + let that = this;
  185 + let url = 'index/job/jobs';
  186 +
  187 + let params = {
  188 + categories_id: that.data.categories_id,
  189 + }
  190 + let header = {
  191 + "XX-Token": wx.getStorageSync('token'),
  192 + "XX-Device-Type": 'wxapp'
  193 + }
  194 + app.post(url, params, header).then((res) => {
  195 + console.log(res);
  196 + // console.log(res.data)
  197 +
  198 + // 获取值
  199 + that.setData({
  200 + jobs: res.data
  201 + })
  202 + // console.log(that.data.industry)
  203 +
  204 + }).catch((err) => {
  205 +
  206 + })
  207 + },
  208 +
  209 +
  210 + getfabu() {
  211 + let that = this;
  212 + let url = 'index/job/jobs';
  213 +
  214 + let params = {
  215 + user_id: that.data.userid,
  216 + }
  217 + let header = {
  218 + "XX-Token": wx.getStorageSync('token'),
  219 + "XX-Device-Type": 'wxapp'
  220 + }
  221 + app.post(url, params, header).then((res) => {
  222 + console.log(res);
  223 + // console.log(res.data)
  224 +
  225 + // 获取值
  226 + that.setData({
  227 + jobs: res.data
  228 + })
  229 + // console.log(that.data.industry)
  230 +
  231 + }).catch((err) => {
  232 +
  233 + })
  234 + },
  235 +
  236 +
  237 +
  238 +
  239 +
  240 + /**
  241 + * 生命周期函数--监听页面初次渲染完成
  242 + */
  243 + onReady: function() {
  244 +
  245 + },
  246 +
  247 + /**
  248 + * 生命周期函数--监听页面显示
  249 + */
  250 + onShow: function() {
  251 +
  252 + },
  253 +
  254 + /**
  255 + * 生命周期函数--监听页面隐藏
  256 + */
  257 + onHide: function() {
  258 +
  259 + },
  260 +
  261 + /**
  262 + * 生命周期函数--监听页面卸载
  263 + */
  264 + onUnload: function() {
  265 +
  266 + },
  267 +
  268 + /**
  269 + * 页面相关事件处理函数--监听用户下拉动作
  270 + */
  271 + onPullDownRefresh: function() {
  272 +
  273 + },
  274 +
  275 + /**
  276 + * 页面上拉触底事件的处理函数
  277 + */
  278 + onReachBottom: function() {
  279 +
  280 + },
  281 +
  282 + /**
  283 + * 用户点击右上角分享
  284 + */
  285 + onShareAppMessage: function() {
  286 +
  287 + }
  288 +})
  1 +<view class='container'>
  2 +
  3 + <!-- 条目 -->
  4 + <view class='items' wx:if="{{categories_name!='发布岗位'}}">
  5 + <view class='item' bindtap='toPosition' wx:for="{{jobs}}" wx:key="" data-id="{{item.id}}">
  6 + <!-- 头部 -->
  7 + <view class='item_top'>
  8 + <view class='item_top_left'>
  9 + <view class='item_top_left_pic'>
  10 + <image src='{{item.logo}}'></image>
  11 + </view>
  12 + <view class='item_top_left_text'>
  13 + <view class='text_top' catchtap='peopledetail'>{{item.station_name}}</view>
  14 + <view class='text_bottom '>{{item.min_money}}-{{item.max_money}}{{item.unit_name}}</view>
  15 + </view>
  16 +
  17 +
  18 +
  19 +
  20 + </view>
  21 +
  22 + <!-- <view class='item_top_right' catchtap='regSuccess' data-id="{{item.id}}" wx:if="{{item.is_apply==0}}">
  23 + 报名
  24 + </view>
  25 + <view class='item_top_right' wx:else>
  26 + 已报名
  27 + </view> -->
  28 + </view>
  29 + <!-- 底部 -->
  30 + <view class='item_bottom'>
  31 + <view class='item_bottom_left' catchtap='toRecruiter' data-userid="{{item.user_id}}" data-resumename="{{item.resume_name}}">
  32 + <view class='item_bottom_left_pic'>
  33 + <image src='/img/aicon_10@2x.png'></image>
  34 + </view>
  35 + <!-- 名字 -->
  36 + <!-- <view>{{item.resume_name}}</view> -->
  37 + <view style="margin-left:20rpx;">报名人数:{{item.apply}}</view>
  38 +
  39 +
  40 + </view>
  41 +
  42 + <!-- <view class='item_bottom_right'>
  43 + <view class='item_bottom_left_pic'>
  44 + <image src='/img/aicon_09@2x.png'></image>
  45 + </view>
  46 + <view>{{item.work_county}} {{item.distance}}</view>
  47 + </view> -->
  48 + </view>
  49 + </view>
  50 + </view>
  51 +
  52 +
  53 + <view class='items' wx:else>
  54 + <view class='item' bindtap='toPosition' wx:for="{{jobs}}" wx:key="" data-id="{{item.id}}">
  55 + <!-- 头部 -->
  56 + <view class='item_top'>
  57 + <view class='item_top_left'>
  58 + <view class='item_top_left_pic'>
  59 + <image src='{{item.logo}}'></image>
  60 + </view>
  61 +
  62 + <view class="jiatext">
  63 + <view class='item_top_left_text'>
  64 + <view class='text_top' catchtap='peopledetail'>{{item.station_name}}</view>
  65 + <view class='text_bottom cishu'>{{item.min_money}}-{{item.max_money}}{{item.unit_name}}</view>
  66 + </view>
  67 +
  68 + <view class="jiak" wx:if="{{item.is_up==1}}" catchtap="upshang" data-id="{{item.id}}">下架</view>
  69 + <view class="jiaxia" wx:else catchtap="upxia" data-id="{{item.id}}">上架</view>
  70 + </view>
  71 +
  72 + </view>
  73 + </view>
  74 + <!-- 底部 -->
  75 + <view class='item_bottom'>
  76 + <view class='item_bottom_left' catchtap='toRecruiter' data-userid="{{item.user_id}}" data-resumename="{{item.resume_name}}">
  77 + <view class='item_bottom_left_pic'>
  78 + <image src='/img/aicon_10@2x.png'></image>
  79 + </view>
  80 + <!-- 名字 -->
  81 + <view>{{item.resume_name}}</view>
  82 + <view style="margin-left:20rpx;">报名人数:{{item.apply}}</view>
  83 +
  84 + </view>
  85 +
  86 + <view class='item_bottom_right' wx:if="{{item.categories_id==5}}">
  87 + <view class='item_bottom_left_pic'>
  88 + <image src='/img/aicon_09@2x.png'></image>
  89 + </view>
  90 + <view >{{item.work_county}}{{item.distance}}</view>
  91 + </view>
  92 + </view>
  93 + </view>
  94 + </view>
  95 +
  96 + <!-- 提示 -->
  97 + <view class='bottom'>
  98 + 没有更多内容了
  99 + </view>
  100 +
  101 +
  102 +
  103 +</view>
  1 +page {
  2 + line-height: 1;
  3 + /* background: #EBEBEB; */
  4 +}
  5 +
  6 +.container {
  7 + display: flex;
  8 + flex-flow: column;
  9 +}
  10 +
  11 +.top {
  12 + display: flex;
  13 + align-items: center;
  14 + justify-content: center;
  15 + background: #fff;
  16 + border-top: 1px solid #ebebeb;
  17 + border-bottom: 1px solid #ebebeb;
  18 + padding: 24rpx 0;
  19 +}
  20 +
  21 +.top_box {
  22 + display: flex;
  23 + align-items: center;
  24 + width: 686rpx;
  25 + height: 60rpx;
  26 + background: rgba(237, 238, 242, 1);
  27 + border-radius: 10rpx;
  28 + box-sizing: border-box;
  29 + padding: 0 24rpx;
  30 +}
  31 +
  32 +.top_pic {
  33 + width: 28rpx;
  34 + height: 28rpx;
  35 + display: flex;
  36 +}
  37 +
  38 +.top_pic image {
  39 + width: 100%;
  40 + height: 100%;
  41 +}
  42 +
  43 +.top_box input {
  44 + margin-left: 25rpx;
  45 + width: 100%;
  46 + height: 100%;
  47 + font-size: 26rpx;
  48 + font-family: PingFang-SC-Medium;
  49 + font-weight: 500;
  50 + color: #000;
  51 +}
  52 +
  53 +.about {
  54 + font-size: 30rpx;
  55 + font-family: PingFang-SC-Medium;
  56 + font-weight: 500;
  57 + color: rgba(26, 26, 26, 1);
  58 + border-bottom: 1px solid #ebebeb;
  59 + padding: 24rpx 34rpx 24rpx 55rpx;
  60 + position: relative;
  61 + display: flex;
  62 + align-items: center;
  63 +}
  64 +
  65 +.about::before {
  66 + content: "";
  67 + width: 6rpx;
  68 + height: 24rpx;
  69 + background: rgba(255, 102, 0, 1);
  70 + position: absolute;
  71 + left: 34rpx;
  72 +}
  73 +
  74 +/* 条目 */
  75 +
  76 +.items {
  77 + display: flex;
  78 + flex-flow: column;
  79 +}
  80 +
  81 +.item {
  82 + /* margin-top: 1px; */
  83 + display: flex;
  84 + flex-flow: column;
  85 + background: #fff;
  86 + padding: 40rpx;
  87 + border-bottom: 1px solid #ebebeb;
  88 +}
  89 +
  90 +.item:first-child {
  91 + border-top: 1px solid #ebebeb;
  92 +}
  93 +
  94 +.item_top {
  95 +
  96 + display: flex;
  97 + justify-content: space-between;
  98 +}
  99 +
  100 +.item_top_left {
  101 + display: flex;
  102 +}
  103 +
  104 +.item_top_left_pic {
  105 + width: 72rpx;
  106 + height: 72rpx;
  107 + border-radius: 2rpx;
  108 + display: flex;
  109 +}
  110 +
  111 +.item_top_left_pic image {
  112 + width: 100%;
  113 + height: 100%;
  114 +}
  115 +
  116 +.item_top_left_text {
  117 + width:580rpx;
  118 + margin-left: 23rpx;
  119 + display: flex;
  120 + align-items: center;
  121 + justify-content: space-between;
  122 + /* flex-flow: column; */
  123 +}
  124 +
  125 +.text_top {
  126 + font-size: 32rpx;
  127 + font-family: PingFang-SC-Medium;
  128 + font-weight: 500;
  129 + color: rgba(26, 26, 26, 1);
  130 +}
  131 +
  132 +.text_bottom {
  133 + /* margin-top: 17rpx; */
  134 + font-size: 28rpx;
  135 + font-family: PingFang-SC-Medium;
  136 + font-weight: 500;
  137 + color: rgba(255, 59, 40, 1);
  138 + margin-left:20rpx;
  139 +}
  140 +
  141 +.item_top_right {
  142 + width: 140rpx;
  143 + height: 66rpx;
  144 + line-height: 66rpx;
  145 + text-align: center;
  146 + border: 1px solid rgba(255, 102, 0, 1);
  147 + border-radius: 33rpx;
  148 + font-size: 28rpx;
  149 + font-family: PingFang-SC-Medium;
  150 + font-weight: 500;
  151 + color: rgba(255, 102, 0, 1);
  152 +}
  153 +
  154 +.item_bottom {
  155 + margin-top: 20rpx;
  156 + margin-left: 80rpx;
  157 + display: flex;
  158 + align-items: center;
  159 + justify-content: space-between;
  160 + font-size: 26rpx;
  161 + font-family: PingFang-SC-Medium;
  162 + font-weight: 500;
  163 + color: rgba(153, 153, 153, 1);
  164 +}
  165 +
  166 +.item_bottom_left {
  167 + display: flex;
  168 + align-items: center;
  169 +}
  170 +
  171 +.item_bottom_left_pic {
  172 + width: 22rpx;
  173 + height: 22rpx;
  174 + display: flex;
  175 + margin-right: 13rpx;
  176 +}
  177 +
  178 +.item_bottom_left_pic image {
  179 + width: 100%;
  180 + height: 100%;
  181 +}
  182 +
  183 +.item_bottom_right {
  184 + display: flex;
  185 + align-items: center;
  186 +}
  187 +
  188 +.item_bottom_left_pic {
  189 + margin-left: 14rpx;
  190 + width: 20rpx;
  191 + height: 24rpx;
  192 + display: flex;
  193 +}
  194 +
  195 +.item_bottom_left_pic image {
  196 + width: 100%;
  197 + height: 100%;
  198 +}
  199 +
  200 +.bottom {
  201 + margin-top: 23rpx;
  202 + text-align: center;
  203 + font-size: 24rpx;
  204 + font-family: PingFang-SC-Regular;
  205 + font-weight: 400;
  206 + color: rgba(153, 153, 153, 1);
  207 +}
  208 +
  209 +.jiak {
  210 + width: 140rpx;
  211 + height: 66rpx;
  212 + border: 1px solid #FF6600;
  213 + /* background: linear-gradient(135deg, rgba(255, 136, 57, 1), rgba(255, 102, 0, 1)); */
  214 + border-radius: 33rpx;
  215 + color:#FF6600;
  216 + font-size: 28rpx;
  217 + text-align: center;
  218 + line-height: 66rpx;
  219 +}
  220 +.jiaxia{
  221 + width: 140rpx;
  222 + height: 66rpx;
  223 + border: 1px solid #999999;
  224 + /* background: linear-gradient(135deg, rgba(255, 136, 57, 1), rgba(255, 102, 0, 1)); */
  225 + border-radius: 33rpx;
  226 + color:#999999;
  227 + font-size: 28rpx;
  228 + text-align: center;
  229 + line-height: 66rpx;
  230 +}
  231 +.jiatext{
  232 + display:flex;
  233 + align-items: center;
  234 + justify-content: space-between;
  235 + width:606rpx;
  236 +}
  237 +.cishu{
  238 + margin-right:20rpx;
  239 +}
  1 +import qqmap from '../../utils/map.js';
  2 +const app = getApp()
  3 +
  4 +Page({
  5 + data: {
  6 + //下面是字母排序
  7 + 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"],
  8 + cityListId: '',
  9 + //下面是城市列表信息,这里只是模拟数据
  10 + citylist: [{ "letter": "A", "data": [{ "id": "v7", "cityName": "安徽" }] }, { "letter": "B", "data": [{ "id": "v10", "cityName": "巴中" }, { "id": "v4", "cityName": "包头" }, { "id": "v1", "cityName": "北京" }] }, { "letter": "C", "data": [{ "id": "v15", "cityName": "成都" }] }, { "letter": "D", "data": [{ "id": "v21", "cityName": "稻城" }] }, { "letter": "G", "data": [{ "id": "v17", "cityName": "广州" }, { "id": "v29", "cityName": "桂林" }] }, { "letter": "H", "data": [{ "id": "v9", "cityName": "海南" }, { "id": "v3", "cityName": "呼和浩特" }] }, { "letter": "L", "data": [{ "id": "v24", "cityName": "洛阳" }, { "id": "v20", "cityName": "拉萨" }, { "id": "v14", "cityName": "丽江" }] }, { "letter": "M", "data": [{ "id": "v13", "cityName": "眉山" }] }, { "letter": "N", "data": [{ "id": "v27", "cityName": "南京" }] }, { "letter": "S", "data": [{ "id": "v18", "cityName": "三亚" }, { "id": "v2", "cityName": "上海" }] }, { "letter": "T", "data": [{ "id": "v5", "cityName": "天津" }] }, { "letter": "W", "data": [{ "id": "v12", "cityName": "乌鲁木齐" }, { "id": "v25", "cityName": "武汉" }] }, { "letter": "X", "data": [{ "id": "v23", "cityName": "西安" }, { "id": "v28", "cityName": "香港" }, { "id": "v19", "cityName": "厦门" }] }, { "letter": "Z", "data": [{ "id": "v8", "cityName": "张家口" }] }],
  11 + //下面是热门城市数据,模拟数据
  12 + newcity: ['北京', '上海', '广州', '深圳', '成都', '杭州'],
  13 + // citySel: '全国',
  14 + locateCity: ''
  15 + },
  16 +
  17 + //点击城市
  18 + cityTap(e) {
  19 + console.log(e)
  20 + const val = e.currentTarget.dataset.val || '',
  21 + types = e.currentTarget.dataset.types || '',
  22 + Index = e.currentTarget.dataset.index || '',
  23 + that = this;
  24 + let city = this.data.citySel;
  25 + let newcity=e.currentTarget.dataset.val.name;
  26 + console.log(newcity)
  27 + if(newcity!=undefined){
  28 + wx.setStorageSync("cityname", newcity);
  29 + }
  30 +
  31 + let newprovince = e.currentTarget.dataset.val.cityName;
  32 + if (newprovince!=undefined){
  33 + wx.setStorageSync("cityname", newprovince);
  34 + }
  35 +
  36 + wx.switchTab({
  37 + url: '/pages/index/index',
  38 + })
  39 +
  40 + switch (types) {
  41 + case 'locate':
  42 + //定位内容
  43 + city = this.data.locateCity;
  44 + break;
  45 + case 'national':
  46 + //全国
  47 + city = '全国';
  48 + break;
  49 + case 'new':
  50 + //热门城市
  51 + city = val;
  52 + break;
  53 + case 'list':
  54 + //城市列表
  55 + city = val.cityName;
  56 + break;
  57 + }
  58 + if (city) {
  59 + wx.setStorage({
  60 + key: 'city',
  61 + data: city
  62 + })
  63 + //点击后给父组件可以通过bindcitytap事件,获取到cityname的值,这是子组件给父组件传值和触发事件的方法
  64 + // this.triggerEvent('citytap', { cityname: city });
  65 + } else {
  66 + console.log('还没有');
  67 + this.getLocate();
  68 + }
  69 +
  70 + },
  71 + //点击城市字母
  72 + letterTap(e) {
  73 + const Item = e.currentTarget.dataset.item;
  74 + this.setData({
  75 + cityListId: Item
  76 + });
  77 + console.log("..............." + this.data.cityListId);
  78 + },
  79 + //调用定位
  80 + getLocate() {
  81 + let that = this;
  82 + new qqmap().getLocateInfo().then(function (val) {//这个方法在另一个文件里,下面有贴出代码
  83 + console.log(val);
  84 + if (val.indexOf('市') !== -1) {//这里是去掉“市”这个字
  85 + console.log(val.indexOf('市') - 1);
  86 + val = val.slice(0, val.indexOf('市'));
  87 + console.log(val);
  88 + }
  89 + that.setData({
  90 + locateCity: val
  91 + });
  92 + //把获取的定位和获取的时间放到本地存储
  93 + wx.setStorageSync('locatecity', { city: val, time: new Date().getTime() });
  94 + });
  95 + },
  96 +
  97 + //获取热门城市
  98 +
  99 + gethotcity() {
  100 + let that = this;
  101 + var url = 'index/category/hot_city';
  102 + var params = {
  103 +
  104 +
  105 + }
  106 + app.post(url, params).then((res) => {
  107 + console.log(res);
  108 + that.setData({
  109 + newcity: res.data
  110 + })
  111 +
  112 + console.log(that.data.newcity)
  113 +
  114 +
  115 + }).catch((err) => {
  116 +
  117 + })
  118 +
  119 + },
  120 +
  121 + onShow() {
  122 + console.log(getApp());
  123 + let that = this,
  124 + cityOrTime = wx.getStorageSync('locatecity') || {},
  125 + time = new Date().getTime(),
  126 + city = '';
  127 + if (!cityOrTime.time || (time - cityOrTime.time > 1800000)) {//每隔30分钟请求一次定位
  128 + this.getLocate();
  129 + } else {//如果未满30分钟,那么直接从本地缓存里取值
  130 + that.setData({
  131 + locateCity: cityOrTime.city
  132 + })
  133 + }
  134 +
  135 +
  136 + that.gethotcity()
  137 +
  138 + }
  139 +})
  1 +{
  2 +
  3 + "navigationBarTitleText": "城市"
  4 +}
  1 +<view class='city_box'>
  2 + <view class='city_left'>
  3 + <scroll-view scroll-y style='width:100%;height:100%;' scroll-with-animation scroll-into-view='{{cityListId}}'>
  4 + <view class='city_locate' data-types='locate' catchtap='cityTap'>
  5 + <text class='city_locate_title'>自动定位</text>
  6 + <text class='city_locate_text' style='{{!locateCity&&"color:#33b9ff;"}}'>{{locateCity||'点击定位'}}</text>
  7 + </view>
  8 + <view class='national' data-types='national' catchtap='cityTap'>全国</view>
  9 + <view class='new_city'>
  10 + <view class='new_city_title'>热门城市</view>
  11 + <view class='new_city_box'>
  12 + <text class='new_city_text' wx:for='{{newcity}}' wx:key='this' data-types='new' catchtap='cityTap' data-val='{{item}}'>{{item.name}}</text>
  13 + </view>
  14 + </view>
  15 + <view class='city_list_box'>
  16 + <block wx:for='{{citylist}}' wx:key='this' wx:for-item='letterItem' wx:for-index='letterIndex'>
  17 + <view class='city_first_letter' id='{{letterItem.letter}}'>{{letterItem.letter}}</view>
  18 + <text class='city_name' wx:for='{{letterItem.data}}' wx:key='this' data-types='list' catchtap='cityTap' data-index='{{index}}' data-val='{{item}}'>{{item.cityName}}</text>
  19 + </block>
  20 + </view>
  21 + </scroll-view>
  22 + </view>
  23 + <view class='city_right'>
  24 + <text class='letter_item' wx:for='{{letter}}' wx:key='this' catchtap='letterTap' data-item='{{item}}'>{{item}}</text>
  25 + </view>
  26 +</view>
  1 +page{
  2 + height:100%
  3 +}
  4 +
  5 +.city_box{
  6 + height:100%;
  7 + background: #fff;
  8 + display: flex;
  9 +}
  10 +.city_left{
  11 + flex: 1;
  12 +}
  13 +.city_right{
  14 + width: 60rpx;
  15 + display: flex;
  16 + flex-direction: column;
  17 + justify-content: space-around;
  18 +}
  19 +.letter_item{
  20 + flex: 1;
  21 + display: block;
  22 + font-size: 24rpx;
  23 + color: #33B9FF;
  24 + text-align: center;
  25 +}
  26 +.city_locate,.national{
  27 + height: 80rpx;
  28 + line-height: 80rpx;
  29 + border-bottom: 1px solid #efefef;
  30 + font-size: 28rpx;
  31 + color: #333;
  32 + padding-left: 25rpx;
  33 +}
  34 +.city_locate_title{
  35 + color: #999;
  36 + margin-right: 20rpx;
  37 +}
  38 +.new_city{
  39 + background: #efefef;
  40 + font-size: 28rpx;
  41 +}
  42 +.new_city_title{
  43 + line-height: 50rpx;
  44 + color: #999;
  45 + padding-left: 25rpx;
  46 + margin-bottom: 20rpx;
  47 +}
  48 +.new_city_box{
  49 + display: flex;
  50 + flex-wrap: wrap;
  51 +}
  52 +.new_city_text{
  53 + width: 200rpx;
  54 + text-align: center;
  55 + line-height: 70rpx;
  56 + background: #fff;
  57 + border-radius: 35rpx;
  58 + margin:0 0 22rpx 22rpx;
  59 +}
  60 +.city_first_letter{
  61 + line-height: 40rpx;
  62 + height: 40rpx;
  63 + padding-left: 25rpx;
  64 + font-size: 28rpx;
  65 + background: #eee;
  66 + color: #999;
  67 +}
  68 +.city_name{
  69 + display: block;
  70 + line-height: 80rpx;
  71 + height: 80rpx;
  72 + border-bottom: 1px solid #efefef;
  73 + font-size: 28rpx;
  74 + color: #333;
  75 + padding-left: 25rpx;
  76 +}
  1 +// pages/day/day.js
  2 +const app=getApp()
  3 +Page({
  4 +
  5 + /**
  6 + * 页面的初始数据
  7 + */
  8 + data: {
  9 + winHeight: 0,
  10 + newcity:[],
  11 + city:'',
  12 + lat:'',
  13 + lng:''
  14 + },
  15 + cityTap(e) {
  16 + console.log('fasdfsdfsdfds');
  17 + console.log(e);
  18 + const cityName = e.detail.cityname.name;
  19 + console.log(cityName)
  20 + if (cityName==undefined){
  21 + this.setData({
  22 + city: e.detail.cityname
  23 + })
  24 + }else{
  25 + this.setData({
  26 + city: e.detail.cityname.name
  27 + })
  28 + }
  29 +
  30 +
  31 + console.log(this.data.city)
  32 +
  33 + this.getjingwei();
  34 +
  35 +
  36 + setTimeout(function(){
  37 + wx.switchTab({
  38 + url: '/pages/index/index',
  39 + })
  40 + },1500)
  41 +
  42 +
  43 + // wx.navigateBack();
  44 + },
  45 + /**
  46 + * 生命周期函数--监听页面加载
  47 + */
  48 + onLoad: function (options) {
  49 + const win = wx.getSystemInfoSync();
  50 + console.log(win);
  51 + this.setData({
  52 + winHeight: win.windowHeight
  53 + });
  54 +
  55 + // this.gethotcity()
  56 + },
  57 +
  58 + //根据城市获取经纬度
  59 + getjingwei() {
  60 + let that = this;
  61 + var url = 'index/category/get_lng_lat';
  62 + var params = {
  63 + city: that.data.city,
  64 +
  65 + }
  66 + app.post(url, params).then((res) => {
  67 + console.log(res);
  68 + that.setData({
  69 + lat:res.data.lat,
  70 + lng:res.data.lng
  71 + })
  72 +
  73 +
  74 +
  75 + console.log(this.data.city);
  76 + console.log(this.data.lat);
  77 + console.log(this.data.lng)
  78 + wx.setStorageSync('city', this.data.city)
  79 + wx.setStorageSync('lat', this.data.lat)
  80 + wx.setStorageSync('lng', this.data.lng)
  81 +
  82 + }).catch((err) => {
  83 +
  84 + })
  85 + },
  86 +
  87 + /**
  88 + * 生命周期函数--监听页面初次渲染完成
  89 + */
  90 + onReady: function () {
  91 +
  92 + },
  93 +
  94 + /**
  95 + * 生命周期函数--监听页面显示
  96 + */
  97 + onShow: function () {
  98 +
  99 + },
  100 +
  101 + /**
  102 + * 生命周期函数--监听页面隐藏
  103 + */
  104 + onHide: function () {
  105 +
  106 + },
  107 +
  108 + /**
  109 + * 生命周期函数--监听页面卸载
  110 + */
  111 + onUnload: function () {
  112 +
  113 + },
  114 +
  115 + /**
  116 + * 页面相关事件处理函数--监听用户下拉动作
  117 + */
  118 + onPullDownRefresh: function () {
  119 +
  120 + },
  121 +
  122 + /**
  123 + * 页面上拉触底事件的处理函数
  124 + */
  125 + onReachBottom: function () {
  126 +
  127 + },
  128 +
  129 + /**
  130 + * 用户点击右上角分享
  131 + */
  132 + onShareAppMessage: function () {
  133 +
  134 + }
  135 +})
  1 +{
  2 + "usingComponents": {
  3 + "citylist": "../date/date"
  4 +
  5 + },
  6 + "navigationBarTitleText": "首页"
  7 +
  8 +}
  1 +<citylist styles='max-height:100%;' bindcitytap='cityTap'></citylist>
  1 +/* pages/day/day.wxss */
  1 +// pages/easyPart/eastPart.js
  2 +Page({
  3 +
  4 + /**
  5 + * 页面的初始数据
  6 + */
  7 + data: {
  8 +
  9 + },
  10 +
  11 + /**
  12 + * 生命周期函数--监听页面加载
  13 + */
  14 + regSuccess() {
  15 + wx.navigateTo({
  16 + url: '/pages/regSuccess/regSuccess',
  17 + })
  18 + },
  19 +
  20 + toPosition() {
  21 + wx.navigateTo({
  22 + url: '/pages/positionDetails/positionDetails',
  23 + })
  24 + },
  25 + // 跳转招聘者信息
  26 + toRecruiter() {
  27 + wx.navigateTo({
  28 + url: '/pages/employerDetails/employerDetails',
  29 + })
  30 + },
  31 + onLoad: function (options) {
  32 +
  33 + },
  34 +
  35 + /**
  36 + * 生命周期函数--监听页面初次渲染完成
  37 + */
  38 + onReady: function () {
  39 +
  40 + },
  41 +
  42 + /**
  43 + * 生命周期函数--监听页面显示
  44 + */
  45 + onShow: function () {
  46 +
  47 + },
  48 +
  49 + /**
  50 + * 生命周期函数--监听页面隐藏
  51 + */
  52 + onHide: function () {
  53 +
  54 + },
  55 +
  56 + /**
  57 + * 生命周期函数--监听页面卸载
  58 + */
  59 + onUnload: function () {
  60 +
  61 + },
  62 +
  63 + /**
  64 + * 页面相关事件处理函数--监听用户下拉动作
  65 + */
  66 + onPullDownRefresh: function () {
  67 +
  68 + },
  69 +
  70 + /**
  71 + * 页面上拉触底事件的处理函数
  72 + */
  73 + onReachBottom: function () {
  74 +
  75 + },
  76 +
  77 + /**
  78 + * 用户点击右上角分享
  79 + */
  80 + onShareAppMessage: function () {
  81 +
  82 + }
  83 +})
  1 +{
  2 + "usingComponents": {},
  3 + "navigationBarTitleText": "轻松兼职"
  4 +}
  1 +
  2 +
  3 +<view class='container'>
  4 +
  5 + <!-- 条目 -->
  6 + <view class='items'>
  7 + <view class='item' bindtap='toPosition'>
  8 + <!-- 头部 -->
  9 + <view class='item_top'>
  10 + <view class='item_top_left'>
  11 + <view class='item_top_left_pic'>
  12 + <image src='/img/aicon_08@2x.png'></image>
  13 + </view>
  14 + <view class='item_top_left_text'>
  15 + <view class='text_top'>酒店服务员</view>
  16 + <view class='text_bottom'>4000-5000元/月</view>
  17 + </view>
  18 + </view>
  19 +
  20 + <view class='item_top_right' bindtap='regSuccess'>
  21 + 报名
  22 + </view>
  23 + </view>
  24 + <!-- 底部 -->
  25 + <view class='item_bottom'>
  26 + <view class='item_bottom_left' bindtap='toRecruiter'>
  27 + <view class='item_bottom_left_pic'>
  28 + <image src='/img/aicon_10@2x.png'></image>
  29 + </view>
  30 + <!-- 名字 -->
  31 + <view>王思迪</view>
  32 + </view>
  33 +
  34 + <view class='item_bottom_right'>
  35 + <view class='item_bottom_left_pic'>
  36 + <image src='/img/aicon_09@2x.png'></image>
  37 + </view>
  38 + <view>南开区 3.2km</view>
  39 + </view>
  40 + </view>
  41 + </view>
  42 +
  43 +
  44 + </view>
  45 +
  46 + <!-- 提示 -->
  47 + <view class='bottom'>
  48 + 没有更多内容了
  49 + </view>
  50 +
  51 +
  52 +
  53 +</view>
  1 +
  2 +
  3 +page{
  4 + line-height: 1;
  5 + /* background: #EBEBEB; */
  6 +}
  7 +.container{
  8 + display: flex;
  9 + flex-flow: column;
  10 +}
  11 +.top{
  12 + display: flex;
  13 + align-items: center;
  14 + justify-content: center;
  15 + background: #fff;
  16 + border-top: 1px solid #EBEBEB;
  17 + border-bottom: 1px solid #EBEBEB;
  18 + padding: 24rpx 0;
  19 +}
  20 +.top_box{
  21 + display: flex;
  22 + align-items: center;
  23 + width:686rpx;
  24 + height:60rpx;
  25 + background:rgba(237,238,242,1);
  26 + border-radius:10rpx;
  27 + box-sizing: border-box;
  28 + padding: 0 24rpx;
  29 +}
  30 +.top_pic{
  31 +
  32 + width:28rpx;
  33 + height:28rpx;
  34 + display: flex;
  35 +}
  36 +.top_pic image{
  37 + width: 100%;
  38 + height: 100%;
  39 +}
  40 +.top_box input{
  41 + margin-left: 25rpx;
  42 + width: 100%;
  43 + height: 100%;
  44 +
  45 + font-size:26rpx;
  46 + font-family:PingFang-SC-Medium;
  47 + font-weight:500;
  48 + color:#000;
  49 +}
  50 +
  51 +.about{
  52 +
  53 + font-size:30rpx;
  54 + font-family:PingFang-SC-Medium;
  55 + font-weight:500;
  56 + color:rgba(26,26,26,1);
  57 + border-bottom: 1px solid #EBEBEB;
  58 + padding: 24rpx 34rpx 24rpx 55rpx;
  59 + position: relative;
  60 + display: flex;
  61 + align-items: center;
  62 +}
  63 +.about::before{
  64 + content: "";
  65 + width:6rpx;
  66 + height:24rpx;
  67 + background:rgba(255,102,0,1);
  68 + position: absolute;
  69 + left: 34rpx;
  70 +}
  71 +
  72 +/* 条目 */
  73 +.items{
  74 + display: flex;
  75 + flex-flow: column;
  76 +}
  77 +.item{
  78 + /* margin-top: 1px; */
  79 + display: flex;
  80 + flex-flow: column;
  81 + background: #fff;
  82 + padding: 40rpx;
  83 + border-bottom: 1px solid #EBEBEB;
  84 +
  85 +}
  86 +.item:first-child{
  87 + border-top: 1px solid #EBEBEB
  88 +}
  89 +.item_top{
  90 + display: flex;
  91 + justify-content: space-between;
  92 +}
  93 +.item_top_left{
  94 + display: flex;
  95 +}
  96 +.item_top_left_pic{
  97 + width:72rpx;
  98 + height:72rpx;
  99 + border-radius:2rpx;
  100 + display: flex;
  101 +}
  102 +.item_top_left_pic image{
  103 + width: 100%;
  104 + height: 100%;
  105 +}
  106 +.item_top_left_text{
  107 + margin-left: 23rpx;
  108 + display: flex;
  109 + flex-flow: column;
  110 +}
  111 +.text_top{
  112 + font-size:32rpx;
  113 + font-family:PingFang-SC-Medium;
  114 + font-weight:500;
  115 + color:rgba(26,26,26,1);
  116 +}
  117 +.text_bottom{
  118 + margin-top: 17rpx;
  119 + font-size:28rpx;
  120 + font-family:PingFang-SC-Medium;
  121 + font-weight:500;
  122 + color:rgba(255,59,40,1);
  123 +}
  124 +.item_top_right{
  125 + width:140rpx;
  126 + height:66rpx;
  127 + line-height: 66rpx;
  128 + text-align: center;
  129 + border:1px solid rgba(255,102,0,1);
  130 + border-radius:33rpx;
  131 +
  132 +
  133 + font-size:28rpx;
  134 + font-family:PingFang-SC-Medium;
  135 + font-weight:500;
  136 + color:rgba(255,102,0,1);
  137 +}
  138 +.item_bottom{
  139 + margin-top: 20rpx;
  140 + margin-left: 80rpx;
  141 + display: flex;
  142 + align-items: center;
  143 + justify-content: space-between;
  144 + font-size:26rpx;
  145 + font-family:PingFang-SC-Medium;
  146 + font-weight:500;
  147 + color:rgba(153,153,153,1);
  148 +}
  149 +.item_bottom_left{
  150 + display: flex;
  151 + align-items: center;
  152 +
  153 +}
  154 +.item_bottom_left_pic{
  155 + width:22rpx;
  156 + height:22rpx;
  157 + display: flex;
  158 + margin-right: 13rpx;
  159 +}
  160 +.item_bottom_left_pic image{
  161 + width: 100%;
  162 + height: 100%;
  163 +}
  164 +.item_bottom_right{
  165 + display: flex;
  166 + align-items: center;
  167 +}
  168 +.item_bottom_left_pic{
  169 + margin-left: 14rpx;
  170 + width:20rpx;
  171 + height:24rpx;
  172 + display: flex;
  173 +}
  174 +.item_bottom_left_pic image{
  175 + width: 100%;
  176 + height: 100%;
  177 +}
  178 +.bottom{
  179 + margin-top: 23rpx;
  180 + text-align: center;
  181 + font-size:24rpx;
  182 + font-family:PingFang-SC-Regular;
  183 + font-weight:400;
  184 + color:rgba(153,153,153,1);
  185 +
  186 +}
  1 +// pages/employerDetails/employerDetails.js
  2 +const app = getApp();
  3 +Page({
  4 +
  5 + /**
  6 + * 页面的初始数据
  7 + */
  8 + data: {
  9 + employer: '',
  10 + id: '',
  11 + job_id: '',
  12 + user_id: '',
  13 + employerJ: [],
  14 + page:1,
  15 + page_num:10,
  16 + resume_name:'',
  17 + resumename:''
  18 + },
  19 +
  20 + /**
  21 + * 生命周期函数--监听页面加载
  22 + */
  23 + // 跳转岗位信息
  24 + toPosition(e) {
  25 + let id = e.currentTarget.dataset.id
  26 + wx.navigateTo({
  27 + url: '/pages/positionDetails/positionDetails?id='+id,
  28 + })
  29 + },
  30 + // 跳转招聘者信息
  31 + toRecruiter() {
  32 + wx.navigateTo({
  33 + url: '/pages/employerDetails/employerDetails',
  34 + })
  35 + },
  36 + onLoad: function (options) {
  37 + console.log(options)
  38 + this.setData({
  39 + job_id: options.job_id,
  40 + user_id: options.userid,
  41 + resumename:options.resumename
  42 + })
  43 + this.employerDetails()
  44 + this.employerJobs()
  45 + },
  46 +
  47 + //报名
  48 + regSuccess(e) {
  49 + let that = this;
  50 + let id = e.currentTarget.dataset.id;
  51 + var url = 'index/job/job_apply';
  52 + var params = {
  53 +
  54 + job_id: id
  55 + }
  56 +
  57 + var header = {
  58 + 'XX-Token': wx.getStorageSync('token')
  59 + }
  60 + app.post(url, params, header).then((res) => {
  61 +
  62 + wx.showToast({
  63 + title: '报名成功',
  64 + icon: 'none'
  65 + })
  66 +
  67 + setTimeout(function () {
  68 + wx.navigateTo({
  69 + url: '/pages/regSuccess/regSuccess?id=' + id,
  70 + })
  71 + }, 1500)
  72 +
  73 + }).catch((err) => {
  74 + console.log(err)
  75 + wx.showToast({
  76 + title: err.data.msg,
  77 + icon: 'none'
  78 + })
  79 +
  80 + setTimeout(function () {
  81 + wx.navigateBack({
  82 + checked: true
  83 + })
  84 + wx.switchTab({
  85 +
  86 + url: 'pages/index/index?isresume='+1,
  87 + })
  88 + }, 1500)
  89 + })
  90 +
  91 +
  92 + },
  93 + employerDetails() {
  94 + let that = this;
  95 + let url = 'index/user/user_resume';
  96 + let params = {
  97 + job_id: that.data.job_id,
  98 + user_id: that.data.user_id
  99 + }
  100 + let header = {
  101 + "XX-Token": wx.getStorageSync('token'),
  102 + "XX-Device-Type": 'wxapp'
  103 + }
  104 + app.post(url, params, header).then((res) => {
  105 + console.log(res);
  106 + // 获取值
  107 + that.setData({
  108 + employer: res.data
  109 + })
  110 +
  111 + }).catch((err) => {
  112 +
  113 + })
  114 + },
  115 + // 获取多个工作
  116 + employerJobs() {
  117 + let that = this;
  118 + let url = 'index/job/jobs';
  119 + let params = {
  120 + page: that.data.page,
  121 + page_num: that.data.page_num,
  122 + resume_name: that.data.resumename
  123 + }
  124 + let header = {
  125 + "XX-Token": wx.getStorageSync('token'),
  126 + "XX-Device-Type": 'wxapp'
  127 + }
  128 + app.post(url, params, header).then((res) => {
  129 + console.log(res);
  130 + // 获取值
  131 + that.setData({
  132 + employerJ: that.data.employerJ.concat(res.data)
  133 + })
  134 +
  135 + console.log(that.data.employerJ)
  136 +
  137 + }).catch((err) => {
  138 +
  139 + })
  140 + },
  141 +
  142 +
  143 + /**
  144 + * 生命周期函数--监听页面初次渲染完成
  145 + */
  146 + onReady: function () {
  147 +
  148 + },
  149 +
  150 + /**
  151 + * 生命周期函数--监听页面显示
  152 + */
  153 + onShow: function () {
  154 +
  155 + },
  156 +
  157 + /**
  158 + * 生命周期函数--监听页面隐藏
  159 + */
  160 + onHide: function () {
  161 +
  162 + },
  163 +
  164 + /**
  165 + * 生命周期函数--监听页面卸载
  166 + */
  167 + onUnload: function () {
  168 +
  169 + },
  170 +
  171 + /**
  172 + * 页面相关事件处理函数--监听用户下拉动作
  173 + */
  174 + onPullDownRefresh: function () {
  175 +
  176 + },
  177 +
  178 + /**
  179 + * 页面上拉触底事件的处理函数
  180 + */
  181 + onReachBottom: function () {
  182 + let page=this.data.page;
  183 + page++;
  184 + this.setData({
  185 + page:page
  186 + })
  187 +
  188 + this.employerJobs()
  189 + },
  190 +
  191 + /**
  192 + * 用户点击右上角分享
  193 + */
  194 + onShareAppMessage: function () {
  195 +
  196 + }
  197 +})
  1 +{
  2 + "usingComponents": {},
  3 + "navigationBarTitleText": "招聘者详情"
  4 +}
  1 +
  2 +<view class='container'>
  3 + <view class='top'>
  4 + <view class='top_pic'>
  5 + <image src='{{employer.banner}}'></image>
  6 + </view>
  7 + <view class='top_text'>
  8 + <view class='top_text_left'>
  9 + {{employer.resume_name}}
  10 + </view>
  11 + <view class='top_text_right'>
  12 + <image src='{{employer.avatar}}'></image>
  13 + </view>
  14 + </view>
  15 + </view>
  16 +
  17 + <!-- 地址 -->
  18 + <view class='addr'>
  19 + <view class='addr_left'>
  20 + {{employer.work_address}}
  21 + </view>
  22 + <view class='addr_right'>
  23 + <view class='addr_right_icon'>
  24 + <image src='../../img/aicon_09@2x.png'></image>
  25 + </view>
  26 + <view class='addr_right_distance'>{{employer.distance}}</view>
  27 + </view>
  28 + </view>
  29 +
  30 + <!-- 相关岗位 -->
  31 + <view class='items'>
  32 + <view class='related'>
  33 + 相关岗位
  34 + </view>
  35 +
  36 + <view class='item' bindtap='toPosition' wx:for='{{employerJ}}' wx:key='' data-id='{{item.id}}'>
  37 + <!-- 头部 -->
  38 + <view class='item_top'>
  39 + <view class='item_top_left'>
  40 + <view class='item_top_left_pic'>
  41 + <image src='{{item.logo}}'></image>
  42 + </view>
  43 + <view class='item_top_left_text'>
  44 + <view class='text_top'>{{item.station_name}}</view>
  45 + <view class='text_bottom'>{{item.min_money}}-{{item.max_money}}{{item.unit_name}}</view>
  46 + </view>
  47 + </view>
  48 +
  49 + <view class='item_top_right' catchtap='regSuccess' data-id="{{item.id}}" wx:if="{{item.is_apply==0}}">
  50 + 报名
  51 + </view>
  52 + <view class='item_top_right' wx:else>
  53 + 已报名
  54 + </view>
  55 + </view>
  56 + <!-- 底部 -->
  57 + <view class='item_bottom'>
  58 + <view class='item_bottom_left' bindtap='toRecruiter'>
  59 + <view class='item_bottom_left_pic'>
  60 + <image src='/img/aicon_10@2x.png'></image>
  61 + </view>
  62 + <!-- 名字 -->
  63 + <view>{{item.resume_name}}</view>
  64 + </view>
  65 +
  66 + <view class='item_bottom_right' >
  67 + <view class='item_bottom_left_pic'>
  68 + <image src='/img/aicon_09@2x.png'></image>
  69 + </view>
  70 + <view>{{item.work_county}} {{item.distance}}</view>
  71 + </view>
  72 + </view>
  73 + </view>
  74 +
  75 + <!-- <view class='item' bindtap='toPosition'>
  76 +
  77 + <view class='item_top'>
  78 + <view class='item_top_left'>
  79 + <view class='item_top_left_pic'>
  80 + <image src='/img/aicon_08@2x.png'></image>
  81 + </view>
  82 + <view class='item_top_left_text'>
  83 + <view class='text_top'>酒店服务员</view>
  84 + <view class='text_bottom'>4000-5000元/月</view>
  85 + </view>
  86 + </view>
  87 +
  88 + <view class='item_top_right'>
  89 + 报名
  90 + </view>
  91 + </view>
  92 +
  93 + <view class='item_bottom'>
  94 + <view class='item_bottom_left' bindtap='toRecruiter'>
  95 + <view class='item_bottom_left_pic'>
  96 + <image src='/img/aicon_10@2x.png'></image>
  97 + </view>
  98 +
  99 + <view>王思迪</view>
  100 + </view>
  101 +
  102 + <view class='item_bottom_right'>
  103 + <view class='item_bottom_left_pic'>
  104 + <image src='/img/aicon_09@2x.png'></image>
  105 + </view>
  106 + <view>南开区 3.2km</view>
  107 + </view>
  108 + </view>
  109 + </view> -->
  110 +
  111 + </view>
  112 +
  113 + <!-- 没有更多内容了 -->
  114 + <view class='bottom'>
  115 + 没有更多内容了
  116 + </view>
  117 +</view>
  1 +
  2 +page{
  3 + line-height: 1;
  4 + background: #F5F5F5;
  5 +}
  6 +
  7 +.container{
  8 + width: 750rpx;
  9 + display: flex;
  10 + flex-flow: column;
  11 + /* align-items: center; */
  12 +}
  13 +
  14 +.top{
  15 + display: flex;
  16 + flex-flow: column;
  17 + background: #fff;
  18 +}
  19 +.top_pic{
  20 + width:750rpx;
  21 + height:360rpx;
  22 + display: flex;
  23 +}
  24 +.top_pic image{
  25 + width: 100%;
  26 + height: 100%;
  27 +}
  28 +.top_text{
  29 + display: flex;
  30 + align-items: center;
  31 + justify-content: space-between;
  32 + box-sizing: border-box;
  33 + padding: 20rpx 32rpx;
  34 +}
  35 +.top_text_left{
  36 + font-size:36rpx;
  37 + font-family:PingFang-SC-Medium;
  38 + font-weight:500;
  39 + color:rgba(26,26,26,1);
  40 +}
  41 +.top_text_right{
  42 + width:72rpx;
  43 + height:72rpx;
  44 + border-radius:2rpx;
  45 +}
  46 +.top_text_right image{
  47 + width: 100%;
  48 + height: 100%;
  49 + border-radius:2rpx;
  50 +}
  51 +.addr{
  52 + margin-top: 14rpx;
  53 + display: flex;
  54 + justify-content: space-between;
  55 + background: #fff;
  56 + box-sizing: border-box;
  57 + padding: 40rpx 32rpx;
  58 +}
  59 +.addr_left{
  60 + width: 418rpx;
  61 + font-size:28rpx;
  62 + font-family:PingFang-SC-Regular;
  63 + font-weight:400;
  64 + color:rgba(26,26,26,1);
  65 + line-height:42rpx;
  66 +}
  67 +.addr_right{
  68 + display: flex;
  69 + /* align-items: center; */
  70 +}
  71 +.addr_right_icon{
  72 + width:20rpx;
  73 + height:24rpx;
  74 + display: flex;
  75 +}
  76 +.addr_right_icon image{
  77 + width: 100%;
  78 + height: 100%;
  79 +}
  80 +.addr_right_distance{
  81 + margin-left: 15rpx;
  82 + font-size:26rpx;
  83 + font-family:PingFang-SC-Medium;
  84 + font-weight:500;
  85 + color:rgba(153,153,153,1);
  86 +
  87 +}
  88 +.items{
  89 + margin-top: 14rpx;
  90 + display: flex;
  91 + flex-flow: column;
  92 + background: #fff;
  93 +}
  94 +.related{
  95 + font-size:30rpx;
  96 + font-family:PingFang-SC-Medium;
  97 + font-weight:500;
  98 + color:rgba(26,26,26,1);
  99 + box-sizing: border-box;
  100 + padding: 40rpx 54rpx 25rpx 54rpx;
  101 + position: relative;
  102 + border-bottom: 1px solid #EBEBEB;
  103 +}
  104 +.related::before{
  105 + content: '';
  106 + position: absolute;
  107 + top: 42rpx;
  108 + left: 32rpx;
  109 + width:6rpx;
  110 + height:24rpx;
  111 + background:rgba(255,102,0,1);
  112 +}
  113 +.item{
  114 + margin-top: 1px;
  115 + display: flex;
  116 + flex-flow: column;
  117 + background: #fff;
  118 + padding: 40rpx 30rpx;
  119 + border-bottom: 1px solid #EBEBEB;
  120 +}
  121 +
  122 +.item_top{
  123 + display: flex;
  124 + justify-content: space-between;
  125 +}
  126 +.item_top_left{
  127 + display: flex;
  128 +}
  129 +.item_top_left_pic{
  130 + width:72rpx;
  131 + height:72rpx;
  132 + border-radius:2rpx;
  133 + display: flex;
  134 +}
  135 +.item_top_left_pic image{
  136 + width: 100%;
  137 + height: 100%;
  138 +}
  139 +.item_top_left_text{
  140 + margin-left: 23rpx;
  141 + display: flex;
  142 + flex-flow: column;
  143 +}
  144 +.text_top{
  145 + font-size:32rpx;
  146 + font-family:PingFang-SC-Medium;
  147 + font-weight:500;
  148 + color:rgba(26,26,26,1);
  149 +}
  150 +.text_bottom{
  151 + margin-top: 17rpx;
  152 + font-size:28rpx;
  153 + font-family:PingFang-SC-Medium;
  154 + font-weight:500;
  155 + color:rgba(255,59,40,1);
  156 +}
  157 +.item_top_right{
  158 + width:140rpx;
  159 + height:66rpx;
  160 + line-height: 66rpx;
  161 + text-align: center;
  162 + border:1px solid rgba(255,102,0,1);
  163 + border-radius:33rpx;
  164 +
  165 +
  166 + font-size:28rpx;
  167 + font-family:PingFang-SC-Medium;
  168 + font-weight:500;
  169 + color:rgba(255,102,0,1);
  170 +}
  171 +.item_bottom{
  172 + margin-top: 20rpx;
  173 + margin-left: 80rpx;
  174 + display: flex;
  175 + align-items: center;
  176 + justify-content: space-between;
  177 + font-size:26rpx;
  178 + font-family:PingFang-SC-Medium;
  179 + font-weight:500;
  180 + color:rgba(153,153,153,1);
  181 +}
  182 +.item_bottom_left{
  183 + display: flex;
  184 + align-items: center;
  185 +
  186 +}
  187 +.item_bottom_left_pic{
  188 + width:22rpx;
  189 + height:22rpx;
  190 + display: flex;
  191 + margin-right: 13rpx;
  192 +}
  193 +.item_bottom_left_pic image{
  194 + width: 100%;
  195 + height: 100%;
  196 +}
  197 +.item_bottom_right{
  198 + display: flex;
  199 + align-items: center;
  200 +}
  201 +.item_bottom_left_pic{
  202 + margin-left: 14rpx;
  203 + width:20rpx;
  204 + height:24rpx;
  205 + display: flex;
  206 +}
  207 +.item_bottom_left_pic image{
  208 + width: 100%;
  209 + height: 100%;
  210 +}
  211 +.bottom{
  212 + padding: 24rpx 0;
  213 + text-align: center;
  214 + font-size:24rpx;
  215 + font-family:PingFang-SC-Regular;
  216 + font-weight:400;
  217 + color:rgba(153,153,153,1);
  218 + background: #fff;
  219 +
  220 +}
  1 +// pages/feedback/feedback.js
  2 +const app = getApp();
  3 +Page({
  4 +
  5 + /**
  6 + * 页面的初始数据
  7 + */
  8 + data: {
  9 + content: '',
  10 + wordlen:0
  11 +
  12 + },
  13 +
  14 +
  15 + /**
  16 + * 生命周期函数--监听页面加载
  17 + */
  18 + onLoad: function (options) {
  19 + // this.getFeedback
  20 +
  21 + },
  22 + enterContent(e) {
  23 + console.log(e)
  24 + this.setData({
  25 + content: e.detail.value,
  26 + wordlen:e.detail.value.length
  27 + })
  28 + },
  29 + sub_btn() {
  30 +
  31 + let that = this;
  32 + let content = that.data.content;
  33 + if (content == '') {
  34 + wx.showToast({
  35 + title: '请输入内容',
  36 + icon: 'none'
  37 + })
  38 + }
  39 + let url = 'index/share/submit_opinion';
  40 + let params = {
  41 + content : that.data.content,
  42 +
  43 + }
  44 + let header = {
  45 + "XX-Token": wx.getStorageSync('token'),
  46 + "XX-Device-Type": 'wxapp'
  47 + }
  48 +
  49 + app.post(url, params, header).then((res) => {
  50 + console.log(res);
  51 + wx.showToast({
  52 + title: '提交成功',
  53 + icon: 'none',
  54 + duration: 1500
  55 + })
  56 + setTimeout(function(){
  57 + wx.navigateBack({
  58 + checked:true
  59 + })
  60 + },1500)
  61 +
  62 + }).catch((err) => {
  63 +
  64 + })
  65 + },
  66 +
  67 + /**
  68 + * 生命周期函数--监听页面初次渲染完成
  69 + */
  70 + onReady: function () {
  71 +
  72 + },
  73 +
  74 + /**
  75 + * 生命周期函数--监听页面显示
  76 + */
  77 + onShow: function () {
  78 +
  79 + },
  80 +
  81 + /**
  82 + * 生命周期函数--监听页面隐藏
  83 + */
  84 + onHide: function () {
  85 +
  86 + },
  87 +
  88 + /**
  89 + * 生命周期函数--监听页面卸载
  90 + */
  91 + onUnload: function () {
  92 +
  93 + },
  94 +
  95 + /**
  96 + * 页面相关事件处理函数--监听用户下拉动作
  97 + */
  98 + onPullDownRefresh: function () {
  99 +
  100 + },
  101 +
  102 + /**
  103 + * 页面上拉触底事件的处理函数
  104 + */
  105 + onReachBottom: function () {
  106 +
  107 + },
  108 +
  109 + /**
  110 + * 用户点击右上角分享
  111 + */
  112 + onShareAppMessage: function () {
  113 +
  114 + }
  115 +})
  1 +{
  2 + "usingComponents": {},
  3 + "navigationBarTitleText": "意见反馈"
  4 +}
  1 +
  2 +<view class='container'>
  3 + <view class='top'>
  4 + <textarea bindinput='enterContent' placeholder='请输入您的意见,我们会积极处理并改正的~'></textarea>
  5 + <view class='text_num'>{{wordlen}}/200</view>
  6 + </view>
  7 +
  8 + <view class='bottom' bindtap='sub_btn' >
  9 + 提交
  10 + </view>
  11 +
  12 +</view>
  1 +
  2 +page{
  3 + line-height: 1;
  4 +}
  5 +.container{
  6 + width: 750rpx;
  7 + display: flex;
  8 + flex-flow: column;
  9 + align-items: center;
  10 + justify-content: center;
  11 +}
  12 +.top{
  13 + margin-top: 27rpx;
  14 + display: flex;
  15 + align-items: center;
  16 + justify-content: center;
  17 + position: relative;
  18 +
  19 +}
  20 +.top textarea{
  21 + width:686rpx;
  22 + height:300rpx;
  23 + background:rgba(247,247,247,1);
  24 + border-radius:10rpx;
  25 + font-size: 28rpx;
  26 + box-sizing: border-box;
  27 + padding: 23rpx 25rpx;
  28 +}
  29 +.text_num{
  30 + font-size:24rpx;
  31 + font-family:PingFang-SC-Medium;
  32 + font-weight:500;
  33 + color:rgba(153,153,153,1);
  34 + position: absolute;
  35 + bottom: 23rpx;
  36 + right: 25rpx
  37 +}
  38 +.bottom{
  39 + margin-top: 40rpx;
  40 + width:686rpx;
  41 + height:80rpx;
  42 + line-height: 80rpx;
  43 + text-align: center;
  44 + background:rgba(255,129,44,1);
  45 + border-radius:5rpx;
  46 +
  47 + font-size:28rpx;
  48 + font-family:PingFang-SC-Medium;
  49 + font-weight:500;
  50 + color:rgba(255,255,255,1);
  51 +}
  1 +// pages/financialRecord/financialRecord.js
  2 +const app=getApp()
  3 +Page({
  4 +
  5 + /**
  6 + * 页面的初始数据
  7 + */
  8 + data: {
  9 + page:1,
  10 + page_num:20,
  11 + moneylist:''
  12 + },
  13 +
  14 + /**
  15 + * 生命周期函数--监听页面加载
  16 + */
  17 + onLoad: function (options) {
  18 + this.getmoneylist()
  19 + },
  20 +
  21 + getmoneylist(){
  22 + let that = this;
  23 + var url = 'index/share/balance_record';
  24 + var params = {
  25 + page: that.data.page,
  26 + page_num: that.data.page_num
  27 + }
  28 +
  29 + var header={
  30 + 'XX-Token': wx.getStorageSync('token'),
  31 + }
  32 + app.post(url, params,header).then((res) => {
  33 + console.log(res);
  34 + that.setData({
  35 + moneylist:res.data
  36 + })
  37 +
  38 +
  39 +
  40 + }).catch((err) => {
  41 +
  42 + })
  43 +
  44 + },
  45 +
  46 + /**
  47 + * 生命周期函数--监听页面初次渲染完成
  48 + */
  49 + onReady: function () {
  50 +
  51 + },
  52 +
  53 + /**
  54 + * 生命周期函数--监听页面显示
  55 + */
  56 + onShow: function () {
  57 +
  58 + },
  59 +
  60 + /**
  61 + * 生命周期函数--监听页面隐藏
  62 + */
  63 + onHide: function () {
  64 +
  65 + },
  66 +
  67 + /**
  68 + * 生命周期函数--监听页面卸载
  69 + */
  70 + onUnload: function () {
  71 +
  72 + },
  73 +
  74 + /**
  75 + * 页面相关事件处理函数--监听用户下拉动作
  76 + */
  77 + onPullDownRefresh: function () {
  78 +
  79 + },
  80 +
  81 + /**
  82 + * 页面上拉触底事件的处理函数
  83 + */
  84 + onReachBottom: function () {
  85 +
  86 + },
  87 +
  88 + /**
  89 + * 用户点击右上角分享
  90 + */
  91 + onShareAppMessage: function () {
  92 +
  93 + }
  94 +})