baizonghao
2023-05-19 ef85af030be4daed22ad6845e3a248150309438a
src/views/cause/Entry.vue
@@ -7,7 +7,7 @@
            <el-input placeholder="请输入案件编号或名称" v-model="queryInfo.cause"></el-input>
          </el-form-item>
          <el-form-item label="案件状态:">
            <el-select v-model="queryInfo.status" placeholder="请选择">
            <el-select v-model="queryInfo.status" placeholder="请选择" :style="{ width: '120px' }">
              <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
              </el-option>
            </el-select>
@@ -16,13 +16,13 @@
            <el-button type="primary" @click="search">查询</el-button>
          </el-form-item>
          <el-form-item>
            <el-button type="primary" @click="addAduitDialogVisible=true">添加</el-button>
            <el-button type="primary" @click="addAduitAnJian">添加</el-button>
          </el-form-item>
          <el-form-item>
            <el-upload name="multipartFile" class="upload-demo" action="/api/cause/upload " :show-file-list="false"
              :before-upload="beforeAvatarUpload" :on-success="respond" :limit="1">
              <el-button type="primary">导入</el-button>
<!--              <el-button type="primary">导入</el-button>-->
            </el-upload>
          </el-form-item>
        </el-form>
@@ -35,15 +35,17 @@
          </el-table-column>
          <el-table-column prop="reportNumber" label="报案人数" width="100" header-align="center" align="center">
          </el-table-column>
          <el-table-column prop="firstTime" label="最早发案日期" width="150" header-align="center" align="center">
          <el-table-column prop="totalMoney" label="预估总金额" width="100" header-align="center" align="center">
          </el-table-column>
          <el-table-column prop="firstTime" label="最早发案日期" width="160" header-align="center" align="center">
          </el-table-column>
          <el-table-column prop="status" label="案件状态" width="110" header-align="center" align="center">
            <template slot-scope="scope">
              <span v-if="scope.row.status == 0">未审核</span>
              <span v-if="scope.row.status == 1">不予立案</span>
              <span v-if="scope.row.status == 2">受理中</span>
              <span v-if="scope.row.status == 3">已结案</span>
              <span v-if="scope.row.status == 4">已撤案</span>
              <span v-if="scope.row.status == 0">立案</span>
              <span v-if="scope.row.status == 1">初查</span>
              <span v-if="scope.row.status == 2">受理</span>
              <span v-if="scope.row.status == 3">移送起诉</span>
              <span v-if="scope.row.status == 4">结案</span>
            </template>
          </el-table-column>
          <el-table-column prop="userName" label="负责人" width="130" header-align="center" align="center">
@@ -52,9 +54,9 @@
          </el-table-column>
          <el-table-column label="操作" width="240" header-align="center" align="center">
            <template slot-scope="scope">
              <el-button type="text" size="medium" @click="handleAudit(scope.row)">编辑</el-button>
              <el-button type="text" size="medium" @click="handleAudit(scope.row)">报案人员</el-button>
              <el-button type="text" size="medium" @click="handleAudit(scope.row)">群公告</el-button>
              <el-button type="text" size="medium" @click="updateCauseDialogVisible(scope.row)">编辑</el-button>
              <el-button type="text" size="medium" @click="reporterVisibleBefore(scope.row.id)">报案人员</el-button>
              <el-button type="text" size="medium" @click="groupAn(scope.row.groupId)">群公告</el-button>
              <el-button type="text" size="medium" @click="removeCause(scope.row.id)" style="color:#ff0000">删除
              </el-button>
            </template>
