2 changed files with 463 additions and 0 deletions
			
			
		@ -0,0 +1,143 @@ | 
				
			|||
<template> | 
				
			|||
    <div> | 
				
			|||
    <div class="body"> | 
				
			|||
       <el-row type="flex"  > | 
				
			|||
             <el-col :span="24"> | 
				
			|||
                   <span class="htgl_info_label">所属网格:</span> {{emblemObj.gridName||'--'}} | 
				
			|||
           </el-col> | 
				
			|||
         </el-row> | 
				
			|||
       | 
				
			|||
         <el-row type="flex"  > | 
				
			|||
             <el-col :span="24" style="display: flex;"> | 
				
			|||
               <span  class="htgl_info_label">审核类型:</span> <section style="flex:1">{{emblemObj.badgeName||'--'}}</section> | 
				
			|||
           </el-col> | 
				
			|||
         </el-row> | 
				
			|||
         <el-row type="flex"  > | 
				
			|||
             <el-col :span="24" style="display: flex;"> | 
				
			|||
               <span  class="htgl_info_label">姓名:</span> <section style="flex:1">{{emblemObj.userName||'--'}}</section> | 
				
			|||
           </el-col> | 
				
			|||
         </el-row> | 
				
			|||
         <el-row type="flex"  > | 
				
			|||
             <el-col :span="24" style="display: flex;"> | 
				
			|||
               <span  class="htgl_info_label">身份证号:</span> <section style="flex:1">{{emblemObj.idCard||'--'}}</section> | 
				
			|||
           </el-col> | 
				
			|||
         </el-row> | 
				
			|||
         <el-row type="flex"  > | 
				
			|||
             <el-col :span="24" style="display: flex;"> | 
				
			|||
               <span  class="htgl_info_label">手机号:</span> <section style="flex:1">{{emblemObj.mobile||'--'}}</section> | 
				
			|||
           </el-col> | 
				
			|||
         </el-row> | 
				
			|||
         <el-row type="flex"  > | 
				
			|||
             <el-col :span="24" style="display: flex;"> | 
				
			|||
               <span  class="htgl_info_label">备注:</span> <section style="flex:1">{{emblemObj.userName||'--'}}</section> | 
				
			|||
           </el-col> | 
				
			|||
         </el-row> | 
				
			|||
         <el-row type="flex"  > | 
				
			|||
             <el-col :span="24" style="display: flex;"> | 
				
			|||
                   <span :class="emblemObj.topicImages?'img_label':'htgl_info_label'" >认证证件:</span> | 
				
			|||
                  <template> | 
				
			|||
                        <img :src="emblemObj.userAvatar" alt="" width="150px" height="200px"  /> | 
				
			|||
                  </template> | 
				
			|||
           </el-col> | 
				
			|||
         </el-row> | 
				
			|||
       | 
				
			|||
    </div> | 
				
			|||
    </div> | 
				
			|||
   </template> | 
				
			|||
    | 
				
			|||
   <script> | 
				
			|||
   import nextTick from "dai-js/tools/nextTick"; | 
				
			|||
   import { requestPost } from "@/js/dai/request"; | 
				
			|||
   export default { | 
				
			|||
    | 
				
			|||
     data() { | 
				
			|||
       return { | 
				
			|||
       }; | 
				
			|||
     }, | 
				
			|||
     props:{ | 
				
			|||
       emblemObj:{ | 
				
			|||
           type:Object, | 
				
			|||
          default:()=>{} | 
				
			|||
       }, | 
				
			|||
     }, | 
				
			|||
      created() { | 
				
			|||
       // console.log(this.emblemObj); | 
				
			|||
       // this.$set(this.emblemObj,'topicVoices',this.emblemObj) | 
				
			|||
       this.getResiTuomin(emblemObj.userId) | 
				
			|||
 | 
				
			|||
     }, | 
				
			|||
     mounted(){ | 
				
			|||
     }, | 
				
			|||
     methods:{ | 
				
			|||
        async getResiTuomin(id){ | 
				
			|||
            const url = "/data/aggregator/epmetuser/detailByType"; | 
				
			|||
            const { data, code, msg } = await requestPost(url, { | 
				
			|||
                id:id, | 
				
			|||
                type: "checkIcResiUser", | 
				
			|||
            }); | 
				
			|||
            if(code == 0){ | 
				
			|||
            for(let i in this.quanzufangResiList){ | 
				
			|||
                    this.$set(this.emblemObj,'mobile',data.mobile) | 
				
			|||
                    this.$set(this.emblemObj,'idCard',data.idCard) | 
				
			|||
            } | 
				
			|||
 | 
				
			|||
            }else { | 
				
			|||
                this.$message.error(msg) | 
				
			|||
            } | 
				
			|||
         | 
				
			|||
      }, | 
				
			|||
    | 
				
			|||
     }, | 
				
			|||
     | 
				
			|||
     components: {}, | 
				
			|||
     computed: { | 
				
			|||
     }, | 
				
			|||
     watch: {}, | 
				
			|||
   }; | 
				
			|||
   </script> | 
				
			|||
   <style lang="scss" scoped> | 
				
			|||
   .img_label{ | 
				
			|||
       display: inline-block; | 
				
			|||
       height: 75px; | 
				
			|||
       vertical-align: top; | 
				
			|||
       padding-left: 10px; | 
				
			|||
       width: 90px; | 
				
			|||
       text-align: left; | 
				
			|||
       margin-right: 6px; | 
				
			|||
   } | 
				
			|||
   .body{ | 
				
			|||
     padding: 0 60px; | 
				
			|||
   } | 
				
			|||
   .htgl_info_label{ | 
				
			|||
       display: inline-block; | 
				
			|||
       width: 90px; | 
				
			|||
       text-align: left; | 
				
			|||
       padding-left: 10px; | 
				
			|||
       position: relative; | 
				
			|||
       margin-right: 6px; | 
				
			|||
   } | 
				
			|||
   .htgl_info_label::before{ | 
				
			|||
       content: ""; | 
				
			|||
       display: block; | 
				
			|||
       position: absolute; | 
				
			|||
       top: 5px; | 
				
			|||
       width: 7px; | 
				
			|||
       left: -5px; | 
				
			|||
       height: 7px; | 
				
			|||
       background: #0c81fe; | 
				
			|||
       border-radius: 3px; | 
				
			|||
       margin-right: 10px; | 
				
			|||
   } | 
				
			|||
   .img_label::before{ | 
				
			|||
     content: ""; | 
				
			|||
       display: block; | 
				
			|||
       position: absolute; | 
				
			|||
       left: -5px; | 
				
			|||
       top: 5px; | 
				
			|||
       width: 7px; | 
				
			|||
       height: 7px; | 
				
			|||
       background: #0c81fe; | 
				
			|||
       border-radius: 3px; | 
				
			|||
       margin-right: 10px; | 
				
			|||
   } | 
				
			|||
   </style> | 
				
			|||
