leisure-core 0.4.51 → 0.4.53

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.
Files changed (76) hide show
  1. package/index.js +19 -72
  2. package/le-button/src/main.vue +6 -12
  3. package/le-button-msg/src/main.vue +9 -5
  4. package/le-button-select-media/src/main.vue +4 -2
  5. package/le-button-upload/src/main.vue +6 -2
  6. package/le-common-page/src/main.vue +27 -75
  7. package/le-common-page/src/sub.vue +122 -0
  8. package/le-form/index.js +7 -0
  9. package/le-form/src/main.vue +13 -0
  10. package/le-form-item/index.js +7 -0
  11. package/le-form-item/src/main.vue +13 -0
  12. package/le-help/src/main.vue +6 -2
  13. package/le-input/index.js +7 -0
  14. package/le-input/src/main.vue +17 -0
  15. package/le-input-number/index.js +7 -0
  16. package/le-input-number/src/main.vue +16 -0
  17. package/le-media-list/src/main.vue +1 -1
  18. package/le-role/src/main.vue +5 -5
  19. package/le-select/index.js +7 -0
  20. package/le-select/src/main.vue +27 -0
  21. package/le-select-search/index.js +7 -0
  22. package/le-select-search/src/main.vue +46 -0
  23. package/le-user/src/main.vue +1 -1
  24. package/package.json +5 -7
  25. package/le-ad/index.js +0 -7
  26. package/le-ad/src/main.vue +0 -137
  27. package/le-ad/src/sub.vue +0 -180
  28. package/le-ad-space/index.js +0 -7
  29. package/le-ad-space/src/main.vue +0 -135
  30. package/le-ad-space/src/sub.vue +0 -119
  31. package/le-commission/index.js +0 -7
  32. package/le-commission/src/main.vue +0 -175
  33. package/le-commission/src/sub.vue +0 -213
  34. package/le-commission-cp/index.js +0 -7
  35. package/le-commission-cp/src/main.vue +0 -170
  36. package/le-company/index.js +0 -7
  37. package/le-company/src/main.vue +0 -101
  38. package/le-company/src/sub.vue +0 -111
  39. package/le-coupon/index.js +0 -17
  40. package/le-coupon/src/details.vue +0 -196
  41. package/le-coupon/src/main.vue +0 -193
  42. package/le-coupon/src/sub.vue +0 -362
  43. package/le-coupon-give/index.js +0 -7
  44. package/le-coupon-give/src/main.vue +0 -110
  45. package/le-cp/index.js +0 -7
  46. package/le-cp/src/main.vue +0 -166
  47. package/le-cp/src/sub.vue +0 -174
  48. package/le-depart/index.js +0 -7
  49. package/le-depart/src/main.vue +0 -162
  50. package/le-distribution/index.js +0 -7
  51. package/le-distribution/src/main.vue +0 -85
  52. package/le-distribution-category/index.js +0 -7
  53. package/le-distribution-category/src/main.vue +0 -106
  54. package/le-distribution-category/src/sub.vue +0 -112
  55. package/le-integral/index.js +0 -7
  56. package/le-integral/src/main.vue +0 -198
  57. package/le-member/index.js +0 -7
  58. package/le-member/src/main.vue +0 -494
  59. package/le-member/src/other.vue +0 -240
  60. package/le-member-level/index.js +0 -7
  61. package/le-member-level/src/main.vue +0 -93
  62. package/le-member-level/src/sub.vue +0 -112
  63. package/le-promotions/index.js +0 -9
  64. package/le-promotions/src/main.vue +0 -220
  65. package/le-promotions/src/sub.vue +0 -248
  66. package/le-promotions-activities/index.js +0 -7
  67. package/le-promotions-activities/src/main.vue +0 -208
  68. package/le-promotions-activities/src/sub.vue +0 -212
  69. package/le-rate/index.js +0 -7
  70. package/le-rate/src/main.vue +0 -194
  71. package/le-rate/src/qrinfo.vue +0 -32
  72. package/le-rate/src/sub.vue +0 -183
  73. package/le-seting/index.js +0 -7
  74. package/le-seting/src/main.vue +0 -154
  75. package/le-user-type/index.js +0 -7
  76. package/le-user-type/src/main.vue +0 -39