@@ -65,84 +67,685 @@
        layout="prev, pager, next" :total="total"></el-pagination>
    </el-card>
     <!--添加人员弹窗-->
          <el-dialog title="添加" :visible.sync="addAduitDialogVisible" width="50%" :before-close="addAduitClose">
            <el-row :gutter="15">
              <el-form ref="addAduitForm" :model="auditFrom" :rules="rules" size="medium" label-width="100px">
                <el-col :span="12">
                  <el-form-item label="报案人 " prop="reporterName">
                    <el-input v-model="auditFrom.reporterName" placeholder="请输入报案人 " clearable
                      :style="{ width: '100%' }">
                    </el-input>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item label="手机号码" prop="mobile">
                    <el-input v-model="auditFrom.mobile" placeholder="请输入手机号码" clearable :style="{ width: '100%' }">
                    </el-input>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item label="身份证号" prop="idcard">
                    <el-input v-model="auditFrom.idcard" placeholder="请输入身份证号" clearable :style="{ width: '100%' }">
                    </el-input>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item label="被骗时间" prop="cheatTime">
                    <el-date-picker v-model="auditFrom.tmpTime" type="datetime" placeholder="选择日期时间"
                      :style="{ width: '100%' }" format="yyyy-MM-dd HH:mm:ss" :value-format="auditFrom.cheatTime">
                    </el-date-picker>
                  </el-form-item>
                </el-col>
                <el-col :span="12">
                  <el-form-item label="涉案金额" prop="amountInvolved">
                    <el-input v-model="auditFrom.amountInvolved" placeholder="请输入涉案金额" clearable
                      :style="{ width: '100%' }"></el-input>
                  </el-form-item>
                </el-col>
                <el-col :span="24">
                  <el-form-item label="案件描述" prop="reportDescription">
                    <el-input v-model="auditFrom.reportDescription" placeholder="请输入案件描述" clearable
                      :style="{ width: '100%' }"></el-input>
                  </el-form-item>
                </el-col>
                <el-col :span="24">
                  <el-form-item label="补充信息" prop="information">
                    <el-input v-model="auditFrom.information" type="textarea" placeholder="请输入补充信息"
                      :autosize="{ minRows: 4, maxRows: 4 }" :style="{ width: '100%' }"></el-input>
                  </el-form-item>
                </el-col>
                <el-col :span="24">
                  <el-form-item label="关联案件" prop="causeId">
                    <el-select v-model="auditFrom.causeId" placeholder="请选择下拉选择" clearable :style="{ width: '50%' }">
                      <el-option v-for="item in causeOptions" :key="item.id" :label="item.name" :value="item.id">
                      </el-option>
                    </el-select>
                  </el-form-item>
                </el-col>
              </el-form>
            </el-row>
            <span slot="footer" class="dialog-footer">
              <el-button @click="addAduitDialogVisible = false">取 消</el-button>
              <el-button type="primary" @click="addAduit">确 定</el-button>
            </span>
          </el-dialog>
    <!--添加案件弹窗-->
    <el-dialog title="添加案件" :visible.sync="addAduitDialogVisible" :before-close="addAduitClose">
      <el-row :gutter="15">
        <el-form ref="causeForm" :model="causeForm" :rules="addCauseRules" size="medium" label-width="140px">
          <el-col :span="12">
            <el-form-item label="案件编号 " prop="number">
              <el-input v-model="causeForm.number" clearable :style="{ width: '100%' }" placeholder="输入案件编号">
              </el-input>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="案件名称" prop="name">
              <el-input v-model="causeForm.name" clearable :style="{ width: '100%' }" placeholder="输入案件名称">
              </el-input>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="预估总金额" prop="totalMoney">
              <el-input v-model="causeForm.totalMoney" clearable :style="{ width: '100%' }"
                placeholder="输入预估总金额"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="24">
            <el-form-item label="最早发案时间" prop="firstTime">
              <el-date-picker v-model="causeForm.firstTime" type="datetime" placeholder="选择日期时间" clearable
                :style="{ width: '40%' }" value-format="yyyy-MM-dd HH:mm:ss">
              </el-date-picker>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="案件状态" prop="status">
              <el-select v-model="causeForm.status" placeholder="请选择下拉选择" clearable :style="{ width: '100%' }">
                <el-option v-for="item in causeOptions" :key="item.value" :label="item.label" :value="item.value">
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="负责人" prop="userId">
              <el-select v-model="causeForm.userId" placeholder="请选择下拉选择" clearable :style="{ width: '100%' }">
                <el-option v-for="item in user" :key="item.userId" :label="item.userName" :value="item.userId"
                  :disabled="item.disabled"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="24">
            <el-form-item label="案件描述" prop="description">
              <el-input v-model="causeForm.description" type="textarea" placeholder="请输入多行文本"
                :autosize="{ minRows: 4, maxRows: 8 }" :style="{ width: '100%' }">
              </el-input>
            </el-form-item>
          </el-col>
        </el-form>
      </el-row>
      <span slot="footer" class="dialog-footer">
        <el-button @click="addAduitDialogVisible = false">取 消</el-button>
        <el-button type="primary" @click="createCause">确 定</el-button>
      </span>
    </el-dialog>
    <!--修改案件弹窗-->
    <el-dialog title="修改案件" :visible.sync="updateAduitDialogVisible" width="50%" :before-close="updateAduitClose">
      <el-row :gutter="15">
        <el-form ref="addAduitForm" :model="updataCauseForm" size="medium" label-width="100px">
          <el-col :span="12">
            <el-form-item label="案件编号 " prop="number">
              <el-input v-model="updataCauseForm.number" clearable :style="{ width: '100%' }">
              </el-input>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="案件名称" prop="name">
              <el-input v-model="updataCauseForm.name" clearable :style="{ width: '100%' }">
              </el-input>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="预估总金额" prop="totalMoney">
              <el-input v-model="updataCauseForm.totalMoney" clearable :style="{ width: '100%' }"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="最早发案时间" prop="firstTime">
              <el-date-picker v-model="updataCauseForm.firstTime" type="datetime" placeholder="选择日期时间"
                :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss">
              </el-date-picker>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="案件状态" prop="status">
              <el-select v-model="updataCauseForm.status" clearable :style="{ width: '100%' }">
                <el-option v-for="item in causeOptions" :key="item.value" :label="item.label" :value="item.value">
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="负责人" prop="userId">
              <el-select v-model="updataCauseForm.userName" clearable :style="{ width: '100%' }">
                <el-option v-for="item in user" :key="item.userId" :label="item.userName" :value="item.userId"
                  :disabled="item.disabled"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="24">
            <el-form-item label="案件描述" prop="description">
              <el-input v-model="updataCauseForm.description" type="textarea" placeholder="请输入多行文本"
                :autosize="{ minRows: 4, maxRows: 8 }" :style="{ width: '100%' }">
              </el-input>
            </el-form-item>
          </el-col>
        </el-form>
      </el-row>
      <span slot="footer" class="dialog-footer">
        <el-button @click="updateAduitDialogVisible = false">取 消</el-button>
        <el-button type="primary" @click="updateCause">确 定</el-button>
      </span>
    </el-dialog>
    <!--案件人员弹窗-->
    <el-dialog title="报案人员" :visible.sync="reporterVisible" width="85%" :before-close="reporterVisibleClose">
      <el-row :gutter="15">
        <el-card style="height: 100%">
          <template slot="header">
            <el-form :inline="true" :model="queryInfoReport" class="demo-form-inline">
              <el-form-item label="报案人:">
                <el-input placeholder="请输入姓名" v-model="queryInfoReport.people" :style="{ width: '180px' }">
                </el-input>
              </el-form-item>
              <el-form-item label="手机号码:">
                <el-input placeholder="请输入" v-model="queryInfoReport.phoneNumber" :style="{ width: '120px' }">
                </el-input>
              </el-form-item>
              <el-form-item label="是否已进群:">
                <el-select v-model="queryInfoReport.isInGroup" :style="{ width: '100px' }">
                  <el-option v-for="item in optionsGroup" :key="item.value" :label="item.label" :value="item.value">
                  </el-option>
                </el-select>
<!--              </el-form-item>-->
<!--              <el-form-item label="报案材料:">-->
<!--                <el-select v-model="queryInfoReport.HavaMaterial" :style="{ width: '100px' }">-->
<!--                  <el-option v-for="item in optionsMate" :key="item.value" :label="item.label" :value="item.value">-->
<!--                  </el-option>-->
<!--                </el-select>-->
<!--              </el-form-item>-->
<!--              <el-form-item>-->
                <el-button type="primary" @click="searchByCondition">查询</el-button>
              </el-form-item>
              <el-form-item>
                <el-button type="primary" @click="addVisibelReport">添加</el-button>
                <el-button type="primary" @click="exportExcel">导出</el-button>
              </el-form-item>
              <el-form-item>
                <el-upload name="multipartFile" class="upload-demo" action="/api/cause/reporterUpload"
                  :show-file-list="false" :data="{ causeId: this.reportCauseId }" :before-upload="beforeAvatarUpload"
                  :on-success="reporterRespond" :limit="1">
<!--                  <el-button type="primary">导入</el-button>-->
                </el-upload>
              </el-form-item>
              <el-form-item>
<!--                <el-button type="primary" @click="exportExcel">报案材料导出</el-button>-->
              </el-form-item>
            </el-form>
          </template>
          <el-table :data="reportList">
            <el-table-column width="80" prop="pic" label="头像">
              <template slot-scope="scope">
                <img :src="scope.row.pic" style="width: 40px;height: 40px; border-radius: 50%;">
              </template>
            </el-table-column>
            <el-table-column width="80" prop="reporterName" label="报案人"></el-table-column>
            <el-table-column width="120" prop="mobile" label="手机号"></el-table-column>
            <el-table-column width="180" prop="idcard" label="证件号码"></el-table-column>
            <el-table-column width="100" prop="isCommission" label="是否代办">
              <template slot-scope="scope">
                <span v-if="scope.row.isCommission == 1">是</span>
                <span v-else>否</span>
              </template>
            </el-table-column>
            <el-table-column width="100" prop="isInGroup" label="是否进群">
              <template slot-scope="scope">
                <span v-if="scope.row.isInGroup == 1">是</span>
                <span v-else>否</span>
              </template>
            </el-table-column>
            <el-table-column width="100" prop="amountInvolved" label="涉案金额">
              <template slot-scope="scope">
                <span>{{ scope.row.amountInvolved === null ? 0 : scope.row.amountInvolved }}</span>
              </template>
            </el-table-column>
            <el-table-column width="100" prop="reportMaterials" label="报案材料">
              <template slot-scope="scope">
                <span>{{ scope.row.reportMaterials === null || scope.row.reportMaterials === '' ? "未提交" : "已提交"
}}</span>
              </template>
            </el-table-column>
            <el-table-column width="200" prop="reportTime" label="报案时间">
              <template slot-scope="scope">
                <span>{{ scope.row.reportTime === null ? "2022-07-12 10:32:56" : scope.row.reportTime }}</span>
              </template>
            </el-table-column>
            <el-table-column label="操作">
              <template slot-scope="scope">
                <el-button type="text" size="medium" @click="updataReport(scope.row)">编辑</el-button>
