-
聚合
-
-
-
-
-
{{ element.title }} :
-
+
+ 应用
+
+
+
+
+
+
+
+
+
+ {{ element.label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ element.title }}
-
+
+
+
+
+
+
+
+
+
+
+
{{ element.title }} :
+
- {{ opt }}
-
-
-
-
-
-
-
+
+ {{ opt }}
+
+
+
+
+
+
+
+
-
-
+
+
diff --git a/ui/src/index.css b/ui/src/index.css
new file mode 100644
index 0000000..9a059b2
--- /dev/null
+++ b/ui/src/index.css
@@ -0,0 +1,20 @@
+#app {
+ font-family: Avenir, Helvetica, Arial, sans-serif;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ text-align: center;
+ color: #2c3e50;
+ /* max-width: 1170px; */
+ margin-left: auto;
+ margin-right: auto;
+ padding-left: 0;
+ padding-right: 0;
+ box-sizing: border-box;
+}
+
+.wrapper {
+ width: 95%;
+ max-width: 1841px;
+ margin-left: auto;
+ margin-right: auto;
+}
diff --git a/ui/src/main.ts b/ui/src/main.ts
index 2101017..83d7e55 100644
--- a/ui/src/main.ts
+++ b/ui/src/main.ts
@@ -1,5 +1,6 @@
import { createApp } from 'vue'
import App from './App.vue'
+import './index.css'
import "./mock";
diff --git a/ui/src/plugins/vant.ts b/ui/src/plugins/vant.ts
index 49be5e1..bd9a751 100644
--- a/ui/src/plugins/vant.ts
+++ b/ui/src/plugins/vant.ts
@@ -3,7 +3,7 @@ import { App } from "vue";
import {
Button, Form, Tabs, Tag, Steps, AutoComplete, Table,
Input, Popover, Select, Upload, Divider,
- Descriptions, Popconfirm, Spin, Modal, Result, Empty, InputNumber
+ Descriptions, Popconfirm, Spin, Modal, Result, Empty, InputNumber, Card, Affix
} from "ant-design-vue";
import { InboxOutlined, StarFilled } from '@ant-design/icons-vue';
@@ -15,7 +15,7 @@ export default {
install: (app: App) => {
[Button, Form, Tabs, Tag, Steps, AutoComplete,
Input, Popover, Select, Upload, Divider,
- Descriptions, Popconfirm, Spin, Modal, Result, Empty, InputNumber, Table].forEach(v => app.use(v));
+ Descriptions, Popconfirm, Spin, Modal, Result, Empty, InputNumber, Affix, Table, Card].forEach(v => app.use(v));
app.component('inboxOutlined', InboxOutlined)
}
--
Gitee
From 801543acb8db008a5f39d13dacf58eeed0c30431 Mon Sep 17 00:00:00 2001
From: carson_git <543983849@qq.com>
Date: Wed, 16 Dec 2020 16:42:01 +0800
Subject: [PATCH 4/5] =?UTF-8?q?=E6=89=93=E5=8C=85=E7=A8=8B=E5=BA=8F?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
py/build/build.bat | 3 ++
py/{ => build}/build.py | 40 +++++++++++--------
py/build/others/startup_linux.sh | 1 +
py/build/others/startup_win.bat | 2 +
...3\347\273\237\350\246\201\346\261\202.txt" | 13 ++++++
py/startup.bat | 1 -
6 files changed, 42 insertions(+), 18 deletions(-)
create mode 100644 py/build/build.bat
rename py/{ => build}/build.py (52%)
create mode 100644 py/build/others/startup_linux.sh
create mode 100644 py/build/others/startup_win.bat
create mode 100644 "py/build/others/\347\263\273\347\273\237\350\246\201\346\261\202.txt"
delete mode 100644 py/startup.bat
diff --git a/py/build/build.bat b/py/build/build.bat
new file mode 100644
index 0000000..af93c97
--- /dev/null
+++ b/py/build/build.bat
@@ -0,0 +1,3 @@
+call activate py36
+python build.py
+pause
\ No newline at end of file
diff --git a/py/build.py b/py/build/build.py
similarity index 52%
rename from py/build.py
rename to py/build/build.py
index 4263fd7..f1d865b 100644
--- a/py/build.py
+++ b/py/build/build.py
@@ -1,28 +1,28 @@
+import sys
import compileall
import pathlib as plib
import shutil
import os
-m_dist_app_path = plib.Path('dist/app')
+os.chdir(plib.Path(__file__).parent)
+
+vinfo = sys.version_info
+
+
+m_dist_app_path = plib.Path(f'../dist/app{vinfo.major}{vinfo.minor}')
m_dist_src_path = m_dist_app_path / 'src'
m_dist_web_path = m_dist_app_path / 'web'
m_dist_main_path = m_dist_app_path / 'main.pyc'
m_dist_startup_path = m_dist_app_path / 'startup.bat'
-compileall.compile_dir(r'src')
-compileall.compile_file('main.py')
+compileall.compile_dir(r'../src')
+compileall.compile_file('../main.py')
print('编译完毕')
-if os.path.exists(m_dist_src_path):
- shutil.rmtree(m_dist_src_path)
-
-if os.path.exists(m_dist_web_path):
- shutil.rmtree(m_dist_web_path)
+if os.path.exists(m_dist_app_path):
+ shutil.rmtree(m_dist_app_path)
-if os.path.exists(m_dist_main_path):
- os.remove(m_dist_main_path)
-
-os.makedirs(m_dist_src_path)
+os.makedirs(m_dist_app_path)
print('清除旧文件完毕')
@@ -37,11 +37,14 @@ def to_folder(file: plib.Path):
del parts[-2]
parts[-1] = to_fileName(file)
# parts = [plib.Path(p) for p in parts]
+
+ parts = [p for p in parts if not all(s in ['.', '/'] for s in p)]
+
parts = plib.Path.joinpath(m_dist_app_path, *parts)
return parts
-fs = plib.Path('src').rglob('*.cpython-37.pyc')
+fs = plib.Path('../src').rglob('*.cpython-37.pyc')
fs = [(p, to_folder(p)) for p in fs]
for f in fs:
@@ -51,10 +54,13 @@ for f in fs:
shutil.copyfile(f[0], f[1])
-shutil.copyfile('__pycache__/main.cpython-37.pyc', m_dist_main_path)
+shutil.copyfile('../__pycache__/main.cpython-37.pyc', m_dist_main_path)
+
+shutil.copytree('../web', m_dist_web_path)
-shutil.copytree('web', m_dist_web_path)
-shutil.copyfile('startup.bat', m_dist_startup_path)
+for f in plib.Path('others').glob('*'):
+ shutil.copyfile(f, m_dist_app_path / f.name)
+# shutil.copyfile('../startup.bat', m_dist_startup_path)
-print('创建完成')
+print(f'创建完成-({vinfo})')
diff --git a/py/build/others/startup_linux.sh b/py/build/others/startup_linux.sh
new file mode 100644
index 0000000..268f2c6
--- /dev/null
+++ b/py/build/others/startup_linux.sh
@@ -0,0 +1 @@
+python main.pyc
\ No newline at end of file
diff --git a/py/build/others/startup_win.bat b/py/build/others/startup_win.bat
new file mode 100644
index 0000000..48f3210
--- /dev/null
+++ b/py/build/others/startup_win.bat
@@ -0,0 +1,2 @@
+python main.pyc
+pause
\ No newline at end of file
diff --git "a/py/build/others/\347\263\273\347\273\237\350\246\201\346\261\202.txt" "b/py/build/others/\347\263\273\347\273\237\350\246\201\346\261\202.txt"
new file mode 100644
index 0000000..586120c
--- /dev/null
+++ "b/py/build/others/\347\263\273\347\273\237\350\246\201\346\261\202.txt"
@@ -0,0 +1,13 @@
+python 3.6 或以上
+
+python 必需的库:
+- flask
+- pandas
+- webbrowser(应该是py内置的库)
+
+执行如下语句安装(使用了国内镜像):
+pip install pandas flask -i https://mirrors.aliyun.com/pypi/simple/
+
+
+浏览器要求:
+基本上市面上的主流浏览器都支持,IE就不考虑了
\ No newline at end of file
diff --git a/py/startup.bat b/py/startup.bat
deleted file mode 100644
index 7b67459..0000000
--- a/py/startup.bat
+++ /dev/null
@@ -1 +0,0 @@
-python main.py
\ No newline at end of file
--
Gitee
From 1f5cfa3c186905c4c38f9b91b91f36436d56de20 Mon Sep 17 00:00:00 2001
From: carson_git <543983849@qq.com>
Date: Wed, 16 Dec 2020 17:09:35 +0800
Subject: [PATCH 5/5] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=8C=BA=E6=B2=A1?=
=?UTF-8?q?=E6=9C=89=E5=B7=A6=E5=AF=B9=E9=BD=90=EF=BC=8C=E5=A4=8D=E5=88=B6?=
=?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=B2=A1=E6=9C=89=E5=B8=A6=E6=8D=A2=E8=A1=8C?=
=?UTF-8?q?=E7=AC=A6=E7=9A=84bug=20fix?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
ui/src/components/FunctionTabs/CodeBuilder/index.vue | 10 ++++++----
ui/src/mock/code.json | 3 +++
ui/src/mock/index.ts | 3 ++-
3 files changed, 11 insertions(+), 5 deletions(-)
create mode 100644 ui/src/mock/code.json
diff --git a/ui/src/components/FunctionTabs/CodeBuilder/index.vue b/ui/src/components/FunctionTabs/CodeBuilder/index.vue
index ce90761..cfa55c9 100644
--- a/ui/src/components/FunctionTabs/CodeBuilder/index.vue
+++ b/ui/src/components/FunctionTabs/CodeBuilder/index.vue
@@ -1,8 +1,7 @@
-
-
+
+
{{ code }}
-
复制
@@ -21,7 +20,7 @@ export default defineComponent({
let code = CodeBuilderStore.getStateToRefs().code;
let onCopy = () => {
- let inp = document.createElement("input");
+ let inp = document.createElement("textarea");
inp.value = code.value;
document.body.appendChild(inp);
inp.select(); // 选择对象;
@@ -42,4 +41,7 @@ export default defineComponent({
\ No newline at end of file
diff --git a/ui/src/mock/code.json b/ui/src/mock/code.json
new file mode 100644
index 0000000..ad35c3f
--- /dev/null
+++ b/ui/src/mock/code.json
@@ -0,0 +1,3 @@
+{
+ "code": "df = pd.read_excel('某咖啡公司销售数据.xlsx',sheet_name = 0,header = 0)\ncond = df.eval(\"(产品类别 in ['普茶', 'Espresso']) and (市场类别 == 'Major Market')\")\ndf = df[cond]"
+}
\ No newline at end of file
diff --git a/ui/src/mock/index.ts b/ui/src/mock/index.ts
index ee85920..3594f01 100644
--- a/ui/src/mock/index.ts
+++ b/ui/src/mock/index.ts
@@ -14,6 +14,7 @@ import cmds from "./commandersModel.json";
import file_upload from '@/mock/file_upload.json';
+import code from '@/mock/code.json';
import test_json from "./test.json";
@@ -56,7 +57,7 @@ export default function autoLoadData() {
DfStore.setData(table.table.fields, table.table.data, table.columnInfos)
PandasCmdStore.SetCorrect()
- CodeBuilderStore.update("df = pd.read_excel(
,sheetName = 0,header = 0)")
+ CodeBuilderStore.update(code.code)
CommandStore.setData(cmds)
--
Gitee