whx преди 2 месеца
родител
ревизия
7eea575fa0
променени са 100 файла, в които са добавени 1975 реда и са изтрити 16194 реда
  1. BIN
      virgo.wzfrontend/.DS_Store
  2. 0 15609
      virgo.wzfrontend/console/package-lock.json
  3. BIN
      virgo.wzfrontend/src/main/resources/static/workark/favicon.ico
  4. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/index.html
  5. 167 0
      virgo.wzfrontend/src/main/resources/static/workark/reset.css
  6. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/css/1284.458fb6b4.css
  7. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/css/1498.eb5865dd.css
  8. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/css/2192.1cfb92a2.css
  9. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/css/2230.efbb3f44.css
  10. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/css/2486.3c1639fb.css
  11. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/css/254.7fbefadd.css
  12. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/css/3351.eb1fec60.css
  13. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/css/4025.2cf17f1a.css
  14. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/css/4077.7a866d3d.css
  15. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/css/5353.11b1b873.css
  16. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/css/7218.3c1639fb.css
  17. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/css/7450.f483248a.css
  18. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/css/7638.3efb7951.css
  19. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/css/7941.bdb2a027.css
  20. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/css/833.458fb6b4.css
  21. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/css/8524.22d7df69.css
  22. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/css/899.7f8f827e.css
  23. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/css/90.8d3c08ad.css
  24. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/css/9647.171d8261.css
  25. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/css/9754.fd911339.css
  26. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/css/app.d50a1802.css
  27. BIN
      virgo.wzfrontend/src/main/resources/static/workark/static/fonts/element-icons.f1a45d74.ttf
  28. BIN
      virgo.wzfrontend/src/main/resources/static/workark/static/fonts/element-icons.ff18efd1.woff
  29. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/img/zhuangshi.28725add.svg
  30. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/1025.c50aac90.js
  31. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/1155.b24e3208.js
  32. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/1274.9bec99a0.js
  33. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/1284.672b7edd.js
  34. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/1498.9153734b.js
  35. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/1985.d99f848a.js
  36. 8 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/2163.685edf67.js
  37. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/2192.20cc4bf6.js
  38. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/2230.61f18136.js
  39. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/2364.6dc262dd.js
  40. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/2486.8de194cb.js
  41. 8 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/2505.c69fb639.js
  42. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/2524.55e5d649.js
  43. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/254.93784e4e.js
  44. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/2679.a0613c44.js
  45. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/2923.1f7f2599.js
  46. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/3203.f8bb663d.js
  47. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/3225.54081683.js
  48. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/3407.e3d5bc78.js
  49. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/3536.292c1d5d.js
  50. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/3795.dd3942ab.js
  51. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/394.18ea0f79.js
  52. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/4025.fc997008.js
  53. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/4077.55bdb5ff.js
  54. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/4087.ad0aac85.js
  55. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/4253.828601ae.js
  56. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/4410.9fa29203.js
  57. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/4753.fb36e29c.js
  58. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/4951.c8f765be.js
  59. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/5171.1588ba50.js
  60. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/5265.81217209.js
  61. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/5353.edfa4d0b.js
  62. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/5771.70899d7e.js
  63. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/5783.f952f5b9.js
  64. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/5853.12440138.js
  65. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/60.f2f94fdc.js
  66. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/6149.ee8ccf63.js
  67. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/6425.0a7b7270.js
  68. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/6782.3aa4d413.js
  69. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/7039.58e26f6c.js
  70. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/7218.9c9c359e.js
  71. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/7450.6ac55449.js
  72. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/7638.8e030c36.js
  73. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/7694.fef896c4.js
  74. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/7941.d548a46d.js
  75. 43 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/8063.0f90661f.js
  76. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/8144.e8ad7e14.js
  77. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/833.71c509cf.js
  78. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/8375.136b6730.js
  79. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/8524.935e639b.js
  80. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/899.2a095f10.js
  81. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/90.357ef0e5.js
  82. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/9086.eebbe3a4.js
  83. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/9281.2645d6e8.js
  84. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/9647.a7066215.js
  85. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/9855.86e47fd6.js
  86. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/app.1f78da6e.js
  87. 5 5
      virgo.wzfrontend/workark/babel.config.js
  88. 96 72
      virgo.wzfrontend/workark/package-lock.json
  89. 4 3
      virgo.wzfrontend/workark/package.json
  90. 441 0
      virgo.wzfrontend/workark/src/api/property.js
  91. 53 12
      virgo.wzfrontend/workark/src/assets/css/common.scss
  92. 18 16
      virgo.wzfrontend/workark/src/assets/css/element-variables.scss
  93. 1 0
      virgo.wzfrontend/workark/src/assets/svg/zhuangshi.svg
  94. 101 100
      virgo.wzfrontend/workark/src/components/common/cc.vue
  95. 376 377
      virgo.wzfrontend/workark/src/components/common/selectUser.vue
  96. 94 0
      virgo.wzfrontend/workark/src/components/flow/batchForm.vue
  97. 89 0
      virgo.wzfrontend/workark/src/components/flow/batchTemplate.vue
  98. 310 0
      virgo.wzfrontend/workark/src/components/flow/flow.vue
  99. 84 0
      virgo.wzfrontend/workark/src/components/flow/flowAction.vue
  100. 0 0
      virgo.wzfrontend/workark/src/components/flow/flowDetail.vue

BIN
virgo.wzfrontend/.DS_Store


Файловите разлики са ограничени, защото са твърде много
+ 0 - 15609
virgo.wzfrontend/console/package-lock.json


BIN
virgo.wzfrontend/src/main/resources/static/workark/favicon.ico


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/index.html


+ 167 - 0
virgo.wzfrontend/src/main/resources/static/workark/reset.css

@@ -0,0 +1,167 @@
+/* 禁用iPhone中Safari的字号自动调整 */
+* {
+	-webkit-box-sizing: border-box;
+	-moz-box-sizing: border-box;
+	box-sizing: border-box;
+	outline: none;
+	font-family: LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, Helvetica Neue, Tahoma, PingFang SC, Microsoft Yahei, Arial, Hiragino Sans GB, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
+	font-weight: 400;
+	-webkit-font-smoothing: antialiased;
+	user-select: none;
+}
+
+html {
+	-webkit-text-size-adjust: 100%;
+	-ms-text-size-adjust: 100%;
+}
+
+/* 去除iPhone中默认的input样式 */
+input[type="submit"],
+input[type="reset"],
+input[type="button"],
+input,
+button {
+	/* -webkit-appearance:none; */
+	resize: none;
+}
+
+input::-webkit-outer-spin-button,
+input::-webkit-inner-spin-button {
+	-webkit-appearance: none;
+}
+
+button {
+	border: none;
+}
+
+/* 设置HTML5元素为块 */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+menu,
+nav,
+section {
+	display: block;
+}
+
+/* 图片自适应 */
+img {
+	/*max-width: 100%;*/
+	height: auto;
+	width: auto\9;
+	/* ie8 */
+	-ms-interpolation-mode: bicubic;
+	/*为了照顾ie图片缩放失真*/
+}
+
+/* 初始化 */
+body,
+div,
+ul,
+li,
+ol,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+input,
+textarea,
+select,
+p,
+dl,
+dt,
+dd,
+a,
+img,
+button,
+form,
+table,
+th,
+tr,
+td,
+tbody,
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+menu,
+nav,
+section {
+	margin: 0;
+	padding: 0;
+	border: none;
+	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+	/*取消链接高亮*/
+	box-sizing: border-box;
+}
+
+
+em,
+i {
+	font-style: normal;
+}
+
+strong {
+	font-weight: normal;
+}
+
+.clearfix:after {
+	content: "";
+	display: block;
+	visibility: hidden;
+	height: 0;
+	clear: both;
+}
+
+.clearfix {
+	zoom: 1;
+}
+
+a {
+	text-decoration: none;
+}
+
+a:hover,
+a:active,
+a:visited {
+	text-decoration: none;
+}
+
+ul,
+ol {
+	list-style: none;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+	font-size: 100%;
+}
+
+img {
+	border: none;
+	vertical-align: middle;
+}
+
+body,
+html,
+#app {
+	width: 100%;
+	height: 100%;
+	margin: 0 auto;
+	position: relative;
+}

Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/css/1284.458fb6b4.css


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/css/1498.eb5865dd.css


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/css/2192.1cfb92a2.css


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/css/2230.efbb3f44.css


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/css/2486.3c1639fb.css


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/css/254.7fbefadd.css


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/css/3351.eb1fec60.css


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/css/4025.2cf17f1a.css


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/css/4077.7a866d3d.css


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/css/5353.11b1b873.css


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/css/7218.3c1639fb.css


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/css/7450.f483248a.css


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/css/7638.3efb7951.css


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/css/7941.bdb2a027.css


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/css/833.458fb6b4.css


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/css/8524.22d7df69.css


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/css/899.7f8f827e.css


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/css/90.8d3c08ad.css


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/css/9647.171d8261.css


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/css/9754.fd911339.css


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/css/app.d50a1802.css


BIN
virgo.wzfrontend/src/main/resources/static/workark/static/fonts/element-icons.f1a45d74.ttf


BIN
virgo.wzfrontend/src/main/resources/static/workark/static/fonts/element-icons.ff18efd1.woff


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/img/zhuangshi.28725add.svg


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/1025.c50aac90.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/1155.b24e3208.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/1274.9bec99a0.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/1284.672b7edd.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/1498.9153734b.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/1985.d99f848a.js


Файловите разлики са ограничени, защото са твърде много
+ 8 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/2163.685edf67.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/2192.20cc4bf6.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/2230.61f18136.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/2364.6dc262dd.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/2486.8de194cb.js