<!--                <el-button type="text" size="medium"-->
<!--                  @click="leaveReport(scope.row.id, scope.row.causeId, scope.row.groupId)" style="color:#ff0000"-->
<!--                  :disabled="scope.row.isInGroup == 0">退群 </el-button>-->
<!--                <el-button type="text" size="medium" @click="removeReport(scope.row.id, scope.row.causeId)"-->
<!--                  style="color:#ff0000" :disabled="scope.row.isInGroup == 1">删除 </el-button>-->
                <el-button type="text" size="medium" @click="removeReport(scope.row.id, scope.row.causeId)"
                           style="color:#ff0000" >删除 </el-button>
              </template>
            </el-table-column>
          </el-table>
          <el-pagination @current-change="pageReport" :current-page="queryInfoReport.current"
            :page-size="queryInfoReport.size" layout="prev, pager, next" :total="reportTotal"></el-pagination>
        </el-card>
        <!--添加人员弹窗-->
        <el-dialog title="添加人员" :visible.sync="addReportVisible" width="50%" :append-to-body="true"
          :before-close="addReportVisibleClose">
          <el-row :gutter="15">
            <el-form ref="auditFrom" :model="auditFrom" :rules="addReportRules" size="medium" label-width="100px">
              <el-col :span="12">
                <el-form-item label="头像" prop="pic" required>
                  <el-upload ref="pic" action="/api/minio/upload" :show-file-list="false"
                    :on-success="handleAvatarSuccess" list-type="picture-card" accept="image/*">
                    <img v-if="picShow" :src="picShow" style="width: 145px;height: 145px">
                    <i v-else class="el-icon-plus"></i>
                  </el-upload>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="报案人 " prop="reporterName">
                  <el-input v-model="auditFrom.reporterName" placeholder="请输入报案人 " clearable :style="{ width: '100%' }">
                  </el-input>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="手机号码" prop="mobile">
                  <el-input v-model="auditFrom.mobile" placeholder="请输入手机号码" clearable :style="{ width: '100%' }">
                  </el-input>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="身份证号" prop="idcard">
                  <el-input v-model="auditFrom.idcard" placeholder="请输入身份证号" clearable :style="{ width: '100%' }">
                  </el-input>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="被骗时间" prop="cheatTime">
                  <el-date-picker v-model="auditFrom.cheatTime" type="datetime" placeholder="选择日期时间" clearable
                    :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="涉案金额" prop="amountInvolved">
                  <el-input v-model="auditFrom.amountInvolved" placeholder="请输入涉案金额" clearable
                    :style="{ width: '100%' }">
                  </el-input>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="案件描述" prop="reportDescription">
                  <el-input v-model="auditFrom.reportDescription" placeholder="请输入案件描述" clearable
                    :style="{ width: '100%' }"></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="24">
                <el-form-item label="补充信息" prop="information">
                  <el-input v-model="auditFrom.information" type="textarea" placeholder="请输入补充信息" clearable
                    :autosize="{ minRows: 4, maxRows: 4 }" :style="{ width: '100%' }"></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="24">
                <el-form-item label="上传" prop="fileList">
                  <el-upload ref="reportMaterials" :file-list="auditFrom.fileList" action="/api/minio/upload"
                    list-type="picture" :on-success="handleMaterialSuccess">
                    <el-button size="small" type="primary" icon="el-icon-upload">点击上传</el-button>
                  </el-upload>
                </el-form-item>
              </el-col>
            </el-form>
          </el-row>
          <span slot="footer" class="dialog-footer">
            <el-button @click="addReportVisible = false">取 消</el-button>
            <el-button type="primary" @click="addAduit">确 定</el-button>
          </span>
        </el-dialog>
        <!--修改案件人员弹窗-->
        <el-dialog title="修改人员" :visible.sync="updateReportVisible" width="50%" :append-to-body="true"
          :before-close="updateReportVisibleclose">
          <el-row :gutter="20">
            <el-form ref="updateReportForm" :model="updateReportForm" size="medium" label-width="100px">
              <el-col :span="12">
                <el-form-item label="头像" prop="pic" required>
                  <el-upload ref="pic" action="/api/minio/upload" :show-file-list="false"
                    :on-success="handleAvatarSuccess" list-type="picture-card" accept="image/*">
                    <img v-if="updateReportForm.pic!=null||updateReportForm!=''" :src="updateReportForm.pic" style="width: 145px;height: 145px">
                    <i v-else class="el-icon-plus"></i>
                  </el-upload>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="报案人 " prop="reporterName">
                  <el-input v-model="updateReportForm.reporterName" placeholder="请输入报案人 " clearable :style="{ width: '100%' }">
                  </el-input>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="手机号码" prop="mobile">
                  <el-input v-model="updateReportForm.mobile" placeholder="请输入手机号码" clearable :style="{ width: '100%' }">
                  </el-input>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="身份证号" prop="idcard">
                  <el-input v-model="updateReportForm.idcard" placeholder="请输入身份证号" clearable :style="{ width: '100%' }">
                  </el-input>
                </el-form-item>
              </el-col>
              <!-- <el-col :span="12">
                <el-form-item prop="reportTime" label="报案时间">
                  <el-date-picker v-model="updateReportForm.reportTime" type="datetime" placeholder="选择日期时间" clearable
                    :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss">
                  </el-date-picker>
                </el-form-item>
              </el-col> -->
              <el-col :span="12">
                <el-form-item label="被骗时间" prop="cheatTime">
                  <el-date-picker v-model="updateReportForm.cheatTime" type="datetime" placeholder="选择日期时间" clearable
                    :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="涉案金额" prop="amountInvolved">
                  <el-input v-model="updateReportForm.amountInvolved" placeholder="请输入涉案金额" clearable
                    :style="{ width: '100%' }">
                  </el-input>
                </el-form-item>
              </el-col>
              <el-col :span="24">
                <el-form-item label="案件描述" prop="reportDescription">
                  <el-input v-model="updateReportForm.reportDescription" placeholder="请输入案件描述" clearable
                    :style="{ width: '100%' }"></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="24">
                <el-form-item label="补充信息" prop="information">
                  <el-input v-model="updateReportForm.information" type="textarea" placeholder="请输入补充信息" clearable
                    :autosize="{ minRows: 4, maxRows: 4 }" :style="{ width: '100%' }"></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="24">
                <el-form-item label="上传" prop="fileList" required>
                  <el-upload ref="reportMaterials" :file-list="updateReportForm.fileList" action="/api/minio/upload"
                    list-type="picture" :on-success="handleReporterMaterialSuccess">
                    <img v-if="updateReportForm.reportMaterials!=''" :src="'/minio/img/'+updateReportForm.reportMaterials" style="width: 145px;height: 145px">
                    <el-button size="small" type="primary" icon="el-icon-upload">点击上传</el-button>
                  </el-upload>
                </el-form-item>
              </el-col>
              <!-- <el-col :span="24">
                <el-form-item label="上传" prop="fileList" required>
                  <el-upload ref="reportMaterials" :file-list="auditFrom.fileList" action="/api/minio/upload"
                    list-type="picture" :on-success="handleMaterialSuccess">
                    <el-button size="small" type="primary" icon="el-icon-upload">点击上传</el-button>
                  </el-upload>
                </el-form-item>
              </el-col> -->
            </el-form>
          </el-row>
          <span slot="footer" class="dialog-footer">
            <el-button @click="updateReportVisible = false">取 消</el-button>
            <el-button type="primary" @click="updateReportInCasue">确 定</el-button>
          </span>
        </el-dialog>
      </el-row>
      <!-- <span slot="footer" class="dialog-footer">
        <el-button @click="reporterVisible = false">取 消</el-button>
        <el-button type="primary" @click="updateCause">确 定</el-button>
      </span> -->
    </el-dialog>
    <!--群公告弹窗-->
    <el-dialog title="群公告" :visible.sync="groupAnVisible" width="85%" :before-close="groupAnVisibleClose">
      <el-row :gutter="15">
        <el-card style="height: 100%">
          <template slot="header">
            <el-form :inline="true" :model="queryInfoGroupAn" class="demo-form-inline">
              <el-form-item label="群公告:">
                <el-input placeholder="请输入" v-model="queryInfoGroupAn.content"></el-input>
              </el-form-item>
              <el-form-item label="状态">
                <el-select v-model="queryInfoGroupAn.status" placeholder="请选择" :style="{ width: '100px' }">
                  <el-option v-for="item in statusMate" :key="item.value" :label="item.label" :value="item.value">
                  </el-option>
                </el-select>
              </el-form-item>
              <el-form-item>
                <el-button type="primary" @click="groupAnSearch">查询</el-button>
              </el-form-item>
              <el-form-item>
                <el-button type="primary" @click="openGroupAn">添加</el-button>
              </el-form-item>
            </el-form>
          </template>
          <el-table :data="groupAnFrom">
            <el-table-column label="序号" type="index" width="120" align="center">
              <template slot-scope="scope">
                <span>{{ (current - 1) * size + scope.$index + 1 }}</span>
              </template>
            </el-table-column>
            <el-table-column width="180" prop="text" label="群组公告"></el-table-column>
            <el-table-column width="120" prop="status" label="状态">
              <template slot-scope="scope">
                <span v-if="scope.row.status === 1">已发布</span>
                <span v-else-if="scope.row.status === 0">未发布</span>
                <span v-else="scope.row.status=== 2">已下架</span>
              </template>
            </el-table-column>
            <el-table-column width="100" prop="createName" label="创建人"></el-table-column>
            <el-table-column width="180" prop="publishTime" label="发布时间">
            </el-table-column>
            <el-table-column label="操作" align="conter">
              <template slot-scope="scope">
                <el-button type="text" size="medium" @click="details(scope.row.id)">详情</el-button>
                <el-button type="text" size="medium" @click="punlishOrUnshelve(scope.row.id, scope.row.status)"
                  :disabled="scope.row.status == 2">
                  <span v-if="scope.row.status === 1" style="color:#ff0000">下架</span>
                  <span v-else>发布</span>
                </el-button>
                <el-button type="text" size="medium" @click="removeGroupAn(scope.row.id)" style="color:#ff0000"
                  :disabled="scope.row.status == 1">删除
                </el-button>
              </template>
            </el-table-column>
          </el-table>
          <el-pagination @current-change="pageGroupAn" :current-page="queryInfoGroupAn.current"
            :page-size="queryInfoGroupAn.size" layout="prev, pager, next" :total="groupAnTotal"></el-pagination>
        </el-card>
        <!--添加群公告弹窗-->
        <el-dialog title="群组公告添加" :visible.sync="addGroupAnVisibel" width="50%" :before-close="addGroupAnClose"
          :append-to-body="true">
          <el-row :gutter="15">
            <el-form ref="addGroupForm" :model="addGroupForm" :rules="rules" size="medium" label-width="100px">
              <el-col :span="24">
                <el-form-item label="公告内容 " prop="text">
                  <el-input v-model="addGroupForm.text" type="textarea" placeholder="请输入公告内容" clearable
                    :autosize="{ minRows: 4, maxRows: 4 }" :style="{ width: '100%' }"></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="公告有效期" prop="effectiveStime">
                  <el-date-picker v-model="addGroupForm.effectiveStime" type="datetime" placeholder="选择日期时间" clearable
                    :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss">
                  </el-date-picker>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="至" prop="effectiveEtime">
                  <el-date-picker v-model="addGroupForm.effectiveEtime" type="datetime" placeholder="选择日期时间" clearable
                    :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss">
                  </el-date-picker>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="立即发布" prop="status">
                  <el-select v-model="addGroupForm.status" clearable placeholder="请选择下拉选择" :style="{ width: '100%' }">
                    <el-option v-for="item in groupStatusMate" :key="item.value" :label="item.label" :value="item.value"
                      :disabled="item.disabled"></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
            </el-form>
          </el-row>
          <span slot="footer" class="dialog-footer">
            <el-button @click="addGroupAnVisibel = false">取 消</el-button>
            <el-button type="primary" @click="addGroupAn">确 定</el-button>
          </span>
        </el-dialog>
        <!--群公告详情弹窗-->
        <el-dialog title="群组公告详情" :visible.sync="detailsVisible" width="50%" :append-to-body="true"
          :before-close="detailsVisibleclose">
          <el-row :gutter="15">
            <el-form ref="addGroupForm" :model="addGroupForm" size="medium" label-width="100px">
              <el-col :span="24">
                <el-form-item label="公告内容 " prop="text">
                  <el-input v-model="detailsGroupAn.text" type="textarea" placeholder="请输入公告内容" disabled
                    :autosize="{ minRows: 4, maxRows: 4 }" :style="{ width: '100%' }"></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="公告有效期" prop="effectiveStime">
                  <el-date-picker v-model="detailsGroupAn.effectiveStime" type="datetime" placeholder="选择日期时间" disabled
                    :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss">
                  </el-date-picker>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="至" prop="effectiveEtime">
                  <el-date-picker v-model="detailsGroupAn.effectiveEtime" type="datetime" placeholder="选择日期时间" disabled
                    :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss">
                  </el-date-picker>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="发布时间" prop="effectiveEtime">
                  <el-date-picker v-model="detailsGroupAn.publishTime" type="datetime" placeholder="选择日期时间" disabled
                    :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss">
                  </el-date-picker>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="创建人" prop="effectiveEtime">
                  <el-input v-model="detailsGroupAn.createName" disabled></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="状态" prop="status">
                  <span v-if="detailsGroupAn.status === 1">已发布</span>
                  <span v-else-if="detailsGroupAn.status === 0">未发布</span>
                  <span v-else="detailsGroupAn.status === 2">已下架</span>
                </el-form-item>
              </el-col>
            </el-form>
          </el-row>
          <!-- <div style="display:flex; width:180;">
            <div style="display:flex; width:180;">
              <h4>群组公告</h4>
              <p>{{ detailsGroupAn.text }}</p>
            </div>
            <div style="display:flex; width:180;">
              <h4>状态</h4>
              <p>{{ detailsGroupAn.status }}</p>
            </div>
            <div style="display:flex; width:180;">
              <h4>创建人</h4>
              <p>{{ detailsGroupAn. }}</p>
            </div>
            <div style="display:flex; width:180;">
              <h4>发布时间</h4>
              <p>{{ detailsGroupAn.publishTime }}</p>
            </div>
            <div style="display:flex; width:180;">
              <h4>群组公告</h4>
              <p>{{ detailsGroupAn.text }}</p>
            </div>
          </div> -->
          <!-- <el-table-column width="180" prop="effectiveStime" label="群组公告"></el-table-column>
            <el-table-column width="120" prop="status" label="状态">
              <template slot-scope="scope">
                <span v-if="scope.row.status === 1">已发布</span>
                <span v-else-if="scope.row.status === 0">未发布</span>
                <span v-else="scope.row.status=== 2">已下架</span>
              </template>
            </el-table-column>
            <el-table-column width="100" prop="createName" label="创建人"></el-table-column>
            <el-table-column width="180" prop="publishTime" label="发布时间">
            </el-table-column> -->
        </el-dialog>
      </el-row>
      <!-- <span slot="footer" class="dialog-footer">
        <el-button @click="reporterVisible = false">取 消</el-button>
        <el-button type="primary" @click="updateCause">确 定</el-button>
      </span> -->
    </el-dialog>
  </div>
