From 2dc16f204d29aeba962ff459efaba5a8f1d05a18 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期二, 13 二月 2024 14:50:39 +0800
Subject: [PATCH] #
---
zy-asrs-flow/src/App.jsx | 2
zy-asrs-flow/src/pages/system/host/components/UpdateForm.jsx | 194 +++++++++++++++++++
zy-asrs-flow/src/pages/system/host/index.jsx | 176 ++++++++++++++++-
zy-asrs-wcs/src/main/resources/application.yml | 5
zy-asrs-flow/tsconfig.json | 2
zy-asrs-flow/src/pages/system/user/index.jsx | 174 +++++++++++++++++
6 files changed, 535 insertions(+), 18 deletions(-)
diff --git a/zy-asrs-flow/src/App.jsx b/zy-asrs-flow/src/App.jsx
index 6f56084..b1a2c96 100644
--- a/zy-asrs-flow/src/App.jsx
+++ b/zy-asrs-flow/src/App.jsx
@@ -105,7 +105,7 @@
},
},
waterMarkProps: {
- content: initialState?.currentUser?.nickname,
+ // content: initialState?.currentUser?.nickname,
},
footerRender: () => <Footer />,
onPageChange: () => {
diff --git a/zy-asrs-flow/src/pages/system/host/components/UpdateForm.jsx b/zy-asrs-flow/src/pages/system/host/components/UpdateForm.jsx
new file mode 100644
index 0000000..9ad2d41
--- /dev/null
+++ b/zy-asrs-flow/src/pages/system/host/components/UpdateForm.jsx
@@ -0,0 +1,194 @@
+import {
+ ProFormDateTimePicker,
+ ProFormRadio,
+ ProFormSelect,
+ ProFormText,
+ ProFormTextArea,
+ StepsForm,
+} from '@ant-design/pro-components';
+import { FormattedMessage, useIntl } from '@umijs/max';
+import { Modal } from 'antd';
+import React from 'react';
+
+const UpdateForm = (props) => {
+ const intl = useIntl();
+ return (
+ <StepsForm
+ stepsProps={{
+ size: 'small',
+ }}
+ stepsFormRender={(dom, submitter) => {
+ return (
+ <Modal
+ width={640}
+ bodyStyle={{ padding: '32px 40px 48px' }}
+ destroyOnClose
+ title={intl.formatMessage({
+ id: 'pages.searchTable.updateForm.ruleConfig',
+ defaultMessage: '瑙勫垯閰嶇疆',
+ })}
+ open={props.updateModalOpen}
+ footer={submitter}
+ onCancel={() => {
+ props.onCancel();
+ }}
+ >
+ {dom}
+ </Modal>
+ );
+ }}
+ onFinish={props.onSubmit}
+ >
+ <StepsForm.StepForm
+ initialValues={{
+ name: props.values.name,
+ desc: props.values.desc,
+ }}
+ title={intl.formatMessage({
+ id: 'pages.searchTable.updateForm.basicConfig',
+ defaultMessage: '鍩烘湰淇℃伅',
+ })}
+ >
+ <ProFormText
+ name="name"
+ label={intl.formatMessage({
+ id: 'pages.searchTable.updateForm.ruleName.nameLabel',
+ defaultMessage: '瑙勫垯鍚嶇О',
+ })}
+ width="md"
+ rules={[
+ {
+ required: true,
+ message: (
+ <FormattedMessage
+ id="pages.searchTable.updateForm.ruleName.nameRules"
+ defaultMessage="璇疯緭鍏ヨ鍒欏悕绉帮紒"
+ />
+ ),
+ },
+ ]}
+ />
+ <ProFormTextArea
+ name="desc"
+ width="md"
+ label={intl.formatMessage({
+ id: 'pages.searchTable.updateForm.ruleDesc.descLabel',
+ defaultMessage: '瑙勫垯鎻忚堪',
+ })}
+ placeholder={intl.formatMessage({
+ id: 'pages.searchTable.updateForm.ruleDesc.descPlaceholder',
+ defaultMessage: '璇疯緭鍏ヨ嚦灏戜簲涓瓧绗�',
+ })}
+ rules={[
+ {
+ required: true,
+ message: (
+ <FormattedMessage
+ id="pages.searchTable.updateForm.ruleDesc.descRules"
+ defaultMessage="璇疯緭鍏ヨ嚦灏戜簲涓瓧绗︾殑瑙勫垯鎻忚堪锛�"
+ />
+ ),
+ min: 5,
+ },
+ ]}
+ />
+ </StepsForm.StepForm>
+ <StepsForm.StepForm
+ initialValues={{
+ target: '0',
+ template: '0',
+ }}
+ title={intl.formatMessage({
+ id: 'pages.searchTable.updateForm.ruleProps.title',
+ defaultMessage: '閰嶇疆瑙勫垯灞炴��',
+ })}
+ >
+ <ProFormSelect
+ name="target"
+ width="md"
+ label={intl.formatMessage({
+ id: 'pages.searchTable.updateForm.object',
+ defaultMessage: '鐩戞帶瀵硅薄',
+ })}
+ valueEnum={{
+ 0: '琛ㄤ竴',
+ 1: '琛ㄤ簩',
+ }}
+ />
+ <ProFormSelect
+ name="template"
+ width="md"
+ label={intl.formatMessage({
+ id: 'pages.searchTable.updateForm.ruleProps.templateLabel',
+ defaultMessage: '瑙勫垯妯℃澘',
+ })}
+ valueEnum={{
+ 0: '瑙勫垯妯℃澘涓�',
+ 1: '瑙勫垯妯℃澘浜�',
+ }}
+ />
+ <ProFormRadio.Group
+ name="type"
+ label={intl.formatMessage({
+ id: 'pages.searchTable.updateForm.ruleProps.typeLabel',
+ defaultMessage: '瑙勫垯绫诲瀷',
+ })}
+ options={[
+ {
+ value: '0',
+ label: '寮�',
+ },
+ {
+ value: '1',
+ label: '寮�',
+ },
+ ]}
+ />
+ </StepsForm.StepForm>
+ <StepsForm.StepForm
+ initialValues={{
+ type: '1',
+ frequency: 'month',
+ }}
+ title={intl.formatMessage({
+ id: 'pages.searchTable.updateForm.schedulingPeriod.title',
+ defaultMessage: '璁惧畾璋冨害鍛ㄦ湡',
+ })}
+ >
+ <ProFormDateTimePicker
+ name="time"
+ width="md"
+ label={intl.formatMessage({
+ id: 'pages.searchTable.updateForm.schedulingPeriod.timeLabel',
+ defaultMessage: '寮�濮嬫椂闂�',
+ })}
+ rules={[
+ {
+ required: true,
+ message: (
+ <FormattedMessage
+ id="pages.searchTable.updateForm.schedulingPeriod.timeRules"
+ defaultMessage="璇烽�夋嫨寮�濮嬫椂闂达紒"
+ />
+ ),
+ },
+ ]}
+ />
+ <ProFormSelect
+ name="frequency"
+ label={intl.formatMessage({
+ id: 'pages.searchTable.updateForm.object',
+ defaultMessage: '鐩戞帶瀵硅薄',
+ })}
+ width="md"
+ valueEnum={{
+ month: '鏈�',
+ week: '鍛�',
+ }}
+ />
+ </StepsForm.StepForm>
+ </StepsForm>
+ );
+};
+
+export default UpdateForm;
diff --git a/zy-asrs-flow/src/pages/system/host/index.jsx b/zy-asrs-flow/src/pages/system/host/index.jsx
index 5081bb7..bf04e23 100644
--- a/zy-asrs-flow/src/pages/system/host/index.jsx
+++ b/zy-asrs-flow/src/pages/system/host/index.jsx
@@ -1,16 +1,166 @@
-import React from 'react';
-import {
- PageContainer,
-} from '@ant-design/pro-components';
+import { EllipsisOutlined, SearchOutlined } from '@ant-design/icons';
+import { ProTable, TableDropdown } from '@ant-design/pro-components';
+import { Button, Dropdown, Input } from 'antd';
-const User = () => {
- return (
- <>
- <PageContainer>
- <h1>Hello world</h1>
- </PageContainer>
- </>
- )
+const valueEnum = {
+ 0: 'close',
+ 1: 'running',
+ 2: 'online',
+ 3: 'error',
+};
+
+const tableListDataSource = [];
+
+const creators = ['浠樺皬灏�', '鏇蹭附涓�', '鏋椾笢涓�', '闄堝竻甯�', '鍏兼煇鏌�'];
+
+for (let i = 0; i < 5; i += 1) {
+ tableListDataSource.push({
+ key: i,
+ name: 'AppName',
+ containers: Math.floor(Math.random() * 20),
+ creator: creators[Math.floor(Math.random() * creators.length)],
+ status: valueEnum[((Math.floor(Math.random() * 10) % 4) + '')],
+ createdAt: Date.now() - Math.floor(Math.random() * 2000),
+ money: Math.floor(Math.random() * 2000) * i,
+ progress: Math.ceil(Math.random() * 100) + 1,
+ memo:
+ i % 2 === 1
+ ? '寰堥暱寰堥暱寰堥暱寰堥暱寰堥暱寰堥暱寰堥暱鐨勬枃瀛楄灞曠ず浣嗘槸瑕佺暀涓嬪熬宸�'
+ : '绠�鐭娉ㄦ枃妗�',
+ });
}
-export default User;
+const columns = [
+ {
+ title: '鎺掑簭',
+ dataIndex: 'index',
+ valueType: 'indexBorder',
+ width: 48,
+ },
+ {
+ title: '搴旂敤鍚嶇О',
+ dataIndex: 'name',
+ render: (_) => <a>{_}</a>,
+ // 鑷畾涔夌瓫閫夐」鍔熻兘鍏蜂綋瀹炵幇璇峰弬鑰� https://ant.design/components/table-cn/#components-table-demo-custom-filter-panel
+ filterDropdown: () => (
+ <div style={{ padding: 8 }}>
+ <Input style={{ width: 188, marginBlockEnd: 8, display: 'block' }} />
+ </div>
+ ),
+ filterIcon: (filtered) => (
+ <SearchOutlined style={{ color: filtered ? '#1890ff' : undefined }} />
+ ),
+ },
+ {
+ title: '鍒涘缓鑰�',
+ dataIndex: 'creator',
+ valueEnum: {
+ all: { text: '鍏ㄩ儴' },
+ 浠樺皬灏�: { text: '浠樺皬灏�' },
+ 鏇蹭附涓�: { text: '鏇蹭附涓�' },
+ 鏋椾笢涓�: { text: '鏋椾笢涓�' },
+ 闄堝竻甯�: { text: '闄堝竻甯�' },
+ 鍏兼煇鏌�: { text: '鍏兼煇鏌�' },
+ },
+ },
+ {
+ title: '鐘舵��',
+ dataIndex: 'status',
+ initialValue: 'all',
+ filters: true,
+ onFilter: true,
+ valueEnum: {
+ all: { text: '鍏ㄩ儴', status: 'Default' },
+ close: { text: '鍏抽棴', status: 'Default' },
+ running: { text: '杩愯涓�', status: 'Processing' },
+ online: { text: '宸蹭笂绾�', status: 'Success' },
+ error: { text: '寮傚父', status: 'Error' },
+ },
+ },
+ {
+ title: '澶囨敞',
+ dataIndex: 'memo',
+ ellipsis: true,
+ copyable: true,
+ },
+ {
+ title: '鎿嶄綔',
+ width: 180,
+ key: 'option',
+ valueType: 'option',
+ render: () => [
+ <a key="link">閾捐矾</a>,
+ <a key="link2">鎶ヨ</a>,
+ <a key="link3">鐩戞帶</a>,
+ <TableDropdown
+ key="actionGroup"
+ menus={[
+ { key: 'copy', name: '澶嶅埗' },
+ { key: 'delete', name: '鍒犻櫎' },
+ ]}
+ />,
+ ],
+ },
+];
+
+export default () => {
+ return (
+ <ProTable
+ columns={columns}
+ request={(params, sorter, filter) => {
+ // 琛ㄥ崟鎼滅储椤逛細浠� params 浼犲叆锛屼紶閫掔粰鍚庣鎺ュ彛銆�
+ console.log(params, sorter, filter);
+ return Promise.resolve({
+ data: tableListDataSource,
+ success: true,
+ });
+ }}
+ rowKey="key"
+ pagination={{
+ showQuickJumper: true,
+ }}
+ search={{
+ layout: 'vertical',
+ defaultCollapsed: false,
+ }}
+ dateFormatter="string"
+ toolbar={{
+ title: '楂樼骇琛ㄦ牸',
+ tooltip: '杩欐槸涓�涓爣棰樻彁绀�',
+ }}
+ toolBarRender={() => [
+ <Button key="danger" danger>
+ 鍗遍櫓鎸夐挳
+ </Button>,
+ <Button key="show">鏌ョ湅鏃ュ織</Button>,
+ <Button type="primary" key="primary">
+ 鍒涘缓搴旂敤
+ </Button>,
+
+ <Dropdown
+ key="menu"
+ menu={{
+ items: [
+ {
+ label: '1st item',
+ key: '1',
+ },
+ {
+ label: '2nd item',
+ key: '2',
+ },
+ {
+ label: '3rd item',
+ key: '3',
+ },
+ ],
+ }}
+ >
+ <Button>
+ <EllipsisOutlined />
+ </Button>
+ </Dropdown>,
+ ]}
+ />
+ );
+};
\ No newline at end of file
diff --git a/zy-asrs-flow/src/pages/system/user/index.jsx b/zy-asrs-flow/src/pages/system/user/index.jsx
index 0cb63f3..096a38a 100644
--- a/zy-asrs-flow/src/pages/system/user/index.jsx
+++ b/zy-asrs-flow/src/pages/system/user/index.jsx
@@ -1,7 +1,177 @@
-import React from 'react';
+import React, { useState } from 'react';
import {
PageContainer,
} from '@ant-design/pro-components';
+import { EllipsisOutlined, SearchOutlined } from '@ant-design/icons';
+import { ProTable, TableDropdown } from '@ant-design/pro-components';
+import { Button, Dropdown, Input } from 'antd';
+
+const valueEnum = {
+ 0: 'close',
+ 1: 'running',
+ 2: 'online',
+ 3: 'error',
+};
+
+const tableListDataSource = [];
+
+const creators = ['浠樺皬灏�', '鏇蹭附涓�', '鏋椾笢涓�', '闄堝竻甯�', '鍏兼煇鏌�'];
+
+for (let i = 0; i < 25; i += 1) {
+ tableListDataSource.push({
+ key: i,
+ name: 'AppName',
+ containers: Math.floor(Math.random() * 20),
+ creator: creators[Math.floor(Math.random() * creators.length)],
+ status: valueEnum[((Math.floor(Math.random() * 10) % 4) + '')],
+ createdAt: Date.now() - Math.floor(Math.random() * 2000),
+ money: Math.floor(Math.random() * 2000) * i,
+ progress: Math.ceil(Math.random() * 100) + 1,
+ memo:
+ i % 2 === 1
+ ? '寰堥暱寰堥暱寰堥暱寰堥暱寰堥暱寰堥暱寰堥暱鐨勬枃瀛楄灞曠ず浣嗘槸瑕佺暀涓嬪熬宸�'
+ : '绠�鐭娉ㄦ枃妗�',
+ });
+}
+
+const columns = [
+ {
+ title: '鎺掑簭',
+ dataIndex: 'index',
+ valueType: 'indexBorder',
+ width: 48,
+ },
+ {
+ title: '搴旂敤鍚嶇О',
+ dataIndex: 'name',
+ render: (_) => <a>{_}</a>,
+ // 鑷畾涔夌瓫閫夐」鍔熻兘鍏蜂綋瀹炵幇璇峰弬鑰� https://ant.design/components/table-cn/#components-table-demo-custom-filter-panel
+ filterDropdown: () => (
+ <div style={{ padding: 8 }}>
+ <Input style={{ width: 188, marginBlockEnd: 8, display: 'block' }} />
+ </div>
+ ),
+ filterIcon: (filtered) => (
+ <SearchOutlined style={{ color: filtered ? '#1890ff' : undefined }} />
+ ),
+ },
+ {
+ title: '鍒涘缓鑰�',
+ dataIndex: 'creator',
+ valueEnum: {
+ all: { text: '鍏ㄩ儴' },
+ 浠樺皬灏�: { text: '浠樺皬灏�' },
+ 鏇蹭附涓�: { text: '鏇蹭附涓�' },
+ 鏋椾笢涓�: { text: '鏋椾笢涓�' },
+ 闄堝竻甯�: { text: '闄堝竻甯�' },
+ 鍏兼煇鏌�: { text: '鍏兼煇鏌�' },
+ },
+ },
+ {
+ title: '鐘舵��',
+ dataIndex: 'status',
+ initialValue: 'all',
+ filters: true,
+ onFilter: true,
+ valueEnum: {
+ all: { text: '鍏ㄩ儴', status: 'Default' },
+ close: { text: '鍏抽棴', status: 'Default' },
+ running: { text: '杩愯涓�', status: 'Processing' },
+ online: { text: '宸蹭笂绾�', status: 'Success' },
+ error: { text: '寮傚父', status: 'Error' },
+ },
+ },
+ {
+ title: '澶囨敞',
+ dataIndex: 'memo',
+ ellipsis: true,
+ copyable: true,
+ },
+ {
+ title: '鎿嶄綔',
+ width: 180,
+ key: 'option',
+ valueType: 'option',
+ render: () => [
+ <a key="link">閾捐矾</a>,
+ <a key="link2">鎶ヨ</a>,
+ <a key="link3">鐩戞帶</a>,
+ <TableDropdown
+ key="actionGroup"
+ menus={[
+ { key: 'copy', name: '澶嶅埗' },
+ { key: 'delete', name: '鍒犻櫎' },
+ ]}
+ />,
+ ],
+ },
+];
+
+const App = () => {
+ return (
+ <>
+ <PageContainer>
+ <ProTable
+ columns={columns}
+ request={(params, sorter, filter) => {
+ // 琛ㄥ崟鎼滅储椤逛細浠� params 浼犲叆锛屼紶閫掔粰鍚庣鎺ュ彛銆�
+ console.log(params, sorter, filter);
+ return Promise.resolve({
+ data: tableListDataSource,
+ success: true,
+ });
+ }}
+ rowKey="key"
+ pagination={{
+ showQuickJumper: true,
+ }}
+ search={{
+ layout: 'vertical',
+ defaultCollapsed: false,
+ }}
+ dateFormatter="string"
+ toolbar={{
+ title: '楂樼骇琛ㄦ牸',
+ tooltip: '杩欐槸涓�涓爣棰樻彁绀�',
+ }}
+ toolBarRender={() => [
+ <Button key="danger" danger>
+ 鍗遍櫓鎸夐挳
+ </Button>,
+ <Button key="show">鏌ョ湅鏃ュ織</Button>,
+ <Button type="primary" key="primary">
+ 鍒涘缓搴旂敤
+ </Button>,
+
+ <Dropdown
+ key="menu"
+ menu={{
+ items: [
+ {
+ label: '1st item',
+ key: '1',
+ },
+ {
+ label: '2nd item',
+ key: '2',
+ },
+ {
+ label: '3rd item',
+ key: '3',
+ },
+ ],
+ }}
+ >
+ <Button>
+ <EllipsisOutlined />
+ </Button>
+ </Dropdown>,
+ ]}
+ />
+ </PageContainer>
+ </>
+ );
+};
const User = () => {
return (
@@ -13,4 +183,4 @@
)
}
-export default User;
+export default App;
diff --git a/zy-asrs-flow/tsconfig.json b/zy-asrs-flow/tsconfig.json
index a3c2def..fa986e1 100644
--- a/zy-asrs-flow/tsconfig.json
+++ b/zy-asrs-flow/tsconfig.json
@@ -19,5 +19,5 @@
"@@test/*": ["./src/.umi-test/*"]
}
},
- "include": ["./**/*.d.ts", "./**/*.ts", "./**/*.tsx", "src/app.tsx", "src/utils/icon-util.js", "src/pages/User/Login/index1.jsx", "src/components/Footer/index.jsx", "src/components/HeaderDropdown/index.jsx"]
+ "include": ["./**/*.d.ts", "./**/*.ts", "./**/*.tsx", "src/app.tsx", "src/utils/icon-util.js", "src/pages/User/Login/index1.jsx", "src/components/Footer/index.jsx", "src/components/HeaderDropdown/index.jsx", "src/pages/system/host/components/UpdateForm.jsx", "src/pages/system/host/index.jsx"]
}
diff --git a/zy-asrs-wcs/src/main/resources/application.yml b/zy-asrs-wcs/src/main/resources/application.yml
index 9c8b120..2ad95fa 100644
--- a/zy-asrs-wcs/src/main/resources/application.yml
+++ b/zy-asrs-wcs/src/main/resources/application.yml
@@ -9,8 +9,11 @@
jmx:
enabled: false
datasource:
+ hikari:
+ validation-timeout: 3000
+ connection-test-query: select 1
driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://47.96.1.146:3306/asrs?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
+ url: jdbc:mysql://127.0.0.1:3306/asrs?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: xltys1995
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
--
Gitblit v1.9.1