Compare commits

...

2 Commits

Author SHA1 Message Date
jia 331309681e 余额明细角色 2023-11-25 16:02:05 +08:00
jia f46507c00b 代码更新 2023-11-20 18:31:05 +08:00
24 changed files with 1039 additions and 1113 deletions

427
admin/package-lock.json generated
View File

@ -9,6 +9,7 @@
"version": "0.0.0",
"license": "MIT",
"dependencies": {
"@amap/amap-jsapi-loader": "^1.0.1",
"@element-plus/icons-vue": "^2.0.6",
"@highlightjs/vue-plugin": "^2.1.0",
"@wangeditor/editor": "^5.1.12",
@ -24,6 +25,7 @@
"vue-clipboard3": "^2.0.0",
"vue-echarts": "^6.2.3",
"vue-router": "^4.0.16",
"vue-simple-calendar": "^6.3.1",
"vue3-video-play": "^1.3.1-beta.6",
"vuedraggable": "^4.1.0"
},
@ -60,6 +62,11 @@
"vue-tsc": "^0.38.1"
}
},
"node_modules/@amap/amap-jsapi-loader": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/@amap/amap-jsapi-loader/-/amap-jsapi-loader-1.0.1.tgz",
"integrity": "sha512-nPyLKt7Ow/ThHLkSvn2etQlUzqxmTVgK7bIgwdBRTg2HK5668oN7xVxkaiRe3YZEzGzfV2XgH5Jmu2T73ljejw=="
},
"node_modules/@ampproject/remapping": {
"version": "2.2.0",
"resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.2.0.tgz",
@ -411,9 +418,9 @@
}
},
"node_modules/@babel/parser": {
"version": "7.18.10",
"resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.18.10.tgz",
"integrity": "sha512-TYk3OA0HKL6qNryUayb5UUEhM/rkOQozIBEA5ITXh5DWrSp0TlUQXMyZmnWxG/DizSWBeeQ0Zbc5z8UGaaqoeg==",
"version": "7.23.3",
"resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.23.3.tgz",
"integrity": "sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==",
"bin": {
"parser": "bin/babel-parser.js"
},
@ -752,10 +759,9 @@
}
},
"node_modules/@jridgewell/sourcemap-codec": {
"version": "1.4.14",
"resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
"integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
"dev": true
"version": "1.4.15",
"resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
},
"node_modules/@jridgewell/trace-mapping": {
"version": "0.3.14",
@ -1289,49 +1295,60 @@
}
},
"node_modules/@vue/compiler-core": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.37.tgz",
"integrity": "sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==",
"version": "3.3.8",
"resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.3.8.tgz",
"integrity": "sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g==",
"dependencies": {
"@babel/parser": "^7.16.4",
"@vue/shared": "3.2.37",
"@babel/parser": "^7.23.0",
"@vue/shared": "3.3.8",
"estree-walker": "^2.0.2",
"source-map": "^0.6.1"
"source-map-js": "^1.0.2"
}
},
"node_modules/@vue/compiler-dom": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz",
"integrity": "sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==",
"version": "3.3.8",
"resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.3.8.tgz",
"integrity": "sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==",
"dependencies": {
"@vue/compiler-core": "3.2.37",
"@vue/shared": "3.2.37"
"@vue/compiler-core": "3.3.8",
"@vue/shared": "3.3.8"
}
},
"node_modules/@vue/compiler-sfc": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.37.tgz",
"integrity": "sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==",
"version": "3.3.8",
"resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.3.8.tgz",
"integrity": "sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA==",
"dependencies": {
"@babel/parser": "^7.16.4",
"@vue/compiler-core": "3.2.37",
"@vue/compiler-dom": "3.2.37",
"@vue/compiler-ssr": "3.2.37",
"@vue/reactivity-transform": "3.2.37",
"@vue/shared": "3.2.37",
"@babel/parser": "^7.23.0",
"@vue/compiler-core": "3.3.8",
"@vue/compiler-dom": "3.3.8",
"@vue/compiler-ssr": "3.3.8",
"@vue/reactivity-transform": "3.3.8",
"@vue/shared": "3.3.8",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7",
"postcss": "^8.1.10",
"source-map": "^0.6.1"
"magic-string": "^0.30.5",
"postcss": "^8.4.31",
"source-map-js": "^1.0.2"
}
},
"node_modules/@vue/compiler-sfc/node_modules/magic-string": {
"version": "0.30.5",
"resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.5.tgz",
"integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==",
"dependencies": {
"@jridgewell/sourcemap-codec": "^1.4.15"
},
"engines": {
"node": ">=12"
}
},
"node_modules/@vue/compiler-ssr": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz",
"integrity": "sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==",
"version": "3.3.8",
"resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.3.8.tgz",
"integrity": "sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w==",
"dependencies": {
"@vue/compiler-dom": "3.2.37",
"@vue/shared": "3.2.37"
"@vue/compiler-dom": "3.3.8",
"@vue/shared": "3.3.8"
}
},
"node_modules/@vue/devtools-api": {
@ -1364,57 +1381,71 @@
}
},
"node_modules/@vue/reactivity": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.37.tgz",
"integrity": "sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==",
"version": "3.3.8",
"resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.3.8.tgz",
"integrity": "sha512-ctLWitmFBu6mtddPyOKpHg8+5ahouoTCRtmAHZAXmolDtuZXfjL2T3OJ6DL6ezBPQB1SmMnpzjiWjCiMYmpIuw==",
"dependencies": {
"@vue/shared": "3.2.37"
"@vue/shared": "3.3.8"
}
},
"node_modules/@vue/reactivity-transform": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.37.tgz",
"integrity": "sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==",
"version": "3.3.8",
"resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.3.8.tgz",
"integrity": "sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw==",
"dependencies": {
"@babel/parser": "^7.16.4",
"@vue/compiler-core": "3.2.37",
"@vue/shared": "3.2.37",
"@babel/parser": "^7.23.0",
"@vue/compiler-core": "3.3.8",
"@vue/shared": "3.3.8",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7"
"magic-string": "^0.30.5"
}
},
"node_modules/@vue/reactivity-transform/node_modules/magic-string": {
"version": "0.30.5",
"resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.5.tgz",
"integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==",
"dependencies": {
"@jridgewell/sourcemap-codec": "^1.4.15"
},
"engines": {
"node": ">=12"
}
},
"node_modules/@vue/runtime-core": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.37.tgz",
"integrity": "sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==",
"version": "3.3.8",
"resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.3.8.tgz",
"integrity": "sha512-qurzOlb6q26KWQ/8IShHkMDOuJkQnQcTIp1sdP4I9MbCf9FJeGVRXJFr2mF+6bXh/3Zjr9TDgURXrsCr9bfjUw==",
"dependencies": {
"@vue/reactivity": "3.2.37",
"@vue/shared": "3.2.37"
"@vue/reactivity": "3.3.8",
"@vue/shared": "3.3.8"
}
},
"node_modules/@vue/runtime-dom": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.37.tgz",
"integrity": "sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==",
"version": "3.3.8",
"resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.3.8.tgz",
"integrity": "sha512-Noy5yM5UIf9UeFoowBVgghyGGPIDPy1Qlqt0yVsUdAVbqI8eeMSsTqBtauaEoT2UFXUk5S64aWVNJN4MJ2vRdA==",
"dependencies": {
"@vue/runtime-core": "3.2.37",
"@vue/shared": "3.2.37",
"csstype": "^2.6.8"
"@vue/runtime-core": "3.3.8",
"@vue/shared": "3.3.8",
"csstype": "^3.1.2"
}
},
"node_modules/@vue/server-renderer": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.37.tgz",
"integrity": "sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==",
"version": "3.3.8",
"resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.3.8.tgz",
"integrity": "sha512-zVCUw7RFskvPuNlPn/8xISbrf0zTWsTSdYTsUTN1ERGGZGVnRxM2QZ3x1OR32+vwkkCm0IW6HmJ49IsPm7ilLg==",
"dependencies": {
"@vue/compiler-ssr": "3.2.37",
"@vue/shared": "3.2.37"
"@vue/compiler-ssr": "3.3.8",
"@vue/shared": "3.3.8"
},
"peerDependencies": {
"vue": "3.3.8"
}
},
"node_modules/@vue/shared": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.37.tgz",
"integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw=="
"version": "3.3.8",
"resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.3.8.tgz",
"integrity": "sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw=="
},
"node_modules/@vue/tsconfig": {
"version": "0.1.3",
@ -2307,9 +2338,9 @@
}
},
"node_modules/csstype": {
"version": "2.6.20",
"resolved": "https://registry.npmmirror.com/csstype/-/csstype-2.6.20.tgz",
"integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA=="
"version": "3.1.2",
"resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.2.tgz",
"integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
},
"node_modules/d": {
"version": "1.0.1",
@ -4500,6 +4531,7 @@
"version": "0.25.9",
"resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz",
"integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
"dev": true,
"dependencies": {
"sourcemap-codec": "^1.4.8"
}
@ -4692,9 +4724,9 @@
"integrity": "sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g=="
},
"node_modules/nanoid": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz",
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
"version": "3.3.7",
"resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz",
"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
"bin": {
"nanoid": "bin/nanoid.cjs"
},
@ -5209,11 +5241,11 @@
}
},
"node_modules/postcss": {
"version": "8.4.14",
"resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.14.tgz",
"integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
"version": "8.4.31",
"resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.31.tgz",
"integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
"dependencies": {
"nanoid": "^3.3.4",
"nanoid": "^3.3.6",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
},
@ -5931,6 +5963,7 @@
"version": "0.6.1",
"resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
@ -5975,7 +6008,8 @@
"node_modules/sourcemap-codec": {
"version": "1.4.8",
"resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
"dev": true
},
"node_modules/split-string": {
"version": "3.1.0",
@ -6728,7 +6762,7 @@
"version": "4.7.4",
"resolved": "https://registry.npmmirror.com/typescript/-/typescript-4.7.4.tgz",
"integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==",
"dev": true,
"devOptional": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
@ -7139,15 +7173,23 @@
}
},
"node_modules/vue": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.2.37.tgz",
"integrity": "sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==",
"version": "3.3.8",
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.3.8.tgz",
"integrity": "sha512-5VSX/3DabBikOXMsxzlW8JyfeLKlG9mzqnWgLQLty88vdZL7ZJgrdgBOmrArwxiLtmS+lNNpPcBYqrhE6TQW5w==",
"dependencies": {
"@vue/compiler-dom": "3.2.37",
"@vue/compiler-sfc": "3.2.37",
"@vue/runtime-dom": "3.2.37",
"@vue/server-renderer": "3.2.37",
"@vue/shared": "3.2.37"
"@vue/compiler-dom": "3.3.8",
"@vue/compiler-sfc": "3.3.8",
"@vue/runtime-dom": "3.3.8",
"@vue/server-renderer": "3.3.8",
"@vue/shared": "3.3.8"
},
"peerDependencies": {
"typescript": "*"
},
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
},
"node_modules/vue-clipboard3": {
@ -7262,6 +7304,14 @@
"@vue/devtools-api": "^6.1.4"
}
},
"node_modules/vue-simple-calendar": {
"version": "6.3.1",
"resolved": "https://registry.npmmirror.com/vue-simple-calendar/-/vue-simple-calendar-6.3.1.tgz",
"integrity": "sha512-FUvFQPA9X6tuLj/8JY13HRTJQdFrKpej6B3dN6t4LCPVQUxPKu1K4URgh4cE3trpZNtepayiecehk+04nqb9BQ==",
"dependencies": {
"vue": "^3.2.47"
}
},
"node_modules/vue-tsc": {
"version": "0.38.9",
"resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-0.38.9.tgz",
@ -7394,6 +7444,11 @@
}
},
"dependencies": {
"@amap/amap-jsapi-loader": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/@amap/amap-jsapi-loader/-/amap-jsapi-loader-1.0.1.tgz",
"integrity": "sha512-nPyLKt7Ow/ThHLkSvn2etQlUzqxmTVgK7bIgwdBRTg2HK5668oN7xVxkaiRe3YZEzGzfV2XgH5Jmu2T73ljejw=="
},
"@ampproject/remapping": {
"version": "2.2.0",
"resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.2.0.tgz",
@ -7671,9 +7726,9 @@
}
},
"@babel/parser": {
"version": "7.18.10",
"resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.18.10.tgz",
"integrity": "sha512-TYk3OA0HKL6qNryUayb5UUEhM/rkOQozIBEA5ITXh5DWrSp0TlUQXMyZmnWxG/DizSWBeeQ0Zbc5z8UGaaqoeg=="
"version": "7.23.3",
"resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.23.3.tgz",
"integrity": "sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw=="
},
"@babel/plugin-syntax-import-meta": {
"version": "7.10.4",
@ -7948,10 +8003,9 @@
}
},
"@jridgewell/sourcemap-codec": {
"version": "1.4.14",
"resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
"integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
"dev": true
"version": "1.4.15",
"resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
},
"@jridgewell/trace-mapping": {
"version": "0.3.14",
@ -8413,49 +8467,59 @@
}
},
"@vue/compiler-core": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.37.tgz",
"integrity": "sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==",
"version": "3.3.8",
"resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.3.8.tgz",
"integrity": "sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g==",
"requires": {
"@babel/parser": "^7.16.4",
"@vue/shared": "3.2.37",
"@babel/parser": "^7.23.0",
"@vue/shared": "3.3.8",
"estree-walker": "^2.0.2",
"source-map": "^0.6.1"
"source-map-js": "^1.0.2"
}
},
"@vue/compiler-dom": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz",
"integrity": "sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==",
"version": "3.3.8",
"resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.3.8.tgz",
"integrity": "sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==",
"requires": {
"@vue/compiler-core": "3.2.37",
"@vue/shared": "3.2.37"
"@vue/compiler-core": "3.3.8",
"@vue/shared": "3.3.8"
}
},
"@vue/compiler-sfc": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.37.tgz",
"integrity": "sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==",
"version": "3.3.8",
"resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.3.8.tgz",
"integrity": "sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA==",
"requires": {
"@babel/parser": "^7.16.4",
"@vue/compiler-core": "3.2.37",
"@vue/compiler-dom": "3.2.37",
"@vue/compiler-ssr": "3.2.37",
"@vue/reactivity-transform": "3.2.37",
"@vue/shared": "3.2.37",
"@babel/parser": "^7.23.0",
"@vue/compiler-core": "3.3.8",
"@vue/compiler-dom": "3.3.8",
"@vue/compiler-ssr": "3.3.8",
"@vue/reactivity-transform": "3.3.8",
"@vue/shared": "3.3.8",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7",
"postcss": "^8.1.10",
"source-map": "^0.6.1"
"magic-string": "^0.30.5",
"postcss": "^8.4.31",
"source-map-js": "^1.0.2"
},
"dependencies": {
"magic-string": {
"version": "0.30.5",
"resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.5.tgz",
"integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==",
"requires": {
"@jridgewell/sourcemap-codec": "^1.4.15"
}
}
}
},
"@vue/compiler-ssr": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz",
"integrity": "sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==",
"version": "3.3.8",
"resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.3.8.tgz",
"integrity": "sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w==",
"requires": {
"@vue/compiler-dom": "3.2.37",
"@vue/shared": "3.2.37"
"@vue/compiler-dom": "3.3.8",
"@vue/shared": "3.3.8"
}
},
"@vue/devtools-api": {
@ -8485,57 +8549,67 @@
}
},
"@vue/reactivity": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.37.tgz",
"integrity": "sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==",
"version": "3.3.8",
"resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.3.8.tgz",
"integrity": "sha512-ctLWitmFBu6mtddPyOKpHg8+5ahouoTCRtmAHZAXmolDtuZXfjL2T3OJ6DL6ezBPQB1SmMnpzjiWjCiMYmpIuw==",
"requires": {
"@vue/shared": "3.2.37"
"@vue/shared": "3.3.8"
}
},
"@vue/reactivity-transform": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.37.tgz",
"integrity": "sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==",
"version": "3.3.8",
"resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.3.8.tgz",
"integrity": "sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw==",
"requires": {
"@babel/parser": "^7.16.4",
"@vue/compiler-core": "3.2.37",
"@vue/shared": "3.2.37",
"@babel/parser": "^7.23.0",
"@vue/compiler-core": "3.3.8",
"@vue/shared": "3.3.8",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7"
"magic-string": "^0.30.5"
},
"dependencies": {
"magic-string": {
"version": "0.30.5",
"resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.5.tgz",
"integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==",
"requires": {
"@jridgewell/sourcemap-codec": "^1.4.15"
}
}
}
},
"@vue/runtime-core": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.37.tgz",
"integrity": "sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==",
"version": "3.3.8",
"resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.3.8.tgz",
"integrity": "sha512-qurzOlb6q26KWQ/8IShHkMDOuJkQnQcTIp1sdP4I9MbCf9FJeGVRXJFr2mF+6bXh/3Zjr9TDgURXrsCr9bfjUw==",
"requires": {
"@vue/reactivity": "3.2.37",
"@vue/shared": "3.2.37"
"@vue/reactivity": "3.3.8",
"@vue/shared": "3.3.8"
}
},
"@vue/runtime-dom": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.37.tgz",
"integrity": "sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==",
"version": "3.3.8",
"resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.3.8.tgz",
"integrity": "sha512-Noy5yM5UIf9UeFoowBVgghyGGPIDPy1Qlqt0yVsUdAVbqI8eeMSsTqBtauaEoT2UFXUk5S64aWVNJN4MJ2vRdA==",
"requires": {
"@vue/runtime-core": "3.2.37",
"@vue/shared": "3.2.37",
"csstype": "^2.6.8"
"@vue/runtime-core": "3.3.8",
"@vue/shared": "3.3.8",
"csstype": "^3.1.2"
}
},
"@vue/server-renderer": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.37.tgz",
"integrity": "sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==",
"version": "3.3.8",
"resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.3.8.tgz",
"integrity": "sha512-zVCUw7RFskvPuNlPn/8xISbrf0zTWsTSdYTsUTN1ERGGZGVnRxM2QZ3x1OR32+vwkkCm0IW6HmJ49IsPm7ilLg==",
"requires": {
"@vue/compiler-ssr": "3.2.37",
"@vue/shared": "3.2.37"
"@vue/compiler-ssr": "3.3.8",
"@vue/shared": "3.3.8"
}
},
"@vue/shared": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.37.tgz",
"integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw=="
"version": "3.3.8",
"resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.3.8.tgz",
"integrity": "sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw=="
},
"@vue/tsconfig": {
"version": "0.1.3",
@ -9284,9 +9358,9 @@
}
},
"csstype": {
"version": "2.6.20",
"resolved": "https://registry.npmmirror.com/csstype/-/csstype-2.6.20.tgz",
"integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA=="
"version": "3.1.2",
"resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.2.tgz",
"integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
},
"d": {
"version": "1.0.1",
@ -10962,6 +11036,7 @@
"version": "0.25.9",
"resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz",
"integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
"dev": true,
"requires": {
"sourcemap-codec": "^1.4.8"
}
@ -11117,9 +11192,9 @@
"integrity": "sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g=="
},
"nanoid": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz",
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw=="
"version": "3.3.7",
"resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz",
"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g=="
},
"nanomatch": {
"version": "1.2.13",
@ -11526,11 +11601,11 @@
"dev": true
},
"postcss": {
"version": "8.4.14",
"resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.14.tgz",
"integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
"version": "8.4.31",
"resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.31.tgz",
"integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
"requires": {
"nanoid": "^3.3.4",
"nanoid": "^3.3.6",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
}
@ -12109,7 +12184,8 @@
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
},
"source-map-js": {
"version": "1.0.2",
@ -12148,7 +12224,8 @@
"sourcemap-codec": {
"version": "1.4.8",
"resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
"dev": true
},
"split-string": {
"version": "3.1.0",
@ -12763,7 +12840,7 @@
"version": "4.7.4",
"resolved": "https://registry.npmmirror.com/typescript/-/typescript-4.7.4.tgz",
"integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==",
"dev": true
"devOptional": true
},
"unimport": {
"version": "0.4.7",
@ -13116,15 +13193,15 @@
}
},
"vue": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.2.37.tgz",
"integrity": "sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==",
"version": "3.3.8",
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.3.8.tgz",
"integrity": "sha512-5VSX/3DabBikOXMsxzlW8JyfeLKlG9mzqnWgLQLty88vdZL7ZJgrdgBOmrArwxiLtmS+lNNpPcBYqrhE6TQW5w==",
"requires": {
"@vue/compiler-dom": "3.2.37",
"@vue/compiler-sfc": "3.2.37",
"@vue/runtime-dom": "3.2.37",
"@vue/server-renderer": "3.2.37",
"@vue/shared": "3.2.37"
"@vue/compiler-dom": "3.3.8",
"@vue/compiler-sfc": "3.3.8",
"@vue/runtime-dom": "3.3.8",
"@vue/server-renderer": "3.3.8",
"@vue/shared": "3.3.8"
}
},
"vue-clipboard3": {
@ -13214,6 +13291,14 @@
"@vue/devtools-api": "^6.1.4"
}
},
"vue-simple-calendar": {
"version": "6.3.1",
"resolved": "https://registry.npmmirror.com/vue-simple-calendar/-/vue-simple-calendar-6.3.1.tgz",
"integrity": "sha512-FUvFQPA9X6tuLj/8JY13HRTJQdFrKpej6B3dN6t4LCPVQUxPKu1K4URgh4cE3trpZNtepayiecehk+04nqb9BQ==",
"requires": {
"vue": "^3.2.47"
}
},
"vue-tsc": {
"version": "0.38.9",
"resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-0.38.9.tgz",

View File

@ -10,6 +10,7 @@
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore"
},
"dependencies": {
"@amap/amap-jsapi-loader": "^1.0.1",
"@element-plus/icons-vue": "^2.0.6",
"@highlightjs/vue-plugin": "^2.1.0",
"@wangeditor/editor": "^5.1.12",
@ -25,6 +26,7 @@
"vue-clipboard3": "^2.0.0",
"vue-echarts": "^6.2.3",
"vue-router": "^4.0.16",
"vue-simple-calendar": "^6.3.1",
"vue3-video-play": "^1.3.1-beta.6",
"vuedraggable": "^4.1.0"
},

