e17cf320 by 杨炀

no message

1 parent bb678af5
...@@ -236,7 +236,7 @@ function commit(rangeIds) { ...@@ -236,7 +236,7 @@ function commit(rangeIds) {
236 // 调动审批 236 // 调动审批
237 function mobilizeAudit(data) { 237 function mobilizeAudit(data) {
238 return request({ 238 return request({
239 url: `/person/transferRange/audit/${data.rangeIds}`, 239 url: `/person/transferRange/audit/${data.rangeIds}?flag=${data.flag}&reason=${data.reason}`,
240 method: 'post', 240 method: 'post',
241 params: data 241 params: data
242 }) 242 })
...@@ -639,7 +639,12 @@ function getMySonList(data) { ...@@ -639,7 +639,12 @@ function getMySonList(data) {
639 params: data 639 params: data
640 }) 640 })
641 } 641 }
642 642 function getGroupMemberInfoById(memId) {
643 return request({
644 url: '/member/info/' + memId,
645 method: 'get'
646 })
647 }
643 function addGroupPaymentGroup(data) { 648 function addGroupPaymentGroup(data) {
644 return request({ 649 return request({
645 url: `/member/certifiedRange/addRangeMulti/${data.memIds}/${data.rangeId}`, 650 url: `/member/certifiedRange/addRangeMulti/${data.memIds}/${data.rangeId}`,
...@@ -949,6 +954,14 @@ function extractInfoFromChinaIdCard(data) { ...@@ -949,6 +954,14 @@ function extractInfoFromChinaIdCard(data) {
949 params: data 954 params: data
950 }) 955 })
951 } 956 }
957 function getRemindCount(params) {
958 return request({
959 url: '/system/remindCount/getCounts',
960 method: 'get',
961 params: params
962 })
963 }
964
952 965
953 export { 966 export {
954 getMessage, 967 getMessage,
...@@ -1045,5 +1058,5 @@ export { ...@@ -1045,5 +1058,5 @@ export {
1045 getMemberInfoModRange,commitGroupChange,delGroupChange, 1058 getMemberInfoModRange,commitGroupChange,delGroupChange,
1046 getChangeGroupByRangeId,groupInfoMod,addGroupInfoModeToRange, 1059 getChangeGroupByRangeId,groupInfoMod,addGroupInfoModeToRange,
1047 groupChangeEditMod,groupChangeAudit,extractInfoFromChinaIdCard 1060 groupChangeEditMod,groupChangeAudit,extractInfoFromChinaIdCard
1048 ,certifiedwithDraw,certifiedunMerge 1061 ,certifiedwithDraw,certifiedunMerge,getRemindCount,getGroupMemberInfoById
1049 } 1062 }
...\ No newline at end of file ...\ No newline at end of file
......
1 page { 1 page {
2 height: 100vh; 2 height: 100vh;
3 overflow: auto; 3 overflow: auto;
4 background: #f5f7f9; 4 background: #ecf0f6;
5 } 5 }
6 .wBox{box-sizing: border-box;} 6 .wBox{box-sizing: border-box;}
7 .h3 {font-weight: bold;line-height: 2;} 7 .h3 {font-weight: bold;line-height: 2;}
...@@ -52,7 +52,7 @@ page { ...@@ -52,7 +52,7 @@ page {
52 52
53 53
54 .nodata{padding:10vh 0; box-sizing: border-box; text-align: center; 54 .nodata{padding:10vh 0; box-sizing: border-box; text-align: center;
55 image{width: 300rpx;height: 300rpx;display: block; margin:0 auto 40rpx;} 55 image{width: 300rpx;height: 300rpx;display: block; margin:0 auto;}
56 text{font-size: 24rpx; text-align: center; display: inline-block;color: #a8b3c7;} 56 text{font-size: 24rpx; text-align: center; display: inline-block;color: #a8b3c7;}
57 button{display: inline;border-radius: 35rpx;padding:10rpx 30rpx;box-sizing: border-box;font-size: 30rpx; 57 button{display: inline;border-radius: 35rpx;padding:10rpx 30rpx;box-sizing: border-box;font-size: 30rpx;
58 border: none!important;} 58 border: none!important;}
...@@ -382,9 +382,9 @@ background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABdwAAAOsCAYAAABQx3 ...@@ -382,9 +382,9 @@ background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABdwAAAOsCAYAAABQx3
382 background-size: cover;position: relative;} 382 background-size: cover;position: relative;}
383 .girdBox{display: flex;flex-wrap: wrap;padding:20rpx 0;box-sizing: border-box; 383 .girdBox{display: flex;flex-wrap: wrap;padding:20rpx 0;box-sizing: border-box;
384 background: #FFFFFF;position: relative;top: -30rpx;border-radius: 20rpx 20rpx 0rpx 0rpx; 384 background: #FFFFFF;position: relative;top: -30rpx;border-radius: 20rpx 20rpx 0rpx 0rpx;
385 view{width: 25%;text-align: center; box-sizing: border-box; padding: 2% 0; 385 view{width: 25%;text-align: center; box-sizing: border-box; padding: 2% 0;position: relative;
386 font-size: 24rpx; 386 font-size: 24rpx;
387 color: #434343; 387 color: #777;
388 image{width: 70rpx;height: 70rpx;display: block;margin: auto;} 388 image{width: 70rpx;height: 70rpx;display: block;margin: auto;}
389 } 389 }
390 } 390 }
......
...@@ -3,7 +3,7 @@ import { ...@@ -3,7 +3,7 @@ import {
3 h5LoginAuto 3 h5LoginAuto
4 } from './login' 4 } from './login'
5 5
6 const excludeUrls = ['pages/index/login', 'pages/index/register'] 6 const excludeUrls = ['login/login', 'login/register']
7 7
8 // 获取Token 8 // 获取Token
9 function getToken() { 9 function getToken() {
...@@ -25,6 +25,7 @@ function getHeaders() { ...@@ -25,6 +25,7 @@ function getHeaders() {
25 const header = { 25 const header = {
26 'Authorization': token, 26 'Authorization': token,
27 'Content-Type': 'application/json', // 根据自己的数据类型 27 'Content-Type': 'application/json', // 根据自己的数据类型
28 'Content-Language': 'zh_CN',
28 // "Content-Type":"application/x-www-form-urlencoded", 29 // "Content-Type":"application/x-www-form-urlencoded",
29 'Ztx-Per-Id': uni.getStorageSync('perId') || '-1' 30 'Ztx-Per-Id': uni.getStorageSync('perId') || '-1'
30 } 31 }
......
...@@ -5,14 +5,11 @@ ...@@ -5,14 +5,11 @@
5 // staging 会员系统 5 // staging 会员系统
6 // const baseUrl_api = "http://22yidpjzjifv.ngrok.xiaomiqiu123.top/stage-api/"; 6 // const baseUrl_api = "http://22yidpjzjifv.ngrok.xiaomiqiu123.top/stage-api/";
7 // const baseUrl_api = "http://123.60.96.243/stage-api/"; 7 // const baseUrl_api = "http://123.60.96.243/stage-api/";
8 const baseUrl_api = 'http://192.168.1.11:8787' 8 // const baseUrl_api = 'http://192.168.1.131:8787'
9 // const baseUrl_api = 'https://ztx.itechtop.cn/stage-api' 9 // const baseUrl_api = 'https://ztx.itechtop.cn/stage-api'
10 // const baseUrl_api = 'https://tkcn.19wk.cn:8001/stage-api' 10 // const baseUrl_api = 'https://tkcn.19wk.cn:8443/stage-api'
11 // const baseUrl_api = 'https://newsystem.taekwondo.org.cn/stage-api/'
12
13 // train
14 // const baseUrl_api = 'http://192.168.1.25:8686'
15 11
12 const baseUrl_api = 'https://newsystem.taekwondo.org.cn/stage-api'
16 export default { 13 export default {
17 baseUrl_api 14 baseUrl_api
18 } 15 }
......
1 <template> 1 <template>
2 <view> 2 <view>
3 <view class="text-center" v-if="userType=='2'"> 3 <view class="text-center whitebg" v-if="userType=='2'">
4 <view class="cardNav"> 4 <view class="cardNav">
5 <view class="active">会员审核</view> 5 <view class="active">会员审核</view>
6 <view @click="goMerge">审核合并</view> 6 <view @click="goMerge">审核合并</view>
......
1 <template> 1 <template>
2 <view class="hasfixedbottom"> 2 <view class="hasfixedbottom">
3 <view class="text-center"> 3 <view class="text-center whitebg">
4 <view class="cardNav"> 4 <view class="cardNav">
5 <view @click="goApply">会员审核</view> 5 <view @click="goApply">会员审核</view>
6 <view class="active">审核合并</view> 6 <view class="active">审核合并</view>
......
1 <template> 1 <template>
2 <view> 2 <view>
3 <view class="text-center"> 3 <view class="text-center whitebg">
4 <view class="cardNav"> 4 <view class="cardNav">
5 <view @click="goApply">会员审核</view> 5 <view @click="goApply">会员审核</view>
6 <view @click="goMerge">审核合并</view> 6 <view @click="goMerge">审核合并</view>
......
1 <template> 1 <template>
2 <view class="hasfixedbottom"> 2 <view class="hasfixedbottom">
3 <view class="wBox"> 3 <view class="wBox">
4 <view class="tt">{{form.content.certName}}</view> 4 <view class="tt">{{form.content?.certName}}</view>
5 <view> 5 <view>
6 <view class="date" v-if="form.content.commitTime">提交日期:<text>{{ form.content.commitTime }}</text> 6 <view class="date" v-if="form.content?.commitTime">提交日期:<text>{{ form.content?.commitTime }}</text>
7 </view> 7 </view>
8 <view class="date">提交单位:<text>{{ form.content.memberName }}</text> </view> 8 <view class="date">提交单位:<text>{{ form.content?.memberName }}</text> </view>
9 </view> 9 </view>
10 <view class="vipData mt30" style="flex-wrap: wrap;"> 10 <view class="vipData mt30" style="flex-wrap: wrap;">
11 <view class="w50"> 11 <view class="w50">
12 团队会员合计: 12 团队会员合计:
13 <text>{{ form.content.allCount }}</text> 13 <text>{{ form.content?.allCount }}</text>
14 </view> 14 </view>
15 <view class="w50"> 15 <view class="w50">
16 新会员合计: 16 新会员合计:
17 <text>{{ form.content.newCount }}</text> 17 <text>{{ form.content?.newCount }}</text>
18 </view> 18 </view>
19 <view class="w50"> 19 <view class="w50">
20 年限合计: 20 年限合计:
21 <text>{{ form.content.renewYear }}</text> 21 <text>{{ form.content?.renewYear }}</text>
22 </view> 22 </view>
23 <view class="w50"> 23 <view class="w50">
24 费用合计: 24 费用合计:
25 <text>{{ (form.content.allFee*1).toFixed(2) }}</text> 25 <text>{{ (form.content?.allFee*1).toFixed(2) }}</text>
26 </view> 26 </view>
27 </view> 27 </view>
28 28
29 <!-- 成员 --> 29 <!-- 成员 -->
30 <view class="userlist"> 30 <view class="userlist">
31 <view class="item" v-for="(n,index) in list" :key="n.index"> 31 <view class="item" v-for="(n,index) in list" :key="n.index" @click="goGroupInfo(n)">
32 <view style="width: 100%"> 32 <view style="width: 100%">
33 <view class="name">{{n.memberName}}</view> 33 <view class="name">{{n.memberName}}</view>
34 <view class="date">单位类型: 34 <view class="date">单位类型:
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
54 <text>{{n.renewYear}}</text> 54 <text>{{n.renewYear}}</text>
55 <view v-if="deptType==1"> 55 <view v-if="deptType==1">
56 会员证 56 会员证
57 <text v-if="form.content.sendJiaoFeiFlag==1" class="text-success">已下发</text> 57 <text v-if="form.content?.sendJiaoFeiFlag==1" class="text-success">已下发</text>
58 <text v-else class="text-warning">未下发</text> 58 <text v-else class="text-warning">未下发</text>
59 </view> 59 </view>
60 </view> 60 </view>
...@@ -226,6 +226,11 @@ ...@@ -226,6 +226,11 @@
226 uni.navigateBack() 226 uni.navigateBack()
227 }) 227 })
228 } 228 }
229 function goGroupInfo(row){
230 uni.navigateTo({
231 url: `/group/groupInfo?memId=${row.memId}`
232 })
233 }
229 </script> 234 </script>
230 235
231 <style scoped lang="scss"> 236 <style scoped lang="scss">
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
12 </view> 12 </view>
13 <!-- 成员 --> 13 <!-- 成员 -->
14 <view class="userlist"> 14 <view class="userlist">
15 <view class="item" v-for="n in list"> 15 <view class="item" v-for="n in list" :key="n.rangeId">
16 <view class="w100"> 16 <view class="w100">
17 <view class="name">{{n.certName}}</view> 17 <view class="name">{{n.certName}}</view>
18 <view class="date" v-if="n.validityTime">{{n.validityTime?.slice(0,10)}}</view> 18 <view class="date" v-if="n.validityTime">{{n.validityTime?.slice(0,10)}}</view>
......
1 <template>
2 <view>
3 <view class="mainbox">
4 <uni-list>
5 <uni-list-item title="所属协会">
6 <template v-slot:footer>
7 <view style="width: 60%;text-align: right;">{{form.firstName}} {{form.parentDeptName}}</view>
8 </template>
9 </uni-list-item>
10 <uni-list-item title="会员编号" v-if="form.menCode" :rightText="form.menCode" />
11 <uni-list-item title="机构名称" :rightText="form.name" />
12 <uni-list-item title="所属省份">
13 <template v-slot:footer>{{form.provinceStr}}</template>
14 </uni-list-item>
15 <uni-list-item title="社会信用代码" :rightText="form.creditCode" />
16 <uni-list-item v-if="form.siteContact" title="联系人" :rightText="form.siteContact" />
17 <uni-list-item v-else title="联系人" :rightText="form.contact" />
18 <uni-list-item v-if="form.siteTel" title="联系方式" :rightText="form.siteTel" />
19 <uni-list-item v-else title="联系方式" :rightText="form.phone" />
20 <uni-list-item v-if="form.validityDate" title="有效期" :rightText="form.validityDate?.slice(0,10)" />
21 <uni-list-item title="认证地址">
22 <template v-slot:footer>
23 {{form.provinceStr}}{{form.cityName}}{{form.regionStr}}
24 </template>
25 </uni-list-item>
26 <uni-list-item title="认证详细地址" :rightText="form.adress" />
27 <uni-list-item title="法人姓名" :rightText="form.legal||'--'" />
28
29 <uni-list-item v-if="form.deptType==6" title="是否为考点" :rightText="form.applyPoints==1?'是':'否'" />
30 <uni-list-item title="法人身份证" clickable>
31 <template v-slot:footer>
32 <view v-if="form.legalIdcPhotoArr&&form.legalIdcPhotoArr?.length>0">
33 <image class="ylImage" mode="aspectFit" @click="showImage(form.legalIdcPhotoArr,index)"
34 v-for="(item,index) in form.legalIdcPhotoArr" :key="item" :src="item">
35 </image>
36 </view>
37 </template>
38 </uni-list-item>
39
40 <uni-list-item title="营业执照" clickable >
41 <template v-slot:footer>
42 <view @click="download(form.businessLicenseArr[0]?.url)" v-if="form.businessLicenseArr&&form.businessLicenseArr?.length>0">
43 <text class="text-primary">{{form.businessLicenseArr[0]?.name}}</text>
44 </view>
45 </template>
46 </uni-list-item>
47 <uni-list-item title="机构照片" clickable>
48 <template v-slot:footer>
49 <view v-if="form.picturesArr&&form.picturesArr?.length>0" class="photoBook" @click="showImage(form.picturesArr,0)">
50 <image mode="aspectFit" class="ylImage"
51 :src="form.picturesArr[0]">
52 </image>
53 <text>{{form.picturesArr?.length}}</text>
54 </view>
55 </template>
56 </uni-list-item>
57 </uni-list>
58 </view>
59 <view class="height1"></view>
60
61 </view>
62 </template>
63
64 <script setup>
65 import * as api from '@/common/api.js'
66 import config from '@/config.js'
67 import _ from 'lodash'
68 import {
69 onMounted,
70 ref
71 } from 'vue'
72 import {
73 onLoad
74 } from '@dcloudio/uni-app'
75 const app = getApp()
76 const form = ref({
77 legalIdcPhotoArr: [],
78 picturesArr: [],
79 businessLicenseArr:[]
80 })
81 onLoad(option => {
82 console.log(option)
83 if ('form' in option) {
84 form.value = JSON.parse(decodeURIComponent(option.form))
85 getForm()
86 }
87 if (option.memId) {
88 getForm(option.memId)
89 }
90 })
91 function getForm(memId){
92 if(memId){
93 api.getGroupMemberInfoById(memId).then(res => {
94 form.value = res.data
95 init()
96 })
97
98 }else{
99 init()
100 }
101 }
102 function init() {
103 console.log(form.value)
104 if (form.value.businessLicense) {
105 form.value.businessLicenseArr = []
106 try{
107 form.value.businessLicenseArr = JSON.parse(form.value.businessLicense) || []
108 }catch(e){
109 form.value.businessLicenseArr=[{url:form.value.businessLicense,name:'营业执照'}]
110 }
111 console.log('营业执照',form.value.businessLicenseArr)
112 }
113 if (form.value.certLegalIdcPhoto && form.value.certLegalIdcPhoto!=null) {
114 form.value.legalIdcPhotoArr = []
115 var arr = form.value.certLegalIdcPhoto?.split(',') || []
116 if (arr.length > 0) {
117 arr = _.map(arr, (p) => {
118 if(p.indexOf('http')==-1){
119 console.log(p)
120 p = config.baseUrl_api + p
121 }
122 return p
123 })
124 form.value.legalIdcPhotoArr = arr
125 }
126 console.log('法人身份证',form.value.legalIdcPhotoArr)
127 }
128 if (form.value.certPictures) {
129 form.value.picturesArr = []
130 var arr = form.value.certPictures.split(',') || []
131 if (arr.length > 0) {
132 arr = _.map(arr, (p) => {
133 if(p.indexOf('http')==-1){
134 p = config.baseUrl_api + p
135 }
136 return p
137 })
138 form.value.picturesArr = arr
139 }
140 console.log(form.value.picturesArr)
141 }
142 }
143
144 function showImage(arr, index) {
145 uni.previewImage({
146 urls: arr,
147 current: index,
148 success: function(res) {
149
150 }
151 })
152 }
153
154 function download(url) {
155 console.log(url)
156 if (url.indexOf('.png') > -1 || url.indexOf('.jpg') > -1) {
157 if(url.indexOf('http')>-1){
158 uni.previewImage({
159 urls: [url],
160 success: function(res) {
161
162 }
163 })
164 } else {
165 uni.previewImage({
166 urls: [config.baseUrl_api + url],
167 success: function(res) {
168 }
169 })
170 }
171 } else {
172 if(url.indexOf('http')>-1){
173 goWebView(url)
174 } else {
175 goWebView(config.baseUrl_api + url)
176 }
177 }
178 }
179
180 function goWebView(url) {
181 url = url.replace("http://", "https://")
182 uni.showLoading({
183 title: '下载中'
184 });
185 uni.downloadFile({
186 url: url,
187 success: function(res) {
188 uni.hideLoading();
189 var filePath = res.tempFilePath;
190 uni.showLoading({
191 title: '正在打开'
192 });
193 uni.openDocument({
194 filePath: filePath,
195 showMenu: true,
196 success: function(res) {
197 uni.hideLoading();
198 },
199 fail: function(err) {
200 uni.hideLoading();
201 uni.showToast({
202 title: err,
203 icon: 'none',
204 duration: 2000
205 });
206 }
207 });
208 },
209 fail: function(error) {
210 uni.hideLoading();
211 uni.showToast({
212 title: `下载失败`,
213 icon: 'none',
214 duration: 2000
215 });
216 }
217 });
218 }
219 </script>
220
221 <style scoped lang="scss">
222 .height1 {
223 height: 1rpx
224 }
225
226 .ylImage {
227 width: 300rpx;
228 height: 200rpx;
229 display: block;
230 box-shadow: 0 0 10rpx #ddd;
231 border-radius: 8rpx;
232 }
233
234 .mainbox {
235 margin: 30rpx 25rpx 60rpx;
236 padding: 1px;
237 background: #FFFFFF;
238 border-radius: 15rpx;
239
240 :deep(.uni-list-item__content-title) {
241 color: #4C5359;
242 font-size: 30rpx;
243 font-weight: 300;
244 }
245
246 :deep(.uni-list-item__extra-text) {
247 color: #000;
248 font-size: 30rpx;
249 }
250 }
251
252 .photobox {
253 position: relative;
254 margin: 30rpx auto;
255
256 .photo {
257 width: 210rpx;
258 height: 280rpx;
259 background-color: #f4f4f4;
260 display: block;
261 margin: auto;
262 }
263 }
264
265 .colorful {
266 background-color: #007BDA;
267 width: 200rpx;
268 margin: auto;
269 height: 200rpx;
270 line-height: 200rpx;
271 font-size: 44rpx;
272 color: #fff;
273 text-align: center;
274 border-radius: 50%;
275 }
276
277 :deep(.uni-list-item__extra) {
278 width: 60%;
279 }
280 .photoBook{position: relative;border-radius: 10rpx; overflow: hidden;
281 &::after{content: '';position: absolute;width: 100%;height: 100%;top: 0;left: 0;
282 background: linear-gradient(180deg,rgba(0, 0, 0, 0),rgba(0, 0, 0, 0.7));
283 }
284 text{ position: absolute;z-index: 1;
285 font-size: 24rpx;
286 color: #fff;
287 bottom: 4rpx;
288 right: 8rpx;}
289 }
290 </style>
...\ No newline at end of file ...\ No newline at end of file
...@@ -19,18 +19,18 @@ ...@@ -19,18 +19,18 @@
19 <view class="indexboxre"> 19 <view class="indexboxre">
20 <view class="userlist mt30"> 20 <view class="userlist mt30">
21 <view class="item" v-for="n in infoList" :key="n.memId"> 21 <view class="item" v-for="n in infoList" :key="n.memId">
22 <view @click="handleInfo(n)"> 22 <view @click="godetail(n)">
23 <view class="name">{{n.name}} 23 <view class="name">{{n.name}}
24 <!-- <text v-if="n.memCode"> ({{n.memCode}}) </text> --> 24 <!-- <text v-if="n.memCode"> ({{n.memCode}}) </text> -->
25 </view> 25 </view>
26 <view class="date">到期时间:{{n.validityDate?.slice(0,10)||'--'}}</view> 26 <view class="date">到期时间:{{n.validityDate?.slice(0,10)||'--'}}</view>
27 </view> 27 </view>
28 <view class="status" style="top: 10rpx;"> 28 <view class="status" style="top: 10rpx;" @click="handleInfo(n)">
29 <text class="text-success" v-if="n.valiStr=='正常'">{{n.valiStr}}</text> 29 <text class="text-success" v-if="n.valiStr=='正常'">{{n.valiStr}}</text>
30 <text class="text-warning" v-if="n.valiStr=='已过期'">{{n.valiStr}}</text> 30 <text class="text-warning" v-if="n.valiStr=='已过期'">{{n.valiStr}}</text>
31 <text class="text-primary" v-if="n.valiStr=='即将过期'">{{n.valiStr}}</text> 31 <text class="text-primary" v-if="n.valiStr=='即将过期'">{{n.valiStr}}</text>
32 </view> 32 </view>
33 <view class="status" style="bottom: 20rpx;"> 33 <view class="status" style="bottom: 20rpx;" @click="handleInfo(n)">
34 <text class="text-success">{{n.validityMemberCount}}</text>/{{n.allMemberCount}} 34 <text class="text-success">{{n.validityMemberCount}}</text>/{{n.allMemberCount}}
35 </view> 35 </view>
36 </view> 36 </view>
...@@ -58,8 +58,8 @@ ...@@ -58,8 +58,8 @@
58 } = getCurrentInstance() 58 } = getCurrentInstance()
59 const app = getApp(); 59 const app = getApp();
60 const query = ref({ 60 const query = ref({
61 pageNum:1, 61 pageNum: 1,
62 pageSize:8, 62 pageSize: 8,
63 fromList: 1, 63 fromList: 1,
64 dType: 4, 64 dType: 4,
65 status: 2 65 status: 2
...@@ -92,6 +92,11 @@ ...@@ -92,6 +92,11 @@
92 title: '加载中' 92 title: '加载中'
93 }) 93 })
94 console.log(current.value, currentTabName.value, query.value.dType) 94 console.log(current.value, currentTabName.value, query.value.dType)
95 query.value.pageNum = 1
96 infoList.value = []
97 if (paging.value) {
98 paging.value.clear()
99 }
95 api.getGroupVipList(query.value).then(res => { 100 api.getGroupVipList(query.value).then(res => {
96 // infoList.value = res.rows 101 // infoList.value = res.rows
97 paging.value.complete(res.rows); 102 paging.value.complete(res.rows);
...@@ -99,7 +104,8 @@ ...@@ -99,7 +104,8 @@
99 uni.hideLoading() 104 uni.hideLoading()
100 }) 105 })
101 } 106 }
102 function getQuery(pageNum,pageSize){ 107
108 function getQuery(pageNum, pageSize) {
103 query.value.pageNum = pageNum 109 query.value.pageNum = pageNum
104 query.value.pageSize = pageSize 110 query.value.pageSize = pageSize
105 api.getGroupVipList(query.value).then(res => { 111 api.getGroupVipList(query.value).then(res => {
...@@ -109,6 +115,7 @@ ...@@ -109,6 +115,7 @@
109 uni.hideLoading() 115 uni.hideLoading()
110 }) 116 })
111 } 117 }
118
112 function getGroupInfo() { 119 function getGroupInfo() {
113 uni.showLoading({ 120 uni.showLoading({
114 title: '加载中' 121 title: '加载中'
...@@ -141,7 +148,20 @@ ...@@ -141,7 +148,20 @@
141 getGroupInfo() 148 getGroupInfo()
142 } 149 }
143 150
151 function godetail(n) {
152 const form = encodeURIComponent(JSON.stringify(n))
153 // uni.navigateTo({
154 // url: `/group/groupInfo?form=${form}`
155 // })
156 uni.navigateTo({
157 url: `/group/groupInfo?memId=${n.memId}`
158 })
159 }
160
144 function handleInfo(n) { 161 function handleInfo(n) {
162 if (n.allMemberCount == 0) {
163 return
164 }
145 uni.navigateTo({ 165 uni.navigateTo({
146 url: `/group/detail?deptId=${n.deptId}` 166 url: `/group/detail?deptId=${n.deptId}`
147 }) 167 })
......
1 <template> 1 <template>
2 <view class="hasfixedbottom"> 2 <view class="hasfixedbottom">
3 <view class="h3-padding">成员信息</view> 3 <view class="h3-padding">成员信息</view>
4 <view class="wBox"> 4 <view class="wBox" style="padding: 0;">
5 <view class="userlist"> 5 <view class="userlist">
6 <view class="item" v-for="n in list"> 6 <view class="item" v-for="(n,index) in list" :key="index" @click="goGroupInfo(n)">
7 <view style="width: 100%"> 7 <view style="width: 100%">
8 <view class="status"> 8 <view class="status">
9 <view v-if="n.status==0" class="text-primary"> 9 <view v-if="n.status==0" class="text-primary">
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
34 续费年限 34 续费年限
35 <text>{{n.renewYear}}</text> 35 <text>{{n.renewYear}}</text>
36 </view> 36 </view>
37 <view> 37 <view :class="n.validityTime?'':'w50'">
38 总价 38 总价
39 <text>¥{{n.allPrice}}</text> 39 <text>¥{{n.allPrice}}</text>
40 </view> 40 </view>
...@@ -127,6 +127,11 @@ ...@@ -127,6 +127,11 @@
127 feelList.value = res.data 127 feelList.value = res.data
128 }) 128 })
129 } 129 }
130 function goGroupInfo(row){
131 uni.navigateTo({
132 url: `/group/groupInfo?memId=${row.memId}`
133 })
134 }
130 </script> 135 </script>
131 136
132 <style scoped lang="scss"> 137 <style scoped lang="scss">
...@@ -156,7 +161,7 @@ ...@@ -156,7 +161,7 @@
156 position: relative; 161 position: relative;
157 162
158 .date { 163 .date {
159 margin-top: 10rpx; 164 margin: 10rpx 0;
160 } 165 }
161 166
162 .name { 167 .name {
......
...@@ -239,7 +239,7 @@ ...@@ -239,7 +239,7 @@
239 font-size: 30rpx; 239 font-size: 30rpx;
240 } 240 }
241 241
242 .ddd{font-size: 28rpx;color: #333; 242 .ddd{font-size: 28rpx;color: #333; margin: 0 0 10rpx;
243 .lab{color: #999;display: inline-block;text-align: justify;} 243 .lab{color: #999;display: inline-block;text-align: justify;}
244 } 244 }
245 } 245 }
......
1 <template> 1 <template>
2 <view> 2 <view>
3 <view class="text-center" v-if="userType=='2'"> 3 <view class="text-center whitebg" v-if="userType=='2'">
4 <view class="cardNav"> 4 <view class="cardNav">
5 <view class="active">会员审核</view> 5 <view class="active">会员审核</view>
6 <view @click="goMerge">审核合并</view> 6 <view @click="goMerge">审核合并</view>
......
1 <template> 1 <template>
2 <view class="hasfixedbottom"> 2 <view class="hasfixedbottom">
3 <view class="text-center"> 3 <view class="text-center whitebg">
4 <view class="cardNav"> 4 <view class="cardNav">
5 <view @click="goApproval">会员审核</view> 5 <view @click="goApproval">会员审核</view>
6 <view class="active">审核合并</view> 6 <view class="active">审核合并</view>
......
1 <template> 1 <template>
2 <view> 2 <view>
3 <view class="text-center"> 3 <view class="text-center whitebg">
4 <view class="cardNav"> 4 <view class="cardNav">
5 <view @click="goApproval">会员审核</view> 5 <view @click="goApproval">会员审核</view>
6 <view @click="goMerge">审核合并</view> 6 <view @click="goMerge">审核合并</view>
......
...@@ -80,8 +80,8 @@ ...@@ -80,8 +80,8 @@
80 let rangeId = '' 80 let rangeId = ''
81 onLoad((option) => { 81 onLoad((option) => {
82 if ('form' in option) { 82 if ('form' in option) {
83 form.value = JSON.parse(option.form) 83 form.value = JSON.parse(decodeURIComponent(option.form))
84 // console.log(111,form.value) 84 console.log(111,form.value)
85 } 85 }
86 type.value = option.type 86 type.value = option.type
87 // console.log(222,form.value) 87 // console.log(222,form.value)
...@@ -142,7 +142,7 @@ function goDetail(item){ ...@@ -142,7 +142,7 @@ function goDetail(item){
142 font-size: 30rpx; 142 font-size: 30rpx;
143 } 143 }
144 144
145 .ddd{font-size: 28rpx;color: #333; 145 .ddd{font-size: 28rpx;color: #333; margin: 0 0 10rpx;
146 .lab{color: #999;display: inline-block;text-align: justify; 146 .lab{color: #999;display: inline-block;text-align: justify;
147 text{word-break: break-all;} 147 text{word-break: break-all;}
148 } 148 }
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
28 <view>{{item.totalNum}}/<text class="text-danger">{{item.pass}}</text></view> 28 <view>{{item.totalNum}}/<text class="text-danger">{{item.pass}}</text></view>
29 </view> 29 </view>
30 </view> 30 </view>
31 <view class="func" v-if="item.certStatus != '2'"> 31 <view class="func" v-if="item.isCert != '2'">
32 <button @click="send(item)">一键生成</button> 32 <button @click="send(item)">一键生成</button>
33 </view> 33 </view>
34 </view> 34 </view>
......
This diff could not be displayed because it is too large.
...@@ -62,5 +62,7 @@ ...@@ -62,5 +62,7 @@
62 "uniStatistics" : { 62 "uniStatistics" : {
63 "enable" : false 63 "enable" : false
64 }, 64 },
65 "vueVersion" : "3" 65 "vueVersion" : "3",
66 "fallbackLocale" : "zh-Hans",
67 "locale" : "zh-Hans"
66 } 68 }
......
...@@ -427,6 +427,14 @@ ...@@ -427,6 +427,14 @@
427 "navigationBarTitleText" : "新建团体信息变更", 427 "navigationBarTitleText" : "新建团体信息变更",
428 "enablePullDownRefresh" : false 428 "enablePullDownRefresh" : false
429 } 429 }
430 },
431 {
432 "path" : "groupInfo",
433 "style" :
434 {
435 "navigationBarTitleText" : "机构资料",
436 "enablePullDownRefresh" : false
437 }
430 }] 438 }]
431 },{ 439 },{
432 "root": "level", 440 "root": "level",
...@@ -529,9 +537,6 @@ ...@@ -529,9 +537,6 @@
529 "enablePullDownRefresh": false 537 "enablePullDownRefresh": false
530 } 538 }
531 }] 539 }]
532 },{
533 "root": "training",
534 "pages":[]
535 }], 540 }],
536 "preloadRule": { 541 "preloadRule": {
537 "pages/index/index": { 542 "pages/index/index": {
......
...@@ -204,7 +204,7 @@ function getTablePersonInfo() { ...@@ -204,7 +204,7 @@ function getTablePersonInfo() {
204 font-size: 30rpx; 204 font-size: 30rpx;
205 } 205 }
206 206
207 .ddd{font-size: 28rpx;color: #333; 207 .ddd{font-size: 28rpx;color: #333; margin: 0 0 10rpx;
208 .lab{color: #999;display: inline-block;text-align: justify;} 208 .lab{color: #999;display: inline-block;text-align: justify;}
209 } 209 }
210 } 210 }
......
...@@ -13,9 +13,9 @@ ...@@ -13,9 +13,9 @@
13 v-model="baseFormData.name" placeholder="请输入姓名" /> 13 v-model="baseFormData.name" placeholder="请输入姓名" />
14 </uni-forms-item> 14 </uni-forms-item>
15 <uni-forms-item label="证件类型" required name="idcType"> 15 <uni-forms-item label="证件类型" required name="idcType">
16 <uni-data-select v-model="baseFormData.idcType" :clearable="false" :disabled="current === 0" :localdata="idcTypeList"></uni-data-select> 16 <uni-data-select v-model="baseFormData.idcType" @change="changeIdcType" :clearable="false" :disabled="current === 0" :localdata="idcTypeList"></uni-data-select>
17 </uni-forms-item> 17 </uni-forms-item>
18 <uni-forms-item label="证件照" required name="picUrl" v-show="current === 1"> 18 <uni-forms-item label="证件照" required name="card" v-show="current === 1">
19 <view class="upCard"> 19 <view class="upCard">
20 <uni-file-picker :class="baseFormData.card?'':'op0'" v-model="baseFormData.cardObj" 20 <uni-file-picker :class="baseFormData.card?'':'op0'" v-model="baseFormData.cardObj"
21 @delete="delimgFont" return-type="object" limit="1" @select="upIdCardImgFront" 21 @delete="delimgFont" return-type="object" limit="1" @select="upIdCardImgFront"
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
52 :placeholderStyle="placeholderStyle" v-model="baseFormData.address" 52 :placeholderStyle="placeholderStyle" v-model="baseFormData.address"
53 placeholder="请输入详细地址" /></uni-forms-item> 53 placeholder="请输入详细地址" /></uni-forms-item>
54 54
55 <uni-forms-item label="头像" required name="photo"> 55 <uni-forms-item label="头像" required>
56 <uni-file-picker v-model="photoArr" @delete="delPhoto" return-type="object" limit="1" 56 <uni-file-picker v-model="photoArr" @delete="delPhoto" return-type="object" limit="1"
57 @select="upPhoto" :del-ico="false" :image-styles="imageStylesTx"></uni-file-picker> 57 @select="upPhoto" :del-ico="false" :image-styles="imageStylesTx"></uni-file-picker>
58 </uni-forms-item> 58 </uni-forms-item>
...@@ -131,7 +131,7 @@ ...@@ -131,7 +131,7 @@
131 const infoConfirm = ref(null) 131 const infoConfirm = ref(null)
132 const agree = ref(false) 132 const agree = ref(false)
133 const perId = ref() 133 const perId = ref()
134 const photoArr = ref([]) 134 const photoArr = ref({})
135 const regionsList = ref([]) 135 const regionsList = ref([])
136 const baseFormData = ref({ 136 const baseFormData = ref({
137 photo: '', 137 photo: '',
...@@ -201,6 +201,13 @@ ...@@ -201,6 +201,13 @@
201 if (current.value != e.currentIndex) { 201 if (current.value != e.currentIndex) {
202 current.value = e.currentIndex 202 current.value = e.currentIndex
203 } 203 }
204 baseFormData.value = {
205 photo: '',
206 sex: '0',
207 idcType: '0',
208 perType: '1'
209 }
210 photoArr.value = {}
204 if(current.value==0){ 211 if(current.value==0){
205 baseFormData.value.idcType = '0' 212 baseFormData.value.idcType = '0'
206 } 213 }
...@@ -223,7 +230,16 @@ ...@@ -223,7 +230,16 @@
223 baseFormData.value.idcCode = res.data.code 230 baseFormData.value.idcCode = res.data.code
224 baseFormData.value.cityId = res.data.cityId 231 baseFormData.value.cityId = res.data.cityId
225 baseFormData.value.address = res.data.address 232 baseFormData.value.address = res.data.address
233 photoArr.value = {}
234 if(res.data.photo){
226 baseFormData.value.photo = res.data.photo 235 baseFormData.value.photo = res.data.photo
236 let obj = {
237 url: config.baseUrl_api + res.data.photo,
238 name:'头像',
239 extname:'jpg'
240 }
241 photoArr.value=obj
242 }
227 baseFormData.value.name = res.data.name 243 baseFormData.value.name = res.data.name
228 baseFormData.value.picUUid = res.data.picUUid 244 baseFormData.value.picUUid = res.data.picUUid
229 }) 245 })
...@@ -233,9 +249,25 @@ ...@@ -233,9 +249,25 @@
233 } 249 }
234 250
235 function upPhoto(e) { 251 function upPhoto(e) {
252 const tempFilePaths = e.tempFilePaths;
253 const imgUrl = tempFilePaths[0]
254 wx.cropImage({
255 src: imgUrl,
256 cropScale: '4:5',
257 success: function(resp) {
258 uni.showLoading({
259 title: '加载中'
260 });
236 api.uploadImg(e).then(data => { 261 api.uploadImg(e).then(data => {
237 baseFormData.value.photo = data.msg; 262 baseFormData.value.photo = data.msg;
238 }); 263 });
264 },
265 fail: function(err) {
266 photoArr.value = {}
267 }
268 })
269
270
239 } 271 }
240 272
241 function delimgFont(n) { 273 function delimgFont(n) {
...@@ -243,7 +275,7 @@ ...@@ -243,7 +275,7 @@
243 } 275 }
244 276
245 function delPhoto(n) { 277 function delPhoto(n) {
246 photoArr.value = []; 278 photoArr.value = {};
247 baseFormData.value.photo = ''; 279 baseFormData.value.photo = '';
248 } 280 }
249 281
...@@ -293,7 +325,7 @@ ...@@ -293,7 +325,7 @@
293 baseFormData.value.phone = res.data.phone 325 baseFormData.value.phone = res.data.phone
294 baseFormData.value.cityId = res.data.cityId 326 baseFormData.value.cityId = res.data.cityId
295 baseFormData.value.address = res.data.address 327 baseFormData.value.address = res.data.address
296 photoArr.value = [] 328 photoArr.value = {}
297 if(res.data.photo){ 329 if(res.data.photo){
298 baseFormData.value.photo = res.data.photo 330 baseFormData.value.photo = res.data.photo
299 let obj = { 331 let obj = {
...@@ -301,10 +333,11 @@ ...@@ -301,10 +333,11 @@
301 name:'头像', 333 name:'头像',
302 extname:'jpg' 334 extname:'jpg'
303 } 335 }
304 photoArr.value.push(obj) 336 photoArr.value=obj
305 } 337 }
306 baseFormData.value.name = res.data.name 338 baseFormData.value.name = res.data.name
307 baseFormData.value.perId = res.data.perId 339 baseFormData.value.perId = res.data.perId
340 console.log(res.data.photo,baseFormData.value.photo)
308 }) 341 })
309 342
310 } 343 }
...@@ -336,7 +369,16 @@ ...@@ -336,7 +369,16 @@
336 agree.value = true 369 agree.value = true
337 popup.value.close() 370 popup.value.close()
338 } 371 }
339 372 function changeIdcType(e){
373 console.log(e)
374 // 切换证件照类型把当前页面数据清空
375 // baseFormData.value = {
376 // photo: '',
377 // sex: '0',
378 // idcType: '0',
379 // perType: '1',
380 // }
381 }
340 function goSubmit() { 382 function goSubmit() {
341 if (!agree.value) { 383 if (!agree.value) {
342 uni.showToast({ 384 uni.showToast({
...@@ -395,8 +437,11 @@ ...@@ -395,8 +437,11 @@
395 } 437 }
396 if (res.data * 1 < 0) { 438 if (res.data * 1 < 0) {
397 // 会员调入弹出 439 // 会员调入弹出
398 perId.value = res.data.slice(1) 440 uni.showModal({
399 getUserInfo() 441 content:'该会员已存在其他道馆,如需添加,请发起会员调动',
442 title:'提示',
443 success: function(res) {}
444 })
400 return 445 return
401 } 446 }
402 let msg = '保存成功' 447 let msg = '保存成功'
...@@ -423,8 +468,8 @@ ...@@ -423,8 +468,8 @@
423 468
424 function getUserInfo() { 469 function getUserInfo() {
425 api.getInfo(perId.value).then(res => { 470 api.getInfo(perId.value).then(res => {
426 forms.value = res.data 471 baseFormData.value = res.data
427 if (forms.areaAssName) forms.ancestorNameList = forms.value.ancestorNameList.join(',').replaceAll(',', 472 if (baseFormData.areaAssName) baseFormData.ancestorNameList = baseFormData.value.ancestorNameList.join(',').replaceAll(',',
428 '/') 473 '/')
429 }) 474 })
430 } 475 }
......
1 <template> 1 <template>
2 <view class="mainbox"> 2 <view class="mainbox">
3 <view class="topBg">
3 <view class="photobox"> 4 <view class="photobox">
4 <image class="photo" v-if="form.photo" :src="form.photo" mode='widthFix'></image> 5 <image class="photo" v-if="form.photo" :src="form.photo" mode='aspectFit'></image>
5 <view class="colorful" v-else>{{form.name?.slice(0,1)}}</view> 6 <view class="colorful" v-else>{{form.name?.slice(0,1)}}</view>
6 </view> 7 </view>
8 <view class="infoBox">
9 <view class="name">
10 {{form.name}}
11 </view>
12 <view class="flexbox">
13 <label>证件号:</label>
14 <text>{{ form.idcCode}}</text>
15 </view>
16 <view class="flexbox">
17 <label>会员编号:</label>
18 <text>{{ form.perCode}}</text>
19 </view>
20 <view class="flexbox">
21 <label>有效期:</label>
22 <text>{{ form.idcType==3?'--': form.validityDate?.slice(0,10)||'--' }}</text>
23 </view>
24 </view>
25 </view>
7 <uni-list> 26 <uni-list>
8 <uni-list-item title="姓名" :rightText="form.name"/> 27 <uni-list-item title="姓名" :rightText="form.name" />
9 <uni-list-item title="证件类型" :rightText="cardType?.[form?.idcType]?.label" /> 28 <uni-list-item title="证件类型" :rightText="cardType?.[form?.idcType]?.label" />
10 <uni-list-item title="证件号" :rightText="form.idcCode"/> 29 <uni-list-item title="证件号" :rightText="form.idcCode" />
11 <uni-list-item title="性别" :rightText="form.sex==0?'男':'女'"/> 30 <uni-list-item title="性别" :rightText="form.sex==0?'男':'女'" />
12 <uni-list-item title="会员编号" :rightText="form.perCode"/> 31 <uni-list-item title="会员编号" :rightText="form.perCode" />
13 <uni-list-item title="所属一级协会" :rightText="form.topAssName"/> 32 <uni-list-item title="所属一级协会" :rightText="form.topAssName" />
14 <uni-list-item title="所属地区协会" :rightText="form.areaAssName"/> 33 <uni-list-item title="所属地区协会" :rightText="form.areaAssName" />
15 <uni-list-item title="注册团体会员" :rightText="form.memName"/> 34 <uni-list-item title="注册团体会员" :rightText="form.memName" />
16 <uni-list-item title="缴费日期" :rightText="form.payDate||'--'"/> 35 <uni-list-item title="缴费日期" :rightText="form.payDate||'--'" />
17 <uni-list-item title="出生日期" :rightText="form.birth?.slice(0,10)"/> 36 <uni-list-item title="出生日期" :rightText="form.birth?.slice(0,10)" />
18 <uni-list-item title="手机号码" :rightText="form.phone"/> 37 <uni-list-item title="手机号码" :rightText="form.phone" />
19 <uni-list-item title="所在地区" :rightText="form.cityStr"/> 38 <uni-list-item title="所在地区" :rightText="form.cityStr" />
20 39 <uni-list-item title="详细地址" :rightText="form.address||'--'" />
21 <uni-list-item title="详细地址" :rightText="form.address||'--'"/>
22 </uni-list> 40 </uni-list>
23
24 </view> 41 </view>
25 <view class="height1"></view> 42 <view class="height1"></view>
26 </template> 43 </template>
...@@ -29,43 +46,59 @@ ...@@ -29,43 +46,59 @@
29 import * as api from '@/common/api.js' 46 import * as api from '@/common/api.js'
30 import config from '@/config.js' 47 import config from '@/config.js'
31 import { 48 import {
32 onLoad,onShow 49 onLoad,
50 onShow
33 } from '@dcloudio/uni-app'; 51 } from '@dcloudio/uni-app';
34 import {ref } from 'vue' 52 import {
35 const cardType = ref([ 53 ref
36 { label: '身份证', value: '0' }, 54 } from 'vue'
37 { label: '港澳台通行证 ', value: '1' }, 55 const cardType = ref([{
38 { label: '中国护照', value: '2' }, 56 label: '身份证',
39 { label: '外国护照', value: '3' }, 57 value: '0'
40 { label: '其它', value: '4' } 58 },
59 {
60 label: '港澳台通行证 ',
61 value: '1'
62 },
63 {
64 label: '中国护照',
65 value: '2'
66 },
67 {
68 label: '外国护照',
69 value: '3'
70 },
71 {
72 label: '其它',
73 value: '4'
74 }
41 ]) 75 ])
42 const form = ref({}) 76 const form = ref({})
43 onLoad((option)=>{ 77 onLoad((option) => {
44 console.log(option) 78 console.log(option)
45 79 api.getInfo(option.perId).then(res => {
46 api.getInfo(option.perId).then(res=>{
47 form.value = res.data 80 form.value = res.data
48 form.value.topAssName = form.value?.ancestorNameList?.[0] 81 form.value.topAssName = form.value?.ancestorNameList?.[0]
49 form.value.areaAssName = form.value?.ancestorNameList?.[1] 82 form.value.areaAssName = form.value?.ancestorNameList?.[1]
50 form.value.memName = res.data.memName 83 form.value.memName = res.data.memName
51 if(form.value.cityId){ 84 if (form.value.cityId) {
52 getRegionsList(form.value.cityId) 85 getRegionsList(form.value.cityId)
53 } 86 }
54 if(form.value.photo&&form.value.photo.indexOf('http')==-1){ 87 if (form.value.photo && form.value.photo.indexOf('http') == -1) {
55 form.value.photo = config.baseUrl_api + form.value.photo 88 form.value.photo = config.baseUrl_api + form.value.photo
56 } 89 }
57 }) 90 })
58 }) 91 })
59 function getRegionsList(cityId){ 92
60 api.regionsList().then(res=>{ 93 function getRegionsList(cityId) {
61 for(var m of res.data){ 94 api.regionsList().then(res => {
62 for(var n of m.children){ 95 for (var m of res.data) {
63 for(var o of n.children){ 96 for (var n of m.children) {
64 if(o.value == cityId){ 97 for (var o of n.children) {
98 if (o.value == cityId) {
65 form.value.cityStr = m.text + n.text + o.text 99 form.value.cityStr = m.text + n.text + o.text
66 } 100 }
67 } 101 }
68
69 } 102 }
70 } 103 }
71 }) 104 })
...@@ -73,19 +106,49 @@ ...@@ -73,19 +106,49 @@
73 </script> 106 </script>
74 107
75 <style scoped lang="scss"> 108 <style scoped lang="scss">
76 .height1{height:1rpx} 109 .flexbox{width: 60%;margin:10rpx auto;font-size: 28rpx;align-items: center;
77 .mainbox{margin: 30rpx 25rpx 60rpx;padding: 1px; 110 label{color: #7b7f83;width: 5em;font-size: 24rpx;}
78 background: #FFFFFF; 111 }
79 border-radius: 15rpx; 112 .topBg{background: #f5f5f5;}
80 :deep(.uni-list-item__content-title){color: #4C5359;font-size: 30rpx; 113 .infoBox{padding: 1rpx 1rpx 30rpx;
81 font-weight: 300;} 114 .name{font-size: 34rpx;text-align: center;}
82 :deep(.uni-list-item__extra-text){color: #000; 115 }
83 font-size: 30rpx;} 116 .photobox {
84 } 117 position: relative;
85 .photobox{position: relative;margin: 30rpx auto; 118 padding: 30rpx 0 30rpx;
86 .photo{width: 210rpx;height: 280rpx;background-color: #f4f4f4;display: block;margin: auto;} 119
87 } 120 .photo {
88 .colorful {background-color: #007BDA; 121 width: 255rpx;
122 height: 318rpx;
123 background-color: #f4f4f4;
124 display: block;
125 margin: auto;
126 }
127 }
128 .height1 {
129 height: 1rpx
130 }
131 .mainbox {
132 margin: 30rpx 25rpx 60rpx;box-shadow:0 0 8rpx #ddd;
133 background: #FFFFFF;
134 border-radius: 15rpx;
135
136 :deep(.uni-list-item__content-title) {
137 color: #4C5359;
138 font-size: 30rpx;
139 font-weight: 300;
140 }
141
142 :deep(.uni-list-item__extra-text) {
143 color: #000;
144 font-size: 30rpx;
145 }
146 }
147
148
149
150 .colorful {
151 background-color: #007BDA;
89 width: 200rpx; 152 width: 200rpx;
90 margin: auto; 153 margin: auto;
91 height: 200rpx; 154 height: 200rpx;
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
13 </view> 13 </view>
14 <!-- 成员 --> 14 <!-- 成员 -->
15 <view class="userlist"> 15 <view class="userlist">
16 <view class="item" v-for="n in list"> 16 <view class="item" v-for="n in list" :key="n.memId" @click="goPersonInfo(n)">
17 <view class="photobox"> 17 <view class="photobox">
18 <view class="colorful">{{n.personName?.slice(0,1)}}</view> 18 <view class="colorful">{{n.personName?.slice(0,1)}}</view>
19 </view> 19 </view>
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
22 <view class="date">原有效期至{{n.originValidityDate?.slice(0,10)||'--'}}</view> 22 <view class="date">原有效期至{{n.originValidityDate?.slice(0,10)||'--'}}</view>
23 </view> 23 </view>
24 <view class="nian"> 24 <view class="nian">
25 总价 ¥{{n.allPrice}} 25 ¥{{n.allPrice}}
26 </view> 26 </view>
27 </view> 27 </view>
28 </view> 28 </view>
...@@ -75,6 +75,11 @@ ...@@ -75,6 +75,11 @@
75 form.value = res.data 75 form.value = res.data
76 }) 76 })
77 } 77 }
78 function goPersonInfo(n){
79 uni.navigateTo({
80 url: `/personalVip/detail?perId=${n.perId}`
81 })
82 }
78 </script> 83 </script>
79 84
80 <style scoped lang="scss"> 85 <style scoped lang="scss">
...@@ -100,7 +105,7 @@ ...@@ -100,7 +105,7 @@
100 .item { 105 .item {
101 border-bottom: 1px dashed #e5e5e5; 106 border-bottom: 1px dashed #e5e5e5;
102 position: relative;padding: 20rpx 0; 107 position: relative;padding: 20rpx 0;
103 108 .photobox{margin-right:20rpx;}
104 .date { 109 .date {
105 margin-top: 10rpx; 110 margin-top: 10rpx;
106 } 111 }
......
...@@ -7,19 +7,22 @@ ...@@ -7,19 +7,22 @@
7 </uni-easyinput> 7 </uni-easyinput>
8 8
9 </view> 9 </view>
10 <view class="pdbox">
11
12 <view class="personitem" v-for="(n,index) in list" :key="index">
10 <uni-swipe-action> 13 <uni-swipe-action>
11 <uni-swipe-action-item class="personitem" v-for="(n,index) in list" :key="index"> 14 <uni-swipe-action-item>
12 <view class="content-box" @click="handleInfo(n)"> 15 <view class="content-box" @click="handleInfo(n)">
13 <view class="flexbox"> 16 <view class="flexbox" style="flex: 1 1 auto;">
14 <view class="photobox"> 17 <view class="photobox">
15 <image class="photo" v-if="n.photo" :src="n.photo" mode='aspectFill'></image> 18 <image class="photo" v-if="n.photo" :src="n.photo" mode='aspectFill'></image>
16 <view class="colorful" v-else>{{n.name.slice(0,1)}}</view> 19 <view class="colorful" v-else>{{n.name.slice(0,1)}}</view>
17 </view> 20 </view>
18 <view> 21 <view>
19 {{n.name}} ({{n.perCode}}) 22 {{n.name}} <text class="date">({{n.perCode}})</text>
20 </view> 23 </view>
21 </view> 24 </view>
22 <view class="flexbox"> 25 <view class="flexbox" style="flex:0 0 auto">
23 <text v-if="n.certStage==0" class="text-primary"> 26 <text v-if="n.certStage==0" class="text-primary">
24 新会员 27 新会员
25 </text> 28 </text>
...@@ -48,10 +51,17 @@ ...@@ -48,10 +51,17 @@
48 <uni-icons type="trash" color="#fff" size="20"></uni-icons> 51 <uni-icons type="trash" color="#fff" size="20"></uni-icons>
49 <text class="slot-button-text">删除</text> 52 <text class="slot-button-text">删除</text>
50 </view> 53 </view>
54 <view class="danger-button" v-else @click="handleDelete(n)" style="opacity: 0.5;">
55 <uni-icons type="trash" color="#fff" size="20"></uni-icons>
56 <text class="slot-button-text">删除</text>
57 </view>
51 </view> 58 </view>
52 </template> 59 </template>
53 </uni-swipe-action-item> 60 </uni-swipe-action-item>
54 </uni-swipe-action> 61 </uni-swipe-action>
62 </view>
63
64 </view>
55 </z-paging> 65 </z-paging>
56 <view class="nodata" v-if="list.length==0"> 66 <view class="nodata" v-if="list.length==0">
57 <!-- <image mode="aspectFit" src="/static/nodata.png"></image> --> 67 <!-- <image mode="aspectFit" src="/static/nodata.png"></image> -->
...@@ -132,6 +142,9 @@ ...@@ -132,6 +142,9 @@
132 } 142 }
133 143
134 function handleDelete(item) { 144 function handleDelete(item) {
145 if(item.certStage!=0){
146 return
147 }
135 uni.showModal({ 148 uni.showModal({
136 content: `是否确认删除${item.name}`, 149 content: `是否确认删除${item.name}`,
137 success: function(res) { 150 success: function(res) {
...@@ -169,6 +182,7 @@ ...@@ -169,6 +182,7 @@
169 </script> 182 </script>
170 183
171 <style scoped lang="scss"> 184 <style scoped lang="scss">
185 .personitem{margin: 0 0 30rpx;}
172 .searchbar { 186 .searchbar {
173 display: flex; 187 display: flex;
174 align-items: center; 188 align-items: center;
...@@ -197,5 +211,8 @@ ...@@ -197,5 +211,8 @@
197 211
198 .content-box { 212 .content-box {
199 background: #fff; 213 background: #fff;
214 .photobox{margin-right: 20rpx;
215 }
200 } 216 }
217 .pdbox{padding: 0 20rpx;}
201 </style> 218 </style>
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
12 </view> 12 </view>
13 13
14 <view class="appList"> 14 <view class="appList">
15 <view class="appItem" v-for="item in list"> 15 <view class="appItem" v-for="(item,index) in list" :key="index">
16 <view class="status" @click="goDetail(item)"> 16 <view class="status" @click="goDetail(item)">
17 <view v-if="deptType == 1"> 17 <view v-if="deptType == 1">
18 <text v-if="item.ztxRes == 0">审核中</text> 18 <text v-if="item.ztxRes == 0">审核中</text>
...@@ -102,9 +102,6 @@ ...@@ -102,9 +102,6 @@
102 const total = ref(0) 102 const total = ref(0)
103 const deptType = ref('') 103 const deptType = ref('')
104 onLoad(() => { 104 onLoad(() => {
105
106 })
107 onShow(() => {
108 if (app.globalData.isLogin) { 105 if (app.globalData.isLogin) {
109 init() 106 init()
110 } else { 107 } else {
...@@ -114,6 +111,9 @@ ...@@ -114,6 +111,9 @@
114 }; 111 };
115 } 112 }
116 }) 113 })
114 onShow(() => {
115 getList()
116 })
117 117
118 function init() { 118 function init() {
119 uni.showLoading({ 119 uni.showLoading({
...@@ -159,6 +159,9 @@ ...@@ -159,6 +159,9 @@
159 } 159 }
160 160
161 function getList() { 161 function getList() {
162 uni.showLoading({
163 title: '加载中'
164 })
162 api.getMobilizelist(queryParams.value).then(res => { 165 api.getMobilizelist(queryParams.value).then(res => {
163 uni.hideLoading() 166 uni.hideLoading()
164 list.value = res.rows 167 list.value = res.rows
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
5 5
6 <!-- 成员 --> 6 <!-- 成员 -->
7 <view class="userlist"> 7 <view class="userlist">
8 <view class="item" v-for="n in list"> 8 <view class="item" v-for="n in list" :key="n.id" @click="goPersonDetail(n)">
9 <view class="photobox"> 9 <view class="photobox">
10 <view class="colorful">{{n.perName?.slice(0,1)}}</view> 10 <view class="colorful">{{n.perName?.slice(0,1)}}</view>
11 </view> 11 </view>
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
21 21
22 <view class="h3-padding">审核流程</view> 22 <view class="h3-padding">审核流程</view>
23 <view class="wBox"> 23 <view class="wBox">
24 <view class="stepItem" v-for="(n,index) in auditLog"> 24 <view class="stepItem" v-for="(n,index) in auditLog" :key="index">
25 <view class="time">{{n.auditTime||'待审批'}}</view> 25 <view class="time">{{n.auditTime||'待审批'}}</view>
26 <view class="content"> 26 <view class="content">
27 <view class="status"> 27 <view class="status">
...@@ -158,6 +158,11 @@ ...@@ -158,6 +158,11 @@
158 uni.navigateBack() 158 uni.navigateBack()
159 }) 159 })
160 } 160 }
161 function goPersonDetail(row){
162 uni.navigateTo({
163 url: `/personalVip/detail?perId=${row.perId}`
164 })
165 }
161 </script> 166 </script>
162 167
163 <style scoped lang="scss"> 168 <style scoped lang="scss">
......
...@@ -141,7 +141,7 @@ function goDetail(item){ ...@@ -141,7 +141,7 @@ function goDetail(item){
141 font-size: 30rpx; 141 font-size: 30rpx;
142 } 142 }
143 143
144 .ddd{font-size: 28rpx;color: #333; 144 .ddd{font-size: 28rpx;color: #333; margin: 0 0 10rpx;
145 .lab{color: #999;display: inline-block;text-align: justify; 145 .lab{color: #999;display: inline-block;text-align: justify;
146 text{word-break: break-all;} 146 text{word-break: break-all;}
147 } 147 }
......
...@@ -88,7 +88,7 @@ ...@@ -88,7 +88,7 @@
88 </script> 88 </script>
89 89
90 <style lang="scss" scoped> 90 <style lang="scss" scoped>
91 .segmented-control { 91 .segmented-control { background: #fff;
92 /* #ifndef APP-NVUE */ 92 /* #ifndef APP-NVUE */
93 display: flex; 93 display: flex;
94 box-sizing: border-box; 94 box-sizing: border-box;
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!