重写页面

This commit is contained in:
花有清香月有阴
2021-12-14 15:51:00 +08:00
parent 4171b99a70
commit c57a77ab16
4 changed files with 148 additions and 201 deletions

View File

@@ -14,53 +14,43 @@
<img src="./components/images/icon2.png" alt="" />
<AiAreaPicker v-model="areaId" ref="areaIds" :areaId="areaId" @select="areaSelect" style="color: #fff"> </AiAreaPicker>
<!-- <div class="btns" style="display: inline-block" @click="show = true">
<u-icon name="arrow-down"></u-icon>
</div> -->
</div>
<u-search v-model="keyword" :clearabled="true" placeholder="请输入标题" :show-action="false" bg-color="#1F5CAF" search-icon-color="#E2E8F1" color="#E2E8F1" height="58" @search="handerSearch" @clear="handerClear"></u-search>
<u-select v-model="show" :list="areaList"></u-select>
</div>
<div @click.stop="btnHide" class="datas" v-if="data.length > 0">
<div class="cards" @click.stop="toDetail(item)" v-for="(item, i) in data" :key="i">
<div class="cards-top">
<template v-if="data.length > 0">
<AiCard v-for="(item, i) in data" :key="i" @click.native="goDetail(item, 1)">
<template #custom>
<div class="cards-left">
<span class="walkName">走访对象{{ item.createUserName }}</span>
<span class="tags">残疾人</span>
<span class="tags">居家看护</span>
</div>
<div class="cards-right" @click.stop="showHide">
<img src="./components/images/1.png" alt="" />
<div class="cards-hint">{{ item.description }}</div>
<div class="imgs">
<img :src="items.url" alt="" v-for="(items, i) in item.images" :key="i" @click.stop="previewImage(item.images, items.url)" />
</div>
<div class="btn" v-if="showBtn">
<span @click="toAdd(item)">编辑</span>
<span @click="toDetele(item)">删除</span>
<div class="cards-bottom">
<span>走访人{{ item.createUserName }}</span>
<span style="margin-left: 8px">{{ item.createTime }}</span>
</div>
</div>
</template>
<div class="cards-hint">{{ item.description }}</div>
<div class="imgs">
<img :src="items.url" alt="" v-for="(items, i) in item.images" :key="i" @click.stop="previewImage(item.images, items.url)" />
</div>
<div class="cards-bottom">
<span>走访人{{ item.createUserName }}</span>
<span>{{ item.createTime }}</span>
</div>
</div>
</div>
<template #menu>
<div class="menu" @tap.stop="goDetail(item, 2)">编辑</div>
<div class="menu" @tap.stop="toDetele(item)">删除</div>
</template>
</AiCard>
</template>
<div v-else>
<AiEmpty description="您还未添加过入户调查走访" class="emptyWrap"> </AiEmpty>
<div class="addBtn">点击<span class="toAdd" @click="toAdd">新增按钮</span>试试试吧~</div>
<div class="addBtn">点击<span class="toAdds" @click="goDetail">新增按钮</span>试试试吧~</div>
</div>
</div>
@@ -70,60 +60,52 @@
<img src="./components/images/icon2.png" alt="" />
<AiAreaPicker v-model="areaId" ref="areaIds" :areaId="areaId" @select="areaSelect" style="color: #fff"> </AiAreaPicker>
<!-- <div class="btns" style="display: inline-block" @click="show = true">
<u-icon name="arrow-down"></u-icon>
</div> -->
</div>
<u-search v-model="keyword" :clearabled="true" placeholder="请输入标题" :show-action="false" bg-color="#1F5CAF" search-icon-color="#E2E8F1" color="#E2E8F1" height="58" @search="handerSearch" @clear="handerClear"></u-search>
<u-select v-model="show" :list="areaList"></u-select>
</div>
<div @click.stop="btnHide" class="datas" v-if="data.length > 0">
<div class="cards" @click.stop="toDetail(item)" v-for="(item, i) in data" :key="i">
<div class="cards-top">
<template v-if="data.length > 0">
<AiCard v-for="(item, i) in data" :key="i" @click.native="goDetail(item, 1)">
<template #custom>
<div class="cards-left">
<span class="walkName">走访对象{{ item.createUserName }}</span>
<span class="tags">残疾人</span>
<span class="tags">居家看护</span>
</div>
<div class="cards-right" @click.stop="showHide">
<img src="../AppWalkask/components/images/1.png" alt="" />
<div class="cards-hint">{{ item.description }}</div>
<div class="imgs">
<img :src="items.url" alt="" v-for="(items, i) in item.images" :key="i" @click.stop="previewImage(item.images, items.url)" />
</div>
<div class="btn" v-if="showBtn">
<span @click="toAdd(item)">编辑</span>
<span @click="toDetele(item)">删除</span>
<div class="cards-bottom">
<span>走访人{{ item.createUserName }}</span>
<span style="margin-left: 8px">{{ item.createTime }}</span>
</div>
</div>
</template>
<div class="cards-hint">{{ item.description }}</div>
<div class="imgs">
<img :src="items.url" alt="" v-for="items in item.images" :key="items.id" @click.stop="previewImage(item.images, items.url)" />
</div>
<div class="cards-bottom">
<span>走访人{{ item.createUserName }}</span>
<span>{{ item.createTime }}</span>
</div>
</div>
</div>
<template #menu>
<div class="menu" @tap.stop="goDetail(item, 2)">编辑</div>
<div class="menu" @tap.stop="toDetele(item)">删除</div>
</template>
</AiCard>
</template>
<div v-else>
<AiEmpty description="您还未添加过入户调查走访" class="emptyWrap"> </AiEmpty>
<div class="addBtn">点击<span class="toAdd" @click="toAdd">新增按钮</span>试试试吧~</div>
<div class="addBtn">点击<span class="toAdds" @click="goDetail">新增按钮</span>试试试吧~</div>
</div>
</div>
</div>
<u-modal v-model="deletShow" content="您确认要删除该条信息吗?" :show-cancel-button="true" :mask-close-able="true" :show-title="false" @confirm="delet"></u-modal>
<img src="../AppWalkask/components/images/add@2x.png" class="fixedImg" alt="" @click="toAdd" />
<AiFixedBtn>
<div class="addBtn iconfont iconfont-iconfangda" @tap.stop="goDetail()" />
</AiFixedBtn>
</template>
<component v-else :is="comp" :params="params"></component>
@@ -159,19 +141,8 @@ export default {
],
currentTabs: 0,
show: false,
areaList: [
{
value: '0',
label: '武汉',
},
{
value: '1',
label: '襄阳',
},
],
current: 0,
keyword: '',
showBtn: false,
deletShow: false,
isList: true,
comp: '',
@@ -183,7 +154,6 @@ export default {
},
computed: { ...mapState(['user']) },
created() {
console.log(this.user)
this.areaId = this.user.areaId
this.getList()
},
@@ -225,25 +195,17 @@ export default {
this.currentTabs = index
},
toAdd(item) {
console.log('编辑', '添加')
const id = item.id
// this.isList = false
// this.comp = 'add'
// this.params = 12313
if (id) {
this.comp = 'add'
// this.params = id
this.params = 12313
this.isList = false
}
},
toDetail(item) {
// const { id } = item.id
goDetail(item, hint) {
this.isList = false
this.comp = 'detail'
this.params = detail
if (hint == 1 || hint == 2) {
console.log('left', item.id, hint)
this.comp = hint == 1 ? 'detail' : 'add'
this.params = item
} else {
console.log('right', 2)
this.comp = 'add'
this.params = 111
}
},
toDetele(item) {
@@ -252,7 +214,6 @@ export default {
},
delet() {
console.log('delet')
this.$http.post(`/app/appvisitvondolence/delete?ids=${this.deletId}`).then((res) => {
if (res.code == 0) {
this.$u.toast('删除成功!')
@@ -261,28 +222,14 @@ export default {
})
},
showHide() {
if (this.showBtn == false) {
this.showBtn = true
} else {
this.showBtn = false
}
},
btnHide() {
this.showBtn = false
},
handerSearch(e) {
this.keyword = e
this.current = 1
// this.getList()
},
handerClear() {
this.keyword = ''
this.current = 1
// this.getList()
},
previewImage(images, img) {
@@ -308,6 +255,7 @@ export default {
align-items: center;
background: #3975c6;
padding: 24px 30px;
.left {
width: 40%;
display: flex;
@@ -319,18 +267,16 @@ export default {
}
}
.datas {
.cards {
margin: 30px 30px 24px 30px;
.AiCard {
::v-deep .start {
border-bottom: 1px solid #dddddd;
.cards-top {
display: flex;
justify-content: space-between;
.fill {
.cards-left {
.walkName {
font-size: 32px;
font-weight: 500;
margin-right: 16px;
color: #333;
}
.tags {
display: inline-block;
@@ -342,53 +288,48 @@ export default {
margin-left: 16px;
}
}
.cards-right {
position: relative;
width: 32px;
margin-top: 1%;
.cards-hint {
margin-top: 16px;
font-size: 30px;
color: #666666;
line-height: 1.4;
text-overflow: -o-ellipsis-lastline;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.btn {
position: absolute;
z-index: 99;
right: 45px;
top: 350px;
width: 224px;
height: 204px;
background: #ffffff;
box-shadow: 0px 4px 12px 4px rgba(162, 162, 162, 0.5);
border-radius: 4px;
.imgs {
margin-top: 20px;
img {
width: 221px;
height: 221px;
margin-right: 8px;
}
img:nth-child(3n + 0) {
margin-right: 0;
}
}
.cards-bottom {
margin: 24px 0 16px 0;
font-size: 24px;
color: #999999;
}
}
}
.cards-hint {
margin-top: 16px;
font-size: 30px;
color: #666666;
line-height: 1.4;
text-overflow: -o-ellipsis-lastline;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.imgs {
margin-top: 20px;
img {
width: 224px;
height: 224px;
margin-right: 8px;
::v-deep .mask {
.moreMenu {
.menu {
text-align: center;
line-height: 80px;
width: 192px;
height: 80px;
font-size: 28px;
font-weight: 400;
color: #333333;
}
img:nth-child(3n + 0) {
margin-right: 0;
}
}
.cards-bottom {
margin: 24px 0 16px 0;
font-size: 24px;
color: #999999;
}
}
}
@@ -398,13 +339,27 @@ export default {
color: #b7b7b7;
margin-top: 5px;
font-weight: 800;
.toAdd {
.toAdds {
color: #467dfe;
}
}
}
}
.addBtn {
width: 96px;
height: 96px;
flex-shrink: 0;
background: $uni-color-primary;
box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
font-size: 48px;
color: #fff;
border-radius: 50%;
justify-content: center;
align-items: center;
display: flex;
}
.fixedImg {
position: fixed;
right: 0;