k94314517
2025-07-15 0af8d2525b8e58c3eb2c3eb30bb32ac482d20856
Merge remote-tracking branch 'origin/master'
已添加1个文件
已修改7个文件
514 ■■■■ 文件已修改
admin/src/components/business/OperaIdentityDetailWindow.vue 327 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaMemberDetailWindow.vue 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/layouts/TableLayout.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/router/index.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/identityInfo.vue 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/member.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/dao/business/model/IdentityInfo.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/services/src/main/java/com/doumee/service/business/impl/IdentityInfoServiceImpl.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/components/business/OperaIdentityDetailWindow.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,327 @@
<template>
  <GlobalWindow
    :title="title"
    :visible.sync="visible"
    :withFooter="false"
    width="calc(100% - 250px)"
    :confirm-working="isWorking"
    @close="close"
    @confirm="confirm">
    <div style="width: 100%; position: sticky;padding: 12px 16px; top: 0px; left: 0; z-index: 999; background-color: white">
      <div style="display: flex;background: #e4ecfe;padding: 20px">
        <div style="width: 60px;">
          <div class="home_title" v-if="info">
            <el-image v-if="info.imgurlFull" style="width: 50px; height: 50px;border-radius: 50%;margin-right: 10px" :src="info.imgurlFull"
                      :preview-src-list="[info.imgurlFull]">
            </el-image>
            <el-image v-else style="width: 50px; height: 50px;border-radius: 50%;margin-right: 10px" src="avatar/man.png" >
            </el-image>
          </div>
        </div>
        <div style="width: calc(100% - 60px);">
          <div class="home_title" v-if="info">
            <div class="left">
              <span class="m10">昵称:{{info.nickName }}</span>
              <span class="mr10 bluebtn" :title="'姓名:'+(info.name||'未设置姓名')"  >({{(info.name||'未设置姓名') }})</span>
              <el-tag type="primary" class="mr10 tag1">发单方</el-tag>
              <el-tag type="success" class="mr10 tag1" v-if="info.workerIdentity == 2 || info.driverIdentity == 2 || info.chefIdentity == 2">接单方</el-tag>
            </div>
          </div>
          <div class="remark" v-if="info">
            <el-button  class="bluebtn" icon="el-icon-phone" title="手机号"> {{info.telephone||'未设置' }}</el-button>
            <el-button  class="yellowbtn" icon="el-icon-star-on"  title="平均评分"> {{info.score||'0' }}分</el-button>
            <el-button  class="redbtn" icon="el-icon-coin"  title="账号余额(元)"> {{(info.amount||0).toFixed(2)}}元</el-button>
          </div>
        </div>
      </div>
    </div>
    <div class="main">
      <div class="renzheng"   v-for="item in tableData2">
          <div class="info" >
              <span class="m10" v-if="item.type ==0">用工认证</span>
              <span class="m10" v-if="item.type ==1">货运认证</span>
              <span class="m10" v-if="item.type ==2">供餐认证</span>
              <el-tag type="primary" class="ml10 tag2" v-if="item.auditStatus == 1">认证中</el-tag>
              <el-tag type="success" class="ml10 tag2" v-if="item.auditStatus == 2">认证通过</el-tag>
              <el-tag type="danger" class="ml10 tag2" v-if="item.auditStatus == 3">认证失败</el-tag>
          </div>
          <div class="detail" >
            <div class="line">
              <span class="label"> è®¤è¯ç±»åž‹ï¼š</span> <span class="txt">{{item.authType == 0? '个人':'企业' }}</span>
              <span class="label"> è”系人:</span> <span class="txt">{{item.linkName || '' }}</span>
              <span class="label"> è”系方式:</span> <span class="txt">{{item.telephone || '' }}</span>
            </div>
            <template v-if="item.authType ==1">
              <div class="line">
                <span class="label">单位位置:</span><span class="txt">{{item.location || '' }}</span>
                <span class="label">单位名称:</span><span class="txt">{{item.companyName || '' }}</span>
              </div>
              <div class="line"> <span class="label">认证资料:</span> <span v-if="!item.imgList || item.imgList.length==0" class="txt">无</span> </div>
            </template>
            <template v-else>
              <div class="line">  <span class="label">身份信息:</span> <span v-if="!item.imgList || item.imgList.length==0" class="txt">无</span> </div>
            </template>
              <div class="line" v-if="item.imgList && item.imgList.length>0">
                <div v-for="info in item.imgList" style="display: inline-block">
                  <el-image v-if="info" style="width: 50px; height: 50px; margin-right: 10px" :src="info"
                            :preview-src-list="[info]">
                  </el-image>
                </div>
              </div>
            <div class="line" v-if="item.auditStatus == 3 || item.auditStatus == 2" :style="'background-color: '+(item.auditStatus==2?'#eff8ea':'rgb(253 226 226)')+';padding: 20px'">
              <span class="label"> å®¡æ ¸äººï¼š</span> <span class="txt">{{item.editorName}} </span><span class="label">{{item.auditTime || '' }} </span>
              <div  style="margin-top: 20px"> <span class="label">  å®¡æ ¸ä¿¡æ¯ï¼š</span> <span class="txt">{{item.auditRemark || '' }}</span></div>
          </div>
          </div>
        </div>
    </div>
  </GlobalWindow>
