Tcsm
2023-07-17 b91ae843757fcfb74af04ff85decf8c26b6f4591
ruoyi-ui/src/views/self/show.vue
@@ -44,8 +44,17 @@
            <el-form ref="elForm" :model="individualList" :rules="rules" size="medium"  label-position="left">
              <el-row :span="5">
                <el-form-item label="性别" prop="sex" label-width="40px">
                  <el-input v-model="individualList.sex === 1 ? '男':'女' " placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
                  </el-input>
<!--                  <el-input v-model="individualList.sex === 1 ? '男':'女' " placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">-->
<!--                  </el-input>-->
                  <template v-if="!isEditing">
                    <el-input v-model="individualList.sex === 1 ? '男':'女'" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
                  </template>
                  <template v-else>
                    <el-select v-model="individualList.sex" placeholder="请选择性别" clearable :style="{width: '100%'}">
                      <el-option label="男" value="1"></el-option>
                      <el-option label="女" value="0"></el-option>
                    </el-select>
                  </template>
                </el-form-item>
              </el-row>
              <el-row :span="5">
@@ -76,8 +85,18 @@
              </el-row>
              <el-row :span="5">
                <el-form-item label="婚姻状况" prop="maritalStatus" label-width="70px">
                  <el-input v-model="individualList.maritalStatus === 1 ? '已婚':'未婚'" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">
                  </el-input>
                  <template v-if="!isEditing" >
                    <el-input v-if="individualList.maritalStatus===0" placeholder="未婚"></el-input>
                    <el-input v-if="individualList.maritalStatus===1" placeholder="已婚"></el-input>
                    <el-input v-if="individualList.maritalStatus===2" placeholder="离婚"></el-input>
                  </template>
                  <template v-else>
                    <el-select v-model="individualList.maritalStatus" placeholder="请选择性别" clearable :style="{width: '100%'}">
                      <el-option label="未婚" value="0"></el-option>
                      <el-option label="已婚" value="1"></el-option>
                      <el-option label="离婚" value="2"></el-option>
                    </el-select>
                  </template>
                </el-form-item>
              </el-row>
@@ -88,44 +107,36 @@
      <div style="padding-left:30px;padding-top:30px">
        <el-col :span="6" :data="individualList">
          <div class="block" :model="individualList" >
            <el-col v-model="individualList.url" prop="url">
            <el-col v-model="individualList.img" prop="img">
              <el-avatar shape="square" :size=200 >
                <el-image
                  :src="'http://47.93.189.255:8080/'+ individualList.url"
                  :fit="fit"
                  :src="'http://47.93.189.255:8080/'+ individualList.img"
                ></el-image>
              </el-avatar>
            </el-col>
<!--              <el-upload-->
<!--                action="#"-->
<!--                list-type="picture-card"-->
<!--                multiple-->
<!--                :http-request="requestUpload"-->
<!--                :file-list="fileList"-->
<!--              >-->
<!--                <i slot="default" class="el-icon-plus"></i>-->
<!--                <div slot="file" slot-scope="{file}">-->
<!--                  <img-->
<!--                    class="el-upload-list__item-thumbnail"-->
<!--                    :src="file.url"-->
<!--                    alt=""-->
<!--                    style="width: 147px; height: 147px"-->
<!--                    fit="cover"-->
<!--                    :preview-src-list="[file.url]"-->
<!--                  >-->
<!--                </div>-->
<!--              </el-upload>-->
         </el-col>
          </div>
        </el-col>
        <!--        <el-row>-->
        <!--&lt;!&ndash;          <el-table  border style="width: 100%">&ndash;&gt;-->
        <!--&lt;!&ndash;            <el-table-column&ndash;&gt;-->
        <!--&lt;!&ndash;              prop="img"&ndash;&gt;-->
        <!--&lt;!&ndash;              v-model="individualList.img"&ndash;&gt;-->
        <!--&lt;!&ndash;              placeholder=""&ndash;&gt;-->
        <!--&lt;!&ndash;              width="180">&ndash;&gt;-->
        <!--&lt;!&ndash;              <template slot-scope="scope">&ndash;&gt;-->
        <!--&lt;!&ndash;                <img :src="scope.row.src" style="width:100px;height:50px;"/>&ndash;&gt;-->
        <!--&lt;!&ndash;              </template>&ndash;&gt;-->
        <!--&lt;!&ndash;            </el-table-column>&ndash;&gt;-->
        <!--&lt;!&ndash;          </el-table>&ndash;&gt;-->
        <!--&lt;!&ndash;          <el-upload :class="{uoloadSty:showBtnDealImg,disUoloadSty:noneBtnImg}"&ndash;&gt;-->
        <!--&lt;!&ndash;                      ref="ref1"&ndash;&gt;-->
        <!--&lt;!&ndash;                     action=""&ndash;&gt;-->
        <!--&lt;!&ndash;                     :file-list="fileList"&ndash;&gt;-->
        <!--&lt;!&ndash;                     list-type="picture-card"&ndash;&gt;-->
        <!--&lt;!&ndash;                     accept="image/*"&ndash;&gt;-->
        <!--&lt;!&ndash;                     :auto-upload="false"&ndash;&gt;-->
        <!--&lt;!&ndash;                     :multiple="false"&ndash;&gt;-->
        <!--&lt;!&ndash;                     :limit="limitCountImg">&ndash;&gt;-->
        <!--&lt;!&ndash;            <i class="el-icon-plus"></i>&ndash;&gt;-->
        <!--&lt;!&ndash;          </el-upload>&ndash;&gt;-->
        <!--        </el-row>-->
      </div>
      <div style="padding-left:30px;padding-top:30px" >
