diff --git a/app.json b/app.json index 6a86cb9..e4be608 100644 --- a/app.json +++ b/app.json @@ -24,7 +24,8 @@ "pages/mine/mineAccount/mineMsgNotice/mineMsgNotice", "pages/copyright/refund/refund", "pages/copyright/repair/repair", - "pages/copyright/applyRepair/applyRepair" + "pages/copyright/applyRepair/applyRepair", + "pages/copyright/applyRefund/applyRefund" ], "window": { "navigationBarTextStyle": "black", diff --git a/app.wxss b/app.wxss index 3754f3c..9db0bb0 100644 --- a/app.wxss +++ b/app.wxss @@ -232,8 +232,9 @@ .single-line-front { white-space: nowrap; overflow: hidden; - direction: rtl; text-overflow: ellipsis; + direction: rtl; + text-align: left; } .multiple-3-ellipsis { diff --git a/net/api/projectApi.js b/net/api/projectApi.js index 3a363c2..3a70fcf 100644 --- a/net/api/projectApi.js +++ b/net/api/projectApi.js @@ -22,8 +22,10 @@ const apiPath = { canProRepairList: '/api/proj/correction/apply/listpage-proj-unapply/self', //可以补正的项目列表 cancelProPepair: '/api/proj/correction/apply/cancel/self/{projCorrectionApplyId}', //取消补正 applyProRepair: '/api/proj/correction/apply/save', //申请补正 - - + refundProList: '/api/proj/refund/apply/listpage/self', //我的退款项目 + canRefundProList: '/api/proj/refund/apply/listpage-proj-unapply/self', //可以退款的项目 + applyRefundPro: '/api/proj/refund/apply/save', //申请退款 + cancelRefundPro: '/api/proj/refund/apply/cancel/self/{projRefundApplyId}', //取消申请退款 } class ProjectService { //首页介绍数量 @@ -104,6 +106,22 @@ class ProjectService { static doGetCanProRepairList(data) { return request(apiPath.canProRepairList, "GET", data) } + //退款项目列表 + static doGetMineRefundProList(data) { + return request(apiPath.refundProList, "GET", data) + } + static doGetCanRefundProList(data) { + return request(apiPath.canRefundProList, "GET", data) + } + //取消申请退款 + static doCancelRefundPro(id) { + const path = apiPath.cancelRefundPro.replace('{projRefundApplyId}', id) + return request(path, "PUT") + } + //提交申请退款 + static doApplyRefundPro(data) { + return request(apiPath.applyRefundPro, "POST", data) + } } export default ProjectService; \ No newline at end of file diff --git a/pages/copyright/applyRefund/applyRefund.js b/pages/copyright/applyRefund/applyRefund.js new file mode 100644 index 0000000..86111b8 --- /dev/null +++ b/pages/copyright/applyRefund/applyRefund.js @@ -0,0 +1,305 @@ +// pages/copyright/applyRepair/applyRepair.js +import { + uploadImgUrl +} from '../../../net/http' +import ProApi from '../../../net/api/projectApi' +const Cache = require('../../../utils/storage') +const data = require('../../../utils/data') +const app = getApp() +Page({ + /** + * 页面的初始数据 + */ + data: { + imgAssets: app.globalData.imgAssetsUrl, + msgHint: '', + msgType: '', + msgShow: false, + selPro: null, + selType: null, + files: [], + proList: [], + tempSelPro: null, + typeList: data.kindList, + showSelPro: false, + showSelType: false, + tempSelType: null, + remark: '', + proKeywords: '', + proPageData: { + page: 1, + rows: 10, + keywords: '' + }, + listRefreshTrig: false, + loadingState: 'loading', + hasMore: true, + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + wx.setNavigationBarTitle({ + title: '退款申请', + }) + wx.setNavigationBarColor({ + frontColor: '#000000', // 必写项,字体颜色仅支持#ffffff和#000000 + backgroundColor: '#F0F0F0', // 传递的颜色值,仅支持十六进制颜色 + animation: { // 可选项 + duration: 500, + timingFunc: 'easeIn' + } + }) + this.setData({ + selectFile: this.selectFile.bind(this), + uploadFile: this.uploadFile.bind(this) + }) + //获取可以申请补正的列表 + this.getCanRepairList(false) + }, + inputKeywords(e) { + this.setData({ + proKeywords: e.detail.value + }) + }, + clearSearch() { + this.setData({ + proKeywords: '' + }) + this.doRefreshList() + }, + //搜索项目 + doSearchKeyWord() { + this.doRefreshList() + }, + doRefreshList() { + const _self = this + _self.setData({ + listRefreshTrig: true, + loadingState: 'loading', + hasMore: true, + isLoadMore: false, + 'proPageData.page': 1, + 'proPageData.keywords': _self.data.proKeywords + }) + _self.getCanRepairList(true) + }, + doLoadMore() { + //判断是否正在加载中 与是否存在更多数据 + const _self = this + if (_self.data.isLoadMore || !_self.data.hasMore) { + return + } + _self.setData({ + isLoadMore: true, + 'proPageData.page': ++_self.data.proPageData.page, + 'proPageData.keywords': _self.data.proKeywords + }) + _self.getCanRepairList(false) + }, + //获取可以补正的项目列表 + getCanRepairList(isRefresh) { + const _self = this + _self.setData({ + proList: isRefresh ? [] : _self.data.proList, + loadingState: isRefresh ? 'loading' : '' + }) + ProApi.doGetCanRefundProList(_self.data.proPageData) + .then(res => { + console.log(res) + var status = 'success' + status = res.rows && res.rows.length > 0 ? 'success' : 'empty' + _self.setData({ + loadingState: isRefresh ? status : '', + proList: _self.data.proList.concat(res.rows), + listRefreshTrig: false, + isLoadMore: false + }) + _self.setData({ + hasMore: _self.data.proList.length < res.total + }) + }) + .catch(err => { + _self.setData({ + loadingState: 'error', + listRefreshTrig: false, + isLoadMore: false, + hasMore: true + }) + }) + }, + //显示补正软著选择 + showSelProDialog() { + const _self = this + if (_self.data.proList.length <= 0) { + _self.getCanRepairList(true) + } else { + _self.setData({ + showSelPro: true, + tempSelPro: _self.data.selPro + }) + } + }, + chooseType(e) { + this.setData({ + tempSelType: e.currentTarget.dataset.value + }) + }, + choosePro(e) { + this.setData({ + tempSelPro: e.currentTarget.dataset.value + }) + }, + //关闭补正软件选择 + closeDialog(e) { + this.setData({ + showSelPro: false, + showSelType: false + }) + }, + showSelTypeDialog() { + this.setData({ + showSelType: true, + }) + }, + confirmSelType() { + this.setData({ + showSelType: false, + selType: this.data.tempSelType, + tempSelType: null + }) + }, + //确定选择补正软著 + confirmSelPro() { + this.setData({ + showSelPro: false, + selPro: this.data.tempSelPro, + tempSelPro: null + }) + }, + inputRemark(e) { + this.setData({ + remark: e.detail.value + }) + }, + deleteImage: function (e) { + var index = e.detail.index; + this.data.files.splice(index, 1); + }, + previewImage(e) { + wx.previewImage({ + current: e.currentTarget.id, + urls: this.data.files + }) + }, + selectFile(files) { + console.log('files', files) + }, + uploadFile(files) { + console.log(files) + const tempFilePaths = files.tempFilePaths; + const token = Cache.get('token') + const header = {} + if (token) { + header.Auth = `Bearer ${token}`; + } + + var that = this + for (let i = 0; i < tempFilePaths.length; i++) { + wx.uploadFile({ + url: uploadImgUrl, + header: header, + filePath: tempFilePaths[i], + name: 'image', + success(res) { + console.log(res) + let result = JSON.parse(res.data) + that.data.files.push(result.data) + }, + fail(err) { + console.log(err); + } + }) + } + + // 文件上传的函数,返回一个promise + return new Promise((resolve, reject) => { + var result = {}; + result['urls'] = tempFilePaths; + resolve(result); + }) + }, + //提交 + doApply() { + const legal = this.checkParams() + if (legal) { + const _self = this + wx.showLoading({ + title: '提交中...', + }) + const ids = _self.data.files.map(item => item.fileId).join(','); + const data = { + projId: _self.data.selPro.projId, + refundReason: _self.data.remark, + refundVoucher: ids + } + ProApi.doApplyRefundPro(data) + .then(res => { + wx.hideLoading() + _self.setData({ + msgHint: '提交成功,请耐心等待审核', + msgType: 'success', + msgShow: true + }) + setTimeout(() => { + _self.backPageRefresh() + }, 2000); + }) + .catch(err => { + wx.hideLoading() + _self.setData({ + msgHint: err.msg ? err.msg : '提交失败,请稍后重试', + msgType: 'error', + msgShow: true + }) + }) + } + }, + //校验参数 + checkParams() { + const _self = this + if (_self.data.selPro == null) { + _self.setData({ + msgHint: '请选择退款软著', + msgType: 'error', + msgShow: true + }) + return false + } + if (_self.data.remark == '') { + _self.setData({ + msgHint: '请输入退款原因', + msgType: 'error', + msgShow: true + }) + return false + } + if (_self.data.files.length <= 0) { + _self.setData({ + msgHint: '请上传退款凭证', + msgType: 'error', + msgShow: true + }) + return false + } + return true + }, + backPageRefresh() { + const _self = this + let pages = getCurrentPages(); + let beforePage = pages[pages.length - 2]; + beforePage.doRefreshList() + wx.navigateBack() + } +}) \ No newline at end of file diff --git a/pages/copyright/applyRefund/applyRefund.json b/pages/copyright/applyRefund/applyRefund.json new file mode 100644 index 0000000..b4824a0 --- /dev/null +++ b/pages/copyright/applyRefund/applyRefund.json @@ -0,0 +1,9 @@ +{ + "usingComponents": { + "mp-toptips": "weui-miniprogram/toptips/toptips", + "mp-half-screen-dialog": "weui-miniprogram/half-screen-dialog/half-screen-dialog", + "mp-uploader": "weui-miniprogram/uploader/uploader", + "container-loading": "/components/container-loading/container-loading", + "mp-loading": "weui-miniprogram/loading/loading" + } +} \ No newline at end of file diff --git a/pages/copyright/applyRefund/applyRefund.wxml b/pages/copyright/applyRefund/applyRefund.wxml new file mode 100644 index 0000000..7297228 --- /dev/null +++ b/pages/copyright/applyRefund/applyRefund.wxml @@ -0,0 +1,80 @@ + + + + + + + + + + + + 申请退款 + + 退款软著 + + {{selPro==null? '选择需要退款的软著' :selPro.projName}} + + + + + 退款原因 + + + + 退款凭证 + + + + + *上传完整的补正通知书或者完整的补正通知书的截图,要求右上方的流水号和右下方的补正通知书的日期都得完整显示 + + + + + 提交 + + + + + + + + + + + + + + + + + + + + + + + {{item.projName}} + + + {{item.applyContactName}} + {{item.projContext}} + {{item.gmtCreate}} + + + + + + + + + + + + + 确定 + + + + \ No newline at end of file diff --git a/pages/copyright/applyRefund/applyRefund.wxss b/pages/copyright/applyRefund/applyRefund.wxss new file mode 100644 index 0000000..c9912dc --- /dev/null +++ b/pages/copyright/applyRefund/applyRefund.wxss @@ -0,0 +1,236 @@ +/* pages/copyright/applyRepair/applyRepair.wxss */ +.apply-box { + margin-top: 20rpx; + display: flex; + flex-direction: column; + padding: 30rpx; + background-color: var(--white-color); + border-radius: 5rpx; +} + +.label { + font-size: 32rpx; + font-weight: bold; +} + +.apply-item-row { + display: flex; + flex-direction: row; + justify-content: space-between; +} + +.apply-item-column { + display: flex; + flex-direction: column; +} + +.apply-title { + font-size: 28rpx; + color: var(--text-color); + flex: 0.3; +} + +.apply-content { + font-size: 28rpx; + display: flex; + flex-direction: row; + align-items: center; + justify-content: flex-end; + flex: 0.7; +} + +.reason-content { + border-radius: 10rpx; + border: 1rpx solid var(--divider-color); + height: 120rpx; + font-size: 28rpx; + padding: 20rpx; +} + +.text-hint { + color: var(--text-gray-hint-color); +} + +.text-sel { + color: var(--text-color); +} + +.hint { + margin-top: 10rpx; + font-size: 26rpx; + color: var(--red-color); +} + +.pro-list-box { + display: flex; + flex-direction: column; +} + +.pro-list-item { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + background-color: var(--primary-color-light); + border-radius: 10rpx; + padding: 30rpx; +} + +.pro-list-item:nth-of-type(n+2) { + margin-top: 20rpx; +} + +.pro-list-item-left { + display: flex; + flex-direction: column; + flex: 1; + margin-left: 30rpx; +} + +.pro-list-item-left-title { + display: flex; + flex-direction: row; + justify-content: space-between; +} + +.pro-list-item-left-footer { + display: flex; + flex-direction: row; + justify-content: space-between; + margin-top: 20rpx; +} + +.pro-list-item-left-count { + font-size: 24rpx; + color: var(--text-color); + flex-wrap: nowrap; + margin-top: 4rpx; +} + +.pro-list-item-left-tag { + font-size: 24rpx; + color: var(--text-color); +} + +.pro-list-name { + font-size: 26rpx; + font-weight: bold; + flex: 1; +} + + +.search-container { + position: relative; + align-self: center; + border-radius: 5px; + background-color: var(--bg-gray-color); + padding: 5px; + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + width: 100%; +} + +.search-input { + box-sizing: border-box; + color: var(--text-color); + font-size: 28rpx; + text-align: center; + flex: 1; +} + +.search-input::after { + content: ''; + position: absolute; + left: 10px; + top: 50%; + transform: translateY(-50%); + width: 20px; + height: 20px; + margin-top: -1px; + background-size: cover; + background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSI2NCA2NCA4OTYgODk2IiB3aWR0aD0iMTQiIGhlaWdodD0iMTkiIHN0eWxlPSIiIGZpbHRlcj0ibm9uZSI+CiAgICAKICAgIDxnPgogICAgPHBhdGggZD0iTTkwOS42IDg1NC41TDY0OS45IDU5NC44QzY5MC4yIDU0Mi43IDcxMiA0NzkgNzEyIDQxMmMwLTgwLjItMzEuMy0xNTUuNC04Ny45LTIxMi4xLTU2LjYtNTYuNy0xMzItODcuOS0yMTIuMS04Ny45cy0xNTUuNSAzMS4zLTIxMi4xIDg3LjlDMTQzLjIgMjU2LjUgMTEyIDMzMS44IDExMiA0MTJjMCA4MC4xIDMxLjMgMTU1LjUgODcuOSAyMTIuMUMyNTYuNSA2ODAuOCAzMzEuOCA3MTIgNDEyIDcxMmM2NyAwIDEzMC42LTIxLjggMTgyLjctNjJsMjU5LjcgMjU5LjZhOC4yIDguMiAwIDAgMCAxMS42IDBsNDMuNi00My41YTguMiA4LjIgMCAwIDAgMC0xMS42ek01NzAuNCA1NzAuNEM1MjggNjEyLjcgNDcxLjggNjM2IDQxMiA2MzZzLTExNi0yMy4zLTE1OC40LTY1LjZDMjExLjMgNTI4IDE4OCA0NzEuOCAxODggNDEyczIzLjMtMTE2LjEgNjUuNi0xNTguNEMyOTYgMjExLjMgMzUyLjIgMTg4IDQxMiAxODhzMTE2LjEgMjMuMiAxNTguNCA2NS42UzYzNiAzNTIuMiA2MzYgNDEycy0yMy4zIDExNi4xLTY1LjYgMTU4LjR6IiBmaWxsPSJyZ2JhKDIwNCwyMDQsMjA0LDEpIj48L3BhdGg+CiAgICA8L2c+CiAgPC9zdmc+'); +} + + +/* 上传图片 */ + +.weui-uploader { + margin-top: 10rpx; + width: 100%; +} + +.weui-uploader__bd { + display: flex; + flex-direction: row; + margin-bottom: 0; +} + +.weui-uploader__hd { + display: none; +} + +.weui-uploader__input-box { + width: 65px; + height: 65px; + border-radius: 5px; +} + +.weui-uploader__file { + width: 65px; + height: 65px; + border-radius: 5px; +} + +.weui-uploader__img { + border-radius: 5px; +} + +.weui-uploader__overview { + display: flex; + flex-direction: row; + justify-content: space-between; + width: 65vw; +} + +.weui-uploader__input-box { + background: white; + border: 1px solid var(--divider-color); +} + + +/* 未选中状态 */ +.custom-radio .wx-radio-input { + border-color: var(--primary-color); + /* 自定义未选中时的边框颜色 */ + background-color: transparent; + width: 32rpx; + height: 32rpx; +} + +/* 选中状态 */ +.custom-radio .wx-radio-input.wx-radio-input-checked { + border-color: var(--primary-color); + /* 自定义选中时的边框颜色 */ + background: linear-gradient(to right, var(--primary-color), var(--primary-color-light)); + /* 自定义选中时的背景颜色 */ +} + +/* 选中状态下的内部圆圈 */ +.custom-radio .wx-radio-input.wx-radio-input-checked::before { + color: #fff; + /* 自定义选中时内部圆圈的颜色 */ +} + +.weui-half-screen-dialog__bd { + padding-bottom: 40rpx; +} + +.weui-half-screen-dialog__ft { + padding: 0rpx 0rpx 20rpx; +} + +.weui-half-screen-dialog__hd__side+.weui-half-screen-dialog__hd__main { + padding: 0 46rpx; +} \ No newline at end of file diff --git a/pages/copyright/refund/refund.js b/pages/copyright/refund/refund.js index 7db6e93..72ea6f7 100644 --- a/pages/copyright/refund/refund.js +++ b/pages/copyright/refund/refund.js @@ -1,66 +1,306 @@ // pages/copyright/refund/refund.js +import ProApi from '../../../net/api/projectApi' +import { + previewUrl +} from '../../../net/http' +const app = getApp() +const jsonData = require('../../../utils/data') +const Cache = require('../../../utils/storage') Page({ - /** - * 页面的初始数据 - */ - data: { + /** + * 页面的初始数据 + */ + data: { + pageData: { + page: 1, + rows: 10, + applyStatus: '', //状态 + projName: '' //项目名称 + }, + keywords: '', + stateList: jsonData.stateList, + selectState: '', + msgHint: '', + msgType: 'error', + msgShow: false, + loadingState: 'loading', + listRefreshTrig: false, + isLoadMore: false, + hasMore: true, + refundList: [], + slideBtns: app.globalData.cancelEditBtns, + showHint: false, + buttons: [{ + text: '关闭' + }], + tempItem: null, + }, - }, - - /** - * 生命周期函数--监听页面加载 - */ - onLoad(options) { - - }, - - /** - * 生命周期函数--监听页面初次渲染完成 - */ - onReady() { - - }, - - /** - * 生命周期函数--监听页面显示 - */ - onShow() { - - }, - - /** - * 生命周期函数--监听页面隐藏 - */ - onHide() { - - }, - - /** - * 生命周期函数--监听页面卸载 - */ - onUnload() { - - }, - - /** - * 页面相关事件处理函数--监听用户下拉动作 - */ - onPullDownRefresh() { - - }, - - /** - * 页面上拉触底事件的处理函数 - */ - onReachBottom() { - - }, - - /** - * 用户点击右上角分享 - */ - onShareAppMessage() { - - } + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + wx.setNavigationBarTitle({ + title: '退款项目', + }) + wx.setNavigationBarColor({ + frontColor: '#000000', // 必写项,字体颜色仅支持#ffffff和#000000 + backgroundColor: '#F0F0F0', // 传递的颜色值,仅支持十六进制颜色 + animation: { // 可选项 + duration: 500, + timingFunc: 'easeIn' + } + }) + this.getRefundList(true) + }, + //去退款 + applyRefund() { + wx.navigateTo({ + url: '/pages/copyright/applyRefund/applyRefund', + }) + }, + inputKeywords(e) { + this.setData({ + keywords: e.detail.value + }) + }, + clearSearch() { + this.setData({ + keywords: '' + }) + this.doRefreshList() + }, + doSearchKeyWord() { + this.doRefreshList() + }, + chooseState(e) { + const value = e.currentTarget.dataset.value + this.setData({ + selectState: value == this.data.selectState ? '' : value + }) + this.doRefreshList() + }, + doRefreshList() { + console.log('正在刷新...') + const _self = this + _self.setData({ + listRefreshTrig: true, + loadingState: 'loading', + hasMore: true, + 'pageData.page': 1, + 'pageData.projName': _self.data.keywords, + 'pageData.applyStatus': _self.data.selectState, + isLoadMore: false + }) + _self.getRefundList(true) + }, + doLoadMore() { + //判断是否正在加载中 与是否存在更多数据 + const _self = this + if (_self.data.isLoadMore || !_self.data.hasMore) { + return + } + _self.setData({ + isLoadMore: true, + 'pageData.page': ++_self.data.pageData.page, + 'pageData.projName': _self.data.keywords, + 'pageData.applyStatus': _self.data.selectState, + }) + _self.getRefundList(false) + }, + getRefundList(isRefresh) { + const _self = this + _self.setData({ + refundList: isRefresh ? [] : _self.data.refundList, + loadingState: isRefresh ? 'loading' : '' + }) + ProApi.doGetMineRefundProList(_self.data.pageData) + .then(res => { + console.log(res) + var status = 'success' + status = res.rows && res.rows.length > 0 ? 'success' : 'empty' + _self.setData({ + loadingState: isRefresh ? status : '', + refundList: _self.data.refundList.concat(res.rows), + listRefreshTrig: false, + isLoadMore: false + }) + _self.setData({ + hasMore: _self.data.refundList.length < res.total + }) + }, err => { + _self.setData({ + loadingState: 'error', + listRefreshTrig: false, + isLoadMore: false, + hasMore: true + }) + }) + }, + show(e) { + console.log('显示', e) + //判断状态 + const _self = this + const value = e.currentTarget.dataset.value + const id = e.currentTarget.id + if (value.applyStatus != 'PENDING') { + //通过 或 取消 后不能撤销 + const item = _self.selectComponent(`#${id}`) + if (item) { + item.setData({ + show: false + }) + } + } + }, + slideButtonTap(e) { + const index = e.detail.index + const item = e.currentTarget.dataset.value + console.log(e) + if (index == 0) { + //取消 + this.showCancel(item) + } + }, + showCancel(item) { + const _self = this + wx.showModal({ + title: '警告', + content: '您确定要撤销申请吗?', + complete: (res) => { + if (res.confirm) { + _self.doCancel(item) + } + } + }) + }, + doCancel(item) { + const _self = this + wx.showLoading({ + title: '取消中...', + }) + ProApi.doCancelRefundPro(item.projRefundApplyId) + .then(res => { + wx.hideLoading() + _self.setData({ + msgType: 'success', + msgHint: '撤销成功', + msgShow: true + }) + _self.doRefreshList() + }) + .catch(err => { + wx.hideLoading() + _self.setData({ + msgType: 'error', + msgHint: err.msg ? err.msg : '撤销失败,请稍后重试', + msgShow: true + }) + }) + }, + showReason(e) { + const item = e.currentTarget.dataset.value + item.refundVoucherFileKVs.map(value => { + value.url = previewUrl + value.key + return value + }) + const _self = this + _self.setData({ + tempItem: item, + showHint: true + }) + }, + closeHint(e) { + this.setData({ + showHint: false, + tempItem: null + }) + }, + previewImg(e) { + const _self = this + const current = e.currentTarget.dataset.value + //判断是pdf还是图片 + if (current.value.toLowerCase().endsWith('.pdf')) { + //文件,下载文件 + _self.doDownloadApprovePdf(current) + } else { + //图片 + const urls = [current.url] + wx.previewImage({ + urls: urls, + }) + } + }, + doDownloadApprovePdf(item) { + const _self = this + _self.setData({ + showHint: false + }) + wx.showLoading({ + title: '加载中...', + }) + const token = Cache.get('token') + const header = {} + if (token) { + header.Auth = `Bearer ${token}`; + } + wx.downloadFile({ + url: item.url, + header: header, + success: res => { + wx.hideLoading() + if (res.statusCode === 200) { + // 从响应头中获取文件名 + let fileName = item.value; + if (fileName) { + // 保存文件时使用获取到的文件名 + wx.getFileSystemManager().saveFile({ + tempFilePath: res.tempFilePath, + filePath: wx.env.USER_DATA_PATH + '/' + fileName, + success: function (res) { + const savedFilePath = res.savedFilePath; + console.log('文件下载并保存成功', savedFilePath); + if (savedFilePath.endsWith(".txt")) { + wx.navigateTo({ + url: '/pages/readTxt/readTxt?filePath=' + savedFilePath, + }) + } else { + wx.openDocument({ + filePath: savedFilePath, + showMenu: true + }) + } + }, + fail: function (err) { + console.error('文件保存失败', err); + _self.showErr('很抱歉,文件下载出现问题。建议您稍作等待,之后再尝试下载。') + } + }) + } else { + console.error('未从响应头中获取到文件名'); + _self.showErr('很抱歉,文件下载出现问题。建议您稍作等待,之后再尝试下载。') + } + } else { + _self.showErr('很抱歉,文件下载出现问题。建议您稍作等待,之后再尝试下载。') + } + }, + fail: err => { + _self.showErr('很抱歉,文件下载出现问题。建议您稍作等待,之后再尝试下载。') + console.log(`下载失败${err}`) + } + }) + }, + //显示错误信息 + showErr(msg) { + const _self = this + _self.setData({ + msgHint: msg, + msgType: 'error', + msgShow: true, + showDownloadDialog: false, + downloading: false, + downloadProgress: 0 + }) + } }) \ No newline at end of file diff --git a/pages/copyright/refund/refund.json b/pages/copyright/refund/refund.json index 8835af0..f1e46c0 100644 --- a/pages/copyright/refund/refund.json +++ b/pages/copyright/refund/refund.json @@ -1,3 +1,9 @@ { - "usingComponents": {} + "usingComponents": { + "mp-loading": "weui-miniprogram/loading/loading", + "container-loading": "/components/container-loading/container-loading", + "mp-toptips": "weui-miniprogram/toptips/toptips", + "mp-dialog": "weui-miniprogram/dialog/dialog", + "mp-slideview": "weui-miniprogram/slideview/slideview" + } } \ No newline at end of file diff --git a/pages/copyright/refund/refund.wxml b/pages/copyright/refund/refund.wxml index 197f907..b6b11ec 100644 --- a/pages/copyright/refund/refund.wxml +++ b/pages/copyright/refund/refund.wxml @@ -1,2 +1,73 @@ - -pages/copyright/refund/refund.wxml \ No newline at end of file + + + + + + + + 申请退款 + + + + + {{item.title}} + + + + + + + + + + + + + {{tools.repairStatus(item.applyStatus)}} + + {{item.gmtCreate}} + + + + {{item.projName}} + + {{item.refundReason}} + + + {{item.userInfoName}} + + + + + + + + + + + + + + + 退款原因 + {{tempItem.refundReason}} + 退款凭证 + + + + {{item.value}} + + + + + 审核时间 + {{tempItem.gmtReview}} + 审核意见 + {{tempItem.reviewReason}} + + + + + + + \ No newline at end of file diff --git a/pages/copyright/refund/refund.wxss b/pages/copyright/refund/refund.wxss index 2abc8c3..1356933 100644 --- a/pages/copyright/refund/refund.wxss +++ b/pages/copyright/refund/refund.wxss @@ -1 +1,640 @@ -/* pages/copyright/refund/refund.wxss */ \ No newline at end of file +.ic-user { + background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQzOTg4MzkwNjkwIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjM0MDkiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZD0iTTUxMiAxMDI0QzIyOS4yMDUzMzMgMTAyNCAwIDc5NC43OTQ2NjcgMCA1MTJTMjI5LjIwNTMzMyAwIDUxMiAwczUxMiAyMjkuMjA1MzMzIDUxMiA1MTItMjI5LjIwNTMzMyA1MTItNTEyIDUxMnogbTAtNDk2LjQ2OTMzM2ExNzAuNjY2NjY3IDE3MC42NjY2NjcgMCAxIDAgMC0zNDEuMzMzMzM0IDE3MC42NjY2NjcgMTcwLjY2NjY2NyAwIDAgMCAwIDM0MS4zMzMzMzR6IG0yNjMuNzY1MzMzIDI2My43MjI2NjZhMjYzLjc2NTMzMyAyNjMuNzY1MzMzIDAgMSAwLTUyNy41MzA2NjYgMGg1MjcuNTMwNjY2eiIgcC1pZD0iMzQxMCIgZmlsbD0iIzEyOTZkYiI+PC9wYXRoPjwvc3ZnPg=='); + background-size: cover; + background-repeat: no-repeat; +} + + +.search-box { + position: fixed; + top: 0; + left: 0; + display: flex; + flex-direction: column; + box-sizing: border-box; + width: 100%; + padding: 20rpx 30rpx 0rpx 30rpx; +} + +.search-input-box { + display: flex; + flex-direction: row; + align-items: center; +} + +.search-container { + position: relative; + align-self: center; + border-radius: 5px; + background-color: var(--white-color); + padding: 5px; + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + flex: 1; +} + +.search-input { + box-sizing: border-box; + color: var(--text-color); + font-size: 28rpx; + text-align: center; + flex: 1; +} + +.search-input::after { + content: ''; + position: absolute; + left: 10px; + top: 50%; + transform: translateY(-50%); + width: 20px; + height: 20px; + margin-top: -1px; + background-size: cover; + background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSI2NCA2NCA4OTYgODk2IiB3aWR0aD0iMTQiIGhlaWdodD0iMTkiIHN0eWxlPSIiIGZpbHRlcj0ibm9uZSI+CiAgICAKICAgIDxnPgogICAgPHBhdGggZD0iTTkwOS42IDg1NC41TDY0OS45IDU5NC44QzY5MC4yIDU0Mi43IDcxMiA0NzkgNzEyIDQxMmMwLTgwLjItMzEuMy0xNTUuNC04Ny45LTIxMi4xLTU2LjYtNTYuNy0xMzItODcuOS0yMTIuMS04Ny45cy0xNTUuNSAzMS4zLTIxMi4xIDg3LjlDMTQzLjIgMjU2LjUgMTEyIDMzMS44IDExMiA0MTJjMCA4MC4xIDMxLjMgMTU1LjUgODcuOSAyMTIuMUMyNTYuNSA2ODAuOCAzMzEuOCA3MTIgNDEyIDcxMmM2NyAwIDEzMC42LTIxLjggMTgyLjctNjJsMjU5LjcgMjU5LjZhOC4yIDguMiAwIDAgMCAxMS42IDBsNDMuNi00My41YTguMiA4LjIgMCAwIDAgMC0xMS42ek01NzAuNCA1NzAuNEM1MjggNjEyLjcgNDcxLjggNjM2IDQxMiA2MzZzLTExNi0yMy4zLTE1OC40LTY1LjZDMjExLjMgNTI4IDE4OCA0NzEuOCAxODggNDEyczIzLjMtMTE2LjEgNjUuNi0xNTguNEMyOTYgMjExLjMgMzUyLjIgMTg4IDQxMiAxODhzMTE2LjEgMjMuMiAxNTguNCA2NS42UzYzNiAzNTIuMiA2MzYgNDEycy0yMy4zIDExNi4xLTY1LjYgMTU4LjR6IiBmaWxsPSJyZ2JhKDIwNCwyMDQsMjA0LDEpIj48L3BhdGg+CiAgICA8L2c+CiAgPC9zdmc+'); +} + +.options-list-box { + display: flex; + flex-direction: row; + justify-content: space-between; + padding-top: 30rpx; + flex-wrap: nowrap; +} + +.options-tab-select { + white-space: nowrap; + line-height: 17px; + border-radius: 2px; + border: 1rpx solid var(--primary-color-light); + background-color: var(--primary-color-light); + color: var(--text-brown-color); + font-size: 12px; + text-align: center; + padding: 2px 8px; +} + + +.options-tab-normal { + line-height: 17px; + border-radius: 2px; + border: 1rpx solid transparent; + color: rgba(154, 154, 154, 1); + font-size: 12px; + text-align: center; + white-space: nowrap; + padding: 2px 8px; +} + + +.add-btn { + border-radius: 8rpx; + background-color: var(--btn-green-color); + color: rgba(255, 255, 255, 1); + font-size: 28rpx; + text-align: center; + height: 50rpx; + margin-left: 20rpx; + line-height: 50rpx; + font-family: PingFangSC-regular; + padding: 5rpx 10rpx; +} + +.add-btn:active { + background-color: var(--btn-green-color-active); +} + +.content-container { + height: 82vh; + margin-top: 80px; +} + +.bottom-btn { + position: fixed; + bottom: 40rpx; + left: 0; + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + width: 100%; +} + + + +.repair-list-box { + display: flex; + flex-direction: column; +} + +.repair-list-item { + display: flex; + flex-direction: column; + background-color: var(--white-color); + padding: 20rpx; + border-radius: 8rpx; +} + +.repair-list-item:nth-of-type(n+2) { + margin-top: 20rpx; +} + +.repair-item-title-box { + display: flex; + flex-direction: row; + justify-content: space-between; +} + +.repair-title-box { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + font-size: 28rpx; +} + +.repair-name-box { + display: flex; + flex-direction: row; + justify-content: space-between; +} + +.repair-title-content { + font-size: 28rpx; + font-weight: bold; +} + +.repair-reason-desc { + margin-top: 10rpx; + font-size: 24rpx; + color: var(--text-gray-desc-color); +} + +.repair-footer-box { + margin-top: 20rpx; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: flex-end; +} + +.repair-attr-box { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: baseline; + width: 100%; +} + +.repair-attr-item { + font-size: 24rpx; + color: var(--text-brown-color); + background-color: var(--divider-color); + padding: 5rpx 15rpx; + border-radius: 5rpx; + line-height: 40rpx; + height: 40rpx; + text-align: center; +} + +.repair-attr-item:nth-of-type(n+2) { + margin-left: 10rpx; +} + +.repair-title-apply-time { + font-size: 22rpx; + color: var(--text-gray-hint-color); +} + +.repair-status-green { + background-color: var(--bg-green-color); +} + +.repair-status-red { + background-color: var(--bg-red-color); +} + +.repair-status-yellow { + background-color: var(--primary-color); + +} + +.repair-status-content { + padding: 2rpx 10rpx; + font-size: 22rpx; + border-radius: 5rpx; + height: 30rpx; + line-height: 30rpx; + text-align: center; + color: var(--text-color); +} + +.repair-status-gray { + background-color: var(--bg-gray-deep-color); +} + + +.order-item { + display: flex; + flex-direction: column; + background-color: white; + border-radius: 10rpx; + padding: 10rpx 20rpx; +} + +.record-title-box { + display: flex; + flex-direction: row; +} + +.record-options { + display: flex; + flex-direction: row; +} + +.options-btn { + font-size: 24rpx; + line-height: 24rpx; + height: 24rpx; + padding: 10rpx 20rpx; + border-radius: 5rpx; + background-color: var(--btn-green-color); + color: var(--white-color); +} + +.options-btn:active { + background-color: var(--btn-green-color-active); +} + + +.red:active { + background-color: var(--red-color); +} + +.record-title-status { + font-size: 20rpx; + line-height: 24rpx; + height: 24rpx; + margin-top: 8rpx; + text-align: center; + padding: 5rpx; + min-width: 80rpx; + border-radius: 5rpx; + margin-right: 15rpx; +} + +.approve-box { + display: flex; + flex-direction: column; + align-items: flex-start; +} + +.approve-title { + font-size: 28rpx; + color: var(--text-color); + font-weight: bold; +} + +.approve-content-box { + margin-top: 10rpx; + display: flex; + flex-direction: column; + align-items: flex-start; +} + +.approve-img-box { + display: flex; + flex-direction: column; + margin-top: 15rpx; + box-sizing: border-box; + width: 100%; +} + +.approve-img-item { + font-size: 24rpx; + border-radius: 5rpx; + padding: 10rpx; + text-align: left; + background-color: var(--gray-bg-color); + width: 100%; + margin: 10rpx; + box-sizing: border-box; +} + +.approve-img-item:nth-of-type(n+2) { + margin-top: 10rpx; +} + +.approve-content { + font-size: 24rpx; + margin-left: 20rpx; + text-align: left; + color: var(--text-gray-desc-color); +} + +.approve-hint { + margin-top: 20rpx; + font-size: 24rpx; + color: var(--text-gray-hint-color); +} + +.col-yellow { + background-color: var(--primary-color); + color: var(--text-color); +} + +.col-gray { + background-color: var(--bg-gray-deep-color); + color: var(--text-gray-desc-color); +} + +.col-green { + background-color: var(--bg-green-color); + color: #006400; +} + +.col-red { + background-color: var(--bg-red-color); + color: #8b0000; +} + +.record-title-name { + font-size: 32rpx; + color: var(--text-color); + font-weight: bold; + flex: 1; +} + +.record-number { + font-size: 24rpx; + color: var(--text-gray-desc-color); + margin-left: 10rpx; +} + +.record-time { + display: flex; + flex-direction: row; + align-items: center; + font-size: 24rpx; +} + +.record-bottom-box { + display: flex; + flex-direction: row; + justify-content: space-between; +} + +.icon-time::before { + content: ''; + background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB0PSIxNzQ1ODEyODg5NzI5IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjM2MTgwIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiPjxwYXRoIGQ9Ik01MTMgMzMuMjJjLTI2NS4xIDAtNDgwIDIxNC45LTQ4MCA0ODBzMjE0LjkgNDgwIDQ4MCA0ODAgNDgwLTIxNC45IDQ4MC00ODAtMjE0LjktNDgwLTQ4MC00ODB6IG0yMDguOSA2NTIuNTljLTExLjA1IDE5LjEzLTM1LjUxIDI1LjY5LTU0LjY0IDE0LjY0TDQ3NC4xIDU4OC45M2MtMTMuMDYtNy41NC0yMC4yNi0yMS4zNC0xOS45OS0zNS40MiAwLTAuMTctMC4wMS0wLjM0LTAuMDEtMC41MVYzMjkuOTVjMC0yMi4wOSAxNy45MS00MCA0MC00MHM0MCAxNy45MSA0MCA0MHYyMDEuMjNsMTczLjE3IDk5Ljk4YzE5LjEyIDExLjA1IDI1LjY4IDM1LjUxIDE0LjYzIDU0LjY1eiIgZmlsbD0iI2RiZGJkYiIgcC1pZD0iMzYxODEiPjwvcGF0aD48L3N2Zz4='); + background-size: cover; + width: 28rpx; + height: 28rpx; + display: flex; + flex-direction: row; + margin-right: 10rpx; +} + +.order-item:nth-of-type(n+2) { + margin-top: 15px; +} + +.contact-desc { + display: flex; + flex-direction: row; + justify-content: space-between; + padding: 15px; + align-items: center; +} + +.contact-icon { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; +} + +.name { + line-height: 23rpx; + color: var(--text-color); + font-size: 32rpx; + text-align: left; + font-weight: bold; + font-family: SourceHanSansSC-black; +} + +.service-desc { + padding: 0px 15px 15px 15px; + line-height: 20px; + color: var(--text-color); + font-size: 14px; + text-align: left; + font-family: SourceHanSansSC-regular; +} + +.edit { + line-height: 20px; + border-radius: 4px; + background-color: var(--btn-green-color); + color: rgba(255, 255, 255, 1); + font-size: 28rpx; + text-align: center; + font-family: PingFangSC-regular; + padding: 5rpx 10rpx; +} + +.del { + line-height: 20px; + border-radius: 4px; + background-color: var(--btn-red-color); + color: rgba(255, 255, 255, 1); + font-size: 28rpx; + text-align: center; + font-family: PingFangSC-regular; + padding: 5rpx 10rpx; + margin-left: 5px; +} + +.del:active { + background-color: var(--btn-red-color-active); +} + +.options-box { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; +} + +.edit:active { + background-color: var(--btn-green-color-active); +} + + +.form-box { + display: flex; + flex-direction: column; + justify-content: center; + align-items: flex-start; + font-size: 14px; + width: 100vw; +} + +.form-item { + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: center; + width: 80vw; + padding: 10px; +} + +.form-item-title { + flex: .3; + font-size: 14px; + color: var(--text-color); + font-weight: 500; + text-align: left; +} + +.form-item-title:not(.no-after)::before { + content: "*"; + color: var(--red-color); + font-size: 14px; + margin-left: 1px; + text-align: center; +} + +.form-item-content { + flex: 1; + text-align: right; +} + +.confirm-btn { + background-color: var(--btn-green-color); + color: white; + font-size: 16px; + height: 70rpx; + line-height: 70rpx; + border-radius: 5px; + text-align: center; + width: 85vw !important; +} + +.confirm-btn:active { + background-color: var(--btn-green-color-active); + color: white; +} + +.weui-half-screen-dialog__ft { + padding: 0rpx 0rpx 40rpx; +} + +.weui-half-screen-dialog__bd { + padding-bottom: 40rpx; +} + +.weui-dialog__hd { + padding: 30rpx; +} + + +.download-item { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + padding: 10px; + background-color: var(--white-color); + border-radius: 5px; + height: 80px; +} + +.download-item:nth-of-type(n+2) { + margin-top: 10px; +} + +.download-item:last-child { + margin-bottom: 80px; +} + +.download-title { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + padding: 10px; + width: 75px; +} + +.download-title-txt { + font-size: 16px; + font-weight: bold; + margin-top: 10px; +} + +.download-btn-box { + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: center; + height: 70px; + flex: .6; +} + +.download-btn { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + color: var(--text-color); + padding: 5px 10px; + border-radius: 5px; + border: 1px solid var(--divider-color); + width: 105px; +} + +.download-btn-txt { + font-size: 12px; + text-align: center; +} + +.download-btn:active { + background-color: var(--divider-color); +} + +.icon-table { + content: ""; + background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSI2NCIgaGVpZ2h0PSI2NCIgc3R5bGU9IiIgZmlsdGVyPSJub25lIj4KICAgIAogICAgPGc+CiAgICA8cGF0aCBkPSJNMTYgMjFoLTR2Mmg0di0yek0xNyAyMWg0djJoLTR2LTJ6TTE2IDI2aC00di0yaDR2MnpNMTcgMjZoNHYtMmgtNHYyek0xNiAxOGgtNHYyaDR2LTJ6TTE3IDE4aDR2MmgtNHYtMnpNMTYgMTVoLTR2Mmg0di0yek0xNyAxNWg0djJoLTR2LTJ6TTE5IDN2Ni4wMDJjMCAxLjExMSAwLjg5OCAxLjk5OCAyLjAwNiAxLjk5OGg0Ljk5NHYxNy4wMDNjMCAxLjEwNy0wLjg5NCAxLjk5Ny0xLjk5NyAxLjk5N2gtMTUuMDA1Yy0xLjEwNyAwLTEuOTk3LTAuODk5LTEuOTk3LTIuMDA3di0yMi45ODVjMC0xLjEwOSAwLjg5OS0yLjAwNyAyLjAwOS0yLjAwN2g5Ljk5MXpNMjAgM3Y1Ljk5N2MwIDAuNTU0IDAuNDUxIDEuMDAzIDAuOTkxIDEuMDAzaDUuMDA5bC02LTd6TTExIDEzdjE0aDExdi0xNGgtMTF6IiBmaWxsPSJyZ2JhKDI1NSwxNjksMCwxKSI+PC9wYXRoPgogICAgPC9nPgogIDwvc3ZnPg=='); + background-size: cover; + background-repeat: no-repeat; + width: 48px; + height: 48px; +} + + +.icon-tool { + background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSI2NCA2NCA4OTYgODk2IiB3aWR0aD0iNTIiIGhlaWdodD0iNTIiIHN0eWxlPSIiIGZpbHRlcj0ibm9uZSI+CiAgICAKICAgIDxnPgogICAgPHBhdGggZD0iTTg4MCAxMTJIMTQ0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnY3MzZjMCAxNy43IDE0LjMgMzIgMzIgMzJoNzM2YzE3LjcgMCAzMi0xNC4zIDMyLTMyVjE0NGMwLTE3LjctMTQuMy0zMi0zMi0zMnpNNTEzLjEgNTE4LjFsLTE5MiAxNjFjLTUuMiA0LjQtMTMuMS43LTEzLjEtNi4xdi02Mi43YzAtMi4zIDEuMS00LjYgMi45LTYuMUw0MjAuNyA1MTJsLTEwOS44LTkyLjJhNy42MyA3LjYzIDAgMCAxLTIuOS02LjFWMzUxYzAtNi44IDcuOS0xMC41IDEzLjEtNi4xbDE5MiAxNjAuOWMzLjkgMy4yIDMuOSA5LjEgMCAxMi4zek03MTYgNjczYzAgNC40LTMuNCA4LTcuNSA4aC0xODVjLTQuMSAwLTcuNS0zLjYtNy41LTh2LTQ4YzAtNC40IDMuNC04IDcuNS04aDE4NWM0LjEgMCA3LjUgMy42IDcuNSA4djQ4eiIgZmlsbD0icmdiYSg1MiwxMjQsMTc1LDEpIj48L3BhdGg+CiAgICA8L2c+CiAgPC9zdmc+'); + background-size: cover; + background-repeat: no-repeat; + width: 42px; + height: 42px; +} + + +.icon-source { + background-image: url('data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSI2NCA2NCA4OTYgODk2IiB3aWR0aD0iNTIiIGhlaWdodD0iNTIiIHN0eWxlPSIiIGZpbHRlcj0ibm9uZSI+CiAgICAKICAgIDxnPgogICAgPHBhdGggZD0iTTkyOCAxNjFINjk5LjJjLTQ5LjEgMC05Ny4xIDE0LjEtMTM4LjQgNDAuN0w1MTIgMjMzbC00OC44LTMxLjNBMjU1LjIgMjU1LjIgMCAwIDAgMzI0LjggMTYxSDk2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnY1NjhjMCAxNy43IDE0LjMgMzIgMzIgMzJoMjI4LjhjNDkuMSAwIDk3LjEgMTQuMSAxMzguNCA0MC43bDQ0LjQgMjguNmMxLjMuOCAyLjggMS4zIDQuMyAxLjNzMy0uNCA0LjMtMS4zbDQ0LjQtMjguNkM2MDIgODA3LjEgNjUwLjEgNzkzIDY5OS4yIDc5M0g5MjhjMTcuNyAwIDMyLTE0LjMgMzItMzJWMTkzYzAtMTcuNy0xNC4zLTMyLTMyLTMyek00MDQgNTUzLjVjMCA0LjEtMy4yIDcuNS03LjEgNy41SDIxMS4xYy0zLjkgMC03LjEtMy40LTcuMS03LjV2LTQ1YzAtNC4xIDMuMi03LjUgNy4xLTcuNWgxODUuN2MzLjkgMCA3LjEgMy40IDcuMSA3LjV2NDV6bTAtMTQwYzAgNC4xLTMuMiA3LjUtNy4xIDcuNUgyMTEuMWMtMy45IDAtNy4xLTMuNC03LjEtNy41di00NWMwLTQuMSAzLjItNy41IDcuMS03LjVoMTg1LjdjMy45IDAgNy4xIDMuNCA3LjEgNy41djQ1em00MTYgMTQwYzAgNC4xLTMuMiA3LjUtNy4xIDcuNUg2MjcuMWMtMy45IDAtNy4xLTMuNC03LjEtNy41di00NWMwLTQuMSAzLjItNy41IDcuMS03LjVoMTg1LjdjMy45IDAgNy4xIDMuNCA3LjEgNy41djQ1em0wLTE0MGMwIDQuMS0zLjIgNy41LTcuMSA3LjVINjI3LjFjLTMuOSAwLTcuMS0zLjQtNy4xLTcuNXYtNDVjMC00LjEgMy4yLTcuNSA3LjEtNy41aDE4NS43YzMuOSAwIDcuMSAzLjQgNy4xIDcuNXY0NXoiIGZpbGw9InJnYmEoMTI5LDE3OSw1NSwxKSI+PC9wYXRoPgogICAgPC9nPgogIDwvc3ZnPg=='); + background-size: cover; + background-repeat: no-repeat; + width: 42px; + height: 42px; +} + +.hint { + font-size: 14px; + text-align: center; + color: var(--primary-color); + font-weight: bold; +} \ No newline at end of file diff --git a/pages/copyright/repair/repair.js b/pages/copyright/repair/repair.js index 643c9a0..45dc7ff 100644 --- a/pages/copyright/repair/repair.js +++ b/pages/copyright/repair/repair.js @@ -178,7 +178,7 @@ Page({ const _self = this const value = e.currentTarget.dataset.value const id = e.currentTarget.id - if (value.applyStatus == 'APPROVED' || value.applyStatus == 'CANCELED') { + if (value.applyStatus != 'PENDING') { //通过 或 取消 后不能撤销 const item = _self.selectComponent(`#${id}`) if (item) { @@ -199,6 +199,18 @@ Page({ }, //取消 showCancel(item) { + const _self = this + wx.showModal({ + title: '警告', + content: '您确定要撤销申请吗?', + complete: (res) => { + if (res.confirm) { + _self.doCancel(item) + } + } + }) + }, + doCancel(item) { const _self = this wx.showLoading({ title: '取消中...', diff --git a/pages/copyright/repair/repair.wxml b/pages/copyright/repair/repair.wxml index 919c93e..f40b8da 100644 --- a/pages/copyright/repair/repair.wxml +++ b/pages/copyright/repair/repair.wxml @@ -66,7 +66,7 @@ 补正凭证 - + {{item.value}} diff --git a/pages/mine/mineAccount/invoiceOrder/invoiceOrder.wxml b/pages/mine/mineAccount/invoiceOrder/invoiceOrder.wxml index c3fd098..5a469a0 100644 --- a/pages/mine/mineAccount/invoiceOrder/invoiceOrder.wxml +++ b/pages/mine/mineAccount/invoiceOrder/invoiceOrder.wxml @@ -15,33 +15,33 @@ --> - + - + - - - - - {{item.reconciliationTime}} - - - - 到账时间:{{item.rechargeFinalTime}} - - + + + + + {{item.reconciliationTime}} + + + + 到账时间:{{item.rechargeFinalTime}} + + - + 开票金额:{{money}}元 - 去开票 + 去开票 diff --git a/pages/mine/mineAccount/invoiceOrder/invoiceOrder.wxss b/pages/mine/mineAccount/invoiceOrder/invoiceOrder.wxss index caec28d..36631a5 100644 --- a/pages/mine/mineAccount/invoiceOrder/invoiceOrder.wxss +++ b/pages/mine/mineAccount/invoiceOrder/invoiceOrder.wxss @@ -67,7 +67,8 @@ align-items: center; padding: 10rpx 20rpx; } -.order-list-item:nth-of-type(n+2){ + +.order-list-item:nth-of-type(n+2) { margin-top: 20rpx; } @@ -113,7 +114,7 @@ .success-time { font-size: 24rpx; padding-left: 5rpx; - color: var(--text-gray-desc-color); + color: var(--text-gray-hint-color); } .icon-time::before { @@ -165,9 +166,11 @@ .money { color: var(--text-brown-color); - font-size: 20px; + font-size: 32rpx; display: flex; flex-direction: row; + align-self: center; + margin-bottom: 15rpx; } .price { diff --git a/pages/mine/mineAccount/mineInfo/mineInfo.wxml b/pages/mine/mineAccount/mineInfo/mineInfo.wxml index 8990ed2..ef52b6d 100644 --- a/pages/mine/mineAccount/mineInfo/mineInfo.wxml +++ b/pages/mine/mineAccount/mineInfo/mineInfo.wxml @@ -13,8 +13,8 @@ - - 保存 + + 保存 diff --git a/pages/mine/mineAccount/mineInfo/mineInfo.wxss b/pages/mine/mineAccount/mineInfo/mineInfo.wxss index eb90996..ac3ca08 100644 --- a/pages/mine/mineAccount/mineInfo/mineInfo.wxss +++ b/pages/mine/mineAccount/mineInfo/mineInfo.wxss @@ -1,5 +1,5 @@ .info-container { - height: 100vh; + height: 90vh; background-color: white; border-radius: 10px; padding: 20px; diff --git a/pages/mine/mineAccount/mineInvoice/mineInvoice.wxml b/pages/mine/mineAccount/mineInvoice/mineInvoice.wxml index 93c4d8f..5ab45e5 100644 --- a/pages/mine/mineAccount/mineInvoice/mineInvoice.wxml +++ b/pages/mine/mineAccount/mineInvoice/mineInvoice.wxml @@ -34,8 +34,8 @@ - - 去开票 + + 去开票