Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
aixianling
2021-12-24 22:46:08 +08:00
15 changed files with 132 additions and 39 deletions

View File

@@ -1,21 +1,21 @@
<template>
<div class="searchMap">
<div class="grid-input">
<img src="img/back-icon.png" alt="" class="back-icon" v-if="name && show" @click="show=false">
<img src="img/search-icon.png" alt="" class="search-icon" v-else>
<img src="./img/back-icon.png" alt="" class="back-icon" v-if="name && show" @click="show=false">
<img src="./img/search-icon.png" alt="" class="search-icon" v-else>
<input type="text" class="input" placeholder="请输入姓名、房屋信息" v-model="name" maxlength="10" confirm-type="search"
@confirm="search"/>
<div class="clear-btn">
<img src="img/del-icon.png" alt="" class="del-icon" v-if="name" @click="clear">
<img src="./img/del-icon.png" alt="" class="del-icon" v-if="name" @click="clear">
</div>
<span class="search-btn" @click="search">搜索</span>
</div>
<div class="search-list" v-if="show">
<div class="title border">
<img src="img/search-icon.png" alt="" class="search-icon">{{ name }}
<img src="./img/search-icon.png" alt="" class="search-icon">{{ name }}
</div>
<div class="item border" v-for="(item, index) in buildList" :key="index" @click="getBuildingInfo(item)">
<img src="img/user-icon.png" alt="" class="search-icon user-icon">
<img src="./img/user-icon.png" alt="" class="search-icon user-icon">
<div class="item-content">
<h3>{{ item.residentName }}</h3>
<p>{{ item.areaName || '' }}{{ item.createAddress }}</p>
@@ -23,7 +23,7 @@
</div>
</div>
<div class="build-btn" @click="toList()">
<img src="img/build-icon.png" alt=""> 楼栋<br/>列表
<img src="./img/build-icon.png" alt=""> 楼栋<br/>列表
</div>
<div class="map-content">
<AiTMap v-if="areaId" :areaId="areaId" :map.sync="map" :lib.sync="lib" :ops="ops"

View File

@@ -1,7 +1,7 @@
<template>
<div class="map">
<div class="build-btn">
<img src="components/img/model-icon.png" alt="" @click="toDetail"> 楼栋<br/>模型
<img src="./components/img/model-icon.png" alt="" @click="toDetail"> 楼栋<br/>模型
</div>
<div class="map-content">
<AiTMap v-if="user.areaId" :areaId="user.areaId" :map.sync="map" :lib.sync="lib" :ops="ops" :libraries="['service', 'tools']"></AiTMap>

View File

@@ -27,17 +27,21 @@
<div class="time-select">
<span>{{item.name}}</span>
<u-icon name="arrow-down" color="#333" size="16" />
<span class="edit-btn" @click="editClick(editText)">{{editText}}</span>
</div>
<div class="img-list">
<div class="img-item" v-for="(e, indexs) in item.list" :key="indexs">
<p>{{e.createUserName}} 上传</p>
<img :src="e.url" alt="" @click.stop="previewImage(item.list, e.url)">
<span class="cir-icon" v-if="editText== '取消' && !e.isCheked" @click="checkImg(e, index, indexs)"></span>
<u-icon name="checkmark-circle-fill" color="#26f" size="54" class="del-icon" @click="delSelect(e, index, indexs)" v-if="editText== '取消' && e.isCheked"></u-icon>
</div>
</div>
</div>
</div>
<div class="footer-btn" @click="uploadImg">上传图片</div>
<div class="footer-btn" @click="uploadImg" v-if="editText == '编辑' ">上传图片</div>
<div class="footer-btn" @click="delConfirm" v-if="editText == '取消'">删除</div>
</div>
</template>
@@ -52,6 +56,8 @@ export default {
fileList: [],
numInfo: {},
params: {},
editText: '编辑',
delIds: []
}
},
computed: { ...mapState(['user']) },
@@ -66,6 +72,46 @@ export default {
},
methods: {
delConfirm() {
if(!this.delIds.length) {
return this.$u.toast('请先选中需要删除的照片')
}
var id = this.delIds.join(',')
this.$confirm('确定删除这些相片?').then(() => {
this.$http.post(`/app/appvillagepicturealbum/delete?ids=${id}`).then((res) => {
if (res.code == 0) {
this.$u.toast('删除成功!')
this.list = []
this.getList()
this.getStatistic()
this.editClick('取消')
uni.$emit('updateList')
}
})
})
},
editClick(text) {
this.editText = text == '编辑' ? '取消' : '编辑'
this.delIds = []
if(text == '取消' && this.delIds.length) {
this.list = []
this.getList()
}
},
checkImg(row, index, indexs) {
this.list[index].list[indexs].isCheked = true
this.delIds.push(row.id)
this.$forceUpdate()
},
delSelect(row, index, indexs) {
this.list[index].list[indexs].isCheked = false
this.delIds.map((item, i) => {
if(item == row.id) {
this.delIds.splice(i, 1)
}
})
this.$forceUpdate()
},
previewImage(images, img) {
uni.previewImage({
urls: images.map(v => v.url),
@@ -80,12 +126,17 @@ export default {
}
}).then(res => {
if (res.code == 0) {
this.list = Object.keys(res.data).map(v => {
this.list = Object.keys(res.data).map(v => {
return {
name: v,
list: res.data[v]
}
})
this.list.map((item) => {
item.list.map((e) => {
e.isCheked = false
})
})
}
})
},
@@ -228,10 +279,23 @@ export default {
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #333;
position: relative;
span{
display: inline-block;
margin-right: 16px;
}
.edit-btn{
display: inline-block;
color: #26f;
font-weight: 400;
width: 200px;
text-align: right;
line-height: 88px;
position: absolute;
font-size: 32px;
right: 18px;
top: 20px;
}
}
.img-list{
overflow: hidden;
@@ -256,6 +320,20 @@ export default {
color: #FFF;
line-height: 36px;
}
.del-icon{
position: absolute;
right: 0;
top: 0;
}
.cir-icon{
width: 40px;
height: 40px;
border-radius: 50%;
border: 4px solid #ccc;
position: absolute;
right: 0;
top: 0;
}
}
}
.footer-btn{

View File

@@ -9,13 +9,13 @@
</div>
</div>
<div class="right">
<img src="img/edit-icon.png" alt="" @click="edit(item.id)">
<img src="img/del-icon.png" alt="" @click="del(item)">
<img src="./img/edit-icon.png" alt="" @click="edit(item.id)">
<img src="./img/del-icon.png" alt="" @click="del(item)">
</div>
</div>
</div>
<div class="empty" v-else>
<img src="img/empty.png" alt="">
<img src="./img/empty.png" alt="">
<p>您还未添加便民通讯录<br/>点击<span>新增按钮</span>试试吧</p>
</div>
<div class="footer-btn" @click="edit('')">新增</div>

View File

@@ -26,7 +26,7 @@
<div class="line"></div>
<u-form-item label="地址" prop="address" :border-bottom="false" right-icon="arrow-right" class="addresss">
<u-form-item label="地址" prop="address" :border-bottom="false" class="addresss">
<u-input v-model="forms.address" placeholder="请输入地址" />
</u-form-item>

View File

@@ -10,7 +10,7 @@
<span class="titlesContent">查看全部活动和本月新增</span>
</div>
<img src="img/1.png" alt="" />
<img src="./img/1.png" alt="" />
</div>
<div class="card" @click="toList(1)">
@@ -19,7 +19,7 @@
<span class="titlesContent">查看全部参与操办信息和本月新增</span>
</div>
<img src="img/2.png" alt="" />
<img src="./img/2.png" alt="" />
</div>
<div class="card" @click="toList(2)">
@@ -28,7 +28,7 @@
<span class="titlesContent">查看全部婚礼和本月新增</span>
</div>
<img src="img/3.png" alt="" />
<img src="./img/3.png" alt="" />
</div>
<div class="card" @click="toList(3)">
@@ -37,7 +37,7 @@
<span class="titlesContent">查看全部丧礼和本月新增</span>
</div>
<img src="img/4.png" alt="" />
<img src="./img/4.png" alt="" />
</div>
</div>

View File

@@ -1,7 +1,7 @@
<template>
<section class="AppOnlineAnswer">
<div class="page" v-if="list.length">
<img src="static/img/answer-bg.png" alt="" class="bg-img">
<img src="./static/img/answer-bg.png" alt="" class="bg-img">
<div class="subject-content" v-if="!showAnwser">
<div class="btn" v-if="showTopBtn" @click="confirm()">{{ topBtnText }}</div>
<div class="bg-fff pad-b48">
@@ -18,8 +18,8 @@
<div v-if="list[index].type == 1">
<div class="item" v-for="(item, i) in list[index].items" :key="i" @click="itemClick(i)"
:class="{ 'item-click': clickIndex === i, 'item-success': showAnalysis && item.checked == 1, 'item-error': showAnalysis && clickIndex == i && item.checked == 0}">
<img src="static/img/success-icon.png" alt="" v-if="showAnalysis && item.checked == 1">
<img src="static/img/error-icon.png" alt=""
<img src="./static/img/success-icon.png" alt="" v-if="showAnalysis && item.checked == 1">
<img src="./static/img/error-icon.png" alt=""
v-if="showAnalysis && clickIndex == i && item.checked == 0">
{{ item.sort }} &nbsp;{{ item.content }}
</div>
@@ -28,8 +28,8 @@
<div v-if="list[index].type == 2">
<div class="item" v-for="(item, i) in list[index].items" :key="i" @click="itemClick(i)"
:class="{ 'item-click': item.isCheked, 'item-success': showAnalysis && item.checked == 1, 'item-error': showAnalysis && item.isCheked && item.checked == 0}">
<img src="static/img/success-icon.png" alt="" v-if="showAnalysis && item.checked == 1">
<img src="static/img/error-icon.png" alt=""
<img src="./static/img/success-icon.png" alt="" v-if="showAnalysis && item.checked == 1">
<img src="./static/img/error-icon.png" alt=""
v-if="showAnalysis && clickIndex == i && item.checked == 0">
{{ item.sort }} &nbsp;{{ item.content }}
</div>
@@ -54,7 +54,7 @@
</div>
<div class="subject-content" v-else>
<div class="bg-fff pad-b48">
<img src="static/img/answer-head.png" alt="" class="head-img">
<img src="./static/img/answer-head.png" alt="" class="head-img">
<div class="head-content">
<p>本次答对题目数</p>
<div>{{ resultInfo.right }}</div>
@@ -100,6 +100,9 @@ export default {
this.createdTime = Date.parse(new Date())
this.getList()
},
onShow() {
document.title = '在线答题'
},
methods: {
itemClick(i) {
if (this.showAnalysis) return
@@ -209,7 +212,7 @@ export default {
this.showTopBtn = false
this.topBtnText = ''
this.showAnalysis = false
}
},
},
};
</script>

View File

@@ -27,13 +27,13 @@ export default {
{
name: '党员学习',
icon: require('./img/dyxx.png'),
url: '../party/AppPartyHistoryEducation/classroomList',
url: '../AppPartyHistoryEducation/classroomList',
isBottom: true
},
{
name: '在线答题',
icon: require('./img/zxdt.png'),
url: '../party/AppOnlineAnswer/AppOnlineAnswer'
url: '../AppOnlineAnswer/AppOnlineAnswer'
}
],
headerBg: require('./img/header-bg.png'),

View File

@@ -84,6 +84,9 @@ export default {
this.getClassList()
this.getKnowledgeList()
},
onShow() {
document.title = '党员学习'
},
methods: {
getTodayList() {
this.$http.post(`/app/apppartyeducation/list?style=2&size=1&status=1`).then((res) => {

View File

@@ -28,6 +28,9 @@ export default {
onLoad() {
this.getClassList()
},
onShow() {
document.title = '党员学习'
},
methods: {
getClassList() {
if (this.current > this.pages) return;

View File

@@ -51,6 +51,9 @@ export default {
this.getClassDetail()
this.getVideoList()
},
onShow() {
document.title = '党员学习'
},
methods: {
change(index) {
this.current = index;

View File

@@ -181,6 +181,9 @@ export default {
contactPerson: this.forms.contactPerson,
contactPhone: this.forms.contactPhone,
createUserName: this.user.name,
createUserId: this.user.id,
avatar: this.user.avatar,
id: this.id,
})
.then((res) => {

View File

@@ -13,10 +13,10 @@
<div class="left-btn" :class="'status' + detail.status">{{ $dict.getLabel('villageActivityStatus', detail.status) }}</div>
</div>
<div class="right">
<img :src="user.avatar" alt="" v-if="user.avatar" />
<img src="./user-img.png" alt="" v-else/>
<img :src="detail.avatar" alt="" v-if="detail.avatar" />
<img src="./user-img.png" alt="" v-else />
<span>{{ detail.contactPerson }}</span>
<span v-if="detail.createUserName">{{ detail.createUserName }}</span>
</div>
</div>
@@ -99,7 +99,7 @@
</div>
</div>
<div class="fixedBtns" v-if="this.current == 0 && detail.status != 0 && this.createUserId == this.user.id" @click="toAdd">编辑活动</div>
<div class="fixedBtns" v-if="this.current == 0 && detail.status == 0 && this.createUserId == this.user.id" @click="toAdd">编辑活动</div>
</div>
<AiFixedBtn v-if="this.createUserId == this.user.id && this.timeNow * 1 - this.timeEnd * 1 < 24 * 60 * 60 * 1000">

View File

@@ -7,14 +7,14 @@
<div class="select-content">
<div class="area-content">
<AiAreaPicker :areaId="user.areaId" v-model="areaId" @select="areaSelect">
<img src="img/local-icon.png" alt="">
<img src="./img/local-icon.png" alt="">
<span class="label" v-if="areaName">{{ areaName }}</span>
<span v-else>请选择</span>
<u-icon name="arrow-down" color="#666" size="24" />
</AiAreaPicker>
</div>
<div class="search-input" v-if="tabIndex">
<img src="img/search-icon.png" alt="">
<img src="./img/search-icon.png" alt="">
<u-input type="text" placeholder="请输入姓名" placeholder-style="color:#999;font-size:13px;" height="18" v-model="name" @confirm="getUserList" :clearable="false" maxlength="6" />
</div>
</div>
@@ -45,12 +45,12 @@
<div class="item-content" v-for="(item, index) in userList" :key="index">
<div class="title" @click="showUserType(index)">
<h2>{{item.label}}</h2>
<img src="img/down-icon.png" alt="" :class="item.check ? 'img-active' : ''">
<img src="./img/down-icon.png" alt="" :class="item.check ? 'img-active' : ''">
</div>
<div class="user-list" v-if="item.check">
<div class="user-item" v-for="(e, indexs) in item.value" :key="indexs" v-if="item.value && item.value.length">
<div class="user-img">
<img src="img/user-img.png" alt="">
<img src="./img/user-img.png" alt="">
</div>
<div class="user-info">
<p class="name">{{e.name}}</p>

View File

@@ -9,7 +9,7 @@
</div> -->
<div class="area-content">
<AiAreaPicker :areaId="user.areaId" v-model="areaId" @select="areaSelect">
<img src="img/local-icon.png" alt="">
<img src="./img/local-icon.png" alt="">
<span class="label" v-if="areaName">{{ areaName }}</span>
<span v-else>请选择</span>
<u-icon name="arrow-down" color="#666" size="24" />
@@ -21,7 +21,7 @@
<img src="./img/off-icon.png" alt="" class="mar-l40">离线 {{count.sum - count.online || 0}} -->
<div class="item">
<div id="echarts" style="width:100%;height:100%;"></div>
<img src="img/monitor-icon.png" alt="" class="monitor-icon">
<img src="./img/monitor-icon.png" alt="" class="monitor-icon">
</div>
<div class="item">
<h3>{{count.online || 0}}</h3>
@@ -52,10 +52,10 @@
<div class="list-content">
<div class="item" v-for="(item, index) in list" :key="index" @click="showMonitor(item)">
<img class="img" :src="item.indexUrl" alt="" v-if="item.deviceStatus == 1">
<img class="img" src="img/offline.png" alt="" v-else>
<img class="img" src="./img/offline.png" alt="" v-else>
<p>{{item.name}}</p>
<img class="icon" src="img/play-icon.png" alt="" v-if="item.deviceStatus == 1">
<img class="icon" src="img/not-play-icon.png" alt="" v-else>
<img class="icon" src="./img/play-icon.png" alt="" v-if="item.deviceStatus == 1">
<img class="icon" src="./img/not-play-icon.png" alt="" v-else>
</div>
<AiEmpty v-if="!list.length"/>
</div>