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

This commit is contained in:
2022-11-22 18:51:51 +08:00
15 changed files with 73 additions and 46 deletions

View File

@@ -0,0 +1,28 @@
<template>
<div class="AppCommentsReceived">
<h1>我收到的评价</h1>
</div>
</template>
<script>
export default {
appName: '我收到的评价',
data() {
return {
}
},
methods: {
},
onShow() {
}
}
</script>
<style lang='scss' scoped>
.AppCommentsReceived {
}
</style>

View File

@@ -7,7 +7,20 @@
<div class="header-middle">
<div class="currentLeft">
<!-- <div class="currentLeft-top">
<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>
</div> -->
<div class="currentLeft-top">
<div class="left">
<AiAreaPicker v-model="areaId" :areaId="user.areaId" @select="areaSelect" :name.sync="areaName" style="color: #fff">
<img :src="$cdn + 'location.svg'" alt="" style="width: 18px; height: 18px; margin-right: 4px; vertical-align: middle" />
<span class="label" v-if="areaName">{{ areaName }}</span>
<span v-else>请选择</span>
<u-icon name="arrow-down" color="#fff" size="28" style="margin-left: 4px" />
</AiAreaPicker>
</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>
</div>
@@ -40,7 +53,7 @@
</template>
<!-- <div v-else>
<AiEmpty description="您还未添加过入户走访慰问" class="emptyWrap"></AiEmpty>
<AiEmpty description="您还未添加过入户调查走访" class="emptyWrap"></AiEmpty>
<div class="addBtns">
<span> 点击</span>
@@ -50,7 +63,7 @@
</div> -->
<div class="empty" v-else>
<img src="https://cdn.cunwuyun.cn/dvcp/h5/no-data.png" alt="" />
<p>您还未添加过走访慰问<br />点击<span @click="toAdd()">新增按钮</span>试试吧</p>
<p>您还未添加过调查走访<br />点击<span @click="toAdd()">新增按钮</span>试试吧</p>
</div>
</div>
</div>
@@ -69,7 +82,7 @@ import { mapState } from 'vuex'
export default {
name: 'AppWalkask',
appName: '走访慰问',
appName: '调查走访',
components: {},
props: {},
data() {
@@ -111,7 +124,7 @@ export default {
})
},
onShow() {
document.title = '走访慰问'
document.title = '调查走访'
},
mounted() {},
methods: {
@@ -122,12 +135,13 @@ export default {
},
getList() {
this.$http
.post('/app/appvisitvondolence/list', null, {
.post('/app/appvisitvondolencepingchang/list', null, {
params: {
size: 10,
current: this.current,
createUserId: this.currentTabs == 1 ? this.user.id : '',
title: this.keyword,
areaId: this.areaId
},
})
.then((res) => {
@@ -181,7 +195,7 @@ export default {
},
delet() {
this.$http.post(`/app/appvisitvondolence/delete?ids=${this.deletId}`).then((res) => {
this.$http.post(`/app/appvisitvondolencepingchang/delete?ids=${this.deletId}`).then((res) => {
if (res.code == 0) {
this.$u.toast('删除成功!')
this.getListInit()

View File

@@ -4,23 +4,24 @@
<div class="header-description">
<u-form :model="forms" ref="uForm" label-width="auto">
<u-form-item label="区域选择" prop="areaId" class="areaIds" style="position: relative">
<AiAreaPicker :value="forms.areaId" :areaId="areaIdProps" @select="areaSelect" isForm/>
<AiAreaPicker :value="forms.areaId" :areaId="areaIdProps" @select="areaSelect" :name.sync="forms.areaName" isForm selectRoot/>
</u-form-item>
<div class="line"></div>
<u-form-item label="走访对象" prop="name" required :right-icon="id ? '' : ''" class="create_user_names">
<!-- <u-input v-model="forms.name" disabled placeholder="请选择走访对象" @click="toWalkObject" /> -->
<AiPagePicker single @select="handleSelectUser" type="resident" style="width:100%;text-align:right;">
<!-- <AiPagePicker single @select="handleSelectUser" type="resident" style="width:100%;text-align:right;">
<AiMore v-model="forms.name"/>
</AiPagePicker>
</AiPagePicker> -->
<u-input v-model="forms.name" type="text" placeholder="请输入" input-align="right" maxlength="6" />
</u-form-item>
<u-form-item label="联系方式" prop="phone" required class="realitys">
<u-input v-model="forms.phone" type="number" placeholder="请输入" input-align="right" />
<u-input v-model="forms.phone" type="number" placeholder="请输入" input-align="right" maxlength="11" />
</u-form-item>
<div class="line"></div>
<u-form-item label="区域定位" prop="address" required :right-icon="id ? '' : 'arrow-right'" class="realitys">
<u-form-item label="区域定位" prop="address" :right-icon="id ? '' : 'arrow-right'" class="realitys">
<u-input v-model="forms.address" disabled placeholder="请点击" @click="chooseAddress" />
</u-form-item>
@@ -34,13 +35,13 @@
<div class="line"></div>
<u-form-item label="现实状态" prop="reality" :right-icon="id ? '' : 'arrow-right'" class="realitys">
<!-- <u-form-item label="现实状态" prop="reality" :right-icon="id ? '' : 'arrow-right'" class="realitys">
<u-input v-model="forms.reality" disabled placeholder="请选择现实状态" @click="realityClick" />
<u-select v-model="showStstus" :list="$dict.getDict('realityStatus')" value-name="dictValue" label-name="dictName" @confirm="realityStstus"></u-select>
</u-form-item>
<div class="line"></div>
<div class="line"></div> -->
<u-form-item label="入户走访事项" prop="title" required label-position="top" :border-bottom="false">
<u-input v-model="forms.title" placeholder="请输入入户走访事项(30字以内)" type="textarea" auto-height height="60" :maxlength="30" />
@@ -57,8 +58,8 @@
<div class="line"></div>
<u-form-item label="图片(最多9张)" prop="images" class="avatars" label-position="top" :border-bottom="false">
<AiUploader :def.sync="forms.images" multiple placeholder="上传图片" :limit="9" action="/admin/file/add2"></AiUploader>
<u-form-item label="图片(最多9张)" prop="files" class="avatars" label-position="top" :border-bottom="false">
<AiUploader :def.sync="forms.files" multiple placeholder="上传图片" :limit="9" action="/admin/file/add2"></AiUploader>
</u-form-item>
</u-form>
</div>
@@ -84,6 +85,7 @@ export default {
optionId: '',
name: '',
phone: '',
residentId: '',
address: '',
lng: '',
@@ -94,7 +96,7 @@ export default {
applicationId: '',
title: '',
description: '',
images: [],
files: [],
},
showAreaId: false,
showStstus: false,
@@ -164,7 +166,7 @@ export default {
getDetail() {
if (this.id) {
this.$http.post(`/app/appvisitvondolence/queryDetailById?id=${this.id}`).then((res) => {
this.$http.post(`/app/appvisitvondolencepingchang/queryDetailById?id=${this.id}`).then((res) => {
if (res?.data) {
this.forms = res.data
this.forms.create_user_name = res.data.name
@@ -172,9 +174,6 @@ export default {
this.forms.areaId = res.data.areaId
this.forms.areaName = res.data.areaName
this.forms.reality = this.$dict.getLabel('realityStatus', res.data.reality)
if (res.data.images) {
this.forms.images = JSON.parse(res.data.images || '[]')
}
}
})
}
@@ -198,30 +197,16 @@ export default {
return this.$u.toast('请输入入户走访事项')
}
const imgs = []
if (this.forms.images) {
this.forms.images.map((e) => {
imgs.push({ url: e.url, id: e.id })
})
}
this.flag = true
this.$http
.post(`/app/appvisitvondolence/addOrUpdate`, {
areaId: this.forms.areaId,
applicationId: this.forms.applicationId,
name: this.forms.name,
visitTime: this.forms.visitTime,
residentId: this.forms.residentId,
.post(`/app/appvisitvondolencepingchang/addOrUpdate`, {
...this.forms,
// menuLevel3Name: this.forms.menuLevel3Name,
applicationId: this.forms.applicationId,
reality: this.forms.realityValue ? this.forms.realityValue : this.forms.reality,
title: this.forms.title,
description: this.forms.description,
createUserId: this.user.id,
createUserName: this.user.name,
images: JSON.stringify(imgs) || [],
id: this.id,
})
.then((res) => {

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -17,14 +17,14 @@
<span>联系方式</span>
<span>{{ data.phone }} </span>
</div>
<div class="walk-item" v-if="data.reality">
<!-- <div class="walk-item" v-if="data.reality">
<span>现实状态</span>
<span>{{ $dict.getLabel('realityStatus', data.reality) }} </span>
</div>
</div> -->
<div class="walk-item">
<span>走访人员</span>
<span><AiOpenData v-if="data.createUserName" type="userName" :openid="data.createUserName" style="display: inline-block" /></span>
<span>{{data.createUserName}}</span>
</div>
<div class="walk-item">
@@ -37,7 +37,7 @@
<div class="hint-con" v-if="data.description">{{ data.description }}</div>
<div class="imgs">
<img :src="item.url" alt="" v-for="(item, index) in data.images" :key="index" @click.stop="previewImage(data.images, item.url)" />
<img :src="item.url" alt="" v-for="(item, index) in data.files" :key="index" @click.stop="previewImage(data.files, item.url)" />
</div>
</div>
</div>
@@ -69,20 +69,20 @@ export default {
mounted() {},
methods: {
getDetail() {
this.$http.post(`/app/appvisitvondolence/queryDetailById?id=${this.id}`).then((res) => {
this.$http.post(`/app/appvisitvondolencepingchang/queryDetailById?id=${this.id}`).then((res) => {
if (res?.data) {
this.data = res.data
if (this.data.images) {
this.data.images = JSON.parse(this.data.images || '[]')
if (this.data.files) {
this.data.files = JSON.parse(this.data.files || '[]')
this.data.labelList = this.data.labels.split(',') || []
}
}
})
},
previewImage(images, img) {
previewImage(files, img) {
uni.previewImage({
urls: images.map((v) => v.url),
urls: files.map((v) => v.url),
current: img,
})
},

View File

Before

Width:  |  Height:  |  Size: 292 B

After

Width:  |  Height:  |  Size: 292 B

View File

Before

Width:  |  Height:  |  Size: 201 B

After

Width:  |  Height:  |  Size: 201 B

View File

Before

Width:  |  Height:  |  Size: 282 B

After

Width:  |  Height:  |  Size: 282 B

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 766 B

After

Width:  |  Height:  |  Size: 766 B

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB