| @@ -425,6 +425,15 @@ export function listOddjob(query) { | |||
| }) | |||
| } | |||
| // 查询零工登记详细 | |||
| export function getOddjobDetail(bookId, id) { | |||
| return request({ | |||
| url: '/open/villageAffairs/public/oddjobDetail', | |||
| method: 'get', | |||
| params: {bookId, id}, | |||
| }) | |||
| } | |||
| // 新增零工登记 | |||
| export function addOddjob(data) { | |||
| return request({ | |||
| @@ -95,7 +95,9 @@ const whiteList = [ | |||
| '/sunVillage_info/list_finance_detail', //详情页 | |||
| '/sunVillage_info/list_photo_detail', //详情页 | |||
| '/sunVillage_info/list_finance_ranking', //详情页 | |||
| '/sunVillage_info/list_tourists_ranking', //详情页 | |||
| '/sunVillage_info/list_tourists_ranking', //零工排行榜 | |||
| '/sunVillage_info/list_tourists_ranking_lite', //零工排行榜 | |||
| '/sunVillage_info/list_tourists_registration_detail_visitor', //零工详情页 | |||
| '/sunVillage_info/login_code', //详情页 | |||
| '/sunVillage_info/index_code_rights', //详情页 | |||
| '/sunVillage_info/list_vote', //详情页 | |||
| @@ -3633,7 +3633,7 @@ export const constantRoutes = [ | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_issues_edit'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 合同信息 | |||
| { ////阳光村务(新)-- 零工公开榜 | |||
| path: '/sunVillage_info/list_tourists_ranking', | |||
| name: 'sunVillageInfoListTouristsRanking', | |||
| meta: { | |||
| @@ -3642,6 +3642,15 @@ export const constantRoutes = [ | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_tourists_ranking'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 零工公开榜(精简) | |||
| path: '/sunVillage_info/list_tourists_ranking_lite', | |||
| name: 'sunVillageInfoListTouristsRankingLite', | |||
| meta: { | |||
| title: '零工公式公布榜', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_tourists_ranking_lite'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 零工登记 | |||
| path: '/sunVillage_info/list_tourists_registration', | |||
| name: 'sunVillageInfoListTouristsRegistration', | |||
| @@ -3669,6 +3678,15 @@ export const constantRoutes = [ | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_tourists_registration_detail'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 零工登记详情(游客) | |||
| path: '/sunVillage_info/list_tourists_registration_detail_visitor', | |||
| name: 'sunVillageInfoListTouristsRegistrationDetailVisitor', | |||
| meta: { | |||
| title: '查看零工登记', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/sunVillage_info/list_tourists_registration_detail_visitor'], resolve) | |||
| }, | |||
| { ////阳光村务(新)-- 零工登记修改 | |||
| path: '/sunVillage_info/list_tourists_registration_edit', | |||
| name: 'sunVillageInfoListTouristsRegistrationEdit', | |||
| @@ -102,11 +102,13 @@ | |||
| showBtn:true, | |||
| nowYear:new Date().getFullYear(), | |||
| yearList:[], | |||
| visitor: false, | |||
| }; | |||
| }, | |||
| created() { | |||
| this.queryParams.bookId = Cookies.get('bookId'); | |||
| this.queryParams.deptId = Cookies.get('deptId'); | |||
| this.visitor = this.$route.query.type == 'code'; | |||
| if (this.$route.query.type == 'code'){ | |||
| this.showBtn = false; | |||
| } | |||
| @@ -187,7 +189,8 @@ | |||
| this.$router.push({path:'/sunVillage_info/list_tourists_edit',query: {id:id,type:'finance'}}) | |||
| }, | |||
| goRanking(id,time){ | |||
| this.$router.push({path:'/sunVillage_info/list_tourists_ranking',query: {id:id,time:time}}) | |||
| const url = this.visitor ? '/sunVillage_info/list_tourists_ranking_lite' : '/sunVillage_info/list_tourists_ranking'; | |||
| this.$router.push({path:url,query: {id:id,time:time}}) | |||
| }, | |||
| goRemove(id){ | |||
| this.$dialog.alert({ | |||
| @@ -121,7 +121,7 @@ | |||
| }, | |||
| viewItem(id){ | |||
| this.$router.push({ | |||
| path: "/sunVillage_info/list_tourists_registration_detail", | |||
| path: "/sunVillage_info/list_tourists_registration_detail_visitor", | |||
| query: { | |||
| id: id, | |||
| intent: 'view', | |||
| @@ -0,0 +1,369 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div | |||
| class="header_main" | |||
| :style="`background-image:url(${require('@/assets/images/sunVillage_info/list_head.png')})`" | |||
| > | |||
| 零工公开榜 | |||
| <div class="return_btn" @click="onClickLeft"></div> | |||
| </div> | |||
| <p class="top_head_title">{{deptName}}{{yearMonth[0]}}年{{yearMonth[1]}}月份</p> | |||
| <div class="list_main"> | |||
| <van-pull-refresh v-model="refreshing" @refresh="getList()"> | |||
| <van-list | |||
| v-model="loading" | |||
| :finished="finished" | |||
| finished-text="没有更多了" | |||
| @load="getList('+1')" | |||
| > | |||
| <!----1--> | |||
| <div class="item" v-for="(item,index) in applicationList" :key="index" > | |||
| <div class="info" @click="viewItem(item.id)"> | |||
| <div class="title"> | |||
| <p class="news_title">{{item.workReason}}</p> | |||
| </div> | |||
| <div class="time"> | |||
| <div class="icon_time"></div> | |||
| {{item.jobTime}} | |||
| </div> | |||
| </div> | |||
| <div class="operation"> | |||
| <div class="opera_btn view" @click="viewItem(item.id)"> | |||
| <i class="icon "></i> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| </van-list> | |||
| </van-pull-refresh> | |||
| </div> | |||
| <!-- <div class="bottom_tips">--> | |||
| <!-- <span class="xs">已经到底啦</span>--> | |||
| <!-- </div>--> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import {listOddjob} from "@/api/sunVillage_info/fixedAssets"; | |||
| import Cookies from "js-cookie"; | |||
| import request from '@/utils/request' | |||
| export default { | |||
| name: "sunVillageInfoListTouristsRankingLite", | |||
| data() { | |||
| return { | |||
| refreshing: false, | |||
| applicationList:[], | |||
| loading: false, | |||
| finished: false, | |||
| total: 0, | |||
| queryParams:{ | |||
| pageNum:1, | |||
| pageSize:10, | |||
| orderByColumn:'jobNy', | |||
| isAsc:'desc', | |||
| year:'', | |||
| }, | |||
| yearMonth:[], | |||
| deptName:'' | |||
| }; | |||
| }, | |||
| created() { | |||
| this.queryParams.bookId = Cookies.get('bookId'); | |||
| this.queryParams.deptId = Cookies.get('deptId'); | |||
| this.deptName = Cookies.get('deptName'); | |||
| this.queryParams.yearMonth = this.$route.query.time; | |||
| this.yearMonth = this.$route.query.time.split('-') | |||
| this.getList(); | |||
| }, | |||
| methods: { | |||
| getList(target){ | |||
| var _this = this; | |||
| setTimeout(() => { | |||
| let type = typeof (target); | |||
| console.log(type, target); | |||
| if(target && this.finished) | |||
| return; | |||
| if (target === 0) { | |||
| this.refreshing = true; | |||
| this.finished = true; | |||
| this.total = 0; | |||
| this.queryParams.pageNum = 1; | |||
| this.applicationList = []; | |||
| } | |||
| else if (type === 'number') | |||
| this.queryParams.pageNum = target; | |||
| else if (type === 'string') { | |||
| this.queryParams.pageNum = eval(this.queryParams.pageNum + target) | |||
| } | |||
| else | |||
| { | |||
| this.refreshing = true; | |||
| this.finished = true; | |||
| this.total = 0; | |||
| this.queryParams.pageNum = 1; | |||
| this.applicationList = [] | |||
| } | |||
| //console.log(_this.queryParams) | |||
| listOddjob(_this.queryParams).then(response => { | |||
| if (response.rows.length === 0) { | |||
| this.finished = true; | |||
| return; | |||
| } | |||
| for (var i = 0; i < response.rows.length; i++) { | |||
| this.applicationList.push(response.rows[i]); | |||
| } | |||
| this.total += response.rows.length; | |||
| this.finished = this.total >= response.total; | |||
| }).finally(() => { | |||
| this.loading = false; | |||
| this.refreshing = false; | |||
| }); | |||
| }, 1000); | |||
| }, | |||
| viewItem(id){ | |||
| this.$router.push({ | |||
| path: "/sunVillage_info/list_tourists_registration_detail_visitor", | |||
| query: { | |||
| id: id, | |||
| intent: 'view', | |||
| }, | |||
| }).catch(() => {}); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main{ | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn{ | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn{ | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .record_main{ | |||
| padding:30px 22px; | |||
| .record_det{ | |||
| height: 38px; | |||
| line-height: 38px; | |||
| display: flex; | |||
| justify-content:space-between; | |||
| .year_l{ | |||
| font-size: 30px; | |||
| display: flex; | |||
| align-items: center; | |||
| color: #858585; | |||
| .unit{ | |||
| padding-left: 5px; | |||
| } | |||
| .icon{ | |||
| width: 23px; | |||
| height: 12px; | |||
| display: block; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_1.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-bottom: 4px; | |||
| margin-right: 8px; | |||
| &.zk { | |||
| transform: rotate(0deg) | |||
| } | |||
| &.ss{ | |||
| transform: rotate(180deg) | |||
| } | |||
| } | |||
| } | |||
| .total_r{ | |||
| font-size: 26px; | |||
| letter-spacing: 2px; | |||
| } | |||
| } | |||
| .record_list{ | |||
| display: flex; | |||
| flex-flow: wrap; | |||
| margin-top: 12PX; | |||
| .flex_block{ | |||
| font-size: 30px; | |||
| color: #878787; | |||
| padding-right: 30px; | |||
| &.current{ | |||
| color: #4199fe; | |||
| font-weight: bold; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:0 22px; | |||
| .item{ | |||
| height: 140px; | |||
| border-radius: 30px; | |||
| background: #fff; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| padding:25px 32px; | |||
| display: flex; | |||
| margin-bottom: 20px; | |||
| justify-content: space-between; | |||
| .info{ | |||
| .title{ | |||
| display: flex; | |||
| font-size: 32px; | |||
| align-items: center; | |||
| height: 58px; | |||
| .icon_box{ | |||
| width: 34px; | |||
| display: block; | |||
| height: 30px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_2.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-right: 10px; | |||
| flex-shrink: 0; | |||
| } | |||
| .news_title{ | |||
| display: -webkit-box; | |||
| -webkit-box-orient: vertical; | |||
| -webkit-line-clamp: 1; | |||
| word-break: break-all; | |||
| overflow: hidden; | |||
| } | |||
| .tips_mark{ | |||
| width: 34px; | |||
| height: 34px; | |||
| background: #fa0c0c; | |||
| border-radius: 8px; | |||
| font-size: 24px; | |||
| color: #fff; | |||
| text-align: center; | |||
| line-height: 34px; | |||
| margin-left: 10px; | |||
| flex-shrink: 0; | |||
| } | |||
| } | |||
| .time{ | |||
| font-size: 24px; | |||
| color: #858585; | |||
| display: flex; | |||
| align-items: center; | |||
| height: 30px; | |||
| margin-top: 6px; | |||
| .icon_time{ | |||
| width: 25px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_4.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| margin-right: 10px; | |||
| } | |||
| } | |||
| } | |||
| .operation{ | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content: right; | |||
| text-align: right; | |||
| .opera_btn{ | |||
| width: 52px; | |||
| height: 52px; | |||
| border-radius: 50%; | |||
| display: flex; | |||
| align-items: center; | |||
| justify-content:center; | |||
| &.delete{ | |||
| background:#df0707; | |||
| margin-left: 10PX; | |||
| .icon{ | |||
| width: 22px; | |||
| height: 29px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_7.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.edit{ | |||
| background: #79cf13; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 26px; | |||
| height: 25px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_6.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.view{ | |||
| background: #3494ff; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 29px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_3.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| &.list{ | |||
| background: #79cf13; | |||
| margin-left: 10PX; | |||
| .icon { | |||
| width: 29px; | |||
| height: 21px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_10.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| display: block; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .bottom_tips{ | |||
| font-size: 24px; | |||
| color: #a7a6a6; | |||
| text-align: center; | |||
| margin-top: 32px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_8.png') center center no-repeat; | |||
| background-size: 260px 2px; | |||
| .xs{ | |||
| padding:0 8px; | |||
| background: #e9e9e9; | |||
| } | |||
| } | |||
| } | |||
| .top_head_title{ | |||
| font-size: 16PX; | |||
| text-align: center; | |||
| padding: 15PX 0; | |||
| } | |||
| </style> | |||
| @@ -50,7 +50,7 @@ | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import {addOddjob, getOddjob, updateOddjob} from "@/api/sunVillage_info/fixedAssets"; | |||
| import {getOddjob, } from "@/api/sunVillage_info/fixedAssets"; | |||
| import CommonUpload from "@/components/form/CommonUpload.vue"; | |||
| export default { | |||
| name: "listTouristsRegistrationDetail", | |||
| @@ -0,0 +1,190 @@ | |||
| <template> | |||
| <div class="home_wrapper"> | |||
| <div class="header_main"> | |||
| 零工登记 | |||
| <div class="return_btn" @click="back"></div> | |||
| </div> | |||
| <van-form ref="formData" :readonly="true"> | |||
| <div class="list_main"> | |||
| <van-field v-model="form.jobTime" label="出工日期" input-align="right" :border="false" /> | |||
| <!-- <van-field v-model="form.workerName" label="出工姓名" input-align="right" :border="false" />--> | |||
| <van-field v-model="form.workReason" label="出工事由" input-align="right" :border="false" /> | |||
| <!-- <van-field v-model="form.workerNote" label="记工员" input-align="right" :border="false" /> | |||
| <van-field v-model="form.workNum" label="出工数" input-align="right" :border="false" type="number" /> | |||
| <van-field v-model="form.perMoney" label="工日值" input-align="right" :border="false" type="number" /> | |||
| <van-field v-model="form.totalMoney" label="金额(元)" input-align="right" :border="false" type="number" />--> | |||
| <van-field | |||
| name="openPic" | |||
| label="事前公开" | |||
| input-align="right" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload name="openPic" v-model="form.openPic" multiple :deletable="false" :show-upload="false"/> | |||
| <van-field | |||
| name="openPic2" | |||
| label="事中公开" | |||
| input-align="right" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload name="openPic2" v-model="form.openPic2" multiple :deletable="false" :show-upload="false"/> | |||
| <van-field | |||
| name="openPic3" | |||
| label="事后公开" | |||
| input-align="right" | |||
| :border="false" | |||
| > | |||
| </van-field> | |||
| <CommonUpload name="openPic3" v-model="form.openPic3" multiple :deletable="false" :show-upload="false"/> | |||
| <!-- <van-field v-model="form.remark" label="备注" input-align="left" :border="false" />--> | |||
| </div> | |||
| </van-form> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import {getOddjob, getOddjobDetail,} from "@/api/sunVillage_info/fixedAssets"; | |||
| import CommonUpload from "@/components/form/CommonUpload.vue"; | |||
| import Cookies from "js-cookie"; | |||
| export default { | |||
| name: "listTouristsRegistrationDetailVisitor", | |||
| components: {CommonUpload}, | |||
| data() { | |||
| return { | |||
| form: { | |||
| id: null, | |||
| bookId: null, | |||
| deptId: null, | |||
| deptName: null, | |||
| jobNy: null, | |||
| jobTime: null, | |||
| workerName: null, | |||
| workReason: null, | |||
| workerNote: null, | |||
| workNum: null, | |||
| perMoney: null, | |||
| totalMoney: null, | |||
| remark: null, | |||
| openPic: null, | |||
| openPic2: null, | |||
| openPic3: null, | |||
| createBy: null, | |||
| createTime: null, | |||
| updateBy: null, | |||
| updateTime: null | |||
| }, | |||
| id:'', | |||
| }; | |||
| }, | |||
| created() { | |||
| this.id = this.$route.query.id; | |||
| this.getDetail(); | |||
| }, | |||
| methods: { | |||
| getDetail() { | |||
| if(!this.id) | |||
| { | |||
| this.back(); | |||
| return; | |||
| } | |||
| let bookId = Cookies.get('bookId'); | |||
| getOddjobDetail(bookId, this.id).then((resp) => { | |||
| this.form = resp.data; | |||
| }); | |||
| }, | |||
| back() { | |||
| this.$router.back(); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| /deep/ .van-button--primary{ | |||
| background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat; | |||
| background-size: 100% 100%; | |||
| border: none; | |||
| } | |||
| .home_wrapper{ | |||
| background: #e9e9e9; | |||
| min-height: 100vh; | |||
| width: 100vw; | |||
| .header_main { | |||
| height: 116px; | |||
| background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
| background-size: 100% 100%; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| width: 100%; | |||
| font-size: 36px; | |||
| line-height: 116px; | |||
| text-align: center; | |||
| color: #fff; | |||
| position: relative; | |||
| .return_btn { | |||
| width: 24px; | |||
| height: 43.2px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||
| background-size: 20px 36px; | |||
| position: absolute; | |||
| left: 38px; | |||
| top: 36px; | |||
| } | |||
| .add_btn { | |||
| width: 56.4px; | |||
| height: 40.8px; | |||
| background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
| background-size: 47px 34px; | |||
| position: absolute; | |||
| right: 38px; | |||
| top: 36px; | |||
| } | |||
| } | |||
| .list_main{ | |||
| padding:25px; | |||
| background: #ffffff; | |||
| width: 94%; | |||
| margin: 25px auto 0; | |||
| border-radius: 15PX; | |||
| box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||
| } | |||
| .titBox{ | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .tit{ | |||
| font-size: 36px; | |||
| font-weight: bold; | |||
| } | |||
| /deep/ .van-cell{ | |||
| padding-left: 0!important; | |||
| padding-right: 0!important; | |||
| padding-bottom: 0!important; | |||
| } | |||
| /deep/ .van-field__label{ | |||
| padding-left: 10PX; | |||
| width: 8.2em; | |||
| } | |||
| /deep/ .van-cell--required::before{ | |||
| left: 0; | |||
| } | |||
| } | |||
| </style> | |||