</template>
<script>
import GlobalWindow from '@/components/common/GlobalWindow'
import BaseOpera from '@/components/base/BaseOpera'
import { getById } from '@/api/business/member'
import { fetchList as renzhengList} from '@/api/business/identityInfo'
export default {
  components: {
    GlobalWindow
  },
  extends: BaseOpera,
  data () {
    return {
      id: '',
      memberId: '',
      visible: false,
      activeTabs: 0,
      type: 0,
      info: {},
      pageSize: 10,
      page: 1,
      total: 0,
      tableData: {},
      tableData1: {},
      tableData2:[],
      page0: 1,
      page1: 1,
      loading: false,
      export0: false,
      searchForm: {
        type: 0,
        startTime: null,
        endTime: null,
        optType: null,
        acceptMemberId: -1,
        releaseMemberId: -1,
        transactionNo: null
      }
    }
  },
  methods: {
    open (title, row) {
      this.title = title
      this.visible = true
      this.activeTabs = 0
      this.type = 0
      this.page0 = 1
      this.pageSize = 10
      this.tableData = {}
      this.tableData1 = {}
      this.tableData2 = []
      this.id = row.id
      this.memberId = row.memberId
      this.searchForm = {
        type: 0,
        startTime: null,
        endTime: null,
        optType: null,
        acceptMemberId: -1,
        releaseMemberId: -1,
        transactionNo: null
      }
      this.getData()
    },
    getData () {
      getById(this.memberId)
        .then(res => {
          this.info = res
          this.visible = true
          this.getRenzhengList()
        })
    },
    close () {
    },
    getRenzhengList () {
      this.loading = true
      renzhengList({
        page: 1,
        capacity: 1000000,
        model:{
          memberId: this.memberId || -1,
          id: this.id || -1
        }
      }).then(res => {
        this.loading = false
        this.tableData2 = res.records
      }).catch(e => {
        this.$tip.apiFailed(e)
      }).finally(() => {
        this.loading = false
      })
    }
  }
}
</script>
<style lang="scss" scoped>
@import '@/assets/style/variables.scss';
.renzheng{
  margin: 0px 0px 50px 20px;
  width: calc(100% - 60px);
  .detail{
    font-size: 14px;
    .label{
      color: #8c939d;
    }
    .txt{
      margin-right: 30px;
    }
    .line{
      margin-top: 15px;
    }
  }
  .ml10{
    margin-left: 10px;
  }
  .info{
    font-size: 14px;
    font-weight: bold;
  }
  .tag2{
    font-size: 12px;
  }
}
.home_title {
  .mr10{
    margin-right: 10px;
  }
  .m10{
    margin: 10px;
  }
  .bluebtn{
    color: #2985f7;
  }
  .tag1{
    border-radius: 10px;
    font-size: 10px;
    padding: 0px 15px;
    height: 24px;
  }
  display: flex;
  justify-content: space-between;
  align-items: center;
  .left {
    font-weight: 500;
    font-size: 14px;
    margin-right: 10px;
    display: flex;
    align-items: center;
    .status {
      padding: 0 6px;
      height: 22px;
      line-height: 22px;
      border-radius: 2px;
      border: 1px solid #00BA92;
      color: #00BA92;
      font-weight: 400;
      font-size: 12px;
      color: #00BA92;
    }
  }
}
.tab{
  width: 20%;
}
.remark {
  //background: #E8EBF7;
  border-radius: 2px;
  font-size: 14px;
  margin: 10px 10px 0px -10px;
  button{
    border: none;
    cursor: default;
    margin-right: 20px;
    background: #e4ecfe;
  }
}
.bluebtn{
  font-weight: bold;
  color: #2985f7;
}
.redbtn{
  font-weight: bold;
  color: #ff1b1b;
}
.yellowbtn{
  font-weight: bold;
  color: #fc9d20;
}
.tabs {
  border-bottom: 1px solid #DFE2E8;
  display: flex;
  margin-bottom: 20px;
  .tab {
    height: 58px;
    line-height: 58px;
    font-size: 14px;
    color: #666666;
    margin-right: 30px;
    cursor: pointer;
  }
  .active {
    font-weight: 500;
    color: $primary-color;
    border-bottom: 2px solid $primary-color;
  }
}
.main {
  padding: 12px 16px;
  .title {
    font-weight: 500;
    font-size: 12px;
    color: $primary-color;
    margin-bottom: 15px;
  }
  /deep/ .el-form-item__label{
    font-size: 12px;
  }
  .list {
    display: flex;
    flex-wrap: wrap;
    /*background: #F7F7F7;*/
    border-radius: 2px;
    /*padding: 15px 20px;*/
    margin-bottom: 20px;
    .item {
      font-size: 14px;
      width: 25%;
      margin-bottom: 16px;
      .la {
        color: #7f7f7f;
        margin-bottom: 10px;
      }
    }
  }
}
/deep/ .window__body {
  padding: 0px !important;
}
</style>
admin/src/components/business/OperaMemberDetailWindow.vue
@@ -141,9 +141,9 @@
              <span class="m10" v-if="item.type ==0">用工认证</span>
              <span class="m10" v-if="item.type ==1">货运认证</span>
              <span class="m10" v-if="item.type ==2">供餐认证</span>
              <el-tag type="primary" class="mr10 tag2" v-if="item.auditStatus == 0">认证中</el-tag>
              <el-tag type="success" class="mr10 tag2" v-if="item.auditStatus == 1">认证通过</el-tag>
              <el-tag type="danger" class="mr10 tag2" v-if="item.auditStatus == 2">认证失败</el-tag>
              <el-tag type="primary" class="ml10 tag2" v-if="item.auditStatus == 1">认证中</el-tag>
              <el-tag type="success" class="ml10 tag2" v-if="item.auditStatus == 2">认证通过</el-tag>
              <el-tag type="danger" class="ml10 tag2" v-if="item.auditStatus == 3">认证失败</el-tag>
          </div>
          <div class="detail" >
            <div class="line">