@@ -1,240 +0,0 @@
1
- <template>
2
- <el-form ref="form" :model="form" :rules="rules" label-width="100px">
3
- <el-form-item label="会员类型" prop="mtype">
4
- <el-select v-model="form.mtype" clear placeholder="请选择">
5
- <el-option
6
- v-for="mtype in mtypes"
7
- :key="mtype.id"
8
- :label="mtype.title"
9
- :value="mtype.title"
10
- >
11
- </el-option>
12
- </el-select>
13
- </el-form-item>
14
- <el-form-item label="会员姓名" prop="mname">
15
- <el-input v-model="form.mname"></el-input>
16
- </el-form-item>
17
- <el-form-item label="会员电话" prop="mphone">
18
- <el-input v-model="form.mphone"></el-input>
19
- </el-form-item>
20
- <el-form-item label="会员地址" prop="maddress">
21
- <el-input v-model="form.maddress"></el-input>
22
- </el-form-item>
23
- <el-form-item label="会员概况" prop="mdesc">
24
- <el-select v-model="form.mdesc" clear placeholder="请选择" multiple>
25
- <el-option
26
- v-for="mdesc in mdescs"
27
- :key="mdesc.id"
28
- :label="mdesc.title"
29
- :value="mdesc.title"
30
- >
31
- </el-option>
32
- </el-select>
33
- </el-form-item>
34
- <el-form-item label="会员归属地" prop="mcity">
35
- <el-input v-model="form.mcity"></el-input>
36
- </el-form-item>
37
- <el-form-item label="会员生日" prop="mbirthday">
38
- <el-input v-model="form.mbirthday"></el-input>
39
- </el-form-item>
40
- <el-form-item label="会员性别" prop="msex">
41
- <el-input v-model="form.msex"></el-input>
42
- </el-form-item>
43
- <el-form-item label="客户类型" prop="ctype">
44
- <el-select v-model="form.ctype" clear placeholder="请选择">
45
- <el-option
46
- v-for="ctype in ctypes"
47
- :key="ctype.id"
48
- :label="ctype.title"
49
- :value="ctype.title"
50
- >
51
- </el-option>
52
- </el-select>
53
- </el-form-item>
54
- <el-form-item label="开发部门" prop="cdepart">
55
- <el-select v-model="form.cdepart" clear placeholder="请选择">
56
- <el-option
57
- v-for="cdepart in cdeparts"
58
- :key="cdepart.id"
59
- :label="cdepart.title"
60
- :value="cdepart.title"
61
- >
62
- </el-option>
63
- </el-select>
64
- </el-form-item>
65
- <el-form-item label="开发人姓名" prop="cname">
66
- <el-input v-model="form.cname"></el-input>
67
- </el-form-item>
68
- <el-form-item v-rfooter>
69
- <el-button type="primary" @click="onSubmit">保存</el-button>
70
- <el-button @click="close()">取消</el-button>
71
- </el-form-item>
72
- </el-form>
73
- </template>
74
- <script>
75
- import { addOtherInfo, selectOtherInfo, memberDict } from "@/api/member";
76
- export default {
77
- props: {
78
- uid: {
79
- type: String,
80
- default: "",
81
- },
82
- },
83
- data() {
84
- return {
85
- form: {
86
- id: "",
87
- mtype: "",
88
- mname: "",
89
- mphone: "",
90
- maddress: "",
91
- mdesc: "",
92
- mcity: "",
93
- mbirthday: "",
94
- msex: "",
95
- ctype: "",
96
- cdepart: "",
97
- cname: "",
98
- },
99
- mtypes: [],
100
- mdescs: [],
101
- ctypes: [],
102
- cdeparts: [],
103
- rules: {
104
- mtype: [
105
- { required: true, message: "请输入会员类型", trigger: "blur" },
106
- {
107
- min: 1,
108
- max: 20,
109
- message: "长度在 1 到 20 个字符",
110
- trigger: "blur",
111
- },
112
- ],
113
- mname: [
114
- { required: true, message: "请输入会员姓名", trigger: "blur" },
115
- {
116
- min: 1,
117
- max: 20,
118
- message: "长度在 1 到 20 个字符",
119
- trigger: "blur",
120
- },
121
- ],
122
- mphone: [
123
- { required: true, message: "请输入会员手机", trigger: "blur" },
124
- {
125
- min: 1,
126
- max: 13,
127
- message: "长度在 1 到 13 个字符",
128
- trigger: "blur",
129
- },
130
- ],
131
- maddress: [
132
- { required: true, message: "请输入会员地址", trigger: "blur" },
133
- {
134
- min: 1,
135
- max: 150,
136
- message: "长度在 1 到 150 个字符",
137
- trigger: "blur",
138
- },
139
- ],
140
- mdesc: [
141
- {
142
- required: true,
143
- message: "请输入会员概况",
144
- trigger: "blur",
145
- type: "array",
146
- },
147
- ],
148
- ctype: [
149
- { required: true, message: "请输入会员类型", trigger: "blur" },
150
- {
151
- min: 1,
152
- max: 20,
153
- message: "长度在 1 到 20 个字符",
154
- trigger: "blur",
155
- },
156
- ],
157
- cdepart: [
158
- { required: true, message: "请输入开发部门", trigger: "blur" },
159
- {
160
- min: 1,
161
- max: 50,
162
- message: "长度在 1 到 50 个字符",
163
- trigger: "blur",
164
- },
165
- ],
166
- cname: [
167
- { required: true, message: "请输入开发人员", trigger: "blur" },
168
- {
169
- min: 1,
170
- max: 20,
171
- message: "长度在 1 到 20 个字符",
172
- trigger: "blur",
173
- },
174
- ],
175
- },
176
- };
177
- },
178
- watch: {
179
- uid: {
180
- handler(newValue) {
181
- this.form.id = newValue;
182
- },
183
- immediate: true,
184
- },
185
- },
186
- mounted() {
187
- this.getDicts();
188
- this.list();
189
- },
190
- methods: {
191
- getDicts() {
192
- memberDict().then((res) => {
193
- let data = res.data.data;
194
- if (data) {
195
- this.mtypes = data.filter((item) => {
196
- return item.type == 1;
197
- });
198
- this.mdescs = data.filter((item) => {
199
- return item.type == 2;
200
- });
201
- this.ctypes = data.filter((item) => {
202
- return item.type == 3;
203
- });
204
- this.cdeparts = data.filter((item) => {
205
- return item.type == 4;
206
- });
207
- }
208
- });
209
- },
210
- list() {
211
- let param = {};
212
- param.id = this.uid;
213
- selectOtherInfo(param).then((res) => {
214
- let data = res.data.data;
215
- if (data) {
216
- if (data.mdesc && data.mdesc.length > 0)
217
- data.mdesc = data.mdesc.split(",");
218
- this.form = data;
219
- }
220
- });
221
- },
222
- onSubmit() {
223
- this.$refs["form"].validate((valid) => {
224
- if (valid) {
225
- let param = this.form;
226
- param.mdesc = this.form.mdesc.join(",");
227
- addOtherInfo(param).then((res) => {
228
- this.$message.success(res.data.info);
229
- });
230
- } else {
231
- return false;
232
- }
233
- });
234
- },
235
- close() {
236
- this.$emit("close");
237
- },
238
- },
239
- };
240
- </script>
@@ -1,7 +0,0 @@
1
- import LeMemberLevel from "./src/main.vue";
2
-
3
- LeMemberLevel.install = function (Vue) {
4
- Vue.component(LeMemberLevel.name, LeMemberLevel);
5
- };
6
-
7
- export default LeMemberLevel;
@@ -1,93 +0,0 @@
1
- <template>
2
- <div>
3
- <el-table :data="tableData" border row-key="id" stripe style="width: 100%">
4
- <el-table-column prop="title" label="标题"> </el-table-column>
5
- <!-- <el-table-column prop="note" label="权益"> </el-table-column> -->
6
- <el-table-column
7
- fixed="right"
8
- label="操作"
9
- align="center"
10
- width="120"
11
- row
12
- >
13
- <template slot-scope="scope">
14
- <el-button type="text" size="small" @click="openDetail(scope.row)"
15
- >编辑与详情</el-button
16
- >
17
- <el-popconfirm
18
- :title="`该操作不可逆,确定删除?`"
19
- @confirm="del(scope.row.id)"
20
- >
21
- <template #reference>
22
- <!-- <el-button type="text" size="small">删除</el-button> -->
23
- </template>
24
- </el-popconfirm>
25
- </template>
26
- </el-table-column>
27
- </el-table>
28
- <el-dialog
29
- width="60%"
30
- v-el-drag-dialog
31
- title="会员等级"
32
- :visible.sync="showDetails"
33
- :close-on-click-modal="false"
34
- append-to-body
35
- @close="closeDetailsDialog"
36
- >
37
- <le-member-level-sub
38
- ref="detaileditwindow"
39
- :rowData="detailRow"
40
- :isAdd="false"
41
- v-if="showDetails"
42
- ></le-member-level-sub>
43
- <div slot="footer">
44
- <el-button type="primary" @click="saveMemberLevel">保存</el-button>
45
- <el-button type="primary" @click="closeDetailsDialog">关闭</el-button>
46
- </div>
47
- </el-dialog>
48
- </div>
49
- </template>
50
- <script>
51
- import { levelList, levelDel, levelAdd, levelEdit } from "@/api/member";
52
- import LeMemberLevelSub from "./sub.vue";
53
- export default {
54
- name: "le-member-level",
55
- components: { LeMemberLevelSub },
56
- data() {
57
- return {
58
- tableData: [],
59
- showDetails: false,
60
- detailRow: null,
61
- };
62
- },
63
- computed: {},
64
- mounted() {
65
- this.list();
66
- },
67
- methods: {
68
- list() {
69
- levelList().then((res) => {
70
- this.tableData = res.data.data;
71
- });
72
- },
73
- del(levelId) {
74
- levelDel(levelId).then((response) => {
75
- this.list();
76
- this.$message.success(response.data.info);
77
- });
78
- },
79
- closeDetailsDialog() {
80
- this.detailRow = null;
81
- this.showDetails = false;
82
- },
83
- openDetail(obj) {
84
- this.detailRow = obj;
85
- this.showDetails = true;
86
- },
87
- saveMemberLevel() {
88
- this.$refs["detaileditwindow"].onSubmit();
89
- this.closeDetailsDialog();
90
- },
91
- },
92
- };
93
- </script>
@@ -1,112 +0,0 @@
1
- <template>
2
- <el-form ref="form" :model="form" :rules="rules" label-width="80px">
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="rule">
7
- <el-radio-group v-model="form.rule">
8
- <el-radio-button :label="1">销售额</el-radio-button>
9
- <el-radio-button :label="2" disabled>积分</el-radio-button>
10
- </el-radio-group>
11
- </el-form-item>
12
- <el-form-item label="区域范围" prop="start">
13
- <el-input-number
14
- v-model="form.start"
15
- :min="0"
16
- :max="999999999999"
17
- ></el-input-number>
18
- </el-form-item>
19
- <el-form-item label="区域范围" prop="end">
20
- <el-input-number
21
- v-model="form.end"
22
- :min="1"
23
- :max="999999999999"
24
- ></el-input-number>
25
- </el-form-item>
26
- <el-form-item label="权益说明" prop="note">
27
- <le-editor v-model="form.note"></le-editor>
28
- </el-form-item>
29
- </el-form>
30
- </template>
31
- <script>
32
- import { levelAdd, levelEdit } from "@/api/member";
33
- import { LeEditor } from "leisure-editor";
34
- // import { LeEditor } from "../../../dist/leisure-editor";
35
- export default {
36
- name: "le-member-level-sub",
37
- components: {
38
- LeEditor,
39
- },
40
- props: {
41
- rowData: {
42
- type: Object,
43
- required: true,
44
- },
45
- isAdd: {
46
- type: Boolean,
47
- required: true,
48
- },
49
- },
50
- data() {
51
- return {
52
- form: {
53
- id: "",
54
- title: "",
55
- rule: 1,
56
- start: 0,
57
- end: 1,
58
- note: "",
59
- },
60
- rules: {
61
- title: [
62
- { required: true, message: "请输入会员等级", trigger: "blur" },
63
- {
64
- min: 1,
65
- max: 50,
66
- message: "长度在 1 到 50 个字符",
67
- trigger: "blur",
68
- },
69
- ],
70
- note: [
71
- {
72
- max: 100,
73
- message: "长度在 0 到 100",
74
- trigger: "blur",
75
- },
76
- ],
77
- },
78
- };
79
- },
80
- mounted() {
81
- this.form = this.rowData;
82
- },
83
- methods: {
84
- onSubmit() {
85
- this.$refs["form"].validate((valid) => {
86
- if (valid) {
87
- let param = {
88
- note: this.form.note,
89
- id: this.form.id,
90
- title: this.form.title,
91
- rule: this.form.rule,
92
- start: this.form.start,
93
- end: this.form.end,
94
- };
95
-
96
- if (this.isAdd) {
97
- levelAdd(param).then((response) => {
98
- this.$message.success(response.data.info);
99
- });
100
- } else {
101
- levelEdit(param).then((res) => {
102
- this.$message.success(res.data.info);
103
- });
104
- }
105
- } else {
106
- return false;
107
- }
108
- });
109
- },
110
- },
111
- };
112
- </script>
@@ -1,9 +0,0 @@
1
- import LePromotions from "./src/main.vue";
2
-
3
- LePromotions.install = function (Vue) {
4
- Vue.component(LePromotions.name, LePromotions);
5
- };
6
-
7
- export default LePromotions;
8
-
9
- //# 逐步弃用 改用 le-promotion-actives
@@ -1,220 +0,0 @@
1
- <template>
2
- <div>
3
- <div ref="refSearch">
4
- <el-form :inline="true" :model="searchData">
5
- <el-form-item label="是否上架">
6
- <el-select v-model="searchData.released" placeholder="选择" clearable>
7
- <el-option
8
- v-for="item in releaseOptions"
9
- :label="item.name"
10
- :value="item.value"
11
- :key="item.value"
12
- ></el-option>
13
- </el-select>
14
- </el-form-item>
15
- <el-form-item>
16
- <el-button type="primary" @click="list">查询</el-button>
17
- <el-button type="primary" @click="addPromotion">新增</el-button>
18
- </el-form-item>
19
- </el-form>
20
- </div>
21
- <div>
22
- <el-table
23
- :data="tableData"
24
- :header-cell-style="{ 'text-align': 'center' }"
25
- :cell-style="{ 'text-align': 'center' }"
26
- border
27
- row-key="id"
28
- :max-height="tableHeight"
29
- stripe
30
- class="tableClass"
31
- >
32
- <el-table-column
33
- prop="pname"
34
- label="类型"
35
- width="100"
36
- ></el-table-column>
37
- <el-table-column prop="title" label="标题"></el-table-column>
38
- <el-table-column prop="date_start" label="开始时间" width="130">
39
- <template slot-scope="scope">
40
- {{ dateFormat(scope.row.date_start) }}
41
- </template>
42
- </el-table-column>
43
- <el-table-column prop="date_end" label="结束时间" width="130">
44
- <template slot-scope="scope">
45
- {{ dateFormat(scope.row.date_end) }}
46
- </template>
47
- </el-table-column>
48
- <el-table-column prop="grang" label="适应商品" width="100">
49
- <template slot-scope="scope">
50
- <span v-if="scope.row.grang == 1">全部商品</span>
51
- <span v-if="scope.row.grang == 2">部分商品</span>
52
- </template>
53
- </el-table-column>
54
- <!-- <el-table-column prop="is_used_coupon" label="优惠券" width="80">
55
- <template slot-scope="scope">
56
- <span v-if="scope.row.is_used_coupon == 0">不能使用</span>
57
- <span v-if="scope.row.is_used_coupon == 1">能使用</span>
58
- </template>
59
- </el-table-column>
60
- <el-table-column prop="is_used_integral" label="积分" width="80">
61
- <template slot-scope="scope">
62
- <span v-if="scope.row.is_used_integral == 0">不能使用</span>
63
- <span v-if="scope.row.is_used_integral == 1">能使用</span>
64
- </template>
65
- </el-table-column> -->
66
- <el-table-column prop="released" label="启用" width="80">
67
- <template slot-scope="scope">
68
- <span v-if="scope.row.released == 0">未启用</span>
69
- <span v-if="scope.row.released == 1">已启用</span>
70
- </template>
71
- </el-table-column>
72
- <el-table-column fixed="right" label="操作" align="center" width="180">
73
- <template slot-scope="scope">
74
- <el-button
75
- type="primary"
76
- size="small"
77
- id="btnDetail"
78
- v-permission="$route.params.btns"
79
- @click="pEdit(scope.row)"
80
- style="margin-right: 2px"
81
- >
82
- 编辑
83
- </el-button>
84
- <el-popconfirm
85
- id="btnDel"
86
- v-permission="$route.params.btns"
87
- :title="`该操作不可逆,确定退款?`"
88
- @confirm="deletepromotion(scope.row)"
89
- >
90
- <template #reference>
91
- <el-button
92
- type="primary"
93
- size="small"
94
- style="margin-right: 2px"
95
- >
96
- 删除
97
- </el-button>
98
- </template>
99
- </el-popconfirm>
100
- </template>
101
- </el-table-column>
102
- </el-table>
103
- <div ref="refPagination" style="text-align: center; margin-top: 30px">
104
- <el-pagination
105
- background
106
- layout="prev, pager, next"
107
- :total="total"
108
- :page-size="10"
109
- @current-change="current_change"
110
- ></el-pagination>
111
- </div>
112
- </div>
113
- <le-dialog-container
114
- width="60%"
115
- title="促销详情"
116
- :showDialog="showDetails"
117
- @close="closeDetailsDialog"
118
- :showFooter="true"
119
- @saveData="onSubmit"
120
- >
121
- <le-promotions-sub
122
- ref="promotionDetail"
123
- :editType="editType"
124
- :rowData="rowData"
125
- @list="list"
126
- v-if="showDetails"
127
- ></le-promotions-sub>
128
- </le-dialog-container>
129
- </div>
130
- </template>
131
- <script>
132
- import { delP, listP } from "@/api/mall_promotion";
133
- import LePromotionsSub from "./sub.vue";
134
- import moment from "moment";
135
-
136
- export default {
137
- name: "le-promotions",
138
- components: { LePromotionsSub },
139
- data() {
140
- return {
141
- tableHeight: 200,
142
- showDetails: false,
143
- rowData: null,
144
- editType: 1,
145
- tableData: [],
146
- searchData: {
147
- released: "",
148
- pageNo: 1,
149
- },
150
- releaseOptions: [
151
- {
152
- value: 0,
153
- name: "未上架",
154
- },
155
- {
156
- value: 1,
157
- name: "已上架",
158
- },
159
- ],
160
- total: 0,
161
- timeArr: "",
162
- };
163
- },
164
- mounted() {
165
- this.list();
166
- this.$nextTick(() => {
167
- this.tableHeight =
168
- window.innerHeight -
169
- this.$refs.refSearch.offsetHeight -
170
- this.$refs.refPagination.offsetHeight -
171
- 120;
172
- });
173
- },
174
- methods: {
175
- current_change(currentPage) {
176
- this.searchData.pageNo = currentPage;
177
- this.list();
178
- },
179
- list() {
180
- let params = this.searchData;
181
- listP(params).then((response) => {
182
- this.tableData = response.data.data.list;
183
- this.total = response.data.data.count;
184
- });
185
- },
186
- addPromotion() {
187
- this.showDetails = true;
188
- },
189
- pEdit(obj) {
190
- this.rowData = JSON.parse(JSON.stringify(obj));
191
- this.editType = 2;
192
- this.showDetails = true;
193
- },
194
- closeDetailsDialog() {
195
- this.rowData = null;
196
- this.editType = 1;
197
- this.showDetails = false;
198
- },
199
- dateFormat(data) {
200
- return moment.unix(data).format("YYYY-MM-DD HH:mm");
201
- },
202
- deletepromotion(item) {
203
- let param = {};
204
- param.id = item.id;
205
- delP(param).then(() => {
206
- this.list();
207
- this.$message.success("删除成功");
208
- });
209
- },
210
- onSubmit() {
211
- this.$refs.promotionDetail.onSave();
212
- },
213
- },
214
- };
215
- </script>
216
- <style lang="scss" scoped>
217
- .tableClass {
218
- width: 100%;
219
- }
220
- </style>