Commit a4f44c5e authored by youjie's avatar youjie

no message

parent b3c429e2
......@@ -368,4 +368,10 @@ body
</style>
<style>
@import url("//at.alicdn.com/t/c/font_1890699_q162a9wo98a.css");
.w100{
width: 100px;
}
.w200{
width: 200px;
}
</style>
......@@ -916,6 +916,8 @@ export default {
th2: '第幾天',
th3: '用車類型',
th4: '行程信息',
th5: '操作',
th6: '删除',
},
add: '添加',
add2: '修改',
......
......@@ -17,12 +17,12 @@
<!-- <q-input dense standout v-model="search.UseCompName" class="col" :class="{'q-mr-md':$q.platform.is.desktop}" :placeholder="$t('v102.vehicle.title1')" :rules="[ val => val && val.length > 0 || ' ']" ref="guestUseCompName"/>
<q-input dense standout v-model="search.UseName" class="col" :class="{'q-mr-md':$q.platform.is.desktop}" :placeholder="$t('v102.vehicle.title2')" :rules="[ val => val && val.length > 0 || ' ']" ref="guestUseName"/> -->
<q-input dense standout v-model="search.PickUpInfo" class="col" :class="{'q-mr-md':$q.platform.is.desktop}" :placeholder="$t('v102.vehicle.title3')" :rules="[ val => val && val.length > 0 || ' ']" ref="guestPickUpInfo"/>
<q-input dense standout v-model="search.GoFlightInfo" class="col" :placeholder="$t('v102.vehicle.title4')" :rules="[ val => val && val.length > 0 || ' ']" ref="guestGoFlightInfo"/>
<q-input dense standout v-model="search.GoFlightInfo" class="col" :class="{'q-mt-sm':$q.platform.is.mobile}" :placeholder="$t('v102.vehicle.title4')" :rules="[ val => val && val.length > 0 || ' ']" ref="guestGoFlightInfo"/>
</div>
<div :class="{'row items-center':$q.platform.is.desktop,'column':$q.platform.is.mobile}">
<q-input dense standout v-model="search.BackFlightInfo" class="col" :class="{'q-mr-md':$q.platform.is.desktop}" :placeholder="$t('v102.vehicle.title5')" :rules="[ val => val && val.length > 0 || ' ']" ref="guestBackFlightInfo"/>
<q-input type="number" dense standout v-model="search.PeopleNum" class="col" :class="{'q-mr-md':$q.platform.is.desktop}" :placeholder="$t('v102.vehicle.title6')" :rules="[ val => val && val.length > 0 || ' ']" ref="guestPeopleNum"/>
<q-field :class="{'q-mr-md':$q.platform.is.desktop}" standout :model-value="search.StartDate" class="col height text-dark cursor-pointer q-pb-md" ref="guestStartDate">
<q-input dense standout v-model="search.BackFlightInfo" class="col" :class="{'q-mr-md':$q.platform.is.desktop,'q-mt-sm':$q.platform.is.mobile}" :placeholder="$t('v102.vehicle.title5')" :rules="[ val => val && val.length > 0 || ' ']" ref="guestBackFlightInfo"/>
<q-input type="number" dense standout v-model="search.PeopleNum" class="col" :class="{'q-mr-md':$q.platform.is.desktop,'q-mt-sm':$q.platform.is.mobile}" :placeholder="$t('v102.vehicle.title6')" :rules="[ val => val && val.length > 0 || ' ']" ref="guestPeopleNum"/>
<q-field :class="{'q-mr-md q-py-md':$q.platform.is.desktop,'q-pt-sm':$q.platform.is.mobile}" standout :model-value="search.StartDate" class="col height text-dark cursor-pointer" ref="guestStartDate">
<template v-slot:control>
<div class="self-center full-width no-outline" tabindex="0">
<template v-if="search.StartDate">{{search.StartDate}}</template>
......@@ -35,12 +35,12 @@
</q-date>
</q-popup-proxy>
</q-field>
<q-input type="number" dense standout v-model="search.UseDayNum" class="col" :placeholder="$t('v102.vehicle.title8')" :rules="[ val => val && val.length > 0 || ' ']" @update:model-value="checkInteger" ref="guestUseDayNum"/>
<q-input type="number" dense standout v-model="search.UseDayNum" class="col" :class="{'q-pt-sm':$q.platform.is.mobile}" :placeholder="$t('v102.vehicle.title8')" :rules="[ val => val && val.length > 0 || ' ']" @update:model-value="checkInteger" ref="guestUseDayNum"/>
</div>
<div :class="{'row items-center':$q.platform.is.desktop,'column':$q.platform.is.mobile}">
<q-input dense standout v-model="search.GuideInfo" class="col" :class="{'q-mr-md':$q.platform.is.desktop}" :placeholder="$t('v102.vehicle.title10')" :rules="[ val => val && val.length > 0 || ' ']" ref="guestGuideInfo"/>
<q-input dense standout v-model="search.TeamName" class="col" :class="{'q-mr-md':$q.platform.is.desktop}" :placeholder="$t('v102.vehicle.title11')" :rules="[ val => val && val.length > 0 || ' ']" ref="guestTeamName"/>
<q-select class="col q-pb-md" :class="{'q-mr-md':$q.platform.is.desktop}" unelevated v-model="search.BusType" dense :options="vehicletop" emit-value option-label="Name" option-value="Id" map-options :label="$t('v102.vehicle.title13')" standout ref="guestUseBusType">
<q-input dense standout v-model="search.GuideInfo" class="col" :class="{'q-mr-md':$q.platform.is.desktop,'q-pt-sm':$q.platform.is.mobile}" :placeholder="$t('v102.vehicle.title10')" :rules="[ val => val && val.length > 0 || ' ']" ref="guestGuideInfo"/>
<q-input dense standout v-model="search.TeamName" class="col" :class="{'q-mr-md':$q.platform.is.desktop,'q-pt-sm':$q.platform.is.mobile}" :placeholder="$t('v102.vehicle.title11')" :rules="[ val => val && val.length > 0 || ' ']" ref="guestTeamName"/>
<q-select class="col q-pb-md" :class="{'q-mr-md':$q.platform.is.desktop,'q-pt-sm':$q.platform.is.mobile}" unelevated v-model="search.BusType" dense :options="vehicletop" emit-value option-label="Name" option-value="Id" map-options :label="$t('v102.vehicle.title13')" standout :rules="[ val => val || '']" ref="guestUseBusType">
</q-select>
<div class="col"></div>
</div>
......@@ -50,39 +50,40 @@
<q-card class="q-pa-md q-mt-lg" flat>
<div>
<div class="text-h6 q-mb-md">{{ $t('v102.vehicle.dindanxinxi') }}</div>
<template v-if="search.details.length>0">
<div class="row items-center q-mt-md text-grey-600 q-mb-md" v-if="$q.platform.is.desktop">
<div class="col q-mr-md">{{ $t('v102.vehicle.tatle.th1') }}</div>
<div class="col q-mr-md">{{ $t('v102.vehicle.tatle.th2') }}</div>
<div class="col q-mr-md">{{ $t('v102.vehicle.tatle.th3') }}</div>
<div class="col q-mr-md">{{ $t('v102.vehicle.tatle.th4') }}</div>
<div class="col-1">操作</div>
</div>
<div v-for="(x,index) in search.details" style="border-top: 1px dashed #eee" :class="{'row items-center':$q.platform.is.desktop,'column':$q.platform.is.mobile}">
<div class="col col" :class="{'q-mr-md':$q.platform.is.desktop}">
{{x.UseDate}}
</div>
<div class="col col" :class="{'q-mr-md':$q.platform.is.desktop}">
{{x.DayNum}}
</div>
<q-select class="col" :class="{'q-mr-md':$q.platform.is.desktop}" unelevated v-model="x.UseType" dense :options="listvehicle" emit-value option-label="Name" option-value="Id" map-options :label="$t('v102.vehicle.title9')" standout ref="guestUseType">
</q-select>
<q-input dense standout v-model="x.TripInfo" class="col q-mr-md q-mt-md" :placeholder="$t('v102.CharteredBus.sjcp.c9')" :rules="[ val => val && val.length > 0 || ' ']" ref="guestTripInfo"/>
<div class="col-1">
<q-btn class="q-ml-sm" color="warning" size="sm" unelevated label="删除"/>
</div>
</div>
</template>
<div v-else class="col row justify-center items-center q-pa-md">
<span class="text-center text-grey-600 q-py-lg">{{ $t('v102.vehicle.nt') }}</span>
<q-table separator="cell" :hide-bottom="search.details.length>0?true:false" :pagination="{ rowsPerPage: 100000 }" :rows="search.details" bordered :columns="cols" class="sticky-rightrowspan-column-table light-border col no-shadow">
<template v-slot:body-cell-UseType="props">
<q-td :props="props">
<q-select unelevated v-model="props.row.UseType" dense :options="listvehicle" emit-value option-label="Name" option-value="Id" map-options :label="$t('v102.vehicle.title9')" standout :rules="[ val => val || '']" :ref="guestUseType" >
</q-select>
</q-td>
</template>
<template v-slot:body-cell-TripInfo="props">
<q-td :props="props">
<div class="overflow ellipsis w200">{{props.row.TripInfo?props.row.TripInfo:$t('v102.CharteredBus.sjcp.c9')}}</div>
<q-popup-edit v-model="props.row.TripInfo" v-slot="scope">
<q-input type="textarea" dense standout v-model="props.row.TripInfo" :placeholder="$t('v102.CharteredBus.sjcp.c9')" :rules="[ val => val && val.length > 0 || ' ']" :ref="guestTripInfo" />
</q-popup-edit>
</q-td>
</template>
<template v-slot:body-cell-operation="props">
<q-td :props="props">
<q-btn class="q-ml-sm" color="warning" size="sm" unelevated :label="$t('v102.vehicle.tatle.th6')" @click="deleteLine(props.rowindex)"/>
</q-td>
</template>
</q-table>
<div class="q-mt-lg">
<q-input v-model="search.Remark" standout autogrow :label="$t('v102.ticket.or') " />
</div>
<!-- <div class="q-mt-md">
<q-input v-model="search.Remark" standout autogrow :label="$t('v102.ticket.or') " />
</div> -->
</div>
</q-card>
<div class="q-mt-lg" v-if="!($q.screen.width<1200 || $q.platform.is.mobile)">
<div class="bg-orange-1 q-pa-md rounded-borders fz14" style="border: 1px dashed orange">
<div class="text-weight-bold">{{ $t('v102.ticket.d5') }}</div>
<div class="text-grey-700 q-mt-sm">
</div>
</div>
</div>
</div>
<div class="" :class="{'q-ml-lg':!($q.screen.width<1200 || $q.platform.is.mobile),'q-mt-lg':($q.screen.width<1200 || $q.platform.is.mobile)}">
......@@ -153,9 +154,15 @@ export default defineComponent({
const guestGuideInfo = ref(null) as any
const guestTeamName = ref(null) as any
const guestUseBusType = ref(null) as any
const guestUseType = ref(null) as any
const guestTripInfo = ref(null) as any
const refArr = ref([]);
const guestUseType = (el) => {
refArr.value.push(el);
};
const refArrB = ref([]);
const guestTripInfo = (el) => {
refArrB.value.push(el);
};
const { t } = useI18n()
let { setTitle } = useMetaModule()
......@@ -180,6 +187,7 @@ export default defineComponent({
BusType: null,//用车类型(接口返下拉列表)
GuideInfo: "",//导游信息
TeamName: "",//团队信息
Remark: "",//备注
details: [
// {
// DayNum: null,//第几天
......@@ -195,7 +203,14 @@ export default defineComponent({
dateRangeFormat: '',
h: {} as any,
scrollStyle: {} as any,
pages: ''
pages: '',
cols: [
{ name: 'UseDate', label: t('v102.vehicle.tatle.th1'), field: (row: any) => row.UseDate, align: 'left' },
{ name: 'DayNum', label: t('v102.vehicle.tatle.th2'), field: (row: any) => row.DayNum, align: 'left' },
{ name: 'UseType', label: t('v102.vehicle.tatle.th3'), field: (row: any) => row, align: 'left' },
{ name: 'TripInfo', label: t('v102.vehicle.tatle.th4'), field: (row: any) => row, align: 'left' },
{ name: 'operation', label: t('v102.vehicle.tatle.th5'), field: (row: any) => row, align: 'left' }
] as any[],
})
if (currentRouter.currentRoute && currentRouter.currentRoute.value.params.Id) {
data.search.Id = currentRouter.currentRoute.value.params.Id
......@@ -215,6 +230,11 @@ export default defineComponent({
data.search.UseName = userDetail.name//订车人
})
const methods = {
// 删除
deleteLine(index){
data.search.details.splice(index,1)
data.search.UseDayNum = data.search.details.length
},
// 获取修改详情
details() {
HotelService.VehicleDetails(data.search.Id)
......@@ -353,8 +373,29 @@ export default defineComponent({
},
// 确定
submit() {
guestPickUpInfo.value.validate()
guestGoFlightInfo.value.validate()
guestBackFlightInfo.value.validate()
guestPeopleNum.value.validate()
guestStartDate.value.validate()
guestUseDayNum.value.validate()
guestGuideInfo.value.validate()
guestTeamName.value.validate()
guestUseBusType.value.validate()
let guestRefArr = false
for(let i=0;i<data.search.details.length;i++){
refArr.value[i].validate()
refArrB.value[i].validate()
guestRefArr= !refArr.value[i].hasError&&!refArrB.value[i].hasError
}
if(!guestRefArr) return
let flag = false
flag = !guestUseCompName.value.hasError && !guestUseName.value.hasError && !guestPickUpInfo.value.hasError && !guestGoFlightInfo.value.hasError && !guestBackFlightInfo.value.hasError && !guestPeopleNum.value.hasError && !guestStartDate.value.hasError && !guestUseDayNum.value.hasError && !guestGuideInfo.value.hasError && !guestTeamName.value.hasError && !guestUseBusType.value.hasError && !guestUseType.value.hasError && !guestTripInfo.value.hasError
// !guestUseCompName.value.hasError && !guestUseName.value.hasError &&
flag = !guestPickUpInfo.value.hasError && !guestGoFlightInfo.value.hasError && !guestBackFlightInfo.value.hasError && !guestPeopleNum.value.hasError && !guestStartDate.value.hasError && !guestUseDayNum.value.hasError && !guestGuideInfo.value.hasError && !guestTeamName.value.hasError && !guestUseBusType.value.hasError
&& !guestRefArr
if(!flag) return
HotelService.vehicletripbus(data.search)
.then(r => {
......@@ -413,4 +454,13 @@ export default defineComponent({
:deep(.height.q-field--auto-height .q-field__native){
min-height: 40px !important;
}
:deep(.q-field--with-bottom){
padding-bottom: 0;
}
:deep(.scroll){
/* overflow: inherit; */
}
:deep(.q-field--dense .q-field__bottom){
display: none;
}
</style>
\ No newline at end of file
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