Tcsm
2023-04-12 6de4ec8ac6822f22745c9bd059487a743e836e02
4.12日提交通讯录模块和成长经历模块
2个文件已修改
2个文件已添加
637 ■■■■ 已修改文件
ruoyi-ui/src/assets/icons/top.png 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/contacts/contactsInfo.vue 396 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/contacts/index.vue 137 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/self/show.vue 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/assets/icons/top.png
ruoyi-ui/src/views/contacts/contactsInfo.vue
New file
@@ -0,0 +1,396 @@
<template>
  <div class="app-container">
    <div class="form-header mt">
      <h4 class="dt h4">通讯录详细信息 </h4>
      <el-button type="primary" class="pt"  icon="el-icon-edit" @click="handleEdit()" :disabled="btn">编辑</el-button>
      <!--      <br>-->
      <!--      <el-button type="primary" class="pt"   @click="handleExport"-->
      <!--                 v-hasPermi="['self:user:export']" >导出</el-button>-->
    </div>
    <el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px">
      <!--      <el-form-item label="id" prop="id">-->
      <!--        <el-input v-model="formData.id" placeholder="请输入id" :maxlength="11" show-word-limit :disabled="true"-->
      <!--                  clearable prefix-icon='el-icon-mobile' :style="{width: '100%'}"></el-input>-->
      <!--      </el-form-item>-->
      <el-form-item label="成员姓名" prop="myName">
        <el-input v-model="formData.myName" placeholder="请输入成员姓名" clearable :style="{width: '100%'}" :disabled="dsb">
        </el-input>
      </el-form-item>
      <el-form-item label="称呼" prop="nickName">
        <el-input v-model="formData.nickName" placeholder="请输入称呼" clearable :style="{width: '100%'}" :disabled="dsb">
        </el-input>
      </el-form-item>
      <el-form-item label="姓名" prop="name">
        <el-input v-model="formData.name" placeholder="请输入姓名" clearable :style="{width: '100%'}" :disabled="dsb">
        </el-input>
      </el-form-item>
      <el-form-item label="工作单位" prop="work">
        <el-input v-model="formData.work" placeholder="请输入具体位置" clearable :style="{width: '100%'}" :disabled="dsb">
        </el-input>
      </el-form-item>
      <el-form-item label="手机" prop="phone">
        <el-input v-model="formData.phone" placeholder="请输入手机" clearable :style="{width: '100%'}" :disabled="dsb">
        </el-input>
      </el-form-item>
      <el-form-item label="微信" prop="wx">
        <el-input v-model="formData.wx" placeholder="请输入微信" clearable :style="{width: '100%'}" :disabled="dsb">
        </el-input>
      </el-form-item>
      <el-form-item label="QQ" prop="qq">
        <el-input v-model="formData.qq" placeholder="请输入QQ" clearable :style="{width: '100%'}" :disabled="dsb">
        </el-input>
      </el-form-item>
      <el-form-item label="twitter" prop="twitter">
        <el-input v-model="formData.twitter" placeholder="请输入twitter" clearable :style="{width: '100%'}" :disabled="dsb">
        </el-input>
      </el-form-item>
      <el-form-item label="是否常联系" prop="isAlways">
        <el-input v-model="formData.isAlways" placeholder="是否常联系" clearable :style="{width: '100%'}" :disabled="dsb">
        </el-input>
      </el-form-item>
      <el-form-item label="备注(是否存在金钱关系)" prop="remark">
        <el-input v-model="formData.remark" placeholder="请输入备注" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
      </el-form-item>
      <h4 class="form-header">电子名片 </h4>
      <el-upload
        action="#"
        list-type="picture-card"
        multiple
        :http-request="requestUpload"
        :file-list="fileList"
      >
        <i slot="default" class="el-icon-plus"></i>
        <div slot="file" slot-scope="{file}">
          <img
            class="el-upload-list__item-thumbnail"
            :src="file.url"
            alt=""
            style="width: 147px; height: 147px"
            fit="cover"
            :preview-src-list="[file.url]"
          >
          <span class="el-upload-list__item-actions">
        <span
          class="el-upload-list__item-preview"
          @click="handlePictureCardPreview(file)"
        >
          <i class="el-icon-zoom-in"></i>
        </span>
        <span
          v-if="!disabled"
          class="el-upload-list__item-delete"
          @click="handleDownload(file.url)"
        >
          <i class="el-icon-download"></i>
        </span>
        <span
          v-if="!disabled"
          class="el-upload-list__item-delete"
          @click="handleRemove(file)"
        >
          <i class="el-icon-delete"></i>
        </span>
      </span>
        </div>
      </el-upload>
      <h4 class="form-header">其他附件 </h4>
      <el-upload
        action=""
        :file-list="fileListOther"
        class="upload-demo"
        multiple
        :on-preview="handlePreview"
        :on-remove="handleRemove"
        :http-request="requestUpload"
        :show-file-list="true"
      >
        <el-button type="primary">点击上传</el-button>
        <template #tip>
          <div class="el-upload__tip">
          </div>
        </template>
      </el-upload>
      <el-form-item size="large">
        <el-button type="primary" @click="submitForm" :disabled="dsb">修改</el-button>
      </el-form-item>
    </el-form>
    <el-dialog  :visible.sync="dialogVisible">
      <img w-full :src="dialogImageUrl" alt="Preview Image" />
    </el-dialog>
  </div>
