no message
Showing
17 changed files
with
826 additions
and
132 deletions
| ... | @@ -321,6 +321,56 @@ function addLevelInfo(data) { | ... | @@ -321,6 +321,56 @@ function addLevelInfo(data) { |
| 321 | params: data | 321 | params: data |
| 322 | }) | 322 | }) |
| 323 | } | 323 | } |
| 324 | function chooseStudentsList(query) { | ||
| 325 | return request({ | ||
| 326 | url: '/person/info/chooseStudentsList', | ||
| 327 | method: 'get', | ||
| 328 | params: query | ||
| 329 | }) | ||
| 330 | } | ||
| 331 | function batchChoose(data) { | ||
| 332 | return request({ | ||
| 333 | url: '/exam/person/batch/choose', | ||
| 334 | method: 'post', | ||
| 335 | params: data | ||
| 336 | }) | ||
| 337 | } | ||
| 338 | function editLevel(data) { | ||
| 339 | return request({ | ||
| 340 | url: '/exam/person/editLevel', | ||
| 341 | method: 'put', | ||
| 342 | params: data | ||
| 343 | }) | ||
| 344 | } | ||
| 345 | function getVerityList(params) { | ||
| 346 | return request({ | ||
| 347 | url: '/exam/info/verityList', | ||
| 348 | method: 'get', | ||
| 349 | params: params | ||
| 350 | }) | ||
| 351 | } | ||
| 352 | function getGroupHistoryByRelateId(id) { | ||
| 353 | return request({ | ||
| 354 | url: `/member/certified/getHistoryByRelateId/${id}`, | ||
| 355 | method: 'get' | ||
| 356 | }) | ||
| 357 | } | ||
| 358 | // 创建自己的团队 | ||
| 359 | function createMyMember(data) { | ||
| 360 | return request({ | ||
| 361 | url: '/member/info/createMyMember', | ||
| 362 | method: 'post', | ||
| 363 | params:data | ||
| 364 | }) | ||
| 365 | } | ||
| 366 | function doVerity(data) { | ||
| 367 | return request({ | ||
| 368 | url: `/exam/info/verity`, | ||
| 369 | method: 'put', | ||
| 370 | params: data | ||
| 371 | }) | ||
| 372 | } | ||
| 373 | |||
| 324 | 374 | ||
| 325 | export { | 375 | export { |
| 326 | getMessage, | 376 | getMessage, |
| ... | @@ -357,5 +407,8 @@ export { | ... | @@ -357,5 +407,8 @@ export { |
| 357 | getLevelApplyInfo, | 407 | getLevelApplyInfo, |
| 358 | getStudentList,getApprovalRecord,submitVerity, | 408 | getStudentList,getApprovalRecord,submitVerity, |
| 359 | getCoachList, | 409 | getCoachList, |
| 360 | updateLevelInfo,addLevelInfo | 410 | updateLevelInfo,addLevelInfo, |
| 411 | chooseStudentsList,batchChoose,getVerityList, | ||
| 412 | getGroupHistoryByRelateId, | ||
| 413 | createMyMember,doVerity | ||
| 361 | } | 414 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -5,6 +5,7 @@ page { | ... | @@ -5,6 +5,7 @@ page { |
| 5 | } | 5 | } |
| 6 | .esp{text-overflow: ellipsis;overflow: hidden;white-space: nowrap;} | 6 | .esp{text-overflow: ellipsis;overflow: hidden;white-space: nowrap;} |
| 7 | .flexbox{display: flex;} | 7 | .flexbox{display: flex;} |
| 8 | .mt30{margin-top: 30rpx;} | ||
| 8 | .mt40{margin-top: 40rpx;} | 9 | .mt40{margin-top: 40rpx;} |
| 9 | .mt50{margin-top: 50rpx;} | 10 | .mt50{margin-top: 50rpx;} |
| 10 | .align-forms-item-placeHolder{color: #999;line-height: 2.6;} | 11 | .align-forms-item-placeHolder{color: #999;line-height: 2.6;} |
| ... | @@ -55,7 +56,11 @@ font-size: 24rpx;} | ... | @@ -55,7 +56,11 @@ font-size: 24rpx;} |
| 55 | } | 56 | } |
| 56 | .btn-red-kx{background-color: #fff; | 57 | .btn-red-kx{background-color: #fff; |
| 57 | border: 1px solid #AD181F; | 58 | border: 1px solid #AD181F; |
| 58 | color: #AD181F;} | 59 | color: #AD181F; |
| 60 | } | ||
| 61 | .btn-red-kx.mini{font-size: 30rpx; line-height: 2; | ||
| 62 | border-radius: 30px;} | ||
| 63 | |||
| 59 | /* 底部固定按钮 */ | 64 | /* 底部固定按钮 */ |
| 60 | .fixedBottom {background: #fff;height: 150rpx; | 65 | .fixedBottom {background: #fff;height: 150rpx; |
| 61 | box-shadow: 0px -2rpx 10rpx 0px #e8e8e8; padding: 30rpx 0 0; | 66 | box-shadow: 0px -2rpx 10rpx 0px #e8e8e8; padding: 30rpx 0 0; |
| ... | @@ -325,3 +330,24 @@ color: #7D8592;} | ... | @@ -325,3 +330,24 @@ color: #7D8592;} |
| 325 | display: block; | 330 | display: block; |
| 326 | font-size: 14px; | 331 | font-size: 14px; |
| 327 | } | 332 | } |
| 333 | .bgbg{padding:0 0 60rpx; | ||
| 334 | color: #fff; | ||
| 335 | background: #C40F18; | ||
| 336 | } | ||
| 337 | .girdBox{display: flex;flex-wrap: wrap;padding: 0 0 40rpx; | ||
| 338 | background: #FFFFFF;position: relative;top: -30rpx; | ||
| 339 | border-radius: 20rpx 20rpx 0rpx 0rpx; | ||
| 340 | view{width: 25%;text-align: center; | ||
| 341 | font-size: 24rpx; | ||
| 342 | color: #434343; | ||
| 343 | image{width: 20vw;height: 20vw;display: block;margin: auto;} | ||
| 344 | } | ||
| 345 | } | ||
| 346 | |||
| 347 | |||
| 348 | |||
| 349 | |||
| 350 | |||
| 351 | |||
| 352 | |||
| 353 | ... | ... |
| ... | @@ -3,7 +3,7 @@ | ... | @@ -3,7 +3,7 @@ |
| 3 | 3 | ||
| 4 | 4 | ||
| 5 | // staging | 5 | // staging |
| 6 | const baseUrl_api = "http://192.168.1.96:8787"; | 6 | const baseUrl_api = "http://192.168.1.97:8787"; |
| 7 | const fileUrl_api = "http://192.168.1.11:8787"; | 7 | const fileUrl_api = "http://192.168.1.11:8787"; |
| 8 | 8 | ||
| 9 | export default { | 9 | export default { | ... | ... |
| ... | @@ -288,7 +288,7 @@ | ... | @@ -288,7 +288,7 @@ |
| 288 | 288 | ||
| 289 | } | 289 | } |
| 290 | ,{ | 290 | ,{ |
| 291 | "path" : "pages/group/applyList", | 291 | "path" : "pages/group/apply/applyList", |
| 292 | "style" : | 292 | "style" : |
| 293 | { | 293 | { |
| 294 | "navigationBarTitleText": "团体会员审核", | 294 | "navigationBarTitleText": "团体会员审核", |
| ... | @@ -341,6 +341,24 @@ | ... | @@ -341,6 +341,24 @@ |
| 341 | } | 341 | } |
| 342 | 342 | ||
| 343 | } | 343 | } |
| 344 | ,{ | ||
| 345 | "path" : "pages/group/apply/applyDetail", | ||
| 346 | "style" : | ||
| 347 | { | ||
| 348 | "navigationBarTitleText": "团体会员审核详情", | ||
| 349 | "enablePullDownRefresh": false | ||
| 350 | } | ||
| 351 | |||
| 352 | } | ||
| 353 | ,{ | ||
| 354 | "path" : "pages/group/apply/record", | ||
| 355 | "style" : | ||
| 356 | { | ||
| 357 | "navigationBarTitleText": "审核记录", | ||
| 358 | "enablePullDownRefresh": false | ||
| 359 | } | ||
| 360 | |||
| 361 | } | ||
| 344 | ], | 362 | ], |
| 345 | "globalStyle": { | 363 | "globalStyle": { |
| 346 | "navigationStyle": "custom", | 364 | "navigationStyle": "custom", | ... | ... |
pages/group/apply/applyDetail.vue
0 → 100644
| 1 | <template> | ||
| 2 | <view class="hasfixedbottom"> | ||
| 3 | <view class="wBox"> | ||
| 4 | <view class="tt">{{form.name}}</view> | ||
| 5 | |||
| 6 | <!-- 成员 --> | ||
| 7 | <view class="userlist"> | ||
| 8 | <view class="item" v-for="n in list"> | ||
| 9 | <view class="photobox"> | ||
| 10 | <view class="colorful">{{n.perName?.slice(0,1)}}</view> | ||
| 11 | </view> | ||
| 12 | <view> | ||
| 13 | <view class="name">{{n.perName}}</view> | ||
| 14 | <view class="date">申请调入一级协会 {{n.sourceShenDeptName||'--'}}</view> | ||
| 15 | <view class="date">申请调入单位 {{n.targetDeptName||'--'}}</view> | ||
| 16 | </view> | ||
| 17 | </view> | ||
| 18 | </view> | ||
| 19 | |||
| 20 | </view> | ||
| 21 | |||
| 22 | <view class="h3-padding">审核流程</view> | ||
| 23 | <view class="wBox"> | ||
| 24 | <view class="stepItem" v-for="(n,index) in auditLog"> | ||
| 25 | <view class="time">{{n.auditTime||'待审批'}}</view> | ||
| 26 | <view class="content"> | ||
| 27 | <view class="status"> | ||
| 28 | <text v-if="n.auditResult==1" class="text-success">审核通过</text> | ||
| 29 | <text v-if="n.auditResult==2" class="text-danger"> 审核拒绝</text> | ||
| 30 | <text v-if="n.auditResult==0" class="text-primary"> 审核中</text> | ||
| 31 | </view> | ||
| 32 | <!-- <view class="name">第 {{index+1}} 步</view> --> | ||
| 33 | <view class="deptName">{{n.auditDeptName}}</view> | ||
| 34 | <view v-if="n.auditResult==2"> | ||
| 35 | 备注:{{n.auditMsg||'/' }} | ||
| 36 | </view> | ||
| 37 | </view> | ||
| 38 | </view> | ||
| 39 | </view> | ||
| 40 | |||
| 41 | <view class="fixedBottom" v-if="(deptType == 1)&&form.ztxRes == 0"> | ||
| 42 | <button class="btn-red-kx" @click="audit(form.id,'2')">拒绝</button> | ||
| 43 | <button class="btn-red" @click="audit(form.id,'1')">同意</button> | ||
| 44 | </view> | ||
| 45 | |||
| 46 | <view class="fixedBottom" v-if="(deptType == 2 || deptType == 3)&&form.shenRes == 0"> | ||
| 47 | <button class="btn-red-kx" @click="audit(form.id,'2')">拒绝</button> | ||
| 48 | <button class="btn-red" @click="audit(form.id,'1')">同意</button> | ||
| 49 | </view> | ||
| 50 | |||
| 51 | </view> | ||
| 52 | </template> | ||
| 53 | |||
| 54 | <script setup> | ||
| 55 | import * as api from '@/common/api.js' | ||
| 56 | import config from '@/config.js' | ||
| 57 | import { | ||
| 58 | onMounted, | ||
| 59 | ref | ||
| 60 | } from 'vue' | ||
| 61 | import { | ||
| 62 | onLoad | ||
| 63 | } from '@dcloudio/uni-app' | ||
| 64 | const app = getApp(); | ||
| 65 | const queryParams = ref({}) | ||
| 66 | |||
| 67 | const form = ref({}) | ||
| 68 | const list = ref([]) | ||
| 69 | const auditLog = ref([]) | ||
| 70 | const feelList = ref([]) | ||
| 71 | const total = ref(0) | ||
| 72 | const totalYear = ref(0) | ||
| 73 | const deptType = ref() | ||
| 74 | let rangeId = '' | ||
| 75 | onLoad((option) => { | ||
| 76 | rangeId = option.rangeId | ||
| 77 | if ('auditLog' in option) { | ||
| 78 | auditLog.value = JSON.parse(decodeURIComponent(option.auditLog)) | ||
| 79 | } | ||
| 80 | if ('form' in option) { | ||
| 81 | form.value = JSON.parse(decodeURIComponent(option.form)) | ||
| 82 | } | ||
| 83 | console.log(form.value) | ||
| 84 | if (app.globalData.isLogin) { | ||
| 85 | init() | ||
| 86 | } else { | ||
| 87 | |||
| 88 | app.firstLoadCallback = () => { | ||
| 89 | init() | ||
| 90 | }; | ||
| 91 | } | ||
| 92 | |||
| 93 | }) | ||
| 94 | |||
| 95 | function init() { | ||
| 96 | deptType.value = app.globalData.deptType | ||
| 97 | getForm() | ||
| 98 | } | ||
| 99 | |||
| 100 | function getForm() { | ||
| 101 | uni.showLoading({ | ||
| 102 | title: '加载中' | ||
| 103 | }) | ||
| 104 | api.getTransferList({ | ||
| 105 | rangeId: rangeId | ||
| 106 | }).then(res => { | ||
| 107 | uni.hideLoading() | ||
| 108 | list.value = res.rows | ||
| 109 | }) | ||
| 110 | } | ||
| 111 | |||
| 112 | function audit(rangeId, flag) { | ||
| 113 | if (flag == '2') { | ||
| 114 | // 拒绝 | ||
| 115 | // 弹出框填写理由 | ||
| 116 | uni.showModal({ | ||
| 117 | title: '请输入拒绝理由', | ||
| 118 | editable: true, | ||
| 119 | success: function(res) { | ||
| 120 | if (res.confirm) { | ||
| 121 | if (!res.content) { | ||
| 122 | uni.showToast({ | ||
| 123 | title: '请输入拒绝理由', | ||
| 124 | icon: 'none' | ||
| 125 | }) | ||
| 126 | } else { | ||
| 127 | doApproval(rangeId, flag, res.content) | ||
| 128 | } | ||
| 129 | } | ||
| 130 | } | ||
| 131 | }) | ||
| 132 | } else if (flag == '1') { | ||
| 133 | // 二次确认 | ||
| 134 | uni.showModal({ | ||
| 135 | title: '提示', | ||
| 136 | content: `确定审批通过吗`, | ||
| 137 | success: function(res) { | ||
| 138 | if (res.confirm) { | ||
| 139 | doApproval(rangeId, flag) | ||
| 140 | } | ||
| 141 | } | ||
| 142 | }) | ||
| 143 | } | ||
| 144 | } | ||
| 145 | |||
| 146 | function doApproval(rangeId, flag, reason) { | ||
| 147 | var obj = { | ||
| 148 | flag: flag, | ||
| 149 | reason: reason || '', | ||
| 150 | rangeIds: rangeIds | ||
| 151 | } | ||
| 152 | console.log(obj) | ||
| 153 | api.mobilizeAudit(obj).then((res) => { | ||
| 154 | uni.showToast({ | ||
| 155 | title: '操作成功', | ||
| 156 | icon: 'none' | ||
| 157 | }) | ||
| 158 | uni.navigateBack() | ||
| 159 | }) | ||
| 160 | } | ||
| 161 | </script> | ||
| 162 | |||
| 163 | <style scoped lang="scss"> | ||
| 164 | .wBox { | ||
| 165 | width: 700rpx; | ||
| 166 | padding: 30rpx; | ||
| 167 | margin: 20rpx auto 0; | ||
| 168 | background: #FFFFFF; | ||
| 169 | box-shadow: 0rpx 12rpx 116rpx 0rpx rgba(196, 203, 214, 0.1); | ||
| 170 | border-radius: 15rpx; | ||
| 171 | |||
| 172 | .tt { | ||
| 173 | color: #0A1629; | ||
| 174 | font-size: 30rpx; | ||
| 175 | } | ||
| 176 | } | ||
| 177 | |||
| 178 | .userlist { | ||
| 179 | .item { | ||
| 180 | border-bottom: 1px dashed #e5e5e5; | ||
| 181 | position: relative; | ||
| 182 | |||
| 183 | .date { | ||
| 184 | margin-top: 10rpx; | ||
| 185 | } | ||
| 186 | |||
| 187 | .name { | ||
| 188 | text { | ||
| 189 | margin-left: 1em; | ||
| 190 | color: #4C5359; | ||
| 191 | font-size: 26rpx; | ||
| 192 | } | ||
| 193 | } | ||
| 194 | |||
| 195 | .nian { | ||
| 196 | position: absolute; | ||
| 197 | right: 0; | ||
| 198 | font-size: 30rpx; | ||
| 199 | color: #AD181F; | ||
| 200 | } | ||
| 201 | } | ||
| 202 | } | ||
| 203 | |||
| 204 | .info { | ||
| 205 | display: flex; | ||
| 206 | margin: 30rpx 0 20rpx; | ||
| 207 | font-size: 28rpx; | ||
| 208 | |||
| 209 | view { | ||
| 210 | color: #7D8592; | ||
| 211 | margin-right: 20rpx; | ||
| 212 | } | ||
| 213 | } | ||
| 214 | |||
| 215 | .fixedBottom { | ||
| 216 | justify-content: center; | ||
| 217 | |||
| 218 | button { | ||
| 219 | margin: 0 20rpx; | ||
| 220 | width: 286rpx; | ||
| 221 | } | ||
| 222 | |||
| 223 | .btn-red { | ||
| 224 | width: 286rpx; | ||
| 225 | } | ||
| 226 | } | ||
| 227 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| ... | @@ -19,15 +19,19 @@ | ... | @@ -19,15 +19,19 @@ |
| 19 | 缴费单位 | 19 | 缴费单位 |
| 20 | <view>{{ item.content.memberName }}</view> | 20 | <view>{{ item.content.memberName }}</view> |
| 21 | </view> | 21 | </view> |
| 22 | <view> | 22 | <view v-if="userType = '3'"> |
| 23 | 会员合计 | 23 | 所属省份 |
| 24 | <view>{{item.content.allCount}}</view> | 24 | <view>{{item.content.province}}</view> |
| 25 | </view> | 25 | </view> |
| 26 | <view> | 26 | <view> |
| 27 | 新会员合计 | 27 | 年限 |
| 28 | <view>{{item.content.renewYear}}</view> | 28 | <view>{{item.content.renewYear}}</view> |
| 29 | </view> | 29 | </view> |
| 30 | <view> | 30 | <view v-if="deptType == 1"> |
| 31 | 团体会员/新会员 | ||
| 32 | <view>{{item.content.allCount}}/{{item.content.newCount}}</view> | ||
| 33 | </view> | ||
| 34 | <view v-if="deptType == 1"> | ||
| 31 | 费用合计 | 35 | 费用合计 |
| 32 | <view> {{ (item?.content?.allFee*1).toFixed(2) }}</view> | 36 | <view> {{ (item?.content?.allFee*1).toFixed(2) }}</view> |
| 33 | </view> | 37 | </view> |
| ... | @@ -71,7 +75,8 @@ | ... | @@ -71,7 +75,8 @@ |
| 71 | const current = ref() | 75 | const current = ref() |
| 72 | const list = ref([]) | 76 | const list = ref([]) |
| 73 | const total = ref(0) | 77 | const total = ref(0) |
| 74 | const deptType = ref('') | 78 | const deptType = ref('') |
| 79 | const userType = ref('') | ||
| 75 | onLoad(() => { | 80 | onLoad(() => { |
| 76 | if (app.globalData.isLogin) { | 81 | if (app.globalData.isLogin) { |
| 77 | init() | 82 | init() |
| ... | @@ -84,7 +89,8 @@ | ... | @@ -84,7 +89,8 @@ |
| 84 | }) | 89 | }) |
| 85 | 90 | ||
| 86 | function init() { | 91 | function init() { |
| 87 | deptType.value = app.globalData.deptType | 92 | deptType.value = app.globalData.deptType |
| 93 | userType.value = app.globalData.userType | ||
| 88 | getList() | 94 | getList() |
| 89 | } | 95 | } |
| 90 | 96 | ||
| ... | @@ -171,11 +177,22 @@ | ... | @@ -171,11 +177,22 @@ |
| 171 | function goDetail(item) { | 177 | function goDetail(item) { |
| 172 | const auditLog = encodeURIComponent(JSON.stringify(item.auditLog)) | 178 | const auditLog = encodeURIComponent(JSON.stringify(item.auditLog)) |
| 173 | const form = encodeURIComponent(JSON.stringify(item)) | 179 | const form = encodeURIComponent(JSON.stringify(item)) |
| 174 | 180 | ||
| 175 | let path = `/pages/personalVip/mobilizeDetail?rangeId=${item.id}&auditLog=${auditLog}&form=${form}` | 181 | if(userType.value=='1'){ |
| 176 | uni.navigateTo({ | 182 | // 查看 |
| 177 | url: path | 183 | let path = `/pages/group/apply/applyDetail?rangeId=${item.id}&auditLog=${auditLog}&form=${form}` |
| 178 | }); | 184 | uni.navigateTo({ |
| 185 | url: path | ||
| 186 | }); | ||
| 187 | } else if(userType.value=='3'){ | ||
| 188 | // 审核记录 | ||
| 189 | let path = `/pages/group/apply/record?certId=${item.content.certId}` | ||
| 190 | uni.navigateTo({ | ||
| 191 | url: path | ||
| 192 | }); | ||
| 193 | } | ||
| 194 | |||
| 195 | |||
| 179 | } | 196 | } |
| 180 | </script> | 197 | </script> |
| 181 | 198 | ... | ... |
pages/group/apply/record.vue
0 → 100644
| 1 | <template> | ||
| 2 | <view class="hasfixedbottom"> | ||
| 3 | <view class="h3-padding">审核记录</view> | ||
| 4 | <view class="wBox"> | ||
| 5 | <view class="stepItem" v-for="(n,index) in list"> | ||
| 6 | <view class="time">{{n.handleDate||'待审批'}}</view> | ||
| 7 | <view class="content"> | ||
| 8 | <view class="status"> | ||
| 9 | <text v-if="n.auditStatus==0" class="text-primary">审核中</text> | ||
| 10 | <text v-if="n.auditStatus==1" class="text-success">审核通过</text> | ||
| 11 | <text v-if="n.auditStatus==2" class="text-danger">审核拒绝</text> | ||
| 12 | <text v-if="n.auditStatus==3" class="text-warning">已撤回</text> | ||
| 13 | <text v-if="n.auditStatus==100" class="text-primary">审核中</text> | ||
| 14 | </view> | ||
| 15 | <!-- <view class="name">第 {{index+1}} 步</view> --> | ||
| 16 | <view class="deptName">{{n.handlerDeptName}}</view> | ||
| 17 | <view v-if="n.reason"> | ||
| 18 | 备注:{{n.reason}} | ||
| 19 | </view> | ||
| 20 | </view> | ||
| 21 | </view> | ||
| 22 | </view> | ||
| 23 | |||
| 24 | |||
| 25 | </view> | ||
| 26 | </template> | ||
| 27 | |||
| 28 | <script setup> | ||
| 29 | import * as api from '@/common/api.js' | ||
| 30 | import config from '@/config.js' | ||
| 31 | import { | ||
| 32 | onMounted, | ||
| 33 | ref | ||
| 34 | } from 'vue' | ||
| 35 | import { | ||
| 36 | onLoad | ||
| 37 | } from '@dcloudio/uni-app' | ||
| 38 | const app = getApp(); | ||
| 39 | const list = ref([]) | ||
| 40 | const total = ref(0) | ||
| 41 | const deptType = ref() | ||
| 42 | let certId = '' | ||
| 43 | onLoad((option) => { | ||
| 44 | certId = option.certId | ||
| 45 | if (app.globalData.isLogin) { | ||
| 46 | init() | ||
| 47 | } else { | ||
| 48 | |||
| 49 | app.firstLoadCallback = () => { | ||
| 50 | init() | ||
| 51 | }; | ||
| 52 | } | ||
| 53 | |||
| 54 | }) | ||
| 55 | |||
| 56 | function init() { | ||
| 57 | deptType.value = app.globalData.deptType | ||
| 58 | getList() | ||
| 59 | } | ||
| 60 | |||
| 61 | function getList() { | ||
| 62 | uni.showLoading({ | ||
| 63 | title: '加载中' | ||
| 64 | }) | ||
| 65 | api.getGroupHistoryByRelateId(certId).then(res => { | ||
| 66 | uni.hideLoading() | ||
| 67 | list.value = res.data | ||
| 68 | }) | ||
| 69 | } | ||
| 70 | </script> | ||
| 71 | |||
| 72 | <style scoped lang="scss"> | ||
| 73 | .wBox { | ||
| 74 | width: 700rpx; | ||
| 75 | padding: 30rpx; | ||
| 76 | margin: 20rpx auto 0; | ||
| 77 | background: #FFFFFF; | ||
| 78 | box-shadow: 0rpx 12rpx 116rpx 0rpx rgba(196, 203, 214, 0.1); | ||
| 79 | border-radius: 15rpx; | ||
| 80 | |||
| 81 | .tt { | ||
| 82 | color: #0A1629; | ||
| 83 | font-size: 30rpx; | ||
| 84 | } | ||
| 85 | } | ||
| 86 | |||
| 87 | .userlist { | ||
| 88 | .item { | ||
| 89 | border-bottom: 1px dashed #e5e5e5; | ||
| 90 | position: relative; | ||
| 91 | |||
| 92 | .date { | ||
| 93 | margin-top: 10rpx; | ||
| 94 | } | ||
| 95 | |||
| 96 | .name { | ||
| 97 | text { | ||
| 98 | margin-left: 1em; | ||
| 99 | color: #4C5359; | ||
| 100 | font-size: 26rpx; | ||
| 101 | } | ||
| 102 | } | ||
| 103 | |||
| 104 | .nian { | ||
| 105 | position: absolute; | ||
| 106 | right: 0; | ||
| 107 | font-size: 30rpx; | ||
| 108 | color: #AD181F; | ||
| 109 | } | ||
| 110 | } | ||
| 111 | } | ||
| 112 | |||
| 113 | .info { | ||
| 114 | display: flex; | ||
| 115 | margin: 30rpx 0 20rpx; | ||
| 116 | font-size: 28rpx; | ||
| 117 | |||
| 118 | view { | ||
| 119 | color: #7D8592; | ||
| 120 | margin-right: 20rpx; | ||
| 121 | } | ||
| 122 | } | ||
| 123 | |||
| 124 | .fixedBottom { | ||
| 125 | justify-content: center; | ||
| 126 | |||
| 127 | button { | ||
| 128 | margin: 0 20rpx; | ||
| 129 | width: 286rpx; | ||
| 130 | } | ||
| 131 | |||
| 132 | .btn-red { | ||
| 133 | width: 286rpx; | ||
| 134 | } | ||
| 135 | } | ||
| 136 | </style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | <template> | 1 | <template> |
| 2 | <view class="page"> | 2 | <view class="page"> |
| 3 | <view> | 3 | <view class="bgbg"> |
| 4 | <view class="welcome">您好!<br />欢迎使用中跆协会员管理系统</view> | 4 | <view class="welcome">您好! |
| 5 | <!-- {{memberInfo.name}} --> | ||
| 6 | <br />欢迎使用中跆协会员管理系统</view> | ||
| 5 | <view class="flexbox"> | 7 | <view class="flexbox"> |
| 6 | <!-- userType 1:中跆协 2:省 3:市区 4:道馆--> | 8 | <!-- userType 1:中跆协 2:省 3:市区 4:道馆--> |
| 7 | <!-- 4 --> | 9 | <!-- 4 --> |
| ... | @@ -9,24 +11,35 @@ | ... | @@ -9,24 +11,35 @@ |
| 9 | <view v-if="userType=='4'" @click="goPath('/pages/personalVip/payment')">会员缴费</view> | 11 | <view v-if="userType=='4'" @click="goPath('/pages/personalVip/payment')">会员缴费</view> |
| 10 | <view v-if="userType=='2'" @click="goPath('/pages/personalVip/feeBill')">会员缴费单</view> | 12 | <view v-if="userType=='2'" @click="goPath('/pages/personalVip/feeBill')">会员缴费单</view> |
| 11 | <!-- 3 2 1--> | 13 | <!-- 3 2 1--> |
| 12 | <view v-if="userType!='4'" @click="goPath('/pages/personalVip/audit')">缴费审核</view> | 14 | <view v-if="userType!='4'" @click="goPath('/pages/personalVip/audit')">缴费审核</view> |
| 13 | 15 | ||
| 14 | <!-- 都有 --> | 16 | <!-- 都有 --> |
| 15 | <view @click="goPath('/pages/personalVip/list')">会员查询</view> | 17 | <view @click="goPath('/pages/personalVip/list')">会员查询</view> |
| 16 | </view> | 18 | </view> |
| 17 | 19 | ||
| 18 | </view> | 20 | </view> |
| 19 | <view> | 21 | <view class="girdBox"> |
| 20 | <view v-if="userType!='3'" @click="goPath('/pages/personalVip/mobilize')"> | 22 | <view v-if="userType!='3'" @click="goPath('/pages/personalVip/mobilize')"> |
| 21 | 会员调动 | 23 | <image /> |
| 22 | </view> | 24 | 会员调动 |
| 23 | <view v-if="userType!='4'" @click="goPath('/pages/group/list')">团体会员查询</view> | 25 | </view> |
| 24 | <view v-if="userType!='4'" @click="goPath('/pages/group/applyList')">团体会员审核</view> | 26 | <view v-if="userType!='4'" @click="goPath('/pages/group/list')"> |
| 25 | <view v-if="userType=='2'" @click="goPath('/pages/group/pay')">团体会员认证</view> | 27 | <image />团体会员查询 |
| 26 | 28 | </view> | |
| 27 | <view v-if="userType=='4'" @click="goPath('/pages/level/apply')">级位考试申请</view> | 29 | <view v-if="userType!='4'" @click="goPath('/pages/group/apply/applyList')"> |
| 28 | <view v-if="userType!='4'" @click="goPath('/pages/level/approval')">级位考试审核</view> | 30 | <image />团体会员审核 |
| 29 | 31 | </view> | |
| 32 | <view v-if="userType=='2'" @click="goPath('/pages/group/pay')"> | ||
| 33 | <image />团体会员认证 | ||
| 34 | </view> | ||
| 35 | |||
| 36 | <view v-if="userType=='4'" @click="goPath('/pages/level/apply')"> | ||
| 37 | <image />级位考试申请 | ||
| 38 | </view> | ||
| 39 | <view v-if="userType!='4'" @click="goPath('/pages/level/approval')"> | ||
| 40 | <image />级位考试审核 | ||
| 41 | </view> | ||
| 42 | |||
| 30 | </view> | 43 | </view> |
| 31 | <uni-section title="待办提醒" padding> | 44 | <uni-section title="待办提醒" padding> |
| 32 | <template v-slot:right> | 45 | <template v-slot:right> |
| ... | @@ -37,10 +50,10 @@ | ... | @@ -37,10 +50,10 @@ |
| 37 | <text class="dot" :class="n.readFlag=='1'?'done':''"></text> | 50 | <text class="dot" :class="n.readFlag=='1'?'done':''"></text> |
| 38 | <view class="tt esp">{{n.name}}</view> | 51 | <view class="tt esp">{{n.name}}</view> |
| 39 | <view class="date">{{n.createTime}}</view> | 52 | <view class="date">{{n.createTime}}</view> |
| 40 | </view> | 53 | </view> |
| 41 | <view class="nodata" v-if="messageList.length==0"> | 54 | <view class="nodata" v-if="messageList.length==0"> |
| 42 | <image mode="aspectFit" src="/static/nodata.png"></image> | 55 | <image mode="aspectFit" src="/static/nodata.png"></image> |
| 43 | <text>暂无数据</text> | 56 | <text>暂无数据</text> |
| 44 | </view> | 57 | </view> |
| 45 | </view> | 58 | </view> |
| 46 | </uni-section> | 59 | </uni-section> |
| ... | @@ -67,46 +80,27 @@ | ... | @@ -67,46 +80,27 @@ |
| 67 | } = getCurrentInstance() | 80 | } = getCurrentInstance() |
| 68 | const app = getApp(); | 81 | const app = getApp(); |
| 69 | const userType = ref('1') | 82 | const userType = ref('1') |
| 83 | const memberInfo = ref({}) | ||
| 70 | 84 | ||
| 71 | let proId; | 85 | let proId; |
| 72 | const svId = ref(null); | 86 | const svId = ref(null); |
| 73 | const list = ref([ | 87 | |
| 74 | { | ||
| 75 | url: '', | ||
| 76 | text: '段位考试申请' | ||
| 77 | }, | ||
| 78 | { | ||
| 79 | url: '', | ||
| 80 | text: '段位考试审核' | ||
| 81 | }, | ||
| 82 | { | ||
| 83 | url: '', | ||
| 84 | text: '级位证书发送' | ||
| 85 | }, | ||
| 86 | { | ||
| 87 | url: '', | ||
| 88 | text: '段位证书发送' | ||
| 89 | } | ||
| 90 | ]); | ||
| 91 | const messageList = ref([]) | 88 | const messageList = ref([]) |
| 92 | onShow(() => { | 89 | onShow(() => { |
| 93 | if (app.globalData.isLogin) { | 90 | if (app.globalData.isLogin) { |
| 94 | init() | 91 | init() |
| 95 | } else { | 92 | } else { |
| 96 | |||
| 97 | app.firstLoadCallback = () => { | 93 | app.firstLoadCallback = () => { |
| 98 | init() | 94 | init() |
| 99 | }; | 95 | }; |
| 100 | } | 96 | } |
| 101 | }) | 97 | }) |
| 102 | onLoad(option => { | 98 | onLoad(option => { |
| 103 | |||
| 104 | if (option.scene) { | 99 | if (option.scene) { |
| 105 | proId = decodeURIComponent(option.scene); | 100 | proId = decodeURIComponent(option.scene); |
| 106 | } else { | 101 | } else { |
| 107 | proId = option.proId; | 102 | proId = option.proId; |
| 108 | } | 103 | } |
| 109 | |||
| 110 | }); | 104 | }); |
| 111 | 105 | ||
| 112 | function goPath(path) { | 106 | function goPath(path) { |
| ... | @@ -144,78 +138,83 @@ | ... | @@ -144,78 +138,83 @@ |
| 144 | }); | 138 | }); |
| 145 | } | 139 | } |
| 146 | 140 | ||
| 147 | function init() { | 141 | function init() { |
| 148 | uni.showLoading({ | 142 | uni.showLoading({ |
| 149 | title: '加载中' | 143 | title: '加载中' |
| 150 | }); | 144 | }); |
| 151 | loginServer.getMyOwnMemberInfo().then(res=>{ | 145 | // loginServer.getMyOwnMemberInfo().then(res=>{ |
| 152 | userType.value = app.globalData.userType | 146 | userType.value = app.globalData.userType |
| 153 | if (userType.value!='1' && app.globalData.authenticationStatus != '2' && app.globalData.authenticationStatus != '4'){ | 147 | memberInfo.value = app.globalData.memberInfo |
| 154 | // 注册引导 | 148 | console.log(userType.value,app.globalData.authenticationStatus) |
| 155 | uni.navigateTo({ | 149 | if (userType.value != '1' && app.globalData.authenticationStatus != '2' && app.globalData.authenticationStatus != |
| 156 | url: '/pages/index/perfect' | 150 | '4') { |
| 157 | }); | 151 | // 注册引导 |
| 158 | } else { | 152 | // uni.navigateTo({ |
| 159 | getMes() | 153 | // url: '/pages/index/perfect' |
| 160 | } | 154 | // }); |
| 161 | uni.hideLoading(); | 155 | } else { |
| 162 | }) | 156 | getMes() |
| 157 | } | ||
| 158 | uni.hideLoading(); | ||
| 159 | // }) | ||
| 163 | 160 | ||
| 164 | 161 | ||
| 165 | } | 162 | } |
| 166 | function getMes(){ | 163 | |
| 167 | api.getMessage({ | 164 | function getMes() { |
| 168 | pageNum: 1, | 165 | api.getMessage({ |
| 169 | pageSize: 10 | 166 | pageNum: 1, |
| 170 | }).then(res => { | 167 | pageSize: 10 |
| 171 | if (res.rows && res.rows.length > 0) | 168 | }).then(res => { |
| 172 | for (var d of res.rows) { | 169 | if (res.rows && res.rows.length > 0) |
| 173 | switch (d.type) { | 170 | for (var d of res.rows) { |
| 174 | case 30001: | 171 | switch (d.type) { |
| 175 | d.name = '你有一条会员缴费等待审批,点击去处理!' | 172 | case 30001: |
| 176 | d.path = '/personalVip/audit' | 173 | d.name = '你有一条会员缴费等待审批,点击去处理!' |
| 177 | break | 174 | d.path = '/pages/personalVip/audit' |
| 178 | case 30002: | 175 | break |
| 179 | d.name = '你有一条级位考试等待审批,点击去处理!' | 176 | case 30002: |
| 180 | d.path = '/level/approval' | 177 | d.name = '你有一条级位考试等待审批,点击去处理!' |
| 181 | break | 178 | d.path = '/pages/level/approval' |
| 182 | case 30003: | 179 | break |
| 183 | d.name = '你有一条段位考试等待审批,点击去处理!' | 180 | case 30003: |
| 184 | d.path = '/rank/approval' | 181 | d.name = '你有一条段位考试等待审批,点击去处理!' |
| 185 | break | 182 | d.path = '/pages/rank/approval' |
| 186 | case 30004: | 183 | break |
| 187 | d.name = '你有一条会员调动等待审批,点击去处理!' | 184 | case 30004: |
| 188 | d.path = '/personalVip/mobillize' | 185 | d.name = '你有一条会员调动等待审批,点击去处理!' |
| 189 | break | 186 | d.path = '/pages/personalVip/mobillize' |
| 190 | case 30005: | 187 | break |
| 191 | d.name = '你有一条团体会员认证等待审批,点击去处理!' | 188 | case 30005: |
| 192 | d.path = '/group/authentication' | 189 | d.name = '你有一条团体会员认证等待审批,点击去处理!' |
| 193 | break | 190 | d.path = '/pages/group/authentication' |
| 194 | case 30006: | 191 | break |
| 195 | d.name = '你有一条段位成绩等待审批,点击去处理!' | 192 | case 30006: |
| 196 | d.path = '/rank/scoreApproval' | 193 | d.name = '你有一条段位成绩等待审批,点击去处理!' |
| 197 | break | 194 | d.path = '/pages/rank/scoreApproval' |
| 198 | case 40001: | 195 | break |
| 199 | d.name = '你有一条级位申请待提交,点击去处理!' | 196 | case 40001: |
| 200 | d.path = `/level/apply/modify?id=${d.eventId}` | 197 | d.name = '你有一条级位申请待提交,点击去处理!' |
| 201 | break | 198 | d.path = `/pages/level/apply/modify?id=${d.eventId}` |
| 202 | case 40002: | 199 | break |
| 203 | d.name = '你有一条段位申请待提交,点击去处理!' | 200 | case 40002: |
| 204 | d.path = `/rank/apply/modify?id=${d.eventId}` | 201 | d.name = '你有一条段位申请待提交,点击去处理!' |
| 205 | break | 202 | d.path = `/pages/rank/apply/modify?id=${d.eventId}` |
| 206 | case 40003: | 203 | break |
| 207 | d.name = '你有一条成绩维护的数据待提交,点击去处理!' | 204 | case 40003: |
| 208 | d.path = `/rank/score/modify?id=${d.eventId}` | 205 | d.name = '你有一条成绩维护的数据待提交,点击去处理!' |
| 209 | break | 206 | d.path = `/pages/rank/score/modify?id=${d.eventId}` |
| 210 | case 50001: | 207 | break |
| 211 | d.name = '你有一条新的个人会员申请,点击去处理!' | 208 | case 50001: |
| 212 | d.path = '/personalVip/approvalList' | 209 | d.name = '你有一条新的个人会员申请,点击去处理!' |
| 213 | break | 210 | d.path = '/pages/personalVip/approvalList' |
| 214 | } | 211 | break |
| 215 | } | 212 | } |
| 216 | messageList.value = res.rows | 213 | } |
| 217 | }) | 214 | messageList.value = res.rows |
| 218 | } | 215 | }) |
| 216 | } | ||
| 217 | |||
| 219 | function readMessage(item) { | 218 | function readMessage(item) { |
| 220 | uni.navigateTo({ | 219 | uni.navigateTo({ |
| 221 | url: item.path | 220 | url: item.path | ... | ... |
This diff is collapsed.
Click to expand it.
This diff is collapsed.
Click to expand it.
| ... | @@ -10,6 +10,7 @@ | ... | @@ -10,6 +10,7 @@ |
| 10 | <view class="appItem" v-for="item in list"> | 10 | <view class="appItem" v-for="item in list"> |
| 11 | <view class="status" @click="goDetail(item)"> | 11 | <view class="status" @click="goDetail(item)"> |
| 12 | <text :class="{ | 12 | <text :class="{ |
| 13 | 'text-primary':item.status=='1', | ||
| 13 | 'text-success':item.status=='2', | 14 | 'text-success':item.status=='2', |
| 14 | 'text-danger':item.status=='3', | 15 | 'text-danger':item.status=='3', |
| 15 | 'text-warning':item.status=='4' | 16 | 'text-warning':item.status=='4' | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <view> | 2 | <view> |
| 3 | <uni-segmented-control class="whitebg" :current="current" :values="navs" @clickItem="onClickItem" | ||
| 4 | styleType="text" activeColor="#AD181F"></uni-segmented-control> | ||
| 3 | 5 | ||
| 6 | <view class="appList"> | ||
| 7 | <view class="appItem" v-for="item in infoList"> | ||
| 8 | <view class="status" @click="goDetail(item)"> | ||
| 9 | <text :class="{ | ||
| 10 | 'text-primary':item.auditStatus=='0', | ||
| 11 | 'text-success':item.auditStatus=='1', | ||
| 12 | 'text-danger':item.auditStatus=='2', | ||
| 13 | 'text-warning':item.auditStatus=='3' | ||
| 14 | }">{{ item.statusStr }}</text> | ||
| 15 | </view> | ||
| 16 | |||
| 17 | <view class="date" v-if="item.status!='0'&&item.submitTime">提交时间:{{item.submitTime}}</view> | ||
| 18 | <view class="name mt0" @click="goDetail(item)">{{item.name}}</view> | ||
| 19 | <view class="pp esp">考级日期:{{item.startTime.substring(0,16)}} 至 {{item.endTime.substring(0,16)}}</view> | ||
| 20 | <view class="flexbox" @click="goDetail(item)"> | ||
| 21 | <view> | ||
| 22 | 申请日期 | ||
| 23 | <view>{{item.applyTime.substring(0, 10)}}</view> | ||
| 24 | </view> | ||
| 25 | <view> | ||
| 26 | 申请单位 | ||
| 27 | <view>{{item.memberName}}</view> | ||
| 28 | </view> | ||
| 29 | <view> | ||
| 30 | 通过人数 | ||
| 31 | <view>{{item.pass}}</view> | ||
| 32 | </view> | ||
| 33 | </view> | ||
| 34 | <view class="func" v-if="item.auditStatus=='0'"> | ||
| 35 | <button @click="audit(item,'2')">拒绝</button> | ||
| 36 | <button @click="audit(item,'1')">同意</button> | ||
| 37 | </view> | ||
| 38 | </view> | ||
| 39 | </view> | ||
| 40 | |||
| 41 | |||
| 42 | |||
| 43 | <view class="nodata" v-if="infoList.length==0"> | ||
| 44 | <image mode="aspectFit" src="/static/nodata.png"></image> | ||
| 45 | <text>暂无数据</text> | ||
| 46 | </view> | ||
| 4 | </view> | 47 | </view> |
| 5 | </template> | 48 | </template> |
| 6 | 49 | ||
| 7 | <script setup> | 50 | <script setup> |
| 8 | 51 | import * as api from '@/common/api.js' | |
| 9 | </script> | 52 | import config from '@/config.js' |
| 53 | import _ from 'lodash' | ||
| 54 | import { | ||
| 55 | onMounted, | ||
| 56 | ref | ||
| 57 | } from 'vue' | ||
| 58 | import { | ||
| 59 | onLoad, | ||
| 60 | onShow | ||
| 61 | } from '@dcloudio/uni-app' | ||
| 62 | const app = getApp(); | ||
| 63 | const queryParams = ref({ | ||
| 64 | // pageNum: 1, | ||
| 65 | // pageSize: 10 | ||
| 66 | status: '0', | ||
| 67 | type: '1' | ||
| 68 | }) | ||
| 69 | const navs = ref(['审核中', '审核通过', '审核拒绝']) | ||
| 70 | const statusArr = ['审批中', '审批通过', '审批拒绝', '审批撤回'] | ||
| 71 | const current = ref() | ||
| 72 | const infoList = ref([]) | ||
| 73 | const total = ref(0) | ||
| 74 | const deptType = ref('') | ||
| 75 | onLoad(() => { | ||
| 76 | |||
| 77 | }) | ||
| 78 | onShow(() => { | ||
| 79 | if (app.globalData.isLogin) { | ||
| 80 | init() | ||
| 81 | } else { | ||
| 82 | |||
| 83 | app.firstLoadCallback = () => { | ||
| 84 | init() | ||
| 85 | }; | ||
| 86 | } | ||
| 87 | }) | ||
| 88 | |||
| 89 | function init() { | ||
| 90 | uni.showLoading({ | ||
| 91 | title: '加载中' | ||
| 92 | }) | ||
| 93 | deptType.value = app.globalData.deptType | ||
| 94 | getList() | ||
| 95 | } | ||
| 96 | |||
| 97 | |||
| 98 | function getList() { | ||
| 99 | api.getVerityList(queryParams.value).then(res => { | ||
| 100 | uni.hideLoading() | ||
| 101 | const list = [] | ||
| 102 | _.each(res.rows, r => { | ||
| 103 | const item = JSON.parse(r.content) | ||
| 104 | item.recordId = r.recordId | ||
| 105 | item.auditStatus = r.auditStatus | ||
| 106 | item.submitStatus = r.submitStatus | ||
| 107 | item.distributeTime = r.distributeTime | ||
| 108 | item.statusStr = statusArr[r.auditStatus] | ||
| 109 | item.remark = r.remark | ||
| 110 | item.isView = r.isView | ||
| 111 | item.sourceData = r | ||
| 112 | item.auditProcess = r.auditProcess | ||
| 113 | list.push(item) | ||
| 114 | }) | ||
| 115 | infoList.value = list | ||
| 116 | total.value = res.total | ||
| 117 | }) | ||
| 118 | } | ||
| 119 | |||
| 120 | function onClickItem(e) { | ||
| 121 | console.log(e) | ||
| 122 | uni.showLoading({ | ||
| 123 | title: '加载中' | ||
| 124 | }) | ||
| 125 | queryParams.value.status = e.currentIndex | ||
| 126 | getList() | ||
| 127 | } | ||
| 128 | |||
| 129 | function goDetail(item) { | ||
| 130 | if(item.status!='0'){ | ||
| 131 | let path = `/pages/level/applyDetail?examId=${item.examId}` | ||
| 132 | uni.navigateTo({ | ||
| 133 | url: path | ||
| 134 | }); | ||
| 135 | } else { | ||
| 136 | return | ||
| 137 | } | ||
| 138 | |||
| 139 | } | ||
| 140 | |||
| 141 | function audit(item, flag) { | ||
| 142 | console.log(item.sourceData) | ||
| 143 | var obj = { | ||
| 144 | flag: flag, | ||
| 145 | reason: null, | ||
| 146 | body: [JSON.stringify(item.sourceData)] | ||
| 147 | } | ||
| 148 | |||
| 149 | if (flag == '2') { | ||
| 150 | // 拒绝 | ||
| 151 | // 弹出框填写理由 | ||
| 152 | uni.showModal({ | ||
| 153 | title: '请输入拒绝理由', | ||
| 154 | editable: true, | ||
| 155 | success: function(res) { | ||
| 156 | if (res.confirm) { | ||
| 157 | if (!res.content) { | ||
| 158 | uni.showToast({ | ||
| 159 | title: '请输入拒绝理由', | ||
| 160 | icon: 'none' | ||
| 161 | }) | ||
| 162 | } else { | ||
| 163 | obj.reason = res.content | ||
| 164 | doApproval(obj) | ||
| 165 | } | ||
| 166 | } | ||
| 167 | } | ||
| 168 | }) | ||
| 169 | } else if (flag == '1') { | ||
| 170 | // 二次确认 | ||
| 171 | uni.showModal({ | ||
| 172 | title: '提示', | ||
| 173 | content: `确定审批通过吗`, | ||
| 174 | success: function(res) { | ||
| 175 | if (res.confirm) { | ||
| 176 | doApproval(obj) | ||
| 177 | } | ||
| 178 | } | ||
| 179 | }) | ||
| 180 | } | ||
| 181 | } | ||
| 182 | |||
| 183 | function doApproval(obj) { | ||
| 184 | console.log(obj) | ||
| 185 | api.doVerity(obj).then((res) => { | ||
| 186 | uni.showToast({ | ||
| 187 | title: '操作成功', | ||
| 188 | icon: 'none' | ||
| 189 | }) | ||
| 190 | getList() | ||
| 191 | }) | ||
| 192 | } | ||
| 193 | </script> | ||
| 10 | 194 | ||
| 11 | <style lang="scss"> | ||
| 12 | 195 | ||
| 196 | <style scoped> | ||
| 197 | .searchbar { | ||
| 198 | display: flex; | ||
| 199 | align-items: center; | ||
| 200 | padding: 25rpx; | ||
| 201 | box-sizing: border-box; | ||
| 202 | |||
| 203 | :deep(.uni-easyinput .uni-easyinput__content) { | ||
| 204 | border-radius: 35rpx; | ||
| 205 | border: none; | ||
| 206 | height: 70rpx; | ||
| 207 | } | ||
| 208 | |||
| 209 | :deep(.uni-easyinput__content-input) { | ||
| 210 | font-size: 26rpx; | ||
| 211 | } | ||
| 212 | |||
| 213 | .invertedbtn-red { | ||
| 214 | border-radius: 50px; | ||
| 215 | background-color: #fff; | ||
| 216 | |||
| 217 | font-size: 30rpx; | ||
| 218 | padding: 10rpx 20rpx; | ||
| 219 | } | ||
| 220 | } | ||
| 221 | |||
| 222 | .mt0 { | ||
| 223 | margin-top: 0 !important; | ||
| 224 | } | ||
| 225 | |||
| 226 | .appList .appItem .name { | ||
| 227 | width: 80%; | ||
| 228 | word-break: break-all; | ||
| 229 | } | ||
| 13 | </style> | 230 | </style> | ... | ... |
| ... | @@ -9,7 +9,7 @@ | ... | @@ -9,7 +9,7 @@ |
| 9 | <view class="userlist"> | 9 | <view class="userlist"> |
| 10 | <view class="item" v-for="n in list"> | 10 | <view class="item" v-for="n in list"> |
| 11 | <view class="photobox"> | 11 | <view class="photobox"> |
| 12 | <image class="photo" v-if="n.photo" :src="n.photo" mode='aspectFill'></image> | 12 | <image class="photo" v-if="n.photo" :src="config.baseUrl_api+n.photo" mode='aspectFill'></image> |
| 13 | <view class="colorful" v-else>{{n.name.slice(1,2)}}</view> | 13 | <view class="colorful" v-else>{{n.name.slice(1,2)}}</view> |
| 14 | </view> | 14 | </view> |
| 15 | <view> | 15 | <view> | ... | ... |
| ... | @@ -10,7 +10,7 @@ | ... | @@ -10,7 +10,7 @@ |
| 10 | <view class="userlist"> | 10 | <view class="userlist"> |
| 11 | <view class="item" v-for="n in list"> | 11 | <view class="item" v-for="n in list"> |
| 12 | <view class="photobox"> | 12 | <view class="photobox"> |
| 13 | <image class="photo" v-if="n.photo" :src="n.photo" mode='aspectFill'></image> | 13 | <image class="photo" v-if="n.photo" :src="config.baseUrl_api+n.photo" mode='aspectFill'></image> |
| 14 | <view class="colorful" v-else>{{n.personName?.slice(0,1)}}</view> | 14 | <view class="colorful" v-else>{{n.personName?.slice(0,1)}}</view> |
| 15 | </view> | 15 | </view> |
| 16 | <view> | 16 | <view> | ... | ... |
| ... | @@ -12,7 +12,7 @@ | ... | @@ -12,7 +12,7 @@ |
| 12 | <view class="content-box" @click="handleInfo(n)"> | 12 | <view class="content-box" @click="handleInfo(n)"> |
| 13 | <view class="flexbox"> | 13 | <view class="flexbox"> |
| 14 | <view class="photobox"> | 14 | <view class="photobox"> |
| 15 | <image class="photo" v-if="n.photo" :src="n.photo" mode='aspectFill'></image> | 15 | <image class="photo" v-if="n.photo" :src="config.baseUrl_api+n.photo" mode='aspectFill'></image> |
| 16 | <view class="colorful" v-else>{{n.name.slice(0,1)}}</view> | 16 | <view class="colorful" v-else>{{n.name.slice(0,1)}}</view> |
| 17 | </view> | 17 | </view> |
| 18 | <view> | 18 | <view> | ... | ... |
| ... | @@ -9,7 +9,7 @@ | ... | @@ -9,7 +9,7 @@ |
| 9 | <view class="userlist"> | 9 | <view class="userlist"> |
| 10 | <view class="item" v-for="n in list"> | 10 | <view class="item" v-for="n in list"> |
| 11 | <view class="photobox"> | 11 | <view class="photobox"> |
| 12 | <image class="photo" v-if="n.photo" :src="n.photo" mode='aspectFill'></image> | 12 | <image class="photo" v-if="n.photo" :src="config.baseUrl_api+n.photo" mode='aspectFill'></image> |
| 13 | <view class="colorful" v-else>{{n.personName?.slice(0,1)}}</view> | 13 | <view class="colorful" v-else>{{n.personName?.slice(0,1)}}</view> |
| 14 | </view> | 14 | </view> |
| 15 | <view> | 15 | <view> | ... | ... |
| ... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
| 15 | <image class="icon" v-else src="@/static/member/dx.png" /> | 15 | <image class="icon" v-else src="@/static/member/dx.png" /> |
| 16 | </view> | 16 | </view> |
| 17 | <view class="photobox"> | 17 | <view class="photobox"> |
| 18 | <image class="photo" v-if="n.photo" :src="n.photo" mode='aspectFill'></image> | 18 | <image class="photo" v-if="n.photo" :src="config.baseUrl_api+n.photo" mode='aspectFill'></image> |
| 19 | <view class="colorful" v-else>{{n.name.slice(0,1)}}</view> | 19 | <view class="colorful" v-else>{{n.name.slice(0,1)}}</view> |
| 20 | </view> | 20 | </view> |
| 21 | <view @click="handleInfo(n)"> | 21 | <view @click="handleInfo(n)"> | ... | ... |
-
Please register or sign in to post a comment