From 21c2a7c125a5d07ad87fd7a266a697f61d0fdefd Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期一, 30 三月 2026 10:02:11 +0800
Subject: [PATCH] Merge branch 'Dev' of http://101.37.171.70:10101/r/~jhz/STUWMS into Dev
---
pages/ZLGL/OA_WorkLink/OA_WorkLinkBillQuery.vue | 253 ++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 240 insertions(+), 13 deletions(-)
diff --git a/pages/ZLGL/OA_WorkLink/OA_WorkLinkBillQuery.vue b/pages/ZLGL/OA_WorkLink/OA_WorkLinkBillQuery.vue
index 90d94b8..7dfca05 100644
--- a/pages/ZLGL/OA_WorkLink/OA_WorkLinkBillQuery.vue
+++ b/pages/ZLGL/OA_WorkLink/OA_WorkLinkBillQuery.vue
@@ -1,5 +1,45 @@
<template>
<view>
+ <view class="page-header">
+ <view class="search-item">
+ <view class="left">鏃ユ湡闂撮殧</view>
+ <view class="right">
+ <picker mode="selector" :value="curDateGap" :range="dateRangePicker"
+ @change="onDateRangePickerChangeHandler">
+ <input disabled v-model="curDateGap" placeholder="璇烽�夋嫨鏃ユ湡闂撮殧" />
+ <view class="picker-overlay"></view>
+ </picker>
+
+ </view>
+ </view>
+ <view class="search-item">
+ <view class="left">寮�濮嬫棩鏈�</view>
+ <view class="right">
+ <uni-datetime-picker :clear-icon="false" type="date" v-model="startDate"
+ :disabled="!enableCustomDateRange">
+ <view class="datetime-picker-inner"
+ :class="enableCustomDateRange?'font__enable':'font__disable'">
+ <text>{{ startDate }}</text>
+ </view>
+ </uni-datetime-picker>
+ </view>
+ </view>
+ <view class="search-item">
+ <view class="left">缁撴潫鏃ユ湡</view>
+ <view class="right">
+ <uni-datetime-picker :clear-icon="false" type="date" v-model="endDate"
+ :disabled="!enableCustomDateRange">
+ <view class="datetime-picker-inner"
+ :class="enableCustomDateRange?'font__enable':'font__disable'">{{ endDate }}</view>
+ </uni-datetime-picker>
+ </view>
+ </view>
+
+ <view class="button-groups">
+ <button type="default" size="mini" class="btn-c" @tap.stop="onSearchClickHandler">鏌ヨ</button>
+ <button type="default" size="mini" class="btn-a" @tap.stop="onResetClickHandler">閲嶇疆</button>
+ </view>
+ </view>
<view class="tabs" id="tabs">
<view :class="tabs == 0 ? 'on':''" @tap="switchTab(0)">鏈娑堟伅</view>
<view :class="tabs == 1 ? 'on':''" @tap="switchTab(1)">鎴戞帴鏀剁殑</view>
@@ -8,6 +48,9 @@
</view>
<!-- 宸ヤ綔鑱旂郴鍗� 鍒楄〃 -->
+ <view>
+
+ </view>
<view class="list" v-for="(item,index) in BillsDisplay" :key="index">
<uni-card :title="item.鍒跺崟鏃ユ湡.substr(0,10)" :extra="item.鍗曟嵁鍙�" style="margin: 10px;"
@tap="showDetail = showDetail==index?-1:index">
@@ -61,7 +104,13 @@
</view>
</uni-card>
</view>
- <view class="over" v-if="BillsDisplay.length == 0">鏆傛棤鏁版嵁</view>
+ <template v-if="BillsDisplay.length == 0">
+ <view class="over">鏆傛棤鏁版嵁</view>
+ </template>
+ <template v-else>
+ <view class="over" v-if="!readCompelete">姝e湪鑾峰彇鏁版嵁...</view>
+ <view class="over" v-if="readCompelete">娌℃湁鏇村鏁版嵁...</view>
+ </template>
</view>
</template>
@@ -78,6 +127,12 @@
name: 'OA_WorkLinkBillQuery',
data() {
return {
+ dateRangePicker: ["浠绘剰闂撮殧", "浠婂ぉ", "杩戜袱澶�", "杩戜笁澶�", "杩戝洓澶�", "杩戜簲澶�", "杩戝叚澶�", "杩戜竷澶�", "杩�30澶�"],
+ curDateGap: "杩戜竷澶�",
+ enableCustomDateRange: false,
+ startDate: dayjs(new Date()).subtract(7, 'day').format('YYYY-MM-DD'),
+ endDate: dayjs(new Date()).format('YYYY-MM-DD'),
+
dayjs,
CommonUtils,
tabs: 0,
@@ -86,14 +141,83 @@
sWhere: "",
showDetail: -1,
operations: -1,
+ readCompelete: false,
+
+ page: 1,
+ size: 20,
+
};
},
+ // 瑙﹀簳鍔犺浇
+ onReachBottom() {
+ this.page++;
+ this.switchTab(this.tabs)
+ },
methods: {
+ onDateRangePickerChangeHandler({
+ detail
+ }) {
+ this.enableCustomDateRange = false
+ this.curDateGap = this.dateRangePicker[detail.value]
+ let date = new Date()
+ switch (this.curDateGap) {
+ case "浠婂ぉ":
+ this.startDate = dayjs(date).format("YYYY-MM-DD")
+ break;
+ case "杩戜竴澶�":
+ this.startDate = dayjs(date).subtract(1, 'day').format("YYYY-MM-DD")
+ break;
+ case "杩戜袱澶�":
+ this.startDate = dayjs(date).subtract(2, 'day').format("YYYY-MM-DD")
+ break;
+ case "杩戜笁澶�":
+ this.startDate = dayjs(date).subtract(3, 'day').format("YYYY-MM-DD")
+ break;
+ case "杩戝洓澶�":
+ this.startDate = dayjs(date).subtract(4, 'day').format("YYYY-MM-DD")
+ break;
+ case "杩戜簲澶�":
+ this.startDate = dayjs(date).subtract(5, 'day').format("YYYY-MM-DD")
+ break;
+ case "杩戝叚澶�":
+ this.startDate = dayjs(date).subtract(6, 'day').format("YYYY-MM-DD")
+ break;
+ case "杩戜竷澶�":
+ this.startDate = dayjs(date).subtract(7, 'day').format("YYYY-MM-DD")
+ break;
+ case "杩�30澶�":
+ this.startDate = dayjs(date).subtract(30, 'day').format("YYYY-MM-DD")
+ break;
+ }
+ if (this.curDateGap == '浠绘剰闂撮殧') {
+ this.enableCustomDateRange = true
+ }
+ },
+ onSearchClickHandler() {
+ this.BillsDisplay = []
+ this.switchTab(this.tabs)
+ },
+ onResetClickHandler() {
+ this.dateRangePicker = ["浠绘剰闂撮殧", "浠婂ぉ", "杩戜袱澶�", "杩戜笁澶�", "杩戝洓澶�", "杩戜簲澶�", "杩戝叚澶�", "杩戜竷澶�", "杩�30澶�"],
+ this.curDateGap = "杩戜竷澶�",
+ this.enableCustomDateRange = false,
+ this.startDate = dayjs(new Date()).subtract(7, 'day').format('YYYY-MM-DD'),
+ this.endDate = dayjs(new Date()).format('YYYY-MM-DD'),
+ this.onSearchClickHandler()
+ },
switchTab(tabIndex) {
- this.tabs = tabIndex
+ if(tabIndex == this.tabs){
+
+ }else {
+ this.tabs = tabIndex
+ this.BillsDisplay= []
+ this.page = 1
+ }
+ this.sWhere = ''
switch (tabIndex) {
case 0:
- this.sWhere = ` and (鎺ユ敹浜� = '${getUserInfo()['HEmpName']}' or 鎶勯�佹帴鏀朵汉 = '${getUserInfo()['HEmpName']}') and 闃呰鐘舵�� = '鏈槄'`
+ this.sWhere =
+ ` and (鎶勯�佹帴鏀朵汉 = '${getUserInfo()['HEmpName']}') and 闃呰鐘舵�� = '鏈槄'`
break;
case 1:
this.sWhere = ` and 鎺ユ敹浜� = '${getUserInfo()['HEmpName']}'`
@@ -110,12 +234,20 @@
this.getWorkLinkList()
},
async getWorkLinkList() {
+ this.sWhere +=
+ ` and 鏃ユ湡 >= CONVERT(VARCHAR(10), '${this.startDate}', 23) and 鏃ユ湡 <= CONVERT(VARCHAR(10), '${this.endDate}', 23)`
try {
+ // TODO: 璋冩暣涓哄瓨鍌ㄨ繃绋嬪垎椤垫帴鍙�
let res = await CommonUtils.doRequest2Async({
- url: 'Sc_MESTransFerWorkBill/GetOA_WorkLinkBillList',
+ url: 'Sc_MESTransFerWorkBill/GetOA_WorkLinkBillListProcess',
data: {
- sWhere: this.sWhere,
- user: getUserInfo()["Czymc"]
+ // sWhere: this.sWhere,
+ beginDate: this.startDate,
+ endDate: this.endDate,
+ type: this.tabs + 1,
+ user: getUserInfo()["HEmpName"] || getUserInfo()["Czymc"],
+ page: this.page,
+ size: this.size
}
})
@@ -127,8 +259,16 @@
} = res.data
if (count == 1) {
console.log('data: ', data);
-
- this.BillsDisplay = data
+ if(data.length == 0) {
+ // 褰撹幏鍙栫殑鏁版嵁闀垮害涓�0鏃讹紝琛ㄧず棰勫厛澧炲姞鐨勯〉鏁颁笉瀵癸紝闇�瑕佸噺鍘�
+ if(this.page > 1) {
+ this.page--
+ }
+ }
+ if(data.length == 0 || data.length <= this.size) {
+ this.readCompelete = true
+ }
+ this.BillsDisplay.push(...data)
let fieldList = CommonUtils.fieldListFilterRole({
@@ -159,7 +299,7 @@
}
},
displayDetail(item) {
- console.log('item: ',item);
+ console.log('item: ', item);
uni.showModal({
title: `${item["涓婚"]}`,
content: `${item["鍐呭"]}`,
@@ -188,7 +328,7 @@
Message
} = res.data
if (count == 1) {
- this.switchTab(this.tabs)
+ this.onSearchClickHandler()
} else {
CommonUtils.showTips({
title: '娓╅Θ鎻愮ず',
@@ -204,13 +344,13 @@
},
reply(item) {
uni.navigateTo({
- url: `/pages/ZLGL/OA_WorkLink/OA_WorkLinkBill?HInterID=${item.hmainid}`
- + `&HEntryID=${item.HEntryID}&operationType=5`
+ url: `/pages/ZLGL/OA_WorkLink/OA_WorkLinkBill?HInterID=${item.hmainid}` +
+ `&HEntryID=${item.HEntryID}&operationType=5`
})
}
},
onShow() {
- this.switchTab(0)
+ this.onSearchClickHandler()
}
}
</script>
@@ -269,4 +409,91 @@
color: #888;
}
}
+
+ .page-header {
+ display: flex;
+ box-sizing: border-box;
+ padding: 20rpx;
+ flex-direction: column;
+ gap: 10rpx;
+ font-size: 32rpx;
+
+ .search-item {
+ display: flex;
+ flex-direction: row;
+ gap: 10rpx;
+ justify-content: center;
+ align-items: center;
+
+ .left {
+ width: 4em;
+ }
+
+ .right {
+ flex: 1;
+ position: relative;
+ border-radius: 22rpx;
+ border: 1px solid #acacac;
+ display: flex;
+ padding: 4rpx 10rpx;
+
+ picker {
+ width: 100%;
+ }
+ }
+ }
+
+ input {
+ width: inherit;
+ padding: 8rpx 20rpx;
+ font-size: 30rpx;
+ }
+
+ .datetime-picker-inner {
+ padding: 8rpx 20rpx;
+ font-size: 30rpx;
+ display: flex;
+ align-items: center;
+ }
+
+ .font__enable {
+ color: #000;
+ }
+
+ .font__disable {
+ color: #cccccc;
+ }
+ }
+
+ .button-groups {
+ box-sizing: border-box;
+ padding: 10rpx 0 0 0;
+ display: flex;
+ flex-direction: row;
+ gap: 10rpx;
+ justify-content: space-between;
+
+ button {
+ border-radius: 50rpx;
+ width: 180rpx;
+ height: 66rpx;
+ line-height: 66rpx;
+ font-size: 28rpx;
+ }
+
+ .btn-a {
+ background-color: #acacac;
+ color: #fff;
+ }
+
+ .btn-b {
+ background-color: #41a863;
+ color: #fff;
+ }
+
+ .btn-c {
+ background-color: #3a78ff;
+ color: #fff;
+ }
+ }
</style>
\ No newline at end of file
--
Gitblit v1.9.1