Просмотр исходного кода

Merge remote-tracking branch 'origin/feature-material-wangcz' into feature-material-wangcz

yujia 7 лет назад
Родитель
Сommit
ab5e35def8

+ 82 - 27
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/GoodsServiceImpl.java

@@ -1,5 +1,7 @@
 package com.uas.platform.b2c.prod.commodity.service.impl;
 package com.uas.platform.b2c.prod.commodity.service.impl;
 
 
+import static com.uas.platform.core.persistence.criteria.PredicateUtils.like;
+
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.api.b2c_erp.core.model.OperateErrorStatus;
 import com.uas.api.b2c_erp.core.model.OperateErrorStatus;
 import com.uas.api.b2c_erp.seller.model.GoodsFUas;
 import com.uas.api.b2c_erp.seller.model.GoodsFUas;
@@ -18,16 +20,49 @@ import com.uas.platform.b2c.core.constant.ShortConstant;
 import com.uas.platform.b2c.core.constant.SplitChar;
 import com.uas.platform.b2c.core.constant.SplitChar;
 import com.uas.platform.b2c.core.constant.Status;
 import com.uas.platform.b2c.core.constant.Status;
 import com.uas.platform.b2c.core.support.SystemSession;
 import com.uas.platform.b2c.core.support.SystemSession;
-import com.uas.platform.b2c.core.utils.*;
+import com.uas.platform.b2c.core.utils.DoubleArith;
+import com.uas.platform.b2c.core.utils.FastjsonUtils;
+import com.uas.platform.b2c.core.utils.NumberUtil;
+import com.uas.platform.b2c.core.utils.RegexConstant;
+import com.uas.platform.b2c.core.utils.StringUtilB2C;
 import com.uas.platform.b2c.external.erp.commodity.util.ModelConverter;
 import com.uas.platform.b2c.external.erp.commodity.util.ModelConverter;
 import com.uas.platform.b2c.prod.commodity.constant.DoubleConstant;
 import com.uas.platform.b2c.prod.commodity.constant.DoubleConstant;
 import com.uas.platform.b2c.prod.commodity.constant.IntegerConstant;
 import com.uas.platform.b2c.prod.commodity.constant.IntegerConstant;
 import com.uas.platform.b2c.prod.commodity.constant.StringConstant;
 import com.uas.platform.b2c.prod.commodity.constant.StringConstant;
 import com.uas.platform.b2c.prod.commodity.constant.UploadConstant;
 import com.uas.platform.b2c.prod.commodity.constant.UploadConstant;
-import com.uas.platform.b2c.prod.commodity.dao.*;
-import com.uas.platform.b2c.prod.commodity.model.*;
+import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
+import com.uas.platform.b2c.prod.commodity.dao.GoodsHistoryDao;
+import com.uas.platform.b2c.prod.commodity.dao.GoodsModifyInfoDao;
+import com.uas.platform.b2c.prod.commodity.dao.GoodsSimpleDao;
+import com.uas.platform.b2c.prod.commodity.dao.PCBDao;
+import com.uas.platform.b2c.prod.commodity.dao.ProductDao;
+import com.uas.platform.b2c.prod.commodity.dao.ProductDetailDao;
+import com.uas.platform.b2c.prod.commodity.dao.ProductPrivateDao;
+import com.uas.platform.b2c.prod.commodity.dao.ProductStandardPutOnInfoDao;
+import com.uas.platform.b2c.prod.commodity.model.Goods;
+import com.uas.platform.b2c.prod.commodity.model.GoodsFilter;
+import com.uas.platform.b2c.prod.commodity.model.GoodsHistory;
 import com.uas.platform.b2c.prod.commodity.model.GoodsHistory.OperateType;
 import com.uas.platform.b2c.prod.commodity.model.GoodsHistory.OperateType;
-import com.uas.platform.b2c.prod.commodity.service.*;
+import com.uas.platform.b2c.prod.commodity.model.GoodsInfo;
+import com.uas.platform.b2c.prod.commodity.model.GoodsModifyInfo;
+import com.uas.platform.b2c.prod.commodity.model.GoodsPriceInfo;
+import com.uas.platform.b2c.prod.commodity.model.GoodsQtyPrice;
+import com.uas.platform.b2c.prod.commodity.model.GoodsSimple;
+import com.uas.platform.b2c.prod.commodity.model.ModifyInfo;
+import com.uas.platform.b2c.prod.commodity.model.Product;
+import com.uas.platform.b2c.prod.commodity.model.ProductAttachSubmit;
+import com.uas.platform.b2c.prod.commodity.model.ProductDetail;
+import com.uas.platform.b2c.prod.commodity.model.ProductPrivate;
+import com.uas.platform.b2c.prod.commodity.model.ProductStandardPutOnInfo;
+import com.uas.platform.b2c.prod.commodity.model.V_ProductPrivate;
+import com.uas.platform.b2c.prod.commodity.service.GoodsHistoryService;
+import com.uas.platform.b2c.prod.commodity.service.GoodsPriceInfoService;
+import com.uas.platform.b2c.prod.commodity.service.GoodsService;
+import com.uas.platform.b2c.prod.commodity.service.ProductAttachService;
+import com.uas.platform.b2c.prod.commodity.service.ProductPrivateService;
+import com.uas.platform.b2c.prod.commodity.service.ProductService;
+import com.uas.platform.b2c.prod.commodity.service.ProductStandardPutOnInfoService;
+import com.uas.platform.b2c.prod.commodity.service.V_ProductPrivateService;
 import com.uas.platform.b2c.prod.commodity.status.ModifyInfoStatus;
 import com.uas.platform.b2c.prod.commodity.status.ModifyInfoStatus;
 import com.uas.platform.b2c.prod.commodity.type.ModifyConstant;
 import com.uas.platform.b2c.prod.commodity.type.ModifyConstant;
 import com.uas.platform.b2c.prod.commodity.util.GoodsUtil;
 import com.uas.platform.b2c.prod.commodity.util.GoodsUtil;
@@ -65,7 +100,11 @@ import com.uas.platform.b2c.trade.support.CodeType;
 import com.uas.platform.b2c.trade.support.ResultMap;
 import com.uas.platform.b2c.trade.support.ResultMap;
 import com.uas.platform.b2c.trade.util.BoundedExecutor;
 import com.uas.platform.b2c.trade.util.BoundedExecutor;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.exception.IllegalOperatorException;
-import com.uas.platform.core.model.*;
+import com.uas.platform.core.model.Constant;
+import com.uas.platform.core.model.EncodingRulesConstant;
+import com.uas.platform.core.model.PageInfo;
+import com.uas.platform.core.model.PageParams;
+import com.uas.platform.core.model.Type;
 import com.uas.platform.core.persistence.criteria.CriterionExpression;
 import com.uas.platform.core.persistence.criteria.CriterionExpression;
 import com.uas.platform.core.persistence.criteria.CriterionExpression.Operator;
 import com.uas.platform.core.persistence.criteria.CriterionExpression.Operator;
 import com.uas.platform.core.persistence.criteria.LogicalExpression;
 import com.uas.platform.core.persistence.criteria.LogicalExpression;
@@ -73,6 +112,33 @@ import com.uas.platform.core.persistence.criteria.PredicateUtils;
 import com.uas.platform.core.persistence.criteria.SimpleExpression;
 import com.uas.platform.core.persistence.criteria.SimpleExpression;
 import com.uas.platform.core.util.StringUtil;
 import com.uas.platform.core.util.StringUtil;
 import com.uas.platform.core.util.serializer.FlexJsonUtils;
 import com.uas.platform.core.util.serializer.FlexJsonUtils;
+import java.math.BigInteger;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.Collections;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+import javax.servlet.http.HttpServletRequest;
 import org.apache.commons.beanutils.ConvertUtils;
 import org.apache.commons.beanutils.ConvertUtils;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.collections.MapUtils;
