结构调整

This commit is contained in:
shijingjing
2022-08-08 14:09:47 +08:00
parent 868149e480
commit 697b561cac
5 changed files with 133 additions and 70 deletions

View File

@@ -1,87 +1,50 @@
<template> <template>
<ai-list class="AppGridMemberScore"> <keep-alive include="gmScore">
<template slot="title"> <component :is="currentPage" v-bind="$props" @change="onChange"/>
<ai-title title="网格员积分" :isShowBottomBorder="false" :instance="instance" > </keep-alive>
<template slot="sub">
<div>网格员可通过完成某些任务获取一定数量的积分积分可去兑换相应的奖励</div>
</template>
</ai-title>
</template>
<template slot="tabs">
<el-tabs v-model="currIndex">
<el-tab-pane v-for="(tab,i) in tabs" :key="i" :label="tab.label">
<component :is="tab.comp" v-if="currIndex === String(i)" :ref="tab.name"
:areaId="areaId" :instance="instance" :dict="dict" :permissions="permissions"/>
</el-tab-pane>
</el-tabs>
</template>
</ai-list>
</template> </template>
<script> <script>
import girdScoreManage from "./components/girdScoreManage" import girdScoreManage from "./components/girdScoreManage.vue"
import gridScoreRules from "./components/gridScoreRules" import gridScoreRules from "./components/gridScoreRules.vue"
import gridScoreStatistics from './components/gridScoreStatistics' import gridScoreStatistics from './components/gridScoreStatistics.vue'
import gridScoreDetail from './components/gridScoreDetail' import gridScoreDetail from './components/gridScoreDetail.vue'
import {mapState} from 'vuex' import gmScore from './components/gmScore.vue'
export default { export default {
name: 'AppGridMemberScore', name: 'AppGridMemberScore',
label: "网格员积分", label: "网格员积分",
components: {girdScoreManage, gridScoreRules, gridScoreStatistics, gridScoreDetail}, components: { gmScore, girdScoreManage, gridScoreRules, gridScoreStatistics, gridScoreDetail},
props: { props: {
instance: Function, instance: Function,
dict: Object, dict: Object,
permissions: Function permissions: Function
}, },
data() {
return {
activeName: "girdScoreManage",
currIndex: "0",
areaId: '',
oldActiveName: '',
}
},
computed: { computed: {
...mapState(['user']), currentPage() {
tabs() { let {hash} = this.$route
return [ return hash == "#girdScoreManage" ? girdScoreManage :
{ hash == "#gridScoreRules" ? gridScoreRules :
label: "积分管理", hash == "#gridScoreStatistics" ? gridScoreStatistics :
name: "girdScoreManage", hash == "#gridScoreDetail" ? gridScoreDetail: gmScore
comp: girdScoreManage,
permission: "",
},
{
label: "积分规则",
name: "gridScoreRules",
comp: gridScoreRules,
permission: "",
},
{
label: "积分统计",
name: "gridScoreStatistics",
comp: gridScoreStatistics,
permission: "",
},
{
label: "网格员积分详情",
name: "gridScoreDetail",
comp: gridScoreDetail,
permission: "",
},
]
} }
}, },
created() { components: {
this.areaId = this.user.info.areaId gmScore,
// this.$dict.load("") girdScoreManage,
gridScoreRules,
gridScoreStatistics,
gridScoreDetail,
}, },
methods: {
}, methods: {
onChange(data) {
let {type, params: query} = data,
hash = ["girdScoreManage", "gridScoreRules","gridScoreStatistics"].includes(type) ? "" : "#" + type
this.$router.push({hash, query})
}
}
} }
</script> </script>

View File