</template>
<script>
import {getContactList, getContactIdList, addContact,updateContact, download,delContact,uploadPic} from "@/api/contacts/index";
import {addRole, updateRole} from "@/api/system/role";
import {blobValidate} from "@/utils/ruoyi";
import errorCode from "@/utils/errorCode";
import {Message} from "element-ui";
export default {
  components: {},
  props: [],
  data() {
    return {
      cdi:"通讯录详细信息",
      udi:"通讯录信息详情",
      fot:[".jpg",".jif"],
      fileList:[
      ],
      fileListOther:[
      ],
      dsb:true,
      btn:false,
      // 通讯录表格数据
      contactList: [],
      formData: {
        //通讯录
        id:undefined,
        myName:undefined,
        nickName:undefined,
        name:undefined,
        work:undefined,
        phone:undefined,
        wx:undefined,
        qq:undefined,
        twitter:undefined,
        isAlways:undefined,
        remark:undefined,
        url: undefined,
      },
      dialogImageUrl: '',
      dialogVisible: false,
      disabled: false,
      rules: {
        id: [{
          required: true,
          message: '请输入id',
          trigger: 'blur'
        }],
        myName: [{
          required: true,
          message: '请输入成员姓名',
          trigger: 'blur'
        }],
        nickName: [{
          required: true,
          message: '请输入称呼',
          trigger: 'blur'
        }],
        name: [{
          required: true,
          message: '请输入姓名',
          trigger: 'blur'
        }],
        address: [{
          required: true,
          message: '请输入具体位置',
          trigger: 'blur'
        }],
        remark: [{
          // required: true,
          message: '请输入备注',
          trigger: 'blur'
        }],
      },
      typeOptions: [],
    }
  },
  computed: {},
  watch: {},
  created() {
    const id = this.$route.params && this.$route.params.id;
    let jd;
    if(this.$route.query.detail!=undefined)
    {
      jd =  this.$route.query.detail
      this.btn= jd
      this.dsb = !jd
      document.title = "修改通讯录详细信息";
      this.$route.meta.title = "修改通讯录详细信息";//列表的名称
    }
    else{
      document.title = "查看通讯录详细信息";
      this.$route.meta.title = "查看通讯录详细信息";//列表的名称
    }
    let _this = this
    if (id) {
      this.loading = true;
      getContactIdList(id).then((response) => {
        this.formData = response.data;
        let paths = response.data.url.split(",");
        for(let i = 0; i < paths.length; i++)
        {
          if(paths[i]!="") {
            let pth = paths[i].substr(paths[i].length - 4, paths[i].length)
            if (_this.fot.includes(pth) === true)
              _this.fileList.push({name:paths[i],url: process.env.VUE_APP_BASE_TRUE_API+paths[i]})
            else {
              // alert(paths[i])
              let nms = paths[i].split("\/")
              let nm = nms[nms.length - 1]
              _this.fileListOther.push({name:nm, url: process.env.VUE_APP_BASE_TRUE_API+paths[i]})
            }
          }
        }
        this.loading = false;
      });
      this.getCateInfor()
    }
  },
  mounted() {},
  methods: {
    /** 查询类别信息 */
    // getCateInfor()
    // {
    //   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]})
    //     })
    //   })
    // },
    submitForm() {
      let ul = this.fileList.map(function (elem){
        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
      }).join(",")
      let uls = this.fileListOther.map(function (elem){
        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
      }).join(",")
      this.formData.url = ul+","+uls
      this.$refs['elForm'].validate(valid => {
        if (valid) {
          if (this.formData.id != undefined) {
            updateContact(this.formData).then(response => {
              this.$modal.msgSuccess("修改成功");
              // this.open = false;
              this.btn=false
            });
          } else {
            this.$modal.msgSuccess("修改失败");
          }
        }
      })
    },
    resetForm() {
      this.$refs['elForm'].resetFields()
    },
    handlePreview(file)
    {
      let formData = {'path':"/"+file.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")};
      let lens = formData.path.split(".")
      let suffix = lens[lens.length-1]
      download(formData).then(async (response) => {
        const isLogin = await blobValidate(response);
        let nt = new Date().getTime()
        let filename = 'property_'+nt+'.'+suffix
        const blob = new Blob([response])
        saveAs(blob, filename)
      })
    },
    handleRemoveFile(file) {
      alert(23)
    },
    handleRemove(file) {
      alert(323)
    },
    handlePictureCardPreview(file) {
      this.dialogImageUrl = file.url;
      this.dialogVisible = true;
    },
    handleDownload(url) {
      var formData = {'path':"/"+url.replace(process.env.VUE_APP_BASE_TRUE_API,"")};
      let lens = formData.path.split(".")
      let suffix = lens[lens.length-1]
      download(formData).then(async (response) => {
        const isLogin = await blobValidate(response);
        let nt = new Date().getTime()
        let filename = 'property_'+nt+'.'+suffix
        const blob = new Blob([response])
        saveAs(blob, filename)
      })
    },
    handleEdit()
    {
      this.dsb = false
      this.btn = true
    },
    requestUpload(params)
    {
      var file = params.file;
      var formData = new FormData();
      formData.append('uploadFile', file);
      let _this = this
      uploadPic(formData).then(response => {
        let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length)
        if(_this.fot.includes(pth) === true)
        {
          _this.fileList.push({name:response.data.fileName, "url":response.data.url})
        }
        else{
          _this.fileListOther.push({name:response.data.fileName, url:response.data.url})
        }
      })
    },
    /** 导出按钮操作 */
    handleExport() {
      this.download('/zfContact/export', {
        ...this.queryParams
      }, `zfContact_${new Date().getTime()}.xlsx`)
    }
  }
}
</script>
<style scoped>
.mt
{
  position: relative;
}
.dt{
  display: block;
}
.pt{
  right: 10px;
  top:-3px;
  display: block;
  position: absolute;
}
</style>
ruoyi-ui/src/views/contacts/index.vue
@@ -1,15 +1,21 @@
<template>
  <div class="app-container">
    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
      <el-form-item label="" prop="id" style="padding-left:30px">
      <el-form-item label="" prop="phone wx qq twitter isAlways remark" >
        <el-input
          v-model="queryParams.id"
          v-model:phone="queryParams.phone"
          v-model:wx="queryParams.wx"
          v-model:qq="queryParams.qq"
          v-model:twitter="queryParams.twitter"
          v-model:isAlways="queryParams.isAlways"
          v-model:remark="queryParams.remark"
          placeholder="在“通讯录”中搜索"
          clearable
          style="width: 240px"
          @keyup.enter.native="handleQuery">
          <i slot="prefix" class="el-input__icon el-icon-search"></i>
        </el-input>
        <!--        v-model="queryParams.id"-->
      </el-form-item>
      <el-form-item label="成员姓名" prop="myName" style="padding-left:180px">
