diff --git a/index.html b/index.html index e309699..410f45b 100644 --- a/index.html +++ b/index.html @@ -2,9 +2,9 @@ - + - backmanagerweb + 蜜雪冰城管理系统
diff --git a/package-lock.json b/package-lock.json index 88ef9f6..32ee282 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,8 +9,10 @@ "version": "0.0.0", "dependencies": { "@element-plus/icons-vue": "^2.3.2", + "element-china-area-data": "^5.0.2", "element-plus": "^2.14.1", - "vue": "^3.5.34" + "vue": "^3.5.34", + "vue-router": "4" }, "devDependencies": { "@vitejs/plugin-vue": "^6.0.6", @@ -549,6 +551,12 @@ "@vue/shared": "3.5.35" } }, + "node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, "node_modules/@vue/reactivity": { "version": "3.5.35", "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.35.tgz", @@ -643,6 +651,12 @@ "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==", "license": "MIT" }, + "node_modules/china-area-data": { + "version": "5.0.1", + "resolved": "https://registry.npmmirror.com/china-area-data/-/china-area-data-5.0.1.tgz", + "integrity": "sha512-BQDPpiv5Nn+018ekcJK2oSD9PAD+E1bvXB0wgabc//dFVS/KvRqCgg0QOEUt3vBkx9XzB5a9BmkJCEZDBxVjVw==", + "license": "MIT" + }, "node_modules/csstype": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", @@ -665,6 +679,16 @@ "node": ">=8" } }, + "node_modules/element-china-area-data": { + "version": "5.0.2", + "resolved": "https://registry.npmmirror.com/element-china-area-data/-/element-china-area-data-5.0.2.tgz", + "integrity": "sha512-vLQuvOKJy/uiX7MRHEk3x/j09hipuIl6DJ/C4XFUG7D7Pj3O47sy+Y6aAArM6k9v8cD9UX6e+yz2S4J+IPnZ8g==", + "license": "MIT", + "dependencies": { + "china-area-data": "^5.0.1", + "lodash-es": "^4.17.15" + } + }, "node_modules/element-plus": { "version": "2.14.1", "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.14.1.tgz", @@ -1284,6 +1308,21 @@ "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-3.3.3.tgz", "integrity": "sha512-x4nsFpy5Pe8fqPzp/5vkTPeTTDBpAx4WVtV47Ejt0+2FQrq4pRRsJs7JmYRqMFzTu/LW+pCWEjQ3YVCkPV7f9g==", "license": "MIT" + }, + "node_modules/vue-router": { + "version": "4.6.4", + "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.6.4.tgz", + "integrity": "sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.5.0" + } } } } diff --git a/package.json b/package.json index 299ca56..c9a210d 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@element-plus/icons-vue": "^2.3.2", - "element-china-area-data": "^6.1.0", + "element-china-area-data": "^5.0.2", "element-plus": "^2.14.1", "vue": "^3.5.34", "vue-router": "4" diff --git a/src/api/contract.js b/src/api/contract.js new file mode 100644 index 0000000..16f7c0f --- /dev/null +++ b/src/api/contract.js @@ -0,0 +1,41 @@ +import axios from 'axios' +import { mockContractAPI } from './mock/contract' + +// 开关:true 用 mock,false 用真实接口 +const USE_MOCK = true + +// axios 实例 +const request = axios.create({ + baseURL: '/api', + timeout: 5000 +}) + +// 获取合同列表 +export const getContractList = (params) => { + if (USE_MOCK) return mockContractAPI.getList(params) + return request.get('/contracts', { params }).then(r => r.data) +} + +// 获取合同详情 +export const getContractDetail = (id) => { + if (USE_MOCK) return mockContractAPI.getDetail(id) + return request.get(`/contracts/${id}`).then(r => r.data) +} + +// 新增合同 +export const createContract = (data) => { + if (USE_MOCK) return mockContractAPI.create(data) + return request.post('/contracts', data).then(r => r.data) +} + +// 更新合同 +export const updateContract = (id, data) => { + if (USE_MOCK) return mockContractAPI.update(id, data) + return request.put(`/contracts/${id}`, data).then(r => r.data) +} + +// 删除合同 +export const deleteContractAPI = (id) => { + if (USE_MOCK) return mockContractAPI.delete(id) + return request.delete(`/contracts/${id}`).then(r => r.data) +} diff --git a/src/api/customer.js b/src/api/customer.js new file mode 100644 index 0000000..26747e2 --- /dev/null +++ b/src/api/customer.js @@ -0,0 +1,41 @@ +import axios from 'axios' +import { mockCustomerAPI } from './mock/customer' + +// 开关:true 用 mock,false 用真实接口 +const USE_MOCK = true + +// axios 实例 +const request = axios.create({ + baseURL: '/api', + timeout: 5000 +}) + +// 获取客户列表 +export const getCustomerList = (params) => { + if (USE_MOCK) return mockCustomerAPI.getList(params) + return request.get('/customers', { params }).then(r => r.data) +} + +// 获取客户详情 +export const getCustomerDetail = (id) => { + if (USE_MOCK) return mockCustomerAPI.getDetail(id) + return request.get(`/customers/${id}`).then(r => r.data) +} + +// 新增客户 +export const createCustomer = (data) => { + if (USE_MOCK) return mockCustomerAPI.create(data) + return request.post('/customers', data).then(r => r.data) +} + +// 更新客户 +export const updateCustomer = (id, data) => { + if (USE_MOCK) return mockCustomerAPI.update(id, data) + return request.put(`/customers/${id}`, data).then(r => r.data) +} + +// 删除客户 +export const deleteCustomerAPI = (id) => { + if (USE_MOCK) return mockCustomerAPI.delete(id) + return request.delete(`/customers/${id}`).then(r => r.data) +} diff --git a/src/api/mock/contract.js b/src/api/mock/contract.js new file mode 100644 index 0000000..0099c2a --- /dev/null +++ b/src/api/mock/contract.js @@ -0,0 +1,151 @@ +// 模拟合同数据 +const mockContracts = [ + { + id: 1, + contract_no: 'HT-2025-001', + contract_name: '蜜雪冰城加盟合同', + type: '加盟合同', + party_a: '蜜雪冰城股份有限公司', + party_b: '张三', + sign_date: '2025-01-15', + start_date: '2025-02-01', + end_date: '2028-01-31', + amount: 300000, + status: '生效中', + remark: '三年期加盟合同', + create_time: '2025-01-15 10:30:00' + }, + { + id: 2, + contract_no: 'HT-2025-002', + contract_name: '原材料供货合同', + type: '供货合同', + party_a: '蜜雪冰城股份有限公司', + party_b: '李四', + sign_date: '2025-03-10', + start_date: '2025-04-01', + end_date: '2026-03-31', + amount: 50000, + status: '生效中', + remark: '年度供货协议', + create_time: '2025-03-10 09:15:00' + }, + { + id: 3, + contract_no: 'HT-2024-010', + contract_name: '门店租赁合同', + type: '租赁合同', + party_a: '蜜雪冰城股份有限公司', + party_b: '王五', + sign_date: '2024-06-20', + start_date: '2024-07-01', + end_date: '2025-06-30', + amount: 120000, + status: '已到期', + remark: '已续签', + create_time: '2024-06-20 14:20:00' + }, + { + id: 4, + contract_no: 'HT-2025-003', + contract_name: '设备维护服务合同', + type: '服务合同', + party_a: '蜜雪冰城股份有限公司', + party_b: '赵六', + sign_date: '2025-05-01', + start_date: '2025-05-15', + end_date: '2026-05-14', + amount: 15000, + status: '待审批', + remark: '', + create_time: '2025-05-01 11:00:00' + } +] + +// 模拟网络延迟 +const delay = (ms = 300) => new Promise(r => setTimeout(r, ms)) + +// Mock API +export const mockContractAPI = { + // 获取列表 + async getList(params = {}) { + await delay() + let result = [...mockContracts] + + // 关键词搜索 + if (params.keyword) { + const keyword = params.keyword.toLowerCase() + result = result.filter(item => + item.contract_no.toLowerCase().includes(keyword) || + item.contract_name.toLowerCase().includes(keyword) || + item.party_b.toLowerCase().includes(keyword) + ) + } + + // 合同类型筛选 + if (params.type) { + result = result.filter(item => item.type === params.type) + } + + // 日期范围筛选(按签订日期) + if (params.startDate && params.endDate) { + const start = new Date(params.startDate) + const end = new Date(params.endDate) + result = result.filter(item => { + const signDate = new Date(item.sign_date) + return signDate >= start && signDate <= end + }) + } + + // 状态筛选 + if (params.status) { + result = result.filter(item => item.status === params.status) + } + + return { code: 200, data: result, total: result.length } + }, + + // 获取详情 + async getDetail(id) { + await delay() + const contract = mockContracts.find(item => item.id === id) + if (contract) { + return { code: 200, data: contract } + } + return { code: 404, message: '合同不存在' } + }, + + // 新增 + async create(data) { + await delay() + const newContract = { + id: Date.now(), + ...data, + create_time: new Date().toISOString().replace('T', ' ').slice(0, 19) + } + mockContracts.push(newContract) + return { code: 200, data: newContract, message: '新增成功' } + }, + + // 更新 + async update(id, data) { + await delay() + const index = mockContracts.findIndex(item => item.id === id) + if (index !== -1) { + mockContracts[index] = { ...mockContracts[index], ...data } + return { code: 200, data: mockContracts[index], message: '更新成功' } + } + return { code: 404, message: '合同不存在' } + }, + + // 删除 + async delete(id) { + await delay() + const index = mockContracts.findIndex(item => item.id === id) + if (index !== -1) { + mockContracts.splice(index, 1) + return { code: 200, message: '删除成功' } + } + return { code: 404, message: '合同不存在' } + } +} diff --git a/src/api/mock/customer.js b/src/api/mock/customer.js new file mode 100644 index 0000000..42d4ae5 --- /dev/null +++ b/src/api/mock/customer.js @@ -0,0 +1,144 @@ +// 模拟客户数据 +const mockCustomers = [ + { + id: 1, + name: '张三', + phone: '13800138001', + province: '广东省', + city: '深圳市', + district: '南山区', + address: '科技园路1号', + email: 'zhangsan@example.com', + customer_type: 'VIP', + create_time: '2025-01-15 10:30:00' + }, + { + id: 2, + name: '李四', + phone: '13800138002', + province: '浙江省', + city: '杭州市', + district: '西湖区', + address: '文三路100号', + email: 'lisi@example.com', + customer_type: 'Normal', + create_time: '2025-02-20 14:20:00' + }, + { + id: 3, + name: '王五', + phone: '13800138003', + province: '四川省', + city: '成都市', + district: '武侯区', + address: '天府大道200号', + email: 'wangwu@example.com', + customer_type: 'VIP', + create_time: '2025-03-10 09:15:00' + }, + { + id: 4, + name: '赵六', + phone: '13800138004', + province: '湖南省', + city: '长沙市', + district: '岳麓区', + address: '麓山南路100号', + email: 'zhaoliu@example.com', + customer_type: 'Normal', + create_time: '2025-04-05 16:45:00' + } +] + +// 模拟网络延迟 +const delay = (ms = 300) => new Promise(r => setTimeout(r, ms)) + +// Mock API +export const mockCustomerAPI = { + // 获取列表 + async getList(params = {}) { + await delay() + let result = [...mockCustomers] + + // 关键词搜索 + if (params.keyword) { + const keyword = params.keyword.toLowerCase() + const searchField = params.searchField || '1' + + if (searchField === '2') { + // 编号:精确匹配 + result = result.filter(item => String(item.id) === keyword) + } else if (searchField === '1') { + // 姓名:模糊匹配 + result = result.filter(item => item.name.includes(keyword)) + } else if (searchField === '3') { + // 电话:模糊匹配 + result = result.filter(item => item.phone.includes(keyword)) + } else if (searchField === '4') { + // 邮箱:模糊匹配 + result = result.filter(item => item.email.includes(keyword)) + } else { + // 默认:模糊匹配所有字段 + result = result.filter(item => + String(item.id).includes(keyword) || + item.name.includes(keyword) || + item.phone.includes(keyword) || + item.email.includes(keyword) + ) + } + } + + // 客户类型筛选 + if (params.customer_type) { + result = result.filter(item => item.customer_type === params.customer_type) + } + + return { code: 200, data: result, total: result.length } + }, + + // 获取详情 + async getDetail(id) { + await delay() + const customer = mockCustomers.find(item => item.id === id) + if (customer) { + return { code: 200, data: customer } + } + return { code: 404, message: '客户不存在' } + }, + + // 新增 + async create(data) { + await delay() + // 生成自增 ID + const maxId = mockCustomers.length > 0 ? Math.max(...mockCustomers.map(item => item.id)) : 0 + const newCustomer = { + id: maxId + 1, + ...data, + create_time: new Date().toISOString().replace('T', ' ').slice(0, 19) + } + mockCustomers.push(newCustomer) + return { code: 200, data: newCustomer, message: '新增成功' } + }, + + // 更新 + async update(id, data) { + await delay() + const index = mockCustomers.findIndex(item => item.id === id) + if (index !== -1) { + mockCustomers[index] = { ...mockCustomers[index], ...data } + return { code: 200, data: mockCustomers[index], message: '更新成功' } + } + return { code: 404, message: '客户不存在' } + }, + + // 删除 + async delete(id) { + await delay() + const index = mockCustomers.findIndex(item => item.id === id) + if (index !== -1) { + mockCustomers.splice(index, 1) + return { code: 200, message: '删除成功' } + } + return { code: 404, message: '客户不存在' } + } +} diff --git a/src/components/contract.vue b/src/components/contract.vue index cc0df13..c4e0cfc 100644 --- a/src/components/contract.vue +++ b/src/components/contract.vue @@ -1,33 +1,176 @@ \ No newline at end of file diff --git a/src/components/customer.vue b/src/components/customer.vue index 4c6a2ce..f19ed45 100644 --- a/src/components/customer.vue +++ b/src/components/customer.vue @@ -1,63 +1,153 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index f181112..2d77a42 100644 --- a/yarn.lock +++ b/yarn.lock @@ -34,31 +34,9 @@ "@element-plus/icons-vue@^2.3.2": version "2.3.2" - resolved "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.2.tgz#7e9cb231fb738b2056f33e22c3a29e214b538dcf" + resolved "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.2.tgz" integrity sha512-OzIuTaIfC8QXEPmJvB4Y4kw34rSXdCJzxcD1kFStBvr8bK6X1zQAYDo0CNMjojnfTqRQCJ0I7prlErcoRiET2A== -"@emnapi/core@1.10.0": - version "1.10.0" - resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.10.0.tgz#380ccc8f2412ea22d1d972df7f8ee23a3b9c7467" - integrity sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw== - dependencies: - "@emnapi/wasi-threads" "1.2.1" - tslib "^2.4.0" - -"@emnapi/runtime@1.10.0": - version "1.10.0" - resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.10.0.tgz#4b260c0d3534204e98c6110b8db1a987d26ec87c" - integrity sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA== - dependencies: - tslib "^2.4.0" - -"@emnapi/wasi-threads@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz#28fed21a1ba1ce797c44a070abc94d42f3ae8548" - integrity sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w== - dependencies: - tslib "^2.4.0" - "@floating-ui/core@^1.7.5": version "1.7.5" resolved "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz" @@ -84,13 +62,6 @@ resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz" integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og== -"@napi-rs/wasm-runtime@^1.1.4": - version "1.1.4" - resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz#a46bbfedc29751b7170c5d23bc1d8ee8c7e3c1e1" - integrity sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow== - dependencies: - "@tybys/wasm-util" "^0.10.1" - "@oxc-project/types@=0.133.0": version "0.133.0" resolved "https://registry.npmjs.org/@oxc-project/types/-/types-0.133.0.tgz" @@ -101,80 +72,6 @@ resolved "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.8.tgz" integrity sha512-wOwESXvvED3S8xBmcPWHs2dUuzrE4XiZeFu7e1hROIJkm02a49N120pmOXxY33sBb6hArItm5W5tcg1cBtV+HQ== -"@rolldown/binding-android-arm64@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.3.tgz#54ce8f8382213f4a314a0c2f7ba83f81ffeae592" - integrity sha512-454rs7jHngixp/NMxd5srYD57OnzSlZ/eFTETjORQHLwJG1lRtmNOJcBerZlfu4GjKqeq8aCCIQrMdHyhI51Hw== - -"@rolldown/binding-darwin-arm64@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.3.tgz#388fca1566c14c00c4b446fc3928630e7f0d95fc" - integrity sha512-PcAhP+ynjURNyy8SKGl5DQP94aGuB/7JrXJb/t7P+hanXvQVMWzUvRRhBAcg/lNRadBhoUPqSoP4xw5tR/KBEA== - -"@rolldown/binding-darwin-x64@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.3.tgz#53f57de1f599ecf1db13823cfc88c18fb80954ad" - integrity sha512-9YpfeUvSE2RS7wysJ81uOZkXJz7f7Q55H2Gvp3VEw/EsahqDtrphrZ0EwDLK5vvKOzaCrBsjF8JmnMLcUt78Gg== - -"@rolldown/binding-freebsd-x64@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.3.tgz#6f3fdda1b7aeaac9d268a526804b4fb96e4e35f1" - integrity sha512-yB1IlAsSNHncV6SCTL27/MVGR5htvQsoGxIv5KMGXALp+Ll1wYsn+x98M9MW7qa+NdSbvrrY7ANI4wLJ0n1e6g== - -"@rolldown/binding-linux-arm-gnueabihf@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.3.tgz#d87a454bf585cc9676849377e91d6e375297326f" - integrity sha512-Yi30IVAAfLUCy2MseFjbB1jAMDl1VMCAas5StnYp8da9+CKvMd2H2cbEjWcw5NPaPqzvYkVIaF1nNUG+b7u/sw== - -"@rolldown/binding-linux-arm64-gnu@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.3.tgz#419fd6bf612cf348f10528cbcd94ebab9607d8d1" - integrity sha512-jsO7R8To+AdlYgUmN5sHSCZbfhtMBkO0WUx8iORQnPcMMdgr7qM2DQmMwgabs3GhNztdmoKkMKQFHD6DTMCIQw== - -"@rolldown/binding-linux-arm64-musl@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.3.tgz#fcc6918696bb76844877e1e4930a18fd0d374069" - integrity sha512-VWkUHwWriDciit80wleYwKILoR/KMvxh/IdwS/paX+ZgpuRpCrKLUdadJbc0NpBEiyhpYawsJ73j9aCvOH+f7Q== - -"@rolldown/binding-linux-ppc64-gnu@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.3.tgz#32aecb7c8dae5d4f2a8cde57a058ec86991542f8" - integrity sha512-5f1laC0SlIR0yDbFCd8acUhvJIag6N3zC5P7oUPN6wX0aOma+uKJ0wBDH5aq7I1PVI2ttTlhJwzwRIBnLiSGEg== - -"@rolldown/binding-linux-s390x-gnu@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.3.tgz#bed9346ea81e6bb8b93cf11f5d88b77db890b763" - integrity sha512-Iq4ko0r4XsgbrF/LunNgHtAGLRRVE2kXonAXQ/MV0mC6jQpMOhW1SvtZja2EhC/kd05++bP78dsqBeIQyYJ6Yg== - -"@rolldown/binding-linux-x64-gnu@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.3.tgz#64c2d26f75dffd9b5a1f97557a00ae77250c8cb7" - integrity sha512-B8m6tD5+/N5FeNQFbKlLA/2yVq9ycQP1SeedyEYYKWBNR3ZQbkvIUcNnDNM03lO1l5F2roiiFJGgvoLLyZXtSg== - -"@rolldown/binding-linux-x64-musl@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.3.tgz#5a45132e8a47659eeaaf3b540c2954a97c860ff3" - integrity sha512-pSdpdUJHkuCxun9LE7jvgUB9qsRgaiyNNCX7m/AvHTcq67AiT/Yhoxvw5zPfhrM8k/BfP8ce/hMOpthKDpEUow== - -"@rolldown/binding-openharmony-arm64@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.3.tgz#290513068c55e849dc8457a32afee1d7b0acb309" - integrity sha512-OXXS3RKJgX2uLwM+gYyuH5omcH8fL1LJs96pZGgtetVCahON57+d4SJHzTgZiOjxgGkSnpXpOsWuPDGAKAigEg== - -"@rolldown/binding-wasm32-wasi@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.3.tgz#3d9972dbf1a953d3c7afaa4a0f20ef2b2e39f31b" - integrity sha512-JTtb8BWFynicNSoPrehsCzBtOKjZ6jhMiPFEmOiuXg1Fl8dn2KHQob+GuPSGR0dryQa1PQJbzjF3dqO/whhjLg== - dependencies: - "@emnapi/core" "1.10.0" - "@emnapi/runtime" "1.10.0" - "@napi-rs/wasm-runtime" "^1.1.4" - -"@rolldown/binding-win32-arm64-msvc@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.3.tgz#a004ab607a16d6f03bcb555728ff888af75773ad" - integrity sha512-gEdFFEN70A/jxb2svrWsN3aDL7OUtmvlOy+6fa2jxG8K0wQ1ZbdeLGnidov6Yu5/733dI5ySfzFlQ/cb0bSz1g== - "@rolldown/binding-win32-x64-msvc@1.0.3": version "1.0.3" resolved "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.3.tgz" @@ -185,14 +82,7 @@ resolved "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz" integrity sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw== -"@tybys/wasm-util@^0.10.1": - version "0.10.2" - resolved "https://registry.yarnpkg.com/@tybys/wasm-util/-/wasm-util-0.10.2.tgz#12b3a1b33db1f9cad4ddff1f604ab7dd00bf464e" - integrity sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg== - dependencies: - tslib "^2.4.0" - -"@types/lodash-es@^4.17.12": +"@types/lodash-es@*", "@types/lodash-es@^4.17.12": version "4.17.12" resolved "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz" integrity sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ== @@ -260,7 +150,7 @@ "@vue/devtools-api@^6.6.4": version "6.6.4" - resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz#cbe97fe0162b365edc1dba80e173f90492535343" + resolved "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz" integrity sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g== "@vue/reactivity@3.5.35": @@ -325,10 +215,10 @@ async-validator@^4.2.5: resolved "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz" integrity sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg== -china-division@^2.7.0: - version "2.7.0" - resolved "https://registry.npmmirror.com/china-division/-/china-division-2.7.0.tgz#4060a4d243be66c7833dea64a48a4038f3e53e74" - integrity sha512-4uUPAT+1WfqDh5jytq7omdCmHNk3j+k76zEG/2IqaGcYB90c2SwcixttcypdsZ3T/9tN1TTpBDoeZn+Yw/qBEA== +china-area-data@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/china-area-data/-/china-area-data-5.0.1.tgz" + integrity sha512-BQDPpiv5Nn+018ekcJK2oSD9PAD+E1bvXB0wgabc//dFVS/KvRqCgg0QOEUt3vBkx9XzB5a9BmkJCEZDBxVjVw== csstype@^3.2.3: version "3.2.3" @@ -345,12 +235,13 @@ detect-libc@^2.0.3: resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz" integrity sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ== -element-china-area-data@^6.1.0: - version "6.1.0" - resolved "https://registry.npmmirror.com/element-china-area-data/-/element-china-area-data-6.1.0.tgz#f14b90c0762b21432e097ed5be8423514a0b57e3" - integrity sha512-IkpcjwQv2A/2AxFiSoaISZ+oMw1rZCPUSOg5sOCwT5jKc96TaawmKZeY81xfxXsO0QbKxU5LLc6AirhG52hUmg== +element-china-area-data@^5.0.2: + version "5.0.2" + resolved "https://registry.npmmirror.com/element-china-area-data/-/element-china-area-data-5.0.2.tgz" + integrity sha512-vLQuvOKJy/uiX7MRHEk3x/j09hipuIl6DJ/C4XFUG7D7Pj3O47sy+Y6aAArM6k9v8cD9UX6e+yz2S4J+IPnZ8g== dependencies: - china-division "^2.7.0" + china-area-data "^5.0.1" + lodash-es "^4.17.15" element-plus@^2.14.1: version "2.14.1" @@ -388,61 +279,6 @@ fdir@^6.5.0: resolved "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz" integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== -fsevents@~2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -lightningcss-android-arm64@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz#f033885116dfefd9c6f54787523e3514b61e1968" - integrity sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg== - -lightningcss-darwin-arm64@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz#50b71871b01c8199584b649e292547faea7af9b5" - integrity sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ== - -lightningcss-darwin-x64@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz#35f3e97332d130b9ca181e11b568ded6aebc6d5e" - integrity sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w== - -lightningcss-freebsd-x64@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz#9777a76472b64ed6ff94342ad64c7bafd794a575" - integrity sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig== - -lightningcss-linux-arm-gnueabihf@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz#13ae652e1ab73b9135d7b7da172f666c410ad53d" - integrity sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw== - -lightningcss-linux-arm64-gnu@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz#417858795a94592f680123a1b1f9da8a0e1ef335" - integrity sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ== - -lightningcss-linux-arm64-musl@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz#6be36692e810b718040802fd809623cffe732133" - integrity sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg== - -lightningcss-linux-x64-gnu@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz#0b7803af4eb21cfd38dd39fe2abbb53c7dd091f6" - integrity sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA== - -lightningcss-linux-x64-musl@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz#88dc8ba865ddddb1ac5ef04b0f161804418c163b" - integrity sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg== - -lightningcss-win32-arm64-msvc@1.32.0: - version "1.32.0" - resolved "https://registry.yarnpkg.com/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz#4f30ba3fa5e925f5b79f945e8cc0d176c3b1ab38" - integrity sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw== - lightningcss-win32-x64-msvc@1.32.0: version "1.32.0" resolved "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz" @@ -467,7 +303,7 @@ lightningcss@^1.32.0: lightningcss-win32-arm64-msvc "1.32.0" lightningcss-win32-x64-msvc "1.32.0" -lodash-es@^4.18.1: +lodash-es@*, lodash-es@^4.17.15, lodash-es@^4.18.1: version "4.18.1" resolved "https://registry.npmjs.org/lodash-es/-/lodash-es-4.18.1.tgz" integrity sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A== @@ -477,7 +313,7 @@ lodash-unified@^1.0.3: resolved "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz" integrity sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ== -lodash@^4.18.1: +lodash@*, lodash@^4.18.1: version "4.18.1" resolved "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz" integrity sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q== @@ -509,7 +345,7 @@ picocolors@^1.1.1: resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== -picomatch@^4.0.4: +"picomatch@^3 || ^4", picomatch@^4.0.4: version "4.0.4" resolved "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz" integrity sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A== @@ -560,12 +396,7 @@ tinyglobby@^0.2.17: fdir "^6.5.0" picomatch "^4.0.4" -tslib@^2.4.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" - integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== - -vite@^8.0.12: +"vite@^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", vite@^8.0.12: version "8.0.16" resolved "https://registry.npmjs.org/vite/-/vite-8.0.16.tgz" integrity sha512-h9bXPmJichP5fLmVQo3PyaGSDE2n3aPuomeAlVRm0JLmt4rY6zmPKd59HYI4LNW8oTK7tlTsuC7l/m7awx9Jcw== @@ -585,12 +416,12 @@ vue-component-type-helpers@^3.3.1: vue-router@4: version "4.6.4" - resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-4.6.4.tgz#a0a9cb9ef811a106d249e4bb9313d286718020d8" + resolved "https://registry.npmmirror.com/vue-router/-/vue-router-4.6.4.tgz" integrity sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg== dependencies: "@vue/devtools-api" "^6.6.4" -vue@^3.5.34: +vue@^3.2.0, vue@^3.2.25, vue@^3.3.7, vue@^3.5.0, vue@^3.5.34, vue@3.5.35: version "3.5.35" resolved "https://registry.npmjs.org/vue/-/vue-3.5.35.tgz" integrity sha512-cx89fnr+0kVGHiNFG6y6s0bdjypJRFNZn6x3WPstNdQR1bi1mbB7h4v5IBGTsPJU3nK1+0Iqj3Zf+hZWMieR4Q==