no message
Showing
13 changed files
with
1603 additions
and
194 deletions
| ... | @@ -124,320 +124,303 @@ | ... | @@ -124,320 +124,303 @@ |
| 124 | "navigationBarTextStyle": "black", | 124 | "navigationBarTextStyle": "black", |
| 125 | "navigationBarBackgroundColor": "#ffffff" | 125 | "navigationBarBackgroundColor": "#ffffff" |
| 126 | } | 126 | } |
| 127 | } | 127 | }, { |
| 128 | ,{ | 128 | "path": "pages/personalVip/renew", |
| 129 | "path" : "pages/personalVip/renew", | 129 | "style": { |
| 130 | "style" : | ||
| 131 | { | ||
| 132 | "navigationBarTitleText": "会员缴费", | 130 | "navigationBarTitleText": "会员缴费", |
| 133 | "enablePullDownRefresh": false | 131 | "enablePullDownRefresh": false |
| 134 | } | 132 | } |
| 135 | 133 | ||
| 136 | } | 134 | }, { |
| 137 | ,{ | 135 | "path": "pages/personalVip/vipList", |
| 138 | "path" : "pages/personalVip/vipList", | 136 | "style": { |
| 139 | "style" : | ||
| 140 | { | ||
| 141 | "navigationBarTitleText": "会员列表", | 137 | "navigationBarTitleText": "会员列表", |
| 142 | "enablePullDownRefresh": false | 138 | "enablePullDownRefresh": false |
| 143 | } | 139 | } |
| 144 | 140 | ||
| 145 | } | 141 | }, { |
| 146 | ,{ | 142 | "path": "pages/personalVip/list", |
| 147 | "path" : "pages/personalVip/list", | 143 | "style": { |
| 148 | "style" : | ||
| 149 | { | ||
| 150 | "navigationBarTitleText": "会员查询", | 144 | "navigationBarTitleText": "会员查询", |
| 151 | "enablePullDownRefresh": false | 145 | "enablePullDownRefresh": false |
| 152 | } | 146 | } |
| 153 | 147 | ||
| 154 | } | 148 | }, { |
| 155 | ,{ | 149 | "path": "pages/personalVip/detail", |
| 156 | "path" : "pages/personalVip/detail", | 150 | "style": { |
| 157 | "style" : | ||
| 158 | { | ||
| 159 | "navigationBarTitleText": "会员信息", | 151 | "navigationBarTitleText": "会员信息", |
| 160 | "enablePullDownRefresh": false | 152 | "enablePullDownRefresh": false |
| 161 | } | 153 | } |
| 162 | 154 | ||
| 163 | } | 155 | }, { |
| 164 | ,{ | 156 | "path": "pages/personalVip/editVip", |
| 165 | "path" : "pages/personalVip/editVip", | 157 | "style": { |
| 166 | "style" : | ||
| 167 | { | ||
| 168 | "navigationBarTitleText": "编辑会员", | 158 | "navigationBarTitleText": "编辑会员", |
| 169 | "enablePullDownRefresh": false | 159 | "enablePullDownRefresh": false |
| 170 | } | 160 | } |
| 171 | 161 | ||
| 172 | } | 162 | }, { |
| 173 | ,{ | 163 | "path": "pages/personalVip/audit", |
| 174 | "path" : "pages/personalVip/audit", | 164 | "style": { |
| 175 | "style" : | ||
| 176 | { | ||
| 177 | "navigationBarTitleText": "缴费审批", | 165 | "navigationBarTitleText": "缴费审批", |
| 178 | "enablePullDownRefresh": false | 166 | "enablePullDownRefresh": false |
| 179 | } | 167 | } |
| 180 | 168 | ||
| 181 | } | 169 | }, { |
| 182 | ,{ | 170 | "path": "pages/personalVip/payment", |
| 183 | "path" : "pages/personalVip/payment", | 171 | "style": { |
| 184 | "style" : | ||
| 185 | { | ||
| 186 | "navigationBarTitleText": "会员缴费", | 172 | "navigationBarTitleText": "会员缴费", |
| 187 | "enablePullDownRefresh": false | 173 | "enablePullDownRefresh": false |
| 188 | } | 174 | } |
| 189 | 175 | ||
| 190 | } | 176 | }, { |
| 191 | ,{ | 177 | "path": "pages/level/approval", |
| 192 | "path" : "pages/level/approval", | 178 | "style": { |
| 193 | "style" : | ||
| 194 | { | ||
| 195 | "navigationBarTitleText": "级位考试审批", | 179 | "navigationBarTitleText": "级位考试审批", |
| 196 | "enablePullDownRefresh": false | 180 | "enablePullDownRefresh": false |
| 197 | } | 181 | } |
| 198 | 182 | ||
| 199 | } | 183 | }, { |
| 200 | ,{ | 184 | "path": "pages/rank/approval", |
| 201 | "path" : "pages/rank/approval", | 185 | "style": { |
| 202 | "style" : | ||
| 203 | { | ||
| 204 | "navigationBarTitleText": "段位考试审批", | 186 | "navigationBarTitleText": "段位考试审批", |
| 205 | "enablePullDownRefresh": false | 187 | "enablePullDownRefresh": false |
| 206 | } | 188 | } |
| 207 | 189 | ||
| 190 | }, { | ||
| 191 | "path": "pages/rank/skip/approval", | ||
| 192 | "style": { | ||
| 193 | "navigationBarTitleText": "越段考试审批", | ||
| 194 | "enablePullDownRefresh": false | ||
| 208 | } | 195 | } |
| 209 | ,{ | 196 | |
| 210 | "path" : "pages/index/perfect", | 197 | }, { |
| 211 | "style" : | 198 | "path": "pages/rank/apply", |
| 212 | { | 199 | "style": { |
| 213 | "navigationBarTitleText": "注册引导", | 200 | "navigationBarTitleText": "段位考试申请", |
| 214 | "enablePullDownRefresh": false | 201 | "enablePullDownRefresh": false |
| 215 | } | 202 | } |
| 216 | 203 | ||
| 204 | }, { | ||
| 205 | "path": "pages/rank/applyDetail", | ||
| 206 | "style": { | ||
| 207 | "navigationBarTitleText": "段位考试详情", | ||
| 208 | "enablePullDownRefresh": false | ||
| 217 | } | 209 | } |
| 218 | ,{ | 210 | |
| 219 | "path" : "pages/personalVip/paymentDetail", | 211 | }, { |
| 220 | "style" : | 212 | "path": "pages/rank/skip/applyDetail", |
| 221 | { | 213 | "style": { |
| 222 | "navigationBarTitleText": "缴费详情", | 214 | "navigationBarTitleText": "越段考试详情", |
| 223 | "enablePullDownRefresh": false | 215 | "enablePullDownRefresh": false |
| 224 | } | 216 | } |
| 225 | 217 | ||
| 218 | }, { | ||
| 219 | "path": "pages/index/perfect", | ||
| 220 | "style": { | ||
| 221 | "navigationBarTitleText": "注册引导", | ||
| 222 | "enablePullDownRefresh": false | ||
| 226 | } | 223 | } |
| 227 | ,{ | 224 | |
| 228 | "path" : "pages/personalVip/auditDetail", | 225 | }, { |
| 229 | "style" : | 226 | "path": "pages/personalVip/paymentDetail", |
| 230 | { | 227 | "style": { |
| 231 | "navigationBarTitleText": "会员缴费详情", | 228 | "navigationBarTitleText": "缴费详情", |
| 232 | "enablePullDownRefresh": false | 229 | "enablePullDownRefresh": false |
| 233 | } | 230 | } |
| 234 | 231 | ||
| 232 | }, { | ||
| 233 | "path": "pages/personalVip/auditDetail", | ||
| 234 | "style": { | ||
| 235 | "navigationBarTitleText": "会员缴费详情", | ||
| 236 | "enablePullDownRefresh": false | ||
| 235 | } | 237 | } |
| 236 | ,{ | 238 | |
| 237 | "path" : "pages/group/list", | 239 | }, { |
| 238 | "style" : | 240 | "path": "pages/group/list", |
| 239 | { | 241 | "style": { |
| 240 | "navigationBarTitleText": "团体会员", | 242 | "navigationBarTitleText": "团体会员", |
| 241 | "enablePullDownRefresh": false | 243 | "enablePullDownRefresh": false |
| 242 | } | 244 | } |
| 243 | 245 | ||
| 244 | } | 246 | }, { |
| 245 | ,{ | 247 | "path": "pages/group/detail", |
| 246 | "path" : "pages/group/detail", | 248 | "style": { |
| 247 | "style" : | ||
| 248 | { | ||
| 249 | "navigationBarTitleText": "机构会员", | 249 | "navigationBarTitleText": "机构会员", |
| 250 | "enablePullDownRefresh": false | 250 | "enablePullDownRefresh": false |
| 251 | } | 251 | } |
| 252 | 252 | ||
| 253 | } | 253 | }, { |
| 254 | ,{ | 254 | "path": "pages/personalVip/feeBill", |
| 255 | "path" : "pages/personalVip/feeBill", | 255 | "style": { |
| 256 | "style" : | ||
| 257 | { | ||
| 258 | "navigationBarTitleText": "会员缴费单", | 256 | "navigationBarTitleText": "会员缴费单", |
| 259 | "enablePullDownRefresh": false | 257 | "enablePullDownRefresh": false |
| 260 | } | 258 | } |
| 261 | 259 | ||
| 262 | },{ | 260 | }, { |
| 263 | "path" : "pages/group/feeBill", | 261 | "path": "pages/group/feeBill", |
| 264 | "style" : | 262 | "style": { |
| 265 | { | ||
| 266 | "navigationBarTitleText": "团体会员缴费单", | 263 | "navigationBarTitleText": "团体会员缴费单", |
| 267 | "enablePullDownRefresh": false | 264 | "enablePullDownRefresh": false |
| 268 | } | 265 | } |
| 269 | } | 266 | }, { |
| 270 | ,{ | 267 | "path": "pages/personalVip/feeBillDetail", |
| 271 | "path" : "pages/personalVip/feeBillDetail", | 268 | "style": { |
| 272 | "style" : | ||
| 273 | { | ||
| 274 | "navigationBarTitleText": "缴费单详情", | 269 | "navigationBarTitleText": "缴费单详情", |
| 275 | "enablePullDownRefresh": false | 270 | "enablePullDownRefresh": false |
| 276 | } | 271 | } |
| 277 | 272 | ||
| 278 | } ,{ | 273 | }, { |
| 279 | "path" : "pages/group/feeBillDetail", | 274 | "path": "pages/group/feeBillDetail", |
| 280 | "style" : | 275 | "style": { |
| 281 | { | ||
| 282 | "navigationBarTitleText": "缴费单详情", | 276 | "navigationBarTitleText": "缴费单详情", |
| 283 | "enablePullDownRefresh": false | 277 | "enablePullDownRefresh": false |
| 284 | } | 278 | } |
| 285 | 279 | ||
| 286 | } | 280 | }, { |
| 287 | ,{ | 281 | "path": "pages/personalVip/mobilize", |
| 288 | "path" : "pages/personalVip/mobilize", | 282 | "style": { |
| 289 | "style" : | ||
| 290 | { | ||
| 291 | "navigationBarTitleText": "会员调动", | 283 | "navigationBarTitleText": "会员调动", |
| 292 | "enablePullDownRefresh": false | 284 | "enablePullDownRefresh": false |
| 293 | } | 285 | } |
| 294 | 286 | ||
| 295 | } | 287 | }, { |
| 296 | ,{ | 288 | "path": "pages/personalVip/mobilizeDetail", |
| 297 | "path" : "pages/personalVip/mobilizeDetail", | 289 | "style": { |
| 298 | "style" : | ||
| 299 | { | ||
| 300 | "navigationBarTitleText": "会员调动详情", | 290 | "navigationBarTitleText": "会员调动详情", |
| 301 | "enablePullDownRefresh": false | 291 | "enablePullDownRefresh": false |
| 302 | } | 292 | } |
| 303 | 293 | ||
| 304 | } | 294 | }, { |
| 305 | ,{ | 295 | "path": "pages/group/apply/applyList", |
| 306 | "path" : "pages/group/apply/applyList", | 296 | "style": { |
| 307 | "style" : | ||
| 308 | { | ||
| 309 | "navigationBarTitleText": "团体会员审核", | 297 | "navigationBarTitleText": "团体会员审核", |
| 310 | "enablePullDownRefresh": false | 298 | "enablePullDownRefresh": false |
| 311 | } | 299 | } |
| 312 | 300 | ||
| 313 | } | 301 | }, { |
| 314 | ,{ | 302 | "path": "pages/personalVip/addMobilize", |
| 315 | "path" : "pages/personalVip/addMobilize", | 303 | "style": { |
| 316 | "style" : | ||
| 317 | { | ||
| 318 | "navigationBarTitleText": "新建调动", | 304 | "navigationBarTitleText": "新建调动", |
| 319 | "enablePullDownRefresh": false | 305 | "enablePullDownRefresh": false |
| 320 | } | 306 | } |
| 321 | 307 | ||
| 322 | } | 308 | }, { |
| 323 | ,{ | 309 | "path": "pages/level/apply", |
| 324 | "path" : "pages/level/apply", | 310 | "style": { |
| 325 | "style" : | ||
| 326 | { | ||
| 327 | "navigationBarTitleText": "级位考试申请", | 311 | "navigationBarTitleText": "级位考试申请", |
| 328 | "enablePullDownRefresh": false | 312 | "enablePullDownRefresh": false |
| 329 | } | 313 | } |
| 330 | 314 | ||
| 331 | } | 315 | }, { |
| 332 | ,{ | 316 | "path": "pages/level/applyDetail", |
| 333 | "path" : "pages/level/applyDetail", | 317 | "style": { |
| 334 | "style" : | ||
| 335 | { | ||
| 336 | "navigationBarTitleText": "级位考试详情", | 318 | "navigationBarTitleText": "级位考试详情", |
| 337 | "enablePullDownRefresh": false | 319 | "enablePullDownRefresh": false |
| 338 | } | 320 | } |
| 339 | 321 | ||
| 340 | } | 322 | }, { |
| 341 | ,{ | 323 | "path": "pages/level/addApply", |
| 342 | "path" : "pages/level/addApply", | 324 | "style": { |
| 343 | "style" : | ||
| 344 | { | ||
| 345 | "navigationBarTitleText": "编辑级位考试", | 325 | "navigationBarTitleText": "编辑级位考试", |
| 346 | "enablePullDownRefresh": false | 326 | "enablePullDownRefresh": false |
| 347 | } | 327 | } |
| 348 | 328 | ||
| 349 | } | 329 | }, { |
| 350 | ,{ | 330 | "path": "pages/level/chooseExaminer", |
| 351 | "path" : "pages/level/chooseExaminer", | 331 | "style": { |
| 352 | "style" : | ||
| 353 | { | ||
| 354 | "navigationBarTitleText": "选择考官", | 332 | "navigationBarTitleText": "选择考官", |
| 355 | "enablePullDownRefresh": false | 333 | "enablePullDownRefresh": false |
| 356 | } | 334 | } |
| 357 | 335 | ||
| 358 | },{ | 336 | }, { |
| 359 | "path" : "pages/level/merge", | 337 | "path": "pages/level/merge", |
| 360 | "style" : | 338 | "style": { |
| 361 | { | ||
| 362 | "navigationBarTitleText": "审核合并", | 339 | "navigationBarTitleText": "审核合并", |
| 363 | "enablePullDownRefresh": false | 340 | "enablePullDownRefresh": false |
| 364 | } | 341 | } |
| 365 | 342 | ||
| 366 | },{ | 343 | }, { |
| 367 | "path" : "pages/group/apply/merge", | 344 | "path": "pages/group/apply/merge", |
| 368 | "style" : | 345 | "style": { |
| 369 | { | ||
| 370 | "navigationBarTitleText": "审核合并", | 346 | "navigationBarTitleText": "审核合并", |
| 371 | "enablePullDownRefresh": false | 347 | "enablePullDownRefresh": false |
| 372 | } | 348 | } |
| 373 | 349 | ||
| 374 | },{ | 350 | }, { |
| 375 | "path" : "pages/group/apply/mergeUp", | 351 | "path": "pages/group/apply/mergeUp", |
| 376 | "style" : | 352 | "style": { |
| 377 | { | ||
| 378 | "navigationBarTitleText": "审核合并提交", | 353 | "navigationBarTitleText": "审核合并提交", |
| 379 | "enablePullDownRefresh": false | 354 | "enablePullDownRefresh": false |
| 380 | } | 355 | } |
| 381 | 356 | ||
| 382 | } | 357 | }, { |
| 383 | ,{ | 358 | "path": "pages/group/apply/applyDetail", |
| 384 | "path" : "pages/group/apply/applyDetail", | 359 | "style": { |
| 385 | "style" : | ||
| 386 | { | ||
| 387 | "navigationBarTitleText": "团体会员审核详情", | 360 | "navigationBarTitleText": "团体会员审核详情", |
| 388 | "enablePullDownRefresh": false | 361 | "enablePullDownRefresh": false |
| 389 | } | 362 | } |
| 390 | 363 | ||
| 391 | } | 364 | }, { |
| 392 | ,{ | 365 | "path": "pages/group/apply/record", |
| 393 | "path" : "pages/group/apply/record", | 366 | "style": { |
| 394 | "style" : | ||
| 395 | { | ||
| 396 | "navigationBarTitleText": "审核记录", | 367 | "navigationBarTitleText": "审核记录", |
| 397 | "enablePullDownRefresh": false | 368 | "enablePullDownRefresh": false |
| 398 | } | 369 | } |
| 399 | 370 | ||
| 400 | } | 371 | }, { |
| 401 | ,{ | 372 | "path": "pages/level/mergeUp", |
| 402 | "path" : "pages/level/mergeUp", | 373 | "style": { |
| 403 | "style" : | ||
| 404 | { | ||
| 405 | "navigationBarTitleText": "合并提交", | 374 | "navigationBarTitleText": "合并提交", |
| 406 | "enablePullDownRefresh": false | 375 | "enablePullDownRefresh": false |
| 407 | } | 376 | } |
| 408 | 377 | ||
| 409 | } | 378 | }, { |
| 410 | ,{ | 379 | "path": "pages/level/mergeUpDetail", |
| 411 | "path" : "pages/level/mergeUpDetail", | 380 | "style": { |
| 412 | "style" : | ||
| 413 | { | ||
| 414 | "navigationBarTitleText": "考试详情", | 381 | "navigationBarTitleText": "考试详情", |
| 415 | "enablePullDownRefresh": false | 382 | "enablePullDownRefresh": false |
| 416 | } | 383 | } |
| 417 | 384 | ||
| 418 | } | 385 | }, { |
| 419 | ,{ | 386 | "path": "pages/group/apply/mergeUpDetail", |
| 420 | "path" : "pages/group/apply/mergeUpDetail", | 387 | "style": { |
| 421 | "style" : | ||
| 422 | { | ||
| 423 | "navigationBarTitleText": "缴费详情", | 388 | "navigationBarTitleText": "缴费详情", |
| 424 | "enablePullDownRefresh": false | 389 | "enablePullDownRefresh": false |
| 425 | } | 390 | } |
| 426 | 391 | ||
| 427 | },{ | 392 | }, { |
| 428 | "path" : "pages/group/pay", | 393 | "path": "pages/group/pay", |
| 429 | "style" : | 394 | "style": { |
| 430 | { | ||
| 431 | "navigationBarTitleText": "团队会员认证", | 395 | "navigationBarTitleText": "团队会员认证", |
| 432 | "enablePullDownRefresh": false | 396 | "enablePullDownRefresh": false |
| 433 | } | 397 | } |
| 434 | },{ | 398 | }, { |
| 435 | "path" : "pages/group/payDetail", | 399 | "path": "pages/group/payDetail", |
| 436 | "style" : | 400 | "style": { |
| 437 | { | ||
| 438 | "navigationBarTitleText": "认证详情", | 401 | "navigationBarTitleText": "认证详情", |
| 439 | "enablePullDownRefresh": false | 402 | "enablePullDownRefresh": false |
| 440 | } | 403 | } |
| 404 | }, { | ||
| 405 | "path": "pages/rank/scoreApproval", | ||
| 406 | "style": { | ||
| 407 | "navigationBarTitleText": "段位考试成绩审核", | ||
| 408 | "enablePullDownRefresh": false | ||
| 409 | } | ||
| 410 | |||
| 411 | }, { | ||
| 412 | "path": "pages/rank/skip/scoreApproval", | ||
| 413 | "style": { | ||
| 414 | "navigationBarTitleText": "越段考试成绩审核", | ||
| 415 | "enablePullDownRefresh": false | ||
| 416 | } | ||
| 417 | |||
| 418 | }, { | ||
| 419 | "path": "pages/rank/skip/cert", | ||
| 420 | "style": { | ||
| 421 | "navigationBarTitleText": "越段证书发布", | ||
| 422 | "enablePullDownRefresh": false | ||
| 423 | } | ||
| 441 | } | 424 | } |
| 442 | ], | 425 | ], |
| 443 | "globalStyle": { | 426 | "globalStyle": { | ... | ... |
| ... | @@ -3,7 +3,8 @@ | ... | @@ -3,7 +3,8 @@ |
| 3 | <view class="bgbg"> | 3 | <view class="bgbg"> |
| 4 | <view class="welcome">您好! | 4 | <view class="welcome">您好! |
| 5 | {{memberInfo.name}} | 5 | {{memberInfo.name}} |
| 6 | <br />欢迎使用中跆协会员管理系统</view> | 6 | <br />欢迎使用中跆协会员管理系统 |
| 7 | </view> | ||
| 7 | <view class="flexbox"> | 8 | <view class="flexbox"> |
| 8 | <!-- userType 1:中跆协 2:省 3:市区 4:道馆--> | 9 | <!-- userType 1:中跆协 2:省 3:市区 4:道馆--> |
| 9 | <!-- 4 --> | 10 | <!-- 4 --> |
| ... | @@ -44,8 +45,32 @@ | ... | @@ -44,8 +45,32 @@ |
| 44 | <view v-if="userType!='4'" @click="goPath('/pages/level/approval')"> | 45 | <view v-if="userType!='4'" @click="goPath('/pages/level/approval')"> |
| 45 | <image />级位考试审核 | 46 | <image />级位考试审核 |
| 46 | </view> | 47 | </view> |
| 48 | <view v-if="userType=='2'" @click="goPath('/pages/level/apply')"> | ||
| 49 | <image />段位考试申请 | ||
| 50 | </view> | ||
| 51 | |||
| 47 | 52 | ||
| 48 | </view> | 53 | </view> |
| 54 | <view v-if="userType=='1'" class="girdBox"> | ||
| 55 | <view @click="goPath('/pages/rank/approval')"> | ||
| 56 | <image />段位考试审核 | ||
| 57 | </view> | ||
| 58 | <view @click="goPath('/pages/rank/scoreApproval')"> | ||
| 59 | <image />考段成绩审核 | ||
| 60 | </view> | ||
| 61 | <view @click="goPath('/pages/rank/cert')"> | ||
| 62 | <image />考段证书发布 | ||
| 63 | </view> | ||
| 64 | <view @click="goPath('/pages/rank/skip/approval')"> | ||
| 65 | <image />越段考试审核 | ||
| 66 | </view> | ||
| 67 | <view @click="goPath('/pages/rank/skip/scoreApproval')"> | ||
| 68 | <image />越段成绩审核 | ||
| 69 | </view> | ||
| 70 | <view @click="goPath('/pages/rank/skip/cert')"> | ||
| 71 | <image />越段证书发布 | ||
| 72 | </view> | ||
| 73 | </view> | ||
| 49 | <uni-section title="待办提醒" padding> | 74 | <uni-section title="待办提醒" padding> |
| 50 | <template v-slot:right> | 75 | <template v-slot:right> |
| 51 | <text @click="goMsgList" class="more">更多></text> | 76 | <text @click="goMsgList" class="more">更多></text> |
| ... | @@ -147,11 +172,12 @@ | ... | @@ -147,11 +172,12 @@ |
| 147 | uni.showLoading({ | 172 | uni.showLoading({ |
| 148 | title: '加载中' | 173 | title: '加载中' |
| 149 | }); | 174 | }); |
| 150 | loginServer.getMyOwnMemberInfo().then(res=>{ | 175 | loginServer.getMyOwnMemberInfo().then(res => { |
| 151 | userType.value = app.globalData.userType | 176 | userType.value = app.globalData.userType |
| 152 | memberInfo.value = app.globalData.memberInfo | 177 | memberInfo.value = app.globalData.memberInfo |
| 153 | console.log(userType.value,app.globalData.authenticationStatus) | 178 | console.log(userType.value, app.globalData.authenticationStatus) |
| 154 | if (userType.value != '1' && app.globalData.authenticationStatus != '2' && app.globalData.authenticationStatus != | 179 | if (userType.value != '1' && app.globalData.authenticationStatus != '2' && app.globalData |
| 180 | .authenticationStatus != | ||
| 155 | '4') { | 181 | '4') { |
| 156 | // 注册引导 | 182 | // 注册引导 |
| 157 | // uni.navigateTo({ | 183 | // uni.navigateTo({ | ... | ... |
| ... | @@ -38,10 +38,6 @@ | ... | @@ -38,10 +38,6 @@ |
| 38 | </view> | 38 | </view> |
| 39 | </view> | 39 | </view> |
| 40 | 40 | ||
| 41 | <view v-if="userType=='2'" class="block-btn-box"> | ||
| 42 | <button @click="goMerge" class="btn-red-kx">前往合并 > </button> | ||
| 43 | </view> | ||
| 44 | |||
| 45 | <view class="nodata" v-if="infoList.length==0"> | 41 | <view class="nodata" v-if="infoList.length==0"> |
| 46 | <image mode="aspectFit" src="/static/nodata.png"></image> | 42 | <image mode="aspectFit" src="/static/nodata.png"></image> |
| 47 | <text>暂无数据</text> | 43 | <text>暂无数据</text> | ... | ... |
| ... | @@ -49,13 +49,8 @@ | ... | @@ -49,13 +49,8 @@ |
| 49 | import * as api from '@/common/api.js' | 49 | import * as api from '@/common/api.js' |
| 50 | import config from '@/config.js' | 50 | import config from '@/config.js' |
| 51 | import _ from 'lodash' | 51 | import _ from 'lodash' |
| 52 | import { | 52 | import { ref } from 'vue' |
| 53 | onMounted, | 53 | import { onLoad } from '@dcloudio/uni-app' |
| 54 | ref | ||
| 55 | } from 'vue' | ||
| 56 | import { | ||
| 57 | onLoad | ||
| 58 | } from '@dcloudio/uni-app' | ||
| 59 | const app = getApp(); | 54 | const app = getApp(); |
| 60 | const queryParams = ref({ | 55 | const queryParams = ref({ |
| 61 | // pageNum: 1, | 56 | // pageNum: 1, | ... | ... |
pages/rank/apply.vue
0 → 100644
| 1 | <template> | ||
| 2 | <view> | ||
| 3 | <view class="searchbar"> | ||
| 4 | <uni-easyinput placeholderStyle="font-size:30rpx" :input-border="false" prefixIcon="search" | ||
| 5 | v-model="queryParams.name" placeholder="搜索考级名称" @blur="getList" @clear="getList"> | ||
| 6 | </uni-easyinput> | ||
| 7 | <view class="invertedbtn-red" @click="goAdd">+ 添加级位考试</view> | ||
| 8 | </view> | ||
| 9 | <view class="appList"> | ||
| 10 | <view class="appItem" v-for="item in list"> | ||
| 11 | <view class="status" @click="goDetail(item)"> | ||
| 12 | <text :class="{ | ||
| 13 | 'text-primary':item.status=='1', | ||
| 14 | 'text-success':item.status=='2', | ||
| 15 | 'text-danger':item.status=='3', | ||
| 16 | 'text-warning':item.status=='4' | ||
| 17 | }">{{ item.statusStr }}</text> | ||
| 18 | </view> | ||
| 19 | |||
| 20 | <view class="date" v-if="item.status!='0'&&item.submitTime">提交时间:{{item.submitTime}}</view> | ||
| 21 | <view class="name mt0" @click="goDetail(item)">{{item.name}}</view> | ||
| 22 | <view class="pp esp">考级日期:{{item.startTime.substring(0,16)}} 至 {{item.endTime.substring(0,16)}}</view> | ||
| 23 | <view class="flexbox" @click="goDetail(item)"> | ||
| 24 | <view> | ||
| 25 | 申请日期 | ||
| 26 | <view>{{item.applyTime.substring(0, 10)}}</view> | ||
| 27 | </view> | ||
| 28 | <view> | ||
| 29 | 申请单位 | ||
| 30 | <view>{{item.memberName}}</view> | ||
| 31 | </view> | ||
| 32 | <view> | ||
| 33 | 通过人数 | ||
| 34 | <view>{{item.pass}}</view> | ||
| 35 | </view> | ||
| 36 | </view> | ||
| 37 | <view class="func" v-if="item.status=='0'||item.status=='3'||item.status=='4'"> | ||
| 38 | <button @click="editThis(item)">编辑</button> | ||
| 39 | <button @click="handleSubmit(item)">提交审核</button> | ||
| 40 | </view> | ||
| 41 | </view> | ||
| 42 | </view> | ||
| 43 | |||
| 44 | |||
| 45 | |||
| 46 | <view class="nodata" v-if="list.length==0"> | ||
| 47 | <image mode="aspectFit" src="/static/nodata.png"></image> | ||
| 48 | <text>暂无数据</text> | ||
| 49 | </view> | ||
| 50 | </view> | ||
| 51 | </template> | ||
| 52 | |||
| 53 | <script setup> | ||
| 54 | import * as api from '@/common/api.js' | ||
| 55 | import config from '@/config.js' | ||
| 56 | import { | ||
| 57 | onMounted, | ||
| 58 | ref | ||
| 59 | } from 'vue' | ||
| 60 | import { | ||
| 61 | onLoad, | ||
| 62 | onShow | ||
| 63 | } from '@dcloudio/uni-app' | ||
| 64 | const app = getApp(); | ||
| 65 | const queryParams = ref({ | ||
| 66 | // pageNum: 1, | ||
| 67 | // pageSize: 10 | ||
| 68 | type: '1', | ||
| 69 | rankStatus: '0' | ||
| 70 | }) | ||
| 71 | const navs = ref(['未提交', '审核中', '审核通过', '审核拒绝']) | ||
| 72 | const current = ref() | ||
| 73 | const list = ref([]) | ||
| 74 | const total = ref(0) | ||
| 75 | const deptType = ref('') | ||
| 76 | onLoad(() => { | ||
| 77 | |||
| 78 | }) | ||
| 79 | onShow(() => { | ||
| 80 | if (app.globalData.isLogin) { | ||
| 81 | init() | ||
| 82 | } else { | ||
| 83 | |||
| 84 | app.firstLoadCallback = () => { | ||
| 85 | init() | ||
| 86 | }; | ||
| 87 | } | ||
| 88 | }) | ||
| 89 | |||
| 90 | function init() { | ||
| 91 | uni.showLoading({ | ||
| 92 | title: '加载中' | ||
| 93 | }) | ||
| 94 | deptType.value = app.globalData.deptType | ||
| 95 | getList() | ||
| 96 | } | ||
| 97 | |||
| 98 | |||
| 99 | function getList() { | ||
| 100 | api.getLevelList(queryParams.value).then(res => { | ||
| 101 | uni.hideLoading() | ||
| 102 | list.value = res.rows | ||
| 103 | total.value = res.total | ||
| 104 | }) | ||
| 105 | } | ||
| 106 | |||
| 107 | function goAdd() { | ||
| 108 | let path = `/pages/level/addApply` | ||
| 109 | uni.navigateTo({ | ||
| 110 | url: path | ||
| 111 | }); | ||
| 112 | } | ||
| 113 | |||
| 114 | function editThis(item) { | ||
| 115 | let path = `/pages/level/addApply?examId=${item.examId}` | ||
| 116 | uni.navigateTo({ | ||
| 117 | url: path | ||
| 118 | }); | ||
| 119 | } | ||
| 120 | function handleSubmit(item){ | ||
| 121 | uni.showModal({ | ||
| 122 | title: '提示', | ||
| 123 | content: `确定提交${item.name}进行审核吗`, | ||
| 124 | success: function(res) { | ||
| 125 | if (res.confirm) { | ||
| 126 | uni.showLoading({ | ||
| 127 | title:`提交中` | ||
| 128 | }) | ||
| 129 | upApply(item.examId) | ||
| 130 | } | ||
| 131 | } | ||
| 132 | }) | ||
| 133 | } | ||
| 134 | function upApply(id){ | ||
| 135 | api.submitVerity(id).then(res=>{ | ||
| 136 | uni.hideLoading() | ||
| 137 | getList() | ||
| 138 | uni.showToast({ | ||
| 139 | title:`提交成功` | ||
| 140 | }) | ||
| 141 | }) | ||
| 142 | } | ||
| 143 | |||
| 144 | |||
| 145 | function goDetail(item) { | ||
| 146 | if(item.status!='0'){ | ||
| 147 | let path = `/pages/level/applyDetail?examId=${item.examId}` | ||
| 148 | uni.navigateTo({ | ||
| 149 | url: path | ||
| 150 | }); | ||
| 151 | } else { | ||
| 152 | return | ||
| 153 | } | ||
| 154 | |||
| 155 | } | ||
| 156 | </script> | ||
| 157 | |||
| 158 | |||
| 159 | <style scoped> | ||
| 160 | .searchbar { | ||
| 161 | display: flex; | ||
| 162 | align-items: center; | ||
| 163 | padding: 25rpx; | ||
| 164 | box-sizing: border-box; | ||
| 165 | |||
| 166 | :deep(.uni-easyinput .uni-easyinput__content) { | ||
| 167 | border-radius: 35rpx; | ||
| 168 | border: none; | ||
| 169 | height: 70rpx; | ||
| 170 | } | ||
| 171 | |||
| 172 | :deep(.uni-easyinput__content-input) { | ||
| 173 | font-size: 26rpx; | ||
| 174 | } | ||
| 175 | |||
| 176 | .invertedbtn-red { | ||
| 177 | border-radius: 50px; | ||
| 178 | background-color: #fff; | ||
| 179 | |||
| 180 | font-size: 30rpx; | ||
| 181 | padding: 10rpx 20rpx; | ||
| 182 | } | ||
| 183 | } | ||
| 184 | |||
| 185 | .mt0 { | ||
| 186 | margin-top: 0 !important; | ||
| 187 | } | ||
| 188 | |||
| 189 | .appList .appItem .name { | ||
| 190 | width: 80%; | ||
| 191 | word-break: break-all; | ||
| 192 | } | ||
| 193 | </style> |
pages/rank/applyDetail.vue
0 → 100644
| 1 | <template> | ||
| 2 | <view> | ||
| 3 | <view class="wBox"> | ||
| 4 | <view class="tt">考级基本信息</view> | ||
| 5 | <view class="ddd"> | ||
| 6 | <text class="lab">考级名称:</text>{{ form.name }} | ||
| 7 | </view> | ||
| 8 | <view class="ddd"> | ||
| 9 | <text class="lab">申请日期:</text>{{form.applyTime}} | ||
| 10 | </view> | ||
| 11 | <view class="ddd"> | ||
| 12 | <text class="lab">申请单位:</text>{{ form.memberName }} | ||
| 13 | </view> | ||
| 14 | <view class="ddd"> | ||
| 15 | <text class="lab">考官:</text>{{form.examinerNames?.split(',').join('/')}} | ||
| 16 | </view> | ||
| 17 | <view class="ddd"> | ||
| 18 | <text class="lab">考试开始时间:</text>{{form.startTime}} | ||
| 19 | </view> | ||
| 20 | <view class="ddd"> | ||
| 21 | <text class="lab">考试结束时间:</text>{{form.endTime}} | ||
| 22 | </view> | ||
| 23 | <view class="ddd"> | ||
| 24 | <text class="lab">考级地点:</text>{{form.address}} | ||
| 25 | </view> | ||
| 26 | <view class="ddd" v-if="app.globalData.showPrice"> | ||
| 27 | <text class="lab">总金额:</text>{{(form.totalAmount*1).toFixed(2) }} | ||
| 28 | </view> | ||
| 29 | </view> | ||
| 30 | <view class="wBox"> | ||
| 31 | <view class="tt"> | ||
| 32 | 考生信息 | ||
| 33 | </view> | ||
| 34 | <view class="vipData"> | ||
| 35 | <view>共 <text>{{ tablePersonInfo.total }}</text>人</view> | ||
| 36 | <view v-for="l in tablePersonInfo.levelArr" :key="l.level"> | ||
| 37 | {{ szToHz(l.level) }}级: <text>{{ l.num }} </text>人 | ||
| 38 | </view> | ||
| 39 | </view> | ||
| 40 | <view class="userlist"> | ||
| 41 | <view class="item" v-for="n in list" style="background-color: #fffafa;"> | ||
| 42 | <view class="w100"> | ||
| 43 | <view class="name">{{n.realName}} <text>{{n.memName}}</text></view> | ||
| 44 | <!-- <view class="date">{{n.idcTypeStr}}:{{n.idcCode}}</view> --> | ||
| 45 | <view class="flexbox"> | ||
| 46 | <view> | ||
| 47 | 原有级别 | ||
| 48 | <text v-if="n.levelOld">{{ szToHz(n.levelOld) }}级</text> | ||
| 49 | <text v-else>十级</text> | ||
| 50 | </view> | ||
| 51 | <view> | ||
| 52 | 考试级别 | ||
| 53 | <text> | ||
| 54 | {{ szToHz(n.levelNew) }}级 | ||
| 55 | </text> | ||
| 56 | </view> | ||
| 57 | <view v-if="app.globalData.showPrice"> | ||
| 58 | 金额 | ||
| 59 | <text> | ||
| 60 | {{ (n.examFee * 1).toFixed(2) }} | ||
| 61 | </text> | ||
| 62 | </view> | ||
| 63 | <view> | ||
| 64 | 是否通过 | ||
| 65 | <text v-if="n.isPass=='1'" class="text-success">通过</text> | ||
| 66 | <text v-else class="text-danger">未通过</text> | ||
| 67 | </view> | ||
| 68 | </view> | ||
| 69 | </view> | ||
| 70 | |||
| 71 | </view> | ||
| 72 | </view> | ||
| 73 | |||
| 74 | </view> | ||
| 75 | <view class="wBox"> | ||
| 76 | <view class="tt"> | ||
| 77 | 审核信息 | ||
| 78 | </view> | ||
| 79 | <view> | ||
| 80 | <view class="stepItem" v-for="(n,index) in recordList"> | ||
| 81 | <view class="time">{{n.handleDate||'待审批'}}</view> | ||
| 82 | <view class="content"> | ||
| 83 | <view class="status"> | ||
| 84 | <text :class="{ | ||
| 85 | 'text-success':n.auditStatus=='1', | ||
| 86 | 'text-danger':n.auditStatus=='2', | ||
| 87 | 'text-warning':n.auditStatus=='3' | ||
| 88 | }">{{ n.auditStatusStr }}</text> | ||
| 89 | </view> | ||
| 90 | <!-- <view class="name">第 {{index+1}} 步</view> --> | ||
| 91 | <view class="deptName">{{n.deptName}}</view> | ||
| 92 | <view v-if="n.auditStatus==2"> | ||
| 93 | 备注:{{n.reason||'/' }} | ||
| 94 | </view> | ||
| 95 | </view> | ||
| 96 | </view> | ||
| 97 | </view> | ||
| 98 | </view> | ||
| 99 | |||
| 100 | </view> | ||
| 101 | </template> | ||
| 102 | |||
| 103 | <script setup> | ||
| 104 | import * as api from '@/common/api.js' | ||
| 105 | import config from '@/config.js' | ||
| 106 | import _ from 'lodash' | ||
| 107 | import { | ||
| 108 | onMounted, | ||
| 109 | ref | ||
| 110 | } from 'vue' | ||
| 111 | import { | ||
| 112 | onLoad, | ||
| 113 | onShow | ||
| 114 | } from '@dcloudio/uni-app' | ||
| 115 | const app = getApp(); | ||
| 116 | const deptType = ref('') | ||
| 117 | const form = ref({}) | ||
| 118 | const tablePersonInfo = ref({}) | ||
| 119 | const recordList = ref([]) | ||
| 120 | const list = ref([]) | ||
| 121 | let examId = '' | ||
| 122 | onLoad((option) => { | ||
| 123 | examId = option.examId | ||
| 124 | }) | ||
| 125 | onShow(() => { | ||
| 126 | if (app.globalData.isLogin) { | ||
| 127 | init() | ||
| 128 | } else { | ||
| 129 | app.firstLoadCallback = () => { | ||
| 130 | init() | ||
| 131 | }; | ||
| 132 | } | ||
| 133 | }) | ||
| 134 | |||
| 135 | function init() { | ||
| 136 | uni.showLoading({ | ||
| 137 | title: '加载中' | ||
| 138 | }) | ||
| 139 | deptType.value = app.globalData.deptType | ||
| 140 | getForm() | ||
| 141 | getRecordList() | ||
| 142 | getTablePersonInfo() | ||
| 143 | } | ||
| 144 | |||
| 145 | function getForm() { | ||
| 146 | api.getLevelApplyInfo(examId).then(res => { | ||
| 147 | uni.hideLoading() | ||
| 148 | form.value = res.data | ||
| 149 | }) | ||
| 150 | } | ||
| 151 | |||
| 152 | function getRecordList() { | ||
| 153 | api.getApprovalRecord(examId).then(res => { | ||
| 154 | recordList.value = res.data.levelSteps | ||
| 155 | }) | ||
| 156 | } | ||
| 157 | function getTablePersonInfo() { | ||
| 158 | api.getStudentList({ | ||
| 159 | examId: examId | ||
| 160 | }).then(res=>{ | ||
| 161 | list.value = res.rows | ||
| 162 | |||
| 163 | const total = list.value.length | ||
| 164 | const levelArr = [] | ||
| 165 | _.each(list.value, (d) => { | ||
| 166 | const temp = _.find(levelArr, (l) => { | ||
| 167 | return l.level == d.levelNew | ||
| 168 | }) | ||
| 169 | if (temp) { | ||
| 170 | temp.num++ | ||
| 171 | } else { | ||
| 172 | levelArr.push({ | ||
| 173 | level: d.levelNew, | ||
| 174 | num: 1 | ||
| 175 | }) | ||
| 176 | } | ||
| 177 | }) | ||
| 178 | |||
| 179 | tablePersonInfo.value = { | ||
| 180 | total: total, | ||
| 181 | levelArr: _.sortBy(levelArr, (l) => { | ||
| 182 | return l.level | ||
| 183 | }) | ||
| 184 | } | ||
| 185 | }) | ||
| 186 | } | ||
| 187 | function szToHz(num) { | ||
| 188 | const hzArr = ['〇', '一', '二', '三', '四', '五', '六', '七', '八', '九', '十'] | ||
| 189 | return hzArr[parseInt(num)] | ||
| 190 | } | ||
| 191 | </script> | ||
| 192 | |||
| 193 | <style scoped> | ||
| 194 | .wBox { | ||
| 195 | width: 700rpx; | ||
| 196 | padding: 30rpx; | ||
| 197 | margin: 20rpx auto; | ||
| 198 | background: #FFFFFF; | ||
| 199 | box-shadow: 0rpx 12rpx 116rpx 0rpx rgba(196, 203, 214, 0.1); | ||
| 200 | border-radius: 15rpx; | ||
| 201 | |||
| 202 | .tt { | ||
| 203 | color: #0A1629;margin: 0 0 30rpx; | ||
| 204 | font-size: 30rpx; | ||
| 205 | } | ||
| 206 | |||
| 207 | .ddd{font-size: 28rpx;color: #333; | ||
| 208 | .lab{color: #999;display: inline-block;text-align: justify;} | ||
| 209 | } | ||
| 210 | } | ||
| 211 | |||
| 212 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | <template> | 1 | <template> |
| 2 | <view> | 2 | <view> |
| 3 | <!-- 段位考试审核 --> | ||
| 4 | <view class="appList"> | ||
| 5 | <view class="appItem" v-for="item in list"> | ||
| 6 | <view class="status" @click="goDetail(item)"> | ||
| 7 | <text :class="{ | ||
| 8 | 'text-primary':item.status=='1', | ||
| 9 | 'text-success':item.status=='2', | ||
| 10 | 'text-danger':item.status=='3', | ||
| 11 | 'text-warning':item.status=='4' | ||
| 12 | }">{{ item.statusStr }}</text> | ||
| 13 | </view> | ||
| 14 | |||
| 15 | <view class="date" v-if="item.status!='0'&&item.submitTime">提交时间:{{item.submitTime}}</view> | ||
| 16 | <view class="name mt0" @click="goDetail(item)">{{item.name}}</view> | ||
| 17 | <view class="pp esp">考级日期:{{item.startTime.substring(0,16)}} 至 {{item.endTime.substring(0,16)}}</view> | ||
| 18 | <view class="flexbox" @click="goDetail(item)"> | ||
| 19 | <view> | ||
| 20 | 申请日期 | ||
| 21 | <view>{{item.applyTime.substring(0, 10)}}</view> | ||
| 22 | </view> | ||
| 23 | <view> | ||
| 24 | 申请单位 | ||
| 25 | <view>{{item.memberName}}</view> | ||
| 26 | </view> | ||
| 27 | <view> | ||
| 28 | 通过人数 | ||
| 29 | <view>{{item.pass}}</view> | ||
| 30 | </view> | ||
| 31 | </view> | ||
| 32 | <view class="func" v-if="item.auditStatus=='0'"> | ||
| 33 | <button @click="audit(item,'2')">拒绝</button> | ||
| 34 | <button @click="audit(item,'1')">同意</button> | ||
| 35 | </view> | ||
| 36 | </view> | ||
| 37 | </view> | ||
| 38 | |||
| 3 | 39 | ||
| 40 | |||
| 41 | <view class="nodata" v-if="list.length==0"> | ||
| 42 | <image mode="aspectFit" src="/static/nodata.png"></image> | ||
| 43 | <text>暂无数据</text> | ||
| 44 | </view> | ||
| 4 | </view> | 45 | </view> |
| 5 | </template> | 46 | </template> |
| 6 | 47 | ||
| 7 | <script> | 48 | <script setup> |
| 8 | export default { | 49 | import * as api from '@/common/api.js' |
| 9 | data() { | 50 | import config from '@/config.js' |
| 10 | return { | 51 | import _ from 'lodash' |
| 52 | import { ref } from 'vue' | ||
| 53 | import { onLoad,onShow } from '@dcloudio/uni-app' | ||
| 11 | 54 | ||
| 55 | const app = getApp(); | ||
| 56 | const queryParams = ref({ | ||
| 57 | // type: '1', | ||
| 58 | // rankStatus: '0' | ||
| 59 | }) | ||
| 60 | const list = ref([]) | ||
| 61 | const deptType = ref('') | ||
| 62 | onShow(() => { | ||
| 63 | if (app.globalData.isLogin) { | ||
| 64 | init() | ||
| 65 | } else { | ||
| 66 | |||
| 67 | app.firstLoadCallback = () => { | ||
| 68 | init() | ||
| 69 | }; | ||
| 70 | } | ||
| 71 | }) | ||
| 72 | function init(){ | ||
| 73 | uni.showLoading({ | ||
| 74 | title: '加载中' | ||
| 75 | }) | ||
| 76 | deptType.value = app.globalData.deptType | ||
| 77 | getList() | ||
| 78 | } | ||
| 79 | function getList() { | ||
| 80 | // api.getLevelList(queryParams.value).then(res => { | ||
| 81 | // uni.hideLoading() | ||
| 82 | // list.value = res.rows | ||
| 83 | // }) | ||
| 84 | } | ||
| 85 | function audit(item, flag) { | ||
| 86 | console.log(item.sourceData) | ||
| 87 | var obj = { | ||
| 88 | flag: flag, | ||
| 89 | reason: null, | ||
| 90 | body: [JSON.stringify(item.sourceData)] | ||
| 12 | } | 91 | } |
| 13 | }, | ||
| 14 | methods: { | ||
| 15 | 92 | ||
| 93 | if (flag == '2') { | ||
| 94 | // 拒绝 | ||
| 95 | // 弹出框填写理由 | ||
| 96 | uni.showModal({ | ||
| 97 | title: '请输入拒绝理由', | ||
| 98 | editable: true, | ||
| 99 | success: function(res) { | ||
| 100 | if (res.confirm) { | ||
| 101 | if (!res.content) { | ||
| 102 | uni.showToast({ | ||
| 103 | title: '请输入拒绝理由', | ||
| 104 | icon: 'none' | ||
| 105 | }) | ||
| 106 | } else { | ||
| 107 | obj.reason = res.content | ||
| 108 | doApproval(obj) | ||
| 109 | } | ||
| 16 | } | 110 | } |
| 17 | } | 111 | } |
| 112 | }) | ||
| 113 | } else if (flag == '1') { | ||
| 114 | // 二次确认 | ||
| 115 | uni.showModal({ | ||
| 116 | title: '提示', | ||
| 117 | content: `确定审批通过吗`, | ||
| 118 | success: function(res) { | ||
| 119 | if (res.confirm) { | ||
| 120 | doApproval(obj) | ||
| 121 | } | ||
| 122 | } | ||
| 123 | }) | ||
| 124 | } | ||
| 125 | } | ||
| 126 | |||
| 127 | function doApproval(obj) { | ||
| 128 | console.log(obj) | ||
| 129 | api.doVerity(obj).then((res) => { | ||
| 130 | uni.showToast({ | ||
| 131 | title: '操作成功', | ||
| 132 | icon: 'none' | ||
| 133 | }) | ||
| 134 | getList() | ||
| 135 | }) | ||
| 136 | } | ||
| 18 | </script> | 137 | </script> |
| 19 | 138 | ||
| 20 | <style> | 139 | <style lang="scss" scoped> |
| 21 | 140 | ||
| 22 | </style> | 141 | </style> | ... | ... |
pages/rank/cert.vue
0 → 100644
| 1 | <template> | ||
| 2 | <view> | ||
| 3 | <view class="appList"> | ||
| 4 | <view class="appItem" v-for="item in infoList"> | ||
| 5 | <view class="status" @click="goDetail(item)"> | ||
| 6 | <text :class="{ | ||
| 7 | 'text-primary':item.auditStatus=='0', | ||
| 8 | 'text-success':item.auditStatus=='1', | ||
| 9 | 'text-danger':item.auditStatus=='2', | ||
| 10 | 'text-warning':item.auditStatus=='3' | ||
| 11 | }">{{ item.statusStr }}</text> | ||
| 12 | </view> | ||
| 13 | |||
| 14 | <view class="date" v-if="item.status!='0'&&item.submitTime">提交时间:{{item.submitTime}}</view> | ||
| 15 | <view class="name mt0" @click="goDetail(item)">{{item.name}}</view> | ||
| 16 | <view class="pp esp">考级日期:{{item.startTime.substring(0,16)}} 至 {{item.endTime.substring(0,16)}}</view> | ||
| 17 | <view class="flexbox" @click="goDetail(item)"> | ||
| 18 | <view> | ||
| 19 | 申请日期 | ||
| 20 | <view>{{item.applyTime.substring(0, 10)}}</view> | ||
| 21 | </view> | ||
| 22 | <view> | ||
| 23 | 申请单位 | ||
| 24 | <view>{{item.memberName}}</view> | ||
| 25 | </view> | ||
| 26 | <view> | ||
| 27 | 通过人数 | ||
| 28 | <view>{{item.pass}}</view> | ||
| 29 | </view> | ||
| 30 | </view> | ||
| 31 | <view class="func"> | ||
| 32 | <button @click="send()">一键生成</button> | ||
| 33 | </view> | ||
| 34 | </view> | ||
| 35 | </view> | ||
| 36 | |||
| 37 | <view class="nodata" v-if="infoList.length==0"> | ||
| 38 | <image mode="aspectFit" src="/static/nodata.png"></image> | ||
| 39 | <text>暂无数据</text> | ||
| 40 | </view> | ||
| 41 | </view> | ||
| 42 | </template> | ||
| 43 | |||
| 44 | <script setup> | ||
| 45 | import * as api from '@/common/api.js' | ||
| 46 | import config from '@/config.js' | ||
| 47 | import _ from 'lodash' | ||
| 48 | import { | ||
| 49 | onMounted, | ||
| 50 | ref | ||
| 51 | } from 'vue' | ||
| 52 | import { | ||
| 53 | onLoad, | ||
| 54 | onShow | ||
| 55 | } from '@dcloudio/uni-app' | ||
| 56 | const app = getApp(); | ||
| 57 | const queryParams = ref({ | ||
| 58 | // pageNum: 1, | ||
| 59 | // pageSize: 10 | ||
| 60 | status: '0', | ||
| 61 | type: '1' | ||
| 62 | }) | ||
| 63 | const statusArr = ['审批中', '审批通过', '审批拒绝', '审批撤回'] | ||
| 64 | const current = ref() | ||
| 65 | const infoList = ref([]) | ||
| 66 | const total = ref(0) | ||
| 67 | const deptType = ref('') | ||
| 68 | const userType = ref('') | ||
| 69 | onLoad((option) => { | ||
| 70 | |||
| 71 | }) | ||
| 72 | onShow(() => { | ||
| 73 | if (app.globalData.isLogin) { | ||
| 74 | init() | ||
| 75 | } else { | ||
| 76 | |||
| 77 | app.firstLoadCallback = () => { | ||
| 78 | init() | ||
| 79 | }; | ||
| 80 | } | ||
| 81 | }) | ||
| 82 | |||
| 83 | function init() { | ||
| 84 | uni.showLoading({ | ||
| 85 | title: '加载中' | ||
| 86 | }) | ||
| 87 | deptType.value = app.globalData.deptType | ||
| 88 | userType.value = app.globalData.userType | ||
| 89 | getList() | ||
| 90 | } | ||
| 91 | |||
| 92 | |||
| 93 | function getList() { | ||
| 94 | api.getVerityList(queryParams.value).then(res => { | ||
| 95 | uni.hideLoading() | ||
| 96 | infoList.value = res.rows | ||
| 97 | }) | ||
| 98 | } | ||
| 99 | function goDetail(item) { | ||
| 100 | if(item.status!='0'){ | ||
| 101 | let path = `/pages/level/applyDetail?examId=${item.examId}` | ||
| 102 | uni.navigateTo({ | ||
| 103 | url: path | ||
| 104 | }); | ||
| 105 | } else { | ||
| 106 | return | ||
| 107 | } | ||
| 108 | } | ||
| 109 | function send(){ | ||
| 110 | |||
| 111 | } | ||
| 112 | </script> | ||
| 113 | |||
| 114 | |||
| 115 | <style scoped lang="scss"> | ||
| 116 | .mt0 { | ||
| 117 | margin-top: 0 !important; | ||
| 118 | } | ||
| 119 | |||
| 120 | .appList .appItem .name { | ||
| 121 | width: 80%; | ||
| 122 | word-break: break-all; | ||
| 123 | } | ||
| 124 | |||
| 125 | </style> |
pages/rank/scoreApproval.vue
0 → 100644
| 1 | <template> | ||
| 2 | <view> | ||
| 3 | <!-- 段位考试审核 --> | ||
| 4 | <view class="appList"> | ||
| 5 | <view class="appItem" v-for="item in list"> | ||
| 6 | <view class="status" @click="goDetail(item)"> | ||
| 7 | <text :class="{ | ||
| 8 | 'text-primary':item.status=='1', | ||
| 9 | 'text-success':item.status=='2', | ||
| 10 | 'text-danger':item.status=='3', | ||
| 11 | 'text-warning':item.status=='4' | ||
| 12 | }">{{ item.statusStr }}</text> | ||
| 13 | </view> | ||
| 14 | |||
| 15 | <view class="date" v-if="item.status!='0'&&item.submitTime">提交时间:{{item.submitTime}}</view> | ||
| 16 | <view class="name mt0" @click="goDetail(item)">{{item.name}}</view> | ||
| 17 | <view class="pp esp">考级日期:{{item.startTime.substring(0,16)}} 至 {{item.endTime.substring(0,16)}}</view> | ||
| 18 | <view class="flexbox" @click="goDetail(item)"> | ||
| 19 | <view> | ||
| 20 | 申请日期 | ||
| 21 | <view>{{item.applyTime.substring(0, 10)}}</view> | ||
| 22 | </view> | ||
| 23 | <view> | ||
| 24 | 申请单位 | ||
| 25 | <view>{{item.memberName}}</view> | ||
| 26 | </view> | ||
| 27 | <view> | ||
| 28 | 通过人数 | ||
| 29 | <view>{{item.pass}}</view> | ||
| 30 | </view> | ||
| 31 | </view> | ||
| 32 | <view class="func" v-if="item.auditStatus=='0'"> | ||
| 33 | <button @click="audit(item,'2')">拒绝</button> | ||
| 34 | <button @click="audit(item,'1')">同意</button> | ||
| 35 | </view> | ||
| 36 | </view> | ||
| 37 | </view> | ||
| 38 | |||
| 39 | |||
| 40 | |||
| 41 | <view class="nodata" v-if="list.length==0"> | ||
| 42 | <image mode="aspectFit" src="/static/nodata.png"></image> | ||
| 43 | <text>暂无数据</text> | ||
| 44 | </view> | ||
| 45 | </view> | ||
| 46 | </template> | ||
| 47 | |||
| 48 | <script setup> | ||
| 49 | import * as api from '@/common/api.js' | ||
| 50 | import config from '@/config.js' | ||
| 51 | import _ from 'lodash' | ||
| 52 | import { ref } from 'vue' | ||
| 53 | import { onLoad,onShow } from '@dcloudio/uni-app' | ||
| 54 | |||
| 55 | const app = getApp(); | ||
| 56 | const queryParams = ref({ | ||
| 57 | // type: '1', | ||
| 58 | // rankStatus: '0' | ||
| 59 | }) | ||
| 60 | const list = ref([]) | ||
| 61 | const deptType = ref('') | ||
| 62 | onShow(() => { | ||
| 63 | if (app.globalData.isLogin) { | ||
| 64 | init() | ||
| 65 | } else { | ||
| 66 | |||
| 67 | app.firstLoadCallback = () => { | ||
| 68 | init() | ||
| 69 | }; | ||
| 70 | } | ||
| 71 | }) | ||
| 72 | function init(){ | ||
| 73 | uni.showLoading({ | ||
| 74 | title: '加载中' | ||
| 75 | }) | ||
| 76 | deptType.value = app.globalData.deptType | ||
| 77 | getList() | ||
| 78 | } | ||
| 79 | function getList() { | ||
| 80 | // api.getLevelList(queryParams.value).then(res => { | ||
| 81 | // uni.hideLoading() | ||
| 82 | // list.value = res.rows | ||
| 83 | // }) | ||
| 84 | } | ||
| 85 | function audit(item, flag) { | ||
| 86 | console.log(item.sourceData) | ||
| 87 | var obj = { | ||
| 88 | flag: flag, | ||
| 89 | reason: null, | ||
| 90 | body: [JSON.stringify(item.sourceData)] | ||
| 91 | } | ||
| 92 | |||
| 93 | if (flag == '2') { | ||
| 94 | // 拒绝 | ||
| 95 | // 弹出框填写理由 | ||
| 96 | uni.showModal({ | ||
| 97 | title: '请输入拒绝理由', | ||
| 98 | editable: true, | ||
| 99 | success: function(res) { | ||
| 100 | if (res.confirm) { | ||
| 101 | if (!res.content) { | ||
| 102 | uni.showToast({ | ||
| 103 | title: '请输入拒绝理由', | ||
| 104 | icon: 'none' | ||
| 105 | }) | ||
| 106 | } else { | ||
| 107 | obj.reason = res.content | ||
| 108 | doApproval(obj) | ||
| 109 | } | ||
| 110 | } | ||
| 111 | } | ||
| 112 | }) | ||
| 113 | } else if (flag == '1') { | ||
| 114 | // 二次确认 | ||
| 115 | uni.showModal({ | ||
| 116 | title: '提示', | ||
| 117 | content: `确定审批通过吗`, | ||
| 118 | success: function(res) { | ||
| 119 | if (res.confirm) { | ||
| 120 | doApproval(obj) | ||
| 121 | } | ||
| 122 | } | ||
| 123 | }) | ||
| 124 | } | ||
| 125 | } | ||
| 126 | |||
| 127 | function doApproval(obj) { | ||
| 128 | console.log(obj) | ||
| 129 | api.doVerity(obj).then((res) => { | ||
| 130 | uni.showToast({ | ||
| 131 | title: '操作成功', | ||
| 132 | icon: 'none' | ||
| 133 | }) | ||
| 134 | getList() | ||
| 135 | }) | ||
| 136 | } | ||
| 137 | </script> | ||
| 138 | |||
| 139 | <style lang="scss" scoped> | ||
| 140 | |||
| 141 | </style> |
pages/rank/skip/applyDetail.vue
0 → 100644
| 1 | <template> | ||
| 2 | <view> | ||
| 3 | <view class="wBox"> | ||
| 4 | <view class="tt">考级基本信息</view> | ||
| 5 | <view class="ddd"> | ||
| 6 | <text class="lab">考级名称:</text>{{ form.name }} | ||
| 7 | </view> | ||
| 8 | <view class="ddd"> | ||
| 9 | <text class="lab">申请日期:</text>{{form.applyTime}} | ||
| 10 | </view> | ||
| 11 | <view class="ddd"> | ||
| 12 | <text class="lab">申请单位:</text>{{ form.memberName }} | ||
| 13 | </view> | ||
| 14 | <view class="ddd"> | ||
| 15 | <text class="lab">考官:</text>{{form.examinerNames?.split(',').join('/')}} | ||
| 16 | </view> | ||
| 17 | <view class="ddd"> | ||
| 18 | <text class="lab">考试开始时间:</text>{{form.startTime}} | ||
| 19 | </view> | ||
| 20 | <view class="ddd"> | ||
| 21 | <text class="lab">考试结束时间:</text>{{form.endTime}} | ||
| 22 | </view> | ||
| 23 | <view class="ddd"> | ||
| 24 | <text class="lab">考级地点:</text>{{form.address}} | ||
| 25 | </view> | ||
| 26 | <view class="ddd" v-if="app.globalData.showPrice"> | ||
| 27 | <text class="lab">总金额:</text>{{(form.totalAmount*1).toFixed(2) }} | ||
| 28 | </view> | ||
| 29 | </view> | ||
| 30 | <view class="wBox"> | ||
| 31 | <view class="tt"> | ||
| 32 | 考生信息 | ||
| 33 | </view> | ||
| 34 | <view class="vipData"> | ||
| 35 | <view>共 <text>{{ tablePersonInfo.total }}</text>人</view> | ||
| 36 | <view v-for="l in tablePersonInfo.levelArr" :key="l.level"> | ||
| 37 | {{ szToHz(l.level) }}级: <text>{{ l.num }} </text>人 | ||
| 38 | </view> | ||
| 39 | </view> | ||
| 40 | <view class="userlist"> | ||
| 41 | <view class="item" v-for="n in list" style="background-color: #fffafa;"> | ||
| 42 | <view class="w100"> | ||
| 43 | <view class="name">{{n.realName}} <text>{{n.memName}}</text></view> | ||
| 44 | <!-- <view class="date">{{n.idcTypeStr}}:{{n.idcCode}}</view> --> | ||
| 45 | <view class="flexbox"> | ||
| 46 | <view> | ||
| 47 | 原有级别 | ||
| 48 | <text v-if="n.levelOld">{{ szToHz(n.levelOld) }}级</text> | ||
| 49 | <text v-else>十级</text> | ||
| 50 | </view> | ||
| 51 | <view> | ||
| 52 | 考试级别 | ||
| 53 | <text> | ||
| 54 | {{ szToHz(n.levelNew) }}级 | ||
| 55 | </text> | ||
| 56 | </view> | ||
| 57 | <view v-if="app.globalData.showPrice"> | ||
| 58 | 金额 | ||
| 59 | <text> | ||
| 60 | {{ (n.examFee * 1).toFixed(2) }} | ||
| 61 | </text> | ||
| 62 | </view> | ||
| 63 | <view> | ||
| 64 | 是否通过 | ||
| 65 | <text v-if="n.isPass=='1'" class="text-success">通过</text> | ||
| 66 | <text v-else class="text-danger">未通过</text> | ||
| 67 | </view> | ||
| 68 | </view> | ||
| 69 | </view> | ||
| 70 | |||
| 71 | </view> | ||
| 72 | </view> | ||
| 73 | |||
| 74 | </view> | ||
| 75 | <view class="wBox"> | ||
| 76 | <view class="tt"> | ||
| 77 | 审核信息 | ||
| 78 | </view> | ||
| 79 | <view> | ||
| 80 | <view class="stepItem" v-for="(n,index) in recordList"> | ||
| 81 | <view class="time">{{n.handleDate||'待审批'}}</view> | ||
| 82 | <view class="content"> | ||
| 83 | <view class="status"> | ||
| 84 | <text :class="{ | ||
| 85 | 'text-success':n.auditStatus=='1', | ||
| 86 | 'text-danger':n.auditStatus=='2', | ||
| 87 | 'text-warning':n.auditStatus=='3' | ||
| 88 | }">{{ n.auditStatusStr }}</text> | ||
| 89 | </view> | ||
| 90 | <!-- <view class="name">第 {{index+1}} 步</view> --> | ||
| 91 | <view class="deptName">{{n.deptName}}</view> | ||
| 92 | <view v-if="n.auditStatus==2"> | ||
| 93 | 备注:{{n.reason||'/' }} | ||
| 94 | </view> | ||
| 95 | </view> | ||
| 96 | </view> | ||
| 97 | </view> | ||
| 98 | </view> | ||
| 99 | |||
| 100 | </view> | ||
| 101 | </template> | ||
| 102 | |||
| 103 | <script setup> | ||
| 104 | import * as api from '@/common/api.js' | ||
| 105 | import config from '@/config.js' | ||
| 106 | import _ from 'lodash' | ||
| 107 | import { | ||
| 108 | onMounted, | ||
| 109 | ref | ||
| 110 | } from 'vue' | ||
| 111 | import { | ||
| 112 | onLoad, | ||
| 113 | onShow | ||
| 114 | } from '@dcloudio/uni-app' | ||
| 115 | const app = getApp(); | ||
| 116 | const deptType = ref('') | ||
| 117 | const form = ref({}) | ||
| 118 | const tablePersonInfo = ref({}) | ||
| 119 | const recordList = ref([]) | ||
| 120 | const list = ref([]) | ||
| 121 | let examId = '' | ||
| 122 | onLoad((option) => { | ||
| 123 | examId = option.examId | ||
| 124 | }) | ||
| 125 | onShow(() => { | ||
| 126 | if (app.globalData.isLogin) { | ||
| 127 | init() | ||
| 128 | } else { | ||
| 129 | app.firstLoadCallback = () => { | ||
| 130 | init() | ||
| 131 | }; | ||
| 132 | } | ||
| 133 | }) | ||
| 134 | |||
| 135 | function init() { | ||
| 136 | uni.showLoading({ | ||
| 137 | title: '加载中' | ||
| 138 | }) | ||
| 139 | deptType.value = app.globalData.deptType | ||
| 140 | getForm() | ||
| 141 | getRecordList() | ||
| 142 | getTablePersonInfo() | ||
| 143 | } | ||
| 144 | |||
| 145 | function getForm() { | ||
| 146 | api.getLevelApplyInfo(examId).then(res => { | ||
| 147 | uni.hideLoading() | ||
| 148 | form.value = res.data | ||
| 149 | }) | ||
| 150 | } | ||
| 151 | |||
| 152 | function getRecordList() { | ||
| 153 | api.getApprovalRecord(examId).then(res => { | ||
| 154 | recordList.value = res.data.levelSteps | ||
| 155 | }) | ||
| 156 | } | ||
| 157 | function getTablePersonInfo() { | ||
| 158 | api.getStudentList({ | ||
| 159 | examId: examId | ||
| 160 | }).then(res=>{ | ||
| 161 | list.value = res.rows | ||
| 162 | |||
| 163 | const total = list.value.length | ||
| 164 | const levelArr = [] | ||
| 165 | _.each(list.value, (d) => { | ||
| 166 | const temp = _.find(levelArr, (l) => { | ||
| 167 | return l.level == d.levelNew | ||
| 168 | }) | ||
| 169 | if (temp) { | ||
| 170 | temp.num++ | ||
| 171 | } else { | ||
| 172 | levelArr.push({ | ||
| 173 | level: d.levelNew, | ||
| 174 | num: 1 | ||
| 175 | }) | ||
| 176 | } | ||
| 177 | }) | ||
| 178 | |||
| 179 | tablePersonInfo.value = { | ||
| 180 | total: total, | ||
| 181 | levelArr: _.sortBy(levelArr, (l) => { | ||
| 182 | return l.level | ||
| 183 | }) | ||
| 184 | } | ||
| 185 | }) | ||
| 186 | } | ||
| 187 | function szToHz(num) { | ||
| 188 | const hzArr = ['〇', '一', '二', '三', '四', '五', '六', '七', '八', '九', '十'] | ||
| 189 | return hzArr[parseInt(num)] | ||
| 190 | } | ||
| 191 | </script> | ||
| 192 | |||
| 193 | <style scoped> | ||
| 194 | .wBox { | ||
| 195 | width: 700rpx; | ||
| 196 | padding: 30rpx; | ||
| 197 | margin: 20rpx auto; | ||
| 198 | background: #FFFFFF; | ||
| 199 | box-shadow: 0rpx 12rpx 116rpx 0rpx rgba(196, 203, 214, 0.1); | ||
| 200 | border-radius: 15rpx; | ||
| 201 | |||
| 202 | .tt { | ||
| 203 | color: #0A1629;margin: 0 0 30rpx; | ||
| 204 | font-size: 30rpx; | ||
| 205 | } | ||
| 206 | |||
| 207 | .ddd{font-size: 28rpx;color: #333; | ||
| 208 | .lab{color: #999;display: inline-block;text-align: justify;} | ||
| 209 | } | ||
| 210 | } | ||
| 211 | |||
| 212 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
pages/rank/skip/approval.vue
0 → 100644
| 1 | <template> | ||
| 2 | <view> | ||
| 3 | <!-- 段位考试审核 --> | ||
| 4 | <view class="appList"> | ||
| 5 | <view class="appItem" v-for="item in list"> | ||
| 6 | <view class="status" @click="goDetail(item)"> | ||
| 7 | <text :class="{ | ||
| 8 | 'text-primary':item.status=='1', | ||
| 9 | 'text-success':item.status=='2', | ||
| 10 | 'text-danger':item.status=='3', | ||
| 11 | 'text-warning':item.status=='4' | ||
| 12 | }">{{ item.statusStr }}</text> | ||
| 13 | </view> | ||
| 14 | |||
| 15 | <view class="date" v-if="item.status!='0'&&item.submitTime">提交时间:{{item.submitTime}}</view> | ||
| 16 | <view class="name mt0" @click="goDetail(item)">{{item.name}}</view> | ||
| 17 | <view class="pp esp">考级日期:{{item.startTime.substring(0,16)}} 至 {{item.endTime.substring(0,16)}}</view> | ||
| 18 | <view class="flexbox" @click="goDetail(item)"> | ||
| 19 | <view> | ||
| 20 | 申请日期 | ||
| 21 | <view>{{item.applyTime.substring(0, 10)}}</view> | ||
| 22 | </view> | ||
| 23 | <view> | ||
| 24 | 申请单位 | ||
| 25 | <view>{{item.memberName}}</view> | ||
| 26 | </view> | ||
| 27 | <view> | ||
| 28 | 通过人数 | ||
| 29 | <view>{{item.pass}}</view> | ||
| 30 | </view> | ||
| 31 | </view> | ||
| 32 | <view class="func" v-if="item.auditStatus=='0'"> | ||
| 33 | <button @click="audit(item,'2')">拒绝</button> | ||
| 34 | <button @click="audit(item,'1')">同意</button> | ||
| 35 | </view> | ||
| 36 | </view> | ||
| 37 | </view> | ||
| 38 | |||
| 39 | |||
| 40 | |||
| 41 | <view class="nodata" v-if="list.length==0"> | ||
| 42 | <image mode="aspectFit" src="/static/nodata.png"></image> | ||
| 43 | <text>暂无数据</text> | ||
| 44 | </view> | ||
| 45 | </view> | ||
| 46 | </template> | ||
| 47 | |||
| 48 | <script setup> | ||
| 49 | import * as api from '@/common/api.js' | ||
| 50 | import config from '@/config.js' | ||
| 51 | import _ from 'lodash' | ||
| 52 | import { ref } from 'vue' | ||
| 53 | import { onLoad,onShow } from '@dcloudio/uni-app' | ||
| 54 | |||
| 55 | const app = getApp(); | ||
| 56 | const queryParams = ref({ | ||
| 57 | // type: '1', | ||
| 58 | // rankStatus: '0' | ||
| 59 | }) | ||
| 60 | const list = ref([]) | ||
| 61 | const deptType = ref('') | ||
| 62 | onShow(() => { | ||
| 63 | if (app.globalData.isLogin) { | ||
| 64 | init() | ||
| 65 | } else { | ||
| 66 | |||
| 67 | app.firstLoadCallback = () => { | ||
| 68 | init() | ||
| 69 | }; | ||
| 70 | } | ||
| 71 | }) | ||
| 72 | function init(){ | ||
| 73 | uni.showLoading({ | ||
| 74 | title: '加载中' | ||
| 75 | }) | ||
| 76 | deptType.value = app.globalData.deptType | ||
| 77 | getList() | ||
| 78 | } | ||
| 79 | function getList() { | ||
| 80 | // api.getLevelList(queryParams.value).then(res => { | ||
| 81 | // uni.hideLoading() | ||
| 82 | // list.value = res.rows | ||
| 83 | // }) | ||
| 84 | } | ||
| 85 | function audit(item, flag) { | ||
| 86 | console.log(item.sourceData) | ||
| 87 | var obj = { | ||
| 88 | flag: flag, | ||
| 89 | reason: null, | ||
| 90 | body: [JSON.stringify(item.sourceData)] | ||
| 91 | } | ||
| 92 | |||
| 93 | if (flag == '2') { | ||
| 94 | // 拒绝 | ||
| 95 | // 弹出框填写理由 | ||
| 96 | uni.showModal({ | ||
| 97 | title: '请输入拒绝理由', | ||
| 98 | editable: true, | ||
| 99 | success: function(res) { | ||
| 100 | if (res.confirm) { | ||
| 101 | if (!res.content) { | ||
| 102 | uni.showToast({ | ||
| 103 | title: '请输入拒绝理由', | ||
| 104 | icon: 'none' | ||
| 105 | }) | ||
| 106 | } else { | ||
| 107 | obj.reason = res.content | ||
| 108 | doApproval(obj) | ||
| 109 | } | ||
| 110 | } | ||
| 111 | } | ||
| 112 | }) | ||
| 113 | } else if (flag == '1') { | ||
| 114 | // 二次确认 | ||
| 115 | uni.showModal({ | ||
| 116 | title: '提示', | ||
| 117 | content: `确定审批通过吗`, | ||
| 118 | success: function(res) { | ||
| 119 | if (res.confirm) { | ||
| 120 | doApproval(obj) | ||
| 121 | } | ||
| 122 | } | ||
| 123 | }) | ||
| 124 | } | ||
| 125 | } | ||
| 126 | |||
| 127 | function doApproval(obj) { | ||
| 128 | console.log(obj) | ||
| 129 | api.doVerity(obj).then((res) => { | ||
| 130 | uni.showToast({ | ||
| 131 | title: '操作成功', | ||
| 132 | icon: 'none' | ||
| 133 | }) | ||
| 134 | getList() | ||
| 135 | }) | ||
| 136 | } | ||
| 137 | </script> | ||
| 138 | |||
| 139 | <style lang="scss" scoped> | ||
| 140 | |||
| 141 | </style> |
pages/rank/skip/cert.vue
0 → 100644
| 1 | <template> | ||
| 2 | <view> | ||
| 3 | <view class="appList"> | ||
| 4 | <view class="appItem" v-for="item in infoList"> | ||
| 5 | <view class="status" @click="goDetail(item)"> | ||
| 6 | <text :class="{ | ||
| 7 | 'text-primary':item.auditStatus=='0', | ||
| 8 | 'text-success':item.auditStatus=='1', | ||
| 9 | 'text-danger':item.auditStatus=='2', | ||
| 10 | 'text-warning':item.auditStatus=='3' | ||
| 11 | }">{{ item.statusStr }}</text> | ||
| 12 | </view> | ||
| 13 | |||
| 14 | <view class="date" v-if="item.status!='0'&&item.submitTime">提交时间:{{item.submitTime}}</view> | ||
| 15 | <view class="name mt0" @click="goDetail(item)">{{item.name}}</view> | ||
| 16 | <view class="pp esp">考级日期:{{item.startTime.substring(0,16)}} 至 {{item.endTime.substring(0,16)}}</view> | ||
| 17 | <view class="flexbox" @click="goDetail(item)"> | ||
| 18 | <view> | ||
| 19 | 申请日期 | ||
| 20 | <view>{{item.applyTime.substring(0, 10)}}</view> | ||
| 21 | </view> | ||
| 22 | <view> | ||
| 23 | 申请单位 | ||
| 24 | <view>{{item.memberName}}</view> | ||
| 25 | </view> | ||
| 26 | <view> | ||
| 27 | 通过人数 | ||
| 28 | <view>{{item.pass}}</view> | ||
| 29 | </view> | ||
| 30 | </view> | ||
| 31 | <view class="func"> | ||
| 32 | <button @click="send()">一键生成</button> | ||
| 33 | </view> | ||
| 34 | </view> | ||
| 35 | </view> | ||
| 36 | |||
| 37 | <view class="nodata" v-if="infoList.length==0"> | ||
| 38 | <image mode="aspectFit" src="/static/nodata.png"></image> | ||
| 39 | <text>暂无数据</text> | ||
| 40 | </view> | ||
| 41 | </view> | ||
| 42 | </template> | ||
| 43 | |||
| 44 | <script setup> | ||
| 45 | import * as api from '@/common/api.js' | ||
| 46 | import config from '@/config.js' | ||
| 47 | import _ from 'lodash' | ||
| 48 | import { | ||
| 49 | onMounted, | ||
| 50 | ref | ||
| 51 | } from 'vue' | ||
| 52 | import { | ||
| 53 | onLoad, | ||
| 54 | onShow | ||
| 55 | } from '@dcloudio/uni-app' | ||
| 56 | const app = getApp(); | ||
| 57 | const queryParams = ref({ | ||
| 58 | // pageNum: 1, | ||
| 59 | // pageSize: 10 | ||
| 60 | status: '0', | ||
| 61 | type: '1' | ||
| 62 | }) | ||
| 63 | const statusArr = ['审批中', '审批通过', '审批拒绝', '审批撤回'] | ||
| 64 | const current = ref() | ||
| 65 | const infoList = ref([]) | ||
| 66 | const total = ref(0) | ||
| 67 | const deptType = ref('') | ||
| 68 | const userType = ref('') | ||
| 69 | onLoad((option) => { | ||
| 70 | |||
| 71 | }) | ||
| 72 | onShow(() => { | ||
| 73 | if (app.globalData.isLogin) { | ||
| 74 | init() | ||
| 75 | } else { | ||
| 76 | |||
| 77 | app.firstLoadCallback = () => { | ||
| 78 | init() | ||
| 79 | }; | ||
| 80 | } | ||
| 81 | }) | ||
| 82 | |||
| 83 | function init() { | ||
| 84 | uni.showLoading({ | ||
| 85 | title: '加载中' | ||
| 86 | }) | ||
| 87 | deptType.value = app.globalData.deptType | ||
| 88 | userType.value = app.globalData.userType | ||
| 89 | getList() | ||
| 90 | } | ||
| 91 | |||
| 92 | |||
| 93 | function getList() { | ||
| 94 | api.getVerityList(queryParams.value).then(res => { | ||
| 95 | uni.hideLoading() | ||
| 96 | infoList.value = res.rows | ||
| 97 | }) | ||
| 98 | } | ||
| 99 | function goDetail(item) { | ||
| 100 | if(item.status!='0'){ | ||
| 101 | let path = `/pages/level/applyDetail?examId=${item.examId}` | ||
| 102 | uni.navigateTo({ | ||
| 103 | url: path | ||
| 104 | }); | ||
| 105 | } else { | ||
| 106 | return | ||
| 107 | } | ||
| 108 | } | ||
| 109 | function send(){ | ||
| 110 | |||
| 111 | } | ||
| 112 | </script> | ||
| 113 | |||
| 114 | |||
| 115 | <style scoped lang="scss"> | ||
| 116 | .mt0 { | ||
| 117 | margin-top: 0 !important; | ||
| 118 | } | ||
| 119 | |||
| 120 | .appList .appItem .name { | ||
| 121 | width: 80%; | ||
| 122 | word-break: break-all; | ||
| 123 | } | ||
| 124 | |||
| 125 | </style> |
pages/rank/skip/scoreApproval.vue
0 → 100644
| 1 | <template> | ||
| 2 | <view> | ||
| 3 | <!-- 段位考试审核 --> | ||
| 4 | <view class="appList"> | ||
| 5 | <view class="appItem" v-for="item in list"> | ||
| 6 | <view class="status" @click="goDetail(item)"> | ||
| 7 | <text :class="{ | ||
| 8 | 'text-primary':item.status=='1', | ||
| 9 | 'text-success':item.status=='2', | ||
| 10 | 'text-danger':item.status=='3', | ||
| 11 | 'text-warning':item.status=='4' | ||
| 12 | }">{{ item.statusStr }}</text> | ||
| 13 | </view> | ||
| 14 | |||
| 15 | <view class="date" v-if="item.status!='0'&&item.submitTime">提交时间:{{item.submitTime}}</view> | ||
| 16 | <view class="name mt0" @click="goDetail(item)">{{item.name}}</view> | ||
| 17 | <view class="pp esp">考级日期:{{item.startTime.substring(0,16)}} 至 {{item.endTime.substring(0,16)}}</view> | ||
| 18 | <view class="flexbox" @click="goDetail(item)"> | ||
| 19 | <view> | ||
| 20 | 申请日期 | ||
| 21 | <view>{{item.applyTime.substring(0, 10)}}</view> | ||
| 22 | </view> | ||
| 23 | <view> | ||
| 24 | 申请单位 | ||
| 25 | <view>{{item.memberName}}</view> | ||
| 26 | </view> | ||
| 27 | <view> | ||
| 28 | 通过人数 | ||
| 29 | <view>{{item.pass}}</view> | ||
| 30 | </view> | ||
| 31 | </view> | ||
| 32 | <view class="func" v-if="item.auditStatus=='0'"> | ||
| 33 | <button @click="audit(item,'2')">拒绝</button> | ||
| 34 | <button @click="audit(item,'1')">同意</button> | ||
| 35 | </view> | ||
| 36 | </view> | ||
| 37 | </view> | ||
| 38 | |||
| 39 | |||
| 40 | |||
| 41 | <view class="nodata" v-if="list.length==0"> | ||
| 42 | <image mode="aspectFit" src="/static/nodata.png"></image> | ||
| 43 | <text>暂无数据</text> | ||
| 44 | </view> | ||
| 45 | </view> | ||
| 46 | </template> | ||
| 47 | |||
| 48 | <script setup> | ||
| 49 | import * as api from '@/common/api.js' | ||
| 50 | import config from '@/config.js' | ||
| 51 | import _ from 'lodash' | ||
| 52 | import { ref } from 'vue' | ||
| 53 | import { onLoad,onShow } from '@dcloudio/uni-app' | ||
| 54 | |||
| 55 | const app = getApp(); | ||
| 56 | const queryParams = ref({ | ||
| 57 | // type: '1', | ||
| 58 | // rankStatus: '0' | ||
| 59 | }) | ||
| 60 | const list = ref([]) | ||
| 61 | const deptType = ref('') | ||
| 62 | onShow(() => { | ||
| 63 | if (app.globalData.isLogin) { | ||
| 64 | init() | ||
| 65 | } else { | ||
| 66 | |||
| 67 | app.firstLoadCallback = () => { | ||
| 68 | init() | ||
| 69 | }; | ||
| 70 | } | ||
| 71 | }) | ||
| 72 | function init(){ | ||
| 73 | uni.showLoading({ | ||
| 74 | title: '加载中' | ||
| 75 | }) | ||
| 76 | deptType.value = app.globalData.deptType | ||
| 77 | getList() | ||
| 78 | } | ||
| 79 | function getList() { | ||
| 80 | // api.getLevelList(queryParams.value).then(res => { | ||
| 81 | // uni.hideLoading() | ||
| 82 | // list.value = res.rows | ||
| 83 | // }) | ||
| 84 | } | ||
| 85 | function audit(item, flag) { | ||
| 86 | console.log(item.sourceData) | ||
| 87 | var obj = { | ||
| 88 | flag: flag, | ||
| 89 | reason: null, | ||
| 90 | body: [JSON.stringify(item.sourceData)] | ||
| 91 | } | ||
| 92 | |||
| 93 | if (flag == '2') { | ||
| 94 | // 拒绝 | ||
| 95 | // 弹出框填写理由 | ||
| 96 | uni.showModal({ | ||
| 97 | title: '请输入拒绝理由', | ||
| 98 | editable: true, | ||
| 99 | success: function(res) { | ||
| 100 | if (res.confirm) { | ||
| 101 | if (!res.content) { | ||
| 102 | uni.showToast({ | ||
| 103 | title: '请输入拒绝理由', | ||
| 104 | icon: 'none' | ||
| 105 | }) | ||
| 106 | } else { | ||
| 107 | obj.reason = res.content | ||
| 108 | doApproval(obj) | ||
| 109 | } | ||
| 110 | } | ||
| 111 | } | ||
| 112 | }) | ||
| 113 | } else if (flag == '1') { | ||
| 114 | // 二次确认 | ||
| 115 | uni.showModal({ | ||
| 116 | title: '提示', | ||
| 117 | content: `确定审批通过吗`, | ||
| 118 | success: function(res) { | ||
| 119 | if (res.confirm) { | ||
| 120 | doApproval(obj) | ||
| 121 | } | ||
| 122 | } | ||
| 123 | }) | ||
| 124 | } | ||
| 125 | } | ||
| 126 | |||
| 127 | function doApproval(obj) { | ||
| 128 | console.log(obj) | ||
| 129 | api.doVerity(obj).then((res) => { | ||
| 130 | uni.showToast({ | ||
| 131 | title: '操作成功', | ||
| 132 | icon: 'none' | ||
| 133 | }) | ||
| 134 | getList() | ||
| 135 | }) | ||
| 136 | } | ||
| 137 | </script> | ||
| 138 | |||
| 139 | <style lang="scss" scoped> | ||
| 140 | |||
| 141 | </style> |
-
Please register or sign in to post a comment