优化后台界面与无操作退出体验

This commit is contained in:
Cheng Zhou
2026-06-10 15:20:06 +08:00
parent ea3f19e241
commit 84e55af8fe
39 changed files with 793 additions and 608 deletions
+5 -6
View File
@@ -20,18 +20,18 @@ describe("DrugShipments project permissions", () => {
it("uses flexible data columns so the table fills the available page width", () => {
const source = readSource();
expect(source).toContain('class="ctms-table shipment-table"');
expect(source).toContain('class="shipment-table"');
expect(source).toContain('style="width: 100%"');
expect(source).toContain('table-layout="fixed"');
expect(source).toContain(':label="TEXT.common.labels.actions" width="130"');
expect(source).toContain(':label="TEXT.common.labels.actions" fixed="right"');
expect(source).not.toMatch(/prop="(?:site_name|direction|ship_date|receive_date|quantity|batch_no|status|remark)"[^>]+(?:min-width|width)=/);
});
it("keeps edit and delete actions on one line", () => {
const source = readSource();
expect(source).toContain('class="shipment-actions"');
expect(source).toContain(".shipment-actions");
expect(source).toContain('class="cell-actions"');
expect(source).toContain(".cell-actions");
expect(source).toContain("white-space: nowrap;");
});
@@ -43,11 +43,10 @@ describe("DrugShipments project permissions", () => {
expect(source).toContain('entity-type="drug_shipment"');
expect(source).toContain(':entity-id="editingId"');
expect(source).toContain(':mode="\'upload\'"');
expect(source).toContain(':center-upload-card-content="true"');
expect(source).toContain("attachmentPanelRef.value?.pendingSnapshot() || []");
expect(source).toContain("await attachmentPanelRef.value?.uploadPending(shipmentId)");
expect(source).toContain("uploadPending");
expect(source).toContain("group-dot-attachment");
expect(source).toContain("dot--purple");
expect(source).not.toContain("uploadAttachment");
expect(source).not.toContain("pendingFiles");
expect(source).not.toContain("upload-card-label");
@@ -23,11 +23,11 @@ describe("MaterialEquipment project permissions", () => {
it("keeps the visible table columns evenly distributed", () => {
const source = readSource();
expect(source).toContain('class="ctms-table equipment-table"');
expect(source).toContain('class="equipment-table"');
expect(source).toContain('style="width: 100%"');
expect(source).toContain('table-layout="fixed"');
expect(source).toContain('label="操作"');
expect(source).not.toMatch(/<el-table-column[^>]+label="操作"[^>]+(?:width|min-width)=/);
expect(source).not.toMatch(/<el-table-column[^>]+prop="(?:name|specModel|unit|brand)"[^>]+(?:width|min-width)=/);
});
it("opens the detail page from row clicks instead of a detail action button", () => {
@@ -54,7 +54,6 @@ describe("MaterialEquipment project permissions", () => {
expect(source).toContain('entity-type="material_equipment"');
expect(source).toContain(':entity-id="editingId"');
expect(source).toContain(':mode="\'upload\'"');
expect(source).toContain(':center-upload-card-content="true"');
expect(source).toContain("attachmentPanelRef.value?.pendingSnapshot() || []");
expect(source).toContain("await attachmentPanelRef.value?.uploadPending(equipmentId)");
expect(source).toContain("uploadPending");
@@ -20,10 +20,10 @@ describe("StartupFeasibilityEthics project permissions", () => {
expect(source).toContain('v-if="canReadEthics"');
expect(source).toContain("if (!canReadFeasibility.value)");
expect(source).toContain("if (!canReadEthics.value)");
expect(source).toContain('v-if="canCreateFeasibility"');
expect(source).toContain('v-if="activeTab === \'feasibility\' && canCreateFeasibility"');
expect(source).toContain('v-if="canUpdateFeasibility"');
expect(source).toContain('v-if="canDeleteFeasibility"');
expect(source).toContain('v-if="canCreateEthics"');
expect(source).toContain('v-if="activeTab === \'ethics\' && canCreateEthics"');
expect(source).toContain('v-if="canUpdateEthics"');
expect(source).toContain('v-if="canDeleteEthics"');
});