Browse Source

公共询价报价页面交互更新

hejq 8 years ago
parent
commit
fc7e399e3e

+ 68 - 62
src/main/webapp/resources/js/index/app.js

@@ -5474,7 +5474,7 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
         }
         }
 
 
         // 保存报价信息
         // 保存报价信息
-        $scope.save = function(inquiryItem) {
+        $scope.save = function(inquiryItem, method) {
             var file = $scope.myFiles, file = file && file.length > 0 ? file[0] : null;// 可以不传附件
             var file = $scope.myFiles, file = file && file.length > 0 ? file[0] : null;// 可以不传附件
             $upload.upload({
             $upload.upload({
                 url: 'pubInquiry/turnToQuotation',
                 url: 'pubInquiry/turnToQuotation',
@@ -5482,7 +5482,7 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
                 method: 'POST',
                 method: 'POST',
                 data: {
                 data: {
                     item: inquiryItem,
                     item: inquiryItem,
-                    method: 'reply'
+                    method: method
                 }
                 }
             }).success(function (data) {
             }).success(function (data) {
                 if (data.item) {
                 if (data.item) {
@@ -23086,18 +23086,17 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
             }
             }
         };
         };
 
 
-        // 获取token信息
-        $scope.getToken = function() {
-            token.info({userType: 'saleinquiry'}, {}, function(data) {
-                $scope.token = data.token;
-            }, function(response) {
-                toaster.pop('error', '提示', response.data);
-            });
+        // 报价
+        $scope.quote = function(inquiryItem) {
             $modal.open({
             $modal.open({
                 animation: true,
                 animation: true,
                 templateUrl: 'static/tpl/index/sale/modal/quote_inquiry.html',
                 templateUrl: 'static/tpl/index/sale/modal/quote_inquiry.html',
-                controller: 'quoteInquiryCtrl',
-                resolve: {}
+                controller: 'QuoteInquiryCtrl',
+                resolve: {
+                    inquiryItem: function () {
+                        return inquiryItem
+                    }
+                }
             }).result.then(function (data) {
             }).result.then(function (data) {
 
 
             }, function () {})
             }, function () {})
@@ -23545,15 +23544,6 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
             }
             }
         };
         };
 
 
-        // // 设置阅读状态
-        // $scope.setReadStatus = function(msg) {
-        //     if(!msg.read) {
-        //         PurcInquiry.setStatus({id: msg.inid}, {}, function(data) {
-        //
-        //         });
-        //     }
-        // }
-
         $scope.searchMethod = false;
         $scope.searchMethod = false;
         var getService = function () {
         var getService = function () {
             return $scope.searchMethod ? PurcPubInquirySearchInfo : PurcPubInquiryNoSearchInfo;
             return $scope.searchMethod ? PurcPubInquirySearchInfo : PurcPubInquiryNoSearchInfo;
@@ -23595,45 +23585,6 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
             }
             }
         });
         });
 
 
-        //获得各分类未阅读数量
-        // var getUnreadCount = function () {
-        //     PurcInquiry.getUnreadCount(null, function (data) {
-        //         $scope.unread = data;
-        //     });
-        // };
-        // getUnreadCount();
-
-        // //设置单据已读
-        // $scope.setOrdersRead = function (id) {
-        //     // 如果单据本身已读,则不发送请求修改数据
-        //     if (!$scope.isUnread(id)){
-        //         return;
-        //     }
-        //     var sourceId = [];
-        //     sourceId.push(id);
-        //     PurcInquiry.setRead({}, sourceId, function (message) {
-        //         getUnreadCount();
-        //         removeByValue($scope.unreadCode, id);
-        //     });
-        // };
-
-        // $scope.setOrdersReadByState = function () {
-        //     if (!$scope.unread.replied || $scope.unread.replied == 0) {
-        //         return;
-        //     }
-        //     PurcInquiry.setReadByState({}, function () {
-        //         getUnreadIds();
-        //         getUnreadCount();
-        //     });
-        // };
-
-        // var getUnreadIds = function () {
-        //     PurcInquiry.getUnreadIds({}, "", function (message) {
-        //         $scope.unreadCode = message.content;
-        //     });
-        // };
-        // getUnreadIds();
-
         $scope.isUnread = function (id) {
         $scope.isUnread = function (id) {
             for (var i in $scope.unreadCode) {
             for (var i in $scope.unreadCode) {
                 if (id == $scope.unreadCode[i]) {
                 if (id == $scope.unreadCode[i]) {
@@ -23821,11 +23772,66 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
             })
             })
         }
         }
     }]);
     }]);