View File

@ -3,7 +3,7 @@ import fsExtra from 'fs-extra'
const { existsSync, remove, copy } = fsExtra
const cwd = process.cwd()
//打包发布路径,谨慎改动
const releaseRelativePath = '../server/public/admin'
const releaseRelativePath = '../public/admin'
const distPath = path.resolve(cwd, 'dist')
const releasePath = path.resolve(cwd, releaseRelativePath)

View File

@ -0,0 +1,26 @@
import request from '@/utils/request'
// app更新列表
export function apiAppUpdateLists(params: any) {
return request.get({ url: '/app_update/lists', params })
}
// 添加app更新
export function apiAppUpdateAdd(params: any) {
return request.post({ url: '/app_update/add', params })
}
// 编辑app更新
export function apiAppUpdateEdit(params: any) {
return request.post({ url: '/app_update/edit', params })
}
// 删除app更新
export function apiAppUpdateDelete(params: any) {
return request.post({ url: '/app_update/delete', params })
}
// app更新详情
export function apiAppUpdateDetail(params: any) {
return request.get({ url: '/app_update/detail', params })
}

View File

@ -0,0 +1,19 @@
import request from "@/utils/request";
// 合同列表
export function apiContractLists(params: any) {
return request.get({ url: "/contract.VehicleContract/townRentList", params });
}
// 发送合同
// /adminapi/accnortt.VehicleContract / initiatingRentCarContract;
export function sendContract(params: any) {
return request.post({
url: "/contract.VehicleContract/initiatingRentCarContract",
params,
});
}
// 重新短信
export function sendMsg(params: any) {
return request.post({ url: "/contract.contract/sendSmsAgain", params });
}
// /adminapi//adminapi/contract.VehicleContract/initiatingRentCarContract