@@ -111,25 +117,36 @@
    </el-row>
    <el-table v-loading="loading" :data="contactList" @selection-change="handleSelectionChange">
      <el-table-column type="selection" width="55"  align="center" />
      <el-table-column label="成员姓名" prop="myName" sortable width="100" />
      <el-table-column label="称呼" prop="nickName" sortable :show-overflow-tooltip="true" width="100" />
      <el-table-column label="姓名" prop="name" sortable :show-overflow-tooltip="true" width="100" />
      <el-table-column label="工作单位" prop="work" sortable width="100" />
      <el-table-column label="手机" prop="phone" sortable width="120" />
      <el-table-column label="其它联系方式" prop="wx qq twitter" sortable width="150" >
      <el-table-column type="selection" width="25"  align="center" />
      <el-table-column label="成员姓名" prop="myName" sortable width="100" >
        <template slot-scope="scope">
          {{scope.row.wx}}/
          {{scope.row.qq}}/
          <div>
            <a href="javascript:;" @click="handleCheck(scope.row)">{{scope.row.myName}}</a>
          </div>
        </template>
      </el-table-column>
      <el-table-column label="称呼" prop="nickName" sortable :show-overflow-tooltip="true" width="80" />
      <el-table-column label="姓名" prop="name" sortable :show-overflow-tooltip="true" width="80" />
      <el-table-column label="工作单位" prop="work" sortable width="100" />
      <el-table-column label="手机" prop="phone" sortable width="110" />
      <el-table-column label="其它联系方式" prop="wx qq twitter" sortable width="130" >
        <template slot-scope="scope">
          {{scope.row.wx}}<br>
          {{scope.row.qq}}<br>
          {{scope.row.twitter}}
        </template>
      </el-table-column>
      <el-table-column label="是否常联系" prop="isAlways" sortable width="120" />
      <el-table-column label="是否常联系" prop="isAlways" sortable width="120" >
        <template slot-scope="scope">
          <span v-if="scope.row.isAlways===1">是</span>
          <span v-if="scope.row.isAlways===0">否</span>
        </template>
      </el-table-column>
      <el-table-column label="电子名片" prop="url" align="center" sortable  width="180">
<!--        <el-image-->
<!--          :src="'http://47.93.189.255:8080/'+ contactList.url"-->
<!--          :fit="fit"-->
<!--        ></el-image>-->
        <template slot-scope="scope">
          <el-image style="width: 100px; height: 100px" :src="'http://47.93.189.255:8080/'+ scope.row.url" fit="cover"></el-image>
        </template>
      </el-table-column>
      <el-table-column label="备注(是否存在金钱关系)" prop="remark" sortable width="120" />
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
@@ -174,39 +191,47 @@
    <!-- 添加通讯录配置对话框 -->
    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
      <el-form ref="elForm" :model="contactList" :rules="rules" size="medium" label-width="100px">
      <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="100px">
        <el-form-item label="成员姓名" prop="myName">
          <el-input v-model="contactList.myName" placeholder="请输入成员姓名" clearable :style="{width: '100%'}" >
          <el-input v-model="formDat.myName" placeholder="请输入成员姓名" clearable :style="{width: '100%'}" >
        </el-input>
        </el-form-item>
        <el-form-item label="称呼" prop="nickName">
          <el-input v-model="contactList.nickName" placeholder="请输入称呼" clearable :style="{width: '100%'}" ></el-input>
          <el-input v-model="formDat.nickName" placeholder="请输入称呼" clearable :style="{width: '100%'}" ></el-input>
        </el-form-item>
        <el-form-item label="姓名" prop="name">
          <el-input v-model="contactList.name" placeholder="请输入姓名" clearable :style="{width: '100%'}" >
          <el-input v-model="formDat.name" placeholder="请输入姓名" clearable :style="{width: '100%'}" >
          </el-input>
        </el-form-item>
        <el-form-item label="工作单位" prop="work">
          <el-input v-model="contactList.work" placeholder="请输入工作单位" clearable :style="{width: '100%'}" >
          <el-input v-model="formDat.work" placeholder="请输入工作单位" clearable :style="{width: '100%'}" >
          </el-input>
        </el-form-item>
        <el-form-item label="手机" prop="phone">
          <el-input v-model="contactList.phone" placeholder="请输入手机" clearable :style="{width: '100%'}" >
          <el-input v-model="formDat.phone" placeholder="请输入手机" clearable :style="{width: '100%'}" >
          </el-input>
        </el-form-item>
        <el-form-item label="其它联系方式" prop="wx">
          <el-input v-model="contactList.wx" placeholder="请输入其它联系方式" clearable :style="{width: '100%'}" >
        <el-form-item label="微信" prop="wx">
          <el-input v-model="formDat.wx" placeholder="请输入微信" clearable :style="{width: '100%'}" >
          </el-input>
        </el-form-item>
        <el-form-item label="QQ" prop="qq">
          <el-input v-model="formDat.qq" placeholder="请输入QQ" clearable :style="{width: '100%'}" >
          </el-input>
        </el-form-item>
        <el-form-item label="twitter" prop="twitter">
          <el-input v-model="formDat.twitter" placeholder="请输入twitter" clearable :style="{width: '100%'}" >
          </el-input>
        </el-form-item>
        <el-form-item label="是否常联系" prop="isAlways">
          <el-input v-model="contactList.isAlways" placeholder="是否常联系" clearable :style="{width: '100%'}" >
          <el-input v-model="formDat.isAlways" placeholder="是否常联系" clearable :style="{width: '100%'}" >
          </el-input>
        </el-form-item>
        <el-form-item label="备注(是否存在金钱关系)" prop="remark">
          <el-input v-model="contactList.remark" placeholder="请输入备注" clearable :style="{width: '100%'}" ></el-input>
          <el-input v-model="formDat.remark" placeholder="请输入备注" clearable :style="{width: '100%'}" ></el-input>
        </el-form-item>
        <h4 class="form-header">电子名片 </h4>