+
     /**
     /**
-     * 公共询价模态框
-     * **/
-    app.controller('quoteInquiryCtrl', ['$scope', '$stateParams', 'toaster', function ($scope, $stateParams, toaster) {
+     * 公共询价模态框(供应商报价)
+     */
+    app.controller('QuoteInquiryCtrl', ['$scope', '$stateParams', 'toaster', 'inquiryItem', '$modalInstance', '$upload', function ($scope, $stateParams, toaster, inquiryItem, $modalInstance, $upload) {
+        $scope.inquiryItem = inquiryItem;
+        $scope.replyPrices = [];
+        $scope.replylapQtys = [];
+        $scope.replyPrices.push(true);
+        $scope.replylapQtys.push(true);
+
+        // 增加一列分段报价
+        $scope.addStep = function (inquiryItem) {
+            $scope.replyPrices.push(true);
+            if (inquiryItem.replies.length >= 5) {
+                toaster.pop('warning', '提示', '最多支持5个分段!');
+            } else {
+                inquiryItem.replies.push({});
+                if (inquiryItem.replies.length != 1) {
+                    $scope.replyPrices.push(true);
+                    $scope.replylapQtys.push(true);
+                }
+            }
+        };
+
+        // 删除一列分段报价
+        $scope.removeStep = function (inquiryItem, stepIndex) {
+            inquiryItem.replies.splice(stepIndex, 1);
+            $scope.replyPrices.splice(stepIndex, 1);
+            $scope.replylapQtys.splice(stepIndex, 1);
+        };
+
+        // 取消,关闭弹出框
+        $scope.cancel = function() {
+            $modalInstance.dismiss();
+        }
 
 
+        // 保存报价信息
+        $scope.save = function(inquiryItem, method) {
+            var file = $scope.myFiles, file = file && file.length > 0 ? file[0] : null;// 可以不传附件
+            $upload.upload({
+                url: 'pubInquiry/turnToQuotation',
+                file: file,
+                method: 'POST',
+                data: {
+                    item: inquiryItem,
+                    method: method
+                }
+            }).success(function (data) {
+                if (data.item) {
+                    item = data.item;
+                }
+                $scope.loading = false;
+                toaster.pop('info', '提示', '报价成功');
+                $scope.tableParams.reload();
+            }).error(function (data) {
+                $scope.loading = false;
+                toaster.pop('error', '附件上传失败');
+            });
+        }
     }])
     }])
     return app;
     return app;
 });
 });

+ 4 - 4
src/main/webapp/resources/tpl/index/baseInfo/modal/quotation_modal.html

@@ -215,8 +215,8 @@
             </div>
             </div>
         </div>
         </div>
     </div>
     </div>
-    <div class="modal-file">
-        <span>附件:</span><a href="javascript:void(0)">1651656.pdf</a>
+    <div class="modal-file" ng-if="inquiryItem.attaches.length > 0" ng-repeat="attach in inquiryItem.attaches">
+        <span>附件:</span><a href="attach.path" ng-bind="attach.name"></a>
     </div>
     </div>
 </div>
 </div>
 <div class="modal-body">
 <div class="modal-body">
@@ -229,8 +229,8 @@
 </div>
 </div>
 <div class="modal-footer">
 <div class="modal-footer">
     <span>确认报价后,将无法修改</span>
     <span>确认报价后,将无法修改</span>
-    <button ng-click="submit(inquiryItem)">确认报价</button>
-    <button ng-click="save(inquiryItem)">保存</button>
+    <button ng-click="save(inquiryItem, 'reply')">确认报价</button>
+    <button ng-click="save(inquiryItem, 'save')">保存</button>
     <button ng-click="cancel()">取消</button>
     <button ng-click="cancel()">取消</button>
 </div>
 </div>
 </div>
 </div>

+ 53 - 49
src/main/webapp/resources/tpl/index/sale/modal/quote_inquiry.html

@@ -118,7 +118,7 @@
     }
     }
 </style>
 </style>
 <div class="modal-header">
 <div class="modal-header">
-    <button type="button" class="close"><b>&times;</b></button>
+    <button type="button" class="close" ng-click="cancel()"><b>&times;</b></button>
     <span>报价详情</span>
     <span>报价详情</span>
 </div>
 </div>
 <div class="modal-body">
 <div class="modal-body">
@@ -127,7 +127,7 @@
             <div class="form-group">
             <div class="form-group">
                 <label for="inputEmail3" class="col-xs-4 control-label">最小订购</label>
                 <label for="inputEmail3" class="col-xs-4 control-label">最小订购</label>
                 <div class="col-xs-8">
                 <div class="col-xs-8">
-                    <input type="text" class="form-control" id="inputEmail3" placeholder="1000">
+                    <input type="text" class="form-control" id="inputEmail3" placeholder="1000" ng-model="inquiryItem.minOrderQty">
                 </div>
                 </div>
             </div>
             </div>
         </div>
         </div>
@@ -135,7 +135,7 @@
             <div class="form-group">
             <div class="form-group">
                 <label for="inputEmail1" class="col-xs-4 control-label">最小包装</label>
                 <label for="inputEmail1" class="col-xs-4 control-label">最小包装</label>
                 <div class="col-xs-8">
                 <div class="col-xs-8">
-                    <input type="text" class="form-control" id="inputEmail1" placeholder="1000">
+                    <input type="text" class="form-control" id="inputEmail1" placeholder="1000" ng-model="inquiryItem.minPackQty">
                 </div>
                 </div>
             </div>
             </div>
         </div>
         </div>
@@ -143,7 +143,7 @@
             <div class="form-group">
             <div class="form-group">
                 <label for="inputEmail2" class="col-xs-4 control-label">交货周期(天)</label>
                 <label for="inputEmail2" class="col-xs-4 control-label">交货周期(天)</label>
                 <div class="col-xs-8">
                 <div class="col-xs-8">
-                    <input type="text" class="form-control" id="inputEmail2" placeholder="20">
+                    <input type="text" class="form-control" id="inputEmail2" placeholder="20" ng-model="inquiryItem.leadtime">
                 </div>
                 </div>
             </div>
             </div>
         </div>
         </div>
@@ -151,9 +151,9 @@
             <div class="form-group">
             <div class="form-group">
                 <label class="col-xs-4 control-label">币种(选择)</label>
                 <label class="col-xs-4 control-label">币种(选择)</label>
                 <div class="col-xs-8">
                 <div class="col-xs-8">
-                    <select name="" id="" class="form-control">
-                        <option value="">RMB</option>
-                        <option value="">YEN</option>
+                    <select name="" id="" class="form-control" inquiryItem="inquiryItem.currency">
+                        <option value="RMB">RMB</option>
+                        <option value="YEN">YEN</option>
                     </select>
                     </select>
                 </div>
                 </div>
             </div>
             </div>
@@ -162,7 +162,7 @@
             <div class="form-group">
             <div class="form-group">
                 <label for="inputEmail4" class="col-xs-4 control-label">税率(%)</label>
                 <label for="inputEmail4" class="col-xs-4 control-label">税率(%)</label>
                 <div class="col-xs-8">
                 <div class="col-xs-8">
-                    <input type="text" class="form-control" id="inputEmail4" placeholder="10">
+                    <input type="text" class="form-control" id="inputEmail4" placeholder="10" ng-model="inquiryItem.taxrate">
                 </div>
                 </div>
             </div>
             </div>
         </div>
         </div>
@@ -174,60 +174,64 @@
                 </div>
                 </div>
             </div>
             </div>
         </div>
         </div>
-        <div class="col-xs-6 form-horizontal">
-            <div class="form-group">
-                <label for="inputEmail6" class="col-xs-4 control-label">分段数量</label>
-                <div class="col-xs-8">
-                    <input type="text" class="form-control" id="inputEmail6">
-                </div>
-            </div>
-        </div>
-        <div class="col-xs-6 form-horizontal">
-            <div class="form-group">
-                <label for="inputEmail7" class="col-xs-4 control-label">价格</label>
-                <div class="col-xs-8">
-                    <input type="text" class="form-control" id="inputEmail7">
-                </div>
-            </div>
-        </div>
-    </div>
-</div>
-<div class="modal-body modal-add">
-    <div class="row" >
-        <div style="position:relative;" ng-repeat="">
-            <i class="fa fa-trash"></i>
+        <div ng-repeat="reply in inquiryItem.replies">
             <div class="col-xs-6 form-horizontal">
             <div class="col-xs-6 form-horizontal">
                 <div class="form-group">
                 <div class="form-group">
-                    <label for="inputNum1" class="col-xs-4 control-label">分段数量</label>
+                    <label for="inputEmail6" class="col-xs-4 control-label">分段数量<span ng-bind="$index + 1" ng-if="inquiryItem.replies.length > 1"></span></label>
                     <div class="col-xs-8">
                     <div class="col-xs-8">
-                        <input type="text" class="form-control" id="inputNum1">
+                        <input type="text" class="form-control" id="inputEmail6" ng-model="reply.lapQty">
                     </div>
                     </div>
                 </div>
                 </div>
             </div>
             </div>
             <div class="col-xs-6 form-horizontal">
             <div class="col-xs-6 form-horizontal">
                 <div class="form-group">
                 <div class="form-group">
-                    <label for="inputNum2" class="col-xs-4 control-label">价格</label>
+                    <label for="inputEmail7" class="col-xs-4 control-label">价格<span ng-bind="$index + 1" ng-if="inquiryItem.replies.length > 1"></span></label>
                     <div class="col-xs-8">
                     <div class="col-xs-8">
-                        <input type="text" class="form-control" id="inputNum2">
+                        <input type="text" class="form-control" id="inputEmail7" ng-model="reply.price">
                     </div>
                     </div>
                 </div>
                 </div>
             </div>
             </div>
+            <a ng-click="removeStep(inquiryItem, $index)" ng-if="!$first"><i class="fa fa-trash"></i></a>
         </div>
         </div>
     </div>
     </div>
-    <div class="modal-file">
-        <span>附件:</span><a href="javascript:void(0)">1651656.pdf</a>
+    <div class="modal-body modal-add">
+        <div class="row" >
+            <div style="position:relative;" ng-repeat="">
+                <i class="fa fa-trash"></i>
+                <div class="col-xs-6 form-horizontal">
+                    <div class="form-group">
+                        <label for="inputNum1" class="col-xs-4 control-label">分段数量</label>
+                        <div class="col-xs-8">
+                            <input type="text" class="form-control" id="inputNum1">
+                        </div>
+                    </div>
+                </div>
+                <div class="col-xs-6 form-horizontal">
+                    <div class="form-group">
+                        <label for="inputNum2" class="col-xs-4 control-label">价格</label>
+                        <div class="col-xs-8">
+                            <input type="text" class="form-control" id="inputNum2">
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="modal-file" ng-if="inquiryItem.attaches.length > 0" ng-repeat="attach in inquiryItem.attaches">
+            <span>附件:</span><a href="attach.path" ng-bind="attach.name"></a>
+        </div>
     </div>
     </div>
-</div>
-<div class="modal-body">
-    <div class="bottom">
-        <a href=""><i class="fa fa-plus"></i>增加分段数量和分段报价</a>
-        <br/>
-        <a href=""><i class="fa fa-plus"></i>添加附件</a>
+    <div class="modal-body">
+        <div class="bottom">
+            <a ng-click="addStep(inquiryItem)"><i class="fa fa-plus"></i>增加分段数量和分段报价</a>
+            <br/>
+            <a href=""><i class="fa fa-plus"></i>添加附件</a>
+            <input type="file" ng-file-select name="file" ng-model="myFiles">
+        </div>
     </div>
     </div>
-</div>
-<div class="modal-footer">
-    <span>确认报价后,将无法修改</span>
-    <button >确认报价</button>
-    <button >保存</button>
-    <button >取消</button>
-</div>
+    <div class="modal-footer">
+        <span>确认报价后,将无法修改</span>
+        <button ng-click="save(inquiryItem, 'reply')">确认报价</button>
+        <button ng-click="save(inquiryItem, 'save')">保存</button>
+        <button ng-click="cancel()">取消</button>
+    </div>
+</div>

+ 1 - 1
src/main/webapp/resources/tpl/index/sale/pubinquiry.html

@@ -433,7 +433,7 @@
 				<div ng-if="inquiryItem.status == 200">
 				<div ng-if="inquiryItem.status == 200">
 					<div ng-if="inquiryItem.inquiry.overdue == 0 && inquiryItem.inquiry.check != 1">
 					<div ng-if="inquiryItem.inquiry.overdue == 0 && inquiryItem.inquiry.check != 1">
 						<div ng-show="!inquiryItem.$editing">
 						<div ng-show="!inquiryItem.$editing">
-							<a ng-click="getToken()">报 价</a>
+							<a ng-click="quote(inquiryItem)">报 价</a>
 						</div>
 						</div>
 					</div>
 					</div>
 					<div ng-if="inquiryItem.inquiry.overdue == 0 && inquiryItem.inquiry.check == 1">
 					<div ng-if="inquiryItem.inquiry.overdue == 0 && inquiryItem.inquiry.check == 1">