群标签
This commit is contained in:
128
src/project/qianxinan/AppGroupGrouping/AppGroupGrouping.vue
Normal file
128
src/project/qianxinan/AppGroupGrouping/AppGroupGrouping.vue
Normal file
@@ -0,0 +1,128 @@
|
||||
<template>
|
||||
<div class="AppGroupGrouping">
|
||||
<AiTopFixed>
|
||||
<u-search v-model="keyword" :clearabled="true" placeholder="请输入群名称、群主" :show-action="false" bg-color="#F5F5F5"
|
||||
search-icon-color="#999" color="#333" height="58" @search="getListInit" @clear="getListInit">
|
||||
</u-search>
|
||||
</AiTopFixed>
|
||||
<div class="list-content">
|
||||
<div class="item">
|
||||
<img src="./imgs/del-icon.png" alt="" class="group-img">
|
||||
<div class="item-right">
|
||||
<div class="group-info">
|
||||
<p>兴龙县步行街美食一群兴龙县步行街美食一群兴龙县步行街美食一群兴龙县步行街美食一群兴龙县步行街美食一群兴龙县步行街美食一群</p>
|
||||
<div>3人 | 群主:谢晋</div>
|
||||
</div>
|
||||
<img src="./imgs/del-icon.png" alt="" class="del-img" @click="del()">
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<img src="./imgs/del-icon.png" alt="" class="group-img">
|
||||
<div class="item-right">
|
||||
<div class="group-info">
|
||||
<p>兴龙县步行街美食一群</p>
|
||||
<div>3人 | 群主:谢晋</div>
|
||||
</div>
|
||||
<img src="./imgs/del-icon.png" alt="" class="del-img">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<AiAdd @add="add"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapState } from 'vuex'
|
||||
export default {
|
||||
appName: '群分组',
|
||||
data() {
|
||||
return {
|
||||
keyword: ''
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState(['user']),
|
||||
},
|
||||
onShow() {
|
||||
document.title = '群分组'
|
||||
},
|
||||
methods: {
|
||||
getListInit() {
|
||||
|
||||
},
|
||||
getTotal() {
|
||||
this.$http.post(`/app/appwxuserfamiliarityrate/wxTopStatistics`).then(res=> {
|
||||
if(res?.data) {
|
||||
this.form = {...res.data}
|
||||
}
|
||||
})
|
||||
},
|
||||
del() {
|
||||
this.$confirm('是否确认从该标签组中移除?').then(() => {
|
||||
// this.$http.post(`/app/appzyvideobroadcast/getBroadcastRecall?broadcastId=${this.info.id}`).then((res) => {
|
||||
// if (res.code == 0) {
|
||||
// this.$u.toast('撤回成功!')
|
||||
// this.getDetail()
|
||||
// }
|
||||
// })
|
||||
})
|
||||
},
|
||||
add() {
|
||||
uni.navigateTo({url: `./groupList`})
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.AppGroupGrouping {
|
||||
.list-content {
|
||||
margin-top: 24px;
|
||||
.item {
|
||||
background-color: #fff;
|
||||
padding: 32px 0 0 32px;
|
||||
.group-img {
|
||||
width: 112px;
|
||||
height: 112px;
|
||||
margin-right: 24px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.item-right {
|
||||
display: inline-block;
|
||||
width: calc(100% - 136px);
|
||||
padding: 0 32px 32px 0;
|
||||
border-bottom: 1px solid #ddd;
|
||||
box-sizing: border-box;
|
||||
.group-info {
|
||||
display: inline-block;
|
||||
width: calc(100% - 80px);
|
||||
vertical-align: middle;
|
||||
p {
|
||||
width: 100%;
|
||||
font-family: PingFangSC-Medium;
|
||||
font-weight: 500;
|
||||
font-size: 36px;
|
||||
color: #333;
|
||||
word-break: break-all;
|
||||
line-height: 50px;
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
div {
|
||||
line-height: 20px;
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 28px;
|
||||
color: #999;
|
||||
}
|
||||
}
|
||||
img {
|
||||
width: 56px;
|
||||
height: 56px;
|
||||
margin-left: 24px;
|
||||
padding-top: 24px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
112
src/project/qianxinan/AppGroupGrouping/groupList.vue
Normal file
112
src/project/qianxinan/AppGroupGrouping/groupList.vue
Normal file
@@ -0,0 +1,112 @@
|
||||
<template>
|
||||
<div class="groupList">
|
||||
<AiTopFixed>
|
||||
<u-search v-model="keyword" :clearabled="true" placeholder="请输入群名称、群主" :show-action="false" bg-color="#F5F5F5"
|
||||
search-icon-color="#999" color="#333" height="58" @search="getListInit" @clear="getListInit">
|
||||
</u-search>
|
||||
</AiTopFixed>
|
||||
<div class="list-content">
|
||||
<div class="item" v-for="(item, index) in 20" :key="index">
|
||||
<img src="./imgs/xz.png" alt="" class="choose-img" @click="checkClick(index)">
|
||||
<div class="item-right">
|
||||
<img src="./imgs/user-img.png" alt="">
|
||||
<p>222222{{index}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div>确定</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapState } from 'vuex'
|
||||
export default {
|
||||
appName: '群列表',
|
||||
data() {
|
||||
return {
|
||||
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState(['user']),
|
||||
},
|
||||
onShow() {
|
||||
document.title = '群列表'
|
||||
},
|
||||
methods: {
|
||||
getTotal() {
|
||||
this.$http.post(`/app/appwxuserfamiliarityrate/wxTopStatistics`).then(res=> {
|
||||
if(res?.data) {
|
||||
this.form = {...res.data}
|
||||
}
|
||||
})
|
||||
},
|
||||
checkClick(index) {
|
||||
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.groupList {
|
||||
.list-content {
|
||||
margin-top: 24px;
|
||||
padding-bottom: 160px;
|
||||
.item {
|
||||
padding-left: 32px;
|
||||
background-color: #fff;
|
||||
.choose-img {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
margin-right: 36px;
|
||||
padding-top: 44px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.item-right {
|
||||
display: inline-block;
|
||||
width: calc(100% - 84px);
|
||||
img {
|
||||
width: 88px;
|
||||
height: 88px;
|
||||
margin-right: 24px;
|
||||
padding-top: 24px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
p {
|
||||
display: inline-block;
|
||||
padding: 44px 32px 42px 0;
|
||||
width: calc(100% - 112px);
|
||||
word-break: break-all;
|
||||
border-bottom: 1px solid #ddd;
|
||||
box-sizing: border-box;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.footer {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
padding: 32px 16px;
|
||||
background-color: #f3f6f9;
|
||||
z-index: 99;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
div {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
line-height: 88px;
|
||||
background: #3975C6;
|
||||
border-radius: 44px;
|
||||
font-family: PingFangSC-Medium;
|
||||
font-weight: 500;
|
||||
font-size: 34px;
|
||||
color: #FFF;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
BIN
src/project/qianxinan/AppGroupGrouping/imgs/del-icon.png
Normal file
BIN
src/project/qianxinan/AppGroupGrouping/imgs/del-icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.3 KiB |
BIN
src/project/qianxinan/AppGroupGrouping/imgs/user-img.png
Normal file
BIN
src/project/qianxinan/AppGroupGrouping/imgs/user-img.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.4 KiB |
BIN
src/project/qianxinan/AppGroupGrouping/imgs/xz.png
Normal file
BIN
src/project/qianxinan/AppGroupGrouping/imgs/xz.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
BIN
src/project/qianxinan/AppGroupGrouping/imgs/xzh.png
Normal file
BIN
src/project/qianxinan/AppGroupGrouping/imgs/xzh.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
138
src/project/qianxinan/AppGroupTags/AppGroupTags.vue
Normal file
138
src/project/qianxinan/AppGroupTags/AppGroupTags.vue
Normal file
@@ -0,0 +1,138 @@
|
||||
<template>
|
||||
<div class="AppGroupTags">
|
||||
<AiTopFixed>
|
||||
<div class="header-flex">
|
||||
<div class="item">
|
||||
<h3>100</h3>
|
||||
<p>已打标签</p>
|
||||
</div>
|
||||
<div class="item">
|
||||
<h3>100</h3>
|
||||
<p>未打标签</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="select-dept">
|
||||
<AiPagePicker type="dept" :selected.sync="deptList" single nodeKey="id" @select="getListInit" isRequire="1">
|
||||
<span class="label">{{deptList[0].name}}</span>
|
||||
<u-icon name="arrow-down" color="#999" size="28" style="margin-left:4px;"/>
|
||||
</AiPagePicker>
|
||||
</div>
|
||||
</AiTopFixed>
|
||||
<div class="list-content">
|
||||
<div class="item">
|
||||
<div class="label">餐饮美食</div>
|
||||
<div class="value">100</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="label">餐饮美餐饮美食餐饮美食餐饮美食餐饮美食餐饮美食餐饮美食餐饮美食餐饮美食餐饮美食餐饮美食餐饮美食餐饮美食餐饮美食餐饮美食食</div>
|
||||
<div class="value">100</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div class="label">餐饮美食</div>
|
||||
<div class="value">100</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapState } from 'vuex'
|
||||
export default {
|
||||
appName: '群标签',
|
||||
data() {
|
||||
return {
|
||||
deptList: []
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState(['user']),
|
||||
},
|
||||
onLoad() {
|
||||
this.deptList = [{name: this.user.departName, id: this.user.departId}]
|
||||
},
|
||||
onShow() {
|
||||
document.title = '群标签'
|
||||
},
|
||||
methods: {
|
||||
getListInit() {
|
||||
|
||||
},
|
||||
getTotal() {
|
||||
this.$http.post(`/app/appwxuserfamiliarityrate/wxTopStatistics`).then(res=> {
|
||||
if(res?.data) {
|
||||
this.form = {...res.data}
|
||||
}
|
||||
})
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.AppGroupTags {
|
||||
::v-deep .AiTopFixed .content {
|
||||
padding: 0!important;
|
||||
}
|
||||
.header-flex {
|
||||
display: flex;
|
||||
background: #3975C6;
|
||||
.item {
|
||||
flex: 1;
|
||||
padding: 48px 0;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
h3 {
|
||||
font-family: DINAlternate-Bold;
|
||||
font-size: 64px;
|
||||
line-height: 64px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
p {
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 28px;
|
||||
line-height: 40px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.select-dept {
|
||||
width: 100%;
|
||||
background: #FFF;
|
||||
box-shadow: 0 0 0 0 #E4E5E6;
|
||||
::v-deep .AiPagePicker {
|
||||
padding: 22px 32px;
|
||||
div {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
.label {
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 28px;
|
||||
color: #666;
|
||||
line-height: 48px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.list-content {
|
||||
padding: 24px 32px 0;
|
||||
.item {
|
||||
padding: 42px 32px;
|
||||
background-color: #fff;
|
||||
box-shadow: 0 0 8px 0 #00000005;
|
||||
border-radius: 16px;
|
||||
display: flex;
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 32px;
|
||||
margin-bottom: 24px;
|
||||
.label {
|
||||
width: calc(100% - 120px);
|
||||
color: #333;
|
||||
}
|
||||
.value {
|
||||
width: 120px;
|
||||
text-align: right;
|
||||
color: #222;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -32,7 +32,7 @@
|
||||
<!-- <div v-if="deptId" class="gateway-name">{{deptName || '部门'}}</div>
|
||||
<u-icon name="arrow-down" color="#666" size="28" style="margin-left: 4px" v-if="deptId" />
|
||||
<span v-else>部门<u-icon name="arrow-down" color="#666" size="28" style="margin-left: 4px" /></span> -->
|
||||
<AiPagePicker type="dept" :selected.sync="deptList" single nodeKey="id" @select="getListInit" isRequire="0">
|
||||
<AiPagePicker type="dept" :selected.sync="deptList" single nodeKey="id" @select="getListInit" isRequire="1">
|
||||
<span class="label" v-if="deptList.length">{{deptList[0].name}}</span>
|
||||
<span v-else>部门</span>
|
||||
<u-icon name="arrow-down" color="#666" size="28" style="margin-left:4px;"/>
|
||||
|
||||
Reference in New Issue
Block a user