增加车辆类型界面

master
夜笙歌 2 years ago
parent 192354a306
commit 06353b131e

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询轮胎基础信息列表
export function listBaseCar(query) {
return request({
url: '/cartype/cartype/list',
method: 'get',
params: query
})
}
// 查询轮胎基础信息详细
export function getBaseCar(id) {
return request({
url: '/basetyre/basetyre/' + id,
method: 'get'
})
}
// 新增轮胎基础信息
export function addBaseCar(data) {
return request({
url: '/basetyre/basetyre',
method: 'post',
data: data
})
}
// 修改轮胎基础信息
export function updateBaseCar(data) {
return request({
url: '/basetyre/basetyre',
method: 'put',
data: data
})
}
// 删除轮胎基础信息
export function delBaseCar(id) {
return request({
url: '/basetyre/basetyre/' + id,
method: 'delete'
})
}

@ -83,6 +83,16 @@ export default {
tiresTotal: 'Tire Quantity', tiresTotal: 'Tire Quantity',
addTitle: 'Add Vehicle Basic Information', addTitle: 'Add Vehicle Basic Information',
editTitle: 'Modify vehicle basic information', editTitle: 'Modify vehicle basic information',
},
carType: {
tyreFacCode: 'Tire Factory Code',
companyCode: 'Enterprise number',
code: 'Code',
title: 'Title',
state: 'State',
axleTotal: 'Axle Number',
tyreTotal: 'Number Of Tires',
trailerNum: 'Trailer Num'
} }
} }
} }

@ -83,6 +83,16 @@ export default {
tiresTotal: '轮胎数', tiresTotal: '轮胎数',
addTitle: '添加车辆基础信息', addTitle: '添加车辆基础信息',
editTitle: '修改车辆基础信息', editTitle: '修改车辆基础信息',
},
carType:{
tyreFacCode:'轮胎厂编码',
companyCode:'企业编码',
code:'编码',
title:'名称',
state:'状态',
axleTotal:'车轴数',
tyreTotal:'轮胎数',
trailerNum:'布局挂数'
} }
} }
} }