@@ -162,11 +162,15 @@
              <div class="line">  <span class="label">身份信息:</span> <span v-if="!item.imgList || item.imgList.length==0" class="txt">无</span> </div>
            </template>
              <div class="line" v-if="item.imgList && item.imgList.length>0">
                <div v-for="info in item.imgList">
                <div v-for="info in item.imgList" style="display: inline-block">
                  <el-image v-if="info" style="width: 50px; height: 50px; margin-right: 10px" :src="info"
                            :preview-src-list="[info]">
                  </el-image>
                </div>
              </div>
            <div class="line" v-if="item.auditStatus == 3 || item.auditStatus == 2" :style="'background-color: '+(item.auditStatus==2?'#eff8ea':'rgb(253 226 226)')+';padding: 20px'">
              <span class="label"> å®¡æ ¸äººï¼š</span> <span class="txt">{{item.editorName}} </span><span class="label">{{item.auditTime || '' }} </span>
              <div  style="margin-top: 20px"> <span class="label">  å®¡æ ¸ä¿¡æ¯ï¼š</span> <span class="txt">{{item.auditRemark || '' }}</span></div>
              </div>
          </div>
        </div>
@@ -385,6 +389,9 @@
      margin-top: 15px;
    }
  }
  .ml10{
    margin-left: 10px;
  }
  .info{
    font-size: 14px;
    font-weight: bold;
admin/src/layouts/TableLayout.vue
@@ -189,4 +189,13 @@
    }
  }
}
.redstate{
  color: #a10e0e;
}
.greenstate{
  color: #157713;
}
.bluestate{
  color: #2080f7;
}
</style>
admin/src/router/index.js
@@ -104,7 +104,7 @@
  const height = window.innerHeight
  // console.log('beforeEach========================:' + height)
  const height13 = getEleHeghtByClassName('common-header', 0)
  const height4 = getEleHeghtByClassName('table-pagination', 0,-20)
  const height4 = getEleHeghtByClassName('table-pagination', 0,16)
  const height1 = getEleHeghtByClassName('table-search-form', 40, 16)
  const height3 = getEleHeghtByClassName('main-header', 0)
  const height2 = getEleHeghtByClassName('toolbar', 0)
admin/src/views/business/identityInfo.vue
@@ -2,11 +2,18 @@
  <TableLayout :permissions="['business:identityinfo:query']">
    <!-- æœç´¢è¡¨å• -->
    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
      <el-form-item label="类型:0=用工身份;1=货运身份;2=供餐身份;" prop="type">
        <el-input v-model="searchForm.type" placeholder="请输入类型:0=用工身份;1=货运身份;2=供餐身份;" @keypress.enter.native="search"></el-input>
      <el-form-item label="身份类型" prop="type">
        <el-select v-model="searchForm.type" clearable placeholder="请选择身份类型" @change="search">
          <el-option :value="0" label="用工身份"></el-option>
          <el-option :value="1" label="货运身份"></el-option>
          <el-option :value="2" label="供餐身份"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="认证类型:0=个人;1=企业" prop="authType">
        <el-input v-model="searchForm.authType" placeholder="请输入认证类型:0=个人;1=企业" @keypress.enter.native="search"></el-input>
      <el-form-item label="认证类型 " prop="authType">
        <el-select v-model="searchForm.authType" clearable placeholder="请选择认证类型" @change="search">
          <el-option :value="0" label="个人"></el-option>
          <el-option :value="1" label="企业"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="联系人" prop="linkName">
        <el-input v-model="searchForm.linkName" placeholder="请输入联系人" @keypress.enter.native="search"></el-input>
@@ -27,10 +34,10 @@
    </el-form>
    <!-- è¡¨æ ¼å’Œåˆ†é¡µ -->
    <template v-slot:table-wrap>
      <ul class="toolbar" v-permissions="['business:identityinfo:create', 'business:identityinfo:delete']">
<!--      <ul class="toolbar" v-permissions="['business:identityinfo:create', 'business:identityinfo:delete']">
        <li><el-button type="primary" @click="$refs.operaIdentityInfoWindow.open('新建会员身份认证信息表')" icon="el-icon-plus" v-permissions="['business:identityinfo:create']">新建</el-button></li>
        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:identityinfo:delete']">删除</el-button></li>
      </ul>
      </ul>-->
      <el-table
          :height="tableHeightNew"
        v-loading="isWorking.search"
