From 5eb2fc84054e78e5166f5d88859c5d343e48cf55 Mon Sep 17 00:00:00 2001 From: qiaomu <3520484422@qq.com> Date: Wed, 14 Aug 2024 09:09:12 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E6=9C=AA=E7=9F=A5=E5=90=8D=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- project.config.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/project.config.json b/project.config.json index a3f8e47..80d81ef 100644 --- a/project.config.json +++ b/project.config.json @@ -20,7 +20,9 @@ "packNpmManually": true, "packNpmRelationList": [], "condition": false, - "compileWorklet": true + "compileWorklet": true, + "ignoreDevUnusedFiles": true, + "ignoreUploadUnusedFiles": false }, "condition": {}, "editorSetting": { From 75dab4b1acd8ef27ffd676cc4d4adbad59e3ec43 Mon Sep 17 00:00:00 2001 From: qiaomu <3520484422@qq.com> Date: Fri, 30 Aug 2024 14:39:41 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=83=A8=E5=88=86?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E6=9C=AA=E6=A0=B9=E6=8D=AE=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- childPackage/pages/billDetail/index.js | 12 ++++++++---- childPackage/pages/billDetail/index.wxml | 2 +- utils/index.js | 1 + 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/childPackage/pages/billDetail/index.js b/childPackage/pages/billDetail/index.js index 7472ed6..be7ddf3 100644 --- a/childPackage/pages/billDetail/index.js +++ b/childPackage/pages/billDetail/index.js @@ -39,13 +39,17 @@ Page({ this.init(id, time); }, async init(id, time) { - const { code, message, detail } = await getReportDetail(id) + const { code, message, detail, amount } = await getReportDetail(id) if (code !== OK) { alertInfo(message) return; } this.setData({ - id, time, detail, meters: detail?.meters?.map(item => { + id, + time, + detail, + amount: amount, + meters: detail?.meters?.map(item => { const finalAmount = Number(item?.overall?.amount || 0) + Number(item?.loss?.amount || 0) + Number(item?.publicAmount || 0) item.finalAmount = Number(finalAmount).toFixed(2) return item; @@ -77,8 +81,8 @@ Page({ type: 'pie', radius: '50%', data: [ - { value: 18.3, name: '本期线损电量', itemStyle: { color: 'rgb(104,187,196)' } }, - { value: 187.56, name: '本期用电量', itemStyle: { color: 'rgb(80,135,236)' } }, + { value: detail.comprehensive.lossAmount, name: '本期线损电量', itemStyle: { color: 'rgb(104,187,196)' } }, + { value: detail.comprehensive.consumption, name: '本期用电量', itemStyle: { color: 'rgb(80,135,236)' } }, ], } diff --git a/childPackage/pages/billDetail/index.wxml b/childPackage/pages/billDetail/index.wxml index d1057e1..fb72226 100644 --- a/childPackage/pages/billDetail/index.wxml +++ b/childPackage/pages/billDetail/index.wxml @@ -32,7 +32,7 @@ 本期用电量 - {{ detail.comprehensive.consumption }} 千瓦时 + {{ amount }} 千瓦时 diff --git a/utils/index.js b/utils/index.js index 87f675e..2b00b4b 100644 --- a/utils/index.js +++ b/utils/index.js @@ -47,6 +47,7 @@ export function getConfigByEnv() { case 'develop': api = "http://localhost:8000" // api = "https://zgd.hbhcbn.com/api3" + // api = "https://zgd.hbhcbn.com/api3" // api = "https://zgd.hbhcbn.com/wxApi" // api = "http://127.0.0.1:4523/m1/4143821-0-default" break; From 2c952e71a38a693b6a1c4aef30e1aef674b2ecea Mon Sep 17 00:00:00 2001 From: qiaomu <3520484422@qq.com> Date: Fri, 30 Aug 2024 17:31:35 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.json | 4 +- pages/home/index.js | 7 +- pages/publicTransfer/index.js | 119 ++++++++++++++++++++++++++++++++ pages/publicTransfer/index.json | 9 +++ pages/publicTransfer/index.wxml | 25 +++++++ pages/publicTransfer/index.wxss | 1 + pages/recharge/index.js | 113 ------------------------------ pages/recharge/index.json | 10 --- pages/recharge/index.wxml | 51 -------------- pages/recharge/index.wxss | 62 ----------------- pages/rechargeDetail/index.js | 85 +++++++++++++---------- pages/rechargeRecord/index.wxml | 8 ++- service/public.js | 23 ++++++ utils/index.js | 8 ++- utils/request.js | 4 ++ 15 files changed, 250 insertions(+), 279 deletions(-) create mode 100644 pages/publicTransfer/index.js create mode 100644 pages/publicTransfer/index.json create mode 100644 pages/publicTransfer/index.wxml create mode 100644 pages/publicTransfer/index.wxss delete mode 100644 pages/recharge/index.js delete mode 100644 pages/recharge/index.json delete mode 100644 pages/recharge/index.wxml delete mode 100644 pages/recharge/index.wxss create mode 100644 service/public.js diff --git a/app.json b/app.json index 57ccd30..e20360c 100644 --- a/app.json +++ b/app.json @@ -14,11 +14,11 @@ "pages/waitApprove/index", "pages/apply/index", "pages/qrCode/index", - "pages/recharge/index", "pages/questions/index", "pages/rechargeDetail/index", "pages/updateInvoice/index", - "pages/rechargeWay/index" + "pages/rechargeWay/index", + "pages/publicTransfer/index" ], "subPackages": [ { diff --git a/pages/home/index.js b/pages/home/index.js index 2ce113b..25fae78 100644 --- a/pages/home/index.js +++ b/pages/home/index.js @@ -25,7 +25,7 @@ Page({ rechargeVisible: false, actions: [ { name: '微信支付', }, - { name: '对公支付', disabled: true }, + { name: '对公支付' }, ], }, @@ -326,7 +326,10 @@ Page({ onSelectRechargeWay(e) { switch(e.detail.name) { case "对公支付": - alertInfo("开发中") + const { user, money, meter, tenement, park } = this.data; + wx.navigateTo({ + url: `/pages/publicTransfer/index?money=${money}&meterId=${meter.id}&tenementId=${tenement.id}&tenementName=${tenement.name}`, + }) break; default: this.wxRecharge(); diff --git a/pages/publicTransfer/index.js b/pages/publicTransfer/index.js new file mode 100644 index 0000000..0ff22e1 --- /dev/null +++ b/pages/publicTransfer/index.js @@ -0,0 +1,119 @@ +// pages/publicTransfer/index.js +import { getMeterDetail, getMeterList, getTenementMeterList } from "../../service/meter"; +import { uploadFile } from "../../service/public"; +import { alertInfo, loadingFunc, getFileName } from "../../utils/index"; +import request from '../../utils/request'; + +const { OK } = request; + +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + const { money, meterId, tenementId, tenementName } = options; + console.log('money', money, 'meterId', meterId) + this.init({ money, meterId, tenementId, tenementName }); + }, + async init({ money, meterId, tenementId, tenementName }) { + const { code, message, data } = await getMeterDetail({ tenement: tenementId, id: meterId }); + if (code !== OK) { + alertInfo(message); + return; + } + this.setData({ + meter: data, + money, + tenementName, + tenementId, + }) + }, + onUpload() { + const that = this; + wx.chooseMedia({ + count: 1, // 可以选择文件的数量 + mediaType: ['image'], // 可以选择文件的类型,这里只允许上传文件 + sourceType: ['album', 'camera'], + success: (res) => { + (loadingFunc(async () => { + const result = await uploadFile(res.tempFiles[0]?.tempFilePath) + console.log('result', result) + if (result.statusCode !== 200) { + alertInfo("上传失败") + return; + } + const data = JSON.parse(result.data) + this.setData({ + fileList: [{ url: data.data, name: getFileName(data.data) }] + }) + }))() + } + }); + }, + handleSubmit() { + const { fileList } = this.data; + if (!fileList.length) { + alertInfo("请上传凭证") + return; + } + }, + handleDelete() { + this.setData({ fileList: [] }) + }, + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/pages/publicTransfer/index.json b/pages/publicTransfer/index.json new file mode 100644 index 0000000..c2a876c --- /dev/null +++ b/pages/publicTransfer/index.json @@ -0,0 +1,9 @@ +{ + "usingComponents": { + "navigator": "/components/navigator/index", + "van-field": "@vant/weapp/field/index", + "van-uploader": "@vant/weapp/uploader/index", + "van-button": "@vant/weapp/button/index" + }, + "navigationStyle": "custom" +} \ No newline at end of file diff --git a/pages/publicTransfer/index.wxml b/pages/publicTransfer/index.wxml new file mode 100644 index 0000000..7d31d4f --- /dev/null +++ b/pages/publicTransfer/index.wxml @@ -0,0 +1,25 @@ + + + + + + + + + + + 点击上传 + + + + + + + + 提交 + \ No newline at end of file diff --git a/pages/publicTransfer/index.wxss b/pages/publicTransfer/index.wxss new file mode 100644 index 0000000..9e7911d --- /dev/null +++ b/pages/publicTransfer/index.wxss @@ -0,0 +1 @@ +/* pages/publicTransfer/index.wxss */ \ No newline at end of file diff --git a/pages/recharge/index.js b/pages/recharge/index.js deleted file mode 100644 index 780ab6d..0000000 --- a/pages/recharge/index.js +++ /dev/null @@ -1,113 +0,0 @@ -import { getMeterDetail } from "../../service/meter"; -import { getGlobalData, showModal } from "../../utils/index"; - -// pages/recharge/index.js -Page({ - - /** - * 页面的初始数据 - */ - data: { - money: 0, - moneyIndex: -1, - primaryColor: getGlobalData().primaryColor, - defaultMoneyArray: [100, 200, 500, 1000, 2000], - customFlag: false, - detail: {} - }, - - /** - * 生命周期函数--监听页面加载 - */ - onLoad(options) { - const { tenement, code } = options - this.init({ tenement, code }) - }, - async init(options) { - const { code, message, data = {}} = await getMeterDetail(options) - this.setData({ - detail: data - }) - }, - /** - * 生命周期函数--监听页面初次渲染完成 - */ - onReady() { - - }, - - /** - * 生命周期函数--监听页面显示 - */ - onShow() { - - }, - chooseMoney(e) { - const { money, index } = e.currentTarget.dataset; - this.setData({ - money, - moneyIndex: Number(index), - customFlag: false, - }); - }, - onChangeCode(e) { - const { codes } = this.data; - const index = Number(e.detail.value); - this.setData({ - code: codes[index] - }) - }, - custom() { - this.setData({ - moneyIndex: -1, - customFlag: true, - }) - }, - onChangeCustomMoney(e) { - const money = e.detail.value; - this.setData({ - money: money, - }) - }, - async recharge() { - const { detail = {}, money } = this.data; - const confirmResult = await showModal({ title: "充值确认", content: `确认充值表号为${detail?.meter?.code}的表计${money}元吗?` }); - if (!confirmResult) { - return; - } - }, - /** - * 生命周期函数--监听页面隐藏 - */ - onHide() { - - }, - - /** - * 生命周期函数--监听页面卸载 - */ - onUnload() { - - }, - - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh() { - - }, - - /** - * 页面上拉触底事件的处理函数 - */ - onReachBottom() { - - }, - - /** - * 用户点击右上角分享 - */ - onShareAppMessage() { - - } -}) \ No newline at end of file diff --git a/pages/recharge/index.json b/pages/recharge/index.json deleted file mode 100644 index 6618c57..0000000 --- a/pages/recharge/index.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "usingComponents": { - "navigator": "/components/navigator/index", - "van-grid": "@vant/weapp/grid/index", - "van-grid-item": "@vant/weapp/grid-item/index", - "van-row": "@vant/weapp/row/index", - "van-col": "@vant/weapp/col/index" - }, - "navigationBarTitleText": "充值" -} \ No newline at end of file diff --git a/pages/recharge/index.wxml b/pages/recharge/index.wxml deleted file mode 100644 index c765007..0000000 --- a/pages/recharge/index.wxml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - 充值表号: - {{ detail.meter.code }} - - - 表计地址: - {{ detail.meter.address }} - - - - 剩余金额: - {{ detail.money }} - - - 公司名称: - {{ detail.tenement.name }} - - - - - {{item}} - 自定义 - - - - - - - - \ No newline at end of file diff --git a/pages/recharge/index.wxss b/pages/recharge/index.wxss deleted file mode 100644 index a62e17e..0000000 --- a/pages/recharge/index.wxss +++ /dev/null @@ -1,62 +0,0 @@ -/* pages/recharge/index.wxss */ -.moneyBoxs { - margin-top: 32rpx; - display: flex; - justify-content: space-between; - align-items: center; - flex-wrap: wrap; -} - -.moneyBox { - width: 30%; - height: 140rpx; - display: flex; - justify-content: center; - align-items: center; - margin-bottom: 24rpx; -} - -.chooseMeter { - display: flex; - align-items: center; - margin-top: 10rpx; -} - -.selectMeter { - margin-left: 24rpx; -} - -.operate { - margin-top: 24rpx; -} - -.input { - height: 40rpx; - width: 400rpx; - line-height: 40rpx; - border-radius: 20rpx; - padding: 12rpx 14rpx 16rpx; - /* border: 1rpx solid #ccc; */ -} - -.customInput { - padding: 16rpx 24rpx; -} - -.gridTitle { - margin-bottom: 24rpx; -} - -.colBottom { - margin-top: 40rpx; -} - -.title { - font-weight: 600; - font-size: 40rpx; - margin-bottom: 20rpx; -} - -.content { - font-size: 32rpx; -} \ No newline at end of file diff --git a/pages/rechargeDetail/index.js b/pages/rechargeDetail/index.js index cd5ec8a..b4be760 100644 --- a/pages/rechargeDetail/index.js +++ b/pages/rechargeDetail/index.js @@ -33,42 +33,57 @@ Page({ }) }, record() { - const { detail } = this.data; - wx.showModal({ - title: '提示', - content: '为了您更好的体验,请复制链接,通过电脑浏览器打开下载', - showCancel: true, - cancelText: '关闭', - confirmText: '复制链接', - - complete: (res) => { - if (res.confirm) { - const result = wx.getAccountInfoSync(); - const { envVersion } = result.miniProgram; - let api = "" - switch (envVersion) { - // 开发版 - case 'develop': - wx.setClipboardData({ - data: `http://1.92.72.5:8080/recharge-print/?id=${detail.id}`, - }) - break; - // 体验版 - case 'trial': - wx.setClipboardData({ - data: `http://1.92.72.5:8080/recharge-print/?id=${detail.id}`, - }) - break; - // 正式版 - case 'release': - wx.setClipboardData({ - data: `https://zgd.hbhcbn.com/recharge-print/?id=${detail.id}`, - }) - break; - } - + const handleDownload = () => { + return new Promise((resolve, rej) => { + const { detail } = this.data; + const result = wx.getAccountInfoSync(); + const { envVersion } = result.miniProgram; + let api = "" + switch (envVersion) { + // 开发版 + case 'develop': + api = `http://localhost:9001`; + // api = `https://zgd.hbhcbn.com/recharge-print-api-test`; + break; + // 体验版 + case 'trial': + api = `https://zgd.hbhcbn.com/recharge-print-api-test`; + break; + // 正式版 + case 'release': + api = `https://zgd.hbhcbn.com/recharge-print-api`; + break; } - } + console.log("api", `${api}/${detail.id}`) + wx.downloadFile({ + url: `${api}/${detail.id}`, + success: (res) => { + console.log('res', res) + if (res.statusCode === 200) { + if (!res.tempFilePath) { + alertError("获取文件失败") + rej() + return; + } + wx.openDocument({ + filePath: res.tempFilePath, + fileType: [ "pdf"], // 3. 这个必须写合法类型,不然下载不了 !!! + success: function (res) { + resolve() + }, + fail: function (e) { + alertError("打开失败") + console.log('打开失败错误为', e) + rej() + } + }) + } + } + }) + }) + } + loadingFunc(async () => { + await handleDownload(); }) }, back() { diff --git a/pages/rechargeRecord/index.wxml b/pages/rechargeRecord/index.wxml index 73ac1df..dac645a 100644 --- a/pages/rechargeRecord/index.wxml +++ b/pages/rechargeRecord/index.wxml @@ -7,11 +7,13 @@ {{ meterCode }} - 全部 + 全部电表 - - 合计: {{amount}}元 + + {{ typeText }} + 全部类型 + diff --git a/service/public.js b/service/public.js new file mode 100644 index 0000000..f2dd5eb --- /dev/null +++ b/service/public.js @@ -0,0 +1,23 @@ +import apis from '../utils/request'; +import { getConfigByEnv } from "../utils/index" +const { GET, POST, PUT, DELETE } = apis + +export const uploadFile = (filePath) => { + const { api } = getConfigByEnv(); + return new Promise((resolve, reject) => { + wx.uploadFile({ + filePath: filePath, + name: 'file', + url: `${api}/file/upload`, + header: { + authorization: 'Bearer ' + wx.getStorageSync("token") + }, + success: (res) => { + resolve(res); + }, + fail: (err) => { + reject(err); + } + }) + }) +} \ No newline at end of file diff --git a/utils/index.js b/utils/index.js index 87f675e..2cc3cbe 100644 --- a/utils/index.js +++ b/utils/index.js @@ -45,7 +45,8 @@ export function getConfigByEnv() { switch (envVersion) { // 开发版 case 'develop': - api = "http://localhost:8000" + // api = "http://localhost:8000" + api = "https://zgd.hbhcbn.com/api3" // api = "https://zgd.hbhcbn.com/api3" // api = "https://zgd.hbhcbn.com/wxApi" // api = "http://127.0.0.1:4523/m1/4143821-0-default" @@ -247,4 +248,9 @@ export function getPageUrl() { const currentPage = pages[pages.length-1] //获取当前页面的对象 const url = currentPage.route //当前页面url return url +} + +/** 根据文件路径获取文件名 */ +export function getFileName(path) { + return path.slice(path.lastIndexOf("/") + 1, -1) } \ No newline at end of file diff --git a/utils/request.js b/utils/request.js index 3b624fd..1d6ed2c 100644 --- a/utils/request.js +++ b/utils/request.js @@ -85,6 +85,10 @@ const parseResponse = function (response, url) { // const { statusCode } = response; const { code } = response?.data || {}; console.log('url', url,'code', code, 'response.data', response.data) + if (!code) { + alertError("服务异常") + return + } if (code === 401) { const currentUrl = getPageUrl() From 17a72fd674406d5f273154b7f8ad34c3cd29e436 Mon Sep 17 00:00:00 2001 From: qiaomu <3520484422@qq.com> Date: Tue, 3 Sep 2024 09:59:49 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utils/index.js b/utils/index.js index 2cc3cbe..a9359ec 100644 --- a/utils/index.js +++ b/utils/index.js @@ -45,8 +45,8 @@ export function getConfigByEnv() { switch (envVersion) { // 开发版 case 'develop': - // api = "http://localhost:8000" - api = "https://zgd.hbhcbn.com/api3" + api = "http://localhost:8000" + // api = "https://zgd.hbhcbn.com/api3" // api = "https://zgd.hbhcbn.com/api3" // api = "https://zgd.hbhcbn.com/wxApi" // api = "http://127.0.0.1:4523/m1/4143821-0-default" From 9a6c4d30f46ef9adaae0e71507dcac4643e56cbd Mon Sep 17 00:00:00 2001 From: qiaomu <3520484422@qq.com> Date: Thu, 5 Sep 2024 14:05:14 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=B8=93=E5=8C=BA?= =?UTF-8?q?=EF=BC=8C=E8=B0=83=E6=95=B4=E5=88=86=E9=A1=B5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.json | 11 +- assets/tabbar/special.png | Bin 0 -> 10317 bytes assets/tabbar/special_select.png | Bin 0 -> 10662 bytes components/pagination/index.wxml | 1 - pages/encyclopedia/components/item/index.js | 59 +++++++++++ pages/encyclopedia/components/item/index.json | 9 ++ pages/encyclopedia/components/item/index.wxml | 15 +++ pages/encyclopedia/components/item/index.wxss | 1 + pages/encyclopedia/index.js | 87 ++++++++++++++++ pages/encyclopedia/index.json | 9 ++ pages/encyclopedia/index.wxml | 7 ++ pages/encyclopedia/index.wxss | 1 + pages/encyclopediaDetail/index.js | 77 ++++++++++++++ pages/encyclopediaDetail/index.json | 6 ++ pages/encyclopediaDetail/index.wxml | 6 ++ pages/encyclopediaDetail/index.wxss | 14 +++ pages/handleLogin/index.js | 6 +- pages/handleLogin/index.wxml | 2 +- pages/home/index.js | 4 +- pages/special/index.js | 96 ++++++++++++++++++ pages/special/index.json | 9 ++ pages/special/index.wxml | 11 ++ pages/special/index.wxss | 6 ++ service/system.js | 20 ++++ 24 files changed, 448 insertions(+), 9 deletions(-) create mode 100644 assets/tabbar/special.png create mode 100644 assets/tabbar/special_select.png create mode 100644 pages/encyclopedia/components/item/index.js create mode 100644 pages/encyclopedia/components/item/index.json create mode 100644 pages/encyclopedia/components/item/index.wxml create mode 100644 pages/encyclopedia/components/item/index.wxss create mode 100644 pages/encyclopedia/index.js create mode 100644 pages/encyclopedia/index.json create mode 100644 pages/encyclopedia/index.wxml create mode 100644 pages/encyclopedia/index.wxss create mode 100644 pages/encyclopediaDetail/index.js create mode 100644 pages/encyclopediaDetail/index.json create mode 100644 pages/encyclopediaDetail/index.wxml create mode 100644 pages/encyclopediaDetail/index.wxss create mode 100644 pages/special/index.js create mode 100644 pages/special/index.json create mode 100644 pages/special/index.wxml create mode 100644 pages/special/index.wxss diff --git a/app.json b/app.json index e20360c..124079b 100644 --- a/app.json +++ b/app.json @@ -18,7 +18,10 @@ "pages/rechargeDetail/index", "pages/updateInvoice/index", "pages/rechargeWay/index", - "pages/publicTransfer/index" + "pages/publicTransfer/index", + "pages/special/index", + "pages/encyclopedia/index", + "pages/encyclopediaDetail/index" ], "subPackages": [ { @@ -38,6 +41,12 @@ "iconPath": "/assets/tabbar/home.png", "selectedIconPath": "/assets/tabbar/home_select.png" }, + { + "pagePath": "pages/special/index", + "text": "专区", + "iconPath": "/assets/tabbar/special.png", + "selectedIconPath": "/assets/tabbar/special_select.png" + }, { "pagePath": "pages/my/index", "text": "我的", diff --git a/assets/tabbar/special.png b/assets/tabbar/special.png new file mode 100644 index 0000000000000000000000000000000000000000..475ff5e7802b4ea6df89aa1da6042ad4592fdd87 GIT binary patch literal 10317 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 literal 0 HcmV?d00001 diff --git a/assets/tabbar/special_select.png b/assets/tabbar/special_select.png new file mode 100644 index 0000000000000000000000000000000000000000..5fb8c95c6b7b6edca131def662f9c97a82d24700 GIT binary patch literal 10662 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 BjGO=f literal 0 HcmV?d00001 diff --git a/components/pagination/index.wxml b/components/pagination/index.wxml index 4005047..4d599db 100644 --- a/components/pagination/index.wxml +++ b/components/pagination/index.wxml @@ -14,4 +14,3 @@ -{{totalPage}} diff --git a/pages/encyclopedia/components/item/index.js b/pages/encyclopedia/components/item/index.js new file mode 100644 index 0000000..ac915a0 --- /dev/null +++ b/pages/encyclopedia/components/item/index.js @@ -0,0 +1,59 @@ +import { getEncyclopediaList } from "../../../../service/system"; +import { alertInfo, alertSuccess, loadingFunc, wxLogin } from "../../../../utils/index"; +import request from "../../../../utils/request" +const { OK } = request; +// pages/encyclopedia/components/item/index.js +Component({ + + /** + * 组件的属性列表 + */ + properties: { + id: String + }, + + /** + * 组件的初始数据 + */ + data: { + page: 1, + list: [], + }, + lifetimes: { + attached() { + console.log('----------=========') + this.getData(); + } + }, + /** + * 组件的方法列表 + */ + methods: { + async getData() { + console.log(this.data.page, this.data.id, this.id) + const page = this.data.page; + const id = this.id; + const { code, data, message, total } = await getEncyclopediaList(id, page); + if (code !== OK) { + alertInfo(message) + return; + } + this.setData({ list: data, totalPage: Math.ceil(total / 20) }); + }, + jumpToDetail(e) { + console.log('e', e) + wx.navigateTo({ + url: `/pages/encyclopediaDetail/index?id=${e.currentTarget.dataset.data.id}`, + }) + }, + async onChangePage(e) { + const page = e.detail.currentIndex; + const that = this; + this.setData({ + page + }, () => { + that.getData(); + }) + }, + } +}) \ No newline at end of file diff --git a/pages/encyclopedia/components/item/index.json b/pages/encyclopedia/components/item/index.json new file mode 100644 index 0000000..be620b1 --- /dev/null +++ b/pages/encyclopedia/components/item/index.json @@ -0,0 +1,9 @@ +{ + "component": true, + "usingComponents": { + "pagination": "/components/pagination/index", + "navigator": "/components/navigator/index", + "van-field": "@vant/weapp/field/index" + }, + "navigationStyle": "custom" +} \ No newline at end of file diff --git a/pages/encyclopedia/components/item/index.wxml b/pages/encyclopedia/components/item/index.wxml new file mode 100644 index 0000000..1e33446 --- /dev/null +++ b/pages/encyclopedia/components/item/index.wxml @@ -0,0 +1,15 @@ + + + \ No newline at end of file diff --git a/pages/encyclopedia/components/item/index.wxss b/pages/encyclopedia/components/item/index.wxss new file mode 100644 index 0000000..df85e8e --- /dev/null +++ b/pages/encyclopedia/components/item/index.wxss @@ -0,0 +1 @@ +/* pages/encyclopedia/components/item/index.wxss */ \ No newline at end of file diff --git a/pages/encyclopedia/index.js b/pages/encyclopedia/index.js new file mode 100644 index 0000000..772df41 --- /dev/null +++ b/pages/encyclopedia/index.js @@ -0,0 +1,87 @@ +// pages/encyclopedia/index.js +import { getCategoryList } from '../../service/system' +import { alertInfo, alertSuccess, loadingFunc, wxLogin } from "../../utils/index"; +import request from "../../utils/request" +const { OK } = request; +Page({ + + /** + * 页面的初始数据 + */ + data: { + categoryList: [], + active: 0, + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + this.init(); + }, + + async init() { + const { data, code, message } = await getCategoryList(); + if (code !== OK) { + alertInfo(message); + return + } + this.setData({ + categoryList: data + }) + }, + onChange(e) { + console.log('e', e) + this.setData({ + active: e.detail.index, + }) + }, + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/pages/encyclopedia/index.json b/pages/encyclopedia/index.json new file mode 100644 index 0000000..306142e --- /dev/null +++ b/pages/encyclopedia/index.json @@ -0,0 +1,9 @@ +{ + "usingComponents": { + "navigator": "/components/navigator/index", + "van-tab": "@vant/weapp/tab/index", + "van-tabs": "@vant/weapp/tabs/index", + "item": "./components/item/index" + }, + "navigationStyle": "custom" +} \ No newline at end of file diff --git a/pages/encyclopedia/index.wxml b/pages/encyclopedia/index.wxml new file mode 100644 index 0000000..93d41df --- /dev/null +++ b/pages/encyclopedia/index.wxml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/pages/encyclopedia/index.wxss b/pages/encyclopedia/index.wxss new file mode 100644 index 0000000..e67e696 --- /dev/null +++ b/pages/encyclopedia/index.wxss @@ -0,0 +1 @@ +/* pages/encyclopedia/index.wxss */ \ No newline at end of file diff --git a/pages/encyclopediaDetail/index.js b/pages/encyclopediaDetail/index.js new file mode 100644 index 0000000..2eacec4 --- /dev/null +++ b/pages/encyclopediaDetail/index.js @@ -0,0 +1,77 @@ +// pages/encyclopediaDetail/index.js +import { getEncyclopediaDetail } from "../../service/system"; +import { alertInfo, alertSuccess, loadingFunc, wxLogin } from "../../utils/index"; +import request from "../../utils/request" +const { OK } = request; +Page({ + + /** + * 页面的初始数据 + */ + data: { + detail: {}, + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + this.init(options.id) + }, + async init(id) { + const { code, data, message } = await getEncyclopediaDetail(id); + if (code !== OK) { + alertInfo(message) + return; + } + this.setData({ detail: data }); + }, + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/pages/encyclopediaDetail/index.json b/pages/encyclopediaDetail/index.json new file mode 100644 index 0000000..a6d770b --- /dev/null +++ b/pages/encyclopediaDetail/index.json @@ -0,0 +1,6 @@ +{ + "usingComponents": { + "navigator": "/components/navigator/index" + }, + "navigationStyle": "custom" +} \ No newline at end of file diff --git a/pages/encyclopediaDetail/index.wxml b/pages/encyclopediaDetail/index.wxml new file mode 100644 index 0000000..691d43d --- /dev/null +++ b/pages/encyclopediaDetail/index.wxml @@ -0,0 +1,6 @@ + + + + {{detail.title}} + {{detail.content}} + diff --git a/pages/encyclopediaDetail/index.wxss b/pages/encyclopediaDetail/index.wxss new file mode 100644 index 0000000..c5e5a07 --- /dev/null +++ b/pages/encyclopediaDetail/index.wxss @@ -0,0 +1,14 @@ +/* pages/encyclopediaDetail/index.wxss */ +.contentWrapper { + padding: 30rpx +} +.title { + margin-top: 12rpx; + font-weight: 600; + font-size: 48rpx; +} + +.content { + margin-top: 40rpx; + +} \ No newline at end of file diff --git a/pages/handleLogin/index.js b/pages/handleLogin/index.js index 87ab42f..2ac8d9c 100644 --- a/pages/handleLogin/index.js +++ b/pages/handleLogin/index.js @@ -22,11 +22,7 @@ Page({ * 生命周期函数--监听页面加载 */ onLoad(options) { - const { canBack } = options - console.log('cnaback', canBack) - if (canBack === 'false') { - this.setData({ canBack: false }) - } + }, onChangeName(e) { this.setData({ diff --git a/pages/handleLogin/index.wxml b/pages/handleLogin/index.wxml index 67a3e47..d23c8a9 100644 --- a/pages/handleLogin/index.wxml +++ b/pages/handleLogin/index.wxml @@ -1,6 +1,6 @@ - + diff --git a/pages/home/index.js b/pages/home/index.js index 25fae78..fa89ba1 100644 --- a/pages/home/index.js +++ b/pages/home/index.js @@ -269,9 +269,11 @@ Page({ } if (!data?.length) { alertInfo("尚无信息") + setTimeout(() => { + wx.clearStorageSync() wx.redirectTo({ - url: '/pages/handleLogin/index?back=false', + url: '/pages/login/index', }) }, 500) return; diff --git a/pages/special/index.js b/pages/special/index.js new file mode 100644 index 0000000..6b17e42 --- /dev/null +++ b/pages/special/index.js @@ -0,0 +1,96 @@ +// pages/special/index.js +import { getServicesList } from '../../service/system' +import request from '../../utils/request' +import { alertInfo } from '../../utils/index' +const { OK } = request; + +Page({ + + /** + * 页面的初始数据 + */ + data: { + servicesList: [] + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + async init() { + const { code, message, data } = await getServicesList() + if (code !== OK) { + alertInfo(message); + return; + } + this.setData({ servicesList: data }) + }, + clickService(e) { + console.log('e', e) + const { type, value } = e.currentTarget.dataset.data; + switch(type) { + case 0: + const [appId, path] = value.split(",") + wx.navigateToMiniProgram({ + appId: appId, + path: path + }) + break; + case 1: + wx.navigateTo({ + url: value, + }) + break; + } + }, + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + this.init() + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/pages/special/index.json b/pages/special/index.json new file mode 100644 index 0000000..73912f2 --- /dev/null +++ b/pages/special/index.json @@ -0,0 +1,9 @@ +{ + "usingComponents": { + "navigator": "/components/navigator/index", + "van-row": "@vant/weapp/row/index", + "van-col": "@vant/weapp/col/index", + "van-image": "@vant/weapp/image/index" + }, + "navigationStyle": "custom" +} \ No newline at end of file diff --git a/pages/special/index.wxml b/pages/special/index.wxml new file mode 100644 index 0000000..feca8d5 --- /dev/null +++ b/pages/special/index.wxml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/pages/special/index.wxss b/pages/special/index.wxss new file mode 100644 index 0000000..4245294 --- /dev/null +++ b/pages/special/index.wxss @@ -0,0 +1,6 @@ +/* pages/special/index.wxss */ +.image { + width: 100%; + height: auto; + padding: 40rpx; +} \ No newline at end of file diff --git a/service/system.js b/service/system.js index b018172..db5407a 100644 --- a/service/system.js +++ b/service/system.js @@ -29,4 +29,24 @@ export const deleteOption = async function() { // 提交意见反馈 export const aboutUs = async function() { return await GET(`/wx/aboutUs`); +} + +// 获取特色服务列表 +export const getServicesList = async function() { + return await GET(`/wx/getServicesList?status=2`); +} + +// 获取分类列表 +export const getCategoryList = async function() { + return await GET(`/wx/getCategoryList?status=2`); +} + +// 获取分类列表 +export const getEncyclopediaList = async function(categoryId, page) { + return await GET(`/wx/getEncyclopedia?status=2&page=${page}&categoryId=${categoryId}`); +} + +// 获取分类列表 +export const getEncyclopediaDetail = async function(id) { + return await GET(`/wx/getEncyclopediaDetail/${id}`); } \ No newline at end of file From 927b7a6470ac9338661f38f8332179a97caf2adc Mon Sep 17 00:00:00 2001 From: qiaomu <3520484422@qq.com> Date: Mon, 9 Sep 2024 15:57:59 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=AF=B9=E5=85=AC?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E6=93=8D=E4=BD=9C=E5=92=8C=E4=B8=93=E5=8C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/encyclopedia/components/item/index.js | 1 - pages/encyclopedia/components/item/index.json | 3 +- pages/encyclopedia/components/item/index.wxml | 34 +++++----- pages/encyclopedia/index.wxml | 2 +- pages/home/index.js | 2 +- pages/publicTransfer/index.js | 63 ++++++++++++------- pages/rechargeDetail/index.js | 3 +- pages/special/index.js | 3 +- pages/special/index.wxml | 2 +- service/public.js | 20 ++++++ service/recharge.js | 5 ++ utils/system.js | 4 +- 12 files changed, 97 insertions(+), 45 deletions(-) diff --git a/pages/encyclopedia/components/item/index.js b/pages/encyclopedia/components/item/index.js index ac915a0..46a8046 100644 --- a/pages/encyclopedia/components/item/index.js +++ b/pages/encyclopedia/components/item/index.js @@ -30,7 +30,6 @@ Component({ */ methods: { async getData() { - console.log(this.data.page, this.data.id, this.id) const page = this.data.page; const id = this.id; const { code, data, message, total } = await getEncyclopediaList(id, page); diff --git a/pages/encyclopedia/components/item/index.json b/pages/encyclopedia/components/item/index.json index be620b1..ad53950 100644 --- a/pages/encyclopedia/components/item/index.json +++ b/pages/encyclopedia/components/item/index.json @@ -3,7 +3,8 @@ "usingComponents": { "pagination": "/components/pagination/index", "navigator": "/components/navigator/index", - "van-field": "@vant/weapp/field/index" + "van-field": "@vant/weapp/field/index", + "empty": "/components/empty/index" }, "navigationStyle": "custom" } \ No newline at end of file diff --git a/pages/encyclopedia/components/item/index.wxml b/pages/encyclopedia/components/item/index.wxml index 1e33446..e3ba148 100644 --- a/pages/encyclopedia/components/item/index.wxml +++ b/pages/encyclopedia/components/item/index.wxml @@ -1,15 +1,21 @@ - - \ No newline at end of file + + + + + + + + \ No newline at end of file diff --git a/pages/encyclopedia/index.wxml b/pages/encyclopedia/index.wxml index 93d41df..a00ca80 100644 --- a/pages/encyclopedia/index.wxml +++ b/pages/encyclopedia/index.wxml @@ -1,6 +1,6 @@ - + diff --git a/pages/home/index.js b/pages/home/index.js index fa89ba1..c5c6793 100644 --- a/pages/home/index.js +++ b/pages/home/index.js @@ -330,7 +330,7 @@ Page({ case "对公支付": const { user, money, meter, tenement, park } = this.data; wx.navigateTo({ - url: `/pages/publicTransfer/index?money=${money}&meterId=${meter.id}&tenementId=${tenement.id}&tenementName=${tenement.name}`, + url: `/pages/publicTransfer/index?money=${money}&meterId=${meter.id}&tenementId=${tenement.id}&tenementName=${tenement.name}&park=${park.id}`, }) break; default: diff --git a/pages/publicTransfer/index.js b/pages/publicTransfer/index.js index 0ff22e1..bdae1ef 100644 --- a/pages/publicTransfer/index.js +++ b/pages/publicTransfer/index.js @@ -1,7 +1,8 @@ // pages/publicTransfer/index.js import { getMeterDetail, getMeterList, getTenementMeterList } from "../../service/meter"; -import { uploadFile } from "../../service/public"; -import { alertInfo, loadingFunc, getFileName } from "../../utils/index"; +import { createPublicTopUp } from '../../service/recharge' +import { uploadFile, uploadPublicFile } from "../../service/public"; +import { alertInfo, loadingFunc, getFileName, alertSuccess } from "../../utils/index"; import request from '../../utils/request'; const { OK } = request; @@ -19,11 +20,10 @@ Page({ * 生命周期函数--监听页面加载 */ onLoad(options) { - const { money, meterId, tenementId, tenementName } = options; - console.log('money', money, 'meterId', meterId) - this.init({ money, meterId, tenementId, tenementName }); + const { money, meterId, tenementId, tenementName, park } = options; + this.init({ money, meterId, tenementId, tenementName, park }); }, - async init({ money, meterId, tenementId, tenementName }) { + async init({ money, meterId, tenementId, tenementName, park }) { const { code, message, data } = await getMeterDetail({ tenement: tenementId, id: meterId }); if (code !== OK) { alertInfo(message); @@ -34,36 +34,55 @@ Page({ money, tenementName, tenementId, + park + }) + }, + async upload(res) { + const result = await uploadPublicFile(res.tempFiles[0]?.tempFilePath) + if (result.statusCode !== 200) { + alertInfo("上传失败") + return; + } + const data = JSON.parse(result.data) + this.setData({ + fileList: [{ url: data.data, name: getFileName(data.data) }] }) }, onUpload() { - const that = this; wx.chooseMedia({ count: 1, // 可以选择文件的数量 mediaType: ['image'], // 可以选择文件的类型,这里只允许上传文件 sourceType: ['album', 'camera'], success: (res) => { - (loadingFunc(async () => { - const result = await uploadFile(res.tempFiles[0]?.tempFilePath) - console.log('result', result) - if (result.statusCode !== 200) { - alertInfo("上传失败") - return; - } - const data = JSON.parse(result.data) - this.setData({ - fileList: [{ url: data.data, name: getFileName(data.data) }] - }) - }))() + loadingFunc(async () => { + await this.upload(res) + }) } }); }, - handleSubmit() { - const { fileList } = this.data; - if (!fileList.length) { + async handleSubmit() { + const { fileList, meter, money, park, tenementId } = this.data; + if (!fileList?.length) { alertInfo("请上传凭证") return; } + const { code, message } = await createPublicTopUp({ + id: meter.id, + tenement: tenementId, + money: Number(money), + park, + vouch: fileList[0].url + }) + if (code !== OK) { + alertInfo(message) + return; + } + alertSuccess("已提交,待审核") + setTimeout(() => { + wx.redirectTo({ + url: '/pages/home/index', + }) + }, 600) }, handleDelete() { this.setData({ fileList: [] }) diff --git a/pages/rechargeDetail/index.js b/pages/rechargeDetail/index.js index b4be760..c36b4d3 100644 --- a/pages/rechargeDetail/index.js +++ b/pages/rechargeDetail/index.js @@ -42,7 +42,8 @@ Page({ switch (envVersion) { // 开发版 case 'develop': - api = `http://localhost:9001`; + // api = `http://localhost:9001`; + api = `https://zgd.hbhcbn.com/recharge-print-api-test`; // api = `https://zgd.hbhcbn.com/recharge-print-api-test`; break; // 体验版 diff --git a/pages/special/index.js b/pages/special/index.js index 6b17e42..35069e2 100644 --- a/pages/special/index.js +++ b/pages/special/index.js @@ -35,7 +35,8 @@ Page({ const [appId, path] = value.split(",") wx.navigateToMiniProgram({ appId: appId, - path: path + path: path, + envVersion: "trial" }) break; case 1: diff --git a/pages/special/index.wxml b/pages/special/index.wxml index feca8d5..1f0588e 100644 --- a/pages/special/index.wxml +++ b/pages/special/index.wxml @@ -4,7 +4,7 @@ - + diff --git a/service/public.js b/service/public.js index f2dd5eb..54e2045 100644 --- a/service/public.js +++ b/service/public.js @@ -20,4 +20,24 @@ export const uploadFile = (filePath) => { } }) }) +} + +export const uploadPublicFile = (filePath) => { + const { api } = getConfigByEnv(); + return new Promise((resolve, reject) => { + wx.uploadFile({ + filePath: filePath, + name: 'file', + url: `${api}/wx/public/upload`, + header: { + authorization: wx.getStorageSync("token") + }, + success: (res) => { + resolve(res); + }, + fail: (err) => { + reject(err); + } + }) + }) } \ No newline at end of file diff --git a/service/recharge.js b/service/recharge.js index 014cd8a..4643df3 100644 --- a/service/recharge.js +++ b/service/recharge.js @@ -20,4 +20,9 @@ export const getRechargeDetail = async function(rid) { // 退费 export const returnFee = async function(data) { return await POST(`/wx/return`, data); +} + +// 创建对公 +export const createPublicTopUp = async function(data) { + return await POST(`/wx/createPublicTopUp`, data); } \ No newline at end of file diff --git a/utils/system.js b/utils/system.js index c54ae76..c3e0002 100644 --- a/utils/system.js +++ b/utils/system.js @@ -11,11 +11,11 @@ export const getDot = async () => { const { code, message, data } = await getUnReadApproveNumber(); if (data > 0) { wx.showTabBarRedDot({ - index: 1, + index: 2, }) } else { wx.hideTabBarRedDot({ - index: 1, + index: 2, }) } return data;