This commit is contained in:
zxx 2024-03-27 11:57:01 +08:00
parent 74c327176c
commit 168015c00e
13 changed files with 427 additions and 186 deletions

View File

@ -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();
},

View File

@ -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}, // :12
{field: 'balance_type', sortable: true, title: '结余类型', width: 250}, // :12
{field: 'remark', sortable: true, title: '备注', width: 250}, //
{

View File

@ -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

View File

@ -400,6 +400,14 @@ export default {
console.log("success",success);
this.$forceUpdate() //
},
//
close: () => {
console.log("close");
//
this.onSearch();
}
})
}

View File

@ -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.listid
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>

View File

@ -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: { //

View File

@ -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: ''}}]
// }
// }
],

View File

@ -5,45 +5,51 @@
<a-col :flex="$mk.config.ui.searchFlex">
<!-- 搜索区 -->
<vxe-form :data="searchFormData" :items="searchFormItems" titleColon @submit="onSearch">
<template #date="{}">
<template #date="{ }">
<a-form-item label="创建时间" :style="{ display: 'inline-block', width: 120 }">
</a-form-item>
<a-form-item :style="{ display: 'inline-block', width: 'calc(100% - 120px )' }">
<a-range-picker @change="onDateChange"/>
<a-range-picker @change="onDateChange" />
</a-form-item>
</template>
</vxe-form>
</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')"/>
<a-switch :checked="row.status ? true : false" @change="onSwitch(row, 'status')" />
</template>
<!-- =============================== 表格列 自动生成 End =============================== -->
<template #op="{ row }">
<div class="oplinks">
<a @click.stop="pageEdit(row)" title="编辑">
<a-icon type="edit"/>
<a-icon type="edit" />
</a>
<a @click.stop="pageDelete(row)" title="删除">
<a-icon type="delete"/>
<a-icon type="delete" />
</a>
</div>
</template>
@ -69,7 +75,7 @@ export default {
},
data() {
const listFieldName = 'DriverWages';
const listFieldName = 'DriverWagesSurplus';
//
var pageData = { //
@ -116,20 +122,20 @@ export default {
},
//
searchRules: [
{key: "title", mode: "like"},
{key: "desc", mode: "like"}
{ key: "title", mode: "like" },
{ key: "desc", mode: "like" }
],
//
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: '' } }]
// }
// }
],
@ -151,7 +157,7 @@ export default {
ajax: {
// queryreload
query: (options) => { // options
const {page, sorts} = options; //
const { page, sorts } = options; //
var params = {}; //
params.page = page.currentPage; //
params.limit = page.pageSize; //
@ -165,7 +171,7 @@ export default {
})
});
}
return this.loadData({params}); //
return this.loadData({ params }); //
}
}
},
@ -173,20 +179,27 @@ export default {
//
columns: [
{type: 'checkbox', width: 50}, //
{type: 'seq', width: 30}, //
{ type: 'checkbox', width: 50 }, //
{ type: 'seq', width: 30 }, //
// =============================== 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'},
slots: { default: 'status' },
width: 80,
sortable: true,
title: '状态',
@ -206,13 +219,13 @@ export default {
// =============================== Start ===============================
{title: '操作', slots: {default: 'op'}, width: 120,fixed: 'right'}
{ title: '操作', slots: { default: 'op' }, width: 120, fixed: 'right' }
]
}
};
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; //
@ -250,7 +263,7 @@ export default {
//
url: row.status ? this.actions.open : this.actions.close,
loading: "设置中...",
data: {company_id: row.id},
data: { company_id: row.id },
}).then(() => { //
this.$mk.msg(row.status ? "打开完成" : "关闭完成");
}).catch((a) => { //
@ -307,10 +320,10 @@ export default {
return row; //
},
//
loadData({params}) {
loadData({ params }) {
params.start_time = this.start_time; //
params.end_time = this.end_time; //
return this.$mk.getPagedData({url: this.actions.getList, data: params}); //
return this.$mk.getPagedData({ url: this.actions.getList, data: params }); //
},
// add / log / setting

View File

@ -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 ===============================
]

View File

@ -5,11 +5,11 @@
<a-col :flex="$mk.config.ui.searchFlex">
<!-- 搜索区 -->
<vxe-form :data="searchFormData" :items="searchFormItems" titleColon @submit="onSearch">
<template #date="{}">
<template #date="{ }">
<a-form-item label="创建时间" :style="{ display: 'inline-block', width: 120 }">
</a-form-item>
<a-form-item :style="{ display: 'inline-block', width: 'calc(100% - 120px )' }">
<a-range-picker @change="onDateChange"/>
<a-range-picker @change="onDateChange" />
</a-form-item>
</template>
</vxe-form>
@ -37,10 +37,10 @@
<template #op="{ row }">
<div class="oplinks">
<a @click.stop="pageEdit(row)" title="编辑">
<a-icon type="edit"/>
<a-icon type="edit" />
</a>
<a @click.stop="pageDelete(row)" title="删除">
<a-icon type="delete"/>
<a-icon type="delete" />
</a>
</div>
</template>
@ -114,18 +114,18 @@ export default {
},
//
searchRules: [
{key: "title", mode: "like"},
{key: "desc", mode: "like"}
{ key: "title", mode: "like" },
{ key: "desc", mode: "like" }
],
//
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'}}, //
{ 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: '重置'}}]
name: '$buttons', children: [{ props: { type: 'submit', content: '搜索', status: 'primary' } }, //
{ props: { type: 'reset', content: '重置' } }]
}
}
],
@ -149,7 +149,7 @@ export default {
ajax: {
// queryreload
query: (options) => { // options
const {page, sorts} = options; //
const { page, sorts } = options; //
var params = {}; //
params.page = page.currentPage; //
params.limit = page.pageSize; //
@ -163,7 +163,7 @@ export default {
})
});
}
return this.loadData({params}); //
return this.loadData({ params }); //
}
}
},
@ -171,20 +171,22 @@ export default {
//
columns: [
{type: 'checkbox', width: 50}, //
{type: 'seq', width: 30}, //
{ type: 'checkbox', width: 50 }, //
{ type: 'seq', width: 30 }, //
// =============================== Start ===============================
{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_remark', sortable: true, title: '其他费用备注', width: 250}, //
// {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 }, //
{
field: 'create_time',
@ -194,13 +196,12 @@ 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 ===============================
{title: '操作', slots: {default: 'op'}, width: 120,fixed: 'right'}
{ title: '操作', slots: { default: 'op' }, width: 120, fixed: 'right' }
]
}
@ -287,10 +288,10 @@ export default {
return row; //
},
//
loadData({params}) {
loadData({ params }) {
params.start_time = this.start_time; //
params.end_time = this.end_time; //
return this.$mk.getPagedData({url: this.actions.getList, data: params}); //
return this.$mk.getPagedData({ url: this.actions.getList, data: params }); //
},
// add / log / setting

View File

@ -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')
// }
},

View File

@ -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: {

View File

@ -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