@ -0,0 +1,320 @@ | 
				
			|||
<template> | 
				
			|||
    <div  class="div_main"> | 
				
			|||
        <div class="div_search"> | 
				
			|||
          <el-form | 
				
			|||
            :inline="true" | 
				
			|||
            :model="formData" | 
				
			|||
            ref="ref_searchform" | 
				
			|||
            :label-width="'100px'" | 
				
			|||
          > | 
				
			|||
            <div> | 
				
			|||
              <el-form-item label="所属网格" prop="orgId" > | 
				
			|||
               | 
				
			|||
                <el-select | 
				
			|||
                v-model="formData.gridId" | 
				
			|||
                placeholder="请选择" | 
				
			|||
                size="small" | 
				
			|||
                clearable | 
				
			|||
                > | 
				
			|||
                    <el-option v-for="item in orgOptions"  | 
				
			|||
                    :key="item.value" | 
				
			|||
                    :value="item.value" | 
				
			|||
                    :label="item.label" | 
				
			|||
                    > | 
				
			|||
 | 
				
			|||
                    </el-option> | 
				
			|||
                </el-select> | 
				
			|||
              </el-form-item> | 
				
			|||
   | 
				
			|||
             | 
				
			|||
   | 
				
			|||
              <el-form-item label="徽章类型"> | 
				
			|||
                <el-select v-model="formData.badgeId" | 
				
			|||
                         class="item_width_2" | 
				
			|||
                         placeholder="请选择" | 
				
			|||
                         size="small" | 
				
			|||
                         clearable> | 
				
			|||
                <el-option v-for="item in orgOptionA" | 
				
			|||
                           :key="item.badgeId" | 
				
			|||
                           :label="item.badgeName" | 
				
			|||
                           :value="item.badgeId"> | 
				
			|||
                </el-option> | 
				
			|||
              </el-select> | 
				
			|||
               | 
				
			|||
              </el-form-item> | 
				
			|||
   | 
				
			|||
              <el-form-item label="状态"> | 
				
			|||
                <el-select v-model="formData.auditStatus" | 
				
			|||
                         class="item_width_2" | 
				
			|||
                         placeholder="请选择" | 
				
			|||
                         size="small" | 
				
			|||
                         clearable> | 
				
			|||
                <el-option v-for="item in orgOptionB" | 
				
			|||
                           :key="item.value" | 
				
			|||
                           :label="item.label" | 
				
			|||
                           :value="item.value"> | 
				
			|||
                </el-option> | 
				
			|||
              </el-select> | 
				
			|||
               | 
				
			|||
              </el-form-item> | 
				
			|||
              <el-button | 
				
			|||
                style="margin-left: 30px" | 
				
			|||
                size="small" | 
				
			|||
                class="diy-button--search" | 
				
			|||
                @click="handleSearch" | 
				
			|||
                >查询</el-button | 
				
			|||
              > | 
				
			|||
              <el-button | 
				
			|||
                style="margin-left: 10px" | 
				
			|||
                size="small" | 
				
			|||
                class="diy-button--reset" | 
				
			|||
                @click="resetSearch" | 
				
			|||
                >重置</el-button | 
				
			|||
              > | 
				
			|||
            </div> | 
				
			|||
          </el-form> | 
				
			|||
        </div> | 
				
			|||
   | 
				
			|||
      <div class="div_table"> | 
				
			|||
        <el-table | 
				
			|||
          border | 
				
			|||
          :header-cell-style="{ background: '#2195FE', color: '#FFFFFF' }" | 
				
			|||
          class="table" | 
				
			|||
          :data="tableData" | 
				
			|||
          style="width: 100%" | 
				
			|||
          :height="maxTableHeight" | 
				
			|||
        > | 
				
			|||
        | 
				
			|||
          <el-table-column | 
				
			|||
            label="序号" | 
				
			|||
            fixed="left" | 
				
			|||
            type="index" | 
				
			|||
            align="center" | 
				
			|||
            width="50" | 
				
			|||
          /> | 
				
			|||
   | 
				
			|||
          <el-table-column | 
				
			|||
            prop="gridName" | 
				
			|||
            align="center" | 
				
			|||
            label="所属网格" | 
				
			|||
            :show-overflow-tooltip="true" | 
				
			|||
          > | 
				
			|||
          </el-table-column> | 
				
			|||
   | 
				
			|||
          <el-table-column | 
				
			|||
            prop="badgeName" | 
				
			|||
            label="徽章类型" | 
				
			|||
            min-width="150" | 
				
			|||
            align="center" | 
				
			|||
            :show-overflow-tooltip="true" | 
				
			|||
          > | 
				
			|||
          </el-table-column> | 
				
			|||
   | 
				
			|||
          <el-table-column | 
				
			|||
            prop="userName" | 
				
			|||
            align="center" | 
				
			|||
            min-width="150" | 
				
			|||
            label="申请人" | 
				
			|||
            :show-overflow-tooltip="true" | 
				
			|||
          > | 
				
			|||
          </el-table-column> | 
				
			|||
   | 
				
			|||
          <el-table-column | 
				
			|||
            prop="auditStatus" | 
				
			|||
            align="center" | 
				
			|||
            width="180" | 
				
			|||
            :show-overflow-tooltip="true" | 
				
			|||
            label="状态" | 
				
			|||
          > | 
				
			|||
          <template slot-scope="scope"> | 
				
			|||
                {{scope.row.auditStatus == 'approved'?'审核通过':scope.row.auditStatus == 'rejected'?'审核驳回':'审核中'}} | 
				
			|||
          </template> | 
				
			|||
          </el-table-column> | 
				
			|||
   | 
				
			|||
          <el-table-column fixed="right" label="操作" align="center" width="100"> | 
				
			|||
            <template slot-scope="scope"> | 
				
			|||
              <el-button @click="handleWatch(scope.row)" type="text" size="small" | 
				
			|||
                >{{scope.row.auditStatus=='approved'?'查看':'审核'}}</el-button | 
				
			|||
              > | 
				
			|||
            </template> | 
				
			|||
          </el-table-column> | 
				
			|||
        </el-table> | 
				
			|||
   | 
				
			|||
        <div> | 
				
			|||
          <el-pagination | 
				
			|||
            @size-change="handleSizeChange" | 
				
			|||
            @current-change="handleCurrentChange" | 
				
			|||
            :current-page.sync="pageNo" | 
				
			|||
            :page-sizes="[20, 50, 100, 200]" | 
				
			|||
            :page-size="parseInt(pageSize)" | 
				
			|||
            layout="sizes, prev, pager, next, total" | 
				
			|||
            :total="total" | 
				
			|||
          > | 
				
			|||
          </el-pagination> | 
				
			|||
        </div> | 
				
			|||
      </div> | 
				
			|||
      <el-dialog | 
				
			|||
      title="审核信息" | 
				
			|||
      :visible.sync="showhtglDialog" | 
				
			|||
      width="950px" | 
				
			|||
      v-if="showhtglDialog" | 
				
			|||
      @close="showhtglDialog = false" | 
				
			|||
     > | 
				
			|||
      <emblem-ifon   | 
				
			|||
      :emblemObj="emblemObj" | 
				
			|||
      > | 
				
			|||
      </emblem-ifon> | 
				
			|||
      </el-dialog> | 
				
			|||
    </div> | 
				
			|||
  </template> | 
				
			|||
   | 
				
			|||
  <script> | 
				
			|||
  import { mapGetters } from "vuex"; | 
				
			|||
  import { requestPost } from "@/js/dai/request"; | 
				
			|||
  import emblemIfon from "./cpts/emblemIfon.vue" | 
				
			|||
  export default { | 
				
			|||
    data() { | 
				
			|||
      return { | 
				
			|||
        orgOptions: [], | 
				
			|||
        orgOptionA:[], | 
				
			|||
        orgOptionB:[ | 
				
			|||
            {label:'审核通过',value:'approved'}, | 
				
			|||
            {label:'审核驳回',value:'rejected'}, | 
				
			|||
            {label:'审核中',value:'auditing'}, | 
				
			|||
        ], | 
				
			|||
        formData: { | 
				
			|||
            gridId:'', | 
				
			|||
            badgeId:'', | 
				
			|||
            auditStatus:'', | 
				
			|||
        }, | 
				
			|||
        showhtglDialog:false, | 
				
			|||
        topicId:'', | 
				
			|||
        tableData:[], | 
				
			|||
        emblemObj:{}, | 
				
			|||
        pageNo: 1, | 
				
			|||
        pageSize: window.localStorage.getItem("pageSize") || 20, | 
				
			|||
        total: 1, | 
				
			|||
      }; | 
				
			|||
    }, | 
				
			|||
    created() { | 
				
			|||
      this.getTableData() | 
				
			|||
    }, | 
				
			|||
    mounted() { | 
				
			|||
      this.getOrgTreeList(); | 
				
			|||
      this.getEmblemType() | 
				
			|||
    }, | 
				
			|||
    methods: { | 
				
			|||
      async getOrgTreeList() { | 
				
			|||
        const url = "/gov/org/customergrid/gridoption"; | 
				
			|||
   | 
				
			|||
        let params = { | 
				
			|||
          agencyId: this.$store.state.user.agencyId, | 
				
			|||
          purpose: "addorupdate", | 
				
			|||
        }; | 
				
			|||
   | 
				
			|||
        const { data, code, msg } = await requestPost(url, params); | 
				
			|||
   | 
				
			|||
        if (code === 0) { | 
				
			|||
          this.orgOptions= data; | 
				
			|||
        } else { | 
				
			|||
          this.$message.error(msg); | 
				
			|||
        } | 
				
			|||
      }, | 
				
			|||
      async getEmblemType() { | 
				
			|||
        const url = "/epmetuser/badge/badge-options"; | 
				
			|||
   | 
				
			|||
        const { data, code, msg } = await requestPost(url); | 
				
			|||
        if (code === 0) { | 
				
			|||
          this.orgOptionA= data; | 
				
			|||
        } else { | 
				
			|||
          this.$message.error(msg); | 
				
			|||
        } | 
				
			|||
      }, | 
				
			|||
      handleSizeChange (val) { | 
				
			|||
   | 
				
			|||
          this.pageSize = val; | 
				
			|||
          window.localStorage.setItem("pageSize", val); | 
				
			|||
          this.getTableData(); | 
				
			|||
      }, | 
				
			|||
      handleCurrentChange (val) { | 
				
			|||
              this.pageNo = val; | 
				
			|||
              this.getTableData(); | 
				
			|||
      }, | 
				
			|||
      handleSearch (val) { | 
				
			|||
        this.pageNo = 1; | 
				
			|||
        this.getTableData(); | 
				
			|||
      }, | 
				
			|||
      async getResiTuomin(id){ | 
				
			|||
            const url = "/data/aggregator/epmetuser/detailByType"; | 
				
			|||
            const { data, code, msg } = await requestPost(url, { | 
				
			|||
                id:id, | 
				
			|||
                type: "checkIcResiUser", | 
				
			|||
            }); | 
				
			|||
            if(code == 0){ | 
				
			|||
                   return data | 
				
			|||
            }else { | 
				
			|||
                this.$message.error(msg) | 
				
			|||
            } | 
				
			|||
         | 
				
			|||
      }, | 
				
			|||
      resetSearch () { | 
				
			|||
          | 
				
			|||
          this.formData = { | 
				
			|||
            gridId:'', | 
				
			|||
            badgeId:'', | 
				
			|||
            auditStatus:'', | 
				
			|||
      } | 
				
			|||
      this.pageNo = 1 | 
				
			|||
      }, | 
				
			|||
   | 
				
			|||
      async getTableData () { | 
				
			|||
        const url = "/epmetuser/badge/audit-page-list"; | 
				
			|||
        const { pageSize, pageNo, formData } = this; | 
				
			|||
        const { data, code, msg } = await requestPost(url, { | 
				
			|||
          pageSize, | 
				
			|||
          pageNo, | 
				
			|||
          agencyId:this.$store.state.user.agencyId, | 
				
			|||
          ...formData, | 
				
			|||
        }); | 
				
			|||
        if (code === 0) { | 
				
			|||
          this.total = data.total || 0; | 
				
			|||
          this.tableData = data.list | 
				
			|||
            ? data.list.map((item) => { | 
				
			|||
              return item; | 
				
			|||
            }) | 
				
			|||
            : []; | 
				
			|||
        } else { | 
				
			|||
          this.$message.error(msg); | 
				
			|||
        } | 
				
			|||
      }, | 
				
			|||
      async handleWatch (row) { | 
				
			|||
        this.showhtglDialog = true | 
				
			|||
        this.getResiTuomin(row.userId) | 
				
			|||
        this.emblemObj = {row,...this.getResiTuomin(row.userId)} | 
				
			|||
        console.log(row); | 
				
			|||
      }, | 
				
			|||
    }, | 
				
			|||
    components: { | 
				
			|||
        emblemIfon | 
				
			|||
    }, | 
				
			|||
    computed: { | 
				
			|||
      maxTableHeight () { | 
				
			|||
        return this.$store.state.inIframe | 
				
			|||
          ? this.clientHeight - 240 + this.iframeHeigh | 
				
			|||
          : this.clientHeight - 240; | 
				
			|||
      }, | 
				
			|||
      ...mapGetters(["clientHeight", "iframeHeight"]), | 
				
			|||
    }, | 
				
			|||
    watch: {}, | 
				
			|||
  }; | 
				
			|||
  </script> | 
				
			|||
  <style lang="scss" scoped> | 
				
			|||
  @import "@/assets/scss/buttonstyle.scss"; | 
				
			|||
  @import "@/assets/scss/modules/management/list-main.scss"; | 
				
			|||
  @import "@/assets/scss/modules/shequzhili/event-info.scss"; | 
				
			|||
   ::v-deep .el-row{ | 
				
			|||
  margin:20px 0px 10px; | 
				
			|||
  font-size: 15px; | 
				
			|||
  } | 
				
			|||
  </style> | 
				
			|||
   | 
				
			|||
					Loading…
					
					
				
		Reference in new issue