议事投票情况页面联调

main
wanglei 2 years ago
parent 34366bd711
commit 419ab32511

@ -263,7 +263,7 @@ import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
name: "Carinfo",
components: { Treeselect },
dicts: ['szxc_cartype'],
dicts: ['szxc_cartype', 'sys_user_sex'],
data() {
return {
//

@ -92,14 +92,14 @@
<el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange" border>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="ID" align="center" prop="id" />
<el-table-column label="标题" align="center" prop="title" />
<el-table-column label="所属网格" align="center" prop="deptName" />
<el-table-column label="标题" align="center" prop="title" min-width="180" show-overflow-tooltip/>
<el-table-column label="所属网格" align="center" prop="deptName" min-width="120" show-overflow-tooltip/>
<el-table-column label="活动状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.szxc_hd_status" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="渠道" align="center" prop="channel" />
<el-table-column label="渠道" align="center" prop="channel" min-width="120" show-overflow-tooltip/>
<el-table-column label="开始时间" align="center" prop="startDate">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.startDate, '{y}-{m}-{d}') }}</span>
@ -115,23 +115,16 @@
<image-preview :src="scope.row.picture" :width="50" :height="50"/>
</template>
</el-table-column>
<el-table-column label="议事描述" align="center" prop="content" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column label="议事描述" align="center" prop="content" min-width="180" show-overflow-tooltip/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="220">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['szxc:yscentre:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['szxc:yscentre:remove']"
>删除</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['szxc:yscentre:edit']" >修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['szxc:yscentre:remove']">删除</el-button>
<el-button size="mini" type="text" icon="el-icon-document-copy" @click="handleDetails(scope.row)"></el-button>
</template>
</el-table-column>
</el-table>
@ -200,11 +193,140 @@
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<el-dialog title="议事投票" :visible.sync="voter.visible" width="1000px" append-to-body>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="voterAdd"
v-hasPermi="['szxc:bankinfo:add']"
>添加</el-button>
</el-col>
</el-row>
<el-table v-loading="voter.loading" :data="voter.list" border>
<el-table-column label="ID" align="center" prop="id" width="80"/>
<el-table-column label="投票人" align="center" prop="voteName" />
<el-table-column label="身份证号" align="center" prop="cardId" />
<el-table-column label="议事结果" align="center" prop="vote" >
<template slot-scope="scope">
<dict-tag :options="dict.type.szxc_discuss_result" :value="scope.row.vote"/>
</template>
</el-table-column>
<el-table-column label="意见建议" align="center" prop="opinion" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="120px">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="voterUpdate(scope.row)"
v-hasPermi="['szxc:bankinfo:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="voterDelete(scope.row)"
v-hasPermi="['szxc:bankinfo:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
</el-dialog>
<!-- 添加或修改议事投票对话框 -->
<el-dialog title="添加议事投票" :visible.sync="voter.open" width="500px" append-to-body>
<el-form ref="voterForm" :model="voter.form" :rules="voter.rules" label-width="90px">
<el-form-item label="投票人" prop="voteName">
<el-input readonly
placeholder="请选择投票人"
v-model="voter.form.voteName">
<el-button slot="append" icon="el-icon-search" @click="voteNameSelect"></el-button>
</el-input>
</el-form-item>
<el-form-item label="身份证号" prop="cardId">
<el-input v-model="voter.form.cardId" placeholder="请输入身份证号" />
</el-form-item>
<el-form-item label="议事结果" prop="vote">
<el-select
v-model="voter.form.vote"
placeholder="请选择议事结果"
clearable
style="width:100%"
>
<el-option
v-for="dict in dict.type.szxc_discuss_result"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="意见建议" prop="opinion">
<el-input v-model="voter.form.opinion" type="textarea" placeholder="请输入意见建议" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="voterSubmit"> </el-button>
</div>
</el-dialog>
<el-dialog title="选择居民" :visible.sync="jmin.visible" width="1000px" append-to-body>
<el-form :model="jmin.queryParams" ref="queryForm" size="small" :inline="true" label-width="70px">
<el-form-item label="身份证号" prop="cardId">
<el-input
v-model="jmin.queryParams.cardId"
placeholder="请输入身份证号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="姓名" prop="name">
<el-input
v-model="jmin.queryParams.name"
placeholder="请输入姓名"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="jminQuery"></el-button>
</el-form-item>
</el-form>
<el-alert title="双击选择户主" type="warning" :closable="false"></el-alert>
<el-table v-loading="jmin.loading" :data="jmin.list" border @cell-dblclick="jminDblclick">
<el-table-column label="姓名" align="center" prop="name" min-width="80"/>
<el-table-column label="身份证号" align="center" prop="cardId" min-width="180"/>
<el-table-column label="所属网格" align="center" prop="deptName" min-width="100"/>
<el-table-column label="性别" align="center" prop="sex">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex"/>
</template>
</el-table-column>
<el-table-column label="籍贯" align="center" prop="jg" min-width="180"/>
<el-table-column label="手机号" align="center" prop="phone" min-width="120"/>
<el-table-column label="现居住地" align="center" prop="currentAddress" min-width="180"/>
</el-table>
<pagination
v-show="jmin.total>0"
:total="jmin.total"
:page.sync="jmin.queryParams.pageNum"
:limit.sync="jmin.queryParams.pageSize"
@pagination="getlistJminfo"
/>
</el-dialog>
</div>
</template>
<script>
import { listYscentre, getYscentre, delYscentre, addYscentre, updateYscentre } from "@/api/szxc/yscentre";
import { listVoteresut, delVoteresut, addVoteresut, updateVoteresut } from "@/api/szxc/voteresut";
import { listJminfo } from "@/api/szxc/jminfo";
import { deptTreeSelect } from "@/api/system/user";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@ -212,7 +334,7 @@ import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
name: "Yscentre",
components: { Treeselect },
dicts: ['szxc_hd_status'],
dicts: ['szxc_hd_status', 'szxc_discuss_result', 'sys_user_sex'],
data() {
return {
//
@ -278,7 +400,56 @@ export default {
picture: [
{ required: true, message: "图片不能为空", trigger: "blur" }
],
}
},
//
voter: {
visible: false,
//
loading: false,
//
list: [],
//
title: '',
//
open: false,
//
form: {},
//
selectedRow: null,
//
rules: {
cardNum: [
{ required: true, message: "银行卡号不能为空", trigger: "blur" }
],
bankNum: [
{ required: true, message: "银行行号不能为空", trigger: "blur" }
],
bankName: [
{ required: true, message: "银行名称不能为空", trigger: "blur" }
],
bankAddress: [
{ required: true, message: "开户行不能为空", trigger: "blur" }
],
},
},
//
jmin: {
visible: false,
//
loading: false,
//
total: 0,
//
queryParams:{
pageNum: 1,
pageSize: 10,
off: '0',
cardId: '',
name: ''
},
//
list: []
},
};
},
created() {
@ -398,7 +569,105 @@ export default {
this.download('szxc/yscentre/export', {
...this.queryParams
}, `yscentre_${new Date().getTime()}.xlsx`)
},
/** 参与详情 */
handleDetails(row){
this.voter.selectedRow = row;
this.voter.visible = true;
this.getlistVoteresut();
},
/** 查询议事投票列表 */
getlistVoteresut() {
listVoteresut({
pageNum: 1,
pageSize: 100000000,
ysId: this.voter.selectedRow.id
}).then(response => {
this.voter.list = response.rows
});
},
//
voterAdd(){
this.resetForm("voterForm");
this.voter.form = {
id: null,
jmId: null,
cardId: null,
voteName: null,
ysId: this.voter.selectedRow.id,
vote: null,
opinion: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
userId: null
};
this.voter.title = '添加议事投票';
this.voter.open = true;
},
/** 修改按钮操作 */
voterUpdate(row) {
this.voter.form = row;
this.voter.title = '修改议事投票';
this.voter.open = true;
},
/** 删除按钮操作 */
voterDelete(row) {
this.$modal.confirm('是否确认ID为【"' + row.id + '"】的数据项?').then(function() {
return delVoteresut(row.id);
}).then(() => {
this.getlistVoteresut();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
//
voterSubmit(){
this.$refs["voterForm"].validate(valid => {
if (valid) {
if (this.voter.form.id != null) {
updateVoteresut(this.voter.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.voter.open = false;
this.getlistVoteresut();
});
} else {
this.voter.form.defaultCard = '1'
addVoteresut(this.voter.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.voter.open = false;
this.getlistVoteresut();
});
}
}
});
},
//
voteNameSelect(){
this.jmin.visible = true;
this.getlistJminfo()
},
/** 查询居民信息列表 */
getlistJminfo() {
this.jmin.loading = true;
listJminfo(this.jmin.queryParams).then(response => {
this.jmin.list = response.rows;
this.jmin.total = response.total;
this.jmin.loading = false;
});
},
//
jminQuery(){
this.jmin.queryParams.pageNum = 1;
this.getlistJminfo();
},
//
jminDblclick(row) {
this.voter.form.jmId = row.id;
this.voter.form.voteName = row.name;
this.voter.form.cardId = row.cardId;
this.jmin.visible = false
},
}
};
</script>

Loading…
Cancel
Save