Tcsm
2023-07-17 b91ae843757fcfb74af04ff85decf8c26b6f4591
ruoyi-ui/src/views/self/show.vue
@@ -44,8 +44,17 @@
            <el-form ref="elForm" :model="individualList" :rules="rules" size="medium"  label-position="left">
              <el-row :span="5">
                <el-form-item label="性别" prop="sex" label-width="40px">
                  <el-input v-model="individualList.sex === 1 ? '男':'女' " placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
                  </el-input>
<!--                  <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>
                  </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>
                  </template>
                </el-form-item>
              </el-row>
              <el-row :span="5">
@@ -76,8 +85,18 @@
              </el-row>
              <el-row :span="5">
                <el-form-item label="婚姻状况" prop="maritalStatus" label-width="70px">
                  <el-input v-model="individualList.maritalStatus === 1 ? '已婚':'未婚'" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
                  </el-input>
                  <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>
                  </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>
                  </template>
                </el-form-item>
              </el-row>
@@ -88,44 +107,36 @@
      <div style="padding-left:30px;padding-top:30px">
        <el-col :span="6" :data="individualList">
          <div class="block" :model="individualList" >
            <el-col v-model="individualList.url" prop="url">
            <el-col v-model="individualList.img" prop="img">
              <el-avatar shape="square" :size=200 >
                <el-image
                  :src="'http://47.93.189.255:8080/'+ individualList.url"
                  :fit="fit"
                  :src="'http://47.93.189.255:8080/'+ individualList.img"
                ></el-image>
              </el-avatar>
            </el-col>
<!--              <el-upload-->
<!--                action="#"-->
<!--                list-type="picture-card"-->
<!--                multiple-->
<!--                :http-request="requestUpload"-->
<!--                :file-list="fileList"-->
<!--              >-->
<!--                <i slot="default" class="el-icon-plus"></i>-->
<!--                <div slot="file" slot-scope="{file}">-->
<!--                  <img-->
<!--                    class="el-upload-list__item-thumbnail"-->
<!--                    :src="file.url"-->
<!--                    alt=""-->
<!--                    style="width: 147px; height: 147px"-->
<!--                    fit="cover"-->
<!--                    :preview-src-list="[file.url]"-->
<!--                  >-->
<!--                </div>-->
<!--              </el-upload>-->
         </el-col>
          </div>
        </el-col>
        <!--        <el-row>-->
        <!--&lt;!&ndash;          <el-table  border style="width: 100%">&ndash;&gt;-->
        <!--&lt;!&ndash;            <el-table-column&ndash;&gt;-->
        <!--&lt;!&ndash;              prop="img"&ndash;&gt;-->
        <!--&lt;!&ndash;              v-model="individualList.img"&ndash;&gt;-->
        <!--&lt;!&ndash;              placeholder=""&ndash;&gt;-->
        <!--&lt;!&ndash;              width="180">&ndash;&gt;-->
        <!--&lt;!&ndash;              <template slot-scope="scope">&ndash;&gt;-->
        <!--&lt;!&ndash;                <img :src="scope.row.src" style="width:100px;height:50px;"/>&ndash;&gt;-->
        <!--&lt;!&ndash;              </template>&ndash;&gt;-->
        <!--&lt;!&ndash;            </el-table-column>&ndash;&gt;-->
        <!--&lt;!&ndash;          </el-table>&ndash;&gt;-->
        <!--&lt;!&ndash;          <el-upload :class="{uoloadSty:showBtnDealImg,disUoloadSty:noneBtnImg}"&ndash;&gt;-->
        <!--&lt;!&ndash;                      ref="ref1"&ndash;&gt;-->
        <!--&lt;!&ndash;                     action=""&ndash;&gt;-->
        <!--&lt;!&ndash;                     :file-list="fileList"&ndash;&gt;-->
        <!--&lt;!&ndash;                     list-type="picture-card"&ndash;&gt;-->
        <!--&lt;!&ndash;                     accept="image/*"&ndash;&gt;-->
        <!--&lt;!&ndash;                     :auto-upload="false"&ndash;&gt;-->
        <!--&lt;!&ndash;                     :multiple="false"&ndash;&gt;-->
        <!--&lt;!&ndash;                     :limit="limitCountImg">&ndash;&gt;-->
        <!--&lt;!&ndash;            <i class="el-icon-plus"></i>&ndash;&gt;-->
        <!--&lt;!&ndash;          </el-upload>&ndash;&gt;-->
        <!--        </el-row>-->
      </div>
      <div style="padding-left:30px;padding-top:30px" >
