Browse Source

增加字段12345

release/epdc
lichao 1 year ago
parent
commit
467b6fdb07
  1. 423
      src/views/modules/events/mayor-hot-line-again.vue
  2. 16
      src/views/modules/events/mayor-hot-line.vue

423
src/views/modules/events/mayor-hot-line-again.vue

@ -0,0 +1,423 @@
<template>
<el-card shadow="never" class="aui-card--fill">
<div class="mod-item__item}">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataListSearch()">
<el-form-item label="诉求标题" prop="itemCode"label-width="100px">
<el-input v-model="dataForm.itemTitle" placeholder="请输入诉求标题" clearable @keyup.native="btKeyUpItemContent" style="width:250px;"></el-input>
</el-form-item>
<el-form-item label="诉求编码" prop="itemCode"label-width="100px">
<el-input v-model="dataForm.code" placeholder="请输入诉求编码" clearable @keyup.native="btKeyUpItemContent" style="width:250px;"></el-input>
</el-form-item>
<el-form-item>
<el-button type="success" @click="getDataListSearch()" class="custom-button-default">{{ $t('query') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border style="width: 100%;">
<el-table-column label="序号" type="index" show-overflow-tooltip align="center"
width="50"></el-table-column>
<el-table-column label="是否街道回退" header-align="center" width="100" align="center" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.backItemFlag === '1' ? '是' : '否' }}
</template>
</el-table-column>
<el-table-column prop="backItemResult" label="回退理由" header-align="center" width="180"
align="center"></el-table-column>
<el-table-column prop="orgName" label="所属机构" header-align="center" width="120" align="center"
show-overflow-tooltip>
</el-table-column>
<el-table-column prop="sqbt" label="诉求标题" header-align="center" min-width="100"
align="center"></el-table-column>
<el-table-column prop="dlwzmc" label="地理位置" header-align="center" width="180"
align="center"></el-table-column>
<el-table-column prop="djsj" label="登记时间" header-align="center" width="180"
align="center"></el-table-column>
<el-table-column prop="djrxm" label="登记人姓名" header-align="center" width="130" align="center"
show-overflow-tooltip></el-table-column>
<el-table-column prop="lxfs" label="联系方式" header-align="center" width="180"
align="center"></el-table-column>
<el-table-column prop="option" label="市里驳回区里的重办原因" header-align="center" width="180"
align="center"></el-table-column>
<el-table-column label="重办类型" header-align="center" width="100" align="center" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.type === '0' ? '办理' : scope.row.type === '2' ? '退办' : scope.row.type === '4' ? '重办' : '' }}
</template>
</el-table-column>
<el-table-column label="所属专题" header-align="center" width="100" align="center" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.sszt === '01' ? '民生诉求' : scope.row.sszt === '02' ? '发展诉求' : '执法诉求' }}
</template>
</el-table-column>
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center">
<template slot-scope="scope">
<el-button type="text" size="small" class="custom-table-button-default"
@click="dialogVisible = true, selfObj = scope.row">
{{ scope.row.sszt === '01' || agencyFlag == 'district' ? '分发' : '上报网格化平台' }}
</el-button>
<el-button type="text" size="small" class="custom-table-button-default"
@click="dialogVisibleForBoHui = true, selfObjBoHui = scope.row">
{{ $store.state.user.deptId === '1175270520603930625' || $store.state.user.deptId === '0' ? '驳回' : '回退' }}
</el-button>
<!-- <el-button type="text" size="small" class="custom-table-button-default"
@click="dialogVisibleForHuiTui = true, selfObjBoHui = scope.row">
{{ '回退' }}
</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-dialog :title=" '理由'" v-if="dialogVisibleForBoHui"
:visible.sync="dialogVisibleForBoHui" width="50%">
<el-form ref="postDataForm_fk"
label-width="120px"
label-position="right"
style="width: 620px;"
:model="dataForm"
:rules="dataRule">
<el-form-item label="理由详情:" prop="content">
<el-input v-model="selfObjBoHui.content"
type="textarea"
:rows="6"
maxlength="1000"
show-word-limit
placeholder="请输入"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisibleForBoHui = false, selfObjBoHui.content = ''"> </el-button>
<el-button type="primary" @click="handleClickForBoHui"> </el-button>
</span>
</el-dialog>
<el-dialog :title=" '回退'" v-if="dialogVisibleForHuiTui"
:visible.sync="dialogVisibleForHuiTui" width="50%">
<el-form ref="postDataForm_fk"
label-width="120px"
label-position="right"
style="width: 620px;"
:model="dataForm"
:rules="dataRule">
<el-form-item label="回退理由:" prop="huituicontent">
<el-input v-model="selfObjBoHui.huituicontent"
type="textarea"
:rows="6"
maxlength="1000"
show-word-limit
placeholder="请输入"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisibleForHuiTui = false,selfObjBoHui.huituicontent = ''"> </el-button>
<el-button type="primary" @click="handleClickForHuiTui"> </el-button>
</span>
</el-dialog>
<el-dialog :title="selfObj.sszt === '01' ? '分发' : '上报网格化平台'" v-if="dialogVisible"
:visible.sync="dialogVisible" width="50%">
<el-form :label-width="$i18n.locale === 'en-US' ? '100px' : '80px'">
<el-form-item label="所属机构:">
<div>{{ selfObj.orgName }}</div>
</el-form-item>
<el-form-item label="诉求标题:">
<div>{{ selfObj.sqbt }}</div>
</el-form-item>
<el-form-item label="诉求内容:">
<div>{{ selfObj.sjnr }}</div>
</el-form-item>
<el-form-item label="所属专题:">
{{ selfObj.sszt === '01' ? '民生诉求' : selfObj.sszt === '02' ? '发展诉求' : '执法诉求' }}
</el-form-item>
</el-form>
<el-form :inline="true" :model="dataForm" :rules="dataRule"
:label-width="$i18n.locale === 'en-US' ? '100px' : '82px'" ref="dataForm"
v-if="selfObj.sszt === '01' && agencyFlag != 'district'">
<el-form-item label="所属机构:" prop="ids">
<el-cascader v-model="dataForm.ids" :options="options" clearable style="width:250px;"
@change="handelChangeCascader" :show-all-levels="false" ref="cascader" size="small">
</el-cascader>
</el-form-item>
</el-form>
<el-form :inline="true" :model="dataForm" :rules="dataRule"
:label-width="$i18n.locale === 'en-US' ? '100px' : '82px'" ref="dataForm"
v-if="agencyFlag == 'district'">
<el-form-item label="所属机构:" prop="ids">
<el-select v-model="dataForm.ids" clearable>
<el-option v-for="item in streetList" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false, dataForm.ids = null"> </el-button>
<el-button type="primary" @click="handleClickSave"> </el-button>
</span>
</el-dialog>
</div>
</el-card>
</template>
<script>
import mixinViewModule from '@/mixins/view-module'
import debounce from 'lodash/debounce';
export default {
mixins: [mixinViewModule],
name: 'MayorHotLine',
data() {
return {
mixinViewModuleOptions: {
getDataListURL: '/events/item/getHotLineFromList',
getDataListIsPage: true,
},
options: [],
dialogVisible: false,
dialogVisibleForBoHui: false,
dialogVisibleForHuiTui: false,
dataRule: {
ids: [{ required: true, message: this.$t('validate.required'), trigger: 'blur' }],
content: [{ required: true, message: this.$t('validate.required'), trigger: 'blur' }],
huituicontent: [{ required: true, message: this.$t('validate.required'), trigger: 'blur' }],
},
selfObj: {},
selfObjBoHui: {},
dataForm: {
ids: [],
content:'',
huituicontent:''
},
gridName: null,
streetList: [],
agencyFlag: null
}
},
components: {},
watch: {
},
created: function () {
this.getOptions()
},
methods: {
getDataListSearch () {
this.page = 1
this.getDataList()
}, getDataList () {
this.dataListLoading = true
this.$http.get(
this.mixinViewModuleOptions.getDataListURL,
{
params: {
cbFlag:'1',
order: this.order,
orderField: this.orderField,
page: this.mixinViewModuleOptions.getDataListIsPage ? this.page : null,
limit: this.mixinViewModuleOptions.getDataListIsPage ? this.limit : null,
...this.dataForm
}
}
).then(({ data: res }) => {
this.dataListLoading = false
if (res.code !== 0) {
this.dataList = []
this.total = 0
return this.$message.error(res.msg)
}
this.dataList = this.mixinViewModuleOptions.getDataListIsPage ? res.data.list : res.data
this.total = this.mixinViewModuleOptions.getDataListIsPage ? res.data.total : 0
}).catch(() => {
this.dataListLoading = false
})
},
getOptions() {
this.$http
.get(`/sys/user/deptOptions/getByLoginUser`)
.then((res) => {
if (res.data.code !== 0) {
return this.$message.error(res.msg)
}
this.options = res.data.data.options;
if (this.$store.state.user.deptId === '1175270520603930625' || this.$store.state.user.deptId === '0') {
this.streetList = res.data.data.options.map(item => { return { label: item.label, value: item.value } })
this.agencyFlag = 'district'
}
})
.catch((err) => {
})
},
handelChangeCascader() {
this.gridName = this.$refs['cascader'].getCheckedNodes()[0].data.label;
},
//
handleClickSave: debounce(
function () {
if (this.selfObj.sszt === '01' || this.agencyFlag === 'district') {
this.$refs['dataForm'].validate(valid => {
if (!valid) {
return false;
}
let url = this.selfObj.sszt === '01' ? '/events/item/changeHotLineToMSItem' : '/events/item/changeHotlineToStreet'
let parm = {
id: this.selfObj.id
}
if (this.selfObj.sszt === '01') {
parm.gridId = this.dataForm.ids[this.dataForm.ids.length - 1]
parm.gridName = this.gridName;
}
if (this.agencyFlag === 'district') {
url = '/events/item/changeHotlineToStreet'
parm.streetId = this.dataForm.ids;
delete parm.gridId
}
console.log(parm, url, 'see');
this.$http
.post(url, parm)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
}
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.dialogVisible = false;
}
});
this.getDataList();
})
.catch(() => { });
});
} else {
let url = this.selfObj.sszt === '02' ? '/events/item/changeHotLineToFZItem' : '/events/item/changeHotLineToZFItem'
let parm = {
id: this.selfObj.id
}
console.log(parm, url, 'see');
this.$http
.post(url, parm)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
}
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.dialogVisible = false;
}
});
this.getDataList();
})
.catch(() => { });
}
},
1000,
{ leading: true, trailing: false }
),
handleClickForBoHui: debounce(
function () {
let url = ''
if (this.$store.state.user.deptId === '1175270520603930625' || this.$store.state.user.deptId === '0') {
url = '/events/itemhotline/backHotLine'
}else{
url = '/events/itemhotline/goBackCity'
}
let parm = {
id:this.selfObjBoHui.id,
cznr: this.selfObjBoHui.content
}
console.log(parm, url, 'see');
this.$http
.post(url, parm)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
}
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.dialogVisibleForBoHui = false;
}
});
this.getDataList();
})
.catch(() => { });
},
1000,
{ leading: true, trailing: false }
),
handleClickForHuiTui: debounce(
function () {
let url = '/events/item/backItem'
let parm = {
id:this.selfObjBoHui.id,
backItemResult: this.selfObjBoHui.huituicontent
}
// console.log(parm, url, 'see');
this.$http
.post(url, parm)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
}
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.dialogVisibleForHuiTui = false;
}
});
this.getDataList();
})
.catch(() => { });
},
1000,
{ leading: true, trailing: false }
)
}
}
</script>
<style lang="scss" scoped>
/deep/ .el-form {
padding: 0 10px;
box-sizing: border-box
}
</style>

