居民需求

This commit is contained in:
liuye
2022-06-08 14:32:51 +08:00
parent ee61c8f194
commit 4ecfaa0e28
6 changed files with 26 additions and 206 deletions

View File

@@ -48,7 +48,15 @@
<div class="type-content">
<div class="flex" v-if="form.contentType == 'image'">
<p class="label" style="width:40px;">图片</p>
<AiUploader :def.sync="formData.imgList" :limit="1" action="/admin/file/add2"></AiUploader>
<AiUploader :def.sync="formData.fileList" :limit="1" @data="(v) => fileData = v"></AiUploader>
</div>
<div class="flex" v-if="form.contentType == 'video'">
<p class="label" style="width:40px;">视频</p>
<AiUploader type="video" :limit="1" placeholder="上传视频" :def.sync="formData.fileList" @data="(v) => fileData = v"></AiUploader>
</div>
<div class="flex" v-if="form.contentType == 'file'">
<p class="label" style="width:40px;">附件</p>
<AiUploader type="file" :limit="1" placeholder="上传附件" :def.sync="formData.fileList" @data="(v) => fileData = v"></AiUploader>
</div>
<div v-if="form.contentType == 'link'">
<div class="flex border-b">
@@ -68,14 +76,6 @@
</div>
</div>
</div>
<div class="flex" v-if="form.contentType == 'video'">
<p class="label" style="width:40px;">视频</p>
<AiUploader type="video" :limit="1" placeholder="上传视频" :def.sync="formData.fileList" action="/admin/file/add2"></AiUploader>
</div>
<div class="flex" v-if="form.contentType == 'file'">
<p class="label" style="width:40px;">附件</p>
<AiUploader type="file" :limit="1" placeholder="上传附件" :def.sync="formData.fileList" action="/admin/file/add2"></AiUploader>
</div>
<div v-if="form.contentType == 'miniapp'" class="flex-label">
<div class="flex border-b">
<p class="label">小程序标题</p>
@@ -150,7 +150,8 @@ export default {
accessTitle: '',
accessUrl: '',
accessAppid: '',
file: {}
file: {},
mediaId: ''
},
areaIdList: [],
tagIdList: [],
@@ -162,7 +163,8 @@ export default {
hour: true,
minute: true,
second: true
}
},
fileData: null
}
},
computed: {...mapState(['user'])},
@@ -196,7 +198,7 @@ export default {
if(!this.form.content) {
return this.$u.toast('请输入文本内容')
}
if(this.form.contentType == 'image' && !this.formData.imgList.length) {
if(this.form.contentType == 'image' && !this.formData.fileList.length) {
return this.$u.toast('请上传图片')
}
if(this.form.contentType == 'video' && !this.formData.fileList.length) {
@@ -208,9 +210,7 @@ export default {
if(this.formData.fileList.length) {
this.formData.file = this.formData.fileList[0]
this.formData.accessUrl = this.formData.fileList[0].url
}
if(this.formData.imgList.length) {
this.formData.accessUrl = this.formData.imgList[0].url
this.formData.mediaId = this.fileData.media.mediaId
}
var params = {
...this.form,

View File

@@ -7,7 +7,10 @@
<div class="areaHint">
<u-icon name="map-fill" color="#73ABFF"></u-icon>
<span>{{resident.currentAreaName}}{{resident.currentAddress || ''}}</span>
<span style="margin-left: 4px;">{{resident.currentAreaName}}
<span v-if="resident.currentAddressGroup">{{resident.currentAddressGroup}}</span>
<span v-if="resident.currentAddressNo">{{resident.currentAddressNo}}</span>
</span>
</div>
</div>
@@ -121,9 +124,6 @@ export default {
}
.areaHint {
margin-top: 38px;
span {
margin-left: 14px;
}
}
}

View File

@@ -108,7 +108,7 @@
<div class="item">
<span class="label">现住详细地址</span>
<span class="value" v-if="data.resident && data.resident.currentAddress">{{ data.resident.currentAddress }}</span>
<span class="value" v-if="data.resident && data.resident.currentAddressGroup">{{ data.resident.currentAddressGroup }}{{ data.resident.currentAddressNo }}</span>
</div>
<div class="item">

View File

@@ -76,88 +76,11 @@ export default {
</script>
<style scoped lang="scss">
uni-page-body {
height: 100%;
}
.AppResidentFile {
height: 100%;
.currentTabBar0 {
padding-bottom: 98px;
.peopleGroup,
.people {
.topcard {
position: relative;
background: url(http://respub.sinoecare.net/20211221/4-20211221095551.png) no-repeat;
background-size: 100% 100%;
height: 320px;
.cards {
box-sizing: border-box;
position: absolute;
bottom: -35px;
width: 92%;
box-sizing: border-box;
margin: 0 32px;
height: 232px;
background: #ffffff;
border-radius: 8px;
z-index: 999;
display: flex;
justify-content: space-around;
align-items: center;
.items {
display: flex;
flex-direction: column;
align-items: center;
span {
font-size: 30px;
font-weight: 500;
color: #999999;
}
.items1 {
font-size: 40px;
font-weight: bold;
color: #354fc7;
}
.items2 {
font-size: 40px;
font-weight: bold;
color: #868686;
}
.items3 {
font-size: 40px;
font-weight: bold;
color: #5fba95;
}
.items4 {
font-size: 40px;
font-weight: bold;
color: #f09535;
}
}
}
}
.echartes {
margin-top: 64px;
padding-bottom: 20px;
height: 616px;
background: #fff;
box-sizing: border-box;
.echartss {
margin: 0 32px;
height: 100%;
padding-top: 16px;
box-sizing: border-box;
}
}
}
}
.currentTabBar1 {
height: 100%;
padding-bottom: 98px;
background: #fff;
::v-deep .AiTopFixed {
b.title {
@@ -174,7 +97,7 @@ uni-page-body {
::v-deep .mainPane {
background: #fff;
padding: 0 32px 88px;
padding: 0 32px 0;
.AiCell {
flex-shrink: 0;
@@ -232,110 +155,6 @@ uni-page-body {
}
}
}
.currentTabBar2 {
padding-bottom: 98px;
::v-deep .AiTopFixed {
b.title {
color: #333;
font-size: 32px;
& > i {
color: #267fce;
font-style: normal;
margin: 0 4px;
}
}
}
::v-deep .mainPane {
background: #fff;
padding: 0 32px;
.AiCell {
align-items: center;
height: 230px;
justify-content: flex-start;
.content {
flex: 1;
min-width: 0;
height: 100%;
max-width: unset;
border-bottom: 1px solid rgba(221, 221, 221, 1);
}
}
.card {
height: 100%;
justify-content: center;
b {
font-size: 36px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.tag {
justify-content: center;
background: #f3f4f7;
border-radius: 4px;
padding: 0 16px;
font-size: 28px;
font-weight: 400;
color: #333;
margin-left: 16px;
height: 56px;
}
.groupName {
width: 100%;
text-align: left;
}
.owner,
.trends {
margin-top: 8px;
font-size: 28px;
font-weight: 400;
color: #999;
}
.personCount {
flex-shrink: 0;
font-size: 30px;
font-weight: 400;
color: #666;
}
.trends {
* + * {
margin-left: 24px;
}
em {
font-style: normal;
color: #5fba95;
}
p {
color: #f09535;
}
}
}
.AiImage {
margin-right: 24px;
image {
width: 112px;
height: 112px;
}
}
}
}
.tabs {
width: 100%;
height: 98px;

View File

@@ -25,7 +25,10 @@
<div class="card">
<AiCell title label="联络信息" />
<AiCell label="联系方式">{{ resident.phone }}</AiCell>
<AiCell label="现住址">{{ resident.currentAreaName + resident.currentAddress }}</AiCell>
<AiCell label="现住址">{{ resident.currentAreaName }}
<span v-if="resident.currentAddressGroup">{{resident.currentAddressGroup}}</span>
<span v-if="resident.currentAddressNo">{{resident.currentAddressNo}}</span>
</AiCell>
</div>
<div class="card">
<AiCell title label="家庭信息" />
@@ -73,7 +76,7 @@ export default {
return obj
},
family() {
return this.top.detail?.residentInfo?.family?.map((e) => ({ ...e, householdRelation: e.householdRelation || '户主' }))
return this.top.detail?.residentInfo?.family?.map((e) => ({ ...e, householdRelation: e.householdRelation || '户主', idNumber : e.idNumber?.replace(/(\d{10}).+/g, '$1******')}))
},
},
data() {

View File

@@ -15,8 +15,6 @@
<AiCell class="half" top-label label="添加时间">{{ top.detail.createTime }}</AiCell>
<AiCell class="half" top-label label="真实姓名">{{ top.detail.realName }}</AiCell>
<AiCell class="half" top-label label="手机号码">{{ resident.phone || '-' }}</AiCell>
<AiCell class="half" top-label label="家庭积分">{{ resident.familyIntegral }}</AiCell>
<AiCell class="half" top-label label="个人积分">{{ resident.personalIntegral }}</AiCell>
</u-row>
</div>
<div class="card">