diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..14ea590 --- /dev/null +++ b/.gitignore @@ -0,0 +1,14 @@ +# Windows +[Dd]esktop.ini +Thumbs.db +$RECYCLE.BIN/ + +# macOS +.DS_Store +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes + +# Node.js +node_modules/ diff --git a/app.js b/app.js new file mode 100644 index 0000000..2790cfd --- /dev/null +++ b/app.js @@ -0,0 +1,33 @@ +//app.js +App({ + onLaunch: function () { + if (!wx.cloud) { + console.error('请使用 2.2.3 或以上的基础库以使用云能力') + this.request = require('./utils/util.js').request; + this.util = require('./utils/util.js'); + + } else { + wx.cloud.init({ + // env 参数说明: + // env 参数决定接下来小程序发起的云开发调用(wx.cloud.xxx)会默认请求到哪个云环境的资源 + // 此处请填入环境 ID, 环境 ID 可打开云控制台查看 + // 如不填则使用默认环境(第一个创建的环境) + // env: 'my-env-id', + traceUser: true, + }) + this.request = require('./utils/util.js').request; + this.util = require('./utils/util.js'); + + } + + this.globalData = { + + + //serverUrl: 'http://localhost:10200/Dispatch/WxApp', + serverUrl: 'https://trans.qzfanghe.com/Dispatch/WxApp', + + baseInfo: null, + detailInfo:null + } + } +}) diff --git a/app.json b/app.json new file mode 100644 index 0000000..489883d --- /dev/null +++ b/app.json @@ -0,0 +1,22 @@ +{ + "pages": [ + "pages/index/index", + "pages/ds/ds", + "pages/cp/cp", + "pages/INWORK/INWORK", + "pages/WORKDETAIL/WORKDETAIL", + "pages/OLDWORK/OLDWORK", + "pages/INFO_FILES/INFO_FILES" + + ], + "window": { + "backgroundColor": "#FFF", + "backgroundTextStyle": "light", + "navigationBarBackgroundColor": "#FFF", + "navigationBarTitleText": "方合陆运业务辅助", + "navigationBarTextStyle": "black" + }, + "sitemapLocation": "sitemap.json", + "lazyCodeLoading": "requiredComponents", + "style": "v2" +} \ No newline at end of file diff --git a/app.wxss b/app.wxss new file mode 100644 index 0000000..3ce8f5a --- /dev/null +++ b/app.wxss @@ -0,0 +1,158 @@ +@import 'style/weui.wxss'; +/**app.wxss**/ +.container { + display: flex; + flex-direction: column; + align-items: center; + box-sizing: border-box; +} + +button { + background: initial; +} + +button:focus{ + outline: 0; +} + +button::after{ + border: none; +} + + +page { + background: #f6f6f6; + display: flex; + flex-direction: column; + justify-content: flex-start; + font-size:16px; +} + +.userinfo, .uploader, .tunnel { + margin-top: 40rpx; + height: 140rpx; + width: 100%; + background: #fff; + border: 1px solid rgba(0, 0, 0, 0.1); + border-left: none; + border-right: none; + display: flex; + flex-direction: row; + align-items: center; + transition: all 300ms ease; +} + +.userinfo-avatar { + width: 100rpx; + height: 100rpx; + margin: 20rpx; + border-radius: 50%; + background-size: cover; + background-color: white; +} + +.userinfo-avatar:after { + border: none; +} + +.userinfo-nickname { + font-size: 32rpx; + color: #007aff; + background-color: white; + background-size: cover; +} + +.userinfo-nickname::after { + border: none; +} + +.uploader, .tunnel { + height: auto; + padding: 0 0 0 40rpx; + flex-direction: column; + align-items: flex-start; + box-sizing: border-box; +} + +.uploader-text, .tunnel-text { + width: 100%; + line-height: 52px; + font-size: 34rpx; + color: #007aff; +} + +.uploader-container { + width: 100%; + height: 400rpx; + padding: 20rpx 20rpx 20rpx 0; + display: flex; + align-content: center; + justify-content: center; + box-sizing: border-box; + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +.uploader-image { + width: 100%; + height: 360rpx; +} + +.tunnel { + padding: 0 0 0 40rpx; +} + +.tunnel-text { + position: relative; + color: #222; + display: flex; + flex-direction: row; + align-content: center; + justify-content: space-between; + box-sizing: border-box; + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +.tunnel-text:first-child { + border-top: none; +} + +.tunnel-switch { + position: absolute; + right: 20rpx; + top: -2rpx; +} + +.disable { + color: #888; +} + +.service { + position: fixed; + right: 40rpx; + bottom: 40rpx; + width: 140rpx; + height: 140rpx; + border-radius: 50%; + background: linear-gradient(#007aff, #0063ce); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3); + display: flex; + align-content: center; + justify-content: center; + transition: all 300ms ease; +} + +.service-button { + position: absolute; + top: 40rpx; +} + +.service:active { + box-shadow: none; +} + +.request-text { + padding: 20rpx 0; + font-size: 24rpx; + line-height: 36rpx; + word-break: break-all; +} diff --git a/images/case.png b/images/case.png new file mode 100644 index 0000000..c4b08a6 Binary files /dev/null and b/images/case.png differ diff --git a/images/delete.png b/images/delete.png new file mode 100644 index 0000000..4b8442b Binary files /dev/null and b/images/delete.png differ diff --git a/images/increase.png b/images/increase.png new file mode 100644 index 0000000..9884352 Binary files /dev/null and b/images/increase.png differ diff --git a/images/indo.png b/images/indo.png new file mode 100644 index 0000000..41c64ea Binary files /dev/null and b/images/indo.png differ diff --git a/images/license.png b/images/license.png new file mode 100644 index 0000000..5aa547a Binary files /dev/null and b/images/license.png differ diff --git a/images/logo.png b/images/logo.png new file mode 100644 index 0000000..90e3d78 Binary files /dev/null and b/images/logo.png differ diff --git a/images/outdo.png b/images/outdo.png new file mode 100644 index 0000000..2a164ab Binary files /dev/null and b/images/outdo.png differ diff --git a/images/photograph.png b/images/photograph.png new file mode 100644 index 0000000..9c549b7 Binary files /dev/null and b/images/photograph.png differ diff --git a/images/search.png b/images/search.png new file mode 100644 index 0000000..12262ed Binary files /dev/null and b/images/search.png differ diff --git a/images/showdodetail.png b/images/showdodetail.png new file mode 100644 index 0000000..68b4ed4 Binary files /dev/null and b/images/showdodetail.png differ diff --git a/pages/INFO_FILES/INFO_FILES.js b/pages/INFO_FILES/INFO_FILES.js new file mode 100644 index 0000000..6eaf038 --- /dev/null +++ b/pages/INFO_FILES/INFO_FILES.js @@ -0,0 +1,214 @@ +var app = getApp() + +// pages/INFO_FILES/INFO_FILES.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + dataList:[], + upFiles: [], + upResult:[], + gid:"", + homeurl:"", + picurl:"" + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + this.setData({ + gid: options.gid + }) + + + this.query(); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + }, + query() { + var that = this; + var openid=getApp().globalData.baseInfo.OPENID; + var gid=this.data.gid; + var jsonstr=JSON.stringify( + { + openid:openid, + formname:'司机上传附件', + GId:gid + } + ); + wx.request({ + url: getApp().globalData.serverUrl + '/FHDriverInterface', + header: {'content-type': 'application/x-www-form-urlencoded'}, + method: 'POST', + data: { + jsonstr + }, + success: function (r) { + console.log(r); + that.setData({ + dataList: r.data.Data + }) + } + }) + + }, + + chooseFile(e) { + var that = this; + //chooseImage改为chooseMedia + wx.chooseMedia({ + count: 1, + mediaType: ['image','video'], + //sizeType: ['compressed'], + sourceType: ['album', 'camera'], + maxDuration: 30, + camera: 'back', + success(res) { + console.log(res) + // var files = that.data.upFiles; + // files.push(res.tempFilePaths[0]) + // that.setData({ + // upFiles: files + // }) + var files = []; + + res.tempFiles.forEach((x)=>{ + var IMG=x.tempFilePath; + files.push(IMG); + }) + that.setData({ + upFiles: files + }) + } + }) + + }, + submitBill(res) { + + wx.showLoading({ + title: '请稍后' + }) + var that = this; + var openid=getApp().globalData.baseInfo.OPENID; + if (this.data.upFiles.length > 0) { + for (let c = 0; c < this.data.upFiles.length; c++) { + wx.uploadFile({ + url: getApp().globalData.serverUrl + '/UploadFile_PC', + filePath: this.data.upFiles[c], + name: 'file', + formData: { + gid: that.data.gid, + openid: openid + }, + success(res) { + console.log(res) + if (res.statusCode == 200) { + that.query(); + wx.hideLoading(); + that.setData({ + upFiles: [] + }); + } else { + wx.showModal({ + title: '提示', + content: '上传文件出错', + showCancel: false + }) + } + } + }) + } + } else { + that.query(); + wx.hideLoading() + } + + + }, + delfile(e) { + var that = this; + var docgid = e.currentTarget.dataset.gid; + var openid=getApp().globalData.baseInfo.OPENID; + var gid=this.data.gid; + var jsonstr=JSON.stringify( + { + openid:openid, + formname:'司机删除附件', + GId:gid, + DocGid:docgid + } + ); + wx.request({ + url: getApp().globalData.serverUrl + '/FHDriverInterface', + header: {'content-type': 'application/x-www-form-urlencoded'}, + method: 'POST', + data: { + jsonstr + }, + success: function (r) { + console.log(r); + that.setData({ + dataList: r.data.Data + }) + } + }) + + }, + previewImage: function (e) { + var current=e.target.dataset.src; + wx.previewImage({ + current: current, // 当前显示图片的http链接 + urls: [current] // 需要预览的图片http链接列表 + }) + } +}) \ No newline at end of file diff --git a/pages/INFO_FILES/INFO_FILES.json b/pages/INFO_FILES/INFO_FILES.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/INFO_FILES/INFO_FILES.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/INFO_FILES/INFO_FILES.wxml b/pages/INFO_FILES/INFO_FILES.wxml new file mode 100644 index 0000000..88aa228 --- /dev/null +++ b/pages/INFO_FILES/INFO_FILES.wxml @@ -0,0 +1,52 @@ + + + + + + + + 拍照 + + + 未提交图片: + + + + + + + + + 已上传图片: + + + + + + + + 删除 + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pages/INFO_FILES/INFO_FILES.wxss b/pages/INFO_FILES/INFO_FILES.wxss new file mode 100644 index 0000000..56f7154 --- /dev/null +++ b/pages/INFO_FILES/INFO_FILES.wxss @@ -0,0 +1,107 @@ +/* pages/INFO_FILES/INFO_FILES.wxss */ +page{ + background: #FFF; +} +.weui-form-preview{ + padding:5px 16px; + padding-bottom:10px; + margin-bottom:0px; + background: #f7f7f7; +} +.weui-form-preview:before,.weui-form-preview__hd{ + padding:0; +} +.weui-form-preview:before,.weui-form-preview__hd:after,.weui-form-preview:after,.weui-cell:before{ + border:none; +} +.weui-form-preview__hd .weui-form-preview__item .weui-form-preview__label{ + width:100%; + color:#333; + font-size: 14px; + line-height:1.75em; + text-align: left; + text-align-last: left; +} +.weui-form-preview__hd .weui-form-preview__item .weui-form-preview__label p{ + color:#666; +} +.weui-form-preview__hd .weui-form-preview__item .weui-form-preview__label span{ + display: block; + float:right; +} +.weui-cells:before,.weui-cells:after{ + border:none; +} +.weui-cells{ + margin-top:0px; +} +.weui-cells .weui-cell{ + background: #FFF; + margin-left:10px; + margin-right:10px; + margin-bottom:10px; + border-radius:5px; + padding:10px; + padding-bottom:5px; +} +.weui-cells .weui-cell.weui-shadow{ + border-bottom:10px solid #f7f7f7; + margin-left:0; + margin-right:0; + padding-left:0; + padding-right:0; + padding-top:0; +} +.weui-cells .weui-cell.weui-shadow .weui-cell__bd{ + margin-left:15px; + margin-right:15px; +} +.weui-cells .weui-cell .increase{ + color:#2d8cf0; + font-size:16px; +} +.weui-cells .weui-cell .increase image{ + width:18px; + height:18px; + display: block; + margin-top:2px; + margin-right:5px; + float: left; +} +.weui-cells .weui-cell .weui-cell__ft button{ + width:55px; + font-weight: normal; + padding:0; + min-height:30px; + line-height:30px; + text-align: center; + font-size: 14px; + background:#2d8cf0; + color:#FFF; +} +.weui-cells .weui-cell:last-child{ + padding:0 !important; +} +.weui-cell__bd .img-box image{ + width:auto !important; + border-radius: 5px; + cursor: pointer; + display: block; + max-width: 100%; +} +.weui-cell__bd .delete-btn{ + display:block; + margin-top:5px; + font-size: 12px; + color:#fb451e; + padding:4px 7px; + border-radius:3px; + float:right; +} +.weui-cell__bd .delete-btn image{ + width:12px; + height:15px; + margin-right:3px; + display: block; + float:left; +} \ No newline at end of file diff --git a/pages/INWORK/INWORK.js b/pages/INWORK/INWORK.js new file mode 100644 index 0000000..856998d --- /dev/null +++ b/pages/INWORK/INWORK.js @@ -0,0 +1,99 @@ +// pages/INWORK/INWORK.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + dataList:[] + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + this.query(); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } + , + query(e) { + var that = this + var openid=getApp().globalData.baseInfo.OPENID; + var jsonstr=JSON.stringify( + { + openid:openid, + formname:'当前业务' + } + ); + wx.request({ + url: getApp().globalData.serverUrl + '/FHDriverInterface', + header: {'content-type': 'application/x-www-form-urlencoded'}, + method: 'POST', + data: { + jsonstr + }, + success: function (r) { + console.log(r) + that.setData({ + dataList: r.data.Data + }) + } + }) + } , + showdodetail(e) { + var that = this + var gid = e.currentTarget.dataset.gid; + console.log(e.currentTarget.dataset); + wx.navigateTo({ + url: '/pages/WORKDETAIL/WORKDETAIL?histype=now&gid='+gid + }) + } +}) \ No newline at end of file diff --git a/pages/INWORK/INWORK.json b/pages/INWORK/INWORK.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/INWORK/INWORK.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/INWORK/INWORK.wxml b/pages/INWORK/INWORK.wxml new file mode 100644 index 0000000..41393cd --- /dev/null +++ b/pages/INWORK/INWORK.wxml @@ -0,0 +1,15 @@ + + + + + + {{item.ExpDate}} {{item.CustomerName}} + {{item.LoadPlace}} + 场站名称:{{item.YardName}} + 提交状态:{{item.TASKSTATUS}} + 详情点击查看 + + + + + diff --git a/pages/INWORK/INWORK.wxss b/pages/INWORK/INWORK.wxss new file mode 100644 index 0000000..cd97be1 --- /dev/null +++ b/pages/INWORK/INWORK.wxss @@ -0,0 +1 @@ +/* pages/INWORK/INWORK.wxss */ \ No newline at end of file diff --git a/pages/OLDWORK/OLDWORK.js b/pages/OLDWORK/OLDWORK.js new file mode 100644 index 0000000..14dd11c --- /dev/null +++ b/pages/OLDWORK/OLDWORK.js @@ -0,0 +1,98 @@ +Page({ + + /** + * 页面的初始数据 + */ + data: { + dataList:[] + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + this.query(); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } + , + query(e) { + var that = this + var openid=getApp().globalData.baseInfo.OPENID; + var jsonstr=JSON.stringify( + { + openid:openid, + formname:'历史业务' + } + ); + wx.request({ + url: getApp().globalData.serverUrl + '/FHDriverInterface', + header: {'content-type': 'application/x-www-form-urlencoded'}, + method: 'POST', + data: { + jsonstr + }, + success: function (r) { + console.log(r) + that.setData({ + dataList: r.data.Data + }) + } + }) + } , + showdodetail(e) { + var that = this + var gid = e.currentTarget.dataset.gid; + console.log(e.currentTarget.dataset); + wx.navigateTo({ + url: '/pages/WORKDETAIL/WORKDETAIL?histype=old&gid='+gid + }) + } +}) \ No newline at end of file diff --git a/pages/OLDWORK/OLDWORK.json b/pages/OLDWORK/OLDWORK.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/OLDWORK/OLDWORK.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/OLDWORK/OLDWORK.wxml b/pages/OLDWORK/OLDWORK.wxml new file mode 100644 index 0000000..c13743b --- /dev/null +++ b/pages/OLDWORK/OLDWORK.wxml @@ -0,0 +1,15 @@ + + + + + + {{item.ExpDate}} {{item.CustomerName}} + + {{item.LoadPlace}} + 场站名称:{{item.YardName}} + 提交状态:{{item.TASKSTATUS}} + 详情点击查看 + + + + diff --git a/pages/OLDWORK/OLDWORK.wxss b/pages/OLDWORK/OLDWORK.wxss new file mode 100644 index 0000000..1f3c29b --- /dev/null +++ b/pages/OLDWORK/OLDWORK.wxss @@ -0,0 +1 @@ +/* pages/OLDWORK/OLDWORK.wxss */ \ No newline at end of file diff --git a/pages/WORKDETAIL/WORKDETAIL.js b/pages/WORKDETAIL/WORKDETAIL.js new file mode 100644 index 0000000..d2d5c25 --- /dev/null +++ b/pages/WORKDETAIL/WORKDETAIL.js @@ -0,0 +1,397 @@ +// pages/WORKDETAIL/WORKDETAIL.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + headData: { + //FuelPrice:0, + FuelQty: 0, + Amount: 0, + RealMil: 0, + StartMil: 0, + EndMil: 0, + JYZ: '', + CtnList: [], + DocList: [], + FeeList: [], + FuelList: [], + JYZList: ['中石油', '中石化', '金盾', '大象'] + }, + histype: "", + gid: "", + diabled: false, + JYindex: 0, + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + //console.log('options:'+options); + this.setData({ + gid: options.gid, + histype: options.histype + }) + this.query(); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + }, + handleAddjiayou() { + + this.data.headData.FuelList.push({ + JYTYPE: '' + }) + this.setData({ + headData: this.data.headData + }) + + + }, + handleSelectType(e) { + const index = e.currentTarget.dataset.index + this.data.headData.FuelList[index].JYTYPE = this.data.headData.JYZList[e.detail.value] + this.setData({ + headData: this.data.headData, + JYindex: e.detail.value + }) + }, + query() { + var that = this; + var openid = getApp().globalData.baseInfo.OPENID; + var gid = this.data.gid; + var jsonstr = JSON.stringify({ + openid: openid, + formname: '派车业务', + GId: gid + }); + wx.request({ + url: getApp().globalData.serverUrl + '/FHDriverInterface', + header: { + 'content-type': 'application/x-www-form-urlencoded' + }, + method: 'POST', + data: { + jsonstr + }, + success: function (r) { + console.log(r) + if (!r.data.Data.FuelList) { + r.data.Data.FuelList = [] + } + that.setData({ + headData: r.data.Data + }) + } + }) + }, + showinfofile(e) { + var that = this + var url = e.currentTarget.dataset.url; + console.log(url); + wx.navigateTo({ + url: '/pages/Doc/Doc?url=' + url + }) + }, + radioChange(e){ + const index = e.currentTarget.dataset.index + this.data.headData.FuelList[index].REMARK = e.detail.value + this.setData({ + headData: this.data.headData, + }) + }, + handleInput(e){ + const index = e.currentTarget.dataset.index + const type = e.currentTarget.dataset.type + this.data.headData.FuelList[index][type] = e.detail.value + this.setData({ + headData: this.data.headData, + }) + }, + vmodel(e) { + var that = this; + that.data.headData[e.currentTarget.id] = e.detail.value; + this.setData({ + headData: that.data.headData + /** + * e.currentTarget.dataset.value 拿到我要改变的数据 input + * e.detail.value 拿到 我改变以后的值 + */ + }) + }, + vmodel_fee(e) { + console.log(e) + var that = this; + var gid = e.currentTarget.dataset.item; + //that.data.headData.FeeList[e.currentTarget.id]=e.detail.value; + + that.data.headData.FeeList.forEach((x) => { + + if (x.GID == gid) { + + if (e.currentTarget.id == 'FEENAME') { + x.F_NO = e.detail.value; + } + if (e.currentTarget.id == 'AMOUNT') { + x.AMOUNT = e.detail.value; + } + } + }) + this.setData({ + headData: that.data.headData + /** + * e.currentTarget.dataset.value 拿到我要改变的数据 input + * e.detail.value 拿到 我改变以后的值 + */ + }) + }, + selectJYZ(e) { + console.log(e) + var that = this; + var gid = e.currentTarget.dataset.item; + //that.data.headData.FeeList[e.currentTarget.id]=e.detail.value; + that.data.headData.JYZ = e.detail.value; + + this.setData({ + headData: that.data.headData + /** + * e.currentTarget.dataset.value 拿到我要改变的数据 input + * e.detail.value 拿到 我改变以后的值 + */ + }) + }, + SaveClick(res) { + wx.showLoading({ + title: '请稍候' + }); + var that = this; + var openid = getApp().globalData.baseInfo.OPENID; + var headData = this.data.headData; + var jsonstr = JSON.stringify({ + openid: openid, + formname: '保存业务', + headData: headData + }); + console.log(headData) + wx.request({ + url: getApp().globalData.serverUrl + '/FHDriverInterface', + header: { + 'content-type': 'application/x-www-form-urlencoded' + }, + method: 'POST', + data: { + jsonstr + }, + success: function (r) { + that.query(); + wx.hideLoading(); + } + }) + + + }, + AddFeeClick(res) { + + var that = this; + var headData = this.data.headData; + var GID = this.getGuid(); + headData.FeeList.push({ + GID: GID + }); + this.setData({ + headData: that.data.headData + }); + + }, + DelFeeClick(res) { + var that = this; + var gid = res.currentTarget.dataset.item; + var newFeeList = []; + var openid = getApp().globalData.baseInfo.OPENID; + + that.data.headData.FeeList.forEach((x) => { + + if (x.GID == gid) { + + var jsonstr = JSON.stringify({ + openid: openid, + formname: '删除费用', + headData: that.data.headData, + FEEID: gid + }); + wx.request({ + url: getApp().globalData.serverUrl + '/FHDriverInterface', + header: { + 'content-type': 'application/x-www-form-urlencoded' + }, + method: 'POST', + data: { + jsonstr + }, + success: function (r) { + //that.query(); + //wx.hideLoading(); + } + }) + } else { + newFeeList.push(x); + } + }) + that.data.headData.FeeList = newFeeList; + this.setData({ + headData: that.data.headData + }) + }, + SubmitClick(res) { + wx.showLoading({ + title: '请稍候' + }); + var that = this; + var openid = getApp().globalData.baseInfo.OPENID; + var headData = this.data.headData; + var jsonstr = JSON.stringify({ + openid: openid, + formname: '提交审核', + headData: headData + }); + wx.request({ + url: getApp().globalData.serverUrl + '/FHDriverInterface', + header: { + 'content-type': 'application/x-www-form-urlencoded' + }, + method: 'POST', + data: { + jsonstr + }, + success: function (r) { + //r: data:{ + // Data: null + // DataBody: null + // Message: "数据保存成功" + // Message2: null + // Success: true + // } + console.log(r) + that.query(); + wx.hideLoading(); + } + }) + + + }, + CallBackClick(res) { + wx.showLoading({ + title: '请稍候' + }); + var that = this; + var openid = getApp().globalData.baseInfo.OPENID; + var headData = this.data.headData; + var jsonstr = JSON.stringify({ + openid: openid, + formname: '撤回审核', + headData: headData + }); + wx.request({ + url: getApp().globalData.serverUrl + '/FHDriverInterface', + header: { + 'content-type': 'application/x-www-form-urlencoded' + }, + method: 'POST', + data: { + jsonstr + }, + success: function (r) { + that.query(); + wx.hideLoading(); + } + }) + + + }, + showDocList(e) { + var that = this; + var gid = this.data.gid; + wx.navigateTo({ + url: '/pages/INFO_FILES/INFO_FILES?gid=' + gid + }) + }, + // bindPickerChange: function(e) { + // //console.log('picker发送选择改变,携带值为', e.detail.value) + // this.setData({ + // index: e.detail.value + // }) + // }, + getGuid: function () { + + var s = []; + + var hexDigits = "0123456789abcdef"; + + for (var i = 0; i < 36; i++) { + + s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1); + + } + + s[14] = "4"; + + s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); + + s[8] = s[13] = s[18] = s[23] = "-"; + + + + var uuid = s.join(""); + + return uuid; + + } +}) \ No newline at end of file diff --git a/pages/WORKDETAIL/WORKDETAIL.json b/pages/WORKDETAIL/WORKDETAIL.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/WORKDETAIL/WORKDETAIL.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/WORKDETAIL/WORKDETAIL.wxml b/pages/WORKDETAIL/WORKDETAIL.wxml new file mode 100644 index 0000000..ef5e8cb --- /dev/null +++ b/pages/WORKDETAIL/WORKDETAIL.wxml @@ -0,0 +1,147 @@ + + + + + + 提单号:{{headData.MblNoSe}} + 船名航次:{{headData.VoyVeg}} + 提箱场站:{{headData.YardName}} + 派车申请人:{{headData.UserName}} + 装货工厂:{{headData.FACTRYNAME}} + 装货地址:{{headData.LoadPlace}} + 联系电话1:{{headData.LinkTel}} + 联系电话2:{{headData.LinkTelSe}} + 箱型箱量:{{headData.ContainerType}} + 件数:{{headData.ContainerQty}} + 重量:{{headData.Ton}} + 体积:{{headData.LoadCount}} + 货物标示:{{headData.CargoID}} + 品名:{{headData.GoodsName}} + 危品等级:{{headData.DCLASS}} + 危品编号:{{headData.DUNNO}} + + + + + + + + + + + + + + + + + + + + 公里数合计:{{headData.RealMil}} + + 提交状态:{{headData.TASKSTATUS}} + 费用列表 + + + + + + + 费用名称:[{{headData.FeeNameList[item.F_NO]}}] + + + + + + 加油记录 + + + + + + 加油类型: + {{item.JYTYPE?item.JYTYPE:'请选择'}} + + + + + + + + + + + + + + 记账 + 现金 + + + + + + + + + + + + + + + 箱信息 + + + + 箱号:{{item.CNTRNO}} + 封号:{{item.SEALNO}} + + + + 附件信息 + + + + 文件类型:{{item.RECEIPTTYPE}} + 文件编号/编码:{{item.documentAttachedCode}};{{item.documentAttachedNo}} + 点击查看 + + + + + + \ No newline at end of file diff --git a/pages/WORKDETAIL/WORKDETAIL.wxss b/pages/WORKDETAIL/WORKDETAIL.wxss new file mode 100644 index 0000000..f8bf458 --- /dev/null +++ b/pages/WORKDETAIL/WORKDETAIL.wxss @@ -0,0 +1,16 @@ +/* pages/WORKDETAIL/WORKDETAIL.wxss */ +.customer-name{ + font-size: 15px; + color: black; +} +.jiayouList{ + + width: 90%; + margin: 10px auto; + +} +.jiayouItem{ + margin-bottom: 15px; + background: rgb(226, 225, 225); + padding: 5px; +} diff --git a/pages/cp/cp.js b/pages/cp/cp.js new file mode 100644 index 0000000..2f8eaeb --- /dev/null +++ b/pages/cp/cp.js @@ -0,0 +1,170 @@ +//index.js +//获取应用实例 +var app = getApp() +Page({ + data: { + userOldPwd: '', + userNewPwd1: '', + userNewPwd2: '' + }, + //用户名和密码输入框事件 + userOldPwdInput:function(e){ + this.setData({ + userOldPwd:e.detail.value + }) + }, + userNewPwd1Input:function(e){ + this.setData({ + userNewPwd1:e.detail.value + }) + }, + userNewPwd2Input:function(e){ + this.setData({ + userNewPwd2:e.detail.value + }) + }, + + ConfirmClick:function(){ + if(this.data.userOldPwd.length == 0 || this.data.userNewPwd1.length == 0){ + this.setData({ + infoMess:'温馨提示:新旧密码都不能为空!', + }) + }if(this.data.userNewPwd1.length != this.data.userNewPwd2.length ){ + this.setData({ + infoMess:'温馨提示:新密码两次录入必须内容一致', + }) + }else{ + //console.log(this.data.userName+':'+this.data.userPwd) + this.setData({ + infoMess:'保存中......', + }) + let that=this; + let url = getApp().globalData.serverUrl + '/FHDriverInterface'; + //let url="http://112.226.192.143:10200/CommMng/BasicDataRef/GetUserRefList"; + //let url="http://112.226.192.143:10200/Dispatch/WxApp/FirstLogin"; + + var openid=getApp().globalData.baseInfo.OPENID; + var userOldPwd=this.data.userOldPwd; + var userNewPwd1=this.data.userNewPwd1; + var userNewPwd2=this.data.userNewPwd2; + wx.login({ + success(res) { + if (res.code) { + + // var param={ + // openid:openid, + // formname:'修改密码', + // userOldPwd:userOldPwd, + // userNewPwd1:userNewPwd1, + // userNewPwd2:userNewPwd2 + // }; + var jsonstr=JSON.stringify( + { + openid:openid, + formname:'修改密码', + userOldPwd:userOldPwd, + userNewPwd1:userNewPwd1, + userNewPwd2:userNewPwd2 + } + ); + + wx.request({ + header: {'content-type': 'application/x-www-form-urlencoded'}, + url: url, + method: 'POST', + data: { + jsonstr + }, + success: function(r) { + console.log(r) + if (r.data.Success==true) { + + wx.reLaunch({ + url: '/pages/ds/ds' + }) + + }else{ + that.setData({ + infoMess:(r.data.Message) + }) + } + } + }) + } + } + }) + + } + }, + authLogin(e) { + var that = this + wx.login({ + success(res) { + if (res.code) { + let url = getApp().globalData.serverUrl + '/GetDriverInfo'; + url = url+'?code='+res.code; + wx.request({ + url: getApp().globalData.serverUrl + '/GetDriverInfo', + method: 'POST', + data: { + scene: that.data.scene, + code: res.code + }, + success: function(r) { + console.log(r) + if (r.data == 'ok') { + wx.reLaunch({ + url: '/pages/index/index' + }) + + } + } + }) + } + } + }) + + }, + onLoad: function () { + console.log('onLoad') + var that = this + wx.login({ + success(res) { + if (res.code) { + console.log('code:' + res.code) + //发起网络请求 + wx.request({ + url: getApp().globalData.serverUrl + '/GetDriverInfo?code=' + res.code, + success: function (res) { + wx.hideLoading() + if (res.data.ErrorCode == 0) { + console.log(res.data) + var baseInfo = res.data.BaseInfo + //var detailInfo = res.data.DetailInfo + getApp().globalData.baseInfo = baseInfo + //getApp().globalData.detailInfo = detailInfo + that.setData({ + baseInfo: baseInfo + }) + + //that.checkBind(); + } else if (res.data.ErrorCode == -1) { + // wx.reLaunch({ + // url: '/pages/register/register' + // }) + that.setData({ + hasNoUsedr: true + }) + } + } + }) + } else { + this.setData({ + infoMess:'登录失败!请检查账号和密码是否准确', + }) + console.log('登录失败!' + res.errMsg) + } + } + }) + } +}) \ No newline at end of file diff --git a/pages/cp/cp.json b/pages/cp/cp.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/cp/cp.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/cp/cp.wxml b/pages/cp/cp.wxml new file mode 100644 index 0000000..a259f23 --- /dev/null +++ b/pages/cp/cp.wxml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{infoMess}} + + + + + + + + diff --git a/pages/cp/cp.wxss b/pages/cp/cp.wxss new file mode 100644 index 0000000..2782abb --- /dev/null +++ b/pages/cp/cp.wxss @@ -0,0 +1,88 @@ +/**index.wxss**/ +.itemView{ + margin-top: 10px; + margin-left: 10px; + margin-right: 10px; + height: 25px; + + justify-content: flex-start; + display: flex; + /*align-items: center;*/ +} +.input{ + width: 280px; + height: 25px; + border: 1px solid lightgray; + border-radius: 5px; +} +.button-hover { + background-color: red; +} +/** 添加自定义button点击态样式类**/ +.other-button-hover { + background-color: blue; +} +button {margin: 10px;} + +input::-webkit-input-placeholder { + color: #999 !important; +} + +input::-moz-placeholder { + color: #999 !important; +} + +input:-moz-placeholder { + color: #999 !important; +} + +input:-ms-input-placeholder { + color: #999 !important; +} + +page{ + background: #FFF; +} +.page{ + background: #FFF; +} +.weui-cells:before,.weui-cells:after,.weui-cell:before{ + border:none; +} +.weui-cells .weui-cell{ + padding-bottom:5px !important; +} +.weui-cell .weui-cell__hd{ + width:100% !important; +} +.weui-cells_form .weui-cell .weui-cell__hd input{ + width:100% !important; + border:none !important; + border-bottom: 1px solid #e8ecef !important; + border-radius:0 !important; + font-size: 12px; + color:#666 !important; + margin-top:5px; + text-align:left; + text-align-last: left; +} +.weui-cells_form .weui-cell__bd{ + width:100%; + flex: none; +} +button { + width:80% !important; + text-align: center; + background: #3496fe !important; + color: #FFF !important; + font-weight: normal; + display: block; + border-radius: 7px; + box-shadow:1px 4px 7px rgba(45,140,240,.2); +} +.weui-msg{ + padding:0; +} +.weui-msg__tips{ + text-align: center; +} \ No newline at end of file diff --git a/pages/ds/ds.js b/pages/ds/ds.js new file mode 100644 index 0000000..ed3d1f1 --- /dev/null +++ b/pages/ds/ds.js @@ -0,0 +1,145 @@ +//index.js +//获取应用实例 +var app = getApp() +Page({ + data: { + userName: '', + userPwd: '', + userMobile: '', + hasNoUsedr:false + }, + //用户名和密码输入框事件 + userMobileInput:function(e){ + this.setData({ + userMobile:e.detail.value + }) + }, + passWdInput:function(e){ + this.setData({ + userPwd:e.detail.value + }) + }, + //登录按钮点击事件,调用参数要用:this.data.参数; + //设置参数值,要使用this.setData({})方法 + loginBtnClick:function(){ + if(this.data.userMobile.length == 0 || this.data.userPwd.length == 0){ + this.setData({ + infoMess:'温馨提示:手机号和密码不能为空!', + }) + }else{ + //console.log(this.data.userName+':'+this.data.userPwd) + this.setData({ + infoMess:'登录中......', + }) + let that=this; + let url = getApp().globalData.serverUrl + '/DriverFirstLogin'; + //let url="http://112.226.192.143:10200/CommMng/BasicDataRef/GetUserRefList"; + //let url="http://112.226.192.143:10200/Dispatch/WxApp/FirstLogin"; + + + wx.login({ + success(res) { + if (res.code) { + //console.log('code:' + res.code); + url = url+'?TEL='+ that.data.userMobile; + url = url+'&password='+ that.data.userPwd; + url = url+'&AuthCode='+ res.code; + wx.request({ + url: url, + method: 'POST', + data: { + + }, + success: function(r) { + console.log(r) + if (r.data.ErrorCode==0) { + + wx.reLaunch({ + url: '/pages/index/index' + }) + + }else{ + that.setData({ + infoMess:'登录失败!请检查账号和密码是否准确', + }) + } + } + }) + } + } + }) + + } + }, + authLogin(e) { + var that = this + wx.login({ + success(res) { + if (res.code) { + let url = getApp().globalData.serverUrl + '/GetDriverInfo'; + url = url+'?code='+res.code; + wx.request({ + url: getApp().globalData.serverUrl + '/GetDriverInfo', + method: 'POST', + data: { + scene: that.data.scene, + code: res.code + }, + success: function(r) { + console.log(r) + if (r.data == 'ok') { + wx.reLaunch({ + url: '/pages/index/index' + }) + + } + } + }) + } + } + }) + + }, + onLoad: function () { + console.log('onLoad') + var that = this + wx.login({ + success(res) { + if (res.code) { + console.log('code:' + res.code) + //发起网络请求 + wx.request({ + url: getApp().globalData.serverUrl + '/GetDriverInfo?code=' + res.code, + success: function (res) { + wx.hideLoading() + if (res.data.ErrorCode == 0) { + console.log(res.data) + var baseInfo = res.data.BaseInfo + //var detailInfo = res.data.DetailInfo + getApp().globalData.baseInfo = baseInfo + //getApp().globalData.detailInfo = detailInfo + that.setData({ + baseInfo: baseInfo + }) + + //that.checkBind(); + } else if (res.data.ErrorCode == -1) { + // wx.reLaunch({ + // url: '/pages/register/register' + // }) + that.setData({ + hasNoUsedr: true + }) + } + } + }) + } else { + this.setData({ + infoMess:'登录失败!请检查账号和密码是否准确', + }) + console.log('登录失败!' + res.errMsg) + } + } + }) + } +}) \ No newline at end of file diff --git a/pages/ds/ds.json b/pages/ds/ds.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/ds/ds.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/ds/ds.wxml b/pages/ds/ds.wxml new file mode 100644 index 0000000..9c9f268 --- /dev/null +++ b/pages/ds/ds.wxml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + {{infoMess}} + + + + + + + + diff --git a/pages/ds/ds.wxss b/pages/ds/ds.wxss new file mode 100644 index 0000000..2782abb --- /dev/null +++ b/pages/ds/ds.wxss @@ -0,0 +1,88 @@ +/**index.wxss**/ +.itemView{ + margin-top: 10px; + margin-left: 10px; + margin-right: 10px; + height: 25px; + + justify-content: flex-start; + display: flex; + /*align-items: center;*/ +} +.input{ + width: 280px; + height: 25px; + border: 1px solid lightgray; + border-radius: 5px; +} +.button-hover { + background-color: red; +} +/** 添加自定义button点击态样式类**/ +.other-button-hover { + background-color: blue; +} +button {margin: 10px;} + +input::-webkit-input-placeholder { + color: #999 !important; +} + +input::-moz-placeholder { + color: #999 !important; +} + +input:-moz-placeholder { + color: #999 !important; +} + +input:-ms-input-placeholder { + color: #999 !important; +} + +page{ + background: #FFF; +} +.page{ + background: #FFF; +} +.weui-cells:before,.weui-cells:after,.weui-cell:before{ + border:none; +} +.weui-cells .weui-cell{ + padding-bottom:5px !important; +} +.weui-cell .weui-cell__hd{ + width:100% !important; +} +.weui-cells_form .weui-cell .weui-cell__hd input{ + width:100% !important; + border:none !important; + border-bottom: 1px solid #e8ecef !important; + border-radius:0 !important; + font-size: 12px; + color:#666 !important; + margin-top:5px; + text-align:left; + text-align-last: left; +} +.weui-cells_form .weui-cell__bd{ + width:100%; + flex: none; +} +button { + width:80% !important; + text-align: center; + background: #3496fe !important; + color: #FFF !important; + font-weight: normal; + display: block; + border-radius: 7px; + box-shadow:1px 4px 7px rgba(45,140,240,.2); +} +.weui-msg{ + padding:0; +} +.weui-msg__tips{ + text-align: center; +} \ No newline at end of file diff --git a/pages/index/index.js b/pages/index/index.js new file mode 100644 index 0000000..e4af57b --- /dev/null +++ b/pages/index/index.js @@ -0,0 +1,160 @@ +//index.js +const app = getApp() + +Page({ + data: { + avatarUrl: './user-unlogin.png', + userInfo: {SHOWNAME:"--",companyname:"--"}, + baseInfo:null, + logged: false, + takeSession: false, + requestResult: '', + hasNoUsedr:false + }, + + onLoad: function() { +//后台验证 + var that = this + wx.login({ + success(res) { + if (res.code) { + console.log('code:' + res.code) + //发起网络请求 + wx.request({ + url: getApp().globalData.serverUrl + '/GetDriverInfo?code=' + res.code, + success: function (res) { + wx.hideLoading() + if (res.data.ErrorCode == 0) { + console.log(res.data) + var baseInfo = res.data.BaseInfo + //var detailInfo = res.data.DetailInfo + getApp().globalData.baseInfo = baseInfo + //getApp().globalData.detailInfo = detailInfo + that.setData({ + userInfo: baseInfo + }) + + that.checkBind(); + } else if (res.data.ErrorCode == -1) { + // wx.reLaunch({ + // url: '/pages/register/register' + // }) + that.setData({ + hasNoUsedr: true + }); + that.checkBind(); + } + } + }) + } else { + console.log('登录失败!' + res.errMsg) + } + } + }) + + }, + + onGetUserInfo: function(e) { + if (!this.data.logged && e.detail.userInfo) { + this.setData({ + logged: true, + avatarUrl: e.detail.userInfo.avatarUrl, + userInfo: e.detail.userInfo + }) + } + }, + + checkBind: function () { + if (this.data.hasNoUsedr) { + wx.showModal({ + title: '提示', + content: '您还未输入账号和密码,需要先输入并验证通过才能使用,马上开始吗?', + success: function (res) { + if (res.confirm) { + wx.redirectTo({ + url: '/pages/ds/ds' + }) + } + } + }) + return false; + } + + return true; + }, + onGetOpenid: function() { + // 调用云函数 + wx.cloud.callFunction({ + name: 'login', + data: {}, + success: res => { + console.log('[云函数] [login] user openid: ', res.result.openid) + app.globalData.openid = res.result.openid + wx.navigateTo({ + url: '../userConsole/userConsole', + }) + }, + fail: err => { + console.error('[云函数] [login] 调用失败', err) + wx.navigateTo({ + url: '../deployFunctions/deployFunctions', + }) + } + }) + }, + + // 上传图片 + doUpload: function () { + // 选择图片 + wx.chooseMedia({ + count: 1, + mediaType: ['image','video'], + //sizeType: ['compressed'], + sourceType: ['album', 'camera'], + maxDuration: 30, + camera: 'back', + success: function (res) { + wx.showLoading({ + title: '上传中', + }) + + //const filePath = res.tempFilePaths[0] + var filePath = res.tempFiles; + // that.setData({ + // upFiles: files + // }) + // 上传图片 + const cloudPath = `my-image${filePath.match(/\.[^.]+?$/)[0]}` + wx.cloud.uploadFile({ + cloudPath, + filePath, + success: res => { + console.log('[上传文件] 成功:', res) + + app.globalData.fileID = res.fileID + app.globalData.cloudPath = cloudPath + app.globalData.imagePath = filePath + + wx.navigateTo({ + url: '../storageConsole/storageConsole' + }) + }, + fail: e => { + console.error('[上传文件] 失败:', e) + wx.showToast({ + icon: 'none', + title: '上传失败', + }) + }, + complete: () => { + wx.hideLoading() + } + }) + }, + fail: e => { + console.error(e) + } + }) + }, + +}) diff --git a/pages/index/index.json b/pages/index/index.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/index/index.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/index/index.wxml b/pages/index/index.wxml new file mode 100644 index 0000000..0b85049 --- /dev/null +++ b/pages/index/index.wxml @@ -0,0 +1,59 @@ + + + + + + + + + {{userInfo.DrvName}}-{{userInfo.Mobile}} + + + + + + + + + + + 待执行业务 + + + + + + + 历史任务 + + + + + + + + 重新登录 + + + + + + 修改密码 + + + + + diff --git a/pages/index/index.wxss b/pages/index/index.wxss new file mode 100644 index 0000000..6e178db --- /dev/null +++ b/pages/index/index.wxss @@ -0,0 +1,65 @@ +/**index.wxss**/ +page{ + background: #FFF; +} +.page__hd{ + margin-top:5em; +} +.page__hd .weui-flex .weui-flex__item{ + text-align: center; + color:#333; + font-size: 18px; + font-weight:bold; +} +.page__hd .weui-flex .weui-flex__item image{ + width:100px; + height:100px; + display: block; + margin:0 auto .75em; +} +.page__bd .uploader{ + padding-left:0; + border:none; +} +.page__bd{ + margin-top:2em; +} +.page__bd .uploader navigator{ + width:80% !important; + height:40px; + line-height: 40px; + text-align: center; + background: #3496fe !important; + border:1px solid #3496fe; + color: #FFF !important; + font-weight: normal; + border-radius: 7px; + margin:0 auto; + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; +} +.page__bd .relogin navigator{ + width:80% !important; + height:40px; + line-height: 40px; + text-align: center; + background: #FFF !important; + border:1px solid #2d8cf0; + color: #2d8cf0 !important; + font-weight: normal; + display: block; + border-radius: 7px; + margin:15px auto 0; +} +.page__bd .uploader navigator image{ + width:23px; + height:16px; + margin-right: 7px; +} +.page__bd .uploader.search navigator image{ + width:20px; + height:20px; +} + diff --git a/pages/index/user-unlogin.png b/pages/index/user-unlogin.png new file mode 100644 index 0000000..95b27e4 Binary files /dev/null and b/pages/index/user-unlogin.png differ diff --git a/project.config.json b/project.config.json new file mode 100644 index 0000000..1aa2122 --- /dev/null +++ b/project.config.json @@ -0,0 +1,53 @@ +{ + "description": "项目配置文件,详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", + "setting": { + "urlCheck": true, + "es6": true, + "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": true, + "lazyloadPlaceholderEnable": false, + "useMultiFrameRuntime": true, + "babelSetting": { + "ignore": [], + "disablePlugins": [], + "outputPath": "" + }, + "enableEngineNative": false, + "useIsolateContext": true, + "userConfirmedBundleSwitch": false, + "packNpmManually": false, + "packNpmRelationList": [], + "minifyWXSS": true, + "disableUseStrict": false, + "minifyWXML": true, + "showES6CompileOption": false, + "useCompilerPlugins": false, + "ignoreUploadUnusedFiles": true, + "useStaticServer": true + }, + "compileType": "miniprogram", + "condition": {}, + "editorSetting": { + "tabIndent": "insertSpaces", + "tabSize": 2 + }, + "libVersion": "2.30.0", + "packOptions": { + "ignore": [], + "include": [] + }, + "appid": "wxdac8ae92b245cddf" +} \ No newline at end of file diff --git a/project.private.config.json b/project.private.config.json new file mode 100644 index 0000000..4daaaec --- /dev/null +++ b/project.private.config.json @@ -0,0 +1,8 @@ +{ + "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", + "projectname": "WXAPP_FH", + "setting": { + "compileHotReLoad": true, + "urlCheck": false + } +} \ No newline at end of file diff --git a/sitemap.json b/sitemap.json new file mode 100644 index 0000000..27b2b26 --- /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/style/guide.wxss b/style/guide.wxss new file mode 100644 index 0000000..5a77414 --- /dev/null +++ b/style/guide.wxss @@ -0,0 +1,144 @@ +page { + background: #f6f6f6; + display: flex; + flex-direction: column; + justify-content: flex-start; +} + +.list { + margin-top: 40rpx; + height: auto; + width: 100%; + background: #fff; + padding: 0 40rpx; + border: 1px solid rgba(0, 0, 0, 0.1); + border-left: none; + border-right: none; + transition: all 300ms ease; + display: flex; + flex-direction: column; + align-items: stretch; + box-sizing: border-box; +} + +.list-item { + width: 100%; + padding: 0; + line-height: 104rpx; + font-size: 34rpx; + color: #007aff; + border-top: 1px solid rgba(0, 0, 0, 0.1); + display: flex; + flex-direction: row; + align-content: center; + justify-content: space-between; + box-sizing: border-box; +} + +.list-item:first-child { + border-top: none; +} + +.list-item image { + max-width: 100%; + max-height: 20vh; + margin: 20rpx 0; +} + +.request-text { + color: #222; + padding: 20rpx 0; + font-size: 24rpx; + line-height: 36rpx; + word-break: break-all; +} + +.guide { + width: 100%; + padding: 40rpx; + box-sizing: border-box; + display: flex; + flex-direction: column; +} + +.guide .headline { + font-size: 34rpx; + font-weight: bold; + color: #555; + line-height: 40rpx; +} + +.guide .p { + margin-top: 20rpx; + font-size: 28rpx; + line-height: 36rpx; + color: #666; +} + +.guide .code { + margin-top: 20rpx; + font-size: 28rpx; + line-height: 36rpx; + color: #666; + background: white; + white-space: pre; +} + +.guide .code-dark { + margin-top: 20rpx; + background: rgba(0, 0, 0, 0.8); + padding: 20rpx; + font-size: 28rpx; + line-height: 36rpx; + border-radius: 6rpx; + color: #fff; + white-space: pre +} + +.guide image { + max-width: 100%; +} + +.guide .image1 { + margin-top: 20rpx; + max-width: 100%; + width: 356px; + height: 47px; +} + +.guide .image2 { + margin-top: 20rpx; + width: 264px; + height: 100px; +} + +.guide .flat-image { + height: 100px; +} + +.guide .code-image { + max-width: 100%; +} + +.guide .copyBtn { + width: 180rpx; + font-size: 20rpx; + margin-top: 16rpx; + margin-left: 0; +} + +.guide .nav { + margin-top: 50rpx; + display: flex; + flex-direction: row; + align-content: space-between; +} + +.guide .nav .prev { + margin-left: unset; +} + +.guide .nav .next { + margin-right: unset; +} + diff --git a/style/weui.wxss b/style/weui.wxss new file mode 100644 index 0000000..0f09085 --- /dev/null +++ b/style/weui.wxss @@ -0,0 +1,6 @@ +/*! + * WeUI v2.0.1 (https://github.com/weui/weui-wxss) + * Copyright 2019 Tencent, Inc. + * Licensed under the MIT license + */ +page{line-height:1.6;font-family:-apple-system-font,Helvetica Neue,sans-serif}icon{vertical-align:middle}.weui-cells{position:relative;margin-top:8px;background-color:#fff;line-height:1.41176471;font-size:17px}.weui-cells:before{top:0;border-top:1rpx solid rgba(0,0,0,.1)}.weui-cells:after,.weui-cells:before{content:" ";position:absolute;left:0;right:0;height:1px;color:rgba(0,0,0,.1)}.weui-cells:after{bottom:0;border-bottom:1rpx solid rgba(0,0,0,.1)}.weui-cells__title{margin-top:16px;margin-bottom:3px;padding-left:16px;padding-right:16px;color:rgba(0,0,0,.5);font-size:14px}.weui-cells_after-title{margin-top:0}.weui-cells__tips{margin-top:3px;color:rgba(0,0,0,.5);padding-left:16px;padding-right:16px;font-size:14px}.weui-cell{padding:16px;position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-cell:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1);left:16px}.weui-cell:first-child:before{display:none}.weui-cell_active{background-color:#ececec}.weui-cell_primary{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start}.weui-cell__bd{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-cell__ft{text-align:right;color:rgba(0,0,0,.5)}.weui-cell_label-block,.weui-cell_wxss.weui-cell_wxss:before{display:block}.weui-cell_label-block .weui-label{width:auto;word-break:normal;-webkit-hyphens:auto;hyphens:auto}.weui-cell_access{color:inherit;-webkit-tap-highlight-color:rgba(0,0,0,0)}.weui-cell__ft_in-access{padding-right:16px;position:relative}.weui-cell__ft_in-access:after{content:" ";display:inline-block;height:8px;width:8px;border-width:2px 2px 0 0;border-color:#b2b2b2;border-style:solid;-webkit-transform:matrix(.71,.71,-.71,.71,0,0);transform:matrix(.71,.71,-.71,.71,0,0);position:relative;top:-2px;position:absolute;top:50%;margin-top:-5px;right:0}.weui-cell_link{color:#576b95;font-size:17px}.weui-cell_link:active{background-color:#ececec}.weui-cell_link:first-child:before{display:block}.weui-cells_checkbox .weui-check__label:before{left:55px}.weui-check__label:active{background-color:#ececec}.weui-check{position:absolute;left:-9999px}.weui-check__hd_in-checkbox{padding-right:16px}.weui-cell__ft_in-radio{padding-left:16px}.weui-cell_input{padding-top:0;padding-bottom:0}.weui-label{width:105px;word-wrap:break-word;word-break:break-all}.weui-input{height:1.41176471em;min-height:1.41176471em;line-height:1.41176471}.weui-textarea{display:block;width:100%}.weui-textarea-counter{color:rgba(0,0,0,.3);text-align:right}.weui-cell_warn,.weui-textarea-counter_warn{color:#fa5151}.weui-form-preview{position:relative;background-color:#fff}.weui-form-preview:before{top:0;border-top:1rpx solid rgba(0,0,0,.1)}.weui-form-preview:after,.weui-form-preview:before{content:" ";position:absolute;left:0;right:0;height:1px;color:rgba(0,0,0,.1)}.weui-form-preview:after{bottom:0;border-bottom:1rpx solid rgba(0,0,0,.1)}.weui-form-preview__value{font-size:14px}.weui-form-preview__value_in-hd{font-size:26px}.weui-form-preview__hd{position:relative;padding:16px;text-align:right;line-height:2.5em}.weui-form-preview__hd:after{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1);left:16px}.weui-form-preview__bd{padding:16px;font-size:.9em;text-align:right;color:rgba(0,0,0,.5);line-height:2}.weui-form-preview__ft{position:relative;line-height:56px;display:-webkit-box;display:-webkit-flex;display:flex}.weui-form-preview__ft:after{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1)}.weui-form-preview__item{overflow:hidden}.weui-form-preview__label{float:left;margin-right:1em;min-width:4em;color:rgba(0,0,0,.5);text-align:justify;text-align-last:justify}.weui-form-preview__value{display:block;overflow:hidden;word-break:normal;word-wrap:break-word}.weui-form-preview__btn{position:relative;display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;color:#576b95;text-align:center;font-weight:700;font-size:17px}.weui-form-preview__btn:after{content:" ";position:absolute;left:0;top:0;width:1px;bottom:0;border-left:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1)}.weui-form-preview__btn:first-child:after{display:none}.weui-form-preview__btn_active{background-color:#ececec}.weui-form-preview__btn_default{color:rgba(0,0,0,.9)}.weui-form-preview__btn_primary{color:#576b95}.weui-cell_select{padding:0;overflow:hidden}.weui-cell_select .weui-select{padding-right:30px}.weui-cell_select .weui-cell__bd: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:rgba(0,0,0,.3);-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:16px;margin-top:-12px}.weui-select{-webkit-appearance:none;border:0;outline:0;background-color:transparent;width:100%;font-size:inherit;height:56px;line-height:56px;position:relative;z-index:1;padding-left:16px}.weui-cell_select-before{padding-right:16px}.weui-cell_select-before .weui-select{width:105px;box-sizing:border-box}.weui-cell_select-before .weui-cell__hd{position:relative}.weui-cell_select-before .weui-cell__hd:after{content:" ";position:absolute;right:0;top:0;width:1px;bottom:0;border-right:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1)}.weui-cell_select-before .weui-cell__hd:before{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:rgba(0,0,0,.3);-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:16px;margin-top:-12px}.weui-cell_select-before .weui-cell__bd{padding-left:16px}.weui-cell_select-before .weui-cell__bd:after{display:none}.weui-cell_select-before.weui-cell_access .weui-cell__hd{line-height:56px;padding-left:32px}.weui-cell_select-after{padding-left:16px}.weui-cell_select-after .weui-select{padding-left:0}.weui-cell_select-after.weui-cell_access .weui-cell__bd{line-height:56px}.weui-cell_vcode{padding-top:0;padding-right:0;padding-bottom:0}.weui-vcode-btn,.weui-vcode-img{margin-left:5px;height:3.29411765em;vertical-align:middle}.weui-vcode-btn{display:inline-block;padding:0 .6em 0 .7em;border-left:1rpx solid rgba(0,0,0,.1);line-height:3.29411765em;font-size:17px;color:#576b95;white-space:nowrap}button.weui-vcode-btn{min-height:0;background-color:transparent;border:0;outline:0}.weui-vcode-btn:active{color:#767676}.weui-cell_switch{padding-top:12px;padding-bottom:12px}.weui-uploader{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-uploader__hd{padding-bottom:16px}.weui-uploader__overview{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-uploader__title{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-uploader__tips{color:rgba(0,0,0,.3);font-size:14px;line-height:1.4;padding-top:4px}.weui-uploader__info{color:rgba(0,0,0,.3)}.weui-uploader__bd{margin-bottom:-8px;margin-right:-8px;overflow:hidden}.weui-uploader__file{float:left;margin-right:8px;margin-bottom:8px}.weui-uploader__img{display:block;width:96px;height:96px}.weui-uploader__file_status{position:relative}.weui-uploader__file_status:before{content:" ";position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.5)}.weui-uploader__file-content{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#fff}.weui-uploader__input-box{float:left;position:relative;margin-right:8px;margin-bottom:8px;width:96px;height:96px;box-sizing:border-box;background-color:#ededed}.weui-uploader__input-box:after,.weui-uploader__input-box:before{content:" ";position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:#a3a3a3}.weui-uploader__input-box:before{width:2px;height:32px}.weui-uploader__input-box:after{width:32px;height:2px}.weui-uploader__input-box:active{border-color:#8b8b8b}.weui-uploader__input-box:active:after,.weui-uploader__input-box:active:before{background-color:#8b8b8b}.weui-uploader__input{position:absolute;z-index:1;top:0;left:0;width:100%;height:100%;opacity:0}.weui-article{padding:24px 16px;padding:24px calc(16px + constant(safe-area-inset-right)) calc(24px + constant(safe-area-inset-bottom)) calc(16px + constant(safe-area-inset-left));padding:24px calc(16px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));font-size:17px;color:rgba(0,0,0,.9)}.weui-article__section{margin-bottom:1.5em}.weui-article__h1{font-size:22px;font-weight:700;margin-bottom:.9em;line-height:1.4}.weui-article__h2{font-size:17px}.weui-article__h2,.weui-article__h3{font-weight:700;margin-bottom:.34em;line-height:1.4}.weui-article__h3{font-size:15px}.weui-article__p{margin:0 0 .8em}.weui-msg{padding-top:36px;padding:calc(36px + constant(safe-area-inset-top)) constant(safe-area-inset-right) constant(safe-area-inset-bottom) constant(safe-area-inset-left);padding:calc(36px + env(safe-area-inset-top)) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);text-align:center;line-height:1.4;min-height:100%;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;background-color:#fff}.weui-msg__link{color:#576b95;display:inline-block;vertical-align:baseline}.weui-msg__icon-area{margin-bottom:32px}.weui-msg__text-area{margin-bottom:32px;padding:0 32px;-webkit-box-flex:1;-webkit-flex:1;flex:1;line-height:1.6}.weui-msg__text-area:first-child{padding-top:96px}.weui-msg__title{margin-bottom:5px;font-weight:700;font-size:22px;word-wrap:break-word;word-break:break-all}.weui-msg__desc{font-size:17px;color:rgba(0,0,0,.9)}.weui-msg__desc,.weui-msg__desc-primary{word-wrap:break-word;word-break:break-all;margin-bottom:16px}.weui-msg__desc-primary{font-size:14px;color:rgba(0,0,0,.5)}.weui-msg__opr-area{margin-bottom:16px}.weui-msg__opr-area .weui-btn-area{margin:0 16px}.weui-msg__opr-area .weui-btn+.weui-btn{margin-bottom:16px}.weui-msg__opr-area:last-child{margin-bottom:96px}.weui-msg__opr-area+.weui-msg__extra-area{margin-top:48px}.weui-msg__tips-area{margin-bottom:16px;padding:0 40px}.weui-msg__opr-area+.weui-msg__tips-area{margin-bottom:48px}.weui-msg__tips-area:last-child{margin-bottom:64px}.weui-msg__extra-area,.weui-msg__tips{font-size:12px;color:rgba(0,0,0,.5)}.weui-msg__extra-area{position:static;margin-bottom:24px}.weui-cells__group_form:first-child .weui-cells__title{margin-top:0}.weui-cells__group_form .weui-cells__title{margin-top:24px;margin-bottom:8px;padding:0 32px}.weui-cells__group_form .weui-cell:before,.weui-cells__group_form .weui-cells:before{left:32px;right:32px}.weui-cells__group_form .weui-cells_checkbox .weui-check__label:before{left:72px}.weui-cells__group_form .weui-cells:after{left:32px;right:32px}.weui-cells__group_form .weui-cell{padding:16px 32px;color:rgba(0,0,0,.9)}.weui-cells__group_form .weui-cell__hd{padding-right:16px}.weui-cells__group_form .weui-cell__ft{padding-left:16px}.weui-cells__group_form .weui-cell_warn input{color:#fa5151}.weui-cells__group_form .weui-label{max-width:5em;margin-right:8px}.weui-cells__group_form .weui-cells__tips{margin-top:8px;padding:0 32px;color:rgba(0,0,0,.3)}.weui-cells__group_form .weui-cells__tips a{font-weight:700}.weui-cells__group_form .weui-cell_vcode{padding:12px 32px}.weui-cells__group_form .weui-vcode-btn{font-size:16px;padding:0 12px;margin-left:0;height:auto;width:auto;line-height:2em;color:#06ae56;background-color:#f2f2f2}.weui-cells__group_form .weui-vcode-btn:before{display:none}.weui-cells__group_form .weui-cell_select{padding:0}.weui-cells__group_form .weui-cell_select .weui-select{padding:0 32px}.weui-cells__group_form .weui-cell_select .weui-cell__bd:after{right:32px}.weui-cells__group_form .weui-cell_select-before .weui-label{margin-right:24px}.weui-cells__group_form .weui-cell_select-before .weui-select{padding-right:24px;box-sizing:initial}.weui-cells__group_form .weui-cell_select-after{padding-left:32px}.weui-cells__group_form .weui-cell_select-after .weui-select{padding-left:0}.weui-cells__group_form .weui-cell_switch{padding:12px 32px}.weui-cells__group_wxss.weui-cells__group_wxss .weui-cells__title{margin-top:24px}.weui-form{padding:56px 0 0;padding:calc(56px + constant(safe-area-inset-top)) constant(safe-area-inset-right) constant(safe-area-inset-bottom) constant(safe-area-inset-left);padding:calc(56px + env(safe-area-inset-top)) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;min-height:100%;box-sizing:border-box;line-height:1.4;background-color:#fff}.weui-form a:not(.weui-btn){color:#576b95}.weui-form .weui-footer,.weui-form .weui-footer__link{font-size:12px}.weui-form .weui-agree{padding:0}.weui-form__text-area{padding:0 32px;color:rgba(0,0,0,.9);text-align:center}.weui-form__control-area{-webkit-box-flex:1;-webkit-flex:1;flex:1;margin:48px 0}.weui-form__extra-area,.weui-form__tips-area{margin-bottom:24px;text-align:center}.weui-form__opr-area{margin-bottom:64px}.weui-form__opr-area:last-child{margin-bottom:96px}.weui-form__title{font-size:22px;font-weight:700;line-height:1.36}.weui-form__desc{font-size:17px;margin-top:16px}.weui-form__tips{color:rgba(0,0,0,.5);font-size:12px}.weui-flex{display:-webkit-box;display:-webkit-flex;display:flex}.weui-flex__item{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-btn+.weui-btn{margin-top:16px}.weui-btn.weui-btn_inline+.weui-btn.weui-btn_inline{margin-top:auto;margin-left:16px}.weui-btn-area{margin:48px 16px 8px}.weui-btn-area_inline{display:-webkit-box;display:-webkit-flex;display:flex}.weui-btn-area_inline .weui-btn{margin-top:auto;margin-right:16px;width:100%;-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-btn-area_inline .weui-btn:last-child{margin-right:0}.weui-agree{display:block;padding:.5em 15px;font-size:13px}.weui-agree__text{color:rgba(0,0,0,.5)}.weui-agree__link{display:inline;color:#576b95}.weui-agree__checkbox{position:absolute;left:-9999px}.weui-agree__checkbox-icon{position:relative;top:2px;display:inline-block;border:1px solid #d1d1d1;background-color:#fff;border-radius:3px;width:11px;height:11px}.weui-agree__checkbox-icon-check{position:absolute;top:1px;left:1px}.weui-footer{color:rgba(0,0,0,.3);font-size:14px;line-height:1.4;text-align:center}.weui-footer_fixed-bottom{position:fixed;bottom:16px;bottom:calc(16px + constant(safe-area-inset-bottom));bottom:calc(16px + env(safe-area-inset-bottom));left:0;right:0}.weui-footer__links{font-size:0}.weui-footer__link{display:inline-block;vertical-align:top;margin:0 8px;position:relative;font-size:14px;color:#576b95}.weui-footer__link:before{content:" ";position:absolute;left:0;top:0;width:1px;bottom:0;border-left:1rpx solid #c7c7c7;color:#c7c7c7;left:-8px;top:.36em;bottom:.36em}.weui-footer__link:first-child:before{display:none}.weui-footer__text{padding:0 .34em;font-size:12px}.weui-grids{border-top:1rpx solid rgba(0,0,0,.1);border-left:1rpx solid rgba(0,0,0,.1);overflow:hidden}.weui-grid{position:relative;float:left;padding:20px 10px;width:33.33333333%;box-sizing:border-box;border-right:1rpx solid rgba(0,0,0,.1);border-bottom:1rpx solid rgba(0,0,0,.1)}.weui-grid_active{background-color:#ececec}.weui-grid__icon{display:block;width:28px;height:28px;margin:0 auto}.weui-grid__label{margin-top:5px;display:block;text-align:center;color:rgba(0,0,0,.9);font-size:14px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.weui-loading{margin:0 5px;width:20px;height:20px;display:inline-block;vertical-align:middle;-webkit-animation:a 1s steps(12) infinite;animation:a 1s steps(12) infinite;background:transparent url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=) no-repeat;background-size:100%}.weui-loading.weui-loading_transparent{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 100 100'%3E%3Cpath fill='none' d='M0 0h100v100H0z'/%3E%3Crect xmlns='http://www.w3.org/2000/svg' width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.56)' rx='5' ry='5' transform='translate(0 -30)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.5)' rx='5' ry='5' transform='rotate(30 105.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.43)' rx='5' ry='5' transform='rotate(60 75.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.38)' rx='5' ry='5' transform='rotate(90 65 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.32)' rx='5' ry='5' transform='rotate(120 58.66 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.28)' rx='5' ry='5' transform='rotate(150 54.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.25)' rx='5' ry='5' transform='rotate(180 50 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.2)' rx='5' ry='5' transform='rotate(-150 45.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.17)' rx='5' ry='5' transform='rotate(-120 41.34 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.14)' rx='5' ry='5' transform='rotate(-90 35 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.1)' rx='5' ry='5' transform='rotate(-60 24.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='rgba(255,255,255,.03)' rx='5' ry='5' transform='rotate(-30 -5.98 65)'/%3E%3C/svg%3E")}@-webkit-keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.wx_dot_loading,.wx_dot_loading:after,.wx_dot_loading:before{display:inline-block;vertical-align:middle;width:6px;height:6px;border-radius:50%;background-color:rgba(0,0,0,.3);font-size:0;-webkit-animation:c 1.6s step-start infinite;animation:c 1.6s step-start infinite}.wx_dot_loading{position:relative}.wx_dot_loading:before{content:"";position:absolute;left:-12px;background-color:rgba(0,0,0,.1);-webkit-animation:b 1.6s step-start infinite;animation:b 1.6s step-start infinite}.wx_dot_loading:after{content:"";position:absolute;right:-12px;background-color:rgba(0,0,0,.5);-webkit-animation:d 1.6s step-start infinite;animation:d 1.6s step-start infinite}@-webkit-keyframes b{0%,to{background-color:rgba(0,0,0,.1)}30%{background-color:rgba(0,0,0,.5)}60%{background-color:rgba(0,0,0,.3)}}@keyframes b{0%,to{background-color:rgba(0,0,0,.1)}30%{background-color:rgba(0,0,0,.5)}60%{background-color:rgba(0,0,0,.3)}}@-webkit-keyframes c{0%,to{background-color:rgba(0,0,0,.3)}30%{background-color:rgba(0,0,0,.1)}60%{background-color:rgba(0,0,0,.5)}}@keyframes c{0%,to{background-color:rgba(0,0,0,.3)}30%{background-color:rgba(0,0,0,.1)}60%{background-color:rgba(0,0,0,.5)}}@-webkit-keyframes d{0%,to{background-color:rgba(0,0,0,.5)}30%{background-color:rgba(0,0,0,.3)}60%{background-color:rgba(0,0,0,.1)}}@keyframes d{0%,to{background-color:rgba(0,0,0,.5)}30%{background-color:rgba(0,0,0,.3)}60%{background-color:rgba(0,0,0,.1)}}.wx_dot_loading_white{background-color:hsla(0,0%,100%,.3);-webkit-animation:f 1.6s step-start infinite;animation:f 1.6s step-start infinite}.wx_dot_loading_white:before{background-color:hsla(0,0%,100%,.5);-webkit-animation:e 1.6s step-start infinite;animation:e 1.6s step-start infinite}.wx_dot_loading_white:after{background-color:hsla(0,0%,100%,.1);-webkit-animation:g 1.6s step-start infinite;animation:g 1.6s step-start infinite}@-webkit-keyframes e{0%,to{background-color:hsla(0,0%,100%,.5)}30%{background-color:hsla(0,0%,100%,.1)}60%{background-color:hsla(0,0%,100%,.3)}}@keyframes e{0%,to{background-color:hsla(0,0%,100%,.5)}30%{background-color:hsla(0,0%,100%,.1)}60%{background-color:hsla(0,0%,100%,.3)}}@-webkit-keyframes f{0%,to{background-color:hsla(0,0%,100%,.3)}30%{background-color:hsla(0,0%,100%,.5)}60%{background-color:hsla(0,0%,100%,.1)}}@keyframes f{0%,to{background-color:hsla(0,0%,100%,.3)}30%{background-color:hsla(0,0%,100%,.5)}60%{background-color:hsla(0,0%,100%,.1)}}@-webkit-keyframes g{0%,to{background-color:hsla(0,0%,100%,.1)}30%{background-color:hsla(0,0%,100%,.3)}60%{background-color:hsla(0,0%,100%,.5)}}@keyframes g{0%,to{background-color:hsla(0,0%,100%,.1)}30%{background-color:hsla(0,0%,100%,.3)}60%{background-color:hsla(0,0%,100%,.5)}}.weui-loadmore{width:65%;margin:1.5em auto;line-height:1.6em;font-size:14px;text-align:center}.weui-loadmore__tips{display:inline-block;vertical-align:middle}.weui-loadmore_line{border-top:1px solid rgba(0,0,0,.1);margin-top:2.4em}.weui-loadmore__tips_in-line{position:relative;top:-.9em;padding:0 .55em;background-color:#fff;color:rgba(0,0,0,.5)}.weui-loadmore__tips_in-dot{position:relative;padding:0 .16em;width:4px;height:1.6em}.weui-loadmore__tips_in-dot:before{content:" ";position:absolute;top:50%;left:50%;margin-top:-1px;margin-left:-2px;width:4px;height:4px;border-radius:50%;background-color:rgba(0,0,0,.1)}.weui-badge{display:inline-block;padding:.15em .4em;min-width:8px;border-radius:18px;background-color:#fa5151;color:#fff;line-height:1.2;text-align:center;font-size:12px;vertical-align:middle}.weui-badge_dot{padding:.4em;min-width:0}.weui-panel{background-color:#fff;margin-top:10px;position:relative;overflow:hidden}.weui-panel:first-child{margin-top:0}.weui-panel:before{top:0;border-top:1rpx solid rgba(0,0,0,.1)}.weui-panel:after,.weui-panel:before{content:" ";position:absolute;left:0;right:0;height:1px;color:rgba(0,0,0,.1)}.weui-panel:after{bottom:0;border-bottom:1rpx solid rgba(0,0,0,.1)}.weui-panel__hd{padding:16px 16px 13px;color:rgba(0,0,0,.9);font-size:15px;font-weight:700;position:relative}.weui-panel__hd:after{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1);left:16px}.weui-media-box{padding:16px;position:relative}.weui-media-box:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1);left:1s6px}.weui-media-box:first-child:before{display:none}.weui-media-box__title{font-weight:400;font-size:17px;color:rgba(0,0,0,.9);width:auto;white-space:nowrap;word-wrap:normal;word-wrap:break-word;word-break:break-all}.weui-media-box__desc,.weui-media-box__title{line-height:1.4;overflow:hidden;text-overflow:ellipsis}.weui-media-box__desc{color:rgba(0,0,0,.5);font-size:14px;padding-top:4px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.weui-media-box__info{margin-top:16px;padding-bottom:4px;font-size:13px;color:#cecece;line-height:1em;list-style:none;overflow:hidden}.weui-media-box__info__meta{float:left;padding-right:1em}.weui-media-box__info__meta_extra{padding-left:1em;border-left:1px solid #cecece}.weui-media-box__title_in-text{margin-bottom:8px}.weui-media-box_appmsg{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-media-box__thumb{width:100%;height:100%;vertical-align:top}.weui-media-box__hd_in-appmsg{margin-right:16px;width:60px;height:60px;line-height:60px;text-align:center}.weui-media-box__bd_in-appmsg{-webkit-box-flex:1;-webkit-flex:1;flex:1;min-width:0}.weui-media-box_small-appmsg{padding:0}.weui-cells_in-small-appmsg{margin-top:0}.weui-cells_in-small-appmsg:before{display:none}.weui-progress{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-progress__bar{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-progress__opr{margin-left:15px;font-size:0}.weui-navbar{display:-webkit-box;display:-webkit-flex;display:flex;position:relative;z-index:500;background-color:#fff;border-bottom:1rpx solid rgba(0,0,0,.1);padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.weui-navbar+.weui-tab__panel{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.weui-navbar__item{position:relative;display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;padding:16px;padding:calc(16px + constant(safe-area-inset-top)) 16px 16px;padding:calc(16px + env(safe-area-inset-top)) 16px 16px;text-align:center;font-size:17px;line-height:1.41176471}.weui-navbar__item:after{content:" ";position:absolute;right:0;top:0;width:1px;bottom:0;border-right:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1)}.weui-navbar__item.weui-bar__item_on{background-color:#ececec}.weui-navbar__item:first-child{padding-left:calc(16px + constant(safe-area-inset-left));padding-left:calc(16px + env(safe-area-inset-left))}.weui-navbar__item:last-child{padding-right:calc(16px + constant(safe-area-inset-right));padding-right:calc(16px + env(safe-area-inset-right))}.weui-navbar__item:last-child:after{display:none}.weui-navbar__slider{position:absolute;content:" ";left:0;bottom:0;width:6em;height:2px;background-color:#07c160;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;display:none}.weui-navbar__title{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.weui-tabbar{display:-webkit-box;display:-webkit-flex;display:flex;position:relative;z-index:500;background-color:#f7f7f7}.weui-tabbar:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1)}.weui-tabbar__item{display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;padding:8px 0 4px;padding-bottom:calc(8px + constant(safe-area-inset-bottom));padding-bottom:calc(8px + env(safe-area-inset-bottom));font-size:0;color:rgba(0,0,0,.5);text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}.weui-tabbar__item:first-child{padding-left:constant(safe-area-inset-left);padding-left:env(safe-area-inset-left)}.weui-tabbar__item:last-child{padding-right:constant(safe-area-inset-right);padding-right:env(safe-area-inset-right)}.weui-tabbar__item.weui-bar__item_on .weui-tabbar__icon,.weui-tabbar__item.weui-bar__item_on .weui-tabbar__icon>i,.weui-tabbar__item.weui-bar__item_on .weui-tabbar__label{color:#07c160}.weui-tabbar__icon{display:inline-block;width:28px;height:28px;margin-bottom:2px}.weui-tabbar__icon>i,i.weui-tabbar__icon{font-size:24px;color:rgba(0,0,0,.5)}.weui-tabbar__icon image{width:100%;height:100%}.weui-tabbar__label{color:rgba(0,0,0,.9);font-size:10px;line-height:1.4}.weui-tab{display:-webkit-box;display:-webkit-flex;display:flex;height:100%;box-sizing:border-box;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.weui-tab__panel{box-sizing:border-box;-webkit-box-flex:1;-webkit-flex:1;flex:1;overflow:auto;-webkit-overflow-scrolling:touch}:host{width:100%}.weui-slideview{overflow:hidden;position:relative}.weui-slideview__left{position:relative;z-index:10}.weui-slideview__right{position:absolute;z-index:1;left:100%;top:0;height:100%}.weui-slideview__btn__wrp{position:absolute;left:0;bottom:0;text-align:center;min-width:69px;height:100%;white-space:nowrap}.weui-slideview__btn{color:#fff;padding:0 17px}.weui-slideview__btn-group_default .weui-slideview__btn{background:#c7c7cc}.weui-slideview__btn-group_default~.weui-slideview__btn-group_default:before{content:" ";position:absolute;left:0;top:0;width:1px;bottom:0;border-left:1rpx solid #fff;color:#fff}.weui-slideview__btn-group_default:first-child:before{display:none}.weui-slideview__btn-group_warn .weui-slideview__btn{background:#fe3b30}.weui-slideview__btn-group_warn~.weui-slideview__btn-group_warn:before{content:" ";position:absolute;left:0;top:0;width:1px;bottom:0;border-left:1rpx solid #fff;color:#fff}.weui-slideview__btn-group_warn:first-child:before{display:none}.weui-slideview_icon .weui-slideview__btn__wrp{background:transparent;font-size:0}.weui-slideview_icon .weui-slideview__btn__wrp:after{content:"";width:0;height:100%;vertical-align:middle;display:inline-block}.weui-slideview_icon .weui-slideview__btn__wrp:first-child{padding-left:16px}.weui-slideview_icon .weui-slideview__btn__wrp:last-child{padding-right:8px}.weui-slideview_icon .weui-slideview__btn{width:48px;height:48px;line-height:48px;padding:0;display:inline-block;vertical-align:middle;border-radius:50%;background-color:#fff}.weui-slideview_icon .weui-slideview__btn__icon{display:inline-block;vertical-align:middle;width:22px;height:22px}.weui-gallery{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000;z-index:1000;-webkit-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;opacity:0;visibility:hidden;-webkit-transition:opacity .3s;transition:opacity .3s}.weui-gallery_show{display:-webkit-box;display:-webkit-flex;display:flex;visibility:visible;opacity:1}.weui-gallery__img__wrp{-webkit-box-flex:1;-webkit-flex:1;flex:1;position:relative;font-size:0}.weui-gallery__img{background:50% no-repeat;background-size:contain;position:absoulte;width:100%;height:100%}.weui-gallery__opr{background-color:#0d0d0d;color:#fff;line-height:60px;min-height:60px;padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom);text-align:center}.weui-gallery__opr navigator{color:#fff}.weui-gallery__del{display:block}.weui-gallery__info{color:#fff;font-size:17px;line-height:60px;min-height:60px;text-align:center}.weui-search-bar{position:relative;padding:8px;display:-webkit-box;display:-webkit-flex;display:flex;box-sizing:border-box;background-color:#ededed;-webkit-text-size-adjust:100%;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-icon-search{margin-right:8px;font-size:14px;vertical-align:top;margin-top:.64em;height:1em;line-height:1em}.weui-icon-search_in-box{position:absolute;left:12px;top:50%;margin-top:-8px}.weui-search-bar__text{display:inline-block;font-size:14px;vertical-align:top}.weui-search-bar__form{position:relative;-webkit-box-flex:1;-webkit-flex:auto;flex:auto;border-radius:4px;background:#fff}.weui-search-bar__box{position:relative;padding-left:32px;padding-right:32px;width:100%;box-sizing:border-box;z-index:1}.weui-search-bar__input{height:32px;line-height:32px;font-size:14px;caret-color:#07c160}.weui-icon-clear{position:absolute;top:0;right:0;bottom:0;padding:0 12px;font-size:0}.weui-icon-clear:after{content:"";height:100%;vertical-align:middle;display:inline-block;width:0;overflow:hidden}.weui-search-bar__label{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:4px;text-align:center;color:rgba(0,0,0,.5);background:#fff;line-height:32px}.weui-search-bar__cancel-btn{margin-left:8px;line-height:32px;color:#576b95;white-space:nowrap}icon[type=success]:after,icon[type=success]:before{color:#07c160!important}.weui-mask{background:rgba(0,0,0,.6)}.weui-mask,.weui-mask_transparent{position:fixed;z-index:1000;top:0;right:0;left:0;bottom:0}.weui-dialog__wrp{position:fixed;z-index:5000;top:16px;bottom:16px;left:16px;right:16px;text-align:center;font-size:0;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.weui-dialog__wrp .weui-dialog{max-height:100%}.weui-dialog{background-color:#fff;text-align:center;border-radius:12px;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;max-height:90%}.weui-dialog__hd{padding:32px 24px 16px}.weui-dialog__title{font-weight:700;font-size:17px;line-height:1.4}.weui-dialog__bd{-webkit-box-flex:1;-webkit-flex:1;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 24px;margin-bottom:32px;min-height:40px;font-size:17px;line-height:1.4;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;color:rgba(0,0,0,.5)}.weui-dialog__bd:first-child{padding:32px 24px 0;font-weight:700;color:rgba(0,0,0,.9);-webkit-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.weui-dialog__bd:first-child,.weui-dialog__ft{display:-webkit-box;display:-webkit-flex;display:flex}.weui-dialog__ft{position:relative;line-height:64px;min-height:64px;font-size:17px}.weui-dialog__ft:after{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1)}.weui-dialog__btn{display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;color:#576b95;font-weight:700;text-decoration:none;-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative}.weui-dialog__btn:active{background-color:#ececec}.weui-dialog__btn:after{content:" ";position:absolute;left:0;top:0;width:1px;bottom:0;border-left:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1)}.weui-dialog__btn:first-child:after{display:none}.weui-dialog__btn_default{color:rgba(0,0,0,.9)}@media screen and (min-width:352px){.weui-dialog{width:320px;margin:0 auto}}.weui-actionsheet{position:fixed;left:0;bottom:0;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:5000;width:100%;background-color:#eae7e8;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;border-top-left-radius:12px;border-top-right-radius:12px;overflow:hidden}.weui-actionsheet__title{position:relative;height:56px;padding:0 24px;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;text-align:center;font-size:12px;color:rgba(0,0,0,.5);line-height:1.4;background:#fff}.weui-actionsheet__title:before{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1)}.weui-actionsheet__title .weui-actionsheet__title-text{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.weui-actionsheet__menu{color:rgba(0,0,0,.9);background-color:#fff}.weui-actionsheet__action{margin-top:8px;background-color:#fff;padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.weui-actionsheet__cell{position:relative;padding:16px;text-align:center;font-size:17px;line-height:1.41176471}.weui-actionsheet__cell:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1)}.weui-actionsheet__cell:active{background-color:#ececec}.weui-actionsheet__cell:first-child:before{display:none}.weui-actionsheet__cell_warn{color:#fa5151}.weui-skin_android .weui-actionsheet{position:fixed;left:50%;top:50%;bottom:auto;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:274px;box-sizing:border-box;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:transparent;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;border-radius:2px}.weui-skin_android .weui-actionsheet__action{display:none}.weui-skin_android .weui-actionsheet__menu{border-radius:2px;box-shadow:0 6px 30px 0 rgba(0,0,0,.1)}.weui-skin_android .weui-actionsheet__cell{padding:16px;font-size:17px;line-height:1.41176471;color:rgba(0,0,0,.9);text-align:left}.weui-skin_android .weui-actionsheet__cell:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.weui-skin_android .weui-actionsheet__cell:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.weui-actionsheet_toggle{-webkit-transform:translate(0);transform:translate(0)}.weui-half-screen-dialog{position:fixed;left:0;right:0;bottom:0;max-height:75%;z-index:5000;line-height:1.4;background-color:#fff;border-top-left-radius:12px;border-top-right-radius:12px;overflow:hidden;padding:0 24px;padding:0 calc(24px + constant(safe-area-inset-right)) constant(safe-area-inset-bottom) calc(24px + constant(safe-area-inset-left));padding:0 calc(24px + env(safe-area-inset-right)) env(safe-area-inset-bottom) calc(24px + env(safe-area-inset-left))}.weui-half-screen-dialog__hd{font-size:8px;height:8em;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-half-screen-dialog__hd .weui-icon-btn{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.weui-half-screen-dialog__hd__side{position:relative;left:-8px}.weui-half-screen-dialog__hd__main{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-half-screen-dialog__hd__side+.weui-half-screen-dialog__hd__main{text-align:center;padding:0 40px}.weui-half-screen-dialog__hd__main+.weui-half-screen-dialog__hd__side{right:-8px;left:auto}.weui-half-screen-dialog__hd__main+.weui-half-screen-dialog__hd__side .weui-icon-btn{right:0}.weui-half-screen-dialog__title{display:block;color:rgba(0,0,0,.9);font-weight:700;font-size:15px}.weui-half-screen-dialog__subtitle{display:block;color:rgba(0,0,0,.5);font-size:10px}.weui-half-screen-dialog__bd{word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;overflow-y:auto}.weui-half-screen-dialog__desc{padding-top:4px;font-size:17px;font-weight:700;color:rgba(0,0,0,.9);line-height:1.4}.weui-half-screen-dialog__tips{padding-top:16px;font-size:14px;color:rgba(0,0,0,.3);line-height:1.4}.weui-half-screen-dialog__ft{padding:40px 24px 32px;text-align:center}.weui-half-screen-dialog__ft .weui-btn:nth-last-child(n+2),.weui-half-screen-dialog__ft .weui-btn:nth-last-child(n+2)+.weui-btn{display:inline-block;vertical-align:top;margin:0 8px;width:120px}.weui-icon-btn{background-color:transparent;background-repeat:no-repeat;background-position:50% 50%;background-size:100%;border:0;outline:0;font-size:0}.weui-icon-btn_goback{width:12px;height:24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='24' viewBox='0 0 12 24'%3E %3Cg fill='none' fill-rule='evenodd' transform='translate(-16 -20)'%3E %3Cpath fill='%23FFF' d='M0 12C0 5.373 5.367 0 12 0h390c6.628 0 12 5.374 12 12v52H0V12z'/%3E %3Cpath fill='%23000' fill-opacity='.9' d='M26 39.438L24.955 40.5l-7.666-7.79a1.02 1.02 0 0 1 0-1.42l7.666-7.79L26 24.563 18.682 32 26 39.438z'/%3E %3C/g%3E%3C/svg%3E")}.weui-icon-btn_close{width:24px;height:24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24' height='24' viewBox='0 0 24 24'%3E %3Cdefs%3E %3Cpath id='33cf2e7b-22e9-42d7-9c56-a9f4a4e03565-a' d='M8 6.943L1.807.75.75 1.807 6.943 8 .75 14.193l1.057 1.057L8 9.057l6.193 6.193 1.057-1.057L9.057 8l6.193-6.193L14.193.75z'/%3E %3C/defs%3E %3Cg fill='none' fill-rule='evenodd' transform='translate(-16 -20)'%3E %3Cpath fill='%23FFF' d='M0 12C0 5.373 5.367 0 12 0h390c6.628 0 12 5.374 12 12v52H0V12z'/%3E %3Cuse fill='%23000' fill-opacity='.9' transform='translate(20 24)' xlink:href='%2333cf2e7b-22e9-42d7-9c56-a9f4a4e03565-a'/%3E %3C/g%3E%3C/svg%3E")}.weui-icon-btn_more{width:24px;height:24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E %3Cg fill='none' fill-rule='evenodd' transform='translate(-374 -20)'%3E %3Cpath fill='%23FFF' d='M0 12C0 5.373 5.367 0 12 0h390c6.628 0 12 5.374 12 12v52H0V12z'/%3E %3Cpath fill='%23000' fill-opacity='.9' d='M380.75 32a1.75 1.75 0 1 1-3.5 0 1.75 1.75 0 0 1 3.5 0zm5.25-1.75a1.75 1.75 0 1 1 0 3.5 1.75 1.75 0 0 1 0-3.5zm7 0a1.75 1.75 0 1 1 0 3.5 1.75 1.75 0 0 1 0-3.5z'/%3E %3C/g%3E%3C/svg%3E")}.weui-toptips{position:fixed;-webkit-transform:translateZ(0) translateY(-108%);transform:translateZ(0) translateY(-108%);text-align:center;top:8px;left:16px;right:16px;border-radius:4px;padding:8px;-webkit-border-radius:4px;color:hsla(0,0%,100%,.9);font-size:17px;line-height:1.4;background:rgba(250,81,81,.9);z-index:5000;word-wrap:break-word;word-break:break-all;-webkit-transition:all .4s ease-in-out;transition:all .4s ease-in-out}.weui-toptips_show{-webkit-transform:translateZ(0) translateY(0);transform:translateZ(0) translateY(0);opacity:1}.weui-toptips_warn{background-color:#fa5151}.weui-toptips_success{background-color:#09bb07}.weui-toptips_error{background-color:#fa5151}.weui-toptips_info{background-color:#10aeff}page{--height:44px;--right:190rpx}.weui-navigation-bar{overflow:hidden}.weui-navigation-bar .android{--height:48px;--right:222rpx}.weui-navigation-bar__inner{position:fixed;top:0;left:0;z-index:5001;height:var(--height);padding-right:var(--right);width:calc(100% - var(--right))}.weui-navigation-bar__inner,.weui-navigation-bar__inner .weui-navigation-bar__left{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-navigation-bar__inner .weui-navigation-bar__left{position:relative;width:var(--right);padding-left:16px;-webkit-box-pack:center}.weui-navigation-bar__inner .weui-navigation-bar__left .weui-navigation-bar__btn{display:inline-block;vertical-align:middle;background-repeat:no-repeat}.weui-navigation-bar__inner .weui-navigation-bar__left .weui-navigation-bar__btn_goback{font-size:12px;width:1em;height:2em;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='24' viewBox='0 0 12 24'%3E %3Cpath fill-opacity='.9' fill-rule='evenodd' d='M10 19.438L8.955 20.5l-7.666-7.79a1.02 1.02 0 0 1 0-1.42L8.955 3.5 10 4.563 2.682 12 10 19.438z'/%3E%3C/svg%3E");background-position:50% 50%;background-size:cover}.weui-navigation-bar__inner .weui-navigation-bar__left .weui-navigation-bar__btn_goback:active{opacity:.5}.weui-navigation-bar__inner .weui-navigation-bar__center{font-size:17px;text-align:center;position:relative;-webkit-box-flex:1;-webkit-flex:1;flex:1;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.weui-navigation-bar__inner .weui-navigation-bar__loading{font-size:0}.weui-navigation-bar__inner .weui-navigation-bar__loading .weui-loading{margin-left:0}.weui-navigation-bar__inner .weui-navigation-bar__right{margin-right:16px}.weui-navigation-bar__placeholder{height:var(--height);background:#f8f8f8;position:relative;z-index:50} \ No newline at end of file diff --git a/utils/util.js b/utils/util.js new file mode 100644 index 0000000..e69de29