diff --git a/klp-ui/package.json b/klp-ui/package.json index 1250f72d..6b5e366b 100644 --- a/klp-ui/package.json +++ b/klp-ui/package.json @@ -10,7 +10,7 @@ "stage": "vue-cli-service serve --mode stage", "preview": "node build/index.js --preview", "lint": "eslint --ext .js,.vue src", - "test": "vitest" + "test": "jest --maxWorkers=4" }, "husky": { "hooks": { @@ -94,6 +94,7 @@ "connect": "3.6.6", "eslint": "7.15.0", "eslint-plugin-vue": "7.2.0", + "jest": "^30.2.0", "lint-staged": "10.5.3", "playwright": "^1.57.0", "runjs": "4.4.2", diff --git a/klp-ui/src/utils/klp.test.js b/klp-ui/src/utils/klp.test.js new file mode 100644 index 00000000..382e747d --- /dev/null +++ b/klp-ui/src/utils/klp.test.js @@ -0,0 +1,12 @@ +// 为日期格式化函数编写测试用例 +import {expect, test} from '@jest/globals'; +import { parseTime } from './klp.js' + +test('formatDate', () => { + expect(parseTime('2023-12-25', '{y}-{m}-{d}')).toBe('2023-12-25') +}) + +test('formatDate with custom format', () => { + const date = new Date('2023-12-25') + expect(parseTime(date, '{y}年{m}月{d}日')).toBe('2023年12月25日') +}) \ No newline at end of file diff --git a/klp-ui/src/views/wms/delivery/plan/index.vue b/klp-ui/src/views/wms/delivery/plan/index.vue index e004e272..e738fca5 100644 --- a/klp-ui/src/views/wms/delivery/plan/index.vue +++ b/klp-ui/src/views/wms/delivery/plan/index.vue @@ -65,39 +65,48 @@ - - - - - - - - - - - - - - - - + + + +
+ +
{{ row.planName }}
+
+
+
+ 计划日期: + {{ parseTime(row.planDate, '{y}-{m}-{d}') }} +
+
+ 备注: + {{ row.remark || '-' }} +
+
+ 创建人: + {{ row.createBy }} +
+
+ 更新时间: + {{ parseTime(row.updateTime, '{y}-{m}-{d}') }} +
+
+
+ 修改 + 删除 +
+
+
+
{ - this.deliveryPlanList = response.rows; + this.deliveryPlanList = response.rows.map(item => ({ + ...item, + selected: false + })); this.total = response.total; this.loading = false; + // 重置选择状态 + this.ids = []; + this.single = true; + this.multiple = true; }); }, // 取消按钮 @@ -217,11 +233,12 @@ export default { this.resetForm("queryForm"); this.handleQuery(); }, - // 多选框选中数据 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.planId) - this.single = selection.length !== 1 - this.multiple = !selection.length + // 卡片选择处理 + handleCardSelectionChange(row) { + // 重新计算选中的ID数组 + this.ids = this.deliveryPlanList.filter(item => item.selected).map(item => item.planId); + this.single = this.ids.length !== 1; + this.multiple = !this.ids.length; }, /** 新增按钮操作 */ handleAdd() { @@ -294,3 +311,50 @@ export default { } }; + + diff --git a/klp-ui/vitest.config.js b/klp-ui/vitest.config.js deleted file mode 100644 index 0a50ea90..00000000 --- a/klp-ui/vitest.config.js +++ /dev/null @@ -1,19 +0,0 @@ -import { defineConfig } from 'vitest/config' - -export default defineConfig({ - test: { - // 使用jsdom环境进行测试 - environment: 'jsdom', - // 测试文件匹配模式 - include: ['src/**/*.test.js'], - // 覆盖率配置 - coverage: { - reporter: ['text', 'json', 'html'] - } - }, - resolve: { - alias: { - '@': './src' - } - } -}) \ No newline at end of file