Browse Source

Merge remote-tracking branch 'origin/master'

master
God 2 years ago
parent
commit
a5e7f38e8b
  1. 20
      anrui-fin/anrui-fin-biz/src/main/resources/application-dev.yml
  2. 8
      anrui-fin/anrui-fin-biz/src/main/resources/application-test.yml
  3. 18
      anrui-riskcenter-ui/src/api/Common/Upload.js
  4. 26
      anrui-riskcenter-ui/src/api/Common/dictcommons.js
  5. 37
      anrui-riskcenter-ui/src/api/capital/capital.js
  6. 54
      anrui-riskcenter-ui/src/api/financialpolicymanagement/financialpolicymanagement.js
  7. 113
      anrui-riskcenter-ui/src/api/financialpolicyreporting/financialpolicyreporting.js
  8. 231
      anrui-riskcenter-ui/src/components/uploadFile/uploadImg.vue
  9. 2
      anrui-riskcenter-ui/src/layout/components/Sidebar/index.vue
  10. 64
      anrui-riskcenter-ui/src/router/index.js
  11. 12
      anrui-riskcenter-ui/src/styles/index.scss
  12. 276
      anrui-riskcenter-ui/src/views/capital/capital.vue
  13. 154
      anrui-riskcenter-ui/src/views/capital/capitalAdd.vue
  14. 625
      anrui-riskcenter-ui/src/views/financialpolicymanagement/financialpolicymanagement.vue
  15. 618
      anrui-riskcenter-ui/src/views/financialpolicymanagement/financialpolicymanagementAdd.vue
  16. 277
      anrui-riskcenter-ui/src/views/financialpolicymanagement/financialpolicymanagementInfo.vue
  17. 339
      anrui-riskcenter-ui/src/views/financialpolicyreporting/financialpolicyreporting.vue
  18. 328
      anrui-riskcenter-ui/src/views/financialpolicyreporting/financialpolicyreportingAdd.vue
  19. 187
      anrui-riskcenter-ui/src/views/financialpolicyreporting/financialpolicyreportingInfo.vue
  20. 383
      anrui-riskcenter-ui/src/views/workFlow/jinrongzhengceFlow/financialpolicyreportingByDivisionOperateInfo.vue
  21. 383
      anrui-riskcenter-ui/src/views/workFlow/jinrongzhengceFlow/financialpolicyreportingDaiBanInfo.vue
  22. 305
      anrui-riskcenter-ui/src/views/workFlow/jinrongzhengceFlow/financialpolicyreportingEdit.vue
  23. 255
      anrui-riskcenter-ui/src/views/workFlow/jinrongzhengceFlow/financialpolicyreportingYiBanInfo.vue
  24. 282
      anrui-riskcenter-ui/src/views/workFlow/jinrongzhengceFlow/relation/jinrongzhengceInfo.vue
  25. 132
      anrui-riskcenter-ui/src/views/workFlow/jinrongzhengceFlow/relation/otherInfo.vue

20
anrui-fin/anrui-fin-biz/src/main/resources/application-dev.yml

@ -8,7 +8,7 @@ spring:
discovery:
server-addr: 127.0.0.1:8848
redis:
database: 6 # Redis数据库索引(默认为0)
database: 3 # Redis数据库索引(默认为0)
host: 127.0.0.1
jedis:
pool:
@ -16,22 +16,22 @@ spring:
max-idle: 8 #连接池中的最大空闲连接
max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
min-idle: 0 # 连接池中的最小空闲连接
password:
password: 123456
port: 6379
timeout: 0 # 连接超时时间(毫秒)
image:
upload:
path: static/upload/
path: D:\anrui\upload
url:
prefix: http://192.168.1.116:8111/upload/
prefix: http://192.168.1.109:8111/upload/
kingdee: #金蝶的系统的链接账号 url等信息
acctID: 63d9dee6684d6c #登录金蝶的账户信息 202302测试
userName: 信息部 #登录金蝶的账户信息 202302测试的
password: 123456 #登录金蝶的账户信息
userName_administrator: Administrator #登录金蝶的账户信息 202302测试
password_administrator: ANrui123456. #登录金蝶的账户信息 202302测试
acctID: 64ae52afbc9aa4 #登录金蝶的账户信息 202307测试
userName: 信息部 #登录金蝶的账户信息 202307测试的
password: 123321 #登录金蝶的账户信息
userName_administrator: Administrator #登录金蝶的账户信息 202307测试
password_administrator: ANrui123456. #登录金蝶的账户信息 202307测试
lcid: 2052 #登录金蝶的账户信息
url: http://121.36.43.55 #金蝶财务系统ip地址
templateUrl:
uploadUrl: D:\anrui\upload\template\
prefixUrl: http://127.0.0.1:8111/upload/template/
prefixUrl: http://192.168.1.109:8111/upload/template/

8
anrui-fin/anrui-fin-biz/src/main/resources/application-test.yml

@ -25,10 +25,10 @@ image:
url:
prefix: http://anrui.yyundong.com/upload/
kingdee:
acctID: 63d9dee6684d6c #登录金蝶的账户信息 202302测试
acctID: 64ae52afbc9aa4 #登录金蝶的账户信息 202307测试
userName: 信息部 #登录金蝶的账户信息 202302测试的
password: 123456 #登录金蝶的账户信息
userName_administrator: Administrator #登录金蝶的账户信息 202302测试
password_administrator: ANrui123456. #登录金蝶的账户信息 202302测试
password: 123321 #登录金蝶的账户信息
userName_administrator: Administrator #登录金蝶的账户信息 202307测试
password_administrator: ANrui123456. #登录金蝶的账户信息 202307测试
lcid: 2052 #登录金蝶的账户信息
url: http://121.36.43.55 #金蝶财务系统ip地址

18
anrui-riskcenter-ui/src/api/Common/Upload.js

@ -1,20 +1,4 @@
import request from '@/utils/request'
// 上传图片
export function imageUpload(data){
return request({
url: '/jlcyry/file/upload',
method: 'post',
data,
headers:{'Content-Type':'multipart/form-data'}
})
}
// export function uploadFile(data){
// return request({
// url: '/portal/file/upload',
// method: 'post',
// data,
// headers:{'Content-Type':'multipart/form-data'}
// })
// }
//
export const uploadFile = '/api/portal/file/upload'

26
anrui-riskcenter-ui/src/api/Common/dictcommons.js

@ -16,3 +16,29 @@ export function getOrgSidByPath(data) {
params: data
})
}
// 根据分公司sid查询分公司名称
export function fetchBySid(sid) {
return request({
url: 'portal/v1/sysorganization/fetchBySid/' + sid,
method: 'get'
})
}
// 根据当前登录用户sid获取本分公司下的销售部门和销售专员
export function selectOrgList(data) {
return request({
url: '/portal/v1/sysorganization/selectOrgList',
method: 'get',
params: data
})
}
// 根据当前登录用户全路径sidPath获取本分公司下的资方信息
export function selectListByOrgPath(data) {
return request({
url: '/riskcenter/v1/loanfinbank/selectListByOrgPath',
method: 'get',
params: data
})
}

37
anrui-riskcenter-ui/src/api/capital/capital.js

@ -0,0 +1,37 @@
import request from '@/utils/request'
// import qs from 'qs'
// 其他入库单
export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/riskcenter/v1/loanfinbank/listPage',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
saveOrUpdate: function(data) {
return request({
url: '/riskcenter/v1/loanfinbank/saveOrUpdate',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
fetchBySid: function(data) {
return request({
url: '/riskcenter/v1/loanfinbank/init/' + data,
method: 'get'
})
},
deleteBySids: function(data) {
return request({
url: '/riskcenter/v1/loanfinbank/deleteBySids',
method: 'DELETE',
data: data,
headers: { 'Content-Type': 'application/json' }
})
}
}

54
anrui-riskcenter-ui/src/api/financialpolicymanagement/financialpolicymanagement.js

@ -0,0 +1,54 @@
import request from '@/utils/request'
export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/riskcenter/v1/LoanFinPolicy/pagerList',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
saveOrUpdate: function(data) {
return request({
url: '/riskcenter/v1/LoanFinPolicy/saveOrUpdate',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
fetchBySid: function(data) {
return request({
url: '/riskcenter/v1/LoanFinPolicy/details',
method: 'get',
params: data
})
},
deleteBySids: function(data) {
return request({
url: '/riskcenter/v1/LoanFinPolicy/deletePolicy',
method: 'DELETE',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
// 停用或开启 1停用 0开启
setState: function(data) {
return request({
url: '/riskcenter/v1/LoanFinPolicy/setState',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
// 禁用或启用 1禁用 0启用
setRiskState: function(data) {
return request({
url: '/riskcenter/v1/LoanFinPolicy/setRiskState',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
}
}

113
anrui-riskcenter-ui/src/api/financialpolicyreporting/financialpolicyreporting.js

@ -0,0 +1,113 @@
import request from '@/utils/request'
export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/riskcenter/v1/loanfinpolicyrecordapply/listPage',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
saveOrUpdate: function(data) {
return request({
url: '/riskcenter/v1/loanfinpolicyrecordapply/saveOrUpdate',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
policyRecordInit: function(data) {
return request({
url: '/riskcenter/v1/loanfinpolicyrecordapply/policyRecordInit',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
fetchBySid: function(data) {
return request({
url: '/riskcenter/v1/loanfinpolicyrecordapply/fetchDetailsBySid/' + data,
method: 'get'
})
},
deleteBySids: function(data) {
return request({
url: '/riskcenter/v1/loanfinpolicyrecordapply/deleteBySids',
method: 'DELETE',
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
// 提交流程
submit: function(params) {
return request({
url: '/riskcenter/v1/loanfinpolicyrecordapply/submit',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 流程审批(同意)
complete: function(params) {
return request({
url: '/riskcenter/v1/loanfinpolicyrecordapply/complete',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 流程审批(同意)
companyToDivisionOperate: function(params) {
return request({
url: '/riskcenter/v1/loanfinpolicyrecordapply/companyToDivisionOperate',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 流程审批(驳回)
reject: function(params) {
return request({
url: '/riskcenter/v1/loanfinpolicyrecordapply/reject',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 流程审批(终止)
breakProcess: function(params) {
return request({
url: '/riskcenter/v1/loanfinpolicyrecordapply/breakProcess',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 流程审批(撤回)
revokeProcess: function(params) {
return request({
url: '/buscenter/v1/loanfinpolicyrecordapply/revokeProcess',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
})
},
// 审批流程(同意)获取下一环节
getNextNodesForSubmit: function(data) {
return request({
url: '/riskcenter/v1/loanfinpolicyrecordapply/getNextNodesForSubmit',
method: 'get',
params: data
})
},
// 审批流程(驳回)获取上一环节
getPreviousNodesForReject: function(data) {
return request({
url: '/riskcenter/v1/loanfinpolicyrecordapply/getPreviousNodesForReject',
method: 'get',
params: data
})
}
}

231
anrui-riskcenter-ui/src/components/uploadFile/uploadImg.vue

@ -0,0 +1,231 @@
<template>
<div>
<el-upload ref="imgUpload" v-loading="loadding" class="avatar-uploader" :headers="accessToken"
:action="uploadFile" accept="accept" list-type="picture-card"
:file-list="files" :on-remove="removeImage" :on-preview="handlePictureCardPreview"
:on-progress="uploadProgrees"
:on-error="uploadError" :on-success="uploadImgSuccess_FuJian">
<i class="el-icon-plus avatar-uploader-icon"/>
</el-upload>
<el-dialog :visible.sync="dialogVisible" :append-to-body="true" title="查看图片">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
</div>
</template>
<script>
import { uploadFile } from '@/api/Common/Upload'
import { getStorage } from '@/utils/auth.js'
export default {
model: {
prop: 'name',
event: 'change'
},
props: {
placeholder: {
type: String,
default: ''
},
bucket: {
type: String,
default: 'abc'
},
//
width: {
type: String,
default: '270px'
},
limit: {
type: Number,
default: 1
},
accept: {
type: String,
default:
'.jpg,.jpeg,.png,.bmp,.pdf,.JPG,.JPEG,.BMP,.PDF,.xls,.docx,.xlsx,.ppt,.pptx'
},
//
name: {
type: Array,
required: true
},
uploadData: {
type: Object,
default: {}
}
},
data() {
return {
dialogImageUrl: '',
dialogVisible: false,
accessToken: null,
uploadFile: uploadFile,
fileList_FuJian: [],
enclosure: '',
file_add: '',
file_catch: '',
files: [],
files_list: [],
filedUrl: '',
// fileUrl: fileUrl,
// showpicture:false,
isview: false,
nameArr: '',
loadding: false,
stateName: ''
}
},
watch: {
name: {
deep: true,
immediate: true,
handler(newVal, oldVal) {
console.log('aaaa1', newVal)
console.log('aaaa2', oldVal)
this.files = newVal
console.log('aaaa2this.files', this.files)
}
}
},
mounted() {
this.$nextTick(() => {
this.Init()
})
},
created() {
this.uploadFile = uploadFile //
this.accessToken = {
token: getStorage()
}
},
methods: {
showImg(imgList) {
this.stateName = 'xunidingjinAdd'
this.files = imgList
console.log('回显图片', this.files)
},
view() {
// window.open(this.filedUrl)
},
//
Init() {
if (this.name !== undefined) {
this.files = []
for (var i = 0; i < this.name.length; i++) {
this.files.push({
name: this.name[i],
url: this.name[i]
})
}
}
},
// --
uploadImgSuccess_FuJian(response, file, fileList) {
console.log('您选择的file:', file)
if (file.response.code === '200') {
this.loadding = false
//
this.filedUrl = this.fileUrl + file.response.data
// var uid = file.response.data
this.files.push({
name: file.response.data.sourceFileName,
url: file.response.data.fullUrl,
filePath: file.response.data.filePath,
size: file.response.data.size
})
this.$emit('change', this.files)
this.$emit('eett', this.files)
}
},
removeImage(file, ImageFileList) {
this.files.splice(this.files.indexOf(file), 1)
const imgFiles = []
this.files.forEach((o) => {
imgFiles.push(o.url)
})
this.$emit('fileChange', this.files)
},
handleRemove(file, fileList) {
console.log('file:' + JSON.stringify(file))
console.log('fileList:' + JSON.stringify(fileList))
this.enclosure = ''
// 1. id(this.file_add)
this.getNewFileId(fileList)
// 2. id(this.file_catch)
this.getCatchFileId(file)
// 3. id
this.getFileId()
// 4. id
this.$emit('change', this.enclosure)
},
// this.file_add(id)
getNewFileId(fileList) {
// debugger
this.file_add = ''
for (var i = 0; i < fileList.length; i++) {
if (fileList[i].response && fileList[i].response.code === '200') {
this.file_add = this.file_add + fileList[i].response.data + ','
}
}
if (this.file_add !== '') {
this.file_add = this.file_add.substring(0, this.file_add.length - 1)
}
// console.log('1. this.file_add: ' + this.file_add)
},
// this.file_catchid
getCatchFileId(file) {
for (var i = 0; i < this.files_list.length; i++) {
if (this.file_catch !== '') {
// 1. id
if (this.files_list[i].name === file.name) {
// 2. file_catchfils_arry
var fils_arry = this.file_catch.split(',')
// 3. fils_arry this.files_list[i].id
var arry = []
fils_arry.forEach((element) => {
//
if (element !== this.files_list[i].id) {
arry.push(element)
}
})
// 4. file_catch
this.file_catch = arry.join(',')
}
}
}
// console.log('2. this.file_catch:' + this.file_catch)
},
// id
getFileId() {
// console.log('3. this.file_catch:' + this.file_catch + ',this.file_add:' + this.file_add)
if (this.file_catch !== '') {
if (this.file_add !== '') {
this.enclosure = this.file_catch + ',' + this.file_add
} else {
this.enclosure = this.file_catch
}
} else {
this.enclosure = this.file_add
}
},
handlePictureCardPreview(file) {
this.dialogVisible = true
this.dialogImageUrl = file.url
},
//
uploadError() {
this.loadding = false
},
uploadProgrees(event, file, fileList) {
if (Number(event.percent) > 0) {
this.loadding = true
}
}
}
}
</script>
<style lang="scss" scoped></style>

2
anrui-riskcenter-ui/src/layout/components/Sidebar/index.vue

@ -35,7 +35,7 @@
YongHuid: [],
routes: [],
params: {
sourceSid: '20221d77-239e-4e4a-bdec-3266478dfdc3',
sourceSid: '0c6dbca4-4325-4db2-ae47-b645b7174552',
userSid: '',
}
}

64
anrui-riskcenter-ui/src/router/index.js

@ -52,12 +52,74 @@ export const constantRoutes = [
},
children: [
{
path: '/capital',
path: '/capital/capital',
component: () => import('@/views/capital/capital.vue'),
name: 'Capital',
meta: { title: '资方管理', noCache: true }
}
]
},
{
path: '/financialpolicymanagement',
component: Layout,
redirect: '/financialpolicymanagement',
meta: {
title: '金融产品政策管理'
},
children: [
{
path: '/financialpolicymanagement/financialpolicymanagement',
component: () => import('@/views/financialpolicymanagement/financialpolicymanagement.vue'),
name: 'FinancialPolicyManagement',
meta: { title: '金融产品政策管理', noCache: true }
}
]
},
{
path: '/financialpolicyreporting',
component: Layout,
redirect: '/financialpolicyreporting',
meta: {
title: '金融产品政策报备'
},
children: [
{
path: '/financialpolicyreporting/financialpolicyreporting',
component: () => import('@/views/financialpolicyreporting/financialpolicyreporting.vue'),
name: 'FinancialPolicyrReporting',
meta: { title: '金融产品政策报备', noCache: true }
}
]
},
// 流程审批
// 金融产品政策报备--编辑
{
path: '/jinrongzhengceFlow/financialpolicyreportingEdit',
component: () =>
import('@/views/workFlow/jinrongzhengceFlow/financialpolicyreportingEdit.vue'),
name: 'FinancialPolicyReportingEdit'
},
// 金融产品政策报备--待办
{
path: '/jinrongzhengceFlow/financialpolicyreportingDaiBanInfo',
component: () =>
import('@/views/workFlow/jinrongzhengceFlow/financialpolicyreportingDaiBanInfo.vue'),
name: 'FinancialPolicyReportingBaiBanInfo'
},
// 金融产品政策报备--待办--总经理跳转风控中心
{
path: '/jinrongzhengceFlow/financialpolicyreportingByDivisionOperateInfo',
component: () =>
import('@/views/workFlow/jinrongzhengceFlow/financialpolicyreportingByDivisionOperateInfo.vue'),
name: 'FinancialPolicyReportingByDivisionOperateInfo'
},
// 金融产品政策报备--已办
{
path: '/jinrongzhengceFlow/financialpolicyreportingYiBanInfo',
component: () =>
import('@/views/workFlow/jinrongzhengceFlow/financialpolicyreportingYiBanInfo.vue'),
name: 'FinancialPolicyReportingYiBanInfo'
}
// 404 page must be placed at the end !!!
// { path: '*', redirect: '/404', hidden: true }

12
anrui-riskcenter-ui/src/styles/index.scss

@ -430,3 +430,15 @@ div:focus {
.bordertopline{ border-top: 1px solid $table-border-color;}
.lookimg img{width: 250px;margin: 10px;}
.listimg{width: 80px;}
.tleftb {
text-align: right;
font-size: 14px;
color: #606266;
line-height: 40px !important;
font-weight: 600;
}
.icon {
color: #e84026;
margin-right: 4px;
}

276
anrui-riskcenter-ui/src/views/capital/capital.vue

@ -0,0 +1,276 @@
<template>
<div class="app-container">
<!--列表页面-->
<div v-show="viewState == 1">
<button-bar view-title="资方管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<!--Start查询列表部分-->
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-form-item label="资方名称">
<el-input v-model="listQuery.params.manageName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="联系人">
<el-input v-model="listQuery.params.name" placeholder="" clearable/>
</el-form-item>
<el-form-item label="联系电话">
<el-input v-model="listQuery.params.mobile" placeholder="" clearable/>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handleReset">重置</el-button>
</div>
</div>
</div>
<!--End查询列表部分-->
<div class="listtop">
<div class="tit">资方信息列表</div>
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--Start 主页面主要部分 -->
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" :border="true" style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" width="50"/>
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column prop="manageName" label="资方名称" align="center"/>
<el-table-column prop="bankShortName" label="资方简称" align="center"/>
<el-table-column prop="name" label="联系人" align="center"/>
<el-table-column prop="mobile" label="联系电话" align="center"/>
<el-table-column prop="contractSetValue" label="生成合同设置"/>
<el-table-column prop="bankCardRemark" label="银行卡要求"/>
</el-table>
</div>
<!--End 主页面主要部分-->
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--End查询列表部分-->
</div>
</div>
<!--新增及修改 -->
<capitalAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="getList"/>
</div>
</template>
<script>
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import req from '@/api/capital/capital'
import { getOrgSidByPath } from '@/api/Common/dictcommons'
import capitalAdd from './capitalAdd'
export default {
name: 'Capital',
components: {
Pagination,
pageye,
ButtonBar,
capitalAdd
},
data() {
return {
btndisabled: false,
btnList: [
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'primary',
size: 'small',
icon: 'edit',
btnKey: 'toEdit',
btnLabel: '编辑'
},
{
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1, // 1 2 3 4
tableKey: 0,
list: [],
sids: [], // SIDs
FormLoading: false,
listLoading: false,
//
listQuery: {
current: 1,
size: 10,
total: 0,
params: {
manageName: '',
name: '',
mobile: '',
createOrgSid: ''
}
}
}
},
created() {
//
this.init()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'toEdit':
this.toEdit()
break
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
init() {
getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((resp) => {
if (resp.success) {
this.listQuery.params.createOrgSid = resp.data
this.getList()
}
})
},
// sid
handleSelectionChange(row) {
const aa = []
row.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
req.listPage(this.listQuery).then(response => {
this.listLoading = false
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
//
handleReset() {
this.listQuery = {
current: 1,
size: 10,
total: 0,
params: {
manageName: '',
name: '',
mobile: '',
createOrgSid: ''
}
}
this.init()
},
toAdd() {
this.viewState = 2
this.$refs['divAdd'].showAdd(this.listQuery.params.createOrgSid)
},
toEdit(row) {
if (this.sids.length === 1) {
this.viewState = 3
this.$refs['divAdd'].showEdit(this.sids[0])
} else {
this.$message({ showClose: true, type: 'error', message: '请选择一条记录进行编辑操作' })
}
},
doDel() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteBySids(this.sids).then(resp => {
if (resp.success) {
this.$message({ type: 'success', message: resp.msg, showClose: true })
}
this.getList()
loading.close()
}).catch(e => {
loading.close()
})
}).catch(() => {
})
},
//
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
</style>

154
anrui-riskcenter-ui/src/views/capital/capitalAdd.vue

@ -0,0 +1,154 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate()">保存</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submit()">提交</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="12">
<div class="span-sty"><span>资方名称</span></div>
<el-form-item><el-input v-model="formobj.manageName" class="addinputInfo addinputw" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty"><span>资方简称</span></div>
<el-form-item><el-input v-model="formobj.bankShortName" class="addinputInfo addinputw" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<div class="span-sty"><span>联系人</span></div>
<el-form-item><el-input v-model="formobj.name" class="addinputInfo addinputw" clearable placeholder=""/></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty"><span>联系电话</span></div>
<el-form-item><el-input v-model="formobj.mobile" class="addinputInfo addinputw" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty"><span><span class="icon">*</span>生成合同设置</span></div>
<el-form-item>
<el-radio-group class="addinputInfo" style="font-size: 1px" v-model="formobj.contractSetValue">
<el-radio label="一车一合同">一车一合同</el-radio>
<el-radio label="一贷款人一合同">一贷款人一合同</el-radio>
<el-radio label="自行选择">自行选择</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty"><span>银行卡要求</span></div>
<el-form-item><el-input v-model="formobj.bankCardRemark" class="addinputInfo addinputw" clearable placeholder=""/></el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import req from '@/api/capital/capital'
export default {
name: 'CapitalAdd',
data() {
return {
viewTitle: '',
submitdisabled: false,
formobj: {
userSid: '',
sid: '',
manageName: '',
name: '',
mobile: '',
bankShortName: '',
contractSetKey: '',
contractSetValue: '',
bankCardRemark: '',
createOrgSid: '',
orgSidPath: ''
},
rules: {
contractSetValue: [{ required: true, message: '生成合同设置不能为空', trigger: 'change' }]
}
}
},
methods: {
showAdd(createOrgSid) {
this.viewTitle = '【新增】资方信息'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.formobj.userSid = window.sessionStorage.getItem('userSid')
this.formobj.orgSidPath = window.sessionStorage.getItem('defaultOrgPath')
this.formobj.createOrgSid = createOrgSid
},
showEdit(sid) {
this.viewTitle = '【编辑】资方信息'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid(sid).then((res) => {
if (res.success) {
this.formobj = res.data
}
})
},
saveOrUpdate() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
if (this.formobj.contractSetValue === '一车一合同') {
this.formobj.contractSetKey = '001'
} else if (this.formobj.contractSetValue === '一贷款人一合同') {
this.formobj.contractSetKey = '002'
} else if (this.formobj.contractSetValue === '自行选择') {
this.formobj.contractSetKey = '003'
}
this.submitdisabled = true
req.saveOrUpdate(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' })
this.handleReturn('true')
}
})
}
})
},
submit() {},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
userSid: '',
sid: '',
manageName: '',
name: '',
mobile: '',
bankShortName: '',
contractSetKey: '',
contractSetValue: '',
bankCardRemark: '',
createOrgSid: '',
orgSidPath: ''
}
this.submitdisabled = false
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 130px !important;
}
.addinputInfo {
margin-left: 120px !important;
}
</style>

625
anrui-riskcenter-ui/src/views/financialpolicymanagement/financialpolicymanagement.vue

@ -0,0 +1,625 @@
<template>
<div class="app-container">
<!--列表页面-->
<div v-show="viewState == 1">
<button-bar view-title="金融产品政策管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<!--Start查询列表部分-->
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="110px" class="tab-header">
<el-form-item label="报备状态">
<el-select v-model="listQuery.params.filingStateKey" placeholder="请选择" clearable filterable>
<el-option v-for="item in filingState_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
<el-form-item label="风控状态">
<el-select v-model="listQuery.params.riskStateKey" placeholder="请选择" clearable filterable>
<el-option v-for="item in riskState_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
<el-form-item label="使用状态">
<el-select v-model="listQuery.params.useSateKey" placeholder="请选择" clearable filterable>
<el-option v-for="item in useSate_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
<el-form-item label="分公司">
<el-input v-model="listQuery.params.useOrgName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="业务类型">
<el-select v-model="listQuery.params.busTypeKey" placeholder="请选择" clearable filterable>
<el-option v-for="item in busType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
<el-form-item label="车辆大类">
<el-select v-model="listQuery.params.vehCategoryKey" placeholder="请选择" clearable filterable>
<el-option v-for="item in vehCategory_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
<el-form-item label="车辆功能">
<el-select v-model="listQuery.params.vehTypeKey" placeholder="请选择" clearable filterable>
<el-option v-for="item in vehicleFunction_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
<el-form-item label="适用销售部门">
<el-input v-model="listQuery.params.useDeptNames" placeholder="" clearable/>
</el-form-item>
<el-form-item label="产品政策名称">
<el-input v-model="listQuery.params.policyName" placeholder="" clearable/>
</el-form-item>
<el-form-item label="期数">
<el-input v-model="listQuery.params.period" placeholder="" clearable/>
</el-form-item>
<el-form-item label="服务费类型">
<el-select v-model="listQuery.params.serviceAmountTypeKey" placeholder="请选择" clearable filterable>
<el-option v-for="item in serviceAmountType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
<el-form-item label="有效期至">
<el-date-picker v-model="listQuery.params.validDateToStart" type="date" placeholder="选择日期"></el-date-picker>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.validDateToEnd" type="date" placeholder="选择日期"></el-date-picker>
</el-form-item>
<el-form-item label="最低首付比例">
<el-input v-model="listQuery.params.downPayRatioLeastStart" style="width: 160px" placeholder="" clearable/>
<span style="padding: 0 8px"></span>
<el-input v-model="listQuery.params.downPayRatioLeastEnd" style="width: 160px" placeholder="" clearable/>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handleReset">重置</el-button>
</div>
</div>
</div>
<!--End查询列表部分-->
<div class="listtop">
<div class="tit">金融产品政策列表</div>
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--Start 主页面主要部分 -->
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" :border="true" style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" width="50"/>
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column label="操作" width="180px" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" :disabled="scope.row.filingStateValue !== '未报备'" @click="toEdit(scope.row)">编辑</el-button>
<el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column prop="filingStateValue" label="报备状态" align="center" width="100" />
<el-table-column prop="riskStateValue" label="风控状态" align="center" width="100" />
<el-table-column prop="useSateValue" label="使用状态" align="center" width="100" />
<el-table-column prop="validDateTo" label="有效期至" align="center" width="100" />
<el-table-column prop="useOrgName" label="分公司" align="center" width="150" />
<el-table-column prop="useDeptNames" label="适用销售部门" align="center" min-width="150" />
<el-table-column prop="policyName" label="产品政策名称" align="center" width="160" />
<el-table-column prop="busTypeValue" label="业务类型" align="center" width="100" />
<el-table-column prop="vehCategoryValue" label="车辆大类" align="center" width="100" />
<el-table-column prop="vehTypeValue" label="车辆功能" align="center" width="100" />
<el-table-column prop="period" label="期数" align="center" width="80" />
<el-table-column prop="serviceAmountTypeValue" label="服务费类型" align="center" width="120" />
<el-table-column prop="serviceAmount" label="服务费" align="center" width="100" />
<el-table-column prop="downPayRatioLeast" label="最低首付比例" align="center" width="120" />
<el-table-column prop="vehAccidentAmount" label="单车意外险/年" align="center" width="120" />
<el-table-column prop="depositPremium" label="保险保证金" align="center" width="110" />
<el-table-column prop="depositSettle" label="落户保证金" align="center" width="110" />
<el-table-column prop="nominalPrice" label="名义/留购价款" align="center" width="120" />
<el-table-column label="其它融" align="center" width="100" >
<template slot-scope="scope">
<span class="bluezi" v-show="scope.row.isOtherProduct" @click="lookOther(scope.row)">查看</span>
</template>
</el-table-column>
</el-table>
</div>
<!--End 主页面主要部分-->
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--End查询列表部分-->
</div>
</div>
<!--款项结转新增及修改 -->
<financialpolicymanagementAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="getList"/>
<!--款项结转申请详情-->
<financialpolicymanagementInfo v-show="viewState == 4" ref="divInfo" @doback="resetState" />
<!--查看其他融-->
<otherfinancialpolicymanagementInfo v-show="viewState == 5" ref="divOther" @doback="resetState"/>
<!--政策报备-->
<financialpolicyreportingAdd v-show="viewState == 6" ref="divBaoBei" @doback="resetState" @reloadlist="getList"/>
</div>
</template>
<script>
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import req from '@/api/financialpolicymanagement/financialpolicymanagement'
import { typeValues } from '@/api/Common/dictcommons'
import financialpolicymanagementAdd from './financialpolicymanagementAdd'
import financialpolicymanagementInfo from './financialpolicymanagementInfo'
import financialpolicyreportingAdd from '../financialpolicyreporting/financialpolicyreportingAdd'
import otherfinancialpolicymanagementInfo from '../otherfinancialpolicymanagement/otherfinancialpolicymanagementInfo'
export default {
name: 'FinancialPolicyManagement',
components: {
Pagination,
pageye,
ButtonBar,
financialpolicymanagementAdd,
financialpolicymanagementInfo,
financialpolicyreportingAdd,
otherfinancialpolicymanagementInfo
},
data() {
return {
btndisabled: false,
btnList: [
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'primary',
size: 'small',
icon: '',
btnKey: 'toReport',
btnLabel: '报备'
},
{
type: 'danger',
size: 'small',
icon: '',
btnKey: 'toBlockUp',
btnLabel: '停用'
},
{
type: 'primary',
size: 'small',
icon: '',
btnKey: 'toOpen',
btnLabel: '开启'
},
{
type: 'danger',
size: 'small',
icon: '',
btnKey: 'toForbidden',
btnLabel: '禁用'
},
{
type: 'primary',
size: 'small',
icon: '',
btnKey: 'toEnable',
btnLabel: '启用'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1, // 1 2 3 4
tableKey: 0,
list: [],
sids: [], // SIDs
multipleSelection: [],
filingState_list: [
{
dictKey: '0',
dictValue: '未报备'
},
{
dictKey: '1',
dictValue: '已报备'
},
{
dictKey: '2',
dictValue: '报备中'
}
],
riskState_list: [
{
dictKey: '0',
dictValue: '正常'
},
{
dictKey: '1',
dictValue: '禁用'
}
],
useSate_list: [
{
dictKey: '0',
dictValue: '正常'
},
{
dictKey: '1',
dictValue: '停用'
}
],
busType_list: [],
vehCategory_list: [],
vehicleFunction_list: [],
serviceAmountType_list: [],
FormLoading: false,
listLoading: false,
//
listQuery: {
current: 1,
size: 10,
total: 0,
params: {
busTypeKey: '',
downPayRatioLeastEnd: '',
downPayRatioLeastStart: '',
filingStateKey: '',
orgPath: '',
period: '',
policyName: '',
riskStateKey: '',
serviceAmountTypeKey: '',
menuUrl: '',
useDeptNames: '',
useOrgName: '',
useSateKey: '',
userSid: '',
validDateToEnd: '',
validDateToStart: '',
vehCategoryKey: '',
vehTypeKey: ''
}
}
}
},
created() {
//
this.init()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'doDel':
this.doDel()
break
case 'toReport':
this.toReport()
break
case 'toBlockUp':
this.toBlockUp()
break
case 'toForbidden':
this.toForbidden()
break
case 'toEnable':
this.toEnable()
break
case 'toOpen':
this.toOpen()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
init() {
typeValues({ type: 'busType' }).then((resp) => {
if (resp.success) {
this.busType_list = resp.data
}
})
typeValues({ type: 'vehCategory' }).then((resp) => {
if (resp.success) {
this.vehCategory_list = resp.data
}
})
typeValues({ type: 'vehicleFunction' }).then((resp) => {
if (resp.success) {
this.vehicleFunction_list = resp.data
}
})
typeValues({ type: 'serviceAmountType' }).then((resp) => {
if (resp.success) {
this.serviceAmountType_list = resp.data
}
})
this.getList()
},
// sid
handleSelectionChange(row) {
const aa = []
this.multipleSelection = row
row.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
this.listQuery.params.userSid = window.sessionStorage.getItem('userSid')
this.listQuery.params.menuUrl = this.$route.path
this.listQuery.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
req.listPage(this.listQuery).then(response => {
this.listLoading = false
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
//
handleReset() {
this.listQuery = {
current: 1,
size: 10,
total: 0,
params: {
busTypeKey: '',
downPayRatioLeastEnd: '',
downPayRatioLeastStart: '',
filingStateKey: '',
orgPath: '',
period: '',
policyName: '',
riskStateKey: '',
serviceAmountTypeKey: '',
menuUrl: '',
useDeptNames: '',
useOrgName: '',
useSateKey: '',
userSid: '',
validDateToEnd: '',
validDateToStart: '',
vehCategoryKey: '',
vehTypeKey: ''
}
}
this.init()
},
toAdd() {
this.viewState = 2
this.$refs['divAdd'].showAdd()
},
toEdit(row) {
this.viewState = 3
this.$refs['divAdd'].showEdit(row)
},
toInfo(row) {
this.viewState = 4
this.$refs['divInfo'].showInfo(row)
},
doDel() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
for (var i = 0; i < this.multipleSelection.length; i++) {
if (this.multipleSelection[i].filingStateValue !== '未报备') {
this.$message({ showClose: true, type: 'error', message: '请选择报备状态为未报备的记录进行删除操作' })
return
}
}
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteBySids(this.sids).then(resp => {
if (resp.success) {
this.$message({ type: 'success', message: resp.msg, showClose: true })
}
this.getList()
loading.close()
}).catch(e => {
loading.close()
})
}).catch(() => {
})
},
toReport() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行报备操作' })
return
}
for (var i = 0; i < this.multipleSelection.length; i++) {
if (this.multipleSelection[i].filingStateValue !== '未报备') {
this.$message({ showClose: true, type: 'error', message: '请选择报备状态为未报备的记录进行报备操作' })
return
}
}
this.viewState = 6
this.$refs['divBaoBei'].showAdd(this.sids)
},
toBlockUp() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行停用操作' })
return
}
const tip = '请确认是否停用所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.setState({ sidsList: this.sids, useState: '1' }).then(resp => {
if (resp.success) {
this.$message({ type: 'success', message: resp.msg, showClose: true })
}
this.getList()
loading.close()
}).catch(e => {
loading.close()
})
}).catch(() => {
})
},
toOpen() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行开启操作' })
return
}
const tip = '请确认是否开启所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.setState({ sidsList: this.sids, useState: '0' }).then(resp => {
if (resp.success) {
this.$message({ type: 'success', message: resp.msg, showClose: true })
}
this.getList()
loading.close()
}).catch(e => {
loading.close()
})
}).catch(() => {
})
},
toForbidden() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行禁用操作' })
return
}
const tip = '请确认是否禁用所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.setRiskState({ sidsList: this.sids, riskState: '1' }).then(resp => {
if (resp.success) {
this.$message({ type: 'success', message: resp.msg, showClose: true })
}
this.getList()
loading.close()
}).catch(e => {
loading.close()
})
}).catch(() => {
})
},
toEnable() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行启用操作' })
return
}
const tip = '请确认是否启用所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.setRiskState({ sidsList: this.sids, riskState: '0' }).then(resp => {
if (resp.success) {
this.$message({ type: 'success', message: resp.msg, showClose: true })
}
this.getList()
loading.close()
}).catch(e => {
loading.close()
})
}).catch(() => {
})
},
lookOther(row) {
this.viewState = 5
this.$refs['divOther'].showInfo(row.otherPolicySid)
},
//
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
</style>

618
anrui-riskcenter-ui/src/views/financialpolicymanagement/financialpolicymanagementAdd.vue

@ -0,0 +1,618 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate()">保存</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<div class="titwu">金融产品政策</div>
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-left: 0px">
<el-col :span="6" style="border-right: 0px">
<div class="span-sty" style="border-right: 0px"><span>产品政策名称</span></div>
<el-form-item>
<div class="addinputInfo">
<span>{{ formobj.bankShortName }} {{ formobj.guaranteeTypeValue !== '' ? '( ' + formobj.guaranteeTypeValue + '、' : '' }} {{ formobj.isPack == '1' ? '打包 )' : formobj.isPack == '2' ? '不打包 )' : '' }} {{ formobj.downPayRatio }} {{ formobj.bondRatio !== '' ? '+ ' + formobj.bondRatio : '' }}</span>
</div>
</el-form-item>
</el-col>
<el-col :span="12" style="border-right: 0px"></el-col>
<el-col :span="6" style="border-right: 0px">
<div class="span-sty" style="border-right: 0px"><span>适用销售部门</span></div>
<el-form-item>
<el-select class="addinputInfo" v-model="useDept_list" placeholder="请选择" clearable filterable multiple>
<el-option v-for="item in orgList" :key="item.orgDeptSid" :label="item.orgDeptName" :value="item.orgDeptSid"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty"><span>资方简称</span></div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.bankSid" @change="bankShortChange" placeholder="请选择" clearable filterable>
<el-option v-for="item in bankShort_list" :key="item.sid" :label="item.name" :value="item.sid"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>业务类型</span></div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.busTypeKey" placeholder="请选择" @change="busTypeChange" clearable filterable>
<el-option v-for="item in busType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>车辆大类</span></div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.vehCategoryKey" placeholder="请选择" @change="vehCategoryChange" clearable filterable>
<el-option v-for="item in vehCategory_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>车辆功能</span></div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.vehTypeKey" @change="vehTypeChange" placeholder="请选择" clearable filterable>
<el-option v-for="item in vehicleFunction_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty"><span>是否打包</span></div>
<el-form-item>
<el-radio-group class="addinputInfo" style="font-size: 1px" v-model="formobj.isPack">
<el-radio label="1"></el-radio>
<el-radio label="2"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>担保类型</span></div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.guaranteeTypeKey" @change="guaranteeTypeChange" placeholder="请选择" clearable filterable>
<el-option v-for="item in guaranteeType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>首付比例</span></div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.downPayRatioKey" @change="downPayRatioChange" placeholder="请选择" clearable filterable>
<el-option v-for="item in downPayRatio_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>最低首付比例</span></div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.downPayRatioLeastKey" @change="downPayRatioLeastChange" placeholder="请选择" clearable filterable>
<el-option v-for="item in downPayRatioLeast_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty"><span>保证金比例</span></div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.bondRatioKey" @change="bondRatioChange" placeholder="请选择" clearable filterable>
<el-option v-for="item in bondRatio_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>保证金类型</span></div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.bondTypeKey" @change="bondTypeChange" placeholder="请选择" clearable filterable>
<el-option v-for="item in bondType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>期数</span></div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.periodKey" @change="periodChange" placeholder="请选择" clearable filterable>
<el-option v-for="item in period_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>标准年利率(%)</span></div>
<el-form-item>
<el-input v-model="formobj.yearRatio" @keyup.native="UpNumber" class="addinputw addinputInfo" clearable placeholder=""/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty"><span>服务费类型</span></div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.serviceAmountTypeKey" @change="serviceAmountTypeChange" placeholder="请选择" clearable filterable>
<el-option v-for="item in serviceAmountType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>服务费<span v-show="formobj.serviceAmountTypeValue == '比例'">(%)</span></span></div>
<el-form-item>
<el-input v-model="formobj.serviceAmount" @keyup.native="UpNumber" class="addinputw addinputInfo" clearable placeholder=""/>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>保险保证金</span></div>
<el-form-item>
<el-input v-model="formobj.depositPremium" @keyup.native="UpNumber" class="addinputw addinputInfo" clearable placeholder=""/>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>落户保证金</span></div>
<el-form-item>
<el-input v-model="formobj.depositSettle" @keyup.native="UpNumber" class="addinputw addinputInfo" clearable placeholder=""/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty"><span>单车意外险/</span></div>
<el-form-item>
<el-input v-model="formobj.vehAccidentAmount" @keyup.native="UpNumber" class="addinputw addinputInfo" clearable placeholder=""/>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>名义/留购价款</span></div>
<el-form-item>
<el-input v-model="formobj.nominalPrice" @keyup.native="UpNumber" class="addinputw addinputInfo" clearable placeholder=""/>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>有效期至</span></div>
<el-form-item>
<el-date-picker class="addinputInfo" value-format="yyyy-MM-dd" format="yyyy-MM-dd" v-model="formobj.validDateTo" type="date" placeholder="选择日期"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>备注</span></div>
<el-form-item>
<el-input v-model="formobj.remarks" class="addinputw addinputInfo" clearable placeholder=""/>
</el-form-item>
</el-col>
</el-row>
<div class="title"><el-checkbox v-model="formobj.isOtherProduct" @change="changeIsOtherProduct" style="padding-right: 5px"/>其它融信息</div>
<div v-show="formobj.isOtherProduct">
<el-row>
<el-col :span="6">
<div class="span-sty"><span>产品类别</span></div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.loanFinOtherPolicy.productTypeKey" @change="productTypeChange" placeholder="请选择" clearable filterable>
<el-option v-for="item in productType_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>最高融资比例(%)</span></div>
<el-form-item>
<el-input v-model="formobj.loanFinOtherPolicy.maxLoanRatio" @keyup.native="UpNumber" class="addinputw addinputInfo" clearable placeholder=""/>
</el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty"><span>最高融资额</span></div>
<el-form-item>
<el-input v-model="formobj.loanFinOtherPolicy.maxLoanAmount" @keyup.native="UpNumber" class="addinputw addinputInfo" clearable placeholder=""/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty"><span>期数</span></div>
<el-form-item>
<el-select class="addinputInfo" v-model="formobj.loanFinOtherPolicy.periodKey" @change="periodQTRChange" placeholder="请选择" clearable filterable>
<el-option v-for="item in period_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>年利率(%)</span></div>
<el-form-item>
<el-input v-model="formobj.loanFinOtherPolicy.yearRatio" @keyup.native="UpNumber" class="addinputw addinputInfo" clearable placeholder=""/>
</el-form-item>
</el-col>
<el-col :span="12" />
</el-row>
</div>
</el-form>
</div>
</div>
</template>
<script>
import req from '@/api/financialpolicymanagement/financialpolicymanagement'
import { typeValues, selectOrgList, selectListByOrgPath } from '@/api/Common/dictcommons'
export default {
name: 'FinancialPolicyManagementAdd',
data() {
return {
viewTitle: '',
submitdisabled: false,
orgList: [],
useDept_list: [],
bankShort_list: [],
busType_list: [],
vehCategory_list: [],
vehicleFunction_list: [],
serviceAmountType_list: [],
guaranteeType_list: [],
downPayRatio_list: [],
bondRatio_list: [],
bondType_list: [],
period_list: [],
downPayRatioLeast_list: [],
productType_list: [],
formobj: {
bankShortName: '',
bankSid: '',
bondRatio: '',
bondRatioKey: '',
bondType: '',
bondTypeKey: '',
busTypeKey: '',
busTypeValue: '',
depositPremium: '',
depositSettle: '',
downPayRatio: '',
downPayRatioKey: '',
downPayRatioLeast: '',
downPayRatioLeastKey: '',
guaranteeTypeKey: '',
guaranteeTypeValue: '',
isOtherProduct: false,
isPack: '',
loanFinOtherPolicy: {
maxLoanAmount: '',
maxLoanRatio: '',
period: '',
periodKey: '',
productTypeKey: '',
productTypeValue: '',
yearRatio: ''
},
nominalPrice: '',
orgPath: '',
period: '',
periodKey: '',
policyName: '',
remarks: '',
serviceAmount: '',
serviceAmountTypeKey: '',
serviceAmountTypeValue: '',
sid: '',
useDeptList: [],
userSid: '',
validDateTo: '',
vehAccidentAmount: '',
vehCategoryKey: '',
vehCategoryValue: '',
vehTypeKey: '',
vehTypeValue: '',
yearRatio: ''
},
rules: {}
}
},
methods: {
init() {
typeValues({ type: 'busType' }).then((resp) => {
if (resp.success) {
this.busType_list = resp.data
}
})
typeValues({ type: 'vehCategory' }).then((resp) => {
if (resp.success) {
this.vehCategory_list = resp.data
}
})
typeValues({ type: 'vehicleFunction' }).then((resp) => {
if (resp.success) {
this.vehicleFunction_list = resp.data
}
})
typeValues({ type: 'serviceAmountType' }).then((resp) => {
if (resp.success) {
this.serviceAmountType_list = resp.data
}
})
typeValues({ type: 'guaranteeType' }).then((resp) => {
if (resp.success) {
this.guaranteeType_list = resp.data
}
})
typeValues({ type: 'downPayRatio' }).then((resp) => {
if (resp.success) {
this.downPayRatio_list = resp.data
}
})
typeValues({ type: 'bondRatio' }).then((resp) => {
if (resp.success) {
this.bondRatio_list = resp.data
}
})
typeValues({ type: 'bondType' }).then((resp) => {
if (resp.success) {
this.bondType_list = resp.data
}
})
typeValues({ type: 'period' }).then((resp) => {
if (resp.success) {
this.period_list = resp.data
}
})
typeValues({ type: 'downPayRatioLeast' }).then((resp) => {
if (resp.success) {
this.downPayRatioLeast_list = resp.data
}
})
typeValues({ type: 'productType' }).then((resp) => {
if (resp.success) {
this.productType_list = resp.data
}
})
selectOrgList({ userSid: window.sessionStorage.getItem('userSid'), orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
if (res.success) {
this.orgList = res.data
}
})
selectListByOrgPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
if (res.success) {
this.bankShort_list = res.data
}
})
},
UpNumber(e) {
e.target.value = e.target.value.replace(/[^0-9.]/g, '') // .
e.target.value = e.target.value.replace(/^00/, '0.') // 0
e.target.value = e.target.value.replace(/\.{2,}/g, '.') // .
e.target.value = e.target.value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
e.target.value = e.target.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3') //
if (e.target.value.indexOf('.') < 0 && e.target.value !== '' && e.target.value !== '-') {
// 0102
e.target.value = parseFloat(e.target.value)
}
},
showAdd() {
this.viewTitle = '【新增】金融产品政策'
this.init()
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.formobj.isOtherProduct = false
this.formobj.userSid = window.sessionStorage.getItem('userSid')
this.formobj.orgPath = window.sessionStorage.getItem('defaultOrgPath')
},
showEdit(row) {
this.viewTitle = '【编辑】金融产品政策'
this.init()
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid({ sid: row.sid }).then((resp) => {
if (resp.success) {
this.formobj = resp.data
this.formobj.isPack = this.formobj.isPack.toString()
if (this.formobj.useDeptSids !== '' && this.formobj.useDeptSids !== null) {
this.useDept_list = this.formobj.useDeptSids.split(',')
}
}
})
},
bankShortChange(value) {
const choose = this.bankShort_list.filter((item) => item.sid === value)
if (choose !== null && choose.length > 0) {
this.formobj.bankShortName = choose[0].name
} else {
this.formobj.bankShortName = ''
}
},
busTypeChange(value) {
const choose = this.busType_list.filter((item) => item.dictKey === value)
if (choose !== null && choose.length > 0) {
this.formobj.busTypeValue = choose[0].dictValue
} else {
this.formobj.busTypeValue = ''
}
},
vehCategoryChange(value) {
const choose = this.vehCategory_list.filter((item) => item.dictKey === value)
if (choose !== null && choose.length > 0) {
this.formobj.vehCategoryValue = choose[0].dictValue
} else {
this.formobj.vehCategoryValue = ''
}
},
vehTypeChange(value) {
const choose = this.vehicleFunction_list.filter((item) => item.dictKey === value)
if (choose !== null && choose.length > 0) {
this.formobj.vehTypeValue = choose[0].dictValue
} else {
this.formobj.vehTypeValue = ''
}
},
guaranteeTypeChange(value) {
const choose = this.guaranteeType_list.filter((item) => item.dictKey === value)
if (choose !== null && choose.length > 0) {
this.formobj.guaranteeTypeValue = choose[0].dictValue
} else {
this.formobj.guaranteeTypeValue = ''
}
},
downPayRatioChange(value) {
const choose = this.downPayRatio_list.filter((item) => item.dictKey === value)
if (choose !== null && choose.length > 0) {
this.formobj.downPayRatio = choose[0].dictValue
} else {
this.formobj.downPayRatio = ''
}
},
bondRatioChange(value) {
const choose = this.bondRatio_list.filter((item) => item.dictKey === value)
if (choose !== null && choose.length > 0) {
this.formobj.bondRatio = choose[0].dictValue
} else {
this.formobj.bondRatio = ''
}
},
bondTypeChange(value) {
const choose = this.bondType_list.filter((item) => item.dictKey === value)
if (choose !== null && choose.length > 0) {
this.formobj.bondType = choose[0].dictValue
} else {
this.formobj.bondType = ''
}
},
periodChange(value) {
const choose = this.period_list.filter((item) => item.dictKey === value)
if (choose !== null && choose.length > 0) {
this.formobj.period = choose[0].dictValue
} else {
this.formobj.period = ''
}
},
serviceAmountTypeChange(value) {
const choose = this.serviceAmountType_list.filter((item) => item.dictKey === value)
if (choose !== null && choose.length > 0) {
this.formobj.serviceAmountTypeValue = choose[0].dictValue
} else {
this.formobj.serviceAmountTypeValue = ''
}
},
downPayRatioLeastChange(value) {
const choose = this.downPayRatioLeast_list.filter((item) => item.dictKey === value)
if (choose !== null && choose.length > 0) {
this.formobj.downPayRatioLeast = choose[0].dictValue
} else {
this.formobj.downPayRatioLeast = ''
}
},
productTypeChange(value) {
const choose = this.productType_list.filter((item) => item.dictKey === value)
if (choose !== null && choose.length > 0) {
this.formobj.loanFinOtherPolicy.productTypeValue = choose[0].dictValue
} else {
this.formobj.loanFinOtherPolicy.productTypeValue = ''
}
},
periodQTRChange(value) {
const choose = this.period_list.filter((item) => item.dictKey === value)
if (choose !== null && choose.length > 0) {
this.formobj.loanFinOtherPolicy.period = choose[0].dictValue
} else {
this.formobj.loanFinOtherPolicy.period = ''
}
},
changeIsOtherProduct(value) {
if (value) {
this.formobj.loanFinOtherPolicy.period = this.formobj.period
this.formobj.loanFinOtherPolicy.periodKey = this.formobj.periodKey
}
},
saveOrUpdate() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
if (this.useDept_list.length > 0) {
for (var i = 0; i < this.orgList.length; i++) {
for (var k = 0; k < this.useDept_list.length; k++) {
if (this.orgList[i].orgDeptSid === this.useDept_list[k]) {
this.formobj.useDeptList.push({
deptName: this.orgList[i].orgDeptName,
deptSid: this.orgList[i].orgDeptSid
})
}
}
}
}
this.submitdisabled = true
//
req.saveOrUpdate(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' })
this.handleReturn('true')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
bankShortName: '',
bankSid: '',
bondRatio: '',
bondRatioKey: '',
bondType: '',
bondTypeKey: '',
busTypeKey: '',
busTypeValue: '',
depositPremium: '',
depositSettle: '',
downPayRatio: '',
downPayRatioKey: '',
downPayRatioLeast: '',
downPayRatioLeastKey: '',
guaranteeTypeKey: '',
guaranteeTypeValue: '',
isOtherProduct: false,
isPack: '',
loanFinOtherPolicy: {
maxLoanAmount: '',
maxLoanRatio: '',
period: '',
periodKey: '',
productTypeKey: '',
productTypeValue: '',
yearRatio: ''
},
nominalPrice: '',
orgPath: '',
period: '',
periodKey: '',
policyName: '',
serviceAmount: '',
serviceAmountTypeKey: '',
serviceAmountTypeValue: '',
sid: '',
useDeptList: [],
userSid: '',
validDateTo: '',
vehAccidentAmount: '',
vehCategoryKey: '',
vehCategoryValue: '',
vehTypeKey: '',
vehTypeValue: '',
yearRatio: ''
}
this.useDept_list = []
this.submitdisabled = false
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 140px !important;
}
.addinputInfo {
margin-left: 130px !important;
}
</style>

277
anrui-riskcenter-ui/src/views/financialpolicymanagement/financialpolicymanagementInfo.vue

@ -0,0 +1,277 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<!--标题-->
<div>{{ viewTitle }}</div>
<!--start 添加修改按钮-->
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<div class="titwu">金融产品政策</div>
<el-form ref="form_obj" :model="formobj" class="formaddcopy02">
<el-row style="border-left: 0px">
<el-col :span="12" style="border-right: 0px">
<div class="span-sty" style="border-right: 0px"><span>产品政策名称</span></div>
<el-form-item>
<div class="addinputInfo">
<span>{{ formobj.bankShortName }} {{ formobj.guaranteeTypeValue !== '' ? '( ' + formobj.guaranteeTypeValue + '、' : '' }} {{ formobj.isPack == '1' ? '打包 )' : formobj.isPack == '2' ? '不打包 )' : '' }} {{ formobj.downPayRatio }} {{ formobj.bondRatio !== '' ? '+ ' + formobj.bondRatio : '' }}</span>
</div>
</el-form-item>
</el-col>
<el-col :span="12" style="border-right: 0px"></el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty"><span>资方简称</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.bankShortName }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>业务类型</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.busTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>车辆大类</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.vehCategoryValue }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>车辆功能</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.vehTypeValue }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty"><span>是否打包</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.isPack == '1' ? '是' : '否' }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>担保类型</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.guaranteeTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>首付比例</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.downPayRatio }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>最低首付比例</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.downPayRatioLeast }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty"><span>保证金比例</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.bondRatio }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>保证金类型</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.bondType }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>期数</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.period }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>标准年利率(%)</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.yearRatio }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty"><span>服务费类型</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.serviceAmountTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>服务费<span v-show="formobj.serviceAmountTypeValue == '比例'">(%)</span></span></div>
<el-form-item><span class="addinputInfo">{{ formobj.serviceAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>保险保证金</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.depositPremium }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>落户保证金</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.depositSettle }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty"><span>单车意外险/</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.vehAccidentAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>名义/留购价款</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.nominalPrice }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>有效期至</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.validDateTo }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>备注</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.remarks }}</span></el-form-item>
</el-col>
</el-row>
<div v-show="formobj.isOtherProduct">
<div class="title">其它融信息</div>
<el-row>
<el-col :span="6">
<div class="span-sty"><span>产品类别</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.loanFinOtherPolicy.productTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>最高融资比例(%)</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.loanFinOtherPolicy.maxLoanRatio }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty"><span>最高融资额</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.loanFinOtherPolicy.maxLoanAmount }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty"><span>期数</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.loanFinOtherPolicy.period }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>年利率(%)</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.loanFinOtherPolicy.yearRatio }}</span></el-form-item>
</el-col>
<el-col :span="12" />
</el-row>
</div>
</el-form>
</div>
</div>
</template>
<script>
import req from '@/api/financialpolicymanagement/financialpolicymanagement'
export default {
name: 'FinancialPolicyManagementInfo',
data() {
return {
viewTitle: '',
formobj: {
bankShortName: '',
bankSid: '',
bondRatio: '',
bondRatioKey: '',
bondType: '',
bondTypeKey: '',
busTypeKey: '',
busTypeValue: '',
depositPremium: '',
depositSettle: '',
downPayRatio: '',
downPayRatioKey: '',
downPayRatioLeast: '',
downPayRatioLeastKey: '',
guaranteeTypeKey: '',
guaranteeTypeValue: '',
isOtherProduct: false,
isPack: '',
loanFinOtherPolicy: {
maxLoanAmount: '',
maxLoanRatio: '',
period: '',
periodKey: '',
productTypeKey: '',
productTypeValue: '',
yearRatio: ''
},
nominalPrice: '',
orgPath: '',
period: '',
periodKey: '',
policyName: '',
remarks: '',
serviceAmount: '',
serviceAmountTypeKey: '',
serviceAmountTypeValue: '',
sid: '',
useDeptList: [],
userSid: '',
validDateTo: '',
vehAccidentAmount: '',
vehCategoryKey: '',
vehCategoryValue: '',
vehTypeKey: '',
vehTypeValue: '',
yearRatio: ''
}
}
},
methods: {
showInfo(row) {
this.viewTitle = '金融产品政策详情'
req.fetchBySid({ sid: row.sid }).then((res) => {
if (res.success) {
this.formobj = res.data
}
})
},
handleReturn() {
this.formobj = {
bankShortName: '',
bankSid: '',
bondRatio: '',
bondRatioKey: '',
bondType: '',
bondTypeKey: '',
busTypeKey: '',
busTypeValue: '',
depositPremium: '',
depositSettle: '',
downPayRatio: '',
downPayRatioKey: '',
downPayRatioLeast: '',
downPayRatioLeastKey: '',
guaranteeTypeKey: '',
guaranteeTypeValue: '',
isOtherProduct: false,
isPack: '',
loanFinOtherPolicy: {
maxLoanAmount: '',
maxLoanRatio: '',
period: '',
periodKey: '',
productTypeKey: '',
productTypeValue: '',
yearRatio: ''
},
nominalPrice: '',
orgPath: '',
period: '',
periodKey: '',
policyName: '',
remarks: '',
serviceAmount: '',
serviceAmountTypeKey: '',
serviceAmountTypeValue: '',
sid: '',
useDeptList: [],
userSid: '',
validDateTo: '',
vehAccidentAmount: '',
vehCategoryKey: '',
vehCategoryValue: '',
vehTypeKey: '',
vehTypeValue: '',
yearRatio: ''
}
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 140px !important;
}
.addinputInfo {
margin-left: 130px !important;
}
</style>

339
anrui-riskcenter-ui/src/views/financialpolicyreporting/financialpolicyreporting.vue

@ -0,0 +1,339 @@
<template>
<div class="app-container">
<!--列表页面-->
<div v-show="viewState == 1">
<button-bar view-title="金融产品政策报备" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<!--Start查询列表部分-->
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-form-item label="分公司">
<el-input v-model="listQuery.params.applyCompany" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请部门">
<el-input v-model="listQuery.params.department" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请人">
<el-input v-model="listQuery.params.applicant" placeholder="" clearable/>
</el-form-item>
<el-form-item label="申请日期">
<el-date-picker v-model="listQuery.params.createStartTime" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
<span style="padding: 0 8px"></span>
<el-date-picker v-model="listQuery.params.createEndTime" value-format="yyyy-MM-dd" format="yyyy-MM-dd" type="date" placeholder="选择日期"></el-date-picker>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" icon="el-icon-search" size="small" @click="handleFilter">查询</el-button>
<el-button type="primary" icon="el-icon-refresh" size="small" @click="handleReset">重置</el-button>
</div>
</div>
</div>
<!--End查询列表部分-->
<div class="listtop">
<div class="tit">金融产品政策报备申请列表</div>
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--Start 主页面主要部分 -->
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" :border="true" style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column type="selection" align="center" width="50"/>
<el-table-column label="序号" type="index" width="80" :index="indexMethod" align="center"/>
<el-table-column label="操作" width="180px" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toEdit(scope.row)" :disabled="scope.row.nodeState =='发起申请' ? false : scope.row.nodeState == '待提交' ? false : true">办理</el-button>
<el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column label="状态" width="180px" header-align="center">
<template slot-scope="scope">
<span v-if="scope.row.nodeState=='待提交'" type="primary" size="mini">待提交</span>
<span v-else @click="flowRecord(scope.row)" class="bluezi">{{ scope.row.nodeState }}</span>
</template>
</el-table-column>
<el-table-column label="分公司" align="center">
<template slot-scope="scope">
<span>{{ scope.row.applyCompany }}</span>
</template>
</el-table-column>
<el-table-column label="申请部门" align="center">
<template slot-scope="scope">
<span>{{ scope.row.department }}</span>
</template>
</el-table-column>
<el-table-column label="申请人" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.applicant }}</span>
</template>
</el-table-column>
<el-table-column label="申请日期" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.applyDate }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center">
<template slot-scope="scope">
<span>{{ scope.row.remarks }}</span>
</template>
</el-table-column>
</el-table>
</div>
<!--End 主页面主要部分-->
<div class="pages">
<div class="tit"/>
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<!--End查询列表部分-->
</div>
</div>
<!--款项结转新增及修改 -->
<financialpolicyreportingAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="getList"/>
<!--款项结转申请详情-->
<financialpolicyreportingInfo v-show="viewState == 4" ref="divInfo" @doback="resetState" />
<!-- 流程审批记录 -->
<el-dialog title="" :visible.sync="centerDialogVisible" width="78%" height="1%" :before-close="closeIt" center>
<iframe frameborder="0" id="iframe" style="width:100%;" scrolling="no" :src="this.centerDialogVisible === true ? url :''"></iframe>
</el-dialog>
</div>
</template>
<script>
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import req from '@/api/financialpolicyreporting/financialpolicyreporting'
import { getOrgSidByPath } from '@/api/Common/dictcommons'
import { getStorage } from '@/utils/auth'
import financialpolicyreportingAdd from './financialpolicyreportingAdd'
import financialpolicyreportingInfo from './financialpolicyreportingInfo'
export default {
name: 'FinancialPolicyrReporting',
components: {
Pagination,
pageye,
ButtonBar,
financialpolicyreportingAdd,
financialpolicyreportingInfo
},
data() {
return {
url: '',
dialogHeight: '80%',
centerDialogVisible: false,
btndisabled: false,
btnList: [
{
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1, // 1 2 3 4
tableKey: 0,
list: [],
sids: [], // SIDs
FormLoading: false,
listLoading: false,
//
listQuery: {
current: 1,
size: 10,
total: 0,
params: {
applyCompany: '',
department: '',
applicant: '',
createOrgSid: '',
createStartTime: '',
createEndTime: '',
orgPath: ''
}
}
}
},
created() {
//
this.init()
},
mounted() {
// vuewindowpostMessagehandleMessage
window.addEventListener('message', this.handleMessage)
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
async handleMessage(event) {
var code = ''
if (event.data.params !== null && event.data.params !== undefined) {
code = event.data.params.code
}
if (code === 1) {
this.init()
this.centerDialogVisible = false
} else if (code === 2) {
this.dialogHeight = event.data.params.data
this.setIframeHeight(document.getElementById('iframe'))
}
},
closeIt() {
this.url = ''
this.centerDialogVisible = false
},
setIframeHeight(iframe) {
iframe.height = this.dialogHeight
},
flowRecord(row) {
this.centerDialogVisible = true
var params = {
deployId: row.procDefId,
procInsId: row.procInstId,
token: getStorage()
}
this.url = '/#/flow/flowRecordForBusiness?data=' + encodeURI((JSON.stringify(params)))
},
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'doDel':
this.doDel()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
init() {
getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((resp) => {
if (resp.success) {
this.listQuery.params.createOrgSid = resp.data
this.getList()
}
})
},
// sid
handleSelectionChange(row) {
const aa = []
row.forEach(element => {
aa.push(element.sid)
})
this.sids = aa
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
this.listQuery.params.createBySid = window.sessionStorage.getItem('userSid')
this.listQuery.params.orgPath = window.sessionStorage.getItem('defaultOrgPath')
req.listPage(this.listQuery).then(response => {
this.listLoading = false
if (response.success) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
//
handleReset() {
this.listQuery = {
current: 1,
size: 10,
total: 0,
params: {
applyCompany: '',
department: '',
applicant: '',
createOrgSid: '',
createStartTime: '',
createEndTime: '',
orgPath: ''
}
}
this.init()
},
toEdit(row) {
this.viewState = 2
this.$refs['divAdd'].showEdit(row)
},
toInfo(row) {
this.viewState = 4
this.$refs['divInfo'].showInfo(row)
},
doDel() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.deleteBySids(this.sids).then(resp => {
if (resp.success) {
this.$message({ type: 'success', message: resp.msg, showClose: true })
}
this.getList()
loading.close()
}).catch(e => {
loading.close()
})
}).catch(() => {
})
},
//
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
</style>

328
anrui-riskcenter-ui/src/views/financialpolicyreporting/financialpolicyreportingAdd.vue

@ -0,0 +1,328 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate()">保存</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submit()">提交</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="6">
<div class="span-sty">分公司</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyCompany }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.department }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.applicant }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item><el-input v-model="formobj.remarks" clearable placeholder="" class="addinputInfo addinputw" /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item>
<upload-img ref="uploadImg" class="addinputInfo" v-model="image_list1" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/>
</el-form-item>
</el-col>
</el-row>
<div class="title">
金融产品政策列表
</div>
<el-table :key="tableKey" :data="formobj.policyList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column label="操作" align="center" width="100">
<template slot-scope="scope">
<el-button type="danger" size="mini" @click="handleDelete(scope.$index)">删除</el-button>
</template>
</el-table-column>
<el-table-column label="产品政策名称" align="center" width="200">
<template slot-scope="scope">
<span class="bluezi" @click="lookChanPin(scope.row)">{{ scope.row.policyName }}</span>
</template>
</el-table-column>
<el-table-column label="车辆功能" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.vehTypeValue }}</span>
</template>
</el-table-column>
<el-table-column label="期数" align="center">
<template slot-scope="scope">
<span>{{ scope.row.period }}</span>
</template>
</el-table-column>
<el-table-column label="标准年利率" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.yearRatio }}</span>
</template>
</el-table-column>
<el-table-column label="服务费类型" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.serviceAmountTypeValue }}</span>
</template>
</el-table-column>
<el-table-column label="服务费" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.serviceAmount }}</span>
</template>
</el-table-column>
<el-table-column label="最低首付比例" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.downPayRatioLeast }}</span>
</template>
</el-table-column>
<el-table-column label="单车意外险/年" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.vehAccidentAmount }}</span>
</template>
</el-table-column>
<el-table-column label="保险保证金" align="center" width="110">
<template slot-scope="scope">
<span>{{ scope.row.depositPremium }}</span>
</template>
</el-table-column>
<el-table-column label="落户保证金" align="center" width="110">
<template slot-scope="scope">
<span>{{ scope.row.depositSettle }}</span>
</template>
</el-table-column>
<el-table-column label="名义/留购价款" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.nominalPrice }}</span>
</template>
</el-table-column>
<el-table-column label="有效期至" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.validDateTo }}</span>
</template>
</el-table-column>
<el-table-column label="其他融" align="center" width="80">
<template slot-scope="scope">
<span class="bluezi" v-show="scope.row.showOtherPolicy" @click="lookOther(scope.row)">查看</span>
</template>
</el-table-column>
</el-table>
</el-form>
</div>
</div>
<!-- 查看其他融详情 -->
<otherfinancialpolicymanagementInfo v-show="viewState == 2" ref="divOther" @doback="resetState"/>
<!-- 查看金融产品政策详情 -->
<financialpolicymanagementInfo v-show="viewState == 3" ref="divChanPin" @doback="resetState"/>
</div>
</template>
<script>
import req from '@/api/financialpolicyreporting/financialpolicyreporting'
import { getOrgSidByPath, fetchBySid } from '@/api/Common/dictcommons'
import uploadImg from '@/components/uploadFile/uploadImg'
import otherfinancialpolicymanagementInfo from '../otherfinancialpolicymanagement/otherfinancialpolicymanagementInfo'
import financialpolicymanagementInfo from '../financialpolicymanagement/financialpolicymanagementInfo'
export default {
name: 'FinancialPolicyReportingAdd',
components: {
uploadImg,
otherfinancialpolicymanagementInfo,
financialpolicymanagementInfo
},
data() {
return {
viewTitle: '',
viewState: 1,
submitdisabled: false,
tableKey: 0,
index: 0,
image_list1: [],
formobj: {
sid: '',
userSid: '',
applyCompany: '',
department: '',
applicant: '',
applyDate: '',
taskId: '',
instanceId: '',
remarks: '',
orgSidPath: '',
policySids: [],
annexPaths: [],
policyList: []
},
rules: {}
}
},
methods: {
showAdd(sids) {
this.viewTitle = '【新增】金融产品政策报备'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.policyRecordInit(sids).then((res) => {
if (res.success) {
this.formobj = res.data
this.formobj.userSid = window.sessionStorage.getItem('userSid')
this.formobj.applicant = window.sessionStorage.getItem('name')
this.formobj.orgSidPath = window.sessionStorage.getItem('defaultOrgPath')
this.formobj.department = window.sessionStorage.getItem('defaultOrgPathName').substring(window.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1)
getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((resp) => {
if (resp.success) {
fetchBySid(resp.data).then((respsone) => {
if (respsone.success) {
this.formobj.applyCompany = respsone.data.name
}
})
}
})
var newDate = new Date()
var date = {
year: newDate.getFullYear(),
month: newDate.getMonth() + 1,
day: newDate.getDate()
}
this.formobj.applyDate = date.year + '-' + (date.month >= 10 ? date.month : '0' + date.month) + '-' + (date.day >= 10 ? date.day : '0' + date.day)
}
})
},
showEdit(row) {
this.viewTitle = '【编辑】金融产品政策报备'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid(row.sid).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.annexPaths.length > 0) {
this.formobj.annexPaths.forEach((e) => {
this.image_list1.push({
name: '',
url: e
})
})
}
}
})
},
handleDelete(index) {
this.formobj.policyList.splice(index, 1)
},
lookChanPin(row) {
this.viewState = 3
this.$refs['divChanPin'].showInfo({ sid: row.policySid })
},
lookOther(row) {
this.viewState = 2
this.$refs['divOther'].showInfo(row.otherPolicySid)
},
saveOrUpdate() {
if (this.formobj.policyList.length === 0) {
this.$message({ showClose: true, type: 'error', message: '金融产品政策列表不能为空' })
return
} else {
this.formobj.policyList.forEach((e) => {
this.formobj.policySids.push(e.policySid)
})
}
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
this.formobj.annexPaths = []
if (this.image_list1.length > 0) {
this.image_list1.forEach((e) => {
this.formobj.annexPaths.push(e.url)
})
}
req.saveOrUpdate(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' })
this.handleReturn('true')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
submit() {
if (this.formobj.policyList.length === 0) {
this.$message({ showClose: true, type: 'error', message: '金融产品政策列表不能为空' })
return
} else {
this.formobj.policyList.forEach((e) => {
this.formobj.policySids.push(e.policySid)
})
}
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
this.formobj.annexPaths = []
if (this.image_list1.length > 0) {
this.image_list1.forEach((e) => {
this.formobj.annexPaths.push(e.url)
})
}
req.submit(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '操作成功' })
this.handleReturn('true')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
resetState() {
this.viewState = 1
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {
sid: '',
userSid: '',
applyCompany: '',
department: '',
applicant: '',
applyDate: '',
taskId: '',
instanceId: '',
remarks: '',
orgSidPath: '',
policySids: [],
annexPaths: [],
policyList: []
}
this.image_list1 = []
this.submitdisabled = false
this.$emit('doback')
}
}
}
</script>
<style scoped>
.addinputInfo {
margin-left: 60px !important;
}
</style>

