From e2d7f832adace99d91686ac74d2a3e36393f2505 Mon Sep 17 00:00:00 2001 From: Maoqiang Zheng Date: Tue, 9 Oct 2018 10:24:24 +0800 Subject: [PATCH] hand in for review --- src/assets/data.ts | 95 +++++++++++++++++++ src/assets/methodTool.ts | 16 ++-- src/assets/templateInitialData.ts | 25 +---- .../reportTemplate/ReportTemplate.vue | 78 +++++++-------- 4 files changed, 137 insertions(+), 77 deletions(-) diff --git a/src/assets/data.ts b/src/assets/data.ts index 6705e4d..b6e84d4 100644 --- a/src/assets/data.ts +++ b/src/assets/data.ts @@ -102,6 +102,101 @@ const data = { }, ], }, + { + id: 1234, + material: '颗粒板', + color: '暖白', + boardInfos: [ + { + houseName: 'F01', + closetName: 'G01', + boardNo: 'B1816478862', + boardName: '背板', + length: 944, + width: 59, + thickness: 18, + quantity: 1, + area: 0.568, + mutation: '', + shape: '', + direction: '1/1/1/1 ', + stripe: '正纹', + boardAddOn: '1', + }, + { + houseName: 'F01', + closetName: 'G01', + boardNo: 'B1816478862', + boardName: '层板', + length: 944, + width: 598, + thickness: 18, + quantity: 1, + area: 0.568, + mutation: '', + shape: '造型', + direction: '1/1/1/1 ', + stripe: '正纹', + boardAddOn: '2', + }, + { + houseName: 'F01', + closetName: 'G01', + boardNo: 'B1816478875', + boardName: '右侧板', + length: 1198, + width: 548, + thickness: 18, + quantity: 1, + area: 0.66, + mutation: '', + shape: '造型', + direction: '1/1/1/1 ', + stripe: '正纹', + boardAddOn: '3', + }, + ], + }, + { + id: 1235, + material: '生态板 ', + color: '暖黑', + boardInfos: [ + { + houseName: 'F01', + closetName: 'G01', + boardNo: 'B1816478862', + boardName: '背板', + length: 944, + width: 598, + thickness: 18, + quantity: 1, + area: 0.568, + mutation: '', + shape: '', + direction: '1/1/1/1 ', + stripe: '正纹', + boardAddOn: '4', + }, + { + houseName: 'F01', + closetName: 'G01', + boardNo: 'B1816478861', + + boardName: '背板', + length: 944, + width: 598, + thickness: 18, + quantity: 1, + area: 0.568, + mutation: '', + shape: '', + direction: '1/1/1/1 ', + stripe: '正纹', + boardAddOn: '5', + }, + ], + }, ], }; diff --git a/src/assets/methodTool.ts b/src/assets/methodTool.ts index 278d64f..5067b30 100644 --- a/src/assets/methodTool.ts +++ b/src/assets/methodTool.ts @@ -1,10 +1,10 @@ const Tool = { - addRow: (that, rowId) => { + addRow: (that: any, rowId: number) => { if (that.selectedRow) { for (const index in that.infos) { if (that.selectedRow === that.infos[index].rowId) { that.infos.splice(Number(index), 0, { - rowId: rowId, + rowId, rowTitle: rowId.toString(), cells: [], }); @@ -20,21 +20,23 @@ const Tool = { }); } }, - deleteRow: (that) => { + deleteRow: (that: any) => { if (!that.selectedRow) { return alert('请选择要删除行'); } - that.infos = that.infos.filter((item) => item.rowId !== that.selectedRow); + that.infos = that.infos.filter( + (item: any) => item.rowId !== that.selectedRow, + ); that.selectedRow = 0; }, - addCell: (that, cellId) => { + addCell: (that: any, cellId: number) => { if (!that.selectedRow) { return alert('请选择要添加单元的行'); } for (const row of that.infos) { if (that.selectedRow === row.rowId) { row.cells.push({ - cellId: cellId, + cellId, title: '列' + cellId, colspan: 0, height: 30, @@ -46,7 +48,7 @@ const Tool = { } }, - deleteCell: (that) => { + deleteCell: (that: any) => { // 9000 is initial cell Id. if (that.selectedCell === 9000) { return alert('请选择要删除的单元'); diff --git a/src/assets/templateInitialData.ts b/src/assets/templateInitialData.ts index 8bc8a69..80c9519 100644 --- a/src/assets/templateInitialData.ts +++ b/src/assets/templateInitialData.ts @@ -728,30 +728,7 @@ const initialTemplateData = [ }, ], }, - { - rowId: 9, - rowTitle: '9', - cells: [ - { - cellId: 9050, - title: '总计:', - colspan: '10', - height: 30, - textAlign: 'right', - fontSize: 16, - fontStyle: 'bold', - }, - { - cellId: 9051, - title: 'totalquantity', - colspan: '14', - height: 30, - textAlign: 'center', - fontSize: 16, - fontStyle: 'normal', - }, - ], - }, + { rowId: 10, rowTitle: '10', cells: [] }, { rowId: 11, rowTitle: '11', cells: [] }, { rowId: 12, rowTitle: '12', cells: [] }, diff --git a/src/components/reportTemplate/ReportTemplate.vue b/src/components/reportTemplate/ReportTemplate.vue index a9187e1..3477d1e 100644 --- a/src/components/reportTemplate/ReportTemplate.vue +++ b/src/components/reportTemplate/ReportTemplate.vue @@ -42,16 +42,16 @@
-
- 选择板材头模板:
- 开始:
- 结束: - -
-

以下功能用于测试使用

+ +
+ 选择板材头模板:
+ 开始:
+ 结束: + +

@@ -74,13 +74,9 @@ import data from '@/assets/data'; // userdata for testing use import reportCell from './reportCell.vue'; import test from './orderTitle.vue'; import { Tool } from '@/assets/methodTool'; -import { debug } from 'util'; let rowId = 30; // this figure is for testing use let cellId = 9050; // this figure is for testing use -let undoRodoPointer = -1; -let isundoOrRedoClick = false; -let isUpdateInfos = true; let copiedRowHolder: any; export default Vue.extend({ @@ -120,6 +116,8 @@ export default Vue.extend({ fontSize: number; fontStyle: string; }; + banCaiHeadStartLine: string; + banCaiHeadEndLine: string; } { return { infos: startUpRowColumn, @@ -143,8 +141,8 @@ export default Vue.extend({ fontSize: 0, fontStyle: '', }, - banCaiHeadStartLine: 5, - banCaiHeadEndLine: 8, + banCaiHeadStartLine: '5', + banCaiHeadEndLine: '8', }; }, computed: { @@ -235,7 +233,7 @@ export default Vue.extend({ }, copyBanCaiHeadTemplate() { let temStartLine = Number(this.banCaiHeadStartLine); - let banCaiHeadTemplateHolder = []; + const banCaiHeadTemplateHolder = []; while (temStartLine <= Number(this.banCaiHeadEndLine)) { banCaiHeadTemplateHolder.push( @@ -245,7 +243,7 @@ export default Vue.extend({ } return banCaiHeadTemplateHolder; }, - pasteBanCaiHeadTemplate(copyBanCaiTemplate) { + pasteBanCaiHeadTemplate(copyBanCaiTemplate: any) { const temCopyBanCaiTemplate = copyBanCaiTemplate; for (const banCaiRow of temCopyBanCaiTemplate) { for (const row of this.infos) { @@ -268,11 +266,11 @@ export default Vue.extend({ } } }, - pasteBanCaiBodyTemplate(boardIndex) { + pasteBanCaiBodyTemplate(boardIndex: number) { const boardInfosTemplateHolder = []; - const copyBanCaiBodyTemplateIndex = this.copyBanCaiBodyTemplate(); + const copyBanCaiBodyTemplateIndex: any = this.copyBanCaiBodyTemplate(); - for (let i = 0; i < data.boards[boardIndex].boardInfos.length; i++) { + for (const i of data.boards[boardIndex].boardInfos) { boardInfosTemplateHolder.push( this.copySingleRow(this.infos[copyBanCaiBodyTemplateIndex].rowId), ); @@ -298,10 +296,10 @@ export default Vue.extend({ } }, importData() { - const orderDetailsKeys = []; - const banCaiHeaderKeys = []; - const banCaiDetailsKeys = []; - const temRowHolder = []; + const orderDetailsKeys: string[] = []; + const banCaiHeaderKeys: string[] = []; + const banCaiDetailsKeys: string[] = []; + const temRowHolder: string[] = []; const banCaiTemplateIndexHolder = []; for (const key in data) { if (key !== 'boards') { @@ -313,11 +311,11 @@ export default Vue.extend({ banCaiHeaderKeys.push(key); } } - for (const key in data.boards[0].boardInfos[0]) { + for (const key of Object.keys(data.boards[0].boardInfos[0])) { banCaiDetailsKeys.push(key); } - const orderDetails = () => { + const addOrderDetails = () => { for (const row of this.infos) { for (const cell of row.cells) { if (orderDetailsKeys.indexOf(cell.title) !== -1) { @@ -327,21 +325,20 @@ export default Vue.extend({ } }; - const banCaiHeader = (index) => { + const addBanCaiHeader = (index: number) => { for (const row of this.infos) { for (const cell of row.cells) { if (banCaiHeaderKeys.indexOf(cell.title) !== -1) { if (temRowHolder.indexOf(row) === -1) { temRowHolder.push(this.copySingleRow(row.rowId)); } - cell.title = data.boards[index][cell.title]; } } } }; - const subQuantityMatch = (query) => { + const subQuantityMatch = (query: string) => { for (const row of this.infos) { for (const cell of row.cells) { if (cell.title === query) { @@ -350,33 +347,22 @@ export default Vue.extend({ } } }; - const totalQuantityMatch = (query) => { - for (const row of this.infos) { - for (const cell of row.cells) { - if (cell.title === query) { - cell.title = '总共板材数量'; - } - } - } - }; - // 复制板材的模板 + // 复制完整板材的模板 const copyBanCaiTemplate = []; - for (let i = 0; i < data.boards.length - 1; i++) { + for (const board of data.boards) { copyBanCaiTemplate.push(this.copyBanCaiHeadTemplate()); } - // orderDetails(); - for (let i = 0; i < data.boards.length - 1; i++) { - banCaiHeader(i); + addOrderDetails(); + for (let i = 0; i < data.boards.length; i++) { + addBanCaiHeader(i); this.pasteBanCaiBodyTemplate(i); subQuantityMatch('subquantity'); - this.pasteBanCaiHeadTemplate(copyBanCaiTemplate[i]); - banCaiHeader(i + 1); - this.pasteBanCaiBodyTemplate(i + 1); - subQuantityMatch('subquantity'); + if (i < data.boards.length - 1) { + this.pasteBanCaiHeadTemplate(copyBanCaiTemplate[i]); + } } - totalQuantityMatch('totalquantity'); }, // for testing use -----import data from other file