Skip to content

Commit f9ed70d

Browse files
committed
mall + pay:
1. 调整 cashier 的 channels 的读取实现方式
1 parent 4a9e095 commit f9ed70d

File tree

6 files changed

+49
-42
lines changed

6 files changed

+49
-42
lines changed

src/utils/dict.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export const DICT_TYPE = {
5454
PAY_CHANNEL_ALIPAY_SIGN_TYPE: 'pay_channel_alipay_sign_type', // 支付渠道支付宝算法类型
5555
PAY_CHANNEL_ALIPAY_MODE: 'pay_channel_alipay_mode', // 支付宝公钥类型
5656
PAY_CHANNEL_ALIPAY_SERVER_TYPE: 'pay_channel_alipay_server_type', // 支付宝网关地址
57-
PAY_CHANNEL_CODE_TYPE: 'pay_channel_code_type', // 支付渠道编码类型
57+
PAY_CHANNEL_CODE: 'pay_channel_code', // 支付渠道编码类型
5858
PAY_ORDER_NOTIFY_STATUS: 'pay_order_notify_status', // 商户支付订单回调状态
5959
PAY_ORDER_STATUS: 'pay_order_status', // 商户支付订单状态
6060
PAY_ORDER_REFUND_STATUS: 'pay_order_refund_status', // 商户支付订单退款状态

src/views/mall/trade/order/detail.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<el-descriptions-item label="商家备注">{{ order.remark }}</el-descriptions-item>
1818
<el-descriptions-item label="支付单号">{{ order.payOrderId }}</el-descriptions-item>
1919
<el-descriptions-item label="付款方式">
20-
<dict-tag :type="DICT_TYPE.PAY_CHANNEL_CODE_TYPE" :value="order.payChannelCode" />
20+
<dict-tag :type="DICT_TYPE.PAY_CHANNEL_CODE" :value="order.payChannelCode" />
2121
</el-descriptions-item>
2222
<el-descriptions-item label="买家">{{ order.user.nickname }}</el-descriptions-item> <!-- TODO 芋艿:待实现:跳转会员 -->
2323
<el-descriptions-item label="收货地址">

src/views/mall/trade/order/index.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
<el-col :span="6" :xs="24">
4343
<el-form-item label="支付方式" prop="payChannelCode">
4444
<el-select v-model="queryParams.payChannelCode" clearable style="width: 240px">
45-
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.PAY_CHANNEL_CODE_TYPE)"
45+
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.PAY_CHANNEL_CODE)"
4646
:key="dict.value" :label="dict.label" :value="dict.value"/>
4747
</el-select>
4848
</el-form-item>
@@ -86,7 +86,7 @@
8686
<dict-tag :type="DICT_TYPE.TERMINAL" :value="row.terminal" />
8787
</el-col>
8888
<el-col :span="4">支付方式:
89-
<dict-tag v-if="row.payChannelCode" :type="DICT_TYPE.PAY_CHANNEL_CODE_TYPE" :value="row.payChannelCode" />
89+
<dict-tag v-if="row.payChannelCode" :type="DICT_TYPE.PAY_CHANNEL_CODE" :value="row.payChannelCode" />
9090
<span v-else>未支付</span>
9191
</el-col>
9292
<el-col :span="6" align="right">

src/views/pay/cashier/index.vue

