|  |  |  | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="乘车人员" prop="memberIds"> | 
|---|
|  |  |  | <el-select v-model="form.memberIds" multiple filterable placeholder="请选择"> | 
|---|
|  |  |  | <el-option v-for="item in memberList" :key="item.id" :label="item.name" :value="item.id"> | 
|---|
|  |  |  | <el-option v-for="item in memberList" | 
|---|
|  |  |  | :key="item.memberId" :value="item.memberId" | 
|---|
|  |  |  | :label="item.companyName ? `${item.realname}-${item.companyName}` : item.realname" > | 
|---|
|  |  |  | </el-option> | 
|---|
|  |  |  | </el-select> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | 
|---|
|  |  |  | import { carCanReservationDate, carUseBookCraete, carUseBookList, detail } from '@/api/business/carUseBook' | 
|---|
|  |  |  | import { findTypeMemberInfo } from '@/api/business/memberCard' | 
|---|
|  |  |  | import dayjs from 'dayjs' | 
|---|
|  |  |  | import { findAllList as userList } from '@/api/system/user' | 
|---|
|  |  |  |  | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | name: 'OperCarUseBookParamWindow', | 
|---|
|  |  |  | extends: BaseOpera, | 
|---|
|  |  |  | components: { GlobalWindow }, | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | data () { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | // 表单数据 | 
|---|
|  |  |  | isShowTime: false, | 
|---|
|  |  |  | 
|---|
|  |  |  | //     immediate: true | 
|---|
|  |  |  | //   } | 
|---|
|  |  |  | // }, | 
|---|
|  |  |  | created() { | 
|---|
|  |  |  | created () { | 
|---|
|  |  |  | this.initData() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | open() { | 
|---|
|  |  |  | open () { | 
|---|
|  |  |  | this.title = '新建公务车用车申请' | 
|---|
|  |  |  | this.form = { | 
|---|
|  |  |  | type: 0, | 
|---|
|  |  |  | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | this.visible = true | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | confirm() { | 
|---|
|  |  |  | confirm () { | 
|---|
|  |  |  | const form = JSON.parse(JSON.stringify(this.form)) | 
|---|
|  |  |  | this.$refs.formRef.validate((valid) => { | 
|---|
|  |  |  | const memberList = [] | 
|---|
|  |  |  | form.memberIds.forEach(i => { | 
|---|
|  |  |  | this.memberList.forEach(item => { | 
|---|
|  |  |  | if (i === item.id) { | 
|---|
|  |  |  | if (i === item.memberId) { | 
|---|
|  |  |  | memberList.push(item) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | form.memberNames = memberList.map(i => i.name).join(',') | 
|---|
|  |  |  | form.memberNames = memberList.map(i => i.realname).join(',') | 
|---|
|  |  |  | form.memberList = memberList | 
|---|
|  |  |  | form.memberIds = form.memberIds.join(',') | 
|---|
|  |  |  | form.startTime = form.startTime + ':00' | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | openTime() { | 
|---|
|  |  |  | openTime () { | 
|---|
|  |  |  | const { form } = this | 
|---|
|  |  |  | if (!form.carId) { | 
|---|
|  |  |  | return this.$tip.error('请先选择车辆') | 
|---|
|  |  |  | 
|---|
|  |  |  | this.isShowShiwai = true | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | changeType() { | 
|---|
|  |  |  | changeType () { | 
|---|
|  |  |  | this.$set(this.form, 'startTime', '') | 
|---|
|  |  |  | this.$set(this.form, 'endTime', '') | 
|---|
|  |  |  | this.$set(this.form, 'planUseDate', '') | 
|---|
|  |  |  | 
|---|
|  |  |  | this.$refs.formRef.clearValidate() | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | clearTime() { | 
|---|
|  |  |  | clearTime () { | 
|---|
|  |  |  | this.isShowShiwai = false | 
|---|
|  |  |  | this.$set(this.form, 'startTime', '') | 
|---|
|  |  |  | this.$set(this.form, 'endTime', '') | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | subTime() { | 
|---|
|  |  |  | subTime () { | 
|---|
|  |  |  | if (this.info && this.info.length > 0) return | 
|---|
|  |  |  | if (this.form.type === 0) { | 
|---|
|  |  |  | const selTimeList = this.timeList.filter(i => i.checked == '1') | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | console.log('form', this.form) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | datetimeClick(item, index) { | 
|---|
|  |  |  | datetimeClick (item, index) { | 
|---|
|  |  |  | if (item.carUseBookId) { | 
|---|
|  |  |  | detail( | 
|---|
|  |  |  | item.carUseBookId | 
|---|
|  |  |  | 
|---|
|  |  |  | this.selDatetime = '' | 
|---|
|  |  |  | this.selPastDatetime = '' | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | let pastList = selTimeLists.filter(i => i.pastFlag) | 
|---|
|  |  |  | if(pastList.length > 0){ | 
|---|
|  |  |  | const pastList = selTimeLists.filter(i => i.pastFlag) | 
|---|
|  |  |  | if (pastList.length > 0) { | 
|---|
|  |  |  | this.selPastDatetime = '当前选择包含已经过去时间,请确认后再提交;' | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.selPastDatetime = '' | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.selDatetime = this.form.dateDay.slice(5) + ' ' + selTimeLists[0].startHours + '-' + selTimeLists[selTimeLists.length - 1].endHours | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | seletedDate(e) { | 
|---|
|  |  |  | seletedDate (e) { | 
|---|
|  |  |  | this.gettimes() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | seletedShiwaiDate(str) { | 
|---|
|  |  |  | seletedShiwaiDate (str) { | 
|---|
|  |  |  | const { form } = this | 
|---|
|  |  |  | if (str && str == 1) { | 
|---|
|  |  |  | this.$set(this.form, 'endTime', '') | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (form.startTime && form.endTime) { | 
|---|
|  |  |  | this.selDatetime = form.startTime + ' - ' + form.endTime | 
|---|
|  |  |  | if(new Date(form.startTime).getTime() < new Date().getTime()){ | 
|---|
|  |  |  | if (new Date(form.startTime).getTime() < new Date().getTime()) { | 
|---|
|  |  |  | this.selPastDatetime = '当前选择包含已经过去时间,请确认后再提交;' | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.selPastDatetime = '' | 
|---|
|  |  |  | } | 
|---|
|  |  |  | carUseBookList({ | 
|---|
|  |  |  | 
|---|
|  |  |  | }).then(res => { | 
|---|
|  |  |  | this.info = res || [] | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | this.selPastDatetime = '' | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | gettimes() { | 
|---|
|  |  |  | gettimes () { | 
|---|
|  |  |  | const { form } = this | 
|---|
|  |  |  | carCanReservationDate({ | 
|---|
|  |  |  | dateDay: form.dateDay, | 
|---|
|  |  |  | 
|---|
|  |  |  | }).then(res => { | 
|---|
|  |  |  | this.timeList = res || [] | 
|---|
|  |  |  | this.timeList.forEach((i, j) => { | 
|---|
|  |  |  | i.pastFlag = new Date().getTime() > new Date(i.startTime).getTime() | 
|---|
|  |  |  | i.pastFlag = new Date().getTime() > new Date(i.startTime).getTime() | 
|---|
|  |  |  | i.checked = '0', | 
|---|
|  |  |  | i.index = j | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | initData() { | 
|---|
|  |  |  | initData () { | 
|---|
|  |  |  | getCarList({ | 
|---|
|  |  |  | type: 0 | 
|---|
|  |  |  | }).then(res => { | 
|---|
|  |  |  | this.carsList = res | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | findTypeMemberInfo({ | 
|---|
|  |  |  | userList({ queryParam: this.filterText, querySpecial: 1, type: 2, companyType: 1, workStatus: 0 }) | 
|---|
|  |  |  | .then(res => { | 
|---|
|  |  |  | this.memberList = res || [] | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | /* findTypeMemberInfo({ | 
|---|
|  |  |  | type: '2', | 
|---|
|  |  |  | companyType: 1, | 
|---|
|  |  |  | querySpecial: 1 | 
|---|
|  |  |  | }).then(res => { | 
|---|
|  |  |  | this.memberList = res || [] | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }) */ | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | border: #cccccc solid 1px; | 
|---|
|  |  |  | cursor: pointer; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | .disable { | 
|---|
|  |  |  | color: #fff; | 
|---|