发布2.3测试版

This commit is contained in:
乐风 2021-05-02 05:55:42 +08:00
parent 8732c85312
commit ef8224d20e
83 changed files with 635 additions and 1361 deletions

View File

@ -1,7 +1,7 @@
# Gdoo协同办公
<p align="center">
<a href="http://www.gdoo.net"><img src="https://img.shields.io/badge/version-beta2.2.x-%23ff0000" alt="Build Status" /></a>
<a href="http://www.gdoo.net"><img src="https://img.shields.io/badge/version-beta2.3.x-%23ff0000" alt="Build Status" /></a>
<a href="http://www.gdoo.net"><img src="https://img.shields.io/badge/laravel-8.0-%23ef3b2d" alt="laravel framework" /></a>
<a href="http://www.gdoo.net"><img src="https://img.shields.io/badge/MYSQL-8.0-%2300758f" alt="License" /></a>
<a href="http://www.gdoo.net"><img src="https://img.shields.io/badge/Licence-Apache2.0-blue.svg?style=flat" /></a>

View File

@ -129,7 +129,7 @@ class ApproachController extends WorkflowController
public function print()
{
$this->layout = 'layouts.print_html';
print_prince($this->create('print'));
return $this->create('print');
}
// 关闭操作
@ -205,8 +205,8 @@ class ApproachController extends WorkflowController
');
$rows = $model->get();
$rows = Grid::dataFilters($rows, $header);
return $rows;
} else {
$model = DB::table('approach_data')
->leftJoin('product', 'product.id', '=', 'approach_data.product_id')
->leftJoin('approach', 'approach.id', '=', 'approach_data.approach_id')
@ -234,8 +234,8 @@ class ApproachController extends WorkflowController
product.weight
");
$rows = $model->get();
return ['data' => $rows];
}
return $this->json($rows, true);
}
return $this->render([

View File

@ -120,7 +120,7 @@ class ReviewController extends WorkflowController
public function print()
{
$this->layout = 'layouts.print_html';
print_prince($this->create('print'));
return $this->create('print');
}
// 批量编辑

View File

@ -135,7 +135,7 @@ gdoo.event.set('approach_data.product_id', {
// 选择客户事件
gdoo.event.set('approach.customer_id', {
onSelect(row) {
if (row.id) {
if (row) {
$('#customer_region_region_id').val(row.region_id);
$('#customer_region_region_id_text').val(row.region_id_name || '');
$('#approach_phone').val(row.tel);
@ -157,7 +157,7 @@ gdoo.event.set('approach.market_name', {
query.customer_id = customer_id;
},
onSelect(row) {
if (row.id) {
if (row) {
$('#approach_market_fax').val(row.fax);
$('#approach_market_totol').val(row.market_count);
$('#approach_single_cast').val(row.single_cast);

View File

@ -68,7 +68,7 @@ var params = JSON.parse('{{json_encode($query)}}');
};
mGrid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, mGrid);
var ret = gdoo.dialogSelected(event, params, option, mGrid);
if (ret === true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}

View File

@ -18,7 +18,7 @@ var $ref_approach_data = null;
var params = JSON.parse('{{json_encode($query)}}');
(function($) {
params['master'] = 1;
var mGridDiv = document.querySelector("#ref_approach");
var mGrid = new agGridOptions();
mGrid.remoteDataUrl = '{{url()}}';
@ -59,16 +59,19 @@ var params = JSON.parse('{{json_encode($query)}}');
};
mGrid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, mGrid);
var ret = gdoo.dialogSelected(event, params, option, mGrid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
gdoo.dialogs[option.id] = mGrid;
new agGrid.Grid(mGridDiv, mGrid);
mGrid.remoteData();
$ref_approach = mGrid;
gdoo.dialogs[option.id] = mGrid;
var mGridDiv = document.querySelector("#ref_approach");
new agGrid.Grid(mGridDiv, mGrid);
mGrid.remoteData();
params['master'] = 0;
var sGridDiv = document.querySelector("#ref_approach_data");
@ -101,9 +104,10 @@ var params = JSON.parse('{{json_encode($query)}}');
}
};
new agGrid.Grid(sGridDiv, sGrid);
sGrid.remoteData();
$ref_approach_data = sGrid;
new agGrid.Grid(sGridDiv, sGrid);
sGrid.remoteData();
var data = JSON.parse('{{json_encode($search["forms"])}}');
var search = $('#dialog-approach-search-form').searchForm({

View File

@ -126,7 +126,7 @@ class PriceController extends DefaultController
} else {
$rows = [];
}
return $this->json($rows, true);
return $rows;
}
public function referCustomer()

View File

@ -13,45 +13,23 @@
var search = JSON.parse('{{json_encode($search)}}');
var params = search.query;
var option = gdoo.formKey(params);
var event = gdoo.event.get(option.key);
event.trigger('query', params);
var grid = new agGridOptions();
var multiple = params.multi == 0 ? false : true;
var option = gdoo.dialogInit(params, grid);
grid.remoteDataUrl = '{{url()}}';
grid.remoteParams = params;
grid.suppressRowClickSelection = true;
grid.rowSelection = multiple ? 'multiple' : 'single';
grid.columnDefs = [
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: grid.multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', sortable: false, field: 'name', headerName: '姓名', minWidth: 160},
{suppressMenu: true, cellClass:'text-center', field: 'phone', headerName: '手机', width: 160},
{suppressMenu: true, cellClass:'text-center', field: 'id', headerName: 'ID', width: 80}
];
grid.onRowClicked = function(row) {
var selected = row.node.isSelected();
if (selected === false) {
row.node.setSelected(true, true);
}
};
grid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, grid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
gdoo.dialogs[option.id] = grid;
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
new agGrid.Grid(gridDiv, grid);
grid.remoteData({page: 1});
grid.remoteAfterSuccess = function() {
gdoo.initSelected(params, option, grid);
}
var data = search.forms;
var search = $("#dialog-{{$search['query']['id']}}-search-form").searchForm({

View File

@ -8,22 +8,17 @@
<script>
(function ($) {
var search = JSON.parse('{{json_encode($search)}}');
var params = search.query;
var option = gdoo.formKey(params);
var event = gdoo.event.get(option.key);
event.trigger('query', params);
var grid = new agGridOptions();
var multiple = params.multi == 0 ? false : true;
var option = gdoo.dialogInit(params, grid);
grid.remoteDataUrl = '{{url()}}';
grid.remoteParams = params;
grid.suppressRowClickSelection = true;
grid.rowSelection = multiple ? 'multiple' : 'single';
grid.columnDefs = [
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: grid.multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-left', sortable: false, field: 'name', headerName: '客户名称', minWidth: 160},
{suppressMenu: true, cellClass:'text-center', field: 'code', headerName: '客户编码', width: 60},
{suppressMenu: true, cellClass:'text-center', cellRenderer: statusRenderer, field: 'status', headerName: '状态', width: 60},
@ -39,30 +34,11 @@
}
}
grid.onRowClicked = function(row) {
var selected = row.node.isSelected();
if (selected === false) {
row.node.setSelected(true, true);
}
};
grid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, grid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
new agGrid.Grid(gridDiv, grid);
grid.remoteData({page: 1});
// 数据载入成功
grid.remoteAfterSuccess = function() {
gdoo.initSelected(params, option, grid);
}
var data = search.forms;
var search = $("#dialog-{{$search['query']['id']}}-search-form").searchForm({
data: data

View File

@ -11,17 +11,12 @@
var search = JSON.parse('{{json_encode($search)}}');
var params = search.query;
var option = gdoo.formKey(params);
var event = gdoo.event.get(option.key);
event.trigger('query', params);
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
var grid = new agGridOptions();
var multiple = params.multi == 0 ? false : true;
var option = gdoo.dialogInit(params, grid);
grid.remoteDataUrl = '{{url()}}';
grid.remoteParams = params;
grid.suppressRowClickSelection = true;
grid.rowSelection = multiple ? 'multiple' : 'single';
grid.columnDefs = [
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: false, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, field: 'name', headerName: '名称', width: 100},
@ -29,30 +24,11 @@
{suppressMenu: true, cellClass:'text-center', field: 'id', headerName: 'ID', width: 60}
];
grid.onRowClicked = function(row) {
var selected = row.node.isSelected();
if (selected === false) {
row.node.setSelected(true, true);
}
};
grid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, grid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
gdoo.dialogs[option.id] = grid;
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
new agGrid.Grid(gridDiv, grid);
grid.remoteData();
// 数据载入成功
grid.remoteAfterSuccess = function() {
gdoo.initSelected(params, option, grid);
}
var data = search.forms;
var search = $("#dialog-{{$search['query']['id']}}-search-form").searchForm({
data: data

View File

@ -13,48 +13,23 @@
var search = JSON.parse('{{json_encode($search)}}');
var params = search.query;
var option = gdoo.formKey(params);
var event = gdoo.event.get(option.key);
event.trigger('query', params);
var grid = new agGridOptions();
var multiple = params.multi == 0 ? false : true;
var option = gdoo.dialogInit(params, grid);
grid.remoteDataUrl = '{{url()}}';
grid.remoteParams = params;
grid.suppressRowClickSelection = true;
grid.rowSelection = multiple ? 'multiple' : 'single';
grid.columnDefs = [
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: grid.multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', sortable: false, field: 'name', headerName: '姓名', minWidth: 160},
{suppressMenu: true, cellClass:'text-center', field: 'phone', headerName: '手机', width: 160},
{suppressMenu: true, cellClass:'text-center', field: 'id', headerName: 'ID', width: 80}
];
grid.onRowClicked = function(row) {
var selected = row.node.isSelected();
if (selected === false) {
row.node.setSelected(true, true);
}
};
grid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, grid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
gdoo.dialogs[option.id] = grid;
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
new agGrid.Grid(gridDiv, grid);
grid.remoteData({page: 1});
// 数据载入成功
grid.remoteAfterSuccess = function() {
gdoo.initSelected(params, option, grid);
}
var data = search.forms;
var search = $("#dialog-{{$search['query']['id']}}-search-form").searchForm({
data: data

View File

@ -83,7 +83,7 @@ var params = {customer_id: customer_id};
// 选择客户事件
gdoo.event.set('customer_price.customer_id', {
onSelect(row) {
if (row.id) {
if (row) {
params['customer_id'] = row.id;
$.post(app.url('customer/price/list'), params, function(res) {
if (res.data.length > 0) {

View File

@ -11,17 +11,12 @@
var search = JSON.parse('{{json_encode($search)}}');
var params = search.query;
var option = gdoo.formKey(params);
var event = gdoo.event.get(option.key);
event.trigger('query', params);
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
var grid = new agGridOptions();
var multiple = params.multi == 0 ? false : true;
var option = gdoo.dialogInit(params, grid);
grid.remoteDataUrl = '{{url()}}';
grid.remoteParams = params;
grid.suppressRowClickSelection = true;
grid.rowSelection = multiple ? 'multiple' : 'single';
grid.columnDefs = [
{field:'product_id', hide: true},
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: true, suppressSizeToFit: true, sortable: false, width: 40},
@ -34,21 +29,7 @@
{headerName:'备注', field:'remark', width: 200},
];
grid.onRowClicked = function(row) {
var selected = row.node.isSelected();
if (selected === false) {
row.node.setSelected(true, true);
}
};
grid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, grid);
if (ret == true) {
$('#aike-dialog-' + params.dialog_index).dialog('close');
}
};
gdoo.dialogs[option.id] = grid;
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
new agGrid.Grid(gridDiv, grid);
grid.remoteData();

View File

@ -11,17 +11,11 @@
var search = JSON.parse('{{json_encode($search)}}');
var params = search.query;
var option = gdoo.formKey(params);
var event = gdoo.event.get(option.key);
event.trigger('query', params);
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
var grid = new agGridOptions();
var multiple = params.multi == 0 ? false : true;
var option = gdoo.dialogInit(params, grid);
grid.remoteDataUrl = '{{url()}}';
grid.remoteParams = params;
grid.suppressRowClickSelection = true;
grid.rowSelection = multiple ? 'multiple' : 'single';
grid.autoGroupColumnDef = {
headerName: '名称',
@ -41,30 +35,11 @@
{suppressMenu: true, cellClass:'text-center', field: 'id', headerName: 'ID', width: 60}
);
grid.onRowClicked = function(row) {
var selected = row.node.isSelected();
if (selected === false) {
row.node.setSelected(true, true);
}
};
grid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, grid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
gdoo.dialogs[option.id] = grid;
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
new agGrid.Grid(gridDiv, grid);
grid.remoteData();
// 数据载入成功
grid.remoteAfterSuccess = function() {
gdoo.initSelected(params, option, grid);
}
var data = search.forms;
var search = $("#dialog-{{$search['query']['id']}}-search-form").searchForm({
data: data

View File

@ -17,7 +17,7 @@
query(params) {
},
onSelect(row) {
if (row.id) {
if (row) {
$('#customer_tax_class_id').val(row.class_id);
$('#customer_tax_class_id_text').val(row.class_id_name);

View File

@ -8,22 +8,17 @@
<script>
(function ($) {
var search = JSON.parse('{{json_encode($search)}}');
var params = search.query;
var option = gdoo.formKey(params);
var event = gdoo.event.get(option.key);
event.trigger('query', params);
var grid = new agGridOptions();
var multiple = params.multi == 0 ? false : true;
var option = gdoo.dialogInit(params, grid);
grid.remoteDataUrl = '{{url()}}';
grid.remoteParams = params;
grid.suppressRowClickSelection = true;
grid.rowSelection = multiple ? 'multiple' : 'single';
grid.columnDefs = [
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: grid.multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-left', sortable: false, field: 'name', headerName: '开票名称', minWidth: 160},
{suppressMenu: true, cellClass:'text-center', field: 'code', headerName: '开票编码', width: 80},
{suppressMenu: true, cellClass:'text-left', sortable: false, field: 'customer_name', headerName: '客户名称', minWidth: 160},
@ -41,28 +36,10 @@
}
}
grid.onRowClicked = function(row) {
var selected = row.node.isSelected();
if (selected === false) {
row.node.setSelected(true, true);
}
};
grid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, grid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
gdoo.dialogs[option.id] = grid;
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
new agGrid.Grid(gridDiv, grid);
grid.remoteData({page: 1});
grid.remoteAfterSuccess = function() {
gdoo.initSelected(params, option, grid);
}
var data = search.forms;
var search = $("#dialog-{{$search['query']['id']}}-search-form").searchForm({

View File

@ -15,12 +15,7 @@ class Controller extends BaseController
/**
* @var 程序版本
*/
public $version = '<a target="_blank" href="http://www.gdoo.net">Gdoo</a> 2.2.2';
/**
* @var 开发商名称
*/
public $powered = 'Gdoo';
public $version = '2.3.1';
/**
* @var 配置参数
@ -62,22 +57,18 @@ class Controller extends BaseController
// 获取配置数据
$this->setting = Setting::where('type', 'system')->pluck('value', 'key');
$this->setting['powered'] = $this->powered;
$this->dbType = env('DB_CONNECTION');
$this->ret = RetService::make();
View::share([
'title' => 'Gdoo',
'version' => $this->version,
'setting' => $this->setting,
'public_url' => URL::to('/'),
'upload_url' => URL::to('/uploads'),
'static_url' => URL::to('/static'),
'asset_url' => URL::to('/assets'),
'licenseType' => env('LICENSE_TYPE'),
'resVersion' => $this->resVersion,
'version' => $this->version,
]);
}

View File

@ -1,9 +1,3 @@
<style>
.close-header { margin: 0 15px 0; }
</style>
<button type="button" data-dismiss="dialog" class="close close-header">&times;</button>
<ul class="nav nav-tabs padder m-t" id="api-dialog">
<li class="active"><a href="#modal-department" data-toggle="tab">部门</a></li>
<li><a href="#modal-role" data-toggle="tab">角色</a></li>
@ -15,7 +9,29 @@
<script>
(function($) {
var params = {{json_encode($gets)}};
var params = JSON.parse('{{json_encode($gets)}}');
var option = gdoo.formKey(params);
var doc = getIframeDocument(params.iframe_id);
if (doc) {
var $option_id = $('#' + option.id, doc);
var $option_text = $('#'+option.id + '_text', doc);
} else {
var $option_id = $('#' + option.id);
var $option_text = $('#' + option.id + '_text');
}
var id = $option_id.val();
var text = $option_text.val();
var res = {};
if (id) {
var ids = id.split(',');
var texts = text.split(',');
for (var i = 0; i < ids.length; i++) {
res[ids[i]] = texts[i];
}
}
dialogCacheSelected[option.id] = res;
var routes = {
'#modal-user': 'user/user/dialog',
'#modal-role': 'user/role/dialog',
@ -28,6 +44,7 @@
function loadData(target) {
params['prefix'] = 1;
params['is_org'] = 1;
$.get(app.url(routes[target], params), function(html) {
$('#tab-content').html(html);
});

View File

@ -114,7 +114,7 @@
<form method="post" id="widget-edit" name="widget_edit">
<div class="quick-edit">
<div class="row row-sm">
<gdooDraggable
<gdoo-draggable
v-model="menus"
item-key="id"
group="menus"
@ -131,7 +131,7 @@
<div class="title">{{element.name}}</div>
</div>
</template>
</gdooDraggable>
</gdoo-draggable>
<div class="quick-edit-text">
<a href="javascript:;" @click="quickAdd">
<div class="quick-icon quick-edit-add">
@ -143,7 +143,7 @@
</div>
</div>
<gdooDraggable
<gdoo-draggable
class="row row-sm todo-edit"
v-model="infos"
handle=".todo-edit-l-t"
@ -176,10 +176,10 @@
</div>
</div>
</template>
</gdooDraggable>
</gdoo-draggable>
<div class="row row-sm widget-edit">
<gdooDraggable
<gdoo-draggable
class="col-xs-12 col-sm-8"
v-model="leftWidgets"
handle=".panel-heading"
@ -207,9 +207,9 @@
</div>
</div>
</template>
</gdooDraggable>
</gdoo-draggable>
<gdooDraggable
<gdoo-draggable
class="col-xs-12 col-sm-4"
v-model="rightWidgets"
handle=".panel-heading"
@ -237,17 +237,18 @@
</div>
</div>
</template>
</gdooDraggable>
</gdoo-draggable>
</div>
</div>
</div>
@endverbatim
<script>
var configData = {{$json}};
var settingWidget = Vue.createApp({
components: {
gdooDraggable
gdooDraggable,
},
data() {
return {

View File

@ -291,7 +291,7 @@ a { outline: none; }
<div class="dashboard-footer">
<div class="box">
{{$version}} {{$licenseType ? $licenseType : '开源版'}}
{{$version}}
</div>
</div>

View File

@ -2,7 +2,7 @@
<html>
<head>
<meta charset="utf-8" />
<title>{{$setting['title']}} - Powered By {{$setting['powered']}}</title>
<title>{{$setting['title']}} - {{$powered}}</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=yes" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

View File

@ -5,7 +5,7 @@
软件版本
</td>
<td align="left" style="border-top:0;">
{{$version}} {{$licenseType ? $licenseType : '开源版'}}
{{$version}}
</td>
</tr>
<tr>

View File

@ -1074,7 +1074,7 @@ class FieldService
'multi' => $multi,
'prefix' => 1,
'name' => $key_name,
'title' => '',
'title' => '组织架构',
'url' => 'index/api/dialog',
'id' => $attr_id,
'toggle' => 'dialog-view'

View File

@ -110,19 +110,17 @@
<input type="checkbox" @if($permission['data'][$submodel->table][$field->field]['s'] == 1) checked @endif class="field-secret" data-key="{{$submodel->table}}_{{$field->field}}" id="{{$submodel->table}}_{{$field->field}}_secret" name="data[{{$submodel->table}}][{{$field->field}}][s]" value="1">
</td>
<td>
@if($field['form_type'] == 'auto' || $field['form_type'] == 'date')
<label title="锁定将不允许修改宏控件的值">
<input type="checkbox" value="1" @if($permission['data'][$submodel->table][$field->field]['m'] == 1) checked @endif name="data[{{$submodel->table}}][{{$field->field}}][m]"> 锁定
</label>
@else
<select multiple data-placeholder="选择验证规则" class="form-control input-sm input-inline input-select2" name="data[{{$submodel->table}}][{{$field->field}}][v][]">
<option value=""></option>
@foreach($regulars as $key => $regular)
<option @if(in_array($key, (array)$permission['data'][$submodel->table][$field->field]['v'])) selected @endif value="{{$key}}">{{$regular}}</option>
@endforeach
</select>
@endif
@if($field['form_type'] == 'auto' || $field['form_type'] == 'date')
<label title="锁定将不允许修改宏控件的值">
<input type="checkbox" value="1" @if($permission['data'][$submodel->table][$field->field]['m'] == 1) checked @endif name="data[{{$submodel->table}}][{{$field->field}}][m]"> 锁定
</label>
@else
</td>
</tr>

View File

@ -53,14 +53,7 @@
@endif
</div>
@endforeach
@endforeach
<div class="list-group-item fld field" data-col="12" data-hidden="0" data-readonly="0" data-role_name="" data-role_id="" data-id="0" data-type="0" data-field="{flowlog}">
<div class="title">流程记录</div>
<i class="move fa fa-w fa-arrows"></i>
<i class="remove fa fa-w fa-remove" title="删除"></i>
<div class="desc"></div>
</div>
</ul>
</div>
<div class="tab-pane" id="2">
@ -186,24 +179,24 @@
<div class="panel-body field-attr">
<form method="post" id="myform" name="myform">
<div class="form-group">
<label for="set_col">视图名称 <span class="red">*</span></label>
<label for="set_col"><span class="red">*</span> 名称</label>
<div class="form-text">
<input type="text" id="name" name="name" value="{{$template['name']}}" class="form-control input-sm">
</div>
</div>
<div class="form-group">
<label for="set_col">视图编码 <span class="red">*</span></label>
<label for="set_col">
<span class="red">*</span> 编码
<a class="hinted" href="javascript:;" title="视图前缀:{{$master_model['table']}}_"><i class="fa fa-question-circle"></i></a>
</label>
<div class="form-text">
<div class="input-group">
<span class="input-group-addon" style="display:inline-block;overflow:hidden;white-space:nowrap;width:100px;text-overflow:ellipsis;">{{$master_model['table']}}_</span>
<input type="text" id="code" name="code" value="{{$template['code']}}" class="form-control input-sm">
</div>
<input type="text" id="code" name="code" value="{{$template['code']}}" class="form-control input-sm">
</div>
</div>
<div class="form-group">
<label for="set_col">视图类型 <span class="red">*</span></label>
<label for="set_col"><span class="red">*</span> 类型</label>
<div class="form-text">
<select multiple="multiple" class="input-select2 form-control input-sm" id="type" name="type[]" data-width="100%">
<option value="create" @if(in_array('create', $template['type'])) selected @endif>新增</option>
@ -215,7 +208,7 @@
</div>
<div class="form-group">
<label for="set_col">权限范围</label>
<label for="set_col">权限</label>
<div class="form-text">
{{App\Support\Dialog::search($template, 'id=receive_id&name=receive_name&multi=1')}}
</div>
@ -472,7 +465,7 @@
@verbatim
<div id="app">
<div class="dragDemo">
<gdooDraggable class="list-group"
<gdoo-draggable class="list-group"
element="div"
v-model="listLeft"
:move="onMove"
@ -482,8 +475,8 @@
<div v-for="(item, key) in listLeft" :key="key">
{{item.name}}-{{item.value}}
</div>
</gdooDraggable>
<gdooDraggable class="list-group"
</gdoo-draggable>
<gdoo-draggable class="list-group"
element="div"
v-model="listLeft1"
:move="onMove"
@ -493,8 +486,8 @@
<div v-for="(item, key) in listLeft1" :key="key">
{{item.name}}-{{item.value}}
</div>
</gdooDraggable>
<gdooDraggable class="list-group"
</gdoo-draggable>
<gdoo-draggable class="list-group"
element="div"
v-model="listRight"
:move="onMove"
@ -581,7 +574,8 @@ color: #555;
<script>
var fields = JSON.parse('{{$template["tpl"]}}');
var fields = '{{$template["tpl"]}}';
fields = fields ? JSON.parse(fields) : {};
var activeField = null;
@ -594,7 +588,9 @@ function setCol(v) {
function setField(f, v) {
if (f == 'title') {
activeField.find('.title').text(v);
if (v) {
activeField.find('.title').text(v);
}
}
activeField.attr('data-' + f, v);
}
@ -629,7 +625,6 @@ var sortableOptions = {
if(ui.item.data('type') == 1) {
droppedFieldsBox.find('.desc-sublist:not(.ui-sortable)').sortable(sortableOptions);
}
},
start: function (event, ui) {
ui.item.removeClass('list-group-item');
@ -928,6 +923,8 @@ function getColumns() {
function getColumn(me) {
var column = {};
me.find('.model-title').remove();
column.field = me.attr('data-field');
column.css = me.attr('data-css');
column.hidden = me.attr('data-hidden');

View File

@ -19,7 +19,7 @@
<div class="panel-heading">
<div>字段列表</div>
</div>
<gdooDraggable class="list-group"
<gdoo-draggable class="list-group"
v-model="listLeft"
item-key="name"
group="people"
@ -31,7 +31,7 @@
{{element.name}}
</a>
</template>
</gdooDraggable>
</gdoo-draggable>
</div>
</div>
@ -41,7 +41,7 @@
<div>字段列表</div>
</div>
<gdooDraggable class="list-group"
<gdoo-draggable class="list-group"
v-model="listRight"
item-key="name"
group="people"
@ -52,7 +52,7 @@
{{element.name}}
</a>
</template>
</gdooDraggable>
</gdoo-draggable>
</div>
</div>
</div>
@ -68,29 +68,29 @@
<div class="panel-body">
<div class="form-group">
<label>视图名称 <span class="red">*</span></label>
<label><span class="red">*</span> 名称</label>
<input type="text" id="name" name="name" value="{{$template['name']}}" class="form-control input-sm">
</div>
<div class="form-group">
<label for="set_col">视图编码 <span class="red">*</span></label>
<label for="set_col">
<span class="red">*</span> 编码
<a class="hinted" href="javascript:;" title="视图前缀:{{$master_model['table']}}_"><i class="fa fa-question-circle"></i></a>
</label>
<div class="form-text">
<div class="input-group">
<span class="input-group-addon">{{$model['table']}}_</span>
<input type="text" id="code" name="code" value="{{$template['code']}}" class="form-control input-sm">
</div>
<input type="text" id="code" name="code" value="{{$template['code']}}" class="form-control input-sm">
</div>
</div>
<div class="form-group">
<label>视图类型</label>
<label>类型</label>
<select multiple="multiple" class="input-select2 form-control input-sm" id="type" name="type[]" data-width="100%">
<option value="list" @if(in_array('list', $template['type'])) selected @endif>列表</option>
<option value="dialog" @if(in_array('dialog', $template['type'])) selected @endif>对话框</option>
</select>
</div>
<div class="form-group">
<label>权限范围 <span class="red">*</span></label>
<label>权限<span class="red">*</span></label>
{{App\Support\Dialog::search($template, 'id=receive_id&name=receive_name&multi=1')}}
</div>
<div class="form-group">
@ -139,7 +139,6 @@
}
</style>
<script>
var template = JSON.parse('{{json_encode($template, JSON_UNESCAPED_UNICODE)}}');
var rightIndex = -1;
var vueData = {

View File

@ -204,7 +204,7 @@ class SampleApplyController extends WorkflowController
public function print()
{
$this->layout = 'layouts.print_html';
print_prince($this->create('print'));
return $this->create('print');
}
// 关闭

View File

@ -98,7 +98,7 @@ var form_action = '{{$action}}';
query(params) {
},
onSelect(row) {
if (row.id) {
if (row) {
$('#customer_order_type_id').val(row.type_id);
$('#customer_order_type_id_select').val(row.type_id);
$('#customer_region_region_id').val(row.region_id);
@ -148,7 +148,7 @@ var form_action = '{{$action}}';
query.customer_id = get_customer_id();
},
onSelect(row) {
if (row.id) {
if (row) {
if (row.id.indexOf('draft_') == 0) {
return true;
}
@ -193,10 +193,11 @@ var form_action = '{{$action}}';
editable: {
product_name(params) {
var data = params.data;
// 费用不能编辑产品
// 费用不能编辑
if (data.product_code == '99001') {
return false;
}
var customer_id = get_customer_id();
if (customer_id.trim() == '') {
toastrError('请先选择客户');
@ -249,7 +250,6 @@ var form_action = '{{$action}}';
toastrError('请先选择客户');
return;
}
var buttons = [{
text: "取消",
'class': "btn-default",
@ -284,7 +284,6 @@ var form_action = '{{$action}}';
}
});
}
$.dialog({
title: '促销列表',
url: '{{url("promotion/promotion/serviceSaleOrder")}}?customer_id=' + customer_id,

View File

@ -11,19 +11,14 @@
var search = JSON.parse('{{json_encode($search)}}');
var params = search.query;
var option = gdoo.formKey(params);
var event = gdoo.event.get(option.key);
event.trigger('query', params);
var multiple = params.multi == 0 ? false : true;
var grid = new agGridOptions();
var option = gdoo.dialogInit(params, grid);
grid.remoteDataUrl = '{{url()}}';
grid.remoteParams = params;
grid.rowSelection = multiple ? 'multiple' : 'single';
grid.suppressRowClickSelection = true;
grid.columnDefs = [
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: grid.multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', field: 'sn', headerName: '单据编号', minWidth: 160},
{suppressMenu: true, cellClass:'text-center', sortable: false, field: 'created_at', headerName: '单据日期', width: 140},
{suppressMenu: true, cellClass:'text-center', field: 'customer_code', headerName: '客户编号', width: 120},
@ -32,28 +27,10 @@
{suppressMenu: true, cellClass:'text-center', field: 'id', headerName: 'ID', width: 80}
];
grid.onRowClicked = function(row) {
var selected = row.node.isSelected();
if (selected === false) {
row.node.setSelected(true, true);
}
};
grid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, grid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
gdoo.dialogs[option.id] = grid;
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
new agGrid.Grid(gridDiv, grid);
grid.remoteData({page: 1});
grid.remoteAfterSuccess = function() {
gdoo.initSelected(params, option, grid);
}
var data = search.forms;
var search = $("#dialog-{{$search['query']['id']}}-search-form").searchForm({

View File

@ -55,7 +55,7 @@ var $promotion_customer_order_data = null;
};
mGrid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, mGrid);
var ret = gdoo.dialogSelected(event, params, option, mGrid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
@ -67,7 +67,7 @@ var $promotion_customer_order_data = null;
mGrid.remoteData();
mGrid.remoteAfterSuccess = function() {
gdoo.initSelected(params, option, mGrid);
gdoo.dialogInitSelected(params, option, mGrid);
}
params['master'] = 0;

View File

@ -11,17 +11,11 @@
var search = JSON.parse('{{json_encode($search)}}');
var params = search.query;
var option = gdoo.formKey(params);
var event = gdoo.event.get(option.key);
event.trigger('query', params);
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
var grid = new agGridOptions();
var multiple = params.multi == 0 ? false : true;
var option = gdoo.dialogInit(params, grid);
grid.remoteDataUrl = '{{url()}}';
grid.remoteParams = params;
grid.rowSelection = multiple ? 'multiple' : 'single';
grid.suppressRowClickSelection = true;
grid.autoGroupColumnDef = {
headerName: '名称',
@ -42,27 +36,10 @@
{suppressMenu: true, cellClass:'text-center', field: 'id', headerName: 'ID', width: 60}
);
grid.onRowClicked = function(row) {
var selected = row.node.isSelected();
if (selected === false) {
row.node.setSelected(true, true);
}
};
grid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, grid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
gdoo.dialogs[option.id] = grid;
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
new agGrid.Grid(gridDiv, grid);
grid.remoteData();
grid.remoteAfterSuccess = function() {
gdoo.initSelected(params, option, grid);
}
var data = search.forms;
var search = $("#dialog-{{$search['query']['id']}}-search-form").searchForm({

View File

@ -43,10 +43,9 @@
<script>
(function ($) {
var treeOptions = new agGridOptions();
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}-tree");
var treeGrid = new agGridOptions();
treeOptions.autoGroupColumnDef = {
treeGrid.autoGroupColumnDef = {
headerName: '产品类别',
width: 250,
sortable: false,
@ -55,43 +54,39 @@
suppressCount: false,
}
};
treeOptions.rowSelection = 'single';
treeOptions.enableCellTextSelection = false;
treeOptions.treeData = true;
treeOptions.groupDefaultExpanded = 1;
treeOptions.getDataPath = function(data) {
treeGrid.rowSelection = 'single';
treeGrid.enableCellTextSelection = false;
treeGrid.treeData = true;
treeGrid.groupDefaultExpanded = 1;
treeGrid.getDataPath = function(data) {
return data.tree_path;
};
treeOptions.columnDefs = [];
treeGrid.columnDefs = [];
treeOptions.onRowClicked = function (params) {
treeGrid.onRowClicked = function (params) {
var query = {};
query['category_id'] = params.data.id;
query['page'] = 1;
grid.remoteData(query);
};
treeOptions.remoteDataUrl = "{{url('category')}}?type=1";
treeGrid.remoteDataUrl = "{{url('category')}}?type=1";
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}-tree");
new agGrid.Grid(gridDiv, treeGrid);
new agGrid.Grid(gridDiv, treeOptions);
treeOptions.remoteData();
treeGrid.remoteData();
var search = JSON.parse('{{json_encode($search)}}');
var params = search.query;
var option = gdoo.formKey(params);
var event = gdoo.event.get(option.key);
event.trigger('query', params);
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
var grid = new agGridOptions();
var multiple = params.multi == 0 ? false : true;
var option = gdoo.dialogInit(params, grid);
grid.remoteDataUrl = '{{url()}}';
grid.remoteParams = params;
grid.rowSelection = multiple ? 'multiple' : 'single';
grid.suppressRowClickSelection = true;
grid.columnDefs = [
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: grid.multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', sortable: false, field: 'code', headerName: '存货编码', width: 100},
{suppressMenu: true, cellClass:'text-left', sortable: false, field: 'name', headerName: '产品名称', minWidth: 160},
{suppressMenu: true, cellClass:'text-center', sortable: false, field: 'spec', headerName: '规格型号', width: 100},
@ -99,27 +94,10 @@
{suppressMenu: true, cellClass:'text-center', field: 'id', headerName: 'ID', width: 60}
];
grid.onRowClicked = function(row) {
var selected = row.node.isSelected();
if (selected === false) {
row.node.setSelected(true, true);
}
};
grid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, grid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
gdoo.dialogs[option.id] = grid;
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
new agGrid.Grid(gridDiv, grid);
grid.remoteData({page: 1});
grid.remoteAfterSuccess = function() {
gdoo.initSelected(params, option, grid);
}
var data = search.forms;
var search = $("#dialog-{{$search['query']['id']}}-search-form").searchForm({

View File

@ -43,10 +43,9 @@
<script>
(function ($) {
var treeOptions = new agGridOptions();
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}-tree");
treeOptions.autoGroupColumnDef = {
var treeGrid = new agGridOptions();
treeGrid.autoGroupColumnDef = {
headerName: '产品类别',
width: 250,
sortable: false,
@ -55,42 +54,37 @@
suppressCount: false,
}
};
treeOptions.treeData = true;
treeOptions.groupDefaultExpanded = 1;
treeOptions.getDataPath = function(data) {
treeGrid.treeData = true;
treeGrid.groupDefaultExpanded = 1;
treeGrid.getDataPath = function(data) {
return data.tree_path;
};
treeOptions.columnDefs = [];
treeGrid.columnDefs = [];
treeOptions.rowSelection = 'single';
treeOptions.enableCellTextSelection = false;
treeOptions.onRowClicked = function (params) {
treeGrid.rowSelection = 'single';
treeGrid.enableCellTextSelection = false;
treeGrid.onRowClicked = function (params) {
var query = {};
query['category_id'] = params.data.id;
query['page'] = 1;
grid.remoteData(query);
};
treeOptions.remoteDataUrl = "{{url('category')}}";
treeGrid.remoteDataUrl = "{{url('category')}}";
new agGrid.Grid(gridDiv, treeOptions);
treeOptions.remoteData();
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}-tree");
new agGrid.Grid(gridDiv, treeGrid);
treeGrid.remoteData();
var search = JSON.parse('{{json_encode($search)}}');
var params = search.query;
var option = gdoo.formKey(params);
var event = gdoo.event.get(option.key);
event.trigger('query', params);
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
var grid = new agGridOptions();
var multiple = params.multi == 0 ? false : true;
var option = gdoo.dialogInit(params, grid);
grid.remoteDataUrl = '{{url()}}';
grid.remoteParams = params;
grid.rowSelection = multiple ? 'multiple' : 'single';
grid.suppressRowClickSelection = true;
grid.columnDefs = [
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: grid.multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', sortable: false, suppressSizeToFit: true, cellRenderer: 'htmlCellRenderer', field: 'images', headerName: '图片', width: 40},
{suppressMenu: true, cellClass:'text-center', sortable: false, field: 'code', headerName: '存货编码', width: 100},
{suppressMenu: true, cellClass:'text-left', sortable: false, field: 'name', headerName: '产品名称', minWidth: 140},
@ -101,27 +95,10 @@
{suppressMenu: true, cellClass:'text-center', field: 'id', headerName: 'ID', width: 60}
];
grid.onRowClicked = function(row) {
var selected = row.node.isSelected();
if (selected === false) {
row.node.setSelected(true, true);
}
};
grid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, grid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
gdoo.dialogs[option.id] = grid;
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
new agGrid.Grid(gridDiv, grid);
grid.remoteData({page: 1});
grid.remoteAfterSuccess = function() {
gdoo.initSelected(params, option, grid);
}
var data = search.forms;
var search = $("#dialog-{{$search['query']['id']}}-search-form").searchForm({

View File

@ -11,45 +11,22 @@
var search = JSON.parse('{{json_encode($search)}}');
var params = search.query;
var option = gdoo.formKey(params);
var event = gdoo.event.get(option.key);
event.trigger('query', params);
var gridDiv = document.querySelector("dialog-{{$search['query']['id']}}");
var grid = new agGridOptions();
var option = gdoo.dialogInit(params, grid);
var multiple = params.multi == 0 ? false : true;
grid.remoteDataUrl = '{{url()}}';
grid.remoteParams = params;
grid.rowSelection = multiple ? 'multiple' : 'single';
grid.columnDefs = [
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: grid.multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', field: 'name', headerName: '名称', width: 200},
{suppressMenu: true, cellClass:'text-center', field: 'id', headerName: 'ID', width: 60}
];
grid.onRowClicked = function(row) {
var selected = row.node.isSelected();
if (selected === false) {
row.node.setSelected(true, true);
}
};
grid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, grid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
gdoo.dialogs[option.id] = grid;
var gridDiv = document.querySelector("dialog-{{$search['query']['id']}}");
new agGrid.Grid(gridDiv, grid);
grid.remoteData();
grid.remoteAfterSuccess = function() {
gdoo.initSelected(params, option, grid);
}
var data = search.forms;
var search = $("dialog-{{$search['query']['id']}}-search-form").searchForm({

View File

@ -162,9 +162,9 @@ class PromotionController extends WorkflowController
$this->layout = 'layouts.print_html';
$form = Form::make($header);
$form['template']['name'] = '促销申请';
print_prince($this->display([
return $this->display([
'form' => $form,
], 'print'));
], 'print');
}
// 赠品促销参照到订单
@ -433,7 +433,7 @@ class PromotionController extends WorkflowController
$rows = $model->get();
$rows = Grid::dataFilters($rows, $header);
return $rows;
} else {
$model = DB::table('promotion_data')
@ -464,8 +464,8 @@ class PromotionController extends WorkflowController
promotion_data.id as apply_data_id
");
$rows = $model->get();
return ['data' => $rows];
}
return $this->json($rows, true);
}
return $this->render([

View File

@ -121,7 +121,7 @@ class ReviewController extends WorkflowController
public function print()
{
$this->layout = 'layouts.print_html';
print_prince($this->create('print'));
return $this->create('print');
}
// 批量编辑

View File

@ -169,7 +169,7 @@ gdoo.event.set('promotion.order_id', {
// 选择客户事件
gdoo.event.set('promotion.customer_id', {
onSelect(row) {
if (row.id) {
if (row) {
$('#customer_region_region_id').val(row.region_id);
$('#customer_region_region_id_text').val(row.region_id_name || '');
$('#promotion_phone').val(row.tel);

View File

@ -27,7 +27,6 @@ var params = JSON.parse('{{json_encode($query)}}');
var event = gdoo.event.get(option.key);
event.trigger('query', params);
var mGridDiv = document.querySelector("#ref_promotion");
var mGrid = new agGridOptions();
mGrid.remoteDataUrl = '{{url()}}';
mGrid.remoteParams = params;
@ -64,20 +63,20 @@ var params = JSON.parse('{{json_encode($query)}}');
};
mGrid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, mGrid);
var ret = gdoo.dialogSelected(event, params, option, mGrid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
gdoo.dialogs[option.id] = mGrid;
var mGridDiv = document.querySelector("#ref_promotion");
new agGrid.Grid(mGridDiv, mGrid);
mGrid.remoteData();
$ref_promotion = mGrid;
params['master'] = 0;
var sGridDiv = document.querySelector("#ref_promotion_data");
var sGrid = new agGridOptions();
sGrid.remoteDataUrl = '{{url()}}';
sGrid.remoteParams = params;
@ -108,7 +107,9 @@ var params = JSON.parse('{{json_encode($query)}}');
}
};
var sGridDiv = document.querySelector("#ref_promotion_data");
new agGrid.Grid(sGridDiv, sGrid);
sGrid.remoteData();
$ref_promotion_data = sGrid;

View File

@ -11,19 +11,14 @@
var search = JSON.parse('{{json_encode($search)}}');
var params = search.query;
var option = gdoo.formKey(params);
var event = gdoo.event.get(option.key);
event.trigger('query', params);
var grid = new agGridOptions();
var multiple = params.multi == 0 ? false : true;
var option = gdoo.dialogInit(params, grid);
grid.remoteDataUrl = '{{url()}}';
grid.remoteParams = params;
grid.suppressRowClickSelection = true;
grid.rowSelection = multiple ? 'multiple' : 'single';
grid.columnDefs = [
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: grid.multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-left', sortable: false, field: 'name', headerName: '名称', minWidth: 160},
{suppressMenu: true, cellClass:'text-center', field: 'code', headerName: '编码', width: 60},
{suppressMenu: true, cellClass:'text-center', cellRenderer: statusRenderer, field: 'status', headerName: '状态', width: 60},
@ -39,31 +34,11 @@
}
}
grid.onRowClicked = function(row) {
var selected = row.node.isSelected();
if (selected === false) {
row.node.setSelected(true, true);
}
};
grid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, grid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
gdoo.dialogs[option.id] = grid;
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
new agGrid.Grid(gridDiv, grid);
grid.remoteData({page: 1});
// 数据载入成功
grid.remoteAfterSuccess = function() {
gdoo.initSelected(params, option, grid);
}
var data = search.forms;
var search = $("#dialog-{{$search['query']['id']}}-search-form").searchForm({
data: data

View File

@ -1,5 +1,4 @@
<div id="div1">
<div style="line-height:40px;font-size:14pt;" align=center><strong><font>{{$setting['print_title']}}产成品调拨单</font></strong></div>
<table border=0 cellspacing=0 cellpadding=0 width="100%" style="font-size:11pt;">
<tbody>
<tr>
@ -46,7 +45,7 @@
<td></td>
<td></td>
<td></td>
<td tdata="Sum" format="#,##0.00" align="right"><font id="id01">###</font></td>
<td tdata="Sum" format="#,##0.00" align="right"><font id="id01">@number($rows->sum('quantity'), 2)</font></td>
<td></td>
<td></td>
</tfoot>
@ -60,49 +59,6 @@
<tr>
<td width="40%">制单人:{{$master['created_by']}}</td>
<td width="40%">库管员:</td>
<td width="20%" align="right"><font tdata="PageNO">##</font>页,<font tdata="PageCount">##</font></span>页</td>
</tr>
</table>
</div>
<script type="text/javascript" src="{{$asset_url}}/vendor/LodopFuncs.js"></script>
<script type="text/javascript">
var LODOP;
function print280() {
LODOP = getLodop();
LODOP.PRINT_INIT("{{$form['template']['name']}}");
LODOP.SET_PRINT_PAGESIZE(0, 2100, 2700, "CreateCustomPage");
LODOP.ADD_PRINT_TABLE(90, "4%", "92%", 460, document.getElementById("div2").innerHTML);
LODOP.SET_PRINT_STYLEA(0,"Vorient", 3);
LODOP.ADD_PRINT_HTM(10, "4%", "92%", 115, document.getElementById("div1").innerHTML);
LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
LODOP.SET_PRINT_STYLEA(0, "LinkedItem", 1);
LODOP.ADD_PRINT_HTM(555, "4%","92%", 54, document.getElementById("div3").innerHTML);
LODOP.SET_PRINT_STYLEA(0,"ItemType", 1);
LODOP.SET_PRINT_STYLEA(0,"LinkedItem", 1);
LODOP.PREVIEW();
};
function print93() {
LODOP = getLodop();
LODOP.PRINT_INIT("{{$form['template']['name']}}");
LODOP.SET_PRINT_PAGESIZE(0, 2100, 930, "CreateCustomPage");
LODOP.ADD_PRINT_TABLE(85, "4%", "92%", 465, document.getElementById("div2").innerHTML);
LODOP.SET_PRINT_STYLEA(0,"Vorient", 3);
LODOP.ADD_PRINT_HTM(10, "4%", "92%", 115, document.getElementById("div1").innerHTML);
LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
LODOP.SET_PRINT_STYLEA(0, "LinkedItem", 1);
LODOP.ADD_PRINT_HTM(550, "4%","92%", 54, document.getElementById("div3").innerHTML);
LODOP.SET_PRINT_STYLEA(0,"ItemType", 1);
LODOP.SET_PRINT_STYLEA(0,"LinkedItem", 1);
LODOP.PREVIEW();
};
</script>
</div>

View File

@ -1,5 +1,4 @@
<div id="div1">
<div style="line-height:40px;font-size:14pt;" align=center><strong><font>{{$setting['print_title']}}产成品调拨单</font></strong></div>
<table border=0 cellspacing=0 cellpadding=0 width="100%" style="font-size:11pt;">
<tbody>
<tr>
@ -42,8 +41,8 @@ td { padding: 5px; }
<td align="center">{{$row['product_name']}}</td>
<td align="center">{{$row['product_spec']}}</td>
<td align="center">{{$row['product_unit']}}</td>
<td align="right"><strong style="font-size:18px;">@number($row['quantity'], 2)</strong></td>
<td align="center"><strong style="font-size:18px;">{{$row['batch_sn']}}</strong></td>
<td align="right">@number($row['quantity'], 2)</td>
<td align="center">{{$row['batch_sn']}}</td>
<td align="center">{{$row['posname']}}</td>
</tr>
@endforeach
@ -53,7 +52,7 @@ td { padding: 5px; }
<td></td>
<td></td>
<td></td>
<td tdata="Sum" format="#,##0.00" align="right"><font id="id01">###</font></td>
<td tdata="Sum" format="#,##0.00" align="right"><font id="id01">@number($rows->sum('quantity'), 2)</font></td>
<td></td>
<td></td>
</tfoot>
@ -66,62 +65,9 @@ td { padding: 5px; }
<table width="100%" border="0" style="border:0;" cellspacing="0" cellpadding="0">
<tr>
<td width="25%">制单人:{{$master['created_by']}}</td>
<td width="25%">会计:李彩</td>
<td width="25%">会计:</td>
<td width="25%">发货:</td>
<td width="25%">仓管:</td>
</tr>
</table>
</div>
<div id="div3">
<table width="100%" style="LINE-HEIGHT:30px;font-size:11pt;" cellspacing="0" cellpadding="0" style="border-collapse:collapse">
<tr>
<td width="100%" align="center"><font tdata="PageNO">##</font>页,<font tdata="PageCount">##</font></span>页</td>
</tr>
</table>
</div>
<script type="text/javascript" src="{{$asset_url}}/vendor/LodopFuncs.js"></script>
<script type="text/javascript">
var LODOP;
function print280() {
LODOP = getLodop();
LODOP.PRINT_INIT("{{$form['template']['name']}}");
LODOP.SET_PRINT_PAGESIZE(0, 2100, 2700, "CreateCustomPage");
var strStyle = "<style> table,td,th {border-width:1px;border-style:solid;border-collapse:collapse}</style>"
LODOP.ADD_PRINT_TABLE(105, "4%", "92%", 430, document.getElementById("div2").innerHTML);
LODOP.SET_PRINT_STYLEA(0,"Vorient", 3);
LODOP.ADD_PRINT_HTM(10, "4%", "92%", 115, document.getElementById("div1").innerHTML);
LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
LODOP.SET_PRINT_STYLEA(0, "LinkedItem", 1);
LODOP.ADD_PRINT_HTM(10, "4%","92%", 54, document.getElementById("div4").innerHTML);
LODOP.SET_PRINT_STYLEA(0,"LinkedItem", 1);
LODOP.ADD_PRINT_HTM('96%', "4%", "92%", 54, document.getElementById("div3").innerHTML);
LODOP.SET_PRINT_STYLEA(0,"ItemType", 1);
LODOP.PREVIEW();
};
function print140() {
LODOP = getLodop();
LODOP.PRINT_INIT("{{$form['template']['name']}}");
LODOP.SET_PRINT_PAGESIZE(0, 2100, 1400, "CreateCustomPage");
LODOP.ADD_PRINT_TABLE(105, "4%", "92%", 440, document.getElementById("div2").innerHTML);
LODOP.SET_PRINT_STYLEA(0,"Vorient", 3);
LODOP.ADD_PRINT_HTM(10, "4%", "92%", 115, document.getElementById("div1").innerHTML);
LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
LODOP.SET_PRINT_STYLEA(0, "LinkedItem", 1);
LODOP.ADD_PRINT_HTM(10, "4%","92%", 54, document.getElementById("div4").innerHTML);
LODOP.SET_PRINT_STYLEA(0,"LinkedItem", 1);
LODOP.ADD_PRINT_HTM('92%', "4%","92%", 54, document.getElementById("div3").innerHTML);
LODOP.SET_PRINT_STYLEA(0,"ItemType", 1);
LODOP.PREVIEW();
};
</script>
</div>

View File

@ -41,7 +41,7 @@ var $ref_stock_select = null;
};
grid.onRowDoubleClicked = function (row) {
var ret = writeSelected();
var ret = dialogSelected();
if (ret == true) {
$('#gdoo-dialog-stock_select').dialog('close');
}
@ -50,7 +50,7 @@ var $ref_stock_select = null;
/**
* 写入选中
*/
function writeSelected() {
function dialogSelected() {
var rows = grid.api.getSelectedRows();
if (typeof window.stockRowsSelected == 'function') {
return window.stockRowsSelected.call(grid, rows);

View File

@ -172,7 +172,7 @@ gdoo.event.set('stock_cancel_data.poscode', {
// 选择客户事件
gdoo.event.set('stock_cancel.customer_id', {
onSelect(row) {
if (row.id) {
if (row) {
$('#stock_cancel_order_type_id').val(row.type_id);
$('#stock_cancel_order_type_id_select').val(row.type_id);

View File

@ -13,47 +13,23 @@
var search = JSON.parse('{{json_encode($search)}}');
var params = search.query;
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
var grid = new agGridOptions();
var option = gdoo.dialogInit(params, grid);
var option = gdoo.formKey(params);
var event = gdoo.event.get(option.key);
event.trigger('query', params);
var multiple = params.multi == 0 ? false : true;
grid.remoteDataUrl = '{{url()}}';
grid.remoteParams = params;
grid.rowSelection = multiple ? 'multiple' : 'single';
grid.suppressRowClickSelection = true;
grid.columnDefs = [
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: grid.multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', sortable: false, field: 'code', headerName: '编码', width: 100},
{suppressMenu: true, cellClass:'text-center', sortable: false, field: 'name', headerName: '名称', minWidth: 160},
{suppressMenu: true, cellClass:'text-center', field: 'id', headerName: 'ID', width: 60}
];
grid.onRowClicked = function(row) {
var selected = row.node.isSelected();
if (selected === false) {
row.node.setSelected(true, true);
}
};
grid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, grid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
gdoo.dialogs[option.id] = grid;
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
new agGrid.Grid(gridDiv, grid);
grid.remoteData({page: 1});
grid.remoteAfterSuccess = function() {
gdoo.initSelected(params, option, grid);
}
var data = search.forms;
var search = $("#dialog-{{$search['query']['id']}}-search-form").searchForm({

View File

@ -436,7 +436,7 @@ var grid = null;
// 选择客户事件
gdoo.event.set('stock_delivery.customer_id', {
onSelect(row) {
if (row.id) {
if (row) {
$('#stock_delivery_order_type_id').val(row.type_id);
$('#stock_delivery_order_type_id_select').val(row.type_id);
@ -455,7 +455,7 @@ var grid = null;
query(query) {
},
onSelect(row) {
if (row.id) {
if (row) {
$('#stock_delivery_freight_short_car').val(row.short_car_sn);
return true;
}
@ -467,7 +467,7 @@ var grid = null;
query(query) {
},
onSelect(row) {
if (row.id) {
if (row) {
$('#stock_delivery_freight_logistics_phone').val(row.business_phone);
return true;
}

View File

@ -11,20 +11,14 @@
var search = JSON.parse('{{json_encode($search)}}');
var params = search.query;
var option = gdoo.formKey(params);
var event = gdoo.event.get(option.key);
event.trigger('query', params);
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
var grid = new agGridOptions();
var multiple = false;
var option = gdoo.dialogInit(params, grid);
grid.remoteDataUrl = '{{url()}}';
grid.remoteParams = params;
grid.suppressRowClickSelection = true;
grid.rowSelection = multiple ? 'multiple' : 'single';
grid.rowSelection = 'single';
grid.columnDefs = [
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: false, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', sortable: false, field: 'sn', type:'sn', suppressSizeToFit: true, headerName: '', width: 40},
{suppressMenu: true, cellClass:'text-center', sortable: false, field: 'warehouse_code', headerName: '仓库编码', width: 60},
{suppressMenu: true, cellClass:'text-left', sortable: false, field: 'warehouse_name', headerName: '仓库名称', width: 100},
@ -39,27 +33,10 @@
{suppressMenu: true, cellClass:'text-right', sortable: false, field: 'ky_num', type:'number', headerName: '可用数量', width: 80},
];
grid.onRowClicked = function(row) {
var selected = row.node.isSelected();
if (selected === false) {
row.node.setSelected(true, true);
}
};
grid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, grid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
gdoo.dialogs[option.id] = grid;
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
new agGrid.Grid(gridDiv, grid);
grid.remoteData({page: 1});
grid.remoteAfterSuccess = function() {
gdoo.initSelected(params, option, grid);
}
var data = search.forms;
var search = $("#dialog-{{$search['query']['id']}}-search-form").searchForm({

View File

@ -1,5 +1,4 @@
<div id="div1">
<div style="line-height:40px;font-size:14pt;" align=center><strong><font>{{$setting['print_title']}}{{$form['template']['name']}}</font></strong></div>
<table width="100%">
<tbody>
<tr>
@ -102,62 +101,9 @@
<table width="100%">
<tr>
<td width="25%">制单:{{$master['created_by']}}</td>
<td width="25%">财务:李彩</td>
<td width="25%">财务:</td>
<td width="25%">发货:</td>
<td width="25%">仓管:</td>
</tr>
</table>
</div>
<div id="div4">
<div align="center"><font tdata="PageNO">##</font>页,<font tdata="PageCount">##</font></span>页</div>
</div>
<script language="javascript" src="{{$asset_url}}/vendor/LodopFuncs.js"></script>
<script language="javascript" type="text/javascript">
var LODOP;
function print280() {
LODOP = getLodop();
LODOP.PRINT_INIT("{{$form['template']['name']}}");
LODOP.SET_PRINT_PAGESIZE(0, 2100, 2700, "CreateCustomPage");
var strStyle = "<style> table,td,th {border-width:1px;border-style:solid;border-collapse:collapse}</style>";
LODOP.ADD_PRINT_TABLE(125, "4%", "92%", 400, strStyle + document.getElementById("div2").innerHTML);
LODOP.SET_PRINT_STYLEA(0,"Vorient", 3);
LODOP.ADD_PRINT_HTM(10, "4%", "92%", 120, document.getElementById("div1").innerHTML);
LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
LODOP.SET_PRINT_STYLEA(0, "LinkedItem", 1);
LODOP.ADD_PRINT_HTM(10, 0, "92%", 54, document.getElementById("div3").innerHTML);
LODOP.SET_PRINT_STYLEA(0,"LinkedItem", -2);
LODOP.ADD_PRINT_HTM('96%', "4%","92%", 22, document.getElementById("div4").innerHTML);
LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
LODOP.PREVIEW();
};
function print140() {
LODOP = getLodop();
LODOP.PRINT_INIT("{{$form['template']['name']}}");
LODOP.SET_PRINT_PAGESIZE(0, 2100, 1400, "CreateCustomPage");
var strStyle = "<style> table,td,th {border-width:1px;border-style:solid;border-collapse:collapse}</style>";
LODOP.ADD_PRINT_TABLE(125, "4%", "92%", 410, strStyle + document.getElementById("div2").innerHTML);
LODOP.SET_PRINT_STYLEA(0,"Vorient", 3);
LODOP.ADD_PRINT_HTM(10, "4%", "92%", 120, document.getElementById("div1").innerHTML);
LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
LODOP.SET_PRINT_STYLEA(0, "LinkedItem", 1);
LODOP.ADD_PRINT_HTM(10, 0, "92%", 54, document.getElementById("div3").innerHTML);
LODOP.SET_PRINT_STYLEA(0,"LinkedItem", -2);
LODOP.ADD_PRINT_HTM('93%', "4%","92%", 22, document.getElementById("div4").innerHTML);
LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
LODOP.PREVIEW();
};
</script>
</div>

View File

@ -273,7 +273,7 @@ var grid = null;
query(query) {
},
onSelect(row) {
if (row.id) {
if (row) {
$('#stock_direct_order_type_id').val(row.type_id);
$('#stock_direct_order_type_id_select').val(row.type_id);

View File

@ -1,5 +1,4 @@
<div id="div1">
<div style="line-height:40px;font-size:14pt;" align=center><strong><font>{{$setting['print_title']}}发货单</font></strong></div>
<table width="100%">
<tbody>
<tr>
@ -102,62 +101,9 @@
<table width="100%">
<tr>
<td width="25%">制单:{{$master['created_by']}}</td>
<td width="25%">财务:李彩</td>
<td width="25%">财务:</td>
<td width="25%">发货:</td>
<td width="25%">仓管:</td>
</tr>
</table>
</div>
<div id="div4">
<div align="center"><font tdata="PageNO">##</font>页,<font tdata="PageCount">##</font></span>页</div>
</div>
<script language="javascript" src="{{$asset_url}}/vendor/LodopFuncs.js"></script>
<script language="javascript" type="text/javascript">
var LODOP;
function print280() {
LODOP = getLodop();
LODOP.PRINT_INIT("{{$form['template']['name']}}");
LODOP.SET_PRINT_PAGESIZE(0, 2100, 2700, "CreateCustomPage");
var strStyle = "<style> table,td,th {border-width:1px;border-style:solid;border-collapse:collapse}</style>";
LODOP.ADD_PRINT_TABLE(125, "4%", "92%", 400, strStyle + document.getElementById("div2").innerHTML);
LODOP.SET_PRINT_STYLEA(0,"Vorient", 3);
LODOP.ADD_PRINT_HTM(10, "4%", "92%", 120, document.getElementById("div1").innerHTML);
LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
LODOP.SET_PRINT_STYLEA(0, "LinkedItem", 1);
LODOP.ADD_PRINT_HTM(10, 0, "92%", 54, document.getElementById("div3").innerHTML);
LODOP.SET_PRINT_STYLEA(0,"LinkedItem", -2);
LODOP.ADD_PRINT_HTM('96%', "4%","92%", 22, document.getElementById("div4").innerHTML);
LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
LODOP.PREVIEW();
};
function print140() {
LODOP = getLodop();
LODOP.PRINT_INIT("{{$form['template']['name']}}");
LODOP.SET_PRINT_PAGESIZE(0, 2100, 1400, "CreateCustomPage");
var strStyle = "<style> table,td,th {border-width:1px;border-style:solid;border-collapse:collapse}</style>";
LODOP.ADD_PRINT_TABLE(125, "4%", "92%", 400, strStyle + document.getElementById("div2").innerHTML);
LODOP.SET_PRINT_STYLEA(0,"Vorient", 3);
LODOP.ADD_PRINT_HTM(10, "4%", "92%", 120, document.getElementById("div1").innerHTML);
LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
LODOP.SET_PRINT_STYLEA(0, "LinkedItem", 1);
LODOP.ADD_PRINT_HTM(10, 0, "92%", 54, document.getElementById("div3").innerHTML);
LODOP.SET_PRINT_STYLEA(0,"LinkedItem", -2);
LODOP.ADD_PRINT_HTM('93%', "4%","92%", 22, document.getElementById("div4").innerHTML);
LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
LODOP.PREVIEW();
};
</script>
</div>

View File

@ -11,46 +11,23 @@
var search = JSON.parse('{{json_encode($search)}}');
var params = search.query;
var option = gdoo.formKey(params);
var event = gdoo.event.get(option.key);
event.trigger('query', params);
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
var grid = new agGridOptions();
var multiple = false;
var option = gdoo.dialogInit(params, grid);
grid.remoteDataUrl = '{{url()}}';
grid.remoteParams = params;
grid.suppressRowClickSelection = true;
grid.rowSelection = multiple ? 'multiple' : 'single';
grid.rowSelection = 'single';
grid.columnDefs = [
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: false, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', sortable: false, field: 'code', headerName: '编码', width: 60},
{suppressMenu: true, cellClass:'text-left', sortable: false, field: 'name', headerName: '名称', minWidth: 160},
{suppressMenu: true, cellClass:'text-center', field: 'id', headerName: 'ID', width: 60}
];
grid.onRowClicked = function(row) {
var selected = row.node.isSelected();
if (selected === false) {
row.node.setSelected(true, true);
}
};
grid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, grid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
gdoo.dialogs[option.id] = grid;
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
new agGrid.Grid(gridDiv, grid);
grid.remoteData({page: 1});
grid.remoteAfterSuccess = function() {
gdoo.initSelected(params, option, grid);
}
var data = search.forms;
var search = $("#dialog-{{$search['query']['id']}}-search-form").searchForm({

View File

@ -11,46 +11,23 @@
var search = JSON.parse('{{json_encode($search)}}');
var params = search.query;
var option = gdoo.formKey(params);
var event = gdoo.event.get(option.key);
event.trigger('query', params);
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
var grid = new agGridOptions();
var multiple = false;
var option = gdoo.dialogInit(params, grid);
grid.remoteDataUrl = '{{url()}}';
grid.remoteParams = params;
grid.suppressRowClickSelection = true;
grid.rowSelection = multiple ? 'multiple' : 'single';
grid.rowSelection = 'single';
grid.columnDefs = [
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: false, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', sortable: false, field: 'code', headerName: '编码', width: 60},
{suppressMenu: true, cellClass:'text-left', sortable: false, field: 'name', headerName: '名称', minWidth: 160},
{suppressMenu: true, cellClass:'text-center', field: 'id', headerName: 'ID', width: 60}
];
grid.onRowClicked = function(row) {
var selected = row.node.isSelected();
if (selected === false) {
row.node.setSelected(true, true);
}
};
grid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, grid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
gdoo.dialogs[option.id] = grid;
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
new agGrid.Grid(gridDiv, grid);
grid.remoteData({page: 1});
grid.remoteAfterSuccess = function() {
gdoo.initSelected(params, option, grid);
}
var data = search.forms;
var search = $("#dialog-{{$search['query']['id']}}-search-form").searchForm({

View File

@ -1,5 +1,4 @@
<div id="div1">
<div style="line-height:40px;font-size:14pt;" align=center><strong><font>{{$setting['print_title']}}{{$form['template']['name']}}</font></strong></div>
<table border=0 cellspacing=0 cellpadding=0 width="100%" style="font-size:11pt;">
<tbody>
<tr>
@ -47,7 +46,7 @@ td { padding: 2px; }
<td></td>
<td></td>
<td></td>
<td tdata="Sum" format="#,##0.00" align="right"><font id="id01">###</font></td>
<td tdata="Sum" format="#,##0.00" align="right"><font id="id01">@number($rows->sum('quantity'), 2)</font></td>
<td></td>
<td></td>
</tfoot>
@ -59,29 +58,6 @@ td { padding: 2px; }
<tr>
<td width="40%">制单人:{{auth()->user()->name}}</td>
<td width="40%">交货人:</td>
<td width="20%" align="right"><font tdata="PageNO">##</font>页,<font tdata="PageCount">##</font></span>页</td>
</tr>
</table>
</div>
<script language="javascript" src="{{$asset_url}}/vendor/LodopFuncs.js"></script>
<script language="javascript" type="text/javascript">
var LODOP;
function PrintMytable() {
LODOP = getLodop();
LODOP.PRINT_INIT("{{$form['template']['name']}}");
LODOP.SET_PRINT_PAGESIZE(0, 2100, 930, "CreateCustomPage");
var strStyle="<style> table,td,th {border-width:1px;border-style:solid;border-collapse:collapse}</style>"
LODOP.ADD_PRINT_TABLE(75, "6%", "88%", 475, strStyle + document.getElementById("div2").innerHTML);
LODOP.SET_PRINT_STYLEA(0,"Vorient", 3);
LODOP.ADD_PRINT_HTM(0, "6%", "88%", 109, document.getElementById("div1").innerHTML);
LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
LODOP.SET_PRINT_STYLEA(0, "LinkedItem", 1);
LODOP.ADD_PRINT_HTM(555, "6%","88%", 54, document.getElementById("div3").innerHTML);
LODOP.SET_PRINT_STYLEA(0,"ItemType", 1);
LODOP.SET_PRINT_STYLEA(0,"LinkedItem", 1);
LODOP.PREVIEW();
};
</script>
</div>

View File

@ -1,5 +1,4 @@
<div id="div1">
<div style="line-height:40px;font-size:14pt;" align=center><strong><font>{{$setting['print_title']}}{{$form['template']['name']}}</font></strong></div>
<table border=0 cellspacing=0 cellpadding=0 width="100%" style="font-size:11pt;">
<tbody>
<tr>
@ -47,7 +46,7 @@ td { padding: 2px; }
<td></td>
<td></td>
<td></td>
<td tdata="Sum" format="#,##0.00" align="right"><font id="id01">###</font></td>
<td tdata="Sum" format="#,##0.00" align="right"><font id="id01">@number($rows->sum('quantity'), 2)</font></td>
<td></td>
<td></td>
</tfoot>
@ -59,29 +58,6 @@ td { padding: 2px; }
<tr>
<td width="40%">制单人:{{$master['created_by']}}</td>
<td width="40%">收货人:</td>
<td width="20%" align="right"><font tdata="PageNO">##</font>页,<font tdata="PageCount">##</font></span>页</td>
</tr>
</table>
</div>
<script language="javascript" src="{{$asset_url}}/vendor/LodopFuncs.js"></script>
<script language="javascript" type="text/javascript">
var LODOP;
function print93() {
LODOP = getLodop();
LODOP.PRINT_INIT("{{$form['template']['name']}}");
LODOP.SET_PRINT_PAGESIZE(0, 2100, 930, "CreateCustomPage");
var strStyle="<style> table,td,th {border-width:1px;border-style:solid;border-collapse:collapse}</style>"
LODOP.ADD_PRINT_TABLE(75, "4%", "92%", 475, strStyle + document.getElementById("div2").innerHTML);
LODOP.SET_PRINT_STYLEA(0,"Vorient", 3);
LODOP.ADD_PRINT_HTM(0, "4%", "92%", 109, document.getElementById("div1").innerHTML);
LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
LODOP.SET_PRINT_STYLEA(0, "LinkedItem", 1);
LODOP.ADD_PRINT_HTM(555, "4%","92%", 54, document.getElementById("div3").innerHTML);
LODOP.SET_PRINT_STYLEA(0,"ItemType", 1);
LODOP.SET_PRINT_STYLEA(0,"LinkedItem", 1);
LODOP.PREVIEW();
};
</script>
</div>

View File

@ -1,5 +1,4 @@
<div id="div1">
<div style="line-height:40px;font-size:14pt;" align=center><strong><font>{{$setting['print_title']}}{{$form['template']['name']}}</font></strong></div>
<table border=0 cellspacing=0 cellpadding=0 width="100%" style="font-size:11pt;">
<tbody>
<tr>
@ -57,31 +56,8 @@ td { padding: 2px; }
<div id="div3">
<table width="100%" style="LINE-HEIGHT:30px;font-size:11pt;" cellspacing="0" cellpadding="0" style="border-collapse:collapse">
<tr>
<td width="40%">制单人:{{auth()->user()->name}}</td>
<td width="40%">交货人:</td>
<td width="20%" align="right"><font tdata="PageNO">##</font>页,<font tdata="PageCount">##</font></span>页</td>
<td width="40%">制单人:{{$master['created_by']}}</td>
<td width="40%">交货人:</td>
</tr>
</table>
</div>
<script language="javascript" src="{{$asset_url}}/vendor/LodopFuncs.js"></script>
<script language="javascript" type="text/javascript">
var LODOP;
function print93() {
LODOP = getLodop();
LODOP.PRINT_INIT("{{$form['template']['name']}}");
LODOP.SET_PRINT_PAGESIZE(0, 2100, 930, "CreateCustomPage");
var strStyle="<style> table,td,th {border-width:1px;border-style:solid;border-collapse:collapse}</style>"
LODOP.ADD_PRINT_TABLE(75, "6%", "88%", 475, strStyle + document.getElementById("div2").innerHTML);
LODOP.SET_PRINT_STYLEA(0,"Vorient", 3);
LODOP.ADD_PRINT_HTM(0, "6%", "88%", 109, document.getElementById("div1").innerHTML);
LODOP.SET_PRINT_STYLEA(0, "ItemType", 1);
LODOP.SET_PRINT_STYLEA(0, "LinkedItem", 1);
LODOP.ADD_PRINT_HTM(555, "6%","88%", 54, document.getElementById("div3").innerHTML);
LODOP.SET_PRINT_STYLEA(0,"ItemType", 1);
LODOP.SET_PRINT_STYLEA(0,"LinkedItem", 1);
LODOP.PREVIEW();
};
</script>
</div>

View File

@ -13,48 +13,23 @@
var search = JSON.parse('{{json_encode($search)}}');
var params = search.query;
var option = gdoo.formKey(params);
var event = gdoo.event.get(option.key);
event.trigger('query', params);
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
var grid = new agGridOptions();
var multiple = params.multi == 0 ? false : true;
var option = gdoo.dialogInit(params, grid);
grid.remoteDataUrl = '{{url()}}';
grid.remoteParams = params;
grid.rowSelection = multiple ? 'multiple' : 'single';
grid.columnDefs = [
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: grid.multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', sortable: false, field: 'code', headerName: '编码', width: 100},
{suppressMenu: true, cellClass:'text-center', sortable: false, field: 'name', headerName: '名称', minWidth: 160},
{suppressMenu: true, cellClass:'text-center', field: 'id', headerName: 'ID', width: 60}
];
grid.onRowClicked = function(row) {
var selected = row.node.isSelected();
if (selected === false) {
row.node.setSelected(true, true);
}
};
grid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, grid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
gdoo.dialogs[option.id] = grid;
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
new agGrid.Grid(gridDiv, grid);
grid.remoteData({page: 1});
// 数据载入成功
grid.remoteAfterSuccess = function() {
gdoo.initSelected(params, option, grid);
}
var data = search.forms;
var search = $("#dialog-{{$search['query']['id']}}-search-form").searchForm({
data: data

View File

@ -10,50 +10,25 @@
(function ($) {
var search = JSON.parse('{{json_encode($search)}}');
var params = search.query;
var option = gdoo.formKey(params);
var event = gdoo.event.get(option.key);
event.trigger('query', params);
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
var grid = new agGridOptions();
var multiple = false;
var option = gdoo.dialogInit(params, grid);
grid.remoteDataUrl = '{{url()}}';
grid.remoteParams = params;
grid.suppressRowClickSelection = true;
grid.rowSelection = multiple ? 'multiple' : 'single';
grid.rowSelection = 'single';
grid.columnDefs = [
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: false, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', sortable: false, field: 'code', headerName: '编码', width: 60},
{suppressMenu: true, cellClass:'text-left', sortable: false, field: 'name', headerName: '名称', minWidth: 160},
{suppressMenu: true, cellClass:'text-center', field: 'id', headerName: 'ID', width: 60}
];
grid.onRowClicked = function(row) {
var selected = row.node.isSelected();
if (selected === false) {
row.node.setSelected(true, true);
}
};
grid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, grid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
gdoo.dialogs[option.id] = grid;
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
new agGrid.Grid(gridDiv, grid);
grid.remoteData({page: 1});
// 数据载入成功
grid.remoteAfterSuccess = function() {
gdoo.initSelected(params, option, grid);
}
var data = search.forms;
var search = $("#dialog-{{$search['query']['id']}}-search-form").searchForm({
data: data

View File

@ -11,17 +11,11 @@
var search = JSON.parse('{{json_encode($search)}}');
var params = search.query;
var option = gdoo.formKey(params);
var event = gdoo.event.get(option.key);
event.trigger('query', params);
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
var grid = new agGridOptions();
var multiple = params.multi == 0 ? false : true;
var option = gdoo.dialogInit(params, grid);
grid.remoteDataUrl = '{{url()}}';
grid.remoteParams = params;
grid.suppressRowClickSelection = true;
grid.rowSelection = multiple ? 'multiple' : 'single';
grid.autoGroupColumnDef = {
headerName: '名称',
@ -41,30 +35,11 @@
{suppressMenu: true, cellClass:'text-center', field: 'id', headerName: 'ID', width: 60}
];
grid.onRowClicked = function(row) {
var selected = row.node.isSelected();
if (selected === false) {
row.node.setSelected(true, true);
}
};
grid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, grid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
gdoo.dialogs[option.id] = grid;
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
new agGrid.Grid(gridDiv, grid);
grid.remoteData();
// 数据载入成功
grid.remoteAfterSuccess = function() {
gdoo.initSelected(params, option, grid);
}
var data = search.forms;
var search = $("#dialog-{{$search['query']['id']}}-search-form").searchForm({
data: data

View File

@ -151,6 +151,7 @@ class AuthController extends Controller
}
return $this->display([
'log' => $log,
'version' => '121212121',
'show_captcha' => $show_captcha,
]);
}

View File

@ -11,17 +11,11 @@
var search = JSON.parse('{{json_encode($search)}}');
var params = search.query;
var option = gdoo.formKey(params);
var event = gdoo.event.get(option.key);
event.trigger('query', params);
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
var grid = new agGridOptions();
var multiple = params.multi == 0 ? false : true;
var option = gdoo.dialogInit(params, grid);
grid.remoteDataUrl = '{{url()}}';
grid.remoteParams = params;
grid.suppressRowClickSelection = true;
grid.rowSelection = multiple ? 'multiple' : 'single';
grid.autoGroupColumnDef = {
headerName: '名称',
@ -40,30 +34,11 @@
grid.columnDefs = [];
grid.columnDefs.push({suppressMenu: true, cellClass:'text-center', field: 'id', headerName: 'ID', width: 60});
grid.onRowClicked = function(row) {
var selected = row.node.isSelected();
if (selected === false) {
row.node.setSelected(true, true);
}
};
grid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, grid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
gdoo.dialogs[option.id] = grid;
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
new agGrid.Grid(gridDiv, grid);
grid.remoteData();
// 数据载入成功
grid.remoteAfterSuccess = function() {
gdoo.initSelected(params, option, grid);
}
var data = search.forms;
var search = $("#dialog-{{$search['query']['id']}}-search-form").searchForm({
data: data

View File

@ -13,44 +13,21 @@
var search = JSON.parse('{{json_encode($search)}}');
var params = search.query;
var option = gdoo.formKey(params);
var event = gdoo.event.get(option.key);
event.trigger('query', params);
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
var grid = new agGridOptions();
var multiple = params.multi == 0 ? false : true;
var option = gdoo.dialogInit(params, grid);
grid.remoteDataUrl = '{{url()}}';
grid.remoteParams = params;
grid.rowSelection = multiple ? 'multiple' : 'single';
grid.columnDefs = [
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: grid.multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', field: 'name', headerName: '名称', width: 200},
{suppressMenu: true, cellClass:'text-center', field: 'id', headerName: 'ID', width: 60}
];
grid.onRowClicked = function(row) {
var selected = row.node.isSelected();
if (selected === false) {
row.node.setSelected(true, true);
}
};
grid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, grid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
gdoo.dialogs[option.id] = grid;
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
new agGrid.Grid(gridDiv, grid);
grid.remoteData();
grid.remoteAfterSuccess = function() {
gdoo.initSelected(params, option, grid);
}
var data = search.forms;
var search = $("#dialog-{{$search['query']['id']}}-search-form").searchForm({

View File

@ -11,17 +11,11 @@
var search = JSON.parse('{{json_encode($search)}}');
var params = search.query;
var option = gdoo.formKey(params);
var event = gdoo.event.get(option.key);
event.trigger('query', params);
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
var grid = new agGridOptions();
var multiple = params.multi == 0 ? false : true;
var option = gdoo.dialogInit(params, grid);
grid.remoteDataUrl = '{{url()}}';
grid.remoteParams = params;
grid.suppressRowClickSelection = true;
grid.rowSelection = multiple ? 'multiple' : 'single';
grid.autoGroupColumnDef = {
headerName: '名称',
@ -40,27 +34,10 @@
grid.columnDefs = [];
grid.columnDefs.push({suppressMenu: true, cellClass:'text-center', field: 'id', headerName: 'ID', width: 60});
grid.onRowClicked = function(row) {
var selected = row.node.isSelected();
if (selected === false) {
row.node.setSelected(true, true);
}
};
grid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, grid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
gdoo.dialogs[option.id] = grid;
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
new agGrid.Grid(gridDiv, grid);
grid.remoteData();
grid.remoteAfterSuccess = function() {
gdoo.initSelected(params, option, grid);
}
var data = search.forms;
var search = $("#dialog-{{$search['query']['id']}}-search-form").searchForm({

View File

@ -1,15 +1,5 @@
<div class="wrapper-xs">
<form id="dialog-{{$search['query']['id']}}-search-form" class="form-inline" method="get">
<!--
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-sm btn-default active">
<input type="radio" name="group_id" value="1">用户
</label>
<label class="btn btn-sm btn-default">
<input type="radio" name="group_id" value="2">客户
</label>
</div>
-->
@include('searchForm3')
</form>
</div>
@ -21,19 +11,13 @@
var search = JSON.parse('{{json_encode($search)}}');
var params = search.query;
var option = gdoo.formKey(params);
var event = gdoo.event.get(option.key);
event.trigger('query', params);
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
var grid = new agGridOptions();
var multiple = params.multi == 0 ? false : true;
var option = gdoo.dialogInit(params, grid);
grid.remoteDataUrl = '{{url()}}';
grid.remoteParams = params;
grid.suppressRowClickSelection = true;
grid.rowSelection = multiple ? 'multiple' : 'single';
grid.columnDefs = [
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', checkboxSelection: true, headerCheckboxSelection: grid.multiple, suppressSizeToFit: true, sortable: false, width: 40},
{suppressMenu: true, cellClass:'text-center', sortable: false, field: 'username', headerName: '用户名', width: 60},
{suppressMenu: true, cellClass:'text-left', sortable: false, field: 'name', headerName: '名称', minWidth: 160},
{suppressMenu: true, cellClass:'text-center', cellRenderer: statusRenderer, field: 'status', headerName: '状态', width: 60},
@ -49,27 +33,10 @@
}
}
grid.onRowClicked = function(row) {
var selected = row.node.isSelected();
if (selected === false) {
row.node.setSelected(true, true);
}
};
grid.onRowDoubleClicked = function (row) {
var ret = gdoo.writeSelected(event, params, option, grid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
gdoo.dialogs[option.id] = grid;
var gridDiv = document.querySelector("#dialog-{{$search['query']['id']}}");
new agGrid.Grid(gridDiv, grid);
grid.remoteData({page: 1});
grid.remoteAfterSuccess = function() {
gdoo.initSelected(params, option, grid);
}
var data = search.forms;
var search = $("#dialog-{{$search['query']['id']}}-search-form").searchForm({

View File

@ -54,7 +54,6 @@ class Kernel extends HttpKernel
*/
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'json' => \App\Http\Middleware\JsonResponse::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
@ -63,5 +62,6 @@ class Kernel extends HttpKernel
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
'json' => \App\Http\Middleware\JsonResponse::class,
];
}

View File

@ -9,10 +9,10 @@ class JsonResponse
{
public function handle(Request $request, Closure $next)
{
$data = $next($request);
if ($data instanceof \Illuminate\Http\JsonResponse) {
$data->setEncodingOptions(JSON_UNESCAPED_UNICODE);
$response = $next($request);
if ($response instanceof \Illuminate\Http\JsonResponse) {
$response->setEncodingOptions(JSON_UNESCAPED_UNICODE);
}
return $data;
return $response;
}
}

View File

@ -49,6 +49,8 @@ class AppServiceProvider extends ServiceProvider
*/
public function boot()
{
require_once __DIR__.'/../gdoo.php';
Paginator::defaultView('vendor/pagination/gdoo');
Event::listen(StatementPrepared::class, function ($event) {
$event->statement->setFetchMode(\PDO::FETCH_ASSOC);

View File

@ -2,6 +2,22 @@
use Illuminate\Support\Arr;
/**
* 公共文件目录
*/
function public_path($path = '')
{
return base_path('public').($path ? '/'.$path : $path);
}
/**
* 文件上传目录
*/
function upload_path($path = '')
{
return public_path('uploads').($path ? '/'.$path : $path);
}
// 序号规则生成
function make_sn($config, $update = false)
{

28
app/gdoo.php Normal file
View File

@ -0,0 +1,28 @@
<?php
require __DIR__.'/macros.php';
require __DIR__.'/sql.php';
View::composer('*', function ($view) {
$shared = View::getShared();
$licenseType = env('LICENSE_TYPE', '开源版');
$view->with('title', 'Gdoo');
$view->with('powered', 'Powered By Gdoo');
$view->with('version', '<a target="_blank" href="http://www.gdoo.net">Gdoo</a> '.$shared['version'].' '.$licenseType);
});
/*
* 判断是否为empty
*/
function not_empty($data)
{
return !empty($data);
}
/*
* 主动抛出异常
*/
function abort_error($message, $code = 200)
{
throw new App\Exceptions\AbortException($message, $code);
}

View File

@ -1,33 +0,0 @@
<?php
/**
* 公共文件目录
*/
function public_path($path = '')
{
return base_path('public').($path ? '/'.$path : $path);
}
/**
* 文件上传目录
*/
function upload_path($path = '')
{
return public_path('uploads').($path ? '/'.$path : $path);
}
/*
* 主动抛出异常
*/
function abort_error($message, $code = 200)
{
throw new App\Exceptions\AbortException($message, $code);
}
/*
* 判断是否为empty
*/
function not_empty($data)
{
return !empty($data);
}

View File

@ -158,15 +158,7 @@ Builder::macro('search', function ($search) {
if (strpos($search['field'], '.status') !== false && $value == '-4') {
$this->where($this->from.'.is_close', 1);
}
elseif (strpos($search['field'], 'tax_id') !== false) {
if ($this->from == 'customer_order' || $this->from == 'stock_delivery' || $this->from == 'stock_direct') {
$this->where($search['field'], $value);
} else {
$customer_ids = DB::table('customer_tax')->where('id', $value)->pluck('customer_id');
$this->whereIn($this->from.'.customer_id', $customer_ids);
}
} elseif ($condition == 'between') {
elseif ($condition == 'between') {
$this->whereBetween($search['field'], $value);
} elseif ($search['condition'] == 'date2') {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -100,7 +100,7 @@
];
grid.onRowClicked = function (row) {
var ret = grid.writeSelected(row.data);
var ret = grid.dialogSelected(row.data);
if (ret) {
hideDropMenu($input, options);
}
@ -109,7 +109,7 @@
/**
* 写入选中
*/
grid.writeSelected = function(selectedRow) {
grid.dialogSelected = function(selectedRow) {
var ret = true;
var list = gdoo.forms[params.form_id];
var links = list.links[params.id];

View File

@ -39,7 +39,8 @@ function gridForm(table, options) {
var event = gdoo.event.get('grid.' + table);
var editable = event.editable || {};
var editable = event.args.editable || {};
grid.defaultColDef.editable = function(params) {
if (params.node.rowPinned) {
return false;
@ -93,14 +94,14 @@ function gridForm(table, options) {
new agGrid.Grid(gridDiv, grid);
grid.api.dialogSelected = function(query) {
grid.api.dialogSelected = function(query, selectedRows) {
var dialogEvent = gdoo.event.get(query.form_id + '.' + query.id);
var links = options.links[query.id];
var dialog = gdoo.dialogs[query.form_id + '_' + query.id];
//var dialogGrid = gdoo.dialogs[query.form_id + '_' + query.id];
//var selectedRows = dialogGrid.getSelectedRows();
var selectedRows = dialog.getSelectedRows();
var store = grid.api.memoryStore;
var rows = [];
grid.api.forEachNode(function(rowNode, index) {

View File

@ -91,7 +91,7 @@
];
grid.onRowClicked = function (row) {
var ret = grid.writeSelected([row.data]);
var ret = grid.dialogSelected([row.data]);
if (ret) {
hideSuggest($input, options);
}
@ -100,7 +100,7 @@
/**
* 写入选中
*/
grid.writeSelected = function(rows) {
grid.dialogSelected = function(rows) {
var params = grid.remoteParams;
var sid = params.prefix == 1 ? 'sid' : 'id';
var id = [];

View File

@ -47,25 +47,96 @@
}
};
/**
* 对话框初始化
*/
gdoo.dialogInit = function(params, grid) {
var option = gdoo.formKey(params);
var event = gdoo.event.get(option.key);
event.trigger('query', params);
// 键盘按下和弹起事件
var ctrlNotActive = true;
document.onkeydown = function (event) {
event = event || window.event;
if (event.keyCode == 17) {
ctrlNotActive = false;
}
}
document.onkeyup = function (event) {
event = event || window.event;
if (event.keyCode == 17) {
ctrlNotActive = true;
}
}
var multiple = params.multi == 0 ? false : true;
// 点击行不勾选
grid.suppressRowClickSelection = true;
// 多选还是单选
grid.rowSelection = multiple ? 'multiple' : 'single';
grid.multiple = multiple;
grid.onRowClicked = function(row) {
var selected = row.node.isSelected();
if (multiple) {
if (selected === false) {
row.node.setSelected(true, ctrlNotActive);
}
if (selected === true && ctrlNotActive === false) {
row.node.setSelected(false, false);
}
} else {
if (selected === false) {
row.node.setSelected(true, true);
}
}
};
grid.onRowSelected = function(row) {
if (params.is_grid) {
} else {
var sid = params.prefix == 1 ? 'sid' : 'id';
var res = dialogCacheSelected[option.id];
if (row.node.isSelected()) {
res[row.data[sid]] = row.data.name;
} else {
delete res[row.data[sid]];
}
dialogCacheSelected[option.id] = res;
}
}
grid.onRowDoubleClicked = function () {
var ret = gdoo.dialogSelected(event, params, option, grid);
if (ret == true) {
$('#gdoo-dialog-' + params.dialog_index).dialog('close');
}
};
// 数据加载后执行
grid.remoteAfterSuccess = function() {
gdoo.dialogInitSelected(params, option, grid);
}
gdoo.dialogs[option.id] = grid;
return option;
}
/**
* 对话框字段写入选中
*/
gdoo.writeSelected = function(event, params, option, grid) {
gdoo.dialogSelected = function(event, params, option, grid) {
var rows = grid.api.getSelectedRows();
if (params.is_grid) {
var list = gdoo.forms[params.form_id];
list.api.dialogSelected(params);
list.api.dialogSelected(params, rows);
} else {
var sid = params.prefix == 1 ? 'sid' : 'id';
var multiple = params.multi == 0 ? false : true;
var id = [];
var text = [];
$.each(rows, function(k, row) {
id.push(row[sid]);
text.push(row.name);
});
var doc = getIframeDocument(params.iframe_id);
if (doc) {
var $option_id = $('#' + option.id, doc);
@ -75,8 +146,14 @@
var $option_text = $('#' + option.id + '_text');
}
$option_id.val(id.join(','));
$option_text.val(text.join(','));
var res = dialogCacheSelected[option.id] || {};
$.each(rows, function(k, row) {
res[row[sid]] = row.name;
});
$option_id.val(Object.keys(res).join(','));
$option_text.val(Object.values(res).join(','));
if (event.exist('onSelect')) {
return event.trigger('onSelect', multiple ? rows : rows[0]);
@ -88,29 +165,38 @@
/**
* 初始化选择
*/
gdoo.initSelected = function(params, option, grid) {
gdoo.dialogInitSelected = function(params, option, grid) {
if (params.is_grid) {
} else {
var sid = params.prefix == 1 ? 'sid' : 'id';
var doc = getIframeDocument(params.iframe_id);
if (doc) {
var $option_id = $('#' + option.id, doc);
var $option_text = $('#'+option.id + '_text', doc);
} else {
var $option_id = $('#' + option.id);
var $option_text = $('#' + option.id + '_text');
}
var sid = params.prefix == 1 ? 'sid' : 'id';
var id = $option_id.val();
var rows = {};
if (id) {
var ids = id.split(',');
for (var i = 0; i < ids.length; i++) {
rows[ids[i]] = ids[i];
if (params.is_org) {
var res = dialogCacheSelected[option.id];
} else {
var id = $option_id.val();
var text = $option_text.val();
var res = {};
if (id) {
var ids = id.split(',');
var texts = text.split(',');
for (var i = 0; i < ids.length; i++) {
res[ids[i]] = texts[i];
}
}
dialogCacheSelected[option.id] = res;
}
grid.api.forEachNode(function(node) {
var key = node.data[sid];
if (rows[key] != undefined) {
if (res[key] != undefined) {
node.setSelected(true);
}
});

View File

@ -1,4 +1,5 @@
var select2List = {};
var dialogCacheSelected = {};
$(function() {
@ -127,12 +128,19 @@ $(function() {
url: url,
dialogClass: 'modal-lg',
buttons: [{
text: "确定",
'class': "btn-default",
text: '取消',
class: 'btn-default',
click: function() {
var list = gdoo.dialogs[option.id];
if (list) {
var ret = gdoo.writeSelected(event, params, option, list);
var me = this;
$(me).dialog("close");
}
},{
text: "确定",
'class': "btn-info",
click: function() {
var grid = gdoo.dialogs[option.id];
if (grid) {
var ret = gdoo.dialogSelected(event, params, option, grid);
if (ret === true) {
$(this).dialog("close");
}

View File

@ -31,8 +31,6 @@ if (file_exists(__DIR__.'/../storage/framework/maintenance.php')) {
|
*/
require __DIR__.'/../app/helpers.php';
require __DIR__.'/../app/sql.php';
require __DIR__.'/../app/Support/helpers.php';
require __DIR__.'/../vendor/autoload.php';

View File

@ -1,7 +1,7 @@
{
"/assets/dist/bundle.min.js": "/assets/dist/bundle.min.js?id=91de744571d14310c12f",
"/assets/dist/bundle.min.js": "/assets/dist/bundle.min.js?id=29a199441a88a73be4c8",
"/assets/dist/vendor.min.js": "/assets/dist/vendor.min.js?id=29c59d13160c6607b4af",
"/assets/dist/gdoo.min.js": "/assets/dist/gdoo.min.js?id=41c03fad45a93b2c4a16",
"/assets/dist/gdoo.min.js": "/assets/dist/gdoo.min.js?id=10ad64a993592703c0a5",
"/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/gdoo.min.css": "/assets/dist/gdoo.min.css?id=644acfd8367a5dd5a096",

View File

@ -5,6 +5,7 @@ window.Vue = Vue;
// 第三方全局模块
import draggable from 'vuedraggable';
draggable.name = 'gdoo-draggable';
window.gdooDraggable = draggable;
// 自定义全局模块

View File

@ -4,7 +4,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>{{$setting['title']}} - Powered By {{$setting['powered']}}</title>
<title>{{$setting['title']}} - {{$powered}}</title>
<link href="{{mix('/assets/dist/vendor.min.css')}}" rel="stylesheet" type="text/css" />
<link href="{{mix('/assets/dist/gdoo.min.css')}}" rel="stylesheet" type="text/css" />

View File

@ -238,7 +238,7 @@ body {
<div class="main">
<div class="main-container">
<div class="title">{{$setting['print_title']}}{{$form['template']['name']}}</div>
<div class="title">{{$setting['print_title']}}{{$form['template']['name'] ? $form['template']['name'] : $template['name']}}</div>
<div>
{{$content}}
</div>

View File

@ -7,8 +7,6 @@ function exception_error_handler($errno, $errstr, $errfile, $errline) {
}
set_error_handler("exception_error_handler");
require __DIR__.'/../app/macros.php';
$uris = [];
foreach (['module', 'controller', 'action'] as $key => $uri) {