# 訂單物流
### 訂單物流
#### 1、已售訂單管理
文件路徑:shop/controllers/Seller/Trade/OrderCtl.php
###### 1.1、所有訂單(physical())
```
<pre class="calibre14">```
$condition<span class="token1">[</span><span class="token4">'chain_id'</span><span class="token1">]</span> <span class="token">=</span> <span class="token6">0</span><span class="token1">;</span>
```
```
###### 1.2、待付款(getPhysicalNew())
```
<pre class="calibre14">```
$condi<span class="token1">[</span><span class="token4">'order_status'</span><span class="token1">]</span> <span class="token">=</span> Order_StateModel<span class="token1">:</span><span class="token1">:</span>ORDER_WAIT_PAY<span class="token1">;</span>
$condi<span class="token1">[</span><span class="token4">'chain_id'</span><span class="token1">]</span> <span class="token">=</span> <span class="token6">0</span><span class="token1">;</span>
```
```
###### 1.3、已付款(getPhysicalPay())
```
<pre class="calibre14">```
$condi<span class="token1">[</span><span class="token4">'order_status'</span><span class="token1">]</span> <span class="token">=</span> Order_StateModel<span class="token1">:</span><span class="token1">:</span>ORDER_PAYED<span class="token1">;</span>
$condi<span class="token1">[</span><span class="token4">'chain_id'</span><span class="token1">]</span> <span class="token">=</span> <span class="token6">0</span><span class="token1">;</span>
```
```
###### 1.4、已發貨(getPhysicalSend())
```
<pre class="calibre14">```
$condi<span class="token1">[</span><span class="token4">'order_status'</span><span class="token1">]</span> <span class="token">=</span> Order_StateModel<span class="token1">:</span><span class="token1">:</span>ORDER_WAIT_CONFIRM_GOODS<span class="token1">;</span>
$condi<span class="token1">[</span><span class="token4">'chain_id'</span><span class="token1">]</span> <span class="token">=</span> <span class="token6">0</span><span class="token1">;</span>
```
```
###### 1.5、已完成(getPhysicalSuccess())
```
<pre class="calibre14">```
$condi<span class="token1">[</span><span class="token4">'order_status'</span><span class="token1">]</span> <span class="token">=</span> Order_StateModel<span class="token1">:</span><span class="token1">:</span>ORDER_FINISH<span class="token1">;</span>
$condi<span class="token1">[</span><span class="token4">'chain_id'</span><span class="token1">]</span> <span class="token">=</span> <span class="token6">0</span><span class="token1">;</span>
```
```
###### 1.6、已取消(getPhysicalCancel())
```
<pre class="calibre14">```
$condi<span class="token1">[</span><span class="token4">'order_status'</span><span class="token1">]</span> <span class="token">=</span> Order_StateModel<span class="token1">:</span><span class="token1">:</span>ORDER_CANCEL<span class="token1">;</span>
$condi<span class="token1">[</span><span class="token4">'chain_id'</span><span class="token1">]</span> <span class="token">=</span> <span class="token6">0</span><span class="token1">;</span>
```
```
###### 1.7、回收站(getPhysicalHideOrder())
```
<pre class="calibre14">```
$condi<span class="token1">[</span><span class="token4">'order_status'</span><span class="token1">]</span> <span class="token">=</span> Order_StateModel<span class="token1">:</span><span class="token1">:</span>ORDER_CANCEL<span class="token1">;</span>
$condi<span class="token1">[</span><span class="token4">'chain_id'</span><span class="token1">]</span> <span class="token">=</span> <span class="token6">0</span><span class="token1">;</span>
```
```
###### 1.8、搜索訂單:
```
<pre class="calibre14">```
<span class="token2">function</span> <span class="token3">formSub</span><span class="token1">(</span><span class="token1">)</span><span class="token1">{</span>
$<span class="token1">(</span><span class="token4">'.search-form'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">parents</span><span class="token1">(</span><span class="token4">'form'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">submit</span><span class="token1">(</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
```
```
###### 1.9、取消訂單
```
<pre class="calibre14">```
$<span class="token1">(</span><span class="token4">'a[dialog_id="seller_order_cancel_order"]'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">on</span><span class="token1">(</span><span class="token4">'click'</span><span class="token1">,</span> <span class="token2">function</span> <span class="token1">(</span><span class="token1">)</span> <span class="token1">{</span>
var order_id <span class="token">=</span> $<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">data</span><span class="token1">(</span><span class="token4">'order_id'</span><span class="token1">)</span><span class="token1">,</span>url <span class="token">=</span> SITE_URL <span class="token">+</span> <span class="token4">'?ctl=Seller_Trade_Order&met=orderCancel&typ='</span><span class="token1">;</span>
$<span class="token1">.</span><span class="token3">dialog</span><span class="token1">(</span><span class="token1">{</span>
title<span class="token1">:</span> <span class="token4">'<?=__('</span>取消訂單<span class="token4">')?>'</span><span class="token1">,</span>
content<span class="token1">:</span> <span class="token4">'url: '</span> <span class="token">+</span> url <span class="token">+</span> <span class="token4">'e'</span><span class="token1">,</span>
data<span class="token1">:</span> <span class="token1">{</span> order_id<span class="token1">:</span> order_id <span class="token1">}</span><span class="token1">,</span>
height<span class="token1">:</span> <span class="token6">250</span><span class="token1">,</span>
width<span class="token1">:</span> <span class="token6">400</span><span class="token1">,</span>
lock<span class="token1">:</span> <span class="token6">true</span><span class="token1">,</span>
drag<span class="token1">:</span> <span class="token6">false</span><span class="token1">,</span>
ok<span class="token1">:</span> <span class="token2">function</span> <span class="token1">(</span><span class="token1">)</span> <span class="token1">{</span>
var form_ser <span class="token">=</span> $<span class="token1">(</span>this<span class="token1">.</span>content<span class="token1">.</span>order_cancel_form<span class="token1">)</span><span class="token1">.</span><span class="token3">serialize</span><span class="token1">(</span><span class="token1">)</span><span class="token1">;</span>
$<span class="token1">.</span><span class="token3">post</span><span class="token1">(</span>url <span class="token">+</span> <span class="token4">'json'</span><span class="token1">,</span> form_ser<span class="token1">,</span> <span class="token2">function</span> <span class="token1">(</span>data<span class="token1">)</span> <span class="token1">{</span>
<span class="token1">}</span><span class="token1">)</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">)</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token5">//獲取訂單詳情,判斷訂單的當前狀態與下單這是否為當前用戶</span>
$order_base <span class="token">=</span> $Order_BaseModel<span class="token">-</span><span class="token">></span><span class="token3">getOne</span><span class="token1">(</span>$order_id<span class="token1">)</span><span class="token1">;</span>
<span class="token2">if</span><span class="token1">(</span> <span class="token1">(</span>$order_base<span class="token1">[</span><span class="token4">'payment_id'</span><span class="token1">]</span> <span class="token">==</span> PaymentChannlModel<span class="token1">:</span><span class="token1">:</span>PAY_CONFIRM<span class="token">&&</span> $order_base<span class="token1">[</span><span class="token4">'order_status'</span><span class="token1">]</span> <span class="token">==</span>Order_StateModel<span class="token1">:</span><span class="token1">:</span>ORDER_WAIT_PREPARE_GOODS<span class="token1">)</span> <span class="token5">//貨到付款+等待發貨</span>
$order_base<span class="token1">[</span><span class="token4">'order_status'</span><span class="token1">]</span> <span class="token">==</span> Order_StateModel<span class="token1">:</span><span class="token1">:</span>ORDER_WAIT_PAY<span class="token">&&</span> $order_base<span class="token1">[</span><span class="token4">'seller_user_id'</span><span class="token1">]</span> <span class="token">==</span> Perm<span class="token1">:</span><span class="token1">:</span>$userId<span class="token1">)</span> <span class="token1">{</span>
<span class="token5">//加入取消時間</span>
$edit_flag <span class="token">=</span> $Order_BaseModel<span class="token">-</span><span class="token">></span><span class="token3">editBase</span><span class="token1">(</span>$order_id<span class="token1">,</span> $condition<span class="token1">)</span><span class="token1">;</span>
<span class="token5">//修改訂單商品表中的訂單狀態</span>
$edit_flag1 <span class="token">=</span> $Order_GoodsModel<span class="token">-</span><span class="token">></span><span class="token3">editGoods</span><span class="token1">(</span>$order_goods_id<span class="token1">,</span> $edit_row<span class="token1">)</span><span class="token1">;</span>
<span class="token5">//退還訂單商品的庫存</span>
<span class="token2">if</span><span class="token1">(</span>$order_base<span class="token1">[</span><span class="token4">'chain_id'</span><span class="token1">]</span><span class="token">!=</span><span class="token6">0</span><span class="token1">)</span><span class="token1">{</span>
$edit_flag2 <span class="token">=</span> $Chain_GoodsModel<span class="token">-</span><span class="token">></span><span class="token3">editGoods</span><span class="token1">(</span>$chain_goods_id<span class="token1">,</span> $goods_stock<span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span><span class="token2">else</span><span class="token1">{</span>
$edit_flag2 <span class="token">=</span> $Goods_BaseModel<span class="token">-</span><span class="token">></span><span class="token3">returnGoodsStock</span><span class="token1">(</span>$order_goods_id<span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token5">//將需要取消的訂單號遠程發送給Paycenter修改訂單狀態</span>
<span class="token5">//遠程修改paycenter中的訂單狀態</span>
$rs <span class="token">=</span> <span class="token3">get_url_with_encrypt</span><span class="token1">(</span>$key<span class="token1">,</span> <span class="token3">sprintf</span><span class="token1">(</span><span class="token4">'%s?ctl=Api_Pay_Pay&met=cancelOrder&typ=json'</span><span class="token1">,</span> $url<span class="token1">)</span><span class="token1">,</span> $formvars<span class="token1">)</span><span class="token1">;</span>
<span class="token5">//如果是供貨商取消進貨訂單,同時取消買家的訂單或減少買家訂單的金額</span>
$dist_goods_order <span class="token">=</span> $Order_GoodsModel <span class="token">-</span><span class="token">></span> <span class="token3">getByWhere</span><span class="token1">(</span><span class="token3">array</span><span class="token1">(</span><span class="token4">'order_id'</span> <span class="token">=</span><span class="token">></span> $dist_order<span class="token1">[</span><span class="token4">'order_id'</span><span class="token1">]</span><span class="token1">)</span><span class="token1">)</span><span class="token1">;</span>
<span class="token2">if</span><span class="token1">(</span><span class="token3">count</span><span class="token1">(</span>$dist_goods_order<span class="token1">)</span> <span class="token">==</span> <span class="token6">1</span><span class="token1">)</span><span class="token1">{</span>
$Order_BaseModel<span class="token">-</span><span class="token">></span> <span class="token3">editBase</span><span class="token1">(</span>$dist_order<span class="token1">[</span><span class="token4">'order_id'</span><span class="token1">]</span><span class="token1">,</span> $condition<span class="token1">)</span><span class="token1">;</span>
$Order_GoodsModel<span class="token">-</span><span class="token">></span> <span class="token3">editGoods</span><span class="token1">(</span>$dist_goods_order<span class="token1">[</span><span class="token6">0</span><span class="token1">]</span><span class="token1">[</span><span class="token4">'order_goods_id'</span><span class="token1">]</span><span class="token1">,</span> $edit_row<span class="token1">)</span><span class="token1">;</span>
$Goods_BaseModel <span class="token">-</span><span class="token">></span> <span class="token3">returnGoodsStock</span><span class="token1">(</span>$dist_goods_order<span class="token1">[</span><span class="token6">0</span><span class="token1">]</span><span class="token1">[</span><span class="token4">'order_goods_id'</span><span class="token1">]</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span><span class="token2">else</span><span class="token1">{</span>
$Order_BaseModel<span class="token">-</span><span class="token">></span> <span class="token3">editBase</span><span class="token1">(</span>$dist_order<span class="token1">[</span><span class="token4">'order_id'</span><span class="token1">]</span><span class="token1">,</span> $dist_edit_row<span class="token1">)</span><span class="token1">;</span>
$Order_GoodsModel<span class="token">-</span><span class="token">></span> <span class="token3">editGoods</span><span class="token1">(</span>$dist_goods_order<span class="token1">[</span>$key<span class="token1">]</span><span class="token1">[</span><span class="token4">'order_goods_id'</span><span class="token1">]</span><span class="token1">,</span> $edit_row<span class="token1">)</span><span class="token1">;</span>
$Goods_BaseModel <span class="token">-</span><span class="token">></span> <span class="token3">returnGoodsStock</span><span class="token1">(</span>$dist_goods_order<span class="token1">[</span>$key<span class="token1">]</span><span class="token1">[</span><span class="token4">'order_goods_id'</span><span class="token1">]</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
$formvars<span class="token1">[</span><span class="token4">'order_id'</span><span class="token1">]</span> <span class="token">=</span> $dist_order<span class="token1">[</span><span class="token4">'order_id'</span><span class="token1">]</span><span class="token1">;</span>
$rs <span class="token">=</span> <span class="token3">get_url_with_encrypt</span><span class="token1">(</span>$key<span class="token1">,</span> <span class="token3">sprintf</span><span class="token1">(</span><span class="token4">'%s?ctl=Api_Pay_Pay&met=cancelOrder&typ=json'</span><span class="token1">,</span> $url<span class="token1">)</span><span class="token1">,</span> $formvars<span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
```
```
###### 1.10、刪除訂單
```
<pre class="calibre14">```
window<span class="token1">.</span>hideOrder <span class="token">=</span> <span class="token2">function</span> <span class="token1">(</span>e<span class="token1">)</span>
<span class="token1">{</span>
$<span class="token1">.</span><span class="token3">dialog</span><span class="token1">(</span><span class="token1">{</span>
title<span class="token1">:</span> <span class="token4">'刪除訂單'</span><span class="token1">,</span>
content<span class="token1">:</span> <span class="token4">'您確定要刪除嗎?刪除后的訂單可在回收站找回,或徹底刪除! '</span><span class="token1">,</span>
height<span class="token1">:</span> <span class="token6">100</span><span class="token1">,</span>
width<span class="token1">:</span> <span class="token6">405</span><span class="token1">,</span>
lock<span class="token1">:</span> <span class="token6">true</span><span class="token1">,</span>
drag<span class="token1">:</span> <span class="token6">false</span><span class="token1">,</span>
ok<span class="token1">:</span> <span class="token2">function</span> <span class="token1">(</span><span class="token1">)</span> <span class="token1">{</span>
$<span class="token1">.</span><span class="token3">post</span><span class="token1">(</span>SITE_URL <span class="token">+</span> <span class="token4">'?ctl=Buyer_Order&met=hideOrder&typ=json'</span><span class="token1">,</span><span class="token1">{</span>order_id<span class="token1">:</span>e<span class="token1">,</span>user<span class="token1">:</span><span class="token4">'buyer'</span><span class="token1">}</span><span class="token1">,</span><span class="token2">function</span><span class="token1">(</span>data<span class="token1">)</span>
<span class="token1">{</span>
<span class="token1">}</span><span class="token1">)</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">)</span>
<span class="token1">}</span>
<span class="token5">//判斷訂單狀態是否是已完成(6)或者已取消(7)狀態</span>
<span class="token2">if</span><span class="token1">(</span>$order_base<span class="token1">[</span><span class="token4">'order_status'</span><span class="token1">]</span> <span class="token">>=</span> Order_StateModel<span class="token1">:</span><span class="token1">:</span>ORDER_FINISH<span class="token1">)</span>
<span class="token1">{</span>
<span class="token5">//判斷當前用戶是否是賣家</span>
<span class="token2">if</span><span class="token1">(</span>$order_base<span class="token1">[</span><span class="token4">'seller_user_id'</span><span class="token1">]</span> <span class="token">==</span> Perm<span class="token1">:</span><span class="token1">:</span>$userId<span class="token1">)</span>
<span class="token1">{</span>
$edit_row<span class="token1">[</span><span class="token4">'order_shop_hidden'</span><span class="token1">]</span> <span class="token">=</span> Order_BaseModel<span class="token1">:</span><span class="token1">:</span>IS_SELLER_HIDDEN<span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span>
$flag <span class="token">=</span> $Order_BaseModel<span class="token">-</span><span class="token">></span><span class="token3">editBase</span><span class="token1">(</span>$order_id<span class="token1">,</span> $edit_row<span class="token1">)</span><span class="token1">;</span>
```
```
###### 1.11、徹底刪除
```
<pre class="calibre14">```
window<span class="token1">.</span>delOrder <span class="token">=</span> <span class="token2">function</span> <span class="token1">(</span>e<span class="token1">)</span>
<span class="token1">{</span>
$<span class="token1">.</span><span class="token3">dialog</span><span class="token1">(</span><span class="token1">{</span>
title<span class="token1">:</span> <span class="token4">'刪除訂單'</span><span class="token1">,</span>
content<span class="token1">:</span> <span class="token4">'您確定要永久刪除嗎?永久刪除后您將無法再查看該訂單,也無法進行投訴維權,請謹慎操作!'</span><span class="token1">,</span>
height<span class="token1">:</span> <span class="token6">100</span><span class="token1">,</span>
width<span class="token1">:</span> <span class="token6">610</span><span class="token1">,</span>
lock<span class="token1">:</span> <span class="token6">true</span><span class="token1">,</span>
drag<span class="token1">:</span> <span class="token6">false</span><span class="token1">,</span>
ok<span class="token1">:</span> <span class="token2">function</span> <span class="token1">(</span><span class="token1">)</span> <span class="token1">{</span>
$<span class="token1">.</span><span class="token3">post</span><span class="token1">(</span>SITE_URL <span class="token">+</span><span class="token">?</span><span class="token4">'ctl=Buyer_Order&met=hideOrder&typ=json'</span><span class="token1">{</span>order_id<span class="token1">:</span>e<span class="token1">,</span>user<span class="token1">:</span><span class="token4">'buyer'</span><span class="token1">,</span>op<span class="token1">:</span><span class="token4">'del'</span><span class="token1">}</span><span class="token1">,</span><span class="token2">function</span><span class="token1">(</span>data<span class="token1">)</span>
<span class="token1">{</span>
<span class="token1">}</span>
<span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">)</span>
<span class="token1">}</span>
<span class="token5">//判斷訂單狀態是否是已完成(6)或者已取消(7)狀態</span>
<span class="token2">if</span><span class="token1">(</span>$order_base<span class="token1">[</span><span class="token4">'order_status'</span><span class="token1">]</span> <span class="token">>=</span> Order_StateModel<span class="token1">:</span><span class="token1">:</span>ORDER_FINISH<span class="token1">)</span>
<span class="token1">{</span>
<span class="token5">//判斷當前用戶是否是賣家</span>
<span class="token2">if</span><span class="token1">(</span>$order_base<span class="token1">[</span><span class="token4">'seller_user_id'</span><span class="token1">]</span> <span class="token">==</span> Perm<span class="token1">:</span><span class="token1">:</span>$userId<span class="token1">)</span>
<span class="token1">{</span>
$edit_row<span class="token1">[</span><span class="token4">'order_shop_hidden'</span><span class="token1">]</span> <span class="token">=</span> Order_BaseModel<span class="token1">:</span><span class="token1">:</span>IS_SELLER_REMOVE<span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span>
$flag <span class="token">=</span> $Order_BaseModel<span class="token">-</span><span class="token">></span><span class="token3">editBase</span><span class="token1">(</span>$order_id<span class="token1">,</span> $edit_row<span class="token1">)</span><span class="token1">;</span>
```
```
###### 1.12、還原訂單
```
<pre class="calibre14">```
window<span class="token1">.</span>restoreOrder <span class="token">=</span> <span class="token2">function</span> <span class="token1">(</span>e<span class="token1">)</span>
<span class="token1">{</span>
$<span class="token1">.</span><span class="token3">dialog</span><span class="token1">(</span><span class="token1">{</span>
title<span class="token1">:</span> <span class="token4">'還原刪除訂單'</span><span class="token1">,</span>
content<span class="token1">:</span> <span class="token4">'您確定要還原嗎?'</span><span class="token1">,</span>
height<span class="token1">:</span> <span class="token6">100</span><span class="token1">,</span>
width<span class="token1">:</span> <span class="token6">610</span><span class="token1">,</span>
lock<span class="token1">:</span> <span class="token6">true</span><span class="token1">,</span>
drag<span class="token1">:</span> <span class="token6">false</span><span class="token1">,</span>
ok<span class="token1">:</span> <span class="token2">function</span> <span class="token1">(</span><span class="token1">)</span> <span class="token1">{</span>
$<span class="token1">.</span><span class="token3">post</span><span class="token1">(</span>SITE_URL <span class="token">+</span> <span class="token4">'?ctl=Buyer_Order&met=restoreOrder&typ=json'</span><span class="token1">,</span><span class="token1">{</span>order_id<span class="token1">:</span>e<span class="token1">,</span>user<span class="token1">:</span><span class="token4">'buyer'</span><span class="token1">}</span><span class="token1">,</span><span class="token2">function</span><span class="token1">(</span>data<span class="token1">)</span>
<span class="token1">{</span>
<span class="token1">}</span>
<span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">)</span>
<span class="token1">}</span>
$edit_row<span class="token1">[</span><span class="token4">'order_shop_hidden'</span><span class="token1">]</span> <span class="token">=</span> Order_BaseModel<span class="token1">:</span><span class="token1">:</span>NO_SELLER_HIDDEN<span class="token1">;</span>
$flag <span class="token">=</span> $Order_BaseModel<span class="token">-</span><span class="token">></span><span class="token3">editBase</span><span class="token1">(</span>$order_id<span class="token1">,</span> $edit_row<span class="token1">)</span><span class="token1">;</span>
```
```
#### 2、虛擬兌換訂單
文件路徑:shop/controllers/Seller/Trade/OrderCtl.php
###### 2.1、所有訂單(virtual())
```
<pre class="calibre14">```
$condition<span class="token1">[</span><span class="token4">'shop_id'</span><span class="token1">]</span> <span class="token">=</span> Perm<span class="token1">:</span><span class="token1">:</span>$shopId<span class="token1">;</span>
$condition<span class="token1">[</span><span class="token4">'order_is_virtual'</span><span class="token1">]</span> <span class="token">=</span> Order_BaseModel<span class="token1">:</span><span class="token1">:</span>ORDER_IS_VIRTUAL<span class="token1">;</span>
$condition<span class="token1">[</span><span class="token4">'order_shop_hidden'</span><span class="token1">]</span> <span class="token">=</span> Order_BaseModel<span class="token1">:</span><span class="token1">:</span>ORDER_IS_REAL<span class="token1">;</span>
```
```
###### 2.2、待付款(getVirtualNew())
```
<pre class="calibre14">```
$condition<span class="token1">[</span><span class="token4">'shop_id'</span><span class="token1">]</span> <span class="token">=</span> Perm<span class="token1">:</span><span class="token1">:</span>$shopId<span class="token1">;</span>
$condition<span class="token1">[</span><span class="token4">'order_is_virtual'</span><span class="token1">]</span> <span class="token">=</span> Order_BaseModel<span class="token1">:</span><span class="token1">:</span>ORDER_IS_VIRTUAL<span class="token1">;</span>
$condition<span class="token1">[</span><span class="token4">'order_shop_hidden'</span><span class="token1">]</span> <span class="token">=</span> Order_BaseModel<span class="token1">:</span><span class="token1">:</span>ORDER_IS_REAL<span class="token1">;</span>
$condition<span class="token1">[</span><span class="token4">'order_status'</span><span class="token1">]</span> <span class="token">=</span> Order_StateModel<span class="token1">:</span><span class="token1">:</span>ORDER_WAIT_PAY<span class="token1">;</span>
```
```
###### 2.3、已發貨(getVirtualPay())
```
<pre class="calibre14">```
$condition<span class="token1">[</span><span class="token4">'shop_id'</span><span class="token1">]</span> <span class="token">=</span> Perm<span class="token1">:</span><span class="token1">:</span>$shopId<span class="token1">;</span>
$condition<span class="token1">[</span><span class="token4">'order_is_virtual'</span><span class="token1">]</span> <span class="token">=</span> Order_BaseModel<span class="token1">:</span><span class="token1">:</span>ORDER_IS_VIRTUAL<span class="token1">;</span>
$condition<span class="token1">[</span><span class="token4">'order_shop_hidden'</span><span class="token1">]</span> <span class="token">=</span> Order_BaseModel<span class="token1">:</span><span class="token1">:</span>ORDER_IS_REAL<span class="token1">;</span>
$condition<span class="token1">[</span><span class="token4">'order_status'</span><span class="token1">]</span> <span class="token">=</span> Order_StateModel<span class="token1">:</span><span class="token1">:</span>ORDER_WAIT_CONFIRM_GOODS<span class="token1">;</span>
```
```
###### 2.4、已完成(getVirtualSuccess())
```
<pre class="calibre14">```
$condition<span class="token1">[</span><span class="token4">'shop_id'</span><span class="token1">]</span> <span class="token">=</span> Perm<span class="token1">:</span><span class="token1">:</span>$shopId<span class="token1">;</span>
$condition<span class="token1">[</span><span class="token4">'order_is_virtual'</span><span class="token1">]</span> <span class="token">=</span> Order_BaseModel<span class="token1">:</span><span class="token1">:</span>ORDER_IS_VIRTUAL<span class="token1">;</span>
$condition<span class="token1">[</span><span class="token4">'order_shop_hidden'</span><span class="token1">]</span> <span class="token">=</span> Order_BaseModel<span class="token1">:</span><span class="token1">:</span>ORDER_IS_REAL<span class="token1">;</span>
$condition<span class="token1">[</span><span class="token4">'order_status'</span><span class="token1">]</span> <span class="token">=</span> Order_StateModel<span class="token1">:</span><span class="token1">:</span>ORDER_FINISH<span class="token1">;</span>
```
```
###### 2.5、已取消(getVirtualCancel())
```
<pre class="calibre14">```
$condition<span class="token1">[</span><span class="token4">'shop_id'</span><span class="token1">]</span> <span class="token">=</span> Perm<span class="token1">:</span><span class="token1">:</span>$shopId<span class="token1">;</span>
$condition<span class="token1">[</span><span class="token4">'order_is_virtual'</span><span class="token1">]</span> <span class="token">=</span> Order_BaseModel<span class="token1">:</span><span class="token1">:</span>ORDER_IS_VIRTUAL<span class="token1">;</span>
$condition<span class="token1">[</span><span class="token4">'order_shop_hidden'</span><span class="token1">]</span> <span class="token">=</span> Order_BaseModel<span class="token1">:</span><span class="token1">:</span>ORDER_IS_REAL<span class="token1">;</span>
$condition<span class="token1">[</span><span class="token4">'order_status'</span><span class="token1">]</span> <span class="token">=</span> Order_StateModel<span class="token1">:</span><span class="token1">:</span>ORDER_CANCEL<span class="token1">;</span>
```
```
###### 2.6、回收站(getVirtualHideOrder())
```
<pre class="calibre14">```
$condition<span class="token1">[</span><span class="token4">'order_shop_hidden'</span><span class="token1">]</span> <span class="token">=</span> $Order_BaseModel<span class="token1">:</span><span class="token1">:</span>IS_SELLER_HIDDEN<span class="token1">;</span>
$condition<span class="token1">[</span><span class="token4">'shop_id'</span><span class="token1">]</span> <span class="token">=</span> Perm<span class="token1">:</span><span class="token1">:</span>$shopId<span class="token1">;</span>
$condition<span class="token1">[</span><span class="token4">'order_is_virtual'</span><span class="token1">]</span> <span class="token">=</span> Order_BaseModel<span class="token1">:</span><span class="token1">:</span>ORDER_IS_VIRTUAL<span class="token1">;</span>
```
```
###### 2.7、校驗兌換碼(virtualExchange())
```
<pre class="calibre14">```
$<span class="token1">(</span><span class="token4">'#_submit'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">on</span><span class="token1">(</span><span class="token4">'click'</span><span class="token1">,</span><span class="token2">function</span><span class="token1">(</span><span class="token1">)</span><span class="token1">{</span>
<span class="token3">exPost</span><span class="token1">(</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token2">function</span> <span class="token3">exPost</span><span class="token1">(</span><span class="token1">)</span> <span class="token1">{</span>
$<span class="token1">(</span><span class="token4">'#vr_code_waring'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">html</span><span class="token1">(</span><span class="token4">''</span><span class="token1">)</span><span class="token1">;</span>
$<span class="token1">.</span><span class="token3">getJSON</span><span class="token1">(</span> SITE_URL <span class="token">+</span> <span class="token4">'?ctl=Seller_Trade_Order&met=virtualExchange&typ=json&vr_code='</span><span class="token">+</span>$<span class="token1">(</span><span class="token4">"#vr_code"</span><span class="token1">)</span><span class="token1">.</span><span class="token3">val</span><span class="token1">(</span><span class="token1">)</span><span class="token1">,</span> <span class="token2">null</span><span class="token1">,</span> <span class="token2">function</span><span class="token1">(</span>data<span class="token1">)</span><span class="token1">{</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token5">//修改兌換碼狀態</span>
$update<span class="token1">[</span><span class="token4">'virtual_code_status'</span><span class="token1">]</span> <span class="token">=</span> Order_GoodsVirtualCodeModel<span class="token1">:</span><span class="token1">:</span>VIRTUAL_CODE_USED<span class="token1">;</span>
$update<span class="token1">[</span><span class="token4">'virtual_code_usetime'</span><span class="token1">]</span> <span class="token">=</span> <span class="token3">date</span><span class="token1">(</span><span class="token4">'Y-m-d H:i:s'</span><span class="token1">,</span> <span class="token3">time</span><span class="token1">(</span><span class="token1">)</span><span class="token1">)</span><span class="token1">;</span> <span class="token5">//兌換時間</span>
$result <span class="token">=</span> $this<span class="token">-</span><span class="token">></span><span class="token3">editCode</span><span class="token1">(</span>$virtual_code_id<span class="token1">,</span> $update<span class="token1">)</span><span class="token1">;</span>
<span class="token5">//判斷該筆訂單中有多少虛擬商品,如果是最后一筆虛擬商品,則修改訂單狀態為已完成,將訂單金額轉到商家賬戶</span>
$edit_flag <span class="token">=</span> $orderBaseModel<span class="token">-</span><span class="token">></span><span class="token3">editBase</span><span class="token1">(</span>$order_data<span class="token1">[</span><span class="token4">'order_id'</span><span class="token1">]</span><span class="token1">,</span> <span class="token3">array</span><span class="token1">(</span><span class="token4">'order_status'</span> <span class="token">=</span><span class="token">></span> Order_StateModel<span class="token1">:</span><span class="token1">:</span>ORDER_FINISH <span class="token1">,</span> <span class="token4">'order_finished_time'</span> <span class="token">=</span><span class="token">></span> <span class="token3">get_date_time</span><span class="token1">(</span><span class="token1">)</span><span class="token1">)</span><span class="token1">)</span><span class="token1">;</span>
<span class="token5">//遠程同步paycenter中的訂單狀態</span>
$rs <span class="token">=</span> <span class="token3">get_url_with_encrypt</span><span class="token1">(</span>$key<span class="token1">,</span> <span class="token3">sprintf</span><span class="token1">(</span><span class="token4">'%s?ctl=Api_Pay_Pay&met=confirmOrder&typ=json'</span><span class="token1">,</span> $url<span class="token1">)</span><span class="token1">,</span> $formvars<span class="token1">)</span>
```
```
###### 2.8、其他
```
<pre class="calibre14">```
訂單搜索、取消訂單、刪除訂單、徹底刪除訂單、還原訂單與上文已售訂單管理中一致
```
```
#### 3、門店自提訂單
文件路徑:shop/controllers/Seller/Trade/OrderCtl.php
###### 3.1、所有訂單(chain())
```
<pre class="calibre14">```
$condition<span class="token1">[</span><span class="token4">'chain_id:!='</span><span class="token1">]</span> <span class="token">=</span> <span class="token6">0</span><span class="token1">;</span>
```
```
###### 3.2、待付款(getChainNew())
```
<pre class="calibre14">```
$condi<span class="token1">[</span><span class="token4">'order_status'</span><span class="token1">]</span> <span class="token">=</span> Order_StateModel<span class="token1">:</span><span class="token1">:</span>ORDER_WAIT_PAY<span class="token1">;</span>
$condi<span class="token1">[</span><span class="token4">'chain_id:!='</span><span class="token1">]</span> <span class="token">=</span> <span class="token6">0</span><span class="token1">;</span>
```
```
###### 3.3、待自提(getChainNotakes())
```
<pre class="calibre14">```
$condi<span class="token1">[</span><span class="token4">'order_status'</span><span class="token1">]</span> <span class="token">=</span> Order_StateModel<span class="token1">:</span><span class="token1">:</span>ORDER_SELF_PICKUP<span class="token1">;</span>
$condi<span class="token1">[</span><span class="token4">'chain_id:!='</span><span class="token1">]</span> <span class="token">=</span> <span class="token6">0</span><span class="token1">;</span>
```
```
###### 3.4、已完成(getChainSuccess())
```
<pre class="calibre14">```
$condi<span class="token1">[</span><span class="token4">'order_status'</span><span class="token1">]</span> <span class="token">=</span> Order_StateModel<span class="token1">:</span><span class="token1">:</span>ORDER_FINISH<span class="token1">;</span>
$condi<span class="token1">[</span><span class="token4">'chain_id:!='</span><span class="token1">]</span> <span class="token">=</span> <span class="token6">0</span><span class="token1">;</span>
```
```
###### 3.5、已取消(getChainCancel())
```
<pre class="calibre14">```
$condi<span class="token1">[</span><span class="token4">'order_status'</span><span class="token1">]</span> <span class="token">=</span> Order_StateModel<span class="token1">:</span><span class="token1">:</span>ORDER_CANCEL<span class="token1">;</span>
$condi<span class="token1">[</span><span class="token4">'chain_id:!='</span><span class="token1">]</span> <span class="token">=</span> <span class="token6">0</span><span class="token1">;</span>
```
```
###### 3.6、回收站(getChainHideOrder())
```
<pre class="calibre14">```
$condition<span class="token1">[</span><span class="token4">'order_shop_hidden'</span><span class="token1">]</span> <span class="token">=</span> $Order_BaseModel<span class="token1">:</span><span class="token1">:</span>IS_SELLER_HIDDEN<span class="token1">;</span>
$condition<span class="token1">[</span><span class="token4">'chain_id:!='</span><span class="token1">]</span> <span class="token">=</span> <span class="token6">0</span><span class="token1">;</span>
```
```
###### 3.7、其他
```
<pre class="calibre14">```
訂單搜索、取消訂單、刪除訂單、徹底刪除訂單、還原訂單與上文已售訂單管理中一致
```
```
#### 4、發貨
文件路徑:shop/controllers/Seller/Trade/DeliverCtl.php
###### 4.1、待發貨(deliver())
```
<pre class="calibre14">```
$condition<span class="token1">[</span><span class="token4">'order_status:IN'</span><span class="token1">]</span> <span class="token">=</span> <span class="token3">array</span><span class="token1">(</span> Order_StateModel<span class="token1">:</span><span class="token1">:</span>ORDER_PAYED<span class="token1">,</span> Order_StateModel<span class="token1">:</span><span class="token1">:</span>ORDER_WAIT_PREPARE_GOODS <span class="token1">)</span><span class="token1">;</span>
```
```
###### 4.2、發貨(shop/controllers/Seller/Trade/OrderCtl.php,send())
編輯收貨人信息:
```
<pre class="calibre14">```
$<span class="token1">(</span><span class="token4">'a[dialog_id="edit_buyer_address"]'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">on</span><span class="token1">(</span><span class="token4">'click'</span><span class="token1">,</span> <span class="token2">function</span> <span class="token1">(</span><span class="token1">)</span> <span class="token1">{</span>
var _this <span class="token">=</span> $<span class="token1">(</span>this<span class="token1">)</span><span class="token1">,</span>
buyer_address <span class="token">=</span> $<span class="token1">(</span><span class="token4">'#buyer_address_span'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">html</span><span class="token1">(</span><span class="token1">)</span><span class="token1">;</span>
address_data <span class="token">=</span> _this<span class="token1">.</span><span class="token3">data</span><span class="token1">(</span><span class="token1">)</span><span class="token1">,</span>
address_data<span class="token1">.</span>order_id <span class="token">=</span> $<span class="token1">(</span><span class="token4">'#order_id'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">val</span><span class="token1">(</span><span class="token1">)</span><span class="token1">;</span>
$<span class="token1">.</span><span class="token3">dialog</span><span class="token1">(</span><span class="token1">{</span>
title<span class="token1">:</span> <span class="token4">'<?=__('</span>選擇收貨地址<span class="token4">')?>'</span><span class="token1">,</span>
content<span class="token1">:</span> <span class="token4">'url: '</span> <span class="token">+</span> SITE_URL <span class="token">+</span> <span class="token4">'?ctl=Seller_Trade_Order&met=editBuyerAddress&typ=e'</span><span class="token1">,</span>
height<span class="token1">:</span> <span class="token6">200</span><span class="token1">,</span>
width<span class="token1">:</span> <span class="token6">550</span><span class="token1">,</span>
lock<span class="token1">:</span> <span class="token6">true</span><span class="token1">,</span>
drag<span class="token1">:</span> <span class="token6">false</span><span class="token1">,</span>
data<span class="token1">:</span> <span class="token1">{</span> address_data<span class="token1">:</span> address_data<span class="token1">,</span>
callback<span class="token1">:</span> <span class="token2">function</span> <span class="token1">(</span> data <span class="token1">)</span> <span class="token1">{</span>
<span class="token1">}</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">)</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
$update_data<span class="token1">[</span><span class="token4">'order_receiver_name'</span><span class="token1">]</span> <span class="token">=</span> <span class="token3">request_string</span><span class="token1">(</span><span class="token4">'order_receiver_name'</span><span class="token1">)</span><span class="token1">;</span>
$update_data<span class="token1">[</span><span class="token4">'order_receiver_address'</span><span class="token1">]</span> <span class="token">=</span> <span class="token3">request_string</span><span class="token1">(</span><span class="token4">'order_receiver_address'</span><span class="token1">)</span><span class="token1">;</span>
$update_data<span class="token1">[</span><span class="token4">'order_receiver_contact'</span><span class="token1">]</span> <span class="token">=</span> <span class="token3">request_string</span><span class="token1">(</span><span class="token4">'order_receiver_contact'</span><span class="token1">)</span><span class="token1">;</span>
$flag <span class="token">=</span> $Order_BaseModel<span class="token">-</span><span class="token">></span><span class="token3">editBase</span><span class="token1">(</span>$order_id<span class="token1">,</span> $update_data<span class="token1">)</span><span class="token1">;</span>
```
```
編輯我的發貨信息:
```
<pre class="calibre14">```
$<span class="token1">(</span><span class="token4">'a[dialog_id="edit_seller_address"]'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">on</span><span class="token1">(</span><span class="token4">'click'</span><span class="token1">,</span> <span class="token2">function</span> <span class="token1">(</span><span class="token1">)</span> <span class="token1">{</span>
var order_id <span class="token">=</span> $<span class="token1">(</span><span class="token4">'#order_id'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">val</span><span class="token1">(</span><span class="token1">)</span><span class="token1">,</span>
shop_id <span class="token">=</span> $<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">data</span><span class="token1">(</span><span class="token4">'shop_id'</span><span class="token1">)</span><span class="token1">,</span>
url <span class="token">=</span> SITE_URL <span class="token">+</span> <span class="token4">'?ctl=Seller_Trade_Order&met=chooseSendAddress&typ='</span><span class="token1">;</span>
$<span class="token1">.</span><span class="token3">dialog</span><span class="token1">(</span><span class="token1">{</span>
title<span class="token1">:</span> <span class="token4">'<?=__('</span>選擇發貨地址<span class="token4">')?>'</span><span class="token1">,</span>
content<span class="token1">:</span> <span class="token4">'url: '</span> <span class="token">+</span> url <span class="token">+</span> <span class="token4">'e&shop_id='</span> <span class="token">+</span> shop_id<span class="token1">,</span>
height<span class="token1">:</span> <span class="token6">400</span><span class="token1">,</span>
width<span class="token1">:</span> <span class="token6">640</span><span class="token1">,</span>
lock<span class="token1">:</span> <span class="token6">true</span><span class="token1">,</span>
drag<span class="token1">:</span> <span class="token6">false</span><span class="token1">,</span>
data<span class="token1">:</span> <span class="token1">{</span> callback<span class="token1">:</span> <span class="token2">function</span> <span class="token1">(</span> send_address<span class="token1">,</span> win <span class="token1">)</span> <span class="token1">{</span>
$<span class="token1">.</span><span class="token3">post</span><span class="token1">(</span>url <span class="token">+</span> <span class="token4">'json&order_id='</span> <span class="token">+</span> order_id<span class="token1">,</span> <span class="token1">{</span> send_address<span class="token1">:</span> send_address <span class="token1">}</span><span class="token1">,</span> <span class="token2">function</span> <span class="token1">(</span>data<span class="token1">)</span> <span class="token1">{</span>
<span class="token1">}</span><span class="token1">)</span>
<span class="token1">}</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">)</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
$update_data<span class="token1">[</span><span class="token4">'order_seller_name'</span><span class="token1">]</span> <span class="token">=</span> $send_address<span class="token1">[</span><span class="token4">'order_seller_name'</span><span class="token1">]</span><span class="token1">;</span>
$update_data<span class="token1">[</span><span class="token4">'order_seller_address'</span><span class="token1">]</span> <span class="token">=</span> $send_address<span class="token1">[</span><span class="token4">'order_seller_address'</span><span class="token1">]</span><span class="token1">;</span>
$update_data<span class="token1">[</span><span class="token4">'order_seller_contact'</span><span class="token1">]</span> <span class="token">=</span> $send_address<span class="token1">[</span><span class="token4">'order_seller_contact'</span><span class="token1">]</span><span class="token1">;</span>
$flag <span class="token">=</span> $Order_BaseModel<span class="token">-</span><span class="token">></span><span class="token3">editBase</span><span class="token1">(</span>$order_id<span class="token1">,</span> $update_data<span class="token1">)</span><span class="token1">;</span>
```
```
提交表單:
```
<pre class="calibre14">```
$<span class="token1">(</span><span class="token4">'a[nc_value]'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">on</span><span class="token1">(</span><span class="token4">'click'</span><span class="token1">,</span> <span class="token2">function</span> <span class="token1">(</span><span class="token1">)</span> <span class="token1">{</span>
$<span class="token1">.</span><span class="token3">post</span><span class="token1">(</span>SITE_URL <span class="token">+</span> <span class="token4">'?ctl=Seller_Trade_Order&met=send&typ=json'</span><span class="token1">,</span> send_data<span class="token1">,</span> <span class="token2">function</span> <span class="token1">(</span>data<span class="token1">)</span><span class="token1">{</span>
<span class="token1">}</span><span class="token1">)</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token5">//判斷該筆訂單是否是自己的單子</span>
$order_base <span class="token">=</span> $Order_BaseModel<span class="token">-</span><span class="token">></span><span class="token3">getOne</span><span class="token1">(</span>$order_id<span class="token1">)</span><span class="token1">;</span>
<span class="token5">//判斷賬號是否可以發貨</span>
$check_send <span class="token">=</span> $this<span class="token">-</span><span class="token">></span><span class="token3">checkSend</span><span class="token1">(</span>$order_base<span class="token1">[</span><span class="token4">'seller_user_id'</span><span class="token1">]</span><span class="token1">,</span>$order_base<span class="token1">[</span><span class="token4">'shop_id'</span><span class="token1">]</span><span class="token1">)</span><span class="token1">;</span>
<span class="token5">//設置發貨</span>
<span class="token5">//配送時間 收貨時間</span>
$edit_flag <span class="token">=</span> $Order_BaseModel<span class="token">-</span><span class="token">></span><span class="token3">editBase</span><span class="token1">(</span>$order_id<span class="token1">,</span> $update_data<span class="token1">)</span><span class="token1">;</span>
$order_list <span class="token">=</span> $Order_GoodsModel <span class="token">-</span><span class="token">></span> <span class="token3">getByWhere</span><span class="token1">(</span><span class="token3">array</span><span class="token1">(</span><span class="token4">'order_id'</span> <span class="token">=</span><span class="token">></span>$order_base<span class="token1">[</span><span class="token4">'order_source_id'</span><span class="token1">]</span><span class="token1">,</span><span class="token4">'order_goods_source_id'</span> <span class="token">=</span><span class="token">></span> <span class="token4">''</span><span class="token1">)</span><span class="token1">)</span><span class="token1">;</span><span class="token5">//查看不是分銷商品的訂單</span>
<span class="token2">if</span><span class="token1">(</span><span class="token">!</span><span class="token3">empty</span><span class="token1">(</span>$order_list<span class="token1">)</span> <span class="token">&&</span> $order_base<span class="token1">[</span><span class="token4">'order_source_id'</span><span class="token1">]</span><span class="token1">)</span><span class="token1">{</span>
foreach <span class="token1">(</span>$order_list as $key <span class="token">=</span><span class="token">></span> $value<span class="token1">)</span> <span class="token1">{</span>
$edit_flag1 <span class="token">=</span> $Order_GoodsModel <span class="token">-</span><span class="token">></span> <span class="token3">editGoods</span><span class="token1">(</span>$key<span class="token1">,</span><span class="token3">array</span><span class="token1">(</span><span class="token4">'order_goods_source_ship'</span> <span class="token">=</span><span class="token">></span> $update_data<span class="token1">[</span><span class="token4">'order_shipping_code'</span><span class="token1">]</span><span class="token1">.</span><span class="token4">'-'</span><span class="token1">.</span>$update_data<span class="token1">[</span><span class="token4">'order_shipping_express_id'</span><span class="token1">]</span><span class="token1">)</span><span class="token1">)</span><span class="token1">;</span>
<span class="token3">check_rs</span><span class="token1">(</span>$edit_flag1<span class="token1">,</span>$rs_row<span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span>
<span class="token5">//如果為采購單,改變 "買家<-->分銷商" 訂單狀態</span>
<span class="token5">/*
只有訂單中不含分銷商自己的商品時改變訂單狀態,如果含有分銷商自己的商品,
供貨商發貨改變訂單狀態,分銷商自己就發不了貨了.
所以如果訂單中含有分銷商自己的商品,只有分銷商的商品發貨了,才能改變訂單狀態
*/</span>
$dist_flag <span class="token">=</span> $Order_BaseModel<span class="token">-</span><span class="token">></span><span class="token3">editBase</span><span class="token1">(</span>$dist_order<span class="token1">[</span><span class="token4">'order_id'</span><span class="token1">]</span><span class="token1">,</span> $update_data<span class="token1">)</span><span class="token1">;</span>
<span class="token5">//買家商品訂單表里添加物流單號</span>
$order_goods_id <span class="token">=</span> $Order_GoodsModel<span class="token">-</span><span class="token">></span><span class="token3">getKeyByWhere</span><span class="token1">(</span><span class="token3">array</span><span class="token1">(</span><span class="token4">'order_goods_source_id'</span> <span class="token">=</span><span class="token">></span> $order_id<span class="token1">)</span><span class="token1">)</span><span class="token1">;</span>
$edit_flag2 <span class="token">=</span> $Order_GoodsModel <span class="token">-</span><span class="token">></span> <span class="token3">editGoods</span><span class="token1">(</span>$order_goods_id<span class="token1">,</span><span class="token3">array</span><span class="token1">(</span><span class="token4">'order_goods_source_ship'</span> <span class="token">=</span><span class="token">></span> $update_data<span class="token1">[</span><span class="token4">'order_shipping_code'</span><span class="token1">]</span><span class="token1">.</span><span class="token4">'-'</span><span class="token1">.</span>$update_data<span class="token1">[</span><span class="token4">'order_shipping_express_id'</span><span class="token1">]</span><span class="token1">)</span><span class="token1">)</span><span class="token1">;</span>
```
```
##### 4.3、發貨中(delivering())
獲取訂單列表
```
<pre class="calibre14">```
$Order_BaseModel <span class="token">=</span> <span class="token2">new</span> <span class="token3">Order_BaseModel</span><span class="token1">(</span><span class="token1">)</span><span class="token1">;</span>
$condition<span class="token1">[</span><span class="token4">'order_status'</span><span class="token1">]</span> <span class="token">=</span> Order_StateModel<span class="token1">:</span><span class="token1">:</span>ORDER_WAIT_CONFIRM_GOODS<span class="token1">;</span>
$data <span class="token">=</span> $Order_BaseModel<span class="token">-</span><span class="token">></span><span class="token3">getPhysicalList</span><span class="token1">(</span>$condition<span class="token1">)</span><span class="token1">;</span>
foreach <span class="token1">(</span>$data<span class="token1">[</span><span class="token4">'items'</span><span class="token1">]</span> as $key <span class="token">=</span><span class="token">></span> $val<span class="token1">)</span>
<span class="token1">{</span>
<span class="token2">if</span> <span class="token1">(</span><span class="token3">strtotime</span><span class="token1">(</span>$val<span class="token1">[</span><span class="token4">'order_receiver_date'</span><span class="token1">]</span><span class="token1">)</span><span class="token1">)</span>
<span class="token1">{</span>
$data<span class="token1">[</span><span class="token4">'items'</span><span class="token1">]</span><span class="token1">[</span>$key<span class="token1">]</span><span class="token1">[</span><span class="token4">'order_receiver_date'</span><span class="token1">]</span> <span class="token">=</span> $val<span class="token1">[</span><span class="token4">'order_receiver_date'</span><span class="token1">]</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span>
```
```
延遲收貨
```
<pre class="calibre14">```
$<span class="token1">(</span><span class="token4">'a[dialog_id="seller_order_delay_receive"]'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">on</span><span class="token1">(</span><span class="token4">'click'</span><span class="token1">,</span> <span class="token2">function</span> <span class="token1">(</span><span class="token1">)</span> <span class="token1">{</span>
var $this <span class="token">=</span> $<span class="token1">(</span>this<span class="token1">)</span><span class="token1">,</span>
order_id <span class="token">=</span> $this<span class="token1">.</span><span class="token3">data</span><span class="token1">(</span><span class="token4">'order_id'</span><span class="token1">)</span><span class="token1">,</span>
buyer_name <span class="token">=</span> $this<span class="token1">.</span><span class="token3">data</span><span class="token1">(</span><span class="token4">'buyer_user_name'</span><span class="token1">)</span><span class="token1">,</span>
order_receiver_date <span class="token">=</span> $this<span class="token1">.</span><span class="token3">data</span><span class="token1">(</span><span class="token4">'order_receiver_date'</span><span class="token1">)</span><span class="token1">,</span>
url <span class="token">=</span> SITE_URL <span class="token">+</span> <span class="token4">'?ctl=Seller_Trade_Deliver&met=delayReceive&typ='</span><span class="token1">;</span>
$<span class="token1">.</span><span class="token3">dialog</span><span class="token1">(</span><span class="token1">{</span>
title<span class="token1">:</span> <span class="token4">'<?=__('</span>延遲收貨<span class="token4">')?>'</span><span class="token1">,</span>
content<span class="token1">:</span> <span class="token4">'url: '</span> <span class="token">+</span> url <span class="token">+</span> <span class="token4">'e'</span><span class="token1">,</span>
data<span class="token1">:</span> <span class="token1">{</span> order_id<span class="token1">:</span> order_id<span class="token1">,</span> order_receiver_date<span class="token1">:</span> order_receiver_date<span class="token1">,</span> buyer_name<span class="token1">:</span> buyer_name <span class="token1">}</span><span class="token1">,</span>
height<span class="token1">:</span> <span class="token6">250</span><span class="token1">,</span>
width<span class="token1">:</span> <span class="token6">500</span><span class="token1">,</span>
lock<span class="token1">:</span> <span class="token6">true</span><span class="token1">,</span>
drag<span class="token1">:</span> <span class="token6">false</span><span class="token1">,</span>
ok<span class="token1">:</span> <span class="token2">function</span> <span class="token1">(</span><span class="token1">)</span> <span class="token1">{</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">)</span>
<span class="token1">}</span><span class="token1">)</span>
$order_receiver_date <span class="token">=</span> <span class="token3">strtotime</span><span class="token1">(</span>$order_receiver_date<span class="token1">)</span><span class="token1">;</span>
$order_receiver_date <span class="token">=</span> <span class="token3">strtotime</span><span class="token1">(</span><span class="token4">"+$delayDays days"</span><span class="token1">,</span> $order_receiver_date<span class="token1">)</span><span class="token1">;</span>
$update<span class="token1">[</span><span class="token4">'order_receiver_date'</span><span class="token1">]</span> <span class="token">=</span> <span class="token3">date</span><span class="token1">(</span><span class="token4">'Y-m-d H:i:s'</span><span class="token1">,</span> $order_receiver_date<span class="token1">)</span><span class="token1">;</span>
$flag <span class="token">=</span> $Order_BaseModel<span class="token">-</span><span class="token">></span><span class="token3">editBase</span><span class="token1">(</span>$order_id<span class="token1">,</span> $update<span class="token1">)</span><span class="token1">;</span>
```
```
##### 4.4、已發貨(delivered())
```
<pre class="calibre14">```
$condition<span class="token1">[</span><span class="token4">'order_status'</span><span class="token1">]</span> <span class="token">=</span> Order_StateModel<span class="token1">:</span><span class="token1">:</span>ORDER_FINISH<span class="token1">;</span>
```
```
##### 4.5、其他
```
<pre class="calibre14">```
訂單搜索、取消訂單、刪除訂單、徹底刪除訂單、還原訂單與上文已售訂單管理中一致
```
```
#### 5、發貨設置
文件路徑:shop/controllers/Seller/Trade/DeliverCtl.php
##### 5.1、地址庫(deliverSetting())
獲取地址列表:
$cond\_row\['shop\_id'\] = Perm::$shopId;
$data = $this->shopShippingAddressModel->getBaseList($cond\_row, array('shipping\_address\_time' => 'desc'), $page, $rows);
新增/編輯地址:
```
<pre class="calibre14">```
$<span class="token1">(</span><span class="token4">'#form'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">validator</span><span class="token1">(</span><span class="token1">{</span>
debug<span class="token1">:</span><span class="token6">true</span><span class="token1">,</span>
ignore<span class="token1">:</span> <span class="token4">':hidden'</span><span class="token1">,</span>
theme<span class="token1">:</span> <span class="token4">'yellow_right'</span><span class="token1">,</span>
timely<span class="token1">:</span> <span class="token6">1</span><span class="token1">,</span>
stopOnError<span class="token1">:</span> <span class="token6">false</span><span class="token1">,</span>
rules<span class="token1">:</span> <span class="token1">{</span>
phone<span class="token1">:</span> <span class="token1">[</span><span class="token">/</span><span class="token">^</span><span class="token6">1</span><span class="token1">[</span>\d<span class="token1">]</span><span class="token1">{</span><span class="token6">10</span><span class="token1">}</span>$<span class="token">/</span><span class="token1">,</span> <span class="token4">'<?=__('</span>請輸入正確的手機號<span class="token4">')?>'</span><span class="token1">]</span>
<span class="token1">}</span><span class="token1">,</span>
fields<span class="token1">:</span> <span class="token1">{</span>
<span class="token4">'shipping_address_contact'</span><span class="token1">:</span> <span class="token4">'required;length[2~10]'</span><span class="token1">,</span>
<span class="token4">'select_1'</span><span class="token1">:</span><span class="token4">'required'</span><span class="token1">,</span>
<span class="token4">'select_2'</span><span class="token1">:</span><span class="token4">'required'</span><span class="token1">,</span>
<span class="token4">'select_3'</span><span class="token1">:</span><span class="token4">'required'</span><span class="token1">,</span>
<span class="token4">'shipping_address_address'</span> <span class="token1">:</span> <span class="token4">'required'</span><span class="token1">,</span>
<span class="token4">'shipping_address_phone'</span><span class="token1">:</span><span class="token4">'required;phone'</span>
<span class="token1">}</span><span class="token1">,</span>
valid<span class="token1">:</span> <span class="token2">function</span><span class="token1">(</span>form<span class="token1">)</span><span class="token1">{</span>
var me <span class="token">=</span> this<span class="token1">;</span>
<span class="token5">// 提交表單之前,hold住表單,并且在以后每次hold住時執行回調</span>
me<span class="token1">.</span><span class="token3">holdSubmit</span><span class="token1">(</span><span class="token2">function</span><span class="token1">(</span><span class="token1">)</span><span class="token1">{</span>
Public<span class="token1">.</span>tips<span class="token1">.</span><span class="token3">error</span><span class="token1">(</span><span class="token4">'<?=__('</span>正在處理中<span class="token4">')?>...'</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
$<span class="token1">.</span><span class="token3">ajax</span><span class="token1">(</span><span class="token1">{</span>
url<span class="token1">:</span> ajax_url<span class="token1">,</span>
data<span class="token1">:</span> $<span class="token1">(</span>form<span class="token1">)</span><span class="token1">.</span><span class="token3">serialize</span><span class="token1">(</span><span class="token1">)</span><span class="token1">,</span>
type<span class="token1">:</span> <span class="token4">"POST"</span><span class="token1">,</span>
success<span class="token1">:</span><span class="token2">function</span><span class="token1">(</span>e<span class="token1">)</span><span class="token1">{</span>
me<span class="token1">.</span><span class="token3">holdSubmit</span><span class="token1">(</span><span class="token6">false</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
```
```
刪除地址:
```
<pre class="calibre14">```
<span class="token"><</span>span class<span class="token">=</span><span class="token4">"del"</span><span class="token">></span><span class="token"><</span>a data<span class="token">-</span>param<span class="token">=</span><span class="token4">"{'ctl':'Seller_Trade_Deliver','met':'delAddress','id':'<?= $val['shipping_address_id'] ?>'}"</span> href<span class="token">=</span><span class="token4">"javascript:void(0)"</span><span class="token">></span><span class="token"><</span>i class<span class="token">=</span><span class="token4">"iconfont icon-lajitong"</span><span class="token">></span><span class="token"><</span><span class="token">/</span>i<span class="token">></span><span class="token"><</span><span class="token">?</span><span class="token">=</span><span class="token3">__</span><span class="token1">(</span><span class="token4">'刪除'</span><span class="token1">)</span><span class="token">?</span><span class="token">></span><span class="token"><</span><span class="token">/</span>a<span class="token">></span><span class="token"><</span><span class="token">/</span>span<span class="token">></span>
```
```
更改默認地址:
```
<pre class="calibre14">```
$<span class="token1">(</span><span class="token4">'input[name="is_default"]'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">on</span><span class="token1">(</span><span class="token4">'click'</span><span class="token1">,</span><span class="token2">function</span><span class="token1">(</span><span class="token1">)</span><span class="token1">{</span>
$<span class="token1">.</span><span class="token3">get</span><span class="token1">(</span><span class="token4">'index.php?ctl=Seller_Trade_Deliver&met=setDefaultAddress&shipping_address_id='</span><span class="token">+</span>$<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">val</span><span class="token1">(</span><span class="token1">)</span><span class="token1">,</span><span class="token2">function</span><span class="token1">(</span>result<span class="token1">)</span><span class="token1">{</span><span class="token1">}</span><span class="token1">)</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token5">//獲取店鋪已設置默認地址信息</span>
$data <span class="token">=</span> $this<span class="token">-</span><span class="token">></span><span class="token3">getByWhere</span><span class="token1">(</span><span class="token3">array</span><span class="token1">(</span><span class="token4">'shop_id'</span> <span class="token">=</span><span class="token">></span> $shop_id<span class="token1">,</span><span class="token4">'shipping_address_default'</span> <span class="token">=</span><span class="token">></span> <span class="token6">1</span><span class="token1">)</span><span class="token1">)</span><span class="token1">;</span>
<span class="token2">if</span> <span class="token1">(</span><span class="token">!</span><span class="token3">empty</span><span class="token1">(</span>$data<span class="token1">)</span><span class="token1">)</span>
<span class="token1">{</span>
foreach <span class="token1">(</span>$data as $key <span class="token">=</span><span class="token">></span> $val<span class="token1">)</span>
<span class="token1">{</span>
<span class="token5">//已有默認地址置為0</span>
$this<span class="token">-</span><span class="token">></span><span class="token3">edit</span><span class="token1">(</span>$val<span class="token1">[</span><span class="token4">'shipping_address_id'</span><span class="token1">]</span><span class="token1">,</span> <span class="token3">array</span><span class="token1">(</span><span class="token4">'shipping_address_default'</span> <span class="token">=</span><span class="token">></span> <span class="token6">0</span><span class="token1">)</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span>
<span class="token5">//設置新的默認地址</span>
$this<span class="token">-</span><span class="token">></span><span class="token3">edit</span><span class="token1">(</span>$shipping_address_id<span class="token1">,</span> $field_row<span class="token1">)</span><span class="token1">;</span>
```
```
##### 5.2、默認物流公司(express)
循環顯示所有物流公司
```
<pre class="calibre14">```
<span class="token"><</span><span class="token">?</span>php <span class="token3">foreach</span><span class="token1">(</span>$data<span class="token1">[</span><span class="token4">'items'</span><span class="token1">]</span> as $key<span class="token">=</span><span class="token">></span>$val<span class="token1">)</span><span class="token1">{</span> <span class="token">?</span><span class="token">></span>
<span class="token"><</span>td class<span class="token">=</span><span class="token4">"tl"</span><span class="token">></span>
<span class="token"><</span>label class<span class="token">=</span><span class="token4">"checkbox"</span><span class="token">></span><span class="token"><</span>input type<span class="token">=</span><span class="token4">"checkbox"</span> <span class="token"><</span><span class="token">?</span>php <span class="token2">if</span><span class="token1">(</span>$val<span class="token1">[</span><span class="token4">'checked'</span><span class="token1">]</span><span class="token">==</span><span class="token6">1</span><span class="token1">)</span> echo <span class="token4">"checked"</span><span class="token1">;</span> <span class="token">?</span><span class="token">></span> name<span class="token">=</span><span class="token4">"id[]"</span> value<span class="token">=</span><span class="token4">"<?=$val['express_id']?>"</span><span class="token">></span><span class="token"><</span><span class="token">/</span>label<span class="token">></span><span class="token"><</span><span class="token">?</span><span class="token">=</span><span class="token3">__</span><span class="token1">(</span>$val<span class="token1">[</span><span class="token4">'express_name'</span><span class="token1">]</span><span class="token1">)</span><span class="token">?</span><span class="token">></span>
<span class="token"><</span><span class="token">/</span>td<span class="token">></span>
<span class="token"><</span><span class="token">?</span>php <span class="token2">if</span><span class="token1">(</span><span class="token1">(</span>$key<span class="token">+</span><span class="token6">1</span><span class="token1">)</span><span class="token">%</span><span class="token6">4</span><span class="token">==</span><span class="token6">0</span><span class="token1">)</span><span class="token1">{</span> <span class="token">?</span><span class="token">></span><span class="token"><</span><span class="token">/</span>tr<span class="token">></span><span class="token"><</span>tr<span class="token">></span><span class="token"><</span><span class="token">?</span>php <span class="token1">}</span> <span class="token">?</span><span class="token">></span>
<span class="token"><</span><span class="token">?</span>php <span class="token1">}</span> <span class="token">?</span><span class="token">></span>
```
```
保存修改
```
<pre class="calibre14">```
$<span class="token1">(</span><span class="token4">'#form'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">validator</span><span class="token1">(</span><span class="token1">{</span>
$<span class="token1">.</span><span class="token3">ajax</span><span class="token1">(</span><span class="token1">{</span>
url<span class="token1">:</span> <span class="token4">"index.php?ctl=Seller_Trade_Deliver&met=express&typ=json&op=save"</span><span class="token1">,</span>
data<span class="token1">:</span> $<span class="token1">(</span>form<span class="token1">)</span><span class="token1">.</span><span class="token3">serialize</span><span class="token1">(</span><span class="token1">)</span><span class="token1">,</span>
type<span class="token1">:</span> <span class="token4">"POST"</span><span class="token1">,</span>
success<span class="token1">:</span><span class="token2">function</span><span class="token1">(</span>e<span class="token1">)</span><span class="token1">{</span>
me<span class="token1">.</span><span class="token3">holdSubmit</span><span class="token1">(</span><span class="token6">false</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token5">//獲取店鋪默認物流公司ID</span>
$express_rows <span class="token">=</span> $this<span class="token">-</span><span class="token">></span><span class="token3">getShopExpressId</span><span class="token1">(</span><span class="token3">array</span><span class="token1">(</span><span class="token4">'shop_id'</span> <span class="token">=</span><span class="token">></span> $shop_id<span class="token1">)</span><span class="token1">)</span><span class="token1">;</span>
<span class="token5">//不在已有默認物流公司ID內,插入</span>
$this<span class="token">-</span><span class="token">></span><span class="token3">add</span><span class="token1">(</span>$field<span class="token1">)</span><span class="token1">;</span>
<span class="token5">//如果已有ID,不在提交的數組里,刪除</span>
$cond_row<span class="token1">[</span><span class="token4">'shop_id'</span><span class="token1">]</span> <span class="token">=</span> $shop_id<span class="token1">;</span>
$cond_row<span class="token1">[</span><span class="token4">'express_id'</span><span class="token1">]</span> <span class="token">=</span> $v<span class="token1">;</span>
<span class="token5">//獲取主鍵值,合并數組</span>
$key_row <span class="token">=</span> $this<span class="token">-</span><span class="token">></span><span class="token3">getKeyByWhere</span><span class="token1">(</span>$cond_row<span class="token1">)</span><span class="token1">;</span>
$del_row <span class="token">=</span> <span class="token3">array_merge</span><span class="token1">(</span>$del_row<span class="token1">,</span> $key_row<span class="token1">)</span><span class="token1">;</span>
```
```
##### 5.3、免運費額度(freightAmount())
保存修改
```
<pre class="calibre14">```
$<span class="token1">(</span><span class="token4">'#form'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">validator</span><span class="token1">(</span><span class="token1">{</span>
$<span class="token1">.</span><span class="token3">ajax</span><span class="token1">(</span><span class="token1">{</span>
url<span class="token1">:</span> <span class="token4">"index.php?ctl=Seller_Trade_Deliver&met=freightAmount&op=save&typ=json"</span><span class="token1">,</span>
data<span class="token1">:</span> $<span class="token1">(</span>form<span class="token1">)</span><span class="token1">.</span><span class="token3">serialize</span><span class="token1">(</span><span class="token1">)</span><span class="token1">,</span>
type<span class="token1">:</span> <span class="token4">"POST"</span><span class="token1">,</span>
success<span class="token1">:</span><span class="token2">function</span><span class="token1">(</span>e<span class="token1">)</span><span class="token1">{</span>
me<span class="token1">.</span><span class="token3">holdSubmit</span><span class="token1">(</span><span class="token6">false</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
$update_flag <span class="token">=</span> $this<span class="token">-</span><span class="token">></span><span class="token3">edit</span><span class="token1">(</span>$shop_id<span class="token1">,</span> <span class="token3">array</span><span class="token1">(</span><span class="token4">'shop_free_shipping'</span> <span class="token">=</span><span class="token">></span> <span class="token3">request_int</span><span class="token1">(</span><span class="token4">'free_shipping'</span><span class="token1">)</span><span class="token1">)</span><span class="token1">)</span><span class="token1">;</span>
```
```
##### 5.4、發貨單打印設置(printSetting())
圖片上傳
```
<pre class="calibre14">```
$<span class="token1">(</span><span class="token4">'#logo_upload'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">on</span><span class="token1">(</span><span class="token4">'click'</span><span class="token1">,</span> <span class="token2">function</span> <span class="token1">(</span><span class="token1">)</span> <span class="token1">{</span>
$<span class="token1">.</span><span class="token3">dialog</span><span class="token1">(</span><span class="token1">{</span>
title<span class="token1">:</span> <span class="token4">'<?=__('</span>圖片裁剪<span class="token4">')?>'</span><span class="token1">,</span>
content<span class="token1">:</span> <span class="token4">"url: <?= Yf_Registry::get('url') ?>?ctl=Upload&met=cropperImage&typ=e"</span><span class="token1">,</span>
data<span class="token1">:</span> <span class="token1">{</span>width<span class="token1">:</span><span class="token6">120</span><span class="token1">,</span>height<span class="token1">:</span><span class="token6">120</span> <span class="token1">,</span> callback<span class="token1">:</span> callback1 <span class="token1">}</span><span class="token1">,</span> <span class="token5">// 需要截取圖片的寬高比例</span>
width<span class="token1">:</span> <span class="token4">'800px'</span><span class="token1">,</span>
lock<span class="token1">:</span> <span class="token6">true</span>
<span class="token1">}</span><span class="token1">)</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token2">function</span> <span class="token3">callback1</span><span class="token1">(</span> respone <span class="token1">,</span> api <span class="token1">)</span> <span class="token1">{</span>
$<span class="token1">(</span><span class="token4">'#image_review'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">attr</span><span class="token1">(</span><span class="token4">'src'</span><span class="token1">,</span> respone<span class="token1">.</span>url<span class="token1">)</span><span class="token1">;</span>
$<span class="token1">(</span><span class="token4">'.image_review'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">show</span><span class="token1">(</span><span class="token1">)</span><span class="token1">;</span>
$<span class="token1">(</span><span class="token4">'#shop_stamp'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">attr</span><span class="token1">(</span><span class="token4">'value'</span><span class="token1">,</span> respone<span class="token1">.</span>url<span class="token1">)</span><span class="token1">;</span>
api<span class="token1">.</span><span class="token3">close</span><span class="token1">(</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token2">if</span> <span class="token1">(</span> window<span class="token1">.</span>isIE8 <span class="token1">)</span> <span class="token1">{</span>
$<span class="token1">(</span><span class="token4">'#logo_upload'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">off</span><span class="token1">(</span><span class="token4">'click'</span><span class="token1">)</span><span class="token1">;</span>
logo_uploadss <span class="token">=</span> <span class="token2">new</span> <span class="token3">UploadImage</span><span class="token1">(</span><span class="token1">{</span>
thumbnailWidth<span class="token1">:</span> <span class="token6">200</span><span class="token1">,</span>
thumbnailHeight<span class="token1">:</span> <span class="token6">60</span><span class="token1">,</span>
imageContainer<span class="token1">:</span> <span class="token4">'#image_review'</span><span class="token1">,</span>
uploadButton<span class="token1">:</span> <span class="token4">'#logo_upload'</span><span class="token1">,</span>
inputHidden<span class="token1">:</span> <span class="token4">'#shop_stamp'</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
```
```
保存修改:
```
<pre class="calibre14">```
$<span class="token1">(</span><span class="token4">'#form'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">validator</span><span class="token1">(</span><span class="token1">{</span>
$<span class="token1">.</span><span class="token3">ajax</span><span class="token1">(</span><span class="token1">{</span>
url<span class="token1">:</span> <span class="token4">"index.php?ctl=Seller_Trade_Deliver&met=printSetting&op=save&typ=json"</span><span class="token1">,</span>
data<span class="token1">:</span> $<span class="token1">(</span>form<span class="token1">)</span><span class="token1">.</span><span class="token3">serialize</span><span class="token1">(</span><span class="token1">)</span><span class="token1">,</span>
type<span class="token1">:</span> <span class="token4">"POST"</span><span class="token1">,</span>
success<span class="token1">:</span><span class="token2">function</span><span class="token1">(</span>e<span class="token1">)</span><span class="token1">{</span>
me<span class="token1">.</span><span class="token3">holdSubmit</span><span class="token1">(</span><span class="token6">false</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">)</span><span class="token1">;</span>
$field_row<span class="token1">[</span><span class="token4">'shop_print_desc'</span><span class="token1">]</span> <span class="token">=</span> <span class="token3">request_string</span><span class="token1">(</span><span class="token4">'shop_print_desc'</span><span class="token1">)</span><span class="token1">;</span> <span class="token5">//打印描述</span>
$field_row<span class="token1">[</span><span class="token4">'shop_stamp'</span><span class="token1">]</span> <span class="token">=</span> <span class="token3">request_string</span><span class="token1">(</span><span class="token4">'shop_stamp'</span><span class="token1">)</span><span class="token1">;</span> <span class="token5">//店鋪印章</span>
$flag <span class="token">=</span> $Shop_BaseModel<span class="token">-</span><span class="token">></span><span class="token3">setPrint</span><span class="token1">(</span>$shop_id<span class="token1">,</span> $field_row<span class="token1">)</span><span class="token1">;</span>
```
```
#### 6、運單模板
文件路徑:shop/controllers/Seller/Trade/WaybillCtl.php
##### 6.1、模板綁定(waybillManage())
設為默認/解綁
```
<pre class="calibre14">```
$<span class="token1">(</span><span class="token4">'span[data-action]'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">on</span><span class="token1">(</span><span class="token4">'click'</span><span class="token1">,</span> <span class="token2">function</span> <span class="token1">(</span><span class="token1">)</span> <span class="token1">{</span>
var user_express_id <span class="token1">,</span> tpl_id <span class="token1">,</span> param <span class="token">=</span> <span class="token1">{</span><span class="token1">}</span> <span class="token1">,</span>
action <span class="token">=</span> $<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">data</span><span class="token1">(</span><span class="token4">'action'</span><span class="token1">)</span> <span class="token1">,</span>
url <span class="token">=</span> SITE_URL <span class="token">+</span> <span class="token4">'?ctl=Seller_Trade_Waybill&met=operateByManage&typ=json&action='</span> <span class="token1">;</span>
<span class="token2">if</span> <span class="token1">(</span>action <span class="token">==</span> <span class="token4">'set_default'</span> <span class="token">||</span> action <span class="token">==</span> <span class="token4">'unbind_tpl'</span><span class="token1">)</span> <span class="token1">{</span>
param <span class="token">=</span> <span class="token1">{</span>
user_express_id<span class="token1">:</span> $<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">parent</span><span class="token1">(</span><span class="token1">)</span><span class="token1">.</span><span class="token3">data</span><span class="token1">(</span><span class="token4">'user_express_id'</span><span class="token1">)</span><span class="token1">,</span>
waybill_tpl_id<span class="token1">:</span> $<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">parent</span><span class="token1">(</span><span class="token1">)</span><span class="token1">.</span><span class="token3">data</span><span class="token1">(</span><span class="token4">'waybill_tpl_id'</span><span class="token1">)</span>
<span class="token1">}</span><span class="token1">;</span>
url <span class="token">+</span><span class="token">=</span> action<span class="token1">;</span>
$<span class="token1">.</span><span class="token3">post</span><span class="token1">(</span>url<span class="token1">,</span> param<span class="token1">,</span> <span class="token2">function</span> <span class="token1">(</span>data<span class="token1">)</span> <span class="token1">{</span>
<span class="token1">}</span><span class="token1">)</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">)</span>
<span class="token5">//只能有一條數據為default</span>
$shop_express_search<span class="token1">[</span><span class="token4">'user_is_default'</span><span class="token1">]</span> <span class="token">=</span> Shop_ExpressModel<span class="token1">:</span><span class="token1">:</span>DEFAULT_TRUE<span class="token1">;</span>
$shop_express_base <span class="token">=</span> $this<span class="token">-</span><span class="token">></span>shopExpressModel<span class="token">-</span><span class="token">></span><span class="token3">getOneByWhere</span><span class="token1">(</span>$shop_express_search<span class="token1">)</span><span class="token1">;</span>
$this<span class="token">-</span><span class="token">></span>shopExpressModel<span class="token">-</span><span class="token">></span><span class="token3">editExpress</span><span class="token1">(</span>$u_express_id<span class="token1">,</span> $shop_express_search<span class="token1">)</span><span class="token1">;</span>
$shop_express_search<span class="token1">[</span><span class="token4">'user_is_default'</span><span class="token1">]</span> <span class="token">=</span> Shop_ExpressModel<span class="token1">:</span><span class="token1">:</span>DEFAULT_TRUE<span class="token1">;</span>
$flag <span class="token">=</span> $this<span class="token">-</span><span class="token">></span>shopExpressModel<span class="token">-</span><span class="token">></span><span class="token3">editExpress</span><span class="token1">(</span>$user_express_id<span class="token1">,</span> $shop_express_search<span class="token1">)</span><span class="token1">;</span>
```
```
##### 6.2、選擇模板(waybillBind())
綁定
```
<pre class="calibre14">```
var user_express_id <span class="token">=</span> <span class="token"><</span><span class="token">?</span>php <span class="token2">if</span> <span class="token1">(</span> <span class="token">!</span><span class="token3">empty</span><span class="token1">(</span>$user_express_id<span class="token1">)</span> <span class="token1">)</span> <span class="token1">{</span> echo $user_express_id<span class="token1">;</span> <span class="token1">}</span> <span class="token2">else</span> <span class="token1">{</span> echo <span class="token6">0</span><span class="token1">;</span> <span class="token1">}</span><span class="token1">;</span> <span class="token">?</span><span class="token">></span><span class="token1">;</span>
$<span class="token1">(</span><span class="token4">'a[nctype="btn_bind"]'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">on</span><span class="token1">(</span><span class="token4">'click'</span><span class="token1">,</span> <span class="token2">function</span> <span class="token1">(</span><span class="token1">)</span> <span class="token1">{</span>
var waybill_tpl_id <span class="token">=</span> $<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">data</span><span class="token1">(</span><span class="token4">'waybill_tpl_id'</span><span class="token1">)</span><span class="token1">;</span>
$<span class="token1">.</span><span class="token3">post</span><span class="token1">(</span>SITE_URL <span class="token">+</span> <span class="token4">'?ctl=Seller_Trade_Waybill&met=waybillBind&typ=json'</span><span class="token1">,</span> <span class="token1">{</span>waybill_tpl_id<span class="token1">:</span> waybill_tpl_id<span class="token1">,</span> user_express_id<span class="token1">:</span> user_express_id<span class="token1">}</span><span class="token1">,</span> <span class="token2">function</span> <span class="token1">(</span>data<span class="token1">)</span> <span class="token1">{</span>
<span class="token1">}</span><span class="token1">)</span>
<span class="token1">}</span><span class="token1">)</span>
$waybill_tpl_id <span class="token">=</span> <span class="token3">request_int</span><span class="token1">(</span><span class="token4">'waybill_tpl_id'</span><span class="token1">)</span><span class="token1">;</span>
$shop_express_data<span class="token1">[</span><span class="token4">'waybill_tpl_id'</span><span class="token1">]</span> <span class="token">=</span> $waybill_tpl_id<span class="token1">;</span>
$flag <span class="token">=</span> $this<span class="token">-</span><span class="token">></span>shopExpressModel<span class="token">-</span><span class="token">></span><span class="token3">editExpress</span><span class="token1">(</span>$user_express_id<span class="token1">,</span> $shop_express_data<span class="token1">)</span><span class="token1">;</span>
```
```
##### 6.3、模板設置(waybillSetting())
初始化
```
<pre class="calibre14">```
<span class="token"><</span><span class="token">?</span>php <span class="token2">if</span> <span class="token1">(</span> <span class="token">!</span><span class="token3">empty</span><span class="token1">(</span>$shop_express_data<span class="token1">[</span><span class="token4">'user_tpl_item'</span><span class="token1">]</span><span class="token1">)</span> <span class="token1">)</span> <span class="token1">{</span> <span class="token">?</span><span class="token">></span>
<span class="token"><</span><span class="token">?</span>php foreach <span class="token1">(</span> $shop_express_data<span class="token1">[</span><span class="token4">'user_tpl_item'</span><span class="token1">]</span> as $key <span class="token">=</span><span class="token">></span> $val <span class="token1">)</span> <span class="token1">{</span> <span class="token">?</span><span class="token">></span>
<span class="token"><</span><span class="token">?</span>php echo $val<span class="token1">;</span> <span class="token">?</span><span class="token">></span><span class="token1">.</span>checked <span class="token">=</span> <span class="token6">true</span><span class="token1">;</span>
<span class="token"><</span><span class="token">?</span>php <span class="token1">}</span> <span class="token">?</span><span class="token">></span>
<span class="token"><</span><span class="token">?</span>php <span class="token1">}</span> <span class="token">?</span><span class="token">></span>
```
```
表單提交
```
<pre class="calibre14">```
$<span class="token1">(</span><span class="token4">'#form'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">validator</span><span class="token1">(</span><span class="token1">{</span>
theme<span class="token1">:</span> <span class="token4">'yellow_right'</span><span class="token1">,</span>
timely<span class="token1">:</span> <span class="token6">true</span><span class="token1">,</span>
rules<span class="token1">:</span> <span class="token1">{</span><span class="token1">}</span><span class="token1">,</span>
fields<span class="token1">:</span> <span class="token1">{</span>
<span class="token4">'store_waybill_left'</span><span class="token1">:</span><span class="token4">'required;range[0.01~9999];'</span><span class="token1">,</span>
<span class="token4">'store_waybill_top'</span><span class="token1">:</span> <span class="token4">'required;range[0.01~9999];'</span><span class="token1">,</span>
<span class="token1">}</span><span class="token1">,</span>
valid<span class="token1">:</span> <span class="token2">function</span><span class="token1">(</span>form<span class="token1">)</span><span class="token1">{</span>
<span class="token5">//表單驗證通過,提交表單到服務器</span>
$<span class="token1">.</span><span class="token3">post</span><span class="token1">(</span> SITE_URL <span class="token">+</span> <span class="token4">"?ctl=Seller_Trade_Waybill&met=waybillSetting&typ=json"</span><span class="token1">,</span> $<span class="token1">(</span><span class="token4">'#form'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">serialize</span><span class="token1">(</span><span class="token1">)</span><span class="token1">,</span> <span class="token2">function</span><span class="token1">(</span>data<span class="token1">)</span> <span class="token1">{</span>
<span class="token1">}</span><span class="token1">)</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
$express_data<span class="token1">[</span><span class="token4">'user_tpl_item'</span><span class="token1">]</span> <span class="token">=</span> <span class="token3">array_keys</span><span class="token1">(</span>$data<span class="token1">)</span><span class="token1">;</span>
$express_data<span class="token1">[</span><span class="token4">'user_tpl_top'</span><span class="token1">]</span> <span class="token">=</span> <span class="token3">request_int</span><span class="token1">(</span><span class="token4">'store_waybill_top'</span><span class="token1">)</span><span class="token1">;</span>
$express_data<span class="token1">[</span><span class="token4">'user_tpl_left'</span><span class="token1">]</span> <span class="token">=</span> <span class="token3">request_int</span><span class="token1">(</span><span class="token4">'store_waybill_left'</span><span class="token1">)</span><span class="token1">;</span>
$flag <span class="token">=</span> $this<span class="token">-</span><span class="token">></span>shopExpressModel<span class="token">-</span><span class="token">></span><span class="token3">editExpress</span><span class="token1">(</span>$user_express_id<span class="token1">,</span> $express_data<span class="token1">)</span><span class="token1">;</span>
```
```
##### 6.4、自建模板(waybillIndex())
6.4.1、添加模板(addTpl())
視圖文件:
```
<pre class="calibre14">```
$this<span class="token">-</span><span class="token">></span>view<span class="token">-</span><span class="token">></span><span class="token3">setMet</span><span class="token1">(</span><span class="token4">'waybillAdd'</span><span class="token1">)</span><span class="token1">;</span>
```
```
提交表單
```
<pre class="calibre14">```
$<span class="token1">.</span><span class="token3">post</span><span class="token1">(</span> SITE_URL <span class="token">+</span> <span class="token4">"?ctl=Seller_Trade_Waybill&typ=json&met="</span> <span class="token">+</span> met<span class="token1">,</span> $<span class="token1">(</span><span class="token4">'#form'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">serialize</span><span class="token1">(</span><span class="token1">)</span><span class="token1">,</span> <span class="token2">function</span><span class="token1">(</span>data<span class="token1">)</span> <span class="token1">{</span>
<span class="token2">if</span><span class="token1">(</span> data<span class="token1">.</span>status <span class="token">==</span> <span class="token6">200</span> <span class="token1">)</span> <span class="token1">{</span>
Public<span class="token1">.</span><span class="token3">tips</span><span class="token1">(</span><span class="token1">{</span> content<span class="token1">:</span> <span class="token4">'<?=__('</span>保存成功<span class="token4">')?>!'</span><span class="token1">,</span> type<span class="token1">:</span> <span class="token6">3</span> <span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token3">setTimeout</span><span class="token1">(</span><span class="token2">function</span> <span class="token1">(</span><span class="token1">)</span> <span class="token1">{</span>
window<span class="token1">.</span>location<span class="token1">.</span>href <span class="token">=</span> SITE_URL <span class="token">+</span> <span class="token4">'?ctl=Seller_Trade_Waybill&met=waybillIndex&typ=e'</span><span class="token1">;</span>
<span class="token1">}</span><span class="token1">,</span> <span class="token6">1000</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span> <span class="token2">else</span> <span class="token1">{</span>
Public<span class="token1">.</span><span class="token3">tips</span><span class="token1">(</span><span class="token1">{</span> content<span class="token1">:</span> <span class="token4">'<?=__('</span>保存失敗<span class="token4">')?>!'</span><span class="token1">,</span> type<span class="token1">:</span> <span class="token6">1</span> <span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">)</span>
```
```
6.4.2、編輯模板(editTpl())
視圖文件:
```
<pre class="calibre14">```
$this<span class="token">-</span><span class="token">></span>view<span class="token">-</span><span class="token">></span><span class="token3">setMet</span><span class="token1">(</span><span class="token4">'waybillAdd'</span><span class="token1">)</span><span class="token1">;</span>
```
```
表單提交與6.4.1中表單提交一致。
6.4.3、刪除模板
```
<pre class="calibre14">```
$<span class="token1">(</span><span class="token4">'a[nctype="btn_del"]'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">on</span><span class="token1">(</span><span class="token4">'click'</span><span class="token1">,</span> <span class="token2">function</span> <span class="token1">(</span><span class="token1">)</span> <span class="token1">{</span>
var _this <span class="token">=</span> $<span class="token1">(</span>this<span class="token1">)</span><span class="token1">,</span>waybill_tpl_id <span class="token">=</span> _this<span class="token1">.</span><span class="token3">data</span><span class="token1">(</span><span class="token4">'waybill_tpl_id'</span><span class="token1">)</span><span class="token1">;</span>
$<span class="token1">.</span><span class="token3">post</span><span class="token1">(</span>SITE_URL <span class="token">+</span> <span class="token4">'?ctl=Seller_Trade_Waybill&met=removeTpl&typ=json'</span><span class="token1">,</span> <span class="token1">{</span>waybill_tpl_id<span class="token1">:</span> waybill_tpl_id<span class="token1">}</span><span class="token1">,</span> <span class="token2">function</span> <span class="token1">(</span>data<span class="token1">)</span> <span class="token1">{</span>
<span class="token1">}</span><span class="token1">)</span>
<span class="token1">}</span><span class="token1">)</span>
$flag <span class="token">=</span> $this<span class="token">-</span><span class="token">></span>logisticsWaybillModel<span class="token">-</span><span class="token">></span><span class="token3">removeTpl</span><span class="token1">(</span>$waybill_tpl_id<span class="token1">)</span><span class="token1">;</span>
```
```
6.4.4、測試模板(testTpl())
視圖文件:
```
<pre class="calibre14">```
$this<span class="token">-</span><span class="token">></span>view<span class="token">-</span><span class="token">></span><span class="token3">setMet</span><span class="token1">(</span><span class="token4">'waybillTest'</span><span class="token1">)</span><span class="token1">;</span>
```
```
打印運單:
```
<pre class="calibre14">```
$<span class="token1">(</span><span class="token4">'#btn'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">on</span><span class="token1">(</span><span class="token4">'click'</span><span class="token1">,</span> <span class="token2">function</span><span class="token1">(</span><span class="token1">)</span> <span class="token1">{</span>
<span class="token3">pos</span><span class="token1">(</span><span class="token1">)</span><span class="token1">;</span>
$<span class="token1">(</span><span class="token4">'.waybill_back'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">hide</span><span class="token1">(</span><span class="token1">)</span><span class="token1">;</span>
$<span class="token1">(</span><span class="token4">'.control'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">hide</span><span class="token1">(</span><span class="token1">)</span><span class="token1">;</span>
window<span class="token1">.</span><span class="token3">print</span><span class="token1">(</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
var pos <span class="token">=</span> <span class="token2">function</span> <span class="token1">(</span><span class="token1">)</span> <span class="token1">{</span>
var top <span class="token">=</span> <span class="token"><</span><span class="token">?</span><span class="token">=</span> $waybill_data<span class="token1">[</span><span class="token4">'waybill_tpl_top'</span><span class="token1">]</span><span class="token1">;</span> <span class="token">?</span><span class="token">></span><span class="token1">;</span>
var left <span class="token">=</span> <span class="token"><</span><span class="token">?</span><span class="token">=</span> $waybill_data<span class="token1">[</span><span class="token4">'waybill_tpl_left'</span><span class="token1">]</span><span class="token1">;</span> <span class="token">?</span><span class="token">></span><span class="token1">;</span>
$<span class="token1">(</span><span class="token4">".waybill_design"</span><span class="token1">)</span><span class="token1">.</span><span class="token3">each</span><span class="token1">(</span><span class="token2">function</span><span class="token1">(</span>index<span class="token1">)</span> <span class="token1">{</span>
var offset <span class="token">=</span> $<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">offset</span><span class="token1">(</span><span class="token1">)</span><span class="token1">;</span>
var offset_top <span class="token">=</span> offset<span class="token1">.</span>top <span class="token">+</span> top<span class="token1">;</span>
var offset_left <span class="token">=</span> offset<span class="token1">.</span>left <span class="token">+</span> left<span class="token1">;</span>
$<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">offset</span><span class="token1">(</span><span class="token1">{</span> top<span class="token1">:</span> offset_top<span class="token1">,</span> left<span class="token1">:</span> offset_left<span class="token1">}</span><span class="token1">)</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span><span class="token1">;</span>
```
```
6.4.5、設計模板(designTpl())
視圖文件:
```
<pre class="calibre14">```
$this<span class="token">-</span><span class="token">></span>view<span class="token">-</span><span class="token">></span><span class="token3">setMet</span><span class="token1">(</span><span class="token4">'waybillDesign'</span><span class="token1">)</span><span class="token1">;</span>
```
```
提交表單
```
<pre class="calibre14">```
$<span class="token1">(</span><span class="token4">'#submit'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">on</span><span class="token1">(</span><span class="token4">'click'</span><span class="token1">,</span> <span class="token2">function</span> <span class="token1">(</span><span class="token1">)</span> <span class="token1">{</span>
$<span class="token1">.</span><span class="token3">post</span><span class="token1">(</span>SITE_URL <span class="token">+</span> <span class="token4">'?ctl=Seller_Trade_Waybill&met=designTpl&typ=json'</span><span class="token1">,</span> $<span class="token1">(</span><span class="token4">'#form'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">serialize</span><span class="token1">(</span><span class="token1">)</span><span class="token1">,</span> <span class="token2">function</span> <span class="token1">(</span>data<span class="token1">)</span><span class="token1">{</span>
<span class="token2">if</span><span class="token1">(</span> data<span class="token1">.</span>status <span class="token">==</span> <span class="token6">200</span> <span class="token1">)</span> <span class="token1">{</span>
Public<span class="token1">.</span><span class="token3">tips</span><span class="token1">(</span><span class="token1">{</span> content<span class="token1">:</span> <span class="token4">"<?=__('修改成功')?>"</span><span class="token1">,</span> type<span class="token1">:</span> <span class="token6">3</span> <span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token3">setTimeout</span><span class="token1">(</span><span class="token2">function</span> <span class="token1">(</span><span class="token1">)</span> <span class="token1">{</span>
window<span class="token1">.</span>location<span class="token1">.</span>href <span class="token">=</span> SITE_URL <span class="token">+</span> <span class="token4">'?ctl=Seller_Trade_Waybill&met=waybillIndex&typ=e'</span><span class="token1">;</span>
<span class="token1">}</span><span class="token1">)</span>
<span class="token1">}</span> <span class="token2">else</span> <span class="token1">{</span>
Public<span class="token1">.</span><span class="token3">tips</span><span class="token1">(</span><span class="token1">{</span> content<span class="token1">:</span> <span class="token4">"<?=__('修改失敗')?>"</span><span class="token1">,</span> type<span class="token1">:</span> <span class="token6">1</span> <span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">)</span>
<span class="token1">}</span><span class="token1">)</span>
$flag <span class="token">=</span> $this<span class="token">-</span><span class="token">></span>logisticsWaybillModel<span class="token">-</span><span class="token">></span><span class="token3">editTpl</span><span class="token1">(</span>$waybill_tpl_id<span class="token1">,</span> $waybill_edit_data<span class="token1">)</span><span class="token1">;</span>
```
```
#### 7、評價管理
文件路徑:shop/controllers/Seller/Goods/Evaluation.php
來自買家的評價(evaluation())
```
<pre class="calibre14">```
$data <span class="token">=</span> $this<span class="token">-</span><span class="token">></span>goodsEvaluationModel<span class="token">-</span><span class="token">></span><span class="token3">getEvaluationList</span><span class="token1">(</span>$cond_row<span class="token1">,</span> $order_row<span class="token1">,</span> $page<span class="token1">,</span> $rows<span class="token1">)</span><span class="token1">;</span>
```
```
解釋:
視圖文件
```
<pre class="calibre14">```
$this<span class="token">-</span><span class="token">></span>view<span class="token">-</span><span class="token">></span><span class="token3">setMet</span><span class="token1">(</span><span class="token4">'explain'</span><span class="token1">)</span><span class="token1">;</span>
```
```
表單提交
```
<pre class="calibre14">```
$<span class="token1">(</span><span class="token4">"#add_form"</span><span class="token1">)</span><span class="token1">.</span><span class="token3">ajaxSubmit</span><span class="token1">(</span><span class="token2">function</span><span class="token1">(</span>message<span class="token1">)</span><span class="token1">{</span>
<span class="token2">if</span><span class="token1">(</span>message<span class="token1">.</span>status <span class="token">==</span> <span class="token6">200</span><span class="token1">)</span>
<span class="token1">{</span>
location<span class="token1">.</span>href<span class="token">=</span><span class="token4">"<?=Yf_Registry::get('url')?>?ctl=Seller_Goods_Evaluation&met=evaluation"</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token2">else</span>
<span class="token1">{</span>
Public<span class="token1">.</span>tips<span class="token1">.</span><span class="token3">error</span><span class="token1">(</span><span class="token4">'<?=__('</span>操作失敗!<span class="token4">')?>'</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
```
```
#### 8、物流工具
文件路徑:shop/controllers/Seller/TransportlCtl.php
8.1、運費模板設置(transport())
視圖文件:
```
<pre class="calibre14">```
$this<span class="token">-</span><span class="token">></span>view<span class="token">-</span><span class="token">></span><span class="token3">setMet</span><span class="token1">(</span><span class="token4">'template'</span><span class="token1">)</span><span class="token1">;</span>
```
```
數據獲取:
```
<pre class="calibre14">```
$data <span class="token">=</span> $this<span class="token">-</span><span class="token">></span><span class="token3">template</span><span class="token1">(</span>$shop_id<span class="token1">)</span><span class="token1">;</span>
```
```
8.2、添加/編輯運費模板(transport())
數據獲取:
```
<pre class="calibre14">```
$data <span class="token">=</span> $this<span class="token">-</span><span class="token">></span><span class="token3">transport_default</span><span class="token1">(</span>$id<span class="token1">,</span>$shop_id<span class="token1">)</span><span class="token1">;</span>
```
```
添加規則:
```
<pre class="calibre14">```
$<span class="token1">(</span><span class="token4">'.trans-line'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">on</span><span class="token1">(</span><span class="token4">'click'</span><span class="token1">,</span><span class="token4">'.t_addRule'</span><span class="token1">,</span><span class="token2">function</span><span class="token1">(</span><span class="token1">)</span><span class="token1">{</span>
StartNum <span class="token">+</span><span class="token">=</span><span class="token6">1</span><span class="token1">;</span>
cell <span class="token">=</span> RuleCell<span class="token1">.</span><span class="token3">replace</span><span class="token1">(</span><span class="token">/</span>CurNum<span class="token">/</span>g<span class="token1">,</span>StartNum<span class="token1">)</span><span class="token1">;</span>
$<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">parent</span><span class="token1">(</span><span class="token1">)</span><span class="token1">.</span><span class="token3">parent</span><span class="token1">(</span><span class="token1">)</span><span class="token1">.</span><span class="token3">find</span><span class="token1">(</span><span class="token4">'.tbl-except'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">find</span><span class="token1">(</span><span class="token4">'table'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">append</span><span class="token1">(</span>cell<span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
```
```
編輯規則:
```
<pre class="calibre14">```
$<span class="token1">(</span><span class="token4">'.trans-line'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">on</span><span class="token1">(</span><span class="token4">'click'</span><span class="token1">,</span><span class="token4">'a[entype="t_editArea"]'</span><span class="token1">,</span><span class="token2">function</span> <span class="token1">(</span><span class="token1">)</span> <span class="token1">{</span>
curTransType <span class="token">=</span> <span class="token4">'kd'</span><span class="token1">;</span>
<span class="token5">//取消所有已選擇的checkbox</span>
$<span class="token1">(</span><span class="token4">'#J_CityList'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">find</span><span class="token1">(</span><span class="token4">'input[type="checkbox"]'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">attr</span><span class="token1">(</span><span class="token4">'checked'</span><span class="token1">,</span><span class="token6">false</span><span class="token1">)</span><span class="token1">.</span><span class="token3">attr</span><span class="token1">(</span><span class="token4">'disabled'</span><span class="token1">,</span><span class="token6">false</span><span class="token1">)</span><span class="token1">;</span>
<span class="token5">//取消顯示所有統計數量</span>
$<span class="token1">(</span><span class="token4">'#J_CityList'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">find</span><span class="token1">(</span><span class="token4">'.check_num'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">html</span><span class="token1">(</span><span class="token4">''</span><span class="token1">)</span><span class="token1">;</span>
<span class="token5">//記錄當前行的標識n1,n2,n3....</span>
curIndex <span class="token">=</span> $<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">attr</span><span class="token1">(</span><span class="token4">'data-group'</span><span class="token1">)</span><span class="token1">;</span>
<span class="token5">//記錄當前操作的行,選擇完地區會向該區域拋出值</span>
objCurlArea <span class="token">=</span> $<span class="token1">(</span><span class="token4">'tr[data-group="'</span><span class="token">+</span>curIndex<span class="token">+</span><span class="token4">'"]'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">children</span><span class="token1">(</span><span class="token6">1</span><span class="token1">)</span><span class="token1">;</span>
<span class="token5">//記錄已選擇的所有省及市的value,SelectArea下標為value值,值為true,如江蘇省SelectArea[320000]=true,南京市SelectArea[320100]=true</span>
SelectArea <span class="token">=</span> <span class="token2">new</span> <span class="token3">Array</span><span class="token1">(</span><span class="token1">)</span><span class="token1">;</span>
<span class="token5">//取得當前行隱藏域內的city值,放入SelectArea數組中</span>
var expAreas <span class="token">=</span> $<span class="token1">(</span><span class="token4">'input[name="areas['</span><span class="token">+</span>curTransType<span class="token">+</span><span class="token4">']['</span><span class="token">+</span>curIndex<span class="token1">.</span><span class="token3">substring</span><span class="token1">(</span><span class="token6">1</span><span class="token1">)</span><span class="token">+</span><span class="token4">']"]'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">val</span><span class="token1">(</span><span class="token1">)</span><span class="token1">;</span>
expAreas <span class="token">=</span> expAreas<span class="token1">.</span><span class="token3">split</span><span class="token1">(</span><span class="token4">'|||'</span><span class="token1">)</span><span class="token1">;</span>
expAreas <span class="token">=</span> expAreas<span class="token1">[</span><span class="token6">0</span><span class="token1">]</span><span class="token1">.</span><span class="token3">split</span><span class="token1">(</span><span class="token4">','</span><span class="token1">)</span><span class="token1">;</span>
<span class="token2">try</span><span class="token1">{</span>
<span class="token2">if</span><span class="token1">(</span>expAreas<span class="token1">[</span><span class="token6">0</span><span class="token1">]</span> <span class="token">!=</span> <span class="token4">''</span><span class="token1">)</span><span class="token1">{</span>
<span class="token2">for</span><span class="token1">(</span>var v <span class="token2">in</span> expAreas<span class="token1">)</span><span class="token1">{</span>
SelectArea<span class="token1">[</span>expAreas<span class="token1">[</span>v<span class="token1">]</span><span class="token1">]</span> <span class="token">=</span> <span class="token6">true</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span>
<span class="token5">//初始化已選中的checkbox</span>
$<span class="token1">(</span><span class="token4">'#J_CityList'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">find</span><span class="token1">(</span><span class="token4">'.district-province'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">each</span><span class="token1">(</span><span class="token2">function</span><span class="token1">(</span><span class="token1">)</span><span class="token1">{</span>
var count <span class="token">=</span> <span class="token6">0</span><span class="token1">;</span>
$<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">find</span><span class="token1">(</span><span class="token4">'input[type="checkbox"]'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">each</span><span class="token1">(</span><span class="token2">function</span><span class="token1">(</span><span class="token1">)</span><span class="token1">{</span>
<span class="token2">if</span><span class="token1">(</span>SelectArea<span class="token1">[</span>$<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">val</span><span class="token1">(</span><span class="token1">)</span><span class="token1">]</span><span class="token">==</span><span class="token6">true</span><span class="token1">)</span><span class="token1">{</span>
$<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">attr</span><span class="token1">(</span><span class="token4">'checked'</span><span class="token1">,</span><span class="token6">true</span><span class="token1">)</span><span class="token1">;</span>
<span class="token2">if</span><span class="token1">(</span>$<span class="token1">(</span>this<span class="token1">)</span><span class="token1">[</span><span class="token6">0</span><span class="token1">]</span><span class="token1">.</span>className<span class="token">!=</span><span class="token4">'J_Province'</span><span class="token1">)</span> count<span class="token">++</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token2">if</span> <span class="token1">(</span>count <span class="token">></span> <span class="token6">0</span><span class="token1">)</span><span class="token1">{</span>
$<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">find</span><span class="token1">(</span><span class="token4">'.check_num'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">html</span><span class="token1">(</span><span class="token4">'('</span><span class="token">+</span>count<span class="token">+</span><span class="token4">')'</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token5">//循環每一行,如果一行省都選中,則大區載選中</span>
$<span class="token1">(</span><span class="token4">'#J_CityList>li'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">each</span><span class="token1">(</span><span class="token2">function</span><span class="token1">(</span><span class="token1">)</span><span class="token1">{</span>
$<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">find</span><span class="token1">(</span><span class="token4">'.region_group'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">attr</span><span class="token1">(</span><span class="token4">'checked'</span><span class="token1">,</span><span class="token6">true</span><span class="token1">)</span><span class="token1">;</span>
father <span class="token">=</span> this<span class="token1">;</span>
$<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">find</span><span class="token1">(</span><span class="token4">'.J_Province'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">each</span><span class="token1">(</span><span class="token2">function</span><span class="token1">(</span><span class="token1">)</span><span class="token1">{</span>
<span class="token2">if</span> <span class="token1">(</span><span class="token">!</span>$<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">attr</span><span class="token1">(</span><span class="token4">'checked'</span><span class="token1">)</span><span class="token1">)</span><span class="token1">{</span>
$<span class="token1">(</span>father<span class="token1">)</span><span class="token1">.</span><span class="token3">find</span><span class="token1">(</span><span class="token4">'.region_group'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">attr</span><span class="token1">(</span><span class="token4">'checked'</span><span class="token1">,</span><span class="token6">false</span><span class="token1">)</span><span class="token1">;</span>
<span class="token2">return</span> <span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span><span class="token2">catch</span><span class="token1">(</span>ex<span class="token1">)</span><span class="token1">{</span><span class="token1">}</span>
<span class="token5">//其它行已選擇的地區,不能再選擇了</span>
$<span class="token1">(</span>objCurlArea<span class="token1">)</span><span class="token1">.</span><span class="token3">parent</span><span class="token1">(</span><span class="token1">)</span><span class="token1">.</span><span class="token3">parent</span><span class="token1">(</span><span class="token1">)</span><span class="token1">.</span><span class="token3">find</span><span class="token1">(</span><span class="token4">'.area-group'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">each</span><span class="token1">(</span><span class="token2">function</span><span class="token1">(</span><span class="token1">)</span><span class="token1">{</span>
<span class="token2">if</span> <span class="token1">(</span>$<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">next</span><span class="token1">(</span><span class="token1">)</span><span class="token1">.</span><span class="token3">attr</span><span class="token1">(</span><span class="token4">'name'</span><span class="token1">)</span> <span class="token">!=</span> <span class="token4">'areas['</span><span class="token">+</span>curTransType<span class="token">+</span><span class="token4">']['</span><span class="token">+</span>curIndex<span class="token1">.</span><span class="token3">substring</span><span class="token1">(</span><span class="token6">1</span><span class="token1">)</span><span class="token">+</span><span class="token4">']'</span><span class="token1">)</span><span class="token1">{</span>
expAreas <span class="token">=</span> $<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">next</span><span class="token1">(</span><span class="token1">)</span><span class="token1">.</span><span class="token3">val</span><span class="token1">(</span><span class="token1">)</span><span class="token1">.</span><span class="token3">split</span><span class="token1">(</span><span class="token4">'|||'</span><span class="token1">)</span><span class="token1">;</span>
expAreas <span class="token">=</span> expAreas<span class="token1">[</span><span class="token6">0</span><span class="token1">]</span><span class="token1">.</span><span class="token3">split</span><span class="token1">(</span><span class="token4">','</span><span class="token1">)</span><span class="token1">;</span>
<span class="token5">//重置SelectArea</span>
SelectArea <span class="token">=</span> <span class="token2">new</span> <span class="token3">Array</span><span class="token1">(</span><span class="token1">)</span><span class="token1">;</span>
<span class="token2">try</span><span class="token1">{</span>
<span class="token2">if</span><span class="token1">(</span>expAreas<span class="token1">[</span><span class="token6">0</span><span class="token1">]</span> <span class="token">!=</span> <span class="token4">''</span><span class="token1">)</span><span class="token1">{</span>
<span class="token2">for</span><span class="token1">(</span>var v <span class="token2">in</span> expAreas<span class="token1">)</span><span class="token1">{</span>
SelectArea<span class="token1">[</span>expAreas<span class="token1">[</span>v<span class="token1">]</span><span class="token1">]</span> <span class="token">=</span> <span class="token6">true</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span>
<span class="token5">//其它行已選中的在這里都置灰</span>
$<span class="token1">(</span><span class="token4">'#J_CityList'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">find</span><span class="token1">(</span><span class="token4">'input[type="checkbox"]'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">each</span><span class="token1">(</span><span class="token2">function</span><span class="token1">(</span><span class="token1">)</span><span class="token1">{</span>
<span class="token2">if</span><span class="token1">(</span>SelectArea<span class="token1">[</span>$<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">val</span><span class="token1">(</span><span class="token1">)</span><span class="token1">]</span><span class="token">==</span><span class="token6">true</span><span class="token1">)</span><span class="token1">{</span>
$<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">attr</span><span class="token1">(</span><span class="token4">'disabled'</span><span class="token1">,</span><span class="token6">true</span><span class="token1">)</span><span class="token1">.</span><span class="token3">attr</span><span class="token1">(</span><span class="token4">'checked'</span><span class="token1">,</span><span class="token6">false</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token5">//循環每一行,如果一行的省都被disabled,則大區域也disabled</span>
$<span class="token1">(</span><span class="token4">'#J_CityList>li'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">each</span><span class="token1">(</span><span class="token2">function</span><span class="token1">(</span><span class="token1">)</span><span class="token1">{</span>
$<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">find</span><span class="token1">(</span><span class="token4">'.region_group'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">attr</span><span class="token1">(</span><span class="token4">'disabled'</span><span class="token1">,</span><span class="token6">true</span><span class="token1">)</span><span class="token1">;</span>
father <span class="token">=</span> this<span class="token1">;</span>
$<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">find</span><span class="token1">(</span><span class="token4">'.J_Province'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">each</span><span class="token1">(</span><span class="token2">function</span><span class="token1">(</span><span class="token1">)</span><span class="token1">{</span>
<span class="token2">if</span> <span class="token1">(</span><span class="token">!</span>$<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">attr</span><span class="token1">(</span><span class="token4">'disabled'</span><span class="token1">)</span><span class="token1">)</span><span class="token1">{</span>
$<span class="token1">(</span>father<span class="token1">)</span><span class="token1">.</span><span class="token3">find</span><span class="token1">(</span><span class="token4">'.region_group'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">attr</span><span class="token1">(</span><span class="token4">'disabled'</span><span class="token1">,</span><span class="token6">false</span><span class="token1">)</span><span class="token1">;</span>
<span class="token2">return</span> <span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span><span class="token2">catch</span><span class="token1">(</span>ex<span class="token1">)</span><span class="token1">{</span><span class="token1">}</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token5">//定位彈出層的坐標</span>
$<span class="token1">(</span><span class="token4">"#dialog_areas"</span><span class="token1">)</span><span class="token1">.</span><span class="token3">css</span><span class="token1">(</span><span class="token1">{</span><span class="token4">'position'</span> <span class="token1">:</span> <span class="token4">'absolute'</span><span class="token1">,</span><span class="token4">'display'</span> <span class="token1">:</span> <span class="token4">'block'</span><span class="token1">,</span> <span class="token4">'z-index'</span> <span class="token1">:</span> <span class="token4">'9999'</span><span class="token1">,</span><span class="token4">'top'</span><span class="token1">:</span><span class="token4">'20%'</span><span class="token1">,</span><span class="token4">'border'</span><span class="token1">:</span><span class="token4">'1px solid #E6E6E6'</span><span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
$<span class="token1">(</span><span class="token4">'.ks-ext-mask'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">css</span><span class="token1">(</span><span class="token4">'display'</span><span class="token1">,</span><span class="token4">'block'</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
```
```
刪除一行規則:
```
<pre class="calibre14">```
$<span class="token1">(</span><span class="token4">'.trans-line'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">on</span><span class="token1">(</span><span class="token4">'click'</span><span class="token1">,</span><span class="token4">'.t_deleteRule'</span><span class="token1">,</span><span class="token2">function</span> <span class="token1">(</span><span class="token1">)</span><span class="token1">{</span>
curDelNum <span class="token">=</span> $<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">attr</span><span class="token1">(</span><span class="token4">'ncNum'</span><span class="token1">)</span><span class="token1">;</span>
$<span class="token1">.</span>dialog<span class="token1">.</span><span class="token3">confirm</span><span class="token1">(</span><span class="token4">'<?=__('</span>確認刪除嗎<span class="token4">')?>?'</span><span class="token1">,</span><span class="token2">function</span><span class="token1">(</span><span class="token1">)</span><span class="token1">{</span>
curTransType <span class="token">=</span> <span class="token4">'kd'</span><span class="token1">;</span>
obj_parent <span class="token">=</span> $<span class="token1">(</span><span class="token4">'tr[data-group="'</span><span class="token">+</span>curDelNum<span class="token">+</span><span class="token4">'"]'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">parent</span><span class="token1">(</span><span class="token1">)</span><span class="token1">;</span>
$<span class="token1">(</span><span class="token4">'tr[data-group="'</span><span class="token">+</span>curDelNum<span class="token">+</span><span class="token4">'"]'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">remove</span><span class="token1">(</span><span class="token1">)</span><span class="token1">;</span>
<span class="token2">if</span> <span class="token1">(</span>$<span class="token1">(</span>obj_parent<span class="token1">)</span><span class="token1">.</span><span class="token3">find</span><span class="token1">(</span><span class="token4">'tr'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">html</span><span class="token1">(</span><span class="token1">)</span> <span class="token">==</span> <span class="token2">null</span><span class="token1">)</span><span class="token1">{</span>
$<span class="token1">(</span>obj_parent<span class="token1">)</span><span class="token1">.</span><span class="token3">parent</span><span class="token1">(</span><span class="token1">)</span><span class="token1">.</span><span class="token3">parent</span><span class="token1">(</span><span class="token1">)</span><span class="token1">.</span><span class="token3">parent</span><span class="token1">(</span><span class="token1">)</span><span class="token1">.</span><span class="token3">find</span><span class="token1">(</span><span class="token4">'.batch'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">css</span><span class="token1">(</span><span class="token4">'display'</span><span class="token1">,</span><span class="token4">'none'</span><span class="token1">)</span><span class="token1">;</span>
$<span class="token1">(</span>obj_parent<span class="token1">)</span><span class="token1">.</span><span class="token3">parent</span><span class="token1">(</span><span class="token1">)</span><span class="token1">.</span><span class="token3">parent</span><span class="token1">(</span><span class="token1">)</span><span class="token1">.</span><span class="token3">parent</span><span class="token1">(</span><span class="token1">)</span><span class="token1">.</span><span class="token3">find</span><span class="token1">(</span><span class="token4">'.J_ToggleBatch'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">css</span><span class="token1">(</span><span class="token4">'display'</span><span class="token1">,</span><span class="token4">'none'</span><span class="token1">)</span><span class="token1">;</span>
$<span class="token1">(</span>obj_parent<span class="token1">)</span><span class="token1">.</span><span class="token3">parent</span><span class="token1">(</span><span class="token1">)</span><span class="token1">.</span><span class="token3">parent</span><span class="token1">(</span><span class="token1">)</span><span class="token1">.</span><span class="token3">parent</span><span class="token1">(</span><span class="token1">)</span><span class="token1">.</span><span class="token3">find</span><span class="token1">(</span><span class="token4">'.batch'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">next</span><span class="token1">(</span><span class="token1">)</span><span class="token1">.</span><span class="token3">find</span><span class="token1">(</span><span class="token4">'span'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">css</span><span class="token1">(</span><span class="token4">'display'</span><span class="token1">,</span><span class="token4">'none'</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span><span class="token2">else</span><span class="token1">{</span>
<span class="token5">//如果該配送方式,地區都不為空,隱藏地區的提示層</span>
isRemove <span class="token">=</span> <span class="token6">true</span><span class="token1">;</span>
$<span class="token1">(</span><span class="token4">'div[data-delivery="'</span><span class="token">+</span>curTransType<span class="token">+</span><span class="token4">'"]'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">find</span><span class="token1">(</span><span class="token4">'input[type="hidden"]'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">each</span><span class="token1">(</span><span class="token2">function</span><span class="token1">(</span><span class="token1">)</span><span class="token1">{</span>
<span class="token2">if</span> <span class="token1">(</span>$<span class="token1">(</span>this<span class="token1">)</span><span class="token1">.</span><span class="token3">val</span><span class="token1">(</span><span class="token1">)</span><span class="token">==</span><span class="token4">''</span><span class="token1">)</span><span class="token1">{</span>
isRemove <span class="token">=</span> <span class="token6">false</span><span class="token1">;</span><span class="token2">return</span> <span class="token6">false</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token2">if</span> <span class="token1">(</span>isRemove <span class="token">==</span> <span class="token6">true</span><span class="token1">)</span><span class="token1">{</span>
$<span class="token1">(</span><span class="token4">'div[data-delivery="'</span><span class="token">+</span>curTransType<span class="token">+</span><span class="token4">'"]'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">find</span><span class="token1">(</span><span class="token4">'span[error_type="area"]'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">css</span><span class="token1">(</span><span class="token4">'display'</span><span class="token1">,</span><span class="token4">'none'</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
```
```
表單提交:
```
<pre class="calibre14">```
var form_data <span class="token">=</span> $<span class="token1">(</span><span class="token4">'#transport_form'</span><span class="token1">)</span><span class="token1">.</span><span class="token3">serialize</span><span class="token1">(</span><span class="token1">)</span><span class="token1">;</span>
var url <span class="token">=</span> <span class="token4">"<?=Yf_Registry::get('url')?>?ctl=Seller_Transport&met=transportSubmit&typ=json"</span><span class="token1">;</span>
$<span class="token1">.</span><span class="token3">post</span><span class="token1">(</span>url<span class="token1">,</span>form_data<span class="token1">,</span><span class="token2">function</span><span class="token1">(</span>resp<span class="token1">)</span><span class="token1">{</span>
<span class="token2">if</span><span class="token1">(</span>resp<span class="token1">.</span>status <span class="token">==</span> <span class="token6">200</span><span class="token1">)</span><span class="token1">{</span>
window<span class="token1">.</span>location<span class="token1">.</span>href <span class="token">=</span> <span class="token4">"<?=Yf_Registry::get('url')?>?ctl=Seller_Transport&met=transport&typ=e"</span><span class="token1">;</span>
<span class="token1">}</span><span class="token2">else</span><span class="token1">{</span>
Public<span class="token1">.</span><span class="token3">tips</span><span class="token1">(</span><span class="token1">{</span>type<span class="token1">:</span> <span class="token6">1</span><span class="token1">,</span> content<span class="token1">:</span> resp<span class="token1">.</span>msg<span class="token1">}</span><span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
<span class="token1">}</span><span class="token1">,</span><span class="token4">'json'</span><span class="token1">)</span><span class="token1">;</span>
<span class="token5">//修改模板</span>
$res_info <span class="token">=</span> $Transport_TemplateModel<span class="token">-</span><span class="token">></span><span class="token3">templateAdd</span><span class="token1">(</span>$template_data<span class="token1">)</span><span class="token1">;</span>
<span class="token5">//添加模板</span>
$res_info <span class="token">=</span> $Transport_TemplateModel<span class="token">-</span><span class="token">></span><span class="token3">templateModify</span><span class="token1">(</span>$template_id<span class="token1">,</span>$template_data<span class="token1">)</span><span class="token1">;</span>
<span class="token5">//批量刪除規則</span>
$flag2 <span class="token">=</span> $Transport_RuleModel<span class="token">-</span><span class="token">></span><span class="token3">delAllRule</span><span class="token1">(</span>$template_id<span class="token1">)</span><span class="token1">;</span>
<span class="token5">//批量添加規則</span>
foreach <span class="token1">(</span>$transport<span class="token1">[</span>$type<span class="token1">]</span> as $key<span class="token">=</span><span class="token">></span>$value<span class="token1">)</span><span class="token1">{</span>
$flag <span class="token">=</span> $Transport_RuleModel<span class="token">-</span><span class="token">></span><span class="token3">addRule</span><span class="token1">(</span>$rule_data<span class="token1">)</span><span class="token1">;</span>
<span class="token1">}</span>
```
```
8.3、刪除模板
```
<pre class="calibre14">```
<span class="token"><</span>span class<span class="token">=</span><span class="token4">"del"</span><span class="token">></span><span class="token"><</span>a data<span class="token">-</span>param<span class="token">=</span><span class="token4">"{'ctl':'Seller_Transport','met':'delTemplate','id':'<?=$value['id']?>'}"</span> href<span class="token">=</span><span class="token4">"javascript:void(0)"</span><span class="token">></span><span class="token"><</span>i class<span class="token">=</span><span class="token4">"iconfont icon-lajitong"</span><span class="token">></span><span class="token"><</span><span class="token">/</span>i<span class="token">></span><span class="token"><</span><span class="token">?</span><span class="token">=</span><span class="token3">__</span><span class="token1">(</span><span class="token4">'刪除'</span><span class="token1">)</span><span class="token">?</span><span class="token">></span><span class="token"><</span><span class="token">/</span>a<span class="token">></span><span class="token"><</span><span class="token">/</span>span<span class="token">></span>
$flag <span class="token">=</span> $Transport_TemplateModel<span class="token">-</span><span class="token">></span><span class="token3">templateDel</span><span class="token1">(</span>$transport_template_id<span class="token1">,</span>$shop_id<span class="token1">)</span><span class="token1">;</span>
```
```
#### 9、售賣區域
文件路徑:shop/controllers/Seller/TransportlCtl.php
9.1、售賣區域模板設置(tplarea())
視圖文件:
```
<pre class="calibre14">```
$this<span class="token">-</span><span class="token">></span>view<span class="token">-</span><span class="token">></span><span class="token3">setMet</span><span class="token1">(</span><span class="token4">'transportArea'</span><span class="token1">)</span><span class="token1">;</span>
```
```
數據獲取:
```
<pre class="calibre14">```
$data <span class="token">=</span> $this<span class="token">-</span><span class="token">></span><span class="token3">transport_area</span><span class="token1">(</span>$shop_id<span class="token1">)</span><span class="token1">;</span>
```
```
9.2、添加/編輯售賣區域模板(act=area)
視圖文件:
```
<pre class="calibre14">```
$this<span class="token">-</span><span class="token">></span>view<span class="token">-</span><span class="token">></span><span class="token3">setMet</span><span class="token1">(</span><span class="token4">'area'</span><span class="token1">)</span><span class="token1">;</span>
```
```
自定義中循環生成區域地址:
```
<pre class="calibre14">```
<span class="token"><</span><span class="token">?</span>php <span class="token3">foreach</span><span class="token1">(</span>$val<span class="token1">[</span><span class="token4">'city'</span><span class="token1">]</span> as $citykey <span class="token">=</span><span class="token">></span> $cityval<span class="token1">)</span><span class="token1">{</span><span class="token">?</span><span class="token">></span>
<span class="token"><</span>li<span class="token">></span><span class="token"><</span>label class<span class="token">=</span><span class="token4">"checkbox city"</span><span class="token">></span>
<span class="token"><</span>input <span class="token"><</span><span class="token">?</span>php <span class="token2">if</span><span class="token1">(</span>$data<span class="token1">[</span><span class="token4">'data'</span><span class="token1">]</span><span class="token1">[</span><span class="token4">'area_ids_arr'</span><span class="token1">]</span> <span class="token">&&</span> <span class="token3">in_array</span><span class="token1">(</span>$cityval<span class="token1">[</span><span class="token4">'district_id'</span><span class="token1">]</span><span class="token1">,</span>$data<span class="token1">[</span><span class="token4">'data'</span><span class="token1">]</span><span class="token1">[</span><span class="token4">'area_ids_arr'</span><span class="token1">]</span><span class="token1">)</span><span class="token1">)</span><span class="token1">{</span><span class="token">?</span><span class="token">></span>checked<span class="token">=</span><span class="token4">"checked"</span><span class="token"><</span><span class="token">?</span>php <span class="token1">}</span><span class="token">?</span><span class="token">></span> type<span class="token">=</span><span class="token4">"checkbox"</span> name<span class="token">=</span><span class="token4">"city[]"</span> data<span class="token">-</span>province<span class="token">=</span><span class="token4">"<?=($val['district_id'])?>"</span> value<span class="token">=</span><span class="token4">"<?=($cityval['district_id'])?>"</span> <span class="token">/</span><span class="token">></span><span class="token"><</span><span class="token">?</span><span class="token">=</span><span class="token1">(</span>$cityval<span class="token1">[</span><span class="token4">'district_name'</span><span class="token1">]</span><span class="token1">)</span><span class="token">?</span><span class="token">></span>
<span class="token"><</span><span class="token">/</span>label<span class="token">></span><span class="token"><</span><span class="token">/</span>li<span class="token">></span>
<span class="token"><</span><span class="token">?</span>php <span class="token1">}</span><span class="token">?</span><span class="token">></span>
```
```
表單提交路徑:
```
<pre class="calibre14">```
var ajax_url <span class="token">=</span> <span class="token4">'<?= Yf_Registry::get('</span>url<span class="token4">') ?>?ctl=Seller_Transport&met=areaSubmit&typ=json'</span><span class="token1">;</span>
<span class="token5">//全國</span>
$area_ids <span class="token">=</span> <span class="token6">0</span><span class="token1">;</span>
<span class="token5">//非全國</span>
$province_ids <span class="token">=</span> <span class="token3">is_array</span><span class="token1">(</span>$area_province<span class="token1">)</span> <span class="token">&&</span> $area_province <span class="token">?</span> <span class="token3">implode</span><span class="token1">(</span><span class="token4">','</span><span class="token1">,</span> $area_province<span class="token1">)</span> <span class="token1">:</span> <span class="token4">''</span><span class="token1">;</span>
$area_ids <span class="token">=</span> <span class="token3">trim</span><span class="token1">(</span>$city_ids<span class="token1">.</span><span class="token4">','</span><span class="token1">.</span>$province_ids<span class="token1">,</span><span class="token4">','</span><span class="token1">)</span><span class="token1">;</span>
$result <span class="token">=</span> $Transport_AreaModel<span class="token">-</span><span class="token">></span><span class="token3">areaAdd</span><span class="token1">(</span>$data<span class="token1">)</span><span class="token1">;</span>
```
```
11.9.3、刪除模板
```
<pre class="calibre15">```
<span class="token"><</span>span class<span class="token">=</span><span class="token4">"del"</span><span class="token">></span><span class="token"><</span>a data<span class="token">-</span>param<span class="token">=</span><span class="token4">"{'ctl':'Seller_Transport','met':'delArea','id':'<?=$value['id']?>'}"</span> <span class="token">></span><span class="token"><</span>i class<span class="token">=</span><span class="token4">"iconfont icon-lajitong"</span><span class="token">></span><span class="token"><</span><span class="token">/</span>i<span class="token">></span><span class="token"><</span><span class="token">?</span><span class="token">=</span><span class="token3">__</span><span class="token1">(</span><span class="token4">'刪除'</span><span class="token1">)</span><span class="token">?</span><span class="token">></span><span class="token"><</span><span class="token">/</span>a<span class="token">></span><span class="token"><</span><span class="token">/</span>span<span class="token">></span>
$flag <span class="token">=</span> $Transport_AreaModel<span class="token">-</span><span class="token">></span><span class="token3">typeDel</span><span class="token1">(</span>$type_id<span class="token1">,</span>$shop_id<span class="token1">)</span><span class="token1">;</span>
```
```
- 序言
- 系統要求
- 版本更新日志
- 遠豐商城技術對接說明
- 開發指導
- 框架內容
- 基礎
- 開發規范
- 目錄結構
- 架構
- 架構總覽
- 數據庫
- 數據庫連接
- 基本使用
- 緩存
- 配置
- 路由
- 數據字典
- ucenter
- shop
- paycenter
- ucenter_admin
- shop_admin
- paycenter_admin
- 通訊內容
- 商家中心
- 頂部導航欄
- 店鋪信息欄
- 店鋪及商品提示欄
- 交易提示欄
- 銷售情況統計欄
- 單品銷量排行欄
- 店鋪運營推廣欄
- 平臺聯系方式欄
- 訂單物流
- 商品
- 商品列表
- 商品詳情
- 商品發布與編輯
- 分銷商品
- 關聯版式
- 商品規格
- 圖片空間
- 淘寶導入
- 訂單流程
- 交易訂單
- 訂單退款/退貨
- 促銷
- 團購管理
- 加價購
- 限時折扣
- 滿即送
- 代金券管理
- 分銷
- 店鋪
- 店鋪設置
- 自銷產品供應商
- 實體店鋪
- 品牌申請
- 店鋪信息
- 消費者保障服務
- 門店賬號
- 分銷商--產品供應商
- 分銷明細
- 批發市場
- 售后服務
- 咨詢管理
- 投訴管理
- 退款管理
- 退貨管理
- 云方案架構
- 負載集群
- 云存儲
- 接口
- Api接口說明
- 品牌
- 商品規格
- 商品類型
- 商品分類
- 商品
- 訂單
- 商品/店鋪收藏
- 足跡
- 退款及退貨
- 商家店鋪
- 會員
- 入駐協議
- 訂單接口
- 商品接口
- 訂單物流接口
- 商家中心接口
- 促銷接口
- 快遞鳥物流接口
- 代金券接口
- 首頁版塊
- 團購
- 平臺紅包
- 限時折扣接口
- 拼團接口
- wap首頁模板
- 雜項
- 遠程上傳圖片
- JS
- 銀聯支付
- 多語言
- 商品評分
- 圖片加載
- 買家申請退款退貨
- 商家退款退貨
- 平臺退款退貨
- 添加發票
- 提交訂單
- 確認訂單
- 運費銷售區域
- 獲取會員地址
- 充值
- 導出XLS
- 商城系統集成
- 多語言實現
- 三級分銷推廣鏈接發展推廣員
- app.ini.php
- 去分銷
- 版本更新
- 物流支持
- 運營人員建議
- 業務邏輯
- 統計結算
- 客服消息
- 賬號
- 三級分銷
- IM
- 配置
- 平臺帳號
- 活動數據表說明