no message
Showing
14 changed files
with
324 additions
and
259 deletions
| ... | @@ -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 | ... | ... |
-
Please register or sign in to post a comment