This commit is contained in:
linfso 2024-06-14 10:39:34 +08:00
parent ea9827a69a
commit 4c8400e5fb
7 changed files with 1914 additions and 0 deletions

View File

@ -0,0 +1,52 @@
import request from '@/utils/request'
// 查询卡车信息列表
export function listEmisTmsCar(query) {
return request({
url: '/emis/emisTmsCar/list',
method: 'get',
params: query
})
}
export function listSimpleEmisTmsCar(query) {
return request({
url: '/emis/emisTmsCar/listSimple',
method: 'get',
params: query
})
}
// 查询卡车信息详细
export function getEmisTmsCar(id) {
return request({
url: '/emis/emisTmsCar/' + id,
method: 'get'
})
}
// 新增卡车信息
export function addEmisTmsCar(data) {
return request({
url: '/emis/emisTmsCar',
method: 'post',
data: data
})
}
// 修改卡车信息
export function updateEmisTmsCar(data) {
return request({
url: '/emis/emisTmsCar',
method: 'put',
data: data
})
}
// 删除卡车信息
export function delEmisTmsCar(id) {
return request({
url: '/emis/emisTmsCar/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询司机列表
export function listEmisTmsDriver(query) {
return request({
url: '/emis/emisTmsDriver/list',
method: 'get',
params: query
})
}
// 查询司机详细
export function getEmisTmsDriver(id) {
return request({
url: '/emis/emisTmsDriver/' + id,
method: 'get'
})
}
// 新增司机
export function addEmisTmsDriver(data) {
return request({
url: '/emis/emisTmsDriver',
method: 'post',
data: data
})
}
// 修改司机
export function updateEmisTmsDriver(data) {
return request({
url: '/emis/emisTmsDriver',
method: 'put',
data: data
})
}
// 删除司机
export function delEmisTmsDriver(id) {
return request({
url: '/emis/emisTmsDriver/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,156 @@
<template>
<el-select
style="width:100%"
ref="selectRef"
filterable
clearable
remote
:remote-method="queryData"
v-model="svalue"
:placeholder="placeholder"
auto-complete="false"
:disabled="disabled"
no-data-text=""
allow-create
@blur="onBlur"
@change="onChange"
@click.native="onClick"
@visible-change="reverseArrow"
>
<el-option v-for="(item,index) in optionItems" :key="index" :label="item.carNo" :value="item.carNo" ></el-option>
</el-select>
</template>
<script>
import emitter from 'element-ui/src/mixins/emitter';
import { listSimpleEmisTmsCar } from "@/api/emis/emisTmsCar";
export default {
name: "CarSimplePicker",
mixins: [emitter],
props: {
value: {
type: String,
required: false
},
placeholder: {
type: String,
required: false
},
countryCode: {
type: String,
required: false
},
disabled:{
type: [Boolean,String],
required: false
},
},
data() {
return {
loading:false,
svalue: this.value,
optionItems: [],
// 缺省值
defaultItems: null,
itemMap:new Map(),
queryParams:{
pageNum:1,
pageSize:10,
countryCode:this.countryCode,
carNo:null,
searchVal:null
}
};
},
watch: {
value(newVal,oldVal) {
this.svalue=this.value;
// this.queryData(null,this.svalue);
},
countryCode(newVal, oldVal) {
if(newVal!=oldVal){
this.queryParams.countryCode=newVal
this.defaultItems=null;
}
}
},
mounted(){
let rulesDom = this.$refs["selectRef"].$el.querySelector(".el-input .el-input__suffix .el-input__suffix-inner .el-input__icon"); // 找到dom
    rulesDom.classList.add("el-icon-arrow-up"); // 对dom新增class
},
created() {
// if(this.svalue!=null){
// this.queryData(null,this.svalue);
// }
},
methods: {
onClick(){
// 第一次点击时需要初始化
if(!this.defaultItems){
this.queryData(null,null);
}else{
this.optionItems = [...this.defaultItems];
}
},
onChange() {
this.$emit("input", this.svalue);
let itemData = this.optionItems.find(item => item.siteCode == this.svalue);
this.$emit("onChange",itemData);
},
onClear(){
this.$emit("input", this.svalue);
this.$emit("onChange",null);
},
onBlur(val){
this.$emit("input", this.svalue);
this.dispatch('ElFormItem', 'el.form.blur');
},
queryData(val,key) {
this.optionItems=[];
this.queryParams.searchVal=val;
listSimpleEmisTmsCar(this.queryParams).then(response => {
this.optionItems=response.rows;
// 初始值存储
if(key==null && val==null){
this.defaultItems=[...this.optionItems]
}
});
},
reverseArrow(flag) {
let rulesDom = this.$refs["selectRef"].$el.querySelector(
".el-input .el-input__suffix .el-input__suffix-inner .el-input__icon"
); // 找到dom
if (flag) {
rulesDom.classList.add("is-reverse"); // 对dom新增class
} else {
rulesDom.classList.remove("is-reverse"); // 对dom新增class
}
},
}
};
</script>
<style lang="scss" scoped>
// right: 30px;
// cursor: pointer;
:deep .el-select.remote-select{
.el-select__caret::before{
content: '\e6e1';
}
.is-focus{
.el-select__caret{
transform: rotateZ(0deg);
}
}
}
</style>

View File

@ -0,0 +1,342 @@
<template>
<div >
<el-form ref="form" :model="form" size="mini" :rules="rules" label-width="80px">
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
<el-col :span="8">
<el-form-item label="车牌号" prop="carNo">
<el-input v-model="form.carNo" placeholder="请输入车牌号" />
</el-form-item>
</el-col>
<!-- <el-col :span="8">
<el-form-item label="所属国家" prop="country">
<el-input v-model="form.country" placeholder="请输入所属国家" />
</el-form-item>
</el-col> -->
<el-col :span="8">
<el-form-item label="品牌" prop="carBrand">
<el-input v-model="form.carBrand" placeholder="请输入品牌" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="车身颜色" prop="carBodyColor">
<el-select v-model="form.carBodyColor" placeholder="请选择车身颜色">
<el-option
v-for="dict in dict.type.emis_car_body_color"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="车牌颜色" prop="carPlateColor">
<el-select v-model="form.carPlateColor" placeholder="请选择车牌颜色">
<el-option
v-for="dict in dict.type.emis_car_plate_color"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="车辆归属" prop="carBelong">
<el-select v-model="form.carBelong" placeholder="请选择车辆归属">
<el-option
v-for="dict in dict.type.emis_car_belong"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="燃料类型" prop="fuelType">
<el-select v-model="form.fuelType" placeholder="请选择燃料类型">
<el-option
v-for="dict in dict.type.emis_car_fuel_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="车辆类型" prop="carType">
<el-select v-model="form.carType" placeholder="请选择车辆类型">
<el-option
v-for="dict in dict.type.emis_car_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="12">
</el-col> -->
<el-col :span="8">
<el-form-item label="额定重" prop="ratedWeight">
<el-input v-model="form.ratedWeight" placeholder="请输入额定重" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="额定体积" prop="ratedVolume">
<el-input v-model="form.ratedVolume" placeholder="请输入额定体积" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="额定载人" prop="ratedManned">
<el-input v-model="form.ratedManned" placeholder="请输入额定载人" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="车厢长" prop="carriageLong">
<el-input v-model="form.carriageLong" placeholder="请输入车厢长" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="车厢宽" prop="carriageWidth">
<el-input v-model="form.carriageWidth" placeholder="请输入车厢宽" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="车厢高" prop="carriageHigh">
<el-input v-model="form.carriageHigh" placeholder="请输入车厢高" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="车厢重" prop="carriageWeight">
<el-input v-model="form.carriageWeight" placeholder="请输入车厢重" />
</el-form-item>
</el-col>
<el-col :span="8">
</el-col>
<el-col :span="8">
<el-form-item label="油耗" prop="oilWear" >
<el-input v-model="form.oilWear" placeholder="百公里油耗" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="油卡号" prop="oilCard">
<el-input v-model="form.oilCard" placeholder="请输入油卡号" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="是否有效" prop="blValid">
<el-radio-group v-model="form.blValid">
<el-radio label="1">有效</el-radio>
<el-radio label="0">无效</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="显示顺序" prop="orderNum">
<el-input v-model="form.orderNum" placeholder="请输入显示顺序" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
</el-form-item>
</el-col>
<!--
<el-form-item label="上级字典">
<treeselect
ref="tree"
v-model="form.parentId"
:options="emisTmsCarOptions"
:normalizer="normalizer"
:default-expand-level="1"
:show-count="true"
placeholder="选择上级"
/>
</el-form-item>
-->
</el-row>
</el-form>
<div style="text-align: center;margin-bottom: 10px;">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</div>
</template>
<script>
import { listEmisTmsCar, getEmisTmsCar, delEmisTmsCar, addEmisTmsCar, updateEmisTmsCar } from "@/api/emis/emisTmsCar";
export default {
name: "emisTmsCarForm",
props:{
id:{
type:Number
}
},
components: { },
dicts: [
'emis_car_body_color',
'emis_car_plate_color',
'emis_car_belong',
'emis_car_fuel_type',
'emis_car_type',
],
data() {
return {
emisTmsCarOptions: [],
// 遮罩层
loading: true,
// 表单参数
form: {},
// 表单校验
rules: {
id: [
{ required: true, message: "id不能为空", trigger: "blur" }
],
carNo: [
{ required: true, message: "车牌号不能为空", trigger: "blur" }
],
carBodyColor: [
{ required: true, message: "车身颜色不能为空", trigger: "change" }
],
carPlateColor: [
{ required: true, message: "车牌颜色不能为空", trigger: "change" }
],
carBelong: [
{ required: true, message: "车辆归属不能为空", trigger: "change" }
],
carType: [
{ required: true, message: "车辆类型不能为空", trigger: "change" }
],
blValid: [
{ required: true, message: "是否有效不能为空", trigger: "blur" }
],
}
};
},
watch: {
"id": {
handler (newValue, oldValue) {
this.id = newValue;
this.initData();
},
deep: true
}
},
created() {
this.initData();
},
methods: {
initData() {
if(this.id !=null) {
this.loading = true;
getEmisTmsCar(this.id).then(response => {
this.form = response.data;
this.loading = false;
});
}else{
this.reset();
}
// this.getTreeselect();
},
// 取消按钮
cancel() {
this.reset();
this.$emit("on-cancel");
},
// 表单重置
reset() {
this.form = {
id: null,
carNo: null,
carBrand: null,
carBodyColor: null,
carPlateColor: null,
carBelong: null,
fuelType: null,
oilWear: null,
oilCard: null,
driverCode: null,
driverName: null,
carType: null,
ratedWeight: null,
ratedVolume: null,
ratedManned: null,
carriageLong: null,
carriageWidth: null,
carriageHigh: null,
carriageWeight: null,
blValid: null,
orderNum: null,
remark: null,
tenantId: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
createSite: null,
updateSite: null,
country: null
};
this.resetForm("form");
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateEmisTmsCar(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.$emit("on-changed");
});
} else {
addEmisTmsCar(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.$emit("on-changed");
});
}
}
});
},
// /** 转换菜单数据结构 */
// normalizer(node) {
// if (node.children && !node.children.length) {
// delete node.children;
// }
// return {
// id: node.id,
// label: node.idName,
// children: node.children
// };
// },
// /** 查询菜单下拉树结构 */
// getTreeselect() {
// const queryParams = {}
// listEmisTmsCar(queryParams).then(response => {
// this.emisTmsCarOptions = [];
// const rootItem = { idId: 0, emisTmsCarName: '-', children: [] };
// rootItem.children = this.handleTree(response.data, "id");
// this.emisTmsCarOptions.push(rootItem);
// if(this.parentId != undefined) {
// this.form.parentId = this.parentId;
// }
// });
// },
}
};
</script>

