Tcsm
2023-08-08 1737343f1ac89c5980a268775a201304c47151ca
ruoyi-ui/src/views/self/show.vue
@@ -1,5 +1,7 @@
<template>
  <div class="app-container">
    <!--  刷新页面  -->
<!--    <MyComponent :key="componentKey" />-->
    <!--    回到顶部-->
    <el-backtop :bottom="150" :right="30">
      <el-button type="primary" circle
@@ -56,12 +58,12 @@
<!--                  <el-input v-model="individualList.sex === 1 ? '男':'女' " placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">-->
<!--                  </el-input>-->
                  <template v-if="!isEditing">
                    <el-input v-model="individualList.sex === 1 ? '男':'女'" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
                    <el-input v-model="individualList.sex === 1 ? inds='男':inds='女'" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
                  </template>
                  <template v-else>
                    <el-select v-model="individualList.sex" placeholder="请选择性别" clearable :style="{width: '100%'}">
                      <el-option label="男" value="1"></el-option>
                      <el-option label="女" value="0"></el-option>
                    <el-select v-model="inds" placeholder="请选择性别" clearable :style="{width: '100%'}" :disabled="dsb">
                      <el-option label="男" value='1'></el-option>
                      <el-option label="女" value='0'></el-option>
                    </el-select>
                  </template>
                </el-form-item>
@@ -97,13 +99,14 @@
                  <template v-if="!isEditing" >
                    <el-input v-if="individualList.maritalStatus===0" placeholder="未婚"></el-input>
                    <el-input v-if="individualList.maritalStatus===1" placeholder="已婚"></el-input>
                    <el-input v-if="individualList.maritalStatus===2" placeholder="离婚"></el-input>
                    <el-input v-if="individualList.maritalStatus===2" placeholder="未婚"></el-input>
                  </template>
                  <template v-else>
                    <el-select v-model="individualList.maritalStatus" placeholder="请选择性别" clearable :style="{width: '100%'}">
                      <el-option label="未婚" value="0"></el-option>
                      <el-option label="已婚" value="1"></el-option>
                      <el-option label="离婚" value="2"></el-option>
                    <el-select v-model="mrs" placeholder="请选择性别" clearable :style="{width: '100%'}">
                      <el-option label="未婚" value='0'></el-option>
                      <el-option label="已婚" value='1'></el-option>
                      <el-option label="离婚" value='2'></el-option>
                    </el-select>
                  </template>
                </el-form-item>
@@ -234,14 +237,39 @@
    </el-container>
    <!--折叠面板-->
    <el-collapse v-model="activeNames" @change="handleChange">
    <el-collapse  v-model="activeNames" @change="handleChange">
      <el-collapse-item title="移居国(境)情况" name="3" >
      <div>
        <el-form v-loading="loading" :data="individualList" @selection-change="handleSelectionChange">
          <el-form-item label="是否拥有外籍、境外居留权、长期居留许可" >
            <el-radio-group v-model="individualList.outStatus" style="margin-bottom: 0;color: #FEF7FC;" :disabled="dsb">
              <el-radio :label="1">是</el-radio>
              <el-radio :label="0">否</el-radio>
            </el-radio-group>
            <el-container >
              <el-row :span="7">
                <el-form v-loading="loading" :data="individualList" @selection-change="handleSelectionChange">
                  <el-form-item label="证件号码" prop="idNo" label-width="70px">
                    <el-input v-model="individualList.idNo" style="color: #FEF7FC;" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
                    </el-input>
                  </el-form-item>
                </el-form>
              </el-row>
            </el-container>
          </el-form-item>
        </el-form>
      </div>
    </el-collapse-item>
      <!--主要学习及工作经历-->
      <el-collapse-item name="1"  >
        <template v-slot:title>
          <div class="title-wrapper">
            主要学习及工作经历
            <div>
            <el-button class="button" size="mini" type="text"  @click="showDialog('open')">
            <el-button class="button" size="mini" type="text"  @click="showDialog('open')" >
              <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn></el-button>
            </div>
          </div>
@@ -249,76 +277,37 @@
        <el-table v-loading="loading" :data="experienceList" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;">
          <el-table-column label="开始日期" prop="startDate" sortable width="250" align="center" >
            <template slot-scope="scope">
              <template v-if="!scope.row.isEdit">
                {{ scope.row.startDate }}
              </template>
              <template v-else>
                <el-input v-model="scope.row.startDate"></el-input>
              </template>
              <template v-if="!scope.row.isEdit">{{ scope.row.startDate }}</template>
              <template v-else><el-input v-model="scope.row.startDate"></el-input></template>
            </template>
          </el-table-column>
          <el-table-column label="结束日期" prop="endDate" sortable width="250" align="center" >
            <template slot-scope="scope">
              <template v-if="!scope.row.isEdit">
                {{ scope.row.endDate }}
              </template>
              <template v-else>
                <el-input v-model="scope.row.endDate"></el-input>
              </template>
              <template v-if="!scope.row.isEdit">{{ scope.row.endDate }}</template>
              <template v-else><el-input v-model="scope.row.endDate"></el-input></template>
            </template>
          </el-table-column>
          <el-table-column label="主要学习经历、工作单位及任职情况" prop="content" sortable width="350" align="center" >
            <template slot-scope="scope">
              <template v-if="!scope.row.isEdit">
                {{ scope.row.content }}
              </template>
              <template v-else>
                <el-input v-model="scope.row.content"></el-input>
              </template>
              <template v-if="!scope.row.isEdit">{{ scope.row.content }}</template>
              <template v-else><el-input v-model="scope.row.content"></el-input></template>
            </template>
          </el-table-column>
          <el-table-column label="证明人" prop="witness" sortable width="300" align="center" >
            <template slot-scope="scope">
              <template v-if="!scope.row.isEdit">
                {{ scope.row.witness }}
              </template>
              <template v-else>
                <el-input v-model="scope.row.witness"></el-input>
              </template>
              <template v-if="!scope.row.isEdit">{{ scope.row.witness }}</template>
              <template v-else><el-input v-model="scope.row.witness"></el-input></template>
            </template>
          </el-table-column>
          <!--      操作-->
          <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
            <template slot-scope="scope" v-if="scope.row.roleId !== 1">
