whx 4 kuukautta sitten
vanhempi
commit
3f91e3dd6d
82 muutettua tiedostoa jossa 1436 lisäystä ja 183 poistoa
  1. 1 1
      virgo.wzfrontend/src/main/resources/static/workark/index.html
  2. 1 1
      virgo.wzfrontend/src/main/resources/static/workark/static/css/3351.eb1fec60.css
  3. 1 1
      virgo.wzfrontend/src/main/resources/static/workark/static/css/4025.2cf17f1a.css
  4. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/css/3697.d0edf1fb.css
  5. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/css/4992.efe247a2.css
  6. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/css/7045.46181982.css
  7. 0 1
      virgo.wzfrontend/src/main/resources/static/workark/static/css/app.d50a1802.css
  8. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/css/app.dcdd596a.css
  9. 0 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/1155.3e285fb1.js
  10. 0 1
      virgo.wzfrontend/src/main/resources/static/workark/static/js/1274.9bec99a0.js
  11. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/1549.0666d906.js
  12. 1 1
      virgo.wzfrontend/src/main/resources/static/workark/static/js/4087.ad0aac85.js
  13. 1 1
      virgo.wzfrontend/src/main/resources/static/workark/static/js/4025.fc997008.js
  14. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/1814.b5102f9d.js
  15. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/1985.570e6eb0.js
  16. 0 1
      virgo.wzfrontend/src/main/resources/static/workark/static/js/1985.d99f848a.js
  17. 0 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/2192.ccbbb46c.js
  18. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/2230.4a0913bd.js
  19. 0 1
      virgo.wzfrontend/src/main/resources/static/workark/static/js/2230.61f18136.js
  20. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/2385.f14fc671.js
  21. 1 1
      virgo.wzfrontend/src/main/resources/static/workark/static/js/2486.8de194cb.js
  22. 0 8
      virgo.wzfrontend/src/main/resources/static/workark/static/js/2505.c69fb639.js
  23. 1 1
      virgo.wzfrontend/src/main/resources/static/workark/static/js/2524.55e5d649.js
  24. 0 1
      virgo.wzfrontend/src/main/resources/static/workark/static/js/2679.a0613c44.js
  25. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/3203.0785f114.js
  26. 0 1
      virgo.wzfrontend/src/main/resources/static/workark/static/js/3203.f8bb663d.js
  27. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/3225.529ee1d0.js
  28. 0 1
      virgo.wzfrontend/src/main/resources/static/workark/static/js/3225.54081683.js
  29. 1 1
      virgo.wzfrontend/src/main/resources/static/workark/static/js/3407.e3d5bc78.js
  30. 0 1
      virgo.wzfrontend/src/main/resources/static/workark/static/js/3536.292c1d5d.js
  31. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/3697.543148c2.js
  32. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/3815.f1281740.js
  33. 1 1
      virgo.wzfrontend/src/main/resources/static/workark/static/js/394.18ea0f79.js
  34. 1 1
      virgo.wzfrontend/src/main/resources/static/workark/static/js/4753.fb36e29c.js
  35. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/4951.bc9aa091.js
  36. 0 1
      virgo.wzfrontend/src/main/resources/static/workark/static/js/4951.c8f765be.js
  37. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/4992.24f3fd78.js
  38. 1 1
      virgo.wzfrontend/src/main/resources/static/workark/static/js/5265.81217209.js
  39. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/5402.a6b0977d.js
  40. 0 1
      virgo.wzfrontend/src/main/resources/static/workark/static/js/5771.70899d7e.js
  41. 0 1
      virgo.wzfrontend/src/main/resources/static/workark/static/js/5783.f952f5b9.js
  42. 0 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/6149.af75acc6.js
  43. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/7045.a7299537.js
  44. 14 7
      virgo.wzfrontend/src/main/resources/static/workark/static/js/8063.0f90661f.js
  45. 1 1
      virgo.wzfrontend/src/main/resources/static/workark/static/js/7218.9c9c359e.js
  46. 1 1
      virgo.wzfrontend/src/main/resources/static/workark/static/js/7450.6ac55449.js
  47. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/7638.498c9614.js
  48. 0 1
      virgo.wzfrontend/src/main/resources/static/workark/static/js/7638.8e030c36.js
  49. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/8383.98036bad.js
  50. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/8407.eb68b602.js
  51. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/8408.3e7e3656.js
  52. 0 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/899.2280ca4b.js
  53. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/9647.7d77af87.js
  54. 0 1
      virgo.wzfrontend/src/main/resources/static/workark/static/js/9647.a7066215.js
  55. 0 1
      virgo.wzfrontend/src/main/resources/static/workark/static/js/9855.86e47fd6.js
  56. 0 1
      virgo.wzfrontend/src/main/resources/static/workark/static/js/app.1f78da6e.js
  57. 1 0
      virgo.wzfrontend/src/main/resources/static/workark/static/js/app.2b02a826.js
  58. 1 1
      virgo.wzfrontend/workark/src/api/property.js
  59. 19 84
      virgo.wzfrontend/workark/src/api/system.js
  60. 82 0
      virgo.wzfrontend/workark/src/assets/css/common.scss
  61. 3 2
      virgo.wzfrontend/workark/src/components/common/cc.vue
  62. 38 2
      virgo.wzfrontend/workark/src/components/work/organization/depart/detail.vue
  63. 0 31
      virgo.wzfrontend/workark/src/components/work/organization/user/detail.vue
  64. 65 0
      virgo.wzfrontend/workark/src/components/work/system/serveSet/departForm.vue
  65. 4 1
      virgo.wzfrontend/workark/src/layout/components/breadCrumb.vue
  66. 180 0
      virgo.wzfrontend/workark/src/layout/components/indexNav.vue
  67. 315 0
      virgo.wzfrontend/workark/src/layout/components/login.vue
  68. 19 4
      virgo.wzfrontend/workark/src/layout/components/topNav.vue
  69. 77 0
      virgo.wzfrontend/workark/src/layout/indexLayout.vue
  70. 0 1
      virgo.wzfrontend/workark/src/layout/workLayout.vue
  71. 3 0
      virgo.wzfrontend/workark/src/main.js
  72. 12 3
      virgo.wzfrontend/workark/src/router/index.js
  73. 9 0
      virgo.wzfrontend/workark/src/router/modules/work/serve.js
  74. 14 0
      virgo.wzfrontend/workark/src/router/modules/work/system.js
  75. 223 0
      virgo.wzfrontend/workark/src/uitls/message.js
  76. 77 5
      virgo.wzfrontend/workark/src/views/index.vue
  77. 2 2
      virgo.wzfrontend/workark/src/views/work/organization/manager.vue
  78. 1 1
      virgo.wzfrontend/workark/src/views/work/property/change.vue
  79. 14 0
      virgo.wzfrontend/workark/src/views/work/serve/list.vue
  80. 9 3
      virgo.wzfrontend/workark/src/views/work/system/main.vue
  81. 103 0
      virgo.wzfrontend/workark/src/views/work/system/organization.vue
  82. 116 0
      virgo.wzfrontend/workark/src/views/work/system/serveSet.vue

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/workark/index.html


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/workark/static/css/3351.eb1fec60.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/workark/static/css/4025.2cf17f1a.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/css/3697.d0edf1fb.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/css/4992.efe247a2.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/css/7045.46181982.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/workark/static/css/app.d50a1802.css


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/css/app.dcdd596a.css


virgo.wzfrontend/src/main/resources/static/workark/static/js/1155.b24e3208.js → virgo.wzfrontend/src/main/resources/static/workark/static/js/1155.3e285fb1.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/workark/static/js/1274.9bec99a0.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/1549.0666d906.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/workark/static/js/4087.ad0aac85.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/workark/static/js/4025.fc997008.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/1814.b5102f9d.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/1985.570e6eb0.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/workark/static/js/1985.d99f848a.js


