Merge remote-tracking branch 'origin/dev' into dev
@@ -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>
|
||||
@@ -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()
|
||||
@@ -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) => {
|
||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
@@ -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,
|
||||
})
|
||||
},
|
||||
|
Before Width: | Height: | Size: 292 B After Width: | Height: | Size: 292 B |
|
Before Width: | Height: | Size: 201 B After Width: | Height: | Size: 201 B |
|
Before Width: | Height: | Size: 282 B After Width: | Height: | Size: 282 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 766 B After Width: | Height: | Size: 766 B |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |