Browse Source

徽章管理先提交下

dev-烟台0301
mk 3 years ago
parent
commit
dbd8ba2f7d
  1. 143
      src/views/modules/workSys/emblemManagement/cpts/emblemIfon.vue
  2. 320
      src/views/modules/workSys/emblemManagement/index.vue

143
src/views/modules/workSys/emblemManagement/cpts/emblemIfon.vue

@ -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>

320
src/views/modules/workSys/emblemManagement/index.vue

@ -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…
Cancel
Save