<!--              @click="handleUpdate(scope.row)"-->
              <el-button
                size="mini"
                type="text"
                icon="el-icon-edit"
                v-if="!editStatus[scope.row.id]"
                @click="editRow(scope.row)"
                v-hasPermi="['system:role:edit']"
              >修改</el-button>
              <el-button size="mini"
                         type="text"
                         v-if="editStatus[scope.row.id]"
                         @click="saveRow(scope.row)"
              >保存</el-button>
              <el-button
                size="mini"
                type="text"
                icon="el-icon-delete"
                @click="handleExperienceDelete(scope.row)"
                v-hasPermi="['system:role:remove']"
              >删除</el-button>
<!--              <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:role:edit']">-->
<!--                <el-button size="mini" -->
<!--                           type="text" -->
<!--                           icon="el-icon-d-arrow-right"  -->
<!--                           @click="handleCheck(scope.row)"-->
<!--                >查看详情</el-button>-->
<!--              </el-dropdown>-->
              <el-button size="mini" type="text" icon="el-icon-edit" v-if="!editStatus[scope.row.id]"
               @click="editRow(scope.row)" v-hasPermi="['system:role:edit']">修改</el-button>
              <el-button size="mini" type="text"
                v-if="editStatus[scope.row.id]" @click="saveRowExperienceList(scope.row)">保存</el-button>
              <el-button size="mini" type="text" icon="el-icon-delete"
                @click="handleExperienceDelete(scope.row)" v-hasPermi="['system:role:remove']">删除</el-button>
            </template>
          </el-table-column>
        </el-table>
@@ -336,69 +325,46 @@
        <el-table v-loading="loading" :data="relationList" @selection-change="handleSelectionChange"
                  :row-class-name="tableRowClassName" style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;">
          <el-table-column label="与本人关系"  prop="relation" sortable width="260" align="center" >
            <template slot-scope="scope">{{scope.row.relation? scope.row.relation: '————'}}</template>
            <template slot-scope="scope">
              <template v-if="!scope.row.isEdit">{{ scope.row.relation }}</template>
              <template v-else><el-input v-model="scope.row.relation"></el-input></template>
            </template>
          </el-table-column>
          <el-table-column label="姓名" prop="otherName" sortable width="260" align="center" >
            <template slot-scope="scope">{{scope.row.otherName? scope.row.otherName: '————'}}</template>
          </el-table-column>
          <el-table-column label="单位及职务" prop="otherUnit position" sortable width="260" align="center">
            <template slot-scope="scope">
              <span v-if="scope.row.otherUnit || scope.row.otherPosition  == true">
                {{scope.row.otherUnit}}/{{scope.row.otherPosition}}
              </span>
              <span v-else>————</span>
              <template v-if="!scope.row.isEdit">{{ scope.row.otherName }}</template>
              <template v-else><el-input v-model="scope.row.otherName"></el-input></template>
            </template>
          </el-table-column>
          <el-table-column label="单位" prop="otherUnit" sortable width="220" align="center" >
            <template slot-scope="scope">
              <template v-if="!scope.row.isEdit">{{ scope.row.otherUnit }}</template>
              <template v-else><el-input v-model="scope.row.otherUnit"></el-input></template>
            </template>
          </el-table-column>
          <el-table-column label="职务" prop="otherPosition" sortable width="220" align="center">
            <template slot-scope="scope">
              <template v-if="!scope.row.isEdit">{{ scope.row.otherPosition }}</template>
              <template v-else><el-input v-model="scope.row.otherPosition"></el-input></template>
            </template>
          </el-table-column>
          <el-table-column label="政治面貌" prop="otherPolitical" sortable width="260" align="center">
            <template slot-scope="scope">{{scope.row.otherPolitical? scope.row.otherPolitical: '————'}}</template>
            <template slot-scope="scope">
              <template v-if="!scope.row.isEdit">{{ scope.row.otherPolitical }}</template>
              <template v-else><el-input v-model="scope.row.otherPolitical"></el-input></template>
            </template>
          </el-table-column>
          <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
            <template slot-scope="scope" v-if="scope.row.roleId !== 1">
              <el-button
                size="mini"
                type="text"
                icon="el-icon-edit"
                @click="handleUpdate(scope.row)"
                v-hasPermi="['system:role:edit']"
              >修改</el-button>
              <el-button
                size="mini"
                type="text"
                icon="el-icon-delete"
                @click="handleRelationDelete(scope.row)"
                v-hasPermi="['system:role:remove']"
              >删除</el-button>
