diff --git a/public/static/upload/images/app_center_nav/2020/12/08/1607398361522502.png b/public/static/upload/images/app_center_nav/2020/12/08/1607398361522502.png new file mode 100644 index 000000000..2f0dfce62 Binary files /dev/null and b/public/static/upload/images/app_center_nav/2020/12/08/1607398361522502.png differ diff --git a/sourcecode/weixin/default/app.json b/sourcecode/weixin/default/app.json index 55ecc5159..79ef6796e 100755 --- a/sourcecode/weixin/default/app.json +++ b/sourcecode/weixin/default/app.json @@ -66,7 +66,12 @@ "pages/plugins/weixinliveplayer/index/index", "pages/plugins/weixinliveplayer/search/search", "pages/plugins/weixinliveplayer/detail/detail", - "pages/plugins/exchangerate/currency/currency" + "pages/plugins/exchangerate/currency/currency", + "pages/plugins/invoice/user/user", + "pages/plugins/invoice/invoice/invoice", + "pages/plugins/invoice/invoice-detail/invoice-detail", + "pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo", + "pages/plugins/invoice/order/order" ], "permission": { "scope.userLocation": { diff --git a/sourcecode/weixin/default/images/plugins/invoice/user-center-invoice-icon.png b/sourcecode/weixin/default/images/plugins/invoice/user-center-invoice-icon.png new file mode 100644 index 000000000..ad612e227 Binary files /dev/null and b/sourcecode/weixin/default/images/plugins/invoice/user-center-invoice-icon.png differ diff --git a/sourcecode/weixin/default/images/plugins/invoice/user-center-order-icon.png b/sourcecode/weixin/default/images/plugins/invoice/user-center-order-icon.png new file mode 100644 index 000000000..c48293ce4 Binary files /dev/null and b/sourcecode/weixin/default/images/plugins/invoice/user-center-order-icon.png differ diff --git a/sourcecode/weixin/default/pages/plugins/distribution/poster/poster.js b/sourcecode/weixin/default/pages/plugins/distribution/poster/poster.js index 4119cd348..99c632a18 100644 --- a/sourcecode/weixin/default/pages/plugins/distribution/poster/poster.js +++ b/sourcecode/weixin/default/pages/plugins/distribution/poster/poster.js @@ -124,7 +124,7 @@ Page({ success(res) { app.showToast('复制成功', 'success'); } - }) + }); } else { app.showToast('链接地址有误'); } diff --git a/sourcecode/weixin/default/pages/plugins/invoice/invoice-detail/invoice-detail.js b/sourcecode/weixin/default/pages/plugins/invoice/invoice-detail/invoice-detail.js new file mode 100644 index 000000000..2bd463e25 --- /dev/null +++ b/sourcecode/weixin/default/pages/plugins/invoice/invoice-detail/invoice-detail.js @@ -0,0 +1,117 @@ +const app = getApp(); +Page({ + data: { + params: null, + data_list_loding_status: 1, + data_list_loding_msg: '', + data_bottom_line_status: false, + detail: null, + detail_list: [], + express_data: [], + }, + + onLoad(params) { + //params['id'] = 1; + this.setData({ params: params }); + this.init(); + }, + + onShow() {}, + + init() { + var self = this; + wx.showLoading({ title: "加载中..." }); + this.setData({ + data_list_loding_status: 1 + }); + + wx.request({ + url: app.get_request_url("detail", "user", "invoice"), + method: "POST", + data: { + id: this.data.params.id + }, + dataType: "json", + success: res => { + wx.hideLoading(); + wx.stopPullDownRefresh(); + if (res.data.code == 0) { + var data = res.data.data; + self.setData({ + detail: data.data, + detail_list: [ + { name: "业务类型", value: data.data.business_type_name || '' }, + { name: "申请类型", value: data.data.apply_type_name || '' }, + { name: "发票类型", value: data.data.invoice_type_name || '' }, + { name: "发票金额", value: data.data.total_price || '' }, + { name: "状态", value: data.data.status_name || '' }, + { name: "发票内容", value: data.data.invoice_account || '' }, + { name: "发票抬头", value: data.data.invoice_title || '' }, + { name: "纳税识别号", value: data.data.invoice_code || '' }, + { name: "企业开户行名称", value: data.data.invoice_bank || '' }, + { name: "企业开户帐号", value: data.data.invoice_account || '' }, + { name: "企业联系电话", value: data.data.invoice_tel || '' }, + { name: "企业注册地址", value: data.data.invoice_address || '' }, + { name: "收件人姓名", value: data.data.name || '' }, + { name: "收件人电话", value: data.data.tel || '' }, + { name: "收件人地址", value: data.data.address || '' }, + { name: "电子邮箱", value: data.data.email || '' }, + { name: "拒绝原因", value: data.data.refuse_reason || '' }, + { name: "用户备注", value: data.data.user_note || '' }, + { name: "创建时间", value: data.data.add_time || '' }, + { name: "更新时间", value: data.data.upd_time || '' }, + ], + express_data: [ + { name: "快递名称", value: data.data.express_name || '' }, + { name: "快递单号", value: data.data.express_number || '' }, + ], + + data_list_loding_status: 3, + data_bottom_line_status: true, + data_list_loding_msg: '', + }); + } else { + self.setData({ + data_list_loding_status: 2, + data_bottom_line_status: false, + data_list_loding_msg: res.data.msg, + }); + if (app.is_login_check(res.data, self, 'init')) { + app.showToast(res.data.msg); + } + } + }, + fail: () => { + wx.hideLoading(); + wx.stopPullDownRefresh(); + self.setData({ + data_list_loding_status: 2, + data_bottom_line_status: false, + data_list_loding_msg: '服务器请求出错', + }); + + app.showToast("服务器请求出错"); + } + }); + }, + + // 下拉刷新 + onPullDownRefresh() { + this.init(); + }, + + // 电子发票复制 + electronic_invoice_event(e) { + var value = e.currentTarget.dataset.value || null; + if (value != null) { + wx.setClipboardData({ + data: value, + success(res) { + app.showToast('复制成功', 'success'); + } + }); + } else { + app.showToast('链接地址有误'); + } + }, +}); \ No newline at end of file diff --git a/sourcecode/weixin/default/pages/plugins/invoice/invoice-detail/invoice-detail.json b/sourcecode/weixin/default/pages/plugins/invoice/invoice-detail/invoice-detail.json new file mode 100644 index 000000000..7e909a850 --- /dev/null +++ b/sourcecode/weixin/default/pages/plugins/invoice/invoice-detail/invoice-detail.json @@ -0,0 +1,4 @@ +{ + "enablePullDownRefresh": true, + "navigationBarTitleText": "发票详情" +} \ No newline at end of file diff --git a/sourcecode/weixin/default/pages/plugins/invoice/invoice-detail/invoice-detail.wxml b/sourcecode/weixin/default/pages/plugins/invoice/invoice-detail/invoice-detail.wxml new file mode 100644 index 000000000..d8ce10ffd --- /dev/null +++ b/sourcecode/weixin/default/pages/plugins/invoice/invoice-detail/invoice-detail.wxml @@ -0,0 +1,47 @@ + + + 申请信息 + + + {{item.name}} + {{item.value}} + + + + + + + 快递信息 + + + {{item.name}} + {{item.value}} + + + + + + + 电子发票 + + + {{item.title}} + + + 可点击发票名称复制后、到浏览器打开地址下载发票。 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sourcecode/weixin/default/pages/plugins/invoice/invoice-detail/invoice-detail.wxss b/sourcecode/weixin/default/pages/plugins/invoice/invoice-detail/invoice-detail.wxss new file mode 100644 index 000000000..bf22478b7 --- /dev/null +++ b/sourcecode/weixin/default/pages/plugins/invoice/invoice-detail/invoice-detail.wxss @@ -0,0 +1,27 @@ +.panel-item .panel-title { + background: #fff; + font-weight: bold; + padding: 15rpx; + border-bottom: 2px solid #eee; + font-size: 34rpx; +} +.panel-item .panel-content .item { + padding: 20rpx 0; +} +.panel-item .panel-content .item:last-child { + border: 0; +} +.panel-item .panel-content .item .title { + width: 25%; + padding-left: 20rpx; +} +.panel-item .panel-content .item .content { + width: calc(75% - 50rpx); + padding-left: 20rpx; + min-height: 46rpx; + word-wrap: break-word; + word-break: normal; +} +.panel-item .panel-content .item view { + line-height: 46rpx; +} \ No newline at end of file diff --git a/sourcecode/weixin/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.js b/sourcecode/weixin/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.js new file mode 100644 index 000000000..d165ec8fa --- /dev/null +++ b/sourcecode/weixin/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.js @@ -0,0 +1,260 @@ +const app = getApp(); +Page({ + data: { + params: null, + form_submit_loading: false, + data_list_loding_status: 1, + data_list_loding_msg: '', + data_bottom_line_status: false, + data_base: null, + apply_type_list: null, + can_invoice_type_list: null, + invoice_content_list: null, + save_base_data: null, + data: null, + + form_invoice_type_index: 0, + form_apply_type_index: 0, + form_apply_type_disabled: false, + company_container: false, + company_special_container: false, + addressee_container: false, + email_container: true, + }, + + onLoad(params) { + this.setData({ params: params }); + this.init(); + }, + + onShow() {}, + + init() { + var self = this; + wx.showLoading({ title: "加载中..." }); + this.setData({ + data_list_loding_status: 1 + }); + + wx.request({ + url: app.get_request_url("saveinfo", "user", "invoice"), + method: "POST", + data: this.data.params, + dataType: "json", + success: res => { + wx.hideLoading(); + wx.stopPullDownRefresh(); + if (res.data.code == 0) { + var data = res.data.data; + self.setData({ + data_base: data.base || null, + apply_type_list: data.apply_type_list || null, + can_invoice_type_list: data.can_invoice_type_list || null, + invoice_content_list: data.invoice_content_list || null, + save_base_data: data.save_base_data, + data: ((data.data || null) == null || data.data.length == 0) ? null : data.data, + data_list_loding_status: 0, + data_bottom_line_status: true, + data_list_loding_msg: (data.save_base_data.total_price <= 0) ? '发票金额必须大于0' : '', + }); + } else { + self.setData({ + data_list_loding_status: 2, + data_bottom_line_status: false, + data_list_loding_msg: res.data.msg, + }); + if (app.is_login_check(res.data, self, 'init')) { + app.showToast(res.data.msg); + } + } + }, + fail: () => { + wx.hideLoading(); + wx.stopPullDownRefresh(); + self.setData({ + data_list_loding_status: 2, + data_bottom_line_status: false, + data_list_loding_msg: '服务器请求出错', + }); + + app.showToast("服务器请求出错"); + } + }); + }, + + // 下拉刷新 + onPullDownRefresh() { + this.init(); + }, + + // 发票类型事件 + form_invoice_type_event(e) { + this.setData({ + form_invoice_type_index: e.detail.value + }); + this.invoice_container_handle(); + }, + + // 发票类型事件 + form_apply_type_event(e) { + this.setData({ + form_apply_type_index: e.detail.value + }); + this.invoice_container_handle(); + }, + + // 容器显隐处理 + invoice_container_handle() { + // 发票类型 + var invoice_type = this.data.can_invoice_type_list[this.data.form_invoice_type_index]['id']; + if(invoice_type == 2) + { + // 选择专票的时候申请类型必须是企业 + this.setData({ + form_apply_type_index: 1, + form_apply_type_disabled: true, + }); + } else { + this.setData({ + form_apply_type_disabled: false, + }); + } + + // 申请类型 + switch(invoice_type) + { + // 增值税普通电子发票 + case 0 : + this.setData({ + company_special_container: false, + addressee_container: false, + email_container: true, + }); + break; + + // 增值税普通纸质发票 + case 1 : + this.setData({ + company_special_container: false, + addressee_container: true, + email_container: false, + }); + break; + + // 增值税专业纸质发票 + case 2 : + this.setData({ + company_container: true, + company_special_container: true, + addressee_container: true, + email_container: false, + }); + break; + } + + // 增值税专业纸质发票情况下个人类型处理 + if(invoice_type != 2) + { + var apply_type = this.data.apply_type_list[this.data.form_apply_type_index]['id']; + if(apply_type == 0) + { + this.setData({ + company_container: false, + }); + } else { + this.setData({ + company_container: true, + }); + } + } + }, + + // 表单提交 + formSubmit(e) + { + var data = e.detail.value; + if((this.data.data || null) == null) + { + data['ids'] = this.data.params.ids || ''; + data['type'] = this.data.params.type || ''; + } else { + data['id'] = this.data.data.id; + } + + // 数据验证 + var validation = [ + {fields: 'invoice_type', msg: '请选择发票类型', is_can_zero: 1}, + {fields: 'apply_type', msg: '请选择申请类型', is_can_zero: 1}, + {fields: 'invoice_title', msg: '请填写发票抬头、最多200个字符'} + ]; + if(app.fields_check(data, validation)) + { + var invoice_type = this.data.can_invoice_type_list[this.data.form_invoice_type_index]['id']; + var apply_type = this.data.apply_type_list[this.data.form_apply_type_index]['id']; + if(apply_type == 1) + { + validation.push({fields: 'invoice_code', msg: '请填写企业统一社会信用代码或纳税识别号、最多160个字符'}); + } + if(invoice_type == 2) + { + validation.push({fields: 'invoice_bank', msg: '请填写企业开户行名称、最多200个字符'}); + validation.push({fields: 'invoice_account', msg: '请填写企业开户帐号、最多160个字符'}); + validation.push({fields: 'invoice_tel', msg: '请填写企业联系电话 6~15 个字符'}); + validation.push({fields: 'invoice_address', msg: '请填写企业注册地址、最多230个字符'}); + } + if(invoice_type != 0) + { + validation.push({fields: 'name', msg: '请填写收件人姓名格式 2~30 个字符之间'}); + validation.push({fields: 'tel', msg: '请填写收件人电话 6~15 个字符'}); + validation.push({fields: 'address', msg: '请填写收件人地址、最多230个字符'}); + } + if(app.fields_check(data, validation)) + { + wx.showLoading({title: '提交中...'}); + this.setData({form_submit_loading: true}); + + // 网络请求 + var self = this; + wx.request({ + url: app.get_request_url("save", "user", "invoice"), + method: 'POST', + data: data, + dataType: 'json', + header: { 'content-type': 'application/x-www-form-urlencoded' }, + success: (res) => { + wx.hideLoading(); + + if(res.data.code == 0) + { + app.showToast(res.data.msg, "success"); + setTimeout(function() + { + // 是否关闭页面进入我的发票、适合从订单开票中过来提交成功直接进入我的发票列表 + if((self.data.params || null) != null && (self.data.params.is_redirect || 0) == 1) + { + wx.redirectTo({ + url: "/pages/plugins/invoice/invoice/invoice" + }); + } else { + wx:wx.navigateBack(); + } + }, 2000); + } else { + this.setData({form_submit_loading: false}); + if (app.is_login_check(res.data)) { + app.showToast(res.data.msg); + } else { + app.showToast('提交失败,请重试!'); + } + } + }, + fail: () => { + wx.hideLoading(); + this.setData({form_submit_loading: false}); + app.showToast('服务器请求出错'); + } + }); + } + } + }, +}); \ No newline at end of file diff --git a/sourcecode/weixin/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.json b/sourcecode/weixin/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.json new file mode 100644 index 000000000..2f2feff85 --- /dev/null +++ b/sourcecode/weixin/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.json @@ -0,0 +1,4 @@ +{ + "enablePullDownRefresh": true, + "navigationBarTitleText": "开票" +} \ No newline at end of file diff --git a/sourcecode/weixin/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.wxml b/sourcecode/weixin/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.wxml new file mode 100644 index 000000000..342675c84 --- /dev/null +++ b/sourcecode/weixin/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.wxml @@ -0,0 +1,95 @@ + +
+ + 发票金额 {{save_base_data.total_price}} 元 + + + + 发票类型必选 + + + {{can_invoice_type_list[form_invoice_type_index] == undefined ? '请选择发票类型' : can_invoice_type_list[form_invoice_type_index]['name']}} + + + + + + 申请类型必选 + + + {{apply_type_list[form_apply_type_index] == undefined ? '请选择申请类型' : apply_type_list[form_apply_type_index]['name']}} + + + + + + 发票抬头必填 + + + + + + + 企业统一社会信用代码或纳税识别号必填 + + + + + + + + 企业开户行名称必填 + + + + 企业开户帐号必填 + + + + 企业联系电话必填 + + + + 企业注册地址必填 + + + + + + + + 收件人姓名必填 + + + + 收件人电话必填 + + + + 收件人地址必填 + + + + + + + + 电子邮箱选填 + + + + + + 备注选填 + + + + + + +
+
+ + + + \ No newline at end of file diff --git a/sourcecode/weixin/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.wxss b/sourcecode/weixin/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.wxss new file mode 100644 index 000000000..3122fa5c2 --- /dev/null +++ b/sourcecode/weixin/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.wxss @@ -0,0 +1,7 @@ +.content-top { + padding: 30rpx 10rpx; +} +.content-top text { + font-size: 38rpx; + font-weight: bold; +} \ No newline at end of file diff --git a/sourcecode/weixin/default/pages/plugins/invoice/invoice/invoice.js b/sourcecode/weixin/default/pages/plugins/invoice/invoice/invoice.js new file mode 100644 index 000000000..6d4e9f8d0 --- /dev/null +++ b/sourcecode/weixin/default/pages/plugins/invoice/invoice/invoice.js @@ -0,0 +1,230 @@ +const app = getApp(); +Page({ + data: { + data_base: null, + data_list: [], + data_page_total: 0, + data_page: 1, + data_list_loding_status: 1, + data_bottom_line_status: false, + params: null, + nav_status_list: [ + { name: "全部", value: "-1" }, + { name: "待审核", value: "0" }, + { name: "待开票", value: "1" }, + { name: "已开票", value: "2" }, + { name: "已拒绝", value: "3" }, + ], + nav_status_index: 0, + }, + + onLoad(params) { + // 是否指定状态 + var nav_status_index = 0; + if ((params.status || null) != null) { + for (var i in this.data.nav_status_list) { + if (this.data.nav_status_list[i]['value'] == params.status) { + nav_status_index = i; + break; + } + } + } + + this.setData({ + params: params, + nav_status_index: nav_status_index, + }); + }, + + onShow() { + this.init(); + }, + + init() { + var user = app.get_user_info(this, 'init'); + if (user != false) { + // 用户未绑定用户则转到登录页面 + if (app.user_is_need_login(user)) { + wx.redirectTo({ + url: "/pages/login/login?event_callback=init" + }); + return false; + } else { + // 获取数据 + this.get_data_list(); + } + } else { + this.setData({ + data_list_loding_status: 0, + data_bottom_line_status: false, + }); + } + }, + + // 获取数据 + get_data_list(is_mandatory) { + // 分页是否还有数据 + if ((is_mandatory || 0) == 0) { + if (this.data.data_bottom_line_status == true) { + return false; + } + } + + // 加载loding + wx.showLoading({ title: "加载中..." }); + this.setData({ + data_list_loding_status: 1 + }); + + // 请求数据 + var data = { + page: this.data.data_page + }; + + // 参数 + var status = ((this.data.nav_status_list[this.data.nav_status_index] || null) == null) ? -1 : this.data.nav_status_list[this.data.nav_status_index]['value']; + if(status != -1) + { + data['status'] = status; + } + + // 获取数据 + wx.request({ + url: app.get_request_url("index", "user", "invoice"), + method: "POST", + data: data, + dataType: "json", + success: res => { + wx.hideLoading(); + wx.stopPullDownRefresh(); + if (res.data.code == 0) { + if (res.data.data.data.length > 0) { + if (this.data.data_page <= 1) { + var temp_data_list = res.data.data.data; + } else { + var temp_data_list = this.data.data_list; + var temp_data = res.data.data.data; + for (var i in temp_data) { + temp_data_list.push(temp_data[i]); + } + } + this.setData({ + data_base: res.data.data.base || null, + data_list: temp_data_list, + data_total: res.data.data.total, + data_page_total: res.data.data.page_total, + data_list_loding_status: 3, + data_page: this.data.data_page + 1, + }); + + // 是否还有数据 + if (this.data.data_page > 1 && this.data.data_page > this.data.data_page_total) { + this.setData({ data_bottom_line_status: true }); + } else { + this.setData({ data_bottom_line_status: false }); + } + } else { + this.setData({ + data_list_loding_status: 0, + data_list: [], + data_bottom_line_status: false, + }); + } + } else { + this.setData({ + data_list_loding_status: 0, + }); + if (app.is_login_check(res.data, this, 'get_data_list')) { + app.showToast(res.data.msg); + } + } + }, + fail: () => { + wx.hideLoading(); + wx.stopPullDownRefresh(); + + this.setData({ + data_list_loding_status: 2, + }); + app.showToast("服务器请求出错"); + } + }); + }, + + // 下拉刷新 + onPullDownRefresh() { + this.setData({ + data_page: 1 + }); + this.get_data_list(1); + }, + + // 滚动加载 + scroll_lower(e) { + this.get_data_list(); + }, + + // 导航事件 + nav_event(e) { + this.setData({ + nav_status_index: e.currentTarget.dataset.index || 0, + data_page: 1, + }); + this.get_data_list(1); + }, + + // 编辑事件 + edit_event(e) { + wx.navigateTo({ + url: '/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo?id='+e.currentTarget.dataset.value, + }); + }, + + // 删除 + delete_event(e) { + wx.showModal({ + title: "温馨提示", + content: "删除后不可恢复,确定继续吗?", + confirmText: "确认", + cancelText: "不了", + success: result => { + if (result.confirm) { + // 参数 + var value = e.currentTarget.dataset.value; + var index = e.currentTarget.dataset.index; + + // 加载loding + wx.showLoading({ title: "处理中..." }); + + wx.request({ + url: app.get_request_url("delete", "user", "invoice"), + method: "POST", + data: { ids: value }, + dataType: "json", + success: res => { + wx.hideLoading(); + if (res.data.code == 0) { + var temp_data_list = this.data.data_list; + temp_data_list.splice(index, 1); + this.setData({ data_list: temp_data_list }); + if (temp_data_list.length == 0) { + this.setData({ + data_list_loding_status: 0, + data_bottom_line_status: false, + }); + } + app.showToast(res.data.msg, "success"); + } else { + app.showToast(res.data.msg); + } + }, + fail: () => { + wx.hideLoading(); + app.showToast("服务器请求出错"); + } + }); + } + } + }); + }, +}); \ No newline at end of file diff --git a/sourcecode/weixin/default/pages/plugins/invoice/invoice/invoice.json b/sourcecode/weixin/default/pages/plugins/invoice/invoice/invoice.json new file mode 100644 index 000000000..557e8cfc0 --- /dev/null +++ b/sourcecode/weixin/default/pages/plugins/invoice/invoice/invoice.json @@ -0,0 +1,4 @@ +{ + "enablePullDownRefresh": true, + "navigationBarTitleText": "我的发票" +} \ No newline at end of file diff --git a/sourcecode/weixin/default/pages/plugins/invoice/invoice/invoice.wxml b/sourcecode/weixin/default/pages/plugins/invoice/invoice/invoice.wxml new file mode 100644 index 000000000..57ba6eaa0 --- /dev/null +++ b/sourcecode/weixin/default/pages/plugins/invoice/invoice/invoice.wxml @@ -0,0 +1,56 @@ + + + + {{item.name}} + + + + + + + + + {{item.add_time}} + {{item.status_name}} + + + + + 业务类型 + {{item.business_type_name}} + + + 申请类型 + {{item.apply_type_name}} + + + 发票类型 + {{item.invoice_type_name}} + + + 发票金额 + {{item.total_price}} + + + + 发票抬头 + {{item.invoice_title}} + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sourcecode/weixin/default/pages/plugins/invoice/invoice/invoice.wxss b/sourcecode/weixin/default/pages/plugins/invoice/invoice/invoice.wxss new file mode 100644 index 000000000..a282c04c7 --- /dev/null +++ b/sourcecode/weixin/default/pages/plugins/invoice/invoice/invoice.wxss @@ -0,0 +1,47 @@ +/* + * 导航 + */ + .nav { + background: #eee; + height: 80rpx; + line-height: 80rpx; +} +.nav .item { + width: 20%; +} +.nav .active { + color: #d2364c; +} + +/* + * 列表 + */ +.scroll-box { + height: calc(100vh - 80rpx); +} +.data-list .item .base, +.data-list .item .content { + padding: 20rpx 10rpx; +} +.data-list .item .content .multi-text { + line-height: 50rpx; +} +.data-list .item .content .multi-text .title { + margin-right: 30rpx; +} +.data-list .item .content .multi-text .value { + font-weight: 500; +} +.data-list .item .content .multi-text .unit { + margin-left: 10rpx; +} +.data-list .item .operation { + padding: 20rpx 10rpx; +} +.data-list .item .operation button:not(:first-child) { + margin-left: 30rpx; +} +.data-list .item .submit-delete { + border: 1px solid #dc7f7f; + color: #dc7f7f !important; +} \ No newline at end of file diff --git a/sourcecode/weixin/default/pages/plugins/invoice/order/order.js b/sourcecode/weixin/default/pages/plugins/invoice/order/order.js new file mode 100644 index 000000000..accbe5d2f --- /dev/null +++ b/sourcecode/weixin/default/pages/plugins/invoice/order/order.js @@ -0,0 +1,139 @@ +const app = getApp(); +Page({ + data: { + data_base: null, + data_list: [], + data_page_total: 0, + data_page: 1, + data_list_loding_status: 1, + data_bottom_line_status: false, + params: null, + }, + + onLoad(params) { + this.setData({ + params: params, + }); + }, + + onShow() { + this.init(); + }, + + init() { + var user = app.get_user_info(this, 'init'); + if (user != false) { + // 用户未绑定用户则转到登录页面 + if (app.user_is_need_login(user)) { + wx.redirectTo({ + url: "/pages/login/login?event_callback=init" + }); + return false; + } else { + // 获取数据 + this.get_data_list(); + } + } else { + this.setData({ + data_list_loding_status: 0, + data_bottom_line_status: false, + }); + } + }, + + // 获取数据 + get_data_list(is_mandatory) { + // 分页是否还有数据 + if ((is_mandatory || 0) == 0) { + if (this.data.data_bottom_line_status == true) { + return false; + } + } + + // 加载loding + wx.showLoading({ title: "加载中..." }); + this.setData({ + data_list_loding_status: 1 + }); + + // 请求数据 + var data = { + page: this.data.data_page + }; + + // 获取数据 + wx.request({ + url: app.get_request_url("index", "order", "invoice"), + method: "POST", + data: data, + dataType: "json", + success: res => { + wx.hideLoading(); + wx.stopPullDownRefresh(); + if (res.data.code == 0) { + if (res.data.data.data.length > 0) { + if (this.data.data_page <= 1) { + var temp_data_list = res.data.data.data; + } else { + var temp_data_list = this.data.data_list; + var temp_data = res.data.data.data; + for (var i in temp_data) { + temp_data_list.push(temp_data[i]); + } + } + this.setData({ + data_base: res.data.data.base || null, + data_list: temp_data_list, + data_total: res.data.data.total, + data_page_total: res.data.data.page_total, + data_list_loding_status: 3, + data_page: this.data.data_page + 1, + }); + + // 是否还有数据 + if (this.data.data_page > 1 && this.data.data_page > this.data.data_page_total) { + this.setData({ data_bottom_line_status: true }); + } else { + this.setData({ data_bottom_line_status: false }); + } + } else { + this.setData({ + data_list_loding_status: 0, + data_list: [], + data_bottom_line_status: false, + }); + } + } else { + this.setData({ + data_list_loding_status: 0, + }); + if (app.is_login_check(res.data, this, 'get_data_list')) { + app.showToast(res.data.msg); + } + } + }, + fail: () => { + wx.hideLoading(); + wx.stopPullDownRefresh(); + + this.setData({ + data_list_loding_status: 2, + }); + app.showToast("服务器请求出错"); + } + }); + }, + + // 下拉刷新 + onPullDownRefresh() { + this.setData({ + data_page: 1 + }); + this.get_data_list(1); + }, + + // 滚动加载 + scroll_lower(e) { + this.get_data_list(); + }, +}); \ No newline at end of file diff --git a/sourcecode/weixin/default/pages/plugins/invoice/order/order.json b/sourcecode/weixin/default/pages/plugins/invoice/order/order.json new file mode 100644 index 000000000..f2c1b95c8 --- /dev/null +++ b/sourcecode/weixin/default/pages/plugins/invoice/order/order.json @@ -0,0 +1,4 @@ +{ + "enablePullDownRefresh": true, + "navigationBarTitleText": "订单开票" +} \ No newline at end of file diff --git a/sourcecode/weixin/default/pages/plugins/invoice/order/order.wxml b/sourcecode/weixin/default/pages/plugins/invoice/order/order.wxml new file mode 100644 index 000000000..197ac6b50 --- /dev/null +++ b/sourcecode/weixin/default/pages/plugins/invoice/order/order.wxml @@ -0,0 +1,46 @@ + + + + + {{item.add_time}} + + + + + 订单编号 + {{item.order_no}} + + + 订单总价 + {{item.total_price}} + + + + 支付金额 + {{item.pay_price}} + + + + 订单单价 + {{item.price}} + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sourcecode/weixin/default/pages/plugins/invoice/order/order.wxss b/sourcecode/weixin/default/pages/plugins/invoice/order/order.wxss new file mode 100644 index 000000000..d33b7f743 --- /dev/null +++ b/sourcecode/weixin/default/pages/plugins/invoice/order/order.wxss @@ -0,0 +1,25 @@ +/* + * 列表 + */ +.data-list .item .base, +.data-list .item .content { + padding: 20rpx 10rpx; +} +.data-list .item .content .multi-text { + line-height: 50rpx; +} +.data-list .item .content .multi-text .title { + margin-right: 30rpx; +} +.data-list .item .content .multi-text .value { + font-weight: 500; +} +.data-list .item .content .multi-text .unit { + margin-left: 10rpx; +} +.data-list .item .operation { + padding: 20rpx 10rpx; +} +.data-list .item .operation button:not(:first-child) { + margin-left: 30rpx; +} \ No newline at end of file diff --git a/sourcecode/weixin/default/pages/plugins/invoice/user/user.js b/sourcecode/weixin/default/pages/plugins/invoice/user/user.js new file mode 100644 index 000000000..6f74dcc8a --- /dev/null +++ b/sourcecode/weixin/default/pages/plugins/invoice/user/user.js @@ -0,0 +1,99 @@ +const app = getApp(); +Page({ + data: { + data_bottom_line_status: false, + data_list_loding_status: 1, + data_list_loding_msg: '', + data_base: null, + nav_list: [ + { + icon: "/images/plugins/invoice/user-center-invoice-icon.png", + title: "我的发票", + url: "/pages/plugins/invoice/invoice/invoice", + }, + { + icon: "/images/plugins/invoice/user-center-order-icon.png", + title: "订单开票", + url: "/pages/plugins/invoice/order/order", + } + ], + }, + + onLoad(params) {}, + + onShow() { + this.init(); + }, + + init(e) { + var user = app.get_user_info(this, "init"), + self = this; + if (user != false) { + // 用户未绑定用户则转到登录页面 + if (app.user_is_need_login(user)) { + wx.showModal({ + title: '温馨提示', + content: '绑定手机号码', + confirmText: '确认', + cancelText: '暂不', + success: (result) => { + wx.stopPullDownRefresh(); + if (result.confirm) { + wx.navigateTo({ + url: "/pages/login/login?event_callback=init" + }); + } + }, + }); + } else { + self.get_data(); + } + } + }, + + // 获取数据 + get_data() { + var self = this; + wx.request({ + url: app.get_request_url("center", "user", "invoice"), + method: "POST", + data: {}, + dataType: "json", + success: res => { + wx.stopPullDownRefresh(); + if (res.data.code == 0) { + var data = res.data.data; + self.setData({ + data_base: data.base || null, + data_list_loding_msg: '', + data_list_loding_status: 0, + data_bottom_line_status: false, + }); + } else { + self.setData({ + data_bottom_line_status: false, + data_list_loding_status: 2, + data_list_loding_msg: res.data.msg, + }); + if (app.is_login_check(res.data, self, 'get_data')) { + app.showToast(res.data.msg); + } + } + }, + fail: () => { + wx.stopPullDownRefresh(); + self.setData({ + data_bottom_line_status: false, + data_list_loding_status: 2, + data_list_loding_msg: '服务器请求出错', + }); + app.showToast("服务器请求出错"); + } + }); + }, + + // 下拉刷新 + onPullDownRefresh() { + this.get_data(); + }, +}); \ No newline at end of file diff --git a/sourcecode/weixin/default/pages/plugins/invoice/user/user.json b/sourcecode/weixin/default/pages/plugins/invoice/user/user.json new file mode 100644 index 000000000..557e8cfc0 --- /dev/null +++ b/sourcecode/weixin/default/pages/plugins/invoice/user/user.json @@ -0,0 +1,4 @@ +{ + "enablePullDownRefresh": true, + "navigationBarTitleText": "我的发票" +} \ No newline at end of file diff --git a/sourcecode/weixin/default/pages/plugins/invoice/user/user.wxml b/sourcecode/weixin/default/pages/plugins/invoice/user/user.wxml new file mode 100644 index 000000000..0f60ee7b7 --- /dev/null +++ b/sourcecode/weixin/default/pages/plugins/invoice/user/user.wxml @@ -0,0 +1,22 @@ + + + + + + + + + {{item.title}} + + + + + + + + + + {{item}} + + + \ No newline at end of file diff --git a/sourcecode/weixin/default/pages/plugins/invoice/user/user.wxss b/sourcecode/weixin/default/pages/plugins/invoice/user/user.wxss new file mode 100644 index 000000000..c3245db62 --- /dev/null +++ b/sourcecode/weixin/default/pages/plugins/invoice/user/user.wxss @@ -0,0 +1,29 @@ +/* + * 导航 + */ +.nav { + border-top: 1px solid #eee; +} +.nav .item { + padding: 30rpx 0; + width: calc(50% - 1px); + border-bottom: 1px solid #eee; +} +.nav .item:nth-child(odd) { + border-right: 1px solid #eee; +} +.nav .item image { + width: 100rpx; + height: 100rpx; + margin: 0 auto; +} +.nav .item .title { + margin-top: 20rpx; +} + +/* + * 提示信息 + */ +.tips-container { + padding: 0 10rpx; +} \ No newline at end of file diff --git a/sourcecode/weixin/default/pages/plugins/membershiplevelvip/poster/poster.js b/sourcecode/weixin/default/pages/plugins/membershiplevelvip/poster/poster.js index 12ebd7780..539138689 100644 --- a/sourcecode/weixin/default/pages/plugins/membershiplevelvip/poster/poster.js +++ b/sourcecode/weixin/default/pages/plugins/membershiplevelvip/poster/poster.js @@ -95,7 +95,7 @@ Page({ success(res) { app.showToast('复制成功', 'success'); } - }) + }); } else { app.showToast('链接地址有误'); } diff --git a/sourcecode/weixin/default/pages/user/user.wxml b/sourcecode/weixin/default/pages/user/user.wxml index f1e4215d1..6e8f5b371 100755 --- a/sourcecode/weixin/default/pages/user/user.wxml +++ b/sourcecode/weixin/default/pages/user/user.wxml @@ -69,7 +69,7 @@ - {{common_user_center_notice}} + {{common_user_center_notice}}