Lines changed: 43 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -18,23 +18,24 @@
1818
<el-descriptions title="选择支付宝支付">
1919
</el-descriptions>
2020
<div class="pay-channel-container">
21-
<div class="box" v-for="channel in aliPayChannels" :key="channel.code" @click="submit(channel.code)">
22-
<img :src="icons[channel.code]">
21+
<div class="box" v-for="channel in channels" v-if="channel.code.indexOf('alipay_') === 0" :key="channel.code" @click="submit(channel.code)">
22+
<img :src="channel.icon">
2323
<div class="title">{{ channel.name }}</div>
2424
</div>
2525
</div>
2626
<!-- 微信支付 -->
2727
<el-descriptions title="选择微信支付" style="margin-top: 20px;" />
2828
<div class="pay-channel-container">
29-
<div class="box" v-for="channel in wxPayChannels" :key="channel.code">
29+
<div class="box" v-for="channel in channels" v-if="channel.code.indexOf('wx_') === 0" :key="channel.code">
3030
<img :src="icons[channel.code]">
3131
<div class="title">{{ channel.name }}</div>
3232
</div>
3333
</div>
3434
<!-- 其它支付 -->
3535
<el-descriptions title="选择其它支付" style="margin-top: 20px;" />
3636
<div class="pay-channel-container">
37-
<div class="box" v-for="channel in otherPayChannels" :key="channel.code">
37+
<div class="box" v-for="channel in channels" :key="channel.code"
38+
v-if="channel.code.indexOf('alipay_') === -1 && channel.code.indexOf('wx_') === -1">
3839
<img :src="icons[channel.code]">
3940
<div class="title">{{ channel.name }}</div>
4041
</div>
@@ -101,20 +102,43 @@ export default {
101102
returnUrl: undefined, // 支付完的回调地址
102103
loading: false, // 支付信息的 loading
103104
payOrder: {}, // 支付信息
104-
aliPayChannels: [], // 阿里支付的渠道
105-
wxPayChannels: [], // 微信支付的渠道
106-
otherPayChannels: [], // 其它的支付渠道
107-
icons: {
108-
alipay_qr: require("@/assets/images/pay/icon/alipay_qr.svg"),
109-
alipay_app: require("@/assets/images/pay/icon/alipay_app.svg"),
110-
alipay_wap: require("@/assets/images/pay/icon/alipay_wap.svg"),
111-
alipay_pc: require("@/assets/images/pay/icon/alipay_pc.svg"),
112-
alipay_bar: require("@/assets/images/pay/icon/alipay_bar.svg"),
113-
wx_app: require("@/assets/images/pay/icon/wx_app.svg"),
114-
wx_lite: require("@/assets/images/pay/icon/wx_lite.svg"),
115-
wx_pub: require("@/assets/images/pay/icon/wx_pub.svg"),
116-
mock: require("@/assets/images/pay/icon/mock.svg"),
117-
},
105+
channels: [{
106+
name: '支付宝 PC 网站支付',
107+
icon: require("@/assets/images/pay/icon/alipay_pc.svg"),
108+
code: "alipay_pc"
109+
}, {
110+
name: '支付宝 Wap 网站支付',
111+
icon: require("@/assets/images/pay/icon/alipay_wap.svg"),
112+
code: "alipay_wap"
113+
}, {
114+
name: '支付宝 App 网站支付',
115+
icon: require("@/assets/images/pay/icon/alipay_app.svg"),
116+
code: "alipay_app"
117+
}, {
118+
name: '支付宝扫码支付',
119+
icon: require("@/assets/images/pay/icon/alipay_app.svg"),
120+
code: "alipay_qr"
121+
}, {
122+
name: '支付宝条码支付',
123+
icon: require("@/assets/images/pay/icon/alipay_bar.svg"),
124+
code: "alipay_bar"
125+
}, {
126+
name: '微信公众号支付',
127+
icon: require("@/assets/images/pay/icon/wx_pub.svg"),
128+
code: "wx_pub"
129+
}, {
130+
name: '微信小程序支付',
131+
icon: require("@/assets/images/pay/icon/wx_lite.svg"),
132+
code: "wx_lite"
133+
}, {
134+
name: '微信 App 支付',
135+
icon: require("@/assets/images/pay/icon/wx_lite.svg"),
136+
code: "wx_app"
137+
}, {
138+
name: '模拟支付',
139+
icon: require("@/assets/images/pay/icon/mock.svg"),
140+
code: "mock"
141+
}],
118142
submitLoading: false, // 提交支付的 loading
119143
interval: undefined, // 定时任务,轮询是否完成支付
120144
qrCode: { // 展示形式:二维码
@@ -144,26 +168,8 @@ export default {
144168
this.returnUrl = decodeURIComponent(this.$route.query.returnUrl)
145169
}
146170
this.getDetail();
147-
this.initPayChannels();
148171
},
149172
methods: {
150-
/** 初始化支付渠道 */
151-
initPayChannels() {
152-
// 微信支付
153-
for (const dict of getDictDatas(DICT_TYPE.PAY_CHANNEL_CODE_TYPE)) {
154-
const payChannel = {
155-
name: dict.label,
156-
code: dict.value
157-
}
158-
if (dict.value.indexOf('wx_') === 0) {
159-
this.wxPayChannels.push(payChannel);
160-
} else if (dict.value.indexOf('alipay_') === 0) {
161-
this.aliPayChannels.push(payChannel);
162-
} else {
163-
this.otherPayChannels.push(payChannel);
164-
}
165-
}
166-
},
167173
/** 获得支付信息 */
168174
getDetail() {
169175
// 1.1 未传递订单编号
@@ -180,6 +186,7 @@ export default {
180186
return;
181187
}
182188
// 1.3 订单已支付
189+
// TODO 芋艿:已支付
183190
if (response.data.status !== PayOrderStatusEnum.WAITING.status) {
184191
this.$message.error('支付订单不处于待支付状态,请检查!');
185192
this.goBackToList();

src/views/pay/order/index.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ export default {
285285
// 支付应用列表集合
286286
appList: null,
287287
// 支付渠道编码字典数据集合
288-
payChannelCodeDictDatum: getDictDatas(DICT_TYPE.PAY_CHANNEL_CODE_TYPE),
288+
payChannelCodeDictDatum: getDictDatas(DICT_TYPE.PAY_CHANNEL_CODE),
289289
// 订单回调商户状态字典数据集合
290290
payOrderNotifyDictDatum: getDictDatas(DICT_TYPE.PAY_ORDER_NOTIFY_STATUS),
291291
// 订单状态字典数据集合

src/views/pay/refund/index.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ export default {
298298
// 支付应用列表集合
299299
appList: null,
300300
// 支付渠道编码字典数据集合
301-
payChannelCodeDictDatum: getDictDatas(DICT_TYPE.PAY_CHANNEL_CODE_TYPE),
301+
payChannelCodeDictDatum: getDictDatas(DICT_TYPE.PAY_CHANNEL_CODE),
302302
// 订单退款状态字典数据集合
303303
payRefundOrderDictDatum: getDictDatas(DICT_TYPE.PAY_REFUND_ORDER_STATUS),
304304
// 退款订单类别字典数据集合

0 commit comments

Comments
 (0)