db787da3 by 杨炀

no message

1 parent 5e2c88c5
......@@ -476,7 +476,24 @@ function getVerityMergeList(params) {
method: 'get',
params: params
})
}
}
function doMergeFlows(params) {
return request({
url: `/exam/info/submit/mergeFlows`,
method: 'post',
params: params
})
}
function getMergePaymentInfo(mergeId) {
return request({
url: '/exam/info/mergeDetail/list',
method: 'get',
params: {
mergeId: mergeId
}
})
}
export {
getMessage,
reader,
......@@ -522,5 +539,5 @@ export {
groupCommitPaymentVoucher,getFeeBillById,
personalCommit,
delPayment,editYear,addPersonPaymentGroup,
commitRenew,getVerityMergeList
commitRenew,getVerityMergeList,doMergeFlows,getMergePaymentInfo
}
\ No newline at end of file
......
......@@ -408,6 +408,15 @@
}
,{
"path" : "pages/level/mergeUpDetail",
"style" :
{
"navigationBarTitleText": "考试详情",
"enablePullDownRefresh": false
}
}
,{
"path" : "pages/group/apply/mergeUpDetail",
"style" :
{
......
......@@ -139,18 +139,18 @@
function handleAudit(item) {
uni.showModal({
title: '提示',
content: `确定提交${item.content.certName}`,
content: `确定提交${item.mergeName}`,
success: function(res) {
if (res.confirm) {
api.groupAudit({
flag: '1',
recordIds: [item.recordId],
reason: null
api.doMergeFlows({
id: item.recordId,
flag: '1',
type: queryParams.value.type
}).then(res => {
getList()
uni.showToast({
title: `操作成功!`
})
})
getList()
})
}
}
......@@ -160,7 +160,7 @@
function goDetail(item) {
const form = encodeURIComponent(JSON.stringify(item))
// 查看
let path = `/pages/level/mergeUpDetail?&form=${form}`
let path = `/pages/level/mergeUpDetail?form=${form}&type=1`
uni.navigateTo({
url: path
});
......
<template>
<view class="hasfixedbottom">
<view class="wBox">
<view class="tt">{{form.content.certName}}</view>
<view>
<view class="date" v-if="form.content.commitTime">提交日期:<text>{{ form.content.commitTime }}</text>
</view>
<view class="date">提交单位:<text>{{ form.content.memberName }}</text> </view>
</view>
<view class="vipData mt30" style="flex-wrap: wrap;">
<view class="w50">
团队会员合计:
<text>{{ form.content.allCount }}</text>
</view>
<view class="w50">
新会员合计:
<text>{{ form.content.newCount }}</text>
</view>
<view class="w50">
年限合计:
<text>{{ form.content.renewYear }}</text>
</view>
<view class="w50">
费用合计:
<text>{{ (form.content.allFee*1).toFixed(2) }}</text>
</view>
</view>
<!-- 成员 -->
<view class="userlist">
<view class="item" v-for="n in list">
<view style="width: 100%">
<view class="name">{{n.memberName}}</view>
<view class="date">单位类型:
<text v-if="n.deptType==2">一级协会</text>
<text v-if="n.deptType==3">直属协会</text>
<text v-if="n.deptType==4">二级协会</text>
<text v-if="n.deptType==5">三级协会</text>
<text v-if="n.deptType==6">职业性团体会员</text>
</view>
<view class="flexbox">
<view>
单价
<text>¥{{n.unitPrice}}</text>
</view>
<view>
年限
<text>{{n.renewYear}}</text>
</view>
<view>
总价
<text>¥{{n.allFee}}</text>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="h3-padding">审核记录</view>
<view class="wBox">
<view class="stepItem" v-for="(n,index) in auditList">
<view class="time">{{n.handleDate||'待审批'}}</view>
<view class="content">
<view class="status">
<text v-if="n.auditStatus==1" class="text-success">审核通过</text>
<text v-if="n.auditStatus==2" class="text-danger"> 审核拒绝</text>
<text v-if="n.auditStatus==0" class="text-primary"> 审核中</text>
<text v-if="n.auditStatus==3" class="text-warning">已撤回</text>
<text v-if="n.auditStatus==100" class="text-primary">审核中</text>
</view>
<!-- <view class="name">{{index+1}}</view> -->
<view class="deptName">{{n.handlerDeptName}}</view>
<view v-if="n.reason">
备注:{{n.reason||'/' }}
</view>
</view>
</view>
<view>
<view class="wBox">
<view class="tt">基本信息</view>
<view class="ddd">
<text class="lab">结算编号:</text>{{ form.flowCode }}
</view>
<view class="ddd">
<text class="lab">{{ type=='1'?'考级名称':'考段名称' }}</text>{{form.mergeName}}
</view>
<view class="ddd">
<text class="lab">申请单位:</text>{{ form.memName }}
</view>
<view class="ddd" v-if="form.mergeTime">
<text class="lab">申请日期:</text>{{form.mergeTime?.slice(0,10)}}
</view>
<view class="ddd">
<text class="lab">{{ type=='1'?'考级人数':'考段人数' }}</text>{{form.totalNum}}
</view>
<view class="ddd">
<text class="lab">总金额:</text>{{ (form.totalAmount*1).toFixed(2) }}
</view>
</view>
<view class="wBox">
<view class="tt">
考试信息
</view>
<view class="userlist">
<view class="item" v-for="n in infoList" @click="goDetail(n)" style="background-color: #fffafa;">
<view class="w100">
<view class="name">{{n.name}}</view>
<!-- <view class="date">{{n.idcTypeStr}}{{n.idcCode}}</view> -->
<view class="flexbox">
<view>
上报单位
<text>{{n.memberName}}</text>
</view>
<view>
{{type=='1'?'考级考生数':'考段考生数'}}
<text>
{{n.totalNum}}
</text>
</view>
<view v-if="app.globalData.showPrice">
金额
<text>
{{ (n.examFee * 1).toFixed(2) }}
</text>
</view>
<view>
金额
<text class="text-danger">¥{{ (n.totalAmount*1).toFixed(2) }}</text>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="fixedBottom" v-if="(deptType == 1)&&form.ztxRes == 0">
<button class="btn-red-kx" @click="audit(form.id,'2')">拒绝</button>
<button class="btn-red" @click="audit(form.id,'1')">同意</button>
</view>
<view class="fixedBottom" v-if="(deptType == 2 || deptType == 3)&&form.shenRes == 0">
<button class="btn-red-kx" @click="audit(form.id,'2')">拒绝</button>
<button class="btn-red" @click="audit(form.id,'1')">同意</button>
</view>
</view>
</template>
<script setup>
import * as api from '@/common/api.js'
import config from '@/config.js'
import config from '@/config.js'
import _ from 'lodash'
import {
onMounted,
ref
......@@ -110,22 +79,15 @@
const form = ref({})
const list = ref([])
const listArr = ref([])
const id = ref()
const auditList = ref([])
const feelList = ref([])
const total = ref(0)
const totalYear = ref(0)
const deptType = ref()
const infoList = ref([])
const deptType = ref()
const type = ref(null)
let rangeId = ''
onLoad((option) => {
if ('form' in option) {
form.value = JSON.parse(decodeURIComponent(option.form))
}
list.value = form.content?.certifiedSimpleList || []
listArr.value = form.content?.certifiedSimpleList || []
queryParams.value.recordId = form.value.recordId
}
type.value = option.type
console.log(form.value)
if (app.globalData.isLogin) {
init()
......@@ -147,141 +109,48 @@
uni.showLoading({
title: '加载中'
})
api.getDetailList(queryParams.value).then(res => {
uni.hideLoading()
list.value = res.rows
list.value[0].rangeId == 0 ? id.value = list.value[0].certId : id.value = list.value[0].rangeId
if (id.value) {
auditFN()
}
})
}
api.getMergePaymentInfo(form.value.recordId).then(res => {
_.each(res.data, (r) => {
const item = JSON.parse(r.content)
item.recordId = r.recordId
infoList.value.push(item)
})
form.value.totalNum = Math.floor(_.sumBy(infoList.value, (o) => parseFloat(o.totalNum || 0)))
form.value.totalAmount = Math.floor(_.sumBy(infoList.value, (o) => parseFloat(o.totalAmount || 0)))
function auditFN() {
api.getGroupHistoryByRelateId(id.value).then(res => {
auditList.value = res.data
})
}
function audit(rangeId, flag) {
if (flag == '2') {
// 拒绝
// 弹出框填写理由
uni.showModal({
title: '请输入拒绝理由',
editable: true,
success: function(res) {
if (res.confirm) {
if (!res.content) {
uni.showToast({
title: '请输入拒绝理由',
icon: 'none'
})
} else {
doApproval(rangeId, flag, res.content)
}
}
}
})
} else if (flag == '1') {
// 二次确认
uni.showModal({
title: '提示',
content: `确定审批通过吗`,
success: function(res) {
if (res.confirm) {
doApproval(rangeId, flag)
}
}
})
}
}
function doApproval(rangeId, flag, reason) {
var obj = {
flag: flag,
reason: reason || '',
rangeIds: rangeIds
}
console.log(obj)
api.mobilizeAudit(obj).then((res) => {
uni.showToast({
title: '操作成功',
icon: 'none'
})
uni.navigateBack()
uni.hideLoading()
})
}
function goDetail(item){
// examId
let path = `/pages/level/applyDetail?examId=${item.examId}`
uni.navigateTo({
url: path
});
}
</script>
<style scoped lang="scss">
.date {
margin-top: 10rpx;
font-size: 26rpx;
color: #999;
}
.wBox {
width: 700rpx;
padding: 30rpx;
margin: 20rpx auto 0;
background: #FFFFFF;
box-shadow: 0rpx 12rpx 116rpx 0rpx rgba(196, 203, 214, 0.1);
border-radius: 15rpx;
.tt {
color: #0A1629;
font-size: 30rpx;
}
}
.userlist {
.item {
border-bottom: 1px dashed #e5e5e5;
position: relative;
.date {
margin-top: 10rpx;
}
.name {
text {
margin-left: 1em;
color: #4C5359;
font-size: 26rpx;
}
}
.nian {
position: absolute;
right: 0;
font-size: 30rpx;
color: #AD181F;
}
}
}
.info {
display: flex;
margin: 30rpx 0 20rpx;
font-size: 28rpx;
view {
color: #7D8592;
margin-right: 20rpx;
}
}
.fixedBottom {
justify-content: center;
button {
margin: 0 20rpx;
width: 286rpx;
}
.btn-red {
width: 286rpx;
}
}
.wBox {
width: 700rpx;
padding: 30rpx;
margin: 20rpx auto;
background: #FFFFFF;
box-shadow: 0rpx 12rpx 116rpx 0rpx rgba(196, 203, 214, 0.1);
border-radius: 15rpx;
.tt {
color: #0A1629;margin: 0 0 30rpx;
font-size: 30rpx;
}
.ddd{font-size: 28rpx;color: #333;
.lab{color: #999;display: inline-block;text-align: justify;
text{word-break: break-all;}
}
}
}
</style>
\ No newline at end of file
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!