|
@@ -28,11 +28,21 @@
|
|
|
<el-form-item label="报到位置" prop="reportLocation">
|
|
|
<el-input
|
|
|
v-model="queryParams.reportLocation"
|
|
|
- placeholder="请输入工作单位"
|
|
|
+ placeholder="请输入报到位置"
|
|
|
clearable
|
|
|
@keyup.enter.native="handleQuery"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="审核状态" prop="status">
|
|
|
+ <el-select v-model="queryParams.status" clearable placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in options"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item>
|
|
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
|
@@ -41,28 +51,19 @@
|
|
|
|
|
|
<el-table v-loading="loading" :data="dangyuanList">
|
|
|
<el-table-column label="姓名" align="center" prop="name" />
|
|
|
- <el-table-column label="性别" align="center" prop="sex" />
|
|
|
+ <el-table-column label="性别" align="center" prop="sexName" />
|
|
|
+ <el-table-column label="状态" align="center" prop="statusName" />
|
|
|
<el-table-column label="工作单位" align="center" prop="workUnit" />
|
|
|
<el-table-column label="报到位置" align="center" prop="reportLocation" />
|
|
|
- <el-table-column label="报到类别" align="center" prop="reportType" />
|
|
|
+ <el-table-column label="报到类别" align="center" prop="reportTypeName" />
|
|
|
<el-table-column label="居住地" align="center" prop="residence" />
|
|
|
<el-table-column label="联系方式" align="center" prop="phone" />
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-edit"
|
|
|
- @click="handleUpdate(scope.row)"
|
|
|
- v-hasPermi="['community:dangyuan:edit']"
|
|
|
- >详情</el-button>
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-delete"
|
|
|
- @click="handleDelete(scope.row)"
|
|
|
- v-hasPermi="['community:dangyuan:remove']"
|
|
|
- >删除</el-button>
|
|
|
+ <el-button v-if="scope.row.status == 0" size="mini" type="text" icon="el-icon-check" @click="handleUpdate(scope.row)">审核</el-button>
|
|
|
+ <el-button v-if="scope.row.status == 0" size="mini" type="text" icon="el-icon-close" @click="handleUpdate(scope.row)">驳回</el-button>
|
|
|
+ <el-button v-if="scope.row.status !== 0" size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['community:dangyuan:edit']">详情</el-button>
|
|
|
+ <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['community:dangyuan:remove']">删除</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -77,7 +78,8 @@
|
|
|
|
|
|
<!-- 添加或修改党员报到对话框 -->
|
|
|
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
|
|
|
- <el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
|
+ <el-input v-if="dialogType == 'textarea'" type="textarea" :rows="2" placeholder="请输入驳回原因" v-model="textarea"></el-input>
|
|
|
+ <el-form ref="form" v-else :model="form" :rules="rules" label-width="80px">
|
|
|
<el-form-item label="姓名" prop="name">
|
|
|
<el-input disabled v-model="form.name" placeholder="请输入姓名" />
|
|
|
</el-form-item>
|
|
@@ -90,8 +92,8 @@
|
|
|
<el-form-item label="报到位置" prop="reportLocation">
|
|
|
<el-input disabled v-model="form.reportLocation" placeholder="请输入报到位置" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="报到类别" prop="reportType">
|
|
|
- <el-input disabled v-model="form.reportType" placeholder="请输入报到位置" />
|
|
|
+ <el-form-item label="报到类别" prop="reportTypeName">
|
|
|
+ <el-input disabled v-model="form.reportTypeName" placeholder="请输入报到位置" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="居住地" prop="residence">
|
|
|
<el-input disabled v-model="form.residence" placeholder="请输入居住地" />
|
|
@@ -102,16 +104,22 @@
|
|
|
<el-form-item label="服务内容">
|
|
|
<el-input disabled type="textarea" v-model="form.content"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="影像资料" prop="videoPath">
|
|
|
+ <!-- <el-form-item label="影像资料" prop="videoPath">
|
|
|
<video width="300" height="150" controls>
|
|
|
<source :src="form.videoPath" type="video/mp4">
|
|
|
</video>
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item> -->
|
|
|
<el-form-item label="备注" prop="remark">
|
|
|
<el-input disabled v-model="form.remark" placeholder="请输入备注" />
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
- <div slot="footer" class="dialog-footer">
|
|
|
+ <div slot="footer" class="dialog-footer" v-if="dialogType !== 'textarea'">
|
|
|
+ <el-button v-if="form.status == 0" type="success" @click="review">审 核</el-button>
|
|
|
+ <el-button v-if="form.status == 0" type="danger" @click="reject">驳 回</el-button>
|
|
|
+ <el-button @click="cancel">取 消</el-button>
|
|
|
+ </div>
|
|
|
+ <div slot="footer" class="dialog-footer" v-else>
|
|
|
+ <el-button type="success" @click="rejectok">确认</el-button>
|
|
|
<el-button @click="cancel">取 消</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
@@ -126,6 +134,13 @@ export default {
|
|
|
dicts: ['baodao_type'],
|
|
|
data() {
|
|
|
return {
|
|
|
+ options: [
|
|
|
+ { value: 0, label: '待审核' },
|
|
|
+ { value: 2, label: '已审核' },
|
|
|
+ { value: 1, label: '已驳回' },
|
|
|
+ ],
|
|
|
+ textarea: '',
|
|
|
+ dialogType: 'form',
|
|
|
// 遮罩层
|
|
|
loading: true,
|
|
|
// 选中数组
|
|
@@ -158,6 +173,7 @@ export default {
|
|
|
phone: null,
|
|
|
content: null,
|
|
|
videoPath: null,
|
|
|
+ status: null,
|
|
|
},
|
|
|
// 表单参数
|
|
|
form: {},
|
|
@@ -169,14 +185,47 @@ export default {
|
|
|
this.getList();
|
|
|
},
|
|
|
methods: {
|
|
|
+ // 审核
|
|
|
+ async review() {
|
|
|
+ const res = await updateDangyuan({ ...this.form, status: 2 });
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.getList();
|
|
|
+ this.$modal.msgSuccess("审核成功");
|
|
|
+ this.open = false;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 驳回
|
|
|
+ reject() {
|
|
|
+ this.dialogType = 'textarea';
|
|
|
+ this.title = '请输入驳回原因';
|
|
|
+ this.open = true;
|
|
|
+
|
|
|
+ },
|
|
|
+ // 确认驳回
|
|
|
+ async rejectok() {
|
|
|
+ if (!this.textarea) {
|
|
|
+ this.$modal.msgError("请输入驳回原因");
|
|
|
+ return;
|
|
|
+ };
|
|
|
+ const res = await updateDangyuan({ ...this.form, status: 1, rejectReason: this.textarea });
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.getList();
|
|
|
+ this.$modal.msgSuccess("驳回成功");
|
|
|
+ this.open = false;
|
|
|
+ this.dialogType = 'form';
|
|
|
+ }
|
|
|
+ },
|
|
|
/** 查询党员报到列表 */
|
|
|
getList() {
|
|
|
this.loading = true;
|
|
|
listDangyuan(this.queryParams).then(response => {
|
|
|
this.dangyuanList = response.rows.map(e => {
|
|
|
const data = this.dict.type.baodao_type.find(j => j.value == e.reportType);
|
|
|
- e.reportType = data.label;
|
|
|
- e.sex = e.sex == '1' ? '男' : '女';
|
|
|
+ e.reportTypeName = data.label;
|
|
|
+ e.sexName = e.sex == '1' ? '男' : '女';
|
|
|
+ if (e.status == 0) e.statusName = '待审核';
|
|
|
+ if (e.status == 2) e.statusName = '已审核';
|
|
|
+ if (e.status == 1) e.statusName = '已驳回';
|
|
|
return e;
|
|
|
});
|
|
|
this.total = response.total;
|
|
@@ -186,6 +235,7 @@ export default {
|
|
|
// 取消按钮
|
|
|
cancel() {
|
|
|
this.open = false;
|
|
|
+ this.dialogType = 'form';
|
|
|
this.reset();
|
|
|
},
|
|
|
// 表单重置
|
|
@@ -224,7 +274,7 @@ export default {
|
|
|
const dangyuanId = row.dangyuanId || this.ids
|
|
|
getDangyuan(dangyuanId).then(response => {
|
|
|
const data = this.dict.type.baodao_type.find(j => j.value == response.data.reportType);
|
|
|
- this.form = { ...response.data, reportType: data.label, sex: response.data.sex == 1 ? '男' : '女' };
|
|
|
+ this.form = { ...response.data, reportTypeName: data.label, sexName: response.data.sex == 1 ? '男' : '女' };
|
|
|
this.open = true;
|
|
|
this.title = "党员报到详情";
|
|
|
});
|