<!--              <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:role:edit']">-->
<!--                <el-button size="mini" type="text" icon="el-icon-d-arrow-right"  @click="handleCheck(scope.row)">查看详情</el-button>-->
<!--              </el-dropdown>-->
              <el-button size="mini" type="text" icon="el-icon-edit" v-if="!editStatus[scope.row.id]"
                @click="editRow(scope.row)" v-hasPermi="['system:role:edit']">修改</el-button>
              <el-button size="mini" type="text" v-if="editStatus[scope.row.id]"
                @click="saveRowRelationList(scope.row)">保存</el-button>
              <el-button size="mini" type="text" icon="el-icon-delete"
                @click="handleRelationDelete(scope.row)" v-hasPermi="['system:role:remove']">删除</el-button>
            </template>
          </el-table-column>
        </el-table>
      </el-collapse-item>
      <el-collapse-item title="移居国(境)情况" name="3" >
        <div>
          <el-form v-loading="loading" :data="individualList" @selection-change="handleSelectionChange">
            <el-form-item label="是否拥有外籍、境外居留权、长期居留许可">
              <el-radio-group v-model="individualList.outStatus" style="margin-bottom: 0">
                <el-radio :label="1">是</el-radio>
                <el-radio :label="0">否</el-radio>
              </el-radio-group>
              <el-container >
                <el-row :span="7">
                  <el-form v-loading="loading" :data="individualList" @selection-change="handleSelectionChange">
                    <el-form-item label="证件号码" prop="idNo" label-width="70px">
                      <el-input v-model="individualList.idNo" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
                      </el-input>
                    </el-form-item>
                  </el-form>
                </el-row>
              </el-container>
            </el-form-item>
          </el-form>
        </div>
      </el-collapse-item>
      <!--持有出入境证件情况-->
      <el-collapse-item  name="4">
@@ -411,53 +377,50 @@
        </template>
        <el-table v-loading="loading" :data="certificateList" @selection-change="handleSelectionChange"
                  :row-class-name="tableRowClassName" style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;">
          <el-table-column label="证件名称" prop="cerName" sortable width="280" align="center" >
            <template slot-scope="scope">{{scope.row.cerName? scope.row.cerName: '————'}}</template>
          </el-table-column>
          <el-table-column label="证件类型" prop="type" sortable width="280" align="center" >
            <template slot-scope="scope">{{ getSrc(scope.row.type) }}</template>
          </el-table-column>
          <el-table-column label="持有情况" prop="ownStatus" sortable width="280" align="center" >
            <template slot-scope="scope">{{scope.row.ownStatus? scope.row.ownStatus: '————'}}</template>
          </el-table-column>
          <el-table-column label="证件号码" prop="idNo" sortable width="280" align="center" >
            <template slot-scope="scope">{{scope.row.idNo? scope.row.idNo: '————'}}</template>
          </el-table-column>
          <el-table-column label="有效期" prop="startTime endTime"  sortable width="280" align="center">
          <el-table-column label="证件名称" prop="cerName" sortable width="230" align="center" >
            <template slot-scope="scope">
              <span v-if="scope.row.startTime || scope.row.endTime  == true">
                {{scope.row.startTime}} 至 {{scope.row.endTime}}
              </span>
              <span v-else>————</span>
              <template v-if="!scope.row.isEdit">{{ scope.row.cerName }}</template>
              <template v-else><el-input v-model="scope.row.cerName"></el-input></template>
            </template>
          </el-table-column>
          <el-table-column label="证件类型" prop="type" sortable width="230" align="center" >
            <template slot-scope="scope">
              <template v-if="!scope.row.isEdit">{{ scope.row.type }}</template>
              <template v-else><el-input v-model="scope.row.type"></el-input></template>
            </template>
          </el-table-column>
          <el-table-column label="持有情况" prop="ownStatus" sortable width="230" align="center" >
            <template slot-scope="scope">
              <template v-if="!scope.row.isEdit">{{ scope.row.ownStatus }}</template>
              <template v-else><el-input v-model="scope.row.ownStatus"></el-input></template>
            </template>
          </el-table-column>
          <el-table-column label="证件号码" prop="idNo" sortable width="230" align="center" >
            <template slot-scope="scope">
              <template v-if="!scope.row.isEdit">{{ scope.row.idNo }}</template>
              <template v-else><el-input v-model="scope.row.idNo"></el-input></template>
            </template>
          </el-table-column>
          <el-table-column label="开始时间" prop="startTime"  sortable width="230" align="center">
            <template slot-scope="scope">
              <template v-if="!scope.row.isEdit">{{ scope.row.startTime }}</template>
              <template v-else><el-input v-model="scope.row.startTime"></el-input></template>
            </template>
          </el-table-column>
          <el-table-column label="结束时间" prop="endTime"  sortable width="230" align="center">
            <template slot-scope="scope">
              <template v-if="!scope.row.isEdit">{{ scope.row.endTime }}</template>
              <template v-else><el-input v-model="scope.row.endTime"></el-input></template>
            </template>
          </el-table-column>
          <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
            <template slot-scope="scope" v-if="scope.row.roleId !== 1">
              <!--              @click="handleUpdate(scope.row)"-->
              <el-button
                size="mini"
                type="text"
                icon="el-icon-edit"
                v-if="scope.row.isEdit"
                @click="handleEdit"
                v-hasPermi="['system:role:edit']"
              >修改</el-button>
              <el-button v-if="scope.row.isEdit" @click="saveRow(scope.row)">保存</el-button>
              <el-button
                size="mini"
                type="text"
                icon="el-icon-delete"
                @click="handleCertificateDelete(scope.row)"
                v-hasPermi="['system:role:remove']"
              >删除</el-button>
              <!--              <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:role:edit']">-->
              <!--                <el-button size="mini" -->
              <!--                           type="text" -->
              <!--                           icon="el-icon-d-arrow-right"  -->
              <!--                           @click="handleCheck(scope.row)"-->
              <!--                >查看详情</el-button>-->
              <!--              </el-dropdown>-->
              <el-button size="mini" type="text" icon="el-icon-edit" v-if="!editStatus[scope.row.id]"
                         @click="editRow(scope.row)" v-hasPermi="['system:role:edit']">修改</el-button>
              <el-button size="mini" type="text" v-if="editStatus[scope.row.id]"
                         @click="saveRowCertificateList(scope.row)">保存</el-button>
              <el-button size="mini" type="text" icon="el-icon-delete"
                @click="handleCertificateDelete(scope.row)" v-hasPermi="['system:role:remove']">删除</el-button>
            </template>
          </el-table-column>
        </el-table>
