Browse Source

供应商资料-新增采购单

yangc 8 years ago
parent
commit
5b6deea4f3

+ 242 - 10
src/main/webapp/resources/css/b2bCommon.css

@@ -4,28 +4,28 @@
     font-size: 14px;
     text-align: center;
 }
-.b2b-com-table thead tr {
+.b2b-com-table > thead > tr {
     height: 38px;
     line-height: 38px;
     background: #f5f8fe;
     border-bottom: 1px solid #dae5fd;
 }
-.b2b-com-table thead tr th {
+.b2b-com-table > thead > tr > th {
     font-size: 14px;
     font-weight: normal;
     text-align: center;
 }
-.b2b-com-table tbody tr {
+.b2b-com-table > tbody > tr {
     height: 50px;
     line-height: 50px;
     border-left: 1px solid #dae5fd;
     border-right: 1px solid #dae5fd;
     border-bottom: 1px solid #dae5fd;
 }
-.b2b-com-table tbody tr:hover {
+.b2b-com-table > tbody > tr:hover {
     background: #f9fafd;
 }
-.b2b-com-table tbody tr td {
+.b2b-com-table > tbody > tr > td {
     font-size: 14px;
 }
 .b2b-com-table .td-operate a {
@@ -81,9 +81,12 @@
     text-align: center;
     border-radius: 2px;
     color: #fff;
+    vertical-align: middle;
+    display: inline-block;
 }
 .b2b-btn[disabled] {
     cursor: not-allowed;
+    opacity: .6;
 }
 .b2b-btn-submit {
     background: #5078cb;
@@ -145,19 +148,19 @@
 .b2b-operate-modal #user-lists {
     padding: 0 30px;
 }
-table.b2b-modal-table thead tr {
+table.b2b-modal-table > thead > tr {
     height: 34px;
     line-height: 34px;
     padding: 0;
     background: #89aefa;
 }
-table.b2b-modal-table thead tr th {
+table.b2b-modal-table > thead > tr > th {
     color: #fff;
     font-weight: normal;
     font-size: 14px;
     text-align: center;
 }
-table.b2b-modal-table tbody tr {
+table.b2b-modal-table > tbody > tr {
     height: 40px;
     line-height: 40px;
     text-align: center;
@@ -165,10 +168,10 @@ table.b2b-modal-table tbody tr {
     border-right: 1px solid #ecf0fb;
     border-bottom: 1px solid #ecf0fb;
 }
-table.b2b-modal-table tbody tr:hover {
+table.b2b-modal-table > tbody > tr:hover {
     background: #f9fafd;
 }
-table.b2b-modal-table tbody tr td {
+table.b2b-modal-table > tbody > tr > td {
     font-size: 14px;
     border: none;
 }
@@ -195,4 +198,233 @@ table.b2b-modal-table tbody tr td {
     position: absolute;
     left: 0;
     top: 22px;
+}
+/*B2B商务账号设置-个人信息*/
+/*弹框*/
+.bomb-box {
+    width: 100%;
+    height: 100%;
+    position: fixed;
+    z-index: 11111;
+    background: rgba(0, 0, 0, 0.2);
+    top: 0;
+    left: 0;
+}
+
+.bomb-box .box {
+    position: absolute;
+    left: 0;
+    right: 0;
+    top: 0;
+    bottom: 0;
+    margin: auto;
+    box-shadow: 0 0 3px #888;
+}
+
+.bomb-box .box01 {
+    margin-top: 80px;
+    width: 580px;
+    height: 406px;
+    border-radius: 5px;
+    background: #fff;
+}
+
+.bomb-box .box i.off {
+    width: 20px;
+    height: 20px;
+    display: inline-block;
+    position: absolute;
+    right: 8px;
+    top: 8px;
+    text-align: center;
+    cursor: pointer;
+}
+
+.bomb-box .box p {
+    height: 40px;
+    line-height: 40px;
+    font-size: 14px;
+    width: 100%;
+    margin: 0 auto;
+    border-bottom: #e8e8e8 1px solid;
+    padding-left: 20px;
+}
+.bomb-box .box-bottom{
+    padding: 0 5px 5px;
+    width: 465px;
+    height: 450px!important;
+    background: #e8e8e8;
+}
+.bomb-box .box-bottom .box-header{
+    padding-left: 5px;
+    width: 100%;
+    height: 26px;
+}
+.bomb-box .box-bottom .box-header p{
+    float: left;
+    padding-left: 10px;
+    height: 26px;
+    line-height: 28px;
+    width: 100px;
+    font-size: 14px;
+    color: #000;
+}
+.bomb-box .box-bottom .box-header a{
+    margin-top: 6px;
+    display: inline-block;
+    float: right;
+    width: 15px;
+    height: 15px;
+    text-align: center;
+    font-size: 14px;
+    color: #000;
+    border-radius: 3px;
+    border: 1px solid #000;
+}
+.bomb-box .box-bottom .per-data{
+    margin: 0 auto;
+    width: 455px;
+    height: 418px;
+    text-align: center;
+    background: #f3f3f3;
+    border-top: 1px solid #ccc;
+}
+.bomb-box .box-bottom .per-data ul li{
+    margin-bottom: 15px;
+    height: 26PX;
+    line-height: 26px;
+}
+.bomb-box .box-bottom .per-data ul li:first-child, .bomb-box .box-bottom .per-data ul li:last-child{
+    margin-top: 25px;
+}
+.bomb-box .box-bottom .per-data ul li em{
+    width: 80px;
+    text-align: right;
+}
+.bomb-box .box-bottom .per-data ul li input{
+    padding-left: 10px;
+    width: 300px;
+    height: 26px;
+    border: 1px solid #a0a0a0;
+}
+.bomb-box .box-bottom .per-data ul li a.mod-psd{
+    float: none;
+}
+
+/*设置-企业设置-收货地址编辑*/
+.bomb-box .box04 {
+    width: 492px;
+    height: 478px;
+    background: #fff;
+}
+
+.bomb-box .box04 p {
+    height: 30px;
+    line-height: 30px;
+    background: #5078cb;
+    border-bottom: #dcdcdc 1px dotted;
+    color: #fff;
+}
+.bomb-box .box04 i.off {
+    color: #fff;
+}
+.bomb-box .box04 ul {
+    width: 92%;
+    margin: 0 auto;
+}
+
+.bomb-box .box04 ul li {
+    width: 100%;
+    height: 34px;
+    margin-top: 16px !important;
+    line-height: 34px;
+    margin: 0 auto;
+}
+.bomb-box .box04 ul li > div {
+    margin-bottom: 10px;
+}
+.bomb-box .box04 ul li.line01 div {
+    width: 100%;
+    float: left;
+}
+
+.bomb-box .box04 ul li.line01 div.fl span.fl, .bomb-box .box04 ul li.line01 div.fr span.fl {
+    width: 80px;
+    font-size: 14px;
+}
+
+.bomb-box .box04 ul li.line01 div.fl span.fr, .bomb-box .box04 ul li.line01 div.fr span.fr {
+    width: 254px;
+    height: 34px;
+    display: inline-block;
+    float: left;
+}
+
+.bomb-box .box04 ul li div em {
+    color: #f00;
+}
+
+.bomb-box .box04 ul li.line01 div.fl span.fr input, .bomb-box .box04 ul li.line01 div.fr span.fr input {
+    width: 254px;
+    height: 34px;
+    padding-left: 10px;
+    border: #cccccd 1px solid;
+    font-size: 14px;
+}
+
+.bomb-box .box04 ul li.line01 div.fr span.fl {
+    margin-left: 20px;
+}
+
+.bomb-box .box04 ul li.line02 div.fl {
+    width: 80px;
+    font-size: 14px;
+}
+
+.bomb-box .box04 ul li.line02 div.fr {
+    width: 632px;
+    height: 34px;
+    font-size: 14px;
+    float: left;
+}
+
+.bomb-box .box04 ul li.line02 div.fr input {
+    width: 632px;
+    height: 34px;
+    font-size: 14px;
+    padding-left: 10px;
+    border: #cccccd 1px solid;
+}
+
+.bomb-box .box04 .margin-top40 {
+    margin-top: 40px !important;
+}
+
+.bomb-box .box04 .emaill, .bomb-box .box04 .address {
+    position: relative;
+}
+
+.bomb-box .box04 .emaill i, .bomb-box .box04 .address i {
+    font-size: 14px;
+    color: #999;
+    left: 0;
+}
+
+.bomb-box .box04 .select {
+    position: relative;
+}
+
+.bomb-box .box04 .select i {
+    position: absolute;
+    top: 10px;
+    left: 60px;
+    color: #959595;
+}
+
+.bomb-box .box04 .many-file-btn {
+    width: 240px;
+    margin: 60px auto 0;
+}
+.no-padding {
+    padding: 0;
 }

+ 0 - 7
src/main/webapp/resources/css/user/base.css

@@ -502,13 +502,6 @@ select {
     right: -5px;
 }
 
-select {
-    filter: alpha(opacity=0);
-    -moz-opacity: .0;
-    opacity: 0.0;
-    opacity: 0;
-}
-
 .undo {
     color: #ccc !important;
 }

+ 39 - 0
src/main/webapp/resources/js/common/controllers/b2bCommonCtrls.js

@@ -26,5 +26,44 @@ define([ 'app/app' ], function(app) {
             $modalInstance.dismiss();
         }
     }]);
+    /**
+     * 采购批量导入
+     */
+    app.controller('PurcUploadByBatchCtrl', ['$scope', 'toaster', '$upload', '$modalInstance', 'BaseService', function ($scope, toaster, $upload, $modalInstance, BaseService) {
+        // 通过excel批量上传物料
+        $scope.result = null;
+        $scope.loading = false;
+        $scope.upload = function () {
+            $scope.loading = true;
+            var file = $scope.myFiles[0];
+            $upload.upload({
+                url: BaseService.getB2bUrl() + '/purchase/release/excel',
+                file: file,
+                method: 'POST'
+            }).success(function (data) {
+                $scope.loading = false;
+                $scope.result = data;
+                $scope.success = $scope.result.success;
+                $scope.total = $scope.result.total;
+                $scope.alters = $scope.result.alters;
+            }).error(function (response) {
+                $scope.loading = false;
+                toaster.pop('error', response.data || response);
+            });
+        };
 
+        // 下载模板
+        $scope.download = function () {
+            window.location.href = BaseService.getB2bUrl() + '/purchase/upload/template';
+        };
+
+        $scope.enSure = function () {
+            $scope.loading = true;
+            $modalInstance.close($scope.result.products);
+        }
+
+        $scope.cancel = function () {
+            $modalInstance.dismiss();
+        }
+    }]);
 });

+ 62 - 4
src/main/webapp/resources/js/usercenter/controllers/b2b/Purc/PurcNewOrderCtrl.js

@@ -14,7 +14,7 @@ define(['app/app'], function(app) {
             });
 
             // 获取地址信息
-            $http.get('resources/citydata/city.json', {
+            $http.get('resources/js/prod/data/city.json', {
                 "Accept": "application/json;charset=utf-8", "Accept-Charset": "charset=utf-8"
             }).then(function (response) {
                 $scope.provinces = response.data;
@@ -79,7 +79,7 @@ define(['app/app'], function(app) {
             // 查找供应商
             $scope.dbfindVend = function () {
                 var modalInstance = $modal.open({
-                    templateUrl: 'static/tpl/index/purc/modal/purc_order_vendor.html',
+                    templateUrl: 'static/view/usercenter/b2b/modal/purc_order_vendor.html',
                     controller: 'DbfindVendorInfoCtrl',
                     size: 'lg',
                     resolve: {
@@ -245,7 +245,7 @@ define(['app/app'], function(app) {
             // 导入商品信息
             $scope.uplodaByBatch = function () {
                 var modalInstance = $modal.open({
-                    templateUrl: 'static/tpl/index/purc/modal/purc_uplodaByBatch.html',
+                    templateUrl: 'static/view/usercenter/b2b/modal/purc_uplodaByBatch.html',
                     controller: 'PurcUploadByBatchCtrl',
                     size: 'lg',
                     resolve: {}
@@ -374,7 +374,7 @@ define(['app/app'], function(app) {
             $scope.addContact = function (uu) {
                 var modalInstance = $modal.open({
                     animation: true,
-                    templateUrl: 'static/tpl/index/purc/modal/contact_person_modal.html',
+                    templateUrl: 'static/view/vendor/b2b/modal/contact_person_modal.html',
                     controller: 'AddContacCtrl',
                     resolve: {}
                 });
@@ -394,4 +394,62 @@ define(['app/app'], function(app) {
             }
 
         }]);
+
+    // 查找供应商
+    app.register.controller('DbfindVendorInfoCtrl', ['$scope', 'BaseService', 'ngTableParams', 'toaster', '$modalInstance', 'B2bVendor', '$rootScope', 'orderItems', function ($scope, BaseService, ngTableParams, toaster, $modalInstance, Vendor, $rootScope, orderItems) {
+        $scope.prod = false;
+        if (orderItems.length != 0) {
+            $scope.prod = true;
+        }
+        BaseService.scrollBackToTop();
+        if ($rootScope.venduu != null) {
+            $scope.venduu = $rootScope.venduu;
+        }
+        // 搜索框回车
+        $scope.onSearch = function (keyword) {
+            $scope.keyword = keyword;
+            $scope.customerParams.page(1);
+            $scope.customerParams.reload();
+        };
+
+        $scope.customerParams = new ngTableParams({
+            page: 1,
+            count: 20
+        }, {
+            total: 0,
+            counts: [5, 10, 25, 50],
+            getData: function ($defer, params) {
+                $scope.loading = true;
+                var pageParams = params.url();
+                pageParams.keyword = $scope.keyword;
+                Vendor.getVendor.call(null, BaseService.parseParams(pageParams), function (page) {
+                    $scope.loading = false;
+                    if (page) {
+                        params.total(page.totalElement);
+                        $defer.resolve(page.content);
+                    }
+                    $scope.totalCount = page.totalElement;
+                }, function (response) {
+                    $scope.loading = false;
+                    toaster.pop('error', '数据加载失败', response.data);
+                });
+            }
+        });
+
+        $scope.cancel = function () {
+            $modalInstance.dismiss();
+        };
+
+        $scope.ensure = false;
+        $scope.check = function (vendor) { // 需要进行判断的选择
+            $scope.vendorInfo = vendor;
+            $scope.ensure = true;
+        };
+
+        $scope.checkVendor = function (vendor) { // 直接选择
+            $modalInstance.close(vendor);
+        }
+
+    }]);
+
 });

+ 406 - 177
src/main/webapp/resources/view/usercenter/b2b/Purc/addOrder.html

@@ -1,100 +1,254 @@
 <style>
-	#pub .purc li div span .select02 {
-		background: none;
-		-webkit-appearance: inherit;
-		appearance: inherit;
-		-o-appearance: inherit;
-		-moz-appearance: inherit;
-		-ms-appearance: inherit;
-		border: #bfbfbf 1px solid !important;
-		width: 187px;
+	.add-order {
+		background: #fff;
+	}
+	.add-order .content-wrap {
+		padding: 0 20px;
+	}
+	.add-order .oder-change .title {
+		width: 86px;
+		display: inline-block;
+		vertical-align: middle;
+		position: relative;
+	}
+	.add-order .oder-change .title i {
+		position: absolute;
+		left: -7px;
+	}
+	.add-order .oder-change .item {
+		line-height: 48px;
+	}
+	.add-order .oder-change .item .input-group {
+		width: 280px;
+		display: inline-table;
+		vertical-align: middle;
+	}
+	.add-order .oder-change .item .form-control {
+		width: 280px;
+		display: inline-block;
+		vertical-align: middle;
+	}
+	.add-order .oder-change .item .form-control.large {
+		width: 773px;
+	}
+	.add-order .oder-change .item .plus {
+		color: #30a603;
+	}
+	.add-order .b2b-com-title .operate {
+		float: right;
+		color: #30a603;
+		font-weight: normal;
+	}
+	.add-order #empty {
+		text-align: center;
+		padding: 30px 0;
+	}
+	.add-order .buy-wrap {
+		padding-right: 50px;
+		margin-top: 30px;
+	}
+	.add-order .buy-wrap .b2b-btn {
+		width: 94px;
+		margin-right: 10px;
+	}
+	.editable {
+		width: 92px;
+		height: 34px;
+		border-radius: 2px;
+		border: 1px solid #ccc;
+		text-align: center;
+		padding: 0 10px;
+	}
+	.add-order .b2b-com-table > tbody > tr {
+		line-height: 30px;
+		height: 30px;
+	}
+	.add-order .form-control {
+		border-radius: 2px;
+	}
+	.add-order .select .select-adder {
+		width: 100px;
 	}
 
-	.dropdown-menu tr td button {
-		border: none;
+	.add-tanchuang {
+		position: absolute;
+		box-shadow: 0 0 3px #888;
+		width: 238px;
+		height: 202px;
+		background: #fff;
+		right: 100px;
+		top: 20%;
+		display: none;
 	}
 
-	.oder-change .purc li .dropdown-menu {
-		padding: 0;
-		margin: 0;
-		width: 185px;
+	.add-tanchuang ul {
+		width: 195px;
+		margin: 0 auto;
+		margin-top: 10px;
 	}
 
-	.oder-change .purc li .dropdown-menu li {
-		margin-bottom: 0;
+	.add-tanchuang ul li {
+		width: 100%;
+		margin: 0 auto;
 		height: 34px;
 		line-height: 34px;
+		margin-top: 12px;
 	}
 
-	.oder-change .purc li  .dropdown-menu>li>a {
-		display: inline-block;
-		width: 100%;
-		padding: 0;
+	.add-tanchuang ul li div.fl {
+		width: 50px;
+		font-size: 14px;
+	}
+
+	.add-tanchuang ul li div.fr {
+		width: 145px;
+	}
+
+	.add-tanchuang ul li div.fr .price-input {
+		width: 145px;
+		border: #969595 1px solid;
 		height: 34px;
-		line-height: 34px;
+		font-size: 14px;
 		padding-left: 10px;
 	}
 
-	.dropdown-menu>.active>a, .dropdown-menu>.active>a:hover, .dropdown-menu>.active>a:focus
-	{
+	.add-tanchuang ul li.add-btn {
+		margin-top: 20px;
+	}
+
+	.add-tanchuang ul li.add-btn div.fr a {
+		width: 62px;
+		height: 24px;
+		display: inline-block;
+		line-height: 24px;
+		text-align: center;
+	}
+
+	.add-tanchuang ul li div.fr a.off {
+		border: #3f84f6 1px solid;
+		color: #3f84f6;
+		float: left;
+	}
+
+	.add-tanchuang ul li div.fr a.ok {
+		background: #3f84f6;
+		color: #fff;
+		float: right;
+	}
+
+	.add-tanchuang ul li div.fr a:hover {
 		background: #5078cb;
+		color: #fff;
+	}
+
+	.add-tanchuang ul li .btn-wrap {
+		position: relative;
+		height: 30px;
+		width: 145px;
+		line-height: 30px;
+	}
+
+	.add-tanchuang ul li .btn-wrap input {
+		display: inline-block;
 	}
 
-	.com_title01 a {
+	.add-tanchuang ul li .btn-wrap .number {
+		width: 145px;
+		height: 34px !important;
+		border: #969595 1px solid;
+		display: inline-block;
+		text-align: center;
+		line-height: 34px !important;
+		color: #333;
+	}
+
+	.add-tanchuang ul li .btn-wrap .number a {
+		width: 26px;
+		height: 33px;
+		display: inline-block;
+		font-size: 18px;
+		color: #666;
+		line-height: 28px;
+	}
+
+	.add-tanchuang ul li .btn-wrap .number a:hover {
+		color: #fff;
+		background: #5078cb
+	}
+
+	.add-tanchuang ul li .btn-wrap .number .reduce {
+		float: left;
+		border-right: #969595 1px solid;
+	}
+
+	.add-tanchuang ul li .btn-wrap .number .add {
 		float: right;
-		color: #5078cb;
-		font-weight: normal;
-		margin-right: 30px;
-		margin-top: 20px;
-		font-size: 14px;
+		border-left: #969595 1px solid;
+	}
+
+	.add-tanchuang ul li .btn-wrap .number input {
+		float: left;
+		width: 91px;
+		height: 32px;
+		line-height: 32px;
+		text-align: center;
+		font-size: 16px;
+		color: #666;
+		border: none;
 	}
+
 </style>
-<div class="wrap" id="pub">
-	<div class="content">
-		<!--<div class="com_title">服务>采购模块>采购单<font>>新增采购单</font></div>-->
-		<div class="com_head">
-			<span>新增采购单</span>
-		</div>
+<div class="user_right fr add-order">
+	<div class="b2b-com-head">新增采购单</div>
+	<div class="content-wrap">
 		<!--B2B商务采购变更-添加-->
+		<div class="b2b-com-title">基本信息</div>
 		<form class="oder-change clearfix" name="orderForm" id="orderForm">
-			<ul class="purc">
-				<li>
-					<div class="fl">
-						<em>流水号:</em> <span>{{::order.code}}</span>
+			<ul>
+				<li class="clearfix item">
+					<div class="col-sm-6">
+						<em class="title">流水号:</em> <span>{{::order.code}}</span>
 					</div>
-					<div class="fr">
-						<em>录入时间:</em> <span>{{::order.date | date:'yyyy-MM-dd HH:mm:ss'}}</span>
+					<div class="col-sm-6">
+						<em class="title">录入时间:</em> <span>{{::order.date | date:'yyyy-MM-dd HH:mm:ss'}}</span>
 					</div>
 				</li>
-				<li>
-					<div class="fl">
-						<em>供应商:</em> <span><input type="text"
-												   ng-model="order.vend.enName" placeholder="输入供应商名称" class="bor01"
-												   ng-required="true"
-												   ng-change="getSimilarVendors(order.vend.enName)" name="enName"
-												   ng-focus="onFocus('enName')"
-												   typeahead="order.vendName for order in getSimilarVendors($viewValue)"
-												   autocomplete="off"
-												   typeahead-on-select="onAssociateCmpClick($item, order)"
-												   spellcheck="false" style="width: 147px;"> <a class="btn"
-																								ng-click="dbfindVend()"
-																								style="width: 40px; border: #bfbfbf 1px solid !important; border-radius: 0px; margin-left: -5px; margin-top: -3px;"><i
-							class="fa fa-search" aria-hidden="true"></i></a> </span>
+				<li class="clearfix item">
+					<div class="col-sm-6">
+						<em class="title"><i class="must">*</i>供应商:</em>
+						<span class="input-group">
+							<input type="text"
+								   ng-model="order.vend.enName" placeholder="输入供应商名称"
+								   class="form-control input-sm"
+								   ng-required="true"
+								   ng-change="getSimilarVendors(order.vend.enName)" name="enName"
+								   ng-focus="onFocus('enName')"
+								   typeahead="order.vendName for order in getSimilarVendors($viewValue)"
+								   autocomplete="off"
+								   typeahead-on-select="onAssociateCmpClick($item, order)"
+								   spellcheck="false">
+						<a class="btn input-group-addon" ng-click="dbfindVend()">
+							<i class="fa fa-search" aria-hidden="true"></i>
+						</a>
+					</span>
 					</div>
-					<div class="fr">
-						<em>供应商联系人:</em> <span> <select class="select01"
-														ng-model="order.vendor" required="required"
-														ng-options="(contact.venduser + '' + contact.tel) for contact in contacts">
-									<option value="">请选择供应商联系人</option>
-							</select> <a class="add-address" ng-if="id!=null"
-										 ng-click="addContact(venduu)">+增加联系人</a>
-							</span>
+					<div class="col-sm-6 item">
+						<em class="title"><i class="must">*</i>供应商联系人:</em>
+						<span>
+							<select class="form-control select-adder"
+									ng-model="order.vendor" required="required"
+									ng-options="(contact.venduser + '' + contact.tel) for contact in contacts">
+								<option value="">请选择供应商联系人</option>
+							</select>
+							<a class="plus" ng-if="id!=null"
+							   ng-click="addContact(venduu)"><i class="fa fa-plus-circle"></i> 增加联系人</a>
+						</span>
 					</div>
 				</li>
-				<li>
-					<div class="fl">
-						<em>付款方式:</em> <span> <input ng-model="order.payments"
-													 list="paymentmethod" class="select02 wid152"
+				<li class="clearfix item">
+					<div class="col-sm-6">
+						<em class="title"><i class="must">*</i>付款方式:</em> <span> <input ng-model="order.payments"
+													 list="paymentmethod" class="form-control"
 													 placeholder="选择付款方式" /> <datalist id="paymentmethod">
 									<option value="月结30天">月结30天</option>
 									<option value="月结60天">月结60天</option>
@@ -102,36 +256,38 @@
 								</datalist>
 							</span>
 					</div>
-					<div class="fr">
-						<em>交易币别:</em> <span> <select name=""
-													  class="select02 wid100" ng-model="order.currency"
-													  ng-init="order.currency = 'RMB'">
-									<option value="RMB">RMB</option>
-									<option value="USD">USD</option>
-									<option value="HKD">HKD</option>
+					<div class="col-sm-6">
+						<em class="title"><i class="must">*</i>交易币别:</em>
+						<span>
+							<select name="" class="form-control select-adder" ng-model="order.currency" ng-init="order.currency = 'RMB'">
+								<option value="RMB">RMB</option>
+								<option value="USD">USD</option>
+								<option value="HKD">HKD</option>
 							</select>
-							</span>
+						</span>
 					</div>
 				</li>
-				<li>
-					<div class="fr address">
-						<em>收货信息:</em> <span class="fr" required="required"> <select
-							class="select fl" ng-model="order.shipadd" required="required"
+				<li class="clearfix item">
+					<div class="col-sm-12 address" style="padding-right: 0;">
+						<em class="title"><i class="must">*</i>收货信息:</em> <span required="required"> <select
+							ng-model="order.shipadd" required="required"
+							class="form-control large select-adder"
 							ng-options="(ship.address + ship.addressdet + ' ' + ship.receiver + ' ' + ship.usertel) for ship in ships">
 									<option value="">请选择收货地址</option>
-							</select> <a href="javascript:void(0);" class="add-address"><i class="fa fa-plus-square fa-fw"></i>新增收货信息</a>
+							</select> <a href="javascript:void(0);" class="plus add-address"><i class="fa fa-plus-circle"></i> 新增收货信息</a>
 							</span>
 					</div>
 				</li>
-				<li class="beizhu">
-					<div class="fl">
-						<em>备注:</em> <span><input type="text"
-												  ng-model="order.remark" class="bor01" placeholder="请填写备注"
-												  style="cursor: pointer; width: 568px;" /></span>
+				<li class="beizhu clearfix item">
+					<div class="col-sm-12">
+						<em class="title">备注:</em>
+						<span>
+							<input type="text" class="form-control large" ng-model="order.remark" placeholder="请填写备注" />
+						</span>
 					</div>
 				</li>
-				<li ng-show="false">
-					<div class="fl">
+				<li class="clearfix item" ng-show="false">
+					<div class="col-sm-6">
 						<em>税率:</em> <span class="fl" required="required"
 										   ng-if="order.currency == 'RMB'"> <select
 							class="select02 wid100" ng-model="order.rate"
@@ -146,20 +302,81 @@
 					</div>
 				</li>
 			</ul>
-			<div class="com_title01"
+			<div class="b2b-com-title"
 				 ng-if="order.orderItems[0].code == null && !order.vend.uu">
 				<span>请先选择供应商</span>
 			</div>
-			<div class="com_title01"
+			<div class="b2b-com-title"
 				 ng-if="order.orderItems[0].code == null && order.vend.uu">
-				<span>请先选择供应商产品</span> <a ng-click="uplodaByBatch()">批量导入</a>
+				<span>请先选择供应商产品</span> <a class="operate" ng-click="uplodaByBatch()"><i class="fa fa-arrow-circle-o-up"></i> 批量导入</a>
 			</div>
-			<div class="com_title01"
+			<div class="b2b-com-title"
 				 ng-if="order.orderItems[0].code != null && order.vend.uu">
-				<span>产品信息</span> <a ng-click="uplodaByBatch()">批量导入</a>
+				<span>产品信息</span> <a class="operate" ng-click="uplodaByBatch()"><i class="fa fa-arrow-circle-o-up"></i> 批量导入</a>
 			</div>
 			<!--产品信息-->
-			<dl ng-if="order.orderItems[0].code != null">
+			<table class="b2b-com-table" ng-if="order.orderItems[0].code != null">
+				<thead>
+				<tr>
+					<th>序号</th>
+					<th>产品信息</th>
+					<th>单位</th>
+					<th>数量</th>
+					<th>单价</th>
+					<th>税率(%)</th>
+					<th>交货日期</th>
+					<th>备注</th>
+					<th></th>
+				</tr>
+				</thead>
+				<tbody>
+				<tr ng-repeat="item in order.orderItems">
+					<td>{{$index + 1}}</td>
+					<td>
+						<p>{{::item.code}}</p>
+						<p>{{::item.title}}</p>
+						<p>{{::item.spec}}</p>
+					</td>
+					<td>{{::item.unit||'-'}}</td>
+					<td>
+						<input class="editable" type="text"
+							   ng-model="item.qty" placeholder="数量" style="cursor: pointer;"
+							   required="true"
+							   ng-pattern="/^(([0-9]+\.[0-9]{1,3})|([0-9]*[1-9][0-9]*\.[0-9]{1,3})|([0-9]*[1-9][0-9]*))$/" />
+					</td>
+					<td>
+						<input class="editable" type="text" ng-model="item.price"
+							   placeholder="单价" style="cursor: pointer;" required="true"
+							   ng-pattern="/^(([0-9]+\.[0-9]{1,6})|([0-9]*[1-9][0-9]*\.[0-9]{1,6})|([0-9]*[1-9][0-9]*))$/" />
+					</td>
+					<td ng-if="order.currency == 'RMB'">
+						<input class="editable" type="text" ng-model="item.taxrate" placeholder="税率"
+							   style="cursor: pointer;" ng-pattern="/^[0-9][0-9]{0,1}$/" />
+					</td>
+					<td ng-if="order.currency != 'RMB'">
+						<input class="editable" type="text" style="cursor: pointer;" value="0" readonly="readonly" />
+					</td>
+					<td>
+						<input ng-model="item.delivery"
+							   type="text" class="editable" placeholder="选择时间"
+							   datepicker-popup="yyyy-MM-dd" is-open="item.$endDateOpen"
+							   min-date="getMinDate()" ng-required="true" current-text="今天"
+							   clear-text="清除" close-text="关闭"
+							   datepicker-options="{formatDayTitle: 'yyyy年M月', formatMonth: 'M月', showWeeks: false}"
+							   ng-focus="openDatePicker($event, item.$endDateOpen)"
+							   readonly="readonly"
+							   ng-click="openDatePicker($event, item.$endDateOpen, $index)">
+					</td>
+					<td>
+						<input class="editable" type="text" ng-model="item.remark" placeholder="备注" />
+					</td>
+					<td>
+						<a ng-click="deleteProduct($index)"><i class="fa fa-close"></i></a>
+					</td>
+				</tr>
+				</tbody>
+			</table>
+			<!--<dl ng-if="order.orderItems[0].code != null">
 				<dt>
 					<b>序号</b> <b class="wid01">产品信息</b> <b>单位</b> <b>数量</b> <b>单价</b>
 					<b>税率(%)</b> <b>交货日期</b> <b>备注</b> <b class="wid02">&nbsp;</b>
@@ -204,11 +421,11 @@
 						<a ng-click="deleteProduct($index)"><i class="fa fa-close"></i></a>
 					</b>
 				</dd>
-			</dl>
-			<div class="save" ng-if="order.orderItems[0].code != null">
-				<button ng-click="addToOrder(order)"
+			</dl>-->
+			<div class="text-right buy-wrap" ng-if="order.orderItems[0].code != null">
+				<button class="b2b-btn b2b-btn-submit" ng-click="addToOrder(order)"
 						ng-disabled="orderForm.$invalid">立即购买</button>
-				<button ng-click="addToCart(order)"
+				<button class="b2b-btn b2b-btn-submit" ng-click="addToCart(order)"
 						ng-disabled="orderForm.$invalid">添加购物车</button>
 			</div>
 		</form>
@@ -216,19 +433,20 @@
 		<div class="pro-add-data02" style="min-height: 500px;"
 			 ng-if="order.vend.uu">
 			<div class="pro-search">
-				<div class="col-xs-2 search-title fl">供应商产品库</div>
-				<div class="col-xs-8 fr">
-					<div class="col-xs-9 search" style="margin-right: 0;">
-						<input type="text" placeholder="输入供应商物料关键字查询" ng-model="keyword"
-							   ng-search="onSearch(keyword)" /> <a class="seek"
-																   ng-click="onSearch(keyword)" style="right: inherit;">搜索</a>
-					</div>
-					<div class="col-xs-3 result-title fr">
+				<div class="b2b-com-title">供应商产品库</div>
+				<div class="b2b-com-search" style="margin-bottom: 15px;">
+					<div class="search-result inline-block">
 						搜索到<em>{{total}}</em>条
 					</div>
+					<div class="search-content inline-block fr">
+						<input type="text" placeholder="输入供应商物料关键字查询" ng-model="keyword"
+							   class="inline-block"
+							   ng-search="onSearch(keyword)" />
+						<a class="seek" ng-click="onSearch(keyword)" style="right: inherit;">搜索</a>
+					</div>
 				</div>
 			</div>
-			<table class="block table table-default table-striped"
+			<table class="b2b-modal-table table"
 				   ng-table="tableParams">
 				<thead>
 				<tr class="header">
@@ -312,81 +530,92 @@
 				</tbody>
 			</table>
 		</div>
-	</div>
-</div>
-<!--设置-企业设置-收货地址编辑-->
-<div class="bomb-box" style="display: none">
-	<form class="box04 box" name="shipAddress" id="shipAddress">
-		<i class="off"><img src="static/img/purc/close.png" alt="" /></i>
-		<p>收货人资料</p>
-		<ul>
-			<li class="line01">
-				<div class="fl">
-						<span class="fl"><em>*</em>收货人:
-						</span> <span class="fr"><input type="text" placeholder="填写收货人"
-														ng-model="ship.receiver" required="true"
-														ng-pattern="/^[\u4e00-\u9fa5]{1,6}$|^[\dA-Za-z]{1,12}$/" /></span>
-				</div>
-				<div class="fr">
-						<span class="fl"><em>*</em>手机:
-						</span> <span class="fr"><input type="text"
+		<!--设置-企业设置-收货地址编辑-->
+		<div class="bomb-box" style="display: none">
+			<form class="box04 box" name="shipAddress" id="shipAddress">
+				<i class="off"><i class="fa fa-close"></i></i>
+				<p>收货人资料</p>
+				<ul>
+					<li class="line01">
+						<div>
+						<span class="col-xs-3"><em>*</em>收货人:
+						</span> <span class="col-xs-9">
+							<input type="text" placeholder="填写收货人"
+								   ng-model="ship.receiver" required="true"
+								   class="form-control"
+								   ng-pattern="/^[\u4e00-\u9fa5]{1,6}$|^[\dA-Za-z]{1,12}$/" /></span>
+						</div>
+						<div>
+						<span class="col-xs-3"><em>*</em>手机:
+						</span> <span class="col-xs-9"><input type="text"
+															  class="form-control"
 														ng-model="ship.usertel" required="true"
 														ng-pattern="/^1(3|4|5|7|8)\d{9}$/" /></span>
-				</div>
-			</li>
-			<li class="line01">
-				<div class="fl">
-						<span class="fl">固定电话<em></em>:
-						</span> <span class="fr"><input type="text" ng-model="ship.phone"
+						</div>
+					</li>
+					<li class="line01">
+						<div>
+						<span class="col-xs-3">固定电话<em></em>:
+						</span> <span class="col-xs-9"><input class="form-control" type="text" ng-model="ship.phone"
 														ng-pattern="/([0-9]{3,4}-)?[0-9]{7,8}/" /></span>
+						</div>
+						<div>
+							<span class="col-xs-3">邮箱:</span> <span class="col-xs-9 emaill"><input
+								type="text" ng-model="ship.email" class="form-control"
+								ng-pattern="/^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/" /><i>用于接收订单提醒邮件,便于您及时了解订单状态</i></span>
+						</div>
+					</li>
+					<li class="line02 margin-top40">
+						<div class="col-xs-3">
+							<em>*</em>所在地址:
+						</div> <!--<div class="select fr"><input type="text" placeholder="请选择" ng-model="ship.address" required="true"/><i class="fa fa-angle-down"></i></div>-->
+						<div class="select col-xs-9">
+							<div class="col-xs-4 no-padding">
+								<select required="" class="select-adder form-control" ng-model="ship.province"
+										ng-options="key as key for (key,value) in provinces"
+										ng-change="ship.city='';ship.district='';" required="true">
+									<option value="">省</option>
+								</select>
+							</div>
+							<div class="col-xs-4 no-padding">
+								<select class="select-adder form-control col-xs-4" ng-model="ship.city"
+										ng-options="key as key for (key,value) in provinces[ship.province]"
+										ng-change="ship.district='';" required="true">
+									<option value="">市</option>
+								</select>
+							</div>
+							<div class="col-xs-4 no-padding">
+								<select class="select-adder form-control col-xs-4" ng-model="ship.district"
+										ng-options="value as value for value in provinces[ship.province][ship.city]"
+										required="true">
+									<option value="">区</option>
+								</select>
+							</div>
+						</div>
+					</li>
+					<li class="line02">
+						<div class="col-xs-3">
+							<em>*</em>详细地址:
+						</div>
+						<div class="col-xs-9">
+							<input type="text" class="form-control" ng-model="ship.addressdet" required="true" />
+						</div>
+					</li>
+					<li class="line02">
+						<div class="col-xs-3">地址别名:</div>
+						<div class="col-xs-9 address">
+							<input type="text" class="form-control" ng-model="ship.addalias" /><i>建议填写常用名称:家里/父母家/公司</i>
+						</div>
+					</li>
+				</ul>
+				<div class="many-file-btn text-center">
+					<button class="b2b-btn b2b-btn-submit btn01" ng-click="saveShipAddress(ship)"
+							ng-disabled="shipAddress.$invalid">保存</button>
+					<button href="#" class="b2b-btn b2b-btn-cancel btn02">取消</button>
 				</div>
-				<div class="fr">
-					<span class="fl">邮箱:</span> <span class="fr emaill"><input
-						type="text" ng-model="ship.email"
-						ng-pattern="/^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/" /><i>用于接收订单提醒邮件,便于您及时了解订单状态</i></span>
-				</div>
-			</li>
-			<li class="line02 margin-top40">
-				<div class="fl">
-					<em>*</em>所在地址:
-				</div> <!--<div class="select fr"><input type="text" placeholder="请选择" ng-model="ship.address" required="true"/><i class="fa fa-angle-down"></i></div>-->
-				<div class="select fr">
-					<select required="" class="area-select" ng-model="ship.province"
-							ng-options="key as key for (key,value) in provinces"
-							ng-change="ship.city='';ship.district='';" required="true">
-						<option value="">省</option>
-					</select> <select class="area-select" ng-model="ship.city"
-									  ng-options="key as key for (key,value) in provinces[ship.province]"
-									  ng-change="ship.district='';" required="true">
-					<option value="">市</option>
-				</select> <select class="area-select" ng-model="ship.district"
-								  ng-options="value as value for value in provinces[ship.province][ship.city]"
-								  required="true">
-					<option value="">区</option>
-				</select>
-				</div>
-			</li>
-			<li class="line02">
-				<div class="fl">
-					<em>*</em>详细地址:
-				</div>
-				<div class="fr">
-					<input type="text" ng-model="ship.addressdet" required="true" />
-				</div>
-			</li>
-			<li class="line02">
-				<div class="fl">地址别名:</div>
-				<div class="fr address">
-					<input type="text" ng-model="ship.addalias" /><i>建议填写常用名称:家里/父母家/公司</i>
-				</div>
-			</li>
-		</ul>
-		<div class="many-file-btn">
-			<button class="btn01" ng-click="saveShipAddress(ship)"
-					ng-disabled="shipAddress.$invalid">保存</button>
-			<a href="#" class="btn02">取消</a>
+			</form>
 		</div>
-	</form>
+	</div>
 </div>
 <script src="static/lib/jquery/jquery.min.js"></script>
 <script>

+ 93 - 0
src/main/webapp/resources/view/usercenter/b2b/modal/purc_order_vendor.html

@@ -0,0 +1,93 @@
+<style>
+.headerline .content {
+	width: 200px;
+	font-size: 14px;
+}
+.modal-body {
+	min-height: 350px;
+}
+.modal {
+	position: fixed;
+	top: 70px;
+	left: 0;
+	right: 0;
+	bottom: 0;
+	margin: 0 auto;
+	overflow-y: auto !important;
+}
+
+@media screen and (max-width: 1366px) {
+	.modal {
+ 		top: -20px;
+}
+}
+.form-horizontal .form-control{
+	border: #3578ba 1px solid;
+	height: 36px;
+	line-height: 36px;
+}
+</style>
+<div class="b2b-com-modal b2b-operate-modal">
+	<p class="title">采购订单 - 选择供应商
+		<i class="fa fa-close" ng-click="cancel()"></i>
+	</p>
+	<div class="modal-body" style="padding-top: 0;">
+		<div class="form-group" id="window-search">
+			<div class="text-center" style="margin: 12px 0;">
+				<input type="text" class="form-control input-sm"
+					   required placeholder="输入供应商名称关键字查询" autofocus ng-model="keyword" ng-search="onSearch(keyword)">
+				<a class="btn input-group-addon" ng-click="onSearch(keyword)">搜索</a>
+			</div>
+		</div>
+		<table class="table b2b-modal-table"
+			   ng-table="customerParams">
+			<thead>
+			<tr class="header">
+				<th>UU</th>
+				<th>供应商名称</th>
+				<th>地址</th>
+				<th>操作</th>
+			</tr>
+			</thead>
+			<tbody ng-if="loading">
+			<tr>
+				<td colspan="5">
+					<div class="text-center">
+						<img src="static/img/all/loading.gif">
+					</div>
+				</td>
+			</tr>
+			</tbody>
+			<tbody>
+			<tr ng-repeat="vendor in $data">
+				<td class="text-center" >
+					<a ng-bind="::vendor.vendorEnterprise.uu" ng-click="checkVendor(vendor)" ng-if="!prod && vendor.vendorEnterprise.uu!=venduu"></a>
+					<a ng-bind="::vendor.vendorEnterprise.uu" ng-click="check(vendor)" ng-if="prod && vendor.vendorEnterprise.uu!=venduu"></a>
+					<a ng-bind="::vendor.vendorEnterprise.uu" ng-if="vendor.vendorEnterprise.uu==venduu"></a>
+				</td>
+				<td class="text-center" >
+					<a ng-bind="::vendor.vendorEnterprise.enName" ng-click="checkVendor(vendor)" ng-if="!prod && vendor.vendorEnterprise.uu!=venduu"></a>
+					<a ng-bind="::vendor.vendorEnterprise.enName" ng-click="check(vendor)" ng-if="prod && vendor.vendorEnterprise.uu!=venduu"></a>
+					<a ng-bind="::vendor.vendorEnterprise.enName" ng-if="vendor.vendorEnterprise.uu==venduu"></a>
+				</td>
+				<td class="text-center" >
+					<a ng-bind="::vendor.vendorEnterprise.enAddress" ng-click="checkVendor(vendor)" ng-if="!prod && vendor.vendorEnterprise.uu!=venduu"></a>
+					<a ng-bind="::vendor.vendorEnterprise.enAddress" ng-click="check(vendor)" ng-if="prod && vendor.vendorEnterprise.uu!=venduu"></a>
+					<a ng-bind="::vendor.vendorEnterprise.enAddress" ng-if="vendor.vendorEnterprise.uu==venduu"></a>
+				</td>
+				<td class="text-center" ng-if="prod && vendor.vendorEnterprise.uu!=venduu"><a title="选择" href="javascript:void(0)" ng-click="check(vendor)" style="text-decoration: none;">选择</a></td>
+				<td class="text-center" ng-if="vendor.vendorEnterprise.uu==venduu"><a style="text-decoration: none;">已选择</a></td>
+				<td class="text-center" ng-if="!prod && vendor.vendorEnterprise.uu!=venduu"><a title="选择" href="javascript:void(0)" ng-click="checkVendor(vendor)" style="text-decoration: none;">选择</a></td>
+			</tr>
+			</tbody>
+		</table>
+	</div>
+	<div class="modal-footer" style="text-align: center">
+		<div class="pull-left" ng-if="ensure && prod">
+			<span style="color: red; font-size: 14px;">重新选择供应商将会清掉已经选择的产品信息,请确认是否执行?</span>
+			<br>
+		</div>
+		<button class="b2b-btn b2b-btn-submit" ng-if="ensure && prod" ng-click="checkVendor(vendorInfo)">确定</button>
+		<button class="b2b-btn b2b-btn-cancel" ng-click="cancel()" type="button">取消</button>
+	</div>
+</div>

+ 85 - 0
src/main/webapp/resources/view/usercenter/b2b/modal/purc_uplodaByBatch.html

@@ -0,0 +1,85 @@
+<style>
+	.modal-content {
+		width: 492px;
+		margin: 0 auto;
+	}
+	.step {
+		margin-bottom: 40px;
+	}
+	.step .content {
+		margin-bottom: 10px;
+	}
+	.step .box-item {
+		margin-left: 10px;
+	}
+</style>
+<!--<div class="loading " ng-class="{'in': loading}">
+	&lt;!&ndash;<i></i>&ndash;&gt;
+	<div class="wrap">
+		<div class="outer"></div>
+	</div>
+</div>-->
+<div class="b2b-com-modal">
+	<p class="title">批量导入<i class="fa fa-close" ng-click="cancel()"></i></p>
+	<div class="modal-body" style="min-height: 200px;">
+		<div class="step">
+			<div class="content f14">第一步、下载Excel模板</div>
+			<div class="box-item">
+				<p>
+					<button class="btn btn-success btn-sm" ng-click="download()">下载Excel模板 <i
+							class="fa fa-download"></i></button> 在Excel模板上录入商品信息。
+				</p>
+			</div>
+			<div id="image-box" style="display: none">
+				<div class="x-close-wrap" title="关闭">
+					<a href="javascript:void(0);">&times;</a>
+				</div>
+				<div class="x-floating-wrap"></div>
+				<div class="x-floating">
+					<img />
+				</div>
+			</div>
+		</div>
+		<div class="step">
+			<div class="content f14">第二步、上传已经填好的Excel文件</div>
+			<div class="box-item">
+				<form class="form-horizontal">
+					<div class="form-group">
+						<div class="col-xs-4">
+							<input required ng-file-select accept="*.xls,*.xlsx"
+								   ng-model="myFiles" type="file" ng-multiple="false"
+								   class="form-control input-sm" id="xlsFile" name="xlsFile"
+								   placeholder="请上传.xls或.xlsx文件" />
+						</div>
+						<div class="col-xs-4">
+							<button ng-click="upload()" class="btn btn-success btn-sm">
+								确认上传 <i class="fa fa-upload"></i>
+							</button>
+						</div>
+					</div>
+					<div>
+					</div>
+					<!-- 分页 Start -->
+				</form>
+			</div>
+		</div>
+		<div class="step">
+			<div class="content f14">第三步、信息提示</div>
+			<div class="box-item">
+				<p ng-if="result.total">
+					<span>总共上传{{result.total}}个,成功{{result.success}}个</span>
+				</p>
+				<p ng-if="alters" ng-repeat="a in alters">
+					<span ng-bind="a" class="text-inverse"></span>
+				</p>
+			</div>
+		</div>
+	</div>
+	<div class="modal-footer Deputy">
+		<div class="text-center">
+			<button class="b2b-btn b2b-btn-submit" ng-click="enSure()" type="button">确定</button>
+			<button class="b2b-btn b2b-btn-cancel" ng-click="cancel()" type="button">取消</button>
+		</div>
+	</div>
+</div>
+<!-- block end -->

+ 1 - 1
src/main/webapp/resources/view/vendor/b2b/modal/contact_person_modal.html

@@ -31,7 +31,7 @@
 	}
 </style>
 <div class="cus-person-modal b2b-com-modal" >
-	<p class="title">客户联系人信息 <i class="fa fa-close" ng-click="cancel()"></i></p>
+	<p class="title">联系人信息 <i class="fa fa-close" ng-click="cancel()"></i></p>
 	<form class="contact-info content" name="contactInfo" id="contactInfo">
 		<ul>
 			<li><em><i class="must">*</i>姓名</em><input type="text" placeholder="姓名" ng-model="contact.venduser" required="true" ng-pattern="/^[\u4e00-\u9fa5]{1,6}$|^[\dA-Za-z]{1,12}$/"></li>