1d933336 by 杨炀

no message

1 parent 51c28ec6
...@@ -220,7 +220,14 @@ export function addPersonToMyDept(data) { ...@@ -220,7 +220,14 @@ export function addPersonToMyDept(data) {
220 params: data 220 params: data
221 }) 221 })
222 } 222 }
223 223 // 提交人工审核
224 export function addPersonCommit(data) {
225 return request({
226 url: `/system/input/commit?fileUrl=${data.fileUrl}`,
227 method: 'post',
228 params: data
229 })
230 }
224 // 图片上传 231 // 图片上传
225 export function uploadImg(e) { 232 export function uploadImg(e) {
226 const tempFilePaths = e.tempFilePaths; 233 const tempFilePaths = e.tempFilePaths;
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
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://36.153.235.222:7899/stage-api"; 7 const baseUrl_api = "https://ztx.itechtop.cn:8443/stage-api";
8 // const baseUrl_api = 'http://192.168.1.132:8787' 8 // const baseUrl_api = 'http://192.168.1.132:8787'
9 // const baseUrl_api = 'https://tkcn.19wk.cn:8443/stage-api' 9 // const baseUrl_api = 'https://tkcn.19wk.cn:8443/stage-api'
10 10
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
10 <text v-if="item.record.auditStatus==0" class="text-primary">审核中</text> 10 <text v-if="item.record.auditStatus==0" class="text-primary">审核中</text>
11 <text v-if="item.record.auditStatus==1" class="text-success"> 审核通过</text> 11 <text v-if="item.record.auditStatus==1" class="text-success"> 审核通过</text>
12 <text v-if="item.record.auditStatus==2" class="text-danger"> 审核拒绝</text> 12 <text v-if="item.record.auditStatus==2" class="text-danger"> 审核拒绝</text>
13 <text v-if="item.record.auditStatus==3" class="text-warning">撤回</text> 13 <text v-if="item.record.auditStatus==3" class="text-warning">审核撤回</text>
14 </view> 14 </view>
15 <view class="date" @click="goDetail(item)" v-if="item.payTime"> 15 <view class="date" @click="goDetail(item)" v-if="item.payTime">
16 <uni-icons type="calendar-filled" size="16" color="#AD181F"></uni-icons> 16 <uni-icons type="calendar-filled" size="16" color="#AD181F"></uni-icons>
...@@ -44,8 +44,18 @@ ...@@ -44,8 +44,18 @@
44 </view> 44 </view>
45 </view> 45 </view>
46 <view class="func"> 46 <view class="func">
47 <button v-if="deptType == 1" :disabled="!(item.payEvidence?.[0]?.url)"
48 @click="downloadOrder(item)">
49 下载凭证
50 </button>
51 <button v-if="(deptType == 2 || deptType == 3)&&item.settleFlag != 1"
52 :disabled="!(item.payEvidence?.[0]?.url)"
53 @click="downloadOrder(item)">
54 下载凭证
55 </button>
47 <button 56 <button
48 v-if="(deptType == 2 || deptType == 3)&&item?.record?.auditStatus != 2 && item?.record?.auditStatus != 3" 57 v-if="(deptType == 2 || deptType == 3)&&item.settleFlag == 1"
58 :disabled="!item.record?.auditStatus||item.record?.auditStatus == 2||item.record?.auditStatus == 3"
49 @click="handleUpdate(item)">上传凭证</button> 59 @click="handleUpdate(item)">上传凭证</button>
50 </view> 60 </view>
51 </view> 61 </view>
...@@ -201,9 +211,77 @@ function goDetail(item) { ...@@ -201,9 +211,77 @@ function goDetail(item) {
201 url: path 211 url: path
202 }); 212 });
203 } 213 }
214
215 function downloadOrder(item) {
216 //下载凭证
217 showImg(item.payEvidence[0]?.url)
218 }
219 function showImg(url) {
220 var str = config.baseUrl_api + url
221 if (url.indexOf('png') > -1 || url.indexOf('jpg') > -1 || url.indexOf('jpeg') > -1) {
222 uni.previewImage({
223 urls: [str],
224 success: function(res) {
225 console.log('success', res)
226 },
227 fail: function(res) {
228 console.log('fail', res)
229 },
230 complete: function(res) {
231 console.log('complete', res)
232 }
233 })
234 } else {
235 goWebView(str)
236 }
237 }
238
239 function goWebView(url) {
240 url = url.replace("http://", "https://")
241 uni.showLoading({
242 title: '下载中'
243 });
244 uni.downloadFile({
245 url: url,
246 success: function(res) {
247 uni.hideLoading();
248 var filePath = res.tempFilePath;
249 uni.showLoading({
250 title: '正在打开'
251 });
252 uni.openDocument({
253 filePath: filePath,
254 showMenu: true,
255 success: function(res) {
256 uni.hideLoading();
257 },
258 fail: function(err) {
259 uni.hideLoading();
260 uni.showToast({
261 title: err,
262 icon: 'none',
263 duration: 2000
264 });
265 }
266 });
267 },
268 fail: function(error) {
269 uni.hideLoading();
270 uni.showToast({
271 title: `下载失败`,
272 icon: 'none',
273 duration: 2000
274 });
275 }
276 });
277 }
278
204 </script> 279 </script>
205 280
206 <style scoped lang="scss"> 281 <style scoped lang="scss">
282 .appList .appItem .func button[disabled]{
283 opacity: 0.3;
284 }
207 .popBody { 285 .popBody {
208 font-size: 28rpx; 286 font-size: 28rpx;
209 line-height: 1.5; 287 line-height: 1.5;
......
...@@ -76,7 +76,6 @@ ...@@ -76,7 +76,6 @@
76 考试级别 76 考试级别
77 <!-- <text style="padding: 15rpx 0;">{{ szToHz(n.levelNew) }}</text> --> 77 <!-- <text style="padding: 15rpx 0;">{{ szToHz(n.levelNew) }}</text> -->
78 <view @click="changeLevelfather(n)"> 78 <view @click="changeLevelfather(n)">
79
80 <uni-data-select v-model="n.levelNew" :localdata="levelArr" 79 <uni-data-select v-model="n.levelNew" :localdata="levelArr"
81 @change="changeLevel"></uni-data-select> 80 @change="changeLevel"></uni-data-select>
82 </view> 81 </view>
...@@ -278,7 +277,6 @@ ...@@ -278,7 +277,6 @@
278 }) 277 })
279 278
280 function updateData(e) { 279 function updateData(e) {
281 // console.log(e)
282 examinerArr.push(e.obj) 280 examinerArr.push(e.obj)
283 form.value[`examiner_${e.ec}`] = e.obj.name 281 form.value[`examiner_${e.ec}`] = e.obj.name
284 } 282 }
...@@ -534,19 +532,24 @@ ...@@ -534,19 +532,24 @@
534 api.jiDropDownBox({ 532 api.jiDropDownBox({
535 perId: row.perId 533 perId: row.perId
536 }).then(res => { 534 }).then(res => {
537 console.log(res.data) 535 levelArr.value = res.data
538 for (var l of res.data) { 536 for (var l of levelArr.value) {
539 l.text = l.name 537 l.text = l.name
540 l.disabled = l.status 538 l.disabled = !(l.status)
541 } 539 }
542 levelArr.value = res.data
543
544 }) 540 })
545 } 541 }
546 542
547 543
548 function changeLevel(e) { 544 function changeLevel(e) {
549 console.log(e) 545 if (e == nowRow.levelOld) {
546 uni.showToast({
547 title: `考试级别重复,请重新选择!`,
548 icon: 'none'
549 })
550 nowRow.levelNew = nowRow.levelRecommend
551 return
552 }
550 if (e !== nowRow.levelRecommend) { 553 if (e !== nowRow.levelRecommend) {
551 uni.showModal({ 554 uni.showModal({
552 title: '提示', 555 title: '提示',
...@@ -566,6 +569,23 @@ ...@@ -566,6 +569,23 @@
566 } 569 }
567 570
568 function submitForm2(flag) { 571 function submitForm2(flag) {
572 //循环infoList.value 如果item.levelNew == item.levelOld 提示错误
573 for (var item of infoList.value) {
574 if (item.levelNew == item.levelOld) {
575 uni.showToast({
576 title: `${item.realName}考试级别重复,请重新选择!`,
577 icon: 'none'
578 })
579 return
580 }
581 if (!item.levelNew) {
582 uni.showToast({
583 title: `${item.realName}请选择考试级别!`,
584 icon: 'none'
585 })
586 return
587 }
588 }
569 if (flag === 1) { 589 if (flag === 1) {
570 if (infoList.value.length == 0) { 590 if (infoList.value.length == 0) {
571 uni.showToast({ 591 uni.showToast({
...@@ -574,6 +594,7 @@ ...@@ -574,6 +594,7 @@
574 }) 594 })
575 return 595 return
576 } 596 }
597
577 // if (!form.value.transcript) { 598 // if (!form.value.transcript) {
578 // uni.showToast({ 599 // uni.showToast({
579 // title: '请上传成绩单', 600 // title: '请上传成绩单',
...@@ -638,7 +659,6 @@ ...@@ -638,7 +659,6 @@
638 } 659 }
639 for (const n in e.tempFiles) { 660 for (const n in e.tempFiles) {
640 api.uploadFileList(e.tempFilePaths[n]).then(data => { 661 api.uploadFileList(e.tempFilePaths[n]).then(data => {
641 console.log(data)
642 selectFileValue = { 662 selectFileValue = {
643 url: data, 663 url: data,
644 name: e.tempFiles[n].name, 664 name: e.tempFiles[n].name,
...@@ -659,11 +679,9 @@ ...@@ -659,11 +679,9 @@
659 transcript.value = _.remove(transcript.value, function(n) { 679 transcript.value = _.remove(transcript.value, function(n) {
660 return n.name != e.tempFile.name; 680 return n.name != e.tempFile.name;
661 }); 681 });
662 console.log(transcript.value)
663 } 682 }
664 683
665 function uploadSure() { 684 function uploadSure() {
666 console.log(transcript.value)
667 // 上传确定 685 // 上传确定
668 if (transcript.value.length == 0) { 686 if (transcript.value.length == 0) {
669 uni.showToast({ 687 uni.showToast({
......
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
38 <view class="func" v-if="item.status=='0'||item.status=='3'||item.status=='4'"> 38 <view class="func" v-if="item.status=='0'||item.status=='3'||item.status=='4'">
39 <button @click="handleDelete(item)">删除</button> 39 <button @click="handleDelete(item)">删除</button>
40 <button @click="editThis(item)">编辑</button> 40 <button @click="editThis(item)">编辑</button>
41 <button @click="handleSubmit(item)">提交审核</button> 41 <button :disabled="!(item.totalNum?item.totalNum:(item.pass+item.noPass))" @click="handleSubmit(item)">提交审核</button>
42 </view> 42 </view>
43 </view> 43 </view>
44 </view> 44 </view>
......
1 <template> 1 <template>
2 <view> 2 <view>
3 <view class="searchbar"> 3 <view class="nolineform">
4 <uni-easyinput placeholderStyle="font-size:30rpx" :input-border="false" prefixIcon="search" 4 <uni-form @submit="getList">
5 v-model="query.idcCode" placeholder="证件号码" @blur="getList"> 5 <uni-forms-item label="考官姓名">
6 <uni-easyinput :placeholderStyle="placeholderStyle"
7 :input-border="false"
8 v-model="query.name" placeholder="考官姓名">
6 </uni-easyinput> 9 </uni-easyinput>
10 </uni-forms-item>
11 <uni-forms-item label="考官编号">
12 <uni-easyinput :placeholderStyle="placeholderStyle"
13 :input-border="false"
14 v-model="query.certCode" placeholder="考官编号">
15 </uni-easyinput>
16 </uni-forms-item>
17 </uni-form>
18 <view class="button-group">
19 <button size="mini" @click="resetQuery">重置</button>
20 <button type="primary" size="mini" @click="getList">查询</button>
21 </view>
7 </view> 22 </view>
8 <view class="indexboxre"> 23 <view class="indexboxre">
9 <view class="userlist"> 24 <view class="userlist">
...@@ -15,9 +30,11 @@ ...@@ -15,9 +30,11 @@
15 <view> 30 <view>
16 <view class="name">{{n.name}}</view> 31 <view class="name">{{n.name}}</view>
17 <view class="date">会员号:{{n.perCode||'-'}}</view> 32 <view class="date">会员号:{{n.perCode||'-'}}</view>
33 <view class="date">证件号码:{{n.idcCode||'-'}}</view>
34 <view class="date">注册地:{{n.memName||'-'}}</view>
18 </view> 35 </view>
19 <view class="status"> 36 <view class="status">
20 <text v-if="n.disabled">选择</text> 37 <text v-if="n.disabled">已选</text>
21 <text v-else class="text-primary" @click="handleChoose(n)">选择</text> 38 <text v-else class="text-primary" @click="handleChoose(n)">选择</text>
22 39
23 </view> 40 </view>
...@@ -25,7 +42,7 @@ ...@@ -25,7 +42,7 @@
25 </view> 42 </view>
26 <view class="nodata" v-if="list.length==0"> 43 <view class="nodata" v-if="list.length==0">
27 <image mode="aspectFit" src="/static/nodata.png"></image> 44 <image mode="aspectFit" src="/static/nodata.png"></image>
28 <text>请输入证件号查找</text> 45 <text>请输入考官姓名和编号精确查找</text>
29 </view> 46 </view>
30 </view> 47 </view>
31 48
...@@ -49,6 +66,7 @@ ...@@ -49,6 +66,7 @@
49 const query = ref({ 66 const query = ref({
50 67
51 }) 68 })
69 const placeholderStyle = ref('text-align: right;font-size:30rpx')
52 const list = ref([]) 70 const list = ref([])
53 const total = ref(0) 71 const total = ref(0)
54 const userType = ref('') 72 const userType = ref('')
...@@ -60,16 +78,22 @@ ...@@ -60,16 +78,22 @@
60 ec = option.ec 78 ec = option.ec
61 console.log(chosen) 79 console.log(chosen)
62 }) 80 })
63 81 function resetQuery() {
82 query.value = {}
83 list.value = []
84 }
64 function getList() { 85 function getList() {
65 if (!query.value.idcCode) { 86 if (!query.value.name) {
87 return
88 }
89 if (!query.value.certCode) {
66 return 90 return
67 } 91 }
68 uni.showLoading({ 92 uni.showLoading({
69 title: `查找中` 93 title: `查找中`
70 }) 94 })
71 api.getCoachList(query.value).then(res => { 95 api.getCoachList(query.value).then(res => {
72 if (res.data.length == 0) { 96 if (res.rows.length == 0) {
73 uni.showToast({ 97 uni.showToast({
74 title: '未查询到考官信息', 98 title: '未查询到考官信息',
75 icon: "error" 99 icon: "error"
...@@ -77,11 +101,11 @@ ...@@ -77,11 +101,11 @@
77 list.value = [] 101 list.value = []
78 return 102 return
79 } 103 }
80 list.value = res.data 104 list.value = res.rows
81 for(var l of list.value){ 105 for(var l of list.value){
82 if(l.photo&&l.photo.indexOf('http')==-1){ 106 // if(l.photo&&l.photo.indexOf('http')==-1){
83 l.photo = config.baseUrl_api + l.photo 107 // l.photo = config.baseUrl_api + l.photo
84 } 108 // }
85 for(var t of chosen){ 109 for(var t of chosen){
86 if(t.perId == l.perId){ 110 if(t.perId == l.perId){
87 l.disabled = true 111 l.disabled = true
...@@ -99,6 +123,14 @@ ...@@ -99,6 +123,14 @@
99 } 123 }
100 124
101 function handleChoose(row) { 125 function handleChoose(row) {
126 if (row.canChoose != 1){
127 uni.showToast({
128 title: '该考官资质已过期!',
129 icon: "error"
130 })
131 return
132 }
133
102 var pages = getCurrentPages() 134 var pages = getCurrentPages()
103 var prevPage = pages[pages.length - 2] 135 var prevPage = pages[pages.length - 2]
104 var obj = { 136 var obj = {
...@@ -151,4 +183,11 @@ ...@@ -151,4 +183,11 @@
151 font-size: 26rpx; 183 font-size: 26rpx;
152 } 184 }
153 } 185 }
186 .button-group {
187 text-align: right;
188
189 button {
190 margin-left: 30rpx;
191 }
192 }
154 </style> 193 </style>
......
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="90">
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="请输入姓名" />
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
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 {{getIdcType(n.perIdcType)}}: {{n.perIdcCode}}
38 </view> 38 </view>
39 </view> 39 </view>
40 </view> 40 </view>
...@@ -79,15 +79,15 @@ ...@@ -79,15 +79,15 @@
79 }, 79 },
80 { 80 {
81 value: '1', 81 value: '1',
82 text: "港澳台通信身份证" 82 text: "来往大陆(内地)通行证 "
83 }, 83 },
84 { 84 {
85 value: '3', 85 value: '3',
86 text: "外国护照" 86 text: "护照"
87 }, 87 },
88 { 88 {
89 value: '4', 89 value: '5',
90 text: "其他" 90 text: "香港身份证"
91 } 91 }
92 ]) 92 ])
93 const baseFormData = ref({ 93 const baseFormData = ref({
...@@ -106,6 +106,14 @@ ...@@ -106,6 +106,14 @@
106 getList() 106 getList()
107 } 107 }
108 }) 108 })
109 function getIdcType(type) {
110 for (var item of idcTypeList.value){
111 if (item.value == type) {
112 return item.text
113 }
114 }
115 }
116
109 // 查询会员 117 // 查询会员
110 function selectMember() { 118 function selectMember() {
111 // if (!baseFormData.value.name) { 119 // if (!baseFormData.value.name) {
......
...@@ -145,7 +145,7 @@ ...@@ -145,7 +145,7 @@
145 idcType: '0', 145 idcType: '0',
146 perType: '1', // (1:个人会员;2:教练;3:考官;4:裁判;5:临时会员;) 146 perType: '1', // (1:个人会员;2:教练;3:考官;4:裁判;5:临时会员;)
147 }) 147 })
148 const items = ref(['手动录入', '自动录入']) 148 const items = ref(['身份证添加', '证件照录入'])
149 const idcTypeList = ref([{ 149 const idcTypeList = ref([{
150 value: '0', 150 value: '0',
151 text: "身份证" 151 text: "身份证"
...@@ -502,9 +502,9 @@ ...@@ -502,9 +502,9 @@
502 delete baseFormData.value.card 502 delete baseFormData.value.card
503 503
504 const time = new Date().valueOf() + '' 504 const time = new Date().valueOf() + ''
505 baseFormData.t = time + Math.floor(Math.random() * 10) 505 baseFormData.value.t = time + Math.floor(Math.random() * 10)
506 baseFormData.signT = aes2.AESEncrypt(baseFormData.idcType + time) 506 baseFormData.value.signT = aes2.AESEncrypt(baseFormData.value.idcType + time)
507 507 console.log(baseFormData.value)
508 api.addPersonToMyDept(baseFormData.value).then(Response => { 508 api.addPersonToMyDept(baseFormData.value).then(Response => {
509 if (Response.data == 0) { 509 if (Response.data == 0) {
510 let msg = '该成员,实名认证未通过,注册失败!' 510 let msg = '该成员,实名认证未通过,注册失败!'
......
...@@ -21,9 +21,10 @@ ...@@ -21,9 +21,10 @@
21 <view> 21 <view>
22 缴费状态 22 缴费状态
23 <view> 23 <view>
24 <text v-if="item.settleFlag == 0" class="text-warning">已结算</text> 24 <text v-if="item.settleFlag == 0" class="text-success">已结算</text>
25 <text v-if="item.settleFlag == 1 && item.payFlag == 0" class="text-success">已上传</text> 25 <text v-if="item.settleFlag == 1" class="text-danger">未结算</text>
26 <text v-if="item.settleFlag == 1 && item.payFlag == 1" class="text-danger">未上传</text> 26 <!-- <text v-if="item.settleFlag == 1 && item.payFlag == 0" class="text-success">已上传</text>-->
27 <!-- <text v-if="item.settleFlag == 1 && item.payFlag == 1" class="text-danger">未上传</text>-->
27 </view> 28 </view>
28 </view> 29 </view>
29 <view> 30 <view>
...@@ -41,8 +42,11 @@ ...@@ -41,8 +42,11 @@
41 42
42 </view> 43 </view>
43 <view class="func"> 44 <view class="func">
45 <button v-if="item.settleFlag == 0" :disabled="!(item.payFlag == 0)"
46 @click="downloadOrder(item)">下载凭证</button>
44 <button 47 <button
45 v-if="(deptType == 2 || deptType == 3)&&item?.record?.auditStatus != 2 && item?.record?.auditStatus != 3" 48 v-if="(deptType == 2 || deptType == 3) && item.settleFlag != 0"
49 :disabled="item?.record?.auditStatus == 2 || item?.record?.auditStatus == 3||item.yjFlag==1"
46 @click="handleUpdate(item)">上传凭证</button> 50 @click="handleUpdate(item)">上传凭证</button>
47 </view> 51 </view>
48 </view> 52 </view>
...@@ -121,6 +125,71 @@ function handleUpdate(item) { ...@@ -121,6 +125,71 @@ function handleUpdate(item) {
121 form.value.docId = item.docId 125 form.value.docId = item.docId
122 UpPop.value.open() 126 UpPop.value.open()
123 } 127 }
128 function downloadOrder(item) {
129 //下载凭证
130 var arr = JSON.parse(item.payEvidence) || []
131 showImg(arr[0]?.url)
132 }
133 function showImg(url) {
134 var str = config.baseUrl_api + url
135 if (url.indexOf('png') > -1 || url.indexOf('jpg') > -1 || url.indexOf('jpeg') > -1) {
136 uni.previewImage({
137 urls: [str],
138 success: function(res) {
139 console.log('success', res)
140 },
141 fail: function(res) {
142 console.log('fail', res)
143 },
144 complete: function(res) {
145 console.log('complete', res)
146 }
147 })
148 } else {
149 goWebView(str)
150 }
151 }
152
153 function goWebView(url) {
154 url = url.replace("http://", "https://")
155 uni.showLoading({
156 title: '下载中'
157 });
158 uni.downloadFile({
159 url: url,
160 success: function(res) {
161 uni.hideLoading();
162 var filePath = res.tempFilePath;
163 uni.showLoading({
164 title: '正在打开'
165 });
166 uni.openDocument({
167 filePath: filePath,
168 showMenu: true,
169 success: function(res) {
170 uni.hideLoading();
171 },
172 fail: function(err) {
173 uni.hideLoading();
174 uni.showToast({
175 title: err,
176 icon: 'none',
177 duration: 2000
178 });
179 }
180 });
181 },
182 fail: function(error) {
183 uni.hideLoading();
184 uni.showToast({
185 title: `下载失败`,
186 icon: 'none',
187 duration: 2000
188 });
189 }
190 });
191 }
192
124 let selectFileValue = {} 193 let selectFileValue = {}
125 function selectFile(e) { 194 function selectFile(e) {
126 let file = e.tempFiles[0] 195 let file = e.tempFiles[0]
...@@ -166,6 +235,9 @@ function goDetail(item) { ...@@ -166,6 +235,9 @@ function goDetail(item) {
166 </script> 235 </script>
167 236
168 <style scoped lang="scss"> 237 <style scoped lang="scss">
238 .appList .appItem .func button[disabled]{
239 opacity: 0.3;
240 }
169 .popBody { 241 .popBody {
170 font-size: 28rpx; 242 font-size: 28rpx;
171 line-height: 1.5; 243 line-height: 1.5;
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!