|  | @@ -3,155 +3,382 @@
 | 
	
		
			
				|  |  |   * @Author: Rockery
 | 
	
		
			
				|  |  |   * @Date: 2021-12-10 10:45:58
 | 
	
		
			
				|  |  |   * @LastEditors: Rockery
 | 
	
		
			
				|  |  | - * @LastEditTime: 2021-12-10 17:19:33
 | 
	
		
			
				|  |  | + * @LastEditTime: 2021-12-15 16:29:09
 | 
	
		
			
				|  |  |   * @FilePath: \party_construct_web\src\views\PartyBuildingMgr\SituationDesc\SituationDescIndex.vue
 | 
	
		
			
				|  |  |   * @Copyright: Copyright (c) 2016~2021 Rockery(1113269755@qq.com)
 | 
	
		
			
				|  |  |  -->
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <template>
 | 
	
		
			
				|  |  | -  <div class="app-container situationdesc">
 | 
	
		
			
				|  |  | -    <div class="situationdesc-main">
 | 
	
		
			
				|  |  | -      <el-row :gutter="10">
 | 
	
		
			
				|  |  | -        <el-col :span="24">
 | 
	
		
			
				|  |  | -          <div class="situationdesc-main-title">
 | 
	
		
			
				|  |  | -            <div>
 | 
	
		
			
				|  |  | -              <img
 | 
	
		
			
				|  |  | -                :src="require('@/assets/logo/home-main-title-logo.png')"
 | 
	
		
			
				|  |  | -                @error="imgViewerOnerror"
 | 
	
		
			
				|  |  | -              />
 | 
	
		
			
				|  |  | +  <div
 | 
	
		
			
				|  |  | +    class="app-container situationdesc"
 | 
	
		
			
				|  |  | +    :class="['ADD','VIEW'].includes(pageType) ? 'desc-page':''"
 | 
	
		
			
				|  |  | +  >
 | 
	
		
			
				|  |  | +    <template v-if="pageType === 'LIST'">
 | 
	
		
			
				|  |  | +      <div class="situationdesc-main">
 | 
	
		
			
				|  |  | +        <el-row :gutter="10">
 | 
	
		
			
				|  |  | +          <el-col :span="24">
 | 
	
		
			
				|  |  | +            <div class="situationdesc-main-title">
 | 
	
		
			
				|  |  | +              <div>
 | 
	
		
			
				|  |  | +                <img
 | 
	
		
			
				|  |  | +                  :src="require('@/assets/logo/home-main-title-logo.png')"
 | 
	
		
			
				|  |  | +                  @error="imgViewerOnerror"
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +              <div>情况说明管理</div>
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  | -            <div>情况说明管理</div>
 | 
	
		
			
				|  |  | +          </el-col>
 | 
	
		
			
				|  |  | +          <div v-loading="loading">
 | 
	
		
			
				|  |  | +            <el-col :span="24" class="mt20">
 | 
	
		
			
				|  |  | +              <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>
 | 
	
		
			
				|  |  | +                  <el-button
 | 
	
		
			
				|  |  | +                    v-hasPermi="['partybuildingmgr:situationdesc:query']"
 | 
	
		
			
				|  |  | +                    type="primary"
 | 
	
		
			
				|  |  | +                    icon="el-icon-search"
 | 
	
		
			
				|  |  | +                    @click="handleQueryClick"
 | 
	
		
			
				|  |  | +                  >搜索</el-button>
 | 
	
		
			
				|  |  | +                  <el-button
 | 
	
		
			
				|  |  | +                    v-hasPermi="['partybuildingmgr:situationdesc:reset']"
 | 
	
		
			
				|  |  | +                    icon="el-icon-refresh"
 | 
	
		
			
				|  |  | +                    @click="resetQueryClick"
 | 
	
		
			
				|  |  | +                  >重置</el-button>
 | 
	
		
			
				|  |  | +                </el-form-item>
 | 
	
		
			
				|  |  | +                <el-form-item class="fr" style="margin-right: 0;">
 | 
	
		
			
				|  |  | +                  <el-button
 | 
	
		
			
				|  |  | +                    v-hasPermi="['partybuildingmgr:situationdesc:add']"
 | 
	
		
			
				|  |  | +                    type="rocpartyprimarybtn"
 | 
	
		
			
				|  |  | +                    icon="el-icon-plus"
 | 
	
		
			
				|  |  | +                    @click="handleAddClick"
 | 
	
		
			
				|  |  | +                  >新增</el-button>
 | 
	
		
			
				|  |  | +                </el-form-item>
 | 
	
		
			
				|  |  | +              </el-form>
 | 
	
		
			
				|  |  | +            </el-col>
 | 
	
		
			
				|  |  | +            <el-col :span="24">
 | 
	
		
			
				|  |  | +              <el-table
 | 
	
		
			
				|  |  | +                :data="list"
 | 
	
		
			
				|  |  | +                stripe
 | 
	
		
			
				|  |  | +                border
 | 
	
		
			
				|  |  | +                :header-cell-style="{'text-align':'center'}"
 | 
	
		
			
				|  |  | +                header-row-class-name="situationdesc-table_header-row"
 | 
	
		
			
				|  |  | +                class="situationdesc-main-table"
 | 
	
		
			
				|  |  | +                style="width: 100%;"
 | 
	
		
			
				|  |  | +              >
 | 
	
		
			
				|  |  | +                <el-table-column
 | 
	
		
			
				|  |  | +                  label="情况说明人姓名"
 | 
	
		
			
				|  |  | +                  prop="name"
 | 
	
		
			
				|  |  | +                  width="180"
 | 
	
		
			
				|  |  | +                  :show-overflow-tooltip="true"
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +                <el-table-column
 | 
	
		
			
				|  |  | +                  label="说明了以下流程节点问题"
 | 
	
		
			
				|  |  | +                  prop="conditionPoint"
 | 
	
		
			
				|  |  | +                  :show-overflow-tooltip="true"
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +                <el-table-column
 | 
	
		
			
				|  |  | +                  label="情况说明时间"
 | 
	
		
			
				|  |  | +                  align="center"
 | 
	
		
			
				|  |  | +                  prop="conditionTime"
 | 
	
		
			
				|  |  | +                  width="180"
 | 
	
		
			
				|  |  | +                  :show-overflow-tooltip="true"
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +                <el-table-column
 | 
	
		
			
				|  |  | +                  label="操作"
 | 
	
		
			
				|  |  | +                  align="center"
 | 
	
		
			
				|  |  | +                  fixed="right"
 | 
	
		
			
				|  |  | +                  width="100"
 | 
	
		
			
				|  |  | +                  class-name="small-padding fixed-width"
 | 
	
		
			
				|  |  | +                >
 | 
	
		
			
				|  |  | +                  <template slot-scope="scope">
 | 
	
		
			
				|  |  | +                    <el-button
 | 
	
		
			
				|  |  | +                      v-hasPermi="['partybuildingmgr:situationdesc:view']"
 | 
	
		
			
				|  |  | +                      size="mini"
 | 
	
		
			
				|  |  | +                      type="text"
 | 
	
		
			
				|  |  | +                      icon="el-icon-view"
 | 
	
		
			
				|  |  | +                      style="color: #909399;"
 | 
	
		
			
				|  |  | +                      @click="handleViewClick(scope.row)"
 | 
	
		
			
				|  |  | +                    >详情</el-button>
 | 
	
		
			
				|  |  | +                  </template>
 | 
	
		
			
				|  |  | +                </el-table-column>
 | 
	
		
			
				|  |  | +              </el-table>
 | 
	
		
			
				|  |  | +            </el-col>
 | 
	
		
			
				|  |  | +            <el-col :span="24">
 | 
	
		
			
				|  |  | +              <pagination
 | 
	
		
			
				|  |  | +                v-show="total>0"
 | 
	
		
			
				|  |  | +                :total="total"
 | 
	
		
			
				|  |  | +                :page.sync="queryParams.pageNum"
 | 
	
		
			
				|  |  | +                :limit.sync="queryParams.pageSize"
 | 
	
		
			
				|  |  | +                @pagination="initData"
 | 
	
		
			
				|  |  | +              />
 | 
	
		
			
				|  |  | +            </el-col>
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  | -        </el-col>
 | 
	
		
			
				|  |  | -        <div v-loading="loading">
 | 
	
		
			
				|  |  | -          <el-col :span="24" class="mt20">
 | 
	
		
			
				|  |  | -            <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-row>
 | 
	
		
			
				|  |  | +      </div>
 | 
	
		
			
				|  |  | +    </template>
 | 
	
		
			
				|  |  | +    <template v-else-if="pageType === 'ADD'">
 | 
	
		
			
				|  |  | +      <div class="situationdesc-addpage">
 | 
	
		
			
				|  |  | +        <el-form
 | 
	
		
			
				|  |  | +          ref="situationDescAddpageFormRef"
 | 
	
		
			
				|  |  | +          :model="addPageFormObj.formModel"
 | 
	
		
			
				|  |  | +          :rules="addPageFormObj.formRules"
 | 
	
		
			
				|  |  | +          label-width="190px"
 | 
	
		
			
				|  |  | +          class="situationdesc-addpage-form"
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  | +          <el-row>
 | 
	
		
			
				|  |  | +            <el-col :span="24">
 | 
	
		
			
				|  |  | +              <div class="situationdesc-addpage-title">
 | 
	
		
			
				|  |  | +                <div>
 | 
	
		
			
				|  |  | +                  <img
 | 
	
		
			
				|  |  | +                    :src="require('@/assets/logo/home-main-title-logo.png')"
 | 
	
		
			
				|  |  | +                    @error="imgViewerOnerror"
 | 
	
		
			
				|  |  | +                  />
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  | +                <div>新增情况说明</div>
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            </el-col>
 | 
	
		
			
				|  |  | +            <el-col :span="24">
 | 
	
		
			
				|  |  | +              <div class="situationdesc-addpage-line"></div>
 | 
	
		
			
				|  |  | +            </el-col>
 | 
	
		
			
				|  |  | +            <el-col :span="24">
 | 
	
		
			
				|  |  | +              <el-form-item label="情况说明时间:" prop="beginTime">
 | 
	
		
			
				|  |  |                  <el-date-picker
 | 
	
		
			
				|  |  | -                  v-model="queryParams.endTime"
 | 
	
		
			
				|  |  | +                  v-model="addPageFormObj.formModel.name"
 | 
	
		
			
				|  |  |                    type="date"
 | 
	
		
			
				|  |  | -                  size="small"
 | 
	
		
			
				|  |  |                    clearable
 | 
	
		
			
				|  |  |                    value-format="yyyy-MM-dd"
 | 
	
		
			
				|  |  |                    style="width: 100%;"
 | 
	
		
			
				|  |  | -                  placeholder="请选择结束时间"
 | 
	
		
			
				|  |  | +                  placeholder="请选择情况说明时间"
 | 
	
		
			
				|  |  |                  ></el-date-picker>
 | 
	
		
			
				|  |  |                </el-form-item>
 | 
	
		
			
				|  |  | -              <el-form-item prop="name">
 | 
	
		
			
				|  |  | -                <el-input
 | 
	
		
			
				|  |  | -                  v-model="queryParams.name"
 | 
	
		
			
				|  |  | -                  placeholder="请输入情况说明人姓名"
 | 
	
		
			
				|  |  | +            </el-col>
 | 
	
		
			
				|  |  | +            <el-col :span="24">
 | 
	
		
			
				|  |  | +              <el-form-item label="情况说明人:" prop="explainer">
 | 
	
		
			
				|  |  | +                <el-select
 | 
	
		
			
				|  |  | +                  v-model="addPageFormObj.formModel.explainer"
 | 
	
		
			
				|  |  | +                  placeholder="请选择情况说明人"
 | 
	
		
			
				|  |  |                    clearable
 | 
	
		
			
				|  |  | -                  size="small"
 | 
	
		
			
				|  |  |                    style="width: 100%;"
 | 
	
		
			
				|  |  | -                  @keyup.enter.native="handleQuery"
 | 
	
		
			
				|  |  | -                />
 | 
	
		
			
				|  |  | +                >
 | 
	
		
			
				|  |  | +                  <el-option
 | 
	
		
			
				|  |  | +                    v-for="situationExplainerOption in situationExplainerOptions"
 | 
	
		
			
				|  |  | +                    :key="situationExplainerOption.dictValue"
 | 
	
		
			
				|  |  | +                    :label="situationExplainerOption.dictLabel"
 | 
	
		
			
				|  |  | +                    :value="situationExplainerOption.dictValue"
 | 
	
		
			
				|  |  | +                  />
 | 
	
		
			
				|  |  | +                </el-select>
 | 
	
		
			
				|  |  |                </el-form-item>
 | 
	
		
			
				|  |  | -              <el-form-item>
 | 
	
		
			
				|  |  | +            </el-col>
 | 
	
		
			
				|  |  | +            <el-col :span="24">
 | 
	
		
			
				|  |  | +              <el-form-item label="情况说明:" prop="phone" class="formitem-attachment">
 | 
	
		
			
				|  |  | +                <el-upload
 | 
	
		
			
				|  |  | +                  ref="descFileMaterialsUploadRef"
 | 
	
		
			
				|  |  | +                  :limit="1"
 | 
	
		
			
				|  |  | +                  accept=".pdf"
 | 
	
		
			
				|  |  | +                  :auto-upload="false"
 | 
	
		
			
				|  |  | +                  :show-file-list="true"
 | 
	
		
			
				|  |  | +                  :action="descFileMaterialsUpload.url"
 | 
	
		
			
				|  |  | +                  :headers="descFileMaterialsUpload.headers"
 | 
	
		
			
				|  |  | +                  :before-upload="handleBeforeUpload"
 | 
	
		
			
				|  |  | +                  :on-success="handleUploadOnsuccess"
 | 
	
		
			
				|  |  | +                  :on-change="handleUploadOnchange"
 | 
	
		
			
				|  |  | +                  :on-remove="handleUploadOnRemove"
 | 
	
		
			
				|  |  | +                  :on-exceed="handleUploadOnExceed"
 | 
	
		
			
				|  |  | +                  class="formitem-attachment-fileupload"
 | 
	
		
			
				|  |  | +                >
 | 
	
		
			
				|  |  | +                  <div class="formitem-attachment-fileupload-content">
 | 
	
		
			
				|  |  | +                    <i class="el-icon-plus" />
 | 
	
		
			
				|  |  | +                    上传文件,格式:PDF
 | 
	
		
			
				|  |  | +                  </div>
 | 
	
		
			
				|  |  | +                </el-upload>
 | 
	
		
			
				|  |  | +                <div
 | 
	
		
			
				|  |  | +                  v-if="descFileMaterialsUpload.isUploadSuccess"
 | 
	
		
			
				|  |  | +                  class="fl formitem-attachment-addr"
 | 
	
		
			
				|  |  | +                  @click="handleDescFileMaterialsUploadUrlClick"
 | 
	
		
			
				|  |  | +                >
 | 
	
		
			
				|  |  | +                  <div>文件上传成功地址:</div>
 | 
	
		
			
				|  |  | +                  <div>{{ addPageFormObj.formModel.bannerUrl }}</div>
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  |                  <el-button
 | 
	
		
			
				|  |  | -                  v-hasPermi="['partybuildingmgr:situationdesc:query']"
 | 
	
		
			
				|  |  | +                  v-if="descFileMaterialsUpload.isSelect && !descFileMaterialsUpload.isUploadSuccess"
 | 
	
		
			
				|  |  |                    type="primary"
 | 
	
		
			
				|  |  | -                  icon="el-icon-search"
 | 
	
		
			
				|  |  | -                  @click="handleQueryClick"
 | 
	
		
			
				|  |  | -                >搜索</el-button>
 | 
	
		
			
				|  |  | +                  size="small"
 | 
	
		
			
				|  |  | +                  @click="submitDescFileMaterialsUpload"
 | 
	
		
			
				|  |  | +                >上传文件</el-button>
 | 
	
		
			
				|  |  |                  <el-button
 | 
	
		
			
				|  |  | -                  v-hasPermi="['partybuildingmgr:situationdesc:reset']"
 | 
	
		
			
				|  |  | -                  icon="el-icon-refresh"
 | 
	
		
			
				|  |  | -                  @click="resetQueryClick"
 | 
	
		
			
				|  |  | -                >重置</el-button>
 | 
	
		
			
				|  |  | +                  v-if="descFileMaterialsUpload.isSelect"
 | 
	
		
			
				|  |  | +                  type="info"
 | 
	
		
			
				|  |  | +                  size="small"
 | 
	
		
			
				|  |  | +                  @click="removeDescFileMaterialsUpload"
 | 
	
		
			
				|  |  | +                >移除文件</el-button>
 | 
	
		
			
				|  |  |                </el-form-item>
 | 
	
		
			
				|  |  | -              <el-form-item class="fr" style="margin-right: 0;">
 | 
	
		
			
				|  |  | -                <el-button
 | 
	
		
			
				|  |  | -                  v-hasPermi="['partybuildingmgr:situationdesc:add']"
 | 
	
		
			
				|  |  | -                  type="rocpartyprimarybtn"
 | 
	
		
			
				|  |  | -                  icon="el-icon-plus"
 | 
	
		
			
				|  |  | -                  @click="handleAddClick"
 | 
	
		
			
				|  |  | -                >新增</el-button>
 | 
	
		
			
				|  |  | +            </el-col>
 | 
	
		
			
				|  |  | +            <el-col :span="24">
 | 
	
		
			
				|  |  | +              <el-form-item
 | 
	
		
			
				|  |  | +                label="说明了以下流程节点问题:"
 | 
	
		
			
				|  |  | +                prop="sort"
 | 
	
		
			
				|  |  | +                class="situationdesc-addpage-form-processnode"
 | 
	
		
			
				|  |  | +              >
 | 
	
		
			
				|  |  | +                <el-checkbox-group
 | 
	
		
			
				|  |  | +                  v-model="addPageFormObj.formModel.checkList"
 | 
	
		
			
				|  |  | +                  style="width: 100%;"
 | 
	
		
			
				|  |  | +                >
 | 
	
		
			
				|  |  | +                  <el-checkbox label="《入党积极分子、发展对象培养教育考察登记表》" style="width: 100%;">
 | 
	
		
			
				|  |  | +                    <div class="processnode-circle">6</div>
 | 
	
		
			
				|  |  | +                    <div class="processnode-label">《入党积极分子、发展对象培养教育考察登记表》</div>
 | 
	
		
			
				|  |  | +                  </el-checkbox>
 | 
	
		
			
				|  |  | +                  <el-checkbox label="支委会拟接收预备党员审查会议记录和上报的预审请示" style="width: 100%;">
 | 
	
		
			
				|  |  | +                    <div class="processnode-circle">13</div>
 | 
	
		
			
				|  |  | +                    <div class="processnode-label">支委会拟接收预备党员审查会议记录和上报的预审请示</div>
 | 
	
		
			
				|  |  | +                  </el-checkbox>
 | 
	
		
			
				|  |  | +                </el-checkbox-group>
 | 
	
		
			
				|  |  |                </el-form-item>
 | 
	
		
			
				|  |  | -            </el-form>
 | 
	
		
			
				|  |  | -          </el-col>
 | 
	
		
			
				|  |  | -          <el-col :span="24">
 | 
	
		
			
				|  |  | -            <el-table
 | 
	
		
			
				|  |  | -              :data="list"
 | 
	
		
			
				|  |  | -              stripe
 | 
	
		
			
				|  |  | -              border
 | 
	
		
			
				|  |  | -              :header-cell-style="{'text-align':'center'}"
 | 
	
		
			
				|  |  | -              header-row-class-name="situationdesc-table_header-row"
 | 
	
		
			
				|  |  | -              class="situationdesc-main-table"
 | 
	
		
			
				|  |  | -              style="width: 100%;"
 | 
	
		
			
				|  |  | -            >
 | 
	
		
			
				|  |  | -              <el-table-column
 | 
	
		
			
				|  |  | -                label="情况说明人姓名"
 | 
	
		
			
				|  |  | -                prop="name"
 | 
	
		
			
				|  |  | -                width="180"
 | 
	
		
			
				|  |  | -                :show-overflow-tooltip="true"
 | 
	
		
			
				|  |  | -              />
 | 
	
		
			
				|  |  | -              <el-table-column
 | 
	
		
			
				|  |  | -                label="说明了以下流程节点问题"
 | 
	
		
			
				|  |  | -                prop="conditionPoint"
 | 
	
		
			
				|  |  | -                :show-overflow-tooltip="true"
 | 
	
		
			
				|  |  | -              />
 | 
	
		
			
				|  |  | -              <el-table-column
 | 
	
		
			
				|  |  | -                label="情况说明时间"
 | 
	
		
			
				|  |  | -                align="center"
 | 
	
		
			
				|  |  | -                prop="conditionTime"
 | 
	
		
			
				|  |  | -                width="180"
 | 
	
		
			
				|  |  | -                :show-overflow-tooltip="true"
 | 
	
		
			
				|  |  | -              />
 | 
	
		
			
				|  |  | -              <el-table-column
 | 
	
		
			
				|  |  | -                label="操作"
 | 
	
		
			
				|  |  | -                align="center"
 | 
	
		
			
				|  |  | -                fixed="right"
 | 
	
		
			
				|  |  | -                width="100"
 | 
	
		
			
				|  |  | -                class-name="small-padding fixed-width"
 | 
	
		
			
				|  |  | +            </el-col>
 | 
	
		
			
				|  |  | +          </el-row>
 | 
	
		
			
				|  |  | +        </el-form>
 | 
	
		
			
				|  |  | +        <div class="pagefooter-btngroup">
 | 
	
		
			
				|  |  | +          <el-button
 | 
	
		
			
				|  |  | +            type="rocpartyprimaryplainbtn"
 | 
	
		
			
				|  |  | +            icon="el-icon-circle-close"
 | 
	
		
			
				|  |  | +            @click="handleAddpageCloseClick"
 | 
	
		
			
				|  |  | +          >取 消</el-button>
 | 
	
		
			
				|  |  | +          <el-button
 | 
	
		
			
				|  |  | +            type="rocpartyprimarybtn"
 | 
	
		
			
				|  |  | +            icon="el-icon-circle-check"
 | 
	
		
			
				|  |  | +            @click="handleAddpageSubmitClick"
 | 
	
		
			
				|  |  | +          >确 定</el-button>
 | 
	
		
			
				|  |  | +        </div>
 | 
	
		
			
				|  |  | +      </div>
 | 
	
		
			
				|  |  | +    </template>
 | 
	
		
			
				|  |  | +    <template v-else-if="pageType === 'VIEW'">
 | 
	
		
			
				|  |  | +      <div class="situationdesc-viewpage">
 | 
	
		
			
				|  |  | +        <el-form
 | 
	
		
			
				|  |  | +          ref="situationDescViewpageFormRef"
 | 
	
		
			
				|  |  | +          :model="viewPageFormObj.formModel"
 | 
	
		
			
				|  |  | +          label-width="190px"
 | 
	
		
			
				|  |  | +          class="situationdesc-viewpage-form"
 | 
	
		
			
				|  |  | +        >
 | 
	
		
			
				|  |  | +          <el-row>
 | 
	
		
			
				|  |  | +            <el-col :span="24">
 | 
	
		
			
				|  |  | +              <div class="situationdesc-viewpage-title">
 | 
	
		
			
				|  |  | +                <div>
 | 
	
		
			
				|  |  | +                  <img
 | 
	
		
			
				|  |  | +                    :src="require('@/assets/logo/home-main-title-logo.png')"
 | 
	
		
			
				|  |  | +                    @error="imgViewerOnerror"
 | 
	
		
			
				|  |  | +                  />
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  | +                <div>情况说明会详情</div>
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            </el-col>
 | 
	
		
			
				|  |  | +            <el-col :span="24">
 | 
	
		
			
				|  |  | +              <div class="situationdesc-viewpage-line"></div>
 | 
	
		
			
				|  |  | +            </el-col>
 | 
	
		
			
				|  |  | +            <el-col :span="24">
 | 
	
		
			
				|  |  | +              <el-form-item label="情况说明时间:" prop="beginTime">
 | 
	
		
			
				|  |  | +                <div>{{ viewPageFormObj.formModel.beginTime }}</div>
 | 
	
		
			
				|  |  | +              </el-form-item>
 | 
	
		
			
				|  |  | +            </el-col>
 | 
	
		
			
				|  |  | +            <el-col :span="24">
 | 
	
		
			
				|  |  | +              <el-form-item label="情况说明人:" prop="explainer">
 | 
	
		
			
				|  |  | +                <div>{{ viewPageFormObj.formModel.explainer }}</div>
 | 
	
		
			
				|  |  | +              </el-form-item>
 | 
	
		
			
				|  |  | +            </el-col>
 | 
	
		
			
				|  |  | +            <el-col :span="24">
 | 
	
		
			
				|  |  | +              <el-form-item label="情况说明:" prop="phone">
 | 
	
		
			
				|  |  | +                <div class="situationdesc-viewpage-form-desc">
 | 
	
		
			
				|  |  | +                  <div @click="handleViewPageCheckClick">查看</div>
 | 
	
		
			
				|  |  | +                  <div @click="handleViewPageDownloadClick">下载</div>
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  | +              </el-form-item>
 | 
	
		
			
				|  |  | +            </el-col>
 | 
	
		
			
				|  |  | +            <el-col :span="24">
 | 
	
		
			
				|  |  | +              <el-form-item
 | 
	
		
			
				|  |  | +                label="说明了以下流程节点问题:"
 | 
	
		
			
				|  |  | +                prop="sort"
 | 
	
		
			
				|  |  | +                class="situationdesc-viewpage-form-processnode"
 | 
	
		
			
				|  |  |                >
 | 
	
		
			
				|  |  | -                <template slot-scope="scope">
 | 
	
		
			
				|  |  | -                  <el-button
 | 
	
		
			
				|  |  | -                    v-hasPermi="['partybuildingmgr:situationdesc:view']"
 | 
	
		
			
				|  |  | -                    size="mini"
 | 
	
		
			
				|  |  | -                    type="text"
 | 
	
		
			
				|  |  | -                    icon="el-icon-view"
 | 
	
		
			
				|  |  | -                    style="color: #909399;"
 | 
	
		
			
				|  |  | -                    @click="handleViewClick(scope.row)"
 | 
	
		
			
				|  |  | -                  >详情</el-button>
 | 
	
		
			
				|  |  | -                </template>
 | 
	
		
			
				|  |  | -              </el-table-column>
 | 
	
		
			
				|  |  | -            </el-table>
 | 
	
		
			
				|  |  | -          </el-col>
 | 
	
		
			
				|  |  | -          <el-col :span="24">
 | 
	
		
			
				|  |  | -            <pagination
 | 
	
		
			
				|  |  | -              v-show="total>0"
 | 
	
		
			
				|  |  | -              :total="total"
 | 
	
		
			
				|  |  | -              :page.sync="queryParams.pageNum"
 | 
	
		
			
				|  |  | -              :limit.sync="queryParams.pageSize"
 | 
	
		
			
				|  |  | -              @pagination="initData"
 | 
	
		
			
				|  |  | -            />
 | 
	
		
			
				|  |  | -          </el-col>
 | 
	
		
			
				|  |  | +                <el-checkbox-group v-model="viewPageFormObj.formModel.checkList">
 | 
	
		
			
				|  |  | +                  <el-checkbox label="《入党积极分子、发展对象培养教育考察登记表》" disabled>
 | 
	
		
			
				|  |  | +                    <div class="processnode-circle">6</div>
 | 
	
		
			
				|  |  | +                    <div class="processnode-label">《入党积极分子、发展对象培养教育考察登记表》</div>
 | 
	
		
			
				|  |  | +                  </el-checkbox>
 | 
	
		
			
				|  |  | +                  <el-checkbox label="支委会拟接收预备党员审查会议记录和上报的预审请示" disabled>
 | 
	
		
			
				|  |  | +                    <div class="processnode-circle">13</div>
 | 
	
		
			
				|  |  | +                    <div class="processnode-label">支委会拟接收预备党员审查会议记录和上报的预审请示</div>
 | 
	
		
			
				|  |  | +                  </el-checkbox>
 | 
	
		
			
				|  |  | +                </el-checkbox-group>
 | 
	
		
			
				|  |  | +              </el-form-item>
 | 
	
		
			
				|  |  | +            </el-col>
 | 
	
		
			
				|  |  | +          </el-row>
 | 
	
		
			
				|  |  | +        </el-form>
 | 
	
		
			
				|  |  | +        <div class="pagefooter-btngroup">
 | 
	
		
			
				|  |  | +          <el-button
 | 
	
		
			
				|  |  | +            type="rocpartyprimaryplainbtn"
 | 
	
		
			
				|  |  | +            icon="el-icon-circle-close"
 | 
	
		
			
				|  |  | +            @click="handleViewPageCloseClick"
 | 
	
		
			
				|  |  | +          >关 闭</el-button>
 | 
	
		
			
				|  |  |          </div>
 | 
	
		
			
				|  |  | -      </el-row>
 | 
	
		
			
				|  |  | -    </div>
 | 
	
		
			
				|  |  | +      </div>
 | 
	
		
			
				|  |  | +    </template>
 | 
	
		
			
				|  |  | +    <template v-else-if="pageType === 'VIEWPDF'">
 | 
	
		
			
				|  |  | +      <div class="situationdesc-viewpdfpage">
 | 
	
		
			
				|  |  | +        <roc-vue-pdf-page
 | 
	
		
			
				|  |  | +          pdf-url="/file-api/statics/2021/12/13/6085efe9-74e1-4444-b47a-5c3533ec6901.pdf"
 | 
	
		
			
				|  |  | +          @close="handleViewPdfPageCloseClick"
 | 
	
		
			
				|  |  | +        ></roc-vue-pdf-page>
 | 
	
		
			
				|  |  | +      </div>
 | 
	
		
			
				|  |  | +    </template>
 | 
	
		
			
				|  |  | +    <template v-else>
 | 
	
		
			
				|  |  | +      <div> </div>
 | 
	
		
			
				|  |  | +    </template>
 | 
	
		
			
				|  |  |    </div>
 | 
	
		
			
				|  |  |  </template>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <script>
 | 
	
		
			
				|  |  | +import { viewPdfFile } from "@/api/PartyBuildingMgr/SituationDesc";
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  export default {
 | 
	
		
			
				|  |  |    name: "Situationdesc",
 | 
	
		
			
				|  |  | +  components: {
 | 
	
		
			
				|  |  | +    'roc-vue-pdf-page': () => import('@/components/RocVuePdfPage')
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  |    data() {
 | 
	
		
			
				|  |  |      return {
 | 
	
		
			
				|  |  |        // 遮罩层
 | 
	
		
			
				|  |  |        loading: true,
 | 
	
		
			
				|  |  | -      statusOptions: [],
 | 
	
		
			
				|  |  | +      pageType: 'LIST',
 | 
	
		
			
				|  |  | +      // 情况说明人选项列表
 | 
	
		
			
				|  |  | +      situationExplainerOptions: [],
 | 
	
		
			
				|  |  |        total: 10,
 | 
	
		
			
				|  |  |        queryParams: {
 | 
	
		
			
				|  |  |          pageNum: 0,
 | 
	
	
		
			
				|  | @@ -164,42 +391,246 @@ export default {
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  |            name: '李四'
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -      ]
 | 
	
		
			
				|  |  | +      ],
 | 
	
		
			
				|  |  | +      /** 新增或编辑弹框 */
 | 
	
		
			
				|  |  | +      addPageFormObj: {
 | 
	
		
			
				|  |  | +        formModel: {
 | 
	
		
			
				|  |  | +          bannerType: '0', // APP首页轮播图
 | 
	
		
			
				|  |  | +          name: undefined, // 名称
 | 
	
		
			
				|  |  | +          explainer: undefined, // 链接
 | 
	
		
			
				|  |  | +          sort: 0, // 排序
 | 
	
		
			
				|  |  | +          author: undefined, // 文章主体
 | 
	
		
			
				|  |  | +          bannerUrl: undefined, // 封面图片
 | 
	
		
			
				|  |  | +          content: undefined, // 内容
 | 
	
		
			
				|  |  | +          fileName: undefined, // 附件名称
 | 
	
		
			
				|  |  | +          fileUrl: undefined, // 附件地址
 | 
	
		
			
				|  |  | +          checkList: []
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        formRules: {
 | 
	
		
			
				|  |  | +          name: [{ required: true, message: '名称不能为空!', trigger: 'blur' }],
 | 
	
		
			
				|  |  | +          linkUrl: [{ required: true, message: '链接不能为空!', trigger: 'blur' }],
 | 
	
		
			
				|  |  | +          sort: [{ required: true, message: '排序不能为空!', trigger: ['blur', 'change'] }],
 | 
	
		
			
				|  |  | +          author: [{ required: true, message: '文章主体不能为空!', trigger: 'blur' }],
 | 
	
		
			
				|  |  | +          bannerUrl: [{ required: true, message: '封面图片不能为空!', trigger: 'change' }],
 | 
	
		
			
				|  |  | +          content: [{ required: true, message: '内容不能为空!', trigger: 'blur' }]
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      descFileMaterialsUpload: {
 | 
	
		
			
				|  |  | +        isSelect: false,
 | 
	
		
			
				|  |  | +        isUploadSuccess: false,
 | 
	
		
			
				|  |  | +        isOnProgress: false,
 | 
	
		
			
				|  |  | +        url: `${this.baseApiUrl}/file/upload`,
 | 
	
		
			
				|  |  | +        headers: { Authorization: 'Bearer ' + this.getToken() }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      viewPageFormObj: {
 | 
	
		
			
				|  |  | +        formModel: {
 | 
	
		
			
				|  |  | +          checkList: []
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      pdfDialogVisible: false
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    created() {
 | 
	
		
			
				|  |  |      this.initData();
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    methods: {
 | 
	
		
			
				|  |  | -    /** 初始化数据 */
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +    * 初始化数据
 | 
	
		
			
				|  |  | +    */
 | 
	
		
			
				|  |  |      initData() {
 | 
	
		
			
				|  |  |        this.getList();
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    /** 获取表格数据 */
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +    * 获取表格数据
 | 
	
		
			
				|  |  | +    */
 | 
	
		
			
				|  |  |      getList() {
 | 
	
		
			
				|  |  |        this.loading = false;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    /** 搜索按钮事件 */
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +    * 搜索按钮事件
 | 
	
		
			
				|  |  | +    */
 | 
	
		
			
				|  |  |      handleQueryClick() {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    /** 重置按钮事件 */
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +    * 重置按钮事件
 | 
	
		
			
				|  |  | +    */
 | 
	
		
			
				|  |  |      resetQueryClick() {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    /** 新增按钮事件 */
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +    * 新增按钮事件
 | 
	
		
			
				|  |  | +    */
 | 
	
		
			
				|  |  |      handleAddClick() {
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +      this.pageType = 'ADD';
 | 
	
		
			
				|  |  | +      this.descFileMaterialsUpload = {
 | 
	
		
			
				|  |  | +        ...this.descFileMaterialsUpload,
 | 
	
		
			
				|  |  | +        isSelect: false,
 | 
	
		
			
				|  |  | +        isUploadSuccess: false
 | 
	
		
			
				|  |  | +      };
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    /** 详情按钮事件 */
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +    * 详情按钮事件
 | 
	
		
			
				|  |  | +    */
 | 
	
		
			
				|  |  |      handleViewClick(row) {
 | 
	
		
			
				|  |  | +      this.pageType = 'VIEW';
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +    * 新增页面确定按钮事件
 | 
	
		
			
				|  |  | +    */
 | 
	
		
			
				|  |  | +    handleAddpageSubmitClick() {
 | 
	
		
			
				|  |  | +      this.pageType = 'LIST';
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +    * 新增页面取消按钮事件
 | 
	
		
			
				|  |  | +    */
 | 
	
		
			
				|  |  | +    handleAddpageCloseClick() {
 | 
	
		
			
				|  |  | +      this.pageType = 'LIST';
 | 
	
		
			
				|  |  | +      this.descFileMaterialsUpload = {
 | 
	
		
			
				|  |  | +        ...this.descFileMaterialsUpload,
 | 
	
		
			
				|  |  | +        isSelect: false,
 | 
	
		
			
				|  |  | +        isUploadSuccess: false,
 | 
	
		
			
				|  |  | +        isOnProgress: false
 | 
	
		
			
				|  |  | +      };
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | + * 相关材料PDF文件上传url点击事件
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +    handleDescFileMaterialsUploadUrlClick() {
 | 
	
		
			
				|  |  | +      this.pdfDialogVisible = true;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 相关材料PDF文件上传预处理
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    handleBeforeUpload(file) {
 | 
	
		
			
				|  |  | +      if (file.type.indexOf('application/pdf') === -1) {
 | 
	
		
			
				|  |  | +        this.$refs.descFileMaterialsUploadRef.clearFiles();
 | 
	
		
			
				|  |  | +        this.msgError('文件格式错误,请上传类型格式为PDF的文件!');
 | 
	
		
			
				|  |  | +        return;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 相关材料PDF文件上传成功处理
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    handleUploadOnsuccess(response, file, fileList) {
 | 
	
		
			
				|  |  | +      // 校验封面图片是否上传成功
 | 
	
		
			
				|  |  | +      if (response.code !== 200) {
 | 
	
		
			
				|  |  | +        this.$refs.descFileMaterialsUploadRef?.clearFiles?.();
 | 
	
		
			
				|  |  | +        this.descFileMaterialsUpload.isSelect = false;
 | 
	
		
			
				|  |  | +        this.descFileMaterialsUpload.isUploadSuccess = false;
 | 
	
		
			
				|  |  | +        this.msgError('上传PDF文件失败,请重新选择PDF文件上传!');
 | 
	
		
			
				|  |  | +        return;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +      // 绑定封面图片数据
 | 
	
		
			
				|  |  | +      this.addPageFormObj.formModel.bannerUrl = response?.data?.url;
 | 
	
		
			
				|  |  | +      this.descFileMaterialsUpload.isUploadSuccess = true;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      // 判断是否继续操作
 | 
	
		
			
				|  |  | +      if (this.descFileMaterialsUpload.isOnProgress) {
 | 
	
		
			
				|  |  | +        this.descFileMaterialsUpload.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.descFileMaterialsUploadRef.clearFiles();
 | 
	
		
			
				|  |  | +          this.descFileMaterialsUpload.isSelect = false;
 | 
	
		
			
				|  |  | +          this.msgError('文件格式错误,请上传类型格式为PDF的文件!');
 | 
	
		
			
				|  |  | +          return;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        this.descFileMaterialsUpload.isSelect = true;
 | 
	
		
			
				|  |  | +        this.descFileMaterialsUpload.isUploadSuccess = false;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 提交上传相关材料PDF文件
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    submitDescFileMaterialsUpload() {
 | 
	
		
			
				|  |  | +      if (!this.descFileMaterialsUpload.isSelect) { return; }
 | 
	
		
			
				|  |  | +      this.$confirm('确定上传操作吗?', '提示', {
 | 
	
		
			
				|  |  | +        confirmButtonText: '确定 ',
 | 
	
		
			
				|  |  | +        cancelButtonText: '取消 ',
 | 
	
		
			
				|  |  | +        type: 'info'
 | 
	
		
			
				|  |  | +      }).then(() => {
 | 
	
		
			
				|  |  | +        this.$refs.descFileMaterialsUploadRef?.submit?.();
 | 
	
		
			
				|  |  | +      }).catch(() => {
 | 
	
		
			
				|  |  | +        this.msgInfo('您已取消上传操作!');
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 移除选择相关材料PDF文件
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    removeDescFileMaterialsUpload() {
 | 
	
		
			
				|  |  | +      this.addPageFormObj.formModel.bannerUrl = '';
 | 
	
		
			
				|  |  | +      this.$refs.descFileMaterialsUploadRef.clearFiles();
 | 
	
		
			
				|  |  | +      this.descFileMaterialsUpload.isUploadSuccess = false;
 | 
	
		
			
				|  |  | +      this.descFileMaterialsUpload.isSelect = false;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 相关材料PDF文件列表移除文件时的钩子
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    handleUploadOnRemove(file, fileList) {
 | 
	
		
			
				|  |  | +      this.addPageFormObj.formModel.bannerUrl = '';
 | 
	
		
			
				|  |  | +      this.descFileMaterialsUpload.isUploadSuccess = false;
 | 
	
		
			
				|  |  | +      this.descFileMaterialsUpload.isSelect = false;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 相关材料PDF文件超出个数限制时的钩子
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    handleUploadOnExceed(files, fileList) {
 | 
	
		
			
				|  |  | +      this.msgWarning(`只允许上传单个相关材料PDF文件`);
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * PDF文件预览对话框关闭事件
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    handlePdfCloseClick(visible = false) {
 | 
	
		
			
				|  |  | +      this.pdfDialogVisible = visible;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 详情页面查看按钮事件
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    handleViewPageCheckClick() {
 | 
	
		
			
				|  |  | +      viewPdfFile({ filename: '1f30fcfd-0d34-4127-a1cc-fad68fc27c7d.pdf' }).then(response => {
 | 
	
		
			
				|  |  | +        this.pageType = 'VIEWPDF';
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 详情页面下载按钮事件
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    handleViewPageDownloadClick() {
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 详情页面关闭按钮事件
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    handleViewPageCloseClick() {
 | 
	
		
			
				|  |  | +      this.pageType = 'LIST';
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     * 预览PDF页面关闭按钮事件
 | 
	
		
			
				|  |  | +     */
 | 
	
		
			
				|  |  | +    handleViewPdfPageCloseClick() {
 | 
	
		
			
				|  |  | +      this.pageType = 'VIEW';
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  </script>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -<style scoped lang="scss">
 | 
	
		
			
				|  |  | +<style  lang="scss" scoped>
 | 
	
		
			
				|  |  |  .situationdesc {
 | 
	
		
			
				|  |  |    .situationdesc-main {
 | 
	
		
			
				|  |  |      padding: 20px 20px 72px;
 | 
	
	
		
			
				|  | @@ -275,5 +706,217 @@ export default {
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  &-addpage {
 | 
	
		
			
				|  |  | +    width: 100%;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    &-title {
 | 
	
		
			
				|  |  | +      display: flex;
 | 
	
		
			
				|  |  | +      align-items: center;
 | 
	
		
			
				|  |  | +      margin-bottom: 5px;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      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;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    &-line {
 | 
	
		
			
				|  |  | +      width: 100%;
 | 
	
		
			
				|  |  | +      height: 1px;
 | 
	
		
			
				|  |  | +      background: #d8dce5;
 | 
	
		
			
				|  |  | +      margin-bottom: 15px;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    &-form {
 | 
	
		
			
				|  |  | +      &-processnode {
 | 
	
		
			
				|  |  | +        ::v-deep {
 | 
	
		
			
				|  |  | +          .el-checkbox {
 | 
	
		
			
				|  |  | +            display: flex;
 | 
	
		
			
				|  |  | +            align-items: center;
 | 
	
		
			
				|  |  | +            margin-bottom: 20px;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            .el-checkbox__input {
 | 
	
		
			
				|  |  | +              display: flex;
 | 
	
		
			
				|  |  | +              align-items: center;
 | 
	
		
			
				|  |  | +              justify-content: center;
 | 
	
		
			
				|  |  | +              height: 24px;
 | 
	
		
			
				|  |  | +              line-height: 24px;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            .el-checkbox__label {
 | 
	
		
			
				|  |  | +              display: flex;
 | 
	
		
			
				|  |  | +              align-items: center;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        .processnode-circle {
 | 
	
		
			
				|  |  | +          display: flex;
 | 
	
		
			
				|  |  | +          align-items: center;
 | 
	
		
			
				|  |  | +          justify-content: center;
 | 
	
		
			
				|  |  | +          width: 24px;
 | 
	
		
			
				|  |  | +          height: 24px;
 | 
	
		
			
				|  |  | +          font-size: 14px;
 | 
	
		
			
				|  |  | +          color: #323232;
 | 
	
		
			
				|  |  | +          background: #ffffff;
 | 
	
		
			
				|  |  | +          border: 1px solid #323232;
 | 
	
		
			
				|  |  | +          border-radius: 50%;
 | 
	
		
			
				|  |  | +          line-height: 24px;
 | 
	
		
			
				|  |  | +          opacity: 0.9;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        .processnode-label {
 | 
	
		
			
				|  |  | +          display: flex;
 | 
	
		
			
				|  |  | +          align-items: center;
 | 
	
		
			
				|  |  | +          margin-left: 5px;
 | 
	
		
			
				|  |  | +          height: 24px;
 | 
	
		
			
				|  |  | +          font-size: 16px;
 | 
	
		
			
				|  |  | +          font-weight: 400;
 | 
	
		
			
				|  |  | +          color: #333333;
 | 
	
		
			
				|  |  | +          line-height: 20px;
 | 
	
		
			
				|  |  | +          opacity: 0.9;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  &-viewpage {
 | 
	
		
			
				|  |  | +    width: 100%;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    &-title {
 | 
	
		
			
				|  |  | +      display: flex;
 | 
	
		
			
				|  |  | +      align-items: center;
 | 
	
		
			
				|  |  | +      margin-bottom: 5px;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      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;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    &-line {
 | 
	
		
			
				|  |  | +      width: 100%;
 | 
	
		
			
				|  |  | +      height: 1px;
 | 
	
		
			
				|  |  | +      background: #d8dce5;
 | 
	
		
			
				|  |  | +      margin-bottom: 15px;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    &-form {
 | 
	
		
			
				|  |  | +      &-desc {
 | 
	
		
			
				|  |  | +        display: flex;
 | 
	
		
			
				|  |  | +        align-items: center;
 | 
	
		
			
				|  |  | +        width: 100%;
 | 
	
		
			
				|  |  | +        height: 36px;
 | 
	
		
			
				|  |  | +        line-height: 36px;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        div {
 | 
	
		
			
				|  |  | +          display: flex;
 | 
	
		
			
				|  |  | +          align-items: center;
 | 
	
		
			
				|  |  | +          justify-content: center;
 | 
	
		
			
				|  |  | +          height: 36px;
 | 
	
		
			
				|  |  | +          font-weight: 400;
 | 
	
		
			
				|  |  | +          font-style: normal;
 | 
	
		
			
				|  |  | +          font-size: 18px;
 | 
	
		
			
				|  |  | +          color: rgba(24, 144, 255, 0.996);
 | 
	
		
			
				|  |  | +          line-height: 36px;
 | 
	
		
			
				|  |  | +          cursor: pointer;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +          &:last-child {
 | 
	
		
			
				|  |  | +            margin-left: 20px;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +          &:hover {
 | 
	
		
			
				|  |  | +            text-decoration: underline;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      &-processnode {
 | 
	
		
			
				|  |  | +        ::v-deep {
 | 
	
		
			
				|  |  | +          .el-checkbox {
 | 
	
		
			
				|  |  | +            display: flex;
 | 
	
		
			
				|  |  | +            align-items: center;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            .el-checkbox__input {
 | 
	
		
			
				|  |  | +              display: flex;
 | 
	
		
			
				|  |  | +              align-items: center;
 | 
	
		
			
				|  |  | +              justify-content: center;
 | 
	
		
			
				|  |  | +              height: 36px;
 | 
	
		
			
				|  |  | +              line-height: 36px;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            .el-checkbox__label {
 | 
	
		
			
				|  |  | +              display: flex;
 | 
	
		
			
				|  |  | +              align-items: center;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            &.is-disabled {
 | 
	
		
			
				|  |  | +              cursor: not-allowed;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        .processnode-circle {
 | 
	
		
			
				|  |  | +          display: flex;
 | 
	
		
			
				|  |  | +          align-items: center;
 | 
	
		
			
				|  |  | +          justify-content: center;
 | 
	
		
			
				|  |  | +          width: 24px;
 | 
	
		
			
				|  |  | +          height: 24px;
 | 
	
		
			
				|  |  | +          font-size: 14px;
 | 
	
		
			
				|  |  | +          color: #323232;
 | 
	
		
			
				|  |  | +          background: #ffffff;
 | 
	
		
			
				|  |  | +          border: 1px solid #323232;
 | 
	
		
			
				|  |  | +          border-radius: 50%;
 | 
	
		
			
				|  |  | +          line-height: 36px;
 | 
	
		
			
				|  |  | +          opacity: 0.9;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        .processnode-label {
 | 
	
		
			
				|  |  | +          display: flex;
 | 
	
		
			
				|  |  | +          align-items: center;
 | 
	
		
			
				|  |  | +          margin-left: 5px;
 | 
	
		
			
				|  |  | +          height: 36px;
 | 
	
		
			
				|  |  | +          font-size: 16px;
 | 
	
		
			
				|  |  | +          font-weight: 400;
 | 
	
		
			
				|  |  | +          color: #333333;
 | 
	
		
			
				|  |  | +          line-height: 36px;
 | 
	
		
			
				|  |  | +          opacity: 0.9;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  </style>
 |