Browse Source

Merge commit 'fd282503eae38683bd725475bb89887349b0b4f5' into feature

feature
duanliangtao 1 year ago
parent
commit
640921e3b7
  1. 60
      src/views/modules/shequzhili/eventOld/cpts/add.vue
  2. 101
      src/views/modules/shequzhili/eventOld/eventList.vue

60
src/views/modules/shequzhili/eventOld/cpts/add.vue

@ -13,7 +13,30 @@
@change="handleChangeAgency" clearable></el-cascader> @change="handleChangeAgency" clearable></el-cascader>
</el-form-item> </el-form-item>
<el-form-item label="上报人" prop="name" label-width="150px" style="display: block"> <el-form-item label="诉求类型" prop="demandType" label-width="150px" style="display: block">
<el-radio-group v-model.trim="formData.demandType" @change="handleDemandTypeChange">
<el-radio label="report">事件上报</el-radio>
<el-radio label="chengguan">城管事件</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-if="formData.demandType === 'chengguan'" label="有无责任单位" prop="responsibleUnit" label-width="150px" style="display: block">
<el-radio-group v-model.trim="formData.responsibleUnit">
<el-radio label="yes"></el-radio>
<el-radio label="no"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-if="formData.demandType === 'chengguan' && formData.responsibleUnit === 'yes'" label="责任人" prop="responsibleName" label-width="150px" style="display: block">
<el-input class="cell-width-1" maxlength="10" placeholder="请输入责任人姓名" v-model.trim="formData.responsibleName">
</el-input>
</el-form-item>
<el-form-item v-if="formData.demandType === 'chengguan' && formData.responsibleUnit === 'yes'" label="联系电话" prop="responsibleMobile" label-width="150px" style="display: block">
<el-input class="cell-width-1" maxlength="30" placeholder="请输入责任人电话" v-model.trim="formData.responsibleMobile">
</el-input>
</el-form-item>
<el-form-item v-if="formData.demandType === 'report'" label="上报人" prop="name" label-width="150px" style="display: block">
<el-input class="cell-width-1" maxlength="10" placeholder="请输入上报人姓名" v-model.trim="formData.name"> <el-input class="cell-width-1" maxlength="10" placeholder="请输入上报人姓名" v-model.trim="formData.name">
</el-input> </el-input>
<div> <div>
@ -21,7 +44,7 @@
@click="handleShowPersonList">居民信息中选择</el-button> @click="handleShowPersonList">居民信息中选择</el-button>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="联系电话" prop="mobile" label-width="150px" style="display: block"> <el-form-item v-if="formData.demandType === 'report'" label="联系电话" prop="mobile" label-width="150px" style="display: block">
<el-input class="cell-width-1" maxlength="30" placeholder="请输入联系电话 " v-model.trim="formData.mobile"> <el-input class="cell-width-1" maxlength="30" placeholder="请输入联系电话 " v-model.trim="formData.mobile">
</el-input> </el-input>
</el-form-item> </el-form-item>
@ -132,6 +155,7 @@ var geocoder; // 新建一个正逆地址解析类
function iniFmData() { function iniFmData() {
return { return {
demandType:"report",//
gridId: "", // gridId: "", //
reportUserId: "", // ID reportUserId: "", // ID
name: "", // name: "", //
@ -148,6 +172,7 @@ function iniFmData() {
// operationType: '0',// // operationType: '0',//
// content: '',// // content: '',//
// status: '',// processingclosed_case // status: '',// processingclosed_case
responsibleUnit:"yes",
}; };
} }
@ -233,13 +258,25 @@ export default {
components: {}, components: {},
computed: { computed: {
dataRule() { dataRule() {
const isReport = this.formData.demandType === "report";
const isChengguan = this.formData.responsibleUnit === "yes";
return { return {
gridId: [ gridId: [
{ required: true, message: "所属网格不能为空", trigger: "blur" }, { required: true, message: "所属网格不能为空", trigger: "blur" },
], ],
name: [{ required: true, message: "上报人不能为空", trigger: "change" }], demandType: [
{ required: true, message: "诉求类型不能为空", trigger: "blur" },
],
responsibleUnit: [
{ required: true, message: "有无责任单位不能为空", trigger: "blur" },
],
name: [{ required: isReport, message: "上报人不能为空", trigger: "change" }],
mobile: [ mobile: [
{ required: true, message: "联系电话不能为空", trigger: "blur" }, { required: isReport, message: "联系电话不能为空", trigger: "blur" },
],
responsibleName: [{ required: isChengguan, message: "责任人不能为空", trigger: "change" }],
responsibleMobile: [
{ required: isChengguan, message: "联系电话不能为空", trigger: "blur" },
], ],
// idCard: [ // idCard: [
// { required: true, message: "", trigger: "blur" }, // { required: true, message: "", trigger: "blur" },
@ -311,6 +348,10 @@ export default {
); );
this.obj.level = this.sarr[this.sarr.length - 1].level this.obj.level = this.sarr[this.sarr.length - 1].level
}, },
handleDemandTypeChange() {
this.$refs.ref_form1.clearValidate(); //
this.formData.demandType = this.formData.demandType; //
},
getLastItem(list, vals, key) { getLastItem(list, vals, key) {
let LIST = list || []; let LIST = list || [];
for (let item of LIST) { for (let item of LIST) {
@ -440,13 +481,22 @@ export default {
app.util.validateRule(messageObj); app.util.validateRule(messageObj);
return false; return false;
} else { } else {
if (!formVltHelper.userOrMobile(this.formData.mobile)) { if (this.formData.demandType === "report" && !formVltHelper.userOrMobile(this.formData.mobile)) {
this.$message({ this.$message({
type: "error", type: "error",
message: "联系电话格式有误", message: "联系电话格式有误",
}); });
return false; return false;
} }
if (this.formData.demandType === "chengguan" && this.formData.responsibleUnit === "yes" && !formVltHelper.userOrMobile(this.formData.responsibleMobile)) {
this.$message({
type: "error",
message: "责任人电话格式有误",
});
return false;
}
const regCard = /(^\d{15}$)|(^\d{17}(\d|X)$)/; //1518151817X const regCard = /(^\d{15}$)|(^\d{17}(\d|X)$)/; //1518151817X
if ( if (
this.formData.idCard && this.formData.idCard &&

101
src/views/modules/shequzhili/eventOld/eventList.vue

@ -87,6 +87,15 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="处理时长" prop="type">
<el-select class="u-item-width-normal" v-model.trim="formData.overPeriod" placeholder="全部" size="small"
clearable>
<el-option v-for="item in overPeriodArray" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-row> <el-row>
<el-col :span="24" align="right"> <el-col :span="24" align="right">
<el-button style="margin-left: 30px" size="small" type="primary " <el-button style="margin-left: 30px" size="small" type="primary "
@ -116,10 +125,11 @@
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
<el-button @click="handleCancalDiffcult" class="diy-button--white" size="small">取消标记</el-button> <el-button @click="handleCancalDiffcult" class="diy-button--white" size="small">取消标记</el-button>
<el-button @click="handleSuperviseEvent" class="diy-button--white" size="small">督办催办</el-button>
</div> </div>
<el-table :data="tableData" border class="m-table-item" style="width: 100%" <el-table :data="tableData" border class="m-table-item" style="width: 100%"
@selection-change="handleSelectionChange" :height="maxTableHeight"> @selection-change="handleSelectionChange" :height="maxTableHeight" :row-class-name="tableRowClassName">
<el-table-column label="" fixed="left" type="selection" align="center" width="50" /> <el-table-column label="" fixed="left" type="selection" align="center" width="50" />
<el-table-column label="序号" fixed="left" type="index" align="center" width="50" /> <el-table-column label="序号" fixed="left" type="index" align="center" width="50" />
@ -160,6 +170,12 @@
<el-table-column prop="address" align="center" :show-overflow-tooltip="true" label="地址"> <el-table-column prop="address" align="center" :show-overflow-tooltip="true" label="地址">
</el-table-column> </el-table-column>
<el-table-column prop="responsibleName" align="center" width="100" label="责任人" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="responsibleMobile" align="center" width="110" label="责任人电话" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column prop="name" align="center" width="100" label="上报人" :show-overflow-tooltip="true"> <el-table-column prop="name" align="center" width="100" label="上报人" :show-overflow-tooltip="true">
</el-table-column> </el-table-column>
@ -252,6 +268,19 @@
<el-button size="small" @click="showVoice = false">取消</el-button> <el-button size="small" @click="showVoice = false">取消</el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog :title="'督办催办'" :visible.sync="showSupervise" width="40%" top="5vh" append-to-body class="dialog-h"
:close-on-click-modal="false">
<el-form :model="superviseFrom" ref="superviseFrom">
<el-form-item label="催办说明" prop="content">
<el-input v-model.trim="superviseFrom.content" class="cell-width-2" type="textarea" maxlength="500" show-word-limit :rows="5" placeholder="请填写催办说明,不超过500字"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="showSupervise = false"> </el-button>
<el-button type="primary" @click="doSuperviseEvent"> </el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
@ -357,6 +386,21 @@ export default {
}, },
], ],
overPeriodArray: [
{
value: "0",
label: "2天以下",
},
{
value: "1",
label: "3-4天",
},
{
value: "2",
label: "4天以上",
},
],
qudaoArray: [ qudaoArray: [
{ {
value: "0", value: "0",
@ -424,9 +468,14 @@ export default {
eventDetailData: {}, eventDetailData: {},
showVoice: false, showVoice: false,
showSupervise: false,
selVoiceUrl: "", selVoiceUrl: "",
multipleSelection: [], multipleSelection: [],
superviseFrom:{
content: "",
},
}; };
}, },
computed: { computed: {
@ -477,6 +526,19 @@ export default {
}); });
}, },
tableRowClassName({ row }) {
switch (row.overPeriod) {
case '0':
return 'row-over-period-0';
case '1':
return 'row-over-period-1';
case '2':
return 'row-over-period-2';
default:
return 'row-default';
}
},
// //
handleLook(row) { handleLook(row) {
let { name,reportUserId } = row let { name,reportUserId } = row
@ -527,6 +589,28 @@ export default {
this.$message.error(msg); this.$message.error(msg);
} }
}, },
async handleSuperviseEvent(){
this.showSupervise = true;
},
async doSuperviseEvent() {
const url = "/governance/icEventOld/doSuperviseEvent";
if (this.multipleSelection.length == 0) {
this.$message.warning('请选择督办催办的事件')
return
}
let params = {
icEventIdList: this.multipleSelection,
content: this.superviseFrom.content,
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.$message.success("督办催办成功");
this.getTableData();
} else {
this.$message.error(msg);
}
},
handleSearch(val) { handleSearch(val) {
this.pageNo = 1; this.pageNo = 1;
@ -893,3 +977,18 @@ export default {
color: #fff; color: #fff;
} }
</style> </style>
<style>
.row-over-period-0 {
background-color: #ffffe0 !important; /* 淡黄色 */
}
.row-over-period-1 {
background-color: #ffebcd !important; /* 淡橙色 */
}
.row-over-period-2 {
background-color: #ffc0cb !important; /* 淡红色 */
}
.row-default {
background-color: #e0ffe0 !important; /* 淡绿色 */
}
</style>

Loading…
Cancel
Save