@ -42,7 +42,7 @@
<el-form-item :label="t('baseCar.car.carLicenseIn')" prop="carLicenseIn"> <el-form-item :label="t('baseCar.car.carLicenseIn')" prop="carLicenseIn">
<el-input <el-input
v-model="queryParams.carLicenseIn" v-model="queryParams.carLicenseIn"
:placeholder="t('baseCar.car.companyCode') +t('baseCar.car.carLicenseIn')" :placeholder="t('common.pleaseEnter') +t('baseCar.car.carLicenseIn')"
style="width: 200px" style="width: 200px"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
@ -759,8 +759,3 @@ function handleExport() {
getList(); getList();
</script> </script>
<style>
.el-form-item__label {
line-height: 16px !important;
}
</style>

@ -0,0 +1,581 @@
<template>
<div class="app-container">
<!-- 搜索栏-->
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch"
:label-width=" locale ? '110px':'170px'">
<el-form-item :label="t('baseCar.carType.tyreFacCode')" prop="tyreFacCode">
<el-input
v-model="queryParams.tyreFacCode"
:placeholder=" t('common.pleaseEnter') + t('baseCar.carType.companyCode')"
style="width: 200px"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="t('baseCar.carType.companyCode')" prop="companyCode">
<el-input
v-model="queryParams.companyCode"
:placeholder="t('common.pleaseEnter') + t('baseCar.carType.companyCode')"
style="width: 200px"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="t('baseCar.carType.code')" prop="code">
<el-input
v-model="queryParams.code"
:placeholder="t('common.pleaseEnter') + t('baseCar.carType.code')"
style="width: 200px"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="t('baseCar.carType.title')" prop="title">
<el-input
v-model="queryParams.title"
:placeholder="t('common.pleaseEnter') + t('baseCar.carType.title')"
style="width: 200px"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="t('baseCar.carType.state')" prop="state">
<el-input
v-model="queryParams.state"
:placeholder="t('common.pleaseEnter') +t('baseCar.carType.state')"
style="width: 200px"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="t('baseCar.carType.axleTotal')" prop="axleTotal">
<el-input
v-model="queryParams.axleTotal"
:placeholder="t('common.pleaseEnter') + t('baseCar.carType.axleTotal')"
style="width: 200px"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="t('baseCar.carType.tyreTotal')" prop="tyreTotal">
<el-input
v-model="queryParams.tyreTotal"
:placeholder="t('common.pleaseEnter') + t('baseCar.carType.tyreTotal')"
style="width: 200px"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="t('common.isRemove')" prop="isDelete">
<el-input
v-model="queryParams.isDelete"
:placeholder="t('common.pleaseEnter') + t('common.isRemove')"
style="width: 200px"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="t('common.createTime')" prop="createTime">
<el-date-picker
clearable
style="width: 200px"
v-model="queryParams.createTime"
:placeholder="t('common.PleaseSelect') + t('common.createTime')"
type="date"
format="YYYY/MM/DD"
value-format="YYYY-MM-DD"
/>
</el-form-item>
<el-form-item :label="t('common.creatorId')" prop="createId">
<el-input
v-model="queryParams.createId"
:placeholder="t('common.pleaseEnter') + t('common.creatorId')"
style="width: 200px"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="t('common.createBy')" prop="createBy">
<el-input
v-model="queryParams.createBy"
:placeholder="t('common.pleaseEnter') + t('common.createBy')"
style="width: 200px"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="t('common.creatorName')" prop="createName">
<el-input
v-model="queryParams.createName"
:placeholder="t('common.pleaseEnter') + t('common.creatorName')"
style="width: 200px"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="t('common.editTime')" prop="modifyTime">
<el-date-picker
clearable
style="width: 200px"
v-model="queryParams.modifyTime"
:placeholder="t('common.PleaseSelect') + t('common.editTime')"
type="date"
format="YYYY/MM/DD"
value-format="YYYY-MM-DD"
/>
</el-form-item>
<el-form-item :label="t('common.editID')" prop="modifyId">
<el-input
v-model="queryParams.modifyId"
:placeholder="t('common.pleaseEnter') + t('common.editID')"
style="width: 200px"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="t('common.editBy')" prop="modifyBy">
<el-input
v-model="queryParams.modifyBy"
:placeholder="t('common.pleaseEnter') + t('common.editBy')"
style="width: 200px"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="t('common.editName')" prop="modifyName">
<el-input
v-model="queryParams.modifyName"
:placeholder="t('common.pleaseEnter') + t('common.editName')"
style="width: 200px"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="t('baseCar.carType.trailerNum')" prop="trailerNum">
<el-input
v-model="queryParams.trailerNum"
:placeholder="t('common.pleaseEnter') + t('baseCar.carType.trailerNum')"
style="width: 200px"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label=" ">
<el-button type="primary" icon="Search" @click="handleQuery">{{ t('option.search') }}</el-button>
<el-button icon="Refresh" @click="resetQuery">{{ t('option.reset') }}</el-button>
</el-form-item>
</el-form>
<!-- 顶部操作按钮-->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="Plus"
@click="handleAdd"
v-hasPermi="['basetyre:basetyre:add']"
>{{ t('option.add') }}
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="Edit"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['basetyre:basetyre:edit']"
>{{ t('option.edit') }}
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="Delete"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['basetyre:basetyre:remove']"
>{{ t('option.remove') }}
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="Download"
@click="handleExport"
v-hasPermi="['basetyre:basetyre:export']"
>{{ t('option.export') }}
</el-button>
</el-col>
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 表格主体-->
<el-table v-loading="loading" :data="postList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" fixed/>
<el-table-column :label="t('baseCar.carType.tyreFacCode')" align="center" prop="tyreFacCode" width="150"/>
<el-table-column :label="t('baseCar.carType.companyCode')" align="center" prop="companyCode" width="150"/>
<el-table-column :label="t('baseCar.carType.code')" align="center" prop="code" width="150"/>
<el-table-column :label="t('baseCar.carType.title')" align="center" prop="title" width="150"/>
<el-table-column :label="t('baseCar.carType.state')" align="center" prop="state"
width="150"/>
<el-table-column :label="t('baseCar.carType.axleTotal')" align="center" prop="axleTotal"
width="150"/>
<el-table-column :label="t('baseCar.carType.tyreTotal')" align="center" prop="tyreTotal" width="150"/>
<el-table-column :label="t('common.isRemove')" align="center" prop="isDelete" width="150"/>
<el-table-column :label="t('common.createTime')" align="center" prop="createTime" width="160"/>
<el-table-column :label="t('common.creatorId')" align="center" prop="createId" width="150"/>
<el-table-column :label="t('common.createBy')" align="center" prop="createBy" width="150"/>
<el-table-column :label="t('common.creatorName')" align="center" prop="createName" width="150"/>
<el-table-column :label="t('common.editTime')" align="center" prop="modifyTime" width="150"/>
<el-table-column :label="t('common.editID')" align="center" prop="modifyId" width="150"/>
<el-table-column :label="t('common.editBy')" align="center" prop="modifyBy" width="150"/>
<el-table-column :label="t('common.editName')" align="center" prop="modifyName" width="150"/>
<el-table-column :label="t('baseCar.carType.trailerNum')" align="center" prop="trailerNum" width="150"/>
<el-table-column :label="t('option.option')" align="center" class-name="small-padding fixed-width" fixed="right"
width="160">
<template #default="scope">
<el-button
type="text"
icon="Edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['basetyre:basetyre:edit']"
>{{ t('option.edit') }}
</el-button>
<el-button
type="text"
icon="Delete"
@click="handleDelete(scope.row)"
v-hasPermi="['basetyre:basetyre:remove']"
>{{ t('option.remove') }}
</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页-->
<pagination
v-show="total > 0"
:total="total"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改岗位对话框 -->
<el-dialog :title="title" v-model="open" width="500px" append-to-body>
<el-form ref="postRef" :model="form" :rules="rules" :label-width=" locale ? '120px':'140px'">
<el-form-item :label="t('baseCar.carType.tyreFacCode')" prop="tyreFacCode">
<el-input
v-model="form.tyreFacCode"
:placeholder=" t('common.pleaseEnter') + t('baseCar.carType.tyreFacCode')"/>
</el-form-item>
<el-form-item :label="t('baseCar.carType.companyCode')" prop="companyCode">
<el-input
v-model="form.companyCode"
:placeholder="t('common.pleaseEnter') + t('baseCar.carType.companyCode')"/>
</el-form-item>
<el-form-item :label="t('baseCar.carType.code')" prop="code">
<el-input
v-model="form.code"
:placeholder="t('common.pleaseEnter') + t('baseCar.carType.code')"/>
</el-form-item>
<el-form-item :label="t('baseCar.carType.title')" prop="title">
<el-input
v-model="form.title"
:placeholder="t('common.pleaseEnter') + t('baseCar.carType.title')"/>
</el-form-item>
<el-form-item :label="t('baseCar.carType.state')" prop="state">
<el-input
v-model="form.state"
:placeholder="t('common.pleaseEnter') + t('baseCar.carType.state')"/>
</el-form-item>
<el-form-item :label="t('baseCar.carType.axleTotal')" prop="axleTotal">
<el-input
v-model="form.axleTotal"
:placeholder="t('common.pleaseEnter') + t('baseCar.carType.axleTotal')"/>
</el-form-item>
<el-form-item :label="t('baseCar.carType.tyreTotal')" prop="tyreTotal">
<el-input
v-model="form.tyreTotal"
:placeholder="t('common.pleaseEnter') + t('baseCar.carType.tyreTotal')"/>
</el-form-item>
<el-form-item :label="t('common.isRemove')" prop="isDelete">
<el-input
v-model="form.isDelete"
:placeholder="t('common.pleaseEnter') + t('common.isRemove')"/>
</el-form-item>
<el-form-item :label="t('common.createTime')" prop="createTime">
<el-date-picker
clearable
v-model="form.createTime"
type="date"
format="YYYY/MM/DD"
value-format="YYYY-MM-DD"
:placeholder="t('common.PleaseSelect') + t('common.createTime')"
/>
</el-form-item>
<el-form-item :label="t('common.creatorId')" prop="createId">
<el-input
v-model="form.createId"
:placeholder="t('common.pleaseEnter') + t('common.creatorId')"/>
</el-form-item>
<el-form-item :label="t('common.createBy')" prop="createBy">
<el-input
v-model="form.createBy"
:placeholder="t('common.pleaseEnter') + t('common.createBy')"/>
</el-form-item>
<el-form-item :label="t('common.creatorName')" prop="createName">
<el-input
v-model="form.createName"
:placeholder="t('common.pleaseEnter') + t('common.creatorName')"/>
</el-form-item>
<el-form-item :label="t('common.editTime')" prop="modifyTime">
<el-date-picker
clearable
v-model="form.modifyTime"
type="date"
format="YYYY/MM/DD"
value-format="YYYY-MM-DD"
:placeholder="t('common.PleaseSelect') + t('common.editTime')"
/>
</el-form-item>
<el-form-item :label="t('common.editID')" prop="modifyId">
<el-input
v-model="form.modifyId"
:placeholder="t('common.pleaseEnter') + t('common.editID')"/>
</el-form-item>
<el-form-item :label="t('common.editBy')" prop="modifyBy">
<el-input
v-model="form.modifyBy"
:placeholder="t('common.pleaseEnter') + t('common.editBy')"/>
</el-form-item>
<el-form-item :label="t('common.editName')" prop="modifyName">
<el-input
v-model="form.modifyName"
:placeholder="t('common.pleaseEnter') + t('common.editName')"/>
</el-form-item>
<el-form-item :label="t('baseCar.carType.trailerNum')" prop="trailerNum">
<el-input
v-model="form.trailerNum"
:placeholder="t('common.pleaseEnter') + t('baseCar.carType.trailerNum')"/>
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script setup name="basetyre">
import {addBaseCar, delBaseCar, getBaseCar, listBaseCar, updateBaseCar} from "@/api/basecar/cartype";
import {useI18n} from 'vue-i18n';
import Cookies from "js-cookie";
const {t} = useI18n();
const locale = (Cookies.get('language') || 'zh-cn') === 'zh-cn'
const {proxy} = getCurrentInstance();
const {sys_normal_disable} = proxy.useDict("sys_normal_disable");
//
const postList = ref([]);
//
const open = ref(false);
//
const loading = ref(true);
//
const showSearch = ref(true);
// id
const ids = ref([]);
//
const single = ref(true);
//
const multiple = ref(true);
//
const total = ref(0);
//
const title = ref("");
//
const queryParams = ref({
pageNum: 1,
pageSize: 10,
tyreFacCode: undefined,
companyCode: undefined,
code: undefined,
title: undefined,
state: undefined,
axleTotal: undefined,
tyreTotal: undefined,
isDelete: undefined,
createTime: undefined,
createId: undefined,
createBy: undefined,
createName: undefined,
modifyTime: undefined,
modifyId: undefined,
modifyBy: undefined,
modifyName: undefined,
trailerNum: undefined,
})
//
const rules = {
brand: [{required: true, message: "轮胎品牌不能为空", trigger: "blur"}],
type: [{required: true, message: "轮胎型号不能为空", trigger: "blur"}],
serialNumber: [{required: true, message: "轮胎编号不能为空", trigger: "blur"}],
depth: [{required: true, message: "花纹深度不能为空", trigger: "blur"}],
}
//
const form = ref({
id: null,
tyreFacCode: null,
companyCode: null,
code: null,
title: null,
state: null,
axleTotal: null,
tyreTotal: null,
isDelete: null,
createTime: null,
createId: null,
createBy: null,
createName: null,
modifyTime: null,
modifyId: null,
modifyBy: null,
modifyName: null,
trailerNum: null,
});
/** 查询岗位列表 */
function getList() {
loading.value = true;
listBaseCar(queryParams.value).then(response => {
postList.value = response.rows;
total.value = response.total;
loading.value = false;
});
}
/** 取消按钮 */
function cancel() {
open.value = false;
reset();
}
/** 表单重置 */
function reset() {
form.value = {
id: null,
tyreFacCode: null,
companyCode: null,
code: null,
title: null,
state: null,
axleTotal: null,
tyreTotal: null,
isDelete: null,
createTime: null,
createId: null,
createBy: null,
createName: null,
modifyTime: null,
modifyId: null,
modifyBy: null,
modifyName: null,
trailerNum: null,
};
proxy.resetForm("postRef");
}
/** 搜索按钮操作 */
function handleQuery() {
queryParams.value.pageNum = 1;
getList();
}
/** 重置按钮操作 */
const resetQuery = () => {
proxy.resetForm("queryRef");
handleQuery();
}
/** 多选框选中数据 */
function handleSelectionChange(selection) {
ids.value = selection.map(item => item.postId);
single.value = selection.length !== 1;
multiple.value = !selection.length;
}
/** 新增按钮操作 */
function handleAdd() {
reset();
open.value = true;
title.value = t('baseCar.carType.addTitle');
}
/** 修改按钮操作 */
function handleUpdate(row) {
reset();
const postId = row.postId || ids.value;
getBaseCar(postId).then(response => {
form.value = response.data;
open.value = true;
title.value = t('baseCar.carType.editTitle');
});
}
/** 提交按钮 */
function submitForm() {
proxy.$refs["postRef"].validate(valid => {
if (valid) {
if (form.value.postId != undefined) {
updateBaseCar(form.value).then(response => {
proxy.$modal.msgSuccess("修改成功");
open.value = false;
getList();
});
} else {
addBaseCar(form.value).then(response => {
proxy.$modal.msgSuccess("新增成功");
open.value = false;
getList();
});
}
}
});
}
/** 删除按钮操作 */
function handleDelete(row) {
const postIds = row.postId || ids.value;
proxy.$modal.confirm('是否确认删除岗位编号为"' + postIds + '"的数据项?').then(function () {
return delBaseCar(postIds);
}).then(() => {
getList();
proxy.$modal.msgSuccess("删除成功");
}).catch(() => {
});
}
/** 导出按钮操作 */
function handleExport() {
proxy.download("system/post/export", {
...queryParams.value
}, `post_${new Date().getTime()}.xlsx`);
}
getList();
</script>
Loading…
Cancel
Save