Commit c069db90 authored by lc@weface.com.cn's avatar lc@weface.com.cn

''

parents 4a143c7f fdfec8bb
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/xichonght.iml" filepath="$PROJECT_DIR$/.idea/xichonght.iml" />
</modules>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
<excludeFolder url="file://$MODULE_DIR$/temp" />
<excludeFolder url="file://$MODULE_DIR$/tmp" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
\ No newline at end of file
...@@ -240,3 +240,51 @@ export const selectchartInfo = (params) => { ...@@ -240,3 +240,51 @@ export const selectchartInfo = (params) => {
params params
}) })
}; };
//特殊业务导出
export const seletsywdc = (data) => {
return axios({
url: '/baseInfo/getSpecialBusiness',
method: 'post',
data
})
};
//查询归档档案
export const selectArchive = (data) => {
return axios({
url: '/archive/getList',
method: 'post',
data
})
};
//查询档案文件
export const selectArchiveFiles = (data) => {
return axios({
url: '/archiveFile/getListByArchiveId',
method: 'post',
data
})
};
//查询待归档案
export const selectExpectArchive = (data) => {
return axios({
url: '/archive/expectArchive',
method: 'post',
data
})
};
// 进行归档操作
export const fileArchives = (data) => {
return axios({
url: '/archive/fileArchives',
method: 'post',
data
})
};
// 查询未归档文件
export const selectNoArcEventLogList = (data) => {
return axios({
url: '/archive/getNoArcLogList',
method: 'post',
data
})
};
...@@ -11,10 +11,12 @@ import store from '@/store' ...@@ -11,10 +11,12 @@ import store from '@/store'
import { getIFramePath, getIFrameUrl } from '@/utils/iframe' import { getIFramePath, getIFrameUrl } from '@/utils/iframe'
import Table from '@/views/Myvue/table' import Table from '@/views/Myvue/table'
import Cbdj from '@/views/Myvue/insuredReg' import Cbdj from '@/views/Myvue/insuredReg'
import insuredRegp from '@/views/Myvue/insuredRegp'
import Flow from '@/views/Myvue/flow' import Flow from '@/views/Myvue/flow'
import shrecord from '@/views/Myvue/examRecord' import shrecord from '@/views/Myvue/examRecord'
import drcbdj from "@/views/Myvue/drcbdj" import drcbdj from "@/views/Myvue/drcbdj"
import xxbg from "@/views/Myvue/infoChange" import xxbg from "@/views/Myvue/infoChange"
import infoChangep from "@/views/Myvue/infoChangep";
import Record from "@/views/Myvue/authRecord" import Record from "@/views/Myvue/authRecord"
import Newsupdata from "@/views/Myvue/newsupdata" import Newsupdata from "@/views/Myvue/newsupdata"
import drxxbg from "@/views/Myvue/drxxbg"; import drxxbg from "@/views/Myvue/drxxbg";
...@@ -27,16 +29,29 @@ import PayInfo from "@/views/Myvue/payInfo" ...@@ -27,16 +29,29 @@ import PayInfo from "@/views/Myvue/payInfo"
import application from "@/views/Myvue/application" import application from "@/views/Myvue/application"
import importByExcel from "@/views/Myvue/importByExcel" import importByExcel from "@/views/Myvue/importByExcel"
import insuranceCancellationAudit from "@/views/Myvue/insuranceCancellationAudit" import insuranceCancellationAudit from "@/views/Myvue/insuranceCancellationAudit"
import insuranceCancellationAuditp from "@/views/Myvue/insuranceCancellationAuditp"
import supPaymentAudit from "@/views/Myvue/supPaymentAudit" import supPaymentAudit from "@/views/Myvue/supPaymentAudit"
import supPaymentAuditp from "@/views/Myvue/supPaymentAuditp"
import traRelationsAudit from "@/views/Myvue/traRelationsAudit" import traRelationsAudit from "@/views/Myvue/traRelationsAudit"
import traRelationsAuditp from "@/views/Myvue/traRelationsAuditp"
import upgradeReoAudit from "@/views/Myvue/upgradeReoAudit" import upgradeReoAudit from "@/views/Myvue/upgradeReoAudit"
import upgradeReoAuditp from "@/views/Myvue/upgradeReoAuditp"
import interact from "@/views/Myvue/interact" import interact from "@/views/Myvue/interact"
import preView from "@/views/Myvue/preView" import preView from "@/views/Myvue/preView"
import treatmentApplicationAudit from "@/views/Myvue/treatmentApplicationAudit"; import treatmentApplicationAudit from "@/views/Myvue/treatmentApplicationAudit";
import treatmentApplicationAuditp from "@/views/Myvue/treatmentApplicationAuditp";
import drcbzx from "@/views/Myvue/drcbzx"; import drcbzx from "@/views/Myvue/drcbzx";
import drbjbf from "@/views/Myvue/drbjbf"; import drbjbf from "@/views/Myvue/drbjbf";
import drtsyw from "@/views/Myvue/drtsyw"; import drtsyw from "@/views/Myvue/drtsyw";
import authRecordphone from "@/views/Myvue/authRecordphone"; import authRecordphone from "@/views/Myvue/authRecordphone";
import importBaseInfoByExcel from "@/views/Myvue/importBaseInfoByExcel";
import importPayInfoByExcel from "@/views/Myvue/importPayInfoByExcel";
import importGrantInfoByExcel from "@/views/Myvue/importGrantInfoByExcel";
import tablep from "@/views/Myvue/tablep";
import archivesAdministration from "@/views/Myvue/archivesAdministration";
import filesOfArchive from "@/views/Myvue/filesOfArchive";
import archivesExpect from "@/views/Myvue/archivesExpect";
import noArchiveEventLog from "@/views/Myvue/noArchiveEventLog";
Vue.use(Router) Vue.use(Router)
...@@ -190,6 +205,41 @@ const router = new Router({ ...@@ -190,6 +205,41 @@ const router = new Router({
name:"特殊业务导出", name:"特殊业务导出",
component: drtsyw component: drtsyw
}, },
{
path:"/importBaseInfo",
name:"参保覆盖导入",
component: importBaseInfoByExcel
},
{
path:"/importPayInfo",
name:"缴费明细导入",
component: importPayInfoByExcel
},
{
path:"/importGrantInfo",
name:"领取人员导入",
component: importGrantInfoByExcel
},
{
path:"/archivesAdmin",
name:"档案管理",
component: archivesAdministration
},
{
path:"/archiveFiles",
name:"档案文件",
component: filesOfArchive
},
{
path:"/expectArchives",
name:"可归档案",
component: archivesExpect
},
{
path:"/noArchiveEventLog",
name:"未归档文件",
component: noArchiveEventLog
},
] ]
}, },
{ {
...@@ -201,12 +251,45 @@ const router = new Router({ ...@@ -201,12 +251,45 @@ const router = new Router({
path:"/authRecordphone", path:"/authRecordphone",
name:"认证记录", name:"认证记录",
component: authRecordphone component: authRecordphone
},{
path:"/tablep",
name:"tablep",
component: tablep
},{
path:"/insuredRegp",
name:"insuredRegp",
component: insuredRegp
},{
path:"/infoChangep",
name:"infoChangep",
component: infoChangep
},{
path:"/upgradeReoAuditp",
name:"upgradeReoAuditp",
component: upgradeReoAuditp
},
{
path:"/traRelationsAuditp",
name:"traRelationsAuditp",
component: traRelationsAuditp
},{
path:"/treatmentApplicationAuditp",
name:"treatmentApplicationAuditp",
component: treatmentApplicationAuditp
},{
path:"/insuranceCancellationAuditp",
name:"insuranceCancellationAuditp",
component: insuranceCancellationAuditp
},{
path:"/supPaymentAuditp",
name:"supPaymentAuditp",
component: supPaymentAuditp
}, },
{ {
path: '/404', path: '/404',
name: 'notFound', name: 'notFound',
component: NotFound component: NotFound
} },
] ]
}) })
......
...@@ -11,6 +11,8 @@ export const baseUrl2 = 'http://xclc.rensheju.com' ...@@ -11,6 +11,8 @@ export const baseUrl2 = 'http://xclc.rensheju.com'
//export const baseUrl = 'http://xc.rensheju.com' //export const baseUrl = 'http://xc.rensheju.com'
//export const baseUrl = 'http://172.16.10.33:9002' //export const baseUrl = 'http://172.16.10.33:9002'
// export const baseUrl = 'http://xc.rensheju.com'
// export const baseUrl2 = 'http://xclc.rensheju.com'
export default { export default {
baseUrl, baseUrl,
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
:sortable="column.sortable==null?true:column.sortable"> :sortable="column.sortable==null?true:column.sortable">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
align="center"
v-if="showSeal" v-if="showSeal"
label="签章"> label="签章">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -26,9 +27,12 @@ ...@@ -26,9 +27,12 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('action.operation')" width="185" fixed="right" v-if="showOperation" header-align="center" align="center"> <el-table-column :label="$t('action.operation')" width="185" fixed="right" v-if="showOperation" header-align="center" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<kt-button v-if="scope.row.name!=='admin'" icon="fa fa-edit" :label="$t('action.edit')" :perms="permsEdit" :size="size" @click="handleEdit(scope.$index, scope.row)" style="float: left"/> <div v-if="scope.row.name!=='admin'" >
<kt-button v-if="showBatchDelete" icon="fa fa-edit" :label="$t('action.edit')" :perms="permsEdit" :size="size" @click="handleEdit(scope.$index, scope.row)" style="float: left"/>
<kt-button v-else icon="fa fa-edit" :label="$t('action.edit')" :perms="permsEdit" :size="size" @click="handleEdit(scope.$index, scope.row)"/>
</div>
<div v-if="scope.row.name!=='admin' && showBatchDelete">
<el-switch <el-switch
v-if="scope.row.name!=='admin'"
class="statusSwitch" class="statusSwitch"
style="display: block;float: left;margin-left: 20px;width: 50px" style="display: block;float: left;margin-left: 20px;width: 50px"
v-model="scope.row.status==0?true:false" v-model="scope.row.status==0?true:false"
...@@ -37,6 +41,8 @@ ...@@ -37,6 +41,8 @@
active-text="启" active-text="启"
inactive-text="禁" @change="handleDelete(scope.$index, scope.row)"> inactive-text="禁" @change="handleDelete(scope.$index, scope.row)">
</el-switch> </el-switch>
</div>
<!-- <div v-if="scope.row.status == 1">--> <!-- <div v-if="scope.row.status == 1">-->
<!-- <kt-button icon="fa fa-trash" label="禁用" :perms="permsDelete" :size="size" type="danger" @click="handleDelete(scope.$index, scope.row)" />--> <!-- <kt-button icon="fa fa-trash" label="禁用" :perms="permsDelete" :size="size" type="danger" @click="handleDelete(scope.$index, scope.row)" />-->
<!-- </div>--> <!-- </div>-->
...@@ -109,7 +115,7 @@ export default { ...@@ -109,7 +115,7 @@ export default {
type: Boolean, type: Boolean,
default: true default: true
}, },
showSeal: { // 是否显示操作组件 showSeal: { // 是否显示签章列
type: Boolean, type: Boolean,
default: false default: false
}, },
......
<template> <template>
<el-carousel :interval="100000000000000000" style="margin-top:30px;" align=center type="card" class="carousel" height="70vh" > <el-carousel :interval="3000" style="margin-top:30px;" align=center type="card" class="carousel" height="70vh" >
<el-carousel-item class="carousel-item-intro" style="width:85%; height:100%;position:absolute;left:-18%;"> <el-carousel-item class="carousel-item-intro" style="width:85%; height:100%;position:absolute;left:-18%;">
<div class="ddiv1"> <div class="ddiv1">
<div class="div1" height=100% :style="{width: '90%', height: '100%'}" id="echartContainer1"> <div class="div1" :style="{width: '90%', height: '90%'}" id="echartContainer1"></div>
</div> <div class="nextpage">
<div class="nextpage" style="margin-top:-50px">
<p style="display:none">{{count}}</p> <p style="display:none">{{count}}</p>
<el-button size="mini" class="gopagediv1" @click="goPageClick1"> 上一页</el-button> <el-button size="mini" class="gopagediv1" @click="goPageClick1"> 上一页</el-button>
<el-button size="mini" class="gopagediv1" @click="nextPageClick1"> 下一页</el-button> <el-button size="mini" class="gopagediv1" @click="nextPageClick1"> 下一页</el-button>
</div> </div>
</div> </div>
</el-carousel-item> </el-carousel-item>
<!-- <el-carousel-item class="carousel-item-func" style="width:85%;height:100%;position:absolute;left:-18%">
<el-carousel-item class="carousel-item-func" style="width:85%;height:100%;position:absolute;left:-18%">
<div class="ddiv2"> <div class="ddiv2">
<div class="div2" id="echartContainer2" ></div> <div class="div2" :style="{width: '90%', height: '90%'}" id="echartContainer2" ></div>
</div>
<div class="nextpage"> <div class="nextpage">
<p style="display:none"></p>
<el-button size="mini" class="gopagediv1" @click="goPageClick2"> 上一页</el-button>
<el-button size="mini" class="gopagediv1" @click="nextPageClick2"> 下一页</el-button>
</div>
</div> </div>
</el-carousel-item> </el-carousel-item>
<el-carousel-item class="carousel-item-env" style="width:85%;height:100%;position:absolute;left:-18%;">
</el-carousel-item> -->
</el-carousel> </el-carousel>
</template> </template>
<script> <script>
import Axios from "axios"
import {baseUrl2} from "../../utils/global"
var echarts = require('echarts'); var echarts = require('echarts');
export default { export default {
components:{ components:{
...@@ -51,6 +57,7 @@ ...@@ -51,6 +57,7 @@
containLabel: true containLabel: true
}, },
xAxis: { xAxis: {
name:"数量",
type: 'value' type: 'value'
}, },
yAxis: { yAxis: {
...@@ -145,13 +152,15 @@ ...@@ -145,13 +152,15 @@
}, },
] ]
}, },
count: 1, count: 1,
chartdata:{ chartdata:{
chartnum:'', chartnum:'',
chartsize:'', chartsize:'',
}, },
total:'', total:'',
fycount:'',
fysize:10,
fynum:0,
echartrz:{ echartrz:{
title : { title : {
...@@ -167,19 +176,25 @@ ...@@ -167,19 +176,25 @@
legend: { legend: {
x:'center', x:'center',
top:'10%', top:'10%',
data: ['已认证', '未认证','认证比例'] data: ['已认证', '未认证','认证比例'],
selected: {
已认证:true,
未认证:true,
认证比例:false,
},
}, },
grid: { grid: {
top: '30%', top: '30%',
containLabel: true containLabel: true
}, },
xAxis: { xAxis: {
type: 'value' type: 'value',
name:"数量"
}, },
yAxis: { yAxis: {
type: 'category', type: 'category',
name:'乡镇名称', name:'乡镇名称',
data: ['周一','周二','周三','周四','周五','周六','周日'] data: []
}, },
series: [ series: [
{ {
...@@ -192,7 +207,7 @@ ...@@ -192,7 +207,7 @@
position: 'insideRight' position: 'insideRight'
} }
}, },
data: [320, 302, 301, 334, 390, 330, 320] data: []
}, },
{ {
name: '未认证', name: '未认证',
...@@ -204,7 +219,7 @@ ...@@ -204,7 +219,7 @@
position: 'insideRight' position: 'insideRight'
} }
}, },
data: [120, 132, 101, 134, 90, 230, 210] data: []
}, },
{ {
name: '认证比例', name: '认证比例',
...@@ -216,7 +231,7 @@ ...@@ -216,7 +231,7 @@
position: 'insideRight' position: 'insideRight'
} }
}, },
data: [0.56, 0.35, 0.91, 0.34, 0.9, 0.3, 0.31] data: []
}, },
] ]
}, },
...@@ -224,14 +239,79 @@ ...@@ -224,14 +239,79 @@
}, },
mounted(){ mounted(){
sessionStorage.setItem("zz",JSON.stringify(this.echartzz));
sessionStorage.setItem("lj",JSON.stringify(this.echartzz)); sessionStorage.setItem("rz",JSON.stringify(this.echartrz));
this.chartinfo(); this.chartinfo();
this.chart11(); this.chartCertification();
}, },
methods:{ methods:{
chart11(){ chartCertification(){
Axios.get(baseUrl2+'/chart/timingselect',{
})
.then(res => {
this.icount = res.data.obj.pagetotal;
res.data.obj.result.length=this.fysize;
for (var i = this.fynum ; i <res.data.obj.result.length ; i++) {
this.echartrz.yAxis.data.push(res.data.obj.result[i].townName+" ");
this.echartrz.series[0].data.push(res.data.obj.result[i].verified);
this.echartrz.series[1].data.push(res.data.obj.result[i].unverified);
this.echartrz.series[2].data.push(res.data.obj.result[i].rzl);
}
//console.log("分页linit"+this.fynum+","+this.fysize);
//console.log("首次=="+this.fynum+","+this.fysize+"/////"+res.data.obj.result.length+"总数"+this.icount)
let myChart1 = echarts.init(document.getElementById('echartContainer2'));
myChart1.setOption(this.echartrz);
/* myChart1.on('legendselectchanged',function (parms) {
var option = this.getOption();
alert(123)
})*/
console.log()
})
.catch(res => {
console.log('报错了');
});
},
goPageClick2(){
if(this.fynum==0){
this.$message.error('已经第一页了');
}else{
this.echartrz=JSON.parse(sessionStorage.getItem("rz"));
if(this.fysize==this.icount){
this.fysize=this.fynum;
this.fynum=this.fynum-10;
this.chartCertification();
// console.log("上一页linit"+this.fynum+","+this.fysize);
}else {
this.fysize = this.fysize-10;
this.fynum=this.fynum-10;
this.chartCertification();
// console.log("上一页linit"+this.fynum+","+this.fysize);
}
}
},
nextPageClick2(){
if(this.fysize<this.icount){
this.fysize = this.fysize+10;
this.fynum=this.fynum+10;
this.echartrz=JSON.parse(sessionStorage.getItem("rz"));
if(this.fysize>this.icount){
this.fysize=this.icount
// console.log("下一页linit"+this.fynum+","+this.fysize);
this.chartCertification();
}else{
// console.log("下一页linit"+this.fynum+","+this.fysize);
this.chartCertification();
}
}else{
this.$message.error('已经是最后一页了');
}
}, },
chartinfo(){ chartinfo(){
...@@ -250,53 +330,47 @@ ...@@ -250,53 +330,47 @@
this.total = res.data.pagetotal; this.total = res.data.pagetotal;
let myChart1 = echarts.init(document.getElementById('echartContainer1')); let myChart1 = echarts.init(document.getElementById('echartContainer1'));
myChart1.setOption(this.echartzz); myChart1.setOption(this.echartzz);
/* let myChart2 = echarts.init(document.getElementById('echartContainer2'));
myChart2.setOption(this.echartrz);*/
}).catch((res) => { }).catch((res) => {
console.log('报错了'); console.log('报错了');
}); });
}, },
nextPageClick1(){ nextPageClick1(){
this.count++; this.count++;
this.chartdata.chartnum = this.count; this.chartdata.chartnum = this.count;
this.chartdata.chartsize=10; this.chartdata.chartsize=10;
console.log(this.count); console.log(this.count);
if(this.total>(this.chartdata.chartnum-1)*this.chartdata.chartsize){ if(this.total>(this.chartdata.chartnum-1)*this.chartdata.chartsize){
this.echartzz=JSON.parse(sessionStorage.getItem("lj")); this.echartzz=JSON.parse(sessionStorage.getItem("zz"));
this.chartinfo(this.chartdata); this.chartinfo(this.chartdata);
}else { }else {
this.count--;
this.$message.error('已经是最后一页了'); this.$message.error('已经是最后一页了');
} }
}, },
goPageClick1(){ goPageClick1(){
this.count--; this.count--;
this.chartdata.chartnum = this.count; this.chartdata.chartnum = this.count;
this.chartdata.chartsize=10; this.chartdata.chartsize=10;
console.log(this.count); console.log(this.count);
if(this.count<1){ if(this.count<1){
this.count++;
this.$message.error('已经是第一页了'); this.$message.error('已经是第一页了');
}else{ }else{
this.echartzz=JSON.parse(sessionStorage.getItem("lj")); this.echartzz=JSON.parse(sessionStorage.getItem("zz"));
this.chartinfo(this.chartdata); this.chartinfo(this.chartdata);
} }
} }
}, },
} }
</script> </script>
<style> <style>
.carousel-item-intro { .carousel-item-intro {
background-color:#a3b3b965; background-color:#D9E0E1;
-webkit-border-radius: 25px; -webkit-border-radius: 25px;
border-radius: 25px; border-radius: 25px;
-moz-border-radius: 15px; -moz-border-radius: 15px;
...@@ -304,7 +378,7 @@ ...@@ -304,7 +378,7 @@
box-shadow: 0 0 25px #a3b3b965; box-shadow: 0 0 25px #a3b3b965;
} }
.carousel-item-func { .carousel-item-func {
background-color: #52c578; background-color: #D9E0E1;
-webkit-border-radius: 25px; -webkit-border-radius: 25px;
border-radius: 25px; border-radius: 25px;
-moz-border-radius: 15px; -moz-border-radius: 15px;
...@@ -312,7 +386,8 @@ ...@@ -312,7 +386,8 @@
box-shadow: 0 0 25px #a3b3b965; box-shadow: 0 0 25px #a3b3b965;
} }
.carousel-item-env { .carousel-item-env {
background-color: #41a7b9; /*background-color: #41a7b9;*/
background-color: #D9E0E1;
-webkit-border-radius: 25px; -webkit-border-radius: 25px;
border-radius: 25px; border-radius: 25px;
-moz-border-radius: 15px; -moz-border-radius: 15px;
...@@ -321,23 +396,17 @@ ...@@ -321,23 +396,17 @@
} }
.ddiv1{ .ddiv1{
margin: auto; margin: auto;
width: 90%;
height: 90%; height: 90%;
} }
.div1{ .div1{
height:65%; height:65%;
margin-top: 5%; margin-top: 5%;
} }
.ddiv2{ .ddiv2{
margin: auto; margin: auto;
height: 90%; height: 90%;
} }
.div2{ .div2{
height:65%; height:65%;
margin-top: 5%; margin-top: 5%;
} }
......
...@@ -114,6 +114,7 @@ export default { ...@@ -114,6 +114,7 @@ export default {
} }
}, },
mounted() { mounted() {
this.$store.state.tab.mainTabs=[]
this.refreshCaptcha() this.refreshCaptcha()
}, },
computed:{ computed:{
......
...@@ -366,10 +366,10 @@ export default { ...@@ -366,10 +366,10 @@ export default {
height: 100%; height: 100%;
margin-right: 20px margin-right: 20px
} }
.block img{ /*.block img{*/
width: auto; /* width: auto;*/
height: 300px; /* height: 300px;*/
} /*}*/
.imtil{ .imtil{
padding:0 0 20px 0 padding:0 0 20px 0
} }
......
<template>
<div class="archive-administration">
<el-backtop target=".archive-administration" :right="70" :bottom="70"></el-backtop>
<div class="op">
<div class="fileNumber">
<el-input
v-model="fileNumber"
size="mini"
placeholder="请输入案卷号"
clearable></el-input>
</div>
<div class="createTime">
<el-date-picker
v-model="createTime"
type="date"
size="mini"
placeholder="请选择归档日期">
</el-date-picker>
</div>
<div class="ywtype">
<el-cascader
size="mini"
:options="options"
:props="{ checkStrictly: true }"
placeholder="请选择业务类型"
clearable
@change="handleChange">
</el-cascader>
</div>
<el-button
type="primary"
size="mini"
style="background:#148A9B;margin-left:10px"
icon="el-icon-search"
@click="paramSearch">搜索
</el-button>
<el-button
type="primary"
size="mini"
style="margin-left: 20px"
@click="searchAllArchiveList">
查看所有档案案卷
</el-button>
<el-button
type="primary"
size="mini"
style="margin-left: 20px"
@click="exportAllArchiveAllList">
导出所有档案案卷
</el-button>
</div>
<el-table
v-loading.fullscreen.lock="loading"
:data="tableData"
border
style="width: 100%">
<el-table-column
align="center"
label="序号"
type="index"
width="50"
:index="this.indexStart">
</el-table-column>
<el-table-column
align="center"
prop="type"
label="档案类别"
width="100">
</el-table-column>
<el-table-column
align="center"
prop="volumeNumber"
label="全宗号"
width="70">
</el-table-column>
<el-table-column
align="center"
prop="number"
label="档号"
width="180">
<template slot-scope="scope">
<el-button
type="text"
@click="getFileList(scope.row)">
{{scope.row.number}}
</el-button>
</template>
</el-table-column>
<el-table-column
align="center"
prop="year"
label="年度"
width="70">
</el-table-column>
<el-table-column
align="center"
prop="retentionPeriod"
label="保管期限"
width="60">
</el-table-column>
<el-table-column
align="center"
prop="institution"
label="机构(问题)"
width="70">
</el-table-column>
<el-table-column
align="center"
prop="responsiblePerson"
label="责任者"
width="130">
</el-table-column>
<el-table-column
align="center"
prop="title"
label="正题名"
width="330">
</el-table-column>
<el-table-column
align="center"
prop="startTimeStr"
label="起时间"
width="120">
</el-table-column>
<el-table-column
align="center"
prop="endTimeStr"
label="止时间"
width="120">
</el-table-column>
<el-table-column
align="center"
prop="pages"
label="页数"
width="60">
</el-table-column>
<el-table-column
align="center"
prop="files"
label="件数"
width="60">
</el-table-column>
<el-table-column
align="center"
prop="createTimeStr"
label="归档时间"
width="120">
</el-table-column>
<el-table-column
align="center"
prop="fileType"
label="档案类别"
width="100">
</el-table-column>
<el-table-column
align="center"
prop="secondaryCategory"
label="二级类目"
width="250">
</el-table-column>
<el-table-column
align="center"
prop="categoryType"
label="类别代码"
width="70">
</el-table-column>
<el-table-column
align="center"
prop="businessType"
label="业务类别"
width="250">
</el-table-column>
<el-table-column
align="center"
prop="fileNumber"
label="案卷号"
width="70">
</el-table-column>
<el-table-column
align="center"
fixed="right"
label="操作"
width="100">
<template slot-scope="scope">
<el-button
type="primary"
size="mini"
plain
@click="exportArchive(scope.row)">
导出
</el-button>
</template>
</el-table-column>
</el-table>
<el-button
class="fileButton"
type="primary"
@click="exportOneArchiveList">
导出当页案卷列表
</el-button>
<el-button
class="fileButton"
type="primary"
@click="exportAllArchiveList">
导出全部案卷列表
</el-button>
<el-pagination
class="pone"
:page-size="pageSize"
:page-sizes="[10, 30, 50, 100]"
@size-change="handleSizeChange"
layout="total, sizes, prev, pager, next, jumper"
:total="totals"
:current-page.sync="pageNum"
@current-change="current_change">
</el-pagination>
</div>
</template>
<script>
import CryptoJS from 'crypto-js'
import {baseUrl} from "../../utils/global"
import axios from "axios"
import Cookies from "js-cookie";
export default {
data() {
return {
tableData: [],
loading: false,
totals: 0,
pageNum: 1,
pageSize: 10,
indexStart: 1,
options: [{
value: {
eventType: 1,
eventTypeDetail: null,
},
label: '参保登记',
}, {
value: 2,
label: '信息变更',
disabled: true,
children: [{
value: {
eventType: 2,
eventTypeDetail: 1,
},
label: '档次变更',
}, {
value: {
eventType: 2,
eventTypeDetail: 2,
},
label: '银行卡变更',
}, {
value: {
eventType: 2,
eventTypeDetail: 3,
},
label: '手机号变更',
}, {
value: {
eventType: 2,
eventTypeDetail: 4,
},
label: '参保身份变更',
}, {
value: {
eventType: 2,
eventTypeDetail: 5,
},
label: '户籍地址变更',
}, {
value: {
eventType: 2,
eventTypeDetail: 6,
},
label: '姓名变更',
}, {
value: {
eventType: 2,
eventTypeDetail: 7,
},
label: '身份证变更',
}]
}, {
value: {
eventType: 3,
eventTypeDetail: null,
},
label: '待遇申请',
}, {
value: {
eventType: 4,
eventTypeDetail: null,
},
label: '参保注销',
}, {
value: {
eventType: 5,
eventTypeDetail: null,
},
label: '补缴保费',
}, {
value: {
eventType: 6,
eventTypeDetail: null,
},
label: '升档改办',
}, {
value: {
eventType: 7,
eventTypeDetail: null,
},
label: '关系转移',
}],
fileNumber: '',
createTime: '',
eventType: null,
eventTypeDetail: null,
}
},
methods: {
current_change(pageNum) {
this.pageNum = pageNum;
this.indexStart = (pageNum - 1) * this.pageSize + 1;
const data = {
pageNum: pageNum,
pageSize: this.pageSize,
fileNumber: this.fileNumber,
createTime: this.createTime,
eventType: this.eventType,
eventTypeDetail: this.eventTypeDetail,
};
this.search(data);
},
search(data) {
this.loading = true;
this.$api.getlist.selectArchive(data)
.then((response) => {
if (response.code === 200) {
this.tableData = response.data.content;
this.totals = response.data.totalSize;
}
})
.catch((response) => {
});
this.loading = false;
},
handleSizeChange(pageSize) {
this.pageSize = pageSize;
this.pageNum = 1;
this.indexStart = 1;
const data = {
pageNum: 1,
pageSize: pageSize,
fileNumber: this.fileNumber,
createTime: this.createTime,
eventType: this.eventType,
eventTypeDetail: this.eventTypeDetail,
};
this.search(data);
},
getFileList(row) {
this.$router.push({
name: "档案文件",
params: {
archiveObject: row
}
});
},
decrypt(word) {
var key = CryptoJS.enc.Utf8.parse("KkweInfo23255625");
var decrypt = CryptoJS.AES.decrypt(word, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7});
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
},
decryptByDES(ciphertext) {
var keyHex = CryptoJS.enc.Utf8.parse("KkweFace95271124");
var decrypted = CryptoJS.DES.decrypt({
ciphertext: CryptoJS.enc.Base64.parse(ciphertext)
}, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return decrypted.toString(CryptoJS.enc.Utf8);
},
exportArchive(archive) {
this.loading = true;
axios.get(baseUrl + '/archive/getArchivePdf', {
headers: {
"token": Cookies.get("token")
},
params: {
archiveId: archive.id
},
responseType: 'blob' //告诉服务器我们需要的响应格式
})
.then(res => {
let a = document.createElement("a");
let blob = new Blob([res.data], {
type: 'application/vnd.ms-excel' //将会被放入到blob中的数组内容的MIME类型
});
a.href = URL.createObjectURL(blob); //生成一个url
a.download = archive.number + "-" + archive.title + ".rar";
a.click();
this.loading = false;
})
.catch(err => {
console.log(err);
this.loading = false;
});
},
exportOneArchiveList() {
const data = {
pageNum: this.pageNum,
pageSize: this.pageSize,
fileNumber: this.fileNumber,
createTime: this.createTime,
eventType: this.eventType,
eventTypeDetail: this.eventTypeDetail,
}
this.exportArchiveList(data);
},
exportAllArchiveList() {
const data = {
pageNum: null,
pageSize: null,
fileNumber: this.fileNumber,
createTime: this.createTime,
eventType: this.eventType,
eventTypeDetail: this.eventTypeDetail,
};
this.exportArchiveList(data);
},
exportArchiveList(data) {
this.loading = true;
axios.post(baseUrl + '/exportExcel/archiveList', null, {
headers: {
"token": Cookies.get("token")
},
data: data,
responseType: 'blob' //告诉服务器我们需要的响应格式
})
.then(res => {
let a = document.createElement("a");
let blob = new Blob([res.data], {
type: 'application/vnd.ms-excel' //将会被放入到blob中的数组内容的MIME类型
});
a.href = URL.createObjectURL(blob); //生成一个url
a.download = "归档案卷列表" + Date.now() + ".xlsx";
a.click();
this.loading = false;
})
.catch(err => {
console.log(err);
this.loading = false;
});
},
handleChange(value) {
this.eventType = null;
this.eventTypeDetail = null;
for (const i in value) {
if (typeof (value[i].eventType) !== "undefined") {
this.eventType = value[i].eventType;
this.eventTypeDetail = value[i].eventTypeDetail;
break;
}
}
},
paramSearch() {
const data = {
pageNum: 1,
pageSize: this.pageSize,
fileNumber: this.fileNumber,
createTime: this.createTime,
eventType: this.eventType,
eventTypeDetail: this.eventTypeDetail,
};
this.search(data);
},
searchAllArchiveList() {
this.fileNumber = null;
this.createTime = null;
this.eventType = null;
this.eventTypeDetail = null;
const data = {
pageNum: 1,
pageSize: this.pageSize,
fileNumber: null,
createTime: null,
eventType: null,
eventTypeDetail: null,
};
this.search(data);
},
exportAllArchiveAllList() {
const data = {
pageNum: null,
pageSize: null,
fileNumber: null,
createTime: null,
eventType: null,
eventTypeDetail: null,
};
this.exportArchiveList(data);
},
},
created() {
this.loading = true;
const data = {
pageNum: 1,
pageSize: this.pageSize,
fileNumber: null,
createTime: null,
eventType: null,
eventTypeDetail: null,
};
this.$api.getlist.selectArchive(data)
.then((response) => {
if (response.code === 200) {
this.tableData = response.data.content;
this.totals = response.data.totalSize;
}
})
.catch((response) => {
});
this.loading = false;
}
}
</script>
<style scoped>
.pone {
margin-top: 20px;
margin-bottom: 20px;
}
.fileButton {
width: 10%;
margin-top: 10px;
}
.archive-administration {
height: 100%;
overflow-y: scroll;
}
.op {
display: flex;
align-items: center;
margin-bottom: 10px;
/*margin-top: 10px;*/
}
.createTime {
/*width: 250px;*/
margin-left: 20px;
}
.fileNumber {
width: 200px;
/*margin-left: 20px;*/
}
.ywtype {
/*width: 200px;*/
margin-left: 20px;
}
</style>
<template>
<div class="archive-expect">
<el-backtop target=".archive-expect" :right="70" :bottom="70"></el-backtop>
<el-table
v-loading.fullscreen.lock="loading"
:data="tableData"
border
style="width: 100%">
<!-- <el-table-column-->
<!-- align="center"-->
<!-- type="selection"-->
<!-- width="50">-->
<!-- </el-table-column>-->
<el-table-column
fixed
align="center"
label="序号"
type="index"
width="50"
:index="this.indexStart">
</el-table-column>
<el-table-column
fixed
label="文件列表"
type="expand"
width="60">
<template slot-scope="scope">
<el-table :data="scope.row.eventLogList" border style="width: 100%">
<el-table-column align="center" label="文件序号" type="index" width="60"></el-table-column>
<el-table-column align="center" prop="eventTimeStr" label="成文时间" width="180"></el-table-column>
<el-table-column align="center" prop="nameDec" label="姓名" width="100"></el-table-column>
<el-table-column align="center" prop="idcardDec" label="身份证" width="200"></el-table-column>
<el-table-column align="center" prop="concatAddress" label="乡镇/村社" width="200"></el-table-column>
<el-table-column
align="center"
label="附件"
width="600">
<template slot-scope="scope">
<div class="picPopover"
v-if="scope.row.idcardFrontPic">
<span style="float: top">身份证正面:</span>
<div style="float: top">
<el-popover
placement="bottom"
trigger="hover">
<img slot="reference" :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.idcardFrontPic" height="50px" width="50px" class="head_pic"/>
<img :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.idcardFrontPic" height="100%" width="100%" class="head_pic"/>
</el-popover>
</div>
</div>
<div class="picPopover"
v-if="scope.row.idcardBackPic">
<span style="float: top">身份证背面:</span>
<div style="float: top">
<el-popover
placement="bottom"
trigger="hover">
<img slot="reference" :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.idcardBackPic" height="50px" width="50px" class="head_pic"/>
<img :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.idcardBackPic" height="100%" width="100%" class="head_pic"/>
</el-popover>
</div>
</div>
<div class="picPopover"
v-if="scope.row.bankPic">
<span style="float: top">银行卡:</span>
<div style="float: top">
<el-popover
placement="bottom"
trigger="hover">
<img slot="reference" :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.bankPic" height="50px" width="50px" class="head_pic"/>
<img :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.bankPic" height="100%" width="100%" class="head_pic"/>
</el-popover>
</div>
</div>
<div class="picPopover"
v-if="scope.row.specialPhotoPic">
<span style="float: top">特殊证明:</span>
<div style="float: top">
<el-popover
placement="bottom"
trigger="hover">
<img slot="reference" :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.specialPhotoPic" height="50px" width="50px" class="head_pic"/>
<img :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.specialPhotoPic" height="100%" width="100%" class="head_pic"/>
</el-popover>
</div>
</div>
<div class="picPopover"
v-if="scope.row.bookPic">
<span style="float: top">户口簿:</span>
<div style="float: top">
<el-popover
placement="bottom"
trigger="hover">
<img slot="reference" :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.bookPic" height="50px" width="50px" class="head_pic"/>
<img :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.bookPic" height="100%" width="100%" class="head_pic"/>
</el-popover>
</div>
</div>
</template>
</el-table-column>
</el-table>
</template>
</el-table-column>
<el-table-column
align="center"
prop="eventSign"
label="业务类型"
:formatter="getEventType"
width="150">
</el-table-column>
<el-table-column
align="center"
prop="year"
label="年度"
width="70">
</el-table-column>
<el-table-column
align="center"
prop="title"
label="正题名"
width="330">
</el-table-column>
<el-table-column
align="center"
prop="startTimeStr"
label="起时间"
width="120">
</el-table-column>
<el-table-column
align="center"
prop="endTimeStr"
label="止时间"
width="120">
</el-table-column>
<el-table-column
align="center"
prop="pages"
label="页数"
width="60">
</el-table-column>
<el-table-column
align="center"
prop="files"
label="件数"
width="60">
</el-table-column>
<el-table-column
align="center"
prop="fileType"
label="档案类别"
width="100">
</el-table-column>
<el-table-column
align="center"
prop="secondaryCategory"
label="二级类目"
width="250">
</el-table-column>
<el-table-column
align="center"
prop="categoryType"
label="类别代码"
width="60">
</el-table-column>
<el-table-column
align="center"
prop="businessType"
label="业务类别"
width="250">
</el-table-column>
<el-table-column
align="center"
fixed="right"
label="操作"
width="200">
<template slot-scope="scope">
<el-input
onKeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))"
v-model="scope.row.fileNumber"
style="float: left;width: 63%"
placeholder="输入案卷号"
clearable
size="mini"></el-input>
<el-button
style="float: left;margin-left: 10px"
type="primary"
size="mini"
plain
@click="fileArchive(scope.row)">
归档
</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
class="pone"
:page-size="pageSize"
:page-sizes="[10, 50, 100]"
@size-change="handleSizeChange"
layout="total, sizes, prev, pager, next, jumper"
:total="totals"
:current-page.sync="pageNum"
@current-change="current_change">
</el-pagination>
</div>
</template>
<script>
import CryptoJS from 'crypto-js'
import {Loading} from 'element-ui';
export default {
data() {
return {
tableData: [],
loading: false,
totals: 0,
pageNum: 1,
pageSize: 10,
indexStart: 1,
}
},
methods: {
current_change(pageNum) {
this.pageNum = pageNum;
this.indexStart = (pageNum - 1) * this.pageSize + 1;
const data = {
pageNum: pageNum,
pageSize: this.pageSize,
};
this.search(data);
},
search(data) {
this.loading = true;
this.$api.getlist.selectExpectArchive(data)
.then((response) => {
if (response.code === 200) {
for (const i in response.data.content) {
for (const j in response.data.content[i].eventLogList) {
response.data.content[i].eventLogList[j].nameDec = this.$options.methods.decryptParam(response.data.content[i].eventLogList[j].name);
response.data.content[i].eventLogList[j].idcardDec = this.$options.methods.decryptParam(response.data.content[i].eventLogList[j].idcard);
}
}
this.tableData = response.data.content;
this.totals = response.data.totalSize;
}
})
.catch((response) => {
});
this.loading = false;
},
handleSizeChange(pageSize) {
this.pageSize = pageSize;
this.pageNum = 1;
this.indexStart = 1;
const data = {
pageNum: 1,
pageSize: pageSize,
};
this.search(data);
},
decrypt(word) {
var key = CryptoJS.enc.Utf8.parse("KkweInfo23255625");
var decrypt = CryptoJS.AES.decrypt(word, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7});
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
},
decryptByDES(ciphertext) {
var keyHex = CryptoJS.enc.Utf8.parse("KkweFace95271124");
var decrypted = CryptoJS.DES.decrypt({
ciphertext: CryptoJS.enc.Base64.parse(ciphertext)
}, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return decrypted.toString(CryptoJS.enc.Utf8);
},
decryptCellValue(row, column, cellValue) {
this.decryptParam(cellValue);
},
decryptParam(param) {
if (param === null || param === "") return null;
return this.decrypt(param);
},
fileArchive(archive) {
if (archive.fileNumber === null || archive.fileNumber === "" || archive.fileNumber < 0) {
this.$message({
showClose: true,
message: "请输入案卷号",
type: 'warning',
duration: 3000
});
return;
}
this.$confirm('该 ' + archive.title + ' 将归档为案卷号: ' + archive.fileNumber + ' 的档案, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.loading = true;
const archives = [archive];
this.fileArchives(archives);
}).catch(() => {
this.$message({
showClose: true,
type: 'info',
message: '已取消归档',
duration: 3000
});
});
},
fileArchives(archives) {
this.loading = true;
this.$api.getlist.fileArchives(archives)
.then((response) => {
if (response.code === 200) {
this.$message({
showClose: true,
message: response.data,
type: 'success',
duration: 10000
});
} else {
this.$message({
showClose: true,
message: response.message,
type: 'error',
duration: 10000
});
}
this.reload();
this.loading = false;
})
.catch((response) => {
this.$message({
showClose: true,
message: response.message,
type: 'error',
duration: 10000
});
this.loading = false;
});
},
reload() {
const data = {
pageNum: this.pageNum,
pageSize: this.pageSize,
eventType: this.eventType,
eventTypeDetail: this.eventTypeDetail,
};
this.search(data);
},
getEventType(row, column, cellValue) {
switch (cellValue) {
case "1" : return "参保登记";
case "3" : return "待遇申请";
case "4" : return "参保注销";
case "5" : return "补缴保费";
case "6" : return "升档改办";
case "7" : return "关系转移";
case "2-1" : return "信息变更/档次变更";
case "2-2" : return "信息变更/银行卡变更";
case "2-3" : return "信息变更/手机号变更";
case "2-4" : return "信息变更/参保身份变更";
case "2-5" : return "信息变更/户籍地址变更";
case "2-6" : return "信息变更/姓名变更";
case "2-7" : return "信息变更/身份证变更";
default : return null;
}
},
},
created() {
this.loading = true;
const data = {
pageNum: 1,
pageSize: this.pageSize
};
this.$api.getlist.selectExpectArchive(data)
.then((response) => {
if (response.code === 200) {
for (const i in response.data.content) {
for (const j in response.data.content[i].eventLogList) {
response.data.content[i].eventLogList[j].nameDec = this.$options.methods.decryptParam(response.data.content[i].eventLogList[j].name);
response.data.content[i].eventLogList[j].idcardDec = this.$options.methods.decryptParam(response.data.content[i].eventLogList[j].idcard);
}
}
this.tableData = response.data.content;
this.totals = response.data.totalSize;
console.log(this.tableData);
}
})
.catch((response) => {
});
this.loading = false;
}
}
</script>
<style scoped>
.pone {
margin-top: 20px;
margin-bottom: 20px;
}
.picPopover {
float: left;
margin-left: 20px;
}
.archive-expect {
height: 100%;
overflow-y: scroll;
}
</style>
...@@ -153,6 +153,9 @@ import Candode from "../Core/candode" ...@@ -153,6 +153,9 @@ import Candode from "../Core/candode"
},{ },{
value:"3", value:"3",
label:"未认证", label:"未认证",
},{
value:"4",
label:"今年未认证"
}], }],
//时间 //时间
time:"", time:"",
...@@ -215,20 +218,30 @@ import Candode from "../Core/candode" ...@@ -215,20 +218,30 @@ import Candode from "../Core/candode"
this.serchs(1) this.serchs(1)
}, },
serchs(p){ serchs(p){
var start="" var start=""
var end="" var end=""
if(this.time){ var sta=""
var d=this.time[0] if(this.state==4){
var s=this.time[1] sta=3
console.log(d) start="2019-01-01"
var mon=(parseInt(d.getMonth()) + 1) end="2019-12-31"
var emon=(parseInt(s.getMonth()) + 1) }else{
start = d.getFullYear()+"-"+mon+"-"+d.getDate() start=""
end=""
}
// var start=""
// var end=""
// if(this.time){
// var d=this.time[0]
// var s=this.time[1]
// console.log(d)
// var mon=(parseInt(d.getMonth()) + 1)
// var emon=(parseInt(s.getMonth()) + 1)
// start = d.getFullYear()+"-"+mon+"-"+d.getDate()
end=s.getFullYear()+"-"+emon+"-"+s.getDate() // end=s.getFullYear()+"-"+emon+"-"+s.getDate()
} // }
console.log(this.townList) console.log(this.townList)
var data={ var data={
province_name:"四川省", province_name:"四川省",
...@@ -239,7 +252,7 @@ import Candode from "../Core/candode" ...@@ -239,7 +252,7 @@ import Candode from "../Core/candode"
town_name:this.townList[0], town_name:this.townList[0],
village_name:this.townList[1], village_name:this.townList[1],
iDCard:this.idcard, iDCard:this.idcard,
match_state:this.state, match_state:sta?sta:this.state,
begin_time:start, begin_time:start,
end_time:end, end_time:end,
siType:this.cblx, siType:this.cblx,
......
<template> <template>
<div> <div>
<el-table <el-table
v-loading.fullscreen.lock="loading" v-loading.fullscreen.lock="loading"
:data="tableData" :data="tableData"
...@@ -18,16 +17,21 @@ ...@@ -18,16 +17,21 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="bankAccount" prop="bankAccount"
label="银行账号" label="人员类别"
min-width="20%"> min-width="20%">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="bank" prop="bankAccount"
label="所属银行" label="缴费年限"
min-width="10%">
</el-table-column>
<el-table-column
prop="bankAccount"
label="个人账户积累额"
min-width="20%"> min-width="20%">
</el-table-column> </el-table-column>
<el-table-column label="操作" <el-table-column label="操作"
min-width="20%"> min-width="10%">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
...@@ -45,9 +49,8 @@ ...@@ -45,9 +49,8 @@
:current-page.sync="PageNum" :current-page.sync="PageNum"
@current-change="current_change" @current-change="current_change"
> >
</el-pagination> </el-pagination>
<!-- <el-button type="success" @click="toexcel" style="margin:50px">全部导出</el-button>--> <!-- <el-button type="success" @click="toexcel" style="margin:50px">全部导出</el-button>-->
</div> </div>
</template> </template>
<script> <script>
...@@ -98,12 +101,12 @@ ...@@ -98,12 +101,12 @@
"pageSize": 10 "pageSize": 10
} }
Loading.service(); Loading.service();
this.$api.getlist.seleyhkbgdc(data).then((res) => { this.$api.getlist.seletsywdc(data).then((res) => {
let loadingInstance = Loading.service(); let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭 this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close(); loadingInstance.close();
}); });
if (res.code == 200) { if (res.code === 200) {
this.tableData = res.data.content this.tableData = res.data.content
this.totals = res.data.totalSize this.totals = res.data.totalSize
} }
...@@ -112,44 +115,44 @@ ...@@ -112,44 +115,44 @@
}); });
}, },
toexcel() { // toexcel() {
this.loading = true; // this.loading = true;
axios.get(baseUrl + '/exportExcel/updateBankCard', { // axios.get(baseUrl + '/exportExcel/updateBankCard', {
headers: { // headers: {
"token": Cookies.get("token") // "token": Cookies.get("token")
}, // },
responseType: 'blob' //告诉服务器我们需要的响应格式 // responseType: 'blob' //告诉服务器我们需要的响应格式
}) // })
.then(res => { // .then(res => {
let a = document.createElement("a"); // let a = document.createElement("a");
let blob = new Blob([res.data], { // let blob = new Blob([res.data], {
type: 'application/vnd.ms-excel' //将会被放入到blob中的数组内容的MIME类型 // type: 'application/vnd.ms-excel' //将会被放入到blob中的数组内容的MIME类型
});
a.href = URL.createObjectURL(blob); //生成一个url
a.download = "特殊业务表" + Date.now() + ".xlsx";
a.click();
// let objectUrl = URL.createObjectURL(blob); //生成一个url
// window.location.href = objectUrl; //浏览器打开这个url
this.loading = false;
})
.catch(err => {
console.log(err);
this.loading = false;
});
// this.$api.getlist.dccc().then((res) => {
// let loadingInstance = Loading.service();
// this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
// loadingInstance.close();
// }); // });
// if(res.code==200){ // a.href = URL.createObjectURL(blob); //生成一个url
// this.tableData=res.data.result // a.download = "特殊业务表" + Date.now() + ".xlsx";
// this.totals=res.data.total // a.click();
// } // // let objectUrl = URL.createObjectURL(blob); //生成一个url
// // window.location.href = objectUrl; //浏览器打开这个url
// }).catch((res) => { // this.loading = false;
// })
// .catch(err => {
// console.log(err);
// this.loading = false;
// }); // });
} // // this.$api.getlist.dccc().then((res) => {
// // let loadingInstance = Loading.service();
// // this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
// // loadingInstance.close();
// // });
// // if(res.code==200){
// // this.tableData=res.data.result
// // this.totals=res.data.total
// // }
//
// // }).catch((res) => {
//
// // });
// }
}, },
created() { created() {
var data = { var data = {
...@@ -157,12 +160,12 @@ ...@@ -157,12 +160,12 @@
"pageSize": 10 "pageSize": 10
} }
Loading.service(); Loading.service();
this.$api.getlist.seleyhkbgdc(data).then((res) => { this.$api.getlist.seletsywdc(data).then((res) => {
let loadingInstance = Loading.service(); let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭 this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close(); loadingInstance.close();
}); });
if (res.code == 200) { if (res.code === 200) {
this.tableData = res.data.content this.tableData = res.data.content
this.totals = res.data.totalSize this.totals = res.data.totalSize
} }
......
...@@ -107,7 +107,9 @@ ...@@ -107,7 +107,9 @@
<el-pagination <el-pagination
class="pone" class="pone"
:page-size='10' :page-size='10'
layout="total, prev, pager, next, jumper" :page-sizes="[10, 50, 100]"
@size-change="handleSizeChange"
layout="total, sizes, prev, pager, next, jumper"
:total="totals" :total="totals"
:current-page.sync="Page" :current-page.sync="Page"
@current-change="current_change" @current-change="current_change"
...@@ -164,6 +166,7 @@ ...@@ -164,6 +166,7 @@
return { return {
list:[], list:[],
pagesize:10,
name:"", name:"",
activities: [], activities: [],
options1: [], options1: [],
...@@ -177,6 +180,10 @@ ...@@ -177,6 +180,10 @@
} }
}, },
methods: { methods: {
handleSizeChange(val){
this.pagesize=val
this.serche(this.Page)
},
childByValue(val){ childByValue(val){
this.townList=val this.townList=val
}, },
...@@ -259,9 +266,13 @@ ...@@ -259,9 +266,13 @@
// return ''; // return '';
}, },
current_change(ss){ current_change(ss){
this.Page=ss
this.serche(ss)
},
serche(ss){
var data={ var data={
pageNum:ss, pageNum:ss,
pageSize:10, pageSize:this.pagesize,
idcard:this.idcard, idcard:this.idcard,
type:this.ywtype type:this.ywtype
} }
......
<template>
<div class="files-of-archive">
<el-backtop target=".files-of-archive" :right="70" :bottom="70"></el-backtop>
<div class="op">
<div class="archiveFileNumber">
<el-input
v-model="archiveFileNumber"
size="mini"
placeholder="请输入案卷号"
clearable></el-input>
</div>
<el-button
type="primary"
size="mini"
style="background:#148A9B;margin-left:10px"
icon="el-icon-search"
@click="paramSearch">搜索
</el-button>
<el-button
type="primary"
size="mini"
style="margin-left: 20px"
@click="searchAllArchiveFile">
查看所有档案文件
</el-button>
<el-button
type="primary"
size="mini"
style="margin-left: 20px"
@click="exportAllArchiveAllFileList">
导出所有档案文件
</el-button>
</div>
<div align="left" class="files-of-archive-form">
<el-form
ref="form"
:model="this.archiveObject"
label-position="left">
<el-form-item
label="当前档案案卷号"
label-width="110px"
style="width: 10%;float: left">
<div class="masks"></div>
<el-input
size="small"
v-if="this.archiveObject && this.archiveObject.archiveFileNumber"
v-model="this.archiveObject.archiveFileNumber">
</el-input>
<el-input
size="small"
v-else-if="this.archiveObject && this.archiveObject.fileNumber"
v-model="this.archiveObject.fileNumber">
</el-input>
<el-input size="small" v-else></el-input>
</el-form-item>
<el-form-item
label="当前档案案卷档号"
label-width="130px"
style="width: 20%;float: left;margin-left: 20px">
<div class="masks"></div>
<el-input
size="small"
v-if="this.archiveObject && this.archiveObject.number"
v-model="this.archiveObject.number">
</el-input>
<el-input size="small" v-else></el-input>
</el-form-item>
<el-form-item
label="当前档案案卷正题名"
label-width="140px"
style="width: 30%;float: left;margin-left: 20px">
<div class="masks"></div>
<el-input
size="small"
v-if="this.archiveObject && this.archiveObject.title"
v-model="this.archiveObject.title">
</el-input>
<el-input size="small" v-else></el-input>
</el-form-item>
</el-form>
</div>
<div class="files-of-archive-table">
<el-table
v-loading.fullscreen.lock="loading"
:data="tableData"
border
style="width: 100%">
<el-table-column
align="center"
label="序号"
type="index"
width="50"
:index="this.indexStart">
</el-table-column>
<el-table-column
align="center"
prop="type"
label="档案类别"
width="100">
</el-table-column>
<el-table-column
align="center"
prop="volumeNumber"
label="全宗号"
width="70">
</el-table-column>
<el-table-column
align="center"
prop="archiveNumber"
label="档号"
width="180">
</el-table-column>
<el-table-column
align="center"
prop="year"
label="年度"
width="70">
</el-table-column>
<el-table-column
align="center"
prop="retentionPeriod"
label="保管期限"
width="60">
</el-table-column>
<el-table-column
align="center"
prop="institution"
label="机构(问题)"
width="70">
</el-table-column>
<el-table-column
align="center"
prop="number"
label="本卷件号"
width="60">
</el-table-column>
<el-table-column
align="center"
prop="pageNumber"
label="页号"
width="70">
</el-table-column>
<el-table-column
align="center"
prop="responsiblePerson"
label="责任者"
width="130">
</el-table-column>
<el-table-column
align="center"
prop="title"
label="正题名"
width="550">
</el-table-column>
<el-table-column
align="center"
prop="writtenTimeStr"
label="成文时间"
width="120">
</el-table-column>
<el-table-column
align="center"
prop="annex"
label="附件"
width="300">
</el-table-column>
<el-table-column
align="center"
prop="createTimeStr"
label="归档时间"
width="120">
</el-table-column>
<el-table-column
align="center"
prop="fileType"
label="档案类别"
width="100">
</el-table-column>
<el-table-column
align="center"
prop="secondaryCategory"
label="二级类目"
width="250">
</el-table-column>
<el-table-column
align="center"
prop="categoryType"
label="类别代码"
width="60">
</el-table-column>
<el-table-column
align="center"
prop="name"
label="姓名"
width="100">
</el-table-column>
<el-table-column
align="center"
prop="idcard"
label="身份证"
width="200">
</el-table-column>
<el-table-column
align="center"
prop="concatAddress"
label="乡镇村社"
width="200">
</el-table-column>
<el-table-column
align="center"
prop="businessType"
label="业务类别"
width="250">
</el-table-column>
<el-table-column
align="center"
prop="archiveFileNumber"
label="案卷号"
width="70">
</el-table-column>
<el-table-column
align="center"
label="附件"
width="600">
<template slot-scope="scope">
<div class="picPopover"
v-if="scope.row.idcardFrontPic">
<span style="float: top">身份证正面:</span>
<div style="float: top">
<el-popover
placement="bottom"
trigger="hover">
<img slot="reference" :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.idcardFrontPic" height="50px" width="50px" class="head_pic"/>
<img :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.idcardFrontPic" height="100%" width="100%" class="head_pic"/>
</el-popover>
</div>
</div>
<div class="picPopover"
v-if="scope.row.idcardBackPic">
<span style="float: top">身份证背面:</span>
<div style="float: top">
<el-popover
placement="bottom"
trigger="hover">
<img slot="reference" :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.idcardBackPic" height="50px" width="50px" class="head_pic"/>
<img :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.idcardBackPic" height="100%" width="100%" class="head_pic"/>
</el-popover>
</div>
</div>
<div class="picPopover"
v-if="scope.row.bankPic">
<span style="float: top">银行卡:</span>
<div style="float: top">
<el-popover
placement="bottom"
trigger="hover">
<img slot="reference" :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.bankPic" height="50px" width="50px" class="head_pic"/>
<img :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.bankPic" height="100%" width="100%" class="head_pic"/>
</el-popover>
</div>
</div>
<div class="picPopover"
v-if="scope.row.specialPhotoPic">
<span style="float: top">特殊证明:</span>
<div style="float: top">
<el-popover
placement="bottom"
trigger="hover">
<img slot="reference" :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.specialPhotoPic" height="50px" width="50px" class="head_pic"/>
<img :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.specialPhotoPic" height="100%" width="100%" class="head_pic"/>
</el-popover>
</div>
</div>
<div class="picPopover"
v-if="scope.row.bookPic">
<span style="float: top">户口簿:</span>
<div style="float: top">
<el-popover
placement="bottom"
trigger="hover">
<img slot="reference" :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.bookPic" height="50px" width="50px" class="head_pic"/>
<img :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.bookPic" height="100%" width="100%" class="head_pic"/>
</el-popover>
</div>
</div>
</template>
</el-table-column>
</el-table>
<el-button
class="fileButton"
type="primary"
@click="exportOneArchiveFileList">
导出当页文件列表
</el-button>
<el-button
class="fileButton"
type="primary"
@click="exportAllArchiveFileList">
导出全部文件列表
</el-button>
<el-pagination
class="pone"
:page-size='pageSize'
:page-sizes="[10, 30, 50, 100]"
@size-change="handleSizeChange"
layout="total, sizes, prev, pager, next, jumper"
:total="totals"
:current-page.sync="pageNum"
@current-change="current_change">
</el-pagination>
</div>
</div>
</template>
<script>
import CryptoJS from 'crypto-js'
import {baseUrl} from "../../utils/global"
import axios from "axios"
import Cookies from "js-cookie";
export default {
data() {
return {
archiveObject: null,
tableData: [],
loading: false,
totals: 0,
pageNum: 1,
pageSize: 10,
indexStart: 1,
archiveFileNumber: '',
}
},
methods: {
current_change(pageNum) {
this.pageNum = pageNum;
this.indexStart = (pageNum - 1) * this.pageSize + 1;
const data = {
pageNum: pageNum,
pageSize: this.pageSize,
archiveFileNumber: this.archiveFileNumber,
archiveId: this.archiveObject ? this.archiveObject.id : null
};
this.search(data);
},
search(data) {
this.loading = true;
this.$api.getlist.selectArchiveFiles(data)
.then((response) => {
if (response.code === 200 && response.data.content[0].archiveFileList.length !== 0) {
for (const i in response.data.content[0].archiveFileList) {
if (response.data.content[0].archiveFileList[i].name !== null && response.data.content[0].archiveFileList[i].name !== "") {
response.data.content[0].archiveFileList[i].name = this.decrypt(response.data.content[0].archiveFileList[i].name);
}
if (response.data.content[0].archiveFileList[i].idcard !== null && response.data.content[0].archiveFileList[i].idcard !== "") {
response.data.content[0].archiveFileList[i].idcard = this.decrypt(response.data.content[0].archiveFileList[i].idcard);
}
if (response.data.content[0].archiveFileList[i].title !== null && response.data.content[0].archiveFileList[i].title !== "") {
response.data.content[0].archiveFileList[i].title = this.decrypt(response.data.content[0].archiveFileList[i].title);
}
}
this.archiveObject = response.data.content[0];
this.tableData = response.data.content[0].archiveFileList;
this.totals = response.data.totalSize;
} else {
this.archiveObject = null;
this.tableData = null;
this.totals = response.data.totalSize;
}
})
.catch((response) => {
this.archiveObject = null;
this.tableData = null;
});
this.loading = false;
},
handleSizeChange(pageSize) {
this.pageNum = 1;
this.pageSize = pageSize;
this.indexStart = 1;
const data = {
pageNum: 1,
pageSize: pageSize,
archiveFileNumber: this.archiveFileNumber,
archiveId: this.archiveObject ? this.archiveObject.id : null
};
this.search(data);
},
decrypt(word) {
var key = CryptoJS.enc.Utf8.parse("KkweInfo23255625");
var decrypt = CryptoJS.AES.decrypt(word, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7});
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
},
decryptByDES(ciphertext) {
var keyHex = CryptoJS.enc.Utf8.parse("KkweFace95271124");
var decrypted = CryptoJS.DES.decrypt({
ciphertext: CryptoJS.enc.Base64.parse(ciphertext)
}, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return decrypted.toString(CryptoJS.enc.Utf8);
},
searchAllArchiveFile() {
this.pageNum = 1;
this.indexStart = 1;
this.archiveFileNumber = '';
this.archiveObject = null;
sessionStorage.setItem("archiveObject", null);
const data = {
pageNum: 1,
pageSize: this.pageSize,
archiveFileNumber: '',
archiveId: null
};
this.search(data);
},
exportOneArchiveFileList() {
const data = {
pageNum: this.pageNum,
pageSize: this.pageSize,
archiveFileNumber: this.archiveFileNumber,
archiveId: this.archiveObject ? this.archiveObject.id : null
};
this.exportArchiveFileList(data);
},
exportAllArchiveFileList() {
const data = {
pageNum: null,
pageSize: null,
archiveFileNumber: this.archiveFileNumber,
archiveId: this.archiveObject ? this.archiveObject.id : null
};
this.exportArchiveFileList(data);
},
exportAllArchiveAllFileList() {
const data = {
pageNum: null,
pageSize: null,
archiveFileNumber: '',
archiveId: null
};
this.exportArchiveFileList(data);
},
exportArchiveFileList(data) {
this.loading = true;
axios.post(baseUrl + '/exportExcel/archiveFileList', null, {
headers: {
"token": Cookies.get("token")
},
data: data,
responseType: 'blob' //告诉服务器我们需要的响应格式
})
.then(res => {
let a = document.createElement("a");
let blob = new Blob([res.data], {
type: 'application/vnd.ms-excel' //将会被放入到blob中的数组内容的MIME类型
});
a.href = URL.createObjectURL(blob); //生成一个url
a.download = "案卷文件列表" + Date.now() + ".xlsx";
a.click();
this.loading = false;
})
.catch(err => {
console.log(err);
this.loading = false;
});
},
paramSearch() {
const data = {
pageNum: 1,
pageSize: this.pageSize,
archiveFileNumber: this.archiveFileNumber,
archiveId: null,
};
this.search(data);
},
},
created() {
// this.loading = true;
if (typeof (this.$route.params.archiveObject) !== "undefined" && this.$route.params.archiveObject) {
sessionStorage.setItem("archiveObject", JSON.stringify(this.$route.params.archiveObject));
}
if (JSON.parse(sessionStorage.getItem("archiveObject"))) {
this.archiveObject = JSON.parse(sessionStorage.getItem("archiveObject"));
}
const data = {
pageNum: 1,
pageSize: this.pageSize,
archiveFileNumber: '',
archiveId: this.archiveObject ? this.archiveObject.id : null
};
this.$api.getlist.selectArchiveFiles(data)
.then((response) => {
if (response.code === 200) {
if (response.data.content[0].archiveFileList.length !== 0) {
for (const i in response.data.content[0].archiveFileList) {
if (response.data.content[0].archiveFileList[i].name !== null && response.data.content[0].archiveFileList[i].name !== "") {
response.data.content[0].archiveFileList[i].name = this.decrypt(response.data.content[0].archiveFileList[i].name);
}
if (response.data.content[0].archiveFileList[i].idcard !== null && response.data.content[0].archiveFileList[i].idcard !== "") {
response.data.content[0].archiveFileList[i].idcard = this.decrypt(response.data.content[0].archiveFileList[i].idcard);
}
if (response.data.content[0].archiveFileList[i].title !== null && response.data.content[0].archiveFileList[i].title !== "") {
response.data.content[0].archiveFileList[i].title = this.decrypt(response.data.content[0].archiveFileList[i].title);
}
}
this.tableData = response.data.content[0].archiveFileList;
this.totals = response.data.totalSize;
} else {
this.archiveObject = null;
this.tableData = null;
this.totals = response.data.totalSize;
}
}
})
.catch((response) => {
});
this.loading = false;
}
}
</script>
<style scoped>
.pone {
margin-top: 20px;
margin-bottom: 20px;
}
.picPopover {
float: left;
margin-left: 20px;
}
.fileButton {
width: 10%;
margin-top: 10px;
}
.masks {
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
z-index: 200
}
.files-of-archive {
height: 100%;
overflow-y: scroll;
}
.op {
display: flex;
align-items: center;
margin-bottom: 10px;
/*margin-top: 10px;*/
}
.archiveNumber {
/*width: 250px;*/
margin-left: 20px;
}
.archiveFileNumber {
width: 200px;
/*margin-left: 20px;*/
}
</style>
<template>
<div>
<el-alert
align="left"
title="请上传格式完全相同的excel,格式如下:"
type="warning"
:closable="false"
show-icon>
</el-alert>
<table style="text-align: center;border-collapse: collapse" cellspacing="0px" cellpadding="0px">
<tr>
<td style="border: 1px solid black">统筹区</td>
<td style="border: 1px solid black">街道或乡镇名称</td>
<td style="border: 1px solid black">社区名称</td>
<td style="border: 1px solid black">所属组</td>
<td style="border: 1px solid black">户口所在地</td>
<td style="border: 1px solid black">户口性质</td>
<td style="border: 1px solid black">个人编号</td>
<td style="border: 1px solid black">证件号码</td>
<td style="border: 1px solid black">姓名</td>
<td style="border: 1px solid black">性别</td>
<td style="border: 1px solid black">民族</td>
<td style="border: 1px solid black">出生日期</td>
<td style="border: 1px solid black">险种类型</td>
<td style="border: 1px solid black">参保状态</td>
<td style="border: 1px solid black">是否老农保</td>
<td style="border: 1px solid black">缴费状态</td>
<td style="border: 1px solid black">缴费档次</td>
<td style="border: 1px solid black">人员类别</td>
<td style="border: 1px solid black">离退休标志</td>
<td style="border: 1px solid black">个人身份</td>
<td style="border: 1px solid black">参保日期</td>
<td style="border: 1px solid black">档案编号</td>
</tr>
</table>
<el-upload
style="margin-top: 10px"
class="upload-demo"
ref="upload1"
:action="baseInfoUrl"
multiple
drag
accept=".xls,.xlsx"
:limit="1"
:headers="myHeader"
:before-upload="handleBeforeUpload"
:file-list="fileList"
:on-exceed="handleExceed"
:on-success="uploadSuccess"
:on-error="uploadError"
:auto-upload="false">
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
<div slot="tip" class="el-upload__tip">只能上传xls/xlsx文件,一次最多只能上传1个文件</div>
</el-upload>
<el-button
style="margin-top: 10px"
size="small"
type="success"
@click="submitUpload1"
v-loading.fullscreen.lock="loading">数据导入</el-button>
<el-dialog
ref="dialog"
:title="dialogTitle"
width="30%"
:visible.sync="dialogVisible">
<span v-text="dialogContent" style="font-size: 16px"></span>
</el-dialog>
</div>
</template>
<script>
import {baseUrl} from "../../utils/global";
import Cookies from "js-cookie";
let uploadedList = [];
export default {
name: "importBaseInfoByExcel",
data() {
return {
baseInfoUrl: baseUrl + "/baseInfo/importFromNewExcel",
myHeader: {
token: Cookies.get("token")
},
fileList: [],
dialogTitle: "",
dialogVisible: false,
dialogContent: "",
loading: false
};
},
methods: {
submitUpload1() {
this.$refs.upload1.submit();
},
handleExceed() {
this.$message.warning("当前限制选择 1 个文件,请删除后继续上传");
},
handleBeforeUpload(file) {
this.loading = true;
if (!file.name.endsWith(".xls") && !file.name.endsWith(".xlsx")) {
this.$message.warning(file.name + "不是excel文件");
this.loading = false;
return false;
}
// if (uploadedList.includes(file.name)) {
// this.$message.warning(file.name + "已被选中过,请勿重复选择");
// return false;
// }
// uploadedList.push(file.name);
},
async uploadSuccess(response) {
this.fileList = [];
this.dialogTitle = "导入结果";
this.dialogContent = response.data;
// this.dialogVisible = true;
this.loading = false;
// console.log("upload success");
this.$message({
type: "success",
message: response.data,
showClose: true,
duration: 0
});
},
async uploadError(response) {
this.fileList = [];
this.dialogTitle = "导入结果";
this.dialogContent = "导入失败";
// this.dialogVisible = true;
this.loading = false;
// console.log(response);
this.$alert(response.data, '导入结果', {
confirmButtonText: '确定',
callback: action => {
// this.$message({
// type: 'info',
// message: `action: ${ action }`
// });
}
});
},
}
}
</script>
<style scoped>
</style>
<template>
<div>
<el-alert
align="left"
title="请上传格式完全相同的excel,格式如下:"
type="warning"
:closable="false"
show-icon>
</el-alert>
<table style="text-align: center;border-collapse: collapse" cellspacing="0px" cellpadding="0px">
<tr>
<td style="border: 1px solid black">乡镇</td>
<td style="border: 1px solid black">村(社区)</td>
<td style="border: 1px solid black">村组</td>
<td style="border: 1px solid black">户籍地地址</td>
<td style="border: 1px solid black">常住地地址</td>
<td style="border: 1px solid black">个人编号</td>
<td style="border: 1px solid black">证件号码</td>
<td style="border: 1px solid black">姓名</td>
<td style="border: 1px solid black">待遇发放状态</td>
<td style="border: 1px solid black">最大发放期</td>
<td style="border: 1px solid black">银行</td>
<td style="border: 1px solid black">户名</td>
<td style="border: 1px solid black">账号</td>
<td style="border: 1px solid black">视同缴费月数</td>
<td style="border: 1px solid black">实际缴费月数</td>
<td style="border: 1px solid black">军龄折算月数</td>
<td style="border: 1px solid black">特殊工种折算月数</td>
<td style="border: 1px solid black">离退休日期</td>
<td style="border: 1px solid black">当前月领取标准</td>
<td style="border: 1px solid black">个人账户总金额</td>
<td style="border: 1px solid black">省级财政部分所占比例</td>
<td style="border: 1px solid black">市级财政部分所占比例</td>
<td style="border: 1px solid black">县级财政部分所占比例</td>
<td style="border: 1px solid black">集体补助部分所占比例</td>
<td style="border: 1px solid black">个人缴费部分所占比例</td>
</tr>
</table>
<!-- <el-table-->
<!-- border-->
<!-- style="width: 100%">-->
<!-- <el-table-column-->
<!-- label="乡镇">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="村(社区)">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="村组">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="户籍地地址">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="常住地地址">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="个人编号">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="证件号码">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="姓名">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="待遇发放状态">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="最大发放期">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="银行">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="户名">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="账号">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="视同缴费月数">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="实际缴费月数">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="军龄折算月数">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="特殊工种折算月数">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="离退休日期">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="当前月领取标准">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="个人账户总金额">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="省级财政部分所占比例">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="市级财政部分所占比例">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="县级财政部分所占比例">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="集体补助部分所占比例">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="个人缴费部分所占比例">-->
<!-- </el-table-column>-->
<!-- </el-table>-->
<el-upload
style="margin-top: 10px"
class="upload-demo"
ref="upload3"
:action="grantInfoUrl"
multiple
drag
accept=".xls,.xlsx"
:limit="1"
:headers="myHeader"
:before-upload="handleBeforeUpload"
:file-list="fileList"
:on-exceed="handleExceed"
:on-success="uploadSuccess"
:on-error="uploadError"
:auto-upload="false">
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
<div slot="tip" class="el-upload__tip">只能上传xls/xlsx文件,一次最多只能上传1个文件</div>
</el-upload>
<el-button
style="margin-top: 10px"
size="small"
type="success"
@click="submitUpload3"
v-loading.fullscreen.lock="loading">数据导入
</el-button>
<el-dialog
ref="dialog"
:title="dialogTitle"
width="30%"
:visible.sync="dialogVisible">
<span v-text="dialogContent" style="font-size: 16px"></span>
</el-dialog>
</div>
</template>
<script>
import {baseUrl} from "../../utils/global";
import Cookies from "js-cookie";
let uploadedList = [];
export default {
name: "importGrantInfoByExcel",
data() {
return {
grantInfoUrl: baseUrl + "/grantInfo/importFromExcel",
myHeader: {
token: Cookies.get("token")
},
fileList: [],
dialogTitle: "",
dialogVisible: false,
dialogContent: "",
loading: false
};
},
methods: {
submitUpload3() {
this.$refs.upload3.submit();
},
handleExceed() {
this.$message.warning("当前限制选择 1 个文件,请删除后继续上传");
},
handleBeforeUpload(file) {
this.loading = true;
if (!file.name.endsWith(".xls") && !file.name.endsWith(".xlsx")) {
this.$message.warning(file.name + "不是excel文件");
this.loading = false;
return false;
}
// if (uploadedList.includes(file.name)) {
// this.$message.warning(file.name + "已被选中过,请勿重复选择");
// return false;
// }
// uploadedList.push(file.name);
},
async uploadSuccess(response) {
this.fileList = [];
this.dialogTitle = "导入结果";
this.dialogContent = response.data;
// this.dialogVisible = true;
this.loading = false;
// console.log("upload success");
this.$message({
type: "success",
message: response.data,
showClose: true,
duration: 0
});
},
async uploadError(response) {
this.fileList = [];
this.dialogTitle = "导入结果";
this.dialogContent = "导入失败";
// this.dialogVisible = true;
this.loading = false;
// console.log(response);
this.$alert(response.data, '导入结果', {
confirmButtonText: '确定',
callback: action => {
// this.$message({
// type: 'info',
// message: `action: ${ action }`
// });
}
});
},
}
}
</script>
<style scoped>
</style>
<template>
<div>
<el-alert
align="left"
title="请上传格式完全相同的excel,格式如下:"
type="warning"
:closable="false"
show-icon>
</el-alert>
<table style="text-align: center;border-collapse: collapse" cellspacing="0px" cellpadding="0px">
<tr>
<td style="border: 1px solid black">个人编号</td>
<td style="border: 1px solid black">公民身份证</td>
<td style="border: 1px solid black">姓名</td>
<td style="border: 1px solid black">当前人员类别</td>
<td style="border: 1px solid black">缴费档次</td>
<td style="border: 1px solid black">应缴类型</td>
<td style="border: 1px solid black">个人应缴</td>
<td style="border: 1px solid black">个级财政补助和</td>
<td style="border: 1px solid black">代缴金额</td>
<td style="border: 1px solid black">对应费款所属期</td>
<td style="border: 1px solid black">险种类型</td>
<td style="border: 1px solid black">收缴方式</td>
<td style="border: 1px solid black">足额到账标志</td>
<td style="border: 1px solid black">足额到账年月</td>
<td style="border: 1px solid black">经办时间</td>
<td style="border: 1px solid black">经办人</td>
<td style="border: 1px solid black">征收方式</td>
<td style="border: 1px solid black">银行编号</td>
<td style="border: 1px solid black">银行账号</td>
<td style="border: 1px solid black">乡镇</td>
<td style="border: 1px solid black"></td>
<td style="border: 1px solid black"></td>
<td style="border: 1px solid black">地址</td>
<td style="border: 1px solid black">户口所在地</td>
</tr>
</table>
<el-upload
style="margin-top: 10px"
class="upload-demo"
ref="upload2"
:action="payInfoUrl"
multiple
drag
accept=".xls,.xlsx"
:limit="1"
:headers="myHeader"
:before-upload="handleBeforeUpload"
:file-list="fileList"
:on-exceed="handleExceed"
:on-success="uploadSuccess"
:on-error="uploadError"
:auto-upload="false">
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
<div slot="tip" class="el-upload__tip">只能上传xls/xlsx文件,一次最多只能上传1个文件</div>
</el-upload>
<el-button
style="margin-top: 10px"
size="small"
type="success"
@click="submitUpload2"
v-loading.fullscreen.lock="loading">数据导入</el-button>
<el-dialog
ref="dialog"
:title="dialogTitle"
width="30%"
:visible.sync="dialogVisible">
<span v-text="dialogContent" style="font-size: 16px"></span>
</el-dialog>
</div>
</template>
<script>
import {baseUrl} from "../../utils/global";
import Cookies from "js-cookie";
let uploadedList = [];
export default {
name: "importPayInfoByExcel",
data() {
return {
payInfoUrl: baseUrl + "/payInfo/importFromExcel",
myHeader: {
token: Cookies.get("token")
},
fileList: [],
dialogTitle: "",
dialogVisible: false,
dialogContent: "",
loading: false
};
},
methods: {
submitUpload2() {
this.$refs.upload2.submit();
},
handleExceed() {
this.$message.warning("当前限制选择 1 个文件,请删除后继续上传");
},
handleBeforeUpload(file) {
this.loading = true;
if (!file.name.endsWith(".xls") && !file.name.endsWith(".xlsx")) {
this.$message.warning(file.name + "不是excel文件");
this.loading = false;
return false;
}
// if (uploadedList.includes(file.name)) {
// this.$message.warning(file.name + "已被选中过,请勿重复选择");
// return false;
// }
// uploadedList.push(file.name);
},
async uploadSuccess(response) {
this.fileList = [];
this.dialogTitle = "导入结果";
this.dialogContent = response.data;
// this.dialogVisible = true;
this.loading = false;
// console.log("upload success");
this.$message({
type: "success",
message: response.data,
showClose: true,
duration: 0
});
},
async uploadError(response) {
this.fileList = [];
this.dialogTitle = "导入结果";
this.dialogContent = "导入失败";
// this.dialogVisible = true;
this.loading = false;
// console.log(response);
this.$alert(response.data, '导入结果', {
confirmButtonText: '确定',
callback: action => {
// this.$message({
// type: 'info',
// message: `action: ${ action }`
// });
}
});
},
}
}
</script>
<style scoped>
</style>
<template>
<div>
<h2 class="imtil">基础信息</h2>
<div class="wrap">
<div class="masks"></div>
<el-form ref="form" :model="form" class="fo" label-width="120px">
<el-form-item label="姓名">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="性别">
<el-input v-model="form.sex"></el-input>
</el-form-item>
<el-form-item label="民族">
<el-input v-model="form.nation"></el-input>
</el-form-item>
<el-form-item label="缴费标准">
<el-input v-model="form.pay_type"></el-input>
</el-form-item>
<el-form-item label="特殊参保群体">
<el-input v-model="form.special_type"></el-input>
</el-form-item>
<el-form-item label="险种类型">
<el-input v-model="form.org_insuranceType"></el-input>
</el-form-item>
</el-form>
<el-form ref="form" :model="form" class="fo" label-width="90px">
<el-form-item label="身份证号">
<el-input v-model="form.identity_number"></el-input>
</el-form-item>
<el-form-item label="户籍性质">
<el-input v-model="form.nation_type"></el-input>
</el-form-item>
<el-form-item label="户籍所在地">
<el-input v-model="form.townName"></el-input>
</el-form-item>
<el-form-item label="联系电话">
<el-input v-model="form.telphoneValue"></el-input>
</el-form-item>
<el-form-item label="开户银行">
<el-input v-model="form.pay_bank"></el-input>
</el-form-item>
<el-form-item label="缴费账号">
<el-input v-model="form.pay_account"></el-input>
</el-form-item>
</el-form>
</div>
<h2 class="imtil">变更信息</h2>
<div class="wrap">
<div class="masks"></div>
<el-form ref="form" :model="form" class="fo" label-width="150px">
<el-form-item :label="old">
<el-input v-model="form.old"></el-input>
</el-form-item>
</el-form>
<el-form ref="form" :model="form" class="fo" label-width="150px">
<el-form-item :label="now">
<el-input v-model="form.now"></el-input>
</el-form-item>
</el-form>
</div>
<h2 class="imtil">附件</h2>
<div class="imgcon">
<div class="demo-image__placeholder">
<div v-show="bb" class="block">
<p class="demonstration">{{itmebs}}</p>
<el-image :src="urls[0]"></el-image>
</div>
<div class="block">
<p class="demonstration">签名</p>
<el-image :src="urls[1]">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
<div class="block">
<p class="demonstration">身份证正面</p>
<el-image :src="urls[2]">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
<div class="block">
<p class="demonstration">身份证反面</p>
<el-image :src="urls[3]">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
</div>
</div>
<div style="text-align:center;margin-bottom:40px" v-show="show">
<el-button type="success" @click="pass"><i class="el-icon-circle-check"></i> 审核通过</el-button>
<el-button type="danger" @click="nopass"><i class="el-icon-circle-close"></i> 审核不通过</el-button>
</div>
</div>
</template>
<script>
import CryptoJS from 'crypto-js'
import { Loading } from 'element-ui';
export default {
data(){
return{
itmebs:"",
show:'',
old:"原姓名",
now:"变更后姓名",
bb:false,
form:{
"name":"",
"bank_photo":"",
"groupName":"",
"identity_number":"",
"nation":'',
"nation_type":"",
"other_social":"",
"pay_account":"",
"pay_bank":"",
"pay_type":'',
"recordType":'',
"sex":'',
"sign_photo":"",
"social_time":"",
"special_type":"",
"telphoneValue":"",
"townName":"",
"villageName":"",
"address":"",
"wuserId":'',
"old":"",
"now":"",
org_insuranceType: ""
},
urls: [
],
show:""
}
},
methods:{
//审核通过
pass(){
this.$confirm('是否审核通过?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
customClass:"box"
}).then(() => {
Loading.service();
var data={
recordId: sessionStorage.getItem("recordId"),
examineState:1,
remark:"",
userId:1
};
this.$api.getlist.shenhe(data).then((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
if(res.code==200){
this.$message({
type: 'success',
message: res.data
});
this.$router.push({
name:"信息审核"
})
}else{
this.$message({
type: 'info',
message: res.message
});
}
}).catch((res) => {
let loadingInstance = Loading.service();
that.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
this.$message({
type: 'info',
message: '操作失败!'+res
});
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消操作'
});
});
},
//审核不通过
nopass(){
var that=this
this.$prompt('请输入原因', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
customClass:"box"
}).then(({ value }) => {
if(value){
Loading.service();
var data={
recordId: sessionStorage.getItem("recordId"),
examineState:2,
remark:value,
userId:1
};
this.$api.getlist.shenhe(data).then((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
if(res.code==200){
this.$message({
type: 'success',
message: res.data
});
// this.$router.push({
// name:"Xxsh"
// })
}else{
this.$message({
type: 'info',
message: res.message
});
}
}).catch((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
this.$message({
type: 'info',
message: '操作失败!'+res
});
});
}else{
let loadingInstance = Loading.service();
that.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
that.$message({
type: 'info',
message: '请输入原因',
});
}
}).catch(() => {
this.$message({
type: 'info',
message: '已取消输入'
});
});
},
decrypt(word){
var key = CryptoJS.enc.Utf8.parse("KkweInfo23255625");
var decrypt = CryptoJS.AES.decrypt(word, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
},
decryptByDES(ciphertext) {
var keyHex = CryptoJS.enc.Utf8.parse("KkweFace95271124");
var decrypted = CryptoJS.DES.decrypt({
ciphertext: CryptoJS.enc.Base64.parse(ciphertext)
}, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return decrypted.toString(CryptoJS.enc.Utf8);
}
},
created(){
this.show=this.$route.params.show
this.show=this.$route.params.show
if(this.$route.params.info){
sessionStorage.setItem("info",this.$route.params.info)
}
if(this.$route.params.info){
var a=JSON.stringify(this.$route.params)
sessionStorage.setItem("items",a)
}
this.form =JSON.parse(sessionStorage.getItem("info"))
this.form.special_type=this.form.org_name.org_insuranceType
this.form.name=this.decrypt(this.form.org_name)
//this.form.name=this.form.org_name
this.form.identity_number=this.decrypt(this.form.org_idNum)
// this.form.telphoneValue=this.decrypt(this.form.telphoneValue)
this.form.nation=this.form.nation
this.form.pay_bank=this.form.org_bankName
this.form.pay_type=this.form.org_pay
this.form.special_type=this.form.org_position
this.form.telphoneValue=this.decrypt(this.form.org_telPhone)
this.form.address=this.form.org_address
this.form.pay_account=this.form.org_bankNum
//根据type_son判断变更内容
if(this.form.type_son==1){
this.form.old=this.form.pay_type,
this.form.now=this.form.change_pay
this.now="变更后档次"
this.old="变更前档次"
}else if(this.form.type_son==2){
this.bb=true
this.form.old=this.form.org_bankNum,
this.form.now=this.form.change_bankNum
this.now="变更后银行卡号"
this.old="变更前银行卡号"
}else if(this.form.type_son==3){
this.form.old=this.form.telphoneValue,
this.form.now=this.form.change_tel
this.now="变更后手机号"
this.old="变更前手机号"
}else if(this.form.type_son==4){
this.form.old=this.form.special_type,
this.form.now=this.form.change_position,
this.now="变更后参保身份"
this.old="变更前参保身份"
}else if(this.form.type_son==5){
this.form.old=this.form.org_address,
this.form.now=this.form.change_adress,
this.now="变更后地址"
this.old="变更前地址"
}else if(this.form.type_son==6){
this.form.old=this.form.name,
this.form.now=this.form.change_name,
this.now="变更后姓名"
this.old="变更前姓名"
}else if(this.form.type_son==7){
this.form.old=this.form.identity_number,
this.form.now=this.decrypt(this.form.change_idNum),
this.now="变更后身份证"
this.old="变更前身份证"
}
var obj=JSON.parse(sessionStorage.getItem("items"))
console.log(obj)
if(obj.bankpic){
this.itmebs="银行卡"
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/"+obj.bankpic)
}else if(obj.bookPic){
this.itmebs="户口本"
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/"+obj.bookPic)
}else if(obj.specialPhotoPic){
this.itmebs="特殊身份证明"
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/"+obj.specialPhotoPic)
}else{
this.urls.push(" ")
}
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/"+obj.signpic)
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/"+obj.idcardfrontpic)
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/"+obj.idcardbackpic)
this.form.sex= this.form.sex==1?"男":"女"
}
}
</script>
<style>
.wrap{
position: relative;
}
.masks{
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
z-index: 200
}
.box{
width: 90% !important
}
.fo{
width: 90%
}
.imgcon{
margin: 0 auto;
box-shadow: 0 0 15px lightgray;
overflow: hidden;
margin-bottom: 40px
}
.block{
width: 23%
}
.block{
float: left;
height: 100%;
margin-right: 20px
}
.imtil{
padding:0 0 20px 0
}
</style>
<template>
<div>
<h2 class="imtil">基础信息</h2>
<div class="wrap">
<div v-if="!this.show" class="masks"></div>
<el-form ref="form4" :model="form4" class="form4" label-width="auto">
<el-form-item label="被终止人姓名姓名">
<el-input v-model="form4.name"></el-input>
</el-form-item>
<el-form-item label="出生日期">
<el-input v-model="form4.birth_day"></el-input>
</el-form-item>
<el-form-item label="人员类型">
<el-input v-model="form4.per_type"></el-input>
</el-form-item>
</el-form>
<el-form ref="form4" :model="form4" class="form4" label-width="auto">
<el-form-item label="性别">
<el-input v-model="form4.sex"></el-input>
</el-form-item>
<el-form-item label="身份证号码">
<el-input v-model="form4.identity_number"></el-input>
</el-form-item>
<el-form-item label="户籍地址">
<el-input v-model="form4.address"></el-input>
</el-form-item>
</el-form>
</div>
<h2 class="imtil">参保注销信息</h2>
<div class="wrap">
<div v-if="!this.show" class="masks"></div>
<el-form ref="form4" :model="form4" class="form4" label-width="auto">
<el-form-item label="终止原因">
<el-input v-model="form4.cancel_res"></el-input>
</el-form-item>
<el-form-item label="死亡时间">
<el-input v-model="form4.death_day"></el-input>
</el-form-item>
<el-form-item label="停发时间">
<el-input v-model="form4.stop_time"></el-input>
</el-form-item>
<el-form-item label="重复地区及险种">
<el-input v-model="form4.repet_type"></el-input>
</el-form-item>
</el-form>
<el-form ref="form4" :model="form4" class="form4" label-width="auto">
<el-form-item label="户籍迁往地区">
<el-input v-model="form4.addres_new"></el-input>
</el-form-item>
<el-form-item label="丧葬形式">
<el-input v-model="form4.bad_type"></el-input>
</el-form-item>
<el-form-item label="停发的追回金额">
<el-input v-model="form4.reback_money"></el-input>
</el-form-item>
<el-form-item label="重复地区及险种的追回金额">
<el-input v-if="this.show" placeholder="如有金额请输入"></el-input>
<el-input v-if="!this.show"></el-input>
</el-form-item>
</el-form>
</div>
<h2 class="imtil">个人账户终止结算信息</h2>
<div class="wrap">
<div v-if="!this.show" class="masks"></div>
<el-form ref="form4" :model="form4" class="form4" label-width="auto">
<el-form-item label="个人账户余额">
<el-input v-model="form4.account_balance"></el-input>
</el-form-item>
<el-form-item label="丧葬费">
<el-input v-model="form4.bad_subsidy"></el-input>
</el-form-item>
<el-form-item label="应抵扣重复领取其他社会保险待遇">
<el-input v-model="form4.other_overApply"></el-input>
</el-form-item>
<el-form-item label="发放账户类型">
<el-input v-model="form4.provide_account"></el-input>
</el-form-item>
</el-form>
<el-form ref="form4" :model="form4" class="form4" label-width="auto">
<el-form-item label="一次性抚恤金">
<el-input v-model="form4.once_pension"></el-input>
</el-form-item>
<el-form-item label="应抵扣死亡超期领取待遇">
<el-input v-model="form4.death_overspend"></el-input>
</el-form-item>
<el-form-item label="合计发放金额">
<el-input v-model="form4.account_totle"></el-input>
</el-form-item>
<el-form-item label="发放账户的账号">
<el-input v-model="form4.bankAccount"></el-input>
</el-form-item>
</el-form>
</div>
<h2 class="imtil">指定受益人或法定继承人</h2>
<div class="wrap">
<div v-if="!this.show" class="masks"></div>
<el-form ref="form4" :model="form4" class="form4" label-width="auto">
<el-form-item label="姓名">
<el-input v-model="form4.bailor_name"></el-input>
</el-form-item>
<el-form-item label="联系电话">
<el-input v-model="form4.bailor_tel"></el-input>
</el-form-item>
<el-form-item label="与终止人关系">
<el-input v-model="form4.relation"></el-input>
</el-form-item>
</el-form>
<el-form ref="form4" :model="form4" class="form4" label-width="auto">
<el-form-item label="性别">
<el-input v-model="form4.bailor_sex"></el-input>
</el-form-item>
<el-form-item label="身份证号码">
<el-input v-model="form4.bailor_idNo"></el-input>
</el-form-item>
</el-form>
</div>
<h2 class="imtil">附件</h2>
<div class="imgcon">
<div class="demo-image__placeholder">
<div v-show="bb" class="block">
<p class="demonstration">{{itmebs}}</p>
<el-image :src="urls[0]"></el-image>
</div>
<div class="block">
<p class="demonstration">签名</p>
<el-image :src="urls[1]">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
<div class="block">
<p class="demonstration">身份证正面</p>
<el-image :src="urls[2]">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
<div class="block">
<p class="demonstration">身份证反面</p>
<el-image :src="urls[3]">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
</div>
</div>
<div style="text-align:center;margin-bottom:40px" v-show="show">
<el-button type="success" @click="pass"><i class="el-icon-circle-check"></i>审核通过</el-button>
<el-button type="danger" @click="nopass"><i class="el-icon-circle-close"></i>审核不通过</el-button>
</div>
</div>
</template>
<script>
import CryptoJS from 'crypto-js'
import {Loading} from 'element-ui';
import {formatDate} from "@/utils/datetime";
export default {
data() {
return {
test: "sadgsdg",
itmebs: "",
bb: false,
form4: {
account_balance: "",
account_totle: "",
addres_new: "",
bad_subsidy: "",
bad_type: "",
bailor_idNo: "",
bailor_idPhoto: "",
bailor_name: "",
bailor_sex: "",
bailor_tel: "",
bank_photo: "",
book_photo: "",
cancel_res: "",
death_day: "",
death_overspend: "",
groupName: "",
hospital_photo: "",
idBackPic: "",
idFortPic: "",
identity_number: "",
name: "",
nation: "",
nation_type: "",
once_pension: "",
other_SocialPhoto: "",
other_overApply: "",
per_type: "",
provide_account: "",
reback_money: "",
recordType: "",
relation: "",
relation_photo: "",
repet_type: "",
sex: "",
sign_photo: "",
stop_time: "",
telphoneValue: "",
townName: "",
villageName: "",
wuserId: "",
address: "",
birth_day: "",
bankAccount: "",
},
urls: [],
show: ""
}
},
methods: {
//审核通过
pass() {
this.$confirm('是否审核通过?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
customClass:"box"
}).then(() => {
Loading.service();
var data = {
recordId: this.$route.params.insCan.recordId,
examineState: 1,
remark: "",
userId: 1,
// InsuredCancelEntity: this.form4,
};
this.$api.getlist.shenhe(data).then((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
if (res.code === 200) {
this.$message({
type: 'success',
message: res.data
});
this.$router.push({
name: "参保注销审核"
});
this.$router.back();
// 关闭当前标签
let closeAll = document.querySelectorAll(".el-icon-close");
for (let j = 0, len = closeAll.length; j < len; j++) {
if (closeAll[j].previousSibling != null && closeAll[j].previousSibling.innerText === "参保注销审核 ") {
closeAll[j].click();
return;
}
}
} else {
this.$message({
type: 'info',
message: res.message
});
}
}).catch((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
this.$message({
type: 'info',
message: '操作失败!' + res
});
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消操作'
});
});
},
//审核不通过
nopass() {
// var that = this
this.$prompt('请输入原因', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
customClass:"box"
}).then(({value}) => {
if (value) {
Loading.service();
var data = {
recordId: this.$route.params.insCan.recordId,
examineState: 2,
remark: value,
userId: 1
};
this.$api.getlist.shenhe(data).then((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
if (res.code === 200) {
this.$message({
type: 'success',
message: res.data
});
// this.$router.push({
// name:"Xxsh"
// })
} else {
this.$message({
type: 'info',
message: res.message
});
}
this.$router.back();
// 关闭当前标签
let closeAll = document.querySelectorAll(".el-icon-close");
for (let j = 0, len = closeAll.length; j < len; j++) {
if (closeAll[j].previousSibling != null && closeAll[j].previousSibling.innerText === "参保注销审核 ") {
closeAll[j].click();
return;
}
}
}).catch((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
this.$message({
type: 'info',
message: '操作失败!' + res
});
});
} else {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
this.$message({
type: 'info',
message: '请输入原因'
});
}
}).catch(() => {
this.$message({
type: 'info',
message: '已取消输入'
});
});
},
decrypt(word) {
var key = CryptoJS.enc.Utf8.parse("KkweInfo23255625");
var decrypt = CryptoJS.AES.decrypt(word, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7});
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
},
decryptByDES(ciphertext) {
var keyHex = CryptoJS.enc.Utf8.parse("KkweFace95271124");
var decrypted = CryptoJS.DES.decrypt({
ciphertext: CryptoJS.enc.Base64.parse(ciphertext)
}, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return decrypted.toString(CryptoJS.enc.Utf8);
},
},
created() {
if (typeof (this.$route.params.insCan) !== "undefined" && this.$route.params.insCan.info) {
this.show = this.$route.params.insCan.show;
sessionStorage.setItem("insCanInfo", this.$route.params.insCan.info);
sessionStorage.setItem("insCanItems", JSON.stringify(this.$route.params.insCan));
}
let obj = JSON.parse(sessionStorage.getItem("insCanItems"));
this.form4 = JSON.parse(sessionStorage.getItem("insCanInfo"));
this.form4.name = this.form4.name ? this.decrypt(this.form4.name) : obj.name;
this.form4.identity_number = this.form4.identity_number ? this.decrypt(this.form4.identity_number) : "";
if (obj.bankpic) {
this.bb = true;
this.itmebs = "银行卡";
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.bankpic);
} else if (obj.bookPic) {
this.bb = true;
this.itmebs = "户口本";
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.bookPic);
} else if (obj.specialPhotoPic) {
this.bb = true;
this.itmebs = "特殊身份证明";
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.specialPhotoPic);
} else {
this.itmebs = "";
this.urls.push("");
}
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.signpic);
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.idcardfrontpic);
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.idcardbackpic);
this.form4.sex = this.form4.sex === 1 ? "男" : "女";
this.form4.bailor_sex = this.form4.bailor_sex === 1 ? "男" : "女";
if (this.form4.birth_day) {
this.form4.birth_day = formatDate(this.form4.birth_day.time);
}
},
}
</script>
<style>
.wrap {
overflow: hidden;
position: relative;
}
.masks {
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
z-index: 200
}
.form4 {
width: 90%
}
.box{
width: 90% !important
}
.imgcon {
margin: 0 auto;
box-shadow: 0 0 15px lightgray;
overflow: hidden;
margin-bottom: 40px;
}
.block {
width: 23%;
float: left;
height: 100%;
margin-right: 20px;
}
.imtil {
padding: 0 0 20px 0;
}
</style>
<template>
<div>
<h2 class="imtil">基础信息</h2>
<div class="wrap">
<div class="masks"></div>
<el-form ref="form" :model="form" class="fo" label-width="120px">
<el-form-item label="姓名">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="性别">
<el-input v-model="form.sex"></el-input>
</el-form-item>
<el-form-item label="民族">
<el-input v-model="form.nation"></el-input>
</el-form-item>
<el-form-item label="缴费标准">
<el-input v-model="form.pay_type"></el-input>
</el-form-item>
<el-form-item label="特殊参保群体">
<el-input v-model="form.special_type"></el-input>
</el-form-item>
<el-form-item label="其他养老保险">
<el-input v-model="form.other_social"></el-input>
</el-form-item>
</el-form>
<el-form ref="form" :model="form" class="fo" label-width="90px">
<el-form-item label="身份证号">
<el-input v-model="form.identity_number"></el-input>
</el-form-item>
<el-form-item label="户籍性质">
<el-input v-model="form.nation_type"></el-input>
</el-form-item>
<el-form-item label="户籍所在地">
<el-input v-model="form.townName"></el-input>
</el-form-item>
<el-form-item label="联系电话">
<el-input v-model="form.telphoneValue"></el-input>
</el-form-item>
<el-form-item label="开户银行">
<el-input v-model="form.pay_bank"></el-input>
</el-form-item>
<el-form-item label="缴费账号">
<el-input v-model="form.pay_account"></el-input>
</el-form-item>
</el-form>
</div>
<h2 class="imtil">附件</h2>
<div class="imgcon">
<div class="demo-image__placeholder">
<div class="block">
<p class="demonstration">银行卡</p>
<el-image :src="urls[0]"></el-image>
</div>
<div class="block">
<p class="demonstration">签名</p>
<el-image :src="urls[1]">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
<div class="block">
<p class="demonstration">身份证正面</p>
<el-image :src="urls[2]">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
<div class="block">
<p class="demonstration">身份证反面</p>
<el-image :src="urls[3]">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
</div>
</div>
<div style="text-align:center;margin-bottom:40px" v-show="show">
<el-button type="success" @click="pass"><i class="el-icon-circle-check"></i> 审核通过</el-button>
<el-button type="danger" @click="nopass"><i class="el-icon-circle-close"></i> 审核不通过</el-button>
</div>
</div>
</template>
<script>
import CryptoJS from 'crypto-js'
import { Loading } from 'element-ui';
export default {
data(){
return{
form:{
"name":"",
"bank_photo":"",
"groupName":"",
"identity_number":"",
"nation":'',
"nation_type":"",
"other_social":"",
"pay_account":"",
"pay_bank":"",
"pay_type":'',
"recordType":'',
"sex":'',
"sign_photo":"",
"social_time":"",
"special_type":"",
"telphoneValue":"",
"townName":"",
"villageName":"",
"wuserId":''
},
urls: [
],
show:""
}
},
methods:{
//审核通过
pass(){
this.$confirm('是否审核通过?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
customClass:"boxs"
}).then(() => {
Loading.service();
var data={
recordId: sessionStorage.getItem("recordId"),
examineState:1,
remark:"",
userId:1
};
this.$api.getlist.shenhe(data).then((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
if(res.code==200){
this.$message({
type: 'success',
message: res.data,
});
this.$router.push({
name:"信息审核"
})
}else{
this.$message({
type: 'info',
message: res.message
});
}
this.$router.back();
// 关闭当前标签
let closeAll = document.querySelectorAll(".el-icon-close");
for(let j = 0, len = closeAll.length; j < len; j++) {
if (closeAll[j].previousSibling != null && closeAll[j].previousSibling.innerText === "参保登记审核 ") {
closeAll[j].click();
return;
}
}
}).catch((res) => {
let loadingInstance = Loading.service();
that.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
this.$message({
type: 'info',
message: '操作失败!'+res
});
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消操作'
});
});
},
//审核不通过
nopass(){
var that=this
this.$prompt('请输入原因', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
customClass:"boxs"
}).then(({ value }) => {
if(value){
Loading.service();
var data={
recordId: sessionStorage.getItem("recordId"),
examineState:2,
remark:value,
userId:1
};
this.$api.getlist.shenhe(data).then((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
if(res.code==200){
this.$message({
type: 'success',
message: res.data
});
// this.$router.push({
// name:"Xxsh"
// })
}else{
this.$message({
type: 'info',
message: res.message
});
}
this.$router.back();
// 关闭当前标签
let closeAll = document.querySelectorAll(".el-icon-close");
for(let j = 0, len = closeAll.length; j < len; j++) {
if (closeAll[j].previousSibling != null && closeAll[j].previousSibling.innerText === "参保登记审核 ") {
closeAll[j].click();
return;
}
}
}).catch((res) => {
let loadingInstance = Loading.service();
that.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
this.$message({
type: 'info',
message: '操作失败!'+res
});
});
}else{
let loadingInstance = Loading.service();
that.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
that.$message({
type: 'info',
message: '请输入原因'
});
}
}).catch(() => {
this.$message({
type: 'info',
message: '已取消输入'
});
});
},
decrypt(word){
var key = CryptoJS.enc.Utf8.parse("KkweInfo23255625");
var decrypt = CryptoJS.AES.decrypt(word, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
},
decryptByDES(ciphertext) {
var keyHex = CryptoJS.enc.Utf8.parse("KkweFace95271124");
var decrypted = CryptoJS.DES.decrypt({
ciphertext: CryptoJS.enc.Base64.parse(ciphertext)
}, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return decrypted.toString(CryptoJS.enc.Utf8);
}
},
created(){
this.show=this.$route.params.show
if(this.$route.params.info){
sessionStorage.setItem("info",this.$route.params.info)
}
if(this.$route.params.info){
var a=JSON.stringify(this.$route.params)
sessionStorage.setItem("items",a)
}
this.form =JSON.parse(sessionStorage.getItem("info"))
this.form.name=this.decrypt(this.form.name)
this.form.identity_number=this.decrypt(this.form.identity_number)
this.form.telphoneValue=this.decrypt(this.form.telphoneValue)
var obj=JSON.parse(sessionStorage.getItem("items"))
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/"+obj.bankpic)
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/"+obj.signpic)
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/"+obj.idcardfrontpic)
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/"+obj.idcardbackpic)
console.log(this.form)
this.form.sex= this.form.sex==1?"男":"女"
}
}
</script>
<style>
.wrap{
position: relative;
}
.boxs{
width: 90% !important;
}
.masks{
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
z-index: 200
}
.fo{
width: 90%
}
.imgcon{
margin: 0 auto;
box-shadow: 0 0 15px lightgray;
overflow: hidden;
margin-bottom: 40px
}
.block{
width: 20%
}
.block{
float: left;
height: 100%;
margin-right: 20px
}
.imtil{
padding:0 0 20px 0
}
</style>
<template xmlns:v-popover="http://www.w3.org/1999/xhtml">
<div class="no-archive-event-log">
<el-backtop target=".no-archive-event-log" :right="70" :bottom="70"></el-backtop>
<div>
<el-alert
v-if="!showSelection"
align="left"
title="请选择一个业务类型进行归档"
type="warning"
:closable="false"
show-icon>
</el-alert>
</div>
<div class="op">
<div class="name">
<el-input
v-model="name"
size="mini"
placeholder="请输入姓名"
clearable></el-input>
</div>
<div class="idcard">
<el-input
v-model="idcard"
size="mini"
placeholder="请输入身份证号"
clearable></el-input>
</div>
<div class="ywtype">
<el-cascader
ref="businessType"
size="mini"
:options="options"
:props="{ checkStrictly: true }"
placeholder="请选择业务类型"
clearable
@change="handleChange">
</el-cascader>
</div>
<el-button
type="primary"
size="mini"
style="background:#148A9B;margin-left:10px"
icon="el-icon-search"
@click="paramSearch">搜索
</el-button>
<el-button
type="primary"
size="mini"
style="margin-left: 20px"
@click="searchAllNoArchiveELog">
查看所有未归档文件
</el-button>
</div>
<div>
<el-table
v-loading.fullscreen.lock="loading"
:data="tableData"
border
style="width: 100%"
@selection-change="handleSelectionChange"
:key="Math.random()">
<el-table-column
v-if="showSelection"
align="center"
type="selection"
width="50">
</el-table-column>
<el-table-column
v-else
width="50">
</el-table-column>
<el-table-column
align="center"
label="序号"
type="index"
width="50"
:index="indexStart">
</el-table-column>
<el-table-column
align="center"
prop="eventType"
label="业务类型"
width="200"
:formatter="getEventType">
</el-table-column>
<el-table-column
align="center"
prop="eventTimeStr"
label="成文时间"
width="200">
</el-table-column>
<el-table-column
align="center"
prop="desName"
label="姓名"
width="100">
</el-table-column>
<el-table-column
align="center"
prop="desIdCard"
label="身份证"
width="200">
</el-table-column>
<el-table-column
align="center"
prop="concatAddress"
label="乡镇村社"
width="200">
</el-table-column>
<el-table-column
align="center"
label="附件"
width="600">
<template slot-scope="scope">
<div class="picPopover"
v-if="scope.row.idcardFrontPic">
<span style="float: top">身份证正面:</span>
<div style="float: top">
<el-popover
placement="bottom"
trigger="hover">
<img slot="reference" :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.idcardFrontPic" height="50px" width="50px" class="head_pic"/>
<img :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.idcardFrontPic" height="100%" width="100%" class="head_pic"/>
</el-popover>
</div>
</div>
<div class="picPopover"
v-if="scope.row.idcardBackPic">
<span style="float: top">身份证背面:</span>
<div style="float: top">
<el-popover
placement="bottom"
trigger="hover">
<img slot="reference" :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.idcardBackPic" height="50px" width="50px" class="head_pic"/>
<img :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.idcardBackPic" height="100%" width="100%" class="head_pic"/>
</el-popover>
</div>
</div>
<div class="picPopover"
v-if="scope.row.bankPic">
<span style="float: top">银行卡:</span>
<div style="float: top">
<el-popover
placement="bottom"
trigger="hover">
<img slot="reference" :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.bankPic" height="50px" width="50px" class="head_pic"/>
<img :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.bankPic" height="100%" width="100%" class="head_pic"/>
</el-popover>
</div>
</div>
<div class="picPopover"
v-if="scope.row.specialPhotoPic">
<span style="float: top">特殊证明:</span>
<div style="float: top">
<el-popover
placement="bottom"
trigger="hover">
<img slot="reference" :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.specialPhotoPic" height="50px" width="50px" class="head_pic"/>
<img :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.specialPhotoPic" height="100%" width="100%" class="head_pic"/>
</el-popover>
</div>
</div>
<div class="picPopover"
v-if="scope.row.bookPic">
<span style="float: top">户口簿:</span>
<div style="float: top">
<el-popover
placement="bottom"
trigger="hover">
<img slot="reference" :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.bookPic" height="50px" width="50px" class="head_pic"/>
<img :src="'http://socialsecurity.oss-cn-beijing.aliyuncs.com/' + scope.row.bookPic" height="100%" width="100%" class="head_pic"/>
</el-popover>
</div>
</div>
</template>
</el-table-column>
</el-table>
<el-button
v-if="showSelection"
class="fileButton"
type="primary"
@click="fileEventLogs">
归档案卷
</el-button>
<el-pagination
class="pone"
:page-size='pageSize'
:page-sizes="[10, 50, 100]"
@size-change="handleSizeChange"
layout="total, sizes, prev, pager, next, jumper"
:total="totals"
:current-page.sync="pageNum"
@current-change="current_change">
</el-pagination>
<el-dialog title="收货地址" :visible.sync="fileDialog">
<el-form label-position="right" label-width="80px">
<el-form-item label="文件列表">
<el-table v-if="fileDialog" :data="eventLogList" style="width: 100%">
<el-table-column prop="desName" label="姓名" width="100"></el-table-column>
<el-table-column prop="desIdCard" label="身份证" width="200"></el-table-column>
<el-table-column prop="eventTimeStr" label="成文时间" width="200"></el-table-column>
</el-table>
</el-form-item>
<el-form-item label="案卷号">
<el-input
onKeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))"
v-model="fileNumber"
style="float: left;width: 200px"
placeholder="请输入案卷号"
clearable
size="mini"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancelFileDialog">取 消</el-button>
<el-button type="primary" @click="confirmFileDialog">确 定</el-button>
</div>
</el-dialog>
</div>
</div>
</template>
<script>
import CryptoJS from 'crypto-js'
export default {
data() {
return {
name: '',
idcard: '',
ywtype: '',
options: [{
value: {
eventType: 1,
eventTypeDetail: null,
},
label: '参保登记',
}, {
value: 2,
label: '信息变更',
disabled: true,
children: [{
value: {
eventType: 2,
eventTypeDetail: 1,
},
label: '档次变更',
}, {
value: {
eventType: 2,
eventTypeDetail: 2,
},
label: '银行卡变更',
}, {
value: {
eventType: 2,
eventTypeDetail: 3,
},
label: '手机号变更',
}, {
value: {
eventType: 2,
eventTypeDetail: 4,
},
label: '参保身份变更',
}, {
value: {
eventType: 2,
eventTypeDetail: 5,
},
label: '户籍地址变更',
}, {
value: {
eventType: 2,
eventTypeDetail: 6,
},
label: '姓名变更',
}, {
value: {
eventType: 2,
eventTypeDetail: 7,
},
label: '身份证变更',
}]
}, {
value: {
eventType: 3,
eventTypeDetail: null,
},
label: '待遇申请',
}, {
value: {
eventType: 4,
eventTypeDetail: null,
},
label: '参保注销',
}, {
value: {
eventType: 5,
eventTypeDetail: null,
},
label: '补缴保费',
}, {
value: {
eventType: 6,
eventTypeDetail: null,
},
label: '升档改办',
}, {
value: {
eventType: 7,
eventTypeDetail: null,
},
label: '关系转移',
}],
archiveObject: {},
tableData: [],
loading: false,
totals: 0,
pageNum: 1,
pageSize: 10,
indexStart: 1,
eventType: null,
eventTypeDetail: null,
showSelection: false,
eventLogList: [],
fileNumber: '',
fileDialog: false,
}
},
methods: {
current_change(pageNum) {
this.pageNum = pageNum;
this.indexStart = (pageNum - 1) * this.pageSize + 1;
const data = {
pageNum: pageNum,
pageSize: this.pageSize,
name: this.name,
idcard: this.idcard,
eventType: this.eventType,
eventTypeDetail: this.eventTypeDetail,
};
this.search(data);
},
search(data) {
this.loading = true;
this.$api.getlist.selectNoArcEventLogList(data)
.then((response) => {
if (response.code === 200) {
for (const i in response.data.content) {
if (response.data.content[i].name !== null && response.data.content[i].name !== "") {
response.data.content[i].desName = this.decrypt(response.data.content[i].name);
}
if (response.data.content[i].idcard !== null && response.data.content[i].idcard !== "") {
response.data.content[i].desIdCard = this.decrypt(response.data.content[i].idcard);
}
}
this.tableData = response.data.content;
this.totals = response.data.totalSize;
}
})
.catch((response) => {
});
this.loading = false;
},
handleSizeChange(pageSize) {
this.pageNum = 1;
this.pageSize = pageSize;
this.indexStart = 1;
const data = {
pageNum: 1,
pageSize: pageSize,
name: this.name,
idcard: this.idcard,
eventType: this.eventType,
eventTypeDetail: this.eventTypeDetail,
};
this.search(data);
},
decrypt(word) {
var key = CryptoJS.enc.Utf8.parse("KkweInfo23255625");
var decrypt = CryptoJS.AES.decrypt(word, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7});
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
},
decryptByDES(ciphertext) {
var keyHex = CryptoJS.enc.Utf8.parse("KkweFace95271124");
var decrypted = CryptoJS.DES.decrypt({
ciphertext: CryptoJS.enc.Base64.parse(ciphertext)
}, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return decrypted.toString(CryptoJS.enc.Utf8);
},
getEventType(row, column, cellValue, index) {
if (cellValue === 2) {
return this.getInformationChangeType(row.eventTypeDetail)
} else {
return this.getType(cellValue);
}
},
paramSearch() {
this.eventLogList.length = 0;
const data = {
pageNum: 1,
pageSize: this.pageSize,
name: this.name,
idcard: this.idcard,
eventType: this.eventType,
eventTypeDetail: this.eventTypeDetail,
};
this.search(data);
this.showSelection = !!this.eventType;
},
getInformationChangeType(eventTypeDetail) {
const eventType = "信息变更/";
const eventDetail = eventTypeDetail === 1 ? "档次变更"
: eventTypeDetail === 2 ? "银行卡变更"
: eventTypeDetail === 3 ? "手机号变更"
: eventTypeDetail === 4 ? "参保身份变更"
: eventTypeDetail === 5 ? "户籍地址变更"
: eventTypeDetail === 6 ? "姓名变更"
: eventTypeDetail === 7 ? "身份证变更"
: "";
return eventType + eventDetail;
},
handleChange(value) {
this.eventType = null;
this.eventTypeDetail = null;
for (const i in value) {
if (typeof (value[i].eventType) !== "undefined") {
this.eventType = value[i].eventType;
this.eventTypeDetail = value[i].eventTypeDetail;
break;
}
}
},
handleSelectionChange(selection) {
this.eventLogList = selection;
},
fileEventLogs() {
if (this.eventLogList.length === 0) {
this.$message({
showClose: true,
message: "请选择要归档的文件",
type: 'error',
duration: 3000
});
return;
}
this.fileDialog = true;
},
reload() {
const data = {
pageNum: this.pageNum,
pageSize: this.pageSize,
name: this.name,
idcard: this.idcard,
eventType: this.eventType,
eventTypeDetail: this.eventTypeDetail,
};
this.search(data);
},
cancelFileDialog() {
this.eventLogList.length = 0;
this.fileNumber = null;
this.fileDialog = false;
this.$message({
showClose: true,
message: '取消归档',
type: 'info',
duration: 3000
});
},
confirmFileDialog() {
if (this.eventLogList.length === 0) {
this.$message({
showClose: true,
message: '请选择要归档的文件',
type: 'error',
duration: 3000
});
return;
}
if (this.fileNumber === null || this.fileNumber === '') {
this.$message({
showClose: true,
message: '请输入案卷号',
type: 'error',
duration: 3000
});
return;
}
this.$confirm('该 ' + this.eventLogList.length + ' 件文件将归档为案卷号: ' + this.fileNumber + ' 的档案, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.loading = true;
const data = [{
eventType: this.eventType,
eventTypeDetail: this.eventTypeDetail,
fileNumber: this.fileNumber,
eventLogList: this.eventLogList,
}];
this.$api.getlist.fileArchives(data)
.then((response) => {
if (response.code === 200) {
this.$message({
showClose: true,
message: response.data,
type: 'success',
duration: 10000
});
} else {
this.$message({
showClose: true,
message: response.message,
type: 'error',
duration: 10000
});
}
this.pageNum = 1;
this.reload();
this.fileDialog = false;
this.eventLogList.length = 0;
this.fileNumber = null;
this.loading = false;
})
.catch((response) => {
this.$message({
showClose: true,
message: response.message,
type: 'error',
duration: 10000
});
this.fileDialog = false;
this.eventLogList.length = 0;
this.fileNumber = null;
this.loading = false;
});
}).catch(() => {
this.$message({
showClose: true,
type: 'info',
message: '取消归档',
duration: 3000
});
});
},
searchAllNoArchiveELog() {
this.eventLogList.length = 0;
this.name = null;
this.idcard = null;
this.eventType = null;
this.eventTypeDetail = null;
let obj = {};
obj.stopPropagation = () =>{};
this.$refs.businessType.handleClear(obj);
const data = {
pageNum: 1,
pageSize: this.pageSize,
name: null,
idcard: null,
eventType: null,
eventTypeDetail: null,
};
this.search(data);
this.showSelection = !!this.eventType;
},
},
created() {
this.loading = true;
if (typeof (this.$route.params.archiveObject) !== "undefined" && this.$route.params.archiveObject) {
sessionStorage.setItem("archiveObject", JSON.stringify(this.$route.params.archiveObject));
}
this.archiveObject = JSON.parse(sessionStorage.getItem("archiveObject"));
const data = {
pageNum: 1,
pageSize: this.pageSize,
name: null,
idcard: null,
eventType: null,
eventTypeDetail: null,
};
this.$api.getlist.selectNoArcEventLogList(data)
.then((response) => {
if (response.code === 200) {
for (const i in response.data.content) {
if (response.data.content[i].name !== null && response.data.content[i].name !== "") {
response.data.content[i].desName = this.decrypt(response.data.content[i].name);
}
if (response.data.content[i].idcard !== null && response.data.content[i].idcard !== "") {
response.data.content[i].desIdCard = this.decrypt(response.data.content[i].idcard);
}
}
this.tableData = response.data.content;
this.totals = response.data.totalSize;
}
})
.catch((response) => {
});
this.loading = false;
}
}
</script>
<style scoped>
.pone {
margin-top: 10px;
margin-bottom: 20px;
}
.fileButton {
width: 10%;
margin-top: 10px;
}
.op {
display: flex;
align-items: center;
margin-bottom: 10px;
margin-top: 10px;
}
.idcard {
width: 200px;
margin-left: 20px;
}
.name {
width: 200px;
/*margin-left: 20px;*/
}
.ywtype {
width: 200px;
margin-left: 20px;
}
.picPopover {
float: left;
margin-left: 20px;
}
.no-archive-event-log {
height: 100%;
overflow-y: scroll;
}
</style>
<template>
<div>
<h2 class="imtil">基础信息</h2>
<div class="wrap">
<div class="masks"></div>
<el-form ref="form" :model="form" class="fo" label-width="auto">
<el-form-item label="姓名">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="身份证号">
<el-input v-model="form.identity_number"></el-input>
</el-form-item>
<el-form-item label="联系电话">
<el-input v-model="form.telphoneValue"></el-input>
</el-form-item>
</el-form>
<el-form ref="form" :model="form" class="fo" label-width="auto">
<el-form-item label="性别">
<el-input v-model="form.sex"></el-input>
</el-form-item>
<el-form-item label="民族">
<el-input v-model="form.nation"></el-input>
</el-form-item>
<el-form-item label="户籍地地址">
<el-input v-model="form.address"></el-input>
</el-form-item>
</el-form>
</div>
<h2 class="imtil">补缴保费信息</h2>
<div class="wrap">
<div class="masks"></div>
<el-form ref="form" :model="form" class="fo" label-width="auto">
<el-form-item label="补缴类型">
<el-input v-model="form.pay_type"></el-input>
</el-form-item>
<el-form-item label="补缴标准">
<el-input v-model="form.pay_stand"></el-input>
</el-form-item>
<el-form-item label="补缴合计">
<el-input v-model="form.pay_numTol"></el-input>
</el-form-item>
<el-form-item label="所属银行">
<el-input v-model="form.bank_Name"></el-input>
</el-form-item>
</el-form>
<el-form ref="form" :model="form" class="fo" label-width="auto">
<el-form-item label="补缴年限">
<el-input v-model="form.pay_years"></el-input>
</el-form-item>
<el-form-item label="补缴金额">
<el-input v-model="form.pay_numTol"></el-input>
</el-form-item>
<el-form-item label="银行账号">
<el-input v-model="form.bank_Account"></el-input>
</el-form-item>
</el-form>
</div>
<h2 class="imtil">附件</h2>
<div class="imgcon">
<div class="demo-image__placeholder">
<div v-show="bb" class="block">
<p class="demonstration">{{itmebs}}</p>
<el-image :src="urls[0]"></el-image>
</div>
<div class="block">
<p class="demonstration">签名</p>
<el-image :src="urls[1]">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
<div class="block">
<p class="demonstration">身份证正面</p>
<el-image :src="urls[2]">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
<div class="block">
<p class="demonstration">身份证反面</p>
<el-image :src="urls[3]">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
</div>
</div>
<div style="text-align:center;margin-bottom:40px" v-show="show">
<el-button type="success" @click="pass"><i class="el-icon-circle-check"></i> 审核通过</el-button>
<el-button type="danger" @click="nopass"><i class="el-icon-circle-close"></i> 审核不通过</el-button>
</div>
</div>
</template>
<script>
import CryptoJS from 'crypto-js'
import {Loading} from 'element-ui';
export default {
data() {
return {
itmebs: "",
show: "",
bb: false,
form: {
bank_Account: "",
bank_Name: "",
bank_photo: "",
groupName: "",
idBackPic: "",
idFortPic: "",
identity_number: "",
nation: "",
nation_type: "",
pay_num: "",
pay_numTol: "",
pay_stand: "",
pay_type: "",
pay_years: "",
recordType: "",
sex: "",
sign_photo: "",
telphoneValue: "",
townName: "",
villageName: "",
wuserId: "",
},
urls: [],
}
},
methods: {
//审核通过
pass() {
this.$confirm('是否审核通过?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
customClass:"box"
}).then(() => {
Loading.service();
var data = {
recordId: this.$route.params.supPay.recordId,
examineState: 1,
remark: "",
userId: 1
};
this.$api.getlist.shenhe(data).then((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
if (res.code === 200) {
this.$message({
type: 'success',
message: res.data
});
this.$router.push({
name: "补缴保费审核"
})
} else {
this.$message({
type: 'info',
message: res.message
});
}
this.$router.back();
// 关闭当前标签
let closeAll = document.querySelectorAll(".el-icon-close");
for (let j = 0, len = closeAll.length; j < len; j++) {
if (closeAll[j].previousSibling != null && closeAll[j].previousSibling.innerText === "补缴保费审核 ") {
closeAll[j].click();
return;
}
}
}).catch((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
this.$message({
type: 'info',
message: '操作失败!' + res
});
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消操作'
});
});
},
//审核不通过
nopass() {
// var that = this
this.$prompt('请输入原因', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
customClass:"box"
}).then(({value}) => {
if (value) {
Loading.service();
var data = {
recordId: this.$route.params.supPay.recordId,
examineState: 2,
remark: value,
userId: 1
};
this.$api.getlist.shenhe(data).then((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
if (res.code === 200) {
this.$message({
type: 'success',
message: res.data
});
// this.$router.push({
// name:"Xxsh"
// })
} else {
this.$message({
type: 'info',
message: res.message
});
}
this.$router.back();
// 关闭当前标签
let closeAll = document.querySelectorAll(".el-icon-close");
for (let j = 0, len = closeAll.length; j < len; j++) {
if (closeAll[j].previousSibling != null && closeAll[j].previousSibling.innerText === "补缴保费审核 ") {
closeAll[j].click();
return;
}
}
}).catch((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
this.$message({
type: 'info',
message: '操作失败!' + res
});
});
} else {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
this.$message({
type: 'info',
message: '请输入原因'
});
}
}).catch(() => {
this.$message({
type: 'info',
message: '已取消输入'
});
});
},
decrypt(word) {
var key = CryptoJS.enc.Utf8.parse("KkweInfo23255625");
var decrypt = CryptoJS.AES.decrypt(word, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7});
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
},
decryptByDES(ciphertext) {
var keyHex = CryptoJS.enc.Utf8.parse("KkweFace95271124");
var decrypted = CryptoJS.DES.decrypt({
ciphertext: CryptoJS.enc.Base64.parse(ciphertext)
}, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return decrypted.toString(CryptoJS.enc.Utf8);
},
},
created() {
if (typeof (this.$route.params.supPay) !== "undefined" && this.$route.params.supPay.info) {
this.show = this.$route.params.supPay.show;
sessionStorage.setItem("supPayInfo", this.$route.params.supPay.info);
sessionStorage.setItem("supPayItems", JSON.stringify(this.$route.params.supPay));
}
let obj = JSON.parse(sessionStorage.getItem("supPayItems"));
this.form = JSON.parse(sessionStorage.getItem("supPayInfo"));
this.form.name = this.form.name ? this.decrypt(this.form.name) : obj.name;
this.form.identity_number = this.form.identity_number ? this.decrypt(this.form.identity_number) : "";
this.form.telphoneValue = this.form.telphoneValue ? this.decrypt(this.form.telphoneValue) : "";
if (obj.bankpic) {
this.bb = true;
this.itmebs = "银行卡";
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.bankpic);
} else if (obj.bookPic) {
this.bb = true;
this.itmebs = "户口本";
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.bookPic);
} else if (obj.specialPhotoPic) {
this.bb = true;
this.itmebs = "特殊身份证明";
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.specialPhotoPic);
} else {
this.itmebs = "";
this.urls.push("");
}
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.signpic);
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.idcardfrontpic);
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.idcardbackpic);
this.form.sex = this.form.sex === 1 ? "男" : "女";
if (this.form.address) {
const address = JSON.parse(this.form.address);
this.form.address = address.province + address.city + address.county + address.town + address.village + address.group;
}
},
}
</script>
<style>
.wrap {
overflow: hidden;
position: relative;
}
.masks {
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
z-index: 200
}
.fo {
width: 90%
}
.box{
width: 90% !important
}
.imgcon {
margin: 0 auto;
box-shadow: 0 0 15px lightgray;
overflow: hidden;
margin-bottom: 40px
}
.block {
width: 23%
}
.block {
float: left;
height: 100%;
margin-right: 20px
}
.imtil {
padding: 0 0 20px 0
}
</style>
...@@ -20,7 +20,13 @@ ...@@ -20,7 +20,13 @@
<el-table <el-table
:data="tableData" :data="tableData"
style="width: 100%" style="width: 100%"
@selection-change="handleSelectionChange"
tooltip-effect="dark"
> >
<el-table-column
type="selection"
width="55">
</el-table-column>
<el-table-column <el-table-column
prop="idcard" prop="idcard"
label="身份证号" label="身份证号"
...@@ -90,17 +96,22 @@ ...@@ -90,17 +96,22 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="bottom">
<kt-button class="check" icon="el-icon-delete" label="删除已选" perms="sys:user:add" type="primary" />
<el-pagination <el-pagination
class="pone" class="pone"
:page-size='10' :page-size='10'
layout="total, prev, pager, next, jumper" :page-sizes="[10, 50, 100]"
layout="total, sizes, prev, pager, next, jumper"
:total="totals" :total="totals"
:current-page.sync="Page" :current-page.sync="Page"
@current-change="current_change" @current-change="current_change"
@size-change="handleSizeChange"
> >
</el-pagination> </el-pagination>
</div> </div>
</div>
</template> </template>
<style> <style>
...@@ -124,8 +135,16 @@ ...@@ -124,8 +135,16 @@
.el-table .success-row { .el-table .success-row {
background: #f0f9eb; background: #f0f9eb;
} }
.bottom{
margin-top: 40px;
overflow: hidden;
}
.pone{ .pone{
margin-top: 40px margin-left: 250px;
float: left;
}
.check{
float: left;
} }
</style> </style>
...@@ -133,9 +152,11 @@ ...@@ -133,9 +152,11 @@
import CryptoJS from 'crypto-js' import CryptoJS from 'crypto-js'
import { Loading } from 'element-ui'; import { Loading } from 'element-ui';
import Candode from "../Core/candode" import Candode from "../Core/candode"
import KtButton from "@/views/Core/KtButton"
// import baseUrl from "../../globe/globeUrl" // import baseUrl from "../../globe/globeUrl"
export default { export default {
components:{ components:{
KtButton,
Candode Candode
}, },
data() { data() {
...@@ -148,10 +169,19 @@ ...@@ -148,10 +169,19 @@
idcard:"", idcard:"",
ywtype:"", ywtype:"",
info:'', info:'',
tableData: [] pageSize:10,
tableData: [],
multipleSelection: []
} }
}, },
methods: { methods: {
handleSelectionChange(val){
this.multipleSelection=val
},
handleSizeChange(val){
this.pageSize=val
this.serchh(this.Page)
},
childByValue(val){ childByValue(val){
this.townList=val this.townList=val
}, },
...@@ -223,9 +253,12 @@ ...@@ -223,9 +253,12 @@
}, },
current_change(ss){ current_change(ss){
this.serchh(ss)
},
serchh(ss){
var data={ var data={
pageNum:ss, pageNum:ss,
pageSize:10, pageSize:this.pageSize,
idcard:this.idcard, idcard:this.idcard,
type:this.ywtype type:this.ywtype
} }
......
<template>
<div>
<div class="op">
<div class="idc">
<el-input v-model="idcard" size="mini" placeholder="请输入身份证号"></el-input>
</div>
<Candode v-on:childByValue="childByValue"></Candode>
<div class="ywtyoe">
<el-select v-model="ywtype" placeholder="请选择业务类型" size="mini">
<el-option
v-for="item in options1"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
<el-button type="primary" size="mini" style="background:#148A9B;margin-left:10px" icon="el-icon-search" @click="serch">搜索</el-button>
</div>
<el-table
:data="tableData"
>
<!-- <el-table-column
prop="idcard"
label="身份证号"
width="180">
</el-table-column> -->
<el-table-column
prop="name"
label="姓名"
>
</el-table-column>
<el-table-column
prop="recordtype"
label="业务类型">
</el-table-column>
<!-- <el-table-column
prop="createtime"
label="创建时间">
</el-table-column>
<el-table-column
prop="townname"
label="镇">
</el-table-column>
<el-table-column
prop="villagename"
label="村">
</el-table-column> -->
<el-table-column
prop="nowExamine"
label="当前状态">
</el-table-column>
<el-table-column
width="180"
label="操作">
<template slot-scope="scope">
<el-button
type="primary"
size="mini"
@click="handle(scope.$index, scope.row)">审核</el-button>
<el-popover
placement="right"
width="180"
trigger="click">
<el-timeline>
<el-timeline-item
v-for="(activity, index) in activities"
:key="index"
:icon="activity.icon"
:type="activity.type"
:color="activity.color"
:size="activity.size"
:timestamp="activity.timestamp"
:timestamp2="123">
{{activity.content}}
<p style="font-size:13px;color:#909399" v-show="activity.timestamp">审核人:{{activity.name}}</p>
<p style="font-size:13px;color:#909399" v-show="activity.examineRemark">原因:{{activity.examineRemark}}</p>
</el-timeline-item>
</el-timeline>
<el-button
@click="progress(scope.$index, scope.row)"
size="mini"
slot="reference"
type="success"
>流程</el-button>
</el-popover>
</template>
</el-table-column>
</el-table>
<el-pagination
class="pone"
:page-size='10'
layout="total, prev, pager, next"
:total="totals"
:current-page.sync="Page"
@current-change="current_change"
>
</el-pagination>
</div>
</template>
<style scoped>
.op{
display: flex;
align-items: center;
}
.idc{
width: 200px
}
.ywtyoe{
width: 200px;
margin-left: 20px
}
.el-table .warning-row {
background: oldlace;
}
.el-table .success-row {
background: #f0f9eb;
}
.pone{
margin-top: 40px
}
</style>
<script>
import CryptoJS from 'crypto-js'
import { Loading } from 'element-ui';
import Candode from "../Core/candode"
// import baseUrl from "../../globe/globeUrl"
export default {
components:{
Candode
},
data() {
return {
townList:'',
activities: [],
options1: [],
Page:1,
totals:0,
idcard:"",
ywtype:"",
info:'',
tableData: []
}
},
methods: {
childByValue(val){
this.townList=val
},
//搜索
serch(){
var data={
idcard:this.idcard?this.Encrypt(this.idcard):"",
recordType:this.ywtype?parseInt(this.ywtype):"",
townName: this.townList?this.townList[0]:'',
villageName:this.townList?this.townList[1]:'',
}
this.$api.getlist.getlist(data).then((res) => {
for(var i in res.data.list){
res.data.list[i].idcard=this.decrypt(res.data.list[i].idcard)
res.data.list[i].name=this.decrypt(res.data.list[i].name)
res.data.list[i].recordtype=this.getType(res.data.list[i].recordtype)
}
this.tableData=res.data.list
this.totals=res.data.total
this.page=res.data.total.pageNum
}).catch((res) => {
});
},
//流程
progress(d,s){
console.log(s)
this.activities=[]
var data={
recordId:s.id,
type:this.regetType(s.recordtype)
}
this.$api.getlist.progress(data).then((res)=>{
for(var i in res.data){
if(res.data[i].examineState=="进行中"){
this.activities.push({
content:res.data[i].role,
//timestamp:res.data[i].examinePerson+"审核于"+res.data[i].examineTime,
color:'#0bbd87',
size: 'large'
})
}else{
this.activities.push({
content:res.data[i].role,
timestamp:res.data[i].examinePerson?res.data[i].examineTime:"",
name:res.data[i].examinePerson?res.data[i].examinePerson:"",
examineRemark:res.data[i].examineRemark?res.data[i].examineRemark:'',
color:res.data[i].nowNode?"#97E5CE":"lightgray"
})
if(res.data[i].examineState=="审核失败"){
this.activities.push({
content:"审核失败",
timestamp:res.data[i].examinePerson?res.data[i].examineTime:"",
name:res.data[i].examinePerson?res.data[i].examinePerson:"",
examineRemark:res.data[i].examineRemark?res.data[i].examineRemark:'',
color:'black'
})
return
}
}
}
}).catch((res)=>{
})
},
current_change(ss){
var data={
pageNum:ss,
pageSize:10,
idcard:this.idcard,
type:this.ywtype
}
Loading.service();
this.$api.getlist.getlist(data).then((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
for(var i in res.data.list){
res.data.list[i].idcard=this.decrypt(res.data.list[i].idcard)
res.data.list[i].name=this.decrypt(res.data.list[i].name)
res.data.list[i].recordtype=this.getType(res.data.list[i].recordtype)
}
this.tableData=res.data.list
this.totals=res.data.total
this.page=res.data.total.pageNum
}).catch((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
});
},
//审核
handle(s,d){
if(d.recordtype=="参保登记"){
sessionStorage.setItem("recordId",this.tableData[s].recordId)
this.$router.push({
name:"insuredRegp",
params:{info:this.tableData[s].info,
bankpic:this.tableData[s].bankpic,
idcardbackpic:this.tableData[s].idcardbackpic,
idcardfrontpic:this.tableData[s].idcardfrontpic,
signpic:this.tableData[s].signpic,
show:true
}
})
}else if(d.recordtype=="信息变更"){
sessionStorage.setItem("recordId",this.tableData[s].recordId)
this.$router.push({
name:"infoChangep",
params:{info:this.tableData[s].info,
bankpic:this.tableData[s].bankpic,
idcardbackpic:this.tableData[s].idcardbackpic,
idcardfrontpic:this.tableData[s].idcardfrontpic,
signpic:this.tableData[s].signpic,
specialPhotoPic:this.tableData[s].specialPhotoPic,
bookPic:this.tableData[s].bookPic,
show:true
}
})
}else if(d.recordtype === "待遇申请"){
// sessionStorage.setItem("recordId",this.tableData[s].recordId)
this.$router.push({
name:"treatmentApplicationAuditp",
params:{
treApp: {
name: this.tableData[s].name,
recordId: this.tableData[s].recordId,
info:this.tableData[s].info,
bankpic:this.tableData[s].bankpic,
idcardbackpic:this.tableData[s].idcardbackpic,
idcardfrontpic:this.tableData[s].idcardfrontpic,
signpic:this.tableData[s].signpic,
specialPhotoPic:this.tableData[s].specialPhotoPic,
bookPic:this.tableData[s].bookPic,
show:true
}
}
})
} else if(d.recordtype === "参保注销") {
// sessionStorage.setItem("recordId",this.tableData[s].recordId)
this.$router.push({
name:"insuranceCancellationAuditp",
params:{
insCan: {
name: this.tableData[s].name,
recordId: this.tableData[s].recordId,
info:this.tableData[s].info,
bankpic:this.tableData[s].bankpic,
idcardbackpic:this.tableData[s].idcardbackpic,
idcardfrontpic:this.tableData[s].idcardfrontpic,
signpic:this.tableData[s].signpic,
specialPhotoPic:this.tableData[s].specialPhotoPic,
bookPic:this.tableData[s].bookPic,
show:true
}
}
})
} else if(d.recordtype === "补缴保费") {
// sessionStorage.setItem("recordId",this.tableData[s].recordId)
this.$router.push({
name:"supPaymentAuditp",
params:{
supPay: {
name: this.tableData[s].name,
recordId: this.tableData[s].recordId,
info:this.tableData[s].info,
bankpic:this.tableData[s].bankpic,
idcardbackpic:this.tableData[s].idcardbackpic,
idcardfrontpic:this.tableData[s].idcardfrontpic,
signpic:this.tableData[s].signpic,
specialPhotoPic:this.tableData[s].specialPhotoPic,
bookPic:this.tableData[s].bookPic,
show:true
}
}
})
} else if(d.recordtype === "升档改办") {
// sessionStorage.setItem("recordId",this.tableData[s].recordId)
this.$router.push({
name:"upgradeReoAuditp",
params:{
upgReo: {
name: this.tableData[s].name,
recordId: this.tableData[s].recordId,
info:this.tableData[s].info,
bankpic:this.tableData[s].bankpic,
idcardbackpic:this.tableData[s].idcardbackpic,
idcardfrontpic:this.tableData[s].idcardfrontpic,
signpic:this.tableData[s].signpic,
specialPhotoPic:this.tableData[s].specialPhotoPic,
bookPic:this.tableData[s].bookPic,
show:true
}
}
})
} else if(d.recordtype === "关系转移") {
// sessionStorage.setItem("recordId",this.tableData[s].recordId)
this.$router.push({
name:"traRelationsAuditp",
params:{
traRel: {
name: this.tableData[s].name,
recordId: this.tableData[s].recordId,
info:this.tableData[s].info,
bankpic:this.tableData[s].bankpic,
idcardbackpic:this.tableData[s].idcardbackpic,
idcardfrontpic:this.tableData[s].idcardfrontpic,
signpic:this.tableData[s].signpic,
specialPhotoPic:this.tableData[s].specialPhotoPic,
bookPic:this.tableData[s].bookPic,
show:true
}
}
})
}
},
handleDelete(g,h){
console.log(g)
console.log(h)
},
Encrypt(word) { //aes加密
var key = CryptoJS.enc.Utf8.parse("KkweInfo23255625");
let srcs = CryptoJS.enc.Utf8.parse(word);
let encrypted = CryptoJS.AES.encrypt(srcs, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return encrypted.toString();
},
decrypt(word){
var key = CryptoJS.enc.Utf8.parse("KkweInfo23255625");
var decrypt = CryptoJS.AES.decrypt(word, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
},
decryptByDES(ciphertext) {
var keyHex = CryptoJS.enc.Utf8.parse("KkweFace95271124");
var decrypted = CryptoJS.DES.decrypt({
ciphertext: CryptoJS.enc.Base64.parse(ciphertext)
}, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return decrypted.toString(CryptoJS.enc.Utf8);
}
},
created(){
Loading.service();
for(var i=1;i<=7;i++){
this.options1.push({
label:this.getType(i),
value:i
})
}
var data={
idcard:'',
recordType:''
}
this.$api.getlist.getlist(data).then((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
for(var i in res.data.list){
res.data.list[i].idcard=this.decrypt(res.data.list[i].idcard)
res.data.list[i].name=this.decrypt(res.data.list[i].name)
res.data.list[i].recordtype=this.getType(res.data.list[i].recordtype)
}
this.tableData=res.data.list
this.totals=res.data.total
this.page=res.data.total.pageNum
}).catch((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
})
}
}
</script>
<template>
<div>
<h2 class="imtil">基础信息</h2>
<div class="wrap">
<div class="masks"></div>
<el-form ref="form" :model="form" class="fo" label-width="auto">
<el-form-item label="姓名">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="身份证号">
<el-input v-model="form.identity_number"></el-input>
</el-form-item>
<el-form-item label="联系电话">
<el-input v-model="form.telphoneValue"></el-input>
</el-form-item>
</el-form>
<el-form ref="form" :model="form" class="fo" label-width="auto">
<el-form-item label="性别">
<el-input v-model="form.sex"></el-input>
</el-form-item>
<el-form-item label="民族">
<el-input v-model="form.nation"></el-input>
</el-form-item>
<el-form-item label="户口类型">
<el-input v-model="form.nation_type"></el-input>
</el-form-item>
</el-form>
</div>
<h2 class="imtil">关系转移信息</h2>
<div class="wrap">
<div class="masks"></div>
<el-form ref="form" :model="form" class="fo" label-width="auto">
<el-form-item label="原户籍地地址">
<el-input v-model="form.address"></el-input>
</el-form-item>
<el-form-item label="所属银行">
<el-input v-model="form.bank_Name"></el-input>
</el-form-item>
</el-form>
<el-form ref="form" :model="form" class="fo" label-width="auto">
<el-form-item label="转移后户籍地地址">
<el-input v-model="form.new_Address"></el-input>
</el-form-item>
<el-form-item label="银行账号">
<el-input v-model="form.bank_Account"></el-input>
</el-form-item>
</el-form>
</div>
<h2 class="imtil">附件</h2>
<div class="imgcon">
<div class="demo-image__placeholder">
<div v-show="bb" class="block">
<p class="demonstration">{{itmebs}}</p>
<el-image :src="urls[0]"></el-image>
</div>
<div class="block">
<p class="demonstration">签名</p>
<el-image :src="urls[1]">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
<div class="block">
<p class="demonstration">身份证正面</p>
<el-image :src="urls[2]">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
<div class="block">
<p class="demonstration">身份证反面</p>
<el-image :src="urls[3]">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
</div>
</div>
<div style="text-align:center;margin-bottom:40px" v-show="show">
<el-button type="success" @click="pass"><i class="el-icon-circle-check"></i> 审核通过</el-button>
<el-button type="danger" @click="nopass"><i class="el-icon-circle-close"></i> 审核不通过</el-button>
</div>
</div>
</template>
<script>
import CryptoJS from 'crypto-js'
import {Loading} from 'element-ui';
export default {
data() {
return {
itmebs: "",
show: "",
bb: false,
form: {
bank_Account: "",
bank_Name: "",
book_photo: "",
groupName: "",
idBackPic: "",
idFortPic: "",
identity_number: "",
nation: "",
nation_type: "",
new_Address: "",
old_Address: "",
recordType: "",
sex: "",
sign_photo: "",
telphoneValue: "",
townName: "",
villageName: "",
wuserId: "",
},
urls: [],
}
},
methods: {
//审核通过
pass() {
this.$confirm('是否审核通过?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
customClass:"box"
}).then(() => {
Loading.service();
var data = {
recordId: this.$route.params.traRel.recordId,
examineState: 1,
remark: "",
userId: 1
};
this.$api.getlist.shenhe(data).then((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
if (res.code === 200) {
this.$message({
type: 'success',
message: res.data
});
this.$router.push({
name: "关系转移审核"
})
} else {
this.$message({
type: 'info',
message: res.message
});
}
this.$router.back();
// 关闭当前标签
let closeAll = document.querySelectorAll(".el-icon-close");
for(let j = 0, len = closeAll.length; j < len; j++) {
if (closeAll[j].previousSibling != null && closeAll[j].previousSibling.innerText === "关系转移审核 ") {
closeAll[j].click();
return;
}
}
}).catch((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
this.$message({
type: 'info',
message: '操作失败!' + res
});
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消操作'
});
});
},
//审核不通过
nopass() {
// var that = this
this.$prompt('请输入原因', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
customClass:"box"
}).then(({value}) => {
if (value) {
Loading.service();
var data = {
recordId: this.$route.params.traRel.recordId,
examineState: 2,
remark: value,
userId: 1
};
this.$api.getlist.shenhe(data).then((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
if (res.code === 200) {
this.$message({
type: 'success',
message: res.data
});
// this.$router.push({
// name:"Xxsh"
// })
} else {
this.$message({
type: 'info',
message: res.message
});
}
this.$router.back();
// 关闭当前标签
let closeAll = document.querySelectorAll(".el-icon-close");
for(let j = 0, len = closeAll.length; j < len; j++) {
if (closeAll[j].previousSibling != null && closeAll[j].previousSibling.innerText === "关系转移审核 ") {
closeAll[j].click();
return;
}
}
}).catch((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
this.$message({
type: 'info',
message: '操作失败!' + res
});
});
} else {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
this.$message({
type: 'info',
message: '请输入原因'
});
}
}).catch(() => {
this.$message({
type: 'info',
message: '已取消输入'
});
});
},
decrypt(word) {
var key = CryptoJS.enc.Utf8.parse("KkweInfo23255625");
var decrypt = CryptoJS.AES.decrypt(word, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7});
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
},
decryptByDES(ciphertext) {
var keyHex = CryptoJS.enc.Utf8.parse("KkweFace95271124");
var decrypted = CryptoJS.DES.decrypt({
ciphertext: CryptoJS.enc.Base64.parse(ciphertext)
}, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return decrypted.toString(CryptoJS.enc.Utf8);
}
},
created() {
if (typeof(this.$route.params.traRel) !== "undefined" && this.$route.params.traRel.info) {
this.show = this.$route.params.traRel.show;
sessionStorage.setItem("traRelInfo", this.$route.params.traRel.info);
sessionStorage.setItem("traRelItems", JSON.stringify(this.$route.params.traRel));
}
let obj = JSON.parse(sessionStorage.getItem("traRelItems"));
this.form = JSON.parse(sessionStorage.getItem("traRelInfo"));
this.form.name = this.form.name ? this.decrypt(this.form.name) : obj.name;
this.form.identity_number = this.form.identity_number ? this.decrypt(this.form.identity_number) : "";
this.form.telphoneValue = this.form.telphoneValue ? this.decrypt(this.form.telphoneValue) : "";
if (obj.bankpic) {
this.bb = true;
this.itmebs = "银行卡";
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.bankpic);
} else if (obj.bookPic) {
this.bb = true;
this.itmebs = "户口本";
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.bookPic);
} else if (obj.specialPhotoPic) {
this.bb = true;
this.itmebs = "特殊身份证明";
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.specialPhotoPic);
} else {
this.itmebs = "";
this.urls.push("");
}
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.signpic);
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.idcardfrontpic);
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.idcardbackpic);
this.form.sex = this.form.sex === 1 ? "男" : "女";
}
}
</script>
<style>
.wrap {
overflow: hidden;
position: relative;
}
.masks {
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
z-index: 200
}
.fo {
width: 90%
}
.box{
width: 90% !important
}
.imgcon {
margin: 0 auto;
box-shadow: 0 0 15px lightgray;
overflow: hidden;
margin-bottom: 40px
}
.block {
width: 23%
}
.block {
float: left;
height: 100%;
margin-right: 20px
}
.imtil {
padding: 0 0 20px 0
}
</style>
<template>
<div>
<h2 class="imtil">基础信息</h2>
<div class="wrap">
<div class="masks"></div>
<el-form ref="form" :model="form" class="fo" label-width="auto">
<el-form-item label="姓名">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="身份证号">
<el-input v-model="form.identity_number"></el-input>
</el-form-item>
<el-form-item label="领取账号">
<el-input v-model="form.bank_Account"></el-input>
</el-form-item>
<el-form-item label="户籍地地址">
<el-input v-model="form.address"></el-input>
</el-form-item>
</el-form>
<el-form ref="form" :model="form" class="fo" label-width="auto">
<el-form-item label="性别">
<el-input v-model="form.sex"></el-input>
</el-form-item>
<el-form-item label="缴费年限">
<el-input v-model="form.payNum"></el-input>
</el-form-item>
<el-form-item label="联系电话">
<el-input v-model="form.telphoneValue"></el-input>
</el-form-item>
<el-form-item label="领取方式">
<el-input v-model="form.apply_way"></el-input>
</el-form-item>
</el-form>
</div>
<h2 class="imtil">个人账户信息</h2>
<div class="wrap">
<div class="masks"></div>
<el-form ref="form" :model="form" class="fo" label-width="auto">
<el-form-item label="个人缴费">
<el-input v-model="form.payTotalMoney"></el-input>
</el-form-item>
<el-form-item label="财政补贴">
<el-input v-model="form.benefits"></el-input>
</el-form-item>
<el-form-item label="个人账户积累额">
<el-input v-model="form.account_balance"></el-input>
</el-form-item>
</el-form>
<el-form ref="form" :model="form" class="fo" label-width="auto">
<el-form-item label="集体补助">
<el-input v-model="form.collectivePercent"></el-input>
</el-form-item>
<el-form-item label="利息">
<el-input v-model="form.interest"></el-input>
</el-form-item>
</el-form>
</div>
<h2 class="imtil">附件</h2>
<div class="imgcon">
<div class="demo-image__placeholder">
<div v-show="bb" class="block">
<p class="demonstration">{{itmebs}}</p>
<el-image :src="urls[0]"></el-image>
</div>
<div class="block">
<p class="demonstration">签名</p>
<el-image :src="urls[1]">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
<div class="block">
<p class="demonstration">身份证正面</p>
<el-image :src="urls[2]">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
<div class="block">
<p class="demonstration">身份证反面</p>
<el-image :src="urls[3]">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
<div class="block">
<p class="demonstration">个人照片</p>
<el-image :src="urls[4]">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
</div>
</div>
<div style="text-align:center;margin-bottom:40px" v-show="show">
<el-button type="success" @click="pass"><i class="el-icon-circle-check"></i> 审核通过</el-button>
<el-button type="danger" @click="nopass"><i class="el-icon-circle-close"></i> 审核不通过</el-button>
</div>
</div>
</template>
<script>
import CryptoJS from 'crypto-js'
import {Loading} from 'element-ui';
export default {
data() {
return {
itmebs: "",
show: "",
bb: false,
form: {
"name": "",
"bank_photo": "",
"groupName": "",
"identity_number": "",
"nation": '',
"nation_type": "",
"other_social": "",
"pay_account": "",
"pay_bank": "",
"pay_type": '',
"recordType": '',
"sex": '',
"sign_photo": "",
"social_time": "",
"special_type": "",
"telphoneValue": "",
"townName": "",
"villageName": "",
"address": "",
"wuserId": '',
apply_way: "",
mon_annuityPre: "",
mon_annuityGov: "",
mon_annuity: "",
interest: "",
payTotalMoney: "",
collectivePercent: 0,
bank_Account: "",
address: "",
payNum: "",
benefits: "",
},
urls: [],
}
},
methods: {
//审核通过
pass() {
this.$confirm('是否审核通过?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
customClass:"boxs"
}).then(() => {
Loading.service();
var data = {
recordId: this.$route.params.treApp.recordId,
examineState: 1,
remark: "",
userId: 1
};
this.$api.getlist.shenhe(data).then((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
if (res.code === 200) {
this.$message({
type: 'success',
message: res.data
});
this.$router.push({
name: "待遇申请审核"
})
} else {
this.$message({
type: 'info',
message: res.message
});
}
this.$router.back();
// 关闭当前标签
let closeAll = document.querySelectorAll(".el-icon-close");
for(let j = 0, len = closeAll.length; j < len; j++) {
if (closeAll[j].previousSibling != null && closeAll[j].previousSibling.innerText === "待遇申请审核 ") {
closeAll[j].click();
return;
}
}
}).catch((res) => {
console.log("进入catch: " + res);
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
this.$message({
type: 'info',
message: '操作失败!' + res
});
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消操作'
});
});
},
//审核不通过
nopass() {
// let that = this;
this.$prompt('请输入原因', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
customClass:"boxs"
}).then(({value}) => {
if (value) {
Loading.service();
var data = {
recordId: this.$route.params.treApp.recordId,
examineState: 2,
remark: value,
userId: 1
};
this.$api.getlist.shenhe(data).then((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
if (res.code === 200) {
this.$message({
type: 'success',
message: res.data
});
// this.$router.push({
// name:"Xxsh"
// })
} else {
this.$message({
type: 'info',
message: res.message
});
}
this.$router.back();
// 关闭当前标签
let closeAll = document.querySelectorAll(".el-icon-close");
for(let j = 0, len = closeAll.length; j < len; j++) {
if (closeAll[j].previousSibling != null && closeAll[j].previousSibling.innerText === "待遇申请审核 ") {
closeAll[j].click();
return;
}
}
}).catch((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
this.$message({
type: 'info',
message: '操作失败!' + res
});
});
} else {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
this.$message({
type: 'info',
message: '请输入原因'
});
}
}).catch(() => {
this.$message({
type: 'info',
message: '已取消输入'
});
});
},
decrypt(word) {
var key = CryptoJS.enc.Utf8.parse("KkweInfo23255625");
var decrypt = CryptoJS.AES.decrypt(word, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7});
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
},
decryptByDES(ciphertext) {
var keyHex = CryptoJS.enc.Utf8.parse("KkweFace95271124");
var decrypted = CryptoJS.DES.decrypt({
ciphertext: CryptoJS.enc.Base64.parse(ciphertext)
}, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return decrypted.toString(CryptoJS.enc.Utf8);
}
},
created() {
if (typeof(this.$route.params.treApp) !== "undefined" && this.$route.params.treApp.info) {
this.show = this.$route.params.treApp.show;
sessionStorage.setItem("treAppInfo", this.$route.params.treApp.info);
sessionStorage.setItem("treAppItems", JSON.stringify(this.$route.params.treApp));
}
var obj = JSON.parse(sessionStorage.getItem("treAppItems"));
this.form = JSON.parse(sessionStorage.getItem("treAppInfo"));
this.form.name = this.form.name ? this.decrypt(this.form.name) : obj.name;
this.form.identity_number = this.form.identity_number ? this.decrypt(this.form.identity_number) : "";
this.form.telphoneValue = this.form.telphoneValue ? this.decrypt(this.form.telphoneValue) : "";
if (obj.bankpic) {
this.bb = true;
this.itmebs = "银行卡";
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.bankpic);
} else if (obj.bookPic) {
this.bb = true;
this.itmebs = "户口本";
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.bookPic);
} else if (obj.specialPhotoPic) {
this.bb = true;
this.itmebs = "特殊身份证明";
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.specialPhotoPic);
} else {
this.itmebs = "";
this.urls.push("");
}
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.signpic);
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.idcardfrontpic);
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.idcardbackpic);
if (this.form.personPhoto != null && this.form.personPhoto !== '') {
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + this.form.personPhoto);
} else {
this.urls.push("");
}
this.form.sex = this.form.sex === 1 ? "男" : "女";
}
}
</script>
<style>
.wrap {
overflow: hidden;
position: relative;
}
.masks {
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
z-index: 200
}
.boxs{
width: 90% !important
}
.fo {
width: 90%
}
.imgcon {
margin: 0 auto;
box-shadow: 0 0 15px lightgray;
overflow: hidden;
margin-bottom: 40px
}
.block {
width: 23%
}
.block {
float: left;
height: 100%;
margin-right: 20px
}
.imtil {
padding: 0 0 20px 0
}
</style>
<template>
<div>
<h2 class="imtil">基础信息</h2>
<div class="wrap">
<div class="masks"></div>
<el-form ref="form" :model="form" class="fo" label-width="auto">
<el-form-item label="姓名">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="身份证号">
<el-input v-model="form.identity_number"></el-input>
</el-form-item>
<el-form-item label="联系电话">
<el-input v-model="form.telphoneValue"></el-input>
</el-form-item>
<el-form-item label="户籍地地址">
<el-input v-model="form.address"></el-input>
</el-form-item>
</el-form>
<el-form ref="form" :model="form" class="fo" label-width="auto">
<el-form-item label="性别">
<el-input v-model="form.sex"></el-input>
</el-form-item>
<el-form-item label="民族">
<el-input v-model="form.nation"></el-input>
</el-form-item>
<el-form-item label="户口类型">
<el-input v-model="form.nation_type"></el-input>
</el-form-item>
</el-form>
</div>
<h2 class="imtil">升档改办信息</h2>
<div class="wrap">
<div class="masks"></div>
<el-form ref="form" :model="form" class="fo" label-width="auto">
<el-form-item label="原缴费档次">
<el-input v-model="form.old_Grade"></el-input>
</el-form-item>
<el-form-item label="缴费金额">
<el-input v-model="form.pay_num"></el-input>
</el-form-item>
<el-form-item label="所属银行">
<el-input v-model="form.bank_Name"></el-input>
</el-form-item>
</el-form>
<el-form ref="form" :model="form" class="fo" label-width="auto">
<el-form-item label="升档缴费档次">
<el-input v-model="form.new_Grade"></el-input>
</el-form-item>
<el-form-item label="缴费人员类型">
<el-input v-model="form.personAplly_type"></el-input>
</el-form-item>
</el-form>
</div>
<h2 class="imtil">附件</h2>
<div class="imgcon">
<div class="demo-image__placeholder">
<div v-show="bb" class="block">
<p class="demonstration">{{itmebs}}</p>
<el-image :src="urls[0]"></el-image>
</div>
<div class="block">
<p class="demonstration">签名</p>
<el-image :src="urls[1]">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
<div class="block">
<p class="demonstration">身份证正面</p>
<el-image :src="urls[2]">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
<div class="block">
<p class="demonstration">身份证反面</p>
<el-image :src="urls[3]">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
</div>
</div>
<div style="text-align:center;margin-bottom:40px" v-show="show">
<el-button type="success" @click="pass"><i class="el-icon-circle-check"></i> 审核通过</el-button>
<el-button type="danger" @click="nopass"><i class="el-icon-circle-close"></i> 审核不通过</el-button>
</div>
</div>
</template>
<script>
import CryptoJS from 'crypto-js'
import {Loading} from 'element-ui';
export default {
data() {
return {
itmebs: "",
show: "",
bb: false,
form: {
bank_Account: "",
bank_Name: "",
groupName: "",
idBackPic: "",
idFortPic: "",
identity_number: "",
nation: "",
nation_type: "",
new_Grade: "",
old_Grade: "",
pay_num: "",
personAplly_type: "",
recordType: "",
sex: "",
sign_photo: "",
telphoneValue: "",
townName: "",
villageName: "",
wuserId: ""
},
urls: [],
}
},
methods: {
//审核通过
pass() {
this.$confirm('是否审核通过?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
customClass:"box"
}).then(() => {
Loading.service();
var data = {
recordId: this.$route.params.upgReo.recordId,
examineState: 1,
remark: "",
userId: 1
};
this.$api.getlist.shenhe(data).then((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
if (res.code === 200) {
this.$message({
type: 'success',
message: res.data
});
this.$router.push({
name: "升档改办审核"
})
} else {
this.$message({
type: 'info',
message: res.message
});
}
this.$router.back();
// 关闭当前标签
let closeAll = document.querySelectorAll(".el-icon-close");
for(let j = 0, len = closeAll.length; j < len; j++) {
if (closeAll[j].previousSibling != null && closeAll[j].previousSibling.innerText === "升档改办审核 ") {
closeAll[j].click();
return;
}
}
}).catch((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
this.$message({
type: 'info',
message: '操作失败!' + res
});
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消操作'
});
});
},
//审核不通过
nopass() {
// var that = this
this.$prompt('请输入原因', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
customClass:"box"
}).then(({value}) => {
if (value) {
Loading.service();
let data = {
recordId: this.$route.params.upgReo.recordId,
examineState: 2,
remark: value,
userId: 1
};
this.$api.getlist.shenhe(data).then((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
if (res.code === 200) {
this.$message({
type: 'success',
message: res.data
});
// this.$router.push({
// name:"Xxsh"
// })
} else {
this.$message({
type: 'info',
message: res.message
});
}
this.$router.back();
// 关闭当前标签
let closeAll = document.querySelectorAll(".el-icon-close");
for(let j = 0, len = closeAll.length; j < len; j++) {
if (closeAll[j].previousSibling != null && closeAll[j].previousSibling.innerText === "升档改办审核 ") {
closeAll[j].click();
return;
}
}
}).catch((res) => {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
this.$message({
type: 'info',
message: '操作失败!' + res
});
});
} else {
let loadingInstance = Loading.service();
this.$nextTick(() => { // 以服务的方式调用的 Loading 需要异步关闭
loadingInstance.close();
});
this.$message({
type: 'info',
message: '请输入原因'
});
}
}).catch(() => {
this.$message({
type: 'info',
message: '已取消输入'
});
});
},
decrypt(word) {
var key = CryptoJS.enc.Utf8.parse("KkweInfo23255625");
var decrypt = CryptoJS.AES.decrypt(word, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7});
return CryptoJS.enc.Utf8.stringify(decrypt).toString();
},
decryptByDES(ciphertext) {
var keyHex = CryptoJS.enc.Utf8.parse("KkweFace95271124");
var decrypted = CryptoJS.DES.decrypt({
ciphertext: CryptoJS.enc.Base64.parse(ciphertext)
}, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return decrypted.toString(CryptoJS.enc.Utf8);
}
},
created() {
if (typeof(this.$route.params.upgReo) !== "undefined" && this.$route.params.upgReo.info) {
this.show = this.$route.params.upgReo.show;
sessionStorage.setItem("upgReoInfo", this.$route.params.upgReo.info);
sessionStorage.setItem("upgReoItems", JSON.stringify(this.$route.params.upgReo));
}
let obj = JSON.parse(sessionStorage.getItem("upgReoItems"));
this.form = JSON.parse(sessionStorage.getItem("upgReoInfo"));
this.form.name = this.form.name ? this.decrypt(this.form.name) : obj.name;
this.form.identity_number = this.form.identity_number ? this.decrypt(this.form.identity_number) : "";
this.form.telphoneValue = this.form.telphoneValue ? this.decrypt(this.form.telphoneValue) : "";
if (obj.bankpic) {
this.bb = true;
this.itmebs = "银行卡";
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.bankpic);
} else if (obj.bookPic) {
this.bb = true;
this.itmebs = "户口本";
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.bookPic);
} else if (obj.specialPhotoPic) {
this.bb = true;
this.itmebs = "特殊身份证明";
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.specialPhotoPic);
} else {
this.itmebs = "";
this.urls.push("");
}
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.signpic);
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.idcardfrontpic);
this.urls.push("http://socialsecurity.oss-cn-beijing.aliyuncs.com/" + obj.idcardbackpic);
this.form.sex = this.form.sex === 1 ? "男" : "女";
}
}
</script>
<style scoped>
.wrap {
overflow: hidden;
position: relative;
}
.masks {
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
z-index: 200
}
.box{
width: 90% !important
}
.fo {
width: 90%
}
.imgcon {
margin: 0 auto;
box-shadow: 0 0 15px lightgray;
overflow: hidden;
margin-bottom: 40px
}
.block {
width: 23%
}
.block {
float: left;
height: 100%;
margin-right: 20px
}
.imtil {
padding: 0 0 20px 0
}
</style>
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
</div> </div>
<!--表格内容栏--> <!--表格内容栏-->
<kt-table :height="350" permsEdit="sys:dict:edit" permsDelete="sys:dict:delete" <kt-table :height="350" permsEdit="sys:dict:edit" permsDelete="sys:dict:delete"
:data="pageResult" :columns="columns" :data="pageResult" :columns="columns" :showBatchDelete="false"
@findPage="findPage" @handleEdit="handleEdit" @handleDelete="handleDelete"> @findPage="findPage" @handleEdit="handleEdit" @handleDelete="handleDelete">
</kt-table> </kt-table>
<!--新增编辑界面--> <!--新增编辑界面-->
......
...@@ -29,9 +29,9 @@ ...@@ -29,9 +29,9 @@
<el-form-item label="角色名" prop="name"> <el-form-item label="角色名" prop="name">
<el-input v-model="dataForm.name" auto-complete="off"></el-input> <el-input v-model="dataForm.name" auto-complete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="remark"> <!-- <el-form-item label="备注" prop="remark">-->
<el-input v-model="dataForm.remark" auto-complete="off" type="textarea"></el-input> <!-- <el-input v-model="dataForm.remark" auto-complete="off" type="textarea"></el-input>-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item label="签章" prop="seal" align="left" style="height: 80px"> <el-form-item label="签章" prop="seal" align="left" style="height: 80px">
<el-popover <el-popover
v-if="typeof(dataForm.sealStr) !== 'undefined' && dataForm.sealStr !== null && dataForm.sealStr !== ''" v-if="typeof(dataForm.sealStr) !== 'undefined' && dataForm.sealStr !== null && dataForm.sealStr !== ''"
...@@ -176,7 +176,7 @@ export default { ...@@ -176,7 +176,7 @@ export default {
this.dataForm = { this.dataForm = {
id: 0, id: 0,
name: '', name: '',
remark: '', remark: this.name,
seal: '', seal: '',
sealStr: '', sealStr: '',
} }
...@@ -195,6 +195,7 @@ export default { ...@@ -195,6 +195,7 @@ export default {
if (valid) { if (valid) {
this.$confirm('确认提交吗?', '提示', {}).then(() => { this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.editLoading = true this.editLoading = true
this.dataForm.remark = this.dataForm.name;
console.log(this.dataForm); console.log(this.dataForm);
let params = Object.assign({}, this.dataForm) let params = Object.assign({}, this.dataForm)
this.$api.role.save(params).then((res) => { this.$api.role.save(params).then((res) => {
......
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
<el-input v-model="dataForm.truename" auto-complete="off"></el-input> <el-input v-model="dataForm.truename" auto-complete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="密码" prop="password"> <el-form-item label="密码" prop="password">
<el-input v-model="dataForm.password" type="password" auto-complete="off"></el-input> <el-input v-model="dataForm.password" type="password" placeholder="密码必须为6至18位" auto-complete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="身份证" prop="bangIdcard"> <el-form-item label="身份证" prop="bangIdcard">
<el-input v-model="dataForm.bangIdcard" auto-complete="off"></el-input> <el-input v-model="dataForm.bangIdcard" auto-complete="off"></el-input>
...@@ -178,6 +178,7 @@ export default { ...@@ -178,6 +178,7 @@ export default {
}, },
roles: [], roles: [],
dParentId: '', dParentId: '',
tempPassword: '',
} }
}, },
methods: { methods: {
...@@ -236,6 +237,7 @@ export default { ...@@ -236,6 +237,7 @@ export default {
status: 1, status: 1,
userRoles: [] userRoles: []
} }
this.tempPassword = "";
}, },
// 显示编辑界面 // 显示编辑界面
handleEdit: function (params) { handleEdit: function (params) {
...@@ -251,7 +253,7 @@ export default { ...@@ -251,7 +253,7 @@ export default {
if (this.dataForm.deptId !== 1) { if (this.dataForm.deptId !== 1) {
deptId.push(this.dataForm.deptId); deptId.push(this.dataForm.deptId);
} }
console.log(deptId); // console.log(deptId);
this.dataForm.deptId = deptId; this.dataForm.deptId = deptId;
// for (let i=0;i<this.list.length;i++) { // for (let i=0;i<this.list.length;i++) {
// console.log(this.list[i]); // console.log(this.list[i]);
...@@ -261,6 +263,8 @@ export default { ...@@ -261,6 +263,8 @@ export default {
userRoles.push(params.row.userRoles[i].roleId) userRoles.push(params.row.userRoles[i].roleId)
} }
this.dataForm.userRoles = userRoles this.dataForm.userRoles = userRoles
this.tempPassword = this.dataForm.password;
this.dataForm.password = "apHaSbgbiyAFWfHJAg";
}, },
// 编辑 // 编辑
submitForm: function () { submitForm: function () {
...@@ -270,6 +274,9 @@ export default { ...@@ -270,6 +274,9 @@ export default {
this.$confirm('确认提交吗?', '提示', {}).then(() => { this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.dataForm.deptId = this.dataForm.deptId[this.dataForm.deptId.length-1]; this.dataForm.deptId = this.dataForm.deptId[this.dataForm.deptId.length-1];
this.dataForm.deptName = ""; this.dataForm.deptName = "";
if (this.tempPassword !== "" && this.dataForm.password === "apHaSbgbiyAFWfHJAg") {
this.dataForm.password = this.tempPassword;
}
let params = Object.assign({}, this.dataForm) let params = Object.assign({}, this.dataForm)
let userRoles = [] let userRoles = []
for(let i=0,len=params.userRoles.length; i<len; i++) { for(let i=0,len=params.userRoles.length; i<len; i++) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment