事件类型选择

This commit is contained in:
liuye
2023-06-06 11:50:01 +08:00
parent 35451cb5b6
commit 75e6c5004f
4 changed files with 162 additions and 2 deletions

View File

@@ -7,8 +7,11 @@
<i>*</i>
<h2>事件类型</h2>
</div>
<div class="form-item__right">
<AiSelect :list="dictList" v-model="form.groupId" placeholder="请选择"></AiSelect>
<div class="form-item__right" @click="toSelectType">
<!-- <AiSelect :list="dictList" v-model="form.groupId" placeholder="请选择"></AiSelect> -->
<span v-if="form.groupId">{{ form.groupName }}</span>
<i v-else>请选择</i>
<u-icon name="arrow-right" color="#ddd"/>
</div>
</div>
</div>
@@ -128,6 +131,11 @@ export default {
this.getDict()
this.form.phone = this.user.phone
this.form.name = this.user.realName || ''
uni.$on('groupSelect', (res) => {
console.log(res)
this.form.groupId = res[0].id
this.form.groupName = res[0].groupName
})
},
methods: {
@@ -223,6 +231,9 @@ export default {
},
handleSelectGrid(v) {
this.form.girdName = v.girdName
},
toSelectType() {
uni.navigateTo({url: `./selectType`})
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -0,0 +1,149 @@
<template>
<div class="selectType">
<div class="user-list">
<template v-if="list.length>0">
<div class="item" v-for="(item, index) in list" :key="index">
<div class="select-img" @click="checkClick(index)">
<img :src="item.isCheck ? checkIcon : cirIcon" alt="">
</div>
<div class="user-info">
{{ item.groupName }}
</div>
</div>
</template>
<AiEmpty v-else/>
</div>
<div class="pad-b118"></div>
<div class="footer">
<div class="btn" @click="confirm">确定选择</div>
</div>
</div>
</template>
<script>
import {mapState} from 'vuex'
export default {
appName:"事件类型选择",
name: "selectType",
data() {
return {
list: [],
cirIcon: require('./img/xz.png'),
checkIcon: require('./img/xzh.png'),
}
},
onLoad(option) {
this.getList()
},
methods: {
getList() {
this.$instance.post(`/app/appclapeventgroup/list?current=1&size=100000`).then(res => {
if (res.code == 0) {
res.data.records.map((item) => {
item.isCheck = false
})
this.list = res.data.records
}
})
},
checkClick(index) {
this.list.map((item) => {
item.isCheck = false
})
this.list[index].isCheck = true
},
confirm() {
let checkList = []
this.list.map((item) => {
if (item.isCheck) {
checkList.push(item)
}
})
if (!checkList.length) {
return this.$u.toast('请先选择事件类型')
} else {
uni.navigateBack({
success: () => {
uni.$emit("groupSelect", checkList)
}
})
}
}
},
}
</script>
<style lang="scss" scoped>
.selectType {
::v-deep .AiTopFixed .u-search {
margin-bottom: 0 !important;
}
.pad-b118 {
padding-bottom: 118px;
}
.user-list {
background-color: #fff;
.item {
.select-img {
display: inline-block;
img {
width: 48px;
height: 48px;
margin: 12px 36px 12px 30px;
vertical-align: middle;
}
}
.user-info {
display: inline-block;
padding: 20px 0 20px 0;
width: calc(100% - 114px);
height: 100%;
border-bottom: 1px solid #E4E5E6;
font-size: 36px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #333;
line-height: 74px;
img {
width: 74px;
height: 74px;
border-radius: 8px;
margin-right: 34px;
vertical-align: bottom;
}
}
}
}
.footer {
width: 100%;
height: 118px;
background: #F4F8FB;
position: fixed;
left: 0;
bottom: 0;
text-align: right;
.btn {
display: inline-block;
width: 192px;
height: 80px;
line-height: 80px;
background: #1365DD;
border-radius: 4px;
text-align: center;
font-size: 32px;
font-family: PingFangSC-Regular, PingFang SC;
color: #FFF;
margin: 20px 34px 0 0;
}
}
}
</style>