leisure-core 0.2.3 → 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
|
};
|
|
@@ -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,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>
|