369 lines
8.1 KiB
Vue
369 lines
8.1 KiB
Vue
<template>
|
|
<view class="content">
|
|
<view class="box_item" v-for="(item,index) in item_List">
|
|
<!-- 标题 -->
|
|
<p class="box_title">{{getDictLively(item.livelyName)}}</p>
|
|
<!-- 输入 -->
|
|
<view class="input_box">
|
|
<p>每日可获取奖励次数:</p>
|
|
<input :class="change_id==item.id?'input_active':''" type="number" placeholder="1"
|
|
v-model.number="item.dayCount" :disabled=" change_id==item.id & item.cut == 0?false:true" >
|
|
|
|
</input>
|
|
</view>
|
|
<!-- 第二个输入 -->
|
|
<view class="input_box">
|
|
<p>每次可获得活跃度:</p><input type="number" :class="change_id==item.id ?'input_active':''" placeholder="1"
|
|
v-model.number="item.livelySum" :disabled="change_id==item.id?false:true" />
|
|
</view>
|
|
<!-- 按钮 -->
|
|
<view class="item_btns" v-if="change_id==item.id">
|
|
<view class="btns_left" @click="cancel_change">
|
|
取消
|
|
</view>
|
|
<view class="btns_right" @click="queding_change(item)">
|
|
确认
|
|
</view>
|
|
</view>
|
|
<view class="item_btn" v-else @click="changetext(index,item.id)">
|
|
修改
|
|
</view>
|
|
|
|
</view>
|
|
<!-- 等级设置的功能区域 -->
|
|
<view class="level_shezhi">
|
|
<h4>等级设置</h4>
|
|
<!-- 标题区域 -->
|
|
<view class="shezhi_box">
|
|
<view class="left_shezhi_box">
|
|
等级
|
|
</view>
|
|
<view class="center_shezhi_box">
|
|
升级所需活跃度
|
|
</view>
|
|
<view class="right_shezhi_box">
|
|
|
|
</view>
|
|
</view>
|
|
<!-- 输入区域 -->
|
|
<view class="shezhi_box_else" v-for="(item,index) in level_List">
|
|
<view class="left_shezhi_box">
|
|
<input v-model="item.grade" type="text" style="text-align: center;" />
|
|
</view>
|
|
<view class="center_shezhi_box">
|
|
<input type="text" class="inputs" :class="index == if_focus?'input_active':''"
|
|
:disabled="if_focus!=index"
|
|
v-model="item.livelyInfo" :focus="if_focus==index?true:false" />
|
|
</view>
|
|
<view class="right_shezhi_box" @click="bianji_level(index,item)">
|
|
<image src="../../../static/images/icon/bianji_whitea.png" v-if="if_focus!=index" id="inputs" mode=""></image>
|
|
<image src="../../../static/images/icon/binggo.png" mode=""v-else @click.stop="finfsh_bianji(item)" ></image>
|
|
</view>
|
|
</view>
|
|
<!-- 增加等级区域 -->
|
|
<view class="add_level" @click="add_levels">
|
|
增加等级
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script setup>
|
|
import { listGrade, getGrade, delGrade, addGrade, updateGrade } from "@/api/system/grade";
|
|
import { listLively, getLively, delLively, addLively, updateLively } from "@/api/system/lively";
|
|
import { getAuditlistInfo } from "@/api/activityInfo/info";
|
|
import { useStore } from 'vuex'
|
|
import { useRouter } from 'vue-router'
|
|
import { ref, getCurrentInstance, reactive, toRefs } from 'vue';
|
|
import { getDicts } from "@/api/system/dict/data";
|
|
import { onShow, onLoad, onPullDownRefresh } from '@dcloudio/uni-app'
|
|
const { proxy } = getCurrentInstance();
|
|
const isOfficial = ref(true)
|
|
const store = useStore();
|
|
const iconConfig = proxy.iconConfig;
|
|
var item_List = ref([])
|
|
//等级列表
|
|
var level_List = ref([])
|
|
var change_id = ref(-1)
|
|
var if_focus = ref(-1)
|
|
const lively = ref([]);
|
|
const livelyCutInfo = ref([]);
|
|
onLoad(()=>{
|
|
getDicts('lively').then(e => {
|
|
lively.value = e.data;
|
|
});
|
|
getDicts('lively_cut').then(e => {
|
|
livelyCutInfo.value = e.data;
|
|
});
|
|
listGrade().then(e => {
|
|
console.log("e1,",e);
|
|
level_List.value = e.rows
|
|
})
|
|
listLively().then(e =>{
|
|
console.log("e2",e);
|
|
item_List.value = e.rows;
|
|
})
|
|
})
|
|
const getDictLively = (state) => {
|
|
const dict = lively.value.find((dict) => dict.dictValue === state);
|
|
return dict ? dict.dictLabel : '未知状态';
|
|
};
|
|
const getDictLivelyCut = (state) => {
|
|
const dict = livelyCutInfo.value.find((dict) => dict.dictValue === state);
|
|
return dict ? dict.dictLabel : '未知状态';
|
|
};
|
|
// 点击修改按钮
|
|
function changetext(index, id) {
|
|
change_id.value = id
|
|
}
|
|
// 点击取消修改按钮
|
|
function cancel_change() {
|
|
change_id.value = -1
|
|
}
|
|
|
|
function queding_change(item) {
|
|
proxy.$modal.loading("数据发送中");
|
|
change_id.value = -1
|
|
let form = {
|
|
id:item.id,
|
|
dayCount:item.dayCount,
|
|
livelySum:item.livelySum
|
|
}
|
|
updateLively(form).then(e=>{
|
|
if(e.code == 200){
|
|
proxy.$modal.closeLoading();
|
|
proxy.$modal.msgSuccess("修改成功");
|
|
}
|
|
console.log(e);
|
|
})
|
|
}
|
|
function add_levels(){
|
|
|
|
var last_level = level_List.value[level_List.value.length-1].huoyue_num
|
|
level_List.value.push({
|
|
huoyue_num:last_level+1000
|
|
})
|
|
let form = {
|
|
|
|
}
|
|
addGrade(form).then(e =>{
|
|
if(e.code == 200){
|
|
proxy.$modal.msgSuccess("添加成功");
|
|
}
|
|
})
|
|
}
|
|
function bianji_level(index,item){
|
|
console.log(index === 10);
|
|
if_focus.value = index
|
|
|
|
|
|
}
|
|
function finfsh_bianji(item){
|
|
if_focus.value=10
|
|
proxy.$modal.loading("数据发送中");
|
|
let form = {
|
|
id:item.id,
|
|
grade:item.grade,
|
|
livelyInfo:item.livelyInfo
|
|
}
|
|
updateGrade(form).then(e=>{
|
|
if(e.code == 200){
|
|
proxy.$modal.closeLoading();
|
|
proxy.$modal.msgSuccess("修改成功");
|
|
}
|
|
console.log(e);
|
|
})
|
|
}
|
|
</script>
|
|
|
|
<style>
|
|
page {
|
|
background-color: #ffffff;
|
|
}
|
|
|
|
.content {
|
|
padding-top: 32rpx;
|
|
}
|
|
|
|
.box_item {
|
|
width: 686rpx;
|
|
border-radius: 24rpx 24rpx 24rpx 24rpx;
|
|
box-shadow: 0rpx 0rpx 10rpx #efefef;
|
|
background: #ffffff;
|
|
margin: 0 auto;
|
|
padding: 24rpx;
|
|
margin-top: 24rpx;
|
|
}
|
|
|
|
.box_title {
|
|
font-weight: 600;
|
|
margin-bottom: 32rpx;
|
|
}
|
|
|
|
.input_box {
|
|
display: flex;
|
|
margin-bottom: 14rpx;
|
|
|
|
p {
|
|
font-size: 26rpx;
|
|
margin-right: 24rpx;
|
|
width: 258rpx;
|
|
}
|
|
|
|
input {
|
|
background-color: #F4F5F6;
|
|
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
|
padding-left: 10rpx;
|
|
}
|
|
}
|
|
|
|
.input_active {
|
|
box-shadow: 0rpx 0rpx 0rpx 2rpx #6aa2ff;
|
|
}
|
|
.input_active2{
|
|
box-shadow: 0rpx 0rpx 0rpx 2rpx #FA3939;
|
|
}
|
|
|
|
.item_btn {
|
|
width: 638rpx;
|
|
height: 80rpx;
|
|
border-radius: 16rpx 16rpx 16rpx 16rpx;
|
|
background: #6aa2ff;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: #fff;
|
|
font-weight: 600;
|
|
margin-top: 36rpx;
|
|
}
|
|
|
|
.item_btns {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-around;
|
|
margin-top: 36rpx;
|
|
|
|
.btns_left {
|
|
width: 300rpx;
|
|
height: 80rpx;
|
|
border-radius: 16rpx 16rpx 16rpx 16rpx;
|
|
background: #f4f5f6;
|
|
color: #999999;
|
|
font-weight: 600;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-around;
|
|
}
|
|
|
|
.btns_right {
|
|
width: 300rpx;
|
|
height: 80rpx;
|
|
border-radius: 16rpx 16rpx 16rpx 16rpx;
|
|
background: #6aa2ff;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-around;
|
|
color: #fff;
|
|
font-weight: 600;
|
|
}
|
|
}
|
|
|
|
.level_shezhi {
|
|
width: 686rpx;
|
|
height: 557rpx;
|
|
border-radius: 24rpx 24rpx 24rpx 24rpx;
|
|
background: #ffffff;
|
|
box-shadow: 0rpx 0rpx 10rpx #efefef;
|
|
margin: 48rpx auto;
|
|
padding-top: 24rpx;
|
|
|
|
h4 {
|
|
text-align: center;
|
|
font-size: 30rpx;
|
|
|
|
}
|
|
}
|
|
|
|
.shezhi_box {
|
|
width: 100%;
|
|
margin-top: 20rpx;
|
|
display: flex;
|
|
|
|
.left_shezhi_box {
|
|
width: 60rpx;
|
|
height: 60rpx;
|
|
font-size: 28rpx;
|
|
margin-right: 30rpx;
|
|
margin-left: 24rpx;
|
|
|
|
}
|
|
|
|
.center_shezhi_box {
|
|
width: 472rpx;
|
|
text-align: center;
|
|
|
|
}
|
|
}
|
|
|
|
.shezhi_box_else {
|
|
width: 100%;
|
|
|
|
display: flex;
|
|
margin-bottom: 20rpx;
|
|
.left_shezhi_box {
|
|
width: 60rpx;
|
|
height: 60rpx;
|
|
font-size: 28rpx;
|
|
margin-right: 30rpx;
|
|
box-shadow: 0rpx 0rpx 10rpx #efefef;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-weight: 600;
|
|
margin-left: 24rpx;
|
|
border-radius: 6rpx;
|
|
}
|
|
|
|
.center_shezhi_box {
|
|
width: 472rpx;
|
|
text-align: center;
|
|
box-shadow: 0rpx 0rpx 10rpx #efefef;
|
|
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
|
|
|
input {
|
|
height: 100%;
|
|
width: 100%;
|
|
border-radius: 6rpx;
|
|
}
|
|
}
|
|
|
|
.right_shezhi_box {
|
|
width: 60rpx;
|
|
height: 60rpx;
|
|
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
|
background: #6aa2ff;
|
|
margin-left: 30rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
image {
|
|
width: 37rpx;
|
|
height: 37rpx;
|
|
}
|
|
|
|
}
|
|
}
|
|
.add_level{
|
|
width: 654rpx;
|
|
height: 80rpx;
|
|
border-radius: 16rpx 16rpx 16rpx 16rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background: #6aa2ff;
|
|
margin-left: 24rpx;
|
|
margin-top: 32rpx;
|
|
color: #fff;
|
|
font-weight: 600;
|
|
}
|
|
</style> |