|
@@ -114,6 +114,45 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
|
|
|
+ <el-table-column
|
|
|
+ label="结算规则名称"
|
|
|
+ align="center"
|
|
|
+ prop="ruleName"
|
|
|
+ width="150"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div v-if="!!scope.row.ruleName">
|
|
|
+ <el-button size="mini" type="text" @click="lookDetail(scope.row)"
|
|
|
+ >{{ scope.row.ruleName }}
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ @click="
|
|
|
+ ruleEditVisible = true;
|
|
|
+ formRuleEdit = { ruleId: scope.row.ruleId };
|
|
|
+ ids = scope.row.promoterId;
|
|
|
+ "
|
|
|
+ >编辑
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ <div v-else>
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ @click="
|
|
|
+ ruleEditVisible = true;
|
|
|
+ formRuleEdit = { ruleId: undefined };
|
|
|
+ ids = scope.row.promoterId;
|
|
|
+ "
|
|
|
+ >绑定规则
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
<el-table-column label="粉丝数" align="center" prop="fansNumber" width="100px">
|
|
|
</el-table-column>
|
|
|
|
|
@@ -484,6 +523,74 @@
|
|
|
>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
+ <!-- 结算规则列表 -->
|
|
|
+ <el-dialog title="结算规则" :visible.sync="ruleVisible" width="800px">
|
|
|
+ <el-table :data="ruleList" style="width: 100%">
|
|
|
+ <el-table-column label="序号" align="center" prop="sortCount"></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="起始单数"
|
|
|
+ align="center"
|
|
|
+ prop="startItemCount"
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="结束单数"
|
|
|
+ align="center"
|
|
|
+ prop="endItemCount"
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="主播奖励金额"
|
|
|
+ align="center"
|
|
|
+ prop="anchorAmount"
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ label="推荐人奖励金额"
|
|
|
+ align="center"
|
|
|
+ prop="referenceAmount"
|
|
|
+ ></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
+ <!-- 编辑/绑定结算规则 -->
|
|
|
+ <el-dialog title="编辑/绑定结算规则" :visible.sync="ruleEditVisible" width="500px">
|
|
|
+ <el-form
|
|
|
+ ref="formRuleEdit"
|
|
|
+ :model="formRuleEdit"
|
|
|
+ :rules="ruleEdit"
|
|
|
+ label-width="100px"
|
|
|
+ :inline="true"
|
|
|
+ >
|
|
|
+ <el-form-item label="结算规则" prop="ruleId">
|
|
|
+ <el-select
|
|
|
+ filterable
|
|
|
+ v-model="formRuleEdit.ruleId"
|
|
|
+ placeholder="请选择规则"
|
|
|
+ clearable
|
|
|
+ style="width: 240px"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in ruleInfo"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button type="primary" @click="submitFormRuleEdit" :loading="confirmLoading"
|
|
|
+ >确 定
|
|
|
+ </el-button>
|
|
|
+ <el-button
|
|
|
+ @click="
|
|
|
+ confirmLoading = false;
|
|
|
+ ruleEditVisible = false;
|
|
|
+ formRuleEdit = {};
|
|
|
+ "
|
|
|
+ >取 消
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -494,6 +601,9 @@ import {
|
|
|
addPromoter,
|
|
|
editPromoter,
|
|
|
deleteById,
|
|
|
+ getPromoterRuleList,
|
|
|
+ getRuleDetailByRuleId,
|
|
|
+ addRule,
|
|
|
} from "@/api/promoter/promoter";
|
|
|
import { addFollowUpRecords } from "@/api/label";
|
|
|
import { join } from "path";
|
|
@@ -515,6 +625,19 @@ export default {
|
|
|
callback();
|
|
|
};
|
|
|
return {
|
|
|
+ ruleInfo: [],
|
|
|
+ rules: {},
|
|
|
+ ruleEdit: {
|
|
|
+ ruleId: {
|
|
|
+ required: true,
|
|
|
+ message: "结算规则必选",
|
|
|
+ trigger: "change",
|
|
|
+ },
|
|
|
+ },
|
|
|
+ formRuleEdit: {},
|
|
|
+ ruleList: [],
|
|
|
+ ruleEditVisible: false,
|
|
|
+ ruleVisible: false,
|
|
|
mediaId: "2",
|
|
|
options: [],
|
|
|
tagList: [],
|
|
@@ -623,6 +746,7 @@ export default {
|
|
|
created() {
|
|
|
this.userId = this.$store.getters.userId;
|
|
|
this.getList();
|
|
|
+ this.getPromoterRuleList();
|
|
|
},
|
|
|
filters: {
|
|
|
mediaStatusName(status) {
|
|
@@ -635,6 +759,42 @@ export default {
|
|
|
|
|
|
},
|
|
|
methods: {
|
|
|
+
|
|
|
+ submitFormRuleEdit() {
|
|
|
+ this.$refs["formRuleEdit"].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ this.confirmLoading = true;
|
|
|
+ let params = {};
|
|
|
+ params.ruleId = this.formRuleEdit.ruleId;
|
|
|
+ params.promoterId = this.ids;
|
|
|
+ addRule(params).then((res) => {
|
|
|
+ this.confirmLoading = false;
|
|
|
+ this.ruleEditVisible = false;
|
|
|
+ this.formRuleEdit = {};
|
|
|
+ this.getList();
|
|
|
+ this.$modal.msgSuccess("修改成功");
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ getPromoterRuleList() {
|
|
|
+ getPromoterRuleList({userId: this.userId}).then((res) => {
|
|
|
+ this.ruleInfo = res.data.map((item) => {
|
|
|
+ return {
|
|
|
+ label: item.ruleName,
|
|
|
+ value: item.id,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ lookDetail(item) {
|
|
|
+ getRuleDetailByRuleId({ruleId: item.ruleId}).then((res) => {
|
|
|
+ this.ruleVisible = true;
|
|
|
+ this.ruleList = res.data;
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
toIndexDetail(item) {
|
|
|
this.$router.replace({
|
|
|
path: "/promoter/detail",
|