Browse Source

Merge branch 'yc/erp_product_0321' into dev-mysql

yangc 7 years ago
parent
commit
3efdb5d1fb

+ 1 - 0
src/main/webapp/WEB-INF/views/normal/erp/vendor_center.html

@@ -19,6 +19,7 @@
 <link rel="stylesheet" href="static/lib/calendar/calendar.css">
 <link rel="stylesheet" href="static/lib/angular/ng-table.css">
 <link rel="stylesheet" href="static/css/erp/align.css">
+<link rel="stylesheet" href="static/css/commonComponent.css" />
 </head>
 <body>
 	<!-- 消息提示框  Start-->

+ 7 - 7
src/main/webapp/resources/js/vendor/app.js

@@ -512,17 +512,17 @@ define([ 'angularAMD', 'ngLocal', 'common/services', 'common/directives', 'commo
             controllerUrl : "app/controllers/forstore/vendor_materialPersonCtrl",
             controller : 'vendor_materialPersonCtrl'
         })).state('vendor_material_erp', angularAMD.route({
-			title : '可上架产品toErp',
+			title : '企业产品库toErp',
 			url : '/vendor_material_erp?standardParam',
 			templateUrl : 'static/view/vendor/forstore/erp/vendor_material_erp.html',
 			controllerUrl : "app/controllers/forstore/vendor_materialCtrl",
 			controller : 'vendor_materialCtrl'
-		})).state('vendor_material_unstandard_erp', angularAMD.route({
-			title : '暂不可上架产品toErp',
-			url : '/vendor_material_unstandard_erp?standardParam',
-			templateUrl : 'static/view/vendor/forstore/erp/vendor_material_unstandard_erp.html',
-			controllerUrl : "app/controllers/forstore/vendor_materialCtrl",
-			controller : 'vendor_materialCtrl'
+		})).state('vendor_material_person_erp', angularAMD.route({
+			title : '个人产品库toErp',
+			url : '/vendor_material_person_erp?standardParam',
+			templateUrl : 'static/view/vendor/forstore/erp/vendor_material_person_erp.html',
+			controllerUrl : "app/controllers/forstore/vendor_materialPersonCtrl",
+			controller : 'vendor_materialPersonCtrl'
 		})).state('vendor_onSale', angularAMD.route({
             title : '在售产品',
             url : '/vendor_onSale',

+ 27 - 16
src/main/webapp/resources/js/vendor/controllers/forstore/vendor_materialCtrl.js

@@ -221,21 +221,25 @@ define([ 'app/app', 'jquery-uploadify' ], function(app) {
         /**
          * 获取批量上架的配置信息
          */
-        UASBatchPutOnPropertyServices.get(null, function (data) {
-            if (data && typeof data.fluctuateRate != 'undefined') {
-                $scope.uasBatchPutOnProperty = data;
-                $scope.uasBatchPutOnProperty.editFluctuateRate = NumberService.mul($scope.uasBatchPutOnProperty.fluctuateRate, 100) || 100;
-                $scope.uasBatchPutOnProperty.editMaxDelivery = $scope.uasBatchPutOnProperty.maxDelivery || 10;
-                $scope.uasBatchPutOnProperty.editMinDelivery = $scope.uasBatchPutOnProperty.minDelivery || 1;
-            } else {
-				$scope.uasBatchPutOnProperty = {};
-                $scope.uasBatchPutOnProperty.editFluctuateRate = 100;
-                $scope.uasBatchPutOnProperty.editMaxDelivery = 10;
-                $scope.uasBatchPutOnProperty.editMinDelivery = 1;
-            }
-        }, function (response) {
-            console.log(response);
-        });
+        $scope.getUASBatchPutOnPropertyData = function () {
+			UASBatchPutOnPropertyServices.get(null, function (data) {
+				if (data && typeof data.fluctuateRate != 'undefined') {
+					$scope.uasBatchPutOnProperty = data;
+					$scope.uasBatchPutOnProperty.editFluctuateRate = NumberService.mul($scope.uasBatchPutOnProperty.fluctuateRate, 100) || 100;
+					$scope.uasBatchPutOnProperty.editMaxDelivery = $scope.uasBatchPutOnProperty.maxDelivery || 10;
+					$scope.uasBatchPutOnProperty.editMinDelivery = $scope.uasBatchPutOnProperty.minDelivery || 1;
+				} else {
+					$scope.uasBatchPutOnProperty = {};
+					$scope.uasBatchPutOnProperty.editFluctuateRate = 100;
+					$scope.uasBatchPutOnProperty.editMaxDelivery = 10;
+					$scope.uasBatchPutOnProperty.editMinDelivery = 1;
+				}
+			}, function (response) {
+				console.log(response);
+			});
+		};
+
+		$scope.getUASBatchPutOnPropertyData();
 
 		/**
 		 * 切换标准/非标准
@@ -272,11 +276,18 @@ define([ 'app/app', 'jquery-uploadify' ], function(app) {
 
 		// 进入批量操作
 		$scope.enterBatch = function () {
+			if (!$scope.isBatch) {
+				$scope.getUASBatchPutOnPropertyData();
+			}
 			closeAllEditStatus();
-			$scope.isBatch = true;
+			$scope.isBatch = !$scope.isBatch;
 			$scope.isChoosedAll = false;
 		};
 
+		$scope.onProgress = function () {
+			$scope.uasBatchPutOnProperty.editFluctuateRate = Number($scope.uasBatchPutOnProperty.editFluctuateRate);
+		}
+
 		// 取消批量操作
 		$scope.exitBatch =function () {
 			$scope.isBatch = false;

+ 405 - 197
src/main/webapp/resources/view/vendor/forstore/erp/vendor_material_erp.html

@@ -171,16 +171,15 @@
 	}
 	.search-check{
 		width: 100%;
-		min-height: 54px;
 		height: auto;
+		min-height: 54px;
 		background: #fff;
 		padding-top: 10px;
 		margin-bottom: 16px;
 	}
 	.search-check .search{
-		width: 550px;
+		width: 438px;
 		margin-left: 150px;
-		margin-bottom: 10px;
 	}
 	.search-check .search .form-control{
 		width: 340px;
@@ -217,103 +216,58 @@
 		font-size: 14px;
 		line-height: 35px;
 	}
-	.search-check .check a{
+	.search-check .check > .operate-btn{
 		font-size: 14px;
-		margin-right: 20px;
-		color: #333;
-	}
-	.search-check .check a:hover{
-		color: #5078cb;
-	}
-	.search-check .check .check-active{
-		margin-right: 15px;
-	}
-	.search-check .check .check-active span{
-		font-weight: normal;
-		color: #333;
-	}
-	.search-check .check .check-active span:hover{
-		color: #5078cb;
-		cursor: pointer;
-	}
-	.search-check .check .check-active label{
-		margin-right: 0 !important;
-	}
-	.search-check .batch-operate {
-		clear: both;
-		background: #99FFFF;
-	}
-	.search-check .batch-operate .operate-head {
-		height: 40px;
-		line-height: 40px;
-		margin: 0 10px;
-		border-bottom: 1px solid;
-		padding: 0 20px;
-	}
-	.search-check .batch-operate .operate-head .check-active {
-		font-weight: normal;
-		height: 40px;
-	}
-	.search-check .batch-operate .operate-head .red-text {
-		color: #ee4312;
-	}
-	.search-check .batch-operate .operate-content {
-		height: 70px;
-		line-height: 30px;
-	}
-	.search-check .batch-operate .operate-content > div {
+		margin-right: 12px;
+		color: #fff !important;
+		background: #5078cb;
+		position: relative;
 		display: inline-block;
+		height: 30px;
+		line-height: 30px;
+		padding: 0 10px;
+		cursor: pointer;
 	}
-	.search-check .batch-operate .operate-content > div:first-child {
-		margin-right: 111px;
-		margin-left: 28px;
-	}
-	.search-check .batch-operate .operate-content > div p {
-		font-weight: bold;
-	}
-	.search-check .batch-operate .operate-content > div p .batch-price-title {
-		margin-right: 91px;
-	}
-	.search-check .batch-operate .operate-content > div p .batch-progress {
-		width: 108px;
-		height: 5px;
+	.search-check .check > .operate-btn .expander {
+		position: absolute;
+		color: #333;
+		right: 0;
+		display: none;
+		height: 57px;
+		line-height: 26px;
+		text-align: center;
 		background: #fff;
-		display: inline-block;
-		position: relative;
+		bottom: -57px;
+		width: 98px;
+		z-index: 10;
+		border: 1px solid #e4e5e5;
 	}
-	.search-check .batch-operate .operate-content > div p .batch-progress i {
-		width: 5px;
-		height: 10px;
-		background: #169BD5;
+	.search-check .check > .operate-btn.more-operate {
+		padding: 0;
+		width: 98px;
+		height: 30px;
+		line-height: 30px;
+		text-align: center;
 		display: inline-block;
-		position: absolute;
-		top: -3px;
 	}
-	.search-check .batch-operate .operate-content > div p em {
-		margin: 0 5px;
+	.search-check .check > .operate-btn.more-operate:hover .expander {
+		display: block;
 	}
-	.search-check .batch-operate .operate-content > div > div input {
-		padding: 0 5px;
-		height: 25px;
+	.search-check .check > .operate-btn.more-operate .expander span {
+		display: block;
 	}
-	.search-check .batch-operate .operate-content .batch-sale input {
-		width: 60px;
-		margin-right: 10px;
-		padding-right: 12px;
-	}
-	.search-check .batch-operate .operate-content .batch-sale div .com-btn-submit {
-		margin-right: 10px;
+	.search-check .check > .operate-btn.more-operate .expander span:hover {
+		color: #5078cb;
 	}
-	.search-check .batch-operate .operate-content .batch-sale > div {
-		position: relative;
+	.pro_management .table .check-active {
+		margin-right: 15px;
+		user-select: none;
 	}
-	.search-check .batch-operate .operate-content .batch-sale div i {
-		position: absolute;
-		left: 234px;
-		top: 2px;
+	.pro_management .table .check-active span {
+		color: #333 !important;
 	}
-	.search-check .batch-operate .operate-content .batch-date input {
-		width: 56px;
+	.pro_management .table .check-active label {
+		margin-right: 0 !important;
 	}
 	.check-input input{
 		display: none;
@@ -440,6 +394,43 @@
 	.edit-content div.floatLeft .input-list{
 		float: left;
 	}
+	.edit-content .input-list .dropdown{
+		position: relative;
+	}
+	.edit-content .input-list .button-select{
+		width: 96px;
+		height: 24px;
+		border: 1px solid #a9a9a9;
+		font-size: 12px;
+		text-align: center;
+		padding: 0;
+	}
+	.edit-content .input-list .select-package{
+		width: 96px;
+		height: 24px;
+		border: 1px solid #a9a9a9;
+		font-size: 12px;
+		text-align: center;
+		border-radius: 3px;
+		padding-left: 6px;
+	}
+	.edit-content .input-list .button-option{
+		position: absolute;
+		top: 22px;
+		left: 69px;
+		height: 63px;
+		min-width: 119px;
+		overflow: auto;
+	}
+	.edit-content .input-list .button-option li{
+		height: 30px;
+		line-height: 30px;
+		padding: 0;
+	}
+	.edit-content .produceDate-fix{
+		position: relative;
+		top: 4px;
+	}
 	.edit-content div.margin10{
 		padding-top: 24px;
 	}
@@ -1045,7 +1036,7 @@
 	}
 	.edit-contents .content .title span:first-child {
 		float: left;
-		width: 80px;
+		width: 70px;
 		text-align: right;
 	}
 	.edit-contents .content .title span:last-child {
@@ -1558,10 +1549,10 @@
 	#wanted-list02{
 		display: none;
 	}
-	.modal-backdrop {
-		background-color: transparent ;
-		bottom: unset!important;
-	}
+	/*.modal-backdrop {
+        background-color: transparent ;
+        bottom: unset!important;
+    }*/
 	.modal{
 		bottom: unset!important;
 	}
@@ -1572,6 +1563,141 @@
 		position: absolute;
 		top: 45px;
 	}
+
+	.no-hover:hover {
+		background: none !important;
+	}
+	.standard-tab.table > tbody > tr.batch-tr {
+		height: 30px;
+	}
+	.standard-tab.table > tbody > tr.batch-tr.active {
+		position: fixed;
+		bottom: 0;
+		z-index: 2000;
+	}
+	.standard-tab.table > tbody > tr.batch-tr.active td {
+		width: 1029px;
+		border-top: 0;
+	}
+	.standard-tab.table > tbody > tr.batch-tr td {
+		padding: 0;
+		border-top: #dff3fd 1px solid;
+	}
+	.standard-tab.table>tbody>tr>td .batch-line {
+		width: 100%;
+		height: 30px;
+		background: #fdd6d6;
+		line-height: 30px;
+	}
+	.wanted_list01 .tab table th {
+		color: #333 !important;
+	}
+	.search-check .batch-operate {
+		clear: both;
+		background: #99FFFF;
+		position: relative;
+		z-index: 1;
+	}
+	.search-check .batch-operate .operate-head {
+		height: 40px;
+		line-height: 40px;
+		margin: 0 10px;
+		border-bottom: 1px solid;
+		padding: 0 20px;
+		text-align: right;
+	}
+	.search-check .batch-operate .operate-head .check-active {
+		font-weight: normal;
+		height: 40px;
+	}
+	.search-check .batch-operate .operate-head .red-text {
+		color: #008000;
+		float: left;
+		font-size: 14px;
+		font-weight: bold;
+	}
+	.search-check .batch-operate .operate-head .red-text i {
+		font-size: 20px;
+		color: #e07d34;
+	}
+	.search-check .batch-operate .operate-content {
+		height: 70px;
+		line-height: 30px;
+	}
+	.search-check .batch-operate .operate-content > div {
+		display: inline-block;
+	}
+	.search-check .batch-operate .operate-content > div:first-child {
+		margin-right: 111px;
+		margin-left: 28px;
+	}
+	.search-check .batch-operate .operate-content > div p {
+		font-weight: bold;
+	}
+	.search-check .batch-operate .operate-content > div p .batch-price-title {
+		margin-right: 91px;
+	}
+	.search-check .batch-operate .operate-content > div p input[type=range] {
+		padding: 0;
+		display: inline-block;
+		width: 108px;
+	}
+	.search-check .batch-operate .operate-content > div p input[type=range]::-webkit-slider-runnable-track {
+		background: #4054ff;
+		height: 5px;
+	}
+	.search-check .batch-operate .operate-content > div p input[type=range]::-webkit-slider-thumb {
+		position: relative;
+		bottom: 7px;
+	}
+	.search-check .batch-operate .operate-content > div p .batch-progress {
+		width: 108px;
+		height: 5px;
+		background: #fff;
+		display: inline-block;
+		position: relative;
+	}
+	.search-check .batch-operate .operate-content > div p .batch-progress i {
+		width: 5px;
+		height: 10px;
+		background: #169BD5;
+		display: inline-block;
+		position: absolute;
+		top: -3px;
+	}
+	.search-check .batch-operate .operate-content > div p em {
+		margin: 0 5px;
+	}
+	.search-check .batch-operate .operate-content > div > div input {
+		padding: 0 5px;
+		height: 25px;
+	}
+	.search-check .batch-operate .operate-content .batch-sale input {
+		width: 60px;
+		margin-right: 10px;
+		padding-right: 12px;
+	}
+	.search-check .batch-operate .operate-content .batch-sale div .com-btn-submit {
+		margin-right: 10px;
+	}
+	.search-check .batch-operate .operate-content .batch-sale > div {
+		position: relative;
+	}
+	.search-check .batch-operate .operate-content .batch-sale div i {
+		position: absolute;
+		left: 234px;
+		top: 2px;
+	}
+	.search-check .batch-operate .operate-content .batch-date input {
+		width: 56px;
+	}
+	.search-check .batch-operate > .fr {
+		margin-right: 30px;
+	}
+	.search-check .batch-operate > .fr .com-btn-level1 {
+		display: block;
+		margin-top: 8px;
+	}
 	.pro_management .table tr th .erp-reserve {
 		cursor: pointer;
 	}
@@ -1588,109 +1714,151 @@
 	<div class="pro_management device">
 		<div class="com_tab">
 			<ul class="fl" style="width: 100%">
-				<li><a ui-sref="vendor_material_unstandard_erp({standardParam:'unstandard'})">非标产品</a></li>
-				<li class="active"><a ui-sref="vendor_material_erp({standardParam:'standard'})">标准产品</a></li>
+				<li class="active"><a ui-sref="vendor_material_erp">企业产品库</a></li>
+				<li><a ui-sref="vendor_material_person_erp">个人产品库</a></li>
 				<li><a ui-sref="vendor_onSale_erp">在售产品</a></li>
 				<li><a ui-sref="vendor_undercarriage_erp">上下架历史</a></li>
 			</ul>
 		</div>
+		<div class="com_tab">
+			<ul class="fl distance" style="width: 100%">
+				<li ng-class="{active : standard_tab == 'unstandard'}"  ng-click="toggleStandard('unstandard')" title="非标产品({{nCount}})"><a href="" class="standard">非标产品(<em class="count">{{nCount}}</em>)</a></li>
+				<li ng-class="{active : standard_tab =='standard'}" ng-click="toggleStandard('standard')" title="标准产品({{sCount}})"><a href="" class="standard">标准产品(<em class="count">{{sCount}}</em>)</a></li>
+			</ul>
+			<!--匹配结果导航-->
+			<div class="match-menu" ng-if="resultFrame">
+                <span>
+                    <a ng-click="toggleTab('matchResult')">匹配结果</a>
+                    <i class="fa fa-remove" ng-click="closeResultFrame('unstandard')"></i>
+                </span>
+			</div>
+		</div>
 		<!--非标和标准产品列表页-->
 		<div ng-if="standard_tab == 'unstandard' || standard_tab =='standard'">
 			<div class="search-check">
 				<div class="search fl">
 					<input type="text" class="form-control" ng-model="param.keyword" ng-search="onSearch()" placeholder="类目/型号/品牌"/>
 					<button ng-click="onSearch()">搜索</button>
-					<a ng-click="download()">批量导出</a>
+					<!--<a ng-click="download()">批量导出</a>-->
 				</div>
 				<div class="check fr">
-					<a ng-show="!isBatch && standard_tab == 'unstandard'" ng-click="matchAll()"><span ng-show="!isBatch && standard_tab == 'unstandard'">一键匹配</span></a>
-					<a ng-show="!isBatch" ng-click="enterBatch()"><span ng-show="!isBatch">批量操作</span></a>
+					<div class="operate-btn" ng-click="enterBatch()"><span>批量上架</span></div>
+					<div class="operate-btn" ng-click="setAllInPerson()"><span>加入个人产品库</span></div>
+					<div class="operate-btn" ng-show="standard_tab == 'unstandard'" ng-click="matchAll()"><span ng-show="standard_tab == 'unstandard'">匹配</span></div>
+					<div class="operate-btn more-operate">
+						<span>更多操作</span>
+						<span class="expander">
+							<span ng-click="download()">导出选中</span>
+							<span ng-click="deleteBatch()" name="delete-material">删除选中</span>
+						</span>
+					</div>
 					<!--<span class="check-btn" ng-show="isBatch">
-						<label class="check-active">
-							<input type="checkbox"  ng-click="chooseAll()" ng-checked="isChoosedAll" id="AllChoose"/>
-							<label for="AllChoose"></label>
-							<span>全选</span>
-						</label>
-						<a
-								ng-click="deleteBatch()" name="delete-material">删除</a>
+						<a ng-click="deleteBatch()" name="delete-material">删除</a>
 						<a ng-click="exitBatch()">取消</a>
 					</span>-->
 				</div>
 				<div class="batch-operate" ng-show="isBatch">
-					<div class="operate-head">
-						<label class="check-active fl">
-							<input type="checkbox"  ng-click="chooseAll()" ng-checked="isChoosedAll" id="AllChoose"/>
-							<label for="AllChoose"></label>
-							<span>全选</span>
-						</label>
-						<div class="fr">
-							<span class="red-text">批量上架仅作用于未上架的产品,已上架的不再重复上架!</span>
-							<span class="com-btn-level1 com-btn-submit" ng-click="batchPutOn()">批量上架</span>
-							<span class="com-btn-level1 com-btn-submit" ng-mouseenter="enterBatchPutOnPropertySaveButton()" ng-mouseleave="leaveBatchPutOnPropertySaveButton()" ng-click="saveBatchPutOnProperty()">保存</span>
-							<span class="com-btn-level1 com-btn-red" ng-click="deleteBatch()">删除</span>
-							<span class="com-btn-level1 com-btn-cancel" ng-click="exitBatch()">取消</span>
+					<div class="fl">
+						<div class="operate-head">
+							<!--<label class="check-active fl">
+                                <input type="checkbox"  ng-click="chooseAll()" ng-checked="isChoosedAll" id="AllChoose"/>
+                                <label for="AllChoose"></label>
+                                <span>全选</span>
+                            </label>-->
+							<span class="red-text"><i class="fa fa-warning"></i> 批量上架仅作用于未上架的产品,已上架的不再重复上架!</span>
 						</div>
-					</div>
-					<div class="operate-content">
-						<div class="batch-sale">
-							<p><span class="batch-price-title">批量设置销售价:</span><em>1</em><span class="batch-progress"><i style="left: {{uasBatchPutOnProperty.editFluctuateRate ? uasBatchPutOnProperty.editFluctuateRate > 200 ? '100%' : uasBatchPutOnProperty.editFluctuateRate / 2 + '%' : 0}}"></i></span><em>200</em></p>
-							<div><span>销售价 = 近一个月的平均销售价 X </span><input type="number" ng-model="uasBatchPutOnProperty.editFluctuateRate" ng-change="onSalePriceChange()"><i>%</i>
-								<span class="com-btn-level2 com-btn-submit" ng-click="setSalePrice(100)">100%</span>
-								<span class="com-btn-level2 com-btn-submit" ng-click="setSalePrice(120)">120%</span>
-								<span class="com-btn-level2 com-btn-submit" ng-click="setSalePrice(130)">130%</span>
-								<span class="com-btn-level2 com-btn-submit" ng-click="setSalePrice(150)">150%</span>
+						<div class="operate-content">
+							<div class="batch-sale">
+								<!--<p><span class="batch-price-title">批量设置销售价:</span><em>1</em><span class="batch-progress"><i style="left: {{uasBatchPutOnProperty.editFluctuateRate ? uasBatchPutOnProperty.editFluctuateRate > 200 ? '100%' : uasBatchPutOnProperty.editFluctuateRate / 2 + '%' : 0}}"></i></span><em>200</em></p>-->
+								<p><span class="batch-price-title">批量设置销售价:</span><em>1</em><input type="range" min="1" max="200" ng-model="uasBatchPutOnProperty.editFluctuateRate" ng-change="onProgress()" class="form-control"><em>200</em></p>
+								<div><span>销售价 = 近一个月的平均销售价 X </span><input type="number" ng-model="uasBatchPutOnProperty.editFluctuateRate" ng-change="onSalePriceChange()"><i>%</i>
+									<span class="com-btn-level2 com-btn-submit" ng-click="setSalePrice(100)">100%</span>
+									<span class="com-btn-level2 com-btn-submit" ng-click="setSalePrice(120)">120%</span>
+									<span class="com-btn-level2 com-btn-submit" ng-click="setSalePrice(130)">130%</span>
+									<span class="com-btn-level2 com-btn-submit" ng-click="setSalePrice(150)">150%</span>
+								</div>
+							</div>
+							<div class="batch-date">
+								<p>批量设置交期:</p>
+								<div><span>交期(天)= </span><input type="number" ng-model="uasBatchPutOnProperty.editMinDelivery" ng-blur="uasBatchChangeDeliver(uasBatchPutOnProperty.editMinDelivery, uasBatchPutOnProperty.editMaxDelivery, false)"> - <input type="number" ng-model="uasBatchPutOnProperty.editMaxDelivery" ng-blur="uasBatchChangeDeliver(uasBatchPutOnProperty.editMinDelivery, uasBatchPutOnProperty.editMaxDelivery, true)"></div>
 							</div>
-						</div>
-						<div class="batch-date">
-							<p>批量设置交期:</p>
-							<div><span>交期(天)= </span><input type="number" ng-model="uasBatchPutOnProperty.editMinDelivery" ng-blur="uasBatchChangeDeliver(uasBatchPutOnProperty.editMinDelivery, uasBatchPutOnProperty.editMaxDelivery, false)"> - <input type="number" ng-model="uasBatchPutOnProperty.editMaxDelivery" ng-blur="uasBatchChangeDeliver(uasBatchPutOnProperty.editMinDelivery, uasBatchPutOnProperty.editMaxDelivery, true)"></div>
 						</div>
 					</div>
+					<div class="fr">
+						<span class="com-btn-level1 com-btn-submit" ng-click="batchPutOn()">提交</span>
+						<span class="com-btn-level1 com-btn-red" ng-mouseenter="enterBatchPutOnPropertySaveButton()" ng-mouseleave="leaveBatchPutOnPropertySaveButton()" ng-click="saveBatchPutOnProperty()">保存</span>
+						<span class="com-btn-level1 com-btn-cancel" ng-click="exitBatch()">取消</span>
+					</div>
+					<div style="clear: both;"></div>
 				</div>
 			</div>
 			<div class="wanted_list01">
 				<!--在售产品-->
 				<div class="tab">
-					<table class="public-tab table">
+					<table class="public-tab standard-tab table">
 						<thead>
 						<tr>
+							<th width="80">
+								<label class="check-active">
+									<input ng-disabled="currenctMaterial.length == 0" type="checkbox"  ng-click="chooseAllItem()" ng-checked="chooseAll || chooseAllPage" id="AllChoose12"/>
+									<label for="AllChoose12"></label>
+									<span>全选</span>
+								</label>
+							</th>
 							<th width="80">序号</th>
-							<th width="100">
+							<th width="120">
 								<div class="erp-reserve"  ng-click="sortByERPReserve()">
-									ERP空闲库存
+									闲库存
 									<a class="sort-area" href="javascript:void(0)">
 										<i class=" fa fa-long-arrow-up" ng-class="{'active': sortByERP == 'ASC'}"></i>
 										<i class=" fa fa-long-arrow-down" ng-class="{'active': sortByERP == 'DESC'}"></i>
 									</a>
 								</div>
 							</th>
-							<th width="180">产品名称(类目)</th>
-							<th width="200">产品型号</th>
-							<th width="150">品牌</th>
+							<th width="140">产品名称(类目)</th>
+							<th width="180">产品型号</th>
+							<th width="130">品牌</th>
 							<th width="100">单位</th>
+							<!--<th width="80">封装</th>-->
 							<th width="180">操作</th>
 						</tr>
 						</thead>
 						<tbody class="bg-show">
 						<!--<tr style="height: 14px;" ng-show="!isBatch && standard_tab == 'standard'">-->
 						<tr style="height: 14px;">
-							<td colspan="7" class="hei18"></td>
+							<td colspan="8" class="hei18"></td>
 						</tr>
 						</tbody>
 						<tbody>
 						<tr style="height: 14px;" ng-show="currenctMaterial.length > 0 && standard_tab == 'unstandard' && showTip">
-							<td colspan="7" class="hei17">
+							<td colspan="8" class="hei17">
 								<span>*匹配成为标准产品方可通过器件选型、参数搜索展示</span><a ng-click="cancelTip()">&times;</a>
 							</td>
 						</tr>
+						<tr class="no-hover batch-tr" ng-if="(chooseAll || chooseAllPage) && currenctMaterial.length != 0">
+							<td colspan="8">
+								<div class="batch-line" ng-if="chooseAll && !chooseAllPage">
+									已选中当前页
+									<em class="red" ng-bind="materialAll.numberOfElements"></em>个产品,
+									<a ng-click="turnAllPage()" class="blue">点击此处</a>切换选中所有页面<em class="red" ng-bind="materialAll.totalElements"></em>个产品
+								</div>
+								<div class="batch-line" ng-if="chooseAllPage">
+									已选中所有页面
+									<em class="red" ng-bind="materialAll.totalElements"></em>个产品,
+									<a ng-click="cancelAllPage()" class="blue">点击此处</a>全部取消选中
+								</div>
+							</td>
+						</tr>
 						</tbody>
 						<tbody ng-repeat="material in currenctMaterial">
 						<!--<tr ng-class="{ 'active': material.selected }" class="gre-bg">-->
 						<tr ng-class="{ 'active': material.selected, 'gre-bg' : material.exPandOper}">
 							<td class="check-input">
-								<span ng-show="isBatch"><input type="checkbox" ng-checked="material.isChoosed"  ng-click="chooseOne(material)"  id="{{$index+1}}"/><label for="{{$index+1}}"></label><br/></span>
-								<span
-										ng-show="!isBatch" ng-bind="(param.page - 1) * 10 + $index + 1"></span>
+								<span><input type="checkbox" ng-checked="material.isChoosed"  ng-click="chooseOne(material)"  id="{{$index+1}}"/><label for="{{$index+1}}"></label><br/></span>
+							</td>
+							<td>
+								<!--<span ng-show="isBatch"><input type="checkbox" ng-checked="material.isChoosed"  ng-click="chooseOne(material)"  id="{{$index+1}}"/><label for="{{$index+1}}"></label><br/></span>-->
+								<span ng-bind="(param.page - 1) * 10 + $index + 1"></span>
 							</td>
 							<td><span ng-bind="material.erpReserve ? material.erpReserve : 0" title="{{material.erpReserve}}"></span></td>
 							<td>
@@ -1706,12 +1874,15 @@
 								<div class="ellipsis-div" ng-if="!material.pbranden" ng-bind="material.pbrand" title="{{material.pbrand}}"></div>
 							</td>
 							<td ng-bind="material.unit || 'PCS'" title="{{material.unit  || 'PCS'}}"></td>
+							<!--<td>-->
+							<!--<span ng-bind="material.encapsulation || '-'" title="{{material.encapsulation || '-'}}"></span>-->
+							<!--</td>-->
 							<td class="edit">
 								<span name="delete-material" ng-show="!isBatch && !material.exPandOper && !material.addGoodsOper" ng-click="deleteMaterial(material)"><span>删除</span></span>
 								<span ng-show="!isBatch && !material.exPandOper && !material.addGoodsOper" ng-click="showShelfArea(material)">
-									<span ng-if="material.batchCount">添加产品</span>
-									<span ng-if="!material.batchCount">编辑上架</span>
-								</span>
+								<span ng-if="material.batchCount">添加产品</span>
+								<span ng-if="!material.batchCount">编辑上架</span>
+							</span>
 								<span ng-if="material.batchCount" ng-show="!isBatch && !material.exPandOper && !material.addGoodsOper" ng-click="expandGoods(material)"><span>展开<i class="fa fa-angle-down" style="margin-left:2px;"></i></span></span>
 								<!--收起-->
 								<span ng-show="!isBatch && material.exPandOper" ng-click="disExpandGoods(material)" class="packUp"><span>收起<i class="fa fa-angle-up" style="margin-left:2px;"></i></span></span>
@@ -1720,8 +1891,8 @@
 							</td>
 						</tr>
 						<!--展开内容-->
-						<tr ng-if="material.addGoodsOper  || (material.exPandOper && material.goodsArr.length > 0)">
-							<td colspan="7" style="padding: 0;">
+						<tr ng-show="material.addGoodsOper  || (material.exPandOper && material.goodsArr.length > 0)">
+							<td colspan="8" style="padding: 0;">
 								<div class="show-content">
 									<div class="content-body">
 										<table class="public-tab table">
@@ -1741,7 +1912,7 @@
 													<div class="blue-bg">
 														<div></div>
 														<div class="img">
-															<a><img ng-src="{{goods.editPic || material.cmpImg || 'static/img/store/common/default.png'}}" alt="img"/></a>
+															<a><img ng-src="{{goods.editPic || 'static/img/store/common/default.png'}}" alt="img"/></a>
 															<div class="edit-img">
 																<a ng-click="deleteImg(goods)" class="delete-img" title="删除" ng-if="goods.editPic"><i class="fa fa-trash"></i></a>
 																<a ng-click="editGoodsPicture(goods.editPic || 'static/img/store/common/default.png', goods)" title="修改图片"><img ng-src="static/img/icon/update-img.png" /></a>
@@ -1750,15 +1921,24 @@
 														<div class="content margin10">
 															<!--<p class="title">包装/生产日期</p>-->
 															<div class="input-list">
-																<span class="tit">包装:</span><input type="text" class="form-control" name="packaging" ng-maxlength="10" title="包装" maxlength="10" placeholder="包装方式" style="width: 96px;" ng-model="goods.editPackaging"
-																								   ng-class="{'error' : goods.editPackagingInvalid}" ng-blur="editPackaging(goods, true)" ng-change="changePackaging(goods)"/>
+																<span class="tit">包装:</span><!--<input type="text" class="form-control" name="packaging" ng-maxlength="10" title="包装" maxlength="10" placeholder="包装方式" style="width: 96px;" ng-model="goods.editPackaging"
+                                                                                               ng-class="{'error' : goods.editPackagingInvalid}" ng-blur="editPackaging(goods, true)" ng-change="changePackaging(goods)"/>-->
+																<select ng-model="goods.editPackaging" ng-init="goods.editPackaging='请选择'"  class="select-adder select-package" title="包装">
+																	<option ng-repeat="item in packageArray" ng-click="showText(item)">{{item}}</option>
+																</select>
+																<!--<div class="dropdown">
+                                                                    <input class="btn btn-default dropdown-toggle button-select select-adder" id="dropdownMenu2" type="text" ng-model="goods.editPackaging" placeholder="包装方式" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" readonly="readonly">
+                                                                    <ul class="dropdown-menu .dropdown-menu-left button-option" aria-labelledby="dropdownMenu2">
+                                                                        <li ng-repeat="item in packageArray" ng-click="showText(item)">{{item}}</li>
+                                                                    </ul>
+                                                                </div>-->
 															</div>
-															<div class="input-list">
+															<div class="input-list produceDate-fix">
 																<span class="tit">生产日期:</span><input type="text" class="form-control" name="produceDate" ng-maxlength="11" title="生产日期" maxlength="11" placeholder="生产日期" style="width: 96px;" ng-model="goods.editProduceDate"
 																									 ng-class="{'error' : goods.editProduceDateInvalid}"
 																									 ng-change="editProduceDateFa(goods, false)"/>
 															</div>
-															<div class="clearfix">
+															<div class="clearfix produceDate-fix">
 																<span>可拆卖:</span>
 																<span class="switch"><button ng-class="{'active' : goods.editBreakUp}"
 																							 ng-click="toggleIsBreadUp(goods, false)"></button></span>
@@ -1767,8 +1947,8 @@
 														<div class="content margin10">
 															<!--<p class="title">库存</p>-->
 															<div class="input-list">
-																<span class="tit">上架数量:</span><input type="number" class="wid70 form-control" name="reserve" title="上架数量" placeholder="数量"
-																									 ng-model="goods.editReserve" maxlength="9" ng-blur="setPriceMaxAmount(goods, false)" ng-class="{'error' : goods.editReserveInvalid}" oninput="if(value.length>9)value=value.slice(0,9)"/>
+																<span class="tit">库存:</span><input type="number" class="wid70 form-control" name="reserve" title="库存" placeholder="数量"
+																								   ng-model="goods.editReserve" maxlength="9" ng-blur="setPriceMaxAmount(goods, false)" ng-class="{'error' : goods.editReserveInvalid}" oninput="if(value.length>9)value=value.slice(0,9)"/>
 															</div>
 															<div class="input-list">
 																<span class="tit">起订量:</span><input type="number" class="wid70 form-control" name="minBuyQty" title="起拍"  placeholder="数量"
@@ -1817,12 +1997,12 @@
 															<p class="title height29">交期(天):</p>
 															<div class="input-list">
 																<p>
-											<span><input type="number" class="wid36 form-control" name="minDelivery" title="最小交期" placeholder="天数" oninput="if(value.length>2)value=value.slice(0,2)"
+											<span><input type="number" class="wid36 form-control" name="minDelivery" title="最小交期" placeholder="天数" oninput="if(value.length>3)value=value.slice(0,3)"
 														 ng-model="goods.editMinDelivery"
 														 ng-blur="changeDelivery(goods.editMinDelivery, goods.editMaxDelivery, true, goods)"
 														 ng-class="{'error' : goods.editMinDeliveryinValid}"/></span>
 																	<span style="margin-left: 4px;">–</span>
-																	<span><input type="number" class="wid36 form-control" name="maxDelivery" title="最大交期" placeholder="天数" oninput="if(value.length>2)value=value.slice(0,2)" ng-model="goods.editMaxDelivery" ng-blur="changeDelivery(goods.editMinDelivery, goods.editMaxDelivery, false, goods)"
+																	<span><input type="number" class="wid36 form-control" name="maxDelivery" title="最大交期" placeholder="天数" oninput="if(value.length>3)value=value.slice(0,3)" ng-model="goods.editMaxDelivery" ng-blur="changeDelivery(goods.editMinDelivery, goods.editMaxDelivery, false, goods)"
 																				 ng-class="{'error' : goods.editMaxDeliveryinValid}"/></span>
 																</p>
 															</div>
@@ -1870,12 +2050,10 @@
 														<div class="content width140">
 															<p class="title"><span>包装:</span><span ng-bind="goods.packaging">盘装</span></p>
 															<p class="title"><span>生产日期:</span><span ng-bind="goods.produceDate">20160123</span></p>
-															<p class="title" ng-class="{'noBreak' : !goods.breakUp}">
-																<span ng-bind="goods.breakUp ? '可拆卖' : '不可拆卖'"></span>
-															</p>
+															<p class="title" ng-class="{'noBreak' : !goods.breakUp}" ng-if="goods.breakUp" ng-bind="goods.breakUp ? '可拆卖' : '不可拆卖'">不可拆卖</p>
 														</div>
 														<div class="content width130">
-															<p class="title"><span>已上架数量:</span><span ng-bind="goods.reserve">9023492</span></p>
+															<p class="title"><span>库存:</span><span ng-bind="goods.reserve">9023492</span></p>
 															<p class="title"><span>起订量:</span><span ng-bind="goods.minBuyQty">90492</span></p>
 															<p class="title"><span>包装数量:</span><span ng-bind="goods.minPackQty">980</span></p>
 														</div>
@@ -1902,9 +2080,7 @@
 															<div class="input-list">
 																<button class="off" ng-click="editGoods(material, goods)">编辑</button>
 																<button ng-if="goods.status != 601 && goods.status != 602" class="ok" ng-click="putOn(material, goods)">上架</button>
-																<button class="ok" ng-click="isRecommendGoods(goods)" name =
-																		"delete-goods">删除
-																</button>
+																<button class="ok" ng-click="isRecommendGoods(goods)" name ="delete-goods">删除</button>
 															</div>
 														</div>
 													</div>
@@ -1923,7 +2099,7 @@
 													<span>近一个月的销售平均价:<em ng-bind="material.averMonthSalePrice |  formateNumber : 6"></em></span>
 												</td>
 											</tr>
-											<tr class="edit-content edits" ng-if="goods.edit">
+											<tr class="edit-content edits" ng-show="goods.edit">
 												<td colspan="10" style="background:#f0f7fd;">
 													<div class="blue-bg">
 														<div></div>
@@ -1931,18 +2107,26 @@
 															<a><img ng-src="{{goods.editPic || 'static/img/store/common/default.png'}}" alt="img"/></a>
 															<div class="edit-img">
 																<a ng-if="goods.editPic" ng-click="deleteImg(goods)" class="delete-img" title="删除"><i class="fa fa-trash"></i></a>
-																<a
-																		ng-click="editGoodsPicture(goods.editPic || 'static/img/store/common/default.png', goods)" title="修改图片"><img ng-src="static/img/icon/update-img.png" /></a>
+																<a ng-click="editGoodsPicture(goods.editPic || 'static/img/store/common/default.png', goods)" title="修改图片"><img ng-src="static/img/icon/update-img.png" /></a>
 															</div>
 														</div>
 														<div class="content margin10">
 															<!--<p class="title">包装/生产日期</p>-->
 															<div class="input-list">
-																<span class="tit">包装:</span><input type="text" class="form-control" name="packaging" ng-maxlength="10" title="包装" maxlength="10" placeholder="包装方式" style="width: 96px;" ng-model="goods.editPackaging"
-																								   ng-class="{'error' : goods.editPackagingInvalid}"
-																								   ng-blur="editPackaging(goods, true)" ng-change="changePackaging(goods)"/>
+																<span class="tit">包装:</span><!--<input type="text" class="select" name="packaging" ng-maxlength="10" title="包装" maxlength="10" placeholder="包装方式" style="width: 96px;" ng-model="goods.editPackaging"
+																							   ng-class="{'error' : goods.editPackagingInvalid}"
+																							   ng-blur="editPackaging(goods, true)" ng-change="changePackaging(goods)"/>-->
+																<select ng-model="goods.editPackaging" ng-init="goods.editPackaging='请选择'" class="select-adder select-package" title="包装">
+																	<option ng-repeat="item in packageArray" ng-click="showClickText(goods, item)">{{item}}</option>
+																</select>
+																<!--<div class="dropdown">
+                                                                    <input class="btn btn-default dropdown-toggle button-select select-adder" type="text" id="dropdownMenu1" ng-model="goods.editPackaging" placeholder="包装方式" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" readonly="readonly">
+                                                                    <ul class="dropdown-menu .dropdown-menu-left button-option" aria-labelledby="dropdownMenu1">
+                                                                        <li ng-repeat="item in packageArray" ng-click="showClickText(goods, item)">{{item}}</li>
+                                                                    </ul>
+                                                                </div>-->
 															</div>
-															<div class="input-list">
+															<div class="input-list produceDate-fix">
 																<span class="tit">生产日期:</span><input type="text" class="form-control" name="produceDate" ng-maxlength="11" title="生产日期" maxlength="11" placeholder="生产日期" style="width: 96px;" ng-model="goods.editProduceDate"
 																									 ng-class="{'error' : goods.editProduceDateInvalid}"
 																									 ng-change="editProduceDateFa(goods, true)"/>
@@ -1951,7 +2135,7 @@
 																<!--<option value="0">不可拆卖</option>-->
 																<!--</select>-->
 															</div>
-															<div class="clearfix">
+															<div class="clearfix produceDate-fix ">
 																<span>可拆卖:</span>
 																<span class="switch"><button ng-class="{'active' : goods.editBreakUp}"
 																							 ng-click="toggleIsBreadUp(goods, true)"></button></span>
@@ -1960,9 +2144,9 @@
 														<div class="content margin10">
 															<!--<p class="title">库存</p>-->
 															<div class="input-list">
-																<span class="tit">上架数量:</span><input type="number" class="wid70 form-control" name="reserve" title="上架数量" placeholder="数量" ng-model="goods.editReserve" ng-blur="setPriceMaxAmount(goods, true)"
-																									 maxlength="9" oninput="if(value.length>9)value=value.slice(0,9)"
-																									 ng-class="{'error' : goods.editReserveInvalid}"/>
+																<span class="tit">库存:</span><input type="number" class="wid70 form-control" name="reserve" title="库存" placeholder="数量" ng-model="goods.editReserve" ng-blur="setPriceMaxAmount(goods, true)"
+																								   maxlength="9" oninput="if(value.length>9)value=value.slice(0,9)"
+																								   ng-class="{'error' : goods.editReserveInvalid}"/>
 															</div>
 															<div class="input-list">
 																<span class="tit">起订量:</span><input type="number" class="wid70 form-control" name="minBuyQty"
@@ -2015,10 +2199,10 @@
 															<p class="title height29">交期(天):</p>
 															<div class="input-list">
 																<p>
-																<span><input type="number" class="wid36 form-control" name="minDelivery" title="最小交期" placeholder="天数" oninput="if(value.length>2)value=value.slice(0,2)" ng-model="goods.editMinDelivery"
+																<span><input type="number" class="wid36 form-control" name="minDelivery" title="最小交期" placeholder="天数" oninput="if(value.length>3)value=value.slice(0,3)" ng-model="goods.editMinDelivery"
 																			 ng-blur="changeDelivery(goods.editMinDelivery, goods.editMaxDelivery, true, goods)" ng-class="{'error' : goods.editMinDeliveryinValid}"/></span>
 																	<span style="margin-left: 4px;">–</span>
-																	<span><input type="number" class="wid36 form-control" name="maxDelivery" title="最大交期" placeholder="天数" oninput="if(value.length>2)value=value.slice(0,2)" ng-model="goods.editMaxDelivery"
+																	<span><input type="number" class="wid36 form-control" name="maxDelivery" title="最大交期" placeholder="天数" oninput="if(value.length>3)value=value.slice(0,3)" ng-model="goods.editMaxDelivery"
 																				 ng-blur="changeDelivery(goods.editMinDelivery, goods.editMaxDelivery, false, goods)" ng-class="{'error' : goods.editMaxDeliveryinValid}"/></span>
 																</p>
 															</div>
@@ -2026,7 +2210,7 @@
 														<div class="content margin10">
 															<!--<p class="title">自营 / 寄售</p>-->
 															<div class="input-list">
-																<select name="editSelfSale" ng-change="changeSaleMode(goods)" class="wid56 select-adder form-control" ng-model="goods.editSelfSale" ng-disabled="$$nonProduct.canSelfSale">
+																<select name="editSelfSale" ng-change="changeSaleMode(goods)" class="wid56 select-adder form-control" ng-model="goods.editSelfSale" ng-disabled="!$$nonProduct.canSelfSale">
 																	<option value="1">自营</option>
 																	<option value="2">寄售</option>
 																</select>
@@ -2050,7 +2234,7 @@
 											<!--空状态-->
 											<tbody ng-if="currenctMaterial.length == 0">
 											<tr style="height: 190px;">
-												<td colspan="7" style="border-bottom: none;">
+												<td colspan="8" style="border-bottom: none;">
 													<div class="col-xs-2"  style="margin-left: 34%; margin-top: 65px;">
 														<img src="static/img/all/empty-cart.png">
 													</div>
@@ -2066,6 +2250,9 @@
 							</td>
 						</tr>
 						</tbody>
+						<tbody>
+						<!--<tr class="no-hover batch-tr" ng-if="chooseAll && !chooseAllPage" ng-class="{'active': $data.length > 10}">-->
+						</tbody>
 					</table>
 					<div class="empty" ng-if="currenctMaterial.length == 0">
 						<p class="empty-img">
@@ -2073,7 +2260,7 @@
 						</p>
 						<div class="empty-info">
 							<p class="grey"> 暂无产品信息,赶快上传让更多人看到你的产品吧 </p>
-							<a href="/vendor#/vendor_upload"><i></i>马上去上传</a>
+							<a href="vendor#/vendor_upload?type=company"><i></i>马上去上传</a>
 						</div>
 					</div>
 					<div class="record-line text-right" ng-if="currenctMaterial.length != 0">
@@ -2161,7 +2348,7 @@
 							<th width="120">产品名称(类目)</th>
 							<th width="120">品牌</th>
 							<th width="100">型号</th>
-							<th width="100">封装</th>
+							<!--<th width="100">封装</th>-->
 							<th width="80"></th>
 						</tr>
 						</thead>
@@ -2183,30 +2370,31 @@
 								</select>
 							</td>
 							<td title="{{product.pcmpcode}}" ng-bind="product.pcmpcode || '-'">Lhhjhj-3</td>
-							<td title="{{product.encapsulation}}" ng-bind="product.encapsulation  || '-'">BGA</td>
+							<!--<td title="{{product.encapsulation}}" ng-bind="product.encapsulation  || '-'">BGA</td>-->
 							<td class="confirm"><span ng-if="product.matchresults.length != 0 && product.canMatch" ng-click="updateNStandardOne(product)">确认</span></td>
 						</tr>
 						</tbody>
 						<tr style="height: 40px;" class="no-hover">
-							<td colspan="7" style="border-bottom: none; padding: 0;">
-								<div class="record-line text-right">
-								<span class="set-count">
-									每页显示:
-									<!--<input type="text" value="10" class="form-control">-->
-									<!--<ul>-->
-									<!--<li>15</li>-->
-									<!--</ul>-->
-									<select ng-model="$$nonProduct.count" ng-change="fitCountToTable($$nonProduct.count)">
-										<option value="10">10</option>
-										<option value="15">15</option>
-										<option value="20">20</option>
-									</select>
-								</span>
+							<td colspan="8" style="border-bottom: none; padding: 0;">
+								<div class="record-line text-right" ng-if="chooseAllPage">
+									<span class="set-count">
+										每页显示:
+										<select ng-model="$$nonProduct.count" ng-change="fitCountToTable($$nonProduct.count)">
+											<option value="10">10</option>
+											<option value="15">15</option>
+											<option value="20">20</option>
+										</select>
+									</span>
 									显示<span>{{(param.currentPage - 1) * param.count + 1}}</span>-
 									<span ng-if="param.currentPage != materialAll.totalPages">{{param.currentPage * param.count}}</span>
 									<span ng-if="param.currentPage == materialAll.totalPages">{{materialAll.totalElements}}</span>
 									,共:<span style="color: #5078cb;">{{materialAll.totalElements}}</span>个
 								</div>
+								<div class="record-line text-right" ng-if="!chooseAllPage">
+									显示<span>1</span>-
+									<span ng-bind="currenctMaterial.length"></span>
+									,共:<span style="color: #5078cb;">{{currenctMaterial.length}}</span>个
+								</div>
 							</td>
 						</tr>
 						</tbody>
@@ -2254,7 +2442,7 @@
 						<div class="clearfix">
 							<div class="detail">
 								<div class="detail-title">包装:<span ng-bind="goods.packaging">盘装</span></div>
-								<div class="detail-title">已上架数量:<span ng-bind="goods.reserve">9023492</span></div>
+								<div class="detail-title">库存:<span ng-bind="goods.reserve">9023492</span></div>
 								<div class="detail-title">起订量:<span ng-bind="goods.minBuyQty">90492</span></div>
 							</div>
 							<div class="detail distance">
@@ -2267,7 +2455,7 @@
 							</div>
 							<div class="detail">
 								<div class="detail-title">销售方式:<span ng-bind="goods.selfSale">寄售</span></div>
-								<div class="detail-title" ng-bind="goods.breakUp ? '可拆卖':'不可拆卖'">不可拆卖</div>
+								<div class="detail-title" ng-bind="goods.breakUp ? '可拆卖':'不可拆卖'"></div>
 							</div>
 							<div class="detail width100">
 								<div class="title-price"><span>梯度/pcs</span><span>单价(<i ng-bind="goods.currencyName == 'RMB' ? '¥':'$'"></i>)</span></div>
@@ -2322,4 +2510,24 @@
 		position: relative;
 		top: 7px;
 	}
-</style>
+</style>
+
+<!--
+<script>
+	$(function(){
+		$(document).on('click', function () {
+			if ($(document).scrollTop() + $(window).height() < $('.record-line').offset().top + $('.record-line').height()) {
+				$('.standard-tab.table>tbody>tr.batch-tr').addClass('active')
+			} else {
+				$('.standard-tab.table>tbody>tr.batch-tr').removeClass('active')
+			}
+		})
+		$(window).bind("scroll",function() {
+			if ($(document).scrollTop() + $(window).height() < $('.record-line').offset().top + $('.record-line').height()) {
+				$('.standard-tab.table>tbody>tr.batch-tr').addClass('active')
+			} else {
+				$('.standard-tab.table>tbody>tr.batch-tr').removeClass('active')
+			}
+		});
+	})
+</script>-->

+ 442 - 202
src/main/webapp/resources/view/vendor/forstore/erp/vendor_material_unstandard_erp.html → src/main/webapp/resources/view/vendor/forstore/erp/vendor_material_person_erp.html

@@ -109,6 +109,10 @@
 	.public-tab.table>tbody>tr>td{
 		border-top: none;
 		border-bottom: #e8e8e8 1px solid;
+		overflow: hidden;
+		text-overflow: ellipsis;
+		white-space: nowrap;
+		padding: 0 10px;
 	}
 	.public-tab.table>tbody>tr>td a{
 		margin: 0;
@@ -125,14 +129,14 @@
 	.public-tab.table>tbody>tr>td span{
 		margin: 0;
 	}
-	.public-tab.table>tbody>tr>td span.brand-type{
+	/*.public-tab.table>tbody>tr>td span.brand-type{
 		display: inline-block;
 		margin: 0;
-		width: 80%;
+		width: 180px;
 		overflow: hidden;
 		text-overflow: ellipsis;
 		white-space: nowrap;
-	}
+	}*/
 	.public-tab.table>tbody>tr>td span:hover span {
 		color: #fff;
 		background: #5078cb;
@@ -171,8 +175,7 @@
 	}
 	.search-check{
 		width: 100%;
-		min-height: 54px;
-		height: auto;
+		height: 54px;
 		background: #fff;
 		padding-top: 10px;
 		margin-bottom: 16px;
@@ -180,7 +183,6 @@
 	.search-check .search{
 		width: 550px;
 		margin-left: 150px;
-		margin-bottom: 10px;
 	}
 	.search-check .search .form-control{
 		width: 340px;
@@ -239,92 +241,9 @@
 	.search-check .check .check-active label{
 		margin-right: 0 !important;
 	}
-	.search-check .batch-operate {
-		clear: both;
-		background: #99FFFF;
-	}
-	.search-check .batch-operate .operate-head {
-		height: 40px;
-		line-height: 40px;
-		margin: 0 10px;
-		border-bottom: 1px solid;
-		padding: 0 20px;
-	}
-	.search-check .batch-operate .operate-head .check-active {
-		font-weight: normal;
-		height: 40px;
-	}
-	.search-check .batch-operate .operate-head .red-text {
-		color: #ee4312;
-	}
-	.search-check .batch-operate .operate-content {
-		height: 70px;
-		line-height: 30px;
-	}
-	.search-check .batch-operate .operate-content > div {
-		display: inline-block;
-	}
-	.search-check .batch-operate .operate-content > div:first-child {
-		margin-right: 111px;
-		margin-left: 28px;
-	}
-	.search-check .batch-operate .operate-content > div p {
-		font-weight: bold;
-	}
-	.search-check .batch-operate .operate-content > div p .batch-price-title {
-		margin-right: 91px;
-	}
-	.search-check .batch-operate .operate-content > div p .batch-progress {
-		width: 108px;
-		height: 5px;
-		background: #fff;
-		display: inline-block;
+	.check-input {
 		position: relative;
 	}
-	.search-check .batch-operate .operate-content > div p .batch-progress i {
-		width: 5px;
-		height: 10px;
-		background: #169BD5;
-		display: inline-block;
-		position: absolute;
-		top: -3px;
-	}
-	.search-check .batch-operate .operate-content > div p em {
-		margin: 0 5px;
-	}
-	.search-check .batch-operate .operate-content > div > div input {
-		padding: 0 5px;
-		height: 25px;
-	}
-	.search-check .batch-operate .operate-content .batch-sale input {
-		width: 60px;
-		margin-right: 10px;
-		padding-right: 12px;
-	}
-	.search-check .batch-operate .operate-content .batch-sale div .com-btn-submit {
-		margin-right: 10px;
-	}
-	.search-check .batch-operate .operate-content .batch-sale > div {
-		position: relative;
-	}
-	.search-check .batch-operate .operate-content .batch-sale div i {
-		position: absolute;
-		left: 234px;
-		top: 2px;
-	}
-	.search-check .batch-operate .operate-content .batch-date input {
-		width: 56px;
-	}
-	/*.search-check .batch-operate .operate-content .batch-sale > div > input::-webkit-outer-spin-button,
-	.search-check .batch-operate .operate-content .batch-sale > div > input::-webkit-inner-spin-button {
-		-webkit-appearance: revert !important;
-		margin: unset !important;
-		opacity: 1 !important;
-		height: auto !important;
-	}*/
-	/*.search-check .batch-operate .operate-content .batch-sale input {
-		-webkit-appearance: textfield !important;
-	}*/
 	.check-input input{
 		display: none;
 	}
@@ -344,6 +263,11 @@
 	.check-input input[type="checkbox"]:checked + label{
 		background-position: -15px 0;
 	}
+	.check-input .standard {
+		position: absolute;
+		top: 0;
+		left: 0;
+	}
 	.record-line{
 		min-height: 30px;
 		font-size: 12px;
@@ -357,6 +281,9 @@
 	.wanted_list01 .pagination{
 		margin: 0;
 	}
+	.wanted_list01 .tab table th {
+		color: #333 !important;
+	}
 	.ng-table-pager{
 		padding-bottom: 20px;
 	}
@@ -580,7 +507,7 @@
 		background: url("static/img/icon/check-ok.png") no-repeat center;
 	}
 	/*分页鼠标悬停效果*/
-	.device .wanted_list01 a:hover {
+	.device .wanted_list01 .pagination a:hover {
 		border-bottom: 1px solid #ddd!important;
 	}
 	.device .wanted_list01 a.page-a:hover{
@@ -614,7 +541,7 @@
 		color: #a10606!important;
 	}
 	.public-tab.table>tbody>tr>td.edit{
-		text-align: left;
+		text-align: center;
 		padding: 8px 0;
 		overflow: visible;
 	}
@@ -765,13 +692,16 @@
 		font-size: 14px;
 		color: #f15601;
 	}
-	.result a{
+	.result a.fr{
 		padding-right: 10px;
-		float: right;
 		font-size: 20px;
 		font-weight: bold;
 		color: #ef1d1d;
 	}
+	.result .operate-introduce {
+		font-size: 14px;
+		color: #5078cb;
+	}
 	.tab-head{
 		width: 100%;
 		height: 40px;
@@ -1055,7 +985,7 @@
 	}
 	.edit-contents .content .title span:first-child {
 		float: left;
-		width: 80px;
+		width: 70px;
 		text-align: right;
 	}
 	.edit-contents .content .title span:last-child {
@@ -1340,13 +1270,6 @@
 	#define-content .labelling em{
 		color: #f00;
 	}
-	#define-content td > span {
-		float: left;
-		margin-left: 20px;
-		font-size: 13px;
-		color: #008000;
-		line-height: 24px;
-	}
 	#define-content .labelling input{
 		padding-left: 10px;
 		width: 157px;
@@ -1568,10 +1491,10 @@
 	#wanted-list02{
 		display: none;
 	}
-	.modal-backdrop {
-		background-color: transparent ;
-		bottom: unset!important;
-	}
+	/* .modal-backdrop {
+         background-color: transparent ;
+         bottom: unset!important;
+     }*/
 	.modal{
 		bottom: unset!important;
 	}
@@ -1582,83 +1505,335 @@
 		position: absolute;
 		top: 45px;
 	}
-	.pro_management .table tr th .erp-reserve {
+	.replace-row:hover {
+		background: #fff !important;
+	}
+	.replace-row td {
+		padding: 0 21px !important;
+	}
+	.replace-row td > div {
+		/*height: 67px;*/
+	}
+	.replace-row td > div > p {
+		display: inline-block;
+		float: left;
+		font-size: 14px;
+		height: 32px;
+		line-height: 32px;
+		padding-left: 10px;
+	}
+	.replace-row td > div > div {
+		display: inline-block;
+		float: left;
+		line-height: 32px;
+		width: 884px;
+	}
+	.replace-row td > div > div .replace-item {
+		display: inline-block;
+		width: 50%;
+		text-align: left;
+		background: #f6fbfe;
+		float: left;
+		height: 32px;
+	}
+	.replace-row td > div > div .replace-item:nth-child(2n-1) {
+		border-right: 1px solid #dde9fc;
+	}
+	.replace-row td > div > div .replace-item:nth-child(4n-1),
+	.replace-row td > div > div .replace-item:nth-child(4n) {
+		background: #eff4fd;
+	}
+	.replace-row td > div > div .replace-item i {
+		width: 18px;
+		height: 18px;
+		display: inline-block;
+		border-radius: 100%;
+		background: #9fd4ff;
+		color: #fff;
+		text-align: center;
+		line-height: 18px;
+		margin-left: 10px;
+		font-size: 12px;
+	}
+	.replace-row td > div > div .replace-item span {
+		display: inline-block;
+		width: 200px;
+		overflow: hidden;
+		text-overflow: ellipsis;
+		white-space: nowrap;
+		vertical-align: middle;
+	}
+	.edit-replace-box {
+		position: fixed;
+		width: 510px;
+		top: 10%;
+		left: 33%;
+		/*-webkit-box-shadow: 0 5px 15px rgba(0,0,0,.5);*/
+		/*-moz-box-shadow: 0 5px 15px rgba(0,0,0,.5);*/
+		/*box-shadow: 0 5px 15px rgba(0,0,0,.5);*/
+		z-index: 1;
+		font-size: 14px;
+	}
+	.edit-replace-box .title {
+		position: relative;
+		height: 44px;
+		background: #5078cb;
+		line-height: 44px;
+		color: #fff;
+		border-top-right-radius: 5px;
+		border-top-left-radius: 5px;
+	}
+	.edit-replace-box .title > div {
+		display: inline-block;
+		padding-left: 57px;
+		width: 47%;
+		overflow: hidden;
+		text-overflow: ellipsis;
+		white-space: nowrap;
+	}
+	.edit-replace-box .title i {
+		position: absolute;
+		right: 10px;
+		top: 8px;
 		cursor: pointer;
 	}
-	.pro_management .table tr th .erp-reserve .sort-area,
-	.pro_management .table tr th .erp-reserve .sort-area:hover{
-		color: inherit !important;
+	.edit-replace-box .content {
+		padding: 9px 0;
+		background: #fff;
 	}
-	.pro_management .table tr th .erp-reserve .sort-area .active{
+	.edit-replace-box .content .content-line {
+		margin: 0 0 14px 0;
+		position: relative;
+	}
+	.edit-replace-box .content .content-line p {
+		margin-left: 16px;
+		font-size: 14px;
+	}
+	.edit-replace-box .content .content-line .form-item {
+		display: inline-block;
+		width: 49%;
+	}
+	.edit-replace-box .content .content-line .form-item span em {
+		color: #e30e16
+	}
+	/*.edit-replace-box .content .content-line .form-item > span i {*/
+	/*color: #fd2637;*/
+	/*margin-right: 4px;*/
+	/*}*/
+	.edit-replace-box .content .content-line .form-item input {
+		border: 1px solid #bfbfbf;
+		border-radius: 2px;
+		height: 28px;
+		padding: 0 8px;
+		display: inline-block;
+		width: 140px;
+		padding: 0 8px;
+	}
+	.edit-replace-box .content .content-line .form-item.form-left span {
+		display: inline-block;
+		width: 85px;
+		text-align: right;
+	}
+	.edit-replace-box .content .content-line .form-item.form-left span i {
+		width: 18px;
+		height: 18px;
+		display: inline-block;
+		border-radius: 100%;
+		background: #9fd4ff;
+		color: #fff;
+		text-align: center;
+		line-height: 18px;
+		margin-left: 10px;
+		font-size: 12px;
+		margin-right: 4px;
+	}
+	/*.edit-replace-box .content .content-line .form-item.form-left input {
+		width: 140px;
+		padding: 0 8px;
+	}*/
+	.edit-replace-box .content .content-line .form-item.form-right {
+		padding-left: 13px;
+		position: relative;
+	}
+	/*.edit-replace-box .content .content-line .form-item.form-right input {*/
+	/*width: 101px;*/
+	/*padding: 0 8px;*/
+	/*}*/
+	.edit-replace-box .content .content-line .form-item.form-right i {
+		cursor: pointer;
+	}
+	.edit-replace-box .operate {
+		background: #fff;
+		height: 62px;
+		text-align: center;
+		padding-top: 15px;
+		border-top: 1px solid #e4e5e6;
+		border-bottom-left-radius: 5px;
+		border-bottom-right-radius: 5px;
+	}
+	.edit-replace-box .operate span {
+		display: inline-block;
+		width: 64px;
+		height: 28px;
+		line-height: 28px;
+		text-align: center;
+		background: #5078cb;
+		color: #fff;
+		cursor: pointer;
+	}
+	.edit-replace-box .operate span:last-child {
+		margin-left: 15px;
+		background: #acabab;
+	}
+
+	.edit-replace-box .content .content-line .form-item ul.similar-list {
+		position: absolute;
+		top: 27px;
+		left: 89px;
+		background: #fff;
+		border: 1px solid #b5b5b5;
+		z-index: 1;
+		max-height: 120px;
+		overflow-y: auto;
+		overflow-x: hidden;
+		border-radius: 3px;
+		width: 141px;
+		font-size: 14px;
+	}
+	.edit-replace-box .content .content-line .form-item.form-right ul.similar-list {
+		width: 140px;
+		left: 65px;
+	}
+	.edit-replace-box .content .content-line .form-item ul.similar-list li {
+		height: 30px;
+		line-height: 30px;
+		cursor: pointer;
+		overflow: hidden;
+		text-overflow: ellipsis;
+		white-space: nowrap;
+		padding: 0 5px;
+	}
+	.edit-replace-box .content .content-line .form-item ul.similar-list li:hover {
+		background: #5078cb;
+		color: #fff;
+	}
+	.edit-replace-box .content .content-line .form-item input.error {
+		border-color: #e30e16;
+	}
+	.open-more{
+		text-align: center;
+		background: #f6f9ff;
+		clear: both;
+		height: 27px;
+		line-height: normal !important;
+		margin-right: 7px;
+		margin-left: 94px;
+	}
+	.open-more a{
+		font-size: 12px;
+		width: 200px;
+		height: 15px;
+		display: inline-block;
+		border: #5e9fcb 1px dashed;
+		border-top: 0;
+		font-weight: inherit;
+		background: #f6f9ff;
+		border-bottom-left-radius: 50px;
+		border-bottom-right-radius: 50px;
+		line-height: 15px;
+		text-decoration: none;
+		position: relative;
+		top: -3px;
+		z-index: 1;
+	}
+	.open-more a i{
+		margin-right: 5px;
+		font-size: 20px;
+		vertical-align: middle;
+		position: relative;
+		top: -5px;
+		color: #4290f7;
+	}
+	.open-more div {
+		position: relative;
+		height: 27px;
+		border-top: 1px dashed #5e9fcb;
+		top: 9px;
+	}
+	.open-more div.active {
+		top: 19px;
+	}
+	.open-more div.active a{
+		border-top-left-radius: 50px;
+		border-top-right-radius: 50px;
+		position: relative;
+		top: -12px;
+		border-bottom: none;
+		border-top: #5e9fcb 1px dashed;
+		border-bottom-left-radius: 0;
+		border-bottom-right-radius: 0;
+		background: #f1f6ff;
+	}
+	.open-more div.active em{
+		top: 3px;
+	}
+	.open-more div.active i{
+		top: 0;
+	}
+	.open-more a em{
+		position: relative;
+		top: -4px;
 		color: #5078cb;
 	}
+	.device .wanted_list01 .open-more a:hover {
+		border-bottom: 1px dashed !important;
+	}
 </style>
 <div class="user_right fr">
 	<!--货品管理-->
 	<div class="pro_management device">
 		<div class="com_tab">
 			<ul class="fl" style="width: 100%">
-				<li class="active"><a ui-sref="vendor_material_unstandard_erp({standardParam:'unstandard'})">非标产品</a></li>
-				<li><a ui-sref="vendor_material_erp({standardParam:'standard'})">标准产品</a></li>
+				<li><a ui-sref="vendor_material_erp">企业产品库</a></li>
+				<li class="active"><a ui-sref="vendor_material_person_erp">个人产品库</a></li>
 				<li><a ui-sref="vendor_onSale_erp">在售产品</a></li>
 				<li><a ui-sref="vendor_undercarriage_erp">上下架历史</a></li>
 			</ul>
 		</div>
+		<!--<div class="com_tab">
+			&lt;!&ndash;<ul class="fl distance" style="width: 100%">
+				<li ng-class="{active : standard_tab == 'unstandard'}"  ng-click="toggleStandard('unstandard')" title="非标产品({{nCount}})"><a href="" class="standard">非标产品(<em class="count">{{nCount}}</em>)</a></li>
+				<li ng-class="{active : standard_tab =='standard'}" ng-click="toggleStandard('standard')" title="标准产品({{sCount}})"><a href="" class="standard">标准产品(<em class="count">{{sCount}}</em>)</a></li>
+			</ul>&ndash;&gt;
+			&lt;!&ndash;匹配结果导航&ndash;&gt;
+			<div class="match-menu" ng-if="resultFrame">
+                <span>
+                    <a ng-click="toggleTab('matchResult')">匹配结果</a>
+                    <i class="fa fa-remove" ng-click="closeResultFrame('unstandard')"></i>
+                </span>
+			</div>
+		</div>-->
 		<!--非标和标准产品列表页-->
 		<div ng-if="standard_tab == 'unstandard' || standard_tab =='standard'">
 			<div class="search-check">
 				<div class="search fl">
 					<input type="text" class="form-control" ng-model="param.keyword" ng-search="onSearch()" placeholder="类目/型号/品牌"/>
 					<button ng-click="onSearch()">搜索</button>
-					<a ng-click="download()">批量导出</a>
+					<!--<a ng-click="download()">批量导出</a>-->
 				</div>
 				<div class="check fr">
-					<a ng-click="matchAllForERP()" ng-show="!isBatch"><span>一键匹配</span></a>
-					<a ng-click="enterBatch()" ng-show="!isBatch"><span>批量操作</span></a>
-					<!--<span class="check-btn" ng-show="isBatch">-->
-						<!--<label class="check-active">-->
-							<!--<input type="checkbox"  ng-click="chooseAll()" ng-checked="isChoosedAll" id="AllChoose"/>-->
-							<!--<label for="AllChoose"></label>-->
-							<!--<span>全选</span>-->
-						<!--</label>-->
-						<!--<a-->
-								<!--ng-click="deleteBatch()" name="delete-material">删除</a>-->
-						<!--<a ng-click="exitBatch()">取消</a>-->
-					<!--</span>-->
-				</div>
-				<div class="batch-operate" ng-show="isBatch">
-					<div class="operate-head">
-						<label class="check-active fl">
-							<input type="checkbox"  ng-click="chooseAll()" ng-checked="isChoosedAll" id="AllChoose"/>
+					<!--<a ng-show="!isBatch && standard_tab == 'unstandard'" ng-click="matchAll()"><span ng-show="!isBatch && standard_tab == 'unstandard'">一键匹配</span></a>-->
+					<!--<a ng-show="!isBatch" ng-click="enterBatch()"><span ng-show="!isBatch">批量操作</span></a>-->
+					<a ng-click="deleteBatch()"><span>批量删除</span></a>
+					<!--<span class="check-btn" ng-show="isBatch">
+						<label class="check-active">
+							<input type="checkbox"  ng-click="chooseAll()" ng-checked="isChoosedAll" ng-disabled="currenctMaterial.length == 0" id="AllChoose"/>
 							<label for="AllChoose"></label>
 							<span>全选</span>
 						</label>
-						<div class="fr">
-							<span class="red-text">批量上架仅作用于未上架的产品,已上架的不再重复上架!</span>
-							<span class="com-btn-level1 com-btn-submit" ng-click="batchPutOn()">批量上架</span>
-							<span class="com-btn-level1 com-btn-submit" ng-mouseenter="enterBatchPutOnPropertySaveButton()" ng-mouseleave="leaveBatchPutOnPropertySaveButton()" ng-click="saveBatchPutOnProperty()">保存</span>
-							<span class="com-btn-level1 com-btn-red" ng-click="deleteBatch()">删除</span>
-							<span class="com-btn-level1 com-btn-cancel" ng-click="exitBatch()">取消</span>
-						</div>
-					</div>
-					<div class="operate-content">
-						<div class="batch-sale">
-							<p><span class="batch-price-title">批量设置销售价:</span><em>1</em><span class="batch-progress"><i style="left: {{uasBatchPutOnProperty.editFluctuateRate ? uasBatchPutOnProperty.editFluctuateRate > 200 ? '100%' : uasBatchPutOnProperty.editFluctuateRate / 2 + '%' : 0}}"></i></span><em>200</em></p>
-							<div>
-								<span>销售价 = 近一个月的平均销售价 X </span>
-								<input type="number" ng-model="uasBatchPutOnProperty.editFluctuateRate" ng-change="onSalePriceChange()">
-								<i>%</i>
-								<span class="com-btn-level2 com-btn-submit" ng-click="setSalePrice(100)">100%</span>
-								<span class="com-btn-level2 com-btn-submit" ng-click="setSalePrice(120)">120%</span>
-								<span class="com-btn-level2 com-btn-submit" ng-click="setSalePrice(130)">130%</span>
-								<span class="com-btn-level2 com-btn-submit" ng-click="setSalePrice(150)">150%</span>
-							</div>
-						</div>
-						<div class="batch-date">
-							<p>批量设置交期:</p>
-							<div><span>交期(天)= </span><input type="number" ng-model="uasBatchPutOnProperty.editMinDelivery" ng-blur="uasBatchChangeDeliver(uasBatchPutOnProperty.editMinDelivery, uasBatchPutOnProperty.editMaxDelivery, false)"> - <input type="number" ng-model="uasBatchPutOnProperty.editMaxDelivery" ng-blur="uasBatchChangeDeliver(uasBatchPutOnProperty.editMinDelivery, uasBatchPutOnProperty.editMaxDelivery, true)"></div>
-						</div>
-					</div>
+						<a ng-click="deleteBatch()" name="delete-material">删除</a>
+						<a ng-click="exitBatch()">取消</a>
+					</span>-->
 				</div>
 			</div>
 			<div class="wanted_list01">
@@ -1667,67 +1842,75 @@
 					<table class="public-tab table">
 						<thead>
 						<tr>
-							<th width="80">序号</th>
-							<th width="100">
-								<div class="erp-reserve"  ng-click="sortByERPReserve()">
-									ERP空闲库存
-									<a class="sort-area" href="javascript:void(0)">
-										<i class=" fa fa-long-arrow-up" ng-class="{'active': sortByERP == 'ASC'}"></i>
-										<i class=" fa fa-long-arrow-down" ng-class="{'active': sortByERP == 'DESC'}"></i>
-									</a>
-								</div>
+							<th width="80">
+								<label class="check-active">
+									<input type="checkbox"  ng-click="chooseAll()" ng-checked="isChoosedAll" ng-disabled="currenctMaterial.length == 0" id="AllChoose"/>
+									<label for="AllChoose"></label>
+									<span>全选</span>
+								</label>
 							</th>
+							<th width="80">序号</th>
 							<th width="180">产品名称(类目)</th>
 							<th width="200">产品型号</th>
 							<th width="150">品牌</th>
-							<th width="100">单位</th>
+							<!--<th width="100">单位</th>-->
+							<th width="80">规格</th>
 							<th width="180">操作</th>
 						</tr>
 						</thead>
 						<tbody class="bg-show">
+						<div class="result" ng-if="resultTip"><span class="fl"><em>*</em>创建您的个人产品库,可为您精准推送客户需求</span>
+							<a href="help/helpDetail/56" target="_blank" class="operate-introduce">操作说明</a>
+							<a ng-click="closeTip()" class="fr">&times;</a>
+						</div>
 						<!--<tr style="height: 14px;" ng-show="!isBatch && standard_tab == 'standard'">-->
 						<tr style="height: 14px;">
 							<td colspan="7" class="hei18"></td>
 						</tr>
 						</tbody>
-						<tbody>
-						<tr style="height: 14px;" ng-show="currenctMaterial.length > 0 && standard_tab == 'unstandard' && showTip">
-							<td colspan="7" class="hei17">
-								<span>*匹配成为标准产品方可通过器件选型、参数搜索展示</span><a ng-click="cancelTip()">&times;</a>
-							</td>
-						</tr>
-						</tbody>
-						<tbody ng-repeat="material in currenctMaterial">
+						<!--<tbody>
+                        <tr style="height: 14px;" ng-show="currenctMaterial.length > 0 && standard_tab == 'unstandard' && showTip">
+                            <td colspan="7" class="hei17">
+                                <span>*匹配成为标准产品方可通过器件选型、参数搜索展示</span><a ng-click="cancelTip()">&times;</a>
+                            </td>
+                        </tr>
+                        </tbody>-->
+						<tbody ng-repeat="material in currenctMaterial track by $index">
 						<!--<tr ng-class="{ 'active': material.selected }" class="gre-bg">-->
 						<tr ng-class="{ 'active': material.selected, 'gre-bg' : material.exPandOper}">
 							<td class="check-input">
-								<span ng-show="isBatch"><input type="checkbox" ng-checked="material.isChoosed"  ng-click="chooseOne(material)"  id="{{$index+1}}"/><label for="{{$index+1}}"></label><br/></span>
-								<span
-										ng-show="!isBatch" ng-bind="(param.page - 1) * 10 + $index + 1"></span>
+								<img ng-if="material.standard == 0" src="static/img/store/common/nonstandard.png" alt="" class="standard"/>
+								<img ng-if="material.standard != 0" src="static/img/store/common/standard.png" alt="" class="standard"/>
+								<span><input type="checkbox" ng-checked="material.isChoosed"  ng-click="chooseOne(material)"  id="{{$index+1}}"/><label for="{{$index+1}}"></label><br/></span>
+							</td>
+							<td class="check-input">
+								<span ng-bind="(param.page - 1) * 10 + $index + 1"></span>
 							</td>
-							<td><span ng-bind="material.erpReserve ? material.erpReserve : 0" title="{{material.erpReserve}}"></span></td>
 							<td>
 								<span ng-if="material.kind" ng-bind="material.kind" title="{{material.kind}}"></span>
 								<span ng-if="!material.kind" ng-bind="material.kinden || '-'" title="{{material.kinden || '-'}}"></span>
 							</td>
 							<td>
-								<a class="brand-type" ng-if="material.cmpUuId" ng-href="product/component/{{material.cmpUuId}}/" ng-bind="material.pcmpcode" title="{{material.pcmpcode}}" target="_blank"></a>
+							<span ng-if="material.cmpUuId">
+								<a class="brand-type" ng-bind="material.pcmpcode" ng-href="product/component/{{material.cmpUuId}}/" title="{{material.pcmpcode}}" target="_blank"></a>
+							</span>
 								<span class="brand-type" ng-if="!material.cmpUuId" ng-bind="material.pcmpcode" title="{{material.pcmpcode}}"></span>
 							</td>
 							<td>
 								<div class="ellipsis-div" ng-if="material.pbranden" ng-bind="material.pbranden" title="{{material.pbranden}}"></div>
 								<div class="ellipsis-div" ng-if="!material.pbranden" ng-bind="material.pbrand" title="{{material.pbrand}}"></div>
 							</td>
-							<td ng-bind="material.unit || 'PCS'" title="{{material.unit  || 'PCS'}}"></td>
+							<!--<td ng-bind="material.unit || 'PCS'" title="{{material.unit  || 'PCS'}}"></td>-->
+							<td>
+								<span ng-bind="material.spec || '-'" title="{{material.spec || '-'}}"></span>
+							</td>
 							<td class="edit">
 								<span name="delete-material" ng-show="!isBatch && !material.exPandOper && !material.addGoodsOper" ng-click="deleteMaterial(material)"><span>删除</span></span>
-								<span ng-show="!isBatch && !material.exPandOper && !material.addGoodsOper" ng-click="showShelfArea(material)">
-									<span ng-if="material.batchCount">添加产品</span>
-									<span ng-if="!material.batchCount">编辑上架</span>
-								</span>
-								<span ng-if="material.batchCount" ng-show="!isBatch && !material.exPandOper && !material.addGoodsOper" ng-click="expandGoods(material)"><span>展开<i class="fa fa-angle-down" style="margin-left:2px;"></i></span></span>
+								<!--<span ng-show="!isBatch && !material.exPandOper && !material.addGoodsOper" ng-click="showShelfArea(material)"><span>添加产品</span></span>-->
+								<!--<span ng-if="material.batchCount" ng-show="!isBatch && !material.exPandOper && !material.addGoodsOper" ng-click="expandGoods(material)"><span>展开<i class="fa fa-angle-down" style="margin-left:2px;"></i></span></span>-->
 								<!--收起-->
 								<span ng-show="!isBatch && material.exPandOper" ng-click="disExpandGoods(material)" class="packUp"><span>收起<i class="fa fa-angle-up" style="margin-left:2px;"></i></span></span>
+								<span ng-click="setActiveIndex($index,material)"><span>编辑可替代型号</span></span>
 								<!--<a ng-show="!isBatch" ng-click="showShelfArea(material)"><span ng-if="!isBatch">编辑</span></a>-->
 								<!--<span ng-show="!isBatch && (material.sold == 0 && material.canSell == 1)" ng-click="publishGoods(material)"><span ng-if="!isBatch">上架</span></span>-->
 							</td>
@@ -1746,7 +1929,6 @@
 													<div class="labelling">
 														<!--<em>*</em>-->
 														自定义标签 : <input maxlength="20" type="text" ng-model="goods.editTag" ng-blur="blurTag(goods)" ng-change="changeTag(goods)" placeholder="请设置产品标签"></div>
-													<span>近一个月的销售平均价:<em ng-bind="material.averMonthSalePrice |  formateNumber : 6"></em></span>
 												</td>
 											</tr>
 											<tr class="edit-content edits" >
@@ -1754,7 +1936,7 @@
 													<div class="blue-bg">
 														<div></div>
 														<div class="img">
-															<a><img ng-src="{{goods.editPic || material.cmpImg || 'static/img/store/common/default.png'}}" alt="img"/></a>
+															<a><img ng-src="{{goods.editPic || 'static/img/store/common/default.png'}}" alt="img"/></a>
 															<div class="edit-img">
 																<a ng-click="deleteImg(goods)" class="delete-img" title="删除" ng-if="goods.editPic"><i class="fa fa-trash"></i></a>
 																<a ng-click="editGoodsPicture(goods.editPic || 'static/img/store/common/default.png', goods)" title="修改图片"><img ng-src="static/img/icon/update-img.png" /></a>
@@ -1780,8 +1962,8 @@
 														<div class="content margin10">
 															<!--<p class="title">库存</p>-->
 															<div class="input-list">
-																<span class="tit">上架数量:</span><input type="number" class="wid70 form-control" name="reserve" title="上架数量" placeholder="数量"
-																									 ng-model="goods.editReserve" maxlength="9" ng-blur="setPriceMaxAmount(goods, false)" ng-class="{'error' : goods.editReserveInvalid}" oninput="if(value.length>9)value=value.slice(0,9)"/>
+																<span class="tit">库存:</span><input type="number" class="wid70 form-control" name="reserve" title="库存" placeholder="数量"
+																								   ng-model="goods.editReserve" maxlength="9" ng-blur="setPriceMaxAmount(goods, false)" ng-class="{'error' : goods.editReserveInvalid}" oninput="if(value.length>9)value=value.slice(0,9)"/>
 															</div>
 															<div class="input-list">
 																<span class="tit">起订量:</span><input type="number" class="wid70 form-control" name="minBuyQty" title="起拍"  placeholder="数量"
@@ -1843,7 +2025,7 @@
 														<div class="content margin10">
 															<!--<p class="title">自营 / 寄售</p>-->
 															<div class="input-list">
-																<select ng-disabled="!$$nonProduct.canSelfSale" name="selfSale" class="wid56 select-adder form-control" ng-model="goods.editSelfSale">
+																<select ng-disabled="$$nonProduct.canSelfSale" name="selfSale" class="wid56 select-adder form-control" ng-model="goods.editSelfSale" ng-disabled="$$nonProduct.canSelfSale">
 																	<option value="1">自营</option>
 																	<option value="2">寄售</option>
 																</select>
@@ -1883,12 +2065,10 @@
 														<div class="content width140">
 															<p class="title"><span>包装:</span><span ng-bind="goods.packaging">盘装</span></p>
 															<p class="title"><span>生产日期:</span><span ng-bind="goods.produceDate">20160123</span></p>
-															<p class="title" ng-class="{'noBreak' : !goods.breakUp}">
-																<span ng-bind="goods.breakUp ? '可拆卖' : '不可拆卖'"></span>
-															</p>
+															<p class="title" ng-class="{'noBreak' : !goods.breakUp}" ng-bind="goods.breakUp ? '可拆卖' : '不可拆卖'">不可拆卖</p>
 														</div>
 														<div class="content width130">
-															<p class="title"><span>已上架数量:</span><span ng-bind="goods.reserve">9023492</span></p>
+															<p class="title"><span>库存:</span><span ng-bind="goods.reserve">9023492</span></p>
 															<p class="title"><span>起订量:</span><span ng-bind="goods.minBuyQty">90492</span></p>
 															<p class="title"><span>包装数量:</span><span ng-bind="goods.minPackQty">980</span></p>
 														</div>
@@ -1933,7 +2113,6 @@
 													<div class="labelling">
 														<!--<em>*</em>-->
 														自定义标签 : <input maxlength="20" type="text" ng-model="goods.editTag" ng-blur="blurTag(goods)" ng-change="changeTag(goods)" placeholder="请设置产品标签"></div>
-													<span>近一个月的销售平均价:<em ng-bind="material.averMonthSalePrice |  formateNumber : 6"></em></span>{{material.b2cDownStatus}}
 												</td>
 											</tr>
 											<tr class="edit-content edits" ng-if="goods.edit">
@@ -1973,9 +2152,9 @@
 														<div class="content margin10">
 															<!--<p class="title">库存</p>-->
 															<div class="input-list">
-																<span class="tit">上架数量:</span><input type="number" class="wid70 form-control" name="reserve" title="上架数量" placeholder="数量" ng-model="goods.editReserve" ng-blur="setPriceMaxAmount(goods, true)"
-																									 maxlength="9" oninput="if(value.length>9)value=value.slice(0,9)"
-																									 ng-class="{'error' : goods.editReserveInvalid}"/>
+																<span class="tit">库存:</span><input type="number" class="wid70 form-control" name="reserve" title="库存" placeholder="数量" ng-model="goods.editReserve" ng-blur="setPriceMaxAmount(goods, true)"
+																								   maxlength="9" oninput="if(value.length>9)value=value.slice(0,9)"
+																								   ng-class="{'error' : goods.editReserveInvalid}"/>
 															</div>
 															<div class="input-list">
 																<span class="tit">起订量:</span><input type="number" class="wid70 form-control" name="minBuyQty"
@@ -2078,6 +2257,30 @@
 								</div>
 							</td>
 						</tr>
+						<tr class="replace-row" ng-if="material.productReplaceList.length > 0">
+							<td colspan="7">
+								<div>
+									<p>可替代型号:</p>
+									<div class="replace-list">
+										<div class="replace-item" ng-repeat="replace in material.productReplaceList" ng-if="material.showMoreReplace || (!material.showMoreReplace && replace.detno < 5) ">
+											<i>{{replace.detno}}</i>
+											<span title="{{replace.ptrCmpcode}}">型号:{{replace.ptrCmpcode}}</span>
+											<span title="{{replace.ptrBranden}}">品牌:{{replace.ptrBranden}}</span>
+										</div>
+										<div ng-if="(material.productReplaceList.length < 4 && material.productReplaceList.length % 2 !== 0) || (material.productReplaceList.length > 4 && material.showMoreReplace && material.productReplaceList.length % 2 !== 0)" class="replace-item"></div>
+									</div>
+									<div class="open-more" ng-if="material.productReplaceList.length > 4">
+										<div>
+											<a href="javascript:void(0)" ng-click="material.showMoreReplace = !material.showMoreReplace" ng-if="material.productReplaceList.length > 4" ng-class="{'active': material.showMoreReplace}">
+												<em ng-bind="!material.showMoreReplace ? '查看更多' : '收起'"></em>
+												<i class="fa fa-angle-up" ng-if="material.showMoreReplace"></i>
+												<i class="fa fa-angle-down" ng-if="!material.showMoreReplace"></i>
+											</a>
+										</div>
+									</div>
+								</div>
+							</td>
+						</tr>
 						</tbody>
 					</table>
 					<div class="empty" ng-if="currenctMaterial.length == 0">
@@ -2085,8 +2288,8 @@
 							<img src="static/img/all/empty-cart.png">
 						</p>
 						<div class="empty-info">
-							<p class="grey"> 暂无产品信息,赶快上传让更多人看到你的产品吧 </p>
-							<a href="/vendor#/vendor_upload"><i></i>马上去上传</a>
+							<p class="grey"> 创建您的个人产品库,可为您精准推送客户需求 </p>
+							<a href="vendor#/vendor_upload?type=self"><i></i>马上去上传</a>
 						</div>
 					</div>
 					<div class="record-line text-right" ng-if="currenctMaterial.length != 0">
@@ -2267,7 +2470,7 @@
 						<div class="clearfix">
 							<div class="detail">
 								<div class="detail-title">包装:<span ng-bind="goods.packaging">盘装</span></div>
-								<div class="detail-title">已上架数量:<span ng-bind="goods.reserve">9023492</span></div>
+								<div class="detail-title">库存:<span ng-bind="goods.reserve">9023492</span></div>
 								<div class="detail-title">起订量:<span ng-bind="goods.minBuyQty">90492</span></div>
 							</div>
 							<div class="detail distance">
@@ -2302,6 +2505,43 @@
 	</div>
 </div>
 
+<div class="com-modal-wrap" ng-if="activeIndex > -1">
+	<div class="edit-replace-box">
+		<div class="title">
+			<div>型号:<span>{{editCmp}}</span></div>
+			<div>品牌:<span>{{editBrand}}</span></div>
+			<i class="fa fa-close" ng-click="setActiveIndex(-1)"></i>
+		</div>
+		<div class="content">
+			<div class="content-line">
+				<p>可替代型号:</p>
+			</div>
+			<div class="content-line" ng-repeat="(key, mate) in replaceMaterialList">
+				<div class="form-item form-left">
+					<span><i>{{key + 1}}</i><em>*</em>型号:</span>
+					<input type="text" class="form-control" ng-model="mate.ptrCmpcode" ng-change="onCodeChange(mate.ptrCmpcode, key)" ng-blur="onCodeBlur(key)" ng-class="{'error': errorObj[key].code == 1}" placeholder="请输入型号名称">
+					<ul class="similar-list" ng-show="mate.showSimilarCodeList && similarCode.length > 0 && mate.ptrCmpcode" ng-mouseenter="setIsInCodeList(true, key)" ng-mouseleave="setIsInCodeList(false, key)">
+						<li ng-repeat="sCode in similarCode" ng-bind="sCode.code" title="{{sCode.code}}" ng-click="setCode(key, sCode.code)"></li>
+					</ul>
+				</div>
+				<div class="form-item form-right">
+					<span><em>*</em>品牌:</span>
+					<input type="text" class="form-control" ng-model="mate.ptrBranden" ng-change="onBrandChange(mate.ptrBranden, key)" ng-blur="onBrandBlur(key)" ng-class="{'error': errorObj[key].brand == 1}" placeholder="请输入品牌名称">
+					<ul class="similar-list" ng-show="mate.showSimilarBrandList && similarBrand.length > 0 && mate.ptrBranden" ng-mouseenter="setIsInBrandList(true, key)" ng-mouseleave="setIsInBrandList(false, key)">
+						<li ng-repeat="sBrand in similarBrand" ng-bind="sBrand.nameEn" title="{{sBrand.nameEn}}" ng-click="setBrand(key, sBrand.nameEn)"></li>
+					</ul>
+					<i class="fa fa-minus-circle" ng-if="replaceMaterialList.length > 1" ng-click="setReplies('sub', key)"></i>
+					<i class="fa fa-plus-circle" ng-if="replaceMaterialList.length -1 == key && replaceMaterialList.length < 10" ng-click="setReplies('add', key)"></i>
+				</div>
+			</div>
+		</div>
+		<div class="operate">
+			<span ng-click="setProductReplacesByPerson(replaceMaterialList)">确定</span>
+			<span ng-click="setActiveIndex(-1)">取消</span>
+		</div>
+	</div>
+</div>
+
 <style>
 	/**/
 	.wanted_list01 .empty{

File diff suppressed because it is too large
+ 694 - 172
src/main/webapp/resources/view/vendor/forstore/erp/vendor_onSale_erp.html


+ 39 - 35
src/main/webapp/resources/view/vendor/forstore/erp/vendor_undercarriage_erp.html

@@ -219,6 +219,13 @@
         line-height: 15px;
         left: 18px;
     }
+    .check-input .standard{
+        position: absolute;
+        top: 0;
+        left: 0;
+        width: 27px;
+        height: 27px;
+    }
     .pro_management .product_off dd:last-of-type{
         border-bottom: #cfcfcf 1px solid;
     }
@@ -533,16 +540,23 @@
     .text-more-80 span.text-more{
         width: 50px;
     }
+    /*分页鼠标悬停效果*/
+    .device .wanted_list01 a:hover {
+        border-bottom: 1px solid #ddd!important;
+    }
+    .device .wanted_list01 a.page-a:hover{
+        color: #fff!important;
+    }
 </style>
 <div class="user_right fr">
     <!--货品管理-->
     <div class="pro_management device">
         <div class="com_tab">
             <ul class="fl" style="width: 100%">
-                <li ng-class="{'active': tab == 'unstandard_material'}"><a ui-sref="vendor_material_unstandard_erp({standardParam:'unstandard'})">非标产品</a></li>
-                <li ng-class="{'active': tab == 'vendor_material'}"><a ui-sref="vendor_material_erp({standardParam:'standard'})">标准产品</a></li>
-                <li ng-class="{'active': tab == 'onSale'}"><a ui-sref="vendor_onSale_erp">在售产品</a></li>
-                <li ng-class="{'active': tab == 'undercarriage'}"><a ui-sref="vendor_undercarriage_erp">上下架历史</a></li>
+                <li><a ui-sref="vendor_material_erp">企业产品库</a></li>
+                <li><a ui-sref="vendor_material_person_erp">个人产品库</a></li>
+                <li><a ui-sref="vendor_onSale_erp">在售产品</a></li>
+                <li class="active"><a ui-sref="vendor_undercarriage_erp">上下架历史</a></li>
             </ul>
         </div>
         <div class="search-check">
@@ -554,19 +568,19 @@
                     <input type="hidden" name="ids" ng-value="localInfo.ids">
                 </form>
             </div>
-<!--            <div class="check fr">
-                <a  ng-click="">批量操作</a>
-                <span class="check-btn">
-                    <label class="check-active">
-                        <input type="checkbox" id="AllChoose"/>
-                        <label for="AllChoose"></label>
-                        <span>全选</span>
-                    </label>
-                    <a href="#">上架</a>
-                    <a href="#">取消</a>
-                    <a href="#">确定</a>
-                </span>
-            </div>-->
+            <!--            <div class="check fr">
+                            <a  ng-click="">批量操作</a>
+                            <span class="check-btn">
+                                <label class="check-active">
+                                    <input type="checkbox" id="AllChoose"/>
+                                    <label for="AllChoose"></label>
+                                    <span>全选</span>
+                                </label>
+                                <a href="#">上架</a>
+                                <a href="#">取消</a>
+                                <a href="#">确定</a>
+                            </span>
+                        </div>-->
         </div>
         <!--<div class="search-check">
             <a ng-click="" class="down-goods-btn">批量操作</a>
@@ -620,6 +634,10 @@
                         <td class="middle padding0 check-input">
                             <!-- <span><input type="checkbox" id="{{$index+1}}"/><label for="{{$index+1}}"></label><br/></span>-->
                             <div>{{$index + 1}}</div>
+                            <!--非标产品标志-->
+                            <img ng-if="!commodity.uuid" src="static/img/store/common/nonstandard.png" alt="" class="standard"/>
+                            <!--标产品标志-->
+                            <img ng-if="commodity.uuid" src="static/img/store/common/standard.png" alt="" class="standard"/>
                         </td>
                         <td class="middle"  style="vertical-align: top !important;">
                             <div class="fl img">
@@ -700,24 +718,10 @@
                         </td>
                     </tr>
                     </tbody>
-                   <!-- <tbody>
-                    <tr style="height: 252px;" ng-if="!currenctGoods || currenctGoods.length <= 0">
-                        <td colspan="10" style="padding: 74px 0;">
-                            <div style="line-height: 106px;">
-                                <div class="col-xs-2" style="margin-left: 35%;">
-                                    <img src="static/img/all/empty-cart.png">
-                                </div>
-                                <div class="col-xs-4" style="line-height: 124px;">
-                                    <p class="grey f16">暂无下架产品信息</p>
-                                </div>
-                            </div>
-                        </td>
-                    </tr>
-                    </tbody>-->
                     <tbody class="no-record-list" ng-if="!currenctGoods || currenctGoods.length <= 0">
-                        <tr class="height200">
-                            <td colspan="10"><img src="static/img/all/empty-cart.png"><span>暂无下架产品信息</span></td>
-                        </tr>
+                    <tr style="height:378px!important;">
+                        <td colspan="10"><img src="static/img/all/empty-cart.png"><span class="f14">暂无下架产品信息</span></td>
+                    </tr>
                     </tbody>
                 </table>
                 <div class="record-line text-right" ng-if="currenctGoods.length != 0">显示<span ng-bind="goodsAll.start"></span>-<span ng-bind="goodsAll.numberOfElements"></span>个,共:<span ng-bind="goodsAll.totalElements" cl style="color: #5078cb;"></span>个</div>
@@ -733,7 +737,7 @@
                         </li>
                     </ul>
                     <div class="page-go-block">
-                        <input class="page-number" type="text" ng-model="param.currentPage" ng-keydown="listenEnter()"/>
+                        <input class="page-number" type="number" ng-model="param.currentPage" ng-keydown="listenEnter()"/>
                         <a class="page-a" ng-click="setPage('page', param.currentPage)" href="">GO</a>
                     </div>
                 </div>

Some files were not shown because too many files changed in this diff