订单中转记录

This commit is contained in:
xman 2025-03-02 17:06:34 +08:00
parent c912bc4ec3
commit f9822fc344
4 changed files with 88 additions and 30 deletions

View File

@ -2,7 +2,11 @@
namespace app\admin\controller\orders;
use app\admin\model\Order;
use app\common\controller\Backend;
use think\Db;
use think\exception\PDOException;
use think\exception\ValidateException;
/**
* 订单收款
@ -38,4 +42,54 @@ class Income extends Backend
*/
/**
* 添加
*
* @return string
* @throws \think\Exception
*/
public function add()
{
if (false === $this->request->isPost()) {
$order_id = $this->request->get('order_id');
$order = Order::where('id',$order_id)->find();
$this->assign('order',$order);
return $this->view->fetch();
}
$params = $this->request->post('row/a');
if (empty($params)) {
$this->error(__('Parameter %s can not be empty', ''));
}
$params = $this->preExcludeFields($params);
if ($this->dataLimit && $this->dataLimitFieldAutoFill) {
$params[$this->dataLimitField] = $this->auth->id;
}
$result = false;
Db::startTrans();
try {
//是否采用模型验证
if ($this->modelValidate) {
$name = str_replace("\\model\\", "\\validate\\", get_class($this->model));
$validate = is_bool($this->modelValidate) ? ($this->modelSceneValidate ? $name . '.add' : $name) : $this->modelValidate;
$this->model->validateFailException()->validate($validate);
}
$params['admin_id'] = $this->auth->id;
$params['admin_user'] = $this->auth->username;
$result = $this->model->allowField(true)->save($params);
Db::commit();
} catch (ValidateException|PDOException|Exception $e) {
Db::rollback();
$this->error($e->getMessage());
}
if ($result === false) {
$this->error(__('No rows were inserted'));
}
$this->success();
}
}

View File

@ -1,23 +1,23 @@
<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Order_id')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-order_id" data-rule="required" data-source="order/index" class="form-control selectpage" name="row[order_id]" type="text" value="">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Order_no')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-order_no" data-rule="required" class="form-control" name="row[order_no]" type="text" value="">
<input id="c-order_no" class="form-control" name="row[order_no]" readonly type="text" value="{$order.order_no}">
<input id="c-order_id" name="row[order_id]" type="hidden" value="{$order.id}">
<input id="c-tel" name="row[tel]" type="hidden" value="{$order.tel}">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Tel')}:</label>
<label class="control-label col-xs-12 col-sm-2">{:__('Amount')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-tel" data-rule="required" class="form-control" name="row[tel]" type="text" value="">
<input id="c-amount" data-rule="required" class="form-control" step="0.01" name="row[amount]" type="number" value="0.00">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Item_type')}:</label>
<div class="col-xs-12 col-sm-8">
@ -30,12 +30,7 @@
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Amount')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-amount" data-rule="required" class="form-control" step="0.01" name="row[amount]" type="number" value="0.00">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Income_type')}:</label>
<div class="col-xs-12 col-sm-8">
@ -48,24 +43,14 @@
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Admin_user')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-admin_user" data-rule="required" class="form-control" name="row[admin_user]" type="text">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Payment_time')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-payment_time" data-rule="required" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[payment_time]" type="text" value="{:date('Y-m-d H:i:s')}">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Create_time')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-create_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[create_time]" type="text" value="{:date('Y-m-d H:i:s')}">
</div>
</div>
<div class="form-group layer-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">

View File

@ -63,7 +63,26 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
{field: 'finishe_time', title: __('Finishe_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
{field: 'dispatch_time', title: __('Dispatch_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
{field: 'delete_time', title: __('Delete_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate,
buttons:[
{
name:"income",
text:"新增收款",
title:"新增收款",
classname:"btn-view btn-dialog",
icon:'fa fa-money',
url: function(row){
return 'orders/income/add?order_id='+row.id
},
dropdown:"更多",
visible:function(row){
return true;
},
refresh:true,
}
]
}
]
]
});

View File

@ -36,9 +36,9 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
{field: 'item_type', title: __('Item_type'), searchList: {"1":__('Item_type 1'),"2":__('Item_type 2'),"3":__('Item_type 3'),"4":__('Item_type 4')}, formatter: Table.api.formatter.normal},
{field: 'amount', title: __('Amount'), operate:'BETWEEN'},
{field: 'income_type', title: __('Income_type'), searchList: {"1":__('Income_type 1'),"2":__('Income_type 2')}, formatter: Table.api.formatter.normal},
// {field: 'admin_id', title: __('Admin_id')},
{field: 'admin_user', title: __('Admin_user'), operate: 'LIKE'},
{field: 'payment_time', title: __('Payment_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
// {field: 'admin_id', title: __('Admin_id')},
{field: 'admin_user', title: __('Admin_user'), operate: 'LIKE'},
{field: 'create_time', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
//
// {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}