@@ -137,6 +148,7 @@
              v-if="isShow"
              v-hasPermi="['system:role:edit']"
            >编辑</el-button>
            <el-button v-if="isShow_2" type="primary" @click="submitForm" :disabled="dsb">完成</el-button>
            <br>
            <el-button
              type="primary"
@@ -144,7 +156,10 @@
              v-hasPermi="['family:note:export']"
            >导出</el-button>
            <br>
            <el-button v-if="isShow_2" type="primary" @click="submitForm" :disabled="dsb">完成</el-button>
            <el-button
              type="primary"
              v-hasPermi="['family:note:export']"
            >打印</el-button>
          </el-row>
        </el-container>
@@ -221,14 +236,45 @@
          </div>
        </template>
        <el-table v-loading="loading" :data="experienceList" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" style="background: #FFEFF2;  border-radius: 14px 14px 14px 14px;">
          <el-table-column label="开始日期" prop="startDate" sortable width="300" align="center" >
            <template slot-scope="scope">{{scope.row.startDate? scope.row.startDate: '————'}}</template>
          <el-table-column label="开始日期" prop="startDate" sortable width="250" align="center" >
            <template slot-scope="scope">
              <template v-if="!scope.row.isEdit">
                {{ scope.row.startDate }}
              </template>
              <template v-else>
                <el-input v-model="scope.row.startDate"></el-input>
              </template>
            </template>
          </el-table-column>
          <el-table-column label="结束日期" prop="endDate" sortable width="250" align="center" >
            <template slot-scope="scope">
              <template v-if="!scope.row.isEdit">
                {{ scope.row.endDate }}
              </template>
              <template v-else>
                <el-input v-model="scope.row.endDate"></el-input>
              </template>
            </template>
          </el-table-column>
          <el-table-column label="主要学习经历、工作单位及任职情况" prop="content" sortable width="350" align="center" >
            <template slot-scope="scope">{{scope.row.content? scope.row.content: '————'}}</template>
            <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">{{scope.row.witness? scope.row.witness: '————'}}</template>
            <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">
@@ -238,9 +284,15 @@
                size="mini"
                type="text"
                icon="el-icon-edit"
                @click="showDialog1"
                v-if="!editStatus[scope.row.id]"
                @click="editRow(scope.row)"
                v-hasPermi="['system:role:edit']"
              >修改</el-button>
              <el-button size="mini"
                         type="text"
                         v-if="editStatus[scope.row.id]"
                         @click="saveRow(scope.row)"
              >保存</el-button>
              <el-button
                size="mini"
                type="text"
@@ -375,9 +427,11 @@
                size="mini"
                type="text"
                icon="el-icon-edit"
                @click="handleAdd"
                v-if="scope.row.isEdit"
                @click="handleEdit"
                v-hasPermi="['system:role:edit']"
              >修改</el-button>
              <el-button v-if="scope.row.isEdit" @click="saveRow(scope.row)">保存</el-button>
              <el-button
                size="mini"
                type="text"
@@ -475,9 +529,9 @@
            <div v-if="item.term === '结婚后'"> {{item.content}}</div>
          </el-tab-pane>
        </el-tabs>
        <el-button size='mini' type="text" class="btn_autobiography" @click="showDialog('autobiography')" style='position: absolute;right:10px;top:5px;'>
          <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn>
        </el-button>
<!--        <el-button size='mini' type="text" class="btn_autobiography" @click="showDialog('autobiography')" style='position: absolute;right:10px;top:5px;'>-->
<!--          <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn>-->
<!--        </el-button>-->
      </div>
    </div>
