Преглед на файлове

Merge branch 'master' of https://git.agilestar.cn/spfm/spfm-market-front into hjw-internetAssessment

hujunwei@agilestar.cn преди 2 години
родител
ревизия
a267440075
променени са 50 файла, в които са добавени 64989 реда и са изтрити 1759 реда
  1. 5 0
      .gitignore
  2. 7 7
      package.json
  3. 2 1
      public/index.html
  4. 22904 0
      public/luckSheetExcel.js
  5. 4151 0
      public/luckysheet.umd.js
  6. 42 0
      public/static/js/luckysheet/demoData/demoFeature.js
  7. 1578 0
      public/static/js/luckysheet/demoData/sheetCell.js
  8. 4918 0
      public/static/js/luckysheet/demoData/sheetChart.js
  9. 67 0
      public/static/js/luckysheet/demoData/sheetComment.js
  10. 6541 0
      public/static/js/luckysheet/demoData/sheetConditionFormat.js
  11. 579 0
      public/static/js/luckysheet/demoData/sheetDataVerification.js
  12. 6600 0
      public/static/js/luckysheet/demoData/sheetFormula.js
  13. 159 0
      public/static/js/luckysheet/demoData/sheetPicture.js
  14. 189 0
      public/static/js/luckysheet/demoData/sheetPivotTable.js
  15. 741 0
      public/static/js/luckysheet/demoData/sheetPivotTableData.js
  16. 7066 0
      public/static/js/luckysheet/demoData/sheetSparkline.js
  17. 1068 0
      public/static/js/luckysheet/demoData/sheetTable.js
  18. 1944 0
      public/static/js/luckysheet/index.html
  19. 0 1
      public/static/js/url.js
  20. 637 0
      public/static/views/onlineShareExcelMarkets.html
  21. 720 0
      public/static/views/onlineShareExcels.html
  22. 3 0
      src/assets/js/url.js
  23. 1 0
      src/assets/js/util.js
  24. 2 2
      src/components/newTree.vue
  25. 181 175
      src/components/uploadDown.vue
  26. 4 0
      src/config/dev.js
  27. 4 0
      src/main.js
  28. 161 357
      src/pages/main/advertising/businessHall.vue
  29. 137 152
      src/pages/main/advertising/contractCap.vue
  30. 188 174
      src/pages/main/advertising/index.vue
  31. 447 0
      src/pages/main/advertising/materialAppMessage.vue
  32. 415 0
      src/pages/main/advertising/materialAppNum.vue
  33. 28 24
      src/pages/main/advertising/materialApplistatic.vue
  34. 15 0
      src/pages/main/advertising/supplier.vue
  35. 58 12
      src/pages/main/documentCollection/documentCollectionApprovalExcel.vue
  36. 1 1
      src/pages/main/documentCollection/newTree.vue
  37. 0 65
      src/pages/main/leader/demand/demandHome.vue
  38. 232 0
      src/pages/main/luckySheet/index.vue
  39. 94 69
      src/pages/main/onlineExcel/index.vue
  40. 40 13
      src/pages/main/onlineExcelMarket/index.vue
  41. 1011 0
      src/pages/main/onlineExcelMarkets/index.vue
  42. 1098 0
      src/pages/main/onlineExcels/index.vue
  43. 6 7
      src/pages/main/performance/mould.vue
  44. 742 641
      src/pages/main/terminal/advertincrease.vue
  45. 20 12
      src/pages/main/terminals/advchecks.vue
  46. 6 3
      src/pages/main/terminals/advertincreases.vue
  47. 120 31
      src/pages/main/terminals/components/adverts.vue
  48. 43 3
      src/router/index.js
  49. 2 2
      vue.config.js
  50. 12 7
      yarn.lock

+ 5 - 0
.gitignore

@@ -1,8 +1,13 @@
 .DS_Store
 node_modules
 /dist
+<<<<<<< HEAD
+dist.zip
+
+=======
 /dist-test
 dist.zip
+>>>>>>> 2e174cfb914257ff0e2bab0e76423d7d1fe78aba
 # local env files
 .env.local
 .env.*.local

+ 7 - 7
package.json

@@ -3,13 +3,13 @@
   "version": "0.1.0",
   "private": true,
   "scripts": {
-    "abc":"vue-cli-service build",
-    "serve": "vue-cli-service serve --mode development", 
-    "serve:test": "vue-cli-service serve --mode test", 
-    "build": "vue-cli-service build  --mode development", 
-    "build:devs": "vue-cli-service build  --mode devs", 
+    "abc": "vue-cli-service build",
+    "serve": "vue-cli-service serve --mode development",
+    "serve:test": "vue-cli-service serve --mode test",
+    "build": "vue-cli-service build  --mode development",
+    "build:devs": "vue-cli-service build  --mode devs",
     "build:test": "vue-cli-service build  --mode test",
-    "build:next": "vue-cli-service build  --mode production", 
+    "build:next": "vue-cli-service build  --mode production",
     "lint": "vue-cli-service lint",
     "analyz": "vue-cli-service build"
   },
@@ -28,7 +28,7 @@
     "file-saver": "^2.0.5",
     "form-making": "^1.2.10",
     "html2canvas": "^1.0.0-rc.7",
-    "jquery": "^3.6.0",
+    "jquery": "^3.6.4",
     "jquery-ui": "^1.12.1",
     "js-audio-recorder": "^1.0.7",
     "jsplumb": "^2.15.5",

+ 2 - 1
public/index.html

@@ -21,6 +21,7 @@
   <link rel='stylesheet' href='/static/js/luckysheet/assets/iconfont/iconfont.css' />
   <script src="./static/js/base64.min.js"></script>
   <script src="/static/js/ace.js"></script>
+  <script src="./static/js/jquery-1.8.2.min.js"></script>
 </head>
 
 <body>
@@ -40,4 +41,4 @@
   </script>
 </body>
 
-</html>
+</html>

Файловите разлики са ограничени, защото са твърде много
+ 22904 - 0
public/luckSheetExcel.js


Файловите разлики са ограничени, защото са твърде много
+ 4151 - 0
public/luckysheet.umd.js


+ 42 - 0
public/static/js/luckysheet/demoData/demoFeature.js

@@ -0,0 +1,42 @@
+
+// Features specially written for demo
+
+(function() {
+
+    // language
+    function language(params) {
+        
+        var lang = navigator.language||navigator.userLanguage;//常规浏览器语言和IE浏览器
+        lang = lang.substr(0, 2);//截取lang前2位字符
+
+        return lang;
+
+    }
+    // Tencent Forum Link Button
+    function supportButton() {
+        const text = language() === 'zh' ? '反馈' : 'Forum';
+        const link = language() === 'zh' ? 'https://support.qq.com/product/288322' : 'https://groups.google.com/g/luckysheet';
+
+        document.querySelector("body").insertAdjacentHTML('beforeend', '<a id="container" href="'+ link +'" target="_blank" style="z-index:2;width:50px;height:50px;line-height:50px;position:fixed;right:40px;bottom:86px;border-radius:50px;cursor:pointer;background:rgb(71,133,249);color:#fff;text-align:center;text-decoration:none;">'+ text +'</a>');
+    }
+    
+    supportButton()
+
+    /**
+     * Get url parameters
+     */
+    function getRequest() {
+        var vars = {};
+        var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,    
+        function(m,key,value) {
+          vars[key] = value;
+        });
+        return vars;
+    }
+
+    window.luckysheetDemoUtil = {
+        language:language,
+        getRequest:getRequest
+    }
+    
+})()

Файловите разлики са ограничени, защото са твърде много
+ 1578 - 0
public/static/js/luckysheet/demoData/sheetCell.js


Файловите разлики са ограничени, защото са твърде много
+ 4918 - 0
public/static/js/luckysheet/demoData/sheetChart.js


+ 67 - 0
public/static/js/luckysheet/demoData/sheetComment.js

@@ -0,0 +1,67 @@
+window.sheetComment = {
+	"name": "Comment",
+	"color": "",
+	"config": {
+		"columnlen": {
+			"2": 102
+		}
+	},
+	"index": "5",
+	"chart": [],
+	"status": 0,
+	"order": "5",
+	"column": 18,
+	"row": 36,
+	"celldata": [{
+		"r": 2,
+		"c": 2,
+		"v": {
+			"m": "HoverShown",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "HoverShown",
+			"bl": 1,
+			"ps": {
+				"left": null,
+				"top": null,
+				"width": null,
+				"height": null,
+				"value": "Hello world!",
+				"isshow": false
+			}
+		}
+	}, {
+		"r": 7,
+		"c": 2,
+		"v": {
+			"m": "Size",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Size",
+			"bl": 1,
+			"ps": {
+				"left": null,
+				"top": null,
+				"width": null,
+				"height": null,
+				"value": "Hello,world!",
+				"isshow": true
+			}
+		}
+	}],
+	"ch_width": 4748,
+	"rh_height": 1790,
+	"luckysheet_select_save": [{
+		"row": [0, 0],
+		"column": [0, 0]
+	}],
+	"luckysheet_selection_range": [],
+	"scrollLeft": 0,
+	"scrollTop": 0
+}
+
+// export default sheetComment;

Файловите разлики са ограничени, защото са твърде много
+ 6541 - 0
public/static/js/luckysheet/demoData/sheetConditionFormat.js


Файловите разлики са ограничени, защото са твърде много
+ 579 - 0
public/static/js/luckysheet/demoData/sheetDataVerification.js


Файловите разлики са ограничени, защото са твърде много
+ 6600 - 0
public/static/js/luckysheet/demoData/sheetFormula.js


Файловите разлики са ограничени, защото са твърде много
+ 159 - 0
public/static/js/luckysheet/demoData/sheetPicture.js


+ 189 - 0
public/static/js/luckysheet/demoData/sheetPivotTable.js

@@ -0,0 +1,189 @@
+window.sheetPivotTable = {
+	"name": "PivotTable",
+	"color": "",
+	"config": {},
+	"index": "7",
+	"chart": [],
+	"status": 0,
+	"order": "7",
+	"column": 18,
+	"row": 36,
+	"celldata": [{
+		"r": 0,
+		"c": 0,
+		"v": "count:score"
+	}, {
+		"r": 0,
+		"c": 1,
+		"v": "science"
+	}, {
+		"r": 0,
+		"c": 2,
+		"v": "mathematics"
+	}, {
+		"r": 0,
+		"c": 3,
+		"v": "foreign language"
+	}, {
+		"r": 0,
+		"c": 4,
+		"v": "English"
+	}, {
+		"r": 0,
+		"c": 5,
+		"v": "total"
+	}, {
+		"r": 1,
+		"c": 0,
+		"v": "Alex"
+	}, {
+		"r": 1,
+		"c": 1,
+		"v": 1
+	}, {
+		"r": 1,
+		"c": 2,
+		"v": 1
+	}, {
+		"r": 1,
+		"c": 3,
+		"v": 1
+	}, {
+		"r": 1,
+		"c": 4,
+		"v": 1
+	}, {
+		"r": 1,
+		"c": 5,
+		"v": 4
+	}, {
+		"r": 2,
+		"c": 0,
+		"v": "Joy"
+	}, {
+		"r": 2,
+		"c": 1,
+		"v": 1
+	}, {
+		"r": 2,
+		"c": 2,
+		"v": 1
+	}, {
+		"r": 2,
+		"c": 3,
+		"v": 1
+	}, {
+		"r": 2,
+		"c": 4,
+		"v": 1
+	}, {
+		"r": 2,
+		"c": 5,
+		"v": 4
+	}, {
+		"r": 3,
+		"c": 0,
+		"v": "Tim"
+	}, {
+		"r": 3,
+		"c": 1,
+		"v": 1
+	}, {
+		"r": 3,
+		"c": 2,
+		"v": 1
+	}, {
+		"r": 3,
+		"c": 3,
+		"v": 1
+	}, {
+		"r": 3,
+		"c": 4,
+		"v": 1
+	}, {
+		"r": 3,
+		"c": 5,
+		"v": 4
+	}, {
+		"r": 4,
+		"c": 0,
+		"v": "total"
+	}, {
+		"r": 4,
+		"c": 1,
+		"v": 3
+	}, {
+		"r": 4,
+		"c": 2,
+		"v": 3
+	}, {
+		"r": 4,
+		"c": 3,
+		"v": 3
+	}, {
+		"r": 4,
+		"c": 4,
+		"v": 3
+	}, {
+		"r": 4,
+		"c": 5,
+		"v": 12
+	}],
+	"ch_width": 4748,
+	"rh_height": 1790,
+	"luckysheet_select_save": [{
+		"row": [0, 0],
+		"column": [0, 0]
+	}],
+	"luckysheet_selection_range": [],
+	"scrollLeft": 0,
+	"scrollTop": 0,
+	"isPivotTable": true,
+	"pivotTable": {
+		"pivot_select_save": {
+			"left": 0,
+			"width": 73,
+			"top": 0,
+			"height": 19,
+			"left_move": 0,
+			"width_move": 369,
+			"top_move": 0,
+			"height_move": 259,
+			"row": [0, 12],
+			"column": [0, 4],
+			"row_focus": 0,
+			"column_focus": 0
+		},
+		"pivotDataSheetIndex": 6, //The sheet index where the source data is located
+		"column": [{
+			"index": 3,
+			"name": "subject",
+			"fullname": "subject"
+		}],
+		"row": [{
+			"index": 1,
+			"name": "student",
+			"fullname": "student"
+		}],
+		"filter": [],
+		"values": [{
+			"index": 4,
+			"name": "score",
+			"fullname": "count:score",
+			"sumtype": "COUNTA",
+			"nameindex": 0
+		}],
+		"showType": "column",
+		"pivotDatas": [
+			["count:score", "science", "mathematics", "foreign language", "English", "total"],
+			["Alex", 1, 1, 1, 1, 4],
+			["Joy", 1, 1, 1, 1, 4],
+			["Tim", 1, 1, 1, 1, 4],
+			["total", 3, 3, 3, 3, 12]
+		],
+		"drawPivotTable": false,
+		"pivotTableBoundary": [5, 6]
+	}
+}
+
+// export default sheetPivotTable;

+ 741 - 0
public/static/js/luckysheet/demoData/sheetPivotTableData.js

@@ -0,0 +1,741 @@
+window.sheetPivotTableData = {
+	"name": "PivotTableData",
+	"color": "",
+	"config": {
+		"merge": {}
+	},
+	"index": "6",
+	"chart": [],
+	"status": 0,
+	"order": "6",
+	"hide": 0,
+	"column": 18,
+	"row": 36,
+	"celldata": [{
+		"r": 0,
+		"c": 0,
+		"v": {
+			"m": "Mock test",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Mock test"
+		}
+	}, {
+		"r": 0,
+		"c": 1,
+		"v": {
+			"m": "student",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "student"
+		}
+	}, {
+		"r": 0,
+		"c": 2,
+		"v": {
+			"m": "class",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "class"
+		}
+	}, {
+		"r": 0,
+		"c": 3,
+		"v": {
+			"m": "subject",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "subject"
+		}
+	}, {
+		"r": 0,
+		"c": 4,
+		"v": {
+			"m": "score",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "score"
+		}
+	}, {
+		"r": 1,
+		"c": 0,
+		"v": {
+			"m": "first round",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "first round"
+		}
+	}, {
+		"r": 1,
+		"c": 1,
+		"v": {
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Joy",
+			"m": "Joy"
+		}
+	}, {
+		"r": 1,
+		"c": 2,
+		"v": {
+			"m": "Class one",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Class one"
+		}
+	}, {
+		"r": 1,
+		"c": 3,
+		"v": {
+			"m": "English",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "English"
+		}
+	}, {
+		"r": 1,
+		"c": 4,
+		"v": {
+			"v": 96,
+			"ct": {
+				"fa": "General",
+				"t": "n"
+			},
+			"m": "96"
+		}
+	}, {
+		"r": 2,
+		"c": 0,
+		"v": {
+			"m": "first round",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "first round"
+		}
+	}, {
+		"r": 2,
+		"c": 1,
+		"v": {
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Joy",
+			"m": "Joy"
+		}
+	}, {
+		"r": 2,
+		"c": 2,
+		"v": {
+			"m": "Class one",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Class one"
+		}
+	}, {
+		"r": 2,
+		"c": 3,
+		"v": {
+			"m": "mathematics",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "mathematics"
+		}
+	}, {
+		"r": 2,
+		"c": 4,
+		"v": {
+			"v": 110,
+			"ct": {
+				"fa": "General",
+				"t": "n"
+			},
+			"m": "110"
+		}
+	}, {
+		"r": 3,
+		"c": 0,
+		"v": {
+			"m": "first round",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "first round"
+		}
+	}, {
+		"r": 3,
+		"c": 1,
+		"v": {
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Joy",
+			"m": "Joy"
+		}
+	}, {
+		"r": 3,
+		"c": 2,
+		"v": {
+			"m": "Class one",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Class one"
+		}
+	}, {
+		"r": 3,
+		"c": 3,
+		"v": {
+			"m": "foreign language",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "foreign language"
+		}
+	}, {
+		"r": 3,
+		"c": 4,
+		"v": {
+			"v": 87,
+			"ct": {
+				"fa": "General",
+				"t": "n"
+			},
+			"m": "87"
+		}
+	}, {
+		"r": 4,
+		"c": 0,
+		"v": {
+			"m": "first round",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "first round"
+		}
+	}, {
+		"r": 4,
+		"c": 1,
+		"v": {
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Joy",
+			"m": "Joy"
+		}
+	}, {
+		"r": 4,
+		"c": 2,
+		"v": {
+			"m": "Class one",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Class one"
+		}
+	}, {
+		"r": 4,
+		"c": 3,
+		"v": {
+			"m": "science",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "science"
+		}
+	}, {
+		"r": 4,
+		"c": 4,
+		"v": {
+			"v": 266,
+			"ct": {
+				"fa": "General",
+				"t": "n"
+			},
+			"m": "266"
+		}
+	}, {
+		"r": 5,
+		"c": 0,
+		"v": {
+			"m": "first round",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "first round"
+		}
+	}, {
+		"r": 5,
+		"c": 1,
+		"v": {
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Tim",
+			"m": "Tim"
+		}
+	}, {
+		"r": 5,
+		"c": 2,
+		"v": {
+			"m": "Class one",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Class one"
+		}
+	}, {
+		"r": 5,
+		"c": 3,
+		"v": {
+			"m": "English",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "English"
+		}
+	}, {
+		"r": 5,
+		"c": 4,
+		"v": {
+			"v": 92,
+			"ct": {
+				"fa": "General",
+				"t": "n"
+			},
+			"m": "92"
+		}
+	}, {
+		"r": 6,
+		"c": 0,
+		"v": {
+			"m": "first round",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "first round"
+		}
+	}, {
+		"r": 6,
+		"c": 1,
+		"v": {
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Tim",
+			"m": "Tim"
+		}
+	}, {
+		"r": 6,
+		"c": 2,
+		"v": {
+			"m": "Class one",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Class one"
+		}
+	}, {
+		"r": 6,
+		"c": 3,
+		"v": {
+			"m": "mathematics",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "mathematics"
+		}
+	}, {
+		"r": 6,
+		"c": 4,
+		"v": {
+			"v": 100,
+			"ct": {
+				"fa": "General",
+				"t": "n"
+			},
+			"m": "100"
+		}
+	}, {
+		"r": 7,
+		"c": 0,
+		"v": {
+			"m": "first round",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "first round"
+		}
+	}, {
+		"r": 7,
+		"c": 1,
+		"v": {
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Tim",
+			"m": "Tim"
+		}
+	}, {
+		"r": 7,
+		"c": 2,
+		"v": {
+			"m": "Class one",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Class one"
+		}
+	}, {
+		"r": 7,
+		"c": 3,
+		"v": {
+			"m": "foreign language",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "foreign language"
+		}
+	}, {
+		"r": 7,
+		"c": 4,
+		"v": {
+			"v": 90,
+			"ct": {
+				"fa": "General",
+				"t": "n"
+			},
+			"m": "90"
+		}
+	}, {
+		"r": 8,
+		"c": 0,
+		"v": {
+			"m": "first round",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "first round"
+		}
+	}, {
+		"r": 8,
+		"c": 1,
+		"v": {
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Tim",
+			"m": "Tim"
+		}
+	}, {
+		"r": 8,
+		"c": 2,
+		"v": {
+			"m": "Class one",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Class one"
+		}
+	}, {
+		"r": 8,
+		"c": 3,
+		"v": {
+			"m": "science",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "science"
+		}
+	}, {
+		"r": 8,
+		"c": 4,
+		"v": {
+			"v": 255,
+			"ct": {
+				"fa": "General",
+				"t": "n"
+			},
+			"m": "255"
+		}
+	}, {
+		"r": 9,
+		"c": 0,
+		"v": {
+			"m": "first round",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "first round"
+		}
+	}, {
+		"r": 9,
+		"c": 1,
+		"v": {
+			"m": "Alex",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Alex"
+		}
+	}, {
+		"r": 9,
+		"c": 2,
+		"v": {
+			"m": "Class one",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Class one"
+		}
+	}, {
+		"r": 9,
+		"c": 3,
+		"v": {
+			"m": "English",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "English"
+		}
+	}, {
+		"r": 9,
+		"c": 4,
+		"v": {
+			"v": 108,
+			"ct": {
+				"fa": "General",
+				"t": "n"
+			},
+			"m": "108"
+		}
+	}, {
+		"r": 10,
+		"c": 0,
+		"v": {
+			"m": "first round",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "first round"
+		}
+	}, {
+		"r": 10,
+		"c": 1,
+		"v": {
+			"m": "Alex",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Alex"
+		}
+	}, {
+		"r": 10,
+		"c": 2,
+		"v": {
+			"m": "Class one",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Class one"
+		}
+	}, {
+		"r": 10,
+		"c": 3,
+		"v": {
+			"m": "mathematics",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "mathematics"
+		}
+	}, {
+		"r": 10,
+		"c": 4,
+		"v": {
+			"v": 117,
+			"ct": {
+				"fa": "General",
+				"t": "n"
+			},
+			"m": "117"
+		}
+	}, {
+		"r": 11,
+		"c": 0,
+		"v": {
+			"m": "first round",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "first round"
+		}
+	}, {
+		"r": 11,
+		"c": 1,
+		"v": {
+			"m": "Alex",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Alex"
+		}
+	}, {
+		"r": 11,
+		"c": 2,
+		"v": {
+			"m": "Class one",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Class one"
+		}
+	}, {
+		"r": 11,
+		"c": 3,
+		"v": {
+			"m": "foreign language",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "foreign language"
+		}
+	}, {
+		"r": 11,
+		"c": 4,
+		"v": {
+			"v": 88,
+			"ct": {
+				"fa": "General",
+				"t": "n"
+			},
+			"m": "88"
+		}
+	}, {
+		"r": 12,
+		"c": 0,
+		"v": {
+			"m": "first round",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "first round"
+		}
+	}, {
+		"r": 12,
+		"c": 1,
+		"v": {
+			"m": "Alex",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Alex"
+		}
+	}, {
+		"r": 12,
+		"c": 2,
+		"v": {
+			"m": "Class one",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "Class one"
+		}
+	}, {
+		"r": 12,
+		"c": 3,
+		"v": {
+			"m": "science",
+			"ct": {
+				"fa": "General",
+				"t": "g"
+			},
+			"v": "science"
+		}
+	}, {
+		"r": 12,
+		"c": 4,
+		"v": {
+			"v": 278,
+			"ct": {
+				"fa": "General",
+				"t": "n"
+			},
+			"m": "278"
+		}
+	}],
+	"ch_width": 4748,
+	"rh_height": 1790,
+	"luckysheet_select_save": [{
+		"row": [0, 0],
+		"column": [0, 0]
+	}],
+	"luckysheet_selection_range": [],
+	"scrollLeft": 0,
+	"scrollTop": 0
+}
+
+// export default sheetPivotTableData;

Файловите разлики са ограничени, защото са твърде много
+ 7066 - 0
public/static/js/luckysheet/demoData/sheetSparkline.js


Файловите разлики са ограничени, защото са твърде много
+ 1068 - 0
public/static/js/luckysheet/demoData/sheetTable.js


Файловите разлики са ограничени, защото са твърде много
+ 1944 - 0
public/static/js/luckysheet/index.html


+ 0 - 1
public/static/js/url.js

@@ -4,7 +4,6 @@
 // var ctx = "http://192.168.1.250:8890"//agile_sign_web的服务
  
 var ctx = apiConfig.ctx //agile_sign_web的服务
-var oldVersion = apiConfig.oldVersion //agile_sign_seal_web的服务
 //  var ctx = "http://192.168.1.79:8080"
 var rootD = apiConfig.rootD 
 var cv = 2; //1  开发。2 测试

Файловите разлики са ограничени, защото са твърде много
+ 637 - 0
public/static/views/onlineShareExcelMarkets.html


Файловите разлики са ограничени, защото са твърде много
+ 720 - 0
public/static/views/onlineShareExcels.html


+ 3 - 0
src/assets/js/url.js

@@ -26,6 +26,9 @@ const urls = {
         getQueryMultiTaskId:ctxForm + "/queryMultiTaskId",
         getComplateLastMan:ctxForm + "/complateLastMan"
     },
+    excelList:{
+
+    },
     distribute: {
         sendMsg: ctx + '/api/distribute/create', //创建分发
         findMyComment: ctx + '/api/comment/findMyComment', //查询

+ 1 - 0
src/assets/js/util.js

@@ -1,6 +1,7 @@
 //
 // import accounting from 'accounting-js'
 // import idcard from 'idcard' //https://www.npmjs.com/package/idcard
+
 let moment = require("moment");
 let Decimal = require('decimal');
 let util = {

+ 2 - 2
src/components/newTree.vue

@@ -218,7 +218,7 @@ export default {
   display: flex;
   width: 100%;
   justify-content: center;
-  height: 80%;
+  height: 100%;
 }
 
 ::v-deep .el-icon-caret-right {
@@ -242,7 +242,7 @@ export default {
 }
 
 .flex-transfer {
-  width: 50%;
+  width: 80%;
   height: 100%;
   margin-left: 30px;
 }

+ 181 - 175
src/components/uploadDown.vue

@@ -1,197 +1,203 @@
 <template>
-    <div class="back-box">
-        <div v-for="item in infolist" :key="item.id" @click="downcheck(item)">
-            <i class="iconfont icon-word" v-if="item.type==='word'"></i>
-            <i class="iconfont icon-excel" v-if="item.type==='excel'"></i>
-            <i class="iconfont icon-ppt" v-if="item.type==='ppt'"></i>
-            <i class="iconfont icon-wenjian" v-if="item.type==='wenjian'"></i>
-            <i class="el-icon-picture" v-if="item.type==='png'"></i>
-            <el-tooltip class="item" effect="dark" :content="item.fileName" placement="right" :enterable="false">
-                <span class="tab-long">{{item.fileName}}</span>
-            </el-tooltip>
-            <div class="seedown" v-if="datalist.type===2">
-                <a @click="uploaddown(item)">下载</a>
-                <a @click="uploadsee(item)">预览</a>
-            </div>
-        </div>
-        <div class="if-box-top" v-if="ifrshow" @keyup.esc="ifrshow=false">
-            <i class="el-icon-close" @click="ifrshow=false"></i>
-            <iframe
-                height="100%"
-                width="100%"
-                :src="srcsc">
-            </iframe>
-        </div>
+  <div class="back-box">
+    <div v-for="item in infolist" :key="item.id" @click="downcheck(item)">
+      <i class="iconfont icon-word" v-if="item.type === 'word'"></i>
+      <i class="iconfont icon-excel" v-if="item.type === 'excel'"></i>
+      <i class="iconfont icon-ppt" v-if="item.type === 'ppt'"></i>
+      <i class="iconfont icon-wenjian" v-if="item.type === 'wenjian'"></i>
+      <i class="el-icon-picture" v-if="item.type === 'png'"></i>
+      <el-tooltip
+        class="item"
+        effect="dark"
+        :content="item.fileName"
+        placement="right"
+        :enterable="false"
+      >
+        <span class="tab-long">{{ item.fileName }}</span>
+      </el-tooltip>
+      <div class="seedown" v-if="datalist.type === 2">
+        <a @click="uploaddown(item)">下载</a>
+        <a @click="uploadsee(item)">预览</a>
+      </div>
     </div>
+    <div class="if-box-top" v-if="ifrshow" @keyup.esc="ifrshow = false">
+      <i class="el-icon-close" @click="ifrshow = false"></i>
+      <iframe height="100%" width="100%" :src="srcsc"> </iframe>
+    </div>
+  </div>
 </template>
 <script>
-    export default {
-        props: ['datalist', 'dialogStatus'],
-        data() {
-            return {
-                infolist: [],
-                status: false,
-                srcsc: '',
-                ifrshow:false,
-            }
-        },
-        methods: {
-            downcheck(v) {
-                if (this.datalist.type === 1) {
-                    this.uploaddown(v);
-                }
-            },
-            uploadsee(v) {
-                let url = encodeURIComponent(Base64.encode(v.callPath));
-                this.srcsc = 'http://10.230.15.228:8012/onlinePreview?url=' + url;
-                this.ifrshow=true;
-                // window.open('http://114.215.71.182:8012/onlinePreview?url=' + url);
-            },
-            //下载e
-            uploaddown(v) {
-                let fileData = v;
-                this.$http({
-                    url: this.datalist.url,
-                    method: "post",
-                    headers: {
-                        "Content-Type": "application/json",
-                    },
-                    responseType: "blob",
-                    data: {"id": fileData.id, "fileName": fileData.fileName},
-                }).then((response) => {
-                    if (window.navigator && window.navigator.msSaveOrOpenBlob) {
-                        let blob = new Blob([response.data], {
-                            type: 'application/vnd.ms-excel'
-                        });
-                        window.navigator.msSaveOrOpenBlob(blob, fileData.fileName);
-                    } else {
-                        /* 火狐谷歌的文件下载方式 */
-                        var blob = new Blob([response.data])
-                        var downloadElement = document.createElement('a')
-                        var href = window.URL.createObjectURL(blob);
-                        downloadElement.href = href;
-                        downloadElement.download = fileData.fileName;
-                        document.body.appendChild(downloadElement);
-                        downloadElement.click();
-                        document.body.removeChild(downloadElement);
-                        window.URL.revokeObjectURL(href);
-                    }
-                });
-            },
-            dataHandle() {
-                this.infolist = this.datalist.attList;
-                if (this.infolist) {
-                    for (let i = 0; i < this.infolist.length; i++) {
-                        let f = this.infolist[i].fileName.split(".");
-                        let type = f[f.length - 1];
-                        if (type === 'doc' || type === 'docx') {
-                            this.infolist[i].type = 'word';
-                        } else if (type === 'ppt') {
-                            this.infolist[i].type = 'ppt';
-                        } else if (type === 'xlsx' || type === 'xls') {
-                            this.infolist[i].type = 'excel';
-                        } else if (type === 'png' || type === 'jpg' || type === 'svg' || type === 'gif' || type === 'psd') {
-                            this.infolist[i].type = 'png';
-                        } else {
-                            this.infolist[i].type = 'wenjian';
-                        }
-                    }
-                }
-            }
-        },
-        mounted() {
-
-        },
-        created() {
-            this.dataHandle();
+export default {
+  props: ["datalist", "dialogStatus"],
+  data() {
+    return {
+      infolist: [],
+      status: false,
+      srcsc: "",
+      ifrshow: false,
+    };
+  },
+  methods: {
+    downcheck(v) {
+      if (this.datalist.type === 1) {
+        this.uploaddown(v);
+      }
+    },
+    uploadsee(v) {
+      let url = encodeURIComponent(v.callPath);
+      this.srcsc = "http://114.215.71.182:8012/onlinePreview?url=" + url;
+      this.ifrshow = true;
+      // window.open('http://114.215.71.182:8012/onlinePreview?url=' + url);
+    },
+    //下载e
+    uploaddown(v) {
+      let fileData = v;
+      this.$http({
+        url: this.datalist.url,
+        method: "post",
+        headers: {
+          "Content-Type": "application/json",
         },
-        watch: {
-            dialogStatus() {
-                this.$forceUpdate()
-                let _this = this;
-                _this.dataHandle();
-            }
+        responseType: "blob",
+        data: { id: fileData.id, fileName: fileData.fileName },
+      }).then((response) => {
+        if (window.navigator && window.navigator.msSaveOrOpenBlob) {
+          let blob = new Blob([response.data], {
+            type: "application/vnd.ms-excel",
+          });
+          window.navigator.msSaveOrOpenBlob(blob, fileData.fileName);
+        } else {
+          /* 火狐谷歌的文件下载方式 */
+          var blob = new Blob([response.data]);
+          var downloadElement = document.createElement("a");
+          var href = window.URL.createObjectURL(blob);
+          downloadElement.href = href;
+          downloadElement.download = fileData.fileName;
+          document.body.appendChild(downloadElement);
+          downloadElement.click();
+          document.body.removeChild(downloadElement);
+          window.URL.revokeObjectURL(href);
         }
-    }
+      });
+    },
+    dataHandle() {
+      this.infolist = this.datalist.attList;
+      if (this.infolist) {
+        for (let i = 0; i < this.infolist.length; i++) {
+          let f = this.infolist[i].fileName.split(".");
+          let type = f[f.length - 1];
+          if (type === "doc" || type === "docx") {
+            this.infolist[i].type = "word";
+          } else if (type === "ppt") {
+            this.infolist[i].type = "ppt";
+          } else if (type === "xlsx" || type === "xls") {
+            this.infolist[i].type = "excel";
+          } else if (
+            type === "png" ||
+            type === "jpg" ||
+            type === "svg" ||
+            type === "gif" ||
+            type === "psd"
+          ) {
+            this.infolist[i].type = "png";
+          } else {
+            this.infolist[i].type = "wenjian";
+          }
+        }
+      }
+    },
+  },
+  mounted() {
+    this.dataHandle();
+    console.log(this.infolist);
+  },
+  created() {},
+  watch: {
+    dialogStatus() {
+      this.$forceUpdate();
+      let _this = this;
+      _this.dataHandle();
+    },
+  },
+};
 </script>
 <style scoped lang="scss">
-    .if-box-top{
-        background: #fff;
-        width: 80vw;
-        height: 80vh;
-        margin-top: 10vh;
-        margin-left: 10vw;
-    }
+.if-box-top {
+  background: #fff;
+  width: 80vw;
+  height: 80vh;
+  margin-top: 10vh;
+  margin-left: 10vw;
+}
 
-    .iconfont {
-        font-size: 42px;
-    }
+.iconfont {
+  font-size: 42px;
+}
 
-    .icon-excel {
-        color: #67DB63;
-    }
+.icon-excel {
+  color: #67db63;
+}
 
-    .icon-word {
-        color: #FF654E;
-    }
+.icon-word {
+  color: #ff654e;
+}
 
-    .icon-ppt {
-        color: #FF8943;
-    }
+.icon-ppt {
+  color: #ff8943;
+}
 
-    .icon-wenjian {
-        color: #ccc;
-    }
+.icon-wenjian {
+  color: #ccc;
+}
 
-    .el-icon-picture {
-        font-size: 36px;
-        color: #ccc;
-        background: #fff;
-        padding: 4px 2px;
-        margin-bottom: 2px;
-        border-radius: 3px;
-    }
+.el-icon-picture {
+  font-size: 36px;
+  color: #ccc;
+  background: #fff;
+  padding: 4px 2px;
+  margin-bottom: 2px;
+  border-radius: 3px;
+}
 
-    .back-box {
-        margin-top: 20px;
-        background: #F2F2F2;
-        padding: 20px;
+.back-box {
+  margin-top: 20px;
+  background: #f2f2f2;
+  padding: 20px;
 
-        div {
-            display: inline-block;
-            text-align: center;
-            margin-right: 20px;
-            cursor: pointer;
+  div {
+    display: inline-block;
+    text-align: center;
+    margin-right: 20px;
+    cursor: pointer;
 
-            span {
-                display: block;
-                width: 80px;
-                overflow: hidden;
-                padding-top: 5px;
-                margin: 0 10px;
-                overflow: hidden;
-                text-overflow: ellipsis;
-                display: -webkit-box; /* 将对象作为弹性伸缩盒子模型显示 */
-                -webkit-line-clamp: 1; /* 控制最多显示几行 */
-                -webkit-box-orient: vertical; /* 设置或检索伸缩盒对象的子元素的排列方式 */
-            }
-        }
-
-        .seedown {
-            margin: 0;
-            margin-top: 5px;
+    span {
+      display: block;
+      width: 80px;
+      overflow: hidden;
+      padding-top: 5px;
+      margin: 0 10px;
+      overflow: hidden;
+      text-overflow: ellipsis;
+      display: -webkit-box; /* 将对象作为弹性伸缩盒子模型显示 */
+      -webkit-line-clamp: 1; /* 控制最多显示几行 */
+      -webkit-box-orient: vertical; /* 设置或检索伸缩盒对象的子元素的排列方式 */
+    }
+  }
 
-            a {
-                font-size: 12px;
-                padding: 2px 5px;
-                border: 1px solid transparent;
-                color: #999;
-            }
+  .seedown {
+    margin: 0;
+    margin-top: 5px;
 
-            a:hover {
-                color: #0b82ff;
-            }
-        }
+    a {
+      font-size: 12px;
+      padding: 2px 5px;
+      border: 1px solid transparent;
+      color: #999;
     }
 
+    a:hover {
+      color: #0b82ff;
+    }
+  }
+}
 </style>

+ 4 - 0
src/config/dev.js

@@ -38,12 +38,16 @@ let prod = {
 export const getConfig  = () =>{
     switch(process.env.VUE_APP_ENV){
         case "development":
+            window.sessionStorage.setItem('getConfig',JSON.stringify(dev) )
             return dev;
         case 'test':
+            window.sessionStorage.setItem('getConfig',JSON.stringify(test))
             return test;
         case 'production':
+            window.sessionStorage.setItem('getConfig',JSON.stringify(prod))
             return prod
         case 'devs':
+            window.sessionStorage.setItem('getConfig',JSON.stringify(devs))
             return devs; 
     }
 }

+ 4 - 0
src/main.js

@@ -12,7 +12,9 @@ import fullscreen from 'vue-fullscreen'
 import VueContextMenu from 'vue-contextmenu'
 
 import Urls from './assets/js/url.js' //路径共用
+import excelUrl from '../config/excel.env.js'
 import util from './assets/js/util.js'
+
 import common from './assets/js/common.js' //公共注册
 import http from './assets/js/http.js'
 
@@ -22,7 +24,9 @@ import VueEditor from "vue2-editor"
 Vue.use(VueEditor)
 Vue.use(FormMaking)
 Vue.prototype.$url = Urls
+Vue.prototype.$excelUrl = excelUrl
 Vue.prototype.$util = util
+// Vue.prototype.$getConfig = getConfig
 Vue.prototype.common = common
 Vue.prototype.$axios = http //axios 设置
 Vue.use(fullscreen)

+ 161 - 357
src/pages/main/advertising/businessHall.vue

@@ -7,47 +7,23 @@
                 </el-button>
                 <el-button class="btn-check" size="medium" type="primary" @click="exportTempletelist">下载导入模板
                 </el-button>
-                <myUpload style="display:inline-block;" :fileInfo="fileInfot"
-                        :fileList="fileInfot.fileList" @uploadBack='uploadBack'></myUpload>
-                <el-button
-                    class="btn-check"
-                    size="medium"
-                    type="primary"
-                    @click="dialogCheck(3)"
-                    v-if="
-                        userInfo.countyName != null || userInfo.cityName != null
-                    "
-                    >添加
+                <myUpload style="display:inline-block;" :fileInfo="fileInfot" :fileList="fileInfot.fileList"
+                    @uploadBack='uploadBack'></myUpload>
+                <el-button class="btn-check" size="medium" type="primary" @click="dialogCheck(3)" v-if="
+                    userInfo.countyName != null || userInfo.cityName != null
+                ">添加
                 </el-button>
             </div>
             <div class="search">
-                <mySearch
-                    :searchList="searchList"
-                    @searchInfo="searchInfo"
-                ></mySearch>
-                <el-button
-                    class="btn-check"
-                    size="medium"
-                    type="primary"
-                    @click="dialogCheck(3)"
-                    v-if="
-                        userInfo.countyName != null || userInfo.cityName != null
-                    "
-                    >添加
+                <mySearch :searchList="searchList" @searchInfo="searchInfo"></mySearch>
+                <el-button class="btn-check" size="medium" type="primary" @click="dialogCheck(3)" v-if="
+                    userInfo.countyName != null || userInfo.cityName != null
+                ">添加
                 </el-button>
             </div>
             <div class="tabbox">
-                <el-table
-                    height="calc(100% - 40px)"
-                    class="com-table"
-                    ref="multipleTable"
-                    :data="tableData"
-                    tooltip-effect="dark"
-                    size="small"
-                    border
-                    style="width: 100%"
-                    v-loading="loading"
-                >
+                <el-table height="calc(100% - 40px)" class="com-table" ref="multipleTable" :data="tableData"
+                    tooltip-effect="dark" size="small" border style="width: 100%" v-loading="loading">
                     <el-table-column prop="regionName" label="公司">
                     </el-table-column>
                     <el-table-column prop="regionCode" label="公司编码">
@@ -60,11 +36,11 @@
                     </el-table-column>
                     <el-table-column prop="countyType" label="表单类型">
                     </el-table-column>
-<!--                    <el-table-column prop="countyCityCode" label="渠道/小区编码">-->
-<!--&lt;!&ndash;                        待更改&ndash;&gt;-->
-<!--                    </el-table-column>-->
-<!--                    <el-table-column prop="countyCityCodeName" label="渠道/小区/校园名称">-->
-<!--                    </el-table-column>-->
+                    <!--                    <el-table-column prop="countyCityCode" label="渠道/小区编码">-->
+                    <!--&lt;!&ndash;                        待更改&ndash;&gt;-->
+                    <!--                    </el-table-column>-->
+                    <!--                    <el-table-column prop="countyCityCodeName" label="渠道/小区/校园名称">-->
+                    <!--                    </el-table-column>-->
                     <el-table-column prop="channelCode" label="渠道/小区编码">
                     </el-table-column>
                     <el-table-column prop="channelName" label="渠道/小区/校园名称">
@@ -73,30 +49,15 @@
                     </el-table-column>
                     <el-table-column prop="sceneName" label="使用场景">
                     </el-table-column>
-<!--                    <el-table-column prop="metirialType" label="物料类别">-->
-<!--                    </el-table-column>-->
-                    <el-table-column
-                        prop="metirialCode"
-                        label="物料编码"
-                        width="100"
-                        show-overflow-tooltip
-                    >
+                    <!--                    <el-table-column prop="metirialType" label="物料类别">-->
+                    <!--                    </el-table-column>-->
+                    <el-table-column prop="metirialCode" label="物料编码" width="100" show-overflow-tooltip>
                     </el-table-column>
-                    <el-table-column
-                        prop="metirialName"
-                        label="物料名称"
-                        width="100"
-                        show-overflow-tooltip
-                    >
+                    <el-table-column prop="metirialName" label="物料名称" width="100" show-overflow-tooltip>
                     </el-table-column>
                     <el-table-column prop="unit" label="物料单位">
                     </el-table-column>
-                    <el-table-column
-                        prop="size"
-                        label="规格尺寸"
-                        width="100"
-                        show-overflow-tooltip
-                    >
+                    <el-table-column prop="size" label="规格尺寸" width="100" show-overflow-tooltip>
                     </el-table-column>
                     <el-table-column prop="length" label="长(米)">
                     </el-table-column>
@@ -105,372 +66,211 @@
                     </el-table-column>
                     <el-table-column prop="coefficient" label="系数">
                     </el-table-column>
-                    <el-table-column
-                        prop="priority"
-                        label="优先级-仅灯箱画面填报"
-                    >
-                    </el-table-column>
-                    <el-table-column prop="quantity" label="数量">
-                    </el-table-column>
-                    <el-table-column prop="settlementAmount" label="结算金额">
+                    <el-table-column prop="priority" label="优先级-仅灯箱画面填报">
                     </el-table-column>
+                    <!-- <el-table-column prop="quantity" label="数量">
+                        </el-table-column>
+                        <el-table-column prop="settlementAmount" label="结算金额">
+                        </el-table-column> -->
                     <!-- <el-table-column prop="price" label="单价">
-					</el-table-column> -->
+    					</el-table-column> -->
 
-                    <el-table-column
-                        label="操作"
-                        width="160px"
-                        align="center"
-                        fixed="right"
-                    >
+                    <el-table-column label="操作" width="160px" align="center" fixed="right">
                         <template slot-scope="scope">
-                            <el-button
-                                size="mini"
-                                type="primary"
-                                @click="dialogCheck(1, scope.row)"
-                                >查看</el-button
-                            >
-                            <el-button
-                                size="mini"
-                                type="primary"
-                                @click="dialogCheck(2, scope.row)"
-                                v-if="
-                                    userInfo.countyName != null ||
-                                        userInfo.cityName != null
-                                "
-                                >修改</el-button
-                            >
-                            <el-button
-                                size="mini"
-                                type="danger"
-                                @click="delLine(scope.row)"
-                                v-if="
-                                    userInfo.countyName != null ||
-                                        userInfo.cityName != null
-                                "
-                                >删除</el-button
-                            >
+                            <el-button size="mini" type="primary" @click="dialogCheck(1, scope.row)">查看</el-button>
+                            <el-button size="mini" type="primary" @click="dialogCheck(2, scope.row)" v-if="
+                                userInfo.countyName != null ||
+                                userInfo.cityName != null
+                            ">修改</el-button>
+                            <el-button size="mini" type="danger" @click="delLine(scope.row)" v-if="
+                                userInfo.countyName != null ||
+                                userInfo.cityName != null
+                            ">删除</el-button>
                         </template>
                     </el-table-column>
                 </el-table>
-                <el-pagination
-                    class="pageBox"
-                    @current-change="currchange"
-                    layout="prev, pager, next"
-                    background
-                    :total="total"
-                >
+                <el-pagination class="pageBox" @current-change="currchange" layout="prev, pager, next" background
+                    :total="total">
                 </el-pagination>
             </div>
         </div>
 
-        <el-dialog
-            :title="titname"
-            :visible.sync="dialogStatus"
-            width="100%"
-            :destroy-on-close="true"
-            :modal-append-to-body="false"
-            :close-on-click-modal="false"
-            :before-close="closedia"
-        >
+        <el-dialog :title="titname" :visible.sync="dialogStatus" width="100%" :destroy-on-close="true"
+            :modal-append-to-body="false" :close-on-click-modal="false" :before-close="closedia">
             <div v-loading="loadinged">
-                <el-form
-                    :model="infolist"
-                    ref="infolist"
-                    :rules="rules"
-                    style="height: 50vh; overflow-y: scroll"
-                >
+                <el-form :model="infolist" ref="infolist" :rules="rules" style="height: 50vh; overflow-y: scroll">
                     <div class="info-line">
                         <el-form-item prop="regionName">
                             <span>公司</span>
-                            <el-select
-                                :popper-append-to-body="false"
-                                v-model="infolist.regionCode"
-                                placeholder="公司"
-                                @change="verifcheck"
-                                :disabled="disableStatus"
-                            >
-                                <el-option
-                                    v-for="item in regionOpt"
-                                    :key="item.compId"
-                                    :label="item.compName"
-                                    :value="item.compId"
-                                >
+                            <el-select :popper-append-to-body="false" v-model="infolist.regionCode" placeholder="公司"
+                                @change="verifcheck" :disabled="disableStatus">
+                                <el-option v-for="item in regionOpt" :key="item.compId" :label="item.compName"
+                                    :value="item.compId">
                                 </el-option>
                             </el-select>
                         </el-form-item>
                         <el-form-item>
                             <span>公司编码</span>
-                            <el-input
-                                v-model="infolist.regionCode"
-                                placeholder="公司编码"
-                                disabled
-                            ></el-input>
+                            <el-input v-model="infolist.regionCode" placeholder="公司编码" disabled></el-input>
                         </el-form-item>
                         <el-form-item prop="countyName">
                             <span>区县名称</span>
-                            <el-select
-                                :popper-append-to-body="false"
-                                v-model="infolist.countyCode"
-                                placeholder="区县名称"
-                                @change="verifcheck(2)"
-                                :disabled="disableStatus"
-                            >
-                                <el-option
-                                    v-for="item in countyOpt"
-                                    :key="item.compId"
-                                    :label="item.compName"
-                                    :value="item.compId"
-                                >
+                            <el-select :popper-append-to-body="false" v-model="infolist.countyCode" placeholder="区县名称"
+                                @change="verifcheck(2)" :disabled="disableStatus">
+                                <el-option v-for="item in countyOpt" :key="item.compId" :label="item.compName"
+                                    :value="item.compId">
                                 </el-option>
                             </el-select>
                         </el-form-item>
                         <el-form-item>
                             <span>区县编码</span>
-                            <el-input
-                                v-model="infolist.countyCode"
-                                placeholder="区县编码"
-                                disabled
-                            ></el-input>
+                            <el-input v-model="infolist.countyCode" placeholder="区县编码" disabled></el-input>
                         </el-form-item>
                         <el-form-item>
                             <span>日期</span>
-                            <el-date-picker
-                                type="date"
-                                placeholder="选择日期"
-                                v-model="infolist.countyTime"
-                                style="width: 57%;"
-                            ></el-date-picker>
+                            <el-date-picker type="date" placeholder="选择日期" v-model="infolist.countyTime"
+                                style="width: 57%;"></el-date-picker>
                         </el-form-item>
                         <el-form-item>
                             <span>表单类型</span>
                             <el-select v-model="infolist.countyType" placeholder="请选择表单类型">
-                                <el-option v-for="(item,index) in optionList" :label="item.value" :value="item.id" :key="index"></el-option>
+                                <el-option v-for="(item, index) in optionList" :label="item.value" :value="item.id"
+                                    :key="index"></el-option>
                             </el-select>
                         </el-form-item>
                         <el-form-item prop="channelCode">
                             <span>渠道/小区编码</span>
-                            <el-input
-                                v-model="infolist.channelCode"
-                                placeholder="渠道编码"
-                                :disabled="disableStatus"
-                            >
+                            <el-input v-model="infolist.channelCode" placeholder="渠道编码" :disabled="disableStatus">
                             </el-input>
                         </el-form-item>
                         <el-form-item prop="channelName">
                             <span>渠道/小区/校园名称</span>
-                            <el-input
-                                v-model="infolist.channelName"
-                                placeholder="渠道/校园/小区名称"
-                                :disabled="disableStatus"
-                            >
+                            <el-input v-model="infolist.channelName" placeholder="渠道/校园/小区名称" :disabled="disableStatus">
                             </el-input>
                         </el-form-item>
 
                         <el-form-item prop="sts">
                             <span>营业状态</span>
-                            <el-select
-                                :popper-append-to-body="false"
-                                v-model="infolist.sts"
-                                placeholder="营业状态"
-                                :disabled="disableStatus"
-                            >
-                                <el-option
-                                    v-for="item in stsOpt"
-                                    :key="item.dataName"
-                                    :label="item.dataName"
-                                    :value="item.dataName"
-                                >
+                            <el-select :popper-append-to-body="false" v-model="infolist.sts" placeholder="营业状态"
+                                :disabled="disableStatus">
+                                <el-option v-for="item in stsOpt" :key="item.dataName" :label="item.dataName"
+                                    :value="item.dataName">
                                 </el-option>
                             </el-select>
                         </el-form-item>
                         <el-form-item prop="sceneName">
                             <span>使用场景</span>
-                            <el-select
-                                @change="accountcho"
-                                :popper-append-to-body="false"
-                                v-model="infolist.sceneName"
-                                placeholder="使用场景"
-                                :disabled="disableStatus"
-                            >
-                                <el-option
-                                    v-for="item in sceneOpt"
-                                    :key="item.dataCode"
-                                    :label="item.dataName"
-                                    :value="item.dataName"
-                                >
+                            <el-select @change="accountcho" :popper-append-to-body="false" v-model="infolist.sceneName"
+                                placeholder="使用场景" :disabled="disableStatus">
+                                <el-option v-for="item in sceneOpt" :key="item.dataCode" :label="item.dataName"
+                                    :value="item.dataName">
                                 </el-option>
                             </el-select>
                         </el-form-item>
-<!--                        <el-form-item prop="metirialType">-->
-<!--                            <span>物料类别</span>-->
-<!--                            <el-select-->
-<!--                                :disabled="disableStatus"-->
-<!--                                :popper-append-to-body="false"-->
-<!--                                v-model="infolist.metirialType"-->
-<!--                                placeholder="物料类别"-->
-<!--                            >-->
-<!--                                <el-option-->
-<!--                                    v-for="(item, index) in metirialTypeopt"-->
-<!--                                    :key="index"-->
-<!--                                    :label="item.dataName"-->
-<!--                                    :value="item.dataName"-->
-<!--                                >-->
-<!--                                </el-option>-->
-<!--                            </el-select>-->
-<!--                        </el-form-item>-->
+                        <!--                        <el-form-item prop="metirialType">-->
+                        <!--                            <span>物料类别</span>-->
+                        <!--                            <el-select-->
+                        <!--                                :disabled="disableStatus"-->
+                        <!--                                :popper-append-to-body="false"-->
+                        <!--                                v-model="infolist.metirialType"-->
+                        <!--                                placeholder="物料类别"-->
+                        <!--                            >-->
+                        <!--                                <el-option-->
+                        <!--                                    v-for="(item, index) in metirialTypeopt"-->
+                        <!--                                    :key="index"-->
+                        <!--                                    :label="item.dataName"-->
+                        <!--                                    :value="item.dataName"-->
+                        <!--                                >-->
+                        <!--                                </el-option>-->
+                        <!--                            </el-select>-->
+                        <!--                        </el-form-item>-->
                         <el-form-item>
                             <span>物料编码</span>
-                            <el-input
-                                v-model="infolist.metirialCode"
-                                disabled
-                            ></el-input>
+                            <el-input v-model="infolist.metirialCode" disabled></el-input>
                         </el-form-item>
                         <el-form-item prop="metirialName">
                             <span>物料名称</span>
-                            <el-select
-                                :disabled="disableStatus"
-                                :popper-append-to-body="false"
-                                v-model="infolist.metirialName"
-                                placeholder="物料名称"
-                                @change="materialNameChange"
-                            >
-                                <el-option
-                                    v-for="(item, index) in materialNameopt"
-                                    :key="index"
-                                    :label="item.metirialName"
-                                    :value="item.metirialName"
-                                >
+                            <el-select :disabled="disableStatus" :popper-append-to-body="false"
+                                v-model="infolist.metirialName" placeholder="物料名称" @change="materialNameChange">
+                                <el-option v-for="(item, index) in materialNameopt" :key="index" :label="item.metirialName"
+                                    :value="item.metirialName">
                                 </el-option>
                             </el-select>
                         </el-form-item>
                         <el-form-item>
                             <span>物料单位</span>
-                            <el-input
-                                v-model="infolist.unit"
-                                disabled
-                            ></el-input>
+                            <el-input v-model="infolist.unit" disabled></el-input>
                         </el-form-item>
                         <el-form-item>
                             <span>规格尺寸</span>
-                            <el-input
-                                v-model="infolist.size"
-
-                            ></el-input>
+                            <el-input v-model="infolist.size"></el-input>
                         </el-form-item>
-                        <el-form-item
-                            prop="length"
-                            v-if="
-                                infolist.unit == '平方米' ||
-                                    infolist.unit == '延长米'
-                            "
-                        >
+                        <el-form-item prop="length" v-if="
+                            infolist.unit == '平方米' ||
+                            infolist.unit == '延长米'
+                        ">
                             <span>长(米)</span>
-                            <el-input
-                                type="number"
-                                v-model="infolist.length"
-                                placeholder="长"
-                                :disabled="disableStatus"
-                            >
+                            <el-input type="number" v-model="infolist.length" placeholder="长" :disabled="disableStatus">
                             </el-input>
                         </el-form-item>
-                        <el-form-item
-                            prop="width"
-                            v-if="infolist.unit == '平方米'"
-                        >
+                        <el-form-item prop="width" v-if="infolist.unit == '平方米'">
                             <span>宽(米)</span>
-                            <el-input
-                                type="number"
-                                v-model="infolist.width"
-                                placeholder="宽"
-                                :disabled="disableStatus"
-                            >
+                            <el-input type="number" v-model="infolist.width" placeholder="宽" :disabled="disableStatus">
                             </el-input>
                         </el-form-item>
                         <el-form-item prop="direction">
                             <span>横/竖</span>
-                            <el-input
-                                :disabled="disableStatus"
-                                :popper-append-to-body="false"
-                                v-model="infolist.direction"
-                                placeholder="横/竖"
-                            >
+                            <el-input :disabled="disableStatus" :popper-append-to-body="false" v-model="infolist.direction"
+                                placeholder="横/竖">
                             </el-input>
                         </el-form-item>
                         <el-form-item>
                             <span>系数</span>
-                            <el-input
-                                :value="coefficient"
-                                placeholder="系数"
-                                disabled
-                            ></el-input>
+                            <el-input :value="coefficient" placeholder="系数" disabled></el-input>
                         </el-form-item>
                         <el-form-item>
                             <span>单价</span>
-                            <el-input
-                                :value="coefficient"
-                                placeholder="单价"
-                                disabled
-                            ></el-input>
+                            <el-input :value="coefficient" placeholder="单价" disabled></el-input>
                         </el-form-item>
-                        <el-form-item
-
-                        >
+                        <el-form-item>
                             <span>优先级-仅灯箱画面填报</span>
-                            <el-input
-                                v-model="infolist.priority"
-                                placeholder="优先级-仅灯箱画面填报"
-                                @keyup.native="numberVertify"
-                            ></el-input>
-                        </el-form-item>
-                        <el-form-item prop="quantity">
-                            <span>数量</span>
-                            <el-input
-                                v-model="infolist.quantity"
-                                placeholder="数量"
-                                :disabled="quantityDisabled"
-                            ></el-input>
+                            <el-input v-model="infolist.priority" placeholder="优先级-仅灯箱画面填报"
+                                @keyup.native="numberVertify"></el-input>
                         </el-form-item>
+                        <!-- <el-form-item prop="quantity">
+                                <span>数量</span>
+                                <el-input
+                                    v-model="infolist.quantity"
+                                    placeholder="数量"
+                                    :disabled="quantityDisabled"
+                                ></el-input>
+                            </el-form-item> -->
                         <el-form-item>
                             <span>物料单价(不含税)</span>
-                            <el-input
-                                v-model="infolist.price"
-                                disabled
-                            ></el-input>
-                        </el-form-item>
-                        <el-form-item prop="settlementAmount">
-                            <span>结算金额</span>
-                            <el-input
-                                v-model="infolist.settlementAmount"
-                                placeholder="结算金额"
-                                disabled
-                            ></el-input>
+                            <el-input v-model="infolist.price" disabled></el-input>
                         </el-form-item>
+                        <!-- <el-form-item prop="settlementAmount">
+                                <span>结算金额</span>
+                                <el-input
+                                    v-model="infolist.settlementAmount"
+                                    placeholder="结算金额"
+                                    disabled
+                                ></el-input>
+                            </el-form-item> -->
                     </div>
                 </el-form>
 
                 <div slot="footer" class="dialog-footer myfooter">
-                    <el-button
-                        type="primary"
-                        @click="dialogCli(2)"
-                        v-if="titname !== '查看'"
-                        >确 定</el-button
-                    >
-                    <el-button @click="dialogCli(1)" v-if="titname === '查看'"
-                        >确 定</el-button
-                    >
+                    <el-button type="primary" @click="dialogCli(2)" v-if="titname !== '查看'">确 定</el-button>
+                    <el-button @click="dialogCli(1)" v-if="titname === '查看'">确 定</el-button>
                     <el-button @click="dialogCli(1)">取 消</el-button>
                 </div>
             </div>
         </el-dialog>
 
-        <myMessage
-            :messTit="messTit"
-            @closeMessage="closeMessage"
-            :centerDialogVisible="centerDialogVisible"
-            v-if="centerDialogVisible"
-        ></myMessage>
-    </fullscreen>
+        <myMessage :messTit="messTit" @closeMessage="closeMessage" :centerDialogVisible="centerDialogVisible"
+            v-if="centerDialogVisible"></myMessage>
+</fullscreen>
 </template>
 <script>
 import mySearch from "../../../components/search.vue";
@@ -595,21 +395,21 @@ export default {
         // };
 
         return {
-            optionList:[{
-                id:'自有渠道',
-                value:'自有渠道'
-            },{
-                id:'合作渠道',
-                value:'合作渠道'
-            },{
-                id:'家庭市场',
-                value:'家庭市场'
-            },{
-                id:'个人市场',
-                value:'个人市场'
-            },{
-                id:'政企市场',
-                value:'政企市场'
+            optionList: [{
+                id: '自有渠道',
+                value: '自有渠道'
+            }, {
+                id: '合作渠道',
+                value: '合作渠道'
+            }, {
+                id: '家庭市场',
+                value: '家庭市场'
+            }, {
+                id: '个人市场',
+                value: '个人市场'
+            }, {
+                id: '政企市场',
+                value: '政企市场'
             }],
             rules: {
                 regionName: [
@@ -877,18 +677,18 @@ export default {
             metirialInfoSingle: [],
             quantityDisabled: true,
             fileInfot: {
-                    type: 'btn',
-                    typename: '导入',
-                    btntype: 'primary',
-                    limit: 1,
-                    url: '/market/cadvBusiMetirial/import',
-                    fileList: [],
-                    woNo: "",
-                },
+                type: 'btn',
+                typename: '导入',
+                btntype: 'primary',
+                limit: 1,
+                url: '/market/cadvBusiMetirial/import',
+                fileList: [],
+                woNo: "",
+            },
         };
     },
     computed: {
-        coefficient: function() {
+        coefficient: function () {
             if (
                 this.infolist.width == undefined &&
                 this.infolist.length == undefined
@@ -910,7 +710,7 @@ export default {
     },
     methods: {
         // 结算金额
-        settlementAmount: function() {
+        settlementAmount: function () {
             this.infolist.settlementAmount =
                 this.infolist.price *
                 this.infolist.coefficient *
@@ -1057,7 +857,7 @@ export default {
             } else if (v === 3) {
                 this.titname = "添加";
                 this.disableStatus = false;
-                this.infolist.countyTime = this.$formatDate(new Date(),"YYYY-MM-DD")
+                this.infolist.countyTime = this.$formatDate(new Date(), "YYYY-MM-DD")
                 // this.infolist.unit = "延长米";
             }
             // this.infolist.opNo = this.userInfo.loginNo;
@@ -1073,7 +873,10 @@ export default {
                     parentCompId: this.infolist.regionCode
                 }
             }).then(res => {
-                this.countyOpt = res.data;
+                if (v !== 3) {
+                    this.countyOpt = res.data;
+                }
+
             });
         },
         //添加
@@ -1087,7 +890,7 @@ export default {
                     new Date(),
                     "YYYY-MM-DD"
                 );
-                this.infolist.countyTime = this.$formatDate(this.infolist.countyTime,"YYYY-MM-DD")
+                this.infolist.countyTime = this.$formatDate(this.infolist.countyTime, "YYYY-MM-DD")
 
                 if (this.titname === "添加") {
                     this.submitInfo("/market/cadvBusiMetirial/add");
@@ -1180,7 +983,7 @@ export default {
         uploadBack(v) {
             let that = this;
             console.log(v);
-            if(v.data.result==0){
+            if (v.data.result == 0) {
                 that.getList({}, 1);
                 that.getUser();
                 that.getMetirialType();
@@ -1223,7 +1026,7 @@ export default {
                             } else if (this.userInfo.cityName != null && this.userInfo.countyName != null) {
                                 // this.countyOpt = res.data;
                                 this.countyOpt = res.data.filter(item => {
-                                    return ( item.compName == this.userInfo.countyName );
+                                    return (item.compName == this.userInfo.countyName);
                                 });
                                 // this.countyOpt = res.data;
                             }
@@ -1380,7 +1183,7 @@ export default {
         this.getMetirialType();
         this.getMetirialInfo();
     },
-    created() {}
+    created() { }
 };
 </script>
 <style scoped lang="scss">
@@ -1453,6 +1256,7 @@ export default {
         width: calc(100% - 120px);
     }
 }
+
 .search-box .box-l .box-info {
     margin-right: 20px !important;
 }

+ 137 - 152
src/pages/main/advertising/contractCap.vue

@@ -3,50 +3,27 @@
         <div class="container-box">
             <toolList @iconCli="iconCli" :tooltit="tooltit"></toolList>
             <div class="search">
-                <mySearch
-                    :searchList="searchList"
-                    @searchInfo="searchInfo"
-                ></mySearch>
-                <el-button
-                    class="btn-check"
-                    size="medium"
-                    type="primary"
-                    @click="dialogCheck(3)"
-                    v-if="userInfo.countyName == null && userInfo.cityName != null"
-                    >添加
-                </el-button>
+                <mySearch :searchList="searchList" @searchInfo="searchInfo"></mySearch>
+                <!-- <el-button class="btn-check" size="medium" type="primary" @click="dialogCheck(3)"
+                            v-if="advLeader">添加
+                        </el-button> -->
             </div>
             <div class="tabbox">
-                <el-table
-                    height="calc(100% - 40px)"
-                    class="com-table"
-                    ref="multipleTable"
-                    :data="tableData"
-                    tooltip-effect="dark"
-                    size="small"
-                    border
-                    style="width: 100%"
-                    v-loading="loading"
-                >
+                <el-table height="calc(100% - 40px)" class="com-table" ref="multipleTable" :data="tableData"
+                    tooltip-effect="dark" size="small" border style="width: 100%" v-loading="loading">
                     <el-table-column prop="regionName" label="地市名称">
                     </el-table-column>
                     <!-- <el-table-column prop="regionCode" label="地市编码">
-                    </el-table-column> -->
+                                </el-table-column> -->
                     <!-- <el-table-column prop="preAccount" label="一采预算">
-                    </el-table-column> -->
-                    <el-table-column
-                        prop="secbuyPreAccount"
-                        label="二采预算总额"
-                    >
+                                </el-table-column> -->
+                    <el-table-column prop="secbuyPreAccount" label="二采预算总额">
                     </el-table-column>
                     <!-- <el-table-column prop="costAccount" label="一采累计使用">
-                    </el-table-column> -->
+                                </el-table-column> -->
                     <!-- <el-table-column prop="secbuyCostAccount" label="二采累计使用">
-                    </el-table-column> -->
-                    <el-table-column
-                        prop="secbuyLastAccount"
-                        label="二采剩余预算"
-                    >
+                                </el-table-column> -->
+                    <el-table-column prop="secbuyLastAccount" label="二采剩余预算">
                     </el-table-column>
                     <el-table-column prop="secbuySchedule" label="使用进度">
                     </el-table-column>
@@ -56,142 +33,112 @@
                         :key="index"
                     >
                         <template slot-scope="scope">
-                            <div
-                                v-if="
-                                    scope.row.cMkSupplierCumulativeAmounts.filter(
-                                        n => {
-                                            return (
-                                                n.supplierName ==
-                                                item.supplierName
-                                            );
-                                        }
-                                    ).length > 0
-                                "
-                            >
+                            <div v-if="
+                                scope.row.cMkSupplierCumulativeAmounts.filter(
+                                    n => {
+                                        return (
+                                            n.supplierName ==
+                                            item.supplierName
+                                        );
+                                    }
+                                ).length > 0
+                            ">
                                 {{ item.sumBudget }}
                             </div>
                         </template>
                     </el-table-column> -->
                     <!-- <el-table-column prop="advYearn" :label="advYearnLabel">
-					</el-table-column> -->
-                    <el-table-column label="操作" width="160px" align="center" v-if="userInfo.countyName == null && userInfo.cityName != null">
+            					</el-table-column> -->
+                    <el-table-column label="操作" width="160px" align="center" v-if="advLeader">
                         <template slot-scope="scope">
                             <!-- <el-button
-                                size="mini"
-                                type="primary"
-                                @click="dialogCheck(1, scope.row)"
-                                >查看</el-button
-                            > -->
-                            <el-button
-                                size="mini"
-                                type="primary"
-                                @click="dialogCheck(2, scope.row)" 
-                                v-if="userInfo.countyName == null && userInfo.cityName != null"
-                                >编辑</el-button>
+                                            size="mini"
+                                            type="primary"
+                                            @click="dialogCheck(1, scope.row)"
+                                            >查看</el-button
+                                        > -->
+                            <el-button size="mini" type="primary" @click="dialogCheck(2, scope.row)"
+                                v-if="advLeader">编辑</el-button>
                             <!-- <el-button
-                                size="mini"
-                                type="danger"
-                                @click="delLine(scope.row)" 
-                                >删除</el-button
-                            > -->
+                                            size="mini"
+                                            type="danger"
+                                            @click="delLine(scope.row)" 
+                                            >删除</el-button
+                                        > -->
                         </template>
                     </el-table-column>
                 </el-table>
                 <!-- <el-pagination
-                    class="pageBox"
-                    @current-change="currchange"
-                    layout="prev, pager, next"
-                    background
-                    :total="total"
-                >
-                </el-pagination> -->
+                                class="pageBox"
+                                @current-change="currchange"
+                                layout="prev, pager, next"
+                                background
+                                :total="total"
+                            >
+                            </el-pagination> -->
             </div>
         </div>
 
-        <el-dialog
-            :title="titname"
-            :visible.sync="dialogStatus"
-            width="40%"
-            :destroy-on-close="true"
-            :modal-append-to-body="false"
-            :close-on-click-modal="false"
-            :before-close="closedia"
-        >
+        <el-dialog :title="titname" :visible.sync="dialogStatus" width="40%" :destroy-on-close="true"
+            :modal-append-to-body="false" :close-on-click-modal="false" :before-close="closedia">
             <div v-loading="loadinged">
                 <el-form :model="infolist" ref="infolist" :rules="rules">
                     <div class="info-line" style="width: 50%; margin: 0 auto;">
                         <!-- <el-form-item prop="regionCode">
-                            <span>地市名称</span>
-                            <el-select
-                                :popper-append-to-body="false"
-                                v-model="infolist.regionCode"
-                                placeholder="地市名称"
-                                @change="verifcheck"
-                                :disabled="secbuyLastDisableStatus"
-                            >
-                                <el-option
-                                    v-for="item in regionOpt"
-                                    :key="item.compId"
-                                    :label="item.compName"
-                                    :value="item.compId"
-                                >
-                                </el-option>
-                            </el-select>
-                        </el-form-item> -->
+                                        <span>地市名称</span>
+                                        <el-select
+                                            :popper-append-to-body="false"
+                                            v-model="infolist.regionCode"
+                                            placeholder="地市名称"
+                                            @change="verifcheck"
+                                            :disabled="secbuyLastDisableStatus"
+                                        >
+                                            <el-option
+                                                v-for="item in regionOpt"
+                                                :key="item.compId"
+                                                :label="item.compName"
+                                                :value="item.compId"
+                                            >
+                                            </el-option>
+                                        </el-select>
+                                    </el-form-item> -->
                         <el-form-item prop="secbuyPreAccount" style="width: 100%;">
                             <span>二采预算总额</span>
-                            <el-input
-                                v-model="infolist.secbuyPreAccount"
-                                placeholder="二采预算总额"
-                            ></el-input>
+                            <el-input v-model="infolist.secbuyPreAccount" placeholder="二采预算总额"></el-input>
                         </el-form-item>
                         <el-form-item prop="secbuyLastAccount" style="width: 100%;">
                             <span>二采剩余预算</span>
-                            <el-input
-                                v-model="infolist.secbuyLastAccount"
-                                placeholder="二采剩余预算"
-                            ></el-input>
+                            <el-input disabled v-model="infolist.secbuyLastAccount" placeholder="二采剩余预算"></el-input>
                         </el-form-item>
                         <!-- <el-form-item prop="secbuySchedule">
-                            <span>使用进度</span>
-                            <el-input
-                                v-model="infolist.secbuySchedule"
-                                placeholder="使用进度"
-                                disabled
-                            ></el-input>
-                        </el-form-item> -->
+                                        <span>使用进度</span>
+                                        <el-input
+                                            v-model="infolist.secbuySchedule"
+                                            placeholder="使用进度"
+                                            disabled
+                                        ></el-input>
+                                    </el-form-item> -->
                         <!-- <el-form-item prop="secbuyCostAccount">
-                            <span>二采使用</span>
-                            <el-input v-model="infolist.secbuyCostAccount" placeholder="二采累计使用" disabled></el-input>
-                        </el-form-item>
-						<el-form-item>
-						    <span>统计周期</span>
-						    <el-input v-model="infolist.advYearn" placeholder="统计周期" :disabled="disableStatus"></el-input>
-						</el-form-item> -->
+                                        <span>二采使用</span>
+                                        <el-input v-model="infolist.secbuyCostAccount" placeholder="二采累计使用" disabled></el-input>
+                                    </el-form-item>
+            						<el-form-item>
+            						    <span>统计周期</span>
+            						    <el-input v-model="infolist.advYearn" placeholder="统计周期" :disabled="disableStatus"></el-input>
+            						</el-form-item> -->
                     </div>
                 </el-form>
 
                 <div slot="footer" class="dialog-footer myfooter">
-                    <el-button
-                        type="primary"
-                        @click="dialogCli(2)"
-                        v-if="titname !== '查看'"
-                        >确 定</el-button
-                    >
-                    <el-button @click="dialogCli(1)" v-if="titname === '查看'"
-                        >确 定</el-button
-                    >
+                    <el-button type="primary" @click="dialogCli(2)" v-if="titname !== '查看'">确 定</el-button>
+                    <el-button @click="dialogCli(1)" v-if="titname === '查看'">确 定</el-button>
                     <el-button @click="dialogCli(1)">取 消</el-button>
                 </div>
             </div>
         </el-dialog>
-        <myMessage
-            :messTit="messTit"
-            @closeMessage="closeMessage"
-            :centerDialogVisible="centerDialogVisible"
-            v-if="centerDialogVisible"
-        ></myMessage>
-    </fullscreen>
+        <myMessage :messTit="messTit" @closeMessage="closeMessage" :centerDialogVisible="centerDialogVisible"
+            v-if="centerDialogVisible"></myMessage>
+</fullscreen>
 </template>
 <script>
 import mySearch from "../../../components/search.vue";
@@ -207,6 +154,7 @@ export default {
         MessageBox
     },
     data() {
+
         const regionCode = (rule, value, callback) => {
             if (!this.infolist.regionCode) {
                 callback(new Error("不能为空"));
@@ -230,6 +178,7 @@ export default {
         };
 
         return {
+            advLeader: false,
             rules: {
                 regionCode: [
                     {
@@ -297,20 +246,40 @@ export default {
         };
     },
     computed: {
-        // secbuySchedule: function() {
-        //     this.infolist.secbuySchedule = (this.infolist.secbuyPreAccount - this.infolist.secbuyLastAccount) / this.infolist.secbuyPreAccount;
-        //     this.infolist.secbuySchedule = ((parseFloat(this.infolist.secbuySchedule)*100).toFixed(2));
-        //     if(isNaN(this.infolist.secbuySchedule)){
-        //         this.infolist.secbuySchedule = ''
+
+        //     secbuySchedule: function() {
+        //         this.infolist.secbuySchedule = (this.infolist.secbuyPreAccount - this.infolist.secbuyLastAccount) / this.infolist.secbuyPreAccount;
+        //         this.infolist.secbuySchedule = ((parseFloat(this.infolist.secbuySchedule)*100).toFixed(2));
+        //         if(isNaN(this.infolist.secbuySchedule)){
+        //             this.infolist.secbuySchedule = ''
+        //         }
+        //         return this.infolist.secbuySchedule;
         //     }
-        //     return this.infolist.secbuySchedule;
-        // }
     },
     methods: {
         closedia() {
             this.infolist = {};
             this.dialogStatus = false;
         },
+        //获取权限
+        getJiangshuai() {
+            this.$http({
+                url: "/market/paraminfo/query",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: { paramKey: 'adv_leader' }
+            }).then(res => {
+                console.log(res);
+                console.log(res.data.paramValue);
+                console.log(this.userInfo.loginNo);
+                if (this.userInfo.loginNo === res.data.paramValue) {
+                    this.advLeader = true;
+                }
+
+            });
+        },
         //搜索数据
         searchInfo(v) {
             this.params = {};
@@ -332,6 +301,7 @@ export default {
                 },
                 data: v
             }).then(res => {
+                console.log(123);
                 if (
                     this.userInfo.countyName == null &&
                     this.userInfo.cityName == null
@@ -342,7 +312,14 @@ export default {
                         return item.regionName == this.userInfo.cityName;
                     });
                 }
-                
+                // console.log(this.tableData);
+                // this.tableData.map((item) => {
+                //     item.secbuySchedule = (item.secbuyPreAccount - item.secbuyLastAccount) / item.secbuyPreAccount;
+                //     item.secbuySchedule = ((parseFloat(item.secbuySchedule) * 100).toFixed(2));
+                //     if (isNaN(item.secbuySchedule)) {
+                //         item.secbuySchedule = ''
+                //     }
+                // })
                 this.total = res.data.totalRecord;
                 this.loading = false;
 
@@ -400,17 +377,17 @@ export default {
                 this.infolist.areaCode = this.areaCode;
                 this.infolist.areaName = this.areaName;
 
-                if(this.currentRole.length == 1){
-                   this.infolist.regionName = this.currentRole[0].compName;
-                   this.infolist.regionCode = this.currentRole[0].compId;
+                if (this.currentRole.length == 1) {
+                    this.infolist.regionName = this.currentRole[0].compName;
+                    this.infolist.regionCode = this.currentRole[0].compId;
                 }
 
                 if (this.titname === "添加") {
-                this.submitInfo("/market/cadvContract/add");
+                    this.submitInfo("/market/cadvContract/add");
                 } else if (this.titname === "编辑") {
                     this.submitInfo("/market/cadvContract/update", v);
                 }
-                
+
             }
         },
         submitInfo(u) {
@@ -436,7 +413,7 @@ export default {
                     }).then(res => {
                         this.loadinged = false;
                         if (res.data.result === 0) {
-                             _this.$message({
+                            _this.$message({
                                 message: "成功",
                                 type: "success"
                             });
@@ -546,7 +523,7 @@ export default {
                     parentCompId: "0"
                 }
             }).then(res => {
-                this.currentRole = res.data.filter(item=>{
+                this.currentRole = res.data.filter(item => {
                     return item.compName == this.userInfo.cityName
                 })
                 // if (
@@ -562,10 +539,18 @@ export default {
         }
     },
     mounted() {
+        this.getJiangshuai()
         this.getList({}, 1);
         this.getUser();
     },
-    created() {}
+    created() { },
+    watch: {
+        "infolist.secbuyPreAccount": {
+            handler(newVal) {
+                  this.infolist.secbuyLastAccount =  newVal -  this.infolist.costAccount
+            },
+        },
+    }
 };
 </script>
 <style scoped lang="scss">

+ 188 - 174
src/pages/main/advertising/index.vue

@@ -1,199 +1,213 @@
 <template>
-    <fullscreen :fullscreen.sync="fullscreen" class="container">
-        <div class="container-box">
-			
+	<fullscreen :fullscreen.sync="fullscreen" class="container">
+		<div class="container-box">
+
 			<!-- <h2>广告宣传费台账</h2>
-			<div class="adv-type">
-			    <div @click="jumpinfop('/publicityAccount',1,'宣传费台账')" v-if="lockFlag == 'updata'">
-			        <span><i class="el-icon-folder-opened"></i></span>
-			        <span>创建模板</span>
-			    </div>
-				<div @click="jumpinfop('/publicityAccount',2,'宣传费台账')">
-			        <span><i class="el-icon-folder-opened"></i></span>
-			        <span>录入/更新</span>
-			    </div>
-				<div @click="jumpinfop('/publicityAccount',3,'宣传费台账')" v-if="lockFlag == 'updata'">
-			        <span><i class="el-icon-folder-opened"></i></span>
-			        <span>查看/下载</span>
-			    </div>
-			</div> -->
+				<div class="adv-type">
+				    <div @click="jumpinfop('/publicityAccount',1,'宣传费台账')" v-if="lockFlag == 'updata'">
+				        <span><i class="el-icon-folder-opened"></i></span>
+				        <span>创建模板</span>
+				    </div>
+					<div @click="jumpinfop('/publicityAccount',2,'宣传费台账')">
+				        <span><i class="el-icon-folder-opened"></i></span>
+				        <span>录入/更新</span>
+				    </div>
+					<div @click="jumpinfop('/publicityAccount',3,'宣传费台账')" v-if="lockFlag == 'updata'">
+				        <span><i class="el-icon-folder-opened"></i></span>
+				        <span>查看/下载</span>
+				    </div>
+				</div> -->
 			<h2 class="font-ui" style="margin-top: 20px;">宣传物料管理</h2>
 			<div class="adv-type">
-			    <div class="wfour" @click="jumpinfo('/materialApplication','宣传物料申请及审批')">
-			        <span><i class="el-icon-folder-opened"></i></span>
-			        <span>宣传物料申请及审批</span>
-			    </div>
-				<!-- <div class="wfour" @click="jumpinfo('/materialApplicationc','市级物料申请')">
-			        <span><i class="el-icon-folder-opened"></i></span>
-			        <span>市级物料申请</span>
-			    </div>
-				<div class="wfour" @click="jumpinfo('/materialApplicationExa','物料申请审核')">
-				    <span><i class="el-icon-folder-opened"></i></span>
-				    <span>省级物料审批</span>
+				<div class="wfour" @click="jumpinfo('/materialApplication', '宣传物料申请及审批')">
+					<span><i class="el-icon-folder-opened"></i></span>
+					<span>宣传物料申请及审批</span>
 				</div>
-				<div class="wfour" @click="jumpinfo('/materialApplicationExac','物料申请审核')">
-				    <span><i class="el-icon-folder-opened"></i></span>
-				    <span>市级物料审批</span>
-				</div> -->
+				<!-- <div class="wfour" @click="jumpinfo('/materialApplicationc','市级物料申请')">
+				        <span><i class="el-icon-folder-opened"></i></span>
+				        <span>市级物料申请</span>
+				    </div>
+					<div class="wfour" @click="jumpinfo('/materialApplicationExa','物料申请审核')">
+					    <span><i class="el-icon-folder-opened"></i></span>
+					    <span>省级物料审批</span>
+					</div>
+					<div class="wfour" @click="jumpinfo('/materialApplicationExac','物料申请审核')">
+					    <span><i class="el-icon-folder-opened"></i></span>
+					    <span>市级物料审批</span>
+					</div> -->
 			</div>
 			<h2 class="font-ui" style="margin-top: 20px;">基础数据管理</h2>
 			<div class="adv-type">
-			    <!-- <div class="wfive" @click="jumpinfo('/materielPick','一采物料类型建档')" v-if="province">
-			        <span><i class="el-icon-folder-opened"></i></span>
-			        <span>一采物料类型建档</span>
-			    </div> -->
-				<div class="wfive" @click="jumpinfo('/materiel','二采物料类型建档')" v-if="province">
-			        <span><i class="el-icon-folder-opened"></i></span>
-			        <span>二采物料类型建档</span>
-			    </div>
-				<div class="wfive" @click="jumpinfo('/contractCap','预算及合同上限')">
-			        <span><i class="el-icon-folder-opened"></i></span>
-			        <span>预算及合同上限</span>
-			    </div>
-				<div class="wfive" @click="jumpinfo('/supplier','供应商管理')" v-if="province">
-				    <span><i class="el-icon-folder-opened"></i></span>
-				    <span>供应商管理</span>
+				<!-- <div class="wfive" @click="jumpinfo('/materielPick','一采物料类型建档')" v-if="province">
+				        <span><i class="el-icon-folder-opened"></i></span>
+				        <span>一采物料类型建档</span>
+				    </div> -->
+				<div class="wfive" @click="jumpinfo('/materiel', '二采物料类型建档')" v-if="province">
+					<span><i class="el-icon-folder-opened"></i></span>
+					<span>二采物料类型建档</span>
+				</div>
+				<div class="wfive" @click="jumpinfo('/contractCap', '预算及合同上限')">
+					<span><i class="el-icon-folder-opened"></i></span>
+					<span>预算及合同上限</span>
+				</div>
+				<div class="wfive" @click="jumpinfo('/supplier', '供应商管理')" v-if="province">
+					<span><i class="el-icon-folder-opened"></i></span>
+					<span>供应商管理</span>
 				</div>
-				<div class="wfive" @click="jumpinfo('/businessHall','物料基础信息维护')">
-				    <span><i class="el-icon-folder-opened"></i></span>
-				    <span>物料基础信息维护</span>
+				<div class="wfive" @click="jumpinfo('/businessHall', '物料基础信息维护')">
+					<span><i class="el-icon-folder-opened"></i></span>
+					<span>物料基础信息维护</span>
 				</div>
-				<div class="wfive" @click="jumpinfo('/materialApplistatic','物料统计')">
-				    <span><i class="el-icon-folder-opened"></i></span>
-				    <span>物料统计</span>
+				<div class="wfive" @click="jumpinfo('/materialApplistatic', '物料统计')">
+					<span><i class="el-icon-folder-opened"></i></span>
+					<span>物料统计</span>
 				</div>
+				<div class="wfive" @click="jumpinfo('/materialAppMessage', '宣传物料制作费用明细')">
+					<span><i class="el-icon-folder-opened"></i></span>
+					<span>宣传物料制作费用明细</span>
+				</div>
+				<div class="wfive" @click="jumpinfo('/materialAppNum', '验收打分单')">
+					<span><i class="el-icon-folder-opened"></i></span>
+					<span>验收打分单</span>
+				</div>
+
 			</div>
-			
-      </div>
 
-    </fullscreen>
+		</div>
 
+</fullscreen>
 </template>
 <script>
-    import mySearch from "../../../components/search.vue";
-    import myMessage from "../../../components/myMessage.vue"
-    import toolList from '../../../components/toolList'
-	import myUpload from '../../../components/upload'
+import mySearch from "../../../components/search.vue";
+import myMessage from "../../../components/myMessage.vue"
+import toolList from '../../../components/toolList'
+import myUpload from '../../../components/upload'
+
+export default {
+	components: {
+		mySearch,
+		myMessage,
+		toolList,
+		myUpload
+	},
+	data() {
 
-    export default {
-        components: {
-            mySearch,
-            myMessage,
-            toolList,
-			myUpload
-        },
-        data() {
-          
-            return {
-                fullscreen: false,
-				lockFlag:'see',
-				province:true
-            }
-        },
-        methods: {
-            jumpinfop(p,v,n){
-				this.$router.push({
-				    path: p,
-				    query:{
-				        type:v
-				    }
-				});
-				this.setabList(n, p+"?type="+v);
-			},
-			jumpinfo(p,n){
-				this.$router.push({
-				    path: p,
-				});
-				this.setabList(n, p);
-			},
-			setabList(n, p) {
-			    let params = {
-			        children: "",
-			        name: n,
-			        rountPath: p,
-			        target: "_self",
-			    };
-			    for (let i = 0; i < this.$store.state.tabList.length; i++) {
-			        if (this.$store.state.tabList[i].name === params.name) {
-			            this.$store.state.tabList[i] = params;
-			        }
-			    }
-			    let set = new Set([...this.$store.state.tabList, params]);
-			    set.add(params);
-			    this.$store.commit("setDefaultActive", params.rountPath);
-			    this.$store.commit("setTabList", Array.from(set));
-			},
-            getUser() {
-                this.userInfo = JSON.parse(window.sessionStorage.userInfo);
-				let Menus = JSON.parse(window.sessionStorage.childrenMenus);
-				for (let i = 0; i < Menus.length; i++) {
-					if(Menus[i].systemflag == 1 && Menus[i].jspUrl == '/publicityAccount'){
-						this.lockFlag = 'add';//省级
-					}
-					if(Menus[i].systemflag == 1 && Menus[i].jspUrl == '/publicity'){
-						this.lockFlag = 'updata';//管理员
-						i = Menus.length;
-					}
+		return {
+			fullscreen: false,
+			lockFlag: 'see',
+			province: true
+		}
+	},
+	methods: {
+		jumpinfop(p, v, n) {
+			this.$router.push({
+				path: p,
+				query: {
+					type: v
+				}
+			});
+			this.setabList(n, p + "?type=" + v);
+		},
+		jumpinfo(p, n) {
+			this.$router.push({
+				path: p,
+			});
+			this.setabList(n, p);
+		},
+		setabList(n, p) {
+			let params = {
+				children: "",
+				name: n,
+				rountPath: p,
+				target: "_self",
+			};
+			for (let i = 0; i < this.$store.state.tabList.length; i++) {
+				if (this.$store.state.tabList[i].name === params.name) {
+					this.$store.state.tabList[i] = params;
+				}
+			}
+			let set = new Set([...this.$store.state.tabList, params]);
+			set.add(params);
+			this.$store.commit("setDefaultActive", params.rountPath);
+			this.$store.commit("setTabList", Array.from(set));
+		},
+		getUser() {
+			this.userInfo = JSON.parse(window.sessionStorage.userInfo);
+			let Menus = JSON.parse(window.sessionStorage.childrenMenus);
+			for (let i = 0; i < Menus.length; i++) {
+				if (Menus[i].systemflag == 1 && Menus[i].jspUrl == '/publicityAccount') {
+					this.lockFlag = 'add';//省级
 				}
-				for (let i = 0; i < Menus.length; i++) {
-					if(Menus[i].systemflag == 1 && Menus[i].jspUrl == '/province'){
-						this.province = true;//省公司
-					}
+				if (Menus[i].systemflag == 1 && Menus[i].jspUrl == '/publicity') {
+					this.lockFlag = 'updata';//管理员
+					i = Menus.length;
 				}
-            }
-        },
-        mounted() {
-            this.getUser();
-        },
-        created() {
+			}
+			for (let i = 0; i < Menus.length; i++) {
+				if (Menus[i].systemflag == 1 && Menus[i].jspUrl == '/province') {
+					this.province = true;//省公司
+				}
+			}
+		}
+	},
+	mounted() {
+		this.getUser();
+	},
+	created() {
 
-        }
-    }
+	}
+}
 </script>
 <style scoped lang="scss">
-	.container-box{
-		height: calc(100vh - 200px);
-		overflow-y: scroll;
-		padding-bottom: 20px;
+.container-box {
+	height: calc(100vh - 200px);
+	overflow-y: scroll;
+	padding-bottom: 20px;
+}
+
+.adv-type {
+	margin-top: 20px;
+	display: flex;
+	// justify-content: space-between;
+	flex-wrap: wrap;
+	// border: 1px solid #ddd;
+	border-radius: 5px;
+	padding: 20px;
+	box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);
+
+	div {
+		width: 33%;
+		text-align: center;
+		height: 80px;
+		overflow: hidden;
+		min-width: 100px;
+		cursor: pointer;
+		padding-top: 10px;
+		margin: 10px 0;
 	}
-	.adv-type{
-	    margin-top: 20px;
-	    display: flex;
-	    justify-content: space-between;
-	    flex-wrap: wrap;
-	    // border: 1px solid #ddd;
-	    border-radius: 5px;
-	    padding: 20px;
-	    box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
-	    div{
-	        width: 33%;
-	        text-align: center;
-	        height: 80px;
-	        overflow: hidden;
-	        min-width: 100px;
-	        cursor: pointer;
-	        padding-top: 10px;
-	        margin: 10px 0;
-	    }
-	    div:hover{
-	        background: #CFE8FC;
-	        border-radius: 5px;
-	    }
-	    span{
-	        width: 100%;
-	        display: inline-block;
-	        height: 40px;
-	        // line-height: 40px;
-	        i{
-	            color: #0074D9;
-	            font-size: 36px;
-	        }
-	    }
-		.wfour{
-			width: 25%;
-		}
-		.wfive{
-			width: 20%;
+
+	div:hover {
+		background: #CFE8FC;
+		border-radius: 5px;
+	}
+
+	span {
+		width: 100%;
+		display: inline-block;
+		height: 40px;
+
+		// line-height: 40px;
+		i {
+			color: #0074D9;
+			font-size: 36px;
 		}
 	}
-</style>
+
+	.wfour {
+		width: 25%;
+	}
+
+	.wfive {
+		width: 20%;
+	}
+}</style>

+ 447 - 0
src/pages/main/advertising/materialAppMessage.vue

@@ -0,0 +1,447 @@
+<template>
+    <fullscreen :fullscreen.sync="fullscreen" class="container">
+        <div class="container-box">
+            <toolList @iconCli="iconCli" :tooltit="tooltit"></toolList>
+            <div class="search">
+                <mySearch :searchList="searchList" @searchInfo="searchInfo"></mySearch>
+                <el-button class="btn-check" size="medium" type="primary" @click="exportTempletelist">导出
+                </el-button>
+            </div>
+            <div class="tabbox">
+                <el-table height="calc(100% - 40px)" class="com-table" ref="multipleTable" :data="tableData"
+                    tooltip-effect="dark" size="small" border style="width: 100%" v-loading="loading">
+                    <el-table-column prop="region" label="城市">
+                    </el-table-column>
+                    <el-table-column prop="district" label="区县">
+                    </el-table-column>
+
+                    <el-table-column prop="selectedGys" label="供应商(全称)">
+                    </el-table-column>
+                    <el-table-column prop="useCase" label="使用场景">
+                    </el-table-column>
+                    <el-table-column prop="materialNo" label="物料编码">
+                    </el-table-column>
+                    <el-table-column prop="material" label="物料名称">
+                    </el-table-column>
+                    <el-table-column prop="unit" label="物料单位">
+                    </el-table-column>
+                    <el-table-column prop="spec" label="规格尺寸">
+                    </el-table-column>
+                    <el-table-column prop="chang" label="长(M)">
+                    </el-table-column>
+                    <el-table-column prop="kuan" label="宽(M)">
+                    </el-table-column>
+                    <el-table-column prop="coefficient" label="系数">
+                    </el-table-column>
+
+                    <el-table-column prop="quantity" label="数量">
+                    </el-table-column>
+                    <el-table-column prop="settlementAmount" label="结算金额(元,不含税)">
+                    </el-table-column>
+                </el-table>
+                <el-pagination class="pageBox" @current-change="currchange" layout="prev, pager, next" background
+                    :total="total">
+                </el-pagination>
+            </div>
+        </div>
+</fullscreen>
+</template>
+<script>
+import mySearch from "../../../components/search.vue";
+import toolList from "../../../components/toolList";
+
+export default {
+    components: {
+        mySearch,
+        toolList,
+    },
+    data() {
+       
+        return {
+            searchList: [
+                {
+                    type: "sel",
+                    tit: "使用场景",
+                    value: "",
+                    width: "31%",
+                    options: [
+                        {
+                            dataCode: "营业厅-VI改造-自有渠道",
+                            dataName: "营业厅-VI改造-自有渠道"
+                        },
+                        {
+                            dataCode: "营业厅-常规物料-自有渠道",
+                            dataName: "营业厅-常规物料-自有渠道"
+                        },
+                        {
+                            dataCode: "营业厅-VI改造-合作渠道",
+                            dataName: "营业厅-VI改造-合作渠道"
+                        },
+                        {
+                            dataCode: "营业厅-常规物料-合作渠道",
+                            dataName: "营业厅-常规物料-合作渠道"
+                        },
+                        {
+                            dataCode: "小区",
+                            dataName: "小区"
+                        },
+                        {
+                            dataCode: "校园",
+                            dataName: "校园"
+                        },
+                        {
+                            dataCode: "政企",
+                            dataName: "政企"
+                        }
+                    ]
+                },
+                { type: "input", tit: "供应商", value: "", width: "31%" },
+                { type: "input", tit: "城市名称", value: "", width: "31%" },
+                { type: "input", tit: "区县名称", value: "", width: "31%" },
+                { type: "input", tit: "物料编码", value: "", width: "31%" }
+            ],
+            tooltit: "宣传物料制作费用明细",
+            fullscreen: false,
+            total: 0,
+            pageSize: 1,
+            tableData: [],
+            dialogStatus: false,
+            disableStatus: false,
+            titname: "",
+            infolist: {},
+            userInfo: {},
+            params: {},
+            centerDialogVisible: false,
+            messTit: "",
+            delid: "",
+            loading: false,
+            loadinged: false,
+            //使用场景
+            sceneopt: [
+                {
+                    dataCode: "1",
+                    dataName: "小区"
+                },
+                {
+                    dataCode: "2",
+                    dataName: "校园"
+                },
+                {
+                    dataCode: "3",
+                    dataName: "营业厅-VI改造-自有渠道"
+                },
+                {
+                    dataCode: "4",
+                    dataName: "营业厅-常规物料-自有渠道"
+                },
+                {
+                    dataCode: "5",
+                    dataName: '营业厅-VI改造-合作渠道'
+                },
+                {
+                    dataCode: "6",
+                    dataName: '营业厅-常规物料-合作渠道'
+                },
+                {
+                    dataCode: "7",
+                    dataName: "政企"
+                }
+            ],
+            // 基础数据
+            isAsicopt: [
+                {
+                    id: "0",
+                    name: "是"
+                },
+                {
+                    id: "1",
+                    name: "否"
+                }
+            ],
+            coefficientopt: [
+                {
+                    id: "0",
+                    name: "按需录入"
+                },
+                {
+                    id: "1",
+                    name: "1"
+                }
+            ],
+            //单位
+            unitopt: [
+                {
+                    id: "0",
+                    name: "平方米"
+                },
+                {
+                    id: "1",
+                    name: "个"
+                },
+                {
+                    id: "2",
+                    name: "延长米"
+                },
+                {
+                    id: "3",
+                    name: "套"
+                },
+                {
+                    id: "4",
+                    name: "组"
+                }, {
+                    id: "5",
+                    name: "延米"
+                }, {
+                    id: '6',
+                    name: '张'
+                }
+            ],
+            //物料名称
+            nameopt: [],
+            //供应商
+            suppOpt: [],
+            usePlanceArr: [],
+            metirialTypeopt: [],
+            metirialCodeDisableStatus: false,
+            // scene:[]
+        };
+    },
+    methods: {
+        exportTempletelist() {
+            let data = this.params;
+            // return
+            this.$http({
+                url: "/market/xcwlProcess/excelExportFeeDetail",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                responseType: "blob",
+                data: {},
+            }).then((response) => {
+                if (window.navigator && window.navigator.msSaveOrOpenBlob) {
+                    let blob = new Blob([response.data], {
+                        type: 'application/vnd.ms-excel'
+                    })
+                    window.navigator.msSaveOrOpenBlob(blob,
+                        new Date().getTime() + '.xlsx')
+                } else {
+                    /* 火狐谷歌的文件下载方式 */
+                    var blob = new Blob([response.data])
+                    var downloadElement = document.createElement('a')
+                    var href = window.URL.createObjectURL(blob)
+                    downloadElement.href = href
+                    downloadElement.download = new Date().getTime() + '.xlsx'
+                    document.body.appendChild(downloadElement)
+                    downloadElement.click()
+                    document.body.removeChild(downloadElement)
+                    window.URL.revokeObjectURL(href)
+                }
+            });
+        },
+        usePlance(v) {
+            this.usePlanceArr = v;
+
+        },
+        closedia() {
+            this.infolist = {};
+            this.dialogStatus = false;
+        },
+        //搜索数据
+        searchInfo(v) {
+            this.params = {};
+            v[0] ? (this.params.useCase = v[0]) : "";
+            v[1] ? (this.params.selectedGys = v[1]) : "";
+            v[2] ? (this.params.region = v[2]) : "";
+            v[3] ? (this.params.district = v[3]) : "";
+            v[4] ? (this.params.materialNo = v[4]) : "";
+            this.getList(this.params, this.pageSize);
+        },
+        uploadBack(v) {
+            let that = this;
+            console.log(v);
+            if (v.data.result == 0) {
+                that.getList({}, 1);
+                that.getUser();
+                that.getMetirialType();
+                that.getMetirialInfo();
+            }
+        },
+        getMetirialInfo() {
+            this.$http({
+                url: "/market/cadvSecbuyMetirial/queryList",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json"
+                },
+                data: {
+                    dictCodePks: "metirialType"
+                }
+            }).then(res => {
+                this.materialNameopt = res.data;
+            });
+        },
+        getMetirialType() {
+            this.$http({
+                url: "/sysmgr/cfgDataDicts/queryMap",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json"
+                },
+                data: {
+                    dictCodePks: "metirialType"
+                }
+            }).then(res => {
+                this.metirialTypeopt = res.data.body.metirialType;
+            });
+        },
+        //获取列表
+        getList(v, n) {
+            this.pageSize = n;
+            let _this = this;
+            this.loading = true;
+            this.tableData = [];
+            this.$http({
+                url: "/market/xcwlProcess/queryDonePage",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                    page: '{"pageNo":"' + n + '","pageSize":"10"}'
+                },
+                data: v
+            }).then(res => {
+                res.data.data.forEach(item => {
+                    for (let i = 0; i < this.sceneopt.length; i++) {
+                        if (this.sceneopt[i].dataCode == item.sceneName) {
+                            item.sceneName = this.sceneopt[i].dataName;
+                        }
+                    }
+                });
+                this.tableData = res.data.data;
+                this.total = res.data.totalRecord;
+                this.loading = false;
+            });
+        },
+
+        // 分页
+        currchange(v) {
+            this.pageSize = v;
+            this.getList(this.params, this.pageSize);
+        },
+        //功能栏
+        iconCli(v) {
+            if (v === 1) {
+                this.getList(this.params, this.pageSize);
+            }
+            if (v === 2) {
+                this.fullscreen = !this.fullscreen;
+            }
+        },
+        getUser() {
+            this.userInfo = JSON.parse(window.sessionStorage.userInfo);
+            this.$http({
+                url: "/market/cadvSupplier/queryValidSupplierList",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json"
+                },
+                // data: { buyTypeCode: "2" }
+                data: {}
+            }).then(res => {
+                this.suppOpt = res.data;
+            });
+        }
+    },
+    mounted() {
+        this.getList({}, 1);
+        this.getUser();
+
+        this.$http({
+            url: "/sysmgr/cfgDataDicts/queryMap",
+            method: "post",
+            headers: {
+                "Content-Type": "application/json"
+            },
+            data: {
+                dictCodePks: "metirialType"
+            }
+        }).then(res => {
+            this.metirialTypeopt = res.data.body.metirialType;
+            // this.stypeList = res.data.body.materType;
+        });
+    },
+    created() { }
+};
+</script>
+<style scoped lang="scss">
+.onetab {
+    margin-bottom: 20px;
+    padding: 0 20px;
+}
+
+.titbox {
+    div {
+        float: right;
+
+        i {
+            font-size: 22px;
+            margin-left: 20px;
+            cursor: pointer;
+        }
+    }
+}
+
+.tabbox {
+    margin-top: 15px;
+}
+
+.pageBox {
+    text-align: right;
+    margin-top: 10px;
+}
+
+.info-line {
+    width: 100%;
+    display: block;
+    padding-left: 20px;
+
+    div {
+        width: 50%;
+        display: inline-block;
+    }
+
+    span {
+        width: 80px;
+        display: inline-block;
+        text-align: left;
+
+        i {
+            color: red;
+            display: inline-block;
+            padding-right: 5px;
+        }
+    }
+
+    .el-select,
+    .el-input {
+        width: calc(100% - 100px);
+    }
+}
+
+.online {
+    width: 100%;
+
+    .el-select {
+        width: calc(100% - 100px);
+    }
+
+    span {
+        vertical-align: top;
+    }
+
+    .el-textarea {
+        width: calc(100% - 100px);
+    }
+}
+</style>

+ 415 - 0
src/pages/main/advertising/materialAppNum.vue

@@ -0,0 +1,415 @@
+<template>
+    <fullscreen :fullscreen.sync="fullscreen" class="container">
+        <div class="container-box">
+            <toolList @iconCli="iconCli" :tooltit="tooltit"></toolList>
+            <div class="search">
+                <mySearch :searchList="searchList" @searchInfo="searchInfo"></mySearch>
+                <el-button class="btn-check" size="medium" type="primary" @click="exportTempletelist">导出验收单
+                </el-button>
+            </div>
+            <div class="tabbox">
+                <el-table height="calc(100% - 40px)" class="com-table" ref="multipleTable" :data="tableData"
+                    tooltip-effect="dark" size="small" border style="width: 100%" @selection-change="selectionChange"
+                    v-loading="loading">
+                    <el-table-column type="selection" width="55">
+                    </el-table-column>
+                    <el-table-column prop="needName" label="业务名称">
+                    </el-table-column>
+                    <el-table-column prop="state" label="需求编号">
+                    </el-table-column>
+                    <el-table-column prop="materialNo" label="物料编码">
+                    </el-table-column>
+                    <el-table-column prop="material" label="物料名称">
+                    </el-table-column>
+                    <el-table-column prop="unit" label="物料单位">
+                    </el-table-column>
+                    <el-table-column prop="spec" label="规格尺寸">
+                    </el-table-column>
+                    <el-table-column prop="quantity" label="数量">
+                    </el-table-column>
+                    <el-table-column prop="districtScore" label="区县验收打分">
+                    </el-table-column>
+                </el-table>
+                <el-pagination class="pageBox" @current-change="currchange" layout="prev, pager, next" background
+                    :total="total">
+                </el-pagination>
+            </div>
+        </div>
+</fullscreen>
+</template>
+<script>
+import { log } from "console";
+import mySearch from "../../../components/search.vue";
+import toolList from "../../../components/toolList";
+
+export default {
+    components: {
+        mySearch,
+        toolList,
+    },
+    data() {
+
+
+        return {
+            exportList:[],
+            searchList: [
+
+                { type: "input", tit: "供应商", value: "", width: "31%" },
+                { type: "input", tit: "城市名称", value: "", width: "31%" },
+                { type: "input", tit: "区县名称", value: "", width: "31%" },
+                { type: "input", tit: "物料编码", value: "", width: "31%" }
+            ],
+            tooltit: "宣传物料制作验收及打分",
+            fullscreen: false,
+            total: 0,
+            pageSize: 1,
+            tableData: [],
+            dialogStatus: false,
+            disableStatus: false,
+            titname: "",
+            infolist: {},
+            userInfo: {},
+            params: {},
+            centerDialogVisible: false,
+            messTit: "",
+            delid: "",
+            loading: false,
+            loadinged: false,
+            //使用场景
+            sceneopt: [
+                {
+                    dataCode: "1",
+                    dataName: "小区"
+                },
+                {
+                    dataCode: "2",
+                    dataName: "校园"
+                },
+                {
+                    dataCode: "3",
+                    dataName: "营业厅-VI改造-自有渠道"
+                },
+                {
+                    dataCode: "4",
+                    dataName: "营业厅-常规物料-自有渠道"
+                },
+                {
+                    dataCode: "5",
+                    dataName: '营业厅-VI改造-合作渠道'
+                },
+                {
+                    dataCode: "6",
+                    dataName: '营业厅-常规物料-合作渠道'
+                },
+                {
+                    dataCode: "7",
+                    dataName: "政企"
+                }
+            ],
+            // 基础数据
+            isAsicopt: [
+                {
+                    id: "0",
+                    name: "是"
+                },
+                {
+                    id: "1",
+                    name: "否"
+                }
+            ],
+            coefficientopt: [
+                {
+                    id: "0",
+                    name: "按需录入"
+                },
+                {
+                    id: "1",
+                    name: "1"
+                }
+            ],
+            //单位
+            unitopt: [
+                {
+                    id: "0",
+                    name: "平方米"
+                },
+                {
+                    id: "1",
+                    name: "个"
+                },
+                {
+                    id: "2",
+                    name: "延长米"
+                },
+                {
+                    id: "3",
+                    name: "套"
+                },
+                {
+                    id: "4",
+                    name: "组"
+                }, {
+                    id: "5",
+                    name: "延米"
+                }, {
+                    id: '6',
+                    name: '张'
+                }
+            ],
+            //物料名称
+            nameopt: [],
+            //供应商
+            suppOpt: [],
+            usePlanceArr: [],
+            metirialTypeopt: [],
+            metirialCodeDisableStatus: false,
+            // scene:[]
+        };
+    },
+    methods: {
+        selectionChange(val){
+          this.exportList =  val;
+        },  
+        exportTempletelist() {
+            if(this.exportList.length==0){
+                this.$message.error('请选择导出文件')
+                return
+            }
+            // return
+            this.$http({
+                url: "/market/xcwlProcess/excelExportDistrictScore",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                responseType: "blob",
+                data: this.exportList,
+            }).then((response) => {
+                if (window.navigator && window.navigator.msSaveOrOpenBlob) {
+                    let blob = new Blob([response.data], {
+                        type: 'application/vnd.ms-excel'
+                    })
+                    window.navigator.msSaveOrOpenBlob(blob,
+                        new Date().getTime() + '.xlsx')
+                } else {
+                    /* 火狐谷歌的文件下载方式 */
+                    var blob = new Blob([response.data])
+                    var downloadElement = document.createElement('a')
+                    var href = window.URL.createObjectURL(blob)
+                    downloadElement.href = href
+                    downloadElement.download = new Date().getTime() + '.xlsx'
+                    document.body.appendChild(downloadElement)
+                    downloadElement.click()
+                    document.body.removeChild(downloadElement)
+                    window.URL.revokeObjectURL(href)
+                }
+            });
+        },
+        usePlance(v) {
+            this.usePlanceArr = v;
+
+        },
+        closedia() {
+            this.infolist = {};
+            this.dialogStatus = false;
+        },
+        //搜索数据
+        searchInfo(v) {
+            this.params = {};
+            v[0] ? (this.params.selectedGys = v[0]) : "";
+            v[1] ? (this.params.region = v[1]) : "";
+            v[2] ? (this.params.district = v[2]) : "";
+            v[3] ? (this.params.materialNo = v[3]) : "";
+            this.getList(this.params, this.pageSize);
+        },
+        uploadBack(v) {
+            let that = this;
+            console.log(v);
+            if (v.data.result == 0) {
+                that.getList({}, 1);
+                that.getUser();
+                that.getMetirialType();
+                that.getMetirialInfo();
+            }
+        },
+        getMetirialInfo() {
+            this.$http({
+                url: "/market/cadvSecbuyMetirial/queryList",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json"
+                },
+                data: {
+                    dictCodePks: "metirialType"
+                }
+            }).then(res => {
+                this.materialNameopt = res.data;
+            });
+        },
+        getMetirialType() {
+            this.$http({
+                url: "/sysmgr/cfgDataDicts/queryMap",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json"
+                },
+                data: {
+                    dictCodePks: "metirialType"
+                }
+            }).then(res => {
+                this.metirialTypeopt = res.data.body.metirialType;
+            });
+        },
+        //获取列表
+        getList(v, n) {
+            this.pageSize = n;
+            let _this = this;
+            this.loading = true;
+            this.tableData = [];
+            this.$http({
+                url: "/market/xcwlProcess/queryDonePage",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                    page: '{"pageNo":"' + n + '","pageSize":"10"}'
+                },
+                data: v
+            }).then(res => {
+                res.data.data.forEach(item => {
+                    for (let i = 0; i < this.sceneopt.length; i++) {
+                        if (this.sceneopt[i].dataCode == item.sceneName) {
+                            item.sceneName = this.sceneopt[i].dataName;
+                        }
+                    }
+                });
+                this.tableData = res.data.data;
+                console.log(this.tableData);
+                this.total = res.data.totalRecord;
+                this.loading = false;
+            });
+        },
+
+        // 分页
+        currchange(v) {
+            this.pageSize = v;
+            this.getList(this.params, this.pageSize);
+        },
+        //功能栏
+        iconCli(v) {
+            if (v === 1) {
+                this.getList(this.params, this.pageSize);
+            }
+            if (v === 2) {
+                this.fullscreen = !this.fullscreen;
+            }
+        },
+        getUser() {
+            this.userInfo = JSON.parse(window.sessionStorage.userInfo);
+            this.$http({
+                url: "/market/cadvSupplier/queryValidSupplierList",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json"
+                },
+                // data: { buyTypeCode: "2" }
+                data: {}
+            }).then(res => {
+                this.suppOpt = res.data;
+            });
+        },
+        handleSelectionChange() {
+
+        }
+    },
+    mounted() {
+        this.getList({}, 1);
+        this.getUser();
+
+        this.$http({
+            url: "/sysmgr/cfgDataDicts/queryMap",
+            method: "post",
+            headers: {
+                "Content-Type": "application/json"
+            },
+            data: {
+                dictCodePks: "metirialType"
+            }
+        }).then(res => {
+            this.metirialTypeopt = res.data.body.metirialType;
+            // this.stypeList = res.data.body.materType;
+        });
+    },
+    created() { }
+};
+</script>
+<style scoped lang="scss">
+.onetab {
+    margin-bottom: 20px;
+    padding: 0 20px;
+}
+
+.titbox {
+    div {
+        float: right;
+
+        i {
+            font-size: 22px;
+            margin-left: 20px;
+            cursor: pointer;
+        }
+    }
+}
+
+.tabbox {
+    margin-top: 15px;
+}
+
+.pageBox {
+    text-align: right;
+    margin-top: 10px;
+}
+
+.info-line {
+    width: 100%;
+    display: block;
+    padding-left: 20px;
+
+    div {
+        width: 50%;
+        display: inline-block;
+    }
+
+    span {
+        width: 80px;
+        display: inline-block;
+        text-align: left;
+
+        i {
+            color: red;
+            display: inline-block;
+            padding-right: 5px;
+        }
+    }
+
+    .el-select,
+    .el-input {
+        width: calc(100% - 100px);
+    }
+}
+
+.online {
+    width: 100%;
+
+    .el-select {
+        width: calc(100% - 100px);
+    }
+
+    span {
+        vertical-align: top;
+    }
+
+    .el-textarea {
+        width: calc(100% - 100px);
+    }
+}
+</style>

+ 28 - 24
src/pages/main/advertising/materialApplistatic.vue

@@ -4,22 +4,22 @@
             <toolList @iconCli='iconCli' :tooltit='tooltit'></toolList>
             <div class="search">
                 <mySearch :searchList="searchList" @searchInfo="searchInfo"></mySearch>
-				<span class="allprice">合计总额:3000</span>
+				<span class="allprice">合计总额:{{ allNum }}</span>
             </div>
             <div class="tabbox">
                 <el-table height="calc(100% - 40px)" class="com-table" ref="multipleTable" :data="tableData"
                     tooltip-effect="dark" size="small" border style="width: 100%" v-loading="loading">
-                    <el-table-column prop="name" label="地市">
+                    <el-table-column prop="countyName" label="地市">
                     </el-table-column>
-                    <el-table-column prop="type" label="物料类型">
+                    <el-table-column prop="metirialType" label="物料类型">
                     </el-table-column>
-                    <el-table-column prop="money" label="单价">
+                    <el-table-column prop="price" label="单价">
                     </el-table-column>
                     <el-table-column prop="size" label="规格">
                     </el-table-column>
-                    <el-table-column prop="num" label="数量">
+                    <el-table-column prop="priority" label="数量">
                     </el-table-column>
-					<el-table-column prop="all" label="小计">
+					<el-table-column prop="settlementAmount" label="小计">
                     </el-table-column>
                 </el-table>
                 <el-pagination class="pageBox" @current-change="currchange" layout="prev, pager, next" background
@@ -42,6 +42,8 @@
         },
         data() {
             return {
+                allNum:'',
+                params:{},
                 searchList: [
                     {
                         type: 'input',
@@ -82,23 +84,25 @@
             },
             //获取列表
             getList(v, n) {
-                // this.pageSize = n;
-                // let _this = this;
-                // this.loading = true;
-                // this.tableData = [];
-                // this.$http({
-                //     url: "/bpm/api/queryBpmPrePluginPage",
-                //     method: "post",
-                //     headers: {
-                //         "Content-Type": "application/json",
-                //         "page": '{"pageNo":"' + n + '","pageSize":"10"}'
-                //     },
-                //     data: v,
-                // }).then((res) => {
-                //     this.tableData = res.data.data;
-                //     this.total = res.data.totalRecord;
-                //     this.loading = false;
-                // });
+                console.log(v);
+                this.pageSize = n;
+                this.loading = true;
+                this.tableData = [];
+                this.$http({
+                    url: "/market/cadvBusiMetirial/queryPageReport",
+                    method: "post",
+                    headers: {
+                        "Content-Type": "application/json",
+                        "page": '{"pageNo":"' + n + '","pageSize":"10"}'
+                    },
+                    data: v,
+                }).then((res) => {
+                    console.log(res);
+                    this.tableData = res.data.data;
+                    this.allNum = res.data.retMsg;
+                    this.total = res.data.totalRecord;
+                    this.loading = false;
+                });
             },
             // 分页
             currchange(v) {
@@ -116,7 +120,7 @@
             },
         },
         mounted() {
-            // this.getList({}, 1);
+            this.getList({}, 1);
         },
         created() {
 

+ 15 - 0
src/pages/main/advertising/supplier.vue

@@ -25,6 +25,10 @@
                     </el-table-column>
                     <el-table-column prop="schedule" label="框架总额进度">
 					</el-table-column>
+                    <el-table-column prop="preCost" label="预占总额">
+					</el-table-column>
+                    <el-table-column prop="billCost" label="下单总额">
+					</el-table-column>
 					<!-- <el-table-column prop="buyTypeName" label="采购类型">
 					</el-table-column> -->
 					<el-table-column prop="contractEndTime" label="截止时间">
@@ -87,6 +91,17 @@
 						    <el-date-picker v-model="infolist.contractEndTime" type="datetime" placeholder="截止时间" :disabled="disableStatus">
 						    </el-date-picker>
 						</el-form-item>
+                        <el-form-item prop="contractEndTime">
+						    <span>预占总额</span>
+						    <el-input v-model="infolist.preCost"  placeholder="预占总额" :disabled="disableStatus">
+						    </el-input>
+						</el-form-item>
+                        <el-form-item prop="contractEndTime">
+						    <span>下单总额</span>
+						    <el-input v-model="infolist.billCost"  placeholder="下单总额" :disabled="disableStatus">
+						    </el-input>
+						</el-form-item>
+               
 						<!-- <el-form-item prop="type">
 						    <span>采购类型</span>
 						    <el-select :disabled="disableStatus" :popper-append-to-body="false"

+ 58 - 12
src/pages/main/documentCollection/documentCollectionApprovalExcel.vue

@@ -5,7 +5,7 @@
                 name="excelIframe" id="excelIframe"></iframe>
         </fullscreen>
         <el-dialog :title="'督办'" :visible.sync="dubanStatus" width="50%" :destroy-on-close="true"
-            :modal-append-to-body="false" :close-on-click-modal="false">
+            :modal-append-to-body="false" :close-on-click-modal="false" :before-close="closeduban">
             <el-form ref="form" :model="testModel" :rules="rules">
                 <div>
                     <div style="padding: 10px 20%;">
@@ -34,14 +34,14 @@
                         </el-form-item>
                     </div>
                     <div slot="footer" style="text-align: right;padding-bottom: 20px;padding-top: 20px">
-                        <el-button @click="dubanStatus = false">取 消</el-button>
+                        <el-button @click="closeduban">取 消</el-button>
                         <el-button type="primary" @click="processAuthduban()">确 定</el-button>
                     </div>
                 </div>
             </el-form>
         </el-dialog>
         <el-dialog :title="'权限设置'" :visible.sync="authSettingStatus" width="100%" :show-close="true"
-            :modal-append-to-body="false">
+            :modal-append-to-body="false" :before-close="closequanxian">
             <el-form :model="testModel" ref="addInfoList">
                 <div>
                     <div class="info-line">
@@ -59,6 +59,7 @@
                         <el-radio v-if="type == '1' || type == '2'" v-model="authType" label="2"
                             style="margin: 10px">特殊权限</el-radio>
                         <div id="limit">
+                            <div style="margin: 10px;display: inline-block;color: red;">注:分配的行的权限不能重复</div>
                             <div v-for="(item, index) in limitList">
                                 <div style="margin-right: 10px;margin-left: 10px;display: inline-block;">负责人:</div>
                                 <el-button v-if="type == '1' || type == '2'" type="primary"
@@ -113,10 +114,10 @@
         <el-dialog title="选择填报人" :visible.sync="noLimitDialog" width="100%" :destroy-on-close="true"
             :modal-append-to-body="false" :close-on-click-modal="false">
             <div style="max-height:500px ;">
-                <deptTreeUserNew v-if="authType == '1'" @treeCheck="treeCheckonly" :defaultList="defaultList"
-                    :type="depttype" :closeList="closeList" :oneORmore="authType" treeListType="1"></deptTreeUserNew>
-                <deptTreeUserNew v-if="authType == '2'" @treeCheck="treeCheckonly" :defaultList="defaultList"
-                    :type="depttype" :closeList="closeList" :oneORmore="authType" treeListType="1"></deptTreeUserNew>
+                <!-- <deptTreeUserNew v-if="authType == '1'" @treeCheck="treeCheckonly" :defaultList="defaultList"
+                    :type="depttype" :closeList="closeList" :oneORmore="authType" treeListType="1"></deptTreeUserNew> -->
+                <deptTreeUserNew @treeCheck="treeCheckonly" :defaultList="defaultList" :type="depttype"
+                    :closeList="closeList" oneORmore="2" treeListType="1"></deptTreeUserNew>
 
                 <div slot="footer" style="text-align: right;padding-bottom: 20px">
                     <el-button @click="noLimitDialog = false">取 消</el-button>
@@ -125,7 +126,7 @@
             </div>
         </el-dialog>
         <el-dialog :title="'提交'" :visible.sync="authDialog" width="50%" :destroy-on-close="true"
-            :modal-append-to-body="false" :close-on-click-modal="false">
+            :modal-append-to-body="false" :close-on-click-modal="false" :before-close="closetijiao">
             <el-form :model="testModel" ref="addInfoList">
                 <div>
                     <div class="info-line">
@@ -150,7 +151,7 @@
                     </div>
                     <br />
                     <div slot="footer" style="text-align: right;padding-bottom: 20px;padding-top: 20px">
-                        <el-button @click="authDialog = false">取 消</el-button>
+                        <el-button @click="closetijiao()">取 消</el-button>
                         <el-button type="primary" @click="processAudit()" :disabled="BtnDisabled">确 定</el-button>
                     </div>
                 </div>
@@ -266,6 +267,16 @@ export default {
         }
     },
     methods: {
+        closequanxian() {
+            this.authSettingStatus = false
+            this.limitList = [{}]
+            this.noLimitUserName = ''
+            this.authType = '2'
+        },
+        closeduban() {
+            this.dubanStatus = false
+            this.testModel = {}
+        },
         // 填报日期
         handleWrite(value) {
             if (value) {//
@@ -307,6 +318,12 @@ export default {
             //     };
             // }
         },
+        closetijiao() {
+            this.authDialog = false;
+            this.treeListType = '';
+            this.auditForm.receiverName = '';
+            this.auditForm.authType = ''
+        },
         auditUserAdd() {
             this.checkexapeople = true;
         },
@@ -479,7 +496,7 @@ export default {
                         message: '处理成功',
                         type: 'success'
                     });
-                    
+
                     //没找到关闭标签页之前的临时处理措施
                     // const newUrl = '#' + this.$route.path + '?type=5&id=' + this.getUrlKey("id");
                     // console.log(newUrl);
@@ -787,9 +804,9 @@ export default {
                 }
             } else if (this.authType == '2') {
                 this.limitList.map((o) => {
-                    console.log(o.userIds);
+                    // console.log(o.userIds);
                     console.log(o.editStart);
-                    console.log(o.editStartCol);
+                    console.log(o.editEnd);
                     let str = o.editStartCol + o.editEndCol
                     if (o.userIds == null || o.userIds[0].key == null) {
                         this.$message({
@@ -863,6 +880,34 @@ export default {
                         return;
                     }
                 })
+                // let arr = []
+                // this.limitList.map((o) => {
+                //     for (var i = o.editStart; i <= o.editEnd; i++) {
+                //         arr.push(i);
+                //     }
+                // })
+                // console.log(arr);
+
+                // let arr2 = arr.sort();
+                // for (let i = 0; i < arr2.length; i++) {
+
+                //     if (typeof (arr2[i]) === 'number') {
+                //         arr2[i] = arr2[i].toString()
+                //     }
+                //     if (typeof (arr2[i + 1]) === 'number') {
+                //         arr2[i + 1] = arr2[i + 1].toString()
+                //     }
+                //     console.log(typeof (arr2[i]));
+                //     console.log((arr2[i]));
+                //     if (arr2[i] === arr2[i + 1]) {
+                //         this.$message({
+                //             message: '分配的行的权限不能重复',
+                //             type: 'error'
+                //         });
+                //         this.success = false;
+                //         return;
+                //     }
+                // }
                 console.log(this.limitList);
             }
             if (this.success) {
@@ -1180,6 +1225,7 @@ export default {
 span {
     width: 80px;
 }
+
 ::v-deep .el-button--text {
     display: none !important;
 }

+ 1 - 1
src/pages/main/documentCollection/newTree.vue

@@ -97,7 +97,7 @@ export default {
       }
       if (v.o !== this.treeId) {
         this.$http({
-          url: "/sysmgr/sysuserinfo/queryListByName",
+          url: "/sysmgr/sysuserinfo/querySysUserListByNameOrderByDuty",
           method: "post",
           headers: {
             "Content-Type": "application/json",

+ 0 - 65
src/pages/main/leader/demand/demandHome.vue

@@ -767,71 +767,6 @@ export default {
   },
   created() {
     this.getUserIndex();
-    // let A = [
-    //   {
-    //     id: 1,
-    //     b: "456",
-    //   },
-    //   {
-    //     id: 2,
-    //     b: "456",
-    //   },
-    // ];
-    // let B = [
-    //   {
-    //     a: 1,
-    //     b: "4567",
-    //   },
-    //   {
-    //     a: 1,
-    //     b: "4568",
-    //   },
-    //   {
-    //     a: 2,
-    //     b: "4567",
-    //   },
-    // ];
-    // A.map((item) => {
-    //   item.c = [];
-    //   let index = B.findIndex((items) => {
-    //     if (items.a == item.id) {
-    //       item.c.push(items);
-    //     }
-    //   });
-    //   console.log(index);
-    //  B.map((items,index) =>{
-    //   if(item.id == items.a){
-    //     item.c.push(items)
-    //   }
-
-    //  })
-    // });
-    // console.log(A);
-    // function getUserDescribe(name) {
-    //   const describeForNameMap = [
-    //     [
-    //       (name) => name.length > 3, // 判断条件
-    //       () => console.log("名字太长"), // 执行函数
-    //     ],
-    //     [(name) => name.length < 2, () => console.log("名字太短")],
-    //     [(name) => name[0] === "陈", () => console.log("小陈")],
-    //     [(name) => name === "大鹏", () => console.log("管理员")],
-    //     [
-    //       (name) => name[0] === "李" && name !== "李鹏",
-    //       () => console.log("小李"),
-    //     ],
-    //   ];
-    //   // 获取符合条件的子数组
-    //   const getDescribe = describeForNameMap.find((item) => item[0](name));
-    //   // 子数组存在则运行子数组中的第二个元素(执行函数)
-    //   getDescribe ? getDescribe[1]() : console.log("此人比较神秘!");
-    // }
-    // getUserDescribe('张元芳微软')
-    // const func = (name, age = "fatfish") => {
-    //   console.log(name);
-    // };
-    // func("123123123");
-
     //oa跳转回来显示
     let status = JSON.stringify(this.$route.query) == "{}";
     if (status) {

+ 232 - 0
src/pages/main/luckySheet/index.vue

@@ -0,0 +1,232 @@
+<template>
+  <div class="flex-count">
+    <div class="flex-count-header">
+      <span>在线文档-文件管理</span>
+      <el-button type="primary" class="header-button" @click="clickSave"
+        >新建</el-button
+      >
+    </div>
+
+    <Table @clickDemand="clickDemand" :list="lable" ref="TableList"> </Table>
+    <!-- <div v-for="(item, index) in optionsExcel" :key="index">
+      <div @click="clickSee(item)">{{ item.option.title }}</div>
+    </div>
+    <el-button @click="newExcle">新建</el-button>
+    <div
+      id="luckysheet"
+      v-show="excelStatus"
+      style="
+        margin: 0px;
+        padding: 0px;
+        position: absolute;
+        width: 100%;
+        height: 100%;
+        left: 0px;
+        top: 0px;
+      "
+    ></div> -->
+  </div>
+</template>
+
+<script>
+import axios from "axios";
+import luckyexcel from "luckyexcel";
+import Table from "../../../components/el-form.vue";
+export default {
+  components: {
+    Table,
+  },
+  data() {
+    return {
+      excelStatus: false,
+      optionsExcel: [],
+      ids: "",
+      lable: {
+        name: "first",
+        height: "650",
+        titledata: [
+          {
+            label: "名称",
+            prop: "needName",
+            width: 300,
+            color: "#0682CD",
+          },
+          {
+            label: "创建时间",
+            prop: "needType",
+            width: 200,
+          },
+          {
+            label: "创建科室",
+            prop: "applyDept",
+            width: 200,
+          },
+          {
+            label: "创建人",
+            prop: "applyDepartment",
+            width: 200,
+          },
+          {
+            label: "权限状态",
+            prop: "proposer",
+            width: 200,
+          },
+        ], //表格头
+        data: [], //内容数据
+        loading: true,
+        pageData: {
+          total: 100, // 总条数
+          pageSize: 10, // 每页数量
+          pageNum: 1, // 页码
+        },
+        isSelection: true, // 表格有多选时设置
+        isOperation: false, // 表格有操作列时设置
+        isIndex: false, // 列表序号
+        operation: {
+          // 表格有操作列时设置
+          label: "操作", // 列名
+          width: "50", // 根据实际情况给宽度
+          data: [
+            {
+              label: "操作", // 操作名称
+              type: "", //按钮类型
+              handleRow: (e, r, o) => {
+                // this.disabled = true;
+                // this.dialogTitle = "查看";
+                // if (r.taskName === "起草") {
+                //   this.disabled = false;
+                // } else {
+                //   this.disabled = true;
+                // }
+                // this.fromList = r;
+                // this.clickForm(r);
+                // this.getFromQuery(r);
+                // this.dialogStatus = true;
+                // setTimeout(() => {
+                //   this.getBtnStatus(r);
+                // }, 500);
+                // this.formWorkId = r.id;
+                // this.formId = r.taskId;
+                // this.taskName = r.taskName;
+                // this.getQuery()
+              }, // 自定义事件
+            },
+          ],
+        },
+      },
+    };
+  },
+  created() {
+    this.getAllExcel();
+  },
+  mounted() {},
+  methods: {
+    clickSave() {
+      this.$http({
+        url: "/market/cOnlineExcel/addExcel",
+        method: "post",
+        headers: {
+          "Content-Type": "application/json",
+        },
+        data: {
+          folderId: '',
+        },
+      }).then((res) => {
+        // if (res.data.result === 1) {
+        //   _this.$message({
+        //     message: res.data.desc,
+        //     type: "error",
+        //   });
+        // } else {
+        //   _this.$message({
+        //     message: "成功",
+        //     type: "success",
+        //   });
+        //   var id = res.data.desc;
+        //   _this.addNewStatus = false;
+        //   //放入id,切换到excel模式
+        //   document.getElementById("excelId").setAttribute("value", id);
+        //   _this.showExcel = true;
+        // }
+      });
+    },
+    clickSee(e) {
+      this.$http({
+        url: "/api/sheet/workbook/" + e.id,
+        method: "post",
+        headers: {
+          "Content-Type": "application/json",
+        },
+        data: {},
+      }).then((res) => {
+        this.ids = e.id;
+        // this.optionsExcel = res.data;
+        let options = {
+          container: "luckysheet",
+          title: "123123",
+          allowUpdate: true,
+          lang: "zh",
+          loadUrl:
+            window.location.protocol +
+            "//43.138.50.94:7777" +
+            "/sheet/worksheet/" +
+            this.ids,
+          loadSheetUrl:
+            window.location.protocol +
+            "//43.138.50.94:7777" +
+            "/sheet/loadsheet/" +
+            this.ids,
+          updateUrl:
+            "ws://" +
+            "//43.138.50.94:7777" +
+            "/ws/" +
+            JSON.parse(window.sessionStorage.userInfo).loginName +
+            "/" +
+            this.ids,
+        };
+        window.luckysheet.create(options);
+        this.excelStatus = true;
+      });
+    },
+    //获取所有
+    getAllExcel() {
+      let data = {};
+      axios
+        .post("http://43.138.50.94:7777/sheet/allSheet", data)
+        .then((res) => {
+          console.log(res);
+          this.optionsExcel = res.data;
+        });
+    },
+    newExcle() {
+      let data = {};
+      axios.post("http://43.138.50.94:7777/sheet/create", data).then((res) => {
+        console.log(res);
+        let list = {
+          name: res.data.name,
+          id: res.data.id,
+        };
+        this.optionsExcel.push(list);
+      });
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.flex-count {
+  background-color: #fff;
+  .flex-count-header {
+    display: flex;
+    flex-direction: column;
+    span {
+      font-size: 22px;
+      margin: 20px 0 0 30px;
+    }
+    .header-button {
+      width: 10%;
+      margin: 20px 0 20px 30px;
+    }
+  }
+}
+</style>

+ 94 - 69
src/pages/main/onlineExcel/index.vue

@@ -2,7 +2,7 @@
     <fullscreen :fullscreen.sync="fullscreen" class="container">
         <div class="container">
             <div class="main-box container-box">
-                <input type="hidden" id="excelId"/>
+                <input type="hidden" id="excelId" />
                 <div class="inner-left" style="overflow: hidden">
                     <!--                <div class="button-list">-->
                     <!--                    <el-button type="primary" @click="showExcel = true" plain>excel</el-button>-->
@@ -10,27 +10,26 @@
                     <!--                </div>-->
                     <div style="margin: 10px 0">
                         <el-input placeholder="请输入内容" v-model="filterText" class="input-with-select" clearable
-                                  @change="() => {if (!filterText) {searchMenu();}}">
+                            @change="() => { if (!filterText) { searchMenu(); } }">
                             <el-button slot="append" @click="searchMenu" icon="el-icon-search"></el-button>
                         </el-input>
                     </div>
                     <div v-loading="loading" style="height: calc(100% - 100px);overflow-y: scroll;overflow-x: scroll">
                         <el-tree ref="tree" class="tree-line" :expand-on-click-node="false" :auto-expand-parent="true"
-                                 :default-expand-all="true" :default-checked-keys="checkedMenu" :data="menuList"
-                                 @check="checkChange"
-                                 @node-click="nodeClick" :filter-node-method="filterNode" node-key="functionCode"
-                                 style="width: 300px">
-                        <span class="custom-tree-node" slot-scope="{ node }">
-                            <span>
-                                <span v-if="node.data.type == 4"
-                                      style="color: #009cff" class="iconfont icon-wenjianjia"></span>
-                                <span v-else style="color: #fdb441" class="iconfont icon-wenjian"></span>
-                                <span
-                                    :style="node.data.hasOwnProperty('parent')? 'font-size:14px;padding-left:5px':'font-size:12px;padding-left:5px'">{{
-                                        node.data.functionName
-                                    }}</span>
+                            :default-expand-all="true" :default-checked-keys="checkedMenu" :data="menuList"
+                            @check="checkChange" @node-click="nodeClick" :filter-node-method="filterNode"
+                            node-key="functionCode" style="width: 300px">
+                            <span class="custom-tree-node" slot-scope="{ node }">
+                                <span>
+                                    <span v-if="node.data.type == 4" style="color: #009cff"
+                                        class="iconfont icon-wenjianjia"></span>
+                                    <span v-else style="color: #fdb441" class="iconfont icon-wenjian"></span>
+                                    <span
+                                        :style="node.data.hasOwnProperty('parent') ? 'font-size:14px;padding-left:5px' : 'font-size:12px;padding-left:5px'">{{
+                                            node.data.functionName
+                                        }}</span>
+                                </span>
                             </span>
-                        </span>
                         </el-tree>
                     </div>
                     <div class="tree-action"></div>
@@ -40,19 +39,22 @@
                         <toolList @iconCli='iconCli' :tooltit='tooltit' style="margin: 10px"></toolList>
                         <div style="margin-top: 20px;float: left;" class="bigbtns">
                             <el-button style="margin-left: 20px;" class="btn-check" size="medium" type="primary"
-                                       @click="addNewStatus = true">新建
+                                @click="addNewStatus = true">新建
                             </el-button>
+                            <!-- <el-button style="margin-left: 20px;" class="btn-check" size="medium" type="primary"
+                                @click="shareStatus = true">新建2222
+                            </el-button> -->
                         </div>
                         <div style="margin-top: 20px;float: right;margin-right: 20px" class="bigbtns"
-                             v-if="selectionSize != 0">
+                            v-if="selectionSize != 0">
                             <el-button style="margin-left: 5px;" class="btn-check" size="small" type="primary"
-                                       @click="delExcel()">删除
+                                @click="delExcel()">删除
                             </el-button>
                             <el-button style="margin-left: 5px;" class="btn-check" size="small" type="primary"
-                                       @click="cancelSelection()">取消
+                                @click="cancelSelection()">取消
                             </el-button>
                             <el-button style="margin-left: 5px;" class="btn-check" size="small" type="primary"
-                                       @click="moveStatus = true">移动到
+                                @click="moveStatus = true">移动到
                             </el-button>
                         </div>
                     </div>
@@ -61,8 +63,8 @@
                             <span v-if="selectionSize != 0">已选{{ selectionSize }}项</span>
                         </div>
                         <el-table height="calc(100% - 60px)" class="com-table" ref="multipleTable" :data="tableData"
-                                  tooltip-effect="dark" size="small" border style="width: 100%" v-loading="loading"
-                                  @selection-change="handleSelectionChange">
+                            tooltip-effect="dark" size="small" border style="width: 100%" v-loading="loading"
+                            @selection-change="handleSelectionChange">
                             <el-table-column type="selection" width="45"></el-table-column>
                             <el-table-column prop="fileName" label="名称">
                             </el-table-column>
@@ -81,28 +83,26 @@
                             <el-table-column label="操作" width="180px" align="center" fixed="right">
                                 <template slot-scope="scope">
                                     <el-button size="mini" type="primary" @click="moveToEdit(scope.row)"
-                                               :disabled="scope.row.shareEditStatus==1">编辑
+                                        :disabled="scope.row.shareEditStatus == 1">编辑
                                     </el-button>
                                 </template>
                             </el-table-column>
                         </el-table>
-                        <el-pagination class="pageBox" @current-change="currchange" layout="prev, pager, next"
-                                       background
-                                       :total="total">
+                        <el-pagination class="pageBox" @current-change="currchange" layout="prev, pager, next" background
+                            :total="total">
                         </el-pagination>
                     </div>
 
                     <div class="container" id="container" v-else>
                         <fullscreen :fullscreen.sync="excelFullScreen" class="container">
                             <iframe id="excelIframe" height="100%" width="100%"
-                                    src="/marketfront/static/views/onlineShareExcel.html"
-                                    frameborder="0"></iframe>
+                                src="/marketfront/static/views/onlineShareExcel.html" frameborder="0"></iframe>
                         </fullscreen>
                     </div>
                 </div>
             </div>
             <el-dialog :title="'新建'" :visible.sync="addNewStatus" width="300px" :destroy-on-close="true"
-                       :modal-append-to-body="false" :close-on-click-modal="false">
+                :modal-append-to-body="false" :close-on-click-modal="false">
                 <div>
                     <!--                <el-button type="primary" @click="addExcel()" plain class="iconfont icon-wenjian">在线文档</el-button>-->
                     <!--                <el-button type="primary" @click="addFolderStatus = true" plain class="iconfont icon-wenjianjia">文件夹</el-button>-->
@@ -112,7 +112,7 @@
                             <p style="margin-left: 20px;margin-top: 10px">在线文档</p>
                         </div>
                         <div style="width: 85px;display: inline-block;margin-left: 70px;cursor: pointer"
-                             @click="addFolderStatus = true">
+                            @click="addFolderStatus = true">
                             <span class="iconfont icon-wenjianjia" style="font-size: 80px;color: dodgerblue"></span>
                             <p style="margin-left: 20px;margin-top: 10px">文件夹</p>
                         </div>
@@ -120,14 +120,13 @@
                 </div>
             </el-dialog>
             <el-dialog :title="'新增文件夹'" :visible.sync="addFolderStatus" width="50%" :destroy-on-close="true"
-                       :modal-append-to-body="false" :close-on-click-modal="false">
+                :modal-append-to-body="false" :close-on-click-modal="false">
                 <div v-loading="loading">
                     <el-form :model="infolist" ref="infolist">
                         <div class="online">
                             <el-form-item prop="name">
                                 <span>文件夹名称</span>
-                                <el-input v-model="infolist.name" placeholder="文件夹名称"
-                                          :disabled="disableStatus"></el-input>
+                                <el-input v-model="infolist.name" placeholder="文件夹名称" :disabled="disableStatus"></el-input>
                             </el-form-item>
                         </div>
                     </el-form>
@@ -138,49 +137,59 @@
                 </div>
             </el-dialog>
             <el-dialog :title="'分享选项'" :visible.sync="shareStatus" width="550px" :destroy-on-close="true"
-                       :modal-append-to-body="false" :close-on-click-modal="false">
+                :modal-append-to-body="false" :close-on-click-modal="false">
                 <div style="margin-left: 30px;padding-bottom: 20px" v-loading='shareLoading'>
                     <el-button type="primary" @click="processExcelShare(1)" plain>仅我可编辑</el-button>
                     <el-button type="primary" @click="openOADialog(2)" plain>部门内所有人可编辑</el-button>
                     <el-button type="primary" @click="checkexa = true" plain>指定人可编辑</el-button>
                 </div>
             </el-dialog>
-            <el-dialog title="选择填报人" :visible.sync="checkexa" width="50%" :destroy-on-close="true"
-                       :modal-append-to-body="false" :close-on-click-modal="false" v-loading="shareLoading">
-                <div>
-                    <el-form :model="exaList" ref="addInfoList">
-                        <el-form-item prop="processUserId" class="info-line online">
-                            <span style="width: 80px;margin-right: 20px">审批人员</span>
-                            <deptTreeUserNew class="tree" @treeCheck="treeCheckonly" :defaultList="defaultList"
-                                             :type="depttype" :closeList="closeList"></deptTreeUserNew>
-                            <div class="tree treeUser">
+            <div class="flex-dialog">
+                <el-dialog title="选择填报人" :visible.sync="checkexa" width="86%" style="height:100%  ;"
+                    :destroy-on-close="true" :modal-append-to-body="false" :close-on-click-modal="false"
+                    v-loading="shareLoading">
+                    <div class="flex-dialog">
+                        <el-row style="height:80%  ;">
+                            <el-col :span="24" style="height:100%  ;">
+                                <deptTreeUserNew class="tree" @treeCheck="treeCheckonly" :defaultList="defaultList"
+                                    :type="depttype" :closeList="closeList"></deptTreeUserNew>
+                            </el-col>
+
+                        </el-row>
+                        <!-- <el-form :model="exaList" ref="addInfoList"> -->
+                        <!-- <el-form-item prop="processUserId" class="info-line online"> -->
+                        <!-- <span style="width: 80px;margin-right: 20px">审批人员</span> -->
+
+                        <!-- <div class="tree treeUser">
                                 <p v-for="(item,index) in treeList" :key="index">{{ item.receiveName }}
                                     <i @click="deletes(item,index)" class="el-icon-error"></i>
                                 </p>
-                            </div>
-                        </el-form-item>
-                    </el-form>
+                            </div> -->
+                        <!-- </el-form-item> -->
+                        <!-- </el-form> -->
 
-                    <div slot="footer" style="text-align: right;padding-bottom: 20px">
-                        <el-button type="primary" @click="checkProcessUser(3)">确 定</el-button>
-                        <el-button @click="checkexa = false">取 消</el-button>
+                        <div slot="footer" style="text-align: right;padding-bottom: 20px">
+                            <el-button type="primary" @click="checkProcessUser(3)">确 定</el-button>
+                            <el-button @click="checkexa = false">取 消</el-button>
+                        </div>
                     </div>
-                </div>
-            </el-dialog>
+                </el-dialog>
+            </div>
+
             <el-dialog title="移动到" :visible.sync="moveStatus" width="500px" :destroy-on-close="true"
-                       :modal-append-to-body="false" :close-on-click-modal="false">
+                :modal-append-to-body="false" :close-on-click-modal="false">
                 <div>
                     <el-tree ref="tree" class="tree-line" :expand-on-click-node="false" :auto-expand-parent="true"
-                             :default-expand-all="true" :default-checked-keys="checkedMenu" :data="moveMenuList"
-                             @check="checkChange"
-                             @node-click="folderNodeClick" node-key="functionCode" @expand-on-click-node="false">
+                        :default-expand-all="true" :default-checked-keys="checkedMenu" :data="moveMenuList"
+                        @check="checkChange" @node-click="folderNodeClick" node-key="functionCode"
+                        @expand-on-click-node="false">
                         <span class="custom-tree-node" slot-scope="{ node }">
                             <span>
-                                <span v-if="node.data.type == 4"
-                                      style="color: #009cff" class="iconfont icon-wenjianjia"></span>
+                                <span v-if="node.data.type == 4" style="color: #009cff"
+                                    class="iconfont icon-wenjianjia"></span>
                                 <span v-else style="color: #fdb441" class="iconfont icon-wenjian"></span>
                                 <span
-                                    :style="node.data.hasOwnProperty('parent')? 'font-size:14px;padding-left:5px':'font-size:12px;padding-left:5px'">{{
+                                    :style="node.data.hasOwnProperty('parent') ? 'font-size:14px;padding-left:5px' : 'font-size:12px;padding-left:5px'">{{
                                         node.data.functionName
                                     }}</span>
                             </span>
@@ -194,10 +203,10 @@
                     </div>
                 </div>
             </el-dialog>
-            <myMessage :messTit='messTit' @closeMessage="processDel" :centerDialogVisible="delVisible"
-                       v-if="delVisible"></myMessage>
-            <myMessageRadio :messTit='oaTitle' @closeMessage="processOa" :centerDialogVisible="oaVisible"
-                            v-if="oaVisible" yesBtnName="是" noBtnName="否" ok-btn-name="提交"></myMessageRadio>
+            <myMessage :messTit='messTit' @closeMessage="processDel" :centerDialogVisible="delVisible" v-if="delVisible">
+            </myMessage>
+            <myMessageRadio :messTit='oaTitle' @closeMessage="processOa" :centerDialogVisible="oaVisible" v-if="oaVisible"
+                yesBtnName="是" noBtnName="否" ok-btn-name="提交"></myMessageRadio>
         </div>
     </fullscreen>
 </template>
@@ -208,7 +217,7 @@ import toolList from "../../../components/toolList";
 import myMessage from "../../../components/myMessage.vue";
 import myMessageNew from "../../../components/myMessageNew.vue";
 import myMessageRadio from "../../../components/myMessageRadio.vue";
-import deptTreeUserNew from "../../../components/deptTreeUserNew.vue"
+import deptTreeUserNew from "../../../components/newTree.vue"
 
 export default {
     components: {
@@ -384,7 +393,7 @@ export default {
             _this.shareLoading = true;
             if (shareType == 3) {
                 this.treeList.map((o) => {
-                    deptList.push(o.receiveNo);
+                    deptList.push(o.key);
                 });
             }
             if (shareType == 1) {
@@ -788,6 +797,22 @@ export default {
 </script>
 
 <style lang="scss" scoped>
+::v-deep .flex-dialog .el-dialog {
+    height: 600px !important;
+}
+
+.flex-dialog {
+    height: 100%;
+}
+
+.el-dialog {
+    height: 100% !important;
+}
+
+::v-deep .flex-dialog .el-dialog__body {
+    height: 100% !important;
+}
+
 .container {
     background-color: #f0f2f5;
 
@@ -806,7 +831,7 @@ export default {
         overflow: hidden;
         display: flex;
 
-        > div {
+        >div {
             background-color: white;
         }
 
@@ -828,7 +853,7 @@ export default {
     }
 }
 
-.el-button + .el-button {
+.el-button+.el-button {
     margin-left: 20px;
 }
 
@@ -899,11 +924,11 @@ export default {
     }
 
     // 去掉最顶层的虚线,放最下面样式才不会被上面的覆盖了
-    & > .el-tree-node::after {
+    &>.el-tree-node::after {
         border-top: none;
     }
 
-    & > .el-tree-node::before {
+    &>.el-tree-node::before {
         border-left: none;
     }
 

+ 40 - 13
src/pages/main/onlineExcelMarket/index.vue

@@ -42,6 +42,9 @@
                             <el-button style="margin-left: 20px;" class="btn-check" size="medium" type="primary"
                                        @click="addNewStatus = true">新建
                             </el-button>
+                            <!-- <el-button style="margin-left: 20px;" class="btn-check" size="medium" type="primary"
+                                @click="shareStatus = true">新建2222
+                            </el-button> -->
                         </div>
                         <div style="margin-top: 20px;float: right;margin-right: 20px" class="bigbtns"
                              v-if="selectionSize != 0">
@@ -144,21 +147,29 @@
                     <el-button type="primary" @click="checkexa = true" plain>指定人可编辑</el-button>
                 </div>
             </el-dialog>
-            <el-dialog title="选择填报人" :visible.sync="checkexa" width="50%" :destroy-on-close="true"
+            <div class="flex-dialog">
+            <el-dialog title="选择填报人" :visible.sync="checkexa" width="86%" style="height:100%  ;" :destroy-on-close="true"
                        :modal-append-to-body="false" :close-on-click-modal="false" v-loading="shareLoading">
-                <div>
-                    <el-form :model="exaList" ref="addInfoList">
-                        <el-form-item prop="processUserId" class="info-line online">
-                            <span style="width: 80px;margin-right: 20px">审批人员</span>
-                            <deptTreeUserNew class="tree" @treeCheck="treeCheckonly" :defaultList="defaultList"
-                                             :type="depttype" :closeList="closeList"></deptTreeUserNew>
-                            <div class="tree treeUser">
+                <div class="flex-dialog">
+                    <el-row style="height:80%  ;">
+                            <el-col :span="24" style="height:100%  ;">
+                                <deptTreeUserNew class="tree" @treeCheck="treeCheckonly" :defaultList="defaultList"
+                                    :type="depttype" :closeList="closeList"></deptTreeUserNew>
+                            </el-col>
+
+                        </el-row>
+                    <!-- <el-form :model="exaList" ref="addInfoList">
+                        <el-form-item prop="processUserId" class="info-line online"> -->
+                            <!-- <span style="width: 80px;margin-right: 20px">审批人员</span> -->
+                            <!-- <deptTreeUserNew class="tree" @treeCheck="treeCheckonly" :defaultList="defaultList"
+                                             :type="depttype" :closeList="closeList"></deptTreeUserNew> -->
+                            <!-- <div class="tree treeUser">
                                 <p v-for="(item,index) in treeList" :key="index">{{ item.receiveName }}
                                     <i @click="deletes(item,index)" class="el-icon-error"></i>
                                 </p>
-                            </div>
-                        </el-form-item>
-                    </el-form>
+                            </div> -->
+                        <!-- </el-form-item>
+                    </el-form> -->
 
                     <div slot="footer" style="text-align: right;padding-bottom: 20px">
                         <el-button type="primary" @click="checkProcessUser(3)">确 定</el-button>
@@ -166,6 +177,7 @@
                     </div>
                 </div>
             </el-dialog>
+        </div>
             <el-dialog title="移动到" :visible.sync="moveStatus" width="500px" :destroy-on-close="true"
                        :modal-append-to-body="false" :close-on-click-modal="false">
                 <div>
@@ -207,7 +219,7 @@ import toolList from "../../../components/toolList";
 import myMessage from "../../../components/myMessage.vue";
 import myMessageNew from "../../../components/myMessageNew.vue";
 import myMessageRadio from "../../../components/myMessageRadio.vue";
-import deptTreeUserNew from "../../../components/deptTreeUserNew.vue"
+import deptTreeUserNew from "../../../components/newTree.vue"
 
 export default {
     components: {
@@ -383,7 +395,7 @@ export default {
             _this.shareLoading = true;
             if (shareType == 3) {
                 this.treeList.map((o) => {
-                    deptList.push(o.receiveNo);
+                    deptList.push(o.key);
                 });
             }
             if (shareType == 1) {
@@ -786,6 +798,21 @@ export default {
 </script>
 
 <style lang="scss" scoped>
+::v-deep .flex-dialog .el-dialog {
+    height: 600px !important;
+}
+
+.flex-dialog {
+    height: 100%;
+}
+
+.el-dialog {
+    height: 100% !important;
+}
+
+::v-deep .flex-dialog .el-dialog__body {
+    height: 100% !important;
+}
 .container {
     background-color: #f0f2f5;
 

Файловите разлики са ограничени, защото са твърде много
+ 1011 - 0
src/pages/main/onlineExcelMarkets/index.vue


Файловите разлики са ограничени, защото са твърде много
+ 1098 - 0
src/pages/main/onlineExcels/index.vue


+ 6 - 7
src/pages/main/performance/mould.vue

@@ -3,7 +3,6 @@
     <div class="simple-container">
       <simple-form
         :form="table_form"
-        :handle="table_handle"
         @search="handleSearch"
         @add="handleVisible('add')"
         class="department-form"
@@ -169,12 +168,12 @@ export default {
         },
       ],
       table_list: [],
-      table_handle: [
-        {
-          label: "新增模板",
-          props: "add",
-        },
-      ],
+      // table_handle: [
+      //   // {
+      //   //   label: "新增模板",
+      //   //   props: "add",
+      //   // },
+      // ],
       table_handle_row: [
         {
           label: "下发",

Файловите разлики са ограничени, защото са твърде много
+ 742 - 641
src/pages/main/terminal/advertincrease.vue


+ 20 - 12
src/pages/main/terminals/advchecks.vue

@@ -45,8 +45,14 @@
       <el-dialog title="广告管理" v-if="dialogStatus" :visible.sync="dialogStatus" width="80%" :destroy-on-close="true"
         :modal-append-to-body="false" :close-on-click-modal="false">
         <div>
-          <advert v-if="typestatsu === 2" @closeEdio="closeEdio" :componentInfo="componentInfo"
-            :componentStatus="componentStatus" :changeinfo="changeinfo" :saveStatus="saveStatus"></advert>
+          <advert
+            v-if="typestatsu === 2"
+            @closeEdio="closeEdio"
+            :draftStatus="draftStatus"
+            :componentInfo="componentInfo"
+            :componentStatus="componentStatus"
+            :changeinfo="changeinfo"
+          ></advert>
         </div>
       </el-dialog>
 
@@ -88,7 +94,8 @@ export default {
   },
   data() {
     return {
-      clickStatus: '',
+      draftStatus:true,
+      clickStatus:"",
       tooltit: "广告管理",
       auditStatus: false,
       fullscreen: false,
@@ -397,27 +404,27 @@ export default {
     },
     // 分页
     currchange(v) {
+      console.log(123);
+      console.log(v);
       this.pageSize = v;
-      this.getList(this.advstatus);
+      console.log(this.clickStatus);
+      this.getList(this.clickStatus);
     },
     advchange(e) {
-      this.pageSize = 1
       this.total = 0
-      this.getList(e);
-
+      this.pageSize = 1
+      this.clickStatus = e
+      this.getList(this.clickStatus);
     },
     //处理申请
     dialogCheck(n, v) {
 
       if (v == 1) {
-        console.log(n);
         this.changeinfo = false;
         this.saveStatus = false
       } else {
-        if (n.taskName == '起草') {
-          this.saveStatus = true;
-        }else{
-          this.saveStatus = false
+        if(n.taskName == "科室经理审批"){
+          this.draftStatus = false;
         }
         this.changeinfo = true;
       }
@@ -496,6 +503,7 @@ export default {
       this.getList(this.params, this.pageSize);
       this.typestatsu = 1;
       this.dialogStatus = false;
+      this.draftStatus = true;
       this.componentStatus = false;
     },
     gettype() {

+ 6 - 3
src/pages/main/terminals/advertincreases.vue

@@ -207,6 +207,7 @@
               <p>
                 {{ treeListonly.leaderAuditName }}
                 <i
+
                   v-if="treeListonly.leaderAuditName"
                   @click="deletes()"
                   class="el-icon-error"
@@ -425,11 +426,12 @@ export default {
         fileList: [],
       },
       checkList: [],
+      rest:'',//自有渠道其他
       spreadchannelzList: [],
       checkList1: "",
       checkList2: [],
       spreadchannelwList: [],
-      checkList3: "",
+      other: "",
       checkexa: false,
       treeListonly: {},
       defaultList: [],
@@ -446,8 +448,8 @@ export default {
         processDefinitionKey: "ggsj_process",
       },
       requestForm: {
-          fresourceId: "99e7da22-5f04-11ed-b399-e00084564cce", //线上环境
-        // fresourceId: "e817fc35-5a51-11ed-8912-00505687dcd3", //测试环境
+          // fresourceId: "99e7da22-5f04-11ed-b399-e00084564cce", //线上环境
+        fresourceId: "e817fc35-5a51-11ed-8912-00505687dcd3", //测试环境
         // fresourceId: "3c9baf21-3e43-11ed-ad6b-d6cd97160e00",//本地环境
         processDefinitionKey: "ggsj_process",
       },
@@ -521,6 +523,7 @@ export default {
       }).then((res) => {
         this.request_form.businessKey = res.data.body;
         this.clickHandle(res.data.body);
+        this.$message.success('保存成功')
       });
     },
     async clickHandle(e) {

+ 120 - 31
src/pages/main/terminals/components/adverts.vue

@@ -5,17 +5,29 @@
         <div class="info-line">
           <el-form-item prop="need_name">
             <span>申请标题</span>
-            <el-input :disabled="!saveStatus" v-model="infoApply.need_name" placeholder="申请标题"></el-input>
+            <el-input
+              :disabled="draftStatus"
+              v-model="infoApply.need_name"
+              placeholder="申请标题"
+            ></el-input>
           </el-form-item>
           <el-form-item prop="applydept">
             <span>申请流程</span>
-            <el-input disabled v-model="applydept" placeholder="广告申请"></el-input>
+            <el-input
+              disabled
+              v-model="applydept"
+              placeholder="广告申请"
+            ></el-input>
           </el-form-item>
         </div>
         <div class="info-line">
           <el-form-item prop="applydept">
             <span>申请部门</span>
-            <el-input :disabled="!saveStatus" v-model="infoApply.applydept" placeholder="申请部门"></el-input>
+            <el-input
+              :disabled="draftStatus"
+              v-model="infoApply.applydept"
+              placeholder="申请部门"
+            ></el-input>
             <!-- <el-select disabled clearable v-model="infoApply.dept" placeholder="申请部门">
                             <el-option v-for="items in terminalopt" :key="items.id" :label="items.ou" :value="items.id">
                             </el-option>
@@ -29,12 +41,21 @@
         <div class="info-line">
           <el-form-item>
             <span>申请时间</span>
-            <el-date-picker disabled v-model="infoApply.time" type="date" placeholder="申请时间">
+            <el-date-picker
+              disabled
+              v-model="infoApply.proposer_time"
+              type="date"
+              placeholder="申请时间"
+            >
             </el-date-picker>
           </el-form-item>
           <el-form-item prop="tel">
             <span>联系电话</span>
-            <el-input :disabled="!saveStatus" v-model="infoApply.tel" placeholder="联系电话"></el-input>
+            <el-input
+              :disabled="draftStatus"
+              v-model="infoApply.tel"
+              placeholder="联系电话"
+            ></el-input>
           </el-form-item>
         </div>
         <div class="info-line">
@@ -45,8 +66,13 @@
           </el-form-item>
           <el-form-item>
             <span>完成时间</span>
-            <el-date-picker :disabled="!saveStatus" v-model="infoApply.donetime" type="date" placeholder="完成时间"
-              :pickerOptions="pickerOptions">
+            <el-date-picker
+              v-model="infoApply.donetime"
+              type="date"
+              :disabled="draftStatus"
+              placeholder="完成时间"
+              :pickerOptions="pickerOptions"
+            >
             </el-date-picker>
           </el-form-item>
         </div>
@@ -54,16 +80,35 @@
         <div class="info-line">
           <el-form-item>
             <span>紧急程度</span>
-            <el-select :disabled="!saveStatus" clearable v-model="infoApply.importance" placeholder="紧急程度">
-              <el-option v-for="items in fireopt" :key="items.dataCode" :label="items.dataName" :value="items.dataCode">
+            <el-select
+              clearable
+              :disabled="draftStatus"
+              v-model="infoApply.importance"
+              placeholder="紧急程度"
+            >
+              <el-option
+                v-for="items in fireopt"
+                :key="items.dataCode"
+                :label="items.dataName"
+                :value="items.dataCode"
+              >
               </el-option>
             </el-select>
           </el-form-item>
           <el-form-item>
             <span>素材类型</span>
-            <el-select :disabled="!saveStatus" clearable v-model="infoApply.sourcetype" placeholder="素材类型">
-              <el-option v-for="items in materTypeopt" :key="items.dataCode" :label="items.dataName"
-                :value="items.dataCode">
+            <el-select
+              clearable
+              :disabled="draftStatus"
+              v-model="infoApply.sourcetype"
+              placeholder="素材类型"
+            >
+              <el-option
+                v-for="items in materTypeopt"
+                :key="items.dataCode"
+                :label="items.dataName"
+                :value="items.dataCode"
+              >
               </el-option>
             </el-select>
           </el-form-item>
@@ -84,16 +129,31 @@
 
         <el-form-item class="info-line online">
           <span>宣传内容</span>
-          <el-input :disabled="!saveStatus" v-model="infoApply.sellingpoint" placeholder="广告宣传内容" type="textarea"
-            :rows="3"></el-input>
+          <el-input
+            v-model="infoApply.sellingpoint"
+            :disabled="draftStatus"
+            placeholder="广告宣传内容"
+            type="textarea"
+            :rows="3"
+          ></el-input>
         </el-form-item>
         <el-form-item class="info-line online">
           <span>其他说明</span>
-          <el-input :disabled="!saveStatus" v-model="infoApply.procontent" placeholder="设计稿内容描述" type="textarea"
-            :rows="3"></el-input>
+          <el-input
+            v-model="infoApply.procontent"
+            :disabled="draftStatus"
+            placeholder="设计稿内容描述"
+            type="textarea"
+            :rows="3"
+          ></el-input>
         </el-form-item>
         <div style="padding: 0 20px 0 100px; margin-bottom: 20px">
-          <uploadDown ref="myupload" :datalist="datalist" :dialogStatus="uploadstatus"></uploadDown>
+          <uploadDown
+            v-if="uploadDownStatus"
+            ref="myupload"
+            :datalist="datalist"
+            :dialogStatus="uploadstatus"
+          ></uploadDown>
         </div>
         <div style="padding: 0 20px 0 100px; margin-bottom: 20px" v-if="uploadsts">
           <myUpload @uploadBack="uploadBack" :fileInfo="fileInfo" :fileList="fileInfo.fileList">
@@ -146,8 +206,12 @@
       <Workflow :list="infoApply" :requestForm="requestForm" @updateForm="updateForm" />
     </el-dialog>
     <div slot="footer" class="dialog-footer">
-      <el-button v-if="changeinfo" type="primary" @click="dialogCli(2)">处 理</el-button>
-      <el-button v-if="saveStatus" type="primary" @click="dialogCli(4)">保 存</el-button>
+      <el-button v-if="changeinfo" type="primary" @click="dialogCli(2)"
+        >处 理</el-button
+      >
+      <el-button v-if="!draftStatus" type="primary" @click="dialogClis()"
+        >保 存</el-button
+      >
       <!-- <el-button v-if="changeinfo" type="primary" @click="dialogCli(1)"
         >驳 回</el-button
       > -->
@@ -162,7 +226,7 @@ import Workflow from "../../../../components/workflowBase";
 import uploadDown from "../../../../components/uploadDown.vue";
 import myUpload from "../../../../components/upload.vue";
 export default {
-  props: ["componentInfo", "componentStatus", "changeinfo", "saveStatus"],
+  props: ["componentInfo", "componentStatus", "changeinfo", "draftStatus"],
   components: {
     uploadDown,
     myUpload,
@@ -170,10 +234,12 @@ export default {
   },
   data() {
     return {
-      applydept: '广告申请',
+      applydept:'广告申请',
+      // draftStatus:'',//起草状态更改表单状态
+      uploadDownStatus: false,
       requestForm: {
-        fresourceId: "99e7da22-5f04-11ed-b399-e00084564cce", //线上环境
-        // fresourceId: "e817fc35-5a51-11ed-8912-00505687dcd3", //测试环境
+        // fresourceId: "99e7da22-5f04-11ed-b399-e00084564cce", //线上环境
+        fresourceId: "e817fc35-5a51-11ed-8912-00505687dcd3", //测试环境
         // fresourceId: "3c9baf21-3e43-11ed-ad6b-d6cd97160e00", //本地环境
         processDefinitionKey: "ggsj_process",
       },
@@ -403,6 +469,18 @@ export default {
       return list;
     },
     //添加
+    dialogClis() {
+      this.$http({
+        url: "/market/ggsj/update",
+        method: "post",
+        headers: {
+          "Content-Type": "application/json",
+        },
+        data: this.infoApply,
+      }).then((res) => {
+        console.log(res);
+      });
+    },
     dialogCli(v) {
       if(v ==2 ){
         this.checkexa = true;
@@ -471,8 +549,8 @@ export default {
           list.mkFileShareAttachList = this.attList;
           if (this.mkFileShareAttachList) {
             this.mkFileShareAttachList.map((item) => {
-              list.mkFileShareAttachList.push(item)
-            })
+              list.mkFileShareAttachList.push(item);
+            });
           }
           this.$http({
             url: "/market/ggsj/update",
@@ -688,18 +766,15 @@ export default {
         console.log(res);
         this.mkFileShareAttachList = res.data.mkFileShareAttachList;
         if (res.data.paramVal) {
-
         }
-        console.log(
-          (this.$refs.myupload.infolist = res.data.mkFileShareAttachList)
-        );
-        // this.datalist.attList = res.data.mkFileShareAttachList;
+        this.datalist.attList = res.data.mkFileShareAttachList;
+        this.uploadDownStatus = true;
       });
     },
     handleClose() {
       console.log(123);
       this.checkexa = false;
-    }
+    },
   },
   computed: {
     pickerOptions: function () {
@@ -731,6 +806,20 @@ export default {
       }
     },
   },
+  computed: {
+    pickerOptions: function () {
+      return {
+        disabledDate(time) {
+          // if(time.getTime() < Date.now() - 8.64e7 || (time.getTime() > Date.now() && time.getTime() < Date.now() + 8.64e7*3) ){
+          //     return true
+          // }
+          if (time.getTime() < Date.now() + 8.64e7 * 3) {
+            return true;
+          }
+        },
+      };
+    },
+  },
 };
 </script>
 

+ 43 - 3
src/router/index.js

@@ -552,6 +552,18 @@ const routes = [{
             component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/advertising/index.vue'], resolve)
         },
         {
+            meta: { name: '验收打分单', keepAlive: false },
+            path: '/materialAppNum',
+            name: 'materialAppNum',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/advertising/materialAppNum.vue'], resolve)
+        },
+        {
+            meta: { name: '宣传物料制作费用明细', keepAlive: false },
+            path: '/materialAppMessage',
+            name: 'materialAppMessage',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/advertising/materialAppMessage.vue'], resolve)
+        },
+        {
             meta: { name: '宣传费台账', keepAlive: false },
             path: '/publicity',
             name: 'publicity',
@@ -2099,6 +2111,7 @@ const routes = [{
                 ['../pages/main/leader/demand/supportState.vue'], resolve)
         },
         {
+
             meta: {
                 name: '在线文档',
                 keepAlive: false
@@ -2108,13 +2121,22 @@ const routes = [{
             component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/onlineExcel/index'], resolve)
         },
         {
+            meta: {
+                name: '在线文档(市场)',
+                keepAlive: false
+            },
+            path: '/onlineShareExcelMarket',
+            name: 'onlineShareExcelMarket',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/onlineExcelMarket/index'], resolve)
+        },
+        {
 
             meta: {
-                name: '协同编辑',
+                name: '在线文档',
                 keepAlive: false
             },
-            path: '/editOnline',
-            name: 'editOnline',
+            path: '/onlineShareExcel',
+            name: 'onlineShareExcel',
             component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/onlineExcel/index'], resolve)
         },
         {
@@ -2125,6 +2147,24 @@ const routes = [{
             path: '/onlineShareExcelMarket',
             name: 'onlineShareExcelMarket',
             component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/onlineExcelMarket/index'], resolve)
+        },{
+
+            meta: {
+                name: '在线文档协同',
+                keepAlive: false
+            },
+            path: '/onlineShareExcels',
+            name: 'onlineShareExcel',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/onlineExcels/index'], resolve)
+        },
+        {
+            meta: {
+                name: '在线文档(市场)协同',
+                keepAlive: false
+            },
+            path: '/onlineShareExcelMarkets',
+            name: 'onlineShareExcelMarket',
+            component: (resolve) => require( /* webpackChunkName: "system" */['../pages/main/onlineExcelMarkets/index'], resolve)
         },
         {
             meta: {

+ 2 - 2
vue.config.js

@@ -148,11 +148,11 @@ module.exports = {
                 // target: "http://124.223.66.248:9600",
                 // target: "http://43.138.50.94:9600",
                 // target: 'http://192.168.2.44:9600/',
-                target: 'http://192.168.2.77:9600',
+                target: 'http://192.168.2.124:9600',
                 // target: "http://124.223.66.248:9600",
                 // target: "http://43.138.50.94:9600",
                 changeOrigin: true,
-                logLevel:'debug'
+                logLevel:'debug',
             },
         },
     },

+ 12 - 7
yarn.lock

@@ -1465,9 +1465,9 @@
   resolved "https://registry.npmmirror.com/@vue/cli-overlay/-/cli-overlay-4.5.19.tgz#d1206f7802bcba1d9c307695b54091df996db804"
   integrity sha512-GdxvNSmOw7NHIazCO8gTK+xZbaOmScTtxj6eHVeMbYpDYVPJ+th3VMLWNpw/b6uOjwzzcyKlA5dRQ1DAb+gF/g==
 
-"@vue/cli-plugin-babel@^4.1.2":
+"@vue/cli-plugin-babel@^4.5.0":
   version "4.5.19"
-  resolved "https://registry.npmmirror.com/@vue/cli-plugin-babel/-/cli-plugin-babel-4.5.19.tgz#288b32e69f0191a77369e88f071c0cd8036edfa7"
+  resolved "https://registry.yarnpkg.com/@vue/cli-plugin-babel/-/cli-plugin-babel-4.5.19.tgz#288b32e69f0191a77369e88f071c0cd8036edfa7"
   integrity sha512-8ebXzaMW9KNTMAN6+DzkhFsjty1ieqT7hIW5Lbk4v30Qhfjkms7lBWyXPGkoq+wAikXFa1Gnam2xmWOBqDDvWg==
   dependencies:
     "@babel/core" "^7.11.0"
@@ -1478,9 +1478,9 @@
     thread-loader "^2.1.3"
     webpack "^4.0.0"
 
-"@vue/cli-plugin-eslint@^4.1.2":
+"@vue/cli-plugin-eslint@~4.5.0":
   version "4.5.19"
-  resolved "https://registry.npmmirror.com/@vue/cli-plugin-eslint/-/cli-plugin-eslint-4.5.19.tgz#d1f908b5d079f2902dc23301290e4dd8176f204c"
+  resolved "https://registry.yarnpkg.com/@vue/cli-plugin-eslint/-/cli-plugin-eslint-4.5.19.tgz#d1f908b5d079f2902dc23301290e4dd8176f204c"
   integrity sha512-53sa4Pu9j5KajesFlj494CcO8vVo3e3nnZ1CCKjGGnrF90id1rUeepcFfz5XjwfEtbJZp2x/NoX/EZE6zCzSFQ==
   dependencies:
     "@vue/cli-shared-utils" "^4.5.19"
@@ -1502,9 +1502,9 @@
   resolved "https://registry.npmmirror.com/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.19.tgz#2452de58eb66ed873852bea45e6e06b57d842b47"
   integrity sha512-DUmfdkG3pCdkP7Iznd87RfE9Qm42mgp2hcrNcYQYSru1W1gX2dG/JcW8bxmeGSa06lsxi9LEIc/QD1yPajSCZw==
 
-"@vue/cli-service@^4.1.2":
+"@vue/cli-service@~4.5.0":
   version "4.5.19"
-  resolved "https://registry.npmmirror.com/@vue/cli-service/-/cli-service-4.5.19.tgz#5f6513128f426be0ee9a7d03155c23a6f23f8d42"
+  resolved "https://registry.yarnpkg.com/@vue/cli-service/-/cli-service-4.5.19.tgz#5f6513128f426be0ee9a7d03155c23a6f23f8d42"
   integrity sha512-+Wpvj8fMTCt9ZPOLu5YaLkFCQmB4MrZ26aRmhhKiCQ/4PMoL6mLezfqdt6c+m2htM+1WV5RunRo+0WHl2DfwZA==
   dependencies:
     "@intervolga/optimize-cssnano-plugin" "^1.0.5"
@@ -6046,11 +6046,16 @@ jquery-ui@^1.12.1:
   dependencies:
     jquery ">=1.8.0 <4.0.0"
 
-"jquery@>=1.8.0 <4.0.0", jquery@^3.6.0:
+"jquery@>=1.8.0 <4.0.0":
   version "3.6.1"
   resolved "https://registry.npmmirror.com/jquery/-/jquery-3.6.1.tgz#fab0408f8b45fc19f956205773b62b292c147a16"
   integrity sha512-opJeO4nCucVnsjiXOE+/PcCgYw9Gwpvs/a6B1LL/lQhwWwpbVEVYDZ1FokFr8PRc7ghYlrFPuyHuiiDNTQxmcw==
 
+jquery@^3.6.4:
+  version "3.6.4"
+  resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.4.tgz#ba065c188142100be4833699852bf7c24dc0252f"
+  integrity sha512-v28EW9DWDFpzcD9O5iyJXg3R3+q+mET5JhnjJzQUZMHOv67bpSIHq81GEYpPNZHG+XXHsfSme3nxp/hndKEcsQ==
+
 js-audio-recorder@^1.0.7:
   version "1.0.7"
   resolved "https://registry.npmmirror.com/js-audio-recorder/-/js-audio-recorder-1.0.7.tgz#01501cb9eb143d57994b42bd5ae97974fda18908"