Commit b0263236 authored by 左玲玲's avatar 左玲玲 😬

设备供应商,设备台账,租赁合同

parent a94fe98c
......@@ -72,13 +72,11 @@ function DetailPro(props) {
: {};
if (it.valueType == 'split') {
return (
<>
<Col span={24}>
<div className={styles.title} style={{ borderWidth: i == 0 ? 0 : 1, '--before': !(it.title || it?.render) ? 'none' : 'block', '--after': !(it.title || it?.render) ? '100%' : 'calc(100% - 160px)','--padb':!(it.title || it?.render) ? '20px' : '0' }}>
<Col span={24} key={i}>
<div className={styles.title} style={{ borderWidth: i == 0 ? 0 : 1, '--before': !(it.title || it?.render) ? 'none' : 'block', '--after': !(it.title || it?.render) ? '100%' : 'calc(100% - 160px)', '--padb': !(it.title || it?.render) ? '20px' : '0' }}>
{it?.render ? it?.render?.(curitem[it.dataIndex], curitem) : it.title}
</div>
</Col>
</>
);
}
return (
......
import React from 'react';
import { Group, Image, Layer, Rect, Stage, Text } from 'react-konva';
import useImage from 'use-image';
const Imagecanvas = (props) => {
const text = {
text: '左玲玲智能设备01',
x: 50,
y: 180,
width: 150,
align: 'center',
fontSize: 14,
fill: '#FFFFFF',
};
return <Stage width={200} height={200}>
<Layer>
<Image url={require('@/assets/logo.png')} width={150} height={150} />
<Text {...text} />
<Text {...text} />
</Layer>
</Stage>
}
export default Imagecanvas;
\ No newline at end of file
......@@ -154,7 +154,7 @@ function getcolumns(setdrawer, drawer) {
sm: 6,
},
options: {
path: '/',
path: '/lease/umLeaseLedger/queryLedgerSelectbox',
params: {},
},
},
......
......@@ -9,6 +9,7 @@ import * as React from 'react';
import { useState, useMemo, useRef } from 'react';
import DrawerPro from '@/components/DrawerPro';
import AutoTable from '@/components/AutoTable';
import FormTable from "@/components/AutoTable/mtable";
import PremButton from '@/components/PremButton';
import getcolumns from './columns';
import { useRequest } from 'ahooks';
......@@ -37,10 +38,104 @@ function Contract(props) {
}
},
});
const rightExtra = (text, row, _, action) => {
//1未开始 2进行中 3已到期 4待押金退还
let ifs = row.status == 1,
ifsa = row.status == 2,
ifsb = row.status == 3,
ifsc = row.status == 4;
const edit = (text, row, _, action) => {
return (
<PremButton
return [
ifs && <PremButton
key='start'
btn={{
size: 'small',
onClick: () => {
setdrawer((s) => ({
...s,
open: true,
item: row,
val: 'start',
title: '开始',
fields: [
{
title: '合同起租日',
dataIndex: 'startLeaseDate',
key: 'startLeaseDate',
valueType: 'date',
formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
colProps: { span: 8 },
},
{
title: '合同终止日',
dataIndex: 'endLeaseDate',
key: 'endLeaseDate',
valueType: 'date',
fieldProps: {
disabled: true
},
colProps: { span: 8 },
formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
},
{
title: '第一期回款形式',
dataIndex: 'tripBear',
key: 'tripBear',
valueType: 'select',
options: [
{ label: '现金', value: 1 },
{ label: '银行承兑', value: 2 },
],
colProps: { span: 8 },
formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
},
{
title: '租赁设备',
dataIndex: 'list',
key: 'list',
render: (_, row) => {
return <div>11</div>
}
},
{
title: '起租单上传',
dataIndex: 'startLeaseFileList',
key: 'startLeaseFileList',
valueType: 'uploadBtn',
fieldProps: {
limit: 1,
},
colProps: { span: 24 },
},
{
title: '发用单文件',
dataIndex: 'hairuseFileList',
key: 'hairuseFileList',
valueType: 'uploadBtn',
fieldProps: {
limit: 1,
},
colProps: { span: 24 },
},
{
title: '租赁物交付确认单文件',
dataIndex: 'leaseDeliverFileList',
key: 'leaseDeliverFileList',
valueType: 'uploadBtn',
fieldProps: {
limit: 1,
},
colProps: { span: 24 },
}
]
}));
},
}}
>
开始
</PremButton>,
ifs && <PremButton
key='edit'
btn={{
size: 'small',
onClick: () => {
......@@ -48,27 +143,22 @@ function Contract(props) {
...s,
open: true,
item: row,
title: '编辑',
val: 'edit',
title: '编辑'
}));
},
}}
>
编辑
</PremButton>
);
};
const remove = (text, row, _, action) => {
if (row?.status == 1) {
return (
<PremButton
修改
</PremButton>,
ifs && <PremButton
key='remove'
pop={{
title: '是否删除?',
title: '是否删除该合同?',
okText: '确认',
cancelText: '取消',
onConfirm: () => {
run({ url: pathconfig?.delete || '/delete', params: { id: row?.id } });
onConfirm: async () => {
runAsync({ url: pathconfig.delete, params: { id: row.id, } });
},
}}
btn={{
......@@ -77,12 +167,42 @@ function Contract(props) {
}}
>
删除
</PremButton>,
ifsa && <PremButton
key='out'
btn={{
size: 'small',
onClick: () => {
},
}}
>
退租
</PremButton>,
ifsb && <PremButton
key='break'
btn={{
size: 'small',
onClick: () => {
},
}}
>
结束
</PremButton>,
ifsc && <PremButton
key='handle'
btn={{
size: 'small',
onClick: () => {
},
}}
>
处理
</PremButton>
);
} else {
return <></>;
]
}
};
const columns = useMemo(() => {
let defcolumn = getcolumns(setdrawer).filter((it) => it.key == activeTabKey)[0]?.columns;
......@@ -92,7 +212,7 @@ function Contract(props) {
title: '操作',
valueType: 'option',
width: 150,
render: (text, row, _, action) => [],
render: (text, row, _, action) => rightExtra(text, row, _, action),
});
} else {
return defcolumn;
......@@ -105,14 +225,16 @@ function Contract(props) {
}, [activeTabKey]);
const calculateContractAmount = (list = [], month = 0) => {
const sum = list?.reduce((prev, next) => {
return (prev * 100 + next * 100) / 100;
if (Number(prev + next)) {
return Number((prev + next).toFixed(2));
}
}, 0);
camount(month == 0 || month ? (sum * 100) * month / 100 : 0);
camount(month == 0 || month ? ((sum ?? 0) * 100) * month / 100 : 0);
};
const changeList = (list = []) => {
list.forEach(it => {
if (it.unitPrice && it.zxPrice) {
it.rebatePrice = ((it.unitPrice ?? 0) * 100 - (it.zxPrice ?? 0) * 100) / 100;
it.rebatePrice = Number(((it.unitPrice ?? 0) - (it.zxPrice ?? 0)).toFixed(2))
} else {
it.rebatePrice = ''
}
......@@ -164,7 +286,7 @@ function Contract(props) {
}}
/>
<DrawerPro
fields={columns}
fields={(drawer.val != 'add' && drawer.val != 'edit') ? drawer.fields : columns}
detailpath={pathconfig?.detail || null}
detailData={drawer?.item}
defaultFormValue={drawer?.item}
......@@ -180,11 +302,11 @@ function Contract(props) {
{...drawer}
onFinish={(vals) => {
console.log(vals);
// if (drawer?.val == 'add') {
// run({ url: pathconfig?.add || '/add', params: { ...vals } });
// } else if (drawer?.val == 'edit') {
// run({ url: pathconfig?.edit || '/edit', params: { ...vals, id: drawer?.item?.id } });
// }
if (drawer?.val == 'add') {
run({ url: pathconfig?.add, params: { ...vals, amount } });
} else if (drawer?.val == 'edit') {
run({ url: pathconfig?.edit, params: { ...vals, id: drawer?.item?.id, amount } });
}
}}
onValuesChange={(changedValues, allValues) => {
for (let i in changedValues) {
......
......@@ -119,8 +119,23 @@ function getcolumns(setdrawer, activeKey) {
{ label: '未绑定', value: '6' },
{ label: '绑定', value: '7' },
],
fixed: 'right',
span: 2
hideInSearch: true,
hideInForm: true,
hideInTable: true
},
{
title: '采集状态',
dataIndex: 'collectStatusName',
key: 'collectStatus',
hideInForm: true,
valueType: 'select',
options: [
{ label: '工作', value: '1' },
{ label: '待机', value: '2' },
{ label: '关机', value: '3' },
{ label: '报警', value: '4' }
],
fixed: 'right'
},
{
title: '所属信息',
......
......@@ -17,7 +17,8 @@ const Devicedata = () => {
}),
[extraparams, setextraparams] = useState({}),
[activeKey, catk] = useState('item-1'),
[item2extraparams, citp] = useState({});
[item2extraparams, citp] = useState({}),
[searchParams, csp] = useState({});
const { run, loading, runAsync } = useRequest(doFetch, {
manual: true,
onSuccess: (res, params) => {
......@@ -29,7 +30,13 @@ const Devicedata = () => {
}));
}
},
});
}),
tableData = useRequest(async () => {
let res = await doFetch({ url: '/lease/umLeaseLedger/queryLeaseList', params: { ...searchParams, ...extraparams } });
return res?.data?.dataList ?? [];
}, {
refreshDeps: [extraparams, searchParams]
})
const columns = useMemo(() => {
let defcolumn = getcolumns(setdrawer, activeKey)?.columns ?? [];
return defcolumn;
......@@ -42,17 +49,18 @@ const Devicedata = () => {
key: 'item-1',
children: <AutoTable
columns={columns}
path='/lease/umLeaseLedger/queryLeaseList'
dataSource={tableData?.data ?? []}
actionRef={actionRef}
resizeable={false}
bordered={false}
x={1500}
formRef={formRef}
dataSourceFieldsChange={(val) => {
console.log(val);
csp({ ...val })
}}
extraparams={extraparams}
pagination={false}
toolBarRender={true}
/>
},
{
......@@ -61,7 +69,7 @@ const Devicedata = () => {
children: <Account boxRef={boxRef} extraparams={item2extraparams} />
}
]
}, [extraparams]);
}, [extraparams, tableData?.data]);
const items = useMemo(() => {
if (drawer.val == 'only') {
if (activeKey == 'item-1') {
......
import React, { useMemo } from 'react';
import AutoTable from '@/components/AutoTable/mtable';
const Resume = ({ setdrawer, drawer }) => {
const Resume = ({ setdrawer, drawer, url }) => {
const columns = [
{
title: '设备编号',
......@@ -28,7 +28,7 @@ const Resume = ({ setdrawer, drawer }) => {
return (
<AutoTable
columns={columns}
path={'/lease/umLeaseLedgerEquipment/queryList'}
path={url}
resizeable={false}
pageextra="none"
bordered={false}
......
......@@ -101,7 +101,8 @@ function getcolumns(setdrawer) {
{ label: '未绑定', value: '6' },
{ label: '绑定', value: '7' },
],
fixed: 'right'
fixed: 'right',
width: 80
},
{
title: '所属信息',
......
......@@ -3,11 +3,11 @@ import DrawerPro from '@/components/DrawerPro';
import AutoTable from '@/components/AutoTable';
import PremButton from '@/components/PremButton';
import getcolumns from './columns';
import { doFetch } from '@/utils/doFetch';
import { doFetch, exportFetch } from '@/utils/doFetch';
import { useRequest, useAsyncEffect } from "ahooks";
import styles from "./index.less";
import TreeRender from '@/components/TreeRender';
import { Divider, Tabs } from "antd";
import { Divider, Tabs, message } from "antd";
import Leaseresume from "./Leaseresume";
import Operatinghistory from "./Operatinghistory";
import Resume from "./Resume";
......@@ -21,7 +21,8 @@ const Ledger = () => {
supplier: {},
factory: {}
}),
[extraparams, setextraparams] = useState({});
[extraparams, setextraparams] = useState({}),
[searchParams, csp] = useState({});
const { run, loading, runAsync } = useRequest(doFetch, {
manual: true,
onSuccess: (res, params) => {
......@@ -122,20 +123,42 @@ const Ledger = () => {
btn={{
size: 'small',
onClick: () => {
setdrawer((s) => ({
...s,
open: true,
item: row,
val: 'bind',
title: '绑定',
fields: [
{
title: '关联智能单元',
dataIndex: 'ledgerEquipmentId',
key: 'ledgerEquipmentId',
valueType: 'select',
options: { path: '/lease/umLeaseLedger/intelligentUnitSelectbox', params: { id: row.id } },
colProps: { span: 8 },
span: 3,
fieldProps: {
placeholder: '请选择',
showSearch: true,
},
formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
}
]
}));
},
}}
>
绑定
</PremButton>,
devicetype2 && <PremButton
devicetype2 && ifsf && <PremButton
key='unbind'
pop={{
title: '是否解绑?',
okText: '确认',
cancelText: '取消',
onConfirm: async () => {
runAsync({ url: "/lease/umLeaseLedger/unBingDing", params: { id: row.id } });
},
}}
btn={{
......@@ -151,7 +174,7 @@ const Ledger = () => {
okText: '确认',
cancelText: '取消',
onConfirm: async () => {
runAsync({ url: "/lease/umLeaseLedger/scrap", params: { id: row.id } });
},
}}
btn={{
......@@ -164,16 +187,16 @@ const Ledger = () => {
ifs && devicetype1 && intelligentUnit && <PremButton
key='Scrapped2'
pop={{
title: <div>该设备有关联智能单元,请确认是一同报废或释放出关联智能单元?<br />
一同报废-将关联智能单元也置为报废状态,<br />
释放-将关联智能单元的绑定解除且清空设备中关联智能单元的信息</div>,
title: <div>该设备有关联智能单元<br />
请确认是一同报废或<br />
释放出关联智能单元?</div>,
okText: '释放',
cancelText: '一同报废',
onConfirm: async () => {
runAsync({ url: "/lease/umLeaseLedger/scrapSubmit", params: { flag: 2, id: row.id } });
},
onCancel: async () => {
runAsync({ url: "/lease/umLeaseLedger/scrapSubmit", params: { flag: 1, id: row.id } });
},
}}
btn={{
......@@ -190,7 +213,7 @@ const Ledger = () => {
okText: '确认',
cancelText: '取消',
onConfirm: async () => {
runAsync({ url: "/lease/umLeaseLedger/leaveUnused", params: { id: row.id, } });
},
}}
btn={{
......@@ -206,7 +229,7 @@ const Ledger = () => {
okText: '确认',
cancelText: '取消',
onConfirm: async () => {
runAsync({ url: pathconfig.delete, params: { id: row.id, } });
},
}}
btn={{
......@@ -223,14 +246,14 @@ const Ledger = () => {
if (drawer.item.equipmentType == 1) {
return [
{ label: '基础信息', key: 'item-1', children: <Basemsg drawer={drawer} /> },
{ label: '绑定履历', key: 'item-2', children: <Resume drawer={drawer} /> },
{ label: '绑定履历', key: 'item-2', children: <Resume drawer={drawer} url='/lease/umLeaseLedgerEquipment/queryList' /> },
{ label: '租赁履历', key: 'item-3', children: <Leaseresume drawer={drawer} /> },
{ label: '操作履历', key: 'item-4', children: <Operatinghistory drawer={drawer} /> }
]
} else {
return [
{ label: '基础信息', key: 'item-1', children: <Basemsg drawer={drawer} /> },
{ label: '绑定履历', key: 'item-2', children: <Resume drawer={drawer} /> },
{ label: '绑定履历', key: 'item-2', children: <Resume drawer={drawer} url='/lease/umLeaseLedgerEquipment/queryListByLeaseLedgerId' /> },
{ label: '操作履历', key: 'item-4', children: <Operatinghistory drawer={drawer} /> }
]
}
......@@ -262,8 +285,9 @@ const Ledger = () => {
key='export'
btn={{
type: 'default',
onClick: () => {
onClick: async () => {
message.warning('导出中,请稍后');
await exportFetch({ url: '/lease/umLeaseLedger/exportExcel', params: { ...searchParams } });
},
style: { margin: '0 12px' }
}}
......@@ -320,8 +344,11 @@ const Ledger = () => {
resizeable={false}
pageextra={rightExtra}
bordered={false}
x={1500}
x={2200}
extraparams={extraparams}
dataSourceFieldsChange={(val) => {
csp(val)
}}
/>
</div>
</div>
......@@ -329,7 +356,7 @@ const Ledger = () => {
<DrawerPro
{...drawer}
fields={columns}
fields={drawer.val == 'bind' ? drawer.fields : columns}
detailpath={drawer.val == 'add' || !drawer?.item?.id ? '' : pathconfig?.detail}
params={drawer.val == 'add' ? {} : { id: drawer?.item?.id }}
defaultFormValue={drawer?.item ?? {}}
......@@ -349,6 +376,8 @@ const Ledger = () => {
url: pathconfig?.edit,
params: { ...newParams, id: drawer?.item?.id },
});
} else if (drawer.val == 'bind') {
await runAsync({ url: "/lease/umLeaseLedger/bound", params: { ...newParams, id: drawer?.item?.id } });
}
}}
>
......
......@@ -84,15 +84,15 @@ function getcolumns(ifs, actionRef) {
},
{
title: '设备总数(租赁)',
dataIndex: 'address1',
key: 'address1',
dataIndex: 'equipmentTotalNum',
key: 'equipmentTotalNum',
search: false,
hideInForm: true
},
{
title: '智能单元总数(租赁)',
dataIndex: 'address2',
key: 'address2',
dataIndex: 'agentTotalNum',
key: 'agentTotalNum',
search: false,
hideInForm: true
},
......
......@@ -19,11 +19,18 @@ export async function doFetch({ url, params }) {
}
export async function postFetch({ url, params }) {
return request(url, {
return request(defaultSetting.proxypath + url, {
method: 'post',
data: params,
});
}
export async function exportFetch({ url, params }) {
return request(defaultSetting.proxypath + url, {
method: 'post',
data: params,
responseType: 'blob'
});
}
export async function getFetch({ url, params }) {
return request(url, {
......@@ -33,7 +40,7 @@ export async function getFetch({ url, params }) {
}
export async function formFetch({ url, params }) {
return request(url, {
return request(defaultSetting.proxypath + url, {
method: 'post',
data: params,
type: 'form',
......
......@@ -3015,6 +3015,13 @@
dependencies:
"@types/react" "*"
"@types/react-reconciler@^0.28.0", "@types/react-reconciler@^0.28.2":
version "0.28.4"
resolved "https://registry.npmmirror.com/@types/react-reconciler/-/react-reconciler-0.28.4.tgz#c2c06f6d42f055972290eecebb87b10d0ac66e0e"
integrity sha512-Xd55E2aLI9Q/ikDQEmfRzIwYJs4oO0h9ZHA3FZDakzt1WR6JMZcpqtCZlF97I72KVjoY4rHXU5TfvkRDOyr/rg==
dependencies:
"@types/react" "*"
"@types/react-redux@^7.1.20":
version "7.1.25"
resolved "https://mirrors.huaweicloud.com/repository/npm/@types/react-redux/-/react-redux-7.1.25.tgz#de841631205b24f9dfb4967dd4a7901e048f9a88"
......@@ -8538,6 +8545,11 @@ image-size@~0.5.0:
resolved "https://mirrors.huaweicloud.com/repository/npm/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c"
integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==
immediate@~3.0.5:
version "3.0.6"
resolved "https://registry.npmmirror.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==
immer@^8.0.4:
version "8.0.4"
resolved "https://mirrors.huaweicloud.com/repository/npm/immer/-/immer-8.0.4.tgz#3a21605a4e2dded852fb2afd208ad50969737b7a"
......@@ -9235,6 +9247,13 @@ istanbul-lib-instrument@^5.0.4:
istanbul-lib-coverage "^3.2.0"
semver "^6.3.0"
its-fine@^1.1.1:
version "1.1.1"
resolved "https://registry.npmmirror.com/its-fine/-/its-fine-1.1.1.tgz#e74b93fddd487441f978a50f64f0f5af4d2fc38e"
integrity sha512-v1Ia1xl20KbuSGlwoaGsW0oxsw8Be+TrXweidxD9oT/1lAh6O3K3/GIM95Tt6WCiv6W+h2M7RB1TwdoAjQyyKw==
dependencies:
"@types/react-reconciler" "^0.28.0"
jest-diff@^26.0.0:
version "26.6.2"
resolved "https://mirrors.huaweicloud.com/repository/npm/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394"
......@@ -9508,6 +9527,16 @@ jsx-ast-utils@^2.2.1:
array-includes "^3.1.5"
object.assign "^4.1.3"
jszip@^3.10.1:
version "3.10.1"
resolved "https://registry.npmmirror.com/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2"
integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==
dependencies:
lie "~3.3.0"
pako "~1.0.2"
readable-stream "~2.3.6"
setimmediate "^1.0.5"
keyv@^3.0.0:
version "3.1.0"
resolved "https://mirrors.huaweicloud.com/repository/npm/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9"
......@@ -9559,6 +9588,11 @@ kolorist@^1.6.0:
resolved "https://mirrors.huaweicloud.com/repository/npm/kolorist/-/kolorist-1.6.0.tgz#f43ac794305b30032a5bedcae7799d0f91d2ff36"
integrity sha512-dLkz37Ab97HWMx9KTes3Tbi3D1ln9fCAy2zr2YVExJasDRPGRaKcoE4fycWNtnCAJfjFqe0cnY+f8KT2JePEXQ==
konva@^9.2.0:
version "9.2.0"
resolved "https://registry.npmmirror.com/konva/-/konva-9.2.0.tgz#3739e539724b0e6b76d697a322efdaa01baa1508"
integrity sha512-+woI76Sk+VFVl9z7zPkuTnN2zFpEYg27YWz8BCdQXpt5IS3pdnSPAPQVPPMidcbDi9/G5b/IOIp35/KqMGiYPA==
latest-version@^5.0.0:
version "5.1.0"
resolved "https://mirrors.huaweicloud.com/repository/npm/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face"
......@@ -9598,6 +9632,13 @@ levn@^0.4.1:
prelude-ls "^1.2.1"
type-check "~0.4.0"
lie@~3.3.0:
version "3.3.0"
resolved "https://registry.npmmirror.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a"
integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==
dependencies:
immediate "~3.0.5"
lines-and-columns@^1.1.6:
version "1.2.4"
resolved "https://mirrors.huaweicloud.com/repository/npm/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
......@@ -10830,7 +10871,7 @@ pako@^0.2.6:
resolved "https://mirrors.huaweicloud.com/repository/npm/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
integrity sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==
pako@~1.0.5:
pako@~1.0.2, pako@~1.0.5:
version "1.0.11"
resolved "https://mirrors.huaweicloud.com/repository/npm/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
......@@ -12499,6 +12540,16 @@ react-is@^18.0.0:
resolved "https://mirrors.huaweicloud.com/repository/npm/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b"
integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
react-konva@^18.2.10:
version "18.2.10"
resolved "https://registry.npmmirror.com/react-konva/-/react-konva-18.2.10.tgz#5b5edc5e9ed452755d21babc353747828868decc"
integrity sha512-ohcX1BJINL43m4ynjZ24MxFI1syjBdrXhqVxYVDw2rKgr3yuS0x/6m1Y2Z4sl4T/gKhfreBx8KHisd0XC6OT1g==
dependencies:
"@types/react-reconciler" "^0.28.2"
its-fine "^1.1.1"
react-reconciler "~0.29.0"
scheduler "^0.23.0"
react-lifecycles-compat@^3.0.4:
version "3.0.4"
resolved "https://mirrors.huaweicloud.com/repository/npm/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
......@@ -12526,6 +12577,14 @@ react-node-key@^0.4.0:
jsx-ast-utils "^2.2.1"
szfe-tools "^0.0.0-beta.7"
react-reconciler@~0.29.0:
version "0.29.0"
resolved "https://registry.npmmirror.com/react-reconciler/-/react-reconciler-0.29.0.tgz#ee769bd362915076753f3845822f2d1046603de7"
integrity sha512-wa0fGj7Zht1EYMRhKWwoo1H9GApxYLBuhoAuXN0TlltESAjDssB+Apf0T/DngVqaMyPypDmabL37vw/2aRM98Q==
dependencies:
loose-envify "^1.1.0"
scheduler "^0.23.0"
react-redux@^7.2.6:
version "7.2.9"
resolved "https://mirrors.huaweicloud.com/repository/npm/react-redux/-/react-redux-7.2.9.tgz#09488fbb9416a4efe3735b7235055442b042481d"
......@@ -12688,6 +12747,19 @@ readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable
string_decoder "^1.1.1"
util-deprecate "^1.0.1"
readable-stream@~2.3.6:
version "2.3.8"
resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b"
integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.3"
isarray "~1.0.0"
process-nextick-args "~2.0.0"
safe-buffer "~5.1.1"
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
readdirp@^3.1.1, readdirp@~3.6.0:
version "3.6.0"
resolved "https://mirrors.huaweicloud.com/repository/npm/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
......@@ -13323,6 +13395,13 @@ scheduler@^0.22.0:
dependencies:
loose-envify "^1.1.0"
scheduler@^0.23.0:
version "0.23.0"
resolved "https://registry.npmmirror.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe"
integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==
dependencies:
loose-envify "^1.1.0"
schema-utils@2.7.0:
version "2.7.0"
resolved "https://mirrors.huaweicloud.com/repository/npm/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7"
......@@ -14974,6 +15053,11 @@ url@^0.11.0:
punycode "1.3.2"
querystring "0.2.0"
use-image@^1.1.1:
version "1.1.1"
resolved "https://registry.npmmirror.com/use-image/-/use-image-1.1.1.tgz#bdd3f2e1718393ffc0e56136f993467103d9d2df"
integrity sha512-n4YO2k8AJG/BcDtxmBx8Aa+47kxY5m335dJiCQA5tTeVU4XdhrhqR6wT0WISRXwdMEOv5CSjqekDZkEMiiWaYQ==
use-isomorphic-layout-effect@^1.1.1:
version "1.1.2"
resolved "https://mirrors.huaweicloud.com/repository/npm/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb"
......
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