@@ -137,6 +148,7 @@
              v-if="isShow"
              v-hasPermi="['system:role:edit']"
            >编辑</el-button>
            <el-button v-if="isShow_2" type="primary" @click="submitForm" :disabled="dsb">完成</el-button>
            <br>
            <el-button
              type="primary"
@@ -144,7 +156,10 @@
              v-hasPermi="['family:note:export']"
            >导出</el-button>
            <br>
            <el-button v-if="isShow_2" type="primary" @click="submitForm" :disabled="dsb">完成</el-button>
            <el-button
              type="primary"
              v-hasPermi="['family:note:export']"
            >打印</el-button>
          </el-row>
        </el-container>
@@ -209,11 +224,58 @@
    <!--折叠面板-->
    <el-collapse v-model="activeNames" @change="handleChange">
      <el-collapse-item title="主要学习及工作经历" name="1" >
      <!--主要学习及工作经历-->
      <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')">
              <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn></el-button>
            </div>
          </div>
        </template>
        <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="300" align="center" />
          <el-table-column label="主要学习经历、工作单位及任职情况" prop="content" sortable width="350" align="center" />
          <el-table-column label="证明人" prop="witness" sortable width="300" align="center" />
          <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>
          </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>
          </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>
          </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>
          </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">
@@ -222,9 +284,15 @@
                size="mini"
                type="text"
                icon="el-icon-edit"
                @click="showDialog1"
                v-if="!editStatus[scope.row.id]"
                @click="editRow(scope.row)"
                v-hasPermi="['system:role:edit']"
              >新增</el-button>
              >修改</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"
@@ -244,26 +312,37 @@
          </el-table-column>
        </el-table>
      </el-collapse-item>
      <el-collapse-item title="家庭成员及主要社会关系情况" name="2" >
      <!--   家庭成员及主要社会关系情况   -->
      <el-collapse-item name="2" >
        <template v-slot:title>
          <div class="title-wrapper">
            家庭成员及主要社会关系情况
            <div>
            <el-button class="button2" size="mini" type="text"  @click="showDialog('relation1')">
              <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn></el-button></div>
          </div>
        </template>
        <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" />
          <el-table-column label="姓名" prop="nickName" sortable width="260" align="center" />
          <el-table-column label="单位及职务" prop="unit position" sortable width="260" align="center">
          <el-table-column label="与本人关系"  prop="relation" sortable width="260" align="center" >
            <template slot-scope="scope">{{scope.row.relation? scope.row.relation: '————'}}</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">
              {{scope.row.unit}}/{{scope.row.position}}
              <span v-if="scope.row.otherUnit || scope.row.otherPosition  == true">
                {{scope.row.otherUnit}}/{{scope.row.otherPosition}}
              </span>
              <span v-else>————</span>
            </template>
          </el-table-column>
          <el-table-column label="政治面貌" prop="politicalOutlook" sortable width="260" align="center"/>
          <el-table-column label="政治面貌" prop="otherPolitical" sortable width="260" align="center">
            <template slot-scope="scope">{{scope.row.otherPolitical? scope.row.otherPolitical: '————'}}</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="showDialog2"
                v-hasPermi="['system:role:edit']"
              >新增</el-button>
              <el-button
                size="mini"
                type="text"
@@ -275,7 +354,7 @@
                size="mini"
                type="text"
                icon="el-icon-delete"
                @click="handDelete(scope.row)"
                @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']">-->
@@ -310,12 +389,29 @@
        </div>
      </el-collapse-item>
      <el-collapse-item title="持有出入境证件情况" name="4">
      <!--持有出入境证件情况-->
      <el-collapse-item  name="4">
        <template v-slot:title>
          <div class="title-wrapper">
            持有出入境证件情况
            <el-button class="button4" size="mini" type="text"  @click="showDialog('certificate')">
              <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn></el-button>
          </div>
        </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" />
          <el-table-column label="持有情况" prop="ownStatus" sortable width="280" align="center" />
          <el-table-column label="证件号码" prop="idNo" sortable width="280" align="center" />
          <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">
            <template slot-scope="scope">
              <span v-if="scope.row.startTime || scope.row.endTime  == true">
