leisure-core 0.1.9 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,248 @@
1
+ <template>
2
+ <el-form ref="form" :model="form" :rules="rules" label-width="130px">
3
+ <el-form-item label="活动标题" prop="title">
4
+ <el-input v-model="form.title"></el-input>
5
+ </el-form-item>
6
+ <el-form-item label="活动类型" prop="ptype">
7
+ <el-select v-model="form.ptype" placeholder="请选择活动类型">
8
+ <el-option
9
+ v-for="item in pTypeOptions"
10
+ :label="item.name"
11
+ :value="item.id"
12
+ :key="item.id"
13
+ ></el-option>
14
+ </el-select>
15
+ </el-form-item>
16
+ <el-form-item label="启动数量" prop="minmoney">
17
+ <el-input-number
18
+ v-model="form.num_min"
19
+ :min="1"
20
+ :max="20"
21
+ @change="handleChange"
22
+ ></el-input-number>
23
+ <span style="padding-left: 10px"
24
+ >例如:买五送一则该值为6;第二件半价该值为2</span
25
+ >
26
+ </el-form-item>
27
+ <!-- <el-form-item label="赠送数量" prop="minmoney">
28
+ <el-input-number
29
+ v-model="form.num_give"
30
+ :min="0"
31
+ :max="20"
32
+ ></el-input-number>
33
+ <span style="padding-left: 10px">例如:买五送一则该值为1</span>
34
+ </el-form-item> -->
35
+ <el-form-item label="开始日期" prop="date_start">
36
+ <el-date-picker
37
+ value-format="timestamp"
38
+ v-model="form.date_start"
39
+ type="date"
40
+ placeholder="开始日期"
41
+ >
42
+ </el-date-picker>
43
+ </el-form-item>
44
+ <el-form-item label="结束日期" prop="date_end">
45
+ <el-date-picker
46
+ value-format="timestamp"
47
+ v-model="form.date_end"
48
+ type="date"
49
+ placeholder="结束日期"
50
+ >
51
+ </el-date-picker>
52
+ </el-form-item>
53
+ <el-form-item label="适用范围">
54
+ <el-radio-group v-model="form.grang">
55
+ <el-radio :label="1">全部商品</el-radio>
56
+ <el-radio :label="2">部分商品可用</el-radio>
57
+ </el-radio-group>
58
+ </el-form-item>
59
+ <el-form-item label="选择商品" v-if="form.grang == 2">
60
+ <el-select
61
+ v-model="form.grang_product"
62
+ multiple
63
+ filterable
64
+ remote
65
+ reserve-keyword
66
+ placeholder="输入商品编码或名称关键字"
67
+ :remote-method="getGoodsMethod"
68
+ :loading="loading"
69
+ >
70
+ <el-option
71
+ v-for="item in goodsList"
72
+ :key="item.gcode + '-' + item.gname"
73
+ :label="item.gcode + '-' + item.gname"
74
+ :value="item.gcode + '-' + item.gname"
75
+ >
76
+ </el-option>
77
+ </el-select>
78
+ </el-form-item>
79
+ <!-- <el-form-item label="可否使用优惠券">
80
+ <el-select v-model="form.is_used_coupon">
81
+ <el-option label="是" value="1" key="1"></el-option>
82
+ <el-option label="否" value="0" key="0"></el-option>
83
+ </el-select>
84
+ </el-form-item>
85
+ <el-form-item label="可否使用积分">
86
+ <el-select v-model="form.is_used_integral">
87
+ <el-option label="是" value="1" key="1"></el-option>
88
+ <el-option label="否" value="0" key="0"></el-option>
89
+ </el-select>
90
+ </el-form-item> -->
91
+ <el-form-item label="是否启用">
92
+ <el-select v-model="form.released">
93
+ <el-option label="是" value="1" key="1"></el-option>
94
+ <el-option label="否" value="0" key="0"></el-option>
95
+ </el-select>
96
+ </el-form-item>
97
+ <el-form-item>
98
+ <!-- <el-button type="primary" @click="onSubmit">保存</el-button> -->
99
+ </el-form-item>
100
+ </el-form>
101
+ </template>
102
+ <script>
103
+ import { createP, editP } from "@/api/mall_promotion";
104
+ import { list as promotionTypeList } from "@/api/mall_promotion_type";
105
+ import GoodsSpuApi from "@/api/goods_spu";
106
+ export default {
107
+ name:'le-promotions-sub',
108
+ props: {
109
+ editType: {
110
+ type: Number,
111
+ default: 1, //新增模式 2:修改模式
112
+ },
113
+ rowData: {
114
+ type: Object,
115
+ default: () => {},
116
+ },
117
+ },
118
+ data() {
119
+ return {
120
+ form: {
121
+ id: "",
122
+ title: "",
123
+ ptype: "",
124
+ pname: "",
125
+ date_start: "",
126
+ date_end: "",
127
+ grang: 2,
128
+ num_min: 0,
129
+ num_give: 0,
130
+ grang_product: [],
131
+ is_used_coupon: "0",
132
+ is_used_integral: "0",
133
+ released: "1",
134
+ note: "",
135
+ },
136
+ pTypeOptions: [],
137
+ goodsList: [],
138
+ loading: false,
139
+ rules: {
140
+ title: [
141
+ { required: true, message: "请输入活动标题", trigger: "blur" },
142
+ {
143
+ min: 1,
144
+ max: 150,
145
+ message: "长度在 1 到 150 个字符",
146
+ trigger: "blur",
147
+ },
148
+ ],
149
+ ptype: [
150
+ { required: true, message: "必须选择活动类型", trigger: "blur" },
151
+ ],
152
+ date_start: [
153
+ { required: true, message: "必须设置开始时间", trigger: "blur" },
154
+ ],
155
+ date_end: [
156
+ { required: true, message: "必须设置结束时间", trigger: "blur" },
157
+ ],
158
+ },
159
+ };
160
+ },
161
+ mounted() {
162
+ this.getPromotionTypes();
163
+ if (!this.editType || this.editType != 1) {
164
+ this.form = this.rowData;
165
+ this.form.date_start = new Date(this.rowData.date_start * 1000);
166
+ this.form.date_end = new Date(this.rowData.date_end * 1000);
167
+ this.form.is_used_coupon = "1";
168
+ this.form.is_used_integral = "1";
169
+ this.form.released = this.form.released.toString();
170
+ if (this.form.grang == 2) {
171
+ let products = this.form.grang_product;
172
+ if (products && products.length > 0) {
173
+ products = products.split(",");
174
+ this.form.grang_product = products;
175
+ }
176
+ }
177
+ }
178
+ },
179
+ methods: {
180
+ handleChange() {},
181
+ onSave() {
182
+ this.$refs["form"].validate((valid) => {
183
+ if (valid) {
184
+ let param = JSON.parse(JSON.stringify(this.form));
185
+ if (param.date_start) {
186
+ param.date_start = new Date(param.date_start).getTime() / 1000;
187
+ }
188
+ if (param.date_end) {
189
+ param.date_end = new Date(param.date_end).getTime() / 1000;
190
+ }
191
+ param.is_used_coupon = Number(param.is_used_coupon);
192
+ param.is_used_integral = Number(param.is_used_integral);
193
+ param.released = Number(param.released);
194
+ if (param.grang == 2) {
195
+ param.grang_product = param.grang_product.toString();
196
+ } else {
197
+ param.grang_product = "";
198
+ }
199
+ if (this.editType == 1) {
200
+ createP(param).then(() => {
201
+ this.$message.success("提交成功!");
202
+ this.$refs["form"].resetFields();
203
+ this.$emit("list");
204
+ });
205
+ } else {
206
+ editP(param).then(() => {
207
+ this.$message.success("提交成功!");
208
+ this.$emit("list");
209
+ });
210
+ }
211
+ } else {
212
+ return false;
213
+ }
214
+ });
215
+ },
216
+ getPromotionTypes() {
217
+ promotionTypeList().then((res) => {
218
+ this.pTypeOptions = res.data.data;
219
+ });
220
+ },
221
+ // handlePromotionType(value) {
222
+ // if (value == undefined || value == "") return;
223
+ // let promotionTypes = this.pTypeOptions.find(function (item) {
224
+ // return item.id === value;
225
+ // });
226
+ // if (!promotionTypes) return;
227
+ // this.form.pname = promotionTypes.name;
228
+ // },
229
+ getGoodsMethod(query) {
230
+ if (query !== "") {
231
+ this.loading = true;
232
+ let param = {};
233
+ param.searchComment = query;
234
+ GoodsSpuApi.listSearch({ params: param })
235
+ .then((res) => {
236
+ this.loading = false;
237
+ this.goodsList = res.data.data;
238
+ })
239
+ .catch(() => {
240
+ this.loading = false;
241
+ });
242
+ } else {
243
+ this.goodsList = [];
244
+ }
245
+ },
246
+ },
247
+ };
248
+ </script>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "leisure-core",
3
- "version": "0.1.9",
3
+ "version": "0.2.1",
4
4
  "description": "leisure-core是leisure-ui-core的简称,是京心数据基于vue2.0开发的一套后台系统框架与js库,包含登录,首页框架等",
5
5
  "private": false,
6
6
  "author": "北方乐逍遥(zcx7878)",