set(2, 1)->getList($this->id);
$html = '';
$excel = Dever::input('excel', 1);
if ($data && $data['order']) {
if ($excel == 2) {
Dever::setInput('show', 2);
Dever::load('mshop/lib/out')->set(2, 1)->excel($data['order']);
die;
return;
}
foreach ($data['order'] as $k => $v) {
$view = Dever::url('out_view?order_id=' . $v['id'] . '&type=2', 'store');
$button = '';
if ($v['status'] == 1) {
$url = Dever::url('admin/out.cancel&order_id='.$v['id'], 'store');
$button .= ' ';
}
$url = Dever::url('lib/out.excel_one?show=2&type='.$v['type'].'&id='.$v['id'], 'mshop');
$button .= ' ';
$html .= '
'.$v['order_num'].' | '.$v['cdate'].' | '.$v['type_name'].' | '.$v['num'].' | '.$v['status_name'].' | '.$button.' |
';
}
}
return $html;
}
# 获取列表页搜索信息
public function getStatus()
{
$type = Dever::db('shop/out_order')->config['config_status'];
$config = array
(
array('value' => '0', 'name' => '全部')
);
foreach ($type as $k => $v) {
$config[] = array('value' => $k, 'name' => $v);
}
$status = Dever::input('status');
$html = '';
foreach ($config as $k => $v) {
$selected = '';
if ((!$status && $k == 0) || $status == $v['value']) {
$selected = 'selected=""';
}
$html .= '';
}
return $html;
}
# 获取列表页搜索信息
public function getType($state = 1)
{
$type = Dever::db('shop/out_order')->config['config_type'];
$type = $type();
$config = array
(
array('value' => '0', 'name' => '全部'),
);
foreach ($type as $k => $v) {
if ($v['type'] != 1) {
$config[] = array('value' => $k, 'name' => $v['name']);
}
}
if ($state == 2) {
unset($config[0]);
}
$out_type = Dever::input('out_type');
$html = '';
foreach ($config as $k => $v) {
$selected = '';
if ((!$out_type && $k == 0) || $out_type == $v['value']) {
$selected = 'selected=""';
}
$html .= '';
}
return $html;
}
# 获取基本信息
public function getConfig()
{
$data['search'] = Dever::url('out', 'store');
# 取消
$data['cancel'] = Dever::url('admin/out.cancel', 'store');
# 新增出库单
$data['add'] = Dever::url('admin/out.add', 'store');
return $data;
}
# 取消
public function cancel_api()
{
$order_id = Dever::input('order_id');
Dever::load('mshop/lib/out')->set(2,1)->cancel($this->id, $order_id);
return 'reload';
}
# 获取商品列表
public function getGoods_api()
{
$store_id = $this->id;
return Dever::outDiy(Dever::load('store/lib/goods')->getSkuList($store_id));
}
# 设置生产能力
public function add_api()
{
$data = array();
$data['store_id'] = $this->id;
$data['host'] = Dever::url('admin/out.add', 'store');
$data['url'] = Dever::url('admin/out.getGoods', 'store');
$data['submit'] = Dever::url('admin/out.action_commit?json=1', 'store');
$data['out_type'] = $this->getType(2);
$data['user'] = $this->user['name'];
return Dever::render('setGoods', $data);
}
# 得到商品和总价
private function goods()
{
$goods = Dever::input('goods');
if (!$goods) {
Dever::alert('请传入商品');
}
$goods = Dever::json_decode($goods);
$this->data['price'] = 0;
$this->data['num'] = 0;
$this->data['name'] = array();
$store_id = $this->id;
# 计算总价格
foreach ($goods as $k => $v) {
if (strstr($v['id'], '-')) {
$t = explode('-', $v['id']);
$v['id'] = $t[0];
$s = $t[1];
} else {
$s = -1;
}
$n = $v['num'];
$this->data['list'][$k] = Dever::load('goods/lib/info')->getPayInfo($v['id'], $s, 2);
$this->data['list'][$k]['num'] = $n;
# 2是库存不足
$this->data['list'][$k]['ku_state'] = 1;
# 验证是否有货
$total = Dever::load('store/lib/goods')->checkTotal($n, $v['id'], $store_id, $s);
if ($total <= 0) {
$this->data['list'][$k]['ku_state'] = 2;
$this->data['list'][$k]['buy_num'] = 0;
}
if ($this->data['list'][$k]['ku_state'] == 1) {
$this->data['list'][$k]['buy_num'] = $n;
$this->data['num'] += $n;
$this->data['price'] += $this->data['list'][$k]['price'] * $n;
$this->data['name'][] = $this->data['list'][$k]['name'];
}
}
$this->data['name'] = implode(',', $this->data['name']);
}
# 生成出库单
public function action_commit_api()
{
$info = Dever::input('info');
$out_type = Dever::input('out_type', 1);
$this->goods();
Dever::load('mshop/lib/out')->set(2,1)->action($this->id, $this->data['name'], $this->data['num'], $this->data['list'], $this->data['price'], $this->user['id'], $out_type, $info, 1);
return Dever::url('out', 'store');
}
public function print_api()
{
return Dever::load('mshop/lib/out')->printer($this->user);
}
}