发布从测试版本2.3.4
This commit is contained in:
parent
43e437209e
commit
50ee24192f
11
Changelog.md
11
Changelog.md
|
@ -13,4 +13,13 @@
|
||||||
4.修复首页待办事项不显示
|
4.修复首页待办事项不显示
|
||||||
5.修复菜单badge不显示
|
5.修复菜单badge不显示
|
||||||
6.删除废弃的工作流程模块
|
6.删除废弃的工作流程模块
|
||||||
本版本更新了个别sql需要重新导入
|
本版本更新了个别sql需要重新导入
|
||||||
|
|
||||||
|
2021-06-18 开源测试版 2.3.4发布
|
||||||
|
修正
|
||||||
|
1.角色权限设置错乱
|
||||||
|
2.区域销售品类表无数据判断报错
|
||||||
|
新增
|
||||||
|
1.单据权限设置子表是否必填选项
|
||||||
|
|
||||||
|
本版本sql文件导入可选,没有不兼容修改
|
|
@ -89,7 +89,7 @@ QQ交流群: 79446405
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
## 安装
|
## 安装
|
||||||
1. 推荐使用宝塔面板,安装nginx 1.18.x、php-8.x(需要扩展:fileinfo)、mysql-8.x(mariaDB 10.4.x),如果你使用win请自行安装相关环境
|
1. 推荐使用宝塔面板,安装nginx 1.18.x、php-8.x(需要扩展:fileinfo)、mysql-8.x(mariaDB 10.4.x),如果你使用win请自行安装相关环境,修改php参数max_input_vars = 100000 (避免变量部分丢失)
|
||||||
2. 创建网站和数据库, 数据库字符utf8mb4, 在网站目录中设置PHP命令行版本为php-80
|
2. 创建网站和数据库, 数据库字符utf8mb4, 在网站目录中设置PHP命令行版本为php-80
|
||||||
3. 下载gdoo: https://gitee.com/hawind/gdoo 上传至宝塔网站根目录并解压
|
3. 下载gdoo: https://gitee.com/hawind/gdoo 上传至宝塔网站根目录并解压
|
||||||
4. 打开Xshell并登录, 执行 <code>composer -v</code> 查看composer版本, 执行 <code>composer self-update</code> 升级composer至最新版本
|
4. 打开Xshell并登录, 执行 <code>composer -v</code> 查看composer版本, 执行 <code>composer self-update</code> 升级composer至最新版本
|
||||||
|
|
|
@ -15,7 +15,7 @@ class Controller extends BaseController
|
||||||
/**
|
/**
|
||||||
* @var 程序版本
|
* @var 程序版本
|
||||||
*/
|
*/
|
||||||
public $version = '2.3.3';
|
public $version = '2.3.4';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var 配置参数
|
* @var 配置参数
|
||||||
|
|
|
@ -1472,12 +1472,16 @@ class Form
|
||||||
$tabContent .= '</tbody></table>';
|
$tabContent .= '</tbody></table>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 保存时数据不能为空
|
||||||
|
$saveDataNotEmpty = in_array('required', (array)$permission_option['v']);
|
||||||
|
|
||||||
$_options = [
|
$_options = [
|
||||||
'columns' => $columns,
|
'columns' => $columns,
|
||||||
'data' => $rows,
|
'data' => $rows,
|
||||||
'links' => $links,
|
'links' => $links,
|
||||||
'table' => $model['table'],
|
'table' => $model['table'],
|
||||||
'title' => $model['name'],
|
'title' => $model['name'],
|
||||||
|
'saveDataNotEmpty' => $saveDataNotEmpty,
|
||||||
];
|
];
|
||||||
|
|
||||||
$js = 'gdoo.forms["'.$model['table'].'"] = gridForms("' . $table . '","' . $model['table'] . '", ' . json_encode($_options, JSON_UNESCAPED_UNICODE) . ');';
|
$js = 'gdoo.forms["'.$model['table'].'"] = gridForms("' . $table . '","' . $model['table'] . '", ' . json_encode($_options, JSON_UNESCAPED_UNICODE) . ');';
|
||||||
|
@ -1718,7 +1722,20 @@ class Form
|
||||||
$field = $fields[$key];
|
$field = $fields[$key];
|
||||||
$_rules = (array)$row['v'];
|
$_rules = (array)$row['v'];
|
||||||
if ($_rules) {
|
if ($_rules) {
|
||||||
$t = $model['type'] == 1 ? $table . '.rows.*.' . $key : $table . '.' . $key;
|
|
||||||
|
$field_name = $fields[$key]['name'];
|
||||||
|
|
||||||
|
if ($model['type'] == 1) {
|
||||||
|
if ($key == '@option') {
|
||||||
|
$t = $table . '.rows';
|
||||||
|
$field_name = $model->name;
|
||||||
|
} else {
|
||||||
|
$t = $table . '.rows.*.' . $key;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$t = $table . '.' . $key;
|
||||||
|
}
|
||||||
|
|
||||||
$data_type = $field['data_type'];
|
$data_type = $field['data_type'];
|
||||||
$data_field = $field['data_field'];
|
$data_field = $field['data_field'];
|
||||||
$data_link = $field['data_link'];
|
$data_link = $field['data_link'];
|
||||||
|
@ -1740,7 +1757,7 @@ class Form
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$rules[$t] = join('|', $_rules);
|
$rules[$t] = join('|', $_rules);
|
||||||
$attributes[$t] = $fields[$key]['name'];
|
$attributes[$t] = $field_name;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -80,12 +80,10 @@
|
||||||
<td>
|
<td>
|
||||||
{{$submodel->table}}@option
|
{{$submodel->table}}@option
|
||||||
</td>
|
</td>
|
||||||
|
<td></td>
|
||||||
|
<td></td>
|
||||||
<td>
|
<td>
|
||||||
</td>
|
<select multiple data-placeholder="选择验证规则" class="form-control input-sm input-inline input-select2" name="data[{{$submodel->table}}][@option][v][]">
|
||||||
<td>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<select multiple data-placeholder="选择验证规则" class="form-control input-sm input-inline input-select2" name="data[{{$submodel->table}}][{{$field->field}}][v][]">
|
|
||||||
<option value=""></option>
|
<option value=""></option>
|
||||||
<option @if(in_array('required', (array)$permission['data'][$submodel->table]['@option']['v'])) selected @endif value="required">必填</option>
|
<option @if(in_array('required', (array)$permission['data'][$submodel->table]['@option']['v'])) selected @endif value="required">必填</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
|
@ -125,6 +125,8 @@ var form_action = '{{$action}}';
|
||||||
query.customer_id = customer_id;
|
query.customer_id = customer_id;
|
||||||
},
|
},
|
||||||
onSelect(row, selected) {
|
onSelect(row, selected) {
|
||||||
|
row.is_gift_name = '否';
|
||||||
|
row.is_gift = 0;
|
||||||
if (row.product_code == '99001') {
|
if (row.product_code == '99001') {
|
||||||
row.type_id_name = '费用';
|
row.type_id_name = '费用';
|
||||||
row.type_id = 5;
|
row.type_id = 5;
|
||||||
|
@ -270,6 +272,8 @@ var form_action = '{{$action}}';
|
||||||
var rows = $ref_promotion_data.api.getSelectedRows();
|
var rows = $ref_promotion_data.api.getSelectedRows();
|
||||||
for (let i = 0; i < rows.length; i++) {
|
for (let i = 0; i < rows.length; i++) {
|
||||||
var row = rows[i];
|
var row = rows[i];
|
||||||
|
row.is_gift_name = '是';
|
||||||
|
row.is_gift = 1;
|
||||||
row.quantity = row.wsy_num;
|
row.quantity = row.wsy_num;
|
||||||
row.delivery_quantity = row.quantity;
|
row.delivery_quantity = row.quantity;
|
||||||
row.total_weight = row.quantity * row.weight;
|
row.total_weight = row.quantity * row.weight;
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
<th style="white-space:nowrap"></th>
|
<th style="white-space:nowrap"></th>
|
||||||
|
|
||||||
@if(count($categorys))
|
@if($categorys)
|
||||||
@foreach($categorys as $k => $v)
|
@foreach($categorys as $k => $v)
|
||||||
@if($v['parent_id'] == 226)
|
@if($v['parent_id'] == 226)
|
||||||
<th nowrap="nowrap">{{$v['name']}}</th>
|
<th nowrap="nowrap">{{$v['name']}}</th>
|
||||||
|
@ -39,7 +39,7 @@
|
||||||
-->
|
-->
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
@if(count($now_year_single['money']))
|
@if($now_year_single['money'])
|
||||||
@foreach($now_year_single['money'] as $key => $value)
|
@foreach($now_year_single['money'] as $key => $value)
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -50,7 +50,7 @@
|
||||||
|
|
||||||
<td align="center" style="vertical-align:middle;color:#999;">销售金额(元)</td>
|
<td align="center" style="vertical-align:middle;color:#999;">销售金额(元)</td>
|
||||||
|
|
||||||
@if(count($categorys))
|
@if($categorys)
|
||||||
@foreach($categorys as $k => $v)
|
@foreach($categorys as $k => $v)
|
||||||
@if($v['parent_id'] == 226)
|
@if($v['parent_id'] == 226)
|
||||||
<td align="right">
|
<td align="right">
|
||||||
|
@ -96,7 +96,7 @@
|
||||||
|
|
||||||
<td align="center" style="vertical-align:middle;color:#999;">去年同期增长率</td>
|
<td align="center" style="vertical-align:middle;color:#999;">去年同期增长率</td>
|
||||||
|
|
||||||
@if(count($categorys))
|
@if($categorys)
|
||||||
@foreach($categorys as $category_id => $category)
|
@foreach($categorys as $category_id => $category)
|
||||||
@if($category['parent_id'] == 226)
|
@if($category['parent_id'] == 226)
|
||||||
<td align="right" title="去年同期增长率" nowrap="nowrap">
|
<td align="right" title="去年同期增长率" nowrap="nowrap">
|
||||||
|
@ -133,7 +133,7 @@
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td align="center" style="vertical-align:middle;color:#999;">占区域该品类百分比</td>
|
<td align="center" style="vertical-align:middle;color:#999;">占区域该品类百分比</td>
|
||||||
@if(count($categorys))
|
@if($categorys)
|
||||||
@foreach($categorys as $k => $v)
|
@foreach($categorys as $k => $v)
|
||||||
@if($v['parent_id'] == 226)
|
@if($v['parent_id'] == 226)
|
||||||
<td align="right" title="占区域该品类百分比">
|
<td align="right" title="占区域该品类百分比">
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
年份
|
年份
|
||||||
<input type="text" id="year" name="year" onclick="datePicker({dateFmt:'yyyy'});" value="{{$select['select']['year']}}" class="form-control input-sm">
|
<input type="text" id="year" name="year" autocomplete="off" onclick="datePicker({dateFmt:'yyyy'});" value="{{$select['query']['year']}}" class="form-control input-sm">
|
||||||
|
|
||||||
<button type="submit" class="btn btn-default btn-sm">筛选</button>
|
<button type="submit" class="btn btn-default btn-sm">筛选</button>
|
||||||
</form>
|
</form>
|
||||||
|
|
|
@ -117,13 +117,6 @@ class RoleController extends DefaultController
|
||||||
|
|
||||||
$rules = json_decode($assets[$asset]['rules'], true);
|
$rules = json_decode($assets[$asset]['rules'], true);
|
||||||
|
|
||||||
// 清除旧权限
|
|
||||||
foreach ((array)$rules as $key => $rule) {
|
|
||||||
if (empty($controllers[$key])) {
|
|
||||||
unset($rules[$key]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($controllers as $key => $actions) {
|
foreach ($controllers as $key => $actions) {
|
||||||
unset($rules[$key][$id]);
|
unset($rules[$key][$id]);
|
||||||
if ($actions['action']) {
|
if ($actions['action']) {
|
||||||
|
|
|
@ -110,6 +110,7 @@
|
||||||
{{'';$selected = $assets[$menuKey][$groupKey.'.'.$childKey]}}
|
{{'';$selected = $assets[$menuKey][$groupKey.'.'.$childKey]}}
|
||||||
<label title="{{$childKey}}" class="checkbox-inline">
|
<label title="{{$childKey}}" class="checkbox-inline">
|
||||||
<input type="checkbox" class="action-check" name="assets[{{$menuKey}}][{{$groupKey}}.{{$childKey}}][action]" value="1" @if(isset($selected)) checked @endif>
|
<input type="checkbox" class="action-check" name="assets[{{$menuKey}}][{{$groupKey}}.{{$childKey}}][action]" value="1" @if(isset($selected)) checked @endif>
|
||||||
|
<input type="hidden" name="assets[{{$menuKey}}][{{$groupKey}}.{{$childKey}}][access]" value="1">
|
||||||
{{$childValue['name']}}
|
{{$childValue['name']}}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -29,6 +29,7 @@ function gridForm(table, options) {
|
||||||
|
|
||||||
grid.tableTitle = options.title;
|
grid.tableTitle = options.title;
|
||||||
grid.tableKey = options.table;
|
grid.tableKey = options.table;
|
||||||
|
grid.tableSaveDataNotEmpty = options.saveDataNotEmpty;
|
||||||
|
|
||||||
grid.defaultColDef.sortable = false;
|
grid.defaultColDef.sortable = false;
|
||||||
grid.defaultColDef.filter = false;
|
grid.defaultColDef.filter = false;
|
||||||
|
|
|
@ -32,8 +32,8 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rows.length == 0) {
|
if (rows.length == 0 && t.tableSaveDataNotEmpty === true) {
|
||||||
toastrError(t.tableTitle + '不能为空。');
|
toastrError(t.tableTitle + ' 不能为空。');
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
gets[t.tableKey] = {rows: rows, deleteds: store.deleted};
|
gets[t.tableKey] = {rows: rows, deleteds: store.deleted};
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"/assets/dist/bundle.min.js": "/assets/dist/bundle.min.js?id=4ccf319172adf4f16820",
|
"/assets/dist/bundle.min.js": "/assets/dist/bundle.min.js?id=4ccf319172adf4f16820",
|
||||||
"/assets/dist/vendor.min.js": "/assets/dist/vendor.min.js?id=29c59d13160c6607b4af",
|
"/assets/dist/vendor.min.js": "/assets/dist/vendor.min.js?id=29c59d13160c6607b4af",
|
||||||
"/assets/dist/gdoo.min.js": "/assets/dist/gdoo.min.js?id=1ed00bbba0e428446559",
|
"/assets/dist/gdoo.min.js": "/assets/dist/gdoo.min.js?id=ae7df56b730a240cb42f",
|
||||||
"/assets/dist/index.min.js": "/assets/dist/index.min.js?id=e68deaa21814b7ec0d1c",
|
"/assets/dist/index.min.js": "/assets/dist/index.min.js?id=e68deaa21814b7ec0d1c",
|
||||||
"/assets/dist/vendor.min.css": "/assets/dist/vendor.min.css?id=99a58728a17257718260",
|
"/assets/dist/vendor.min.css": "/assets/dist/vendor.min.css?id=99a58728a17257718260",
|
||||||
"/assets/dist/gdoo.min.css": "/assets/dist/gdoo.min.css?id=b892b527a7b042089ee8",
|
"/assets/dist/gdoo.min.css": "/assets/dist/gdoo.min.css?id=b892b527a7b042089ee8",
|
||||||
|
|
Loading…
Reference in New Issue