<template>
|
<GlobalWindow
|
:title="title"
|
width="1000px"
|
:visible.sync="visible"
|
:confirm-working="isWorking"
|
@confirm="confirm"
|
>
|
<div class="modal_wrap">
|
<el-form :model="form" ref="form" class="el_form" :rules="rules">
|
<el-form-item label="用车范围" prop="type">
|
<el-radio v-model="form.type" :label="0">室内用车</el-radio>
|
<el-radio v-model="form.type" :label="1">室外用车</el-radio>
|
</el-form-item>
|
<el-form-item label="选择车辆" prop="carId">
|
<el-select v-model="form.carId" placeholder="选择车辆">
|
<el-option
|
v-for="item in carsList"
|
:key="item.carId"
|
:label="item.carCode"
|
:value="item.carId"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="用车时间" prop="sortnum">
|
<div></div>
|
<div class="sel_btn" @click="openTime">选择时间</div>
|
</el-form-item>
|
<el-form-item label="预计出发时间" prop="sortnum">
|
<el-date-picker
|
v-model="form.a"
|
type="datetime"
|
placeholder="选择日期时间"
|
>
|
</el-date-picker>
|
</el-form-item>
|
<el-form-item label="目的地" prop="sortnum">
|
<el-input v-model="form.addr" placeholder="请输入内容"></el-input>
|
</el-form-item>
|
<el-form-item label="乘车人员" prop="sortnum"> </el-form-item>
|
<el-form-item label="用车事由" prop="sortnum">
|
<el-input
|
v-model="form.content"
|
type="textarea"
|
placeholder="请输入"
|
:rows="4"
|
></el-input>
|
</el-form-item>
|
</el-form>
|
<div class="tip_wrap">111</div>
|
</div>
|
|
<el-dialog
|
title="选择用车时间"
|
:visible.sync="isShowTime"
|
append-to-body
|
width="600px"
|
>
|
<el-form :model="form" ref="form" class="el_form" :rules="rules">
|
<el-form-item label="用车日期" prop="dateDay">
|
<el-date-picker
|
v-model="form.dateDay"
|
value-format="yyyy-MM-dd"
|
type="date"
|
placeholder="选择日期"
|
@change="seletedDate"
|
>
|
</el-date-picker>
|
</el-form-item>
|
<el-form-item label="用车时间" prop="dateDay">
|
<div>
|
<div class="time_list">
|
<div
|
class="item"
|
:class="{
|
disable: item.isUse == 1,
|
active: item.checked == '1',
|
}"
|
@click="datetimeClick(item, i)"
|
v-for="(item, i) in timeList"
|
:key="i"
|
>{{ item.startHours }}-{{ item.endHours }}</div
|
>
|
</div>
|
</div>
|
</el-form-item>
|
</el-form>
|
</el-dialog>
|
</GlobalWindow>
|
</template>
|
|
<script>
|
import BaseOpera from '@/components/base/BaseOpera'
|
import GlobalWindow from '@/components/common/GlobalWindow'
|
import { allList } from '@/api/business/member'
|
import { allList as getCarList } from '@/api/business/cars'
|
import { carCanReservationDate } from '@/api/business/carUseBook'
|
export default {
|
name: 'OperCarUseBookParamWindow',
|
extends: BaseOpera,
|
components: { GlobalWindow },
|
data () {
|
return {
|
// 表单数据
|
isShowTime: false,
|
|
memberList: [],
|
timeList: [],
|
carsList: [],
|
form: {
|
type: 0
|
},
|
// 验证规则
|
rules: {
|
name: [
|
{ required: true, message: '请输入名称' }
|
]
|
}
|
}
|
},
|
created () {
|
this.initData()
|
},
|
methods: {
|
open () {
|
this.title = '新建公务车用车申请'
|
this.visible = true
|
},
|
openTime () {
|
const { form } = this
|
if(!form.carId){
|
this.$tip.warning('请先选择车辆')
|
}
|
this.isShowTime = true
|
},
|
seletedDate (e) {
|
console.log(e)
|
const item = e.value[0]
|
this.$set(this.param, 'carCode', item.code)
|
this.$set(this.param, 'carId', item.id)
|
if (this.param.carId && this.param.queryDate) {
|
this.gettimes()
|
}
|
this.isShowCar = false
|
},
|
gettimes () {
|
const { param } = this
|
carCanReservationDate({
|
dateDay: param.queryDate,
|
carId: param.carId
|
}).then(res => {
|
if (res.code === 200) {
|
this.timeList = res.data || []
|
this.timeList.forEach((i, j) => {
|
i.checked = '0',
|
i.index = j
|
})
|
}
|
})
|
},
|
initData () {
|
getCarList({
|
type: 1
|
}).then(res => {
|
this.carsList = res.data || []
|
})
|
}
|
}
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
.modal_wrap {
|
display: flex;
|
.el_form {
|
flex: 1;
|
.sel_btn {
|
width: 100%;
|
height: 32px;
|
border-radius: 4px;
|
border: 1px solid #dcdfe6;
|
margin-top: 32px;
|
text-align: right;
|
color: #999999;
|
padding-right: 12px;
|
box-sizing: border-box;
|
cursor: pointer;
|
}
|
}
|
.tip_wrap {
|
width: 460px;
|
margin-left: 30px;
|
}
|
}
|
</style>
|