187
anrui-riskcenter-ui/src/views/financialpolicyreporting/financialpolicyreportingInfo.vue

@ -0,0 +1,187 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="6">
<div class="span-sty">分公司</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyCompany }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.department }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.applicant }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.remarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item><el-image class="addinputwInfo" v-for="(item, index) in formobj.annexPaths" :key="index" :src="item" :preview-src-list="formobj.annexPaths" /></el-form-item>
</el-col>
</el-row>
<div class="title">
金融产品政策列表
</div>
<el-table :key="tableKey" :data="formobj.policyList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column label="产品政策名称" align="center" width="200">
<template slot-scope="scope">
<span class="bluezi" @click="lookChanPin(scope.row)">{{ scope.row.policyName }}</span>
</template>
</el-table-column>
<el-table-column label="车辆功能" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.vehTypeValue }}</span>
</template>
</el-table-column>
<el-table-column label="期数" align="center">
<template slot-scope="scope">
<span>{{ scope.row.period }}</span>
</template>
</el-table-column>
<el-table-column label="标准年利率" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.yearRatio }}</span>
</template>
</el-table-column>
<el-table-column label="服务费类型" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.serviceAmountTypeValue }}</span>
</template>
</el-table-column>
<el-table-column label="服务费" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.serviceAmount }}</span>
</template>
</el-table-column>
<el-table-column label="最低首付比例" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.downPayRatioLeast }}</span>
</template>
</el-table-column>
<el-table-column label="单车意外险/年" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.vehAccidentAmount }}</span>
</template>
</el-table-column>
<el-table-column label="保险保证金" align="center" width="110">
<template slot-scope="scope">
<span>{{ scope.row.depositPremium }}</span>
</template>
</el-table-column>
<el-table-column label="落户保证金" align="center" width="110">
<template slot-scope="scope">
<span>{{ scope.row.depositSettle }}</span>
</template>
</el-table-column>
<el-table-column label="名义/留购价款" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.nominalPrice }}</span>
</template>
</el-table-column>
<el-table-column label="有效期至" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.validDateTo }}</span>
</template>
</el-table-column>
<el-table-column label="其他融" align="center" width="80">
<template slot-scope="scope">
<span class="bluezi" v-show="scope.row.showOtherPolicy" @click="lookOther(scope.row)">查看</span>
</template>
</el-table-column>
</el-table>
</el-form>
</div>
</div>
<!-- 查看其他融详情 -->
<otherfinancialpolicymanagementInfo v-show="viewState == 2" ref="divOther" @doback="resetState"/>
<!-- 查看金融产品政策详情 -->
<financialpolicymanagementInfo v-show="viewState == 3" ref="divChanPin" @doback="resetState"/>
</div>
</template>
<script>
import req from '@/api/financialpolicyreporting/financialpolicyreporting'
import financialpolicymanagementInfo from '../financialpolicymanagement/financialpolicymanagementInfo'
import otherfinancialpolicymanagementInfo from '../otherfinancialpolicymanagement/otherfinancialpolicymanagementInfo'
export default {
name: 'FinancialPolicyReportingInfo',
components: {
financialpolicymanagementInfo,
otherfinancialpolicymanagementInfo
},
data() {
return {
viewTitle: '',
viewState: 1,
tableKey: 0,
index: 0,
formobj: {
sid: '',
userSid: '',
applyCompany: '',
department: '',
applicant: '',
applyDate: '',
taskId: '',
instanceId: '',
remarks: '',
orgSidPath: '',
annexPaths: [],
policyList: []
},
rules: {}
}
},
methods: {
showInfo(row) {
this.viewTitle = '金融产品政策报备详情'
req.fetchBySid(row.sid).then((res) => {
if (res.success) {
this.formobj = res.data
}
})
},
lookChanPin(row) {
this.viewState = 3
this.$refs['divChanPin'].showInfo({ sid: row.policySid })
},
lookOther(row) {
this.viewState = 2
this.$refs['divOther'].showInfo(row.otherPolicySid)
},
resetState() {
this.viewState = 1
},
handleReturn() {
this.formobj = {}
this.$emit('doback')
}
}
}
</script>
<style scoped>
</style>