@@ -473,46 +436,38 @@
        </template>
        <el-table v-loading="loading" :data="AbroadList" @selection-change="handleSelectionChange"
                  :row-class-name="tableRowClassName" style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;">
          <el-table-column label="起止日期" prop="startTime endTime" sortable width="350" align="center" >
          <el-table-column label="开始时间" prop="startTime"  sortable width="200" align="center">
            <template slot-scope="scope">
              <span v-if="scope.row.startTime || scope.row.endTime  == true">
                {{scope.row.startTime}} 至 {{scope.row.endTime}}
              </span>
              <span v-else>————</span>
              <template v-if="!scope.row.isEdit">{{ scope.row.startTime }}</template>
              <template v-else><el-input v-model="scope.row.startTime"></el-input></template>
            </template>
          </el-table-column>
          <el-table-column label="所到国家或者地区" prop="destination" sortable width="350" align="center" >
            <template slot-scope="scope">{{scope.row.destination? scope.row.destination: '————'}}</template>
          <el-table-column label="结束时间" prop="endTime"  sortable width="200" align="center">
            <template slot-scope="scope">
              <template v-if="!scope.row.isEdit">{{ scope.row.endTime }}</template>
              <template v-else><el-input v-model="scope.row.endTime"></el-input></template>
            </template>
          </el-table-column>
          <el-table-column label="所到国家或者地区" prop="destination" sortable width="300" align="center" >
            <template slot-scope="scope">
              <template v-if="!scope.row.isEdit">{{ scope.row.destination }}</template>
              <template v-else><el-input v-model="scope.row.destination"></el-input></template>
            </template>
          </el-table-column>
          <el-table-column label="事由(旅游、走访、探亲、继承财产、其他)" prop="cause" sortable width="420" align="center" >
            <template slot-scope="scope">{{scope.row.cause? scope.row.cause: '————'}}</template>
            <template slot-scope="scope">
              <template v-if="!scope.row.isEdit">{{ scope.row.cause }}</template>
              <template v-else><el-input v-model="scope.row.cause"></el-input></template>
            </template>
          </el-table-column>
          <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
            <template slot-scope="scope" v-if="scope.row.roleId !== 1">
              <!--              @click="handleUpdate(scope.row)"-->
              <el-button
                size="mini"
                type="text"
                icon="el-icon-edit"
                @click="handleAdd"
                v-hasPermi="['system:role:edit']"
              >修改</el-button>
              <el-button
                size="mini"
                type="text"
                icon="el-icon-delete"
                @click="handleAbroadDelete(scope.row)"
                v-hasPermi="['system:role:remove']"
              >删除</el-button>
              <!--              <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:role:edit']">-->
              <!--                <el-button size="mini" -->
              <!--                           type="text" -->
              <!--                           icon="el-icon-d-arrow-right"  -->
              <!--                           @click="handleCheck(scope.row)"-->
              <!--                >查看详情</el-button>-->
              <!--              </el-dropdown>-->
              <el-button size="mini" type="text" icon="el-icon-edit" v-if="!editStatus[scope.row.id]"
                         @click="editRow(scope.row)" v-hasPermi="['system:role:edit']">修改</el-button>
              <el-button size="mini" type="text" v-if="editStatus[scope.row.id]"
                         @click="saveRowAbroadList(scope.row)">保存</el-button>
              <el-button size="mini" type="text" icon="el-icon-delete" @click="handleAbroadDelete(scope.row)"
                         v-hasPermi="['system:role:remove']">删除</el-button>
            </template>
          </el-table-column>
        </el-table>
