<?php namespace Phpcmf\Controllers\Member;
class Sell extends \Phpcmf\Table {
public function index() {
$this->my_field = array(
'sn' => array(
'ismain' => 1,
'name' => dr_lang('订单编号'),
'fieldname' => 'sn',
'fieldtype' => 'Text',
),
'id' => array(
'ismain' => 1,
'name' => dr_lang('订单ID'),
'fieldname' => 'id',
'fieldtype' => 'Text',
),
'name' => array(
'ismain' => 1,
'name' => dr_lang('收货人'),
'fieldname' => 'name',
'fieldtype' => 'Text',
),
'phone' => array(
'ismain' => 1,
'name' => dr_lang('电话'),
'fieldname' => 'phone',
'fieldtype' => 'Text',
),
'address' => array(
'ismain' => 1,
'name' => dr_lang('地址'),
'fieldname' => 'address',
'fieldtype' => 'Text',
),
'remark' => array(
'ismain' => 1,
'name' => dr_lang('备注'),
'fieldname' => 'remark',
'fieldtype' => 'Text',
),
'username' => array(
'ismain' => 1,
'name' => dr_lang('买家账号'),
'fieldname' => 'username',
'fieldtype' => 'Text',
),
);
$this->name = dr_lang('订单');
$type = [
0 => [
'name' => dr_lang('所有订单'),
'icon' => '<i class="fa fa-shopping-cart"></i>',
'url' => \Phpcmf\Service::L('Router')->member_url('order/sell/index', ['tid' => 0]),
],
1 => [
'name' => dr_lang('未付款'),
'icon' => '<i class="fa fa-rmb"></i>',
'url' => \Phpcmf\Service::L('Router')->member_url('order/sell/index', ['tid' => 1]),
],
2 => [
'name' => dr_lang('已付款'),
'icon' => '<i class="fa fa-check-square-o"></i>',
'url' => \Phpcmf\Service::L('Router')->member_url('order/sell/index', ['tid' => 2]),
],
3 => [
'name' => dr_lang('已发货'),
'icon' => '<i class="fa fa-truck"></i>',
'url' => \Phpcmf\Service::L('Router')->member_url('order/sell/index', ['tid' => 3]),
],
4 => [
'name' => dr_lang('已完成'),
'icon' => '<i class="fa fa-check-circle"></i>',
'url' => \Phpcmf\Service::L('Router')->member_url('order/sell/index', ['tid' => 4]),
],
];
$tid = (int)$_GET['tid'];
switch ($tid) {
case 1:
$where = '`sell_uid`='.$this->uid.' AND `status` = 1';
break;
case 2:
$where = '`sell_uid`='.$this->uid.' AND `status` = 2';
break;
case 3:
$where = '`sell_uid`='.$this->uid.' AND `status` = 3';
break;
case 4:
$where = '`sell_uid`='.$this->uid.' AND `status` = 9';
break;
default:
$where = '`sell_uid`='.$this->uid;
break;
}
$this->_init([
'table' => SITE_ID.'_order',
'field' => $this->my_field,
'sys_field' => [],
'order_by' => 'inputtime desc',
'date_field' => 'inputtime',
'list_field' => [],
'where_list' => $where,
]);
list($a, $data) = $this->_List(['tid' => $tid]);
$list = [];
foreach ($data['list'] as $t) {
$t['goods'] = \Phpcmf\Service::M('order', 'order')->get_item($t['id']);
$list[] = $t;
}
\Phpcmf\Service::V()->assign([
'list' => $list,
'type' => $type,
'field' => $this->my_field,
]);
\Phpcmf\Service::V()->display('sell_list.html');
}
public function add() {
$id = (int)\Phpcmf\Service::L('input')->get('id');
$order = \Phpcmf\Service::M('order', 'order')->info($id);
if (!$order) {
$this->_json(0, dr_lang('订单不存在'));
} elseif ($order['sell_uid'] != $this->uid) {
$this->_json(0, dr_lang('无权限操作'));
}
$at = \Phpcmf\Service::L('input')->get('at');
\Phpcmf\Service::V()->assign([
'order' => $order,
]);
switch ($at) {
case 'delivery':
if (!$order['pay_id']) {
$this->_json(0, dr_lang('此订单还未付款'));
}
if (IS_AJAX_POST) {
if ($order['status'] == 9) {
$this->_json(0, dr_lang('此订单已经交易完成了'));
}
$data = \Phpcmf\Service::L('Input')->post('data');
!$data['deliver_name'] && $this->_json(0, dr_lang('快递名称必须填写'), ['field' => 'deliver_name']);
!$data['deliver_sn'] && $this->_json(0, dr_lang('快递单号必须填写'), ['field' => 'deliver_sn']);
!$data['note'] && $this->_json(0, dr_lang('备注信息必须填写'), ['field' => 'note']);
!$data['name'] && $this->_json(0, dr_lang('姓名必须填写'), ['field' => 'name']);
!$data['phone'] && $this->_json(0, dr_lang('电话号码必须填写'), ['field' => 'phone']);
!$data['address'] && $this->_json(0, dr_lang('详细地址必须填写'), ['field' => 'address']);
$rt = \Phpcmf\Service::M('order', 'order')->fahuo($order, $data);
!$rt['code'] && $this->_json(0, $rt['msg']);
$this->_json(1, dr_lang('操作成功'));
}
break;
case 'log':
if (IS_AJAX_POST) {
$note = \Phpcmf\Service::L('input')->post('note');
!$note && $this->_json(0, dr_lang('备注内容必须填写'), ['field' => 'note']);
\Phpcmf\Service::M('order', 'order')->add_log($order, $note);
$this->_json(1, dr_lang('操作成功'));
}
break;
case 'close':
if ($order['status'] == 0) {
$this->_json(0, dr_lang('此订单已经关闭'));
} elseif ($order['status'] == 9) {
$this->_json(0, dr_lang('此订单已经交易完成'));
}
if (IS_AJAX_POST) {
$note = \Phpcmf\Service::L('input')->post('note');
!$note && $this->_json(0, dr_lang('关闭原因必须填写'), ['field' => 'note']);
$order['status'] == 3 && $this->_json(0, dr_lang('此订单已经发货,无法关闭'));
\Phpcmf\Service::M('order', 'order')->close($order, $note);
$this->_json(1, dr_lang('操作成功'));
}
break;
}
\Phpcmf\Service::V()->display('sell_'.$at.'.html');exit;
}
public function show() {
$this->name = dr_lang('订单');
$this->is_list_data = 0;
$this->_init(['table' => SITE_ID.'_order']);
$id = (int)\Phpcmf\Service::L('Input')->get('id');
list($tpl, $data) = $this->_Show($id);
if (!$data) {
$this->_admin_msg(0, dr_lang('订单不存在'));
} elseif ($data['sell_uid'] != $this->uid) {
$this->_admin_msg(0, dr_lang('无权限查看此订单'));
}
$field = \Phpcmf\Service::M('order', 'order')->get_field(\Phpcmf\Service::M('app')->get_config(APP_DIR), $data['mid']);
if ($field) {
\Phpcmf\Service::L('Field')->app(APP_DIR);
$myfield = \Phpcmf\Service::L('Field')->toform($id, $field, $data, 1);
} else {
$myfield = '';
}
\Phpcmf\Service::V()->assign([
'order' => $data,
'goods' => \Phpcmf\Service::M('order', 'order')->get_item($id),
'op_log' => \Phpcmf\Service::M('order', 'order')->log($id),
'op_url' => \Phpcmf\Service::L('router')->member_url('order/sell/add', ['id' => $id]),
'myfield' => $myfield,
]);
\Phpcmf\Service::V()->display('sell_show.html');
}
}