津贴-审批批量通过接口,提交审批接口

This commit is contained in:
liyuetong
2021-09-10 09:15:13 +08:00
committed by zhangqi1
parent c50af90a51
commit b157d251f2
4 changed files with 221 additions and 243 deletions

View File

@@ -4,9 +4,8 @@
* @LastEditTime: 2021-04-02 16:10:30 * @LastEditTime: 2021-04-02 16:10:30
* @LastEditors: PangXingYue * @LastEditors: PangXingYue
* @Description: * @Description:
* @FilePath: \ebiz-h5\src\api\ebiz\cardList\cardList.js * @FilePath:
*/ */
// 卡单接口
import request from '@/assets/js/utils/request' import request from '@/assets/js/utils/request'
import getUrl from '@/assets/js/utils/get-url' import getUrl from '@/assets/js/utils/get-url'
@@ -43,6 +42,46 @@ export function getAllowanceDetail(data) {
data data
}) })
} }
// 津贴申请-权限校验
export function allowanceCheck(data) {
return request({
url: getUrl('/agent/allowance/check', 1),
method: 'post',
data
})
}
// 津贴-审批批量通过接口
export function batchPass(data) {
return request({
url: getUrl('/agent/allowance/approve/batchPass', 1),
method: 'post',
data
})
}
// 津贴-提交审批接口
export function updateApprove(data) {
return request({
url: getUrl('/agent/allowance/approve/updateApprove', 1),
method: 'post',
data
})
}
// 津贴-审批催办接口
export function approveUrge(data) {
return request({
url: getUrl('/agent/allowance/approve/approveUrge', 1),
method: 'post',
data
})
}
// 津贴-申请列表定期提醒修改
export function myDataremind(data) {
return request({
url: getUrl('/agent/allowance/myData/remind', 1),
method: 'post',
data
})
}

View File

@@ -8,7 +8,7 @@
<van-radio-group class="radio-area" v-model="radio"> <van-radio-group class="radio-area" v-model="radio">
<van-radio @click="handleChoose(itemRadio.value)" :name="itemRadio.value" v-for="(itemRadio, index) in radios" :key="index"> <van-radio @click="handleChoose(itemRadio.value)" :name="itemRadio.value" v-for="(itemRadio, index) in radios" :key="index">
<div slot="icon"></div> <div slot="icon"></div>
<van-button class="ph30" type="danger" :plain="radio == itemRadio.value ? false : true" round size="small">{{ itemRadio.label }}</van-button> <van-button :color="color" class="ph30" :type="type" :plain="radio == itemRadio.value ? false : true" round size="small">{{ itemRadio.label }}</van-button>
</van-radio> </van-radio>
</van-radio-group> </van-radio-group>
</div> </div>
@@ -28,6 +28,14 @@ export default {
type: String, type: String,
default: '' default: ''
}, },
color: {
type: String,
default: ''
},
type: {
type: String,
default: 'danger'
},
radios: { radios: {
type: Array, type: Array,
default: [] default: []
@@ -98,4 +106,5 @@ export default {
-webkit-transform: scaleY(0.5); -webkit-transform: scaleY(0.5);
transform: scaleY(0.5); transform: scaleY(0.5);
} }
</style> </style>

View File

@@ -8,19 +8,37 @@
</template> </template>
<van-cell title="申请人工号" :value="allowanceApplyDTO.agentCode" :border="border" /> <van-cell title="申请人工号" :value="allowanceApplyDTO.agentCode" :border="border" />
<van-cell title="申请人姓名" :value="allowanceApplyDTO.name" :border="border" /> <van-cell title="申请人姓名" :value="allowanceApplyDTO.name" :border="border" />
<van-cell title="申请人证件类型" :value="allowanceApplyDTO.idType | idTypeFilters" :border="border" /> <van-cell title="申请人证件类型" :value="allowanceApplyDTO.idType | idToText('idType')" :border="border" />
<van-cell title="申请人证件号码" :value="allowanceApplyDTO.idNo" :border="border" /> <van-cell title="申请人证件号码" :value="allowanceApplyDTO.idNo" :border="border" />
<van-cell title="享受人姓名" :value="allowanceEnjoyDTO.name " :border="border" /> <van-cell title="享受人姓名" :value="allowanceEnjoyDTO.name" :border="border" />
<van-cell title="享受人角色" :value="allowanceEnjoyDTO.relationship | sexFilters" :border="border" /> <select-radio
<van-cell title="享受人证件类型" :value="allowanceEnjoyDTO.idType | idTypeFilters" :border="border" /> :required="false"
:disabled="true"
:color="colorButton"
:type="typeButton"
:radios="relationshipArr"
label="享受人角色"
name="享受人角色"
:value.sync="allowanceEnjoyDTO.relationship"
></select-radio>
<van-cell title="享受人证件类型" :value="allowanceEnjoyDTO.idType | idToText('idType')" :border="border" />
<van-cell title="享受人证件号码" :value="allowanceEnjoyDTO.idNo" :border="border" /> <van-cell title="享受人证件号码" :value="allowanceEnjoyDTO.idNo" :border="border" />
<van-cell title="性别" :value="allowanceEnjoyDTO.sex | sexFilters" :border="border" /> <select-radio
:required="false"
:disabled="true"
:color="colorButton"
:type="typeButton"
:radios="sexRadio"
label="性别"
name="性别"
:value.sync="allowanceEnjoyDTO.sex"
></select-radio>
<van-cell title="出生日期" :value="allowanceEnjoyDTO.birthday" :border="border" /> <van-cell title="出生日期" :value="allowanceEnjoyDTO.birthday" :border="border" />
</van-collapse-item> </van-collapse-item>
<!-- 基本信息 结束 --> <!-- 基本信息 结束 -->
<!-- 账户信息 开始 --> <!-- 账户信息 开始 -->
<van-collapse-item title="账户信息" class="main-title" name="accountInfo"> <van-collapse-item title="账户信息" class="main-title" name="accountInfo">
<van-cell title="开户银行省市" class="fwb" :value="areaStr" :border="false" /> <van-cell title="开户银行省市" :value="areaStr" :border="border" />
<van-cell title="开户银行" :value="allowanceBankDTO.bankName" :border="border" /> <van-cell title="开户银行" :value="allowanceBankDTO.bankName" :border="border" />
<van-cell title="银行卡号" :value="allowanceBankDTO.bankCardNo" :border="border" /> <van-cell title="银行卡号" :value="allowanceBankDTO.bankCardNo" :border="border" />
<van-cell title="手机号码" :value="allowanceBankDTO.mobile" :border="border" /> <van-cell title="手机号码" :value="allowanceBankDTO.mobile" :border="border" />
@@ -52,24 +70,48 @@
<template slot="title"> <template slot="title">
<span>签名信息</span> <span>签名信息</span>
</template> </template>
<div> <div class="ml15" v-for="(item, i) in allowanceSignDTOLst" :key="i">
<div v-for="(item, i) in allowanceSignDTOLst" :key="i">
<span v-if="item.type == 1">申请人签名</span> <span v-if="item.type == 1">申请人签名</span>
<span v-else-if="item.type == 2">享受人签名</span> <span v-else-if="item.type == 2">享受人签名</span>
<img :src="item.signPath" alt=""> <img class="ml10 v-middle" :src="item.signPath" alt="" />
</div>
</div> </div>
</van-collapse-item> </van-collapse-item>
<!-- 签名信息 结束 --> <!-- 签名信息 结束 -->
<!-- 审批结论 开始 -->
<van-collapse-item class="main-title bg-white" name="signInfo" v-if="type == '1'">
<template slot="title">
<span>审批结论</span>
</template>
<div class="ml15 mt20 mb10">
<van-radio-group v-model="approveResult">
<van-radio class="mb10" name="1" checked-color="#2E4591">通过</van-radio>
<van-radio name="0" checked-color="#2E4591">驳回</van-radio>
</van-radio-group>
</div>
<van-field
class="m-textarea"
v-if="approveResult == '0'"
v-model="approveMsg"
rows="2"
autosize
label=""
type="textarea"
maxlength="200"
placeholder="请输入留言"
show-word-limit
/>
</van-collapse-item>
<!-- 审批结论 结束 -->
</van-collapse> </van-collapse>
<van-button v-if="type == '1'" type="danger" class="bottom-btn" @click="nextStep" v-no-more-click="1000">提交审批</van-button>
</div> </div>
</template> </template>
<script> <script>
import { CellGroup, Field, Dialog, Collapse, CollapseItem, Cell, Popup, Divider } from 'vant' import { Toast, CellGroup, Field, Dialog, Collapse, CollapseItem, Cell, Popup, Divider, RadioGroup, Radio } from 'vant'
import config from '@/config' import { getAllowanceDetail, updateApprove } from '@/api/ebiz/allowance/allowance'
import getAreaName from '@/assets/js/utils/get-area-name'
import { getAllowanceDetail } from '@/api/ebiz/allowance/allowance'
import areaList from '@/assets/js/utils/area' import areaList from '@/assets/js/utils/area'
import filter from '@/filters/index'
import SelectRadio from '@/components/ebiz/SelectRadio'
export default { export default {
name: 'detail', name: 'detail',
@@ -81,11 +123,20 @@ export default {
[CollapseItem.name]: CollapseItem, [CollapseItem.name]: CollapseItem,
[Cell.name]: Cell, [Cell.name]: Cell,
[Popup.name]: Popup, [Popup.name]: Popup,
[Divider.name]: Divider [Divider.name]: Divider,
[RadioGroup.name]: RadioGroup,
[Radio.name]: Radio,
[Toast.name]: Toast,
[SelectRadio.name]: SelectRadio
}, },
data() { data() {
return { return {
allowanceNo: this.$route.query.allowanceNo, approveResult: '1', //审批结果 (0-审批拒绝,1-审批通过)
approveMsg: '', //审批信息
colorButton: '#2E4591', //select-radio中按钮颜色
typeButton: 'default',
allowanceNo: this.$route.query.allowanceNo, //数据流水号
type: this.$route.query.type, //type 0申请详情 1审批详情
areaList, areaList,
areaStr: '', areaStr: '',
border: true, border: true,
@@ -95,130 +146,37 @@ export default {
mediaDTOSOther: [], //影像信息--其他 mediaDTOSOther: [], //影像信息--其他
allowanceBankDTO: {}, allowanceBankDTO: {},
allowanceSignDTOLst: [], allowanceSignDTOLst: [],
activeNames: ['baseInfo', 'accountInfo', 'MediaInfo', 'signInfo'] activeNames: ['baseInfo', 'accountInfo', 'MediaInfo', 'signInfo'],
sexRadio: [
{
label: '男',
value: '0'
},
{
label: '女',
value: '1'
}
],
relationshipArr: [
{
label: '父亲',
value: 'F'
},
{
label: '母亲',
value: 'M'
}
]
} }
}, },
filters: { filters: {
idTypeFilters(idType) { idToText: filter.idToText, //数据字典数据过滤
if (idType == '1') {
return '身份证'
} else if (idType == '2') {
return '户口本'
} else if (idType == '3') {
return '出生证明'
} else if (idType == '4') {
return '护照'
} else if (idType == '5') {
return '港澳居民通行证'
} else if (idType == '6') {
return '台湾居民通行证'
} else if (idType == '7') {
return '其他'
}
},
sexFilters(sex) {
if (sex == '1') {
return '女'
} else if (sex == '0') {
return '男'
}
},
autoPayFlagFilters(isAutoPay) {
if (isAutoPay == '1') {
return '否'
} else if (isAutoPay == '0') {
return '是'
}
},
nativeplaceFilters(nativeplace) {
if (nativeplace == '1') {
return '中国'
}
},
//1-----已婚2----未婚
marriageFilters(avoirdupois) {
if (avoirdupois == '1') {
return '已婚'
} else if (avoirdupois == '2') {
return '未婚'
}
},
medicalFilters(avoirdupois) {
if (avoirdupois == '1') {
return '无'
} else if (avoirdupois == '0') {
return '有'
}
},
insuredSumFilter(amt) {
if (parseInt(amt * 1).toString() === '0') {
return '--'
} else {
return amt + '元'
}
},
differentCompony(isAlwaysEffect, certiEndDate) { differentCompony(isAlwaysEffect, certiEndDate) {
if (isAlwaysEffect !== '0') { if (isAlwaysEffect !== '0') {
return '长期有效' return '长期有效'
} else { } else {
return certiEndDate return certiEndDate
} }
},
urlFormat(url) {
return (config.imgDomain + `/returnImageStream?a=b.jpg&imgPath=${url}`).replace(/\+/g, '%2B')
},
insuYearFilters(risk) {
//保险期间
if (risk.insuYear == 106 && risk.insuYearFlag == 'A') {
return '终身'
} else {
if (risk.insuYearFlag == 'Y') {
return risk.insuYear + '年' //页面展示
} else {
return '至' + risk.insuYear + '周岁'
}
}
},
payEndYearFilters(risk) {
//交费期间
if (risk.payEndYearFlag == 'Y') {
if (risk.payEndYear == '1000') {
return '一次交清'
} else {
return risk.payEndYear + '年'
}
} else {
return risk.payEndYear + '岁'
}
},
yearGetModeFilters(yearGetMode) {
//年金领取频率
if (yearGetMode == '1') {
return '月领'
} else if (yearGetMode == '12') {
return '年领'
}
},
bonusGetModeFilters(bonusGetMode) {
//年金领取频率
if (bonusGetMode == '1') {
return '累计生息'
} else if (bonusGetMode == '2') {
return '现金领取'
}
},
//投保人,被保人
homeAddressFilters(data) {
let address = getAreaName([{ code: data.homeProvince }, { code: data.homeCity }, { code: data.homeArea }]) //2家庭地址
return address + data.homeAddress
},
//受益人
homeAddressBeFilters(data) {
let homeProvince = data.province
let homeCity = data.city
let homeArea = data.area
let address = getAreaName([{ code: homeProvince }, { code: homeCity }, { code: homeArea }]) //2家庭地址
return address + data.village
} }
}, },
created() { created() {
@@ -260,12 +218,54 @@ export default {
let provinces = areaList.province_list let provinces = areaList.province_list
let cities = areaList.city_list let cities = areaList.city_list
this.areaStr = `${provinces[provinceCode]}-${cities[cityCode]}` this.areaStr = `${provinces[provinceCode]}-${cities[cityCode]}`
},
nextStep() {
if (this.approveResult == '0') {
if (!this.approveMsg) {
this.$toast('请输入审批驳回原因。')
return false
}
}
updateApprove({ allowanceNo: this.allowanceNo, approveResult: this.approveResult, approveMsg: this.approveMsg }).then((res) => {
if (res.result == '0') {
// this.$toast('审批提交成功!')
Toast({
duration: 3000, // 持续展示 toast
forbidClick: true,
message: '审批提交成功!'
})
setTimeout(() => {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/allowance/approval/List`
},
routerInfo: {
path: '/allowance/approval/List'
}
})
}, 1000)
} else {
this.$toast(res.resultMessage)
}
})
} }
} }
} }
</script> </script>
<style lang="scss">
#app .van-radio__icon--checked .van-icon {
border-color: #2e4591 !important;
background-color: #2e4591 !important;
}
</style>
<style lang="scss" scoped> <style lang="scss" scoped>
#app .van-button--danger {
background: #2e4591;
border: 1px solid #2e4591;
}
.orderDetail-container { .orderDetail-container {
.m-img { .m-img {
margin: 10px 0 0 25px; margin: 10px 0 0 25px;
@@ -275,94 +275,25 @@ export default {
display: inline-block; display: inline-block;
} }
} }
.yellow-dark {
color: #f6a624 !important;
}
$green: #4fc6b3;
/deep/.van-collapse-item__content { /deep/.van-collapse-item__content {
padding: 0; padding: 0;
} }
.left-icon {
width: 10px;
height: 20px;
border-radius: 10px;
background-color: $green;
}
.table {
border: 1px $green;
width: 100%;
thead {
background: $green;
th {
font-weight: normal !important;
}
th:first-child {
border-top-left-radius: 5px;
}
th:last-child {
border-top-right-radius: 5px;
}
}
tbody {
tr {
td {
border-right: 1px solid $green;
border-bottom: 1px solid $green;
}
td:first-child {
border-left: 1px solid $green;
}
}
}
}
//投被保人,受益人 /deep/.main-title > .van-collapse-item__title {
/deep/.main-title > .van-collapse-item__title,
.bc-f7f7f7 {
background-color: #f7f7f7; background-color: #f7f7f7;
} color: #2e4591;
.bb-dadada {
border-bottom: 1px solid #ebedf0;
}
/deep/.main-title > .van-collapse-item__title.van-cell--clickable.van-cell::before {
content: '';
width: 10px;
height: 20px;
border-radius: 10px;
background: #55c5b2;
position: absolute;
top: 50%;
transform: translateY(-50%);
}
/deep/ .van-collapse-item .van-cell.van-cell--clickable.van-collapse-item__title {
.van-cell__title {
span {
font-size: 14px;
font-weight: bold; font-weight: bold;
} }
}
}
/deep/ .main-title.van-collapse-item > .van-cell.van-collapse-item__title { /deep/.sex-radio .radio-area {
.van-cell__title { margin-left: 55px;
padding-left: 15px !important;
span {
font-size: 16px;
font-weight: bold;
} }
.normal-title { /deep/.van-cell.m-textarea .van-field__label {
font-weight: normal; width: 0;
padding-left: 60px;
} }
} /deep/.van-cell .van-cell__value--alone {
} border: 1px solid #eee;
/deep/ .van-cell:not(:last-child)::after { padding: 5px;
border-bottom: 1px solid #ebedf0 !important;
}
/deep/ [class*='van-hairline']:after {
border-top: 0 !important;
border-bottom: 1px solid #ebedf0 !important;
} }
} }
</style> </style>

View File

@@ -73,7 +73,7 @@
<script> <script>
import { Search, Tabs, Tab, List, Tag, Sticky, Toast, Dialog, Field, Checkbox, CheckboxGroup } from 'vant' import { Search, Tabs, Tab, List, Tag, Sticky, Toast, Dialog, Field, Checkbox, CheckboxGroup } from 'vant'
import { getApproveList } from '@/api/ebiz/allowance/allowance' import { getApproveList, batchPass } from '@/api/ebiz/allowance/allowance'
export default { export default {
name: 'applicationList', name: 'applicationList',
@@ -96,7 +96,7 @@ export default {
checkboxResult: [], checkboxResult: [],
searchName: '', searchName: '',
active: 'uncommit', //uncommit 表示未审批 commit表示已审批 active: 'uncommit', //uncommit 表示未审批 commit表示已审批
saleList: [], saleList: []
} }
}, },
mounted() { mounted() {
@@ -168,15 +168,13 @@ export default {
path: '/allowance/detail', path: '/allowance/detail',
query: { query: {
allowanceNo: order.allowanceNo, allowanceNo: order.allowanceNo,
type:'0' type: '0'
} }
} }
}) })
}, },
//去审批 //去审批
goApprove(order) { goApprove(order) {
localStorage.orderNo = order.orderInfoDTO.orderNo
localStorage.removeItem('changeCard')
this.$jump({ this.$jump({
flag: 'h5', flag: 'h5',
extra: { extra: {
@@ -186,7 +184,7 @@ export default {
path: '/allowance/detail', path: '/allowance/detail',
query: { query: {
allowanceNo: order.allowanceNo, allowanceNo: order.allowanceNo,
type:'1' type: '1'
} }
} }
}) })
@@ -199,16 +197,17 @@ export default {
title: '提示', title: '提示',
message: '是否全部审批通过?' message: '是否全部审批通过?'
}).then(() => { }).then(() => {
// claimApproval({claimApprovalIds:this.claimApprovalIds,approvalResult:approvalResult}).then(res => { batchPass({ allowanceNoList: this.checkboxResult }).then((res) => {
// if (res.result == '0') { if (res.result == '0') {
// that.getList() that.getOrderList()
// } else if(res.result == '2') { //当前数据正在审批中,请稍后再试--刷新数据 // } else if(res.result == '2') { //当前数据正在审批中,请稍后再试--刷新数据
// that.getOrderList() // that.getOrderList()
// this.$toast(res.resultMessage) // this.$toast(res.resultMessage)
// }else{ } else {
// this.$toast(res.resultMessage) that.getOrderList()
// } this.$toast(res.resultMessage)
// }) }
})
}) })
} }
}, },