View File

@ -0,0 +1,26 @@
import request from '@/utils/request'
// 商机分类表列表
export function apiCategoryBusinessLists(params: any) {
return request.get({ url: '/archives.Business/lists', params })
}
// 添加商机分类表
export function apiCategoryBusinessAdd(params: any) {
return request.post({ url: '/archives.Business/create', params })
}
// 编辑商机分类表
export function apiCategoryBusinessEdit(params: any) {
return request.post({ url: '/archives.Business/edit', params })
}
// 删除商机分类表
export function apiCategoryBusinessDelete(params: any) {
return request.post({ url: '/archives.Business/delete', params })
}
// 商机分类表详情
export function apiCategoryBusinessDetail(params: any) {
return request.get({ url: '/archives.Business/detail', params })
}

27
admin/src/api/common.ts Normal file
View File

@ -0,0 +1,27 @@
import request from '@/utils/request'
// 省列表
export function apiProvinceList(params: any) {
return request.get({ url: '/geo/provinces', params })
}
// 市列表
export function apiCityList(params: any) {
return request.get({ url: '/geo/cities', params })
}
// 区列表
export function apiAreaList(params: any) {
return request.get({ url: '/geo/areas', params })
}
// 镇列表
export function apiStreetList(params: any) {
return request.get({ url: '/geo/streets', params })
}
// 村列表
export function apiVillageList(params: any) {
return request.get({ url: '/geo/villages', params })
}
// 队列表
export function apiBrigadeList() {
return request.get({ url: '/geo/brigades' })
}

110
admin/src/api/company.ts Normal file
View File

@ -0,0 +1,110 @@
import request from '@/utils/request'
// 公司列表
export function apiCompanyLists(params: any) {
return request.get({ url: '/company.Company/lists', params })
}
//获取公司余额明细、押金充值
export function apiCompanyLists1(params: any) {
return request.get({ url: '/company.company/lists', params })
}
// 添加公司
export function apiCompanyAdd(params: any) {
return request.post({ url: '/company.Company/create', params })
}
// 编辑公司
export function apiCompanyEdit(params: any) {
return request.post({ url: '/company.Company/edit', params })
}
// 删除公司
export function apiCompanyDelete(params: any) {
return request.post({ url: '/company.Company/delete', params })
}
// 公司详情
export function apiCompanyDetail(params: any) {
return request.get({ url: '/company.Company/detail', params })
}
//公司成员
export function companyUserLists(params: any) {
return request.get({ url: '/company.Company/companyUserLists', params })
}
//成员详情
export function companyUserDetail(params: any) {
return request.get({ url: '/company.Company/companyUserDetail', params })
}
// 下属公司详情
export function apiSubordinateList(params: any) {
return request.get({ url: '/company.Company/subsidiaryCompany', params })
}
// 获取公司类型
export function companyType(params: any) {
return request.get({ url: '/company.Company/companyType', params })
}
// 重新发送短信
export function sendMsgApi(params: any) {
return request.post({ url: '/contract.CompanyContract/sendSms', params })
}
// 生成合同
export function initiate_contract(params: any) {
return request.post({ url: '/company.Company/generateContract', params })
}
// 发送合同
export function generateGontract(params: any) {
return request.post({ url: '/contract.CompanyContract/DraftingContract', params })
}
// 发送个人合同
export function userGontract(params: any) {
return request.get({ url: '/user.user/Draftingcontracts', params })
}
// 企业认证
export function authentication(params: any) {
return request.post({ url: '/company.Company/enterpriseCertification', params })
}
// 平台公司
export function companyListTwo(params: any) {
return request.get({ url: '/company.Company/lists', params })
}
// 获取管辖区域
export function companyResponsibleArea(params: any) {
return request.get({ url: '/company.company/responsibleArea', params })
}
// 人脸采集
export function organizationFaceCreate(params: any) {
return request.get({ url: '/company/organizationFaceCreate', params })
}
// 押金线下对公账号转账凭证录入接口
export function depositRechargeTransferVoucher(params: any) {
return request.post({ url: '/company.company/depositRechargeTransferVoucher', params })
}
// 获取押金凭证录入列表
export function getDepositRechargeTransferVoucherList(params: any) {
return request.get({ url: '/company.company/getDepositRechargeTransferVoucherList', params })
}
// 根据公司id获取甲方公司信息
export function getPartyAbyCompanyId(params: any) {
return request.get({ url: '/company.company/getPartyA', params })
}
//合同类型
export function contractType(params: any) {
return request.get({ url: '/company.Company/contractType', params })
}

View File

