leisure-core 0.4.51 → 0.4.52

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 (59) hide show
  1. package/index.js +2 -71
  2. package/le-common-page/src/main.vue +22 -72
  3. package/le-common-page/src/sub.vue +116 -0
  4. package/le-media-list/src/main.vue +1 -1
  5. package/le-role/src/main.vue +5 -5
  6. package/le-user/src/main.vue +1 -1
  7. package/package.json +5 -7
  8. package/le-ad/index.js +0 -7
  9. package/le-ad/src/main.vue +0 -137
  10. package/le-ad/src/sub.vue +0 -180
  11. package/le-ad-space/index.js +0 -7
  12. package/le-ad-space/src/main.vue +0 -135
  13. package/le-ad-space/src/sub.vue +0 -119
  14. package/le-commission/index.js +0 -7
  15. package/le-commission/src/main.vue +0 -175
  16. package/le-commission/src/sub.vue +0 -213
  17. package/le-commission-cp/index.js +0 -7
  18. package/le-commission-cp/src/main.vue +0 -170
  19. package/le-company/index.js +0 -7
  20. package/le-company/src/main.vue +0 -101
  21. package/le-company/src/sub.vue +0 -111
  22. package/le-coupon/index.js +0 -17
  23. package/le-coupon/src/details.vue +0 -196
  24. package/le-coupon/src/main.vue +0 -193
  25. package/le-coupon/src/sub.vue +0 -362
  26. package/le-coupon-give/index.js +0 -7
  27. package/le-coupon-give/src/main.vue +0 -110
  28. package/le-cp/index.js +0 -7
  29. package/le-cp/src/main.vue +0 -166
  30. package/le-cp/src/sub.vue +0 -174
  31. package/le-depart/index.js +0 -7
  32. package/le-depart/src/main.vue +0 -162
  33. package/le-distribution/index.js +0 -7
  34. package/le-distribution/src/main.vue +0 -85
  35. package/le-distribution-category/index.js +0 -7
  36. package/le-distribution-category/src/main.vue +0 -106
  37. package/le-distribution-category/src/sub.vue +0 -112
  38. package/le-integral/index.js +0 -7
  39. package/le-integral/src/main.vue +0 -198
  40. package/le-member/index.js +0 -7
  41. package/le-member/src/main.vue +0 -494
  42. package/le-member/src/other.vue +0 -240
  43. package/le-member-level/index.js +0 -7
  44. package/le-member-level/src/main.vue +0 -93
  45. package/le-member-level/src/sub.vue +0 -112
  46. package/le-promotions/index.js +0 -9
  47. package/le-promotions/src/main.vue +0 -220
  48. package/le-promotions/src/sub.vue +0 -248
  49. package/le-promotions-activities/index.js +0 -7
  50. package/le-promotions-activities/src/main.vue +0 -208
  51. package/le-promotions-activities/src/sub.vue +0 -212
  52. package/le-rate/index.js +0 -7
  53. package/le-rate/src/main.vue +0 -194
  54. package/le-rate/src/qrinfo.vue +0 -32
  55. package/le-rate/src/sub.vue +0 -183
  56. package/le-seting/index.js +0 -7
  57. package/le-seting/src/main.vue +0 -154
  58. package/le-user-type/index.js +0 -7
  59. package/le-user-type/src/main.vue +0 -39