383
anrui-riskcenter-ui/src/views/workFlow/jinrongzhengceFlow/financialpolicyreportingByDivisionOperateInfo.vue

@ -0,0 +1,383 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" @click="openAgree('同意')"> </el-button>
<el-button type="danger" size="small" @click="openReject('驳回')"> </el-button>
<el-button type="danger" size="small" @click="openStop('终止')"> </el-button>
</div>
</div>
<div class="">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="6">
<div class="span-sty">分公司</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyCompany }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.department }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.applicant }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.remarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item><el-image class="addinputwInfo" v-for="(item, index) in formobj.annexPaths" :key="index" :src="item" :preview-src-list="formobj.annexPaths" /></el-form-item>
</el-col>
</el-row>
<div class="title">
金融产品政策列表
</div>
<el-table :key="tableKey" :data="formobj.policyList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column label="产品政策名称" align="center" width="200">
<template slot-scope="scope">
<span class="bluezi" @click="lookChanPin(scope.row)">{{ scope.row.policyName }}</span>
</template>
</el-table-column>
<el-table-column label="车辆功能" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.vehTypeValue }}</span>
</template>
</el-table-column>
<el-table-column label="期数" align="center">
<template slot-scope="scope">
<span>{{ scope.row.period }}</span>
</template>
</el-table-column>
<el-table-column label="标准年利率" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.yearRatio }}</span>
</template>
</el-table-column>
<el-table-column label="服务费类型" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.serviceAmountTypeValue }}</span>
</template>
</el-table-column>
<el-table-column label="服务费" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.serviceAmount }}</span>
</template>
</el-table-column>
<el-table-column label="最低首付比例" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.downPayRatioLeast }}</span>
</template>
</el-table-column>
<el-table-column label="单车意外险/年" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.vehAccidentAmount }}</span>
</template>
</el-table-column>
<el-table-column label="保险保证金" align="center" width="110">
<template slot-scope="scope">
<span>{{ scope.row.depositPremium }}</span>
</template>
</el-table-column>
<el-table-column label="落户保证金" align="center" width="110">
<template slot-scope="scope">
<span>{{ scope.row.depositSettle }}</span>
</template>
</el-table-column>
<el-table-column label="名义/留购价款" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.nominalPrice }}</span>
</template>
</el-table-column>
<el-table-column label="有效期至" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.validDateTo }}</span>
</template>
</el-table-column>
<el-table-column label="其他融" align="center" width="80">
<template slot-scope="scope">
<span class="bluezi" v-show="scope.row.showOtherPolicy" @click="lookOther(scope.row)">查看</span>
</template>
</el-table-column>
</el-table>
</el-form>
</div>
</div>
<!-- 查看其他融详情 -->
<otherfinancialpolicymanagementInfo v-show="viewState == 2" ref="divOther" @doback="resetState"/>
<!-- 查看金融产品政策详情 -->
<financialpolicymanagementInfo v-show="viewState == 3" ref="divChanPin" @doback="resetState"/>
<!-- 选择待办人 的弹出框-->
<el-dialog title="填写审批意见" :visible.sync="nodeDialogVisible" width="80%">
<el-form class="formadd" >
<el-row v-show="currentLink" style="border-top: 1px solid #e0e3eb">
<el-col :span="4" class="tleftb">
<span>当前环节:</span>
</el-col>
<el-col :span="20">
<el-form-item><span>{{ current.taskName }}->{{ nextNode.name }}</span></el-form-item>
</el-col>
</el-row>
<el-row :class="{rowClass:!currentLink}">
<el-col :span="4" class="tleftb">
<span>意见:</span>
</el-col>
<el-col :span="20">
<el-form-item><el-input size="small" v-model="dialogList.comment" placeholder="审批意见" class="addinputw" type="textarea" :autosize="{ minRows: 1, maxRows: 10}" clearable ></el-input></el-form-item>
</el-col>
</el-row>
<div style="text-align:center;margin-top: 20px;">
<el-button type="primary" size="mini" @click="reject"> </el-button>
<el-button type="info " size="mini" @click="nodeDialogVisible = false"> </el-button>
</div>
</el-form>
</el-dialog>
</div>
</template>
<script>
import req from '@/api/financialpolicyreporting/financialpolicyreporting'
import financialpolicymanagementInfo from './relation/jinrongzhengceInfo'
import otherfinancialpolicymanagementInfo from './relation/otherInfo'
export default {
name: 'FinancialPolicyReportingByDivisionOperateInfo',
components: {
financialpolicymanagementInfo,
otherfinancialpolicymanagementInfo
},
data() {
return {
viewTitle: '',
viewState: 1,
tableKey: 0,
index: 0,
formobj: {
sid: '',
userSid: '',
applyCompany: '',
department: '',
applicant: '',
applyDate: '',
taskId: '',
instanceId: '',
remarks: '',
orgSidPath: '',
annexPaths: [],
policyList: []
},
rules: {},
operation: '', //
dialogList: {
comment: ''
},
startTask: true,
current: {
taskDefKey: '',
taskName: '' //
},
nextNode: {}, //
nodeDialogVisible: false,
currentLink: true,
//
linkByParameter: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
orgSidPath: '',
taskDefKey: '',
userSid: ''
}
}
},
created() {
console.log('url:' + window.location.href)
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
console.log('iframe页面获取的obj:', obj)
//
this.linkByParameter.businessSid = obj.businessSid
this.linkByParameter.instanceId = obj.instanceId
this.linkByParameter.taskId = obj.taskId
this.linkByParameter.taskDefKey = obj.taskDefKey
this.linkByParameter.orgSidPath = window.sessionStorage.getItem('orgSidPath')
this.linkByParameter.userSid = window.sessionStorage.getItem('userSid')
this.current.taskDefKey = obj.taskDefKey
this.current.taskName = obj.taskName
//
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 350 + 'px'
}
}, '*')
},
methods: {
showInfo(sid) {
this.viewTitle = '金融产品政策报备详情'
req.fetchBySid(sid).then((res) => {
if (res.success) {
this.formobj = res.data
}
})
},
lookChanPin(row) {
this.viewState = 3
this.$refs['divChanPin'].showInfo({ sid: row.policySid })
},
lookOther(row) {
this.viewState = 2
this.$refs['divOther'].showInfo(row.otherPolicySid)
},
resetState() {
this.viewState = 1
},
//
openAgree(val) {
this.operation = val
this.currentLink = true
this.dialogList.comment = '同意'
req.getNextNodesForSubmit({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openReject(val) {
this.operation = val
this.currentLink = true
this.dialogList.comment = ''
req.getPreviousNodesForReject({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openStop(val) {
this.operation = val
this.currentLink = false
this.dialogList.comment = ''
this.nodeDialogVisible = true
},
reject() {
if (this.operation === '同意') {
this.handleAgree()
} else if (this.operation === '驳回') {
if (this.dialogList.comment === '') {
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' })
} else {
this.handleReject()
}
} else if (this.operation === '终止') {
if (this.dialogList.comment === '') {
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' })
} else {
this.handleStop()
}
}
},
/** 同意任务 */
handleAgree() {
this.linkByParameter.comment = this.dialogList.comment
req.companyToDivisionOperate(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 驳回任务 */
handleReject() {
this.linkByParameter.comment = this.dialogList.comment
req.reject(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 终止任务 */
handleStop() {
this.linkByParameter.comment = this.dialogList.comment
req.breakProcess(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
}
}
}
</script>
<style scoped>
.rowClass{
border-top: 1px solid #E0E3EB;
}
</style>

383
anrui-riskcenter-ui/src/views/workFlow/jinrongzhengceFlow/financialpolicyreportingDaiBanInfo.vue

@ -0,0 +1,383 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" @click="openAgree('同意')"> </el-button>
<el-button type="danger" size="small" @click="openReject('驳回')"> </el-button>
<el-button type="danger" size="small" @click="openStop('终止')"> </el-button>
</div>
</div>
<div class="">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="6">
<div class="span-sty">分公司</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyCompany }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.department }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.applicant }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.remarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item><el-image class="addinputwInfo" v-for="(item, index) in formobj.annexPaths" :key="index" :src="item" :preview-src-list="formobj.annexPaths" /></el-form-item>
</el-col>
</el-row>
<div class="title">
金融产品政策列表
</div>
<el-table :key="tableKey" :data="formobj.policyList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column label="产品政策名称" align="center" width="200">
<template slot-scope="scope">
<span class="bluezi" @click="lookChanPin(scope.row)">{{ scope.row.policyName }}</span>
</template>
</el-table-column>
<el-table-column label="车辆功能" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.vehTypeValue }}</span>
</template>
</el-table-column>
<el-table-column label="期数" align="center">
<template slot-scope="scope">
<span>{{ scope.row.period }}</span>
</template>
</el-table-column>
<el-table-column label="标准年利率" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.yearRatio }}</span>
</template>
</el-table-column>
<el-table-column label="服务费类型" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.serviceAmountTypeValue }}</span>
</template>
</el-table-column>
<el-table-column label="服务费" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.serviceAmount }}</span>
</template>
</el-table-column>
<el-table-column label="最低首付比例" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.downPayRatioLeast }}</span>
</template>
</el-table-column>
<el-table-column label="单车意外险/年" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.vehAccidentAmount }}</span>
</template>
</el-table-column>
<el-table-column label="保险保证金" align="center" width="110">
<template slot-scope="scope">
<span>{{ scope.row.depositPremium }}</span>
</template>
</el-table-column>
<el-table-column label="落户保证金" align="center" width="110">
<template slot-scope="scope">
<span>{{ scope.row.depositSettle }}</span>
</template>
</el-table-column>
<el-table-column label="名义/留购价款" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.nominalPrice }}</span>
</template>
</el-table-column>
<el-table-column label="有效期至" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.validDateTo }}</span>
</template>
</el-table-column>
<el-table-column label="其他融" align="center" width="80">
<template slot-scope="scope">
<span class="bluezi" v-show="scope.row.showOtherPolicy" @click="lookOther(scope.row)">查看</span>
</template>
</el-table-column>
</el-table>
</el-form>
</div>
</div>
<!-- 查看其他融详情 -->
<otherfinancialpolicymanagementInfo v-show="viewState == 2" ref="divOther" @doback="resetState"/>
<!-- 查看金融产品政策详情 -->
<financialpolicymanagementInfo v-show="viewState == 3" ref="divChanPin" @doback="resetState"/>
<!-- 选择待办人 的弹出框-->
<el-dialog title="填写审批意见" :visible.sync="nodeDialogVisible" width="80%">
<el-form class="formadd" >
<el-row v-show="currentLink" style="border-top: 1px solid #e0e3eb">
<el-col :span="4" class="tleftb">
<span>当前环节:</span>
</el-col>
<el-col :span="20">
<el-form-item><span>{{ current.taskName }}->{{ nextNode.name }}</span></el-form-item>
</el-col>
</el-row>
<el-row :class="{rowClass:!currentLink}">
<el-col :span="4" class="tleftb">
<span>意见:</span>
</el-col>
<el-col :span="20">
<el-form-item><el-input size="small" v-model="dialogList.comment" placeholder="审批意见" class="addinputw" type="textarea" :autosize="{ minRows: 1, maxRows: 10}" clearable ></el-input></el-form-item>
</el-col>
</el-row>
<div style="text-align:center;margin-top: 20px;">
<el-button type="primary" size="mini" @click="reject"> </el-button>
<el-button type="info " size="mini" @click="nodeDialogVisible = false"> </el-button>
</div>
</el-form>
</el-dialog>
</div>
</template>
<script>
import req from '@/api/financialpolicyreporting/financialpolicyreporting'
import financialpolicymanagementInfo from './relation/jinrongzhengceInfo'
import otherfinancialpolicymanagementInfo from './relation/otherInfo'
export default {
name: 'FinancialPolicyReportingBaiBanInfo',
components: {
financialpolicymanagementInfo,
otherfinancialpolicymanagementInfo
},
data() {
return {
viewTitle: '',
viewState: 1,
tableKey: 0,
index: 0,
formobj: {
sid: '',
userSid: '',
applyCompany: '',
department: '',
applicant: '',
applyDate: '',
taskId: '',
instanceId: '',
remarks: '',
orgSidPath: '',
annexPaths: [],
policyList: []
},
rules: {},
operation: '', //
dialogList: {
comment: ''
},
startTask: true,
current: {
taskDefKey: '',
taskName: '' //
},
nextNode: {}, //
nodeDialogVisible: false,
currentLink: true,
//
linkByParameter: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
orgSidPath: '',
taskDefKey: '',
userSid: ''
}
}
},
created() {
console.log('url:' + window.location.href)
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
console.log('iframe页面获取的obj:', obj)
//
this.linkByParameter.businessSid = obj.businessSid
this.linkByParameter.instanceId = obj.instanceId
this.linkByParameter.taskId = obj.taskId
this.linkByParameter.taskDefKey = obj.taskDefKey
// this.linkByParameter.orgSidPath = window.sessionStorage.getItem('orgSidPath')
this.linkByParameter.userSid = window.sessionStorage.getItem('userSid')
this.current.taskDefKey = obj.taskDefKey
this.current.taskName = obj.taskName
//
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 350 + 'px'
}
}, '*')
},
methods: {
showInfo(sid) {
this.viewTitle = '金融产品政策报备详情'
req.fetchBySid(sid).then((res) => {
if (res.success) {
this.formobj = res.data
}
})
},
lookChanPin(row) {
this.viewState = 3
this.$refs['divChanPin'].showInfo({ sid: row.policySid })
},
lookOther(row) {
this.viewState = 2
this.$refs['divOther'].showInfo(row.otherPolicySid)
},
resetState() {
this.viewState = 1
},
//
openAgree(val) {
this.operation = val
this.currentLink = true
this.dialogList.comment = '同意'
req.getNextNodesForSubmit({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openReject(val) {
this.operation = val
this.currentLink = true
this.dialogList.comment = ''
req.getPreviousNodesForReject({ taskDefKey: this.current.taskDefKey, businessSid: this.linkByParameter.businessSid }).then((resp) => {
if (resp.success) {
var arr = resp.data
this.nextNode = arr[0]
this.nodeDialogVisible = true
}
this.submitdisabled = false
})
},
//
openStop(val) {
this.operation = val
this.currentLink = false
this.dialogList.comment = ''
this.nodeDialogVisible = true
},
reject() {
if (this.operation === '同意') {
this.handleAgree()
} else if (this.operation === '驳回') {
if (this.dialogList.comment === '') {
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' })
} else {
this.handleReject()
}
} else if (this.operation === '终止') {
if (this.dialogList.comment === '') {
this.$message({ showClose: true, type: 'error', message: '请填写审批意见' })
} else {
this.handleStop()
}
}
},
/** 同意任务 */
handleAgree() {
this.linkByParameter.comment = this.dialogList.comment
req.complete(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 驳回任务 */
handleReject() {
this.linkByParameter.comment = this.dialogList.comment
req.reject(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
},
/** 终止任务 */
handleStop() {
this.linkByParameter.comment = this.dialogList.comment
req.breakProcess(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
}
}
}
</script>
<style scoped>
.rowClass{
border-top: 1px solid #E0E3EB;
}
</style>

305
anrui-riskcenter-ui/src/views/workFlow/jinrongzhengceFlow/financialpolicyreportingEdit.vue

@ -0,0 +1,305 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate()">保存</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submit()">提交</el-button>
</div>
</div>
<div class="">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="6">
<div class="span-sty">分公司</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyCompany }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.department }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.applicant }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item><el-input v-model="formobj.remarks" clearable placeholder="" class="addinputInfo addinputw" /></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item>
<upload-img ref="uploadImg" class="addinputInfo" v-model="image_list1" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/>
</el-form-item>
</el-col>
</el-row>
<div class="title">
金融产品政策列表
</div>
<el-table :key="tableKey" :data="formobj.policyList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column label="操作" align="center" width="100">
<template slot-scope="scope">
<el-button type="danger" size="mini" @click="handleDelete(scope.$index)">删除</el-button>
</template>
</el-table-column>
<el-table-column label="产品政策名称" align="center" width="200">
<template slot-scope="scope">
<span class="bluezi" @click="lookChanPin(scope.row)">{{ scope.row.policyName }}</span>
</template>
</el-table-column>
<el-table-column label="车辆功能" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.vehTypeValue }}</span>
</template>
</el-table-column>
<el-table-column label="期数" align="center">
<template slot-scope="scope">
<span>{{ scope.row.period }}</span>
</template>
</el-table-column>
<el-table-column label="标准年利率" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.yearRatio }}</span>
</template>
</el-table-column>
<el-table-column label="服务费类型" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.serviceAmountTypeValue }}</span>
</template>
</el-table-column>
<el-table-column label="服务费" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.serviceAmount }}</span>
</template>
</el-table-column>
<el-table-column label="最低首付比例" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.downPayRatioLeast }}</span>
</template>
</el-table-column>
<el-table-column label="单车意外险/年" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.vehAccidentAmount }}</span>
</template>
</el-table-column>
<el-table-column label="保险保证金" align="center" width="110">
<template slot-scope="scope">
<span>{{ scope.row.depositPremium }}</span>
</template>
</el-table-column>
<el-table-column label="落户保证金" align="center" width="110">
<template slot-scope="scope">
<span>{{ scope.row.depositSettle }}</span>
</template>
</el-table-column>
<el-table-column label="名义/留购价款" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.nominalPrice }}</span>
</template>
</el-table-column>
<el-table-column label="有效期至" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.validDateTo }}</span>
</template>
</el-table-column>
<el-table-column label="其他融" align="center" width="80">
<template slot-scope="scope">
<span class="bluezi" v-show="scope.row.showOtherPolicy" @click="lookOther(scope.row)">查看</span>
</template>
</el-table-column>
</el-table>
</el-form>
</div>
</div>
<!-- 查看其他融详情 -->
<otherfinancialpolicymanagementInfo v-show="viewState == 2" ref="divOther" @doback="resetState"/>
<!-- 查看金融产品政策详情 -->
<financialpolicymanagementInfo v-show="viewState == 3" ref="divChanPin" @doback="resetState"/>
</div>
</template>
<script>
import req from '@/api/financialpolicyreporting/financialpolicyreporting'
import uploadImg from '@/components/uploadFile/uploadImg'
import financialpolicymanagementInfo from './relation/jinrongzhengceInfo'
import otherfinancialpolicymanagementInfo from './relation/otherInfo'
export default {
name: 'FinancialPolicyReportingEdit',
components: {
uploadImg,
otherfinancialpolicymanagementInfo,
financialpolicymanagementInfo
},
data() {
return {
viewTitle: '',
viewState: 1,
submitdisabled: false,
tableKey: 0,
index: 0,
image_list1: [],
formobj: {
sid: '',
userSid: '',
applyCompany: '',
department: '',
applicant: '',
applyDate: '',
taskId: '',
instanceId: '',
remarks: '',
orgSidPath: '',
policySids: [],
annexPaths: [],
policyList: []
},
rules: {}
}
},
created() {
console.log('url:' + window.location.href)
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 350 + 'px'
}
}, '*')
},
methods: {
showInfo(sid) {
this.viewTitle = '【编辑】金融产品政策报备'
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
req.fetchBySid(sid).then((res) => {
if (res.success) {
this.formobj = res.data
if (this.formobj.annexPaths.length > 0) {
this.formobj.annexPaths.forEach((e) => {
this.image_list1.push({
name: '',
url: e
})
})
}
}
})
},
handleDelete(index) {
this.formobj.policyList.splice(index, 1)
},
lookChanPin(row) {
this.viewState = 3
this.$refs['divChanPin'].showInfo({ sid: row.policySid })
},
lookOther(row) {
this.viewState = 2
this.$refs['divOther'].showInfo(row.otherPolicySid)
},
saveOrUpdate() {
if (this.formobj.policyList.length === 0) {
this.$message({ showClose: true, type: 'error', message: '金融产品政策列表不能为空' })
return
} else {
this.formobj.policyList.forEach((e) => {
this.formobj.policySids.push(e.policySid)
})
}
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
this.formobj.annexPaths = []
if (this.image_list1.length > 0) {
this.image_list1.forEach((e) => {
this.formobj.annexPaths.push(e.url)
})
}
req.saveOrUpdate(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' })
// ()
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled =false
})
}
})
},
submit() {
if (this.formobj.policyList.length === 0) {
this.$message({ showClose: true, type: 'error', message: '金融产品政策列表不能为空' })
return
} else {
this.formobj.policyList.forEach((e) => {
this.formobj.policySids.push(e.policySid)
})
}
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
this.formobj.annexPaths = []
if (this.image_list1.length > 0) {
this.image_list1.forEach((e) => {
this.formobj.annexPaths.push(e.url)
})
}
req.submit(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '操作成功' })
// ()
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
} else {
this.submitdisabled = false
}
}).catch(() => {
this.submitdisabled = false
})
}
})
},
resetState() {
this.viewState = 1
}
}
}
</script>
<style scoped>
.addinputInfo {
margin-left: 60px !important;
}
</style>

255
anrui-riskcenter-ui/src/views/workFlow/jinrongzhengceFlow/financialpolicyreportingYiBanInfo.vue

@ -0,0 +1,255 @@
<template>
<div class="app-container">
<div v-show="viewState == 1">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="danger" size="small" @click="openRevoke()">撤回</el-button>
</div>
</div>
<div class="">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="6">
<div class="span-sty">分公司</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyCompany }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">申请部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.department }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">申请人</div>
<el-form-item><span class="addinputInfo">{{ formobj.applicant }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty">申请日期</div>
<el-form-item><span class="addinputInfo">{{ formobj.applyDate }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item><span class="addinputInfo">{{ formobj.remarks }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">附件</div>
<el-form-item><el-image class="addinputwInfo" v-for="(item, index) in formobj.annexPaths" :key="index" :src="item" :preview-src-list="formobj.annexPaths" /></el-form-item>
</el-col>
</el-row>
<div class="title">
金融产品政策列表
</div>
<el-table :key="tableKey" :data="formobj.policyList" :index="index" border style="width: 100%">
<el-table-column fixed width="80" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column label="产品政策名称" align="center" width="200">
<template slot-scope="scope">
<span class="bluezi" @click="lookChanPin(scope.row)">{{ scope.row.policyName }}</span>
</template>
</el-table-column>
<el-table-column label="车辆功能" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.vehTypeValue }}</span>
</template>
</el-table-column>
<el-table-column label="期数" align="center">
<template slot-scope="scope">
<span>{{ scope.row.period }}</span>
</template>
</el-table-column>
<el-table-column label="标准年利率" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.yearRatio }}</span>
</template>
</el-table-column>
<el-table-column label="服务费类型" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.serviceAmountTypeValue }}</span>
</template>
</el-table-column>
<el-table-column label="服务费" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.serviceAmount }}</span>
</template>
</el-table-column>
<el-table-column label="最低首付比例" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.downPayRatioLeast }}</span>
</template>
</el-table-column>
<el-table-column label="单车意外险/年" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.vehAccidentAmount }}</span>
</template>
</el-table-column>
<el-table-column label="保险保证金" align="center" width="110">
<template slot-scope="scope">
<span>{{ scope.row.depositPremium }}</span>
</template>
</el-table-column>
<el-table-column label="落户保证金" align="center" width="110">
<template slot-scope="scope">
<span>{{ scope.row.depositSettle }}</span>
</template>
</el-table-column>
<el-table-column label="名义/留购价款" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.nominalPrice }}</span>
</template>
</el-table-column>
<el-table-column label="有效期至" align="center" width="100">
<template slot-scope="scope">
<span>{{ scope.row.validDateTo }}</span>
</template>
</el-table-column>
<el-table-column label="其他融" align="center" width="80">
<template slot-scope="scope">
<span class="bluezi" v-show="scope.row.showOtherPolicy" @click="lookOther(scope.row)">查看</span>
</template>
</el-table-column>
</el-table>
</el-form>
</div>
</div>
<!-- 查看其他融详情 -->
<otherfinancialpolicymanagementInfo v-show="viewState == 2" ref="divOther" @doback="resetState"/>
<!-- 查看金融产品政策详情 -->
<financialpolicymanagementInfo v-show="viewState == 3" ref="divChanPin" @doback="resetState"/>
</div>
</template>
<script>
import req from '@/api/financialpolicyreporting/financialpolicyreporting'
import financialpolicymanagementInfo from './relation/jinrongzhengceInfo'
import otherfinancialpolicymanagementInfo from './relation/otherInfo'
export default {
name: 'FinancialPolicyReportingYiBanInfo',
components: {
financialpolicymanagementInfo,
otherfinancialpolicymanagementInfo
},
data() {
return {
viewTitle: '',
viewState: 1,
tableKey: 0,
index: 0,
formobj: {
sid: '',
userSid: '',
applyCompany: '',
department: '',
applicant: '',
applyDate: '',
taskId: '',
instanceId: '',
remarks: '',
orgSidPath: '',
annexPaths: [],
policyList: []
},
rules: {},
//
linkByParameter: {
businessSid: '',
comment: '',
instanceId: '',
taskId: '',
orgSidPath: '',
taskDefKey: '',
userSid: ''
}
}
},
created() {
console.log('url:' + window.location.href)
var one = window.location.href.indexOf('&data') + 6
const data = window.location.href.substr(one) // urlunescape()web,使
const obj = JSON.parse(decodeURIComponent(data))
console.log('iframe页面获取的obj:', obj)
//
this.linkByParameter.businessSid = obj.businessSid
this.linkByParameter.instanceId = obj.instanceId
this.linkByParameter.taskId = obj.taskId
this.linkByParameter.taskDefKey = obj.taskDefKey
this.linkByParameter.userSid = window.sessionStorage.getItem('userSid')
//
this.showInfo(obj.businessSid)
},
mounted() {
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 2,
data: 350 + 'px'
}
}, '*')
},
methods: {
showInfo(sid) {
this.viewTitle = '金融产品政策报备详情'
req.fetchBySid(sid).then((res) => {
if (res.success) {
this.formobj = res.data
}
})
},
lookChanPin(row) {
this.viewState = 3
this.$refs['divChanPin'].showInfo({ sid: row.policySid })
},
lookOther(row) {
this.viewState = 2
this.$refs['divOther'].showInfo(row.otherPolicySid)
},
resetState() {
this.viewState = 1
},
/** 确认撤回任务 */
openRevoke() {
this.$confirm('是否确认执行撤回操作', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.handleRevoke()
}).catch(() => {
this.$message({
type: 'info',
message: '已取消撤回'
})
})
},
/** 撤回任务 */
handleRevoke() {
req.revokeProcess(this.linkByParameter).then((response) => {
if (response.success) {
this.$notify({
title: '提示',
message: '执行成功',
type: 'success',
duration: 2000
})
this.nodeDialogVisible = false
//
window.parent.postMessage({
cmd: 'returnHeight',
params: {
//
code: 1
}
}, '*')
}
})
}
}
}
</script>
<style scoped>
</style>