@ -0,0 +1,26 @@
import request from '@/utils/request'
// 投诉反馈列表
export function apiCompanyComplaintFeedbackLists(params: any) {
return request.get({ url: '/company_complaint_feedback/lists', params })
}
// 添加投诉反馈
export function apiCompanyComplaintFeedbackAdd(params: any) {
return request.post({ url: '/company_complaint_feedback/add', params })
}
// 编辑投诉反馈
export function apiCompanyComplaintFeedbackEdit(params: any) {
return request.post({ url: '/company_complaint_feedback/edit', params })
}
// 删除投诉反馈
export function apiCompanyComplaintFeedbackDelete(params: any) {
return request.post({ url: '/company_complaint_feedback/delete', params })
}
// 投诉反馈详情
export function apiCompanyComplaintFeedbackDetail(params: any) {
return request.get({ url: '/company_complaint_feedback/detail', params })
}

View File

@ -0,0 +1,26 @@
import request from '@/utils/request'
// 公司认证表格列表
export function apiCompanyFormLists(params: any) {
return request.get({ url: '/company.Merchant/merchantAuthLists', params })
}
// 添加公司认证表格
export function apiCompanyFormAdd(params: any) {
return request.post({ url: '/company_form/add', params })
}
// 编辑公司认证表格
export function apiCompanyFormEdit(params: any) {
return request.post({ url: '/company_form/edit', params })
}
// 删除公司认证表格
export function apiCompanyFormDelete(params: any) {
return request.post({ url: '/company_form/delete', params })
}
// 公司认证表格详情
export function apiCompanyFormDetail(params: any) {
return request.get({ url: '/company_form/detail', params })
}

View File

@ -1,21 +1,56 @@
import request from '@/utils/request'
import request from "@/utils/request";
// 用户列表
export function getUserList(params: any) {
return request.get({ url: '/user.user/lists', params }, { ignoreCancelToken: true })
return request.get(
{ url: "/user.user/lists", params },
{ ignoreCancelToken: true }
);
}
// 用户详情
export function getUserDetail(params: any) {
return request.get({ url: '/user.user/detail', params })
return request.get({ url: "/user.user/detail", params });
}
// 用户编辑
export function userEdit(params: any) {
return request.post({ url: '/user.user/edit', params })
return request.post({ url: "/user.user/edit", params });
}
// 用户编辑
export function adjustMoney(params: any) {
return request.post({ url: '/user.user/adjustMoney', params })
return request.post({ url: "/user.user/adjustMoney", params });
}
// 发起合同
export function initiateContact(params: any) {
return request.post({ url: "/user.user/initiate_contract", params });
}
// 上传合同
export function upContact(params: any) {
return request.post({ url: "/contract.CompanyContract/uploadContract", params });
}
//生产个人合同
export function creatContact(params: any) {
return request.post({ url: "/user.user/Draftingcontracts", params });
}
//发送短息
export function sendMsgApi(params: any) {
return request.get({ url: "/contract.contract/postsms", params });
}
//公司下拉列表
export function getCompanyList(params: any) {
return request.get({ url: "/user.user/getCompanyList", params });
}
//角色下拉列表
export function getRolelist(params: any) {
return request.get({ url: "/user.userRole/getlist", params });
}
//创建用户
export function userAdd(params: any) {
return request.post({ url: "/user.user/add", params });
}

49
admin/src/api/contract.ts Normal file
View File

@ -0,0 +1,49 @@
import request from '@/utils/request'
// 合同列表
export function apiContractLists(params: any) {
return request.get({ url: '/contract.CompanyContract/lists', params })
}
// 添加合同
export function apiContractAdd(params: any) {
return request.post({ url: '/contract.contract/add', params })
}
// 编辑合同
export function apiContractEdit(params: any) {
return request.post({ url: '/contract.contract/edit', params })
}
// 删除合同
export function apiContractDelete(params: any) {
return request.post({ url: '/contract.contract/delete', params })
}
// 合同详情
export function apiContractDetail(params: any) {
return request.get({ url: '/contract.CompanyContract/detail', params })
}
// 三轮车合同列表
export function leaseContractList(params: any) {
return request.get({ url: "/contract.VehicleContract/lists", params });
}
//租赁详情
export function leaseContractDetail(params: any) {
return request.get({ url: "/contract.VehicleContract/detail", params });
}
//上传合同
export function leaseUpContract(params: any) {
return request.post({
url: "/contract.VehicleContract/uploadContract",
params,
});
}
//请求证据包下载地址
export function contractEvidence(params: any) {
return request.get({ url: "/contract.CompanyContract/evidence", params });
}

View File

@ -2,7 +2,7 @@ import request from '@/utils/request'
// 角色表列表
export function apiUserRoleLists(params: any) {
return request.get({ url: '/user.user_role/lists', params })
return request.get({ url: '/user.user/roleLists', params })
}
// 添加角色表

View File

@ -3,7 +3,7 @@ const config = {
title: "后台管理系统", //网站默认标题
version: "1.6.0", //版本号
baseUrl: `${
import.meta.env.VITE_APP_BASE_URL || "https://ceshi-middle.lihaink.cn/"
import.meta.env.VITE_APP_BASE_URL || "https://ceshi-middle.lihaink.cn"
}/`, //请求接口域名
urlPrefix: "adminapi", //请求默认前缀
timeout: 10 * 1000, //请求超时时长

View File

@ -4,7 +4,13 @@ import install from './install'
import './permission'
import './styles/index.scss'
import 'virtual:svg-icons-register'
import configs from './config/index'
window._AMapSecurityConfig = {
securityJsCode:'e8b6cb44e8e431d68052c8e10db99264',
}
const app = createApp(App)
app.use(install)
app.provide('base_url', configs.baseUrl+configs.urlPrefix);
app.mount('#app')

View File

@ -10,14 +10,7 @@
placeholder="请输入名称"
/>
</el-form-item>
<el-form-item label="排序" prop="sort">
<el-input
class="w-[280px]"
v-model="queryParams.sort"
clearable
placeholder="请输入排序"
/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select
class="w-[280px]"

View File

@ -43,6 +43,15 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="13">
<el-form-item label="绑定应用" prop="phone" v-for="(item,i) in formData.app_list" :key="i">
<el-input v-model="item.name" placeholder="绑定应用" :disabled="flag" clearable :style="{ width: '100%' }"></el-input>
</el-form-item>
</el-col>
</el-row>
<!-- <el-row>
<el-form-item label="省" prop="province" style="flex: 1">
<el-select v-model="formData.province" placeholder="请选择省" :disabled="flag" clearable @change="province_change" :style="{ width: '100%' }">
@ -369,7 +378,7 @@ const getDetails = async () => {
formData.gender = data.gender;
formData.phone = data.phone;
formData.gender = data.gender;
formData.app_list= data.app_list;
formData.contract_type = data.contract?.contract_type;
formData.party_b_name = data.contract?.party_b_name;
formData.party_b = data.contract?.party_b;
@ -380,9 +389,11 @@ const getDetails = async () => {
name: data.contract ?? "合同文件",
})
: "";
await getCityList();
await getAreaList();
await getStreetList();
// await getCityList();
// await getAreaList();
// await getStreetList();
};
const handleEdit = async (value: string, field: string) => {

View File

@ -41,6 +41,14 @@
<el-table-column label="账号" prop="phone" min-width="120" />
<el-table-column label="姓名" prop="nickname" min-width="100" />
<el-table-column label="联系方式" prop="phone" min-width="120" />
<!-- <el-table-column label="绑定应用" min-width="120">
<template #default="{ row }">
<div v-if="row.app_list.length>0">
<div v-for="(item,i) in row" :key="i"> {{ item.name }}</div>
</div>
<div v-else>暂无数据</div>
</template>
</el-table-column> -->
<!-- <el-table-column label="隶属公司" prop="company_name" min-width="180" align="center">
<template #default="{ row }">
{{ row.company?.company_name || '/' }}

View File

@ -101,12 +101,12 @@ const initUserList = async () => {
company_id: queryParams.company_id,
});
// let role = await apiUserRoleLists({});
// res = res.map((item: any) => {
// let p = role.lists.find((e: any) => e.id == item.group_id);
// p.name ? (item.group_name = p.name) : (item.group_name = "");
// return item;
// });
let role = await apiUserRoleLists({});
res = res.map((item: any) => {
let p = role.lists.find((e: any) => e.id == item.group_id);
p.name ? (item.group_name = p.name) : (item.group_name = "暂无角色");
return item;
});
userList.value = res;
};
initUserList();

View File

