1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
| <template>
| <Card v-if="show">
| <Tabs v-model="selected" @on-click="clickTab">
| <TabPane :label="tabItem.name" :name="tabItem.type" v-for="(tabItem, tabIndex) in tabWay" :key="tabIndex">
| <component v-if="settingData" :res="settingData" :type="selected"
| :is="templateSetting[tabItem.type]"></component>
| </TabPane>
| </Tabs>
| </Card>
| </template>
| <script>
| import {getSetting} from "@/api/index.js";
| import templateSetting from "./template";
|
| export default {
| data() {
| return {
| templateSetting, // 设置模板
| selected: "", // 已选
| settingData: "", // 模板数据
| show: true, // 是否显示
| setting: [
| //基础配置
| {
| type: "BASE_SETTING",
| name: "基础配置",
| },
| //商品设置
| {
| type: "GOODS_SETTING",
| name: "商品设置",
| },
| //订单配置
| {
| type: "ORDER_SETTING",
| name: "订单配置",
| },
| //积分设置
| {type: "POINT_SETTING", name: "积分设置"},
| {
| type: "WITHDRAWAL_SETTING",
| name: "提现设置",
| },
| // 快递查询设置
| {
| type: "LOGISTICS_SETTING",
| name: "快递查询设置",
| },
| //静态资源配置
| {
| type: "OSS_SETTING",
| name: "静态资源配置",
| },
| //短信配置
| {
| type: "SMS_SETTING",
| name: "短信配置",
| },
| //阿里短信配置
| {
| type: "IM_SETTING",
| name: "客服设置",
| },
| ],
| authLogin: [
| // 登录设置
| {type: "CONNECT_SETTING", name: "登录设置"},
| // 微信设置
| {type: "WECHAT_CONNECT", name: "微信设置"},
| // QQ设置
| {type: "QQ_CONNECT", name: "QQ设置"},
| ],
| pay: [
| //支付宝支付设置
| {type: "PAYMENT_SUPPORT", name: "支付开启/关闭"},
| //支付宝支付设置
| {type: "ALIPAY_PAYMENT", name: "支付宝支付设置"},
| //微信支付设置
| {type: "WECHAT_PAYMENT", name: "微信支付设置"},
| ],
| tabWay: [], // tab数据
| };
| },
|
| watch: {
| $route(to, from) {
| this.selected = "";
| this.show = false;
| this.getSettingData(this.selected);
| this.$nextTick(() => {
| this.show = true;
| });
| },
| },
| mounted() {
| this.clickTab(this.selected);
| },
| methods: {
| // tab切换
| clickTab(name) {
| this.selected = name;
| this.getSettingData(name);
| },
| /**
| * 进入页面请求第一个配置
| */
| getSettingData(name) {
| this.settingData = "";
| Object.keys(this).forEach((item) => {
| if (this.$route.name == item) {
| this.tabWay = this[item];
| }
| });
| // 点击页面给每项第一个数据赋值
| if (!name) {
| name = this.tabWay[0].type;
| this.selected = name;
| }
|
| getSetting(name).then((res) => {
| if (res.result) {
| this.settingData = JSON.stringify(res.result);
| }
| });
| },
| },
| };
| </script>
|
|