Browse Source

Merge branch 'upGrade'

feature/itemprocess
wanggongfeng 5 years ago
parent
commit
20d5d348a5
  1. 199
      src/views/modules/events/item-deal-detail-view.vue
  2. 110
      src/views/modules/group/group.vue
  3. 8
      src/views/modules/group/topic-list.vue
  4. 2
      src/views/modules/workRecord/dailyrecordinfoDetail.vue
  5. 2
      src/views/modules/workRecord/monthexcellentcaseDetail.vue
  6. 2
      src/views/modules/workRecord/monthexcellentgridDetail.vue
  7. 2
      src/views/modules/workRecord/monthexcellentpersonDetail.vue
  8. 2
      src/views/modules/workRecord/monthrecordinfoDetail.vue

199
src/views/modules/events/item-deal-detail-view.vue

@ -84,7 +84,7 @@
</span>
</div>
</div>
<div><span style="font-weight: bold; color: rgb(96, 98, 102);">处理意见</span> {{item.advice}}</div>
<div style="word-break:break-all;"><span style="font-weight: bold; color: rgb(96, 98, 102);">处理意见</span> {{item.advice}}</div>
<div style="display: flex;">
<el-image v-for="url in item.images"
style="width: 60px; height: 60px; object-fit: cover; margin-right: 8px; border-radius: 2px;"
@ -150,6 +150,26 @@
show-word-limit
placeholder="请您选择居民诉求的处理情况及答复意见,向居民公开展示"></el-input>
</el-form-item>
<el-form-item label="居民意见图片:" v-loading="loading" prop="outHandleImagesTemporary">
<el-upload
ref="upload"
:action="uploadUrl"
:class="{hide:hideUpload}"
list-type="picture-card"
:file-list="dataForm.outHandleImagesTemporary"
:limit=3
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
:on-success="handleAvatarSuccess"
:on-error="handelError"
:before-upload="beforeAvatarUpload">
<i class="el-icon-plus"></i>
</el-upload>
<el-dialog :visible.sync="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
<div><font color="gray">1~3张图</font></div>
</el-form-item>
<el-form-item label="项目处理意见:"
prop="handleAdvice">
<el-input v-model="postDataForm.handleAdvice"
@ -158,6 +178,26 @@
show-word-limit
placeholder="请您填写项目的实际办理情况(自己处理、吹哨报道、内部协调),便于相关部门了解项目的实际情况"></el-input>
</el-form-item>
<el-form-item label="处理意见图片:" v-loading="loadingItem" prop="HandleImagesTemporary">
<el-upload
ref="upload"
:action="uploadUrlItem"
:class="{hideitem:hideUploadItem}"
list-type="picture-card"
:file-list="dataForm.HandleImagesTemporary"
:limit=3
:on-preview="handlePictureCardPreviewItem"
:on-remove="handleRemoveItem"
:on-success="handleAvatarSuccessItem"
:on-error="handelErrorItem"
:before-upload="beforeAvatarUploadItem">
<i class="el-icon-plus"></i>
</el-upload>
<el-dialog :visible.sync="dialogVisibleItem">
<img width="100%" :src="dialogImageUrlItem" alt="">
</el-dialog>
<div><font color="gray">1~3张图</font></div>
</el-form-item>
<el-form-item label="满意度评价:"
prop="evaluateDeptDTOS"
v-if="evaluateDeptDTOSVisible">
@ -241,6 +281,7 @@
<script>
import BMap from 'BMap'
import 'element-ui/lib/theme-chalk/timeline.css'
import Cookies from 'js-cookie'
import 'element-ui/lib/theme-chalk/timeline-item.css'
import 'element-ui/lib/theme-chalk/image.css'
import debounce from 'lodash/debounce'
@ -267,7 +308,9 @@ export default {
handleCategory: '',
issueLatitude: '',
issueLongitude: '',
handlerDeptIdRule: ''
handlerDeptIdRule: '',
outHandleImagesTemporary: [],
HandleImagesTemporary: []
},
isAble: false,
previewImgList: [],
@ -282,18 +325,32 @@ export default {
outHandleAdvice: '',
handleCategory: '',
deptResultDTOS: [],
evaluateDeptDTOS: []
evaluateDeptDTOS: [],
outhandleImages: [],
handleImages: []
},
deptResultDTOSVisible: false,
evaluateDeptDTOSVisible: false,
timeLineList: [],
options: []
options: [],
uploadUrl: '',
hideUpload: false,
dialogImageUrl: '',
dialogVisible: false,
loading: false,
uploadUrlItem: '',
hideUploadItem: false,
dialogImageUrlItem: '',
dialogVisibleItem: false,
loadingItem: false
}
},
mounted () {
this.dataForm.id = this.$route.query.id
this.getOptions()
this.init()
this.uploadUrl = `${window.SITE_CONFIG['apiURL']}/oss/file/uploadImg?token=${Cookies.get('token')}`
this.uploadUrlItem = `${window.SITE_CONFIG['apiURL']}/oss/file/uploadImg?token=${Cookies.get('token')}`
},
filters: {
formatState (item) {
@ -412,6 +469,121 @@ export default {
})
.catch(() => {})
},
beforeAvatarUpload (file) {
if (this.dataForm.outHandleImagesTemporary.length === 3) {
this.$message.error('最多上传3张图片!')
return false
}
this.loading = true
this.isAble = true
const isJPG = file.type === 'image/jpeg'
const isPNG = file.type === 'image/png'
// const isLt1M = file.size / 1024 / 1024 < 1
//
if (!isJPG && !isPNG) {
this.$message.error('上传文件必须是jpg、png格式!')
this.loading = false
this.isAble = false
return false
}
},
handleAvatarSuccess (res, file) {
this.loading = false
this.isAble = false
if (res === null || res.data === null || res.data.imgUrl === null) {
this.$message.error('文件上传失败!')
this.handleErrorRemove(file)
return false
}
this.dataForm.outHandleImagesTemporary.push({ url: res.data.imgUrl, thumbnail: res.data.thumbnail, fileType: 1 })
this.hideUpload = this.dataForm.outHandleImagesTemporary.length >= 3
},
handleErrorRemove (file) {
//
let fileList = this.$refs.upload.uploadFiles
for (var i = 0; i < fileList.length; i++) {
let item = fileList[i]
if (item.url === file.url) {
fileList.splice(i, 1)
}
}
},
handelError () {
this.loading = false
this.isAble = false
this.$message.error('上传文件失败!')
},
handleRemove (file, fileList) {
for (var i = 0; i < this.dataForm.outHandleImagesTemporary.length; i++) {
let item = this.dataForm.outHandleImagesTemporary[i]
if (item.url === file.url) {
this.dataForm.outHandleImagesTemporary.splice(i, 1)
}
}
this.hideUpload = this.dataForm.outHandleImagesTemporary.length >= 3
},
handlePictureCardPreview (file) {
this.dialogImageUrl = file.url
this.dialogVisible = true
},
//
beforeAvatarUploadItem (file) {
if (this.dataForm.HandleImagesTemporary.length === 3) {
this.$message.error('最多上传3张图片!')
return false
}
this.loadingItem = true
this.isAble = true
const isJPG = file.type === 'image/jpeg'
const isPNG = file.type === 'image/png'
// const isLt1M = file.size / 1024 / 1024 < 1
//
if (!isJPG && !isPNG) {
this.$message.error('上传文件必须是jpg、png格式!')
this.loadingItem = false
this.isAble = false
return false
}
},
handleAvatarSuccessItem (res, file) {
this.loadingItem = false
this.isAble = false
if (res === null || res.data === null || res.data.imgUrl === null) {
this.$message.error('文件上传失败!')
this.handleErrorRemoveItem(file)
return false
}
this.dataForm.HandleImagesTemporary.push({ url: res.data.imgUrl, thumbnail: res.data.thumbnail, fileType: 1 })
this.hideUploadItem = this.dataForm.HandleImagesTemporary.length >= 3
},
handleErrorRemoveItem (file) {
//
let fileList = this.$refs.upload.uploadFiles
for (var i = 0; i < fileList.length; i++) {
let item = fileList[i]
if (item.url === file.url) {
fileList.splice(i, 1)
}
}
},
handelErrorItem () {
this.loadingItem = false
this.isAble = false
this.$message.error('上传文件失败!')
},
handleRemoveItem (file, fileList) {
for (var i = 0; i < this.dataForm.HandleImagesTemporary.length; i++) {
let item = this.dataForm.HandleImagesTemporary[i]
if (item.url === file.url) {
this.dataForm.HandleImagesTemporary.splice(i, 1)
}
}
this.hideUploadItem = this.dataForm.HandleImagesTemporary.length >= 3
},
handlePictureCardPreviewItem (file) {
this.dialogImageUrlItem = file.url
this.dialogVisibleItem = true
},
visibleChange (val) {
if (this.dataForm.handleResultDTOS.length === 0 && this.dataForm.handlerDeptIdRule === '' && val === true) {
return this.$message.error('请先选择操作人部门!')
@ -598,6 +770,14 @@ export default {
this.postDataForm.evaluateDeptDTOS = []
}
this.isAble = true
for (var i = 0; i < this.dataForm.outHandleImagesTemporary.length; i++) {
let outItem = this.dataForm.outHandleImagesTemporary[i]
this.postDataForm.outhandleImages.push(outItem.url)
}
for (var j = 0; j < this.dataForm.HandleImagesTemporary.length; j++) {
let item = this.dataForm.HandleImagesTemporary[j]
this.postDataForm.handleImages.push(item.url)
}
this.$http['post'](
'/events/item/itemHandleSubmit', this.postDataForm).then(({ data: res }) => {
if (res.code !== 0) {
@ -620,6 +800,17 @@ export default {
}
}
</script>
<style lang="scss">
.hide .el-upload--picture-card {
display: none;
}
</style>
<style lang="scss">
.hideitem .el-upload--picture-card {
display: none;
}
</style>
<style lang="scss">
.project-handle {

110
src/views/modules/group/group.vue

@ -23,9 +23,49 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="排序">
<el-select v-model="dataForm.sort"
clearable
placeholder="请选择">
<el-option v-for="item in sortOptions"
:key="item.id"
:label="item.name"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
<br>
<el-form-item label="统计时间"
prop="startTime">
<el-date-picker v-model="dataForm.startTime"
type="date"
:picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间"
style="width:200px;"
@change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item label="至"
label-width="25px"
prop="endTime">
<el-date-picker v-model="dataForm.endTime"
type="date"
:picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间"
style="width:200px;"
@change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="success" @click="getDataListSearch()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="success" @click="exportHandle()">{{ $t('export') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading"
:data="dataList"
@ -38,7 +78,11 @@
</template>
</el-table-column>
<el-table-column prop="groupName"
label="社群名称"
label="社群名称" width="200" show-overflow-tooltip
header-align="center"
align="center"></el-table-column>
<el-table-column prop="dept"
label="所属部门" width="180" show-overflow-tooltip
header-align="center"
align="center"></el-table-column>
<el-table-column prop="groupCategory"
@ -52,9 +96,14 @@
header-align="center"
align="center"
width="180"></el-table-column>
<el-table-column prop="updatedTime"
label="更新时间"
header-align="center"
align="center"
width="180"></el-table-column>
<el-table-column prop="nickname"
label="群主"
header-align="center"
header-align="center" width="180" show-overflow-tooltip
align="center"></el-table-column>
<el-table-column prop="state"
label="状态"
@ -62,6 +111,26 @@
align="center"
width="120"
:formatter="formatState"></el-table-column>
<el-table-column prop="membersNumber"
label="群成员数"
header-align="center"
align="center"
width="120"></el-table-column>
<el-table-column prop="topicNumber"
label="话题数"
header-align="center"
align="center"
width="120"></el-table-column>
<el-table-column prop="toIssueNumber"
label="转议题数"
header-align="center"
align="center"
width="120"></el-table-column>
<el-table-column prop="participation"
label="参与度"
header-align="center"
align="center"
width="120"></el-table-column>
<el-table-column :label="$t('handle')"
fixed="right"
header-align="center"
@ -144,7 +213,8 @@ export default {
return {
mixinViewModuleOptions: {
getDataListURL: '/group/group/page',
getDataListIsPage: true
getDataListIsPage: true,
exportURL: '/group/group/export'
},
groupDetailVisible: false,
groupApproveVisible: false,
@ -154,13 +224,32 @@ export default {
streetId: '',
communityId: '',
deptId: '',
state: '0'
state: '0',
sort: '1',
startTime: '',
endTime: ''
},
postForm: {
id: '',
state: 0,
processingOpinions: ''//
},
pickerBeginDateBefore: {
disabledDate: (time) => {
let beginDateVal = this.dataForm.endTime
if (beginDateVal) {
return time.getTime() > new Date(beginDateVal + ' 00:00:00').getTime()
}
}
},
pickerBeginDateAfter: {
disabledDate: (time) => {
let EndDateVal = this.dataForm.startTime
if (EndDateVal) {
return time.getTime() < new Date(EndDateVal + ' 00:00:00').getTime()
}
}
},
ids: [],
options: [],
stateOptions: [{
@ -178,6 +267,19 @@ export default {
}, {
id: '20',
name: '已解散'
}],
sortOptions: [{
id: '1',
name: '群成员数'
}, {
id: '2',
name: '话题数'
}, {
id: '3',
name: '转议题数'
}, {
id: '4',
name: '参与度'
}]
}
},

8
src/views/modules/group/topic-list.vue

@ -65,6 +65,14 @@
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
<el-table-column label="序号" type="index" show-overflow-tooltip align="center" width="50"></el-table-column>
<el-table-column prop="nickname" label="发言人" header-align="center" align="center" width="180" show-overflow-tooltip title="nickname"></el-table-column>
<el-table-column prop="dept"
label="所属部门" width="180"
header-align="center"
align="center" show-overflow-tooltip></el-table-column>
<el-table-column prop="groupName"
label="社群名称" width="180"
header-align="center"
align="center" show-overflow-tooltip></el-table-column>
<el-table-column prop="createdTime" label="时间" header-align="center" align="center" width="180"></el-table-column>
<el-table-column prop="topicContent" label="话题内容" header-align="center" align="left" min-width="400" show-overflow-tooltip title="topicContent"></el-table-column>
<el-table-column prop="commentNum" label="评论数" header-align="center" align="center" width="100"></el-table-column>

2
src/views/modules/workRecord/dailyrecordinfoDetail.vue

@ -247,7 +247,7 @@ export default {
this.dataForm.address = position.address
},
beforeAvatarUpload (file) {
if (this.dataForm.length === 9) {
if (this.dataForm.images.length === 9) {
this.$message.error('最多上传9张图片!')
return false
}

2
src/views/modules/workRecord/monthexcellentcaseDetail.vue

@ -152,7 +152,7 @@ export default {
})
},
beforeAvatarUpload (file) {
if (this.dataForm.length === 9) {
if (this.dataForm.images.length === 9) {
this.$message.error('最多上传9张图片!')
return false
}

2
src/views/modules/workRecord/monthexcellentgridDetail.vue

@ -183,7 +183,7 @@ export default {
})
},
beforeAvatarUpload (file) {
if (this.dataForm.length === 9) {
if (this.dataForm.images.length === 9) {
this.$message.error('最多上传9张图片!')
return false
}

2
src/views/modules/workRecord/monthexcellentpersonDetail.vue

@ -173,7 +173,7 @@ export default {
})
},
beforeAvatarUpload (file) {
if (this.dataForm.length === 9) {
if (this.dataForm.images.length === 9) {
this.$message.error('最多上传9张图片!')
return false
}

2
src/views/modules/workRecord/monthrecordinfoDetail.vue

@ -199,7 +199,7 @@ export default {
})
},
beforeAvatarUpload (file) {
if (this.dataForm.length === 9) {
if (this.dataForm.images.length === 9) {
this.$message.error('最多上传9张图片!')
return false
}

Loading…
Cancel
Save