소스 검색

1. 标段属性,章节设置,默认值变更
2. 标段属性,章节设置,输入提示

MaiXinRong 6 년 전
부모
커밋
75efcd134b
4개의 변경된 파일39개의 추가작업 그리고 8개의 파일을 삭제
  1. 2 2
      app/const/tender_info.js
  2. 1 1
      app/public/css/main.css
  3. 35 5
      app/public/js/tender.js
  4. 1 0
      app/view/tender/detail.ejs

+ 2 - 2
app/const/tender_info.js

@@ -99,8 +99,8 @@ const defaultInfo = {
         {code: '500', name: '隧道'},
         {code: '600', name: '安全设施及预埋管线'},
         {code: '700', name: '绿化及环境保护'},
-        {code: '800', name: '公路沿线管理用房设施'},
-        {code: '900', name: '监控系统'},
+        {code: '800', name: '机电工程'},
+        {code: '900', name: '房建工程'},
         {code: '1000', name: '收费系统'},
         {code: '1100', name: '通信系统'},
         {code: '1200', name: '消防系统'},

+ 1 - 1
app/public/css/main.css

@@ -539,7 +539,7 @@ font-size: .875rem;
   z-index: 9999
 }
 .modal-height-500{
-  height:500px;
+  height:450px;
   overflow: hidden
 }
 .modal-height-300{

+ 35 - 5
app/public/js/tender.js

@@ -187,6 +187,32 @@ $(document).ready(function() {
         spread.options.showHorizontalScrollbar = false;
         SpreadJsObj.initSheet(spread.getActiveSheet(), spreadSetting);
 
+        function checkSheetData(sheet) {
+            let hint = '';
+            for (let iRow = 0; iRow < sheet.getRowCount(); iRow++) {
+                const cell = sheet.getCell(iRow, 1);
+                const defaultStype = sheet.getDefaultStyle();
+                if (cell.text().length > 50) {
+                    cell.backColor('#f8d7da');
+                    hint = '章节名称的长度超出范围,请重新输入';
+                } else {
+                    cell.backColor(defaultStype.backColor);
+                }
+            }
+            if (hint === '') {
+                $('#hint-6').hide();
+            } else {
+                $('#hint-6').html('<i class="fa fa-smile-o mr-2"></i>' + hint).show();
+            }
+        }
+
+        spread.bind(spreadNS.Events.EditEnding, function (e, info) {
+            checkSheetData(info.sheet);
+        });
+        spread.bind(spreadNS.Events.ClipboardPasted, function (e, info) {
+            checkSheetData(info.sheet);
+        });
+
         function loadChapterProperty() {
             SpreadJsObj.loadSheetData(spread.getActiveSheet(), SpreadJsObj.DataType.Data, property.chapter);
         }
@@ -203,6 +229,11 @@ $(document).ready(function() {
                 for (let iCol = 0; iCol < sheet.getColumnCount(); iCol++) {
                     const col = spreadSetting.cols[iCol];
                     data[col.field] = sheet.getText(iRow, iCol);
+                    if (col.field === 'name') {
+                        if (data.name.length > 50) {
+                            return null;
+                        }
+                    }
                 }
                 result.push(data);
             }
@@ -455,17 +486,16 @@ $(document).ready(function() {
     $('#cancel-6').click(() => {
         chapterObj.loadChapterProperty();
         chapterObj.setReadOnly(true);
+        $('#hint-6').hide();
         $('#post-6').parent().hide();
         $('#edit-6').parent().show();
     });
     // 提交
     $('#post-6').click(() => {
-        const prop = {
-            chapter: chapterObj.getNewChapterData(),
-        };
+        const chapter = chapterObj.getNewChapterData();
+        if (!chapter) { return; }
         const tenderId = window.location.pathname.split('/')[2];
-        console.log(prop);
-        postData('/tender/' + tenderId + '/save', prop, function (data) {
+        postData('/tender/' + tenderId + '/save', { chapter: chapter }, function (data) {
             chapterObj.setReadOnly(true);
             property.chapter = data.chapter;
             $('#post-6').parent().hide();

+ 1 - 0
app/view/tender/detail.ejs

@@ -653,6 +653,7 @@
                                 <div class="tab-pane fade" id="v-pills-6" role="tabpanel" >
                                     <!--操作-->
                                     <div class="d-flex justify-content-end mt-3">
+                                        <div class="alert alert-danger m-0 p-1 px-2" id="hint-6" style="display: none"><i class="fa fa-smile-o mr-2"></i>A simple danger alert—check it out!</div>
                                         <span>
                                             <button type="button" class="btn btn-sm btn-outline-primary" id="edit-6">编辑</button>
                                         </span>