virgo.wzfrontend/src/main/resources/static/workark/static/js/2192.20cc4bf6.js → virgo.wzfrontend/src/main/resources/static/workark/static/js/2192.ccbbb46c.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/2230.4a0913bd.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/workark/static/js/2230.61f18136.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/2385.f14fc671.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/workark/static/js/2486.8de194cb.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 8
virgo.wzfrontend/src/main/resources/static/workark/static/js/2505.c69fb639.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/workark/static/js/2524.55e5d649.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/workark/static/js/2679.a0613c44.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/3203.0785f114.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/workark/static/js/3203.f8bb663d.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/3225.529ee1d0.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/workark/static/js/3225.54081683.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/workark/static/js/3407.e3d5bc78.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/workark/static/js/3536.292c1d5d.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/3697.543148c2.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/3815.f1281740.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/workark/static/js/394.18ea0f79.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/workark/static/js/4753.fb36e29c.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/4951.bc9aa091.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/workark/static/js/4951.c8f765be.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/4992.24f3fd78.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/workark/static/js/5265.81217209.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/5402.a6b0977d.js


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

@@ -1 +0,0 @@
-"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}}]);

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/workark/static/js/5783.f952f5b9.js


virgo.wzfrontend/src/main/resources/static/workark/static/js/6149.ee8ccf63.js → virgo.wzfrontend/src/main/resources/static/workark/static/js/6149.af75acc6.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/7045.a7299537.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 14 - 7
virgo.wzfrontend/src/main/resources/static/workark/static/js/8063.0f90661f.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/workark/static/js/7218.9c9c359e.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 1
virgo.wzfrontend/src/main/resources/static/workark/static/js/7450.6ac55449.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/7638.498c9614.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/workark/static/js/7638.8e030c36.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/8383.98036bad.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/8407.eb68b602.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/8408.3e7e3656.js


virgo.wzfrontend/src/main/resources/static/workark/static/js/899.2a095f10.js → virgo.wzfrontend/src/main/resources/static/workark/static/js/899.2280ca4b.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/9647.7d77af87.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/workark/static/js/9647.a7066215.js


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

@@ -1 +0,0 @@
-"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}}]);

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 1
virgo.wzfrontend/src/main/resources/static/workark/static/js/app.1f78da6e.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 1 - 0
virgo.wzfrontend/src/main/resources/static/workark/static/js/app.2b02a826.js


+ 1 - 1
virgo.wzfrontend/workark/src/api/property.js

@@ -46,7 +46,7 @@ export function importProperty(data) {
 	})
 	})
 }
 }
 /* 
 /* 
- * 删除设资产列表
+ * 删除资产目录
  * 
  * 
  * 
  * 
  */
  */

+ 19 - 84
virgo.wzfrontend/workark/src/api/system.js

@@ -33,133 +33,68 @@ export function updateMenu(data) {
 	})
 	})
 }
 }
 /* 
 /* 
- * 获取身份
- * 
- */
-export function getIdentityList() {
-	return request({
-		url: `/manager/identity`,
-		method: 'get',
-	})
-}
-/* 
- * 新增身份
- * 
- */
-export function insertIdentity(data) {
-	return request({
-		url: `/manager/identity`,
-		method: 'post',
-		data: data
-	})
-}
-/* 
- * 编辑身份
+ * 下载文件
  * 
  * 
- */
-export function updateIdentity(data) {
-	return request({
-		url: `/manager/identity/update`,
-		method: 'put',
-		data: data
-	})
-}
-/* 
- * 身份资源的获取
  * 
  * 
  */
  */
-export function getIdentityResource(data) {
-	return request({
-		url: `/manager/identity/resource/query`,
-		method: 'post',
-		data: data
-	})
+export function downloadFile(fileId) {
+	return window.location.href = config.baseURL + '/file/filenode/' + fileId;
 }
 }
 /* 
 /* 
- * 新增身份资源
+ * 获取组织列表
+ * @param {Object} data = {}
  * 
  * 
  */
  */
-export function insertIdentityResource(data) {
+export function getOrganizedList(data) {
 	return request({
 	return request({
-		url: `/manager/identity/resource`,
+		url: `/manager/base/organization/list`,
 		method: 'post',
 		method: 'post',
 		data: data
 		data: data
 	})
 	})
 }
 }
 /* 
 /* 
- * 更新身份资源
- * 
- */
-export function updateIdentityResource(data) {
-	return request({
-		url: `/manager/identity/resource/update`,
-		method: 'put',
-		data: data
-	})
-}
-/* 
- * 下载文件
- * 
- * 
- */
-export function downloadFile(fileId) {
-	console.log(config.baseURL + '/file/filenode/' + fileId);
-	return window.location.href = config.baseURL + '/file/filenode/' + fileId;
-}
-/* 
- * 获取设备层级
- * 
- * 
- */
-export function getDeviceModel() {
-	return request({
-		url: `/api/operateDeviceLevelModel`,
-		method: 'get'
-	})
-}
-/* 
- * 获取通过id设备层级
+ * 获取服务目录
  * 
  * 
  * 
  * 
  */
  */
-export function getDeviceModelById(id) {
+export function getServeDepartment() {
 	return request({
 	return request({
-		url: `/api/operateDeviceLevelModel/get/${id}`,
+		url: `/api/workarkProductLevel`,
 		method: 'get'
 		method: 'get'
 	})
 	})
 }
 }
 /* 
 /* 
- * 新增设备层级
+ * 新增服务目录
  * 
  * 
  * 
  * 
  */
  */
-export function insertDeviceModel(data) {
+export function insertServeDepartment(data) {
 	return request({
 	return request({
-		url: `/api/operateDeviceLevelModel`,
+		url: `/api/workarkProductLevel`,
 		method: 'post',
 		method: 'post',
 		data: data
 		data: data
 	})
 	})
 }
 }
 /* 
 /* 
- * 编辑设备层级
+ * 编辑资产目录
  * 
  * 
  * 
  * 
  */
  */
-export function updateDeviceModel(data) {
+export function updateServeDepartment(data) {
 	return request({
 	return request({
-		url: `/api/operateDeviceLevelModel`,
+		url: `/api/workarkProductLevel`,
 		method: 'put',
 		method: 'put',
 		data: data
 		data: data
 	})
 	})
 }
 }
 /* 
 /* 
- * 删除设备层级
+ * 删除资产目录
  * 
  * 
  * 
  * 
  */
  */
-export function deleteDeviceModel(id) {
+export function deleteServeDepartment(id) {
 	return request({
 	return request({
-		url: `/api/operateDeviceLevelModel/${id}`,
+		url: `/api/workarkProductLevel/${id}`,
 		method: 'delete'
 		method: 'delete'
 	})
 	})
 }
 }

+ 82 - 0
virgo.wzfrontend/workark/src/assets/css/common.scss

@@ -449,4 +449,86 @@
 		}
 		}
 		
 		
 	}
 	}
+}
+
+.hui-detail {
+	padding: 20px;
+
+	.hui-detail-title {
+		margin-bottom: 8px;
+		font-weight: 500;
+	}
+
+	.hui-detail-content {
+		background: $--background-color-base;
+		border-radius: 8px;
+		margin-bottom: 20px;
+		padding: 8px 0;
+
+		.hui-detail-item {
+			display: flex;
+			padding: 8px 16px;
+			align-items: center;
+
+			.hui-detail-label {
+				opacity: 0.5;
+				width: 56px;
+				margin-right: 14px;
+			}
+
+			.hui-detail-value {
+				flex: 1;
+				width: 0;
+				min-height: 20px;
+				line-height: 20px;
+			}
+			&.hui-detail-item-top{
+				align-items: start;
+			}
+		}
+	}
+
+	.hui-detail-image {
+		padding: 12px;
+	}
+
+	.hui-detail-document {
+		padding: 12px;
+	}
+
+	.hui-detail-cc {
+		padding: 16px;
+
+		.hui-detail-item {
+			padding: 0;
+		}
+
+		.hui-detail-label {
+			line-height: 28px;
+			width: 42px !important;
+		}
+	}
+}
+
+.hui-drawer-submit {
+	border-top: 1px solid $--border-color-light;
+	text-align: right;
+	padding: 12px 24px;
+}
+//drawer
+.el-drawer {
+	font-size: $--font-size-base;
+	
+	.el-drawer__header {
+		padding: 0;
+		margin: 0;
+		height: 56px;
+		border-bottom: 1px solid $--border-color-light;
+		padding: 0 20px;
+
+		span {
+			font-size: 16px;
+			font-weight: 500;
+		}
+	}
 }
 }

+ 3 - 2
virgo.wzfrontend/workark/src/components/common/cc.vue

@@ -77,7 +77,7 @@
 			height: 28px;
 			height: 28px;
 			align-items: center;
 			align-items: center;
 			margin-right: 15px;
 			margin-right: 15px;
-			background: #363f51;
+			background: rgba(31,35,41,.1);
 			border-radius: 15px;
 			border-radius: 15px;
 			padding: 0 4px;
 			padding: 0 4px;
 
 
@@ -90,7 +90,8 @@
 			}
 			}
 
 
 			.cc-user-name {
 			.cc-user-name {
-				overflow: hidden;
+				overflow: hidden;
+				font-size: $--font-size-small;
 			}
 			}
 		}
 		}
 
 

+ 38 - 2
virgo.wzfrontend/workark/src/components/work/organization/depart/detail.vue

@@ -1,16 +1,52 @@
 <template>
 <template>
 	<div class="hui-detail">
 	<div class="hui-detail">
-		detail
+		<div class="hui-detail-title">基础信息</div>
+		<div class="hui-detail-content">
+			<div class="hui-detail-item">
+				<div class="hui-detail-label">部门名称</div>
+				<div class="hui-detail-value">{{detail.name}}</div>
+			</div>
+			<div class="hui-detail-item">
+				<div class="hui-detail-label">部门人数</div>
+				<div class="hui-detail-value">{{!detail.users ? 0 : detail.users.length}}</div>
+			</div>
+			<div class="hui-detail-item">
+				<div class="hui-detail-label">部门描述</div>
+				<div class="hui-detail-value"> {{detail.remark}}</div>
+			</div>
+		</div>
+		<div class="hui-detail-title">负责人</div>
+		<div class="hui-detail-content hui-detail-cc">
+			<div class="hui-detail-item">
+				<div class="hui-detail-label">负责人</div>
+				<div class="hui-detail-value">
+					<cc :ccList="detail.responsible ? JSON.parse(detail.responsible) : []"></cc>
+				</div>
+			</div>
+		</div>
+		<div class="hui-detail-title">项目职责</div>
+		<div class="hui-detail-content hui-detail-image">
+			<upload ref="upload" :list="detail.responsibility ? JSON.parse(detail.responsibility) : []" type="preview">
+			</upload>
+		</div>
 	</div>
 	</div>
 </template>
 </template>
 
 
 <script>
 <script>
+	const cc = () => import('@/components/common/cc');
+	const upload = () => import('@/components/common/upload');
 	export default {
 	export default {
 		props: ['detail'],
 		props: ['detail'],
 		data() {
 		data() {
 			return {}
 			return {}
 		},
 		},
-		mounted() {},
+		mounted() {
+			console.log(this.detail);
+		},
+		components: {
+			cc,
+			upload
+		},
 	}
 	}
 </script>
 </script>
 <style lang="scss">
 <style lang="scss">

+ 0 - 31
virgo.wzfrontend/workark/src/components/work/organization/user/detail.vue

@@ -26,37 +26,6 @@
 				<div class="hui-detail-label">部门</div>
 				<div class="hui-detail-label">部门</div>
 				<div class="hui-detail-value">{{user.partName}}</div>
 				<div class="hui-detail-value">{{user.partName}}</div>
 			</div>
 			</div>
-			<div class="hui-detail-item">
-				<div class="hui-detail-label">岗位</div>
-				<div class="hui-detail-value">{{operateUserInfo.employeePosition || '-'}}</div>
-			</div>
-			<div class="hui-detail-item">
-				<div class="hui-detail-label">职务</div>
-				<div class="hui-detail-value">{{operateUserInfo.position || '-'}}</div>
-			</div>
-			<div class="hui-detail-item">
-				<div class="hui-detail-label">入职时间</div>
-				<div class="hui-detail-value">{{operateUserInfo.entryDate || '-'}}</div>
-			</div>
-			<div class="hui-detail-item">
-				<div class="hui-detail-label">工作状态</div>
-				<div class="hui-detail-value">
-					<div class="hui-tag" v-if="operateUserInfo.state === 1">在职</div>
-					<div class="hui-tag hui-tag-warning" v-else-if="operateUserInfo.state === 2">请假</div>
-					<div class="hui-tag hui-tag-error" v-else-if="operateUserInfo.state === 3">离职</div>
-					<span v-else>-</span>
-				</div>
-			</div>
-			<div class="hui-detail-item">
-				<div class="hui-detail-label">空间位置</div>
-				<div class="hui-detail-value">
-					{{operateUserInfo.projectItemTargetRoomName || operateUserInfo.projectItemTargetName || operateUserInfo.projectItemName || '-'}}
-				</div>
-			</div>
-			<div class="hui-detail-item">
-				<div class="hui-detail-label">工作业务</div>
-				<div class="hui-detail-value">{{operateUserInfo.workBusiness || '-'}}</div>
-			</div>
 		</div>
 		</div>
 	</div>
 	</div>
 </template>
 </template>

+ 65 - 0
virgo.wzfrontend/workark/src/components/work/system/serveSet/departForm.vue

@@ -0,0 +1,65 @@
+<template>
+	<div class="hui-flex hui-dialog">
+		<div class="hui-flex-box hui-dialog-content">
+			<el-form :model="departmentForm" label-position="top">
+				<el-form-item label="服务名称">
+					<el-input type="text" v-model="departmentForm.name" placeholder="请输入服务名称"></el-input>
+				</el-form-item>
+				<el-form-item label="服务描述">
+					<el-input type="text" v-model="departmentForm.remark" placeholder="请输入服务描述"></el-input>
+				</el-form-item>
+			</el-form>
+		</div>
+		<div class="hui-dialog-submit">
+			<el-button size="small" @click="$emit('callback')">取 消</el-button>
+			<el-button size="small" type="primary" @click="submit" :loading="loading">保 存</el-button>
+		</div>
+	</div>
+</template>
+
+<script>
+	import {
+		insertServeDepartment,
+		updateServeDepartment
+	} from '@/api/system'
+	export default {
+		props: ['isUpdate', 'part'],
+		data() {
+			return {
+				departmentForm: {
+					name: '',
+					remark: '',
+					parentId: -1
+				},
+				departmentRuler: {},
+				loading: false
+			}
+		},
+		mounted() {
+			if (this.isUpdate) {
+				this.departmentForm = JSON.parse(JSON.stringify(this.part));
+			} else {
+				this.departmentForm['parentId'] = this.part.id || -1;
+			}
+		},
+		methods: {
+			submit() {
+				this.loading = true;
+				if (this.isUpdate) {
+					updateServeDepartment(this.departmentForm).then(this.successFunc)
+				} else {
+					insertServeDepartment(this.departmentForm).then(this.successFunc)
+				}
+			},
+			successFunc(res) {
+				this.loading = false;
+				if (res.state) {
+					this.$message.success('操作成功');
+					this.$emit('callback', 'init');
+				}
+			}
+		}
+	}
+</script>
+
+<style lang="scss"></style>

