Merge branch 'develop' into devTee
This commit is contained in:
commit
ab7513d8a2
9 changed files with 852 additions and 201 deletions
332
package-lock.json
generated
332
package-lock.json
generated
|
|
@ -27,7 +27,7 @@
|
||||||
"pinia": "^2.0.29",
|
"pinia": "^2.0.29",
|
||||||
"quasar": "^2.11.1",
|
"quasar": "^2.11.1",
|
||||||
"structure-chart": "^0.0.9",
|
"structure-chart": "^0.0.9",
|
||||||
"vue": "^3.2.45",
|
"vue": "^3.4.15",
|
||||||
"vue-currency-input": "^3.0.5",
|
"vue-currency-input": "^3.0.5",
|
||||||
"vue-router": "^4.1.6",
|
"vue-router": "^4.1.6",
|
||||||
"vue3-datepicker": "^0.3.4",
|
"vue3-datepicker": "^0.3.4",
|
||||||
|
|
@ -423,9 +423,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/parser": {
|
"node_modules/@babel/parser": {
|
||||||
"version": "7.22.10",
|
"version": "7.23.9",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz",
|
||||||
"integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==",
|
"integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==",
|
||||||
"bin": {
|
"bin": {
|
||||||
"parser": "bin/babel-parser.js"
|
"parser": "bin/babel-parser.js"
|
||||||
},
|
},
|
||||||
|
|
@ -2007,49 +2007,49 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/compiler-core": {
|
"node_modules/@vue/compiler-core": {
|
||||||
"version": "3.3.4",
|
"version": "3.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.15.tgz",
|
||||||
"integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==",
|
"integrity": "sha512-XcJQVOaxTKCnth1vCxEChteGuwG6wqnUHxAm1DO3gCz0+uXKaJNx8/digSz4dLALCy8n2lKq24jSUs8segoqIw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/parser": "^7.21.3",
|
"@babel/parser": "^7.23.6",
|
||||||
"@vue/shared": "3.3.4",
|
"@vue/shared": "3.4.15",
|
||||||
|
"entities": "^4.5.0",
|
||||||
"estree-walker": "^2.0.2",
|
"estree-walker": "^2.0.2",
|
||||||
"source-map-js": "^1.0.2"
|
"source-map-js": "^1.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/compiler-dom": {
|
"node_modules/@vue/compiler-dom": {
|
||||||
"version": "3.3.4",
|
"version": "3.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.15.tgz",
|
||||||
"integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==",
|
"integrity": "sha512-wox0aasVV74zoXyblarOM3AZQz/Z+OunYcIHe1OsGclCHt8RsRm04DObjefaI82u6XDzv+qGWZ24tIsRAIi5MQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/compiler-core": "3.3.4",
|
"@vue/compiler-core": "3.4.15",
|
||||||
"@vue/shared": "3.3.4"
|
"@vue/shared": "3.4.15"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/compiler-sfc": {
|
"node_modules/@vue/compiler-sfc": {
|
||||||
"version": "3.3.4",
|
"version": "3.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.15.tgz",
|
||||||
"integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==",
|
"integrity": "sha512-LCn5M6QpkpFsh3GQvs2mJUOAlBQcCco8D60Bcqmf3O3w5a+KWS5GvYbrrJBkgvL1BDnTp+e8q0lXCLgHhKguBA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/parser": "^7.20.15",
|
"@babel/parser": "^7.23.6",
|
||||||
"@vue/compiler-core": "3.3.4",
|
"@vue/compiler-core": "3.4.15",
|
||||||
"@vue/compiler-dom": "3.3.4",
|
"@vue/compiler-dom": "3.4.15",
|
||||||
"@vue/compiler-ssr": "3.3.4",
|
"@vue/compiler-ssr": "3.4.15",
|
||||||
"@vue/reactivity-transform": "3.3.4",
|
"@vue/shared": "3.4.15",
|
||||||
"@vue/shared": "3.3.4",
|
|
||||||
"estree-walker": "^2.0.2",
|
"estree-walker": "^2.0.2",
|
||||||
"magic-string": "^0.30.0",
|
"magic-string": "^0.30.5",
|
||||||
"postcss": "^8.1.10",
|
"postcss": "^8.4.33",
|
||||||
"source-map-js": "^1.0.2"
|
"source-map-js": "^1.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/compiler-ssr": {
|
"node_modules/@vue/compiler-ssr": {
|
||||||
"version": "3.3.4",
|
"version": "3.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.15.tgz",
|
||||||
"integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==",
|
"integrity": "sha512-1jdeQyiGznr8gjFDadVmOJqZiLNSsMa5ZgqavkPZ8O2wjHv0tVuAEsw5hTdUoUW4232vpBbL/wJhzVW/JwY1Uw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/compiler-dom": "3.3.4",
|
"@vue/compiler-dom": "3.4.15",
|
||||||
"@vue/shared": "3.3.4"
|
"@vue/shared": "3.4.15"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/devtools-api": {
|
"node_modules/@vue/devtools-api": {
|
||||||
|
|
@ -2144,60 +2144,48 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/reactivity": {
|
"node_modules/@vue/reactivity": {
|
||||||
"version": "3.3.4",
|
"version": "3.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.15.tgz",
|
||||||
"integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==",
|
"integrity": "sha512-55yJh2bsff20K5O84MxSvXKPHHt17I2EomHznvFiJCAZpJTNW8IuLj1xZWMLELRhBK3kkFV/1ErZGHJfah7i7w==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/shared": "3.3.4"
|
"@vue/shared": "3.4.15"
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@vue/reactivity-transform": {
|
|
||||||
"version": "3.3.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz",
|
|
||||||
"integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==",
|
|
||||||
"dependencies": {
|
|
||||||
"@babel/parser": "^7.20.15",
|
|
||||||
"@vue/compiler-core": "3.3.4",
|
|
||||||
"@vue/shared": "3.3.4",
|
|
||||||
"estree-walker": "^2.0.2",
|
|
||||||
"magic-string": "^0.30.0"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/runtime-core": {
|
"node_modules/@vue/runtime-core": {
|
||||||
"version": "3.3.4",
|
"version": "3.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.15.tgz",
|
||||||
"integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==",
|
"integrity": "sha512-6E3by5m6v1AkW0McCeAyhHTw+3y17YCOKG0U0HDKDscV4Hs0kgNT5G+GCHak16jKgcCDHpI9xe5NKb8sdLCLdw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/reactivity": "3.3.4",
|
"@vue/reactivity": "3.4.15",
|
||||||
"@vue/shared": "3.3.4"
|
"@vue/shared": "3.4.15"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/runtime-dom": {
|
"node_modules/@vue/runtime-dom": {
|
||||||
"version": "3.3.4",
|
"version": "3.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.15.tgz",
|
||||||
"integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==",
|
"integrity": "sha512-EVW8D6vfFVq3V/yDKNPBFkZKGMFSvZrUQmx196o/v2tHKdwWdiZjYUBS+0Ez3+ohRyF8Njwy/6FH5gYJ75liUw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/runtime-core": "3.3.4",
|
"@vue/runtime-core": "3.4.15",
|
||||||
"@vue/shared": "3.3.4",
|
"@vue/shared": "3.4.15",
|
||||||
"csstype": "^3.1.1"
|
"csstype": "^3.1.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/server-renderer": {
|
"node_modules/@vue/server-renderer": {
|
||||||
"version": "3.3.4",
|
"version": "3.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.15.tgz",
|
||||||
"integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==",
|
"integrity": "sha512-3HYzaidu9cHjrT+qGUuDhFYvF/j643bHC6uUN9BgM11DVy+pM6ATsG6uPBLnkwOgs7BpJABReLmpL3ZPAsUaqw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/compiler-ssr": "3.3.4",
|
"@vue/compiler-ssr": "3.4.15",
|
||||||
"@vue/shared": "3.3.4"
|
"@vue/shared": "3.4.15"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"vue": "3.3.4"
|
"vue": "3.4.15"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vue/shared": {
|
"node_modules/@vue/shared": {
|
||||||
"version": "3.3.4",
|
"version": "3.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.15.tgz",
|
||||||
"integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ=="
|
"integrity": "sha512-KzfPTxVaWfB+eGcGdbSf4CWdaXcGDqckoeXUh7SB3fZdEtzPCK2Vq9B/lRRL3yutax/LWITz+SwvgyOxz5V75g=="
|
||||||
},
|
},
|
||||||
"node_modules/@vue/test-utils": {
|
"node_modules/@vue/test-utils": {
|
||||||
"version": "2.4.1",
|
"version": "2.4.1",
|
||||||
|
|
@ -3442,9 +3430,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/csstype": {
|
"node_modules/csstype": {
|
||||||
"version": "3.1.2",
|
"version": "3.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
|
||||||
"integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
|
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
|
||||||
},
|
},
|
||||||
"node_modules/cypress": {
|
"node_modules/cypress": {
|
||||||
"version": "12.17.4",
|
"version": "12.17.4",
|
||||||
|
|
@ -4011,7 +3999,6 @@
|
||||||
"version": "4.5.0",
|
"version": "4.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
|
||||||
"integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
|
"integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.12"
|
"node": ">=0.12"
|
||||||
},
|
},
|
||||||
|
|
@ -6652,9 +6639,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/magic-string": {
|
"node_modules/magic-string": {
|
||||||
"version": "0.30.3",
|
"version": "0.30.5",
|
||||||
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.3.tgz",
|
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz",
|
||||||
"integrity": "sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==",
|
"integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jridgewell/sourcemap-codec": "^1.4.15"
|
"@jridgewell/sourcemap-codec": "^1.4.15"
|
||||||
},
|
},
|
||||||
|
|
@ -7204,9 +7191,9 @@
|
||||||
"devOptional": true
|
"devOptional": true
|
||||||
},
|
},
|
||||||
"node_modules/nanoid": {
|
"node_modules/nanoid": {
|
||||||
"version": "3.3.6",
|
"version": "3.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
|
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
|
||||||
"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
|
"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "github",
|
"type": "github",
|
||||||
|
|
@ -8288,9 +8275,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss": {
|
"node_modules/postcss": {
|
||||||
"version": "8.4.28",
|
"version": "8.4.33",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz",
|
||||||
"integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==",
|
"integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
|
|
@ -8306,7 +8293,7 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"nanoid": "^3.3.6",
|
"nanoid": "^3.3.7",
|
||||||
"picocolors": "^1.0.0",
|
"picocolors": "^1.0.0",
|
||||||
"source-map-js": "^1.0.2"
|
"source-map-js": "^1.0.2"
|
||||||
},
|
},
|
||||||
|
|
@ -10370,15 +10357,23 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vue": {
|
"node_modules/vue": {
|
||||||
"version": "3.3.4",
|
"version": "3.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/vue/-/vue-3.4.15.tgz",
|
||||||
"integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==",
|
"integrity": "sha512-jC0GH4KkWLWJOEQjOpkqU1bQsBwf4R1rsFtw5GQJbjHVKWDzO6P0nWWBTmjp1xSemAioDFj1jdaK1qa3DnMQoQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vue/compiler-dom": "3.3.4",
|
"@vue/compiler-dom": "3.4.15",
|
||||||
"@vue/compiler-sfc": "3.3.4",
|
"@vue/compiler-sfc": "3.4.15",
|
||||||
"@vue/runtime-dom": "3.3.4",
|
"@vue/runtime-dom": "3.4.15",
|
||||||
"@vue/server-renderer": "3.3.4",
|
"@vue/server-renderer": "3.4.15",
|
||||||
"@vue/shared": "3.3.4"
|
"@vue/shared": "3.4.15"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"typescript": "*"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"typescript": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/vue-component-type-helpers": {
|
"node_modules/vue-component-type-helpers": {
|
||||||
|
|
@ -11204,9 +11199,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@babel/parser": {
|
"@babel/parser": {
|
||||||
"version": "7.22.10",
|
"version": "7.23.9",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.10.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz",
|
||||||
"integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ=="
|
"integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA=="
|
||||||
},
|
},
|
||||||
"@babel/plugin-syntax-jsx": {
|
"@babel/plugin-syntax-jsx": {
|
||||||
"version": "7.22.5",
|
"version": "7.22.5",
|
||||||
|
|
@ -12293,49 +12288,49 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@vue/compiler-core": {
|
"@vue/compiler-core": {
|
||||||
"version": "3.3.4",
|
"version": "3.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.15.tgz",
|
||||||
"integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==",
|
"integrity": "sha512-XcJQVOaxTKCnth1vCxEChteGuwG6wqnUHxAm1DO3gCz0+uXKaJNx8/digSz4dLALCy8n2lKq24jSUs8segoqIw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/parser": "^7.21.3",
|
"@babel/parser": "^7.23.6",
|
||||||
"@vue/shared": "3.3.4",
|
"@vue/shared": "3.4.15",
|
||||||
|
"entities": "^4.5.0",
|
||||||
"estree-walker": "^2.0.2",
|
"estree-walker": "^2.0.2",
|
||||||
"source-map-js": "^1.0.2"
|
"source-map-js": "^1.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@vue/compiler-dom": {
|
"@vue/compiler-dom": {
|
||||||
"version": "3.3.4",
|
"version": "3.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.15.tgz",
|
||||||
"integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==",
|
"integrity": "sha512-wox0aasVV74zoXyblarOM3AZQz/Z+OunYcIHe1OsGclCHt8RsRm04DObjefaI82u6XDzv+qGWZ24tIsRAIi5MQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@vue/compiler-core": "3.3.4",
|
"@vue/compiler-core": "3.4.15",
|
||||||
"@vue/shared": "3.3.4"
|
"@vue/shared": "3.4.15"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@vue/compiler-sfc": {
|
"@vue/compiler-sfc": {
|
||||||
"version": "3.3.4",
|
"version": "3.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.15.tgz",
|
||||||
"integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==",
|
"integrity": "sha512-LCn5M6QpkpFsh3GQvs2mJUOAlBQcCco8D60Bcqmf3O3w5a+KWS5GvYbrrJBkgvL1BDnTp+e8q0lXCLgHhKguBA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@babel/parser": "^7.20.15",
|
"@babel/parser": "^7.23.6",
|
||||||
"@vue/compiler-core": "3.3.4",
|
"@vue/compiler-core": "3.4.15",
|
||||||
"@vue/compiler-dom": "3.3.4",
|
"@vue/compiler-dom": "3.4.15",
|
||||||
"@vue/compiler-ssr": "3.3.4",
|
"@vue/compiler-ssr": "3.4.15",
|
||||||
"@vue/reactivity-transform": "3.3.4",
|
"@vue/shared": "3.4.15",
|
||||||
"@vue/shared": "3.3.4",
|
|
||||||
"estree-walker": "^2.0.2",
|
"estree-walker": "^2.0.2",
|
||||||
"magic-string": "^0.30.0",
|
"magic-string": "^0.30.5",
|
||||||
"postcss": "^8.1.10",
|
"postcss": "^8.4.33",
|
||||||
"source-map-js": "^1.0.2"
|
"source-map-js": "^1.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@vue/compiler-ssr": {
|
"@vue/compiler-ssr": {
|
||||||
"version": "3.3.4",
|
"version": "3.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.15.tgz",
|
||||||
"integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==",
|
"integrity": "sha512-1jdeQyiGznr8gjFDadVmOJqZiLNSsMa5ZgqavkPZ8O2wjHv0tVuAEsw5hTdUoUW4232vpBbL/wJhzVW/JwY1Uw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@vue/compiler-dom": "3.3.4",
|
"@vue/compiler-dom": "3.4.15",
|
||||||
"@vue/shared": "3.3.4"
|
"@vue/shared": "3.4.15"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@vue/devtools-api": {
|
"@vue/devtools-api": {
|
||||||
|
|
@ -12401,57 +12396,45 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@vue/reactivity": {
|
"@vue/reactivity": {
|
||||||
"version": "3.3.4",
|
"version": "3.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.15.tgz",
|
||||||
"integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==",
|
"integrity": "sha512-55yJh2bsff20K5O84MxSvXKPHHt17I2EomHznvFiJCAZpJTNW8IuLj1xZWMLELRhBK3kkFV/1ErZGHJfah7i7w==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@vue/shared": "3.3.4"
|
"@vue/shared": "3.4.15"
|
||||||
}
|
|
||||||
},
|
|
||||||
"@vue/reactivity-transform": {
|
|
||||||
"version": "3.3.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz",
|
|
||||||
"integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==",
|
|
||||||
"requires": {
|
|
||||||
"@babel/parser": "^7.20.15",
|
|
||||||
"@vue/compiler-core": "3.3.4",
|
|
||||||
"@vue/shared": "3.3.4",
|
|
||||||
"estree-walker": "^2.0.2",
|
|
||||||
"magic-string": "^0.30.0"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@vue/runtime-core": {
|
"@vue/runtime-core": {
|
||||||
"version": "3.3.4",
|
"version": "3.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.15.tgz",
|
||||||
"integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==",
|
"integrity": "sha512-6E3by5m6v1AkW0McCeAyhHTw+3y17YCOKG0U0HDKDscV4Hs0kgNT5G+GCHak16jKgcCDHpI9xe5NKb8sdLCLdw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@vue/reactivity": "3.3.4",
|
"@vue/reactivity": "3.4.15",
|
||||||
"@vue/shared": "3.3.4"
|
"@vue/shared": "3.4.15"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@vue/runtime-dom": {
|
"@vue/runtime-dom": {
|
||||||
"version": "3.3.4",
|
"version": "3.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.15.tgz",
|
||||||
"integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==",
|
"integrity": "sha512-EVW8D6vfFVq3V/yDKNPBFkZKGMFSvZrUQmx196o/v2tHKdwWdiZjYUBS+0Ez3+ohRyF8Njwy/6FH5gYJ75liUw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@vue/runtime-core": "3.3.4",
|
"@vue/runtime-core": "3.4.15",
|
||||||
"@vue/shared": "3.3.4",
|
"@vue/shared": "3.4.15",
|
||||||
"csstype": "^3.1.1"
|
"csstype": "^3.1.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@vue/server-renderer": {
|
"@vue/server-renderer": {
|
||||||
"version": "3.3.4",
|
"version": "3.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.15.tgz",
|
||||||
"integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==",
|
"integrity": "sha512-3HYzaidu9cHjrT+qGUuDhFYvF/j643bHC6uUN9BgM11DVy+pM6ATsG6uPBLnkwOgs7BpJABReLmpL3ZPAsUaqw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@vue/compiler-ssr": "3.3.4",
|
"@vue/compiler-ssr": "3.4.15",
|
||||||
"@vue/shared": "3.3.4"
|
"@vue/shared": "3.4.15"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@vue/shared": {
|
"@vue/shared": {
|
||||||
"version": "3.3.4",
|
"version": "3.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.15.tgz",
|
||||||
"integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ=="
|
"integrity": "sha512-KzfPTxVaWfB+eGcGdbSf4CWdaXcGDqckoeXUh7SB3fZdEtzPCK2Vq9B/lRRL3yutax/LWITz+SwvgyOxz5V75g=="
|
||||||
},
|
},
|
||||||
"@vue/test-utils": {
|
"@vue/test-utils": {
|
||||||
"version": "2.4.1",
|
"version": "2.4.1",
|
||||||
|
|
@ -13365,9 +13348,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"csstype": {
|
"csstype": {
|
||||||
"version": "3.1.2",
|
"version": "3.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
|
||||||
"integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
|
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
|
||||||
},
|
},
|
||||||
"cypress": {
|
"cypress": {
|
||||||
"version": "12.17.4",
|
"version": "12.17.4",
|
||||||
|
|
@ -13808,8 +13791,7 @@
|
||||||
"entities": {
|
"entities": {
|
||||||
"version": "4.5.0",
|
"version": "4.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
|
||||||
"integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
|
"integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"env-paths": {
|
"env-paths": {
|
||||||
"version": "2.2.1",
|
"version": "2.2.1",
|
||||||
|
|
@ -15764,9 +15746,9 @@
|
||||||
"integrity": "sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA=="
|
"integrity": "sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA=="
|
||||||
},
|
},
|
||||||
"magic-string": {
|
"magic-string": {
|
||||||
"version": "0.30.3",
|
"version": "0.30.5",
|
||||||
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.3.tgz",
|
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz",
|
||||||
"integrity": "sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==",
|
"integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@jridgewell/sourcemap-codec": "^1.4.15"
|
"@jridgewell/sourcemap-codec": "^1.4.15"
|
||||||
}
|
}
|
||||||
|
|
@ -16195,9 +16177,9 @@
|
||||||
"devOptional": true
|
"devOptional": true
|
||||||
},
|
},
|
||||||
"nanoid": {
|
"nanoid": {
|
||||||
"version": "3.3.6",
|
"version": "3.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
|
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
|
||||||
"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="
|
"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g=="
|
||||||
},
|
},
|
||||||
"natural-compare": {
|
"natural-compare": {
|
||||||
"version": "1.4.0",
|
"version": "1.4.0",
|
||||||
|
|
@ -16996,11 +16978,11 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"postcss": {
|
"postcss": {
|
||||||
"version": "8.4.28",
|
"version": "8.4.33",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz",
|
||||||
"integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==",
|
"integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"nanoid": "^3.3.6",
|
"nanoid": "^3.3.7",
|
||||||
"picocolors": "^1.0.0",
|
"picocolors": "^1.0.0",
|
||||||
"source-map-js": "^1.0.2"
|
"source-map-js": "^1.0.2"
|
||||||
}
|
}
|
||||||
|
|
@ -18489,15 +18471,15 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"vue": {
|
"vue": {
|
||||||
"version": "3.3.4",
|
"version": "3.4.15",
|
||||||
"resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/vue/-/vue-3.4.15.tgz",
|
||||||
"integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==",
|
"integrity": "sha512-jC0GH4KkWLWJOEQjOpkqU1bQsBwf4R1rsFtw5GQJbjHVKWDzO6P0nWWBTmjp1xSemAioDFj1jdaK1qa3DnMQoQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@vue/compiler-dom": "3.3.4",
|
"@vue/compiler-dom": "3.4.15",
|
||||||
"@vue/compiler-sfc": "3.3.4",
|
"@vue/compiler-sfc": "3.4.15",
|
||||||
"@vue/runtime-dom": "3.3.4",
|
"@vue/runtime-dom": "3.4.15",
|
||||||
"@vue/server-renderer": "3.3.4",
|
"@vue/server-renderer": "3.4.15",
|
||||||
"@vue/shared": "3.3.4"
|
"@vue/shared": "3.4.15"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"vue-component-type-helpers": {
|
"vue-component-type-helpers": {
|
||||||
|
|
|
||||||
|
|
@ -523,7 +523,7 @@ const dayThaiRange = (val: [Date, Date]) => {
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss" scope>
|
||||||
.custom-header-table {
|
.custom-header-table {
|
||||||
max-height: 64vh;
|
max-height: 64vh;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -552,7 +552,7 @@ const dateThaiRange = (val: [Date, Date] | []) => {
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style scoped>
|
||||||
.my-menu-link {
|
.my-menu-link {
|
||||||
color: black;
|
color: black;
|
||||||
background: #d0d0d0;
|
background: #d0d0d0;
|
||||||
|
|
|
||||||
29
src/modules/02_organizationalNew/components/listView.vue
Normal file
29
src/modules/02_organizationalNew/components/listView.vue
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { ref } from "vue";
|
||||||
|
import TreeView from "@/modules/02_organizationalNew/components/mainTree.vue";
|
||||||
|
import TableView from "@/modules/02_organizationalNew/components/tableTree.vue";
|
||||||
|
const showData = ref<boolean>(false);
|
||||||
|
</script>
|
||||||
|
<template>
|
||||||
|
<div class="col-12">
|
||||||
|
<q-card bordered class="col-12 row caedNone">
|
||||||
|
<div class="col-xs-12 col-sm-3 row">
|
||||||
|
<div class="col-12 row no-wrap bg-grey-1">
|
||||||
|
<TreeView />
|
||||||
|
|
||||||
|
<div class="col-12 row">
|
||||||
|
<q-separator :vertical="!$q.screen.lt.md" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-xs-12 col-sm-9 q-pa-md">
|
||||||
|
<div class="col-12 row items-center">
|
||||||
|
<TableView v-model:showData="showData" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</q-card>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped></style>
|
||||||
336
src/modules/02_organizationalNew/components/mainTree.vue
Normal file
336
src/modules/02_organizationalNew/components/mainTree.vue
Normal file
|
|
@ -0,0 +1,336 @@
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { ref, onMounted } from "vue";
|
||||||
|
import { useQuasar } from "quasar";
|
||||||
|
|
||||||
|
/** importStore*/
|
||||||
|
import { useOrganizational } from "@/modules/02_organizationalNew/store/organizational";
|
||||||
|
|
||||||
|
const stroe = useOrganizational();
|
||||||
|
const $q = useQuasar();
|
||||||
|
|
||||||
|
const showData = ref<boolean>(false);
|
||||||
|
const listAdd = ref<any>([
|
||||||
|
{
|
||||||
|
label: "เพิ่มส่วนราชการ",
|
||||||
|
icon: "add",
|
||||||
|
val: "ADD",
|
||||||
|
color: "primary",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "แก้ไขหน่วยงาน",
|
||||||
|
icon: "edit",
|
||||||
|
val: "EDIT",
|
||||||
|
color: "info",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "ลบหน่วยงาน",
|
||||||
|
icon: "mdi-trash-can-outline",
|
||||||
|
val: "DEL",
|
||||||
|
color: "red",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "สำเนาหน่วยงาน",
|
||||||
|
icon: "content_copy",
|
||||||
|
val: "COPY",
|
||||||
|
color: "blue",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "ดูประวัติหน่วยงาน",
|
||||||
|
icon: "history",
|
||||||
|
val: "HISTORY",
|
||||||
|
color: "purple",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "จัดลำดับ",
|
||||||
|
icon: "filter_list",
|
||||||
|
val: "SORT",
|
||||||
|
color: "green-7",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "แก้ไขสถานะ",
|
||||||
|
icon: "checklist_rtl",
|
||||||
|
val: "STATUS",
|
||||||
|
color: "yellow-9",
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
|
||||||
|
const filter = ref<string>("");
|
||||||
|
const nodes = ref<Array<any>>([]);
|
||||||
|
const lazy = ref(nodes);
|
||||||
|
const expanded = ref<Array<any>>([]);
|
||||||
|
const notFound = ref<string>("ไม่พบข้อมูลที่ค้นหา");
|
||||||
|
const noData = ref<string>("ไม่มีข้อมูล");
|
||||||
|
const selected = ref("");
|
||||||
|
|
||||||
|
const filterData = (node: any, filter: string) => {
|
||||||
|
// ให้ทาง API ค้นหาให้
|
||||||
|
nodes.value = [
|
||||||
|
{
|
||||||
|
organizationName: "สำนักงานคณะกรรมการข้าราชการกรุงเทพมหานคร",
|
||||||
|
organizationId: "3b86d275-8259-427c-8da7-12813fe482eb",
|
||||||
|
organizationLevel: 0,
|
||||||
|
lazy: true,
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
organizationName: "กองบริหารทั่วไป",
|
||||||
|
organizationId: "3486d275-8159-427c-8da7-12813fe482eb",
|
||||||
|
organizationLevel: 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
organizationName: "กองสรรหาบุคคล",
|
||||||
|
organizationId: "3486d275-8259-427c-8da7-12813fe400eb",
|
||||||
|
organizationLevel: 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
organizationName: "สถาบันพัฒนาทรัพยากรบุคคลกรุงเทพมหานคร",
|
||||||
|
organizationId: "3486d275-8259-437c-8da7-12813fe482eb",
|
||||||
|
organizationLevel: 1,
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
organizationName: "ฝ่ายบริหารงานทั่วไป",
|
||||||
|
organizationId: "3486d275-8259-427c-8da7-12813ff482eb",
|
||||||
|
organizationLevel: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
organizationName: "ส่วนส่งเสริมการพัฒนาทรัพยากรบุคคล",
|
||||||
|
organizationId: "3486d275-8259-427c-8da7-12833fe482eb",
|
||||||
|
organizationLevel: 2,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
organizationName: "สำนักปลัดกรุงเทพมหานคร",
|
||||||
|
organizationId: "3b86d275-8259-427c-8da7-12813fe482ec",
|
||||||
|
organizationLevel: 0,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
// expanded จาก id ได้
|
||||||
|
expanded.value = [
|
||||||
|
"3b86d275-8259-427c-8da7-12813fe482eb",
|
||||||
|
"3486d275-8259-437c-8da7-12813fe482eb",
|
||||||
|
];
|
||||||
|
|
||||||
|
return node.organizationName && node.organizationName.indexOf(filter) > -1;
|
||||||
|
};
|
||||||
|
|
||||||
|
const updateSelected = (target: any) => {
|
||||||
|
console.log("updateSelected===>", target);
|
||||||
|
};
|
||||||
|
|
||||||
|
const onLazyLoad = (details: { node: any; key: any; done: any; fail: any }) => {
|
||||||
|
// call fail() if any error occurs
|
||||||
|
|
||||||
|
// setTimeout(() => {
|
||||||
|
// simulate loading and setting an empty node
|
||||||
|
// if (details.key.indexOf("data empty") > -1) {
|
||||||
|
// details.done([]);
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
|
||||||
|
if (details.node.organizationId == "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx01") {
|
||||||
|
details.done([
|
||||||
|
{
|
||||||
|
organizationName: "กองบริหารทั่วไป",
|
||||||
|
organizationId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx11",
|
||||||
|
organizationLevel: 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
organizationName: "กองสรรหาบุคคล",
|
||||||
|
organizationId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx12",
|
||||||
|
organizationLevel: 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
organizationName: "สถาบันพัฒนาทรัพยากรบุคคลกรุงเทพมหานคร",
|
||||||
|
organizationId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx13",
|
||||||
|
organizationLevel: 1,
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
organizationName: "ฝ่ายบริหารงานทั่วไป",
|
||||||
|
organizationId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx131",
|
||||||
|
organizationLevel: 2,
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
organizationName: "กลุ่มงานวิเคราะห์การพัฒนาทรัพยากรบุคคล",
|
||||||
|
organizationId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx1311",
|
||||||
|
organizationLevel: 3,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
organizationName: "ส่วนส่งเสริมการพัฒนาทรัพยากรบุคคล",
|
||||||
|
organizationId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx14",
|
||||||
|
organizationLevel: 2,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
} else if (
|
||||||
|
details.node.organizationId == "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx02"
|
||||||
|
) {
|
||||||
|
details.done([
|
||||||
|
{
|
||||||
|
organizationName: "สำนักงานการเจ้าหน้าที่",
|
||||||
|
organizationId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx21",
|
||||||
|
organizationLevel: 1,
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
// }, 500);
|
||||||
|
};
|
||||||
|
|
||||||
|
const breakLoop = ref<boolean>(false);
|
||||||
|
async function edit(selected: string) {
|
||||||
|
console.log("edit node tree id: " + selected);
|
||||||
|
breakLoop.value = false;
|
||||||
|
|
||||||
|
// Usage
|
||||||
|
const targetNodeId = selected;
|
||||||
|
const replacementNode = {
|
||||||
|
organizationName: `ชื่อใหม่ ${selected}`,
|
||||||
|
organizationId: selected,
|
||||||
|
};
|
||||||
|
|
||||||
|
for (let index = 0; index < nodes.value.length; index++) {
|
||||||
|
const element = nodes.value[index];
|
||||||
|
searchAndReplace(element, targetNodeId, replacementNode);
|
||||||
|
console.log("index===>", index);
|
||||||
|
console.log("breakLoop===>", breakLoop.value);
|
||||||
|
if (breakLoop.value) break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function searchAndReplace(
|
||||||
|
treeNode: any,
|
||||||
|
organizationId: any,
|
||||||
|
replacementObject: any
|
||||||
|
) {
|
||||||
|
if (treeNode.organizationId === organizationId) {
|
||||||
|
Object.assign(treeNode, replacementObject);
|
||||||
|
breakLoop.value = true;
|
||||||
|
} else if (treeNode.children) {
|
||||||
|
for (const child of treeNode.children) {
|
||||||
|
searchAndReplace(child, organizationId, replacementObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(async () => {
|
||||||
|
nodes.value = [
|
||||||
|
{
|
||||||
|
organizationName: "สำนักงานคณะกรรมการข้าราชการกรุงเทพมหานคร",
|
||||||
|
organizationId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx01",
|
||||||
|
organizationLevel: 0,
|
||||||
|
lazy: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
organizationName: "สำนักปลัดกรุงเทพมหานคร",
|
||||||
|
organizationId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx02",
|
||||||
|
organizationLevel: 0,
|
||||||
|
lazy: true,
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// organizationName: "data empty",
|
||||||
|
// lazy: true,
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// organizationName: "Node is not expandable",
|
||||||
|
// expandable: false,
|
||||||
|
// children: [{ organizationName: "Some node" }],
|
||||||
|
// },
|
||||||
|
];
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div class="col-12 q-py-md q-px-lg">
|
||||||
|
<div class="q-gutter-md">
|
||||||
|
<div class="row q-col-gutter-sm">
|
||||||
|
<div class="col-2" v-if="stroe.typeOrganizational === 'draft'">
|
||||||
|
<q-btn dense flat round color="primary" icon="add">
|
||||||
|
<q-tooltip>เพิ่ม</q-tooltip>
|
||||||
|
</q-btn>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div
|
||||||
|
:class="stroe.typeOrganizational === 'draft' ? 'col-10' : 'col-12'"
|
||||||
|
>
|
||||||
|
<q-input dense outlined v-model="filter" label="ค้นหา">
|
||||||
|
<template v-slot:append>
|
||||||
|
<q-icon
|
||||||
|
v-if="filter !== ''"
|
||||||
|
name="clear"
|
||||||
|
class="cursor-pointer"
|
||||||
|
@click="filter = ''"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</q-input>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="bg-white"
|
||||||
|
style="
|
||||||
|
height: 60vh;
|
||||||
|
border: 1px solid rgb(210, 210, 210);
|
||||||
|
border-radius: 10px;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<q-tree
|
||||||
|
class="q-pa-sm"
|
||||||
|
dense
|
||||||
|
default-expand-all
|
||||||
|
selected-color="blue-6"
|
||||||
|
:nodes="lazy"
|
||||||
|
node-key="organizationId"
|
||||||
|
label-key="organizationName"
|
||||||
|
:filter="filter"
|
||||||
|
:no-results-label="notFound"
|
||||||
|
:no-nodes-label="noData"
|
||||||
|
:filter-method="filterData"
|
||||||
|
v-model:expanded="expanded"
|
||||||
|
v-model:selected="selected"
|
||||||
|
@update:selected="updateSelected"
|
||||||
|
@lazy-load="onLazyLoad"
|
||||||
|
>
|
||||||
|
<template v-slot:default-header="prop">
|
||||||
|
{{ prop.node.organizationName }}
|
||||||
|
|
||||||
|
<q-btn
|
||||||
|
flat
|
||||||
|
icon="mdi-dots-vertical"
|
||||||
|
class="q-pa-none q-ml-xs"
|
||||||
|
v-if="stroe.typeOrganizational === 'draft'"
|
||||||
|
>
|
||||||
|
<q-menu>
|
||||||
|
<q-list
|
||||||
|
style="min-width: 100px"
|
||||||
|
v-for="(item, index) in listAdd"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
|
<q-item
|
||||||
|
clickable
|
||||||
|
v-close-popup
|
||||||
|
@click="
|
||||||
|
item.val === 'EDIT'
|
||||||
|
? edit(prop.node.organizationId)
|
||||||
|
: null
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<q-item-section avatar>
|
||||||
|
<q-icon :color="item.color" :name="item.icon" />
|
||||||
|
</q-item-section>
|
||||||
|
<q-item-section>{{ item.label }}</q-item-section>
|
||||||
|
</q-item>
|
||||||
|
</q-list>
|
||||||
|
</q-menu>
|
||||||
|
</q-btn>
|
||||||
|
</template>
|
||||||
|
</q-tree>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped></style>
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
<script setup lang="ts"></script>
|
||||||
|
<template>
|
||||||
|
<div>Structure View</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped></style>
|
||||||
176
src/modules/02_organizationalNew/components/tableTree.vue
Normal file
176
src/modules/02_organizationalNew/components/tableTree.vue
Normal file
|
|
@ -0,0 +1,176 @@
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { ref } from "vue";
|
||||||
|
|
||||||
|
/** importType*/
|
||||||
|
import type { QTableProps } from "quasar";
|
||||||
|
|
||||||
|
/** importStore*/
|
||||||
|
import { useOrganizational } from "@/modules/02_organizationalNew/store/organizational";
|
||||||
|
|
||||||
|
const showData = defineModel<boolean>("showData", { required: true });
|
||||||
|
const stroe = useOrganizational();
|
||||||
|
const filter = ref<string>("");
|
||||||
|
const document = ref<any>([
|
||||||
|
{
|
||||||
|
name: "บัญชี 1",
|
||||||
|
val: "1",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "บัญชี 2",
|
||||||
|
val: "2",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "บัญชี 3",
|
||||||
|
val: "3",
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
|
||||||
|
const columns = ref<QTableProps["columns"]>([
|
||||||
|
{
|
||||||
|
name: "no",
|
||||||
|
align: "left",
|
||||||
|
label: "ลำดับ",
|
||||||
|
sortable: false,
|
||||||
|
field: "no",
|
||||||
|
headerStyle: "font-size: 14px",
|
||||||
|
style: "font-size: 14px",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "noPosition",
|
||||||
|
align: "left",
|
||||||
|
label: "เลขที่ตำแหน่ง",
|
||||||
|
sortable: true,
|
||||||
|
field: "noPosition",
|
||||||
|
headerStyle: "font-size: 14px",
|
||||||
|
style: "font-size: 14px",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "namePosition",
|
||||||
|
align: "left",
|
||||||
|
label: "ชื่อตำแหน่ง",
|
||||||
|
field: "namePosition",
|
||||||
|
headerStyle: "font-size: 14px",
|
||||||
|
style: "font-size: 14px",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "typePosition",
|
||||||
|
align: "left",
|
||||||
|
label: "ประเภทตำแหน่ง",
|
||||||
|
sortable: true,
|
||||||
|
field: "typePosition",
|
||||||
|
headerStyle: "font-size: 14px",
|
||||||
|
style: "font-size: 14px",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "levelPositoion",
|
||||||
|
align: "left",
|
||||||
|
label: "ระดับตำแหน่ง",
|
||||||
|
sortable: true,
|
||||||
|
field: "levelPositoion",
|
||||||
|
headerStyle: "font-size: 14px",
|
||||||
|
style: "font-size: 14px",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "isStatus",
|
||||||
|
align: "left",
|
||||||
|
label: "มีคนครองหรือไม่",
|
||||||
|
sortable: true,
|
||||||
|
field: "isStatus",
|
||||||
|
headerStyle: "font-size: 14px",
|
||||||
|
style: "font-size: 14px",
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
const rows = ref<any>([]);
|
||||||
|
</script>
|
||||||
|
<template>
|
||||||
|
<!-- TOOLBAR -->
|
||||||
|
<div class="col-12">
|
||||||
|
<q-toolbar style="padding: 0">
|
||||||
|
<div v-if="stroe.typeOrganizational === 'draft'">
|
||||||
|
<q-btn flat round dense color="primary" icon="add">
|
||||||
|
<q-tooltip>เพิ่ม</q-tooltip></q-btn
|
||||||
|
>
|
||||||
|
<q-btn flat round dense color="blue" icon="filter_list">
|
||||||
|
<q-tooltip>ค้นหา</q-tooltip>
|
||||||
|
</q-btn>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<q-btn flat round dense color="blue-10" icon="save_alt">
|
||||||
|
<q-menu>
|
||||||
|
<q-list
|
||||||
|
style="min-width: 100px"
|
||||||
|
v-for="(item, index) in document"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
|
<q-item clickable v-close-popup>
|
||||||
|
<q-item-section>{{ item.name }}</q-item-section>
|
||||||
|
</q-item>
|
||||||
|
</q-list>
|
||||||
|
</q-menu>
|
||||||
|
<q-tooltip>ดาวน์โหลด</q-tooltip>
|
||||||
|
</q-btn>
|
||||||
|
<q-space />
|
||||||
|
<div class="row q-gutter-md">
|
||||||
|
<div>
|
||||||
|
<q-checkbox
|
||||||
|
keep-color
|
||||||
|
v-model="showData"
|
||||||
|
label="แสดงตำแหน่งทั้งหมด"
|
||||||
|
color="primary"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div><q-input outlined dense v-model="filter" label="ค้นหา" /></div>
|
||||||
|
</div>
|
||||||
|
</q-toolbar>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- TABLE -->
|
||||||
|
<div class="col-12">
|
||||||
|
<d-table
|
||||||
|
ref="table"
|
||||||
|
:columns="columns"
|
||||||
|
:rows="rows"
|
||||||
|
row-key="id"
|
||||||
|
flat
|
||||||
|
bordered
|
||||||
|
:paging="true"
|
||||||
|
dense
|
||||||
|
class="custom-header-table"
|
||||||
|
:rows-per-page-options="[10, 25, 50, 100]"
|
||||||
|
>
|
||||||
|
<template v-slot:header="props">
|
||||||
|
<q-tr :props="props">
|
||||||
|
<q-th v-for="col in props.cols" :key="col.name" :props="props">
|
||||||
|
<span class="text-weight-medium">{{ col.label }}</span>
|
||||||
|
</q-th>
|
||||||
|
</q-tr>
|
||||||
|
</template>
|
||||||
|
<template v-slot:body="props">
|
||||||
|
<q-tr :props="props" class="cursor-pointer">
|
||||||
|
<q-td v-for="col in props.cols" :key="col.name" :props="props">
|
||||||
|
<div v-if="col.name == 'no'">
|
||||||
|
{{ props.rowIndex + 1 }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div v-else>
|
||||||
|
{{ col.value }}
|
||||||
|
</div>
|
||||||
|
</q-td>
|
||||||
|
</q-tr>
|
||||||
|
</template>
|
||||||
|
<!-- <template v-slot:pagination="scope">
|
||||||
|
<q-pagination
|
||||||
|
v-model="currentPage"
|
||||||
|
active-color="primary"
|
||||||
|
color="dark"
|
||||||
|
:max="Number(props.maxPage)"
|
||||||
|
size="sm"
|
||||||
|
boundary-links
|
||||||
|
direction-links
|
||||||
|
></q-pagination>
|
||||||
|
</template> -->
|
||||||
|
</d-table>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped></style>
|
||||||
12
src/modules/02_organizationalNew/store/organizational.ts
Normal file
12
src/modules/02_organizationalNew/store/organizational.ts
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
import { defineStore } from "pinia";
|
||||||
|
import { ref } from "vue";
|
||||||
|
|
||||||
|
export const useOrganizational = defineStore("organizationalStore", () => {
|
||||||
|
const typeOrganizational = ref<string>("current");
|
||||||
|
const statusView = ref<string>("list");
|
||||||
|
|
||||||
|
return {
|
||||||
|
typeOrganizational,
|
||||||
|
statusView,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
@ -1,34 +1,144 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref } from "vue";
|
import { ref } from "vue";
|
||||||
import DialogFormAgency from "@/modules/02_organizationalNew/components/DialogFormAgency.vue";
|
|
||||||
import DialogFormPosition from "@/modules/02_organizationalNew/components/DialogFormPosition.vue";
|
|
||||||
import DialogFormHistory from "@/modules/02_organizationalNew/components/DialogHistory.vue";
|
|
||||||
import DialogFormDateTime from "@/modules/02_organizationalNew/components/DialogFormDateTime.vue";
|
|
||||||
|
|
||||||
const modalAgency = ref<boolean>(false);
|
/** importComponents*/
|
||||||
const modalPosition = ref<boolean>(false);
|
import ListView from "@/modules/02_organizationalNew/components/listView.vue";
|
||||||
const modalHistory = ref<boolean>(false);
|
import StructureView from "@/modules/02_organizationalNew/components/structureView.vue";
|
||||||
const modalDate = ref<boolean>(false);
|
|
||||||
|
|
||||||
function close() {
|
/** importStore*/
|
||||||
modalAgency.value = false;
|
import { useOrganizational } from "@/modules/02_organizationalNew/store/organizational";
|
||||||
modalPosition.value = false;
|
|
||||||
modalHistory.value = false;
|
const stroe = useOrganizational();
|
||||||
modalDate.value = false;
|
|
||||||
}
|
const isStatusData = ref<boolean>(true);
|
||||||
|
|
||||||
|
const itemStructure = ref<any>([
|
||||||
|
{
|
||||||
|
val: "NEW",
|
||||||
|
name: "สร้างใหม่",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
val: "STRUCTURE",
|
||||||
|
name: "ทำสำเนาเฉพาะโครงสร้าง",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
val: "STRUCTUREANDPOSITION",
|
||||||
|
name: "ทำสำเนาโครงสร้างและตำแหน่ง",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
val: "STRUCTUREANDPOSITION",
|
||||||
|
name: "ทำสำเนาโครงสร้าง ตำแหน่งและคนครอง",
|
||||||
|
},
|
||||||
|
]);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
โครงสร้างอัตรากำลัง (ใหม่)
|
<div class="row">
|
||||||
<q-btn @click="modalAgency = true" color="primary">pop up test (agency)</q-btn>
|
<div class="toptitle text-dark row items-center">โครงสร้างอัตรากำลัง</div>
|
||||||
<q-btn @click="modalPosition = true" color="blue">pop up test (position)</q-btn>
|
<q-space />
|
||||||
<q-btn @click="modalHistory = true" color="warning">pop up test (history)</q-btn>
|
<div class="toptitle row" v-if="stroe.typeOrganizational === 'draft'">
|
||||||
<q-btn @click="modalDate = true" color="public">pop up test (Date)</q-btn>
|
<q-btn color="indigo-9" icon="alarm" label="ตั้งเวลาเผยแพร่"> </q-btn>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<DialogFormAgency :modal="modalAgency" :close="close" />
|
<q-card flat bordered>
|
||||||
<DialogFormPosition :modal="modalPosition" :close="close" />
|
<div class="q-pa-xl" v-if="!isStatusData">
|
||||||
<DialogFormHistory :modal="modalHistory" :close="close" />
|
<q-card
|
||||||
<DialogFormDateTime :modal="modalDate" :close="close" />
|
flat
|
||||||
|
bordered
|
||||||
|
style="
|
||||||
|
height: 70vh;
|
||||||
|
border: 1px solid rgb(210, 210, 210);
|
||||||
|
border-radius: 5px;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="text-center row"
|
||||||
|
style="
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
height: 100%;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<div>
|
||||||
|
<q-btn
|
||||||
|
flat
|
||||||
|
style="background-color: #d8f5f2"
|
||||||
|
round
|
||||||
|
color="primary"
|
||||||
|
size="lg"
|
||||||
|
icon="add"
|
||||||
|
@click="isStatusData = true"
|
||||||
|
>
|
||||||
|
<q-tooltip>เพิ่มโครงสร้าง </q-tooltip>
|
||||||
|
</q-btn>
|
||||||
|
<div class="q-mt-sm">เพิ่มโครงสร้าง</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</q-card>
|
||||||
|
</div>
|
||||||
|
<div v-else>
|
||||||
|
<q-card class="my-card">
|
||||||
|
<q-card-section>
|
||||||
|
<q-toolbar class="q-gutter-md" style="padding: 0px">
|
||||||
|
<q-btn-group outline>
|
||||||
|
<q-btn
|
||||||
|
:outline="stroe.typeOrganizational === 'current' ? false : true"
|
||||||
|
color="blue"
|
||||||
|
label="ปัจจุบัน"
|
||||||
|
@click="stroe.typeOrganizational = 'current'"
|
||||||
|
/>
|
||||||
|
<q-btn
|
||||||
|
:outline="stroe.typeOrganizational === 'draft' ? false : true"
|
||||||
|
color="blue"
|
||||||
|
label="แบบร่าง"
|
||||||
|
@click="stroe.typeOrganizational = 'draft'"
|
||||||
|
/>
|
||||||
|
</q-btn-group>
|
||||||
|
|
||||||
|
<q-btn-dropdown color="green" label="ปรับโครงสร้าง">
|
||||||
|
<q-list>
|
||||||
|
<q-item
|
||||||
|
clickable
|
||||||
|
v-close-popup
|
||||||
|
v-for="(item, index) in itemStructure"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
|
<q-item-section>
|
||||||
|
<q-item-label>{{ item.name }}</q-item-label>
|
||||||
|
</q-item-section>
|
||||||
|
</q-item>
|
||||||
|
</q-list>
|
||||||
|
</q-btn-dropdown>
|
||||||
|
|
||||||
|
<q-btn flat round color="primary" icon="history">
|
||||||
|
<q-tooltip>ประวัติโครงสร้าง</q-tooltip>
|
||||||
|
</q-btn>
|
||||||
|
<q-space />
|
||||||
|
<q-btn
|
||||||
|
flat
|
||||||
|
round
|
||||||
|
:color="stroe.statusView === 'list' ? 'grey-7' : 'grey-4'"
|
||||||
|
icon="list"
|
||||||
|
@click="stroe.statusView = 'list'"
|
||||||
|
/>
|
||||||
|
<q-btn
|
||||||
|
flat
|
||||||
|
round
|
||||||
|
icon="account_tree"
|
||||||
|
:color="stroe.statusView === 'tree' ? 'grey-7' : 'grey-4'"
|
||||||
|
@click="stroe.statusView = 'tree'"
|
||||||
|
/>
|
||||||
|
</q-toolbar>
|
||||||
|
</q-card-section>
|
||||||
|
<q-separator />
|
||||||
|
<q-card-section style="padding: 0px">
|
||||||
|
<ListView v-if="stroe.statusView === 'list'" />
|
||||||
|
<StructureView v-if="stroe.statusView === 'tree'" />
|
||||||
|
</q-card-section>
|
||||||
|
</q-card>
|
||||||
|
</div>
|
||||||
|
</q-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped></style>
|
<style scoped></style>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue