leisure-core 0.2.2 → 0.2.4

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
@@ -33,6 +33,8 @@ 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
35
  import { LeHelp, LeHelpDetail } from "./le-help/index.js";
36
+ import LeDistribution from "./le-distribution/index.js";
37
+ import LeDistributionCategory from "./le-distribution-category/index.js";
36
38
 
37
39
  const components = [
38
40
  LeButton,
@@ -71,6 +73,8 @@ const components = [
71
73
  LeMpurl,
72
74
  LeHelp,
73
75
  LeHelpDetail,
76
+ LeDistribution,
77
+ LeDistributionCategory,
74
78
  ];
75
79
 
76
80
  const install = function (Vue) {
@@ -178,4 +182,6 @@ export default {
178
182
  LeMpurl,
179
183
  LeHelp,
180
184
  LeHelpDetail,
185
+ LeDistribution,
186
+ LeDistributionCategory,
181
187
  };
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div>
2
+ <div class="le-button-qr">
3
3
  <le-button text="显示二维码" @click="qrMake"></le-button>
4
4
  <le-dialog-container
5
5
  title="二维码"
@@ -34,10 +34,15 @@ export default {
34
34
  this.showQrMake = false;
35
35
  },
36
36
  qrMake() {
37
- this.showQrMake = true;
38
- setTimeout(() => {
39
- this.qrcode("qrcodemake");
40
- }, 100);
37
+ this.$emit("qrMake", this.qrMakeCallBack);
38
+ },
39
+ qrMakeCallBack(res) {
40
+ if (res && res == "ok") {
41
+ this.showQrMake = true;
42
+ setTimeout(() => {
43
+ this.qrcode("qrcodemake");
44
+ }, 100);
45
+ }
41
46
  },
42
47
  qrcode(id) {
43
48
  return new Promise((resolve, reject) => {
@@ -68,3 +73,7 @@ export default {
68
73
  },
69
74
  };
70
75
  </script>
76
+ <style lang="scss" scoped>
77
+ .le-button-qr {
78
+ }
79
+ </style>
@@ -1,20 +1,13 @@
1
1
  <template>
2
- <el-dialog
3
- :width="width"
4
- :title="title"
5
- :visible.sync="dialogShow"
6
- :close-on-click-modal="closeMode"
7
- append-to-body
8
- @close="closeDialog"
9
- v-el-drag-dialog
10
- >
2
+ <el-dialog :width="width" :title="title" :visible.sync="dialogShow" :close-on-click-modal="closeMode" append-to-body
3
+ @close="closeDialog" v-el-drag-dialog>
11
4
  <slot v-if="dialogShow" />
12
5
  <div slot="footer" v-if="showFooter" class="dialog-footer">
13
6
  <template>
14
- <el-button type="info" @click="closeDialog">关闭</el-button>
7
+ <el-button type="info" v-if="showCloseBtn" @click="closeDialog">关闭</el-button>
15
8
  <el-button type="primary" v-if="showSaveBtn" @click="saveData">{{
16
9
  saveBtnText
17
- }}</el-button>
10
+ }}</el-button>
18
11
  </template>
19
12
  </div>
20
13
  </el-dialog>
@@ -47,6 +40,10 @@ export default {
47
40
  type: Boolean,
48
41
  default: true,
49
42
  },
43
+ showCloseBtn: {
44
+ type: Boolean,
45
+ default: true,
46
+ },
50
47
  saveBtnText: {
51
48
  type: String,
52
49
  default: "确 定",
@@ -0,0 +1,7 @@
1
+ import LeDistribution from "./src/main.vue";
2
+
3
+ LeDistribution.install = function (Vue) {
4
+ Vue.component(LeDistribution.name, LeDistribution);
5
+ };
6
+
7
+ export default LeDistribution;
@@ -0,0 +1,83 @@
1
+ <template>
2
+ <el-form ref="form" v-model="form" label-position="left" label-width="225px">
3
+ <el-form-item label="分销功能">
4
+ <el-radio-group v-model="form.is_open">
5
+ <el-radio :label="0">关闭</el-radio>
6
+ <el-radio :label="1">开启</el-radio>
7
+ </el-radio-group>
8
+ </el-form-item>
9
+ <el-form-item label="分销层级">
10
+ <el-input-number v-model="form.dlevels" :min="1" :max="2"></el-input-number>
11
+ </el-form-item>
12
+ <el-form-item label="商品详情页显示佣金">
13
+ <el-radio-group v-model="form.is_dc">
14
+ <el-radio :label="0">隐藏</el-radio>
15
+ <el-radio :label="1">显示</el-radio>
16
+ </el-radio-group>
17
+ </el-form-item>
18
+ <el-form-item label="详情页佣金可见用户">
19
+ <el-radio-group v-model="form.dc_range">
20
+ <el-radio :label="1">所有用户</el-radio>
21
+ <el-radio :label="2">分销商</el-radio>
22
+ </el-radio-group>
23
+ </el-form-item>
24
+ <el-form-item label="佣金计算方式">
25
+ <el-radio-group v-model="form.ctype">
26
+ <el-radio :label="0" disabled>实际支付金额</el-radio>
27
+ </el-radio-group>
28
+ </el-form-item>
29
+ <el-form-item label="是否所有用户都可以成为分销商">
30
+ <el-radio-group v-model="form.duser">
31
+ <el-radio :label="0">仅指定用户</el-radio>
32
+ <el-radio :label="1">所有用户</el-radio>
33
+ </el-radio-group>
34
+ </el-form-item>
35
+ <el-form-item label="是否所有商品都可以成为分销商品">
36
+ <el-radio-group v-model="form.dgoods">
37
+ <el-radio :label="0">仅指定商品</el-radio>
38
+ <el-radio :label="1">所有商品</el-radio>
39
+ </el-radio-group>
40
+ </el-form-item>
41
+ <el-form-item label="分销商品佣金比率是否一致">
42
+ <el-radio-group v-model="form.dgrate">
43
+ <el-radio :label="0">仅指定商品</el-radio>
44
+ <el-radio :label="1">所有商品</el-radio>
45
+ </el-radio-group>
46
+ </el-form-item>
47
+ </el-form>
48
+ </template>
49
+ <script>
50
+ import { select, update } from "@/api/distribution_config";
51
+ export default {
52
+ name: "le-distribution",
53
+ data() {
54
+ return {
55
+ form: {
56
+ is_open: 1,
57
+ is_dc: 1,
58
+ dlevels: 1,
59
+ dc_range: 1,
60
+ dcondition: 1,
61
+ ctype: 0,
62
+ duser: 0,
63
+ dgoods: 1,
64
+ dgrate: 1,
65
+ }
66
+ };
67
+ },
68
+ mounted() {
69
+ },
70
+ methods: {
71
+ selectInfo() {
72
+ select().then((res) => {
73
+ let data = res.data.data;
74
+ console.log(data)
75
+ if (data) {
76
+ this.data = data;
77
+ }
78
+ })
79
+ }
80
+ },
81
+ };
82
+ </script>
83
+ <style lang="scss" scoped></style>
@@ -0,0 +1,7 @@
1
+ import LeDistributionCategory from "./src/main.vue";
2
+
3
+ LeDistributionCategory.install = function (Vue) {
4
+ Vue.component(LeDistributionCategory.name, LeDistributionCategory);
5
+ };
6
+
7
+ export default LeDistributionCategory;
@@ -0,0 +1,73 @@
1
+ <template>
2
+ <div>
3
+ <el-form :inline="true">
4
+ <el-form-item>
5
+ <el-button type="primary" @click="add()">新建</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="cname" label="人员类别名称" width="180">
10
+ </el-table-column>
11
+ <el-table-column prop="crate1" label="一级佣金比例"> </el-table-column>
12
+ <el-table-column prop="crate2" label="二级佣金比例"> </el-table-column>
13
+ <el-table-column prop="note" label="备注"> </el-table-column>
14
+ <el-table-column fixed="right" label="操作" align="center" width="160" row>
15
+ <template slot-scope="scope">
16
+ <le-button id="btnEdit" v-permission="$route.params.btns" text="编辑" :disp="btnEditDisp"
17
+ @click="openEditWindow(scope.row)"></le-button>
18
+ <le-button-msg @click="del(scope.row)" :disp="btnDelDisp"></le-button-msg>
19
+ </template>
20
+ </el-table-column>
21
+ </el-table>
22
+ <le-dialog-container :showDialog="showDialog" @close="closeDialog" width="40%" title="分销人员类别">
23
+ <le-distribution-category-sub @close="closeDialog" @rowRefresh="list"
24
+ :rowitem="currentRow"></le-distribution-category-sub>
25
+ </le-dialog-container>
26
+ </div>
27
+ </template>
28
+ <script>
29
+ import { list, del } from "@/api/distribution_category";
30
+ import LeDistributionCategorySub from "./sub.vue";
31
+ export default {
32
+ name: "le-distribution-category",
33
+ components: {
34
+ LeDistributionCategorySub,
35
+ },
36
+ data() {
37
+ return {
38
+ tableData: [],
39
+ showDialog: false,
40
+ currentRow: {},
41
+ };
42
+ },
43
+ computed: {
44
+ },
45
+ mounted() {
46
+ this.list();
47
+ },
48
+ methods: {
49
+ list() {
50
+ list().then((res) => {
51
+ this.tableData = res.data.data;
52
+ });
53
+ },
54
+ add() {
55
+ this.showDialog = true;
56
+ },
57
+ del(id) {
58
+ del(id).then((response) => {
59
+ this.list();
60
+ this.$message.success(response.data.info);
61
+ });
62
+ },
63
+ openEditWindow(item) {
64
+ this.currentRow = item;
65
+ this.showDialog = true;
66
+ },
67
+ closeDialog() {
68
+ this.showDialog = false;
69
+ this.currentRow = {};
70
+ },
71
+ },
72
+ };
73
+ </script>
@@ -0,0 +1,97 @@
1
+ <template>
2
+ <el-form ref="form" :model="form" :rules="rules" label-position="left" label-width="110px">
3
+ <el-form-item label="分销类别名称" prop="cname">
4
+ <el-input v-model="form.cname"></el-input>
5
+ </el-form-item>
6
+ <el-form-item label="一级佣金比例" prop="crate1">
7
+ <el-input-number v-model="form.crate1" :min="0" :max="100"></el-input-number>
8
+ <span>%</span>
9
+ </el-form-item>
10
+ <el-form-item label="二级佣金比例" prop="crate2">
11
+ <el-input-number v-model="form.crate2" :min="0" :max="100"></el-input-number>
12
+ <span>%</span>
13
+ </el-form-item>
14
+ <el-form-item label="备注" prop="note">
15
+ <el-input v-model="form.note"></el-input>
16
+ </el-form-item>
17
+ <el-form-item v-rfooter>
18
+ <el-button type="primary" @click="onSubmit">保存</el-button>
19
+ <el-button @click="close()">取消</el-button>
20
+ </el-form-item>
21
+ </el-form>
22
+ </template>
23
+ <script>
24
+ import { update, create } from "@/api/distribution_category";
25
+ export default {
26
+ name: "le-distribution-category-sub",
27
+ props: {
28
+ rowitem: {},
29
+ },
30
+ data() {
31
+ return {
32
+ form: {
33
+ id: "",
34
+ cname: "",
35
+ crate1: 10,
36
+ crate2: 0,
37
+ note: "",
38
+ },
39
+ rules: {
40
+ cname: [
41
+ { required: true, message: "请输入分销类别名称", trigger: "blur" },
42
+ {
43
+ min: 1,
44
+ max: 30,
45
+ message: "长度在 1 到 30 个字符",
46
+ trigger: "blur",
47
+ },
48
+ ],
49
+ crate1: [
50
+ { required: true, message: "请输入一级佣金比例", trigger: "blur" },
51
+ ],
52
+ note: [
53
+ {
54
+ max: 200,
55
+ message: "长度在 0 到 200个字符",
56
+ trigger: "blur",
57
+ },
58
+ ],
59
+ },
60
+ };
61
+ },
62
+ watch: {
63
+ rowitem: {
64
+ handler(newValue) {
65
+ this.form = newValue;
66
+ },
67
+ immediate: true,
68
+ },
69
+ },
70
+ mounted() { },
71
+ methods: {
72
+ onSubmit() {
73
+ this.$refs["form"].validate((valid) => {
74
+ if (valid) {
75
+ let param = JSON.parse(JSON.stringify(this.form));
76
+ if (param.id) {
77
+ update(param).then((response) => {
78
+ this.$message.success(response.data.info);
79
+ this.$emit("rowRefresh");
80
+ this.close();
81
+ });
82
+ } else {
83
+ create(param).then((res) => {
84
+ this.$message.success(res.data.info);
85
+ this.$emit("rowRefresh");
86
+ this.close();
87
+ });
88
+ }
89
+ }
90
+ });
91
+ },
92
+ close() {
93
+ this.$emit("close");
94
+ },
95
+ },
96
+ };
97
+ </script>
@@ -8,7 +8,7 @@
8
8
  <el-input v-model="qrCodeUrl" readonly></el-input>
9
9
  </el-form-item>
10
10
  <el-form-item>
11
- <le-button-qr :qrCodeUrl="qrCodeUrl"></le-button-qr>
11
+ <le-button-qr :qrCodeUrl="qrCodeUrl" @qrMake="qrMake"></le-button-qr>
12
12
  </el-form-item>
13
13
  </el-form>
14
14
  </div>
@@ -23,6 +23,10 @@ export default {
23
23
  };
24
24
  },
25
25
  mounted() {},
26
- methods: {},
26
+ methods: {
27
+ qrMake(callback) {
28
+ if (callback) callback("ok");
29
+ },
30
+ },
27
31
  };
28
32
  </script>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "leisure-core",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "leisure-core是leisure-ui-core的简称,是京心数据基于vue2.0开发的一套后台系统框架与js库,包含登录,首页框架等",
5
5
  "private": false,
6
6
  "author": "北方乐逍遥(zcx7878)",