@@ -1,198 +0,0 @@
1
- <template>
2
- <div>
3
- <el-form :inline="true" :model="searchData">
4
- <el-form-item label="用户ID"
5
- ><el-input v-model="searchData.uid" placeholder="用户ID"></el-input
6
- ></el-form-item>
7
- <el-form-item label="用户手机号"
8
- ><el-input
9
- v-model="searchData.phone"
10
- placeholder="用户手机号"
11
- ></el-input
12
- ></el-form-item>
13
- <!-- <el-form-item label="积分类型">
14
- <el-select v-model="searchData.type" clearable placeholder="请选择">
15
- <el-option label="消费积分" value="1" key="1"></el-option>
16
- <el-option label="获取积分" value="0" key="0"></el-option>
17
- </el-select>
18
- </el-form-item> -->
19
- <el-form-item
20
- ><el-button type="primary" @click="list">查询</el-button></el-form-item
21
- >
22
- <el-form-item
23
- ><el-button type="primary" @click="sum">汇总</el-button></el-form-item
24
- >
25
- <!-- <el-form-item>
26
- <el-popconfirm
27
- :title="`该操作不可逆,将清除所有过期积分!`"
28
- @confirm="clear()"
29
- >
30
- <template #reference>
31
- <el-button type="danger" size="small" style="margin-left: 10px"
32
- >积分清零</el-button
33
- >
34
- </template>
35
- </el-popconfirm></el-form-item
36
- > -->
37
- </el-form>
38
- <vxe-table
39
- :data="tableData"
40
- :align="'center'"
41
- :row-config="{ isHover: true }"
42
- :column-config="{ resizable: true }"
43
- ref="eltablemain"
44
- :max-height="elTableMaxHeight"
45
- border
46
- stripe
47
- style="width: 100%"
48
- >
49
- <vxe-column field="phone" title="手机号" show-overflow width="110">
50
- <template slot-scope="scope">
51
- {{ scope.row.phone ? scope.row.phone : scope.row.uid }}
52
- </template>
53
- </vxe-column>
54
- <vxe-column field="nick" title="昵称" show-overflow width="110">
55
- </vxe-column>
56
- <vxe-column field="real_name" title="真实姓名" show-overflow width="110">
57
- </vxe-column>
58
- <vxe-column title="收获积分">
59
- <template slot-scope="scope">
60
- {{ scope.row.quantity_r > 0 ? scope.row.quantity_r : "" }}
61
- </template>
62
- </vxe-column>
63
- <vxe-column title="消费积分">
64
- <template slot-scope="scope">
65
- {{ scope.row.quantity_c > 0 ? scope.row.quantity_c : "" }}
66
- </template>
67
- </vxe-column>
68
- <vxe-column field="cdate" title="交易日期">
69
- <template slot-scope="scope">
70
- {{ dateFormatter(scope.row.cdate) }}
71
- </template>
72
- </vxe-column>
73
- <vxe-column field="cdate_out" title="过期日期" :formatter="dateFormatter">
74
- <template slot-scope="scope">
75
- {{ dateFormatter(scope.row.cdate_out) }}
76
- </template>
77
- </vxe-column>
78
- <vxe-column field="note" title="备注"></vxe-column>
79
- </vxe-table>
80
- <div style="text-align: center; margin-top: 30px">
81
- <vxe-pager
82
- auto-hidden
83
- align="center"
84
- :current-page="searchData.pageNo"
85
- :page-size="10"
86
- :total="searchData.total"
87
- :layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Total']"
88
- @page-change="current_change"
89
- >
90
- </vxe-pager>
91
- </div>
92
- </div>
93
- </template>
94
- <script>
95
- import moment from "moment";
96
- import { list, sum, clear } from "@/api/integral";
97
- import leMixins from "leisure-core/le-libs/mixins/main"; //
98
- export default {
99
- name: "le-integral",
100
- mixins: [leMixins],
101
- props: {
102
- uid: {
103
- type: String,
104
- default: "",
105
- },
106
- },
107
- data() {
108
- return {
109
- tableData: [],
110
- searchData: {
111
- uid: "",
112
- phone: "",
113
- pageNo: 1,
114
- total: 1,
115
- },
116
- };
117
- },
118
- mounted() {
119
- this.list();
120
- },
121
- methods: {
122
- dateFormatter(data) {
123
- if (data) {
124
- return moment.unix(data).format("YYYY-MM-DD HH:mm:ss");
125
- }
126
- return "";
127
- },
128
- filterParams(obj) {
129
- var _newPar = {};
130
- for (var key in obj) {
131
- if (
132
- (obj[key] === false || obj[key]) &&
133
- obj[key].toString().replace(/(^\s*)|(\s*$)/g, "") !== ""
134
- ) {
135
- _newPar[key] = obj[key];
136
- }
137
- }
138
- return _newPar;
139
- },
140
- footerMethod() {
141
- let footDatas = [];
142
- if (this.tableData && this.tableData.length > 0) {
143
- let footParam = [];
144
- footParam.push("合计");
145
- footParam.push("");
146
- footParam.push("");
147
- footParam.push("");
148
- footParam.push(this.footerData.totalSaleNum);
149
- footParam.push(this.footerData.totalSale / 100);
150
- footDatas.push(footParam);
151
- }
152
- return footDatas;
153
- },
154
- current_change({ currentPage }) {
155
- this.searchData.pageNo = currentPage;
156
- this.list();
157
- },
158
- clear() {
159
- clear().then(() => {
160
- this.$message.success("所有用户过期积分已经全部清零");
161
- });
162
- },
163
- sum() {
164
- let params = this.filterParams(this.searchData);
165
- if (!params.phone && !params.uid) {
166
- this.$message.success("必须先输入uid或者手机号");
167
- } else {
168
- sum(params).then((res) => {
169
- this.tableData = res.data.data;
170
- this.searchData.total = 1;
171
- });
172
- }
173
- },
174
- list() {
175
- let params = this.filterParams(this.searchData);
176
- if (
177
- this.uid &&
178
- this.uid.length > 0 &&
179
- (!params.uid || params.uid.length <= 0)
180
- ) {
181
- params.uid = this.uid;
182
- }
183
- list(params).then((res) => {
184
- this.tableData = res.data.data.list;
185
- this.searchData.total = res.data.data.count;
186
- });
187
- // if (!params.phone && !params.uid) {
188
- // info("必须先输入uid或者手机号", this);
189
- // } else {
190
- // list(params).then((res) => {
191
- // this.tableData = res.data.data.list;
192
- // this.searchData.total = res.data.data.count;
193
- // });
194
- // }
195
- },
196
- },
197
- };
198
- </script>
@@ -1,7 +0,0 @@
1
- import LeMember from "./src/main.vue";
2
-
3
- LeMember.install = function (Vue) {
4
- Vue.component(LeMember.name, LeMember);
5
- };
6
-
7
- export default LeMember;
@@ -1,494 +0,0 @@
1
- <template>
2
- <div>
3
- <el-form :inline="true" :model="searchData">
4
- <el-form-item label="用户id">
5
- <el-input v-model="searchData.id" placeholder="用户id"></el-input>
6
- </el-form-item>
7
-
8
- <el-form-item label="手机号">
9
- <el-input v-model="searchData.phone" placeholder="手机号"></el-input>
10
- </el-form-item>
11
- <el-form-item label="昵称">
12
- <el-input v-model="searchData.nick" placeholder="昵称"></el-input>
13
- </el-form-item>
14
- <el-form-item>
15
- <el-button type="primary" @click="list">查询</el-button>
16
- <template v-if="showMoreBtn">
17
- <el-button type="primary" @click="integralLook">积分统计</el-button>
18
- <el-popconfirm
19
- :title="`该操作不可逆,将清除所有过期积分!`"
20
- @confirm="clear()"
21
- >
22
- <template #reference>
23
- <el-button type="danger" size="small" style="margin-left: 10px"
24
- >积分清零</el-button
25
- >
26
- </template>
27
- </el-popconfirm>
28
- <el-button
29
- id="btnExport"
30
- type="primary"
31
- @click="exportExcell"
32
- style="margin-left: 10px"
33
- >
34
- 导出会员
35
- </el-button>
36
- </template>
37
- </el-form-item>
38
- </el-form>
39
- <el-table
40
- :data="resultData"
41
- border
42
- row-key="id"
43
- stripe
44
- ref="eltablemain"
45
- :max-height="elTableMaxHeight"
46
- style="width: 100%"
47
- >
48
- <!-- <el-table-column
49
- prop="id"
50
- align="center"
51
- label="ID"
52
- width="60"
53
- show-overflow-tooltip
54
- el-tooltip
55
- >
56
- </el-table-column> -->
57
- <el-table-column prop="phone" align="center" width="100" label="手机号">
58
- </el-table-column>
59
- <el-table-column prop="nick" align="center" width="120" label="昵称">
60
- </el-table-column>
61
- <el-table-column prop="utname" align="center" label="身份">
62
- </el-table-column>
63
- <el-table-column prop="sname" align="center" label="姓名">
64
- </el-table-column>
65
- <el-table-column prop="integral" align="center" label="积分">
66
- <template slot-scope="scope">
67
- <span v-if="scope.row.integral && scope.row.integral > 0">{{
68
- scope.row.integral
69
- }}</span>
70
- <span v-else></span>
71
- </template>
72
- </el-table-column>
73
- <el-table-column prop="birthday" align="center" width="90" label="生日">
74
- </el-table-column>
75
- <el-table-column prop="mtitle" align="center" label="会员级别">
76
- </el-table-column>
77
- <el-table-column
78
- width="120"
79
- prop="cdate"
80
- align="center"
81
- label="时间"
82
- :formatter="dateFormat"
83
- >
84
- </el-table-column>
85
- <el-table-column
86
- label="操作"
87
- align="center"
88
- width="400"
89
- fixed="right"
90
- row
91
- :key="guid()"
92
- :render-header="renderHeader"
93
- >
94
- <template slot-scope="scope">
95
- <div class="le-table-btn-container">
96
- <le-button
97
- type="primary"
98
- id="btnIntegral"
99
- text="积分"
100
- @click="openIntegralWindow(scope.row, 0)"
101
- ></le-button>
102
- <!-- <el-button
103
- id="btnXf"
104
- v-if="scope.row.unionid"
105
- type="danger"
106
- @click="openOrder(scope.row)"
107
- >
108
- 订单
109
- </el-button> -->
110
- <le-button
111
- id="btnGiveIntegral"
112
- text="赠送积分"
113
- type="danger"
114
- :disp="scope.row.unionid && showMoreBtn"
115
- @click="giveIntegral(scope.row)"
116
- ></le-button>
117
- <le-button
118
- id="btnRecord"
119
- v-if="scope.row.unionid"
120
- type="danger"
121
- text="领取记录"
122
- @click="openMeberNote(scope.row)"
123
- >
124
- </le-button>
125
- <le-button
126
- id="btnQrCode"
127
- v-if="scope.row.unionid"
128
- type="danger"
129
- text="二维码"
130
- @click="getQrCode(scope.row)"
131
- >
132
- </le-button>
133
- <le-button
134
- id="btnOtherInfo"
135
- text="辅助信息"
136
- type="primary"
137
- @click="openOtherInfo(scope.row.id)"
138
- ></le-button>
139
- </div>
140
- </template>
141
- </el-table-column>
142
- </el-table>
143
- <div style="text-align: center; margin-top: 30px">
144
- <el-pagination
145
- background
146
- layout="prev, pager, next"
147
- :total="searchData.total"
148
- :page-size="10"
149
- @current-change="current_change"
150
- >
151
- </el-pagination>
152
- </div>
153
- <el-dialog
154
- width="90%"
155
- v-el-drag-dialog
156
- title="积分列表"
157
- :visible.sync="showIntegral"
158
- :close-on-click-modal="false"
159
- @close="closeIntegralDialog"
160
- >
161
- <le-integral
162
- :uid="currentUid"
163
- @close="closeIntegralDialog"
164
- v-if="showIntegral"
165
- ></le-integral>
166
- </el-dialog>
167
- <el-dialog
168
- width="60%"
169
- v-el-drag-dialog
170
- title="赠送积分"
171
- :visible.sync="showGiveIntegral"
172
- :close-on-click-modal="false"
173
- @close="closeGiveIntegralDialog"
174
- >
175
- <el-form v-model="integralForm">
176
- <el-form-item label="手机号" label-width="150">
177
- <el-input v-model="integralForm.phone"></el-input>
178
- </el-form-item>
179
- <el-form-item label="昵称" label-width="150">
180
- <el-input v-model="integralForm.nick"></el-input>
181
- </el-form-item>
182
- <el-form-item label="积分" label-width="150">
183
- <el-input-number
184
- v-model="integralForm.integralNum"
185
- :min="1"
186
- ></el-input-number>
187
- </el-form-item>
188
- </el-form>
189
- <div slot="footer" class="dialog-footer">
190
- <el-button @click="closeGiveIntegralDialog">取 消</el-button>
191
- <el-button type="primary" @click="saveGiveIntegral">确 定</el-button>
192
- </div>
193
- </el-dialog>
194
- <el-dialog
195
- width="60%"
196
- v-el-drag-dialog
197
- title="领取记录"
198
- :visible.sync="showMemberNote"
199
- :close-on-click-modal="false"
200
- @close="closeMemberNotelDialog"
201
- >
202
- <el-form v-model="memberNoteForm">
203
- <el-form-item label="领取记录" label-width="150">
204
- <el-input v-model="memberNoteForm.note" type="textarea" :rows="4">
205
- </el-input>
206
- </el-form-item>
207
- </el-form>
208
- <div slot="footer" class="dialog-footer">
209
- <el-button @click="closeMemberNotelDialog">取 消</el-button>
210
- <el-button type="primary" @click="saveMemberNoteForm">确 定</el-button>
211
- </div>
212
- </el-dialog>
213
- <el-dialog
214
- title="二维码"
215
- v-el-drag-dialog
216
- :visible.sync="showQRCodeDialog"
217
- :close-on-click-modal="false"
218
- width="250px"
219
- append-to-body
220
- center
221
- >
222
- <div v-if="showQRCodeDialog" id="qrcode"></div>
223
- <span slot="footer" class="dialog-footer">
224
- <el-button
225
- type="primary"
226
- size="small"
227
- @click="showQRCodeDialog = false"
228
- >
229
- 关闭
230
- </el-button>
231
- </span>
232
- </el-dialog>
233
- <le-dialog-container
234
- :showDialog="showOtherDialog"
235
- @close="closeOtherDialog"
236
- title="会员辅助信息"
237
- >
238
- <le-member-other
239
- :uid="uid"
240
- v-if="showOtherDialog"
241
- @close="closeOtherDialog"
242
- ></le-member-other>
243
- </le-dialog-container>
244
- </div>
245
- </template>
246
- <script>
247
- import { list as userList } from "@/api/user";
248
- import { addIntegral } from "@/api/integral";
249
- import QRCode from "qrcodejs2";
250
- import { list, sum, clear } from "@/api/integral";
251
- import { insertMemberNote, selectMemberNote } from "@/api/member";
252
- import { exportMemberExcel } from "@/utils/downLoadFile";
253
- import moment from "moment";
254
- import leMixins from "leisure-core/le-libs/mixins/main"; //
255
- import guid from "leisure-js/common/util";
256
- import LeMemberOther from "./other.vue";
257
- export default {
258
- name: "le-member",
259
- components: {
260
- LeMemberOther,
261
- },
262
- props: {
263
- isInitList: {
264
- type: Boolean,
265
- default: true,
266
- },
267
- showMoreBtn: {
268
- type: Boolean,
269
- default: true,
270
- },
271
- },
272
- mixins: [leMixins],
273
- data() {
274
- return {
275
- resultData: [],
276
- currentUid: "",
277
- searchData: {
278
- id: "",
279
- phone: "",
280
- nick: "",
281
- pageNo: 1,
282
- total: 1,
283
- },
284
-
285
- showProductOrder: false,
286
- showQRCodeDialog: false,
287
- showIntegral: false,
288
- uphone: "",
289
- unionid: "",
290
- uid: "",
291
-
292
- showGiveIntegral: false,
293
- showOtherDialog: false,
294
- currentUser: {},
295
- integralForm: {
296
- phone: "",
297
- nick: "",
298
- integralNum: 0,
299
- },
300
-
301
- showMemberNote: false,
302
- memberNoteForm: {
303
- id: "",
304
- uid: "",
305
- note: "",
306
- },
307
- };
308
- },
309
- mounted() {
310
- if (this.isInitList) {
311
- this.list();
312
- }
313
- // this.getAllCouponList();
314
- },
315
- methods: {
316
- guid,
317
- openOrder(row) {
318
- this.uphone = row.phone;
319
- this.unionid = row.unionid;
320
- this.showProductOrder = true;
321
- },
322
- openOtherInfo(id) {
323
- this.uid = id;
324
- this.showOtherDialog = true;
325
- },
326
- closeOtherDialog() {
327
- this.showOtherDialog = false;
328
- },
329
-
330
- integralLook() {
331
- this.currentUid = "";
332
- this.showIntegral = true;
333
- },
334
- openIntegralWindow(row) {
335
- this.currentUid = row.id;
336
- this.showIntegral = true;
337
- },
338
- closeIntegralDialog() {
339
- this.currentUid = "";
340
- this.showIntegral = false;
341
- },
342
- closeProductOrderDialog() {
343
- this.showProductOrder = false;
344
- this.uphone = "";
345
- },
346
- closeMemberNotelDialog() {
347
- this.showMemberNote = false;
348
- this.memberNoteForm.id = "";
349
- this.memberNoteForm.uid = "";
350
- this.memberNoteForm.note = "";
351
- },
352
- giveIntegral(item) {
353
- this.integralForm.phone = item.phone;
354
- this.integralForm.nick = item.nick;
355
- this.integralForm.integralNum = 1;
356
- this.currentUser = item;
357
- this.showGiveIntegral = true;
358
- },
359
-
360
- saveGiveIntegral() {
361
- let params = {};
362
- params.uid = this.currentUser.id;
363
- params.phone = this.currentUser.phone;
364
- params.quantity_r = this.integralForm.integralNum;
365
- addIntegral(params).then((res) => {
366
- this.showGiveIntegral = false;
367
- this.$message.success(res.data.info);
368
- });
369
- },
370
- openMeberNote(row) {
371
- let uid = row.id;
372
- this.selectMemberNoteForm(uid);
373
- },
374
- selectMemberNoteForm(uid) {
375
- let param = {};
376
- param.uid = uid;
377
- selectMemberNote(param).then((res) => {
378
- let data = res.data.data;
379
- if (data) {
380
- this.memberNoteForm.note = data.note;
381
- this.memberNoteForm.id = data.id;
382
- }
383
- this.memberNoteForm.uid = uid;
384
- this.showMemberNote = true;
385
- });
386
- },
387
- saveMemberNoteForm() {
388
- let param = JSON.parse(JSON.stringify(this.memberNoteForm));
389
- console.log(param);
390
- insertMemberNote(param).then((res) => {
391
- this.$message.success("保存成功!");
392
- this.showMemberNote = false;
393
- });
394
- },
395
- closeGiveIntegralDialog() {
396
- this.showGiveIntegral = false;
397
- },
398
- list() {
399
- let params = {};
400
-
401
- if (this.searchData.phone.length > 0) {
402
- params.phone = this.searchData.phone;
403
- }
404
- if (this.searchData.nick.length > 0) {
405
- params.nick = this.searchData.nick;
406
- }
407
- if (this.searchData.id && this.searchData.id.length > 0) {
408
- params.id = this.searchData.id;
409
- }
410
-
411
- params.membered = 1;
412
-
413
- if (!this.showMoreBtn) {
414
- if (!params.phone) {
415
- this.$message.error("必须输入手机号");
416
- return;
417
- }
418
- }
419
-
420
- params.pageNo = this.searchData.pageNo;
421
- userList(params).then((res) => {
422
- this.resultData = res.data.data.list;
423
- this.searchData.total = res.data.data.count;
424
- });
425
- },
426
- current_change(currentPage) {
427
- this.searchData.pageNo = currentPage;
428
- this.list();
429
- },
430
- dateFormat(row, column, data) {
431
- return moment.unix(data).format("YYYY-MM-DD HH:mm");
432
- },
433
- clear() {
434
- clear().then(() => {
435
- this.$message.success("所有用户过期积分已经全部清零");
436
- });
437
- },
438
- exportExcell() {
439
- let params = {};
440
- exportMemberExcel("会员列表", params);
441
- },
442
- getQrCode(userInfo) {
443
- this.showQRCodeDialog = true;
444
- let params = {};
445
- params.id = userInfo.id;
446
- params.account = userInfo.account;
447
- params.nick = userInfo.nick;
448
- params.wx_url = userInfo.wx_url;
449
- params.unionid = userInfo.unionid;
450
- params.phone = userInfo.phone;
451
- params.openid = userInfo.openid;
452
- params.pid = userInfo.pid;
453
- params.ptype = userInfo.ptype;
454
- params = encodeURIComponent(JSON.stringify(params));
455
- setTimeout(() => {
456
- new QRCode("qrcode", {
457
- width: 200,
458
- height: 200,
459
- text: params,
460
- colorDark: "#000",
461
- colorLight: "#fff",
462
- correctLevel: QRCode.CorrectLevel.L,
463
- });
464
- }, 100);
465
- },
466
- },
467
- };
468
- </script>
469
- <style lang="less">
470
- .avatar-uploader {
471
- width: 100px;
472
- border: 1px dashed #d9d9d9;
473
- border-radius: 6px;
474
- cursor: pointer;
475
- position: relative;
476
- overflow: hidden;
477
- }
478
- .avatar-uploader:hover {
479
- border-color: #409eff;
480
- }
481
- .avatar-uploader-icon {
482
- font-size: 28px;
483
- color: #8c939d;
484
- width: 100px;
485
- height: 100px;
486
- line-height: 100px;
487
- text-align: center;
488
- }
489
- .avatar {
490
- width: 100px;
491
- height: 100px;
492
- display: block;
493
- }
494
- </style>