282
anrui-riskcenter-ui/src/views/workFlow/jinrongzhengceFlow/relation/jinrongzhengceInfo.vue

@ -0,0 +1,282 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<!--标题-->
<div>{{ viewTitle }}</div>
<!--start 添加修改按钮-->
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="">
<div class="titwu">金融产品政策</div>
<el-form ref="form_obj" :model="formobj" class="formaddcopy02">
<el-row style="border-left: 0px">
<el-col :span="12" style="border-right: 0px">
<div class="span-sty" style="border-right: 0px"><span>产品政策名称</span></div>
<el-form-item>
<div class="addinputInfo">
<span>{{ formobj.bankShortName }} {{ formobj.guaranteeTypeValue !== '' ? '( ' + formobj.guaranteeTypeValue + '、' : '' }} {{ formobj.isPack == '1' ? '打包 )' : formobj.isPack == '2' ? '不打包 )' : '' }} {{ formobj.downPayRatio }} {{ formobj.bondRatio !== '' ? '+ ' + formobj.bondRatio : '' }}</span>
</div>
</el-form-item>
</el-col>
<el-col :span="12" style="border-right: 0px"></el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty"><span>资方简称</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.bankShortName }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>业务类型</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.busTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>车辆大类</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.vehCategoryValue }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>车辆功能</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.vehTypeValue }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty"><span>是否打包</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.isPack == '1' ? '是' : '否' }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>担保类型</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.guaranteeTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>首付比例</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.downPayRatio }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>最低首付比例</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.downPayRatioLeast }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty"><span>保证金比例</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.bondRatio }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>保证金类型</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.bondType }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>期数</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.period }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>标准年利率(%)</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.yearRatio }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty"><span>服务费类型</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.serviceAmountTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>服务费<span v-show="formobj.serviceAmountTypeValue == '比例'">(%)</span></span></div>
<el-form-item><span class="addinputInfo">{{ formobj.serviceAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>保险保证金</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.depositPremium }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>落户保证金</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.depositSettle }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty"><span>单车意外险/</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.vehAccidentAmount }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>名义/留购价款</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.nominalPrice }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>有效期至</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.validDateTo }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>备注</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.remarks }}</span></el-form-item>
</el-col>
</el-row>
<div v-show="formobj.isOtherProduct">
<div class="title">其它融信息</div>
<el-row>
<el-col :span="6">
<div class="span-sty"><span>产品类别</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.loanFinOtherPolicy.productTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>最高融资比例(%)</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.loanFinOtherPolicy.maxLoanRatio }}</span></el-form-item>
</el-col>
<el-col :span="12">
<div class="span-sty"><span>最高融资额</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.loanFinOtherPolicy.maxLoanAmount }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<div class="span-sty"><span>期数</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.loanFinOtherPolicy.period }}</span></el-form-item>
</el-col>
<el-col :span="6">
<div class="span-sty"><span>年利率(%)</span></div>
<el-form-item><span class="addinputInfo">{{ formobj.loanFinOtherPolicy.yearRatio }}</span></el-form-item>
</el-col>
<el-col :span="12" />
</el-row>
</div>
</el-form>
</div>
</div>
</template>
<script>
import req from '@/api/financialpolicymanagement/financialpolicymanagement'
export default {
name: 'JinRongZhengCeInfo',
data() {
return {
viewTitle: '',
formobj: {
bankShortName: '',
bankSid: '',
bondRatio: '',
bondRatioKey: '',
bondType: '',
bondTypeKey: '',
busTypeKey: '',
busTypeValue: '',
depositPremium: '',
depositSettle: '',
downPayRatio: '',
downPayRatioKey: '',
downPayRatioLeast: '',
downPayRatioLeastKey: '',
guaranteeTypeKey: '',
guaranteeTypeValue: '',
isOtherProduct: false,
isPack: '',
loanFinOtherPolicy: {
maxLoanAmount: '',
maxLoanRatio: '',
period: '',
periodKey: '',
productTypeKey: '',
productTypeValue: '',
yearRatio: ''
},
nominalPrice: '',
orgPath: '',
period: '',
periodKey: '',
policyName: '',
remarks: '',
serviceAmount: '',
serviceAmountTypeKey: '',
serviceAmountTypeValue: '',
sid: '',
useDeptList: [],
userSid: '',
validDateTo: '',
vehAccidentAmount: '',
vehCategoryKey: '',
vehCategoryValue: '',
vehTypeKey: '',
vehTypeValue: '',
yearRatio: ''
}
}
},
methods: {
showInfo(row) {
this.viewTitle = '金融产品政策详情'
req.fetchBySid({ sid: row.sid }).then((res) => {
if (res.success) {
this.formobj = res.data
}
})
},
handleReturn() {
this.formobj = {
bankShortName: '',
bankSid: '',
bondRatio: '',
bondRatioKey: '',
bondType: '',
bondTypeKey: '',
busTypeKey: '',
busTypeValue: '',
depositPremium: '',
depositSettle: '',
downPayRatio: '',
downPayRatioKey: '',
downPayRatioLeast: '',
downPayRatioLeastKey: '',
guaranteeTypeKey: '',
guaranteeTypeValue: '',
isOtherProduct: false,
isPack: '',
loanFinOtherPolicy: {
maxLoanAmount: '',
maxLoanRatio: '',
period: '',
periodKey: '',
productTypeKey: '',
productTypeValue: '',
yearRatio: ''
},
nominalPrice: '',
orgPath: '',
period: '',
periodKey: '',
policyName: '',
remarks: '',
serviceAmount: '',
serviceAmountTypeKey: '',
serviceAmountTypeValue: '',
sid: '',
useDeptList: [],
userSid: '',
validDateTo: '',
vehAccidentAmount: '',
vehCategoryKey: '',
vehCategoryValue: '',
vehTypeKey: '',
vehTypeValue: '',
yearRatio: ''
}
this.$emit('doback')
}
}
}
</script>
<style scoped>
.titwu {
font-size: 28px;
text-align: center;
padding: 30px 0 20px 0;
}
.span-sty {
width: 140px !important;
}
.addinputInfo {
margin-left: 130px !important;
}
</style>

