From 83eb365628141d45d1843131fcee19488334975b Mon Sep 17 00:00:00 2001 From: ghusermoon <2673031505@qq.com> Date: Fri, 4 Sep 2020 17:29:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E7=A5=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/api/shop.js | 12 +- common/api/user.js | 22 ++- common/store/index.js | 16 +- pageC/cart/ConfirmOrder.vue | 21 ++- pageC/cart/selectInvoice.vue | 186 +++++++++++++++++++++ pageE/more/EditInvoice.vue | 307 +++++++++++++++++++++++++++++++++++ pageE/more/MineInvoice.vue | 123 ++++++++++++++ pages.json | 39 +++++ pages/index/index.vue | 29 ++-- pages/mine/index.vue | 8 +- pages/shop/index.vue | 8 +- static/image/mine/46.png | Bin 0 -> 10895 bytes 12 files changed, 745 insertions(+), 26 deletions(-) create mode 100644 pageC/cart/selectInvoice.vue create mode 100644 pageE/more/EditInvoice.vue create mode 100644 pageE/more/MineInvoice.vue create mode 100644 static/image/mine/46.png diff --git a/common/api/shop.js b/common/api/shop.js index 18abda3..8474ff1 100644 --- a/common/api/shop.js +++ b/common/api/shop.js @@ -1,6 +1,6 @@ export default { init(vm){ - return { + return { // 获取首页轮播 getIndexSwiper() { return vm.$u.post('adv/indexadv'); @@ -139,7 +139,7 @@ export default { }); }, // 订单步骤2:发起订单,返回订单信息 - sendOrder({ ifcart, cart_id, address_id, buy_city_id, pintuan_id, pintuangroup_id, voucher_id, is_selfraising }) { + sendOrder({ ifcart, cart_id, address_id, buy_city_id, pintuan_id, pintuangroup_id, voucher_id, is_selfraising, invoice_id }) { return vm.$u.post('buy/buy_step2', { ifcart: ifcart, cart_id: cart_id, @@ -149,6 +149,7 @@ export default { pintuangroup_id: pintuangroup_id, voucher_id: voucher_id, // 优惠券信息 is_selfraising: is_selfraising, // 是否自提 + invoice_id: invoice_id, }); }, // 订单步骤3:发起支付(第三方统一下单) @@ -373,8 +374,11 @@ export default { //内容 tipsinfo({document_code}){ return vm.$u.post('Shop/tipInfo',{document_code}) - } - } + }, + advClick({ adv_id }) { + return vm.$u.post('adv/advClick',{ adv_id }) + }, + } } } \ No newline at end of file diff --git a/common/api/user.js b/common/api/user.js index 29a3f3a..a4c2b39 100644 --- a/common/api/user.js +++ b/common/api/user.js @@ -479,8 +479,26 @@ export default { return vm.$u.post("Expertapply/expertApply", { name, mobile, address, industry, hobby }) - } + }, + getInvoiceList() { + return vm.$u.post("Invoice/invoiceList") + }, + getInvoiceInfo({ invoice_id }) { + return vm.$u.post("Invoice/invoiceInfo", { invoice_id }) + }, + invoiceAdd({ invoice_type, invoice_title, invoice_code, invoice_goto_addr, invoice_rec_mobphone, invoice_reg_bname, invoice_reg_baccount }) { + return vm.$u.post("Invoice/invoiceAdd", { + invoice_type, invoice_title, invoice_code, invoice_goto_addr, invoice_rec_mobphone, invoice_reg_bname, invoice_reg_baccount + }) + }, + invoiceEdit({ invoice_id, invoice_title, invoice_code, invoice_goto_addr, invoice_rec_mobphone, invoice_reg_bname, invoice_reg_baccount, invoice_type }) { + return vm.$u.post("Invoice/invoiceEdit", { + invoice_id, invoice_title, invoice_code, invoice_goto_addr, invoice_rec_mobphone, invoice_reg_bname, invoice_reg_baccount, invoice_type + }) + }, + invoiceDel({ invoice_id }) { + return vm.$u.post("Invoice/invoiceDel", { invoice_id }) + }, } - } } \ No newline at end of file diff --git a/common/store/index.js b/common/store/index.js index 2ab536a..ad1b844 100644 --- a/common/store/index.js +++ b/common/store/index.js @@ -21,6 +21,10 @@ const store = new Vuex.Store({ showLoginModel: false, // 登录框 question: {}, // 帮助与反馈 showCoupons: true, // 是否显示新人领取优惠券 + invoiceInfo: { // 是否选择发票 + invoice_type: '', + invoice_id: 0, + } }, getters: { getOrderAddress(state) { @@ -31,8 +35,15 @@ const store = new Vuex.Store({ }, getGoodsInfo(state) { return state.goodsDetails.goods; + }, + hasInvoice(state) { + const type = state.invoiceInfo.invoice_type; + return type ? type : 0; + }, + getInvoiceId(state) { + return state.invoiceInfo.invoice_id || 0; } - }, + }, mutations: { // 登录 loginIn(state, token) { @@ -83,6 +94,9 @@ const store = new Vuex.Store({ }, updateShowCoupons(state, status) { state.showCoupons = status; + }, + setInvoiceInfo(state, invoice = {}) { + state.invoiceInfo = invoice; } } }) diff --git a/pageC/cart/ConfirmOrder.vue b/pageC/cart/ConfirmOrder.vue index 7b1f129..fd24593 100644 --- a/pageC/cart/ConfirmOrder.vue +++ b/pageC/cart/ConfirmOrder.vue @@ -69,6 +69,14 @@ + + 开具发票 + + 本次不开具发票 + {{ hasInvoice == 1 ? '个人或事业单位发票' : '企业发票' }} + + + @@ -134,6 +142,7 @@ export default { orderType: '', // 订单类型 1 普通订单 2 拼团订单 3 秒杀订单 4 优惠券 5 购物车订单 debounce: true, is_selfraising: 0, // 是否自提:0=》否,1=》是 + hasInvoice: 0, } }, components: { @@ -176,9 +185,12 @@ export default { } else { if(this.$store.getters.getOrderAddress) this.addressInfo = this.$store.state.orderAddress; } + this.hasInvoice = this.$store.getters.hasInvoice; + console.log(this.hasInvoice); }, beforeDestroy() { this.$store.commit('updateAddress', {}); + this.$store.commit('setInvoiceInfo', {}); }, watch: { '$store.state.orderAddress'(value) { @@ -265,6 +277,7 @@ export default { address_id: this.addressInfo.address_id, buy_city_id: this.addressInfo.city_id, is_selfraising: this.is_selfraising, + invoice_id: this.$store.getters.getInvoiceId, // 发票抬头ID,不开票传0 } if(coupon.length) Object.assign(params, { voucher_id: coupon }); if(this.orderType == 2) { @@ -430,7 +443,10 @@ export default { uni.navigateTo({ url: '/pageE/more/Address?type=choose' }); - } + }, + selectInvoice() { + this.$u.route('/pageC/cart/selectInvoice'); + }, }, }; @@ -632,6 +648,9 @@ export default { align-items: center; font-size: 30rpx; color:rgba(51,51,51,1); + .invoice { + font-size: 26rpx; + } > image { width: 12rpx; height: 22rpx; diff --git a/pageC/cart/selectInvoice.vue b/pageC/cart/selectInvoice.vue new file mode 100644 index 0000000..dda72e9 --- /dev/null +++ b/pageC/cart/selectInvoice.vue @@ -0,0 +1,186 @@ + + + \ No newline at end of file diff --git a/pageE/more/EditInvoice.vue b/pageE/more/EditInvoice.vue new file mode 100644 index 0000000..9c6388a --- /dev/null +++ b/pageE/more/EditInvoice.vue @@ -0,0 +1,307 @@ + + + \ No newline at end of file diff --git a/pageE/more/MineInvoice.vue b/pageE/more/MineInvoice.vue new file mode 100644 index 0000000..06c7761 --- /dev/null +++ b/pageE/more/MineInvoice.vue @@ -0,0 +1,123 @@ + + + \ No newline at end of file diff --git a/pages.json b/pages.json index 8da937b..b479026 100644 --- a/pages.json +++ b/pages.json @@ -358,6 +358,19 @@ } } }, + { + "path": "cart/selectInvoice", + "style": { + "navigationBarTitleText": "发票抬头", + "app-plus": { + "titleSize": "36px", + "titleNView": { + "titleColor": "#333333", + "backgroundColor": "#FFFFFF" + } + } + } + }, { "path": "merchant/index", "style": { @@ -635,6 +648,32 @@ } } }, + { + "path": "more/MineInvoice", + "style": { + "navigationBarTitleText": "我的发票", + "app-plus": { + "titleSize": "36px", + "titleNView": { + "titleColor": "#333333", + "backgroundColor": "#FFFFFF" + } + } + } + }, + { + "path": "more/EditInvoice", + "style": { + "navigationBarTitleText": "发票抬头", + "app-plus": { + "titleSize": "36px", + "titleNView": { + "titleColor": "#333333", + "backgroundColor": "#FFFFFF" + } + } + } + }, { "path": "mine/ArticleDetails", "style": { diff --git a/pages/index/index.vue b/pages/index/index.vue index 9f6e93b..a3c95a4 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -549,7 +549,8 @@ // console.log(item); this.jumpPage({ type: item.url_type, - id: item.info_id, + id: item.info_id, + adv_id: item.adv_id, }); }, clickSImage(index) { @@ -557,11 +558,12 @@ // console.log(item); this.jumpPage({ type: item.url_type, - id: item.info_id, + id: item.info_id, + adv_id: item.adv_id, }); }, - goSearch() { - this.$u.route("/pageB/search/index", { + goSearch() { + this.$u.route("/pageB/search/index", { type: 2, curent:2 }); @@ -576,17 +578,18 @@ }) }, onPulling(e) { - console.log("onpulling", e); - }, - onRestore() { - this.refresher = 'restore'; // 需要重置 - console.log("onRestore"); - }, - onAbort() { - console.log("onAbort"); - }, + console.log("onpulling", e); + }, + onRestore() { + this.refresher = 'restore'; // 需要重置 + console.log("onRestore"); + }, + onAbort() { + console.log("onAbort"); + }, jumpPage(uri) { // console.log(uri); + this.$u.api.advClick({ adv_id: uri.adv_id }); common.jumpPage({ type: uri.type, id: uri.id }); } }, diff --git a/pages/mine/index.vue b/pages/mine/index.vue index e24e4e1..416000c 100644 --- a/pages/mine/index.vue +++ b/pages/mine/index.vue @@ -109,6 +109,10 @@ 达人申请 + + + 我的发票 + @@ -451,7 +455,7 @@ export default { width: 100rpx; } > view:not(:last-child) { - margin-right: 32rpx; + margin-right: 16rpx; } } } @@ -468,7 +472,7 @@ export default { width: 100rpx; } > view:not(:last-child) { - margin-right: 32rpx; + margin-right: 16rpx; } } .badge-box { diff --git a/pages/shop/index.vue b/pages/shop/index.vue index 28f6882..e960d99 100644 --- a/pages/shop/index.vue +++ b/pages/shop/index.vue @@ -50,7 +50,7 @@ - + @@ -211,10 +211,11 @@ }, clickImage(index) { // console.log(this.list[index]); - let item = this.list[index]; + let item = this.list[index]; this.jumpPage({ type: item.url_type, - id: item.info_id, + id: item.info_id, + adv_id: item.adv_id, }); }, // 下拉加载更多推荐商品 @@ -244,6 +245,7 @@ }, jumpPage(uri) { // console.log(uri); + this.$u.api.advClick({ adv_id: uri.adv_id }); common.jumpPage({ type: uri.type, id: uri.id }); } }, diff --git a/static/image/mine/46.png b/static/image/mine/46.png new file mode 100644 index 0000000000000000000000000000000000000000..af89b162d8947b2dbf2ea8223cde7fae4281758c GIT binary patch literal 10895 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 literal 0 HcmV?d00001