View File

@ -0,0 +1,407 @@
<template>
<div class="app-container">
<SearchForm :model="queryParams" ref="queryForm" size="small" :maxShow="3" label-width="68px" v-show="showSearch" @search="handleQuery" @reset="resetQuery">
<el-form-item label="" prop="carNo">
<el-input
v-model="queryParams.carNo"
:placeholder="$t('车牌号')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="blValid">
<el-input
v-model="queryParams.blValid"
:placeholder="$t('是否有效')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</SearchForm>
<XdTable v-loading="loading"
border stripe
size="small"
:data="emisTmsCarList"
:showSearch.sync="showSearch"
:queryParams="queryParams"
:total="total"
@queryTable="getList"
@selection-change="handleSelectionChange"
@sort-change="handleSortChange"
>
<div slot="toolbar">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['emis:emisTmsCar:add']"
>新增</el-button>
</el-col>
<!--
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['emis:emisTmsCar:edit']"
>修改</el-button>
</el-col> -->
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['emis:emisTmsCar:remove']"
>删除</el-button>
</el-col>
<!-- <el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['emis:emisTmsCar:export']"
>导出</el-button>
</el-col> -->
</el-row>
</div>
<el-table-column type="selection" width="55" align="center" />
<!--
<el-table-column label="序号" align="center" min-width="60">
<template slot-scope="scope">
<span v-text="getIndex(scope.$index)"> </span>
</template>
</el-table-column>
<el-table-column label="xxx" align="left" prop="xxx" min-width="180">
<template slot-scope="scope">
<div class="link-type" @click="handleView(scope.row)">{{scope.row.orderSn}}</div>
</template>
</el-table-column>
<el-table-column label="结算状态" align="center" prop="settleStatus" :sort-orders="['descending','ascending']" sortable="custom" min-width="80">
<template slot-scope="scope">
<div v-if="scope.row.settleStatus == 0" style="color:red;">
<span class="el-tag el-tag--info">未结算</span>
</div>
<div v-if="scope.row.settleStatus == 10" style="color:red;">
<span class="el-tag">待确认</span>
</div>
<div v-if="scope.row.settleStatus == 11" style="color:green;">
<span class="el-tag el-tag--success el-tag--light">已确认</span>
</div>
<div v-if="scope.row.settleStatus == 20" >
<span class="el-tag el-tag--warning el-tag--light">待打款</span>
</div>
<div v-if="scope.row.settleStatus == 21" style="color:green;">
<span class="el-tag el-tag--success el-tag--light">已打款</span>
</div>
<div v-if="scope.row.settleStatus == 40" style="color:red;">
<span class="el-tag el-tag--danger">已拒绝</span>
</div>
</template>
</el-table-column>
-->
<el-table-column :label="$t('车牌号')" align="center" prop="carNo" min-width="100" >
<template slot-scope="scope">
<div class="link-type" @click="handleUpdate(scope.row)">{{scope.row.carNo}}</div>
</template>
</el-table-column>
<el-table-column :label="$t('品牌')" align="center" prop="carBrand" min-width="100" />
<el-table-column :label="$t('车身颜色')" align="center" prop="carBodyColor" min-width="100" >
<template slot-scope="scope">
<dict-tag :options="dict.type.emis_car_body_color" :value="scope.row.carBodyColor"/>
</template>
</el-table-column>
<el-table-column :label="$t('车牌颜色')" align="center" prop="carPlateColor" min-width="100" >
<template slot-scope="scope">
<dict-tag :options="dict.type.emis_car_plate_color" :value="scope.row.carPlateColor"/>
</template>
</el-table-column>
<el-table-column :label="$t('车辆归属')" align="center" prop="carBelong" min-width="100" >
<template slot-scope="scope">
<dict-tag :options="dict.type.emis_car_belong" :value="scope.row.carBelong"/>
</template>
</el-table-column>
<el-table-column :label="$t('燃料类型')" align="center" prop="fuelType" min-width="100" >
<template slot-scope="scope">
<dict-tag :options="dict.type.emis_car_fuel_type" :value="scope.row.fuelType"/>
</template>
</el-table-column>
<el-table-column :label="$t('油耗')" align="center" prop="oilWear" min-width="100" />
<el-table-column :label="$t('油卡号')" align="center" prop="oilCard" min-width="100" />
<el-table-column :label="$t('车辆类型')" align="center" prop="carType" min-width="100" >
<template slot-scope="scope">
<dict-tag :options="dict.type.emis_car_type" :value="scope.row.carType"/>
</template>
</el-table-column>
<el-table-column :label="$t('额定重')" align="center" prop="ratedWeight" min-width="100" />
<el-table-column :label="$t('额定体积')" align="center" prop="ratedVolume" min-width="100" />
<el-table-column :label="$t('额定载人')" align="center" prop="ratedManned" min-width="100" />
<el-table-column :label="$t('车厢长')" align="center" prop="carriageLong" min-width="100" />
<el-table-column :label="$t('车厢宽')" align="center" prop="carriageWidth" min-width="100" />
<el-table-column :label="$t('车厢高')" align="center" prop="carriageHigh" min-width="100" />
<el-table-column :label="$t('车厢重')" align="center" prop="carriageWeight" min-width="100" />
<el-table-column :label="$t('显示顺序')" align="center" prop="orderNum" min-width="100" />
<el-table-column :label="$t('所属国家')" align="center" prop="country" min-width="100" />
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['emis:emisTmsCar:edit']"
>修改</el-button>
<!--
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['emis:emisTmsCar:remove']"
>删除</el-button> -->
</template>
</el-table-column>
</XdTable>
<el-dialog :title="titleForm" :visible.sync="openForm" width="70%" :destroy-on-close="true" v-dialogDrag append-to-body>
<emisTmsCarForm :id="currentId" @on-changed="handleFormChanged" @on-cancel="cancelForm"></EmisTmsCarForm>
</el-dialog>
<!--
<el-dialog :title="titleView" :visible.sync="openView" width="60%" :close-on-click-modal="false" v-dialogDrag append-to-body>
<emisTmsCarView :id="id" ></EmisTmsCarView>
</el-dialog>
-->
</div>
</template>
<script>
import { listEmisTmsCar, getEmisTmsCar, delEmisTmsCar, addEmisTmsCar, updateEmisTmsCar } from "@/api/emis/emisTmsCar";
import elDateSimplePicker from '@/components/DatePickerAdv/elDateSimplePicker';
// import emisTmsCarView from '@/views/emis/emisTmsCar/emisTmsCarView';
import emisTmsCarForm from '@/views/emis/emisTmsCar/emisTmsCarForm';
export default {
name: "emisTmsCar",
components: { elDateSimplePicker,emisTmsCarForm },
dicts: [
'emis_car_body_color',
'emis_car_plate_color',
'emis_car_belong',
'emis_car_fuel_type',
'emis_car_type',
],
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 创建时间搜索
dateTimeRange:[],
// 总条数
total: 0,
// 卡车信息表格数据
emisTmsCarList: [],
currentId:null,
openForm: false,
titleForm: "",
// 弹出展示层
id:null,
titleView:"",
openView: false,
// 所属国家时间范围
daterangeCreateTime: [],
// 所属国家时间范围
daterangeUpdateTime: [],
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 20,
carNo: null,
blValid: null,
},
};
},
created() {
this.getList();
},
methods: {
/** 查询卡车信息列表 */
getList() {
this.loading = true;
this.queryParams.params = {};
if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) {
this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0];
this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
}
if (null != this.daterangeUpdateTime && '' != this.daterangeUpdateTime) {
this.queryParams.params["beginUpdateTime"] = this.daterangeUpdateTime[0];
this.queryParams.params["endUpdateTime"] = this.daterangeUpdateTime[1];
}
listEmisTmsCar(this.addDateRange(this.queryParams, this.dateTimeRange)).then(response => {
this.emisTmsCarList = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
// 排序 查询字段是表格中字段名字 动态取值排序顺序
handleSortChange(column) {
this.queryParams.orderByColumn = column.prop;
this.queryParams.isAsc = column.order;
this.getList();
},
/** 新增按钮操作 */
handleAdd(row) {
this.currentId=null;
this.openForm= true;
this.titleForm = "新增";
},
handleShowMoreInput(){
this.moreInputVisible = !this.moreInputVisible;
},
/** 修改按钮操作 */
handleUpdate(row) {
this.currentId= row.id;
this.openForm = true;
this.titleForm = "修改";
},
handleView(row) {
this.id=row.id;
this.titleView="查看";
this.openView=true;
// this.router.push({ path: '/emis/emisTmsCar/viewDetail', query: { id: row.id }})
},
handleFormChanged(){
this.openForm = false;
this.getList();
},
cancelForm(){
this.openForm = false;
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除').then(function() {
return delEmisTmsCar(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
// this.download('emis/emisTmsCar/export', {
// ...this.queryParams
// }, `emisTmsCar_${new Date().getTime()}.xlsx`)
const loadingInstance = this.$loading({
text: '正在导出...'
})
var qParam = {...this.queryParams};
qParam.pageNum=1;
qParam.pageSize=5000;
listEmisTmsCar(this.addDateRange(qParam, this.dateTimeRange)).then(response => {
this.downloadLoading = false
if (response.code === 200) {
const curList = response.rows
import('@/vendor/Export2Excel').then(excel => {
const tHeader = ['id','车牌号','品牌','车身颜色','车牌颜色','车辆归属','燃料类型','额定百公里油耗','油卡号','司机编号','司机名称','车辆类型','额定重','额定体积','额定载人','车厢长','车厢宽','车厢高','车厢重','是否有效','显示顺序','备注','租户ID','删除标志(0代表存在','创建者','创建时间','更新者','更新时间','创建网点','更新网点','所属国家',];
const filterVal = ['id','carNo','carBrand','carBodyColor','carPlateColor','carBelong','fuelType','oilWear','oilCard','driverCode','driverName','carType','ratedWeight','ratedVolume','ratedManned','carriageLong','carriageWidth','carriageHigh','carriageWeight','blValid','orderNum','remark','tenantId','delFlag','createBy','createTime','updateBy','updateTime','createSite','updateSite','country',];
const data = this.formatJson(filterVal, curList, response.rows)
excel.export_json_to_excel({
header: tHeader,
data,
filename: '卡车信息',
autoWidth: true
})
loadingInstance.close()
})
}
});
},
formatJson(filterVal, jsonData, resData) {
let index = 0
return jsonData.map(v => filterVal.map(j => {
if (j === 'index') {
return ++index
}
if (j === 'status') {
var statusStr='xxx'
if(v[j] == 10){
statusStr='xxx'
}
return statusStr;
}
return v[j]
}))
},
/** 列索引函数 */
getIndex($index) {
return (this.queryParams.pageNum - 1) * this.queryParams.pageSize + $index + 1
},
/** 时间搜索响应函数 */
dateTimeChange(value){
this.dateTimeRange=value;
},
}
};
</script>
<style scoped>
.el-divider{
margin-top: 0px;
background: 0 0;
border-top: 1px solid #E6EBF5;
}
.el-divider__text {
color: #0955ee;
cursor: pointer;
}
</style>

View File

@ -0,0 +1,313 @@
<template>
<div >
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
<el-col :span="24">
<el-form-item label="司机名" prop="driverName">
<el-input v-model="form.driverName" placeholder="请输入司机名" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="所属国家" prop="country">
<el-input v-model="form.country" placeholder="请输入所属国家" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="婚姻状态" prop="maritalStatus">
<el-input v-model="form.maritalStatus" placeholder="请输入婚姻状态" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="生日" prop="birthDate">
<el-date-picker clearable
v-model="form.birthDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择生日">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="健康状态" prop="healthStatus">
<el-input v-model="form.healthStatus" placeholder="请输入健康状态" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="教育背景" prop="eduBack">
<el-input v-model="form.eduBack" placeholder="请输入教育背景" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="身高" prop="height">
<el-input v-model="form.height" placeholder="请输入身高" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="体重" prop="weight">
<el-input v-model="form.weight" placeholder="请输入体重" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="政治面貌" prop="politicsStatus">
<el-input v-model="form.politicsStatus" placeholder="请输入政治面貌" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="所属网点" prop="ownerSiteCode">
<el-input v-model="form.ownerSiteCode" placeholder="请输入所属网点" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="司机类型" prop="driverOwnerType">
<el-input v-model="form.driverOwnerType" placeholder="请输入司机类型" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="工号" prop="empNo">
<el-input v-model="form.empNo" placeholder="请输入工号" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="驾龄" prop="drivingYears">
<el-input v-model="form.drivingYears" placeholder="请输入驾龄" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="是否启用1-启用" prop="blStatus">
<el-input v-model="form.blStatus" placeholder="请输入是否启用1-启用" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="是否服兵役" prop="blMilitaryService">
<el-input v-model="form.blMilitaryService" placeholder="请输入是否服兵役" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="电话号码" prop="driverPhone">
<el-input v-model="form.driverPhone" placeholder="请输入电话号码" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="从业证号" prop="driverCod">
<el-input v-model="form.driverCod" placeholder="请输入从业证号" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="1档票数" prop="firstNum">
<el-input v-model="form.firstNum" placeholder="请输入1档票数" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="2档票数" prop="secondNum">
<el-input v-model="form.secondNum" placeholder="请输入2档票数" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="入职日期" prop="entryTime">
<el-date-picker clearable
v-model="form.entryTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择入职日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="登记日期" prop="registerDate">
<el-date-picker clearable
v-model="form.registerDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择登记日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="显示顺序" prop="orderNum">
<el-input v-model="form.orderNum" placeholder="请输入显示顺序" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="删除标志(0代表存在" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入删除标志(0代表存在" />
</el-form-item>
</el-col>
<!--
<el-form-item label="上级字典">
<treeselect
ref="tree"
v-model="form.parentId"
:options="emisTmsDriverOptions"
:normalizer="normalizer"
:default-expand-level="1"
:show-count="true"
placeholder="选择上级"
/>
</el-form-item>
-->
</el-row>
</el-form>
<div style="text-align: center;margin-bottom: 10px;">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</div>
</template>
<script>
import { listEmisTmsDriver, getEmisTmsDriver, delEmisTmsDriver, addEmisTmsDriver, updateEmisTmsDriver } from "@/api/emis/emisTmsDriver";
export default {
name: "emisTmsDriverForm",
props:{
id:{
type:Number
}
},
components: { },
dicts: [
],
data() {
return {
emisTmsDriverOptions: [],
// 遮罩层
loading: true,
// 表单参数
form: {},
// 表单校验
rules: {
id: [
{ required: true, message: "id不能为空", trigger: "blur" }
],
delFlag: [
{ required: true, message: "删除标志(0代表存在不能为空", trigger: "blur" }
],
}
};
},
watch: {
"id": {
handler (newValue, oldValue) {
this.id = newValue;
this.initData();
},
deep: true
}
},
created() {
this.initData();
},
methods: {
initData() {
if(this.id !=null) {
this.loading = true;
getEmisTmsDriver(this.id).then(response => {
this.form = response.data;
this.loading = false;
});
}else{
this.reset();
}
// this.getTreeselect();
},
// 取消按钮
cancel() {
this.reset();
this.$emit("on-cancel");
},
// 表单重置
reset() {
this.form = {
id: null,
driverName: null,
country: null,
maritalStatus: null,
birthDate: null,
healthStatus: null,
eduBack: null,
height: null,
weight: null,
politicsStatus: null,
ownerSiteCode: null,
driverOwnerType: null,
idType: null,
idNo: null,
empNo: null,
drivingYears: null,
blStatus: null,
blMilitaryService: null,
driverPhone: null,
driverCod: null,
firstNum: null,
secondNum: null,
entryTime: null,
registerDate: null,
orderNum: null,
remark: null,
tenantId: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
createSite: null,
updateSite: null
};
this.resetForm("form");
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateEmisTmsDriver(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.$emit("on-changed");
});
} else {
addEmisTmsDriver(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.$emit("on-changed");
});
}
}
});
},
// /** 转换菜单数据结构 */
// normalizer(node) {
// if (node.children && !node.children.length) {
// delete node.children;
// }
// return {
// id: node.id,
// label: node.idName,
// children: node.children
// };
// },
// /** 查询菜单下拉树结构 */
// getTreeselect() {
// const queryParams = {}
// listEmisTmsDriver(queryParams).then(response => {
// this.emisTmsDriverOptions = [];
// const rootItem = { idId: 0, emisTmsDriverName: '-', children: [] };
// rootItem.children = this.handleTree(response.data, "id");
// this.emisTmsDriverOptions.push(rootItem);
// if(this.parentId != undefined) {
// this.form.parentId = this.parentId;
// }
// });
// },
}
};
</script>