@@ -39,41 +46,50 @@
        @selection-change="handleSelectionChange"
      >
        <el-table-column type="selection" width="55"></el-table-column>
        <el-table-column prop="id" label="主键" min-width="100px"></el-table-column>
        <el-table-column prop="deleted" label="是否已删除 0未删除 1已删除" min-width="100px"></el-table-column>
        <el-table-column prop="createUser" label="创建人编码" min-width="100px"></el-table-column>
        <el-table-column prop="createTime" label="创建时间" min-width="100px"></el-table-column>
        <el-table-column prop="updateUser" label="更新人编码" min-width="100px"></el-table-column>
        <el-table-column prop="updateTime" label="更新时间" min-width="100px"></el-table-column>
        <el-table-column prop="remark" label="备注" min-width="100px"></el-table-column>
        <el-table-column prop="type" label="类型:0=用工身份;1=货运身份;2=供餐身份;" min-width="100px"></el-table-column>
        <el-table-column prop="memberId" label="会员逐渐" min-width="100px"></el-table-column>
        <el-table-column prop="authType" label="认证类型:0=个人;1=企业" min-width="100px"></el-table-column>
        <el-table-column prop="openid" label="openid" min-width="100px"></el-table-column>
        <el-table-column prop="memberName" label="会员昵称" min-width="100px"></el-table-column>
        <el-table-column prop="type" label="类型" min-width="100px">
          <template slot-scope="{row}">
           <span v-if="row.type ==0">用工身份</span>
           <span v-if="row.type ==1">货运身份</span>
           <span v-if="row.type ==2">供餐身份</span>
          </template>
        </el-table-column>
        <el-table-column prop="auditStatus" label="审核状态" min-width="100px">
          <template slot-scope="{row}">
            <span class="bluestate" v-if="row.auditStatus ==1">申请中</span>
            <span class="greenstate" v-if="row.auditStatus ==2">已通过</span>
            <span class="redstate" v-if="row.auditStatus ==3">未通过</span>
          </template>
        </el-table-column>
        <el-table-column prop="authType" label="认证类型" min-width="100px">
          <template slot-scope="{row}">
            <span v-if="row.authType ==0">个人</span>
            <span v-if="row.authType ==1">企业</span>
          </template>
        </el-table-column>
        <el-table-column prop="linkName" label="联系人" min-width="100px"></el-table-column>
        <el-table-column prop="telephone" label="联系方式" min-width="100px"></el-table-column>
        <el-table-column prop="location" label="接单位置" min-width="100px"></el-table-column>
        <el-table-column prop="companyName" label="单位名称" min-width="100px"></el-table-column>
        <el-table-column prop="lat" label="纬度" min-width="100px"></el-table-column>
        <el-table-column prop="lgt" label="经度" min-width="100px"></el-table-column>
        <el-table-column prop="identityFront" label="身份证人像面" min-width="100px"></el-table-column>
        <el-table-column prop="identityBack" label="身份证国徽面" min-width="100px"></el-table-column>
        <el-table-column prop="businessLicense" label="营业执照(企业类使用)" min-width="100px"></el-table-column>
        <el-table-column prop="otherFile" label="其他认证资料(企业类使用)" min-width="100px"></el-table-column>
        <el-table-column prop="transportFile" label="道路运输经验许可证(企业类货运身份使用)" min-width="100px"></el-table-column>
        <el-table-column prop="foodBusinessFile" label="食品经营许可证(企业类供餐身份使用)" min-width="100px"></el-table-column>
        <el-table-column prop="healthFile" label="从业人员健康证" min-width="100px"></el-table-column>
        <el-table-column prop="auditStatus" label="认证审批状态:1=申请中;2=已通过;3=未通过;" min-width="100px"></el-table-column>
        <el-table-column prop="createTime" label="申请时间" min-width="100px"></el-table-column>
        <el-table-column prop="updateUser" label="审核人" min-width="100px"></el-table-column>
        <el-table-column prop="auditTime" label="认证审批时间" min-width="100px"></el-table-column>
        <el-table-column prop="auditRemark" label="认证审批备注" min-width="100px"></el-table-column>
        <el-table-column
          v-if="containPermissions(['business:identityinfo:update', 'business:identityinfo:delete'])"
          v-if="containPermissions(['business:identityinfo:update','business:identityinfo:query'])"
          label="操作"
          min-width="120"
          min-width="160"
          fixed="right"
        >
          <template slot-scope="{row}">
            <el-button type="text" v-if="row.auditStatus==1" @click="$refs.OperaIdentityDetailWindow.open('用户认证审核', row)" icon="el-icon-edit" v-permissions="['business:identityinfo:update']">审核</el-button>
            <el-button type="text"  @click="$refs.OperaIdentityDetailWindow.open('用户认证详情', row)" icon="el-icon-info" >详情</el-button>
<!--
            <el-button type="text" @click="$refs.operaIdentityInfoWindow.open('编辑会员身份认证信息表', row)" icon="el-icon-edit" v-permissions="['business:identityinfo:update']">编辑</el-button>
            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:identityinfo:delete']">删除</el-button>
-->
          </template>
        </el-table-column>
      </el-table>
