jiangping
2025-02-26 21ffb032824db3c392f63d318d36efee33326b80
admin/src/components/operation/OperCarUseBookParamWindow.vue
@@ -29,7 +29,9 @@
        </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>
@@ -186,12 +188,13 @@
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,
@@ -280,11 +283,11 @@
  //     immediate: true
  //   }
  // },
  created() {
  created () {
    this.initData()
  },
  methods: {
    open() {
    open () {
      this.title = '新建公务车用车申请'
      this.form = {
        type: 0,
@@ -295,18 +298,18 @@
      })
      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'
@@ -322,7 +325,7 @@
        }
      })
    },
    openTime() {
    openTime () {
      const { form } = this
      if (!form.carId) {
        return this.$tip.error('请先选择车辆')
@@ -337,7 +340,7 @@
        this.isShowShiwai = true
      }
    },
    changeType() {
    changeType () {
      this.$set(this.form, 'startTime', '')
      this.$set(this.form, 'endTime', '')
      this.$set(this.form, 'planUseDate', '')
@@ -345,7 +348,7 @@
        this.$refs.formRef.clearValidate()
      })
    },
    clearTime() {
    clearTime () {
      this.isShowShiwai = false
      this.$set(this.form, 'startTime', '')
      this.$set(this.form, 'endTime', '')
@@ -355,7 +358,7 @@
        }
      })
    },
    subTime() {
    subTime () {
      if (this.info && this.info.length > 0) return
      if (this.form.type === 0) {
        const selTimeList = this.timeList.filter(i => i.checked == '1')
@@ -380,7 +383,7 @@
      }
      console.log('form', this.form)
    },
    datetimeClick(item, index) {
    datetimeClick (item, index) {
      if (item.carUseBookId) {
        detail(
          item.carUseBookId
@@ -428,19 +431,19 @@
        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', '')
@@ -448,9 +451,9 @@
      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({
@@ -460,11 +463,11 @@
        }).then(res => {
          this.info = res || []
        })
      }else{
      } else {
        this.selPastDatetime = ''
      }
    },
    gettimes() {
    gettimes () {
      const { form } = this
      carCanReservationDate({
        dateDay: form.dateDay,
@@ -472,26 +475,29 @@
      }).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 || []
      })
      }) */
    }
  }
}
@@ -565,7 +571,6 @@
    border: #cccccc solid 1px;
    cursor: pointer;
  }
  .disable {
    color: #fff;