From 421e3346bf156beb92ba973e8cacc32934637b32 Mon Sep 17 00:00:00 2001
From: Tao-826 <2513445933@qq.com>
Date: Mon, 7 Jul 2025 14:14:38 +0800
Subject: [PATCH] first commit
---
.env.Staging | 6 +
.env.development | 9 +
.env.production | 5 +
.env.test | 10 +
.eslintrc.js | 23 +
.gitignore | 28 +
.vscode/extensions.json | 3 +
Jenkinsfile | 96 +
README.md | 29 +
eslint.config.mjs | 12 +
index.html | 13 +
package.json | 40 +
public/favicon.ico | Bin 0 -> 4286 bytes
src/App.vue | 46 +
src/api/common/index.js | 108 +
src/api/system/index.js | 217 +
src/assets/base.css | 74 +
src/assets/icons/phone.svg | 1 +
src/assets/icons/svg-payroll.svg | 1 +
src/assets/images/error/404_1.png | Bin 0 -> 668212 bytes
src/assets/images/error/404_2.png | Bin 0 -> 190022 bytes
src/assets/images/error/404_3.png | Bin 0 -> 164924 bytes
src/assets/images/pages/blood_pressure.png | Bin 0 -> 563 bytes
src/assets/logo.svg | 1 +
src/assets/main.css | 35 +
src/assets/scss/_mixins.scss | 31 +
src/assets/scss/_variables.scss | 153 +
src/assets/scss/layouts/_grid.scss | 15 +
src/assets/scss/main.scss | 162 +
src/assets/scss/modules/_button.scss | 19 +
src/assets/scss/pages/_dashboard.scss | 13 +
src/assets/scss/pages/ownerLargeScreen.scss | 108 +
src/assets/scss/pages/sectionLargeScreen.scss | 173 +
src/assets/scss/themes/_light.scss | 14 +
src/common/message.js | 17 +
src/common/notification.js | 44 +
src/common/useCascadeSelect.js | 217 +
src/components/SvgIcon/index.vue | 42 +
src/components/components/fileDetail.vue | 54 +
src/components/icons/IconCommunity.vue | 7 +
src/components/icons/IconDocumentation.vue | 7 +
src/components/icons/IconEcosystem.vue | 7 +
src/components/icons/IconSupport.vue | 7 +
src/components/icons/IconTooling.vue | 19 +
src/components/layouts/defaultLayout.vue | 81 +
src/components/layouts/navHeader.vue | 83 +
src/components/layouts/navMenu.vue | 92 +
src/components/layouts/recursiveMenuItem.vue | 52 +
src/components/layouts/resetDetail.vue | 134 +
src/components/layouts/tabs.vue | 60 +
src/main.js | 34 +
src/router/index.js | 118 +
src/stores/index.js | 5 +
src/stores/login.js | 25 +
src/stores/permission.js | 138 +
src/stores/tabs.js | 81 +
src/stores/user.js | 34 +
src/style.css | 316 +
src/utils/dictionary.js | 33 +
src/utils/disabledDate.js | 45 +
src/utils/fetchPublicIp.js | 10 +
src/utils/formatDate.js | 22 +
src/utils/permission.js | 41 +
src/utils/regexp.js | 16 +
src/utils/rem.js | 10 +
src/utils/request.js | 69 +
src/utils/requestSystem.js | 59 +
src/utils/svgIcon.js | 40 +
src/utils/utils.js | 10 +
src/views/error/404.vue | 27 +
src/views/home/index.vue | 181 +
vite.config.js | 105 +
yarn.lock | 5194 +++++++++++++++++
73 files changed, 8981 insertions(+)
create mode 100644 .env.Staging
create mode 100644 .env.development
create mode 100644 .env.production
create mode 100644 .env.test
create mode 100644 .eslintrc.js
create mode 100644 .gitignore
create mode 100644 .vscode/extensions.json
create mode 100644 Jenkinsfile
create mode 100644 README.md
create mode 100644 eslint.config.mjs
create mode 100644 index.html
create mode 100644 package.json
create mode 100644 public/favicon.ico
create mode 100644 src/App.vue
create mode 100644 src/api/common/index.js
create mode 100644 src/api/system/index.js
create mode 100644 src/assets/base.css
create mode 100644 src/assets/icons/phone.svg
create mode 100644 src/assets/icons/svg-payroll.svg
create mode 100644 src/assets/images/error/404_1.png
create mode 100644 src/assets/images/error/404_2.png
create mode 100644 src/assets/images/error/404_3.png
create mode 100644 src/assets/images/pages/blood_pressure.png
create mode 100644 src/assets/logo.svg
create mode 100644 src/assets/main.css
create mode 100644 src/assets/scss/_mixins.scss
create mode 100644 src/assets/scss/_variables.scss
create mode 100644 src/assets/scss/layouts/_grid.scss
create mode 100644 src/assets/scss/main.scss
create mode 100644 src/assets/scss/modules/_button.scss
create mode 100644 src/assets/scss/pages/_dashboard.scss
create mode 100644 src/assets/scss/pages/ownerLargeScreen.scss
create mode 100644 src/assets/scss/pages/sectionLargeScreen.scss
create mode 100644 src/assets/scss/themes/_light.scss
create mode 100644 src/common/message.js
create mode 100644 src/common/notification.js
create mode 100644 src/common/useCascadeSelect.js
create mode 100644 src/components/SvgIcon/index.vue
create mode 100644 src/components/components/fileDetail.vue
create mode 100644 src/components/icons/IconCommunity.vue
create mode 100644 src/components/icons/IconDocumentation.vue
create mode 100644 src/components/icons/IconEcosystem.vue
create mode 100644 src/components/icons/IconSupport.vue
create mode 100644 src/components/icons/IconTooling.vue
create mode 100644 src/components/layouts/defaultLayout.vue
create mode 100644 src/components/layouts/navHeader.vue
create mode 100644 src/components/layouts/navMenu.vue
create mode 100644 src/components/layouts/recursiveMenuItem.vue
create mode 100644 src/components/layouts/resetDetail.vue
create mode 100644 src/components/layouts/tabs.vue
create mode 100644 src/main.js
create mode 100644 src/router/index.js
create mode 100644 src/stores/index.js
create mode 100644 src/stores/login.js
create mode 100644 src/stores/permission.js
create mode 100644 src/stores/tabs.js
create mode 100644 src/stores/user.js
create mode 100644 src/style.css
create mode 100644 src/utils/dictionary.js
create mode 100644 src/utils/disabledDate.js
create mode 100644 src/utils/fetchPublicIp.js
create mode 100644 src/utils/formatDate.js
create mode 100644 src/utils/permission.js
create mode 100644 src/utils/regexp.js
create mode 100644 src/utils/rem.js
create mode 100644 src/utils/request.js
create mode 100644 src/utils/requestSystem.js
create mode 100644 src/utils/svgIcon.js
create mode 100644 src/utils/utils.js
create mode 100644 src/views/error/404.vue
create mode 100644 src/views/home/index.vue
create mode 100644 vite.config.js
create mode 100644 yarn.lock
diff --git a/.env.Staging b/.env.Staging
new file mode 100644
index 0000000..b9b3971
--- /dev/null
+++ b/.env.Staging
@@ -0,0 +1,6 @@
+NODE_ENV = Staging
+VITE_NAME='Staging'
+VITE_BASE_URL='https://106.52.199.114:8000'
+VITE_FiLE_SYS='https://106.52.199.114:8000'
+VITE_HOME_URL='https://106.52.199.114:8000'
+VITE_CLIENT_ID='55DFB4F6-9FF1-4E26-8766-C9F1B1E2A912'
\ No newline at end of file
diff --git a/.env.development b/.env.development
new file mode 100644
index 0000000..5f20a02
--- /dev/null
+++ b/.env.development
@@ -0,0 +1,9 @@
+NODE_ENV = development
+VITE_NAME='开发环境'
+VITE_BASE_URL='http://localhost:19903'
+VITE_BASE_URL_SYSTEM='http://localhost:19901'
+VITE_HOME_URL='http://localhost:3000'
+VITE_CLIENT_ID="66DFB4F6-9FF1-4E26-8766-C9F1B1E2A984"
+VITE_FiLE_SYS='http://localhost:19901'
+VITE_FiLE_IMG='http://localhost:19903'
+VITE_FiLE='http://localhost:19903'
\ No newline at end of file
diff --git a/.env.production b/.env.production
new file mode 100644
index 0000000..87d6042
--- /dev/null
+++ b/.env.production
@@ -0,0 +1,5 @@
+NODE_ENV = production
+VITE_NAME='生产环境'
+VITE_BASE_URL=''
+VITE_HOME_URL=''
+VITE_CLIENT_ID="66DFB4F6-9FF1-4E26-8766-C9F1B1E2A984"
\ No newline at end of file
diff --git a/.env.test b/.env.test
new file mode 100644
index 0000000..5cd533b
--- /dev/null
+++ b/.env.test
@@ -0,0 +1,10 @@
+NODE_ENV = test
+VITE_NAME='测试环境'
+VITE_BASE_URL=''
+VITE_BASE_URL2='https://192.168.1.100:8000'
+VITE_HOME_URL='https://192.168.1.100:8000'
+VITE_BASE_URL_SYSTEM='http://192.168.1.100:8001'
+VITE_CLIENT_ID="66DFB4F6-9FF1-4E26-8766-C9F1B1E2A984"
+VITE_FiLE='https://192.168.1.100:19902'
+VITE_FiLE_SYS='https://192.168.1.100:19901'
+VITE_FiLE_IMG='https://192.168.1.100:19903'
\ No newline at end of file
diff --git a/.eslintrc.js b/.eslintrc.js
new file mode 100644
index 0000000..b230f8f
--- /dev/null
+++ b/.eslintrc.js
@@ -0,0 +1,23 @@
+module.exports = {
+ "env": {
+ "browser": true,
+ "es2021": true,
+ "node": true
+ },
+ "extends": [
+ "eslint:recommended",
+ "plugin:vue/essential"
+ ],
+ "parserOptions": {
+ "ecmaVersion": 12,
+ "sourceType": "module"
+ },
+ "plugins": [
+ "vue"
+ ],
+ "rules": {
+ "vue/no-v-model-argument": "off",
+ "vue/multi-word-component-names": "off",
+ "no-var": "error",
+ }
+};
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..38adffa
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,28 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+.DS_Store
+dist
+dist-ssr
+coverage
+*.local
+
+/cypress/videos/
+/cypress/screenshots/
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
new file mode 100644
index 0000000..c0a6e5a
--- /dev/null
+++ b/.vscode/extensions.json
@@ -0,0 +1,3 @@
+{
+ "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"]
+}
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000..cc71990
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,96 @@
+// Jenkinsfile for Project A
+
+pipeline {
+ agent any
+
+ parameters {
+ // ĿضĬֵ
+ string(name: 'GIT_REPO_URL', defaultValue: 'https://your-git-server.com/project-a.git', description: 'GitֿURL')
+ string(name: 'GIT_BRANCH', defaultValue: 'main', description: 'ҪȡGit֧')
+ credentials(name: 'GIT_CREDENTIALS_ID', defaultValue: 'your-git-credentials-id', description: 'Gitƾ֤ID', required: false)
+
+ string(name: 'BUILD_COMMAND', defaultValue: 'mvn clean package -DskipTests', description: 'ĿA') // project-a Ĵ
+
+ string(name: 'DOCKER_REGISTRY_URL', defaultValue: 'your-docker-registry.com', description: 'DockerֿURL')
+ string(name: 'DOCKER_IMAGE_NAME', defaultValue: 'project-a-app', description: 'Docker') // project-a ľ
+ string(name: 'IMAGE_BASE_TAG', defaultValue: '1.0', description: 'ǩ')
+ credentials(name: 'DOCKER_CREDENTIALS_ID', defaultValue: 'your-docker-registry-credentials-id', description: 'Dockerֿƾ֤ID', required: true)
+ booleanParam(name: 'PUSH_LATEST_TAG', defaultValue: true, description: 'Ƿͬʱ latest ǩ?')
+ }
+
+ environment {
+ FULL_IMAGE_NAME = "${params.DOCKER_REGISTRY_URL}/${params.DOCKER_IMAGE_NAME}"
+ IMAGE_TAG = "" // Checkout ̬
+ }
+
+ // tools { ... } // Ҫ
+
+ stages {
+ stage('1. Checkout Code') {
+ steps {
+ echo "ȡ ${params.GIT_REPO_URL}, ֧: ${params.GIT_BRANCH}"
+ cleanWs()
+ checkout([
+ $class: 'GitSCM',
+ branches: [[name: params.GIT_BRANCH]],
+ userRemoteConfigs: [[
+ url: params.GIT_REPO_URL,
+ credentialsId: params.GIT_CREDENTIALS_ID
+ ]],
+ extensions: [
+ [$class: 'CloneOption', shallow: true, noTags: true, depth: 1, timeout: 20],
+ [$class: 'PruneStaleBranch']
+ ]
+ ])
+ script {
+ def shortCommit = sh(script: 'git rev-parse --short HEAD', returnStdout: true).trim()
+ env.IMAGE_TAG = "${params.IMAGE_BASE_TAG}-${BUILD_NUMBER}-${shortCommit}"
+ echo "ɵľTAG: ${env.IMAGE_TAG}"
+ }
+ }
+ }
+
+ stage('2. Build and Package Application') {
+ steps {
+ echo "ʼӦ: ${params.BUILD_COMMAND}"
+ sh "${params.BUILD_COMMAND}"
+ echo "Ӧô."
+ }
+ }
+
+ stage('3. Build Docker Image') {
+ steps {
+ echo "ʼDocker: ${env.FULL_IMAGE_NAME}:${env.IMAGE_TAG}"
+ script {
+ docker.build("${env.FULL_IMAGE_NAME}:${env.IMAGE_TAG}", "-f Dockerfile .") // Dockerfile ڸĿ¼
+ }
+ echo "Docker: ${env.FULL_IMAGE_NAME}:${env.IMAGE_TAG}"
+ }
+ }
+
+ stage('4. Push Docker Image') {
+ steps {
+ echo "ʼDocker ${params.DOCKER_REGISTRY_URL}"
+ script {
+ docker.withRegistry(params.DOCKER_REGISTRY_URL, params.DOCKER_CREDENTIALS_ID) {
+ docker.image("${env.FULL_IMAGE_NAME}:${env.IMAGE_TAG}").push()
+ echo " ${env.FULL_IMAGE_NAME}:${env.IMAGE_TAG} ͳɹ."
+ if (params.PUSH_LATEST_TAG) {
+ docker.image("${env.FULL_IMAGE_NAME}:${env.IMAGE_TAG}").push('latest')
+ echo " ${env.FULL_IMAGE_NAME}:latest ͳɹ."
+ }
+ }
+ }
+ }
+ }
+ }
+
+ post {
+ always {
+ echo 'Pipeline .'
+ cleanWs()
+ }
+ // success { ... }
+ // failure { ... }
+ }
+}
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..0b307e5
--- /dev/null
+++ b/README.md
@@ -0,0 +1,29 @@
+# vue-project
+
+This template should help get you started developing with Vue 3 in Vite.
+
+## Recommended IDE Setup
+
+[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin).
+
+## Customize configuration
+
+See [Vite Configuration Reference](https://vitejs.dev/config/).
+
+## Project Setup
+
+```sh
+yarn install
+```
+
+### Compile and Hot-Reload for Development
+
+```sh
+yarn dev
+```
+
+### Compile and Minify for Production
+
+```sh
+yarn build
+```
diff --git a/eslint.config.mjs b/eslint.config.mjs
new file mode 100644
index 0000000..79a262b
--- /dev/null
+++ b/eslint.config.mjs
@@ -0,0 +1,12 @@
+import globals from "globals";
+import pluginJs from "@eslint/js";
+import pluginVue from "eslint-plugin-vue";
+
+
+/** @type {import('eslint').Linter.Config[]} */
+export default [
+ {files: ["**/*.{js,mjs,cjs,vue}"]},
+ {languageOptions: { globals: {...globals.browser, ...globals.node} }},
+ pluginJs.configs.recommended,
+ ...pluginVue.configs["flat/essential"],
+];
\ No newline at end of file
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..f9b20e4
--- /dev/null
+++ b/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ 集成化平台
+
+
+
+
+
+
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..157e038
--- /dev/null
+++ b/package.json
@@ -0,0 +1,40 @@
+{
+ "name": "vue-project",
+ "version": "0.0.0",
+ "scripts": {
+ "dev": "vite --mode development",
+ "build": "vite build --mode production",
+ "test": "vite build --mode test",
+ "build:env": "vite build --mode development",
+ "preview": "vite preview --mode production"
+ },
+ "dependencies": {
+ "axios": "^1.4.0",
+ "crypto-js": "^4.2.0",
+ "echarts": "^5.4.2",
+ "element-plus": "^2.9.1",
+ "jwt-decode": "^3.1.2",
+ "oidc-client": "^1.11.5",
+ "pinia": "^2.0.14",
+ "pinia-plugin-persist": "^1.0.0",
+ "print-js": "^1.6.0",
+ "qrcode.vue": "^3.6.0",
+ "vue": "^3.2.37",
+ "vue-router": "^4.1.2",
+ "xlsx": "^0.18.5",
+ "xlsx-style": "^0.8.13"
+ },
+ "devDependencies": {
+ "@vitejs/plugin-vue": "^2.3.3",
+ "@vitejs/plugin-vue-jsx": "^1.3.10",
+ "@vue/cli-plugin-eslint": "^5.0.8",
+ "autoprefixer": "^10.4.20",
+ "eslint": "^7.32.0",
+ "eslint-loader": "^4.0.2",
+ "eslint-plugin-vue": "^9.32.0",
+ "postcss-pxtorem": "^6.1.0",
+ "sass": "^1.32.13",
+ "vite": "^2.9.14",
+ "vite-plugin-svg-icons": "^2.0.1"
+ }
+}
diff --git a/public/favicon.ico b/public/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..8d3e14543c14b9d4dc81b0984b8578b8a5e91a7e
GIT binary patch
literal 4286
zcmeI$!3}^Q5Jb^W1ICkQj+SA$_F-W%NT`9t{3Wv_!|fe`l2a>vbMJ5fXOfC5>HRl(
jd$y5L!0RZWfC36Apnw7jD4>7>3Min!?*-;Rz^c0e>?-tb
literal 0
HcmV?d00001
diff --git a/src/App.vue b/src/App.vue
new file mode 100644
index 0000000..042c73a
--- /dev/null
+++ b/src/App.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/api/common/index.js b/src/api/common/index.js
new file mode 100644
index 0000000..ba3b2aa
--- /dev/null
+++ b/src/api/common/index.js
@@ -0,0 +1,108 @@
+import service from '@/utils/request'
+
+export function UploadAttachment(data, config) {
+ return service({
+ url: '/api/lmg/Common/UploadAttachment',
+ method: 'post',
+ data,
+ headers: {
+ 'Content-Type': 'multipart/form-data',
+ 'Custom-Header': 'CustomValue',
+ },
+ ...config
+ })
+}
+
+export function UploadMultipleAttachments(data, config) {
+ return service({
+ url: '/api/lmg/Common/UploadMultipleAttachments',
+ method: 'post',
+ data,
+ headers: {
+ 'Content-Type': 'multipart/form-data',
+ 'Custom-Header': 'CustomValue',
+ },
+ ...config
+ })
+}
+
+export function GetAttachmentById(params) {
+ return service({
+ url: '/api/lmg/Common/GetAttachmentById',
+ method: 'get',
+ params
+ })
+}
+
+export function DeleteAttachment(params) {
+ return service({
+ url: '/api/lmg/Common/DeleteAttachment',
+ method: 'delete',
+ params
+ })
+}
+
+
+export function GetStringObjectId(params) {
+ return service({
+ url: '/api/lmg/Common/GetStringObjectId',
+ method: 'get',
+ params
+ })
+}
+
+export function MigrationFile(params) {
+ return service({
+ url: '/api/lmg/Common/MigrationFile',
+ method: 'put',
+ params
+ })
+}
+
+export function GetProjectInfoList(params) {
+ return service({
+ url: '/api/lmg/Common/GetProjectInfoList',
+ method: 'get',
+ params
+ })
+}
+
+export function GetSectionList(params) {
+ return service({
+ url: '/api/lmg/Common/GetSectionList',
+ method: 'get',
+ params
+ })
+}
+
+export function GetLaborTeamPageList(params) {
+ return service({
+ url: '/api/lmg/Common/GetLaborTeamPageList',
+ method: 'get',
+ params
+ })
+}
+
+export function GetWorkerGroupPageList(params) {
+ return service({
+ url: '/api/lmg/Common/GetWorkerGroupPageList',
+ method: 'get',
+ params
+ })
+}
+
+export function GetAttacBusinessId(params) {
+ return service({
+ url: '/api/lmg/Common/GetAttacBusinessId',
+ method: 'get',
+ params
+ })
+}
+
+export function GetLoginResourceTree(params) {
+ return service({
+ url: '/api/lmg/Common/GetLoginResourceTree',
+ method: 'get',
+ params
+ })
+}
\ No newline at end of file
diff --git a/src/api/system/index.js b/src/api/system/index.js
new file mode 100644
index 0000000..a0753be
--- /dev/null
+++ b/src/api/system/index.js
@@ -0,0 +1,217 @@
+import service from "@/utils/requestSystem";
+
+
+export function GetLoginResourceTree(params) {
+ return service({
+ url: '/api/sys/Resources/GetLoginResourceTree',
+ method: 'get',
+ params
+ })
+}
+
+export function GetOwnerUnitPage(params) {
+ return service({
+ url: '/api/sys/OwnerUnit/GetPage',
+ method: 'get',
+ params
+ })
+}
+
+export function PostOwnerUnit(data) {
+ return service({
+ url: '/api/sys/OwnerUnit/Post',
+ method: 'post',
+ data
+ })
+}
+
+export function PutOwnerUnit(data) {
+ return service({
+ url: '/api/sys/OwnerUnit/Put',
+ method: 'put',
+ data
+ })
+}
+
+export function DeleteOwnerUnit(data) {
+ return service({
+ url: `/api/sys/OwnerUnit/Delete/${data}`,
+ method: 'delete',
+ })
+}
+
+export function GetSectionPage(params) {
+ return service({
+ url: '/api/sys/Section/GetPage',
+ method: 'get',
+ params
+ })
+}
+
+export function PostSection(data) {
+ return service({
+ url: '/api/sys/Section/Post',
+ method: 'post',
+ data
+ })
+}
+
+export function PutSection(data) {
+ return service({
+ url: '/api/sys/Section/Put',
+ method: 'put',
+ data
+ })
+}
+
+export function DeleteSection(data) {
+ return service({
+ url: `/api/sys/Section/Delete/${data}`,
+ method: 'delete',
+ })
+}
+
+
+export function UploadAttachment(data, config) {
+ return service({
+ url: '/api/sys/AttachmentConfig/UploadAttachment',
+ method: 'post',
+ data,
+ headers: {
+ 'Content-Type': 'multipart/form-data',
+ 'Custom-Header': 'CustomValue',
+ },
+ ...config
+ })
+}
+
+export function UpdateFile(params) {
+ return service({
+ url: '/api/sys/OtherAttachments/UpdateFile',
+ method: 'put',
+ params
+ })
+}
+
+export function GetAttacBusinessId(params) {
+ return service({
+ url: '/api/sys/OtherAttachments/GetAttacBusinessId',
+ method: 'get',
+ params
+ })
+}
+
+export function DeleteAttachment(data) {
+ return service({
+ url: `/api/sys/AttachmentConfig/DeleteAttachment/`,
+ method: 'delete',
+ data,
+ })
+}
+
+// export function DeleteAttachment(params) {
+// return service({
+// url: '/api/sys/OtherAttachments/DeleteAttachment',
+// method: 'delete',
+// params
+// })
+// }
+
+
+export function GetProjectInfoPage(params) {
+ return service({
+ url: '/api/sys/ProjectInfo/GetPage',
+ method: 'get',
+ params
+ })
+}
+
+export function PostProjectInfo(data) {
+ return service({
+ url: '/api/sys/ProjectInfo/Post',
+ method: 'post',
+ data
+ })
+}
+
+export function PutProjectInfo(data) {
+ return service({
+ url: '/api/sys/ProjectInfo/Put',
+ method: 'put',
+ data
+ })
+}
+
+export function DeleteProjectInfo(data) {
+ return service({
+ url: `/api/sys/ProjectInfo/Delete/${data}`,
+ method: 'delete',
+ })
+}
+
+
+export function GetLaborTeamPage(params) {
+ return service({
+ url: '/api/sys/LaborTeam/GetPage',
+ method: 'get',
+ params
+ })
+}
+
+export function PostLaborTeam(data) {
+ return service({
+ url: '/api/sys/LaborTeam/Post',
+ method: 'post',
+ data
+ })
+}
+
+export function PutLaborTeam(data) {
+ return service({
+ url: '/api/sys/LaborTeam/Put',
+ method: 'put',
+ data
+ })
+}
+
+export function DeleteLaborTeam(data) {
+ return service({
+ url: `/api/sys/LaborTeam/Delete/${data}`,
+ method: 'delete',
+ })
+}
+
+
+export function GetWorkerGroupPage(params) {
+ return service({
+ url: '/api/sys/WorkerGroup/GetPage',
+ method: 'get',
+ params
+ })
+}
+
+
+export function GetDictionaryGetPage(params) {
+ return service({
+ url: '/api/sys/Dictionary/GetPage',
+ method: 'get',
+ params
+ })
+}
+
+export function GetDictionaryidDicItems(params) {
+ return service({
+ url: '/api/sys/Dictionary/GetDictionaryidDicItems',
+ method: 'get',
+ params
+ })
+}
+
+export function ResetPassword(data) {
+ return service({
+ url: `/api/sys/User/ResetPassword/ResetPassword`,
+ method: 'post',
+ data
+ })
+}
+
diff --git a/src/assets/base.css b/src/assets/base.css
new file mode 100644
index 0000000..71dc55a
--- /dev/null
+++ b/src/assets/base.css
@@ -0,0 +1,74 @@
+/* color palette from */
+:root {
+ --vt-c-white: #ffffff;
+ --vt-c-white-soft: #f8f8f8;
+ --vt-c-white-mute: #f2f2f2;
+
+ --vt-c-black: #181818;
+ --vt-c-black-soft: #222222;
+ --vt-c-black-mute: #282828;
+
+ --vt-c-indigo: #2c3e50;
+
+ --vt-c-divider-light-1: rgba(60, 60, 60, 0.29);
+ --vt-c-divider-light-2: rgba(60, 60, 60, 0.12);
+ --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65);
+ --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48);
+
+ --vt-c-text-light-1: var(--vt-c-indigo);
+ --vt-c-text-light-2: rgba(60, 60, 60, 0.66);
+ --vt-c-text-dark-1: var(--vt-c-white);
+ --vt-c-text-dark-2: rgba(235, 235, 235, 0.64);
+}
+
+/* semantic color variables for this project */
+:root {
+ --color-background: var(--vt-c-white);
+ --color-background-soft: var(--vt-c-white-soft);
+ --color-background-mute: var(--vt-c-white-mute);
+
+ --color-border: var(--vt-c-divider-light-2);
+ --color-border-hover: var(--vt-c-divider-light-1);
+
+ --color-heading: var(--vt-c-text-light-1);
+ --color-text: var(--vt-c-text-light-1);
+
+ --section-gap: 160px;
+}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ --color-background: var(--vt-c-black);
+ --color-background-soft: var(--vt-c-black-soft);
+ --color-background-mute: var(--vt-c-black-mute);
+
+ --color-border: var(--vt-c-divider-dark-2);
+ --color-border-hover: var(--vt-c-divider-dark-1);
+
+ --color-heading: var(--vt-c-text-dark-1);
+ --color-text: var(--vt-c-text-dark-2);
+ }
+}
+
+*,
+*::before,
+*::after {
+ box-sizing: border-box;
+ margin: 0;
+ position: relative;
+ font-weight: normal;
+}
+
+body {
+ min-height: 100vh;
+ color: var(--color-text);
+ background: var(--color-background);
+ transition: color 0.5s, background-color 0.5s;
+ line-height: 1.6;
+ font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu,
+ Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
+ font-size: 15px;
+ text-rendering: optimizeLegibility;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
diff --git a/src/assets/icons/phone.svg b/src/assets/icons/phone.svg
new file mode 100644
index 0000000..7436e91
--- /dev/null
+++ b/src/assets/icons/phone.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/svg-payroll.svg b/src/assets/icons/svg-payroll.svg
new file mode 100644
index 0000000..47360cc
--- /dev/null
+++ b/src/assets/icons/svg-payroll.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/images/error/404_1.png b/src/assets/images/error/404_1.png
new file mode 100644
index 0000000000000000000000000000000000000000..61d55f3fbd6e7d6100304a6e1aff124fc956d5b4
GIT binary patch
literal 668212
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