feige
2024-09-12 cef9c530bac641ed23780a54b1e167d1dde88267
修改了分享接口
15个文件已修改
2286 ■■■■■ 已修改文件
ruoyi-ui/src/api/travel/index.js 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/bignote/index.vue 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/clean/index.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/collection/index.vue 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/contacts/index.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/device/index.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/doctor/index.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/economy/index.vue 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/note/index.vue 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/pet/index.vue 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/self/memo.vue 1013 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/self/show.vue 956 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/travel/Info.vue 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/travel/index.vue 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/travel/travelInfo.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/travel/index.js
@@ -74,9 +74,9 @@
//     responseType: 'blob'
//   })
// }
export function listTravelBase(query) {
export function listTravelBase(cid,query) {
  return request({
    url: '/travel/detail',
    url: '/travel/detail/'+cid,
    method: 'get',
    params: query
  })
@@ -84,7 +84,7 @@
export function getTravelBaseInfoBycid(cid) {
  return request({
    url: '/travel/detail/' + cid,
    url: '/travel/detail/byCid/' + cid,
    method: 'get',
  })
@@ -92,7 +92,7 @@
// 根据id查询所有收支台账信息
export function getTravelBaseInfo(id) {
  return request({
    url: '/travel/detail/' + id,
    url: '/travel/detail/byId/' + id,
    method: 'get',
  })
ruoyi-ui/src/views/bignote/index.vue
@@ -401,12 +401,12 @@
    <el-table v-loading="loading1" :data="listRoot" :row-key="getRowId1" ref="table1"  @selection-change="handleSelectionChange1"  :row-class-name="tableRowClassName" style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;">
          <el-table-column type="selection" width="55"  align="center" />
          <el-table-column fixed label="序号" sortable type="index" :index="(queryParams1.pageNum-1)*queryParams1.pageSize+1" width="130"/>
          <el-table-column label="身份" prop="identity" sortable width="130" >
     <!--     <el-table-column label="身份" prop="identity" sortable width="130" >
            <template slot-scope="scope" >
              <span v-if="scope.row.isMyFamily==1">第{{scope.row.identity}}代</span>
              <span v-else>——</span>
            </template>
          </el-table-column>
          </el-table-column> -->
          <el-table-column label="姓名" prop="nickName" sortable :show-overflow-tooltip="true" width="145" align="center"/>
        </el-table>
@@ -836,24 +836,24 @@
  //         this.queryParams1.happenEndTime = this.dateRange1.length > 0 && this.dateRange1[1]
        // //  alert(this.$store.state.user.clanId)
        //       this.listRoot = []
         // let clanId = this.$store.state.user.clanId
   //        getAllInfo(clanId).then(response => {
   //            this.listRoot = response.data;
   //            const kon = {}
            //          console.log(response.data,'userListuserListuserList99999999999999')
   //            this.listRoot.forEach(element => {
   //              kon[element['nickName']] = element['userId']
   //            })
   //            for(let i in kon){
   //              this.userOptions.push({label: i,value: kon[i]})
   //            }
   //            for(let i in this.userOptions){
   //              this.userList.push(this.userOptions[i].value)
   //            }
   //            console.log(this.userList,'userListuserListuserList99999999999999')
   //            this.loading1 = false;
   //          }
   //        );
         let clanId = this.$store.state.user.clanId
          getAllInfo(clanId).then(response => {
              this.listRoot = response.data;
              const kon = {}
                     console.log(response.data,'userListuserListuserList99999999999999')
              this.listRoot.forEach(element => {
                kon[element['nickName']] = element['userId']
              })
              for(let i in kon){
                this.userOptions.push({label: i,value: kon[i]})
              }
              for(let i in this.userOptions){
                this.userList.push(this.userOptions[i].value)
              }
              console.log(this.userList,'userListuserListuserList99999999999999')
              this.loading1 = false;
            }
          );
        },
    // 确认分享
    subShare(row) {
ruoyi-ui/src/views/clean/index.vue
@@ -555,6 +555,7 @@
        } from "@/api/clean/index";
import {listUserAll} from "@/api/root/index";
import {showShareUser} from "@/api/bignote/index";
import {getAllInfo} from "@/api/system/user"
// import {Message} from "element-ui";
import { Notification, MessageBox, Message, Loading } from 'element-ui'
@@ -879,6 +880,27 @@
                        this.userOptions.push({label: element.oldName,value: element.userId})
                   })
    })
    let clanId = this.$store.state.user.clanId
     getAllInfo(clanId).then(response => {
         this.listRoot = response.data;
         const kon = {}
                         console.log(response.data,'userListuserListuserList99999999999999')
         this.listRoot.forEach(element => {
           kon[element['nickName']] = element['userId']
         })
         for(let i in kon){
           this.userOptions.push({label: i,value: kon[i]})
         }
         for(let i in this.userOptions){
           this.userList.push(this.userOptions[i].value)
         }
         console.log(this.userList,'userListuserListuserList99999999999999')
         this.loading1 = false;
       }
     );
          },
      // 确认分享
      subShare(row) {
ruoyi-ui/src/views/collection/index.vue
@@ -627,6 +627,7 @@
import {listUserAll} from "@/api/root/index";
import {Message} from "element-ui";
import {showShareUser} from "@/api/bignote/index";
import {getAllInfo} from "@/api/system/user"
export default {
  name: "index",
@@ -946,6 +947,28 @@
                            this.userOptions.push({label: element.oldName,value: element.userId})
                       })
        })
        let clanId = this.$store.state.user.clanId
         getAllInfo(clanId).then(response => {
             this.listRoot = response.data;
             const kon = {}
                             console.log(response.data,'userListuserListuserList99999999999999')
             this.listRoot.forEach(element => {
               kon[element['nickName']] = element['userId']
             })
             for(let i in kon){
               this.userOptions.push({label: i,value: kon[i]})
             }
             for(let i in this.userOptions){
               this.userList.push(this.userOptions[i].value)
             }
             console.log(this.userList,'userListuserListuserList99999999999999')
             this.loading1 = false;
           }
         );
        },
    // 确认分享
    subShare(row) {
ruoyi-ui/src/views/contacts/index.vue
@@ -607,6 +607,7 @@
import {getInfo} from "@/api/login";
import { Notification, MessageBox, Message, Loading } from 'element-ui'
import {showShareUser} from "@/api/bignote/index";
import {getAllInfo} from "@/api/system/user"
//导入接口函数
import {getContactList,enload,  addContact, delContact,uploadPic,
@@ -961,6 +962,27 @@
                           this.userOptions.push({label: element.oldName,value: element.userId})
                      })
       })
       let clanId = this.$store.state.user.clanId
        getAllInfo(clanId).then(response => {
            this.listRoot = response.data;
            const kon = {}
                            console.log(response.data,'userListuserListuserList99999999999999')
            this.listRoot.forEach(element => {
              kon[element['nickName']] = element['userId']
            })
            for(let i in kon){
              this.userOptions.push({label: i,value: kon[i]})
            }
            for(let i in this.userOptions){
              this.userList.push(this.userOptions[i].value)
            }
            console.log(this.userList,'userListuserListuserList99999999999999')
            this.loading1 = false;
          }
        );
        },
    // 确认分享
    subShare(row) {
ruoyi-ui/src/views/device/index.vue
@@ -548,6 +548,7 @@
import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from "@/api/system/role";
import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu";
import {getInfo} from "@/api/login";
import {getAllInfo} from "@/api/system/user"
//在system/note/index.js中导入接口函数  --接好了
@@ -868,6 +869,27 @@
                              this.userOptions.push({label: element.oldName,value: element.userId})
                         })
          })
          let clanId = this.$store.state.user.clanId
           getAllInfo(clanId).then(response => {
               this.listRoot = response.data;
               const kon = {}
                               console.log(response.data,'userListuserListuserList99999999999999')
               this.listRoot.forEach(element => {
                 kon[element['nickName']] = element['userId']
               })
               for(let i in kon){
                 this.userOptions.push({label: i,value: kon[i]})
               }
               for(let i in this.userOptions){
                 this.userList.push(this.userOptions[i].value)
               }
               console.log(this.userList,'userListuserListuserList99999999999999')
               this.loading1 = false;
             }
           );
        },
    // 确认分享
    subShare(row) {
ruoyi-ui/src/views/doctor/index.vue
@@ -564,6 +564,7 @@
import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from "@/api/system/role";
import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu";
import {getInfo} from "@/api/login";
import {getAllInfo} from "@/api/system/user"
import {showShareUser} from "@/api/bignote/index";
//导入接口函数
@@ -891,6 +892,27 @@
                             this.userOptions.push({label: element.oldName,value: element.userId})
                        })
         })
         let clanId = this.$store.state.user.clanId
          getAllInfo(clanId).then(response => {
              this.listRoot = response.data;
              const kon = {}
                              console.log(response.data,'userListuserListuserList99999999999999')
              this.listRoot.forEach(element => {
                kon[element['nickName']] = element['userId']
              })
              for(let i in kon){
                this.userOptions.push({label: i,value: kon[i]})
              }
              for(let i in this.userOptions){
                this.userList.push(this.userOptions[i].value)
              }
              console.log(this.userList,'userListuserListuserList99999999999999')
              this.loading1 = false;
            }
          );
        },
    // 确认分享
    subShare(row) {
ruoyi-ui/src/views/economy/index.vue
@@ -511,6 +511,7 @@
import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from "@/api/system/role";
import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu";
import {getInfo} from "@/api/login";
import {getAllInfo} from "@/api/system/user"
//在system/note/index.js中导入接口函数  --接好了
@@ -848,6 +849,26 @@
                           this.userOptions.push({label: element.oldName,value: element.userId})
                      })
       })
       let clanId = this.$store.state.user.clanId
        getAllInfo(clanId).then(response => {
            this.listRoot = response.data;
            const kon = {}
                            console.log(response.data,'userListuserListuserList99999999999999')
            this.listRoot.forEach(element => {
              kon[element['nickName']] = element['userId']
            })
            for(let i in kon){
              this.userOptions.push({label: i,value: kon[i]})
            }
            for(let i in this.userOptions){
              this.userList.push(this.userOptions[i].value)
            }
            console.log(this.userList,'userListuserListuserList99999999999999')
            this.loading1 = false;
          }
        );
        },
    // 确认分享
    subShare(row) {
ruoyi-ui/src/views/note/index.vue
@@ -148,9 +148,7 @@
                   plain
                   icon="el-icon-top">分享相关</el-button>
         <template #dropdown>
             <el-button size="mini"   type="primary"
                        plain
                        icon="el-icon-top">分享相关</el-button>
           <el-dropdown-menu>
             <el-dropdown-item     :disabled="multiple" icon="el-icon-top" style="height: 32px;width:240px;color: #0099ff;" @click.native="handleShare">分享</el-dropdown-item>
         
@@ -415,12 +413,12 @@
    <el-table v-loading="loading1" :data="listRoot" :row-key="getRowId1" ref="table1"  @selection-change="handleSelectionChange1"  :row-class-name="tableRowClassName" style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;">
          <el-table-column type="selection" width="55"  align="center" />
          <el-table-column fixed label="序号" sortable type="index" :index="(queryParams1.pageNum-1)*queryParams1.pageSize+1" width="130"/>
          <el-table-column label="身份" prop="identity" sortable width="130" >
  <!--        <el-table-column label="身份" prop="identity" sortable width="130" >
            <template slot-scope="scope" >
              <span v-if="scope.row.isMyFamily==1">第{{scope.row.identity}}代</span>
              <span v-else>——</span>
            </template>
          </el-table-column>
          </el-table-column> -->
          <el-table-column label="姓名" prop="nickName" sortable :show-overflow-tooltip="true" width="145" align="center"/>
        </el-table>
@@ -533,7 +531,7 @@
<script>
import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from "@/api/system/role";
import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu";
import {getAllInfo} from "@/api/system/user"
import {showShareUser} from "@/api/bignote/index";
@@ -811,6 +809,7 @@
        this.id1 = [row.id]
      }
      this.open1 = true;
      console.log(this.listRoot)
      this.title1 = "分享";
    },
    // 多选框选中数据