@@ -85,7 +101,7 @@
      </pagination>
    </template>
    <!-- æ–°å»º/修改 -->
    <OperaIdentityInfoWindow ref="operaIdentityInfoWindow" @success="handlePageChange"/>
    <OperaIdentityDetailWindow ref="OperaIdentityDetailWindow" @success="handlePageChange"/>
  </TableLayout>
</template>
@@ -93,11 +109,11 @@
import BaseTable from '@/components/base/BaseTable'
import TableLayout from '@/layouts/TableLayout'
import Pagination from '@/components/common/Pagination'
import OperaIdentityInfoWindow from '@/components/business/OperaIdentityInfoWindow'
import OperaIdentityDetailWindow from '@/components/business/OperaIdentityDetailWindow'
export default {
  name: 'IdentityInfo',
  extends: BaseTable,
  components: { TableLayout, Pagination, OperaIdentityInfoWindow },
  components: { TableLayout, Pagination, OperaIdentityDetailWindow },
  data () {
    return {
      // æœç´¢
admin/src/views/business/member.vue
@@ -10,7 +10,7 @@
      </el-form-item>
      <el-form-item label="类型" prop="type">
        <el-select v-model="searchForm.type" clearable placeholder="请选择类型" @change="search">
            <el-option :value="0" label="发单方"></el-option>
            <el-option :value="0" label="全部"></el-option>
            <el-option :value="1" label="接单方"></el-option>
        </el-select>
      </el-form-item>
@@ -22,10 +22,10 @@
      </el-form-item>
      <el-form-item label="注册时间" prop="eventType">
        <el-date-picker type="datetime" v-model="searchForm.startTime" clearable value-format="yyyy-MM-dd HH:mm:ss"
                        placeholder="请选择开始时间" />-
        <el-date-picker type="datetime" v-model="searchForm.endTime" clearable value-format="yyyy-MM-dd HH:mm:ss"
                        placeholder="请选择结束时间" />
        <el-date-picker type="datetime" style="width: 120px" v-model="searchForm.startTime" clearable value-format="yyyy-MM-dd HH:mm:ss"
                        placeholder="开始时间" />-
        <el-date-picker type="datetime"  style="width: 120px"  v-model="searchForm.endTime" clearable value-format="yyyy-MM-dd HH:mm:ss"
                        placeholder="结束时间" />
      </el-form-item>
      <section>
        <el-button type="primary" @click="search">搜索</el-button>
@@ -34,10 +34,10 @@
    </el-form>
    <!-- è¡¨æ ¼å’Œåˆ†é¡µ -->
    <template v-slot:table-wrap>
      <ul class="toolbar" v-permissions="['business:member:create', 'business:member:delete']">
<!--      <ul class="toolbar" v-permissions="['business:member:create', 'business:member:delete']">
        <li><el-button type="primary" @click="$refs.operaMemberWindow.open('新建会员信息表')" icon="el-icon-plus" v-permissions="['business:member:create']">新建</el-button></li>
        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:member:delete']">删除</el-button></li>
      </ul>
      </ul>-->
      <el-table
          :height="tableHeightNew"
        v-loading="isWorking.search"
@@ -77,7 +77,7 @@
            </el-switch>
          </template>
        </el-table-column>
       <el-table-column
<!--       <el-table-column
              v-if="containPermissions(['business:member:update', 'business:member:delete'])"
              label="操作"
              min-width="120"
@@ -87,7 +87,7 @@
            <el-button type="text" @click="$refs.operaMemberWindow.open('编辑会员信息表', row)" icon="el-icon-edit" v-permissions="['business:member:update']">编辑</el-button>
            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:member:delete']">删除</el-button>
          </template>
        </el-table-column>
        </el-table-column>-->
      </el-table>
      <pagination
        @size-change="handleSizeChange"
server/services/src/main/java/com/doumee/dao/business/model/IdentityInfo.java
@@ -124,6 +124,12 @@
    @ApiModelProperty(value = "审核人姓名")
    @TableField(exist = false)
    private String editorName;
    @ApiModelProperty(value = "用户openid")
    @TableField(exist = false)
    private String openid;
    @ApiModelProperty(value = "用户昵称")
    @TableField(exist = false)
    private String memberName;
    @ApiModelProperty(value = "图片集合")
    @TableField(exist = false)
    private List<String> imgList;
server/services/src/main/java/com/doumee/service/business/impl/IdentityInfoServiceImpl.java
@@ -233,7 +233,8 @@
    private void addMemberModelByType(Integer id,Integer type, List<IdentityInfo> list,String path) {
        MPJLambdaWrapper<IdentityInfo> wrapper = new MPJLambdaWrapper<IdentityInfo>()
                .selectAll(IdentityInfo.class).selectAs(SystemUser::getUsername,IdentityInfo::getEditorName)
                .selectAll(IdentityInfo.class)
                .selectAs(SystemUser::getUsername,IdentityInfo::getEditorName)
                .leftJoin(SystemUser.class,SystemUser::getId,IdentityInfo::getUpdateUser)
                .orderByDesc(IdentityInfo::getCreateTime )//取最新一条
                .eq(IdentityInfo::getMemberId,id)
@@ -242,23 +243,7 @@
                .last("limit 1");
         IdentityInfo model = identityInfoMapper.selectJoinOne(IdentityInfo.class,wrapper);
         if(model !=null){
             model.setImgList(new ArrayList<>());
             if(StringUtils.isNotBlank(model.getImg1())){
                model.setImg1(path+model.getImg1());
                model.getImgList().add(model.getImg1());
             }
             if(StringUtils.isNotBlank(model.getImg2())){
                 model.setImg2(path+model.getImg2());
                 model.getImgList().add(model.getImg2());
             }
             if(StringUtils.isNotBlank(model.getImg3())) {
                 model.setImg3(path + model.getImg3());
                 model.getImgList().add(model.getImg3());
             }
             if(StringUtils.isNotBlank(model.getImg4())){
                 model.setImg4(path+model.getImg4());
                 model.getImgList().add(model.getImg4());
             }
            initModelImage(model,path);
             list.add(model);
         }
    }
@@ -269,7 +254,11 @@
        MPJLambdaWrapper<IdentityInfo> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        pageWrap.getModel().setDeleted(Constants.ZERO);
        queryWrapper.selectAll(IdentityInfo.class).selectAs(SystemUser::getUsername,IdentityInfo::getEditorName)
        queryWrapper.selectAll(IdentityInfo.class)
                .selectAs(Member::getNickName,IdentityInfo::getMemberName)
                .selectAs(Member::getOpenid,IdentityInfo::getOpenid)
                .selectAs(SystemUser::getUsername,IdentityInfo::getEditorName)
                .leftJoin(Member.class,Member::getId,IdentityInfo::getMemberId)
                .leftJoin(SystemUser.class,SystemUser::getId,IdentityInfo::getUpdateUser);
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.eq(IdentityInfo::getId, pageWrap.getModel().getId());
@@ -338,7 +327,37 @@
                queryWrapper.orderByAsc(sortData.getProperty());
            }
        }
        return PageData.from(identityInfoMapper.selectJoinPage(page,IdentityInfo.class, queryWrapper));
        PageData<IdentityInfo> result = PageData.from(identityInfoMapper.selectJoinPage(page,IdentityInfo.class, queryWrapper));
        if(result!=null && result.getRecords()!=null){
            String path  = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.RESOURCE_PATH).getCode()
                    +systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.INENTITY_FILES).getCode();
            for (IdentityInfo model :result.getRecords()){
                initModelImage(model,path);
            }
        }
        return result;
    }
    private void initModelImage(IdentityInfo model, String path) {
        model.setImgList(new ArrayList<>());
        if(StringUtils.isNotBlank(model.getImg1())){
            model.setImg1(path+model.getImg1());
            model.getImgList().add(model.getImg1());
        }
        if(StringUtils.isNotBlank(model.getImg2())){
            model.setImg2(path+model.getImg2());
            model.getImgList().add(model.getImg2());
        }
        if(StringUtils.isNotBlank(model.getImg3())) {
            model.setImg3(path + model.getImg3());
            model.getImgList().add(model.getImg3());
        }
        if(StringUtils.isNotBlank(model.getImg4())){
            model.setImg4(path+model.getImg4());
            model.getImgList().add(model.getImg4());
        }
    }
    @Override