<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

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

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看