正在显示
17 个修改的文件
包含
2653 行增加
和
504 行删除
| @@ -208,4 +208,24 @@ export const scoreinternshipInfoUrl = (params) => http.get('/internship/v1/score | @@ -208,4 +208,24 @@ export const scoreinternshipInfoUrl = (params) => http.get('/internship/v1/score | ||
| 208 | }) | 208 | }) |
| 209 | 209 | ||
| 210 | // 鉴定成绩鉴定 | 210 | // 鉴定成绩鉴定 |
| 211 | -export const putscoreappraisalApi = (params) => http.put('/internship/v1/score/appraisal', params) | ||
| 211 | +export const putscoreappraisalApi = (params) => http.put('/internship/v1/score/appraisal', params) | ||
| 212 | + | ||
| 213 | +// 实习生详情-实习课程-实习信息 | ||
| 214 | +export const getforminternshipInfoApi = (params) => http.get('/internship/v1/form/internshipInfo', { | ||
| 215 | + params: params | ||
| 216 | +}) | ||
| 217 | + | ||
| 218 | +// 实习申请-列表 | ||
| 219 | +export const getformApplyschoollistApi = (params) => http.get('/internship/v1/formApply/school/list', { | ||
| 220 | + params: params | ||
| 221 | +}) | ||
| 222 | + | ||
| 223 | +// 实习申请-详情 | ||
| 224 | +export const getformApplyschooldetailApi = (id,params) => http.get('/internship/v1/formApply/'+id, { | ||
| 225 | + params: params | ||
| 226 | +}) | ||
| 227 | + | ||
| 228 | +// 实习申请-审核 | ||
| 229 | +export const putformApplyApi = (id,params) => http.put('/internship/v1/formApply/audit/'+id, { | ||
| 230 | + params: params | ||
| 231 | +}) |
| @@ -155,6 +155,18 @@ | @@ -155,6 +155,18 @@ | ||
| 155 | "enablePullDownRefresh": false | 155 | "enablePullDownRefresh": false |
| 156 | } | 156 | } |
| 157 | 157 | ||
| 158 | + }, { | ||
| 159 | + "path": "interapply/interapply", | ||
| 160 | + "style": { | ||
| 161 | + "navigationBarTitleText": "实习申请", | ||
| 162 | + "enablePullDownRefresh": false | ||
| 163 | + } | ||
| 164 | + }, { | ||
| 165 | + "path": "interapplydetail/interapplydetail", | ||
| 166 | + "style": { | ||
| 167 | + "navigationBarTitleText": "实习申请", | ||
| 168 | + "enablePullDownRefresh": false | ||
| 169 | + } | ||
| 158 | } | 170 | } |
| 159 | ] | 171 | ] |
| 160 | }, | 172 | }, |
| @@ -227,7 +239,14 @@ | @@ -227,7 +239,14 @@ | ||
| 227 | "enablePullDownRefresh": false | 239 | "enablePullDownRefresh": false |
| 228 | } | 240 | } |
| 229 | 241 | ||
| 230 | - } | 242 | + },{ |
| 243 | + "path" : "traineeInterList/traineeInterList", | ||
| 244 | + "style" : | ||
| 245 | + { | ||
| 246 | + "navigationBarTitleText": "实习信息", | ||
| 247 | + "enablePullDownRefresh": false | ||
| 248 | + } | ||
| 249 | + } | ||
| 231 | ] | 250 | ] |
| 232 | }, | 251 | }, |
| 233 | { | 252 | { |
| @@ -383,7 +402,7 @@ | @@ -383,7 +402,7 @@ | ||
| 383 | "pagePath": "pages/tabBar/internship/internship", | 402 | "pagePath": "pages/tabBar/internship/internship", |
| 384 | "iconPath": "/static/img/icon/internship.png", | 403 | "iconPath": "/static/img/icon/internship.png", |
| 385 | "selectedIconPath": "/static/img/icon/internshipHL.png", | 404 | "selectedIconPath": "/static/img/icon/internshipHL.png", |
| 386 | - "text": "实习" | 405 | + "text": "实习生" |
| 387 | }, | 406 | }, |
| 388 | { | 407 | { |
| 389 | "pagePath": "pages/tabBar/my/my", | 408 | "pagePath": "pages/tabBar/my/my", |
| @@ -36,7 +36,7 @@ | @@ -36,7 +36,7 @@ | ||
| 36 | <view class="gv" style="background-color: #fff; padding: 20px 16px 0;"> | 36 | <view class="gv" style="background-color: #fff; padding: 20px 16px 0;"> |
| 37 | <view class="green"></view> | 37 | <view class="green"></view> |
| 38 | <view class="title"> | 38 | <view class="title"> |
| 39 | - 学校评价 | 39 | + 教师评价 |
| 40 | </view> | 40 | </view> |
| 41 | </view> | 41 | </view> |
| 42 | <view style="background-color: #fff; padding: 20px 16px 0;"> | 42 | <view style="background-color: #fff; padding: 20px 16px 0;"> |
| @@ -623,7 +623,7 @@ | @@ -623,7 +623,7 @@ | ||
| 623 | display: flex; | 623 | display: flex; |
| 624 | flex-direction: column; | 624 | flex-direction: column; |
| 625 | margin-left: 2px; | 625 | margin-left: 2px; |
| 626 | - width: 85%; | 626 | + width: 80%; |
| 627 | 627 | ||
| 628 | .pdffj { | 628 | .pdffj { |
| 629 | margin-bottom: 5px; | 629 | margin-bottom: 5px; |
| @@ -72,7 +72,7 @@ | @@ -72,7 +72,7 @@ | ||
| 72 | </view> | 72 | </view> |
| 73 | <view class="list"> | 73 | <view class="list"> |
| 74 | <text class="item1">评分:</text> | 74 | <text class="item1">评分:</text> |
| 75 | - <text class="item2">{{detailObj.reportAverageScore}}分</text> | 75 | + <text class="item2">{{detailObj.reportAverageScore?`${detailObj.reportAverageScore}分`:'-'}}</text> |
| 76 | </view> | 76 | </view> |
| 77 | </view> | 77 | </view> |
| 78 | 78 | ||
| @@ -90,6 +90,7 @@ | @@ -90,6 +90,7 @@ | ||
| 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> --> | ||
| 93 | </view> | 94 | </view> |
| 94 | <view class="listflex list_item_top"> | 95 | <view class="listflex list_item_top"> |
| 95 | <text class="item1">附件:</text> | 96 | <text class="item1">附件:</text> |
| @@ -140,7 +141,7 @@ | @@ -140,7 +141,7 @@ | ||
| 140 | <view class="t"> | 141 | <view class="t"> |
| 141 | <view class="green"></view> | 142 | <view class="green"></view> |
| 142 | <view class="title"> | 143 | <view class="title"> |
| 143 | - 学校评价 | 144 | + 教师评价 |
| 144 | </view> | 145 | </view> |
| 145 | </view> | 146 | </view> |
| 146 | <view class="list list_item_top"> | 147 | <view class="list list_item_top"> |
| @@ -597,6 +598,10 @@ | @@ -597,6 +598,10 @@ | ||
| 597 | } | 598 | } |
| 598 | 599 | ||
| 599 | .item2 { | 600 | .item2 { |
| 601 | + -webkit-box-orient: vertical; | ||
| 602 | + overflow: hidden; | ||
| 603 | + word-break: break-all; | ||
| 604 | + word-wrap: break-word; | ||
| 600 | margin-left: 2px; | 605 | margin-left: 2px; |
| 601 | font-size: 12px; | 606 | font-size: 12px; |
| 602 | font-family: PingFangSC-Light, PingFang SC; | 607 | font-family: PingFangSC-Light, PingFang SC; |
pages/main/home/interapply/interapply.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <view class="registration_review"> | ||
| 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="#06B079" 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> | ||
| 27 | + | ||
| 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)"> | ||
| 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 hh:MM')}} | ||
| 41 | + </view> | ||
| 42 | + <view class="t2"> | ||
| 43 | + 结束时间: {{timeFormat(item.formEndTime, '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 == 'passed'" class="status" style="color: #0CB17A;"> | ||
| 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> | ||
| 57 | + </view> | ||
| 58 | + <c-loading :loading="loading"></c-loading> | ||
| 59 | + </view> | ||
| 60 | + <view v-else class="no_data"> | ||
| 61 | + <c-no-data></c-no-data> | ||
| 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> | ||
| 95 | + | ||
| 96 | + <!-- <u-popup :show="show" mode="right" @close="close" @open="open" :closeOnClickOverlay="false"> | ||
| 97 | + <view class="popup_search"> | ||
| 98 | + <view class="content"> | ||
| 99 | + <view class="title">按项目筛选</view> | ||
| 100 | + <scroll-view class="scroll" scroll-y="true"> | ||
| 101 | + <view class="item" v-for="(item, i) in projectList" :key="i" @click="handelClick(item)"> | ||
| 102 | + <view class="selectItem" v-if="item.id == projectId"> | ||
| 103 | + <text>{{item.name}}</text> | ||
| 104 | + </view> | ||
| 105 | + <view v-else> | ||
| 106 | + <text>{{item.name}}</text> | ||
| 107 | + </view> | ||
| 108 | + </view> | ||
| 109 | + </scroll-view> | ||
| 110 | + <view class="switch"> | ||
| 111 | + <text>待处理</text> | ||
| 112 | + <u-switch v-model="switchValue" size="48" activeColor="#06B079" @change="handelChange"> | ||
| 113 | + </u-switch> | ||
| 114 | + </view> | ||
| 115 | + </view> | ||
| 116 | + | ||
| 117 | + <view class="footer"> | ||
| 118 | + <view class="left_btn"> | ||
| 119 | + <c-button type="cancel" text="重置" @click="handelCancel"> | ||
| 120 | + </c-button> | ||
| 121 | + </view> | ||
| 122 | + <view class="right_btn"> | ||
| 123 | + <c-button type="confirm" text="确定" @click="hancelSubmit"> | ||
| 124 | + </c-button> | ||
| 125 | + </view> | ||
| 126 | + </view> | ||
| 127 | + | ||
| 128 | + </view> | ||
| 129 | + </u-popup> --> | ||
| 130 | + | ||
| 131 | + </view> | ||
| 132 | +</template> | ||
| 133 | + | ||
| 134 | +<script> | ||
| 135 | + import { | ||
| 136 | + mapGetters, | ||
| 137 | + mapState, | ||
| 138 | + mapActions | ||
| 139 | + } from 'vuex' | ||
| 140 | + import listMixin from "@/common/mixins/list-mixin.js"; | ||
| 141 | + | ||
| 142 | + import { | ||
| 143 | + getformApplyschoollistApi, | ||
| 144 | + getProjectListApi, | ||
| 145 | + } from '@/config/api.js'; | ||
| 146 | + | ||
| 147 | + export default { | ||
| 148 | + mixins: [listMixin], | ||
| 149 | + data() { | ||
| 150 | + return { | ||
| 151 | + checkboxValue: [], | ||
| 152 | + // 基本案列数据 | ||
| 153 | + checkboxList: [{ | ||
| 154 | + name: '待处理', | ||
| 155 | + disabled: false | ||
| 156 | + }], | ||
| 157 | + keyword: '', | ||
| 158 | + show: false, | ||
| 159 | + list: [], //列表必须为key list的数组 | ||
| 160 | + search: { | ||
| 161 | + //搜索对象必须为key search的对象 | ||
| 162 | + keySearch: "", | ||
| 163 | + status: '', | ||
| 164 | + | ||
| 165 | + }, | ||
| 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, | ||
| 181 | + workstotal: 0, | ||
| 182 | + } | ||
| 183 | + }, | ||
| 184 | + | ||
| 185 | + onLoad(option) { | ||
| 186 | + console.log(option) | ||
| 187 | + // this.$store.dispatch(`home/getProjectList`, { | ||
| 188 | + // pageSize: -1, | ||
| 189 | + // }) | ||
| 190 | + | ||
| 191 | + this.worksloadData() | ||
| 192 | + | ||
| 193 | + // this.search.keySearch = ''; | ||
| 194 | + | ||
| 195 | + if (option && option.status) { | ||
| 196 | + // this.search.status = 'wait'; | ||
| 197 | + this.curNow = 0; | ||
| 198 | + // this.checkboxValue = ['待处理']; | ||
| 199 | + // this.switchValue = true; | ||
| 200 | + } | ||
| 201 | + | ||
| 202 | + }, | ||
| 203 | + | ||
| 204 | + onShow() { | ||
| 205 | + this.finished = false; | ||
| 206 | + this.loading = "loadmore"; | ||
| 207 | + this.page = 0; | ||
| 208 | + this.list = []; | ||
| 209 | + this._getList(); | ||
| 210 | + }, | ||
| 211 | + | ||
| 212 | + computed: { | ||
| 213 | + ...mapState('home', { | ||
| 214 | + // 箭头函数可使代码更简练 | ||
| 215 | + projectList: 'projectList', | ||
| 216 | + | ||
| 217 | + }), | ||
| 218 | + | ||
| 219 | + }, | ||
| 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 | + } | ||
| 244 | + }, | ||
| 245 | + | ||
| 246 | + handelDetail(record) { | ||
| 247 | + this.$u.route('/pages/main/home/interapplydetail/interapplydetail?id='+record.id); | ||
| 248 | + }, | ||
| 249 | + | ||
| 250 | + timeFormat(timestamp, format = 'yyyy-mm-dd') { | ||
| 251 | + return timestamp > 0 ? uni.$u.timeFormat(timestamp, format) : '--' | ||
| 252 | + }, | ||
| 253 | + | ||
| 254 | + checkboxChange(n) { | ||
| 255 | + console.log('change', n); | ||
| 256 | + | ||
| 257 | + this.search.status = n.length > 0 ? 'wait' : ''; | ||
| 258 | + | ||
| 259 | + this.switchValue = n.length > 0 ? true : false; | ||
| 260 | + | ||
| 261 | + this.finished = false; | ||
| 262 | + this.loading = "loadmore"; | ||
| 263 | + this.page = 0; | ||
| 264 | + this.list = []; | ||
| 265 | + this._getList(); | ||
| 266 | + }, | ||
| 267 | + | ||
| 268 | + handelSearch(value) { | ||
| 269 | + this.finished = false; | ||
| 270 | + this.loading = "loadmore"; | ||
| 271 | + this.page = 0; | ||
| 272 | + this.list = []; | ||
| 273 | + this._getList(); | ||
| 274 | + }, | ||
| 275 | + | ||
| 276 | + open() { | ||
| 277 | + // console.log('open'); | ||
| 278 | + }, | ||
| 279 | + close() { | ||
| 280 | + this.show = false | ||
| 281 | + // console.log('close'); | ||
| 282 | + }, | ||
| 283 | + // scroll-view到底部加载更多 | ||
| 284 | + onreachBottom() {}, | ||
| 285 | + // 搜索 | ||
| 286 | + searchSubmit() { | ||
| 287 | + // 调用混合搜索 | ||
| 288 | + this._searchData(); | ||
| 289 | + }, | ||
| 290 | + // 模拟后端分页 | ||
| 291 | + async getData(requestParams) { | ||
| 292 | + const { | ||
| 293 | + search = {} | ||
| 294 | + } = requestParams; | ||
| 295 | + | ||
| 296 | + let params = {}; | ||
| 297 | + params.pageNumber = requestParams.page + 1; | ||
| 298 | + params.pageSize = 5; | ||
| 299 | + | ||
| 300 | + if (this.curNow == 0) { | ||
| 301 | + params.status = 'wait'; | ||
| 302 | + } | ||
| 303 | + | ||
| 304 | + if (this.keyword) { | ||
| 305 | + params.keySearch = this.keyword | ||
| 306 | + } | ||
| 307 | + | ||
| 308 | + if (this.projectId) { | ||
| 309 | + params.projectId = this.projectId | ||
| 310 | + } | ||
| 311 | + | ||
| 312 | + return await getformApplyschoollistApi(params); | ||
| 313 | + }, | ||
| 314 | + // 数据请求(没错就是这么少的代码) | ||
| 315 | + async _getList() { | ||
| 316 | + if (this.page == 0) { | ||
| 317 | + this.list = []; | ||
| 318 | + } | ||
| 319 | + | ||
| 320 | + // 根据实际情况修改自己修改key | ||
| 321 | + let result = await this.getData({ | ||
| 322 | + page: this.page, // 传入页码 | ||
| 323 | + size: this.size, // 传入每页条数 | ||
| 324 | + search: this.search, // 传入搜索的对象 | ||
| 325 | + }); | ||
| 326 | + | ||
| 327 | + this.total = result.total; | ||
| 328 | + | ||
| 329 | + if (this.list.length == 0 && result.records.length == 0) { | ||
| 330 | + this.shownoData = false | ||
| 331 | + } else { | ||
| 332 | + this.shownoData = true | ||
| 333 | + } | ||
| 334 | + | ||
| 335 | + this.list = this.list.concat(result.records) | ||
| 336 | + | ||
| 337 | + // 判断是否全部加载完成 | ||
| 338 | + if (this.total == this.list.length) { | ||
| 339 | + this.finished = true; | ||
| 340 | + this.loading = 'nomore'; | ||
| 341 | + } else { | ||
| 342 | + this.loading = 'loadmore'; | ||
| 343 | + } | ||
| 344 | + }, | ||
| 345 | + | ||
| 346 | + handelClick(values) { | ||
| 347 | + console.log(values); | ||
| 348 | + this.projectId = values.id; | ||
| 349 | + }, | ||
| 350 | + | ||
| 351 | + handelChange(e) { | ||
| 352 | + console.log(e) | ||
| 353 | + this.checkboxValue = e ? ['待处理'] : []; | ||
| 354 | + this.search.status = e ? 'wait' : ''; | ||
| 355 | + | ||
| 356 | + }, | ||
| 357 | + | ||
| 358 | + handelCancel() { | ||
| 359 | + this.switchValue = false; | ||
| 360 | + this.projectId = ''; | ||
| 361 | + }, | ||
| 362 | + | ||
| 363 | + hancelSubmit() { | ||
| 364 | + this.finished = false; | ||
| 365 | + this.loading = "loadmore"; | ||
| 366 | + this.page = 0; | ||
| 367 | + this.list = []; | ||
| 368 | + this._getList(); | ||
| 369 | + | ||
| 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(); | ||
| 418 | + }, | ||
| 419 | + | ||
| 420 | + } | ||
| 421 | + } | ||
| 422 | +</script> | ||
| 423 | + | ||
| 424 | +<style lang="scss" scoped> | ||
| 425 | + .registration_review { | ||
| 426 | + width: 100%; | ||
| 427 | + min-height: 100%; | ||
| 428 | + height: auto; | ||
| 429 | + background-color: #F7F7F7; | ||
| 430 | + | ||
| 431 | + .search_box { | ||
| 432 | + padding: 36rpx 30rpx 12rpx; | ||
| 433 | + background-color: #FFFFFF; | ||
| 434 | + display: flex; | ||
| 435 | + flex-flow: row nowrap; | ||
| 436 | + justify-content: space-between; | ||
| 437 | + | ||
| 438 | + .check { | ||
| 439 | + padding: 20rpx 0 0 0; | ||
| 440 | + } | ||
| 441 | + | ||
| 442 | + .search { | ||
| 443 | + width: 468rpx; | ||
| 444 | + } | ||
| 445 | + } | ||
| 446 | + | ||
| 447 | + .list_box { | ||
| 448 | + padding: 0 0 50rpx 0; | ||
| 449 | + | ||
| 450 | + .item { | ||
| 451 | + position: relative; | ||
| 452 | + margin: 8px 13px 0; | ||
| 453 | + padding: 20px 17px; | ||
| 454 | + border-radius: 8rpx; | ||
| 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; | ||
| 501 | + } | ||
| 502 | + } | ||
| 503 | + } | ||
| 504 | + | ||
| 505 | + .popup_search { | ||
| 506 | + width: 640rpx; | ||
| 507 | + position: relative; | ||
| 508 | + | ||
| 509 | + .content { | ||
| 510 | + padding: 0 40rpx; | ||
| 511 | + | ||
| 512 | + .title { | ||
| 513 | + padding: 24rpx 0; | ||
| 514 | + font-size: 28rpx; | ||
| 515 | + line-height: 36rpx; | ||
| 516 | + color: #202131; | ||
| 517 | + } | ||
| 518 | + | ||
| 519 | + .scroll { | ||
| 520 | + max-height: 60vh; | ||
| 521 | + | ||
| 522 | + .item { | ||
| 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: #06B079; | ||
| 541 | + color: #FFFFFF; | ||
| 542 | + border: 2rpx solid #06B079; | ||
| 543 | + } | ||
| 544 | + } | ||
| 545 | + } | ||
| 546 | + | ||
| 547 | + .switch { | ||
| 548 | + display: flex; | ||
| 549 | + flex-flow: row nowrap; | ||
| 550 | + justify-content: space-between; | ||
| 551 | + padding: 40rpx 0 0 0; | ||
| 552 | + | ||
| 553 | + text { | ||
| 554 | + font-size: 28rpx; | ||
| 555 | + line-height: 36rpx; | ||
| 556 | + color: #202131; | ||
| 557 | + } | ||
| 558 | + } | ||
| 559 | + | ||
| 560 | + | ||
| 561 | + } | ||
| 562 | + | ||
| 563 | + .footer { | ||
| 564 | + width: 560rpx; | ||
| 565 | + height: 96rpx; | ||
| 566 | + padding: 28rpx 40rpx; | ||
| 567 | + background: #FFFFFF; | ||
| 568 | + position: fixed; | ||
| 569 | + bottom: 0; | ||
| 570 | + right: 0; | ||
| 571 | + z-index: 99; | ||
| 572 | + border-top: 2rpx solid #E2E2E8; | ||
| 573 | + | ||
| 574 | + view { | ||
| 575 | + display: inline-block; | ||
| 576 | + } | ||
| 577 | + | ||
| 578 | + .left_btn { | ||
| 579 | + width: 194rpx; | ||
| 580 | + margin: 0 20rpx 0 0; | ||
| 581 | + } | ||
| 582 | + | ||
| 583 | + .right_btn { | ||
| 584 | + width: 346rpx; | ||
| 585 | + } | ||
| 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 | + | ||
| 634 | + } | ||
| 635 | + } | ||
| 636 | +</style> |
| 1 | +<template> | ||
| 2 | + <view class="page"> | ||
| 3 | + <view class="top"> | ||
| 4 | + <view class="title"> | ||
| 5 | + {{detailObj.studentName}}提交的请假申请 | ||
| 6 | + </view> | ||
| 7 | + <view class="t1"> | ||
| 8 | + {{detailObj.projectName}} | ||
| 9 | + </view> | ||
| 10 | + <!-- <view class="t2"> | ||
| 11 | + {{detailObj.courseName}} | ||
| 12 | + </view> --> | ||
| 13 | + <view v-if="detailObj.status == 'wait'" class="status" style="color: #FFC200;"> | ||
| 14 | + 待处理 | ||
| 15 | + </view> | ||
| 16 | + <view v-else-if="detailObj.status == 'passed'" class="status" style="color: #0CB17A;"> | ||
| 17 | + 已通过 | ||
| 18 | + </view> | ||
| 19 | + <view v-else-if="detailObj.status == 'rejected'" class="status" style="color: red;"> | ||
| 20 | + 已驳回 | ||
| 21 | + </view> | ||
| 22 | + </view> | ||
| 23 | + <view class="content"> | ||
| 24 | + <view class="c1"> | ||
| 25 | + 申请类型 | ||
| 26 | + </view> | ||
| 27 | + <view class="c2"> | ||
| 28 | + {{getCategoryList(detailObj.type)}} | ||
| 29 | + </view> | ||
| 30 | + <view class="grayV"> | ||
| 31 | + <view class="g1"> | ||
| 32 | + 实习时间 | ||
| 33 | + </view> | ||
| 34 | + <image class="timeline" src="/static/img/home/timeline.png"></image> | ||
| 35 | + <view class="start"> | ||
| 36 | + {{timeFormat(detailObj.formStartTime,'yyyy-mm-dd hh:MM')}} | ||
| 37 | + </view> | ||
| 38 | + <view class="end"> | ||
| 39 | + {{timeFormat(detailObj.formEndTime,'yyyy-mm-dd hh:MM')}} | ||
| 40 | + </view> | ||
| 41 | + </view> | ||
| 42 | + <!-- <view class="c1" style="margin-top: 16rpx;"> | ||
| 43 | + 请假原因 | ||
| 44 | + </view> | ||
| 45 | + <view class="c2" style="margin-top: 16rpx;"> | ||
| 46 | + {{detailObj.reason}} | ||
| 47 | + </view> --> | ||
| 48 | + <!-- <view class="c1" style="margin-top: 32rpx;"> | ||
| 49 | + 附件 | ||
| 50 | + </view> --> | ||
| 51 | + <!-- <view v-if="picList.length>0" class="fj_content"> | ||
| 52 | + <view class="item"> | ||
| 53 | + <view class="p_item" v-for="(item, index) in picList" :key="index" @click="openImage(item)"> | ||
| 54 | + <u-image :height="120" :width="120" :border-radius="16" :src="item"></u-image> | ||
| 55 | + </view> | ||
| 56 | + </view> | ||
| 57 | + </view> --> | ||
| 58 | + </view> | ||
| 59 | + <view class="timeb"> | ||
| 60 | + <view class="title"> | ||
| 61 | + 审批信息 | ||
| 62 | + </view> | ||
| 63 | + <view style="padding: 10rpx;"> | ||
| 64 | + <view> | ||
| 65 | + <view v-for="(item,index) in questions" :key="index"> | ||
| 66 | + <view class="nodef"> | ||
| 67 | + <!-- <<!-- template v-slot:node> --> | ||
| 68 | + <view class="node1"> | ||
| 69 | + <view class="u-node"></view> | ||
| 70 | + </view> | ||
| 71 | + <!-- </template> --> | ||
| 72 | + <!-- <template v-slot:content> --> | ||
| 73 | + <view class="node2"> | ||
| 74 | + <view style="display: flex; align-self: center; justify-content:space-between;"> | ||
| 75 | + <view class='u-order-title'>{{item.title}}</view> | ||
| 76 | + <view class='u-order-time'>{{timeFormat(item.time,'mm-dd hh:MM')}}</view> | ||
| 77 | + </view> | ||
| 78 | + <view class='u-order-desc'>{{item.desc}}{{item.peo?item.peo:''}}</view> | ||
| 79 | + <view v-if="item.reply" class='u-order-reply'>{{item.reply}}</view> | ||
| 80 | + </view> | ||
| 81 | + <!-- </template> --> | ||
| 82 | + </view> | ||
| 83 | + </view> | ||
| 84 | + </view> | ||
| 85 | + </view> | ||
| 86 | + </view> | ||
| 87 | + <view style="height: 100px;"> | ||
| 88 | + | ||
| 89 | + </view> | ||
| 90 | + <view class="footer" v-if="detailObj.status == 'wait'"> | ||
| 91 | + <view class="left_btn"> | ||
| 92 | + <c-button type="cancel" text="驳回" @click="handelCancel"> | ||
| 93 | + </c-button> | ||
| 94 | + </view> | ||
| 95 | + <view class="right_btn"> | ||
| 96 | + <c-button type="confirm" text="通过" @click="hancelSubmit"> | ||
| 97 | + </c-button> | ||
| 98 | + </view> | ||
| 99 | + </view> | ||
| 100 | + </view> | ||
| 101 | +</template> | ||
| 102 | + | ||
| 103 | +<script> | ||
| 104 | + import { | ||
| 105 | + getformApplyschooldetailApi, | ||
| 106 | + putformApplyApi, | ||
| 107 | + getImgUrlApi, | ||
| 108 | + } from '@/config/api.js'; | ||
| 109 | + | ||
| 110 | + export default { | ||
| 111 | + data() { | ||
| 112 | + return { | ||
| 113 | + id: '', | ||
| 114 | + picList: [], | ||
| 115 | + detailObj: {}, | ||
| 116 | + attachments: [], | ||
| 117 | + questions: [], | ||
| 118 | + categoryList: [{ | ||
| 119 | + label: '开始实习申请', | ||
| 120 | + value: 'start' | ||
| 121 | + }, | ||
| 122 | + { | ||
| 123 | + label: '结束实习申请', | ||
| 124 | + value: "end", | ||
| 125 | + } | ||
| 126 | + ], | ||
| 127 | + } | ||
| 128 | + }, | ||
| 129 | + | ||
| 130 | + onLoad(e) { | ||
| 131 | + this.id = e.id | ||
| 132 | + this.loadData() | ||
| 133 | + }, | ||
| 134 | + | ||
| 135 | + methods: { | ||
| 136 | + | ||
| 137 | + loadData() { | ||
| 138 | + getformApplyschooldetailApi(this.id).then(res => { | ||
| 139 | + if (res) { | ||
| 140 | + this.detailObj = res; | ||
| 141 | + this.handleDatas() | ||
| 142 | + | ||
| 143 | + let q1 = { | ||
| 144 | + title: '发起申请', | ||
| 145 | + desc: this.detailObj.studentName, | ||
| 146 | + time: this.detailObj.createdTime | ||
| 147 | + } | ||
| 148 | + | ||
| 149 | + let s = '' | ||
| 150 | + if (this.detailObj.status == 'wait') { | ||
| 151 | + s = '(待处理)' | ||
| 152 | + }else if (this.detailObj.status == 'passed') { | ||
| 153 | + s = '(已通过)' | ||
| 154 | + }else if (this.detailObj.status == 'rejected') { | ||
| 155 | + s = '(已驳回)' | ||
| 156 | + } | ||
| 157 | + let q2 = { | ||
| 158 | + title: '学校审批', | ||
| 159 | + desc: this.detailObj.auditTeacher ? this.detailObj.auditTeacher : '-', | ||
| 160 | + time: this.detailObj.auditTime, | ||
| 161 | + // reply: this.detailObj.reply, | ||
| 162 | + peo: s, | ||
| 163 | + } | ||
| 164 | + this.questions.push(q1) | ||
| 165 | + if (this.detailObj.status != 'wait') { | ||
| 166 | + this.questions.push(q2) | ||
| 167 | + } | ||
| 168 | + } | ||
| 169 | + }) | ||
| 170 | + }, | ||
| 171 | + | ||
| 172 | + handelCancel() { | ||
| 173 | + putformApplyApi(this.id,{status: 'reject'}).then(res => { | ||
| 174 | + if (res) { | ||
| 175 | + uni.navigateBack({ | ||
| 176 | + delta: 1 | ||
| 177 | + }); | ||
| 178 | + } | ||
| 179 | + }) | ||
| 180 | + }, | ||
| 181 | + | ||
| 182 | + hancelSubmit() { | ||
| 183 | + putformApplyApi(this.id,{status: 'pass'}).then(res => { | ||
| 184 | + if (res) { | ||
| 185 | + uni.navigateBack({ | ||
| 186 | + delta: 1 | ||
| 187 | + }); | ||
| 188 | + } | ||
| 189 | + }) | ||
| 190 | + }, | ||
| 191 | + | ||
| 192 | + getCategoryList(e) { | ||
| 193 | + for (var i = 0; i < this.categoryList.length; i++) { | ||
| 194 | + let item = this.categoryList[i] | ||
| 195 | + if (e == item.value) { | ||
| 196 | + return item.label | ||
| 197 | + } | ||
| 198 | + } | ||
| 199 | + }, | ||
| 200 | + | ||
| 201 | + timeFormat(timestamp, format = 'yyyy-mm-dd') { | ||
| 202 | + return timestamp > 0 ? uni.$u.timeFormat(timestamp, format) : '--' | ||
| 203 | + }, | ||
| 204 | + | ||
| 205 | + handleDatas() { //处理获取的网络图片 | ||
| 206 | + if (this.detailObj.attachments) { | ||
| 207 | + this.createdTime = this.$u.timeFormat(this.detailObj.createdTime / 1000, 'yyyy/mm/dd'); | ||
| 208 | + var originInfo = JSON.parse(this.detailObj.attachments); | ||
| 209 | + this.attachments = this.attachments.concat(originInfo) | ||
| 210 | + console.log("1---", originInfo, "2---", this.attachments) | ||
| 211 | + if (originInfo && originInfo.length > 0) { | ||
| 212 | + for (var i = 0; i < originInfo.length; i++) { | ||
| 213 | + getImgUrlApi({ | ||
| 214 | + bucket: originInfo[i].bucket, | ||
| 215 | + filePath: originInfo[i].object | ||
| 216 | + }).then(res => { | ||
| 217 | + this.picList.push(res.url) | ||
| 218 | + console.log('picList...', this.picList) | ||
| 219 | + }) | ||
| 220 | + } | ||
| 221 | + } | ||
| 222 | + } | ||
| 223 | + }, | ||
| 224 | + | ||
| 225 | + openLink(e) { | ||
| 226 | + var _this = this | ||
| 227 | + | ||
| 228 | + uni.showLoading({ | ||
| 229 | + title: '努力加载中~', | ||
| 230 | + mask: true | ||
| 231 | + }) | ||
| 232 | + | ||
| 233 | + getImgUrlApi({ | ||
| 234 | + bucket: e.bucket, | ||
| 235 | + filePath: e.object | ||
| 236 | + }).then(data => { | ||
| 237 | + console.log("data...", data) | ||
| 238 | + if (e.mime_type.indexOf("image") != -1) { | ||
| 239 | + _this.openImage(data.url) | ||
| 240 | + } else { | ||
| 241 | + uni.downloadFile({ | ||
| 242 | + url: data.url, | ||
| 243 | + success: function(res) { | ||
| 244 | + var filePath = res.tempFilePath; | ||
| 245 | + uni.openDocument({ | ||
| 246 | + filePath: filePath, | ||
| 247 | + showMenu: true, | ||
| 248 | + success: function(res) { | ||
| 249 | + console.log('打开文档成功'); | ||
| 250 | + }, | ||
| 251 | + complete: function() { | ||
| 252 | + uni.hideLoading(); | ||
| 253 | + } | ||
| 254 | + }); | ||
| 255 | + } | ||
| 256 | + }); | ||
| 257 | + } | ||
| 258 | + }) | ||
| 259 | + }, | ||
| 260 | + openImage(imgPath) { | ||
| 261 | + let array = new Array(1).fill(imgPath); | ||
| 262 | + uni.previewImage({ | ||
| 263 | + urls: array, | ||
| 264 | + success(res) { | ||
| 265 | + uni.hideLoading(); | ||
| 266 | + console.log('openImage success'); | ||
| 267 | + }, | ||
| 268 | + fail(res) { | ||
| 269 | + uni.hideLoading(); | ||
| 270 | + console.log('openImage fail:', res); | ||
| 271 | + } | ||
| 272 | + }); | ||
| 273 | + }, | ||
| 274 | + } | ||
| 275 | + } | ||
| 276 | +</script> | ||
| 277 | + | ||
| 278 | +<style> | ||
| 279 | + page { | ||
| 280 | + background-color: #F7F7F7; | ||
| 281 | + } | ||
| 282 | +</style> | ||
| 283 | + | ||
| 284 | +<style lang="scss" scoped> | ||
| 285 | + .page { | ||
| 286 | + padding: 16rpx 32rpx; | ||
| 287 | + | ||
| 288 | + .top { | ||
| 289 | + padding: 40rpx 32rpx; | ||
| 290 | + background-color: #fff; | ||
| 291 | + border-radius: 10px; | ||
| 292 | + | ||
| 293 | + .title { | ||
| 294 | + font-size: 20px; | ||
| 295 | + font-family: PingFangSC-Semibold, PingFang SC; | ||
| 296 | + font-weight: 600; | ||
| 297 | + color: #000000; | ||
| 298 | + } | ||
| 299 | + | ||
| 300 | + .t1 { | ||
| 301 | + margin-top: 32rpx; | ||
| 302 | + font-size: 13px; | ||
| 303 | + font-family: PingFangSC-Regular, PingFang SC; | ||
| 304 | + font-weight: 400; | ||
| 305 | + color: rgba(0,0,0,0.6500); | ||
| 306 | + } | ||
| 307 | + | ||
| 308 | + .t2 { | ||
| 309 | + margin-top: 16rpx; | ||
| 310 | + font-size: 13px; | ||
| 311 | + font-family: PingFangSC-Regular, PingFang SC; | ||
| 312 | + font-weight: 400; | ||
| 313 | + color: rgba(0,0,0,0.6500); | ||
| 314 | + } | ||
| 315 | + | ||
| 316 | + .status { | ||
| 317 | + margin-top: 32rpx; | ||
| 318 | + font-size: 13px; | ||
| 319 | + font-family: PingFangSC-Regular, PingFang SC; | ||
| 320 | + font-weight: 400; | ||
| 321 | + color: #FFC200; | ||
| 322 | + } | ||
| 323 | + } | ||
| 324 | + | ||
| 325 | + .content { | ||
| 326 | + padding: 40rpx 32rpx; | ||
| 327 | + background-color: #fff; | ||
| 328 | + border-radius: 10px; | ||
| 329 | + margin-top: 16rpx; | ||
| 330 | + | ||
| 331 | + .c1 { | ||
| 332 | + font-size: 16px; | ||
| 333 | + font-family: PingFangSC-Semibold, PingFang SC; | ||
| 334 | + font-weight: 600; | ||
| 335 | + color: #000000; | ||
| 336 | + } | ||
| 337 | + | ||
| 338 | + .c2 { | ||
| 339 | + margin-top: 16rpx; | ||
| 340 | + font-size: 14px; | ||
| 341 | + font-family: PingFangSC-Regular, PingFang SC; | ||
| 342 | + font-weight: 400; | ||
| 343 | + color: rgba(0,0,0,0.6500); | ||
| 344 | + } | ||
| 345 | + | ||
| 346 | + .grayV { | ||
| 347 | + margin-top: 24rpx; | ||
| 348 | + height: 98px; | ||
| 349 | + background: #F7F7F7; | ||
| 350 | + border-radius: 24px; | ||
| 351 | + padding: 8rpx 16rpx; | ||
| 352 | + position: relative; | ||
| 353 | + | ||
| 354 | + .g1 { | ||
| 355 | + font-size: 16px; | ||
| 356 | + font-family: PingFangSC-Semibold, PingFang SC; | ||
| 357 | + font-weight: 600; | ||
| 358 | + color: #000000; | ||
| 359 | + } | ||
| 360 | + | ||
| 361 | + .timeline { | ||
| 362 | + position: absolute; | ||
| 363 | + left: 2rpx; | ||
| 364 | + top: 72rpx; | ||
| 365 | + width: 40rpx; | ||
| 366 | + height: 100rpx; | ||
| 367 | + } | ||
| 368 | + | ||
| 369 | + .start { | ||
| 370 | + position: absolute; | ||
| 371 | + left: 88rpx; | ||
| 372 | + top: 68rpx; | ||
| 373 | + font-size: 14px; | ||
| 374 | + font-family: DINAlternate-Bold, DINAlternate; | ||
| 375 | + font-weight: bold; | ||
| 376 | + color: rgba(0,0,0,0.6500); | ||
| 377 | + } | ||
| 378 | + | ||
| 379 | + .end { | ||
| 380 | + position: absolute; | ||
| 381 | + left: 88rpx; | ||
| 382 | + top: 134rpx; | ||
| 383 | + font-size: 14px; | ||
| 384 | + font-family: DINAlternate-Bold, DINAlternate; | ||
| 385 | + font-weight: bold; | ||
| 386 | + color: rgba(0,0,0,0.6500); | ||
| 387 | + } | ||
| 388 | + } | ||
| 389 | + | ||
| 390 | + .fj_content { | ||
| 391 | + margin-top: 8px; | ||
| 392 | + background-color: #fff; | ||
| 393 | + | ||
| 394 | + .item { | ||
| 395 | + width: 100%; | ||
| 396 | + display: flex; | ||
| 397 | + flex-direction: row; | ||
| 398 | + flex-wrap: wrap; | ||
| 399 | + | ||
| 400 | + .p_item { | ||
| 401 | + position: relative; | ||
| 402 | + width: 120rpx; | ||
| 403 | + height: 120rpx; | ||
| 404 | + margin-right: 13px; | ||
| 405 | + margin-bottom: 13px; | ||
| 406 | + | ||
| 407 | + .delete { | ||
| 408 | + position: absolute; | ||
| 409 | + width: 24rpx; | ||
| 410 | + height: 24rpx; | ||
| 411 | + top: -12rpx; | ||
| 412 | + right: -12rpx; | ||
| 413 | + z-index: 199; | ||
| 414 | + } | ||
| 415 | + } | ||
| 416 | + | ||
| 417 | + } | ||
| 418 | + | ||
| 419 | + } | ||
| 420 | + } | ||
| 421 | + | ||
| 422 | + .timeb { | ||
| 423 | + padding: 40rpx 36rpx; | ||
| 424 | + background-color: #fff; | ||
| 425 | + border-radius: 10px; | ||
| 426 | + margin-top: 16rpx; | ||
| 427 | + position: relative; | ||
| 428 | + | ||
| 429 | + .title { | ||
| 430 | + font-size: 16px; | ||
| 431 | + font-family: PingFangSC-Semibold, PingFang SC; | ||
| 432 | + font-weight: 600; | ||
| 433 | + color: #000000; | ||
| 434 | + margin-bottom: 20rpx; | ||
| 435 | + } | ||
| 436 | + | ||
| 437 | + .nodef { | ||
| 438 | + display: flex; | ||
| 439 | + justify-content: start; | ||
| 440 | + margin-bottom: 30rpx; | ||
| 441 | + | ||
| 442 | + .node1 { | ||
| 443 | + position: relative; | ||
| 444 | + margin-top: 4px; | ||
| 445 | + | ||
| 446 | + .line { | ||
| 447 | + position: absolute; | ||
| 448 | + left: 5px; | ||
| 449 | + width: 1px; | ||
| 450 | + height: 100%; | ||
| 451 | + background-color: #f7f7f7; | ||
| 452 | + } | ||
| 453 | + } | ||
| 454 | + | ||
| 455 | + .node2 { | ||
| 456 | + margin-left: 10px; | ||
| 457 | + } | ||
| 458 | + } | ||
| 459 | + | ||
| 460 | + .u-node { | ||
| 461 | + width: 8px; | ||
| 462 | + height: 8px; | ||
| 463 | + border-radius: 8rpx; | ||
| 464 | + background: #E5E5E6; | ||
| 465 | + } | ||
| 466 | + | ||
| 467 | + .u-order-title { | ||
| 468 | + color: rgba(0,0,0,0.4500); | ||
| 469 | + font-family: PingFangSC-Regular, PingFang SC; | ||
| 470 | + font-weight: 400; | ||
| 471 | + font-size: 24rpx; | ||
| 472 | + } | ||
| 473 | + | ||
| 474 | + .u-order-desc { | ||
| 475 | + font-size: 14px; | ||
| 476 | + font-weight: bold; | ||
| 477 | + color: rgba(0,0,0,1); | ||
| 478 | + } | ||
| 479 | + | ||
| 480 | + .u-order-kf { | ||
| 481 | + margin-top: 20px; | ||
| 482 | + font-size: 14px; | ||
| 483 | + font-weight: 400; | ||
| 484 | + color: #8C8E91; | ||
| 485 | + } | ||
| 486 | + | ||
| 487 | + .u-order-time { | ||
| 488 | + font-size: 12px; | ||
| 489 | + font-family: PingFangSC-Medium, PingFang SC; | ||
| 490 | + font-weight: 500; | ||
| 491 | + color: rgba(0,0,0,0.6500); | ||
| 492 | + margin-left: 10px; | ||
| 493 | + } | ||
| 494 | + | ||
| 495 | + .u-order-reply { | ||
| 496 | + width: 245px; | ||
| 497 | + padding: 10rpx 14rpx; | ||
| 498 | + background: #F7F7F7; | ||
| 499 | + border-radius: 24px; | ||
| 500 | + margin-top: 14rpx; | ||
| 501 | + } | ||
| 502 | + | ||
| 503 | + } | ||
| 504 | + | ||
| 505 | + .footer { | ||
| 506 | + width: 100%; | ||
| 507 | + height: 96rpx; | ||
| 508 | + padding: 28rpx 30rpx; | ||
| 509 | + background: #FFFFFF; | ||
| 510 | + position: fixed; | ||
| 511 | + bottom: 0; | ||
| 512 | + left: 0; | ||
| 513 | + z-index: 99; | ||
| 514 | + border-top: 2rpx solid #E2E2E8; | ||
| 515 | + | ||
| 516 | + view { | ||
| 517 | + display: inline-block; | ||
| 518 | + } | ||
| 519 | + | ||
| 520 | + .left_btn { | ||
| 521 | + width: 330rpx; | ||
| 522 | + margin: 0 30rpx 0 0; | ||
| 523 | + } | ||
| 524 | + | ||
| 525 | + .right_btn { | ||
| 526 | + width: 330rpx; | ||
| 527 | + } | ||
| 528 | + } | ||
| 529 | + | ||
| 530 | + } | ||
| 531 | +</style> |
| 1 | <template> | 1 | <template> |
| 2 | <view class="registration_review"> | 2 | <view class="registration_review"> |
| 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="#06B079" 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 | - | ||
| 19 | - <u-icon slot="icon" size="40" :name="'/static/img/home/selectIcon.png'" @click="show = true"></u-icon> | 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="#06B079" 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> | ||
| 20 | </view> | 26 | </view> |
| 21 | 27 | ||
| 22 | <u-sticky bgColor="#fff"> | 28 | <u-sticky bgColor="#fff"> |
| @@ -68,8 +74,40 @@ | @@ -68,8 +74,40 @@ | ||
| 68 | <view v-else class="no_data"> | 74 | <view v-else class="no_data"> |
| 69 | <c-no-data></c-no-data> | 75 | <c-no-data></c-no-data> |
| 70 | </view> | 76 | </view> |
| 71 | - | ||
| 72 | - <u-popup :show="show" mode="right" @close="close" @open="open" :closeOnClickOverlay="false"> | 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> | ||
| 109 | + | ||
| 110 | + <!-- <u-popup :show="show" mode="right" @close="close" @open="open" :closeOnClickOverlay="false"> | ||
| 73 | <view class="popup_search"> | 111 | <view class="popup_search"> |
| 74 | <view class="content"> | 112 | <view class="content"> |
| 75 | <view class="title">按项目筛选</view> | 113 | <view class="title">按项目筛选</view> |
| @@ -101,7 +139,7 @@ | @@ -101,7 +139,7 @@ | ||
| 101 | </view> | 139 | </view> |
| 102 | </view> | 140 | </view> |
| 103 | </view> | 141 | </view> |
| 104 | - </u-popup> | 142 | + </u-popup> --> |
| 105 | </view> | 143 | </view> |
| 106 | </template> | 144 | </template> |
| 107 | 145 | ||
| @@ -151,8 +189,13 @@ | @@ -151,8 +189,13 @@ | ||
| 151 | projectId: '', | 189 | projectId: '', |
| 152 | showTime: false, | 190 | showTime: false, |
| 153 | timeValue: '', | 191 | timeValue: '', |
| 154 | - switchValue: false, | ||
| 155 | - | 192 | + switchValue: false, |
| 193 | + | ||
| 194 | + curNow: 1, | ||
| 195 | + sxsearch: '', | ||
| 196 | + works: [], | ||
| 197 | + workspage: 1, | ||
| 198 | + workstotal: 0, | ||
| 156 | } | 199 | } |
| 157 | }, | 200 | }, |
| 158 | 201 | ||
| @@ -161,11 +204,13 @@ | @@ -161,11 +204,13 @@ | ||
| 161 | this.studentId = option.studentId; | 204 | this.studentId = option.studentId; |
| 162 | this.projectId = option.projectId; | 205 | this.projectId = option.projectId; |
| 163 | 206 | ||
| 164 | - this.$store.dispatch(`home/getProjectList`, { | ||
| 165 | - pageSize: -1, | ||
| 166 | - }) | 207 | + // this.$store.dispatch(`home/getProjectList`, { |
| 208 | + // pageSize: -1, | ||
| 209 | + // }) | ||
| 167 | 210 | ||
| 168 | - this.search.keySearch = ''; | 211 | + // this.search.keySearch = ''; |
| 212 | + | ||
| 213 | + this.worksloadData() | ||
| 169 | 214 | ||
| 170 | if (option && option.category) { | 215 | if (option && option.category) { |
| 171 | this.search.category = option.category; | 216 | this.search.category = option.category; |
| @@ -176,10 +221,17 @@ | @@ -176,10 +221,17 @@ | ||
| 176 | ''; | 221 | ''; |
| 177 | } | 222 | } |
| 178 | 223 | ||
| 224 | + // if (option && option.status) { | ||
| 225 | + // this.search.status = 'unread'; | ||
| 226 | + // this.checkboxValue = ['未阅']; | ||
| 227 | + // this.switchValue = true; | ||
| 228 | + // } | ||
| 229 | + | ||
| 179 | if (option && option.status) { | 230 | if (option && option.status) { |
| 180 | - this.search.status = 'unread'; | ||
| 181 | - this.checkboxValue = ['未阅']; | ||
| 182 | - this.switchValue = true; | 231 | + // this.search.status = 'wait'; |
| 232 | + this.curNow = 0; | ||
| 233 | + // this.checkboxValue = ['待处理']; | ||
| 234 | + // this.switchValue = true; | ||
| 183 | } | 235 | } |
| 184 | 236 | ||
| 185 | this.finished = false; | 237 | this.finished = false; |
| @@ -189,6 +241,10 @@ | @@ -189,6 +241,10 @@ | ||
| 189 | }, | 241 | }, |
| 190 | 242 | ||
| 191 | onShow() { | 243 | onShow() { |
| 244 | + this.finished = false; | ||
| 245 | + this.loading = "loadmore"; | ||
| 246 | + this.page = 0; | ||
| 247 | + this.list = []; | ||
| 192 | this._getList(); | 248 | this._getList(); |
| 193 | }, | 249 | }, |
| 194 | 250 | ||
| @@ -201,6 +257,20 @@ | @@ -201,6 +257,20 @@ | ||
| 201 | 257 | ||
| 202 | methods: { | 258 | methods: { |
| 203 | 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 | + | ||
| 204 | getCreatedTime(e) { | 274 | getCreatedTime(e) { |
| 205 | let time = this.$u.timeFormat(e.logTime / 1000, 'yyyy/mm/dd'); | 275 | let time = this.$u.timeFormat(e.logTime / 1000, 'yyyy/mm/dd'); |
| 206 | if (e.category == "weekly") { | 276 | if (e.category == "weekly") { |
| @@ -313,8 +383,12 @@ | @@ -313,8 +383,12 @@ | ||
| 313 | params.pageNumber = requestParams.page + 1; | 383 | params.pageNumber = requestParams.page + 1; |
| 314 | params.pageSize = 5; | 384 | params.pageSize = 5; |
| 315 | 385 | ||
| 316 | - if (search.status) { | ||
| 317 | - params.status = search.status; | 386 | + // if (search.status) { |
| 387 | + // params.status = search.status; | ||
| 388 | + // } | ||
| 389 | + | ||
| 390 | + if (this.curNow == 0) { | ||
| 391 | + params.status = 'unread'; | ||
| 318 | } | 392 | } |
| 319 | 393 | ||
| 320 | if (search.category) { | 394 | if (search.category) { |
| @@ -391,7 +465,53 @@ | @@ -391,7 +465,53 @@ | ||
| 391 | 465 | ||
| 392 | this.show = false; | 466 | this.show = false; |
| 393 | }, | 467 | }, |
| 394 | - | 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 | + }, | ||
| 395 | } | 515 | } |
| 396 | } | 516 | } |
| 397 | </script> | 517 | </script> |
| @@ -610,6 +730,53 @@ | @@ -610,6 +730,53 @@ | ||
| 610 | width: 346rpx; | 730 | width: 346rpx; |
| 611 | } | 731 | } |
| 612 | } | 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 | + | ||
| 613 | } | 780 | } |
| 614 | } | 781 | } |
| 615 | </style> | 782 | </style> |
| 1 | <template> | 1 | <template> |
| 2 | <view class="registration_review"> | 2 | <view class="registration_review"> |
| 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="#06B079" 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 | - | ||
| 19 | - <u-icon slot="icon" size="40" :name="'/static/img/home/selectIcon.png'" @click="show = true"></u-icon> | 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="#06B079" 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> | ||
| 20 | </view> | 26 | </view> |
| 21 | 27 | ||
| 22 | <view class="list_box" v-if="list.length > 0"> | 28 | <view class="list_box" v-if="list.length > 0"> |
| @@ -59,9 +65,41 @@ | @@ -59,9 +65,41 @@ | ||
| 59 | </view> | 65 | </view> |
| 60 | <view v-else class="no_data"> | 66 | <view v-else class="no_data"> |
| 61 | <c-no-data></c-no-data> | 67 | <c-no-data></c-no-data> |
| 62 | - </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="/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> | ||
| 63 | 101 | ||
| 64 | - <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"> |
| 65 | <view class="popup_search"> | 103 | <view class="popup_search"> |
| 66 | <view class="content"> | 104 | <view class="content"> |
| 67 | <view class="title">按项目筛选</view> | 105 | <view class="title">按项目筛选</view> |
| @@ -94,7 +132,7 @@ | @@ -94,7 +132,7 @@ | ||
| 94 | </view> | 132 | </view> |
| 95 | 133 | ||
| 96 | </view> | 134 | </view> |
| 97 | - </u-popup> | 135 | + </u-popup> --> |
| 98 | 136 | ||
| 99 | </view> | 137 | </view> |
| 100 | </template> | 138 | </template> |
| @@ -132,32 +170,44 @@ | @@ -132,32 +170,44 @@ | ||
| 132 | 170 | ||
| 133 | }, | 171 | }, |
| 134 | projectId: '', | 172 | projectId: '', |
| 135 | - switchValue: false, | 173 | + switchValue: false, |
| 174 | + curNow: 1, | ||
| 175 | + sxsearch: '', | ||
| 176 | + works: [], | ||
| 177 | + workspage: 1, | ||
| 178 | + workstotal: 0, | ||
| 136 | } | 179 | } |
| 137 | }, | 180 | }, |
| 138 | 181 | ||
| 139 | onLoad(option) { | 182 | onLoad(option) { |
| 140 | console.log(option) | 183 | console.log(option) |
| 141 | - this.$store.dispatch(`home/getProjectList`, { | ||
| 142 | - pageSize: -1, | ||
| 143 | - }) | ||
| 144 | - | ||
| 145 | - this.search.keySearch = ''; | ||
| 146 | - | 184 | + // this.$store.dispatch(`home/getProjectList`, { |
| 185 | + // pageSize: -1, | ||
| 186 | + // }) | ||
| 187 | + | ||
| 188 | + // this.search.keySearch = ''; | ||
| 189 | + | ||
| 190 | + this.worksloadData() | ||
| 191 | + | ||
| 147 | if (option && option.status) { | 192 | if (option && option.status) { |
| 148 | - this.search.status = 'wait'; | ||
| 149 | - this.checkboxValue = ['待审核']; | ||
| 150 | - this.switchValue = true; | 193 | + // this.search.status = 'wait'; |
| 194 | + // this.checkboxValue = ['待审核']; | ||
| 195 | + // this.switchValue = true; | ||
| 196 | + this.curNow = 0; | ||
| 151 | } | 197 | } |
| 152 | 198 | ||
| 153 | - this.finished = false; | ||
| 154 | - this.loading = "loadmore"; | ||
| 155 | - this.page = 0; | ||
| 156 | - this.list = []; | 199 | + // this.finished = false; |
| 200 | + // this.loading = "loadmore"; | ||
| 201 | + // this.page = 0; | ||
| 202 | + // this.list = []; | ||
| 157 | 203 | ||
| 158 | }, | 204 | }, |
| 159 | 205 | ||
| 160 | onShow() { | 206 | onShow() { |
| 207 | + this.finished = false; | ||
| 208 | + this.loading = "loadmore"; | ||
| 209 | + this.page = 0; | ||
| 210 | + this.list = []; | ||
| 161 | this._getList(); | 211 | this._getList(); |
| 162 | }, | 212 | }, |
| 163 | 213 | ||
| @@ -170,7 +220,21 @@ | @@ -170,7 +220,21 @@ | ||
| 170 | 220 | ||
| 171 | }, | 221 | }, |
| 172 | 222 | ||
| 173 | - methods: { | 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 | + }, | ||
| 174 | 238 | ||
| 175 | handelDetail(record) { | 239 | handelDetail(record) { |
| 176 | this.$u.route({ | 240 | this.$u.route({ |
| @@ -228,8 +292,14 @@ | @@ -228,8 +292,14 @@ | ||
| 228 | params.pageNumber = requestParams.page + 1; | 292 | params.pageNumber = requestParams.page + 1; |
| 229 | params.pageSize = 5; | 293 | params.pageSize = 5; |
| 230 | 294 | ||
| 231 | - if (search.status) { | ||
| 232 | - params.status = search.status; | 295 | + // if (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'; | ||
| 233 | } | 303 | } |
| 234 | 304 | ||
| 235 | if (this.keyword) { | 305 | if (this.keyword) { |
| @@ -300,7 +370,53 @@ | @@ -300,7 +370,53 @@ | ||
| 300 | 370 | ||
| 301 | this.show = false; | 371 | this.show = false; |
| 302 | }, | 372 | }, |
| 303 | - | 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 | + }, | ||
| 304 | } | 420 | } |
| 305 | } | 421 | } |
| 306 | </script> | 422 | </script> |
| @@ -480,6 +596,53 @@ | @@ -480,6 +596,53 @@ | ||
| 480 | width: 346rpx; | 596 | width: 346rpx; |
| 481 | } | 597 | } |
| 482 | } | 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 | + | ||
| 483 | } | 646 | } |
| 484 | } | 647 | } |
| 485 | </style> | 648 | </style> |
| @@ -216,106 +216,54 @@ | @@ -216,106 +216,54 @@ | ||
| 216 | }) | 216 | }) |
| 217 | }, | 217 | }, |
| 218 | 218 | ||
| 219 | - openLink(e) { | ||
| 220 | - var _this = this | ||
| 221 | - this.mFileDir = e.filename.substring(0, e.filename.lastIndexOf('.')) | ||
| 222 | - this.mFileType = e.filename.substring(e.filename.lastIndexOf('.'), e.filename.length) | ||
| 223 | - getImgUrlApi({ | ||
| 224 | - bucket: e.bucket, | ||
| 225 | - filePath: e.object | ||
| 226 | - }).then(data => { | ||
| 227 | - console.log("data...", data) | ||
| 228 | - if (e.mime_type.indexOf("image") != -1) { | ||
| 229 | - _this.openImage(data.url) | ||
| 230 | - } else { | ||
| 231 | - uni.downloadFile({ | ||
| 232 | - url: data.url, | ||
| 233 | - filePath: wx.env.USER_DATA_PATH + '/' + _this.mFileDir + this.mFileType, | ||
| 234 | - success: (res) => { | ||
| 235 | - if (res.statusCode === 200) { | ||
| 236 | - uni.showLoading(); | ||
| 237 | - console.log('download succ', res) | ||
| 238 | - let fileMgr = wx.getFileSystemManager(); | ||
| 239 | - let filePath = res.filePath | ||
| 240 | - uni.saveFile({ | ||
| 241 | - tempFilePath: filePath, | ||
| 242 | - success: function(res) { | ||
| 243 | - var savedFilePath = res.savedFilePath; | ||
| 244 | - /* 删除缓存 */ | ||
| 245 | - fileMgr.unlink({ | ||
| 246 | - filePath: wx.env.USER_DATA_PATH + | ||
| 247 | - '/' + | ||
| 248 | - _this.mFileDir + _this | ||
| 249 | - .mFileType, | ||
| 250 | - success: function(res) { | ||
| 251 | - console.log( | ||
| 252 | - 'unlink success:', | ||
| 253 | - res); | ||
| 254 | - } | ||
| 255 | - }) | ||
| 256 | - _this.openDoc() | ||
| 257 | - }, | ||
| 258 | - fail: function(res) { | ||
| 259 | - console.log('save fail', res); | ||
| 260 | - _this.createFile() | ||
| 261 | - } | ||
| 262 | - }) | ||
| 263 | - } | ||
| 264 | - } | ||
| 265 | - }); | ||
| 266 | - } | ||
| 267 | - }) | ||
| 268 | - }, | ||
| 269 | - | ||
| 270 | - createFile() { | ||
| 271 | - let fileMgr = wx.getFileSystemManager(); | ||
| 272 | - var _this = this | ||
| 273 | - //利用access方法判断文件是否可用 | ||
| 274 | - fileMgr.access({ | ||
| 275 | - path: wx.env.USER_DATA_PATH + '/' + _this.mFileDir, | ||
| 276 | - success: (res) => { | ||
| 277 | - console.log('check success:', res); | ||
| 278 | - _this.openDoc() | ||
| 279 | - }, | ||
| 280 | - fail: (res) => { | ||
| 281 | - console.log('check fail.', res); | ||
| 282 | - fileMgr.mkdir({ | ||
| 283 | - dirPath: wx.env.USER_DATA_PATH + '/' + _this.mFileDir, | ||
| 284 | - success: (res) => { | ||
| 285 | - console.log('mk dir success:', res); | ||
| 286 | - _this.openDoc() | ||
| 287 | - }, | ||
| 288 | - fail: (res) => { | ||
| 289 | - console.log('mk dir fail:', res); | ||
| 290 | - uni.hideLoading(); | ||
| 291 | - } | ||
| 292 | - }); | ||
| 293 | - } | ||
| 294 | - }); | ||
| 295 | - }, | ||
| 296 | - | ||
| 297 | - openDoc() { | ||
| 298 | - uni.openDocument({ | ||
| 299 | - filePath: wx.env.USER_DATA_PATH + '/' + this.mFileDir + this.mFileType, | ||
| 300 | - showMenu: true, | ||
| 301 | - success: function(res) { | ||
| 302 | - uni.hideLoading(); | ||
| 303 | - console.log('openDoc succ'); | ||
| 304 | - } | ||
| 305 | - }); | ||
| 306 | - }, | ||
| 307 | - | ||
| 308 | - openImage(imgPath) { | ||
| 309 | - let array = new Array(1).fill(imgPath); | ||
| 310 | - uni.previewImage({ | ||
| 311 | - urls: array, | ||
| 312 | - success(res) { | ||
| 313 | - console.log('openImage success'); | ||
| 314 | - }, | ||
| 315 | - fail(res) { | ||
| 316 | - console.log('openImage fail:', res); | ||
| 317 | - } | ||
| 318 | - }); | 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 | + }); | ||
| 319 | }, | 267 | }, |
| 320 | 268 | ||
| 321 | deletePic(index) { | 269 | deletePic(index) { |
| 1 | <template> | 1 | <template> |
| 2 | <view class="registration_review"> | 2 | <view class="registration_review"> |
| 3 | - <view class="search_box" v-if="!studentId"> | ||
| 4 | - <view class="top"> | ||
| 5 | - <view class="check"> | ||
| 6 | - <u-checkbox-group v-model="checkboxValue" placement="column" @change="checkboxChange"> | ||
| 7 | - <u-checkbox :customStyle="{marginBottom: '8px'}" shape="circle" | ||
| 8 | - v-for="(item, index) in checkboxList" :key="index" :label="item.name" :name="item.name" | ||
| 9 | - activeColor="#06B079" size="28rpx" labelSize="28rpx" labelColor="#202131"> | ||
| 10 | - </u-checkbox> | ||
| 11 | - </u-checkbox-group> | ||
| 12 | - </view> | ||
| 13 | - | ||
| 14 | - <view class="search"> | ||
| 15 | - <u-search placeholder="请输入学生姓名/学号/手机号" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx" | ||
| 16 | - bgColor="#F4F4F4" :showAction="false" shape="square" v-model="keyword" @search="handelSearch"> | ||
| 17 | - </u-search> | ||
| 18 | - </view> | ||
| 19 | - | ||
| 20 | - <u-icon slot="icon" size="40" :name="'/static/img/home/selectIcon.png'" @click="show = true"></u-icon> | ||
| 21 | - </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="#06B079" 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> | ||
| 22 | </view> | 27 | </view> |
| 23 | 28 | ||
| 24 | <view class="list_box" v-if="list.length > 0"> | 29 | <view class="list_box" v-if="list.length > 0"> |
| @@ -60,8 +65,41 @@ | @@ -60,8 +65,41 @@ | ||
| 60 | <view v-else class="no_data"> | 65 | <view v-else class="no_data"> |
| 61 | <c-no-data></c-no-data> | 66 | <c-no-data></c-no-data> |
| 62 | </view> | 67 | </view> |
| 63 | - | ||
| 64 | - <u-popup :show="show" mode="right" @close="close" @open="open" :closeOnClickOverlay="false"> | 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> | ||
| 101 | + | ||
| 102 | + <!-- <u-popup :show="show" mode="right" @close="close" @open="open" :closeOnClickOverlay="false"> | ||
| 65 | <view class="popup_search"> | 103 | <view class="popup_search"> |
| 66 | <view class="content"> | 104 | <view class="content"> |
| 67 | <view class="title">按项目筛选</view> | 105 | <view class="title">按项目筛选</view> |
| @@ -94,7 +132,7 @@ | @@ -94,7 +132,7 @@ | ||
| 94 | </view> | 132 | </view> |
| 95 | 133 | ||
| 96 | </view> | 134 | </view> |
| 97 | - </u-popup> | 135 | + </u-popup> --> |
| 98 | 136 | ||
| 99 | </view> | 137 | </view> |
| 100 | </template> | 138 | </template> |
| @@ -144,7 +182,11 @@ | @@ -144,7 +182,11 @@ | ||
| 144 | list: [], //列表必须为key list的数组 | 182 | list: [], //列表必须为key list的数组 |
| 145 | projectId: '', | 183 | projectId: '', |
| 146 | switchValue: false, | 184 | switchValue: false, |
| 147 | - | 185 | + curNow: 1, |
| 186 | + sxsearch: '', | ||
| 187 | + works: [], | ||
| 188 | + workspage: 1, | ||
| 189 | + workstotal: 0, | ||
| 148 | } | 190 | } |
| 149 | }, | 191 | }, |
| 150 | 192 | ||
| @@ -153,16 +195,19 @@ | @@ -153,16 +195,19 @@ | ||
| 153 | this.studentId = option.studentId; | 195 | this.studentId = option.studentId; |
| 154 | this.projectId = option.projectId; | 196 | this.projectId = option.projectId; |
| 155 | 197 | ||
| 156 | - this.$store.dispatch(`home/getProjectList`, { | ||
| 157 | - pageSize: -1, | ||
| 158 | - }) | 198 | + // this.$store.dispatch(`home/getProjectList`, { |
| 199 | + // pageSize: -1, | ||
| 200 | + // }) | ||
| 201 | + | ||
| 202 | + this.worksloadData() | ||
| 159 | 203 | ||
| 160 | - this.search.keySearch = ''; | 204 | + // this.search.keySearch = ''; |
| 161 | 205 | ||
| 162 | if (option && option.status) { | 206 | if (option && option.status) { |
| 163 | - this.search.status = 'stay_examine'; | ||
| 164 | - this.checkboxValue = ['待批阅']; | ||
| 165 | - this.switchValue = true; | 207 | + // this.search.status = 'stay_examine'; |
| 208 | + // this.checkboxValue = ['待批阅']; | ||
| 209 | + // this.switchValue = true; | ||
| 210 | + this.curNow = 0; | ||
| 166 | } | 211 | } |
| 167 | 212 | ||
| 168 | this.finished = false; | 213 | this.finished = false; |
| @@ -172,6 +217,10 @@ | @@ -172,6 +217,10 @@ | ||
| 172 | }, | 217 | }, |
| 173 | 218 | ||
| 174 | onShow() { | 219 | onShow() { |
| 220 | + this.finished = false; | ||
| 221 | + this.loading = "loadmore"; | ||
| 222 | + this.page = 0; | ||
| 223 | + this.list = []; | ||
| 175 | this._getList(); | 224 | this._getList(); |
| 176 | }, | 225 | }, |
| 177 | 226 | ||
| @@ -184,7 +233,22 @@ | @@ -184,7 +233,22 @@ | ||
| 184 | 233 | ||
| 185 | }, | 234 | }, |
| 186 | 235 | ||
| 187 | - methods: { | 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 | + | ||
| 188 | getNameLastTwo(value) { | 252 | getNameLastTwo(value) { |
| 189 | if (value && value.length > 3) { | 253 | if (value && value.length > 3) { |
| 190 | return value.substring(value.length - 3) | 254 | return value.substring(value.length - 3) |
| @@ -262,8 +326,12 @@ | @@ -262,8 +326,12 @@ | ||
| 262 | params.pageNumber = requestParams.page + 1; | 326 | params.pageNumber = requestParams.page + 1; |
| 263 | params.pageSize = 5; | 327 | params.pageSize = 5; |
| 264 | 328 | ||
| 265 | - if (search.status) { | ||
| 266 | - params.status = search.status; | 329 | + // if (search.status) { |
| 330 | + // params.status = search.status; | ||
| 331 | + // } | ||
| 332 | + | ||
| 333 | + if (this.curNow == 0) { | ||
| 334 | + params.status = 'stay_examine'; | ||
| 267 | } | 335 | } |
| 268 | 336 | ||
| 269 | if (this.keyword) { | 337 | if (this.keyword) { |
| @@ -338,7 +406,53 @@ | @@ -338,7 +406,53 @@ | ||
| 338 | 406 | ||
| 339 | this.show = false; | 407 | this.show = false; |
| 340 | }, | 408 | }, |
| 341 | - | 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 | + }, | ||
| 342 | } | 456 | } |
| 343 | } | 457 | } |
| 344 | </script> | 458 | </script> |
| @@ -350,32 +464,20 @@ | @@ -350,32 +464,20 @@ | ||
| 350 | height: auto; | 464 | height: auto; |
| 351 | background-color: #F7F7F7; | 465 | background-color: #F7F7F7; |
| 352 | 466 | ||
| 353 | - .search_box { | ||
| 354 | - padding: 36rpx 30rpx 0; | ||
| 355 | - background-color: #FFFFFF; | ||
| 356 | - | ||
| 357 | - .top { | ||
| 358 | - display: flex; | ||
| 359 | - flex-flow: row nowrap; | ||
| 360 | - justify-content: space-between; | ||
| 361 | - padding: 0 0 30rpx 0; | ||
| 362 | - | ||
| 363 | - .check { | ||
| 364 | - padding: 20rpx 0 0 0; | ||
| 365 | - } | ||
| 366 | - | ||
| 367 | - .search { | ||
| 368 | - width: 468rpx; | ||
| 369 | - } | ||
| 370 | - } | ||
| 371 | - | ||
| 372 | - .bottom { | ||
| 373 | - .time { | ||
| 374 | - padding: 30rpx 0 30rpx 40rpx; | ||
| 375 | - } | ||
| 376 | - } | ||
| 377 | - | ||
| 378 | - | 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 | + } | ||
| 379 | } | 481 | } |
| 380 | 482 | ||
| 381 | .list_box { | 483 | .list_box { |
| @@ -545,6 +647,53 @@ | @@ -545,6 +647,53 @@ | ||
| 545 | width: 346rpx; | 647 | width: 346rpx; |
| 546 | } | 648 | } |
| 547 | } | 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 | + | ||
| 548 | } | 697 | } |
| 549 | } | 698 | } |
| 550 | </style> | 699 | </style> |
| 1 | <template> | 1 | <template> |
| 2 | <view class="registration_review"> | 2 | <view class="registration_review"> |
| 3 | - <view class="search_box"> | ||
| 4 | - <view class="top"> | ||
| 5 | - <view class="check"> | ||
| 6 | - <u-checkbox-group v-model="checkboxValue" placement="column" @change="checkboxChange"> | ||
| 7 | - <u-checkbox :customStyle="{marginBottom: '8px'}" shape="circle" | ||
| 8 | - v-for="(item, index) in checkboxList" :key="index" :label="item.name" :name="item.name" | ||
| 9 | - activeColor="#06B079" size="28rpx" labelSize="28rpx" labelColor="#202131"> | ||
| 10 | - </u-checkbox> | ||
| 11 | - </u-checkbox-group> | ||
| 12 | - </view> | ||
| 13 | - | ||
| 14 | - <view class="search"> | ||
| 15 | - <u-search placeholder="请输入学生姓名/学号/手机号" placeholderColor="#C1C1C9" searchIconSize="36" height="64rpx" | ||
| 16 | - bgColor="#F4F4F4" :showAction="false" shape="square" v-model="keyword" @search="handelSearch"> | ||
| 17 | - </u-search> | ||
| 18 | - </view> | ||
| 19 | - | ||
| 20 | - <view class="icon"> | ||
| 21 | - <view :style="{position:'relative', top:'14rpx', right:'18rpx'}"> | ||
| 22 | - <u-icon slot="icon" size="40" :name="'/static/img/home/dateIcon.png'" @click="showTime = true"> | ||
| 23 | - </u-icon> | ||
| 24 | - </view> | ||
| 25 | - <u-icon slot="icon" size="40" :name="'/static/img/home/selectIcon.png'" @click="show = true"> | ||
| 26 | - </u-icon> | ||
| 27 | - </view> | ||
| 28 | - | ||
| 29 | 3 | ||
| 4 | + <view class="search_box"> | ||
| 5 | + <view style="width: 148px;"> | ||
| 6 | + <u-subsection :list="['未签到','全部']" :current="curNow" :fontSize="26" :activeColor="'#000'" | ||
| 7 | + @change="sectionChange"></u-subsection> | ||
| 30 | </view> | 8 | </view> |
| 31 | - <view class="bottom" :style="{padding:'0 0 20rpx 0'}"> | ||
| 32 | - <u-calendar :minDate="minDate" :maxDate="maxDate" :monthNum="25" :show="showTime" | ||
| 33 | - :defaultDate="defaultDateMultiple" @close="showTime = false" :showSubtitle="false" color="#06B079" | ||
| 34 | - @confirm="confirm"> | ||
| 35 | - </u-calendar> | ||
| 36 | - <!-- <view class="time">{{timeValue}}</view> --> | 9 | + <view style="display: flex; justify-content: space-between; align-items: center;"> |
| 10 | + <u-icon slot="icon" size="40" :name="'/static/img/home/dateIcon.png'" @click="showTime = true"></u-icon> | ||
| 11 | + <view style="width: 16px;"></view> | ||
| 12 | + <u-icon slot="icon" size="40" :name="'/static/img/home/search.png'" @click="searchCli"></u-icon> | ||
| 13 | + <view style="width: 16px;"></view> | ||
| 14 | + <u-icon slot="icon" size="40" :name="'/static/img/home/selectIcon.png'" @click="show = true"></u-icon> | ||
| 37 | </view> | 15 | </view> |
| 38 | </view> | 16 | </view> |
| 39 | 17 | ||
| 18 | + <u-calendar :minDate="minDate" :maxDate="maxDate" :monthNum="25" :show="showTime" :defaultDate="defaultDateMultiple" | ||
| 19 | + @close="showTime = false" :showSubtitle="false" color="#06B079" @confirm="confirm"> | ||
| 20 | + </u-calendar> | ||
| 21 | + | ||
| 40 | <view class="list_box" v-if="list.length > 0"> | 22 | <view class="list_box" v-if="list.length > 0"> |
| 41 | <view class="item" v-for="(item, i) in list" :key="i"> | 23 | <view class="item" v-for="(item, i) in list" :key="i"> |
| 42 | 24 | ||
| @@ -54,10 +36,10 @@ | @@ -54,10 +36,10 @@ | ||
| 54 | <view class="avatar">{{getNameLastTwo(item.studentName)}}</view> | 36 | <view class="avatar">{{getNameLastTwo(item.studentName)}}</view> |
| 55 | <view class="name">{{overflowHide(item.studentName)}}</view> | 37 | <view class="name">{{overflowHide(item.studentName)}}</view> |
| 56 | <view class="number">{{item.studentNumber}}</view> | 38 | <view class="number">{{item.studentNumber}}</view> |
| 57 | - </view> | ||
| 58 | - <view class="company"> | ||
| 59 | - <text>实习项目</text> | ||
| 60 | - <text>{{item.projectName || '--'}}</text> | 39 | + </view> |
| 40 | + <view class="company"> | ||
| 41 | + <text>实习项目</text> | ||
| 42 | + <text>{{item.projectName || '--'}}</text> | ||
| 61 | </view> | 43 | </view> |
| 62 | <view class="company"> | 44 | <view class="company"> |
| 63 | <text>班级</text> | 45 | <text>班级</text> |
| @@ -79,8 +61,41 @@ | @@ -79,8 +61,41 @@ | ||
| 79 | <view v-else class="no_data"> | 61 | <view v-else class="no_data"> |
| 80 | <c-no-data></c-no-data> | 62 | <c-no-data></c-no-data> |
| 81 | </view> | 63 | </view> |
| 82 | - | ||
| 83 | - <u-popup :show="show" mode="right" @close="close" @open="open" :closeOnClickOverlay="false"> | 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> | ||
| 97 | + | ||
| 98 | + <!-- <u-popup :show="show" mode="right" @close="close" @open="open" :closeOnClickOverlay="false"> | ||
| 84 | <view class="popup_search"> | 99 | <view class="popup_search"> |
| 85 | <view class="content"> | 100 | <view class="content"> |
| 86 | <view class="title">按项目筛选</view> | 101 | <view class="title">按项目筛选</view> |
| @@ -113,7 +128,7 @@ | @@ -113,7 +128,7 @@ | ||
| 113 | </view> | 128 | </view> |
| 114 | 129 | ||
| 115 | </view> | 130 | </view> |
| 116 | - </u-popup> | 131 | + </u-popup> --> |
| 117 | 132 | ||
| 118 | </view> | 133 | </view> |
| 119 | </template> | 134 | </template> |
| @@ -165,29 +180,46 @@ | @@ -165,29 +180,46 @@ | ||
| 165 | defaultDateMultiple: [`${year}-${month}-${date}`], | 180 | defaultDateMultiple: [`${year}-${month}-${date}`], |
| 166 | list: [], //列表必须为key list的数组 | 181 | list: [], //列表必须为key list的数组 |
| 167 | projectId: '', | 182 | projectId: '', |
| 168 | - switchValue: false, | ||
| 169 | - | 183 | + switchValue: false, |
| 184 | + | ||
| 185 | + curNow: 1, | ||
| 186 | + sxsearch: '', | ||
| 187 | + works: [], | ||
| 188 | + workspage: 1, | ||
| 189 | + workstotal: 0, | ||
| 170 | } | 190 | } |
| 171 | }, | 191 | }, |
| 172 | 192 | ||
| 173 | onLoad(option) { | 193 | onLoad(option) { |
| 174 | - this.$store.dispatch(`home/getProjectList`, { | ||
| 175 | - pageSize: -1, | ||
| 176 | - }) | ||
| 177 | - | ||
| 178 | - this.search.keySearch = ''; | ||
| 179 | - | ||
| 180 | - this.finished = false; | ||
| 181 | - this.loading = "loadmore"; | ||
| 182 | - this.page = 0; | ||
| 183 | - this.list = []; | ||
| 184 | - | ||
| 185 | - | 194 | + // this.$store.dispatch(`home/getProjectList`, { |
| 195 | + // pageSize: -1, | ||
| 196 | + // }) | ||
| 197 | + | ||
| 198 | + // this.search.keySearch = ''; | ||
| 199 | + | ||
| 200 | + // this.finished = false; | ||
| 201 | + // this.loading = "loadmore"; | ||
| 202 | + // this.page = 0; | ||
| 203 | + // this.list = []; | ||
| 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 | + } | ||
| 213 | + | ||
| 186 | 214 | ||
| 187 | }, | 215 | }, |
| 188 | 216 | ||
| 189 | - onShow() { | ||
| 190 | - this._getList(); | 217 | + onShow() { |
| 218 | + this.finished = false; | ||
| 219 | + this.loading = "loadmore"; | ||
| 220 | + this.page = 0; | ||
| 221 | + this.list = []; | ||
| 222 | + this._getList(); | ||
| 191 | }, | 223 | }, |
| 192 | 224 | ||
| 193 | computed: { | 225 | computed: { |
| @@ -199,7 +231,22 @@ | @@ -199,7 +231,22 @@ | ||
| 199 | 231 | ||
| 200 | }, | 232 | }, |
| 201 | 233 | ||
| 202 | - methods: { | 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 | + | ||
| 203 | 250 | ||
| 204 | getNameLastTwo(value) { | 251 | getNameLastTwo(value) { |
| 205 | if (value && value.length > 3) { | 252 | if (value && value.length > 3) { |
| @@ -286,8 +333,12 @@ | @@ -286,8 +333,12 @@ | ||
| 286 | params.pageNumber = requestParams.page + 1; | 333 | params.pageNumber = requestParams.page + 1; |
| 287 | params.pageSize = 5; | 334 | params.pageSize = 5; |
| 288 | 335 | ||
| 289 | - if (search.waitAttendance) { | ||
| 290 | - params.waitAttendance = search.waitAttendance; | 336 | + // if (search.waitAttendance) { |
| 337 | + // params.waitAttendance = search.waitAttendance; | ||
| 338 | + // } | ||
| 339 | + | ||
| 340 | + if (this.curNow == 0) { | ||
| 341 | + params.waitAttendance = 'not_attendance'; | ||
| 291 | } | 342 | } |
| 292 | 343 | ||
| 293 | if (this.keyword) { | 344 | if (this.keyword) { |
| @@ -361,7 +412,54 @@ | @@ -361,7 +412,54 @@ | ||
| 361 | 412 | ||
| 362 | this.show = false; | 413 | this.show = false; |
| 363 | }, | 414 | }, |
| 364 | - | 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 | + | ||
| 365 | } | 463 | } |
| 366 | } | 464 | } |
| 367 | </script> | 465 | </script> |
| @@ -373,36 +471,52 @@ | @@ -373,36 +471,52 @@ | ||
| 373 | height: auto; | 471 | height: auto; |
| 374 | background-color: #F7F7F7; | 472 | background-color: #F7F7F7; |
| 375 | 473 | ||
| 376 | - .search_box { | ||
| 377 | - padding: 36rpx 30rpx 0; | ||
| 378 | - background-color: #FFFFFF; | ||
| 379 | - | ||
| 380 | - .top { | ||
| 381 | - display: flex; | ||
| 382 | - flex-flow: row nowrap; | ||
| 383 | - justify-content: space-between; | ||
| 384 | - | ||
| 385 | - .check { | ||
| 386 | - padding: 20rpx 0 0 0; | ||
| 387 | - } | ||
| 388 | - | ||
| 389 | - .search { | ||
| 390 | - width: 410rpx; | ||
| 391 | - } | ||
| 392 | - | ||
| 393 | - .icon { | ||
| 394 | - display: flex; | ||
| 395 | - flex-flow: row nowrap; | ||
| 396 | - } | ||
| 397 | - } | ||
| 398 | - | ||
| 399 | - .bottom { | ||
| 400 | - .time { | ||
| 401 | - padding: 30rpx 0 30rpx 40rpx; | ||
| 402 | - } | ||
| 403 | - } | ||
| 404 | - | ||
| 405 | - | 474 | + // .search_box { |
| 475 | + // padding: 36rpx 30rpx 0; | ||
| 476 | + // background-color: #FFFFFF; | ||
| 477 | + | ||
| 478 | + // .top { | ||
| 479 | + // display: flex; | ||
| 480 | + // flex-flow: row nowrap; | ||
| 481 | + // justify-content: space-between; | ||
| 482 | + | ||
| 483 | + // .check { | ||
| 484 | + // padding: 20rpx 0 0 0; | ||
| 485 | + // } | ||
| 486 | + | ||
| 487 | + // .search { | ||
| 488 | + // width: 410rpx; | ||
| 489 | + // } | ||
| 490 | + | ||
| 491 | + // .icon { | ||
| 492 | + // display: flex; | ||
| 493 | + // flex-flow: row nowrap; | ||
| 494 | + // } | ||
| 495 | + // } | ||
| 496 | + | ||
| 497 | + // .bottom { | ||
| 498 | + // .time { | ||
| 499 | + // padding: 30rpx 0 30rpx 40rpx; | ||
| 500 | + // } | ||
| 501 | + // } | ||
| 502 | + | ||
| 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 | + } | ||
| 406 | } | 520 | } |
| 407 | 521 | ||
| 408 | .list_box { | 522 | .list_box { |
| @@ -469,20 +583,20 @@ | @@ -469,20 +583,20 @@ | ||
| 469 | flex-flow: row nowrap; | 583 | flex-flow: row nowrap; |
| 470 | margin: 0 0 30rpx 0; | 584 | margin: 0 0 30rpx 0; |
| 471 | 585 | ||
| 472 | - text { | 586 | + text { |
| 473 | width: 130rpx; | 587 | width: 130rpx; |
| 474 | font-size: 28rpx; | 588 | font-size: 28rpx; |
| 475 | line-height: 32rpx; | 589 | line-height: 32rpx; |
| 476 | color: #909097; | 590 | color: #909097; |
| 477 | margin: 0 0 0 16rpx; | 591 | margin: 0 0 0 16rpx; |
| 478 | - } | ||
| 479 | - | ||
| 480 | - text:first-child { | ||
| 481 | - text-align: justify; | ||
| 482 | - text-align-last: justify; | ||
| 483 | } | 592 | } |
| 484 | 593 | ||
| 485 | - text:last-child { | 594 | + text:first-child { |
| 595 | + text-align: justify; | ||
| 596 | + text-align-last: justify; | ||
| 597 | + } | ||
| 598 | + | ||
| 599 | + text:last-child { | ||
| 486 | width: 400rpx; | 600 | width: 400rpx; |
| 487 | color: #202131; | 601 | color: #202131; |
| 488 | margin: 0 0 0 30rpx; | 602 | margin: 0 0 0 30rpx; |
| @@ -521,32 +635,32 @@ | @@ -521,32 +635,32 @@ | ||
| 521 | color: #202131; | 635 | color: #202131; |
| 522 | } | 636 | } |
| 523 | 637 | ||
| 524 | - .scroll { | ||
| 525 | - max-height: 60vh; | ||
| 526 | - | ||
| 527 | - .item { | ||
| 528 | - | ||
| 529 | - view { | ||
| 530 | - display: flex; | ||
| 531 | - flex-flow: row wrap; | ||
| 532 | - align-items: center; | ||
| 533 | - width: 500rpx; | ||
| 534 | - height: 74rpx; | ||
| 535 | - border-radius: 4rpx; | ||
| 536 | - border: 2rpx solid #C1C1C9; | ||
| 537 | - margin: 0 10rpx 20rpx; | ||
| 538 | - font-size: 24rpx; | ||
| 539 | - line-height: 32rpx; | ||
| 540 | - color: #C0C0C9; | ||
| 541 | - padding: 16rpx 20rpx; | ||
| 542 | - } | ||
| 543 | - | ||
| 544 | - .selectItem { | ||
| 545 | - background-color: #06B079; | ||
| 546 | - color: #FFFFFF; | ||
| 547 | - border: 2rpx solid #06B079; | ||
| 548 | - } | ||
| 549 | - } | 638 | + .scroll { |
| 639 | + max-height: 60vh; | ||
| 640 | + | ||
| 641 | + .item { | ||
| 642 | + | ||
| 643 | + view { | ||
| 644 | + display: flex; | ||
| 645 | + flex-flow: row wrap; | ||
| 646 | + align-items: center; | ||
| 647 | + width: 500rpx; | ||
| 648 | + height: 74rpx; | ||
| 649 | + border-radius: 4rpx; | ||
| 650 | + border: 2rpx solid #C1C1C9; | ||
| 651 | + margin: 0 10rpx 20rpx; | ||
| 652 | + font-size: 24rpx; | ||
| 653 | + line-height: 32rpx; | ||
| 654 | + color: #C0C0C9; | ||
| 655 | + padding: 16rpx 20rpx; | ||
| 656 | + } | ||
| 657 | + | ||
| 658 | + .selectItem { | ||
| 659 | + background-color: #06B079; | ||
| 660 | + color: #FFFFFF; | ||
| 661 | + border: 2rpx solid #06B079; | ||
| 662 | + } | ||
| 663 | + } | ||
| 550 | } | 664 | } |
| 551 | 665 | ||
| 552 | .time { | 666 | .time { |
| @@ -593,6 +707,53 @@ | @@ -593,6 +707,53 @@ | ||
| 593 | width: 346rpx; | 707 | width: 346rpx; |
| 594 | } | 708 | } |
| 595 | } | 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 | + | ||
| 596 | } | 757 | } |
| 597 | } | 758 | } |
| 598 | </style> | 759 | </style> |
| @@ -99,8 +99,12 @@ | @@ -99,8 +99,12 @@ | ||
| 99 | 99 | ||
| 100 | openLink(e) { | 100 | openLink(e) { |
| 101 | var _this = this | 101 | var _this = this |
| 102 | - this.mFileDir = e.filename.substring(0, e.filename.lastIndexOf('.')) | ||
| 103 | - this.mFileType = e.filename.substring(e.filename.lastIndexOf('.'), e.filename.length) | 102 | + |
| 103 | + uni.showLoading({ | ||
| 104 | + title: '努力加载中~', | ||
| 105 | + mask: true | ||
| 106 | + }) | ||
| 107 | + | ||
| 104 | getImgUrlApi({ | 108 | getImgUrlApi({ |
| 105 | bucket: e.bucket, | 109 | bucket: e.bucket, |
| 106 | filePath: e.object | 110 | filePath: e.object |
| @@ -111,89 +115,34 @@ | @@ -111,89 +115,34 @@ | ||
| 111 | } else { | 115 | } else { |
| 112 | uni.downloadFile({ | 116 | uni.downloadFile({ |
| 113 | url: data.url, | 117 | url: data.url, |
| 114 | - filePath: wx.env.USER_DATA_PATH + '/' + _this.mFileDir + this.mFileType, | ||
| 115 | - success: (res) => { | ||
| 116 | - if (res.statusCode === 200) { | ||
| 117 | - uni.showLoading(); | ||
| 118 | - console.log('download succ', res) | ||
| 119 | - let fileMgr = wx.getFileSystemManager(); | ||
| 120 | - let filePath = res.filePath | ||
| 121 | - uni.saveFile({ | ||
| 122 | - tempFilePath: filePath, | ||
| 123 | - success: function(res) { | ||
| 124 | - var savedFilePath = res.savedFilePath; | ||
| 125 | - /* 删除缓存 */ | ||
| 126 | - fileMgr.unlink({ | ||
| 127 | - filePath: wx.env.USER_DATA_PATH + | ||
| 128 | - '/' + | ||
| 129 | - _this.mFileDir + _this | ||
| 130 | - .mFileType, | ||
| 131 | - success: function(res) { | ||
| 132 | - console.log( | ||
| 133 | - 'unlink success:', | ||
| 134 | - res); | ||
| 135 | - } | ||
| 136 | - }) | ||
| 137 | - _this.openDoc() | ||
| 138 | - }, | ||
| 139 | - fail: function(res) { | ||
| 140 | - console.log('save fail', res); | ||
| 141 | - _this.createFile() | ||
| 142 | - } | ||
| 143 | - }) | ||
| 144 | - } | 118 | + success: function(res) { |
| 119 | + var filePath = res.tempFilePath; | ||
| 120 | + uni.openDocument({ | ||
| 121 | + filePath: filePath, | ||
| 122 | + showMenu: true, | ||
| 123 | + success: function(res) { | ||
| 124 | + console.log('打开文档成功'); | ||
| 125 | + }, | ||
| 126 | + complete: function() { | ||
| 127 | + uni.hideLoading(); | ||
| 128 | + } | ||
| 129 | + }); | ||
| 145 | } | 130 | } |
| 146 | }); | 131 | }); |
| 147 | } | 132 | } |
| 148 | }) | 133 | }) |
| 149 | }, | 134 | }, |
| 150 | 135 | ||
| 151 | - createFile() { | ||
| 152 | - let fileMgr = wx.getFileSystemManager(); | ||
| 153 | - var _this = this | ||
| 154 | - //利用access方法判断文件是否可用 | ||
| 155 | - fileMgr.access({ | ||
| 156 | - path: wx.env.USER_DATA_PATH + '/' + _this.mFileDir, | ||
| 157 | - success: (res) => { | ||
| 158 | - console.log('check success:', res); | ||
| 159 | - _this.openDoc() | ||
| 160 | - }, | ||
| 161 | - fail: (res) => { | ||
| 162 | - console.log('check fail.', res); | ||
| 163 | - fileMgr.mkdir({ | ||
| 164 | - dirPath: wx.env.USER_DATA_PATH + '/' + _this.mFileDir, | ||
| 165 | - success: (res) => { | ||
| 166 | - console.log('mk dir success:', res); | ||
| 167 | - _this.openDoc() | ||
| 168 | - }, | ||
| 169 | - fail: (res) => { | ||
| 170 | - console.log('mk dir fail:', res); | ||
| 171 | - uni.hideLoading(); | ||
| 172 | - } | ||
| 173 | - }); | ||
| 174 | - } | ||
| 175 | - }); | ||
| 176 | - }, | ||
| 177 | - | ||
| 178 | - openDoc() { | ||
| 179 | - uni.openDocument({ | ||
| 180 | - filePath: wx.env.USER_DATA_PATH + '/' + this.mFileDir + this.mFileType, | ||
| 181 | - showMenu: true, | ||
| 182 | - success: function(res) { | ||
| 183 | - uni.hideLoading(); | ||
| 184 | - console.log('openDoc succ'); | ||
| 185 | - } | ||
| 186 | - }); | ||
| 187 | - }, | ||
| 188 | - | ||
| 189 | openImage(imgPath) { | 136 | openImage(imgPath) { |
| 190 | let array = new Array(1).fill(imgPath); | 137 | let array = new Array(1).fill(imgPath); |
| 191 | uni.previewImage({ | 138 | uni.previewImage({ |
| 192 | urls: array, | 139 | urls: array, |
| 193 | success(res) { | 140 | success(res) { |
| 141 | + uni.hideLoading(); | ||
| 194 | console.log('openImage success'); | 142 | console.log('openImage success'); |
| 195 | }, | 143 | }, |
| 196 | fail(res) { | 144 | fail(res) { |
| 145 | + uni.hideLoading(); | ||
| 197 | console.log('openImage fail:', res); | 146 | console.log('openImage fail:', res); |
| 198 | } | 147 | } |
| 199 | }); | 148 | }); |
| @@ -48,7 +48,7 @@ | @@ -48,7 +48,7 @@ | ||
| 48 | <text>实践课程</text> | 48 | <text>实践课程</text> |
| 49 | <text class="value_type">{{interDetail.courseName}}</text> | 49 | <text class="value_type">{{interDetail.courseName}}</text> |
| 50 | </view> | 50 | </view> |
| 51 | - <view style="margin-top: 32rpx;"> | 51 | + <!-- <view style="margin-top: 32rpx;"> |
| 52 | <text>实习成绩</text> | 52 | <text>实习成绩</text> |
| 53 | <text v-if="grades" class="value_type">{{grades}}</text> | 53 | <text v-if="grades" class="value_type">{{grades}}</text> |
| 54 | <text v-else class="value_type">--</text> | 54 | <text v-else class="value_type">--</text> |
| @@ -57,7 +57,7 @@ | @@ -57,7 +57,7 @@ | ||
| 57 | <text>实习评价</text> | 57 | <text>实习评价</text> |
| 58 | <text v-if="interDetail.teacherView" class="value_type">{{interDetail.teacherView}}</text> | 58 | <text v-if="interDetail.teacherView" class="value_type">{{interDetail.teacherView}}</text> |
| 59 | <text v-else class="value_type">--</text> | 59 | <text v-else class="value_type">--</text> |
| 60 | - </view> | 60 | + </view> --> |
| 61 | </view> | 61 | </view> |
| 62 | <!-- 项目信息 --> | 62 | <!-- 项目信息 --> |
| 63 | <text class="text_title">项目信息</text> | 63 | <text class="text_title">项目信息</text> |
| @@ -129,7 +129,7 @@ | @@ -129,7 +129,7 @@ | ||
| 129 | <text class="credit">学分:{{item.credit}}分</text> | 129 | <text class="credit">学分:{{item.credit}}分</text> |
| 130 | </view> | 130 | </view> |
| 131 | 131 | ||
| 132 | - <view class="projiect_item" v-for="(ele, index) in item.achievementDataList" :key="index"> | 132 | + <view class="projiect_item" v-for="(ele, index) in item.entryDataList" :key="index" @click="projiectSel(ele)"> |
| 133 | 133 | ||
| 134 | <view class="projiect"> | 134 | <view class="projiect"> |
| 135 | <text>项目名称</text> | 135 | <text>项目名称</text> |
| @@ -140,33 +140,67 @@ | @@ -140,33 +140,67 @@ | ||
| 140 | <text>{{ ele.internshipStartTime>0 ? `${timeFormat(ele.internshipStartTime)}至${timeFormat(ele.internshipEndTime)}` : '--'}}</text> | 140 | <text>{{ ele.internshipStartTime>0 ? `${timeFormat(ele.internshipStartTime)}至${timeFormat(ele.internshipEndTime)}` : '--'}}</text> |
| 141 | </view> | 141 | </view> |
| 142 | <view class="projiect"> | 142 | <view class="projiect"> |
| 143 | - <text>实习单号</text> | ||
| 144 | - <text @click="handelDetail(ele, 'internship')" | ||
| 145 | - :style="{color:'#06B079',textDecoration:'underline'}">{{ele.formNumber|| '--'}}</text> | 143 | + <text>实习形式</text> |
| 144 | + <!-- <text @click="handelDetail(ele, 'internship')" | ||
| 145 | + :style="{color:'#06B079',textDecoration:'underline'}">{{ele.formNumber|| '--'}}</text> --> | ||
| 146 | + <text>{{ele.practiceForm=='oneself'?'自主实习':'集中实习'}}</text> | ||
| 146 | </view> | 147 | </view> |
| 147 | <view class="projiect"> | 148 | <view class="projiect"> |
| 148 | - <text>成绩</text> | ||
| 149 | - <text>{{ele.level|| '--'}}</text> | 149 | + <text>总成绩</text> |
| 150 | + <text>{{ele.totalScore|| '--'}}</text> | ||
| 150 | </view> | 151 | </view> |
| 151 | 152 | ||
| 152 | - <view class="projiect" v-if="ele.credit"> | 153 | + <!-- <view class="projiect" v-if="ele.credit"> |
| 153 | <text>学分</text> | 154 | <text>学分</text> |
| 154 | <text @click="handelDetail(ele, 'credit')" | 155 | <text @click="handelDetail(ele, 'credit')" |
| 155 | :style="{color:'#06B079'}">{{ele.credit}}</text> | 156 | :style="{color:'#06B079'}">{{ele.credit}}</text> |
| 156 | - </view> | 157 | + </view> --> |
| 157 | 158 | ||
| 158 | - <view class="projiect" v-else> | 159 | + <!-- <view class="projiect" v-else> |
| 159 | <text>学分</text> | 160 | <text>学分</text> |
| 160 | <text>{{'--'}}</text> | 161 | <text>{{'--'}}</text> |
| 161 | - </view> | 162 | + </view> --> |
| 162 | </view> | 163 | </view> |
| 163 | </view> | 164 | </view> |
| 164 | <c-loading :loading="loading"></c-loading> | 165 | <c-loading :loading="loading"></c-loading> |
| 165 | </view> | 166 | </view> |
| 166 | 167 | ||
| 167 | - </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="/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> | ||
| 201 | + </u-popup> | ||
| 168 | 202 | ||
| 169 | - <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"> |
| 170 | <view class="popup_search"> | 204 | <view class="popup_search"> |
| 171 | <view class="content"> | 205 | <view class="content"> |
| 172 | <view class="title">按项目筛选</view> | 206 | <view class="title">按项目筛选</view> |
| @@ -193,7 +227,7 @@ | @@ -193,7 +227,7 @@ | ||
| 193 | </view> | 227 | </view> |
| 194 | </view> | 228 | </view> |
| 195 | </view> | 229 | </view> |
| 196 | - </u-popup> | 230 | + </u-popup> --> |
| 197 | </view> | 231 | </view> |
| 198 | </template> | 232 | </template> |
| 199 | 233 | ||
| @@ -208,7 +242,8 @@ | @@ -208,7 +242,8 @@ | ||
| 208 | import { | 242 | import { |
| 209 | getInternshipProcessDetailApi, | 243 | getInternshipProcessDetailApi, |
| 210 | getInternshipJobListApi, | 244 | getInternshipJobListApi, |
| 211 | - getPracticalCoursesListApi, | 245 | + getPracticalCoursesListApi, |
| 246 | + getProjectListApi, | ||
| 212 | } from '@/config/api.js'; | 247 | } from '@/config/api.js'; |
| 213 | 248 | ||
| 214 | export default { | 249 | export default { |
| @@ -231,14 +266,18 @@ | @@ -231,14 +266,18 @@ | ||
| 231 | //搜索对象必须为key search的对象 | 266 | //搜索对象必须为key search的对象 |
| 232 | status: 'wait,pass,reject', | 267 | status: 'wait,pass,reject', |
| 233 | 268 | ||
| 234 | - }, | 269 | + }, |
| 270 | + works: [], | ||
| 271 | + workspage: 1, | ||
| 272 | + workstotal: 0, | ||
| 235 | } | 273 | } |
| 236 | }, | 274 | }, |
| 237 | 275 | ||
| 238 | onLoad(option) { | 276 | onLoad(option) { |
| 239 | - this.$store.dispatch(`home/getProjectList`, { | ||
| 240 | - pageSize: -1, | ||
| 241 | - }) | 277 | + // this.$store.dispatch(`home/getProjectList`, { |
| 278 | + // pageSize: -1, | ||
| 279 | + // }) | ||
| 280 | + this.worksloadData() | ||
| 242 | 281 | ||
| 243 | this.studentId = option.studentId; | 282 | this.studentId = option.studentId; |
| 244 | getInternshipProcessDetailApi({ | 283 | getInternshipProcessDetailApi({ |
| @@ -257,7 +296,13 @@ | @@ -257,7 +296,13 @@ | ||
| 257 | }), | 296 | }), |
| 258 | }, | 297 | }, |
| 259 | 298 | ||
| 260 | - methods: { | 299 | + methods: { |
| 300 | + | ||
| 301 | + projiectSel(e) { | ||
| 302 | + this.$u.route({ | ||
| 303 | + url: `pages/main/internship/traineeInterList/traineeInterList?&id=${e.entryId}` | ||
| 304 | + }) | ||
| 305 | + }, | ||
| 261 | 306 | ||
| 262 | getNameLastTwo(value) { | 307 | getNameLastTwo(value) { |
| 263 | if (value && value.length > 3) { | 308 | if (value && value.length > 3) { |
| @@ -457,7 +502,59 @@ | @@ -457,7 +502,59 @@ | ||
| 457 | }) | 502 | }) |
| 458 | break; | 503 | break; |
| 459 | } | 504 | } |
| 460 | - } | 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 | + }, | ||
| 461 | 558 | ||
| 462 | } | 559 | } |
| 463 | } | 560 | } |
| @@ -645,7 +742,7 @@ | @@ -645,7 +742,7 @@ | ||
| 645 | font-size: 32rpx; | 742 | font-size: 32rpx; |
| 646 | line-height: 44rpx; | 743 | line-height: 44rpx; |
| 647 | color: #202131; | 744 | color: #202131; |
| 648 | - margin: 0 0 30rpx 0; | 745 | + margin: 0 0 20rpx 0; |
| 649 | font-weight: 500; | 746 | font-weight: 500; |
| 650 | } | 747 | } |
| 651 | 748 | ||
| @@ -821,6 +918,53 @@ | @@ -821,6 +918,53 @@ | ||
| 821 | width: 346rpx; | 918 | width: 346rpx; |
| 822 | } | 919 | } |
| 823 | } | 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 | + | ||
| 824 | } | 968 | } |
| 825 | } | 969 | } |
| 826 | </style> | 970 | </style> |
| 1 | +<template> | ||
| 2 | + <view class="current2"> | ||
| 3 | + <view v-if="list.length > 0" > | ||
| 4 | + <view class="list"> | ||
| 5 | + <view v-for="(item,index) in list" :key="index" @click="handelClick(item)"> | ||
| 6 | + <view class="list-item"> | ||
| 7 | + <view style="display: flex; align-items: center;"> | ||
| 8 | + <text>实习单号:</text> | ||
| 9 | + <text class="green">{{item.number}}</text> | ||
| 10 | + </view> | ||
| 11 | + <view style="display: flex; align-items: center; margin-top: 15rpx;"> | ||
| 12 | + <text>实习时间: {{`${timeFormat(item.startTime,'yyyy/mm/dd')} - ${timeFormat(item.endTime,'yyyy/mm/dd')}`}}</text> | ||
| 13 | + </view> | ||
| 14 | + <view style="display: flex; align-items: center; margin-top: 15rpx;"> | ||
| 15 | + <text>实习企业: {{item.companyName}}</text> | ||
| 16 | + </view> | ||
| 17 | + <view style="display: flex; align-items: center; margin-top: 15rpx;"> | ||
| 18 | + <text>实习岗位: {{item.jobName}}</text> | ||
| 19 | + </view> | ||
| 20 | + </view> | ||
| 21 | + </view> | ||
| 22 | + </view> | ||
| 23 | + <view style="height: 40rpx;"></view> | ||
| 24 | + <c-loading :loading="loading"></c-loading> | ||
| 25 | + <view style="height: 40rpx;"></view> | ||
| 26 | + </view> | ||
| 27 | + <view v-else style="width: 100%; height: 100%;"> | ||
| 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> | ||
| 30 | + </view> | ||
| 31 | + <view style="width: 100%; margin-top: 10px; text-align: center; font-size: 13px; color: #121212;">暂无数据</view> | ||
| 32 | + </view> | ||
| 33 | + </view> | ||
| 34 | +</template> | ||
| 35 | + | ||
| 36 | +<script> | ||
| 37 | + import { | ||
| 38 | + getforminternshipInfoApi | ||
| 39 | + } from '@/config/api.js'; | ||
| 40 | + import listMixin from "@/common/mixins/list-mixin.js"; | ||
| 41 | + | ||
| 42 | + export default { | ||
| 43 | + mixins: [listMixin], | ||
| 44 | + data() { | ||
| 45 | + return { | ||
| 46 | + id: '', | ||
| 47 | + list: [] | ||
| 48 | + } | ||
| 49 | + }, | ||
| 50 | + | ||
| 51 | + onLoad(e) { | ||
| 52 | + console.log(e) | ||
| 53 | + this.id = e.id | ||
| 54 | + | ||
| 55 | + this.finished = false; | ||
| 56 | + this.loading = "loadmore"; | ||
| 57 | + this.page = 0; | ||
| 58 | + this.list = []; | ||
| 59 | + this._getList(); | ||
| 60 | + }, | ||
| 61 | + | ||
| 62 | + methods: { | ||
| 63 | + loadData() { | ||
| 64 | + scoredetailUrl(this.id).then(res => { | ||
| 65 | + if (res) { | ||
| 66 | + this.detailObj = res; | ||
| 67 | + this.detailObj.form.endTime = this.timeFormat(this.detailObj.form.endTime,'yyyy-mm-dd') | ||
| 68 | + this.stuhandleDataspdf() | ||
| 69 | + this.comhandleDataspdf() | ||
| 70 | + this.schhandleDataspdf() | ||
| 71 | + } | ||
| 72 | + }) | ||
| 73 | + }, | ||
| 74 | + | ||
| 75 | + timeFormat(timestamp, format = 'yyyy-mm-dd hh:MM') { | ||
| 76 | + return timestamp > 0 ? uni.$u.timeFormat(timestamp, format) : '--' | ||
| 77 | + }, | ||
| 78 | + | ||
| 79 | + handelClick(e) { | ||
| 80 | + // this.$u.route({ | ||
| 81 | + // url: `pages/main/home/achievementDetail/achievementDetail?&id=${e.id}` | ||
| 82 | + // }) | ||
| 83 | + this.$u.route({ | ||
| 84 | + url: `pages/main/internship/intershipInfo/intershipInfo?id=${e.id}` | ||
| 85 | + }) | ||
| 86 | + }, | ||
| 87 | + | ||
| 88 | + // 模拟后端分页 | ||
| 89 | + async getData(requestParams) { | ||
| 90 | + const { | ||
| 91 | + search = {} | ||
| 92 | + } = requestParams; | ||
| 93 | + | ||
| 94 | + let params = {}; | ||
| 95 | + params.pageNumber = requestParams.page + 1; | ||
| 96 | + params.pageSize = 10; | ||
| 97 | + params.entryId = this.id; | ||
| 98 | + | ||
| 99 | + console.log(12312312,params) | ||
| 100 | + return await getforminternshipInfoApi(params); | ||
| 101 | + }, | ||
| 102 | + | ||
| 103 | + // 数据请求(没错就是这么少的代码) | ||
| 104 | + async _getList() { | ||
| 105 | + if (this.page == 0) { | ||
| 106 | + this.list = []; | ||
| 107 | + } | ||
| 108 | + | ||
| 109 | + uni.showLoading({ | ||
| 110 | + title: '数据加载中~', | ||
| 111 | + mask: true | ||
| 112 | + }) | ||
| 113 | + | ||
| 114 | + // 根据实际情况修改自己修改key | ||
| 115 | + let result = await this.getData({ | ||
| 116 | + page: this.page, // 传入页码 | ||
| 117 | + size: this.size, // 传入每页条数 | ||
| 118 | + search: this.search, // 传入搜索的对象 | ||
| 119 | + }); | ||
| 120 | + | ||
| 121 | + // console.log(result.records) | ||
| 122 | + | ||
| 123 | + this.total = result.total; | ||
| 124 | + | ||
| 125 | + result.records.map((item) => { | ||
| 126 | + this.list.push(item); | ||
| 127 | + }); | ||
| 128 | + | ||
| 129 | + if (this.list.length == this.total) { | ||
| 130 | + this.finished = true; | ||
| 131 | + this.loading = 'nomore'; | ||
| 132 | + } | ||
| 133 | + | ||
| 134 | + uni.hideLoading(); | ||
| 135 | + }, | ||
| 136 | + } | ||
| 137 | + } | ||
| 138 | +</script> | ||
| 139 | + | ||
| 140 | +<style> | ||
| 141 | + page { | ||
| 142 | + background-color: #F7F7F7; | ||
| 143 | + } | ||
| 144 | +</style> | ||
| 145 | + | ||
| 146 | +<style lang="scss" scoped> | ||
| 147 | + .current2 { | ||
| 148 | + padding: 20rpx 20rpx 0; | ||
| 149 | + | ||
| 150 | + .list-item { | ||
| 151 | + // width: 100%; | ||
| 152 | + // height: 150px; | ||
| 153 | + padding: 36rpx 40rpx; | ||
| 154 | + background: #FFFFFF; | ||
| 155 | + margin-bottom: 10px; | ||
| 156 | + | ||
| 157 | + text { | ||
| 158 | + font-size: 14px; | ||
| 159 | + font-family: PingFangSC-Light, PingFang SC; | ||
| 160 | + font-weight: 300; | ||
| 161 | + color: rgba(0,0,0,0.65); | ||
| 162 | + max-width: 90%; | ||
| 163 | + overflow: hidden; | ||
| 164 | + text-overflow: ellipsis; | ||
| 165 | + display: -webkit-box; | ||
| 166 | + -webkit-line-clamp: 2; | ||
| 167 | + -webkit-box-orient: vertical; | ||
| 168 | + } | ||
| 169 | + | ||
| 170 | + .green { | ||
| 171 | + margin-left: 5px; | ||
| 172 | + color: #0CB17A; | ||
| 173 | + } | ||
| 174 | + } | ||
| 175 | + } | ||
| 176 | +</style> |
| @@ -60,7 +60,7 @@ | @@ -60,7 +60,7 @@ | ||
| 60 | <view class="twoCell"> | 60 | <view class="twoCell"> |
| 61 | <view class="item" @click="handelGate(1)"> | 61 | <view class="item" @click="handelGate(1)"> |
| 62 | <view> | 62 | <view> |
| 63 | - <image src="/static/img/home/newhome1.png"></image> | 63 | + <image src="/static/img/home/bmsh_sel.png"></image> |
| 64 | </view> | 64 | </view> |
| 65 | <view style="display: flex; flex-direction: column;"> | 65 | <view style="display: flex; flex-direction: column;"> |
| 66 | <view class="t1"> | 66 | <view class="t1"> |
| @@ -71,51 +71,76 @@ | @@ -71,51 +71,76 @@ | ||
| 71 | </view> | 71 | </view> |
| 72 | </view> | 72 | </view> |
| 73 | </view> | 73 | </view> |
| 74 | - <view class="item" @click="handelGate(2)"> | 74 | + <view class="item" @click="handelGate(8)"> |
| 75 | <view> | 75 | <view> |
| 76 | - <image src="/static/img/home/newhome2.png"></image> | 76 | + <image src="/static/img/home/newhome1.png"></image> |
| 77 | </view> | 77 | </view> |
| 78 | <view style="display: flex; flex-direction: column;"> | 78 | <view style="display: flex; flex-direction: column;"> |
| 79 | <view class="t1"> | 79 | <view class="t1"> |
| 80 | - 请假审批 | 80 | + 实习申请 |
| 81 | </view> | 81 | </view> |
| 82 | <view class="t2"> | 82 | <view class="t2"> |
| 83 | - 实习中的请假申请 | 83 | + 实习开始&结束审批 |
| 84 | </view> | 84 | </view> |
| 85 | </view> | 85 | </view> |
| 86 | </view> | 86 | </view> |
| 87 | </view> | 87 | </view> |
| 88 | - <view class="fiveCell"> | ||
| 89 | - <view class="item" @click="handelGate(3)"> | ||
| 90 | - <image src="/static/img/home/newhome3.png"></image> | ||
| 91 | - <view class="t1"> | ||
| 92 | - 实习变更 | ||
| 93 | - </view> | ||
| 94 | - </view> | ||
| 95 | - <view class="item" @click="handelGate(4)"> | ||
| 96 | - <image src="/static/img/home/newhome4.png"></image> | ||
| 97 | - <view class="t1"> | ||
| 98 | - 日志批阅 | ||
| 99 | - </view> | ||
| 100 | - </view> | ||
| 101 | - <view class="item" @click="handelGate(5)"> | ||
| 102 | - <image src="/static/img/home/newhome5.png"></image> | ||
| 103 | - <view class="t1"> | ||
| 104 | - 报告批阅 | ||
| 105 | - </view> | ||
| 106 | - </view> | ||
| 107 | - <view class="item" @click="handelGate(6)"> | ||
| 108 | - <image src="/static/img/home/newhome6.png"></image> | ||
| 109 | - <view class="t1"> | ||
| 110 | - 学生签到 | ||
| 111 | - </view> | ||
| 112 | - </view> | ||
| 113 | - <view class="item" @click="handelGate(7)"> | ||
| 114 | - <image src="/static/img/home/newhome7.png"></image> | ||
| 115 | - <view class="t1"> | ||
| 116 | - 成绩鉴定 | ||
| 117 | - </view> | ||
| 118 | - </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> | ||
| 119 | </view> | 144 | </view> |
| 120 | </view> | 145 | </view> |
| 121 | 146 | ||
| @@ -199,9 +224,22 @@ | @@ -199,9 +224,22 @@ | ||
| 199 | </view> | 224 | </view> |
| 200 | <view v-if="hasLogin"> | 225 | <view v-if="hasLogin"> |
| 201 | <view | 226 | <view |
| 202 | - v-if="statistics && (statistics.formChangeApplyReview > 0 || statistics.leaveRecordReview > 0 || statistics.internshipApply > 0 || statistics.formLogWaitReview > 0 || statistics.reportWaitReview > 0 || statistics.achievementWaitAppraisal > 0 )"> | 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 )"> |
| 203 | <view class="cell"> | 228 | <view class="cell"> |
| 204 | - <u-cell-group :border="false"> | 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> | ||
| 205 | <u-cell | 243 | <u-cell |
| 206 | v-if="statistics && statistics.leaveRecordReview && statistics.leaveRecordReview > 0" | 244 | v-if="statistics && statistics.leaveRecordReview && statistics.leaveRecordReview > 0" |
| 207 | :isLink="true" url="/pages/main/home/asklist/asklist?status=wait" | 245 | :isLink="true" url="/pages/main/home/asklist/asklist?status=wait" |
| @@ -320,7 +358,6 @@ | @@ -320,7 +358,6 @@ | ||
| 320 | </view> --> | 358 | </view> --> |
| 321 | </view> | 359 | </view> |
| 322 | </scroll-view> | 360 | </scroll-view> |
| 323 | - | ||
| 324 | <!-- <view class="content"> | 361 | <!-- <view class="content"> |
| 325 | <view class="title"> | 362 | <view class="title"> |
| 326 | <text>选择学校</text> | 363 | <text>选择学校</text> |
| @@ -371,7 +408,8 @@ | @@ -371,7 +408,8 @@ | ||
| 371 | menuHeight: 32, | 408 | menuHeight: 32, |
| 372 | menuTop: 32, | 409 | menuTop: 32, |
| 373 | margin: 92, | 410 | margin: 92, |
| 374 | - isNav: false | 411 | + isNav: false, |
| 412 | + processNum: 0, | ||
| 375 | } | 413 | } |
| 376 | }, | 414 | }, |
| 377 | 415 | ||
| @@ -447,6 +485,15 @@ | @@ -447,6 +485,15 @@ | ||
| 447 | 485 | ||
| 448 | methods: { | 486 | methods: { |
| 449 | 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 | + | ||
| 450 | getSystemInfo() { | 497 | getSystemInfo() { |
| 451 | uni.getSystemInfo({ | 498 | uni.getSystemInfo({ |
| 452 | success: (res) => { | 499 | success: (res) => { |
| @@ -585,9 +632,10 @@ | @@ -585,9 +632,10 @@ | ||
| 585 | case 7: | 632 | case 7: |
| 586 | this.$u.route('/pages/main/home/achievementAppraisal/achievementAppraisal'); | 633 | this.$u.route('/pages/main/home/achievementAppraisal/achievementAppraisal'); |
| 587 | break; | 634 | break; |
| 588 | - | ||
| 589 | - | ||
| 590 | - | 635 | + |
| 636 | + case 8: | ||
| 637 | + this.$u.route('/pages/main/home/interapply/interapply'); | ||
| 638 | + break; | ||
| 591 | 639 | ||
| 592 | } | 640 | } |
| 593 | 641 | ||
| @@ -767,17 +815,50 @@ | @@ -767,17 +815,50 @@ | ||
| 767 | color: rgba(0, 0, 0, 0.65); | 815 | color: rgba(0, 0, 0, 0.65); |
| 768 | } | 816 | } |
| 769 | } | 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: #06B079; | ||
| 834 | + position: absolute; | ||
| 835 | + top: 0px; | ||
| 836 | + left: 0px; | ||
| 837 | + } | ||
| 770 | } | 838 | } |
| 771 | 839 | ||
| 772 | .fiveCell { | 840 | .fiveCell { |
| 773 | - margin-top: 30px; | ||
| 774 | - display: flex; | ||
| 775 | - | ||
| 776 | - .item { | ||
| 777 | - flex: 1; | ||
| 778 | - display: flex; | ||
| 779 | - flex-direction: column; | ||
| 780 | - align-items: center; | 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 | + } | ||
| 781 | 862 | ||
| 782 | image { | 863 | image { |
| 783 | width: 24px; | 864 | width: 24px; |
static/img/home/bmsh_sel.png
0 → 100644
3.5 KB
请
注册
或
登录
后发表评论