132
anrui-riskcenter-ui/src/views/workFlow/jinrongzhengceFlow/relation/otherInfo.vue

@ -0,0 +1,132 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>{{ viewTitle }}</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<div class="">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="8">
<div class="span-sty">资方简称</div>
<el-form-item><span class="addinputInfo">{{ formobj.bankShortName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">其他融名称</div>
<el-form-item><span class="addinputInfo">{{ formobj.otherPolicyName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">适用销售部门</div>
<el-form-item><span class="addinputInfo">{{ formobj.useDeptNames }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">业务类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.busTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">车辆大类</div>
<el-form-item><span class="addinputInfo">{{ formobj.vehCategoryValue }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">车辆功能</div>
<el-form-item><span class="addinputInfo">{{ formobj.vehTypeValue }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">产品类别</div>
<el-form-item><span class="addinputInfo">{{ formobj.productTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">最高融资比例(%)</div>
<el-form-item><span class="addinputInfo">{{ formobj.maxLoanRatio }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">最高融资额()</div>
<el-form-item><span class="addinputInfo">{{ formobj.maxLoanAmount }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<div class="span-sty">期数</div>
<el-form-item><span class="addinputInfo">{{ formobj.period }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">年利率(%)</div>
<el-form-item><span class="addinputInfo">{{ formobj.yearRatio }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">有效期至</div>
<el-form-item><span class="addinputInfo">{{ formobj.validDateTo }}</span></el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import req from '@/api/otherfinancialpolicymanagement/otherfinancialpolicymanagement'
export default {
name: 'OtherInfo',
data() {
return {
viewTitle: '',
tableKey: 0,
index: 0,
formobj: {
bankShortName: '',
otherPolicyName: '',
bankSid: '',
mainPolicySid: '',
useDeptSids: '',
useDeptNames: '',
useDeptList: [],
productTypeKey: '',
productTypeValue: '',
busTypeKey: '',
busTypeValue: '',
vehCategoryKey: '',
vehCategoryValue: '',
vehTypeKey: '',
vehTypeValue: '',
maxLoanRatio: '',
maxLoanAmount: '',
period: '',
periodKey: '',
yearRatio: '',
validDateTo: ''
},
rules: {}
}
},
methods: {
showInfo(sid) {
this.viewTitle = '其他融产品详情'
req.fetchBySid({ sid: sid }).then((res) => {
if (res.success) {
this.formobj = res.data
}
})
},
handleReturn() {
this.formobj = {}
this.$emit('doback')
}
}
}
</script>
<style scoped>
.span-sty {
width: 110px !important;
}
.addinputInfo {
margin-left: 100px !important;
}
</style>
Loading…
Cancel
Save