@ -1,488 +0,0 @@
<template>
<el-card class="!border-none mb-4" shadow="never">
<el-table :data="formData">
<el-table-column label="名称" prop="name" align="center" show-overflow-tooltip />
<el-table-column label="操作" show-overflow-tooltip align="center">
<template #default="{ row }">
<el-button type="primary" @click="editSystemFn(row)" link>
检测信息编辑
</el-button>
<el-button type="primary" @click="editSystemFn2(row)" link>
溯源信息编辑
</el-button>
</template>
</el-table-column>
</el-table>
</el-card>
<!-- 详情与编辑 -->
<el-dialog v-model="dialogTableVisible" width="30%" align-center>
<el-form label-width="100px" :model="formData1" style="max-width: 460px" v-if="id == 1">
<el-form-item label="土壤温度">
<el-input v-model="formData1.soil_temperature" />
</el-form-item>
<el-form-item label="土壤湿度">
<el-input v-model="formData1.soil_moisture" />
</el-form-item>
<el-form-item label="风向">
<el-input v-model="formData1.wind_direction" />
</el-form-item>
<el-form-item label="风速">
<el-input v-model="formData1.wind_speed" />
</el-form-item>
<el-form-item label="降雨量">
<el-input v-model="formData1.rainfall" />
</el-form-item>
<el-form-item label="光照">
<el-input v-model="formData1.illumination" />
</el-form-item>
<el-form-item label="二氧化碳">
<el-input v-model="formData1.carbon_dioxide_content" />
</el-form-item>
<el-row style="float: right;">
<el-button type="primary" @click="confirm(formData1)">确定</el-button>
<!-- <el-button @click="cancel">取消</el-button> -->
</el-row>
</el-form>
<el-form label-width="100px" :model="formData2" style="max-width: 460px" v-if="id == 2">
<el-form-item label="土壤温度">
<el-input v-model="formData2.soil_temperature" />
</el-form-item>
<el-form-item label="土壤湿度">
<el-input v-model="formData2.soil_moisture" />
</el-form-item>
<el-form-item label="风向">
<el-input v-model="formData2.wind_direction" />
</el-form-item>
<el-form-item label="风速">
<el-input v-model="formData2.wind_speed" />
</el-form-item>
<el-form-item label="降雨量">
<el-input v-model="formData2.rainfall" />
</el-form-item>
<el-form-item label="光照">
<el-input v-model="formData2.illumination" />
</el-form-item>
<el-form-item label="二氧化碳">
<el-input v-model="formData2.carbon_dioxide_content" />
</el-form-item>
<el-row style="float: right;">
<el-button type="primary" @click="confirm(formData2)">确定</el-button>
<!-- <el-button @click="cancel">取消</el-button> -->
</el-row>
</el-form>
<!-- -->
<el-form label-width="100px" :model="formData3" style="max-width: 460px" v-if="id == 3">
<el-form-item label="室内温度">
<el-input v-model="formData3.room_temperature" />
</el-form-item>
<el-form-item label="空气湿度">
<el-input v-model="formData3.air_humidity" />
</el-form-item>
<el-form-item label="氨气含量">
<el-input v-model="formData3.ammonia_nitrogen_content" />
</el-form-item>
<el-form-item label="甲烷含量">
<el-input v-model="formData3.methane_content" />
</el-form-item>
<el-form-item label="空气质量指数">
<el-input v-model="formData3.air_quality_index" />
</el-form-item>
<el-form-item label="降雨量">
<el-input v-model="formData3.rainfall" />
</el-form-item>
<el-form-item label="风向">
<el-input v-model="formData3.wind_direction" />
</el-form-item>
<el-form-item label="风速">
<el-input v-model="formData3.wind_direction" />
</el-form-item>
<el-form-item label="光照">
<el-input v-model="formData3.illumination" />
</el-form-item>
<el-row style="float: right;">
<el-button type="primary" @click="confirm(formData3)">确定</el-button>
<!-- <el-button @click="cancel">取消</el-button> -->
</el-row>
</el-form>
<!-- -->
<el-form label-width="100px" :model="formData4" style="max-width: 460px" v-if="id == 4">
<el-form-item label="池塘温度">
<el-input v-model="formData4.pond_temperature" />
</el-form-item>
<el-form-item label="池塘PH">
<el-input v-model="formData4.pond_ph_value" />
</el-form-item>
<el-form-item label="溶氧量">
<el-input v-model="formData4.dissolved_oxygen" />
</el-form-item>
<el-form-item label="氨氮量">
<el-input v-model="formData4.ammonia_nitrogen_content" />
</el-form-item>
<el-form-item label="亚硝酸盐">
<el-input v-model="formData4.nitrite_content" />
</el-form-item>
<el-row style="float: right;">
<el-button type="primary" @click="confirm(formData4)">确定</el-button>
<!-- <el-button @click="cancel">取消</el-button> -->
</el-row>
</el-form>
</el-dialog>
<el-dialog v-model="dialogTableVisible2" width="30%" align-center>
<div v-if="id == 1">
<div>柑橘溯源信息</div>
<el-form-item label="商品名称">
<el-input v-model="suyuan1.spmc" />
</el-form-item>
<el-form-item label="生产地址">
<el-input v-model="suyuan1.scdz" />
</el-form-item>
<el-form-item label="生长期">
<el-input v-model="suyuan1.szq" />
</el-form-item>
<el-form-item label="肥料名称">
<el-input v-model="suyuan1.flmc" />
</el-form-item>
<el-form-item label="肥料用量">
<el-input v-model="suyuan1.flyl" />
</el-form-item>
<el-form-item label="施肥人">
<el-input v-model="suyuan1.sfr" />
</el-form-item>
<el-form-item label="农药名称">
<el-input v-model="suyuan1.nymc" />
</el-form-item>
<el-form-item label="农药用量">
<el-input v-model="suyuan1.nyyl" />
</el-form-item>
<el-form-item label="打药人">
<el-input v-model="suyuan1.dyr" />
</el-form-item>
<el-form-item label="采摘人">
<el-input v-model="suyuan1.czr" />
</el-form-item>
<el-form-item label="果园图片">
<el-input v-model="suyuan1.gytp" />
</el-form-item>
</div>
<div v-if="id == 2">
<div>蔬菜溯源信息</div>
<el-form-item label="商品名称">
<el-input v-model="suyuan1.spmc" />
</el-form-item>
<el-form-item label="生产地址">
<el-input v-model="suyuan1.scdz" />
</el-form-item>
<el-form-item label="生长期">
<el-input v-model="suyuan1.scq" />
</el-form-item>
<el-form-item label="肥料名称">
<el-input v-model="suyuan1.flmc" />
</el-form-item>
<el-form-item label="肥料用量">
<el-input v-model="suyuan1.flyl" />
</el-form-item>
<el-form-item label="施肥人">
<el-input v-model="suyuan1.sfr" />
</el-form-item>
<el-form-item label="农药名称">
<el-input v-model="suyuan1.nymc" />
</el-form-item>
<el-form-item label="农药用量">
<el-input v-model="suyuan1.nyyl" />
</el-form-item>
<el-form-item label="打药人">
<el-input v-model="suyuan1.dyr" />
</el-form-item>
<el-form-item label="采摘人">
<el-input v-model="suyuan1.czr" />
</el-form-item>
<el-form-item label="蔬菜图片">
<el-input v-model="suyuan1.gytp" />
</el-form-item>
</div>
<div v-if="id == 3">
<div>鸡畜溯源信息</div>
<el-form-item label="商品名称">
<el-input v-model="suyuan3.spmc" />
</el-form-item>
<el-form-item label="生产地址">
<el-input v-model="suyuan3.scdz" />
</el-form-item>
<el-form-item label="生产期">
<el-input v-model="suyuan3.scq" />
</el-form-item>
<el-form-item label="饲料名称">
<el-input v-model="suyuan3.slmc" />
</el-form-item>
<el-form-item label="饲料用量">
<el-input v-model="suyuan3.slyl" />
</el-form-item>
<el-form-item label="饲养人">
<el-input v-model="suyuan3.syr" />
</el-form-item>
<el-form-item label="鸡畜图片">
<el-input v-model="suyuan3.jctp" />
</el-form-item>
</div>
<div v-if="id == 4">
<div>鱼虾溯源信息</div>
<el-form-item label="商品名称">
<el-input v-model="suyuan4.spmc" />
</el-form-item>
<el-form-item label="生产地址">
<el-input v-model="suyuan4.scdz" />
</el-form-item>
<el-form-item label="生产期">
<el-input v-model="suyuan4.scq" />
</el-form-item>
<el-form-item label="饲料名称">
<el-input v-model="suyuan4.slmc" />
</el-form-item>
<el-form-item label="饲料用量">
<el-input v-model="suyuan4.slyl" />
</el-form-item>
<el-form-item label="饲养人">
<el-input v-model="suyuan4.syr" />
</el-form-item>
<el-form-item label="鱼虾图片">
<el-input v-model="suyuan4.yxtp" />
</el-form-item>
</div>
<el-button type="primary" @click="confirm1">确定</el-button>
</el-dialog>
<el-dialog v-model="dialogTableVisible2" width="30%" align-center>
</el-dialog>
</template>
<script setup lang="ts">
// import { systemListApi, editAPI, systemDeleteApi, systemAddApi, systemEditApi } from "@/api/system";
import { editssAPI } from "@/api/testa.ts";
// import { apiCompanyLists } from "@/api/company";
import { reactive, ref } from "vue"
//
const refreshView = () => {
appStore.refreshView()
}
//
// hooks
const formData = reactive(
[
{
id: 1,
name: "柑橘",
},
{
id: 2,
name: "蔬菜",
}, {
id: 3,
name: "鸡畜",
}, {
id: 4,
name: "🐟",
}
]
)
const formData1 = reactive(
{
production_base_id: 1,
flag: 1,
soil_temperature: 20,
soil_moisture: 50,
wind_direction: "北",
wind_speed: "3.4",
rainfall: "20",
illumination: "2w",
carbon_dioxide_content: "450",
hour: "",
day: "",
month: ""
}
)
const formData2 = reactive(
{
production_base_id: 2,
flag: 1,
soil_temperature: 20,
soil_moisture: 50,
wind_direction: "北",
wind_speed: "3.4",
rainfall: "20",
illumination: "2w",
carbon_dioxide_content: "450",
}
)
const formData3 = reactive(
{
production_base_id: 3,
flag: 1,
room_temperature: 20,
air_humidity: 50,
ammonia_nitrogen_content: "北",
methane_content: "3.4",
air_quality_index: "20",
rainfall: "2w",
wind_direction: "450",
wind_speed: 40,
illumination: 40,
}
)
const formData4 = reactive(
{
production_base_id: 4,
flag: 1,
pond_temperature: 20,
pond_ph_value: 50,
dissolved_oxygen: "北",
ammonia_nitrogen_content: "3.4",
nitrite_content: "20",
}
)
const suyuan1 = reactive({
spmc: '',
scdz: "",
scq: "",
flmc: "",
flyl: "",
sfr: "",
nymc: "",
nyyl: "",
dyr: "",
dyr_img: "",
czr: "",
gytp: ""
})
const suyuan2 = reactive({
spmc: '',
scdz: "",
scq: "",
flmc: "",
flyl: "",
sfr: "",
nymc: "",
nyyl: "",
dyr: "",
dyr_img: "",
czr: "",
sctp: ""
})
const suyuan3 = reactive({
spmc: "",
scdz: "",
scq: "",
slmc: "",
slyl: "",
syr: "",
jctp: "",
})
const suyuan4 = reactive({
spmc: "",
scdz: "",
scq: "",
slmc: "",
slyl: "",
syr: "",
yxtp: "",
})
const dialogTableVisible = ref(false)
const dialogTableVisible2 = ref(false)
const dialogTableVisible3 = ref(false)
const id = ref(1)
// pop
const editSystemFn = (row) => {
id.value = row.id
dialogTableVisible.value = true
return
systemDetailApi({ id: row.id }).then(res => {
console.log(res)
for (var prop in formData) {
// @ts-ignore
formData[prop] = res[prop];
}
})
// refreshView()
}
const editSystemFn2 = (row) => {
id.value = row.id
dialogTableVisible2.value = true
return
systemDetailApi({ id: row.id }).then(res => {
console.log(res)
for (var prop in formData) {
// @ts-ignore
formData[prop] = res[prop];
}
})
// refreshView()
}
// d
const confirm = (formDatas: any) => {
console.log(formDatas)
editssAPI({ ...formDatas })
dialogTableVisible.value = false
}
const confirm1 = () => {
dialogTableVisible2.value = false
console.log(suyuan1.content)
}
</script>
<style lang="scss" scoped></style>

View File

@ -1,80 +1,3 @@
<template>
asdsa
edit
</template>
<script lang="ts" setup name="flowLists">
import { usePaging } from "@/hooks/usePaging";
import { systemEditApi, systemDetailApi } from "@/api/system";
import { reactive } from "vue"
const route = useRoute();
const setFormData = (data: Record<any, any>) => {
for (const key in formData) {
if (data[key] != null && data[key] != undefined) {
//@ts-ignore
formData[key] = data[key];
}
}
};
const formData = reactive({
id: null,
phone: null,
avatar: null,
nick_name: null,
real_name: null,
id_card: null,
gender: null,
age: null,
total_balance: null,
total_integral: null,
address: null,
status: null,
last_login_time: null,
last_login_ip: null,
create_time: null,
gender_text: null,
status_text: null,
balance_list: [
{
id: null,
record_id: null,
amount: null,
total_amount: null,
type: null,
pay_type: null,
mark: null,
create_time: null,
app: null,
type_text: null,
pay_type_text: null,
},
],
integral_list: [
{
id: null,
record_id: 1,
amount: "44.00",
total_amount: "66.00",
type: 1,
mark: "签到奖励",
appid: "AD1695113831",
create_time: "2023-09-19 17:52:44",
app: "里海超市",
type_text: "收入",
},
],
});
const queryParams = reactive({
name: "",
status: "1",
});
systemDetailApi({ id: route.query.id }).then((res) => {
setFormData(res);
});
</script>
<style lang="scss" scoped>
.bottomTables {
display: flex;
}
</style>

View File

@ -1,30 +1,4 @@
<template>
<!-- <el-card class="!border-none mb-4" shadow="never">
<el-form class="mb-[-16px]" :model="queryParams" inline>
<el-form-item label="姓名" prop="nick_name">
<el-input class="w-[280px]" v-model="queryParams.nick_name" clearable placeholder="请输入姓名" />
</el-form-item>
<el-form-item label="手机号" prop="phone">
<el-input class="w-[280px]" v-model="queryParams.phone" clearable placeholder="请输入手机号" />
</el-form-item>
<el-form-item label="所属片区" prop="address">
<el-input class="w-[280px]" v-model="queryParams.address" clearable placeholder="请选择" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" clearable placeholder="请选择状态">
<el-option label="正常" :value="0"></el-option>
<el-option label="禁用" :value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
</el-form-item>
</el-form>
</el-card> -->
<el-card class="!border-none mb-4" shadow="never">
<el-button type="primary" @click="addSystemFn">
新增
@ -36,6 +10,8 @@
</el-table-column>
<el-table-column label="应用appkey" prop="app_key" align="center" show-overflow-tooltip>
</el-table-column>
<el-table-column label="应用排序" prop="sort" align="center" show-overflow-tooltip>
</el-table-column>
<el-table-column label="应用状态" prop="status_text" align="center" show-overflow-tooltip>
</el-table-column>
<el-table-column label="创建时间" prop="create_time" align="center" show-overflow-tooltip>
@ -62,31 +38,49 @@
<!-- 详情与编辑 -->
<el-dialog v-model="dialogTableVisible" width="30%" align-center :title="poptit" @close="cancel">
<el-form label-width="100px" :model="formData" :disabled="formDisab" style="max-width: 460px">
<el-form-item label="应用ID" v-if="mode == 'r' || mode == 'u'">
<el-form-item label="应用ID">
<el-input :disabled="true" v-model="formData.id" />
</el-form-item>
<el-form-item label="应用名称">
<el-input v-model="formData.name" />
</el-form-item>
<el-form-item label="应用url" v-if="mode == 'r' || mode == 'c' || mode == 'u'">
<el-input v-model="formData.url" />
</el-form-item>
<el-form-item label="应用appid" v-if="mode == 'r'">
<el-form-item label="应用appid">
<el-input v-model="formData.app_id" />
</el-form-item>
<el-form-item label="应用appkey" v-if="mode == 'r'">
<el-form-item label="应用appkey">
<el-input v-model="formData.app_key" />
</el-form-item>
<el-form-item label="应用状态" v-if="mode == 'r' || mode == 'u'">
<el-form-item label="应用域名">
<el-input v-model="formData.url" />
</el-form-item>
<el-form-item label="应用状态">
<el-select v-model="formData.status" clearable class="w-[400px]">
<el-option label="正常" :value="0"></el-option>
<el-option label="异常" :value="1"></el-option>
<el-option label="删除" :value="2"></el-option>
</el-select>
</el-form-item>
<el-form-item label="注册状态">
<el-select v-model="formData.register_status" clearable class="w-[400px]">
<el-option label="未开启注册" :value="0"></el-option>
<el-option label="开启注册" :value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item label="创建时间" v-if="mode == 'r'">
<el-input v-model="formData.create_time" />
</el-form-item>
<el-form-item label="icon图标">
<el-input v-model="formData.icon" />
</el-form-item>
<el-form-item label="下载地址">
<el-input v-model="formData.down_url" />
</el-form-item>
<el-form-item label="版本号">
<el-input v-model="formData.app_version" />
</el-form-item>
<el-form-item label="排序">
<el-input v-model="formData.sort" />
</el-form-item>
<el-row style="float: right;">
<el-button type="primary" @click="confirm">确定</el-button>
<el-button @click="cancel">取消</el-button>
@ -97,26 +91,36 @@
<script setup lang="ts">
import { usePaging } from "@/hooks/usePaging";
import { systemListApi, systemDetailApi, systemDeleteApi, systemAddApi, systemEditApi } from "@/api/system";
import {
systemListApi,
systemDetailApi,
systemDeleteApi,
systemAddApi,
systemEditApi,
} from "@/api/system";
// import { apiCompanyLists } from "@/api/company";
import { reactive, ref } from "vue"
import { ElMessage, ElMessageBox } from 'element-plus'
import { markRaw } from 'vue'
import { Delete } from '@element-plus/icons-vue'
import useAppStore from '@/stores/modules/app'
const appStore = useAppStore()
import { reactive, ref } from "vue";
import { ElMessage, ElMessageBox } from "element-plus";
import { markRaw } from "vue";
import { Delete } from "@element-plus/icons-vue";
import useAppStore from "@/stores/modules/app";
import { inject } from "vue";
import useUserStore from "@/stores/modules/user";
const userStore = useUserStore();
const appStore = useAppStore();
const base_url: any = inject("base_url");
//
const refreshView = () => {
appStore.refreshView()
}
appStore.refreshView();
};
//
const queryParams = reactive({
nick_name: "",
phone: '',
phone: "",
status: "",
address: "",
});
const formDisab = ref(false)
const formDisab = ref(false);
// hooks
const { pager, getLists, resetParams, resetPage } = usePaging({
fetchFun: systemListApi,
@ -129,120 +133,172 @@ const formData = reactive({
app_key: null,
status: null,
create_time: null,
url: null
})
const dialogTableVisible = ref(false)
url: null,
register_status: null,
icon: null,
down_url: null,
sort: null,
app_version: null,
});
const dialogTableVisible = ref(false);
// pop
const poptit = ref("")
const mode = ref("")
const poptit = ref("");
const mode = ref("");
// c
const addSystemFn = () => {
mode.value = "c"
poptit.value = "添加子系统"
dialogTableVisible.value = true
mode.value = "c";
poptit.value = "添加子系统";
dialogTableVisible.value = true;
};
const handleAvatarSuccessAvatar: UploadProps["onSuccess"] = (
response
) => {
if (response.code == 0) {
ElMessage.error(response.msg);
return;
}
// r
formData.icon = response.data.uri;
};
const detailPop = (row: any) => {
console.log(row.id)
console.log(row.id);
// systemDeleteApi()
systemDetailApi({ id: row.id }).then(res => {
systemDetailApi({ id: row.id }).then((res) => {
// console.log(res)
for (var prop in formData) {
// @ts-ignore
formData[prop] = res[prop];
}
mode.value = "r"
poptit.value = "子系统详情"
dialogTableVisible.value = true
formDisab.value = true
})
}
mode.value = "r";
poptit.value = "子系统详情";
dialogTableVisible.value = true;
formDisab.value = true;
});
};
// u
const editSystemFn = (row) => {
systemDetailApi({ id: row.id }).then(res => {
console.log(res)
systemDetailApi({ id: row.id }).then((res) => {
console.log(res);
for (var prop in formData) {
// @ts-ignore
formData[prop] = res[prop];
}
});
mode.value = "u";
poptit.value = "子系统编辑";
dialogTableVisible.value = true;
}
})
mode.value = "u"
poptit.value = "子系统编辑"
dialogTableVisible.value = true
// refreshView()
}
};
// d
const deleteSystemFn = (row: any) => {
mode.value = "d"
ElMessageBox.confirm(
'确认删除该系统吗?',
'提示',
{
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning',
mode.value = "d";
ElMessageBox.confirm("确认删除该系统吗?", "提示", {
confirmButtonText: "确认",
cancelButtonText: "取消",
type: "warning",
icon: markRaw(Delete),
}
)
})
.then(() => {
systemDeleteApi({ id: row.id })
refreshView()
// ElMessage({
// type: 'success',
// message: '!',
// })
systemDeleteApi({ id: row.id });
refreshView();
})
.catch(() => {
ElMessage({
type: 'info',
message: '取消删除',
})
})
}
type: "info",
message: "取消删除",
});
});
refreshView()
};
const confirm = () => {
if (mode.value == "c") {
systemAddApi({
...formData
})
refreshView()
...formData,
});
refreshView();
getLists();
} else if (mode.value == "r") {
} else if (mode.value == "u") {
systemEditApi({ ...formData })
// ElMessage({
// type: 'success',
// message: '!',
// })
}
dialogTableVisible.value = false
refreshView()
systemEditApi({ ...formData });
}
dialogTableVisible.value = false;
refreshView();
getLists();
};
const cancel = () => {
dialogTableVisible.value = false
formDisab.value = false
console.log("关闭")
dialogTableVisible.value = false;
formDisab.value = false;
console.log("关闭");
for (var prop in formData) {
if (formData.hasOwnProperty(prop)) {
// @ts-ignore
formData[prop] = null;
}
}
}
};
getLists();
</script>
<style lang="scss" scoped></style>
<style lang="scss" scoped>
.avatar-uploader .el-upload {
width: 200px;
height: 130px;
background-color: #fff;
border: 1px dashed var(--el-border-color);
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
transition: var(--el-transition-duration-fast);
}
.headimg {
margin-left: 18px;
margin-bottom: 18px;
width: 120px;
height: 140px;
overflow: hidden;
border: 1px dashed var(--el-border-color);
border-radius: 6px;
flex-shrink: 0;
display: flex;
flex-direction: column;
align-items: center;
}
.avatar-uploader-head .el-upload {
width: 120px;
height: 140px;
background-color: #fff;
cursor: pointer;
position: relative;
overflow: hidden;
transition: var(--el-transition-duration-fast);
}
.avatar-uploader .el-upload:hover {
border-color: var(--el-color-primary);
}
.avatar {
width: 120px;
height: 140px;
}
.el-icon.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 120px;
height: 140px;
text-align: center;
}
.el-icon.avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 120px;
height: 140px;
text-align: center;
}
</style>

View File

@ -2,22 +2,7 @@
<div>
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
<el-form class="mb-[-16px]" inline>
<el-form-item label="公司名称" prop="company_id">
<el-input
class="w-[280px]"
v-model="queryParams.company_name"
clearable
placeholder="请输入公司"
/>
</el-form-item>
<el-form-item label="队长姓名" prop="company_id">
<el-input
class="w-[280px]"
v-model="queryParams.nickname"
clearable
placeholder="请输入队长姓名"
/>
</el-form-item>
<el-form-item label="档案名称" prop="company_id">
<el-input
class="w-[280px]"
@ -26,24 +11,6 @@
placeholder="请输入档案姓名"
/>
</el-form-item>
<el-form-item label="小队" prop="company_id">
<ElSelect
v-model="queryParams.brigade"
placeholder="请选择小队"
clearable
:style="{ width: '100%' }"
>
<el-option
v-for="(item, index) in [
{ brigade_name: '1队', id: '1' },
{ brigade_name: '2队', id: '2' },
]"
:key="index"
:label="item.brigade_name"
:value="item.id"
></el-option>
</ElSelect>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>

View File

@ -2,6 +2,11 @@
# yarn lockfile v1
"@amap/amap-jsapi-loader@^1.0.1":
"integrity" "sha512-nPyLKt7Ow/ThHLkSvn2etQlUzqxmTVgK7bIgwdBRTg2HK5668oN7xVxkaiRe3YZEzGzfV2XgH5Jmu2T73ljejw=="
"resolved" "https://registry.npmmirror.com/@amap/amap-jsapi-loader/-/amap-jsapi-loader-1.0.1.tgz"
"version" "1.0.1"
"@ampproject/remapping@^2.1.0":
"integrity" "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w=="
"resolved" "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.2.0.tgz"
@ -205,10 +210,10 @@
"chalk" "^2.0.0"
"js-tokens" "^4.0.0"
"@babel/parser@^7.16.4", "@babel/parser@^7.18.10":
"integrity" "sha512-TYk3OA0HKL6qNryUayb5UUEhM/rkOQozIBEA5ITXh5DWrSp0TlUQXMyZmnWxG/DizSWBeeQ0Zbc5z8UGaaqoeg=="
"resolved" "https://registry.npmmirror.com/@babel/parser/-/parser-7.18.10.tgz"
"version" "7.18.10"
"@babel/parser@^7.18.10", "@babel/parser@^7.23.0":
"integrity" "sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw=="
"resolved" "https://registry.npmmirror.com/@babel/parser/-/parser-7.23.3.tgz"
"version" "7.23.3"
"@babel/plugin-syntax-import-meta@^7.10.4":
"integrity" "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g=="
@ -391,10 +396,10 @@
"@jridgewell/gen-mapping" "^0.3.0"
"@jridgewell/trace-mapping" "^0.3.9"
"@jridgewell/sourcemap-codec@^1.4.10":
"integrity" "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
"resolved" "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz"
"version" "1.4.14"
"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.15":
"integrity" "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
"resolved" "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz"
"version" "1.4.15"
"@jridgewell/trace-mapping@^0.3.9":
"integrity" "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ=="
@ -705,47 +710,47 @@
"html-tags" "^3.1.0"
"svg-tags" "^1.0.0"
"@vue/compiler-core@^3.2.37", "@vue/compiler-core@3.2.37":
"integrity" "sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg=="
"resolved" "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.37.tgz"
"version" "3.2.37"
"@vue/compiler-core@^3.2.37", "@vue/compiler-core@3.3.8":
"integrity" "sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g=="
"resolved" "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.3.8.tgz"
"version" "3.3.8"
dependencies:
"@babel/parser" "^7.16.4"
"@vue/shared" "3.2.37"
"@babel/parser" "^7.23.0"
"@vue/shared" "3.3.8"
"estree-walker" "^2.0.2"
"source-map" "^0.6.1"
"source-map-js" "^1.0.2"
"@vue/compiler-dom@^3.2.37", "@vue/compiler-dom@3.2.37":
"integrity" "sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ=="
"resolved" "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz"
"version" "3.2.37"
"@vue/compiler-dom@^3.2.37", "@vue/compiler-dom@3.3.8":
"integrity" "sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ=="
"resolved" "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.3.8.tgz"
"version" "3.3.8"
dependencies:
"@vue/compiler-core" "3.2.37"
"@vue/shared" "3.2.37"
"@vue/compiler-core" "3.3.8"
"@vue/shared" "3.3.8"
"@vue/compiler-sfc@^3.2.29", "@vue/compiler-sfc@^3.2.37", "@vue/compiler-sfc@3.2.37":
"integrity" "sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg=="
"resolved" "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.37.tgz"
"version" "3.2.37"
"@vue/compiler-sfc@^3.2.29", "@vue/compiler-sfc@^3.2.37", "@vue/compiler-sfc@3.3.8":
"integrity" "sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA=="
"resolved" "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.3.8.tgz"
"version" "3.3.8"
dependencies:
"@babel/parser" "^7.16.4"
"@vue/compiler-core" "3.2.37"
"@vue/compiler-dom" "3.2.37"
"@vue/compiler-ssr" "3.2.37"
"@vue/reactivity-transform" "3.2.37"
"@vue/shared" "3.2.37"
"@babel/parser" "^7.23.0"
"@vue/compiler-core" "3.3.8"
"@vue/compiler-dom" "3.3.8"
"@vue/compiler-ssr" "3.3.8"
"@vue/reactivity-transform" "3.3.8"
"@vue/shared" "3.3.8"
"estree-walker" "^2.0.2"
"magic-string" "^0.25.7"
"postcss" "^8.1.10"
"source-map" "^0.6.1"
"magic-string" "^0.30.5"
"postcss" "^8.4.31"
"source-map-js" "^1.0.2"
"@vue/compiler-ssr@3.2.37":
"integrity" "sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw=="
"resolved" "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz"
"version" "3.2.37"
"@vue/compiler-ssr@3.3.8":
"integrity" "sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w=="
"resolved" "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.3.8.tgz"
"version" "3.3.8"
dependencies:
"@vue/compiler-dom" "3.2.37"
"@vue/shared" "3.2.37"
"@vue/compiler-dom" "3.3.8"
"@vue/shared" "3.3.8"
"@vue/devtools-api@^6.1.4", "@vue/devtools-api@^6.2.1":
"integrity" "sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ=="
@ -769,53 +774,53 @@
"@typescript-eslint/parser" "^5.0.0"
"vue-eslint-parser" "^9.0.0"
"@vue/reactivity-transform@3.2.37":
"integrity" "sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg=="
"resolved" "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.37.tgz"
"version" "3.2.37"
"@vue/reactivity-transform@3.3.8":
"integrity" "sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw=="
"resolved" "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.3.8.tgz"
"version" "3.3.8"
dependencies:
"@babel/parser" "^7.16.4"
"@vue/compiler-core" "3.2.37"
"@vue/shared" "3.2.37"
"@babel/parser" "^7.23.0"
"@vue/compiler-core" "3.3.8"
"@vue/shared" "3.3.8"
"estree-walker" "^2.0.2"
"magic-string" "^0.25.7"
"magic-string" "^0.30.5"
"@vue/reactivity@^3.2.37", "@vue/reactivity@3.2.37":
"integrity" "sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A=="
"resolved" "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.37.tgz"
"version" "3.2.37"
"@vue/reactivity@^3.2.37", "@vue/reactivity@3.3.8":
"integrity" "sha512-ctLWitmFBu6mtddPyOKpHg8+5ahouoTCRtmAHZAXmolDtuZXfjL2T3OJ6DL6ezBPQB1SmMnpzjiWjCiMYmpIuw=="
"resolved" "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.3.8.tgz"
"version" "3.3.8"
dependencies:
"@vue/shared" "3.2.37"
"@vue/shared" "3.3.8"
"@vue/runtime-core@3.2.37":
"integrity" "sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ=="
"resolved" "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.37.tgz"
"version" "3.2.37"
"@vue/runtime-core@3.3.8":
"integrity" "sha512-qurzOlb6q26KWQ/8IShHkMDOuJkQnQcTIp1sdP4I9MbCf9FJeGVRXJFr2mF+6bXh/3Zjr9TDgURXrsCr9bfjUw=="
"resolved" "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.3.8.tgz"
"version" "3.3.8"
dependencies:
"@vue/reactivity" "3.2.37"
"@vue/shared" "3.2.37"
"@vue/reactivity" "3.3.8"
"@vue/shared" "3.3.8"
"@vue/runtime-dom@3.2.37":
"integrity" "sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw=="
"resolved" "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.37.tgz"
"version" "3.2.37"
"@vue/runtime-dom@3.3.8":
"integrity" "sha512-Noy5yM5UIf9UeFoowBVgghyGGPIDPy1Qlqt0yVsUdAVbqI8eeMSsTqBtauaEoT2UFXUk5S64aWVNJN4MJ2vRdA=="
"resolved" "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.3.8.tgz"
"version" "3.3.8"
dependencies:
"@vue/runtime-core" "3.2.37"
"@vue/shared" "3.2.37"
"csstype" "^2.6.8"
"@vue/runtime-core" "3.3.8"
"@vue/shared" "3.3.8"
"csstype" "^3.1.2"
"@vue/server-renderer@3.2.37":
"integrity" "sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA=="
"resolved" "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.37.tgz"
"version" "3.2.37"
"@vue/server-renderer@3.3.8":
"integrity" "sha512-zVCUw7RFskvPuNlPn/8xISbrf0zTWsTSdYTsUTN1ERGGZGVnRxM2QZ3x1OR32+vwkkCm0IW6HmJ49IsPm7ilLg=="
"resolved" "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.3.8.tgz"
"version" "3.3.8"
dependencies:
"@vue/compiler-ssr" "3.2.37"
"@vue/shared" "3.2.37"
"@vue/compiler-ssr" "3.3.8"
"@vue/shared" "3.3.8"
"@vue/shared@^3.2.37", "@vue/shared@3.2.37":
"integrity" "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw=="
"resolved" "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.37.tgz"
"version" "3.2.37"
"@vue/shared@^3.2.37", "@vue/shared@3.3.8":
"integrity" "sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw=="
"resolved" "https://registry.npmmirror.com/@vue/shared/-/shared-3.3.8.tgz"
"version" "3.3.8"
"@vue/tsconfig@^0.1.3":
"integrity" "sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg=="
@ -1495,10 +1500,10 @@
dependencies:
"css-tree" "^1.1.2"
"csstype@^2.6.8":
"integrity" "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA=="
"resolved" "https://registry.npmmirror.com/csstype/-/csstype-2.6.20.tgz"
"version" "2.6.20"
"csstype@^3.1.2":
"integrity" "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
"resolved" "https://registry.npmmirror.com/csstype/-/csstype-3.1.2.tgz"
"version" "3.1.2"
"d@^1.0.1", "d@1":
"integrity" "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA=="
@ -2887,6 +2892,13 @@
dependencies:
"sourcemap-codec" "^1.4.8"
"magic-string@^0.30.5":
"integrity" "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA=="
"resolved" "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.5.tgz"
"version" "0.30.5"
dependencies:
"@jridgewell/sourcemap-codec" "^1.4.15"
"map-cache@^0.2.2":
"integrity" "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg=="
"resolved" "https://registry.npmmirror.com/map-cache/-/map-cache-0.2.2.tgz"
@ -3033,10 +3045,10 @@
"resolved" "https://registry.npmmirror.com/namespace-emitter/-/namespace-emitter-2.0.1.tgz"
"version" "2.0.1"
"nanoid@^3.1.25", "nanoid@^3.2.0", "nanoid@^3.3.4":
"integrity" "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw=="
"resolved" "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz"
"version" "3.3.4"
"nanoid@^3.1.25", "nanoid@^3.2.0", "nanoid@^3.3.6":
"integrity" "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g=="
"resolved" "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz"
"version" "3.3.7"
"nanomatch@^1.2.1":
"integrity" "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA=="
@ -3357,12 +3369,12 @@
"source-map" "^0.5.6"
"supports-color" "^3.2.3"
"postcss@^8.1.10", "postcss@^8.4.14":
"integrity" "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig=="
"resolved" "https://registry.npmmirror.com/postcss/-/postcss-8.4.14.tgz"
"version" "8.4.14"
"postcss@^8.4.14", "postcss@^8.4.31":
"integrity" "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ=="
"resolved" "https://registry.npmmirror.com/postcss/-/postcss-8.4.31.tgz"
"version" "8.4.31"
dependencies:
"nanoid" "^3.3.4"
"nanoid" "^3.3.6"
"picocolors" "^1.0.0"
"source-map-js" "^1.0.2"
@ -4063,7 +4075,7 @@
"resolved" "https://registry.npmmirror.com/type/-/type-2.7.0.tgz"
"version" "2.7.0"
"typescript@~4.7.4":
"typescript@*", "typescript@~4.7.4":
"integrity" "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ=="
"resolved" "https://registry.npmmirror.com/typescript/-/typescript-4.7.4.tgz"
"version" "4.7.4"
@ -4286,6 +4298,13 @@
dependencies:
"@vue/devtools-api" "^6.1.4"
"vue-simple-calendar@^6.3.1":
"integrity" "sha512-FUvFQPA9X6tuLj/8JY13HRTJQdFrKpej6B3dN6t4LCPVQUxPKu1K4URgh4cE3trpZNtepayiecehk+04nqb9BQ=="
"resolved" "https://registry.npmmirror.com/vue-simple-calendar/-/vue-simple-calendar-6.3.1.tgz"
"version" "6.3.1"
dependencies:
"vue" "^3.2.47"
"vue-tsc@^0.38.1":
"integrity" "sha512-Yoy5phgvGqyF98Fb4mYqboR4Q149jrdcGv5kSmufXJUq++RZJ2iMVG0g6zl+v3t4ORVWkQmRpsV4x2szufZ0LQ=="
"resolved" "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-0.38.9.tgz"
@ -4293,16 +4312,16 @@
dependencies:
"@volar/vue-typescript" "0.38.9"
"vue@^3.2.2", "vue@^3.2.37":
"integrity" "sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ=="
"resolved" "https://registry.npmmirror.com/vue/-/vue-3.2.37.tgz"
"version" "3.2.37"
"vue@^3.2.2", "vue@^3.2.37", "vue@^3.2.47", "vue@3.3.8":
"integrity" "sha512-5VSX/3DabBikOXMsxzlW8JyfeLKlG9mzqnWgLQLty88vdZL7ZJgrdgBOmrArwxiLtmS+lNNpPcBYqrhE6TQW5w=="
"resolved" "https://registry.npmmirror.com/vue/-/vue-3.3.8.tgz"
"version" "3.3.8"
dependencies:
"@vue/compiler-dom" "3.2.37"
"@vue/compiler-sfc" "3.2.37"
"@vue/runtime-dom" "3.2.37"
"@vue/server-renderer" "3.2.37"
"@vue/shared" "3.2.37"
"@vue/compiler-dom" "3.3.8"
"@vue/compiler-sfc" "3.3.8"
"@vue/runtime-dom" "3.3.8"
"@vue/server-renderer" "3.3.8"
"@vue/shared" "3.3.8"
"vue3-video-play@^1.3.1-beta.6":
"integrity" "sha512-Olrx2/LNAds7fuor/yX9ZKT9sOcwcfTt2g2YbbCrEaAmZ5Tb0hwBr5z+/CoLwELzzRzXCHPmWWoT0Wm5W/Nwpw=="