@@ -331,16 +427,11 @@
                size="mini"
                type="text"
                icon="el-icon-edit"
                @click="showDialog3"
                v-hasPermi="['system:role:edit']"
              >新增</el-button>
              <el-button
                size="mini"
                type="text"
                icon="el-icon-edit"
                @click="handleAdd"
                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"
@@ -360,7 +451,15 @@
          </el-table-column>
        </el-table>
      </el-collapse-item>
      <el-collapse-item title="出国(境)情况" name="5">
      <!--出国(境)情况-->
      <el-collapse-item  name="5">
        <template v-slot:title>
          <div class="title-wrapper">
            出国(境)情况
            <el-button class="button5" size="mini" type="text"  @click="showDialog('abroad')">
              <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn></el-button>
          </div>
        </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" >
@@ -371,18 +470,16 @@
              <span v-else>————</span>
            </template>
          </el-table-column>
          <el-table-column label="所到国家或者地区" prop="destination" sortable width="350" align="center" />
          <el-table-column label="事由(旅游、走访、探亲、继承财产、其他)" prop="cause" sortable width="400" align="center" />
          <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>
          <el-table-column label="事由(旅游、走访、探亲、继承财产、其他)" prop="cause" sortable width="420" align="center" >
            <template slot-scope="scope">{{scope.row.cause? scope.row.cause: '————'}}</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="showDialog4"
                v-hasPermi="['system:role:edit']"
              >新增</el-button>
              <el-button
                size="mini"
                type="text"
@@ -416,22 +513,26 @@
      <el-container>
        <div style="width:100%"><h2 style="font-size:15px" >自传</h2></div>
      </el-container>
      <el-tabs type="border-card" v-model="activeName" @tab-click="handleClick"
               v-loading="loading" :data="AutobiographyList" >
        <el-tab-pane v-for="(item, index) in AutobiographyList"
                     :key='item.id' :label="item.ageBegin+'~'+item.ageEnd+'岁'+'('+item.term+')'">
          <div v-if="item.term === '婴儿'"> {{item.content}}</div>
          <div v-if="item.term === '幼儿'"> {{item.content}}</div>
          <div v-if="item.term === '小学'"> {{item.content}}</div>
          <div v-if="item.term === '初中'"> {{item.content}}</div>
          <div v-if="item.term === '高中'"> {{item.content}}</div>
          <div v-if="item.term === '大学'"> {{item.content}}</div>
          <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-tab-pane>
      </el-tabs>
      <div style='position: relative;'>
        <el-tabs type="border-card" v-model="activeName" @tab-click="handleClick"
                 v-loading="loading" :data="AutobiographyList" >
          <el-tab-pane v-for="(item, index) in AutobiographyList"
                       :key='item.id' :label="item.ageBegin+'~'+item.ageEnd+'岁'+'('+item.term+')'">
            <div v-if="item.term === '婴儿'"> {{item.content}}</div>
            <div v-if="item.term === '幼儿'"> {{item.content}}</div>
            <div v-if="item.term === '小学'"> {{item.content}}</div>
            <div v-if="item.term === '初中'"> {{item.content}}</div>
            <div v-if="item.term === '高中'"> {{item.content}}</div>
            <div v-if="item.term === '大学'"> {{item.content}}</div>
            <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-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>-->
      </div>
    </div>
@@ -444,13 +545,16 @@
    />
    <!-- 新增主要经历信息配置对话框 -->
    <el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
    <el-dialog :title="title" :visible.sync="dialogVisible.open" width="900px" append-to-body>
      <el-form ref="elForm1" :model="formDat" :rules="rules" size="medium" label-width="140px">
        <el-form-item label="开始日期" prop="startDate">
          <el-input v-model="formDat.startDate" placeholder="请输入开始日期" clearable :style="{width: '100%'}" ></el-input>
          <el-input v-model="formDat.startDate" type='date' placeholder='选择日期' clearable :style="{width: '100%'}" ></el-input>
        </el-form-item>
        <el-form-item label="结束日期" prop="endDate">
          <el-input v-model="formDat.endDate" type='date' placeholder='选择日期' clearable :style="{width: '100%'}" ></el-input>
        </el-form-item>
        <el-form-item label="主要学习经历、工作单位及任职情况" prop="content">
          <el-input v-model="formDat.content" placeholder="请输入主要学习经历、工作单位及任职情况" clearable :style="{width: '100%'}" >
          <el-input v-model="formDat.content" type="textarea" :rows="5" placeholder="请输入主要学习经历、工作单位及任职情况" clearable :style="{width: '100%'}" >
          </el-input>
        </el-form-item>
        <el-form-item label="证明人" prop="witness">
@@ -467,25 +571,25 @@
      </div>
    </el-dialog>
    <!-- 新增家庭成员及主要社会关系情况信息配置对话框 -->
    <el-dialog :title="title" :visible.sync="relation1" width="900px" append-to-body>
    <el-dialog :title="title" :visible.sync="dialogVisible.relation1" width="900px" append-to-body>
      <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="140px">
        <el-form-item label="与本人关系" prop="relation">
          <el-input v-model="formDat.relation" placeholder="请输入与本人关系" clearable :style="{width: '100%'}" ></el-input>
        </el-form-item>
        <el-form-item label="姓名" prop="nickName">
          <el-input v-model="formDat.nickName" placeholder="请输入姓名" clearable :style="{width: '100%'}" >
        <el-form-item label="姓名" prop="otherName">
          <el-input v-model="formDat.otherName" placeholder="请输入姓名" clearable :style="{width: '100%'}" >
          </el-input>
        </el-form-item>
        <el-form-item label="单位" prop="unit">
          <el-input v-model="formDat.unit" placeholder="请输入单位" clearable :style="{width: '100%'}" >
        <el-form-item label="单位" prop="otherUnit">
          <el-input v-model="formDat.otherUnit" placeholder="请输入单位" clearable :style="{width: '100%'}" >
          </el-input>
        </el-form-item>
        <el-form-item label="职务" prop="position">
          <el-input v-model="formDat.position" placeholder="请输入职务" clearable :style="{width: '100%'}" >
        <el-form-item label="职务" prop="otherPosition">
          <el-input v-model="formDat.otherPosition" placeholder="请输入职务" clearable :style="{width: '100%'}" >
          </el-input>
        </el-form-item>
        <el-form-item label="政治面貌" prop="politicalOutlook">
          <el-input v-model="formDat.politicalOutlook" placeholder="请输入政治面貌" clearable :style="{width: '100%'}" >
        <el-form-item label="政治面貌" prop="otherPolitical">
          <el-input v-model="formDat.otherPolitical" placeholder="请输入政治面貌" clearable :style="{width: '100%'}" >
          </el-input>
        </el-form-item>
@@ -493,16 +597,22 @@
      <h4 class="form-header"> </h4>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitDataScope">保 存</el-button>
        <el-button type="primary" @click="submitDataScope2">保 存</el-button>
        <el-button @click="cancelData">取 消</el-button>
      </div>
    </el-dialog>
    <!-- 新增持有出入境证件情况信息配置对话框 -->
    <el-dialog :title="title" :visible.sync="certificate" width="900px" append-to-body>
    <el-dialog :title="title" :visible.sync="dialogVisible.certificate" width="900px" append-to-body>
      <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="140px">
        <el-form-item label="证件名称" prop="cerName">
          <el-input v-model="formDat.cerName" placeholder="请输入证件名称" clearable :style="{width: '100%'}" >
          </el-input>
        </el-form-item>
        <el-form-item label="证件类型" prop="type">
          <el-select v-model="formDat.type" placeholder="请选择类型" clearable :style="{width: '100%'}"  >
            <el-option v-for="(item, index) in typeOption" :key="index" :label="item.label" :value="item.value"
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="持有情况" prop="ownStatus">
          <el-input v-model="formDat.ownStatus" placeholder="请输入持有情况" clearable :style="{width: '100%'}" >
@@ -523,22 +633,22 @@
      <h4 class="form-header"> </h4>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitDataScope">保 存</el-button>
        <el-button type="primary" @click="submitDataScope4">保 存</el-button>
        <el-button @click="cancelData">取 消</el-button>
      </div>
    </el-dialog>
    <!-- 新增出国(境)情况信息配置对话框 -->
    <el-dialog :title="title" :visible.sync="abroad" width="900px" append-to-body>
    <el-dialog :title="title" :visible.sync="dialogVisible.abroad" width="900px" append-to-body>
      <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="140px">
        <el-form-item label="开始日期" prop="startTime">
          <el-input v-model="formDat.startTime" placeholder="请输入开始日期" clearable :style="{width: '100%'}" ></el-input>
          <el-input v-model="formDat.startTime" type='date' placeholder='选择日期' clearable :style="{width: '100%'}" ></el-input>
        </el-form-item>
        <el-form-item label="结束日期" prop="endTime">
          <el-input v-model="formDat.endTime" placeholder="请输入结束日期" clearable :style="{width: '100%'}" >
          <el-input v-model="formDat.endTime" type='date' placeholder='选择日期' clearable :style="{width: '100%'}" >
          </el-input>
        </el-form-item>
        <el-form-item label="所到国家或者地区" prop="destination">
          <el-input v-model="formDat.destination" placeholder="请输入所到国家或者地区" clearable :style="{width: '100%'}" >
          <el-input v-model="formDat.destination" type="textarea" :rows="5" placeholder="请输入所到国家或者地区" clearable :style="{width: '100%'}" >
          </el-input>
        </el-form-item>
        <el-form-item label="事由(旅游、走访、探亲、继承财产、其他)" prop="cause">
@@ -550,7 +660,41 @@
      <h4 class="form-header"> </h4>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitDataScope">保 存</el-button>
        <el-button type="primary" @click="submitDataScope5">保 存</el-button>
        <el-button @click="cancelData">取 消</el-button>
      </div>
    </el-dialog>
    <!--新增自传-->
    <el-dialog :title="title" :visible.sync="dialogVisible.autobiography" width="900px" >
      <el-col >
        <el-form ref="elForm" :model="AutobiographyList" :rules="rules" size="medium"  label-position="left"
                 v-loading="loading" :data="AutobiographyList" @selection-change="handleSelectionChange" >
          <el-row :span="5">
            <el-form-item label="年龄段:" prop="ageBegin ageEnd" label-width="70px">
              <el-input v-model="AutobiographyList.ageBegin" placeholder="" clearable :style="{width: '20%'}" >
              </el-input>
              <span> 岁 ——</span>
              <el-input v-model="AutobiographyList.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-option v-for="(item, index) in typeOptions" :key="index" :label="item.label" :value="item.value"
                ></el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="内容编辑:" prop="content">
              <el-input v-model="formDat.content" type="textarea" :rows="5" placeholder="" clearable :style="{width: '100%'}" >
              </el-input>
            </el-form-item>
          </el-row>
        </el-form>
      </el-col>
      <h4 class="form-header"> </h4>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitDataScope6">保 存</el-button>
        <el-button @click="cancelData">取 消</el-button>
      </div>
    </el-dialog>
@@ -566,32 +710,17 @@
//在system/note/index.js中导入接口函数  --接好了
import {
  getIndividualList,
  getIndividualRelation,
  delIndividual,
  updateIndividual,
  addIndividual,
  listExperience,
  updateExperience,
  addExperience,
  delExperience,
  delCertificate,
  addCertificate,
  addAbroad,
  delAbroad
} from "@/api/self/index";
import {
  getAbroadList,
  getAutobiography,
  getAutobiographyList,
  getAutobiographyTermList,
  getCertificateList
} from "@/api/self/index"
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 { delFamilyevent, uploadPic } from '../../api/bignote'
import { blobValidate } from '../../utils/ruoyi'
import {getCategory} from "@/api/self/index";
import {addContact} from "@/api/contacts";
export default {
  name: "show",
@@ -616,12 +745,16 @@
      //头像上传
      showBtnDealImg:true,
      noneBtnImg:false,
      limitCountImg:1,//上传图片的最大数量
      //上传图片的最大数量
      limitCountImg:1,
      //个人信息数据
      individualList:[],
      fit:['fill'],
      isEditing: false,
      // fit:['fill'],
      // 个人经历数据
      experienceList: [],
      // isEdit:true,
      editStatus: {},
      //家庭成员关系数据
      relationList:[],
      //出入境证件情况
@@ -647,14 +780,19 @@
      // current: 0,
      //下拉实现
      activeNames:['1'],
      activeNames:'',
      dialogVisible: {
        open: false,
        relation1:false,
        certificate:false,
        abroad:false,
        autobiography:false
      },
      // 弹出层标题
      title: "",
      // 是否显示弹出层
      open: false,
      relation1:false,
      certificate:false,
      abroad:false,
      // open:true,
      // 是否显示弹出层(数据权限)
      openDataScope: false,
@@ -705,12 +843,18 @@
        id:undefined,
        userId:undefined,
        startDate:undefined,
        endDate:undefined,
        content:undefined,
        witness:undefined,
        remark: undefined,
        //家庭成员及主要社会关系情况
        relation:undefined,
        otherName:undefined,
        otherUnit:undefined,
        otherPosition:undefined,
        otherPolitical:undefined,
        //持有出入境证件情况
        type:undefined,
        cerName:undefined,
        validityDate:undefined,
        ownStatus:undefined,
@@ -720,6 +864,10 @@
        endTime:undefined,
        cause:undefined,
        url: undefined,
        //自传
        ageBegin:undefined,
        ageEnd:undefined,
        term:undefined
      },
      // 菜单列表
      menuOptions: [],
@@ -764,7 +912,7 @@
        }],
        maritalStatus: [{
          // required: true,
          message: '请输入民族',
          message: '请输入婚姻状况',
          trigger: 'blur'
        }],
        locationAddress: [{
@@ -804,9 +952,14 @@
          message: '请输入起始日期',
          trigger: 'blur'
        }],
        endDate: [{
          // required: true,
          message: '请输入结束日期',
          trigger: 'blur'
        }],
        content: [{
          required: true,
          message: '请输入主要学习经历、工作单位及任职情况',
          // required: true,
          message: '请输入',
          trigger: 'blur'
        }],
        witness: [{
@@ -816,66 +969,43 @@
        }],
      },
      typeOptions: [],
      typeOptions:[],
      typeOption: [{
        value:'护照',
        label:'护照'
      },{
        value:'通行证',
        label:'通行证'
      },{
        value:'身份证',
        label:'身份证'
      }],
    };
  },
  created() {
    this.getList();
    this.getAutobiographyInfor()
    // this.experienceList.forEach(item => {
    //   this.$set(this.editStatus, item.id, false);
    // });
  },
  methods: {
    // 取消按钮
    cancelData() {
      this.open = false;
      this.dialogVisible.open = false;
      this.dialogVisible.relation1 = false;
      this.dialogVisible.certificate =false;
      this.dialogVisible.abroad=false;
      this.dialogVisible.autobiography=false
      this.reset();
    },
    //下拉
    handleChange(activeNames) {
      // console.log(val);
      this.reset();
      if (activeNames.includes('1')) {
        this.showDialog1();
      }else if (activeNames.includes('2')) {
        this.showDialog2();
      }else if (activeNames.includes('3')) {
        this.showDialog3();
      }else if (activeNames.includes('4')) {
        this.showDialog4();
      }else {
        this.open = false;
        this.relation1 = false;
        this.certificate =false;
        this.abroad=false
      }
    },
    //打开不同的新增弹窗
    showDialog1() {
      this.open = true;
      this.relation1 = false;
      this.certificate =false;
      this.abroad=false;
      this.title = "添加主要个人经历信息";
    },
    showDialog2() {
      this.open = false;
      this.relation1 = true;
      this.certificate =false;
      this.abroad=false;
      this.title = "添加家庭成员及主要社会关系情况";
    },
    showDialog3() {
      this.open = false;
      this.relation1 = false;
      this.certificate =true;
      this.abroad=false;
      this.title = "添加持有出入境证件情况";
    },
    showDialog4() {
      this.open = false;
      this.relation1 = false;
      this.certificate =false;
      this.abroad=true;
      this.title = "添加出国(境)情况";
    showDialog(dialogName) {
      this.dialogVisible[dialogName] = true;
    },
    //个人自传
@@ -893,7 +1023,18 @@
        return "statistics-warning-row";
      }
    },
    //证件类别
    getSrc(type) {
      if (type === '护照'){
        return '护照'
      }else if(type === '通行证'){
        return '通行证'
      }else if(type === '身份证'){
        return '身份证'
      }else {
        return '——————'
      }
    },
    /** 查询角色列表 */
    getList() {
@@ -966,7 +1107,6 @@
    //图片的上传及上传按钮隐藏
    // 取消按钮
    cancel() {
      this.open = false;
@@ -978,6 +1118,7 @@
      this.reset();
    },
    //个人基本信息
    submitForm() {
      let ul = this.fileList.map(function (elem){
        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
@@ -985,12 +1126,12 @@
      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.individualList.url = ul+","+uls
      this.$refs['elForm'].validate(valid => {
        if (valid) {
          if (this.formDat.id != undefined) {
            updateIndividual(this.formDat).then(response => {
          if (this.individualList.userId !== undefined) {
            updateIndividual(this.individualList).then(response => {
              this.$modal.msgSuccess("修改成功");
              // this.open = false;
              this.btn=false
@@ -1001,10 +1142,45 @@
          }
        }
      })
      // 刷新页面
      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) {
      if (this.$refs.menu !== undefined) {
        this.$refs.menu.setCheckedKeys([]);
      }
      this.menuExpand = false,
@@ -1101,8 +1277,9 @@
      this.btn = true
      this.isShow=false
      this.isShow_2=true
      this.isEditing=true
      // this.isEdit=false
    },
    //修改按钮
    /** 新增按钮操作 */
    handleAdd() {
      this.reset();
@@ -1130,28 +1307,118 @@
        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 => {
            this.$modal.msgSuccess("新增成功");
            this.open = false;
            this.getList();
          });
          addCertificate(this.formDat).then(response => {
            this.$modal.msgSuccess("新增成功");
            this.certificate = false;
            this.getList();
          });
          addAbroad(this.formDat).then(response => {
            this.$modal.msgSuccess("新增成功");
            this.abroad = false;
            this.dialogVisible.open = false;
            this.getList();
          });
        }
      });
      // 清空formDat对象的数据
      Object.keys(this.formDat).forEach(key => {
        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 => {
            this.$modal.msgSuccess("新增成功");
            this.dialogVisible.relation1 = false;
            this.getList();
          });
        }
      });
      // 清空formDat对象的数据
      Object.keys(this.formDat).forEach(key => {
        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 => {
            this.$modal.msgSuccess("新增成功");
            this.dialogVisible.certificate = false;
            this.getList();
          });
        }
      });
      // 清空formDat对象的数据
      Object.keys(this.formDat).forEach(key => {
        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 => {
            this.$modal.msgSuccess("新增成功");
            this.dialogVisible.abroad = false;
            this.getList();
          });
        }
      });
      // 清空formDat对象的数据
      Object.keys(this.formDat).forEach(key => {
        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();
          });
        }
      });
      // 清空formDat对象的数据
      Object.keys(this.formDat).forEach(key => {
        this.formDat[key] = '';
      });
    },
    requestUpload(params)
    {
      var file = params.file;
@@ -1175,11 +1442,24 @@
      })
    },
    //修改主要经历
    /** 删除个人经历按钮操作 */
    handleExperienceDelete(row) {
      const Ids = row.id || this.ids;
      this.$modal.confirm('是否确认删除数据项?').then(function() {
        return delExperience(Ids);
      }).then(() => {
        this.getList();
        this.$modal.msgSuccess("删除成功");
      }).catch(() => {});
    },
    /** 删除成员关系按钮操作 */
    handleRelationDelete(row) {
      const Ids = row.id || this.ids;
      this.$modal.confirm('是否确认删除数据项?').then(function() {
        return delRelation(Ids);
      }).then(() => {
        this.getList();
        this.$modal.msgSuccess("删除成功");
@@ -1205,6 +1485,7 @@
        this.$modal.msgSuccess("删除成功");
      }).catch(() => {});
    },
    /** 导出按钮操作 */
    handleExport() {
      this.download('/self/user/export', {
@@ -1245,4 +1526,28 @@
.el-collapse-item__header {
  background-color:#FEF7FC;
}
.title-wrapper {
  display: flex;
  justify-content: space-between;
}
.btn_autobiography{
  background:center no-repeat url('../../assets/icons/add1.png') ;
}
.button {
  background:center no-repeat url('../../assets/icons/add1.png') ;
  margin-left: 69.5vw;
}
.button2 {
  background: center no-repeat url('../../assets/icons/add1.png') ;
  margin-left: 66vw;
}
.button4 {
  background: center no-repeat url('../../assets/icons/add1.png') ;
  margin-left: 69.5vw;
}
.button5 {
  background:center no-repeat url('../../assets/icons/add1.png') ;
  margin-left: 71vw;
}
</style>