+ 4 - 1
virgo.wzfrontend/workark/src/layout/components/breadCrumb.vue

@@ -3,7 +3,8 @@
 		<div class="crumb-box">
 		<div class="crumb-box">
 			<div class="crumb-item" v-for="(item,index) in levelList" :key="index">
 			<div class="crumb-item" v-for="(item,index) in levelList" :key="index">
 				<span>{{item}}</span>
 				<span>{{item}}</span>
-				<span class="tips" v-if="index !== levelList.length - 1">/</span>
+				<span class="tips" v-if="index !== levelList.length - 1"><i
+						class="iconfont huifont-xiala-right"></i></span>
 			</div>
 			</div>
 		</div>
 		</div>
 	</div>
 	</div>
@@ -85,6 +86,8 @@
 			.crumb-item {
 			.crumb-item {
 				opacity: 0.5;
 				opacity: 0.5;
 				font-weight: 400;
 				font-weight: 400;
+				display: flex;
+				align-items: center;
 			}
 			}
 
 
 			.crumb-item:last-child {
 			.crumb-item:last-child {

+ 180 - 0
virgo.wzfrontend/workark/src/layout/components/indexNav.vue

@@ -0,0 +1,180 @@
+<template>
+	<div class="layout-title">
+		<div class="title-box">
+			<div class="title-logo">
+				<img src="https://file-node.oss-cn-shanghai.aliyuncs.com/youji/2f7b4bfaf9e64817bc2cb46f3a632b01"
+					alt="logo.png" @click="$router.push('/')">
+				<div class="title-label" @click="$router.push('/')">
+					<div class="title-name">红链WORKARK</div>
+					<div class="title-sub-name">SMART PARK SYSTEM</div>
+				</div>
+			</div>
+			<div class="login" v-if="user.userId">
+				<div class="login-avatar">
+					<avatar :user="user"></avatar>
+				</div>
+				<span class="login-name">{{user.userName}}</span>
+				<span class="color-blue logout" @click="logout">退出</span>
+				<span class="admin-system" @click="$router.push('/work')">控制台</span>
+			</div>
+			<div class="login" v-else>
+				<div class="login-icon">
+					<i class="el-icon-s-custom"></i>
+				</div>
+				<span class="login-name" @click="loginFunc">登录 / 注册</span>
+				<span class="admin-system" @click="$router.push('/work')">控制台</span>
+			</div>
+		</div>
+		<el-dialog custom-class="login-custom" :close-on-click-modal="false" :visible.sync="dialogVisible"
+			:append-to-body="true">
+			<login @callback="callback"></login>
+		</el-dialog>
+	</div>
+</template>
+
+<script>
+	const login = () => import('./login');
+	export default {
+		data() {
+			return {
+				user: {},
+				dialogVisible: false
+			}
+		},
+		methods: {
+			loginFunc() {
+				this.dialogVisible = true;
+			},
+			logout() {
+
+			},
+			callback() {
+				this.dialogVisible = false;
+			}
+		},
+		components: {
+			login
+		}
+	}
+</script>
+
+<style lang="scss">
+	.login-custom {
+		width: 440px;
+		height: auto;
+
+		.el-dialog__header {
+			display: none;
+		}
+	}
+
+	.layout-title {
+		position: absolute;
+		width: 100%;
+		min-width: 1200px;
+		left: 0;
+		top: 0;
+		height: 60px;
+		z-index: 9;
+		background: $--color-white;
+
+		.title-box {
+			width: 1200px;
+			height: 100%;
+			margin: 0 auto;
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+
+		}
+
+		.title-logo {
+			display: flex;
+			align-items: center;
+
+			img {
+				width: 44px;
+				height: 44px;
+				border-radius: 4px;
+				margin-right: 10px;
+				cursor: pointer;
+			}
+
+		}
+
+		.title-label {
+			width: 130px;
+			cursor: pointer;
+		}
+
+		.title-name {
+			font-size: 16px;
+			line-height: 22px;
+			font-weight: 500;
+		}
+
+		.title-sub-name {
+			font-size: 12px;
+			transform: scale(.68) translateX(-28px);
+			opacity: .75;
+		}
+
+		.location {
+			border: 2px solid #fff;
+			border-radius: 26px;
+			height: 26px;
+			padding: 0 10px;
+			display: flex;
+			align-items: center;
+			cursor: pointer;
+		}
+
+		.location-name {
+			font-size: 12px;
+			margin-left: 3px;
+		}
+
+		.login {
+			display: flex;
+			align-items: center;
+		}
+
+		.logout {
+			font-size: 12px;
+			margin-left: 5px;
+			cursor: pointer;
+		}
+
+		.login-avatar {
+			width: 32px;
+			height: 32px;
+			border-radius: 32px;
+			margin-right: 10px;
+			overflow: hidden;
+		}
+
+		.login-icon {
+			width: 32px;
+			height: 32px;
+			border: 2px solid #fff;
+			border-radius: 32px;
+			text-align: center;
+			line-height: 32px;
+
+			.el-icon-s-custom {
+				font-size: 20px;
+			}
+		}
+
+		.login-name {
+			cursor: pointer;
+			font-weight: 500;
+		}
+
+		.admin-system {
+			margin-left: 20px;
+			cursor: pointer;
+			font-weight: 500;
+		}
+	}
+</style>

+ 315 - 0
virgo.wzfrontend/workark/src/layout/components/login.vue

@@ -0,0 +1,315 @@
+<template>
+	<div class="website-login-box">
+		<div class="login-box">
+			<div class="close-icon-box">
+				<i class="el-icon-circle-close close-icon" @click="$emit('callback')"></i>
+			</div>
+			<div class="login-form">
+				<el-form :model="loginForm" :rules="loginRules" status-icon ref="loginForm" label-position="left">
+					<el-form-item prop="phone">
+						<el-input type="text" prefix-icon="iconfont huifont-shoujihao" v-model="loginForm.phone"
+							placeholder="手机号" maxlength="11">
+						</el-input>
+					</el-form-item>
+					<el-form-item prop="code" class="image-item">
+						<el-input type="text" prefix-icon="iconfont huifont-tuxingyanzhengma" v-model="loginForm.code"
+							placeholder="图片验证码" maxlength="4"></el-input>
+						<img v-if="codeImg" :src="codeImg" alt="图片验证码" class="code-image" @click="imgCodeFunc">
+					</el-form-item>
+					<el-form-item prop="phoneCode" class="phone-code">
+						<el-input type="number" prefix-icon="iconfont huifont-duanxinyanzhengma"
+							v-model="loginForm.phoneCode" placeholder="短信验证码"
+							oninput="if(value.length > 6) value=value.slice(0, 6)">
+						</el-input>
+						<div class="get-code-btn">
+							<el-button type="primary" size="samll" @click="getPhoneCode"
+								:disabled="codeName !== '获取验证码'">
+								{{codeName}}
+							</el-button>
+						</div>
+					</el-form-item>
+				</el-form>
+				<el-button class="submit" type="primary" @click="loginSubmit" :loading="loginLoading">登录</el-button>
+			</div>
+		</div>
+	</div>
+</template>
+
+<script>
+	import {
+		login,
+		getImgCode,
+		sendPhoneCode,
+		getUserInfo,
+		selectOrangaized
+	} from '@/api/loginRegister';
+	import {
+		setToken,
+		setComment
+	} from '@/uitls/auth';
+	export default {
+		data() {
+			return {
+				loginForm: {
+					phone: '',
+					code: '',
+					phoneCode: ''
+				},
+				loginLoading: false,
+				codeImg: '',
+				codeName: '获取验证码', //获取验证码text
+				isDisabled: false, //获取验证码按钮状态
+				loginRules: {
+					code: [{
+						required: true,
+						message: '请输入图片验证码',
+						trigger: 'blur'
+					}],
+					phone: [{
+						required: true,
+						message: '请输入手机号',
+						trigger: 'blur'
+					}, {
+						validator: (rule, value, callback) => {
+							if (!/^1[123456789]\d{9}$/.test(value)) {
+								callback(new Error("请输入正确的手机号"));
+							} else {
+								callback();
+							}
+						},
+						trigger: 'blur'
+					}],
+					phoneCode: [{
+						required: true,
+						message: '请输入短信验证码',
+						trigger: 'blur'
+					}]
+				},
+			};
+		},
+		mounted() {
+			this.imgCodeFunc();
+			if (this.$store.getters.codeNumber != 60) this.codeReset();
+		},
+		methods: {
+			imgCodeFunc() {
+				getImgCode().then(res => {
+					if (res.state) {
+						this.codeImg = res.data.pngBase64;
+					}
+				})
+			},
+			getPhoneCode() {
+				if (this.isDisabled) return;
+				this.$refs.loginForm.validateField('phone', valid => {
+					if (!valid) {
+						this.$refs.loginForm.validateField('code', valid => {
+							if (!valid) {
+								sendPhoneCode(this.loginForm.phone, this.loginForm.code).then(res => {
+									if (res.state) {
+										this.codeReset();
+										this.$message.success('发送成功');
+									}
+								})
+							}
+						})
+					}
+				})
+			},
+			codeReset() {
+				//重置获取验证码倒计时
+				let codeNumber = this.$store.getters.codeNumber;
+				codeNumber--;
+				this.handleCode(codeNumber);
+				let codeRestFn = setInterval(() => {
+					codeNumber--;
+					this.handleCode(codeNumber);
+					if (codeNumber == 0) clearInterval(codeRestFn); //停止
+				}, 1000);
+			},
+			handleCode(codeNumber) {
+				//code操作
+				this.codeName = codeNumber == 0 ? '获取验证码' : '重新获取' + codeNumber;
+				this.isDisabled = codeNumber == 0 ? false : true;
+				this.$store.dispatch('app/changeCodeNumber', codeNumber == 0 ? 60 : codeNumber);
+			},
+			loginSubmit() {
+				if (this.loginLoading) return;
+				this.loginLoading = true;
+				this.$refs['loginForm'].validate(valid => {
+					if (!valid) return this.loginLoading = false;
+					this.loginFunc();
+				})
+			},
+			loginFunc() {
+				let postData = {
+					phone: this.loginForm.phone,
+					phoneCode: this.loginForm.phoneCode
+				}
+				login(postData).then(res => {
+					if (res.state) {
+						setToken(res.data.token);
+						getUserInfo().then(res => {
+							if (res.state) {
+								let user = res.data;
+								let organization = user.organization;
+								if (!organization) {
+									organziation = user.organizationList[0];
+									selectOrangaized(organization)
+								}
+								this.$store.dispatch('app/changeOrganization', organization);
+								this.$store.dispatch('app/changeUser', user);
+								this.$store.dispatch('app/changeMenuData', user.workarkResource ? JSON
+									.parse(user.workarkResource) : []);
+								setComment(user.workarkMenu ? user.workarkMenu : JSON.stringify([]));
+								return this.successLogin('/work');
+							} else {
+								this.loginLoading = false;
+							}
+						})
+					} else {
+						this.loginLoading = false;
+					}
+				})
+			},
+			successLogin(url) {
+				this.loginLoading = false;
+				this.$router.push(url);
+				this.$message.success('登录成功');
+			}
+		}
+	};
+</script>
+
+<style lang="scss" scoped>
+	.website-login-box {
+		width: 100%;
+		height: 100%;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+	}
+
+	.close-icon {
+		font-size: 30px;
+		color: #c9cdd3;
+		cursor: pointer;
+	}
+
+	.close-icon-box {
+		padding: 10px 10px 20px 10px;
+		text-align: right;
+	}
+
+	.login-box {
+		width: 440px;
+		background: $--color-white;
+		box-shadow: 0px 4px 16px 0px rgba(164, 178, 203, 0.15);
+		border-radius: 8px;
+		border: 0px solid $--color-white;
+		box-sizing: border-box;
+	}
+
+	.login-title {
+		padding: 52px 52px 48px 52px;
+	}
+
+	.login-title-value {
+		font-weight: 600;
+		font-size: 28px;
+		color: #333E4D;
+		line-height: 40px;
+		text-align: left;
+		font-style: normal;
+		margin-bottom: 16px;
+	}
+
+	.login-title-line {
+		width: 80px;
+		height: 5px;
+		background: #E3E7EE;
+	}
+
+	.login-form {
+		padding: 0 52px;
+	}
+
+	::v-deep.el-form {
+		display: block;
+
+		.el-form-item {
+			width: 100%;
+			padding: 0;
+			margin-bottom: 28px;
+			position: relative;
+		}
+
+		.el-input__inner {
+			padding: 15px 15px 15px 63px;
+			height: 52px;
+			line-height: 52px;
+			font-size: 16px;
+		}
+
+		.el-input__icon,
+		.el-range-separator {
+			line-height: 52px;
+			font-size: 16px;
+		}
+
+		.el-input__prefix {
+			left: 16px;
+		}
+
+		.el-input__prefix::before {
+			content: '';
+			top: 16px;
+			right: -16px;
+			height: 21px;
+			width: 1px;
+			background-color: $--input-border-color;
+			position: absolute;
+		}
+
+		.el-input__icon.iconfont {
+			font-size: 20px;
+			color: #596d8e;
+		}
+
+		.el-input__icon.huifont-mima {
+			opacity: 0.95;
+			margin-left: 2px;
+		}
+
+		.image-item {
+			.el-form-item__content {
+				display: flex;
+			}
+
+			.el-input {
+				width: 190px;
+				margin-right: 12px;
+			}
+
+			.code-image {
+				width: 131px;
+				height: 50px;
+				cursor: pointer;
+			}
+		}
+
+		.get-code-btn {
+			position: absolute;
+			top: 6px;
+			right: 30px;
+		}
+	}
+
+	.submit {
+		width: 100%;
+		margin-bottom: 60px;
+		font-weight: 600;
+		font-size: 20px;
+		line-height: 28px;
+	}
+</style>

+ 19 - 4
virgo.wzfrontend/workark/src/layout/components/topNav.vue

@@ -3,7 +3,7 @@
 		<div class="work-layout-left">
 		<div class="work-layout-left">
 			<div class="work-layout-image">
 			<div class="work-layout-image">
 				<img src="https://file-node.oss-cn-shanghai.aliyuncs.com/youji/2f7b4bfaf9e64817bc2cb46f3a632b01"
 				<img src="https://file-node.oss-cn-shanghai.aliyuncs.com/youji/2f7b4bfaf9e64817bc2cb46f3a632b01"
-					alt="" />
+					alt="logo.png" />
 			</div>
 			</div>
 			<div class="work-layout-label">WORKARK</div>
 			<div class="work-layout-label">WORKARK</div>
 		</div>
 		</div>
@@ -52,9 +52,24 @@
 			init() {
 			init() {
 				this.users = this.$store.getters.user;
 				this.users = this.$store.getters.user;
 			},
 			},
-			userCommand() {
-
-			}
+			userCommand(command) {
+				switch (command) {
+					case 'detail':
+						break;
+					case 'loginout':
+						this.loginout();
+						break;
+					default:
+						break;
+				}
+			},
+			loginout() {
+				this.$confirm('是否要退出登录?', () => {
+					removeToken();
+					this.$router.replace('/loginRegister/login')
+					this.$message.success('退出成功');
+				});
+			},
 		},
 		},
 		watch: {
 		watch: {
 			user() {
 			user() {

+ 77 - 0
virgo.wzfrontend/workark/src/layout/indexLayout.vue

@@ -0,0 +1,77 @@
+<template>
+	<div class="website-layout">
+		<index-nav></index-nav>
+		<router-view :key="key" />
+	</div>
+</template>
+
+<script>
+	const indexNav = () => import('./components/indexNav');
+	import {
+		removeToken
+	} from '@/uitls/auth';
+	import {
+		getToken
+	} from '@/uitls/auth'
+	export default {
+		data() {
+			return {
+				visible: false,
+				user: {}
+			}
+		},
+		mounted() {
+			this.init();
+		},
+		methods: {
+			init() {
+				if (this.$store.getters.user) this.user = this.$store.getters.user;
+			},
+			login() {
+				this.visible = true;
+			},
+			callback(type) {
+				if (type === 'init') {
+					if (this.$route.path == '/website/homeDetail') {
+						this.$store.dispatch('app/changeEvent', {
+							type: 'homeDetailReload'
+						})
+					} else if (this.$route.path == '/website/search') {
+						this.$store.dispatch('app/changeEvent', {
+							type: 'searchReload'
+						})
+					}
+					this.init();
+				}
+				this.visible = false;
+			},
+			loginout() {
+				this.$confirm('是否要退出登录?', () => {
+					removeToken();
+					this.$store.dispatch('projectBase/changeProject', {});
+					this.$store.dispatch('app/changeUser', {});
+					this.$store.dispatch('app/changeOrganization', {});
+					this.$message.success('退出成功');
+					this.init();
+				});
+			},
+		},
+		computed: {
+			key() {
+				if ((this.$route.path == '/website/homeDetail' || this.$route.path == '/website/search') && !getToken())
+					this.login();
+				return this.$route.path;
+			}
+		},
+		components: {
+			indexNav
+		}
+	}
+</script>
+
+<style lang="scss">
+	.website-layout {
+		width: 100%;
+		position: relative;
+	}
+</style>

+ 0 - 1
virgo.wzfrontend/workark/src/layout/workLayout.vue

@@ -251,7 +251,6 @@
 			left: 176px;
 			left: 176px;
 			right: 12px;
 			right: 12px;
 			bottom: 12px;
 			bottom: 12px;
-			background: $--color-white;
 			transition: left 0.4s;
 			transition: left 0.4s;
 
 
 			.slide-fade-enter-active {
 			.slide-fade-enter-active {

+ 3 - 0
virgo.wzfrontend/workark/src/main.js

@@ -20,6 +20,9 @@ Vue.use(loading);
 
 
 import field from './config/field.js'
 import field from './config/field.js'
 Vue.prototype.$field = field;
 Vue.prototype.$field = field;
+
+import message from './uitls/message.js';
+Vue.prototype.$msg = message;
 
 
 Vue.prototype.$confirm = (title, callback) => {
 Vue.prototype.$confirm = (title, callback) => {
 	return ElementUI.MessageBox.confirm(title, 'WORKARK提示', {
 	return ElementUI.MessageBox.confirm(title, 'WORKARK提示', {

+ 12 - 3
virgo.wzfrontend/workark/src/router/index.js

@@ -1,5 +1,6 @@
 import Vue from 'vue'
 import Vue from 'vue'
-import Router from 'vue-router'
+import Router from 'vue-router'
+import indexLayout from '@/layout/indexLayout'
 import loginRouter from './modules/login'
 import loginRouter from './modules/login'
 import workRouter from './modules/work'
 import workRouter from './modules/work'
 
 
@@ -10,9 +11,17 @@ Router.prototype.push = function push(location) {
 };
 };
 
 
 export default new Router({
 export default new Router({
-	routes: [loginRouter, workRouter, { //404
+	routes: [loginRouter, workRouter, { //首页
 		path: '/',
 		path: '/',
-		component: () => import('@/views/index'),
+		component: indexLayout,
+		children: [{
+			path: '',
+			component: () => import('@/views/index'),
+			name: '首页',
+			meta: {
+				title: '首页'
+			}
+		}]
 	}, { //404
 	}, { //404
 		path: '/404',
 		path: '/404',
 		component: () => import('@/views/error/404'),
 		component: () => import('@/views/error/404'),

+ 9 - 0
virgo.wzfrontend/workark/src/router/modules/work/serve.js

@@ -0,0 +1,9 @@
+const serve = [{
+	path: 'serve/list',
+	component: () => import('@/views/work/serve/list'),
+	name: '服务列表',
+	meta: {
+		title: '服务列表'
+	}
+}]
+export default serve;

+ 14 - 0
virgo.wzfrontend/workark/src/router/modules/work/system.js

@@ -5,5 +5,19 @@ const system = [{
 	meta: {
 	meta: {
 		title: '菜单管理'
 		title: '菜单管理'
 	}
 	}
+}, {
+	path: 'system/organization',
+	component: () => import('@/views/work/system/organization'),
+	name: '企业管理',
+	meta: {
+		title: '企业管理'
+	}
+}, {
+	path: 'system/serveSet',
+	component: () => import('@/views/work/system/serveSet'),
+	name: '服务设置',
+	meta: {
+		title: '服务设置'
+	}
 }]
 }]
 export default system;
 export default system;

+ 223 - 0
virgo.wzfrontend/workark/src/uitls/message.js

@@ -0,0 +1,223 @@
+import request from '@/axios';
+import store from '@/store';
+import dayjs from 'dayjs';
+const messageType = [{
+	id: 2,
+	name: '审核消息',
+	dataType: [{
+		id: 1,
+		title: '资产登记',
+		content: '的资产登记流程'
+	}, {
+		id: 2,
+		title: '资产变更',
+		content: '的资产变更流程'
+	}, {
+		id: 3,
+		title: '资产折旧',
+		content: '的资产折旧流程'
+	}, {
+		id: 4,
+		title: '资产盘点',
+		content: '的资产盘点流程'
+	}, {
+		id: 5,
+		title: '设备管理',
+		content: '的设备管理流程'
+	}]
+}, {
+	id: 3,
+	name: '巡查消息',
+	dataType: [{
+		id: 1,
+		title: '巡查记录',
+		content: '的巡查记录'
+	}]
+}, {
+	id: 4,
+	name: '工单消息',
+	dataType: [{
+		id: 1,
+		title: '工单记录',
+		content: '的工单记录'
+	}]
+}, {
+	id: 5,
+	name: '数据中心',
+	dataType: [{
+		id: 1,
+		title: '项目中心',
+		content: '文件夹',
+		type: 'access'
+	}, {
+		id: 2,
+		title: '项目中心',
+		content: '文件夹',
+		type: 'create'
+	}, {
+		id: 3,
+		title: '项目中心',
+		content: '文件夹',
+		type: 'delete'
+	}, {
+		id: 4,
+		title: '项目中心',
+		content: '文件夹',
+		type: 'edit'
+	}, {
+		id: 5,
+		title: '项目中心',
+		content: '文件',
+		type: 'fileDelete'
+	}, {
+		id: 6,
+		title: '项目中心',
+		content: '文件',
+		type: 'fileDownload'
+	}, {
+		id: 7,
+		title: '项目中心',
+		content: '文件',
+		type: 'fileUpload'
+	}, , {
+		id: 8,
+		title: '项目中心',
+		content: '文件',
+		type: 'fileView'
+	}, {
+		id: 9,
+		title: '企业中心',
+		content: '文件夹',
+		type: 'access'
+	}, {
+		id: 10,
+		title: '企业中心',
+		content: '文件夹',
+		type: 'create'
+	}, {
+		id: 11,
+		title: '企业中心',
+		content: '文件夹',
+		type: 'delete'
+	}, {
+		id: 12,
+		title: '企业中心',
+		content: '文件夹',
+		type: 'edit'
+	}, {
+		id: 13,
+		title: '企业中心',
+		content: '文件',
+		type: 'fileDelete'
+	}, {
+		id: 14,
+		title: '企业中心',
+		content: '文件',
+		type: 'fileDownload'
+	}, {
+		id: 15,
+		title: '企业中心',
+		content: '文件',
+		type: 'fileUpload'
+	}, , {
+		id: 16,
+		title: '企业中心',
+		content: '文件',
+		type: 'fileView'
+	}]
+}, {
+	id: 6,
+	name: '项目邀请'
+}, {
+	id: 7,
+	name: '提醒消息'
+}];
+
+export default {
+	send(sendData = {}, params = {}) {
+		let date = dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss');
+		let obj = {
+			projectId: store.getters.project.id,
+			organizationId: store.getters.organization.id,
+			date: date
+		}
+		params['time'] = date;
+		obj = Object.assign(obj, sendData);
+		let postData = {
+			sender: store.getters.user.userId,
+			messageType: params.messageType,
+			message: this.messageContent(params),
+			json: JSON.stringify(obj),
+			viewed: 0
+		}
+		return request({
+			url: `/manager/message/${params.userIds}`,
+			method: 'post',
+			data: postData
+		})
+	},
+	viewed(messageId, callback) {
+		if (!messageId) return;
+		return request({
+			url: `/manager/message/${messageId}`,
+			method: 'put',
+		}).then(res => {
+			if (res.state && callback) callback()
+		})
+	},
+	sendFlowMessage(data = {}, params = {}) {
+		let date = dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss');
+		let obj = {
+			projectId: store.getters.project.id,
+			organizationId: store.getters.organization.id,
+			date: date,
+			dataId: params.dataId,
+			dataType: params.dataType
+		}
+		let newData = this.data(data, params);
+		obj = Object.assign(obj, newData.data);
+		let postData = {
+			sender: store.getters.user.userId,
+			messageType: params.messageType,
+			message: newData.message,
+			json: JSON.stringify(obj),
+			viewed: 0,
+			isCC: params.isCC
+		}
+		return request({
+			url: `/manager/message/${params.receiver}`,
+			method: 'post',
+			data: postData
+		})
+	},
+	messageContent(params) {
+		let message = '';
+		if (params.messageType === 6) {
+			message =
+				`【项目邀请】${store.getters.user.name}在${dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss')}邀请加入<${store.getters.project.name}>项目,请及时处理。`
+		}
+		return message;
+	},
+	data(data = {}, params = {}) {
+		let obj = {},
+			msg = '',
+			type = messageType.filter(res => res.id === params.messageType)[0].dataType.filter(res => res.id === params
+				.dataType)[0];
+		if (data.projectItemName) {
+			msg += data.projectItemName;
+			obj['projectItemId'] = data.projectItemId;
+		}
+		if (data.projectItemTargetName) {
+			msg += ('-' + data.projectItemTargetName);
+			obj['projectItemTargetId'] = data.projectItemTargetId;
+		}
+		let message =
+			`【${type.title}】${store.getters.user.name}在${dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss')}${params.operation}${msg}${type.content}`
+		if (params.isCC === 1) message += ',并抄送给你';
+		return {
+			message: message,
+			data: obj
+		}
+	},
+	messageType
+}

+ 77 - 5
virgo.wzfrontend/workark/src/views/index.vue

@@ -1,16 +1,88 @@
 <template>
 <template>
-	<div>
-		 <el-button type="primary">主要按钮</el-button>
+	<div class="website-home">
+		<div class="website-home-bg"></div>
+		<div class="container">
+			<div class="main-container">
+				<div class="main-title">WORKARK-寻找合适的服务</div>
+				<div class="main-sub-title">方便、快捷、精准</div>
+			</div>
+			<div class="high-seas">
+				<div class="title">公海房源</div>
+			</div>
+		</div>
 	</div>
 	</div>
 </template>
 </template>
 
 
 <script>
 <script>
 	export default {
 	export default {
+		data() {
+			return {}
+		},
 		mounted() {
 		mounted() {
-			console.log(this.$store.getters);
-		}
+
+		},
 	}
 	}
 </script>
 </script>
 
 
-<style>
+<style lang="scss">
+	.website-home {
+		position: relative;
+
+		.container {
+			width: 1200px;
+			margin: 0 auto;
+		}
+
+		.website-home-bg {
+			width: 100%;
+			min-width: 1200px;
+			height: 600px;
+			background: url(https://file-node.oss-cn-shanghai.aliyuncs.com/youji/5ea8dc9317c643d0b0254d8d13a154f3);
+			background-repeat: no-repeat;
+			background-size: 100% 100%;
+			position: absolute;
+			top: 0;
+			left: 0;
+		}
+
+		.main-container {
+			height: 600px;
+			color: #fff;
+			padding-top: 80px;
+			box-sizing: border-box;
+			display: flex;
+			flex-direction: column;
+			justify-content: center;
+			position: relative;
+			z-index: 8;
+
+			.main-title {
+				font-weight: 500;
+				font-size: 36px;
+				line-height: 50px;
+				margin-bottom: 12px;
+			}
+
+			.main-sub-title {
+				font-weight: 300;
+				font-size: 20px;
+				line-height: 28px;
+				opacity: .7;
+				margin-bottom: 50px;
+			}
+		}
+
+		.high-seas {
+			color: #191919;
+			margin-top: 80px;
+			padding-bottom: 200px;
+
+			.title {
+				font-size: 36px;
+				line-height: 50px;
+				font-weight: 600;
+				margin-bottom: 30px;
+			}
+		}
+	}
 </style>
 </style>

+ 2 - 2
virgo.wzfrontend/workark/src/views/work/organization/manager.vue

@@ -142,7 +142,7 @@
 			right: 32px;
 			right: 32px;
 			bottom: 0;
 			bottom: 0;
 			height: 1px;
 			height: 1px;
-			background-color: $--border-color-base;
+			background-color: $--border-color-light;
 		}
 		}
 
 
 		.manager-logo {
 		.manager-logo {
@@ -151,7 +151,7 @@
 			border-radius: 4px;
 			border-radius: 4px;
 			overflow: hidden;
 			overflow: hidden;
 			margin-right: 18px;
 			margin-right: 18px;
-			border: 1px solid $--border-color-base;
+			border: 1px solid $--border-color-light;
 
 
 			.el-image {
 			.el-image {
 				width: 100%;
 				width: 100%;

+ 1 - 1
virgo.wzfrontend/workark/src/views/work/property/change.vue

@@ -71,7 +71,7 @@
 									</template>
 									</template>
 								</el-table-column>
 								</el-table-column>
 								<template slot="empty">
 								<template slot="empty">
-									<empty description="暂无数据"></empty>
+									<el-empty description="暂无数据"></el-empty>
 								</template>
 								</template>
 							</el-table>
 							</el-table>
 						</div>
 						</div>

+ 14 - 0
virgo.wzfrontend/workark/src/views/work/serve/list.vue

@@ -0,0 +1,14 @@
+<template>
+	<div class="hui-flex hui-content border-box">
+		<div class="hui-content-title">
+			<div class="hui-title-item active">服务列表</div>
+		</div>
+		
+	</div>
+</template>
+
+<script>
+</script>
+
+<style>
+</style>

+ 9 - 3
virgo.wzfrontend/workark/src/views/work/system/main.vue

@@ -1,11 +1,14 @@
 <template>
 <template>
-	<div class="hui-flex hui-content">
+	<div class="hui-flex hui-content border-box">
+		<div class="hui-content-title">
+			<div class="hui-title-item active">菜单设置</div>
+		</div>
 		<div class="hui-flex-box hui-flex hui-table">
 		<div class="hui-flex-box hui-flex hui-table">
 			<div class="hui-content-insert">
 			<div class="hui-content-insert">
 				<el-button type="primary" size="small" @click="insert(-1)">新增主菜单</el-button>
 				<el-button type="primary" size="small" @click="insert(-1)">新增主菜单</el-button>
 			</div>
 			</div>
 			<div class="hui-flex-box">
 			<div class="hui-flex-box">
-				<el-table ref="elTable" :data="tableData" row-key="id" height="100%">
+				<el-table ref="elTable" :data="tableData" row-key="id" height="100%" v-loading="loading">
 					<el-table-column prop="title" label="菜单名称" width="180">
 					<el-table-column prop="title" label="菜单名称" width="180">
 					</el-table-column>
 					</el-table-column>
 					<el-table-column prop="iconClass" label="菜单图标" width="180">
 					<el-table-column prop="iconClass" label="菜单图标" width="180">
@@ -63,7 +66,8 @@
 				nowDataId: -1,
 				nowDataId: -1,
 				updateData: {},
 				updateData: {},
 				menuData: {},
 				menuData: {},
-				type: ''
+				type: '',
+				loading: false
 			}
 			}
 		},
 		},
 		mounted() {
 		mounted() {
@@ -72,7 +76,9 @@
 		},
 		},
 		methods: {
 		methods: {
 			init(type) {
 			init(type) {
+				this.loading = true;
 				getMenuList().then(res => {
 				getMenuList().then(res => {
+					this.loading = false;
 					if (res.state) {
 					if (res.state) {
 						if (!res.data || res.data.length === 0) return;
 						if (!res.data || res.data.length === 0) return;
 						this.menuData = res.data[1];
 						this.menuData = res.data[1];

+ 103 - 0
virgo.wzfrontend/workark/src/views/work/system/organization.vue

@@ -0,0 +1,103 @@
+<template>
+	<div class="hui-flex hui-content border-box">
+		<div class="hui-content-title">
+			<div class="hui-title-item active">企业列表</div>
+		</div>
+		<div class="hui-flex-box hui-flex hui-table">
+			<div class="hui-flex-box">
+				<el-table :data="tableData" row-key="id" height="100%" v-loading="loading">
+					<el-table-column label="序号" width="50">
+						<template slot-scope="scope">
+							<div style="text-align: center;">{{scope.$index + 1}}</div>
+						</template>
+					</el-table-column>
+					<el-table-column label="注册日期" width="150" prop="registerDate"></el-table-column>
+					<el-table-column label="企业代码" width="200" prop="organizationCode"></el-table-column>
+					<el-table-column label="企业名称" prop="name"></el-table-column>
+					<el-table-column label="联系人" prop="contact"></el-table-column>
+					<el-table-column label="联系方式" prop="contactTel"></el-table-column>
+					<el-table-column label="公司简介" prop="introduction"></el-table-column>
+					<el-table-column label="第三方服务商" width="150" align="center">
+						<template slot-scope="scope">
+							<el-switch v-model="scope.row.facilitator" :active-value="1" :inactive-value="0"
+								@change="val=>updateItem(val,scope.row)">
+							</el-switch>
+						</template>
+					</el-table-column>
+					<template slot="empty">
+						<el-empty description="暂无数据"></el-empty>
+					</template>
+				</el-table>
+			</div>
+			<div class="hui-content-pagination">
+				<el-pagination :pager-count="9" layout="prev, pager, next" :page-size="pageSize" :total="totalCount"
+					@current-change="currentChange" background>
+				</el-pagination>
+			</div>
+		</div>
+	</div>
+</template>
+
+<script>
+	import {
+		getOrganizedList
+	} from '@/api/system'
+	import {
+		updateOrganization
+	} from '@/api/organization'
+
+	export default {
+		data() {
+			return {
+				tableData: [],
+				currPage: 1,
+				pageSize: 15,
+				totalCount: 0,
+				loading: false
+			}
+		},
+		mounted() {
+			this.init();
+		},
+		methods: {
+			init() {
+				this.loading = true;
+				getOrganizedList({
+					currPage: this.currPage,
+					pageSize: this.pageSize
+				}).then(res => {
+					if (res.state) {
+						this.tableData = res.data.dataList;
+						this.totalCount = res.data.totalCount;
+					}
+					this.loading = false;
+				})
+			},
+			currentChange(currPage) {
+				this.currPage = currPage;
+				this.init();
+			},
+			updateItem(val, data) {
+				this.loading = true;
+				updateOrganization({
+					id: data.id,
+					facilitator: val
+				}).then(res => {
+					if (res.state) {
+						this.$message.success('操作成功');
+						this.init();
+					}
+				})
+			},
+			lookItem() {
+
+			},
+			deleteItem() {
+
+			}
+		},
+	}
+</script>
+
+<style>
+</style>

+ 116 - 0
virgo.wzfrontend/workark/src/views/work/system/serveSet.vue

@@ -0,0 +1,116 @@
+<template>
+	<div class="hui-flex hui-content border-box">
+		<div class="hui-content-title">
+			<div class="hui-title-item active">服务设置</div>
+		</div>
+		<div class="hui-flex-box hui-flex hui-table">
+			<div class="hui-content-insert">
+				<el-button type="primary" size="medium" @click="insertDepartment({})">
+					新增服务
+				</el-button>
+			</div>
+			<div class="hui-flex-box">
+				<el-table :data="treeData" row-key="id" height="100%" v-loading="loading">
+					<el-table-column label="服务名称" prop="name"></el-table-column>
+					<el-table-column label="服务描述" prop="remark"></el-table-column>
+					<el-table-column label="操作" width="240">
+						<template slot-scope="scope">
+							<div class="hui-table-operation">
+								<span class="table-operation" @click="insertDepartment(scope.row)">
+									添加
+								</span>
+								<span class="table-operation" @click="updateDepartment(scope.row)">
+									编辑
+								</span>
+								<span class="table-operation" @click="deleteDepartment(scope.row)">
+									删除
+								</span>
+							</div>
+						</template>
+					</el-table-column>
+					<template slot="empty">
+						<el-empty description="暂无数据"></el-empty>
+					</template>
+				</el-table>
+			</div>
+			<el-dialog :close-on-click-modal="false" :title="isUpdate?'编辑':'新增'" :visible.sync="visible" width="900px"
+				:append-to-body="true">
+				<depart-form v-if="visible" @callback="callback" :isUpdate="isUpdate" :part="part">
+				</depart-form>
+			</el-dialog>
+		</div>
+	</div>
+</template>
+
+<script>
+	import {
+		getServeDepartment,
+		deleteServeDepartment
+	} from '@/api/system'
+	const departForm = () => import('@/components/work/system/serveSet/departForm');
+	export default {
+		data() {
+			return {
+				treeData: [],
+				visible: false,
+				isUpdate: false,
+				part: {},
+				drawer: false,
+				nowLevel: {},
+				loading: false
+			}
+		},
+		mounted() {
+			this.init();
+		},
+		components: {
+			departForm
+		},
+		methods: {
+			init() {
+				this.loading = true;
+				getServeDepartment().then(res => {
+					if (res.state) {
+						this.treeData = res.data;
+					}
+					this.loading = false;
+				})
+			},
+			currentChange(currPage) {
+				this.currPage = currPage;
+				this.init();
+			},
+			insertDepartment(val) {
+				this.part = val;
+				this.visible = true;
+				this.isUpdate = false;
+			},
+			lookFlow(val) {
+				this.detailId = val.id;
+				this.drawer = true;
+			},
+			updateDepartment(val) {
+				this.part = val;
+				this.isUpdate = true;
+				this.visible = true;
+			},
+			deleteDepartment(val) {
+				this.$confirm('确定要删除该节点?', () => {
+					deleteServeDepartment(val.id).then(res => {
+						if (res.state) {
+							this.$message.success('操作成功');
+							this.init();
+						}
+					})
+				});
+			},
+			callback(type) {
+				this.visible = false;
+				if (type === 'init') this.init();
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+</style>