Commit 94fdd0de authored by 黎博's avatar 黎博

20200709-KA联调平台功能迭代需求

parent 90fb0861
{
"semi": false,
"singleQuote": true
}
\ No newline at end of file
...@@ -12,7 +12,7 @@ module.exports = { ...@@ -12,7 +12,7 @@ module.exports = {
proxyTable: {}, proxyTable: {},
// Various Dev Server settings // Various Dev Server settings
host: '192.168.28.179', // can be overwritten by process.env.HOST host: '0.0.0.0', // can be overwritten by process.env.HOST
port: 9001, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined port: 9001, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
autoOpenBrowser: true, autoOpenBrowser: true,
errorOverlay: true, errorOverlay: true,
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
}, },
"dependencies": { "dependencies": {
"axios": "0.18.0", "axios": "0.18.0",
"element-ui": "2.4.6", "element-ui": "2.13.2",
"js-cookie": "2.2.0", "js-cookie": "2.2.0",
"mockjs": "1.0.1-beta3", "mockjs": "1.0.1-beta3",
"moment": "^2.24.0", "moment": "^2.24.0",
...@@ -24,7 +24,8 @@ ...@@ -24,7 +24,8 @@
"nprogress": "0.2.0", "nprogress": "0.2.0",
"vue": "2.5.17", "vue": "2.5.17",
"vue-router": "3.0.1", "vue-router": "3.0.1",
"vuex": "3.0.1" "vuex": "3.0.1",
"xlsx": "^0.16.4"
}, },
"devDependencies": { "devDependencies": {
"autoprefixer": "8.5.0", "autoprefixer": "8.5.0",
......
import request from '@/utils/request' import request from '@/utils/request'
import xlsx from 'xlsx'
export function getChannels(data) { export function getChannels(data) {
return request({ return request({
...@@ -34,3 +35,24 @@ export function getChannelDetail(query) { ...@@ -34,3 +35,24 @@ export function getChannelDetail(query) {
params: query params: query
}) })
} }
export function exportExcel(postfix, data) {
const now = new Date()
const year = now.getFullYear()
const month = now.getMonth() + 1
const day = now.getDate()
const filename = year + '-' + month + '-' + day + '-' + postfix
// const worksheet = xlsx.utils.aoa_to_sheet(data)
const worksheet = xlsx.utils.json_to_sheet(data)
const newWorkbook = xlsx.utils.book_new()
xlsx.utils.book_append_sheet(newWorkbook, worksheet, 'SheetJS')
xlsx.writeFile(newWorkbook, filename + '.xlsx')
}
export function getChannelConf(params) {
return request({
url: '/channel/conf/export',
method: 'get',
params
})
}
import request from '@/utils/request'
export function getCustomerApplyInfo(params) {
return request({
url: '/customer/apply/info',
method: 'get',
params
})
}
...@@ -26,6 +26,7 @@ import '@/permission' // permission control ...@@ -26,6 +26,7 @@ import '@/permission' // permission control
// import '../mock' // simulation data // import '../mock' // simulation data
Vue.use(ElementUI, { locale }) Vue.use(ElementUI, { locale })
Vue.prototype.$message = ElementUI.Message
Vue.config.productionTip = false Vue.config.productionTip = false
......
...@@ -87,6 +87,18 @@ export const constantRouterMap = [ ...@@ -87,6 +87,18 @@ export const constantRouterMap = [
component: () => import('@/views/dashboard/index') component: () => import('@/views/dashboard/index')
}] }]
}, },
{
path: '/search',
component: Layout,
children: [
{
path: '',
name: 'search',
component: () => import('@/views/search/index'),
meta: { title: '用户查询', icon: 'nested' }
}
]
},
{ path: '*', redirect: '/404', hidden: true } { path: '*', redirect: '/404', hidden: true }
] ]
......
This diff is collapsed.
This diff is collapsed.
<template>
<div>
<!-- 头部搜索区域 -->
<div class="filter-container">
<el-input v-model="queryInfo.phoneNo" placeholder="手机号" style="width: 200px;" />
<el-input v-model="queryInfo.channelOrderNo" placeholder="订单号" style="width: 200px;" />
<el-button type="primary" icon="el-icon-search" @click="searchInfo">查询</el-button>
</div>
<!-- 用户基本信息 -->
<p style="margin-left: 20px; font-size: 20px">用户基本信息</p>
<div class="basic-info">
<div class="box">
<el-form label-position="left" label-width="80px">
<el-form-item label="姓名:">
<el-input v-model="userInfo.name" disabled size="medium" />
</el-form-item>
<el-form-item label="身份证:">
<el-input v-model="userInfo.idNo" disabled size="medium" />
</el-form-item>
<el-form-item label="手机号:">
<el-input v-model="userInfo.phoneNo" disabled size="medium" />
</el-form-item>
<el-form-item label="userId:">
<el-input v-model="userInfo.userId" disabled size="medium" />
</el-form-item>
<el-form-item label="uuid:">
<el-input v-model="userInfo.uuid" disabled size="medium" />
</el-form-item>
<el-form-item label="是否启用:">
<el-input v-model="userInfo.enable" disabled size="medium" />
</el-form-item>
</el-form>
</div>
<div class="box">
<el-form label-position="left" label-width="80px">
<el-form-item label="email:">
<el-input v-model="userInfo.email" disabled size="medium" />
</el-form-item>
<el-form-item label="职业:">
<el-input v-model="userInfo.occupation" disabled size="medium" />
</el-form-item>
<el-form-item label="学历:">
<el-input v-model="userInfo.education" disabled size="medium" />
</el-form-item>
<el-form-item label="收入类型:">
<el-input v-model="userInfo.income" disabled size="medium" />
</el-form-item>
<el-form-item label="收入范围:">
<el-input v-model="userInfo.incomeRange" disabled size="medium" />
</el-form-item>
<el-form-item label="地址:">
<el-input v-model="userInfo.address" disabled size="medium" />
</el-form-item>
</el-form>
</div>
<div class="box">
<el-form label-position="left" label-width="100px">
<el-form-item label="联系人1:">
<el-input v-model="userInfo.contactNameA" disabled size="medium" />
</el-form-item>
<el-form-item label="联系人2:">
<el-input v-model="userInfo.contactNameB" disabled size="medium" />
</el-form-item>
<el-form-item label="婚姻状态:">
<el-input v-model="userInfo.marryStatus" disabled size="medium" />
</el-form-item>
<el-form-item label="是否有车:">
<el-input v-model="userInfo.hasCar" disabled size="medium" />
</el-form-item>
<el-form-item label="是否有房:">
<el-input v-model="userInfo.hasHouse" disabled size="medium" />
</el-form-item>
<el-form-item label="是否有信用卡:">
<el-input v-model="userInfo.hasCreditCard" disabled size="medium" />
</el-form-item>
</el-form>
</div>
</div>
<!-- 用户ocr信息区域 -->
<!-- <p style="margin-left: 20px; font-size: 20px">风控场景数据</p> -->
<div v-show="userInfo.riskInfoList != null" class="wind-control">
<p style="margin-left: 20px; font-size: 20px">风控场景数据</p>
<div class="image-area">
<div class="box">
<el-image :src="src" />
</div>
<div class="box">
<el-image :src="src" />
</div>
</div>
<div class="living-body">
<p>活体类型:{{ livingType }}</p>
<p>活体信息:{{ livingInfo }}</p>
</div>
<div class="extra-info">
其他信息:
<el-input v-model="textarea2" type="textarea" placeholder="请输入内容" />
</div>
</div>
</div>
</template>
<script>
import { getCustomerApplyInfo } from '@/api/search'
export default {
data() {
return {
queryInfo: {
phoneNo: '',
channelOrderNo: ''
},
userInfo: {
name: '',
idNo: '',
phoneNo: '',
userId: '',
uuid: '',
enable: '',
email: '',
occupation: '',
education: '',
income: '',
incomeRange: '',
address: '',
contactNameA: '',
contactNameB: '',
marryStatus: '',
hasCar: '',
hasHouse: '',
hasCreditCard: ''
},
idCardFront: '',
idCardBack: '',
livingType: '',
livingInfo: ''
}
},
methods: {
searchInfo() {
if (this.queryInfo.phoneNo === '' && this.queryInfo.channelOrderNo === '') {
return this.$message.error('手机号和订单号不能同时为空!')
}
getCustomerApplyInfo(this.queryInfo).then((res) => {
console.log(res)
this.userInfo = res.data
})
}
}
}
</script>
<style lang="scss" scoped>
.filter-container {
margin: 20px;
}
.el-input {
width: 280px !important;
padding: 0 !important;
}
.basic-info {
border: 0.5px solid rgba(213, 216, 219, 0.4);
padding: 20px 10px;
display: flex;
margin: 20px;
.box {
flex: 1;
}
}
.image-area {
display: flex;
margin: 0 40px;
.box {
flex: 1;
padding: 20px 100px;
}
}
.wind-control {
border: 0.5px solid rgba(213, 216, 219, 0.4);
padding: 20px 10px;
margin: 20px;
}
.living-body {
display: flex;
margin: 0 40px;
p {
flex: 1;
margin: 20px 20px;
}
}
</style>
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