|
@@ -0,0 +1,868 @@
|
|
|
+<!--
|
|
|
+ * @Description: 党建管理 => 正式党员管理
|
|
|
+ * @Author: Rockery
|
|
|
+ * @Date: 2021-12-10 10:39:07
|
|
|
+ * @LastEditors: Rockery
|
|
|
+ * @LastEditTime: 2021-12-14 16:57:22
|
|
|
+ * @FilePath: \party_construct_web\src\views\PartyBuildingMgr\FullPartyMember\FullPartyMemberIndex.vue
|
|
|
+ * @Copyright: Copyright (c) 2016~2021 Rockery(1113269755@qq.com)
|
|
|
+-->
|
|
|
+
|
|
|
+<template>
|
|
|
+ <div class="app-container fullpartymember">
|
|
|
+ <div class="fullpartymember-head">
|
|
|
+ <div class="fullpartymember-head-title">
|
|
|
+ <div>
|
|
|
+ <img :src="require('@/assets/logo/home-main-title-logo.png')" @error="imgViewerOnerror" />
|
|
|
+ </div>
|
|
|
+ <div>正式党员管理</div>
|
|
|
+ </div>
|
|
|
+ <div class="fullpartymember-head-btn">
|
|
|
+ <div>列表样式</div>
|
|
|
+ <svg-icon
|
|
|
+ icon-class="partydatacard"
|
|
|
+ class="fullpartymember-head-btn-card"
|
|
|
+ :class="{ 'is-active': listActiveType === 'CARDLIST' }"
|
|
|
+ @click="handleCardListClick"
|
|
|
+ />
|
|
|
+ <svg-icon
|
|
|
+ icon-class="partydatalist"
|
|
|
+ class="fullpartymember-head-btn-list"
|
|
|
+ :class="{ 'is-active': listActiveType === 'TABLELIST' }"
|
|
|
+ @click="handleTableListClick"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="app-container-queryform" v-show="showSearch">
|
|
|
+ <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
|
|
|
+ <el-form-item prop="beginTime">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="queryParams.beginTime"
|
|
|
+ type="date"
|
|
|
+ size="small"
|
|
|
+ clearable
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ style="width: 100%;"
|
|
|
+ placeholder="请选择入党开始时间"
|
|
|
+ ></el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="endTime">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="queryParams.endTime"
|
|
|
+ type="date"
|
|
|
+ size="small"
|
|
|
+ clearable
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ style="width: 100%;"
|
|
|
+ placeholder="请选择入党结束时间"
|
|
|
+ ></el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="name">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.name"
|
|
|
+ placeholder="请输入姓名"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ style="width: 100%;"
|
|
|
+ @keyup.enter.native="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item prop="sex">
|
|
|
+ <el-select
|
|
|
+ v-model="queryParams.sex"
|
|
|
+ placeholder="请选择性别"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ style="width: 100%;"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="sexOption in sexOptions"
|
|
|
+ :key="sexOption.dictValue"
|
|
|
+ :label="sexOption.dictLabel"
|
|
|
+ :value="sexOption.dictValue"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button
|
|
|
+ v-hasPermi="['partybuildingmgr:situationdesc:query']"
|
|
|
+ type="primary"
|
|
|
+ icon="el-icon-search"
|
|
|
+ size="mini"
|
|
|
+ @click="handleQueryClick"
|
|
|
+ >搜索</el-button>
|
|
|
+ <el-button
|
|
|
+ v-hasPermi="['partybuildingmgr:situationdesc:reset']"
|
|
|
+ icon="el-icon-refresh"
|
|
|
+ size="mini"
|
|
|
+ @click="resetQueryClick"
|
|
|
+ >重置</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="app-container-main fullpartymember-main" :class="showSearch ? 'mt15' : ''">
|
|
|
+ <el-row :gutter="10" class="mb8">
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button
|
|
|
+ v-hasPermi="['partybuildingmgr:situationdesc:add']"
|
|
|
+ type="rocpartyprimarybtn"
|
|
|
+ icon="el-icon-plus"
|
|
|
+ size="mini"
|
|
|
+ @click="handleAddClick"
|
|
|
+ >新增</el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button
|
|
|
+ v-hasPermi="['partybuildingmgr:situationdesc:transferin']"
|
|
|
+ type="rocpartyprimaryplainbtn"
|
|
|
+ icon="el-icon-circle-plus-outline"
|
|
|
+ size="mini"
|
|
|
+ @click="handleTransferInClick"
|
|
|
+ >转入</el-button>
|
|
|
+ </el-col>
|
|
|
+ <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="10">
|
|
|
+ <template v-if="listActiveType === 'CARDLIST'">
|
|
|
+ <el-col :span="24">
|
|
|
+ <div class="fullpartymember-main-list">
|
|
|
+ <template v-if="list.length > 0">
|
|
|
+ <div class="list-row">
|
|
|
+ <div v-for="item in 20" :key="item" class="list-cell">
|
|
|
+ <div class="list-cell-img">
|
|
|
+ <img
|
|
|
+ :src="require('@/assets/images/home-main-list-card-img.png')"
|
|
|
+ @error="imgViewerOnerror"
|
|
|
+ />
|
|
|
+ <div class="list-cell-shield">
|
|
|
+ <div class="list-cell-shield-content">
|
|
|
+ <div class="shield-content-label">入党时间</div>
|
|
|
+ <div class="shield-content-datetime">1921年7月1日</div>
|
|
|
+ <el-button
|
|
|
+ type="rocwhiteplainbtn"
|
|
|
+ style="width: 100%;"
|
|
|
+ @click="handleViewMaterialClick"
|
|
|
+ >查看资料</el-button>
|
|
|
+ <div
|
|
|
+ class="shield-content-relation"
|
|
|
+ @click="handleOrgRelationChangeClick"
|
|
|
+ >组织关系变更 ></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="list-cell-name">罗正峰</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <div class="fullpartymember-main-list-nodata">暂无数据</div>
|
|
|
+ </template>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ <el-col :span="24" class="mt15">
|
|
|
+ <el-table
|
|
|
+ :data="list"
|
|
|
+ stripe
|
|
|
+ border
|
|
|
+ :header-cell-style="{'text-align':'center'}"
|
|
|
+ header-row-class-name="develop-table_header-row"
|
|
|
+ class="develop-main-table"
|
|
|
+ style="width: 100%;"
|
|
|
+ >
|
|
|
+ <el-table-column label="党员姓名" prop="name" :show-overflow-tooltip="true" />
|
|
|
+ <el-table-column label="性别" prop="name" align="center" :show-overflow-tooltip="true" />
|
|
|
+ <el-table-column label="党龄" prop="name" :show-overflow-tooltip="true" />
|
|
|
+ <el-table-column label="入党介绍人" prop="name" :show-overflow-tooltip="true" />
|
|
|
+ <el-table-column label="申请入党时间" prop="name" :show-overflow-tooltip="true" />
|
|
|
+ <el-table-column label="正式入党时间" prop="name" :show-overflow-tooltip="true" />
|
|
|
+ <el-table-column
|
|
|
+ label="操作"
|
|
|
+ align="center"
|
|
|
+ fixed="right"
|
|
|
+ width="200"
|
|
|
+ class-name="small-padding fixed-width"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ v-hasPermi="['partybuildingmgr:partymemberdevelop:view']"
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-view"
|
|
|
+ style="color: #909399;"
|
|
|
+ @click="handleViewClick(scope.row)"
|
|
|
+ >详情</el-button>
|
|
|
+ <el-button
|
|
|
+ v-hasPermi="['partybuildingmgr:partymemberdevelop:reactivate']"
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ style="color: #de0010;"
|
|
|
+ @click="handleReactivateClick(scope.row)"
|
|
|
+ >
|
|
|
+ <svg-icon icon-class="relachange" /> 组织关系变更
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-col>
|
|
|
+ </template>
|
|
|
+ <el-col :span="24">
|
|
|
+ <pagination
|
|
|
+ v-show="total>0"
|
|
|
+ :total="total"
|
|
|
+ :page.sync="queryParams.pageNum"
|
|
|
+ :limit.sync="queryParams.pageSize"
|
|
|
+ @pagination="initData"
|
|
|
+ />
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <!-- 组织关系变更对话框 -->
|
|
|
+ <el-dialog
|
|
|
+ title="组织关系变更"
|
|
|
+ :visible.sync="orgRelationChangeObj.open"
|
|
|
+ width="700px"
|
|
|
+ append-to-body
|
|
|
+ class="orgrelationchange-dialog"
|
|
|
+ >
|
|
|
+ <el-form
|
|
|
+ ref="orgRelationChangeFormRef"
|
|
|
+ :model="orgRelationChangeObj.form"
|
|
|
+ :rules="orgRelationChangeObj.rules"
|
|
|
+ label-width="90px"
|
|
|
+ >
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="变更时间:" prop="deptName">
|
|
|
+ <el-input
|
|
|
+ v-model="orgRelationChangeObj.form.deptName"
|
|
|
+ clearable
|
|
|
+ placeholder="请输入部门名称"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="姓名:" prop="deptName">
|
|
|
+ <el-input v-model="orgRelationChangeObj.form.deptName" disabled />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="身份证号:" prop="leader">
|
|
|
+ <el-input v-model="orgRelationChangeObj.form.leader" disabled />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="类型:" prop="orgRelationChangeType">
|
|
|
+ <el-select
|
|
|
+ v-model="orgRelationChangeObj.form.orgRelationChangeType"
|
|
|
+ placeholder="请选择类型"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ style="width: 100%;"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="orgRelationChangeTypeOption in orgRelationChangeTypeOptions"
|
|
|
+ :key="orgRelationChangeTypeOption.dictValue"
|
|
|
+ :label="orgRelationChangeTypeOption.dictLabel"
|
|
|
+ :value="orgRelationChangeTypeOption.dictValue"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="相关材料:" prop="phone">
|
|
|
+ <el-upload
|
|
|
+ ref="relatedMaterialsUploadRef"
|
|
|
+ :limit="1"
|
|
|
+ accept=".pdf"
|
|
|
+ :auto-upload="false"
|
|
|
+ :show-file-list="true"
|
|
|
+ :action="relatedMaterialsUpload.url"
|
|
|
+ :headers="relatedMaterialsUpload.headers"
|
|
|
+ :before-upload="handleBeforeUpload"
|
|
|
+ :on-success="handleUploadOnsuccess"
|
|
|
+ :on-change="handleUploadOnchange"
|
|
|
+ :on-remove="handleUploadOnRemove"
|
|
|
+ :on-exceed="handleUploadOnExceed"
|
|
|
+ class="orgrelationchange-dialog-relatedmaterialsupload"
|
|
|
+ >
|
|
|
+ <div class="relatedmaterialsupload-content">
|
|
|
+ <i class="el-icon-plus" />
|
|
|
+ 上传文件,格式:PDF
|
|
|
+ </div>
|
|
|
+ </el-upload>
|
|
|
+ <div
|
|
|
+ v-if="relatedMaterialsUpload.isUploadSuccess"
|
|
|
+ class="fl attachment-addr"
|
|
|
+ @click="handleRelatedMaterialsUploadUrlClick"
|
|
|
+ >
|
|
|
+ <div>文件上传成功地址:</div>
|
|
|
+ <div>{{ orgRelationChangeObj.form.bannerUrl }}</div>
|
|
|
+ </div>
|
|
|
+ <el-button
|
|
|
+ v-if="relatedMaterialsUpload.isSelect && !relatedMaterialsUpload.isUploadSuccess"
|
|
|
+ type="primary"
|
|
|
+ size="small"
|
|
|
+ class="fl"
|
|
|
+ @click="submitRelatedMaterialsUpload"
|
|
|
+ >上传文件</el-button>
|
|
|
+ <el-button
|
|
|
+ v-if="relatedMaterialsUpload.isSelect"
|
|
|
+ type="info"
|
|
|
+ size="small"
|
|
|
+ class="fl"
|
|
|
+ @click="removeRelatedMaterialsUpload"
|
|
|
+ >移除文件</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="说明:" prop="email">
|
|
|
+ <el-input
|
|
|
+ v-model="orgRelationChangeObj.form.email"
|
|
|
+ type="textarea"
|
|
|
+ :autosize="{ minRows: 4}"
|
|
|
+ placeholder="请输入说明"
|
|
|
+ clearable
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button type="primary" @click="orgRelationChangeSubmitForm">确 定</el-button>
|
|
|
+ <el-button @click="orgRelationChangeCancelClick">取 消</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
+ <vue-pdf-dialog
|
|
|
+ v-if="pdfDialogVisible"
|
|
|
+ :visible.sync="pdfDialogVisible"
|
|
|
+ pdfUrl="/file-api/statics/2021/12/13/6085efe9-74e1-4444-b47a-5c3533ec6901.pdf"
|
|
|
+ @close="handlePdfCloseClick"
|
|
|
+ ></vue-pdf-dialog>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+export default {
|
|
|
+ name: "Fullpartymember",
|
|
|
+ components: {
|
|
|
+ 'vue-pdf-dialog': () => import('@/components/VuePdfDialog')
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ // 遮罩层
|
|
|
+ loading: true,
|
|
|
+ // 显示搜索条件
|
|
|
+ showSearch: true,
|
|
|
+ // 列表样式
|
|
|
+ listActiveType: 'CARDLIST',
|
|
|
+ // 性别选项列表
|
|
|
+ sexOptions: [],
|
|
|
+
|
|
|
+ // 查询条件
|
|
|
+ queryParams: {
|
|
|
+ pageNum: 0,
|
|
|
+ pageSize: 10
|
|
|
+ },
|
|
|
+ // 数据总条数
|
|
|
+ total: 10,
|
|
|
+ // 表格列表
|
|
|
+ list: [1],
|
|
|
+ orgRelationChangeObj: {
|
|
|
+ open: false,
|
|
|
+ form: {},
|
|
|
+ rules: {
|
|
|
+
|
|
|
+ }
|
|
|
+ },
|
|
|
+ orgRelationChangeTypeOptions: [],
|
|
|
+ relatedMaterialsUpload: {
|
|
|
+ isSelect: false,
|
|
|
+ isUploadSuccess: false,
|
|
|
+ isOnProgress: false,
|
|
|
+ url: `${this.baseApiUrl}/file/upload`,
|
|
|
+ headers: { Authorization: 'Bearer ' + this.getToken() }
|
|
|
+ },
|
|
|
+ pdfDialogVisible: false
|
|
|
+ };
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.initData();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ /** 初始化数据 */
|
|
|
+ async initData() {
|
|
|
+ this.loading = true;
|
|
|
+ await this.getMainOptions();
|
|
|
+ this.getList();
|
|
|
+ },
|
|
|
+ /** 获取表格数据 */
|
|
|
+ getList() {
|
|
|
+ this.loading = false;
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 获取主要选项列表
|
|
|
+ */
|
|
|
+ async getMainOptions() {
|
|
|
+ // 性别选项列表
|
|
|
+ await this.getDicts('sys_user_sex').then(response => {
|
|
|
+ this.sexOptions = response?.data || [];
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 获取次要选项列表
|
|
|
+ */
|
|
|
+ async getSubOptions() {
|
|
|
+ // 组织关系变更类型列表
|
|
|
+ await this.getDicts('org_relation_change_type').then(response => {
|
|
|
+ this.orgRelationChangeTypeOptions = response?.data || [];
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 卡片列表图标事件
|
|
|
+ */
|
|
|
+ handleCardListClick() {
|
|
|
+ this.listActiveType = 'CARDLIST';
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 表格列表图标事件
|
|
|
+ */
|
|
|
+ handleTableListClick() {
|
|
|
+ this.listActiveType = 'TABLELIST';
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 搜索按钮事件
|
|
|
+ */
|
|
|
+ handleQueryClick() {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 重置按钮事件
|
|
|
+ */
|
|
|
+ resetQueryClick() {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 新增按钮事件
|
|
|
+ */
|
|
|
+ handleAddClick() {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 转入按钮事件
|
|
|
+ */
|
|
|
+ handleTransferInClick() {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 立即处理按钮事件
|
|
|
+ */
|
|
|
+ handleImmediateProcessingClick() {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 查看资料按钮事件
|
|
|
+ */
|
|
|
+ handleViewMaterialClick() {
|
|
|
+
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 组织关系变更事件
|
|
|
+ */
|
|
|
+ async handleOrgRelationChangeClick() {
|
|
|
+ await this.getSubOptions();
|
|
|
+
|
|
|
+ this.relatedMaterialsUpload = {
|
|
|
+ ...this.relatedMaterialsUpload,
|
|
|
+ isSelect: false,
|
|
|
+ isUploadSuccess: false
|
|
|
+ };
|
|
|
+ this.orgRelationChangeObj.open = true;
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 组织关系变更对话框确定按钮事件
|
|
|
+ */
|
|
|
+ orgRelationChangeSubmitForm() {
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 组织关系变更对话框取消按钮事件
|
|
|
+ */
|
|
|
+ orgRelationChangeCancelClick() {
|
|
|
+ this.orgRelationChangeObj.open = false;
|
|
|
+ this.relatedMaterialsUpload = {
|
|
|
+ ...this.relatedMaterialsUpload,
|
|
|
+ isSelect: false,
|
|
|
+ isUploadSuccess: false,
|
|
|
+ isOnProgress: false
|
|
|
+ };
|
|
|
+ this.orgRelationChangeObj.form = {};
|
|
|
+ this.resetForm("orgRelationChangeFormRef");
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 相关材料PDF文件上传url点击事件
|
|
|
+ */
|
|
|
+ handleRelatedMaterialsUploadUrlClick() {
|
|
|
+ this.pdfDialogVisible = true;
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 相关材料PDF文件上传预处理
|
|
|
+ */
|
|
|
+ handleBeforeUpload(file) {
|
|
|
+ if (file.type.indexOf('application/pdf') === -1) {
|
|
|
+ this.$refs.relatedMaterialsUploadRef.clearFiles();
|
|
|
+ this.msgError('文件格式错误,请上传类型格式为PDF的文件!');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 相关材料PDF文件上传成功处理
|
|
|
+ */
|
|
|
+ handleUploadOnsuccess(response, file, fileList) {
|
|
|
+ // 校验封面图片是否上传成功
|
|
|
+ if (response.code !== 200) {
|
|
|
+ this.$refs.relatedMaterialsUploadRef?.clearFiles?.();
|
|
|
+ this.relatedMaterialsUpload.isSelect = false;
|
|
|
+ this.relatedMaterialsUpload.isUploadSuccess = false;
|
|
|
+ this.msgError('上传PDF文件失败,请重新选择PDF文件上传!');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 绑定封面图片数据
|
|
|
+ this.orgRelationChangeObj.form.bannerUrl = response?.data?.url;
|
|
|
+ this.relatedMaterialsUpload.isUploadSuccess = true;
|
|
|
+
|
|
|
+ // 判断是否继续操作
|
|
|
+ if (this.relatedMaterialsUpload.isOnProgress) {
|
|
|
+ this.relatedMaterialsUpload.isOnProgress = false;
|
|
|
+ this.$confirm(`封面图片上传成功,是否继续${(this.operationTypeByForm === 'SAVE') ? '保存' : ((this.operationTypeByForm === 'RELEASE') ? '发布' : '预览')}数据操作?`, '提示', {
|
|
|
+ confirmButtonText: '确定 ',
|
|
|
+ cancelButtonText: '取消 ',
|
|
|
+ type: 'info'
|
|
|
+ }).then(() => {
|
|
|
+ this.handleBannerSubmitAddEditClick(this.operationTypeByForm);
|
|
|
+ }).catch(() => {
|
|
|
+ this.msgInfo('取消了继续保存数据操作!');
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.$alert('上传成功!', '上传结果', { dangerouslyUseHTMLString: true });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 相关材料PDF文件状态改变
|
|
|
+ */
|
|
|
+ handleUploadOnchange(file, fileList) {
|
|
|
+ if (file.status === 'ready') {
|
|
|
+ if (((file.raw || {}).type || '').indexOf('application/pdf') === -1) {
|
|
|
+ this.$refs.relatedMaterialsUploadRef.clearFiles();
|
|
|
+ this.relatedMaterialsUpload.isSelect = false;
|
|
|
+ this.msgError('文件格式错误,请上传类型格式为PDF的文件!');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.relatedMaterialsUpload.isSelect = true;
|
|
|
+ this.relatedMaterialsUpload.isUploadSuccess = false;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 提交上传相关材料PDF文件
|
|
|
+ */
|
|
|
+ submitRelatedMaterialsUpload() {
|
|
|
+ if (!this.relatedMaterialsUpload.isSelect) { return; }
|
|
|
+ this.$confirm('确定上传操作吗?', '提示', {
|
|
|
+ confirmButtonText: '确定 ',
|
|
|
+ cancelButtonText: '取消 ',
|
|
|
+ type: 'info'
|
|
|
+ }).then(() => {
|
|
|
+ this.$refs.relatedMaterialsUploadRef?.submit?.();
|
|
|
+ }).catch(() => {
|
|
|
+ this.msgInfo('您已取消上传操作!');
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 移除选择相关材料PDF文件
|
|
|
+ */
|
|
|
+ removeRelatedMaterialsUpload() {
|
|
|
+ this.orgRelationChangeObj.form.bannerUrl = '';
|
|
|
+ this.$refs.relatedMaterialsUploadRef.clearFiles();
|
|
|
+ this.relatedMaterialsUpload.isUploadSuccess = false;
|
|
|
+ this.relatedMaterialsUpload.isSelect = false;
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 相关材料PDF文件列表移除文件时的钩子
|
|
|
+ */
|
|
|
+ handleUploadOnRemove(file, fileList) {
|
|
|
+ this.orgRelationChangeObj.form.bannerUrl = '';
|
|
|
+ this.relatedMaterialsUpload.isUploadSuccess = false;
|
|
|
+ this.relatedMaterialsUpload.isSelect = false;
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 相关材料PDF文件超出个数限制时的钩子
|
|
|
+ */
|
|
|
+ handleUploadOnExceed(files, fileList) {
|
|
|
+ this.msgWarning(`只允许上传单个相关材料PDF文件`);
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * PDF文件预览对话框关闭事件
|
|
|
+ */
|
|
|
+ handlePdfCloseClick(visible = false) {
|
|
|
+ this.pdfDialogVisible = visible;
|
|
|
+ }
|
|
|
+ }
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped lang="scss">
|
|
|
+.fullpartymember {
|
|
|
+ &-head {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ margin-bottom: 15px;
|
|
|
+ width: 100%;
|
|
|
+ padding: 10px 20px;
|
|
|
+ background-color: #ffffff;
|
|
|
+ border-radius: 10px;
|
|
|
+
|
|
|
+ &-title {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+
|
|
|
+ div {
|
|
|
+ &:first-child {
|
|
|
+ height: 37px;
|
|
|
+ line-height: 37px;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:last-child {
|
|
|
+ margin-left: 15px;
|
|
|
+ height: 37px;
|
|
|
+ font-size: 26px;
|
|
|
+ font-weight: 400;
|
|
|
+ color: #4f4f4f;
|
|
|
+ line-height: 37px;
|
|
|
+ letter-spacing: 1px;
|
|
|
+ }
|
|
|
+
|
|
|
+ img {
|
|
|
+ width: 34px;
|
|
|
+ height: 34px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &-btn {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+
|
|
|
+ div {
|
|
|
+ &:first-child {
|
|
|
+ margin-right: 15px;
|
|
|
+ height: 37px;
|
|
|
+ font-size: 16px;
|
|
|
+ font-weight: 400;
|
|
|
+ color: #646464;
|
|
|
+ line-height: 37px;
|
|
|
+ letter-spacing: 1px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &-card {
|
|
|
+ margin-right: 10px;
|
|
|
+ font-size: 26px;
|
|
|
+ cursor: pointer;
|
|
|
+ color: #909090;
|
|
|
+
|
|
|
+ &.is-active {
|
|
|
+ color: #e53333;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &-list {
|
|
|
+ font-size: 28px;
|
|
|
+ cursor: pointer;
|
|
|
+ color: #909090;
|
|
|
+
|
|
|
+ &.is-active {
|
|
|
+ color: #e53333;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &-main {
|
|
|
+ padding: 20px 20px 72px;
|
|
|
+ min-height: 660px;
|
|
|
+ background: url("../../../assets/images/home-head-img.png"), #ffffff;
|
|
|
+ background-size: 67px 67px, cover;
|
|
|
+ background-position: right 20px bottom 5px, center;
|
|
|
+ background-repeat: no-repeat, no-repeat;
|
|
|
+ border-radius: 10px;
|
|
|
+
|
|
|
+ &-list {
|
|
|
+ position: relative;
|
|
|
+ margin: 20px 0 10px;
|
|
|
+ width: 100%;
|
|
|
+
|
|
|
+ .list-row {
|
|
|
+ position: relative;
|
|
|
+ width: 100%;
|
|
|
+
|
|
|
+ .list-cell {
|
|
|
+ float: left;
|
|
|
+ margin: 0 10px 20px 10px;
|
|
|
+ // overflow: hidden;
|
|
|
+ width: 203px;
|
|
|
+ height: 283px;
|
|
|
+ background: #de0010;
|
|
|
+
|
|
|
+ &-name {
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ margin-top: -5px;
|
|
|
+ width: 100%;
|
|
|
+ height: 45px;
|
|
|
+ font-size: 20px;
|
|
|
+ font-weight: 400;
|
|
|
+ color: #ffffff;
|
|
|
+ line-height: 28px;
|
|
|
+ opacity: 0.8;
|
|
|
+ }
|
|
|
+
|
|
|
+ &-img {
|
|
|
+ img {
|
|
|
+ width: 203px;
|
|
|
+ height: 239px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .list-cell-shield {
|
|
|
+ display: none;
|
|
|
+ position: absolute;
|
|
|
+ margin-top: -243px;
|
|
|
+ width: 203px;
|
|
|
+ height: 239px;
|
|
|
+ background-image: none;
|
|
|
+ background-color: rgba(0, 0, 0, 0.3);
|
|
|
+
|
|
|
+ &-content {
|
|
|
+ padding: 20px 30px;
|
|
|
+ width: 100%;
|
|
|
+
|
|
|
+ .shield-content-label {
|
|
|
+ width: 100%;
|
|
|
+ font-weight: 400;
|
|
|
+ font-size: 20px;
|
|
|
+ color: #ffffff;
|
|
|
+ }
|
|
|
+
|
|
|
+ .shield-content-datetime {
|
|
|
+ margin: 20px 0 40px;
|
|
|
+ width: 100%;
|
|
|
+ font-weight: 400;
|
|
|
+ font-size: 18px;
|
|
|
+ color: #ffffff;
|
|
|
+ }
|
|
|
+
|
|
|
+ .shield-content-relation {
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ margin-top: 20px;
|
|
|
+ width: 100%;
|
|
|
+ font-weight: 400;
|
|
|
+ font-size: 14px;
|
|
|
+ color: #ffffff;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &:hover .list-cell-shield {
|
|
|
+ display: block;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &-nodata {
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ width: 100%;
|
|
|
+ height: 386px;
|
|
|
+ border: 1px solid #b5b5b5;
|
|
|
+ border-radius: 5px;
|
|
|
+ color: #747474;
|
|
|
+ opacity: 0.8;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.orgrelationchange-dialog {
|
|
|
+ &-relatedmaterialsupload {
|
|
|
+ ::v-deep {
|
|
|
+ .el-upload {
|
|
|
+ width: 100%;
|
|
|
+ border: 1px dashed #d9d9d9;
|
|
|
+ border-radius: 6px;
|
|
|
+ cursor: pointer;
|
|
|
+ position: relative;
|
|
|
+ overflow: hidden;
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ border-color: #409eff;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-upload-list.el-upload-list--text {
|
|
|
+ .el-upload-list__item:first-child {
|
|
|
+ margin-top: 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .relatedmaterialsupload-content {
|
|
|
+ width: 100%;
|
|
|
+ height: 32px;
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: 400;
|
|
|
+ color: #8c939d;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .attachment-addr {
|
|
|
+ margin: 5px 0;
|
|
|
+ div {
|
|
|
+ &:first-child,
|
|
|
+ &:last-child {
|
|
|
+ margin-left: 4px;
|
|
|
+ width: 100%;
|
|
|
+ height: 20px;
|
|
|
+ vertical-align: middle;
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: 400;
|
|
|
+ color: #606266;
|
|
|
+ line-height: 20px;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:last-child {
|
|
|
+ height: 25px;
|
|
|
+ line-height: 25px;
|
|
|
+ cursor: pointer;
|
|
|
+ opacity: 0.8;
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ color: #409eff;
|
|
|
+ text-decoration: underline;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|