提交 345c6b401db03d79f5eff6b7af815bee80d9d147

作者 guomingshu
1 个父辈 aa884a06

feat: 主题更换

正在显示 65 个修改的文件 包含 4332 行增加4122 行删除
@@ -7,38 +7,38 @@ @@ -7,38 +7,38 @@
7 * @LastEditTime: 2022-02-18 14:06:28 7 * @LastEditTime: 2022-02-18 14:06:28
8 --> 8 -->
9 <template> 9 <template>
10 - <view :style="vuex_theme"> 10 + <view :style="vuex_theme">
11 <u-toast ref="uToast" /> 11 <u-toast ref="uToast" />
12 </view> 12 </view>
13 </template> 13 </template>
14 14
15 -<script> 15 +<script>
16 import {themeList} from './common/theme.js' 16 import {themeList} from './common/theme.js'
17 export default { 17 export default {
18 // 此处globalData为了演示其作用,不是uView框架的一部分 18 // 此处globalData为了演示其作用,不是uView框架的一部分
19 globalData: { 19 globalData: {
20 username: '' 20 username: ''
21 - },  
22 -  
23 - data() {  
24 - return {  
25 - themeList,  
26 - } 21 + },
  22 +
  23 + data() {
  24 + return {
  25 + themeList,
  26 + }
27 }, 27 },
28 28
29 onLaunch() { 29 onLaunch() {
30 - let colorObj = this.themeList[this.vuex_appId].value  
31 - let styles = ''  
32 - for (let i in colorObj) {  
33 - styles += colorObj[i].name + ':' + colorObj[i].value + ';'  
34 - }  
35 -  
36 - this.$u.vuex('vuex_theme', styles);  
37 - this.$u.vuex('vuex_baseImgUrl', this.themeList[this.vuex_appId].imagePath);  
38 - // console.log('vuex_theme----', this.vuex_theme)  
39 -  
40 - uni.setTabBarStyle({  
41 - selectedColor: this.themeList[this.vuex_appId].mainColor, 30 + let colorObj = this.themeList[this.vuex_appId].value
  31 + let styles = ''
  32 + for (let i in colorObj) {
  33 + styles += colorObj[i].name + ':' + colorObj[i].value + ';'
  34 + }
  35 +
  36 + this.$u.vuex('vuex_theme', styles);
  37 + this.$u.vuex('vuex_baseImgUrl', this.themeList[this.vuex_appId].imagePath);
  38 + // console.log('vuex_theme----', this.vuex_theme)
  39 +
  40 + uni.setTabBarStyle({
  41 + selectedColor: 'var(--primary-color)',
42 }) 42 })
43 }, 43 },
44 44
@@ -57,4 +57,4 @@ @@ -57,4 +57,4 @@
57 /* 注意要写在第一行,同时给style标签加入lang="scss"属性 */ 57 /* 注意要写在第一行,同时给style标签加入lang="scss"属性 */
58 @import "@/uni_modules/uview-ui/index.scss"; 58 @import "@/uni_modules/uview-ui/index.scss";
59 @import '@/static/css/icon.css'; 59 @import '@/static/css/icon.css';
60 -</style> 60 +</style>
1 const themeList = { 1 const themeList = {
2 - // 优学乐业 - 教师  
3 - 'wx6cd2152282abd34c': {  
4 - value: [ 2 + // 优学乐业 - 教师
  3 + 'wx6cd2152282abd34c': {
  4 + value: [
5 {name:'--primary-color',value: '#0CB17A'}, 5 {name:'--primary-color',value: '#0CB17A'},
6 {name:'--primary-color000',value: '#1CD9B2'}, 6 {name:'--primary-color000',value: '#1CD9B2'},
7 {name:'--primary-color100',value: 'rgba(12, 177, 122, 1)'}, 7 {name:'--primary-color100',value: 'rgba(12, 177, 122, 1)'},
8 {name:'--primary-color02',value: 'rgba(12, 177, 122, 0.2)'}, 8 {name:'--primary-color02',value: 'rgba(12, 177, 122, 0.2)'},
9 {name:'--primary-color03',value: 'rgba(12, 177, 122, 0.3)'}, 9 {name:'--primary-color03',value: 'rgba(12, 177, 122, 0.3)'},
10 {name:'--primary-color003',value: 'rgba(12, 177, 122, 0.03)'}, 10 {name:'--primary-color003',value: 'rgba(12, 177, 122, 0.03)'},
11 - {name:'--primary-color006',value: 'rgba(12, 177, 122, 0.06)'}, 11 + {name:'--primary-color006',value: 'rgba(12, 177, 122, 0.06)'},
12 ], 12 ],
13 - mainColor: '#0CB17A',  
14 - imagePath: 'https://yxlypublic.oss-cn-beijing.aliyuncs.com/WeChat/new-teacher/wx6cd2152282abd34c/' 13 + imagePath: 'https://yxlypublic.oss-cn-beijing.aliyuncs.com/WeChat/wx6cd2152282abd34c/'
15 }, 14 },
16 // 新华网 - 教师 15 // 新华网 - 教师
17 - 'wx123123': { 16 + 'xhwttheme': {
18 value: [ 17 value: [
19 {name:'--primary-color',value: '#005DAC'}, 18 {name:'--primary-color',value: '#005DAC'},
20 {name:'--primary-color000',value: '#005DAC'}, 19 {name:'--primary-color000',value: '#005DAC'},
@@ -24,11 +23,10 @@ const themeList = { @@ -24,11 +23,10 @@ const themeList = {
24 {name:'--primary-color003',value: 'rgba(0, 93, 172, 0.03)'}, 23 {name:'--primary-color003',value: 'rgba(0, 93, 172, 0.03)'},
25 {name:'--primary-color006',value: 'rgba(0, 93, 172, 0.06)'}, 24 {name:'--primary-color006',value: 'rgba(0, 93, 172, 0.06)'},
26 ], 25 ],
27 - mainColor: '#005DAC',  
28 - imagePath: 'https://yxlypublic.oss-cn-beijing.aliyuncs.com/WeChat/new-teacher/wx123123/'  
29 - } 26 + imagePath: 'https://yxlypublic.oss-cn-beijing.aliyuncs.com/WeChat/xhwttheme/'
  27 + }
30 } 28 }
31 29
32 -module.exports = {  
33 - themeList 30 +module.exports = {
  31 + themeList
34 } 32 }
  1 +<template>
  2 + <view>
  3 + <u-tabbar
  4 + :value="vuex_tabbar_index"
  5 + :fixed="true"
  6 + :safeAreaInsetBottom="true"
  7 + :placeholder="true"
  8 + :activeColor="vuex_active_color"
  9 + >
  10 + <u-tabbar-item
  11 + v-for="(tabbarItem, index) in vuex_tabbar"
  12 + :key="index"
  13 + :text="tabbarItem.text"
  14 + @click="switchTo()"
  15 + >
  16 + <image
  17 + class="image_class"
  18 + slot="active-icon"
  19 + :src="tabbarItem.selectedIconPath"
  20 + ></image>
  21 + <image
  22 + class="image_class"
  23 + slot="inactive-icon"
  24 + :src="tabbarItem.iconPath"
  25 + ></image>
  26 + </u-tabbar-item>
  27 + </u-tabbar>
  28 + </view>
  29 +</template>
  30 +
  31 +<script>
  32 +import { mapState } from "vuex";
  33 +export default {
  34 + name: "custom-tabbar",
  35 + data() {
  36 + return {
  37 + tabbar: [], // tabbar信息
  38 + };
  39 + },
  40 + // 自定义组件中属性
  41 + props: ["activeColor"],
  42 + created() {
  43 + // 模拟调用服务端接口,显示首页和我的页面
  44 + // if (this.tabbarState == 1) {
  45 + // const storeTabbar = this.vuex_tabbar;
  46 + // this.tabbar = this.tabbar.concat(storeTabbar[0]).concat(storeTabbar[2]);
  47 + // }
  48 + // // 模拟调用服务端接口,显示首页、消息和我的页面
  49 + // if (this.tabbarState == 2) {
  50 + // this.tabbar = this.vuex_tabbar;
  51 + // }
  52 + // this.tabbar = this.vuex_tabbar;
  53 + },
  54 + methods: {
  55 + // 页面跳转
  56 + switchTo(event) {
  57 + const _this = this
  58 + wx.switchTab({
  59 + url: this.vuex_tabbar[event].pagePath,
  60 + success: () => {
  61 + this.$u.vuex('vuex_tabbar_index', event);
  62 + },
  63 + });
  64 + },
  65 + },
  66 +};
  67 +</script>
  68 +
  69 +<style lang="scss">
  70 +.image_class {
  71 + width: 50rpx;
  72 + height: 50rpx;
  73 +}
  74 +</style>
@@ -13,9 +13,9 @@ @@ -13,9 +13,9 @@
13 }, 13 },
14 "pages": [{ 14 "pages": [{
15 "path": "pages/tabBar/home/home", 15 "path": "pages/tabBar/home/home",
16 - "style": {  
17 - "navigationStyle": "custom",  
18 - "navigationBarTitleText": "" 16 + "style": {
  17 + "navigationStyle": "custom",
  18 + "navigationBarTitleText": ""
19 } 19 }
20 }, 20 },
21 { 21 {
@@ -25,13 +25,13 @@ @@ -25,13 +25,13 @@
25 "navigationBarTextStyle": "black", 25 "navigationBarTextStyle": "black",
26 "enablePullDownRefresh": false 26 "enablePullDownRefresh": false
27 } 27 }
28 - },  
29 - {  
30 - "path": "pages/tabBar/message/message",  
31 - "style": {  
32 - "navigationBarTextStyle": "black",  
33 - "navigationBarTitleText": "消息"  
34 - } 28 + },
  29 + {
  30 + "path": "pages/tabBar/message/message",
  31 + "style": {
  32 + "navigationBarTextStyle": "black",
  33 + "navigationBarTitleText": "消息"
  34 + }
35 }, 35 },
36 { 36 {
37 "path": "pages/tabBar/my/my", 37 "path": "pages/tabBar/my/my",
@@ -127,53 +127,53 @@ @@ -127,53 +127,53 @@
127 "navigationBarTitleText": "成绩鉴定", 127 "navigationBarTitleText": "成绩鉴定",
128 "enablePullDownRefresh": false 128 "enablePullDownRefresh": false
129 } 129 }
130 - },{  
131 - "path": "asklist/asklist",  
132 - "style": {  
133 - "navigationBarTitleText": "请假审批",  
134 - "enablePullDownRefresh": false  
135 - }  
136 -  
137 - },{  
138 - "path": "askdetail/askdetail",  
139 - "style": {  
140 - "navigationBarTitleText": "详情",  
141 - "enablePullDownRefresh": false  
142 - }  
143 -  
144 - }, {  
145 - "path": "changelist/changelist",  
146 - "style": {  
147 - "navigationBarTitleText": "实习变更",  
148 - "enablePullDownRefresh": false  
149 - }  
150 -  
151 - }, {  
152 - "path": "changedetail/changedetail",  
153 - "style": {  
154 - "navigationBarTitleText": "详情",  
155 - "enablePullDownRefresh": false  
156 - }  
157 -  
158 - }, {  
159 - "path": "search/search",  
160 - "style": {  
161 - "navigationBarTitleText": "搜索",  
162 - "enablePullDownRefresh": false  
163 - }  
164 -  
165 - }, {  
166 - "path": "interapply/interapply",  
167 - "style": {  
168 - "navigationBarTitleText": "实习申请",  
169 - "enablePullDownRefresh": false  
170 - }  
171 - }, {  
172 - "path": "interapplydetail/interapplydetail",  
173 - "style": {  
174 - "navigationBarTitleText": "实习申请",  
175 - "enablePullDownRefresh": false  
176 - } 130 + },{
  131 + "path": "asklist/asklist",
  132 + "style": {
  133 + "navigationBarTitleText": "请假审批",
  134 + "enablePullDownRefresh": false
  135 + }
  136 +
  137 + },{
  138 + "path": "askdetail/askdetail",
  139 + "style": {
  140 + "navigationBarTitleText": "详情",
  141 + "enablePullDownRefresh": false
  142 + }
  143 +
  144 + }, {
  145 + "path": "changelist/changelist",
  146 + "style": {
  147 + "navigationBarTitleText": "实习变更",
  148 + "enablePullDownRefresh": false
  149 + }
  150 +
  151 + }, {
  152 + "path": "changedetail/changedetail",
  153 + "style": {
  154 + "navigationBarTitleText": "详情",
  155 + "enablePullDownRefresh": false
  156 + }
  157 +
  158 + }, {
  159 + "path": "search/search",
  160 + "style": {
  161 + "navigationBarTitleText": "搜索",
  162 + "enablePullDownRefresh": false
  163 + }
  164 +
  165 + }, {
  166 + "path": "interapply/interapply",
  167 + "style": {
  168 + "navigationBarTitleText": "实习申请",
  169 + "enablePullDownRefresh": false
  170 + }
  171 + }, {
  172 + "path": "interapplydetail/interapplydetail",
  173 + "style": {
  174 + "navigationBarTitleText": "实习申请",
  175 + "enablePullDownRefresh": false
  176 + }
177 } 177 }
178 ] 178 ]
179 }, 179 },
@@ -195,85 +195,85 @@ @@ -195,85 +195,85 @@
195 195
196 } ,{ 196 } ,{
197 "path" : "agreementList/agreementList", 197 "path" : "agreementList/agreementList",
198 - "style" :  
199 - {  
200 - "navigationBarTitleText": "三方协议",  
201 - "enablePullDownRefresh": false  
202 - } 198 + "style" :
  199 + {
  200 + "navigationBarTitleText": "三方协议",
  201 + "enablePullDownRefresh": false
  202 + }
203 203
204 } 204 }
205 ,{ 205 ,{
206 "path" : "agreementDetail/agreementDetail", 206 "path" : "agreementDetail/agreementDetail",
207 - "style" :  
208 - {  
209 - "navigationBarTitleText": "协议详情",  
210 - "enablePullDownRefresh": false  
211 - } 207 + "style" :
  208 + {
  209 + "navigationBarTitleText": "协议详情",
  210 + "enablePullDownRefresh": false
  211 + }
212 212
213 } 213 }
214 ,{ 214 ,{
215 "path" : "signInList/signInList", 215 "path" : "signInList/signInList",
216 - "style" :  
217 - {  
218 - "navigationBarTitleText": "签到",  
219 - "enablePullDownRefresh": false  
220 - } 216 + "style" :
  217 + {
  218 + "navigationBarTitleText": "签到",
  219 + "enablePullDownRefresh": false
  220 + }
221 221
222 } 222 }
223 ,{ 223 ,{
224 "path" : "intershipInfo/intershipInfo", 224 "path" : "intershipInfo/intershipInfo",
225 - "style" :  
226 - {  
227 - "navigationBarTitleText": "实习单详情",  
228 - "enablePullDownRefresh": false  
229 - } 225 + "style" :
  226 + {
  227 + "navigationBarTitleText": "实习单详情",
  228 + "enablePullDownRefresh": false
  229 + }
230 230
231 } 231 }
232 ,{ 232 ,{
233 "path" : "achievementDetail/achievementDetail", 233 "path" : "achievementDetail/achievementDetail",
234 - "style" :  
235 - {  
236 - "navigationBarTitleText": "成绩详情",  
237 - "enablePullDownRefresh": false  
238 - } 234 + "style" :
  235 + {
  236 + "navigationBarTitleText": "成绩详情",
  237 + "enablePullDownRefresh": false
  238 + }
239 239
240 } 240 }
241 ,{ 241 ,{
242 "path" : "studentLogReview/studentLogReview", 242 "path" : "studentLogReview/studentLogReview",
243 - "style" :  
244 - {  
245 - "navigationBarTitleText": "",  
246 - "enablePullDownRefresh": false  
247 - } 243 + "style" :
  244 + {
  245 + "navigationBarTitleText": "",
  246 + "enablePullDownRefresh": false
  247 + }
248 248
249 - },{  
250 - "path" : "traineeInterList/traineeInterList",  
251 - "style" :  
252 - {  
253 - "navigationBarTitleText": "实习信息",  
254 - "enablePullDownRefresh": false  
255 - } 249 + },{
  250 + "path" : "traineeInterList/traineeInterList",
  251 + "style" :
  252 + {
  253 + "navigationBarTitleText": "实习信息",
  254 + "enablePullDownRefresh": false
  255 + }
256 } 256 }
257 ] 257 ]
258 - },  
259 - {  
260 - "root": "pages/main/message",  
261 - "pages": [{  
262 - "path": "message-list/message-list",  
263 - "style": {  
264 - "navigationBarTitleText": "公告列表",  
265 - "navigationBarTextStyle": "black",  
266 - "enablePullDownRefresh": false  
267 - }  
268 - }, {  
269 - "path": "message-detail/message-detail",  
270 - "style": {  
271 - "navigationBarTitleText": "公告详情",  
272 - "navigationBarTextStyle": "black",  
273 - "enablePullDownRefresh": false  
274 - }  
275 -  
276 - }] 258 + },
  259 + {
  260 + "root": "pages/main/message",
  261 + "pages": [{
  262 + "path": "message-list/message-list",
  263 + "style": {
  264 + "navigationBarTitleText": "公告列表",
  265 + "navigationBarTextStyle": "black",
  266 + "enablePullDownRefresh": false
  267 + }
  268 + }, {
  269 + "path": "message-detail/message-detail",
  270 + "style": {
  271 + "navigationBarTitleText": "公告详情",
  272 + "navigationBarTextStyle": "black",
  273 + "enablePullDownRefresh": false
  274 + }
  275 +
  276 + }]
277 }, 277 },
278 { 278 {
279 "root": "pages/main/my", 279 "root": "pages/main/my",
@@ -385,17 +385,17 @@ @@ -385,17 +385,17 @@
385 385
386 } 386 }
387 ] 387 ]
388 - },  
389 - {  
390 - "root": "pages/common",  
391 - "pages": [{  
392 - "path": "webview/webview",  
393 - "style": {  
394 - "navigationBarTitleText": "",  
395 - "enablePullDownRefresh": false  
396 - }  
397 - }  
398 - ] 388 + },
  389 + {
  390 + "root": "pages/common",
  391 + "pages": [{
  392 + "path": "webview/webview",
  393 + "style": {
  394 + "navigationBarTitleText": "",
  395 + "enablePullDownRefresh": false
  396 + }
  397 + }
  398 + ]
399 } 399 }
400 ], 400 ],
401 401
@@ -418,23 +418,24 @@ @@ -418,23 +418,24 @@
418 "borderStyle": "black", 418 "borderStyle": "black",
419 "height": "100rpx", 419 "height": "100rpx",
420 "fontSize": "40rpx", 420 "fontSize": "40rpx",
  421 + "custom": true,
421 "list": [{ 422 "list": [{
422 "pagePath": "pages/tabBar/home/home", 423 "pagePath": "pages/tabBar/home/home",
423 "iconPath": "/static/img/icon/home.png", 424 "iconPath": "/static/img/icon/home.png",
424 "selectedIconPath": "/static/img/icon/homeHL.png", 425 "selectedIconPath": "/static/img/icon/homeHL.png",
425 - "text": "首页" 426 + "text": "首2页"
426 }, 427 },
427 { 428 {
428 "pagePath": "pages/tabBar/internship/internship", 429 "pagePath": "pages/tabBar/internship/internship",
429 "iconPath": "/static/img/icon/internship.png", 430 "iconPath": "/static/img/icon/internship.png",
430 "selectedIconPath": "/static/img/icon/internshipHL.png", 431 "selectedIconPath": "/static/img/icon/internshipHL.png",
431 "text": "实习生" 432 "text": "实习生"
432 - },  
433 - {  
434 - "pagePath": "pages/tabBar/message/message",  
435 - "iconPath": "/static/img/icon/icon_message.png",  
436 - "selectedIconPath": "/static/img/icon/icon_messageHL.png",  
437 - "text": "消息" 433 + },
  434 + {
  435 + "pagePath": "pages/tabBar/message/message",
  436 + "iconPath": "/static/img/icon/message.png",
  437 + "selectedIconPath": "/static/img/icon/messageHL.png",
  438 + "text": "消息"
438 }, 439 },
439 { 440 {
440 "pagePath": "pages/tabBar/my/my", 441 "pagePath": "pages/tabBar/my/my",
@@ -444,4 +445,4 @@ @@ -444,4 +445,4 @@
444 } 445 }
445 ] 446 ]
446 } 447 }
447 -} 448 +}
@@ -392,25 +392,25 @@ @@ -392,25 +392,25 @@
392 // _this.uploadInfos(); 392 // _this.uploadInfos();
393 // } else {} 393 // } else {}
394 // console.log('_this.ossInit...', _this.ossInit) 394 // console.log('_this.ossInit...', _this.ossInit)
395 - let formdata = {}  
396 - if (this.ossInit.uploadType == 'minio') {  
397 - formdata = {  
398 - 'bucket': _this.ossInit.bucket,  
399 - 'dir': _this.ossInit.dir,  
400 - 'fileName': `${_this.ossInit.dir}${new Date().getTime()}/` + '${filename}',  
401 - 'accessId': _this.ossInit.accessId,  
402 - 'policy': _this.ossInit.policy  
403 - }  
404 - }else {  
405 - formdata = {  
406 - 'key': `${_this.ossInit.dir}${new Date().getTime()}/` + '${filename}',  
407 - // 'key': `${_this.ossInit.dir}${new Date().getTime()}`,  
408 - 'action': `${_this.ossInit.host}`,  
409 - 'OSSAccessKeyId': _this.ossInit.accessId,  
410 - 'policy': _this.ossInit.policy,  
411 - 'signature': _this.ossInit.signature,  
412 - 'callback': _this.ossInit.callback,  
413 - } 395 + let formdata = {}
  396 + if (this.ossInit.uploadType == 'minio') {
  397 + formdata = {
  398 + 'bucket': _this.ossInit.bucket,
  399 + 'dir': _this.ossInit.dir,
  400 + 'fileName': `${_this.ossInit.dir}${new Date().getTime()}/` + '${filename}',
  401 + 'accessId': _this.ossInit.accessId,
  402 + 'policy': _this.ossInit.policy
  403 + }
  404 + }else {
  405 + formdata = {
  406 + 'key': `${_this.ossInit.dir}${new Date().getTime()}/` + '${filename}',
  407 + // 'key': `${_this.ossInit.dir}${new Date().getTime()}`,
  408 + 'action': `${_this.ossInit.host}`,
  409 + 'OSSAccessKeyId': _this.ossInit.accessId,
  410 + 'policy': _this.ossInit.policy,
  411 + 'signature': _this.ossInit.signature,
  412 + 'callback': _this.ossInit.callback,
  413 + }
414 } 414 }
415 return new Promise((resolve, reject) => { 415 return new Promise((resolve, reject) => {
416 var gapLength = this.picList.length - this.attachments.length 416 var gapLength = this.picList.length - this.attachments.length
@@ -448,34 +448,34 @@ @@ -448,34 +448,34 @@
448 448
449 // } 449 // }
450 // console.log("uploadFiles...", this.fileList, this.attachmentsFile) 450 // console.log("uploadFiles...", this.fileList, this.attachmentsFile)
451 - let formdata = {}  
452 - if (this.ossInit.uploadType == 'minio') {  
453 - formdata = {  
454 - 'bucket': _this.ossInit.bucket,  
455 - 'dir': _this.ossInit.dir,  
456 - 'fileName': `${_this.ossInit.dir}${new Date().getTime()}/` + '${filename}',  
457 - 'accessId': _this.ossInit.accessId,  
458 - 'policy': _this.ossInit.policy  
459 - }  
460 - }else {  
461 - formdata = {  
462 - 'key': `${_this.ossInit.dir}${new Date().getTime()}/` + '${filename}',  
463 - // 'key': `${_this.ossInit.dir}${new Date().getTime()}`,  
464 - 'action': `${_this.ossInit.host}`,  
465 - 'OSSAccessKeyId': _this.ossInit.accessId,  
466 - 'policy': _this.ossInit.policy,  
467 - 'signature': _this.ossInit.signature,  
468 - 'callback': _this.ossInit.callback,  
469 - }  
470 - } 451 + let formdata = {}
  452 + if (this.ossInit.uploadType == 'minio') {
  453 + formdata = {
  454 + 'bucket': _this.ossInit.bucket,
  455 + 'dir': _this.ossInit.dir,
  456 + 'fileName': `${_this.ossInit.dir}${new Date().getTime()}/` + '${filename}',
  457 + 'accessId': _this.ossInit.accessId,
  458 + 'policy': _this.ossInit.policy
  459 + }
  460 + }else {
  461 + formdata = {
  462 + 'key': `${_this.ossInit.dir}${new Date().getTime()}/` + '${filename}',
  463 + // 'key': `${_this.ossInit.dir}${new Date().getTime()}`,
  464 + 'action': `${_this.ossInit.host}`,
  465 + 'OSSAccessKeyId': _this.ossInit.accessId,
  466 + 'policy': _this.ossInit.policy,
  467 + 'signature': _this.ossInit.signature,
  468 + 'callback': _this.ossInit.callback,
  469 + }
  470 + }
471 return new Promise((resolve, reject) => { 471 return new Promise((resolve, reject) => {
472 var gapLength = this.fileList.length - this.attachmentsFile.length 472 var gapLength = this.fileList.length - this.attachmentsFile.length
473 - for (var i = 0; i < gapLength; i++) {  
474 - let item = _this.fileList[_this.fileList.length - gapLength + i]  
475 - if (this.ossInit.uploadType == 'minio') {  
476 - formdata.fileName = `${_this.ossInit.dir}${new Date().getTime()}/` + item.name  
477 - }else {  
478 - formdata.key = `${_this.ossInit.dir}${new Date().getTime()}/` + item.name 473 + for (var i = 0; i < gapLength; i++) {
  474 + let item = _this.fileList[_this.fileList.length - gapLength + i]
  475 + if (this.ossInit.uploadType == 'minio') {
  476 + formdata.fileName = `${_this.ossInit.dir}${new Date().getTime()}/` + item.name
  477 + }else {
  478 + formdata.key = `${_this.ossInit.dir}${new Date().getTime()}/` + item.name
479 } 479 }
480 uni.uploadFile({ 480 uni.uploadFile({
481 url: _this.ossInit.host, 481 url: _this.ossInit.host,
@@ -809,4 +809,4 @@ @@ -809,4 +809,4 @@
809 } 809 }
810 } 810 }
811 } 811 }
812 -</style> 812 +</style>
@@ -37,11 +37,11 @@ @@ -37,11 +37,11 @@
37 <view class="t2 t2top14"> 37 <view class="t2 t2top14">
38 实习项目: {{item.form.projectName?item.form.projectName:'--'}} 38 实习项目: {{item.form.projectName?item.form.projectName:'--'}}
39 </view> 39 </view>
40 - <view class="t2">  
41 - 指导老师: {{item.form.teacherName?item.form.teacherName:'--'}}  
42 - </view>  
43 - <view class="t2">  
44 - 变更次数: {{item.formChangeApplyCount}} 40 + <view class="t2">
  41 + 指导老师: {{item.form.teacherName?item.form.teacherName:'--'}}
  42 + </view>
  43 + <view class="t2">
  44 + 变更次数: {{item.formChangeApplyCount}}
45 </view> 45 </view>
46 <view v-if="item.status == 'wait'" class="status" style="color: #F49A23;"> 46 <view v-if="item.status == 'wait'" class="status" style="color: #F49A23;">
47 待鉴定 47 待鉴定
@@ -81,7 +81,7 @@ @@ -81,7 +81,7 @@
81 {{item.name}} 81 {{item.name}}
82 </view> 82 </view>
83 <image v-if="item.id == projectId" style="width: 20px; height: 20px;" 83 <image v-if="item.id == projectId" style="width: 20px; height: 20px;"
84 - src="/static/img/home/popselect.png" mode=""></image> 84 + :src="vuex_baseImgUrl && `${vuex_baseImgUrl}popselect.png`" mode=""></image>
85 </view> 85 </view>
86 </view> 86 </view>
87 </scroll-view> 87 </scroll-view>
@@ -192,7 +192,7 @@ @@ -192,7 +192,7 @@
192 192
193 handelDetail(record) { 193 handelDetail(record) {
194 this.$u.route({ 194 this.$u.route({
195 - // url: `pages/main/home/achievementDetail/achievementDetail?&id=${record.id}` 195 + // url: `pages/main/home/achievementDetail/achievementDetail?&id=${record.id}`
196 url: `pages/main/home/achievementMid/achievementMid?&id=${record.id}` 196 url: `pages/main/home/achievementMid/achievementMid?&id=${record.id}`
197 }) 197 })
198 }, 198 },
@@ -378,7 +378,7 @@ @@ -378,7 +378,7 @@
378 color: rgba(38, 41, 47, 0.85); 378 color: rgba(38, 41, 47, 0.85);
379 } 379 }
380 380
381 - .t3 { 381 + .t3 {
382 margin-top: 2px; 382 margin-top: 2px;
383 font-size: 12px; 383 font-size: 12px;
384 font-family: PingFangSC-Light, PingFang SC; 384 font-family: PingFangSC-Light, PingFang SC;
@@ -542,4 +542,4 @@ @@ -542,4 +542,4 @@
542 542
543 } 543 }
544 } 544 }
545 -</style> 545 +</style>
1 -<template>  
2 - <view class="page" :style="vuex_theme"> 1 +<template>
  2 + <view class="page" :style="vuex_theme">
3 <view class="item"> 3 <view class="item">
4 <view style="display: flex; align-items: baseline;"> 4 <view style="display: flex; align-items: baseline;">
5 <view class="t1"> 5 <view class="t1">
@@ -24,14 +24,14 @@ @@ -24,14 +24,14 @@
24 <view v-else class="status" style="color: var(--primary-color);"> 24 <view v-else class="status" style="color: var(--primary-color);">
25 已鉴定 25 已鉴定
26 </view> 26 </view>
27 - </view> 27 + </view>
28 <view style="background-color: #fff; margin-top: 20rpx; padding-left: 10px;"> 28 <view style="background-color: #fff; margin-top: 20rpx; padding-left: 10px;">
29 <u-tabs :list="menu_list" lineWidth="30rpx" lineHeight="4rpx" lineColor="var(--primary-color)" 29 <u-tabs :list="menu_list" lineWidth="30rpx" lineHeight="4rpx" lineColor="var(--primary-color)"
30 :inactiveStyle="{fontSize:'32rpx', color:'#4A4A53'}" 30 :inactiveStyle="{fontSize:'32rpx', color:'#4A4A53'}"
31 :activeStyle="{fontSize:'32rpx', color:'var(--primary-color)'}" @click="click"> 31 :activeStyle="{fontSize:'32rpx', color:'var(--primary-color)'}" @click="click">
32 - </u-tabs>  
33 - </view>  
34 - <view v-if="current==0"> 32 + </u-tabs>
  33 + </view>
  34 + <view v-if="current==0">
35 <view class="current1"> 35 <view class="current1">
36 <view class="content"> 36 <view class="content">
37 <view class="cj_left"> 37 <view class="cj_left">
@@ -90,13 +90,11 @@ @@ -90,13 +90,11 @@
90 <view class="list list_item_top"> 90 <view class="list list_item_top">
91 <text class="item1">评语:</text> 91 <text class="item1">评语:</text>
92 <text class="item2">{{detailObj.studentComment}}</text> 92 <text class="item2">{{detailObj.studentComment}}</text>
93 - <!-- <text class="item2">12321312390128390218309809sda890asd809s0a9d8a90sd8a90asd809asd89asd890as8d9</text> -->  
94 </view> 93 </view>
95 <view class="listflex list_item_top"> 94 <view class="listflex list_item_top">
96 <text class="item1">附件:</text> 95 <text class="item1">附件:</text>
97 <view class="list_flex_right"> 96 <view class="list_flex_right">
98 <view class="pdffj" v-for="(item,index) in stuattachmentsFile " @click="openLink(item)"> 97 <view class="pdffj" v-for="(item,index) in stuattachmentsFile " @click="openLink(item)">
99 - <!-- <image class="img" src="/static/img/common/link.png"></image> -->  
100 <text class="look">{{item.filename}}</text> 98 <text class="look">{{item.filename}}</text>
101 </view> 99 </view>
102 </view> 100 </view>
@@ -130,7 +128,6 @@ @@ -130,7 +128,6 @@
130 <text class="item1">附件:</text> 128 <text class="item1">附件:</text>
131 <view class="list_flex_right"> 129 <view class="list_flex_right">
132 <view class="pdffj" v-for="(item,index) in comattachmentsFile " @click="openLink(item)"> 130 <view class="pdffj" v-for="(item,index) in comattachmentsFile " @click="openLink(item)">
133 - <!-- <image class="img" src="/static/img/common/link.png"></image> -->  
134 <text class="look">{{item.filename}}</text> 131 <text class="look">{{item.filename}}</text>
135 </view> 132 </view>
136 </view> 133 </view>
@@ -156,7 +153,6 @@ @@ -156,7 +153,6 @@
156 <text class="item1">附件:</text> 153 <text class="item1">附件:</text>
157 <view class="list_flex_right"> 154 <view class="list_flex_right">
158 <view class="pdffj" v-for="(item,index) in schattachmentsFile " @click="openLink(item)"> 155 <view class="pdffj" v-for="(item,index) in schattachmentsFile " @click="openLink(item)">
159 - <!-- <image class="img" src="/static/img/common/link.png"></image> -->  
160 <text class="look">{{item.filename}}</text> 156 <text class="look">{{item.filename}}</text>
161 </view> 157 </view>
162 </view> 158 </view>
@@ -168,8 +164,8 @@ @@ -168,8 +164,8 @@
168 <view v-if="detailObj.status == 'wait'" class="botBtnV_centralize"> 164 <view v-if="detailObj.status == 'wait'" class="botBtnV_centralize">
169 <view class="botBtn" @click="submit()">成绩鉴定</view> 165 <view class="botBtn" @click="submit()">成绩鉴定</view>
170 </view> 166 </view>
171 - </view>  
172 - </view> 167 + </view>
  168 + </view>
173 <view v-else> 169 <view v-else>
174 <view class="current2"> 170 <view class="current2">
175 <view v-if="list.length > 0" > 171 <view v-if="list.length > 0" >
@@ -198,68 +194,68 @@ @@ -198,68 +194,68 @@
198 </view> 194 </view>
199 <view v-else style="width: 100%; height: 100%;"> 195 <view v-else style="width: 100%; height: 100%;">
200 <view style="margin: 150px auto 0; width: 187px;height: 110px;"> 196 <view style="margin: 150px auto 0; width: 187px;height: 110px;">
201 - <image style="width: 187px;height: 110px;" :src="'/static/img/home/nodata.png'"></image> 197 + <image style="width: 187px;height: 110px;" :src="vuex_baseImgUrl && `${vuex_baseImgUrl}nodata.png`"></image>
202 </view> 198 </view>
203 <view style="width: 100%; margin-top: 10px; text-align: center; font-size: 13px; color: #121212;">暂无数据</view> 199 <view style="width: 100%; margin-top: 10px; text-align: center; font-size: 13px; color: #121212;">暂无数据</view>
204 </view> 200 </view>
205 - </view>  
206 - </view>  
207 - </view>  
208 -</template>  
209 -  
210 -<script>  
211 - import {  
212 - scoredetailUrl, 201 + </view>
  202 + </view>
  203 + </view>
  204 +</template>
  205 +
  206 +<script>
  207 + import {
  208 + scoredetailUrl,
213 getImgUrlApi, 209 getImgUrlApi,
214 - scoreinternshipInfoUrl 210 + scoreinternshipInfoUrl
215 } from '@/config/api.js'; 211 } from '@/config/api.js';
216 - import listMixin from "@/common/mixins/list-mixin.js";  
217 - 212 + import listMixin from "@/common/mixins/list-mixin.js";
  213 +
218 export default { 214 export default {
219 - mixins: [listMixin],  
220 - data() {  
221 - return {  
222 - id: '',  
223 - detailObj: {},  
224 - menu_list: [{  
225 - name: '实习成绩'  
226 - }, {  
227 - name: '实习信息'  
228 - }], 215 + mixins: [listMixin],
  216 + data() {
  217 + return {
  218 + id: '',
  219 + detailObj: {},
  220 + menu_list: [{
  221 + name: '实习成绩'
  222 + }, {
  223 + name: '实习信息'
  224 + }],
229 current: 0, 225 current: 0,
230 stuattachmentsFile: [], 226 stuattachmentsFile: [],
231 comattachmentsFile: [], 227 comattachmentsFile: [],
232 schattachmentsFile: [], 228 schattachmentsFile: [],
233 - list: []  
234 - }  
235 - },  
236 -  
237 - onLoad(e) {  
238 - console.log(e) 229 + list: []
  230 + }
  231 + },
  232 +
  233 + onLoad(e) {
  234 + console.log(e)
239 this.id = e.id 235 this.id = e.id
240 236
241 this.finished = false; 237 this.finished = false;
242 this.loading = "loadmore"; 238 this.loading = "loadmore";
243 this.page = 0; 239 this.page = 0;
244 this.list = []; 240 this.list = [];
245 - this._getList();  
246 - },  
247 -  
248 - onShow() {  
249 - this.loadData()  
250 - },  
251 -  
252 - methods: {  
253 - loadData() {  
254 - scoredetailUrl(this.id).then(res => {  
255 - if (res) { 241 + this._getList();
  242 + },
  243 +
  244 + onShow() {
  245 + this.loadData()
  246 + },
  247 +
  248 + methods: {
  249 + loadData() {
  250 + scoredetailUrl(this.id).then(res => {
  251 + if (res) {
256 this.detailObj = res; 252 this.detailObj = res;
257 this.detailObj.form.endTime = this.timeFormat(this.detailObj.form.endTime,'yyyy-mm-dd') 253 this.detailObj.form.endTime = this.timeFormat(this.detailObj.form.endTime,'yyyy-mm-dd')
258 this.stuhandleDataspdf() 254 this.stuhandleDataspdf()
259 this.comhandleDataspdf() 255 this.comhandleDataspdf()
260 - this.schhandleDataspdf()  
261 - }  
262 - }) 256 + this.schhandleDataspdf()
  257 + }
  258 + })
263 }, 259 },
264 260
265 timeFormat(timestamp, format = 'yyyy-mm-dd hh:MM') { 261 timeFormat(timestamp, format = 'yyyy-mm-dd hh:MM') {
@@ -429,21 +425,21 @@ @@ -429,21 +425,21 @@
429 } 425 }
430 426
431 uni.hideLoading(); 427 uni.hideLoading();
432 - },  
433 - }  
434 - }  
435 -</script>  
436 -  
437 -<style>  
438 - page {  
439 - background-color: #F7F7F7;  
440 - }  
441 -</style>  
442 -  
443 -<style lang="scss" scoped>  
444 - .page {  
445 - width: 100%;  
446 - 428 + },
  429 + }
  430 + }
  431 +</script>
  432 +
  433 +<style>
  434 + page {
  435 + background-color: #F7F7F7;
  436 + }
  437 +</style>
  438 +
  439 +<style lang="scss" scoped>
  440 + .page {
  441 + width: 100%;
  442 +
447 .item { 443 .item {
448 position: relative; 444 position: relative;
449 padding: 20px; 445 padding: 20px;
@@ -484,7 +480,7 @@ @@ -484,7 +480,7 @@
484 font-family: PingFangSC-Regular, PingFang SC; 480 font-family: PingFangSC-Regular, PingFang SC;
485 font-weight: 400; 481 font-weight: 400;
486 } 482 }
487 - } 483 + }
488 484
489 .current1 { 485 .current1 {
490 padding: 10px; 486 padding: 10px;
@@ -721,6 +717,6 @@ @@ -721,6 +717,6 @@
721 color: var(--primary-color); 717 color: var(--primary-color);
722 } 718 }
723 } 719 }
724 - }  
725 - } 720 + }
  721 + }
726 </style> 722 </style>
1 <template> 1 <template>
2 <view class="report_detail"> 2 <view class="report_detail">
3 <view class="list_box" v-if="list.length > 0"> 3 <view class="list_box" v-if="list.length > 0">
4 - <view class="item" v-for="(item, i) in list" :key="i" @click="handelDetail(item)">  
5 -  
6 - <view class="bg_image" v-if="item.status == 'stay_examine'">  
7 - <u-image src="/static/img/home/labelBgGreen.png" width="142rpx" height="48rpx"></u-image>  
8 - <text>待审核</text>  
9 - </view>  
10 -  
11 - <view class="bg_image" v-else-if="item.status == 'adopt'">  
12 - <u-image src="/static/img/home/labelBgGrey.png" width="142rpx" height="48rpx"></u-image>  
13 - <text>已通过</text>  
14 - </view>  
15 -  
16 - <view class="bg_image" v-else>  
17 - <u-image src="/static/img/home/labelBgGrey.png" width="142rpx" height="48rpx"></u-image>  
18 - <text>已退回</text> 4 + <view class="item" v-for="(item, i) in list" :key="i" @click="handelDetail(item)">
  5 +
  6 + <view class="bg_image" v-if="item.status == 'stay_examine'">
  7 + <u-image :src="vuex_baseImgUrl && `${vuex_baseImgUrl}labelBgGreen.png`" width="142rpx" height="48rpx"></u-image>
  8 + <text>待审核</text>
  9 + </view>
  10 +
  11 + <view class="bg_image" v-else-if="item.status == 'adopt'">
  12 + <u-image :src="vuex_baseImgUrl && `${vuex_baseImgUrl}labelBgGreen.png`" width="142rpx" height="48rpx"></u-image>
  13 + <text>已通过</text>
  14 + </view>
  15 +
  16 + <view class="bg_image" v-else>
  17 + <u-image :src="vuex_baseImgUrl && `${vuex_baseImgUrl}labelBgGreen.png`" width="142rpx" height="48rpx"></u-image>
  18 + <text>已退回</text>
19 </view> 19 </view>
20 20
21 <view class="info"> 21 <view class="info">
22 - <u-image src="/static/img/home/approvalRecordBg.png" width="94rpx" height="94rpx" /> 22 + <u-image :src="vuex_baseImgUrl && `${vuex_baseImgUrl}approvalRecordBg.png`" width="94rpx" height="94rpx" />
23 <view class="title_name"> 23 <view class="title_name">
24 <view class="title"> 24 <view class="title">
25 {{item.title}} 25 {{item.title}}
26 </view> 26 </view>
27 <view class="time"> 27 <view class="time">
28 -  
29 - <text>创建时间</text>  
30 - <text>  
31 - {{timeFormat(item.createdTime, 'yyyy-mm-dd hh:MM')}} 28 +
  29 + <text>创建时间</text>
  30 + <text>
  31 + {{timeFormat(item.createdTime, 'yyyy-mm-dd hh:MM')}}
32 </text> 32 </text>
33 </view> 33 </view>
34 </view> 34 </view>
@@ -77,16 +77,16 @@ @@ -77,16 +77,16 @@
77 }) 77 })
78 }, 78 },
79 79
80 - methods: {  
81 -  
82 - timeFormat(timestamp, format = 'yyyy-mm-dd') {  
83 - return timestamp > 0 ? uni.$u.timeFormat(timestamp, format) : '--'  
84 - },  
85 -  
86 - handelDetail(record) {  
87 - this.$u.route({  
88 - url: `pages/main/home/reportDetail/reportDetail?id=${record.id}&formId=${record.formId}`  
89 - }) 80 + methods: {
  81 +
  82 + timeFormat(timestamp, format = 'yyyy-mm-dd') {
  83 + return timestamp > 0 ? uni.$u.timeFormat(timestamp, format) : '--'
  84 + },
  85 +
  86 + handelDetail(record) {
  87 + this.$u.route({
  88 + url: `pages/main/home/reportDetail/reportDetail?id=${record.id}&formId=${record.formId}`
  89 + })
90 }, 90 },
91 } 91 }
92 } 92 }
@@ -156,4 +156,4 @@ @@ -156,4 +156,4 @@
156 } 156 }
157 } 157 }
158 } 158 }
159 -</style> 159 +</style>
@@ -279,10 +279,10 @@ @@ -279,10 +279,10 @@
279 } 279 }
280 </script> 280 </script>
281 281
282 -<style>  
283 - page {  
284 - background-color: #F7F7F7;  
285 - } 282 +<style>
  283 + page {
  284 + background-color: #F7F7F7;
  285 + }
286 </style> 286 </style>
287 287
288 <style lang="scss" scoped> 288 <style lang="scss" scoped>
@@ -14,45 +14,45 @@ @@ -14,45 +14,45 @@
14 <u-search placeholder="请输入学生姓名/学号/手机号" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx" 14 <u-search placeholder="请输入学生姓名/学号/手机号" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx"
15 bgColor="#F4F4F4" :showAction="false" shape="square" v-model="keyword" @search="handelSearch"> 15 bgColor="#F4F4F4" :showAction="false" shape="square" v-model="keyword" @search="handelSearch">
16 </u-search> 16 </u-search>
17 - </view> -->  
18 - <view style="width: 148px;">  
19 - <u-subsection :list="['待处理','全部']" :current="curNow" :fontSize="26" :activeColor="'#000'" @change="sectionChange"></u-subsection>  
20 - </view>  
21 - <view style="display: flex; justify-content: space-between; align-items: center;">  
22 - <u-icon slot="icon" size="40" :name="'/static/img/home/search.png'" @click="searchCli"></u-icon>  
23 - <view style="width: 16px;"></view>  
24 - <u-icon slot="icon" size="40" :name="'/static/img/home/selectIcon.png'" @click="show = true"></u-icon> 17 + </view> -->
  18 + <view style="width: 148px;">
  19 + <u-subsection :list="['待处理','全部']" :current="curNow" :fontSize="26" :activeColor="'#000'" @change="sectionChange"></u-subsection>
  20 + </view>
  21 + <view style="display: flex; justify-content: space-between; align-items: center;">
  22 + <u-icon slot="icon" size="40" :name="'/static/img/home/search.png'" @click="searchCli"></u-icon>
  23 + <view style="width: 16px;"></view>
  24 + <u-icon slot="icon" size="40" :name="'/static/img/home/selectIcon.png'" @click="show = true"></u-icon>
25 </view> 25 </view>
26 </view> 26 </view>
27 27
28 <view class="list_box" v-if="list.length > 0"> 28 <view class="list_box" v-if="list.length > 0">
29 <view class="item" v-for="(item, i) in list" :key="i" @click="handelDetail(item)"> 29 <view class="item" v-for="(item, i) in list" :key="i" @click="handelDetail(item)">
30 - <view class="t1">  
31 - {{item.studentName}}提交的请假申请  
32 - </view>  
33 - <view class="t3">  
34 - {{item.projectName}}  
35 - </view>  
36 - <view class="t2 t2top14">  
37 - 请假类型: {{getCategoryList(item.category)}}  
38 - </view>  
39 - <view class="t2">  
40 - 开始时间: {{timeFormat(item.startTime, 'yyyy-mm-dd hh:MM')}}  
41 - </view>  
42 - <view class="t2">  
43 - 结束时间: {{timeFormat(item.endTime, 'yyyy-mm-dd hh:MM')}}  
44 - </view>  
45 - <view v-if="item.status == 'wait'" class="status" style="color: #F49A23;">  
46 - 待处理  
47 - </view>  
48 - <view v-else-if="item.status == 'pass'" class="status" style="color: var(--primary-color);">  
49 - 已通过  
50 - </view>  
51 - <view v-else-if="item.status == 'reject'" class="status" style="color: red;">  
52 - 已驳回  
53 - </view>  
54 - <view class="time">  
55 - {{timeFormat(item.createdTime, 'mm-dd')}} 30 + <view class="t1">
  31 + {{item.studentName}}提交的请假申请
  32 + </view>
  33 + <view class="t3">
  34 + {{item.projectName}}
  35 + </view>
  36 + <view class="t2 t2top14">
  37 + 请假类型: {{getCategoryList(item.category)}}
  38 + </view>
  39 + <view class="t2">
  40 + 开始时间: {{timeFormat(item.startTime, 'yyyy-mm-dd hh:MM')}}
  41 + </view>
  42 + <view class="t2">
  43 + 结束时间: {{timeFormat(item.endTime, 'yyyy-mm-dd hh:MM')}}
  44 + </view>
  45 + <view v-if="item.status == 'wait'" class="status" style="color: #F49A23;">
  46 + 待处理
  47 + </view>
  48 + <view v-else-if="item.status == 'pass'" class="status" style="color: var(--primary-color);">
  49 + 已通过
  50 + </view>
  51 + <view v-else-if="item.status == 'reject'" class="status" style="color: red;">
  52 + 已驳回
  53 + </view>
  54 + <view class="time">
  55 + {{timeFormat(item.createdTime, 'mm-dd')}}
56 </view> 56 </view>
57 </view> 57 </view>
58 <c-loading :loading="loading"></c-loading> 58 <c-loading :loading="loading"></c-loading>
@@ -60,38 +60,38 @@ @@ -60,38 +60,38 @@
60 <view v-else class="no_data"> 60 <view v-else class="no_data">
61 <c-no-data></c-no-data> 61 <c-no-data></c-no-data>
62 </view> 62 </view>
63 -  
64 - <u-popup :show="show" mode="bottom" @close="close" :round="22">  
65 - <view class="popup">  
66 - <view style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px;">  
67 - <view class="title">  
68 - 项目筛选  
69 - </view>  
70 - <image class="close" src="/static/img/home/closepop.png" @click="close" mode=""></image>  
71 - </view>  
72 - <view class="search">  
73 - <u-search placeholder="请输入项目关键词搜索" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx"  
74 - bgColor="#F4F4F4" :showAction="true" shape="round" v-model="sxsearch" @custom="workSearch()" @search="workSearch()">  
75 - </u-search>  
76 - </view>  
77 - <scroll-view v-if="works.length>0" scroll-y="true" style="height: 80%; margin-top: 40rpx;"  
78 - @scrolltolower="lower()">  
79 - <view class="item_box" v-for="(item,index) in works" :key="index" @click="popupSelItem(item)">  
80 - <view style="display: flex; align-items: center; justify-content: space-between;">  
81 - <view class="item_title">  
82 - {{item.name}}  
83 - </view>  
84 - <image v-if="item.id == projectId" style="width: 20px; height: 20px;" src="/static/img/home/popselect.png" mode=""></image>  
85 - </view>  
86 - </view>  
87 - </scroll-view>  
88 - <view v-else class="no_data" @click="jumpVerified">  
89 - <view class="text_black_28">  
90 - 暂未搜索到该项目  
91 - </view>  
92 - </view>  
93 - </view>  
94 - </u-popup> 63 +
  64 + <u-popup :show="show" mode="bottom" @close="close" :round="22">
  65 + <view class="popup">
  66 + <view style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px;">
  67 + <view class="title">
  68 + 项目筛选
  69 + </view>
  70 + <image class="close" src="/static/img/home/closepop.png" @click="close" mode=""></image>
  71 + </view>
  72 + <view class="search">
  73 + <u-search placeholder="请输入项目关键词搜索" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx"
  74 + bgColor="#F4F4F4" :showAction="true" shape="round" v-model="sxsearch" @custom="workSearch()" @search="workSearch()">
  75 + </u-search>
  76 + </view>
  77 + <scroll-view v-if="works.length>0" scroll-y="true" style="height: 80%; margin-top: 40rpx;"
  78 + @scrolltolower="lower()">
  79 + <view class="item_box" v-for="(item,index) in works" :key="index" @click="popupSelItem(item)">
  80 + <view style="display: flex; align-items: center; justify-content: space-between;">
  81 + <view class="item_title">
  82 + {{item.name}}
  83 + </view>
  84 + <image v-if="item.id == projectId" style="width: 20px; height: 20px;" :src="vuex_baseImgUrl && `${vuex_baseImgUrl}popselect.png`" mode=""></image>
  85 + </view>
  86 + </view>
  87 + </scroll-view>
  88 + <view v-else class="no_data" @click="jumpVerified">
  89 + <view class="text_black_28">
  90 + 暂未搜索到该项目
  91 + </view>
  92 + </view>
  93 + </view>
  94 + </u-popup>
95 95
96 <!-- <u-popup :show="show" mode="right" @close="close" @open="open" :closeOnClickOverlay="false"> 96 <!-- <u-popup :show="show" mode="right" @close="close" @open="open" :closeOnClickOverlay="false">
97 <view class="popup_search"> 97 <view class="popup_search">
@@ -164,28 +164,28 @@ @@ -164,28 +164,28 @@
164 164
165 }, 165 },
166 projectId: '', 166 projectId: '',
167 - switchValue: false,  
168 - categoryList: [{  
169 - label: '事假',  
170 - value: 'personal'  
171 - },  
172 - {  
173 - label: '病假',  
174 - value: "sick",  
175 - },  
176 - {  
177 - label: '调休',  
178 - value: "exchange",  
179 - },  
180 - {  
181 - label: '其他',  
182 - value: "other",  
183 - }  
184 - ],  
185 - curNow: 1,  
186 - sxsearch: '',  
187 - works: [],  
188 - workspage: 1, 167 + switchValue: false,
  168 + categoryList: [{
  169 + label: '事假',
  170 + value: 'personal'
  171 + },
  172 + {
  173 + label: '病假',
  174 + value: "sick",
  175 + },
  176 + {
  177 + label: '调休',
  178 + value: "exchange",
  179 + },
  180 + {
  181 + label: '其他',
  182 + value: "other",
  183 + }
  184 + ],
  185 + curNow: 1,
  186 + sxsearch: '',
  187 + works: [],
  188 + workspage: 1,
189 workstotal: 0, 189 workstotal: 0,
190 } 190 }
191 }, 191 },
@@ -194,14 +194,14 @@ @@ -194,14 +194,14 @@
194 console.log(option) 194 console.log(option)
195 // this.$store.dispatch(`home/getProjectList`, { 195 // this.$store.dispatch(`home/getProjectList`, {
196 // pageSize: -1, 196 // pageSize: -1,
197 - // })  
198 - 197 + // })
  198 +
199 this.worksloadData() 199 this.worksloadData()
200 200
201 // this.search.keySearch = ''; 201 // this.search.keySearch = '';
202 202
203 if (option && option.status) { 203 if (option && option.status) {
204 - // this.search.status = 'wait'; 204 + // this.search.status = 'wait';
205 this.curNow = 0; 205 this.curNow = 0;
206 // this.checkboxValue = ['待处理']; 206 // this.checkboxValue = ['待处理'];
207 // this.switchValue = true; 207 // this.switchValue = true;
@@ -209,10 +209,10 @@ @@ -209,10 +209,10 @@
209 209
210 }, 210 },
211 211
212 - onShow() {  
213 - this.finished = false;  
214 - this.loading = "loadmore";  
215 - this.page = 0; 212 + onShow() {
  213 + this.finished = false;
  214 + this.loading = "loadmore";
  215 + this.page = 0;
216 this.list = []; 216 this.list = [];
217 this._getList(); 217 this._getList();
218 }, 218 },
@@ -226,32 +226,32 @@ @@ -226,32 +226,32 @@
226 226
227 }, 227 },
228 228
229 - methods: {  
230 -  
231 - searchCli() {  
232 - this.$u.route('/pages/main/home/search/search?type=ask&searchkey=' + this.keyword);  
233 - },  
234 -  
235 - sectionChange(index) {  
236 - this.curNow = index;  
237 -  
238 - this.finished = false;  
239 - this.loading = "loadmore";  
240 - this.page = 0;  
241 - this.list = [];  
242 - this._getList();  
243 - },  
244 -  
245 - getCategoryList(e) {  
246 - for (var i = 0; i < this.categoryList.length; i++) {  
247 - let item = this.categoryList[i]  
248 - if (e == item.value) {  
249 - return item.label  
250 - }  
251 - } 229 + methods: {
  230 +
  231 + searchCli() {
  232 + this.$u.route('/pages/main/home/search/search?type=ask&searchkey=' + this.keyword);
  233 + },
  234 +
  235 + sectionChange(index) {
  236 + this.curNow = index;
  237 +
  238 + this.finished = false;
  239 + this.loading = "loadmore";
  240 + this.page = 0;
  241 + this.list = [];
  242 + this._getList();
  243 + },
  244 +
  245 + getCategoryList(e) {
  246 + for (var i = 0; i < this.categoryList.length; i++) {
  247 + let item = this.categoryList[i]
  248 + if (e == item.value) {
  249 + return item.label
  250 + }
  251 + }
252 }, 252 },
253 253
254 - handelDetail(record) { 254 + handelDetail(record) {
255 this.$u.route('/pages/main/home/askdetail/askdetail?id='+record.id); 255 this.$u.route('/pages/main/home/askdetail/askdetail?id='+record.id);
256 }, 256 },
257 257
@@ -376,53 +376,53 @@ @@ -376,53 +376,53 @@
376 this._getList(); 376 this._getList();
377 377
378 this.show = false; 378 this.show = false;
379 - },  
380 -  
381 - workSearch() {  
382 - uni.hideKeyboard();  
383 - this.works = []  
384 - this.worksloadData()  
385 - },  
386 -  
387 - lower() {  
388 - setTimeout(() => {  
389 - this.worksloadData(true);  
390 - }, 200)  
391 - },  
392 -  
393 - worksloadData(e) {  
394 - let params = {}  
395 - // this.loading = 'loading'  
396 -  
397 - if (e) {  
398 - if (this.total <= this.works.length) {  
399 - // this.loading = 'nomore'  
400 - return  
401 - }  
402 - this.workspage++  
403 - } else {  
404 - this.workspage = 1  
405 - }  
406 - params['pageNumber'] = this.workspage  
407 - if (this.sxsearch) {  
408 - params['keyWord'] = this.sxsearch  
409 - }  
410 - getProjectListApi(params).then(async res => {  
411 - if (res) {  
412 - this.total = res.total  
413 - // this.loading = 'loadmore'  
414 - this.works = this.works.concat(res.records)  
415 - }  
416 - })  
417 - },  
418 - popupSelItem(item) {  
419 - this.show = false  
420 - this.projectId = item.id;  
421 - this.finished = false;  
422 - this.loading = "loadmore";  
423 - this.page = 0;  
424 - this.list = [];  
425 - this._getList(); 379 + },
  380 +
  381 + workSearch() {
  382 + uni.hideKeyboard();
  383 + this.works = []
  384 + this.worksloadData()
  385 + },
  386 +
  387 + lower() {
  388 + setTimeout(() => {
  389 + this.worksloadData(true);
  390 + }, 200)
  391 + },
  392 +
  393 + worksloadData(e) {
  394 + let params = {}
  395 + // this.loading = 'loading'
  396 +
  397 + if (e) {
  398 + if (this.total <= this.works.length) {
  399 + // this.loading = 'nomore'
  400 + return
  401 + }
  402 + this.workspage++
  403 + } else {
  404 + this.workspage = 1
  405 + }
  406 + params['pageNumber'] = this.workspage
  407 + if (this.sxsearch) {
  408 + params['keyWord'] = this.sxsearch
  409 + }
  410 + getProjectListApi(params).then(async res => {
  411 + if (res) {
  412 + this.total = res.total
  413 + // this.loading = 'loadmore'
  414 + this.works = this.works.concat(res.records)
  415 + }
  416 + })
  417 + },
  418 + popupSelItem(item) {
  419 + this.show = false
  420 + this.projectId = item.id;
  421 + this.finished = false;
  422 + this.loading = "loadmore";
  423 + this.page = 0;
  424 + this.list = [];
  425 + this._getList();
426 }, 426 },
427 427
428 } 428 }
@@ -461,51 +461,51 @@ @@ -461,51 +461,51 @@
461 padding: 20px 17px; 461 padding: 20px 17px;
462 border-radius: 8rpx; 462 border-radius: 8rpx;
463 background-color: #FFFFFF; 463 background-color: #FFFFFF;
464 -  
465 - .t1 {  
466 - font-size: 14px;  
467 - font-family: PingFangSC-Medium, PingFang SC;  
468 - font-weight: 500;  
469 - color: #000000;  
470 - }  
471 -  
472 - .t2 {  
473 - margin-top: 6px;  
474 - font-size: 12px;  
475 - font-family: PingFangSC-Light, PingFang SC;  
476 - font-weight: 300;  
477 - color: rgba(38,41,47,0.85);  
478 - }  
479 -  
480 - .t3 {  
481 - margin-top: 2px;  
482 - font-size: 12px;  
483 - font-family: PingFangSC-Light, PingFang SC;  
484 - font-weight: 300;  
485 - color: #000000;  
486 - }  
487 -  
488 - .t2top14 {  
489 - margin-top: 14px;  
490 - }  
491 -  
492 - .time {  
493 - position: absolute;  
494 - top: 17px;  
495 - right: 17px;  
496 - font-size: 12px;  
497 - font-family: PingFangSC-Light, PingFang SC;  
498 - font-weight: 300;  
499 - color: rgba(0,0,0,0.85);  
500 - }  
501 -  
502 - .status {  
503 - position: absolute;  
504 - bottom: 20px;  
505 - right: 17px;  
506 - font-size: 12px;  
507 - font-family: PingFangSC-Regular, PingFang SC;  
508 - font-weight: 400; 464 +
  465 + .t1 {
  466 + font-size: 14px;
  467 + font-family: PingFangSC-Medium, PingFang SC;
  468 + font-weight: 500;
  469 + color: #000000;
  470 + }
  471 +
  472 + .t2 {
  473 + margin-top: 6px;
  474 + font-size: 12px;
  475 + font-family: PingFangSC-Light, PingFang SC;
  476 + font-weight: 300;
  477 + color: rgba(38,41,47,0.85);
  478 + }
  479 +
  480 + .t3 {
  481 + margin-top: 2px;
  482 + font-size: 12px;
  483 + font-family: PingFangSC-Light, PingFang SC;
  484 + font-weight: 300;
  485 + color: #000000;
  486 + }
  487 +
  488 + .t2top14 {
  489 + margin-top: 14px;
  490 + }
  491 +
  492 + .time {
  493 + position: absolute;
  494 + top: 17px;
  495 + right: 17px;
  496 + font-size: 12px;
  497 + font-family: PingFangSC-Light, PingFang SC;
  498 + font-weight: 300;
  499 + color: rgba(0,0,0,0.85);
  500 + }
  501 +
  502 + .status {
  503 + position: absolute;
  504 + bottom: 20px;
  505 + right: 17px;
  506 + font-size: 12px;
  507 + font-family: PingFangSC-Regular, PingFang SC;
  508 + font-weight: 400;
509 } 509 }
510 } 510 }
511 } 511 }
@@ -529,25 +529,25 @@ @@ -529,25 +529,25 @@
529 529
530 .item { 530 .item {
531 531
532 - view {  
533 - display: flex;  
534 - flex-flow: row wrap;  
535 - align-items: center;  
536 - width: 500rpx;  
537 - height: 74rpx;  
538 - border-radius: 4rpx;  
539 - border: 2rpx solid #C1C1C9;  
540 - margin: 0 10rpx 20rpx;  
541 - font-size: 24rpx;  
542 - line-height: 32rpx;  
543 - color: #C0C0C9;  
544 - padding: 16rpx 20rpx;  
545 - }  
546 -  
547 - .selectItem {  
548 - background-color: var(--primary-color);  
549 - color: #FFFFFF;  
550 - border: 2rpx solid var(--primary-color); 532 + view {
  533 + display: flex;
  534 + flex-flow: row wrap;
  535 + align-items: center;
  536 + width: 500rpx;
  537 + height: 74rpx;
  538 + border-radius: 4rpx;
  539 + border: 2rpx solid #C1C1C9;
  540 + margin: 0 10rpx 20rpx;
  541 + font-size: 24rpx;
  542 + line-height: 32rpx;
  543 + color: #C0C0C9;
  544 + padding: 16rpx 20rpx;
  545 + }
  546 +
  547 + .selectItem {
  548 + background-color: var(--primary-color);
  549 + color: #FFFFFF;
  550 + border: 2rpx solid var(--primary-color);
551 } 551 }
552 } 552 }
553 } 553 }
@@ -592,53 +592,53 @@ @@ -592,53 +592,53 @@
592 width: 346rpx; 592 width: 346rpx;
593 } 593 }
594 } 594 }
595 - }  
596 -  
597 - .popup {  
598 - height: 500px;  
599 - padding: 19px 16px;  
600 -  
601 - .title {  
602 - font-size: 18px;  
603 - font-family: PingFangSC-Medium, PingFang SC;  
604 - font-weight: 500;  
605 - color: #000000;  
606 - }  
607 -  
608 - .close {  
609 - width: 22px;  
610 - height: 22px;  
611 - }  
612 -  
613 - .item_box {  
614 - border-radius: 4px;  
615 - margin: 0 0 48rpx;  
616 -  
617 - .item_title {  
618 - height: 20px;  
619 - font-size: 14px;  
620 - font-family: PingFangSC-Regular, PingFang SC;  
621 - font-weight: 400;  
622 - color: rgba(0, 0, 0, 0.65);  
623 - line-height: 20px;  
624 - }  
625 -  
626 - }  
627 -  
628 - .no_data {  
629 - width: 100%;  
630 - margin-top: 310rpx;  
631 -  
632 - .text_black_28 {  
633 - font-size: 14px;  
634 - font-family: PingFangSC-Light, PingFang SC;  
635 - font-weight: 300;  
636 - color: rgba(0,0,0,0.65);  
637 - text-align: center;  
638 - }  
639 -  
640 - }  
641 - 595 + }
  596 +
  597 + .popup {
  598 + height: 500px;
  599 + padding: 19px 16px;
  600 +
  601 + .title {
  602 + font-size: 18px;
  603 + font-family: PingFangSC-Medium, PingFang SC;
  604 + font-weight: 500;
  605 + color: #000000;
  606 + }
  607 +
  608 + .close {
  609 + width: 22px;
  610 + height: 22px;
  611 + }
  612 +
  613 + .item_box {
  614 + border-radius: 4px;
  615 + margin: 0 0 48rpx;
  616 +
  617 + .item_title {
  618 + height: 20px;
  619 + font-size: 14px;
  620 + font-family: PingFangSC-Regular, PingFang SC;
  621 + font-weight: 400;
  622 + color: rgba(0, 0, 0, 0.65);
  623 + line-height: 20px;
  624 + }
  625 +
  626 + }
  627 +
  628 + .no_data {
  629 + width: 100%;
  630 + margin-top: 310rpx;
  631 +
  632 + .text_black_28 {
  633 + font-size: 14px;
  634 + font-family: PingFangSC-Light, PingFang SC;
  635 + font-weight: 300;
  636 + color: rgba(0,0,0,0.65);
  637 + text-align: center;
  638 + }
  639 +
  640 + }
  641 +
642 } 642 }
643 } 643 }
644 -</style> 644 +</style>
@@ -123,7 +123,7 @@ @@ -123,7 +123,7 @@
123 </view> 123 </view>
124 <view v-else class="bczl"> 124 <view v-else class="bczl">
125 <view class="no_data"> 125 <view class="no_data">
126 - <image class="img" src="/static/img/home/nodata.png"></image> 126 + <image class="img" :src="vuex_baseImgUrl && `${vuex_baseImgUrl}nodata.png`"></image>
127 <view style=" 127 <view style="
128 font-size: 16px; 128 font-size: 16px;
129 color: #333333; 129 color: #333333;
@@ -818,4 +818,4 @@ @@ -818,4 +818,4 @@
818 } 818 }
819 819
820 } 820 }
821 -</style> 821 +</style>
@@ -36,22 +36,22 @@ @@ -36,22 +36,22 @@
36 </view> 36 </view>
37 <view class="t2 t2top14"> 37 <view class="t2 t2top14">
38 变更类型: {{item.changeType=="internal_transfer"?'内部转岗':'其他企业岗位'}} 38 变更类型: {{item.changeType=="internal_transfer"?'内部转岗':'其他企业岗位'}}
39 - </view>  
40 - <view v-if="item.changeType=='internal_transfer'">  
41 - <view class="t2">  
42 - 转岗日期: {{timeFormat(item.quitTime, 'yyyy-mm-dd hh:MM')}}  
43 - </view>  
44 - </view>  
45 - <view v-else>  
46 - <view class="t2">  
47 - 离职日期: {{timeFormat(item.quitTime, 'yyyy-mm-dd hh:MM')}}  
48 - </view>  
49 - <view class="t2">  
50 - 入职日期: {{timeFormat(item.entryTime, 'yyyy-mm-dd hh:MM')}}  
51 - </view>  
52 - <view class="t2">  
53 - 岗位来源: {{getCategoryList(item.afterJobSource)}}  
54 - </view> 39 + </view>
  40 + <view v-if="item.changeType=='internal_transfer'">
  41 + <view class="t2">
  42 + 转岗日期: {{timeFormat(item.quitTime, 'yyyy-mm-dd hh:MM')}}
  43 + </view>
  44 + </view>
  45 + <view v-else>
  46 + <view class="t2">
  47 + 离职日期: {{timeFormat(item.quitTime, 'yyyy-mm-dd hh:MM')}}
  48 + </view>
  49 + <view class="t2">
  50 + 入职日期: {{timeFormat(item.entryTime, 'yyyy-mm-dd hh:MM')}}
  51 + </view>
  52 + <view class="t2">
  53 + 岗位来源: {{getCategoryList(item.afterJobSource)}}
  54 + </view>
55 </view> 55 </view>
56 <view v-if="item.status == 'wait'" class="status" style="color: #F49A23;"> 56 <view v-if="item.status == 'wait'" class="status" style="color: #F49A23;">
57 待处理 57 待处理
@@ -93,7 +93,7 @@ @@ -93,7 +93,7 @@
93 {{item.name}} 93 {{item.name}}
94 </view> 94 </view>
95 <image v-if="item.id == projectId" style="width: 20px; height: 20px;" 95 <image v-if="item.id == projectId" style="width: 20px; height: 20px;"
96 - src="/static/img/home/popselect.png" mode=""></image> 96 + :src="vuex_baseImgUrl && `${vuex_baseImgUrl}popselect.png`" mode=""></image>
97 </view> 97 </view>
98 </view> 98 </view>
99 </scroll-view> 99 </scroll-view>
@@ -264,15 +264,15 @@ @@ -264,15 +264,15 @@
264 }, 264 },
265 265
266 getCategoryList(e) { 266 getCategoryList(e) {
267 - if (e == 'hro_platform') {  
268 - return '平台岗位'  
269 - }else if (e == 'hr_platform') {  
270 - return '平台岗位'  
271 - }else if (e == 'school') {  
272 - return '学校创建'  
273 - }else if (e == 'student') {  
274 - return '自主添加'  
275 - } 267 + if (e == 'hro_platform') {
  268 + return '平台岗位'
  269 + }else if (e == 'hr_platform') {
  270 + return '平台岗位'
  271 + }else if (e == 'school') {
  272 + return '学校创建'
  273 + }else if (e == 'student') {
  274 + return '自主添加'
  275 + }
276 return '' 276 return ''
277 }, 277 },
278 278
@@ -498,7 +498,7 @@ @@ -498,7 +498,7 @@
498 color: rgba(38, 41, 47, 0.85); 498 color: rgba(38, 41, 47, 0.85);
499 } 499 }
500 500
501 - .t3 { 501 + .t3 {
502 margin-top: 2px; 502 margin-top: 2px;
503 font-size: 12px; 503 font-size: 12px;
504 font-family: PingFangSC-Light, PingFang SC; 504 font-family: PingFangSC-Light, PingFang SC;
@@ -662,4 +662,4 @@ @@ -662,4 +662,4 @@
662 662
663 } 663 }
664 } 664 }
665 -</style> 665 +</style>
@@ -14,45 +14,45 @@ @@ -14,45 +14,45 @@
14 <u-search placeholder="请输入学生姓名/学号/手机号" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx" 14 <u-search placeholder="请输入学生姓名/学号/手机号" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx"
15 bgColor="#F4F4F4" :showAction="false" shape="square" v-model="keyword" @search="handelSearch"> 15 bgColor="#F4F4F4" :showAction="false" shape="square" v-model="keyword" @search="handelSearch">
16 </u-search> 16 </u-search>
17 - </view> -->  
18 - <view style="width: 148px;">  
19 - <u-subsection :list="['待处理','全部']" :current="curNow" :fontSize="26" :activeColor="'#000'" @change="sectionChange"></u-subsection>  
20 - </view>  
21 - <view style="display: flex; justify-content: space-between; align-items: center;">  
22 - <u-icon slot="icon" size="40" :name="'/static/img/home/search.png'" @click="searchCli"></u-icon>  
23 - <view style="width: 16px;"></view>  
24 - <u-icon slot="icon" size="40" :name="'/static/img/home/selectIcon.png'" @click="show = true"></u-icon> 17 + </view> -->
  18 + <view style="width: 148px;">
  19 + <u-subsection :list="['待处理','全部']" :current="curNow" :fontSize="26" :activeColor="'#000'" @change="sectionChange"></u-subsection>
  20 + </view>
  21 + <view style="display: flex; justify-content: space-between; align-items: center;">
  22 + <u-icon slot="icon" size="40" :name="'/static/img/home/search.png'" @click="searchCli"></u-icon>
  23 + <view style="width: 16px;"></view>
  24 + <u-icon slot="icon" size="40" :name="'/static/img/home/selectIcon.png'" @click="show = true"></u-icon>
25 </view> 25 </view>
26 </view> 26 </view>
27 27
28 <view class="list_box" v-if="list.length > 0"> 28 <view class="list_box" v-if="list.length > 0">
29 <view class="item" v-for="(item, i) in list" :key="i" @click="handelDetail(item)"> 29 <view class="item" v-for="(item, i) in list" :key="i" @click="handelDetail(item)">
30 - <view class="t1">  
31 - {{item.studentName}}提交的实习申请  
32 - </view>  
33 - <view class="t3">  
34 - {{item.projectName}}  
35 - </view>  
36 - <view class="t2 t2top14">  
37 - 申请类型: {{getCategoryList(item.type)}}  
38 - </view>  
39 - <view class="t2">  
40 - 开始时间: {{timeFormat(item.formStartTime, 'yyyy-mm-dd')}}  
41 - </view>  
42 - <view class="t2">  
43 - 结束时间: {{timeFormat(item.formEndTime, 'yyyy-mm-dd')}}  
44 - </view>  
45 - <view v-if="item.status == 'wait'" class="status" style="color: #F49A23;">  
46 - 待处理  
47 - </view>  
48 - <view v-else-if="item.status == 'passed'" class="status" style="color: var(--primary-color);">  
49 - 已通过  
50 - </view>  
51 - <view v-else-if="item.status == 'rejected'" class="status" style="color: red;">  
52 - 已驳回  
53 - </view>  
54 - <view class="time">  
55 - {{timeFormat(item.createdTime, 'mm-dd')}} 30 + <view class="t1">
  31 + {{item.studentName}}提交的实习申请
  32 + </view>
  33 + <view class="t3">
  34 + {{item.projectName}}
  35 + </view>
  36 + <view class="t2 t2top14">
  37 + 申请类型: {{getCategoryList(item.type)}}
  38 + </view>
  39 + <view class="t2">
  40 + 开始时间: {{timeFormat(item.formStartTime, 'yyyy-mm-dd')}}
  41 + </view>
  42 + <view class="t2">
  43 + 结束时间: {{timeFormat(item.formEndTime, 'yyyy-mm-dd')}}
  44 + </view>
  45 + <view v-if="item.status == 'wait'" class="status" style="color: #F49A23;">
  46 + 待处理
  47 + </view>
  48 + <view v-else-if="item.status == 'passed'" class="status" style="color: var(--primary-color);">
  49 + 已通过
  50 + </view>
  51 + <view v-else-if="item.status == 'rejected'" class="status" style="color: red;">
  52 + 已驳回
  53 + </view>
  54 + <view class="time">
  55 + {{timeFormat(item.createdTime, 'mm-dd')}}
56 </view> 56 </view>
57 </view> 57 </view>
58 <c-loading :loading="loading"></c-loading> 58 <c-loading :loading="loading"></c-loading>
@@ -60,38 +60,38 @@ @@ -60,38 +60,38 @@
60 <view v-else class="no_data"> 60 <view v-else class="no_data">
61 <c-no-data></c-no-data> 61 <c-no-data></c-no-data>
62 </view> 62 </view>
63 -  
64 - <u-popup :show="show" mode="bottom" @close="close" :round="22">  
65 - <view class="popup">  
66 - <view style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px;">  
67 - <view class="title">  
68 - 项目筛选  
69 - </view>  
70 - <image class="close" src="/static/img/home/closepop.png" @click="close" mode=""></image>  
71 - </view>  
72 - <view class="search">  
73 - <u-search placeholder="请输入项目关键词搜索" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx"  
74 - bgColor="#F4F4F4" :showAction="true" :clearabled="false" shape="round" v-model="sxsearch" @custom="workSearch()" @search="workSearch()" @clear="workSearch()">  
75 - </u-search>  
76 - </view>  
77 - <scroll-view v-if="works.length>0" scroll-y="true" style="height: 80%; margin-top: 40rpx;"  
78 - @scrolltolower="lower()">  
79 - <view class="item_box" v-for="(item,index) in works" :key="index" @click="popupSelItem(item)">  
80 - <view style="display: flex; align-items: center; justify-content: space-between;">  
81 - <view class="item_title">  
82 - {{item.name}}  
83 - </view>  
84 - <image v-if="item.id == projectId" style="width: 20px; height: 20px;" src="/static/img/home/popselect.png" mode=""></image>  
85 - </view>  
86 - </view>  
87 - </scroll-view>  
88 - <view v-else class="no_data" @click="jumpVerified">  
89 - <view class="text_black_28">  
90 - 暂未搜索到该项目  
91 - </view>  
92 - </view>  
93 - </view>  
94 - </u-popup> 63 +
  64 + <u-popup :show="show" mode="bottom" @close="close" :round="22">
  65 + <view class="popup">
  66 + <view style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px;">
  67 + <view class="title">
  68 + 项目筛选
  69 + </view>
  70 + <image class="close" src="/static/img/home/closepop.png" @click="close" mode=""></image>
  71 + </view>
  72 + <view class="search">
  73 + <u-search placeholder="请输入项目关键词搜索" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx"
  74 + bgColor="#F4F4F4" :showAction="true" :clearabled="false" shape="round" v-model="sxsearch" @custom="workSearch()" @search="workSearch()" @clear="workSearch()">
  75 + </u-search>
  76 + </view>
  77 + <scroll-view v-if="works.length>0" scroll-y="true" style="height: 80%; margin-top: 40rpx;"
  78 + @scrolltolower="lower()">
  79 + <view class="item_box" v-for="(item,index) in works" :key="index" @click="popupSelItem(item)">
  80 + <view style="display: flex; align-items: center; justify-content: space-between;">
  81 + <view class="item_title">
  82 + {{item.name}}
  83 + </view>
  84 + <image v-if="item.id == projectId" style="width: 20px; height: 20px;" :src="vuex_baseImgUrl && `${vuex_baseImgUrl}popselect.png`" mode=""></image>
  85 + </view>
  86 + </view>
  87 + </scroll-view>
  88 + <view v-else class="no_data" @click="jumpVerified">
  89 + <view class="text_black_28">
  90 + 暂未搜索到该项目
  91 + </view>
  92 + </view>
  93 + </view>
  94 + </u-popup>
95 95
96 <!-- <u-popup :show="show" mode="right" @close="close" @open="open" :closeOnClickOverlay="false"> 96 <!-- <u-popup :show="show" mode="right" @close="close" @open="open" :closeOnClickOverlay="false">
97 <view class="popup_search"> 97 <view class="popup_search">
@@ -164,20 +164,20 @@ @@ -164,20 +164,20 @@
164 164
165 }, 165 },
166 projectId: '', 166 projectId: '',
167 - switchValue: false,  
168 - categoryList: [{  
169 - label: '开始实习申请',  
170 - value: 'start'  
171 - },  
172 - {  
173 - label: '结束实习申请',  
174 - value: "end",  
175 - }  
176 - ],  
177 - curNow: 1,  
178 - sxsearch: '',  
179 - works: [],  
180 - workspage: 1, 167 + switchValue: false,
  168 + categoryList: [{
  169 + label: '开始实习申请',
  170 + value: 'start'
  171 + },
  172 + {
  173 + label: '结束实习申请',
  174 + value: "end",
  175 + }
  176 + ],
  177 + curNow: 1,
  178 + sxsearch: '',
  179 + works: [],
  180 + workspage: 1,
181 workstotal: 0, 181 workstotal: 0,
182 } 182 }
183 }, 183 },
@@ -186,14 +186,14 @@ @@ -186,14 +186,14 @@
186 console.log(option) 186 console.log(option)
187 // this.$store.dispatch(`home/getProjectList`, { 187 // this.$store.dispatch(`home/getProjectList`, {
188 // pageSize: -1, 188 // pageSize: -1,
189 - // })  
190 - 189 + // })
  190 +
191 this.worksloadData() 191 this.worksloadData()
192 192
193 // this.search.keySearch = ''; 193 // this.search.keySearch = '';
194 194
195 if (option && option.status) { 195 if (option && option.status) {
196 - // this.search.status = 'wait'; 196 + // this.search.status = 'wait';
197 this.curNow = 0; 197 this.curNow = 0;
198 // this.checkboxValue = ['待处理']; 198 // this.checkboxValue = ['待处理'];
199 // this.switchValue = true; 199 // this.switchValue = true;
@@ -201,10 +201,10 @@ @@ -201,10 +201,10 @@
201 201
202 }, 202 },
203 203
204 - onShow() {  
205 - this.finished = false;  
206 - this.loading = "loadmore";  
207 - this.page = 0; 204 + onShow() {
  205 + this.finished = false;
  206 + this.loading = "loadmore";
  207 + this.page = 0;
208 this.list = []; 208 this.list = [];
209 this._getList(); 209 this._getList();
210 }, 210 },
@@ -218,32 +218,32 @@ @@ -218,32 +218,32 @@
218 218
219 }, 219 },
220 220
221 - methods: {  
222 -  
223 - searchCli() {  
224 - this.$u.route('/pages/main/home/search/search?type=ask&searchkey=' + this.keyword);  
225 - },  
226 -  
227 - sectionChange(index) {  
228 - this.curNow = index;  
229 -  
230 - this.finished = false;  
231 - this.loading = "loadmore";  
232 - this.page = 0;  
233 - this.list = [];  
234 - this._getList();  
235 - },  
236 -  
237 - getCategoryList(e) {  
238 - for (var i = 0; i < this.categoryList.length; i++) {  
239 - let item = this.categoryList[i]  
240 - if (e == item.value) {  
241 - return item.label  
242 - }  
243 - } 221 + methods: {
  222 +
  223 + searchCli() {
  224 + this.$u.route('/pages/main/home/search/search?type=ask&searchkey=' + this.keyword);
  225 + },
  226 +
  227 + sectionChange(index) {
  228 + this.curNow = index;
  229 +
  230 + this.finished = false;
  231 + this.loading = "loadmore";
  232 + this.page = 0;
  233 + this.list = [];
  234 + this._getList();
  235 + },
  236 +
  237 + getCategoryList(e) {
  238 + for (var i = 0; i < this.categoryList.length; i++) {
  239 + let item = this.categoryList[i]
  240 + if (e == item.value) {
  241 + return item.label
  242 + }
  243 + }
244 }, 244 },
245 245
246 - handelDetail(record) { 246 + handelDetail(record) {
247 this.$u.route('/pages/main/home/interapplydetail/interapplydetail?id='+record.id); 247 this.$u.route('/pages/main/home/interapplydetail/interapplydetail?id='+record.id);
248 }, 248 },
249 249
@@ -368,53 +368,53 @@ @@ -368,53 +368,53 @@
368 this._getList(); 368 this._getList();
369 369
370 this.show = false; 370 this.show = false;
371 - },  
372 -  
373 - workSearch() {  
374 - uni.hideKeyboard();  
375 - this.works = []  
376 - this.worksloadData()  
377 - },  
378 -  
379 - lower() {  
380 - setTimeout(() => {  
381 - this.worksloadData(true);  
382 - }, 200)  
383 - },  
384 -  
385 - worksloadData(e) {  
386 - let params = {}  
387 - // this.loading = 'loading'  
388 -  
389 - if (e) {  
390 - if (this.total <= this.works.length) {  
391 - // this.loading = 'nomore'  
392 - return  
393 - }  
394 - this.workspage++  
395 - } else {  
396 - this.workspage = 1  
397 - }  
398 - params['pageNumber'] = this.workspage  
399 - if (this.sxsearch) {  
400 - params['keyWord'] = this.sxsearch  
401 - }  
402 - getProjectListApi(params).then(async res => {  
403 - if (res) {  
404 - this.total = res.total  
405 - // this.loading = 'loadmore'  
406 - this.works = this.works.concat(res.records)  
407 - }  
408 - })  
409 - },  
410 - popupSelItem(item) {  
411 - this.show = false  
412 - this.projectId = item.id;  
413 - this.finished = false;  
414 - this.loading = "loadmore";  
415 - this.page = 0;  
416 - this.list = [];  
417 - this._getList(); 371 + },
  372 +
  373 + workSearch() {
  374 + uni.hideKeyboard();
  375 + this.works = []
  376 + this.worksloadData()
  377 + },
  378 +
  379 + lower() {
  380 + setTimeout(() => {
  381 + this.worksloadData(true);
  382 + }, 200)
  383 + },
  384 +
  385 + worksloadData(e) {
  386 + let params = {}
  387 + // this.loading = 'loading'
  388 +
  389 + if (e) {
  390 + if (this.total <= this.works.length) {
  391 + // this.loading = 'nomore'
  392 + return
  393 + }
  394 + this.workspage++
  395 + } else {
  396 + this.workspage = 1
  397 + }
  398 + params['pageNumber'] = this.workspage
  399 + if (this.sxsearch) {
  400 + params['keyWord'] = this.sxsearch
  401 + }
  402 + getProjectListApi(params).then(async res => {
  403 + if (res) {
  404 + this.total = res.total
  405 + // this.loading = 'loadmore'
  406 + this.works = this.works.concat(res.records)
  407 + }
  408 + })
  409 + },
  410 + popupSelItem(item) {
  411 + this.show = false
  412 + this.projectId = item.id;
  413 + this.finished = false;
  414 + this.loading = "loadmore";
  415 + this.page = 0;
  416 + this.list = [];
  417 + this._getList();
418 }, 418 },
419 419
420 } 420 }
@@ -453,51 +453,51 @@ @@ -453,51 +453,51 @@
453 padding: 20px 17px; 453 padding: 20px 17px;
454 border-radius: 8rpx; 454 border-radius: 8rpx;
455 background-color: #FFFFFF; 455 background-color: #FFFFFF;
456 -  
457 - .t1 {  
458 - font-size: 14px;  
459 - font-family: PingFangSC-Medium, PingFang SC;  
460 - font-weight: 500;  
461 - color: #000000;  
462 - }  
463 -  
464 - .t2 {  
465 - margin-top: 6px;  
466 - font-size: 12px;  
467 - font-family: PingFangSC-Light, PingFang SC;  
468 - font-weight: 300;  
469 - color: rgba(38,41,47,0.85);  
470 - }  
471 -  
472 - .t3 {  
473 - margin-top: 2px;  
474 - font-size: 12px;  
475 - font-family: PingFangSC-Light, PingFang SC;  
476 - font-weight: 300;  
477 - color: #000000;  
478 - }  
479 -  
480 - .t2top14 {  
481 - margin-top: 14px;  
482 - }  
483 -  
484 - .time {  
485 - position: absolute;  
486 - top: 17px;  
487 - right: 17px;  
488 - font-size: 12px;  
489 - font-family: PingFangSC-Light, PingFang SC;  
490 - font-weight: 300;  
491 - color: rgba(0,0,0,0.85);  
492 - }  
493 -  
494 - .status {  
495 - position: absolute;  
496 - bottom: 20px;  
497 - right: 17px;  
498 - font-size: 12px;  
499 - font-family: PingFangSC-Regular, PingFang SC;  
500 - font-weight: 400; 456 +
  457 + .t1 {
  458 + font-size: 14px;
  459 + font-family: PingFangSC-Medium, PingFang SC;
  460 + font-weight: 500;
  461 + color: #000000;
  462 + }
  463 +
  464 + .t2 {
  465 + margin-top: 6px;
  466 + font-size: 12px;
  467 + font-family: PingFangSC-Light, PingFang SC;
  468 + font-weight: 300;
  469 + color: rgba(38,41,47,0.85);
  470 + }
  471 +
  472 + .t3 {
  473 + margin-top: 2px;
  474 + font-size: 12px;
  475 + font-family: PingFangSC-Light, PingFang SC;
  476 + font-weight: 300;
  477 + color: #000000;
  478 + }
  479 +
  480 + .t2top14 {
  481 + margin-top: 14px;
  482 + }
  483 +
  484 + .time {
  485 + position: absolute;
  486 + top: 17px;
  487 + right: 17px;
  488 + font-size: 12px;
  489 + font-family: PingFangSC-Light, PingFang SC;
  490 + font-weight: 300;
  491 + color: rgba(0,0,0,0.85);
  492 + }
  493 +
  494 + .status {
  495 + position: absolute;
  496 + bottom: 20px;
  497 + right: 17px;
  498 + font-size: 12px;
  499 + font-family: PingFangSC-Regular, PingFang SC;
  500 + font-weight: 400;
501 } 501 }
502 } 502 }
503 } 503 }
@@ -521,25 +521,25 @@ @@ -521,25 +521,25 @@
521 521
522 .item { 522 .item {
523 523
524 - view {  
525 - display: flex;  
526 - flex-flow: row wrap;  
527 - align-items: center;  
528 - width: 500rpx;  
529 - height: 74rpx;  
530 - border-radius: 4rpx;  
531 - border: 2rpx solid #C1C1C9;  
532 - margin: 0 10rpx 20rpx;  
533 - font-size: 24rpx;  
534 - line-height: 32rpx;  
535 - color: #C0C0C9;  
536 - padding: 16rpx 20rpx;  
537 - }  
538 -  
539 - .selectItem {  
540 - background-color: var(--primary-color);  
541 - color: #FFFFFF;  
542 - border: 2rpx solid var(--primary-color); 524 + view {
  525 + display: flex;
  526 + flex-flow: row wrap;
  527 + align-items: center;
  528 + width: 500rpx;
  529 + height: 74rpx;
  530 + border-radius: 4rpx;
  531 + border: 2rpx solid #C1C1C9;
  532 + margin: 0 10rpx 20rpx;
  533 + font-size: 24rpx;
  534 + line-height: 32rpx;
  535 + color: #C0C0C9;
  536 + padding: 16rpx 20rpx;
  537 + }
  538 +
  539 + .selectItem {
  540 + background-color: var(--primary-color);
  541 + color: #FFFFFF;
  542 + border: 2rpx solid var(--primary-color);
543 } 543 }
544 } 544 }
545 } 545 }
@@ -584,53 +584,53 @@ @@ -584,53 +584,53 @@
584 width: 346rpx; 584 width: 346rpx;
585 } 585 }
586 } 586 }
587 - }  
588 -  
589 - .popup {  
590 - height: 500px;  
591 - padding: 19px 16px;  
592 -  
593 - .title {  
594 - font-size: 18px;  
595 - font-family: PingFangSC-Medium, PingFang SC;  
596 - font-weight: 500;  
597 - color: #000000;  
598 - }  
599 -  
600 - .close {  
601 - width: 22px;  
602 - height: 22px;  
603 - }  
604 -  
605 - .item_box {  
606 - border-radius: 4px;  
607 - margin: 0 0 48rpx;  
608 -  
609 - .item_title {  
610 - height: 20px;  
611 - font-size: 14px;  
612 - font-family: PingFangSC-Regular, PingFang SC;  
613 - font-weight: 400;  
614 - color: rgba(0, 0, 0, 0.65);  
615 - line-height: 20px;  
616 - }  
617 -  
618 - }  
619 -  
620 - .no_data {  
621 - width: 100%;  
622 - margin-top: 310rpx;  
623 -  
624 - .text_black_28 {  
625 - font-size: 14px;  
626 - font-family: PingFangSC-Light, PingFang SC;  
627 - font-weight: 300;  
628 - color: rgba(0,0,0,0.65);  
629 - text-align: center;  
630 - }  
631 -  
632 - }  
633 - 587 + }
  588 +
  589 + .popup {
  590 + height: 500px;
  591 + padding: 19px 16px;
  592 +
  593 + .title {
  594 + font-size: 18px;
  595 + font-family: PingFangSC-Medium, PingFang SC;
  596 + font-weight: 500;
  597 + color: #000000;
  598 + }
  599 +
  600 + .close {
  601 + width: 22px;
  602 + height: 22px;
  603 + }
  604 +
  605 + .item_box {
  606 + border-radius: 4px;
  607 + margin: 0 0 48rpx;
  608 +
  609 + .item_title {
  610 + height: 20px;
  611 + font-size: 14px;
  612 + font-family: PingFangSC-Regular, PingFang SC;
  613 + font-weight: 400;
  614 + color: rgba(0, 0, 0, 0.65);
  615 + line-height: 20px;
  616 + }
  617 +
  618 + }
  619 +
  620 + .no_data {
  621 + width: 100%;
  622 + margin-top: 310rpx;
  623 +
  624 + .text_black_28 {
  625 + font-size: 14px;
  626 + font-family: PingFangSC-Light, PingFang SC;
  627 + font-weight: 300;
  628 + color: rgba(0,0,0,0.65);
  629 + text-align: center;
  630 + }
  631 +
  632 + }
  633 +
634 } 634 }
635 } 635 }
636 -</style> 636 +</style>
@@ -275,10 +275,10 @@ @@ -275,10 +275,10 @@
275 } 275 }
276 </script> 276 </script>
277 277
278 -<style>  
279 - page {  
280 - background-color: #F7F7F7;  
281 - } 278 +<style>
  279 + page {
  280 + background-color: #F7F7F7;
  281 + }
282 </style> 282 </style>
283 283
284 <style lang="scss" scoped> 284 <style lang="scss" scoped>
@@ -89,7 +89,7 @@ @@ -89,7 +89,7 @@
89 getLogDetailApi, 89 getLogDetailApi,
90 putLogReviewApi, 90 putLogReviewApi,
91 getLogReplyListApi, 91 getLogReplyListApi,
92 - postLogReplyApi, 92 + postLogReplyApi,
93 getImgUrlApi, 93 getImgUrlApi,
94 } from '@/config/api.js'; 94 } from '@/config/api.js';
95 export default { 95 export default {
@@ -241,22 +241,22 @@ @@ -241,22 +241,22 @@
241 console.log("data...", data) 241 console.log("data...", data)
242 if (e.mime_type.indexOf("image") != -1) { 242 if (e.mime_type.indexOf("image") != -1) {
243 _this.openImage(data.url) 243 _this.openImage(data.url)
244 - } else {  
245 - uni.downloadFile({  
246 - url: data.url,  
247 - success: function(res) {  
248 - var filePath = res.tempFilePath;  
249 - uni.openDocument({  
250 - filePath: filePath,  
251 - showMenu: true,  
252 - success: function(res) {  
253 - console.log('打开文档成功');  
254 - },  
255 - complete: function() {  
256 - uni.hideLoading();  
257 - }  
258 - });  
259 - } 244 + } else {
  245 + uni.downloadFile({
  246 + url: data.url,
  247 + success: function(res) {
  248 + var filePath = res.tempFilePath;
  249 + uni.openDocument({
  250 + filePath: filePath,
  251 + showMenu: true,
  252 + success: function(res) {
  253 + console.log('打开文档成功');
  254 + },
  255 + complete: function() {
  256 + uni.hideLoading();
  257 + }
  258 + });
  259 + }
260 }); 260 });
261 } 261 }
262 }) 262 })
@@ -465,7 +465,7 @@ @@ -465,7 +465,7 @@
465 .footer { 465 .footer {
466 // width: 100%; 466 // width: 100%;
467 height: 10%; 467 height: 10%;
468 - background: #fff; 468 + background: #fff;
469 padding: 20rpx; 469 padding: 20rpx;
470 // position: fixed; 470 // position: fixed;
471 // bottom: 0; 471 // bottom: 0;
@@ -480,4 +480,4 @@ @@ -480,4 +480,4 @@
480 padding: 0 20rpx; 480 padding: 0 20rpx;
481 } 481 }
482 } 482 }
483 -</style> 483 +</style>
1 <template> 1 <template>
2 <view class="registration_review" :style="vuex_theme"> 2 <view class="registration_review" :style="vuex_theme">
3 - <view class="search_box">  
4 - <!-- <view class="check">  
5 - <u-checkbox-group v-model="checkboxValue" placement="column" @change="checkboxChange">  
6 - <u-checkbox :customStyle="{marginBottom: '8px'}" shape="circle"  
7 - v-for="(item, index) in checkboxList" :key="index" :label="item.name" :name="item.name"  
8 - activeColor="var(--primary-color)" size="28rpx" labelSize="28rpx" labelColor="#202131">  
9 - </u-checkbox>  
10 - </u-checkbox-group>  
11 - </view> -->  
12 -  
13 - <!-- <view class="search">  
14 - <u-search placeholder="请输入学生姓名/学号/手机号" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx"  
15 - bgColor="#F4F4F4" :showAction="false" shape="square" v-model="keyword" @search="handelSearch">  
16 - </u-search>  
17 - </view> -->  
18 - <view style="width: 148px;">  
19 - <u-subsection :list="['未阅','全部']" :current="curNow" :fontSize="26" :activeColor="'#000'" @change="sectionChange"></u-subsection>  
20 - </view>  
21 - <view style="display: flex; justify-content: space-between; align-items: center;">  
22 - <u-icon slot="icon" size="40" :name="'/static/img/home/search.png'" @click="searchCli"></u-icon>  
23 - <view style="width: 16px;"></view>  
24 - <u-icon slot="icon" size="40" :name="'/static/img/home/selectIcon.png'" @click="show = true"></u-icon>  
25 - </view> 3 + <view class="search_box">
  4 + <!-- <view class="check">
  5 + <u-checkbox-group v-model="checkboxValue" placement="column" @change="checkboxChange">
  6 + <u-checkbox :customStyle="{marginBottom: '8px'}" shape="circle"
  7 + v-for="(item, index) in checkboxList" :key="index" :label="item.name" :name="item.name"
  8 + activeColor="var(--primary-color)" size="28rpx" labelSize="28rpx" labelColor="#202131">
  9 + </u-checkbox>
  10 + </u-checkbox-group>
  11 + </view> -->
  12 +
  13 + <!-- <view class="search">
  14 + <u-search placeholder="请输入学生姓名/学号/手机号" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx"
  15 + bgColor="#F4F4F4" :showAction="false" shape="square" v-model="keyword" @search="handelSearch">
  16 + </u-search>
  17 + </view> -->
  18 + <view style="width: 148px;">
  19 + <u-subsection :list="['未阅','全部']" :current="curNow" :fontSize="26" :activeColor="'#000'" @change="sectionChange"></u-subsection>
  20 + </view>
  21 + <view style="display: flex; justify-content: space-between; align-items: center;">
  22 + <u-icon slot="icon" size="40" :name="'/static/img/home/search.png'" @click="searchCli"></u-icon>
  23 + <view style="width: 16px;"></view>
  24 + <u-icon slot="icon" size="40" :name="'/static/img/home/selectIcon.png'" @click="show = true"></u-icon>
  25 + </view>
26 </view> 26 </view>
27 27
28 <u-sticky bgColor="#fff"> 28 <u-sticky bgColor="#fff">
@@ -36,7 +36,7 @@ @@ -36,7 +36,7 @@
36 <view class="item" v-for="(item, i) in list" :key="i" @click="handelDetail(item)"> 36 <view class="item" v-for="(item, i) in list" :key="i" @click="handelDetail(item)">
37 37
38 <view class="bg_image" v-if="item.status == 'unread'"> 38 <view class="bg_image" v-if="item.status == 'unread'">
39 - <u-image src="/static/img/home/labelBgGreen.png" width="142rpx" height="48rpx"></u-image> 39 + <u-image :src="vuex_baseImgUrl && `${vuex_baseImgUrl}labelBgGreen.png`" width="142rpx" height="48rpx"></u-image>
40 <text>未阅</text> 40 <text>未阅</text>
41 </view> 41 </view>
42 42
@@ -51,8 +51,8 @@ @@ -51,8 +51,8 @@
51 <view class="name">{{overflowHide(item.title, 10)}}</view> 51 <view class="name">{{overflowHide(item.title, 10)}}</view>
52 <view class="week"> 52 <view class="week">
53 <!-- <text>{{timeFormat(item.logTime, 'yyyy年')}}</text> --> 53 <!-- <text>{{timeFormat(item.logTime, 'yyyy年')}}</text> -->
54 - <!-- <text>{{getWeek(item.logTime)}}</text> -->  
55 - <text>{{getCreatedTime(item)}}</text> 54 + <!-- <text>{{getWeek(item.logTime)}}</text> -->
  55 + <text>{{getCreatedTime(item)}}</text>
56 56
57 </view> 57 </view>
58 </view> 58 </view>
@@ -74,38 +74,38 @@ @@ -74,38 +74,38 @@
74 <view v-else class="no_data"> 74 <view v-else class="no_data">
75 <c-no-data></c-no-data> 75 <c-no-data></c-no-data>
76 </view> 76 </view>
77 -  
78 - <u-popup :show="show" mode="bottom" @close="close" :round="22">  
79 - <view class="popup">  
80 - <view style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px;">  
81 - <view class="title">  
82 - 项目筛选  
83 - </view>  
84 - <image class="close" src="/static/img/home/closepop.png" @click="close" mode=""></image>  
85 - </view>  
86 - <view class="search">  
87 - <u-search placeholder="请输入项目关键词搜索" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx"  
88 - bgColor="#F4F4F4" :showAction="true" shape="round" v-model="sxsearch" @custom="workSearch()" @search="workSearch()">  
89 - </u-search>  
90 - </view>  
91 - <scroll-view v-if="works.length>0" scroll-y="true" style="height: 80%; margin-top: 40rpx;"  
92 - @scrolltolower="lower()">  
93 - <view class="item_box" v-for="(item,index) in works" :key="index" @click="popupSelItem(item)">  
94 - <view style="display: flex; align-items: center; justify-content: space-between;">  
95 - <view class="item_title">  
96 - {{item.name}}  
97 - </view>  
98 - <image v-if="item.id == projectId" style="width: 20px; height: 20px;" src="/static/img/home/popselect.png" mode=""></image>  
99 - </view>  
100 - </view>  
101 - </scroll-view>  
102 - <view v-else class="no_data" @click="jumpVerified">  
103 - <view class="text_black_28">  
104 - 暂未搜索到该项目  
105 - </view>  
106 - </view>  
107 - </view>  
108 - </u-popup> 77 +
  78 + <u-popup :show="show" mode="bottom" @close="close" :round="22">
  79 + <view class="popup">
  80 + <view style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px;">
  81 + <view class="title">
  82 + 项目筛选
  83 + </view>
  84 + <image class="close" src="/static/img/home/closepop.png" @click="close" mode=""></image>
  85 + </view>
  86 + <view class="search">
  87 + <u-search placeholder="请输入项目关键词搜索" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx"
  88 + bgColor="#F4F4F4" :showAction="true" shape="round" v-model="sxsearch" @custom="workSearch()" @search="workSearch()">
  89 + </u-search>
  90 + </view>
  91 + <scroll-view v-if="works.length>0" scroll-y="true" style="height: 80%; margin-top: 40rpx;"
  92 + @scrolltolower="lower()">
  93 + <view class="item_box" v-for="(item,index) in works" :key="index" @click="popupSelItem(item)">
  94 + <view style="display: flex; align-items: center; justify-content: space-between;">
  95 + <view class="item_title">
  96 + {{item.name}}
  97 + </view>
  98 + <image v-if="item.id == projectId" style="width: 20px; height: 20px;" :src="vuex_baseImgUrl && `${vuex_baseImgUrl}popselect.png`" mode=""></image>
  99 + </view>
  100 + </view>
  101 + </scroll-view>
  102 + <view v-else class="no_data" @click="jumpVerified">
  103 + <view class="text_black_28">
  104 + 暂未搜索到该项目
  105 + </view>
  106 + </view>
  107 + </view>
  108 + </u-popup>
109 109
110 <!-- <u-popup :show="show" mode="right" @close="close" @open="open" :closeOnClickOverlay="false"> 110 <!-- <u-popup :show="show" mode="right" @close="close" @open="open" :closeOnClickOverlay="false">
111 <view class="popup_search"> 111 <view class="popup_search">
@@ -159,7 +159,7 @@ @@ -159,7 +159,7 @@
159 export default { 159 export default {
160 mixins: [listMixin], 160 mixins: [listMixin],
161 data() { 161 data() {
162 - return { 162 + return {
163 studentId: '', 163 studentId: '',
164 checkboxValue: [], 164 checkboxValue: [],
165 checkboxList: [{ 165 checkboxList: [{
@@ -189,27 +189,27 @@ @@ -189,27 +189,27 @@
189 projectId: '', 189 projectId: '',
190 showTime: false, 190 showTime: false,
191 timeValue: '', 191 timeValue: '',
192 - switchValue: false, 192 + switchValue: false,
193 193
194 - curNow: 1,  
195 - sxsearch: '',  
196 - works: [],  
197 - workspage: 1, 194 + curNow: 1,
  195 + sxsearch: '',
  196 + works: [],
  197 + workspage: 1,
198 workstotal: 0, 198 workstotal: 0,
199 } 199 }
200 }, 200 },
201 201
202 onLoad(option) { 202 onLoad(option) {
203 - console.log(option)  
204 - this.studentId = option.studentId; 203 + console.log(option)
  204 + this.studentId = option.studentId;
205 this.projectId = option.projectId; 205 this.projectId = option.projectId;
206 206
207 // this.$store.dispatch(`home/getProjectList`, { 207 // this.$store.dispatch(`home/getProjectList`, {
208 // pageSize: -1, 208 // pageSize: -1,
209 // }) 209 // })
210 210
211 - // this.search.keySearch = '';  
212 - 211 + // this.search.keySearch = '';
  212 +
213 this.worksloadData() 213 this.worksloadData()
214 214
215 if (option && option.category) { 215 if (option && option.category) {
@@ -219,19 +219,19 @@ @@ -219,19 +219,19 @@
219 option.category == 'weekly' ? 1 : 219 option.category == 'weekly' ? 1 :
220 option.category == 'monthly' ? 2 : 220 option.category == 'monthly' ? 2 :
221 ''; 221 '';
222 - }  
223 -  
224 - // if (option && option.status) {  
225 - // this.search.status = 'unread';  
226 - // this.checkboxValue = ['未阅'];  
227 - // this.switchValue = true;  
228 - // }  
229 -  
230 - if (option && option.status) {  
231 - // this.search.status = 'wait';  
232 - this.curNow = 0;  
233 - // this.checkboxValue = ['待处理'];  
234 - // this.switchValue = true; 222 + }
  223 +
  224 + // if (option && option.status) {
  225 + // this.search.status = 'unread';
  226 + // this.checkboxValue = ['未阅'];
  227 + // this.switchValue = true;
  228 + // }
  229 +
  230 + if (option && option.status) {
  231 + // this.search.status = 'wait';
  232 + this.curNow = 0;
  233 + // this.checkboxValue = ['待处理'];
  234 + // this.switchValue = true;
235 } 235 }
236 236
237 this.finished = false; 237 this.finished = false;
@@ -241,10 +241,10 @@ @@ -241,10 +241,10 @@
241 }, 241 },
242 242
243 onShow() { 243 onShow() {
244 - this.finished = false;  
245 - this.loading = "loadmore";  
246 - this.page = 0;  
247 - this.list = []; 244 + this.finished = false;
  245 + this.loading = "loadmore";
  246 + this.page = 0;
  247 + this.list = [];
248 this._getList(); 248 this._getList();
249 }, 249 },
250 250
@@ -255,30 +255,30 @@ @@ -255,30 +255,30 @@
255 }), 255 }),
256 }, 256 },
257 257
258 - methods: {  
259 -  
260 - searchCli() {  
261 - this.$u.route('/pages/main/home/search/search?type=log&searchkey=' + this.keyword);  
262 - },  
263 -  
264 - sectionChange(index) {  
265 - this.curNow = index;  
266 -  
267 - this.finished = false;  
268 - this.loading = "loadmore";  
269 - this.page = 0;  
270 - this.list = [];  
271 - this._getList();  
272 - },  
273 -  
274 - getCreatedTime(e) {  
275 - let time = this.$u.timeFormat(e.logTime / 1000, 'yyyy/mm/dd');  
276 - if (e.category == "weekly") {  
277 - time = new Date(e.logTime).getFullYear() + "年第" + (this.getWeek(e.logTime) + 1) + "周";  
278 - } else if (e.category == "monthly") {  
279 - time = this.$u.timeFormat(e.logTime / 1000, 'yyyy年mm月');  
280 - }  
281 - return time 258 + methods: {
  259 +
  260 + searchCli() {
  261 + this.$u.route('/pages/main/home/search/search?type=log&searchkey=' + this.keyword);
  262 + },
  263 +
  264 + sectionChange(index) {
  265 + this.curNow = index;
  266 +
  267 + this.finished = false;
  268 + this.loading = "loadmore";
  269 + this.page = 0;
  270 + this.list = [];
  271 + this._getList();
  272 + },
  273 +
  274 + getCreatedTime(e) {
  275 + let time = this.$u.timeFormat(e.logTime / 1000, 'yyyy/mm/dd');
  276 + if (e.category == "weekly") {
  277 + time = new Date(e.logTime).getFullYear() + "年第" + (this.getWeek(e.logTime) + 1) + "周";
  278 + } else if (e.category == "monthly") {
  279 + time = this.$u.timeFormat(e.logTime / 1000, 'yyyy年mm月');
  280 + }
  281 + return time
282 }, 282 },
283 283
284 getWeek(dt) { 284 getWeek(dt) {
@@ -385,10 +385,10 @@ @@ -385,10 +385,10 @@
385 385
386 // if (search.status) { 386 // if (search.status) {
387 // params.status = search.status; 387 // params.status = search.status;
388 - // }  
389 -  
390 - if (this.curNow == 0) {  
391 - params.status = 'unread'; 388 + // }
  389 +
  390 + if (this.curNow == 0) {
  391 + params.status = 'unread';
392 } 392 }
393 393
394 if (search.category) { 394 if (search.category) {
@@ -397,10 +397,10 @@ @@ -397,10 +397,10 @@
397 397
398 if (this.keyword) { 398 if (this.keyword) {
399 params.keySearch = this.keyword 399 params.keySearch = this.keyword
400 - }  
401 -  
402 - if (this.studentId) {  
403 - params.studentId = this.studentId 400 + }
  401 +
  402 + if (this.studentId) {
  403 + params.studentId = this.studentId
404 } 404 }
405 405
406 if (this.projectId) { 406 if (this.projectId) {
@@ -430,14 +430,14 @@ @@ -430,14 +430,14 @@
430 this.shownoData = true 430 this.shownoData = true
431 } 431 }
432 432
433 - this.list = this.list.concat(result.records)  
434 -  
435 - // 判断是否全部加载完成  
436 - if (this.total == this.list.length) {  
437 - this.finished = true;  
438 - this.loading = 'nomore';  
439 - } else {  
440 - this.loading = 'loadmore'; 433 + this.list = this.list.concat(result.records)
  434 +
  435 + // 判断是否全部加载完成
  436 + if (this.total == this.list.length) {
  437 + this.finished = true;
  438 + this.loading = 'nomore';
  439 + } else {
  440 + this.loading = 'loadmore';
441 } 441 }
442 }, 442 },
443 443
@@ -465,52 +465,52 @@ @@ -465,52 +465,52 @@
465 465
466 this.show = false; 466 this.show = false;
467 }, 467 },
468 -  
469 - workSearch() {  
470 - uni.hideKeyboard();  
471 - this.works = []  
472 - this.worksloadData()  
473 - },  
474 -  
475 - lower() {  
476 - setTimeout(() => {  
477 - this.worksloadData(true);  
478 - }, 200)  
479 - },  
480 -  
481 - worksloadData(e) {  
482 - let params = {}  
483 - // this.loading = 'loading'  
484 -  
485 - if (e) {  
486 - if (this.total <= this.works.length) {  
487 - // this.loading = 'nomore'  
488 - return  
489 - }  
490 - this.workspage++  
491 - } else {  
492 - this.workspage = 1  
493 - }  
494 - params['pageNumber'] = this.workspage  
495 - if (this.sxsearch) {  
496 - params['keyWord'] = this.sxsearch  
497 - }  
498 - getProjectListApi(params).then(async res => {  
499 - if (res) {  
500 - this.total = res.total  
501 - // this.loading = 'loadmore'  
502 - this.works = this.works.concat(res.records)  
503 - }  
504 - })  
505 - },  
506 - popupSelItem(item) {  
507 - this.show = false  
508 - this.projectId = item.id;  
509 - this.finished = false;  
510 - this.loading = "loadmore";  
511 - this.page = 0;  
512 - this.list = [];  
513 - this._getList(); 468 +
  469 + workSearch() {
  470 + uni.hideKeyboard();
  471 + this.works = []
  472 + this.worksloadData()
  473 + },
  474 +
  475 + lower() {
  476 + setTimeout(() => {
  477 + this.worksloadData(true);
  478 + }, 200)
  479 + },
  480 +
  481 + worksloadData(e) {
  482 + let params = {}
  483 + // this.loading = 'loading'
  484 +
  485 + if (e) {
  486 + if (this.total <= this.works.length) {
  487 + // this.loading = 'nomore'
  488 + return
  489 + }
  490 + this.workspage++
  491 + } else {
  492 + this.workspage = 1
  493 + }
  494 + params['pageNumber'] = this.workspage
  495 + if (this.sxsearch) {
  496 + params['keyWord'] = this.sxsearch
  497 + }
  498 + getProjectListApi(params).then(async res => {
  499 + if (res) {
  500 + this.total = res.total
  501 + // this.loading = 'loadmore'
  502 + this.works = this.works.concat(res.records)
  503 + }
  504 + })
  505 + },
  506 + popupSelItem(item) {
  507 + this.show = false
  508 + this.projectId = item.id;
  509 + this.finished = false;
  510 + this.loading = "loadmore";
  511 + this.page = 0;
  512 + this.list = [];
  513 + this._getList();
514 }, 514 },
515 } 515 }
516 } 516 }
@@ -609,8 +609,8 @@ @@ -609,8 +609,8 @@
609 font-size: 24rpx; 609 font-size: 24rpx;
610 line-height: 32rpx; 610 line-height: 32rpx;
611 color: #909097; 611 color: #909097;
612 - margin: 32rpx 0 30rpx 0;  
613 - max-height: 100rpx; 612 + margin: 32rpx 0 30rpx 0;
  613 + max-height: 100rpx;
614 overflow: hidden; 614 overflow: hidden;
615 } 615 }
616 616
@@ -658,32 +658,32 @@ @@ -658,32 +658,32 @@
658 color: #202131; 658 color: #202131;
659 } 659 }
660 660
661 - .scroll {  
662 - max-height: 60vh;  
663 -  
664 - .item {  
665 -  
666 - view {  
667 - display: flex;  
668 - flex-flow: row wrap;  
669 - align-items: center;  
670 - width: 500rpx;  
671 - height: 74rpx;  
672 - border-radius: 4rpx;  
673 - border: 2rpx solid #C1C1C9;  
674 - margin: 0 10rpx 20rpx;  
675 - font-size: 24rpx;  
676 - line-height: 32rpx;  
677 - color: #C0C0C9;  
678 - padding: 16rpx 20rpx;  
679 - }  
680 -  
681 - .selectItem {  
682 - background-color: var(--primary-color);  
683 - color: #FFFFFF;  
684 - border: 2rpx solid var(--primary-color);  
685 - }  
686 - } 661 + .scroll {
  662 + max-height: 60vh;
  663 +
  664 + .item {
  665 +
  666 + view {
  667 + display: flex;
  668 + flex-flow: row wrap;
  669 + align-items: center;
  670 + width: 500rpx;
  671 + height: 74rpx;
  672 + border-radius: 4rpx;
  673 + border: 2rpx solid #C1C1C9;
  674 + margin: 0 10rpx 20rpx;
  675 + font-size: 24rpx;
  676 + line-height: 32rpx;
  677 + color: #C0C0C9;
  678 + padding: 16rpx 20rpx;
  679 + }
  680 +
  681 + .selectItem {
  682 + background-color: var(--primary-color);
  683 + color: #FFFFFF;
  684 + border: 2rpx solid var(--primary-color);
  685 + }
  686 + }
687 } 687 }
688 688
689 .time { 689 .time {
@@ -730,53 +730,53 @@ @@ -730,53 +730,53 @@
730 width: 346rpx; 730 width: 346rpx;
731 } 731 }
732 } 732 }
733 - }  
734 -  
735 - .popup {  
736 - height: 500px;  
737 - padding: 19px 16px;  
738 -  
739 - .title {  
740 - font-size: 18px;  
741 - font-family: PingFangSC-Medium, PingFang SC;  
742 - font-weight: 500;  
743 - color: #000000;  
744 - }  
745 -  
746 - .close {  
747 - width: 22px;  
748 - height: 22px;  
749 - }  
750 -  
751 - .item_box {  
752 - border-radius: 4px;  
753 - margin: 0 0 48rpx;  
754 -  
755 - .item_title {  
756 - height: 20px;  
757 - font-size: 14px;  
758 - font-family: PingFangSC-Regular, PingFang SC;  
759 - font-weight: 400;  
760 - color: rgba(0, 0, 0, 0.65);  
761 - line-height: 20px;  
762 - }  
763 -  
764 - }  
765 -  
766 - .no_data {  
767 - width: 100%;  
768 - margin-top: 310rpx;  
769 -  
770 - .text_black_28 {  
771 - font-size: 14px;  
772 - font-family: PingFangSC-Light, PingFang SC;  
773 - font-weight: 300;  
774 - color: rgba(0,0,0,0.65);  
775 - text-align: center;  
776 - }  
777 -  
778 - }  
779 - 733 + }
  734 +
  735 + .popup {
  736 + height: 500px;
  737 + padding: 19px 16px;
  738 +
  739 + .title {
  740 + font-size: 18px;
  741 + font-family: PingFangSC-Medium, PingFang SC;
  742 + font-weight: 500;
  743 + color: #000000;
  744 + }
  745 +
  746 + .close {
  747 + width: 22px;
  748 + height: 22px;
  749 + }
  750 +
  751 + .item_box {
  752 + border-radius: 4px;
  753 + margin: 0 0 48rpx;
  754 +
  755 + .item_title {
  756 + height: 20px;
  757 + font-size: 14px;
  758 + font-family: PingFangSC-Regular, PingFang SC;
  759 + font-weight: 400;
  760 + color: rgba(0, 0, 0, 0.65);
  761 + line-height: 20px;
  762 + }
  763 +
  764 + }
  765 +
  766 + .no_data {
  767 + width: 100%;
  768 + margin-top: 310rpx;
  769 +
  770 + .text_black_28 {
  771 + font-size: 14px;
  772 + font-family: PingFangSC-Light, PingFang SC;
  773 + font-weight: 300;
  774 + color: rgba(0,0,0,0.65);
  775 + text-align: center;
  776 + }
  777 +
  778 + }
  779 +
780 } 780 }
781 } 781 }
782 -</style> 782 +</style>
@@ -22,7 +22,7 @@ @@ -22,7 +22,7 @@
22 22
23 <view class="icon_item"> 23 <view class="icon_item">
24 <u-icon size="32rpx" label="实习项目" labelSize="28rpx" labelColor="#909097" 24 <u-icon size="32rpx" label="实习项目" labelSize="28rpx" labelColor="#909097"
25 - name="/static/img/home/internshipProgramIcon.png"></u-icon> 25 + :name="vuex_baseImgUrl && `${vuex_baseImgUrl}internshipProgramIcon.png`"></u-icon>
26 <text>{{registrationDetail.projectName}}</text> 26 <text>{{registrationDetail.projectName}}</text>
27 </view> 27 </view>
28 28
@@ -36,12 +36,12 @@ @@ -36,12 +36,12 @@
36 <view class="title">单位信息</view> 36 <view class="title">单位信息</view>
37 <view class="icon_item"> 37 <view class="icon_item">
38 <u-icon size="32rpx" label="实习单位" labelSize="28rpx" labelColor="#909097" 38 <u-icon size="32rpx" label="实习单位" labelSize="28rpx" labelColor="#909097"
39 - name="/static/img/home/internshipUnitIcon.png"></u-icon> 39 + :name="vuex_baseImgUrl && `${vuex_baseImgUrl}internshipUnitIcon.png`"></u-icon>
40 <text>{{registrationDetail.companyName}}</text> 40 <text>{{registrationDetail.companyName}}</text>
41 </view> 41 </view>
42 <view class="icon_item"> 42 <view class="icon_item">
43 <u-icon size="32rpx" label="实习岗位" labelSize="28rpx" labelColor="#909097" 43 <u-icon size="32rpx" label="实习岗位" labelSize="28rpx" labelColor="#909097"
44 - name="/static/img/home/internshipJobIcon.png"></u-icon> 44 + :name="vuex_baseImgUrl && `${vuex_baseImgUrl}internshipJobIcon.png`"></u-icon>
45 <text>{{registrationDetail.jobName}}</text> 45 <text>{{registrationDetail.jobName}}</text>
46 </view> 46 </view>
47 <view class="border_top item"> 47 <view class="border_top item">
@@ -61,26 +61,26 @@ @@ -61,26 +61,26 @@
61 <text>{{jobDetail.workSite}}</text> 61 <text>{{jobDetail.workSite}}</text>
62 </view> 62 </view>
63 </view> 63 </view>
64 -  
65 - <view v-if="registrationDetail.entryAttachments" class="box">  
66 - <view class="title">报名材料</view>  
67 - <view class="time">  
68 - {{timeFormat(registrationDetail.entryAttachments.createdTime, 'yyyy-mm-dd hh:MM')}} 上传  
69 - </view>  
70 - <view class="marks">  
71 - {{registrationDetail.entryAttachments.remarks}}  
72 - </view>  
73 - <view class="cl">  
74 - <view v-if="attachments&&attachments.length>0" class="fj">  
75 - <view v-for="(item,index) in attachments " @click="openLink(item)">  
76 - <view class="fj_item">  
77 - <image class="img" src="/static/img/internship/link.png"></image>  
78 - <text class="look">{{item.filename}}</text>  
79 - </view>  
80 - </view>  
81 - </view>  
82 - </view>  
83 - </view> 64 +
  65 + <view v-if="registrationDetail.entryAttachments" class="box">
  66 + <view class="title">报名材料</view>
  67 + <view class="time">
  68 + {{timeFormat(registrationDetail.entryAttachments.createdTime, 'yyyy-mm-dd hh:MM')}} 上传
  69 + </view>
  70 + <view class="marks">
  71 + {{registrationDetail.entryAttachments.remarks}}
  72 + </view>
  73 + <view class="cl">
  74 + <view v-if="attachments&&attachments.length>0" class="fj">
  75 + <view v-for="(item,index) in attachments " @click="openLink(item)">
  76 + <view class="fj_item">
  77 + <image class="img" src="/static/img/internship/link.png"></image>
  78 + <text class="look">{{item.filename}}</text>
  79 + </view>
  80 + </view>
  81 + </view>
  82 + </view>
  83 + </view>
84 84
85 <view class="box status"> 85 <view class="box status">
86 <view class="title">状态</view> 86 <view class="title">状态</view>
@@ -114,15 +114,15 @@ @@ -114,15 +114,15 @@
114 <script> 114 <script>
115 import { 115 import {
116 getRegistrationDetailApi, 116 getRegistrationDetailApi,
117 - putRegistrationReviewApi, 117 + putRegistrationReviewApi,
118 getImgUrlApi, 118 getImgUrlApi,
119 } from '@/config/api.js'; 119 } from '@/config/api.js';
120 120
121 export default { 121 export default {
122 data() { 122 data() {
123 return { 123 return {
124 - registrationDetail: {},  
125 - attachments: [], 124 + registrationDetail: {},
  125 + attachments: [],
126 attachmentsFile: [], 126 attachmentsFile: [],
127 } 127 }
128 }, 128 },
@@ -131,8 +131,8 @@ @@ -131,8 +131,8 @@
131 getRegistrationDetailApi(option.id).then(data => { 131 getRegistrationDetailApi(option.id).then(data => {
132 if (data) { 132 if (data) {
133 console.log(data) 133 console.log(data)
134 - this.registrationDetail = data  
135 - 134 + this.registrationDetail = data
  135 +
136 this.handleAttachments() 136 this.handleAttachments()
137 } 137 }
138 }) 138 })
@@ -172,19 +172,19 @@ @@ -172,19 +172,19 @@
172 }, 172 },
173 }, 173 },
174 174
175 - methods: {  
176 - handleAttachments() {  
177 - if (this.registrationDetail.entryAttachments) {  
178 - if (this.registrationDetail.entryAttachments.attachments) {  
179 - this.attachments = JSON.parse(this.registrationDetail.entryAttachments.attachments)  
180 - }  
181 - if (this.registrationDetail.entryAttachments.attachmentsFile) {  
182 - this.attachmentsFile = JSON.parse(this.registrationDetail.entryAttachments.attachmentsFile)  
183 - }  
184 - this.attachments = this.attachments.concat(this.attachmentsFile)  
185 - console.log(this.attachments)  
186 - }  
187 - }, 175 + methods: {
  176 + handleAttachments() {
  177 + if (this.registrationDetail.entryAttachments) {
  178 + if (this.registrationDetail.entryAttachments.attachments) {
  179 + this.attachments = JSON.parse(this.registrationDetail.entryAttachments.attachments)
  180 + }
  181 + if (this.registrationDetail.entryAttachments.attachmentsFile) {
  182 + this.attachmentsFile = JSON.parse(this.registrationDetail.entryAttachments.attachmentsFile)
  183 + }
  184 + this.attachments = this.attachments.concat(this.attachmentsFile)
  185 + console.log(this.attachments)
  186 + }
  187 + },
188 188
189 timeFormat(timestamp, format = 'yyyy-mm-dd') { 189 timeFormat(timestamp, format = 'yyyy-mm-dd') {
190 return timestamp > 0 ? uni.$u.timeFormat(timestamp, format) : '--' 190 return timestamp > 0 ? uni.$u.timeFormat(timestamp, format) : '--'
@@ -196,8 +196,8 @@ @@ -196,8 +196,8 @@
196 status: 'reject', 196 status: 'reject',
197 }).then(data => { 197 }).then(data => {
198 if (data) { 198 if (data) {
199 - uni.navigateBack({  
200 - delta: 1 199 + uni.navigateBack({
  200 + delta: 1
201 }); 201 });
202 } 202 }
203 }) 203 })
@@ -209,61 +209,61 @@ @@ -209,61 +209,61 @@
209 status: 'pass', 209 status: 'pass',
210 }).then(data => { 210 }).then(data => {
211 if (data) { 211 if (data) {
212 - uni.navigateBack({  
213 - delta: 1 212 + uni.navigateBack({
  213 + delta: 1
214 }); 214 });
215 } 215 }
216 }) 216 })
217 - },  
218 -  
219 - openLink(e) {  
220 - var _this = this  
221 -  
222 - uni.showLoading({  
223 - title: '努力加载中~',  
224 - mask: true  
225 - })  
226 -  
227 - getImgUrlApi({  
228 - bucket: e.bucket,  
229 - filePath: e.object  
230 - }).then(data => {  
231 - console.log("data...", data)  
232 - if (e.mime_type.indexOf("image") != -1) {  
233 - _this.openImage(data.url)  
234 - } else {  
235 - uni.downloadFile({  
236 - url: data.url,  
237 - success: function(res) {  
238 - var filePath = res.tempFilePath;  
239 - uni.openDocument({  
240 - filePath: filePath,  
241 - showMenu: true,  
242 - success: function(res) {  
243 - console.log('打开文档成功');  
244 - },  
245 - complete: function() {  
246 - uni.hideLoading();  
247 - }  
248 - });  
249 - }  
250 - });  
251 - }  
252 - })  
253 - },  
254 - openImage(imgPath) {  
255 - let array = new Array(1).fill(imgPath);  
256 - uni.previewImage({  
257 - urls: array,  
258 - success(res) {  
259 - uni.hideLoading();  
260 - console.log('openImage success');  
261 - },  
262 - fail(res) {  
263 - uni.hideLoading();  
264 - console.log('openImage fail:', res);  
265 - }  
266 - }); 217 + },
  218 +
  219 + openLink(e) {
  220 + var _this = this
  221 +
  222 + uni.showLoading({
  223 + title: '努力加载中~',
  224 + mask: true
  225 + })
  226 +
  227 + getImgUrlApi({
  228 + bucket: e.bucket,
  229 + filePath: e.object
  230 + }).then(data => {
  231 + console.log("data...", data)
  232 + if (e.mime_type.indexOf("image") != -1) {
  233 + _this.openImage(data.url)
  234 + } else {
  235 + uni.downloadFile({
  236 + url: data.url,
  237 + success: function(res) {
  238 + var filePath = res.tempFilePath;
  239 + uni.openDocument({
  240 + filePath: filePath,
  241 + showMenu: true,
  242 + success: function(res) {
  243 + console.log('打开文档成功');
  244 + },
  245 + complete: function() {
  246 + uni.hideLoading();
  247 + }
  248 + });
  249 + }
  250 + });
  251 + }
  252 + })
  253 + },
  254 + openImage(imgPath) {
  255 + let array = new Array(1).fill(imgPath);
  256 + uni.previewImage({
  257 + urls: array,
  258 + success(res) {
  259 + uni.hideLoading();
  260 + console.log('openImage success');
  261 + },
  262 + fail(res) {
  263 + uni.hideLoading();
  264 + console.log('openImage fail:', res);
  265 + }
  266 + });
267 }, 267 },
268 } 268 }
269 } 269 }
@@ -345,49 +345,49 @@ @@ -345,49 +345,49 @@
345 .border_top { 345 .border_top {
346 border-top: 2rpx solid #E2E2E8; 346 border-top: 2rpx solid #E2E2E8;
347 padding: 28rpx 0 0 0; 347 padding: 28rpx 0 0 0;
348 - }  
349 -  
350 - .time {  
351 - margin-top: 10rpx;  
352 - font-size: 26rpx;  
353 - }  
354 -  
355 - .marks {  
356 - margin-top: 16rpx;  
357 - font-size: 30rpx;  
358 - }  
359 -  
360 - .fj {  
361 - margin-top: 16rpx;  
362 - // padding: 24rpx 32rpx 20rpx;  
363 - background-color: #fff;  
364 -  
365 - .fj_item {  
366 - display: flex;  
367 - align-items: center;  
368 - margin-bottom: 20rpx;  
369 - }  
370 -  
371 - .img {  
372 - width: 24rpx;  
373 - height: 24rpx;  
374 - }  
375 -  
376 - .look {  
377 - width: 90%;  
378 - display: -webkit-box;  
379 - -webkit-box-orient: vertical;  
380 - -webkit-line-clamp: 2;  
381 - overflow: hidden;  
382 - white-space: normal;  
383 - word-break: break-all;  
384 - word-wrap: break-word;  
385 - font-size: 28rpx;  
386 - font-family: PingFangSC-Regular, PingFang SC;  
387 - font-weight: 400;  
388 - color: var(--primary-color);  
389 - padding-left: 15rpx;  
390 - } 348 + }
  349 +
  350 + .time {
  351 + margin-top: 10rpx;
  352 + font-size: 26rpx;
  353 + }
  354 +
  355 + .marks {
  356 + margin-top: 16rpx;
  357 + font-size: 30rpx;
  358 + }
  359 +
  360 + .fj {
  361 + margin-top: 16rpx;
  362 + // padding: 24rpx 32rpx 20rpx;
  363 + background-color: #fff;
  364 +
  365 + .fj_item {
  366 + display: flex;
  367 + align-items: center;
  368 + margin-bottom: 20rpx;
  369 + }
  370 +
  371 + .img {
  372 + width: 24rpx;
  373 + height: 24rpx;
  374 + }
  375 +
  376 + .look {
  377 + width: 90%;
  378 + display: -webkit-box;
  379 + -webkit-box-orient: vertical;
  380 + -webkit-line-clamp: 2;
  381 + overflow: hidden;
  382 + white-space: normal;
  383 + word-break: break-all;
  384 + word-wrap: break-word;
  385 + font-size: 28rpx;
  386 + font-family: PingFangSC-Regular, PingFang SC;
  387 + font-weight: 400;
  388 + color: var(--primary-color);
  389 + padding-left: 15rpx;
  390 + }
391 } 391 }
392 } 392 }
393 393
@@ -417,4 +417,4 @@ @@ -417,4 +417,4 @@
417 } 417 }
418 418
419 } 419 }
420 -</style> 420 +</style>
1 <template> 1 <template>
2 <view class="registration_review" :style="vuex_theme"> 2 <view class="registration_review" :style="vuex_theme">
3 - <view class="search_box">  
4 - <!-- <view class="check">  
5 - <u-checkbox-group v-model="checkboxValue" placement="column" @change="checkboxChange">  
6 - <u-checkbox :customStyle="{marginBottom: '8px'}" shape="circle"  
7 - v-for="(item, index) in checkboxList" :key="index" :label="item.name" :name="item.name"  
8 - activeColor="var(--primary-color)" size="28rpx" labelSize="28rpx" labelColor="#202131">  
9 - </u-checkbox>  
10 - </u-checkbox-group>  
11 - </view> -->  
12 -  
13 - <!-- <view class="search">  
14 - <u-search placeholder="请输入学生姓名/学号/手机号" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx"  
15 - bgColor="#F4F4F4" :showAction="false" shape="square" v-model="keyword" @search="handelSearch">  
16 - </u-search>  
17 - </view> -->  
18 - <view style="width: 148px;">  
19 - <u-subsection :list="['待审核','全部']" :current="curNow" :fontSize="26" :activeColor="'#000'" @change="sectionChange"></u-subsection>  
20 - </view>  
21 - <view style="display: flex; justify-content: space-between; align-items: center;">  
22 - <u-icon slot="icon" size="40" :name="'/static/img/home/search.png'" @click="searchCli"></u-icon>  
23 - <view style="width: 16px;"></view>  
24 - <u-icon slot="icon" size="40" :name="'/static/img/home/selectIcon.png'" @click="show = true"></u-icon>  
25 - </view> 3 + <view class="search_box">
  4 + <!-- <view class="check">
  5 + <u-checkbox-group v-model="checkboxValue" placement="column" @change="checkboxChange">
  6 + <u-checkbox :customStyle="{marginBottom: '8px'}" shape="circle"
  7 + v-for="(item, index) in checkboxList" :key="index" :label="item.name" :name="item.name"
  8 + activeColor="var(--primary-color)" size="28rpx" labelSize="28rpx" labelColor="#202131">
  9 + </u-checkbox>
  10 + </u-checkbox-group>
  11 + </view> -->
  12 +
  13 + <!-- <view class="search">
  14 + <u-search placeholder="请输入学生姓名/学号/手机号" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx"
  15 + bgColor="#F4F4F4" :showAction="false" shape="square" v-model="keyword" @search="handelSearch">
  16 + </u-search>
  17 + </view> -->
  18 + <view style="width: 148px;">
  19 + <u-subsection :list="['待审核','全部']" :current="curNow" :fontSize="26" :activeColor="'#000'" @change="sectionChange"></u-subsection>
  20 + </view>
  21 + <view style="display: flex; justify-content: space-between; align-items: center;">
  22 + <u-icon slot="icon" size="40" :name="'/static/img/home/search.png'" @click="searchCli"></u-icon>
  23 + <view style="width: 16px;"></view>
  24 + <u-icon slot="icon" size="40" :name="'/static/img/home/selectIcon.png'" @click="show = true"></u-icon>
  25 + </view>
26 </view> 26 </view>
27 27
28 <view class="list_box" v-if="list.length > 0"> 28 <view class="list_box" v-if="list.length > 0">
29 <view class="item" v-for="(item, i) in list" :key="i" @click="handelDetail(item)"> 29 <view class="item" v-for="(item, i) in list" :key="i" @click="handelDetail(item)">
30 30
31 <view class="bg_image" v-if="item.status == 'wait'"> 31 <view class="bg_image" v-if="item.status == 'wait'">
32 - <u-image src="/static/img/home/labelBgGreen.png" width="142rpx" height="48rpx"></u-image> 32 + <u-image :src="vuex_baseImgUrl && `${vuex_baseImgUrl}labelBgGreen.png`" width="142rpx" height="48rpx"></u-image>
33 <text>待审核</text> 33 <text>待审核</text>
34 </view> 34 </view>
35 35
@@ -45,12 +45,12 @@ @@ -45,12 +45,12 @@
45 45
46 <view class="name">{{item.studentName}}</view> 46 <view class="name">{{item.studentName}}</view>
47 <view class="company"> 47 <view class="company">
48 - <u-icon size="32rpx" name="/static/img/home/internshipUnitIcon.png"></u-icon> 48 + <u-icon size="32rpx" :name="vuex_baseImgUrl && `${vuex_baseImgUrl}internshipUnitIcon.png`"></u-icon>
49 <text>实习单位</text> 49 <text>实习单位</text>
50 <text>{{item.companyName || '--'}}</text> 50 <text>{{item.companyName || '--'}}</text>
51 </view> 51 </view>
52 <view class="company position"> 52 <view class="company position">
53 - <u-icon size="32rpx" name="/static/img/home/internshipJobIcon.png"></u-icon> 53 + <u-icon size="32rpx" :name="vuex_baseImgUrl && `${vuex_baseImgUrl}internshipJobIcon.png`"></u-icon>
54 <text>实习岗位</text> 54 <text>实习岗位</text>
55 <text>{{item.jobName|| '--'}}</text> 55 <text>{{item.jobName|| '--'}}</text>
56 </view> 56 </view>
@@ -65,38 +65,38 @@ @@ -65,38 +65,38 @@
65 </view> 65 </view>
66 <view v-else class="no_data"> 66 <view v-else class="no_data">
67 <c-no-data></c-no-data> 67 <c-no-data></c-no-data>
68 - </view>  
69 -  
70 - <u-popup :show="show" mode="bottom" @close="close" :round="22">  
71 - <view class="popup">  
72 - <view style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px;">  
73 - <view class="title">  
74 - 项目筛选  
75 - </view>  
76 - <image class="close" src="/static/img/home/closepop.png" @click="close" mode=""></image>  
77 - </view>  
78 - <view class="search">  
79 - <u-search placeholder="请输入项目关键词搜索" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx"  
80 - bgColor="#F4F4F4" :showAction="true" shape="round" v-model="sxsearch" @custom="workSearch()" @search="workSearch()">  
81 - </u-search>  
82 - </view>  
83 - <scroll-view v-if="works.length>0" scroll-y="true" style="height: 80%; margin-top: 40rpx;"  
84 - @scrolltolower="lower()">  
85 - <view class="item_box" v-for="(item,index) in works" :key="index" @click="popupSelItem(item)">  
86 - <view style="display: flex; align-items: center; justify-content: space-between;">  
87 - <view class="item_title">  
88 - {{item.name}}  
89 - </view>  
90 - <image v-if="item.id == projectId" style="width: 20px; height: 20px;" src="/static/img/home/popselect.png" mode=""></image>  
91 - </view>  
92 - </view>  
93 - </scroll-view>  
94 - <view v-else class="no_data" @click="jumpVerified">  
95 - <view class="text_black_28">  
96 - 暂未搜索到该项目  
97 - </view>  
98 - </view>  
99 - </view> 68 + </view>
  69 +
  70 + <u-popup :show="show" mode="bottom" @close="close" :round="22">
  71 + <view class="popup">
  72 + <view style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px;">
  73 + <view class="title">
  74 + 项目筛选
  75 + </view>
  76 + <image class="close" src="/static/img/home/closepop.png" @click="close" mode=""></image>
  77 + </view>
  78 + <view class="search">
  79 + <u-search placeholder="请输入项目关键词搜索" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx"
  80 + bgColor="#F4F4F4" :showAction="true" shape="round" v-model="sxsearch" @custom="workSearch()" @search="workSearch()">
  81 + </u-search>
  82 + </view>
  83 + <scroll-view v-if="works.length>0" scroll-y="true" style="height: 80%; margin-top: 40rpx;"
  84 + @scrolltolower="lower()">
  85 + <view class="item_box" v-for="(item,index) in works" :key="index" @click="popupSelItem(item)">
  86 + <view style="display: flex; align-items: center; justify-content: space-between;">
  87 + <view class="item_title">
  88 + {{item.name}}
  89 + </view>
  90 + <image v-if="item.id == projectId" style="width: 20px; height: 20px;" :src="vuex_baseImgUrl && `${vuex_baseImgUrl}popselect.png`" mode=""></image>
  91 + </view>
  92 + </view>
  93 + </scroll-view>
  94 + <view v-else class="no_data" @click="jumpVerified">
  95 + <view class="text_black_28">
  96 + 暂未搜索到该项目
  97 + </view>
  98 + </view>
  99 + </view>
100 </u-popup> 100 </u-popup>
101 101
102 <!-- <u-popup :show="show" mode="right" @close="close" @open="open" :closeOnClickOverlay="false"> 102 <!-- <u-popup :show="show" mode="right" @close="close" @open="open" :closeOnClickOverlay="false">
@@ -170,11 +170,11 @@ @@ -170,11 +170,11 @@
170 170
171 }, 171 },
172 projectId: '', 172 projectId: '',
173 - switchValue: false,  
174 - curNow: 1,  
175 - sxsearch: '',  
176 - works: [],  
177 - workspage: 1, 173 + switchValue: false,
  174 + curNow: 1,
  175 + sxsearch: '',
  176 + works: [],
  177 + workspage: 1,
178 workstotal: 0, 178 workstotal: 0,
179 } 179 }
180 }, 180 },
@@ -186,13 +186,13 @@ @@ -186,13 +186,13 @@
186 // }) 186 // })
187 187
188 // this.search.keySearch = ''; 188 // this.search.keySearch = '';
189 -  
190 - this.worksloadData() 189 +
  190 + this.worksloadData()
191 191
192 if (option && option.status) { 192 if (option && option.status) {
193 // this.search.status = 'wait'; 193 // this.search.status = 'wait';
194 // this.checkboxValue = ['待审核']; 194 // this.checkboxValue = ['待审核'];
195 - // this.switchValue = true; 195 + // this.switchValue = true;
196 this.curNow = 0; 196 this.curNow = 0;
197 } 197 }
198 198
@@ -204,10 +204,10 @@ @@ -204,10 +204,10 @@
204 }, 204 },
205 205
206 onShow() { 206 onShow() {
207 - this.finished = false;  
208 - this.loading = "loadmore";  
209 - this.page = 0;  
210 - this.list = []; 207 + this.finished = false;
  208 + this.loading = "loadmore";
  209 + this.page = 0;
  210 + this.list = [];
211 this._getList(); 211 this._getList();
212 }, 212 },
213 213
@@ -220,20 +220,20 @@ @@ -220,20 +220,20 @@
220 220
221 }, 221 },
222 222
223 - methods: {  
224 -  
225 - searchCli() {  
226 - this.$u.route('/pages/main/home/search/search?type=reg&searchkey=' + this.keyword);  
227 - },  
228 -  
229 - sectionChange(index) {  
230 - this.curNow = index;  
231 -  
232 - this.finished = false;  
233 - this.loading = "loadmore";  
234 - this.page = 0;  
235 - this.list = [];  
236 - this._getList(); 223 + methods: {
  224 +
  225 + searchCli() {
  226 + this.$u.route('/pages/main/home/search/search?type=reg&searchkey=' + this.keyword);
  227 + },
  228 +
  229 + sectionChange(index) {
  230 + this.curNow = index;
  231 +
  232 + this.finished = false;
  233 + this.loading = "loadmore";
  234 + this.page = 0;
  235 + this.list = [];
  236 + this._getList();
237 }, 237 },
238 238
239 handelDetail(record) { 239 handelDetail(record) {
@@ -294,12 +294,12 @@ @@ -294,12 +294,12 @@
294 294
295 // if (search.status) { 295 // if (search.status) {
296 // params.status = search.status; 296 // params.status = search.status;
297 - // }  
298 -  
299 - if (this.curNow == 0) {  
300 - params.status = 'wait';  
301 - }else {  
302 - params.status = 'wait,pass,reject'; 297 + // }
  298 +
  299 + if (this.curNow == 0) {
  300 + params.status = 'wait';
  301 + }else {
  302 + params.status = 'wait,pass,reject';
303 } 303 }
304 304
305 if (this.keyword) { 305 if (this.keyword) {
@@ -370,52 +370,52 @@ @@ -370,52 +370,52 @@
370 370
371 this.show = false; 371 this.show = false;
372 }, 372 },
373 -  
374 - workSearch() {  
375 - uni.hideKeyboard();  
376 - this.works = []  
377 - this.worksloadData()  
378 - },  
379 -  
380 - lower() {  
381 - setTimeout(() => {  
382 - this.worksloadData(true);  
383 - }, 200)  
384 - },  
385 -  
386 - worksloadData(e) {  
387 - let params = {}  
388 - // this.loading = 'loading'  
389 -  
390 - if (e) {  
391 - if (this.total <= this.works.length) {  
392 - // this.loading = 'nomore'  
393 - return  
394 - }  
395 - this.workspage++  
396 - } else {  
397 - this.workspage = 1  
398 - }  
399 - params['pageNumber'] = this.workspage  
400 - if (this.sxsearch) {  
401 - params['keyWord'] = this.sxsearch  
402 - }  
403 - getProjectListApi(params).then(async res => {  
404 - if (res) {  
405 - this.total = res.total  
406 - // this.loading = 'loadmore'  
407 - this.works = this.works.concat(res.records)  
408 - }  
409 - })  
410 - },  
411 - popupSelItem(item) {  
412 - this.show = false  
413 - this.projectId = item.id;  
414 - this.finished = false;  
415 - this.loading = "loadmore";  
416 - this.page = 0;  
417 - this.list = [];  
418 - this._getList(); 373 +
  374 + workSearch() {
  375 + uni.hideKeyboard();
  376 + this.works = []
  377 + this.worksloadData()
  378 + },
  379 +
  380 + lower() {
  381 + setTimeout(() => {
  382 + this.worksloadData(true);
  383 + }, 200)
  384 + },
  385 +
  386 + worksloadData(e) {
  387 + let params = {}
  388 + // this.loading = 'loading'
  389 +
  390 + if (e) {
  391 + if (this.total <= this.works.length) {
  392 + // this.loading = 'nomore'
  393 + return
  394 + }
  395 + this.workspage++
  396 + } else {
  397 + this.workspage = 1
  398 + }
  399 + params['pageNumber'] = this.workspage
  400 + if (this.sxsearch) {
  401 + params['keyWord'] = this.sxsearch
  402 + }
  403 + getProjectListApi(params).then(async res => {
  404 + if (res) {
  405 + this.total = res.total
  406 + // this.loading = 'loadmore'
  407 + this.works = this.works.concat(res.records)
  408 + }
  409 + })
  410 + },
  411 + popupSelItem(item) {
  412 + this.show = false
  413 + this.projectId = item.id;
  414 + this.finished = false;
  415 + this.loading = "loadmore";
  416 + this.page = 0;
  417 + this.list = [];
  418 + this._getList();
419 }, 419 },
420 } 420 }
421 } 421 }
@@ -533,25 +533,25 @@ @@ -533,25 +533,25 @@
533 533
534 .item { 534 .item {
535 535
536 - view {  
537 - display: flex;  
538 - flex-flow: row wrap;  
539 - align-items: center;  
540 - width: 500rpx;  
541 - height: 74rpx;  
542 - border-radius: 4rpx;  
543 - border: 2rpx solid #C1C1C9;  
544 - margin: 0 10rpx 20rpx;  
545 - font-size: 24rpx;  
546 - line-height: 32rpx;  
547 - color: #C0C0C9;  
548 - padding: 16rpx 20rpx;  
549 - }  
550 -  
551 - .selectItem {  
552 - background-color: var(--primary-color);  
553 - color: #FFFFFF;  
554 - border: 2rpx solid var(--primary-color); 536 + view {
  537 + display: flex;
  538 + flex-flow: row wrap;
  539 + align-items: center;
  540 + width: 500rpx;
  541 + height: 74rpx;
  542 + border-radius: 4rpx;
  543 + border: 2rpx solid #C1C1C9;
  544 + margin: 0 10rpx 20rpx;
  545 + font-size: 24rpx;
  546 + line-height: 32rpx;
  547 + color: #C0C0C9;
  548 + padding: 16rpx 20rpx;
  549 + }
  550 +
  551 + .selectItem {
  552 + background-color: var(--primary-color);
  553 + color: #FFFFFF;
  554 + border: 2rpx solid var(--primary-color);
555 } 555 }
556 } 556 }
557 } 557 }
@@ -596,53 +596,53 @@ @@ -596,53 +596,53 @@
596 width: 346rpx; 596 width: 346rpx;
597 } 597 }
598 } 598 }
599 - }  
600 -  
601 - .popup {  
602 - height: 500px;  
603 - padding: 19px 16px;  
604 -  
605 - .title {  
606 - font-size: 18px;  
607 - font-family: PingFangSC-Medium, PingFang SC;  
608 - font-weight: 500;  
609 - color: #000000;  
610 - }  
611 -  
612 - .close {  
613 - width: 22px;  
614 - height: 22px;  
615 - }  
616 -  
617 - .item_box {  
618 - border-radius: 4px;  
619 - margin: 0 0 48rpx;  
620 -  
621 - .item_title {  
622 - height: 20px;  
623 - font-size: 14px;  
624 - font-family: PingFangSC-Regular, PingFang SC;  
625 - font-weight: 400;  
626 - color: rgba(0, 0, 0, 0.65);  
627 - line-height: 20px;  
628 - }  
629 -  
630 - }  
631 -  
632 - .no_data {  
633 - width: 100%;  
634 - margin-top: 310rpx;  
635 -  
636 - .text_black_28 {  
637 - font-size: 14px;  
638 - font-family: PingFangSC-Light, PingFang SC;  
639 - font-weight: 300;  
640 - color: rgba(0, 0, 0, 0.65);  
641 - text-align: center;  
642 - }  
643 -  
644 - }  
645 - 599 + }
  600 +
  601 + .popup {
  602 + height: 500px;
  603 + padding: 19px 16px;
  604 +
  605 + .title {
  606 + font-size: 18px;
  607 + font-family: PingFangSC-Medium, PingFang SC;
  608 + font-weight: 500;
  609 + color: #000000;
  610 + }
  611 +
  612 + .close {
  613 + width: 22px;
  614 + height: 22px;
  615 + }
  616 +
  617 + .item_box {
  618 + border-radius: 4px;
  619 + margin: 0 0 48rpx;
  620 +
  621 + .item_title {
  622 + height: 20px;
  623 + font-size: 14px;
  624 + font-family: PingFangSC-Regular, PingFang SC;
  625 + font-weight: 400;
  626 + color: rgba(0, 0, 0, 0.65);
  627 + line-height: 20px;
  628 + }
  629 +
  630 + }
  631 +
  632 + .no_data {
  633 + width: 100%;
  634 + margin-top: 310rpx;
  635 +
  636 + .text_black_28 {
  637 + font-size: 14px;
  638 + font-family: PingFangSC-Light, PingFang SC;
  639 + font-weight: 300;
  640 + color: rgba(0, 0, 0, 0.65);
  641 + text-align: center;
  642 + }
  643 +
  644 + }
  645 +
646 } 646 }
647 } 647 }
648 -</style> 648 +</style>
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
4 <view class="report_info"> 4 <view class="report_info">
5 5
6 <view class="bg_image" v-if="detail.status == 'stay_examine'"> 6 <view class="bg_image" v-if="detail.status == 'stay_examine'">
7 - <u-image src="/static/img/home/labelBgGreen.png" width="142rpx" height="48rpx"></u-image> 7 + <u-image :src="vuex_baseImgUrl && `${vuex_baseImgUrl}labelBgGreen.png`" width="142rpx" height="48rpx"></u-image>
8 <text>待审核</text> 8 <text>待审核</text>
9 </view> 9 </view>
10 10
@@ -216,54 +216,54 @@ @@ -216,54 +216,54 @@
216 }) 216 })
217 }, 217 },
218 218
219 - openLink(e) {  
220 - var _this = this  
221 -  
222 - uni.showLoading({  
223 - title: '努力加载中~',  
224 - mask: true  
225 - })  
226 -  
227 - getImgUrlApi({  
228 - bucket: e.bucket,  
229 - filePath: e.object  
230 - }).then(data => {  
231 - console.log("data...", data)  
232 - if (e.mime_type.indexOf("image") != -1) {  
233 - _this.openImage(data.url)  
234 - } else {  
235 - uni.downloadFile({  
236 - url: data.url,  
237 - success: function(res) {  
238 - var filePath = res.tempFilePath;  
239 - uni.openDocument({  
240 - filePath: filePath,  
241 - showMenu: true,  
242 - success: function(res) {  
243 - console.log('打开文档成功');  
244 - },  
245 - complete: function() {  
246 - uni.hideLoading();  
247 - }  
248 - });  
249 - }  
250 - });  
251 - }  
252 - })  
253 - },  
254 - openImage(imgPath) {  
255 - let array = new Array(1).fill(imgPath);  
256 - uni.previewImage({  
257 - urls: array,  
258 - success(res) {  
259 - uni.hideLoading();  
260 - console.log('openImage success');  
261 - },  
262 - fail(res) {  
263 - uni.hideLoading();  
264 - console.log('openImage fail:', res);  
265 - }  
266 - }); 219 + openLink(e) {
  220 + var _this = this
  221 +
  222 + uni.showLoading({
  223 + title: '努力加载中~',
  224 + mask: true
  225 + })
  226 +
  227 + getImgUrlApi({
  228 + bucket: e.bucket,
  229 + filePath: e.object
  230 + }).then(data => {
  231 + console.log("data...", data)
  232 + if (e.mime_type.indexOf("image") != -1) {
  233 + _this.openImage(data.url)
  234 + } else {
  235 + uni.downloadFile({
  236 + url: data.url,
  237 + success: function(res) {
  238 + var filePath = res.tempFilePath;
  239 + uni.openDocument({
  240 + filePath: filePath,
  241 + showMenu: true,
  242 + success: function(res) {
  243 + console.log('打开文档成功');
  244 + },
  245 + complete: function() {
  246 + uni.hideLoading();
  247 + }
  248 + });
  249 + }
  250 + });
  251 + }
  252 + })
  253 + },
  254 + openImage(imgPath) {
  255 + let array = new Array(1).fill(imgPath);
  256 + uni.previewImage({
  257 + urls: array,
  258 + success(res) {
  259 + uni.hideLoading();
  260 + console.log('openImage success');
  261 + },
  262 + fail(res) {
  263 + uni.hideLoading();
  264 + console.log('openImage fail:', res);
  265 + }
  266 + });
267 }, 267 },
268 268
269 deletePic(index) { 269 deletePic(index) {
@@ -272,26 +272,26 @@ @@ -272,26 +272,26 @@
272 272
273 handelFile() { 273 handelFile() {
274 let _this = this; 274 let _this = this;
275 -  
276 - let formdata = {}  
277 - if (this.ossInit.uploadType == 'minio') {  
278 - formdata = {  
279 - 'bucket': _this.ossInit.bucket,  
280 - 'dir': _this.ossInit.dir,  
281 - 'fileName': `${_this.ossInit.dir}${new Date().getTime()}/` + '${filename}',  
282 - 'accessId': _this.ossInit.accessId,  
283 - 'policy': _this.ossInit.policy  
284 - }  
285 - }else {  
286 - formdata = {  
287 - 'key': `${_this.ossInit.dir}${new Date().getTime()}/` + '${filename}',  
288 - // 'key': `${_this.ossInit.dir}${new Date().getTime()}`,  
289 - 'action': `${_this.ossInit.host}`,  
290 - 'OSSAccessKeyId': _this.ossInit.accessId,  
291 - 'policy': _this.ossInit.policy,  
292 - 'signature': _this.ossInit.signature,  
293 - 'callback': _this.ossInit.callback,  
294 - } 275 +
  276 + let formdata = {}
  277 + if (this.ossInit.uploadType == 'minio') {
  278 + formdata = {
  279 + 'bucket': _this.ossInit.bucket,
  280 + 'dir': _this.ossInit.dir,
  281 + 'fileName': `${_this.ossInit.dir}${new Date().getTime()}/` + '${filename}',
  282 + 'accessId': _this.ossInit.accessId,
  283 + 'policy': _this.ossInit.policy
  284 + }
  285 + }else {
  286 + formdata = {
  287 + 'key': `${_this.ossInit.dir}${new Date().getTime()}/` + '${filename}',
  288 + // 'key': `${_this.ossInit.dir}${new Date().getTime()}`,
  289 + 'action': `${_this.ossInit.host}`,
  290 + 'OSSAccessKeyId': _this.ossInit.accessId,
  291 + 'policy': _this.ossInit.policy,
  292 + 'signature': _this.ossInit.signature,
  293 + 'callback': _this.ossInit.callback,
  294 + }
295 } 295 }
296 wx.chooseMessageFile({ 296 wx.chooseMessageFile({
297 count: 9, 297 count: 9,
@@ -339,38 +339,38 @@ @@ -339,38 +339,38 @@
339 339
340 hancelSubmit() { 340 hancelSubmit() {
341 this.beginshow = true 341 this.beginshow = true
342 - },  
343 -  
344 - bconfirm() {  
345 - if (!this.pf) {  
346 - uni.showToast({  
347 - title: '请输入评分',  
348 - icon: 'none',  
349 - duration: 1500  
350 - });  
351 - return  
352 - }  
353 - if (Number(this.pf) < 0 || Number(this.pf) > 100) {  
354 - uni.showToast({  
355 - title: '评分范围1~100分',  
356 - icon: 'none',  
357 - duration: 1500  
358 - });  
359 - return  
360 - }  
361 - this.beginshow = false  
362 - putReportReviewApi(this.id, {  
363 - status: 'adopt',  
364 - reviewAttachments: JSON.stringify(this.attachments),  
365 - review: this.textarea,  
366 - score: this.pf  
367 - }).then(data => {  
368 - if (data) {  
369 - uni.navigateBack({  
370 - delta: 1  
371 - });  
372 - }  
373 - }) 342 + },
  343 +
  344 + bconfirm() {
  345 + if (!this.pf) {
  346 + uni.showToast({
  347 + title: '请输入评分',
  348 + icon: 'none',
  349 + duration: 1500
  350 + });
  351 + return
  352 + }
  353 + if (Number(this.pf) < 0 || Number(this.pf) > 100) {
  354 + uni.showToast({
  355 + title: '评分范围1~100分',
  356 + icon: 'none',
  357 + duration: 1500
  358 + });
  359 + return
  360 + }
  361 + this.beginshow = false
  362 + putReportReviewApi(this.id, {
  363 + status: 'adopt',
  364 + reviewAttachments: JSON.stringify(this.attachments),
  365 + review: this.textarea,
  366 + score: this.pf
  367 + }).then(data => {
  368 + if (data) {
  369 + uni.navigateBack({
  370 + delta: 1
  371 + });
  372 + }
  373 + })
374 }, 374 },
375 375
376 close() { 376 close() {
@@ -587,15 +587,15 @@ @@ -587,15 +587,15 @@
587 font-family: PingFangSC-Light, PingFang SC; 587 font-family: PingFangSC-Light, PingFang SC;
588 font-weight: 300; 588 font-weight: 300;
589 color: #FF8200; 589 color: #FF8200;
590 - }  
591 -  
592 - .input {  
593 - width: 100%;  
594 - height: 73px;  
595 - margin: 30px 0;  
596 - display: flex;  
597 - justify-content: space-between;  
598 - align-items: center; 590 + }
  591 +
  592 + .input {
  593 + width: 100%;
  594 + height: 73px;
  595 + margin: 30px 0;
  596 + display: flex;
  597 + justify-content: space-between;
  598 + align-items: center;
599 } 599 }
600 600
601 .btm { 601 .btm {
@@ -655,4 +655,4 @@ @@ -655,4 +655,4 @@
655 } 655 }
656 } 656 }
657 } 657 }
658 -</style> 658 +</style>
1 <template> 1 <template>
2 <view class="registration_review" :style="vuex_theme"> 2 <view class="registration_review" :style="vuex_theme">
3 - <view class="search_box">  
4 - <!-- <view class="check">  
5 - <u-checkbox-group v-model="checkboxValue" placement="column" @change="checkboxChange">  
6 - <u-checkbox :customStyle="{marginBottom: '8px'}" shape="circle"  
7 - v-for="(item, index) in checkboxList" :key="index" :label="item.name" :name="item.name"  
8 - activeColor="var(--primary-color)" size="28rpx" labelSize="28rpx" labelColor="#202131">  
9 - </u-checkbox>  
10 - </u-checkbox-group>  
11 - </view> -->  
12 -  
13 - <!-- <view class="search">  
14 - <u-search placeholder="请输入学生姓名/学号/手机号" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx"  
15 - bgColor="#F4F4F4" :showAction="false" shape="square" v-model="keyword" @search="handelSearch">  
16 - </u-search>  
17 - </view> -->  
18 - <view style="width: 148px;">  
19 - <u-subsection :list="['待审核','全部']" :current="curNow" :fontSize="26" :activeColor="'#000'"  
20 - @change="sectionChange"></u-subsection>  
21 - </view>  
22 - <view style="display: flex; justify-content: space-between; align-items: center;">  
23 - <u-icon slot="icon" size="40" :name="'/static/img/home/search.png'" @click="searchCli"></u-icon>  
24 - <view style="width: 16px;"></view>  
25 - <u-icon slot="icon" size="40" :name="'/static/img/home/selectIcon.png'" @click="show = true"></u-icon>  
26 - </view> 3 + <view class="search_box">
  4 + <!-- <view class="check">
  5 + <u-checkbox-group v-model="checkboxValue" placement="column" @change="checkboxChange">
  6 + <u-checkbox :customStyle="{marginBottom: '8px'}" shape="circle"
  7 + v-for="(item, index) in checkboxList" :key="index" :label="item.name" :name="item.name"
  8 + activeColor="var(--primary-color)" size="28rpx" labelSize="28rpx" labelColor="#202131">
  9 + </u-checkbox>
  10 + </u-checkbox-group>
  11 + </view> -->
  12 +
  13 + <!-- <view class="search">
  14 + <u-search placeholder="请输入学生姓名/学号/手机号" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx"
  15 + bgColor="#F4F4F4" :showAction="false" shape="square" v-model="keyword" @search="handelSearch">
  16 + </u-search>
  17 + </view> -->
  18 + <view style="width: 148px;">
  19 + <u-subsection :list="['待审核','全部']" :current="curNow" :fontSize="26" :activeColor="'#000'"
  20 + @change="sectionChange"></u-subsection>
  21 + </view>
  22 + <view style="display: flex; justify-content: space-between; align-items: center;">
  23 + <u-icon slot="icon" size="40" :name="'/static/img/home/search.png'" @click="searchCli"></u-icon>
  24 + <view style="width: 16px;"></view>
  25 + <u-icon slot="icon" size="40" :name="'/static/img/home/selectIcon.png'" @click="show = true"></u-icon>
  26 + </view>
27 </view> 27 </view>
28 28
29 <view class="list_box" v-if="list.length > 0"> 29 <view class="list_box" v-if="list.length > 0">
30 <view class="item" v-for="(item, i) in list" :key="i" @click="handelDetail(item)"> 30 <view class="item" v-for="(item, i) in list" :key="i" @click="handelDetail(item)">
31 31
32 <view class="bg_image" v-if="item.status == 'stay_examine'"> 32 <view class="bg_image" v-if="item.status == 'stay_examine'">
33 - <u-image src="/static/img/home/labelBgGreen.png" width="142rpx" height="48rpx"></u-image> 33 + <u-image :src="vuex_baseImgUrl && `${vuex_baseImgUrl}labelBgGreen.png`" width="142rpx" height="48rpx"></u-image>
34 <text>待审核</text> 34 <text>待审核</text>
35 </view> 35 </view>
36 36
@@ -65,39 +65,39 @@ @@ -65,39 +65,39 @@
65 <view v-else class="no_data"> 65 <view v-else class="no_data">
66 <c-no-data></c-no-data> 66 <c-no-data></c-no-data>
67 </view> 67 </view>
68 -  
69 - <u-popup :show="show" mode="bottom" @close="close" :round="22">  
70 - <view class="popup">  
71 - <view style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px;">  
72 - <view class="title">  
73 - 项目筛选  
74 - </view>  
75 - <image class="close" src="/static/img/home/closepop.png" @click="close" mode=""></image>  
76 - </view>  
77 - <view class="search">  
78 - <u-search placeholder="请输入项目关键词搜索" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx"  
79 - bgColor="#F4F4F4" :showAction="true" shape="round" v-model="sxsearch" @custom="workSearch()" @search="workSearch()">  
80 - </u-search>  
81 - </view>  
82 - <scroll-view v-if="works.length>0" scroll-y="true" style="height: 80%; margin-top: 40rpx;"  
83 - @scrolltolower="lower()">  
84 - <view class="item_box" v-for="(item,index) in works" :key="index" @click="popupSelItem(item)">  
85 - <view style="display: flex; align-items: center; justify-content: space-between;">  
86 - <view class="item_title">  
87 - {{item.name}}  
88 - </view>  
89 - <image v-if="item.id == projectId" style="width: 20px; height: 20px;"  
90 - src="/static/img/home/popselect.png" mode=""></image>  
91 - </view>  
92 - </view>  
93 - </scroll-view>  
94 - <view v-else class="no_data" @click="jumpVerified">  
95 - <view class="text_black_28">  
96 - 暂未搜索到该项目  
97 - </view>  
98 - </view>  
99 - </view>  
100 - </u-popup> 68 +
  69 + <u-popup :show="show" mode="bottom" @close="close" :round="22">
  70 + <view class="popup">
  71 + <view style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px;">
  72 + <view class="title">
  73 + 项目筛选
  74 + </view>
  75 + <image class="close" src="/static/img/home/closepop.png" @click="close" mode=""></image>
  76 + </view>
  77 + <view class="search">
  78 + <u-search placeholder="请输入项目关键词搜索" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx"
  79 + bgColor="#F4F4F4" :showAction="true" shape="round" v-model="sxsearch" @custom="workSearch()" @search="workSearch()">
  80 + </u-search>
  81 + </view>
  82 + <scroll-view v-if="works.length>0" scroll-y="true" style="height: 80%; margin-top: 40rpx;"
  83 + @scrolltolower="lower()">
  84 + <view class="item_box" v-for="(item,index) in works" :key="index" @click="popupSelItem(item)">
  85 + <view style="display: flex; align-items: center; justify-content: space-between;">
  86 + <view class="item_title">
  87 + {{item.name}}
  88 + </view>
  89 + <image v-if="item.id == projectId" style="width: 20px; height: 20px;"
  90 + :src="vuex_baseImgUrl && `${vuex_baseImgUrl}popselect.png`" mode=""></image>
  91 + </view>
  92 + </view>
  93 + </scroll-view>
  94 + <view v-else class="no_data" @click="jumpVerified">
  95 + <view class="text_black_28">
  96 + 暂未搜索到该项目
  97 + </view>
  98 + </view>
  99 + </view>
  100 + </u-popup>
101 101
102 <!-- <u-popup :show="show" mode="right" @close="close" @open="open" :closeOnClickOverlay="false"> 102 <!-- <u-popup :show="show" mode="right" @close="close" @open="open" :closeOnClickOverlay="false">
103 <view class="popup_search"> 103 <view class="popup_search">
@@ -182,32 +182,32 @@ @@ -182,32 +182,32 @@
182 list: [], //列表必须为key list的数组 182 list: [], //列表必须为key list的数组
183 projectId: '', 183 projectId: '',
184 switchValue: false, 184 switchValue: false,
185 - curNow: 1,  
186 - sxsearch: '',  
187 - works: [],  
188 - workspage: 1, 185 + curNow: 1,
  186 + sxsearch: '',
  187 + works: [],
  188 + workspage: 1,
189 workstotal: 0, 189 workstotal: 0,
190 } 190 }
191 }, 191 },
192 192
193 - onLoad(option) { 193 + onLoad(option) {
194 console.log(option) 194 console.log(option)
195 this.studentId = option.studentId; 195 this.studentId = option.studentId;
196 this.projectId = option.projectId; 196 this.projectId = option.projectId;
197 197
198 // this.$store.dispatch(`home/getProjectList`, { 198 // this.$store.dispatch(`home/getProjectList`, {
199 // pageSize: -1, 199 // pageSize: -1,
200 - // })  
201 - 200 + // })
  201 +
202 this.worksloadData() 202 this.worksloadData()
203 203
204 - // this.search.keySearch = '';  
205 -  
206 - if (option && option.status) {  
207 - // this.search.status = 'stay_examine';  
208 - // this.checkboxValue = ['待批阅'];  
209 - // this.switchValue = true;  
210 - this.curNow = 0; 204 + // this.search.keySearch = '';
  205 +
  206 + if (option && option.status) {
  207 + // this.search.status = 'stay_examine';
  208 + // this.checkboxValue = ['待批阅'];
  209 + // this.switchValue = true;
  210 + this.curNow = 0;
211 } 211 }
212 212
213 this.finished = false; 213 this.finished = false;
@@ -217,10 +217,10 @@ @@ -217,10 +217,10 @@
217 }, 217 },
218 218
219 onShow() { 219 onShow() {
220 - this.finished = false;  
221 - this.loading = "loadmore";  
222 - this.page = 0;  
223 - this.list = []; 220 + this.finished = false;
  221 + this.loading = "loadmore";
  222 + this.page = 0;
  223 + this.list = [];
224 this._getList(); 224 this._getList();
225 }, 225 },
226 226
@@ -233,21 +233,21 @@ @@ -233,21 +233,21 @@
233 233
234 }, 234 },
235 235
236 - methods: {  
237 -  
238 - searchCli() {  
239 - this.$u.route('/pages/main/home/search/search?type=report&searchkey=' + this.keyword);  
240 - },  
241 -  
242 - sectionChange(index) {  
243 - this.curNow = index;  
244 -  
245 - this.finished = false;  
246 - this.loading = "loadmore";  
247 - this.page = 0;  
248 - this.list = [];  
249 - this._getList();  
250 - }, 236 + methods: {
  237 +
  238 + searchCli() {
  239 + this.$u.route('/pages/main/home/search/search?type=report&searchkey=' + this.keyword);
  240 + },
  241 +
  242 + sectionChange(index) {
  243 + this.curNow = index;
  244 +
  245 + this.finished = false;
  246 + this.loading = "loadmore";
  247 + this.page = 0;
  248 + this.list = [];
  249 + this._getList();
  250 + },
251 251
252 getNameLastTwo(value) { 252 getNameLastTwo(value) {
253 if (value && value.length > 3) { 253 if (value && value.length > 3) {
@@ -328,18 +328,18 @@ @@ -328,18 +328,18 @@
328 328
329 // if (search.status) { 329 // if (search.status) {
330 // params.status = search.status; 330 // params.status = search.status;
331 - // }  
332 -  
333 - if (this.curNow == 0) {  
334 - params.status = 'stay_examine'; 331 + // }
  332 +
  333 + if (this.curNow == 0) {
  334 + params.status = 'stay_examine';
335 } 335 }
336 336
337 if (this.keyword) { 337 if (this.keyword) {
338 params.keySearch = this.keyword 338 params.keySearch = this.keyword
339 - }  
340 -  
341 - if (this.studentId) {  
342 - params.studentId = this.studentId 339 + }
  340 +
  341 + if (this.studentId) {
  342 + params.studentId = this.studentId
343 } 343 }
344 344
345 if (this.projectId) { 345 if (this.projectId) {
@@ -369,14 +369,14 @@ @@ -369,14 +369,14 @@
369 this.shownoData = true 369 this.shownoData = true
370 } 370 }
371 371
372 - this.list = this.list.concat(result.records)  
373 -  
374 - // 判断是否全部加载完成  
375 - if (this.total == this.list.length) {  
376 - this.finished = true;  
377 - this.loading = 'nomore';  
378 - } else {  
379 - this.loading = 'loadmore'; 372 + this.list = this.list.concat(result.records)
  373 +
  374 + // 判断是否全部加载完成
  375 + if (this.total == this.list.length) {
  376 + this.finished = true;
  377 + this.loading = 'nomore';
  378 + } else {
  379 + this.loading = 'loadmore';
380 } 380 }
381 }, 381 },
382 382
@@ -406,52 +406,52 @@ @@ -406,52 +406,52 @@
406 406
407 this.show = false; 407 this.show = false;
408 }, 408 },
409 -  
410 - workSearch() {  
411 - uni.hideKeyboard();  
412 - this.works = []  
413 - this.worksloadData()  
414 - },  
415 -  
416 - lower() {  
417 - setTimeout(() => {  
418 - this.worksloadData(true);  
419 - }, 200)  
420 - },  
421 -  
422 - worksloadData(e) {  
423 - let params = {}  
424 - // this.loading = 'loading'  
425 -  
426 - if (e) {  
427 - if (this.total <= this.works.length) {  
428 - // this.loading = 'nomore'  
429 - return  
430 - }  
431 - this.workspage++  
432 - } else {  
433 - this.workspage = 1  
434 - }  
435 - params['pageNumber'] = this.workspage  
436 - if (this.sxsearch) {  
437 - params['keyWord'] = this.sxsearch  
438 - }  
439 - getProjectListApi(params).then(async res => {  
440 - if (res) {  
441 - this.total = res.total  
442 - // this.loading = 'loadmore'  
443 - this.works = this.works.concat(res.records)  
444 - }  
445 - })  
446 - },  
447 - popupSelItem(item) {  
448 - this.show = false  
449 - this.projectId = item.id;  
450 - this.finished = false;  
451 - this.loading = "loadmore";  
452 - this.page = 0;  
453 - this.list = [];  
454 - this._getList(); 409 +
  410 + workSearch() {
  411 + uni.hideKeyboard();
  412 + this.works = []
  413 + this.worksloadData()
  414 + },
  415 +
  416 + lower() {
  417 + setTimeout(() => {
  418 + this.worksloadData(true);
  419 + }, 200)
  420 + },
  421 +
  422 + worksloadData(e) {
  423 + let params = {}
  424 + // this.loading = 'loading'
  425 +
  426 + if (e) {
  427 + if (this.total <= this.works.length) {
  428 + // this.loading = 'nomore'
  429 + return
  430 + }
  431 + this.workspage++
  432 + } else {
  433 + this.workspage = 1
  434 + }
  435 + params['pageNumber'] = this.workspage
  436 + if (this.sxsearch) {
  437 + params['keyWord'] = this.sxsearch
  438 + }
  439 + getProjectListApi(params).then(async res => {
  440 + if (res) {
  441 + this.total = res.total
  442 + // this.loading = 'loadmore'
  443 + this.works = this.works.concat(res.records)
  444 + }
  445 + })
  446 + },
  447 + popupSelItem(item) {
  448 + this.show = false
  449 + this.projectId = item.id;
  450 + this.finished = false;
  451 + this.loading = "loadmore";
  452 + this.page = 0;
  453 + this.list = [];
  454 + this._getList();
455 }, 455 },
456 } 456 }
457 } 457 }
@@ -464,20 +464,20 @@ @@ -464,20 +464,20 @@
464 height: auto; 464 height: auto;
465 background-color: #F7F7F7; 465 background-color: #F7F7F7;
466 466
467 - .search_box {  
468 - padding: 36rpx 30rpx 12rpx;  
469 - background-color: #FFFFFF;  
470 - display: flex;  
471 - flex-flow: row nowrap;  
472 - justify-content: space-between;  
473 -  
474 - .check {  
475 - padding: 20rpx 0 0 0;  
476 - }  
477 -  
478 - .search {  
479 - width: 468rpx;  
480 - } 467 + .search_box {
  468 + padding: 36rpx 30rpx 12rpx;
  469 + background-color: #FFFFFF;
  470 + display: flex;
  471 + flex-flow: row nowrap;
  472 + justify-content: space-between;
  473 +
  474 + .check {
  475 + padding: 20rpx 0 0 0;
  476 + }
  477 +
  478 + .search {
  479 + width: 468rpx;
  480 + }
481 } 481 }
482 482
483 .list_box { 483 .list_box {
@@ -575,32 +575,32 @@ @@ -575,32 +575,32 @@
575 color: #202131; 575 color: #202131;
576 } 576 }
577 577
578 - .scroll {  
579 - max-height: 60vh;  
580 -  
581 - .item {  
582 -  
583 - view {  
584 - display: flex;  
585 - flex-flow: row wrap;  
586 - align-items: center;  
587 - width: 500rpx;  
588 - height: 74rpx;  
589 - border-radius: 4rpx;  
590 - border: 2rpx solid #C1C1C9;  
591 - margin: 0 10rpx 20rpx;  
592 - font-size: 24rpx;  
593 - line-height: 32rpx;  
594 - color: #C0C0C9;  
595 - padding: 16rpx 20rpx;  
596 - }  
597 -  
598 - .selectItem {  
599 - background-color: var(--primary-color);  
600 - color: #FFFFFF;  
601 - border: 2rpx solid var(--primary-color);  
602 - }  
603 - } 578 + .scroll {
  579 + max-height: 60vh;
  580 +
  581 + .item {
  582 +
  583 + view {
  584 + display: flex;
  585 + flex-flow: row wrap;
  586 + align-items: center;
  587 + width: 500rpx;
  588 + height: 74rpx;
  589 + border-radius: 4rpx;
  590 + border: 2rpx solid #C1C1C9;
  591 + margin: 0 10rpx 20rpx;
  592 + font-size: 24rpx;
  593 + line-height: 32rpx;
  594 + color: #C0C0C9;
  595 + padding: 16rpx 20rpx;
  596 + }
  597 +
  598 + .selectItem {
  599 + background-color: var(--primary-color);
  600 + color: #FFFFFF;
  601 + border: 2rpx solid var(--primary-color);
  602 + }
  603 + }
604 } 604 }
605 605
606 .time { 606 .time {
@@ -647,53 +647,53 @@ @@ -647,53 +647,53 @@
647 width: 346rpx; 647 width: 346rpx;
648 } 648 }
649 } 649 }
650 - }  
651 -  
652 - .popup {  
653 - height: 500px;  
654 - padding: 19px 16px;  
655 -  
656 - .title {  
657 - font-size: 18px;  
658 - font-family: PingFangSC-Medium, PingFang SC;  
659 - font-weight: 500;  
660 - color: #000000;  
661 - }  
662 -  
663 - .close {  
664 - width: 22px;  
665 - height: 22px;  
666 - }  
667 -  
668 - .item_box {  
669 - border-radius: 4px;  
670 - margin: 0 0 48rpx;  
671 -  
672 - .item_title {  
673 - height: 20px;  
674 - font-size: 14px;  
675 - font-family: PingFangSC-Regular, PingFang SC;  
676 - font-weight: 400;  
677 - color: rgba(0, 0, 0, 0.65);  
678 - line-height: 20px;  
679 - }  
680 -  
681 - }  
682 -  
683 - .no_data {  
684 - width: 100%;  
685 - margin-top: 310rpx;  
686 -  
687 - .text_black_28 {  
688 - font-size: 14px;  
689 - font-family: PingFangSC-Light, PingFang SC;  
690 - font-weight: 300;  
691 - color: rgba(0, 0, 0, 0.65);  
692 - text-align: center;  
693 - }  
694 -  
695 - }  
696 - 650 + }
  651 +
  652 + .popup {
  653 + height: 500px;
  654 + padding: 19px 16px;
  655 +
  656 + .title {
  657 + font-size: 18px;
  658 + font-family: PingFangSC-Medium, PingFang SC;
  659 + font-weight: 500;
  660 + color: #000000;
  661 + }
  662 +
  663 + .close {
  664 + width: 22px;
  665 + height: 22px;
  666 + }
  667 +
  668 + .item_box {
  669 + border-radius: 4px;
  670 + margin: 0 0 48rpx;
  671 +
  672 + .item_title {
  673 + height: 20px;
  674 + font-size: 14px;
  675 + font-family: PingFangSC-Regular, PingFang SC;
  676 + font-weight: 400;
  677 + color: rgba(0, 0, 0, 0.65);
  678 + line-height: 20px;
  679 + }
  680 +
  681 + }
  682 +
  683 + .no_data {
  684 + width: 100%;
  685 + margin-top: 310rpx;
  686 +
  687 + .text_black_28 {
  688 + font-size: 14px;
  689 + font-family: PingFangSC-Light, PingFang SC;
  690 + font-weight: 300;
  691 + color: rgba(0, 0, 0, 0.65);
  692 + text-align: center;
  693 + }
  694 +
  695 + }
  696 +
697 } 697 }
698 } 698 }
699 -</style> 699 +</style>
@@ -23,7 +23,7 @@ @@ -23,7 +23,7 @@
23 <view class="item" v-for="(item, i) in list" :key="i"> 23 <view class="item" v-for="(item, i) in list" :key="i">
24 24
25 <view class="bg_image" v-if="item.waitAttendance == 'not_attendance'"> 25 <view class="bg_image" v-if="item.waitAttendance == 'not_attendance'">
26 - <u-image src="/static/img/home/labelBgGreen.png" width="142rpx" height="48rpx"></u-image> 26 + <u-image :src="vuex_baseImgUrl && `${vuex_baseImgUrl}labelBgGreen.png`" width="142rpx" height="48rpx"></u-image>
27 <text>未签到</text> 27 <text>未签到</text>
28 </view> 28 </view>
29 29
@@ -61,39 +61,39 @@ @@ -61,39 +61,39 @@
61 <view v-else class="no_data"> 61 <view v-else class="no_data">
62 <c-no-data></c-no-data> 62 <c-no-data></c-no-data>
63 </view> 63 </view>
64 -  
65 - <u-popup :show="show" mode="bottom" @close="close" :round="22">  
66 - <view class="popup">  
67 - <view style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px;">  
68 - <view class="title">  
69 - 项目筛选  
70 - </view>  
71 - <image class="close" src="/static/img/home/closepop.png" @click="close" mode=""></image>  
72 - </view>  
73 - <view class="search">  
74 - <u-search placeholder="请输入项目关键词搜索" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx"  
75 - bgColor="#F4F4F4" :showAction="true" shape="round" v-model="sxsearch" @custom="workSearch()" @search="workSearch()">  
76 - </u-search>  
77 - </view>  
78 - <scroll-view v-if="works.length>0" scroll-y="true" style="height: 80%; margin-top: 40rpx;"  
79 - @scrolltolower="lower()">  
80 - <view class="item_box" v-for="(item,index) in works" :key="index" @click="popupSelItem(item)">  
81 - <view style="display: flex; align-items: center; justify-content: space-between;">  
82 - <view class="item_title">  
83 - {{item.name}}  
84 - </view>  
85 - <image v-if="item.id == projectId" style="width: 20px; height: 20px;"  
86 - src="/static/img/home/popselect.png" mode=""></image>  
87 - </view>  
88 - </view>  
89 - </scroll-view>  
90 - <view v-else class="no_data" @click="jumpVerified">  
91 - <view class="text_black_28">  
92 - 暂未搜索到该项目  
93 - </view>  
94 - </view>  
95 - </view>  
96 - </u-popup> 64 +
  65 + <u-popup :show="show" mode="bottom" @close="close" :round="22">
  66 + <view class="popup">
  67 + <view style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px;">
  68 + <view class="title">
  69 + 项目筛选
  70 + </view>
  71 + <image class="close" src="/static/img/home/closepop.png" @click="close" mode=""></image>
  72 + </view>
  73 + <view class="search">
  74 + <u-search placeholder="请输入项目关键词搜索" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx"
  75 + bgColor="#F4F4F4" :showAction="true" shape="round" v-model="sxsearch" @custom="workSearch()" @search="workSearch()">
  76 + </u-search>
  77 + </view>
  78 + <scroll-view v-if="works.length>0" scroll-y="true" style="height: 80%; margin-top: 40rpx;"
  79 + @scrolltolower="lower()">
  80 + <view class="item_box" v-for="(item,index) in works" :key="index" @click="popupSelItem(item)">
  81 + <view style="display: flex; align-items: center; justify-content: space-between;">
  82 + <view class="item_title">
  83 + {{item.name}}
  84 + </view>
  85 + <image v-if="item.id == projectId" style="width: 20px; height: 20px;"
  86 + :src="vuex_baseImgUrl && `${vuex_baseImgUrl}popselect.png`" mode=""></image>
  87 + </view>
  88 + </view>
  89 + </scroll-view>
  90 + <view v-else class="no_data" @click="jumpVerified">
  91 + <view class="text_black_28">
  92 + 暂未搜索到该项目
  93 + </view>
  94 + </view>
  95 + </view>
  96 + </u-popup>
97 97
98 <!-- <u-popup :show="show" mode="right" @close="close" @open="open" :closeOnClickOverlay="false"> 98 <!-- <u-popup :show="show" mode="right" @close="close" @open="open" :closeOnClickOverlay="false">
99 <view class="popup_search"> 99 <view class="popup_search">
@@ -180,12 +180,12 @@ @@ -180,12 +180,12 @@
180 defaultDateMultiple: [`${year}-${month}-${date}`], 180 defaultDateMultiple: [`${year}-${month}-${date}`],
181 list: [], //列表必须为key list的数组 181 list: [], //列表必须为key list的数组
182 projectId: '', 182 projectId: '',
183 - switchValue: false, 183 + switchValue: false,
184 184
185 - curNow: 1,  
186 - sxsearch: '',  
187 - works: [],  
188 - workspage: 1, 185 + curNow: 1,
  186 + sxsearch: '',
  187 + works: [],
  188 + workspage: 1,
189 workstotal: 0, 189 workstotal: 0,
190 } 190 }
191 }, 191 },
@@ -202,24 +202,24 @@ @@ -202,24 +202,24 @@
202 // this.page = 0; 202 // this.page = 0;
203 // this.list = []; 203 // this.list = [];
204 204
205 - this.worksloadData()  
206 -  
207 - if (option && option.status) {  
208 - // this.search.status = 'wait';  
209 - this.curNow = 0;  
210 - // this.checkboxValue = ['待处理'];  
211 - // this.switchValue = true;  
212 - } 205 + this.worksloadData()
  206 +
  207 + if (option && option.status) {
  208 + // this.search.status = 'wait';
  209 + this.curNow = 0;
  210 + // this.checkboxValue = ['待处理'];
  211 + // this.switchValue = true;
  212 + }
213 213
214 214
215 }, 215 },
216 216
217 - onShow() {  
218 - this.finished = false;  
219 - this.loading = "loadmore";  
220 - this.page = 0;  
221 - this.list = [];  
222 - this._getList(); 217 + onShow() {
  218 + this.finished = false;
  219 + this.loading = "loadmore";
  220 + this.page = 0;
  221 + this.list = [];
  222 + this._getList();
223 }, 223 },
224 224
225 computed: { 225 computed: {
@@ -231,21 +231,21 @@ @@ -231,21 +231,21 @@
231 231
232 }, 232 },
233 233
234 - methods: {  
235 -  
236 - searchCli() {  
237 - this.$u.route('/pages/main/home/search/search?type=student&searchkey=' + this.keyword);  
238 - },  
239 -  
240 - sectionChange(index) {  
241 - this.curNow = index;  
242 -  
243 - this.finished = false;  
244 - this.loading = "loadmore";  
245 - this.page = 0;  
246 - this.list = [];  
247 - this._getList();  
248 - }, 234 + methods: {
  235 +
  236 + searchCli() {
  237 + this.$u.route('/pages/main/home/search/search?type=student&searchkey=' + this.keyword);
  238 + },
  239 +
  240 + sectionChange(index) {
  241 + this.curNow = index;
  242 +
  243 + this.finished = false;
  244 + this.loading = "loadmore";
  245 + this.page = 0;
  246 + this.list = [];
  247 + this._getList();
  248 + },
249 249
250 250
251 getNameLastTwo(value) { 251 getNameLastTwo(value) {
@@ -335,10 +335,10 @@ @@ -335,10 +335,10 @@
335 335
336 // if (search.waitAttendance) { 336 // if (search.waitAttendance) {
337 // params.waitAttendance = search.waitAttendance; 337 // params.waitAttendance = search.waitAttendance;
338 - // }  
339 -  
340 - if (this.curNow == 0) {  
341 - params.waitAttendance = 'not_attendance'; 338 + // }
  339 +
  340 + if (this.curNow == 0) {
  341 + params.waitAttendance = 'not_attendance';
342 } 342 }
343 343
344 if (this.keyword) { 344 if (this.keyword) {
@@ -412,53 +412,53 @@ @@ -412,53 +412,53 @@
412 412
413 this.show = false; 413 this.show = false;
414 }, 414 },
415 -  
416 - workSearch() {  
417 - uni.hideKeyboard();  
418 - this.works = []  
419 - this.worksloadData()  
420 - },  
421 -  
422 - lower() {  
423 - setTimeout(() => {  
424 - this.worksloadData(true);  
425 - }, 200)  
426 - },  
427 -  
428 - worksloadData(e) {  
429 - let params = {}  
430 - // this.loading = 'loading'  
431 -  
432 - if (e) {  
433 - if (this.total <= this.works.length) {  
434 - // this.loading = 'nomore'  
435 - return  
436 - }  
437 - this.workspage++  
438 - } else {  
439 - this.workspage = 1  
440 - }  
441 - params['pageNumber'] = this.workspage  
442 - if (this.sxsearch) {  
443 - params['keyWord'] = this.sxsearch  
444 - }  
445 - getProjectListApi(params).then(async res => {  
446 - if (res) {  
447 - this.total = res.total  
448 - // this.loading = 'loadmore'  
449 - this.works = this.works.concat(res.records)  
450 - }  
451 - })  
452 - },  
453 - popupSelItem(item) {  
454 - this.show = false  
455 - this.projectId = item.id;  
456 - this.finished = false;  
457 - this.loading = "loadmore";  
458 - this.page = 0;  
459 - this.list = [];  
460 - this._getList();  
461 - }, 415 +
  416 + workSearch() {
  417 + uni.hideKeyboard();
  418 + this.works = []
  419 + this.worksloadData()
  420 + },
  421 +
  422 + lower() {
  423 + setTimeout(() => {
  424 + this.worksloadData(true);
  425 + }, 200)
  426 + },
  427 +
  428 + worksloadData(e) {
  429 + let params = {}
  430 + // this.loading = 'loading'
  431 +
  432 + if (e) {
  433 + if (this.total <= this.works.length) {
  434 + // this.loading = 'nomore'
  435 + return
  436 + }
  437 + this.workspage++
  438 + } else {
  439 + this.workspage = 1
  440 + }
  441 + params['pageNumber'] = this.workspage
  442 + if (this.sxsearch) {
  443 + params['keyWord'] = this.sxsearch
  444 + }
  445 + getProjectListApi(params).then(async res => {
  446 + if (res) {
  447 + this.total = res.total
  448 + // this.loading = 'loadmore'
  449 + this.works = this.works.concat(res.records)
  450 + }
  451 + })
  452 + },
  453 + popupSelItem(item) {
  454 + this.show = false
  455 + this.projectId = item.id;
  456 + this.finished = false;
  457 + this.loading = "loadmore";
  458 + this.page = 0;
  459 + this.list = [];
  460 + this._getList();
  461 + },
462 462
463 } 463 }
464 } 464 }
@@ -501,22 +501,22 @@ @@ -501,22 +501,22 @@
501 // } 501 // }
502 502
503 503
504 - // }  
505 -  
506 - .search_box {  
507 - padding: 36rpx 30rpx 12rpx;  
508 - background-color: #FFFFFF;  
509 - display: flex;  
510 - flex-flow: row nowrap;  
511 - justify-content: space-between;  
512 -  
513 - .check {  
514 - padding: 20rpx 0 0 0;  
515 - }  
516 -  
517 - .search {  
518 - width: 468rpx;  
519 - } 504 + // }
  505 +
  506 + .search_box {
  507 + padding: 36rpx 30rpx 12rpx;
  508 + background-color: #FFFFFF;
  509 + display: flex;
  510 + flex-flow: row nowrap;
  511 + justify-content: space-between;
  512 +
  513 + .check {
  514 + padding: 20rpx 0 0 0;
  515 + }
  516 +
  517 + .search {
  518 + width: 468rpx;
  519 + }
520 } 520 }
521 521
522 .list_box { 522 .list_box {
@@ -707,53 +707,53 @@ @@ -707,53 +707,53 @@
707 width: 346rpx; 707 width: 346rpx;
708 } 708 }
709 } 709 }
710 - }  
711 -  
712 - .popup {  
713 - height: 500px;  
714 - padding: 19px 16px;  
715 -  
716 - .title {  
717 - font-size: 18px;  
718 - font-family: PingFangSC-Medium, PingFang SC;  
719 - font-weight: 500;  
720 - color: #000000;  
721 - }  
722 -  
723 - .close {  
724 - width: 22px;  
725 - height: 22px;  
726 - }  
727 -  
728 - .item_box {  
729 - border-radius: 4px;  
730 - margin: 0 0 48rpx;  
731 -  
732 - .item_title {  
733 - height: 20px;  
734 - font-size: 14px;  
735 - font-family: PingFangSC-Regular, PingFang SC;  
736 - font-weight: 400;  
737 - color: rgba(0, 0, 0, 0.65);  
738 - line-height: 20px;  
739 - }  
740 -  
741 - }  
742 -  
743 - .no_data {  
744 - width: 100%;  
745 - margin-top: 310rpx;  
746 -  
747 - .text_black_28 {  
748 - font-size: 14px;  
749 - font-family: PingFangSC-Light, PingFang SC;  
750 - font-weight: 300;  
751 - color: rgba(0, 0, 0, 0.65);  
752 - text-align: center;  
753 - }  
754 -  
755 - }  
756 - 710 + }
  711 +
  712 + .popup {
  713 + height: 500px;
  714 + padding: 19px 16px;
  715 +
  716 + .title {
  717 + font-size: 18px;
  718 + font-family: PingFangSC-Medium, PingFang SC;
  719 + font-weight: 500;
  720 + color: #000000;
  721 + }
  722 +
  723 + .close {
  724 + width: 22px;
  725 + height: 22px;
  726 + }
  727 +
  728 + .item_box {
  729 + border-radius: 4px;
  730 + margin: 0 0 48rpx;
  731 +
  732 + .item_title {
  733 + height: 20px;
  734 + font-size: 14px;
  735 + font-family: PingFangSC-Regular, PingFang SC;
  736 + font-weight: 400;
  737 + color: rgba(0, 0, 0, 0.65);
  738 + line-height: 20px;
  739 + }
  740 +
  741 + }
  742 +
  743 + .no_data {
  744 + width: 100%;
  745 + margin-top: 310rpx;
  746 +
  747 + .text_black_28 {
  748 + font-size: 14px;
  749 + font-family: PingFangSC-Light, PingFang SC;
  750 + font-weight: 300;
  751 + color: rgba(0, 0, 0, 0.65);
  752 + text-align: center;
  753 + }
  754 +
  755 + }
  756 +
757 } 757 }
758 } 758 }
759 -</style> 759 +</style>
1 <template> 1 <template>
2 <view class="info"> 2 <view class="info">
3 <view style="display: flex;"> 3 <view style="display: flex;">
4 - <image class="header_bg" :src="vuex_baseImgUrl+'intership_header_bg.png'"></image> 4 + <image class="header_bg" :src="vuex_baseImgUrl && `${vuex_baseImgUrl}intership_header_bg.png`"></image>
5 <view style="position: absolute;display: flex;"> 5 <view style="position: absolute;display: flex;">
6 <image class="header_img" src="/static/img/internship/intership_header.png" mode=""></image> 6 <image class="header_img" src="/static/img/internship/intership_header.png" mode=""></image>
7 <text class="text_white">成绩详情</text> 7 <text class="text_white">成绩详情</text>
@@ -20,11 +20,11 @@ @@ -20,11 +20,11 @@
20 <view style="margin-top: 32rpx;"> 20 <view style="margin-top: 32rpx;">
21 <text>考评人</text> 21 <text>考评人</text>
22 <text class="value_type">{{interDetail.assessorName ? interDetail.assessorName : '--'}}</text> 22 <text class="value_type">{{interDetail.assessorName ? interDetail.assessorName : '--'}}</text>
23 - </view>  
24 -  
25 - <view style="margin-top: 32rpx;">  
26 - <text>评价</text>  
27 - <text class="value_type">{{interDetail.teacherView ? interDetail.teacherView : '--'}}</text> 23 + </view>
  24 +
  25 + <view style="margin-top: 32rpx;">
  26 + <text>评价</text>
  27 + <text class="value_type">{{interDetail.teacherView ? interDetail.teacherView : '--'}}</text>
28 </view> 28 </view>
29 29
30 </view> 30 </view>
@@ -32,10 +32,10 @@ @@ -32,10 +32,10 @@
32 </view> 32 </view>
33 </template> 33 </template>
34 34
35 -<script>  
36 - import {  
37 - getInternshipDetailApi,  
38 - } from '@/config/api.js'; 35 +<script>
  36 + import {
  37 + getInternshipDetailApi,
  38 + } from '@/config/api.js';
39 39
40 export default { 40 export default {
41 data() { 41 data() {
@@ -79,7 +79,7 @@ @@ -79,7 +79,7 @@
79 background-color: #F7F7F7; 79 background-color: #F7F7F7;
80 display: flex; 80 display: flex;
81 flex-direction: column; 81 flex-direction: column;
82 - padding: 30rpx; 82 + padding: 30rpx;
83 height: 100%; 83 height: 100%;
84 } 84 }
85 85
@@ -106,8 +106,8 @@ @@ -106,8 +106,8 @@
106 106
107 .content { 107 .content {
108 width: 100%; 108 width: 100%;
109 - background-color: #fff;  
110 - border-bottom-left-radius: 12rpx; 109 + background-color: #fff;
  110 + border-bottom-left-radius: 12rpx;
111 border-bottom-right-radius: 12rpx; 111 border-bottom-right-radius: 12rpx;
112 112
113 .text_title { 113 .text_title {
@@ -139,4 +139,4 @@ @@ -139,4 +139,4 @@
139 width: 400rpx; 139 width: 400rpx;
140 } 140 }
141 } 141 }
142 -</style> 142 +</style>
1 <template> 1 <template>
2 <view class="info"> 2 <view class="info">
3 <view style="display: flex;"> 3 <view style="display: flex;">
4 - <image class="header_bg" :src="vuex_baseImgUrl+'intership_header_bg.png'"></image> 4 + <image class="header_bg" :src="vuex_baseImgUrl && `${vuex_baseImgUrl}intership_header_bg.png`"></image>
5 <view style="position: absolute;display: flex;"> 5 <view style="position: absolute;display: flex;">
6 <image class="header_img" src="/static/img/internship/intership_header.png" mode=""></image> 6 <image class="header_img" src="/static/img/internship/intership_header.png" mode=""></image>
7 <text class="text_white">实习单详情</text> 7 <text class="text_white">实习单详情</text>
@@ -252,4 +252,4 @@ @@ -252,4 +252,4 @@
252 width: 400rpx; 252 width: 400rpx;
253 } 253 }
254 } 254 }
255 -</style> 255 +</style>
@@ -8,11 +8,11 @@ @@ -8,11 +8,11 @@
8 <view v-for="(item, i) in signList" :key="i"> 8 <view v-for="(item, i) in signList" :key="i">
9 <u-steps-item :title="timeFormat(item.createdTime, 'yyyy-mm-dd hh:MM')" :desc="item.location" 9 <u-steps-item :title="timeFormat(item.createdTime, 'yyyy-mm-dd hh:MM')" :desc="item.location"
10 v-if="i == 0"> 10 v-if="i == 0">
11 - <u-icon slot="icon" size="38rpx" name="/static/img/internship/currentTime.png"></u-icon> 11 + <u-icon slot="icon" size="38rpx" :name="vuex_baseImgUrl && `${vuex_baseImgUrl}currentTime.png`"></u-icon>
12 </u-steps-item> 12 </u-steps-item>
13 <u-steps-item :title="timeFormat(item.createdTime, 'yyyy-mm-dd hh:MM')" :desc="item.location" 13 <u-steps-item :title="timeFormat(item.createdTime, 'yyyy-mm-dd hh:MM')" :desc="item.location"
14 v-else> 14 v-else>
15 - <u-icon slot="icon" size="16rpx" name="/static/img/internship/beforeTime.png"></u-icon> 15 + <u-icon slot="icon" size="16rpx" :name="vuex_baseImgUrl && `${vuex_baseImgUrl}beforeTime.png`"></u-icon>
16 </u-steps-item> 16 </u-steps-item>
17 </view> 17 </view>
18 </u-steps> 18 </u-steps>
@@ -95,14 +95,14 @@ @@ -95,14 +95,14 @@
95 change(date) { 95 change(date) {
96 console.log(date); // 日期 eg:'2022-01-01' 96 console.log(date); // 日期 eg:'2022-01-01'
97 this.filterData(this.initList, date); 97 this.filterData(this.initList, date);
98 - },  
99 -  
100 - getZero(num) {  
101 - // 单数前面加0  
102 - if (parseInt(num) < 10) {  
103 - num = '0' + num;  
104 - }  
105 - return num; 98 + },
  99 +
  100 + getZero(num) {
  101 + // 单数前面加0
  102 + if (parseInt(num) < 10) {
  103 + num = '0' + num;
  104 + }
  105 + return num;
106 }, 106 },
107 107
108 changeMonth(year, month) { 108 changeMonth(year, month) {
@@ -180,4 +180,4 @@ @@ -180,4 +180,4 @@
180 } 180 }
181 181
182 } 182 }
183 -</style> 183 +</style>
@@ -36,7 +36,7 @@ @@ -36,7 +36,7 @@
36 </view> 36 </view>
37 <view class="no_login" v-else> 37 <view class="no_login" v-else>
38 <view class="image"> 38 <view class="image">
39 - <u-image :style="{margin:'0 auto'}" :src="vuex_baseImgUrl+'internship_bg.png'" width="480rpx" 39 + <u-image :style="{margin:'0 auto'}" :src="vuex_baseImgUrl && `${vuex_baseImgUrl}internship_bg.png`" width="480rpx"
40 height="480rpx"></u-image> 40 height="480rpx"></u-image>
41 </view> 41 </view>
42 <view class="btn"> 42 <view class="btn">
@@ -170,21 +170,21 @@ @@ -170,21 +170,21 @@
170 }); 170 });
171 171
172 this.total = result.total; 172 this.total = result.total;
173 - this.list = this.list.concat(result.records)  
174 -  
175 - // 判断是否全部加载完成  
176 - if (this.total == this.list.length) {  
177 - this.finished = true;  
178 - this.loading = 'nomore';  
179 - } else {  
180 - this.loading = 'loadmore'; 173 + this.list = this.list.concat(result.records)
  174 +
  175 + // 判断是否全部加载完成
  176 + if (this.total == this.list.length) {
  177 + this.finished = true;
  178 + this.loading = 'nomore';
  179 + } else {
  180 + this.loading = 'loadmore';
181 } 181 }
182 - },  
183 -  
184 - handelDetail(record) {  
185 - this.$u.route({  
186 - url: `pages/main/internship/traineeDetail/traineeDetail?studentId=${record.studentId}`  
187 - }) 182 + },
  183 +
  184 + handelDetail(record) {
  185 + this.$u.route({
  186 + url: `pages/main/internship/traineeDetail/traineeDetail?studentId=${record.studentId}`
  187 + })
188 }, 188 },
189 189
190 } 190 }
@@ -250,7 +250,7 @@ @@ -250,7 +250,7 @@
250 250
251 text:last-child { 251 text:last-child {
252 font-size: 26rpx; 252 font-size: 26rpx;
253 - color: #26292F; 253 + color: #26292F;
254 padding: 0 0 0 20rpx; 254 padding: 0 0 0 20rpx;
255 } 255 }
256 } 256 }
@@ -290,4 +290,4 @@ @@ -290,4 +290,4 @@
290 } 290 }
291 291
292 } 292 }
293 -</style> 293 +</style>
@@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@
12 <view class="item" v-for="(item, i) in list" :key="i" @click="handelDetail(item)"> 12 <view class="item" v-for="(item, i) in list" :key="i" @click="handelDetail(item)">
13 13
14 <view class="bg_image" v-if="item.status == 'unread'"> 14 <view class="bg_image" v-if="item.status == 'unread'">
15 - <u-image src="/static/img/home/labelBgGreen.png" width="142rpx" height="48rpx"></u-image> 15 + <u-image :src="vuex_baseImgUrl && `${vuex_baseImgUrl}labelBgGreen.png`" width="142rpx" height="48rpx"></u-image>
16 <text>未阅</text> 16 <text>未阅</text>
17 </view> 17 </view>
18 18
@@ -27,8 +27,8 @@ @@ -27,8 +27,8 @@
27 <view class="name">{{overflowHide(item.title, 10)}}</view> 27 <view class="name">{{overflowHide(item.title, 10)}}</view>
28 <view class="week"> 28 <view class="week">
29 <!-- <text>{{timeFormat(item.logTime, 'yyyy年')}}</text> --> 29 <!-- <text>{{timeFormat(item.logTime, 'yyyy年')}}</text> -->
30 - <!-- <text>{{getWeek(item.logTime)}}</text> -->  
31 - <text>{{getCreatedTime(item)}}</text> 30 + <!-- <text>{{getWeek(item.logTime)}}</text> -->
  31 + <text>{{getCreatedTime(item)}}</text>
32 32
33 </view> 33 </view>
34 </view> 34 </view>
@@ -103,7 +103,7 @@ @@ -103,7 +103,7 @@
103 export default { 103 export default {
104 mixins: [listMixin], 104 mixins: [listMixin],
105 data() { 105 data() {
106 - return { 106 + return {
107 studentId: '', 107 studentId: '',
108 formId: '', 108 formId: '',
109 checkboxValue: [], 109 checkboxValue: [],
@@ -140,8 +140,8 @@ @@ -140,8 +140,8 @@
140 }, 140 },
141 141
142 onLoad(option) { 142 onLoad(option) {
143 - console.log(option)  
144 - this.studentId = option.studentId; 143 + console.log(option)
  144 + this.studentId = option.studentId;
145 this.projectId = option.projectId; 145 this.projectId = option.projectId;
146 this.formId = option.formId; 146 this.formId = option.formId;
147 147
@@ -158,12 +158,12 @@ @@ -158,12 +158,12 @@
158 option.category == 'weekly' ? 1 : 158 option.category == 'weekly' ? 1 :
159 option.category == 'monthly' ? 2 : 159 option.category == 'monthly' ? 2 :
160 ''; 160 '';
161 - }  
162 -  
163 - if (option && option.status) {  
164 - this.search.status = 'unread';  
165 - this.checkboxValue = ['未阅'];  
166 - this.switchValue = true; 161 + }
  162 +
  163 + if (option && option.status) {
  164 + this.search.status = 'unread';
  165 + this.checkboxValue = ['未阅'];
  166 + this.switchValue = true;
167 } 167 }
168 168
169 this.finished = false; 169 this.finished = false;
@@ -184,16 +184,16 @@ @@ -184,16 +184,16 @@
184 }), 184 }),
185 }, 185 },
186 186
187 - methods: {  
188 -  
189 - getCreatedTime(e) {  
190 - let time = this.$u.timeFormat(e.logTime / 1000, 'yyyy/mm/dd');  
191 - if (e.category == "weekly") {  
192 - time = new Date(e.logTime).getFullYear() + "年第" + (this.getWeek(e.logTime) + 1) + "周";  
193 - } else if (e.category == "monthly") {  
194 - time = this.$u.timeFormat(e.logTime / 1000, 'yyyy年mm月');  
195 - }  
196 - return time 187 + methods: {
  188 +
  189 + getCreatedTime(e) {
  190 + let time = this.$u.timeFormat(e.logTime / 1000, 'yyyy/mm/dd');
  191 + if (e.category == "weekly") {
  192 + time = new Date(e.logTime).getFullYear() + "年第" + (this.getWeek(e.logTime) + 1) + "周";
  193 + } else if (e.category == "monthly") {
  194 + time = this.$u.timeFormat(e.logTime / 1000, 'yyyy年mm月');
  195 + }
  196 + return time
197 }, 197 },
198 198
199 getWeek(dt) { 199 getWeek(dt) {
@@ -308,19 +308,19 @@ @@ -308,19 +308,19 @@
308 308
309 if (this.keyword) { 309 if (this.keyword) {
310 params.keySearch = this.keyword 310 params.keySearch = this.keyword
311 - }  
312 -  
313 - if (this.studentId) {  
314 - params.studentId = this.studentId 311 + }
  312 +
  313 + if (this.studentId) {
  314 + params.studentId = this.studentId
315 } 315 }
316 316
317 if (this.projectId) { 317 if (this.projectId) {
318 params.projectId = this.projectId 318 params.projectId = this.projectId
319 - }  
320 -  
321 - if (this.formId) {  
322 - params.formId = this.formId  
323 - } 319 + }
  320 +
  321 + if (this.formId) {
  322 + params.formId = this.formId
  323 + }
324 324
325 return await getLogReviewListApi(params); 325 return await getLogReviewListApi(params);
326 }, 326 },
@@ -345,14 +345,14 @@ @@ -345,14 +345,14 @@
345 this.shownoData = true 345 this.shownoData = true
346 } 346 }
347 347
348 - this.list = this.list.concat(result.records)  
349 -  
350 - // 判断是否全部加载完成  
351 - if (this.total == this.list.length) {  
352 - this.finished = true;  
353 - this.loading = 'nomore';  
354 - } else {  
355 - this.loading = 'loadmore'; 348 + this.list = this.list.concat(result.records)
  349 +
  350 + // 判断是否全部加载完成
  351 + if (this.total == this.list.length) {
  352 + this.finished = true;
  353 + this.loading = 'nomore';
  354 + } else {
  355 + this.loading = 'loadmore';
356 } 356 }
357 }, 357 },
358 358
@@ -525,32 +525,32 @@ @@ -525,32 +525,32 @@
525 color: #202131; 525 color: #202131;
526 } 526 }
527 527
528 - .scroll {  
529 - max-height: 60vh;  
530 -  
531 - .item {  
532 -  
533 - view {  
534 - display: flex;  
535 - flex-flow: row wrap;  
536 - align-items: center;  
537 - width: 500rpx;  
538 - height: 74rpx;  
539 - border-radius: 4rpx;  
540 - border: 2rpx solid #C1C1C9;  
541 - margin: 0 10rpx 20rpx;  
542 - font-size: 24rpx;  
543 - line-height: 32rpx;  
544 - color: #C0C0C9;  
545 - padding: 16rpx 20rpx;  
546 - }  
547 -  
548 - .selectItem {  
549 - background-color: var(--primary-color);  
550 - color: #FFFFFF;  
551 - border: 2rpx solid var(--primary-color);  
552 - }  
553 - } 528 + .scroll {
  529 + max-height: 60vh;
  530 +
  531 + .item {
  532 +
  533 + view {
  534 + display: flex;
  535 + flex-flow: row wrap;
  536 + align-items: center;
  537 + width: 500rpx;
  538 + height: 74rpx;
  539 + border-radius: 4rpx;
  540 + border: 2rpx solid #C1C1C9;
  541 + margin: 0 10rpx 20rpx;
  542 + font-size: 24rpx;
  543 + line-height: 32rpx;
  544 + color: #C0C0C9;
  545 + padding: 16rpx 20rpx;
  546 + }
  547 +
  548 + .selectItem {
  549 + background-color: var(--primary-color);
  550 + color: #FFFFFF;
  551 + border: 2rpx solid var(--primary-color);
  552 + }
  553 + }
554 } 554 }
555 555
556 .time { 556 .time {
@@ -599,4 +599,4 @@ @@ -599,4 +599,4 @@
599 } 599 }
600 } 600 }
601 } 601 }
602 -</style> 602 +</style>
@@ -86,11 +86,11 @@ @@ -86,11 +86,11 @@
86 86
87 <view class="company_box"> 87 <view class="company_box">
88 <view class="company"> 88 <view class="company">
89 - <u-icon size="32rpx" name="/static/img/home/internshipUnitIcon.png"></u-icon> 89 + <u-icon size="32rpx" :name="vuex_baseImgUrl && `${vuex_baseImgUrl}internshipUnitIcon.png`"></u-icon>
90 <text>{{item.companyName}}</text> 90 <text>{{item.companyName}}</text>
91 </view> 91 </view>
92 <view class="address"> 92 <view class="address">
93 - <u-icon size="32rpx" name="/static/img/internship/addressIcon.png"></u-icon> 93 + <u-icon size="32rpx" :name="vuex_baseImgUrl && `${vuex_baseImgUrl}addressIcon.png`" ></u-icon>
94 <text>{{item.province}}/{{item.city}}/{{item.district}}</text> 94 <text>{{item.province}}/{{item.city}}/{{item.district}}</text>
95 </view> 95 </view>
96 </view> 96 </view>
@@ -142,7 +142,7 @@ @@ -142,7 +142,7 @@
142 <view class="projiect"> 142 <view class="projiect">
143 <text>实习形式</text> 143 <text>实习形式</text>
144 <!-- <text @click="handelDetail(ele, 'internship')" 144 <!-- <text @click="handelDetail(ele, 'internship')"
145 - :style="{color:'var(--primary-color)',textDecoration:'underline'}">{{ele.formNumber|| '--'}}</text> --> 145 + :style="{color:'var(--primary-color)',textDecoration:'underline'}">{{ele.formNumber|| '--'}}</text> -->
146 <text>{{ele.practiceForm=='oneself'?'自主实习':'集中实习'}}</text> 146 <text>{{ele.practiceForm=='oneself'?'自主实习':'集中实习'}}</text>
147 </view> 147 </view>
148 <view class="projiect"> 148 <view class="projiect">
@@ -154,50 +154,50 @@ @@ -154,50 +154,50 @@
154 <text>学分</text> 154 <text>学分</text>
155 <text @click="handelDetail(ele, 'credit')" 155 <text @click="handelDetail(ele, 'credit')"
156 :style="{color:'var(--primary-color)'}">{{ele.credit}}</text> 156 :style="{color:'var(--primary-color)'}">{{ele.credit}}</text>
157 - </view> -->  
158 -  
159 - <!-- <view class="projiect" v-else>  
160 - <text>学分</text>  
161 - <text>{{'--'}}</text> 157 + </view> -->
  158 +
  159 + <!-- <view class="projiect" v-else>
  160 + <text>学分</text>
  161 + <text>{{'--'}}</text>
162 </view> --> 162 </view> -->
163 </view> 163 </view>
164 </view> 164 </view>
165 <c-loading :loading="loading"></c-loading> 165 <c-loading :loading="loading"></c-loading>
166 </view> 166 </view>
167 167
168 - </view>  
169 -  
170 - <u-popup :show="show" mode="bottom" @close="close" :round="22">  
171 - <view class="popup">  
172 - <view style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px;">  
173 - <view class="title">  
174 - 项目筛选  
175 - </view>  
176 - <image class="close" src="/static/img/home/closepop.png" @click="close" mode=""></image>  
177 - </view>  
178 - <view class="search">  
179 - <u-search placeholder="请输入项目关键词搜索" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx"  
180 - bgColor="#F4F4F4" :showAction="true" shape="round" v-model="sxsearch" @custom="workSearch()" @search="workSearch()">  
181 - </u-search>  
182 - </view>  
183 - <scroll-view v-if="works.length>0" scroll-y="true" style="height: 80%; margin-top: 40rpx;"  
184 - @scrolltolower="lower()">  
185 - <view class="item_box" v-for="(item,index) in works" :key="index" @click="popupSelItem(item)">  
186 - <view style="display: flex; align-items: center; justify-content: space-between;">  
187 - <view class="item_title">  
188 - {{item.name}}  
189 - </view>  
190 - <image v-if="item.id == projectId" style="width: 20px; height: 20px;"  
191 - src="/static/img/home/popselect.png" mode=""></image>  
192 - </view>  
193 - </view>  
194 - </scroll-view>  
195 - <view v-else class="no_data" @click="jumpVerified">  
196 - <view class="text_black_28">  
197 - 暂未搜索到该项目  
198 - </view>  
199 - </view>  
200 - </view> 168 + </view>
  169 +
  170 + <u-popup :show="show" mode="bottom" @close="close" :round="22">
  171 + <view class="popup">
  172 + <view style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 28px;">
  173 + <view class="title">
  174 + 项目筛选
  175 + </view>
  176 + <image class="close" src="/static/img/home/closepop.png" @click="close" mode=""></image>
  177 + </view>
  178 + <view class="search">
  179 + <u-search placeholder="请输入项目关键词搜索" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx"
  180 + bgColor="#F4F4F4" :showAction="true" shape="round" v-model="sxsearch" @custom="workSearch()" @search="workSearch()">
  181 + </u-search>
  182 + </view>
  183 + <scroll-view v-if="works.length>0" scroll-y="true" style="height: 80%; margin-top: 40rpx;"
  184 + @scrolltolower="lower()">
  185 + <view class="item_box" v-for="(item,index) in works" :key="index" @click="popupSelItem(item)">
  186 + <view style="display: flex; align-items: center; justify-content: space-between;">
  187 + <view class="item_title">
  188 + {{item.name}}
  189 + </view>
  190 + <image v-if="item.id == projectId" style="width: 20px; height: 20px;"
  191 + :src="vuex_baseImgUrl && `${vuex_baseImgUrl}popselect.png`" mode=""></image>
  192 + </view>
  193 + </view>
  194 + </scroll-view>
  195 + <view v-else class="no_data" @click="jumpVerified">
  196 + <view class="text_black_28">
  197 + 暂未搜索到该项目
  198 + </view>
  199 + </view>
  200 + </view>
201 </u-popup> 201 </u-popup>
202 202
203 <!-- <u-popup :show="show" mode="right" @close="close" @open="open" :closeOnClickOverlay="false"> 203 <!-- <u-popup :show="show" mode="right" @close="close" @open="open" :closeOnClickOverlay="false">
@@ -242,7 +242,7 @@ @@ -242,7 +242,7 @@
242 import { 242 import {
243 getInternshipProcessDetailApi, 243 getInternshipProcessDetailApi,
244 getInternshipJobListApi, 244 getInternshipJobListApi,
245 - getPracticalCoursesListApi, 245 + getPracticalCoursesListApi,
246 getProjectListApi, 246 getProjectListApi,
247 } from '@/config/api.js'; 247 } from '@/config/api.js';
248 248
@@ -266,9 +266,9 @@ @@ -266,9 +266,9 @@
266 //搜索对象必须为key search的对象 266 //搜索对象必须为key search的对象
267 status: 'wait,pass,reject', 267 status: 'wait,pass,reject',
268 268
269 - },  
270 - works: [],  
271 - workspage: 1, 269 + },
  270 + works: [],
  271 + workspage: 1,
272 workstotal: 0, 272 workstotal: 0,
273 } 273 }
274 }, 274 },
@@ -276,7 +276,7 @@ @@ -276,7 +276,7 @@
276 onLoad(option) { 276 onLoad(option) {
277 // this.$store.dispatch(`home/getProjectList`, { 277 // this.$store.dispatch(`home/getProjectList`, {
278 // pageSize: -1, 278 // pageSize: -1,
279 - // }) 279 + // })
280 this.worksloadData() 280 this.worksloadData()
281 281
282 this.studentId = option.studentId; 282 this.studentId = option.studentId;
@@ -296,12 +296,12 @@ @@ -296,12 +296,12 @@
296 }), 296 }),
297 }, 297 },
298 298
299 - methods: {  
300 -  
301 - projiectSel(e) {  
302 - this.$u.route({  
303 - url: `pages/main/internship/traineeInterList/traineeInterList?&id=${e.entryId}`  
304 - }) 299 + methods: {
  300 +
  301 + projiectSel(e) {
  302 + this.$u.route({
  303 + url: `pages/main/internship/traineeInterList/traineeInterList?&id=${e.entryId}`
  304 + })
305 }, 305 },
306 306
307 getNameLastTwo(value) { 307 getNameLastTwo(value) {
@@ -349,17 +349,17 @@ @@ -349,17 +349,17 @@
349 349
350 handelRecord(type) { 350 handelRecord(type) {
351 351
352 - switch (type) {  
353 -  
354 - case 'signin':  
355 - if(!this.projectId) {  
356 - this.$u.toast('请先选择实习项目');  
357 - return;  
358 - }  
359 - this.$u.route({  
360 - url: `pages/main/internship/signInList/signInList?studentId=${this.detail.studentId}&projectId=${this.projectId}`  
361 - })  
362 - break; 352 + switch (type) {
  353 +
  354 + case 'signin':
  355 + if(!this.projectId) {
  356 + this.$u.toast('请先选择实习项目');
  357 + return;
  358 + }
  359 + this.$u.route({
  360 + url: `pages/main/internship/signInList/signInList?studentId=${this.detail.studentId}&projectId=${this.projectId}`
  361 + })
  362 + break;
363 363
364 case 'aggrent': 364 case 'aggrent':
365 this.$u.route({ 365 this.$u.route({
@@ -419,7 +419,7 @@ @@ -419,7 +419,7 @@
419 projectId: this.projectId, 419 projectId: this.projectId,
420 }).then(data => { 420 }).then(data => {
421 if (data) { 421 if (data) {
422 - this.detail = data; 422 + this.detail = data;
423 this.show = false 423 this.show = false
424 } 424 }
425 }) 425 })
@@ -477,14 +477,14 @@ @@ -477,14 +477,14 @@
477 this.shownoData = true 477 this.shownoData = true
478 } 478 }
479 479
480 - this.list = this.list.concat(result)  
481 -  
482 - // 判断是否全部加载完成  
483 - if (this.total == this.list.length) {  
484 - this.finished = true;  
485 - this.loading = 'nomore';  
486 - } else {  
487 - this.loading = 'loadmore'; 480 + this.list = this.list.concat(result)
  481 +
  482 + // 判断是否全部加载完成
  483 + if (this.total == this.list.length) {
  484 + this.finished = true;
  485 + this.loading = 'nomore';
  486 + } else {
  487 + this.loading = 'loadmore';
488 } 488 }
489 }, 489 },
490 490
@@ -502,58 +502,58 @@ @@ -502,58 +502,58 @@
502 }) 502 })
503 break; 503 break;
504 } 504 }
505 - },  
506 -  
507 - workSearch() {  
508 - uni.hideKeyboard();  
509 - this.works = []  
510 - this.worksloadData()  
511 - },  
512 -  
513 - lower() {  
514 - setTimeout(() => {  
515 - this.worksloadData(true);  
516 - }, 200)  
517 - },  
518 -  
519 - worksloadData(e) {  
520 - let params = {}  
521 - // this.loading = 'loading'  
522 -  
523 - if (e) {  
524 - if (this.total <= this.works.length) {  
525 - // this.loading = 'nomore'  
526 - return  
527 - }  
528 - this.workspage++  
529 - } else {  
530 - this.workspage = 1  
531 - }  
532 - params['pageNumber'] = this.workspage  
533 - if (this.sxsearch) {  
534 - params['keyWord'] = this.sxsearch  
535 - }  
536 - getProjectListApi(params).then(async res => {  
537 - if (res) {  
538 - this.total = res.total  
539 - // this.loading = 'loadmore'  
540 - this.works = this.works.concat(res.records)  
541 - }  
542 - })  
543 - },  
544 - popupSelItem(item) {  
545 - this.projectId = item.id;  
546 - this.finished = false;  
547 -  
548 - getInternshipProcessDetailApi({  
549 - studentId: this.studentId,  
550 - projectId: this.projectId,  
551 - }).then(data => {  
552 - if (data) {  
553 - this.detail = data;  
554 - this.show = false  
555 - }  
556 - }) 505 + },
  506 +
  507 + workSearch() {
  508 + uni.hideKeyboard();
  509 + this.works = []
  510 + this.worksloadData()
  511 + },
  512 +
  513 + lower() {
  514 + setTimeout(() => {
  515 + this.worksloadData(true);
  516 + }, 200)
  517 + },
  518 +
  519 + worksloadData(e) {
  520 + let params = {}
  521 + // this.loading = 'loading'
  522 +
  523 + if (e) {
  524 + if (this.total <= this.works.length) {
  525 + // this.loading = 'nomore'
  526 + return
  527 + }
  528 + this.workspage++
  529 + } else {
  530 + this.workspage = 1
  531 + }
  532 + params['pageNumber'] = this.workspage
  533 + if (this.sxsearch) {
  534 + params['keyWord'] = this.sxsearch
  535 + }
  536 + getProjectListApi(params).then(async res => {
  537 + if (res) {
  538 + this.total = res.total
  539 + // this.loading = 'loadmore'
  540 + this.works = this.works.concat(res.records)
  541 + }
  542 + })
  543 + },
  544 + popupSelItem(item) {
  545 + this.projectId = item.id;
  546 + this.finished = false;
  547 +
  548 + getInternshipProcessDetailApi({
  549 + studentId: this.studentId,
  550 + projectId: this.projectId,
  551 + }).then(data => {
  552 + if (data) {
  553 + this.detail = data;
  554 + this.show = false
  555 + }
  556 + })
557 }, 557 },
558 558
559 } 559 }
@@ -622,7 +622,7 @@ @@ -622,7 +622,7 @@
622 margin: 0 0 24rpx 0; 622 margin: 0 0 24rpx 0;
623 display: flex; 623 display: flex;
624 flex-flow: row nowrap; 624 flex-flow: row nowrap;
625 - justify-content: space-between; 625 + justify-content: space-between;
626 margin: 0 0 50rpx 0; 626 margin: 0 0 50rpx 0;
627 627
628 text { 628 text {
@@ -767,30 +767,30 @@ @@ -767,30 +767,30 @@
767 } 767 }
768 768
769 .company_box { 769 .company_box {
770 - .company {  
771 - display: flex; 770 + .company {
  771 + display: flex;
772 flex-flow: row nowrap; 772 flex-flow: row nowrap;
773 font-size: 32rpx; 773 font-size: 32rpx;
774 line-height: 44rpx; 774 line-height: 44rpx;
775 color: #202131; 775 color: #202131;
776 margin: 0 0 20rpx 0; 776 margin: 0 0 20rpx 0;
777 - font-weight: 500;  
778 -  
779 - text {  
780 - margin: 0 0 0 8rpx; 777 + font-weight: 500;
  778 +
  779 + text {
  780 + margin: 0 0 0 8rpx;
781 } 781 }
782 } 782 }
783 783
784 - .address {  
785 - display: flex; 784 + .address {
  785 + display: flex;
786 flex-flow: row nowrap; 786 flex-flow: row nowrap;
787 font-size: 28rpx; 787 font-size: 28rpx;
788 line-height: 32rpx; 788 line-height: 32rpx;
789 color: #909097; 789 color: #909097;
790 - margin: 0 0 20rpx 0;  
791 -  
792 - text {  
793 - margin: 0 0 0 8rpx; 790 + margin: 0 0 20rpx 0;
  791 +
  792 + text {
  793 + margin: 0 0 0 8rpx;
794 } 794 }
795 } 795 }
796 } 796 }
@@ -846,32 +846,32 @@ @@ -846,32 +846,32 @@
846 color: #202131; 846 color: #202131;
847 } 847 }
848 848
849 - .scroll {  
850 - max-height: 60vh;  
851 -  
852 - .item {  
853 -  
854 - view {  
855 - display: flex;  
856 - flex-flow: row wrap;  
857 - align-items: center;  
858 - width: 500rpx;  
859 - height: 74rpx;  
860 - border-radius: 4rpx;  
861 - border: 2rpx solid #C1C1C9;  
862 - margin: 0 10rpx 20rpx;  
863 - font-size: 24rpx;  
864 - line-height: 32rpx;  
865 - color: #C0C0C9;  
866 - padding: 16rpx 20rpx;  
867 - }  
868 -  
869 - .selectItem {  
870 - background-color: var(--primary-color);  
871 - color: #FFFFFF;  
872 - border: 2rpx solid var(--primary-color);  
873 - }  
874 - } 849 + .scroll {
  850 + max-height: 60vh;
  851 +
  852 + .item {
  853 +
  854 + view {
  855 + display: flex;
  856 + flex-flow: row wrap;
  857 + align-items: center;
  858 + width: 500rpx;
  859 + height: 74rpx;
  860 + border-radius: 4rpx;
  861 + border: 2rpx solid #C1C1C9;
  862 + margin: 0 10rpx 20rpx;
  863 + font-size: 24rpx;
  864 + line-height: 32rpx;
  865 + color: #C0C0C9;
  866 + padding: 16rpx 20rpx;
  867 + }
  868 +
  869 + .selectItem {
  870 + background-color: var(--primary-color);
  871 + color: #FFFFFF;
  872 + border: 2rpx solid var(--primary-color);
  873 + }
  874 + }
875 } 875 }
876 876
877 .time { 877 .time {
@@ -918,53 +918,53 @@ @@ -918,53 +918,53 @@
918 width: 346rpx; 918 width: 346rpx;
919 } 919 }
920 } 920 }
921 - }  
922 -  
923 - .popup {  
924 - height: 500px;  
925 - padding: 19px 16px;  
926 -  
927 - .title {  
928 - font-size: 18px;  
929 - font-family: PingFangSC-Medium, PingFang SC;  
930 - font-weight: 500;  
931 - color: #000000;  
932 - }  
933 -  
934 - .close {  
935 - width: 22px;  
936 - height: 22px;  
937 - }  
938 -  
939 - .item_box {  
940 - border-radius: 4px;  
941 - margin: 0 0 48rpx;  
942 -  
943 - .item_title {  
944 - height: 20px;  
945 - font-size: 14px;  
946 - font-family: PingFangSC-Regular, PingFang SC;  
947 - font-weight: 400;  
948 - color: rgba(0, 0, 0, 0.65);  
949 - line-height: 20px;  
950 - }  
951 -  
952 - }  
953 -  
954 - .no_data {  
955 - width: 100%;  
956 - margin-top: 310rpx;  
957 -  
958 - .text_black_28 {  
959 - font-size: 14px;  
960 - font-family: PingFangSC-Light, PingFang SC;  
961 - font-weight: 300;  
962 - color: rgba(0, 0, 0, 0.65);  
963 - text-align: center;  
964 - }  
965 -  
966 - }  
967 - 921 + }
  922 +
  923 + .popup {
  924 + height: 500px;
  925 + padding: 19px 16px;
  926 +
  927 + .title {
  928 + font-size: 18px;
  929 + font-family: PingFangSC-Medium, PingFang SC;
  930 + font-weight: 500;
  931 + color: #000000;
  932 + }
  933 +
  934 + .close {
  935 + width: 22px;
  936 + height: 22px;
  937 + }
  938 +
  939 + .item_box {
  940 + border-radius: 4px;
  941 + margin: 0 0 48rpx;
  942 +
  943 + .item_title {
  944 + height: 20px;
  945 + font-size: 14px;
  946 + font-family: PingFangSC-Regular, PingFang SC;
  947 + font-weight: 400;
  948 + color: rgba(0, 0, 0, 0.65);
  949 + line-height: 20px;
  950 + }
  951 +
  952 + }
  953 +
  954 + .no_data {
  955 + width: 100%;
  956 + margin-top: 310rpx;
  957 +
  958 + .text_black_28 {
  959 + font-size: 14px;
  960 + font-family: PingFangSC-Light, PingFang SC;
  961 + font-weight: 300;
  962 + color: rgba(0, 0, 0, 0.65);
  963 + text-align: center;
  964 + }
  965 +
  966 + }
  967 +
968 } 968 }
969 } 969 }
970 -</style> 970 +</style>
@@ -26,7 +26,7 @@ @@ -26,7 +26,7 @@
26 </view> 26 </view>
27 <view v-else style="width: 100%; height: 100%;"> 27 <view v-else style="width: 100%; height: 100%;">
28 <view style="margin: 150px auto 0; width: 187px;height: 110px;"> 28 <view style="margin: 150px auto 0; width: 187px;height: 110px;">
29 - <image style="width: 187px;height: 110px;" :src="'/static/img/home/nodata.png'"></image> 29 + <image style="width: 187px;height: 110px;" :src="vuex_baseImgUrl && `${vuex_baseImgUrl}nodata.png`"></image>
30 </view> 30 </view>
31 <view style="width: 100%; margin-top: 10px; text-align: center; font-size: 13px; color: #121212;">暂无数据</view> 31 <view style="width: 100%; margin-top: 10px; text-align: center; font-size: 13px; color: #121212;">暂无数据</view>
32 </view> 32 </view>
@@ -137,10 +137,10 @@ @@ -137,10 +137,10 @@
137 } 137 }
138 </script> 138 </script>
139 139
140 -<style>  
141 - page {  
142 - background-color: #F7F7F7;  
143 - } 140 +<style>
  141 + page {
  142 + background-color: #F7F7F7;
  143 + }
144 </style> 144 </style>
145 145
146 <style lang="scss" scoped> 146 <style lang="scss" scoped>
@@ -28,8 +28,8 @@ @@ -28,8 +28,8 @@
28 附件 28 附件
29 </view> 29 </view>
30 <view class="greenbg" v-for="(item,index) in attachmentsFile" :key="index" @click="openLink(item.response)"> 30 <view class="greenbg" v-for="(item,index) in attachmentsFile" :key="index" @click="openLink(item.response)">
31 - <image v-if="item.response.mime_type.indexOf('image') != -1" src="/static/img/message/icon_img.png" style="width: 60rpx;height: 60rpx;"></image>  
32 - <image v-else src="/static/img/message/icon_file.png" style="width: 60rpx;height: 60rpx;"></image> 31 + <image v-if="item.response.mime_type.indexOf('image') != -1" :src="vuex_baseImgUrl && `${vuex_baseImgUrl}icon_img.png`" style="width: 60rpx;height: 60rpx;"></image>
  32 + <image v-else :src="vuex_baseImgUrl && `${vuex_baseImgUrl}icon_file.png`" style="width: 60rpx;height: 60rpx;"></image>
33 <view class="name"> 33 <view class="name">
34 {{item.response.filename}} 34 {{item.response.filename}}
35 </view> 35 </view>
1 -<template>  
2 - <view class="page" :style="vuex_theme">  
3 - <view v-if="list.length > 0">  
4 - <view class="list"> 1 +<template>
  2 + <view class="page" :style="vuex_theme">
  3 + <view v-if="list.length > 0">
  4 + <view class="list">
5 <view v-for="(item,index) in list" :key="index" @click="handelClick(item)"> 5 <view v-for="(item,index) in list" :key="index" @click="handelClick(item)">
6 <view class="time"> 6 <view class="time">
7 {{$u.timeFrom(item.sendTime)}} 7 {{$u.timeFrom(item.sendTime)}}
8 - </view> 8 + </view>
9 <view class="list-item"> 9 <view class="list-item">
10 - <image class="head" :src="`${vuex_ossUrlPubilc}/${item.coverPicPath[0].response.object}`"></image> 10 + <image class="head" :src="`${vuex_ossUrlPubilc}/${item.coverPicPath[0].response.object}`"></image>
11 <view class="item-t"> 11 <view class="item-t">
12 {{item.title}} 12 {{item.title}}
13 </view> 13 </view>
@@ -15,41 +15,41 @@ @@ -15,41 +15,41 @@
15 {{type[item.type]}} 15 {{type[item.type]}}
16 </view> 16 </view>
17 <view v-if="item.ifRead == 'unread'" class="red"></view> 17 <view v-if="item.ifRead == 'unread'" class="red"></view>
18 - </view>  
19 - </view>  
20 - </view>  
21 - <view style="height: 40rpx;"></view>  
22 - <c-loading :loading="loading"></c-loading>  
23 - <view style="height: 40rpx;"></view>  
24 - </view> 18 + </view>
  19 + </view>
  20 + </view>
  21 + <view style="height: 40rpx;"></view>
  22 + <c-loading :loading="loading"></c-loading>
  23 + <view style="height: 40rpx;"></view>
  24 + </view>
25 <view v-else style="width: 100%; height: 100%;"> 25 <view v-else style="width: 100%; height: 100%;">
26 <view style="margin: 150px auto 0; width: 187px;height: 110px;"> 26 <view style="margin: 150px auto 0; width: 187px;height: 110px;">
27 - <image style="width: 187px;height: 110px;" :src="'/static/img/internship/nodata.png'"></image> 27 + <image style="width: 187px;height: 110px;" :src="vuex_baseImgUrl && `${vuex_baseImgUrl}nodata.png`"></image>
28 </view> 28 </view>
29 <view style="width: 100%; margin-top: 10px; text-align: center; font-size: 13px; color: #121212;">暂无数据 29 <view style="width: 100%; margin-top: 10px; text-align: center; font-size: 13px; color: #121212;">暂无数据
30 </view> 30 </view>
31 - </view>  
32 - </view>  
33 -</template>  
34 - 31 + </view>
  32 + </view>
  33 +</template>
  34 +
35 <script> 35 <script>
36 import { 36 import {
37 msglistUrl, 37 msglistUrl,
38 } from '@/config/api.js'; 38 } from '@/config/api.js';
39 - import listMixin from "@/common/mixins/list-mixin.js"; 39 + import listMixin from "@/common/mixins/list-mixin.js";
40 export default { 40 export default {
41 - mixins: [listMixin],  
42 - data() { 41 + mixins: [listMixin],
  42 + data() {
43 return { 43 return {
44 - source: '', 44 + source: '',
45 list: [], 45 list: [],
46 type: { 46 type: {
47 system: '系统公告', 47 system: '系统公告',
48 inform: '通知公告', 48 inform: '通知公告',
49 safety_rules: '安全条例', 49 safety_rules: '安全条例',
50 vital_document: '重要文件' 50 vital_document: '重要文件'
51 - }  
52 - } 51 + }
  52 + }
53 }, 53 },
54 54
55 onLoad(e) { 55 onLoad(e) {
@@ -62,8 +62,8 @@ @@ -62,8 +62,8 @@
62 // return 62 // return
63 // } 63 // }
64 // this.loadTestData() 64 // this.loadTestData()
65 - },  
66 - 65 + },
  66 +
67 methods: { 67 methods: {
68 handelClick(item) { 68 handelClick(item) {
69 item.ifRead = 'read' 69 item.ifRead = 'read'
@@ -74,7 +74,7 @@ @@ -74,7 +74,7 @@
74 } 74 }
75 }); 75 });
76 }, 76 },
77 - 77 +
78 loadTestData() { 78 loadTestData() {
79 this.finished = false; 79 this.finished = false;
80 this.loading = "loadmore"; 80 this.loading = "loadmore";
@@ -129,12 +129,12 @@ @@ -129,12 +129,12 @@
129 } 129 }
130 130
131 uni.hideLoading(); 131 uni.hideLoading();
132 - },  
133 - }  
134 - }  
135 -</script>  
136 -  
137 -<style lang="scss" scoped> 132 + },
  133 + }
  134 + }
  135 +</script>
  136 +
  137 +<style lang="scss" scoped>
138 .page { 138 .page {
139 padding: 32rpx; 139 padding: 32rpx;
140 background: #FDFDFD; 140 background: #FDFDFD;
@@ -213,5 +213,5 @@ @@ -213,5 +213,5 @@
213 background-color: red; 213 background-color: red;
214 } 214 }
215 } 215 }
216 - } 216 + }
217 </style> 217 </style>
@@ -30,23 +30,23 @@ @@ -30,23 +30,23 @@
30 </view> 30 </view>
31 </view> 31 </view>
32 </view> 32 </view>
33 - </view>  
34 -  
35 - <u-overlay :show="showModal">  
36 - <view class="modal" v-show="showModal">  
37 - <image src="/static/img/my/delete.png" class="close" @click="closeModal"></image>  
38 - <view class="text0" style="margin-top:64rpx">请输入验证码</view>  
39 - <view class="text1" style="margin: 32rpx;">已发送至手机号:{{getPhone}}</view>  
40 - <view style="margin: 32rpx auto;width:'200rpx'">  
41 - <u-code-input :maxlength="4" v-model="currentCode" size="48" :focus="false" :dot="true" :width="76"  
42 - @change="change" @finish="goNext"></u-code-input>  
43 - </view>  
44 - <view style="margin-top: 32rpx;">  
45 - <u-code ref="uCode" @change="codeChange">  
46 - </u-code>  
47 - <view class="text2" @click="getCode">{{tips}}</view>  
48 - </view>  
49 - </view> 33 + </view>
  34 +
  35 + <u-overlay :show="showModal">
  36 + <view class="modal" v-show="showModal">
  37 + <image src="/static/img/my/delete.png" class="close" @click="closeModal"></image>
  38 + <view class="text0" style="margin-top:64rpx">请输入验证码</view>
  39 + <view class="text1" style="margin: 32rpx;">已发送至手机号:{{getPhone}}</view>
  40 + <view style="margin: 32rpx auto;width:'200rpx'">
  41 + <u-code-input :maxlength="4" v-model="currentCode" size="48" :focus="false" :dot="true" :width="76"
  42 + @change="change" @finish="goNext"></u-code-input>
  43 + </view>
  44 + <view style="margin-top: 32rpx;">
  45 + <u-code ref="uCode" @change="codeChange">
  46 + </u-code>
  47 + <view class="text2" @click="getCode">{{tips}}</view>
  48 + </view>
  49 + </view>
50 </u-overlay> 50 </u-overlay>
51 51
52 </view> 52 </view>
@@ -59,11 +59,11 @@ @@ -59,11 +59,11 @@
59 import { 59 import {
60 mapState, 60 mapState,
61 mapActions 61 mapActions
62 - } from 'vuex'  
63 -  
64 - import {  
65 - getSmsCodeApi,  
66 - delAccountApi, 62 + } from 'vuex'
  63 +
  64 + import {
  65 + getSmsCodeApi,
  66 + delAccountApi,
67 } from '@/config/api.js'; 67 } from '@/config/api.js';
68 68
69 export default { 69 export default {
@@ -150,15 +150,15 @@ @@ -150,15 +150,15 @@
150 uni.showToast({ 150 uni.showToast({
151 title: '注销成功' 151 title: '注销成功'
152 }); 152 });
153 - this.closeModal();  
154 -  
155 - await uni.$u.vuex('vuex_user', {});  
156 - await uni.$u.vuex('vuex_token', {});  
157 - await uni.setStorageSync('lifeData', {})  
158 -  
159 - this.$u.route({  
160 - url: '/pages/main/my/freezing/freezing',  
161 - type: 'reLaunch', 153 + this.closeModal();
  154 +
  155 + await uni.$u.vuex('vuex_user', {});
  156 + await uni.$u.vuex('vuex_token', {});
  157 + await uni.setStorageSync('lifeData', {})
  158 +
  159 + this.$u.route({
  160 + url: '/pages/main/my/freezing/freezing',
  161 + type: 'reLaunch',
162 }); 162 });
163 } 163 }
164 }) 164 })
@@ -214,7 +214,7 @@ @@ -214,7 +214,7 @@
214 .bd2 { 214 .bd2 {
215 height: 96rpx; 215 height: 96rpx;
216 border-radius: 8rpx; 216 border-radius: 8rpx;
217 - background-color: rgba(12, 177, 122, 1); 217 + background-color: var(--primary-color);
218 margin: auto 30rpx; 218 margin: auto 30rpx;
219 width: 60%; 219 width: 60%;
220 display: flex; 220 display: flex;
@@ -279,4 +279,4 @@ @@ -279,4 +279,4 @@
279 text-align: center; 279 text-align: center;
280 } 280 }
281 } 281 }
282 -</style> 282 +</style>
1 <template> 1 <template>
2 - <view class="login" :style="vuex_theme">  
3 - <u-image width="100%" height="100%" :src="vuex_baseImgUrl+'logo_bg.png'" />  
4 -  
5 - <view class="box">  
6 -  
7 - <view class="logo">  
8 - <u-image width="200rpx" height="96rpx" :src="vuex_baseImgUrl+'logo.png'" />  
9 - </view>  
10 -  
11 - <view class="btn button_warp">  
12 - <c-button type="confirm" text="微信一键登录" :disabled="isDisable" openType="getPhoneNumber"  
13 - @getPhoneNumber="getPhoneNumber" @click="getUserProfile"></c-button>  
14 - </view>  
15 -  
16 - <view class="changeLogin" @click="handelMobileLogin">  
17 - 手机号码登录/注册  
18 - </view>  
19 -  
20 - <view class="agreement">  
21 - <view class="check">  
22 - <u-checkbox-group @change="checkboxChange" v-model="checked">  
23 - <u-checkbox size="30" activeColor="var(--primary-color)" shape="circle">  
24 - </u-checkbox>  
25 - </u-checkbox-group>  
26 - </view>  
27 - <view class="text">  
28 - <text>您已阅读理解并同意</text>  
29 - <text class="span" @click="linkService">《校职通服务协议》、</text>  
30 - <text class="span" @click="linkPolicy">《校职通隐私政策》</text>  
31 - </view>  
32 - </view>  
33 -  
34 - </view>  
35 - </view> 2 + <view class="login" :style="vuex_theme">
  3 + <!-- <view style="width: '100%'; height: '100%'"> -->
  4 + <image
  5 + style="width:100%; height:100%"
  6 + :src="vuex_baseImgUrl && `${vuex_baseImgUrl}logo_bg.png`"
  7 + />
  8 + <!-- </view> -->
  9 +
  10 + <view class="box">
  11 + <view class="logo">
  12 + <u-image
  13 + width="200rpx"
  14 + height="96rpx"
  15 + :src="vuex_baseImgUrl && `${vuex_baseImgUrl}logo.png`"
  16 + />
  17 + </view>
  18 +
  19 + <view class="btn button_warp">
  20 + <c-button
  21 + type="confirm"
  22 + text="微信一键登录"
  23 + :disabled="isDisable"
  24 + openType="getPhoneNumber"
  25 + @getPhoneNumber="getPhoneNumber"
  26 + @click="getUserProfile"
  27 + ></c-button>
  28 + </view>
  29 +
  30 + <view class="changeLogin" @click="handelMobileLogin">
  31 + 手机号码登录/注册
  32 + </view>
  33 +
  34 + <view class="agreement">
  35 + <view class="check">
  36 + <u-checkbox-group @change="checkboxChange" v-model="checked">
  37 + <u-checkbox
  38 + size="30"
  39 + activeColor="var(--primary-color)"
  40 + shape="circle"
  41 + >
  42 + </u-checkbox>
  43 + </u-checkbox-group>
  44 + </view>
  45 + <view class="text">
  46 + <text>您1已阅读理解并同意</text>
  47 + <text class="span" @click="linkService">《校职通服务协议》、</text>
  48 + <text class="span" @click="linkPolicy">《校职通隐私政策》</text>
  49 + </view>
  50 + </view>
  51 + </view>
  52 + </view>
36 </template> 53 </template>
37 54
38 <script> 55 <script>
39 - import {  
40 - mapState,  
41 - mapActions  
42 - } from 'vuex'  
43 -  
44 - export default {  
45 - data() {  
46 - return {  
47 - isDisable: true,  
48 - checked: [],  
49 - service: "https://hropublic.oss-cn-beijing.aliyuncs.com/agreement/%E6%A0%A1%E8%81%8C%E9%80%9A%E6%9C%8D%E5%8A%A1%E5%8D%8F%E8%AE%AE.html",  
50 - policy: "https://hropublic.oss-cn-beijing.aliyuncs.com/agreement/%E6%A0%A1%E8%81%8C%E9%80%9A%E9%9A%90%E7%A7%81%E5%8D%8F%E8%AE%AE.html",  
51 - form: {  
52 - mobile: '',  
53 - password: '',  
54 - },  
55 - }  
56 - },  
57 -  
58 - onLoad() {  
59 - const {  
60 - dispatch  
61 - } = this.$store;  
62 -  
63 - },  
64 -  
65 - onShow() {  
66 -  
67 - },  
68 -  
69 - watch: {  
70 - checked: function(newVal, oldVal) {  
71 - this.isDisable = newVal.length != 0 ? false : true;  
72 -  
73 - }  
74 - },  
75 -  
76 - computed: {  
77 - ...mapState('user', {  
78 - // 箭头函数可使代码更简练  
79 - isReg: 'isReg',  
80 -  
81 - }),  
82 - },  
83 -  
84 - methods: {  
85 -  
86 - linkService() {  
87 - console.log(this)  
88 - this.$u.route({  
89 - url: `/pages/common/webview/webview?navtitle=服务协议&url=${this.service}`,  
90 - })  
91 - },  
92 -  
93 - linkPolicy() {  
94 - this.$u.route({  
95 - url: `/pages/common/webview/webview?navtitle=隐私政策&url=${this.policy}`,  
96 - })  
97 - },  
98 -  
99 - checkboxChange(n) {  
100 - console.log(n)  
101 -  
102 - },  
103 -  
104 - getUserProfile() {  
105 - // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认  
106 - // 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗  
107 - wx.getUserProfile({  
108 - desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写  
109 - success: (res) => {  
110 - console.log('getUserProfile...', res)  
111 - // this.$store.commit('setWenxinUserInfo', res);  
112 - this.$u.vuex('vuex_weixinUserInfo', res.userInfo);  
113 - }  
114 - })  
115 - },  
116 -  
117 - getPhoneNumber(e) {  
118 - console.log(e)  
119 -  
120 - wx.login({  
121 - success: (res) => {  
122 - console.log(res);  
123 -  
124 - this.$store.dispatch(`user/login`, {  
125 - way: 'wechat_code',  
126 - type: 'teacher',  
127 - jsCode: res.code,  
128 - code: e.detail.code,  
129 - })  
130 - }  
131 - })  
132 - },  
133 -  
134 - handelMobileLogin() {  
135 - this.$u.route({  
136 - url: "/pages/main/my/mobileLogin/mobileLogin",  
137 - params: {}  
138 - });  
139 - }  
140 - }  
141 -  
142 - } 56 +import { mapState, mapActions } from "vuex";
  57 +
  58 +export default {
  59 + data() {
  60 + return {
  61 + isDisable: true,
  62 + checked: [],
  63 + service:
  64 + "https://hropublic.oss-cn-beijing.aliyuncs.com/agreement/%E6%A0%A1%E8%81%8C%E9%80%9A%E6%9C%8D%E5%8A%A1%E5%8D%8F%E8%AE%AE.html",
  65 + policy:
  66 + "https://hropublic.oss-cn-beijing.aliyuncs.com/agreement/%E6%A0%A1%E8%81%8C%E9%80%9A%E9%9A%90%E7%A7%81%E5%8D%8F%E8%AE%AE.html",
  67 + form: {
  68 + mobile: "",
  69 + password: "",
  70 + },
  71 + };
  72 + },
  73 +
  74 + onLoad() {
  75 + const { dispatch } = this.$store;
  76 + },
  77 +
  78 + onShow() {},
  79 +
  80 + watch: {
  81 + checked: function (newVal, oldVal) {
  82 + this.isDisable = newVal.length != 0 ? false : true;
  83 + },
  84 + },
  85 +
  86 + computed: {
  87 + ...mapState("user", {
  88 + // 箭头函数可使代码更简练
  89 + isReg: "isReg",
  90 + }),
  91 + },
  92 +
  93 + methods: {
  94 + linkService() {
  95 + console.log(this);
  96 + this.$u.route({
  97 + url: `/pages/common/webview/webview?navtitle=服务协议&url=${this.service}`,
  98 + });
  99 + },
  100 +
  101 + linkPolicy() {
  102 + this.$u.route({
  103 + url: `/pages/common/webview/webview?navtitle=隐私政策&url=${this.policy}`,
  104 + });
  105 + },
  106 +
  107 + checkboxChange(n) {
  108 + console.log(n);
  109 + },
  110 +
  111 + getUserProfile() {
  112 + // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认
  113 + // 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
  114 + wx.getUserProfile({
  115 + desc: "用于完善会员资料", // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
  116 + success: (res) => {
  117 + console.log("getUserProfile...", res);
  118 + // this.$store.commit('setWenxinUserInfo', res);
  119 + this.$u.vuex("vuex_weixinUserInfo", res.userInfo);
  120 + },
  121 + });
  122 + },
  123 +
  124 + getPhoneNumber(e) {
  125 + console.log(e);
  126 +
  127 + wx.login({
  128 + success: (res) => {
  129 + console.log(res);
  130 +
  131 + this.$store.dispatch(`user/login`, {
  132 + way: "wechat_code",
  133 + type: "teacher",
  134 + jsCode: res.code,
  135 + code: e.detail.code,
  136 + });
  137 + },
  138 + });
  139 + },
  140 +
  141 + handelMobileLogin() {
  142 + this.$u.route({
  143 + url: "/pages/main/my/mobileLogin/mobileLogin",
  144 + params: {},
  145 + });
  146 + },
  147 + },
  148 +};
143 </script> 149 </script>
144 150
145 <style lang="scss" scoped> 151 <style lang="scss" scoped>
146 - .login {  
147 - width: 100%;  
148 - height: 100%;  
149 - position: relative;  
150 -  
151 - .box {  
152 - width: 100%;  
153 - height: 100%;  
154 - position: absolute;  
155 - top: 0;  
156 - left: 0;  
157 -  
158 - .logo {  
159 - padding: 156rpx 0 0 0;  
160 - width: 200rpx;  
161 - margin: 0 auto;  
162 - }  
163 -  
164 - .changeLogin {  
165 - width: 100%;  
166 - text-align: center;  
167 - margin: 48rpx 0 0 0;  
168 - font-size: 15px;  
169 - font-weight: 400;  
170 - color: var(--primary-color);  
171 -  
172 - }  
173 -  
174 - .agreement {  
175 - position: fixed;  
176 - left: 0;  
177 - bottom: 34rpx;  
178 - display: flex;  
179 - flex-direction: row;  
180 - justify-content: flex-start;  
181 - font-size: 24rpx;  
182 - margin: 30rpx 0 32rpx 0;  
183 - padding: 0 50rpx;  
184 -  
185 - .check {  
186 - width: 40rpx;  
187 - padding: 3rpx 0 0 0;  
188 - // display: inline-block;  
189 - }  
190 -  
191 - .text {  
192 - // display: inline-block;  
193 - color: rgba(0, 0, 0, 0.45);  
194 -  
195 - .span {  
196 - color: var(--primary-color);  
197 - }  
198 - }  
199 - }  
200 -  
201 - .form {  
202 - margin: 30rpx 60rpx 0px;  
203 - }  
204 -  
205 - .btn {  
206 - margin-top: 200rpx;  
207 - padding: 0 48rpx;  
208 - }  
209 -  
210 - .wxLogin {  
211 - display: flex;  
212 - align-items: center;  
213 - flex-direction: column;  
214 - margin-top: 180rpx;  
215 -  
216 - button {  
217 - background-color: transparent;  
218 - }  
219 -  
220 - button::after {  
221 - border: initial  
222 - }  
223 -  
224 - image {  
225 - width: 96rpx;  
226 - height: 96rpx;  
227 - }  
228 -  
229 - text {  
230 - margin-top: 0rpx;  
231 - }  
232 - }  
233 - }  
234 - }  
235 -</style> 152 +.login {
  153 + width: 100%;
  154 + height: 100%;
  155 + position: relative;
  156 +
  157 + .box {
  158 + width: 100%;
  159 + height: 100%;
  160 + position: absolute;
  161 + top: 0;
  162 + left: 0;
  163 +
  164 + .logo {
  165 + padding: 156rpx 0 0 0;
  166 + width: 200rpx;
  167 + margin: 0 auto;
  168 + }
  169 +
  170 + .changeLogin {
  171 + width: 100%;
  172 + text-align: center;
  173 + margin: 48rpx 0 0 0;
  174 + font-size: 15px;
  175 + font-weight: 400;
  176 + color: var(--primary-color);
  177 + }
  178 +
  179 + .agreement {
  180 + position: fixed;
  181 + left: 0;
  182 + bottom: 34rpx;
  183 + display: flex;
  184 + flex-direction: row;
  185 + justify-content: flex-start;
  186 + font-size: 24rpx;
  187 + margin: 30rpx 0 32rpx 0;
  188 + padding: 0 50rpx;
  189 +
  190 + .check {
  191 + width: 40rpx;
  192 + padding: 3rpx 0 0 0;
  193 + // display: inline-block;
  194 + }
  195 +
  196 + .text {
  197 + // display: inline-block;
  198 + color: rgba(0, 0, 0, 0.45);
  199 +
  200 + .span {
  201 + color: var(--primary-color);
  202 + }
  203 + }
  204 + }
  205 +
  206 + .form {
  207 + margin: 30rpx 60rpx 0px;
  208 + }
  209 +
  210 + .btn {
  211 + margin-top: 200rpx;
  212 + padding: 0 48rpx;
  213 + }
  214 +
  215 + .wxLogin {
  216 + display: flex;
  217 + align-items: center;
  218 + flex-direction: column;
  219 + margin-top: 180rpx;
  220 +
  221 + button {
  222 + background-color: transparent;
  223 + }
  224 +
  225 + button::after {
  226 + border: initial;
  227 + }
  228 +
  229 + image {
  230 + width: 96rpx;
  231 + height: 96rpx;
  232 + }
  233 +
  234 + text {
  235 + margin-top: 0rpx;
  236 + }
  237 + }
  238 + }
  239 +}
  240 +</style>
@@ -5,13 +5,13 @@ @@ -5,13 +5,13 @@
5 <u-form :model="form" ref="uForm"> 5 <u-form :model="form" ref="uForm">
6 <u-form-item prop="mobile" 6 <u-form-item prop="mobile"
7 :leftIconStyle="{width:'40rpx',height:'40rpx', position:'relative', right:'8rpx'}" 7 :leftIconStyle="{width:'40rpx',height:'40rpx', position:'relative', right:'8rpx'}"
8 - left-icon="/static/img/my/login_mobile.png" borderBottom> 8 + :left-icon="vuex_baseImgUrl && `${vuex_baseImgUrl}login_mobile.png`" borderBottom>
9 <u-input v-model="form.mobile" border="none" maxlength='11' placeholder="请输入手机号" 9 <u-input v-model="form.mobile" border="none" maxlength='11' placeholder="请输入手机号"
10 :customStyle="{fontSize:'17px'}" /> 10 :customStyle="{fontSize:'17px'}" />
11 </u-form-item> 11 </u-form-item>
12 <u-form-item prop="verifyCode" 12 <u-form-item prop="verifyCode"
13 :leftIconStyle="{width:'40rpx',height:'40rpx', position:'relative', right:'8rpx'}" 13 :leftIconStyle="{width:'40rpx',height:'40rpx', position:'relative', right:'8rpx'}"
14 - left-icon="/static/img/my/login_code1.png" borderBottom> 14 + :left-icon="vuex_baseImgUrl && `${vuex_baseImgUrl}login_code1.png`" borderBottom>
15 <u-input v-model="form.password" border="none" placeholder="请输入验证码" 15 <u-input v-model="form.password" border="none" placeholder="请输入验证码"
16 :customStyle="{fontSize:'17px'}" /> 16 :customStyle="{fontSize:'17px'}" />
17 <u-button type="default" size="mini" slot="right" :hair-line="false" 17 <u-button type="default" size="mini" slot="right" :hair-line="false"
@@ -26,13 +26,13 @@ @@ -26,13 +26,13 @@
26 <u-form :model="form" ref="uForm"> 26 <u-form :model="form" ref="uForm">
27 <u-form-item prop="mobile" 27 <u-form-item prop="mobile"
28 :left-icon-style="{width:'40rpx',height:'40rpx', position:'relative', right:'8rpx'}" 28 :left-icon-style="{width:'40rpx',height:'40rpx', position:'relative', right:'8rpx'}"
29 - left-icon="/static/img/my/login_mobile.png" borderBottom> 29 + :left-icon="vuex_baseImgUrl && `${vuex_baseImgUrl}login_mobile.png`" borderBottom>
30 <u-input v-model="form.mobile" border="none" placeholder="请输入账号" 30 <u-input v-model="form.mobile" border="none" placeholder="请输入账号"
31 :customStyle="{fontSize:'17px'}" /> 31 :customStyle="{fontSize:'17px'}" />
32 </u-form-item> 32 </u-form-item>
33 <u-form-item prop="verifyCode" 33 <u-form-item prop="verifyCode"
34 :left-icon-style="{width:'40rpx',height:'40rpx', position:'relative', right:'8rpx'}" 34 :left-icon-style="{width:'40rpx',height:'40rpx', position:'relative', right:'8rpx'}"
35 - left-icon="/static/img/my/login_code2.png" borderBottom> 35 + :left-icon="vuex_baseImgUrl && `${vuex_baseImgUrl}login_code2.png`" borderBottom>
36 <u-input v-model="form.password" border="none" type='password' placeholder="请输入密码" 36 <u-input v-model="form.password" border="none" type='password' placeholder="请输入密码"
37 :customStyle="{fontSize:'17px'}" /> 37 :customStyle="{fontSize:'17px'}" />
38 </u-form-item> 38 </u-form-item>
@@ -82,7 +82,7 @@ @@ -82,7 +82,7 @@
82 export default { 82 export default {
83 data() { 83 data() {
84 return { 84 return {
85 - errorType: 'toast', 85 + errorType: 'toast',
86 isDisable: true, 86 isDisable: true,
87 checked: [], 87 checked: [],
88 service: "https://yxlypublic.oss-cn-beijing.aliyuncs.com/WeChat/agreement/%E3%80%8A%E4%BC%98%E5%AD%A6%E4%B9%90%E4%B8%9A%E7%94%A8%E6%88%B7%E6%9C%8D%E5%8A%A1%E5%8D%8F%E8%AE%AE%E3%80%8B.htm", 88 service: "https://yxlypublic.oss-cn-beijing.aliyuncs.com/WeChat/agreement/%E3%80%8A%E4%BC%98%E5%AD%A6%E4%B9%90%E4%B8%9A%E7%94%A8%E6%88%B7%E6%9C%8D%E5%8A%A1%E5%8D%8F%E8%AE%AE%E3%80%8B.htm",
@@ -105,14 +105,14 @@ @@ -105,14 +105,14 @@
105 105
106 onShow() { 106 onShow() {
107 107
108 - },  
109 -  
110 - watch: {  
111 - checked: function(newVal, oldVal) {  
112 - this.isDisable = newVal.length != 0 ? false : true;  
113 -  
114 - }  
115 - }, 108 + },
  109 +
  110 + watch: {
  111 + checked: function(newVal, oldVal) {
  112 + this.isDisable = newVal.length != 0 ? false : true;
  113 +
  114 + }
  115 + },
116 116
117 117
118 computed: { 118 computed: {
@@ -324,4 +324,4 @@ @@ -324,4 +324,4 @@
324 } 324 }
325 } 325 }
326 } 326 }
327 -</style> 327 +</style>
1 <template> 1 <template>
2 - <view class="home_box" :style="vuex_theme">  
3 - <view v-if="isNav" class="hiddenNav" :style="{'height':menuTop+menuHeight+12+ 'px'}">  
4 - <view class="school" :style="{'margin-top':top}" @click="show = true">  
5 - <text>{{hasLogin?doneSchoolName:'校职通'}}</text>  
6 - <u-icon v-if="hasLogin" size="12rpx" name="/static/img/home/homesan.png" @click="show = true"></u-icon>  
7 - </view>  
8 - </view>  
9 - <view class="home">  
10 - <view class="school_box" v-if="hasLogin">  
11 - <u-image :src="vuex_baseImgUrl+'schoolBg.png'" width="750rpx" height="496rpx" />  
12 - <view class="school" :style="{top:top}" @click="show = true">  
13 - <text>{{doneSchoolName}}</text>  
14 - <u-icon size="12rpx" name="/static/img/home/homesan.png" @click="show = true"></u-icon>  
15 - </view>  
16 - </view>  
17 -  
18 - <view class="school_box" v-else>  
19 - <u-image :src="vuex_baseImgUrl+'schoolBg.png'" width="750rpx" height="496rpx" />  
20 - <view class="school" :style="{top:top}">  
21 - <text>校职通</text>  
22 - <!-- <u-icon size="12rpx" name="/static/img/home/homesan.png"></u-icon> -->  
23 - </view>  
24 - </view>  
25 -  
26 - <view class="infoNew">  
27 - <!-- <u-row justify="space-between" customStyle="margin-bottom: 24rpx"> 2 + <view class="home_box" :style="vuex_theme">
  3 + <view
  4 + v-if="isNav"
  5 + class="hiddenNav"
  6 + :style="{ height: menuTop + menuHeight + 12 + 'px' }"
  7 + >
  8 + <view class="school" :style="{ 'margin-top': top }" @click="show = true">
  9 + <text>{{ hasLogin ? doneSchoolName : "校职通" }}</text>
  10 + <u-icon
  11 + v-if="hasLogin"
  12 + size="12rpx"
  13 + name="/static/img/home/homesan.png"
  14 + @click="show = true"
  15 + ></u-icon>
  16 + </view>
  17 + </view>
  18 + <view class="home">
  19 + <view class="school_box" v-if="hasLogin">
  20 + <u-image
  21 + src="https://yxlypublic.oss-cn-beijing.aliyuncs.com/WeChat/schoolBg.png"
  22 + width="750rpx"
  23 + height="496rpx"
  24 + />
  25 + <view class="school" :style="{ top: top }" @click="show = true">
  26 + <text>{{ doneSchoolName }}</text>
  27 + <u-icon
  28 + size="12rpx"
  29 + name="/static/img/home/homesan.png"
  30 + @click="show = true"
  31 + ></u-icon>
  32 + </view>
  33 + </view>
  34 +
  35 + <view class="school_box" v-else>
  36 + <u-image
  37 + src="https://yxlypublic.oss-cn-beijing.aliyuncs.com/WeChat/schoolBg.png"
  38 + width="750rpx"
  39 + height="496rpx"
  40 + />
  41 + <view class="school" :style="{ top: top }">
  42 + <text>校职通</text>
  43 + <!-- <u-icon size="12rpx" name="/static/img/home/homesan.png"></u-icon> -->
  44 + </view>
  45 + </view>
  46 +
  47 + <view class="infoNew">
  48 + <!-- <u-row justify="space-between" customStyle="margin-bottom: 24rpx">
28 <u-col span="5"> 49 <u-col span="5">
29 <view class="name"> 50 <view class="name">
30 <text>{{teacher.name}}</text> 51 <text>{{teacher.name}}</text>
@@ -38,327 +59,344 @@ @@ -38,327 +59,344 @@
38 </view> 59 </view>
39 </u-col> 60 </u-col>
40 </u-row> --> 61 </u-row> -->
41 - <view class="top">  
42 - <view v-if="hasLogin">  
43 - <view class="name">  
44 - Hi, {{teacher.name}}  
45 - </view>  
46 - </view>  
47 - <view v-else>  
48 - <view class="name">  
49 - 未登录  
50 - </view>  
51 - </view>  
52 - <view v-if="doneRolesLength > 1">  
53 - <view class="identity" @click="handelChange">  
54 - <u-icon size="32rpx" :label="doneRolesName" labelPos="right" labelSize="24rpx"  
55 - labelColor="#202131" name="/static/img/home/changeAuth.png"></u-icon>  
56 - </view>  
57 - </view>  
58 - </view>  
59 - <view class="line" style="margin-top: 24px;"></view>  
60 - <view class="twoCell">  
61 - <view class="item" @click="handelGate(1)">  
62 - <view>  
63 - <image src="/static/img/home/bmsh_sel.png"></image>  
64 - </view>  
65 - <view style="display: flex; flex-direction: column;">  
66 - <view class="t1">  
67 - 报名审核  
68 - </view>  
69 - <view class="t2">  
70 - 审核学生实习报名  
71 - </view>  
72 - </view>  
73 - </view>  
74 - <view class="item" @click="handelGate(8)">  
75 - <view>  
76 - <image src="/static/img/home/newhome1.png"></image>  
77 - </view>  
78 - <view style="display: flex; flex-direction: column;">  
79 - <view class="t1">  
80 - 实习申请  
81 - </view>  
82 - <view class="t2">  
83 - 实习开始&结束审批  
84 - </view>  
85 - </view>  
86 - </view>  
87 - </view>  
88 - <!-- <view class="fiveCell"> -->  
89 - <scroll-view class="fiveCell" scroll-x="true" @scroll="scrollx">  
90 - <view class="item" @click="handelGate(2)">  
91 - <view class="item-flex">  
92 - <image src="/static/img/home/newhome2.png"></image>  
93 - <view class="t1">  
94 - 请假审批  
95 - </view>  
96 - </view>  
97 - </view>  
98 - <view class="item" @click="handelGate(3)">  
99 - <view class="item-flex">  
100 - <image src="/static/img/home/newhome3.png"></image>  
101 - <view class="t1">  
102 - 实习变更  
103 - </view>  
104 - </view>  
105 - </view>  
106 - <view class="item" @click="handelGate(4)">  
107 - <view class="item-flex">  
108 - <image src="/static/img/home/newhome4.png"></image>  
109 - <view class="t1">  
110 - 日志批阅  
111 - </view>  
112 - </view>  
113 - </view>  
114 - <view class="item" @click="handelGate(5)">  
115 - <view class="item-flex">  
116 - <image src="/static/img/home/newhome5.png"></image>  
117 - <view class="t1">  
118 - 报告批阅  
119 - </view>  
120 - </view>  
121 - </view>  
122 - <view class="item" @click="handelGate(6)">  
123 - <view class="item-flex">  
124 - <image src="/static/img/home/newhome6.png"></image>  
125 - <view class="t1">  
126 - 学生签到  
127 - </view>  
128 - </view>  
129 - </view>  
130 - <view class="item" @click="handelGate(7)">  
131 - <view class="item-flex">  
132 - <image src="/static/img/home/newhome7.png"></image>  
133 - <view class="t1">  
134 - 成绩鉴定  
135 - </view>  
136 - </view>  
137 - </view>  
138 - </scroll-view>  
139 - <!-- </view> -->  
140 - <view class="pro">  
141 - <view class="pro_top" :style="{left: processNum+'px'}">  
142 -  
143 - </view>  
144 - </view>  
145 - </view>  
146 -  
147 - <!-- <view class="info" v-else>  
148 - <u-row justify="space-between" customStyle="margin-bottom: 24rpx">  
149 - <u-col span="5">  
150 - <view class="name" @click="handelLOgin">  
151 - <text>未登录</text>  
152 - <text>您还没有登录</text>  
153 - </view>  
154 - </u-col>  
155 - </u-row>  
156 - </view> -->  
157 -  
158 - <!-- <view class="gate">  
159 - <u-row justify="space-between" gutter="16rpx" customStyle="margin-bottom: 10px">  
160 - <u-col span="4">  
161 - <view class="box">  
162 - <view class="item review" data-type="review" @click="handelGate">  
163 - <u-image src="/static/img/home/registrationReviewBg.png" width="220rpx"  
164 - height="256rpx" />  
165 - <view class="copywriting">  
166 - <text>报名审核</text>  
167 - <text>审核学生实习报名</text>  
168 - </view>  
169 - </view>  
170 - </view>  
171 - </u-col>  
172 - <u-col span="4">  
173 - <view class="box">  
174 - <view class="item signIn" :style="{marginBottom:'16rpx'}" data-type="signin"  
175 - @click="handelGate">  
176 - <u-image src="/static/img/home/studentSignInBg.png" width="220rpx" height="120rpx" />  
177 - <view>  
178 - <u-icon size="48rpx" label="学生签到" labelPos="right" labelSize="28rpx"  
179 - labelColor="#1F71DE" name="/static/img/home/iconStudentSignIn.png"></u-icon>  
180 - <text>查看学生签到数据</text>  
181 - </view>  
182 - </view>  
183 - <view class="item report" data-type="report" @click="handelGate">  
184 - <u-image src="/static/img/home/reportReviewBg.png" width="220rpx" height="120rpx" />  
185 - <view>  
186 - <u-icon size="48rpx" label="报告批阅" labelPos="right" labelSize="28rpx"  
187 - labelColor="#FD9A03" name="/static/img/home/iconReportReview.png"></u-icon>  
188 - <text>批阅学生实习报告</text>  
189 - </view>  
190 - </view>  
191 - </view>  
192 - </u-col>  
193 - <u-col span="4">  
194 - <view class="box">  
195 - <view class="item signIn" :style="{marginBottom:'16rpx'}" data-type="log"  
196 - @click="handelGate">  
197 - <u-image src="/static/img/home/logReviewBg.png" width="220rpx" height="120rpx" />  
198 - <view>  
199 - <u-icon size="48rpx" label="日志批阅" labelPos="right" labelSize="28rpx"  
200 - labelColor="#7A7EF9" name="/static/img/home/iconLogReview.png"></u-icon>  
201 - <text>批阅学生周日志</text>  
202 - </view>  
203 - </view>  
204 - <view class="item report" data-type="achievement" @click="handelGate">  
205 - <u-image src="/static/img/home/achievementAppraisalBg.png" width="220rpx"  
206 - height="120rpx" />  
207 - <view>  
208 - <u-icon size="48rpx" label="成绩鉴定" labelPos="right" labelSize="28rpx"  
209 - labelColor="#FF6363" name="/static/img/home/iconAchievementAppraisal.png">  
210 - </u-icon>  
211 - <text>鉴定学生实习成绩</text>  
212 - </view>  
213 - </view>  
214 - </view>  
215 - </u-col>  
216 - </u-row>  
217 -  
218 - </view> -->  
219 -  
220 - <view class="todoList">  
221 - <view class="top">  
222 - <image src="/static/img/home/homedbsx.png"></image>  
223 - <view class="title">待办事项</view>  
224 - </view>  
225 - <view v-if="hasLogin">  
226 - <view  
227 - v-if="statistics && (statistics.formApplyReview > 0 || statistics.formChangeApplyReview > 0 || statistics.leaveRecordReview > 0 || statistics.internshipApply > 0 || statistics.formLogWaitReview > 0 || statistics.reportWaitReview > 0 || statistics.achievementWaitAppraisal > 0 )">  
228 - <view class="cell">  
229 - <u-cell-group :border="false">  
230 - <u-cell  
231 - v-if="statistics && statistics.formApplyReview && statistics.formApplyReview > 0"  
232 - :isLink="true" url="/pages/main/home/interapply/interapply?status=wait"  
233 - arrow-direction="right" :rightIconStyle="{fontSize:'24rpx'}" :border="false">  
234 - <view slot="title" class="u-slot-title">  
235 - <view class="u-cell-title">实习申请</view>  
236 - <view class="u-cell-text">  
237 - 您有<text>{{statistics.formApplyReview}}</text>个<text>实习申请</text>待审批!</view>  
238 - </view>  
239 - <text slot="value" class="u-slot-value">立即审批</text>  
240 -  
241 - </u-cell>  
242 - <view class="line"></view>  
243 - <u-cell  
244 - v-if="statistics && statistics.leaveRecordReview && statistics.leaveRecordReview > 0"  
245 - :isLink="true" url="/pages/main/home/asklist/asklist?status=wait"  
246 - arrow-direction="right" :rightIconStyle="{fontSize:'24rpx'}" :border="false">  
247 - <view slot="title" class="u-slot-title">  
248 - <view class="u-cell-title">请假审批</view>  
249 - <view class="u-cell-text">  
250 - 您有<text>{{statistics.leaveRecordReview}}</text>个<text>请假审批</text>待审批!</view>  
251 - </view>  
252 - <text slot="value" class="u-slot-value">立即审批</text>  
253 -  
254 - </u-cell>  
255 - <view class="line"></view>  
256 - <u-cell  
257 - v-if="statistics && statistics.formChangeApplyReview && statistics.formChangeApplyReview > 0"  
258 - :isLink="true" url="/pages/main/home/changelist/changelist?status=wait"  
259 - arrow-direction="right" :rightIconStyle="{fontSize:'24rpx'}" :border="false">  
260 - <view slot="title" class="u-slot-title">  
261 - <view class="u-cell-title">实习变更</view>  
262 - <view class="u-cell-text">  
263 - 您有<text>{{statistics.formChangeApplyReview}}</text>个<text>实习变更申请</text>待审批!  
264 - </view>  
265 - </view>  
266 - <text slot="value" class="u-slot-value">立即审批</text>  
267 - </u-cell>  
268 - <view class="line"></view>  
269 - <u-cell  
270 - v-if="statistics && statistics.internshipApply && statistics.internshipApply > 0"  
271 - :isLink="true"  
272 - url="/pages/main/home/registrationReview/registrationReview?status=wait"  
273 - arrow-direction="right" :rightIconStyle="{fontSize:'24rpx'}" :border="false">  
274 - <view slot="title" class="u-slot-title">  
275 - <view class="u-cell-title">实习申请</view>  
276 - <view class="u-cell-text">  
277 - 您有<text>{{statistics.internshipApply}}</text>条<text>实习申请</text>待处理!</view>  
278 - </view>  
279 - <text slot="value" class="u-slot-value">立即处理</text>  
280 - </u-cell>  
281 - <view class="line"></view>  
282 - <u-cell  
283 - v-if="statistics && statistics.formLogWaitReview && statistics.formLogWaitReview > 0"  
284 - :isLink="true" url="/pages/main/home/logReview/logReview?status=unread"  
285 - arrow-direction="right" :rightIconStyle="{fontSize:'24rpx'}" :border="false">  
286 - <view slot="title" class="u-slot-title">  
287 - <view class="u-cell-title">日志批阅</view>  
288 - <view class="u-cell-text">  
289 - 您有<text>{{statistics.formLogWaitReview}}</text>篇<text>日志</text>待批阅!</view>  
290 - </view>  
291 - <text slot="value" class="u-slot-value">立即批阅</text>  
292 - </u-cell>  
293 - <view class="line"></view>  
294 - <u-cell  
295 - v-if="statistics && statistics.reportWaitReview && statistics.reportWaitReview > 0"  
296 - :isLink="true" url="/pages/main/home/reportReview/reportReview?status=stay_examine"  
297 - arrow-direction="right" :rightIconStyle="{fontSize:'24rpx'}" :border="false">  
298 - <view slot="title" class="u-slot-title">  
299 - <view class="u-cell-title">报告批阅</view>  
300 - <view class="u-cell-text">  
301 - 您有<text>{{statistics.reportWaitReview}}</text>篇<text>实习报告</text>待批阅!</view>  
302 - </view>  
303 - <text slot="value" class="u-slot-value">立即批阅</text>  
304 - </u-cell>  
305 - <view class="line"></view>  
306 - <u-cell  
307 - v-if="statistics && statistics.achievementWaitAppraisal && statistics.achievementWaitAppraisal > 0"  
308 - :isLink="true"  
309 - url="/pages/main/home/achievementAppraisal/achievementAppraisal?status=wait"  
310 - arrow-direction="right" :rightIconStyle="{fontSize:'24rpx'}" :border="false">  
311 - <view slot="title" class="u-slot-title">  
312 - <view class="u-cell-title">成绩评定</view>  
313 - <view class="u-cell-text">  
314 - 您有<text>{{statistics.achievementWaitAppraisal}}</text>个<text>成绩</text>待评定!  
315 - </view>  
316 - </view>  
317 - <text slot="value" class="u-slot-value">立即评定</text>  
318 - </u-cell>  
319 - <view class="line"></view>  
320 - </u-cell-group>  
321 - </view>  
322 - </view>  
323 - <view v-else>  
324 - <c-no-data paddingTop="30" title="当前无待办事项"></c-no-data>  
325 - </view>  
326 - </view>  
327 - <view class="no_login" v-else>  
328 - <text>登录后可查看待办事项</text>  
329 - <u-button type="primary" text="登录" color="var(--primary-color)" :customStyle="{width:'340rpx'}"  
330 - @click="handelLOgin"></u-button>  
331 - </view>  
332 - </view>  
333 - </view>  
334 - <view style="height: 50px;"></view>  
335 - <u-popup :show="show" mode="bottom" @close="close" @open="open" :round="22">  
336 - <view class="new_popup_search">  
337 - <view style="display: flex; justify-content: space-between; align-items: center;">  
338 - <view class="title">  
339 - 切换学校  
340 - </view>  
341 - <image class="close" src="/static/img/home/closepop.png" @click="close" mode=""></image>  
342 - </view>  
343 - <view class="desc">  
344 - 请选择需要登陆管理的学校  
345 - </view>  
346 - <scroll-view class="scroll" scroll-y="true">  
347 - <view class="item" v-for="(item, i) in schoolList" :key="i" @click="handelClick(item)">  
348 - <!-- <view v-if="item.id == schoolId"> -->  
349 - <view style="display: flex; align-items: center;">  
350 - <image class="pop1" src="/static/img/home/schoolAvatar.png" mode=""></image>  
351 - <text class="fullName">{{item.fullName}}</text>  
352 - </view>  
353 - <image v-if="item.fullName == doneSchoolName" class="pop2" src="/static/img/home/popselect.png" mode=""></image>  
354 - <!-- </view> -->  
355 - <!-- <view v-else> 62 + <view class="top">
  63 + <view v-if="hasLogin">
  64 + <view class="name"> Hi, {{ teacher.name }} </view>
  65 + </view>
  66 + <view v-else>
  67 + <view class="name"> 未登录 </view>
  68 + </view>
  69 + <view v-if="doneRolesLength > 1">
  70 + <view class="identity" @click="handelChange">
  71 + <u-icon
  72 + size="32rpx"
  73 + :label="doneRolesName"
  74 + labelPos="right"
  75 + labelSize="24rpx"
  76 + labelColor="#202131"
  77 + name="/static/img/home/changeAuth.png"
  78 + ></u-icon>
  79 + </view>
  80 + </view>
  81 + </view>
  82 + <view class="line" style="margin-top: 24px"></view>
  83 + <view class="twoCell">
  84 + <view class="item" @click="handelGate(1)">
  85 + <view>
  86 + <image src="/static/img/home/bmsh_sel.png"></image>
  87 + </view>
  88 + <view style="display: flex; flex-direction: column">
  89 + <view class="t1"> 报名审核 </view>
  90 + <view class="t2"> 审核学生实习报名 </view>
  91 + </view>
  92 + </view>
  93 + <view class="item" @click="handelGate(8)">
  94 + <view>
  95 + <image
  96 + :src="vuex_baseImgUrl && `${vuex_baseImgUrl}newhome1.png`"
  97 + ></image>
  98 + </view>
  99 + <view style="display: flex; flex-direction: column">
  100 + <view class="t1"> 实习申请 </view>
  101 + <view class="t2"> 实习开始&结束审批 </view>
  102 + </view>
  103 + </view>
  104 + </view>
  105 + <!-- <view class="fiveCell"> -->
  106 + <scroll-view class="fiveCell" scroll-x="true" @scroll="scrollx">
  107 + <view class="item" @click="handelGate(2)">
  108 + <view class="item-flex">
  109 + <image src="/static/img/home/newhome2.png"></image>
  110 + <view class="t1"> 请假审批 </view>
  111 + </view>
  112 + </view>
  113 + <view class="item" @click="handelGate(3)">
  114 + <view class="item-flex">
  115 + <image src="/static/img/home/newhome3.png"></image>
  116 + <view class="t1"> 实习变更 </view>
  117 + </view>
  118 + </view>
  119 + <view class="item" @click="handelGate(4)">
  120 + <view class="item-flex">
  121 + <image src="/static/img/home/newhome4.png"></image>
  122 + <view class="t1"> 日志批阅 </view>
  123 + </view>
  124 + </view>
  125 + <view class="item" @click="handelGate(5)">
  126 + <view class="item-flex">
  127 + <image
  128 + :src="vuex_baseImgUrl && `${vuex_baseImgUrl}newhome5.png`"
  129 + ></image>
  130 + <view class="t1"> 报告批阅 </view>
  131 + </view>
  132 + </view>
  133 + <view class="item" @click="handelGate(6)">
  134 + <view class="item-flex">
  135 + <image src="/static/img/home/newhome6.png"></image>
  136 + <view class="t1"> 学生签到 </view>
  137 + </view>
  138 + </view>
  139 + <view class="item" @click="handelGate(7)">
  140 + <view class="item-flex">
  141 + <image src="/static/img/home/newhome7.png"></image>
  142 + <view class="t1"> 成绩鉴定 </view>
  143 + </view>
  144 + </view>
  145 + </scroll-view>
  146 + <!-- </view> -->
  147 + <view class="pro">
  148 + <view class="pro_top" :style="{ left: processNum + 'px' }"> </view>
  149 + </view>
  150 + </view>
  151 +
  152 + <view class="todoList">
  153 + <view class="top">
  154 + <image src="/static/img/home/homedbsx.png"></image>
  155 + <view class="title">待办事项</view>
  156 + </view>
  157 + <view v-if="hasLogin">
  158 + <view
  159 + v-if="
  160 + statistics &&
  161 + (statistics.formApplyReview > 0 ||
  162 + statistics.formChangeApplyReview > 0 ||
  163 + statistics.leaveRecordReview > 0 ||
  164 + statistics.internshipApply > 0 ||
  165 + statistics.formLogWaitReview > 0 ||
  166 + statistics.reportWaitReview > 0 ||
  167 + statistics.achievementWaitAppraisal > 0)
  168 + "
  169 + >
  170 + <view class="cell">
  171 + <u-cell-group :border="false">
  172 + <u-cell
  173 + v-if="
  174 + statistics &&
  175 + statistics.formApplyReview &&
  176 + statistics.formApplyReview > 0
  177 + "
  178 + :isLink="true"
  179 + url="/pages/main/home/interapply/interapply?status=wait"
  180 + arrow-direction="right"
  181 + :rightIconStyle="{ fontSize: '24rpx' }"
  182 + :border="false"
  183 + >
  184 + <view slot="title" class="u-slot-title">
  185 + <view class="u-cell-title">实习申请</view>
  186 + <view class="u-cell-text">
  187 + 您有<text>{{ statistics.formApplyReview }}</text
  188 + >个<text>实习申请</text>待审批!</view
  189 + >
  190 + </view>
  191 + <text slot="value" class="u-slot-value">立即审批</text>
  192 + </u-cell>
  193 + <view class="line"></view>
  194 + <u-cell
  195 + v-if="
  196 + statistics &&
  197 + statistics.leaveRecordReview &&
  198 + statistics.leaveRecordReview > 0
  199 + "
  200 + :isLink="true"
  201 + url="/pages/main/home/asklist/asklist?status=wait"
  202 + arrow-direction="right"
  203 + :rightIconStyle="{ fontSize: '24rpx' }"
  204 + :border="false"
  205 + >
  206 + <view slot="title" class="u-slot-title">
  207 + <view class="u-cell-title">请假审批</view>
  208 + <view class="u-cell-text">
  209 + 您有<text>{{ statistics.leaveRecordReview }}</text
  210 + >个<text>请假审批</text>待审批!</view
  211 + >
  212 + </view>
  213 + <text slot="value" class="u-slot-value">立即审批</text>
  214 + </u-cell>
  215 + <view class="line"></view>
  216 + <u-cell
  217 + v-if="
  218 + statistics &&
  219 + statistics.formChangeApplyReview &&
  220 + statistics.formChangeApplyReview > 0
  221 + "
  222 + :isLink="true"
  223 + url="/pages/main/home/changelist/changelist?status=wait"
  224 + arrow-direction="right"
  225 + :rightIconStyle="{ fontSize: '24rpx' }"
  226 + :border="false"
  227 + >
  228 + <view slot="title" class="u-slot-title">
  229 + <view class="u-cell-title">实习变更</view>
  230 + <view class="u-cell-text">
  231 + 您有<text>{{ statistics.formChangeApplyReview }}</text
  232 + >个<text>实习变更申请</text>待审批!
  233 + </view>
  234 + </view>
  235 + <text slot="value" class="u-slot-value">立即审批</text>
  236 + </u-cell>
  237 + <view class="line"></view>
  238 + <u-cell
  239 + v-if="
  240 + statistics &&
  241 + statistics.internshipApply &&
  242 + statistics.internshipApply > 0
  243 + "
  244 + :isLink="true"
  245 + url="/pages/main/home/registrationReview/registrationReview?status=wait"
  246 + arrow-direction="right"
  247 + :rightIconStyle="{ fontSize: '24rpx' }"
  248 + :border="false"
  249 + >
  250 + <view slot="title" class="u-slot-title">
  251 + <view class="u-cell-title">实习申请</view>
  252 + <view class="u-cell-text">
  253 + 您有<text>{{ statistics.internshipApply }}</text
  254 + >条<text>实习申请</text>待处理!</view
  255 + >
  256 + </view>
  257 + <text slot="value" class="u-slot-value">立即处理</text>
  258 + </u-cell>
  259 + <view class="line"></view>
  260 + <u-cell
  261 + v-if="
  262 + statistics &&
  263 + statistics.formLogWaitReview &&
  264 + statistics.formLogWaitReview > 0
  265 + "
  266 + :isLink="true"
  267 + url="/pages/main/home/logReview/logReview?status=unread"
  268 + arrow-direction="right"
  269 + :rightIconStyle="{ fontSize: '24rpx' }"
  270 + :border="false"
  271 + >
  272 + <view slot="title" class="u-slot-title">
  273 + <view class="u-cell-title">日志批阅</view>
  274 + <view class="u-cell-text">
  275 + 您有<text>{{ statistics.formLogWaitReview }}</text
  276 + >篇<text>日志</text>待批阅!</view
  277 + >
  278 + </view>
  279 + <text slot="value" class="u-slot-value">立即批阅</text>
  280 + </u-cell>
  281 + <view class="line"></view>
  282 + <u-cell
  283 + v-if="
  284 + statistics &&
  285 + statistics.reportWaitReview &&
  286 + statistics.reportWaitReview > 0
  287 + "
  288 + :isLink="true"
  289 + url="/pages/main/home/reportReview/reportReview?status=stay_examine"
  290 + arrow-direction="right"
  291 + :rightIconStyle="{ fontSize: '24rpx' }"
  292 + :border="false"
  293 + >
  294 + <view slot="title" class="u-slot-title">
  295 + <view class="u-cell-title">报告批阅</view>
  296 + <view class="u-cell-text">
  297 + 您有<text>{{ statistics.reportWaitReview }}</text
  298 + >篇<text>实习报告</text>待批阅!</view
  299 + >
  300 + </view>
  301 + <text slot="value" class="u-slot-value">立即批阅</text>
  302 + </u-cell>
  303 + <view class="line"></view>
  304 + <u-cell
  305 + v-if="
  306 + statistics &&
  307 + statistics.achievementWaitAppraisal &&
  308 + statistics.achievementWaitAppraisal > 0
  309 + "
  310 + :isLink="true"
  311 + url="/pages/main/home/achievementAppraisal/achievementAppraisal?status=wait"
  312 + arrow-direction="right"
  313 + :rightIconStyle="{ fontSize: '24rpx' }"
  314 + :border="false"
  315 + >
  316 + <view slot="title" class="u-slot-title">
  317 + <view class="u-cell-title">成绩评定</view>
  318 + <view class="u-cell-text">
  319 + 您有<text>{{ statistics.achievementWaitAppraisal }}</text
  320 + >个<text>成绩</text>待评定!
  321 + </view>
  322 + </view>
  323 + <text slot="value" class="u-slot-value">立即评定</text>
  324 + </u-cell>
  325 + <view class="line"></view>
  326 + </u-cell-group>
  327 + </view>
  328 + </view>
  329 + <view v-else>
  330 + <c-no-data paddingTop="30" title="当前无待办事项"></c-no-data>
  331 + </view>
  332 + </view>
  333 + <view class="no_login" v-else>
  334 + <text>登录后可查看待办事项</text>
  335 + <u-button
  336 + type="primary"
  337 + text="登录"
  338 + color="var(--primary-color)"
  339 + :customStyle="{ width: '340rpx' }"
  340 + @click="handelLOgin"
  341 + ></u-button>
  342 + </view>
  343 + </view>
  344 + </view>
  345 + <view style="height: 50px"></view>
  346 + <u-popup :show="show" mode="bottom" @close="close" @open="open" :round="22">
  347 + <view
  348 + class="new_popup_search"
  349 + :style="{
  350 + backgroundImage:
  351 + vuex_baseImgUrl && `url(${vuex_baseImgUrl}pop_bg.png) no-repeat`,
  352 + }"
  353 + >
  354 + <view
  355 + style="
  356 + display: flex;
  357 + justify-content: space-between;
  358 + align-items: center;
  359 + "
  360 + >
  361 + <view class="title"> 切换学校 </view>
  362 + <image
  363 + class="close"
  364 + src="/static/img/home/closepop.png"
  365 + @click="close"
  366 + mode=""
  367 + ></image>
  368 + </view>
  369 + <view class="desc"> 请选择需要登陆管理的学校 </view>
  370 + <scroll-view class="scroll" scroll-y="true">
  371 + <view
  372 + class="item"
  373 + v-for="(item, i) in schoolList"
  374 + :key="i"
  375 + @click="handelClick(item)"
  376 + >
  377 + <!-- <view v-if="item.id == schoolId"> -->
  378 + <view style="display: flex; align-items: center">
  379 + <image
  380 + class="pop1"
  381 + src="/static/img/home/schoolAvatar.png"
  382 + mode=""
  383 + ></image>
  384 + <text class="fullName">{{ item.fullName }}</text>
  385 + </view>
  386 + <image
  387 + v-if="item.fullName == doneSchoolName"
  388 + class="pop2"
  389 + :src="vuex_baseImgUrl && `${vuex_baseImgUrl}popselect.png`"
  390 + mode=""
  391 + ></image>
  392 + <!-- </view> -->
  393 + <!-- <view v-else>
356 <u-image src="/static/img/home/schoolAvatar.png" width="104rpx" height="104rpx" /> 394 <u-image src="/static/img/home/schoolAvatar.png" width="104rpx" height="104rpx" />
357 <text class="fullName">{{item.fullName}}</text> 395 <text class="fullName">{{item.fullName}}</text>
358 </view> --> 396 </view> -->
359 - </view>  
360 - </scroll-view>  
361 - <!-- <view class="content"> 397 + </view>
  398 + </scroll-view>
  399 + <!-- <view class="content">
362 <view class="title"> 400 <view class="title">
363 <text>选择学校</text> 401 <text>选择学校</text>
364 <text>请选择您想登录管理的学校</text> 402 <text>请选择您想登录管理的学校</text>
@@ -377,770 +415,740 @@ @@ -377,770 +415,740 @@
377 </scroll-view> 415 </scroll-view>
378 416
379 </view> --> 417 </view> -->
380 -  
381 - </view>  
382 - </u-popup>  
383 -  
384 - </view> 418 + </view>
  419 + </u-popup>
  420 + <custom-tabbar></custom-tabbar>
  421 + </view>
385 </template> 422 </template>
386 423
387 <script> 424 <script>
388 - import {  
389 - mapGetters,  
390 - mapState,  
391 - mapActions  
392 - } from 'vuex'  
393 -  
394 -  
395 - import {  
396 - putTeacherRolesApi,  
397 - getTodoListStatisticsApi,  
398 - } from '@/config/api.js';  
399 -  
400 - export default {  
401 - data() {  
402 - return {  
403 - top: '0rpx',  
404 - show: false,  
405 - schoolId: '',  
406 - statistics: {},  
407 - statusBarHeight: 44,  
408 - menuHeight: 32,  
409 - menuTop: 32,  
410 - margin: 92,  
411 - isNav: false,  
412 - processNum: 0,  
413 - }  
414 - },  
415 -  
416 - onLoad() {  
417 - this.getSystemInfo()  
418 - },  
419 -  
420 - onShow() {  
421 - uni.getSystemInfo({  
422 - success: (res) => {  
423 -  
424 - let menuButtonInfo = uni.getMenuButtonBoundingClientRect();  
425 - let menuTop = menuButtonInfo.top  
426 -  
427 - // 状态栏高度  
428 - let winWidth = res.windowWidth;  
429 - let proportion = 750 / winWidth;  
430 -  
431 - this.top = ((menuTop * proportion) + 16) + 'rpx';  
432 - },  
433 - complete: function(res) {},  
434 - });  
435 -  
436 - if (this.hasLogin) {  
437 - this.$store.dispatch(`home/getSchoolList`, {  
438 - pageSize: -1,  
439 - })  
440 - getTodoListStatisticsApi().then(data => {  
441 - if (data) {  
442 - this.statistics = data;  
443 - }  
444 - })  
445 - }  
446 - },  
447 -  
448 - onPageScroll(res) {  
449 - // console.log(res.scrollTop)  
450 - if (res.scrollTop > 100) {  
451 - this.isNav = true  
452 - }else {  
453 - this.isNav = false  
454 - }  
455 - },  
456 -  
457 - computed: {  
458 - ...mapGetters([  
459 - 'doneRolesLength',  
460 - 'doneRolesName',  
461 - 'doneSchoolName',  
462 - ]),  
463 -  
464 - ...mapState({  
465 - hasLogin: 'hasLogin',  
466 - vuex_user: 'vuex_user',  
467 - refresh_token: 'refresh_token',  
468 - teacher: (state) => state.vuex_user.teacher,  
469 - }),  
470 - ...mapState('home', {  
471 - // 箭头函数可使代码更简练  
472 - schoolList: 'schoolList',  
473 -  
474 - }),  
475 - ...mapState('user', {  
476 - // 箭头函数可使代码更简练  
477 - loginInfo: 'loginInfo',  
478 -  
479 - }),  
480 -  
481 -  
482 -  
483 -  
484 - },  
485 -  
486 - methods: {  
487 -  
488 - scrollx(e) {  
489 - // console.log(e)  
490 - if (e.detail.scrollLeft < 20) {  
491 - this.processNum = 0  
492 - }else {  
493 - this.processNum = 30  
494 - }  
495 - },  
496 -  
497 - getSystemInfo() {  
498 - uni.getSystemInfo({  
499 - success: (res) => {  
500 -  
501 - let menuButtonInfo = uni.getMenuButtonBoundingClientRect();  
502 - this.menuHeight = menuButtonInfo.height  
503 - this.menuTop = menuButtonInfo.top  
504 - // 状态栏高度  
505 - let statusBarHeight = res.statusBarHeight;  
506 - let platform = res.platform;  
507 - let winWidth = res.windowWidth;  
508 -  
509 - let excludeStatusBarHeight = 44;  
510 - if (platform == "android") {  
511 - excludeStatusBarHeight = 48;  
512 - }  
513 -  
514 - let navigationBarHeight = statusBarHeight + excludeStatusBarHeight;  
515 - // let proportion = 750 / winWidth;  
516 - // this.navigationBarHeight = navigationBarHeight * proportion;  
517 - this.margin = navigationBarHeight;  
518 -  
519 - console.log(this.navigationBarHeight, this.menuHeight, this.menuTop,  
520 - navigationBarHeight)  
521 - },  
522 - complete: function(res) {},  
523 - });  
524 - },  
525 -  
526 - handelClick(values) {  
527 - this.schoolId = values.id;  
528 -  
529 - this.$store.dispatch(`user/login`, {  
530 - way: 'refresh_token',  
531 - refreshToken: this.refresh_token,  
532 - schoolId: values.id,  
533 - }).then(data => {  
534 - console.log(data)  
535 - if (data) {  
536 -  
537 - getTodoListStatisticsApi().then(data => {  
538 - if (data) {  
539 - this.statistics = data;  
540 - }  
541 - })  
542 -  
543 - this.show = false;  
544 - }  
545 - })  
546 - },  
547 -  
548 - open() {  
549 -  
550 - },  
551 -  
552 - close() {  
553 - this.show = false  
554 - },  
555 -  
556 - handelLOgin() {  
557 - this.$u.route('/pages/main/my/login/login');  
558 - },  
559 -  
560 - handelChange() {  
561 - let {  
562 - roles = []  
563 - } = this.teacher;  
564 -  
565 - if (roles.length < 2) {  
566 - this.$u.toast('暂无可切换权限')  
567 - } else {  
568 -  
569 - uni.showLoading({  
570 - title: '努力加载中~',  
571 - mask: true  
572 - })  
573 -  
574 - let selectRoles = roles.filter(item => item.id != this.teacher.roleId);  
575 -  
576 - putTeacherRolesApi(this.teacher.id, {  
577 - roleId: selectRoles[0].id  
578 - }).then(data => {  
579 - if (data) {  
580 - console.log(data)  
581 - this.$store.dispatch(`user/getUserInfo`);  
582 -  
583 - getTodoListStatisticsApi().then(data => {  
584 - if (data) {  
585 - this.statistics = data;  
586 -  
587 - uni.hideLoading();  
588 - }  
589 - })  
590 - }  
591 - })  
592 - }  
593 - },  
594 -  
595 -  
596 -  
597 - handelGate(even) {  
598 - if (!this.hasLogin) {  
599 - this.$u.route('/pages/main/my/login/login');  
600 - return;  
601 - }  
602 -  
603 - // let {  
604 - // type = ''  
605 - // } = even.currentTarget.dataset;  
606 -  
607 - switch (even) {  
608 - case 1:  
609 - this.$u.route('/pages/main/home/registrationReview/registrationReview');  
610 - break;  
611 -  
612 - case 2:  
613 - this.$u.route('/pages/main/home/asklist/asklist');  
614 - break;  
615 -  
616 - case 3:  
617 - this.$u.route('/pages/main/home/changelist/changelist');  
618 - break;  
619 -  
620 - case 4:  
621 - this.$u.route('/pages/main/home/logReview/logReview');  
622 - break;  
623 -  
624 - case 5:  
625 - this.$u.route('/pages/main/home/reportReview/reportReview');  
626 - break;  
627 -  
628 - case 6:  
629 - this.$u.route('/pages/main/home/studentSignIn/studentSignIn');  
630 - break;  
631 -  
632 - case 7:  
633 - this.$u.route('/pages/main/home/achievementAppraisal/achievementAppraisal');  
634 - break;  
635 -  
636 - case 8:  
637 - this.$u.route('/pages/main/home/interapply/interapply');  
638 - break;  
639 -  
640 - }  
641 -  
642 - },  
643 -  
644 - }  
645 - } 425 +import { mapGetters, mapState, mapActions } from "vuex";
  426 +
  427 +import { putTeacherRolesApi, getTodoListStatisticsApi } from "@/config/api.js";
  428 +
  429 +export default {
  430 + data() {
  431 + return {
  432 + top: "0rpx",
  433 + show: false,
  434 + schoolId: "",
  435 + statistics: {},
  436 + statusBarHeight: 44,
  437 + menuHeight: 32,
  438 + menuTop: 32,
  439 + margin: 92,
  440 + isNav: false,
  441 + processNum: 0,
  442 + };
  443 + },
  444 +
  445 + onLoad() {
  446 + this.getSystemInfo();
  447 + },
  448 +
  449 + onShow() {
  450 + uni.getSystemInfo({
  451 + success: (res) => {
  452 + let menuButtonInfo = uni.getMenuButtonBoundingClientRect();
  453 + let menuTop = menuButtonInfo.top;
  454 +
  455 + // 状态栏高度
  456 + let winWidth = res.windowWidth;
  457 + let proportion = 750 / winWidth;
  458 +
  459 + this.top = menuTop * proportion + 16 + "rpx";
  460 + },
  461 + complete: function (res) {},
  462 + });
  463 +
  464 + if (this.hasLogin) {
  465 + this.$store.dispatch(`home/getSchoolList`, {
  466 + pageSize: -1,
  467 + });
  468 + getTodoListStatisticsApi().then((data) => {
  469 + if (data) {
  470 + this.statistics = data;
  471 + }
  472 + });
  473 + }
  474 + },
  475 +
  476 + onPageScroll(res) {
  477 + // console.log(res.scrollTop)
  478 + if (res.scrollTop > 100) {
  479 + this.isNav = true;
  480 + } else {
  481 + this.isNav = false;
  482 + }
  483 + },
  484 +
  485 + computed: {
  486 + ...mapGetters(["doneRolesLength", "doneRolesName", "doneSchoolName"]),
  487 +
  488 + ...mapState({
  489 + hasLogin: "hasLogin",
  490 + vuex_user: "vuex_user",
  491 + refresh_token: "refresh_token",
  492 + teacher: (state) => state.vuex_user.teacher,
  493 + }),
  494 + ...mapState("home", {
  495 + // 箭头函数可使代码更简练
  496 + schoolList: "schoolList",
  497 + }),
  498 + ...mapState("user", {
  499 + // 箭头函数可使代码更简练
  500 + loginInfo: "loginInfo",
  501 + }),
  502 + },
  503 +
  504 + methods: {
  505 + scrollx(e) {
  506 + // console.log(e)
  507 + if (e.detail.scrollLeft < 20) {
  508 + this.processNum = 0;
  509 + } else {
  510 + this.processNum = 30;
  511 + }
  512 + },
  513 +
  514 + getSystemInfo() {
  515 + uni.getSystemInfo({
  516 + success: (res) => {
  517 + let menuButtonInfo = uni.getMenuButtonBoundingClientRect();
  518 + this.menuHeight = menuButtonInfo.height;
  519 + this.menuTop = menuButtonInfo.top;
  520 + // 状态栏高度
  521 + let statusBarHeight = res.statusBarHeight;
  522 + let platform = res.platform;
  523 + let winWidth = res.windowWidth;
  524 +
  525 + let excludeStatusBarHeight = 44;
  526 + if (platform == "android") {
  527 + excludeStatusBarHeight = 48;
  528 + }
  529 +
  530 + let navigationBarHeight = statusBarHeight + excludeStatusBarHeight;
  531 + // let proportion = 750 / winWidth;
  532 + // this.navigationBarHeight = navigationBarHeight * proportion;
  533 + this.margin = navigationBarHeight;
  534 +
  535 + console.log(
  536 + this.navigationBarHeight,
  537 + this.menuHeight,
  538 + this.menuTop,
  539 + navigationBarHeight
  540 + );
  541 + },
  542 + complete: function (res) {},
  543 + });
  544 + },
  545 +
  546 + handelClick(values) {
  547 + this.schoolId = values.id;
  548 +
  549 + this.$store
  550 + .dispatch(`user/login`, {
  551 + way: "refresh_token",
  552 + refreshToken: this.refresh_token,
  553 + schoolId: values.id,
  554 + })
  555 + .then((data) => {
  556 + console.log(data);
  557 + if (data) {
  558 + getTodoListStatisticsApi().then((data) => {
  559 + if (data) {
  560 + this.statistics = data;
  561 + }
  562 + });
  563 +
  564 + this.show = false;
  565 + }
  566 + });
  567 + },
  568 +
  569 + open() {},
  570 +
  571 + close() {
  572 + this.show = false;
  573 + },
  574 +
  575 + handelLOgin() {
  576 + this.$u.route("/pages/main/my/login/login");
  577 + },
  578 +
  579 + handelChange() {
  580 + let { roles = [] } = this.teacher;
  581 +
  582 + if (roles.length < 2) {
  583 + this.$u.toast("暂无可切换权限");
  584 + } else {
  585 + uni.showLoading({
  586 + title: "努力加载中~",
  587 + mask: true,
  588 + });
  589 +
  590 + let selectRoles = roles.filter(
  591 + (item) => item.id != this.teacher.roleId
  592 + );
  593 +
  594 + putTeacherRolesApi(this.teacher.id, {
  595 + roleId: selectRoles[0].id,
  596 + }).then((data) => {
  597 + if (data) {
  598 + console.log(data);
  599 + this.$store.dispatch(`user/getUserInfo`);
  600 +
  601 + getTodoListStatisticsApi().then((data) => {
  602 + if (data) {
  603 + this.statistics = data;
  604 +
  605 + uni.hideLoading();
  606 + }
  607 + });
  608 + }
  609 + });
  610 + }
  611 + },
  612 +
  613 + handelGate(even) {
  614 + if (!this.hasLogin) {
  615 + this.$u.route("/pages/main/my/login/login");
  616 + return;
  617 + }
  618 +
  619 + // let {
  620 + // type = ''
  621 + // } = even.currentTarget.dataset;
  622 +
  623 + switch (even) {
  624 + case 1:
  625 + this.$u.route(
  626 + "/pages/main/home/registrationReview/registrationReview"
  627 + );
  628 + break;
  629 +
  630 + case 2:
  631 + this.$u.route("/pages/main/home/asklist/asklist");
  632 + break;
  633 +
  634 + case 3:
  635 + this.$u.route("/pages/main/home/changelist/changelist");
  636 + break;
  637 +
  638 + case 4:
  639 + this.$u.route("/pages/main/home/logReview/logReview");
  640 + break;
  641 +
  642 + case 5:
  643 + this.$u.route("/pages/main/home/reportReview/reportReview");
  644 + break;
  645 +
  646 + case 6:
  647 + this.$u.route("/pages/main/home/studentSignIn/studentSignIn");
  648 + break;
  649 +
  650 + case 7:
  651 + this.$u.route(
  652 + "/pages/main/home/achievementAppraisal/achievementAppraisal"
  653 + );
  654 + break;
  655 +
  656 + case 8:
  657 + this.$u.route("/pages/main/home/interapply/interapply");
  658 + break;
  659 + }
  660 + },
  661 + },
  662 +};
646 </script> 663 </script>
647 664
648 <style lang="scss" scoped> 665 <style lang="scss" scoped>
649 - .cell /deep/ .u-cell {  
650 - background-color: #FFFFFF;  
651 - // border-radius: 12rpx;  
652 - // margin: 0 0 20rpx 0;  
653 - }  
654 -  
655 - .cell /deep/ .u-cell-group {  
656 - border-radius: 4px;  
657 - overflow: hidden;  
658 - }  
659 -  
660 - .hiddenNav {  
661 - position: fixed;  
662 - top: 0;  
663 - left: 0;  
664 - width: 100%;  
665 - background-color: #fff;  
666 - z-index: 999;  
667 - padding-left: 40rpx;  
668 -  
669 - .school {  
670 - display: flex;  
671 - flex-flow: row nowrap;  
672 -  
673 - text {  
674 - font-size: 32rpx;  
675 - line-height: 32rpx;  
676 - color: #202131;  
677 - font-weight: 500;  
678 - margin-right: 7px;  
679 - // width: 600rpx;  
680 - // text-align: center;  
681 - }  
682 - }  
683 - }  
684 -  
685 - .home_box {  
686 - background-color: #F7F7F7;  
687 - min-height: 100%;  
688 - height: auto;  
689 -  
690 - .home {  
691 - width: 100%;  
692 -  
693 - .school_box {  
694 - width: 100%;  
695 - height: 496rpx;  
696 - // margin: 0 0 34rpx 0;  
697 - position: relative;  
698 -  
699 - .school {  
700 - position: absolute;  
701 - top: 0rpx;  
702 - left: 40rpx;  
703 - display: flex;  
704 - flex-flow: row nowrap;  
705 -  
706 - text {  
707 - font-size: 32rpx;  
708 - line-height: 32rpx;  
709 - color: #202131;  
710 - font-weight: 500;  
711 - margin-right: 7px;  
712 - // width: 600rpx;  
713 - // text-align: center;  
714 - }  
715 - }  
716 -  
717 - }  
718 -  
719 - .info {  
720 - width: 690rpx;  
721 - margin: 0 auto;  
722 -  
723 - .name {  
724 - text {  
725 - display: inline-block;  
726 - font-size: 24rpx;  
727 - line-height: 36rpx;  
728 - color: #909097;  
729 - margin: 0 0 0 12rpx;  
730 - }  
731 -  
732 - text:first-child {  
733 -  
734 - font-size: 36rpx;  
735 - line-height: 52rpx;  
736 - color: #202131;  
737 - width: 150rpx;  
738 - overflow: hidden;  
739 - text-overflow: ellipsis;  
740 - white-space: nowrap;  
741 - margin: 0;  
742 - }  
743 -  
744 - text:last-child {  
745 - vertical-align: super;  
746 - }  
747 - }  
748 -  
749 - .identity {  
750 - margin: 0 0 0 10rpx;  
751 - }  
752 - }  
753 -  
754 - .infoNew {  
755 - position: relative;  
756 - top: -26px;  
757 - left: 0px;  
758 - margin: 0 10px;  
759 - // height: 245px;  
760 - background: #FFFFFF;  
761 - box-shadow: 0px 2px 20px 0px rgba(0, 0, 0, 0.03);  
762 - border-radius: 4px;  
763 - padding: 26px 16px;  
764 -  
765 - .top {  
766 - display: flex;  
767 - align-items: center;  
768 -  
769 - .name {  
770 - font-size: 18px;  
771 - font-family: PingFangSC-Semibold, PingFang SC;  
772 - font-weight: 600;  
773 - color: #202131;  
774 - }  
775 -  
776 - .identity {  
777 - padding: 4px 10px;  
778 - background: #F4F4F4;  
779 - border-radius: 12px;  
780 - margin: 0 0 0 10rpx;  
781 - }  
782 - }  
783 -  
784 - .line {  
785 - height: 1px;  
786 - background-color: #F7F7F7;  
787 - }  
788 -  
789 - .twoCell {  
790 - margin-top: 23px;  
791 - display: flex;  
792 -  
793 - .item {  
794 - flex: 1;  
795 - display: flex;  
796 -  
797 - image {  
798 - width: 40px;  
799 - height: 40px;  
800 - }  
801 -  
802 - .t1 {  
803 - margin-left: 6px;  
804 - font-size: 16px;  
805 - font-family: PingFangSC-Medium, PingFang SC;  
806 - font-weight: 500;  
807 - color: #000000;  
808 - }  
809 -  
810 - .t2 {  
811 - margin-left: 6px;  
812 - font-size: 12px;  
813 - font-family: PingFangSC-Light, PingFang SC;  
814 - font-weight: 300;  
815 - color: rgba(0, 0, 0, 0.65);  
816 - }  
817 - }  
818 - }  
819 -  
820 - .pro {  
821 - width: 60px;  
822 - height: 5px;  
823 - border-radius: 2.5px;  
824 - background-color: #F4F4F4;  
825 - margin: 0 auto;  
826 - margin-top: 10px;  
827 - position: relative;  
828 -  
829 - .pro_top {  
830 - width: 30px;  
831 - height: 5px;  
832 - border-radius: 2.5px;  
833 - background-color: var(--primary-color);  
834 - position: absolute;  
835 - top: 0px;  
836 - left: 0px;  
837 - }  
838 - }  
839 -  
840 - .fiveCell {  
841 - margin-top: 30px;  
842 - width: 100%;  
843 - height: 60px;  
844 - white-space: nowrap;  
845 - // display: flex;  
846 - // display: inline-block;  
847 -  
848 - .item {  
849 - // width: 100px;  
850 - // flex: 1;  
851 - display: inline-block;  
852 - margin-right: 16px;  
853 - // display: flex;  
854 - // flex-direction: column;  
855 - // align-items: center;  
856 -  
857 - .item-flex {  
858 - display: flex;  
859 - flex-direction: column;  
860 - align-items: center;  
861 - }  
862 -  
863 - image {  
864 - width: 24px;  
865 - height: 24px;  
866 - }  
867 -  
868 - .t1 {  
869 - margin-top: 8px;  
870 - font-size: 12px;  
871 - font-family: PingFangSC-Regular, PingFang SC;  
872 - font-weight: 400;  
873 - color: #000000;  
874 - }  
875 - }  
876 - }  
877 - }  
878 -  
879 - .gate {  
880 - width: 690rpx;  
881 - margin: 0 auto 50rpx;  
882 -  
883 - .box {  
884 - width: 220rpx;  
885 - height: 256rpx;  
886 -  
887 - .item {  
888 - position: relative;  
889 - width: 220rpx;  
890 - height: 120rpx;  
891 -  
892 - view {  
893 - position: absolute;  
894 - top: 20rpx;  
895 - left: 20rpx;  
896 -  
897 - text {  
898 - display: block;  
899 - margin: 8rpx 0 0 6rpx;  
900 - font-size: 20rpx;  
901 - line-height: 20rpx;  
902 - color: #909097;  
903 - }  
904 - }  
905 - }  
906 -  
907 - .review {  
908 -  
909 -  
910 - .copywriting {  
911 - position: absolute;  
912 - top: 56rpx;  
913 - right: 32rpx;  
914 -  
915 - text {  
916 - display: block;  
917 - font-size: 28rpx;  
918 - line-height: 36rpx;  
919 - color: var(--primary-color);  
920 - margin: 0;  
921 - }  
922 -  
923 - text:last-child {  
924 - font-size: 20rpx;  
925 - line-height: 52rpx;  
926 - color: #909097;  
927 - }  
928 -  
929 - }  
930 - }  
931 - }  
932 - }  
933 -  
934 - .todoList {  
935 - // width: 690rpx;  
936 - margin: 0 10px;  
937 -  
938 - .no_login {  
939 - padding: 150rpx 0 0 0;  
940 - text-align: center;  
941 -  
942 - text {  
943 - font-size: 24rpx;  
944 - line-height: 52rpx;  
945 - color: #909097;  
946 - }  
947 - }  
948 -  
949 - .top {  
950 - display: flex;  
951 - margin-bottom: 16px;  
952 -  
953 - image {  
954 - width: 16px;  
955 - height: 16px;  
956 - }  
957 -  
958 - .title {  
959 - margin-left: 4px;  
960 - font-size: 32rpx;  
961 - line-height: 32rpx;  
962 - color: #202131;  
963 - }  
964 - }  
965 -  
966 - .line {  
967 - height: 1px;  
968 - background-color: #F7F7F7;  
969 - }  
970 -  
971 - // .title::before {  
972 - // content: "";  
973 - // display: inline-block;  
974 - // width: 6rpx;  
975 - // height: 32rpx;  
976 - // background-color: var(--primary-color);  
977 - // margin: 0 12rpx 0 0;  
978 - // position: relative;  
979 - // top: 4rpx;  
980 - // border-radius: 8rpx;  
981 - // }  
982 -  
983 - .cell {  
984 - margin: 0rpx 0 0 0;  
985 -  
986 - .u-slot-title {  
987 - .u-cell-title {  
988 - font-size: 24rpx;  
989 - line-height: 54rpx;  
990 - color: #909097;  
991 - }  
992 -  
993 - .u-cell-text {  
994 - font-size: 28rpx;  
995 - line-height: 60rpx;  
996 - color: #202131;  
997 -  
998 - text {  
999 - color: var(--primary-color);  
1000 - }  
1001 - }  
1002 - }  
1003 -  
1004 - .u-slot-value {  
1005 - font-size: 24rpx;  
1006 - line-height: 36rpx;  
1007 - color: #909097;  
1008 - }  
1009 - }  
1010 - }  
1011 - }  
1012 -  
1013 - .popup_search {  
1014 - width: 540rpx;  
1015 - height: 100%;  
1016 - background-color: #F7F7F7;  
1017 - position: relative;  
1018 -  
1019 - .content {  
1020 - padding: 100rpx 40rpx 0;  
1021 -  
1022 - .title {  
1023 - font-size: 48rpx;  
1024 - line-height: 60rpx;  
1025 - color: #202131;  
1026 -  
1027 - text:last-child {  
1028 - display: block;  
1029 - font-size: 24rpx;  
1030 - line-height: 32rpx;  
1031 - color: #909097;  
1032 - margin: 30rpx 0 70rpx 0;  
1033 - }  
1034 - }  
1035 -  
1036 - .scroll {  
1037 - max-height: 60vh;  
1038 -  
1039 - .item {  
1040 - width: 380rpx;  
1041 - height: 100rpx;  
1042 - box-shadow: 0rpx 4rpx 48rpx 0rpx rgba(175, 174, 174, 0.1500);  
1043 - border-radius: 20rpx;  
1044 - margin: 0 0 20rpx 0;  
1045 - padding: 40rpx;  
1046 - background-color: #FFFFFF;  
1047 -  
1048 -  
1049 - view {  
1050 - display: flex;  
1051 - flex-flow: row wrap;  
1052 - align-items: center;  
1053 -  
1054 - text {  
1055 - width: 240rpx;  
1056 - font-size: 40rpx;  
1057 - line-height: 48rpx;  
1058 - color: #202131;  
1059 - margin: 0 0 0 34rpx;  
1060 - }  
1061 - }  
1062 -  
1063 - }  
1064 - }  
1065 - }  
1066 -  
1067 - }  
1068 -  
1069 - .new_popup_search {  
1070 - padding: 23px 16px;  
1071 - height: 209px;  
1072 - background-image: url('https://yxlypublic.oss-cn-beijing.aliyuncs.com/WeChat/yxly-teacher/pop_bg.png');  
1073 - background-size: 100% 90px;  
1074 - background-repeat: no-repeat;  
1075 -  
1076 - .title {  
1077 - font-size: 18px;  
1078 - font-family: PingFangSC-Medium, PingFang SC;  
1079 - font-weight: 500;  
1080 - color: #000000;  
1081 - }  
1082 -  
1083 - .close {  
1084 - width: 22px;  
1085 - height: 22px;  
1086 - }  
1087 -  
1088 - .desc {  
1089 - margin-top: 10px;  
1090 - font-size: 14px;  
1091 - font-family: PingFangSC-Light, PingFang SC;  
1092 - font-weight: 300;  
1093 - color: #202131;  
1094 - }  
1095 -  
1096 - .scroll {  
1097 - margin-top: 25px;  
1098 - height: 159px;  
1099 - // background-color: var(--primary-color);  
1100 -  
1101 - .item {  
1102 - width: 100%;  
1103 - // height: 64rpx;  
1104 - // padding: 20px 16px;  
1105 - display: flex;  
1106 - justify-content: space-between;  
1107 - align-items: center;  
1108 - margin-bottom: 15px;  
1109 -  
1110 - .pop1 {  
1111 - width: 30px;  
1112 - height: 30px;  
1113 - }  
1114 -  
1115 - .pop2 {  
1116 - width: 20px;  
1117 - height: 20px;  
1118 - }  
1119 -  
1120 - .fullName {  
1121 - font-size: 16px;  
1122 - font-family: PingFangSC-Medium, PingFang SC;  
1123 - font-weight: 500;  
1124 - color: #000000;  
1125 - margin-left: 8px;  
1126 - }  
1127 -  
1128 - // view {  
1129 - // display: flex;  
1130 - // flex-flow: row wrap;  
1131 - // align-items: center;  
1132 -  
1133 - // text {  
1134 - // width: 240rpx;  
1135 - // font-size: 40rpx;  
1136 - // line-height: 48rpx;  
1137 - // color: #202131;  
1138 - // margin: 0 0 0 34rpx;  
1139 - // }  
1140 - // }  
1141 -  
1142 - }  
1143 - }  
1144 - }  
1145 - }  
1146 -</style> 666 +.cell /deep/ .u-cell {
  667 + background-color: #ffffff;
  668 + // border-radius: 12rpx;
  669 + // margin: 0 0 20rpx 0;
  670 +}
  671 +
  672 +.cell /deep/ .u-cell-group {
  673 + border-radius: 4px;
  674 + overflow: hidden;
  675 +}
  676 +
  677 +.hiddenNav {
  678 + position: fixed;
  679 + top: 0;
  680 + left: 0;
  681 + width: 100%;
  682 + background-color: #fff;
  683 + z-index: 999;
  684 + padding-left: 40rpx;
  685 +
  686 + .school {
  687 + display: flex;
  688 + flex-flow: row nowrap;
  689 +
  690 + text {
  691 + font-size: 32rpx;
  692 + line-height: 32rpx;
  693 + color: #202131;
  694 + font-weight: 500;
  695 + margin-right: 7px;
  696 + // width: 600rpx;
  697 + // text-align: center;
  698 + }
  699 + }
  700 +}
  701 +
  702 +.home_box {
  703 + background-color: #f7f7f7;
  704 + min-height: 100%;
  705 + height: auto;
  706 +
  707 + .home {
  708 + width: 100%;
  709 +
  710 + .school_box {
  711 + width: 100%;
  712 + height: 496rpx;
  713 + // margin: 0 0 34rpx 0;
  714 + position: relative;
  715 +
  716 + .school {
  717 + position: absolute;
  718 + top: 0rpx;
  719 + left: 40rpx;
  720 + display: flex;
  721 + flex-flow: row nowrap;
  722 +
  723 + text {
  724 + font-size: 32rpx;
  725 + line-height: 32rpx;
  726 + color: #202131;
  727 + font-weight: 500;
  728 + margin-right: 7px;
  729 + // width: 600rpx;
  730 + // text-align: center;
  731 + }
  732 + }
  733 + }
  734 +
  735 + .info {
  736 + width: 690rpx;
  737 + margin: 0 auto;
  738 +
  739 + .name {
  740 + text {
  741 + display: inline-block;
  742 + font-size: 24rpx;
  743 + line-height: 36rpx;
  744 + color: #909097;
  745 + margin: 0 0 0 12rpx;
  746 + }
  747 +
  748 + text:first-child {
  749 + font-size: 36rpx;
  750 + line-height: 52rpx;
  751 + color: #202131;
  752 + width: 150rpx;
  753 + overflow: hidden;
  754 + text-overflow: ellipsis;
  755 + white-space: nowrap;
  756 + margin: 0;
  757 + }
  758 +
  759 + text:last-child {
  760 + vertical-align: super;
  761 + }
  762 + }
  763 +
  764 + .identity {
  765 + margin: 0 0 0 10rpx;
  766 + }
  767 + }
  768 +
  769 + .infoNew {
  770 + position: relative;
  771 + top: -26px;
  772 + left: 0px;
  773 + margin: 0 10px;
  774 + // height: 245px;
  775 + background: #ffffff;
  776 + box-shadow: 0px 2px 20px 0px rgba(0, 0, 0, 0.03);
  777 + border-radius: 4px;
  778 + padding: 26px 16px;
  779 +
  780 + .top {
  781 + display: flex;
  782 + align-items: center;
  783 +
  784 + .name {
  785 + font-size: 18px;
  786 + font-family: PingFangSC-Semibold, PingFang SC;
  787 + font-weight: 600;
  788 + color: #202131;
  789 + }
  790 +
  791 + .identity {
  792 + padding: 4px 10px;
  793 + background: #f4f4f4;
  794 + border-radius: 12px;
  795 + margin: 0 0 0 10rpx;
  796 + }
  797 + }
  798 +
  799 + .line {
  800 + height: 1px;
  801 + background-color: #f7f7f7;
  802 + }
  803 +
  804 + .twoCell {
  805 + margin-top: 23px;
  806 + display: flex;
  807 +
  808 + .item {
  809 + flex: 1;
  810 + display: flex;
  811 +
  812 + image {
  813 + width: 40px;
  814 + height: 40px;
  815 + }
  816 +
  817 + .t1 {
  818 + margin-left: 6px;
  819 + font-size: 16px;
  820 + font-family: PingFangSC-Medium, PingFang SC;
  821 + font-weight: 500;
  822 + color: #000000;
  823 + }
  824 +
  825 + .t2 {
  826 + margin-left: 6px;
  827 + font-size: 12px;
  828 + font-family: PingFangSC-Light, PingFang SC;
  829 + font-weight: 300;
  830 + color: rgba(0, 0, 0, 0.65);
  831 + }
  832 + }
  833 + }
  834 +
  835 + .pro {
  836 + width: 60px;
  837 + height: 5px;
  838 + border-radius: 2.5px;
  839 + background-color: #f4f4f4;
  840 + margin: 0 auto;
  841 + margin-top: 10px;
  842 + position: relative;
  843 +
  844 + .pro_top {
  845 + width: 30px;
  846 + height: 5px;
  847 + border-radius: 2.5px;
  848 + background-color: var(--primary-color);
  849 + position: absolute;
  850 + top: 0px;
  851 + left: 0px;
  852 + }
  853 + }
  854 +
  855 + .fiveCell {
  856 + margin-top: 30px;
  857 + width: 100%;
  858 + height: 60px;
  859 + white-space: nowrap;
  860 + // display: flex;
  861 + // display: inline-block;
  862 +
  863 + .item {
  864 + // width: 100px;
  865 + // flex: 1;
  866 + display: inline-block;
  867 + margin-right: 16px;
  868 + // display: flex;
  869 + // flex-direction: column;
  870 + // align-items: center;
  871 +
  872 + .item-flex {
  873 + display: flex;
  874 + flex-direction: column;
  875 + align-items: center;
  876 + }
  877 +
  878 + image {
  879 + width: 24px;
  880 + height: 24px;
  881 + }
  882 +
  883 + .t1 {
  884 + margin-top: 8px;
  885 + font-size: 12px;
  886 + font-family: PingFangSC-Regular, PingFang SC;
  887 + font-weight: 400;
  888 + color: #000000;
  889 + }
  890 + }
  891 + }
  892 + }
  893 +
  894 + .gate {
  895 + width: 690rpx;
  896 + margin: 0 auto 50rpx;
  897 +
  898 + .box {
  899 + width: 220rpx;
  900 + height: 256rpx;
  901 +
  902 + .item {
  903 + position: relative;
  904 + width: 220rpx;
  905 + height: 120rpx;
  906 +
  907 + view {
  908 + position: absolute;
  909 + top: 20rpx;
  910 + left: 20rpx;
  911 +
  912 + text {
  913 + display: block;
  914 + margin: 8rpx 0 0 6rpx;
  915 + font-size: 20rpx;
  916 + line-height: 20rpx;
  917 + color: #909097;
  918 + }
  919 + }
  920 + }
  921 +
  922 + .review {
  923 + .copywriting {
  924 + position: absolute;
  925 + top: 56rpx;
  926 + right: 32rpx;
  927 +
  928 + text {
  929 + display: block;
  930 + font-size: 28rpx;
  931 + line-height: 36rpx;
  932 + color: var(--primary-color);
  933 + margin: 0;
  934 + }
  935 +
  936 + text:last-child {
  937 + font-size: 20rpx;
  938 + line-height: 52rpx;
  939 + color: #909097;
  940 + }
  941 + }
  942 + }
  943 + }
  944 + }
  945 +
  946 + .todoList {
  947 + // width: 690rpx;
  948 + margin: 0 10px;
  949 +
  950 + .no_login {
  951 + padding: 150rpx 0 0 0;
  952 + text-align: center;
  953 +
  954 + text {
  955 + font-size: 24rpx;
  956 + line-height: 52rpx;
  957 + color: #909097;
  958 + }
  959 + }
  960 +
  961 + .top {
  962 + display: flex;
  963 + margin-bottom: 16px;
  964 +
  965 + image {
  966 + width: 16px;
  967 + height: 16px;
  968 + }
  969 +
  970 + .title {
  971 + margin-left: 4px;
  972 + font-size: 32rpx;
  973 + line-height: 32rpx;
  974 + color: #202131;
  975 + }
  976 + }
  977 +
  978 + .line {
  979 + height: 1px;
  980 + background-color: #f7f7f7;
  981 + }
  982 +
  983 + // .title::before {
  984 + // content: "";
  985 + // display: inline-block;
  986 + // width: 6rpx;
  987 + // height: 32rpx;
  988 + // background-color: var(--primary-color);
  989 + // margin: 0 12rpx 0 0;
  990 + // position: relative;
  991 + // top: 4rpx;
  992 + // border-radius: 8rpx;
  993 + // }
  994 +
  995 + .cell {
  996 + margin: 0rpx 0 0 0;
  997 +
  998 + .u-slot-title {
  999 + .u-cell-title {
  1000 + font-size: 24rpx;
  1001 + line-height: 54rpx;
  1002 + color: #909097;
  1003 + }
  1004 +
  1005 + .u-cell-text {
  1006 + font-size: 28rpx;
  1007 + line-height: 60rpx;
  1008 + color: #202131;
  1009 +
  1010 + text {
  1011 + color: var(--primary-color);
  1012 + }
  1013 + }
  1014 + }
  1015 +
  1016 + .u-slot-value {
  1017 + font-size: 24rpx;
  1018 + line-height: 36rpx;
  1019 + color: #909097;
  1020 + }
  1021 + }
  1022 + }
  1023 + }
  1024 +
  1025 + .popup_search {
  1026 + width: 540rpx;
  1027 + height: 100%;
  1028 + background-color: #f7f7f7;
  1029 + position: relative;
  1030 +
  1031 + .content {
  1032 + padding: 100rpx 40rpx 0;
  1033 +
  1034 + .title {
  1035 + font-size: 48rpx;
  1036 + line-height: 60rpx;
  1037 + color: #202131;
  1038 +
  1039 + text:last-child {
  1040 + display: block;
  1041 + font-size: 24rpx;
  1042 + line-height: 32rpx;
  1043 + color: #909097;
  1044 + margin: 30rpx 0 70rpx 0;
  1045 + }
  1046 + }
  1047 +
  1048 + .scroll {
  1049 + max-height: 60vh;
  1050 +
  1051 + .item {
  1052 + width: 380rpx;
  1053 + height: 100rpx;
  1054 + box-shadow: 0rpx 4rpx 48rpx 0rpx rgba(175, 174, 174, 0.15);
  1055 + border-radius: 20rpx;
  1056 + margin: 0 0 20rpx 0;
  1057 + padding: 40rpx;
  1058 + background-color: #ffffff;
  1059 +
  1060 + view {
  1061 + display: flex;
  1062 + flex-flow: row wrap;
  1063 + align-items: center;
  1064 +
  1065 + text {
  1066 + width: 240rpx;
  1067 + font-size: 40rpx;
  1068 + line-height: 48rpx;
  1069 + color: #202131;
  1070 + margin: 0 0 0 34rpx;
  1071 + }
  1072 + }
  1073 + }
  1074 + }
  1075 + }
  1076 + }
  1077 +
  1078 + .new_popup_search {
  1079 + padding: 23px 16px;
  1080 + height: 209px;
  1081 + // background-image: url("https://yxlypublic.oss-cn-beijing.aliyuncs.com/WeChat/yxly-teacher/pop_bg.png");
  1082 + background-size: 100% 90px;
  1083 + background-repeat: no-repeat;
  1084 +
  1085 + .title {
  1086 + font-size: 18px;
  1087 + font-family: PingFangSC-Medium, PingFang SC;
  1088 + font-weight: 500;
  1089 + color: #000000;
  1090 + }
  1091 +
  1092 + .close {
  1093 + width: 22px;
  1094 + height: 22px;
  1095 + }
  1096 +
  1097 + .desc {
  1098 + margin-top: 10px;
  1099 + font-size: 14px;
  1100 + font-family: PingFangSC-Light, PingFang SC;
  1101 + font-weight: 300;
  1102 + color: #202131;
  1103 + }
  1104 +
  1105 + .scroll {
  1106 + margin-top: 25px;
  1107 + height: 159px;
  1108 + // background-color: var(--primary-color);
  1109 +
  1110 + .item {
  1111 + width: 100%;
  1112 + // height: 64rpx;
  1113 + // padding: 20px 16px;
  1114 + display: flex;
  1115 + justify-content: space-between;
  1116 + align-items: center;
  1117 + margin-bottom: 15px;
  1118 +
  1119 + .pop1 {
  1120 + width: 30px;
  1121 + height: 30px;
  1122 + }
  1123 +
  1124 + .pop2 {
  1125 + width: 20px;
  1126 + height: 20px;
  1127 + }
  1128 +
  1129 + .fullName {
  1130 + font-size: 16px;
  1131 + font-family: PingFangSC-Medium, PingFang SC;
  1132 + font-weight: 500;
  1133 + color: #000000;
  1134 + margin-left: 8px;
  1135 + }
  1136 +
  1137 + // view {
  1138 + // display: flex;
  1139 + // flex-flow: row wrap;
  1140 + // align-items: center;
  1141 +
  1142 + // text {
  1143 + // width: 240rpx;
  1144 + // font-size: 40rpx;
  1145 + // line-height: 48rpx;
  1146 + // color: #202131;
  1147 + // margin: 0 0 0 34rpx;
  1148 + // }
  1149 + // }
  1150 + }
  1151 + }
  1152 + }
  1153 +}
  1154 +</style>
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 <view class="item" v-for="(item, i) in list" :key="i" @click="handelDetail(item)"> 14 <view class="item" v-for="(item, i) in list" :key="i" @click="handelDetail(item)">
15 15
16 <view class="info"> 16 <view class="info">
17 - <u-image src="/static/img/internship/classIcon.png" width="88rpx" height="88rpx" /> 17 + <u-image :src="vuex_baseImgUrl && `${vuex_baseImgUrl}classIcon.png`" width="88rpx" height="88rpx" />
18 <view class="title_name"> 18 <view class="title_name">
19 <view class="title"> 19 <view class="title">
20 {{item.startSchoolYear}} 20 {{item.startSchoolYear}}
@@ -40,7 +40,7 @@ @@ -40,7 +40,7 @@
40 </view> 40 </view>
41 <view class="no_login" v-else> 41 <view class="no_login" v-else>
42 <view class="image"> 42 <view class="image">
43 - <u-image :style="{margin:'0 auto'}" :src="vuex_baseImgUrl+'internship_bg.png'" width="480rpx" 43 + <u-image :style="{margin:'0 auto'}" :src="vuex_baseImgUrl && `${vuex_baseImgUrl}internship_bg.png`" width="480rpx"
44 height="480rpx"></u-image> 44 height="480rpx"></u-image>
45 </view> 45 </view>
46 <view class="btn"> 46 <view class="btn">
@@ -49,6 +49,7 @@ @@ -49,6 +49,7 @@
49 </u-button> 49 </u-button>
50 </view> 50 </view>
51 </view> 51 </view>
  52 + <custom-tabbar></custom-tabbar>
52 </view> 53 </view>
53 </template> 54 </template>
54 55
@@ -170,14 +171,14 @@ @@ -170,14 +171,14 @@
170 this.shownoData = true 171 this.shownoData = true
171 } 172 }
172 173
173 - this.list = this.list.concat(result.records)  
174 -  
175 - // 判断是否全部加载完成  
176 - if (this.total == this.list.length) {  
177 - this.finished = true;  
178 - this.loading = 'nomore';  
179 - } else {  
180 - this.loading = 'loadmore'; 174 + this.list = this.list.concat(result.records)
  175 +
  176 + // 判断是否全部加载完成
  177 + if (this.total == this.list.length) {
  178 + this.finished = true;
  179 + this.loading = 'nomore';
  180 + } else {
  181 + this.loading = 'loadmore';
181 } 182 }
182 }, 183 },
183 184
@@ -280,4 +281,4 @@ @@ -280,4 +281,4 @@
280 } 281 }
281 282
282 } 283 }
283 -</style> 284 +</style>
1 <template> 1 <template>
2 - <view class="page"> 2 + <view class="page" :style="vuex_theme">
3 <view class="cell" @click="jump('1')"> 3 <view class="cell" @click="jump('1')">
4 <!-- <view style="display: flex; width: 100%;"> --> 4 <!-- <view style="display: flex; width: 100%;"> -->
5 - <img class="icon" src="/static/img/message/msg2.png" alt=""> 5 + <img class="icon" :src="vuex_baseImgUrl && `${vuex_baseImgUrl}msg2.png`" alt="">
6 <view class="cell-c"> 6 <view class="cell-c">
7 <view class="t1"> 7 <view class="t1">
8 系统公告 8 系统公告
@@ -34,6 +34,7 @@ @@ -34,6 +34,7 @@
34 </view> 34 </view>
35 <view v-if="schoolNotice.ifRead == 'unread'" class="red"></view> 35 <view v-if="schoolNotice.ifRead == 'unread'" class="red"></view>
36 </view> 36 </view>
  37 + <custom-tabbar></custom-tabbar>
37 </view> 38 </view>
38 </template> 39 </template>
39 40
1 <template> 1 <template>
2 - <view class="my_box">  
3 - <view class="my" v-if="hasLogin">  
4 - <view class="box-bg">  
5 - <u-image width="100%" height="500rpx" :src="vuex_baseImgUrl+'myBg.png'" />  
6 - </view>  
7 - <view class="container">  
8 - <view class="avatar">  
9 - <u-image :src="reversedAvatarUrl" shape="circle" width="190rpx" height="190rpx" />  
10 - </view>  
11 - <view class="top">  
12 -  
13 - <view class="title">  
14 - <text class="name">{{reversedName}}</text>  
15 - <view class="info" @click="link('person')">  
16 - <text class="edit-name">{{"个人资料"}}</text>  
17 - <u-icon class="arrowRight" width="20rpx" name="arrow-right" color="#B2B2B2" size="28">  
18 - </u-icon>  
19 - </view>  
20 - </view>  
21 -  
22 - <view class="cell">  
23 - <u-cell-group :border="false">  
24 - <u-cell title="账号与安全" :isLink="true" url="/pages/main/my/accountSafe/accountSafe"  
25 - arrow-direction="right" :rightIconStyle="{fontSize:'28rpx'}" :border="false"  
26 - :title-style="{padding:'0 0 0 14rpx', color:'#333', fontSize:'28rpx'}">  
27 - <u-icon slot="icon" size="48" :name="'/static/img/my/accountSafe.png'"></u-icon>  
28 - </u-cell>  
29 - <u-cell title="政策与协议" :isLink="true"  
30 - url="/pages/main/my/policiesAgreement/policiesAgreement" arrow-direction="right"  
31 - :rightIconStyle="{fontSize:'28rpx'}" :border="false"  
32 - :title-style="{padding:'0 0 0 14rpx', color:'#333', fontSize:'28rpx'}">  
33 - <u-icon slot="icon" size="48" :name="'/static/img/my/policiesAgreement.png'"></u-icon>  
34 - </u-cell>  
35 - </u-cell-group>  
36 - </view>  
37 - </view>  
38 -  
39 - <view class="bottom">  
40 - <view class="cell">  
41 - <u-cell-group :border="false">  
42 - <u-cell title="版本信息" :isLink="true" url="/pages/main/my/versionInfo/versionInfo"  
43 - arrow-direction="right" :rightIconStyle="{fontSize:'28rpx'}" :border="false"  
44 - :title-style="{padding:'0 0 0 14rpx', color:'#333', fontSize:'28rpx'}">  
45 - <u-icon slot="icon" size="48" :name="'/static/img/my/versionInfo.png'"></u-icon>  
46 - </u-cell>  
47 - </u-cell-group>  
48 - </view>  
49 - </view>  
50 -  
51 - <view class="btn loginOut">  
52 - <c-button type="cancel" @click="link('loginOut')" text="退出登录">  
53 - </c-button>  
54 - </view>  
55 - </view>  
56 - </view>  
57 -  
58 - <view class="my" v-else>  
59 - <view class="box-bg">  
60 - <u-image width="100%" height="500rpx" :src="vuex_baseImgUrl+'myBg.png'" />  
61 - </view>  
62 - <view class="container">  
63 - <view class="avatar">  
64 - <u-image src="/static/img/my/default_avatar.png" shape="circle" width="190rpx" height="190rpx" />  
65 - </view>  
66 - <view class="top">  
67 -  
68 - <view class="title">  
69 - <text class="name" @click="handelLOgin">{{`未登录/注册`}}</text>  
70 - <view class="info" @click="handelLOgin">  
71 - <text class="edit-name">{{"个人资料"}}</text>  
72 - <u-icon class="arrowRight" width="20rpx" name="arrow-right" color="#B2B2B2" size="28">  
73 - </u-icon>  
74 - </view>  
75 - </view>  
76 -  
77 - <view class="cell">  
78 - <u-cell-group :border="false">  
79 - <u-cell icon="/static/img/my/school_authen.png" title="账号与安全" :isLink="true"  
80 - url="/pages/main/my/login/login" arrow-direction="right"  
81 - :rightIconStyle="{fontSize:'36rpx'}" :border="false"  
82 - :title-style="{padding:'0 0 0 14rpx', color:'#333', fontSize:'36rpx'}">  
83 - <u-icon slot="icon" size="64" :name="'/static/img/my/school_authen.png'"></u-icon>  
84 - </u-cell>  
85 - <u-cell icon="/static/img/my/school_authen.png" title="政策与协议" :isLink="true"  
86 - url="/pages/main/my/login/login" arrow-direction="right"  
87 - :rightIconStyle="{fontSize:'36rpx'}" :border="false"  
88 - :title-style="{padding:'0 0 0 14rpx', color:'#333', fontSize:'36rpx'}">  
89 - <u-icon slot="icon" size="64" :name="'/static/img/my/school_authen.png'"></u-icon>  
90 - </u-cell>  
91 - </u-cell-group>  
92 - </view>  
93 - </view>  
94 -  
95 - <view class="cell bottom">  
96 - <u-cell-group :border="false">  
97 - <u-cell icon="/static/img/my/school_authen.png" title="版本信息" :isLink="true"  
98 - url="/pages/main/my/login/login" arrow-direction="right"  
99 - :rightIconStyle="{fontSize:'36rpx'}" :border="false"  
100 - :title-style="{padding:'0 0 0 14rpx', color:'#333', fontSize:'36rpx'}">  
101 - <u-icon slot="icon" size="64" :name="'/static/img/my/school_authen.png'"></u-icon>  
102 - </u-cell>  
103 - </u-cell-group>  
104 - </view>  
105 - </view>  
106 - </view>  
107 -  
108 - </view> 2 + <view class="my_box" :style="vuex_theme">
  3 + <view class="my" v-if="hasLogin">
  4 + <view class="box-bg">
  5 + <u-image
  6 + width="100%"
  7 + height="500rpx"
  8 + :src="vuex_baseImgUrl && `${vuex_baseImgUrl}myBg.png`"
  9 + />
  10 + </view>
  11 + <view class="container">
  12 + <view class="avatar">
  13 + <u-image
  14 + :src="reversedAvatarUrl"
  15 + shape="circle"
  16 + width="190rpx"
  17 + height="190rpx"
  18 + />
  19 + </view>
  20 + <view class="top">
  21 + <view class="title">
  22 + <text class="name">{{ reversedName }}</text>
  23 + <view class="info" @click="link('person')">
  24 + <text class="edit-name">{{ "个人资料" }}</text>
  25 + <u-icon
  26 + class="arrowRight"
  27 + width="20rpx"
  28 + name="arrow-right"
  29 + color="#B2B2B2"
  30 + size="28"
  31 + >
  32 + </u-icon>
  33 + </view>
  34 + </view>
  35 +
  36 + <view class="cell">
  37 + <u-cell-group :border="false">
  38 + <u-cell
  39 + title="账号与安全"
  40 + :isLink="true"
  41 + url="/pages/main/my/accountSafe/accountSafe"
  42 + arrow-direction="right"
  43 + :rightIconStyle="{ fontSize: '28rpx' }"
  44 + :border="false"
  45 + :title-style="{
  46 + padding: '0 0 0 14rpx',
  47 + color: '#333',
  48 + fontSize: '28rpx',
  49 + }"
  50 + >
  51 + <u-icon
  52 + slot="icon"
  53 + size="48"
  54 + :name="vuex_baseImgUrl && `${vuex_baseImgUrl}accountSafe.png`"
  55 + ></u-icon>
  56 + </u-cell>
  57 + <u-cell
  58 + title="政策与协议"
  59 + :isLink="true"
  60 + url="/pages/main/my/policiesAgreement/policiesAgreement"
  61 + arrow-direction="right"
  62 + :rightIconStyle="{ fontSize: '28rpx' }"
  63 + :border="false"
  64 + :title-style="{
  65 + padding: '0 0 0 14rpx',
  66 + color: '#333',
  67 + fontSize: '28rpx',
  68 + }"
  69 + >
  70 + <u-icon
  71 + slot="icon"
  72 + size="48"
  73 + :name="vuex_baseImgUrl && `${vuex_baseImgUrl}policiesAgreement.png`"
  74 + ></u-icon>
  75 + </u-cell>
  76 + </u-cell-group>
  77 + </view>
  78 + </view>
  79 +
  80 + <view class="bottom">
  81 + <view class="cell">
  82 + <u-cell-group :border="false">
  83 + <u-cell
  84 + title="版本信息"
  85 + :isLink="true"
  86 + url="/pages/main/my/versionInfo/versionInfo"
  87 + arrow-direction="right"
  88 + :rightIconStyle="{ fontSize: '28rpx' }"
  89 + :border="false"
  90 + :title-style="{
  91 + padding: '0 0 0 14rpx',
  92 + color: '#333',
  93 + fontSize: '28rpx',
  94 + }"
  95 + >
  96 + <u-icon
  97 + slot="icon"
  98 + size="48"
  99 + :name="vuex_baseImgUrl && `${vuex_baseImgUrl}versionInfo.png`"
  100 + ></u-icon>
  101 + </u-cell>
  102 + </u-cell-group>
  103 + </view>
  104 + </view>
  105 +
  106 + <view class="btn loginOut">
  107 + <c-button type="cancel" @click="link('loginOut')" text="退出登录">
  108 + </c-button>
  109 + </view>
  110 + </view>
  111 + </view>
  112 +
  113 + <view class="my" v-else>
  114 + <view class="box-bg">
  115 + <u-image
  116 + width="100%"
  117 + height="500rpx"
  118 + :src="vuex_baseImgUrl && `${vuex_baseImgUrl}myBg.png`"
  119 + />
  120 + </view>
  121 + <view class="container">
  122 + <view class="avatar">
  123 + <u-image
  124 + src="/static/img/my/default_avatar.png"
  125 + shape="circle"
  126 + width="190rpx"
  127 + height="190rpx"
  128 + />
  129 + </view>
  130 + <view class="top">
  131 + <view class="title">
  132 + <text class="name" @click="handelLOgin">{{ `未登录/注册` }}</text>
  133 + <view class="info" @click="handelLOgin">
  134 + <text class="edit-name">{{ "个人资料" }}</text>
  135 + <u-icon
  136 + class="arrowRight"
  137 + width="20rpx"
  138 + name="arrow-right"
  139 + color="#B2B2B2"
  140 + size="28"
  141 + >
  142 + </u-icon>
  143 + </view>
  144 + </view>
  145 +
  146 + <view class="cell">
  147 + <u-cell-group :border="false">
  148 + <u-cell
  149 + icon="/static/img/my/school_authen.png"
  150 + title="账号与安全"
  151 + :isLink="true"
  152 + url="/pages/main/my/login/login"
  153 + arrow-direction="right"
  154 + :rightIconStyle="{ fontSize: '36rpx' }"
  155 + :border="false"
  156 + :title-style="{
  157 + padding: '0 0 0 14rpx',
  158 + color: '#333',
  159 + fontSize: '36rpx',
  160 + }"
  161 + >
  162 + <u-icon
  163 + slot="icon"
  164 + size="64"
  165 + :name="'/static/img/my/school_authen.png'"
  166 + ></u-icon>
  167 + </u-cell>
  168 + <u-cell
  169 + icon="/static/img/my/school_authen.png"
  170 + title="政策与协议"
  171 + :isLink="true"
  172 + url="/pages/main/my/login/login"
  173 + arrow-direction="right"
  174 + :rightIconStyle="{ fontSize: '36rpx' }"
  175 + :border="false"
  176 + :title-style="{
  177 + padding: '0 0 0 14rpx',
  178 + color: '#333',
  179 + fontSize: '36rpx',
  180 + }"
  181 + >
  182 + <u-icon
  183 + slot="icon"
  184 + size="64"
  185 + :name="'/static/img/my/school_authen.png'"
  186 + ></u-icon>
  187 + </u-cell>
  188 + </u-cell-group>
  189 + </view>
  190 + </view>
  191 +
  192 + <view class="cell bottom">
  193 + <u-cell-group :border="false">
  194 + <u-cell
  195 + icon="/static/img/my/school_authen.png"
  196 + title="版本信息"
  197 + :isLink="true"
  198 + url="/pages/main/my/login/login"
  199 + arrow-direction="right"
  200 + :rightIconStyle="{ fontSize: '36rpx' }"
  201 + :border="false"
  202 + :title-style="{
  203 + padding: '0 0 0 14rpx',
  204 + color: '#333',
  205 + fontSize: '36rpx',
  206 + }"
  207 + >
  208 + <u-icon
  209 + slot="icon"
  210 + size="64"
  211 + :name="'/static/img/my/school_authen.png'"
  212 + ></u-icon>
  213 + </u-cell>
  214 + </u-cell-group>
  215 + </view>
  216 + </view>
  217 + </view>
  218 + <custom-tabbar></custom-tabbar>
  219 + </view>
109 </template> 220 </template>
110 221
111 <script> 222 <script>
112 - import {  
113 - mapState,  
114 - mapActions  
115 - } from 'vuex'  
116 -  
117 - export default {  
118 - data() {  
119 - return {  
120 - avatarUrl: '',  
121 - }  
122 - },  
123 -  
124 - onLoad() {  
125 -  
126 - },  
127 -  
128 - onShow() {  
129 - if (this.hasLogin) {  
130 - this.getUserInfo()  
131 - }  
132 - },  
133 -  
134 - computed: {  
135 - ...mapState({  
136 - hasLogin: 'hasLogin',  
137 - vuex_user: 'vuex_user',  
138 - vuex_weixinUserInfo: 'vuex_weixinUserInfo',  
139 - teacher: (state) => state.vuex_user.teacher,  
140 - vuex_weixinUserInfo: (state) => state.vuex_weixinUserInfo,  
141 - }),  
142 -  
143 - //name  
144 - reversedName() {  
145 - return (this.teacher && this.teacher.name) ? this.teacher.name : this.vuex_user.username;  
146 - },  
147 -  
148 - //avatar  
149 - reversedAvatarUrl() {  
150 - if (this.teacher && this.teacher.avatarUrl) {  
151 - return this.vuex_ossUrlPubilc + '/' + this.teacher.avatarUrl  
152 - }  
153 - return (this.vuex_weixinUserInfo && this.vuex_weixinUserInfo.avatarUrl) ? this.vuex_weixinUserInfo  
154 - .avatarUrl : '/static/img/my/default_avatar.png';  
155 - }  
156 - },  
157 -  
158 - methods: {  
159 -  
160 - ...mapActions('user', {  
161 - getUserInfo: 'getUserInfo',  
162 - }),  
163 -  
164 - handelLOgin() {  
165 - this.$u.route('/pages/main/my/login/login');  
166 - },  
167 -  
168 - link(type) {  
169 - const {  
170 - dispatch  
171 - } = this.$store;  
172 -  
173 - switch (type) {  
174 -  
175 - case 'person':  
176 - this.$u.route('/pages/main/my/personInfo/personInfo');  
177 - break;  
178 -  
179 - case 'loginOut':  
180 - dispatch(`user/loginOut`);  
181 - break;  
182 -  
183 -  
184 - }  
185 -  
186 - },  
187 -  
188 - }  
189 -  
190 -  
191 - } 223 +import { mapState, mapActions } from "vuex";
  224 +
  225 +export default {
  226 + data() {
  227 + return {
  228 + avatarUrl: "",
  229 + };
  230 + },
  231 +
  232 + onLoad() {},
  233 +
  234 + onShow() {
  235 + if (this.hasLogin) {
  236 + this.getUserInfo();
  237 + }
  238 + },
  239 +
  240 + computed: {
  241 + ...mapState({
  242 + hasLogin: "hasLogin",
  243 + vuex_user: "vuex_user",
  244 + vuex_weixinUserInfo: "vuex_weixinUserInfo",
  245 + teacher: (state) => state.vuex_user.teacher,
  246 + vuex_weixinUserInfo: (state) => state.vuex_weixinUserInfo,
  247 + }),
  248 +
  249 + //name
  250 + reversedName() {
  251 + return this.teacher && this.teacher.name
  252 + ? this.teacher.name
  253 + : this.vuex_user.username;
  254 + },
  255 +
  256 + //avatar
  257 + reversedAvatarUrl() {
  258 + if (this.teacher && this.teacher.avatarUrl) {
  259 + return this.vuex_ossUrlPubilc + "/" + this.teacher.avatarUrl;
  260 + }
  261 + return this.vuex_weixinUserInfo && this.vuex_weixinUserInfo.avatarUrl
  262 + ? this.vuex_weixinUserInfo.avatarUrl
  263 + : "/static/img/my/default_avatar.png";
  264 + },
  265 + },
  266 +
  267 + methods: {
  268 + ...mapActions("user", {
  269 + getUserInfo: "getUserInfo",
  270 + }),
  271 +
  272 + handelLOgin() {
  273 + this.$u.route("/pages/main/my/login/login");
  274 + },
  275 +
  276 + link(type) {
  277 + const { dispatch } = this.$store;
  278 +
  279 + switch (type) {
  280 + case "person":
  281 + this.$u.route("/pages/main/my/personInfo/personInfo");
  282 + break;
  283 +
  284 + case "loginOut":
  285 + dispatch(`user/loginOut`);
  286 + break;
  287 + }
  288 + },
  289 + },
  290 +};
192 </script> 291 </script>
193 292
194 <style lang="scss" scoped> 293 <style lang="scss" scoped>
195 - .my_box {  
196 - width: 100%;  
197 - height: 100%;  
198 - }  
199 -  
200 - .my {  
201 - width: 100%;  
202 - height: 100%;  
203 - position: relative;  
204 - background-color: #F7F7F7;  
205 -  
206 - .box-bg {}  
207 -  
208 - .container {  
209 - width: 100%;  
210 - position: absolute;  
211 - top: 320rpx;  
212 - left: 0;  
213 - background-color: #F7F7F7;  
214 - padding: 0 0 100rpx 0;  
215 -  
216 -  
217 -  
218 - .avatar {  
219 - position: absolute;  
220 - top: -95rpx;  
221 - left: 32rpx;  
222 - }  
223 -  
224 - .cell /deep/ .u-cell {  
225 - padding: 16rpx 2rpx;  
226 - }  
227 -  
228 - .top {  
229 - background: #FFFFFF;  
230 - box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.03);  
231 - border-top-left-radius: 20px;  
232 - border-top-right-radius: 20px;  
233 -  
234 - .title {  
235 - padding: 32rpx 0 40rpx 234rpx;  
236 - display: flex;  
237 - flex-flow: row nowrap;  
238 - justify-content: space-between;  
239 -  
240 -  
241 - .name {  
242 - display: inline-block;  
243 - width: 300rpx;  
244 - overflow: hidden;  
245 - text-overflow: ellipsis;  
246 - white-space: nowrap;  
247 - font-size: 44rpx;  
248 - line-height: 60rpx;  
249 - font-size: 500;  
250 - }  
251 -  
252 - .info {  
253 - display: flex;  
254 - flex-flow: row nowrap;  
255 - padding: 0 30rpx 0 0;  
256 -  
257 - .edit-name {  
258 - float: right;  
259 - font-size: 26rpx;  
260 - line-height: 36rpx;  
261 - padding: 12rpx 6rpx 0 0;  
262 - color: rgba(0, 0, 0, 0.65);  
263 - }  
264 -  
265 - .arrowRight {  
266 - float: right;  
267 - padding: 18rpx 32rpx 0 130rpx;  
268 - }  
269 - }  
270 - }  
271 -  
272 - }  
273 -  
274 - .bottom {  
275 - margin: 16rpx 0 0 0;  
276 - background-color: #FFFFFF;  
277 - }  
278 -  
279 - .loginOut {  
280 - width: 634rpx;  
281 - margin: 48rpx auto 0;  
282 - }  
283 -  
284 -  
285 -  
286 -  
287 - }  
288 -  
289 - .fixed_bottom_btn {  
290 - width: 100%;  
291 - height: 144rpx;  
292 - padding: 24rpx 32rpx;  
293 - background: #FFFFFF;  
294 - position: fixed;  
295 - bottom: 0;  
296 - left: 0;  
297 - z-index: 99;  
298 - border-top: 1rpx solid #F0F0F1;  
299 -  
300 - view {  
301 - display: inline-block;  
302 - }  
303 -  
304 - .left_btn {  
305 - width: 212rpx;  
306 - margin: 0 40rpx 0 0;  
307 - }  
308 -  
309 - .right_btn {  
310 - width: 434rpx;  
311 - }  
312 - }  
313 - }  
314 -</style> 294 +.my_box {
  295 + width: 100%;
  296 + height: 100%;
  297 +}
  298 +
  299 +.my {
  300 + width: 100%;
  301 + height: 100%;
  302 + position: relative;
  303 + background-color: #f7f7f7;
  304 +
  305 + .box-bg {
  306 + }
  307 +
  308 + .container {
  309 + width: 100%;
  310 + position: absolute;
  311 + top: 320rpx;
  312 + left: 0;
  313 + background-color: #f7f7f7;
  314 + padding: 0 0 100rpx 0;
  315 +
  316 + .avatar {
  317 + position: absolute;
  318 + top: -95rpx;
  319 + left: 32rpx;
  320 + }
  321 +
  322 + .cell /deep/ .u-cell {
  323 + padding: 16rpx 2rpx;
  324 + }
  325 +
  326 + .top {
  327 + background: #ffffff;
  328 + box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.03);
  329 + border-top-left-radius: 20px;
  330 + border-top-right-radius: 20px;
  331 +
  332 + .title {
  333 + padding: 32rpx 0 40rpx 234rpx;
  334 + display: flex;
  335 + flex-flow: row nowrap;
  336 + justify-content: space-between;
  337 +
  338 + .name {
  339 + display: inline-block;
  340 + width: 300rpx;
  341 + overflow: hidden;
  342 + text-overflow: ellipsis;
  343 + white-space: nowrap;
  344 + font-size: 44rpx;
  345 + line-height: 60rpx;
  346 + font-size: 500;
  347 + }
  348 +
  349 + .info {
  350 + display: flex;
  351 + flex-flow: row nowrap;
  352 + padding: 0 30rpx 0 0;
  353 +
  354 + .edit-name {
  355 + float: right;
  356 + font-size: 26rpx;
  357 + line-height: 36rpx;
  358 + padding: 12rpx 6rpx 0 0;
  359 + color: rgba(0, 0, 0, 0.65);
  360 + }
  361 +
  362 + .arrowRight {
  363 + float: right;
  364 + padding: 18rpx 32rpx 0 130rpx;
  365 + }
  366 + }
  367 + }
  368 + }
  369 +
  370 + .bottom {
  371 + margin: 16rpx 0 0 0;
  372 + background-color: #ffffff;
  373 + }
  374 +
  375 + .loginOut {
  376 + width: 634rpx;
  377 + margin: 48rpx auto 0;
  378 + }
  379 + }
  380 +
  381 + .fixed_bottom_btn {
  382 + width: 100%;
  383 + height: 144rpx;
  384 + padding: 24rpx 32rpx;
  385 + background: #ffffff;
  386 + position: fixed;
  387 + bottom: 0;
  388 + left: 0;
  389 + z-index: 99;
  390 + border-top: 1rpx solid #f0f0f1;
  391 +
  392 + view {
  393 + display: inline-block;
  394 + }
  395 +
  396 + .left_btn {
  397 + width: 212rpx;
  398 + margin: 0 40rpx 0 0;
  399 + }
  400 +
  401 + .right_btn {
  402 + width: 434rpx;
  403 + }
  404 + }
  405 +}
  406 +</style>
@@ -4,8 +4,9 @@ import user from './modules/user' @@ -4,8 +4,9 @@ import user from './modules/user'
4 import home from './modules/home' 4 import home from './modules/home'
5 Vue.use(Vuex) 5 Vue.use(Vuex)
6 6
7 -let lifeData = {};  
8 -let appId = 'wx123123'; 7 +let lifeData = {};
  8 +let appId = 'xhwttheme';
  9 +// let appId = 'wx6cd2152282abd34c'
9 10
10 try { 11 try {
11 // 尝试获取本地是否存在lifeData变量,第一次启动APP时是不存在的 12 // 尝试获取本地是否存在lifeData变量,第一次启动APP时是不存在的
@@ -15,10 +16,19 @@ try { @@ -15,10 +16,19 @@ try {
15 } 16 }
16 17
17 // 需要永久存储,且下次APP启动需要取出的,在state中的变量名 18 // 需要永久存储,且下次APP启动需要取出的,在state中的变量名
18 -let saveStateKeys = ['hasLogin', 'vuex_user', 'vuex_token', 'refresh_token', 'vuex_phone', 'vuex_weixinUserInfo']; 19 +let saveStateKeys = [
  20 + 'hasLogin',
  21 + 'vuex_user',
  22 + 'vuex_token',
  23 + 'refresh_token',
  24 + 'vuex_phone',
  25 + 'vuex_weixinUserInfo',
  26 + 'vuex_baseImgUrl',
  27 + 'vuex_theme'
  28 +];
19 29
20 // 保存变量到本地存储中 30 // 保存变量到本地存储中
21 -const saveLifeData = function(key, value) { 31 +const saveLifeData = function (key, value) {
22 // 判断变量名是否在需要存储的数组中 32 // 判断变量名是否在需要存储的数组中
23 if (saveStateKeys.indexOf(key) != -1) { 33 if (saveStateKeys.indexOf(key) != -1) {
24 // 获取本地存储的lifeData对象,将变量添加到对象中 34 // 获取本地存储的lifeData对象,将变量添加到对象中
@@ -49,7 +59,7 @@ const store = new Vuex.Store({ @@ -49,7 +59,7 @@ const store = new Vuex.Store({
49 // 如果vuex_version无需保存到本地永久存储,无需lifeData.vuex_version方式 59 // 如果vuex_version无需保存到本地永久存储,无需lifeData.vuex_version方式
50 vuex_version: '1.0.1', 60 vuex_version: '1.0.1',
51 vuex_demo: '绛紫', 61 vuex_demo: '绛紫',
52 - vuex_baseImgUrl: "", 62 + vuex_baseImgUrl: "",
53 vuex_theme: '', 63 vuex_theme: '',
54 vuex_ossUrl: "https://yxly.oss-cn-beijing.aliyuncs.com", 64 vuex_ossUrl: "https://yxly.oss-cn-beijing.aliyuncs.com",
55 vuex_ossUrlPubilc: "https://yxlypublic.oss-cn-beijing.aliyuncs.com", 65 vuex_ossUrlPubilc: "https://yxlypublic.oss-cn-beijing.aliyuncs.com",
@@ -62,10 +72,34 @@ const store = new Vuex.Store({ @@ -62,10 +72,34 @@ const store = new Vuex.Store({
62 vuex_OssInit: {}, 72 vuex_OssInit: {},
63 vuex_area: {}, 73 vuex_area: {},
64 // 自定义tabbar数据 74 // 自定义tabbar数据
  75 + vuex_tabbar_index: 0,
  76 + vuex_active_color: 'var(--primary-color)',
65 vuex_tabbar: [ 77 vuex_tabbar: [
66 - 78 + {
  79 + "pagePath": "/pages/tabBar/home/home",
  80 + "iconPath": "/static/img/icon/home.png",
  81 + "selectedIconPath": `https://yxlypublic.oss-cn-beijing.aliyuncs.com/WeChat/${appId}/homeHL.png`,
  82 + "text": "首1页"
  83 + },
  84 + {
  85 + "pagePath": "/pages/tabBar/internship/internship",
  86 + "iconPath": "/static/img/icon/internship.png",
  87 + "selectedIconPath": `https://yxlypublic.oss-cn-beijing.aliyuncs.com/WeChat/${appId}/internshipHL.png`,
  88 + "text": "实习生"
  89 + },
  90 + {
  91 + "pagePath": "/pages/tabBar/message/message",
  92 + "iconPath": "/static/img/icon/message.png",
  93 + "selectedIconPath": `https://yxlypublic.oss-cn-beijing.aliyuncs.com/WeChat/${appId}/messageHL.png`,
  94 + "text": "消息"
  95 + },
  96 + {
  97 + "pagePath": "/pages/tabBar/my/my",
  98 + "iconPath": "/static/img/icon/my.png",
  99 + "selectedIconPath": `https://yxlypublic.oss-cn-beijing.aliyuncs.com/WeChat/${appId}/myHL.png`,
  100 + "text": "我的"
  101 + }
67 ], 102 ],
68 -  
69 }, 103 },
70 getters: { 104 getters: {
71 doneRolesLength: state => { 105 doneRolesLength: state => {
@@ -138,4 +172,4 @@ const store = new Vuex.Store({ @@ -138,4 +172,4 @@ const store = new Vuex.Store({
138 } 172 }
139 }) 173 })
140 174
141 -export default store 175 +export default store
注册登录 后发表评论