|
|
@ -1,130 +1,176 @@ |
|
|
|
<template> |
|
|
|
<el-card shadow="never" class="aui-card--fill"> |
|
|
|
<el-card shadow="never" |
|
|
|
class="aui-card--fill"> |
|
|
|
<div class="mod-__icWorkLog} resi-container"> |
|
|
|
<el-card ref="searchCard" class="search-card"> |
|
|
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()"> |
|
|
|
<el-form-item prop="gridId" label="所属组织"> |
|
|
|
<div class="resi-cell-value"> |
|
|
|
<el-cascader class="customer_cascader" |
|
|
|
ref="myCascader" |
|
|
|
clearable |
|
|
|
v-model="agencyIdArray" |
|
|
|
:options="orgOptions" |
|
|
|
:props="orgOptionProps" |
|
|
|
:show-all-levels="false" |
|
|
|
@change="handleChangeAgency"></el-cascader> |
|
|
|
</div> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="日志类型" |
|
|
|
prop="logType"> |
|
|
|
<el-select v-model="dataForm.logType" |
|
|
|
placeholder="请选择" |
|
|
|
size="small" |
|
|
|
clearable> |
|
|
|
<el-option v-for="item in logTypeArr" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="网格员" |
|
|
|
prop="createdUser"> |
|
|
|
<el-input v-model="dataForm.createdUser" |
|
|
|
size="small" |
|
|
|
clearable |
|
|
|
placeholder="请输入网格员姓名"> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="联系电话" |
|
|
|
prop="createdUser"> |
|
|
|
<el-input v-model="dataForm.mobile" |
|
|
|
size="small" |
|
|
|
clearable |
|
|
|
placeholder="请输入联系电话"> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
<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"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="至" 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"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item> |
|
|
|
<el-button type="primary" size="small" class="diy-button--search" @click="getDataList()">{{ $t('query') }}</el-button> |
|
|
|
|
|
|
|
<el-button style="margin-left:10px" |
|
|
|
<el-card ref="searchCard" |
|
|
|
class="search-card"> |
|
|
|
<el-form :inline="true" |
|
|
|
:model="dataForm" |
|
|
|
@keyup.enter.native="getDataList()"> |
|
|
|
<el-form-item prop="gridId" |
|
|
|
label="所属组织"> |
|
|
|
<div class="resi-cell-value"> |
|
|
|
<el-cascader class="customer_cascader" |
|
|
|
size="small" |
|
|
|
ref="myCascader" |
|
|
|
clearable |
|
|
|
v-model="agencyIdArray" |
|
|
|
:options="orgOptions" |
|
|
|
:props="orgOptionProps" |
|
|
|
:show-all-levels="false" |
|
|
|
@change="handleChangeAgency"></el-cascader> |
|
|
|
</div> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="日志类型" |
|
|
|
prop="logType"> |
|
|
|
<el-select v-model="dataForm.logType" |
|
|
|
placeholder="请选择" |
|
|
|
size="small" |
|
|
|
clearable> |
|
|
|
<el-option v-for="item in logTypeArr" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="网格员" |
|
|
|
prop="createdUser"> |
|
|
|
<el-input v-model="dataForm.createdUser" |
|
|
|
size="small" |
|
|
|
type="primary" |
|
|
|
class="diy-button--reset" |
|
|
|
@click="resetSearch">重置</el-button> |
|
|
|
</el-form-item> |
|
|
|
<!-- <el-button style="margin-left:10px" |
|
|
|
clearable |
|
|
|
placeholder="请输入网格员姓名"> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="联系电话" |
|
|
|
prop="createdUser"> |
|
|
|
<el-input v-model="dataForm.mobile" |
|
|
|
size="small" |
|
|
|
clearable |
|
|
|
placeholder="请输入联系电话"> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="日志时间" |
|
|
|
prop="startTime"> |
|
|
|
<el-date-picker v-model="dataForm.startTime" |
|
|
|
type="date" |
|
|
|
size="small" |
|
|
|
:picker-options="pickerBeginDateBefore" |
|
|
|
value-format="yyyy-MM-dd" |
|
|
|
format="yyyy-MM-dd" |
|
|
|
placeholder="选择日期" |
|
|
|
style="width:200px"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="至" |
|
|
|
prop="endTime"> |
|
|
|
<el-date-picker v-model="dataForm.endTime" |
|
|
|
type="date" |
|
|
|
size="small" |
|
|
|
:picker-options="pickerBeginDateAfter" |
|
|
|
value-format="yyyy-MM-dd" |
|
|
|
format="yyyy-MM-dd" |
|
|
|
placeholder="选择日期" |
|
|
|
style="width:200px"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item> |
|
|
|
<el-button type="primary" |
|
|
|
size="small" |
|
|
|
class="diy-button--search" |
|
|
|
@click="getDataList()">{{ $t('query') }}</el-button> |
|
|
|
|
|
|
|
<el-button style="margin-left:10px" |
|
|
|
size="small" |
|
|
|
type="primary" |
|
|
|
class="diy-button--reset" |
|
|
|
@click="resetSearch">重置</el-button> |
|
|
|
</el-form-item> |
|
|
|
<!-- <el-button style="margin-left:10px" |
|
|
|
size="small" |
|
|
|
type="primary" |
|
|
|
class="diy-button--reset" |
|
|
|
@click="resetSearch">重置</el-button> --> |
|
|
|
<!-- <el-form-item>--> |
|
|
|
<!-- <el-button type="primary" size="small" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>--> |
|
|
|
<!-- </el-form-item>--> |
|
|
|
<!-- <el-form-item> |
|
|
|
<!-- <el-form-item>--> |
|
|
|
<!-- <el-button type="primary" size="small" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>--> |
|
|
|
<!-- </el-form-item>--> |
|
|
|
<!-- <el-form-item> |
|
|
|
<el-button size="small" style="margin-left:10px" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button> |
|
|
|
</el-form-item> --> |
|
|
|
</el-form> |
|
|
|
</el-form> |
|
|
|
</el-card> |
|
|
|
<el-card class="resi-card-table"> |
|
|
|
<div class="resi-row-btn"> |
|
|
|
<el-button |
|
|
|
class="diy-button--add" |
|
|
|
size="small" |
|
|
|
@click="addOrUpdateHandle()" |
|
|
|
>{{ $t('add') }}</el-button |
|
|
|
> |
|
|
|
<el-button @click="exportHandle()" class="diy-button--reset" size="small" |
|
|
|
>导出</el-button |
|
|
|
> |
|
|
|
<el-button size="small" type="danger" @click="deleteHandle()">批量删除</el-button> |
|
|
|
<el-button class="diy-button--add" |
|
|
|
size="small" |
|
|
|
@click="addOrUpdateHandle()">{{ $t('add') }}</el-button> |
|
|
|
<el-button @click="exportHandle()" |
|
|
|
class="diy-button--reset" |
|
|
|
size="small">导出</el-button> |
|
|
|
<el-button size="small" |
|
|
|
type="danger" |
|
|
|
@click="deleteHandle()">批量删除</el-button> |
|
|
|
</div> |
|
|
|
<el-table class="resi-table" v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%"> |
|
|
|
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column> |
|
|
|
<el-table-column prop="title" label="标题" header-align="center" align="center"></el-table-column> |
|
|
|
<el-table-column prop="logType" label="日志类型" :formatter="categoryCodeFormatter" header-align="center" align="center"></el-table-column> |
|
|
|
<el-table-column prop="logDate" label="日志时间" header-align="center" align="center"></el-table-column> |
|
|
|
<el-table-column prop="createdUser" label="网格员" header-align="center" align="center"></el-table-column> |
|
|
|
<el-table-column prop="mobile" label="联系电话" header-align="center" align="center"></el-table-column> |
|
|
|
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)"> {{ userId == scope.row.createdBy ? $t('update') : '查看' }}</el-button> |
|
|
|
<el-button type="text" v-if="userId == scope.row.createdBy" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
<el-pagination |
|
|
|
:current-page="page" |
|
|
|
:page-sizes="[10, 20, 50, 100]" |
|
|
|
:page-size="limit" |
|
|
|
:total="total" |
|
|
|
layout="total, sizes, prev, pager, next, jumper" |
|
|
|
@size-change="pageSizeChangeHandle" |
|
|
|
@current-change="pageCurrentChangeHandle"> |
|
|
|
</el-pagination> |
|
|
|
<el-table class="resi-table" |
|
|
|
v-loading="dataListLoading" |
|
|
|
:data="dataList" |
|
|
|
border |
|
|
|
@selection-change="dataListSelectionChangeHandle" |
|
|
|
style="width: 100%"> |
|
|
|
<el-table-column type="selection" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
width="50"></el-table-column> |
|
|
|
<el-table-column prop="title" |
|
|
|
label="标题" |
|
|
|
header-align="center" |
|
|
|
align="center"></el-table-column> |
|
|
|
<el-table-column prop="logType" |
|
|
|
label="日志类型" |
|
|
|
:formatter="categoryCodeFormatter" |
|
|
|
header-align="center" |
|
|
|
align="center"></el-table-column> |
|
|
|
<el-table-column prop="logDate" |
|
|
|
label="日志时间" |
|
|
|
header-align="center" |
|
|
|
align="center"></el-table-column> |
|
|
|
<el-table-column prop="createdUser" |
|
|
|
label="网格员" |
|
|
|
header-align="center" |
|
|
|
align="center"></el-table-column> |
|
|
|
<el-table-column prop="mobile" |
|
|
|
label="联系电话" |
|
|
|
header-align="center" |
|
|
|
align="center"></el-table-column> |
|
|
|
<el-table-column :label="$t('handle')" |
|
|
|
fixed="right" |
|
|
|
header-align="center" |
|
|
|
align="center" |
|
|
|
width="150"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-button type="text" |
|
|
|
size="small" |
|
|
|
@click="addOrUpdateHandle(scope.row.id)"> {{ userId == scope.row.createdBy ? $t('update') : '查看' }}</el-button> |
|
|
|
<el-button type="text" |
|
|
|
v-if="userId == scope.row.createdBy" |
|
|
|
size="small" |
|
|
|
@click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
<el-pagination :current-page="page" |
|
|
|
:page-sizes="[10, 20, 50, 100]" |
|
|
|
:page-size="limit" |
|
|
|
:total="total" |
|
|
|
layout="total, sizes, prev, pager, next, jumper" |
|
|
|
@size-change="pageSizeChangeHandle" |
|
|
|
@current-change="pageCurrentChangeHandle"> |
|
|
|
</el-pagination> |
|
|
|
</el-card> |
|
|
|
<!-- 弹窗, 新增 / 修改 --> |
|
|
|
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update> |
|
|
|
<add-or-update v-if="addOrUpdateVisible" |
|
|
|
ref="addOrUpdate" |
|
|
|
@refreshDataList="getDataList"></add-or-update> |
|
|
|
</div> |
|
|
|
</el-card> |
|
|
|
</template> |
|
|
@ -145,10 +191,10 @@ export default { |
|
|
|
exportURL: '/gov/org/icWorkLog/export' |
|
|
|
}, |
|
|
|
userId: this.$store.state.user.id, |
|
|
|
agencyIdArray:[], |
|
|
|
agencyIdArray: [], |
|
|
|
orgOptions: [], |
|
|
|
logTypeArr: [], |
|
|
|
orgOptionProps:{ |
|
|
|
orgOptionProps: { |
|
|
|
multiple: false, |
|
|
|
value: 'agencyId', |
|
|
|
label: 'agencyName', |
|
|
@ -168,22 +214,22 @@ export default { |
|
|
|
this.getCategrayList() |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
getGridList() { |
|
|
|
getGridList () { |
|
|
|
const { user } = this.$store.state |
|
|
|
this.$http |
|
|
|
.post('/gov/org/customeragency/agencygridtree', {}) |
|
|
|
.then(({ data: res }) => { |
|
|
|
if (res.code !== 0) { |
|
|
|
return this.$message.error(res.msg) |
|
|
|
} else { |
|
|
|
console.log('获取组织树成功', res.data) |
|
|
|
this.orgOptions=[] |
|
|
|
this.orgOptions .push( res.data) |
|
|
|
} |
|
|
|
}) |
|
|
|
.catch(() => { |
|
|
|
return this.$message.error('网络错误') |
|
|
|
}) |
|
|
|
.post('/gov/org/customeragency/agencygridtree', {}) |
|
|
|
.then(({ data: res }) => { |
|
|
|
if (res.code !== 0) { |
|
|
|
return this.$message.error(res.msg) |
|
|
|
} else { |
|
|
|
console.log('获取组织树成功', res.data) |
|
|
|
this.orgOptions = [] |
|
|
|
this.orgOptions.push(res.data) |
|
|
|
} |
|
|
|
}) |
|
|
|
.catch(() => { |
|
|
|
return this.$message.error('网络错误') |
|
|
|
}) |
|
|
|
}, |
|
|
|
exportHandle () { |
|
|
|
const url = this.mixinViewModuleOptions.exportURL |
|
|
@ -254,20 +300,20 @@ export default { |
|
|
|
}) |
|
|
|
return ca |
|
|
|
}, |
|
|
|
handleChangeAgency(val) { |
|
|
|
handleChangeAgency (val) { |
|
|
|
let obj = this.$refs["myCascader"].getCheckedNodes()[0].data |
|
|
|
|
|
|
|
if (obj) { |
|
|
|
if(obj.level === 'grid'){ |
|
|
|
this.dataForm.gridId = this.agencyIdArray.length > 0 ? this.agencyIdArray[this.agencyIdArray.length - 1] : ''; |
|
|
|
this.dataForm.agencyId='' |
|
|
|
}else{ |
|
|
|
if (obj.level === 'grid') { |
|
|
|
this.dataForm.gridId = this.agencyIdArray.length > 0 ? this.agencyIdArray[this.agencyIdArray.length - 1] : ''; |
|
|
|
this.dataForm.agencyId = '' |
|
|
|
} else { |
|
|
|
this.dataForm.agencyId = this.agencyIdArray.length > 0 ? this.agencyIdArray[this.agencyIdArray.length - 1] : ''; |
|
|
|
this.dataForm.gridId = '' |
|
|
|
} |
|
|
|
|
|
|
|
}else{ |
|
|
|
this.dataForm.agencyId='' |
|
|
|
} else { |
|
|
|
this.dataForm.agencyId = '' |
|
|
|
this.dataForm.gridId = '' |
|
|
|
} |
|
|
|
}, |
|
|
@ -291,72 +337,71 @@ export default { |
|
|
|
} |
|
|
|
</script> |
|
|
|
<style lang="scss" scoped> |
|
|
|
@import "@/assets/scss/buttonstyle.scss"; |
|
|
|
@import "@/assets/scss/buttonstyle.scss"; |
|
|
|
|
|
|
|
.resi-container .resi-card-table { |
|
|
|
::v-deep .el-table th { |
|
|
|
color: #fff; |
|
|
|
background-color: rgba(33, 149, 254, 1); |
|
|
|
// border-right: 1px solid rgba(33, 149, 254, 1); |
|
|
|
} |
|
|
|
.resi-container .resi-card-table { |
|
|
|
::v-deep .el-table th { |
|
|
|
color: #fff; |
|
|
|
background-color: rgba(33, 149, 254, 1); |
|
|
|
// border-right: 1px solid rgba(33, 149, 254, 1); |
|
|
|
} |
|
|
|
.resi-table { |
|
|
|
::v-deep .el-button--text { |
|
|
|
text-decoration: underline; |
|
|
|
} |
|
|
|
::v-deep .btn-color-del { |
|
|
|
margin-left: 10px; |
|
|
|
color: rgba(213, 16, 16, 1); |
|
|
|
} |
|
|
|
::v-deep .btn-color-edit { |
|
|
|
color: rgba(0, 167, 169, 1); |
|
|
|
} |
|
|
|
} |
|
|
|
.resi-table { |
|
|
|
::v-deep .el-button--text { |
|
|
|
text-decoration: underline; |
|
|
|
} |
|
|
|
|
|
|
|
.resi-row-btn { |
|
|
|
margin-bottom: 13px; |
|
|
|
.upload-btn { |
|
|
|
display: inline-block; |
|
|
|
margin: 0 10px; |
|
|
|
} |
|
|
|
::v-deep .btn-color-del { |
|
|
|
margin-left: 10px; |
|
|
|
color: rgba(213, 16, 16, 1); |
|
|
|
} |
|
|
|
::v-deep .btn-color-edit { |
|
|
|
color: rgba(0, 167, 169, 1); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.form-wr { |
|
|
|
.input-width { |
|
|
|
width: 260px; |
|
|
|
.resi-row-btn { |
|
|
|
margin-bottom: 13px; |
|
|
|
.upload-btn { |
|
|
|
display: inline-block; |
|
|
|
margin: 0 10px; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
.input-width-textarea { |
|
|
|
width: 500px; |
|
|
|
} |
|
|
|
.imsg-list { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
.imgs-item { |
|
|
|
position: relative; |
|
|
|
margin-right: 10px; |
|
|
|
.el-icon-delete { |
|
|
|
position: absolute; |
|
|
|
top: 0; |
|
|
|
right: 0; |
|
|
|
font-size: 18px; |
|
|
|
color: red; |
|
|
|
z-index: 3; |
|
|
|
cursor: pointer; |
|
|
|
} |
|
|
|
.form-wr { |
|
|
|
.input-width { |
|
|
|
width: 260px; |
|
|
|
} |
|
|
|
.input-width-textarea { |
|
|
|
width: 500px; |
|
|
|
} |
|
|
|
.imsg-list { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
.imgs-item { |
|
|
|
position: relative; |
|
|
|
margin-right: 10px; |
|
|
|
.el-icon-delete { |
|
|
|
position: absolute; |
|
|
|
top: 0; |
|
|
|
right: 0; |
|
|
|
font-size: 18px; |
|
|
|
color: red; |
|
|
|
z-index: 3; |
|
|
|
cursor: pointer; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
.div-content { |
|
|
|
width: 100%; |
|
|
|
overflow: hidden; |
|
|
|
text-overflow: ellipsis; |
|
|
|
white-space: nowrap; |
|
|
|
} |
|
|
|
} |
|
|
|
.div-content { |
|
|
|
width: 100%; |
|
|
|
overflow: hidden; |
|
|
|
text-overflow: ellipsis; |
|
|
|
white-space: nowrap; |
|
|
|
} |
|
|
|
</style> |
|
|
|
|
|
|
|
<style> |
|
|
|
.el-table .warning-row { |
|
|
|
background: #ffe168; |
|
|
|
} |
|
|
|
.el-table .warning-row { |
|
|
|
background: #ffe168; |
|
|
|
} |
|
|
|
</style> |
|
|
|