mergeUp.vue 6.25 KB
<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>
</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: '加载中',
			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;
	}
</style>