16
src/views/modules/events/mayor-hot-line.vue

@ -59,7 +59,7 @@
</el-button>
<el-button type="text" size="small" class="custom-table-button-default"
@click="dialogVisibleForBoHui = true, selfObjBoHui = scope.row">
{{ '驳回' }}
{{ $store.state.user.deptId === '1175270520603930625' || $store.state.user.deptId === '0' ? '驳回' : '回退' }}
</el-button>
<!-- <el-button type="text" size="small" class="custom-table-button-default"
@click="dialogVisibleForHuiTui = true, selfObjBoHui = scope.row">
@ -75,7 +75,7 @@
</el-pagination>
<el-dialog :title=" '驳回'" v-if="dialogVisibleForBoHui"
<el-dialog :title=" '理由'" v-if="dialogVisibleForBoHui"
:visible.sync="dialogVisibleForBoHui" width="50%">
<el-form ref="postDataForm_fk"
@ -84,7 +84,7 @@
style="width: 620px;"
:model="dataForm"
:rules="dataRule">
<el-form-item label="驳回理由:" prop="content">
<el-form-item label="理由详情:" prop="content">
<el-input v-model="selfObjBoHui.content"
type="textarea"
:rows="6"
@ -305,10 +305,16 @@ export default {
),
handleClickForBoHui: debounce(
function () {
let url = '/events/itemhotline/backHotLine'
let url = ''
if (this.$store.state.user.deptId === '1175270520603930625' || this.$store.state.user.deptId === '0') {
url = '/events/itemhotline/backHotLine'
}else{
url = '/events/itemhotline/goBackCity'
}
let parm = {
id:this.selfObjBoHui.id,
cznr: this.selfObjBoHui.content
cznr: this.selfObjBoHui.content,
backItemResult:this.selfObjBoHui.content
}
console.log(parm, url, 'see');
this.$http

Loading…
Cancel
Save