@@ -538,11 +493,15 @@
            <div v-if="item.term === '研究生'"> {{item.content}}</div>
            <div v-if="item.term === '工作'"> {{item.content}}</div>
            <div v-if="item.term === '结婚后'"> {{item.content}}</div>
            <el-button size='mini' type="text" class="btn_edit" @click="editData(item)" style='position: absolute;right:10px;top:5px;'>
              <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn>
            </el-button>
          </el-tab-pane>
        </el-tabs>
<!--        <el-button size='mini' type="text" class="btn_autobiography" @click="showDialog('autobiography')" style='position: absolute;right:10px;top:5px;'>-->
<!--          <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn>-->
<!--        </el-button>-->
        <el-button size='mini' type="text" class="btn_autobiography" @click="showDialog('autobiography')" style='position: absolute;right:10px;top:5px;'>
          <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn>
        </el-button>
      </div>
    </div>
@@ -675,21 +634,26 @@
      </div>
    </el-dialog>
    <!--新增自传-->
    <el-dialog :title="title" :visible.sync="dialogVisible.autobiography" width="900px" >
    <el-dialog :title="isEdit1 ? '编辑记录' : '新增记录'" :visible.sync="dialogVisible.autobiography" width="900px" append-to-body>
      <el-col >
        <el-form ref="elForm" :model="AutobiographyList" :rules="rules" size="medium"  label-position="left"
                 v-loading="loading" :data="AutobiographyList" @selection-change="handleSelectionChange" >
        <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-position="left" >
          <el-row :span="5">
<!--            <el-form-item label="需要修改的记录:" prop="id">-->
<!--              <el-select v-model="formDat.id" placeholder="请选择需要修改的记录" clearable :style="{width: '50%'}"  >-->
<!--                <el-option v-for="(item, index) in AutobiographyList" :key='item.id' :label="item.ageBegin+'~'+item.ageEnd+'岁'+'('+item.term+')'"-->
<!--                ></el-option>-->
<!--              </el-select>-->
<!--            </el-form-item>-->
            <el-form-item label="年龄段:" prop="ageBegin ageEnd" label-width="70px">
              <el-input v-model="AutobiographyList.ageBegin" placeholder="" clearable :style="{width: '20%'}" >
              <el-input v-model="formDat.ageBegin" placeholder="" clearable :style="{width: '20%'}" >
              </el-input>
              <span> 岁 ——</span>
              <el-input v-model="AutobiographyList.ageEnd" placeholder="" clearable :style="{width: '20%'}" >
              <el-input v-model="formDat.ageEnd" placeholder="" clearable :style="{width: '20%'}" >
              </el-input>
              <span> 岁 </span>
          </el-form-item>
            <el-form-item label="时期:" prop="term">
              <el-select v-model="formDat.type" placeholder="请选择时期" clearable :style="{width: '50%'}"  >
              <el-select v-model="formDat.term" placeholder="请选择时期" clearable :style="{width: '50%'}"  >
                <el-option v-for="(item, index) in typeOptions" :key="index" :label="item.label" :value="item.value"
                ></el-option>
              </el-select>
@@ -716,17 +680,18 @@
<script>
import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from "@/api/system/role";
import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu";
import axios from 'axios';
//在system/note/index.js中导入接口函数  --接好了
import {getIndividualList, addIndividual, updateIndividual, delIndividual,
        listExperience,  addExperience,updateExperience, delExperience,
        getIndividualRelation,addRelation,updateRelation,delRelation,
        getCertificateList, addCertificate, delCertificate,
        getAbroadList,addAbroad, delAbroad,
        getAutobiographyList, getAutobiographyTermList,addAutobiography,
        getCategory} from "@/api/self/index";
