Browse Source

buile——6

xvying 1 year ago
parent
commit
a5222bcf90
2 changed files with 1251 additions and 1251 deletions
  1. 2 2
      online/static/js/app.js
  2. 1249 1249
      src/views/organization/detail.vue

File diff suppressed because it is too large
+ 2 - 2
online/static/js/app.js


+ 1249 - 1249
src/views/organization/detail.vue

@@ -1,1249 +1,1249 @@
-<!--组织详情-->
-<template>
-  <div class="index-home">
-    <div v-loading.fullscreen.lock="loadingFull" />
-    <div class="first">
-      <div class="name">{{ organDetail.name }}</div>
-      <div class="left">
-        <div class="title">
-          <div>支部书记:</div>
-          <div>支部副书记:</div>
-          <div>支部青年委员:</div>
-          <div>支部宣传委员:</div>
-          <div>支部组织委员:</div>
-          <div>换届时间(创建时间):</div>
-          <div>届数:</div>
-        </div>
-        <div class="text">
-          <div>{{ testEmpety(organDetail.zb_sj) }}</div>
-          <div>{{ testEmpety(organDetail.zb_fsj) }}</div>
-
-          <div>{{ testEmpety(organDetail.zb_qnwy) }}</div>
-
-          <div>{{ testEmpety(organDetail.zb_xcwy) }}</div>
-
-          <div>{{ testEmpety(organDetail.zb_wy) }}</div>
-          <div>{{ testEmpety(organDetail.zb_hj_date) }}</div>
-          <div>第{{ testEmpety(organDetail.zb_rq) }}届</div>
-        </div>
-      </div>
-      <div class="left">
-        <div class="title">
-          <div class="can-click" @click="handleSetLineChartData(5)">
-            正式党员数:
-          </div>
-          <div class="can-click" @click="handleSetLineChartData(4)">
-            预备党员数:
-          </div>
-          <div class="can-click" @click="handleSetLineChartData(6)">
-            发展对象数:
-          </div>
-          <div class="can-click" @click="handleSetLineChartData(3)">
-            积极分子数:
-          </div>
-          <div class="can-click" @click="skipRudangZhiyuan">
-            上交入党申请书人数:
-          </div>
-          <div>状态:</div>
-        </div>
-        <div class="text">
-          <div class="can-click" @click="handleSetLineChartData(5)">
-            {{ organDetail.party_member_num }}
-          </div>
-          <div class="can-click" @click="handleSetLineChartData(4)">
-            {{ organDetail.prepare_party_member_num }}
-          </div>
-          <div class="can-click" @click="handleSetLineChartData(6)">
-            {{ organDetail.development_member_num }}
-          </div>
-          <div class="can-click" @click="handleSetLineChartData(3)">
-            {{ organDetail.activists_member_num }}
-          </div>
-          <div class="can-click" @click="skipRudangZhiyuan">
-            {{ organDetail.apply_member_num }}
-          </div>
-          <div>
-            <el-tag v-if="organDetail.status == 1" size="mini">正常</el-tag>
-            <el-tag v-else type="danger" size="mini">暂停</el-tag>
-          </div>
-        </div>
-      </div>
-    </div>
-    <div>
-      <el-row :gutter="40" class="panel-group">
-        <el-col
-          :xs="8"
-          :sm="8"
-          :lg="4"
-          v-for="(item, index) in statisticsList"
-          :key="index"
-          class="card-panel-col no-bottom"
-        >
-          <div class="card-panel">
-            <div
-              class="card-panel-icon-wrapper icon-people"
-              v-if="item.id == 1"
-            >
-              <img
-                src="@/assets/image/jiji.png"
-                alt=""
-                srcset=""
-                class="card-img"
-              />
-            </div>
-            <div
-              class="card-panel-icon-wrapper icon-message"
-              v-if="item.id == 2"
-            >
-              <img
-                src="@/assets/image/fazhan.png"
-                alt=""
-                srcset=""
-                class="card-img"
-              />
-            </div>
-            <div class="card-panel-icon-wrapper icon-money" v-if="item.id == 3">
-              <img
-                src="@/assets/image/yubei.png"
-                alt=""
-                srcset=""
-                class="card-img"
-              />
-            </div>
-            <div class="card-panel-icon-wrapper icon-money" v-if="item.id == 4">
-              <img
-                src="@/assets/image/dangxiaozu.png"
-                alt=""
-                srcset=""
-                class="card-img"
-              />
-            </div>
-            <div class="card-panel-icon-wrapper icon-money" v-if="item.id == 5">
-              <img
-                src="@/assets/image/weiyuan.png"
-                alt=""
-                srcset=""
-                class="card-img"
-              />
-            </div>
-            <div class="card-panel-icon-wrapper icon-money" v-if="item.id == 6">
-              <img
-                src="@/assets/image/zuzhishenghuo.png"
-                alt=""
-                srcset=""
-                class="card-img"
-              />
-            </div>
-            <div class="card-panel-description">
-              <div class="card-panel-text">
-                {{ item.name }}
-              </div>
-              <count-to
-                :start-val="0"
-                :end-val="item.nums"
-                class="card-panel-num"
-              />
-            </div>
-          </div>
-        </el-col>
-      </el-row>
-    </div>
-    <div class="second">
-      <div class="left">
-        <div class="title" style="text-algin: left">支部活动记录</div>
-        <div class="search">
-          <el-form
-            ref="searchParams"
-            :inline="true"
-            :model="queryForm"
-            label-width="80px"
-          >
-            <el-input
-              v-model="queryForm.title"
-              placeholder="活动名称"
-              clearable
-            />
-
-            <el-select
-              v-model="queryForm.category_id"
-              filterable
-              clearable
-              placeholder="请选择活动分类"
-            >
-              <el-option
-                v-for="item in activeSortList"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              >
-              </el-option>
-            </el-select>
-
-            <el-button
-              type="primary"
-              @click="searchRecord"
-              icon="el-icon-search"
-              >搜索</el-button
-            >
-            <el-button
-              type="success"
-              icon="el-icon-edit"
-              @click="(recordVisible = true), (type = 1)"
-              >添加记录</el-button
-            >
-          </el-form>
-        </div>
-        <el-table
-          :data="changeRecord"
-          border
-          style="width: 100%"
-          max-height="450"
-        >
-          <el-table-column label="序号" width="60" type="index" align="center">
-          </el-table-column>
-          <el-table-column
-            prop="title"
-            label="活动标题"
-            min-width="200"
-            align="center"
-          >
-          </el-table-column>
-          <el-table-column
-            prop="day"
-            label="活动日期"
-            min-width="120"
-            align="center"
-          >
-          </el-table-column>
-          <el-table-column
-            prop="compere"
-            label="主持人"
-            min-width="120"
-            align="center"
-          >
-          </el-table-column>
-          <el-table-column
-            prop="participant"
-            label="参与人"
-            min-width="120"
-            align="center"
-          >
-          </el-table-column>
-          <el-table-column
-            prop="address"
-            label="活动地点"
-            min-width="120"
-            align="center"
-          >
-          </el-table-column>
-          <el-table-column
-            prop="type"
-            label="活动类型"
-            min-width="100"
-            align="center"
-          >
-          </el-table-column>
-          <el-table-column
-            prop="self_point"
-            label="自评分数"
-            min-width="100"
-            align="center"
-          >
-          </el-table-column>
-          <el-table-column
-            prop="mutual_point"
-            label="互评分数"
-            min-width="100"
-            align="center"
-          >
-          </el-table-column>
-          <el-table-column
-            prop="created_at"
-            label="创建时间"
-            min-width="155"
-            align="center"
-          >
-          </el-table-column>
-          <el-table-column
-            prop="updated_at"
-            label="修改时间"
-            min-width="155"
-            align="center"
-          >
-          </el-table-column>
-          <el-table-column
-            fixed="right"
-            label="操作"
-            align="center"
-            width="210"
-          >
-            <template slot-scope="{ row }">
-              <el-button
-                @click="recordDetail(row.id)"
-                type="primary"
-                plain
-                size="mini"
-                >详情</el-button
-              >
-              <el-button
-                type="success"
-                plain
-                size="mini"
-                @click="editDetail(row)"
-                >编辑</el-button
-              >
-              <el-button
-                type="warning"
-                plain
-                size="mini"
-                @click="deleteRecord(row.id)"
-                >删除</el-button
-              >
-            </template>
-          </el-table-column>
-        </el-table>
-        <el-pagination
-          background
-          :current-page="queryForm.page"
-          :layout="layout"
-          :page-size="queryForm.per_page"
-          :page-sizes="[15, 20, 30, 40, 50, 100]"
-          :total="total"
-          @current-change="handleCurrentChange"
-          @size-change="handleSizeChange"
-        />
-      </div>
-      <!--查看详情-->
-      <el-dialog
-        title="查看详情"
-        :visible.sync="dialogVisible"
-        width="30%"
-        center
-      >
-        <div class="details">
-          <div class="det">
-            <div class="left_1">支部名称:{{ organDetail.name }}</div>
-            <div class="right_1">支部书记:{{ recDetails.zb_sj }}</div>
-          </div>
-          <div class="det">
-            <div class="left_1">换届日期:{{ recDetails.zb_hj_date }}</div>
-            <div class="right_1">届数:{{ recDetails.zb_rq }}</div>
-          </div>
-          <div class="det">
-            <div class="left_1">支部组织委员:{{ recDetails.zb_wy }}</div>
-            <div class="right_1">支部宣传委员:{{ recDetails.zb_xcwy }}</div>
-          </div>
-          <div class="det">
-            <div class="left_1" style="flex: 0 0 20%">其他任职人员:</div>
-            <div class="right_1">
-              <div
-                v-for="(item, index1) in recDetails.zb_qtry"
-                :key="index1"
-                style="height: 40px; line-height: 50px"
-              >
-                <span>{{ item.name }}</span> <span>({{ item.job }})</span>
-              </div>
-            </div>
-          </div>
-        </div>
-        <span slot="footer" class="dialog-footer">
-          <el-button type="primary" @click="dialogVisible = false"
-            >关闭</el-button
-          >
-        </span>
-      </el-dialog>
-      <!--新增换届记录-->
-      <el-dialog
-        :title="formType == 0 ? '新增支部活动' : '编辑支部活动'"
-        :visible.sync="recordVisible"
-        width="700px"
-        @close="closeForm"
-        center
-      >
-        <el-form
-          :model="setupForm"
-          ref="setupForm"
-          label-width="100px"
-          :rules="rules"
-          class="demo-ruleForm"
-        >
-          <el-form-item label="活动标题" prop="title">
-            <el-input
-              v-model="setupForm.title"
-              placeholder="请填写活动标题"
-            ></el-input>
-          </el-form-item>
-          <el-form-item label="活动分类" prop="category_id">
-            <el-select
-              v-model="setupForm.category_id"
-              filterable
-              placeholder="请选择活动分类"
-              style="width: 100%"
-            >
-              <el-option
-                v-for="item in activeSortList"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="支部自评" prop="self_point">
-            <el-input
-              v-model="setupForm.self_point"
-              placeholder="请填写支部自评分数"
-            />
-          </el-form-item>
-          <el-form-item label="活动日期" prop="day">
-            <el-date-picker
-              v-model="setupForm.day"
-              type="date"
-              format="yyyy-MM-dd"
-              value-format="yyyy-MM-dd"
-              placeholder="选择日期"
-            >
-            </el-date-picker>
-            <!-- <el-date-picker
-              v-model="setupForm.day"
-              type="date"
-              placeholder="选择活动日期时间"
-              value-format="yyyy-MM-dd"
-            >
-            </el-date-picker> -->
-          </el-form-item>
-          <el-form-item label="主持人" prop="compere">
-            <el-input
-              v-model="setupForm.compere"
-              placeholder="请填写活动主持人"
-            ></el-input>
-          </el-form-item>
-          <el-form-item label="参与人员" prop="participant">
-            <el-input
-              v-model="setupForm.participant"
-              placeholder="请填写活动参与人员"
-            ></el-input>
-          </el-form-item>
-          <el-form-item label="活动地址" prop="address">
-            <el-input
-              v-model="setupForm.address"
-              placeholder="请填写活动地址"
-            ></el-input>
-          </el-form-item>
-          <div class="position">
-            <span class="star">*</span>
-            <el-form-item label="封面图" prop="cover">
-              <div class="pre-cover" v-if="formType == 1 && uploadType == 0">
-                <img :src="setupForm.cover" alt="" />
-              </div>
-              <el-upload
-                class="upload-demo"
-                ref="upload"
-                :action="base_url + '/upload'"
-                :file-list="fileList"
-                :auto-upload="true"
-                :on-success="uploadSuccess"
-                :multiple="true"
-                :data="fileData"
-                accept=".jpg,.jpeg,.png"
-                list-type="picture"
-              >
-                <el-button slot="trigger" size="mini" type="primary">{{
-                  formType == 0 ? "选择图片" : "重新上传"
-                }}</el-button>
-                <div slot="tip" class="el-upload__tip">
-                  只能上传jpg/png文件,且不超过500kb
-                </div>
-              </el-upload>
-            </el-form-item>
-          </div>
-          <div class="position">
-            <span class="star">*</span>
-            <el-form-item label="活动内容" prop="body">
-              <tinymce v-model="setupForm.body" :height="300" />
-            </el-form-item>
-          </div>
-          <el-form-item label="活动类型" prop="type">
-            <el-select
-              v-model="setupForm.type"
-              filterable
-              placeholder="请选择活动类型(线上、线下)"
-              style="width: 100%"
-            >
-              <el-option
-                v-for="item in activeType"
-                :key="item"
-                :label="item"
-                :value="item"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
-          <!--
-          <el-form-item label="活动状态" prop="status">
-            <el-select
-              v-model="setupForm.status"
-              filterable
-              placeholder="请选择"
-              style="width:100%"
-            >
-              <el-option
-                v-for="item in status"
-                :key="item.value"
-                :label="item.name"
-                :value="item.value"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>-->
-          <el-form-item v-if="formType == 0">
-            <el-button
-              type="primary"
-              v-if="formType == 0"
-              @click="submitForm('setupForm')"
-              >立即创建</el-button
-            >
-            <el-button @click="resetForm('setupForm')">重置</el-button>
-          </el-form-item>
-          <el-form-item v-if="formType == 1">
-            <el-button type="primary" @click="saveEdit('setupForm')"
-              >保存编辑</el-button
-            >
-            <el-button @click="cancelForm('setupForm')">取消</el-button>
-          </el-form-item>
-        </el-form>
-      </el-dialog>
-    </div>
-  </div>
-</template>
-<script>
-import {
-  organizaDetail,
-  changeRecords,
-  setupRecord,
-  updateRecord,
-  deleteRecord,
-  activeSort,
-  activeStatistics,
-} from "@/api/organizationDetail/index";
-
-import Tinymce from "@/components/Tinymce";
-import CountTo from "vue-count-to";
-export default {
-  data() {
-    return {
-      uploadType: 0, //点击重新上传变为1 隐藏已上传图片
-      formType: 0, //0添加,//1 编辑
-      organDetail: "",
-      loadingFull: false,
-      imgDetaildialogVisible: false,
-      changeRecord: [], //换届记录
-      dialogVisible: false,
-      recDetails: {}, //记录详情,
-      recordVisible: false, //新增换届记录
-      recordVisible1: false, //编辑换届记录
-      fileDialogVisible: false, //新建文件列表
-      detailVisible: false, //文件详情
-      queryForm: {
-        page: 1,
-        per_page: 15,
-        title: "",
-      },
-      searchParams: {
-        name: "", //支部名称
-        type: "",
-        zb_sj: "",
-        limit: 15, //每页显示条数
-        page: 1, //当前页码
-      }, //搜索框数据
-      setupForm: {
-        organization_id: "", //当前支部id
-        status: 1,
-        category_id: "",
-        type: "线下活动",
-        day: "",
-      },
-      status: [
-        {
-          value: 0,
-          name: "暂停",
-        },
-        {
-          value: 1,
-          name: "正常",
-        },
-      ],
-      fileType: [
-        {
-          value: 0,
-          name: "富文本",
-        },
-        {
-          value: 1,
-          name: "图片",
-        },
-        {
-          value: 2,
-          name: "文件",
-        },
-      ], //文件类型选择列表
-      fileDetail: "",
-      type: "", //类型1为新增 2为编辑
-      id: "",
-      danganList: [], //换届文档列表
-      creatFile: {
-        type: "",
-        organization_id: "",
-        organization_activity_id: "",
-        name: "",
-        status: 1,
-        self_point: "",
-        body: "",
-      }, //
-      rules: {
-        title: [
-          {
-            required: true,
-            message: "请输入标题",
-            trigger: "blur",
-          },
-        ],
-        category_id: [
-          {
-            required: true,
-            message: "请选择活动分类",
-            trigger: "change",
-          },
-        ],
-        day: [
-          {
-            required: true,
-            message: "请选择日期",
-            trigger: "change",
-          },
-        ],
-        type: [
-          {
-            required: true,
-            message: "请选择活动类型",
-            trigger: "change",
-          },
-        ],
-        self_point: [
-          {
-            required: true,
-            message: "请填写活动自评分数",
-            trigger: "blur",
-          },
-        ],
-        address: [
-          {
-            required: true,
-            message: "请填写活动地址",
-            trigger: "blur",
-          },
-        ],
-        compere: [
-          {
-            required: true,
-            message: "请填写主持人员",
-            trigger: "blur",
-          },
-        ],
-        participant: [
-          {
-            required: true,
-            message: "请填写参与人员",
-            trigger: "blur",
-          },
-        ],
-        status: [
-          {
-            required: true,
-            message: "请选择状态",
-            trigger: "change",
-          },
-        ],
-      }, //表格验证规则
-      activeName: "image",
-      fileData: {
-        file_type: "img",
-      },
-      fileList: [], //上传挡案文件列表
-      resourceIds: [], //文件id
-      file: "",
-      rowId: "",
-      otherPerson: [
-        {
-          index: "",
-          name: "",
-          job: "",
-        },
-      ],
-      bigImage: "",
-      activeType: ["线下活动", "线上活动"],
-      total: 0,
-      layout: "total, sizes, prev, pager, next, jumper",
-      activeSortList: [], //活动分类列表
-      statisticsList: [], //活动统计列表
-    };
-  },
-  components: { Tinymce, CountTo },
-  created() {
-    const id = this.$route.query.id;
-    this.id = id;
-    this.setupForm.organization_id = id;
-    this.creatFile.organization_id = id;
-    this.queryForm.organization_id = id;
-    this.detail(id);
-    this.record();
-    this.creatFile.type = 1;
-    this.fileData.file_type = "img";
-    this.activeSort();
-    this.activeStatistics();
-  },
-  methods: {
-    testEmpety(value) {
-      if (value) return value;
-      else return "--";
-    },
-    handleSetLineChartData(type) {
-      this.$router.push({
-        path: "/personnel/index",
-        query: {
-          politics_status: type,
-          organization_id: this.id,
-        },
-      });
-    },
-    //上传入党志愿书人数
-    skipRudangZhiyuan() {
-      this.$router.push({
-        path: "/personnel/index",
-        query: {
-          organization_id: this.id,
-          is_rdsqs: 1,
-        },
-      });
-    },
-    //获取活动分类
-    async activeSort() {
-      this.activeSortList = [];
-      const { data } = await activeSort();
-      for (let key in data) {
-        console.log(key, data[key], "pppp");
-        this.activeSortList.push({
-          value: key,
-          label: data[key],
-        });
-      }
-    },
-    //获取活动分类统计
-    async activeStatistics() {
-      var date = new Date();
-      var y = date.getFullYear();
-      let params = {
-        organization_id: this.id,
-        year: y,
-      };
-      const { data } = await activeStatistics(params);
-      this.statisticsList = data;
-      console.log(data, "获取活动分类统计");
-    },
-    //pageSize 改变时会触发
-    handleSizeChange(val) {
-      this.queryForm.per_page = val;
-      this.searchRecord();
-    },
-    //	currentPage 改变时会触发
-    handleCurrentChange(val) {
-      this.queryForm.page = val;
-      this.searchRecord();
-    },
-    //关闭大图
-    closeBigImg() {
-      this.imgDetaildialogVisible = false;
-    },
-    //查看大图
-    imageDetail(item) {
-      this.imgDetaildialogVisible = true;
-      this.bigImage = item;
-    },
-    //组织信息
-    async detail(id) {
-      this.loadingFull = true;
-      await organizaDetail(id).then((res) => {
-        this.organDetail = res.data;
-        this.loadingFull = false;
-      });
-    },
-    //搜索换届记录
-    async searchRecord() {
-      this.queryForm.page = 1;
-      this.loadingFull = true;
-      await changeRecords(this.queryForm).then((res) => {
-        this.changeRecord = res.data.data;
-        this.loadingFull = false;
-      });
-    },
-    //组织换届记录列表
-    async record(id) {
-      this.loadingFull = true;
-      await changeRecords(this.queryForm).then((res) => {
-        this.loadingFull = false;
-        console.log(res, "res");
-        this.changeRecord = res.data.data;
-        this.total = res.data.meta.pagination.total;
-      });
-    },
-
-    //换届记录详情
-    async recordDetail(id) {
-      this.$router.push({
-        path: "/organization/list_details",
-        query: {
-          id: id,
-          organization_id: this.$route.query.id,
-        },
-      });
-    },
-    //编辑换届记录
-    editDetail: function (row) {
-      this.formType = 1;
-      this.recordVisible = true;
-      this.setupForm = Object.assign({}, row);
-      this.setupForm.category_id = this.setupForm.category_id.toString();
-      this.setupForm.organization_id = this.$route.query.id;
-    },
-    //saveEdit保存编辑
-    async saveEdit(formName) {
-      this.$refs[formName].validate(async (valid) => {
-        if (valid) {
-          await updateRecord(this.setupForm).then((res) => {
-            this.$message({
-              message: "编辑成功",
-              type: "success",
-            });
-            this.recordVisible = false;
-            this.loadingFull = false;
-            this.uploadType = 0;
-            this.$refs[formName].resetFields();
-          });
-        }
-      });
-    },
-    //删除换届记录
-    deleteRecord(id) {
-      this.$confirm("此操作将删除此换届记录, 是否继续?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning",
-      })
-        .then(() => {
-          this.sureDeleteRecord(id);
-        })
-        .catch(() => {
-          this.$message({
-            type: "info",
-            message: "已取消删除",
-          });
-        });
-    },
-    async sureDeleteRecord(id) {
-      await deleteRecord(id).then((res) => {
-        if (!res.code) {
-          this.$message({
-            message: "删除成功",
-            type: "success",
-          });
-          this.record(this.id);
-        } else {
-          this.$message({
-            message: "删除失败",
-            type: "error",
-          });
-        }
-      });
-    },
-    //创建换届记录
-    submitForm(formName) {
-      this.$refs[formName].validate(async (valid) => {
-        if (valid) {
-          var reg = new RegExp("^(\\d|[1-9]\\d|100)$");
-          if (!reg.test(this.setupForm.self_point)) {
-            this.$message({
-              message: "请输入0-100的整数!",
-              type: "warning",
-            });
-            return;
-          }
-          if (!this.setupForm.cover) {
-            this.$message({
-              type: "error",
-              message: "请上传封面图!",
-            });
-            return;
-          }
-          if (!this.setupForm.body) {
-            this.$message({
-              type: "error",
-              message: "请填写活动内容!",
-            });
-            return;
-          }
-
-          await this.setup(formName);
-          this.loadingFull = false;
-        }
-      });
-    },
-    async setup(formName) {
-      // this.setupForm.zb_qtry=this.setupForm.zb_qtry.toString()
-      await setupRecord(this.setupForm).then((res) => {
-        this.loadingFull = false;
-        this.recordVisible = false;
-        this.$refs[formName].resetFields();
-        this.fileList = [];
-        this.setupForm.body = "";
-        this.record(this.id);
-      });
-    },
-    resetForm(formName) {
-      this.$refs[formName].resetFields();
-    },
-    cancelForm() {
-      this.recordVisible = false;
-      this.setupForm = {};
-      this.setupForm.status = 1;
-      this.setupForm.organization_id = this.$route.query.id;
-      this.setupForm.body = "";
-      this.formType = 0;
-    },
-    closeForm() {
-      this.recordVisible = false;
-      this.setupForm = {};
-      this.setupForm.status = 1;
-      this.setupForm.organization_id = this.$route.query.id;
-      this.setupForm.body = "";
-      this.formType = 0;
-    },
-
-    uploadSuccess(response, file, fileList) {
-      if (response.code == 200) {
-        this.setupForm.cover = response.data.url;
-        this.uploadType = 1;
-        this.file = response.data.url;
-        this.resourceIds.push(response.data.id);
-      }
-    },
-    //添加其他人员及职务
-    addOtherPerson(type) {
-      this.index = this.index++;
-      this.otherPerson.push({
-        name: "",
-        index: this.index,
-        job: "",
-      });
-      this.setupForm.zb_qtry = this.otherPerson;
-    },
-  },
-};
-</script>
-<style lang="scss" scoped>
-@import "@/assets/styles/content.scss";
-.pre-cover {
-  width: 100%;
-  border-radius: 12px;
-  overflow: hidden;
-  height: 100px;
-  border: solid 1px rgb(219, 217, 217);
-  img {
-    height: 100px;
-  }
-}
-.position {
-  position: relative;
-  .star {
-    position: absolute;
-    top: 15px;
-    left: 25px;
-    color: red;
-  }
-}
-.el-table .warning-row {
-  background: #ecf5ff;
-}
-.el-dialog__body {
-  padding-top: 0 !important;
-}
-.edit-image {
-  text-align: center;
-  display: flex;
-  flex-flow: row wrap;
-}
-
-.img-list {
-  flex: 0 0 200px;
-  height: 200px;
-  width: 200px;
-  margin: 20px 5px 5px;
-  overflow: hidden;
-  img {
-    border: 1px solid #ccc;
-    border-radius: 5px;
-    height: 200px;
-    width: 200px;
-  }
-}
-.big-img {
-  position: fixed;
-  z-index: 99999;
-  width: 100%;
-  height: 100%;
-  top: 0;
-  left: 0;
-  background-color: rgba(0, 0, 0, 0.6);
-  overflow: hidden;
-  .img-border {
-    height: 90vh;
-    width: 50%;
-    min-width: 500px;
-    margin: 0 auto;
-    margin-top: 5vh;
-    background-color: #ffffff;
-    overflow: auto;
-    text-align: center;
-    line-height: 80vh;
-  }
-  img {
-    /* margin-top: 3%; */
-    width: 100%;
-  }
-}
-.first {
-  margin-top: 10px;
-  box-shadow: 5px 5px 7px 7px #f1f0f0;
-
-  padding: 20px;
-  border-radius: 10px;
-  .name {
-    font-size: 30px;
-    font-weight: 500;
-    margin-bottom: 20px;
-  }
-  .left {
-    display: inline-block;
-    vertical-align: middle;
-    color: #535353;
-    min-width: 30%;
-    .title {
-      width: 35%;
-      display: inline-block;
-      /*text-align: right;*/
-      div {
-        height: 30px;
-        line-height: 30px;
-        font-size: 14px;
-      }
-    }
-    .text {
-      display: inline-block;
-      div {
-        height: 30px;
-        line-height: 30px;
-        font-size: 14px;
-      }
-    }
-  }
-  .right {
-    display: inline-block;
-    vertical-align: middle;
-    width: 30%;
-    margin-left: 20px;
-    color: #535353;
-    div {
-      height: 30px;
-      line-height: 30px;
-      font-size: 14px;
-    }
-  }
-  .can-click {
-    cursor: pointer;
-  }
-}
-.card-img {
-  height: 40px;
-}
-
-.panel-group {
-  margin-top: 18px;
-
-  .card-panel-col {
-    margin-bottom: 32px;
-  }
-  .no-bottom {
-    margin-bottom: 0;
-  }
-  .card-panel {
-    height: 95px;
-    cursor: pointer;
-    font-size: 12px;
-    position: relative;
-    overflow: hidden;
-    color: #666;
-    background: #fff;
-    box-shadow: 4px 4px 40px rgba(0, 0, 0, 0.05);
-    border-color: rgba(0, 0, 0, 0.05);
-
-    &:hover {
-      .card-panel-icon-wrapper {
-        color: #ffffff;
-      }
-    }
-    .card-panel-icon-wrapper {
-      float: left;
-      margin: 8px 0 0 8px;
-      padding: 16px 10px;
-      transition: all 0.38s ease-out;
-      border-radius: 6px;
-    }
-    .card-panel-icon {
-      float: left;
-      font-size: 48px;
-    }
-
-    .card-panel-description {
-      float: right;
-      font-weight: bold;
-      margin: 26px;
-      margin-left: 0px;
-      text-align: right;
-
-      .card-panel-text {
-        line-height: 18px;
-        color: rgba(0, 0, 0, 0.45);
-        font-size: 16px;
-        margin-bottom: 12px;
-      }
-
-      .card-panel-num {
-        font-size: 20px;
-        text-align: right;
-      }
-    }
-  }
-}
-.second {
-  margin-top: 30px;
-  display: flex;
-  .left {
-    flex: 1;
-    padding: 10px;
-    padding-bottom: 30px;
-    width: 58%;
-    margin-right: 5px;
-    background-color: #ffffff;
-    box-shadow: 5px 5px 7px 7px #f1f0f0;
-  }
-  .title {
-    font-size: 22px;
-    font-weight: 500;
-    height: 50px;
-    line-height: 50px;
-    margin-bottom: 5px;
-  }
-  .right {
-    box-shadow: 5px 5px 7px 7px #f1f0f0;
-    flex: 1;
-    width: 35%;
-    padding: 10px;
-    background-color: #ffffff;
-    padding-bottom: 30px;
-  }
-  /*.el-button+.el-button{
-      margin: 0px;
-      margin-top: 5px
-  }*/
-
-  .details {
-    .det {
-      display: flex;
-      .left_1 {
-        flex: 1;
-        height: 50px;
-        line-height: 50px;
-        font-size: 14px;
-        width: 50%;
-      }
-      .right_1 {
-        flex: 1;
-        height: 50px;
-        width: 50%;
-        line-height: 50px;
-        font-size: 14px;
-      }
-    }
-  }
-}
-/*去掉input加减按钮 */
-input::-webkit-outer-spin-button,
-input::-webkit-inner-spin-button {
-  -webkit-appearance: none;
-}
-.other_personnel {
-  display: inline-block;
-  vertical-align: middle;
-  margin-bottom: 10px;
-  width: 90%;
-  .svg-icon {
-    vertical-align: middle;
-  }
-  .el-input {
-    width: 45% !important;
-    display: inline-block;
-    vertical-align: middle;
-    margin-right: 20px;
-  }
-}
-.demo-ruleForm {
-  margin: 30px;
-  ::v-deep {
-    .el-select,
-    .el-date-editor {
-      width: 100%;
-    }
-  }
-}
-.title {
-  height: 50px;
-  line-height: 50px;
-  /* text-align: center; */
-  font-size: 30px;
-}
-.content {
-  margin-top: 20px;
-  font-size: 16px;
-  line-height: 22px;
-}
-.image {
-  margin-top: 30px;
-
-  text-align: center;
-}
-
-.text {
-  height: 50px;
-  font-size: 16px;
-  color: #409eff;
-  margin-top: 20px;
-}
-.title-time {
-  text-align: center;
-  margin-top: 10px;
-  font-size: 14px;
-  color: rgb(143, 142, 142);
-}
-.search .el-input {
-  width: 200px !important;
-}
-</style>
+<!--组织详情-->
+<template>
+  <div class="index-home">
+    <div v-loading.fullscreen.lock="loadingFull" />
+    <div class="first">
+      <div class="name">{{ organDetail.name }}</div>
+      <div class="left">
+        <div class="title">
+          <div>支部书记:</div>
+          <div>支部副书记:</div>
+          <div>支部青年委员:</div>
+          <div>支部宣传委员:</div>
+          <div>支部组织委员:</div>
+          <div>换届时间(创建时间):</div>
+          <div>届数:</div>
+        </div>
+        <div class="text">
+          <div>{{ testEmpety(organDetail.zb_sj) }}</div>
+          <div>{{ testEmpety(organDetail.zb_fsj) }}</div>
+
+          <div>{{ testEmpety(organDetail.zb_qnwy) }}</div>
+
+          <div>{{ testEmpety(organDetail.zb_xcwy) }}</div>
+
+          <div>{{ testEmpety(organDetail.zb_wy) }}</div>
+          <div>{{ testEmpety(organDetail.zb_hj_date) }}</div>
+          <div>第{{ testEmpety(organDetail.zb_rq) }}届</div>
+        </div>
+      </div>
+      <div class="left">
+        <div class="title">
+          <div class="can-click" @click="handleSetLineChartData(5)">
+            正式党员数:
+          </div>
+          <div class="can-click" @click="handleSetLineChartData(4)">
+            预备党员数:
+          </div>
+          <div class="can-click" @click="handleSetLineChartData(6)">
+            发展对象数:
+          </div>
+          <div class="can-click" @click="handleSetLineChartData(3)">
+            积极分子数:
+          </div>
+          <div class="can-click" @click="skipRudangZhiyuan">
+            上交入党申请书人数:
+          </div>
+          <div>状态:</div>
+        </div>
+        <div class="text">
+          <div class="can-click" @click="handleSetLineChartData(5)">
+            {{ organDetail.party_member_num }}
+          </div>
+          <div class="can-click" @click="handleSetLineChartData(4)">
+            {{ organDetail.prepare_party_member_num }}
+          </div>
+          <div class="can-click" @click="handleSetLineChartData(6)">
+            {{ organDetail.development_member_num }}
+          </div>
+          <div class="can-click" @click="handleSetLineChartData(3)">
+            {{ organDetail.activists_member_num }}
+          </div>
+          <div class="can-click" @click="skipRudangZhiyuan">
+            {{ organDetail.apply_member_num }}
+          </div>
+          <div>
+            <el-tag v-if="organDetail.status == 1" size="mini">正常</el-tag>
+            <el-tag v-else type="danger" size="mini">暂停</el-tag>
+          </div>
+        </div>
+      </div>
+    </div>
+    <div>
+      <el-row :gutter="40" class="panel-group">
+        <el-col
+          :xs="8"
+          :sm="8"
+          :lg="4"
+          v-for="(item, index) in statisticsList"
+          :key="index"
+          class="card-panel-col no-bottom"
+        >
+          <div class="card-panel">
+            <div
+              class="card-panel-icon-wrapper icon-people"
+              v-if="item.id == 1"
+            >
+              <img
+                src="@/assets/image/jiji.png"
+                alt=""
+                srcset=""
+                class="card-img"
+              />
+            </div>
+            <div
+              class="card-panel-icon-wrapper icon-message"
+              v-if="item.id == 2"
+            >
+              <img
+                src="@/assets/image/fazhan.png"
+                alt=""
+                srcset=""
+                class="card-img"
+              />
+            </div>
+            <div class="card-panel-icon-wrapper icon-money" v-if="item.id == 3">
+              <img
+                src="@/assets/image/yubei.png"
+                alt=""
+                srcset=""
+                class="card-img"
+              />
+            </div>
+            <div class="card-panel-icon-wrapper icon-money" v-if="item.id == 4">
+              <img
+                src="@/assets/image/dangxiaozu.png"
+                alt=""
+                srcset=""
+                class="card-img"
+              />
+            </div>
+            <div class="card-panel-icon-wrapper icon-money" v-if="item.id == 5">
+              <img
+                src="@/assets/image/weiyuan.png"
+                alt=""
+                srcset=""
+                class="card-img"
+              />
+            </div>
+            <div class="card-panel-icon-wrapper icon-money" v-if="item.id == 6">
+              <img
+                src="@/assets/image/zuzhishenghuo.png"
+                alt=""
+                srcset=""
+                class="card-img"
+              />
+            </div>
+            <div class="card-panel-description">
+              <div class="card-panel-text">
+                {{ item.name }}
+              </div>
+              <count-to
+                :start-val="0"
+                :end-val="item.nums"
+                class="card-panel-num"
+              />
+            </div>
+          </div>
+        </el-col>
+      </el-row>
+    </div>
+    <div class="second">
+      <div class="left">
+        <div class="title" style="text-algin: left">支部活动记录</div>
+        <div class="search">
+          <el-form
+            ref="searchParams"
+            :inline="true"
+            :model="queryForm"
+            label-width="80px"
+          >
+            <el-input
+              v-model="queryForm.title"
+              placeholder="活动名称"
+              clearable
+            />
+
+            <el-select
+              v-model="queryForm.category_id"
+              filterable
+              clearable
+              placeholder="请选择活动分类"
+            >
+              <el-option
+                v-for="item in activeSortList"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+
+            <el-button
+              type="primary"
+              @click="searchRecord"
+              icon="el-icon-search"
+              >搜索</el-button
+            >
+            <el-button
+              type="success"
+              icon="el-icon-edit"
+              @click="(recordVisible = true), (type = 1)"
+              >添加记录</el-button
+            >
+          </el-form>
+        </div>
+        <el-table
+          :data="changeRecord"
+          border
+          style="width: 100%"
+          max-height="450"
+        >
+          <el-table-column label="序号" width="60" type="index" align="center">
+          </el-table-column>
+          <el-table-column
+            prop="title"
+            label="活动标题"
+            min-width="200"
+            align="center"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="day"
+            label="活动日期"
+            min-width="120"
+            align="center"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="compere"
+            label="主持人"
+            min-width="120"
+            align="center"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="participant"
+            label="参与人"
+            min-width="120"
+            align="center"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="address"
+            label="活动地点"
+            min-width="120"
+            align="center"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="type"
+            label="活动类型"
+            min-width="100"
+            align="center"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="self_point"
+            label="自评分数"
+            min-width="100"
+            align="center"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="mutual_point"
+            label="互评分数"
+            min-width="100"
+            align="center"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="created_at"
+            label="创建时间"
+            min-width="155"
+            align="center"
+          >
+          </el-table-column>
+          <el-table-column
+            prop="updated_at"
+            label="修改时间"
+            min-width="155"
+            align="center"
+          >
+          </el-table-column>
+          <el-table-column
+            fixed="right"
+            label="操作"
+            align="center"
+            width="210"
+          >
+            <template slot-scope="{ row }">
+              <el-button
+                @click="recordDetail(row.id)"
+                type="primary"
+                plain
+                size="mini"
+                >详情</el-button
+              >
+              <el-button
+                type="success"
+                plain
+                size="mini"
+                @click="editDetail(row)"
+                >编辑</el-button
+              >
+              <el-button
+                type="warning"
+                plain
+                size="mini"
+                @click="deleteRecord(row.id)"
+                >删除</el-button
+              >
+            </template>
+          </el-table-column>
+        </el-table>
+        <el-pagination
+          background
+          :current-page="queryForm.page"
+          :layout="layout"
+          :page-size="queryForm.per_page"
+          :page-sizes="[15, 20, 30, 40, 50, 100]"
+          :total="total"
+          @current-change="handleCurrentChange"
+          @size-change="handleSizeChange"
+        />
+      </div>
+      <!--查看详情-->
+      <el-dialog
+        title="查看详情"
+        :visible.sync="dialogVisible"
+        width="30%"
+        center
+      >
+        <div class="details">
+          <div class="det">
+            <div class="left_1">支部名称:{{ organDetail.name }}</div>
+            <div class="right_1">支部书记:{{ recDetails.zb_sj }}</div>
+          </div>
+          <div class="det">
+            <div class="left_1">换届日期:{{ recDetails.zb_hj_date }}</div>
+            <div class="right_1">届数:{{ recDetails.zb_rq }}</div>
+          </div>
+          <div class="det">
+            <div class="left_1">支部组织委员:{{ recDetails.zb_wy }}</div>
+            <div class="right_1">支部宣传委员:{{ recDetails.zb_xcwy }}</div>
+          </div>
+          <div class="det">
+            <div class="left_1" style="flex: 0 0 20%">其他任职人员:</div>
+            <div class="right_1">
+              <div
+                v-for="(item, index1) in recDetails.zb_qtry"
+                :key="index1"
+                style="height: 40px; line-height: 50px"
+              >
+                <span>{{ item.name }}</span> <span>({{ item.job }})</span>
+              </div>
+            </div>
+          </div>
+        </div>
+        <span slot="footer" class="dialog-footer">
+          <el-button type="primary" @click="dialogVisible = false"
+            >关闭</el-button
+          >
+        </span>
+      </el-dialog>
+      <!--新增换届记录-->
+      <el-dialog
+        :title="formType == 0 ? '新增支部活动' : '编辑支部活动'"
+        :visible.sync="recordVisible"
+        width="800px"
+        @close="closeForm"
+        center
+      >
+        <el-form
+          :model="setupForm"
+          ref="setupForm"
+          label-width="100px"
+          :rules="rules"
+          class="demo-ruleForm"
+        >
+          <el-form-item label="活动标题" prop="title">
+            <el-input
+              v-model="setupForm.title"
+              placeholder="请填写活动标题"
+            ></el-input>
+          </el-form-item>
+          <el-form-item label="活动分类" prop="category_id">
+            <el-select
+              v-model="setupForm.category_id"
+              filterable
+              placeholder="请选择活动分类"
+              style="width: 100%"
+            >
+              <el-option
+                v-for="item in activeSortList"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="支部自评" prop="self_point">
+            <el-input
+              v-model="setupForm.self_point"
+              placeholder="请填写支部自评分数"
+            />
+          </el-form-item>
+          <el-form-item label="活动日期" prop="day">
+            <el-date-picker
+              v-model="setupForm.day"
+              type="date"
+              format="yyyy-MM-dd"
+              value-format="yyyy-MM-dd"
+              placeholder="选择日期"
+            >
+            </el-date-picker>
+            <!-- <el-date-picker
+              v-model="setupForm.day"
+              type="date"
+              placeholder="选择活动日期时间"
+              value-format="yyyy-MM-dd"
+            >
+            </el-date-picker> -->
+          </el-form-item>
+          <el-form-item label="主持人" prop="compere">
+            <el-input
+              v-model="setupForm.compere"
+              placeholder="请填写活动主持人"
+            ></el-input>
+          </el-form-item>
+          <el-form-item label="参与人员" prop="participant">
+            <el-input
+              v-model="setupForm.participant"
+              placeholder="请填写活动参与人员"
+            ></el-input>
+          </el-form-item>
+          <el-form-item label="活动地址" prop="address">
+            <el-input
+              v-model="setupForm.address"
+              placeholder="请填写活动地址"
+            ></el-input>
+          </el-form-item>
+          <div class="position">
+            <span class="star">*</span>
+            <el-form-item label="封面图" prop="cover">
+              <div class="pre-cover" v-if="formType == 1 && uploadType == 0">
+                <img :src="setupForm.cover" alt="" />
+              </div>
+              <el-upload
+                class="upload-demo"
+                ref="upload"
+                :action="base_url + '/upload'"
+                :file-list="fileList"
+                :auto-upload="true"
+                :on-success="uploadSuccess"
+                :multiple="true"
+                :data="fileData"
+                accept=".jpg,.jpeg,.png"
+                list-type="picture"
+              >
+                <el-button slot="trigger" size="mini" type="primary">{{
+                  formType == 0 ? "选择图片" : "重新上传"
+                }}</el-button>
+                <div slot="tip" class="el-upload__tip">
+                  只能上传jpg/png文件,且不超过500kb
+                </div>
+              </el-upload>
+            </el-form-item>
+          </div>
+          <div class="position">
+            <span class="star">*</span>
+            <el-form-item label="活动内容" prop="body">
+              <tinymce v-model="setupForm.body" :height="300" />
+            </el-form-item>
+          </div>
+          <el-form-item label="活动类型" prop="type">
+            <el-select
+              v-model="setupForm.type"
+              filterable
+              placeholder="请选择活动类型(线上、线下)"
+              style="width: 100%"
+            >
+              <el-option
+                v-for="item in activeType"
+                :key="item"
+                :label="item"
+                :value="item"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <!--
+          <el-form-item label="活动状态" prop="status">
+            <el-select
+              v-model="setupForm.status"
+              filterable
+              placeholder="请选择"
+              style="width:100%"
+            >
+              <el-option
+                v-for="item in status"
+                :key="item.value"
+                :label="item.name"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>-->
+          <el-form-item v-if="formType == 0">
+            <el-button
+              type="primary"
+              v-if="formType == 0"
+              @click="submitForm('setupForm')"
+              >立即创建</el-button
+            >
+            <el-button @click="resetForm('setupForm')">重置</el-button>
+          </el-form-item>
+          <el-form-item v-if="formType == 1">
+            <el-button type="primary" @click="saveEdit('setupForm')"
+              >保存编辑</el-button
+            >
+            <el-button @click="cancelForm('setupForm')">取消</el-button>
+          </el-form-item>
+        </el-form>
+      </el-dialog>
+    </div>
+  </div>
+</template>
+<script>
+import {
+  organizaDetail,
+  changeRecords,
+  setupRecord,
+  updateRecord,
+  deleteRecord,
+  activeSort,
+  activeStatistics,
+} from "@/api/organizationDetail/index";
+
+import Tinymce from "@/components/Tinymce";
+import CountTo from "vue-count-to";
+export default {
+  data() {
+    return {
+      uploadType: 0, //点击重新上传变为1 隐藏已上传图片
+      formType: 0, //0添加,//1 编辑
+      organDetail: "",
+      loadingFull: false,
+      imgDetaildialogVisible: false,
+      changeRecord: [], //换届记录
+      dialogVisible: false,
+      recDetails: {}, //记录详情,
+      recordVisible: false, //新增换届记录
+      recordVisible1: false, //编辑换届记录
+      fileDialogVisible: false, //新建文件列表
+      detailVisible: false, //文件详情
+      queryForm: {
+        page: 1,
+        per_page: 15,
+        title: "",
+      },
+      searchParams: {
+        name: "", //支部名称
+        type: "",
+        zb_sj: "",
+        limit: 15, //每页显示条数
+        page: 1, //当前页码
+      }, //搜索框数据
+      setupForm: {
+        organization_id: "", //当前支部id
+        status: 1,
+        category_id: "",
+        type: "线下活动",
+        day: "",
+      },
+      status: [
+        {
+          value: 0,
+          name: "暂停",
+        },
+        {
+          value: 1,
+          name: "正常",
+        },
+      ],
+      fileType: [
+        {
+          value: 0,
+          name: "富文本",
+        },
+        {
+          value: 1,
+          name: "图片",
+        },
+        {
+          value: 2,
+          name: "文件",
+        },
+      ], //文件类型选择列表
+      fileDetail: "",
+      type: "", //类型1为新增 2为编辑
+      id: "",
+      danganList: [], //换届文档列表
+      creatFile: {
+        type: "",
+        organization_id: "",
+        organization_activity_id: "",
+        name: "",
+        status: 1,
+        self_point: "",
+        body: "",
+      }, //
+      rules: {
+        title: [
+          {
+            required: true,
+            message: "请输入标题",
+            trigger: "blur",
+          },
+        ],
+        category_id: [
+          {
+            required: true,
+            message: "请选择活动分类",
+            trigger: "change",
+          },
+        ],
+        day: [
+          {
+            required: true,
+            message: "请选择日期",
+            trigger: "change",
+          },
+        ],
+        type: [
+          {
+            required: true,
+            message: "请选择活动类型",
+            trigger: "change",
+          },
+        ],
+        self_point: [
+          {
+            required: true,
+            message: "请填写活动自评分数",
+            trigger: "blur",
+          },
+        ],
+        address: [
+          {
+            required: true,
+            message: "请填写活动地址",
+            trigger: "blur",
+          },
+        ],
+        compere: [
+          {
+            required: true,
+            message: "请填写主持人员",
+            trigger: "blur",
+          },
+        ],
+        participant: [
+          {
+            required: true,
+            message: "请填写参与人员",
+            trigger: "blur",
+          },
+        ],
+        status: [
+          {
+            required: true,
+            message: "请选择状态",
+            trigger: "change",
+          },
+        ],
+      }, //表格验证规则
+      activeName: "image",
+      fileData: {
+        file_type: "img",
+      },
+      fileList: [], //上传挡案文件列表
+      resourceIds: [], //文件id
+      file: "",
+      rowId: "",
+      otherPerson: [
+        {
+          index: "",
+          name: "",
+          job: "",
+        },
+      ],
+      bigImage: "",
+      activeType: ["线下活动", "线上活动"],
+      total: 0,
+      layout: "total, sizes, prev, pager, next, jumper",
+      activeSortList: [], //活动分类列表
+      statisticsList: [], //活动统计列表
+    };
+  },
+  components: { Tinymce, CountTo },
+  created() {
+    const id = this.$route.query.id;
+    this.id = id;
+    this.setupForm.organization_id = id;
+    this.creatFile.organization_id = id;
+    this.queryForm.organization_id = id;
+    this.detail(id);
+    this.record();
+    this.creatFile.type = 1;
+    this.fileData.file_type = "img";
+    this.activeSort();
+    this.activeStatistics();
+  },
+  methods: {
+    testEmpety(value) {
+      if (value) return value;
+      else return "--";
+    },
+    handleSetLineChartData(type) {
+      this.$router.push({
+        path: "/personnel/index",
+        query: {
+          politics_status: type,
+          organization_id: this.id,
+        },
+      });
+    },
+    //上传入党志愿书人数
+    skipRudangZhiyuan() {
+      this.$router.push({
+        path: "/personnel/index",
+        query: {
+          organization_id: this.id,
+          is_rdsqs: 1,
+        },
+      });
+    },
+    //获取活动分类
+    async activeSort() {
+      this.activeSortList = [];
+      const { data } = await activeSort();
+      for (let key in data) {
+        console.log(key, data[key], "pppp");
+        this.activeSortList.push({
+          value: key,
+          label: data[key],
+        });
+      }
+    },
+    //获取活动分类统计
+    async activeStatistics() {
+      var date = new Date();
+      var y = date.getFullYear();
+      let params = {
+        organization_id: this.id,
+        year: y,
+      };
+      const { data } = await activeStatistics(params);
+      this.statisticsList = data;
+      console.log(data, "获取活动分类统计");
+    },
+    //pageSize 改变时会触发
+    handleSizeChange(val) {
+      this.queryForm.per_page = val;
+      this.searchRecord();
+    },
+    //	currentPage 改变时会触发
+    handleCurrentChange(val) {
+      this.queryForm.page = val;
+      this.searchRecord();
+    },
+    //关闭大图
+    closeBigImg() {
+      this.imgDetaildialogVisible = false;
+    },
+    //查看大图
+    imageDetail(item) {
+      this.imgDetaildialogVisible = true;
+      this.bigImage = item;
+    },
+    //组织信息
+    async detail(id) {
+      this.loadingFull = true;
+      await organizaDetail(id).then((res) => {
+        this.organDetail = res.data;
+        this.loadingFull = false;
+      });
+    },
+    //搜索换届记录
+    async searchRecord() {
+      this.queryForm.page = 1;
+      this.loadingFull = true;
+      await changeRecords(this.queryForm).then((res) => {
+        this.changeRecord = res.data.data;
+        this.loadingFull = false;
+      });
+    },
+    //组织换届记录列表
+    async record(id) {
+      this.loadingFull = true;
+      await changeRecords(this.queryForm).then((res) => {
+        this.loadingFull = false;
+        console.log(res, "res");
+        this.changeRecord = res.data.data;
+        this.total = res.data.meta.pagination.total;
+      });
+    },
+
+    //换届记录详情
+    async recordDetail(id) {
+      this.$router.push({
+        path: "/organization/list_details",
+        query: {
+          id: id,
+          organization_id: this.$route.query.id,
+        },
+      });
+    },
+    //编辑换届记录
+    editDetail: function (row) {
+      this.formType = 1;
+      this.recordVisible = true;
+      this.setupForm = Object.assign({}, row);
+      this.setupForm.category_id = this.setupForm.category_id.toString();
+      this.setupForm.organization_id = this.$route.query.id;
+    },
+    //saveEdit保存编辑
+    async saveEdit(formName) {
+      this.$refs[formName].validate(async (valid) => {
+        if (valid) {
+          await updateRecord(this.setupForm).then((res) => {
+            this.$message({
+              message: "编辑成功",
+              type: "success",
+            });
+            this.recordVisible = false;
+            this.loadingFull = false;
+            this.uploadType = 0;
+            this.$refs[formName].resetFields();
+          });
+        }
+      });
+    },
+    //删除换届记录
+    deleteRecord(id) {
+      this.$confirm("此操作将删除此换届记录, 是否继续?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          this.sureDeleteRecord(id);
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "已取消删除",
+          });
+        });
+    },
+    async sureDeleteRecord(id) {
+      await deleteRecord(id).then((res) => {
+        if (!res.code) {
+          this.$message({
+            message: "删除成功",
+            type: "success",
+          });
+          this.record(this.id);
+        } else {
+          this.$message({
+            message: "删除失败",
+            type: "error",
+          });
+        }
+      });
+    },
+    //创建换届记录
+    submitForm(formName) {
+      this.$refs[formName].validate(async (valid) => {
+        if (valid) {
+          var reg = new RegExp("^(\\d|[1-9]\\d|100)$");
+          if (!reg.test(this.setupForm.self_point)) {
+            this.$message({
+              message: "请输入0-100的整数!",
+              type: "warning",
+            });
+            return;
+          }
+          if (!this.setupForm.cover) {
+            this.$message({
+              type: "error",
+              message: "请上传封面图!",
+            });
+            return;
+          }
+          if (!this.setupForm.body) {
+            this.$message({
+              type: "error",
+              message: "请填写活动内容!",
+            });
+            return;
+          }
+
+          await this.setup(formName);
+          this.loadingFull = false;
+        }
+      });
+    },
+    async setup(formName) {
+      // this.setupForm.zb_qtry=this.setupForm.zb_qtry.toString()
+      await setupRecord(this.setupForm).then((res) => {
+        this.loadingFull = false;
+        this.recordVisible = false;
+        this.$refs[formName].resetFields();
+        this.fileList = [];
+        this.setupForm.body = "";
+        this.record(this.id);
+      });
+    },
+    resetForm(formName) {
+      this.$refs[formName].resetFields();
+    },
+    cancelForm() {
+      this.recordVisible = false;
+      this.setupForm = {};
+      this.setupForm.status = 1;
+      this.setupForm.organization_id = this.$route.query.id;
+      this.setupForm.body = "";
+      this.formType = 0;
+    },
+    closeForm() {
+      this.recordVisible = false;
+      this.setupForm = {};
+      this.setupForm.status = 1;
+      this.setupForm.organization_id = this.$route.query.id;
+      this.setupForm.body = "";
+      this.formType = 0;
+    },
+
+    uploadSuccess(response, file, fileList) {
+      if (response.code == 200) {
+        this.setupForm.cover = response.data.url;
+        this.uploadType = 1;
+        this.file = response.data.url;
+        this.resourceIds.push(response.data.id);
+      }
+    },
+    //添加其他人员及职务
+    addOtherPerson(type) {
+      this.index = this.index++;
+      this.otherPerson.push({
+        name: "",
+        index: this.index,
+        job: "",
+      });
+      this.setupForm.zb_qtry = this.otherPerson;
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+@import "@/assets/styles/content.scss";
+.pre-cover {
+  width: 100%;
+  border-radius: 12px;
+  overflow: hidden;
+  height: 100px;
+  border: solid 1px rgb(219, 217, 217);
+  img {
+    height: 100px;
+  }
+}
+.position {
+  position: relative;
+  .star {
+    position: absolute;
+    top: 15px;
+    left: 25px;
+    color: red;
+  }
+}
+.el-table .warning-row {
+  background: #ecf5ff;
+}
+.el-dialog__body {
+  padding-top: 0 !important;
+}
+.edit-image {
+  text-align: center;
+  display: flex;
+  flex-flow: row wrap;
+}
+
+.img-list {
+  flex: 0 0 200px;
+  height: 200px;
+  width: 200px;
+  margin: 20px 5px 5px;
+  overflow: hidden;
+  img {
+    border: 1px solid #ccc;
+    border-radius: 5px;
+    height: 200px;
+    width: 200px;
+  }
+}
+.big-img {
+  position: fixed;
+  z-index: 99999;
+  width: 100%;
+  height: 100%;
+  top: 0;
+  left: 0;
+  background-color: rgba(0, 0, 0, 0.6);
+  overflow: hidden;
+  .img-border {
+    height: 90vh;
+    width: 50%;
+    min-width: 500px;
+    margin: 0 auto;
+    margin-top: 5vh;
+    background-color: #ffffff;
+    overflow: auto;
+    text-align: center;
+    line-height: 80vh;
+  }
+  img {
+    /* margin-top: 3%; */
+    width: 100%;
+  }
+}
+.first {
+  margin-top: 10px;
+  box-shadow: 5px 5px 7px 7px #f1f0f0;
+
+  padding: 20px;
+  border-radius: 10px;
+  .name {
+    font-size: 30px;
+    font-weight: 500;
+    margin-bottom: 20px;
+  }
+  .left {
+    display: inline-block;
+    vertical-align: middle;
+    color: #535353;
+    min-width: 30%;
+    .title {
+      width: 35%;
+      display: inline-block;
+      /*text-align: right;*/
+      div {
+        height: 30px;
+        line-height: 30px;
+        font-size: 14px;
+      }
+    }
+    .text {
+      display: inline-block;
+      div {
+        height: 30px;
+        line-height: 30px;
+        font-size: 14px;
+      }
+    }
+  }
+  .right {
+    display: inline-block;
+    vertical-align: middle;
+    width: 30%;
+    margin-left: 20px;
+    color: #535353;
+    div {
+      height: 30px;
+      line-height: 30px;
+      font-size: 14px;
+    }
+  }
+  .can-click {
+    cursor: pointer;
+  }
+}
+.card-img {
+  height: 40px;
+}
+
+.panel-group {
+  margin-top: 18px;
+
+  .card-panel-col {
+    margin-bottom: 32px;
+  }
+  .no-bottom {
+    margin-bottom: 0;
+  }
+  .card-panel {
+    height: 95px;
+    cursor: pointer;
+    font-size: 12px;
+    position: relative;
+    overflow: hidden;
+    color: #666;
+    background: #fff;
+    box-shadow: 4px 4px 40px rgba(0, 0, 0, 0.05);
+    border-color: rgba(0, 0, 0, 0.05);
+
+    &:hover {
+      .card-panel-icon-wrapper {
+        color: #ffffff;
+      }
+    }
+    .card-panel-icon-wrapper {
+      float: left;
+      margin: 8px 0 0 8px;
+      padding: 16px 10px;
+      transition: all 0.38s ease-out;
+      border-radius: 6px;
+    }
+    .card-panel-icon {
+      float: left;
+      font-size: 48px;
+    }
+
+    .card-panel-description {
+      float: right;
+      font-weight: bold;
+      margin: 26px;
+      margin-left: 0px;
+      text-align: right;
+
+      .card-panel-text {
+        line-height: 18px;
+        color: rgba(0, 0, 0, 0.45);
+        font-size: 16px;
+        margin-bottom: 12px;
+      }
+
+      .card-panel-num {
+        font-size: 20px;
+        text-align: right;
+      }
+    }
+  }
+}
+.second {
+  margin-top: 30px;
+  display: flex;
+  .left {
+    flex: 1;
+    padding: 10px;
+    padding-bottom: 30px;
+    width: 58%;
+    margin-right: 5px;
+    background-color: #ffffff;
+    box-shadow: 5px 5px 7px 7px #f1f0f0;
+  }
+  .title {
+    font-size: 22px;
+    font-weight: 500;
+    height: 50px;
+    line-height: 50px;
+    margin-bottom: 5px;
+  }
+  .right {
+    box-shadow: 5px 5px 7px 7px #f1f0f0;
+    flex: 1;
+    width: 35%;
+    padding: 10px;
+    background-color: #ffffff;
+    padding-bottom: 30px;
+  }
+  /*.el-button+.el-button{
+      margin: 0px;
+      margin-top: 5px
+  }*/
+
+  .details {
+    .det {
+      display: flex;
+      .left_1 {
+        flex: 1;
+        height: 50px;
+        line-height: 50px;
+        font-size: 14px;
+        width: 50%;
+      }
+      .right_1 {
+        flex: 1;
+        height: 50px;
+        width: 50%;
+        line-height: 50px;
+        font-size: 14px;
+      }
+    }
+  }
+}
+/*去掉input加减按钮 */
+input::-webkit-outer-spin-button,
+input::-webkit-inner-spin-button {
+  -webkit-appearance: none;
+}
+.other_personnel {
+  display: inline-block;
+  vertical-align: middle;
+  margin-bottom: 10px;
+  width: 90%;
+  .svg-icon {
+    vertical-align: middle;
+  }
+  .el-input {
+    width: 45% !important;
+    display: inline-block;
+    vertical-align: middle;
+    margin-right: 20px;
+  }
+}
+.demo-ruleForm {
+  margin: 30px;
+  ::v-deep {
+    .el-select,
+    .el-date-editor {
+      width: 100%;
+    }
+  }
+}
+.title {
+  height: 50px;
+  line-height: 50px;
+  /* text-align: center; */
+  font-size: 30px;
+}
+.content {
+  margin-top: 20px;
+  font-size: 16px;
+  line-height: 22px;
+}
+.image {
+  margin-top: 30px;
+
+  text-align: center;
+}
+
+.text {
+  height: 50px;
+  font-size: 16px;
+  color: #409eff;
+  margin-top: 20px;
+}
+.title-time {
+  text-align: center;
+  margin-top: 10px;
+  font-size: 14px;
+  color: rgb(143, 142, 142);
+}
+.search .el-input {
+  width: 200px !important;
+}
+</style>

Some files were not shown because too many files changed in this diff