From 7eca0ab1b6d5142d623efd471985b2a20b559616 Mon Sep 17 00:00:00 2001
From: 小飞侠 <8277136+liaoxujun@user.noreply.gitee.com>
Date: 星期一, 01 十二月 2025 10:55:02 +0800
Subject: [PATCH] 修正审批备注长度
---
cylsg/cylsg.Application/CyOS/CyOSBaoXiaoCaiWuController.cs | 2
AdminwebPages/adminpageView/src/views/cylsgPayrollReport.vue | 419 +++++++++++++++++++++-------------
AdminwebPages/adminpageView/src/Api/apis.ts | 192 +++++++++------
cylsg/cylsg.Web.Entry/appsettings.json | 8
cylsg/cylsg.Application/CyOS/CyOSBaoXiaoZHuGuanController.cs | 14
cylsg/cylsg.Model/ECTEModel/OaWorkPlanShenpi.cs | 2
cylsg/cylsg.Application/Transfer/UserTransfer.cs | 53 ++-
7 files changed, 421 insertions(+), 269 deletions(-)
diff --git a/AdminwebPages/adminpageView/src/Api/apis.ts b/AdminwebPages/adminpageView/src/Api/apis.ts
index e1fac99..7a46f07 100644
--- a/AdminwebPages/adminpageView/src/Api/apis.ts
+++ b/AdminwebPages/adminpageView/src/Api/apis.ts
@@ -1,220 +1,264 @@
+import type { EzResult } from './EzApiBaseTypes'
+import axios from 'axios'
-import type { EzResult } from "./EzApiBaseTypes";
-import axios from "axios";
-
- /** 鑾峰彇DFlFunInfo鍒楄〃 */
- export const GetTransferOrder=(data:Request) => {
-
-
- return axios.post<EzResult<RetPageDataWeChatTransferOrder>>("https://yocaisim.51zhengcai.com/api/UserTransfer/GetTransferOrder", data);
- };
+const PYTestr = 'https://yocaisim.51zhengcai.com' //'http://localhost:5000'
+// const PYTestr = 'http://localhost:5000'
+/** 鑾峰彇DFlFunInfo鍒楄〃 */
+export const GetTransferOrder = (data: SearchRequest) => {
+ return axios.post<EzResult<RetPageDataWeChatTransferOrder>>(
+ `${PYTestr}/api/UserTransfer/GetTransferOrder`,
+ data,
+ )
+}
+//http://127.0.0.1:4523/m1/5212733-4879059-default/api/UserTransfer/GetTransferOder
+export const GetTransferOderOfMain = (data: SearchRequestOfMian) => {
+ return axios.post<EzResult<RetPageDataWeChatTransferOrder>>(
+ `${PYTestr}/api/UserTransfer/GetTransferOder`,
+ data,
+ )
+}
+///api/UserTransfer/ReSendCreadTransferMoney 閲嶆柊鏀粯
+export const ReSendCreadTransferMoney = (id: number) => {
+ return axios.get<EzResult<boolean>>(
+ `${PYTestr}/api/UserTransfer/ReSendCreadTransferMoney?id=${id}`,
+ )
+}
/**
* SSPageByWhereOrder锛屾牴鎹畐here鏌ヨ鏉′欢鍜宱rder鎺掑簭鑾峰彇鍒楄〃
*/
-export interface Request {
- order?: SSOrder;
- page?: PageModel;
+export interface SearchRequest {
+ order?: SSOrder
+ page?: PageModel
/**
* 鍒ゆ柇鏉′欢 蹇呴』鏄痡son鏍煎紡鐨勫瓧绗︿覆{xxx:ddd}
*/
- where?: object | string;
+ where?: object | string
}
-
/**
-* SSOrder锛屾帓搴忔柟寮�
-*/
+ * SearchTransferOder
+ */
+export interface SearchRequestOfMian {
+ /**
+ * 鎼滅储鐘舵�佸�� 妯$硦鏌ヨ
+ */
+ batchStatus?: null | string
+ /**
+ * 鏄惁宸茬粡鎴愬姛鍙戣捣浜�
+ */
+ hasSendOk?: boolean
+ /**
+ * 鏄惁鐗规畩澶勭悊姣斿鏀粯澶辫触鍚庡凡缁忓鐞嗕负鍏朵粬鎯呭喌
+ */
+ isSetOK?: boolean | null
+ /**
+ * 鎺掗櫎鎼滅储鍊肩姸鎬� 瑕佹帓闄ょ殑鐘舵�佸�煎繀椤绘槸鍏ㄧО锛屽涓箣闂寸敤 鈥渱鈥濋棿闅�
+ */
+ noTBatchStatus?: null | string
+ /**
+ * 褰撳墠椤电爜
+ */
+ pageIndex?: number
+ /**
+ * 椤甸潰澶у皬
+ */
+ pageSize?: number
+}
+/**
+ * SSOrder锛屾帓搴忔柟寮�
+ */
export interface SSOrder {
- des?: OrderByType;
+ des?: OrderByType
/**
* 灞炴�у悕绉�
*/
- name?: null | string;
+ name?: null | string
}
/**
-* OrderByType
-*/
+ * OrderByType
+ */
export enum OrderByType {
- Asc = "Asc",
- Desc = "Desc",
+ Asc = 'Asc',
+ Desc = 'Desc',
}
/**
-* PageModel
-*/
+ * PageModel
+ */
export interface PageModel {
- pageIndex?: number;
- pageSize?: number;
- totalCount?: number;
+ pageIndex?: number
+ pageSize?: number
+ totalCount?: number
}
-
/**
-* RetPageData_WeChatTransferOrder锛岄�氱敤杩斿洖鍙傛暟
-*/
+ * RetPageData_WeChatTransferOrder锛岄�氱敤杩斿洖鍙傛暟
+ */
export interface RetPageDataWeChatTransferOrder {
/**
* 鏁版嵁
*/
- data?: WeChatTransferOrder[] | null;
- page?: PageModel;
+ data?: WeChatTransferOrder[] | null
+ listdata?: WeChatTransferOrder | null
+ page?: PageModel
}
/**
-* WeChatTransferOrder锛岃浆璐﹀崟璐︽ā鍨�
-*/
+ * WeChatTransferOrder锛岃浆璐﹀崟璐︽ā鍨�
+ */
export interface WeChatTransferOrder {
/**
* 閲嶆柊鏀粯璁㈠崟鍒楄〃
*/
- agWeChatTransferOrders?: WeChatTransferOrder[] | null;
+ agWeChatTransferOrders?: WeChatTransferOrder[] | null
/**
* 鑾峰彇鎴栬缃井淇℃壒娆″崟鍙枫��
*/
- batchId?: null | string;
+ batchId?: null | string
/**
* 鑾峰彇鎴栬缃壒娆$殑鍚嶇О銆�
* 绀轰緥: "2019骞�1鏈堟繁鍦冲垎閮ㄦ姤閿�鍗�"
*/
- batchName?: null | string;
+ batchName?: null | string
/**
* 鑾峰彇鎴栬缃壒娆$殑澶囨敞銆�
* 绀轰緥: "2019骞�1鏈堟繁鍦冲垎閮ㄦ姤閿�鍗�"
*/
- batchRemark?: null | string;
+ batchRemark?: null | string
/**
* 鑾峰彇鎴栬缃壒娆$姸鎬併��
*/
- batchStatus?: null | string;
+ batchStatus?: null | string
/**
* 鑾峰彇鎴栬缃叧闂壒娆$殑鍘熷洜銆�
* 绀轰緥: "OVERDUE_CLOSE"
*/
- closeReason?: null | string;
+ closeReason?: null | string
/**
* 鍒涘缓浜�
*/
- createBy?: null | string;
+ createBy?: null | string
/**
* 鍒涘缓鏃堕棿
*/
- createTime?: Date | null;
+ createTime?: string | null
/**
* 閿欒鏍囪瘑
*/
- errorCode?: null | string;
+ errorCode?: null | string
/**
* 閿欒娑堟伅
*/
- errorMsg?: null | string;
+ errorMsg?: null | string
/**
* 鑾峰彇鎴栬缃壒娆′腑鐨勫け璐ユ�婚噾棰濄��
* 绀轰緥: 100000
*/
- failAmount?: number | null;
+ failAmount?: number | null
/**
* 鑾峰彇鎴栬缃壒娆′腑鐨勫け璐ラ」鐩暟銆�
* 绀轰緥: 1
*/
- failNum?: number | null;
+ failNum?: number | null
/**
* ID
*/
- id?: number;
+ id?: number
/**
* 鏄惁鍒犻櫎
*/
- isDeleted?: boolean;
+ isDeleted?: boolean
/**
* 鏄惁鏈夋晥
*/
- isEn?: boolean;
+ isEn?: boolean
/**
* 鏄惁宸茬粡瀹屾垚澶勭悊 榛樿鏈鐞�
*/
- isSetOK?: boolean;
+ isSetOK?: boolean | null
/**
* 鑾峰彇鎴栬缃晢鎴锋壒娆″崟鍙枫��
*/
- outBatchNumber?: null | string;
+ outBatchNumber?: null | string
/**
* 鏍囨敞
*/
- remake?: null | string;
+ remake?: null | string
/**
* 鍐嶆鍙戣捣鏃� 鐨勬弿杩�
*/
- remakeDes?: null | string;
+ remakeDes?: null | string
/**
* 鎺掑簭
*/
- sort?: number | null;
+ sort?: number | null
/**
* 鑾峰彇鎴栬缃壒娆′腑鐨勬垚鍔熸�婚噾棰濄��
* 绀轰緥: 3900000
*/
- successAmount?: number | null;
+ successAmount?: number | null
/**
* 鑾峰彇鎴栬缃壒娆′腑鐨勬垚鍔熼」鐩暟銆�
* 绀轰緥: 199
*/
- successNum?: number | null;
+ successNum?: number | null
/**
* 绉熸埛
*/
- tenantID?: number | null;
+ tenantID?: number | null
/**
* 鑾峰彇鎴栬缃壒娆′腑鐨勬�婚噾棰濄��
* 绀轰緥: 4000000
*/
- totalAmount?: number | null;
+ totalAmount?: number | null
/**
* 鑾峰彇鎴栬缃壒娆′腑鐨勯」鐩�绘暟銆�
* 绀轰緥: 200
*/
- totalNum?: number | null;
+ totalNum?: number | null
/**
* 鑾峰彇鎴栬缃浆璐﹀満鏅爣璇嗙銆�
* 绀轰緥: "1000"
*/
- transferSceneId?: null | string;
+ transferSceneId?: null | string
/**
* 淇敼浜�
*/
- upDataBy?: null | string;
+ upDataBy?: null | string
/**鏃堕棿绛涢�夋暟缁� */
- DataTime?:Date[]|string;
+ DataTime?: Date[] | string
+ createDataTime?: Date[] | string
/**
* 淇敼鏃堕棿
*/
- upDataTime?: string | null;
+ upDataTime?: string | null
/**
* 鐢ㄦ埛ID銆�
*/
- userID?: number;
+ userID?: number
/**
* 鐢ㄦ埛韬唤璇�
*/
- userIDCode?: null | string;
+ userIDCode?: null | string
/**
* 鍚嶅瓧
*/
- userName?: null | string;
+ userName?: null | string
/**
* 鏄惁閲嶆柊鍙戣捣鏀粯锛屽綋鏀粯澶辫触鍚庯紝瓒呭嚭閲嶆柊鐨勬敮浠樺崟澶辫触鍚庯紝闇�瑕侀噸鏂版洿鎹㈠崟鍙烽噸鏂板彂璧锋柊鐨勬敮浠樿姹傦紝閲嶆柊鍙戣捣鏀粯璇锋眰鍗�
*/
- weChatTransferOrderPrId?: number | null;
+ weChatTransferOrderPrId?: number | null
- YiTiXianGz?:number
+ YiTiXianGz?: number
- ZhongGz?:number
- itCode?:string|null
+ ZhongGz?: number
+ itCode?: string | null
+ /**
+ * 鏄惁宸茬粡鍙戦�佹垚鍔�
+ */
+ hasSendOk?: boolean | null
}
-
-
-
-
diff --git a/AdminwebPages/adminpageView/src/views/cylsgPayrollReport.vue b/AdminwebPages/adminpageView/src/views/cylsgPayrollReport.vue
index 081f7a0..df466bb 100644
--- a/AdminwebPages/adminpageView/src/views/cylsgPayrollReport.vue
+++ b/AdminwebPages/adminpageView/src/views/cylsgPayrollReport.vue
@@ -3,7 +3,7 @@
* @Author: 灏忛渚�
* @Date: 2025-03-17 09:45:10
* @LastEditors: Please set LastEditors
- * @LastEditTime: 2025-03-27 13:24:58
+ * @LastEditTime: 2025-10-24 17:12:56
* Copyright: 2025 MinTinge CO.,LTD. All Rights Reserved.
* @Descripttion: 鍐欏叆浣犵殑鎻忚堪
-->
@@ -18,64 +18,74 @@
-->
<!-- -->
<template>
- <div style="max-width: 1440px; margin: 0 auto">
-
+ <div style=" margin: 0 auto">
<el-card>
<PlusForm v-model="formdata" :columns="FromColumns" :row-props="{ gutter: 100 }" :col-props="{
- span: 5
+ span: 5,
}" @submit="mysubmit">
<template #footer="{ handleSubmit }">
<div style="margin: 0 auto">
<el-button type="primary" @click="handleSubmit">鎼滅储</el-button>
+
+ <el-button type="error" @click="RePayFun" :disabled="!canRePay">閲嶆柊鏀粯</el-button>
</div>
</template>
</PlusForm>
</el-card>
<PlusTable ref="plusTableInstance" :columns="tableConfig" :table-data="tableData" table-title="琛ㄦ牸" show-summary
- :summary-method="getSummaries" :pagination="{ total, modelValue: pageInfo }"
- @paginationChange="handlePaginationChange" adaptive />
+ :summary-method="getSummaries"
+ :pagination="{ total, modelValue: pageInfo, pageSizeList: [30, 40, 50, 100, 200, 300, 400, 500] }"
+ @paginationChange="handlePaginationChange" adaptive :is-selection="true" has-index-column
+ @selection-change="handleSelectionChange" row-key="id" />
+
</div>
</template>
-<script setup lang='tsx'>
-import { GetTransferOrder, OrderByType, type WeChatTransferOrder } from '@/Api/apis';
-import moment from 'moment';
-import type { PlusColumn, PlusTableInstance, PageInfo } from 'plus-pro-components'
+<script setup lang="tsx">
+import {
+ GetTransferOderOfMain,
+ GetTransferOrder,
+ OrderByType,
+ ReSendCreadTransferMoney,
+ type WeChatTransferOrder,
+} from '@/Api/apis'
+import { ElMessage } from 'element-plus'
+import moment from 'moment'
+import type { PageInfo, PlusColumn } from 'plus-pro-components'
import { useTable } from 'plus-pro-components'
-import { h, onMounted, ref, type VNode } from 'vue'
+import { computed, h, onMounted, ref, watch, type VNode } from 'vue'
const formdata = ref<WeChatTransferOrder>({
userName: null,
userIDCode: null,
DataTime: [],
- itCode: null
-
+ itCode: null,
+ isSetOK: null,
+ hasSendOk: null,
+ createDataTime: [],
})
-
+const multipleSelection = ref<WeChatTransferOrder[]>([])
const FromColumns: PlusColumn[] = [
{
label: '濮撳悕',
prop: 'userName',
labelWidth: 60,
-
},
{
label: '韬唤璇佸彿鐮�',
labelWidth: 100,
- prop: 'userIDCode'
- }
- ,
+ prop: 'userIDCode',
+ },
{
label: '鐢佃瘽鍙风爜',
labelWidth: 100,
-
- prop: 'itCode'
+ prop: 'itCode',
},
{
- label: '鏀粯鏃堕棿',
+ label: '鏇存柊鏃堕棿',
labelWidth: 100,
width: 400,
colProps: {
- span: 8
+ span: 8,
},
prop: 'DataTime',
valueType: 'date-picker',
@@ -85,195 +95,279 @@
endPlaceholder: '璇烽�夋嫨缁撴潫鏃堕棿',
rangeSeparator: '-',
valueFormat: 'YYYY-MM-DDTHH:mm:ss',
-
},
-
-
-
- }
+ },
+ {
+ label: '鍒涘缓鏃堕棿',
+ labelWidth: 100,
+ width: 400,
+ colProps: {
+ span: 8,
+ },
+ prop: 'createDataTime',
+ valueType: 'date-picker',
+ fieldProps: {
+ type: 'datetimerange',
+ startPlaceholder: '璇烽�夋嫨寮�濮嬫椂闂�',
+ endPlaceholder: '璇烽�夋嫨缁撴潫鏃堕棿',
+ rangeSeparator: '-',
+ valueFormat: 'YYYY-MM-DDTHH:mm:ss',
+ },
+ },
+ {
+ label: '鏀粯澶辫触',
+ labelWidth: 100,
+ prop: 'hasSendOk',
+ valueType: 'switch',
+ },
]
-const tableConfig = ref<PlusColumn[]>(
- [
- {
- label: '濮撳悕',
- prop: 'userName',
- width: 80
+const canRePay = computed(() => {
+ // 蹇呴』鏈夐�変腑椤癸紝涓旀墍鏈夐�変腑椤圭殑hasSendOk閮戒负true锛堟敮浠樺け璐ワ級
+ return multipleSelection.value.length > 0 &&
+ formdata.value.hasSendOk == true
+})
+const tableConfig = ref<PlusColumn[]>([
+ {
+ label: '濮撳悕',
+ prop: 'userName',
+ width: 70,
+ },
+ {
+ label: '韬唤璇�',
+ prop: 'userIDCode',
+ width: 162,
+ },
+ {
+ label: '鐢佃瘽鍙风爜',
+ prop: 'itCode',
+ width: 110,
+ },
+
+ {
+ width: 100,
+ label: '鎬婚搴�',
+ prop: 'totalAmount',
+ render: (value) => {
+ let formattedAmount = ((value ?? 0) / 100).toLocaleString('zh-CN', {
+ style: 'currency',
+ currency: 'CNY',
+ })
+
+ return <span>{formattedAmount}鍏� </span>
},
- {
- label: '韬唤璇�',
- prop: 'userIDCode',
- width: 170
+ },
+ {
+ width: 100,
+ label: '鎴愬姛棰濆害',
+ prop: 'successAmount',
+ sortable: true,
+ render: (value) => {
+ let formattedAmount = ((value ?? 0) / 100).toLocaleString('zh-CN', {
+ style: 'currency',
+ currency: 'CNY',
+ })
+ return <span>{formattedAmount}鍏� </span>
},
- {
- label: '鐢佃瘽鍙风爜',
- prop: 'itCode',
- width: 120
+ },
+ {
+ width: 100,
+ label: '澶辫触棰濆害',
+ prop: 'failAmount',
+ sortable: true,
+ render: (value) => {
+ let formattedAmount = ((value ?? 0) / 100).toLocaleString('zh-CN', {
+ style: 'currency',
+ currency: 'CNY',
+ })
+
+ return <span>{formattedAmount}鍏� </span>
},
+ },
-
- {
- width: 100,
- label: '鎬婚搴�',
- prop: 'totalAmount',
- render: (value) => {
-
- let formattedAmount = ((value ?? 0) / 100).toLocaleString('zh-CN', { style: 'currency', currency: 'CNY' });
-
- return <span>{formattedAmount}鍏�</span>
- }
-
-
+ {
+ width: 160,
+ label: '鏇存柊鏃堕棿',
+ prop: 'upDataTime',
+ render: (value) => {
+ return <span>{moment(value).format('YYYY-MM-DD HH:mm:ss')} </span>
},
-
- {
- width: 100,
- label: '鎴愬姛棰濆害',
- prop: 'successAmount',
- sortable: true,
- render: (value) => {
-
- let formattedAmount = ((value ?? 0) / 100).toLocaleString('zh-CN', { style: 'currency', currency: 'CNY' });
-
- return <span>{formattedAmount}鍏�</span>
- }
-
+ },
+ {
+ width: 160,
+ label: '鍒涘缓鏃堕棿',
+ prop: 'createTime',
+ render: (value) => {
+ return <span>{moment(value).format('YYYY-MM-DD HH:mm:ss')} </span>
},
- {
- width: 100,
- label: '澶辫触棰濆害',
- prop: 'failAmount',
- sortable: true,
- render: (value) => {
+ },
- let formattedAmount = ((value ?? 0) / 100).toLocaleString('zh-CN', { style: 'currency', currency: 'CNY' });
-
- return <span>{formattedAmount}鍏�</span>
- }
-
+ {
+ width: 80,
+ label: '琛ュ彂鍗�',
+ prop: 'weChatTransferOrderPrId',
+ render: (value) => {
+ const color = value > 0 ? 'red' : 'green';
+ return <span style={{ color }}>{value ? `鏄�${value}` : '鍚�'} </span>
},
+ },
+ {
+ label: '鑵捐鍗曞彿',
+ prop: 'batchId',
+ },
+ {
+ label: '瀹㈡埛鍗曞彿',
+ prop: 'outBatchNumber',
+ },
+ {
+ width: 160,
+ label: '鎬诲伐璧�',
+ prop: 'zhongGz',
+ render: (value) => {
+ let formattedAmount = (value ?? 0).toLocaleString('zh-CN', {
+ style: 'currency',
+ currency: 'CNY',
+ })
- {
- width: 180,
- label: '鎻愮幇鏃堕棿',
- prop: 'upDataTime',
- render: (value) => {
- return <span>{moment(value).format('YYYY-MM-DD HH:mm:ss')}</span>
- }
-
+ return <span>{formattedAmount}鍏� </span>
},
- {
+ },
+ {
+ width: 160,
+ label: '宸叉彁宸ヨ祫',
+ prop: 'yiTiXianGz',
+ render: (value) => {
+ let formattedAmount = (value ?? 0).toLocaleString('zh-CN', {
+ style: 'currency',
+ currency: 'CNY',
+ })
- label: '鑵捐鍗曞彿',
- prop: 'batchId'
-
+ return <span>{formattedAmount}鍏� </span>
},
- {
-
- label: '瀹㈡埛鍗曞彿',
- prop: 'outBatchNumber'
-
- },
- {
- width: 100,
- label: '鎬诲伐璧�',
- prop: 'zhongGz',
- render: (value) => {
-
- let formattedAmount = ((value ?? 0)).toLocaleString('zh-CN', { style: 'currency', currency: 'CNY' });
-
- return <span>{formattedAmount}鍏�</span>
- }
-
- },
- {
- width: 100,
- label: '宸叉彁宸ヨ祫',
- prop: 'yiTiXianGz',
- render: (value) => {
- let formattedAmount = ((value ?? 0)).toLocaleString('zh-CN', { style: 'currency', currency: 'CNY' });
-
- return <span>{formattedAmount}鍏�</span>
- }
-
- }
-
- ]
-);
-
+ },
+])
+const handleSelectionChange = (val: WeChatTransferOrder[]) => {
+ multipleSelection.value = val
+}
const { tableData, pageInfo, total, loadingStatus } = useTable<WeChatTransferOrder[]>()
+pageInfo.value.page = 1;
+pageInfo.value.pageSize = 40;
onMounted(() => {
- getList();
+ getList()
})
const getList = async () => {
loadingStatus.value = true
- if (formdata.value.DataTime && Array.isArray(formdata.value.DataTime) && formdata.value.DataTime.length === 2) {
- debugger
- formdata.value.upDataTime = `${formdata.value.DataTime[0]}~${formdata.value.DataTime[1].toString()}`;
- } else {
+ if (
+ formdata.value.DataTime &&
+ Array.isArray(formdata.value.DataTime) &&
+ formdata.value.DataTime.length === 2
+ ) {
+ formdata.value.upDataTime = `${formdata.value.DataTime[0]}~${formdata.value.DataTime[1].toString()}`
+ } else {
+ }
+ if (
+ formdata.value.createDataTime &&
+ Array.isArray(formdata.value.createDataTime) &&
+ formdata.value.createDataTime.length === 2
+ ) {
+ formdata.value.createTime = `${formdata.value.createDataTime[0]}~${formdata.value.createDataTime[1].toString()}`
+ } else {
+ }
+ if (formdata.value.hasSendOk == true) {
+ // 鏀粯澶辫触鐨勮〃
+ GetTransferOderOfMain({
+
+ pageIndex: pageInfo.value.page,
+ pageSize: pageInfo.value.pageSize,
+ hasSendOk: false,
+ isSetOK: false
+ })
+ .then((res) => {
+ if (res.data.code == 1) {
+ tableData.value = (res.data?.data?.listdata ?? []) as WeChatTransferOrder[]
+
+ total.value = res.data.data?.page?.totalCount as number
+ }
+ })
+ .finally(() => {
+ loadingStatus.value = false
+ })
+ return
}
GetTransferOrder({
page: { pageIndex: pageInfo.value.page, pageSize: pageInfo.value.pageSize },
- where: JSON.stringify(formdata.value),
- order:{
- name:"upDataTime",
- des:OrderByType.Desc
- }
-
- }).then((res) => {
-
- if (res.data.code == 1) {
- tableData.value = res.data.data?.data as WeChatTransferOrder[];
-
- total.value = res.data.data?.page?.totalCount as number;
- }
- }).finally(() => {
- loadingStatus.value = false
+ where: JSON.stringify(formdata.value),
+ order: {
+ name: 'upDataTime',
+ des: OrderByType.Desc,
+ },
})
+ .then((res) => {
+ if (res.data.code == 1) {
+ tableData.value = res.data.data?.data as WeChatTransferOrder[]
+ total.value = res.data.data?.page?.totalCount as number
+ }
+ })
+ .finally(() => {
+ loadingStatus.value = false
+ })
+}
+const RePayFun = async () => {
+ if (multipleSelection.value.length == 0) {
+ ElMessage.error('璇烽�夋嫨瑕侀噸鏂版敮浠樼殑璁板綍')
+ return
+ }
+ let ids = multipleSelection.value.map((x) => x.id)
+ for (let index = 0; index < ids.length; index++) {
+ const element = ids[index]
+ await ReSendCreadTransferMoney(element as number)
+ }
+ ElMessage.success('鏀粯瀹屾瘯鍒锋柊鍒楄〃')
+ loadingStatus.value = false
}
-
const mysubmit = () => {
- getList();
+ getList()
}
const getSummaries = (param: any) => {
const { columns, data } = param
const sums: (string | VNode)[] = []
- columns.forEach((column: { property: string | number; }, index: number) => {
+ columns.forEach((column: { property: string | number }, index: number) => {
if (index === 0) {
- sums[index] = h('div', { style: { textDecoration: 'underline' } }, [
- '缁熻',
- ])
+ sums[index] = h('div', { style: { textDecoration: 'underline' } }, ['缁熻'])
return
}
- if (column.property == "totalAmount") {
- const values = data.map((x:any) => x.totalAmount);
- let formattedAmount = (values.reduce((prev: any, cur: any) => prev + cur) / 100).toLocaleString('zh-CN', { style: 'currency', currency: 'CNY' });
+ if (column.property == 'totalAmount') {
+ const values = data.map((x: any) => x.totalAmount ?? 0)
+ let formattedAmount = (
+ values.reduce((prev: any, cur: any) => prev + cur) / 100
+ ).toLocaleString('zh-CN', { style: 'currency', currency: 'CNY' })
sums[index] = formattedAmount
return
}
-
- if (column.property == "successAmount") {
- const values = data.map((x: { successAmount: any; }) => x.successAmount);
- let formattedAmount = (values.reduce((prev: any, cur: any) => prev + cur) / 100).toLocaleString('zh-CN', { style: 'currency', currency: 'CNY' });
+ if (column.property == 'successAmount') {
+ const values = data.map((x: { successAmount: any }) => x.successAmount ?? 0)
+ let formattedAmount = (
+ values.reduce((prev: any, cur: any) => prev + cur) / 100
+ ).toLocaleString('zh-CN', { style: 'currency', currency: 'CNY' })
sums[index] = formattedAmount
return
}
- if (column.property == "failAmount") {
- const values = data.map((x: { failAmount: any; }) => x.failAmount);
- let formattedAmount = (values.reduce((prev: any, cur: any) => prev + cur) / 100).toLocaleString('zh-CN', { style: 'currency', currency: 'CNY' });
+ if (column.property == 'failAmount') {
+ const values = data.map((x: { failAmount: any }) => x.failAmount ?? 0)
+ let formattedAmount = (
+ values.reduce((prev: any, cur: any) => prev + cur) / 100
+ ).toLocaleString('zh-CN', { style: 'currency', currency: 'CNY' })
sums[index] = formattedAmount
return
}
})
-
-
return sums
}
@@ -281,6 +375,5 @@
pageInfo.value = _pageInfo
getList()
}
-
</script>
-<style lang='scss' scoped></style>
\ No newline at end of file
+<style lang="scss" scoped></style>
diff --git a/cylsg/cylsg.Application/CyOS/CyOSBaoXiaoCaiWuController.cs b/cylsg/cylsg.Application/CyOS/CyOSBaoXiaoCaiWuController.cs
index f7de6f2..73b41d9 100644
--- a/cylsg/cylsg.Application/CyOS/CyOSBaoXiaoCaiWuController.cs
+++ b/cylsg/cylsg.Application/CyOS/CyOSBaoXiaoCaiWuController.cs
@@ -173,7 +173,7 @@
AccountId = FirmAccount.Keyid,
Money = data.PlanMoney ?? 0,
LastUpdateTime = DateTime.Now,
- Department = data.PlanContent,
+ Department = data?.Depart?.Name??"",
RecordTypeId = 2,
SubjectId = 3,//鎶ラ攢蹇呴』涓�3
Operator = Permissions.Name,
diff --git a/cylsg/cylsg.Application/CyOS/CyOSBaoXiaoZHuGuanController.cs b/cylsg/cylsg.Application/CyOS/CyOSBaoXiaoZHuGuanController.cs
index 33c4b21..103387b 100644
--- a/cylsg/cylsg.Application/CyOS/CyOSBaoXiaoZHuGuanController.cs
+++ b/cylsg/cylsg.Application/CyOS/CyOSBaoXiaoZHuGuanController.cs
@@ -68,8 +68,9 @@
SearchList = SearchList.And(x => x.MemberId == _OAServices.firmId);
SearchList = SearchList.And(x => x.PlanType == 3);
SearchList = SearchList.And(x => x.PlanDataType == 17);
- //SearchList = SearchList.And(x => x.ApprovalStatus == PlanStatusType.unApproval);
- //SearchList = SearchList.And(x => x.OaWorkPlanShenpis.Where(y => y.Buzhou == 1 && y.ApprovalStaffId == Permissions.MemberId).Count()<=0);
+ SearchList = SearchList.And(x => x.OaWorkPlanShenpis.Count(y => y.Buzhou == 1&& y.ApprovalStaffId != Permissions.MemberId) < 2);//鍙渶瑕佷袱涓汉瀹℃壒 鍙﹀涓や釜浜哄鎵逛簡锛屼笉鍦ㄦ樉绀�
+ //SearchList = SearchList.And(x => x.ApprovalStatus == PlanStatusType.unApproval);
+ //SearchList = SearchList.And(x => x.OaWorkPlanShenpis.Where(y => y.Buzhou == 1 && y.ApprovalStaffId == Permissions.MemberId).Count() <= 0);
//SearchList = SearchList.And(x => x.DepartId == Permissions.DepartId); 閮ㄩ棬绛涢��
if (!string.IsNullOrEmpty(param.StaffName))
{
@@ -116,7 +117,7 @@
//寮哄埗澧炲姞鍛樺伐杩囨护
var data = await _SugarClient.Queryable<OaWorkPlan>().Includes(x=>x.Depart)
- .Includes(x=>x.OaWorkPlanShenpis.Where(y=>y.ApprovalStaffId==Permissions.MemberId&&y.Buzhou==1).ToList())
+ .Includes(x=>x.OaWorkPlanShenpis.Where(y=>y.Buzhou==1).ToList())
.Where(SearchList).OrderByDescending(x => x.PlanStartTime).Mapper(
x =>
{
@@ -196,6 +197,13 @@
{
throw Oops.Oh("鎶ラ攢鍗曟湭鎻愪氦涓嶅彲瀹℃壒");
}
+ int shenpiCount = data.OaWorkPlanShenpis.Where(x => x.ApprovalStaffId != Permissions.MemberId && x.Buzhou == 1).Count();
+ if(shenpiCount >= 2)
+ {
+ //涓や釜浜哄鎵瑰悗銆備笉鍙啀瀹℃壒
+ throw Oops.Oh("宸茬粡宸茬粡缁撴潫");
+
+ }
OaWorkPlanShenpi shenpi = data.OaWorkPlanShenpis.Where(x => x.ApprovalStaffId == Permissions.MemberId&&x.Buzhou==1).FirstOrDefault();
if (shenpi!=null)
{
diff --git a/cylsg/cylsg.Application/Transfer/UserTransfer.cs b/cylsg/cylsg.Application/Transfer/UserTransfer.cs
index 60a5fad..a420c36 100644
--- a/cylsg/cylsg.Application/Transfer/UserTransfer.cs
+++ b/cylsg/cylsg.Application/Transfer/UserTransfer.cs
@@ -258,7 +258,7 @@
/// </summary>
[AllowAnonymous]
[HttpPost]
- [ApiExplorerSettings(IgnoreApi = true)]
+ [ApiExplorerSettings(IgnoreApi = true)]
public async Task<TransferOderOut> GetTransferOder(SearchTransferOder param)
{
@@ -291,9 +291,14 @@
else
//鏈変竴绗斿ぇ浣�0 鐨勮涓哄け璐�
SearchList= SearchList.And(x => x.FailNum ==0&&x.BatchStatus=="FINISHED");
- var data=await WeChatTransferOrderwork.AsQueryable().Where(SearchList).Select(x=>new WeChatTransferOrder
+ var data=await WeChatTransferOrderwork.AsQueryable().Includes(x => x.user, u => u.Worek).Where(SearchList).Select(x=>new WeChatTransferOrder
{
- BatchRemark= SqlFunc.Subqueryable<UserWorker>().Where(uw=>uw.UserId==x.UserID).Select(uw => uw.name+ uw.IdCode)
+ UserName=x.user.Worek.name,
+ UserIDCode = x.user.Worek.IdCode,
+ ItCode = x.user.ItCode,
+ YiTiXianGz = x.user.Worek.YiTiXianJine,
+ ZhongGz = x.user.Worek.TiXianZonge,
+ BatchRemark = SqlFunc.Subqueryable<UserWorker>().Where(uw=>uw.UserId==x.UserID).Select(uw => uw.name+ uw.IdCode)
},true).ToPageListAsync(pageModel.PageIndex, pageModel.PageSize,pageModel.TotalCount);
//var data = await WeChatTransferOrderwork.GetPageListAsync(SearchList, pageModel);
@@ -913,32 +918,34 @@
}
RefAsync<int> title = 0;
var BR = new BaseRepository<WeChatTransferOrder>();
- var data= await BR.AsQueryable().Includes(x=>x.user,u=>u.Worek).Select(x=>new WeChatTransferOrder
- {
- UserIDCode= x.user.Worek.IdCode,
- UserName=x.user.Worek.name,
- TotalAmount=x.TotalAmount,
- TotalNum=x.TotalNum,
- BatchId=x.BatchId,
- SuccessNum=x.SuccessNum,
- OutBatchNumber=x.OutBatchNumber,
- BatchName = x.BatchName,
- BatchStatus=x.BatchStatus,
- UserID= x.UserID,
- UpDataTime=x.UpDataTime,
- YiTiXianGz=x.user.Worek.YiTiXianJine,
- ZhongGz=x.user.Worek.TiXianZonge,
- ItCode=x.user.ItCode,
- SuccessAmount= x.SuccessAmount,
- FailAmount=x.FailAmount
-
+ var data = await BR.AsQueryable().Includes(x => x.user, u => u.Worek).Select(x => new WeChatTransferOrder
+ {
+ Id = 0,
+ UserIDCode = x.user.Worek.IdCode,
+ UserName = x.user.Worek.name,
+ TotalAmount = x.TotalAmount,
+ TotalNum = x.TotalNum,
+ BatchId = x.BatchId,
+ SuccessNum = x.SuccessNum,
+ OutBatchNumber = x.OutBatchNumber,
+ BatchName = x.BatchName,
+ BatchStatus = x.BatchStatus,
+ UserID = x.UserID,
+ UpDataTime = x.UpDataTime,
+ YiTiXianGz = x.user.Worek.YiTiXianJine,
+ ZhongGz = x.user.Worek.TiXianZonge,
+ ItCode = x.user.ItCode,
+ SuccessAmount = x.SuccessAmount,
+ FailAmount = x.FailAmount,
+ CreateTime = x.CreateTime
- }).MergeTable().WhereIF(where != null, where).OrderByIF(order!=null,order,Param.Order?.Des?? OrderByType.Asc).ToPageListAsync(Param.Page.PageIndex,Param.Page.PageSize, title);
+
+ },true).MergeTable().WhereIF(where != null, where).OrderByIF(order!=null,order,Param.Order?.Des?? OrderByType.Asc).ToPageListAsync(Param.Page.PageIndex,Param.Page.PageSize, title);
diff --git a/cylsg/cylsg.Model/ECTEModel/OaWorkPlanShenpi.cs b/cylsg/cylsg.Model/ECTEModel/OaWorkPlanShenpi.cs
index 736fc4c..3b34604 100644
--- a/cylsg/cylsg.Model/ECTEModel/OaWorkPlanShenpi.cs
+++ b/cylsg/cylsg.Model/ECTEModel/OaWorkPlanShenpi.cs
@@ -74,7 +74,7 @@
public string Operator { get; set; }
/// <summary>
- /// 瀹℃壒姝ラ
+ /// 瀹℃壒姝ラ 1 鏄富绠″鎵癸紝2鏄粡鐞嗗鎵�
/// </summary>
[SugarColumn(ColumnName = "Buzhou")]
public int? Buzhou { get; set; }
diff --git a/cylsg/cylsg.Web.Entry/appsettings.json b/cylsg/cylsg.Web.Entry/appsettings.json
index fcf1993..4dcf9da 100644
--- a/cylsg/cylsg.Web.Entry/appsettings.json
+++ b/cylsg/cylsg.Web.Entry/appsettings.json
@@ -24,7 +24,7 @@
// "ConnectionString": "Server=192.168.0.31;Database=CyLsgDb; MultipleActiveResultSets=true;pooling=true;min pool size=5;max pool size=32767;connect timeout=20;Encrypt=True;TrustServerCertificate=True;integrated security=True;",
- "ConnectionString": "Server=192.168.18.15;Database=CyLsgDb; MultipleActiveResultSets=true;pooling=true;min pool size=5;max pool size=32767;connect timeout=20;Encrypt=True;TrustServerCertificate=True;User Id=SA;Password=123456;",
+ "ConnectionString": "Server=192.168.18.5;Database=CyLsgDb; MultipleActiveResultSets=true;pooling=true;min pool size=5;max pool size=32767;connect timeout=20;Encrypt=True;TrustServerCertificate=True;User Id=SA;Password=123456;",
"DbType": "SqlServer", // "SqlServer" ,mysql,
"IsAutoCloseConnection": true
}
@@ -36,7 +36,7 @@
//"IsAutoCloseConnection": true
- "ConnectionString": "Server=192.168.18.15;Database=ECTEST_NEW; MultipleActiveResultSets=true;pooling=true;min pool size=5;max pool size=32767;connect timeout=20;Encrypt=True;TrustServerCertificate=True;User Id=SA;Password=123456;",
+ "ConnectionString": "Server=192.168.18.5;Database=ECTEST_NEW; MultipleActiveResultSets=true;pooling=true;min pool size=5;max pool size=32767;connect timeout=20;Encrypt=True;TrustServerCertificate=True;User Id=SA;Password=123456;",
// "ConnectionString": "Server=118.123.213.60;Database=ECTEST_NEW; MultipleActiveResultSets=true;pooling=true;min pool size=5;max pool size=32767;connect timeout=20;Encrypt=True;TrustServerCertificate=True;User Id=SA;Password=123qwe!@#;",
"DbType": "SqlServer", // "SqlServer" ,mysql,
"IsAutoCloseConnection": true,
@@ -60,9 +60,9 @@
"ValidateAudience": true, // 鏄惁楠岃瘉绛炬敹鏂癸紝bool 绫诲瀷锛岄粯璁rue
"ValidAudience": "www.51zhengcai.com", // 绛炬敹鏂癸紝string 绫诲瀷
"ValidateLifetime": true, // 鏄惁楠岃瘉杩囨湡鏃堕棿锛宐ool 绫诲瀷锛岄粯璁rue锛屽缓璁畉rue
- "ExpiredTime": 14400, // 杩囨湡鏃堕棿锛宭ong 绫诲瀷锛屽崟浣嶅垎閽燂紝榛樿20鍒嗛挓
+ "ExpiredTime": 10, // 杩囨湡鏃堕棿锛宭ong 绫诲瀷锛屽崟浣嶅垎閽燂紝榛樿20鍒嗛挓
"ClockSkew": 5, // 杩囨湡鏃堕棿瀹归敊鍊硷紝long 绫诲瀷锛屽崟浣嶇锛岄粯璁� 5绉�
"Algorithm": "HS256", // 鍔犲瘑绠楁硶锛宻tring 绫诲瀷锛岄粯璁� HS256
- "RefreshTokenExpires": 14400 //鍒嗛挓 1澶� 1440鍒嗛挓
+ "RefreshTokenExpires": 1 //鍒嗛挓 1澶� 1440鍒嗛挓
}
}
\ No newline at end of file
--
Gitblit v1.9.1