From 2d43a1df3f5ba42710e6d21c27d1e13bdb8dfd56 Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期一, 24 三月 2025 09:23:08 +0800
Subject: [PATCH] -
---
src/pages/checkin/index.vue | 413 +++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 302 insertions(+), 111 deletions(-)
diff --git a/src/pages/checkin/index.vue b/src/pages/checkin/index.vue
index 302829b..2bc1673 100644
--- a/src/pages/checkin/index.vue
+++ b/src/pages/checkin/index.vue
@@ -1,128 +1,319 @@
<template>
- <view class="full-page">
- <up-sticky>
- <view class="coreshop-ff content c-p-10">
- <up-search placeholder="璇风偣鍑婚�夋嫨鏃ユ湡" v-model="value15" search-icon="calendar"></up-search>
- </view>
- <up-subsection :list="list" :current="current4" activeColor="#f9ae3d"
- @change="sectionChange"></up-subsection>
- </up-sticky>
- <view class="listrecord c-p-20">
- <view class="coreshop-ff chuany-bradius20">
- <view class="bgblue c-p-18 chuany-flex chuany-justify-between chuany-font34 chuany-text-bold">
- <text class=''>
- 鏃ユ湡锛�2024-08-12
- </text>
+ <view class="full-page" scroll-y using-sticky>
+ <view class="">
+ <up-sticky>
+ <view class="coreshop-ff content c-p-l-10 c-p-t-10 c-p-r-10">
+ <up-search placeholder="璇风偣鍑婚�夋嫨鎵撳崱鏃ユ湡" @click='clickIcon' :show-action="false"
+ @clear='init' disabled v-model="wordDate" search-icon="calendar"
+ @search='init'></up-search>
+ <!-- <up-input shape="round" class="u-search__content__input"></up-input> -->
+ <!-- <up-search placeholder="璇疯緭鍏ュ叕鍙稿悕绉�" :show-action="false" v-model="Suppliername" @clear='PostMyDakaListPage'
+ @search='PostMyDakaListPage'></up-search> -->
</view>
- <view class="c-p-26">
- <view class="chuany-flex chuany-justify-between">
- <text class="chuany-font34 chuany-text-bold">
- 涓存椂宸�
- </text>
- <view class="chuany-flex chuany-justify-between">
- <!-- <text class="c-p-r-20">
-
- </text> -->
- <up-tag class='c-m-r-10' text="宸茬粨绠�" shape="circle" type="success" plain plainFill size='mini'></up-tag>
- <up-tag text="宸茬‘璁�" shape="circle" type="success" plain plainFill size='mini'></up-tag>
- </view>
- </view>
- <view class="c-p-t-20">
- 鎵撳崱璁板綍锛�08:00-12:00 13:00-17:00
- </view>
- <view class="chuany-flex chuany-justify-between c-p-t-20">
- <text class="chuany-width50">
- 宸ヤ綔鏃堕暱锛�8灏忔椂
- </text>
- <view class="chuany-width50">
- <text>
- 鏂瑰紡锛氳鏃�
- </text>
- </view>
- </view>
- <view class="chuany-flex chuany-justify-between c-p-t-20">
- <text class="chuany-width50">
- 宸ヤ环锛�17鍏�/灏忔椂
- </text>
- <view class="chuany-width50">
- <text>
- 褰撴棩宸ヨ祫锛�136鍏�
- </text>
- </view>
- </view>
+ <view class="coreshop-ff content c-p-10">
+ <up-search placeholder="璇疯緭鍏ュ叕鍙稿悕绉�" v-model="Suppliername" @clear='init'
+ @custom='init' @search='init'></up-search>
+ <!-- <up-search placeholder="璇风偣鍑婚�夋嫨鎵撳崱鏃ユ湡" @click='clickIcon' @clear='PostMyDakaListPage' disabled
+ v-model="wordDate" search-icon="calendar" @search='PostMyDakaListPage'
+ @custom='PostMyDakaListPage'></up-search> -->
</view>
- </view>
- </view>
- <view class="listrecord c-p-20">
- <view class="coreshop-ff chuany-bradius20">
- <view class="bgblue c-p-18 chuany-flex chuany-justify-between chuany-font34 chuany-text-bold">
- <text class=''>
- 鏃ユ湡锛�2024-08-12
- </text>
- </view>
- <view class="c-p-26">
- <view class="chuany-flex chuany-justify-between">
- <text class="chuany-font34 chuany-text-bold">
- 涓存椂宸�
- </text>
- <view class="chuany-flex chuany-justify-between">
- <!-- <text class="c-p-r-20">
-
- </text> -->
- <up-tag class='c-m-r-10' text="鏈粨绠�" shape="circle" type="warning" plain plainFill size='mini'></up-tag>
- <up-tag text="鏈‘璁�" shape="circle" type="warning" plain plainFill size='mini'></up-tag>
- </view>
- </view>
- <view class="c-p-t-20">
- 鎵撳崱璁板綍锛�08:00-12:00 13:00-17:00
- </view>
- <!-- <view class="chuany-flex chuany-justify-between c-p-t-20">
-
- </view> -->
- <view class="chuany-flex chuany-justify-between chuany-flex-wrap c-p-t-20">
- <text class="chuany-width50">
- 宸ヤ綔鏃堕暱锛�8灏忔椂
- </text>
- <view class="chuany-width50">
- <text>
- 鏂瑰紡锛氳浠�
+ <up-subsection :list="list" current='1' activeColor="#f9ae3d" @change="sectionChange"></up-subsection>
+ </up-sticky>
+ <view class="full-page-content c-p-b-100" v-if="viewList&&viewList.length>0">
+ <view class="listrecord c-p-t-28 c-p-l-28 c-p-r-28" v-for="item in viewList" :key='item.id'>
+ <view class="coreshop-ff chuany-bradius20">
+ <view @click='jumpWorkDetail(item)'
+ class="bgblue c-p-l-18 c-p-r-18 c-p-t-10 c-p-b-10 chuany-flex chuany-justify-between chuany-font30">
+ <text class=''>
+ 鎵撳崱鏃ユ湡锛歿{$util.formatDate(item.workDate)}}
</text>
</view>
- <text class="chuany-width50 c-p-t-20">
- 宸ヤ环锛�0.5鍏�/浠�
- </text>
- <view class="chuany-width50 chuany-flex c-p-t-20">
- <text>
- 鏁伴噺锛�
- </text>
- <up-input style="padding: 0;" size='mini' border="surround"></up-input>
- </view>
- <view class="chuany-width50 c-p-t-20">
- <text>
- 褰撴棩宸ヨ祫锛�136鍏�
- </text>
- </view>
- <view class="chuany-width50 c-p-t-20">
- <view class="chuany-width10">
- <up-button class="button-layout__item" text="宸ヨ祫鐢虫姤" size="mini" type="warning"></up-button>
+ <view class="c-p-20">
+ <view class="chuany-flex chuany-justify-between">
+ <text class="chuany-font32">
+ {{item.suppliername}}
+ </text>
+ <view class="chuany-flex chuany-justify-between">
+ <!-- <text class="c-p-r-20">
+
+ </text> -->
+ <!-- <up-tag class='c-m-r-10' :text="item.isShenPiName" shape="circle" type="success" plain
+ plainFill size='mini'></up-tag> -->
+ <view class="chuany-width10" v-if="item.isShenPi==0">
+ <!-- v-if="item.isShenPiName!=='宸茬粨绠�'" -->
+ <up-button class="button-layout__item"
+ :text="item.workerType==0?'缁撴潫浠婃棩宸ヤ綔':'璁′欢鐢虫姤'" size="mini"
+ :loading='item.isLoading' :loadingText="item.workerType==0?'缁撴潫涓�':'鐢虫姤涓�'"
+ @click.stop='saveDakaDetail(item)' type="warning"></up-button>
+ </view>
+ <up-text v-else type="success" :text="item.isShenPiName" size='14'></up-text>
+ <!-- <up-tag text="宸茬‘璁�" shape="circle" type="success" plain plainFill size='mini'></up-tag> -->
+ </view>
+ </view>
+ <view class="text-69 chuany-font28 c-p-t-8">
+ 鎵撳崱璁板綍锛歿{item.dakaMingxi}}
+ </view>
+ <view
+ class="chuany-flex chuany-justify-between chuany-flex-wrap c-p-t-8 text-69 chuany-font28">
+ <text class="chuany-width48">
+ 鏃堕暱锛歿{item.workTime}}
+ </text>
+ <!-- <view class="chuany-width48">
+ <text>
+ 鏂瑰紡锛歿{item.workerTypeName}}
+ </text>
+ </view> -->
+ <text class="chuany-width48 ">
+ 宸ヤ环锛歿{item.workPrice}}{{item.workerType==0?'鍏�/灏忔椂':'鍏�/浠�'}}
+ </text>
+ <view class="chuany-width48 chuany-flex c-p-t-8" v-if="item.workerType==1">
+ <text>
+ 鏁伴噺锛�
+ </text>
+ <up-input v-if="item.isShenPi==0" type="digit" style="padding: 0;" size='mini'
+ border="surround"
+ @blur='(val) => {item.todaySalary=$util.roundToTwo(item.workCount*item.workPrice)}'
+ v-model="item.workCount"></up-input>
+ <text v-else>{{item.workCount}}</text>
+ </view>
+ <view class="chuany-width48 c-p-t-8">
+ <text>
+ 宸ヨ祫锛歿{item.todaySalary}}鍏�
+ </text>
+ </view>
+ <view class="chuany-width48 c-p-t-8">
+ <!-- <view class="chuany-width10" v-if="item.isShenPi==0"> -->
+ <!-- v-if="item.isShenPiName!=='宸茬粨绠�'" -->
+ <!-- <up-button class="button-layout__item"
+ :text="item.workerType==0?'缁撴潫浠婃棩宸ヤ綔':'璁′欢鐢虫姤'" size="mini"
+ :loading='item.isLoading' :loadingText="item.workerType==0?'缁撴潫涓�':'鐢虫姤涓�'"
+ @click.stop='saveDakaDetail(item)' type="warning"></up-button> -->
+ <!-- </view> -->
+ </view>
</view>
</view>
</view>
</view>
+ <!-- <view class="listrecord c-p-18">
+ <view class="coreshop-ff chuany-bradius20">
+ <view class="bgblue c-p-18 chuany-flex chuany-justify-between chuany-font30">
+ <text class=''>
+ 鏃ユ湡锛�2024-08-12
+ </text>
+ </view>
+ <view class="c-p-26">
+ <view class="chuany-flex chuany-justify-between">
+ <text class="chuany-font32 ">
+ 涓存椂宸�
+ </text>
+ <view class="chuany-flex chuany-justify-between">
+ <text class="c-p-r-20">
+
+ </text>
+ <up-tag class='c-m-r-10' text="鏈粨绠�" shape="circle" type="warning" plain plainFill
+ size='mini'></up-tag>
+ <up-tag text="鏈‘璁�" shape="circle" type="warning" plain plainFill size='mini'></up-tag>
+ </view>
+ </view>
+ <view class="c-p-t-20">
+ 鎵撳崱璁板綍锛�08:00-12:00 13:00-17:00
+ </view>
+ <view class="chuany-flex chuany-justify-between c-p-t-20">
+
+ </view>
+ <view class="chuany-flex chuany-justify-between chuany-flex-wrap c-p-t-20">
+ <text class="chuany-width48">
+ 宸ヤ綔鏃堕暱锛�8灏忔椂
+ </text>
+ <view class="chuany-width48">
+ <text>
+ 鏂瑰紡锛氳浠�
+ </text>
+ </view>
+ <text class="chuany-width48 c-p-t-20">
+ 宸ヤ环锛�0.5鍏�/浠�
+ </text>
+ <view class="chuany-width48 chuany-flex c-p-t-20">
+ <text>
+ 鏁伴噺锛�
+ </text>
+ <up-input style="padding: 0;" size='mini' border="surround"></up-input>
+ </view>
+ <view class="chuany-width48 c-p-t-20">
+ <text>
+ 褰撴棩宸ヨ祫锛�136鍏�
+ </text>
+ </view>
+ <view class="chuany-width48 c-p-t-20">
+ <view class="chuany-width10">
+ <up-button class="button-layout__item" text="宸ヨ祫鐢虫姤" size="mini"
+ type="warning"></up-button>
+ </view>
+ </view>
+ </view>
+ </view>
+ </view>
+ </view> -->
+ <up-loadmore :status="loadStatus" />
+ </view>
+ <view v-else>
+ <up-empty text='鏆傛棤' icon="/static/order.png">
+ </up-empty>
+ </view>
+ <fui-date-picker :show="datePickerShow" range :value="$util.formatDate(new Date())" type="3"
+ @change="changePicker" @cancel="cancel"></fui-date-picker>
+ <view class="tabbtns">
+ 鍚堣锛歿{heji}} 鍏�
</view>
</view>
-
</view>
</template>
-<script setup>
- import {
- ref
- } from 'vue'
- let value15 = ref('')
- const list = ref(['鍏ㄩ儴', '鏈粨绠�', '宸茬粨绠�']);
- const sectionChange = (index) => {
- current4.value = index;
+<script>
+ export default {
+ data() {
+ return {
+ pageIndex: 1,
+ pageSize: 20,
+ Suppliername: '',
+ wordDate: '',
+ isJieSuan: false,
+ list: ['鍏ㄩ儴', '鏈粨绠�', '宸茬粨绠�'],
+ datePickerShow: false,
+ viewList: [],
+ loadStatus: 'loadmore',
+ isLoading: false,
+ heji: '',
+ WordDateStart: '', //宸ヤ綔鏃ユ湡寮�濮�
+ WordDateEnd: '' //宸ヤ綔鏃ユ湡缁撴潫
+ }
+ },
+ onLoad() {
+ this.PostMyDakaListPage();
+ },
+ onReachBottom() {
+ if (this.loadStatus != 'nomore') {
+ this.PostMyDakaListPage();
+ }
+ },
+ onPullDownRefresh() {
+ this.wordDate = ''
+ this.WordDateStart = '' //宸ヤ綔鏃ユ湡寮�濮�
+ this.WordDateEnd = '' //宸ヤ綔鏃ユ湡缁撴潫
+ this.Suppliername = ''
+ this.init()
+ uni.stopPullDownRefresh();
+ },
+ methods: {
+ init() {
+ this.pageIndex = 1
+ this.pageSize = 20
+ this.loadStatus = 'loadmore'
+ this.PostMyDakaListPage();
+ },
+ sectionChange(val) {
+ switch (val) {
+ case 0:
+ this.isJieSuan = null
+ break;
+ case 1:
+ this.isJieSuan = false
+ break;
+ case 2:
+ this.isJieSuan = true
+ break;
+ }
+ this.init()
+ },
+ saveDakaDetail(item) {
+ if (item.workerType == 1 && !item.workCount) {
+ this.$util.showToast({
+ title: '璇峰~鍐欐暟閲忥紒',
+ icon: 'error'
+ })
+ return
+ }
+ let obj = {
+ orderBiddingDetailId: item.orderBiddingDetailId, //鎷涘伐鎵撳崱Id
+ workTime: item.workTime, //宸ヤ綔鏃堕暱
+ todaySalary: item.todaySalary //褰撴棩宸ヨ祫
+ }
+ if (item.workCount) {
+ obj.workCount = item.workCount
+ }
+ item.isLoading = true
+ this.$api.saveDakaDetail(obj).then(res => {
+ if (res.code == 1) {
+ this.$util.showToast({
+ title: item.workerType == 0 ? '缁撴潫浠婃棩宸ヤ綔鎴愬姛锛�' : '璁′欢鐢虫姤鎴愬姛锛�',
+ icon: 'success'
+ })
+ this.init()
+ } else {
+ this.$util.showToast({
+ title: res.error ? res.error : '澶辫触锛�'
+ })
+ }
+ item.isLoading = false
+ })
+ },
+ PostMyDakaListPage() {
+ let data = {
+ pageIndex: this.pageIndex,
+ pageSize: this.pageSize,
+ isJieSuan: this.isJieSuan
+ }
+ if (this.wordDate) {
+ data.WordDateStart = this.WordDateStart //宸ヤ綔鏃ユ湡寮�濮�
+ data.WordDateEnd = this.WordDateEnd //宸ヤ綔鏃ユ湡缁撴潫
+ }
+ if (this.Suppliername) {
+ data.Suppliername = this.Suppliername
+ }
+ this.$api.PostMyDakaListPage(data).then(res => {
+ if (res.code == 1) {
+ this.heji = res.data.heji
+ if (this.pageIndex == 1) {
+ this.viewList = res.data.items
+ } else {
+ this.viewList = this.viewList.concat(...res.data.items)
+ }
+ console.log(this.viewList, this.viewList.length, 'this.viewList');
+ this.viewList.forEach(item => {
+ item.isLoading = false
+ })
+ // totalPages.value = res.data.totalCount
+ // 鏍规嵁count鏁伴噺鍒ゆ柇鏄惁杩樻湁鏁版嵁
+ if (res.data.totalCount > this.viewList.length) {
+ this.loadStatus = 'loadmore'
+ this.pageIndex++
+ } else {
+ // 鏁版嵁宸插姞杞藉畬姣�
+ this.loadStatus = 'nomore'
+ }
+ }
+ })
+ },
+ changePicker(val) {
+ this.wordDate = val.startDate.result + '鑷�' + val.endDate.result
+ this.WordDateStart = new Date(val.startDate.result) //宸ヤ綔鏃ユ湡寮�濮�
+ this.WordDateEnd = new Date(val.endDate.result) //宸ヤ綔鏃ユ湡缁撴潫
+ this.datePickerShow = false
+ this.PostMyDakaListPage()
+ console.log(this.wordDate, this.WordDateStart, this.WordDateEnd, this.Suppliername);
+ },
+ cancel() {
+ this.datePickerShow = false
+ },
+ clickIcon() {
+ this.datePickerShow = true
+ },
+ jumpWorkDetail(item) {
+ uni.navigateTo({
+ url: `/pages/checkin/workdetail?id=${item.orderBiddingDetailId}`
+ })
+ }
+ }
}
</script>
--
Gitblit v1.9.1