@@ -846,6 +845,27 @@
                        this.userOptions.push({label: element.oldName,value: element.userId})
                   })
    })
    let clanId = this.$store.state.user.clanId
     getAllInfo(clanId).then(response => {
         this.listRoot = response.data;
         const kon = {}
                         console.log(response.data,'userListuserListuserList99999999999999')
         this.listRoot.forEach(element => {
           kon[element['nickName']] = element['userId']
         })
         for(let i in kon){
           this.userOptions.push({label: i,value: kon[i]})
         }
         for(let i in this.userOptions){
           this.userList.push(this.userOptions[i].value)
         }
         console.log(this.userList,'userListuserListuserList99999999999999')
         this.loading1 = false;
       }
     );
        },
    // 确认分享
    subShare(row) {
ruoyi-ui/src/views/pet/index.vue
@@ -481,6 +481,8 @@
import {getInfo} from "@/api/login";
import {getAllInfo} from "@/api/system/user"
import {showShareUser} from "@/api/bignote/index";
//在system/note/index.js中导入接口函数
import {listPet,enload, getPetInfo, delPet,addPet, uploadPic1,
        share,shareToWho,getWhoShare,downShareData,deleteShareData,showShareData
@@ -887,6 +889,27 @@
                       })
        })
        
        let clanId = this.$store.state.user.clanId
         getAllInfo(clanId).then(response => {
             this.listRoot = response.data;
             const kon = {}
                             console.log(response.data,'userListuserListuserList99999999999999')
             this.listRoot.forEach(element => {
               kon[element['nickName']] = element['userId']
             })
             for(let i in kon){
               this.userOptions.push({label: i,value: kon[i]})
             }
             for(let i in this.userOptions){
               this.userList.push(this.userOptions[i].value)
             }
             console.log(this.userList,'userListuserListuserList99999999999999')
             this.loading1 = false;
           }
         );
        },
    // 确认分享
    subShare(row) {
ruoyi-ui/src/views/self/memo.vue
@@ -1,5 +1,10 @@
<template>
  <div class="app-container"  id="printable-content">
      <el-backtop :bottom="150" :right="30">
        <el-button type="primary" circle
                   class="el-icon-top"
        ></el-button>
      </el-backtop>
    <h1 style="font-size:21px;padding-top:30px;display: flex;">
      <span>个人简历</span>
      <div class="button-container" >
@@ -251,6 +256,477 @@
    </el-collapse-item>
    </el-collapse>
    <!--折叠面板-->
        <el-collapse  v-model="activeNames" @change="handleChange5">
          <!-- <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 class="left-content">主要学习及工作经历</div>
                <div>
                <el-button class="button" size="mini" type="text"  @click="showDialog('open')" >
                  <span v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></span></el-button>
                </div>
              </div>
            </template>
            <el-table v-loading="loading" border :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-date-picker v-model="scope.row.startDate" type="date" placeholder="请选择日期"
                        :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
                  ></el-date-picker></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-date-picker v-model="scope.row.endDate" type="date" placeholder="请选择日期"
                         :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
                  ></el-date-picker></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" v-if="userId != 2">
                <template slot-scope="scope" v-if="scope.row.roleId !== 1">
                  <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>
          </el-collapse-item>
          <!--   家庭成员及主要社会关系情况   -->
          <el-collapse-item name="2" >
            <template v-slot:title>
              <div class="title-wrapper">
                <div class="left-content">家庭成员及主要社会关系情况</div>
                <div>
                <el-button class="button" size="mini" type="text"  @click="showDialog('relation1')">
                  <span v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></span></el-button>
                </div>
              </div>
            </template>
            <el-table v-loading="loading" border :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">
                  <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">
                  <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">
                  <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" v-if="userId != 2">
                <template slot-scope="scope" v-if="scope.row.roleId !== 1">
                  <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  name="4">
            <template v-slot:title>
              <div class="title-wrapper">
                <div class="left-content">持有证件情况</div>
                <el-button class="button" size="mini" type="text"  @click="showDialog('certificate')">
                  <span v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></span></el-button>
              </div>
            </template>
            <el-table v-loading="loading" border :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="230" align="center" >
                <template slot-scope="scope">
                  <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-date-picker v-model="scope.row.startTime" type="date" placeholder="请选择日期"
                        :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
                  ></el-date-picker></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-date-picker v-model="scope.row.endTime" type="date" placeholder="请选择日期"
                          :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
                  ></el-date-picker></template>
                </template>
              </el-table-column>
              <el-table-column label="操作" align="center" class-name="small-padding fixed-width" v-if="userId != 2">
                <template slot-scope="scope" v-if="scope.row.roleId !== 1">
                  <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>
          </el-collapse-item>
          <!--出国(境)情况-->
          <el-collapse-item  name="5">
            <template v-slot:title>
              <div class="title-wrapper">
                <div class="left-content">出国(境)情况</div>
                <el-button class="button" size="mini" type="text"  @click="showDialog('abroad')">
                  <span v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></span></el-button>
              </div>
            </template>
            <el-table v-loading="loading" border :data="AbroadList" @selection-change="handleSelectionChange"
                      :row-class-name="tableRowClassName" style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;">
              <el-table-column label="开始时间" prop="startTime"  sortable width="200" align="center">
                <template slot-scope="scope">
                  <template v-if="!scope.row.isEdit">{{ scope.row.startTime }}</template>
                  <template v-else>
                    <el-date-picker v-model="scope.row.startTime" type="date" placeholder="请选择日期"
                                    :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
                    ></el-date-picker></template>
                </template>
              </el-table-column>
              <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-date-picker v-model="scope.row.endTime" type="date" placeholder="请选择日期"
                                    :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
                    ></el-date-picker></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">
                  <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" v-if="userId != 2">
                <template slot-scope="scope" v-if="scope.row.roleId !== 1">
                  <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>
          </el-collapse-item>
          <!--    自传-->
          <el-collapse-item  name="6">
            <template v-slot:title>
              <div class="title-wrapper">
                <div class="left-content">自传</div>
                <div>
                  <el-button size='mini' type="text" class="button" @click="showDialog('autobiography')" >
                    <span v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></span>
                  </el-button>
                </div>
              </div>
            </template>
            <el-container>
              <div>
                <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>{{ item.content }}</div>
                    <el-button size='mini' type="text" class="btn_edit" @click="editAutobiography(item)" style='position: absolute;right:40px;top:5px;'>
                      <span v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></span>
                    </el-button>
                    <el-button size="mini" type="text" class="btn_del" @click="handleAutobiography(item)" style='position: absolute;right:10px;top:5px;'>
                      <span v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></span>
                    </el-button>
                  </el-tab-pane>
                </el-tabs></div>
            </el-container>
          </el-collapse-item>
        </el-collapse>
        <pagination
          v-show="total>0"
          :total="total"
          :page.sync="queryParams.pageNum"
          :limit.sync="queryParams.pageSize"
          @pagination="getList"
        />
        <!-- 新增主要经历信息配置对话框 -->
        <el-dialog 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-date-picker v-model="formDat.startDate" type="date" placeholder="请选择日期"
                              :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
              ></el-date-picker>
            </el-form-item>
            <el-form-item label="结束日期" prop="endDate">
              <el-date-picker v-model="formDat.endDate" type="date" placeholder="请选择日期"
                              :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
              ></el-date-picker>
            </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-form-item label="证明人" prop="witness">
              <el-input v-model="formDat.witness" placeholder="请输入证明人" clearable :style="{width: '100%'}" >
              </el-input>
            </el-form-item>
          </el-form>
          <h4 class="form-header"> </h4>
          <div slot="footer" class="dialog-footer">
            <el-button type="primary" @click="submitDataScope">保 存</el-button>
            <el-button @click="cancelData">取 消</el-button>
          </div>
        </el-dialog>
        <!-- 新增家庭成员及主要社会关系情况信息配置对话框 -->
        <el-dialog 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="otherName">
              <el-input v-model="formDat.otherName" placeholder="请输入姓名" clearable :style="{width: '100%'}" >
              </el-input>
            </el-form-item>
            <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="otherPosition">
              <el-input v-model="formDat.otherPosition" placeholder="请输入职务" clearable :style="{width: '100%'}" >
              </el-input>
            </el-form-item>
            <el-form-item label="政治面貌" prop="otherPolitical">
              <el-input v-model="formDat.otherPolitical" placeholder="请输入政治面貌" clearable :style="{width: '100%'}" >
              </el-input>
            </el-form-item>
          </el-form>
          <h4 class="form-header"> </h4>
          <div slot="footer" class="dialog-footer">
            <el-button type="primary" @click="submitDataScope2">保 存</el-button>
            <el-button @click="cancelData">取 消</el-button>
          </div>
        </el-dialog>
        <!-- 新增持有证件情况信息配置对话框 -->
        <el-dialog 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-input v-model="newOption" v-if="showInput" placeholder="若未在上述选项中找到对应类型,请在此输入新的证件类型" @change="addNewOption"></el-input>
            </el-form-item>
            <el-form-item label="持有情况" prop="ownStatus">
              <el-input v-model="formDat.ownStatus" placeholder="请输入持有情况" clearable :style="{width: '100%'}" >
              </el-input>
            </el-form-item>
            <el-form-item label="证件号码" prop="idNo">
              <el-input v-model="formDat.idNo" placeholder="请输入证件号码" clearable :style="{width: '100%'}" >
              </el-input>
            </el-form-item>
            <el-form-item label="开始日期" prop="startTime">
                <el-date-picker v-model="formDat.startTime" type="date" placeholder="请选择日期"
                                :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
                ></el-date-picker>
             </el-form-item>
            <el-form-item label="结束日期" prop="endTime">
              <el-date-picker v-model="formDat.endTime" type="date" placeholder="请选择日期"
                              :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
              ></el-date-picker></el-form-item>
             </el-form>
          <h4 class="form-header"> </h4>
          <div slot="footer" class="dialog-footer">
            <el-button type="primary" @click="submitDataScope4">保 存</el-button>
            <el-button @click="cancelData">取 消</el-button>
          </div>
        </el-dialog>
        <!-- 新增出国(境)情况信息配置对话框 -->
        <el-dialog 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-date-picker v-model="formDat.startTime" type="date" placeholder="请选择日期"
                              :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
              ></el-date-picker></el-form-item>
            <el-form-item label="结束日期" prop="endTime">
              <el-date-picker v-model="formDat.endTime" type="date" placeholder="请选择日期"
                              :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
              ></el-date-picker>
            </el-form-item>
            <el-form-item label="所到国家或者地区" prop="destination">
              <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">
              <el-input v-model="formDat.cause" placeholder="请输入事由(旅游、走访、探亲、继承财产、其他)" clearable :style="{width: '100%'}" >
              </el-input>
            </el-form-item>
          </el-form>
          <h4 class="form-header"> </h4>
          <div slot="footer" class="dialog-footer">
            <el-button type="primary" @click="submitDataScope5">保 存</el-button>
            <el-button @click="cancelData">取 消</el-button>
          </div>
        </el-dialog>
        <!--新增自传-->
        <el-dialog :title="isEdit1 ? '编辑记录' : '新增记录'" :visible.sync="dialogVisible.autobiography" width="900px" append-to-body>
          <el-col >
            <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 type="number" v-model="formDat.ageBegin" placeholder="" clearable :style="{width: '20%'}" >
                  </el-input>
                  <span> 岁 ——</span>
                  <el-input type="number" 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.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>-->
                  <el-input v-model="formDat.term"  placeholder="请输入时期" clearable :style="{width: '100%'}" >
                  </el-input>
                </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>
   </div>
</template>
@@ -308,6 +784,27 @@
      fot:[".jpg",".jif"],
      fileList:[],
      fileListOther:[],
     //下拉实现
      activeNames:'3',
      dialogVisible: {
        open: false,
        relation1:false,
        certificate:false,
        abroad:false,
        autobiography:false
      },
      // 个人经历数据
      experienceList: [],
      // isEdit:true,
      editStatus: {},
      //家庭成员关系数据
      relationList:[],
      //出入境证件情况
      certificateList:[],
      typeList:[],
      //出国情况
      AbroadList:[],
      uploading: false,
      uploading1: false,
@@ -410,6 +907,9 @@
        }],
      },
      open:false,
      formDat: {
        //个人记事本详情
        id:undefined,
@@ -436,7 +936,10 @@
        remark:undefined
      },
      // searchVal:"",
   //个人自传
      activeName: '0',
      AutobiographyList:[],
      content1:'',
      // 表单参数
      form: {},
      defaultProps: {
@@ -484,27 +987,119 @@
  },
  created() {
    this.getList();
        this.getList1();
        this.getAutobiographyInfor()
        this.getInfo()
    // for (let i = 0; i < this.contactList.length; i++) {
    //   this.formDat[i] = this.contactList[i];
    // }
  },
  methods: {
   getInfo(){
          console.log('-----------------')
          getInfo().then(response=>{
            console.log(response.user.roles[0].roleId,'roleID')
            this.userId = response.user.roles[0].roleId
          })
        },
   getList1() {
          this.loading1 = true;
          this.queryParams1.happenStartTime = this.dateRange1.length > 0 && this.dateRange1[0]
          this.queryParams1.happenEndTime = this.dateRange1.length > 0 && this.dateRange1[1]
                this.queryParams.clanId = this.$store.state.user.clanId
          listUserAll(this.queryParams1).then(response => {
              this.listRoot = response.data.data;
              const kon = {}
              this.listRoot.forEach(element => {
                kon[element['nickName']] = element['userId']
              })
              for(let i in kon){
                this.userOptions.push({label: i,value: kon[i]})
              }
              for(let i in this.userOptions){
                this.userList.push(this.userOptions[i].value)
              }
              console.log(this.userList,'userListuserListuserList')
              this.loading1 = false;
            }
          );
        },
    /** 查询记录列表 */
    getList() {
      this.loading = true;
      let _this = this
   //个人信息
      listExperience(this.queryParams).then(response => {
          //  alert(123)
          //   console.log(response.data)
          _this.experienceList = response.data;
          // this.total = response.data.total;
          _this.loading = false;
        }
      );
      //成员关系
      getIndividualRelation(this.queryParams).then(response => {
          //  alert(123)
          //   console.log(response.data)
          _this.relationList = response.data;
          // this.total = response.data.total;
          _this.loading = false;
        }
      );
   getIndividualList(this.queryParams).then(response => {
       //  alert(123)
       //   console.log(response.data)
       _this.individualList = response.data;
       // this.total = response.data.total;
       _this.loading = false;
     }
   );
      //出入境证件情况
      getCertificateList(this.queryParams).then(response => {
          //  alert(123)
          //   console.log(response.data)
          _this.certificateList = response.data;
          // this.total = response.data.total;
          _this.loading = false;
        }
      );
      //出国情况
      getAbroadList(this.queryParams).then(response => {
          //  alert(123)
          //   console.log(response.data)
          _this.AbroadList = response.data;
          // this.total = response.data.total;
          _this.loading = false;
        }
      );
      //查询个人所有自传
      getAutobiographyList(this.queryParams).then(response => {
        //  alert(123)
        //   console.log(response.data)
        _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;
      // });
      listType(this.queryParams).then(response => {
          _this.typeList = response.data;
          // this.total = response.data.total;
          // console.log( this.typeList )
          // 在回调函数中调用 getTypeOptions()
          _this.getTypeOptions();
       _this.loading = false;
     }
   );
@@ -685,12 +1280,387 @@
    },
    /** 提交按钮(数据权限) */
    //新增主要经历的保存
    submitDataScope: function() {
      let _this = this
      this.$refs["elForm1"].validate(valid => {
        if (valid) {
            //alert(1235)
               _this.dialogVisible.open = false;
          addExperience(_this.formDat).then(response => {
            _this.$modal.msgSuccess("新增成功");
            _this.getList();
          });
        }
      });
      // 清空formDat对象的数据
      Object.keys(this.formDat).forEach(key => {
        this.formDat[key] = '';
      });
    },
    //新增成员关系的保存
    submitDataScope2: function() {
      this.$refs["elForm"].validate(valid => {
        if (valid) {
                    this.dialogVisible.relation1 = false;
          addRelation(this.formDat).then(response => {
            this.$modal.msgSuccess("新增成功");
            this.getList();
          });
        }
      });
      // 清空formDat对象的数据
      Object.keys(this.formDat).forEach(key => {
        this.formDat[key] = '';
      });
    },
    //新增出入境证件的保存
    submitDataScope4: function() {
      this.$refs["elForm"].validate(valid => {
        if (valid) {
          addCertificate(this.formDat).then(response => {
            this.$modal.msgSuccess("新增成功");
            this.dialogVisible.certificate = false;
            this.getList();
          });
        }
      });
      // 清空formDat对象的数据
      this.newOption=undefined
      Object.keys(this.formDat).forEach(key => {
        this.formDat[key] = '';
      });
    },
    //新增出国境的保存
    submitDataScope5: function() {
      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() {
      this.$refs["elForm"].validate(valid => {
        if (valid) {
          // 根据值找到选中的选项对象
          // const selectedOption = this.typeOptions.find(option => option.value === this.formDat.term);
          if (this.isEdit1) {
            // 执行修改操作
            updateAutobiography(this.formDat).then(response => {
              // 将选中选项的文本设置为"term"字段的值
              // this.formDat.term = selectedOption.value;
              // 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);
    },
    //修改后的保存
    //主要经历
    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);
    },
    /** 删除个人经历按钮操作 */
    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("删除成功");
      }).catch(() => {});
    },
    /** 删除持有出入境证件情况按钮操作 */
    handleCertificateDelete(row) {
      const Ids = row.id || this.ids;
      this.$modal.confirm('是否确认删除数据项?').then(function() {
        return delCertificate(Ids);
      }).then(() => {
        this.getList();
        this.$modal.msgSuccess("删除成功");
      }).catch(() => {});
    },
    /** 删除出国(境)情况按钮操作 */
    handleAbroadDelete(row) {
      const Ids = row.id || this.ids;
      this.$modal.confirm('是否确认删除数据项?').then(function() {
        return delAbroad(Ids);
      }).then(() => {
        this.getList();
        this.$modal.msgSuccess("删除成功");
      }).catch(() => {});
    },
    /** 删除个人自传按钮操作 */
    handleAutobiography(row) {
      const Ids = row.id || this.ids;
      this.$modal.confirm('是否确认删除数据项?').then(function() {
        return delAutobiography(Ids);
      }).then(() => {
        this.getList();
        this.$modal.msgSuccess("删除成功");
      }).catch(() => {});
    },
    /** 查询自传信息 */
    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 => {
          const label = elem.split(":")[0].trim();
          const value = parseInt(elem.split(":")[1].trim());
          // 判断 typeOptions 数组中是否已存在相同的 value
          if (!_this.typeOptions.some(option => option.value === value)) {
            _this.typeOptions.push({ "label": label, "value": value });
          }
          // console.log(_this.typeOptions)
          // _this.getSrc1(value)
        });
      });
    },
    // 取消按钮
    cancelData() {
    //    alert(23)
      this.dialogVisible.open = false;
      this.dialogVisible.relation1 = false;
      this.dialogVisible.certificate =false;
      this.dialogVisible.abroad=false;
      this.dialogVisible.autobiography=false;
      this.isEdit1 = false;
      this.reset();
     // alert(32)
      // 清空formDat对象的数据
      Object.keys(this.formDat).forEach(key => {
        this.formDat[key] = '';
      });
    },
    handleUploadSuccess(response, file) {
      // 处理文件上传成功后的回调
      this.individualList.img = response.url;
    },
    //下拉
    handleChange5(activeNames) {
      // console.log(activeNames);
      this.reset();
    },
    showDialog(dialogName) {
      this.dialogVisible[dialogName] = true;
    },
    //个人自传
    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;
    },
    editAutobiography(item) {
      this.isEdit1 = true;
      this.dialogVisible.autobiography = true;
      this.formDat = { item };
    },
    getTypeOptions() {
      const filteredOptions = this.typeList.filter(item => typeof item === 'string' && item !== '');
      // 创建一个空对象用于存储唯一的字符串选项
      const uniqueOptions = {};
      // 构建下拉选项列表
      this.typeOption = filteredOptions.reduce((options, option) => {
        if (!uniqueOptions[option]) {
          uniqueOptions[option] = true;
          options.push({
            label: option,
            value: option
          });
        }
        return options;
      }, []);
    },
    //隔行变色
    tableRowClassName({row, rowIndex}) {
      if (rowIndex % 2 == 0) {
        return "statistics-warning-row";
      } else {
        return "statistics-warning-row1";
      }
      return '';
    },
  }
};
</script>
<style>
.app-container{
  background-color: #FEF7FC;
}
.el-icon-top {
  background: no-repeat center url("../../assets/icons/top.png");
}
.el-collapse-item__header {
  background-color:#FEF7FC;
  width: 100%;
}
.title-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: calc(100% - 50px);
}
.el-table__row.statistics-warning-row {
  background: #E0EEFE;
@@ -706,5 +1676,40 @@
.button-container {
  display: inline-flex; /* 设置按钮容器为行内元素 */
}
.btn_autobiography{
  background:center no-repeat url('../../assets/icons/add1.png') ;
  margin-left: 76vw;
}
.btn_edit{
  background:center no-repeat url('../../assets/icons/edit.png') ;
}
.btn_del{
  background:center no-repeat url('../../assets/images/删除2.png') ;
}
.button-container {
  text-align: right;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-grow: 1;
}
.button {
  background:center no-repeat url('../../assets/icons/add1.png') ;
  /*margin-right: -10px ;*/
  flex-shrink: 0;
  width: 30px;
  height: 28px;
}
.form{
  background:center/11% no-repeat url('../../assets/icons/form.png') ;
}
.button {
  background:center no-repeat url('../../assets/icons/add1.png') ;
  /*margin-right: -10px ;*/
  flex-shrink: 0;
  width: 30px;
  height: 28px;
}
</style>
ruoyi-ui/src/views/self/show.vue
@@ -1,11 +1,7 @@
<template>
  <div class="app-container">
    <!--    回到顶部-->
    <el-backtop :bottom="150" :right="30">
      <el-button type="primary" circle
                 class="el-icon-top"
      ></el-button>
    </el-backtop>
    <h1 style="font-size:21px;padding-top:30px;display: flex;">
      <span>个人记事本</span>
       <div class="button-container" ></div>
@@ -438,476 +434,6 @@
    <!--    基本信息-->
    <!--折叠面板-->
    <el-collapse  v-model="activeNames" @change="handleChange5">
      <!-- <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 class="left-content">主要学习及工作经历</div>
            <div>
            <el-button class="button" size="mini" type="text"  @click="showDialog('open')" >
              <span v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></span></el-button>
            </div>
          </div>
        </template>
        <el-table v-loading="loading" border :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-date-picker v-model="scope.row.startDate" type="date" placeholder="请选择日期"
                    :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
              ></el-date-picker></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-date-picker v-model="scope.row.endDate" type="date" placeholder="请选择日期"
                     :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
              ></el-date-picker></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" v-if="userId != 2">
            <template slot-scope="scope" v-if="scope.row.roleId !== 1">
              <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>
      </el-collapse-item>
      <!--   家庭成员及主要社会关系情况   -->
      <el-collapse-item name="2" >
        <template v-slot:title>
          <div class="title-wrapper">
            <div class="left-content">家庭成员及主要社会关系情况</div>
            <div>
            <el-button class="button" size="mini" type="text"  @click="showDialog('relation1')">
              <span v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></span></el-button>
            </div>
          </div>
        </template>
        <el-table v-loading="loading" border :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">
              <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">
              <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">
              <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" v-if="userId != 2">
            <template slot-scope="scope" v-if="scope.row.roleId !== 1">
              <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  name="4">
        <template v-slot:title>
          <div class="title-wrapper">
            <div class="left-content">持有证件情况</div>
            <el-button class="button" size="mini" type="text"  @click="showDialog('certificate')">
              <span v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></span></el-button>
          </div>
        </template>
        <el-table v-loading="loading" border :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="230" align="center" >
            <template slot-scope="scope">
              <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-date-picker v-model="scope.row.startTime" type="date" placeholder="请选择日期"
                    :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
              ></el-date-picker></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-date-picker v-model="scope.row.endTime" type="date" placeholder="请选择日期"
                      :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
              ></el-date-picker></template>
            </template>
          </el-table-column>
          <el-table-column label="操作" align="center" class-name="small-padding fixed-width" v-if="userId != 2">
            <template slot-scope="scope" v-if="scope.row.roleId !== 1">
              <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>
      </el-collapse-item>
      <!--出国(境)情况-->
      <el-collapse-item  name="5">
        <template v-slot:title>
          <div class="title-wrapper">
            <div class="left-content">出国(境)情况</div>
            <el-button class="button" size="mini" type="text"  @click="showDialog('abroad')">
              <span v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></span></el-button>
          </div>
        </template>
        <el-table v-loading="loading" border :data="AbroadList" @selection-change="handleSelectionChange"
                  :row-class-name="tableRowClassName" style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;">
          <el-table-column label="开始时间" prop="startTime"  sortable width="200" align="center">
            <template slot-scope="scope">
              <template v-if="!scope.row.isEdit">{{ scope.row.startTime }}</template>
              <template v-else>
                <el-date-picker v-model="scope.row.startTime" type="date" placeholder="请选择日期"
                                :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
                ></el-date-picker></template>
            </template>
          </el-table-column>
          <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-date-picker v-model="scope.row.endTime" type="date" placeholder="请选择日期"
                                :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
                ></el-date-picker></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">
              <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" v-if="userId != 2">
            <template slot-scope="scope" v-if="scope.row.roleId !== 1">
              <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>
      </el-collapse-item>
      <!--    自传-->
      <el-collapse-item  name="6">
        <template v-slot:title>
          <div class="title-wrapper">
            <div class="left-content">自传</div>
            <div>
              <el-button size='mini' type="text" class="button" @click="showDialog('autobiography')" >
                <span v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></span>
              </el-button>
            </div>
          </div>
        </template>
        <el-container>
          <div>
            <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>{{ item.content }}</div>
                <el-button size='mini' type="text" class="btn_edit" @click="editAutobiography(item)" style='position: absolute;right:40px;top:5px;'>
                  <span v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></span>
                </el-button>
                <el-button size="mini" type="text" class="btn_del" @click="handleAutobiography(item)" style='position: absolute;right:10px;top:5px;'>
                  <span v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></span>
                </el-button>
              </el-tab-pane>
            </el-tabs></div>
        </el-container>
      </el-collapse-item>
    </el-collapse>
    <pagination
      v-show="total>0"
      :total="total"
      :page.sync="queryParams.pageNum"
      :limit.sync="queryParams.pageSize"
      @pagination="getList"
    />
    <!-- 新增主要经历信息配置对话框 -->
    <el-dialog 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-date-picker v-model="formDat.startDate" type="date" placeholder="请选择日期"
                          :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
          ></el-date-picker>
        </el-form-item>
        <el-form-item label="结束日期" prop="endDate">
          <el-date-picker v-model="formDat.endDate" type="date" placeholder="请选择日期"
                          :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
          ></el-date-picker>
        </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-form-item label="证明人" prop="witness">
          <el-input v-model="formDat.witness" placeholder="请输入证明人" clearable :style="{width: '100%'}" >
          </el-input>
        </el-form-item>
      </el-form>
      <h4 class="form-header"> </h4>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitDataScope">保 存</el-button>
        <el-button @click="cancelData">取 消</el-button>
      </div>
    </el-dialog>
    <!-- 新增家庭成员及主要社会关系情况信息配置对话框 -->
    <el-dialog 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="otherName">
          <el-input v-model="formDat.otherName" placeholder="请输入姓名" clearable :style="{width: '100%'}" >
          </el-input>
        </el-form-item>
        <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="otherPosition">
          <el-input v-model="formDat.otherPosition" placeholder="请输入职务" clearable :style="{width: '100%'}" >
          </el-input>
        </el-form-item>
        <el-form-item label="政治面貌" prop="otherPolitical">
          <el-input v-model="formDat.otherPolitical" placeholder="请输入政治面貌" clearable :style="{width: '100%'}" >
          </el-input>
        </el-form-item>
      </el-form>
      <h4 class="form-header"> </h4>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitDataScope2">保 存</el-button>
        <el-button @click="cancelData">取 消</el-button>
      </div>
    </el-dialog>
    <!-- 新增持有证件情况信息配置对话框 -->
    <el-dialog 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-input v-model="newOption" v-if="showInput" placeholder="若未在上述选项中找到对应类型,请在此输入新的证件类型" @change="addNewOption"></el-input>
        </el-form-item>
        <el-form-item label="持有情况" prop="ownStatus">
          <el-input v-model="formDat.ownStatus" placeholder="请输入持有情况" clearable :style="{width: '100%'}" >
          </el-input>
        </el-form-item>
        <el-form-item label="证件号码" prop="idNo">
          <el-input v-model="formDat.idNo" placeholder="请输入证件号码" clearable :style="{width: '100%'}" >
          </el-input>
        </el-form-item>
        <el-form-item label="开始日期" prop="startTime">
            <el-date-picker v-model="formDat.startTime" type="date" placeholder="请选择日期"
                            :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
            ></el-date-picker>
         </el-form-item>
        <el-form-item label="结束日期" prop="endTime">
          <el-date-picker v-model="formDat.endTime" type="date" placeholder="请选择日期"
                          :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
          ></el-date-picker></el-form-item>
         </el-form>
      <h4 class="form-header"> </h4>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitDataScope4">保 存</el-button>
        <el-button @click="cancelData">取 消</el-button>
      </div>
    </el-dialog>
    <!-- 新增出国(境)情况信息配置对话框 -->
    <el-dialog 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-date-picker v-model="formDat.startTime" type="date" placeholder="请选择日期"
                          :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
          ></el-date-picker></el-form-item>
        <el-form-item label="结束日期" prop="endTime">
          <el-date-picker v-model="formDat.endTime" type="date" placeholder="请选择日期"
                          :editable="false" :clearable="false" :style="{width: '100%'}"  value-format="yyyy-MM-dd"
          ></el-date-picker>
        </el-form-item>
        <el-form-item label="所到国家或者地区" prop="destination">
          <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">
          <el-input v-model="formDat.cause" placeholder="请输入事由(旅游、走访、探亲、继承财产、其他)" clearable :style="{width: '100%'}" >
          </el-input>
        </el-form-item>
      </el-form>
      <h4 class="form-header"> </h4>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitDataScope5">保 存</el-button>
        <el-button @click="cancelData">取 消</el-button>
      </div>
    </el-dialog>
    <!--新增自传-->
    <el-dialog :title="isEdit1 ? '编辑记录' : '新增记录'" :visible.sync="dialogVisible.autobiography" width="900px" append-to-body>
      <el-col >
        <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 type="number" v-model="formDat.ageBegin" placeholder="" clearable :style="{width: '20%'}" >
              </el-input>
              <span> 岁 ——</span>
              <el-input type="number" 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.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>-->
              <el-input v-model="formDat.term"  placeholder="请输入时期" clearable :style="{width: '100%'}" >
              </el-input>
            </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>
    <!-- 分享对话框1 -->
@@ -1130,22 +656,8 @@
      individualList:[],
      isEditing: false,
      fit:['cover'],
      // 个人经历数据
      experienceList: [],
      // isEdit:true,
      editStatus: {},
      //家庭成员关系数据
      relationList:[],
      //出入境证件情况
      certificateList:[],
      typeList:[],
      //出国情况
      AbroadList:[],
      //个人自传
      activeName: '0',
      AutobiographyList:[],
      content1:'',
      //不同时段个人自传
      // AutobiographyTermList:[],
      // // 访问后台的数据
@@ -1159,15 +671,7 @@
      // },
      // current: 0,
      //下拉实现
      activeNames:'3',
      dialogVisible: {
        open: false,
        relation1:false,
        certificate:false,
        abroad:false,
        autobiography:false
      },
      // 弹出层标题
      title: "",
@@ -1468,10 +972,9 @@
    };
  },
  created() {
        this.getList1();
    this.getList();
    this.getAutobiographyInfor()
    this.getInfo()
  },
  methods: {
    // 分页
@@ -1607,28 +1110,7 @@
    {
      return row.id
    },
    getList1() {
          this.loading1 = true;
          this.queryParams1.happenStartTime = this.dateRange1.length > 0 && this.dateRange1[0]
          this.queryParams1.happenEndTime = this.dateRange1.length > 0 && this.dateRange1[1]
                this.queryParams.clanId = this.$store.state.user.clanId
          listUserAll(this.queryParams1).then(response => {
              this.listRoot = response.data.data;
              const kon = {}
              this.listRoot.forEach(element => {
                kon[element['nickName']] = element['userId']
              })
              for(let i in kon){
                this.userOptions.push({label: i,value: kon[i]})
              }
              for(let i in this.userOptions){
                this.userList.push(this.userOptions[i].value)
              }
              console.log(this.userList,'userListuserListuserList')
              this.loading1 = false;
            }
          );
        },
    // 确认分享
    subShare(row) {
      const shareList = {}
@@ -1647,13 +1129,7 @@
    },
    // ------------------------------------------------------------------
    getInfo(){
          console.log('-----------------')
          getInfo().then(response=>{
            console.log(response.user.roles[0].roleId,'roleID')
            this.userId = response.user.roles[0].roleId
          })
        },
    handleRemoveFile(file) {
      for(let i = 0; i < this.fileListOther.length; i++)
      {
@@ -1758,59 +1234,6 @@
    // 取消按钮
    cancelData() {
    //    alert(23)
      this.dialogVisible.open = false;
      this.dialogVisible.relation1 = false;
      this.dialogVisible.certificate =false;
      this.dialogVisible.abroad=false;
      this.dialogVisible.autobiography=false;
      this.isEdit1 = false;
      this.reset();
     // alert(32)
      // 清空formDat对象的数据
      Object.keys(this.formDat).forEach(key => {
        this.formDat[key] = '';
      });
    },
    handleUploadSuccess(response, file) {
      // 处理文件上传成功后的回调
      this.individualList.img = response.url;
    },
    //下拉
    handleChange5(activeNames) {
      // console.log(activeNames);
      this.reset();
    },
    showDialog(dialogName) {
      this.dialogVisible[dialogName] = true;
    },
    //个人自传
    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;
    },
    editAutobiography(item) {
      this.isEdit1 = true;
      this.dialogVisible.autobiography = true;
      this.formDat = { item };
    },
    //隔行变色
    tableRowClassName({row, rowIndex}) {
@@ -1857,30 +1280,7 @@
          this.loading = false;
        }
      );
      this.loading = true;
      // console.log(this.queryParams)
      //  listProperty(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
      //个人经历
      let _this = this;
      listExperience(this.queryParams).then(response => {
          //  alert(123)
          //   console.log(response.data)
          _this.experienceList = response.data;
          // this.total = response.data.total;
          _this.loading = false;
        }
      );
      //成员关系
      getIndividualRelation(this.queryParams).then(response => {
          //  alert(123)
          //   console.log(response.data)
          _this.relationList = response.data;
          // this.total = response.data.total;
          _this.loading = false;
        }
      );
      let _this = this
  getIndividualList(this.queryParams).then(response => {
       //  alert(123)
       //   console.log(response.data)
@@ -1890,68 +1290,9 @@
       _this.loading = false;
     }
   );
      //出入境证件情况
      getCertificateList(this.queryParams).then(response => {
          //  alert(123)
          //   console.log(response.data)
          _this.certificateList = response.data;
          // this.total = response.data.total;
          _this.loading = false;
        }
      );
      //出国情况
      getAbroadList(this.queryParams).then(response => {
          //  alert(123)
          //   console.log(response.data)
          _this.AbroadList = response.data;
          // this.total = response.data.total;
          _this.loading = false;
        }
      );
      //查询个人所有自传
      getAutobiographyList(this.queryParams).then(response => {
        //  alert(123)
        //   console.log(response.data)
        _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;
      // });
      listType(this.queryParams).then(response => {
          _this.typeList = response.data;
          // this.total = response.data.total;
          // console.log( this.typeList )
          // 在回调函数中调用 getTypeOptions()
          _this.getTypeOptions();
          _this.loading = false;
        }
      );
    },
    getTypeOptions() {
      const filteredOptions = this.typeList.filter(item => typeof item === 'string' && item !== '');
      // 创建一个空对象用于存储唯一的字符串选项
      const uniqueOptions = {};
      // 构建下拉选项列表
      this.typeOption = filteredOptions.reduce((options, option) => {
        if (!uniqueOptions[option]) {
          uniqueOptions[option] = true;
          options.push({
            label: option,
            value: option
          });
        }
        return options;
      }, []);
    },
    //图片的上传及上传按钮隐藏
@@ -2193,286 +1534,7 @@
        // alert(this.open)
    },
    /** 查询自传信息 */
    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 => {
          const label = elem.split(":")[0].trim();
          const value = parseInt(elem.split(":")[1].trim());
          // 判断 typeOptions 数组中是否已存在相同的 value
          if (!_this.typeOptions.some(option => option.value === value)) {
            _this.typeOptions.push({ "label": label, "value": value });
          }
          // console.log(_this.typeOptions)
          // _this.getSrc1(value)
        });
      });
    },
    /** 提交按钮(数据权限) */
    //新增主要经历的保存
    submitDataScope: function() {
      let _this = this
      this.$refs["elForm1"].validate(valid => {
        if (valid) {
            //alert(1235)
               _this.dialogVisible.open = false;
          addExperience(_this.formDat).then(response => {
            _this.$modal.msgSuccess("新增成功");
            _this.getList();
          });
        }
      });
      // 清空formDat对象的数据
      Object.keys(this.formDat).forEach(key => {
        this.formDat[key] = '';
      });
    },
    //新增成员关系的保存
    submitDataScope2: function() {
      this.$refs["elForm"].validate(valid => {
        if (valid) {
                    this.dialogVisible.relation1 = false;
          addRelation(this.formDat).then(response => {
            this.$modal.msgSuccess("新增成功");
            this.getList();
          });
        }
      });
      // 清空formDat对象的数据
      Object.keys(this.formDat).forEach(key => {
        this.formDat[key] = '';
      });
    },
    //新增出入境证件的保存
    submitDataScope4: function() {
      this.$refs["elForm"].validate(valid => {
        if (valid) {
          addCertificate(this.formDat).then(response => {
            this.$modal.msgSuccess("新增成功");
            this.dialogVisible.certificate = false;
            this.getList();
          });
        }
      });
      // 清空formDat对象的数据
      this.newOption=undefined
      Object.keys(this.formDat).forEach(key => {
        this.formDat[key] = '';
      });
    },
    //新增出国境的保存
    submitDataScope5: function() {
      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() {
      this.$refs["elForm"].validate(valid => {
        if (valid) {
          // 根据值找到选中的选项对象
          // const selectedOption = this.typeOptions.find(option => option.value === this.formDat.term);
          if (this.isEdit1) {
            // 执行修改操作
            updateAutobiography(this.formDat).then(response => {
              // 将选中选项的文本设置为"term"字段的值
              // this.formDat.term = selectedOption.value;
              // 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);
    },
    //修改后的保存
    //主要经历
    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);
    },
    /** 删除个人经历按钮操作 */
    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("删除成功");
      }).catch(() => {});
    },
    /** 删除持有出入境证件情况按钮操作 */
    handleCertificateDelete(row) {
      const Ids = row.id || this.ids;
      this.$modal.confirm('是否确认删除数据项?').then(function() {
        return delCertificate(Ids);
      }).then(() => {
        this.getList();
        this.$modal.msgSuccess("删除成功");
      }).catch(() => {});
    },
    /** 删除出国(境)情况按钮操作 */
    handleAbroadDelete(row) {
      const Ids = row.id || this.ids;
      this.$modal.confirm('是否确认删除数据项?').then(function() {
        return delAbroad(Ids);
      }).then(() => {
        this.getList();
        this.$modal.msgSuccess("删除成功");
      }).catch(() => {});
    },
    /** 删除个人自传按钮操作 */
    handleAutobiography(row) {
      const Ids = row.id || this.ids;
      this.$modal.confirm('是否确认删除数据项?').then(function() {
        return delAutobiography(Ids);
      }).then(() => {
        this.getList();
        this.$modal.msgSuccess("删除成功");
      }).catch(() => {});
    },
  }
ruoyi-ui/src/views/travel/Info.vue
@@ -1,7 +1,7 @@
<template>
  <div class="app-container" style="opacity: 1;">
    <h2>每日行程</h2>
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<!--    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
      <el-form-item label="时间" >
        <el-date-picker
@@ -28,9 +28,9 @@
        <el-button  size="mini" @click="handleQuery" style=" width: 65px; height: 32px;background: #FFDDE3;border-radius:6px 6px 6px 6px;opacity:1;">搜索</el-button>
        <el-button  size="mini" @click="resetQuery" style=" width: 65px;height: 32px; background: #FFDDE3; border-radius:6px 6px 6px 6px;opacity: 1;">重置</el-button>
      </el-form-item>
    </el-form>
    </el-form> -->
    <el-row :gutter="10" class="mb8">
<!--    <el-row :gutter="10" class="mb8">
      <el-col :span="1.5">
        <el-button
          type="primary"
@@ -87,9 +87,9 @@
        </el-upload>
      </el-col>
      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
    </el-row>
    </el-row> -->
    <el-table  :header-row-class-name="tableHeaderRowClassName"  v-loading="loading" :data="travelBase[props.row.id]"  style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;" :row-class-name="tableRowClassName1" >
    <el-table  v-loading="loading" :data="travelBase"  style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;" :row-class-name="tableRowClassName1" >
                  <el-table-column  label="序号" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="50px"/>
    
                  <el-table-column label="时间" prop="happenDate" sortable width="100" align="center" >
@@ -134,7 +134,7 @@
    
                  <el-table-column label="操作" align="center" class-name="small-padding fixed-width" v-if="userId != 2">
                    <template slot-scope="scope" v-if="scope.row.roleId !== 1">
                      <el-button
                <!--      <el-button
                        size="mini"
                        type="text"
                        icon="el-icon-edit"
@@ -147,7 +147,7 @@
                        icon="el-icon-delete"
                        @click="handleDelete1(scope.row)"
                        v-hasPermi="['system:role:remove']"
                      >删除</el-button>
                      >删除</el-button> -->
                      <el-button size="mini" type="text" icon="el-icon-d-arrow-right"  @click="handleCheck1(scope.row)">查看详情</el-button>
    
                    </template>
@@ -572,16 +572,17 @@
      // this.queryParams.happenStartTime = this.dateRange.length > 0 && this.dateRange[0]
      // this.queryParams.happenEndTime = this.dateRange.length > 0 && this.dateRange[1]
        let _this = this
      // // console.log(this.queryParams)
      //  listProperty(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
      listTravelBase(this.queryParams).then(response => {
      listTravelBase(fid).then(response => {
          //  alert(123)
          console.log(response.data)
            console.log(response.data.data)
          this.travelBase = response.data.data;
         //   console.log(response.data.data)
          _this.travelBase = response.data;
          // console.log(this.travelBase)
          this.total = response.data.total;
          this.loading = false;
          _this.loading = false;
        }
      );
@@ -870,6 +871,19 @@
//         this.$modal.msgSuccess("删除成功");
//       }).catch(() => {});
//     },
    //隔行变色
    tableRowClassName1({ row, rowIndex }) {
      if (rowIndex % 2 == 0) {
        return "statistics-warning-row1";
      } else {
        return "statistics-warning-row";
      }
    },
    handleCheck1(row){
      const id = row.id;
     // alert(id)
      this.$router.push("/self/travel/travelInfo/" + id);
    },
    /** 导出按钮操作 */
    handleExport() {
      const Ids = this.ids;
ruoyi-ui/src/views/travel/index.vue
@@ -546,12 +546,12 @@
    <el-table v-loading="loading1" :data="listRoot" :row-key="getRowId1" ref="table1"  @selection-change="handleSelectionChange1"  :row-class-name="tableRowClassName" style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;">
          <el-table-column type="selection" width="55"  align="center" />
          <el-table-column fixed label="序号" sortable type="index" :index="(queryParams1.pageNum-1)*queryParams1.pageSize+1" width="130"/>
          <el-table-column label="身份" prop="identity" sortable width="130" >
     <!--     <el-table-column label="身份" prop="identity" sortable width="130" >
            <template slot-scope="scope" >
              <span v-if="scope.row.isMyFamily==1">第{{scope.row.identity}}代</span>
              <span v-else>——</span>
            </template>
          </el-table-column>
          </el-table-column> -->
          <el-table-column label="姓名" prop="nickName" sortable :show-overflow-tooltip="true" width="145" align="center"/>
        </el-table>
@@ -735,6 +735,8 @@
  shareToWho2,getWhoShare2,showShareData2
} from "@/api/travel/index";
import {showShareUser} from "@/api/bignote/index";
import {getAllInfo} from "@/api/system/user"
import {listUserAll} from "@/api/root/index";
import { Notification, MessageBox, Message, Loading } from 'element-ui'
import {getSelfEconomyInfo} from "@/api/selfeconomy";
@@ -1156,12 +1158,26 @@
    },
    getList1() {
          this.loading1 = true;
          this.queryParams1.happenStartTime = this.dateRange1.length > 0 && this.dateRange1[0]
          this.queryParams1.happenEndTime = this.dateRange1.length > 0 && this.dateRange1[1]
                this.queryParams.clanId = this.$store.state.user.clanId
          listUserAll(this.queryParams1).then(response => {
              this.listRoot = response.data.data;
           let userId = this.$store.state.user.userId
         //  alert(userId)
           showShareUser(userId, 2055).then(response=>{
               console.log("===========ddddddddddddd")
               console.log(response.data)
               console.log("--------------------")
               response.data.forEach(element =>{
                    this.userOptions.push({label: element.oldName,value: element.userId})
               })
           })
           let clanId = this.$store.state.user.clanId
            getAllInfo(clanId).then(response => {
                this.listRoot = response.data;
              const kon = {}
                                console.log(response.data,'userListuserListuserList99999999999999')
              this.listRoot.forEach(element => {
                kon[element['nickName']] = element['userId']
              })
@@ -1171,7 +1187,7 @@
              for(let i in this.userOptions){
                this.userList.push(this.userOptions[i].value)
              }
              console.log(this.userList,'userListuserListuserList')
                console.log(this.userList,'userListuserListuserList99999999999999')
              this.loading1 = false;
            }
          );
@@ -1256,7 +1272,7 @@
        // 将所有请求存储起来
        const promises = [];
        for (const item of this.travelpriceList) {
          const promise = listTravelBase({ cid: item.id }).then(result => {
          const promise = listTravelBase(item.id).then(result => {
              console.log(result.data)
            travelBaseMap[item.id] = result.data;
          });
@@ -1430,7 +1446,7 @@
    },
    handleCheck1(row){
      const id = row.id;
      alert(id)
     // alert(id)
      this.$router.push("/self/travel/travelInfo/" + id);
    },
    /** 修改按钮操作 */
ruoyi-ui/src/views/travel/travelInfo.vue
@@ -714,6 +714,14 @@
</script>
<style scoped>
    .el-table__row.statistics-warning-row {
      background: #E0EEFE;
    }
    .el-table__row.statistics-warning-row1 {
      background: #FFEFF2;
    }
.app-container{
  background-color: #FEF7FC;
}