Файловите разлики са ограничени, защото са твърде много
+ 8 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/2505.c69fb639.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/2524.55e5d649.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/254.93784e4e.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/2679.a0613c44.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/2923.1f7f2599.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/3203.f8bb663d.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/3225.54081683.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/3407.e3d5bc78.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/3536.292c1d5d.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/3795.dd3942ab.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/394.18ea0f79.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/4025.fc997008.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/4077.55bdb5ff.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/4087.ad0aac85.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/4253.828601ae.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/4410.9fa29203.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/4753.fb36e29c.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/4951.c8f765be.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/5171.1588ba50.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/5265.81217209.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/5353.edfa4d0b.js


+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/5771.70899d7e.js

@@ -0,0 +1 @@
+"use strict";(self["webpackChunkworkark"]=self["webpackChunkworkark"]||[]).push([[5771],{5771:function(t,r,e){e.r(r),e.d(r,{default:function(){return c}});var n=function(){var t=this,r=t._self._c;return r("div",[r("el-button",{attrs:{type:"primary"}},[t._v("主要按钮")])],1)},u=[],l={mounted(){console.log(this.$store.getters)}},s=l,o=e(1656),a=(0,o.A)(s,n,u,!1,null,null,null),c=a.exports}}]);

Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/5783.f952f5b9.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/5853.12440138.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/60.f2f94fdc.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/6149.ee8ccf63.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/6425.0a7b7270.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/6782.3aa4d413.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/7039.58e26f6c.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/7218.9c9c359e.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/7450.6ac55449.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/7638.8e030c36.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/7694.fef896c4.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/7941.d548a46d.js


Файловите разлики са ограничени, защото са твърде много
+ 43 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/8063.0f90661f.js


+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/8144.e8ad7e14.js

@@ -0,0 +1 @@
+"use strict";(self["webpackChunkworkark"]=self["webpackChunkworkark"]||[]).push([[8144],{8144:function(s,k,a){s.exports=a.p+"static/img/zhuangshi.28725add.svg"}}]);

Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/833.71c509cf.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/8375.136b6730.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/8524.935e639b.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/899.2a095f10.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/90.357ef0e5.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/9086.eebbe3a4.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/9281.2645d6e8.js


Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/9647.a7066215.js


+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/9855.86e47fd6.js

@@ -0,0 +1 @@
+"use strict";(self["webpackChunkworkark"]=self["webpackChunkworkark"]||[]).push([[9855],{9855:function(t,r,u){u.r(r),u.d(r,{default:function(){return c}});var e=function(){var t=this,r=t._self._c;return r("div",{staticClass:"hui-detail"},[t._v(" detail ")])},n=[],a={props:["detail"],data(){return{}},mounted(){}},l=a,s=u(1656),i=(0,s.A)(l,e,n,!1,null,null,null),c=i.exports}}]);

Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/app.1f78da6e.js


+ 5 - 5
virgo.wzfrontend/workark/babel.config.js

@@ -1,5 +1,5 @@
-module.exports = {
-  presets: [
-    '@vue/cli-plugin-babel/preset'
-  ]
-}
+module.exports = {
+	presets: [
+		'@vue/cli-plugin-babel/preset'
+	]
+}

+ 96 - 72
virgo.wzfrontend/workark/package-lock.json

@@ -1761,6 +1761,32 @@
         "babel-loader": "^8.2.2",
         "thread-loader": "^3.0.0",
         "webpack": "^5.54.0"
+      },
+      "dependencies": {
+        "schema-utils": {
+          "version": "3.3.0",
+          "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz",
+          "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+          "dev": true,
+          "requires": {
+            "@types/json-schema": "^7.0.8",
+            "ajv": "^6.12.5",
+            "ajv-keywords": "^3.5.2"
+          }
+        },
+        "thread-loader": {
+          "version": "3.0.4",
+          "resolved": "https://registry.npmmirror.com/thread-loader/-/thread-loader-3.0.4.tgz",
+          "integrity": "sha512-ByaL2TPb+m6yArpqQUZvP+5S1mZtXsEP7nWKKlAUTm7fCml8kB5s1uI3+eHRP2bk5mVYfRSBI7FFf+tWEyLZwA==",
+          "dev": true,
+          "requires": {
+            "json-parse-better-errors": "^1.0.2",
+            "loader-runner": "^4.1.0",
+            "loader-utils": "^2.0.0",
+            "neo-async": "^2.6.2",
+            "schema-utils": "^3.0.0"
+          }
+        }
       }
     },
     "@vue/cli-plugin-eslint": {
@@ -1852,6 +1878,32 @@
         "webpack-merge": "^5.7.3",
         "webpack-virtual-modules": "^0.4.2",
         "whatwg-fetch": "^3.6.2"
+      },
+      "dependencies": {
+        "schema-utils": {
+          "version": "3.3.0",
+          "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz",
+          "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+          "dev": true,
+          "requires": {
+            "@types/json-schema": "^7.0.8",
+            "ajv": "^6.12.5",
+            "ajv-keywords": "^3.5.2"
+          }
+        },
+        "thread-loader": {
+          "version": "3.0.4",
+          "resolved": "https://registry.npmmirror.com/thread-loader/-/thread-loader-3.0.4.tgz",
+          "integrity": "sha512-ByaL2TPb+m6yArpqQUZvP+5S1mZtXsEP7nWKKlAUTm7fCml8kB5s1uI3+eHRP2bk5mVYfRSBI7FFf+tWEyLZwA==",
+          "dev": true,
+          "requires": {
+            "json-parse-better-errors": "^1.0.2",
+            "loader-runner": "^4.1.0",
+            "loader-utils": "^2.0.0",
+            "neo-async": "^2.6.2",
+            "schema-utils": "^3.0.0"
+          }
+        }
       }
     },
     "@vue/cli-shared-utils": {
@@ -3290,6 +3342,12 @@
       "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz",
       "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
     },
+    "dayjs": {
+      "version": "1.11.11",
+      "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.11.tgz",
+      "integrity": "sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==",
+      "dev": true
+    },
     "de-indent": {
       "version": "1.0.2",
       "resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz",
@@ -4543,55 +4601,6 @@
       "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==",
       "dev": true
     },
-    "happypack": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmmirror.com/happypack/-/happypack-5.0.1.tgz",
-      "integrity": "sha512-AzXVxLzX0mtv0T40Kic72rfcGK4Y2b/cDdtcyw+e+V/13ozl7x0+EZ4hvrL1rJ8MoefR9+FfUJQsK2irH0GWOw==",
-      "dev": true,
-      "requires": {
-        "async": "1.5.0",
-        "json-stringify-safe": "5.0.1",
-        "loader-utils": "1.1.0",
-        "serialize-error": "^2.1.0"
-      },
-      "dependencies": {
-        "async": {
-          "version": "1.5.0",
-          "resolved": "https://registry.npmmirror.com/async/-/async-1.5.0.tgz",
-          "integrity": "sha512-m9nMwCtLtz29LszVaR0q/FqsJWkrxVoQL95p7JU0us7qUx4WEcySQgwvuneYSGVyvirl81gz7agflS3V1yW14g==",
-          "dev": true
-        },
-        "big.js": {
-          "version": "3.2.0",
-          "resolved": "https://registry.npmmirror.com/big.js/-/big.js-3.2.0.tgz",
-          "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==",
-          "dev": true
-        },
-        "emojis-list": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmmirror.com/emojis-list/-/emojis-list-2.1.0.tgz",
-          "integrity": "sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==",
-          "dev": true
-        },
-        "json5": {
-          "version": "0.5.1",
-          "resolved": "https://registry.npmmirror.com/json5/-/json5-0.5.1.tgz",
-          "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==",
-          "dev": true
-        },
-        "loader-utils": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.1.0.tgz",
-          "integrity": "sha512-gkD9aSEG9UGglyPcDJqY9YBTUtCLKaBK6ihD2VP1d1X60lTfFspNZNulGBBbUZLkPygy4LySYHyxBpq+VhjObQ==",
-          "dev": true,
-          "requires": {
-            "big.js": "^3.1.3",
-            "emojis-list": "^2.0.0",
-            "json5": "^0.5.0"
-          }
-        }
-      }
-    },
     "has-flag": {
       "version": "4.0.0",
       "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
@@ -5123,12 +5132,6 @@
       "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
       "dev": true
     },
-    "json-stringify-safe": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmmirror.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
-      "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
-      "dev": true
-    },
     "json5": {
       "version": "2.2.3",
       "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz",
@@ -6955,12 +6958,6 @@
         }
       }
     },
-    "serialize-error": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmmirror.com/serialize-error/-/serialize-error-2.1.0.tgz",
-      "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==",
-      "dev": true
-    },
     "serialize-javascript": {
       "version": "6.0.2",
       "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
@@ -7547,27 +7544,54 @@
       }
     },
     "thread-loader": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmmirror.com/thread-loader/-/thread-loader-3.0.4.tgz",
-      "integrity": "sha512-ByaL2TPb+m6yArpqQUZvP+5S1mZtXsEP7nWKKlAUTm7fCml8kB5s1uI3+eHRP2bk5mVYfRSBI7FFf+tWEyLZwA==",
+      "version": "4.0.4",
+      "resolved": "https://registry.npmmirror.com/thread-loader/-/thread-loader-4.0.4.tgz",
+      "integrity": "sha512-tXagu6Hivd03wB2tiS1bqvw345sc7mKei32EgpYpq31ZLes9FN0mEK2nKzXLRFgwt3PsBB0E/MZDp159rDoqwg==",
       "dev": true,
       "requires": {
         "json-parse-better-errors": "^1.0.2",
         "loader-runner": "^4.1.0",
-        "loader-utils": "^2.0.0",
         "neo-async": "^2.6.2",
-        "schema-utils": "^3.0.0"
+        "schema-utils": "^4.2.0"
       },
       "dependencies": {
+        "ajv": {
+          "version": "8.17.1",
+          "resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.17.1.tgz",
+          "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
+          "dev": true,
+          "requires": {
+            "fast-deep-equal": "^3.1.3",
+            "fast-uri": "^3.0.1",
+            "json-schema-traverse": "^1.0.0",
+            "require-from-string": "^2.0.2"
+          }
+        },
+        "ajv-keywords": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+          "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+          "dev": true,
+          "requires": {
+            "fast-deep-equal": "^3.1.3"
+          }
+        },
+        "json-schema-traverse": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+          "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+          "dev": true
+        },
         "schema-utils": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz",
-          "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+          "version": "4.3.0",
+          "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.3.0.tgz",
+          "integrity": "sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==",
           "dev": true,
           "requires": {
-            "@types/json-schema": "^7.0.8",
-            "ajv": "^6.12.5",
-            "ajv-keywords": "^3.5.2"
+            "@types/json-schema": "^7.0.9",
+            "ajv": "^8.9.0",
+            "ajv-formats": "^2.1.1",
+            "ajv-keywords": "^5.1.0"
           }
         }
       }

+ 4 - 3
virgo.wzfrontend/workark/package.json

@@ -3,8 +3,8 @@
 	"version": "0.1.0",
 	"private": true,
 	"scripts": {
-		"serve": "vue-cli-service serve",
-		"build": "vue-cli-service build",
+		"serve": "node --max_old_space_size=10240 node_modules/@vue/cli-service/bin/vue-cli-service.js serve",
+		"build": "node --max_old_space_size=10240 node_modules/@vue/cli-service/bin/vue-cli-service.js build",
 		"lint": "vue-cli-service lint"
 	},
 	"dependencies": {
@@ -22,12 +22,13 @@
 		"@vue/cli-plugin-babel": "~5.0.0",
 		"@vue/cli-plugin-eslint": "~5.0.0",
 		"@vue/cli-service": "~5.0.0",
+		"dayjs": "^1.11.11",
 		"eslint": "^7.32.0",
 		"eslint-plugin-vue": "^8.0.3",
-		"happypack": "^5.0.1",
 		"nprogress": "^0.2.0",
 		"sass": "^1.32.6",
 		"sass-loader": "^8.0.0",
+		"thread-loader": "^4.0.4",
 		"vue-template-compiler": "^2.6.14"
 	},
 	"eslintConfig": {

+ 441 - 0
virgo.wzfrontend/workark/src/api/property.js

@@ -0,0 +1,441 @@
+import request from '@/axios'
+/* 
+ * 初始化组织项目资产列表
+ * 
+ * 
+ */
+export function initDevicePartList(operateOrganizationId, projectId) {
+	return request({
+		url: `/api/operateDeviceLevel/init/${operateOrganizationId}/${projectId}`,
+		method: 'get'
+	})
+}
+/* 
+ * 获取资产列表
+ * 
+ * 
+ */
+export function getDevicePartList(operateOrganizationId, projectId) {
+	return request({
+		url: `/api/operateDeviceLevel/getOperateOrganizationId/${operateOrganizationId}/${projectId}`,
+		method: 'get'
+	})
+}
+/* 
+ * 通过条件获取资产列表
+ * 
+ * 
+ */
+export function getDevicePartListByQuery(data) {
+	return request({
+		url: `/api/operateDeviceLevel/get`,
+		method: 'post',
+		data: data
+	})
+}
+/* 
+ * 通过条件获取资产列表
+ * 
+ * 
+ */
+export function importProperty(data) {
+	return request({
+		url: `/api/operateDevice/exportData`,
+		method: 'post',
+		data: data
+	})
+}
+/* 
+ * 删除设资产列表
+ * 
+ * 
+ */
+export function deleteDeviceDepartment(id) {
+	return request({
+		url: `/api/operateDeviceLevel/${id}`,
+		method: 'delete'
+	})
+}
+/* 
+ * 新增资产目录
+ * 
+ * 
+ */
+export function insertDeviceDepartment(data) {
+	return request({
+		url: `/api/operateDeviceLevel`,
+		method: 'post',
+		data: data
+	})
+}
+/* 
+ * 编辑资产目录
+ * 
+ * 
+ */
+export function updateDeviceDepartment(data) {
+	return request({
+		url: `/api/operateDeviceLevel`,
+		method: 'put',
+		data: data
+	})
+}
+/* 
+ * 获取审核
+ * 
+ * 
+ */
+export function getFlowList(currPage, pageSize, data) {
+	return request({
+		url: `/api/operateFlowData/${currPage}/${pageSize}`,
+		method: 'post',
+		data: data
+	})
+}
+/* 
+ * 根据id获取审核
+ * 
+ * 
+ */
+export function getFlowById(id) {
+	return request({
+		url: `/api/operateFlowData/${id}`,
+		method: 'get'
+	})
+}
+/* 
+ * 新增审核
+ * 
+ * 
+ */
+export function insertFlowBatch(data) {
+	return request({
+		url: `/api/operateFlowData/batch`,
+		method: 'post',
+		data: data
+	})
+}
+/* 
+ * 批量新增审核
+ * 
+ * 
+ */
+export function insertFlow(data) {
+	return request({
+		url: `/api/operateFlowData`,
+		method: 'post',
+		data: data
+	})
+}
+/* 
+ * 更新审核
+ * 
+ * 
+ */
+export function updateFlow(data) {
+	return request({
+		url: `/api/operateFlowData`,
+		method: 'put',
+		data: data
+	})
+}
+/* 
+ * 删除审核
+ * 
+ * 
+ */
+export function deleteFlow(id) {
+	return request({
+		url: `/api/operateFlowData/${id}`,
+		method: 'delete'
+	})
+}
+/* 
+ * 获取文档目录层级
+ * 
+ */
+export function getDocumentTemplateList(data) {
+	return request({
+		url: `/file/category/directory`,
+		method: 'post',
+		data: data
+	})
+}
+/* 
+ * 生成流程
+ * @param {Object} data = {coment内容|flowType|flowUserList|submiter发起人ID|subscribers订阅人|id流程ID}
+ * 
+ */
+export function generationFlow(data) {
+	data['flowType'] = 5;
+	return request({
+		url: `/flow/projectFlow`,
+		method: 'post',
+		data: data
+	})
+}
+/* 
+ * 获取某一进行中流程详情
+ * @param {String} projectFlowId = {projectFlowId项目流程ID}
+ * 
+ */
+export function getFlowApprove(projectFlowId) {
+	return request({
+		url: `/flow/projectFlow/${projectFlowId}`,
+		method: 'get'
+	})
+}
+/* 
+ * 获取用户操作
+ * @param {String} id = {id项目流程ID}
+ * 
+ */
+export function getUserFlowAction(projectFlowId) {
+	return request({
+		url: `/flow/projectFlow/${projectFlowId}/actions`,
+		method: 'get'
+	})
+}
+/* 
+ * 用户操作
+ * @param {String} id = {id项目流程ID} actionId = {actionId操作ID} {Object} data = {comment内容}
+ * 
+ */
+export function userFlowAction(projectFlowId, actionId, data) {
+	return request({
+		url: `/flow/projectFlow/${projectFlowId}/actions/${actionId}`,
+		method: 'post',
+		data: data
+	})
+}
+/* 
+ * 新增设备
+ * 
+ * 
+ */
+export function insertDevice(data) {
+	return request({
+		url: `/api/operateDevice`,
+		method: 'post',
+		data: data
+	})
+}
+/* 
+ * 编辑设备
+ * 
+ * 
+ */
+export function updateDevice(data) {
+	return request({
+		url: `/api/operateDevice`,
+		method: 'put',
+		data: data
+	})
+}
+/* 
+ * 获取设备详情
+ * 
+ * 
+ */
+export function getDeviceById(id) {
+	console.log(id);
+	return request({
+		url: `/api/operateDevice/${id}`,
+		method: 'get'
+	})
+}
+/* 
+ * 仓库列表
+ * 
+ * 
+ */
+export function getGoDownList(data) {
+	return request({
+		url: `/api/godown/query`,
+		method: 'post',
+		data: data
+	})
+}
+/* 
+ * 新增仓库
+ * 
+ * 
+ */
+export function insertGoDown(data) {
+	return request({
+		url: `/api/godown`,
+		method: 'post',
+		data: data
+	})
+}
+/* 
+ * 编辑仓库
+ * 
+ * 
+ */
+export function updateGoDown(data) {
+	return request({
+		url: `/api/godown`,
+		method: 'put',
+		data: data
+	})
+}
+/* 
+ * 删除仓库
+ * 
+ * 
+ */
+export function deleteGoDown(id) {
+	return request({
+		url: `/api/godown/${id}`,
+		method: 'delete',
+	})
+}
+/* 
+ * 仓库详情
+ * 
+ * 
+ */
+export function getGoDownDetail(id) {
+	return request({
+		url: `/api/godown/${id}`,
+		method: 'get'
+	})
+}
+/* 
+ * 3D模型库列表
+ * 
+ * 
+ */
+export function get3DModel(data) {
+	return request({
+		url: `/api/operateDeviceModel/query`,
+		method: 'post',
+		data: data
+	})
+}
+/* 
+ * 新增3D模型库
+ * 
+ * 
+ */
+export function insert3DModel(data) {
+	return request({
+		url: `/api/operateDeviceModel`,
+		method: 'post',
+		data: data
+	})
+}
+/* 
+ * 编辑3D模型库
+ * 
+ * 
+ */
+export function update3DModel(data) {
+	return request({
+		url: `/api/operateDeviceModel`,
+		method: 'put',
+		data: data
+	})
+}
+/* 
+ * 删除3D模型库
+ * 
+ * 
+ */
+export function delete3DModel(id) {
+	return request({
+		url: `/api/operateDeviceModel/${id}`,
+		method: 'delete',
+	})
+}
+/* 
+ * 3D模型库详情
+ * 
+ * 
+ */
+export function get3DModelDetail(id) {
+	return request({
+		url: `/api/operateDeviceModel/${id}`,
+		method: 'get'
+	})
+}
+/* 
+ * 获取编码类型列表
+ * 
+ * 
+ */
+export function getCodingList(data) {
+	return request({
+		url: `/api/encodingGenerator/type/query`,
+		method: 'post',
+		data: data
+	})
+}
+/* 
+ * 生成编码
+ * 
+ * 
+ */
+export function insertCoding(data) {
+	return request({
+		url: `/api/encodingGenerator`,
+		method: 'post',
+		data: data
+	})
+}
+/* 
+ * 获取设备全生命周期
+ * 
+ * 
+ */
+export function getDeviceCount(id) {
+	return request({
+		url: `/api/operateFlowData/count/${id}`,
+		method: 'get'
+	})
+}
+/* 
+ * 获取传感器数据
+ * 
+ * 
+ */
+export function getDeviceSensorCount(id) {
+	return request({
+		url: `/api/test/deviceSensor/count/${id}`,
+		method: 'get'
+	})
+}
+/* 
+ * 获取设备实时数据
+ * 
+ * 
+ */
+export function getDeviceLiveData(id) {
+	return request({
+		url: `/api/test/deviceLiveData/${id}`,
+		method: 'get'
+	})
+}
+/* 
+ * 获取设备报警列表
+ * 
+ * 
+ */
+export function getDeviceAlarm(id) {
+	return request({
+		url: `/api/test/giveAlarm/${id}`,
+		method: 'get'
+	})
+}
+/* 
+ * 获取设备历史走势
+ * 
+ * 
+ */
+export function getDeviceHistory(id) {
+	return request({
+		url: `/api/test/deviceLiveData/history/${id}`,
+		method: 'get'
+	})
+}

+ 53 - 12
virgo.wzfrontend/workark/src/assets/css/common.scss

@@ -19,7 +19,7 @@
 	.hui-content-title {
 		display: flex;
 		height: 48px;
-		border-bottom: 1px solid $--border-color-base;
+		border-bottom: 1px solid $--border-color-light;
 		padding: 0 20px;
 
 		.hui-title-item {
@@ -99,9 +99,9 @@
 			.table-operation {
 				padding-left: 10px;
 				cursor: pointer;
-				
+				color: $--color-primary;
 				&:hover{
-					color: $--color-primary;
+					
 				}
 			}
 
@@ -129,7 +129,10 @@
 		}
 		
 		.el-table{
-			border: 1px solid $--border-color-base;
+			border-left: 1px solid $--border-color-lighter;
+			border-right: 1px solid $--border-color-lighter;
+			border-top: 1px solid $--border-color-lighter;
+			border-radius: $--border-radius-base;
 		}
 		
 		.el-table__header{
@@ -137,7 +140,6 @@
 			th{
 				color: #606266;
 				background: #f4f4f5;
-				
 			}
 			
 			.cell{
@@ -156,6 +158,11 @@
 			.el-icon-arrow-right::before {
 				content: '\e738';
 			}
+		}
+		
+		.caret-wrapper{
+			position: absolute;
+			top: -5px;
 		}
 	}
 
@@ -220,7 +227,7 @@
 
 	.el-dialog__header {
 		padding: 15px 20px;
-		border-bottom: 1px solid $--border-color-base;
+		border-bottom: 1px solid $--border-color-light;
 
 		.el-icon-close {
 			font-family: "iconfont" !important;
@@ -249,12 +256,17 @@
 		overflow-y: auto;
 	}
 	.hui-dialog-submit {
-		border-top: 1px solid $--border-color-base;
+		border-top: 1px solid $--border-color-light;
 		text-align: right;
 		padding: 10px;
 	}
 }
 
+.border-box{
+	border: 1px solid $--border-color-lighter;
+	background: $--color-white;
+}
+
 .color-red {
 	color: $--color-danger;
 }
@@ -262,21 +274,23 @@
 	display: flex;
 	width: 100%;
 	height: 100%;
-
+	background: $--background-color-base;
+	
 	.hui-left-tree {
 		width: 250px;
 		box-sizing: border-box;
 		height: 100%;
 		display: flex;
 		flex-direction: column;
-
+		background: $--color-white;
+	
 		.hui-left-tree-title {
 			height: 42px;
 			border-radius: 2px;
 			display: flex;
 			align-items: center;
 			padding: 0 12px;
-			border-bottom: 1px solid $--border-color-base;
+			border-bottom: 1px solid $--border-color-light;
 		}
 
 		.hui-left-tree-content {
@@ -318,7 +332,7 @@
 		border: none;
 
 		.el-collapse-item__header {
-			border-color: $--border-color-base;
+			border-color: $--border-color-light;
 			height: 32px;
 			line-height: 32px;
 			font-size: 12px;
@@ -407,5 +421,32 @@
 			padding: 5px 10px;
 		}
 	}
-
+	.custom-tree-node{
+		width: 100%;
+		display: flex;
+		align-items: center;
+		padding-right: 10px;
+		
+		.label{
+			flex: 1;
+			width: 0;
+			overflow: hidden;
+			font-size: 12px;
+		}
+		
+		.iconfont{
+			font-size: 19px;
+			margin-right: 5px;
+		}
+		
+		.el-icon-place{
+			font-size: 16px;
+		}
+		
+		&.active,
+		.active{
+			color: $--color-primary;
+		}
+		
+	}
 }

+ 18 - 16
virgo.wzfrontend/workark/src/assets/css/element-variables.scss

@@ -1,23 +1,23 @@
 /* 改变主题色变量 */
 // 主色系
-$--color-primary: #409EFF !default;      // 主色调(蓝)
-$--color-success: #67C23A !default;      // 成功色(绿)
-$--color-warning: #E6A23C !default;      // 警告色(橙)
-$--color-danger: #F56C6C !default;       // 危险色(红)
+$--color-primary: #165dff !default;      // 主色调(蓝)
+$--color-success: #00b42a !default;      // 成功色(绿)
+$--color-warning: #ff7d00 !default;      // 警告色(橙)
+$--color-danger: #f53f3f !default;       // 危险色(红)
 $--color-info: #909399 !default;         // 信息色(灰)
 $--color-white:#fff !default;
 
 // 文本颜色
-$--color-text-primary: #303133 !default; // 主要文字
-$--color-text-regular: #606266 !default; // 常规文字
-$--color-text-secondary: #909399 !default;// 次要文字
-$--color-text-placeholder: #C0C4CC !default; // 占位符
+$--color-text-primary: #1d2129 !default; // 主要文字
+$--color-text-regular: #4e5969 !default; // 常规文字
+$--color-text-secondary: #86909c !default;// 次要文字
+$--color-text-placeholder: #86909c !default; // 占位符
 
 // 边框颜色
-$--border-color-base: #e4e4e7 !default;  // 基础边框
-$--border-color-light: #E4E7ED !default; // 浅色边框
-$--border-color-lighter: #EBEEF5 !default;// 更浅边框
-$--border-color-extra-light: #F2F6FC !default;
+$--border-color-base: #86909c !default;  // 基础边框
+$--border-color-light: #c9cdd4 !default; // 浅色边框
+$--border-color-lighter: #e5e6eb !default;// 更浅边框
+$--border-color-extra-light: #F2F3F5 !default;
 
 // 背景色
 $--background-color-base: #f1f3f6 !default; // 基础背景
@@ -42,8 +42,8 @@ $--menu-item-height: 56px !default;      // 菜单项高度
 
 $--border-width-base: 1px !default;      // 边框宽度
 $--border-style-base: solid !default;    // 边框样式
-$--border-radius-base: 4px !default;     // 基础圆角
-$--border-radius-small: 2px !default;    // 小圆角
+$--border-radius-base: 6px !default;     // 基础圆角
+$--border-radius-small: 4px !default;    // 小圆角
 $--border-radius-circle: 100% !default;  // 圆形
 
 $--box-shadow-base: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04) !default;
@@ -61,13 +61,15 @@ $--transition-md-fade: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 3
 // Button 按钮
 $--button-font-weight: $--font-weight-primary !default;
 $--button-border-radius: $--border-radius-base !default;
+$--button-default-border-color: $--border-color-lighter !default;
 
 // Input 输入框
-$--input-border-color: $--border-color-base !default;
+$--input-border-color: $--border-color-light !default;
+$--input-border:1px solid $--input-border-color !default;
 $--input-hover-border-color: mix($--color-white, $--color-primary, 70%) !default;
 
 // Table 表格
-$--table-border-color: $--border-color-light !default;
+$--table-border-color: $--border-color-lighter !default;
 $--table-header-background: $--background-color-base !default;
 
 // Dialog 弹窗

Файловите разлики са ограничени, защото са твърде много
+ 1 - 0
virgo.wzfrontend/workark/src/assets/svg/zhuangshi.svg


+ 101 - 100
virgo.wzfrontend/workark/src/components/common/cc.vue

@@ -1,101 +1,102 @@
-<template>
-	<div class="cc-user-list">
-		<el-button size="small" @click="visible = true" v-if="type === 'insert'">
-			<i class="iconfont huifont-xinzeng"></i>{{'添加'+(!!label ? label:'抄送人')}}
-		</el-button>
-		<div class="cc-user-ivewer">
-			<div class="cc-user-item" v-for="(item,index) in list" :key="index">
-				<div class="cc-user-avatar">
-					<avatar :user="item" :size="10"></avatar>
-				</div>
-				<div class="cc-user-name">{{item.name}}</div>
-			</div>
-		</div>
-		<el-dialog :close-on-click-modal="false" :title="(!!label ? label:'抄送人')+'选择'" :visible.sync="visible" width="880px" :append-to-body="true">
-			<select-user @callback="callBack" v-if="visible" :list="list" :maxLen="maxLen"></select-user>
-		</el-dialog>
-	</div>
-</template>
-
-<script>
-	import selectUser from '@/components/common/selectUser'
-	export default {
-		props: ['type', 'ccList', 'label', 'maxLen'],
-		data() {
-			return {
-				list: [],
-				visible: false
-			}
-		},
-		mounted() {
-			if (!!this.ccList) this.list = this.ccList;
-		},
-		methods: {
-			callBack(data) {
-				this.visible = false;
-				if (data) this.list = data;
-			}
-		},
-		watch: {
-			ccList() {
-				if (!!this.ccList) this.list = this.ccList;
-			}
-		},
-		components: {
-			selectUser
-		}
-	}
-</script>
-
-<style lang="scss">
-	.cc-user-list {
-		width: 100%;
-
-		.el-button {
-			padding-left: 12px;
-			margin-bottom: 10px;
-
-			span {
-				display: flex;
-				align-items: center;
-			}
-
-			.huifont-xinzeng {
-				padding-right: 10px;
-			}
-		}
-
-		.cc-user-ivewer {
-			display: flex;
-			flex-wrap: wrap;
-		}
-
-		.cc-user-item {
-			display: flex;
-			min-width: 76px;
-			height: 28px;
-			align-items: center;
-			margin-right: 15px;
-			background: #363f51;
-			border-radius: 15px;
-			padding: 0 4px;
-
-			.cc-user-avatar {
-				width: 20px;
-				height: 20px;
-				border-radius: 50%;
-				overflow: hidden;
-				margin-right: 4px;
-			}
-
-			.cc-user-name {
-				overflow: hidden;
-			}
-		}
-
-		.cc-user-item:first-child {
-			margin-top: 0;
-		}
-
-	}
+<template>
+	<div class="cc-user-list">
+		<el-button size="small" @click="visible = true" v-if="type === 'insert'">
+			<i class="iconfont huifont-xinzeng"></i>{{'添加'+(!!label ? label:'抄送人')}}
+		</el-button>
+		<div class="cc-user-ivewer">
+			<div class="cc-user-item" v-for="(item,index) in list" :key="index">
+				<div class="cc-user-avatar">
+					<avatar :user="item" :size="10"></avatar>
+				</div>
+				<div class="cc-user-name">{{item.name}}</div>
+			</div>
+		</div>
+		<el-dialog :close-on-click-modal="false" :title="(!!label ? label:'抄送人')+'选择'" :visible.sync="visible"
+			width="880px" :append-to-body="true">
+			<select-user @callback="callBack" v-if="visible" :list="list" :maxLen="maxLen"></select-user>
+		</el-dialog>
+	</div>
+</template>
+
+<script>
+	const selectUser = () => import('@/components/common/selectUser');
+	export default {
+		props: ['type', 'ccList', 'label', 'maxLen'],
+		data() {
+			return {
+				list: [],
+				visible: false
+			}
+		},
+		mounted() {
+			if (!!this.ccList) this.list = this.ccList;
+		},
+		methods: {
+			callBack(data) {
+				this.visible = false;
+				if (data) this.list = data;
+			}
+		},
+		watch: {
+			ccList() {
+				if (!!this.ccList) this.list = this.ccList;
+			}
+		},
+		components: {
+			selectUser
+		}
+	}
+</script>
+
+<style lang="scss">
+	.cc-user-list {
+		width: 100%;
+
+		.el-button {
+			padding-left: 12px;
+			margin-bottom: 10px;
+
+			span {
+				display: flex;
+				align-items: center;
+			}
+
+			.huifont-xinzeng {
+				padding-right: 10px;
+			}
+		}
+
+		.cc-user-ivewer {
+			display: flex;
+			flex-wrap: wrap;
+		}
+
+		.cc-user-item {
+			display: flex;
+			min-width: 76px;
+			height: 28px;
+			align-items: center;
+			margin-right: 15px;
+			background: #363f51;
+			border-radius: 15px;
+			padding: 0 4px;
+
+			.cc-user-avatar {
+				width: 20px;
+				height: 20px;
+				border-radius: 50%;
+				overflow: hidden;
+				margin-right: 4px;
+			}
+
+			.cc-user-name {
+				overflow: hidden;
+			}
+		}
+
+		.cc-user-item:first-child {
+			margin-top: 0;
+		}
+
+	}
 </style>

+ 376 - 377
virgo.wzfrontend/workark/src/components/common/selectUser.vue

@@ -1,378 +1,377 @@
-<template>
-	<div class="hui-flex hui-dialog">
-		<div class="hui-flex-box hui-dialog-content">
-			<div class="change-user-box">
-				<div class="change-part">
-					<div class="part-breadcrumb">
-						<div class="part-breadcrumb-item" v-for="(item,index) in breadcrumb" :key="index"
-							@click="breadcrumbClick(item,index)">
-							{{item.name}}
-							<i class="iconfont huifont-xiala-right" v-if="index < breadcrumb.length-1"></i>
-						</div>
-					</div>
-					<el-checkbox class="check-all" v-model="checkAll" @change="checkChange" v-if="!maxLen">
-						全选
-					</el-checkbox>
-					<div class="part-user no-box" v-if="partList.length === 0 && userList.length === 0">
-						<empty width="100"></empty>
-					</div>
-					<div class="part-user" v-else>
-						<el-checkbox-group v-model="checkedBox" @change="testCheckedAll">
-							<el-checkbox v-for="(item,index) in partList" :label="item.id" :key="-item.id" disabled>
-								<div class="user-box">
-									<div class="user-avatar">
-										<i class="iconfont huifont-bumen"></i>
-									</div>
-									<div class="user-name">{{item.name}}</div>
-									<div class="part-button" @click="openPart(item)">展开</div>
-								</div>
-							</el-checkbox>
-							<el-checkbox v-for="(item,index) in userList" :label="item.id" :key="item.id"
-								@change="selectUser" :disabled="returnDisabled(item)">
-								<div class="user-box">
-									<div class="user-avatar">
-										<avatar :user="item" :size="12"></avatar>
-									</div>
-									<div class="user-name">{{item.name}}</div>
-								</div>
-							</el-checkbox>
-						</el-checkbox-group>
-					</div>
-				</div>
-				<div class="change-user">
-					<div class="change-user-operation">
-						<div class="change-user-count">
-							已选择:{{checkedUserList.length}}名用户
-						</div>
-						<div class="change-user-clear" @click="clearAll">清空</div>
-					</div>
-					<div class="change-user-list no-box" v-if="checkedUserList.length === 0">
-						<empty width="100"></empty>
-					</div>
-					<div class="change-user-list" v-else>
-						<div class="change-user-item user-box" v-for="(item,index) in checkedUserList" :label="item.id"
-							:key="item.id">
-							<div class="user-avatar">
-								<avatar :user="item" :size="12"></avatar>
-							</div>
-							<div class="user-name">
-								<div>{{item.name}}</div>
-								<p>{{item.partName}}</p>
-							</div>
-							<div class="user-delete" @click="deleteUser(item)">
-								<i class="iconfont huifont-guanbi"></i>
-							</div>
-							<div class="user-line" v-if="index < checkedUserList.length-1"></div>
-						</div>
-					</div>
-				</div>
-			</div>
-		</div>
-		<div class="hui-dialog-submit">
-			<el-button size="small" @click="$emit('callback')">取 消</el-button>
-			<el-button size="small" type="primary" @click="submit">保 存</el-button>
-		</div>
-	</div>
-</template>
-
-<script>
-	import {
-		getPartList
-	} from '@/api/organization'
-	export default {
-		props: ['list', 'type', 'maxLen'],
-		data() {
-			return {
-				checkAll: false,
-				partList: [],
-				allUserList: [],
-				userList: [],
-				checkedBox: [],
-				breadcrumb: [{
-					id: 0,
-					name: '部门'
-				}],
-				checkedUserList: [],
-				partId: ''
-			}
-		},
-		mounted() {
-			this.init();
-		},
-		methods: {
-			init() {
-				getPartList(this.$store.getters.organization.id, -1).then(res => {
-					if (res.state) {
-						this.returnChildren(res.data); //获取总员工数列表
-						this.partList = res.data;
-						this.breadcrumb[0]['node'] = this.partList;
-						if (this.list && this.list.length > 0) {
-							this.checkedBox = this.list.map(node => node.id);
-							this.checkedUserList = this.list;
-						}
-					}
-				})
-			},
-			returnChildren(data) {
-				data.forEach(item => {
-					if (item.children && item.users) {
-						let obj = item.users.map(res => {
-							return {
-								id: res.id,
-								name: res.name,
-								partName: item.name,
-								partId: item.id,
-								portrait: res.portrait
-							};
-						})
-						this.allUserList = this.allUserList.concat(obj);
-					}
-					if (item.children && item.children.length > 0) this.returnChildren(item.children);
-				});
-			},
-			returnDisabled(item) {
-				if (this.maxLen === this.checkedBox.length) {
-					if (this.checkedBox.filter(node => node === item.id).length > 0) return false;
-					return true;
-				}
-				return false;
-			},
-			checkChange(val) {
-				if (this.userList.length === 0) return;
-				if (val) {
-					let data = this.checkedBox;
-					this.checkedBox = Array.from(new Set(data.concat(this.userList.map(node => node.id))));
-				} else {
-					let ids = this.userList.map(node => node.id);
-					for (var i = 0; i < ids.length; i++) {
-						let boxIndex = this.checkedBox.findIndex(node => node === ids[i]);
-						this.checkedBox.splice(boxIndex, 1);
-					}
-				}
-				this.selectUser();
-			},
-			selectUser() {
-				this.checkedUserList = this.checkedBox.map(node => {
-					return this.allUserList.filter(user => user.id === node)[0];
-				})
-			},
-			deleteUser(item) {
-				let boxIndex = this.checkedBox.findIndex(node => node === item.id);
-				this.checkedBox.splice(boxIndex, 1);
-				this.selectUser();
-				this.testCheckedAll();
-			},
-			clearAll() {
-				this.checkedBox = [];
-				this.selectUser();
-				this.testCheckedAll();
-			},
-			openPart(data) {
-				this.breadcrumb.push({
-					id: data.id,
-					name: data.name,
-					node: data
-				});
-				this.filterList(data);
-			},
-			filterList(data) {
-				this.partList = data.children;
-				this.partId = data.id;
-				this.userList = this.allUserList.filter(node => node.partId === data.id);
-				this.testCheckedAll();
-			},
-			testCheckedAll() {
-				if (this.userList.length === 0) return this.checkAll = false;
-				let checkedCount = this.checkedBox.filter(node => this.userList.filter(res => res.id === node).length > 0)
-					.length;
-				this.checkAll = checkedCount === this.userList.length;
-			},
-			breadcrumbClick(item, index) {
-				if (index === this.breadcrumb.length - 1) return;
-				this.breadcrumb = this.breadcrumb.slice(0, index + 1);
-				if (item.id === 0) {
-					this.userList = [];
-					return this.partList = item.node;
-				}
-				this.filterList(this.breadcrumb[this.breadcrumb.length - 1].node);
-			},
-			submit() {
-				this.$emit('callback', this.checkedUserList);
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.change-user-box {
-		width: 100%;
-		height: 100%;
-		border: 1px solid $--border-color-base;
-		border-radius: 4px;
-		display: flex;
-
-		.no-box {
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			border-top: 1px solid $--border-color-base;
-		}
-
-		.change-part {
-			flex: 1;
-			border-right: 1px solid $--border-color-base;
-			height: 100%;
-			display: flex;
-			flex-direction: column;
-
-			.part-breadcrumb {
-				display: flex;
-				flex-wrap: wrap;
-				padding: 20px;
-
-				.part-breadcrumb-item {
-					display: flex;
-					align-items: center;
-					opacity: 0.5;
-					cursor: pointer;
-
-					i {
-						font-size: 14px;
-						padding: 0 5px;
-					}
-				}
-
-				.part-breadcrumb-item:last-child {
-					opacity: 1;
-				}
-			}
-
-			.check-all {
-				padding: 0px 20px 10px 20px;
-			}
-
-			.part-user {
-				flex: 1;
-				overflow-y: auto;
-				padding: 0 20px 10px 20px;
-
-				.el-checkbox-group {
-					.el-checkbox {
-						display: flex;
-						align-items: center;
-						height: 48px;
-
-					}
-
-					.el-checkbox__input.is-disabled+span.el-checkbox__label {
-						cursor: pointer;
-					}
-
-					.el-checkbox {
-						margin-right: 0;
-					}
-
-					.el-checkbox__label {
-						flex: 1;
-					}
-				}
-			}
-		}
-
-		.user-box {
-			display: flex;
-			align-items: center;
-
-			.user-avatar {
-				width: 32px;
-				height: 32px;
-				background: #4958de;
-				border-radius: 50%;
-				margin-right: 10px;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				overflow: hidden;
-
-				i {
-					font-size: 20px;
-				}
-			}
-
-
-			.user-name {
-				flex: 1;
-				width: 0;
-
-				p {
-					font-size: 12px;
-					opacity: 0.6;
-				}
-			}
-
-			.part-button {
-				color: $--color-primary;
-			}
-
-			.user-delete {
-
-				width: 24px;
-				height: 24px;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				cursor: pointer;
-				border-radius: 2px;
-
-				i {
-					margin-top: 2px;
-					opacity: 0.5;
-					font-size: 14px;
-				}
-			}
-
-			.user-delete:hover {
-				background: #31353f;
-			}
-		}
-
-		.change-user {
-			flex: 1;
-			height: 100%;
-			display: flex;
-			flex-direction: column;
-
-			.change-user-operation {
-				padding: 20px;
-				display: flex;
-				justify-content: space-between;
-
-				.change-user-clear {
-					color: $--color-primary;
-					cursor: pointer;
-				}
-			}
-
-			.change-user-list {
-				flex: 1;
-				height: 0;
-				overflow-y: auto;
-				padding: 0 20px 14px 20px;
-
-				.change-user-item {
-					height: 48px;
-					position: relative;
-
-					.user-line {
-						width: 2px;
-						background-color: rgba(255, 255, 255, 0.2);
-						position: absolute;
-						top: 40px;
-						bottom: -8px;
-						left: 15px;
-					}
-				}
-			}
-		}
-	}
+<template>
+	<div class="hui-flex hui-dialog">
+		<div class="hui-flex-box">
+			<div class="change-user-box">
+				<div class="change-part">
+					<div class="part-breadcrumb">
+						<div class="part-breadcrumb-item" v-for="(item,index) in breadcrumb" :key="index"
+							@click="breadcrumbClick(item,index)">
+							{{item.name}}
+							<i class="iconfont huifont-xiala-right" v-if="index < breadcrumb.length-1"></i>
+						</div>
+					</div>
+					<el-checkbox class="check-all" v-model="checkAll" @change="checkChange" v-if="!maxLen">
+						全选
+					</el-checkbox>
+					<div class="part-user no-box" v-if="partList.length === 0 && userList.length === 0">
+						<el-empty width="100"></el-empty>
+					</div>
+					<div class="part-user" v-else>
+						<el-checkbox-group v-model="checkedBox" @change="testCheckedAll">
+							<el-checkbox v-for="(item,index) in partList" :label="item.id" :key="-item.id" disabled>
+								<div class="user-box">
+									<div class="user-avatar">
+										<i class="iconfont huifont-bumen"></i>
+									</div>
+									<div class="user-name">{{item.name}}</div>
+									<div class="part-button" @click="openPart(item)">展开</div>
+								</div>
+							</el-checkbox>
+							<el-checkbox v-for="(item,index) in userList" :label="item.id" :key="item.id"
+								@change="selectUser" :disabled="returnDisabled(item)">
+								<div class="user-box">
+									<div class="user-avatar">
+										<avatar :user="item" :size="12"></avatar>
+									</div>
+									<div class="user-name">{{item.name}}</div>
+								</div>
+							</el-checkbox>
+						</el-checkbox-group>
+					</div>
+				</div>
+				<div class="change-user">
+					<div class="change-user-operation">
+						<div class="change-user-count">
+							已选择:{{checkedUserList.length}}名用户
+						</div>
+						<div class="change-user-clear" @click="clearAll">清空</div>
+					</div>
+					<div class="change-user-list no-box" v-if="checkedUserList.length === 0">
+						<el-empty width="100"></el-empty>
+					</div>
+					<div class="change-user-list" v-else>
+						<div class="change-user-item user-box" v-for="(item,index) in checkedUserList" :label="item.id"
+							:key="item.id">
+							<div class="user-avatar">
+								<avatar :user="item" :size="12"></avatar>
+							</div>
+							<div class="user-name">
+								<div>{{item.name}}</div>
+								<p>{{item.partName}}</p>
+							</div>
+							<div class="user-delete" @click="deleteUser(item)">
+								<i class="iconfont huifont-guanbi"></i>
+							</div>
+							<div class="user-line" v-if="index < checkedUserList.length-1"></div>
+						</div>
+					</div>
+				</div>
+			</div>
+		</div>
+		<div class="hui-dialog-submit">
+			<el-button size="small" @click="$emit('callback')">取 消</el-button>
+			<el-button size="small" type="primary" @click="submit">保 存</el-button>
+		</div>
+	</div>
+</template>
+
+<script>
+	import {
+		getPartList
+	} from '@/api/organization'
+	export default {
+		props: ['list', 'type', 'maxLen'],
+		data() {
+			return {
+				checkAll: false,
+				partList: [],
+				allUserList: [],
+				userList: [],
+				checkedBox: [],
+				breadcrumb: [{
+					id: 0,
+					name: '部门'
+				}],
+				checkedUserList: [],
+				partId: ''
+			}
+		},
+		mounted() {
+			this.init();
+		},
+		methods: {
+			init() {
+				getPartList(this.$store.getters.organization.id, -1).then(res => {
+					if (res.state) {
+						this.returnChildren(res.data); //获取总员工数列表
+						this.partList = res.data;
+						this.breadcrumb[0]['node'] = this.partList;
+						if (this.list && this.list.length > 0) {
+							this.checkedBox = this.list.map(node => node.id);
+							this.checkedUserList = this.list;
+						}
+					}
+				})
+			},
+			returnChildren(data) {
+				data.forEach(item => {
+					if (item.children && item.users) {
+						let obj = item.users.map(res => {
+							return {
+								id: res.id,
+								name: res.name,
+								partName: item.name,
+								partId: item.id,
+								portrait: res.portrait
+							};
+						})
+						this.allUserList = this.allUserList.concat(obj);
+					}
+					if (item.children && item.children.length > 0) this.returnChildren(item.children);
+				});
+			},
+			returnDisabled(item) {
+				if (this.maxLen === this.checkedBox.length) {
+					if (this.checkedBox.filter(node => node === item.id).length > 0) return false;
+					return true;
+				}
+				return false;
+			},
+			checkChange(val) {
+				if (this.userList.length === 0) return;
+				if (val) {
+					let data = this.checkedBox;
+					this.checkedBox = Array.from(new Set(data.concat(this.userList.map(node => node.id))));
+				} else {
+					let ids = this.userList.map(node => node.id);
+					for (var i = 0; i < ids.length; i++) {
+						let boxIndex = this.checkedBox.findIndex(node => node === ids[i]);
+						this.checkedBox.splice(boxIndex, 1);
+					}
+				}
+				this.selectUser();
+			},
+			selectUser() {
+				this.checkedUserList = this.checkedBox.map(node => {
+					return this.allUserList.filter(user => user.id === node)[0];
+				})
+			},
+			deleteUser(item) {
+				let boxIndex = this.checkedBox.findIndex(node => node === item.id);
+				this.checkedBox.splice(boxIndex, 1);
+				this.selectUser();
+				this.testCheckedAll();
+			},
+			clearAll() {
+				this.checkedBox = [];
+				this.selectUser();
+				this.testCheckedAll();
+			},
+			openPart(data) {
+				this.breadcrumb.push({
+					id: data.id,
+					name: data.name,
+					node: data
+				});
+				this.filterList(data);
+			},
+			filterList(data) {
+				this.partList = data.children;
+				this.partId = data.id;
+				this.userList = this.allUserList.filter(node => node.partId === data.id);
+				this.testCheckedAll();
+			},
+			testCheckedAll() {
+				if (this.userList.length === 0) return this.checkAll = false;
+				let checkedCount = this.checkedBox.filter(node => this.userList.filter(res => res.id === node).length > 0)
+					.length;
+				this.checkAll = checkedCount === this.userList.length;
+			},
+			breadcrumbClick(item, index) {
+				if (index === this.breadcrumb.length - 1) return;
+				this.breadcrumb = this.breadcrumb.slice(0, index + 1);
+				if (item.id === 0) {
+					this.userList = [];
+					return this.partList = item.node;
+				}
+				this.filterList(this.breadcrumb[this.breadcrumb.length - 1].node);
+			},
+			submit() {
+				this.$emit('callback', this.checkedUserList);
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.change-user-box {
+		width: 100%;
+		height: 100%;
+		display: flex;
+
+		.no-box {
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			border-top: 1px solid $--border-color-light;
+		}
+
+		.change-part {
+			flex: 1;
+			border-right: 1px solid $--border-color-light;
+			height: 100%;
+			display: flex;
+			flex-direction: column;
+
+			.part-breadcrumb {
+				display: flex;
+				flex-wrap: wrap;
+				padding: 20px;
+
+				.part-breadcrumb-item {
+					display: flex;
+					align-items: center;
+					opacity: 0.5;
+					cursor: pointer;
+
+					i {
+						font-size: 14px;
+						padding: 0 5px;
+					}
+				}
+
+				.part-breadcrumb-item:last-child {
+					opacity: 1;
+				}
+			}
+
+			.check-all {
+				padding: 0px 20px 10px 20px;
+			}
+
+			.part-user {
+				flex: 1;
+				overflow-y: auto;
+				padding: 0 20px 10px 20px;
+
+				.el-checkbox-group {
+					.el-checkbox {
+						display: flex;
+						align-items: center;
+						height: 48px;
+
+					}
+
+					.el-checkbox__input.is-disabled+span.el-checkbox__label {
+						cursor: pointer;
+					}
+
+					.el-checkbox {
+						margin-right: 0;
+					}
+
+					.el-checkbox__label {
+						flex: 1;
+					}
+				}
+			}
+		}
+
+		.user-box {
+			display: flex;
+			align-items: center;
+
+			.user-avatar {
+				width: 32px;
+				height: 32px;
+				background: $--color-primary;
+				border-radius: 50%;
+				margin-right: 10px;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				overflow: hidden;
+
+				i {
+					font-size: 20px;
+					color: $--color-white;
+				}
+			}
+
+
+			.user-name {
+				flex: 1;
+				width: 0;
+
+				p {
+					font-size: 12px;
+					opacity: 0.6;
+				}
+			}
+
+			.part-button {
+				color: $--color-primary;
+			}
+
+			.user-delete {
+
+				width: 24px;
+				height: 24px;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				cursor: pointer;
+				border-radius: 2px;
+
+				i {
+					margin-top: 2px;
+					opacity: 0.5;
+					font-size: 14px;
+				}
+			}
+
+			.user-delete:hover {
+				color: $--color-danger;
+			}
+		}
+
+		.change-user {
+			flex: 1;
+			height: 100%;
+			display: flex;
+			flex-direction: column;
+
+			.change-user-operation {
+				padding: 20px;
+				display: flex;
+				justify-content: space-between;
+
+				.change-user-clear {
+					color: $--color-danger;
+					cursor: pointer;
+				}
+			}
+
+			.change-user-list {
+				flex: 1;
+				height: 0;
+				overflow-y: auto;
+				padding: 0 20px 14px 20px;
+
+				.change-user-item {
+					height: 48px;
+					position: relative;
+
+					.user-line {
+						width: 2px;
+						background-color: rgba(255, 255, 255, 0.2);
+						position: absolute;
+						top: 40px;
+						bottom: -8px;
+						left: 15px;
+					}
+				}
+			}
+		}
+	}
 </style>

+ 94 - 0
virgo.wzfrontend/workark/src/components/flow/batchForm.vue

@@ -0,0 +1,94 @@
+<template>
+	<div class="hui-flex hui-dialog batch-form">
+		<div class="hui-flex-box" v-if="templateList.length>0">
+			<div class="hui-flex hui-content">
+				<div class="hui-content-title">
+					<div :class="'hui-title-item' + (index === titleIndex ? ' active':'') "
+						v-for="(item,index) in templateList" :key="index" @click="titleIndex = index">
+						模板{{index+1}}
+					</div>
+				</div>
+				<div class="hui-flex-box">
+					<batch-template ref="batchTemplate" :flowForm="item" v-for="(item,index) in templateList"
+						:key="index" v-show="titleIndex == index" :flowType="flowType">
+					</batch-template>
+				</div>
+			</div>
+		</div>
+		<div class="hui-flex-box hui-content" v-else>
+			<div class="upload-demo">
+				<import-template ref="uploads" @changeFile="changeFile"></import-template>
+			</div>
+		</div>
+		<div class="hui-dialog-submit">
+			<el-button size="medium" @click="$emit('callback')">取 消</el-button>
+			<el-button size="medium" type="primary" @click="submit" :loading="loading">批量保存</el-button>
+		</div>
+	</div>
+</template>
+
+<script>
+	const importTemplate = () => import('@/components/flow/importTemplate');
+	const batchTemplate = () => import('@/components/flow/batchTemplate');
+	import {
+		insertFlowBatch
+	} from '@/api/property'
+	export default {
+		props: ['flowType'],
+		data() {
+			return {
+				templateList: [],
+				titleIndex: 0,
+				loading: false
+			}
+		},
+		mounted() {
+			this.project = this.$store.getters.project;
+		},
+		methods: {
+			changeFile(data) {
+				this.$loading.close();
+				this.templateList = data;
+			},
+			submit() {
+				this.loading = true;
+				let dom = this.$refs.batchTemplate,
+					list = [];
+				for (let i = 0; i < dom.length; i++) {
+					list.push(dom[i].getFormData());
+				}
+				insertFlowBatch(list).then(this.successFunc);
+			},
+			successFunc(res) {
+				this.loading = false;
+				if (res.state) {
+					this.$message.success('操作成功');
+					this.$emit('callback', 'init');
+				}
+			}
+		},
+		components: {
+			importTemplate,
+			batchTemplate
+		},
+	}
+</script>
+
+<style lang="scss">
+	.batch-form {
+		.el-upload-dragger {
+			background: transparent;
+		}
+
+		.el-upload-dragger {
+			border-color: $--border-color-light;
+		}
+
+		.upload-demo {
+			height: 100%;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+		}
+	}
+</style>

+ 89 - 0
virgo.wzfrontend/workark/src/components/flow/batchTemplate.vue

@@ -0,0 +1,89 @@
+<template>
+	<div class="hui-flex hui-dialog">
+		<div class="hui-flex-box">
+			<div class="flow-form-box">
+				<div class="flow-form-list">
+					<property-flow-form ref="flowData" :flowForm="flowForm"></property-flow-form>
+					<el-form :model="flowForm" label-position="top">
+						<el-form-item label="流程附件" class="hui-textarea">
+							<upload ref="upload" :list="responsibility" type="insert"></upload>
+						</el-form-item>
+						<el-form-item label="抄送人" class="hui-textarea">
+							<cc ref="cc" type="insert" :ccList="ccList"></cc>
+						</el-form-item>
+					</el-form>
+				</div>
+				<div class="flow-approve-list">
+					<flow ref="flow" type="insert" :flowlist="flowlist"></flow>
+				</div>
+			</div>
+		</div>
+	</div>
+</template>
+
+<script>
+	const flow = () => import('@/components/flow/flow');
+	const cc = () => import('@/components/common/cc');
+	const upload = () => import('@/components/common/upload');
+	const propertyFlowForm = () => import('@/components/work/property/propertyFlowForm');
+	export default {
+		props: ['flowForm', 'flowType'],
+		data() {
+			return {
+				responsibility: [],
+				flowlist: [],
+				ccList: []
+			}
+		},
+		mounted() {},
+		methods: {
+			getFormData() {
+				let data = this.$refs.flowData.returnForm();
+				let formData = data.formData;
+				let commonForm = data.commonForm;
+				let commonData = {
+					flowUserList: JSON.stringify(this.$refs.flow.list),
+					receiver: JSON.stringify(this.$refs.cc.list),
+					attachment: JSON.stringify(this.$refs.upload.fileList),
+					flowType: this.flowType
+				}
+				let postData = Object.assign(commonForm, commonData, {
+					flowData: JSON.stringify(formData)
+				})
+				return postData;
+			}
+		},
+		components: {
+			flow,
+			upload,
+			cc,
+			propertyFlowForm
+		},
+	}
+</script>
+
+<style lang="scss">
+	.flow-form-box {
+		display: flex;
+		width: 100%;
+		height: 100%;
+
+		.el-cascader {
+			width: 100%;
+		}
+
+		.flow-form-list {
+			flex: 1;
+			height: 100%;
+			overflow-x: hidden;
+			overflow-y: auto;
+			padding: 20px;
+		}
+
+		.flow-approve-list {
+			width: 300px;
+			border-left: 1px solid $--border-color-light;
+			padding: 20px 0;
+		}
+	}
+</style>

+ 310 - 0
virgo.wzfrontend/workark/src/components/flow/flow.vue

@@ -0,0 +1,310 @@
+<template>
+	<div class="flow-index">
+		<div class="flow" v-if="type === 'insert'">
+			<div class="flow-button">
+				<el-button size="medium" type="primary" @click="visible = true">
+					<i class="iconfont huifont-xinzeng"></i>添加审核人员
+				</el-button>
+			</div>
+			<div class="flow-box">
+				<div class="flow-item" v-for="(item,index) in list" :key="index">
+					<div class="user-avatar">
+						<avatar :user="item" :size="12"></avatar>
+					</div>
+					<div class="user-name">
+						<div>{{item.name}}</div>
+						<p>{{item.partName}}</p>
+					</div>
+					<div class="user-line" v-if="index < list.length-1"></div>
+				</div>
+			</div>
+			<el-dialog :close-on-click-modal="false" title="审核人选择" :visible.sync="visible" width="880px"
+				:append-to-body="true">
+				<select-user @callback="callBack" v-if="visible" :list="list"></select-user>
+			</el-dialog>
+		</div>
+		<div class="flow-list" v-else>
+			<div class="flow-box">
+				<div class="flow-item" v-for="(item,index) in flowlist" :key="index">
+					<div class="user-avatar-box">
+						<div class="user-avatar">
+							<avatar :user="item" :size="12"></avatar>
+						</div>
+						<div :class="'user-avatar-status '+ returnStatus(item.status).className">
+							<i :class="'iconfont '+returnStatus(item.status).icon"></i>
+						</div>
+					</div>
+					<div class="flow-content">
+						<div class="user-name">
+							<div>{{item.name}}</div>
+							<p><span>{{item.partName}}</span><span>{{item.date}}</span></p>
+						</div>
+						<div class="user-content" v-if="item.remark">
+							<div class="remark">
+								{{item.remark}}
+							</div>
+							<div class="remark-file" v-if="item.file && item.file.length > 0">
+								<upload :list="item.file" type="preview"></upload>
+							</div>
+						</div>
+					</div>
+					<div class="user-line" v-if="index < flowlist.length-1"></div>
+				</div>
+			</div>
+		</div>
+	</div>
+</template>
+
+<script>
+	const selectUser = () => import('@/components/common/selectUser');
+	const upload = () => import('@/components/common/upload');
+	export default {
+		props: ['type', 'flowlist'],
+		data() {
+			return {
+				list: [],
+				visible: false
+			}
+		},
+		mounted() {
+			if (!!this.flowlist && this.type == 'insert') this.list = this.flowlist;
+		},
+		methods: {
+			callBack(data) {
+				this.visible = false;
+				if (data) this.list = data;
+			},
+			returnStatus(state) {
+				let className = '',
+					icon = '';
+				switch (state) {
+					case 0:
+						className = 'info';
+						icon = 'huifont-jinhangzhong';
+						break;
+					case 1:
+						className = 'success'
+						icon = 'huifont-tongguo';
+						break;
+					case 2:
+						className = 'failed'
+						icon = 'huifont-a-butongguojujue';
+						break;
+					case 3:
+						className = 'waiting'
+						icon = 'huifont-jinhangzhong';
+						break;
+					default:
+						className = 'info'
+						icon = 'huifont-jinhangzhong';
+						break;
+				}
+				return {
+					className: className,
+					icon: icon
+				};
+			}
+		},
+		watch: {
+			flowlist() {
+				if (!!this.flowlist && this.type == 'insert') this.list = this.flowlist;
+			}
+		},
+		components: {
+			selectUser,
+			upload
+		},
+	}
+</script>
+
+<style lang="scss">
+	.flow-index {
+		width: 100%;
+		height: 100%;
+
+		.flow-list {
+			padding: 10px 20px;
+
+			.flow-item {
+				position: relative;
+				display: flex;
+
+				.user-avatar-box {
+					position: relative;
+
+					.user-avatar {
+						width: 32px;
+						height: 32px;
+						border-radius: 50%;
+						margin-right: 10px;
+						margin-top: 8px;
+						display: flex;
+						align-items: center;
+						justify-content: center;
+						overflow: hidden;
+
+						i {
+							font-size: 20px;
+						}
+					}
+
+					.user-avatar-status {
+						width: 12px;
+						height: 12px;
+						border-radius: 50%;
+						border: 1px solid #fff;
+						position: absolute;
+						top: 30px;
+						right: 10px;
+						display: flex;
+						align-items: center;
+						justify-content: center;
+
+						i {
+							font-size: 8px;
+							color: #fff;
+						}
+					}
+
+					.user-avatar-status.success {
+						background: $--color-success;
+					}
+
+					.user-avatar-status.failed {
+						background: $--color-danger;
+					}
+
+					.user-avatar-status.waiting {
+						background: $--color-warning;
+					}
+
+					.user-avatar-status.info {
+						background: #4C4F59;
+					}
+				}
+
+
+				.flow-content {
+					flex: 1;
+					width: 0;
+
+
+					.user-name {
+						height: 48px;
+						display: flex;
+						flex-direction: column;
+						justify-content: center;
+
+						p {
+							font-size: 12px;
+							opacity: 0.6;
+							display: flex;
+							align-items: center;
+							justify-content: space-between;
+						}
+					}
+
+					.user-content {
+						background: rgba(50, 56, 68, 0.2);
+						border-radius: 8px;
+						padding: 13px;
+
+						.remark {
+							font-size: 12px;
+							line-height: 17px;
+
+						}
+
+						.remark-file {
+							margin-top: 12px;
+						}
+					}
+				}
+
+				.user-line {
+					width: 1px;
+					border-left: 1px dashed #374156;
+					position: absolute;
+					top: 40px;
+					bottom: -8px;
+					left: 15px;
+				}
+			}
+		}
+
+		.flow {
+			width: 100%;
+			height: 100%;
+			display: flex;
+			flex-direction: column;
+
+
+			.flow-button {
+				padding: 0 20px 10px 20px;
+
+				.el-button {
+					padding-left: 12px;
+
+					span {
+						display: flex;
+						align-items: center;
+					}
+
+					.huifont-xinzeng {
+						padding-right: 10px;
+					}
+				}
+			}
+
+			.flow-box {
+				flex: 1;
+				height: 0;
+				padding: 10px 20px 0px 20px;
+				overflow-y: auto;
+			}
+
+			.flow-item {
+				height: 48px;
+				display: flex;
+				align-items: center;
+				position: relative;
+
+				.user-avatar {
+					width: 32px;
+					height: 32px;
+					background: #4958de;
+					border-radius: 50%;
+					margin-right: 10px;
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					overflow: hidden;
+
+					i {
+						font-size: 20px;
+					}
+				}
+
+
+				.user-name {
+					flex: 1;
+					width: 0;
+
+					p {
+						font-size: 12px;
+						opacity: 0.6;
+					}
+				}
+
+				.user-line {
+					width: 2px;
+					background-color: #374156;
+					position: absolute;
+					top: 40px;
+					bottom: -8px;
+					left: 15px;
+				}
+			}
+		}
+	}
+</style>

+ 84 - 0
virgo.wzfrontend/workark/src/components/flow/flowAction.vue

@@ -0,0 +1,84 @@
+<template>
+	<div class="hui-flex hui-dialog">
+		<div class="hui-flex-box hui-dialog-content">
+			<el-form ref="form" :model="form" label-position="top">
+				<el-form-item label="审核意见" class="hui-textarea">
+					<el-input type="textarea" v-model="form.content" placeholder="请输入审核意见" maxlength="120" :rows="4"
+						show-word-limit resize="none"></el-input>
+				</el-form-item>
+				<el-form-item label="审核附件" class="hui-textarea">
+					<upload ref="upload" :list="responsibility" type="insert"></upload>
+				</el-form-item>
+			</el-form>
+		</div>
+		<div class="hui-dialog-submit">
+			<el-button size="medium" @click="$emit('callback')">取 消</el-button>
+			<el-button size="medium" type="primary" @click="submit" :loading="loading">确 定</el-button>
+		</div>
+	</div>
+</template>
+
+<script>
+	const upload = () => import('@/components/common/upload');
+	import {
+		userFlowAction
+	} from '@/api/property'
+	export default {
+		props: ['action', 'projectFlowId'],
+		data() {
+			return {
+				form: {
+					content: ''
+				},
+				responsibility: [],
+				loading: false
+			}
+		},
+		mounted() {},
+		methods: {
+			submit() {
+				this.loading = true;
+				userFlowAction(this.projectFlowId, this.action.id, {
+					comment: JSON.stringify({
+						text: this.form.content,
+						enclosure: this.$refs.upload.fileList
+					})
+				}).then(res => {
+					if (res.state) {
+						this.$emit('updateFlowState', this.returnState(res.data.context.projectFlow.statusStr),
+							this.action.viewName);
+						this.$message.success('操作成功');
+						this.$emit('callback', 'init');
+					}
+					this.loading = false;
+				});
+			},
+			returnState(name) {
+				let state = '';
+				switch (name) {
+					case '待提交':
+						state = 1;
+						break;
+					case '审核中':
+						state = 2;
+						break;
+					case '通过':
+						state = 3;
+						break;
+					case '未通过':
+						state = 4;
+						break;
+					default:
+						state = 1;
+						break;
+				}
+				return state;
+			}
+		},
+		components: {
+			upload
+		}
+	}
+</script>
+
+<style lang="scss"></style>

+ 0 - 0
virgo.wzfrontend/workark/src/components/flow/flowDetail.vue


Някои файлове не бяха показани, защото твърде много файлове са промени