</template>
<script>
import {
  casueList,
  remove
  remove,
  removeReport,
  leaveReport,
  user,
  updataReportCasue,
  GroupLits,
  GroupListBycondition,
  pOrUGroupAn,
  deleteGroupAn,
  detailsGroupAn,
  report
  //saveSubject
} from '@/api/cause'
import { getImgUrl, getReportById } from '@/api/common'
export default {
  name: "Entry",
  data() {
    return {
      causeOptions: [],
      //添加案件人员弹窗控制
      addReportVisible: false,
      //群公告详细内容
      detailsGroupAn: [],
      // {
      //   text: '',
      //   groupId: '',
      //   id: '',
      //   ctime: '',
      //   effectiveStime: '',
      //   effectiveEtime: '',
      //   createName: '',
      //   status: null,
      //   publishTime: null
      // },
      //群公告详情弹框
      detailsVisible: false,
      //群公告添加表单
      addGroupForm: {
        text: '',
        status: '',
        effectiveStime: '',
        effectiveEtime: '',
      },
      //群公告群添加弹框
      addGroupAnVisibel: false,
      //群公告查询
      queryInfoGroupAn: {
        status: '',
        content: '',
        groupId: '',
        current: 1,
        size: 10,
      },
      groupAnTotal: null,
      //群公告序号相关
      current: 1,
      size: 10,
      //案件id
      causeId: '',
      //案件人员导出id
      exportReportId: '',
      //群公告查询返回值
      groupAnFrom: [],
      //案件人员查询参数
      queryInfoReport: {
        causeId: null,
        people: '',
        phoneNumber: '',
        isInGroup: null,
        current: 1,
        HavaMaterial: null,
        size: 10,
      },
      auditFrom: {
        pic: '',
        reporterName: '',
        mobile: '',
        idcard: '',
@@ -151,9 +754,207 @@
        reportDescription: '',
        information: '',
        reportMaterials: "",
        causeId: '',
        fileList: [],
        tmpTime: '',
        causeId: null,
      },
      auditInfo: {},
      picShow: "",
      optionsGroup: [
        {
          value: null,
          label: '全部'
        },
        {
          value: '1',
          label: '是'
        },
        {
          value: '0',
          label: '否'
        }
      ],
      optionsMate: [
        {
          value: null,
          label: '全部'
        },
        {
          value: '0',
          label: '未提交'
        },
        {
          value: '1',
          label: '已提交'
        }
      ],
      groupStatusMate: [
        {
          value: '0',
          label: '否'
        },
        {
          value: '1',
          label: '是'
        }
      ],
      statusMate: [
        {
          value: '',
          label: '全部'
        },
        {
          value: '0',
          label: '未发布'
        },
        {
          value: '1',
          label: '已发布'
        }
      ],
      //报案人员中分页的案件id
      reportCauseId: null,
      reportTotal: 0,
      reportList: [],
      infoAduitDialogVisible: false,
      groupAnVisible: false,
      addCauseRules: {
        number: [{
          required: true,
          message: '请输入案件编号 ',
          trigger: 'blur'
        }],
        name: [{
          required: true,
          message: '请输入案件名称 ',
          trigger: 'blur'
        }],
        firstTime: [{
          required: true,
          message: '请选择最早案发时间 ',
          trigger: 'blur'
        }],
        status: [{
          required: true,
          message: '请选择案件状态 ',
          trigger: 'blur'
        }],
        totalMoney: [{
          required: true,
          message: '请输入预估总金额 ',
          trigger: 'blur'
        }],
        userId: [{
          required: true,
          message: '负责人选择 ',
          trigger: 'blur'
        }],
        description: [{
          required: true,
          message: '请输入案件描述 ',
          trigger: 'blur'
        }]
      }
      ,
      reportRules: {
        reporterName: [{
          required: true,
          message: '请输入报案人 ',
          trigger: 'blur'
        }],
        mobile: [{
          required: true,
          message: '请输入手机号码 ',
          trigger: 'blur'
        }],
        idcard: [{
          required: true,
          message: '请输入身份证号 ',
          trigger: 'blur'
        }],
        tmpTime: [{
          required: true,
          message: '请输入被骗时间 ',
          trigger: 'blur'
        }],
        amountInvolved: [{
          required: true,
          message: '请输入涉案金额 ',
          trigger: 'blur'
        }],
        reportDescription: [{
          required: true,
          message: '请输入案件描述 ',
          trigger: 'blur'
        }],
        information: [{
          required: true,
          message: '请输入补充信息 ',
          trigger: 'blur'
        }],
        causeId: [{
          required: true,
          message: '请选择下拉选择 ',
          trigger: 'change'
        }],
      },
      fileList: [{
        name: '',
        url: '',
        data: ''
      }
      ],
      updateReportForm: {
        pic: '',
        reporterName: '',
        mobile: '',
        idcard: '',
        cheatTime: '',
        amountInvolved: '',
        reportDescription: '',
        information: '',
        reportMaterials: "",
        ctime: '',
        causeId: null,
        groupId: null,
      },
      //案件人员表格数据
      updateReportPrams: {
        id: '',
        pic:'',
        reporterName: '',
        mobile: '',
        idcard: '',
        cheatTime: '',
        amountInvolved: '',
        reportDescription: '',
        information: '',
        reportMaterials: "",
        ctime: '',
        causeId: null,
        groupId: null,
        fileList: [],
      },
      //案件表格数据
      causeForm: {
        name: '',
        number: '',
        firstTime: '',
        userId: '',
        status: '',
        description: '',
      },
      updataCauseForm: {
        id: '',
        pic:'',
        name: '',
        number: '',
        firstTime: '',
        userName: '',
        status: '',
        userId: '',
        description: '',
      },
      casueList: [],
      queryInfo: {
@@ -162,6 +963,8 @@
        current: 1,
        size: 10
      },
      user: [],
      updateUser: [],
      options: [
        {
          value: null,
@@ -169,93 +972,503 @@
        },
        {
          value: '0',
          label: '未审核'
          label: '立案'
        },
        {
          value: '1',
          label: '不予立案'
          label: '初查'
        },
        {
          value: '2',
          label: '受理中'
          label: '受理'
        },
        {
          value: '3',
          label: '已结案'
          label: '移送起诉'
        },
        {
          value: '4',
          label: '已结案'
          label: '结案'
        }
      ],
      total: 0,
      causeOptions: [
        {
          value: 0,
          label: '立案'
        },
        {
          value: 1,
          label: '初查'
        },
        {
          value: 2,
          label: '受理'
        },
        {
          value: 3,
          label: '移送起诉'
        },
        {
          value: 4,
          label: '结案'
        }
      ],
      total: null,
      addAduitDialogVisible: false,
      rules: {
      updateAduitDialogVisible: false,
      reporterVisible: false,
      updateReportVisible: false,
      addReportRules: {
        reporterName: [{
          required: true,
          message: '请输入报案人 ',
          trigger: 'blur'
        }],
        mobile: [{
        mobile:
          [{ required: true, message: '请输入手机号码 ', trigger: 'blur' },
          {
            validator: function (rule, value, callback) {
              if (/^1[34578]\d{9}$/.test(value) == false) {
                callback(new Error("请输入正确的手机号"));
              } else {
                callback();
              }
            }, trigger: 'blur'
          }],
        idcard: [{ required: true, message: '请输入身份证ID ', trigger: 'blur' },
        { pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/, message: '你的身份证格式不正确' }],
        cheatTime: [{
          required: true,
          message: '请输入手机号码',
          trigger: 'blur'
        }],
        idcard: [{
          required: true,
          message: '请输入身份证号',
          trigger: 'blur'
        }],
        tmpTime: [{
          required: true,
          message: '请输入被骗时间',
          message: '请输入被骗时间 ',
          trigger: 'blur'
        }],
        amountInvolved: [{
          required: true,
          message: '请输入涉案金额',
          message: '请输入涉案金额 ',
          trigger: 'blur'
        }],
        reportDescription: [{
          required: true,
          message: '请输入案件描述',
          message: '请输入案件描述 ',
          trigger: 'blur'
        }],
        information: [{
          required: true,
          message: '请输入补充信息',
          message: '请输入补充信息 ',
          trigger: 'blur'
        }],
        causeId: [{
      },
      rules: {
        text: [{
          required: true,
          message: '请选择下拉选择',
          trigger: 'change'
          message: '请输入公告内容 ',
          trigger: 'blur'
        }],
        effectiveStime: [{
          required: true,
          message: '选择公告有效期 ',
          trigger: 'blur'
        }],
        effectiveEtime: [{
          required: true,
          message: '选择公告有效期 ',
          trigger: 'blur'
        }],
        status: [{
          required: true,
          message: '请输入被骗时间 ',
          trigger: 'blur'
        }]
      },
    }
  },
  created() {
    this.init()
    this.init();
    this.userList();
  },
  methods:
  {
    addAduitClose() {
      this.addAduitDialogVisible = false
      this.$refs.addAduitForm.resetFields()
      this.picShow = ""
    expExcel(){
    },
    addAduit() {
      this.$refs.addAduitForm.validate(async (vaild) => {
    addAduitAnJian(){
      let date=(new Date()).valueOf();//获取时间戳
      let txt = '1234567890';//生成的随机机器码
      let len =13;//机器码有多少位
      let pwd = '';//定义空变量用来接收机器码
      for (let i = 0; i < len; i++) {
        pwd += txt.charAt(Math.floor(Math.random() * txt.length));//循环机器码位数随机填充
      }
      let id= date+pwd;
      this.causeForm.number=id;
      this.addAduitDialogVisible=true;
    },
    //关闭案件的案件人员添加
    addReportVisibleClose() {
      this.addReportVisible = false;
    },
    //案件添加
    addVisibelReport() {
      this.addReportVisible = true;
    },
    detailsVisibleclose() {
      this.detailsVisible = false;
    },
    //群公告详情
    details(val) {
      detailsGroupAn(val).then(res =>
        this.detailsGroupAn = res
      );
      console.log(this.detailsGroupAn);
      this.detailsVisible = true;
    },
    //群公告删除
    removeGroupAn(val) {
      deleteGroupAn(val).then(res => this.$message({
        message: '操作成功',
        type: 'success'
      }));
      this.groupAnSearch();
    },
    //分页
    pageGroupAn(val) {
      this.queryInfoGroupAn.current = val;
      this.groupAnSearch();
    },
    //发布和下架
    punlishOrUnshelve(val, val2) {
      pOrUGroupAn(val, val2).then(res => {
        this.$message({
          message: '操作成功',
          type: 'success'
        });
        this.groupAnSearch();
      })
    },
    //打开弹框
    openGroupAn() { this.addGroupAnVisibel = true; },
    //添加群公告
    addGroupAn() {
      this.$refs.addGroupForm.validate(async (vaild) => {
        if (!vaild) return this.$message.error('输入有误')
        this.auditFrom.reportMaterials = this.auditFrom.fileList.map(i => i.data).join(',')
        report(this.auditFrom).then(res => {
          this.$message.success('提交成功')
          this.addAduitDialogVisible = false
          this.getList()
        }).catch(err => {
          this.addAduitClose()
        let from = null;
        from = this.addGroupForm;
        const data = from;
        this.$http.post('/api/announcement/add?groupId=' + this.queryInfoGroupAn.groupId,
          data
        ).then(res => {
          this.$message({
            message: '添加成功',
            type: 'success'
          });
          this.addGroupForm = {}
          this.addGroupAnVisibel = false;
          this.groupAnSearch();
        });
      })
    },
    //行为 群公告
    addGroupAnClose() {
      this.addGroupAnVisibel = false;
    },
    groupAnVisibleClose() {
      this.groupAnVisible = false
    },
    //群公告查询
    groupAnSearch() {
      let params = null;
      params = this.queryInfoGroupAn;
      GroupListBycondition(params).then(res => {
        this.queryInfoGroupAn.current = res.current;
        this.queryInfoGroupAn.size = res.size;
        this.groupAnFrom = res.records;
        this.current = res.current;
        this.size = res.size;
        this.groupAnTotal = res.total;
      })
    },
    //群公告
    //打开 群公告弹窗
    groupAn(val) {
      this.groupAnVisible = true;
      this.getGroupAn(val);
    },
    getGroupAn(val) {
      let params = null;
      this.queryInfoGroupAn.groupId = val;
      params = this.queryInfoGroupAn;
      GroupLits(params).then(res => {
        this.queryInfoGroupAn.current = res.current;
        this.queryInfoGroupAn.size = res.size;
        this.groupAnFrom = res.records;
        this.current = res.current;
        this.size = res.size;
        this.groupAnTotal = res.total;
      })
    },
    //案件人员
    //导出文件
    exportExcel() {
      this.$http.post('/api//cause/exp?causeId=' + this.exportReportId, {}, { responseType: 'blob' })
        .then(res => {
          const fileName = decodeURI(res.headers['content-disposition'].split(';')[1].split('=')[1])
          const blob = new Blob([res.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' })
          const elink = document.createElement('a')
          elink.download = fileName
          elink.href = URL.createObjectURL(blob)
          document.body.appendChild(elink)
          elink.click()
          document.body.removeChild(elink)
        })
    },
    //案件人员编辑表单提交
    updateReportInCasue() {
      this.updateReportPrams.reporterName = this.updateReportForm.reporterName
      this.updateReportPrams.mobile = this.updateReportForm.mobile
      this.updateReportPrams.idcard = this.updateReportForm.idcard
      this.updateReportPrams.cheatTime = this.updateReportForm.cheatTime
      this.updateReportPrams.amountInvolved = this.updateReportForm.amountInvolved
      this.updateReportPrams.reportDescription = this.updateReportForm.reportDescription
      this.updateReportPrams.information = this.updateReportForm.information
      this.updateReportPrams.reportMaterials = this.updateReportForm.reportMaterials
      this.updateReportPrams.ctime = this.updateReportForm.ctime
      this.updateReportPrams.causeId = this.updateReportForm.causeId
      this.updateReportPrams.groupId = this.updateReportForm.groupId
      this.updateReportPrams.id = this.updateReportForm.id
      this.updateReportPrams.reportMaterials = this.updateReportPrams.fileList.map(i => i.data).join(',')
      this.updateReportPrams.pic=this.updateReportForm.pic
      let form = null;
      form = this.updateReportPrams;
      const data = form;
      updataReportCasue(data).then(
        res => {
          this.$message({
            message: '修改成功',
            type: 'success'
          });
          this.searchByCondition();
        }
      );
      this.updateReportVisible = false;
    },
    //编辑案件人员
    updataReport(val) {
      this.updateReportVisible = true;
      this.updateReportForm = Object.assign({}, val);
      this.causeId = val.causeId;
    },
    //行为关闭修改案件人员
    updateReportVisibleclose() {
      this.updateReportVisible = false;
    },
    //报案人员
    reporterVisibleBefore(row) {
      this.reporterVisible = true;
      this.exportReportId = row;
      this.reportCauseId = row;
      this.get(row);
    },
    //报案人员查询
    get(param) {
      this.$http.get('/api/cause/getReporterList?causeId=' + param).then(res => {
        this.reportTotal = res.data.data.total
        this.reportList = res.data.data.records
        this.reportList.forEach(x => {
          if (x.pic === '' || x.pic === null) {
            x.pic = './logo.jpg';
          } else {
            getImgUrl(x.pic).then(res => {
              x.pic = res
            })
          }
        })
      })
    }
    ,
    infoAduitClose() {
      this.infoAduitDialogVisible = false
      this.$refs.infoAduitForm.resetFields()
    },
    //添加案件中的案件人员
    addAduit() {
      this.$refs.auditFrom.validate(async (vaild) => {
        if (!vaild) return this.$message.error('输入有误')
        this.auditFrom.reportMaterials = this.auditFrom.fileList.map(i => i.data).join(',');
        this.auditFrom.causeId = this.reportCauseId;
        // console.log(this.reportCauseId);
        report(this.auditFrom).then(res => {
          this.$message.success('提交成功')
          this.auditFrom = {}
          this.addReportVisible = false
          this.get(this.reportCauseId)
          this.init()
        }).catch(err => {
          this.addReportVisibleClose()
        })
      })
    },
    async getCauseOptions() {
      const { data: data } = await this.$http.get('/api/cause/getCauseIdAndName');
      this.causeOptions = data.data;
    },
    handleAvatarSuccess(res, file) {
      this.auditFrom.pic = res.data
      getImgUrl(res.data).then(res => {
        this.picShow = res
        this.updateReportForm.pic = res
      })
    },
    async handleMaterialSuccess(res, file) {
      this.auditFrom.fileList.push({
        name: file.name,
        url: await getImgUrl(res.data),
        data: res.data
      })
    },
    async handleReporterMaterialSuccess(res, file) {
      this.updateReportPrams.fileList.push({
        name: file.name,
        url: await getImgUrl(res.data),
        data: res.data
      })
    },
    //案件录入相关
    updateCauseDialogVisible(row) {
      this.updateAduitDialogVisible = true;
      this.updataCauseForm = Object.assign({}, row);
      // if (this.updataCauseForm.status == 0) {
      //   this.updataCauseForm.status = '未审核';
      // };
      // if (this.updataCauseForm.status == 1) {
      //   this.updataCauseForm.status = '不予立案';
      // };
      // if (this.updataCauseForm.status == 2) {
      //   this.updataCauseForm.status = '受理中';
      // };
      // if (this.updataCauseForm.status == 3) {
      //   this.updataCauseForm.status = '已结案';
      // };
      // if (this.updataCauseForm.status == 4) {
      //   this.updataCauseForm.status = '已撤案';
      // };
    },
    addAduitClose() {
      this.addAduitDialogVisible = false
    },
    updateAduitClose() {
      this.updateAduitDialogVisible = false
    },
    reporterVisibleClose() {
      this.reporterVisible = false
    },
    async createCause() {
      this.$refs.causeForm.validate(async (vaild) => {
        if (!vaild) return this.$message.error('输入有误')
        let form = null;
        form = this.causeForm;
        const data = form;
        this.$http.post('/api/cause/addCause',
          data
        ).then(res => {
          if (res.data.code == 200) {
            this.$message({
              type: "success",
              message: "添加成功"
            });
            this.causeForm = {}
            this.addAduitDialogVisible = false;
            this.getList();
          } else {
            this.$message({
              type: "error",
              message: res.data.msg
            })
          }
        }
        )
      })
    },
    userList() {
      user().then(
        res => this.user = res
      )
    },
    async updateCause() {
      let form = null;
      form = this.updataCauseForm;
      const data = form;
      //saveSubject(params);
      data.userId = data.userName;
      for (let key in this.user) {
        if (data.userId == this.user[key].userName) {
          data.userId = this.user[key].userId;
        }
      }
      // if (data.status == '未审核') {
      //   data.status = 0;
      // }
      // if (data.status == '不予立案') {
      //   data.status = 1;
      // }
      // if (data.status == '受理中') {
      //   data.status = 2;
      // }
      // if (data.status == '已结案') {
      //   data.status = 3;
      // }
      // if (data.status == '已撤案') {
      //   data.status = 4;
      // }
      this.$http.put('/api/cause/updateCause?id=' + data.id,
        data
      ).then(res => {
        if (res.data.code == 200) {
          this.$message({
            type: "success",
            message: "修改成功"
          });
          // if (this.updataCauseForm.status == 0) {
          //   this.updataCauseForm.status = '未审核';
          // };
          // if (this.updataCauseForm.status == 1) {
          //   this.updataCauseForm.status = '不予立案';
          // };
          // if (this.updataCauseForm.status == 2) {
          //   this.updataCauseForm.status = '受理中';
          // };
          // if (this.updataCauseForm.status == 3) {
          //   this.updataCauseForm.status = '已结案';
          // };
          // if (this.updataCauseForm.status == 4) {
          //   this.updataCauseForm.status = '已撤案';
          // };
          this.updateAduitDialogVisible = false;
          // location.reload();
          this.getList();
        } else {
          this.$message({
            type: "error",
            message: "表单不能为空"
          })
        }
      })
    },
    respond(res) {
      if (res.code == 200) {
@@ -272,6 +1485,23 @@
      }
      location.reload();
    },
    //案件人员导入成功后
    reporterRespond(res) {
      if (res.code == 200) {
        this.$message({
          message: '上传成功',
          type: 'success'
        }
        )
      } else {
        this.$message({
          message: res.msg,
          type: 'error'
        })
      }
      this.get(this.reportCauseId);
    },
    beforeAvatarUpload(file) {
      let Xls = file.name.split('.');
      if (Xls[1] === 'xls' || Xls[1] === 'xlsx') {
@@ -307,15 +1537,40 @@
        }
      )
    },
    //案件人员弹窗中的查询
    searchByCondition() {
      this.queryInfoReport.causeId = this.reportCauseId;
      this.$http.get('/api/cause/getAllReportList', {
        params: this.queryInfoReport
      }).then(
        res => {
          this.reportTotal = res.data.data.total
          this.reportList = res.data.data.records
          this.reportList.forEach(x => {
            if (x.pic === '' || x.pic === null) {
              x.pic = './logo.jpg';
            } else {
              getImgUrl(x.pic).then(res => {
                x.pic = res
              })
            }
          })
        }
      )
    }
    ,
    addDialogOpen() {
    },
    exportExcel() {
    },
    handleCurrentChange(val) {
      this.queryInfo.current = val;
      this.getList();
    },
    pageReport(val) {
      this.queryInfoReport.current = val;
      this.searchByCondition();
    },
    removeCause(val) {
      remove(val).then(
@@ -327,7 +1582,33 @@
          this.getList();
        }
      )
    }
    },
    removeReport(val, row) {
      removeReport(val).then(
        res => {
          this.$message({
            message: '删除成功',
            type: 'success'
          });
          this.searchByCondition();
        }
      )
    },
    leaveReport(val, row, value) {
      leaveReport(val, value).then(
        res => {
          this.$message({
            message: '退群成功',
            type: 'success'
          });
          this.searchByCondition();
        }
      )
    },
  }
}
</script>
@@ -340,4 +1621,4 @@
::v-deep(.el-table thead) {
  color: #000000;
}
</style>
</style>