@@ -288,7 +313,7 @@
//在system/note/index.js中导入接口函数
//导入接口函数
import {getContactList, getContactIdList, addContact,updateContact, delContact,uploadPic} from "@/api/contacts/index";
export default {
  name: "index",
@@ -372,6 +397,13 @@
        nickName:undefined,
        name:undefined,
        work:undefined,
        phone:undefined,
        wx:undefined,
        qq:undefined,
        twitter:undefined,
        isAlways:undefined,
        remark:undefined,
      },
      // 表单参数
      form: {},
@@ -381,11 +413,11 @@
      },
      // 表单校验
      rules: {
        id: [{
          required: true,
          message: '请输入id',
          trigger: 'blur'
        }],
        // id: [{
        //   required: true,
        //   message: '请输入id',
        //   trigger: 'blur'
        // }],
        myName: [{
          required: true,
          message: '请输入成员姓名',
@@ -402,11 +434,40 @@
          trigger: 'blur'
        }],
        work: [{
          required: true,
          // required: true,
          message: '请输入工作单位',
          trigger: 'blur'
        }],
        phone: [{
          // required: true,
          message: '请输入手机',
          trigger: 'blur'
        }],
        wx: [{
          // required: true,
          message: '请输入微信',
          trigger: 'blur'
        }],
        qq: [{
          // required: true,
          message: '请输入QQ',
          trigger: 'blur'
        }],
        twitter: [{
          // required: true,
          message: '请输入twitter',
          trigger: 'blur'
        }],
        isAlways: [{
          // required: true,
          message: '是否常联系',
          trigger: 'blur'
        }],
        remark: [{
          // required: true,
          message: '请输入备注',
          trigger: 'blur'
        }],
      },
      typeOptions: [],
    };
@@ -514,7 +575,7 @@
    /** 查看详细信息 */
    handleCheck(row){
      const id = row.id;
      this.$router.push("/tongxunlu/contacts/propertyInfo/" + id);
      this.$router.push("/tongxunlu/contacts/contactsInfo/" + id);
    },
    /** 修改按钮操作 */
    handleUpdate(row) {
@@ -522,7 +583,7 @@
      let jd = true
      this.$router.push({
        path:"/tongxunlu/contacts/propertyInfo/" + id,
        path:"/tongxunlu/contacts/contactsInfo/" + id,
        query:{
          detail:jd
        }
@@ -590,9 +651,9 @@
    },
    /** 导出按钮操作 */
    handleExport() {
      this.download('family/property/export', {
      this.download('zfContact/export', {
        ...this.queryParams
      }, `property_${new Date().getTime()}.xlsx`)
      }, `zfContact_${new Date().getTime()}.xlsx`)
    }
  }
};
ruoyi-ui/src/views/self/show.vue
@@ -1,29 +1,34 @@
<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">个人简历</h1>
    <el-divider />