@@ -97,26 +163,6 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.ui.ModelMap;
 import org.springframework.ui.ModelMap;
 import org.springframework.util.StringUtils;
 import org.springframework.util.StringUtils;
 
 
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-import javax.servlet.http.HttpServletRequest;
-import java.math.BigInteger;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.*;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import static com.uas.platform.core.persistence.criteria.PredicateUtils.like;
-
 
 
 /**
 /**
  * @author ChenHao
  * @author ChenHao
@@ -1420,7 +1466,11 @@ public class GoodsServiceImpl implements GoodsService {
             builder.append(SplitChar.SLASH);
             builder.append(SplitChar.SLASH);
             builder.append(qtyPrice.getStart());
             builder.append(qtyPrice.getStart());
         }
         }
-        return builder.substring(1);
+        if (builder.length() > 0) {
+            return builder.substring(1);
+        } else {
+            return "";
+        }
     }
     }
 
 
     /**
     /**
@@ -1436,7 +1486,12 @@ public class GoodsServiceImpl implements GoodsService {
             price = qtyPrice.getRMBPrice() != null ? qtyPrice.getRMBPrice() : qtyPrice.getUSDPrice();
             price = qtyPrice.getRMBPrice() != null ? qtyPrice.getRMBPrice() : qtyPrice.getUSDPrice();
             builder.append(price);
             builder.append(price);
         }
         }
-        return builder.substring(1);
+        if (builder.length() > 0) {
+            return builder.substring(1);
+        } else {
+            return "";
+        }
+
     }
     }
 
 
     @Transactional
     @Transactional

+ 41 - 21
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_materialCtrl.js

@@ -3712,7 +3712,7 @@ define(['app/app', 'jquery-uploadify'], function(app) {
           str).success(function (response) {
           str).success(function (response) {
         if (response.success) {
         if (response.success) {
           toaster.pop('success', '提交成功');
           toaster.pop('success', '提交成功');
-          loadDataReload()
+          loadData()
         } else {
         } else {
           toaster.pop('error', response.message);
           toaster.pop('error', response.message);
         }
         }
@@ -3754,7 +3754,19 @@ define(['app/app', 'jquery-uploadify'], function(app) {
       $scope.clearCheckBox()
       $scope.clearCheckBox()
       commodity.editProductUpOff = true
       commodity.editProductUpOff = true
       $scope.productUpOff = _deepCopy(commodity)
       $scope.productUpOff = _deepCopy(commodity)
-      commodity.dateArea = $scope.productUpOff.goods.selfSale  === 1 ? 'formMe' : 'autoMonth' // 自营还是销售
+      if (!$scope.productUpOff.goods) {
+        $scope.productUpOff.goods = {
+          prices: [],
+          selfSale: 1,
+          breakUp: false,
+          autoPublish: false,
+          productid: $scope.productUpOff.id
+        }
+        $scope.productAddFragment($scope.productUpOff.goods.prices)
+      }
+      $scope.productUpOff.goods.selfSale = ($scope.storeInfo.uuid != 'undefind' && $scope.productUpOff.goods.storeid == $scope.storeInfo.uuid && $scope.storeInfo.storeName.indexOf('优软测试二') < 0 && $scope.storeInfo.storeName.indexOf('优软商城') < 0) ? 1: 0
+      // $scope.productUpOff.dateArea = $scope.productUpOff.goods.selfSale === 1 ? 'formMe' : 'autoMonth' // 自营还是销售
+      commodity.dateArea = $scope.productUpOff.goods.selfSale === 1 ? 'formMe' : 'autoMonth' // 自营还是销售
     }
     }
 
 
     // 最小起订量修改 梯度1的值等于最小起订量
     // 最小起订量修改 梯度1的值等于最小起订量
@@ -3764,7 +3776,7 @@ define(['app/app', 'jquery-uploadify'], function(app) {
     // 最小起订量失去焦点
     // 最小起订量失去焦点
     $scope.ProductblurMinBuyQty = function(MinBuyQty) {
     $scope.ProductblurMinBuyQty = function(MinBuyQty) {
       if (!MinBuyQty) return
       if (!MinBuyQty) return
-      if (!$scope.productUpOff.goods.breakUp) {
+      if (!$scope.productUpOff.goods.breakUp && $scope.productUpOff.goods.minBuyQty !== $scope.productUpOff.minPackQty) {
         $scope.productUpOff.goods.minBuyQty = $scope.productUpOff.minPackQty
         $scope.productUpOff.goods.minBuyQty = $scope.productUpOff.minPackQty
         toaster.pop('warning', '提示', '不可拆卖时,起订量必须是包装数量的倍数');
         toaster.pop('warning', '提示', '不可拆卖时,起订量必须是包装数量的倍数');
         $scope.ProductupdateStartNumber($scope.productUpOff.goods.minBuyQty)
         $scope.ProductupdateStartNumber($scope.productUpOff.goods.minBuyQty)
@@ -3773,9 +3785,9 @@ define(['app/app', 'jquery-uploadify'], function(app) {
     // 可拆卖 上下架开关
     // 可拆卖 上下架开关
     $scope.productToggleIsBreadUp = function(pom) {
     $scope.productToggleIsBreadUp = function(pom) {
       $scope.productUpOff.goods[pom] = !$scope.productUpOff.goods[pom]
       $scope.productUpOff.goods[pom] = !$scope.productUpOff.goods[pom]
-      if (pom === 'BreakUp') {
+      if (pom === 'breakUp') {
         // 重置最小起订量
         // 重置最小起订量
-        $scope.ProductblurMinBuyQty()
+        $scope.ProductblurMinBuyQty($scope.productUpOff.goods.minBuyQty)
       }
       }
     }
     }
     // 清空当前打开的状态
     // 清空当前打开的状态
@@ -3787,8 +3799,11 @@ define(['app/app', 'jquery-uploadify'], function(app) {
       }
       }
     }
     }
     // 选择寄售还是自营
     // 选择寄售还是自营
-    $scope.productChangeSelfType = function(num, type) {
-      $scope.productUpOff.selfSale = num
+    $scope.productChangeSelfType = function(num, _type) {
+      // $scope.productUpOff.goods.selfSale = num
+      // $scope.productUpOff.goods.selfSale = num
+      $scope.productUpOff.goods.dateArea = _type
+      // $scope.material.dateArea = _type
     }
     }
     // 上下架保存按钮
     // 上下架保存按钮
     $scope.productSave = function() {
     $scope.productSave = function() {
@@ -3799,12 +3814,12 @@ define(['app/app', 'jquery-uploadify'], function(app) {
         return;
         return;
       }
       }
       $scope.productUpOff.editMaxDeliveryinValid = $scope.productUpOff.editMinDeliveryinValid = false
       $scope.productUpOff.editMaxDeliveryinValid = $scope.productUpOff.editMinDeliveryinValid = false
-      if (!$scope.productUpOff.goods.b2cMinDelivery || !$scope.productUpOff.goods.b2cMaxDelivery) {
+      if (!$scope.productUpOff.goods.minDelivery || !$scope.productUpOff.goods.maxDelivery) {
         toaster.pop('warning','提示','交期不能为空')
         toaster.pop('warning','提示','交期不能为空')
-        if (!$scope.productUpOff.goods.b2cMinDelivery) {
+        if (!$scope.productUpOff.goods.minDelivery) {
           $scope.productUpOff.editMinDeliveryinValid = true
           $scope.productUpOff.editMinDeliveryinValid = true
         }
         }
-        if (!$scope.productUpOff.goods.b2cMaxDelivery) {
+        if (!$scope.productUpOff.goods.maxDelivery) {
           $scope.productUpOff.editMaxDeliveryinValid = true
           $scope.productUpOff.editMaxDeliveryinValid = true
         }
         }
         return;
         return;
@@ -3825,28 +3840,33 @@ define(['app/app', 'jquery-uploadify'], function(app) {
       if (!flag) {
       if (!flag) {
         return
         return
       }
       }
-
-      for (var i = 0; i < $scope.productUpOff.goods.length; i++) {
-        $scope.productUpOff.goods[i].rMBNTPrice = ''
-        $scope.productUpOff.goods[i].end = '999999999'
-        if ($scope.productUpOff.goods[i + 1]) {
-          $scope.productUpOff.goods[i].end = parseInt($scope.productUpOff.goods[i].start) - 1
+      if ($scope.productUpOff.goods.prices.length === 1) {
+        $scope.productUpOff.goods.prices[0].rMBNTPrice = ''
+        $scope.productUpOff.goods.prices[0].end = '999999999'
+      } else {
+        for (var i = 0; i < $scope.productUpOff.goods.prices.length; i++) {
+          $scope.productUpOff.goods.prices[i].rMBNTPrice = ''
+          $scope.productUpOff.goods.prices[i].end = '999999999'
+          if ($scope.productUpOff.goods.prices[i + 1]) {
+            $scope.productUpOff.goods.prices[i].end = parseInt(
+                $scope.productUpOff.goods.prices[i].start) - 1
+          }
         }
         }
       }
       }
 
 
       // 先判断是自营店铺 还是 寄售店铺
       // 先判断是自营店铺 还是 寄售店铺
       // var _selfSale = $scope.productUpOff.goods.selfSale
       // var _selfSale = $scope.productUpOff.goods.selfSale
       if ($scope.storeInfo.uuid) { // 如果是自营店铺
       if ($scope.storeInfo.uuid) { // 如果是自营店铺
-        if ($scope.productUpOff.selfSale === 1) { // 用户选择了自营
+        if ($scope.productUpOff.goods.dateArea === 'formMe') { // 用户选择了自营
           $scope.productUpOff.goods.selfSale = 1
           $scope.productUpOff.goods.selfSale = 1
-        } else if ($scope.productUpOff.selfSale === 2) { // 用户选择了寄售
-          $scope.productUpOff.goods.selfSale = 2
+        } else if ($scope.productUpOff.goods.dateArea === 'autoMonth') { // 用户选择了寄售
+          $scope.productUpOff.goods.selfSale = 0
         }
         }
       }
       }
       Goods.updateGoods(null, $scope.productUpOff.goods, function(data) {
       Goods.updateGoods(null, $scope.productUpOff.goods, function(data) {
         if (data.code == 1) {
         if (data.code == 1) {
           toaster.pop('success', '保存成功');
           toaster.pop('success', '保存成功');
-          loadDataReload()
+          loadData()
         } else {
         } else {
           toaster.pop('error', '失败', data.message);
           toaster.pop('error', '失败', data.message);
         }
         }
@@ -3879,7 +3899,7 @@ define(['app/app', 'jquery-uploadify'], function(app) {
         toaster.pop('warning', "提示", "商品最多只能有三个分段");
         toaster.pop('warning', "提示", "商品最多只能有三个分段");
         return;
         return;
       }
       }
-      goods.push({count: '', price: ''})
+      goods.push({rMBPrice: '', start: ''})
 
 
     }
     }
 
 

+ 10 - 8
src/main/webapp/resources/view/vendor/forstore/vendor_material.html

@@ -1177,7 +1177,9 @@
 									</ul>
 									</ul>
 								</td>
 								</td>
 								<td>
 								<td>
-									<div ng-bind="material.goods.selfSale ? '自营' : '寄售'">自营</div>
+									<div ng-bind="(storeInfo.uuid != 'undefind' && material.goods.storeid == storeInfo.uuid && storeInfo.storeName.indexOf('优软测试二') < 0 && storeInfo.storeName.indexOf('优软商城') < 0) ? '自营': '寄售'">
+
+										自营</div>
 									<div>{{material.goods.breakUp ? '可拆卖' : '不可拆卖'}}</div>
 									<div>{{material.goods.breakUp ? '可拆卖' : '不可拆卖'}}</div>
 									<div>{{material.goods.autoPublish ? '已上架' : '已下架' }}</div>
 									<div>{{material.goods.autoPublish ? '已上架' : '已下架' }}</div>
 								</td>
 								</td>
@@ -1398,8 +1400,8 @@
 																	 maxlength="3"
 																	 maxlength="3"
 																	 class="form-control inputText"
 																	 class="form-control inputText"
 																	 oninput="if(value.length>3)value=value.slice(0,3)"
 																	 oninput="if(value.length>3)value=value.slice(0,3)"
-																	 ng-model="productUpOff.goods.b2cMinDelivery"
-																	 ng-blur="changeDelivery(productUpOff.goods.b2cMinDelivery,productUpOff.goods.b2cMaxDelivery, true, productUpOff)"
+																	 ng-model="productUpOff.goods.minDelivery"
+																	 ng-blur="changeDelivery(productUpOff.goods.b2cMinDelivery,productUpOff.goods.minDelivery, true, productUpOff)"
 																	 ng-class="{'error' : productUpOff.editMinDeliveryinValid}"
 																	 ng-class="{'error' : productUpOff.editMinDeliveryinValid}"
 																	 style="width: 80px;display: inline-block;"
 																	 style="width: 80px;display: inline-block;"
 														/>&nbsp;-&nbsp;<input type="text"
 														/>&nbsp;-&nbsp;<input type="text"
@@ -1408,8 +1410,8 @@
 																	 maxlength="3"
 																	 maxlength="3"
 																	 class="form-control inputText"
 																	 class="form-control inputText"
 																	 oninput="if(value.length>3)value=value.slice(0,3)"
 																	 oninput="if(value.length>3)value=value.slice(0,3)"
-																	 ng-model="productUpOff.goods.b2cMaxDelivery"
-																	 ng-blur="changeDelivery(productUpOff.goods.b2cMinDelivery, productUpOff.goods.b2cMaxDelivery, true, productUpOff)"
+																	 ng-model="productUpOff.goods.maxDelivery"
+																	 ng-blur="changeDelivery(productUpOff.goods.b2cMinDelivery, productUpOff.goods.maxDelivery, true, productUpOff)"
 																	 ng-class="{'error' : productUpOff.editMaxDeliveryinValid}"
 																	 ng-class="{'error' : productUpOff.editMaxDeliveryinValid}"
 														/>
 														/>
 													</div>
 													</div>
@@ -1453,13 +1455,13 @@
 														</div>
 														</div>
 														<div class="plusBtn" style="font-size: 14px;color: #333;background: #fff;border-top: 1px solid #dcdcdc;position:relative" ng-repeat="price in productUpOff.goods.prices">
 														<div class="plusBtn" style="font-size: 14px;color: #333;background: #fff;border-top: 1px solid #dcdcdc;position:relative" ng-repeat="price in productUpOff.goods.prices">
 															<span class="fl w50" style="width: 50%;border-right:1px solid #dcdcdc">
 															<span class="fl w50" style="width: 50%;border-right:1px solid #dcdcdc">
-																<input text="text" style="width: 100%;outline: 0;border: 0;text-align: center" ng-model="price.start" ng-blur="productPriceInfoBlur($index, price.count)" />
+																<input text="text" style="width: 100%;outline: 0;border: 0;text-align: center;height: 30px" ng-disabled="$index === 0" ng-readonly="$index === 0" ng-model="price.start" ng-blur="productPriceInfoBlur($index, price.start)" />
 															</span>
 															</span>
 															<span class="fl w50" style="width: 50%">
 															<span class="fl w50" style="width: 50%">
-																<input text="text" style="width: 100%;outline: 0;border: 0;text-align: center" ng-model="price.rMBPrice" />
+																<input text="text" style="width: 100%;outline: 0;border: 0;text-align: center;height: 30px" ng-model="price.rMBPrice" />
 															</span>
 															</span>
 															<div class="clearfix"></div>
 															<div class="clearfix"></div>
-															<div class="input-list ng-scope" style="height: 24px;line-height: 24px;margin-bottom: 5px;position: absolute;right: -38px;top: 0px">
+															<div class="input-list ng-scope" style="height: 24px;line-height: 24px;position: absolute;right: -38px;top: 3px">
 																<a class="reduce" ng-disabled="productUpOff.goods.prices.length < 2" ng-click="productDeleteFragment(productUpOff.goods.prices, $index)" disabled="disabled"><i class="fa fa-minus-circle restrict-color" ng-class="{ 'restrict-color': productUpOff.goods.prices.length === 1 }"></i></a>
 																<a class="reduce" ng-disabled="productUpOff.goods.prices.length < 2" ng-click="productDeleteFragment(productUpOff.goods.prices, $index)" disabled="disabled"><i class="fa fa-minus-circle restrict-color" ng-class="{ 'restrict-color': productUpOff.goods.prices.length === 1 }"></i></a>
 																<a class="add" ng-click="productAddFragment(productUpOff.goods.prices)" ng-disabled="productUpOff.goods.prices.length >= 3"><i class="fa fa-plus-circle" ng-class="{ 'restrict-color': $index === 2 }"></i></a>
 																<a class="add" ng-click="productAddFragment(productUpOff.goods.prices)" ng-disabled="productUpOff.goods.prices.length >= 3"><i class="fa fa-plus-circle" ng-class="{ 'restrict-color': $index === 2 }"></i></a>
 															</div>
 															</div>