diff --git a/app.json b/app.json index fcdbad0..0e1ea89 100644 --- a/app.json +++ b/app.json @@ -1,9 +1,9 @@ { "pages": [ "pages/home/index", + "pages/invoiceList/index", "pages/invoiceDetail/index", "pages/invoicing/index", - "pages/invoiceList/index", "pages/rechargeRecord/index", "pages/member/index", "pages/login/index", diff --git a/pages/invoicing/components/card/index.js b/components/card/index.js similarity index 72% rename from pages/invoicing/components/card/index.js rename to components/card/index.js index 46d91d1..10ad59b 100644 --- a/pages/invoicing/components/card/index.js +++ b/components/card/index.js @@ -4,6 +4,9 @@ Component({ /** * 组件的属性列表 */ + options: { + multipleSlots: true // 在组件定义时的选项中启用多slot支持 + }, properties: { title: String, }, diff --git a/pages/invoicing/components/card/index.json b/components/card/index.json similarity index 100% rename from pages/invoicing/components/card/index.json rename to components/card/index.json diff --git a/components/card/index.wxml b/components/card/index.wxml new file mode 100644 index 0000000..71c1d39 --- /dev/null +++ b/components/card/index.wxml @@ -0,0 +1,10 @@ + + + + {{ title }} + + + + + + \ No newline at end of file diff --git a/pages/invoicing/components/card/index.wxss b/components/card/index.wxss similarity index 80% rename from pages/invoicing/components/card/index.wxss rename to components/card/index.wxss index 5d2aea9..72d00ae 100644 --- a/pages/invoicing/components/card/index.wxss +++ b/components/card/index.wxss @@ -14,4 +14,11 @@ height: 80rpx; line-height: 80rpx; margin-bottom: 24rpx; -} \ No newline at end of file + display: flex; + justify-content: space-between; +} + +.titleText { + flex: 1; +} + diff --git a/components/navigator/index.wxss b/components/navigator/index.wxss index b90ce4e..74c0570 100644 --- a/components/navigator/index.wxss +++ b/components/navigator/index.wxss @@ -10,6 +10,7 @@ left: 0; right: 0; top: 0; + z-index: 999; } .navigatorTitle { diff --git a/pages/home/index.js b/pages/home/index.js index beb1994..18ef5c5 100644 --- a/pages/home/index.js +++ b/pages/home/index.js @@ -1,6 +1,6 @@ import { getMeterDetail, getMeterList, getTenementMeterList } from "../../service/meter"; import { getOwnTenementList } from "../../service/tenement"; -import { alertInfo } from "../../utils/index"; +import { alertInfo, alertSuccess } from "../../utils/index"; import request from '../../utils/request'; import { getDot } from "../../utils/system"; import { getUserInfo } from "../../service/user" @@ -63,7 +63,6 @@ Page({ }, async refreshMeter() { const { meter } = this.data; - console.log('meter', meter) this.handleGetMeterDetail(meter.id); }, onOk(e) { @@ -80,6 +79,7 @@ Page({ park: value, tenement: value.tenements?.[0] }) + wx.setStorageSync('park', park) break; case "tenement": // const currentTenement = this.data.tenement; @@ -91,6 +91,7 @@ Page({ show: false, tenement: value }) + break; case "meter": const { code, id } = e.detail.value; @@ -126,6 +127,7 @@ Page({ }, async recharge() { const { user, money, meter, tenement, park } = this.data; + const that = this; if (!user || !user.id) { alertInfo("请先登录") return @@ -139,6 +141,10 @@ Page({ alertInfo("没有选择表计") return; } + if (money < 0.01) { + alertInfo("最少为1分") + return + } const { code, message, data } = await requestRecharge({ money: Number(money), id: meter.id, tenement: tenement.id, park: park.id }) if (code !== OK) { alertInfo(message) @@ -152,6 +158,10 @@ Page({ signType: 'RSA', success: (res) => { console.log('success', res) + alertSuccess("充值成功") + that.setData({ + money: null + }) }, fail: (res) => { console.log('fail', res) @@ -159,10 +169,9 @@ Page({ }, complete: (res) => { console.log('complete') - + that.handleGetMeterDetail(meter.id) } }) - console.log('data', data) }, jumpToInvoice() { wx.navigateTo({ @@ -181,6 +190,7 @@ Page({ this.setUser(); this.getAllList(); this.watchTenement(); + this.watchPark(); getDot(); }, watchTenement() { @@ -197,10 +207,29 @@ Page({ set: function (newVal) { // const oldValue = value; value = newVal; + wx.setStorageSync('tenement', newVal) that.getMeters(newVal); } }); }, + watchPark() { + const that = this; + let value = this.data.park; // 获取被监听属性的当前值 + + // 使用 Object.defineProperty 方法在数据对象上定义属性的 getter 和 setter + Object.defineProperty(this.data, 'park', { + configurable: true, // 可配置 + enumerable: true, // 可枚举 + get: function () { + return value; // 返回属性的当前值 + }, + set: function (newVal) { + // const oldValue = value; + value = newVal; + wx.setStorageSync('park', newVal) + } + }); + }, async getMeters({ id }) { const { code, message, data } = await getTenementMeterList(id); if (code !== OK) { diff --git a/pages/index/index.js b/pages/index/index.js deleted file mode 100644 index c143ee4..0000000 --- a/pages/index/index.js +++ /dev/null @@ -1,44 +0,0 @@ -import { throttle } from "../../utils/index" - -Page({ - data: { - motto: 'Hello World', - num: 1, - staffA: {firstName: 'Hulk', lastName: 'Hu'}, - staffB: {firstName: 'Shang', lastName: 'You'}, - staffC: {firstName: 'Gideon', lastName: 'Lin'} - }, - onLoad() { - - }, - onShow() { - - }, - test: throttle(function() { - - }, 500), - payment: function() { - wx.requestPayment({ - timeStamp: data?.time, - nonceStr: data?.nonceStr, - package: "prepay_id=" + data?.prepay_id, - paySign: data?.paySign, - signType: 'RSA', - success (res) { - console.log('success', res); - }, - fail (res) { - console.log('res', res) - } - }) - }, - kefu(e) { - console.log('e', e); - }, - increment() { - // this.data.num = this.data.num +=1 ; - this.setData({ - num: this.data.num + 1 - }) - } -}) diff --git a/pages/index/index.json b/pages/index/index.json deleted file mode 100644 index 01852ca..0000000 --- a/pages/index/index.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "usingComponents": { - "navigator": "/components/navigator/index" - } -} \ No newline at end of file diff --git a/pages/index/index.wxml b/pages/index/index.wxml deleted file mode 100644 index fd3ae03..0000000 --- a/pages/index/index.wxml +++ /dev/null @@ -1,11 +0,0 @@ - - - - diff --git a/pages/index/index.wxss b/pages/index/index.wxss deleted file mode 100644 index 6b0799c..0000000 --- a/pages/index/index.wxss +++ /dev/null @@ -1,12 +0,0 @@ -/**index.wxss**/ -page { - height: 100vh; - display: flex; - flex-direction: column; - overflow: hidden; -} - -.usermotto { - margin-top: 200px; - text-align: center; -} diff --git a/pages/invoiceList/components/already/index.json b/pages/invoiceList/components/already/index.json index e8cfaaf..3b51cdc 100644 --- a/pages/invoiceList/components/already/index.json +++ b/pages/invoiceList/components/already/index.json @@ -1,4 +1,6 @@ { "component": true, - "usingComponents": {} + "usingComponents": { + "van-button": "@vant/weapp/button/index" + } } \ No newline at end of file diff --git a/pages/invoiceList/components/already/index.wxml b/pages/invoiceList/components/already/index.wxml index aaac974..3fbb779 100644 --- a/pages/invoiceList/components/already/index.wxml +++ b/pages/invoiceList/components/already/index.wxml @@ -1,2 +1,26 @@ -pages/invoiceList/components/already/index.wxml \ No newline at end of file + + + + 河北华昌宝能售电有限公司 + + + 发票内容:电费 + + + 发票类型:增值税专用发票 + + + 2024年3月3日 18:00:00 + + + + ¥3026 + + + 发票 + + 明细 + + + \ No newline at end of file diff --git a/pages/invoiceList/components/already/index.wxss b/pages/invoiceList/components/already/index.wxss index a3c3551..89a0ef8 100644 --- a/pages/invoiceList/components/already/index.wxss +++ b/pages/invoiceList/components/already/index.wxss @@ -1 +1,20 @@ -/* pages/invoiceList/components/already/index.wxss */ \ No newline at end of file +/* pages/invoiceList/components/already/index.wxss */ +.card { + margin-top: 20rpx; + margin-bottom: 20rpx; + margin-left: 30rpx; + margin-right: 30rpx; + display: flex; + background-color: #fff; + border-radius: 26rpx; + padding: 20rpx; + box-sizing: border-box + ; +} + +.left { + flex: 1; +} +.right { + +} \ No newline at end of file diff --git a/pages/invoiceList/components/info/index.js b/pages/invoiceList/components/info/index.js index 18dfc10..ce01bc8 100644 --- a/pages/invoiceList/components/info/index.js +++ b/pages/invoiceList/components/info/index.js @@ -1,4 +1,5 @@ -import { getInvoiceInfoList } from "../../../../service/invoice" +import { getInvoiceInfo, updateInvoiceInfo } from "../../../../service/invoice" +import { alertInfo, alertSuccess } from "../../../../utils/index"; // pages/invoiceList/components/info/index.js Component({ @@ -11,20 +12,92 @@ Component({ }, lifetimes: { attached() { - getInvoiceInfoList() + this.getDetail(); } }, /** * 组件的初始数据 */ data: { - + detail: { name: wx.getStorageSync('tenement')?.name, }, + formData: {headerType: 0,}, + editType: "detail" }, /** * 组件的方法列表 */ methods: { - + async getDetail() { + const { code, message, data } = await getInvoiceInfo() + + this.setData({ detail: {...data, },editType: 'detail', formData: {} }) + }, + changeEditType() { + this.setData({ editType: 'edit', formData: this.data.detail }) + }, + cancelEdit() { + this.setData({ editType: 'detail', formData: {} }) + }, + onChangeType(e) { + const { formData } = this.data; + this.setData({ formData: {...formData, type: e.detail} }) + }, + onChangeHeaderType(e) { + const { formData } = this.data; + this.setData({ formData: {...formData, headerType: e.detail} }) + }, + onChangeText(e) { + const { name } = e.currentTarget.dataset; + const { formData } = this.data; + this.setData({ formData: {...formData, [name]: e.detail} }) + }, + async submit() { + const { formData } = this.data; + const { tin, address, phone, bank, account, email, type, headerType, name } = formData; + if (type !== 0 && type !== 1) { + alertInfo("请选择发票类型"); + return; + } + if (headerType !== 0 && headerType !== 1) { + alertInfo("请选择抬头类型"); + return; + } + if (headerType === 1) { + if (!name) { + alertInfo("请输入发票抬头") + return + } + } + if (!email || !/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/.test(email)) { + alertInfo("邮箱格式不正确") + return; + } + if (headerType === 0) { + if (!tin) { + alertInfo("请输入发票税号") + return; + } + // if (!address) { + // alertInfo("请输入地址") + // return; + // } + if (!phone) { + alertInfo("请输入电话") + return; + } + if (!bank) { + alertInfo("请输入开户行") + return; + } + if (!account) { + alertInfo("请输入银行账号") + return; + } + } + const { code, message } = await updateInvoiceInfo(formData) + alertSuccess("编辑成功") + this.getDetail() + } } }) \ No newline at end of file diff --git a/pages/invoiceList/components/info/index.json b/pages/invoiceList/components/info/index.json index e8cfaaf..200006f 100644 --- a/pages/invoiceList/components/info/index.json +++ b/pages/invoiceList/components/info/index.json @@ -1,4 +1,11 @@ { "component": true, - "usingComponents": {} + "usingComponents": { + "card": "/components/card/index", + "van-icon": "@vant/weapp/icon/index", + "van-field": "@vant/weapp/field/index", + "van-radio": "@vant/weapp/radio/index", + "van-radio-group": "@vant/weapp/radio-group/index", + "van-button": "@vant/weapp/button/index" + } } \ No newline at end of file diff --git a/pages/invoiceList/components/info/index.wxml b/pages/invoiceList/components/info/index.wxml index f1399e6..8ac51e9 100644 --- a/pages/invoiceList/components/info/index.wxml +++ b/pages/invoiceList/components/info/index.wxml @@ -1,2 +1,240 @@ -pages/invoiceList/components/info/index.wxml \ No newline at end of file + + + + + 修改 + + + + + + + 普通电子 + 增值税专用电子 + + + + + 普通电子发票 + 增值税专用电子发票 + - + + + + + + 企业单位 + 个人/非企业单位 + + + + 企业单位 + 个人/非企业单位 + - + + + + + - + + + + + - + + + + + - + + + + + - + + + + + - + + + + + - + + + + + - + + + + + + + + + + + - + + + + + + + + 取消编辑 + 保存 + \ No newline at end of file diff --git a/pages/invoiceList/components/info/index.wxss b/pages/invoiceList/components/info/index.wxss index 20acb8b..4f4bc36 100644 --- a/pages/invoiceList/components/info/index.wxss +++ b/pages/invoiceList/components/info/index.wxss @@ -1 +1,34 @@ -/* pages/invoiceList/components/info/index.wxss */ \ No newline at end of file +/* pages/invoiceList/components/info/index.wxss */ +.cardOperate { + display: flex; + align-items: center; + font-size: 32rpx; +} + +.cardWrapper { + margin-top: 30rpx; +} + +.editContent { + margin-left: 20rpx; +} + +.van-cell { + padding-left: 0rpx !important; + padding-right: 0rpx !important; +} + +.submit { + margin: 32rpx; + margin-bottom: 50rpx; + display: flex; + align-items: center; +} + +.cancelEdit, .save { + flex: 1; +} + +.cancelEdit { + margin-right: 40rpx; +} \ No newline at end of file diff --git a/pages/invoiceList/index.js b/pages/invoiceList/index.js index dffc733..c758a79 100644 --- a/pages/invoiceList/index.js +++ b/pages/invoiceList/index.js @@ -16,7 +16,8 @@ Page({ { name: '编辑', }, { name: '删除', }, ], - selectData: {} + selectData: {}, + active: 1, }, /** @@ -68,6 +69,9 @@ Page({ break; } }, + onChange(e) { + this.setData({ active: e.detail.index }) + }, async handleDelete() { const { id } = this.data.selectData; await wxModal({ content: "确定要删除当前记录吗?" }) diff --git a/pages/invoiceList/index.wxml b/pages/invoiceList/index.wxml index 39200ad..5799d4d 100644 --- a/pages/invoiceList/index.wxml +++ b/pages/invoiceList/index.wxml @@ -1,13 +1,12 @@ - - + - + - + \ No newline at end of file diff --git a/pages/invoicing/components/card/index.wxml b/pages/invoicing/components/card/index.wxml deleted file mode 100644 index ba9652d..0000000 --- a/pages/invoicing/components/card/index.wxml +++ /dev/null @@ -1,7 +0,0 @@ - - - {{ title }} - - - - \ No newline at end of file diff --git a/pages/invoicing/index.js b/pages/invoicing/index.js index 49dbe58..a788f3b 100644 --- a/pages/invoicing/index.js +++ b/pages/invoicing/index.js @@ -17,7 +17,6 @@ Page({ */ onLoad(options) { const { money = 10, tenement, ids = 'q', count = 10 } = options; - console.log('option', options) this.setData({ money, tenement, ids: ids.split(","), count }) }, diff --git a/pages/invoicing/index.json b/pages/invoicing/index.json index 7b0cb21..0bd6797 100644 --- a/pages/invoicing/index.json +++ b/pages/invoicing/index.json @@ -2,7 +2,7 @@ "usingComponents": { "navigator": "/components/navigator/index", "van-button": "@vant/weapp/button/index", - "card": "./components/card/index", + "card": "/components/card/index", "van-radio": "@vant/weapp/radio/index", "van-radio-group": "@vant/weapp/radio-group/index", "van-field": "@vant/weapp/field/index", diff --git a/pages/invoicing/index.wxml b/pages/invoicing/index.wxml index 00243d0..b21fab2 100644 --- a/pages/invoicing/index.wxml +++ b/pages/invoicing/index.wxml @@ -6,7 +6,7 @@ - + 普通电子发票 增值税专用电子发票 @@ -14,68 +14,71 @@ - - - - 企业单位 - 个人/非企业单位 - - + + + + + 企业单位 + 个人/非企业单位 + + + + + + + + + + + + - - - - - - - - diff --git a/pages/member/components/approveMember/index.js b/pages/member/components/approveMember/index.js deleted file mode 100644 index f1c6baf..0000000 --- a/pages/member/components/approveMember/index.js +++ /dev/null @@ -1,63 +0,0 @@ -import { approveUser, getApproveList } from "../../../../service/user" -import { alertInfo, alertSuccess, wxModal } from "../../../../utils/index"; -import request from "../../../../utils/request" - -const { OK } = request; - -Component({ - - /** - * 组件的属性列表 - */ - properties: { - - }, - - /** - * 组件的初始数据 - */ - data: { - list: [] - }, - lifetimes: { - attached: function() { - // this.setData({ - // list: [] - // }) - this.init(); - } - }, - /** - * 组件的方法列表 - */ - methods: { - async init() { - const result = await getApproveList() - this.setData({ - list: result.data - }) - }, - async agree(e) { - const { user } = e.currentTarget.dataset; - await wxModal({ content: `同意${user.nickName}的申请?` }) - const { code, message } = await approveUser({ userId: user.id, type: 1 }) - if (code !== OK) { - alertInfo(message) - return; - } - alertSuccess("已同意") - this.init() - }, - async disAgree(e) { - const { user } = e.currentTarget.dataset; - await wxModal({ content: `拒绝${user.nickName}的申请?` }) - const { code, message } = await approveUser({ userId: user.id, type: 0 }) - if (code !== OK) { - alertInfo(message) - return; - } - alertSuccess("已拒绝") - this.init() - } - } -}) \ No newline at end of file diff --git a/pages/member/components/approveMember/index.json b/pages/member/components/approveMember/index.json deleted file mode 100644 index e8cfaaf..0000000 --- a/pages/member/components/approveMember/index.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "component": true, - "usingComponents": {} -} \ No newline at end of file diff --git a/pages/member/components/approveMember/index.wxml b/pages/member/components/approveMember/index.wxml deleted file mode 100644 index 9ee6ea0..0000000 --- a/pages/member/components/approveMember/index.wxml +++ /dev/null @@ -1,8 +0,0 @@ - - - {{ item.nickName }} - - 同意 - 拒绝 - - \ No newline at end of file diff --git a/pages/member/components/approveMember/index.wxss b/pages/member/components/approveMember/index.wxss deleted file mode 100644 index 4f2195c..0000000 --- a/pages/member/components/approveMember/index.wxss +++ /dev/null @@ -1,21 +0,0 @@ -/* pages/member/components/approveMember/index.wxss */ -.item { - display: flex; - align-items: center; - padding-top: 24rpx; - padding-bottom: 24rpx; - margin-left: 32rpx; - margin-right: 32rpx; -} - -.nickName { - flex: 1; -} - -.operate { - display: flex; -} - -.disAgree { - margin-left: 24rpx; -} \ No newline at end of file diff --git a/pages/member/components/memberManage/index.json b/pages/member/components/memberManage/index.json index c99aa63..c41e266 100644 --- a/pages/member/components/memberManage/index.json +++ b/pages/member/components/memberManage/index.json @@ -1,8 +1,6 @@ { "component": true, "usingComponents": { - "van-tab": "@vant/weapp/tab/index", - "van-tabs": "@vant/weapp/tabs/index", "avatar": "/components/avatar/index", "van-button": "@vant/weapp/button/index" } diff --git a/pages/member/components/memberManage/index.wxml b/pages/member/components/memberManage/index.wxml index a4ed1c2..99495f6 100644 --- a/pages/member/components/memberManage/index.wxml +++ b/pages/member/components/memberManage/index.wxml @@ -1,15 +1,13 @@ - - - + + + {{ ele.name }} {{ ele.phone }} - + 设为管理员 移除 - - \ No newline at end of file diff --git a/pages/member/index.json b/pages/member/index.json index 4cfe010..1a5addf 100644 --- a/pages/member/index.json +++ b/pages/member/index.json @@ -2,7 +2,6 @@ "usingComponents": { "van-tab": "@vant/weapp/tab/index", "van-tabs": "@vant/weapp/tabs/index", - "approve-member": "./components/approveMember/index", "member-manage": "./components/memberManage/index", "navigator": "/components/navigator/index" }, diff --git a/pages/rechargeRecord/index.js b/pages/rechargeRecord/index.js index 73cc495..6503943 100644 --- a/pages/rechargeRecord/index.js +++ b/pages/rechargeRecord/index.js @@ -106,7 +106,6 @@ Page({ let tenements = [{id: "", name: "全部"}]; data.forEach(item => { if (item.tenements) { - console.log('item.te', item.tenements) tenements = [...tenements, ...item.tenements] } }) @@ -114,6 +113,10 @@ Page({ }, async init(year, tenement) { const { code, message, data = [], amount = 0 } = await getRechargeList(year, tenement); + if (code !== OK) { + alertInfo(message) + return; + } this.setData({ list: data, amount diff --git a/service/invoice.js b/service/invoice.js index 9a12c31..a4e8239 100644 --- a/service/invoice.js +++ b/service/invoice.js @@ -1,9 +1,9 @@ import apis from '../utils/request'; const { GET, POST, PUT, DELETE } = apis -// 获取创建的发开票信息列表 -export const getInvoiceInfoList = async function() { - return await GET(`/wx/getInvoiceInfoList`); +// 获取当前商户开票信息 +export const getInvoiceInfo = async function() { + return await GET(`/wx/getInvoiceInfo/${wx.getStorageSync('tenement').id}`); } // 创建开票信息 @@ -13,7 +13,7 @@ export const createInvoiceInfo = async function(data) { // 修改开票信息 export const updateInvoiceInfo = async function(data) { - return await PUT(`/wx/updateInvoiceInfo/${id}`, data); + return await PUT(`/wx/updateInvoiceInfo`, data); } // 删除发票信息 diff --git a/utils/request.js b/utils/request.js index 095c21a..9e65452 100644 --- a/utils/request.js +++ b/utils/request.js @@ -89,6 +89,7 @@ const parseResponse = function (response, url) { wx.redirectTo({ url: '/pages/login/index', }) + wx.clearStorageSync() return { code: 401, message: '未登录状态' } } if (statusCode === 403) {