明道贯珠集(小白笔记)二更

分享  收藏
3 / 989

一、感谢

感谢明道云公司提供这么好的软件。非常感谢。

二、瞎叨叨

明道云是我用过的最合适的软件,经过几天的学习,感觉此软件代码量适中,界面优美,功能完善,官方文档详尽易懂,美中不足没有入门文档,故成此文,目的有二:1、为后来的小白探路;2、作为新手把自己做的放出来,还请各位高手斧正,提高自身能力。
官方文档是字典,不会就去查,本文将官方文档串起来,故名“贯珠”。

-----------------我是分割线---------------

一、环境搭建

宿主机:esxi 6.0u3
客户机:ubuntu-20.04.4-server
CPU:8 核心
内存:16G
硬盘 1:50G
硬盘 2:100G
第一次安装完成后,好像看到有 8 个 Java 进程,所以随手给了个 8 核心。
操作系统用 server 版本就行,明道云的安装、运行不需要图形界面,也就不需要带桌面版的发行版。
硬盘分区没用预设的 lvm,太复杂,直接格式化成了 2 个 ext4,50G 的挂在“/”目录下;100G 的挂载在“/data”目录下(自建,正常情况下 Linux 没有此目录),明道云在安装时,会自动使用“/data”挂载点存放数据,不知道是巧合还是安装程序自动扫描最大挂载点。
复习了一下官方文档,发现/data 文件夹就是默认的数据存放目录,之前瞎猫碰到死耗子了

系统在安装时取消所有的附加安装,只需安装“SSH 服务器?”就行(大约叫这个名字),多看几次就注意到了。
Ubuntu 默认不使用“root”账号,所以在安装“docker”和运行“明道云”服务时,需要在命令前加上“sudo”,否则会报错“权限不够”。
成功安装后,如果服务器重启,“sudo sh ./service.sh start”只能打开 38881 端口的后台页面,自己设置的端口打不开,需要运行“sudo sh ./service.sh restart”大约 3 分钟,就可以了。这个问题原因不明,官方教程也没提及。(为此重装了 2 次系统)
复习了一下官方文档,发现“bash ./service.sh start”是启动安装管理器的命令,正确启动服务的命令为:“bash ./service.sh startall”
CentOS 貌似不更新了,换了另外一个名字,不建议使用。
安装社区版的方法见官方文档,官方安装文档非常详尽,要做的是复制粘贴,只要键盘鼠标显示器没坏,完全无脑安装。

内存如下,分配了 16G 使用了 13G。

chariot@jftk:~$ free -m
total        used        free      shared  buff/cache   available
Mem:          16008       13004         290          14        2713        2659
Swap:          4095          19        4076

硬盘如下,50G 装系统感觉刚刚好,留点空间,以后可以玩点别的,使用的 esxi 的精简制备,也不浪费空间。数据盘看个人需求。

chariot@jftk:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            7.8G     0  7.8G   0% /dev
tmpfs           1.6G  1.4M  1.6G   1% /run
/dev/sda2        49G   20G   28G  42% /
tmpfs           7.9G     0  7.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           7.9G     0  7.9G   0% /sys/fs/cgroup
/dev/loop1       56M   56M     0 100% /snap/core18/2284
/dev/loop2       62M   62M     0 100% /snap/core20/1361
/dev/loop0       56M   56M     0 100% /snap/core18/2128
/dev/loop4       71M   71M     0 100% /snap/lxd/21029
/dev/loop3       62M   62M     0 100% /snap/core20/1376
/dev/loop6       44M   44M     0 100% /snap/snapd/14978
/dev/loop5       68M   68M     0 100% /snap/lxd/22526
/dev/sdb         98G  1.2G   92G   2% /data
tmpfs           1.6G     0  1.6G   0% /run/user/1000
/dev/loop7       44M   44M     0 100% /snap/snapd/15177

从 esxi 看到 CPU 消耗稳定在 2.0G-2.3G 之间。

二、正餐开始

没有足够理由,不要建立第二个应用,把所有的表格放在一个应用里,做好分组即可。

1. 做个人事档案

一个表格就解决的东西,入门必备,主要为了可以练手,做好了也有成就感。官方的应用库里,有一个现成的。

  1. 建立一个应用

  2. 建立一个应用项(就是一个表格)

  3. 编辑表单
    左边有很多控件,什么内容就用什么控件就可以。单击或者拖拽都可以。
    身份证就使用“证件”这个控件,可以防止出错。

    性别使用“文本”控件,默认值使用“函数计算”
    填入以下函数:

