diff --git a/.env.example b/.env.example
index 77c5be2d..57046dd6 100644
--- a/.env.example
+++ b/.env.example
@@ -49,27 +49,24 @@ MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
# 即时通讯
-REALTIME_KEY=fsmDyhOBxjUo8Nksd0EAlyJWT4jtfSAO
+REALTIME_KEY=
REALTIME_URL=ws://192.168.0.2:6002/realtime
REALTIME_API=http://192.168.0.2:6002/api
-# 二次验证开关
-AUTH_TOTP_STATUS=false
+# 是否二次验证
+AUTH_TOTP=false
-# 微信推送
-WECHAT_MESSAGE_PUSH_STATUS=false
+# 是否微信推送
+WECHAT_MESSAGE_PUSH=false
# 外部接口
-PLUGIN_SYNC_API_STATUS=false
PLUGIN_SYNC_API_URL=
# PRINCE转换
PRINCE_DIR=E:/develop/Prince/engine/bin/prince.exe
-# 添加ag-grid授权
-AGGRID_LICENSE=
+# ag-grid授权
+AGGRID_LICENSE="agGrid.LicenseManager.setLicenseKey('key');"
-# 演示版本
+# 演示模式
DEMO_VERSION=false
-
-DEMO_DATA="agGrid.LicenseManager.prototype.validateLicense = function() {}"
diff --git a/README.md b/README.md
index 10b0710f..0bb30d8c 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,13 @@
[![release][release-badge]][release-link]
## 介绍
-本系统是给企业定制开发的,基于laravel 8.x框架开发。基本进销存功能、营销管理功能、业务员销售团队分级管理、支持客户自主下单。
+1. 进销存功能、营销管理功能、简单生产计划、业务员销售团队分级管理、支持客户任务和业务员任务进度统计、支持客户自主下单。特别注重销售管理、业绩分析。
+2. 主要为食品行业生产型和贸易企业定制开发。
+3. 包括强大的自定义功能,模型字段(自定义跨表映射功能、视图管理、流程管理、字段权限管理)
+
+
+## 架构
+基于PHP框架Laravel 8.x + MySQL 8.x
## 申明
@@ -75,16 +81,25 @@ QQ交流群: 79446405

-## 架构
-基于PHP框架Laravel 8.x + MySQL 8.x
-
## 安装
- 1. 上传压缩包到目录,这里推荐使用宝塔面板,安装php-8.x、mysql-8.x、nginx
- 2. 然后使用 composer install --no-dev 安装依赖
- 3. 如果要修改前端文件请执行 yarn install 安装依赖
- 4. 最后导入 database/gdoo-2.2.sql
- 5. 然后执行 php artisan key:generate
- 6. 修改.env相关配置
+1. 推荐使用宝塔面板,安装nginx 1.18.x、php-8.x(需要扩展:fileinfo)、mysql-8.x(mariaDB 10.4.x),如果你使用win请自行安装相关环境
+2. 创建网站和数据库, 数据库字符utf8mb4, 在网站目录中设置PHP命令行版本为php-80
+3. 下载gdoo: https://gitee.com/hawind/gdoo 上传至宝塔网站根目录并解压
+4. 打开Xshell并登录, 执行 composer -v
查看composer版本, 执行 composer self-update
升级composer至最新版本
+5. 切换命令行到网站根目录 cd /www/wwwroot/yousite
+6. 执行 composer install --no-dev
安装依赖
+7. 执行 cp .env.example .env
并修改相关配置
+8. 执行 php artisan key:generate
+9. 打开宝塔数据库管理:
+ 1. 将项目database目录中的 gdoo-2.2.sql 文件上传并导入到数据库
+10. 打开宝塔网站管理:
+ 1. 设置运行目录为public
+ 2. 设置伪静态为laravel5
+11. 打开网站并用 admin/123456
登录
+
+## 开发
+1. 请在项目根目录执行 yarn install
安装前端依赖
+2. 待续
[license-badge]: https://img.shields.io/badge/license-apache2-blue.svg
[license-link]: LICENSE
diff --git a/app/Gdoo/Index/Controllers/ApiController.php b/app/Gdoo/Index/Controllers/ApiController.php
index f2b1300d..1417a88d 100644
--- a/app/Gdoo/Index/Controllers/ApiController.php
+++ b/app/Gdoo/Index/Controllers/ApiController.php
@@ -30,8 +30,8 @@ class ApiController extends Controller
$settings['public_url'] = URL::to('/');
$settings['upload_file_type'] = $this->setting['upload_type'];
$settings['upload_max_size'] = $this->setting['upload_max'];
- $settings['openSource'] = $this->openSource;
-
+ $settings['realtime'] = not_empty(env('REALTIME_KEY'));
+
header('Content-type: text/javascript');
echo 'var settings = '. json_encode($settings, JSON_UNESCAPED_UNICODE);
exit;
diff --git a/app/Gdoo/Index/Controllers/Controller.php b/app/Gdoo/Index/Controllers/Controller.php
index 2ff5b924..7f3ef03a 100644
--- a/app/Gdoo/Index/Controllers/Controller.php
+++ b/app/Gdoo/Index/Controllers/Controller.php
@@ -27,11 +27,6 @@ class Controller extends BaseController
*/
public $powered = 'Gdoo';
- /**
- * @var 是否开源版
- */
- public $openSource = false;
-
/**
* @var 配置参数
*/
@@ -79,14 +74,14 @@ class Controller extends BaseController
$this->ret = RetService::make();
View::share([
- 'title' => 'GdooOA',
+ 'title' => 'Gdoo',
'setting' => $this->setting,
'public_url' => URL::to('/'),
'upload_url' => URL::to('/uploads'),
'static_url' => URL::to('/static'),
'asset_url' => URL::to('/assets'),
'version' => $this->version,
- 'openSource' => $this->openSource,
+ 'licenseType' => env('LICENSE_TYPE'),
'resVersion' => $this->resVersion,
]);
}
diff --git a/app/Gdoo/Index/Services/NotificationService.php b/app/Gdoo/Index/Services/NotificationService.php
index c46ad26d..5e41ea3d 100644
--- a/app/Gdoo/Index/Services/NotificationService.php
+++ b/app/Gdoo/Index/Services/NotificationService.php
@@ -16,7 +16,7 @@ class NotificationService
*/
public static function wechatTemplate($users, $content)
{
- if (env('WECHAT_MESSAGE_PUSH_STATUS') === false) {
+ if (env('WECHAT_MESSAGE_PUSH') === false) {
return false;
}
diff --git a/app/Gdoo/Index/views/dashboard/index.blade.php b/app/Gdoo/Index/views/dashboard/index.blade.php
index 54940b21..7c932eea 100644
--- a/app/Gdoo/Index/views/dashboard/index.blade.php
+++ b/app/Gdoo/Index/views/dashboard/index.blade.php
@@ -291,7 +291,7 @@ a { outline: none; }
diff --git a/app/Gdoo/Index/views/dashboard/index2.blade.php b/app/Gdoo/Index/views/dashboard/index2.blade.php
deleted file mode 100644
index e85580b9..00000000
--- a/app/Gdoo/Index/views/dashboard/index2.blade.php
+++ /dev/null
@@ -1,501 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/Gdoo/Index/views/index/support.blade.php b/app/Gdoo/Index/views/index/support.blade.php
index 043b06a1..663a20f9 100644
--- a/app/Gdoo/Index/views/index/support.blade.php
+++ b/app/Gdoo/Index/views/index/support.blade.php
@@ -5,7 +5,7 @@
软件版本
- {{$version}} {{$openSource ? '开源版' : '企业版'}}
+ {{$version}} {{$licenseType ? $licenseType : '开源版'}}
|
@@ -26,11 +26,19 @@
- 支持方式
+ 联系方式
|
15182223008(电话/微信)
|
+
+
+ QQ交流群
+ |
+
+ 79446405
+ |
+
diff --git a/app/Gdoo/Model/views/template/create.blade.php b/app/Gdoo/Model/views/template/create.blade.php
index 11cf008b..38c15b44 100644
--- a/app/Gdoo/Model/views/template/create.blade.php
+++ b/app/Gdoo/Model/views/template/create.blade.php
@@ -224,10 +224,10 @@
diff --git a/app/Gdoo/Order/Controllers/OrderController.php b/app/Gdoo/Order/Controllers/OrderController.php
index 846d2391..f70b7399 100644
--- a/app/Gdoo/Order/Controllers/OrderController.php
+++ b/app/Gdoo/Order/Controllers/OrderController.php
@@ -773,50 +773,40 @@ class OrderController extends WorkflowController
// 显示促销
public function printAction()
{
- $this->layout = 'layouts.print2';
-
$id = Request::get('id');
$template_id = Request::get('template_id');
- if ($template_id == 121) {
+ $template = DB::table('model_template')->where('id', $template_id)->first();
+ $print_type = $template['print_type'];
+ $this->layout = 'layouts.print_'.$print_type;
+ $print_tpl = view()->exists(Request::controller().'.print.'.$template_id);
- $master = DB::table('customer_order as co')->where('co.id', $id)
- ->leftJoin('customer as c', 'c.id', '=', 'co.customer_id')
- ->leftJoin('customer_tax as ct', 'ct.id', '=', 'co.tax_id')
- ->leftJoin('sale_type as st', 'st.id', '=', 'co.type_id')
- ->selectRaw('co.*, ct.name as tax_name, c.name as customer_name, st.name as type_name')
- ->first();
+ $form = [
+ 'template' => $template,
+ ];
- $rows = DB::table('customer_order_data as cod')
- ->leftJoin('customer_order as co', 'co.id', '=', 'cod.order_id')
- ->leftJoin('product as p', 'p.id', '=', 'cod.product_id')
- ->leftJoin('product_unit as pu', 'pu.id', '=', 'p.unit_id')
- ->leftJoin('customer_order_type as cot', 'cot.id', '=', 'cod.type_id')
- ->where('co.id', $id)
- ->selectRaw('
- cod.*,
- cod.delivery_quantity * p.weight as total_weight,
- p.name as product_name,
- p.spec as product_spec,
- cot.name as type_name,
- pu.name as product_unit,
- p.material_type,
- p.product_type
- ')
- ->get();
-
- $form = [
- 'template' => DB::table('model_template')->where('id', $template_id)->first()
- ];
-
- $tpl = $this->display([
- 'master' => $master,
- 'rows' => $rows,
- 'form' => $form,
- ], 'print/'.$template_id);
- } else {
- $tpl = $this->createAction('print');
+ if ($print_tpl) {
+ $data = OrderService::getPrintData($id);
+ $data['form'] = $form;
+ $data['template'] = $template;
+ $tpl = $this->display($data, 'print/'.$template_id);
+ return $print_type == 'pdf' ? print_prince($tpl) : $tpl;
}
- print_prince($tpl);
+
+ if ($print_type == 'stiReport') {
+ $data = OrderService::getPrintData($id);
+ $print_data = [
+ 'master' => [$data['master']],
+ 'money' => $data['money'],
+ 'customer_order_data' => $data['rows'],
+ ];
+ return $this->display([
+ 'template' => $template,
+ 'print_data' => $print_data,
+ ]);
+ }
+
+ $tpl = $this->createAction('print');
+ return $print_type == 'pdf' ? print_prince($tpl) : $tpl;
}
/**
diff --git a/app/Gdoo/Order/Services/OrderService.php b/app/Gdoo/Order/Services/OrderService.php
index f881fc75..40046fe6 100644
--- a/app/Gdoo/Order/Services/OrderService.php
+++ b/app/Gdoo/Order/Services/OrderService.php
@@ -14,6 +14,42 @@ class OrderService
return BadgeService::getModelTodo('customer_order');
}
+ /**
+ * 自定义查询打印数据
+ */
+ public static function getPrintData($id)
+ {
+ $master = DB::table('customer_order as co')->where('co.id', $id)
+ ->leftJoin('customer as c', 'c.id', '=', 'co.customer_id')
+ ->leftJoin('customer_tax as ct', 'ct.id', '=', 'co.tax_id')
+ ->leftJoin('sale_type as st', 'st.id', '=', 'co.type_id')
+ ->selectRaw('co.*, ct.name as tax_name, c.name as customer_name, st.name as type_name')
+ ->first();
+
+ $rows = DB::table('customer_order_data as cod')
+ ->leftJoin('customer_order as co', 'co.id', '=', 'cod.order_id')
+ ->leftJoin('product as p', 'p.id', '=', 'cod.product_id')
+ ->leftJoin('product_unit as pu', 'pu.id', '=', 'p.unit_id')
+ ->leftJoin('customer_order_type as cot', 'cot.id', '=', 'cod.type_id')
+ ->where('co.id', $id)
+ ->selectRaw('
+ cod.*,
+ cod.delivery_quantity * p.weight as total_weight,
+ p.name as product_name,
+ p.spec as product_spec,
+ cot.name as type_name,
+ pu.name as product_unit,
+ p.material_type,
+ p.product_type
+ ')
+ ->get();
+
+ return [
+ 'master' => $master,
+ 'rows' => $rows,
+ ];
+ }
+
/**
* 获取为使用的促销id
*
diff --git a/app/Gdoo/Project/Controllers/TaskController.php b/app/Gdoo/Project/Controllers/TaskController.php
index 5524a452..3b256ea4 100644
--- a/app/Gdoo/Project/Controllers/TaskController.php
+++ b/app/Gdoo/Project/Controllers/TaskController.php
@@ -123,7 +123,7 @@ class TaskController extends DefaultController
'name' => $_item['name'],
'type' => $_item['type'],
'created_at' => '',
- 'user_id' => '',
+ 'user_id' => 0,
'user_name' => '',
'open' => true,
'option_edit' => $project_user_id,
@@ -154,7 +154,9 @@ class TaskController extends DefaultController
$_task['open'] = true;
$_task['loaded'] = true;
$_task['expanded'] = true;
- $_task['created_at'] = format_datetime($_item['created_at']);
+ $_task['created_dt'] = format_datetime($_task['created_at']);
+ $_task['start_dt'] = format_datetime($_task['start_at']);
+ $_task['end_dt'] = format_datetime($_task['end_at']);
if ($_task['start_at'] && $_task['end_at']) {
$remain = remain_time($_task['start_at'], $_task['end_at'], '');
diff --git a/app/Gdoo/Project/views/task/index/gantt.blade.php b/app/Gdoo/Project/views/task/index/gantt.blade.php
index db63d7b3..a6e9a245 100644
--- a/app/Gdoo/Project/views/task/index/gantt.blade.php
+++ b/app/Gdoo/Project/views/task/index/gantt.blade.php
@@ -3,9 +3,6 @@
-
diff --git a/resources/views/layouts/print3.blade.php b/resources/views/layouts/print3.blade.php
index 8de848bd..70db8e44 100644
--- a/resources/views/layouts/print3.blade.php
+++ b/resources/views/layouts/print3.blade.php
@@ -3,9 +3,9 @@
{{$setting['title']}}
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
- @if($form['print_type'] == 'stiReport')
-
HTML打印
-
打印
-
模板设计
- @else
-
打印
- @endif
-
关闭
-
-
打印预览
-
-
-
-
-
-
-
-
-
{{$setting['print_title']}}{{$form['template']['name']}}
-
- {{$content}}
-
-
-
-
-