45081927 by 杨炀

+ loading

1 parent 6becca11
......@@ -149,8 +149,12 @@
reason: reason || '',
rangeIds: rangeIds
}
console.log(obj)
api.mobilizeAudit(obj).then((res) => {
console.log(obj)
uni.showLoading({
title: '加载中'
})
api.mobilizeAudit(obj).then((res) => {
uni.hideLoading()
uni.showToast({
title: '操作成功',
icon: 'none'
......
......@@ -157,7 +157,8 @@
function getList() {
uni.showLoading({
title: '加载中'
title: '加载中',
mask: true
})
if (deptType.value == 2 || deptType.value == 3) {
// 省
......@@ -223,8 +224,13 @@
recordIds: []
}
obj.recordIds.push(recordId)
console.log(obj)
api.groupAudit(obj).then((res) => {
console.log(obj)
uni.showLoading({
title: '加载中',
mask: true
})
api.groupAudit(obj).then((res) => {
uni.hideLoading()
uni.showToast({
title: '操作成功',
icon: 'none'
......
......@@ -93,15 +93,17 @@
})
function init() {
uni.showLoading({
title: '加载中'
})
deptType.value = app.globalData.deptType
getList()
}
function getList() {
function getList() {
uni.showLoading({
title: '加载中',
mask: true
})
api.getGroupList(queryParams.value).then(response => {
infoList.value = response.rows
infoList.value.forEach(item => {
......
<template>
<view>
<view class="text-center whitebg">
<view class="cardNav">
<view @click="goApply">审核</view>
<view @click="goMerge">合并</view>
<view class="active">提交</view>
</view>
</view>
<!-- 团队会员审核 -->
<uni-segmented-control class="whitebg" :current="current" :values="navs" @clickItem="onClickItem"
styleType="text" activeColor="#AD181F"></uni-segmented-control>
<view class="appList">
<view class="appItem" v-for="(item,index) in list" :key="index">
<view class="status" @click="goDetail(item)">
<text v-if="item.status == 0" class="text-primary">审核中</text>
<text v-if="item.status == 1" class="text-success">审核通过</text>
<text v-if="item.status == 2" class="text-danger">审核拒绝</text>
<text v-if="item.status == 3" class="text-warning">审核撤回</text>
</view>
<view class="date">提交日期:{{item.content.commitTime}}</view>
<view class="date" v-if="item.content.validityTime">原有效期:{{item.content.validityTime?.slice(0,10)}}</view>
<view class="text-primary" v-if="item.content?.wfCode">{{item.content?.wfCode}}</view>
<view class="name mt0" style="width: 100%;" @click="goDetail(item)">{{item.content?.certName}}</view>
<view class="flexbox" @click="goDetail(item)">
<view>
年限
<view>{{item.content.renewYear}}</view>
</view>
<view>
会员/新会员
<view>{{item.content.allCount}}/<text class="text-danger">{{item.content.newCount}}</text></view>
</view>
<view>
费用合计
<view> {{ (item?.content?.allFee*1).toFixed(2) }}</view>
</view>
</view>
<view class="func" v-if="item.auditStatus == 100">
<button @click="handleAudit(item)">提交</button>
<button v-if="item.lastIds?.slice(0, 1) != '-'" @click="resolution(item)">取消合并</button>
</view>
<view class="func" v-if="item.auditStatus == 1 && item.isView == 1">
<button @click="sendBack(item)">撤回</button>
</view>
</view>
</view>
<view class="nodata" v-if="list.length==0">
<image mode="aspectFit" src="/static/nodata.png"></image>
<text>暂无数据</text>
</view>
</view>
<view>
<view class="text-center whitebg">
<view class="cardNav">
<view @click="goApply">审核</view>
<view @click="goMerge">合并</view>
<view class="active">提交</view>
</view>
</view>
<!-- 团队会员审核 -->
<uni-segmented-control class="whitebg" :current="current" :values="navs" @clickItem="onClickItem"
styleType="text" activeColor="#AD181F"></uni-segmented-control>
<view class="appList">
<view class="appItem" v-for="(item,index) in list" :key="index">
<view class="status" @click="goDetail(item)">
<text v-if="item.status == 0" class="text-primary">审核中</text>
<text v-if="item.status == 1" class="text-success">审核通过</text>
<text v-if="item.status == 2" class="text-danger">审核拒绝</text>
<text v-if="item.status == 3" class="text-warning">审核撤回</text>
</view>
<view class="date">提交日期:{{item.content.commitTime}}</view>
<view class="date" v-if="item.content.validityTime">原有效期:{{item.content.validityTime?.slice(0,10)}}
</view>
<view class="text-primary" v-if="item.content?.wfCode">{{item.content?.wfCode}}</view>
<view class="name mt0" style="width: 100%;" @click="goDetail(item)">{{item.content?.certName}}</view>
<view class="flexbox" @click="goDetail(item)">
<view>
年限
<view>{{item.content.renewYear}}</view>
</view>
<view>
会员/新会员
<view>{{item.content.allCount}}/<text class="text-danger">{{item.content.newCount}}</text>
</view>
</view>
<view>
费用合计
<view> {{ (item?.content?.allFee*1).toFixed(2) }}</view>
</view>
</view>
<view class="func" v-if="item.auditStatus == 100">
<button @click="handleAudit(item)">提交</button>
<button v-if="item.lastIds?.slice(0, 1) != '-'" @click="resolution(item)">取消合并</button>
</view>
<view class="func" v-if="item.auditStatus == 1 && item.isView == 1">
<button @click="sendBack(item)">撤回</button>
</view>
</view>
</view>
<view class="nodata" v-if="list.length==0">
<image mode="aspectFit" src="/static/nodata.png"></image>
<text>暂无数据</text>
</view>
</view>
</template>
<script setup>
import * as api from '@/common/api.js'
import config from '@/config.js'
import {
onMounted,
ref
} from 'vue'
import {
onLoad
} from '@dcloudio/uni-app'
const app = getApp();
const queryParams = ref({
// pageNum: 1,
// pageSize: 10
mergeFlag: 100,
statusFlag: '101'
})
const navs = ref(['待提交','审核中', '审核通过', '审核拒绝', '已撤回'])
const current = ref()
const list = ref([])
const total = ref(0)
const deptType = ref('')
const userType = ref('')
onLoad(() => {
if (app.globalData.isLogin) {
init()
} else {
app.firstLoadCallback = () => {
init()
};
}
})
function init() {
deptType.value = app.globalData.deptType
userType.value = app.globalData.userType
// console.log(userType.value)
getList()
}
function onClickItem(e) {
console.log(e)
switch(e.currentIndex){
case 0:
queryParams.value.statusFlag = 101
break;
case 1:
queryParams.value.statusFlag = 102
break;
case 2:
queryParams.value.statusFlag = 103
break;
case 3:
queryParams.value.statusFlag = 104
break;
case 4:
queryParams.value.statusFlag = 105
break;
}
getList()
}
function getList() {
uni.showLoading({
title:'加载中'
})
if (queryParams.value.statusFlag == '') {
queryParams.value.mergeFlag = 100
queryParams.value.status = null
}
if (queryParams.value.statusFlag == 101) {
queryParams.value.mergeFlag = 101
queryParams.value.status = null
}
if (queryParams.value.statusFlag == 102) {
queryParams.value.mergeFlag = 1
queryParams.value.status = 0
}
if (queryParams.value.statusFlag == 103) {
queryParams.value.mergeFlag = 1
queryParams.value.status = 1
}
if (queryParams.value.statusFlag == 104) {
queryParams.value.mergeFlag = 1
queryParams.value.status = 2
}
if (queryParams.value.statusFlag == 105) {
queryParams.value.mergeFlag = 100
queryParams.value.status = 3
}
api.getGroupList(queryParams.value).then(res => {
uni.hideLoading()
list.value = res.rows
list.value.forEach(item => {
item.con = item.content
item.content = JSON.parse(item.content)
})
total.value = res.total
})
}
function handleAudit(item){
uni.showModal({
title: '提示',
content: `确定提交${item.content.certName}吗`,
success: function(res) {
if (res.confirm) {
api.groupAudit({
flag: '1',
recordIds: [item.recordId],
reason: null
}).then(res=>{
getList()
uni.showToast({
title:`操作成功!`
})
})
}
}
})
}
function goDetail(item) {
const form = encodeURIComponent(JSON.stringify(item))
// 查看
let path = `/group/apply/mergeUpDetail?&form=${form}`
uni.navigateTo({
url: path
});
}
function goMerge(){
let path = `/group/apply/merge`
uni.redirectTo({
url: path
});
}
function goApply(){
let path = `/group/apply/applyList`
uni.redirectTo({
url: path
});
}
function sendBack(row){
uni.showModal({
title: '提示',
content: `确定撤回${row.content.certName}吗`,
success: function(res) {
if (res.confirm) {
api.certifiedwithDraw({
recordId: row.recordId,
reason: row.reason
}).then(res => {
uni.showToast({
title: '操作成功',
icon: 'none'
})
getList()
})
}
}
})
}
function resolution(row){
uni.showModal({
title: '提示',
content: `确定拆分${row.content.certName}吗`,
success: function(res) {
if (res.confirm) {
api.certifiedunMerge(row.recordId).then(res => {
uni.showToast({
title: '已拆分',
icon: 'none'
})
getList()
})
}
}
})
}
import * as api from '@/common/api.js'
import config from '@/config.js'
import {
onMounted,
ref
} from 'vue'
import {
onLoad
} from '@dcloudio/uni-app'
const app = getApp();
const queryParams = ref({
// pageNum: 1,
// pageSize: 10
mergeFlag: 100,
statusFlag: '101'
})
const navs = ref(['待提交', '审核中', '审核通过', '审核拒绝', '已撤回'])
const current = ref()
const list = ref([])
const total = ref(0)
const deptType = ref('')
const userType = ref('')
onLoad(() => {
if (app.globalData.isLogin) {
init()
} else {
app.firstLoadCallback = () => {
init()
};
}
})
function init() {
deptType.value = app.globalData.deptType
userType.value = app.globalData.userType
// console.log(userType.value)
getList()
}
function onClickItem(e) {
console.log(e)
switch (e.currentIndex) {
case 0:
queryParams.value.statusFlag = 101
break;
case 1:
queryParams.value.statusFlag = 102
break;
case 2:
queryParams.value.statusFlag = 103
break;
case 3:
queryParams.value.statusFlag = 104
break;
case 4:
queryParams.value.statusFlag = 105
break;
}
getList()
}
function getList() {
uni.showLoading({
title: '加载中',
mask: true
})
if (queryParams.value.statusFlag == '') {
queryParams.value.mergeFlag = 100
queryParams.value.status = null
}
if (queryParams.value.statusFlag == 101) {
queryParams.value.mergeFlag = 101
queryParams.value.status = null
}
if (queryParams.value.statusFlag == 102) {
queryParams.value.mergeFlag = 1
queryParams.value.status = 0
}
if (queryParams.value.statusFlag == 103) {
queryParams.value.mergeFlag = 1
queryParams.value.status = 1
}
if (queryParams.value.statusFlag == 104) {
queryParams.value.mergeFlag = 1
queryParams.value.status = 2
}
if (queryParams.value.statusFlag == 105) {
queryParams.value.mergeFlag = 100
queryParams.value.status = 3
}
api.getGroupList(queryParams.value).then(res => {
uni.hideLoading()
list.value = res.rows
list.value.forEach(item => {
item.con = item.content
item.content = JSON.parse(item.content)
})
total.value = res.total
})
}
function handleAudit(item) {
uni.showModal({
title: '提示',
content: `确定提交${item.content.certName}吗`,
success: function(res) {
if (res.confirm) {
api.groupAudit({
flag: '1',
recordIds: [item.recordId],
reason: null
}).then(res => {
getList()
uni.showToast({
title: `操作成功!`
})
})
}
}
})
}
function goDetail(item) {
const form = encodeURIComponent(JSON.stringify(item))
// 查看
let path = `/group/apply/mergeUpDetail?&form=${form}`
uni.navigateTo({
url: path
});
}
function goMerge() {
let path = `/group/apply/merge`
uni.redirectTo({
url: path
});
}
function goApply() {
let path = `/group/apply/applyList`
uni.redirectTo({
url: path
});
}
function sendBack(row) {
uni.showModal({
title: '提示',
content: `确定撤回${row.content.certName}吗`,
success: function(res) {
if (res.confirm) {
api.certifiedwithDraw({
recordId: row.recordId,
reason: row.reason
}).then(res => {
uni.showToast({
title: '操作成功',
icon: 'none'
})
getList()
})
}
}
})
}
function resolution(row) {
uni.showModal({
title: '提示',
content: `确定拆分${row.content.certName}吗`,
success: function(res) {
if (res.confirm) {
api.certifiedunMerge(row.recordId).then(res => {
uni.showToast({
title: '已拆分',
icon: 'none'
})
getList()
})
}
}
})
}
</script>
<style scoped>
.mt0{margin-top: 0!important;}
.appList .appItem .name{width: 80%;word-break: break-all;}
.mt0 {
margin-top: 0 !important;
}
.appList .appItem .name {
width: 80%;
word-break: break-all;
}
</style>
\ No newline at end of file
......
......@@ -217,8 +217,12 @@
reason: reason || '',
rangeIds: rangeIds
}
console.log(obj)
api.mobilizeAudit(obj).then((res) => {
console.log(obj)
uni.showLoading({
title: '加载中'
})
api.mobilizeAudit(obj).then((res) => {
uni.hideLoading()
uni.showToast({
title: '操作成功',
icon: 'none'
......
......@@ -152,8 +152,12 @@
reason: reason || '',
ids: [id]
}
console.log(obj)
api.groupChangeAudit(obj).then((res) => {
console.log(obj)
uni.showLoading({
title: '加载中'
})
api.groupChangeAudit(obj).then((res) => {
uni.hideLoading()
uni.showToast({
title: '操作成功',
icon: 'none'
......
<template>
<view class="hasfixedbottom">
<view class="searchbar">
<uni-easyinput placeholderStyle="font-size:30rpx" :input-border="false" prefixIcon="search"
v-model="query.name" placeholder="搜索团体会员名称" @blur="getSonList" @clear="getSonList">
</uni-easyinput>
<view class="invertedbtn-red" @click="getSonList">搜索</view>
</view>
<view class="userlist">
<view class="item" v-for=" (n,index) in studentList" :key="index">
<view @click="checkThis(n)">
<image class="icon" v-if="n.checked"
:src="config.baseUrl_api+'/fs/static/member/dx_dwn.png'" />
<image class="icon" v-else :src="config.baseUrl_api+'/fs/static/member/dx.png'" />
</view>
<view class="w100">
<view class="name">{{n.name}} <text v-if="n.memCode">({{n.memCode}})</text></view>
<view class="flexbox" style="padding: 0">
<view class="date">到期时间
<text v-if="n.validityDate">{{n.validityDate?.slice(0,10)}}</text>
<text v-else>--</text>
</view>
<view class="date w50">团体类型
<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>
</view>
</view>
<view class="nodata" v-if="studentList.length==0">
<image mode="aspectFit" src="/static/nodata.png"></image>
<text>无可变更会员</text>
</view>
</view>
<uni-load-more @clickLoadMore="clickLoadMore" :contentText="contentText" :status="status"></uni-load-more>
<view class="fixedBottom" v-if="studentList.length!=0">
<button class="btn-red" @click="handleImport">批量添加</button>
</view>
</view>
<view class="hasfixedbottom">
<view class="searchbar">
<uni-easyinput placeholderStyle="font-size:30rpx" :input-border="false" prefixIcon="search"
v-model="query.name" placeholder="搜索团体会员名称" @blur="getSonList" @clear="getSonList">
</uni-easyinput>
<view class="invertedbtn-red" @click="getSonList">搜索</view>
</view>
<view class="userlist">
<view class="item" v-for=" (n,index) in studentList" :key="index">
<view @click="checkThis(n)">
<image class="icon" v-if="n.checked" :src="config.baseUrl_api+'/fs/static/member/dx_dwn.png'" />
<image class="icon" v-else :src="config.baseUrl_api+'/fs/static/member/dx.png'" />
</view>
<view class="w100">
<view class="name">{{n.name}} <text v-if="n.memCode">({{n.memCode}})</text></view>
<view class="flexbox" style="padding: 0">
<view class="date">到期时间
<text v-if="n.validityDate">{{n.validityDate?.slice(0,10)}}</text>
<text v-else>--</text>
</view>
<view class="date w50">团体类型
<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>
</view>
</view>
<view class="nodata" v-if="studentList.length==0">
<image mode="aspectFit" src="/static/nodata.png"></image>
<text>无可变更会员</text>
</view>
</view>
<uni-load-more @clickLoadMore="clickLoadMore" :contentText="contentText" :status="status"></uni-load-more>
<view class="fixedBottom" v-if="studentList.length!=0">
<button class="btn-red" @click="handleImport">批量添加</button>
</view>
</view>
</template>
<script setup>
import {
ref
} from 'vue'
import {
onLoad,
onShow
} from '@dcloudio/uni-app'
import * as api from '@/common/api.js'
import _ from 'lodash'
import config from '/config.js'
const query = ref({
pageNum:1,
pageSize:10,
paymentRangeId:-1,
})
const total = ref(0)
const list = ref([])
const studentList = ref([])
const type = ref('')
const form = ref({})
const status = ref('no-more')
const contentText = ref({contentdown: "点击加载更多",contentrefresh: "正在加载...",contentnomore: "没有更多数据了"})
onLoad((option) => {
if (option.rangeId) {
query.value.paymentRangeId = option.rangeId
}
getList()
})
onShow(() => {})
function clickLoadMore(){
getList()
}
function getList() {
if(total.value>0&&total.value>studentList.value.length){
uni.showLoading({
title: '加载中',
icon: 'none'
})
status.value = 'loading'
query.value.pageNum += 1
api.getMySonList(query.value).then(res => {
studentList.value = _.concat(studentList.value,res.data.rows)
total.value = res.data.total
if(total.value>studentList.value.length){
status.value = 'more'
} else {
status.value = 'no-more'
}
uni.hideLoading()
})
}else if(total.value==0){
getSonList()
import {
ref
} from 'vue'
import {
onLoad,
onShow
} from '@dcloudio/uni-app'
import * as api from '@/common/api.js'
import _ from 'lodash'
import config from '/config.js'
const query = ref({
pageNum: 1,
pageSize: 10,
paymentRangeId: -1,
})
const total = ref(0)
const list = ref([])
const studentList = ref([])
const type = ref('')
const form = ref({})
const status = ref('no-more')
const contentText = ref({
contentdown: "点击加载更多",
contentrefresh: "正在加载...",
contentnomore: "没有更多数据了"
})
onLoad((option) => {
if (option.rangeId) {
query.value.paymentRangeId = option.rangeId
}
getList()
})
onShow(() => {})
function clickLoadMore() {
getList()
}
}
function getSonList(){
query.value.pageNum = 1
api.getMySonList(query.value).then(res => {
studentList.value = res.data.rows
total.value = res.data.total
if(total.value>studentList.value.length){
status.value = 'more'
} else {
status.value = 'no-more'
}
})
}
function checkThis(n) {
if (n.checked) {
n.checked = false
} else {
n.checked = true
}
}
function handleImport() {
var arr = []
for (var n of studentList.value) {
if (n.checked) {
arr.push(n.memId)
}
}
api.addGroupInfoModeToRange({
memId: arr,
rangeIdStr: query.value.paymentRangeId
}).then(res => {
var pages = getCurrentPages()
var prevPage = pages[pages.length - 2]
prevPage.onShow(res.data)
uni.navigateBack()
})
}
function getList() {
if (total.value > 0 && total.value > studentList.value.length) {
uni.showLoading({
title: '加载中',
mask: true
})
status.value = 'loading'
query.value.pageNum += 1
api.getMySonList(query.value).then(res => {
studentList.value = _.concat(studentList.value, res.data.rows)
total.value = res.data.total
if (total.value > studentList.value.length) {
status.value = 'more'
} else {
status.value = 'no-more'
}
uni.hideLoading()
})
} else if (total.value == 0) {
getSonList()
}
}
function getSonList() {
query.value.pageNum = 1
api.getMySonList(query.value).then(res => {
studentList.value = res.data.rows
total.value = res.data.total
if (total.value > studentList.value.length) {
status.value = 'more'
} else {
status.value = 'no-more'
}
})
}
function checkThis(n) {
if (n.checked) {
n.checked = false
} else {
n.checked = true
}
}
function handleImport() {
var arr = []
for (var n of studentList.value) {
if (n.checked) {
arr.push(n.memId)
}
}
api.addGroupInfoModeToRange({
memId: arr,
rangeIdStr: query.value.paymentRangeId
}).then(res => {
var pages = getCurrentPages()
var prevPage = pages[pages.length - 2]
prevPage.onShow(res.data)
uni.navigateBack()
})
}
</script>
<style scoped lang="scss">
.searchbar {
display: flex;
align-items: center;
padding:25rpx;
box-sizing: border-box;
:deep(.uni-easyinput .uni-easyinput__content) {
border-radius: 35rpx;
height: 66rpx; border: 1px solid #AD181F!important;
}
:deep(.uni-easyinput__content-input) {
font-size: 26rpx;
}
.invertedbtn-red {
border-radius: 50px; margin-left: 20rpx;
background-color: #fff;
font-size: 30rpx;
padding: 10rpx 20rpx;
}
}
.userlist {padding: 0 25rpx;}
<style scoped lang="scss">
.searchbar {
display: flex;
align-items: center;
padding: 25rpx;
box-sizing: border-box;
:deep(.uni-easyinput .uni-easyinput__content) {
border-radius: 35rpx;
height: 66rpx;
border: 1px solid #AD181F !important;
}
:deep(.uni-easyinput__content-input) {
font-size: 26rpx;
}
.invertedbtn-red {
border-radius: 50px;
margin-left: 20rpx;
background-color: #fff;
font-size: 30rpx;
padding: 10rpx 20rpx;
}
}
.userlist {
padding: 0 25rpx;
}
.flexbox {
padding: 30rpx 30rpx 0
}
......@@ -202,6 +212,9 @@ function handleImport() {
.text-center .btn-red-kx {
border-radius: 50px;
font-size: 28rpx;
}
:deep(.file-picker__progress){opacity: 0;}
}
:deep(.file-picker__progress) {
opacity: 0;
}
</style>
\ No newline at end of file
......
......@@ -90,7 +90,8 @@
function init() {
uni.showLoading({
title: '加载中'
title: '加载中',
mask: true
})
deptType.value = app.globalData.deptType
userType.value = app.globalData.userType
......
......@@ -98,9 +98,6 @@
})
function init() {
uni.showLoading({
title: '加载中'
})
deptType.value = app.globalData.deptType
userType.value = app.globalData.userType
getList()
......@@ -108,6 +105,10 @@
function getList() {
uni.showLoading({
title: '加载中',
mask: true
})
api.getVerityList(queryParams.value).then(res => {
uni.hideLoading()
const list = []
......@@ -131,9 +132,6 @@
function onClickItem(e) {
console.log(e)
uni.showLoading({
title: '加载中'
})
queryParams.value.status = e.currentIndex
getList()
}
......
......@@ -111,7 +111,8 @@
function getList() {
uni.showLoading({
title: '加载中'
title: '加载中',
mask: true
})
totalCost.value = 0
api.getVerityMergeList(queryParams.value).then(response => {
......@@ -138,9 +139,6 @@
function onClickItem(e) {
console.log(e)
uni.showLoading({
title: '加载中'
})
queryParams.value.status = e.currentIndex
getList()
}
......@@ -198,7 +196,11 @@
function doApproval(obj) {
console.log(obj)
uni.showLoading({
title: '加载中'
})
api.doMergeFlows(obj).then((res) => {
uni.hideLoading()
uni.showToast({
title: '操作成功',
icon: 'none'
......
......@@ -95,22 +95,20 @@
})
function init() {
uni.showLoading({
title: '加载中'
})
deptType.value = app.globalData.deptType
getList()
}
function onClickItem(e) {
uni.showLoading({
title: '加载中'
})
queryParams.value.status = e.currentIndex
getList()
}
function getList() {
function getList() {
uni.showLoading({
title: '加载中',
mask: true
})
examApi.getRankScoreList(queryParams.value).then(res => {
infoList.value = res.rows
......@@ -162,8 +160,12 @@
}
}
function doApproval(obj) {
examApi.doMergeFlows(obj).then((res) => {
function doApproval(obj) {
uni.showLoading({
title: '加载中'
})
examApi.doMergeFlows(obj).then((res) => {
uni.hideLoading()
uni.showToast({
title: '操作成功',
icon: 'none'
......
......@@ -81,22 +81,20 @@ onShow(() => {
})
function init(){
uni.showLoading({
title: '加载中'
})
deptType.value = app.globalData.deptType
getList()
}
function onClickItem(e) {
uni.showLoading({
title: '加载中'
})
queryParams.value.status = e.currentIndex
getList()
}
function getList() {
uni.showLoading({
title: '加载中',
mask: true
})
examApi.getVerityList(queryParams.value).then(res => {
uni.hideLoading()
const list = []
......@@ -165,7 +163,11 @@ function audit(item, flag) {
}
function doApproval(obj) {
uni.showLoading({
title: '加载中'
})
examApi.doMergeFlows(obj).then((res) => {
uni.hideLoading()
uni.showToast({
title: '操作成功',
icon: 'none'
......
......@@ -77,22 +77,20 @@ onShow(() => {
})
function init(){
uni.showLoading({
title: '加载中'
})
deptType.value = app.globalData.deptType
getList()
}
function onClickItem(e) {
uni.showLoading({
title: '加载中'
})
queryParams.value.certStatus = e.currentIndex
getList()
}
function getList() {
uni.showLoading({
title: '加载中',
mask: true
})
examApi.certsLList(queryParams.value).then(res => {
uni.hideLoading()
infoList.value = res.rows
......
......@@ -185,8 +185,13 @@
}
}
function doApproval(obj) {
examApi.doMergeFlows(obj).then((res) => {
function doApproval(obj) {
uni.showLoading({
title: '加载中',
mask: true
})
examApi.doMergeFlows(obj).then((res) => {
uni.hideLoading()
uni.showToast({
title: '操作成功',
icon: 'none'
......
<template>
<view>
<view class="text-center whitebg" v-if="userType=='2'">
<view class="cardNav" v-if="userType=='2'">
<view class="active">审核</view>
<view @click="goMerge">合并</view>
<view @click="goMergeUp">提交</view>
</view>
</view>
<uni-segmented-control class="whitebg" :current="current" :values="navs" @clickItem="onClickItem"
styleType="text" activeColor="#AD181F"></uni-segmented-control>
<!-- 缴费审核 -->
<view v-if="total>0" class="vipData" style="flex-wrap: wrap;">
<view class="w50">人数合计 <text>{{ statistical.personCount }}</text></view>
<view class="w50">新会员合计 <text>{{ statistical.newPersonCount }}</text></view>
<view class="w50">续费合计 <text>{{ statistical.oldPersonCount }}</text></view>
<view class="w50">年限合计 <text>{{ statistical.totalYear }}</text></view>
</view>
<view class="appList">
<view class="appItem" v-for="(item,index) in list" :key="index">
<view class="status" @click="goDetail(item)">
<text v-if="item.auditStatus==0" class="text-primary">审核中</text>
<text v-if="item.auditStatus==1" class="text-success"> 审核通过</text>
<text v-if="item.auditStatus==2" class="text-danger"> 审核拒绝</text>
<text v-if="item.auditStatus==3" class="text-warning">已撤回</text>
</view>
<view class="date" @click="goDetail(item)">
<uni-icons type="calendar-filled" size="16" color="#AD181F"></uni-icons>
{{item.content.commitTime}} 提交
</view>
<view class="text-primary" v-if="item.content?.wfCode" @click="goDetail(item)">{{item.content?.wfCode}}</view>
<view class="name" @click="goDetail(item)">{{item.content.name}}</view>
<view class="flexbox" @click="goDetail(item)">
<view>
人数合计
<view>{{item.content.personCount}}</view>
</view>
<view>
年限合计
<view>{{item.content.totalYear}}</view>
</view>
<view>
提交单位
<view>{{item.content.memberName}}</view>
</view>
</view>
<view class="func" v-if="item.auditStatus==0">
<button @click="audit(item.recordId,'0')">拒绝</button>
<button @click="audit(item.recordId,'1')">同意</button>
</view>
<view class="func" v-if="item.auditStatus==1 && item.isView == 1">
<button @click="handleDelete(item)">撤回</button>
</view>
</view>
</view>
<view class="nodata" v-if="list.length==0">
<image mode="aspectFit" src="/static/nodata.png"></image>
<text>暂无数据</text>
</view>
<!-- <view v-if="userType=='2'" class="block-btn-box">
<button @click="goMerge" class="btn-red-kx">前往合并 > </button>
</view> -->
</view>
</template>
<script setup>
import * as api from '@/common/api.js'
import config from '@/config.js'
import {
onMounted,
ref
} from 'vue'
import {
onShow
} from '@dcloudio/uni-app'
const app = getApp();
const queryParams = ref({
// pageNum: 1,
// pageSize: 10
auditStatus: '0'
})
const navs = ref(['待审核', '审核通过', '审核拒绝', '撤回'])
const current = ref(0)
const list = ref([])
const statistical = ref({})
const total = ref(0)
const deptType = ref('')
const userType = ref('')
onShow(() => {
if (app.globalData.isLogin) {
init()
} else {
app.firstLoadCallback = () => {
init()
};
}
})
function init() {
userType.value = app.globalData.userType
deptType.value = app.globalData.deptType
getList()
}
function onClickItem(e) {
console.log(e)
queryParams.value.auditStatus = e.currentIndex
getList()
}
function getList() {
uni.showLoading({
title: `加载中`
})
statistical.value = {
personCount: 0,
newPersonCount: 0,
oldPersonCount: 0,
totalYear: 0
}
if (deptType.value == 2 || deptType.value == 3) {
queryParams.value.mergeFlag = 0
}
api.getVerifyList(queryParams.value).then(res => {
list.value = res.rows
list.value.forEach(item => {
item.content = JSON.parse(item.content)
statistical.value.personCount += (item.content.personCount * 1)
statistical.value.newPersonCount += (item.content.newPersonCount * 1)
statistical.value.oldPersonCount += (item.content.oldPersonCount * 1)
statistical.value.totalYear += (item.content.totalYear * 1)
})
total.value = res.total
uni.hideLoading()
})
}
function handleDelete(row){
uni.showModal({
title: '提示',
content: `确定撤回 ${row.content.name}?`,
success: function(res) {
if (res.confirm) {
api.withDraw({recordId: row.recordId, reason: row.reason}).then(res=>{
uni.showToast({
title:`操作成功`
})
getList()
})
}
}
})
}
function audit(recordId, flag) {
if (flag == '0') {
// 拒绝
// 弹出框填写理由
uni.showModal({
title: '请输入拒绝理由',
editable: true,
success: function(res) {
if (res.confirm) {
if (!res.content) {
uni.showToast({
title: '请输入拒绝理由',
icon: 'none'
})
} else {
doApproval(recordId, flag, res.content)
}
}
}
})
} else if (flag == '1') {
// 二次确认
uni.showModal({
title: '提示',
content: `确定审批通过吗`,
success: function(res) {
if (res.confirm) {
doApproval(recordId, flag)
}
}
})
}
}
function doApproval(recordId, flag, reason) {
var obj = {
flag: flag,
reason: reason || '',
recordIds: []
}
obj.recordIds.push(recordId)
console.log(obj)
api.audit(obj).then((res) => {
uni.showToast({
title: '操作成功',
icon: 'none'
})
getList()
})
}
function goDetail(item) {
const form = encodeURIComponent(JSON.stringify(item))
// console.log(userType.value)
let path =
`/personalVip/auditDetail?form=${form}`
uni.navigateTo({
url: path
});
}
function goMerge() {
let path = `/personalVip/sheng/merge`
uni.redirectTo({
url: path
});
}
function goMergeUp() {
let path = `/personalVip/sheng/mergeUp`
uni.redirectTo({
url: path
});
}
</script>
<style>
<template>
<view>
<view class="text-center whitebg" v-if="userType=='2'">
<view class="cardNav" v-if="userType=='2'">
<view class="active">审核</view>
<view @click="goMerge">合并</view>
<view @click="goMergeUp">提交</view>
</view>
</view>
<uni-segmented-control class="whitebg" :current="current" :values="navs" @clickItem="onClickItem"
styleType="text" activeColor="#AD181F"></uni-segmented-control>
<!-- 缴费审核 -->
<view v-if="total>0" class="vipData" style="flex-wrap: wrap;">
<view class="w50">人数合计 <text>{{ statistical.personCount }}</text></view>
<view class="w50">新会员合计 <text>{{ statistical.newPersonCount }}</text></view>
<view class="w50">续费合计 <text>{{ statistical.oldPersonCount }}</text></view>
<view class="w50">年限合计 <text>{{ statistical.totalYear }}</text></view>
</view>
<view class="appList">
<view class="appItem" v-for="(item,index) in list" :key="index">
<view class="status" @click="goDetail(item)">
<text v-if="item.auditStatus==0" class="text-primary">审核中</text>
<text v-if="item.auditStatus==1" class="text-success"> 审核通过</text>
<text v-if="item.auditStatus==2" class="text-danger"> 审核拒绝</text>
<text v-if="item.auditStatus==3" class="text-warning">已撤回</text>
</view>
<view class="date" @click="goDetail(item)">
<uni-icons type="calendar-filled" size="16" color="#AD181F"></uni-icons>
{{item.content.commitTime}} 提交
</view>
<view class="text-primary" v-if="item.content?.wfCode" @click="goDetail(item)">{{item.content?.wfCode}}
</view>
<view class="name" @click="goDetail(item)">{{item.content.name}}</view>
<view class="flexbox" @click="goDetail(item)">
<view>
人数合计
<view>{{item.content.personCount}}</view>
</view>
<view>
年限合计
<view>{{item.content.totalYear}}</view>
</view>
<view>
提交单位
<view>{{item.content.memberName}}</view>
</view>
</view>
<view class="func" v-if="item.auditStatus==0">
<button @click="audit(item.recordId,'0')">拒绝</button>
<button @click="audit(item.recordId,'1')">同意</button>
</view>
<view class="func" v-if="item.auditStatus==1 && item.isView == 1">
<button @click="handleDelete(item)">撤回</button>
</view>
</view>
</view>
<view class="nodata" v-if="list.length==0">
<image mode="aspectFit" src="/static/nodata.png"></image>
<text>暂无数据</text>
</view>
<!-- <view v-if="userType=='2'" class="block-btn-box">
<button @click="goMerge" class="btn-red-kx">前往合并 > </button>
</view> -->
</view>
</template>
<script setup>
import * as api from '@/common/api.js'
import config from '@/config.js'
import {
onMounted,
ref
} from 'vue'
import {
onShow
} from '@dcloudio/uni-app'
const app = getApp();
const queryParams = ref({
// pageNum: 1,
// pageSize: 10
auditStatus: '0'
})
const navs = ref(['待审核', '审核通过', '审核拒绝', '撤回'])
const current = ref(0)
const list = ref([])
const statistical = ref({})
const total = ref(0)
const deptType = ref('')
const userType = ref('')
onShow(() => {
if (app.globalData.isLogin) {
init()
} else {
app.firstLoadCallback = () => {
init()
};
}
})
function init() {
userType.value = app.globalData.userType
deptType.value = app.globalData.deptType
getList()
}
function onClickItem(e) {
console.log(e)
queryParams.value.auditStatus = e.currentIndex
getList()
}
function getList() {
uni.showLoading({
title: `加载中`,
mask: true
})
statistical.value = {
personCount: 0,
newPersonCount: 0,
oldPersonCount: 0,
totalYear: 0
}
if (deptType.value == 2 || deptType.value == 3) {
queryParams.value.mergeFlag = 0
}
api.getVerifyList(queryParams.value).then(res => {
list.value = res.rows
list.value.forEach(item => {
item.content = JSON.parse(item.content)
statistical.value.personCount += (item.content.personCount * 1)
statistical.value.newPersonCount += (item.content.newPersonCount * 1)
statistical.value.oldPersonCount += (item.content.oldPersonCount * 1)
statistical.value.totalYear += (item.content.totalYear * 1)
})
total.value = res.total
uni.hideLoading()
})
}
function handleDelete(row) {
uni.showModal({
title: '提示',
content: `确定撤回 ${row.content.name}?`,
success: function(res) {
if (res.confirm) {
api.withDraw({
recordId: row.recordId,
reason: row.reason
}).then(res => {
uni.showToast({
title: `操作成功`
})
getList()
})
}
}
})
}
function audit(recordId, flag) {
if (flag == '0') {
// 拒绝
// 弹出框填写理由
uni.showModal({
title: '请输入拒绝理由',
editable: true,
success: function(res) {
if (res.confirm) {
if (!res.content) {
uni.showToast({
title: '请输入拒绝理由',
icon: 'none'
})
} else {
doApproval(recordId, flag, res.content)
}
}
}
})
} else if (flag == '1') {
// 二次确认
uni.showModal({
title: '提示',
content: `确定审批通过吗`,
success: function(res) {
if (res.confirm) {
doApproval(recordId, flag)
}
}
})
}
}
function doApproval(recordId, flag, reason) {
var obj = {
flag: flag,
reason: reason || '',
recordIds: []
}
obj.recordIds.push(recordId)
console.log(obj)
uni.showLoading({
title: '加载中',
mask: true
})
api.audit(obj).then((res) => {
uni.hideLoading()
uni.showToast({
title: '操作成功',
icon: 'none'
})
getList()
})
}
function goDetail(item) {
const form = encodeURIComponent(JSON.stringify(item))
// console.log(userType.value)
let path =
`/personalVip/auditDetail?form=${form}`
uni.navigateTo({
url: path
});
}
function goMerge() {
let path = `/personalVip/sheng/merge`
uni.redirectTo({
url: path
});
}
function goMergeUp() {
let path = `/personalVip/sheng/mergeUp`
uni.redirectTo({
url: path
});
}
</script>
<style>
</style>
\ No newline at end of file
......
......@@ -183,8 +183,13 @@ function doApproval(recordId, flag, reason) {
recordIds: []
}
obj.recordIds.push(recordId)
console.log(obj)
api.audit(obj).then((res) => {
console.log(obj)
uni.showLoading({
title: '加载中',
mask: true
})
api.audit(obj).then((res) => {
uni.hideLoading()
uni.showToast({
title: '操作成功',
icon: 'none'
......
......@@ -155,8 +155,12 @@
reason: reason || '',
ids: [id]
}
console.log(obj)
api.changeLevelAudit(obj).then((res) => {
console.log(obj)
uni.showLoading({
title: '加载中'
})
api.changeLevelAudit(obj).then((res) => {
uni.hideLoading()
uni.showToast({
title: '操作成功',
icon: 'none'
......
......@@ -150,8 +150,13 @@
reason: reason || '',
ids: [id]
}
console.log(obj)
api.personChangeAudit(obj).then((res) => {
console.log(obj)
uni.showLoading({
title: '加载中',
mask: true
})
api.personChangeAudit(obj).then((res) => {
uni.hideLoading()
uni.showToast({
title: '操作成功',
icon: 'none'
......
......@@ -81,7 +81,8 @@
}
function getList(){
uni.showLoading({
title:'加载中'
title: '加载中',
mask: true
})
api.infoMergeRangeList(queryParams.value).then(res=>{
list.value = res.rows
......
......@@ -74,7 +74,8 @@
})
function getList(){
uni.showLoading({
title:'加载中'
title: '加载中',
mask: true
})
api.infoMergeRangeList(queryParams.value).then(res=>{
list.value = res.rows
......@@ -148,8 +149,13 @@
reason: reason || '',
ids: [id]
}
console.log(obj)
api.mergerVipAudit(obj).then((res) => {
console.log(obj)
uni.showLoading({
title: '加载中',
mask:true
})
api.mergerVipAudit(obj).then((res) => {
uni.hideLoading()
uni.showToast({
title: '操作成功',
icon: 'none'
......
......@@ -123,9 +123,6 @@
})
function init() {
uni.showLoading({
title: '加载中'
})
deptType.value = app.globalData.deptType
if (deptType.value == 2 || deptType.value == 3) {
queryParams.value.dgId = -1
......@@ -147,9 +144,6 @@
function onClickItem(e) {
console.log(e)
uni.showLoading({
title: '加载中'
})
if (deptType.value == 2 || deptType.value == 3) {
queryParams.value.dgId = -1
queryParams.value.shenRes = e.currentIndex
......@@ -167,7 +161,8 @@
function getList() {
uni.showLoading({
title: '加载中'
title: '加载中',
mask: true
})
api.getMobilizelist(queryParams.value).then(res => {
uni.hideLoading()
......@@ -285,8 +280,13 @@
reason: reason || '',
rangeIds: rangeId
}
console.log(obj)
api.mobilizeAudit(obj).then((res) => {
console.log(obj)
uni.showLoading({
title: '加载中',
mask: true
})
api.mobilizeAudit(obj).then((res) => {
uni.hideLoading()
uni.showToast({
title: '操作成功',
icon: 'none'
......
......@@ -151,8 +151,12 @@
reason: reason || '',
rangeIds: rangeIds
}
console.log(obj)
api.mobilizeAudit(obj).then((res) => {
console.log(obj)
uni.showLoading({
title: '加载中'
})
api.mobilizeAudit(obj).then((res) => {
uni.hideLoading()
uni.showToast({
title: '操作成功',
icon: 'none'
......
......@@ -125,7 +125,8 @@
if (res.confirm) {
uni.showLoading({
icon: 'none',
title: '提交中'
title: '提交中',
mask: true
})
api.personalCommit(row.rangId).then(res => {
uni.hideLoading()
......
......@@ -188,16 +188,21 @@
title: '提示',
content: `确认合并已选中的数据?`,
success: function(res) {
if (res.confirm) {
api.mergePayMentApi({ recordIds: ids}).then(res => {
if (res.confirm) {
uni.showLoading({
title: '加载中',
mask: true
})
api.mergePayMentApi({ recordIds: ids}).then(resp => {
// uni.showToast({
// title: `操作成功`
// })
uni.hideLoading()
uni.showModal({
title: '提示',
content: `合并完成,是否进行审核数据提交?`,
success: function(res) {
if (res.confirm) {
success: function(resp) {
if (resp.confirm) {
goMergeUp()
}
}
......
......@@ -111,19 +111,22 @@
switch (e.currentIndex) {
case 0:
queryParams.value.mergeFlag = 101
queryParams.value.status = null
queryParams.value.statusFlag = 101
break;
case 1:
queryParams.value.mergeFlag = 1
queryParams.value.status = 0
queryParams.value.status = 0
queryParams.value.statusFlag = 102
break;
case 2:
queryParams.value.mergeFlag = 1
queryParams.value.status = 1
queryParams.value.status = 1
queryParams.value.statusFlag = 103
break;
case 3:
queryParams.value.mergeFlag = 1
queryParams.value.status = 2
queryParams.value.status = 2
queryParams.value.statusFlag = 104
break;
}
getList()
......@@ -161,12 +164,16 @@
title: '提示',
content: `确定提交${item.content.name}?`,
success: function(res) {
if (res.confirm) {
if (res.confirm) {
uni.showLoading({
title: '加载中'
})
api.doMergeFlowsPer({
recordIds: [item.recordId],
flag: '1',
reason: null
}).then(res => {
}).then(res => {
uni.hideToast()
uni.showToast({
title: `操作成功!`
})
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!