public function deliver($get, $post) { $produce_order_id = $get['produce_order_id']; $deliver_info = SampleProduceOrderDeliverInfo::find('produce_order_id=?', $produce_order_id)->one() ?: new SampleProduceOrderDeliverInfo(); if (!$deliver_info->id) { $tmp = SampleProduceOrder::findOneByPk($produce_order_id); /** * @var CustomerContact $ct * @var Customer $customer */ $ct = $tmp->contact; $customer = $tmp->customer; $deliver_info->customer_name = $customer->company_full_name; $deliver_info->contact = $ct->chinese_name; $deliver_info->phone = $ct->mobile; $deliver_info->address = $customer->address; } if ($post) { $deliver_info->setValue('produce_order_id', $produce_order_id); $deliver_info->setValues($post); $deliver_info->save(); SampleProduceOrder::updateByPk($produce_order_id, array('state' => SampleProduceOrder::STATE_DELIVERED)); return $this->getCommonResult(true); } $logistics_company_list = LogisticsCompany::find('state=?', LogisticsCompany::STATE_ENABLED)->all(); return array('logistics_company_list' => $logistics_company_list, 'deliver_info' => $deliver_info, 'produce_order_id' => $produce_order_id); }
<?php use www\model\SampleProduceOrderDeliverInfo; use www\ViewBase; use function Lite\func\array_group; use function Lite\func\dump; use function Lite\func\h; /** * @var SampleProduceOrderDeliverInfo $deliver_info * @var ViewBase $this */ include $this->resolveTemplate('inc/header.inc.php'); $deliver_info = $this->getData('deliver_info'); $logistics_company_list = $this->getData('logistics_company_list'); $defines = SampleProduceOrderDeliverInfo::meta()->getPropertiesDefine(); $produce_order_id = $this->getData('produce_order_id'); ?> <div id="col-aside"> <?php echo $this->getSideMenu(); ?> </div> <div id="col-main"> <form action="<?php echo $this->getUrl('SampleProduceOrder/deliver', array('produce_order_id' => $produce_order_id)); ?> " class="frm" rel="async" method="post"> <table class="frm-tbl"> <caption><?php echo $deliver_info->id ? '更新' : '新增'; ?>