import {
  getIndividualList, addIndividual, updateIndividual, delIndividual,
  listExperience, addExperience, updateExperience, delExperience,
  getIndividualRelation, addRelation, updateRelation, delRelation,
  getCertificateList, addCertificate, updateCertificate, delCertificate,
  getAbroadList, addAbroad, updateAbroad, delAbroad,
  getAutobiographyList, getAutobiographyTermList, addAutobiography,updateAutobiography,
  getCategory,
} from "@/api/self/index";
import { delFamilyevent, uploadPic } from '../../api/bignote'
import { blobValidate } from '../../utils/ruoyi'
@@ -735,6 +700,9 @@
export default {
  name: "show",
  dicts: ['sys_normal_disable'],
  // components: {
  //   MyComponent
  // },
  data() {
    return {
      // 遮罩层
@@ -742,8 +710,13 @@
      loading: true,
      formData:[],
      componentKey: 0,
      // 选中数组
      ids: [],
      //性别
      inds:undefined,
      //婚姻类别
      mrs:undefined,
      // 非单个禁用
      single: true,
      // 非多个禁用
@@ -790,7 +763,7 @@
      // current: 0,
      //下拉实现
      activeNames:'',
      activeNames:'3',
      dialogVisible: {
        open: false,
        relation1:false,
@@ -814,15 +787,13 @@
      dateRange: [],
      // 数据范围选项
      fot:[".jpg",".jif"],
      fileList:[
      ],
      fileListOther:[
      ],
      fileList:[],
      fileListOther:[],
      dsb:true,
      btn:false,
      isShow:true,
      isShow_2:false,
      isEdit1:false,
      formDat: {
        //个人基本信息
        nickName:undefined,
@@ -877,7 +848,8 @@
        //自传
        ageBegin:undefined,
        ageEnd:undefined,
        term:undefined
        term:undefined,
      },
      // 菜单列表
      menuOptions: [],
@@ -968,8 +940,8 @@
          trigger: 'blur'
        }],
        content: [{
          // required: true,
          message: '请输入',
          required: true,
          message: '请输入文本',
          trigger: 'blur'
        }],
        witness: [{
@@ -977,8 +949,25 @@
          message: '请输入证明人',
          trigger: 'blur'
        }],
        //自传
        term: [{
          required: true,
          message: '请选择时期',
          trigger: 'blur'
        }],
        ageBegin: [{
          required: true,
          message: '',
          trigger: 'blur'
        }],
        ageEnd: [{
          required: true,
          message: '',
          trigger: 'blur'
        }],
      },
      selectedOption:'',
      typeOptions:[],
      typeOption: [{
        value:'护照',
@@ -995,9 +984,7 @@
  created() {
    this.getList();
    this.getAutobiographyInfor()
    // this.experienceList.forEach(item => {
    //   this.$set(this.editStatus, item.id, false);
    // });
  },
  methods: {
    // 取消按钮
@@ -1006,8 +993,13 @@
      this.dialogVisible.relation1 = false;
      this.dialogVisible.certificate =false;
      this.dialogVisible.abroad=false;
      this.dialogVisible.autobiography=false
      this.dialogVisible.autobiography=false;
      this.isEdit1 = false;
      this.reset();
      // 清空formDat对象的数据
      Object.keys(this.formDat).forEach(key => {
        this.formDat[key] = '';
      });
    },
    //下拉
    handleChange(activeNames) {
@@ -1022,7 +1014,19 @@
    handleClick(tab, event) {
      // console.log(tab, event);
      this.getAutobiographyInfor();
      // this.getSrc1(typeOptions)
    },
    //个人自传编辑
    editData(data) {
      this.isEdit1 = true; // 设置为编辑操作
      // 将要修改的数据填充到formDat对象中
      this.formDat.ageBegin = data.ageBegin;
      this.formDat.ageEnd = data.ageEnd;
      this.formDat.term = data.term;
      this.formDat.content = data.content;
      // 打开弹窗
      this.dialogVisible.autobiography = true;
    },
    //隔行变色
@@ -1103,16 +1107,16 @@
        this.AutobiographyList = response.data;
        this.total = response.data.total;
        this.loading = false;
      });
      //根据不同时段的个人自传
      getAutobiographyTermList(this.queryParams).then(response => {
        //  alert(123)
        //   console.log(response.data)
        this.AutobiographyTermList = response.data;
        this.total = response.data.total;
        this.loading = false;
      });
      // getAutobiographyTermList(this.queryParams).then(response => {
      //   //  alert(123)
      //   //   console.log(response.data)
      //   this.AutobiographyTermList = response.data;
      //   this.total = response.data.total;
      //   this.loading = false;
      // });
    },
    //图片的上传及上传按钮隐藏
@@ -1128,66 +1132,6 @@
      this.reset();
    },
    //个人基本信息
    submitForm() {
      let ul = this.fileList.map(function (elem){
        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
      }).join(",")
      let uls = this.fileListOther.map(function (elem){
        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
      }).join(",")
      this.individualList.url = ul+","+uls
      this.$refs['elForm'].validate(valid => {
        if (valid) {
          if (this.individualList.userId !== undefined) {
            updateIndividual(this.individualList).then(response => {
              this.$modal.msgSuccess("修改成功");
              // this.open = false;
              this.btn=false
            });
          } else {
            this.$modal.msgSuccess("修改失败");
          }
        }
      })
      // 刷新页面
      window.location.reload();
    },
    //主要经历
    editRow(row) {
      this.$set(row, 'isEdit', true);
      this.$set(this.editStatus, row.id, true);
    },
    saveRow(row) {
      // 在这里处理保存修改后的数据的逻辑,可以发送给后端保存
      let ul = this.fileList.map(function (elem){
        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
      }).join(",")
      let uls = this.fileListOther.map(function (elem){
        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
      }).join(",")
      this.experienceList.url = ul+","+uls
      this.$refs['elForm'].validate(valid => {
        if (valid) {
          if (this.experienceList.id !== undefined) {
            updateExperience(this.experienceList).then(response => {
              this.$modal.msgSuccess("修改成功");
              // this.open = false;
              // this.btn=false
            });
          } else {
            this.$modal.msgSuccess("修改失败");
          }
        }
      })
      this.$set(row, 'isEdit', false);
      this.$set(this.editStatus, row.id, false);
    },
    // 表单重置
    reset() {
      if (this.$refs.menu !== undefined) {
@@ -1229,13 +1173,6 @@
      this.single = selection.length!=1
      this.multiple = !selection.length
    },
    /** 新增按钮操作 */
    // handleAdd() {
    //   this.reset();
    //   this.open = true;
    //   this.title = "添加个人信息";
    // },
    //个人记事本
    toMemo(){
@@ -1292,36 +1229,41 @@
      this.isShow=false
      this.isShow_2=true
      this.isEditing=true
      // this.isEdit=false
      if(this.individualList.maritalStatus == 0)
          this.mrs = '未婚'
      else if(this.individualList.maritalStatus == 1)
          this.mrs = '已婚'
      else
          this.mrs = '离婚'// this.isEdit=false
    },
    /** 新增按钮操作 */
    handleAdd() {
      this.reset();
      // this.open = true;
      this.title = "新增详细信息";
    },
    /** 查询自传信息 */
    getAutobiographyInfor()
    {
      let _this = this
      getCategory().then(response=>{
        response.data.itemValues.replace("{","").replace("}","").split(",").map(elem=>{
          _this.typeOptions.push({"label":elem.split(":")[0], "value":elem.split(":")[0]})
        // response.data.itemValues.replace("{","").replace("}","").split(",").map(elem=>{
        //   _this.typeOptions.push({"label":elem.split(":")[0], "value":elem.split(":")[0]})
        // })
        response.data.itemValues.replace("{", "").replace("}", "").split(",").map(elem => {
          const label = elem.split(":")[0].trim();
          const value = parseInt(elem.split(":")[1].trim());
          _this.typeOptions.push({ "label": label, "value": value });
          // this.getSrc1(value)
        })
      })
      // if(AutobiographyList.ageEnd==null){
      //   this.AgeEnd='?'
      // }else{
      //   this.AgeEnd=this.ageEnd
      // }
    },
    /** 提交按钮(数据权限) */
    //新增主要经历的保存
    submitDataScope: function() {
      let ul = this.fileList.map(function (elem){
        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
      }).join(",")
      let uls = this.fileListOther.map(function (elem){
        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
      }).join(",")
      this.formDat.url = ul+","+uls
      this.$refs["elForm"].validate(valid => {
        if (valid) {
          addExperience(this.formDat).then(response => {
@@ -1336,16 +1278,8 @@
        this.formDat[key] = '';
      });
    },
    //新增成员关系的保存
    submitDataScope2: function() {
      let ul = this.fileList.map(function (elem){
        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
      }).join(",")
      let uls = this.fileListOther.map(function (elem){
        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
      }).join(",")
      this.formDat.url = ul+","+uls
      this.$refs["elForm"].validate(valid => {
        if (valid) {
          addRelation(this.formDat).then(response => {
@@ -1360,16 +1294,8 @@
        this.formDat[key] = '';
      });
    },
    //新增出入境证件的保存
    submitDataScope4: function() {
      let ul = this.fileList.map(function (elem){
        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
      }).join(",")
      let uls = this.fileListOther.map(function (elem){
        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
      }).join(",")
      this.formDat.url = ul+","+uls
      this.$refs["elForm"].validate(valid => {
        if (valid) {
          addCertificate(this.formDat).then(response => {
@@ -1384,16 +1310,8 @@
        this.formDat[key] = '';
      });
    },
    //新增出国境的保存
    submitDataScope5: function() {
      let ul = this.fileList.map(function (elem){
        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
      }).join(",")
      let uls = this.fileListOther.map(function (elem){
        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
      }).join(",")
      this.formDat.url = ul+","+uls
      this.$refs["elForm"].validate(valid => {
        if (valid) {
          addAbroad(this.formDat).then(response => {
@@ -1408,31 +1326,183 @@
        this.formDat[key] = '';
      });
    },
    //个人自传的保存
    submitDataScope6: function() {
      let ul = this.fileList.map(function (elem){
        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
      }).join(",")
      let uls = this.fileListOther.map(function (elem){
        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
      }).join(",")
      this.formDat.url = ul+","+uls
      this.$refs["elForm"].validate(valid => {
        if (valid) {
          addAutobiography(this.formDat).then(response => {
            this.$modal.msgSuccess("新增成功");
            this.dialogVisible.autobiography = false;
            this.getList();
          });
          // 根据值找到选中的选项对象
          const selectedOption = this.typeOptions.find(option => option.value === this.formDat.term);
          if (this.isEdit1) {
            // 执行修改操作
            updateAutobiography(this.formDat).then(response => {
              // 将选中选项的文本设置为"term"字段的值
              this.formDat.term = selectedOption.label;
              this.formDat.id = selectedOption.id;
              console.log("1")
              this.$modal.msgSuccess("修改成功");
              this.dialogVisible.autobiography = false;
              this.isEdit1 = false;
              this.getList();
            }).catch(error => {
              console.log(error);
              this.isEdit1 = false;
              this.dialogVisible.autobiography = false;
            });
          } else {
            // 执行新增操作
            addAutobiography(this.formDat).then(response => {
              this.formDat.term = selectedOption.label;
              this.$modal.msgSuccess("新增成功");
              this.dialogVisible.autobiography = false;
              this.getList();
            }).catch(error => {
              console.log(error);
              this.dialogVisible.autobiography = false;
            });
          }
        }
      });
      // 清空formDat对象的数据
      Object.keys(this.formDat).forEach(key => {
        this.formDat[key] = '';
      });
      // 重置isEdit为false,以便下次点击新增时为新增操作
      this.isEdit1 = false;
    },
    editRow(row) {
      this.$set(row, 'isEdit', true);
      this.$set(this.editStatus, row.id, true);
    },
    //修改后的保存
    //个人基本信息
    submitForm() {
      if(this.inds=='1')
        this.individualList.sex = 1;
      else
        this.individualList.sex = 0;
      if(this.mrs=='0')
        this.individualList.maritalStatus = 0
      else if(this.mrs == '1')
        this.individualList.maritalStatus = 1
      else
        this.individualList.maritalStatus = 2
      let ul = this.fileList.map(function (elem){
        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
      }).join(",")
      let uls = this.fileListOther.map(function (elem){
        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
      }).join(",")
      this.individualList.url = ul+","+uls
      this.$refs['elForm'].validate(valid => {
        if (valid) {
          if (this.individualList.userId !== undefined) {
            updateIndividual(this.individualList).then(response => {
              this.$modal.msgSuccess("修改成功");
              // 强制更新相关组件
              this.individualList={...this.individualList}
              // this.open = false;
              this.dsb = true
              this.btn=false
              this.isShow_2=false
              this.isShow=true
            });
          } else {
            this.$modal.msgSuccess("修改失败");
          }
        }
      })
      // 刷新页面
      // window.location.reload();
    },
    //主要经历
    saveRowExperienceList(row) {
      this.$refs['elForm'].validate(valid => {
        if (valid) {
          const foundIndex = this.experienceList.findIndex(item => item.id === row.id);
          if (foundIndex !== -1) {
            const updatedData = Object.assign({}, this.experienceList[foundIndex], row);
            updateExperience(updatedData).then(response => {
              this.$modal.msgSuccess("修改成功");
            }).catch(error => {
              this.$modal.msgError("修改失败");
              console.log(error);
            });
          } else {
            this.$modal.msgError("修改失败");
          }
        }
      });
      this.$set(row, 'isEdit', false);
      this.$set(this.editStatus, row.id, false);
    },
    //成员关系
    saveRowRelationList(row) {
      this.$refs['elForm'].validate(valid => {
        if (valid) {
          const foundIndex = this.relationList.findIndex(item => item.id === row.id);
          if (foundIndex !== -1) {
            const updatedData = Object.assign({}, this.relationList[foundIndex], row);
            updateRelation(updatedData).then(response => {
              this.$modal.msgSuccess("修改成功");
            }).catch(error => {
              this.$modal.msgError("修改失败");
              console.log(error);
            });
          } else {
            this.$modal.msgError("修改失败");
          }
        }
      });
      this.$set(row, 'isEdit', false);
      this.$set(this.editStatus, row.id, false);
    },
    //证件情况
    saveRowCertificateList(row) {
      this.$refs['elForm'].validate(valid => {
        if (valid) {
          const foundIndex = this.certificateList.findIndex(item => item.id === row.id);
          if (foundIndex !== -1) {
            const updatedData = Object.assign({}, this.certificateList[foundIndex], row);
            updateCertificate(updatedData).then(response => {
              this.$modal.msgSuccess("修改成功");
            }).catch(error => {
              this.$modal.msgError("修改失败");
              console.log(error);
            });
          } else {
            this.$modal.msgError("修改失败");
          }
        }
      });
      this.$set(row, 'isEdit', false);
      this.$set(this.editStatus, row.id, false);
    },
    //出国情况
    saveRowAbroadList(row) {
      this.$refs['elForm'].validate(valid => {
        if (valid) {
          const foundIndex = this.AbroadList.findIndex(item => item.id === row.id);
          if (foundIndex !== -1) {
            const updatedData = Object.assign({}, this.AbroadList[foundIndex], row);
            updateAbroad(updatedData).then(response => {
              this.$modal.msgSuccess("修改成功");
            }).catch(error => {
              this.$modal.msgError("修改失败");
              console.log(error);
            });
          } else {
            this.$modal.msgError("修改失败");
          }
        }
      });
      this.$set(row, 'isEdit', false);
      this.$set(this.editStatus, row.id, false);
    },
    requestUpload(params)
    {
      var file = params.file;
@@ -1456,8 +1526,6 @@
      })
    },
    //修改主要经历
    /** 删除个人经历按钮操作 */
    handleExperienceDelete(row) {
@@ -1547,6 +1615,10 @@
.btn_autobiography{
  background:center no-repeat url('../../assets/icons/add1.png') ;
}
.btn_edit{
  background:center no-repeat url('../../assets/icons/edit.png') ;
}
.button {
  background:center no-repeat url('../../assets/icons/add1.png') ;
  margin-left: 69.5vw;