报价优化2
This commit is contained in:
parent
b30a855f56
commit
2128170f71
|
|
@ -66,6 +66,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
<vxe-column type="seq" title="序号" width="48"></vxe-column>
|
||||||
<vxe-column field="fittings" title="部件" width="160" :params="editorFittings" formatter="formatRef"
|
<vxe-column field="fittings" title="部件" width="160" :params="editorFittings" formatter="formatRef"
|
||||||
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
||||||
<vxe-column field="material" title="材料(免漆)" width="160" :params="editorMaterial" formatter="formatRef"
|
<vxe-column field="material" title="材料(免漆)" width="160" :params="editorMaterial" formatter="formatRef"
|
||||||
|
|
@ -82,9 +83,7 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.long_formula || '' }}
|
{{ row.long_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.long, 0)"></span>
|
||||||
{{ parseFloat(row.long || 0).toFixed(0) }}
|
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
@ -97,9 +96,7 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.width_formula || '' }}
|
{{ row.width_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.width, 0)"></span>
|
||||||
{{ parseFloat(row.width || 0).toFixed(0) }}
|
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
@ -112,9 +109,8 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.height_formula || '' }}
|
{{ row.height_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
|
||||||
{{ parseFloat(row.height || 0).toFixed(0) }}
|
<span v-else v-html="formatShowNumber(row.height, 0)"></span>
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
@ -133,12 +129,11 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.seal_formula || '' }}
|
{{ row.seal_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.seal, 2)"></span>
|
||||||
{{ parseFloat(row.seal || 0).toFixed(2) }}
|
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
<vxe-column type="seq" title="序号" width="48"></vxe-column>
|
||||||
<vxe-column field="rate_materials" title="主材利用率" width="80"
|
<vxe-column field="rate_materials" title="主材利用率" width="80"
|
||||||
:edit-render="{ name: '$input', props: { type: 'number' } }"></vxe-column>
|
:edit-render="{ name: '$input', props: { type: 'number' } }"></vxe-column>
|
||||||
<vxe-column field="paint_number" title="油漆面" width="80"
|
<vxe-column field="paint_number" title="油漆面" width="80"
|
||||||
|
|
@ -153,9 +148,7 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.board_length_formula || '' }}
|
{{ row.board_length_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.board_length, 3)"></span>
|
||||||
{{ parseFloat(row.board_length || 0).toFixed(3) }}
|
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -208,6 +201,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
<vxe-column type="seq" title="序号" width="48"></vxe-column>
|
||||||
<vxe-column field="parts" title="配件" width="260" :params="editorParts" formatter="formatRef"
|
<vxe-column field="parts" title="配件" width="260" :params="editorParts" formatter="formatRef"
|
||||||
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
||||||
<vxe-column field="spec" title="规格" width="120" :edit-render="{ name: '$input' }"></vxe-column>
|
<vxe-column field="spec" title="规格" width="120" :edit-render="{ name: '$input' }"></vxe-column>
|
||||||
|
|
@ -225,9 +219,8 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.amount_formula || '' }}
|
{{ row.amount_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
|
||||||
{{ parseFloat(row.amount || 0).toFixed(2) }}
|
<span v-else v-html="formatShowNumber(row.amount, 2)"></span>
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -263,6 +256,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
<vxe-column type="seq" title="序号" width="48"></vxe-column>
|
||||||
<vxe-column field="packaging" title="包装" width="260" :params="editorPackaging" formatter="formatRef"
|
<vxe-column field="packaging" title="包装" width="260" :params="editorPackaging" formatter="formatRef"
|
||||||
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
||||||
<vxe-column field="long_formula" title="长" width="200" :edit-render="{ name: 'EditExpressions' }">
|
<vxe-column field="long_formula" title="长" width="200" :edit-render="{ name: 'EditExpressions' }">
|
||||||
|
|
@ -274,9 +268,8 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.long_formula || '' }}
|
{{ row.long_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
|
||||||
{{ parseFloat(row.long || 0).toFixed(1) }}
|
<span v-else v-html="formatShowNumber(row.long, 1)"></span>
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
@ -289,9 +282,7 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.width_formula || '' }}
|
{{ row.width_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.width, 1)"></span>
|
||||||
{{ parseFloat(row.width || 0).toFixed(1) }}
|
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
@ -304,9 +295,7 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.height_formula || '' }}
|
{{ row.height_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.height, 1)"></span>
|
||||||
{{ parseFloat(row.height || 0).toFixed(1) }}
|
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
@ -320,9 +309,7 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.quantity_formula || '' }}
|
{{ row.quantity_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.quantity, 1)"></span>
|
||||||
{{ parseFloat(row.quantity || 0).toFixed(1) }}
|
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
@ -337,9 +324,7 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.amount_formula || '' }}
|
{{ row.amount_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.amount, 2)"></span>
|
||||||
{{ parseFloat(row.amount || 0).toFixed(2) }}
|
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
@ -362,6 +347,7 @@
|
||||||
@edit-actived="drawer_beforeEditEvent" show-footer :footer-method="drawer_footerMethod"
|
@edit-actived="drawer_beforeEditEvent" show-footer :footer-method="drawer_footerMethod"
|
||||||
:footer-cell-class-name="drawer_footerCellClassName"
|
:footer-cell-class-name="drawer_footerCellClassName"
|
||||||
:edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false, beforeEditMethod: drawer_beforeEditMethod }">
|
:edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false, beforeEditMethod: drawer_beforeEditMethod }">
|
||||||
|
<vxe-column type="seq" title="序号" width="48"></vxe-column>
|
||||||
<vxe-column field="name" title="抽屉" width="260"></vxe-column>
|
<vxe-column field="name" title="抽屉" width="260"></vxe-column>
|
||||||
<vxe-column field="quantity" title="数量" width="200"></vxe-column>
|
<vxe-column field="quantity" title="数量" width="200"></vxe-column>
|
||||||
<vxe-column field="expense" formatter="formatNumber" title="单价(免漆)" width="200"></vxe-column>
|
<vxe-column field="expense" formatter="formatNumber" title="单价(免漆)" width="200"></vxe-column>
|
||||||
|
|
@ -407,6 +393,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
<vxe-column type="seq" title="序号" width="48"></vxe-column>
|
||||||
<vxe-column field="material" title="材料" width="260" :params="editorMaterial" formatter="formatRef"
|
<vxe-column field="material" title="材料" width="260" :params="editorMaterial" formatter="formatRef"
|
||||||
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
||||||
|
|
||||||
|
|
@ -419,9 +406,7 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.quantity_formula || '' }}
|
{{ row.quantity_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.quantity, 3)"></span>
|
||||||
{{ parseFloat(row.quantity || 0).toFixed(3) }}
|
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -437,9 +422,7 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.amount_formula || '' }}
|
{{ row.amount_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.amount, 2)"></span>
|
||||||
{{ parseFloat(row.amount || 0).toFixed(2) }}
|
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
@ -473,6 +456,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
<vxe-column type="seq" title="序号" width="48"></vxe-column>
|
||||||
<vxe-column field="labor" title="项目" width="260" :params="editorLabor" formatter="formatRef"
|
<vxe-column field="labor" title="项目" width="260" :params="editorLabor" formatter="formatRef"
|
||||||
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
||||||
|
|
||||||
|
|
@ -486,9 +470,7 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.amount_formula || '' }}
|
{{ row.amount_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.amount, 2)"></span>
|
||||||
{{ parseFloat(row.amount || 0).toFixed(2) }}
|
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
@ -525,6 +507,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
<vxe-column type="seq" title="序号" width="48"></vxe-column>
|
||||||
<vxe-column field="item_name" title="项目" width="220" :edit-render="{ name: '$input' }"></vxe-column>
|
<vxe-column field="item_name" title="项目" width="220" :edit-render="{ name: '$input' }"></vxe-column>
|
||||||
<vxe-column field="amount_formula" title="金额" width="220" :edit-render="{ name: 'EditExpressions' }">
|
<vxe-column field="amount_formula" title="金额" width="220" :edit-render="{ name: 'EditExpressions' }">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
|
|
@ -535,9 +518,7 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.amount_formula || '' }}
|
{{ row.amount_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.amount, 2)"></span>
|
||||||
{{ parseFloat(row.amount || 0).toFixed(2) }}
|
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
@ -580,6 +561,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
<vxe-column type="seq" title="序号" width="48"></vxe-column>
|
||||||
<vxe-column field="material" title="材料" width="260" :params="editorMaterial" formatter="formatRef"
|
<vxe-column field="material" title="材料" width="260" :params="editorMaterial" formatter="formatRef"
|
||||||
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
||||||
|
|
||||||
|
|
@ -592,9 +574,7 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.quantity_formula || '' }}
|
{{ row.quantity_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.quantity, 2)"></span>
|
||||||
{{ parseFloat(row.quantity || 0).toFixed(2) }}
|
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
@ -609,9 +589,7 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.amount_formula || '' }}
|
{{ row.amount_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.amount, 2)"></span>
|
||||||
{{ parseFloat(row.amount || 0).toFixed(2) }}
|
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
@ -646,6 +624,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
<vxe-column type="seq" title="序号" width="48"></vxe-column>
|
||||||
<vxe-column field="labor" title="项目" width="260" :params="editorLabor" formatter="formatRef"
|
<vxe-column field="labor" title="项目" width="260" :params="editorLabor" formatter="formatRef"
|
||||||
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
||||||
|
|
||||||
|
|
@ -658,9 +637,7 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.amount_formula || '' }}
|
{{ row.amount_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.amount, 2)"></span>
|
||||||
{{ parseFloat(row.amount || 0).toFixed(2) }}
|
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
@ -696,6 +673,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
<vxe-column type="seq" title="序号" width="48"></vxe-column>
|
||||||
<vxe-column field="item_name" title="项目" width="220" :edit-render="{ name: '$input' }"></vxe-column>
|
<vxe-column field="item_name" title="项目" width="220" :edit-render="{ name: '$input' }"></vxe-column>
|
||||||
<vxe-column field="amount_formula" title="金额" width="200" :edit-render="{ name: 'EditExpressions' }">
|
<vxe-column field="amount_formula" title="金额" width="200" :edit-render="{ name: 'EditExpressions' }">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
|
|
@ -706,9 +684,7 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.amount_formula || '' }}
|
{{ row.amount_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.amount, 2)"></span>
|
||||||
{{ parseFloat(row.amount || 0).toFixed(2) }}
|
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
@ -1048,7 +1024,7 @@ export default {
|
||||||
// =============================== 表单数据 自动生成 End ===============================
|
// =============================== 表单数据 自动生成 End ===============================
|
||||||
},
|
},
|
||||||
// 标题宽度
|
// 标题宽度
|
||||||
titleWidth: 100,
|
titleWidth: 120,
|
||||||
// 标题对齐方式
|
// 标题对齐方式
|
||||||
titleAlign: 'right',
|
titleAlign: 'right',
|
||||||
|
|
||||||
|
|
@ -1064,22 +1040,41 @@ export default {
|
||||||
},
|
},
|
||||||
// 表单项
|
// 表单项
|
||||||
items: [
|
items: [
|
||||||
// =============================== 表单项 自动生成 Start ===============================
|
|
||||||
|
|
||||||
{ field: 'project_name', title: '工程名', span: 8, itemRender: { name: '$input' } },
|
{
|
||||||
{ field: 'mode_name', title: '型号', span: 8, itemRender: { name: '$input' } },
|
title: '左侧',
|
||||||
{ field: 'customer', title: '客户名称', span: 8, itemRender: { name: '$input' } },
|
span: 18,
|
||||||
|
children: [
|
||||||
|
{ field: 'project_name', title: '工程名', span: 6, itemRender: { name: '$input' } },
|
||||||
|
{ field: 'mode_name', title: '型号', span: 6, itemRender: { name: '$input' } },
|
||||||
|
{ field: 'customer', title: '客户名称', span: 6, itemRender: { name: '$input' } },
|
||||||
|
{ field: '报价日期', title: '报价日期', span: 6, itemRender: { name: '$input',props:{type:"date"} } },
|
||||||
|
|
||||||
{ field: 'main_cabinet_length', title: '主柜规格 长', span: 8, itemRender: { name: '$input', events: { change: this.calculateAll } } },
|
{ field: 'main_cabinet_length', title: '主柜规格 长', span: 6, itemRender: { name: '$input', events: { change: this.calculateAll } } },
|
||||||
{ field: 'main_cabinet_width', title: '宽', span: 8, itemRender: { name: '$input', events: { change: this.calculateAll } } },
|
{ field: 'main_cabinet_width', title: '宽', span: 6, itemRender: { name: '$input', events: { change: this.calculateAll } } },
|
||||||
{ field: 'main_cabinet_height', title: '高', span: 8, itemRender: { name: '$input', events: { change: this.calculateAll } } },
|
{ field: 'main_cabinet_height', title: '高', span: 6, itemRender: { name: '$input', events: { change: this.calculateAll } } },
|
||||||
|
{ field: '报价有效日期', title: '报价有效日期', span: 6, itemRender: { name: '$input',props:{type:"date"} } },
|
||||||
|
|
||||||
|
{ field: 'show_expense', title: '总费用(免漆)', span: 6, itemRender: { name: 'MkFormInputShow' } },
|
||||||
|
{ field: 'show_paint_expense', title: '总费用(油漆)', span: 6, itemRender: { name: 'MkFormInputShow' } },
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '右侧',
|
||||||
|
span: 6,
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
field: 'image', span: 24, itemRender: {
|
||||||
|
name: 'MkFormUploader', props: {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{ field: 'show_expense', title: '总费用(免漆)', span: 8, itemRender: { name: 'MkFormInputShow' } },
|
|
||||||
{ field: 'show_paint_expense', title: '总费用(油漆)', span: 8, itemRender: { name: 'MkFormInputShow' } },
|
|
||||||
|
|
||||||
// =============================== 表单项 自动生成 End ===============================
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
// 新增模式表单项
|
// 新增模式表单项
|
||||||
|
|
@ -1184,7 +1179,12 @@ export default {
|
||||||
// 函数
|
// 函数
|
||||||
methods: {
|
methods: {
|
||||||
|
|
||||||
|
formatShowNumber(value, points) {
|
||||||
|
if (!value) {
|
||||||
|
return '<span style="color:red;">' + (0.0).toFixed(points || 0) + '</span>';
|
||||||
|
}
|
||||||
|
return parseFloat(value).toFixed(points || 0)
|
||||||
|
},
|
||||||
toggleAll() {
|
toggleAll() {
|
||||||
|
|
||||||
if (this.tabKey == "main") {
|
if (this.tabKey == "main") {
|
||||||
|
|
@ -1485,7 +1485,7 @@ export default {
|
||||||
if (column.field == "material") {
|
if (column.field == "material") {
|
||||||
this.resetMaterial();
|
this.resetMaterial();
|
||||||
|
|
||||||
if(selectedData.spec){
|
if (selectedData.spec) {
|
||||||
row.height_formula = selectedData.spec;
|
row.height_formula = selectedData.spec;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1563,6 +1563,7 @@ export default {
|
||||||
console.log(row, selectedData);
|
console.log(row, selectedData);
|
||||||
if (selectedData.spec) {
|
if (selectedData.spec) {
|
||||||
row.spec = selectedData.spec;
|
row.spec = selectedData.spec;
|
||||||
|
//TODO 带过来单价
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -32,9 +32,6 @@
|
||||||
<div class="gridPanel">
|
<div class="gridPanel">
|
||||||
<vxe-grid ref='xGrid' v-bind="gridOptions">
|
<vxe-grid ref='xGrid' v-bind="gridOptions">
|
||||||
|
|
||||||
<!-- =============================== 表格列 自动生成 Start =============================== -->
|
|
||||||
|
|
||||||
<!-- =============================== 表格列 自动生成 End =============================== -->
|
|
||||||
|
|
||||||
<template #op="{ row }">
|
<template #op="{ row }">
|
||||||
<div class="oplinks">
|
<div class="oplinks">
|
||||||
|
|
@ -43,6 +40,10 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
<template #image="{ row }">
|
||||||
|
<img v-if="row.image" :src="row.image" style="width: 100px;">
|
||||||
|
<span v-else>无</span>
|
||||||
|
</template>
|
||||||
</vxe-grid>
|
</vxe-grid>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -245,6 +246,8 @@ export default {
|
||||||
{ field: 'main_cabinet_length', sortable: true, title: '主柜规格 长', width: 250 }, // 主柜规格 长
|
{ field: 'main_cabinet_length', sortable: true, title: '主柜规格 长', width: 250 }, // 主柜规格 长
|
||||||
{ field: 'main_cabinet_width', sortable: true, title: '主柜规格 宽', width: 250 }, // 主柜规格 宽
|
{ field: 'main_cabinet_width', sortable: true, title: '主柜规格 宽', width: 250 }, // 主柜规格 宽
|
||||||
{ field: 'main_cabinet_height', sortable: true, title: '主柜规格 高', width: 250 }, // 主柜规格 高
|
{ field: 'main_cabinet_height', sortable: true, title: '主柜规格 高', width: 250 }, // 主柜规格 高
|
||||||
|
|
||||||
|
{ field: 'image', sortable: true, title: '主图', width: 250 , slots: { default: 'image' } }, // 图片
|
||||||
{ field: 'create_time', formatter: 'formatDate', width: 160, sortable: true, title: '创建时间', showHeaderOverflow: true }, // 创建时间
|
{ field: 'create_time', formatter: 'formatDate', width: 160, sortable: true, title: '创建时间', showHeaderOverflow: true }, // 创建时间
|
||||||
{ field: 'update_time', formatter: 'formatDate', width: 160, sortable: true, title: '更新时间', showHeaderOverflow: true }, // 更新时间
|
{ field: 'update_time', formatter: 'formatDate', width: 160, sortable: true, title: '更新时间', showHeaderOverflow: true }, // 更新时间
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
<vxe-column type="seq" title="序号" width="48"></vxe-column>
|
||||||
<vxe-column field="fittings" title="部件" width="160" :params="editorFittings" formatter="formatRef"
|
<vxe-column field="fittings" title="部件" width="160" :params="editorFittings" formatter="formatRef"
|
||||||
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
||||||
<vxe-column field="material" title="材料(免漆)" width="160" :params="editorMaterial" formatter="formatRef"
|
<vxe-column field="material" title="材料(免漆)" width="160" :params="editorMaterial" formatter="formatRef"
|
||||||
|
|
@ -54,10 +55,8 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.long_formula || '' }}
|
{{ row.long_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.long, 0)"></span>
|
||||||
{{ parseFloat(row.long || 0).toFixed(0) }}
|
</a-tooltip>
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
<vxe-column field="width_formula" title="宽" width="160" :edit-render="{ name: 'EditExpressions' }">
|
<vxe-column field="width_formula" title="宽" width="160" :edit-render="{ name: 'EditExpressions' }">
|
||||||
|
|
@ -69,10 +68,8 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.width_formula || '' }}
|
{{ row.width_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.width, 0)"></span>
|
||||||
{{ parseFloat(row.width || 0).toFixed(0) }}
|
</a-tooltip>
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
<vxe-column field="height_formula" title="厚" width="160" :edit-render="{ name: 'EditExpressions' }">
|
<vxe-column field="height_formula" title="厚" width="160" :edit-render="{ name: 'EditExpressions' }">
|
||||||
|
|
@ -84,10 +81,9 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.height_formula || '' }}
|
{{ row.height_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
|
||||||
{{ parseFloat(row.height || 0).toFixed(0) }}
|
<span v-else v-html="formatShowNumber(row.height, 0)"></span>
|
||||||
</span>
|
</a-tooltip>
|
||||||
</a-tooltip>
|
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
<vxe-column field="quantity" title="数量" width="80"
|
<vxe-column field="quantity" title="数量" width="80"
|
||||||
|
|
@ -104,13 +100,12 @@
|
||||||
</template>
|
</template>
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.seal_formula || '' }}
|
{{ row.seal_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.seal, 2)"></span>
|
||||||
{{ parseFloat(row.seal || 0).toFixed(2) }}
|
</a-tooltip>
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
<vxe-column type="seq" title="序号" width="48"></vxe-column>
|
||||||
<vxe-column field="rate_materials" title="主材利用率" width="80"
|
<vxe-column field="rate_materials" title="主材利用率" width="80"
|
||||||
:edit-render="{ name: '$input', props: { type: 'number' } }"></vxe-column>
|
:edit-render="{ name: '$input', props: { type: 'number' } }"></vxe-column>
|
||||||
<vxe-column field="paint_number" title="油漆面" width="80"
|
<vxe-column field="paint_number" title="油漆面" width="80"
|
||||||
|
|
@ -123,11 +118,9 @@
|
||||||
</template>
|
</template>
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.board_length_formula || '' }}
|
{{ row.board_length_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.board_length, 3)"></span>
|
||||||
{{ parseFloat(row.board_length || 0).toFixed(3) }}
|
</a-tooltip>
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
@ -178,6 +171,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
<vxe-column type="seq" title="序号" width="48"></vxe-column>
|
||||||
<vxe-column field="parts" title="配件" width="260" :params="editorParts" formatter="formatRef"
|
<vxe-column field="parts" title="配件" width="260" :params="editorParts" formatter="formatRef"
|
||||||
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
||||||
<vxe-column field="spec" title="规格" width="120" :edit-render="{ name: '$input' }"></vxe-column>
|
<vxe-column field="spec" title="规格" width="120" :edit-render="{ name: '$input' }"></vxe-column>
|
||||||
|
|
@ -194,11 +188,10 @@
|
||||||
</template>
|
</template>
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.amount_formula || '' }}
|
{{ row.amount_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
|
||||||
{{ parseFloat(row.amount || 0).toFixed(2) }}
|
<span v-else v-html="formatShowNumber(row.amount, 2)"></span>
|
||||||
</span>
|
</a-tooltip>
|
||||||
</a-tooltip>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
@ -232,6 +225,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
<vxe-column type="seq" title="序号" width="48"></vxe-column>
|
||||||
<vxe-column field="packaging" title="包装" width="260" :params="editorPackaging" formatter="formatRef"
|
<vxe-column field="packaging" title="包装" width="260" :params="editorPackaging" formatter="formatRef"
|
||||||
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
||||||
<vxe-column field="long_formula" title="长" width="200" :edit-render="{ name: 'EditExpressions' }">
|
<vxe-column field="long_formula" title="长" width="200" :edit-render="{ name: 'EditExpressions' }">
|
||||||
|
|
@ -243,10 +237,9 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.long_formula || '' }}
|
{{ row.long_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
|
||||||
{{ parseFloat(row.long || 0).toFixed(1) }}
|
<span v-else v-html="formatShowNumber(row.long, 1)"></span>
|
||||||
</span>
|
</a-tooltip>
|
||||||
</a-tooltip>
|
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
<vxe-column field="width_formula" title="宽" width="200" :edit-render="{ name: 'EditExpressions' }">
|
<vxe-column field="width_formula" title="宽" width="200" :edit-render="{ name: 'EditExpressions' }">
|
||||||
|
|
@ -257,12 +250,10 @@
|
||||||
</template>
|
</template>
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.width_formula || '' }}
|
{{ row.width_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.width, 1)"></span>
|
||||||
{{ parseFloat(row.width || 0).toFixed(1) }}
|
</a-tooltip>
|
||||||
</span>
|
</template>
|
||||||
</a-tooltip>
|
|
||||||
</template>
|
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
<vxe-column field="height_formula" title="高" width="200" :edit-render="{ name: 'EditExpressions' }">
|
<vxe-column field="height_formula" title="高" width="200" :edit-render="{ name: 'EditExpressions' }">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
|
|
@ -272,11 +263,9 @@
|
||||||
</template>
|
</template>
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.height_formula || '' }}
|
{{ row.height_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.height, 1)"></span>
|
||||||
{{ parseFloat(row.height || 0).toFixed(1) }}
|
</a-tooltip>
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
||||||
|
|
@ -288,11 +277,9 @@
|
||||||
</template>
|
</template>
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.quantity_formula || '' }}
|
{{ row.quantity_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.quantity, 1)"></span>
|
||||||
{{ parseFloat(row.quantity || 0).toFixed(1) }}
|
</a-tooltip>
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
<vxe-column field="price" title="单价" width="120"
|
<vxe-column field="price" title="单价" width="120"
|
||||||
|
|
@ -305,11 +292,9 @@
|
||||||
</template>
|
</template>
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.amount_formula || '' }}
|
{{ row.amount_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.amount, 2)"></span>
|
||||||
{{ parseFloat(row.amount || 0).toFixed(2) }}
|
</a-tooltip>
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
||||||
|
|
@ -349,6 +334,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
<vxe-column type="seq" title="序号" width="48"></vxe-column>
|
||||||
<vxe-column field="material" title="材料" width="260" :params="editorMaterial" formatter="formatRef"
|
<vxe-column field="material" title="材料" width="260" :params="editorMaterial" formatter="formatRef"
|
||||||
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
||||||
|
|
||||||
|
|
@ -361,10 +347,8 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.quantity_formula || '' }}
|
{{ row.quantity_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.quantity, 3)"></span>
|
||||||
{{ parseFloat(row.quantity || 0).toFixed(3) }}
|
</a-tooltip>
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
@ -379,10 +363,8 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.amount_formula || '' }}
|
{{ row.amount_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.amount, 2)"></span>
|
||||||
{{ parseFloat(row.amount || 0).toFixed(2) }}
|
</a-tooltip>
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
||||||
|
|
@ -415,6 +397,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
<vxe-column type="seq" title="序号" width="48"></vxe-column>
|
||||||
<vxe-column field="labor" title="项目" width="260" :params="editorLabor" formatter="formatRef"
|
<vxe-column field="labor" title="项目" width="260" :params="editorLabor" formatter="formatRef"
|
||||||
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
||||||
|
|
||||||
|
|
@ -428,10 +411,8 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.amount_formula || '' }}
|
{{ row.amount_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.amount, 2)"></span>
|
||||||
{{ parseFloat(row.amount || 0).toFixed(2) }}
|
</a-tooltip>
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
||||||
|
|
@ -465,6 +446,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
<vxe-column type="seq" title="序号" width="48"></vxe-column>
|
||||||
<vxe-column field="item_name" title="项目" width="220" :edit-render="{ name: '$input' }"></vxe-column>
|
<vxe-column field="item_name" title="项目" width="220" :edit-render="{ name: '$input' }"></vxe-column>
|
||||||
<vxe-column field="amount_formula" title="金额" width="220" :edit-render="{ name: 'EditExpressions' }">
|
<vxe-column field="amount_formula" title="金额" width="220" :edit-render="{ name: 'EditExpressions' }">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
|
|
@ -475,10 +457,8 @@
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.amount_formula || '' }}
|
{{ row.amount_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.amount, 2)"></span>
|
||||||
{{ parseFloat(row.amount || 0).toFixed(2) }}
|
</a-tooltip>
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
||||||
|
|
@ -520,6 +500,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
<vxe-column type="seq" title="序号" width="48"></vxe-column>
|
||||||
<vxe-column field="material" title="材料" width="260" :params="editorMaterial" formatter="formatRef"
|
<vxe-column field="material" title="材料" width="260" :params="editorMaterial" formatter="formatRef"
|
||||||
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
||||||
|
|
||||||
|
|
@ -531,11 +512,9 @@
|
||||||
</template>
|
</template>
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.quantity_formula || '' }}
|
{{ row.quantity_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.quantity, 2)"></span>
|
||||||
{{ parseFloat(row.quantity || 0).toFixed(2) }}
|
</a-tooltip>
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
<vxe-column field="price" title="单价" width="120"
|
<vxe-column field="price" title="单价" width="120"
|
||||||
|
|
@ -547,12 +526,10 @@
|
||||||
{{ row.amount_formula || '' }}
|
{{ row.amount_formula || '' }}
|
||||||
</template>
|
</template>
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.amount_formula || '' }}
|
{{ row.amount_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.amount, 2)"></span>
|
||||||
{{ parseFloat(row.amount || 0).toFixed(2) }}
|
</a-tooltip>
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
||||||
|
|
@ -586,6 +563,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
<vxe-column type="seq" title="序号" width="48"></vxe-column>
|
||||||
<vxe-column field="labor" title="项目" width="260" :params="editorLabor" formatter="formatRef"
|
<vxe-column field="labor" title="项目" width="260" :params="editorLabor" formatter="formatRef"
|
||||||
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
||||||
|
|
||||||
|
|
@ -597,11 +575,9 @@
|
||||||
</template>
|
</template>
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.amount_formula || '' }}
|
{{ row.amount_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.amount, 2)"></span>
|
||||||
{{ parseFloat(row.amount || 0).toFixed(2) }}
|
</a-tooltip>
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
||||||
|
|
@ -636,6 +612,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
<vxe-column type="seq" title="序号" width="48"></vxe-column>
|
||||||
<vxe-column field="item_name" title="项目" width="220" :edit-render="{ name: '$input' }"></vxe-column>
|
<vxe-column field="item_name" title="项目" width="220" :edit-render="{ name: '$input' }"></vxe-column>
|
||||||
<vxe-column field="amount_formula" title="金额" width="200" :edit-render="{ name: 'EditExpressions' }">
|
<vxe-column field="amount_formula" title="金额" width="200" :edit-render="{ name: 'EditExpressions' }">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
|
|
@ -645,11 +622,9 @@
|
||||||
</template>
|
</template>
|
||||||
<span v-if="showExp">
|
<span v-if="showExp">
|
||||||
{{ row.amount_formula || '' }}
|
{{ row.amount_formula || '' }}
|
||||||
</span>
|
</span>
|
||||||
<span v-else>
|
<span v-else v-html="formatShowNumber(row.amount, 2)"></span>
|
||||||
{{ parseFloat(row.amount || 0).toFixed(2) }}
|
</a-tooltip>
|
||||||
</span>
|
|
||||||
</a-tooltip>
|
|
||||||
</template>
|
</template>
|
||||||
</vxe-column>
|
</vxe-column>
|
||||||
|
|
||||||
|
|
@ -923,6 +898,12 @@ export default {
|
||||||
},
|
},
|
||||||
// 函数
|
// 函数
|
||||||
methods: {
|
methods: {
|
||||||
|
formatShowNumber(value, points) {
|
||||||
|
if (!value) {
|
||||||
|
return '<span style="color:red;">'+(0.0).toFixed(points ||0)+'</span>';
|
||||||
|
}
|
||||||
|
return parseFloat(value).toFixed(points || 0)
|
||||||
|
},
|
||||||
toggleAll() {
|
toggleAll() {
|
||||||
|
|
||||||
this.showAll = !this.showAll;
|
this.showAll = !this.showAll;
|
||||||
|
|
@ -1142,6 +1123,8 @@ export default {
|
||||||
console.log(row, selectedData);
|
console.log(row, selectedData);
|
||||||
if (selectedData.spec) {
|
if (selectedData.spec) {
|
||||||
row.spec = selectedData.spec;
|
row.spec = selectedData.spec;
|
||||||
|
|
||||||
|
//TODO 带过来单价
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
<div class="topbar">
|
<div class="topbar">
|
||||||
<a-button type="primary" @click="ok">保存</a-button>
|
<a-button type="primary" @click="ok">保存</a-button>
|
||||||
|
<a-button @click="selectScheme">复制方案</a-button>
|
||||||
<a-button @click="cancel">取消</a-button>
|
<a-button @click="cancel">取消</a-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -300,6 +301,15 @@
|
||||||
</a-collapse>
|
</a-collapse>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<vxe-modal show-footer class-name="vxe-table--ignore-clear edit-popup-box" title="选择数据" width="800" height="600"
|
||||||
|
v-model="modalVisible" @confirm="confirmSelectScheme">
|
||||||
|
<template #default>
|
||||||
|
<vxe-grid :keyboard-config="{ isArrow: true }" auto-resize height="400" ref="scheme_grid"
|
||||||
|
:row-config="{ isCurrent: true, isHover: true }" :loading="scheme_loading" :pager-config="scheme_tablePage"
|
||||||
|
:data="scheme_tableData" :columns="scheme_tableColumn" @page-change="scheme_pageChangeEvent">
|
||||||
|
</vxe-grid>
|
||||||
|
</template>
|
||||||
|
</vxe-modal>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -354,6 +364,19 @@ export default {
|
||||||
parts_detailsData: [],
|
parts_detailsData: [],
|
||||||
|
|
||||||
|
|
||||||
|
modalVisible: false,
|
||||||
|
scheme_loading: false, // 加载中
|
||||||
|
scheme_tableData: [], // 表格数据
|
||||||
|
scheme_tableColumn: [ // 表格列
|
||||||
|
{ field: 'type', sortable: true, title: '类型', params: settings.options_schemeType, formatter: 'formatEnum' }, // 类型:1.主柜,2.抽屉
|
||||||
|
{ field: 'name', sortable: true, title: '设计方案名称' }, // 设计方案名称
|
||||||
|
],
|
||||||
|
scheme_tablePage: { // 表格分页
|
||||||
|
total: 0, // 总数
|
||||||
|
currentPage: 1, // 当前页
|
||||||
|
pageSize: 100 // 每页显示条数
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
editorFittings: {
|
editorFittings: {
|
||||||
dataUrl: `${BASE_URL.BASE_URL}/BathroomFittings/v1/bathroom/fittings/list`,
|
dataUrl: `${BASE_URL.BASE_URL}/BathroomFittings/v1/bathroom/fittings/list`,
|
||||||
|
|
@ -708,6 +731,11 @@ export default {
|
||||||
// 函数
|
// 函数
|
||||||
methods: {
|
methods: {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
detailDataInit() {
|
detailDataInit() {
|
||||||
for (let i = this.fittings_detailsData.length; i < settings.table_min_count; i++) {
|
for (let i = this.fittings_detailsData.length; i < settings.table_min_count; i++) {
|
||||||
this.fittings_detailsData.push({});
|
this.fittings_detailsData.push({});
|
||||||
|
|
@ -826,6 +854,8 @@ export default {
|
||||||
console.log(row, selectedData);
|
console.log(row, selectedData);
|
||||||
if(selectedData.spec){
|
if(selectedData.spec){
|
||||||
row.spec = selectedData.spec;
|
row.spec = selectedData.spec;
|
||||||
|
|
||||||
|
//TODO 带过来单价
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
@ -1284,7 +1314,77 @@ export default {
|
||||||
// 取消 返回
|
// 取消 返回
|
||||||
cancel() {
|
cancel() {
|
||||||
this.back();
|
this.back();
|
||||||
}
|
},
|
||||||
|
|
||||||
|
|
||||||
|
scheme_pageChangeEvent({ currentPage, pageSize }) { // 分页改变事件
|
||||||
|
this.scheme_tablePage.currentPage = currentPage
|
||||||
|
this.scheme_tablePage.pageSize = pageSize
|
||||||
|
this.scheme_loading = true
|
||||||
|
this.scheme_load();
|
||||||
|
},
|
||||||
|
scheme_load() {
|
||||||
|
let parms = {
|
||||||
|
"page": this.scheme_tablePage.currentPage,
|
||||||
|
"limit": this.scheme_tablePage.pageSize,
|
||||||
|
"order_bys": [
|
||||||
|
],
|
||||||
|
"search_rules": [
|
||||||
|
],
|
||||||
|
"start_time": 0,
|
||||||
|
"end_time": 0
|
||||||
|
};
|
||||||
|
|
||||||
|
this.$mk.post({ // 发送请求
|
||||||
|
url: this.actions.BathroomSchemeList, // 地址
|
||||||
|
data: parms
|
||||||
|
}).then(r => {
|
||||||
|
this.scheme_loading = false
|
||||||
|
let data = r.data;
|
||||||
|
this.scheme_tablePage.total = data.total;
|
||||||
|
this.scheme_tableData = data.BathroomScheme;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
selectScheme() {
|
||||||
|
this.modalVisible = true;
|
||||||
|
this.scheme_load();
|
||||||
|
},
|
||||||
|
confirmSelectScheme() {
|
||||||
|
let row = this.$refs.scheme_grid.getCurrentRecord(); // 获取当前行
|
||||||
|
|
||||||
|
let fittingsList = JSON.parse(row.fittingsList || "[]");
|
||||||
|
fittingsList = fittingsList.filter(a => a.fittings && a.fittings[0]);
|
||||||
|
let partsList = JSON.parse(row.partsList || "[]");
|
||||||
|
partsList = partsList.filter(a => a.parts && a.parts[0]);
|
||||||
|
let packagingList = JSON.parse(row.packagingList || "[]");
|
||||||
|
packagingList = packagingList.filter(a => a.packaging && a.packaging[0]);
|
||||||
|
|
||||||
|
let laborList = JSON.parse(row.laborList || "[]");
|
||||||
|
laborList = laborList.filter(a => a.labor && a.labor[0]);
|
||||||
|
let materialList = JSON.parse(row.materialList || "[]");
|
||||||
|
materialList = materialList.filter(a => a.material && a.material[0]);
|
||||||
|
|
||||||
|
|
||||||
|
let paintLaborList = JSON.parse(row.paintLaborList || "[]");
|
||||||
|
paintLaborList = paintLaborList.filter(a => a.labor && a.labor[0]);
|
||||||
|
let paintMaterialList = JSON.parse(row.paintMaterialList || "[]");
|
||||||
|
paintMaterialList = paintMaterialList.filter(a => a.material && a.material[0]);
|
||||||
|
|
||||||
|
|
||||||
|
this.labor_detailsData = laborList;
|
||||||
|
this.parts_detailsData = partsList;
|
||||||
|
this.fittings_detailsData = fittingsList;
|
||||||
|
this.material_detailsData = materialList;
|
||||||
|
this.packaging_detailsData = packagingList;
|
||||||
|
this.paintLabor_detailsData = paintLaborList;
|
||||||
|
this.paintMaterial_detailsData = paintMaterialList;
|
||||||
|
|
||||||
|
this.detailDataInit();
|
||||||
|
this.calculateAll();
|
||||||
|
|
||||||
|
this.modalVisible = false;
|
||||||
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
// 监听属性
|
// 监听属性
|
||||||
watch: {
|
watch: {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue