Explorar o código

Merge branch 'master' of http://18.167.157.193:1026/guanli/ngds into feature/1540-theo-auto-mesure-up

theo %!s(int64=3) %!d(string=hai) anos
pai
achega
dda51f4a63

+ 15 - 1
backendApi/modules/v1/models/lists/shop/GoodsList.php

@@ -118,7 +118,7 @@ class GoodsList extends \common\libs\dataList\DataList implements DataListInterf
                     },
                 ],
                 'SELL_PRICE' => [
-                    'header' => 'Products Prices ',//商品价格
+                    'header' => 'Products Prices(₦)',//商品价格
                     'headerOther' => [
                         'width' => '150',
                     ],
@@ -145,6 +145,20 @@ class GoodsList extends \common\libs\dataList\DataList implements DataListInterf
                         ];
                     },
                 ],
+                'TAX_RATE' => [
+                    'header' => 'Tax Rate(%)',//税率
+                    'headerOther' => [
+                        'width' => '150',
+                    ],
+                    'value' => function ($row) {
+                        return Tool::formatPrice($row['TAX_RATE']);
+                    },
+                    'valueOther' => function ($row) {
+                        return [
+                            'tag' => ['type' => 'danger', 'size' => 'small', 'class' => 'no-border']
+                        ];
+                    },
+                ],
                 'STORE_NUMS' => [
                     'header' => 'Inventory',//库存
                     'headerOther' => [

+ 28 - 0
backendApi/modules/v1/models/lists/shop/OrderList.php

@@ -244,6 +244,34 @@ class OrderList extends \common\libs\dataList\DataList implements DataListInterf
                         ];
                     },
                 ],
+                'TAX_RATE' => [
+                    'header' => '税率',
+                    'headerOther' => [
+                        'width' => '150',
+                    ],
+                    'value' => function ($row) {
+                        return Tool::formatPrice($row['TAX_RATE']);
+                    },
+                    'valueOther' => function ($row) {
+                        return [
+                            'tag' => ['type' => 'danger', 'size' => 'small', 'class' => 'no-border']
+                        ];
+                    },
+                ],
+                'TAX_AMOUNT' => [
+                    'header' => '税额',
+                    'headerOther' => [
+                        'width' => '150',
+                    ],
+                    'value' => function ($row) {
+                        return Tool::formatPrice(($row['REAL_PRICE'] - $row['REAL_PRICE'] / (1 + $row['TAX_RATE'] / 100)));
+                    },
+                    'valueOther' => function ($row) {
+                        return [
+                            'tag' => ['type' => 'danger', 'size' => 'small', 'class' => 'no-border']
+                        ];
+                    },
+                ],
                 'EXPRESS_COMPANY' => [
                     'header' => '快递公司',
                     'headerOther' => ['width' => '150'],

+ 12 - 5
backendEle/src/views/shop/goods-add.vue

@@ -21,7 +21,7 @@
                 <!-- <el-form-item label="复消购买方式">
                     <el-checkbox  v-for="(value,key) in sellType" v-model="form.sellType[key-1]" :key="key" >{{value.name}}</el-checkbox>
                 </el-form-item> -->
-                <el-form-item label="Product Category"><!-- 商品分类 -->
+                <el-form-item label="Product Category"><!-- 商品分类 -->
                     <el-select v-model="form.categoryType" placeholder="">
                         <el-option v-for="item in categoryType" :key="item.id" :label="item.name" :value="item.id"></el-option>
                     </el-select>
@@ -32,15 +32,20 @@
                 <el-form-item label="Unit"><!-- 单位 -->
                     <el-input v-model="form.unit"></el-input>
                 </el-form-item>
+                <el-form-item label="税率"><!-- 税率 -->
+                  <el-input v-model="form.taxRate">
+                    <template slot="append">%</template>
+                  </el-input>
+                </el-form-item>
                 <el-form-item label="标准价格($)" p>
                     <el-input v-model="form.sellPriceStandard"></el-input>
                 </el-form-item>
-                <el-form-item label="市场价格(n)">
-                    <el-input v-model="form.marketPrice"></el-input>
-                </el-form-item>
-                <el-form-item label="销售价格(n)">
+                <el-form-item label="销售价格(₦)">
                     <el-input v-model="form.sellPrice"></el-input>
                 </el-form-item>
+                <el-form-item label="市场价格(₦)">
+                  <el-input v-model="form.marketPrice"></el-input>
+                </el-form-item>
                 <el-form-item label="Price BV" v-show="pvDisabled"><!-- 价格BV -->
                     <el-input v-model="form.pricePv"></el-input>
                 </el-form-item>
@@ -118,6 +123,7 @@
                     sellDiscount:'',
                     categoryType: '',
                     sellPriceStandard: '',
+                    taxRate: 0,
                 },
                 submitButtonStat: false,
                 goodsType:[],
