diff --git a/changelog.txt b/changelog.txt index 9d6df50cf..3bd4533e5 100755 --- a/changelog.txt +++ b/changelog.txt @@ -17,6 +17,7 @@ web端 6. 后端动态表格数据列表组件优化高度固定 7. 首页轮播左侧商品分类和右侧聚合内容新增开关控制 8. 动态表格数据列表自定义条件bug修复 + 9. 编辑器组件CDN跨域不能使用修复 小程序 1. 支付订单0金额错误修复 diff --git a/config/ueditor.php b/config/ueditor.php index 487e98e52..1366dc7e3 100644 --- a/config/ueditor.php +++ b/config/ueditor.php @@ -145,7 +145,7 @@ return [ 'fileMaxSize' => MyFileConfig('home_max_limit_file', '', 51200000, true), // 上传文件格式显示 - 'fileAllowFiles' => ['.png', '.jpg', '.jpeg', '.gif', '.bmp', '.flv', '.swf', '.mkv', '.avi', '.rm', '.rmvb', '.mpeg', '.mpg', '.ogg', '.ogv', '.mov', '.wmv', '.mp4', '.webm', '.mp3', '.wav', '.mid','.rar', '.zip', '.tar', '.gz', '.7z', '.bz2', '.cab', '.iso', '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx', '.pdf', '.txt', '.md', '.xml'], + 'fileAllowFiles' => ['.png', '.jpg', '.jpeg', '.gif', '.bmp', '.flv', '.swf', '.mkv', '.avi', '.rm', '.rmvb', '.mpeg', '.mpg', '.ogg', '.ogv', '.mov', '.wmv', '.mp4', '.webm', '.mp3', '.wav', '.mid','.rar', '.zip', '.tar', '.gz', '.7z', '.bz2', '.cab', '.iso', '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx', '.pdf', '.txt', '.md', '.xml', '.ofd'], // 列出指定目录下的图片 @@ -182,7 +182,7 @@ return [ 'fileManagerListSize' => 20, // 列出的文件类型 - 'fileManagerAllowFiles' => ['.png', '.jpg', '.jpeg', '.gif', '.bmp', '.flv', '.swf', '.mkv', '.avi', '.rm', '.rmvb', '.mpeg', '.mpg', '.ogg', '.ogv', '.mov', '.wmv', '.mp4', '.webm', '.mp3', '.wav', '.mid','.rar', '.zip', '.tar', '.gz', '.7z', '.bz2', '.cab', '.iso', '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx', '.pdf', '.txt', '.md', '.xml'], + 'fileManagerAllowFiles' => ['.png', '.jpg', '.jpeg', '.gif', '.bmp', '.flv', '.swf', '.mkv', '.avi', '.rm', '.rmvb', '.mpeg', '.mpg', '.ogg', '.ogv', '.mov', '.wmv', '.mp4', '.webm', '.mp3', '.wav', '.mid','.rar', '.zip', '.tar', '.gz', '.7z', '.bz2', '.cab', '.iso', '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx', '.pdf', '.txt', '.md', '.xml', '.ofd'], // 执行视频管理的action名称 'videoManagerActionName' => 'listvideo', diff --git a/extend/base/Excel.php b/extend/base/Excel.php index f1820e11b..d8f4a5364 100755 --- a/extend/base/Excel.php +++ b/extend/base/Excel.php @@ -81,7 +81,7 @@ class Excel $this->warap_text = isset($params['warap_text']) ? intval($params['warap_text']) : 1; // excel写入类型 - $this->writer_type = empty($params['writer_type']) ? 'Excel2007' : teim($params['writer_type']); + $this->writer_type = empty($params['writer_type']) ? 'Excel2007' : trim($params['writer_type']); // 引入PHPExcel类库 require ROOT.'extend'.DS.'phpexcel'.DS.'PHPExcel.php'; diff --git a/extend/base/Toutiao.php b/extend/base/Toutiao.php index 39590b0fa..b0b785571 100644 --- a/extend/base/Toutiao.php +++ b/extend/base/Toutiao.php @@ -55,7 +55,7 @@ class Toutiao // 获取授权 $url = 'https://developer.toutiao.com/api/apps/jscode2session?appid='.$this->config['appid'].'&secret='.$this->config['secret'].'&code='.$params['authcode']; - $result = json_decode(file_get_contents($url), true); + $result = json_decode(RequestGet($url), true); if(empty($result['openid'])) { return ['status'=>-1, 'msg'=>$result['errmsg']]; diff --git a/sourcecode/alipay/default/app.json b/sourcecode/alipay/default/app.json index 6d686e492..bd8c099d4 100644 --- a/sourcecode/alipay/default/app.json +++ b/sourcecode/alipay/default/app.json @@ -63,7 +63,12 @@ "pages/plugins/wallet/user-cash-detail/user-cash-detail", "pages/plugins/excellentbuyreturntocash/profit/profit", "pages/plugins/excellentbuyreturntocash/profit-detail/profit-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" ], "window": { "defaultTitle": "{{application_title}}", diff --git a/sourcecode/alipay/default/images/plugins/invoice/user-center-invoice-icon.png b/sourcecode/alipay/default/images/plugins/invoice/user-center-invoice-icon.png new file mode 100644 index 000000000..ad612e227 Binary files /dev/null and b/sourcecode/alipay/default/images/plugins/invoice/user-center-invoice-icon.png differ diff --git a/sourcecode/alipay/default/images/plugins/invoice/user-center-order-icon.png b/sourcecode/alipay/default/images/plugins/invoice/user-center-order-icon.png new file mode 100644 index 000000000..c48293ce4 Binary files /dev/null and b/sourcecode/alipay/default/images/plugins/invoice/user-center-order-icon.png differ diff --git a/sourcecode/alipay/default/pages/plugins/invoice/invoice-detail/invoice-detail.acss b/sourcecode/alipay/default/pages/plugins/invoice/invoice-detail/invoice-detail.acss new file mode 100644 index 000000000..bf22478b7 --- /dev/null +++ b/sourcecode/alipay/default/pages/plugins/invoice/invoice-detail/invoice-detail.acss @@ -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/alipay/default/pages/plugins/invoice/invoice-detail/invoice-detail.axml b/sourcecode/alipay/default/pages/plugins/invoice/invoice-detail/invoice-detail.axml new file mode 100644 index 000000000..93401357d --- /dev/null +++ b/sourcecode/alipay/default/pages/plugins/invoice/invoice-detail/invoice-detail.axml @@ -0,0 +1,47 @@ + + + 申请信息 + + + {{item.name}} + {{item.value}} + + + + + + + 快递信息 + + + {{item.name}} + {{item.value}} + + + + + + + 电子发票 + + + {{item.title}} + + + 可点击发票名称复制后、到浏览器打开地址下载发票。 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sourcecode/alipay/default/pages/plugins/invoice/invoice-detail/invoice-detail.js b/sourcecode/alipay/default/pages/plugins/invoice/invoice-detail/invoice-detail.js new file mode 100644 index 000000000..f6632f13c --- /dev/null +++ b/sourcecode/alipay/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; + my.showLoading({ content: "加载中..." }); + this.setData({ + data_list_loding_status: 1 + }); + + my.request({ + url: app.get_request_url("detail", "user", "invoice"), + method: "POST", + data: { + id: this.data.params.id + }, + dataType: "json", + success: res => { + my.hideLoading(); + my.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_content || '' }, + { 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: () => { + my.hideLoading(); + my.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) { + my.setClipboard({ + text: value, + success(res) { + app.showToast('复制成功', 'success'); + } + }); + } else { + app.showToast('链接地址有误'); + } + }, +}); \ No newline at end of file diff --git a/sourcecode/alipay/default/pages/plugins/invoice/invoice-detail/invoice-detail.json b/sourcecode/alipay/default/pages/plugins/invoice/invoice-detail/invoice-detail.json new file mode 100644 index 000000000..e9488f124 --- /dev/null +++ b/sourcecode/alipay/default/pages/plugins/invoice/invoice-detail/invoice-detail.json @@ -0,0 +1,4 @@ +{ + "pullRefresh": true, + "defaultTitle": "发票详情" +} \ No newline at end of file diff --git a/sourcecode/alipay/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.acss b/sourcecode/alipay/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.acss new file mode 100644 index 000000000..3122fa5c2 --- /dev/null +++ b/sourcecode/alipay/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.acss @@ -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/alipay/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.axml b/sourcecode/alipay/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.axml new file mode 100644 index 000000000..37ee843fe --- /dev/null +++ b/sourcecode/alipay/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.axml @@ -0,0 +1,104 @@ + +
+ + 发票金额 {{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']}} + + + + + + 发票内容必选 + + + {{invoice_content_list[form_invoice_content_index] == undefined ? '请选择发票内容' : invoice_content_list[form_invoice_content_index]}} + + + + + + 发票抬头必填 + + + + + + + 企业统一社会信用代码或纳税识别号必填 + + + + + + + + 企业开户行名称必填 + + + + 企业开户帐号必填 + + + + 企业联系电话必填 + + + + 企业注册地址必填 + + + + + + + + 收件人姓名必填 + + + + 收件人电话必填 + + + + 收件人地址必填 + + + + + + + + 电子邮箱选填 + + + + + + 备注选填 + + + + + + +
+
+ + + + \ No newline at end of file diff --git a/sourcecode/alipay/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.js b/sourcecode/alipay/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.js new file mode 100644 index 000000000..40aa1d9b3 --- /dev/null +++ b/sourcecode/alipay/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.js @@ -0,0 +1,280 @@ +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: [], + can_invoice_type_list: [], + invoice_content_list: [], + save_base_data: null, + data: null, + + form_invoice_type_index: 0, + form_apply_type_index: 0, + form_invoice_content_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; + my.showLoading({ content: "加载中..." }); + this.setData({ + data_list_loding_status: 1 + }); + + my.request({ + url: app.get_request_url("saveinfo", "user", "invoice"), + method: "POST", + data: this.data.params, + dataType: "json", + success: res => { + my.hideLoading(); + my.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 || [], + can_invoice_type_list: data.can_invoice_type_list || [], + invoice_content_list: data.invoice_content_list || [], + 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' : '', + }); + + // 数据容器处理 + this.invoice_container_handle(); + } 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: () => { + my.hideLoading(); + my.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(); + }, + + // 发票内容事件 + form_invoice_content_event(e) { + this.setData({ + form_invoice_content_index: e.detail.value + }); + }, + + // 容器显隐处理 + 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)) + { + // 发票类型 + data['invoice_type'] = this.data.can_invoice_type_list[this.data.form_invoice_type_index]['id']; + + // 发票内容 + if(this.data.invoice_content_list.length > 0 && this.data.invoice_content_list[this.data.form_invoice_content_index] != undefined) + { + data['invoice_content'] = this.data.invoice_content_list[this.data.form_invoice_content_index]; + } + + my.showLoading({content: '提交中...'}); + this.setData({form_submit_loading: true}); + + // 网络请求 + var self = this; + my.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) => { + my.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) + { + my.redirectTo({ + url: "/pages/plugins/invoice/invoice/invoice" + }); + } else { + my.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: () => { + my.hideLoading(); + this.setData({form_submit_loading: false}); + app.showToast('服务器请求出错'); + } + }); + } + } + }, +}); \ No newline at end of file diff --git a/sourcecode/alipay/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.json b/sourcecode/alipay/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.json new file mode 100644 index 000000000..9477efae0 --- /dev/null +++ b/sourcecode/alipay/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.json @@ -0,0 +1,4 @@ +{ + "pullRefresh": true, + "defaultTitle": "开票" +} \ No newline at end of file diff --git a/sourcecode/alipay/default/pages/plugins/invoice/invoice/invoice.acss b/sourcecode/alipay/default/pages/plugins/invoice/invoice/invoice.acss new file mode 100644 index 000000000..a282c04c7 --- /dev/null +++ b/sourcecode/alipay/default/pages/plugins/invoice/invoice/invoice.acss @@ -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/alipay/default/pages/plugins/invoice/invoice/invoice.axml b/sourcecode/alipay/default/pages/plugins/invoice/invoice/invoice.axml new file mode 100644 index 000000000..8023bdc7d --- /dev/null +++ b/sourcecode/alipay/default/pages/plugins/invoice/invoice/invoice.axml @@ -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/alipay/default/pages/plugins/invoice/invoice/invoice.js b/sourcecode/alipay/default/pages/plugins/invoice/invoice/invoice.js new file mode 100644 index 000000000..ed267addf --- /dev/null +++ b/sourcecode/alipay/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)) { + my.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 + my.showLoading({ content: "加载中..." }); + 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; + } + + // 获取数据 + my.request({ + url: app.get_request_url("index", "user", "invoice"), + method: "POST", + data: data, + dataType: "json", + success: res => { + my.hideLoading(); + my.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: () => { + my.hideLoading(); + my.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) { + my.navigateTo({ + url: '/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo?id='+e.currentTarget.dataset.value, + }); + }, + + // 删除 + delete_event(e) { + my.confirm({ + title: "温馨提示", + content: "删除后不可恢复,确定继续吗?", + confirmButtonText: "确认", + cancelButtonText: "不了", + success: result => { + if (result.confirm) { + // 参数 + var value = e.currentTarget.dataset.value; + var index = e.currentTarget.dataset.index; + + // 加载loding + my.showLoading({ content: "处理中..." }); + + my.request({ + url: app.get_request_url("delete", "user", "invoice"), + method: "POST", + data: { ids: value }, + dataType: "json", + success: res => { + my.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: () => { + my.hideLoading(); + app.showToast("服务器请求出错"); + } + }); + } + } + }); + }, +}); \ No newline at end of file diff --git a/sourcecode/alipay/default/pages/plugins/invoice/invoice/invoice.json b/sourcecode/alipay/default/pages/plugins/invoice/invoice/invoice.json new file mode 100644 index 000000000..8d209247c --- /dev/null +++ b/sourcecode/alipay/default/pages/plugins/invoice/invoice/invoice.json @@ -0,0 +1,4 @@ +{ + "pullRefresh": true, + "defaultTitle": "我的发票" +} \ No newline at end of file diff --git a/sourcecode/alipay/default/pages/plugins/invoice/order/order.acss b/sourcecode/alipay/default/pages/plugins/invoice/order/order.acss new file mode 100644 index 000000000..20027e637 --- /dev/null +++ b/sourcecode/alipay/default/pages/plugins/invoice/order/order.acss @@ -0,0 +1,43 @@ +/* + * 列表 + */ +.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; +} + +/* + * 选择 + */ + .selected .icon { + width: 40rpx; + height: 40rpx !important; + margin-left: 10rpx; + margin-right: 20rpx; + vertical-align: middle; +} + .invoice-merge-submit { + width: 220rpx; + height: 70rpx !important; + line-height: 74rpx !important; + left: calc(50% - 110rpx); + bottom: 50rpx; +} \ No newline at end of file diff --git a/sourcecode/alipay/default/pages/plugins/invoice/order/order.axml b/sourcecode/alipay/default/pages/plugins/invoice/order/order.axml new file mode 100644 index 000000000..25f58538d --- /dev/null +++ b/sourcecode/alipay/default/pages/plugins/invoice/order/order.axml @@ -0,0 +1,56 @@ + + + + + + + + + {{item.add_time}} + + + + + 订单编号 + {{item.order_no}} + + + 订单总价 + {{item.total_price}} + + + + 支付金额 + {{item.pay_price}} + + + + 订单单价 + {{item.price}} + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sourcecode/alipay/default/pages/plugins/invoice/order/order.js b/sourcecode/alipay/default/pages/plugins/invoice/order/order.js new file mode 100644 index 000000000..9c47650a7 --- /dev/null +++ b/sourcecode/alipay/default/pages/plugins/invoice/order/order.js @@ -0,0 +1,166 @@ +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, + select_ids: [], + }, + + 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)) { + my.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 + my.showLoading({ content: "加载中..." }); + this.setData({ + data_list_loding_status: 1 + }); + + // 请求数据 + var data = { + page: this.data.data_page + }; + + // 获取数据 + my.request({ + url: app.get_request_url("index", "order", "invoice"), + method: "POST", + data: data, + dataType: "json", + success: res => { + my.hideLoading(); + my.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: () => { + my.hideLoading(); + my.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(); + }, + + // 选择 + selected_event(e) { + var value = e.currentTarget.dataset.value; + var temp_select_ids = this.data.select_ids; + var index = temp_select_ids.indexOf(value); + if(index == -1) + { + temp_select_ids.push(value); + } else { + temp_select_ids.splice(index, 1); + } + this.setData({select_ids: temp_select_ids}); + }, + + // 合并开票 + invoice_merge_event(e) { + if(this.data.select_ids.length <= 0) + { + app.showToast('请先选择数据'); + return false; + } + my.navigateTo({ + url: '/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo?ids='+this.data.select_ids.join(',')+'&type=order&is_redirect=1', + }); + }, +}); \ No newline at end of file diff --git a/sourcecode/alipay/default/pages/plugins/invoice/order/order.json b/sourcecode/alipay/default/pages/plugins/invoice/order/order.json new file mode 100644 index 000000000..139a3cb35 --- /dev/null +++ b/sourcecode/alipay/default/pages/plugins/invoice/order/order.json @@ -0,0 +1,4 @@ +{ + "pullRefresh": true, + "defaultTitle": "订单开票" +} \ No newline at end of file diff --git a/sourcecode/alipay/default/pages/plugins/invoice/user/user.acss b/sourcecode/alipay/default/pages/plugins/invoice/user/user.acss new file mode 100644 index 000000000..c3245db62 --- /dev/null +++ b/sourcecode/alipay/default/pages/plugins/invoice/user/user.acss @@ -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/alipay/default/pages/plugins/invoice/user/user.axml b/sourcecode/alipay/default/pages/plugins/invoice/user/user.axml new file mode 100644 index 000000000..ab80f21a8 --- /dev/null +++ b/sourcecode/alipay/default/pages/plugins/invoice/user/user.axml @@ -0,0 +1,20 @@ + + + + + + + {{item.title}} + + + + + + + + + + {{item}} + + + \ No newline at end of file diff --git a/sourcecode/alipay/default/pages/plugins/invoice/user/user.js b/sourcecode/alipay/default/pages/plugins/invoice/user/user.js new file mode 100644 index 000000000..bb997ae3f --- /dev/null +++ b/sourcecode/alipay/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)) { + my.confirm({ + title: '温馨提示', + content: '绑定手机号码', + confirmButtonText: '确认', + cancelButtonText: '暂不', + success: (result) => { + my.stopPullDownRefresh(); + if (result.confirm) { + my.navigateTo({ + url: "/pages/login/login?event_callback=init" + }); + } + }, + }); + } else { + self.get_data(); + } + } + }, + + // 获取数据 + get_data() { + var self = this; + my.request({ + url: app.get_request_url("center", "user", "invoice"), + method: "POST", + data: {}, + dataType: "json", + success: res => { + my.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: () => { + my.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/alipay/default/pages/plugins/invoice/user/user.json b/sourcecode/alipay/default/pages/plugins/invoice/user/user.json new file mode 100644 index 000000000..8d209247c --- /dev/null +++ b/sourcecode/alipay/default/pages/plugins/invoice/user/user.json @@ -0,0 +1,4 @@ +{ + "pullRefresh": true, + "defaultTitle": "我的发票" +} \ No newline at end of file diff --git a/sourcecode/alipay/default/pages/plugins/wallet/cash-auth/cash-auth.js b/sourcecode/alipay/default/pages/plugins/wallet/cash-auth/cash-auth.js index e04da2c87..c1cb2f7ce 100644 --- a/sourcecode/alipay/default/pages/plugins/wallet/cash-auth/cash-auth.js +++ b/sourcecode/alipay/default/pages/plugins/wallet/cash-auth/cash-auth.js @@ -150,7 +150,6 @@ Page({ { fields: "account_type", msg: "请选择认证方式", "is_can_zero": 1 }, { fields: "verify", msg: "请输入验证码" }, ]; - console.log(form_data); // 验证提交表单 if (app.fields_check(form_data, validation)) { diff --git a/sourcecode/baidu/default/images/plugins/invoice/user-center-invoice-icon.png b/sourcecode/baidu/default/images/plugins/invoice/user-center-invoice-icon.png new file mode 100644 index 000000000..ad612e227 Binary files /dev/null and b/sourcecode/baidu/default/images/plugins/invoice/user-center-invoice-icon.png differ diff --git a/sourcecode/baidu/default/images/plugins/invoice/user-center-order-icon.png b/sourcecode/baidu/default/images/plugins/invoice/user-center-order-icon.png new file mode 100644 index 000000000..c48293ce4 Binary files /dev/null and b/sourcecode/baidu/default/images/plugins/invoice/user-center-order-icon.png differ diff --git a/sourcecode/baidu/default/pages/user-order-comments/user-order-comments.js b/sourcecode/baidu/default/pages/user-order-comments/user-order-comments.js index 151a47c2a..59412cf87 100644 --- a/sourcecode/baidu/default/pages/user-order-comments/user-order-comments.js +++ b/sourcecode/baidu/default/pages/user-order-comments/user-order-comments.js @@ -177,7 +177,6 @@ Page({ // 是否匿名事件 anonymous_event(e) { - console.log(e) this.setData({ anonymous_value: e.detail.checked == true ? 1 : 0 }); }, diff --git a/sourcecode/qq/default/images/plugins/invoice/user-center-invoice-icon.png b/sourcecode/qq/default/images/plugins/invoice/user-center-invoice-icon.png new file mode 100644 index 000000000..ad612e227 Binary files /dev/null and b/sourcecode/qq/default/images/plugins/invoice/user-center-invoice-icon.png differ diff --git a/sourcecode/qq/default/images/plugins/invoice/user-center-order-icon.png b/sourcecode/qq/default/images/plugins/invoice/user-center-order-icon.png new file mode 100644 index 000000000..c48293ce4 Binary files /dev/null and b/sourcecode/qq/default/images/plugins/invoice/user-center-order-icon.png differ diff --git a/sourcecode/qq/default/pages/plugins/wallet/cash-auth/cash-auth.js b/sourcecode/qq/default/pages/plugins/wallet/cash-auth/cash-auth.js index f4b70a33a..63ec2dbcf 100644 --- a/sourcecode/qq/default/pages/plugins/wallet/cash-auth/cash-auth.js +++ b/sourcecode/qq/default/pages/plugins/wallet/cash-auth/cash-auth.js @@ -150,7 +150,6 @@ Page({ { fields: "account_type", msg: "请选择认证方式", "is_can_zero": 1 }, { fields: "verify", msg: "请输入验证码" }, ]; - console.log(form_data); // 验证提交表单 if (app.fields_check(form_data, validation)) { diff --git a/sourcecode/toutiao/default/app.json b/sourcecode/toutiao/default/app.json index 4d72d6449..794a229df 100755 --- a/sourcecode/toutiao/default/app.json +++ b/sourcecode/toutiao/default/app.json @@ -60,7 +60,12 @@ "pages/plugins/wallet/user-recharge-detail/user-recharge-detail", "pages/plugins/wallet/user-cash/user-cash", "pages/plugins/wallet/user-cash-detail/user-cash-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" ], "window": { "navigationBarTitleText": "{{application_title}}", diff --git a/sourcecode/toutiao/default/images/plugins/invoice/user-center-invoice-icon.png b/sourcecode/toutiao/default/images/plugins/invoice/user-center-invoice-icon.png new file mode 100644 index 000000000..ad612e227 Binary files /dev/null and b/sourcecode/toutiao/default/images/plugins/invoice/user-center-invoice-icon.png differ diff --git a/sourcecode/toutiao/default/images/plugins/invoice/user-center-order-icon.png b/sourcecode/toutiao/default/images/plugins/invoice/user-center-order-icon.png new file mode 100644 index 000000000..c48293ce4 Binary files /dev/null and b/sourcecode/toutiao/default/images/plugins/invoice/user-center-order-icon.png differ diff --git a/sourcecode/toutiao/default/pages/goods-detail/goods-detail.js b/sourcecode/toutiao/default/pages/goods-detail/goods-detail.js index 219954429..a85275ac4 100755 --- a/sourcecode/toutiao/default/pages/goods-detail/goods-detail.js +++ b/sourcecode/toutiao/default/pages/goods-detail/goods-detail.js @@ -75,9 +75,6 @@ Page({ // 初始化配置 this.init_config(); - - // 显示分享菜单 - app.show_share_menu(); }, // 初始化配置 diff --git a/sourcecode/toutiao/default/pages/plugins/invoice/invoice-detail/invoice-detail.js b/sourcecode/toutiao/default/pages/plugins/invoice/invoice-detail/invoice-detail.js new file mode 100644 index 000000000..56a591764 --- /dev/null +++ b/sourcecode/toutiao/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; + tt.showLoading({ title: "加载中..." }); + this.setData({ + data_list_loding_status: 1 + }); + + tt.request({ + url: app.get_request_url("detail", "user", "invoice"), + method: "POST", + data: { + id: this.data.params.id + }, + dataType: "json", + success: res => { + tt.hideLoading(); + tt.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_content || '' }, + { 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: () => { + tt.hideLoading(); + tt.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) { + tt.setClipboardData({ + data: value, + success(res) { + app.showToast('复制成功', 'success'); + } + }); + } else { + app.showToast('链接地址有误'); + } + }, +}); \ No newline at end of file diff --git a/sourcecode/toutiao/default/pages/plugins/invoice/invoice-detail/invoice-detail.json b/sourcecode/toutiao/default/pages/plugins/invoice/invoice-detail/invoice-detail.json new file mode 100644 index 000000000..7e909a850 --- /dev/null +++ b/sourcecode/toutiao/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/toutiao/default/pages/plugins/invoice/invoice-detail/invoice-detail.ttml b/sourcecode/toutiao/default/pages/plugins/invoice/invoice-detail/invoice-detail.ttml new file mode 100644 index 000000000..522315a07 --- /dev/null +++ b/sourcecode/toutiao/default/pages/plugins/invoice/invoice-detail/invoice-detail.ttml @@ -0,0 +1,47 @@ + + + 申请信息 + + + {{item.name}} + {{item.value}} + + + + + + + 快递信息 + + + {{item.name}} + {{item.value}} + + + + + + + 电子发票 + + + {{item.title}} + + + 可点击发票名称复制后、到浏览器打开地址下载发票。 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sourcecode/toutiao/default/pages/plugins/invoice/invoice-detail/invoice-detail.ttss b/sourcecode/toutiao/default/pages/plugins/invoice/invoice-detail/invoice-detail.ttss new file mode 100644 index 000000000..bf22478b7 --- /dev/null +++ b/sourcecode/toutiao/default/pages/plugins/invoice/invoice-detail/invoice-detail.ttss @@ -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/toutiao/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.js b/sourcecode/toutiao/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.js new file mode 100644 index 000000000..c54bb99dd --- /dev/null +++ b/sourcecode/toutiao/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.js @@ -0,0 +1,280 @@ +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: [], + can_invoice_type_list: [], + invoice_content_list: [], + save_base_data: null, + data: null, + + form_invoice_type_index: 0, + form_apply_type_index: 0, + form_invoice_content_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; + tt.showLoading({ title: "加载中..." }); + this.setData({ + data_list_loding_status: 1 + }); + + tt.request({ + url: app.get_request_url("saveinfo", "user", "invoice"), + method: "POST", + data: this.data.params, + dataType: "json", + success: res => { + tt.hideLoading(); + tt.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 || [], + can_invoice_type_list: data.can_invoice_type_list || [], + invoice_content_list: data.invoice_content_list || [], + 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' : '', + }); + + // 数据容器处理 + this.invoice_container_handle(); + } 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: () => { + tt.hideLoading(); + tt.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(); + }, + + // 发票内容事件 + form_invoice_content_event(e) { + this.setData({ + form_invoice_content_index: e.detail.value + }); + }, + + // 容器显隐处理 + 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)) + { + // 发票类型 + data['invoice_type'] = this.data.can_invoice_type_list[this.data.form_invoice_type_index]['id']; + + // 发票内容 + if(this.data.invoice_content_list.length > 0 && this.data.invoice_content_list[this.data.form_invoice_content_index] != undefined) + { + data['invoice_content'] = this.data.invoice_content_list[this.data.form_invoice_content_index]; + } + + tt.showLoading({title: '提交中...'}); + this.setData({form_submit_loading: true}); + + // 网络请求 + var self = this; + tt.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) => { + tt.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) + { + tt.redirectTo({ + url: "/pages/plugins/invoice/invoice/invoice" + }); + } else { + tt:tt.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: () => { + tt.hideLoading(); + this.setData({form_submit_loading: false}); + app.showToast('服务器请求出错'); + } + }); + } + } + }, +}); \ No newline at end of file diff --git a/sourcecode/toutiao/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.json b/sourcecode/toutiao/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.json new file mode 100644 index 000000000..2f2feff85 --- /dev/null +++ b/sourcecode/toutiao/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/toutiao/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.ttml b/sourcecode/toutiao/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.ttml new file mode 100644 index 000000000..0c9408ffc --- /dev/null +++ b/sourcecode/toutiao/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.ttml @@ -0,0 +1,104 @@ + +
+ + 发票金额 {{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']}} + + + + + + 发票内容必选 + + + {{invoice_content_list[form_invoice_content_index] == undefined ? '请选择发票内容' : invoice_content_list[form_invoice_content_index]}} + + + + + + 发票抬头必填 + + + + + + + 企业统一社会信用代码或纳税识别号必填 + + + + + + + + 企业开户行名称必填 + + + + 企业开户帐号必填 + + + + 企业联系电话必填 + + + + 企业注册地址必填 + + + + + + + + 收件人姓名必填 + + + + 收件人电话必填 + + + + 收件人地址必填 + + + + + + + + 电子邮箱选填 + + + + + + 备注选填 + + + + + + +
+
+ + + + \ No newline at end of file diff --git a/sourcecode/toutiao/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.ttss b/sourcecode/toutiao/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.ttss new file mode 100644 index 000000000..3122fa5c2 --- /dev/null +++ b/sourcecode/toutiao/default/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo.ttss @@ -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/toutiao/default/pages/plugins/invoice/invoice/invoice.js b/sourcecode/toutiao/default/pages/plugins/invoice/invoice/invoice.js new file mode 100644 index 000000000..aeb33ade3 --- /dev/null +++ b/sourcecode/toutiao/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)) { + tt.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 + tt.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; + } + + // 获取数据 + tt.request({ + url: app.get_request_url("index", "user", "invoice"), + method: "POST", + data: data, + dataType: "json", + success: res => { + tt.hideLoading(); + tt.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: () => { + tt.hideLoading(); + tt.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) { + tt.navigateTo({ + url: '/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo?id='+e.currentTarget.dataset.value, + }); + }, + + // 删除 + delete_event(e) { + tt.showModal({ + title: "温馨提示", + content: "删除后不可恢复,确定继续吗?", + confirmText: "确认", + cancelText: "不了", + success: result => { + if (result.confirm) { + // 参数 + var value = e.currentTarget.dataset.value; + var index = e.currentTarget.dataset.index; + + // 加载loding + tt.showLoading({ title: "处理中..." }); + + tt.request({ + url: app.get_request_url("delete", "user", "invoice"), + method: "POST", + data: { ids: value }, + dataType: "json", + success: res => { + tt.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: () => { + tt.hideLoading(); + app.showToast("服务器请求出错"); + } + }); + } + } + }); + }, +}); \ No newline at end of file diff --git a/sourcecode/toutiao/default/pages/plugins/invoice/invoice/invoice.json b/sourcecode/toutiao/default/pages/plugins/invoice/invoice/invoice.json new file mode 100644 index 000000000..557e8cfc0 --- /dev/null +++ b/sourcecode/toutiao/default/pages/plugins/invoice/invoice/invoice.json @@ -0,0 +1,4 @@ +{ + "enablePullDownRefresh": true, + "navigationBarTitleText": "我的发票" +} \ No newline at end of file diff --git a/sourcecode/toutiao/default/pages/plugins/invoice/invoice/invoice.ttml b/sourcecode/toutiao/default/pages/plugins/invoice/invoice/invoice.ttml new file mode 100644 index 000000000..e4a94ca0b --- /dev/null +++ b/sourcecode/toutiao/default/pages/plugins/invoice/invoice/invoice.ttml @@ -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/toutiao/default/pages/plugins/invoice/invoice/invoice.ttss b/sourcecode/toutiao/default/pages/plugins/invoice/invoice/invoice.ttss new file mode 100644 index 000000000..a282c04c7 --- /dev/null +++ b/sourcecode/toutiao/default/pages/plugins/invoice/invoice/invoice.ttss @@ -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/toutiao/default/pages/plugins/invoice/order/order.js b/sourcecode/toutiao/default/pages/plugins/invoice/order/order.js new file mode 100644 index 000000000..1d71eadcf --- /dev/null +++ b/sourcecode/toutiao/default/pages/plugins/invoice/order/order.js @@ -0,0 +1,166 @@ +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, + select_ids: [], + }, + + 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)) { + tt.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 + tt.showLoading({ title: "加载中..." }); + this.setData({ + data_list_loding_status: 1 + }); + + // 请求数据 + var data = { + page: this.data.data_page + }; + + // 获取数据 + tt.request({ + url: app.get_request_url("index", "order", "invoice"), + method: "POST", + data: data, + dataType: "json", + success: res => { + tt.hideLoading(); + tt.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: () => { + tt.hideLoading(); + tt.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(); + }, + + // 选择 + selected_event(e) { + var value = e.currentTarget.dataset.value; + var temp_select_ids = this.data.select_ids; + var index = temp_select_ids.indexOf(value); + if(index == -1) + { + temp_select_ids.push(value); + } else { + temp_select_ids.splice(index, 1); + } + this.setData({select_ids: temp_select_ids}); + }, + + // 合并开票 + invoice_merge_event(e) { + if(this.data.select_ids.length <= 0) + { + app.showToast('请先选择数据'); + return false; + } + tt.navigateTo({ + url: '/pages/plugins/invoice/invoice-saveinfo/invoice-saveinfo?ids='+this.data.select_ids.join(',')+'&type=order&is_redirect=1', + }); + }, +}); \ No newline at end of file diff --git a/sourcecode/toutiao/default/pages/plugins/invoice/order/order.json b/sourcecode/toutiao/default/pages/plugins/invoice/order/order.json new file mode 100644 index 000000000..f2c1b95c8 --- /dev/null +++ b/sourcecode/toutiao/default/pages/plugins/invoice/order/order.json @@ -0,0 +1,4 @@ +{ + "enablePullDownRefresh": true, + "navigationBarTitleText": "订单开票" +} \ No newline at end of file diff --git a/sourcecode/toutiao/default/pages/plugins/invoice/order/order.ttml b/sourcecode/toutiao/default/pages/plugins/invoice/order/order.ttml new file mode 100644 index 000000000..c50491029 --- /dev/null +++ b/sourcecode/toutiao/default/pages/plugins/invoice/order/order.ttml @@ -0,0 +1,57 @@ + + + + + + + + + + {{item.add_time}} + + + + + 订单编号 + {{item.order_no}} + + + 订单总价 + {{item.total_price}} + + + + 支付金额 + {{item.pay_price}} + + + + 订单单价 + {{item.price}} + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sourcecode/toutiao/default/pages/plugins/invoice/order/order.ttss b/sourcecode/toutiao/default/pages/plugins/invoice/order/order.ttss new file mode 100644 index 000000000..20027e637 --- /dev/null +++ b/sourcecode/toutiao/default/pages/plugins/invoice/order/order.ttss @@ -0,0 +1,43 @@ +/* + * 列表 + */ +.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; +} + +/* + * 选择 + */ + .selected .icon { + width: 40rpx; + height: 40rpx !important; + margin-left: 10rpx; + margin-right: 20rpx; + vertical-align: middle; +} + .invoice-merge-submit { + width: 220rpx; + height: 70rpx !important; + line-height: 74rpx !important; + left: calc(50% - 110rpx); + bottom: 50rpx; +} \ No newline at end of file diff --git a/sourcecode/toutiao/default/pages/plugins/invoice/user/user.js b/sourcecode/toutiao/default/pages/plugins/invoice/user/user.js new file mode 100644 index 000000000..3163e67fa --- /dev/null +++ b/sourcecode/toutiao/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)) { + tt.showModal({ + title: '温馨提示', + content: '绑定手机号码', + confirmText: '确认', + cancelText: '暂不', + success: (result) => { + tt.stopPullDownRefresh(); + if (result.confirm) { + tt.navigateTo({ + url: "/pages/login/login?event_callback=init" + }); + } + }, + }); + } else { + self.get_data(); + } + } + }, + + // 获取数据 + get_data() { + var self = this; + tt.request({ + url: app.get_request_url("center", "user", "invoice"), + method: "POST", + data: {}, + dataType: "json", + success: res => { + tt.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: () => { + tt.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/toutiao/default/pages/plugins/invoice/user/user.json b/sourcecode/toutiao/default/pages/plugins/invoice/user/user.json new file mode 100644 index 000000000..557e8cfc0 --- /dev/null +++ b/sourcecode/toutiao/default/pages/plugins/invoice/user/user.json @@ -0,0 +1,4 @@ +{ + "enablePullDownRefresh": true, + "navigationBarTitleText": "我的发票" +} \ No newline at end of file diff --git a/sourcecode/toutiao/default/pages/plugins/invoice/user/user.ttml b/sourcecode/toutiao/default/pages/plugins/invoice/user/user.ttml new file mode 100644 index 000000000..d209a4020 --- /dev/null +++ b/sourcecode/toutiao/default/pages/plugins/invoice/user/user.ttml @@ -0,0 +1,20 @@ + + + + + + + {{item.title}} + + + + + + + + + + {{item}} + + + \ No newline at end of file diff --git a/sourcecode/toutiao/default/pages/plugins/invoice/user/user.ttss b/sourcecode/toutiao/default/pages/plugins/invoice/user/user.ttss new file mode 100644 index 000000000..c3245db62 --- /dev/null +++ b/sourcecode/toutiao/default/pages/plugins/invoice/user/user.ttss @@ -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/toutiao/default/pages/plugins/wallet/cash-auth/cash-auth.js b/sourcecode/toutiao/default/pages/plugins/wallet/cash-auth/cash-auth.js index 874610866..a4dd14ee2 100644 --- a/sourcecode/toutiao/default/pages/plugins/wallet/cash-auth/cash-auth.js +++ b/sourcecode/toutiao/default/pages/plugins/wallet/cash-auth/cash-auth.js @@ -179,8 +179,8 @@ Page({ fields: "verify", msg: "请输入验证码" }]; - console.log(form_data); // 验证提交表单 - + + // 验证提交表单 if (app.fields_check(form_data, validation)) { form_data["account_type"] = self.data.check_account_list[self.data.check_account_value]['field']; self.setData({ diff --git a/sourcecode/weixin/default/pages/plugins/invoice/order/order.js b/sourcecode/weixin/default/pages/plugins/invoice/order/order.js index 929c9e62e..e232b17c7 100644 --- a/sourcecode/weixin/default/pages/plugins/invoice/order/order.js +++ b/sourcecode/weixin/default/pages/plugins/invoice/order/order.js @@ -150,7 +150,6 @@ Page({ temp_select_ids.splice(index, 1); } this.setData({select_ids: temp_select_ids}); - console.log(value, index, temp_select_ids); }, // 合并开票 diff --git a/sourcecode/weixin/default/pages/plugins/invoice/user/user.wxml b/sourcecode/weixin/default/pages/plugins/invoice/user/user.wxml index 0f60ee7b7..4af9062b6 100644 --- a/sourcecode/weixin/default/pages/plugins/invoice/user/user.wxml +++ b/sourcecode/weixin/default/pages/plugins/invoice/user/user.wxml @@ -1,5 +1,3 @@ - - diff --git a/sourcecode/weixin/default/pages/plugins/wallet/cash-auth/cash-auth.js b/sourcecode/weixin/default/pages/plugins/wallet/cash-auth/cash-auth.js index 04ae63d99..a41352664 100644 --- a/sourcecode/weixin/default/pages/plugins/wallet/cash-auth/cash-auth.js +++ b/sourcecode/weixin/default/pages/plugins/wallet/cash-auth/cash-auth.js @@ -150,7 +150,6 @@ Page({ { fields: "account_type", msg: "请选择认证方式", "is_can_zero": 1 }, { fields: "verify", msg: "请输入验证码" }, ]; - console.log(form_data); // 验证提交表单 if (app.fields_check(form_data, validation)) {