Commit 2911e1e0 authored by xxx's avatar xxx
parents 613ecd00 448241f2
...@@ -71,11 +71,22 @@ ...@@ -71,11 +71,22 @@
<el-form-item label="驾龄(年)" prop="age"> <el-form-item label="驾龄(年)" prop="age">
<el-input v-model="form.item.age" style="width:280px;" placeholder="请输入驾龄"/> <el-input v-model="form.item.age" style="width:280px;" placeholder="请输入驾龄"/>
</el-form-item> </el-form-item>
<el-form-item label="部门" prop="depart"> <el-form-item label="部门" prop="depart" class="is-required">
<treeselect
:multiple="false"
:options="allDepartmentData"
:load-options="loadOptions"
placeholder="请选择部门"
style="width: 280px"
@select="selectDepart"
v-model="form.item.depart"
/>
</el-form-item>
<!-- <el-form-item label="部门" prop="depart">
<el-select v-model="form.item.depart" placeholder="请选择部门" style="width:280px;"> <el-select v-model="form.item.depart" placeholder="请选择部门" style="width:280px;">
<el-option v-for="(obj,index) in allDepartmentData" :label="obj.name" :value="obj.name" :key="index"></el-option> <el-option v-for="(obj,index) in allDepartmentData" :label="obj.name" :value="obj.name" :key="index"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item> -->
<el-form-item label="岗位" prop="post"> <el-form-item label="岗位" prop="post">
<el-select v-model="form.item.post" placeholder="请选择岗位" style="width:280px;"> <el-select v-model="form.item.post" placeholder="请选择岗位" style="width:280px;">
<el-option v-for="(obj,index) in allPostData" :label="obj.name" :value="obj.name" :key="index"></el-option> <el-option v-for="(obj,index) in allPostData" :label="obj.name" :value="obj.name" :key="index"></el-option>
...@@ -104,12 +115,15 @@ ...@@ -104,12 +115,15 @@
<script> <script>
import { Tools, HttpReq, Dates} from '@/assets/js/common.js'; import { Tools, HttpReq, Dates} from '@/assets/js/common.js';
import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect'
export default { export default {
name: 'DriverManage', name: 'DriverManage',
components: {}, components: {Treeselect},
data() { data() {
return { return {
depts:"",
loading: false, loading: false,
page: 1, page: 1,
size: 10, size: 10,
...@@ -128,9 +142,44 @@ export default { ...@@ -128,9 +142,44 @@ export default {
item:{}, item:{},
}, },
rules: { rules: {
// number: [ name: [
// {required: true, message: '请输入车牌号', trigger: 'blur' } {required: true, message: '请输入姓名', trigger: 'blur' }
// ], ],
userName: [
{required: true, message: '请选择用户名', trigger: 'blur' }
],
phone: [
{
required: true,
message: '请输入手机号',
trigger: 'blur'
},
{
required: true,
pattern: /^1[3456789]\d{9}$/,
message: '手机号格式不正确',
trigger: 'blur'
}
],
age: [
{required: true, message: '请输入驾驶年龄', trigger: 'blur'},
{required: true, pattern: /^[0-9]*$/, message: '请输入数字', trigger: 'blur'},
],
depart: [
{required: true, message: '请输入部门', trigger: 'blur' }
],
post: [
{required: true, message: '请输入岗位', trigger: 'blur' }
],
company: [
{required: true, message: '请输入公司名称', trigger: 'blur' }
],
adr: [
{required: true, message: '请输入住址', trigger: 'blur' }
],
car: [
{required: true, message: '请选择驾驶的车辆', trigger: 'blur' }
]
}, },
} }
}, },
...@@ -139,11 +188,32 @@ export default { ...@@ -139,11 +188,32 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
this.loadData(); this.loadData();
}) })
}, },
methods: { methods: {
selectDepart(val){
console.log('selectDepart', val);
return this.depts = val.label
},
loadOptions({ action, parentNode, callback }) {
if (action === LOAD_CHILDREN_OPTIONS) {
HttpReq.truckDispatching.getAllDepartmentQuery({enabled: true, pid: parentNode.id}).then(response => {
let arr = [];
for(let index of response.content){
let chiledModeInfo = {} ;
chiledModeInfo.id = index.id
chiledModeInfo.label = index.name;
chiledModeInfo.children = null;
arr.push(chiledModeInfo);
}
parentNode.children = arr;
});
callback();
}
},
loadData() { loadData() {
var sort = 'id,desc'; var sort = 'id,desc';
var param = this.query; var param = this.query;
this.allDepartmentData = []
param.page = this.page - 1; param.page = this.page - 1;
param.size = this.size; param.size = this.size;
param.sort = sort; param.sort = sort;
...@@ -168,8 +238,14 @@ export default { ...@@ -168,8 +238,14 @@ export default {
this.allSystemUserNameData = res; this.allSystemUserNameData = res;
}) })
//获取用于选择的部门 //获取用于选择的部门
HttpReq.truckDispatching.getAllDepartmentQuery({size:9999}).then((res) => { HttpReq.truckDispatching.getAllDepartmentQuery({enabled: true}).then((response) => {
this.allDepartmentData = res.content; for(let index of response.content){
let modeInfo = {} ;
modeInfo.id = index.id
modeInfo.label = index.name;
modeInfo.children = null;
this.allDepartmentData.push(modeInfo);
}
}) })
//获取用于选择的岗位 //获取用于选择的岗位
HttpReq.truckDispatching.getAllPostQuery({size:9999}).then((res) => { HttpReq.truckDispatching.getAllPostQuery({size:9999}).then((res) => {
...@@ -237,14 +313,18 @@ export default { ...@@ -237,14 +313,18 @@ export default {
this.loadData() this.loadData()
}, },
submitForm(validateName, item){ submitForm(validateName, item){
let that = this
if(!this.form.status.cu){ if(!this.form.status.cu){
this.form.status.cu = 2; this.form.status.cu = 2;
this.$refs[validateName].validate(valid => { this.$refs[validateName].validate(valid => {
item.depart = that.depts
if(valid){ if(valid){
if(this.form.reqType === 'add'){ if(this.form.reqType === 'add'){
this.reqAddItem(this.form, item) this.reqAddItem(this.form, item)
//this.allDepartmentData = []
}else{ }else{
this.reqUpdateItem(this.form, item) this.reqUpdateItem(this.form, item)
//this.allDepartmentData = []
} }
}else{ }else{
this.form.status.cu = 0 this.form.status.cu = 0
...@@ -357,4 +437,8 @@ export default { ...@@ -357,4 +437,8 @@ export default {
>div{position:absolute;top:0;left:0;height:100%;width:100%;} >div{position:absolute;top:0;left:0;height:100%;width:100%;}
} }
} }
::v-deep .vue-treeselect__control,::v-deep .vue-treeselect__placeholder,::v-deep .vue-treeselect__single-value {
height: 30px;
line-height: 30px;
}
</style> </style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment