|
@@ -3,19 +3,37 @@
|
|
|
<save-form
|
|
|
:inline="true"
|
|
|
class="searchForm"
|
|
|
- save-key="memberSet"
|
|
|
+ save-key="memberFeeSet"
|
|
|
+ ref="searchForm"
|
|
|
@submit="search"
|
|
|
@reset="onReSet"
|
|
|
:model.sync="searchForm"
|
|
|
>
|
|
|
<!-- 状态 指导老师 活动方案-->
|
|
|
- <el-form-item>
|
|
|
+ <el-form-item prop="search">
|
|
|
<el-input
|
|
|
v-model.trim="searchForm.search"
|
|
|
clearable
|
|
|
placeholder="会员名称"
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item prop="organId">
|
|
|
+ <el-select
|
|
|
+ class="multiple"
|
|
|
+ filterable
|
|
|
+ style="width: 180px !important"
|
|
|
+ v-model.trim="searchForm.organId"
|
|
|
+ clearable
|
|
|
+ placeholder="请选择分部"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in selects.branchs"
|
|
|
+ :key="index"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item>
|
|
|
<el-button native-type="submit" type="danger">搜索</el-button>
|
|
|
<el-button native-type="reset" type="primary">重置</el-button>
|
|
@@ -24,8 +42,9 @@
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
style="margin-bottom: 20px"
|
|
|
- v-permission="'/vipNewActive'"
|
|
|
- >新增会员等级</el-button
|
|
|
+ v-permission="'memberRankOrganizationFeeMapper/add'"
|
|
|
+ @click="addFee"
|
|
|
+ >新增收费标准</el-button
|
|
|
>
|
|
|
<el-table
|
|
|
:data="tableList"
|
|
@@ -33,22 +52,103 @@
|
|
|
>
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
- prop="type"
|
|
|
+ prop="organName"
|
|
|
+ label="分部"
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ align="center"
|
|
|
+ prop="rankName"
|
|
|
label="会员名称"
|
|
|
></el-table-column>
|
|
|
+ <el-table-column align="center" prop="type" label="1天收费现价(元)">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ {{ scope.row.memberFeeSetting.currentDayFee | moneyFormat }}元
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" prop="type" label="1天收费原价(元)">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ {{ scope.row.memberFeeSetting.originalDayFee | moneyFormat }}元
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" prop="type" label="1个月收费现价(元)">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ {{ scope.row.memberFeeSetting.currentMonthFee | moneyFormat }}元
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" prop="type" label="1个月收费原价(元)">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ {{ scope.row.memberFeeSetting.originalMonthFee | moneyFormat }}元
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" prop="type" label="6个月收费现价(元)">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ {{ scope.row.memberFeeSetting.currentHalfYearFee | moneyFormat }}元
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" prop="type" label="6个月收费原价(元)">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ {{ scope.row.memberFeeSetting.originalHalfYearFee | moneyFormat }}元
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" prop="type" label="12个月收费现价(元)">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ {{ scope.row.memberFeeSetting.currentYearFee | moneyFormat }}元
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" prop="type" label="12个月收费原价(元)">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ {{ scope.row.memberFeeSetting.originalYearFee | moneyFormat }}元
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
- prop="type"
|
|
|
- label="会员标识"
|
|
|
+ width="100px"
|
|
|
+ prop="updateTime"
|
|
|
+ label="修改时间"
|
|
|
></el-table-column>
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
prop="type"
|
|
|
- label="是否新用户试用"
|
|
|
+ label="修改人"
|
|
|
></el-table-column>
|
|
|
+ <el-table-column align="center" label="操作">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>
|
|
|
+ <!-- memberRankSetting/add -->
|
|
|
+ <auth auths="memberRankOrganizationFeeMapper/get">
|
|
|
+ <el-button type="text" @click="resetFee(scope.row)"
|
|
|
+ >详情</el-button
|
|
|
+ >
|
|
|
+ </auth>
|
|
|
+ <auth
|
|
|
+ :auths="'memberRankOrganizationFeeMapper/update'"
|
|
|
+ >
|
|
|
+ <el-button type="text" @click="resetFee(scope.row, 'update')"
|
|
|
+ >修改</el-button
|
|
|
+ >
|
|
|
+ </auth>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
</el-table>
|
|
|
<pagination
|
|
|
- save-key="memberSet"
|
|
|
+ save-key="memberFeeSet"
|
|
|
:total.sync="rules.total"
|
|
|
sync
|
|
|
:page.sync="rules.page"
|
|
@@ -56,17 +156,229 @@
|
|
|
:page-sizes="rules.page_size"
|
|
|
@pagination="getList"
|
|
|
/>
|
|
|
+ <el-dialog
|
|
|
+ :title="title"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ :visible.sync="branchStatus"
|
|
|
+ default-expand-all
|
|
|
+ @close="onFormClose('ruleForm')"
|
|
|
+ width="820px"
|
|
|
+ >
|
|
|
+ <el-form :model="form" :inline="true" ref="ruleForm">
|
|
|
+ <el-form-item
|
|
|
+ label="所属分部"
|
|
|
+ prop="organId"
|
|
|
+ :rules="[{ required: true, message: '请选择分部' }]"
|
|
|
+ :label-width="formLabelWidth"
|
|
|
+ >
|
|
|
+ <el-select
|
|
|
+ :disabled="addDisabled"
|
|
|
+ class="multiple"
|
|
|
+ filterable
|
|
|
+ style="width: 650px !important"
|
|
|
+ v-model.trim="form.organId"
|
|
|
+ clearable
|
|
|
+ placeholder="请选择分部"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in selects.branchs"
|
|
|
+ :key="index"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ label="会员名称"
|
|
|
+ prop="memberRankSettingId"
|
|
|
+ :rules="[{ required: true, message: '请选择会员' }]"
|
|
|
+ :label-width="formLabelWidth"
|
|
|
+ >
|
|
|
+ <el-select
|
|
|
+ :disabled="addDisabled"
|
|
|
+ class="multiple"
|
|
|
+ filterable
|
|
|
+ style="width: 650px !important"
|
|
|
+ v-model.trim="form.memberRankSettingId"
|
|
|
+ clearable
|
|
|
+ placeholder="请选择会员"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in remberList"
|
|
|
+ :key="index"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ prop="currentDayFee"
|
|
|
+ label="1天收费现价"
|
|
|
+ :rules="[
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: '请输入1天收费现价',
|
|
|
+ trigger: 'blur, change',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ pattern:
|
|
|
+ /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
|
|
|
+ message: '请输入正确的金额',
|
|
|
+ },
|
|
|
+ ]"
|
|
|
+ :label-width="formLabelWidth"
|
|
|
+ >
|
|
|
+ <el-input v-model="form.currentDayFee" :disabled="addDisabled">
|
|
|
+ <template slot="append">元/日</template>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ prop="originalDayFee"
|
|
|
+ label="1天收费原价"
|
|
|
+ :rules="[
|
|
|
+ { required: true, message: '请输入1天收费原价' },
|
|
|
+ {
|
|
|
+ pattern:
|
|
|
+ /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
|
|
|
+ message: '请输入正确的金额',
|
|
|
+ },
|
|
|
+ ]"
|
|
|
+ :label-width="formLabelWidth"
|
|
|
+ >
|
|
|
+ <el-input v-model="form.originalDayFee" :disabled="addDisabled">
|
|
|
+ <template slot="append">元/日</template>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ prop="currentMonthFee"
|
|
|
+ label="1个月收费现价"
|
|
|
+ :rules="[
|
|
|
+ { required: true, message: '请输入1个月收费现价' },
|
|
|
+ {
|
|
|
+ pattern:
|
|
|
+ /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
|
|
|
+ message: '请输入正确的金额',
|
|
|
+ },
|
|
|
+ ]"
|
|
|
+ :label-width="formLabelWidth"
|
|
|
+ >
|
|
|
+ <el-input v-model="form.currentMonthFee" :disabled="addDisabled">
|
|
|
+ <template slot="append">元/月</template>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ prop="originalMonthFee"
|
|
|
+ label="1个月收费原价"
|
|
|
+ :rules="[
|
|
|
+ { required: true, message: '请输入1个月收费原价' },
|
|
|
+ {
|
|
|
+ pattern:
|
|
|
+ /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
|
|
|
+ message: '请输入正确的金额',
|
|
|
+ },
|
|
|
+ ]"
|
|
|
+ :label-width="formLabelWidth"
|
|
|
+ >
|
|
|
+ <el-input v-model="form.originalMonthFee" :disabled="addDisabled">
|
|
|
+ <template slot="append">元/月</template>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ prop="currentHalfYearFee"
|
|
|
+ label="6个月收费现价"
|
|
|
+ :rules="[
|
|
|
+ { required: true, message: '请输入6个月收费现价' },
|
|
|
+ {
|
|
|
+ pattern:
|
|
|
+ /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
|
|
|
+ message: '请输入正确的金额',
|
|
|
+ },
|
|
|
+ ]"
|
|
|
+ :label-width="formLabelWidth"
|
|
|
+ >
|
|
|
+ <el-input v-model="form.currentHalfYearFee" :disabled="addDisabled">
|
|
|
+ <template slot="append">元/年</template>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ prop="originalHalfYearFee"
|
|
|
+ label="6个月收费原价"
|
|
|
+ :rules="[
|
|
|
+ { required: true, message: '请输入6个月收费原价' },
|
|
|
+ {
|
|
|
+ pattern:
|
|
|
+ /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
|
|
|
+ message: '请输入正确的金额',
|
|
|
+ },
|
|
|
+ ]"
|
|
|
+ :label-width="formLabelWidth"
|
|
|
+ >
|
|
|
+ <el-input v-model="form.originalHalfYearFee" :disabled="addDisabled">
|
|
|
+ <template slot="append">元/年</template>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ prop="currentYearFee"
|
|
|
+ label="12个月收费现价"
|
|
|
+ :rules="[
|
|
|
+ { required: true, message: '请输入12个月收费现价' },
|
|
|
+ {
|
|
|
+ pattern:
|
|
|
+ /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
|
|
|
+ message: '请输入正确的金额',
|
|
|
+ },
|
|
|
+ ]"
|
|
|
+ :label-width="formLabelWidth"
|
|
|
+ >
|
|
|
+ <el-input v-model="form.currentYearFee" :disabled="addDisabled">
|
|
|
+ <template slot="append">元/年</template>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ prop="originalYearFee"
|
|
|
+ label="12个月收费原价"
|
|
|
+ :rules="[
|
|
|
+ { required: true, message: '请输入12个月收费原价' },
|
|
|
+ {
|
|
|
+ pattern:
|
|
|
+ /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
|
|
|
+ message: '请输入正确的金额',
|
|
|
+ },
|
|
|
+ ]"
|
|
|
+ :label-width="formLabelWidth"
|
|
|
+ >
|
|
|
+ <el-input v-model="form.originalYearFee" :disabled="addDisabled">
|
|
|
+ <template slot="append">元/年</template>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="branchStatus = false">取 消</el-button>
|
|
|
+ <el-button @click="onSubmit" type="primary">确 定</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
+import numeral from "numeral";
|
|
|
+import {
|
|
|
+ getAllmemberRank,
|
|
|
+ addMemberOrganizationFeeMapper,
|
|
|
+ getmemberRankOrganizationFeeMapper,
|
|
|
+ getmemberOrganizationFeeMapperkDetail,
|
|
|
+ resetMemberOrganizationFeeMapper,
|
|
|
+} from "./api";
|
|
|
import pagination from "@/components/Pagination/index";
|
|
|
+
|
|
|
+// numeral(this.list.form[index].courseTotalMinuties * this.list.form[index].unitPrice).format('0,0.00')
|
|
|
export default {
|
|
|
components: { pagination },
|
|
|
- name: "memberSet",
|
|
|
+ name: "memberFeeSet",
|
|
|
data() {
|
|
|
return {
|
|
|
searchForm: {
|
|
|
search: null,
|
|
|
+ organId: null,
|
|
|
},
|
|
|
rules: {
|
|
|
// 分页规则
|
|
@@ -76,13 +388,129 @@ export default {
|
|
|
page_size: [10, 20, 40, 50], // 选择限制显示条数
|
|
|
},
|
|
|
tableList: [],
|
|
|
+ addDisabled: false,
|
|
|
+ title: "新增收费标准",
|
|
|
+ formLabelWidth: "140px",
|
|
|
+ form: {
|
|
|
+ currentDayFee: "",
|
|
|
+ currentHalfYearFee: "",
|
|
|
+ currentMonthFee: "",
|
|
|
+ currentYearFee: "",
|
|
|
+ originalDayFee: "",
|
|
|
+ originalHalfYearFee: "",
|
|
|
+ originalMonthFee: "",
|
|
|
+ originalYearFee: "",
|
|
|
+ organId: "",
|
|
|
+ memberRankSettingId: "",
|
|
|
+ },
|
|
|
+ branchStatus: false,
|
|
|
+ remberList: [],
|
|
|
};
|
|
|
},
|
|
|
- mounted() {},
|
|
|
+ async mounted() {
|
|
|
+ await this.$store.dispatch("setBranchs");
|
|
|
+ // 获取所有的会员
|
|
|
+ try {
|
|
|
+ const res = await getAllmemberRank();
|
|
|
+ this.remberList = res.data;
|
|
|
+ } catch {}
|
|
|
+
|
|
|
+ this.getList();
|
|
|
+ },
|
|
|
methods: {
|
|
|
- search() {},
|
|
|
- onReSet() {},
|
|
|
- getList() {},
|
|
|
+ search() {
|
|
|
+ this.rules.page = 1;
|
|
|
+ this.getList()
|
|
|
+ },
|
|
|
+ onReSet() {
|
|
|
+ this.$refs.searchForm.resetFields()
|
|
|
+ this.search()
|
|
|
+ },
|
|
|
+ async getList() {
|
|
|
+ try {
|
|
|
+ const res = await getmemberRankOrganizationFeeMapper({
|
|
|
+ ...this.searchForm,
|
|
|
+ rows: this.rules.limit,
|
|
|
+ page: this.rules.page,
|
|
|
+ });
|
|
|
+ this.tableList = res.data.rows;
|
|
|
+ this.rules.total = res.data.total;
|
|
|
+ } catch {}
|
|
|
+ },
|
|
|
+ onFormClose(ruleForm) {
|
|
|
+ (this.form = {
|
|
|
+ currentDayFee: "",
|
|
|
+ currentHalfYearFee: "",
|
|
|
+ currentMonthFee: "",
|
|
|
+ currentYearFee: "",
|
|
|
+ originalDayFee: "",
|
|
|
+ originalHalfYearFee: "",
|
|
|
+ originalMonthFee: "",
|
|
|
+ originalYearFee: "",
|
|
|
+ organId: "",
|
|
|
+ memberRankSettingId: "",
|
|
|
+ }),
|
|
|
+ this.$refs[ruleForm].resetFields();
|
|
|
+ },
|
|
|
+ addFee() {
|
|
|
+ this.title = "新增收费标准";
|
|
|
+ this.addDisabled = false;
|
|
|
+ this.pageType = "create";
|
|
|
+ this.branchStatus = true;
|
|
|
+ },
|
|
|
+ resetFee(row, type) {
|
|
|
+ if (type) {
|
|
|
+ this.title = "修改收费标准";
|
|
|
+ this.pageType = "update";
|
|
|
+ this.addDisabled = false;
|
|
|
+ } else {
|
|
|
+ this.addDisabled = true;
|
|
|
+ this.title = "查看收费标准";
|
|
|
+ this.pageType = "";
|
|
|
+ }
|
|
|
+ this.form = {
|
|
|
+ ...row.memberFeeSetting,
|
|
|
+ organId: row.organId,
|
|
|
+ memberRankSettingId: row.memberRankSettingId,
|
|
|
+ outId:row.id
|
|
|
+ };
|
|
|
+ this.branchStatus = true;
|
|
|
+ },
|
|
|
+ onSubmit() {
|
|
|
+ this.$refs.ruleForm.validate(async (flag) => {
|
|
|
+ if (flag) {
|
|
|
+ if (this.pageType == "update") {
|
|
|
+ try {
|
|
|
+ const res = await resetMemberOrganizationFeeMapper({
|
|
|
+ memberFeeSetting: { ...this.form },
|
|
|
+ organId: this.form.organId,
|
|
|
+ memberRankSettingId: this.form.memberRankSettingId,
|
|
|
+ id:this.form.outId
|
|
|
+
|
|
|
+ });
|
|
|
+ this.$message.success("修改成功");
|
|
|
+ this.branchStatus = false;
|
|
|
+ this.getList();
|
|
|
+ } catch(e) {
|
|
|
+ console.log(e)
|
|
|
+ }
|
|
|
+ } else if (this.pageType == "create") {
|
|
|
+ try {
|
|
|
+ const res = await addMemberOrganizationFeeMapper({
|
|
|
+ memberFeeSetting: { ...this.form },
|
|
|
+ organId: this.form.organId,
|
|
|
+ memberRankSettingId: this.form.memberRankSettingId,
|
|
|
+ });
|
|
|
+ this.$message.success("新建会员成功");
|
|
|
+ this.branchStatus = false;
|
|
|
+ this.getList();
|
|
|
+ } catch {}
|
|
|
+ } else {
|
|
|
+ this.branchStatus = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
},
|
|
|
};
|
|
|
</script>
|