| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053 |
- <template>
- <div class="m-container">
- <h2>
- <div class="squrt"></div>
- 云教练收费标准
- </h2>
- <div class="m-core" v-if="(tableList.length>0 || rules.page>1)&&contextFlag">
- <save-form
- :inline="true"
- class="searchForm"
- save-key="memberFeeSet"
- ref="searchForm"
- @submit="search"
- @reset="onReSet"
- :model.sync="searchForm"
- >
- <!-- 状态 指导老师 活动方案-->
- <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>
- </el-form-item>
- </save-form>
- <el-button
- type="primary"
- style="margin-bottom: 20px"
- v-permission="'memberRankOrganizationFeeMapper/add'"
- @click="addFee"
- >新增收费标准</el-button
- >
- <el-table
- :data="tableList"
- :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
- >
- <el-table-column
- align="left"
- prop="organName"
- label="分部"
- ></el-table-column>
- <el-table-column
- align="left"
- prop="rankName"
- label="云教练名称"
- width="90px"
- ></el-table-column>
- <el-table-column align="left" prop="type" label="月收费">
- <template slot-scope="scope">
- <div>
- <p>
- 团购:
- {{
- scope.row.memberFeeSetting.groupPurchaseMonthFee
- | hasMoneyFormat
- }}
- </p>
- <p>
- 原价:
- {{
- scope.row.memberFeeSetting.originalMonthFee | hasMoneyFormat
- }}
- </p>
- <div>经营报表</div>
- <div>确认收入: {{ scope.row.memberFeeSetting.incomeMonthFee | hasMoneyFormat }}</div>
- </div>
- </template>
- </el-table-column>
- <el-table-column align="left" prop="type" label="季度收费">
- <template slot-scope="scope">
- <div>
- <p>
- 团购:
- {{
- scope.row.memberFeeSetting.groupPurchaseQuarterlyFee
- | hasMoneyFormat
- }}
- </p>
- <!-- <p>
- 零售:
- {{
- scope.row.memberFeeSetting.currentQuarterlyFee | hasMoneyFormat
- }}
- </p> -->
- <p>
- 原价:
- {{
- scope.row.memberFeeSetting.originalQuarterlyFee
- | hasMoneyFormat
- }}
- </p>
- <div>经营报表</div>
- <div>确认收入: {{ scope.row.memberFeeSetting.incomeQuarterlyFee | hasMoneyFormat }}</div>
- </div>
- </template>
- </el-table-column>
- <el-table-column align="left" prop="type" label="半年收费">
- <template slot-scope="scope">
- <div>
- <p>
- 团购:
- {{
- scope.row.memberFeeSetting.groupPurchaseHalfYearFee
- | hasMoneyFormat
- }}
- </p>
- <!-- <p>
- 零售:
- {{
- scope.row.memberFeeSetting.currentHalfYearFee | hasMoneyFormat
- }}
- </p> -->
- <p>
- 原价:
- {{
- scope.row.memberFeeSetting.originalHalfYearFee
- | hasMoneyFormat
- }}
- </p>
- <div>经营报表</div>
- <div>确认收入: {{ scope.row.memberFeeSetting.incomeHalfYearFee | hasMoneyFormat }}</div>
- </div>
- </template>
- </el-table-column>
- <el-table-column align="left" prop="type" label="年收费">
- <template slot-scope="scope">
- <div>
- <p>
- 团购:
- {{
- scope.row.memberFeeSetting.groupPurchaseYearFee
- | hasMoneyFormat
- }}
- </p>
- <!-- <p>
- 零售:
- {{ scope.row.memberFeeSetting.currentYearFee | hasMoneyFormat }}
- </p> -->
- <p>
- 原价:
- {{
- scope.row.memberFeeSetting.originalYearFee | hasMoneyFormat
- }}
- </p>
- <div>经营报表</div>
- <div>确认收入: {{ scope.row.memberFeeSetting.incomeYearFee | hasMoneyFormat }}</div>
- </div>
- </template>
- </el-table-column>
- <el-table-column
- width="105px"
- prop="updateTime"
- label="修改时间"
- ></el-table-column>
- <el-table-column
- prop="operatorName"
- label="修改人"
- width="80px"
- ></el-table-column>
- <el-table-column align="center" label="操作" width="100px">
- <template slot-scope="scope">
- <div>
- <!-- memberRankSetting/add -->
- <auth auths="memberRankOrganizationFeeMapper/get">
- <el-button type="text" @click="resetFee(scope.row, 'look')"
- >详情</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="memberFeeSet"
- :total.sync="rules.total"
- sync
- :page.sync="rules.page"
- :limit.sync="rules.limit"
- :page-sizes="rules.page_size"
- @pagination="getList"
- />
- </div>
- <emptyPage @submit="addFee" title='云教练收费标准' btnTitle='新建云教练收费标准' :context='context' v-if="!(tableList.length>0 || rules.page>1)&&contextFlag" />
- <el-dialog
- class="dialog"
- :title="title"
- top="12vh"
- :close-on-click-modal="false"
- :visible.sync="branchStatus"
- v-if="branchStatus"
- default-expand-all
- @close="onFormClose('ruleForm')"
- width="820px"
- >
- <el-form class="elForm" :model="form" label-position="top" ref="ruleForm">
- <div class="wrap">
- <el-form-item
- label="所属分部"
- prop="organId"
- :rules="[{ required: true, message: '请选择分部' }]"
- :label-width="formLabelWidth"
- >
- <el-select
- :disabled="addDisabled"
- class="multiple"
- filterable
- 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
- class="multiple"
- filterable
- 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>
- </div>
- <div class="lineTitle">月度收费</div>
- <div class="wrap">
- <el-form-item
- prop="groupPurchaseMonthFee"
- label="团购价"
- :rules="[
- { required: true, message: '请输入月收费团购价' },
- {
- pattern: /^[1-9][0-9]*$/,
- message: '请输入大于0的正整数',
- },
- { validator: validateMonth, trigger: 'blur' },
- ]"
- :label-width="formLabelWidth"
- :placeholder="monthRule"
- >
- <el-input
- v-model="form.groupPurchaseMonthFee"
- :disabled="addDisabled"
- :placeholder="monthRule"
- >
- <template slot="append">元/月</template>
- </el-input>
- </el-form-item>
- <el-form-item
- prop="currentMonthFee"
- label="零售价"
- :rules="[
- { required: true, message: '请输入月收费零售价' },
- {
- pattern: /^[1-9][0-9]*$/,
- message: '请输入大于0的正整数',
- },
- { validator: validateMonth, trigger: 'blur' },
- ]"
- :label-width="formLabelWidth"
- >
- <el-input
- v-model="form.currentMonthFee"
- :disabled="addDisabled"
- :placeholder="monthRule"
- >
- <template slot="append">元/月</template>
- </el-input>
- </el-form-item>
- <el-form-item
- prop="originalMonthFee"
- label="原价"
- :rules="[
- { required: true, message: '请输入月收费原价' },
- {
- pattern: /^[1-9][0-9]*$/,
- message: '请输入大于0的正整数',
- },
- { validator: validateMonth, trigger: 'blur' },
- ]"
- :label-width="formLabelWidth"
- >
- <el-input
- v-model="form.originalMonthFee"
- :disabled="addDisabled"
- :placeholder="monthRule"
- >
- <template slot="append">元/月</template>
- </el-input>
- </el-form-item>
- <el-form-item
- prop="incomeMonthFee"
- label="经营报表确认收入"
- :rules="[
- { required: true, message: '请输入月度经营报表确认收入' },
- {
- pattern: /^[1-9][0-9]*$/,
- message: '请输入大于0的正整数',
- },
- { validator: validateMonthIncome, trigger: 'blur' },
- ]"
- :label-width="formLabelWidth"
- >
- <el-input
- v-model="form.incomeMonthFee"
- :disabled="addDisabled"
- :placeholder="monthRuleIncome"
- >
- <template slot="append">元</template>
- </el-input>
- </el-form-item>
- </div>
- <div class="lineTitle">季度收费</div>
- <div class="wrap">
- <el-form-item
- prop="groupPurchaseQuarterlyFee"
- label="团购价"
- :rules="[
- { required: true, message: '请输入季度收费团购价' },
- {
- pattern: /^[1-9][0-9]*$/,
- message: '请输入大于0的正整数',
- },
- { validator: validateQuarterly, trigger: 'blur' },
- ]"
- :label-width="formLabelWidth"
- >
- <el-input
- v-model="form.groupPurchaseQuarterlyFee"
- :disabled="addDisabled"
- :placeholder="quarterlyRule"
- >
- <template slot="append">元/季度</template>
- </el-input>
- </el-form-item>
- <el-form-item
- prop="currentQuarterlyFee"
- label="零售价"
- :rules="[
- { required: true, message: '请输入季度收费零售价' },
- {
- pattern: /^[1-9][0-9]*$/,
- message: '请输入大于0的正整数',
- },
- { validator: validateQuarterly, trigger: 'blur' },
- ]"
- :label-width="formLabelWidth"
- >
- <el-input
- v-model="form.currentQuarterlyFee"
- :disabled="addDisabled"
- :placeholder="quarterlyRule"
- >
- <template slot="append">元/季度</template>
- </el-input>
- </el-form-item>
- <el-form-item
- prop="originalQuarterlyFee"
- label="原价"
- :rules="[
- { required: true, message: '请输入季度收费原价' },
- {
- pattern: /^[1-9][0-9]*$/,
- message: '请输入大于0的正整数',
- },
- { validator: validateQuarterly, trigger: 'blur' },
- ]"
- :label-width="formLabelWidth"
- >
- <el-input
- v-model="form.originalQuarterlyFee"
- :disabled="addDisabled"
- :placeholder="quarterlyRule"
- >
- <template slot="append">元/季度</template>
- </el-input>
- </el-form-item>
- <el-form-item
- prop="incomeQuarterlyFee"
- label="经营报表确认收入"
- :rules="[
- { required: true, message: '请输入季度经营报表确认收入' },
- {
- pattern: /^[1-9][0-9]*$/,
- message: '请输入大于0的正整数',
- },
- { validator: validateQuarterlyIncome, trigger: 'blur' },
- ]"
- :label-width="formLabelWidth"
- >
- <el-input
- v-model="form.incomeQuarterlyFee"
- :disabled="addDisabled"
- :placeholder="quarterlyRuleIncome"
- >
- <template slot="append">元</template>
- </el-input>
- </el-form-item>
- </div>
- <div class="lineTitle">半年收费</div>
- <div class="wrap">
- <el-form-item
- prop="groupPurchaseHalfYearFee"
- label="半年收费团购价"
- :rules="[
- { required: true, message: '请输入半年收费团购价' },
- {
- pattern: /^[1-9][0-9]*$/,
- message: '请输入大于0的正整数',
- },
- { validator: validateHalfYear, trigger: 'blur' },
- ]"
- :label-width="formLabelWidth"
- >
- <el-input
- v-model="form.groupPurchaseHalfYearFee"
- :disabled="addDisabled"
- :placeholder="halfYearRule"
- >
- <template slot="append">元/半年</template>
- </el-input>
- </el-form-item>
- <el-form-item
- prop="currentHalfYearFee"
- label="半年收费零售价"
- :rules="[
- { required: true, message: '请输入半年收费零售价' },
- {
- pattern: /^[1-9][0-9]*$/,
- message: '请输入大于0的正整数',
- },
- { validator: validateHalfYear, trigger: 'blur' },
- ]"
- :label-width="formLabelWidth"
- >
- <el-input
- v-model="form.currentHalfYearFee"
- :disabled="addDisabled"
- :placeholder="halfYearRule"
- >
- <template slot="append">元/半年</template>
- </el-input>
- </el-form-item>
- <el-form-item
- prop="originalHalfYearFee"
- label="半年收费原价"
- :rules="[
- { required: true, message: '请输入半年收费原价' },
- {
- pattern: /^[1-9][0-9]*$/,
- message: '请输入大于0的正整数',
- },
- { validator: validateHalfYear, trigger: 'blur' },
- ]"
- :label-width="formLabelWidth"
- >
- <el-input
- v-model="form.originalHalfYearFee"
- :disabled="addDisabled"
- :placeholder="halfYearRule"
- >
- <template slot="append">元/半年</template>
- </el-input>
- </el-form-item>
- <el-form-item
- prop="incomeHalfYearFee"
- label="经营报表确认收入"
- :rules="[
- { required: true, message: '请输入半年经营报表确认收入' },
- {
- pattern: /^[1-9][0-9]*$/,
- message: '请输入大于0的正整数',
- },
- { validator: validateHalfYearIncome, trigger: 'blur' },
- ]"
- :label-width="formLabelWidth"
- >
- <el-input
- v-model="form.incomeHalfYearFee"
- :disabled="addDisabled"
- :placeholder="halfYearRuleIncome"
- >
- <template slot="append">元</template>
- </el-input>
- </el-form-item>
- </div>
- <div class="lineTitle">年度收费</div>
-
- <div class="wrap">
- <el-form-item
- prop="groupPurchaseYearFee"
- label="年收费团购价"
- :rules="[
- { required: true, message: '请输入年收费团购价' },
- {
- pattern: /^[1-9][0-9]*$/,
- message: '请输入大于0的正整数',
- },
- { validator: validateYear, trigger: 'blur' },
- ]"
- :label-width="formLabelWidth"
- >
- <el-input
- v-model="form.groupPurchaseYearFee"
- :disabled="addDisabled"
- :placeholder="yearRule"
- >
- <template slot="append">元/年</template>
- </el-input>
- </el-form-item>
- <el-form-item
- prop="currentYearFee"
- label="年收费零售价"
- :rules="[
- { required: true, message: '请输入年收费零售价' },
- {
- pattern: /^[1-9][0-9]*$/,
- message: '请输入大于0的正整数',
- },
- { validator: validateYear, trigger: 'blur' },
- ]"
- :label-width="formLabelWidth"
- >
- <el-input
- v-model="form.currentYearFee"
- :disabled="addDisabled"
- :placeholder="yearRule"
- >
- <template slot="append">元/年</template>
- </el-input>
- </el-form-item>
- <el-form-item
- prop="originalYearFee"
- label="年收费原价"
- :rules="[
- { required: true, message: '请输入年收费原价' },
- {
- pattern: /^[1-9][0-9]*$/,
- message: '请输入大于0的正整数',
- },
- { validator: validateYear, trigger: 'blur' },
- ]"
- :label-width="formLabelWidth"
- >
- <el-input
- v-model="form.originalYearFee"
- :disabled="addDisabled"
- :placeholder="yearRule"
- >
- <template slot="append">元/年</template>
- </el-input>
- </el-form-item>
- <el-form-item
- prop="incomeYearFee"
- label="经营报表确认收入"
- :rules="[
- { required: true, message: '请输入年度经营报表确认收入' },
- {
- pattern: /^[1-9][0-9]*$/,
- message: '请输入大于0的正整数',
- },
- { validator: validateYearIncome, trigger: 'blur' },
- ]"
- :label-width="formLabelWidth"
- >
- <el-input
- v-model="form.incomeYearFee"
- :disabled="addDisabled"
- :placeholder="yearRuleIncome"
- >
- <template slot="append">元</template>
- </el-input>
- </el-form-item>
- </div>
- </el-form>
- <span slot="footer" class="dialog-footer">
- <el-button v-if="!addDisabled" @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 { sysConfigList } from "@/api/generalSettings";
- import pagination from "@/components/Pagination/index";
- import emptyPage from '@/components/emptyPage'
- // numeral(this.list.form[index].courseTotalMinuties * this.list.form[index].unitPrice).format('0,0.00')
- export default {
- components: { pagination,emptyPage },
- name: "memberFeeSet",
- data() {
- return {
- searchForm: {
- search: null,
- organId: null,
- },
- rules: {
- // 分页规则
- limit: 10, // 限制显示条数
- page: 1, // 当前页
- total: 0, // 总条数
- page_size: [10, 20, 40, 50], // 选择限制显示条数
- },
- tableList: [],
- addDisabled: false,
- title: "新增收费标准",
- pageType: 'create',
- formLabelWidth: "120px",
- form: {
- currentDayFee: "",
- currentHalfYearFee: "",
- currentMonthFee: "",
- currentYearFee: "",
- originalDayFee: "",
- originalHalfYearFee: "",
- originalMonthFee: "",
- originalYearFee: "",
- groupPurchaseDayFee: "",
- groupPurchaseHalfYearFee: "",
- groupPurchaseMonthFee: "",
- groupPurchaseQuarterlyFee: "",
- groupPurchaseYearFee: "",
- organId: "",
- memberRankSettingId: "",
- incomeMonthFee: '', // 月经营报表
- incomeQuarterlyFee: "", // 季度经营报表
- incomeHalfYearFee: "", // 半年经营报表
- incomeYearFee: "", // 年经营报表
- },
- branchStatus: false,
- remberList: [],
- rulesForm: {
- minMonthFee: null,
- maxMonthFee: null,
- minQuarterlyFee: null,
- maxQuarterlyFee: null,
- minHalfYearFee: null,
- maxHalfYearFee: null,
- minYearFee: null,
- maxYearFee: null,
- },
- context:'云教练收费标准,可根据各分部的实际情况为分部制定不同的售价标准,设置完成后,各分部为学员创建云教练缴费时默认以此处设置的价格向学员收费。',
- contextFlag:false
- };
- },
- async mounted() {
- await this.$store.dispatch("setBranchs");
- // 获取所有的会员
- try {
- const res = await getAllmemberRank();
- this.remberList = res.data;
- // 默认选中第一个
- if(this.pageType == 'create' && this.remberList.length > 0) {
- this.form.memberRankSettingId = this.remberList[0].id
- }
- } catch {}
- this.getList();
- this.getRules();
- },
- methods: {
- async getRules() {
- try {
- const res = await sysConfigList({ group: "DEFAULT" });
- const paramName = "cloud_price_range";
- res.data.forEach((item) => {
- if (item.paramName == paramName) {
- const itemValue = item.paranValue
- ? JSON.parse(item.paranValue)
- : null;
- if (itemValue) {
- this.rulesForm = itemValue;
- }
- // this.$set(this.form, item.id, item.paranValue);
- }
- // this.form[item.paramName] = item.paranValue
- // this.$set(this.form, item.id, item.paranValue);
- });
- // this.$forceUpdate()
- // console.log(this.form);
- } catch (e) {
- console.log(e);
- }
- },
- 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.contextFlag = true;
- this.tableList = res.data.rows;
- this.rules.total = res.data.total;
- } catch {}
- },
- onFormClose(ruleForm) {
- (this.form = {
- currentDayFee: "",
- currentHalfYearFee: "",
- currentMonthFee: "",
- currentYearFee: "",
- originalDayFee: "",
- originalHalfYearFee: "",
- originalMonthFee: "",
- originalYearFee: "",
- incomeMonthFee: '', // 月经营报表
- incomeQuarterlyFee: "", // 季度经营报表
- incomeHalfYearFee: "", // 半年经营报表
- incomeYearFee: "", // 年经营报表
- organId: "",
- memberRankSettingId: "",
- }),
- this.$refs[ruleForm].resetFields();
- },
- addFee() {
- this.title = "新增收费标准";
- this.addDisabled = false;
- this.pageType = "create";
- this.branchStatus = true;
- },
- resetFee(row, type) {
- if (type == "update") {
- this.title = "修改收费标准";
- this.pageType = "update";
- this.addDisabled = false;
- } else {
- this.addDisabled = true;
- this.title = "查看收费标准";
- this.pageType = "look";
- }
- let obj = {};
- for (let key in row.memberFeeSetting) {
- if ((row.memberFeeSetting, key, row.memberFeeSetting[key])) {
- obj[key] = row.memberFeeSetting[key];
- }
- }
- this.form = {
- ...obj,
- organId: row.organId,
- memberRankSettingId: row.memberRankSettingId,
- outId: row.id,
- };
- this.branchStatus = true;
- },
- onSubmit() {
- console.log(this.pageType);
- if (this.pageType == "look") {
- this.branchStatus = false;
- return;
- }
- 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 {}
- }
- }
- });
- },
- validateMonthIncome(rule, value, callback){
- const one = Number(value);
- const min = Number(this.rulesForm.minMonthFee);
- const max = this.form.groupPurchaseMonthFee ? Number(this.form.groupPurchaseMonthFee) : Number(this.rulesForm.maxMonthFee)
- if (one >= min && one <= max) {
- return callback();
- }
- return callback(new Error(`月度经营报表应在${min}-${max}之间`));
- },
- validateMonth(rule, value, callback) {
- const one = Number(value);
- const min = Number(this.rulesForm.minMonthFee);
- const max = Number(this.rulesForm.maxMonthFee);
- if (one >= min && one <= max) {
- return callback();
- }
- return callback(new Error(`月度云教练定价应在${min}-${max}之间`));
- },
- validateQuarterlyIncome(rule, value, callback) {
- const one = Number(value);
- const min = Number(this.rulesForm.minQuarterlyFee);
- const max = this.form.groupPurchaseQuarterlyFee ? Number(this.form.groupPurchaseQuarterlyFee) : Number(this.rulesForm.maxQuarterlyFee);
- if (one >= min && one <= max) {
- return callback();
- }
- return callback(new Error(`季度经营报表应在${min}-${max}之间`));
- },
- validateQuarterly(rule, value, callback) {
- const one = Number(value);
- const min = Number(this.rulesForm.minQuarterlyFee);
- const max = Number(this.rulesForm.maxQuarterlyFee);
- if (one >= min && one <= max) {
- return callback();
- }
- return callback(new Error(`季度云教练定价应在${min}-${max}之间`));
- },
- validateHalfYearIncome(rule, value, callback) {
- const one = Number(value);
- const min = Number(this.rulesForm.minHalfYearFee);
- const max = this.form.groupPurchaseHalfYearFee ? Number(this.form.groupPurchaseHalfYearFee) : Number(this.rulesForm.maxHalfYearFee);
- if (one >= min && one <= max) {
- return callback();
- }
- return callback(new Error(`半年经营报表应在${min}-${max}之间`));
- },
- validateHalfYear(rule, value, callback) {
- const one = Number(value);
- const min = Number(this.rulesForm.minHalfYearFee);
- const max = Number(this.rulesForm.maxHalfYearFee);
- if (one >= min && one <= max) {
- return callback();
- }
- return callback(new Error(`半年云教练定价应在${min}-${max}之间`));
- },
- validateYearIncome(rule, value, callback) {
- const one = Number(value);
- const min = Number(this.rulesForm.minYearFee);
- const max = this.form.groupPurchaseYearFee ? Number(this.form.groupPurchaseYearFee) : Number(this.rulesForm.maxYearFee);
- if (one >= min && one <= max) {
- return callback();
- }
- return callback(new Error(`年度经营报表应在${min}-${max}之间`));
- },
- validateYear(rule, value, callback) {
- const one = Number(value);
- const min = Number(this.rulesForm.minYearFee);
- const max = Number(this.rulesForm.maxYearFee);
- if (one >= min && one <= max) {
- return callback();
- }
- return callback(new Error(`年度云教练定价应在${min}-${max}之间`));
- },
- },
- watch: {
- branchStatus(val) {
- if (!val) {
- this.onFormClose("ruleForm");
- }
- },
- },
- computed: {
- monthRuleIncome() {
- return `${this.rulesForm.minMonthFee}-${this.form.groupPurchaseMonthFee ? this.form.groupPurchaseMonthFee : this.rulesForm.maxMonthFee}`;
- },
- monthRule() {
- return `${this.rulesForm.minMonthFee}-${this.rulesForm.maxMonthFee}`;
- },
- quarterlyRuleIncome() {
- return `${this.rulesForm.minQuarterlyFee}-${this.form.groupPurchaseQuarterlyFee ? this.form.groupPurchaseQuarterlyFee : this.rulesForm.maxQuarterlyFee}`;
- },
- quarterlyRule() {
- return `${this.rulesForm.minQuarterlyFee}-${this.rulesForm.maxQuarterlyFee}`;
- },
- halfYearRuleIncome() {
- return `${this.rulesForm.minHalfYearFee}-${this.form.groupPurchaseHalfYearFee ? this.form.groupPurchaseHalfYearFee : this.rulesForm.maxHalfYearFee}`;
- },
- halfYearRule() {
- return `${this.rulesForm.minHalfYearFee}-${this.rulesForm.maxHalfYearFee}`;
- },
- yearRuleIncome() {
- return `${this.rulesForm.minYearFee}-${this.form.groupPurchaseYearFee ? this.form.groupPurchaseYearFee : this.rulesForm.maxYearFee}`;
- },
- yearRule() {
- return `${this.rulesForm.minYearFee}-${this.rulesForm.maxYearFee}`;
- },
- },
- };
- </script>
- <style lang="scss" scoped>
- .feeInput {
- ::v-deep .el-input__inner {
- width: 120px !important;
- }
- }
- .dialog{
- ::v-deep {
- .el-dialog{
- border-radius: 4px;
- overflow: hidden;
- }
- .el-dialog__header{
- display: flex;
- flex-shrink: 0;
- justify-content: space-between;
- align-items: center;
- box-sizing: border-box;
- width: 100%;
- height: 48px;
- padding: 0 20px;
- .el-dialog__title{
- font-weight: 500;
- font-size: 16px;
- }
- .el-dialog__headerbtn{
- position: relative;
- top: 0;
- right: 0;
- &::before{
- position: absolute;
- display: block;
- box-sizing: border-box;
- background-color: transparent;
- border-radius: 50%;
- transition: background-color .1s cubic-bezier(0,0,1,1);
- content: "";
- top: 50%;
- left: 50%;
- width: 20px;
- height: 20px;
- transform: translate(-50%,-50%);
- }
- }
- .el-dialog__headerbtn:hover{
- &::before{
- background-color: rgba(0,0,0, .5);
- }
- }
- .el-dialog__close{
- position: relative;
- }
- }
- .el-dialog__body{
- padding: 10px 20px;
- }
- .el-input-group__append{
- padding: 0 10px;
- }
- }
- }
- .elForm{
- ::v-deep {
- .el-form-item__label{
- max-width: 100%;
- color: #4e5969;
- font-size: 14px;
- white-space: normal;
- padding: 0;
- font-weight: 400;
- line-height: 32px;
- }
- }
- }
- .lineTitle{
- background-color: rgba(247,247,247,1);
- padding: 10px;
- border-radius: 4px;
- color: #333;
- }
- .wrap{
- display: flex;
- align-items: center;
- ::v-deep .el-form-item:not(:last-child){
- margin-right: 20px;
-
- }
- .el-form-item{
- width: 180px;
- }
- }
- </style>
|