This commit is contained in:
xman 2025-04-18 18:12:33 +08:00
parent b5c9f6e29b
commit 314fa09210
4 changed files with 99 additions and 33 deletions

View File

@ -2,6 +2,7 @@
namespace app\admin\controller\orders;
use app\admin\model\Aftersale;
use app\admin\model\Order;
use app\common\controller\Backend;
use Exception;
@ -50,7 +51,7 @@ class Review extends Backend
public function edit($ids=null)
{
if (false === $this->request->isPost()) {
$this->assign('statusList',['0'=>'否','1'=>'是']);
//$ids = $this->request->request('ids');
if(empty($ids)){
@ -63,14 +64,16 @@ class Review extends Backend
$this->error('订单不存在');
}
if($order->status != Order::STATUS_FINISHED){
/* if($order->status != Order::STATUS_FINISHED){
$this->error('订单未完成,不能回访');
}
}*/
if($order->revisit_id > 0){
$this->error('订单已完成回访');
}
$this->assign('order',$order);
if($order->aftersale_id){
$order->aftersale = Aftersale::get($order->aftersale_id);
}
$this->assign('row',$order);
return $this->view->fetch();
}
$params = $this->request->post('row/a');
@ -101,7 +104,13 @@ class Review extends Backend
}
$params['admin_id'] = $this->auth->id;
$params['admin_user'] = $this->auth->nickname;
$params['worker_id'] = $order->dispatch->worker_id;
if(!empty($order->dispatch->worker_id)){
$params['worker_id'] = $order->dispatch;
}
if($order->status == 60){
$params['is_star'] = 1;
}
$result = $this->model->allowField(true)->save($params);
$order->revisit_id = $this->auth->id;
$order->save();

View File

@ -56,7 +56,7 @@ class Revisitorder extends Backend
$list = $this->model
//->with(['orderreview'])
->where($where)
->where('status',Order::STATUS_FINISHED)
->whereIn('status',[Order::STATUS_FINISHED,Order::STATUS_CANCEL])
->order($sort, $order)
->paginate($limit);
@ -77,6 +77,10 @@ class Revisitorder extends Backend
foreach ($list as $row) {
if($row->revisit_id && isset($reviews[$row->revisit_id])){
$row->review = $reviews[$row->revisit_id];
if(empty($row->review) || $row->review['is_star'] == 0){
$row->pt_star = '-';
$row->worker_star = '-';
}
}
}
}

View File

@ -1,59 +1,108 @@
<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
<input name="row[order_id]" type="hidden" value="{$order.id}">
<input name="row[order_id]" type="hidden" value="{$row.id}">
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('订单号')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-order_no" readonly class="form-control" type="text" value="{$order.order_no|htmlentities}">
<input id="c-order_no" readonly class="form-control" type="text" value="{$row.order_no|htmlentities}">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('服务项目')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-item_title" readonly class="form-control" type="text" value="{$order.item_title|htmlentities}">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('服务详情')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-detail" readonly class="form-control" type="text" value="{$order.detail|htmlentities}">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('客户姓名')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-customer"readonly class="form-control" type="text" value="{$order.customer|htmlentities}">
<input id="c-customer" class="form-control" readonly type="text" value="{$row.customer|htmlentities}">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('客户电话')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-tel" readonly class="form-control" name="row[tel]" type="text" value="{$order.tel|htmlentities}">
<input id="c-tel" class="form-control" readonly type="text" value=" {$row.tel|htmlentities}">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('服务项目')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-item_title" readonly class="form-control" type="text" value="{$row.item_title|htmlentities}">
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('订单详情')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea id="c-detail" readonly class="form-control" placeholder="订单详情" >{$row.detail|htmlentities}</textarea>
</div>
</div>
{if condition='$row.cancel_detail neq ""'}
{if condition='$row.status eq -10'}
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('取消原因')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea class="form-control" readonly >{$row.cancel_detail|htmlentities}</textarea>
</div>
</div>
{/if}
{/if}
{notempty name='row.aftersale'}
{if condition='$row.aftersale.refund_amount > 0'}
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('退款原因')}:</label>
<div class="col-xs-12 col-sm-8">
<textarea class="form-control" readonly >{$row.aftersale.remark|htmlentities}</textarea>
</div>
</div>
{/if}
{/notempty}
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Pt_star')}:</label>
<label class="control-label col-xs-12 col-sm-2">{:__('回访情况属实')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-pt_star" data-rule="required" class="form-control" min="1" max="5" step="1" name="row[pt_star]" type="number" value="5">
<div class="radio">
{foreach name="statusList" item="vo"}
<label for="row[status]-{$key}"><input id="row[status]-{$key}" name="row[is_same]" type="radio" value="{$key}" {in name="key" value="1"}checked{/in} /> {$vo}</label>
{/foreach}
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Worker_star')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-worker_star" data-rule="required" min="1" max="5" step="1" class="form-control" name="row[worker_star]" type="number" value="5">
{if condition ='$row.status eq 60'}
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Pt_star')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-pt_star" data-rule="required" class="form-control" min="1" max="5" step="1" name="row[pt_star]" type="number" value="5">
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Worker_star')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-worker_star" data-rule="required" min="1" max="5" step="1" class="form-control" name="row[worker_star]" type="number" value="5">
</div>
</div>
{/if}
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>
<label class="control-label col-xs-12 col-sm-2">{:__('回访备注')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-remark" data-rule="required" class="form-control" name="row[remark]" type="text">
<textarea id="c-remark" data-rule="required" class="form-control" name="row[remark]" placeholder="填写回访备注" ></textarea>
</div>
</div>

View File

@ -32,7 +32,11 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
{field: 'id', title: __('Id')},
{field: 'order_no', title: __('Order_no'), operate: '='},
// {field: 'status', title: __('Status'), searchList: {"0":__('Status 0'),"10":__('Status 10'),"20":__('Status 20'),"30":__('Status 30'),"40":__('Status 40'),"50":__('Status 50'),"60":__('Status 60'),"-10":__('Status -10')}, formatter: Table.api.formatter.status},
{field: 'status', title: __('Status'), searchList: {"60":__('Status 60'),"-10":__('Status -10')}, formatter: Table.api.formatter.status},
{field: 'aftersale_id', title: __('是否退款'),operate:false,formatter: function (val) {
return val >0 ? '是' : '否';
}},
// {field: 'area_id', title: __('Area_id'), operate: 'LIKE'},
{field: 'address', title: __('Address'), operate: false, table: table, class: 'autocontent', formatter: Table.api.formatter.content},