@@ -234,6 +240,7 @@
                     content: this.form.content,
                     sort: this.form.sort,
                     cover: this.form.cover,
+                    taxRate: this.form.taxRate,
                 }
 
                 return network.postData(path, postData).then(response => {

+ 15 - 8
backendEle/src/views/shop/index.vue

@@ -85,7 +85,7 @@
                     <!-- <el-form-item label="复消购买方式">
                          <el-checkbox  v-for="(value,index) in sell_type" v-model="value.checked" :key="index" >{{value.name}}</el-checkbox>
                     </el-form-item> -->
-                    <el-form-item label="Product Category"> <!-- 商品分类 -->
+                    <el-form-item label="Product Category"> <!-- 商品分类 -->
                         <el-select v-model="form.categoryType">
                             <el-option v-for="item in categoryType" :key="item.id" :label="item.name" :value="item.id" ></el-option>
                         </el-select>
@@ -96,21 +96,26 @@
                     <el-form-item label="Unit"><!-- 单位 -->
                         <el-input v-model="form.unit"></el-input>
                     </el-form-item>
+                    <el-form-item label="税率"><!-- 税率 -->
+                      <el-input v-model="form.taxRate">
+                        <template slot="append">%</template>
+                      </el-input>
+                    </el-form-item>
                     <el-form-item label="标准价格($)" p>
                         <el-input v-model="form.sellPriceStandard"></el-input>
                     </el-form-item>
-                    <el-form-item label="市场价格(n)">
-                        <el-input v-model="form.marketPrice"></el-input>
-                    </el-form-item>
-                    <el-form-item label="销售价格(n)" p>
+                    <el-form-item label="销售价格(₦)" p>
                         <el-input v-model="form.sellPrice"></el-input>
                     </el-form-item>
+                    <el-form-item label="市场价格(₦)">
+                      <el-input v-model="form.marketPrice"></el-input>
+                    </el-form-item>
                     <el-form-item label="Price BV" v-show="pvDisabled"> <!-- 价格BV -->
                         <el-input v-model="form.pricePv"></el-input>
                     </el-form-item>
-                    <el-form-item label="Exchange points" v-show="false"> <!-- 兑换积分 -->
-                        <el-input v-model="form.point"></el-input>
-                    </el-form-item>
+<!--                    <el-form-item label="Exchange points" v-show="false"> &lt;!&ndash; 兑换积分 &ndash;&gt;-->
+<!--                        <el-input v-model="form.point"></el-input>-->
+<!--                    </el-form-item>-->
                     <el-form-item label="Inventory"> <!-- 库存 -->
                         <el-input v-model="form.storeNums"></el-input>
                     </el-form-item>
@@ -211,6 +216,7 @@
                     sellDiscount:'',
                     categoryType: '',
                     sellType: 1,
+                    taxRate: 0,
                 },
                 submitButtonStat: false,
                 goodsType:[],
@@ -304,6 +310,7 @@
                     vueObj.form.id=response.goodsInfo.ID
                     vueObj.form.cover=response.goodsInfo.COVER
                     vueObj.form.categoryType=parseInt(response.goodsInfo.CATEGORY_TYPE)
+                    vueObj.form.taxRate=response.goodsInfo.TAX_RATE
                     // vueObj.form.sellType=vueObj.form.sellType.map((item,index)=>{
                     //   return response.goodsInfo.SELL_TYPE.some(val=>(index+1).toString()==val)
                     //   })

+ 5 - 5
common/helpers/bonus/BonusCalc.php

@@ -187,11 +187,11 @@ class BonusCalc extends BaseObject {
             $t3 = microtime(true);
             $this->_updatePercent(10);
 
-//            // 奖金部分
-//            if($this->_sysConfig['openFW']['VALUE']) {
-//                $this->calcBonusBDStepOne();
-//                $this->calcBonusBDStepTwo();
-//            }
+            // 奖金部分
+            if($this->_sysConfig['openFW']['VALUE']) {
+                $this->calcBonusBDStepOne();
+                $this->calcBonusBDStepTwo();
+            }
             $t4 = microtime(true);
             echo('计算服务奖'.($this->_sysConfig['openFW']['VALUE']?'完成':'关闭').',耗时:' . round($t4 - $t3, 3) . ',内存使用:' . (round(memory_get_usage() / 1024 / 1024, 3)) . 'MB' . PHP_EOL);
             $this->_updatePercent(15);

+ 2 - 1
common/models/ApproachOrder.php

@@ -65,7 +65,7 @@ class ApproachOrder extends \common\components\ActiveRecord
     {
         return [
             [['USER_ID', 'USER_NAME', 'ORDER_TYPE', 'CREATE_USER', 'EMAIL'], 'required'],
-            [['ORDER_AMOUNT', 'PV', 'PAY_AMOUNT', 'PAY_PV', 'FREIGHT', 'PAY_FREIGHT'], 'number'],
+            [['ORDER_AMOUNT', 'PV', 'PAY_AMOUNT', 'PAY_PV', 'FREIGHT', 'PAY_FREIGHT', 'TAX_RATE'], 'number'],
             [['PAY_AT', 'DELIVERY_STATUS', 'DELIVERY_PERIOD', 'DELIVERY_AT', 'EXPRESS_TYPE', 'PERIOD_NUM', 'STATUS', 'PROVINCE', 'CITY', 'COUNTY', 'CREATED_AT', 'UPDATED_AT', 'IS_DELETE', 'DELETED_AT'], 'integer'],
             [['ID','SN', 'DEC_SN', 'USER_ID', 'ORDER_TRACK_NO','PAY_TYPE'], 'string', 'max' => 32],
             [['USER_NAME', 'TEL', 'CREATE_USER', 'UPDATER', 'WAREHOUSE'], 'string', 'max' => 16],
@@ -96,6 +96,7 @@ class ApproachOrder extends \common\components\ActiveRecord
             'PV' => '订货BV',
             'PAY_AMOUNT' => '支付价格',
             'PAY_PV' => '实付BV',
+            'TAX_RATE' => '税率',
             'PAY_AT' => '支付时间',
             'PAY_TYPE' => '支付方式',
             'FREIGHT' => '运费',

+ 3 - 1
common/models/ApproachOrderGoods.php

@@ -15,6 +15,7 @@ use Yii;
  * @property string $REAL_PRICE 实际价格
  * @property string $PV 订货PV
  * @property string $REAL_PV 实际PV
+ * @property string $TAX_RATE 税率
  * @property string $POINT 兑换积分
  * @property string $SKU_CODE 商品编码
  * @property int $BUY_NUMS 购买数量
@@ -40,7 +41,7 @@ class ApproachOrderGoods extends \common\components\ActiveRecord
     {
         return [
             [['ORDER_SN', 'GOODS_ID', 'GOODS_TITLE', 'SKU_CODE', 'CATEGORY_TYPE', 'PAY_TYPE', 'EMAIL'], 'required'],
-            [['PRICE', 'REAL_PRICE', 'PV', 'REAL_PV', 'POINT', 'CATEGORY_TYPE', 'PAY_TYPE'], 'number'],
+            [['PRICE', 'REAL_PRICE', 'PV', 'REAL_PV', 'POINT', 'CATEGORY_TYPE', 'PAY_TYPE', 'TAX_RATE'], 'number'],
             [['BUY_NUMS'], 'integer'],
             [['ID', 'ORDER_SN', 'GOODS_ID'], 'string', 'max' => 32],
             [['GOODS_TITLE'], 'string', 'max' => 255],
@@ -63,6 +64,7 @@ class ApproachOrderGoods extends \common\components\ActiveRecord
             'REAL_PRICE' => '实际价格',
             'PV' => '订货BV',
             'REAL_PV' => '实际BV',
+            'TAX_RATE' => '税率',
             'POINT' => '兑换积分',
             'SKU_CODE' => '商品编码',
             'BUY_NUMS' => '购买数量',

+ 3 - 1
common/models/OrderGoods.php

@@ -15,6 +15,7 @@ use Yii;
  * @property string $REAL_PRICE 实际价格
  * @property string $PV 订货PV
  * @property string $REAL_PV 实际PV
+ * @property string $TAX_RATE 税率
  * @property string $POINT 兑换积分
  * @property string $SKU_CODE 商品编码
  * @property int $BUY_NUMS 购买数量
@@ -40,7 +41,7 @@ class OrderGoods extends \common\components\ActiveRecord
     {
         return [
             [['ORDER_SN', 'GOODS_ID', 'GOODS_TITLE', 'SKU_CODE', 'CATEGORY_TYPE', 'PAY_TYPE', 'EMAIL'], 'required'],
-            [['PRICE', 'REAL_PRICE', 'PV', 'REAL_PV', 'POINT', 'CATEGORY_TYPE', 'PAY_TYPE'], 'number'],
+            [['PRICE', 'REAL_PRICE', 'PV', 'REAL_PV', 'POINT', 'CATEGORY_TYPE', 'PAY_TYPE', 'TAX_RATE'], 'number'],
             [['BUY_NUMS'], 'integer'],
             [['ID', 'ORDER_SN', 'GOODS_ID'], 'string', 'max' => 32],
             [['GOODS_TITLE'], 'string', 'max' => 255],
@@ -63,6 +64,7 @@ class OrderGoods extends \common\components\ActiveRecord
             'REAL_PRICE' => '实际价格',
             'PV' => '订货BV',
             'REAL_PV' => '实际BV',
+            'TAX_RATE' => 'TAX_RATE',
             'POINT' => '兑换积分',
             'SKU_CODE' => '商品编码',
             'BUY_NUMS' => '购买数量',

+ 6 - 3
common/models/ShopGoods.php

@@ -21,6 +21,7 @@ namespace common\models;
  * @property string $SELL_PRICE_STANDARD 标准价格
  * @property string $MARKET_PRICE 市场价格
  * @property int $PRICE_PV 价格PV
+ * @property string $TAX_RATE 税率
  * @property int $POINT 兑换积分
  * @property int $STORE_NUMS 库存
  * @property int $IS_DEL 是否删除
@@ -131,9 +132,9 @@ class ShopGoods extends \common\components\ActiveRecord
     public function rules()
     {
         return [
-            [['SELL_DISCOUNT','GOODS_NAME', 'CATE_ID','GIFT_TYPE', 'GOODS_NO', 'SELL_PRICE','MARKET_PRICE','PRICE_PV','STORE_NUMS', 'SELL_TYPE', 'CATEGORY_TYPE', 'SELL_PRICE_STANDARD'], 'required'],
+            [['SELL_DISCOUNT','GOODS_NAME', 'CATE_ID','GIFT_TYPE', 'GOODS_NO', 'SELL_PRICE','MARKET_PRICE','PRICE_PV','STORE_NUMS', 'SELL_TYPE', 'CATEGORY_TYPE', 'SELL_PRICE_STANDARD', 'TAX_RATE'], 'required'],
             [['STORE_NUMS'], 'integer'],
-            [['SELL_PRICE','MARKET_PRICE','PRICE_PV','POINT',/* 'SELL_TYPE',*/ 'CATEGORY_TYPE' ,'SELL_PRICE_STANDARD'], 'number'],
+            [['SELL_PRICE','MARKET_PRICE','PRICE_PV','POINT',/* 'SELL_TYPE',*/ 'CATEGORY_TYPE' ,'SELL_PRICE_STANDARD', 'TAX_RATE'], 'number'],
             [['ID','CATE_ID', 'GOODS_NO','GIFT_TYPE'], 'string', 'max' => 32],
             [['UNIT'], 'string', 'max' => 16],
             [['COVER', 'GOODS_NAME'], 'string', 'max' => 255],
@@ -166,7 +167,9 @@ class ShopGoods extends \common\components\ActiveRecord
             'SELL_PRICE_STANDARD' => '标准价格($)',
             'MARKET_PRICE' => '市场价格',
             'PRICE_PV' => '价格PV',
-            'POINT' => '兑换积分',
+            'TAX_RATE' => '税率',
+            'TAX_AMOUNT' => '税额',
+//            'POINT' => '兑换积分',
             'STORE_NUMS' => '库存',
             'STATUS' => '是否上架',
             'IS_DEL' => '是否删除',

+ 1 - 0
common/models/forms/ApproachOrderForm.php

@@ -360,6 +360,7 @@ class ApproachOrderForm extends Model
                         'REAL_PV' => $realPv,
                         'POINT' => $goods['POINT'],
                         'BUY_NUMS' => intval($v),
+                        'TAX_RATE' => $goods['TAX_RATE'],
                         'SKU_CODE' => $goods['GOODS_NO'],
                         'GOODS_TITLE' => $goods['GOODS_NAME'],
                         'CATEGORY_TYPE' => $goods['CATEGORY_TYPE'],

+ 1 - 0
common/models/forms/OrderForm.php

@@ -500,6 +500,7 @@ class OrderForm extends Model
                         'STANDARD_PRICE' => $goods['SELL_PRICE_STANDARD'],
                         'REAL_STANDARD_PRICE' => $realPriceStandard,
                         'EXCHANGE_RATE' => $exchangeRate,
+                        'TAX_RATE' => $goods['TAX_RATE'],
                     ];
                 }
             }

+ 6 - 2
common/models/forms/ShopGoodsForm.php

@@ -24,6 +24,7 @@ class ShopGoodsForm extends Model
     public $sellType;
     public $goodsNo;
     public $unit;
+    public $taxRate;
     public $cover;
     public $sellPrice;
     public $sellPriceStandard;
@@ -84,6 +85,7 @@ class ShopGoodsForm extends Model
             'storeNums' => '库存',
             'content' => '产品详情',
             'listOrder' => '排序',
+            'taxRate' => '税率',
         ];
     }
 
@@ -95,8 +97,8 @@ class ShopGoodsForm extends Model
     {
         $parentScenarios =  parent::scenarios();
         $customScenarios = [
-            'add' => ['goodsName','sellDiscount','giftType', 'sellType','goodsNo','unit','sellPrice','marketPrice','pricePv','storeNums', 'content','sort','cover', 'categoryType', 'sellPriceStandard'],
-            'edit' => ['id','goodsName','sellDiscount','giftType', 'sellType','goodsNo','unit','sellPrice','marketPrice','pricePv', 'storeNums', 'content','sort','cover', 'categoryType', 'sellPriceStandard'],
+            'add' => ['goodsName','sellDiscount','giftType', 'sellType','goodsNo','unit','sellPrice','marketPrice','pricePv','storeNums', 'content','sort','cover', 'categoryType', 'sellPriceStandard', 'taxRate', 'taxAmount'],
+            'edit' => ['id','goodsName','sellDiscount','giftType', 'sellType','goodsNo','unit','sellPrice','marketPrice','pricePv', 'storeNums', 'content','sort','cover', 'categoryType', 'sellPriceStandard', 'taxRate'],
             'changeStatus' => ['selectedIds', 'status'],
         ];
         return array_merge($parentScenarios, $customScenarios);
@@ -206,6 +208,7 @@ class ShopGoodsForm extends Model
             //$shopGoods->POINT = $this->point;
             $shopGoods->CONTENT = $this->content;
             $shopGoods->STORE_NUMS = $this->storeNums;
+            $shopGoods->TAX_RATE = $this->taxRate;
             $shopGoods->SORT = $this->sort;
             $shopGoods->CATE_ID = '1';
             $shopGoods->CREATED_AT = Date::nowTime();
@@ -249,6 +252,7 @@ class ShopGoodsForm extends Model
             $model->SELL_PRICE = $this->sellPrice;
             $model->MARKET_PRICE = $this->marketPrice;
             $model->PRICE_PV = $this->pricePv;
+            $model->TAX_RATE = $this->taxRate;
             //$model->POINT = $this->point;
             $model->CONTENT = $this->content;
             $model->STORE_NUMS = $this->storeNums;

+ 2 - 1
frontendApi/modules/v1/controllers/ShopController.php

@@ -11,6 +11,7 @@ namespace frontendApi\modules\v1\controllers;
 use Codeception\PHPUnit\ResultPrinter\HTML;
 use common\helpers\Date;
 use common\helpers\Form;
+use common\helpers\Tool;
 use common\helpers\user\Info;
 use common\models\ApproachOrder;
 use common\models\ApproachOrderGoods;
@@ -258,7 +259,7 @@ class ShopController extends BaseController {
 //            if($value['COUNTY']){
 //                $data['list'][$key]['FULL_ADDRESS'] .= Region::getCnName($value['COUNTY']);
 //            }
-
+            $data['list'][$key]['TAX_AMOUNT'] = Tool::formatPrice($value['REAL_PRICE'] - $value['REAL_PRICE'] / (1 + $value['TAX_RATE'] / 100));
         }
         return static::notice($data);
     }

+ 4 - 1
frontendEle/src/views/shop/order-list.vue

@@ -16,6 +16,8 @@
                         <span v-else>0</span>
                     </template>
                 </el-table-column>
+                <el-table-column width="120" label="税率" prop="TAX_RATE"></el-table-column><!--税率-->
+                <el-table-column width="120" label="税额" prop="TAX_AMOUNT"></el-table-column><!--税额-->
                 <el-table-column width="150" label="Product category" prop="CATEGORY"></el-table-column><!--商品分类-->
                 <el-table-column width="120" label="Order Code" prop="SN"></el-table-column><!--订单编号-->
                 <el-table-column width="120" label="Member Code" prop="USER_NAME"></el-table-column><!--会员编号-->
@@ -78,7 +80,7 @@
   //
       objectSpanMethod(obj) {
 
-        if (obj.columnIndex > 4) {
+        if (obj.columnIndex > 6) {
           // ⼆维数组存储的数据取出
           var _row = this.spanArr[obj.rowIndex];
           var _col = _row > 0 ? 1 : 0;
@@ -102,6 +104,7 @@
             //不是第⼀项时,就根据标识去存储
             if (//orderSn,createdAt...是你的第⼀个数据、第⼆个数据...
               // orderList[index].CATEGORY === orderList[index - 1].CATEGORY &&
+              orderList[index].CATEGORY === orderList[index - 1].CATEGORY &&
               orderList[index].ORDER_SN === orderList[index - 1].ORDER_SN &&
               orderList[index].USER_NAME === orderList[index - 1].USER_NAME &&
               orderList[index].REAL_NAME === orderList[index - 1].REAL_NAME &&

+ 0 - 2
frontendEle/src/views/shop/order.vue

@@ -363,8 +363,6 @@
                         // 非PayStack支付
                         return network.postData('shop/sure-order', params).then(() => {
                             this.submitButtonStat = false
-                                // 非PayStack支付
-                                this.$router.go(-1)
                                 this.$router.push({path: `/shop/order-list`})
                         }).catch(() => {
                             this.submitButtonStat = true