b9272f18 by 张猛

级位变更

1 parent 07d82489
...@@ -930,13 +930,14 @@ export function auditJi(data) { ...@@ -930,13 +930,14 @@ export function auditJi(data) {
930 if (data.reason && data.reason.trim() !== '') { 930 if (data.reason && data.reason.trim() !== '') {
931 url += `&reason=${data.reason}`; 931 url += `&reason=${data.reason}`;
932 } 932 }
933 933
934 return request({ 934 return request({
935 url: url, 935 url: url,
936 method: 'post', 936 method: 'post',
937 params: data 937 params: data
938 }) 938 })
939 } 939 }
940
940 export function auditDuanExam(data) { 941 export function auditDuanExam(data) {
941 // 基础 URL 942 // 基础 URL
942 let url = `/exam/info/auditDuanExam/${data.ids}?flag=${data.flag}&ids=${data.ids}`; 943 let url = `/exam/info/auditDuanExam/${data.ids}?flag=${data.flag}&ids=${data.ids}`;
...@@ -945,13 +946,14 @@ export function auditDuanExam(data) { ...@@ -945,13 +946,14 @@ export function auditDuanExam(data) {
945 if (data.reason && data.reason.trim() !== '') { 946 if (data.reason && data.reason.trim() !== '') {
946 url += `&reason=${data.reason}`; 947 url += `&reason=${data.reason}`;
947 } 948 }
948 949
949 return request({ 950 return request({
950 url: url, 951 url: url,
951 method: 'post', 952 method: 'post',
952 params: data 953 params: data
953 }) 954 })
954 } 955 }
956
955 export function auditDuanScore(data) { 957 export function auditDuanScore(data) {
956 // 基础 URL 958 // 基础 URL
957 let url = `/exam/info/auditDuanScore/${data.ids}?flag=${data.flag}&ids=${data.ids}`; 959 let url = `/exam/info/auditDuanScore/${data.ids}?flag=${data.flag}&ids=${data.ids}`;
...@@ -960,7 +962,7 @@ export function auditDuanScore(data) { ...@@ -960,7 +962,7 @@ export function auditDuanScore(data) {
960 if (data.reason && data.reason.trim() !== '') { 962 if (data.reason && data.reason.trim() !== '') {
961 url += `&reason=${data.reason}`; 963 url += `&reason=${data.reason}`;
962 } 964 }
963 965
964 return request({ 966 return request({
965 url: url, 967 url: url,
966 method: 'post', 968 method: 'post',
...@@ -1367,6 +1369,13 @@ export function changeLevelAudit(data) { ...@@ -1367,6 +1369,13 @@ export function changeLevelAudit(data) {
1367 }) 1369 })
1368 } 1370 }
1369 1371
1372 export function changeLevelShenAudit(data) {
1373 return request({
1374 url: `/person/levelModRange/shenAudit/${data.ids}?flag=${data.flag}&reason=${data.reason}`,
1375 method: 'post'
1376 })
1377 }
1378
1370 export function changeLevelWithDraw(data) { 1379 export function changeLevelWithDraw(data) {
1371 return request({ 1380 return request({
1372 url: `/person/levelModRange/withDraw/${data}`, 1381 url: `/person/levelModRange/withDraw/${data}`,
......
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
......
...@@ -58,6 +58,10 @@ ...@@ -58,6 +58,10 @@
58 <image :src="config.baseUrl_api+'/fs/static/icon/3.png'"/> 58 <image :src="config.baseUrl_api+'/fs/static/icon/3.png'"/>
59 级位考试申请 59 级位考试申请
60 </view> 60 </view>
61 <view @click="goPath('/personalVip/changeLevel')">
62 <image :src="config.baseUrl_api+'/fs/static/icon/26.png'"/>
63 级位变更
64 </view>
61 </view> 65 </view>
62 <view v-if="userType=='3'" class="girdBox"> 66 <view v-if="userType=='3'" class="girdBox">
63 <view @click="goPath('/group/apply/applyList')"> 67 <view @click="goPath('/group/apply/applyList')">
...@@ -133,10 +137,16 @@ ...@@ -133,10 +137,16 @@
133 <!-- <view @click="goPath('/pages/exam/payment?type=1')"> 137 <!-- <view @click="goPath('/pages/exam/payment?type=1')">
134 <image :src="config.baseUrl_api+'/fs/static/icon/10.png'" />考试缴费单 138 <image :src="config.baseUrl_api+'/fs/static/icon/10.png'" />考试缴费单
135 </view> --> 139 </view> -->
136 <view @click="goPath('/personalVip/changeLevel')"> 140 <!-- <view @click="goPath('/personalVip/changeLevel')">-->
141 <!-- <image :src="config.baseUrl_api+'/fs/static/icon/26.png'"/>-->
142 <!-- 级位变更-->
143 <!-- </view>-->
144
145 <view @click="goPath('/personalVip/changeLevelAudit')">
137 <image :src="config.baseUrl_api+'/fs/static/icon/26.png'"/> 146 <image :src="config.baseUrl_api+'/fs/static/icon/26.png'"/>
138 级位变更 147 变更审核
139 </view> 148 </view>
149
140 <view @click="goPath('/level/auditRecord2')"> 150 <view @click="goPath('/level/auditRecord2')">
141 <image :src="config.baseUrl_api+'/fs/static/icon/17.png'"/> 151 <image :src="config.baseUrl_api+'/fs/static/icon/17.png'"/>
142 审核记录 152 审核记录
......
1 <template> 1 <template>
2 <view> 2 <view>
3 <view class="searchbar"> 3 <view class="searchbar">
4 <uni-easyinput placeholderStyle="font-size:30rpx" :input-border="false" prefixIcon="search" 4 <uni-easyinput v-model="queryParams.code" :input-border="false" placeholder="搜索变更单号"
5 v-model="queryParams.code" placeholder="搜索变更单号" @blur="getList" @clear="getList"> 5 placeholderStyle="font-size:30rpx" prefixIcon="search" @blur="getList" @clear="getList">
6 </uni-easyinput> 6 </uni-easyinput>
7 </view> 7 </view>
8 <view class="vipData"> 8 <view class="vipData">
9 <view>级位变更人数合计: <text>{{statistical.personCount}}</text></view> 9 <view>级位变更人数合计:
10 </view> 10 <text>{{ statistical.personCount }}</text>
11 <view class="appList"> 11
12 <view class="appItem" v-for="(item,index) in list" :key="index"> 12 </view>
13 <view class="status" @click="goDetail(item)"> 13 </view>
14 <view> 14 <view class="appList">
15 <text v-if="item.status == 0" class="text-warning">待提交</text> 15 <view v-for="(item,index) in list" :key="index" class="appItem">
16 <text v-if="item.status == 1" class="text-primary">审核中</text> 16 <view class="status" @click="goDetail(item)">
17 <text v-if="item.status == 2" class="text-success">审核通过</text> 17 <view>
18 <text v-if="item.status == 3" class="text-danger">审核拒绝</text> 18 <text v-if="userType==1?item.status == 1:item.shenAuditStatus==0" class="text-primary">审核中</text>
19 <text v-if="item.status == 4" class="text-warning">已撤回</text> 19 <text v-if="userType==1?item.status == 2:item.shenAuditStatus==1" class="text-success">审核通过</text>
20 </view> 20 <text v-if="userType==1?item.status == 3:item.shenAuditStatus==2" class="text-danger">审核拒绝</text>
21 </view> 21 <text v-if="userType==1?item.status == 4:item.shenAuditStatus==3" class="text-warning">已撤回</text>
22 22 </view>
23 <view class="name mt0" @click="goDetail(item)"> 23 </view>
24 <text class="text-primary">{{item.code}}</text>-{{item.shenMemName}} 24
25 </view> 25 <view class="name mt0" @click="goDetail(item)">
26 <view class="flexbox" @click="goDetail(item)"> 26 <text class="text-primary">{{ item.code }}</text>
27 <view> 27 -{{ item.shenMemName }}
28 变更人数 28 </view>
29 <view> 29 <view class="flexbox" @click="goDetail(item)">
30 <text class="text-danger">{{item.count}}</text> 30 <view>
31 </view> 31 变更人数
32 </view> 32 <view>
33 <view class="w50"> 33 <text class="text-danger">{{ item.count }}</text>
34 提交时间 34 </view>
35 <view>{{item.commitTime||'--'}}</view> 35 </view>
36 </view> 36 <view class="w50">
37 </view> 37 提交时间
38 <view class="func" v-if="item.status==1"> 38 <view>{{ item.commitTime || '--' }}</view>
39 <button @click="audit(item.id,'0')">拒绝</button> 39 </view>
40 <button @click="audit(item.id,'1')">同意</button> 40 </view>
41 </view> 41 <view v-if="userType==1?item.status == 1:item.shenAuditStatus==0 " class="func">
42 <view class="func" v-if="item.status==2"> 42 <button @click="audit(item.id,'0')">拒绝</button>
43 <button @click="handleDelete(item)">撤回</button> 43 <button @click="audit(item.id,'1')">同意</button>
44 </view> 44 </view>
45 </view> 45 <!-- <view v-if="item.status==2" class="func">-->
46 </view> 46 <!-- <button @click="handleDelete(item)">撤回</button>-->
47 <view class="nodata" v-if="list.length==0"> 47 <!-- </view>-->
48 <image mode="aspectFit" :src="config.baseUrl_api + '/fs/static/nodata.png'"></image> 48 </view>
49 <text>暂无数据</text> 49 </view>
50 </view> 50 <view v-if="list.length==0" class="nodata">
51 </view> 51 <image :src="config.baseUrl_api + '/fs/static/nodata.png'" mode="aspectFit"></image>
52 <text>暂无数据</text>
53 </view>
54 </view>
52 </template> 55 </template>
53 56
54 <script setup> 57 <script setup>
55 import * as api from '@/common/api.js' 58 import * as api from '@/common/api.js'
56 import config from '@/config.js' 59 import config from '@/config.js'
57 import { 60 import {
58 ref 61 ref
59 } from 'vue' 62 } from 'vue'
60 import { 63 import {
61 onLoad, 64 onLoad,
62 onShow 65 onShow
63 } from '@dcloudio/uni-app' 66 } from '@dcloudio/uni-app'
64 const app = getApp(); 67 import {changeLevelShenAudit} from "@/common/api.js";
65 const queryParams = ref({
66 code: '',
67 ztxList: 0
68 })
69 const list = ref([])
70 const statistical = ref({
71 personCount: 0
72 })
73 const total = ref(0)
74 onShow(() => {
75 getList()
76 })
77
78 function getList() {
79 uni.showLoading({
80 title: '加载中'
81 })
82 statistical.value.personCount = 0
83 api.getChangelevelList(queryParams.value).then(res => {
84 list.value = res.rows
85 list.value.forEach(item => {
86 statistical.value.personCount += (item.count * 1)
87 })
88 total.value = res.total
89 uni.hideLoading()
90 })
91 }
92 68
93 function goDetail(item) { 69 const app = getApp();
94 let path = `/personalVip/changeLevelDetail?rangeId=${item.id}` 70 const queryParams = ref({
95 uni.navigateTo({ 71 code: '',
96 url: path 72 // shenAuditStatus: 0
97 }); 73 })
98 } 74 const list = ref([])
75 const statistical = ref({
76 personCount: 0
77 })
78 const total = ref(0)
79 const userType = ref(2)
99 80
100 function handleDelete(row) { 81 onShow(() => {
101 uni.showModal({ 82 userType.value = app.globalData.userType
102 title: '提示', 83
103 content: `确定撤回吗`, 84 getList()
104 success: function(res) { 85 })
105 if (res.confirm) {
106 api.changeLevelWithDraw([row.id]).then(Response => {
107 uni.showToast({
108 icon: "none",
109 title: '撤回成功!'
110 })
111 getList()
112 })
113 }
114 }
115 })
116 }
117 86
118 function audit(id, flag) { 87 function getList() {
119 if (flag == 0) { 88 uni.showLoading({
120 // 拒绝 89 title: '加载中'
121 // 弹出框填写理由 90 })
122 uni.showModal({ 91 statistical.value.personCount = 0
123 title: '请输入拒绝理由', 92 api.getChangelevelList(queryParams.value).then(res => {
124 editable: true, 93 list.value = res.rows
125 success: function(res) { 94 list.value.forEach(item => {
126 if (res.confirm) { 95 statistical.value.personCount += (item.count * 1)
127 if (!res.content) { 96 })
128 uni.showToast({ 97 total.value = res.total
129 title: '请输入拒绝理由', 98 uni.hideLoading()
130 icon: 'none' 99 })
131 }) 100 }
132 } else {
133 doApproval(id, flag, res.content)
134 }
135 }
136 }
137 })
138 } else if (flag == '1') {
139 // 二次确认
140 uni.showModal({
141 title: '提示',
142 content: `确定审批通过吗`,
143 success: function(res) {
144 if (res.confirm) {
145 doApproval(id, flag)
146 }
147 }
148 })
149 }
150 }
151 101
152 function doApproval(id, flag, reason) { 102 function goDetail(item) {
153 var obj = { 103 let path = `/personalVip/changeLevelDetail?rangeId=${item.id}`
154 flag: flag, 104 uni.navigateTo({
155 reason: reason || '', 105 url: path
156 ids: [id] 106 });
157 } 107 }
158 console.log(obj)
159 uni.showLoading({
160 title: '加载中'
161 })
162 api.changeLevelAudit(obj).then((res) => {
163 uni.hideLoading()
164 uni.showToast({
165 title: '操作成功',
166 icon: 'none'
167 })
168 getList()
169 })
170 }
171 </script>
172 108
173 <style lang='scss' scoped> 109 function handleDelete(row) {
174 .searchbar { 110 uni.showModal({
175 display: flex; 111 title: '提示',
176 align-items: center; 112 content: `确定撤回吗`,
177 padding: 25rpx; 113 success: function (res) {
178 box-sizing: border-box; 114 if (res.confirm) {
115 api.changeLevelWithDraw([row.id]).then(Response => {
116 uni.showToast({
117 icon: "none",
118 title: '撤回成功!'
119 })
120 getList()
121 })
122 }
123 }
124 })
125 }
179 126
180 :deep(.uni-easyinput .uni-easyinput__content) { 127 function audit(id, flag) {
181 border-radius: 35rpx; 128 if (flag == 0) {
182 border: none; 129 // 拒绝
183 height: 70rpx; 130 // 弹出框填写理由
184 } 131 uni.showModal({
132 title: '请输入拒绝理由',
133 editable: true,
134 success: function (res) {
135 if (res.confirm) {
136 if (!res.content) {
137 uni.showToast({
138 title: '请输入拒绝理由',
139 icon: 'none'
140 })
141 } else {
142 doApproval(id, flag, res.content)
143 }
144 }
145 }
146 })
147 } else if (flag == '1') {
148 // 二次确认
149 uni.showModal({
150 title: '提示',
151 content: `确定审批通过吗`,
152 success: function (res) {
153 if (res.confirm) {
154 doApproval(id, flag)
155 }
156 }
157 })
158 }
159 }
185 160
186 :deep(.uni-easyinput__content-input) { 161 async function doApproval(id, flag, reason) {
187 font-size: 26rpx; 162 let obj = {
188 } 163 flag: flag,
189 164 reason: reason || '',
190 .invertedbtn-red { 165 ids: [id]
191 border-radius: 50px; 166 }
192 background-color: #fff; 167 console.log(obj)
168 uni.showLoading({
169 title: '加载中'
170 })
171 if (userType.value == 1) {
172 await api.changeLevelAudit(obj)
173 } else {
174 await api.changeLevelShenAudit(obj)
175 }
176 uni.hideLoading()
177 uni.showToast({
178 title: '操作成功',
179 icon: 'none'
180 })
181 getList()
182
183 }
184 </script>
193 185
194 font-size: 30rpx;
195 padding: 10rpx 20rpx;
196 }
197 }
198 </style>
...\ No newline at end of file ...\ No newline at end of file
186 <style lang='scss' scoped>
187 .searchbar {
188 display: flex;
189 align-items: center;
190 padding: 25rpx;
191 box-sizing: border-box;
192
193 :deep(.uni-easyinput .uni-easyinput__content) {
194 border-radius: 35rpx;
195 border: none;
196 height: 70rpx;
197 }
198
199 :deep(.uni-easyinput__content-input) {
200 font-size: 26rpx;
201 }
202
203 .invertedbtn-red {
204 border-radius: 50px;
205 background-color: #fff;
206
207 font-size: 30rpx;
208 padding: 10rpx 20rpx;
209 }
210 }
211 </style>
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!