@@ -5,6 +5,7 @@
<ai-search-bar> <ai-search-bar>
<template #left> <template #left>
<el-button type="primary" size="small" icon="iconfont iconAdd" @click="dialog = true">批量调整积分</el-button> <el-button type="primary" size="small" icon="iconfont iconAdd" @click="dialog = true">批量调整积分</el-button>
<el-button type="primary" size="small" icon="iconfont iconAdd" @click="toDetail">跳转详情</el-button>
<el-select size="small" style="width: 200px;margin-left: 16px;" v-model="search.girdId" placeholder="所属网格" clearable <el-select size="small" style="width: 200px;margin-left: 16px;" v-model="search.girdId" placeholder="所属网格" clearable
@change="getListInit()"> @change="getListInit()">
<el-option <el-option
@@ -70,7 +71,7 @@
<!-- <ai-select v-model="form.integralCalcType" :selectList="dict.getDict('integralCalcType')"/> --> <!-- <ai-select v-model="form.integralCalcType" :selectList="dict.getDict('integralCalcType')"/> -->
</el-form-item> </el-form-item>
<el-form-item label="积分" prop="changeIntegral"> <el-form-item label="积分" prop="changeIntegral">
<el-input v-model.trim.num="form.changeIntegral" placeholder="请输入正数" size="small"></el-input> <el-input v-model.trim="form.changeIntegral" placeholder="请输入正数" size="small"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</ai-dialog> </ai-dialog>
@@ -146,6 +147,15 @@ export default {
} }
}, },
onConfirm() {}, onConfirm() {},
toDetail() {
console.log('跳转详情');
this.$emit('change', {
type: 'gridScoreDetail',
params: {
// id
}
})
}
}, },
} }

View File

@@ -0,0 +1,89 @@
<template>
<ai-list class="AppGridMemberScore">
<template slot="title">
<ai-title title="网格员积分" :isShowBottomBorder="false" :instance="instance" >
<template slot="sub">
<div>网格员可通过完成某些任务获取一定数量的积分积分可去兑换相应的奖励</div>
</template>
</ai-title>
</template>
<template slot="tabs">
<el-tabs v-model="currIndex">
<el-tab-pane v-for="(tab,i) in tabs" :key="i" :label="tab.label">
<component :is="tab.comp" v-if="currIndex === String(i)" :ref="tab.name"
:areaId="areaId" :instance="instance" :dict="dict" :permissions="permissions"/>
</el-tab-pane>
</el-tabs>
</template>
</ai-list>
</template>
<script>
import girdScoreManage from "./girdScoreManage"
import gridScoreRules from "./gridScoreRules"
import gridScoreStatistics from './gridScoreStatistics'
import {mapState} from 'vuex'
export default {
name: 'AppGridMemberScore',
label: "网格员积分",
components: {
girdScoreManage,
gridScoreRules,
gridScoreStatistics
},
props: {
instance: Function,
dict: Object,
permissions: Function
},
data() {
return {
currIndex: "0",
areaId: '',
}
},
computed: {
...mapState(['user']),
tabs() {
return [
{
label: "积分管理",
name: "girdScoreManage",
comp: girdScoreManage,
permission: "",
},
{
label: "积分规则",
name: "gridScoreRules",
comp: gridScoreRules,
permission: "",
},
{
label: "积分统计",
name: "gridScoreStatistics",
comp: gridScoreStatistics,
permission: "",
},
]
}
},
created() {
this.areaId = this.user.info.areaId
// this.$dict.load("")
},
methods: {
},
}
</script>
<style lang="scss" scoped>
.AppGridMemberScore {
height: 100%;
width: 100%;
}
</style>

View File

@@ -1,9 +1,9 @@
<template> <template>
<section class="gridScoreDetail"> <section class="gridScoreDetail">
<!-- <ai-list> --> <!-- <ai-list> -->
<ai-title slot="title" title="网格员积分详情" isShowBottomBorder /> <ai-title slot="title" title="网格员积分详情" isShowBottomBorder :isShowBack="true" />
<!-- </ai-list> --> <!-- </ai-list> -->
<el-row> <el-row style="margin-top: 20px;">
<div class="card_list"> <div class="card_list">
<div class="card"> <div class="card">
<h2>上报事件</h2> <h2>上报事件</h2>
@@ -32,7 +32,7 @@
</div> </div>
</el-row> </el-row>
<ai-card> <ai-card>
<ai-title slot="title" title="余额变动明细" isShowBottomBorder :isShowBack="true"/> <ai-title slot="title" title="余额变动明细"/>
<template #content> <template #content>
<ai-search-bar> <ai-search-bar>
<template #left> <template #left>

View File

@@ -288,6 +288,7 @@ export default {
}, },
getListInit() {}, getListInit() {},
getTableData() {}, getTableData() {},
timeChange(index) { timeChange(index) {
this.currrntTime = index this.currrntTime = index
}, },