@@ -495,6 +549,9 @@
      <el-form ref="elForm1" :model="formDat" :rules="rules" size="medium" label-width="140px">
        <el-form-item label="开始日期" prop="startDate">
          <el-input v-model="formDat.startDate" type='date' placeholder='选择日期' clearable :style="{width: '100%'}" ></el-input>
        </el-form-item>
        <el-form-item label="结束日期" prop="endDate">
          <el-input v-model="formDat.endDate" type='date' placeholder='选择日期' clearable :style="{width: '100%'}" ></el-input>
        </el-form-item>
        <el-form-item label="主要学习经历、工作单位及任职情况" prop="content">
          <el-input v-model="formDat.content" type="textarea" :rows="5" placeholder="请输入主要学习经历、工作单位及任职情况" clearable :style="{width: '100%'}" >
@@ -688,12 +745,16 @@
      //头像上传
      showBtnDealImg:true,
      noneBtnImg:false,
      limitCountImg:1,//上传图片的最大数量
      //上传图片的最大数量
      limitCountImg:1,
      //个人信息数据
      individualList:[],
      fit:['fill'],
      isEditing: false,
      // fit:['fill'],
      // 个人经历数据
      experienceList: [],
      // isEdit:true,
      editStatus: {},
      //家庭成员关系数据
      relationList:[],
      //出入境证件情况
@@ -782,6 +843,7 @@
        id:undefined,
        userId:undefined,
        startDate:undefined,
        endDate:undefined,
        content:undefined,
        witness:undefined,
        remark: undefined,
@@ -890,6 +952,11 @@
          message: '请输入起始日期',
          trigger: 'blur'
        }],
        endDate: [{
          // required: true,
          message: '请输入结束日期',
          trigger: 'blur'
        }],
        content: [{
          // required: true,
          message: '请输入',
@@ -902,6 +969,7 @@
        }],
      },
      typeOptions:[],
      typeOption: [{
        value:'护照',
        label:'护照'
@@ -917,6 +985,9 @@
  created() {
    this.getList();
    this.getAutobiographyInfor()
    // this.experienceList.forEach(item => {
    //   this.$set(this.editStatus, item.id, false);
    // });
  },
  methods: {
    // 取消按钮
@@ -964,7 +1035,6 @@
        return '——————'
      }
    },
    /** 查询角色列表 */
    getList() {
@@ -1037,7 +1107,6 @@
    //图片的上传及上传按钮隐藏
    // 取消按钮
    cancel() {
      this.open = false;
@@ -1049,6 +1118,7 @@
      this.reset();
    },
    //个人基本信息
    submitForm() {
      let ul = this.fileList.map(function (elem){
        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
@@ -1060,7 +1130,7 @@
      this.$refs['elForm'].validate(valid => {
        if (valid) {
          if (this.individualList.id !== undefined) {
          if (this.individualList.userId !== undefined) {
            updateIndividual(this.individualList).then(response => {
              this.$modal.msgSuccess("修改成功");
              // this.open = false;
@@ -1072,6 +1142,41 @@
          }
        }
      })
      // 刷新页面
      window.location.reload();
    },
    //主要经历
    editRow(row) {
      this.$set(row, 'isEdit', true);
      this.$set(this.editStatus, row.id, true);
    },
    saveRow(row) {
      // 在这里处理保存修改后的数据的逻辑,可以发送给后端保存
      let ul = this.fileList.map(function (elem){
        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
      }).join(",")
      let uls = this.fileListOther.map(function (elem){
        return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
      }).join(",")
      this.experienceList.url = ul+","+uls
      this.$refs['elForm'].validate(valid => {
        if (valid) {
          if (this.experienceList.id !== undefined) {
            updateExperience(this.experienceList).then(response => {
              this.$modal.msgSuccess("修改成功");
              // this.open = false;
              // this.btn=false
            });
          } else {
            this.$modal.msgSuccess("修改失败");
          }
        }
      })
      this.$set(row, 'isEdit', false);
      this.$set(this.editStatus, row.id, false);
    },
    // 表单重置
    reset() {
@@ -1172,8 +1277,9 @@
      this.btn = true
      this.isShow=false
      this.isShow_2=true
      this.isEditing=true
      // this.isEdit=false
    },
    //修改按钮
    /** 新增按钮操作 */
    handleAdd() {
      this.reset();
@@ -1337,6 +1443,8 @@
    },
    //修改主要经历
    /** 删除个人经历按钮操作 */
    handleExperienceDelete(row) {
      const Ids = row.id || this.ids;