View File

@ -0,0 +1,600 @@
<template>
<div class="app-container">
<SearchForm :model="queryParams" ref="queryForm" size="small" :maxShow="3" label-width="68px" v-show="showSearch" @search="handleQuery" @reset="resetQuery">
<el-form-item label="" prop="driverName">
<el-input
v-model="queryParams.driverName"
:placeholder="$t('司机名')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="country">
<el-input
v-model="queryParams.country"
:placeholder="$t('所属国家')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="maritalStatus">
<el-input
v-model="queryParams.maritalStatus"
:placeholder="$t('婚姻状态')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="birthDate">
<el-date-picker clearable
v-model="queryParams.birthDate"
type="date"
value-format="yyyy-MM-dd HH:mm:ss"
:placeholder="$t('生日')">
</el-date-picker>
</el-form-item>
<el-form-item label="" prop="healthStatus">
<el-input
v-model="queryParams.healthStatus"
:placeholder="$t('健康状态')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="eduBack">
<el-input
v-model="queryParams.eduBack"
:placeholder="$t('教育背景')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="height">
<el-input
v-model="queryParams.height"
:placeholder="$t('身高')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="weight">
<el-input
v-model="queryParams.weight"
:placeholder="$t('体重')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="politicsStatus">
<el-input
v-model="queryParams.politicsStatus"
:placeholder="$t('政治面貌')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="ownerSiteCode">
<el-input
v-model="queryParams.ownerSiteCode"
:placeholder="$t('所属网点')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="driverOwnerType">
<el-input
v-model="queryParams.driverOwnerType"
:placeholder="$t('司机类型')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="empNo">
<el-input
v-model="queryParams.empNo"
:placeholder="$t('工号')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="drivingYears">
<el-input
v-model="queryParams.drivingYears"
:placeholder="$t('驾龄')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="blStatus">
<el-input
v-model="queryParams.blStatus"
:placeholder="$t('是否启用1-启用')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="blMilitaryService">
<el-input
v-model="queryParams.blMilitaryService"
:placeholder="$t('是否服兵役')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="driverPhone">
<el-input
v-model="queryParams.driverPhone"
:placeholder="$t('电话号码')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="driverCod">
<el-input
v-model="queryParams.driverCod"
:placeholder="$t('从业证号')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="firstNum">
<el-input
v-model="queryParams.firstNum"
:placeholder="$t('1档票数')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="secondNum">
<el-input
v-model="queryParams.secondNum"
:placeholder="$t('2档票数')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="entryTime">
<el-date-picker clearable
v-model="queryParams.entryTime"
type="date"
value-format="yyyy-MM-dd HH:mm:ss"
:placeholder="$t('入职日期')">
</el-date-picker>
</el-form-item>
<el-form-item label="" prop="registerDate">
<el-date-picker clearable
v-model="queryParams.registerDate"
type="date"
value-format="yyyy-MM-dd HH:mm:ss"
:placeholder="$t('登记日期')">
</el-date-picker>
</el-form-item>
<el-form-item label="" prop="orderNum">
<el-input
v-model="queryParams.orderNum"
:placeholder="$t('显示顺序')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="remark">
<el-input
v-model="queryParams.remark"
:placeholder="$t('备注')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="" prop="delFlag">
<el-input
v-model="queryParams.delFlag"
:placeholder="$t('删除标志(0代表存在')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</SearchForm>
<XdTable v-loading="loading"
border stripe
size="small"
:data="emisTmsDriverList"
:showSearch.sync="showSearch"
:queryParams="queryParams"
:total="total"
@queryTable="getList"
@selection-change="handleSelectionChange"
@sort-change="handleSortChange"
>
<div slot="toolbar">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['emis:emisTmsDriver:add']"
>新增</el-button>
</el-col>
<!--
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['emis:emisTmsDriver:edit']"
>修改</el-button>
</el-col> -->
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['emis:emisTmsDriver:remove']"
>删除</el-button>
</el-col>
<!-- <el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['emis:emisTmsDriver:export']"
>导出</el-button>
</el-col> -->
</el-row>
</div>
<el-table-column type="selection" width="55" align="center" />
<!--
<el-table-column label="序号" align="center" min-width="60">
<template slot-scope="scope">
<span v-text="getIndex(scope.$index)"> </span>
</template>
</el-table-column>
<el-table-column label="xxx" align="left" prop="xxx" min-width="180">
<template slot-scope="scope">
<div class="link-type" @click="handleView(scope.row)">{{scope.row.orderSn}}</div>
</template>
</el-table-column>
<el-table-column label="结算状态" align="center" prop="settleStatus" :sort-orders="['descending','ascending']" sortable="custom" min-width="80">
<template slot-scope="scope">
<div v-if="scope.row.settleStatus == 0" style="color:red;">
<span class="el-tag el-tag--info">未结算</span>
</div>
<div v-if="scope.row.settleStatus == 10" style="color:red;">
<span class="el-tag">待确认</span>
</div>
<div v-if="scope.row.settleStatus == 11" style="color:green;">
<span class="el-tag el-tag--success el-tag--light">已确认</span>
</div>
<div v-if="scope.row.settleStatus == 20" >
<span class="el-tag el-tag--warning el-tag--light">待打款</span>
</div>
<div v-if="scope.row.settleStatus == 21" style="color:green;">
<span class="el-tag el-tag--success el-tag--light">已打款</span>
</div>
<div v-if="scope.row.settleStatus == 40" style="color:red;">
<span class="el-tag el-tag--danger">已拒绝</span>
</div>
</template>
</el-table-column>
-->
<el-table-column :label="$t('司机名')" align="center" prop="driverName" min-width="100" />
<el-table-column :label="$t('所属国家')" align="center" prop="country" min-width="100" />
<el-table-column :label="$t('婚姻状态')" align="center" prop="maritalStatus" min-width="100" />
<el-table-column :label="$t('生日')" align="center" prop="birthDate" min-width="100" />
<el-table-column :label="$t('健康状态')" align="center" prop="healthStatus" min-width="100" />
<el-table-column :label="$t('教育背景')" align="center" prop="eduBack" min-width="100" />
<el-table-column :label="$t('身高')" align="center" prop="height" min-width="100" />
<el-table-column :label="$t('体重')" align="center" prop="weight" min-width="100" />
<el-table-column :label="$t('政治面貌')" align="center" prop="politicsStatus" min-width="100" />
<el-table-column :label="$t('所属网点')" align="center" prop="ownerSiteCode" min-width="100" />
<el-table-column :label="$t('司机类型')" align="center" prop="driverOwnerType" min-width="100" />
<el-table-column :label="$t('工号')" align="center" prop="empNo" min-width="100" />
<el-table-column :label="$t('驾龄')" align="center" prop="drivingYears" min-width="100" />
<el-table-column :label="$t('是否启用1-启用')" align="center" prop="blStatus" min-width="100" />
<el-table-column :label="$t('是否服兵役')" align="center" prop="blMilitaryService" min-width="100" />
<el-table-column :label="$t('电话号码')" align="center" prop="driverPhone" min-width="100" />
<el-table-column :label="$t('从业证号')" align="center" prop="driverCod" min-width="100" />
<el-table-column :label="$t('1档票数')" align="center" prop="firstNum" min-width="100" />
<el-table-column :label="$t('2档票数')" align="center" prop="secondNum" min-width="100" />
<el-table-column :label="$t('入职日期')" align="center" prop="entryTime" min-width="100" />
<el-table-column :label="$t('登记日期')" align="center" prop="registerDate" min-width="100" />
<el-table-column :label="$t('显示顺序')" align="center" prop="orderNum" min-width="100" />
<el-table-column :label="$t('备注')" align="center" prop="remark" min-width="100" />
<el-table-column :label="$t('删除标志(0代表存在')" align="center" prop="delFlag" min-width="100" />
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['emis:emisTmsDriver:edit']"
>修改</el-button>
<!--
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['emis:emisTmsDriver:remove']"
>删除</el-button> -->
</template>
</el-table-column>
</XdTable>
<el-dialog :title="titleForm" :visible.sync="openForm" width="50%" :destroy-on-close="true" v-dialogDrag append-to-body>
<emisTmsDriverForm :id="currentId" @on-changed="handleFormChanged" @on-cancel="cancelForm"></EmisTmsDriverForm>
</el-dialog>
<!--
<el-dialog :title="titleView" :visible.sync="openView" width="60%" :close-on-click-modal="false" v-dialogDrag append-to-body>
<emisTmsDriverView :id="id" ></EmisTmsDriverView>
</el-dialog>
-->
</div>
</template>
<script>
import { listEmisTmsDriver, getEmisTmsDriver, delEmisTmsDriver, addEmisTmsDriver, updateEmisTmsDriver } from "@/api/emis/emisTmsDriver";
import elDateSimplePicker from '@/components/DatePickerAdv/elDateSimplePicker';
// import emisTmsDriverView from '@/views/emis/emisTmsDriver/emisTmsDriverView';
import emisTmsDriverForm from '@/views/emis/emisTmsDriver/emisTmsDriverForm';
export default {
name: "emisTmsDriver",
components: { elDateSimplePicker,emisTmsDriverForm },
dicts: [
],
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 创建时间搜索
dateTimeRange:[],
// 总条数
total: 0,
// 司机表格数据
emisTmsDriverList: [],
currentId:null,
openForm: false,
titleForm: "",
// 弹出展示层
id:null,
titleView:"",
openView: false,
// 更新网点时间范围
daterangeBirthDate: [],
// 更新网点时间范围
daterangeEntryTime: [],
// 更新网点时间范围
daterangeRegisterDate: [],
// 更新网点时间范围
daterangeCreateTime: [],
// 更新网点时间范围
daterangeUpdateTime: [],
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 20,
driverName: null,
country: null,
maritalStatus: null,
birthDate: null,
healthStatus: null,
eduBack: null,
height: null,
weight: null,
politicsStatus: null,
ownerSiteCode: null,
driverOwnerType: null,
empNo: null,
drivingYears: null,
blStatus: null,
blMilitaryService: null,
driverPhone: null,
driverCod: null,
firstNum: null,
secondNum: null,
entryTime: null,
registerDate: null,
orderNum: null,
remark: null,
delFlag: null,
},
};
},
created() {
this.getList();
},
methods: {
/** 查询司机列表 */
getList() {
this.loading = true;
this.queryParams.params = {};
if (null != this.daterangeBirthDate && '' != this.daterangeBirthDate) {
this.queryParams.params["beginBirthDate"] = this.daterangeBirthDate[0];
this.queryParams.params["endBirthDate"] = this.daterangeBirthDate[1];
}
if (null != this.daterangeEntryTime && '' != this.daterangeEntryTime) {
this.queryParams.params["beginEntryTime"] = this.daterangeEntryTime[0];
this.queryParams.params["endEntryTime"] = this.daterangeEntryTime[1];
}
if (null != this.daterangeRegisterDate && '' != this.daterangeRegisterDate) {
this.queryParams.params["beginRegisterDate"] = this.daterangeRegisterDate[0];
this.queryParams.params["endRegisterDate"] = this.daterangeRegisterDate[1];
}
if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) {
this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0];
this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
}
if (null != this.daterangeUpdateTime && '' != this.daterangeUpdateTime) {
this.queryParams.params["beginUpdateTime"] = this.daterangeUpdateTime[0];
this.queryParams.params["endUpdateTime"] = this.daterangeUpdateTime[1];
}
listEmisTmsDriver(this.addDateRange(this.queryParams, this.dateTimeRange)).then(response => {
this.emisTmsDriverList = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
// 排序 查询字段是表格中字段名字 动态取值排序顺序
handleSortChange(column) {
this.queryParams.orderByColumn = column.prop;
this.queryParams.isAsc = column.order;
this.getList();
},
/** 新增按钮操作 */
handleAdd(row) {
this.currentId=null;
this.openForm= true;
this.titleForm = "新增";
},
handleShowMoreInput(){
this.moreInputVisible = !this.moreInputVisible;
},
/** 修改按钮操作 */
handleUpdate(row) {
this.currentId= row.id;
this.openForm = true;
this.titleForm = "修改";
},
handleView(row) {
this.id=row.id;
this.titleView="查看";
this.openView=true;
// this.router.push({ path: '/emis/emisTmsDriver/viewDetail', query: { id: row.id }})
},
handleFormChanged(){
this.openForm = false;
this.getList();
},
cancelForm(){
this.openForm = false;
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除').then(function() {
return delEmisTmsDriver(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
// this.download('emis/emisTmsDriver/export', {
// ...this.queryParams
// }, `emisTmsDriver_${new Date().getTime()}.xlsx`)
const loadingInstance = this.$loading({
text: '正在导出...'
})
var qParam = {...this.queryParams};
qParam.pageNum=1;
qParam.pageSize=5000;
listEmisTmsDriver(this.addDateRange(qParam, this.dateTimeRange)).then(response => {
this.downloadLoading = false
if (response.code === 200) {
const curList = response.rows
import('@/vendor/Export2Excel').then(excel => {
const tHeader = ['id','司机名','所属国家','婚姻状态','生日','健康状态','教育背景','身高','体重','政治面貌','所属网点','司机类型','证件类型','证件号','工号','驾龄','是否启用1-启用','是否服兵役','电话号码','从业证号','1档票数','2档票数','入职日期','登记日期','显示顺序','备注','租户ID','删除标志(0代表存在','创建者','创建时间','更新者','更新时间','创建网点','更新网点',];
const filterVal = ['id','driverName','country','maritalStatus','birthDate','healthStatus','eduBack','height','weight','politicsStatus','ownerSiteCode','driverOwnerType','idType','idNo','empNo','drivingYears','blStatus','blMilitaryService','driverPhone','driverCod','firstNum','secondNum','entryTime','registerDate','orderNum','remark','tenantId','delFlag','createBy','createTime','updateBy','updateTime','createSite','updateSite',];
const data = this.formatJson(filterVal, curList, response.rows)
excel.export_json_to_excel({
header: tHeader,
data,
filename: '司机',
autoWidth: true
})
loadingInstance.close()
})
}
});
},
formatJson(filterVal, jsonData, resData) {
let index = 0
return jsonData.map(v => filterVal.map(j => {
if (j === 'index') {
return ++index
}
if (j === 'status') {
var statusStr='xxx'
if(v[j] == 10){
statusStr='xxx'
}
return statusStr;
}
return v[j]
}))
},
/** 列索引函数 */
getIndex($index) {
return (this.queryParams.pageNum - 1) * this.queryParams.pageSize + $index + 1
},
/** 时间搜索响应函数 */
dateTimeChange(value){
this.dateTimeRange=value;
},
}
};
</script>
<style scoped>
.el-divider{
margin-top: 0px;
background: 0 0;
border-top: 1px solid #E6EBF5;
}
.el-divider__text {
color: #0955ee;
cursor: pointer;
}
</style>