This commit is contained in:
parent
6d8bac75bc
commit
709ade1c57
|
|
@ -0,0 +1,327 @@
|
|||
<template>
|
||||
<!-- <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>
|
||||
<!-- =========================== 自定义区域 Start ======================= -->
|
||||
|
||||
<!-- =========================== 自定义区域 End ======================= -->
|
||||
</vxe-form>
|
||||
|
||||
<div class="mk-toolbar" v-if="isEdit">
|
||||
|
||||
</div>
|
||||
|
||||
<div class="footerbar">
|
||||
<a-button type="primary" @click="ok">确定</a-button>
|
||||
<a-button @click="cancel">取消</a-button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- </page-layout> -->
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import BASE_URL from '@/services/Middle/transport/Maintenance/api.js';
|
||||
// import PageLayout from '@/layouts/PageLayout'
|
||||
|
||||
|
||||
export default {
|
||||
|
||||
name: 'MaintenanceUpdate',
|
||||
i18n: require('./i18n'),
|
||||
// components: {PageLayout},
|
||||
props: {
|
||||
pageMode: {
|
||||
type: String,
|
||||
default: "edit"
|
||||
},
|
||||
dataId: {}
|
||||
|
||||
},
|
||||
|
||||
data() {
|
||||
|
||||
// 页面数据变量
|
||||
var pageData = {
|
||||
// 当前项目名称
|
||||
currentConfigName: "",
|
||||
// 当前项目ID
|
||||
currentBeid: 0,
|
||||
|
||||
uploadDefaultImg: null,
|
||||
detailDataFieldName: "maintenance",
|
||||
|
||||
actions: {
|
||||
// =============================== 接口地址 自动生成 Start ===============================
|
||||
MaintenanceList: `${BASE_URL.BASE_URL}/Maintenance/v1/maintenance/list`, // 维修项目列表
|
||||
MaintenanceSearch: `${BASE_URL.BASE_URL}/Maintenance/v1/maintenance/search`, // 维修项目搜索
|
||||
MaintenanceDetail: `${BASE_URL.BASE_URL}/Maintenance/v1/maintenance/detail`, // 维修项目详情
|
||||
MaintenanceCreate: `${BASE_URL.BASE_URL}/Maintenance/v1/maintenance/create`, // 创建维修项目
|
||||
MaintenanceUpdate: `${BASE_URL.BASE_URL}/Maintenance/v1/maintenance/update`, // 更新维修项目
|
||||
MaintenanceDelete: `${BASE_URL.BASE_URL}/Maintenance/v1/maintenance/detele`, // 删除维修项目
|
||||
MaintenanceBatchDelete: `${BASE_URL.BASE_URL}/Maintenance/v1/maintenance/batchDelete`, // 批量删除维修项目
|
||||
MaintenanceBatchUpdate: `${BASE_URL.BASE_URL}/Maintenance/v1/maintenance/batchUpdate`, // 批量更新维修项目
|
||||
MaintenanceBatchCreate: `${BASE_URL.BASE_URL}/Maintenance/v1/maintenance/batchCreate`, // 批量创建维修项目
|
||||
MaintenanceBatchHandle: `${BASE_URL.BASE_URL}/Maintenance/v1/maintenance/batchHandle`, // 批量处理维修项目
|
||||
OtherExpensesList: `${BASE_URL.BASE_URL}/Maintenance/v1/other/expenses/list`, // 其他项目列表
|
||||
OtherExpensesSearch: `${BASE_URL.BASE_URL}/Maintenance/v1/other/expenses/search`, // 其他项目搜索
|
||||
OtherExpensesDetail: `${BASE_URL.BASE_URL}/Maintenance/v1/other/expenses/detail`, // 其他项目详情
|
||||
OtherExpensesCreate: `${BASE_URL.BASE_URL}/Maintenance/v1/other/expenses/create`, // 创建其他项目
|
||||
OtherExpensesUpdate: `${BASE_URL.BASE_URL}/Maintenance/v1/other/expenses/update`, // 更新其他项目
|
||||
OtherExpensesDelete: `${BASE_URL.BASE_URL}/Maintenance/v1/other/expenses/detele`, // 删除其他项目
|
||||
OtherExpensesBatchDelete: `${BASE_URL.BASE_URL}/Maintenance/v1/other/expenses/batchDelete`, // 批量删除其他项目
|
||||
OtherExpensesBatchUpdate: `${BASE_URL.BASE_URL}/Maintenance/v1/other/expenses/batchUpdate`, // 批量更新其他项目
|
||||
OtherExpensesBatchCreate: `${BASE_URL.BASE_URL}/Maintenance/v1/other/expenses/batchCreate`, // 批量创建其他项目
|
||||
OtherExpensesBatchHandle: `${BASE_URL.BASE_URL}/Maintenance/v1/other/expenses/batchHandle`, // 批量处理其他项目
|
||||
|
||||
// =============================== 接口地址 自动生成 End ===============================
|
||||
},
|
||||
|
||||
keyName: 'id',
|
||||
// 是否编辑模式
|
||||
isEdit: false,
|
||||
// 表单数据
|
||||
formOptions: {
|
||||
data: {
|
||||
// =============================== 表单数据 自动生成 Start ===============================
|
||||
|
||||
id: 0,
|
||||
code: "",
|
||||
name: "",
|
||||
description: "",
|
||||
create_uid: 0,
|
||||
update_uid: 0,
|
||||
create_time: new Date(2100, 1, 1).getTime() / 10000,
|
||||
update_time: new Date(2100, 1, 1).getTime() / 10000,
|
||||
|
||||
// =============================== 表单数据 自动生成 End ===============================
|
||||
},
|
||||
// 标题宽度
|
||||
titleWidth: 100,
|
||||
// 标题对齐方式
|
||||
titleAlign: 'right',
|
||||
|
||||
// 表单校验规则
|
||||
rules: {
|
||||
// =============================== 表单校验 自动生成 Start ===============================
|
||||
|
||||
code: [
|
||||
{message: '请输入编码'}
|
||||
],
|
||||
name: [
|
||||
{message: '请输入名称'}
|
||||
],
|
||||
description: [
|
||||
{message: '请输入描述'}
|
||||
],
|
||||
|
||||
// =============================== 表单校验 自动生成 End ===============================
|
||||
},
|
||||
// 表单项
|
||||
items: [
|
||||
// =============================== 表单项 自动生成 Start ===============================
|
||||
|
||||
{field: 'code', title: '编码', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'name', title: '名称', span: 12, itemRender: {name: '$input'}},
|
||||
{field: 'description', title: '描述', span: 24, itemRender: {name: '$input'}},
|
||||
|
||||
// =============================== 表单项 自动生成 End ===============================
|
||||
]
|
||||
},
|
||||
// 新增模式表单项
|
||||
addModeItems: [],
|
||||
|
||||
|
||||
};
|
||||
|
||||
pageData.actions.get = pageData.actions.MaintenanceDetail;
|
||||
pageData.actions.create = pageData.actions.MaintenanceCreate;
|
||||
pageData.actions.update = pageData.actions.MaintenanceUpdate;
|
||||
|
||||
// 合并表单数据及配置
|
||||
pageData.formOptions = Object.assign({}, this.$mk.config.defaults.formOptions, pageData.formOptions);
|
||||
|
||||
return pageData;
|
||||
},
|
||||
|
||||
computed: {
|
||||
// desc() {
|
||||
// return this.$t('editPageDesc')
|
||||
// }
|
||||
},
|
||||
|
||||
|
||||
created() {
|
||||
|
||||
|
||||
// 获取路由的id参数
|
||||
let dataId = this.getDataId();
|
||||
|
||||
// 如果有id参数,说明是编辑模式
|
||||
if (dataId) {
|
||||
const json = `{"id":${dataId}}`;
|
||||
this.$mk.post({
|
||||
url: this.actions.get,
|
||||
loading: "加载中...",
|
||||
data: json,
|
||||
config: {
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
}
|
||||
}
|
||||
}).then(a => {
|
||||
// =============================== 时间字段判断 自动生成 Start ===============================
|
||||
|
||||
if (a.data[this.detailDataFieldName].create_time) {
|
||||
a.data[this.detailDataFieldName].create_time = new Date(a.data[this.detailDataFieldName].create_time * 1000);
|
||||
}
|
||||
if (a.data[this.detailDataFieldName].update_time) {
|
||||
a.data[this.detailDataFieldName].update_time = new Date(a.data[this.detailDataFieldName].update_time * 1000);
|
||||
}
|
||||
|
||||
// =============================== 时间字段判断 自动生成 End ===============================
|
||||
this.formOptions.data = a.data[this.detailDataFieldName];
|
||||
}).catch((a) => {
|
||||
this.$mk.error(a.data.msg);
|
||||
});
|
||||
|
||||
this.isEdit = true;
|
||||
} else {
|
||||
// 如果没有id参数,说明是新增模式
|
||||
if(this.addModeItems){
|
||||
this.addModeItems.forEach(item => {
|
||||
this.pageOptions.formOptions.items.push(item);
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
// 函数
|
||||
methods: {
|
||||
|
||||
|
||||
// 获取路由的id参数
|
||||
getDataId() {
|
||||
let dataId = this.dataId;
|
||||
if (this.$route.params.id) {
|
||||
dataId = this.$route.params.id;
|
||||
}
|
||||
if (!dataId) {
|
||||
dataId = 0;
|
||||
}
|
||||
return dataId;
|
||||
},
|
||||
|
||||
|
||||
// 返回
|
||||
back() {
|
||||
// 如果是新增模式,关闭当前页面
|
||||
if (!this.isEdit) {
|
||||
this.$closePage({
|
||||
closeRoute: "/Maintenance/MaintenanceCreate"
|
||||
});
|
||||
} else {
|
||||
// 如果是编辑模式,关闭当前页面
|
||||
this.$closePage({
|
||||
closeRoute: "/Maintenance/MaintenanceUpdate"
|
||||
});
|
||||
}
|
||||
// 打开列表页面
|
||||
this.$openPage('/Maintenance/MaintenanceList')
|
||||
},
|
||||
|
||||
// 保存
|
||||
ok() {
|
||||
|
||||
let save = () => {
|
||||
|
||||
|
||||
// 如果是新增模式,提交新增接口 如果是编辑模式,提交编辑接口
|
||||
let action = !this.isEdit ? this.actions.create : this.actions.update;
|
||||
// 如果是新增模式,提交的数据中加入id 如果是编辑模式,提交的数据中不加入id
|
||||
let postdata = Object.assign({}, this.formOptions.data);
|
||||
// 如果是编辑模式
|
||||
if (this.isEdit) {
|
||||
// postdata = { Maintenance: postdata }
|
||||
}
|
||||
// 格式化提交的数据
|
||||
this.$mk.formatFormData({data: postdata, rules: this.formOptions.items});
|
||||
|
||||
|
||||
// 提交数据
|
||||
this.$mk.post({
|
||||
url: action,
|
||||
loading: "保存中...",
|
||||
data: postdata,
|
||||
useBigInt: true,
|
||||
}).then(() => { // 成功回调
|
||||
this.$mk.success("保存成功");
|
||||
if (!this.isEdit) { // 如果是新增模式,关闭当前页面
|
||||
this.back();
|
||||
this.$forceUpdate()
|
||||
}
|
||||
}).catch((a) => { // 失败回调
|
||||
this.$mk.error(a.data.msg); // 显示错误信息
|
||||
});
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
// 验证表单
|
||||
this.$mk.validateForm({form: this.$refs.xForm}).then(() => { // 验证表单
|
||||
save(); // 提交保存
|
||||
}).catch(count => { // 验证失败
|
||||
this.$mk.error(`存在${count}项错误,请检查`);
|
||||
});
|
||||
|
||||
|
||||
},
|
||||
|
||||
|
||||
// 取消 返回
|
||||
cancel() {
|
||||
this.back();
|
||||
}
|
||||
},
|
||||
// 监听属性
|
||||
watch: {}
|
||||
};
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<style scoped lang="less">
|
||||
.page-body {
|
||||
padding: 30px;
|
||||
background: @base-bg-color;
|
||||
}
|
||||
|
||||
.formtabs .ant-tabs-tabpane {
|
||||
/* background: white; */
|
||||
padding: 12px;
|
||||
}
|
||||
|
||||
.gridPanel {
|
||||
height: calc(100vh - 600px);
|
||||
}
|
||||
|
||||
.footerbar {
|
||||
padding-top: 20px;
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.imagePanel {
|
||||
cursor: pointer;
|
||||
padding: 10px;
|
||||
width: 100px;
|
||||
|
||||
img {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,370 @@
|
|||
<template>
|
||||
<div class="page-body">
|
||||
|
||||
<a-row type="flex">
|
||||
<a-col :flex="$mk.config.ui.searchFlex">
|
||||
<!-- 搜索区 -->
|
||||
<vxe-form :data="searchFormData" :items="searchFormItems" titleColon @submit="onSearch">
|
||||
<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-form-item>
|
||||
</template>
|
||||
</vxe-form>
|
||||
</a-col>
|
||||
<a-col :flex="$mk.config.ui.toolbarFlex">
|
||||
<!-- 工具条 -->
|
||||
<mk-toolbar :isShowLog="false" :isShowSetting="false" :isShowAdd="true" @toolbarClick="toolbarClick"></mk-toolbar>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
|
||||
<vxe-toolbar ref="xToolbar" custom>
|
||||
<template #buttons>
|
||||
<a-button type="primary" icon="delete" @click="pageDelete()">批量删除</a-button>
|
||||
</template>
|
||||
</vxe-toolbar>
|
||||
<!-- 表格区 -->
|
||||
<div class="gridPanel">
|
||||
<vxe-grid ref='xGrid' v-bind="gridOptions">
|
||||
|
||||
<!-- =============================== 表格列 自动生成 Start =============================== -->
|
||||
|
||||
<!-- =============================== 表格列 自动生成 End =============================== -->
|
||||
|
||||
<template #op="{ row }">
|
||||
<div class="oplinks">
|
||||
<a @click.stop="pageEdit(row)" title="编辑">
|
||||
<a-icon type="edit"/>
|
||||
</a>
|
||||
<a @click.stop="pageDelete(row)" title="删除">
|
||||
<a-icon type="delete"/>
|
||||
</a>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
</vxe-grid>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import BASE_URL from '@/services/Middle/transport/Maintenance/api.js';
|
||||
|
||||
export default {
|
||||
name: 'MaintenanceList',
|
||||
i18n: require('./i18n'), // 国际化
|
||||
props: {
|
||||
pageMode: {
|
||||
type: String,
|
||||
default: "edit"
|
||||
}
|
||||
},
|
||||
data() {
|
||||
|
||||
const listFieldName = 'OtherExpenses';
|
||||
// 页面数据
|
||||
var pageData = { // 页面数据变量
|
||||
|
||||
keyName: 'id', // 主键字段名
|
||||
listFieldName: 'maintenance',
|
||||
|
||||
addPageUrl: "/Maintenance/MaintenanceCreate",
|
||||
editPageUrl: "/Maintenance/MaintenanceUpdate/",
|
||||
// 接口动作
|
||||
actions: { // Api 接口地址
|
||||
// =============================== 接口地址 自动生成 Start ===============================
|
||||
MaintenanceList: `${BASE_URL.BASE_URL}/Maintenance/v1/maintenance/list`, // 维修项目列表
|
||||
MaintenanceSearch: `${BASE_URL.BASE_URL}/Maintenance/v1/maintenance/search`, // 维修项目搜索
|
||||
MaintenanceDetail: `${BASE_URL.BASE_URL}/Maintenance/v1/maintenance/detail`, // 维修项目详情
|
||||
MaintenanceCreate: `${BASE_URL.BASE_URL}/Maintenance/v1/maintenance/create`, // 创建维修项目
|
||||
MaintenanceUpdate: `${BASE_URL.BASE_URL}/Maintenance/v1/maintenance/update`, // 更新维修项目
|
||||
MaintenanceDelete: `${BASE_URL.BASE_URL}/Maintenance/v1/maintenance/detele`, // 删除维修项目
|
||||
MaintenanceBatchDelete: `${BASE_URL.BASE_URL}/Maintenance/v1/maintenance/batchDelete`, // 批量删除维修项目
|
||||
MaintenanceBatchUpdate: `${BASE_URL.BASE_URL}/Maintenance/v1/maintenance/batchUpdate`, // 批量更新维修项目
|
||||
MaintenanceBatchCreate: `${BASE_URL.BASE_URL}/Maintenance/v1/maintenance/batchCreate`, // 批量创建维修项目
|
||||
MaintenanceBatchHandle: `${BASE_URL.BASE_URL}/Maintenance/v1/maintenance/batchHandle`, // 批量处理维修项目
|
||||
OtherExpensesList: `${BASE_URL.BASE_URL}/Maintenance/v1/other/expenses/list`, // 其他项目列表
|
||||
OtherExpensesSearch: `${BASE_URL.BASE_URL}/Maintenance/v1/other/expenses/search`, // 其他项目搜索
|
||||
OtherExpensesDetail: `${BASE_URL.BASE_URL}/Maintenance/v1/other/expenses/detail`, // 其他项目详情
|
||||
OtherExpensesCreate: `${BASE_URL.BASE_URL}/Maintenance/v1/other/expenses/create`, // 创建其他项目
|
||||
OtherExpensesUpdate: `${BASE_URL.BASE_URL}/Maintenance/v1/other/expenses/update`, // 更新其他项目
|
||||
OtherExpensesDelete: `${BASE_URL.BASE_URL}/Maintenance/v1/other/expenses/detele`, // 删除其他项目
|
||||
OtherExpensesBatchDelete: `${BASE_URL.BASE_URL}/Maintenance/v1/other/expenses/batchDelete`, // 批量删除其他项目
|
||||
OtherExpensesBatchUpdate: `${BASE_URL.BASE_URL}/Maintenance/v1/other/expenses/batchUpdate`, // 批量更新其他项目
|
||||
OtherExpensesBatchCreate: `${BASE_URL.BASE_URL}/Maintenance/v1/other/expenses/batchCreate`, // 批量创建其他项目
|
||||
OtherExpensesBatchHandle: `${BASE_URL.BASE_URL}/Maintenance/v1/other/expenses/batchHandle`, // 批量处理其他项目
|
||||
|
||||
// =============================== 接口地址 自动生成 End ===============================
|
||||
},
|
||||
|
||||
start_time: 0, // 开始时间
|
||||
end_time: 0, // 结束时间
|
||||
|
||||
|
||||
//搜索区
|
||||
searchFormData: {
|
||||
name: '',
|
||||
code: '',
|
||||
},
|
||||
// 搜索区配置
|
||||
searchRules: [
|
||||
{key: "name", mode: "like"},
|
||||
{key: "code", mode: "like"}
|
||||
],
|
||||
//搜索区
|
||||
searchFormItems: [ // 子项
|
||||
{field: 'code', title: '编号', span: 5, itemRender: {name: '$input', props: {placeholder: '请输入编号'}}},
|
||||
{field: 'name', 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: '重置'}}]
|
||||
}
|
||||
}
|
||||
],
|
||||
//数据区
|
||||
gridOptions: { // 表格配置
|
||||
height: '100%', // 表格高度 100% 会自动撑满父容器
|
||||
stripe: true, // 启用斑马纹
|
||||
id: 'datagrid_1', // 表格唯一标识
|
||||
|
||||
// 接口获取数据
|
||||
proxyConfig: { // 配置代理
|
||||
sort: true, // 启用排序代理,当点击排序时会自动触发 query 行为
|
||||
filter: true, // 启用筛选代理,当点击筛选时会自动触发 query 行为
|
||||
props: {
|
||||
result: listFieldName, // 配置响应结果列表字段
|
||||
total: 'total' // 配置响应结果总页数字段
|
||||
},
|
||||
// 接收Promise
|
||||
ajax: {
|
||||
// 当点击工具栏查询按钮或者手动提交指令 query或reload 时会被触发
|
||||
query: (options) => { // options 为当前表格的配置项
|
||||
const {page, sorts} = options; // 获取当前页码、每页条数、排序信息
|
||||
var params = {}; // 定义请求参数
|
||||
params.page = page.currentPage; // 当前页码
|
||||
params.limit = page.pageSize; // 每页条数
|
||||
params.order_bys = []; // 排序信息
|
||||
params.search_rules = this.getSearchParms(); // 搜索信息
|
||||
if (sorts) { // 如果有排序信息
|
||||
sorts.forEach((v) => { // 遍历排序信息
|
||||
params.order_bys.push({ // 添加排序信息
|
||||
column: v.property, // 字段名
|
||||
order: v.order // 排序方式
|
||||
})
|
||||
});
|
||||
}
|
||||
return this.loadData({params}); // 返回请求结果
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
// 表格列配置
|
||||
columns: [
|
||||
{type: 'checkbox', width: 50}, // 多选框
|
||||
{type: 'seq', width: 30}, // 序号
|
||||
|
||||
|
||||
// =============================== 表格列 自动生成 Start ===============================
|
||||
|
||||
|
||||
{field: 'code', sortable: true, title: '编码', width: 120}, // 编码
|
||||
{field: 'name', sortable: true, title: '名称', width: 250}, // 名称
|
||||
{field: 'description', sortable: true, title: '描述', width: 250}, // 描述
|
||||
|
||||
{
|
||||
field: 'create_time',
|
||||
formatter: 'formatDate',
|
||||
width: 100,
|
||||
sortable: true,
|
||||
title: '创建时间',
|
||||
showHeaderOverflow: true
|
||||
}, // 创建时间
|
||||
|
||||
|
||||
// =============================== 表格列 自动生成 Start ===============================
|
||||
|
||||
|
||||
{title: '操作', slots: {default: 'op'}, width: 120,fixed: 'right'}
|
||||
]
|
||||
}
|
||||
|
||||
};
|
||||
pageData.actions.getList = pageData.actions.MaintenanceList;
|
||||
pageData.actions.delete = pageData.actions.MaintenanceBatchDelete;
|
||||
pageData.gridOptions = Object.assign({}, this.$mk.config.defaults.gridOptions, pageData.gridOptions); // 合并表格数据
|
||||
|
||||
return pageData; // 返回页面数据
|
||||
},
|
||||
|
||||
// 计算属性
|
||||
computed: {
|
||||
// 页面描述
|
||||
// desc() {
|
||||
// return this.$t('pageDesc')
|
||||
// }
|
||||
},
|
||||
|
||||
// 创建完成
|
||||
created() {
|
||||
this.$nextTick(() => { // 在下次 DOM 更新循环结束之后执行延迟回调
|
||||
// 将表格和工具栏进行关联
|
||||
this.$refs.xGrid.connect(this.$refs.xToolbar) // 将表格和工具栏进行关联
|
||||
});
|
||||
},
|
||||
//页面动态刷新
|
||||
activated() {
|
||||
this.onSearch();
|
||||
// 这里可以执行一些需要在组件被激活时执行的操作
|
||||
},
|
||||
// 挂载完成
|
||||
onLoad() {
|
||||
|
||||
},
|
||||
// 动作
|
||||
methods: {
|
||||
|
||||
|
||||
// =============================== 基于status进行开关 自动生成 Start ===============================
|
||||
|
||||
// =============================== 基于status进行开关 自动生成 End ===============================
|
||||
|
||||
// 修改日期
|
||||
onDateChange(date) { // 日期选择器事件
|
||||
if (date && date.length) { // 如果有值
|
||||
this.start_time = parseInt(date[0]._d.getTime() / 1000); // 将日期转换为时间戳
|
||||
this.end_time = parseInt(date[1]._d.getTime() / 1000); // 将日期转换为时间戳
|
||||
} else { // 如果没有值
|
||||
this.start_time = 0; // 将日期转换为时间戳
|
||||
this.end_time = 0; // 将日期转换为时间戳
|
||||
}
|
||||
},
|
||||
// 获取搜索参数
|
||||
getSearchParms() { // 获取搜索参数
|
||||
var rules = []; // 定义搜索参数
|
||||
let findMode = k => { // 查找搜索模式
|
||||
for (let i in this.searchRules) { // 遍历搜索规则
|
||||
if (this.searchRules[i].key == k) return this.searchRules[i].mode; // 如果找到了就返回搜索模式
|
||||
}
|
||||
return "equal"; // 如果没有找到就返回等于
|
||||
};
|
||||
|
||||
for (let key in this.searchFormData) { // 遍历搜索表单数据
|
||||
let value = this.searchFormData[key]; // 获取值
|
||||
if (value) { // 如果有值
|
||||
let mode = findMode(key); // 获取搜索模式
|
||||
if (mode == "like") { // 如果是模糊搜索
|
||||
value = "%" + value + "%"; // 如果是模糊搜索就在两边加上%
|
||||
}
|
||||
rules.push({ // 添加搜索参数
|
||||
column: key, // 字段名
|
||||
mode: mode, // 搜索模式
|
||||
value: value // 值
|
||||
});
|
||||
}
|
||||
}
|
||||
return rules; // 返回搜索参数
|
||||
},
|
||||
// 获取选中行
|
||||
getSelectdRow() { // 获取选中行
|
||||
let row = this.$refs.xGrid.getCurrentRecord(); // 获取当前行
|
||||
if (!row) { // 如果没有选中行
|
||||
let rows = this.$refs.xGrid.getCheckboxRecords(); // 获取选中行
|
||||
if (rows && rows.length) {
|
||||
row = rows[0];
|
||||
} // 如果有选中行就取第一行
|
||||
}
|
||||
return row; // 返回选中行
|
||||
},
|
||||
// 加载数据
|
||||
loadData({params}) {
|
||||
params.start_time = this.start_time; // 开始时间
|
||||
params.end_time = this.end_time; // 结束时间
|
||||
return this.$mk.getPagedData({url: this.actions.getList, data: params}); // 获取分页数据
|
||||
},
|
||||
|
||||
// 工具栏点击事件 add / log / setting
|
||||
toolbarClick(e) {
|
||||
if (e.name == "add") { // 如果是添加
|
||||
this.$openPage("/Maintenance/MaintenanceCreate"); // 打开页面
|
||||
}
|
||||
},
|
||||
|
||||
// 编辑
|
||||
pageEdit(row) {
|
||||
if (!row) { // 如果没有选中行
|
||||
this.$mk.msg("请选择行"); // 提示
|
||||
return; // 返回
|
||||
}
|
||||
this.$openPage("/Maintenance/MaintenanceUpdate/" + row[this.keyName]); // 打开页面
|
||||
},
|
||||
|
||||
// 删除
|
||||
pageDelete(row) {
|
||||
let rows = row ? [row] : this.$refs.xGrid.getCheckboxRecords(); // 获取选中行
|
||||
let ids = []; // 定义id数组
|
||||
rows.forEach((row) => { // 遍历选中行
|
||||
ids.push(row[this.keyName]); // 将选择行的id添加到id数组
|
||||
});
|
||||
|
||||
if (!ids.length) { // 如果没有选中行
|
||||
this.$mk.error("请选择行"); // 提示
|
||||
return;
|
||||
}
|
||||
|
||||
this.$mk.confirm('您确定要删除吗?').then(type => { // 确认删除
|
||||
if (type == 'confirm') { // 如果确认删除
|
||||
this.$mk.post({
|
||||
url: this.actions.delete, // 请求删除数据地址
|
||||
loading: "删除中...", // 加载提示
|
||||
data: {
|
||||
ids: ids // 传递id数组
|
||||
},
|
||||
useBigInt: true
|
||||
}).then(() => { // 成功
|
||||
this.$mk.success("删除成功"); // 提示成功
|
||||
this.onSearch(); // 重新加载数据
|
||||
}).catch((a) => { // 失败
|
||||
this.$mk.error(a.data.msg); // 提示错误信息
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 搜索
|
||||
onSearch() {
|
||||
this.$refs.xGrid.commitProxy('query') // 提交搜索
|
||||
},
|
||||
|
||||
|
||||
},
|
||||
// 监听属性
|
||||
watch: {}
|
||||
};
|
||||
|
||||
</script>
|
||||
<style scoped lang="less">
|
||||
.page-body {
|
||||
padding: 30px;
|
||||
background: @base-bg-color;
|
||||
}
|
||||
|
||||
.gridPanel {
|
||||
height: calc(100vh - 400px);
|
||||
}
|
||||
</style>
|
||||
|
||||
<style>
|
||||
.oplinks svg {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
margin: 0 5px 0 0;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
module.exports = {
|
||||
messages: {
|
||||
CN: {
|
||||
pageDesc: '描述内容',
|
||||
},
|
||||
HK: {
|
||||
pageDesc: '描述内容',
|
||||
},
|
||||
US: {
|
||||
pageDesc: 'Form pages are used to collect or verify information to users, and basic forms are common in scenarios where there are fewer data items.',
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -17,6 +17,18 @@
|
|||
<!-- =========================== 自定义区域 End ======================= -->
|
||||
</vxe-form>
|
||||
|
||||
<div class="tablebox" v-if="!formOptions.data.id && formOptions.data.is_oil == 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-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="mk-toolbar" v-if="isEdit">
|
||||
|
||||
</div>
|
||||
|
|
@ -77,18 +89,7 @@
|
|||
</vxe-table>
|
||||
</div>
|
||||
|
||||
<div class="tablebox" v-if="!formOptions.data.id && formOptions.data.is_oil == 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-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" v-if="!formOptions.data.id">
|
||||
<div class="Htitle" style="margin-bottom: 20px;">
|
||||
<div class="left-line"></div>
|
||||
|
|
@ -228,6 +229,7 @@ export default {
|
|||
oil_consumption_price:null,
|
||||
oil_consumption_total_price:null,
|
||||
oil_consumption_remark:null,
|
||||
oil_consumption_date:null,
|
||||
},
|
||||
other_expenses_log:[{
|
||||
other_expenses_amount:null,
|
||||
|
|
@ -419,7 +421,6 @@ export default {
|
|||
}
|
||||
}
|
||||
},
|
||||
{field: 'driver_salary', title: '司机工资',isNeedOutbound:true, span: 12, itemRender: {name: '$input', props: {type: "number"}, events: { input: this.handleInputNumber }}},
|
||||
{
|
||||
field: 'outbound_date',
|
||||
dataRule: {type: "timestamp"},
|
||||
|
|
@ -539,6 +540,7 @@ export default {
|
|||
|
||||
{field:'',title:'',span:24,isTitle:true,Htitle:'司机补贴',itemRender:{}},//分割线
|
||||
|
||||
{field: 'driver_salary', title: '司机工资',isNeedOutbound:true, span: 12, 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: 24, itemRender: {name: '$textarea'}},
|
||||
// {field: 'is_repair', title: '是否维修', span: 6,itemRender: { name: '$switch', props: { openLabel: '是', openValue: 1, closeValue: 0, closeLabel: '否' } }},
|
||||
|
|
@ -561,6 +563,14 @@ export default {
|
|||
{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_date',
|
||||
dataRule: {type: "timestamp"},
|
||||
isNeedOutbound:true,
|
||||
title: '加油日期',
|
||||
span: 6,
|
||||
itemRender: {name: '$input', props: {type: "date"}}
|
||||
},
|
||||
{field: "oil_consumption_remark", title: '油耗备注', span: 24, itemRender: {name: '$textarea'}},
|
||||
]
|
||||
},
|
||||
|
|
@ -739,7 +749,8 @@ export default {
|
|||
|
||||
// this.formOptions.data.outsourcing_driver_phone转换为字符串
|
||||
this.formOptions.data.outsourcing_driver_phone = String(this.formOptions.data.outsourcing_driver_phone)
|
||||
|
||||
// 将日期2018-01-01 转换为时间戵
|
||||
this.formOptions.data.oil_consumption.oil_consumption_date = new Date(this.formOptions.data.oil_consumption.oil_consumption_date).getTime() / 1000
|
||||
// 如果是新增模式,提交新增接口 如果是编辑模式,提交编辑接口
|
||||
let action = !this.isEdit ? this.actions.create : this.actions.update;
|
||||
// 如果是新增模式,提交的数据中加入id 如果是编辑模式,提交的数据中不加入id
|
||||
|
|
|
|||
|
|
@ -65,6 +65,18 @@ const DriverWagesRouterMap = {
|
|||
}
|
||||
},
|
||||
|
||||
DriverWagesTotal: {
|
||||
name: '工资汇总',
|
||||
icon: 'idcard',
|
||||
path: '/DriverWages/DriverWagesTotal',
|
||||
meta: {
|
||||
invisible: true, // 不在菜单中显示
|
||||
},
|
||||
component: () => import('@/pages/Middle/transport/DriverWages/DriverWages/Total'),
|
||||
authority: {
|
||||
permission: ["DriverWages","DriverWages-All","Driver-Wages-Total"],
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -137,6 +137,32 @@ const MaintenanceRouterMap = {
|
|||
permission: ["Maintenance", "Maintenance-All", "Other-Expenses-Log-Update"],
|
||||
}
|
||||
},
|
||||
|
||||
OtherExpensesList: {
|
||||
name: '其他费用项目列表',
|
||||
icon: 'idcard',
|
||||
path: '/Maintenance/OtherExpensesList',
|
||||
meta: {
|
||||
invisible: true, // 不在菜单中显示
|
||||
},
|
||||
component: () => import('@/pages/Middle/transport/Maintenance/OtherExpenses/List'),
|
||||
authority: {
|
||||
permission: ["Maintenance","Maintenance-All","Other-Expenses-List"],
|
||||
}
|
||||
},
|
||||
OtherExpensesCreate: {
|
||||
name: '创建其他费用项目',
|
||||
icon: 'idcard',
|
||||
path: '/Maintenance/OtherExpensesCreate',
|
||||
meta: {
|
||||
invisible: true, // 不在菜单中显示
|
||||
},
|
||||
component: () => import('@/pages/Middle/transport/Maintenance/OtherExpenses/Edit'),
|
||||
authority: {
|
||||
permission: ["Maintenance","Maintenance-All","Other-Expenses-Create"],
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
|
||||
export default MaintenanceRouterMap
|
||||
|
|
@ -64,6 +64,19 @@ const TruckRouterMap = {
|
|||
permission: ["Truck", "Truck-All", "Truck-Update"],
|
||||
}
|
||||
},
|
||||
|
||||
TruckIncomeList: {
|
||||
name: '货车收入列表',
|
||||
icon: 'idcard',
|
||||
path: '/Truck/TruckIncomeList',
|
||||
meta: {
|
||||
invisible: true, // 不在菜单中显示
|
||||
},
|
||||
component: () => import('@/pages/Middle/transport/Truck/Truck/TruckIncome/List'),
|
||||
authority: {
|
||||
permission: ["Truck","Truck-All","Truck-Income-List"],
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
export default TruckRouterMap
|
||||
Loading…
Reference in New Issue