ztx个人审核
Showing
5 changed files
with
266 additions
and
235 deletions
| ... | @@ -1932,3 +1932,12 @@ export function GroupGetLogs(id) { | ... | @@ -1932,3 +1932,12 @@ export function GroupGetLogs(id) { |
| 1932 | }) | 1932 | }) |
| 1933 | } | 1933 | } |
| 1934 | 1934 | ||
| 1935 | |||
| 1936 | // 新个人会员审批 | ||
| 1937 | export function auditList(params) { | ||
| 1938 | return request({ | ||
| 1939 | url: '/person/paymentRangeNew/list', | ||
| 1940 | method: 'get', | ||
| 1941 | params: params | ||
| 1942 | }) | ||
| 1943 | } | ... | ... |
| 1 | // dev | 1 | // dev |
| 2 | // const baseUrl_api = 'http://192.168.1.137:8787' | 2 | const baseUrl_api = 'http://192.168.1.137:8787' |
| 3 | const baseUrl_api = 'http://tk001.wxjylt.com/stage-api' | 3 | // const baseUrl_api = 'http://tk001.wxjylt.com/stage-api' |
| 4 | const loginImage_api = 'http://tk001.wxjylt.com/stage-api' | 4 | const loginImage_api = 'http://tk001.wxjylt.com/stage-api' |
| 5 | const payUrl = 'https://wxpay.cmbc.com.cn/mobilePlatform/appserver/lcbpPay.do' | 5 | const payUrl = 'https://wxpay.cmbc.com.cn/mobilePlatform/appserver/lcbpPay.do' |
| 6 | 6 | ... | ... |
This diff could not be displayed because it is too large.
pages/index/image.js
0 → 100644
This diff could not be displayed because it is too large.
| 1 | <template> | 1 | <template> |
| 2 | <view> | 2 | <view> |
| 3 | <view class="text-center whitebg" v-if="userType=='2'"> | 3 | <!-- <view class="text-center whitebg" v-if="userType=='2'">--> |
| 4 | <view class="cardNav" v-if="userType=='2'"> | 4 | <!-- <view class="cardNav" v-if="userType=='2'">--> |
| 5 | <view class="active">审核</view> | 5 | <!-- <view class="active">审核</view>--> |
| 6 | <view @click="goMerge">合并</view> | 6 | <!-- <view @click="goMerge">合并</view>--> |
| 7 | <view @click="goMergeUp">提交</view> | 7 | <!-- <view @click="goMergeUp">提交</view>--> |
| 8 | </view> | 8 | <!-- </view>--> |
| 9 | </view> | 9 | <!-- </view>--> |
| 10 | <uni-segmented-control class="whitebg" :current="current" :values="navs" @clickItem="onClickItem" | 10 | <uni-segmented-control |
| 11 | styleType="text" activeColor="#AD181F"></uni-segmented-control> | 11 | :current="current" |
| 12 | 12 | :values="navs" | |
| 13 | <!-- 缴费审核 --> | 13 | activeColor="#AD181F" |
| 14 | <view v-if="total>0" class="vipData" style="flex-wrap: wrap;"> | 14 | class="whitebg" |
| 15 | <view class="w50">人数合计 <text>{{ statistical.personCount }} 人</text></view> | 15 | styleType="text" |
| 16 | <view class="w50">新会员合计 <text>{{ statistical.newPersonCount }} 人</text></view> | 16 | @clickItem="onClickItem"> |
| 17 | <view class="w50">续费合计 <text>{{ statistical.oldPersonCount }} 人</text></view> | 17 | </uni-segmented-control> |
| 18 | <view class="w50">年限合计 <text>{{ statistical.totalYear }} 年</text></view> | 18 | |
| 19 | </view> | 19 | <!-- 缴费审核 --> |
| 20 | <view class="appList"> | 20 | <view v-if="total>0" class="vipData" style="flex-wrap: wrap;"> |
| 21 | <view class="appItem" v-for="(item,index) in list" :key="index"> | 21 | <view class="w50">费用合计 |
| 22 | <view class="status" @click="goDetail(item)"> | 22 | <text>{{ statistical.totalCost?.toFixed(2) }}元</text> |
| 23 | <text v-if="item.auditStatus==0" class="text-primary">审核中</text> | 23 | </view> |
| 24 | <text v-if="item.auditStatus==1" class="text-success"> 审核通过</text> | 24 | <view class="w50">人数合计 |
| 25 | <text v-if="item.auditStatus==2" class="text-danger"> 审核拒绝</text> | 25 | <text>{{ statistical.personCount }} 人</text> |
| 26 | <text v-if="item.auditStatus==3" class="text-warning">已撤回</text> | 26 | </view> |
| 27 | </view> | 27 | <view class="w50">新会员合计 |
| 28 | <view class="date" @click="goDetail(item)"> | 28 | <text>{{ statistical.newPersonCount }} 人</text> |
| 29 | <uni-icons type="calendar-filled" size="16" color="#AD181F"></uni-icons> | 29 | </view> |
| 30 | {{item.content.commitTime}} 提交 | 30 | <view class="w50">续费合计 |
| 31 | </view> | 31 | <text>{{ statistical.oldPersonCount }} 年</text> |
| 32 | <view class="text-primary" v-if="item.content?.wfCode" @click="goDetail(item)">{{item.content?.wfCode}} | 32 | </view> |
| 33 | </view> | 33 | <view class="w50">年限合计 |
| 34 | <view class="name" @click="goDetail(item)">{{item.content.name}}</view> | 34 | <text>{{ statistical.totalYear }} 年</text> |
| 35 | <view class="flexbox" @click="goDetail(item)"> | 35 | </view> |
| 36 | <view> | 36 | </view> |
| 37 | 人数合计 | 37 | <view class="appList"> |
| 38 | <view>{{item.content.personCount}}</view> | 38 | <view v-for="(item,index) in list" :key="index" class="appItem"> |
| 39 | </view> | 39 | <view class="status" @click="goDetail(item)"> |
| 40 | <view> | 40 | <text v-if="item.auditStatus==1" class="text-primary">审核中</text> |
| 41 | 年限合计 | 41 | <text v-if="item.auditStatus==2" class="text-success"> 审核通过</text> |
| 42 | <view>{{item.content.totalYear}}</view> | 42 | <text v-if="item.auditStatus==3" class="text-danger"> 审核拒绝</text> |
| 43 | </view> | 43 | </view> |
| 44 | <view> | 44 | <view class="date" @click="goDetail(item)"> |
| 45 | 提交单位 | 45 | <uni-icons color="#AD181F" size="16" type="calendar-filled"></uni-icons> |
| 46 | <view>{{item.content.memberName}}</view> | 46 | {{ item.content?.commitTime }} 提交 |
| 47 | </view> | 47 | </view> |
| 48 | </view> | 48 | <view v-if="item?.wfCode" class="text-primary" @click="goDetail(item)">{{ item?.wfCode }} |
| 49 | <view class="func" v-if="item.auditStatus==0"> | 49 | </view> |
| 50 | <button @click="audit(item.recordId,'0')">拒绝</button> | 50 | <view class="name" @click="goDetail(item)">{{ item.name }}</view> |
| 51 | <button @click="audit(item.recordId,'1')">同意</button> | 51 | <view class="flexbox" @click="goDetail(item)"> |
| 52 | </view> | 52 | <view> |
| 53 | <view class="func" v-if="item.auditStatus==1 && item.isView == 1"> | 53 | 人数合计 |
| 54 | <button @click="handleDelete(item)">撤回</button> | 54 | <view>{{ item.personCount }}</view> |
| 55 | </view> | 55 | </view> |
| 56 | </view> | 56 | <view> |
| 57 | </view> | 57 | 年限合计 |
| 58 | 58 | <view>{{ item.totalYear }}</view> | |
| 59 | 59 | </view> | |
| 60 | 60 | <view> | |
| 61 | <view class="nodata" v-if="list.length==0"> | 61 | 提交单位 |
| 62 | <image mode="aspectFit" :src="config.baseUrl_api + '/fs/static/nodata.png'"></image> | 62 | <view>{{ item.memberName }}</view> |
| 63 | <text>暂无数据</text> | 63 | </view> |
| 64 | </view> | 64 | </view> |
| 65 | <!-- <view v-if="userType=='2'" class="block-btn-box"> | 65 | <view v-if="item.auditStatus==0" class="func"> |
| 66 | <button @click="goMerge" class="btn-red-kx">前往合并 > </button> | 66 | <button @click="audit(item.recordId,'0')">拒绝</button> |
| 67 | </view> --> | 67 | <button @click="audit(item.recordId,'1')">同意</button> |
| 68 | </view> | 68 | </view> |
| 69 | <view v-if="item.auditStatus==1 && item.isView == 1" class="func"> | ||
| 70 | <button @click="handleDelete(item)">撤回</button> | ||
| 71 | </view> | ||
| 72 | </view> | ||
| 73 | </view> | ||
| 74 | |||
| 75 | |||
| 76 | <view v-if="list.length==0" class="nodata"> | ||
| 77 | <image :src="config.baseUrl_api + '/fs/static/nodata.png'" mode="aspectFit"></image> | ||
| 78 | <text>暂无数据</text> | ||
| 79 | </view> | ||
| 80 | <!-- <view v-if="userType=='2'" class="block-btn-box"> | ||
| 81 | <button @click="goMerge" class="btn-red-kx">前往合并 > </button> | ||
| 82 | </view> --> | ||
| 83 | </view> | ||
| 69 | </template> | 84 | </template> |
| 70 | 85 | ||
| 71 | <script setup> | 86 | <script setup> |
| 72 | import * as api from '@/common/api.js' | 87 | import * as api from '@/common/api.js' |
| 73 | import config from '@/config.js' | 88 | import config from '@/config.js' |
| 74 | import { | 89 | import { |
| 75 | onMounted, | 90 | onMounted, |
| 76 | ref | 91 | ref |
| 77 | } from 'vue' | 92 | } from 'vue' |
| 78 | import { | 93 | import { |
| 79 | onShow | 94 | onShow |
| 80 | } from '@dcloudio/uni-app' | 95 | } from '@dcloudio/uni-app' |
| 81 | const app = getApp(); | 96 | import {auditList} from "@/common/api.js"; |
| 82 | const queryParams = ref({ | ||
| 83 | // pageNum: 1, | ||
| 84 | // pageSize: 10 | ||
| 85 | auditStatus: '0' | ||
| 86 | }) | ||
| 87 | const navs = ref(['待审核', '审核通过', '审核拒绝', '撤回']) | ||
| 88 | const current = ref(0) | ||
| 89 | const list = ref([]) | ||
| 90 | const statistical = ref({}) | ||
| 91 | const total = ref(0) | ||
| 92 | const deptType = ref('') | ||
| 93 | const userType = ref('') | ||
| 94 | onShow(() => { | ||
| 95 | if (app.globalData.isLogin) { | ||
| 96 | init() | ||
| 97 | } else { | ||
| 98 | app.firstLoadCallback = () => { | ||
| 99 | init() | ||
| 100 | }; | ||
| 101 | } | ||
| 102 | }) | ||
| 103 | |||
| 104 | function init() { | ||
| 105 | userType.value = app.globalData.userType | ||
| 106 | deptType.value = app.globalData.deptType | ||
| 107 | getList() | ||
| 108 | } | ||
| 109 | |||
| 110 | function onClickItem(e) { | ||
| 111 | console.log(e) | ||
| 112 | queryParams.value.auditStatus = e.currentIndex | ||
| 113 | getList() | ||
| 114 | } | ||
| 115 | |||
| 116 | function getList() { | ||
| 117 | uni.showLoading({ | ||
| 118 | title: `加载中`, | ||
| 119 | mask: true | ||
| 120 | }) | ||
| 121 | statistical.value = { | ||
| 122 | personCount: 0, | ||
| 123 | newPersonCount: 0, | ||
| 124 | oldPersonCount: 0, | ||
| 125 | totalYear: 0 | ||
| 126 | } | ||
| 127 | if (deptType.value == 2 || deptType.value == 3) { | ||
| 128 | queryParams.value.mergeFlag = 0 | ||
| 129 | } | ||
| 130 | api.getVerifyList(queryParams.value).then(res => { | ||
| 131 | list.value = res.rows | ||
| 132 | list.value.forEach(item => { | ||
| 133 | item.content = JSON.parse(item.content) | ||
| 134 | statistical.value.personCount += (item.content.personCount * 1) | ||
| 135 | statistical.value.newPersonCount += (item.content.newPersonCount * 1) | ||
| 136 | statistical.value.oldPersonCount += (item.content.oldPersonCount * 1) | ||
| 137 | statistical.value.totalYear += (item.content.totalYear * 1) | ||
| 138 | 97 | ||
| 139 | }) | 98 | const app = getApp(); |
| 140 | total.value = res.total | 99 | const queryParams = ref({ |
| 141 | uni.hideLoading() | 100 | // pageNum: 1, |
| 142 | }) | 101 | // pageSize: 10 |
| 143 | } | 102 | auditStatus: "1", |
| 103 | auditFlag: "1" | ||
| 104 | |||
| 105 | }) | ||
| 106 | const navs = ref(['待审核', '审核通过', '审核拒绝',]) | ||
| 107 | const current = ref(0) | ||
| 108 | const list = ref([]) | ||
| 109 | const statistical = ref({}) | ||
| 110 | const total = ref(0) | ||
| 111 | const deptType = ref('') | ||
| 112 | const userType = ref('') | ||
| 113 | onShow(() => { | ||
| 114 | if (app.globalData.isLogin) { | ||
| 115 | init() | ||
| 116 | } else { | ||
| 117 | app.firstLoadCallback = () => { | ||
| 118 | init() | ||
| 119 | }; | ||
| 120 | } | ||
| 121 | }) | ||
| 144 | 122 | ||
| 145 | function handleDelete(row) { | 123 | function init() { |
| 146 | uni.showModal({ | 124 | userType.value = app.globalData.userType |
| 147 | title: '提示', | 125 | deptType.value = app.globalData.deptType |
| 148 | content: `确定撤回 ${row.content.name}?`, | 126 | getList() |
| 149 | success: function(res) { | 127 | } |
| 150 | if (res.confirm) { | ||
| 151 | api.withDraw({ | ||
| 152 | recordId: row.recordId, | ||
| 153 | reason: row.reason | ||
| 154 | }).then(res => { | ||
| 155 | uni.showToast({ | ||
| 156 | title: `操作成功` | ||
| 157 | }) | ||
| 158 | getList() | ||
| 159 | }) | ||
| 160 | } | ||
| 161 | } | ||
| 162 | }) | ||
| 163 | } | ||
| 164 | 128 | ||
| 165 | function audit(recordId, flag) { | 129 | function onClickItem(e) { |
| 166 | if (flag == '0') { | 130 | queryParams.value.auditStatus = e.currentIndex + 1 |
| 167 | // 拒绝 | 131 | console.log(queryParams.value.auditStatus) |
| 168 | // 弹出框填写理由 | 132 | getList() |
| 169 | uni.showModal({ | 133 | } |
| 170 | title: '请输入拒绝理由', | ||
| 171 | editable: true, | ||
| 172 | success: function(res) { | ||
| 173 | if (res.confirm) { | ||
| 174 | if (!res.content) { | ||
| 175 | uni.showToast({ | ||
| 176 | title: '请输入拒绝理由', | ||
| 177 | icon: 'none' | ||
| 178 | }) | ||
| 179 | } else { | ||
| 180 | doApproval(recordId, flag, res.content) | ||
| 181 | } | ||
| 182 | } | ||
| 183 | } | ||
| 184 | }) | ||
| 185 | } else if (flag == '1') { | ||
| 186 | // 二次确认 | ||
| 187 | uni.showModal({ | ||
| 188 | title: '提示', | ||
| 189 | content: `确定审批通过吗`, | ||
| 190 | success: function(res) { | ||
| 191 | if (res.confirm) { | ||
| 192 | doApproval(recordId, flag) | ||
| 193 | } | ||
| 194 | } | ||
| 195 | }) | ||
| 196 | } | ||
| 197 | } | ||
| 198 | 134 | ||
| 199 | function doApproval(recordId, flag, reason) { | 135 | async function getList() { |
| 200 | var obj = { | 136 | uni.showLoading({ |
| 201 | flag: flag, | 137 | title: `加载中`, |
| 202 | reason: reason || '', | 138 | mask: true |
| 203 | recordIds: [] | 139 | }) |
| 204 | } | 140 | if (deptType.value == 2 || deptType.value == 3) { |
| 205 | obj.recordIds.push(recordId) | 141 | queryParams.value.mergeFlag = 0 |
| 206 | console.log(obj) | 142 | } |
| 207 | uni.showLoading({ | 143 | const res = await api.auditList(queryParams.value) |
| 208 | title: '加载中', | 144 | list.value = res.rows |
| 209 | mask: true | 145 | total.value = res.total |
| 210 | }) | 146 | |
| 211 | api.audit(obj).then((res) => { | 147 | statistical.value = { |
| 212 | uni.hideLoading() | 148 | totalCost: 0, |
| 213 | uni.showToast({ | 149 | personCount: 0, |
| 214 | title: '操作成功', | 150 | newPersonCount: 0, |
| 215 | icon: 'none' | 151 | oldPersonCount: 0, |
| 216 | }) | 152 | totalYear: 0 |
| 217 | getList() | 153 | } |
| 218 | }) | 154 | for (const item of list.value) { |
| 219 | } | 155 | item.content = JSON.parse(item.content) |
| 156 | item.doc = JSON.parse(item.doc) | ||
| 157 | statistical.value.totalCost += (item.content.allFee * 1) | ||
| 158 | statistical.value.personCount += (item.content.personCount * 1) | ||
| 159 | statistical.value.newPersonCount += (item.content.newPersonCount * 1) | ||
| 160 | statistical.value.oldPersonCount += (item.content.oldPersonCount * 1) | ||
| 161 | statistical.value.totalYear += (item.content.totalYear * 1) | ||
| 162 | } | ||
| 163 | uni.hideLoading() | ||
| 164 | |||
| 165 | } | ||
| 220 | 166 | ||
| 221 | function goDetail(item) { | 167 | function handleDelete(row) { |
| 222 | const form = encodeURIComponent(JSON.stringify(item)) | 168 | uni.showModal({ |
| 223 | // console.log(userType.value) | 169 | title: '提示', |
| 170 | content: `确定撤回 ${row.name}?`, | ||
| 171 | success: function (res) { | ||
| 172 | if (res.confirm) { | ||
| 173 | api.withDraw({ | ||
| 174 | recordId: row.recordId, | ||
| 175 | reason: row.reason | ||
| 176 | }).then(res => { | ||
| 177 | uni.showToast({ | ||
| 178 | title: `操作成功` | ||
| 179 | }) | ||
| 180 | getList() | ||
| 181 | }) | ||
| 182 | } | ||
| 183 | } | ||
| 184 | }) | ||
| 185 | } | ||
| 224 | 186 | ||
| 225 | let path = | 187 | function audit(recordId, flag) { |
| 226 | `/personalVip/auditDetail?form=${form}` | 188 | if (flag == '0') { |
| 227 | uni.navigateTo({ | 189 | // 拒绝 |
| 228 | url: path | 190 | // 弹出框填写理由 |
| 229 | }); | 191 | uni.showModal({ |
| 192 | title: '请输入拒绝理由', | ||
| 193 | editable: true, | ||
| 194 | success: function (res) { | ||
| 195 | if (res.confirm) { | ||
| 196 | if (!res) { | ||
| 197 | uni.showToast({ | ||
| 198 | title: '请输入拒绝理由', | ||
| 199 | icon: 'none' | ||
| 200 | }) | ||
| 201 | } else { | ||
| 202 | doApproval(recordId, flag, res) | ||
| 203 | } | ||
| 204 | } | ||
| 205 | } | ||
| 206 | }) | ||
| 207 | } else if (flag == '1') { | ||
| 208 | // 二次确认 | ||
| 209 | uni.showModal({ | ||
| 210 | title: '提示', | ||
| 211 | content: `确定审批通过吗`, | ||
| 212 | success: function (res) { | ||
| 213 | if (res.confirm) { | ||
| 214 | doApproval(recordId, flag) | ||
| 215 | } | ||
| 216 | } | ||
| 217 | }) | ||
| 218 | } | ||
| 219 | } | ||
| 230 | 220 | ||
| 221 | function doApproval(recordId, flag, reason) { | ||
| 222 | var obj = { | ||
| 223 | flag: flag, | ||
| 224 | reason: reason || '', | ||
| 225 | recordIds: [] | ||
| 226 | } | ||
| 227 | obj.recordIds.push(recordId) | ||
| 228 | console.log(obj) | ||
| 229 | uni.showLoading({ | ||
| 230 | title: '加载中', | ||
| 231 | mask: true | ||
| 232 | }) | ||
| 233 | api.audit(obj).then((res) => { | ||
| 234 | uni.hideLoading() | ||
| 235 | uni.showToast({ | ||
| 236 | title: '操作成功', | ||
| 237 | icon: 'none' | ||
| 238 | }) | ||
| 239 | getList() | ||
| 240 | }) | ||
| 241 | } | ||
| 231 | 242 | ||
| 232 | } | 243 | function goDetail(item) { |
| 244 | const form = encodeURIComponent(JSON.stringify(item)) | ||
| 245 | // console.log(userType.value) | ||
| 246 | |||
| 247 | let path = | ||
| 248 | `/personalVip/auditDetail?form=${form}` | ||
| 249 | uni.navigateTo({ | ||
| 250 | url: path | ||
| 251 | }); | ||
| 252 | |||
| 253 | |||
| 254 | } | ||
| 233 | 255 | ||
| 234 | function goMerge() { | 256 | function goMerge() { |
| 235 | let path = `/personalVip/sheng/merge` | 257 | let path = `/personalVip/sheng/merge` |
| 236 | uni.redirectTo({ | 258 | uni.redirectTo({ |
| 237 | url: path | 259 | url: path |
| 238 | }); | 260 | }); |
| 239 | } | 261 | } |
| 240 | 262 | ||
| 241 | function goMergeUp() { | 263 | function goMergeUp() { |
| 242 | let path = `/personalVip/sheng/mergeUp` | 264 | let path = `/personalVip/sheng/mergeUp` |
| 243 | uni.redirectTo({ | 265 | uni.redirectTo({ |
| 244 | url: path | 266 | url: path |
| 245 | }); | 267 | }); |
| 246 | } | 268 | } |
| 247 | </script> | 269 | </script> |
| 248 | 270 | ||
| 249 | <style> | 271 | <style> |
| 250 | 272 | ||
| 251 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 273 | </style> | ... | ... |
-
Please register or sign in to post a comment