<!--    基本信息-->
    <h2 style="font-size:16px">基本信息</h2>
    <el-container>
      <div style="padding-left:30px">
      <div >
        <el-container >
          <el-col >
            <el-form ref="elForm" :model="individualList" :rules="rules" size="medium"  label-position="left"
                     v-loading="loading" :data="individualList" @selection-change="handleSelectionChange" >
              <el-row :span="7">
              <el-row :span="5">
                <el-form-item label="姓名" prop="nickName" label-width="40px">
                  <el-input v-model="individualList.nickName" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
                  </el-input>
                </el-form-item>
              </el-row>
              <el-row :span="7">
              <el-row :span="5">
                <el-form-item label="曾用名" prop="oldName" label-width="60px">
                  <el-input v-model="individualList.oldName" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
                  </el-input>
                </el-form-item>
              </el-row>
              <el-row :span="7">
              <el-row :span="5">
                <el-form-item label="身份证号" prop="idNum" label-width="70px">
                  <el-input v-model="individualList.idNum" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
                  </el-input>
@@ -33,23 +38,23 @@
          </el-col>
        </el-container>
      </div>
      <div style="padding-left:70px">
      <div style="padding-left:30px">
        <el-container>
          <el-col v-loading="loading" :data="individualList" @selection-change="handleSelectionChange">
            <el-form ref="elForm" :model="individualList" :rules="rules" size="medium"  label-position="left">
              <el-row :span="6">
              <el-row :span="5">
                <el-form-item label="性别" prop="sex" label-width="40px">
                  <el-input v-model="individualList.sex" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
                  <el-input v-model="individualList.sex === 1 ? '男':'女' " placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
                  </el-input>
                </el-form-item>
              </el-row>
              <el-row :span="6">
              <el-row :span="5">
                <el-form-item label="民族" prop="nation"label-width="40px">
                  <el-input v-model="individualList.nation" placeholder="" clearable :style="{width: '100%'}":disabled="dsb">
                  </el-input>
                </el-form-item>
              </el-row>
              <el-row :span="8">
              <el-row :span="5">
                <el-form-item label="联系方式" prop="phoneNumber" label-width="70px">
                  <el-input v-model="individualList.phoneNumber" placeholder="" clearable :style="{width: '100%'}":disabled="dsb">
                  </el-input>
@@ -59,19 +64,19 @@
          </el-col>
        </el-container>
      </div>
      <div style="padding-left:70px">
      <div style="padding-left:30px">
        <el-container>
          <el-col v-loading="loading" :data="individualList" @selection-change="handleSelectionChange">
            <el-form ref="elForm" :model="individualList" :rules="rules" size="medium"  label-position="left":disabled="dsb">
              <el-row :span="6">
              <el-row :span="5">
                <el-form-item label="国籍" prop="nationality" label-width="40px">
                  <el-input v-model="individualList.nationality" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
                  </el-input>
                </el-form-item>
              </el-row>
              <el-row :span="6">
              <el-row :span="5">
                <el-form-item label="婚姻状况" prop="maritalStatus" label-width="70px">
                  <el-input v-model="individualList.maritalStatus" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
                  <el-input v-model="individualList.maritalStatus === 1 ? '已婚':'未婚'" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
                  </el-input>
                </el-form-item>
              </el-row>
@@ -80,7 +85,7 @@
          </el-col>
        </el-container>
      </div>
      <div style="padding-left:90px;padding-top:30px">
      <div style="padding-left:30px;padding-top:30px">
        <el-col :span="6" :data="individualList">
            <div class="block" :model="individualList" >
              <el-col v-model="individualList.url" prop="url">
@@ -123,7 +128,7 @@
<!--        </el-row>-->
      </div>
      <div style="padding-left:50px;padding-top:30px"  >
      <div style="padding-left:30px;padding-top:30px" >
        <el-container >
<!--          <template slot-scope="scope" v-if="scope.row.roleId !== 1">-->
<!--            <el-button-->
@@ -136,20 +141,17 @@
<!--          </template>-->
          <el-row :span="2" style="flex-direction: column;">
          <el-row  >
            <el-button
              type="primary"
              @click="handleUpdate(scope.row)"
              v-hasPermi="['system:role:edit']"
            >编辑</el-button>
<!--            <el-dropdown-->
<!--              size="mini"-->
<!--              @command="(command) => handleCommand(command, scope.row)"-->
<!--              v-hasPermi="['system:role:edit']">-->
            <!--              v-hasPermi="['system:role:edit']">    person:information:edit   -->
<!--              <el-button-->
<!--                size="mini"-->
<!--                type="text"-->
@@ -159,14 +161,11 @@
<!--            </el-dropdown>-->
            <br>
              <el-button
                type="primary"
                @click="handleExport"
                v-hasPermi="['self:user:export']"
              >导出</el-button>
          </el-row>
        </el-container>
@@ -174,7 +173,7 @@
<!--      </el-dialog>-->
    </el-container>
    <el-container>
      <div style="padding-left:30px">
      <div>
        <el-container>
          <el-col v-loading="loading" :data="individualList" @selection-change="handleSelectionChange">
            <el-form ref="elForm" :model="individualList" :rules="rules" size="medium"  label-position="left">
@@ -250,7 +249,7 @@
                size="mini"
                type="text"
                icon="el-icon-delete"
                @click="handleDelete(scope.row)"
                @click="handleExperienceDelete(scope.row)"
                v-hasPermi="['system:role:remove']"
              >删除</el-button>
              <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:role:edit']">
@@ -284,7 +283,7 @@
                size="mini"
                type="text"
                icon="el-icon-delete"
                @click="handleDelete(scope.row)"
                @click="handleCertificateDelete(scope.row)"
                v-hasPermi="['system:role:remove']"
              >删除</el-button>
              <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:role:edit']">
@@ -396,6 +395,7 @@
import {getIndividualList, getIndividualRelation, delIndividual, updateIndividual, addIndividual,listExperience,updateExperience,
  addExperience,delExperience} from "@/api/self/index";
import {
  delCertificate,
  getAbroadList,
  getAutobiography,
  getAutobiographyList,
@@ -790,14 +790,14 @@
    handleAdd() {
      this.reset();
      this.open = true;
      this.title = "添加家庭大事记信息";
      this.title = "添加个人信息";
    },
    /** 查看详细信息 */
    handleCheck(row){
      const id = row.id;
      this.$router.push("/family1/bignote/familyeventInfo/" + id);
      this.$router.push("/self/self/edit/" + id);
    },
    /** 修改按钮操作 */
    handleUpdate(row) {
@@ -805,7 +805,7 @@
      let jd = true
      this.$router.push({
        path:"/self/self/edit" + id,
        path:"/self/self/edit/" + id,
        query:{
          detail:jd
        }
@@ -816,7 +816,7 @@
      alert(23)
    },
    handleRemove(file) {
      alert(323)
      alert("操作成功")
    },
    handlePictureCardPreview(file) {
      this.dialogImageUrl = file.url;
@@ -861,10 +861,10 @@
      this.$refs["elForm"].validate(valid => {
        if (valid) {
          addFamilyevent(this.formDat).then(response => {
          addIndividual(this.formDat).then(response => {
            this.$modal.msgSuccess("新增成功");
            this.open = false;
            this.getList1();
            this.getList();
          });
        }
      });
@@ -892,13 +892,23 @@
      })
    },
    /** 删除按钮操作 */
    handleDelete(row) {
    /** 删除个人经历按钮操作 */
    handleExperienceDelete(row) {
      const Ids = row.id || this.ids;
      this.$modal.confirm('是否确认删除序号为"' + Ids + '"的数据项?').then(function() {
        return delFamilyevent(Ids);
        return delExperience(Ids);
      }).then(() => {
        this.getList1();
        this.getList();
        this.$modal.msgSuccess("删除成功");
      }).catch(() => {});
    },
    /** 删除持有出入境证件情况按钮操作 */
    handleCertificateDelete(row) {
      const Ids = row.id || this.ids;
      this.$modal.confirm('是否确认删除序号为"' + Ids + '"的数据项?').then(function() {
        return delCertificate(Ids);
      }).then(() => {
        this.getList();
        this.$modal.msgSuccess("删除成功");
      }).catch(() => {});
    },
@@ -913,12 +923,18 @@
</script>
<style>
.uoloadSty {
  width:110px;
  height:110px;
  line-height:110px;
/*.uoloadSty {*/
/*  width:110px;*/
/*  height:110px;*/
/*  line-height:110px;*/
/*}*/
/*.disUoloadSty {*/
/*  display:none;   !* 上传按钮隐藏 *!*/
/*}*/
.el-icon-top {
  background: url("src/assets/icons/top.png");
}
.disUoloadSty {
  display:none;   /* 上传按钮隐藏 */
}
</style>