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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
| <template>
| <div class="product-add">
| <el-tabs v-model="activeName" type="card">
| <el-tab-pane label="基础设置" name="basic"></el-tab-pane>
| <el-tab-pane label="规格库存" name="spec"></el-tab-pane>
| <el-tab-pane label="商品详情" name="content"></el-tab-pane>
| <el-tab-pane label="高级设置" name="buyset"></el-tab-pane>
| </el-tabs>
| <!--form表单-->
| <el-form size="small" ref="form" :model="form" label-width="180px">
| <!--基础信息-->
| <Basic v-show="activeName == 'basic'"></Basic>
| <!--规格设置-->
| <Spec v-show="activeName == 'spec'"></Spec>
| <!--商品详情-->
| <Content v-show="activeName == 'content'"></Content>
| <!--高级设置-->
| <Buyset v-show="activeName == 'buyset'"></Buyset>
| <!--提交-->
| <div class="common-button-wrapper">
| <el-button size="small" type="info" @click="cancelFunc">取消</el-button>
| <el-button size="small" type="primary" @click="onSubmit" :loading="loading">保存</el-button>
| </div>
| </el-form>
| </div>
| </template>
|
| <script>
| import PorductApi from '@/api/product.js';
| import Basic from './part/Basic.vue';
| import Spec from './part/Spec.vue';
| import Content from './part/Content.vue';
| import Buyset from './part/Buyset.vue';
| export default {
| components: {
| /*基础信息*/
| Basic,
| /*规格信息*/
| Spec,
| /*商品详情*/
| Content,
| /*高级设置*/
| Buyset
| },
| data() {
| return {
| activeName: 'basic',
| /*是否正在加载*/
| loading: false,
| /*form表单数据*/
| form: {
| model: {
| scene: 'add',
| /*商品名称*/
| product_name: '',
| /*商品编码*/
| product_no: '',
| /*商品分类*/
| category_id: null,
| category_ids: null,
| /*商品图片*/
| image: [],
| is_picture: 0,
| contentImage: [],
| video_id: 0,
| poster_id: 0,
| /*商品卖点*/
| selling_point: '',
| /*规格类别,默认10单规格,20多规格*/
| spec_type: 10,
| /*库存计算方式,默认20付款减库存,10下单减库存*/
| deduct_stock_type: 20,
| sku: {},
| /*多规格类别*/
| spec_many: {
| /*多规格类别*/
| spec_attr: [],
| /*多规格表格数据*/
| spec_list: []
| },
| /*商品详情内容*/
| content: '',
| /*购买须知*/
| notice: [],
| /*运费模板ID*/
| is_delivery_free: 0,
| delivery_id: '',
| /*商品状态*/
| product_status: 10,
| audit_status: 0,
| /*商品排序,默认100*/
| product_sort: 100,
| /*是否开启积分赠送,默认1为开启,0为关闭*/
| is_points_gift: 1,
| /*是否允许使用积分抵扣,默认1为允许,0为不允许*/
| is_points_discount: 1,
| /*最大积分抵扣数量*/
| max_points_discount: 0,
| /*平台分销是否开启*/
| is_agent: 0,
| /*是否开启团队分红,默认0为关闭,1为开启*/
| is_enable_team: 1,
| /*是否开启单独分销,默认0为关闭,1为开启*/
| is_ind_agent: 0,
| /*分销佣金类型,默认10为百分比,20为固定金额*/
| agent_money_type: 10,
| /*一级佣金*/
| first_money: 0,
| /*二级佣金*/
| second_money: 0,
| /*三级佣金*/
| third_money: 0,
| /*是否虚拟商品*/
| is_virtual: 0,
| /*限购数量*/
| limit_num: 0,
| /*抵扣金额*/
| deduction_price: 0,
| /*虚拟商品发货方式*/
| virtual_auto: 0,
| /*虚拟商品发货内容*/
| virtual_content: '',
| /*商品预告*/
| is_preview: 0,
| /*商品预告时间*/
| preview_time: '',
| // 是否支持核销
| is_verify: 0,
| // 核销到期类型
| verify_type: 10,
| // 核销有效天数
| verify_day: '',
| // 核销有效时间
| verify_time: [],
| // 可核销门店
| verify_store_ids: [],
| // 是否开启单独见点奖设置
| is_viewpoint_money: 0,
| // 见点奖
| viewpoint_money: 0,
| belonging_shop_supplier_id:0,
| /*服务商品内容*/
| service_content: '',
| /*是否开启消费券赠送,默认1为开启,0为关闭*/
| is_consumption_gift: 1,
| /*是否允许使用消费券抵扣,默认1为允许,0为不允许*/
| is_consumption_discount: 1,
| /*最大抵扣消费券数量*/
| max_consumption_discount: 0,
| is_activation_code: 0,
| activation_code_exchange: 0,
| /*是否升级礼包*/
| is_gift_pack: 0,
| // 生成几个超级分红订单
| vip_order_num: 0,
| is_vip:0
| },
| /*商品分类*/
| category: [],
| /*运费模板*/
| delivery: [],
| /*会员等级*/
| gradeList: [],
| /*规格数据*/
| specData: null,
| /*是否锁住*/
| isSpecLocked: false,
| /*分销基础设置*/
| basicSetting: {},
| /*分销佣金设置*/
| agentSetting: {},
| audit_setting: {},
| verifyStoreList: [],
| is_newcomer: 0,
| is_repurchase: 0,
| is_vip:0
| }
| };
| },
| provide: function() {
| return {
| form: this.form
| }
| },
| created() {
| /*获取基础数据*/
| this.getBaseData();
| },
| methods: {
|
| /*获取基础数据*/
| getBaseData: function() {
| let self = this;
| PorductApi.getBaseData({}, true)
| .then(res => {
| self.loading = false;
| Object.assign(self.form, res.data);
| })
| .catch(error => {
| self.loading = false;
| });
| },
|
| /*转JSON字符串*/
| convertJson(list) {
| let obj = {};
| list.forEach(item => {
| obj[item.grade_id] = item.product_equity;
| });
| return JSON.stringify(obj);
| },
|
| /*提交*/
| onSubmit: function() {
| let self = this;
| let params = self.form.model;
| self.$refs.form.validate(valid => {
| if (valid) {
| if(params.is_delivery_free == 0){
| params.delivery_id = 0;
| }else{
| if(params.delivery_id == ''){
| self.$message({
| message: '请选择运费模板',
| type: 'error'
| });
| return;
| }
| }
| self.loading = true;
| PorductApi.addProduct({
| params: JSON.stringify(params)
| }, true)
| .then(data => {
| self.loading = false;
| self.$message({
| message: '添加成功',
| type: 'success'
| });
| self.$router.push('/product/product/index');
| })
| .catch(error => {
| self.loading = false;
| });
| }else{
| self.$message({
| message: '请检查必填项是否填写完整',
| type: 'error'
| });
| }
| });
| },
|
| /*取消*/
| cancelFunc() {
| this.$router.back(-1);
| },
|
| }
| };
| </script>
|
| <style lang="scss" scoped>
| .basic-setting-content {}
|
| .product-add {
| padding-bottom: 100px;
| }
| </style>
|
|