This commit is contained in:
parent
74c327176c
commit
168015c00e
|
|
@ -35,6 +35,7 @@ export default {
|
|||
visible: false,
|
||||
title: "提示",
|
||||
callback: null,
|
||||
close: null,
|
||||
showFooter:false,
|
||||
dataId: "",
|
||||
pageMode: "", //add edit select
|
||||
|
|
@ -49,7 +50,7 @@ export default {
|
|||
// 解构赋值 page 页面组件 title 标题 callback 回调函数 pageMode 模式 add edit select dataId 数据id width 宽度 height 高度 pageOptions 页面参数
|
||||
// pageOptions 用于传递给页面的参数 例如:{id:1,name:'张三'} 页面通过 this.$options.pageOptions 获取
|
||||
// showFooter 是否显示底部按钮
|
||||
const { page, title, callback, pageMode, dataId,width = 800,height = 600 , pageOptions = {} ,showFooter } = options || {};
|
||||
const { page, title, callback, pageMode, dataId,width = 800,height = 600 , pageOptions = {} ,showFooter,close } = options || {};
|
||||
|
||||
this.width = width;
|
||||
this.height = height;
|
||||
|
|
@ -60,6 +61,8 @@ export default {
|
|||
this.app = page;
|
||||
this.callback = callback;
|
||||
this.showFooter = showFooter;
|
||||
// 关闭弹窗
|
||||
this.close = close
|
||||
// 设置延迟显示,解决弹窗显示不全的问题
|
||||
setTimeout(() => {
|
||||
this.visible = true;
|
||||
|
|
@ -82,6 +85,11 @@ export default {
|
|||
|
||||
// 关闭弹窗
|
||||
modalClose() {
|
||||
|
||||
const { close } = this;
|
||||
if (close) {
|
||||
close();
|
||||
}
|
||||
this.$destroy();
|
||||
},
|
||||
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ export default {
|
|||
},
|
||||
data() {
|
||||
|
||||
const listFieldName = 'Custom';
|
||||
const listFieldName = 'balance_log';
|
||||
// 页面数据
|
||||
var pageData = { // 页面数据变量
|
||||
|
||||
|
|
@ -103,8 +103,8 @@ export default {
|
|||
],
|
||||
//搜索区
|
||||
searchFormItems: [ // 子项
|
||||
{field: 'title', title: '标题', span: 5, itemRender: {name: '$input', props: {placeholder: '请输入标题'}}},
|
||||
{field: 'desc', title: '描述', span: 5, itemRender: {name: '$input', props: {placeholder: '请输入描述'}}},
|
||||
// {field: 'title', title: '标题', span: 5, itemRender: {name: '$input', props: {placeholder: '请输入标题'}}},
|
||||
// {field: 'desc', title: '描述', span: 5, itemRender: {name: '$input', props: {placeholder: '请输入描述'}}},
|
||||
{span: 8, slots: {default: 'date'}}, // 自定义列
|
||||
{
|
||||
align: 'right', span: 4, itemRender: { // 按钮列
|
||||
|
|
@ -163,7 +163,7 @@ export default {
|
|||
|
||||
|
||||
{field: 'custom_id', sortable: true, title: '客户id', width: 250}, // 客户id
|
||||
{field: 'balance_type', sortable: true, title: '结余类型:1增加,2减少', width: 250}, // 结余类型:1增加,2减少
|
||||
{field: 'balance_type', sortable: true, title: '结余类型', width: 250}, // 结余类型:1增加,2减少
|
||||
{field: 'remark', sortable: true, title: '备注', width: 250}, // 备注
|
||||
|
||||
{
|
||||
|
|
|
|||
|
|
@ -182,6 +182,11 @@ export default {
|
|||
addBalanceApi() {
|
||||
// 转换 this.amount 为数字
|
||||
this.amount = Number(this.amount);
|
||||
// 如果不为数字
|
||||
if (this.amount === undefined || isNaN(this.amount)) {
|
||||
this.$mk.error("请输入正确的金额");
|
||||
return
|
||||
}
|
||||
if (this.amount <= 0) {
|
||||
this.$mk.error("请输入正确的金额");
|
||||
return
|
||||
|
|
@ -214,6 +219,11 @@ export default {
|
|||
reduceBalanceApi() {
|
||||
// 转换 this.amount 为数字
|
||||
this.amount = Number(this.amount);
|
||||
// 如果不为数字
|
||||
if (this.amount === undefined || isNaN(this.amount)) {
|
||||
this.$mk.error("请输入正确的金额");
|
||||
return
|
||||
}
|
||||
if (this.amount <= 0) {
|
||||
this.$mk.error("请输入正确的金额");
|
||||
return
|
||||
|
|
|
|||
|
|
@ -400,6 +400,14 @@ export default {
|
|||
console.log("success",success);
|
||||
|
||||
this.$forceUpdate() // 刷新
|
||||
},
|
||||
// 关闭弹窗时触发
|
||||
close: () => {
|
||||
console.log("close");
|
||||
|
||||
// 表格重新加载数据
|
||||
this.onSearch();
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,250 @@
|
|||
<template>
|
||||
<vxe-grid ref='xGrid' v-bind="gridOptions" @form-submit="initListData" @page-change="handlePageChange">
|
||||
<!-- 工具栏 -->
|
||||
<template #toolbar_buttons>
|
||||
<a-button @click="pageDelete()">批量删除</a-button>
|
||||
<a-button type="primary" @click="Add()">新增</a-button>
|
||||
</template>
|
||||
|
||||
<template #empty>
|
||||
<a-empty/>
|
||||
</template>
|
||||
</vxe-grid>
|
||||
</template>
|
||||
<script>
|
||||
import ListMixin from "@/application/zk/mixins/ListComponents.js";
|
||||
import DeleteMixin from "@/application/zk/mixins/DeleteComponents.js";
|
||||
import DetailMixin from "@/application/zk/mixins/DetailComponents.js";
|
||||
import UpdateMixin from "@/application/zk/mixins/UpdateComponents.js";
|
||||
|
||||
export default {
|
||||
mixins: [ListMixin, DeleteMixin, DetailMixin, UpdateMixin],
|
||||
props: {
|
||||
Columns: {
|
||||
type: Array
|
||||
},
|
||||
FormConfig: {
|
||||
type: Object,
|
||||
default: () => {
|
||||
return {
|
||||
data: {
|
||||
name: '',
|
||||
code: '',
|
||||
create_time: 0
|
||||
},
|
||||
items: [
|
||||
{
|
||||
field: 'name',
|
||||
title: '名称',
|
||||
slots: {default: 'name_item'} // 自定义插槽
|
||||
},
|
||||
{
|
||||
field: 'code',
|
||||
title: '编码',
|
||||
slots: {default: 'code_item'} // 自定义插槽
|
||||
},
|
||||
{
|
||||
field: 'create_time',
|
||||
title: '时间',
|
||||
slots: {default: 'create_time_item'} // 自定义插槽
|
||||
},
|
||||
{slots: {default: 'operate_item'}}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
DeleteIds: [], // 删除的id
|
||||
gridOptions: { // 表格配置
|
||||
resizable: true, // 是否允许拖动列宽调整大小
|
||||
border: true, // 是否带有纵向边框
|
||||
showOverflow: true, // 当内容过长时显示为省略号
|
||||
loading: false, // 是否显示加载中
|
||||
minHeight: '600', // 最小高度
|
||||
maxHeight: '1200', // 最大高度
|
||||
// 间隔条纹
|
||||
stripe: true,
|
||||
exportConfig: { // 导出配置
|
||||
|
||||
},
|
||||
|
||||
pagerConfig: {// 分页配置
|
||||
total: 0, // 总条数
|
||||
currentPage: this.ListUrlData.page, // 当前页
|
||||
pageSize: this.ListUrlData.limit, // 默认每页显示条数
|
||||
pageSizes: [10, 20, 30, 50, 100, 500, 1000, 2000] // 每页显示条数选项
|
||||
},
|
||||
checkboxConfig: { // 复选框配置
|
||||
// 设置复选框支持分页勾选,需要设置 rowId 行数据主键
|
||||
reserve: true,
|
||||
// 点击行选中复选框
|
||||
trigger: 'row',
|
||||
highlight: true
|
||||
},
|
||||
formConfig: this.FormConfig, // 表单配置
|
||||
toolbarConfig: { // 工具栏配置
|
||||
export: true, // 是否显示导出按钮
|
||||
custom: true, // 是否显示自定义列按钮
|
||||
slots: {
|
||||
buttons: 'toolbar_buttons' // 自定义插槽
|
||||
}
|
||||
},
|
||||
columns: this.Columns, // 表格列配置
|
||||
data: []
|
||||
},
|
||||
}
|
||||
},
|
||||
created() {
|
||||
// 初始化列表数据
|
||||
this.initListData()
|
||||
},
|
||||
methods: {
|
||||
|
||||
// 初始化列表数据
|
||||
initListData() {
|
||||
this.ListUrlData.order_bys = []
|
||||
this.ListUrlData.order_bys.push({
|
||||
column: "create_time",
|
||||
order: "desc"
|
||||
})
|
||||
this.ListUrlData.search_rules = [];
|
||||
if (this.gridOptions.formConfig.data.name !== '') {
|
||||
this.ListUrlData.search_rules.push(
|
||||
{
|
||||
column: "name",
|
||||
mode: "like",
|
||||
value: this.gridOptions.formConfig.data.name
|
||||
}
|
||||
)
|
||||
}
|
||||
if (this.gridOptions.formConfig.data.code !== '') {
|
||||
this.ListUrlData.search_rules.push(
|
||||
{
|
||||
column: "code",
|
||||
mode: "like",
|
||||
value: this.gridOptions.formConfig.data.code
|
||||
}
|
||||
)
|
||||
}
|
||||
this.$zk.getPagedData({
|
||||
url: this.ListUrl,
|
||||
listFieldName: this.ListFieldName,
|
||||
data: this.ListUrlData,
|
||||
loading: "加载中...",
|
||||
config: {
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
}
|
||||
}
|
||||
}).then(a => {
|
||||
if (a.total === 0) {
|
||||
this.gridOptions.pagerConfig.currentPage = this.ListUrlData.page;
|
||||
this.gridOptions.pagerConfig.pageSize = this.ListUrlData.limit;
|
||||
this.gridOptions.pagerConfig.total = a.total;
|
||||
this.gridOptions.data = a[this.ListFieldName];
|
||||
return
|
||||
}
|
||||
this.gridOptions.data = a[this.ListFieldName];
|
||||
// this.list中的id字段转换为字符串
|
||||
this.gridOptions.data.forEach(item => {
|
||||
item.id = item.id.toString();
|
||||
});
|
||||
this.gridOptions.pagerConfig.currentPage = this.ListUrlData.page;
|
||||
this.gridOptions.pagerConfig.pageSize = this.ListUrlData.limit;
|
||||
this.gridOptions.pagerConfig.total = a.total;
|
||||
}).catch((a) => {
|
||||
this.$mk.error(a.msg);
|
||||
});
|
||||
},
|
||||
|
||||
// 删除
|
||||
pageDelete: function (row) {
|
||||
let ids = [];
|
||||
if (row) {
|
||||
ids.push(row.id);
|
||||
}
|
||||
this.$refs.xGrid.getCheckboxRecords().forEach(item => {
|
||||
ids.push(item.id);
|
||||
});
|
||||
console.log(ids);
|
||||
if (!ids.length) { // 如果没有选中行
|
||||
this.$mk.error("请选择行"); // 提示
|
||||
return;
|
||||
}
|
||||
this.$mk.confirm('您确定要删除吗?').then(type => { // 确认删除
|
||||
if (type === 'confirm') { // 如果确认删除
|
||||
this.DeleteUrlData.ids = ids;
|
||||
this.Delete()
|
||||
this.$message.success("删除成功")
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
},
|
||||
// 分页
|
||||
handlePageChange({currentPage, pageSize}) {
|
||||
this.ListUrlData.page = currentPage
|
||||
this.ListUrlData.limit = pageSize
|
||||
this.initListData()
|
||||
},
|
||||
// 时间选择
|
||||
onChangeCreatTime(date, dateString) {
|
||||
console.log("dateString:", dateString)
|
||||
if (dateString[0] === '' && dateString[1] === '') {
|
||||
this.ListUrlData.start_time = 0;
|
||||
this.ListUrlData.end_time = 0;
|
||||
this.initListData()
|
||||
} else {
|
||||
this.ListUrlData.start_time = dateString[0];
|
||||
this.ListUrlData.end_time = dateString[1];
|
||||
this.initListData()
|
||||
}
|
||||
},
|
||||
// 新增
|
||||
Add() {
|
||||
this.$openPage(this.CreateRouter);
|
||||
},
|
||||
// 编辑
|
||||
pageEdit(row) {
|
||||
console.log(row)
|
||||
if (!row) { // 如果没有选中行
|
||||
this.$mk.msg("请选择行"); // 提示
|
||||
return; // 返回
|
||||
}
|
||||
this.$openPage(this.UpdateRouter + "/" + row.id); // 打开页面
|
||||
},
|
||||
// 详情
|
||||
pageDetail(row) {
|
||||
console.log(row)
|
||||
if (!row) { // 如果没有选中行
|
||||
this.$mk.msg("请选择行"); // 提示
|
||||
return; // 返回
|
||||
}
|
||||
this.$mk.dialog.open({
|
||||
height: 800,
|
||||
width: 1200,
|
||||
page: () => import('./Detail.vue'),
|
||||
title: "详情",
|
||||
dataId: row.id,
|
||||
pageOptions: {
|
||||
ApiUrl: this.DetailUrl,
|
||||
ApiData: this.DetailUrlData,
|
||||
FieldName: "truck",
|
||||
title: "详情",
|
||||
},
|
||||
callback: ({success}) => {
|
||||
success && this.initListData(); // 如果成功,初始化列表数据
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<style scoped lang="less">
|
||||
.ant-btn {
|
||||
margin-right: 10px;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
</a-col>
|
||||
<a-col :flex="$mk.config.ui.toolbarFlex">
|
||||
<!-- 工具条 -->
|
||||
<mk-toolbar :isShowAdd="true" @toolbarClick="toolbarClick"></mk-toolbar>
|
||||
<mk-toolbar :isShowAdd="false" @toolbarClick="toolbarClick"></mk-toolbar>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
|
|
@ -118,8 +118,8 @@ export default {
|
|||
],
|
||||
//搜索区
|
||||
searchFormItems: [ // 子项
|
||||
{field: 'title', title: '标题', span: 5, itemRender: {name: '$input', props: {placeholder: '请输入标题'}}},
|
||||
{field: 'desc', title: '描述', span: 5, itemRender: {name: '$input', props: {placeholder: '请输入描述'}}},
|
||||
// {field: 'title', title: '标题', span: 5, itemRender: {name: '$input', props: {placeholder: '请输入标题'}}},
|
||||
// {field: 'desc', title: '描述', span: 5, itemRender: {name: '$input', props: {placeholder: '请输入描述'}}},
|
||||
{span: 8, slots: {default: 'date'}}, // 自定义列
|
||||
{
|
||||
align: 'right', span: 4, itemRender: { // 按钮列
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
</a-col>
|
||||
<a-col :flex="$mk.config.ui.toolbarFlex">
|
||||
<!-- 工具条 -->
|
||||
<mk-toolbar :isShowAdd="true" @toolbarClick="toolbarClick"></mk-toolbar>
|
||||
<mk-toolbar :isShowAdd="false" @toolbarClick="toolbarClick"></mk-toolbar>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
|
|
@ -108,15 +108,15 @@ export default {
|
|||
],
|
||||
//搜索区
|
||||
searchFormItems: [ // 子项
|
||||
{field: 'title', title: '标题', span: 5, itemRender: {name: '$input', props: {placeholder: '请输入标题'}}},
|
||||
{field: 'desc', title: '描述', span: 5, itemRender: {name: '$input', props: {placeholder: '请输入描述'}}},
|
||||
{span: 8, slots: {default: 'date'}}, // 自定义列
|
||||
{
|
||||
align: 'right', span: 4, itemRender: { // 按钮列
|
||||
name: '$buttons', children: [{props: {type: 'submit', content: '搜索', status: 'primary'}}, // 搜索按钮
|
||||
{props: {type: 'reset', content: '重置'}}]
|
||||
}
|
||||
}
|
||||
// {field: 'title', title: '标题', span: 5, itemRender: {name: '$input', props: {placeholder: '请输入标题'}}},
|
||||
// {field: 'desc', title: '描述', span: 5, itemRender: {name: '$input', props: {placeholder: '请输入描述'}}},
|
||||
// {span: 8, slots: {default: 'date'}}, // 自定义列
|
||||
// {
|
||||
// align: 'right', span: 4, itemRender: { // 按钮列
|
||||
// name: '$buttons', children: [{props: {type: 'submit', content: '搜索', status: 'primary'}}, // 搜索按钮
|
||||
// {props: {type: 'reset', content: '重置'}}]
|
||||
// }
|
||||
// }
|
||||
],
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -16,21 +16,27 @@
|
|||
</a-col>
|
||||
<a-col :flex="$mk.config.ui.toolbarFlex">
|
||||
<!-- 工具条 -->
|
||||
<mk-toolbar :isShowAdd="true" @toolbarClick="toolbarClick"></mk-toolbar>
|
||||
<!-- <mk-toolbar :isShowAdd="false" @toolbarClick="toolbarClick"></mk-toolbar> -->
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
|
||||
<vxe-toolbar ref="xToolbar" custom>
|
||||
<template #buttons>
|
||||
<!-- <template #buttons>
|
||||
<a-button type="primary" icon="delete" @click="pageDelete()">批量删除</a-button>
|
||||
</template>
|
||||
</template> -->
|
||||
</vxe-toolbar>
|
||||
<!-- 表格区 -->
|
||||
<div class="gridPanel">
|
||||
<vxe-grid ref='xGrid' v-bind="gridOptions">
|
||||
|
||||
<!-- =============================== 表格列 自动生成 Start =============================== -->
|
||||
<template #staff_name="{ row }"><!-- 这里是自定义列 -->
|
||||
{{ row.staff_detail.name }}
|
||||
</template>
|
||||
<template #staff_code="{ row }"><!-- 这里是自定义列 -->
|
||||
{{ row.staff_detail.code }}
|
||||
</template>
|
||||
<template #status="{ row }"><!-- 这里是自定义列 -->
|
||||
<!-- 转换 row.status 的值 如果是true显示开,否则显示关-->
|
||||
<a-switch :checked="row.status ? true : false" @change="onSwitch(row, 'status')" />
|
||||
|
|
@ -69,7 +75,7 @@ export default {
|
|||
},
|
||||
data() {
|
||||
|
||||
const listFieldName = 'DriverWages';
|
||||
const listFieldName = 'DriverWagesSurplus';
|
||||
// 页面数据
|
||||
var pageData = { // 页面数据变量
|
||||
|
||||
|
|
@ -121,15 +127,15 @@ export default {
|
|||
],
|
||||
//搜索区
|
||||
searchFormItems: [ // 子项
|
||||
{field: 'title', title: '标题', span: 5, itemRender: {name: '$input', props: {placeholder: '请输入标题'}}},
|
||||
{field: 'desc', title: '描述', span: 5, itemRender: {name: '$input', props: {placeholder: '请输入描述'}}},
|
||||
{span: 8, slots: {default: 'date'}}, // 自定义列
|
||||
{
|
||||
align: 'right', span: 4, itemRender: { // 按钮列
|
||||
name: '$buttons', children: [{props: {type: 'submit', content: '搜索', status: 'primary'}}, // 搜索按钮
|
||||
{props: {type: 'reset', content: '重置'}}]
|
||||
}
|
||||
}
|
||||
// { field: 'title', title: '标题', span: 5, itemRender: { name: '$input', props: { placeholder: '请输入标题' } } },
|
||||
// { field: 'desc', title: '描述', span: 5, itemRender: { name: '$input', props: { placeholder: '请输入描述' } } },
|
||||
// { span: 8, slots: { default: 'date' } }, // 自定义列
|
||||
// {
|
||||
// align: 'right', span: 4, itemRender: { // 按钮列
|
||||
// name: '$buttons', children: [{ props: { type: 'submit', content: '搜索', status: 'primary' } }, // 搜索按钮
|
||||
// { props: { type: 'reset', content: '重置' } }]
|
||||
// }
|
||||
// }
|
||||
],
|
||||
|
||||
|
||||
|
|
@ -180,10 +186,17 @@ export default {
|
|||
// =============================== 表格列 自动生成 Start ===============================
|
||||
|
||||
|
||||
{field: 'staff_uid', sortable: true, title: '员工uid', width: 250}, // 员工uid
|
||||
{field: 'transport_mileage', sortable: true, title: '运输总公里数', width: 120}, // 运输总公里数
|
||||
{field: 'month_mileage', sortable: true, title: '本月份总公里数', width: 120}, // 本月份总公里数
|
||||
{field: 'wages_balance', sortable: true, title: '工资结余', width: 250}, // 工资结余
|
||||
{
|
||||
field: 'staff_uid', sortable: true, title: '员工姓名', width: 120
|
||||
, slots: { default: 'staff_name' }
|
||||
}, // 员工姓名
|
||||
{
|
||||
field: 'staff_uid', sortable: true, title: '员工编号', width: 120
|
||||
, slots: { default: 'staff_code' }
|
||||
}, // 员工编号
|
||||
{ field: 'transport_mileage', sortable: true, title: '运输总公里数', width: 140 }, // 运输总公里数
|
||||
{ field: 'month_mileage', sortable: true, title: '本月份总公里数', width: 140 }, // 本月份总公里数
|
||||
{ field: 'wages_balance', sortable: true, title: '工资结余', width: 150 }, // 工资结余
|
||||
{
|
||||
field: 'status',
|
||||
slots: { default: 'status' },
|
||||
|
|
@ -211,8 +224,8 @@ export default {
|
|||
}
|
||||
|
||||
};
|
||||
pageData.actions.getList = pageData.actions.DriverWagesList;
|
||||
pageData.actions.delete = pageData.actions.DriverWagesBatchDelete;
|
||||
pageData.actions.getList = pageData.actions.DriverWagesSurplusList;
|
||||
pageData.actions.delete = pageData.actions.DriverWagesSurplusBatchDelete;
|
||||
pageData.gridOptions = Object.assign({}, this.$mk.config.defaults.gridOptions, pageData.gridOptions); // 合并表格数据
|
||||
|
||||
return pageData; // 返回页面数据
|
||||
|
|
|
|||
|
|
@ -174,9 +174,12 @@ export default {
|
|||
}
|
||||
}
|
||||
},
|
||||
{field: 'other_expenses_name', title: '其他费用名称', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'other_expenses_remark', title: '其他费用备注', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'other_expenses_amount', title: '其他费用金额', span: 12, itemRender: {name: '$input', props: { type: 'number' }}},
|
||||
{field: 'other_expenses_name', title: '费用名称', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'other_expenses_remark', title: '费用备注', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'other_expenses_date', title: '日期', span: 12,
|
||||
dataRule: { type: "timestamp" },
|
||||
itemRender: { name: '$input', props: { type: "date" } }},
|
||||
{field: 'other_expenses_amount', title: '费用金额', span: 12, itemRender: {name: '$input', props: { type: 'number' }}},
|
||||
|
||||
// =============================== 表单项 自动生成 End ===============================
|
||||
]
|
||||
|
|
|
|||
|
|
@ -178,12 +178,14 @@ export default {
|
|||
// =============================== 表格列 自动生成 Start ===============================
|
||||
|
||||
|
||||
{field: 'truck_number_id', sortable: true, title: '车次id', width: 120}, // 车次id
|
||||
// {field: 'truck_number_id', sortable: true, title: '车次id', width: 120}, // 车次id
|
||||
{ field: 'truck_number_code', sortable: true, title: '车次单号', width: 120 }, // 车次单号
|
||||
{ field: 'truck_code', sortable: true, title: '车辆编码', width: 120 }, // 车辆编码
|
||||
{ field: 'truck_name', sortable: true, title: '车辆名称', width: 120 }, // 车辆名称
|
||||
{ field: 'truck_number', sortable: true, title: '车牌号', width: 120 }, // 车牌号
|
||||
{ field: 'other_expenses_name', sortable: true, title: '其他费用名称', width: 250 }, // 其他费用名称
|
||||
|
||||
{ field: 'other_expenses_amount', sortable: true, title: '费用金额', width: 120 }, // 其他费用金额
|
||||
{ field: 'other_expenses_remark', sortable: true, title: '其他费用备注', width: 250 }, // 其他费用备注
|
||||
|
||||
{
|
||||
|
|
@ -194,8 +196,7 @@ export default {
|
|||
title: '创建时间',
|
||||
showHeaderOverflow: true
|
||||
}, // 创建时间
|
||||
|
||||
{field: 'other_expenses_amount', sortable: true, title: '其他费用金额', width: 250}, // 其他费用金额
|
||||
{ field: 'other_expenses_date', sortable: true, title: '费用日期', formatter: 'formatDate', width: 120 }, // 费用日期
|
||||
|
||||
// =============================== 表格列 自动生成 Start ===============================
|
||||
|
||||
|
|
|
|||
|
|
@ -232,10 +232,15 @@ export default {
|
|||
other_expenses_name: "",
|
||||
other_expenses_remark: ""
|
||||
}],
|
||||
is_customer_settlement:0, // 客户是否直接结算
|
||||
is_supplier_settlement:0, // 供应商是否直接结算
|
||||
is_driver_settlement:0, // 司机是否直接结算
|
||||
buy_unit_price:0, // 购买单价
|
||||
buy_total_price:0, // 购买总价
|
||||
// =============================== 表单数据 自动生成 End ===============================
|
||||
},
|
||||
// 标题宽度
|
||||
titleWidth: 125,
|
||||
titleWidth: 140,
|
||||
// 标题对齐方式
|
||||
titleAlign: 'right',
|
||||
|
||||
|
|
@ -362,6 +367,7 @@ export default {
|
|||
items: [
|
||||
// =============================== 表单项 自动生成 Start ===============================
|
||||
{field:'',title:'',span:24,isTitle:true,Htitle:'车辆信息',itemRender:{}},//分割线
|
||||
{field: 'code', title: '车次单号', span: 6, itemRender: {name: '$input'}},
|
||||
{field: 'is_outsourcing', title: '是否委外', span: 24, 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'}},
|
||||
|
|
@ -372,7 +378,10 @@ export default {
|
|||
span: 7,
|
||||
itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber }}
|
||||
},
|
||||
{field: 'truck_name', title: '选择车辆', span: 6, itemRender: {
|
||||
|
||||
|
||||
{field: 'is_need_outbound', title: '是否需要出车', span: 24, itemRender: { name: '$switch', props: { openLabel: '是', openValue: 1, closeValue: 0, closeLabel: '否' } }},
|
||||
{field: 'truck_name', title: '选择车辆', span: 12, itemRender: {
|
||||
name: 'MkFormDataSelector', props: {
|
||||
params: {
|
||||
dataType: "string",
|
||||
|
|
@ -387,7 +396,7 @@ export default {
|
|||
}
|
||||
}
|
||||
}},
|
||||
{ field: 'driver_name',title: '司机', span: 6,
|
||||
{ field: 'driver_name',title: '司机', span: 12,
|
||||
|
||||
itemRender: {
|
||||
name: 'MkFormDataSelector', props: {
|
||||
|
|
@ -405,8 +414,7 @@ export default {
|
|||
}
|
||||
}
|
||||
},
|
||||
{field: 'driver_salary', title: '司机工资', span: 6, itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber }}},
|
||||
{field: 'is_need_outbound', title: '是否需要出车', span: 24, itemRender: { name: '$switch', props: { openLabel: '是', openValue: 1, closeValue: 0, closeLabel: '否' } }},
|
||||
{field: 'driver_salary', title: '司机工资', span: 12, itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber }}},
|
||||
{
|
||||
field: 'outbound_date',
|
||||
dataRule: {type: "timestamp"},
|
||||
|
|
@ -425,9 +433,8 @@ export default {
|
|||
itemRender: {name: '$input', props: {type: "date"}}
|
||||
},
|
||||
{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: '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: {
|
||||
|
|
@ -500,18 +507,29 @@ export default {
|
|||
}
|
||||
}
|
||||
}},
|
||||
|
||||
{field: 'is_customer_settlement', title: '客户直接结算', span: 24, itemRender: { name: '$switch', props: { openLabel: '是', openValue: 1, closeValue: 0, closeLabel: '否' } }},
|
||||
{field: 'is_supplier_settlement', title: '供应商直接结算', span: 24, itemRender: { name: '$switch', props: { openLabel: '是', openValue: 1, closeValue: 0, closeLabel: '否' } }},
|
||||
{field: 'is_driver_settlement', title: '司机直接结算', span: 24, itemRender: { name: '$switch', props: { openLabel: '是', openValue: 1, closeValue: 0, closeLabel: '否' } }},
|
||||
|
||||
{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_soil_quality_material_id', title: '出库物料土质', span: 8, itemRender: {name: '$input'}},
|
||||
{field: 'supplier_outbound_tonnage',title: '供应商出库吨位',span: 6,itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber }}},
|
||||
{field: 'buy_unit_price', title: '购入单价', span: 5, itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber } }},
|
||||
{field: 'buy_total_price', title: '购入总价', span: 5, itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber }}},
|
||||
|
||||
|
||||
|
||||
{field: 'warehousing_soil_quality_material_id',title: '入库物料土质',span: 8, itemRender: {name: '$input'}},
|
||||
{field: 'customer_warehousing_tonnage',title: '客户入库吨位',span: 6,itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber }}},
|
||||
{field: 'unit_price', title: '单价', span: 5, itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber } }},
|
||||
{field: 'total_price', title: '总价', span: 5, itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber }}},
|
||||
{field: 'outbound_remark', title: '出车备注', span: 24, itemRender: {name: '$textarea'}},
|
||||
|
||||
{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', title: '补贴金额', span: 12, itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber }}},
|
||||
{field: 'driver_subsidy_remark', title: '补贴备注', span: 18, itemRender: {name: '$textarea'}},
|
||||
// {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: '否' } }},
|
||||
|
|
@ -530,10 +548,10 @@ export default {
|
|||
},
|
||||
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: '$textarea'}},
|
||||
{field: "oil_consumption_number", title: '油耗数量', span: 6, itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber } }},
|
||||
{field: "oil_consumption_price", title: '油耗单价', span: 6, itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber } }},
|
||||
{field: "oil_consumption_total_price", title: '油耗总价', span: 6, itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber }}},
|
||||
{field: "oil_consumption_remark", title: '油耗备注', span: 18, itemRender: {name: '$textarea'}},
|
||||
]
|
||||
},
|
||||
// 新增模式表单项
|
||||
|
|
@ -555,9 +573,9 @@ export default {
|
|||
},
|
||||
|
||||
computed: {
|
||||
desc() {
|
||||
return this.$t('editPageDesc')
|
||||
}
|
||||
// desc() {
|
||||
// return this.$t('editPageDesc')
|
||||
// }
|
||||
},
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -66,11 +66,11 @@ const CustomRouterMap = {
|
|||
}
|
||||
},
|
||||
BalanceLogList: {
|
||||
name: '客户结余日志列表',
|
||||
name: '结余日志',
|
||||
icon: 'idcard',
|
||||
path: '/Custom/BalanceLogList',
|
||||
meta: {
|
||||
invisible: true, // 不在菜单中显示
|
||||
invisible: false, // 不在菜单中显示
|
||||
},
|
||||
component: () => import('@/pages/Middle/transport/Custom/BalanceLog/List'),
|
||||
authority: {
|
||||
|
|
|
|||
|
|
@ -29,80 +29,32 @@ const DriverWagesRouterMap = {
|
|||
},
|
||||
|
||||
DriverWagesSurplusList: {
|
||||
name: '司机工资结余列表',
|
||||
icon: 'idcard',
|
||||
name: '工资帐户列表',
|
||||
icon: '',
|
||||
path: '/DriverWages/DriverWagesSurplusList',
|
||||
meta: {
|
||||
invisible: true, // 不在菜单中显示
|
||||
invisible: false, // 不在菜单中显示
|
||||
},
|
||||
component: () => import('@/pages/Middle/transport/DriverWages/DriverWagesSurplus/List'),
|
||||
authority: {
|
||||
permission: ["DriverWages", "DriverWages-All", "Driver-Wages-Surplus-List"],
|
||||
}
|
||||
},
|
||||
DriverWagesSurplusCreate: {
|
||||
name: '创建司机工资结余',
|
||||
icon: 'idcard',
|
||||
path: '/DriverWages/DriverWagesSurplusCreate',
|
||||
meta: {
|
||||
invisible: true, // 不在菜单中显示
|
||||
},
|
||||
component: () => import('@/pages/Middle/transport/DriverWages/DriverWagesSurplus/Edit'),
|
||||
authority: {
|
||||
permission: ["DriverWages", "DriverWages-All", "Driver-Wages-Surplus-Create"],
|
||||
}
|
||||
},
|
||||
DriverWagesSurplusUpdate: {
|
||||
name: '更新司机工资结余',
|
||||
icon: 'idcard',
|
||||
path: '/DriverWages/DriverWagesSurplusUpdate',
|
||||
meta: {
|
||||
invisible: true, // 不在菜单中显示
|
||||
},
|
||||
component: () => import('@/pages/Middle/transport/DriverWages/DriverWagesSurplus/Edit'),
|
||||
authority: {
|
||||
permission: ["DriverWages", "DriverWages-All", "Driver-Wages-Surplus-Update"],
|
||||
}
|
||||
},
|
||||
DriverWagesList: {
|
||||
name: '司机工资列表',
|
||||
icon: 'idcard',
|
||||
name: '工资单列表',
|
||||
icon: '',
|
||||
path: '/DriverWages/DriverWagesList',
|
||||
meta: {
|
||||
invisible: false, // 不在菜单中显示
|
||||
},
|
||||
component: () => import('@/pages/Middle/transport/DriverWages/DriverWages/List'),
|
||||
component: () => import('@/pages/Middle/transport/DriverWages/DriverWagesSurplus/List'),
|
||||
authority: {
|
||||
permission: ["DriverWages", "DriverWages-All", "Driver-Wages-List"],
|
||||
}
|
||||
},
|
||||
DriverWagesCreate: {
|
||||
name: '创建司机工资',
|
||||
icon: 'idcard',
|
||||
path: '/DriverWages/DriverWagesCreate',
|
||||
meta: {
|
||||
invisible: true, // 不在菜单中显示
|
||||
},
|
||||
component: () => import('@/pages/Middle/transport/DriverWages/DriverWages/Edit'),
|
||||
authority: {
|
||||
permission: ["DriverWages", "DriverWages-All", "Driver-Wages-Create"],
|
||||
}
|
||||
},
|
||||
DriverWagesUpdate: {
|
||||
name: '更新司机工资',
|
||||
icon: 'idcard',
|
||||
path: '/DriverWages/DriverWagesUpdate/:id',
|
||||
meta: {
|
||||
invisible: true, // 不在菜单中显示
|
||||
},
|
||||
component: () => import('@/pages/Middle/transport/DriverWages/DriverWages/Edit'),
|
||||
authority: {
|
||||
permission: ["DriverWages", "DriverWages-All", "Driver-Wages-Update"],
|
||||
}
|
||||
},
|
||||
DriverWagesGiornaleLogList: {
|
||||
name: '司机工资结余日志列表',
|
||||
icon: 'idcard',
|
||||
name: '结余日志',
|
||||
icon: '',
|
||||
path: '/DriverWages/DriverWagesGiornaleLogList',
|
||||
meta: {
|
||||
invisible: true, // 不在菜单中显示
|
||||
|
|
@ -112,30 +64,8 @@ const DriverWagesRouterMap = {
|
|||
permission: ["DriverWages", "DriverWages-All", "Driver-Wages-Giornale-Log-List"],
|
||||
}
|
||||
},
|
||||
DriverWagesGiornaleLogCreate: {
|
||||
name: '创建司机工资结余日志',
|
||||
icon: 'idcard',
|
||||
path: '/DriverWages/DriverWagesGiornaleLogCreate',
|
||||
meta: {
|
||||
invisible: true, // 不在菜单中显示
|
||||
},
|
||||
component: () => import('@/pages/Middle/transport/DriverWages/DriverWagesGiornaleLog/Edit'),
|
||||
authority: {
|
||||
permission: ["DriverWages", "DriverWages-All", "Driver-Wages-Giornale-Log-Create"],
|
||||
}
|
||||
},
|
||||
DriverWagesGiornaleLogUpdate: {
|
||||
name: '更新司机工资结余日志',
|
||||
icon: 'idcard',
|
||||
path: '/DriverWages/DriverWagesGiornaleLogUpdate/:id',
|
||||
meta: {
|
||||
invisible: true, // 不在菜单中显示
|
||||
},
|
||||
component: () => import('@/pages/Middle/transport/DriverWages/DriverWagesGiornaleLog/Edit'),
|
||||
authority: {
|
||||
permission: ["DriverWages", "DriverWages-All", "Driver-Wages-Giornale-Log-Update"],
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
}
|
||||
|
||||
export default DriverWagesRouterMap
|
||||
Loading…
Reference in New Issue