浏览代码

人员管理 – 添加“发展对象名册”台账,数据结构与“积极分子名册”一致

Wang Zi Wen 1 年之前
父节点
当前提交
f615c2c770

+ 1 - 0
ruoyi-system/src/main/resources/mapper/branch/TBranchMemberMapper.xml

@@ -91,6 +91,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="memberType != null  and memberType != '' and memberType == 1"> and u.member_type = '1' </if>
             <if test="memberType != null  and memberType != '' and memberType == 2"> and u.member_type in ('2', '3') </if>
             <if test="memberType != null  and memberType != '' and memberType == 3"> and u.member_type = '3' </if>
+            <if test="memberType != null  and memberType != '' and memberType == 4"> and u.member_type = '4' </if>
             <if test="ethnic != null  and ethnic != ''"> and u.ethnic = #{ethnic}</if>
             <if test="staffId != null  and staffId != ''"> and u.staff_id = #{staffId}</if>
             <if test="birthday != null "> and u.birthday = #{birthday}</if>

+ 856 - 0
ruoyi-ui/src/views/branch/zbjs/fzdxmc/index.vue

@@ -0,0 +1,856 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" size="small" v-show="showSearch" label-width="68px">
+      <el-form-item label="姓名" prop="nickName">
+        <el-input v-model="queryParams.nickName" placeholder="请输入姓名" />
+      </el-form-item>
+      <el-form-item label="工号" prop="staffId">
+        <el-input v-model="queryParams.staffId" placeholder="请输入工号" />
+      </el-form-item>
+      <el-form-item label="民族" prop="ethnic">
+        <el-select v-model="queryParams.ethnic" placeholder="请选择民族">
+          <el-option
+            v-for="dict in memberEthnicOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="出生年月" prop="birthday">
+        <el-date-picker clearable size="small" style="width: 200px"
+                        v-model="queryParams.birthday"
+                        type="date"
+                        value-format="yyyy-MM-dd"
+                        placeholder="选择出生年月">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="参加工作时间" prop="workJoinTime" label-width="102px">
+        <el-date-picker clearable size="small" style="width: 200px"
+                        v-model="queryParams.workJoinTime"
+                        type="date"
+                        value-format="yyyy-MM-dd"
+                        placeholder="选择参加工作时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="入职时间" prop="workEntryTime">
+        <el-date-picker clearable size="small" style="width: 200px"
+                        v-model="queryParams.workEntryTime"
+                        type="date"
+                        value-format="yyyy-MM-dd"
+                        placeholder="选择入职时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="学历" prop="educationLevel">
+        <el-select v-model="queryParams.educationLevel" placeholder="请选择学历">
+          <el-option
+            v-for="dict in educationLevelOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="是否团员">
+        <el-select v-model="queryParams.isLeague" placeholder="请选择是否团员">
+          <el-option key="1" label="是" value="1"></el-option>
+          <el-option key="0" label="否" value="0"></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="申请入党时间" prop="applyTime" label-width="102px">
+        <el-date-picker clearable size="small" style="width: 200px"
+                        v-model="queryParams.applyTime"
+                        type="date"
+                        value-format="yyyy-MM-dd"
+                        placeholder="选择申请入党时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="建表考察时间" prop="formCreateTime" label-width="102px">
+        <el-date-picker clearable size="small" style="width: 200px"
+                        v-model="queryParams.formCreateTime"
+                        type="date"
+                        value-format="yyyy-MM-dd"
+                        placeholder="选择建表考察时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="现培养人" prop="currentMentor">
+        <el-select v-model="queryParams.currentMentor" placeholder="请选择现培养人">
+          <el-option
+            v-for="dict in userList"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="计划发展时间" prop="planDevelopDuration" label-width="102px">
+        <el-date-picker clearable size="small" style="width: 200px"
+                        v-model="queryParams.planDevelopDuration"
+                        type="date"
+                        value-format="yyyy-MM-dd"
+                        placeholder="选择计划发展时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="是否参加过入党前培训" label-width="170px">
+        <el-select v-model="queryParams.isTrained" placeholder="请选择是否参加过入党前培训">
+          <el-option key="1" label="是" value="1"></el-option>
+          <el-option key="0" label="否" value="0"></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="备注" prop="remarks">
+        <el-input v-model="queryParams.remarks" placeholder="请输入备注" />
+      </el-form-item>
+      <el-form-item label="归属部门" prop="deptId" style="width: 268px;">
+        <treeselect style="width: 200px;" v-model="queryParams.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门" />
+      </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>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['branch:member:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['branch:member:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['branch:member:remove']"
+        >删除</el-button>
+      </el-col>
+      <!--<el-col :span="1.5">-->
+        <!--<el-button-->
+          <!--type="info"-->
+          <!--plain-->
+          <!--icon="el-icon-upload2"-->
+          <!--size="mini"-->
+          <!--@click="handleImport"-->
+          <!--v-hasPermi="['branch:member:edit']"-->
+        <!--&gt;导入</el-button>-->
+      <!--</el-col>-->
+      <!--<el-col :span="1.5">-->
+        <!--<el-button-->
+          <!--type="warning"-->
+          <!--plain-->
+          <!--icon="el-icon-download"-->
+          <!--size="mini"-->
+          <!--@click="handleExport"-->
+          <!--v-hasPermi="['branch:member:export']"-->
+        <!--&gt;导出</el-button>-->
+      <!--</el-col>-->
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="memberList" @selection-change="handleSelectionChange" :height="clientHeight" border>
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="党支部" align="center" prop="deptId" :formatter="deptListFormat"/>
+      <el-table-column label="工号" align="center" prop="staffId"/>
+      <el-table-column label="姓名" align="center" prop="nickName"/>
+      <el-table-column label="性别" align="center" prop="sex" :formatter="sysUserSexFormat"/>
+      <el-table-column label="民族" align="center" prop="ethnic" :formatter="memberEthnicFormat" />
+      <el-table-column label="出生年月" align="center" prop="birthday" width="100">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.birthday, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="参加工作时间" align="center" prop="workJoinTime" width="100">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.workJoinTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="入职时间" align="center" prop="workEntryTime" width="100">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.workEntryTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="学历" align="center" prop="educationLevel" :formatter="educationLevelFormat"/>
+      <el-table-column label="是否团员" align="center" prop="isLeague">
+        <template slot-scope="scope">
+          <span>{{ scope.row.isLeague == "1" ? "是" : "否" }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="现岗位" align="center" prop="postString"/>
+      <el-table-column label="申请入党时间" align="center" prop="applyTime" width="100">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.applyTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="建表考察时间" align="center" prop="formCreateTime" width="100">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.formCreateTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="现培养人" align="center" prop="currentMentorString" />
+      <el-table-column label="计划发展时间" align="center" prop="planDevelopDuration" width="100">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.planDevelopDuration, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="是否参加过入党前培训" align="center" prop="isTrained">
+        <template slot-scope="scope">
+          <span>{{ scope.row.isTrained == "1" ? "是" : "否" }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="备注" align="center" prop="remarks"/>
+      <el-table-column label="操作" align="center" fixed="right" width="120" 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="['branch:member:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['branch:member:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <!--<pagination-->
+      <!--v-show="total>0"-->
+      <!--:total="total"-->
+      <!--:page.sync="queryParams.pageNum"-->
+      <!--:limit.sync="queryParams.pageSize"-->
+      <!--@pagination="getList"-->
+    <!--/>-->
+
+    <!-- 添加或修改支部成员管理对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="绑定用户" prop="userId">
+              <el-select v-model="form.userId" placeholder="请选择绑定用户">
+                <el-option
+                  v-for="dict in userList"
+                  :key="dict.dictValue"
+                  :label="dict.dictLabel"
+                  :value="dict.dictValue"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="成员类型" prop="memberType">
+              <el-select v-model="form.memberType" placeholder="请选择成员类型">
+                <el-option
+                  v-for="dict in memberTypeOptions"
+                  :key="dict.dictValue"
+                  :label="dict.dictLabel"
+                  :value="dict.dictValue"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="工号" prop="staffId">
+              <el-input v-model="form.staffId" placeholder="请输入工号" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="民族" prop="ethnic">
+              <el-select v-model="form.ethnic" placeholder="请选择民族">
+                <el-option
+                  v-for="dict in memberEthnicOptions"
+                  :key="dict.dictValue"
+                  :label="dict.dictLabel"
+                  :value="dict.dictValue"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="出生年月" prop="birthday">
+              <el-date-picker clearable size="small" style="width: 200px"
+                              v-model="form.birthday"
+                              type="date"
+                              value-format="yyyy-MM-dd"
+                              placeholder="选择出生年月">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="参加工作时间" prop="workJoinTime">
+              <el-date-picker clearable size="small" style="width: 200px"
+                              v-model="form.workJoinTime"
+                              type="date"
+                              value-format="yyyy-MM-dd"
+                              placeholder="选择参加工作时间">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="入职时间" prop="workEntryTime">
+              <el-date-picker clearable size="small" style="width: 200px"
+                              v-model="form.workEntryTime"
+                              type="date"
+                              value-format="yyyy-MM-dd"
+                              placeholder="选择入职时间">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="学历" prop="educationLevel">
+              <el-select v-model="form.educationLevel" placeholder="请选择学历">
+                <el-option
+                  v-for="dict in educationLevelOptions"
+                  :key="dict.dictValue"
+                  :label="dict.dictLabel"
+                  :value="dict.dictValue"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="是否团员">
+              <el-radio-group v-model="form.isLeague">
+                <el-radio key="1" label="1">是</el-radio>
+                <el-radio key="0" label="0">否</el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="申请入党时间" prop="applyTime">
+              <el-date-picker clearable size="small" style="width: 200px"
+                              v-model="form.applyTime"
+                              type="date"
+                              value-format="yyyy-MM-dd"
+                              placeholder="选择申请入党时间">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="建表考察时间" prop="formCreateTime">
+              <el-date-picker clearable size="small" style="width: 200px"
+                              v-model="form.formCreateTime"
+                              type="date"
+                              value-format="yyyy-MM-dd"
+                              placeholder="选择建表考察时间">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="现培养人" prop="currentMentor">
+              <el-select v-model="form.currentMentor" placeholder="请选择现培养人" multiple>
+                <el-option
+                  v-for="dict in userList"
+                  :key="dict.dictValue"
+                  :label="dict.dictLabel"
+                  :value="dict.dictValue"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="计划发展时间" prop="planDevelopDuration">
+              <el-date-picker clearable size="small" style="width: 200px"
+                              v-model="form.planDevelopDuration"
+                              type="date"
+                              value-format="yyyy-MM-dd"
+                              placeholder="选择计划发展时间">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="是否参加过入党前培训">
+              <el-radio-group v-model="form.isTrained">
+                <el-radio key="1" label="1">是</el-radio>
+                <el-radio key="0" label="0">否</el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="备注" prop="remarks">
+              <el-input v-model="form.remarks" placeholder="请输入备注" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="归属部门" prop="deptId">
+              <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+    <!-- 用户导入对话框 -->
+    <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
+      <el-upload
+        ref="upload"
+        :limit="1"
+        accept=".xlsx, .xls"
+        :headers="upload.headers"
+        :action="upload.url + '?updateSupport=' + upload.updateSupport"
+        :disabled="upload.isUploading"
+        :on-progress="handleFileUploadProgress"
+        :on-success="handleFileSuccess"
+        :auto-upload="false"
+        drag
+      >
+        <i class="el-icon-upload"></i>
+        <div class="el-upload__text">
+          将文件拖到此处,或
+          <em>点击上传</em>
+        </div>
+        <div class="el-upload__tip" slot="tip">
+          <el-checkbox v-model="upload.updateSupport" />是否更新已经存在的用户数据
+          <el-link type="info" style="font-size:12px" @click="importTemplate">下载模板</el-link>
+        </div>
+        <div class="el-upload__tip" style="color:red" slot="tip">提示:仅允许导入“xls”或“xlsx”格式文件!</div>
+      </el-upload>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitFileForm">确 定</el-button>
+        <el-button @click="upload.open = false">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+  import { listMember, getMember, delMember, addMember, updateMember, exportMember, importTemplate} from "@/api/branch/member";
+  import { treeselect } from "@/api/system/dept";
+  import { getToken } from "@/utils/auth";
+  import Treeselect from "@riophae/vue-treeselect";
+  import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+  import { listUserNoPage } from "@/api/system/user";
+  import { listDept } from "@/api/system/dept";
+
+  export default {
+    name: "Member",
+    components: { Treeselect },
+    data() {
+      return {
+        // 遮罩层
+        loading: true,
+        // 选中数组
+        ids: [],
+        // 非单个禁用
+        single: true,
+        // 非多个禁用
+        multiple: true,
+        // 显示搜索条件
+        showSearch: false,
+        // 总条数
+        total: 0,
+        // 支部成员管理表格数据
+        memberList: [],
+        // 弹出层标题
+        title: "",
+        // 部门树选项
+        deptOptions: [],
+        clientHeight:300,
+        // 是否显示弹出层
+        open: false,
+        // 成员类型字典
+        memberTypeOptions: [],
+        // 学历字典
+        educationLevelOptions: [],
+        // 用户性别字典
+        sysUserSexOptions: [],
+        // 成员民族字典
+        memberEthnicOptions: [],
+        // 用户列表
+        userList: [],
+        // 部门列表
+        deptList: [],
+        // 用户导入参数
+        upload: {
+          // 是否显示弹出层(用户导入)
+          open: false,
+          // 弹出层标题(用户导入)
+          title: "",
+          // 是否禁用上传
+          isUploading: false,
+          // 是否更新已经存在的用户数据
+          updateSupport: 0,
+          // 设置上传的请求头部
+          headers: { Authorization: "Bearer " + getToken() },
+          // 上传的地址
+          url: process.env.VUE_APP_BASE_API + "/branch/member/importData"
+        },
+        // 查询参数
+        queryParams: {
+          pageNum: 1,
+          pageSize: 20,
+          memberId: null,
+          userId: null,
+          memberType: null,
+          birthday: null,
+          educationLevel: null,
+          workJoinTime: null,
+          workEntryTime: null,
+          partyEntryTime: null,
+          currentPost: null,
+          labourDivision: null,
+          labourEntryTime: null,
+          labourLeaveTime: null,
+          entryTime: null,
+          leaveTime: null,
+          isLeague: null,
+          applyTime: null,
+          formCreateTime: null,
+          currentMentor: null,
+          planDevelopDuration: null,
+          isTrained: null,
+          remarks: null,
+          deptId: null,
+        },
+        // 表单参数
+        form: {},
+        // 表单校验
+        rules: {
+          userId: [
+            { required: true, message: "绑定用户不能为空", trigger: "blur" }
+          ],
+          memberType: [
+            { required: true, message: "成员类型不能为空", trigger: "blur" }
+          ],
+          deptId: [
+            { required: true, message: "归属部门不能为空", trigger: "blur" }
+          ],
+        }
+      };
+    },
+    watch: {
+      // 根据名称筛选部门树
+      deptName(val) {
+        this.$refs.tree.filter(val);
+      }
+    },
+    created() {
+      this.getUserList();
+      this.getDeptList();
+      //设置表格高度对应屏幕高度
+      this.$nextTick(() => {
+        this.clientHeight = document.body.clientHeight -200
+      })
+      this.getList();
+      this.getTreeselect();
+      this.getDicts("member_education_level").then(response => {
+        this.educationLevelOptions = response.data;
+      });
+      this.getDicts("member_type").then(response => {
+        this.memberTypeOptions = response.data;
+      });
+      this.getDicts("sys_user_sex").then(response => {
+        this.sysUserSexOptions = response.data;
+      });
+      this.getDicts("member_ethnic").then(response => {
+        this.memberEthnicOptions = response.data;
+      });
+    },
+    methods: {
+      /** 查询部门列表 */
+      getDeptList() {
+        listDept().then(response => {
+          let data = response.data;
+          let deptList = [];
+          for(let i = 0; i < data.length; i++) {
+            let dept = { "dictValue" : data[i].deptId, "dictLabel" : data[i].deptName};
+            deptList.push(dept);
+          }
+          this.deptList = deptList;
+        });
+      },
+      /** 查询用户列表 */
+      getUserList() {
+        listUserNoPage().then(response => {
+          let rows = response.data;
+          let userList = [];
+          for(let i = 0; i < rows.length; i++) {
+            if (rows[i].userName != "admin") {
+              let user = { "dictValue" : rows[i].userId, "dictLabel" : rows[i].nickName};
+              userList.push(user);
+            }
+          }
+          this.userList = userList;
+        });
+      },
+      /** 查询支部成员管理列表 */
+      getList() {
+        this.loading = true;
+        listUserNoPage().then(response => {
+          let rows = response.data;
+          let userList = [];
+          for (let i = 0; i < rows.length; i++) {
+            if (rows[i].userName != "admin") {
+              let user = {"dictValue": rows[i].userId, "dictLabel": rows[i].nickName};
+              userList.push(user);
+            }
+          }
+          this.userList = userList;
+          this.queryParams.memberType = 4;
+          listMember(this.queryParams).then(response => {
+            this.memberList = response.data;
+            console.log(response)
+            for (let i = 0; i < this.memberList.length; i++) {
+              let posts = Array.from(this.memberList[i].posts);
+              let roles = Array.from(this.memberList[i].roles);
+              let roleString = "";
+              let postString = "";
+              for (let j = 0; j < roles.length; j++) {
+                if (j > 0) {
+                  roleString += "\n兼" + roles[j].roleName;
+                } else {
+                  roleString += roles[j].roleName;
+                }
+              }
+              for (let j = 0; j < posts.length; j++) {
+                if (j > 0) {
+                  postString += "\n兼" + posts[j].postName;
+                } else {
+                  postString += posts[j].postName;
+                }
+              }
+              this.memberList[i].roleString = roleString;
+              this.memberList[i].postString = postString;
+              if (this.memberList[i].currentMentor != null) {
+                let currentMentor = this.memberList[i].currentMentor.split(",");
+                let currentMentorString = "";
+                for (let j = 0; j < currentMentor.length; j++) {
+                  if (j > 0) {
+                    currentMentorString += "、" + this.selectDictLabel(this.userList, currentMentor[j]);
+                  } else {
+                    currentMentorString += this.selectDictLabel(this.userList, currentMentor[j]);
+                  }
+                }
+                this.memberList[i].currentMentorString = currentMentorString;
+              }
+            }
+            this.total = response.total;
+            this.loading = false;
+          });
+        });
+      },
+      /** 查询部门下拉树结构 */
+      getTreeselect() {
+        treeselect().then(response => {
+          this.deptOptions = response.data;
+        });
+      },
+      // 学历字典翻译
+      educationLevelFormat(row, column) {
+        return this.selectDictLabel(this.educationLevelOptions, row.educationLevel);
+      },
+      // 成员类型字典翻译
+      memberTypeFormat(row, column) {
+        return this.selectDictLabel(this.memberTypeOptions, row.memberType);
+      },
+      // 用户性别字典翻译
+      sysUserSexFormat(row, column) {
+        return this.selectDictLabel(this.sysUserSexOptions, row.sex);
+      },
+      // 用户性别字典翻译
+      memberEthnicFormat(row, column) {
+        return this.selectDictLabel(this.memberEthnicOptions, row.ethnic);
+      },
+      // 用户列表字典翻译
+      userListFormat(row, column) {
+        return this.selectDictLabel(this.userList, row.userId);
+      },
+      // 部门列表字典翻译
+      deptListFormat(row, column) {
+        return this.selectDictLabel(this.deptList, row.deptId);
+      },
+      // 现培养人字典翻译
+      currentMentorFormat(row, column) {
+        return this.selectDictLabel(this.userList, row.currentMentor);
+      },
+      // 取消按钮
+      cancel() {
+        this.open = false;
+        this.reset();
+      },
+      // 表单重置
+      reset() {
+        this.form = {
+          memberId: null,
+          userId: null,
+          memberType: null,
+          birthday: null,
+          educationLevel: null,
+          workJoinTime: null,
+          workEntryTime: null,
+          partyEntryTime: null,
+          currentPost: null,
+          labourDivision: null,
+          labourEntryTime: null,
+          labourLeaveTime: null,
+          entryTime: null,
+          leaveTime: null,
+          isLeague: null,
+          applyTime: null,
+          formCreateTime: null,
+          currentMentor: null,
+          planDevelopDuration: null,
+          isTrained: null,
+          remarks: null,
+          delFlag: null,
+          createBy: null,
+          createTime: null,
+          updateBy: null,
+          updateTime: null,
+          deptId: null,
+        };
+        this.resetForm("form");
+      },
+      /** 搜索按钮操作 */
+      handleQuery() {
+        this.queryParams.pageNum = 1;
+        this.getList();
+      },
+      /** 重置按钮操作 */
+      resetQuery() {
+        this.resetForm("queryForm");
+        this.handleQuery();
+      },
+      // 多选框选中数据
+      handleSelectionChange(selection) {
+        this.ids = selection.map(item => item.memberId)
+        this.single = selection.length!==1
+        this.multiple = !selection.length
+      },
+      /** 新增按钮操作 */
+      handleAdd() {
+        this.reset();
+        this.form.memberType = "4";
+        this.open = true;
+        this.title = "添加发展对象信息";
+      },
+      /** 修改按钮操作 */
+      handleUpdate(row) {
+        this.reset();
+        const memberId = row.memberId || this.ids
+        getMember(memberId).then(response => {
+          this.form = response.data;
+          if (this.form.currentMentor != null) {
+            this.form.currentMentor = this.form.currentMentor.split(",").map(Number);
+          }
+          this.open = true;
+          this.title = "修改发展对象信息";
+        });
+      },
+      /** 提交按钮 */
+      submitForm() {
+        if (this.form.currentMentor != null) {
+          this.form.currentMentor = this.form.currentMentor.join();
+        }
+        this.$refs["form"].validate(valid => {
+          if (valid) {
+            if (this.form.memberId != null) {
+              updateMember(this.form).then(response => {
+                this.$modal.msgSuccess("修改成功");
+                this.open = false;
+                this.getList();
+              });
+            } else {
+              addMember(this.form).then(response => {
+                this.$modal.msgSuccess("新增成功");
+                this.open = false;
+                this.getList();
+              });
+            }
+          }
+        });
+      },
+      /** 删除按钮操作 */
+      handleDelete(row) {
+        const memberIds = row.memberId || this.ids;
+        this.$confirm('是否确认删除?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delMember(memberIds);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        })
+      },
+      /** 导出按钮操作 */
+      handleExport() {
+        const queryParams = this.queryParams;
+        this.$confirm('是否确认导出所有发展对象名册数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportMember(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        })
+      },
+      /** 导入按钮操作 */
+      handleImport() {
+        this.upload.title = "导入";
+        this.upload.open = true;
+      },
+      /** 下载模板操作 */
+      importTemplate() {
+        importTemplate().then(response => {
+          this.download(response.msg);
+        });
+      },
+      // 文件上传中处理
+      handleFileUploadProgress(event, file, fileList) {
+        this.upload.isUploading = true;
+      },
+      // 文件上传成功处理
+      handleFileSuccess(response, file, fileList) {
+        this.upload.open = false;
+        this.upload.isUploading = false;
+        this.$refs.upload.clearFiles();
+        this.$alert(response.msg, "导入结果", { dangerouslyUseHTMLString: true });
+        this.getList();
+      },
+      // 提交上传文件
+      submitFileForm() {
+        this.$refs.upload.submit();
+      }
+    }
+  };
+</script>
+
+<style>
+  /** 文本换行符处理 */
+  .el-table .cell{
+    white-space: pre-wrap;
+  }
+  /** textarea字体 */
+  textarea {
+    font-family: "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;
+  }
+</style>

+ 10 - 19
ruoyi-ui/src/views/branch/zbjs/sqrjjfzmc/index.vue

@@ -236,13 +236,13 @@
       </el-table-column>
     </el-table>
 
-    <pagination
-      v-show="total>0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
+    <!--<pagination-->
+      <!--v-show="total>0"-->
+      <!--:total="total"-->
+      <!--:page.sync="queryParams.pageNum"-->
+      <!--:limit.sync="queryParams.pageSize"-->
+      <!--@pagination="getList"-->
+    <!--/>-->
 
     <!-- 添加或修改支部成员管理对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
@@ -614,14 +614,6 @@
           this.userList = userList;
           this.queryParams.memberType = 1;
           listMember(this.queryParams).then(response => {
-            // let rows = response.rows;
-            // let memberList = [];
-            // for (let i = 0; i < rows.length; i++) {
-            //   if (rows[i].memberType == "1") {//申请人、积极分子
-            //     memberList.push(rows[i]);
-            //   }
-            // }
-            // this.memberList = memberList;
             this.memberList = response.data;
             for (let i = 0; i < this.memberList.length; i++) {
               let posts = Array.from(this.memberList[i].posts);
@@ -755,7 +747,7 @@
         this.reset();
         this.form.memberType = "1";
         this.open = true;
-        this.title = "添加申请人、积极分子信息";
+        this.title = "添加积极分子信息";
       },
       /** 修改按钮操作 */
       handleUpdate(row) {
@@ -767,7 +759,7 @@
             this.form.currentMentor = this.form.currentMentor.split(",").map(Number);
           }
           this.open = true;
-          this.title = "修改申请人、积极分子信息";
+          this.title = "修改积极分子信息";
         });
       },
       /** 提交按钮 */
@@ -784,7 +776,6 @@
                 this.getList();
               });
             } else {
-              console.log(this.form);
               addMember(this.form).then(response => {
                 this.$modal.msgSuccess("新增成功");
                 this.open = false;
@@ -811,7 +802,7 @@
       /** 导出按钮操作 */
       handleExport() {
         const queryParams = this.queryParams;
-        this.$confirm('是否确认导出所有申请人、积极分子名册数据项?', "警告", {
+        this.$confirm('是否确认导出所有积极分子名册数据项?', "警告", {
           confirmButtonText: "确定",
           cancelButtonText: "取消",
           type: "warning"