主材利用率 油漆面 默认值
This commit is contained in:
parent
50081ba10c
commit
9729f7f107
|
|
@ -769,7 +769,7 @@ export default {
|
|||
currentConfigName: "",
|
||||
// 当前项目ID
|
||||
currentBeid: 0,
|
||||
|
||||
settignsValues : {},
|
||||
tabKey: 'main',
|
||||
showAll: false,
|
||||
showExp: false,
|
||||
|
|
@ -1109,7 +1109,7 @@ export default {
|
|||
|
||||
|
||||
created() {
|
||||
|
||||
this.loadSettings();
|
||||
|
||||
// 获取路由的id参数
|
||||
let dataId = this.getDataId();
|
||||
|
|
@ -1185,6 +1185,33 @@ export default {
|
|||
// 函数
|
||||
methods: {
|
||||
|
||||
|
||||
loadSettings() {
|
||||
|
||||
this.$mk.post({
|
||||
url: `${BASE_URL.BASE_URL}/BathroomScheme/v1/settings/list`,
|
||||
data: {
|
||||
}
|
||||
}).then(a => {
|
||||
|
||||
let data = {};
|
||||
let getName = (info) => {
|
||||
for (let name in info) {
|
||||
return name;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
a.data.settings.forEach(o => {
|
||||
let name = getName(o.setting);
|
||||
if (!name) return;
|
||||
data[name] = o.setting[name];
|
||||
});
|
||||
|
||||
this.settignsValues = data;
|
||||
}).catch((a) => {
|
||||
this.$mk.error(a.data.msg);
|
||||
});
|
||||
},
|
||||
formatShowNumber(value, points) {
|
||||
if (!value) {
|
||||
return '<span style="color:red;">' + (0.0).toFixed(points || 0) + '</span>';
|
||||
|
|
@ -1495,6 +1522,13 @@ export default {
|
|||
row.height_formula = selectedData.spec;
|
||||
}
|
||||
}
|
||||
|
||||
if (!row.rate_materials && this.settignsValues.Main_material_utilization_rate) {
|
||||
row.rate_materials = this.settignsValues.Main_material_utilization_rate;
|
||||
}
|
||||
if (!row.paint_number && this.settignsValues.Default_rate_of_paint_surface) {
|
||||
row.paint_number = this.settignsValues.Default_rate_of_paint_surface;
|
||||
}
|
||||
},
|
||||
fittings_onPopupSelected({ rows, name, params }) {
|
||||
console.log(rows, name, params);
|
||||
|
|
|
|||
|
|
@ -349,8 +349,21 @@ export default {
|
|||
if (e.name == "add") { // 如果是添加
|
||||
this.$openPage("/BathroomQuotation/BathroomQuotationAdd"); // 打开页面
|
||||
}
|
||||
if (e.name == "setting") {
|
||||
this.openSettings();
|
||||
}
|
||||
},
|
||||
openSettings() {
|
||||
this.$mk.dialog.open({
|
||||
page: () => import("@/pages/Middle/bathroom/basic/settings.vue"),
|
||||
title: "参数配置",
|
||||
pageOptions: {
|
||||
},
|
||||
width: 800,
|
||||
height: 600,
|
||||
dataId: 0
|
||||
});
|
||||
},
|
||||
|
||||
// 编辑
|
||||
pageEdit(row) {
|
||||
if (!row) { // 如果没有选中行
|
||||
|
|
|
|||
|
|
@ -681,6 +681,7 @@ export default {
|
|||
currentConfigName: "",
|
||||
// 当前项目ID
|
||||
currentBeid: 0,
|
||||
settignsValues : {},
|
||||
showType: '1',
|
||||
showExp: false,
|
||||
|
||||
|
|
@ -880,6 +881,7 @@ export default {
|
|||
|
||||
|
||||
created() {
|
||||
this.loadSettings();
|
||||
let data = this.item;
|
||||
this.formOptions.data = data;
|
||||
this.fittings_detailsData = data.fittingsList || [];
|
||||
|
|
@ -898,6 +900,34 @@ export default {
|
|||
},
|
||||
// 函数
|
||||
methods: {
|
||||
|
||||
|
||||
loadSettings() {
|
||||
|
||||
this.$mk.post({
|
||||
url: `${BASE_URL.BASE_URL}/BathroomScheme/v1/settings/list`,
|
||||
data: {
|
||||
}
|
||||
}).then(a => {
|
||||
|
||||
let data = {};
|
||||
let getName = (info) => {
|
||||
for (let name in info) {
|
||||
return name;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
a.data.settings.forEach(o => {
|
||||
let name = getName(o.setting);
|
||||
if (!name) return;
|
||||
data[name] = o.setting[name];
|
||||
});
|
||||
|
||||
this.settignsValues = data;
|
||||
}).catch((a) => {
|
||||
this.$mk.error(a.data.msg);
|
||||
});
|
||||
},
|
||||
formatShowNumber(value, points) {
|
||||
if (!value) {
|
||||
return '<span style="color:red;">'+(0.0).toFixed(points ||0)+'</span>';
|
||||
|
|
@ -1049,6 +1079,12 @@ export default {
|
|||
row.height_formula = selectedData.spec;
|
||||
}
|
||||
}
|
||||
if (!row.rate_materials && this.settignsValues.Main_material_utilization_rate) {
|
||||
row.rate_materials = this.settignsValues.Main_material_utilization_rate;
|
||||
}
|
||||
if (!row.paint_number && this.settignsValues.Default_rate_of_paint_surface) {
|
||||
row.paint_number = this.settignsValues.Default_rate_of_paint_surface;
|
||||
}
|
||||
},
|
||||
fittings_onPopupSelected({ rows, name, params }) {
|
||||
console.log(rows, name, params);
|
||||
|
|
|
|||
|
|
@ -96,15 +96,13 @@
|
|||
</vxe-column>
|
||||
<vxe-column field="parts" title="配件" width="260" :params="editorParts" formatter="formatRef"
|
||||
: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>
|
||||
<vxe-column field="quantity" title="数量" width="120"
|
||||
:edit-render="{ name: '$input', props: { type: 'integer' } }"></vxe-column>
|
||||
<vxe-column field="price" title="单价" width="120"
|
||||
:edit-render="{ name: '$input', props: { type: 'number' } }"></vxe-column>
|
||||
:edit-render="{ name: '$input', props: { type: 'number' } }"></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' }">
|
||||
</vxe-column>
|
||||
|
||||
</vxe-table>
|
||||
|
|
@ -142,11 +140,11 @@
|
|||
:edit-render="{ name: 'EditExpressions' }"></vxe-column>
|
||||
|
||||
<vxe-column field="quantity_formula" title="数量(公式)" width="220"
|
||||
:edit-render="{ name: 'EditExpressions' }"></vxe-column>
|
||||
:edit-render="{ name: 'EditExpressions' }"></vxe-column>
|
||||
<vxe-column field="price" title="单价" width="120"
|
||||
:edit-render="{ name: '$input', props: { type: 'number' } }"></vxe-column>
|
||||
<vxe-column field="amount_formula" title="金额(公式)" width="220"
|
||||
:edit-render="{ name: 'EditExpressions' }"></vxe-column>
|
||||
:edit-render="{ name: 'EditExpressions' }"></vxe-column>
|
||||
|
||||
</vxe-table>
|
||||
|
||||
|
|
@ -218,7 +216,8 @@
|
|||
<vxe-column field="labor" title="项目" width="260" :params="editorLabor" formatter="formatRef"
|
||||
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
||||
|
||||
<vxe-column field="amount_formula" title="金额(公式)" width="220" :edit-render="{ name: 'EditExpressions' }"></vxe-column>
|
||||
<vxe-column field="amount_formula" title="金额(公式)" width="220"
|
||||
:edit-render="{ name: 'EditExpressions' }"></vxe-column>
|
||||
|
||||
</vxe-table>
|
||||
|
||||
|
|
@ -228,17 +227,18 @@
|
|||
</a-collapse>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="groupbox">
|
||||
<h3>核算表(油漆)</h3>
|
||||
<a-collapse v-model="groupbox3_activeKey">
|
||||
<a-collapse-panel key="1" header="材料">
|
||||
|
||||
|
||||
<vxe-table border show-overflow keep-source ref="paintMaterial_xTable" :data="paintMaterial_detailsData" :keyboard-config="{
|
||||
isArrow: true, isDel: true,
|
||||
isEnter: false, isTab: true, isEdit: true, isChecked: true
|
||||
}" :mouse-config="{ selected: true }" @pulldownSelected="paintMaterial_onPulldownSelected"
|
||||
<vxe-table border show-overflow keep-source ref="paintMaterial_xTable" :data="paintMaterial_detailsData"
|
||||
:keyboard-config="{
|
||||
isArrow: true, isDel: true,
|
||||
isEnter: false, isTab: true, isEdit: true, isChecked: true
|
||||
}" :mouse-config="{ selected: true }" @pulldownSelected="paintMaterial_onPulldownSelected"
|
||||
@popupSelected="paintMaterial_onPopupSelected" :export-config="{}" @edit-closed="paintMaterial_afterEditEvent"
|
||||
:edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false, beforeEditMethod: paintMaterial_beforeEditMethod }">
|
||||
<vxe-column width="60" v-if="!isReadonly">
|
||||
|
|
@ -269,10 +269,11 @@
|
|||
</a-collapse-panel>
|
||||
<a-collapse-panel key="2" header="人工" :disabled="false">
|
||||
|
||||
<vxe-table border show-overflow keep-source ref="paintLabor_xTable" :data="paintLabor_detailsData" :keyboard-config="{
|
||||
isArrow: true, isDel: true,
|
||||
isEnter: false, isTab: true, isEdit: true, isChecked: true
|
||||
}" :mouse-config="{ selected: true }" @pulldownSelected="paintLabor_onPulldownSelected"
|
||||
<vxe-table border show-overflow keep-source ref="paintLabor_xTable" :data="paintLabor_detailsData"
|
||||
:keyboard-config="{
|
||||
isArrow: true, isDel: true,
|
||||
isEnter: false, isTab: true, isEdit: true, isChecked: true
|
||||
}" :mouse-config="{ selected: true }" @pulldownSelected="paintLabor_onPulldownSelected"
|
||||
@popupSelected="paintLabor_onPopupSelected" :export-config="{}" @edit-closed="paintLabor_afterEditEvent"
|
||||
@edit-actived="paintLabor_beforeEditEvent"
|
||||
:edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false, beforeEditMethod: paintLabor_beforeEditMethod }">
|
||||
|
|
@ -291,7 +292,8 @@
|
|||
<vxe-column field="labor" title="项目" width="260" :params="editorLabor" formatter="formatRef"
|
||||
:edit-render="{ name: 'MkGridDataSelector' }"></vxe-column>
|
||||
|
||||
<vxe-column field="amount_formula" title="金额(公式)" width="220" :edit-render="{ name: 'EditExpressions' }"></vxe-column>
|
||||
<vxe-column field="amount_formula" title="金额(公式)" width="220"
|
||||
:edit-render="{ name: 'EditExpressions' }"></vxe-column>
|
||||
|
||||
</vxe-table>
|
||||
|
||||
|
|
@ -352,8 +354,8 @@ export default {
|
|||
currentConfigName: "",
|
||||
// 当前项目ID
|
||||
currentBeid: 0,
|
||||
|
||||
groupbox1_activeKey: ["1","2"],
|
||||
settignsValues : {},
|
||||
groupbox1_activeKey: ["1", "2"],
|
||||
groupbox2_activeKey: [],
|
||||
groupbox3_activeKey: [],
|
||||
isReadonly: false,
|
||||
|
|
@ -460,7 +462,7 @@ export default {
|
|||
detailDataFieldName: "bathroom_scheme",
|
||||
|
||||
actions: {
|
||||
|
||||
|
||||
// =============================== 接口地址 自动生成 Start ===============================
|
||||
BathroomSchemeList: `${BASE_URL.BASE_URL}/BathroomScheme/v1/bathroom/scheme/list`, // 设计方案列表
|
||||
BathroomSchemeDetail: `${BASE_URL.BASE_URL}/BathroomScheme/v1/bathroom/scheme/detail`, // 设计方案详情
|
||||
|
|
@ -614,7 +616,7 @@ export default {
|
|||
{ field: 'model', title: '型号', span: 24, itemRender: { name: '$input' } },
|
||||
{ field: 'type', title: '类型', span: 24, itemRender: { name: '$radio', options: settings.options_schemeType } },
|
||||
|
||||
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
@ -661,8 +663,7 @@ export default {
|
|||
|
||||
},
|
||||
created() {
|
||||
|
||||
|
||||
this.loadSettings();
|
||||
// 获取路由的id参数
|
||||
let dataId = this.getDataId();
|
||||
|
||||
|
|
@ -691,7 +692,7 @@ export default {
|
|||
|
||||
|
||||
let data = a.data[this.detailDataFieldName]
|
||||
|
||||
|
||||
this.formOptions.data = data;
|
||||
|
||||
this.fittings_detailsData = JSON.parse(data.fittingsList || "[]");
|
||||
|
|
@ -703,7 +704,7 @@ export default {
|
|||
this.material_detailsData = JSON.parse(data.materialList || "[]");
|
||||
this.paintLabor_detailsData = JSON.parse(data.paintLaborList || "[]");
|
||||
this.paintMaterial_detailsData = JSON.parse(data.paintMaterialList || "[]");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -732,8 +733,33 @@ export default {
|
|||
methods: {
|
||||
|
||||
|
||||
loadSettings() {
|
||||
|
||||
this.$mk.post({
|
||||
url: `${BASE_URL.BASE_URL}/BathroomScheme/v1/settings/list`,
|
||||
data: {
|
||||
}
|
||||
}).then(a => {
|
||||
|
||||
let data = {};
|
||||
let getName = (info) => {
|
||||
for (let name in info) {
|
||||
return name;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
a.data.settings.forEach(o => {
|
||||
let name = getName(o.setting);
|
||||
if (!name) return;
|
||||
data[name] = o.setting[name];
|
||||
});
|
||||
|
||||
this.settignsValues = data;
|
||||
}).catch((a) => {
|
||||
this.$mk.error(a.data.msg);
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
detailDataInit() {
|
||||
|
|
@ -805,16 +831,25 @@ export default {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (column.field == "paint_material") {
|
||||
this.resetPaintMaterial();
|
||||
}
|
||||
if (column.field == "material") {
|
||||
this.resetMaterial();
|
||||
|
||||
if(selectedData.spec){
|
||||
if (selectedData.spec) {
|
||||
row.height_formula = selectedData.spec;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
if (!row.rate_materials && this.settignsValues.Main_material_utilization_rate) {
|
||||
row.rate_materials = this.settignsValues.Main_material_utilization_rate;
|
||||
}
|
||||
if (!row.paint_number && this.settignsValues.Default_rate_of_paint_surface) {
|
||||
row.paint_number = this.settignsValues.Default_rate_of_paint_surface;
|
||||
}
|
||||
},
|
||||
fittings_onPopupSelected({ rows, name, params }) {
|
||||
|
|
@ -826,6 +861,8 @@ export default {
|
|||
},
|
||||
fittings_afterEditEvent({ column, row }) {
|
||||
console.log(row, column);
|
||||
|
||||
|
||||
},
|
||||
fittings_beforeEditEvent({ column, row }) {
|
||||
console.log(row, column);
|
||||
|
|
@ -845,20 +882,20 @@ export default {
|
|||
const $table = this.$refs.fittings_xTable;
|
||||
this.fittings_detailsData.splice($table.getRowSeq(row) - 1, 1);
|
||||
this.resetMaterial();
|
||||
this.resetPaintMaterial();
|
||||
this.resetPaintMaterial();
|
||||
},
|
||||
|
||||
|
||||
|
||||
parts_onPulldownSelected({selectedData,row }) {
|
||||
console.log(row, selectedData);
|
||||
if(selectedData.spec){
|
||||
parts_onPulldownSelected({ selectedData, row }) {
|
||||
console.log(row, selectedData);
|
||||
if (selectedData.spec) {
|
||||
row.spec = selectedData.spec;
|
||||
|
||||
|
||||
}
|
||||
if(selectedData.price){
|
||||
if (selectedData.price) {
|
||||
row.price = selectedData.price;
|
||||
|
||||
|
||||
}
|
||||
},
|
||||
parts_onPopupSelected({ rows, name, params }) {
|
||||
|
|
@ -1082,8 +1119,8 @@ export default {
|
|||
|
||||
|
||||
|
||||
formatName(v){
|
||||
return (v || "").replace("\r","").replace("\n","").replace("\t","").replace(" ","");
|
||||
formatName(v) {
|
||||
return (v || "").replace("\r", "").replace("\n", "").replace("\t", "").replace(" ", "");
|
||||
|
||||
},
|
||||
|
||||
|
|
@ -1103,7 +1140,7 @@ export default {
|
|||
|
||||
let material_list = [];
|
||||
material_items.forEach(item => {
|
||||
|
||||
|
||||
let name = this.formatName(item[1]);
|
||||
let old = this.material_detailsData.filter(a => a.material && a.material[0] == item[0] ? true : false);
|
||||
let info = {
|
||||
|
|
@ -1113,7 +1150,7 @@ export default {
|
|||
price: 0
|
||||
};
|
||||
if (old.length) {
|
||||
info.quantity_formula = `{${name}的总用量}`;
|
||||
info.quantity_formula = `{${name}的总用量}`;
|
||||
info.price = old[0].price;
|
||||
info.amount_formula = old[0].amount_formula;
|
||||
}
|
||||
|
|
@ -1177,7 +1214,7 @@ export default {
|
|||
price: 0
|
||||
};
|
||||
if (old.length) {
|
||||
info.quantity_formula = `{${name}的总用量}`;
|
||||
info.quantity_formula = `{${name}的总用量}`;
|
||||
info.price = old[0].price;
|
||||
info.amount_formula = old[0].amount_formula;
|
||||
}
|
||||
|
|
@ -1220,11 +1257,11 @@ export default {
|
|||
if (!data) return;
|
||||
data.forEach(item => {
|
||||
delete item._X_ROW_KEY;
|
||||
if(!item.id){
|
||||
if (!item.id) {
|
||||
item.id = settings.getGuid();
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
|
||||
// 保存
|
||||
ok() {
|
||||
|
|
@ -1256,7 +1293,7 @@ export default {
|
|||
postdata.laborList = postdata.laborList.filter(item => item.labor && item.labor[1] ? true : false);
|
||||
postdata.materialList = postdata.materialList.filter(item => item.material && item.material[1] ? true : false);
|
||||
|
||||
|
||||
|
||||
postdata.paintLaborList = postdata.paintLaborList.filter(item => item.labor && item.labor[1] ? true : false);
|
||||
postdata.paintMaterialList = postdata.paintMaterialList.filter(item => item.material && item.material[1] ? true : false);
|
||||
|
||||
|
|
@ -1353,7 +1390,7 @@ export default {
|
|||
},
|
||||
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 || "[]");
|
||||
|
|
|
|||
|
|
@ -303,8 +303,21 @@ export default {
|
|||
if (e.name == "add") { // 如果是添加
|
||||
this.$openPage("/BathroomScheme/BathroomSchemeAdd"); // 打开页面
|
||||
}
|
||||
if (e.name == "setting") {
|
||||
this.openSettings();
|
||||
}
|
||||
},
|
||||
openSettings() {
|
||||
this.$mk.dialog.open({
|
||||
page: () => import("@/pages/Middle/bathroom/basic/settings.vue"),
|
||||
title: "参数配置",
|
||||
pageOptions: {
|
||||
},
|
||||
width: 800,
|
||||
height: 600,
|
||||
dataId: 0
|
||||
});
|
||||
},
|
||||
|
||||
// 编辑
|
||||
pageEdit(row) {
|
||||
if (!row) { // 如果没有选中行
|
||||
|
|
|
|||
|
|
@ -0,0 +1,181 @@
|
|||
<template>
|
||||
<div class="page-body router-edit-page">
|
||||
|
||||
<vxe-form :data="formOptions.data" ref="xForm" :title-width="formOptions.titleWidth"
|
||||
:title-align="formOptions.titleAlign" :rules="formOptions.rules" :items="formOptions.items" titleColon>
|
||||
</vxe-form>
|
||||
|
||||
|
||||
<div class="footerbar-bottom">
|
||||
<a-button type="primary" @click="ok">确定</a-button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import BASE_URL from '@/services/base/api.js';
|
||||
|
||||
export default {
|
||||
|
||||
props: {
|
||||
pageMode: {
|
||||
type: String,
|
||||
default: "edit"
|
||||
},
|
||||
pageOptions: {
|
||||
type: Object
|
||||
},
|
||||
dataId: {
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
data() {
|
||||
|
||||
// 页面数据变量
|
||||
var pageData = {
|
||||
|
||||
actions: {
|
||||
save: `${BASE_URL.BASE_URL}/BathroomScheme/v1/settings/update`,
|
||||
get: `${BASE_URL.BASE_URL}/BathroomScheme/v1/settings/list`
|
||||
},
|
||||
|
||||
beid: 0,
|
||||
parentName: '',
|
||||
|
||||
formOptions: {
|
||||
data: {
|
||||
},
|
||||
|
||||
titleWidth: 200,
|
||||
titleAlign: 'right',
|
||||
|
||||
rules: {
|
||||
},
|
||||
|
||||
items: [
|
||||
]
|
||||
},
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
pageData.formOptions = Object.assign({}, this.$mk.config.defaults.formOptions, pageData.formOptions);
|
||||
|
||||
return pageData;
|
||||
},
|
||||
created() {
|
||||
|
||||
this.$mk.post({
|
||||
url: this.actions.get,
|
||||
loading: "加载中...",
|
||||
data: {
|
||||
}
|
||||
}).then(a => {
|
||||
|
||||
let items = [];
|
||||
let data = {};
|
||||
let getName = (info) => {
|
||||
for (let name in info) {
|
||||
return name;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
a.data.settings.forEach(o => {
|
||||
let name = getName(o.setting);
|
||||
if (!name) return;
|
||||
let item = { field: name, title: o.title, span: 24, itemRender: { name: '$input', props: { placeholder: o.desc } } };
|
||||
|
||||
if (o.type == "bool") {
|
||||
item.itemRender.name = "$switch";
|
||||
item.dataRule = { type: "string" };
|
||||
data[name] = o.setting[name] === "true";
|
||||
}
|
||||
else if (o.type == "integer") {
|
||||
item.itemRender.props.type = "integer";
|
||||
item.dataRule = { type: "integer" };
|
||||
|
||||
data[name] = parseInt(o.setting[name]);
|
||||
}
|
||||
else {
|
||||
data[name] = o.setting[name];
|
||||
}
|
||||
items.push(item);
|
||||
});
|
||||
|
||||
this.formOptions.items = items;
|
||||
this.formOptions.data = data;
|
||||
|
||||
}).catch((a) => {
|
||||
this.$mk.error(a.data.msg);
|
||||
});
|
||||
|
||||
|
||||
|
||||
},
|
||||
// 函数
|
||||
methods: {
|
||||
|
||||
|
||||
ok() {
|
||||
|
||||
let save = () => {
|
||||
let action = this.actions.save;
|
||||
let postdata = Object.assign({}, this.formOptions.data);
|
||||
|
||||
this.$mk.formatFormData({ data: postdata, rules: this.formOptions.items });
|
||||
|
||||
let saveData = {
|
||||
"settings": [
|
||||
postdata
|
||||
]
|
||||
};
|
||||
|
||||
this.$mk.post({
|
||||
url: action,
|
||||
loading: "保存中...",
|
||||
data: saveData,
|
||||
}).then(() => {
|
||||
this.$mk.success("保存成功");
|
||||
|
||||
}).catch((a) => {
|
||||
this.$mk.error(a.data.msg);
|
||||
});
|
||||
};
|
||||
|
||||
this.$refs.xForm.validate((a) => {
|
||||
|
||||
if (a) {
|
||||
let count = 0;
|
||||
for (let name in a) {
|
||||
a[name];
|
||||
count++;
|
||||
}
|
||||
this.$mk.error(`存在${count}项错误,请检查`);
|
||||
} else {
|
||||
save();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
},
|
||||
|
||||
cancel() {
|
||||
this.$emit("callback", {});
|
||||
},
|
||||
|
||||
},
|
||||
// 监听属性
|
||||
watch: {
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
</script>
|
||||
<style scoped lang="less">
|
||||
.router-edit-page .vxe-pulldown {
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
|
||||
|
||||
|
||||
// 视图组件
|
||||
const view = {
|
||||
tabs: () => import('@/layouts/tabs'),
|
||||
blank: () => import('@/layouts/BlankView'),
|
||||
page: () => import('@/layouts/PageView')
|
||||
}
|
||||
|
||||
// 路由组件注册
|
||||
const routerMap = {
|
||||
};
|
||||
routerMap['basic']= {
|
||||
name: 'basic',
|
||||
icon: 'idcard',
|
||||
component: view.blank,
|
||||
meta: {
|
||||
},
|
||||
authority: {
|
||||
permission: [],
|
||||
}
|
||||
};
|
||||
|
||||
routerMap['basic_materials']= {
|
||||
name: '基础档案',
|
||||
icon: 'idcard',
|
||||
path: `/MesMaterials/MesMaterialsList`,
|
||||
meta:{
|
||||
page:{ cacheAble:false}
|
||||
},
|
||||
component: () => import(`@/pages/Middle/Mes/MesMaterials/MesMaterials/List`),
|
||||
authority: {
|
||||
permission: [],
|
||||
}
|
||||
};
|
||||
|
||||
routerMap['basic_unit']= {
|
||||
name: '基础档案',
|
||||
icon: 'idcard',
|
||||
path: `/MesUnit/MesUnitList`,
|
||||
meta:{
|
||||
page:{ cacheAble:false}
|
||||
},
|
||||
component: () => import(`@/pages/Middle/Mes/MesUnit/MesUnit/List`),
|
||||
authority: {
|
||||
permission: [],
|
||||
}
|
||||
};
|
||||
|
||||
export default {}
|
||||
|
|
@ -17,6 +17,8 @@ import MesWarehouse from '@/router/Middle/Mes/MesWarehouse/router.map.js'
|
|||
import MesEnum from '@/router/Middle/Mes/MesEnum/router.map.js'
|
||||
import MesUnitRouterMap from '@/router/Middle/Mes/MesUnit/router.map.js'
|
||||
|
||||
import basic from '@/router/Middle/Mes/basic/router.map.js'
|
||||
|
||||
const routerMap = Object.assign({},
|
||||
MesUnitRouterMap,
|
||||
MesCeramicsMaterialClassification,
|
||||
|
|
@ -30,7 +32,9 @@ const routerMap = Object.assign({},
|
|||
MesStaff,
|
||||
MesStock,
|
||||
MesWarehouse,
|
||||
MesEnum
|
||||
MesEnum,
|
||||
|
||||
basic
|
||||
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -14,8 +14,7 @@ const routesConfig = [
|
|||
router: 'exp403',
|
||||
path: '/403',
|
||||
name: '403'
|
||||
},
|
||||
|
||||
},
|
||||
]
|
||||
const options = {
|
||||
routes: parseRoutes(routesConfig, routerMap)
|
||||
|
|
|
|||
Loading…
Reference in New Issue