作者 郭文星

1231

<?php
namespace app\admin\controller;
use app\admin\model\User;
use app\api\controller\v1\WxxcxPush;
use app\common\controller\Backend;
use think\Db;
use app\api\controller\Index;
use think\exception\DbException;
use think\exception\PDOException;
use think\exception\ValidateException;
/**
* 订单管理
*
* @icon fa fa-circle-o
*/
class Dispatch extends Backend
{
/**
* Order模型对象
* @var \app\admin\model\Order
*/
protected $model = null;
public function _initialize()
{
parent::_initialize();
$this->model = new \app\admin\model\Order;
$this->view->assign("isPayList", $this->model->getIsPayList());
$this->view->assign("typeList", $this->model->gettypeList());
}
/**
* 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
* 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
* 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
*/
/**
* 查看
*/
public function index()
{
//当前是否为关联查询
$this->relationSearch = true;
//设置过滤方法
$this->request->filter(['strip_tags', 'trim']);
if ($this->request->isAjax()) {
//如果发送的来源是Selectpage,则转发到Selectpage
if ($this->request->request('keyField')) {
return $this->selectpage();
}
list($where, $sort, $order, $offset, $limit) = $this->buildparams();
$list = $this->model
->with(['driver', 'car', 'user'])
->where($where)
->where("order.driver_id",null)
->where("order.is_pay",1)
->order($sort, $order)
->paginate($limit);
$res=$this->model->where("id",">",0)->update(["is_check"=>1]);
foreach ($list as $row) {
$row->visible(['id', 'order_no','phone', 'type','intended_driver_id', 'pay_type', 'price', 'is_pay', 'user_name', 'driver_name', 'pay_time', 'refund_time','reservation_time', 'create_time']);
if(!$row['driver_name']){
$row['driver_name']="未选择司机";
}
$row->visible(['driver']);
$row->getRelation('driver')->visible(['name']);
$row->visible(['car']);
$row->getRelation('car')->visible(['license_plate']);
$row->visible(['user']);
$row->getRelation('user')->visible(['username']);
}
$result = array("total" => $list->total(), "rows" => $list->items());
return json($result);
}
return $this->view->fetch();
}
/**
* 查看
*/
public function dispatch()
{
//当前是否为关联查询
$this->relationSearch = true;
//设置过滤方法
$this->request->filter(['strip_tags', 'trim']);
if ($this->request->isAjax()) {
//如果发送的来源是Selectpage,则转发到Selectpage
if ($this->request->request('keyField')) {
return $this->selectpage();
}
list($where, $sort, $order, $offset, $limit) = $this->buildparams();
$list = $this->model
->with(['driver', 'car', 'user'])
->where($where)
->order($sort, $order)
->paginate($limit);
$res=$this->model->where("id",">",0)->update(["is_check"=>1]);
foreach ($list as $row) {
$row->visible(['id', 'order_no','phone', 'type','intended_driver_id', 'pay_type', 'price', 'is_pay', 'user_name', 'driver_name', 'pay_time', 'refund_time','reservation_time', 'create_time']);
if(!$row['driver_name']){
$row['driver_name']="未选择司机";
}
$row->visible(['driver']);
$row->getRelation('driver')->visible(['name']);
$row->visible(['car']);
$row->getRelation('car')->visible(['license_plate']);
$row->visible(['user']);
$row->getRelation('user')->visible(['username']);
}
$result = array("total" => $list->total(), "rows" => $list->items());
return json($result);
}
return $this->view->fetch('order/dispatch');
}
public function refund($id)
{
//查询订单
$order = Db::name("order")->where("id", $id)->find();
if ($order['is_pay'] != 1) {
$this->error("该订单无法退款");
}
if($order['pay_type']=="offlinepay" || $order['pay_type']=="background"){
$relogs['update_time'] = time();
$relogs['is_pay'] = 3;
$relogs['refund_time'] = time();
$rs2 = Db::name('order')
->where(['id' => $order['id']])
->update($relogs);
if($order['pay_type']="offlinepay"){
$index=new Index();
$index->refundToDriverUser($order['id']);
$this->refundSendMessage($id);//发送订阅消息
}
$this->success("退款成功");
}
//拼接退款参数
$pay_fee = $order['price'];
$refund_fee = $pay_fee;
$order_sn = $order['order_no'];
$pay_type = 'wechat';
$reason = '订单退款';
$notifyurl = 'https://wyc.tenyes.cn/api/index/refundNotifyx';//退款回调地址
//直接调用退款方法传参即可
$response = \addons\epay\library\Service::submitRefund($pay_fee, $refund_fee, $order_sn, getRefundSn($order['user_id']), $pay_type, $reason, $notifyurl, '', 'miniapp');
$response = json_encode($response);
$response = json_decode($response, true);
file_put_contents("pcl_repay_v2.log", date("Y-m-d H:i:s") . "::" . json_encode($response, JSON_UNESCAPED_UNICODE) . PHP_EOL, FILE_APPEND);
if (!empty($response['return_code'] == 'SUCCESS')) {
//退款成功,更新退款记录
$relogs['update_time'] = time();
$relogs['is_pay'] = 3;
$relogs['out_refund_no'] = $response['out_refund_no'];
$relogs['refund_time'] = time();
$rs2 = Db::name('order')
->where(['id' => $order['id']])
->update($relogs);
} else {
$this->error('退款失败');
}
$index=new Index();
$index->refundToDriverUser($id);
$this->refundSendMessage($id);//发送订阅消息
$this->success("退款成功");
}
/**
* 编辑
*
* @param $ids
* @return string
* @throws DbException
* @throws \think\Exception
*/
public function edit($ids = null)
{
$row = $this->model->get($ids);
if (!$row) {
$this->error(__('No Results were found'));
}
$adminIds = $this->getDataLimitAdminIds();
if (is_array($adminIds) && !in_array($row[$this->dataLimitField], $adminIds)) {
$this->error(__('You have no permission'));
}
if (false === $this->request->isPost()) {
$car=Db::name("car")
->alias("a")
->join("driver b","a.driver_id=b.id")
->where("a.route_id",$row['route_id'])
->field("b.id,car_model,name,license_plate")
->select();
$this->view->assign('row', $car);
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);
$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 . '.edit' : $name) : $this->modelValidate;
$row->validateFailException()->validate($validate);
}
$driver = Db::name("driver")->where("id", $ids)->find();
$car = Db::name("car")->where("driver_id", $driver['id'])->find();
$carmodel = Db::name("carmodel")->where("id", $car['carmodel_id'])->find();
$route = Db::name("route")->where("id", $car['route_id'])->find();
//判断总表
$time = strtotime(date("Y-m-d", time()));
$order_review = Db::name("order_review")
->where("car_id", $car["id"])
->where("route_id", $route['id'])
->where("driver_id", $driver['id'])
->where("createtime", ">", $time)
->find();
if (!$order_review) {
$order_review_id = Db::name("order_review")
->insertGetId([
"car_id" => $car["id"],
"route_id" => $route['id'],
"driver_id" => $driver['id'],
"type" => 2,
"order_status" => 3,
"createtime" => time()
]);
} else {
$order_review_id = $order_review['id'];
}
$params["order_review_id"]=$order_review_id;
$result = $row->allowField(true)->save($params);
Db::commit();
} catch (ValidateException|PDOException|Exception $e) {
Db::rollback();
$this->error($e->getMessage());
}
if (false === $result) {
$this->error(__('No rows were updated'));
}
$this->success();
}
public function orderinfo($ids){
$row = Db::name("order")->field("id,passengers,driver_id,starting_point,end_point,order_no,pay_type,price,route_id,is_pay,phone,type")->find(['id' => $ids]);
$res=Db::name("passenger")->where("id","in",$row['passengers'])->select();
$row['passenger']="";
foreach ($res as $k=>$v) {
$row['passenger']=$row['passenger']."姓名:".$res[$k]['name']." 身份证:".$res[$k]['IDcard']." 手机号:".$res[$k]['phone'];
}
unset($row['passengers']);
if($row['is_pay']==1){
$row['is_pay']="已支付";
}elseif($row['is_pay']==2){
$row['is_pay']="未支付";
}elseif($row['is_pay']==3){
$row['is_pay']="已退款";
}elseif($row['is_pay']==4){
$row['is_pay']="已取消";
}
if($row['type']==1){
$row['type']="计票";
}elseif($row['type']==2){
$row['type']="城际";
}elseif($row['type']==3){
$row['type']="包车";
}
if($row['pay_type']=="wxpay"){
$row['pay_type']="微信";
}elseif($row['pay_type']=="offlinepay"){
$row['pay_type']="线下";
}elseif($row['pay_type']=="background"){
$row['pay_type']="后台下单";
}
$driver=Db::name("driver")->find($row['driver_id']);
$car=Db::name("car")->where("driver_id",$row['driver_id'])->find();
$row['license_plate']=$car['license_plate'];
$row['driver_name']=$driver['name'];
$route=Db::name("route")->find($row['route_id']);
$row['route_name']=$route['name'];
unset($row['driver_id']);
unset($row['route_id']);
if (!$row) {
$this->error(__('No Results were found'));
}
$this->view->assign("row", $row);
return $this->view->fetch();
}
public function chackorder(){
$newadditionorder= \app\admin\model\Order::where("is_check",0)->count();
return $newadditionorder;
}
public function notselectedorder(){
$newadditionorder= \app\admin\model\Order::where("driver_id",null)->count();
return $newadditionorder;
}
/**
* 发送模板消息
* @return void
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\ModelNotFoundException
* @throws \think\exception\DbException
*/
function refundSendMessage($order_id){
$order=\think\Db::name("order")->find($order_id);
$wxxcxpush=new WxxcxPush();
$user=new User();
$user=$user->find($order['user_id']);
$res=$wxxcxpush->refundMessage($user['wx_xcx_openid'],$order_id);
if ($res !== false) {
return $res;
}
}
/**
* 检查是否有新订单
* @return void
*/
public function chackordershow(){
$res=Db::name("order")->where("is_pay",1)->where("driver_id",null)->count();
return $res;
}
/**
* 添加
*
* @return string
* @throws \think\Exception
*/
public function add()
{
if (false === $this->request->isPost()) {
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);
$params['pay_type']="background";
$params['is_pay']=1;
$driver=Db::name("driver")->where("id",$params['driver_id'])->find();
$params['driver_name']=$driver['name'];
$params['order_no']=$this->getOrderSn();
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);
}
$passenger=Db::name("passenger")->insertGetId(['name'=>$params['user_name'],'IDcard'=>$params['IDcard'],'phone'=>$params['phone']]);
$params['passengers']=$passenger;
//判断总表
$time = strtotime(date("Y-m-d", time()));
$order_review = Db::name("order_review")
->where("car_id", $params['car_id'])
->where("route_id", $params['route_id'])
->where("driver_id", $params['driver_id'])
->where("createtime", ">", $time)
->find();
if (!$order_review) {
$order_review_id = Db::name("order_review")
->insertGetId([
"car_id" => $params['car_id'],
"route_id" => $params['route_id'],
"driver_id" => $params['driver_id'],
"type" => 1,
"order_status" => 1,
"createtime" => time()
]);
} else {
$order_review_id = $order_review['id'];
}
$params['order_review_id']=$order_review_id;
$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();
}
function getOrderSn()
{
$orderid = date("YmdHis") . mt_rand(1000, 999999);
$odcks = \think\Db::name('order')
->where(['order_no' => $orderid])
->find();
while (!empty($odcks)) {
$orderid = date("YmdHis") . mt_rand(1000, 999999);
}
return $orderid;
}
}
\ No newline at end of file
... ...
<?php
return [
'Id' => 'ID',
'Order_no' => '订单编号',
'Price' => '价格',
'Is_pay' => '是否支付',
'Is_pay 1' => '已支付',
'Is_pay 2' => '未支付',
'Is_pay 3' => '已退款',
'Is_pay 4' => '已取消',
'Type' => '订单类型',
'Type 1' => '计票',
'Type 2' => '城际',
'Type 3' => '包车',
'Pay_type' => '支付类型',
'passenger' => '乘车人信息',
'Pay_type wxpay' => '微信支付',
'Pay_type offlinepay' => '线下支付',
'Pay_type background' => '后台下单',
'Type 3' => '包车',
'Starting_point' => '出发位置',
'End_point' => '到达位置',
'Car_id' => '订单车辆',
'User_id' => '乘车人',
'User_name' => '乘车人姓名',
'Route_id' => '选择线路',
'Driver_id' => '司机名称',
//'Driver_name' => '运行路线名称',
'phone' => '联系电话',
'route_name' => '线路名称',
'Pay_time' => '支付时间',
'Refund_time' => '退款时间',
'Reservation_time' => '预约时间',
'Create_time' => '创建时间',
'driver_name' => '司机名称',
'license_plate' => '车牌号',
'IDcard' => '身份证',
'Driver.name' => '司机名称',
'Car.license_plate' => '车牌号',
'Starting_point' => '出发位置',
'end_point' => '结束位置',
'User.username' => '用户名'
];
... ...
<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">{:__('Price')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-price" class="form-control" step="0.01" name="row[price]" type="number">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Car_id')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-car_id" data-rule="required" data-source="car/index" class="form-control selectpage" data-field="license_plate" name="row[car_id]" type="text" value="">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('User_id')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-user_id" data-rule="required" data-source="user/user/index" data-field="nickname" class="form-control selectpage" name="row[user_id]" type="text" value="">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('User_name')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-user_name" class="form-control" name="row[user_name]" type="text">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Phone')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-phone" class="form-control" name="row[phone]" type="text">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('IDcard')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-IDcard" class="form-control" name="row[IDcard]" type="text">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Driver_id')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-driver_id" data-rule="required" data-source="driver/index" class="form-control selectpage" name="row[driver_id]" type="text" value="">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Route_id')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-route_id" data-rule="required" data-source="route/index" class="form-control selectpage" name="row[route_id]" type="text" value="">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
<div class="col-xs-12 col-sm-8">
<select id="c-type" class="form-control selectpicker" name="row[type]">
{foreach name="typeList" item="vo"}
<option value="{$key}" {in name="key" value=""}selected{/in}>{$vo}</option>
{/foreach}
</select>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Starting_point')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-starting_point" class="form-control" name="row[starting_point]" type="text">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('End_point')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-end_point" class="form-control" name="row[end_point]" type="text">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Pay_time')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-pay_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[pay_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">
<button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
</div>
</div>
</form>
... ...
<table class="table table-striped">
<thead>
<tr>
<th>{:__('Title')}</th>
<th>{:__('Content')}</th>
</tr>
</thead>
<tbody>
{volist name="row" id="vo" }
<tr>
<td>{$key}</td>
<td style="word-break: break-all;">{$vo|htmlentities}</td>
</tr>
{/volist}
{if $Think.get.dialog}
<tr>
<td>回传数据</td>
<td>
<div class="input-group">
<input name="callback" class="form-control" value="test" />
<span class="input-group-btn"><a href="javascript:;" class="btn btn-success btn-callback" >回传数据</a></span>
</div>
</td>
</tr>
{/if}
</tbody>
</table>
<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">
<button type="submit" class="btn btn-success btn-embossed disabled">{:__('OK')}</button>
<button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
</div>
</div>
... ...
<div class="panel panel-default panel-intro">
{:build_heading()}
<div class="panel-body">
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade active in" id="one">
<div class="widget-body no-padding">
<div id="toolbar" class="toolbar">
<a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
<a href="javascript:;" class="btn btn-success btn-add {:$auth->check('order/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
<a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('order/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
<a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('order/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
</div>
<table id="table" class="table table-striped table-bordered table-hover table-nowrap"
data-operate-edit="{:$auth->check('order/edit')}"
data-operate-del="{:$auth->check('order/del')}"
width="100%">
</table>
</div>
</div>
</div>
</div>
</div>
... ...
<form id="edit-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">选择司机:</label>
<div class="col-xs-12 col-sm-8">
<select id="c-intended_driver_id" class="form-control selectpicker" name="row[intended_driver_id]">
{foreach name="row" item="vo"}
<option value="{$vo.id}" {in name="key" value="$vo.id"}selected{/in}>{$vo.name}-{$vo.license_plate}</option>
{/foreach}
</select>
</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">
<button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
</div>
</div>
</form>
... ...
<div class="panel panel-default panel-intro">
{:build_heading()}
<div class="panel-body">
<div id="myTabContent" class="tab-content">
<div class="tab-pane fade active in" id="one">
<div class="widget-body no-padding">
<div id="toolbar" class="toolbar">
<a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
<a href="javascript:;" class="btn btn-success btn-add {:$auth->check('order/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
<a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('order/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
<a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('order/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
</div>
<table id="table" class="table table-striped table-bordered table-hover table-nowrap"
data-operate-edit="{:$auth->check('order/edit')}"
data-operate-del="{:$auth->check('order/del')}"
width="100%">
</table>
</div>
</div>
</div>
</div>
</div>
... ...
<style>
.table-adminlog tr td {
word-break: break-all;
}
</style>
<table class="table table-striped table-adminlog">
<thead>
<tr>
<th width="100">{:__('Title')}</th>
<th>{:__('Content')}</th>
</tr>
</thead>
<tbody>
{volist name="row" id="vo" }
<tr>
<td>{:__($key)}</td>
<td>{if $key=='createtime'}{$vo|datetime}{else/}{$vo|htmlentities}{/if}</td>
</tr>
{/volist}
</tbody>
</table>
<div class="hide layer-footer">
<label class="control-label col-xs-12 col-sm-2"></label>
<div class="col-xs-12 col-sm-8">
<button type="reset" class="btn btn-primary btn-embossed btn-close" onclick="Layer.closeAll();">{:__('Close')}</button>
</div>
</div>
... ...
<form id="edit-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">选择司机:</label>
<div class="col-xs-12 col-sm-8">
<select id="c-intended_driver_id" class="form-control selectpicker" name="row[intended_driver_id]">
{foreach name="row" item="vo"}
<option value="{$vo.id}" {in name="key" value="$vo.id"}selected{/in}>{$vo.name}-{$vo.license_plate}</option>
{/foreach}
</select>
</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">
<button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
</div>
</div>
</form>
... ...
... ... @@ -5,13 +5,14 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template'], function
// 初始化表格参数配置
Table.api.init({
extend: {
index_url: 'order/dispatch' + location.search,
add_url: 'order/add',
edit_url: 'order/edit',
del_url: 'order/del',
multi_url: 'order/multi',
import_url: 'order/import',
table: 'order',
index_url: 'dispatch/index' + location.search,
dispatch_url: 'dispatch/dispatch' + location.search,
add_url: 'dispatch/add',
edit_url: 'dispatch/edit',
del_url: 'dispatch/del',
multi_url: 'dispatch/multi',
import_url: 'dispatch/import',
table: 'dispatch',
}
});
... ...
... ... @@ -6,6 +6,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'template'], function
Table.api.init({
extend: {
index_url: 'order/index' + location.search,
dispatch_url: 'order/dispatch' + location.search,
add_url: 'order/add',
edit_url: 'order/edit',
del_url: 'order/del',
... ...