Tcsm
2023-09-11 25bcf1541e231adc9992fff9ae9c361e66e3d711
ruoyi-ui/src/views/self/show.vue
@@ -1,5 +1,5 @@
<template>
  <div class="app-container">
  <div class="app-container" id="printable-content">
    <!--  刷新页面  -->
<!--    <MyComponent :key="componentKey" />-->
    <!--    回到顶部-->
@@ -8,35 +8,40 @@
                 class="el-icon-top"
      ></el-button>
    </el-backtop>
    <h1 style="font-size:21px;padding-top:30px;display: flex;justify-content: space-between;align-items: center;">
    <h1 style="font-size:21px;padding-top:30px;display: flex;">
      <span>个人简历</span>
      <div class="button-container">
      <div class="button-container" >
          <el-button
            size="mini"
            type="primary"
            style="background: #E0EEFE;
            border-radius: 7px 7px 7px 7px;opacity: 1; margin-left: 20px;"
            @click="handleEdit()"
            v-if="isShow"
            v-hasPermi="['system:role:edit']"
          >编辑</el-button>
          <el-button v-if="isShow_2" type="primary" @click="submitForm" :disabled="dsb">完成</el-button>
          <el-button v-if="isShow_2" size="mini"
                     style=" width: 67px;height: 27px;background:#E0EEFE;
            border-radius: 7px 7px 7px 7px;opacity: 1;margin-left: 20px; "@click="submitForm" :disabled="dsb">完成</el-button>
          <el-button
            size="mini"
            type="primary"
            style=" width: 67px;height: 27px;background: #D2F3E0;
            border-radius: 7px 7px 7px 7px;opacity: 1;margin-left: 20px; "
            @click="handleExport"
            v-hasPermi="['family:note:export']"
          >导出</el-button>
          <el-button
            size="mini"
            type="primary"
            style=" width: 67px;height: 27px;background: #FFDDE3;
            border-radius: 7px 7px 7px 7px;opacity: 1; margin-left: 20px;"
            v-print="'#printable-content'"
            v-hasPermi="['family:note:export']"
          >打印</el-button>
      </div>
      <div   style="display: flex; align-items: center;">
        <el-button size="mini" type="text" @click="toMemo" v-hasPermi="['person:information:memo']">
          <div class="form" ><el-icon  style="padding-right:110px;"></el-icon>
        <el-button size="mini" type="text" @click="toMemo" v-hasPermi="['person:information:memo']" style="margin-left: 20px">
          <div class="form" ><el-icon  style="padding-right:100px;"></el-icon>
          <span class="text" style="width: 69px;height: 26px;font-size: 16px;
            font-family: Microsoft YaHei-Regular, Microsoft YaHei; color: #EBA4AA;">个人记事本</span></div>
        </el-button>
@@ -51,19 +56,19 @@
          <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="5">
              <el-row :span="6">
                <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="5">
              <el-row :span="6">
                <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="5">
              <el-row :span="6">
                <el-form-item label="身份证号" prop="idNum" label-width="70px">
                  <el-input v-model="individualList.idNum" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
                  </el-input>
@@ -73,7 +78,7 @@
          </el-col>
        </el-container>
      </div>
      <div style="padding-left:30px">
      <div style="padding-left:60px">
        <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">
@@ -108,7 +113,7 @@
          </el-col>
        </el-container>
      </div>
      <div style="padding-left:30px">
      <div style="padding-left:60px">
        <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">
@@ -140,7 +145,7 @@
          </el-col>
        </el-container>
      </div>
      <div style="padding-left:30px;padding-top:30px">
      <div style="padding-left:100px;padding-top:30px">
        <el-col :span="6" :data="individualList">
          <div class="block" :model="individualList">
            <div v-if="!isEditing">
@@ -223,7 +228,7 @@
          </el-col>
        </el-container>
      </div>
      <div style="padding-left:30px">
      <div style="padding-left:60px">
        <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">
@@ -622,10 +627,12 @@
          </el-input>
        </el-form-item>
        <el-form-item label="证件类型" prop="type">
          <el-select v-model="formDat.type" placeholder="请选择类型" clearable :style="{width: '100%'}"  >
          <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%'}" >
@@ -730,12 +737,11 @@
import axios from 'axios';
//在system/note/index.js中导入接口函数  --接好了
import {
  getIndividualList, addIndividual, updateIndividual, delIndividual,
import {getIndividualList, addIndividual, updateIndividual, delIndividual,
  listExperience, addExperience, updateExperience, delExperience,
  getIndividualRelation, addRelation, updateRelation, delRelation,
  getCertificateList, addCertificate, updateCertificate, delCertificate,
  getAbroadList, addAbroad, updateAbroad, delAbroad,
  getAbroadList, addAbroad, updateAbroad, delAbroad,listType,
  getAutobiographyList, getAutobiographyTermList, addAutobiography,updateAutobiography,
  getCategory,
} from "@/api/self/index";
@@ -787,6 +793,7 @@
      relationList:[],
      //出入境证件情况
      certificateList:[],
      typeList:[],
      //出国情况
      AbroadList:[],
@@ -1012,16 +1019,9 @@
      },
      selectedOption:'',
      typeOptions:[],
      typeOption: [{
        value:'护照',
        label:'护照'
      },{
        value:'通行证',
        label:'通行证'
      },{
        value:'身份证',
        label:'身份证'
      }],
      typeOption:[],
      newOption: undefined,
      showInput: true
    };
  },
  created() {
@@ -1097,7 +1097,14 @@
        return '——————'
      }
    },
//类别
    addNewOption() {
      const newOption = this.newOption.trim();
      if (newOption && !this.typeOption.includes(newOption)) {
        this.typeOption.push(newOption);
        this.$set(this.formDat, 'type', newOption); // 更新formDat.type的值为新的选项
      }
    },
    /** 查询角色列表 */
    getList() {
      this.loading = true;
@@ -1165,6 +1172,32 @@
      //   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;
      }, []);
    },
    //图片的上传及上传按钮隐藏
@@ -1689,9 +1722,7 @@
  background: #FFEFF2;
}
/*.co-item{*/
/*  background-color: #EBAFB4;*/
/*}*/
.el-collapse-item__header {
  background-color:#FEF7FC;
}
@@ -1706,9 +1737,13 @@
.btn_edit{
  background:center no-repeat url('../../assets/icons/edit.png') ;
}
.button-container {
  text-align: right;
  /*right:40px*/
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-grow: 1;
}
.button {
  background:center no-repeat url('../../assets/icons/add1.png') ;