车辆管理

main
wanglei 2 years ago
parent ffa39a1168
commit 5f19642a4a

@ -1,14 +1,6 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="70px">
<el-form-item label="车主id" prop="ownerId">
<el-input
v-model="queryParams.ownerId"
placeholder="请输入车主id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="车主姓名" prop="ownerName"> <el-form-item label="车主姓名" prop="ownerName">
<el-input <el-input
v-model="queryParams.ownerName" v-model="queryParams.ownerName"
@ -17,6 +9,10 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="所属网格" prop="deptName">
<treeselect v-model="queryParams.deptId" :options="deptOptions" :disable-branch-nodes="true" style="width:215px;"
placeholder="请选择所属网格"/>
</el-form-item>
<el-form-item label="联系方式" prop="phone"> <el-form-item label="联系方式" prop="phone">
<el-input <el-input
v-model="queryParams.phone" v-model="queryParams.phone"
@ -49,38 +45,7 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="车辆照片" prop="carPicture">
<el-input
v-model="queryParams.carPicture"
placeholder="请输入车辆照片"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="部门id" prop="deptId">
<el-input
v-model="queryParams.deptId"
placeholder="请输入部门id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="所属网格" prop="deptName">
<el-input
v-model="queryParams.deptName"
placeholder="请输入所属网格"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建者ID" prop="userId">
<el-input
v-model="queryParams.userId"
placeholder="请输入创建者ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
@ -133,14 +98,18 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<el-table v-loading="loading" :data="carinfoList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="carinfoList" @selection-change="handleSelectionChange" border>
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="主键id" align="center" prop="id" /> <el-table-column label="主键id" align="center" prop="id" />
<el-table-column label="车主id" align="center" prop="ownerId" /> <el-table-column label="车主id" align="center" prop="ownerId" />
<el-table-column label="车主姓名" align="center" prop="ownerName" /> <el-table-column label="车主姓名" align="center" prop="ownerName" />
<el-table-column label="联系方式" align="center" prop="phone" /> <el-table-column label="联系方式" align="center" prop="phone" />
<el-table-column label="车牌号" align="center" prop="carNo" /> <el-table-column label="车牌号" align="center" prop="carNo" />
<el-table-column label="车类型" align="center" prop="carType" /> <el-table-column label="车类型" align="center" prop="carType" >
<template slot-scope="scope">
<dict-tag :options="dict.type.szxc_cartype" :value="scope.row.carType"/>
</template>
</el-table-column>
<el-table-column label="颜色" align="center" prop="colour" /> <el-table-column label="颜色" align="center" prop="colour" />
<el-table-column label="品牌" align="center" prop="carBand" /> <el-table-column label="品牌" align="center" prop="carBand" />
<el-table-column label="车辆照片" align="center" prop="carPicture" /> <el-table-column label="车辆照片" align="center" prop="carPicture" />
@ -167,7 +136,7 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="total>0" v-show="total>0"
:total="total" :total="total"
@ -179,11 +148,22 @@
<!-- 添加或修改车辆信息对话框 --> <!-- 添加或修改车辆信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="车主id" prop="ownerId"> <!-- <el-form-item label="车主id" prop="ownerId">
<el-input v-model="form.ownerId" placeholder="请输入车主id" /> <el-input v-model="form.ownerId" placeholder="请输入车主id" />
</el-form-item>-->
<el-form-item label="车主姓名" prop="ownerName" v-if="!form.id">
<el-input readonly
placeholder="请选择车主姓名"
v-model="form.ownerName">
<el-button slot="append" icon="el-icon-search" @click="ownerSelect"></el-button>
</el-input>
</el-form-item> </el-form-item>
<el-form-item label="车主姓名" prop="ownerName"> <!-- <el-form-item label="部门id" prop="deptId">
<el-input v-model="form.ownerName" placeholder="请输入车主姓名" /> <el-input v-model="form.deptId" placeholder="请输入部门id" />
</el-form-item>-->
<el-form-item label="所属网格" prop="deptId">
<treeselect v-model="form.deptId" :options="deptOptions" :disable-branch-nodes="true"
disabled placeholder="请选择所属网格" style="width:100%;" @select="selectedTree"/>
</el-form-item> </el-form-item>
<el-form-item label="联系方式" prop="phone"> <el-form-item label="联系方式" prop="phone">
<el-input v-model="form.phone" placeholder="请输入联系方式" /> <el-input v-model="form.phone" placeholder="请输入联系方式" />
@ -191,6 +171,21 @@
<el-form-item label="车牌号" prop="carNo"> <el-form-item label="车牌号" prop="carNo">
<el-input v-model="form.carNo" placeholder="请输入车牌号" /> <el-input v-model="form.carNo" placeholder="请输入车牌号" />
</el-form-item> </el-form-item>
<el-form-item label="车类型" prop="carType">
<el-select :disabled="form.id"
v-model="form.carType"
placeholder="车类型"
clearable
style="width:100%"
>
<el-option
v-for="dict in dict.type.szxc_cartype"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="颜色" prop="colour"> <el-form-item label="颜色" prop="colour">
<el-input v-model="form.colour" placeholder="请输入颜色" /> <el-input v-model="form.colour" placeholder="请输入颜色" />
</el-form-item> </el-form-item>
@ -200,15 +195,6 @@
<el-form-item label="车辆照片" prop="carPicture"> <el-form-item label="车辆照片" prop="carPicture">
<el-input v-model="form.carPicture" placeholder="请输入车辆照片" /> <el-input v-model="form.carPicture" placeholder="请输入车辆照片" />
</el-form-item> </el-form-item>
<el-form-item label="部门id" prop="deptId">
<el-input v-model="form.deptId" placeholder="请输入部门id" />
</el-form-item>
<el-form-item label="所属网格" prop="deptName">
<el-input v-model="form.deptName" placeholder="请输入所属网格" />
</el-form-item>
<el-form-item label="创建者ID" prop="userId">
<el-input v-model="form.userId" placeholder="请输入创建者ID" />
</el-form-item>
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" /> <el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item> </el-form-item>
@ -218,14 +204,66 @@
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog title="选择居民" :visible.sync="jmin.dialogVisible" width="1000px" append-to-body>
<el-form :model="jmin.queryParams" ref="queryForm" size="small" :inline="true" label-width="70px">
<el-form-item label="身份证号" prop="cardId">
<el-input
v-model="jmin.queryParams.cardId"
placeholder="请输入身份证号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="姓名" prop="name">
<el-input
v-model="jmin.queryParams.name"
placeholder="请输入姓名"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="jminQuery"></el-button>
</el-form-item>
</el-form>
<el-alert title="双击选择户主" type="warning" :closable="false"></el-alert>
<el-table v-loading="jmin.loading" :data="jmin.list" border @cell-dblclick="jminDblclick">
<el-table-column label="姓名" align="center" prop="name" min-width="80"/>
<el-table-column label="身份证号" align="center" prop="cardId" min-width="180"/>
<el-table-column label="所属网格" align="center" prop="deptName" min-width="100"/>
<el-table-column label="性别" align="center" prop="sex">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex"/>
</template>
</el-table-column>
<el-table-column label="籍贯" align="center" prop="jg" min-width="180"/>
<el-table-column label="手机号" align="center" prop="phone" min-width="120"/>
<el-table-column label="现居住地" align="center" prop="currentAddress" min-width="180"/>
</el-table>
<pagination
v-show="jmin.total>0"
:total="jmin.total"
:page.sync="jmin.queryParams.pageNum"
:limit.sync="jmin.queryParams.pageSize"
@pagination="getlistJminfo"
/>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { listCarinfo, getCarinfo, delCarinfo, addCarinfo, updateCarinfo } from "@/api/szxc/carinfo"; import { listCarinfo, getCarinfo, delCarinfo, addCarinfo, updateCarinfo } from "@/api/szxc/carinfo";
import { listJminfo } from "@/api/szxc/jminfo";
import { deptTreeSelect } from "@/api/system/user";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default { export default {
name: "Carinfo", name: "Carinfo",
components: { Treeselect },
dicts: ['szxc_cartype'],
data() { data() {
return { return {
// //
@ -242,6 +280,8 @@ export default {
total: 0, total: 0,
// //
carinfoList: [], carinfoList: [],
//
deptOptions: undefined,
// //
title: "", title: "",
// //
@ -279,15 +319,44 @@ export default {
{ required: true, message: "颜色不能为空", trigger: "blur" } { required: true, message: "颜色不能为空", trigger: "blur" }
], ],
deptId: [ deptId: [
{ required: true, message: "部门id不能为空", trigger: "blur" } { required: true, message: "所属网格不能为空", trigger: "blur" }
], ],
} },
//
jmin: {
dialogVisible: false,
//
loading: false,
//
total: 0,
//
queryParams:{
pageNum: 1,
pageSize: 10,
off: '0',
cardId: '',
name: ''
},
//
list: []
},
}; };
}, },
created() { created() {
this.getList(); this.getList();
this.getDeptTree();
}, },
methods: { methods: {
/** 查询组织下拉树结构 */
getDeptTree() {
deptTreeSelect().then(response => {
this.deptOptions = response.data;
});
},
selectedTree(node){
this.form.deptId = node.id;
this.form.deptName = node.label;
},
/** 查询车辆信息列表 */ /** 查询车辆信息列表 */
getList() { getList() {
this.loading = true; this.loading = true;
@ -361,6 +430,7 @@ export default {
submitForm() { submitForm() {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
this.form.carType='1'
if (this.form.id != null) { if (this.form.id != null) {
updateCarinfo(this.form).then(response => { updateCarinfo(this.form).then(response => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
@ -392,7 +462,34 @@ export default {
this.download('szxc/carinfo/export', { this.download('szxc/carinfo/export', {
...this.queryParams ...this.queryParams
}, `carinfo_${new Date().getTime()}.xlsx`) }, `carinfo_${new Date().getTime()}.xlsx`)
} },
/** 查询居民信息列表 */
getlistJminfo() {
this.jmin.loading = true;
listJminfo(this.jmin.queryParams).then(response => {
this.jmin.list = response.rows;
this.jmin.total = response.total;
this.jmin.loading = false;
});
},
//
ownerSelect(){
this.jmin.dialogVisible = true;
this.getlistJminfo()
},
//
jminQuery(){
this.jmin.queryParams.pageNum = 1;
this.getlistJminfo();
},
//
jminDblclick(row) {
this.form.ownerId = row.id;
this.form.ownerName = row.name;
this.form.deptId = row.deptId;
this.form.deptName = row.deptName;
this.jmin.dialogVisible = false
},
} }
}; };
</script> </script>

@ -303,9 +303,9 @@
<el-table-column type="selection" width="45" align="center" fixed/> <el-table-column type="selection" width="45" align="center" fixed/>
<el-table-column label="居民ID" align="center" prop="id" fixed/> <el-table-column label="居民ID" align="center" prop="id" fixed/>
<el-table-column label="人员基本信息" align="center"> <el-table-column label="人员基本信息" align="center">
<el-table-column label="姓名" align="center" prop="name" min-width="80"/> <el-table-column label="姓名" align="center" prop="name" min-width="100"/>
<el-table-column label="曾用名" align="center" prop="oldName" min-width="80"/> <el-table-column label="曾用名" align="center" prop="oldName" min-width="100"/>
<el-table-column label="国籍" align="center" prop="nationality" min-width="80"> <el-table-column label="国籍" align="center" prop="nationality" min-width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.szxc_gj" :value="scope.row.nationality"/> <dict-tag :options="dict.type.szxc_gj" :value="scope.row.nationality"/>
</template> </template>
@ -321,12 +321,12 @@
<dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex"/> <dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="籍贯" align="center" prop="jg" min-width="100"/> <el-table-column label="籍贯" align="center" prop="jg" min-width="180" show-overflow-tooltip/>
</el-table-column> </el-table-column>
<el-table-column label="户信息" align="center"> <el-table-column label="户信息" align="center">
<el-table-column label="户号" align="center" prop="acountNo" min-width="100"/> <el-table-column label="户号" align="center" prop="acountNo" min-width="120"/>
<el-table-column label="所属网格" align="center" prop="deptName" min-width="100"/> <el-table-column label="所属网格" align="center" prop="deptName" min-width="120"/>
<el-table-column label="户籍地址" align="center" prop="hjAddress" min-width="100"/> <el-table-column label="户籍地址" align="center" prop="hjAddress" min-width="120" show-overflow-tooltip/>
</el-table-column> </el-table-column>
<el-table-column label="户籍性质信息" align="center"> <el-table-column label="户籍性质信息" align="center">
<el-table-column label="户籍性质" align="center" prop="jgNature" min-width="100"> <el-table-column label="户籍性质" align="center" prop="jgNature" min-width="100">
@ -370,7 +370,7 @@
<dict-tag :options="dict.type.szxc_zjxy" :value="scope.row.zjxy"/> <dict-tag :options="dict.type.szxc_zjxy" :value="scope.row.zjxy"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="健康状况" align="center" prop="jkzk" > <el-table-column label="健康状况" align="center" prop="jkzk" min-width="120" show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.szxc_jkzk" :value="scope.row.jkzk"/> <dict-tag :options="dict.type.szxc_jkzk" :value="scope.row.jkzk"/>
</template> </template>
@ -387,14 +387,14 @@
<dict-tag :options="dict.type.szxc_off" :value="scope.row.off"/> <dict-tag :options="dict.type.szxc_off" :value="scope.row.off"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="160"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['szxc:jminfo:edit']" v-hasPermi="['szxc:jminfo:edit']"
>信息更新</el-button> >修改</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@ -402,16 +402,13 @@
@click="handleZx(scope.row)" @click="handleZx(scope.row)"
v-hasPermi="['szxc:jminfo:remove']" v-hasPermi="['szxc:jminfo:remove']"
>注销</el-button> >注销</el-button>
<el-button <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" style="margin-left: 6px">
size="mini" <el-button size="mini" type="text">更多操作</el-button>
type="text" <el-dropdown-menu slot="dropdown">
@click="handleJmtag(scope.row)" <el-dropdown-item command="handleJmtag" >人员标签</el-dropdown-item>
>人员标签</el-button> <el-dropdown-item command="handleBankInfo" >银行卡信息</el-dropdown-item>
<el-button </el-dropdown-menu>
size="mini" </el-dropdown>
type="text"
@click="handleBankInfo(scope.row)"
>银行卡信息</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -857,7 +854,7 @@
</template> </template>
<script> <script>
import { listJminfo, getJminfo, delJminfo, addJminfo, updateJminfo } from "@/api/szxc/jminfo"; import { listJminfo, getJminfo, addJminfo, updateJminfo } from "@/api/szxc/jminfo";
import { listAddress } from "@/api/szxc/address"; import { listAddress } from "@/api/szxc/address";
import { listJmtag, addAllJmtag } from "@/api/szxc/jmtag"; import { listJmtag, addAllJmtag } from "@/api/szxc/jmtag";
import { listTag } from "@/api/szxc/tag"; import { listTag } from "@/api/szxc/tag";
@ -1226,6 +1223,19 @@ export default {
...this.queryParams ...this.queryParams
}, `jminfo_${new Date().getTime()}.xlsx`) }, `jminfo_${new Date().getTime()}.xlsx`)
}, },
//
handleCommand(command, row) {
switch (command) {
case "handleJmtag":
this.handleJmtag(row);
break;
case "handleBankInfo":
this.handleBankInfo(row);
break;
default:
break;
}
},
/** 查询户主信息列表 */ /** 查询户主信息列表 */
getlistAddress() { getlistAddress() {
this.hzInfo.loading = true; this.hzInfo.loading = true;

Loading…
Cancel
Save