V3.2
- 增加项目审批流程机制,增加任务审核机制, 免费开放
- 项目账单模块从应用市场下架,免费开放
- 任务工时模块从应用市场下架,免费开放
- 调整收费策略 具体如下
- 1:0-2人免费
- 2:2-10人为体验优惠价 36.5元/人/年
- 3:11-∞ 为正常价168元/人/年
从3.1 更新到3.2的朋友,数据库需更新
ALTER TABLE `tw_project` ADD COLUMN `task_need_approval` int AFTER `workhour_real`, ADD COLUMN `task_approval_password1` varchar(50) AFTER `task_need_approval`, ADD COLUMN `task_approval_password2` varchar(50) AFTER `task_approval_password1`;
DROP TABLE IF EXISTS `tw_approver_category`;
CREATE TABLE `tw_approver_category` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) DEFAULT NULL,
`group` varchar(200) DEFAULT NULL COMMENT '公司代码',
`uniquecode` varchar(200) NOT NULL COMMENT '项目分组',
PRIMARY KEY (`id`,`uniquecode`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `tw_approver_template`;
CREATE TABLE `tw_approver_template` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`groupcode` varchar(200) DEFAULT NULL COMMENT '公司代码',
`uniquecode` varchar(200) NOT NULL COMMENT '项目分组',
`title` varchar(100) DEFAULT NULL,
`category` varchar(100) DEFAULT '1' COMMENT '审批分类,1:假勤,2:行政,3:财务,4:人事',
`icon` varchar(50) DEFAULT NULL,
`statue` tinyint(2) DEFAULT '1' COMMENT '启用状态',
`progress_steps` text,
PRIMARY KEY (`id`,`uniquecode`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `tw_project_approval`;
CREATE TABLE `tw_project_approval` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`groupcode` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`sender_code` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`send_time` datetime DEFAULT NULL,
`sender_name` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL,
`category` varchar(100) COLLATE utf8_unicode_ci DEFAULT '0' COMMENT '0:立项审批,1结项审批',
`uniquecode` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL,
`category_name` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
`current_statue` int(5) DEFAULT '0' COMMENT '0:进行中,-1:已拒绝,1已完成',
`importance` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL,
`approval_title` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL,
`dead_line` datetime DEFAULT NULL,
`projectcode` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`current_approval_step` int(10) DEFAULT '0',
`current_checker_code` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`current_checker_name` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`responsercode` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`begin_time` datetime DEFAULT NULL,
`responsername` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
`buget` float(10,0) DEFAULT NULL,
`project_detail` longtext COLLATE utf8_unicode_ci,
`checkerlist` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=44 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
DROP TABLE IF EXISTS `tw_project_approval_progress`;
CREATE TABLE `tw_project_approval_progress` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`groupcode` varchar(100) DEFAULT NULL COMMENT '公司代码',
`approval_uniquecode` varchar(100) NOT NULL COMMENT '项目分组',
`checker` varchar(100) DEFAULT NULL,
`check_date` datetime DEFAULT NULL,
`comment` text,
`relate_file` varchar(255) DEFAULT NULL,
`check_statue` tinyint(5) DEFAULT '0' COMMENT '1:通过,-1:拒绝',
`checkercode` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`,`approval_uniquecode`)
) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `tw_project_approval_subscript_members`;
CREATE TABLE `tw_project_approval_subscript_members` (
`id` int(20) NOT NULL AUTO_INCREMENT,
`groupcode` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`approval_code` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`usercode` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`username` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`userimage` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
DROP TABLE IF EXISTS `tw_projectapproval_files`;
CREATE TABLE `tw_projectapproval_files` (
`id` int(20) NOT NULL AUTO_INCREMENT,
`uniquecode` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`groupcode` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`system_path` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`url` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL,
`typef` varchar(50) COLLATE utf8_unicode_ci DEFAULT '1' COMMENT '1:支持文档 2:对话 3,财务',
`update_date` datetime DEFAULT NULL,
`size` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
`creator` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`parentcode` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `searchindex` (`uniquecode`,`name`)
) ENGINE=InnoDB AUTO_INCREMENT=114 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
V3.1.2
- 修复复制任务无法复制子任务问题
- 子任务暂时只支持一层子任务
- 任务概览支持已完成任务显示和删选,支持时间删选
无需更新数据库!
V3.1.1 修复已知BUG,优化项目统计和任务统计界面
无需更新数据库!
V3.1.0 工时统计,邮件提醒,统计优化
1:(需激活)增加工时统计功能,可以统计设置任务工时,项目自动统计总工时
2:增加结束项目时,邮件发送提醒,需配置文件里进行SMTP服务器配置
3:优化数据统计面板功能,项目统计和任务统计分开,统计更加清晰
3.1.0 数据库需要更新
ALTER TABLE `tw_task` ADD COLUMN `workhour_plan` int(10) AFTER `total_profit`, ADD COLUMN `workhour_real` int(10) AFTER `workhour_plan`;
ALTER TABLE `tw_project` ADD COLUMN `workhour_plan` int(10) AFTER `total_profit`, ADD COLUMN `workhour_real` int(10) AFTER `workhour_plan`;
INSERT INTO `tw_appsmarket` VALUES ('3', '工时统计', 'xmksTEt1reAeZuXIIiY54jn1QbKXeaAbKsfHh3eddBIIc', 'worktime', '', '168', '/public/static/img/worktime.png', null);
V3.0.3 增加暗黑模式切换
3.0.3 数据库需要更新
ALTER TABLE `tw_member` ADD COLUMN `darkmode` tinyint DEFAULT 0 COMMENT '是否为黑暗模式' AFTER `space_used`;
V3.0.2 修复已知问题,优化界面样式
- 项目详情增加任务跳转按钮
- 修复无法修改公司名称bug
- 其他功能优化
- 优化一些界面样式,让界面更干净清新
该版本无数据库升级
V3.0.1 修复已知问题,恢复windows 端支持
3.0 升到3.0.1 数据库需更新如下
ALTER TABLE `tw_project_group` CHANGE COLUMN `order` `orderindex` int(10) DEFAULT NULL;
ALTER TABLE `tw_projecttask_group` CHANGE COLUMN `order` `orderindex` int(10) DEFAULT NULL;
ALTER TABLE `tw_task_files` ADD COLUMN `billcode` varchar(100) DEFAULT NULL COMMENT '账单编号' AFTER `creator`;
ALTER TABLE `tw_bills` ADD COLUMN `billcode` varchar(100) AFTER `taskcode`;
V3.0 支持审批模版,项目账单等
设置账单类型
添加新账单
任务账单数据统计
项目账单数据统计
导出项目账单数据统计
审批模版主面板
- 可以删除模版
- 可以启用/禁用(锁图标)模版,禁用后普通成员无法查看该模版
- 可以新建更新模版
- 可以从模版中创建审批
- 可以创建模版分类
创建模版
- 根据公司业务流程自定义各式各样的审批流程
- 设置审批人员列表(请先在部门管理中设置每个部门的部门领导)
发起审批
审批主面板
- 审批类型分为 待审批,我发起的,被拒绝的,已完成的,抄送我的。五大类。
- 可以点击进度栏去查看当前的审批节点
- 审批完成后可打印
- 可按时间范围去搜索审批记录
- 可按审批重要程度去筛选审批记录
应用市场
2.1.1 升到3.0数据库更新
ALTER TABLE `tw_task` ADD COLUMN `total_income` decimal(10,2) DEFAULT NULL COMMENT '总收入';
ALTER TABLE `tw_task` ADD COLUMN `total_spending` decimal(10,2) DEFAULT NULL COMMENT '总支出';
ALTER TABLE `tw_task` ADD COLUMN `total_profit` decimal(10,2) DEFAULT NULL COMMENT '总盈利';
ALTER TABLE `tw_project` ADD COLUMN `total_income` decimal(10,2) DEFAULT NULL COMMENT '总收入';
ALTER TABLE `tw_project` ADD COLUMN `total_spending` decimal(10,2) DEFAULT NULL COMMENT '总支出';
ALTER TABLE `tw_project` ADD COLUMN `total_profit` decimal(10,2) DEFAULT NULL COMMENT '总盈利';
-- ----------------------------
-- Table structure for `tw_approval_category`
-- ----------------------------
DROP TABLE IF EXISTS `tw_approval_category`;
CREATE TABLE `tw_approval_category` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) DEFAULT NULL,
`group` varchar(200) DEFAULT NULL COMMENT '公司代码',
`uniquecode` varchar(200) NOT NULL COMMENT '项目分组',
PRIMARY KEY (`id`,`uniquecode`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of `tw_approval_category`
-- ----------------------------
BEGIN;
INSERT INTO `tw_approval_category` VALUES ('2', '请假&考勤', 'xmksTEt1reAeZuXIIiY54jn1QbKXeaAbKsfHh3eddBIIc', 'xmksTEt1reAeZuXIIiY54jn1QbKXeaAbKsfHh3eddBIIc1111'), ('3', '行政', 'xmksTEt1reAeZuXIIiY54jn1QbKXeaAbKsfHh3eddBIIc', 'xmksTEt1reAeZuXIIiY54jn1QbKXeaAbKsfHh3eddBIIc223333'), ('4', '财务', 'xmksTEt1reAeZuXIIiY54jn1QbKXeaAbKsfHh3eddBIIc', '46idvd23p68ly6y33p3675p4egg94i8x0hvac5eptq4cw9v75g'), ('7', '人事', 'xmksTEt1reAeZuXIIiY54jn1QbKXeaAbKsfHh3eddBIIc', '6e86fahl867ev84g6g91p81f5yf0uea0a72lucr396ifbggphk');
COMMIT;
-- ----------------------------
-- Table structure for `tw_approval_files`
-- ----------------------------
DROP TABLE IF EXISTS `tw_approval_files`;
CREATE TABLE `tw_approval_files` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`groupcode` varchar(200) DEFAULT NULL COMMENT '公司代码',
`approval_uniquecode` varchar(200) NOT NULL COMMENT '项目分组',
`filename` varchar(100) DEFAULT NULL,
`uploaddate` datetime DEFAULT NULL,
`filepath` varchar(100) DEFAULT NULL,
`uploader` varchar(100) DEFAULT NULL,
`filetype` varchar(50) DEFAULT NULL,
`fileurl` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`,`approval_uniquecode`)
) ENGINE=InnoDB AUTO_INCREMENT=47 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Table structure for `tw_approval_progress`
-- ----------------------------
DROP TABLE IF EXISTS `tw_approval_progress`;
CREATE TABLE `tw_approval_progress` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`groupcode` varchar(100) DEFAULT NULL COMMENT '公司代码',
`approval_uniquecode` varchar(100) NOT NULL COMMENT '项目分组',
`checker` varchar(100) DEFAULT NULL,
`check_date` datetime DEFAULT NULL,
`comment` text,
`relate_file` varchar(255) DEFAULT NULL,
`check_statue` tinyint(5) DEFAULT '0' COMMENT '1:通过,-1:拒绝',
`checkercode` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`,`approval_uniquecode`)
) ENGINE=InnoDB AUTO_INCREMENT=53 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Table structure for `tw_approval_subscript_members`
-- ----------------------------
DROP TABLE IF EXISTS `tw_approval_subscript_members`;
CREATE TABLE `tw_approval_subscript_members` (
`id` int(20) NOT NULL AUTO_INCREMENT,
`groupcode` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`approval_code` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`usercode` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`username` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`userimage` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=62 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-- ----------------------------
-- Table structure for `tw_approval_template`
-- ----------------------------
DROP TABLE IF EXISTS `tw_approval_template`;
CREATE TABLE `tw_approval_template` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`xmldata` longtext,
`groupcode` varchar(200) DEFAULT NULL COMMENT '公司代码',
`uniquecode` varchar(200) NOT NULL COMMENT '项目分组',
`title` varchar(100) DEFAULT NULL,
`category` varchar(100) DEFAULT '1' COMMENT '审批分类,1:假勤,2:行政,3:财务,4:人事',
`jsondata` text,
`filekeyvalue` text,
`icon` varchar(50) DEFAULT NULL,
`isneed_files` int(4) DEFAULT '1',
`progress_steps` text,
`statue` tinyint(2) DEFAULT '1' COMMENT '启用状态',
PRIMARY KEY (`id`,`uniquecode`)
) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of `tw_approval_template`
-- ----------------------------
BEGIN;
INSERT INTO `tw_approval_template` VALUES ('29', '<form-template xmlns=\"http://www.w3.org/1999/xhtml\"><fields><field type=\"select\" required=\"false\" label=\"假期类型\" class-name=\"form-control\" name=\"select-1688286348302-0\" access=\"false\" multiple=\"false\"><option label=\"年假\" value=\"年假\" selected=\"selected\">年假</option><option label=\"季度假\" value=\"季度假\">季度假</option><option label=\"事假\" value=\"事假\">事假</option><option label=\"带薪事假\" value=\"带薪事假\">带薪事假</option><option label=\"病假\" value=\"病假\">病假</option><option label=\"产假\" value=\"产假\">产假</option><option label=\"婚假\" value=\"婚假\">婚假</option><option label=\"陪产假\" value=\"陪产假\">陪产假</option><option label=\"丧假\" value=\"丧假\">丧假</option><option label=\"调休假\" value=\"调休假\">调休假</option><option label=\"哺乳假\" value=\"哺乳假\">哺乳假</option></field><field type=\"date\" required=\"false\" label=\"开始时间\" class-name=\"form-control\" name=\"date-1688286517077-0\" access=\"false\"></field><field type=\"date\" required=\"false\" label=\"结束时间\" class-name=\"form-control\" name=\"date-1688286528533-0\" access=\"false\"></field><field type=\"number\" required=\"false\" label=\"请假天数\" class-name=\"form-control\" name=\"number-1688286545786-0\" access=\"false\"></field><field type=\"textarea\" required=\"false\" label=\"请假理由\" class-name=\"form-control\" name=\"textarea-1688286560713-0\" access=\"false\" subtype=\"textarea\"></field></fields></form-template>', 'xmksTEt1reAeZuXIIiY54jn1QbKXeaAbKsfHh3eddBIIc', 'ce42t7e7m5x9n6l7ne2e172k0zq1eam4swoujox9c9vy4ifc10', '请假', 'xmksTEt1reAeZuXIIiY54jn1QbKXeaAbKsfHh3eddBIIc1111', '[{\"type\":\"select\",\"required\":false,\"label\":\"假期类型\",\"className\":\"form-control\",\"name\":\"select-1688286348302-0\",\"access\":false,\"multiple\":false,\"values\":[{\"label\":\"年假\",\"value\":\"年假\",\"selected\":true},{\"label\":\"季度假\",\"value\":\"季度假\",\"selected\":false},{\"label\":\"事假\",\"value\":\"事假\",\"selected\":false},{\"label\":\"带薪事假\",\"value\":\"带薪事假\",\"selected\":false},{\"label\":\"病假\",\"value\":\"病假\",\"selected\":false},{\"label\":\"产假\",\"value\":\"产假\",\"selected\":false},{\"label\":\"婚假\",\"value\":\"婚假\",\"selected\":false},{\"label\":\"陪产假\",\"value\":\"陪产假\",\"selected\":false},{\"label\":\"丧假\",\"value\":\"丧假\",\"selected\":false},{\"label\":\"调休假\",\"value\":\"调休假\",\"selected\":false},{\"label\":\"哺乳假\",\"value\":\"哺乳假\",\"selected\":false}]},{\"type\":\"date\",\"required\":false,\"label\":\"开始时间\",\"className\":\"form-control\",\"name\":\"date-1688286517077-0\",\"access\":false},{\"type\":\"date\",\"required\":false,\"label\":\"结束时间\",\"className\":\"form-control\",\"name\":\"date-1688286528533-0\",\"access\":false},{\"type\":\"number\",\"required\":false,\"label\":\"请假天数\",\"className\":\"form-control\",\"name\":\"number-1688286545786-0\",\"access\":false},{\"type\":\"textarea\",\"required\":false,\"label\":\"请假理由\",\"className\":\"form-control\",\"name\":\"textarea-1688286560713-0\",\"access\":false,\"subtype\":\"textarea\"}]', 'select-1688286348302-0@假期类型&date-1688286517077-0@开始时间&date-1688286528533-0@结束时间&number-1688286545786-0@请假天数&textarea-1688286560713-0@请假理由', 'mdi-bag-suitcase', '1', '[{\"text\":\"1_topdepartmentresponser_直属上级部门负责人\"}]', '1'), ('30', '<form-template xmlns=\"http://www.w3.org/1999/xhtml\"><fields><field type=\"select\" required=\"false\" label=\"报销类型\" class-name=\"form-control\" name=\"select-1688287102507-0\" access=\"false\" multiple=\"false\"><option label=\"差旅费\" value=\"差旅费\" selected=\"selected\">差旅费</option><option label=\"住宿费\" value=\"住宿费\">住宿费</option><option label=\"交通费\" value=\"交通费\">交通费</option><option label=\"招待费\" value=\"招待费\">招待费</option><option label=\"团建费\" value=\"团建费\">团建费</option><option label=\"通讯费\" value=\"通讯费\">通讯费</option></field><field type=\"number\" required=\"false\" label=\"报销金额\" class-name=\"form-control\" name=\"number-1688287208206-0\" access=\"false\"></field><field type=\"textarea\" required=\"false\" label=\"报销理由\" class-name=\"form-control\" name=\"textarea-1688287220957-0\" access=\"false\" subtype=\"textarea\"></field></fields></form-template>', 'xmksTEt1reAeZuXIIiY54jn1QbKXeaAbKsfHh3eddBIIc', 'g3cf93v7uq2ymht0z505a35wh7d8fss9u6kz57aech3fv1oe7k', '费用报销', '46idvd23p68ly6y33p3675p4egg94i8x0hvac5eptq4cw9v75g', '[{\"type\":\"select\",\"required\":false,\"label\":\"报销类型\",\"className\":\"form-control\",\"name\":\"select-1688287102507-0\",\"access\":false,\"multiple\":false,\"values\":[{\"label\":\"差旅费\",\"value\":\"差旅费\",\"selected\":true},{\"label\":\"住宿费\",\"value\":\"住宿费\",\"selected\":false},{\"label\":\"交通费\",\"value\":\"交通费\",\"selected\":false},{\"label\":\"招待费\",\"value\":\"招待费\",\"selected\":false},{\"label\":\"团建费\",\"value\":\"团建费\",\"selected\":false},{\"label\":\"通讯费\",\"value\":\"通讯费\",\"selected\":false}]},{\"type\":\"number\",\"required\":false,\"label\":\"报销金额\",\"className\":\"form-control\",\"name\":\"number-1688287208206-0\",\"access\":false},{\"type\":\"textarea\",\"required\":false,\"label\":\"报销理由\",\"className\":\"form-control\",\"name\":\"textarea-1688287220957-0\",\"access\":false,\"subtype\":\"textarea\"}]', 'select-1688287102507-0@报销类型&number-1688287208206-0@报销金额&textarea-1688287220957-0@报销理由', 'mdi-currency-cny', '1', '[{\"text\":\"1_topdepartmentresponser_直属上级部门负责人\"}]', '1'), ('32', '<form-template xmlns=\"http://www.w3.org/1999/xhtml\"><fields><field type=\"text\" required=\"false\" label=\"对方公司名称\" class-name=\"form-control\" name=\"text-1688287545760-0\" access=\"false\" subtype=\"text\"></field><field type=\"text\" required=\"false\" label=\"对方公司银行名称\" class-name=\"form-control\" name=\"text-1688287607692-0\" access=\"false\" subtype=\"text\"></field><field type=\"text\" required=\"false\" label=\"对方银行账号\" class-name=\"form-control\" name=\"text-1688287636424-0\" access=\"false\" subtype=\"text\"></field><field type=\"textarea\" required=\"false\" label=\"付款理由\" class-name=\"form-control\" name=\"textarea-1688287314468-0\" access=\"false\" subtype=\"textarea\"></field><field type=\"number\" required=\"false\" label=\"付款金额\" class-name=\"form-control\" name=\"number-1688287336747-0\" access=\"false\"></field><field type=\"select\" required=\"false\" label=\"付款方式\" class-name=\"form-control\" name=\"select-1688287359983-0\" access=\"false\" multiple=\"false\"><option label=\"现金\" value=\"现金\" selected=\"selected\">现金</option><option label=\"银行卡\" value=\"银行卡\">银行卡</option><option label=\"支票\" value=\"支票\">支票</option><option label=\"电汇\" value=\"电汇\">电汇</option><option label=\"汇票\" value=\"汇票\">汇票</option><option label=\"贷记\" value=\"贷记\">贷记</option></field><field type=\"date\" required=\"false\" label=\"要求付款日期\" class-name=\"form-control\" name=\"date-1688287461799-0\" access=\"false\"></field></fields></form-template>', 'xmksTEt1reAeZuXIIiY54jn1QbKXeaAbKsfHh3eddBIIc', 'xhf8hzq0h28skfsvea3egqv212pjph9fj547lhd6cg6qcs7bkb', '对公转账', '46idvd23p68ly6y33p3675p4egg94i8x0hvac5eptq4cw9v75g', '[{\"type\":\"text\",\"required\":false,\"label\":\"对方公司名称\",\"className\":\"form-control\",\"name\":\"text-1688287545760-0\",\"access\":false,\"subtype\":\"text\"},{\"type\":\"text\",\"required\":false,\"label\":\"对方公司银行名称\",\"className\":\"form-control\",\"name\":\"text-1688287607692-0\",\"access\":false,\"subtype\":\"text\"},{\"type\":\"text\",\"required\":false,\"label\":\"对方银行账号\",\"className\":\"form-control\",\"name\":\"text-1688287636424-0\",\"access\":false,\"subtype\":\"text\"},{\"type\":\"textarea\",\"required\":false,\"label\":\"付款理由\",\"className\":\"form-control\",\"name\":\"textarea-1688287314468-0\",\"access\":false,\"subtype\":\"textarea\"},{\"type\":\"number\",\"required\":false,\"label\":\"付款金额\",\"className\":\"form-control\",\"name\":\"number-1688287336747-0\",\"access\":false},{\"type\":\"select\",\"required\":false,\"label\":\"付款方式\",\"className\":\"form-control\",\"name\":\"select-1688287359983-0\",\"access\":false,\"multiple\":false,\"values\":[{\"label\":\"现金\",\"value\":\"现金\",\"selected\":true},{\"label\":\"银行卡\",\"value\":\"银行卡\",\"selected\":false},{\"label\":\"支票\",\"value\":\"支票\",\"selected\":false},{\"label\":\"电汇\",\"value\":\"电汇\",\"selected\":false},{\"label\":\"汇票\",\"value\":\"汇票\",\"selected\":false},{\"label\":\"贷记\",\"value\":\"贷记\",\"selected\":false}]},{\"type\":\"date\",\"required\":false,\"label\":\"要求付款日期\",\"className\":\"form-control\",\"name\":\"date-1688287461799-0\",\"access\":false}]', 'text-1688287545760-0@对方公司名称&text-1688287607692-0@对方公司银行名称&text-1688287636424-0@对方银行账号&textarea-1688287314468-0@付款理由&number-1688287336747-0@付款金额&select-1688287359983-0@付款方式&date-1688287461799-0@要求付款日期', 'mdi-currency-cny', '1', '[{\"text\":\"1_topdepartmentresponser_直属上级部门负责人\"}]', '1');
COMMIT;
-- ----------------------------
-- Table structure for `tw_approval`
-- ----------------------------
DROP TABLE IF EXISTS `tw_approval`;
CREATE TABLE `tw_approval` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`groupcode` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`approval_text` text COLLATE utf8_unicode_ci,
`sender_code` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`send_time` datetime DEFAULT NULL,
`sender_name` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL,
`category` varchar(100) COLLATE utf8_unicode_ci DEFAULT '0',
`uniquecode` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL,
`category_name` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
`current_statue` int(5) DEFAULT '0' COMMENT '0:进行中,-1:已拒绝,1已完成',
`importance` tinyint(5) DEFAULT NULL,
`approval_title` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL,
`dead_line` datetime DEFAULT NULL,
`projectcode` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`taskcode` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`current_approval_step` int(10) DEFAULT '0',
`current_checker_code` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`current_checker_name` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`template_code` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-- ----------------------------
-- Table structure for `tw_appsmarket`
-- ----------------------------
DROP TABLE IF EXISTS `tw_appsmarket`;
CREATE TABLE `tw_appsmarket` (
`id` int(20) NOT NULL AUTO_INCREMENT,
`name` varchar(100) DEFAULT NULL,
`group` varchar(200) DEFAULT NULL COMMENT '公司代码',
`appkey` varchar(20) DEFAULT NULL,
`license` varchar(200) DEFAULT NULL COMMENT '项目分组',
`price` varchar(20) DEFAULT NULL,
`image` varchar(100) DEFAULT NULL,
`introdution` varchar(200) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of `tw_appsmarket`
-- ----------------------------
BEGIN;
INSERT INTO `tw_appsmarket` VALUES ('1', '流程审批', 'xmksTEt1reAeZuXIIiY54jn1QbKXeaAbKsfHh3eddBIIc', 'approval', '', '840', '/public/static/approval/approve.png', 'https://blog.whatssaas.com/archives/liu-cheng-shen-pi-jie-shao'), ('2', '项目账单', 'xmksTEt1reAeZuXIIiY54jn1QbKXeaAbKsfHh3eddBIIc', 'projectbills', '', '168', '/public/static/project/financial.png', null);
COMMIT;
-- ----------------------------
-- Table structure for `tw_bills`
-- ----------------------------
DROP TABLE IF EXISTS `tw_bills`;
CREATE TABLE `tw_bills` (
`id` int(20) NOT NULL AUTO_INCREMENT,
`operator` varchar(100) CHARACTER SET utf8 DEFAULT NULL,
`group` varchar(200) CHARACTER SET utf8 DEFAULT NULL COMMENT '公司代码',
`category` tinyint(1) DEFAULT NULL,
`categoryname` varchar(50) CHARACTER SET utf8 DEFAULT NULL,
`money` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
`description` text CHARACTER SET utf8,
`updatetime` datetime DEFAULT NULL,
`projectcode` varchar(100) CHARACTER SET utf8 DEFAULT NULL,
`taskcode` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-- ----------------------------
-- Table structure for `tw_billtype`
-- ----------------------------
DROP TABLE IF EXISTS `tw_billtype`;
CREATE TABLE `tw_billtype` (
`id` int(20) NOT NULL AUTO_INCREMENT,
`name` varchar(100) DEFAULT NULL,
`group` varchar(200) DEFAULT NULL COMMENT '公司代码',
`category` tinyint(1) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
V2.1.1(稳定版下载)
重磅更新
支持项目自定义任务字段,用户可根据自身业务需求,在基础字段之上新增额外的自定义字段来适配自己公司的业务需求
数据库更新,2.0.0 或2.0.1 升级到2.1.1需要更新下面sql语句
DROP TABLE IF EXISTS `tw_project_settaskfields`;
CREATE TABLE `tw_project_settaskfields` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`xmldata` longtext,
`groupcode` varchar(200) DEFAULT NULL COMMENT '公司代码',
`projectcode` varchar(200) DEFAULT NULL,
`jsondata` text,
`filekeyvalue` text,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8;
ALTER TABLE `tw_task` ADD COLUMN `customfieldsvalue` longtext DEFAULT NULL;
ALTER TABLE `tw_task` ADD COLUMN `formserialize` longtext DEFAULT NULL;
V2.0
新增
1.支持DWG格式文件在线预览(需从配置conf文件中打开或关闭)
2.支持中文名登录
3.项目和任务支持表格视图,甘特图视图
4.项目和任务人员支持批量选择
5.项目设置关联项目
6.项目和任务详情新增日志面板
7.项目和任务支持多文件同时上传
8.项目支持通过标签过滤
9.项目可配置 任务人员是否自动跟随项目成员
10.项目支持查看父级下所有子级项目
11.任务看板添加开始时间和结束时间
12.任务阶段标题支持排序
13.聊天记录 管理员可删除
14.任务标记为结束优化
15.网盘图片可预览小图
修复
1.添加成员时需要刷新才能选择职位
2.任务进度条是否有bug,增加任务结束时间标记,任务结束后,进度条按结束时间计算
3.修正删除任务描述提示更友好
4.网盘文件设置权限-bug
1.9升2.0 用户需要跟新数据库 请参考以下的数据库增量更新部分
DROP TABLE IF EXISTS `tw_project_relateproject`;
CREATE TABLE `tw_project_relateproject` (
`id` int(20) NOT NULL AUTO_INCREMENT,
`relateprojectcode` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`groupcode` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`projectcode` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`url` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL,
`creator` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL,
`is_preproject` tinyint(4) DEFAULT '0',
PRIMARY KEY (`id`),
KEY `searchindex` (`relateprojectcode`,`name`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
ALTER TABLE `tw_tags` ADD COLUMN `clicktimes` int(5);
ALTER TABLE `tw_project` ADD COLUMN `taskmembersfollow` int(2) DEFAULT 0;
V1.9(Alpha测试阶段,开放下载)
新增
1.企业网盘多级目录导航支持
2.支持多管理员配置
优化
1.默认启动语言为中文
2.企业网文件夹分享后支持继续查看子文件夹和文件
3.企业网盘创建文件后自动刷新显示
4.操作日志查看只开放给管理员
5.网盘文件权限新增创建文件夹权限并授权
6.项目分类支持无限子层级
7.项目增加未开始状态栏
8.项目开始日期更改为用户自定义,不再默认为创建项目日期
9.任务搜索视图修复,支持自定义将搜索条件设置为视图,方便用户快速定位任务
10.任务紧急程度可配置
11.文件预览服务插件升级,PDF预览时用户无法下载和打印,右击保存,MP3,MP4等文件也可以直接播放
12.文件分享升级,支持复制链接,支持设置分享有效期,生成随机密码
13. 数据面板 项目部分小优化,统计进行中的项目和总项目数,可直接跳转到项目界面
1.8用户升级到1.9,请增量更新下面数据库
数据库升级
ALTER TABLE tw_project_group
ADD COLUMN pid
int DEFAULT 0;
app.conf 配置文件不需要升级,其他文件直接覆盖
V1.8(Alpha测试阶段,已开放下载)
1.支持部门设置部门负责人
2.支持设置子部门,不限层级
3.文件系统左侧支持加入多选框支持多选操作
4.OKR支持按标题搜索
5.修复一些已知的BUG
若你为版本升级,请根据你当前版本的版本号增量去升级数据库到最新
–v1.8
ALTER TABLE tw_project
ADD INDEX searchindex
(uniquecode
, name
) comment ‘’;
ALTER TABLE tw_task
ADD INDEX searchindex
(uniquecode
, name
) comment ‘’;
ALTER TABLE tw_disk
DROP INDEX name
, ADD INDEX name
USING BTREE (name
, uniquecode
) comment ‘’;
ALTER TABLE tw_project_files
ADD INDEX searchindex
(uniquecode
, name
) comment ‘’;
ALTER TABLE tw_task_files
ADD INDEX searchindex
(uniquecode
, name
) comment ‘’;
ALTER TABLE tw_department
ADD COLUMN tag
varchar(50) AFTER headername
;
V1.7.1
修复一些bug
update tw_department
set parent_id
=‘0’;
ALTER TABLE tw_department
ADD COLUMN headercode
varchar(100) COMMENT ‘部门负责人编码’ AFTER space_used
, ADD COLUMN headername
varchar(100) COMMENT ‘部门负责人姓名’ AFTER headercode
;
V1.7
1.支持部门设置空间限制,支持统计所有员工空间使用情况和总使用情况
2.支持文件另存为历史版本
3.支持从历史版本恢复文件
4.支持锁定文件
5.员工信息支持手机和工号
6.支持批量导入,导出员工资料
v1.6升v.1.7用户注意查看whatsaas.sql文件 更新增量sql语句 并更新语言文件,更新静态文件
V1.6
1.支持在线创建word和excel文件(需onlyoffice组件支持)
2.优化上传,支持进度条显示
3.支持文档模版,你可以将文档保存为模版,供下次直接从模版文件中创建文件
V1.5.1升V1.6用户,请查看whatsaas.sql文件 更新增量sql语句 并更新语言文件
V1.5.1
1.增强日志描述,可以清晰知道内容的变化情况
2.日志支持按日志类型,时间断等条件搜索和导出
3.修复一些已知的bugs
V1.5升V1.5.1 需升级数据库,更新语言包文件,静态文件可直接覆盖
– V1.5.1版本 更新增强日志功能,增加文件更改记录
ALTER TABLE tw_actionlogs
CHANGE COLUMN action_detail
action_detail
text CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL, ADD COLUMN action_type
tinyint(3) AFTER action_man
;
ALTER TABLE tw_actionlogs
ADD COLUMN parent_topcode
varchar(100) AFTER action_type
, ADD COLUMN parent_subcode
varchar(100) AFTER parent_topcode
;
ALTER TABLE tw_actionlogs
CHANGE COLUMN id
id
bigint(20) NOT NULL AUTO_INCREMENT;
ALTER TABLE tw_member
CHANGE COLUMN enable_mfa
enable_mfa
varchar(3) DEFAULT NULL;
V1.5
1:支持多因子登陆验证,有效保证系统安全
2:支持纯离线验证,无需连接任何外网
3:若你为1.4.1升1.5用户,需要更新数据库,并更新多语言文件,更新配置文件
– 2022-11-29 部门增加子部门属性,增加MFA 认证,员工工号,手机
ALTER TABLE tw_department
ADD COLUMN parent_id
int(11) AFTER uniquecode
;
ALTER TABLE tw_member
ADD COLUMN enable_mfa
int(3) AFTER department
, ADD COLUMN mfa_table
text AFTER enable_mfa
;
ALTER TABLE tw_member
ADD COLUMN employee_code
varchar(100) AFTER mfa_table
, ADD COLUMN mobile
varchar(50) AFTER employee_code
;
V1.4.1
支持离职人员一键将项目,任务,文件等归属转交给其他同事。
更新文件图标识,让文件更加容易识别
修复若干BUGS
若你为1.4升1.4.1用户,需要更新数据库,并更新多语言文件
– 2022-11-25 更改system_path 为text 字段
ALTER TABLE tw_disk
CHANGE COLUMN system_path
system_path
text CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL;
V1.4
支持文档在线预览和编辑。备注:需自行安装onlyoffice document server,安装过程较为复杂,需要较强的服务器环境搭建能力。可以自行百度或去onlyoffice官网,官网有手把手安装教程。
若你为v1.3升1.4的用户,需要更新一下数据库字段
ALTER TABLE tw_project_files
ADD COLUMN update_date
datetime AFTER type
;
ALTER TABLE tw_task_files
ADD COLUMN update_date
datetime AFTER from
;