Commit 3cb6cf26 by crushh

update: 按钮权限

parent dc2ff480
......@@ -3,13 +3,13 @@
<dm-sub-title type="line">基本信息</dm-sub-title>
<div class="mt20">
<el-form-item label="游戏名称" prop="gameName"> <el-input maxlength="10" class="w382" @change="handleNameChange" v-model.trim="baseForm.gameName" show-word-limit :disabled="isDisabled" placeholder="请输入游戏名称" /> </el-form-item>
<el-form-item label="游戏时间" prop="gameTime"><el-date-picker class="w382" v-model="baseForm.gameTime" :picker-options="pickerOptions" value-format="timestamp" @change="refresh" type="daterange" range-separator="~" start-placeholder="开始日期" end-placeholder="结束日期"> </el-date-picker></el-form-item>
<el-form-item label="游戏说明" prop="gameRule"> <el-input maxlength="500" class="w382" v-model.trim="baseForm.gameRule" show-word-limit :disabled="isDisabled" :autosize="{ minRows: 4 }" type="textarea" /> </el-form-item>
<el-form-item label="游戏时间" prop="gameTime"><el-date-picker class="w382" v-model="baseForm.gameTime" :disabled="isDisabled" :picker-options="pickerOptions" value-format="timestamp" @change="refresh" type="daterange" range-separator="~" start-placeholder="开始日期" end-placeholder="结束日期"> </el-date-picker></el-form-item>
<el-form-item label="游戏说明" prop="gameRule"> <el-input maxlength="500" class="w382" v-model.trim="baseForm.gameRule" show-word-limit :autosize="{ minRows: 4 }" type="textarea" /> </el-form-item>
</div>
<dm-sub-title type="line">展示信息配置</dm-sub-title>
<div class="mt20">
<el-form-item label="游戏模板" prop="templateId">
<el-radio-group @change="handleTemplateChange" v-model="baseForm.templateId">
<el-radio-group @change="handleTemplateChange" v-model="baseForm.templateId" :disabled="isDisabled">
<el-radio v-for="item in templateData" :label="item.templateId" :key="item.templateId">{{ item.templateName }}</el-radio>
</el-radio-group>
</el-form-item>
......@@ -133,7 +133,7 @@ export default {
isPlay: false,
backMusicOptions: [],
customMusicOptions: [],
isDisabled: false,
templateData: [],
api: config.api,
prizeStyleJson: [], // 抽奖样式
......@@ -156,6 +156,7 @@ export default {
};
},
props: {
gameStatus: 0,
templateArr: {
type: Array,
default: () => []
......@@ -178,6 +179,9 @@ export default {
} else {
return this.backMusicOptions;
}
},
isDisabled() {
return this.gameStatus == 1;
}
},
watch: {
......
......@@ -33,9 +33,9 @@
<dm-step title="3.规则配置" @click.native="active = 2"></dm-step>
</dm-steps>
<div class="formContent">
<baseConfig :templateArr="templateData" :echoData="baseForm" v-show="active == 0" @change="handleBaseConfigChange" @nextStep="data => nextStep(1, data)" />
<baseConfig :gameStatus="gameStatus" :templateArr="templateData" :echoData="baseForm" v-show="active == 0" @change="handleBaseConfigChange" @nextStep="data => nextStep(1, data)" />
<prizeConfig :gameStatus="gameStatus" :invalidCard="invalidCard" :prizeMax="prizeMax" :echoData="prizeForm" :prizeMin="prizeMin" v-show="active == 1" @nextStep="data => nextStep(2, data)" @prevStep="step => (active = step)" />
<ruleConfig :shareCard="shareCard" :shareReport="shareReport" :echoData="ruleForm" v-show="active == 2" @nextStep="data => submit(3, data)" @prevStep="step => (active = step)" :btnLoading="btnLoading" />
<ruleConfig :gameStatus="gameStatus" :shareCard="shareCard" :shareReport="shareReport" :echoData="ruleForm" v-show="active == 2" @nextStep="data => submit(3, data)" @prevStep="step => (active = step)" :btnLoading="btnLoading" />
</div>
</div>
</div>
......@@ -107,7 +107,6 @@ export default {
},
watch: {
templateId(val) {
console.log(val);
const data = this.templateData.filter(item => item.templateId == val)[0];
console.log(data);
const { prizeMax, prizeMin } = data;
......
......@@ -42,7 +42,7 @@
<el-option v-for="(v, i) in gameStatusOptions" :key="i" :label="v.label" :value="v.value"></el-option>
</el-select>
<el-checkbox class="vertical-middle ml0" v-if="$store.state.marketing.isShowSelf" v-model="listParams.createMe" :true-label="1" :false-label="0" label="仅看本人" border @change="refresh" />
<el-button class="fr" type="primary" @click="addGame">新建游戏</el-button>
<el-button class="fr" type="primary" @click="addGame" v-if="$getButtonLimit($buttonCode.marketingCmhAdd)" :limit-code="$buttonCode.marketingCmhAdd">新建游戏</el-button>
</div>
<el-table tooltipEffect="light" :data="tableList" style="width:100%">
<el-table-column label="游戏名称" min-width="183px" prop="gameName" show-overflow-tooltip :formatter="(row, col, val) => val || '--'"></el-table-column>
......@@ -148,7 +148,6 @@ export default {
limitCode: this.$buttonCode.marketingCmhInfo
},
visible: row => {
return true;
return this.$getButtonLimit(this.$buttonCode.marketingCmhInfo);
},
handler: row => this.$router.push('/game/cmh/info/' + row.gameId)
......@@ -159,7 +158,6 @@ export default {
limitCode: this.$buttonCode.marketingCmhEdit
},
visible: row => {
return true;
return (row.status === 1 || row.status === 0) && this.$getButtonLimit(this.$buttonCode.marketingCmhEdit);
},
handler: row => this.$router.push(`/game/cmh/edit/${row.gameId}`)
......@@ -170,7 +168,6 @@ export default {
limitCode: this.$buttonCode.marketingCmhCopy
},
visible: row => {
return true;
return this.$getButtonLimit(this.$buttonCode.marketingCmhCopy);
},
handler: row => this.$router.push('/game/cmh/copy/' + row.gameId)
......@@ -181,7 +178,6 @@ export default {
limitCode: this.$buttonCode.marketingCmhUrl
},
visible: row => {
return true;
return (row.status === 1 || row.status === 0) && this.$getButtonLimit(this.$buttonCode.marketingCmhUrl);
},
handler: row => this.setLinks(row, 6)
......@@ -192,7 +188,6 @@ export default {
limitCode: this.$buttonCode.marketingCmhStop
},
visible: row => {
return true;
return row.status === 1 && this.$getButtonLimit(this.$buttonCode.marketingCmhStop);
},
handler: row => this.stopPlan(row)
......@@ -203,7 +198,6 @@ export default {
limitCode: this.$buttonCode.marketingCmhStatistics
},
visible: row => {
return true;
return (row.status === 1 || row.status === 2 || row.status === 3) && this.$getButtonLimit(this.$buttonCode.marketingCmhStatistics);
},
handler: row => this.$router.push('/cmh/statistics/' + row.gameId)
......
......@@ -19,7 +19,7 @@
<template slot="header"> <span class="needCell">奖品类型</span> </template>
<template slot-scope="{ row, $index }">
<el-form-item :prop="'gamePrizeList.' + $index + '.' + 'prizeType'" :rules="rules.prizeType" label-width="0">
<el-select v-model="row.prizeType" @change="val => handleTypeChange(val, $index)">
<el-select v-model="row.prizeType" :disabled="isDisabled" @change="val => handleTypeChange(val, $index)">
<el-option v-for="(v, i) in prizeTypeOptions" :key="i" :label="v.label" :value="v.value"></el-option>
</el-select>
</el-form-item>
......@@ -29,12 +29,12 @@
<template slot="header"> <span class="needCell">奖项设置</span> </template>
<template slot-scope="{ row, $index }">
<div v-if="row.prizeType == 1">
<el-form-item :prop="'gamePrizeList.' + $index + '.' + 'prizeNumber'" :rules="rules.prizeNumber" label-width="0"> <el-input class="inputClass-32" v-model.number="row.prizeNumber" @change="val => handlePrizeNumChange(val, $index)" />积分 </el-form-item>
<el-form-item :prop="'gamePrizeList.' + $index + '.' + 'prizeNumber'" :rules="rules.prizeNumber" label-width="0"> <el-input class="inputClass-32" :disabled="isDisabled" v-model.number="row.prizeNumber" @change="val => handlePrizeNumChange(val, $index)" />积分 </el-form-item>
</div>
<el-form-item label-width="0" v-else-if="row.prizeType == 2">
<el-button type="text" @click="selectCard($index)" v-show="!row.prizeRelationId">选择卡券</el-button>
<div class="box" v-show="row.prizeRelationId">
<i class="cardIcon iconfont-components3 icon-cp-close-circle-fill" @click="delCard($index)"></i>
<i v-show="!isDisabled" class="cardIcon iconfont-components3 icon-cp-close-circle-fill" @click="delCard($index)"></i>
<div :class="['cardBox', row.status == 1 || row.status == 2 ? 'redBorder' : '']">
<el-tag v-show="row.status == 1" size="mini" type="danger" class="tagIcon">删除</el-tag>
<el-tag v-show="row.status == 2" size="mini" type="danger" class="tagIcon">失效</el-tag>
......@@ -122,7 +122,7 @@
<el-table-column label="操作" fixed="right">
<template slot-scope="{ row, $index }">
<el-popconfirm icon="el-icon-info" title="确认删除吗?" @confirm="del($index)">
<el-button slot="reference" type="text" v-show="row.prizeType != 0 || prizeForm.gamePrizeList.filter(item => item.prizeType == 0).length > 1">删除</el-button>
<el-button slot="reference" :disabled="isDisabled" type="text" v-show="row.prizeType != 0 || prizeForm.gamePrizeList.filter(item => item.prizeType == 0).length > 1">删除</el-button>
</el-popconfirm>
</template>
</el-table-column>
......@@ -223,6 +223,11 @@ export default {
dmUploadAvatar,
libCard
},
computed: {
isDisabled() {
return this.gameStatus == 1;
}
},
mounted() {
this.drag();
},
......
......@@ -2,8 +2,8 @@
<el-form size="small" :model="ruleForm" :rules="rules" ref="ruleForm" label-width="160px">
<dm-sub-title type="line" class="mb20">玩法配置</dm-sub-title>
<el-form-item label="参与人群" prop="memberType">
<el-radio v-model="ruleForm.memberType" :label="0">会员筛选</el-radio>
<el-radio v-model="ruleForm.memberType" :label="1">会员分组</el-radio>
<el-radio v-model="ruleForm.memberType" :label="0" :disabled="isDisabled">会员筛选</el-radio>
<el-radio v-model="ruleForm.memberType" :label="1" :disabled="isDisabled">会员分组</el-radio>
</el-form-item>
<el-form-item>
<div v-show="ruleForm.memberType == 0">
......@@ -16,15 +16,15 @@
<div v-show="ruleForm.memberType == 1">
<el-button v-if="!selectedGroupIds" size="small" @click="groupVisible = true">添加分组</el-button>
<gic-new-member-group :visiable.sync="groupVisible" :selectedIds="selectedGroupIds" @change="confirmGroupDialog" />
<gic-new-member-group :visiable.sync="groupVisible" :onlyRead="isDisabled" :selectedIds="selectedGroupIds" @change="confirmGroupDialog" />
</div>
</el-form-item>
<el-form-item label="适用人群说明" prop="memberDesc">
<el-input maxlength="100" class="w382" placeholder="请输入适用人群说明" v-model.trim="ruleForm.memberDesc" show-word-limit :disabled="isDisabled" :autosize="{ minRows: 4 }" type="textarea" />
<el-input maxlength="100" class="w382" placeholder="请输入适用人群说明" v-model.trim="ruleForm.memberDesc" show-word-limit :autosize="{ minRows: 4 }" type="textarea" />
</el-form-item>
<el-form-item label="参与门槛" prop="playConditionFlag">
<el-radio-group v-model="ruleForm.playConditionFlag">
<el-radio-group v-model="ruleForm.playConditionFlag" :disabled="isDisabled">
<el-radio :label="0">无门槛</el-radio>
<el-radio :label="1">有门槛</el-radio>
</el-radio-group>
......@@ -193,6 +193,7 @@ export default {
props: {
shareCard: '',
shareReport: '',
gameStatus: 0,
btnLoading: false,
echoData: {
type: Object,
......@@ -239,6 +240,9 @@ export default {
computed: {
storeParams() {
return !this.isAdd ? { creatorId: this.ruleForm.creatorId } : {};
},
isDisabled() {
return this.gameStatus == 1;
}
},
methods: {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment