Merge branch 'main' of https://git.positivepole.cn/Mes/middle-admin-ant
# Conflicts: # src/application/mk/basic-pages/edit.vue # src/pages/Middle/transport/Custom/Custom/Edit.vue
This commit is contained in:
commit
76df3d8f24
|
|
@ -1,14 +1,18 @@
|
|||
<template>
|
||||
<div class="page-body">
|
||||
|
||||
<vxe-form
|
||||
:data="options.formOptions.data"
|
||||
ref="xForm"
|
||||
:title-width="options.formOptions.titleWidth"
|
||||
:title-align="options.formOptions.titleAlign"
|
||||
:rules="options.formOptions.rules"
|
||||
:items="options.formOptions.items"
|
||||
titleColon>
|
||||
<vxe-form :data="options.formOptions.data" ref="xForm" :title-width="options.formOptions.titleWidth"
|
||||
:title-align="options.formOptions.titleAlign" :rules="options.formOptions.rules"
|
||||
titleColon>
|
||||
<vxe-form-item v-for="(item,index) in options.formOptions.items" :title="item.title" :field="item.field" :span="item.span" :key="index" :item-render="item.itemRender">
|
||||
<div v-if="item.isTitle" class="Htitle">
|
||||
<div class="left-line"></div>
|
||||
<p class="Htitle-p">
|
||||
{{ item.Htitle }}
|
||||
</p>
|
||||
<div class="right-line"></div>
|
||||
</div>
|
||||
</vxe-form-item>
|
||||
</vxe-form>
|
||||
|
||||
<div class="footerbar">
|
||||
|
|
@ -17,6 +21,8 @@
|
|||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
@ -31,7 +37,8 @@ export default {
|
|||
options: {
|
||||
type: Object
|
||||
},
|
||||
dataId: {}
|
||||
dataId: {
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
|
|
@ -45,7 +52,8 @@ export default {
|
|||
};
|
||||
},
|
||||
|
||||
computed: {},
|
||||
computed: {
|
||||
},
|
||||
|
||||
|
||||
created() {
|
||||
|
|
@ -74,13 +82,13 @@ export default {
|
|||
// 打开列表页面
|
||||
this.$openPage(this.options.listPageUrl)
|
||||
} else {
|
||||
this.$emit("callback", {success: true});
|
||||
this.$emit("callback", { success: true });
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
// 保存
|
||||
save({afterSave}) {
|
||||
save({ afterSave }) {
|
||||
|
||||
|
||||
let _this = this;
|
||||
|
|
@ -99,11 +107,7 @@ export default {
|
|||
// postdata = { MesUnit: postdata }
|
||||
}
|
||||
// 格式化提交的数据
|
||||
this.$mk.formatFormData({
|
||||
data: postdata,
|
||||
rules: this.options.formOptions.items,
|
||||
igFields: this.options.saveIgFields
|
||||
});
|
||||
this.$mk.formatFormData({ data: postdata, rules: this.options.formOptions.items ,igFields : this.options.saveIgFields });
|
||||
|
||||
|
||||
// 提交数据
|
||||
|
|
@ -119,7 +123,7 @@ export default {
|
|||
if (a.code == 200) {
|
||||
this.$mk.success("保存成功");
|
||||
|
||||
this.$emit("afterSave", {data: postdata});
|
||||
this.$emit("afterSave", { data: postdata });
|
||||
if (!this.isEdit) { // 如果是新增模式,关闭当前页面
|
||||
|
||||
if (this.options.action_afterSave == "confirm") {
|
||||
|
|
@ -155,7 +159,7 @@ export default {
|
|||
|
||||
|
||||
// 验证表单
|
||||
this.$mk.validateForm({form: this.$refs.xForm}).then(() => { // 验证表单
|
||||
this.$mk.validateForm({ form: this.$refs.xForm }).then(() => { // 验证表单
|
||||
save(); // 提交保存
|
||||
}).catch(count => { // 验证失败
|
||||
this.$mk.error(`存在${count}项错误,请检查`);
|
||||
|
|
@ -175,7 +179,8 @@ export default {
|
|||
}
|
||||
},
|
||||
// 监听属性
|
||||
watch: {}
|
||||
watch: {
|
||||
}
|
||||
};
|
||||
|
||||
</script>
|
||||
|
|
@ -198,6 +203,7 @@ export default {
|
|||
|
||||
.footerbar {
|
||||
padding-left: 10px;
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
.imagePanel {
|
||||
|
|
@ -210,4 +216,16 @@ export default {
|
|||
height: 80px;
|
||||
}
|
||||
}
|
||||
.Htitle{
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
color: #122ed1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
padding-left: 10px;
|
||||
.Htitle-p{margin-bottom: 0;margin: 0 10px;}
|
||||
.left-line{width: 40px;height: 1px;background-color:#122ed1;}
|
||||
.right-line{flex-grow: 1;height: 1px;background-color:#122ed1;}
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -238,7 +238,6 @@ export default {
|
|||
});
|
||||
}
|
||||
}
|
||||
|
||||
return this.$mk.getPagedData({
|
||||
url: this.actions.getList,
|
||||
useBigInt: true,
|
||||
|
|
@ -421,12 +420,13 @@ export default {
|
|||
this.$emit('input', e.row[params.showField]);
|
||||
}
|
||||
} else {
|
||||
this.$emit('input', [e.row.ID, e.row[textField]]);
|
||||
this.$emit('input', [e.row.id, e.row[textField]]);
|
||||
}
|
||||
|
||||
|
||||
if (params.onDataChanged) {
|
||||
params.onDataChanged({value: [e.row.ID, e.row[textField]], data: e.row})
|
||||
console.log(e)
|
||||
params.onDataChanged({value: [e.row.id, e.row[textField]], data: e.row})
|
||||
}
|
||||
this.$refs.xDown.hidePanel()
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<basic-page-edit :dataId="getDataId()" :options="pageOptions"></basic-page-edit>
|
||||
<basic-page-edit :dataId="getDataId()" :options="pageOptions"></basic-page-edit>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
|
@ -89,7 +89,7 @@ export default {
|
|||
code: "",
|
||||
name: "",
|
||||
description: "",
|
||||
type: "0",
|
||||
type: "",
|
||||
level: "",
|
||||
source: "",
|
||||
industry: "",
|
||||
|
|
@ -102,14 +102,14 @@ export default {
|
|||
total_count: 0,
|
||||
last_time: "",
|
||||
remark: "",
|
||||
status: 0,
|
||||
status: 1,
|
||||
total_balance: 0,
|
||||
total_amount: 0,
|
||||
create_uid: 0,
|
||||
update_uid: 0,
|
||||
},
|
||||
// 标题宽度
|
||||
titleWidth: 150,
|
||||
titleWidth: 125,
|
||||
// 标题对齐方式
|
||||
titleAlign: 'right',
|
||||
|
||||
|
|
@ -164,38 +164,22 @@ export default {
|
|||
// 表单项
|
||||
items: [
|
||||
// =============================== 表单项 自动生成 Start ===============================
|
||||
|
||||
{field: 'name', title: '名称', span: 12, itemRender: {name: '$input'}},
|
||||
{field:'',title:'',span:24,isTitle:true,Htitle:'客户/供应商信息',itemRender:{}},//分割线
|
||||
{field: 'code', title: '编码', span: 12, itemRender: {name: '$input'}},
|
||||
{
|
||||
field: 'type',
|
||||
title: '客户类型',
|
||||
span: 6,
|
||||
itemRender: {
|
||||
name: '$select', options: [
|
||||
{label: '客户', value: '0'},
|
||||
{label: '供应商', value: '1'}
|
||||
]
|
||||
}
|
||||
},
|
||||
{field: 'industry', title: '客户行业', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'description', title: '描述', span: 24, itemRender: {name: '$textarea'}},
|
||||
{field: 'contact', title: '客户联系人', span: 8, itemRender: {name: '$input'}},
|
||||
{field: 'contact_phone', title: '客户联系人电话', span: 8, itemRender: {name: '$input'}},
|
||||
{field: 'contact_position', title: '客户联系人职位', span: 8, itemRender: {name: '$input'}},
|
||||
{field: 'address', title: '客户地址', span: 18, itemRender: {name: '$input'}},
|
||||
{field: 'remark', title: '备注', span: 24, itemRender: {name: '$textarea'}},
|
||||
{
|
||||
field: 'status',
|
||||
title: '客户状态',
|
||||
span: 6,
|
||||
itemRender: {
|
||||
name: '$select', options: [
|
||||
{label: '正常', value: 0},
|
||||
{label: '停用', value: 1}
|
||||
]
|
||||
}
|
||||
},
|
||||
{field: 'name', title: '名称', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'type', title: '类型', span: 6, itemRender: { name: '$select', props: { options:[{value:"0",label:"客户"},{value:"1",label:"供应商"}] } }},
|
||||
{field: 'level', title: '等级', span: 6, itemRender: {name: '$input',props: {type: "number"},}},
|
||||
{field: 'source', title: '来源', span: 6, itemRender: {name: '$input'}},
|
||||
{field: 'industry', title: '行业', span: 6, itemRender: {name: '$input'}},
|
||||
{field: 'area', title: '区域', span: 6, itemRender: {name: '$input'}},
|
||||
{field: 'contact', title: '联系人', span: 6, itemRender: {name: '$input'}},
|
||||
{field: 'contact_phone', title: '联系人电话', span: 6, itemRender: {name: '$input',props: {type: "number"},}},
|
||||
{field: 'contact_position', title: '联系人职位', span: 6, itemRender: {name: '$input'}},
|
||||
{field: 'address', title: '地址', span: 24, itemRender: {name: '$input'}},
|
||||
{field: 'description', title: '描述', span: 24, itemRender: {name: '$input'}},
|
||||
{field: 'remark', title: '备注', span: 24, itemRender: {name: '$input'}},
|
||||
{field: 'status', title: '状态', span: 12, itemRender: { name: '$switch', props: { openLabel: '启用', openValue: 1, closeValue: 0, closeLabel: '禁用' } }},
|
||||
|
||||
|
||||
// =============================== 表单项 自动生成 End ===============================
|
||||
]
|
||||
|
|
@ -259,11 +243,9 @@ export default {
|
|||
this.$forceUpdate()
|
||||
} else {
|
||||
// 如果没有id参数,说明是新增模式
|
||||
if (this.addModeItems) {
|
||||
this.addModeItems.forEach(item => {
|
||||
this.pageOptions.formOptions.items.push(item);
|
||||
})
|
||||
}
|
||||
this.addModeItems.forEach(item => {
|
||||
this.pageOptions.formOptions.items.push(item);
|
||||
})
|
||||
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<page-layout :desc="desc">
|
||||
<!-- <page-layout :desc="desc"> -->
|
||||
<div class="page-body">
|
||||
|
||||
<vxe-form :data="formOptions.data" ref="xForm" :title-width="formOptions.titleWidth"
|
||||
|
|
@ -19,19 +19,19 @@
|
|||
</div>
|
||||
|
||||
</div>
|
||||
</page-layout>
|
||||
<!-- </page-layout> -->
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import BASE_URL from '@/services/Middle/transport/DriverWages/api.js';
|
||||
import PageLayout from '@/layouts/PageLayout'
|
||||
// import PageLayout from '@/layouts/PageLayout'
|
||||
|
||||
|
||||
export default {
|
||||
|
||||
name: 'DriverWagesUpdate',
|
||||
i18n: require('./i18n'),
|
||||
components: {PageLayout},
|
||||
// components: {PageLayout},
|
||||
props: {
|
||||
pageMode: {
|
||||
type: String,
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<page-layout :desc="desc">
|
||||
<!-- <page-layout :desc="desc"> -->
|
||||
<div class="page-body">
|
||||
|
||||
<vxe-form :data="formOptions.data" ref="xForm" :title-width="formOptions.titleWidth"
|
||||
|
|
@ -19,19 +19,19 @@
|
|||
</div>
|
||||
|
||||
</div>
|
||||
</page-layout>
|
||||
<!-- </page-layout> -->
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import BASE_URL from '@/services/Middle/transport/Maintenance/api.js';
|
||||
import PageLayout from '@/layouts/PageLayout'
|
||||
// import PageLayout from '@/layouts/PageLayout'
|
||||
|
||||
|
||||
export default {
|
||||
|
||||
name: 'MaintenanceUpdate',
|
||||
i18n: require('./i18n'),
|
||||
components: {PageLayout},
|
||||
// components: {PageLayout},
|
||||
props: {
|
||||
pageMode: {
|
||||
type: String,
|
||||
|
|
@ -115,7 +115,7 @@ export default {
|
|||
|
||||
{field: 'code', title: '编码', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'name', title: '名称', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'description', title: '描述', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'description', title: '描述', span: 24, itemRender: {name: '$input'}},
|
||||
|
||||
// =============================== 表单项 自动生成 End ===============================
|
||||
]
|
||||
|
|
@ -297,6 +297,7 @@ export default {
|
|||
}
|
||||
|
||||
.footerbar {
|
||||
padding-top: 20px;
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ export default {
|
|||
update_uid: 0,
|
||||
},
|
||||
// 标题宽度
|
||||
titleWidth: 150,
|
||||
titleWidth: 125,
|
||||
// 标题对齐方式
|
||||
titleAlign: 'right',
|
||||
|
||||
|
|
@ -129,12 +129,12 @@ export default {
|
|||
// 表单项
|
||||
items: [
|
||||
// =============================== 表单项 自动生成 Start ===============================
|
||||
|
||||
{field: 'code', title: '编码', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'name', title: '品名', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'description', title: '描述', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'image', title: '图片', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'remark', title: '备注', span: 12, itemRender: {name: '$input'}},
|
||||
{field:'',title:'',span:24,isTitle:true,Htitle:'土质物料信息',itemRender:{}},//分割线
|
||||
{field: 'code', title: '编码', span: 8, itemRender: {name: '$input'}},
|
||||
{field: 'name', title: '品名', span: 8, itemRender: {name: '$input'}},
|
||||
{field: 'image', title: '图片', span: 8, itemRender: {name: '$input'}},
|
||||
{field: 'description', title: '描述', span: 24, itemRender: {name: '$input'}},
|
||||
{field: 'remark', title: '备注', span: 24, itemRender: {name: '$input'}},
|
||||
|
||||
|
||||
// =============================== 表单项 自动生成 End ===============================
|
||||
|
|
|
|||
|
|
@ -1,37 +1,140 @@
|
|||
<template>
|
||||
<page-layout :desc="desc">
|
||||
<!-- <page-layout :desc="desc"> -->
|
||||
<div class="page-body">
|
||||
|
||||
<vxe-form :data="formOptions.data" ref="xForm" :title-width="formOptions.titleWidth"
|
||||
:title-align="formOptions.titleAlign" :rules="formOptions.rules" :items="formOptions.items" titleColon>
|
||||
:title-align="formOptions.titleAlign" :rules="formOptions.rules" titleColon>
|
||||
<!-- =========================== 自定义区域 Start ======================= -->
|
||||
|
||||
<vxe-form-item v-for="(item,index) in formOptions.items" :title="item.title" :field="item.field" :span="item.span" :key="index" :item-render="item.itemRender" :visible="isShow(item)">
|
||||
<div v-if="item.isTitle" class="Htitle">
|
||||
<div class="left-line"></div>
|
||||
<p class="Htitle-p">
|
||||
{{ item.Htitle }}
|
||||
</p>
|
||||
<div class="right-line"></div>
|
||||
</div>
|
||||
</vxe-form-item>
|
||||
<!-- =========================== 自定义区域 End ======================= -->
|
||||
</vxe-form>
|
||||
|
||||
<div class="mk-toolbar" v-if="isEdit">
|
||||
|
||||
</div>
|
||||
|
||||
<div class="tablebox" v-if="formOptions.data.is_repair == 1">
|
||||
<div class="Htitle" style="margin-bottom: 20px;">
|
||||
<div class="left-line"></div>
|
||||
<p class="Htitle-p">维修信息</p>
|
||||
<div class="right-line"></div>
|
||||
</div>
|
||||
<vxe-table border show-overflow keep-source ref="xTable1" :data="tableData"
|
||||
:edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false }">
|
||||
<vxe-column width="60">
|
||||
<template #default="{ row }">
|
||||
<div style="font-size: 18px;">
|
||||
<a @click.stop="pageAdd(row)" title="新增" style="margin-right: 5px;">
|
||||
<a-icon type="plus-circle" />
|
||||
</a>
|
||||
<a @click.stop="pageDelete(row)" title="删除">
|
||||
<a-icon type="delete" />
|
||||
</a>
|
||||
</div>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column type="seq" width="60"></vxe-column>
|
||||
<vxe-column field="name" title="维修项目" :edit-render="{ name: '$input',props: { type: 'number' }}"></vxe-column>
|
||||
<vxe-column field="name2" title="维修金额" formatter="formatNumber" :edit-render="{ name: '$input',props: { type: 'number' } }"></vxe-column>
|
||||
<vxe-column field="age" title="维修内容" :edit-render="{ name: '$input' }"></vxe-column>
|
||||
|
||||
</vxe-table>
|
||||
</div>
|
||||
<div class="tablebox" v-if="formOptions.data.is_change_tire == 1">
|
||||
<div class="Htitle" style="margin-bottom: 20px;">
|
||||
<div class="left-line"></div>
|
||||
<p class="Htitle-p">轮胎更换信息</p>
|
||||
<div class="right-line"></div>
|
||||
</div>
|
||||
<vxe-table border show-overflow keep-source ref="xTable2" :data="tableData"
|
||||
:edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false }">
|
||||
<vxe-column width="60">
|
||||
<template #default="{ row }">
|
||||
<div style="font-size: 18px;">
|
||||
<a @click.stop="pageAdd(row)" title="新增" style="margin-right: 5px;">
|
||||
<a-icon type="plus-circle" />
|
||||
</a>
|
||||
<a @click.stop="pageDelete(row)" title="删除">
|
||||
<a-icon type="delete" />
|
||||
</a>
|
||||
</div>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column type="seq" width="60"></vxe-column>
|
||||
<vxe-column field="name" title="旧轮胎胎号" :edit-render="{ name: '$input' }"></vxe-column>
|
||||
<vxe-column field="name1" title="新轮胎胎号" :edit-render="{ name: '$input' }"></vxe-column>
|
||||
<vxe-column field="name2" title="轮胎品牌" :edit-render="{ name: '$input' }"></vxe-column>
|
||||
<vxe-column field="sex" title="轮胎更换费用金额" :edit-render="{ name: '$input', props: { type: 'number' } }"></vxe-column>
|
||||
<vxe-column field="age" title="备注" :edit-render="{ name: '$input' }"></vxe-column>
|
||||
|
||||
</vxe-table>
|
||||
</div>
|
||||
|
||||
<div class="tablebox">
|
||||
<div class="Htitle" style="margin-bottom: 20px;">
|
||||
<div class="left-line"></div>
|
||||
<p class="Htitle-p">加油信息</p>
|
||||
<div class="right-line"></div>
|
||||
</div>
|
||||
<vxe-form :data="formOptions.data.oil_consumption" :title-width="formOptions.titleWidth"
|
||||
:title-align="formOptions.titleAlign">
|
||||
<vxe-form-item v-for="(item,index) in formOptions2.items" :title="item.title" :field="item.field" :span="item.span" :key="index" :item-render="item.itemRender">
|
||||
</vxe-form-item>
|
||||
</vxe-form>
|
||||
</div>
|
||||
<div class="tablebox">
|
||||
<div class="Htitle" style="margin-bottom: 20px;">
|
||||
<div class="left-line"></div>
|
||||
<p class="Htitle-p">其他费用</p>
|
||||
<div class="right-line"></div>
|
||||
</div>
|
||||
<vxe-table border show-overflow keep-source ref="xTable" :data="formOptions.data.other_expenses_log"
|
||||
:edit-config="{ trigger: 'click', mode: 'cell', icon: 'vxe-icon-edit', showStatus: false, }">
|
||||
<vxe-column width="60">
|
||||
<template #default="{ row }">
|
||||
<div style="font-size: 18px;">
|
||||
<a @click.stop="pageAdd(row,'other_expenses_log','xTable')" title="新增" style="margin-right: 5px;">
|
||||
<a-icon type="plus-circle" />
|
||||
</a>
|
||||
<a @click.stop="pageDelete(row,'other_expenses_log','xTable')" title="删除">
|
||||
<a-icon type="delete" />
|
||||
</a>
|
||||
</div>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column type="seq" width="60"></vxe-column>
|
||||
<vxe-column field="other_expenses_name" title="费用项目名称" :edit-render="{ name: '$input'}"></vxe-column>
|
||||
<vxe-column field="other_expenses_amount" title="费用金额" formatter="formatNumber" :edit-render="{ name: '$input',props: { type: 'number' } }"></vxe-column>
|
||||
<vxe-column field="other_expenses_remark" title="备注" :edit-render="{ name: '$input' }"></vxe-column>
|
||||
|
||||
</vxe-table>
|
||||
</div>
|
||||
<div class="footerbar">
|
||||
<a-button type="primary" @click="ok">确定</a-button>
|
||||
<a-button @click="cancel">取消</a-button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</page-layout>
|
||||
<!-- </page-layout> -->
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import BASE_URL from '@/services/Middle/transport/TrainNumber/api.js';
|
||||
import PageLayout from '@/layouts/PageLayout'
|
||||
// import PageLayout from '@/layouts/PageLayout'
|
||||
|
||||
|
||||
export default {
|
||||
|
||||
name: 'TrainNumberUpdate',
|
||||
i18n: require('./i18n'),
|
||||
components: {PageLayout},
|
||||
// components: {PageLayout},
|
||||
props: {
|
||||
pageMode: {
|
||||
type: String,
|
||||
|
|
@ -89,14 +192,15 @@ export default {
|
|||
outsourcing_driver_name: "",
|
||||
outsourcing_driver_phone: "",
|
||||
is_need_outbound: 0,
|
||||
truck_id: 0,
|
||||
driver_id: 0,
|
||||
truck_name: null,
|
||||
truck_id: null,
|
||||
driver_id: null,
|
||||
outbound_date: new Date(2100, 1, 1).getTime() / 10000,
|
||||
return_date: new Date(2100, 1, 1).getTime() / 10000,
|
||||
end_mileage: 0,
|
||||
driver_subsidy_remark: "",
|
||||
is_change_tire: 0,
|
||||
tire_id: 0,
|
||||
tire_id: null,
|
||||
is_repair: 0,
|
||||
repair_id: 0,
|
||||
is_oil: 0,
|
||||
|
|
@ -116,11 +220,21 @@ export default {
|
|||
customer_warehousing_tonnage: 0,
|
||||
driver_salary: 0,
|
||||
driver_subsidy: 0,
|
||||
|
||||
oil_consumption:{
|
||||
oil_consumption_number:null,
|
||||
oil_consumption_price:null,
|
||||
oil_consumption_total_price:null,
|
||||
oil_consumption_remark:null,
|
||||
},
|
||||
other_expenses_log:[{
|
||||
other_expenses_amount:null,
|
||||
other_expenses_name: "",
|
||||
other_expenses_remark: ""
|
||||
}],
|
||||
// =============================== 表单数据 自动生成 End ===============================
|
||||
},
|
||||
// 标题宽度
|
||||
titleWidth: 100,
|
||||
titleWidth: 125,
|
||||
// 标题对齐方式
|
||||
titleAlign: 'right',
|
||||
|
||||
|
|
@ -246,36 +360,33 @@ export default {
|
|||
// 表单项
|
||||
items: [
|
||||
// =============================== 表单项 自动生成 Start ===============================
|
||||
|
||||
{field: 'code', title: '车次单号', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'custom_id', title: '客户id', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'custom_name', title: '客户名称', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'supplier_id', title: '供应商id', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'supplier_name', title: '客户名称', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'soil_quality_material_id', title: '物料品名id', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'outbound_soil_quality_material_id', title: '出库物料土质id', span: 12, itemRender: {name: '$input'}},
|
||||
{
|
||||
field: 'warehousing_soil_quality_material_id',
|
||||
title: '入库物料土质id',
|
||||
span: 12,
|
||||
itemRender: {name: '$input'}
|
||||
},
|
||||
{field: 'outbound_remark', title: '出车备注', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'is_outsourcing', title: '是否委外', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'outsourcing_truck_number', title: '委外车牌号', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'outsourcing_driver_name', title: '委外司机姓名', span: 12, itemRender: {name: '$input'}},
|
||||
{field:'',title:'',span:24,isTitle:true,Htitle:'车辆信息',itemRender:{}},//分割线
|
||||
{field: 'is_outsourcing', title: '是否委外', span: 3, itemRender: { name: '$switch', props: { openLabel: '是', openValue: 1, closeValue: 0, closeLabel: '否' } }},
|
||||
{field: 'outsourcing_truck_number',isOutsourcing:true, title: '委外车牌号', span: 7, itemRender: {name: '$input'}},
|
||||
{field: 'outsourcing_driver_name',isOutsourcing:true, title: '委外司机姓名', span: 7, itemRender: {name: '$input'}},
|
||||
{
|
||||
field: 'outsourcing_driver_phone',
|
||||
isOutsourcing:true,
|
||||
title: '委外司机手机号',
|
||||
span: 12,
|
||||
itemRender: {name: '$input', props: {type: "number"}}
|
||||
span: 7,
|
||||
itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber }}
|
||||
},
|
||||
{field: 'is_need_outbound', title: '是否需要出车', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'truck_id', title: '车辆id', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'driver_id', title: '司机id', span: 12, itemRender: {name: '$input'}},
|
||||
{
|
||||
title: '司机', span: 12,
|
||||
field: 'driver_id',
|
||||
{field: 'truck_name', title: '选择车辆', span: 6, itemRender: {
|
||||
name: 'MkFormDataSelector', props: {
|
||||
params: {
|
||||
dataType: "string",
|
||||
valueField: "id",
|
||||
textField: "name",
|
||||
listdataFieldName: 'Truck',
|
||||
dataUrl: `${BASE_URL.BASE_URL}/Truck/v1/truck/list`,
|
||||
onDataChanged: ({value,data}) => {
|
||||
console.log(value,data)
|
||||
this.formOptions.data.truck_id = data.id;
|
||||
}
|
||||
}
|
||||
}
|
||||
}},
|
||||
{ field: 'driver_id',title: '司机', span: 6,
|
||||
dataRule: {
|
||||
fromField: "id",
|
||||
saveField: "driver_id"
|
||||
|
|
@ -290,63 +401,148 @@ export default {
|
|||
dataUrl: `${BASE_URL.BASE_URL}/MesStaff/v1/mes/staff/list`,
|
||||
onDataChanged: ({data}) => {
|
||||
console.log(data)
|
||||
this.pageOptions.formOptions.data.warehouse_mobile = data.phone;
|
||||
this.formOptions.data.warehouse_mobile = data.phone;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{field: 'driver_salary', title: '司机工资', span: 6, itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber }}},
|
||||
{field: 'is_need_outbound', title: '是否需要出车', span: 6, itemRender: { name: '$switch', props: { openLabel: '是', openValue: 1, closeValue: 0, closeLabel: '否' } }},
|
||||
{
|
||||
field: 'outbound_date',
|
||||
dataRule: {type: "timestamp"},
|
||||
isNeedOutbound:true,
|
||||
title: '出车日期',
|
||||
span: 12,
|
||||
span: 6,
|
||||
itemRender: {name: '$input', props: {type: "date"}}
|
||||
},
|
||||
|
||||
{
|
||||
field: 'return_date',
|
||||
dataRule: {type: "timestamp"},
|
||||
isNeedOutbound:true,
|
||||
title: '回车日期',
|
||||
span: 12,
|
||||
span: 6,
|
||||
itemRender: {name: '$input', props: {type: "date"}}
|
||||
},
|
||||
{field: 'end_mileage', title: '结束公里数', span: 12, itemRender: {name: '$input', props: {type: "number"}}},
|
||||
{field: 'driver_subsidy_remark', title: '司机补贴备注', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'is_change_tire', title: '是否更换轮胎', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'other_id', title: '其他费用id', span: 12, itemRender: {name: '$input'}},
|
||||
{
|
||||
field: 'outbound_mileage',
|
||||
title: '出车公里数',
|
||||
span: 12,
|
||||
itemRender: {name: '$input', props: {type: "number"}}
|
||||
},
|
||||
{field: 'unit_price', title: '单价', span: 12, itemRender: {name: '$input', props: {type: "number"}}},
|
||||
{field: 'total_price', title: '总价', span: 12, itemRender: {name: '$input', props: {type: "number"}}},
|
||||
{
|
||||
field: 'supplier_outbound_tonnage',
|
||||
title: '供应商出库吨位',
|
||||
span: 12,
|
||||
itemRender: {name: '$input', props: {type: "number"}}
|
||||
},
|
||||
{
|
||||
field: 'customer_warehousing_tonnage',
|
||||
title: '客户入库吨位',
|
||||
span: 12,
|
||||
itemRender: {name: '$input', props: {type: "number"}}
|
||||
},
|
||||
{field: 'driver_salary', title: '司机工资', span: 12, itemRender: {name: '$input', props: {type: "number"}}},
|
||||
{field: 'driver_subsidy', title: '司机补贴', span: 12, itemRender: {name: '$input', props: {type: "number"}}},
|
||||
{field: 'income', title: '收入', span: 8, itemRender: {name: '$input', props: {type: "number"}}},
|
||||
{field: 'cost', title: '成本', span: 8, itemRender: {name: '$input', props: {type: "number"}}},
|
||||
{field: 'profit', title: '利润', span: 8, itemRender: {name: '$input', props: {type: "number"}}},
|
||||
{field: 'end_mileage',isNeedOutbound:true, title: '结束公里数', span: 6, itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber }}},
|
||||
{field: 'outbound_mileage',isNeedOutbound:true,title: '出车公里数',span: 6,itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber }}},
|
||||
{field:'',title:'',span:24,isTitle:true,Htitle:'基础信息',itemRender:{}},//分割线
|
||||
{field: 'code', title: '车次单号', span: 6, itemRender: {name: '$input'}},
|
||||
{field: 'custom_name', title: '选择客户', span: 6, itemRender: {
|
||||
name: 'MkFormDataSelector', props: {
|
||||
params: {
|
||||
dataType: "string",
|
||||
valueField: "id",
|
||||
textField: "name",
|
||||
listdataFieldName: 'Custom',
|
||||
dataUrl: `${BASE_URL.BASE_URL}/Custom/v1/custom/list`,
|
||||
actionParams:{
|
||||
search_rules: [
|
||||
{
|
||||
"column": "type",
|
||||
"mode": "=",
|
||||
"value": "0"
|
||||
}
|
||||
],
|
||||
},
|
||||
onDataChanged: ({value,data}) => {
|
||||
console.log(value,data)
|
||||
this.formOptions.data.custom_id = data.id;
|
||||
}
|
||||
}
|
||||
}
|
||||
}},
|
||||
{field: 'supplier_name', title: '选择供应商', span: 6, itemRender: {
|
||||
name: 'MkFormDataSelector', props: {
|
||||
params: {
|
||||
dataType: "string",
|
||||
valueField: "id",
|
||||
textField: "name",
|
||||
listdataFieldName: 'Custom',
|
||||
actionParams:{
|
||||
search_rules: [
|
||||
{
|
||||
"column": "type",
|
||||
"mode": "=",
|
||||
"value": "1"
|
||||
}
|
||||
],
|
||||
},
|
||||
dataUrl: `${BASE_URL.BASE_URL}/Custom/v1/custom/list`,
|
||||
onDataChanged: ({value,data}) => {
|
||||
console.log(value,data)
|
||||
this.formOptions.data.supplier_id = data.id;
|
||||
}
|
||||
}
|
||||
}
|
||||
}},
|
||||
{field: 'soil_quality_material', title: '选择物料', span: 6, itemRender: {
|
||||
name: 'MkFormDataSelector', props: {
|
||||
params: {
|
||||
dataType: "string",
|
||||
valueField: "id",
|
||||
textField: "name",
|
||||
listdataFieldName: 'SoilQualityMaterial',
|
||||
// actionParams:{
|
||||
// search_rules: [
|
||||
// {
|
||||
// "column": "type",
|
||||
// "mode": "=",
|
||||
// "value": "1"
|
||||
// }
|
||||
// ],
|
||||
// },
|
||||
dataUrl: `${BASE_URL.BASE_URL}/SoilQualityMaterial/v1/soil/quality/material/list`,
|
||||
onDataChanged: ({value,data}) => {
|
||||
console.log(value,data)
|
||||
this.formOptions.data.soil_quality_material_id = data.id;
|
||||
}
|
||||
}
|
||||
}
|
||||
}},
|
||||
{field:'',title:'',span:24,isTitle:true,Htitle:'吨位消息',itemRender:{}},//分割线
|
||||
{field: 'supplier_outbound_tonnage',title: '供应商出库吨位',span: 4,itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber }}},
|
||||
{field: 'outbound_soil_quality_material_id', title: '出库物料土质', span: 4, itemRender: {name: '$input'}},
|
||||
{field: 'customer_warehousing_tonnage',title: '客户入库吨位',span: 4,itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber }}},
|
||||
{field: 'warehousing_soil_quality_material_id',title: '入库物料土质',span: 4, itemRender: {name: '$input'}},
|
||||
{field: 'unit_price', title: '单价', span: 4, itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber } }},
|
||||
{field: 'total_price', title: '总价', span: 4, itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber }}},
|
||||
{field: 'outbound_remark', title: '出车备注', span: 24, itemRender: {name: '$input'}},
|
||||
|
||||
{field:'',title:'',span:24,isTitle:true,Htitle:'司机补贴',itemRender:{}},//分割线
|
||||
|
||||
{field: 'driver_subsidy', title: '补贴金额', span: 6, itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber }}},
|
||||
{field: 'driver_subsidy_remark', title: '补贴备注', span: 18, itemRender: {name: '$input'}},
|
||||
// {field: 'is_repair', title: '是否维修', span: 6,itemRender: { name: '$switch', props: { openLabel: '是', openValue: 1, closeValue: 0, closeLabel: '否' } }},
|
||||
// {field: 'is_change_tire', title: '是否更换轮胎', span: 6,itemRender: { name: '$switch', props: { openLabel: '是', openValue: 1, closeValue: 0, closeLabel: '否' } }},
|
||||
// {field: 'is_oil', title: '是否加油', span: 6,itemRender: { name: '$switch', props: { openLabel: '是', openValue: 1, closeValue: 0, closeLabel: '否' } }},
|
||||
// {field: 'other_id', title: '其他费用id', span: 12, itemRender: {name: '$input'}},
|
||||
|
||||
|
||||
|
||||
|
||||
// {field: 'income', title: '收入', span: 8, itemRender: {name: '$input', props: {type: "number"}}},
|
||||
// {field: 'cost', title: '成本', span: 8, itemRender: {name: '$input', props: {type: "number"}}},
|
||||
// {field: 'profit', title: '利润', span: 8, itemRender: {name: '$input', props: {type: "number"}}},
|
||||
|
||||
// =============================== 表单项 自动生成 End ===============================
|
||||
]
|
||||
},
|
||||
formOptions2:{
|
||||
items: [
|
||||
{field: "oil_consumption_number", title: '油耗数量', span: 4, itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber } }},
|
||||
{field: "oil_consumption_price", title: '油耗单价', span: 4, itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber } }},
|
||||
{field: "oil_consumption_total_price", title: '油耗总价', span: 4, itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber }}},
|
||||
{field: "oil_consumption_remark", title: '油耗备注', span: 12, itemRender: {name: '$input'}},
|
||||
]
|
||||
},
|
||||
// 新增模式表单项
|
||||
addModeItems: [],
|
||||
|
||||
tableData: [
|
||||
{}
|
||||
]
|
||||
|
||||
};
|
||||
|
||||
|
|
@ -361,9 +557,9 @@ export default {
|
|||
},
|
||||
|
||||
computed: {
|
||||
// desc() {
|
||||
// return this.$t('editPageDesc')
|
||||
// }
|
||||
desc() {
|
||||
return this.$t('editPageDesc')
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
|
|
@ -403,6 +599,13 @@ export default {
|
|||
|
||||
// =============================== 时间字段判断 自动生成 End ===============================
|
||||
this.formOptions.data = a.data[this.detailDataFieldName];
|
||||
if(!this.formOptions.data.other_expenses_log){
|
||||
this.formOptions.data.other_expenses_log = [{
|
||||
other_expenses_amount:null,
|
||||
other_expenses_name: "",
|
||||
other_expenses_remark: ""
|
||||
}]
|
||||
}
|
||||
}).catch((a) => {
|
||||
this.$mk.error(a.data.msg);
|
||||
});
|
||||
|
|
@ -450,7 +653,57 @@ export default {
|
|||
// 打开列表页面
|
||||
this.$openPage('/TrainNumber/TrainNumberList')
|
||||
},
|
||||
isShow(item){
|
||||
if(!item.isOutsourcing && !item.isNeedOutbound){
|
||||
return true
|
||||
}
|
||||
if(item.isOutsourcing && this.formOptions.data.is_outsourcing == 1){
|
||||
return true
|
||||
}
|
||||
if(item.isNeedOutbound && this.formOptions.data.is_need_outbound == 1){
|
||||
return true
|
||||
}else{
|
||||
return false
|
||||
}
|
||||
},
|
||||
// 新增
|
||||
pageAdd(row,field,table) {
|
||||
const $table = this.$refs[table]
|
||||
const record = {
|
||||
}
|
||||
if (row) {
|
||||
|
||||
this.formOptions.data[field].splice($table.getRowSeq(row), 0, record);
|
||||
} else {
|
||||
this.formOptions.data[field].push(record)
|
||||
}
|
||||
},
|
||||
|
||||
pageDelete(row,field,table) {
|
||||
const $table = this.$refs[table];
|
||||
if (this.formOptions.data[field].length == 1) {
|
||||
this.$mk.error("至少保留一行");
|
||||
return;
|
||||
}
|
||||
if (row.ID) {
|
||||
this.deletedDetailsData.push({
|
||||
Status: 'deleted',
|
||||
ID: row.ID
|
||||
})
|
||||
}
|
||||
this.formOptions.data[field].splice($table.getRowSeq(row) - 1, 1);
|
||||
},
|
||||
handleInputNumber(e){
|
||||
if(e.field){
|
||||
if(e.field.includes('oil_consumption')){
|
||||
this.formOptions.data.oil_consumption[e.field] = Number(this.formOptions.data.oil_consumption[e.field])
|
||||
}else{
|
||||
this.formOptions.data[e.field] = Number(this.formOptions.data[e.field])
|
||||
}
|
||||
}else{
|
||||
return
|
||||
}
|
||||
},
|
||||
// 保存
|
||||
ok() {
|
||||
|
||||
|
|
@ -460,6 +713,12 @@ export default {
|
|||
// 如果是新增模式,提交新增接口 如果是编辑模式,提交编辑接口
|
||||
let action = !this.isEdit ? this.actions.create : this.actions.update;
|
||||
// 如果是新增模式,提交的数据中加入id 如果是编辑模式,提交的数据中不加入id
|
||||
|
||||
|
||||
this.formOptions.data.other_expenses_log.forEach(item => {
|
||||
console.log(item)
|
||||
item.other_expenses_amount = Number(item.other_expenses_amount)
|
||||
})
|
||||
let postdata = Object.assign({}, this.formOptions.data);
|
||||
// 如果是编辑模式
|
||||
if (this.isEdit) {
|
||||
|
|
@ -487,7 +746,6 @@ export default {
|
|||
|
||||
};
|
||||
|
||||
|
||||
// 验证表单
|
||||
this.$mk.validateForm({form: this.$refs.xForm}).then(() => { // 验证表单
|
||||
save(); // 提交保存
|
||||
|
|
@ -540,4 +798,19 @@ export default {
|
|||
height: 80px;
|
||||
}
|
||||
}
|
||||
.Htitle{
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
color: #122ed1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
padding-left: 10px;
|
||||
.Htitle-p{margin-bottom: 0;margin: 0 10px;}
|
||||
.left-line{width: 40px;height: 1px;background-color:#122ed1;}
|
||||
.right-line{flex-grow: 1;height: 1px;background-color:#122ed1;}
|
||||
}
|
||||
.tablebox{
|
||||
padding: 10px 0;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
Loading…
Reference in New Issue