d17e81f7 by 杨炀

no message

1 parent 65316219
...@@ -141,7 +141,7 @@ color: #7D8592;} ...@@ -141,7 +141,7 @@ color: #7D8592;}
141 } 141 }
142 text{font-size: 30rpx;padding:30rpx 0 0;} 142 text{font-size: 30rpx;padding:30rpx 0 0;}
143 } 143 }
144 .status{position: absolute;font-size: 30rpx;right: 30rpx;} 144 .status{position: absolute;font-size: 26rpx;right: 30rpx;}
145 } 145 }
146 146
147 .text-primary{color: #1561CB;} 147 .text-primary{color: #1561CB;}
......
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
4 4
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://182.92.233.247/stage-api/"; 7 // const baseUrl_api = "http://182.92.233.247/stage-api/";
8 // const baseUrl_api = 'http://192.168.1.97:8787' 8 const baseUrl_api = 'http://192.168.1.11:8787'
9 9
10 export default { 10 export default {
11 baseUrl_api 11 baseUrl_api
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
28 28
29 <!-- 成员 --> 29 <!-- 成员 -->
30 <view class="userlist"> 30 <view class="userlist">
31 <view class="item" v-for="n in list"> 31 <view class="item" v-for="(n,index) in list" :key="n.index">
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">单位类型:
...@@ -42,11 +42,11 @@ ...@@ -42,11 +42,11 @@
42 <view> 42 <view>
43 <view> 43 <view>
44 原有效期 44 原有效期
45 <text>{{n.validityTime?.slice(0,10)}}</text> 45 <text>{{n.validityTime?.slice(0,10)||'-'}}</text>
46 </view> 46 </view>
47 <view> 47 <view>
48 提交日期 48 提交日期
49 <text>{{n.commitTime?.slice(0,10)}}</text> 49 <text>{{n.commitTime?.slice(0,10)||'-'}}</text>
50 </view> 50 </view>
51 </view> 51 </view>
52 <view> 52 <view>
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
74 74
75 <view class="h3-padding">审核记录</view> 75 <view class="h3-padding">审核记录</view>
76 <view class="wBox"> 76 <view class="wBox">
77 <view class="stepItem" v-for="(n,index) in auditList"> 77 <view class="stepItem" v-for="(n,index) in auditList" :key="index">
78 <view class="time">{{n.handleDate||'待审批'}}</view> 78 <view class="time">{{n.handleDate||'待审批'}}</view>
79 <view class="content"> 79 <view class="content">
80 <view class="status"> 80 <view class="status">
......
...@@ -9,31 +9,30 @@ ...@@ -9,31 +9,30 @@
9 <view class="wBox"> 9 <view class="wBox">
10 <!-- 成员 --> 10 <!-- 成员 -->
11 <view class="userlist"> 11 <view class="userlist">
12 <view class="item" v-for="n in list" @click="goDetail(n)"> 12 <view class="item" v-for="(n,index) in list" :key="index" @click="goDetail(n)">
13 <view class="photobox"> 13 <view class="photobox">
14 <view class="colorful">{{n.name?.slice(0,1)}}</view> 14 <view class="colorful">{{n.name?.slice(0,1)}}</view>
15 </view> 15 </view>
16 <view> 16 <view>
17 <view class="name">{{n.name}} 17 <view class="name">{{n.name}}
18
19 <text v-if="n.sex == 1">(女)</text> 18 <text v-if="n.sex == 1">(女)</text>
20 <text v-else>(男)</text> 19 <text v-else>(男)</text>
21
22
23 </view> 20 </view>
24 <!-- <view class="date">{{n.ancestorNameList[0]}} {{ n.ancestorNameList[1] }} 21 <!-- <view class="date">
25 {{n.ancestorNameList[2]}}</view> --> 22 {{n.ancestorNameList[0]}} {{ n.ancestorNameList[1] }}
23 {{n.ancestorNameList[2]}} {{n.memName}}
24 </view> -->
26 <view class="date"> 25 <view class="date">
27 注册时间 {{n.createTime }} 26 注册时间 {{n.createTime?.slice(0,10) }}
28 </view> 27 </view>
29 </view> 28 </view>
30 <view class="nian"> 29 <!-- <view class="nian">
31 <text v-if="n.perType==1"> 个人</text> 30 <text v-if="n.perType==1"> 个人</text>
32 <text v-if="n.perType==2"> 教练</text> 31 <text v-if="n.perType==2"> 教练</text>
33 <text v-if="n.perType==3"> 考官</text> 32 <text v-if="n.perType==3"> 考官</text>
34 <text v-if="n.perType==4"> 裁判</text> 33 <text v-if="n.perType==4"> 裁判</text>
35 <text v-if="n.perType==5">临时</text> 34 <text v-if="n.perType==5">临时</text>
36 </view> 35 </view> -->
37 </view> 36 </view>
38 </view> 37 </view>
39 <view class="nodata" v-if="list.length==0"> 38 <view class="nodata" v-if="list.length==0">
......
1 <template> 1 <template>
2 <view> 2 <view>
3 <uni-segmented-control class="whitebg" :current="current" :values="navs" @clickItem="onClickItem" styleType="text" activeColor="#AD181F"></uni-segmented-control> 3 <uni-segmented-control class="whitebg" :current="current" :values="navs" @clickItem="onClickItem"
4 styleType="text" activeColor="#AD181F"></uni-segmented-control>
4 <view class="searchbar"> 5 <view class="searchbar">
5 <uni-easyinput placeholderStyle="font-size:30rpx" :input-border="false" prefixIcon="search" 6 <uni-easyinput placeholderStyle="font-size:30rpx" :input-border="false" prefixIcon="search"
6 v-model="query.name" placeholder="搜索团队会员名称" @blur="getList" @clear="getList"> 7 v-model="query.name" placeholder="搜索团队会员名称" @blur="getList" @clear="getList">
7 </uni-easyinput> 8 </uni-easyinput>
8 </view> 9 </view>
9 <view class="vipData"> 10 <view class="vipData">
10 <view>共计 <text>{{ forms?.total }}</text></view> 11 <view>共计 <text>{{ forms?.total }}</text></view>
11 <view>有效会员 <text>{{ forms?.effective }}</text></view> 12 <view>有效会员 <text>{{ forms?.effective }}</text></view>
12 <view>过期会员 <text>{{ forms?.expired }}</text></view> 13 <view>过期会员 <text>{{ forms?.expired }}</text></view>
13 <view>即将过期会员 <text>{{ forms?.soon }}</text></view> 14 <view>即将过期会员 <text>{{ forms?.soon }}</text></view>
14 </view> 15 </view>
15 <view class="indexboxre"> 16 <view class="indexboxre">
16 <view class="userlist mt30"> 17 <view class="userlist mt30">
17 <view class="item" v-for="n in infoList" @click="handleInfo(n)"> 18 <view class="item" v-for="n in infoList" :key="n.memId" @click="handleInfo(n)">
18 <view @click="handleInfo(n)"> 19 <view @click="handleInfo(n)">
19 <view class="name">{{n.name}}<text v-if="n.memCode"> ({{n.memCode}}) </text></view> 20 <view class="name">{{n.name}}<text v-if="n.memCode"> ({{n.memCode}}) </text></view>
20 <view class="date">到期时间:{{n.validityDate?.slice(0,10)||'--'}}</view> 21 <view class="date">到期时间:{{n.validityDate?.slice(0,10)||'--'}}</view>
21 </view> 22 </view>
22 <view class="status"> 23 <view class="status" style="bottom: 20rpx;">
23 会员 <text class="text-success">{{n.validityMemberCount}}</text>/{{n.allMemberCount}} 24 <text class="text-success">{{n.validityMemberCount}}</text>/{{n.allMemberCount}}
24 </view> 25 </view>
25 </view> 26 </view>
26 </view> 27 </view>
27 <view class="nodata" v-if="infoList.length==0"> 28 <view class="nodata" v-if="infoList.length==0">
28 <image mode="aspectFit" src="/static/nodata.png"></image> 29 <image mode="aspectFit" src="/static/nodata.png"></image>
29 <text>暂无数据</text> 30 <text>暂无数据</text>
30 </view> 31 </view>
31 </view> 32 </view>
32 33
...@@ -47,73 +48,76 @@ ...@@ -47,73 +48,76 @@
47 } = getCurrentInstance() 48 } = getCurrentInstance()
48 const app = getApp(); 49 const app = getApp();
49 const query = ref({ 50 const query = ref({
50 fromList: 1, 51 fromList: 1,
51 dType: 4, 52 dType: 4,
52 }) 53 })
53 const navs = ref(['道馆','三级协会','二级协会','一级协会']) 54 const navs = ref(['道馆', '三级协会', '二级协会', '一级协会'])
54 const list = ref([]) 55 const list = ref([])
55 const forms = ref({}) 56 const forms = ref({})
56 const infoList = ref([]) 57 const infoList = ref([])
57 const total = ref(0) 58 const total = ref(0)
58 const current = ref(0) 59 const current = ref(0)
59 const currentTabName = ref('道馆') 60 const currentTabName = ref('道馆')
60 const userType = ref('') 61 const userType = ref('')
61 const deptType = ref('') 62 const deptType = ref('')
62 onLoad(() => { 63 onLoad(() => {
63 userType.value = app.globalData.userType 64 userType.value = app.globalData.userType
64 deptType.value = app.globalData.deptType 65 deptType.value = app.globalData.deptType
65 // 部门类型 1:中跆协 2:省 3:直属 4:市 5:区 6: 团体 66 // 部门类型 1:中跆协 2:省 3:直属 4:市 5:区 6: 团体
66 if(deptType.value==2||deptType.value==3){ 67 if (deptType.value == 2 || deptType.value == 3) {
67 navs.value = ['道馆','三级协会','二级协会'] 68 navs.value = ['道馆', '三级协会', '二级协会']
68 } else if(deptType.value==4){ 69 } else if (deptType.value == 4) {
69 navs.value = ['道馆','三级协会'] 70 navs.value = ['道馆', '三级协会']
70 } 71 }
71 getList() 72 getList()
72 getGroupInfo() 73 getGroupInfo()
73 }) 74 })
74 75
75 function getList() { 76 function getList() {
76 uni.showLoading({ 77 uni.showLoading({
77 title:'加载中' 78 title: '加载中'
78 }) 79 })
79 console.log(current.value,currentTabName.value,query.value.dType) 80 console.log(current.value, currentTabName.value, query.value.dType)
80 api.getGroupVipList(query.value).then(res => { 81 api.getGroupVipList(query.value).then(res => {
81 infoList.value = res.rows 82 infoList.value = res.rows
82 total.value = res.total 83 total.value = res.total
83 uni.hideLoading() 84 uni.hideLoading()
84 }) 85 })
85 }
86 function getGroupInfo(){
87 api.getMemberCountInfo({dType: query.value.dType, fromList: 1}).then(res=>{
88 forms.value = res
89 })
90 } 86 }
91 function onClickItem(e){ 87
92 current.value = e.currentIndex 88 function getGroupInfo() {
93 currentTabName.value = navs.value[e.currentIndex] 89 api.getMemberCountInfo({
94 if(currentTabName.value == '道馆'){ 90 dType: query.value.dType,
95 query.value.dType = 4 91 fromList: 1
96 } else if(currentTabName.value == '三级协会'){ 92 }).then(res => {
97 query.value.dType = 3 93 forms.value = res
98 } else if(currentTabName.value == '二级协会'){ 94 })
99 query.value.dType = 2 95 }
100 } else if(currentTabName.value == '一级协会'){ 96
101 query.value.dType = 1 97 function onClickItem(e) {
102 } 98 current.value = e.currentIndex
103 getList() 99 currentTabName.value = navs.value[e.currentIndex]
104 getGroupInfo() 100 if (currentTabName.value == '道馆') {
101 query.value.dType = 4
102 } else if (currentTabName.value == '三级协会') {
103 query.value.dType = 3
104 } else if (currentTabName.value == '二级协会') {
105 query.value.dType = 2
106 } else if (currentTabName.value == '一级协会') {
107 query.value.dType = 1
108 }
109 getList()
110 getGroupInfo()
105 } 111 }
112
106 function handleInfo(n) { 113 function handleInfo(n) {
107 uni.navigateTo({ 114 uni.navigateTo({
108 url: `/pages/group/detail?deptId=${n.deptId}` 115 url: `/pages/group/detail?deptId=${n.deptId}`
109 }) 116 })
110 } 117 }
111
112 </script> 118 </script>
113 119
114 <style scoped lang="scss"> 120 <style scoped lang="scss">
115
116
117 .indexboxre { 121 .indexboxre {
118 padding: 0 30rpx; 122 padding: 0 30rpx;
119 123
......
...@@ -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="config.baseUrl_api+n.photo" mode='aspectFill'></image> 18 <image class="photo" v-if="n.photo" :src="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> 21 <view>
......
...@@ -115,7 +115,7 @@ ...@@ -115,7 +115,7 @@
115 <text @click="goMsgList" class="more">更多></text> 115 <text @click="goMsgList" class="more">更多></text>
116 </template> 116 </template>
117 <view class="msglist"> 117 <view class="msglist">
118 <view class="msgitem" v-for="n in messageList" @click="readMessage(n)"> 118 <view class="msgitem" v-for="n in messageList" :key="n.id" @click="readMessage(n)">
119 <text class="dot" :class="n.readFlag=='1'?'done':''"></text> 119 <text class="dot" :class="n.readFlag=='1'?'done':''"></text>
120 <view class="tt esp">{{n.name}}</view> 120 <view class="tt esp">{{n.name}}</view>
121 <view class="date">{{n.createTime}}</view> 121 <view class="date">{{n.createTime}}</view>
...@@ -276,7 +276,7 @@ ...@@ -276,7 +276,7 @@
276 break 276 break
277 case 30005: 277 case 30005:
278 d.name = '你有一条团体会员认证等待审批,点击去处理!' 278 d.name = '你有一条团体会员认证等待审批,点击去处理!'
279 d.path = '/pages/group/pay' 279 d.path = '/pages/group/apply/applyList'
280 break 280 break
281 case 30006: 281 case 30006:
282 d.name = '你有一条段位成绩等待审批,点击去处理!' 282 d.name = '你有一条段位成绩等待审批,点击去处理!'
......
1 <template> 1 <template>
2 <view> 2 <view>
3 <z-paging ref="paging" v-model="dataList" @query="queryList"> 3 <z-paging ref="paging" v-model="dataList" @query="queryList" emptyViewImg="/static/nodata.png">
4 <!-- z-paging默认铺满全屏,此时页面所有view都应放在z-paging标签内,否则会被盖住 --> 4 <!-- z-paging默认铺满全屏,此时页面所有view都应放在z-paging标签内,否则会被盖住 -->
5 <!-- 需要固定在页面顶部的view请通过slot="top"插入,包括自定义的导航栏 --> 5 <!-- 需要固定在页面顶部的view请通过slot="top"插入,包括自定义的导航栏 -->
6 <uni-section title="待办提醒" padding> 6 <uni-section title="待办提醒" padding>
7 <view class="msglist"> 7 <view class="msglist">
8 <view class="msgitem" v-for="n in dataList" @click="readMessage(n)"> 8 <view class="msgitem" v-for="n in dataList" :key="n.id" @click="readMessage(n)">
9 <text class="dot" :class="{'done':n.readFlag=='1'}"></text> 9 <text class="dot" :class="{'done':n.readFlag=='1'}"></text>
10 <view class="tt esp">{{n.name}}</view> 10 <view class="tt esp">{{n.name}}</view>
11 <view class="date">{{ n.createTime }}</view> 11 <view class="date">{{ n.createTime }}</view>
...@@ -19,69 +19,75 @@ ...@@ -19,69 +19,75 @@
19 <script setup> 19 <script setup>
20 import { 20 import {
21 ref 21 ref
22 } from 'vue' 22 } from 'vue'
23 import * as api from '@/common/api.js'; 23 import * as api from '@/common/api.js';
24 const dataList = ref([]) 24 const dataList = ref([])
25 const paging = ref(null) 25 const paging = ref(null)
26 const current = ref(2) 26 const current = ref(2)
27 function queryList(pageNum, pageSize){ 27
28 api.getMessage({pageNum, pageSize}).then(res=>{ 28 function queryList(pageNum, pageSize) {
29 for (var d of res.rows) { 29 api.getMessage({
30 switch (d.type) { 30 pageNum,
31 case 30001: 31 pageSize
32 d.name = '你有一条会员缴费等待审批,点击去处理!' 32 }).then(res => {
33 d.path = '/member/audit' 33 for (var d of res.rows) {
34 break 34 switch (d.type) {
35 case 30002: 35 case 30001:
36 d.name = '你有一条级位考试等待审批,点击去处理!' 36 d.name = '你有一条会员缴费等待审批,点击去处理!'
37 d.path = '/level/approval' 37 d.path = '/pages/personalVip/audit'
38 break 38 break
39 case 30003: 39 case 30002:
40 d.name = '你有一条段位考试等待审批,点击去处理!' 40 d.name = '你有一条级位考试等待审批,点击去处理!'
41 d.path = '/rank/approval' 41 d.path = '/pages/level/approval'
42 break 42 break
43 case 30004: 43 case 30003:
44 d.name = '你有一条会员调动等待审批,点击去处理!' 44 d.name = '你有一条段位考试等待审批,点击去处理!'
45 d.path = '/member/mobillize' 45 d.path = '/pages/rank/approval'
46 break 46 break
47 case 30005: 47 case 30004:
48 d.name = '你有一条团体会员认证等待审批,点击去处理!' 48 d.name = '你有一条会员调动等待审批,点击去处理!'
49 d.path = '/group/authentication' 49 d.path = '/pages/personalVip/mobillize'
50 break 50 break
51 case 30006: 51 case 30005:
52 d.name = '你有一条段位成绩等待审批,点击去处理!' 52 d.name = '你有一条团体会员认证等待审批,点击去处理!'
53 d.path = '/rank/score/approval' 53 d.path = '/pages/group/apply/applyList'
54 break 54 break
55 case 40001: 55 case 30006:
56 d.name = '你有一条级位申请待提交,点击去处理!' 56 d.name = '你有一条段位成绩等待审批,点击去处理!'
57 d.path = '/level/apply/modify/' + d.eventId 57 d.path = '/pages/rank/scoreApproval'
58 break 58 break
59 case 40002: 59 case 40001:
60 d.name = '你有一条段位申请待提交,点击去处理!' 60 d.name = '你有一条级位申请待提交,点击去处理!'
61 d.path = '/rank/apply/modify/' + d.eventId 61 d.path = `/pages/level/apply?id=${d.eventId}`
62 break 62 break
63 case 40003: 63 case 40002:
64 d.name = '你有一条成绩维护的数据待提交,点击去处理!' 64 d.name = '你有一条段位申请待提交,点击去处理!'
65 d.path = '/rank/score/modify/' + d.eventId 65 d.path = `/pages/rank/apply?id=${d.eventId}`
66 break 66 break
67 case 50001: 67 case 40003:
68 d.name = '你有一条新的个人会员申请,点击去处理!' 68 d.name = '你有一条成绩维护的数据待提交,点击去处理!'
69 d.path = '/member/list' 69 d.path = `/pages/rank/score/modify?id=${d.eventId}`
70 break 70 break
71 } 71 case 50001:
72 } 72 d.name = '你有一条新的个人会员申请,点击去处理!'
73 paging.value.complete(res.rows); 73 d.path = '/pages/personalVip/list'
74 }) 74 break
75 75 }
76 } 76 }
77 77 paging.value.complete(res.rows);
78 function readMessage(item) { 78 })
79 uni.navigateTo({ 79
80 url: item.path 80 }
81 }); 81
82 api.reader({id: item.id}).then(res=>{ 82 function readMessage(item) {
83 item.readFlag = '1' 83 uni.navigateTo({
84 }) 84 url: item.path
85 });
86 api.reader({
87 id: item.id
88 }).then(res => {
89 item.readFlag = '1'
90 })
85 } 91 }
86 </script> 92 </script>
87 93
......
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
55 <view class="w100"> 55 <view class="w100">
56 <view style="display: flex;"> 56 <view style="display: flex;">
57 <view class="photobox"> 57 <view class="photobox">
58 <image class="photo" v-if="n.photo" :src="config.baseUrl_api+n.photo" 58 <image class="photo" v-if="n.photo" :src="n.photo"
59 mode='aspectFill'></image> 59 mode='aspectFill'></image>
60 <view class="colorful" v-else>{{n.realName?.slice(0,1)}}</view> 60 <view class="colorful" v-else>{{n.realName?.slice(0,1)}}</view>
61 </view> 61 </view>
...@@ -116,7 +116,7 @@ ...@@ -116,7 +116,7 @@
116 <image class="icon" v-else src="@/static/member/dx.png" /> 116 <image class="icon" v-else src="@/static/member/dx.png" />
117 </view> 117 </view>
118 <view class="photobox"> 118 <view class="photobox">
119 <image class="photo" v-if="n.photo" :src="config.baseUrl_api+n.photo" mode='aspectFill'> 119 <image class="photo" v-if="n.photo" :src="n.photo" mode='aspectFill'>
120 </image> 120 </image>
121 <view class="colorful" v-else>{{n.name.slice(0,1)}}</view> 121 <view class="colorful" v-else>{{n.name.slice(0,1)}}</view>
122 </view> 122 </view>
...@@ -404,7 +404,11 @@ ...@@ -404,7 +404,11 @@
404 api.chooseStudentsList(obj).then(response => { 404 api.chooseStudentsList(obj).then(response => {
405 studentList.value = response.rows 405 studentList.value = response.rows
406 for (var s of studentList.value) { 406 for (var s of studentList.value) {
407 s.checked = false 407 s.checked = false
408 if(s.photo&&s.photo.indexOf('http')==-1){
409 s.photo = config.baseUrl_api + s.photo
410 }
411
408 } 412 }
409 choseStudent.value.open() 413 choseStudent.value.open()
410 }) 414 })
...@@ -462,6 +466,9 @@ ...@@ -462,6 +466,9 @@
462 466
463 if (!d.isPass) { 467 if (!d.isPass) {
464 d.isPass = '1' 468 d.isPass = '1'
469 }
470 if(d.photo&&d.photo.indexOf('http')==-1){
471 d.photo = config.baseUrl_api + d.photo
465 } 472 }
466 }) 473 })
467 474
......
...@@ -7,9 +7,9 @@ ...@@ -7,9 +7,9 @@
7 </view> 7 </view>
8 <view class="indexboxre"> 8 <view class="indexboxre">
9 <view class="userlist"> 9 <view class="userlist">
10 <view class="item" v-for="n in list"> 10 <view class="item" v-for="(n,index) in list" :key="index">
11 <view class="photobox"> 11 <view class="photobox">
12 <image class="photo" v-if="n.photo" :src="config.baseUrl_api+n.photo" mode='aspectFill'></image> 12 <image class="photo" v-if="n.photo" :src="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>
...@@ -69,7 +69,6 @@ ...@@ -69,7 +69,6 @@
69 title: `查找中` 69 title: `查找中`
70 }) 70 })
71 api.getCoachList(query.value).then(res => { 71 api.getCoachList(query.value).then(res => {
72 uni.hideLoading()
73 if (res.data.length == 0) { 72 if (res.data.length == 0) {
74 uni.showToast({ 73 uni.showToast({
75 title: '未查询到考官信息', 74 title: '未查询到考官信息',
...@@ -77,7 +76,13 @@ ...@@ -77,7 +76,13 @@
77 }) 76 })
78 return 77 return
79 } 78 }
80 list.value = res.data 79 list.value = res.data
80 for(var l of list.value){
81 if(l.photo&&l.photo.indexOf('http')==-1){
82 l.photo = config.baseUrl_api + l.photo
83 }
84 }
85 uni.hideLoading()
81 }) 86 })
82 } 87 }
83 88
......
1 <template> 1 <template>
2 <view class="hasfixedbottom"> 2 <view class="hasfixedbottom">
3 <view class="nolineform"> 3 <view class="nolineform">
4 <uni-forms :border="true" :modelValue="baseFormData" label-width="120"> 4 <uni-forms :border="true" :modelValue="baseFormData" label-width="120">
5 <uni-forms-item label="姓名" required name="name"> 5 <uni-forms-item label="姓名" required name="name">
6 <uni-easyinput :styles="inputstyle" :clearable='false' :placeholderStyle="placeholderStyle" 6 <uni-easyinput :styles="inputstyle" :clearable='false' :placeholderStyle="placeholderStyle"
7 v-model="baseFormData.name" placeholder="请输入姓名" /> 7 v-model="baseFormData.name" placeholder="请输入姓名" />
8 </uni-forms-item> 8 </uni-forms-item>
9 <uni-forms-item label="证件类型" required name="idcType"> 9 <uni-forms-item label="证件类型" required name="idcType">
10 <uni-data-select v-model="baseFormData.idcType" :localdata="idcTypeList" 10 <uni-data-select v-model="baseFormData.idcType" :localdata="idcTypeList"
11 :clear="false"></uni-data-select> 11 :clear="false"></uni-data-select>
12 </uni-forms-item> 12 </uni-forms-item>
13 <uni-forms-item label="证件号码" required name="idcCode"> 13 <uni-forms-item label="证件号码" required name="idcCode">
14 <uni-easyinput :styles="inputstyle" :clearable='false' :placeholderStyle="placeholderStyle" 14 <uni-easyinput :styles="inputstyle" :clearable='false' :placeholderStyle="placeholderStyle"
15 v-model="baseFormData.idcCode" placeholder="请输入证件号码" /> 15 v-model="baseFormData.idcCode" placeholder="请输入证件号码" />
16 </uni-forms-item> 16 </uni-forms-item>
17 </uni-forms> 17 </uni-forms>
18 <view class="button-group"> 18 <view class="button-group">
19 <button type="primary" size="mini" @click="selectMember">查询</button> 19 <button type="primary" size="mini" @click="selectMember">查询</button>
20 <button type="primary" size="mini" :disabled="flag" @click="submitForm">添加</button> 20 <button type="primary" size="mini" :disabled="flag" @click="submitForm">添加</button>
21 </view>
21 </view> 22 </view>
22 </view> 23 <view class="wBox">
23 <view class="wBox"> 24 <view class="info">
24 <view class="info"> 25 <view>人数合计 <text class="text-danger"> {{ total}} </text></view>
25 <view>人数合计 <text class="text-danger"> {{ total}} </text></view> 26 </view>
26 </view> 27 <uni-swipe-action>
27 <uni-swipe-action> 28 <uni-swipe-action-item class="personitem" v-for="n in list">
28 <uni-swipe-action-item class="personitem" v-for="n in list"> 29 <view class="content-box" @click="handleInfo(n)">
29 <view class="content-box" @click="handleInfo(n)"> 30 <view class="flexbox">
30 <view class="flexbox"> 31 <view class="photobox">
31 <view class="photobox"> 32 <view class="colorful">{{n.perName?.slice(0,1)}}</view>
32 <view class="colorful">{{n.perName?.slice(0,1)}}</view> 33 </view>
33 </view> 34 <view>
34 <view> 35 {{n.perName}}
35 {{n.perName}} 36 <view class="date">
36 <view class="date"> 37 {{idcTypeList[n.perIdcType].text}}: {{n.perIdcCode}}
37 {{idcTypeList[n.perIdcType].text}}: {{n.perIdcCode}} 38 </view>
38 </view> 39 </view>
39 </view> 40 </view>
40 </view>
41 41
42 42
43 </view>
44 <template v-slot:right>
45 <view class="slot-button">
46 <view class="danger-button" @click="handleDelete(n)">
47 <uni-icons type="trash" color="#fff" size="20"></uni-icons>
48 <text class="slot-button-text">删除</text>
49 </view>
50 </view> 43 </view>
51 </template> 44 <template v-slot:right>
52 </uni-swipe-action-item> 45 <view class="slot-button">
53 </uni-swipe-action> 46 <view class="danger-button" @click="handleDelete(n)">
54 47 <uni-icons type="trash" color="#fff" size="20"></uni-icons>
55 </view> 48 <text class="slot-button-text">删除</text>
56 </view> 49 </view>
57 <view class="fixedBottom"> 50 </view>
51 </template>
52 </uni-swipe-action-item>
53 </uni-swipe-action>
54
55 </view>
56 </view>
57 <view class="fixedBottom">
58 <button class="btn-red" :disabled="list?.length <= 0" @click="commitFN">保存并提交</button> 58 <button class="btn-red" :disabled="list?.length <= 0" @click="commitFN">保存并提交</button>
59 </view> 59 </view>
60 </template> 60 </template>
61 61
62 <script setup> 62 <script setup>
...@@ -65,14 +65,14 @@ ...@@ -65,14 +65,14 @@
65 } from 'vue' 65 } from 'vue'
66 import { 66 import {
67 onLoad 67 onLoad
68 } from '@dcloudio/uni-app' 68 } from '@dcloudio/uni-app'
69 import * as api from '@/common/api.js' 69 import * as api from '@/common/api.js'
70 const inputstyle = ref({ 70 const inputstyle = ref({
71 borderColor: '#fff', 71 borderColor: '#fff',
72 fontSize: '30rpx' 72 fontSize: '30rpx'
73 }) 73 })
74 const placeholderStyle = ref('text-align: right;font-size:30rpx') 74 const placeholderStyle = ref('text-align: right;font-size:30rpx')
75 75
76 const idcTypeList = ref([{ 76 const idcTypeList = ref([{
77 value: '0', 77 value: '0',
78 text: "身份证" 78 text: "身份证"
...@@ -89,7 +89,7 @@ ...@@ -89,7 +89,7 @@
89 const baseFormData = ref({ 89 const baseFormData = ref({
90 idcType: '0' 90 idcType: '0'
91 }) 91 })
92 const list = ref([]) 92 const list = ref([])
93 const total = ref(0) 93 const total = ref(0)
94 const flag = ref(true) 94 const flag = ref(true)
95 const queryParams = ref({ 95 const queryParams = ref({
...@@ -168,15 +168,16 @@ ...@@ -168,15 +168,16 @@
168 list.value = res.rows 168 list.value = res.rows
169 total.value = res.total 169 total.value = res.total
170 }) 170 })
171 } 171 }
172 function commitFN() { 172
173 if (baseFormData.value.rangeId == -1) return 173 function commitFN() {
174 api.commit([baseFormData.value.rangeId] || [queryParams.value.rangeId]).then(res=>{ 174 if (baseFormData.value.rangeId == -1) return
175 uni.showToast({ 175 api.commit([baseFormData.value.rangeId] || [queryParams.value.rangeId]).then(res => {
176 title: '提交成功!' 176 uni.showToast({
177 }) 177 title: '提交成功!'
178 uni.navigateBack() 178 })
179 }) 179 uni.navigateBack()
180 })
180 } 181 }
181 </script> 182 </script>
182 183
......
...@@ -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="config.baseUrl_api+n.photo" mode='aspectFill'></image> 13 <image class="photo" v-if="n.photo" :src="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>
...@@ -116,6 +116,11 @@ ...@@ -116,6 +116,11 @@
116 list.value = form.value.content.personList 116 list.value = form.value.content.personList
117 for (var n of list.value) { 117 for (var n of list.value) {
118 totalYear.value += n.payYear 118 totalYear.value += n.payYear
119
120 if(n.photo&&n.photo.indexOf('http')==-1){
121 n.photo = config.baseUrl_api + n.photo
122 }
123
119 } 124 }
120 } 125 }
121 126
......
...@@ -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="config.baseUrl_api+n.photo" mode='aspectFill'></image> 15 <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> 16 <view class="colorful" v-else>{{n.name.slice(0,1)}}</view>
17 </view> 17 </view>
18 <view> 18 <view>
...@@ -91,14 +91,23 @@ ...@@ -91,14 +91,23 @@
91 }) 91 })
92 92
93 function getList() { 93 function getList() {
94 uni.showLoading({
95 title:'加载中'
96 })
94 if (app.globalData.userType == '4') { 97 if (app.globalData.userType == '4') {
95 // 道馆 98 // 道馆
96 query.value.multiDeptFlag = null 99 query.value.multiDeptFlag = null
97 query.value.showMyPersonFlag = 1 100 query.value.showMyPersonFlag = 1
98 } 101 }
99 api.selectPageList(query.value).then(res => { 102 api.selectPageList(query.value).then(res => {
100 list.value = res.rows 103 list.value = res.rows
101 total.value = res.total 104 for(var l of list.value){
105 if(l.photo&&l.photo.indexOf('http')==-1){
106 l.photo = config.baseUrl_api + l.photo
107 }
108 }
109 total.value = res.total
110 uni.hideLoading()
102 }) 111 })
103 } 112 }
104 113
......
...@@ -2,14 +2,14 @@ ...@@ -2,14 +2,14 @@
2 <view> 2 <view>
3 <view class="wBox"> 3 <view class="wBox">
4 <view class="tt">{{form.paymentName}}</view> 4 <view class="tt">{{form.paymentName}}</view>
5 <view class="info"> 5 <view class="info">
6 <view><text>{{list.length}}</text></view> 6 <view><text>{{list.length}}</text></view>
7 </view> 7 </view>
8 <!-- 成员 --> 8 <!-- 成员 -->
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="config.baseUrl_api+n.photo" mode='aspectFill'></image> 12 <image class="photo" v-if="n.photo" :src="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>
...@@ -36,9 +36,9 @@ ...@@ -36,9 +36,9 @@
36 <text v-if="n.auditResult==3" class="text-warning"> 已退回</text> 36 <text v-if="n.auditResult==3" class="text-warning"> 已退回</text>
37 </view> 37 </view>
38 <view class="name">{{index+1}}</view> 38 <view class="name">{{index+1}}</view>
39 <view class="deptName">{{n.auditDeptName||n.auditBy}}</view> 39 <view class="deptName">{{n.auditDeptName||n.auditBy}}</view>
40 <view> 40 <view>
41 备注:{{n.auditMsg||'/' }} 41 备注:{{n.auditMsg||'/' }}
42 </view> 42 </view>
43 </view> 43 </view>
44 </view> 44 </view>
...@@ -66,17 +66,22 @@ ...@@ -66,17 +66,22 @@
66 const feelList = ref([]) 66 const feelList = ref([])
67 const total = ref(0) 67 const total = ref(0)
68 onLoad((option) => { 68 onLoad((option) => {
69 if ('form' in option) { 69 if ('form' in option) {
70 form.value = JSON.parse(decodeURIComponent(option.form)) 70 form.value = JSON.parse(decodeURIComponent(option.form))
71 } 71 }
72 getFillList(form.value.rangId) 72 getFillList(form.value.rangId)
73 getPersons() 73 getPersons()
74 }) 74 })
75 75
76 function getPersons() { 76 function getPersons() {
77 queryParams.value.rangeId = form.value.rangId 77 queryParams.value.rangeId = form.value.rangId
78 api.addSelectPageList(queryParams.value).then(res => { 78 api.addSelectPageList(queryParams.value).then(res => {
79 list.value = res.pageData.rows 79 list.value = res.pageData.rows
80 for (var l of list.value) {
81 if (l.photo && l.photo.indexOf('http') == -1) {
82 l.photo = config.baseUrl_api + l.photo
83 }
84 }
80 }) 85 })
81 } 86 }
82 87
...@@ -88,34 +93,58 @@ ...@@ -88,34 +93,58 @@
88 </script> 93 </script>
89 94
90 <style scoped lang="scss"> 95 <style scoped lang="scss">
91 .wBox{ 96 .wBox {
92 width: 700rpx;padding: 30rpx;margin: 20rpx auto 0; 97 width: 700rpx;
93 background: #FFFFFF; 98 padding: 30rpx;
94 box-shadow: 0rpx 12rpx 116rpx 0rpx rgba(196,203,214,0.1); 99 margin: 20rpx auto 0;
95 border-radius: 15rpx; 100 background: #FFFFFF;
96 .tt{ 101 box-shadow: 0rpx 12rpx 116rpx 0rpx rgba(196, 203, 214, 0.1);
97 color: #0A1629; 102 border-radius: 15rpx;
98 font-size: 30rpx;} 103
99 } 104 .tt {
100 105 color: #0A1629;
101 .userlist{ 106 font-size: 30rpx;
102 .item{border-bottom: 1px dashed #e5e5e5;position: relative; 107 }
103 .date{margin-top: 10rpx;} 108 }
104 .name{ 109
105 text{margin-left: 1em; 110 .userlist {
106 color: #4C5359; 111 .item {
107 font-size: 26rpx;} 112 border-bottom: 1px dashed #e5e5e5;
108 } 113 position: relative;
109 .nian{position: absolute;right: 0; 114
110 font-size: 30rpx; 115 .date {
111 color: #AD181F;} 116 margin-top: 10rpx;
112 } 117 }
113 } 118
114 .info{display: flex;margin: 30rpx 0 20rpx; 119 .name {
115 font-size: 28rpx; 120 text {
116 view{color: #7D8592;margin-right: 20rpx; 121 margin-left: 1em;
117 text{ 122 color: #4C5359;
118 color: #AD181F;} 123 font-size: 26rpx;
119 } 124 }
120 } 125 }
126
127 .nian {
128 position: absolute;
129 right: 0;
130 font-size: 30rpx;
131 color: #AD181F;
132 }
133 }
134 }
135
136 .info {
137 display: flex;
138 margin: 30rpx 0 20rpx;
139 font-size: 28rpx;
140
141 view {
142 color: #7D8592;
143 margin-right: 20rpx;
144
145 text {
146 color: #AD181F;
147 }
148 }
149 }
121 </style> 150 </style>
...\ No newline at end of file ...\ No newline at end of file
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!