IF(MOD(MID(“这里选择身份证号的字段,没有双引号”,17,1),2),'男','女')

性别.png

年龄请高手指点,这里的做法是 使用“日期控件”建立“出生日期”的字段,这个字段如果不需要,可以设置隐藏,放在最后面,默认值使用函数计算,填入以下函数:

MID(“这里选择身份证号的字段,没有双引号”,7,8)

使用“公式控件”建立“年龄”字段,设置如下图:

年龄.png

4.保存
5. 使用
使用 Excel 导入的信息,公式不会进行计算,所以需要在 Excel 表格里做好性别和年龄 然后导入。从明道云直接新建的信息 可以直接计算出来。
-----------------2022 年 3 月 18 日的分割线---------------

2.一个应用项(一张表格)能做什么

自然是要录入信息了~
门慢特病 1.png

只有一张表格,于是做了几个视图,在设置里加个“数据过滤”就可以了
门慢特病 2.png

申请之后,可能是通过,可能是不通过,可能不通过之后补充材料再次申请,可能是导入的数据性别年龄不显示。于是加了 4 个按钮。

门慢特病.png

这四个按钮是通过下面方法加上的:
“编辑表单”“表单设置”“自定义动作”“添加按钮”

然后点一点就这样了
通过.png

“更新性别年龄”是用于导入 Excel 表格后,性别和年龄不能生成的解决方法
代码块.png

  1. 设置触发,“按钮触发”,从添加按钮跳过的默认。
  2. “添加代码块”在最下面的地方
  3. “使用 Python 语言”,这是小白必备技能,学习时间短,上手快,文档多。input.png
import time
idcard=input["身份证号"]
birthday=idcard[6:10]+'-'+idcard[10:12]+'-'+idcard[12:14]
year =idcard[6:10]
now = time.strftime("%Y")
age = int(now) - int(year)
sex = idcard[16:17]
sex =int(sex)
if sex%2:
    sex='男'
else:
    sex='女'
output = {'出生日期': birthday ,'年龄':age,'性别':sex}

以上代码运行环境 Python 3.8.10
以上代码会输出 3 个对象参数,分别为:“出生日期”,“年龄”,“性别”
以上代码在点“测试”时,100% 报错,因为“int(sex)”中的“sex”是空值,无法转换类型。可以先凑合着用,不好用再想办法解决。代码嘛,能跑就行~~
也可以把“idcard=input["身份证号"]” 改成“idcard=“370211191111111111””(去掉最外层的双引号),这个样子点测试就不会出错了。

4.最后再接一个更新字段的动作,把上个步骤获得的数据写入表格中
更新字段.png

-----------------2022 年 3 月 19 日的分割线---------------

3.两个应用项(两张表格)能做什么

目标:一张主表,一张辅助表;
主表设置“唯一”字段,不可重复,辅助表作为主表的“子表”没有“唯一”字段;
主表不可直接修改,通过辅助表的变更,来修改主表;(主表使用不同账户的权限进行限制,管理员可以直接修改。)
主表里的“子表”字段,跟随子表内容 自动更新。

开工:

  1. 主表中建立“子表”字段,并与子表关联;
  2. 新建工作流,
    2.1 工作表为子表 触发条件为“当新增或更新记录时”
    2.2 “获取单条数据”; 筛选数据为 主表 的“唯一值”;“未获取数据时”选择“在工作表里新增记录后继续执行”;再往下看还有字段的对应,把需要的填上。
    !!这一步骤必不可少,这一步骤是灵魂,这一步骤最关键!!
    !!要想修改某个表格数据,必须在工作流中有数据,所以需要通过条件和步骤获取数据!!
    2.3 然后设置如下图:
    更新记录.png
  3. 结束

打印:
“编辑表单” “表单设置” “打印模板” 在这里设置打印。
打开一条信息,这条信息的右上有三个点,可以套表打印,打印模板的设计 自行研究。

-----------------这是一条漂亮的分割线---------------

4.做个门面

有好多业务和流程,作个门面,当监控和快捷方式,这应该是小白最喜欢的环节,就不夺取大家的乐趣,自行研究吧。如下图。
门面.png

-----------------这是一条美丽的分割线---------------
至此,大体内容已完成,最后一个应用的数据量大,环节很多,需要打磨细节,以后最多再做个工资表,估计也没啥难度。如果可能会连接个数据库 查询其内容,因为是生产环境,心里还是没底的。