leisure-core 0.2.0 → 0.2.2

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.
package/index.js CHANGED
@@ -32,6 +32,7 @@ import LeUpload from "./le-upload/index.js";
32
32
  import LePromotions from "./le-promotions/index.js";
33
33
  import LeCommission from "./le-commission/index.js";
34
34
  import LeMpurl from "./le-mpurl/index.js";
35
+ import { LeHelp, LeHelpDetail } from "./le-help/index.js";
35
36
 
36
37
  const components = [
37
38
  LeButton,
@@ -68,6 +69,8 @@ const components = [
68
69
  LePromotions,
69
70
  LeCommission,
70
71
  LeMpurl,
72
+ LeHelp,
73
+ LeHelpDetail,
71
74
  ];
72
75
 
73
76
  const install = function (Vue) {
@@ -173,4 +176,6 @@ export default {
173
176
  LePromotions,
174
177
  LeCommission,
175
178
  LeMpurl,
179
+ LeHelp,
180
+ LeHelpDetail,
176
181
  };
@@ -0,0 +1,12 @@
1
+ import LeHelp from "./src/main.vue";
2
+ import LeHelpDetail from "./src/detail.vue";
3
+
4
+ LeHelp.install = function (Vue) {
5
+ Vue.component(LeHelp.name, LeHelp);
6
+ };
7
+
8
+ LeHelpDetail.install = function (Vue) {
9
+ Vue.component(LeHelpDetail.name, LeHelpDetail);
10
+ };
11
+
12
+ export { LeHelp, LeHelpDetail };
@@ -0,0 +1,40 @@
1
+ <template>
2
+ <div class="le-help">
3
+ <div class="title">{{ title }}</div>
4
+ <div class="comment" v-html="comment"></div>
5
+ </div>
6
+ </template>
7
+ <script>
8
+ export default {
9
+ name: "le-help-detail",
10
+ props: {
11
+ title: {
12
+ type: String,
13
+ default: "",
14
+ },
15
+ comment: {
16
+ type: String,
17
+ default: "",
18
+ },
19
+ },
20
+ methods: {},
21
+ };
22
+ </script>
23
+ <style lang="scss" scoped>
24
+ .le-help {
25
+ display: flex;
26
+ display: -webkit-flex;
27
+ flex-direction: column;
28
+
29
+ .title {
30
+ text-align: center;
31
+ font-weight: bold;
32
+ font-size: 26px;
33
+ }
34
+
35
+ .comment {
36
+ max-height: 650px;
37
+ overflow-y: auto;
38
+ }
39
+ }
40
+ </style>
@@ -0,0 +1,130 @@
1
+ <template>
2
+ <div class="le-depart-container">
3
+ <el-form :inline="true">
4
+ <el-form-item>
5
+ <el-button type="primary" @click="addHelp()">新建</el-button>
6
+ </el-form-item>
7
+ </el-form>
8
+ <el-table :data="tableData" border row-key="id" stripe style="width: 100%">
9
+ <el-table-column prop="type" label="类型" align="center">
10
+ </el-table-column>
11
+ <el-table-column prop="title" label="标题" align="center">
12
+ </el-table-column>
13
+ <el-table-column fixed="right" label="操作" align="center" width="180">
14
+ <template slot-scope="scope">
15
+ <le-button text="编辑" @click="edit(scope.row)"></le-button>
16
+ <le-button-msg @click="del(scope.row.id)"></le-button-msg>
17
+ </template>
18
+ </el-table-column>
19
+ </el-table>
20
+ <le-dialog-container
21
+ title="新建/编辑帮助文档"
22
+ :showDialog="showDialog"
23
+ :showFooter="true"
24
+ @close="handleClose"
25
+ @saveData="savedepart"
26
+ >
27
+ <el-form
28
+ :model="ruleForm"
29
+ :rules="rules"
30
+ ref="ruleForm"
31
+ label-width="140px"
32
+ v-if="showDialog"
33
+ >
34
+ <el-form-item label="类型" prop="type">
35
+ <el-input v-model="ruleForm.type"></el-input>
36
+ </el-form-item>
37
+ <el-form-item label="标题" prop="title">
38
+ <el-input v-model="ruleForm.title"></el-input>
39
+ </el-form-item>
40
+ <el-form-item label="内容" prop="comment">
41
+ <le-editor v-model="ruleForm.comment"></le-editor>
42
+ </el-form-item>
43
+ </el-form>
44
+ </le-dialog-container>
45
+ </div>
46
+ </template>
47
+ <script>
48
+ import { list, edit, del } from "@/api/SystemHelp";
49
+ import { LeEditor } from "leisure-editor";
50
+ export default {
51
+ name: "le-help",
52
+ components: {
53
+ LeEditor,
54
+ },
55
+ data() {
56
+ return {
57
+ tableData: [],
58
+ ruleForm: {
59
+ id: "",
60
+ type: "",
61
+ title: "",
62
+ comment: "",
63
+ },
64
+ rules: {
65
+ type: [
66
+ { required: true, message: "请输入类型", trigger: "blur" },
67
+ { max: 6, message: "长度在 1 到 6个字符", trigger: "blur" },
68
+ ],
69
+ title: [
70
+ { required: true, message: "请输入标题", trigger: "blur" },
71
+ { max: 20, message: "长度在 1 到 20个字符", trigger: "blur" },
72
+ ],
73
+ comment: [{ required: true, message: "请输入类型", trigger: "blur" }],
74
+ },
75
+ showDialog: false,
76
+ };
77
+ },
78
+ computed: {},
79
+ mounted() {
80
+ this.getList();
81
+ },
82
+ methods: {
83
+ addHelp() {
84
+ this.showDialog = true;
85
+ },
86
+ edit(row) {
87
+ this.ruleForm = JSON.parse(JSON.stringify(row));
88
+ this.showDialog = true;
89
+ },
90
+ savedepart() {
91
+ let params = JSON.parse(JSON.stringify(this.ruleForm));
92
+ this.$refs["ruleForm"].validate((valid) => {
93
+ if (valid) {
94
+ edit(params).then(() => {
95
+ this.$message.success("提交成功~");
96
+ this.getList();
97
+ this.handleClose();
98
+ });
99
+ } else {
100
+ console.log("error submit!!");
101
+ return false;
102
+ }
103
+ });
104
+ },
105
+ handleClose() {
106
+ this.showDialog = false;
107
+ this.initForm();
108
+ },
109
+ getList() {
110
+ list().then((res) => {
111
+ this.tableData = res.data.data || [];
112
+ });
113
+ },
114
+ del(id) {
115
+ del({
116
+ id: id,
117
+ }).then((response) => {
118
+ this.getList();
119
+ this.$message.success("删除成功");
120
+ });
121
+ },
122
+ initForm() {
123
+ this.ruleForm.id = "";
124
+ this.ruleForm.type = "";
125
+ this.ruleForm.title = "";
126
+ this.ruleForm.comment = "";
127
+ },
128
+ },
129
+ };
130
+ </script>
@@ -110,7 +110,7 @@
110
110
  </el-button> -->
111
111
  <el-button
112
112
  id="btnConsume"
113
- v-if="scope.row.unionid"
113
+ v-if="scope.row.unionid && showMoreBtn"
114
114
  type="danger"
115
115
  @click="giveIntegral(scope.row)"
116
116
  >
@@ -132,7 +132,9 @@
132
132
  >
133
133
  二维码
134
134
  </el-button>
135
- <slot :data="scope.row.id"></slot>
135
+ <el-button type="primary" @click="openOtherInfo(scope.row.id)"
136
+ >辅助信息</el-button
137
+ >
136
138
  </div>
137
139
  </template>
138
140
  </el-table-column>
@@ -227,6 +229,17 @@
227
229
  </el-button>
228
230
  </span>
229
231
  </el-dialog>
232
+ <le-dialog-container
233
+ :showDialog="showOtherDialog"
234
+ @close="closeOtherDialog"
235
+ title="会员辅助信息"
236
+ >
237
+ <le-member-other
238
+ :uid="uid"
239
+ v-if="showOtherDialog"
240
+ @close="closeOtherDialog"
241
+ ></le-member-other>
242
+ </le-dialog-container>
230
243
  </div>
231
244
  </template>
232
245
  <script>
@@ -239,8 +252,12 @@ import { exportMemberExcel } from "@/utils/downLoadFile";
239
252
  import moment from "moment";
240
253
  import leMixins from "leisure-core/le-libs/mixins/main"; //
241
254
  import guid from "leisure-js/common/util";
255
+ import LeMemberOther from "./other.vue";
242
256
  export default {
243
257
  name: "le-member",
258
+ components: {
259
+ LeMemberOther,
260
+ },
244
261
  props: {
245
262
  isInitList: {
246
263
  type: Boolean,
@@ -269,8 +286,10 @@ export default {
269
286
  showIntegral: false,
270
287
  uphone: "",
271
288
  unionid: "",
289
+ uid: "",
272
290
 
273
291
  showGiveIntegral: false,
292
+ showOtherDialog:false,
274
293
  currentUser: {},
275
294
  integralForm: {
276
295
  phone: "",
@@ -299,6 +318,13 @@ export default {
299
318
  this.unionid = row.unionid;
300
319
  this.showProductOrder = true;
301
320
  },
321
+ openOtherInfo(id) {
322
+ this.uid = id;
323
+ this.showOtherDialog = true;
324
+ },
325
+ closeOtherDialog() {
326
+ this.showOtherDialog = false;
327
+ },
302
328
 
303
329
  integralLook() {
304
330
  this.currentUid = "";
@@ -383,6 +409,13 @@ export default {
383
409
 
384
410
  params.membered = 1;
385
411
 
412
+ if (!this.showMoreBtn) {
413
+ if (!params.phone) {
414
+ this.$message.error("必须输入手机号");
415
+ return;
416
+ }
417
+ }
418
+
386
419
  params.pageNo = this.searchData.pageNo;
387
420
  userList(params).then((res) => {
388
421
  this.resultData = res.data.data.list;
@@ -0,0 +1,240 @@
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>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "leisure-core",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "leisure-core是leisure-ui-core的简称,是京心数据基于vue2.0开发的一套后台系统框架与js库,包含登录,首页框架等",
5
5
  "private": false,
6
6
  "author": "北方乐逍遥(zcx7878)",