|
@@ -7,23 +7,51 @@ const dsk = (function () {
|
|
|
{ key: 'item', value: 3, name: '单项工程' },
|
|
|
{ key: 'unit', value: 4, name: '单位工程' },
|
|
|
];
|
|
|
- const DefaultFileType = [
|
|
|
- { key: 'submission', value: 1, name: '投标' },
|
|
|
- { key: 'invitation', value: 2, name: '招标/预算' },
|
|
|
- { key: 'control', value: 3, name: '控制价' },
|
|
|
- { key: 'change_budget', value: 4, name: '变更预算' },
|
|
|
- { key: 'estimate', value: 5, name: '概算' },
|
|
|
- { key: 'settlement', value: 10, name: '结算' },
|
|
|
- { key: 'gusuan', value: 15, name: '估算(可行性估算)' },
|
|
|
- { key: 'suggest_gusuan', value: 16, name: '建议估算' },
|
|
|
- { key: 'three_bill_budget', value: 18, name: '三级清单预算' },
|
|
|
- { key: 'bills_budget', value: 19, name: '清单预算' },
|
|
|
- ];
|
|
|
+ const FileType = {
|
|
|
+ default: [
|
|
|
+ { key: 'submission', value: 1, name: '投标' },
|
|
|
+ { key: 'invitation', value: 2, name: '招标/预算' },
|
|
|
+ { key: 'control', value: 3, name: '控制价' },
|
|
|
+ { key: 'change_budget', value: 4, name: '变更预算' },
|
|
|
+ { key: 'estimate', value: 5, name: '概算' },
|
|
|
+ { key: 'settlement', value: 10, name: '结算' },
|
|
|
+ { key: 'gusuan', value: 15, name: '估算(可行性估算)' },
|
|
|
+ { key: 'suggest_gusuan', value: 16, name: '建议估算' },
|
|
|
+ { key: 'three_bill_budget', value: 18, name: '三级清单预算' },
|
|
|
+ { key: 'bills_budget', value: 19, name: '清单预算' },
|
|
|
+ ],
|
|
|
+ gl: [
|
|
|
+ { key: 'submission', value: 1, name: '' },
|
|
|
+ { key: 'invitation', value: 2, name: '施工图预算' },
|
|
|
+ { key: 'control', value: 3, name: '' },
|
|
|
+ { key: 'change_budget', value: 4, name: '变更清单预算' },
|
|
|
+ { key: 'estimate', value: 5, name: '设计概算' },
|
|
|
+ { key: 'settlement', value: 10, name: '结算' },
|
|
|
+ { key: 'gusuan', value: 15, name: '可行性估算' },
|
|
|
+ { key: 'suggest_gusuan', value: 16, name: '建议估算' },
|
|
|
+ { key: 'three_bill_budget', value: 18, name: '分项清单预算' },
|
|
|
+ { key: 'bills_budget', value: 19, name: '工程量清单预算' },
|
|
|
+ ],
|
|
|
+ js: [
|
|
|
+ { key: 'submission', value: 1, name: '预算' },
|
|
|
+ { key: 'invitation', value: 2, name: '' },
|
|
|
+ { key: 'control', value: 3, name: '' },
|
|
|
+ { key: 'change_budget', value: 4, name: '变更清单预算' },
|
|
|
+ { key: 'estimate', value: 5, name: '概算' },
|
|
|
+ { key: 'settlement', value: 10, name: '结算' },
|
|
|
+ { key: 'gusuan', value: 15, name: '估算' },
|
|
|
+ { key: 'suggest_gusuan', value: 16, name: '' },
|
|
|
+ { key: 'three_bill_budget', value: 18, name: '' },
|
|
|
+ { key: 'bills_budget', value: 19, name: '' },
|
|
|
+ ]
|
|
|
+ };
|
|
|
// todo 每个编办下,文件类型对应的值不同,待需求整理数据
|
|
|
const CompilationFileType = [
|
|
|
- { compliationId: '5de61133d46f6f000d15d347', name: '全国公路(2018)', fileType: DefaultFileType },
|
|
|
- { compliationId: '63f31fe113566500140e4902', name: '广东公路(2018)', fileType: DefaultFileType },
|
|
|
- { compliationId: '66b1f3f6ad66620013c13883', name: '浙江公路(2025)', fileType: DefaultFileType },
|
|
|
+ { compliationId: '5de61133d46f6f000d15d347', name: '全国公路(2018)', fileType: FileType.gl },
|
|
|
+ { compliationId: '63f31fe113566500140e4902', name: '广东公路(2018)', fileType: FileType.gl },
|
|
|
+ { compliationId: '66b1f3f6ad66620013c13883', name: '浙江公路(2025)', fileType: FileType.gl },
|
|
|
+ { compliationId: '5b52b027fd3bb0000b257cf8', name: '重庆建设(2018)', fileType: FileType.js },
|
|
|
+ { compliationId: '5c66649650da2d000d8d37ba', name: '广东建设(2018)', fileType: FileType.js },
|
|
|
];
|
|
|
const projectTypeKey = (function(arr) {
|
|
|
const result = {};
|
|
@@ -137,7 +165,13 @@ const dsk = (function () {
|
|
|
if (!this.compliation) {
|
|
|
this.compliation = await loadCompilation();
|
|
|
for (const c of this.compliation) {
|
|
|
+ const cft = CompilationFileType.find(x => { return x.compliationId === c.ID; });
|
|
|
+ const FileType = cft ? cft.fileType : FileType.default;
|
|
|
c.project = await loadProject(c.ID);
|
|
|
+ for (const p of c.project) {
|
|
|
+ const pftype = p.property && p.property.fileType ? FileType.find(x => { return x.value === p.property.fileType; }) : null;
|
|
|
+ p.file_type_str = pftype ? pftype.name : '';
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -165,11 +199,8 @@ const dsk = (function () {
|
|
|
if (data.type === projectTypeKey.project) {
|
|
|
cur = parent;
|
|
|
} else {
|
|
|
- console.log(data);
|
|
|
const type = projectType.find(x => { return x.value === data.type; });
|
|
|
- const FileType = CompilationFileType.find(x => { return x.compliationId === compilation.ID; }) || DefaultFileType;
|
|
|
- const pftype = data.property && data.property.file_type ? FileType.find(x => { return x.value === data.file_type; }) : null;
|
|
|
- const node = { type: type.value, type_str: type.name, file_type_str: pftype ? pftype.name : '', dsk_id: data.ID, name: data.name, project_id: project.ID, compilation_id: compilation.ID };
|
|
|
+ const node = { type: type.value, type_str: type.name, dsk_id: data.ID, name: data.name, project_id: project.ID, compilation_id: compilation.ID };
|
|
|
cur = subjectTree.addNode(node, parent);
|
|
|
}
|
|
|
if (data.children) {
|
|
@@ -180,7 +211,7 @@ const dsk = (function () {
|
|
|
};
|
|
|
const loadTempTreeNode = function (data, parent) {
|
|
|
const type = projectType.find(x => { return x.value === data.type; });
|
|
|
- const node = { type: type.value, type_str: type.name, dsk_id: data.ID, name: data.name, compilation_id: compilation.ID };
|
|
|
+ const node = { type: type.value, type_str: type.name, file_type_str: data.file_type_str, dsk_id: data.ID, name: data.name, compilation_id: compilation.ID };
|
|
|
const cur = subjectTree.addNode(node, parent);
|
|
|
if (data.children) {
|
|
|
data.children.forEach(c => {
|
|
@@ -256,8 +287,8 @@ const dsk = (function () {
|
|
|
SpreadJsObj.initSheet(this.subjectSheet, {
|
|
|
cols: [
|
|
|
{title: '选择', field: 'selected', hAlign: 1, width: 60, formatter: '@', cellType: 'checkbox'},
|
|
|
- {title: '项目/分段名称', field: 'name', hAlign: 0, width: 660, formatter: '@', cellType: 'tree'},
|
|
|
- {title: '项目类型', field: 'file_type_str', hAlign: 1, width: 80, formatter: '@' },
|
|
|
+ {title: '项目/分段名称', field: 'name', hAlign: 0, width: 640, formatter: '@', cellType: 'tree'},
|
|
|
+ {title: '项目类型', field: 'file_type_str', hAlign: 1, width: 100, formatter: '@' },
|
|
|
{title: '类型', field: 'type_str', hAlign: 1, width: 80, formatter: '@' },
|
|
|
],
|
|
|
emptyRows: 0,
|