Commit 79d6f580 authored by wuhao's avatar wuhao 🎯

asder

parent 6bf879ab
/*
* @Author: wuhao930406 1148547900@qq.com
* @Date: 2023-09-19 08:36:54
* @LastEditors: wuhao930406 1148547900@qq.com
* @LastEditTime: 2023-09-19 08:54:01
* @FilePath: /ems3.3/config/config.js
* @Description:
*
* Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
*/
// https://umijs.org/config/ // https://umijs.org/config/
import { defineConfig } from '@umijs/max'; import { defineConfig } from '@umijs/max';
import { join } from 'path'; import { join } from 'path';
...@@ -42,7 +52,7 @@ export default defineConfig({ ...@@ -42,7 +52,7 @@ export default defineConfig({
publicPath: process.env.NODE_ENV === 'production' ? './' : '/', publicPath: process.env.NODE_ENV === 'production' ? './' : '/',
initialState: {}, initialState: {},
model: {}, model: {},
// keepalive: keepalive, keepalive: keepalive,
layout: { layout: {
// https://umijs.org/zh-CN/plugins/plugin-layout // https://umijs.org/zh-CN/plugins/plugin-layout
locale: false, locale: false,
......
/*
* @Author: wuhao930406 1148547900@qq.com
* @Date: 2023-09-19 08:36:54
* @LastEditors: wuhao930406 1148547900@qq.com
* @LastEditTime: 2023-09-19 08:41:04
* @FilePath: /ems3.3/config/proxy.js
* @Description:
*
* Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
*/
/** /**
* 在生产环境 代理是无法生效的,所以这里没有生产环境的配置 * 在生产环境 代理是无法生效的,所以这里没有生产环境的配置
* ------------------------------- * -------------------------------
...@@ -13,7 +23,7 @@ export default { ...@@ -13,7 +23,7 @@ export default {
dev: { dev: {
[defaultSetting.proxypath]: { [defaultSetting.proxypath]: {
// 要代理的地址 // 要代理的地址
target: 'http://192.168.40.110:8000', //jf哥 target: 'http://192.168.40.111:8000', //jf哥
// target: 'http://192.168.40.248:8080', //jf哥 // target: 'http://192.168.40.248:8080', //jf哥
// target: 'http://192.168.40.64:28000', //gc哥 // target: 'http://192.168.40.64:28000', //gc哥
// target: 'http://192.168.40.203:8000', //dj哥 // target: 'http://192.168.40.203:8000', //dj哥
......
...@@ -54,7 +54,7 @@ const TagView = ({ children, home }) => { ...@@ -54,7 +54,7 @@ const TagView = ({ children, home }) => {
}; };
// 监听路由改变 // 监听路由改变
const handleOnChange = (routeContext) => { const handleOnChange = async (routeContext) => {
const { currentMenu } = routeContext; const { currentMenu } = routeContext;
// console.log(tagList); // console.log(tagList);
// tags初始化 // tags初始化
...@@ -64,7 +64,7 @@ const TagView = ({ children, home }) => { ...@@ -64,7 +64,7 @@ const TagView = ({ children, home }) => {
// 判断是否已打开过该页面 // 判断是否已打开过该页面
let hasOpen = false; let hasOpen = false;
if (currentMenu.path) { if (currentMenu.path) {
const tagsCopy = tagList.map((item) => { let tagsCopy = tagList.map((item) => {
if (currentMenu?.path === item.path) { if (currentMenu?.path === item.path) {
//console.log(item); //console.log(item);
hasOpen = true; hasOpen = true;
...@@ -87,6 +87,8 @@ const TagView = ({ children, home }) => { ...@@ -87,6 +87,8 @@ const TagView = ({ children, home }) => {
refresh: 0, refresh: 0,
active: true, active: true,
}); });
await setrefresh(false);
setrefresh(true);
} }
return setTagList(tagsCopy); return setTagList(tagsCopy);
...@@ -162,7 +164,7 @@ const TagView = ({ children, home }) => { ...@@ -162,7 +164,7 @@ const TagView = ({ children, home }) => {
</div> </div>
<div className={styles.child}> <div className={styles.child}>
<div className={styles.contianbox}> <div className={styles.contianbox}>
<div style={{ width: "100%", height: "100%" }}> {refresh && children}</div> <div style={{ width: '100%', height: '100%' }}> {refresh && children}</div>
</div> </div>
</div> </div>
</> </>
......
...@@ -4,14 +4,16 @@ import AutoTable from '@/components/AutoTable'; ...@@ -4,14 +4,16 @@ import AutoTable from '@/components/AutoTable';
import PremButton from '@/components/PremButton'; import PremButton from '@/components/PremButton';
import getcolumns from './columns'; import getcolumns from './columns';
import { doFetch, exportFetch } from '@/utils/doFetch'; import { doFetch, exportFetch } from '@/utils/doFetch';
import { useRequest } from "ahooks"; import { useRequest } from 'ahooks';
import { Divider, Tabs, ProDescriptions, message } from "antd"; import { Divider, Tabs, ProDescriptions, message } from 'antd';
import dayjs from 'dayjs'; import dayjs from 'dayjs';
import Leaseterminformation from "./Leaseterminformation"; import Leaseterminformation from './Leaseterminformation';
import { useLocation } from '@umijs/max'; import { useLocation } from '@umijs/max';
const Costanalysis = () => { const Costanalysis = () => {
const { pathname, state } = useLocation(); const { pathname, state } = useLocation();
let actionRef = useRef(), formRef = useRef(), boxRef = useRef(); let actionRef = useRef(),
formRef = useRef(),
boxRef = useRef();
const [drawer, setdrawer] = useState({ const [drawer, setdrawer] = useState({
open: false, open: false,
}), }),
...@@ -21,7 +23,7 @@ const Costanalysis = () => { ...@@ -21,7 +23,7 @@ const Costanalysis = () => {
const { run, loading, runAsync } = useRequest(doFetch, { const { run, loading, runAsync } = useRequest(doFetch, {
manual: true, manual: true,
onSuccess: (res, params) => { onSuccess: (res, params) => {
if (res?.code == "0000") { if (res?.code == '0000') {
actionRef?.current?.reload(); actionRef?.current?.reload();
setdrawer((s) => ({ setdrawer((s) => ({
...s, ...s,
...@@ -32,7 +34,8 @@ const Costanalysis = () => { ...@@ -32,7 +34,8 @@ const Costanalysis = () => {
}); });
const columns = useMemo(() => { const columns = useMemo(() => {
csearch({}); csearch({});
let defcolumn = getcolumns(setdrawer, activeKey)?.filter(it => it.key == activeKey)?.[0]?.columns ?? []; let defcolumn =
getcolumns(setdrawer, activeKey)?.filter((it) => it.key == activeKey)?.[0]?.columns ?? [];
return defcolumn.concat({ return defcolumn.concat({
title: '操作', title: '操作',
valueType: 'option', valueType: 'option',
...@@ -45,19 +48,27 @@ const Costanalysis = () => { ...@@ -45,19 +48,27 @@ const Costanalysis = () => {
}, [activeKey]); }, [activeKey]);
const rightExtra = (text, row, _, action) => { const rightExtra = (text, row, _, action) => {
return [ return [
activeKey == 'item-1' && <PremButton activeKey == 'item-1' && (
key='confirm' <PremButton
key="confirm"
btn={{ btn={{
size: 'small', size: 'small',
onClick: async () => { onClick: async () => {
let res = await doFetch({ url: '/lease/umContractEquipment/queryBeforeCollection', params: { id: row.id } }); let res = await doFetch({
url: '/lease/umContractEquipment/queryBeforeCollection',
params: { id: row.id },
});
if (res?.data?.data?.waitNum == 0) { if (res?.data?.data?.waitNum == 0) {
message.warning('该设备需回款的租期已全部回款,无需再次回款!') message.warning('该设备需回款的租期已全部回款,无需再次回款!');
} else { } else {
setdrawer((s) => ({ setdrawer((s) => ({
...s, ...s,
open: true, open: true,
item: { ...row, waitNum: res?.data?.data?.waitNum, isColl: res?.data?.data?.isColl }, item: {
...row,
waitNum: res?.data?.data?.waitNum,
isColl: res?.data?.data?.isColl,
},
val: 'confirm', val: 'confirm',
title: '回款确认', title: '回款确认',
fields: [ fields: [
...@@ -66,7 +77,7 @@ const Costanalysis = () => { ...@@ -66,7 +77,7 @@ const Costanalysis = () => {
dataIndex: 'isColl', dataIndex: 'isColl',
key: 'isColl', key: 'isColl',
fieldProps: { fieldProps: {
disabled: true disabled: true,
}, },
colProps: { span: 8 }, colProps: { span: 8 },
}, },
...@@ -75,7 +86,7 @@ const Costanalysis = () => { ...@@ -75,7 +86,7 @@ const Costanalysis = () => {
dataIndex: 'waitNum', dataIndex: 'waitNum',
key: 'waitNum', key: 'waitNum',
fieldProps: { fieldProps: {
disabled: true disabled: true,
}, },
valueType: 'digit', valueType: 'digit',
colProps: { span: 8 }, colProps: { span: 8 },
...@@ -87,7 +98,7 @@ const Costanalysis = () => { ...@@ -87,7 +98,7 @@ const Costanalysis = () => {
valueType: 'digit', valueType: 'digit',
colProps: { span: 8 }, colProps: { span: 8 },
precision: 0, precision: 0,
formItemProps: { rules: [{ required: true, message: '此项为必填项' }] } formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
}, },
{ {
title: '回款形式', title: '回款形式',
...@@ -101,16 +112,18 @@ const Costanalysis = () => { ...@@ -101,16 +112,18 @@ const Costanalysis = () => {
colProps: { span: 8 }, colProps: { span: 8 },
formItemProps: { rules: [{ required: true, message: '此项为必填项' }] }, formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
}, },
] ],
})); }));
} }
}, },
}} }}
> >
回款确认 回款确认
</PremButton>, </PremButton>
activeKey == 'item-1' && <PremButton ),
key='reduction' activeKey == 'item-1' && (
<PremButton
key="reduction"
btn={{ btn={{
size: 'small', size: 'small',
onClick: () => { onClick: () => {
...@@ -128,7 +141,7 @@ const Costanalysis = () => { ...@@ -128,7 +141,7 @@ const Costanalysis = () => {
valueType: 'digit', valueType: 'digit',
colProps: { span: 8 }, colProps: { span: 8 },
precision: 0, precision: 0,
formItemProps: { rules: [{ required: true, message: '此项为必填项' }] } formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
}, },
{ {
title: '减免情况说明', title: '减免情况说明',
...@@ -145,23 +158,27 @@ const Costanalysis = () => { ...@@ -145,23 +158,27 @@ const Costanalysis = () => {
fieldProps: { fieldProps: {
limit: 1, limit: 1,
}, },
colProps: { span: 24 } colProps: { span: 24 },
} },
] ],
})); }));
}, },
}} }}
> >
租金减免 租金减免
</PremButton>, </PremButton>
),
<PremButton <PremButton
key='invoicing' key="invoicing"
btn={{ btn={{
size: 'small', size: 'small',
onClick: async () => { onClick: async () => {
let res = await doFetch({ url: '/lease/umContractEquipment/queryBeforeInvoicing', params: { id: row.id } }); let res = await doFetch({
url: '/lease/umContractEquipment/queryBeforeInvoicing',
params: { id: row.id },
});
if (res?.data?.data?.openNum == 0) { if (res?.data?.data?.openNum == 0) {
message.warning('该设备已无需要开票的租期,无需开票记录!') message.warning('该设备已无需要开票的租期,无需开票记录!');
} else { } else {
setdrawer((s) => ({ setdrawer((s) => ({
...s, ...s,
...@@ -177,17 +194,17 @@ const Costanalysis = () => { ...@@ -177,17 +194,17 @@ const Costanalysis = () => {
valueType: 'digit', valueType: 'digit',
colProps: { span: 8 }, colProps: { span: 8 },
precision: 0, precision: 0,
formItemProps: { rules: [{ required: true, message: '此项为必填项' }] } formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
} },
] ],
})); }));
} }
}, },
}} }}
> >
开票记录 开票记录
</PremButton> </PremButton>,
] ];
}; };
useEffect(() => { useEffect(() => {
if (state) { if (state) {
...@@ -197,12 +214,22 @@ const Costanalysis = () => { ...@@ -197,12 +214,22 @@ const Costanalysis = () => {
catk('item-1'); catk('item-1');
} }
}, [state]); }, [state]);
return <div ref={boxRef}>
console.log('====================================');
console.log(extraparams);
console.log('====================================');
return (
<div ref={boxRef}>
<AutoTable <AutoTable
pagetitle={<h3 className="page-title">费用分析</h3>} pagetitle={<h3 className="page-title">费用分析</h3>}
columns={columns} columns={columns}
extraparams={extraparams} extraparams={extraparams}
path={activeKey == 'item-1' ? '/lease/umContractEquipment/queryNoAnalysis' : '/lease/umContractEquipment/queryYesAnalysis'} path={
activeKey == 'item-1'
? '/lease/umContractEquipment/queryNoAnalysis'
: '/lease/umContractEquipment/queryYesAnalysis'
}
actionRef={actionRef} actionRef={actionRef}
resizeable={false} resizeable={false}
bordered={false} bordered={false}
...@@ -216,20 +243,25 @@ const Costanalysis = () => { ...@@ -216,20 +243,25 @@ const Costanalysis = () => {
pageextra={'export'} pageextra={'export'}
formRef={formRef} formRef={formRef}
dataSourceFieldsChange={(vals) => { dataSourceFieldsChange={(vals) => {
csearch(vals) csearch(vals);
}} }}
exportconfig={{ exportconfig={{
btn: { btn: {
type: 'primary', type: 'primary',
onClick: async () => { onClick: async () => {
message.warning('导出中,请稍后'); message.warning('导出中,请稍后');
await exportFetch({ url: activeKey == 'item-1' ? '/lease/umContractEquipment/exportExcelNoAnalysis' : '/lease/umContractEquipment/exportExcelYesAnalysis', params: { ...extraparams, ...searchParams } }); await exportFetch({
} url:
} activeKey == 'item-1'
? '/lease/umContractEquipment/exportExcelNoAnalysis'
: '/lease/umContractEquipment/exportExcelYesAnalysis',
params: { ...extraparams, ...searchParams },
});
},
},
}} }}
/> />
<DrawerPro <DrawerPro
{...drawer} {...drawer}
fields={drawer.fields} fields={drawer.fields}
...@@ -242,22 +274,34 @@ const Costanalysis = () => { ...@@ -242,22 +274,34 @@ const Costanalysis = () => {
open: false, open: false,
})); }));
}} }}
onValuesChange={(changedValues, allValues) => { onValuesChange={(changedValues, allValues) => {}}
}}
onFinish={async (vals) => { onFinish={async (vals) => {
let newVals = JSON.parse(JSON.stringify(vals)); let newVals = JSON.parse(JSON.stringify(vals));
if (drawer?.val == 'confirm') { if (drawer?.val == 'confirm') {
await runAsync({ url: '/lease/umContractEquipment/collection', params: { collNum: newVals.collNum, collType: newVals.collType, id: drawer?.item?.id } }); await runAsync({
url: '/lease/umContractEquipment/collection',
params: {
collNum: newVals.collNum,
collType: newVals.collType,
id: drawer?.item?.id,
},
});
} else if (drawer?.val == 'reduction') { } else if (drawer?.val == 'reduction') {
await runAsync({ url: '/lease/umContractEquipment/exemption', params: { ...newVals, id: drawer?.item?.id } }); await runAsync({
url: '/lease/umContractEquipment/exemption',
params: { ...newVals, id: drawer?.item?.id },
});
} else if (drawer?.val == 'invoicing') { } else if (drawer?.val == 'invoicing') {
await runAsync({ url: '/lease/umContractEquipment/invoicing', params: { ...newVals, id: drawer?.item?.id } }); await runAsync({
url: '/lease/umContractEquipment/invoicing',
params: { ...newVals, id: drawer?.item?.id },
});
} }
}} }}
> >
<Leaseterminformation drawer={drawer} boxRef={boxRef} /> <Leaseterminformation drawer={drawer} boxRef={boxRef} />
</DrawerPro> </DrawerPro>
</div> </div>
} );
};
export default Costanalysis; export default Costanalysis;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment