| | |
| | | import { useRoute, useRouter } from 'vue-router' |
| | | import { getPricingDetail, setPricing } from '@/service/api/transaction' |
| | | import TableModal from './components/TableModal.vue' |
| | | import { handleInputNumberKeyDown } from '@/utils/common' |
| | | |
| | | const { bool: loading, setTrue: startLoading, setFalse: endLoading } = useBoolean(false) |
| | | |
| | |
| | | |
| | | const formRef = ref() |
| | | const modalRef = ref() |
| | | import { handleInputNumberKeyDown } from '@/utils/common' |
| | | |
| | | |
| | | const initialModel: any = { |
| | | isDynamicPrice: 0, |
| | |
| | | <template> |
| | | <div class="w-full h-full relative content"> |
| | | <div class="main"> |
| | | <div class="box py-16px! title mb-12px flex items-center justify-between" v-if="type === 'view'"> |
| | | <div v-if="type === 'view'" class="box py-16px! title mb-12px flex items-center justify-between"> |
| | | <span>定价详情</span> |
| | | <NButton v-permission="6025" secondary type="primary" @click="modalRef.openModal('edit', id)"> |
| | | 编辑 |
| | | </NButton> |
| | | </div> |
| | | <div v-if="type === 'add'"> |
| | | <n-form ref="formRef" :model="model" label-placement="left" inline :show-feedback="false" |
| | | require-mark-placement="left" class="w-full"> |
| | | <n-form |
| | | ref="formRef" :model="model" label-placement="left" inline :show-feedback="false" |
| | | require-mark-placement="left" class="w-full" |
| | | > |
| | | <n-spin :show="loading" class="w-full"> |
| | | <NSpace vertical :size="12"> |
| | | <div class="box p-y16px!"> |
| | | <n-grid :cols="3" :x-gap="18"> |
| | | <n-grid-item> |
| | | <div class="flex items-center mb-16px"> |
| | | <div class="label">适用城市:</div> |
| | | <div class="value">{{ detail?.cityName || '-' }}</div> |
| | | <div class="label"> |
| | | 适用城市: |
| | | </div> |
| | | <div class="value"> |
| | | {{ detail?.cityName || '-' }} |
| | | </div> |
| | | </div> |
| | | </n-grid-item> |
| | | <n-grid-item> |
| | | <div class="flex items-center mb-16px"> |
| | | <div class="label">车型:</div> |
| | | <div class="value">{{ detail?.vehicleModel || '-' }}</div> |
| | | <div class="label"> |
| | | 车型: |
| | | </div> |
| | | <div class="value"> |
| | | {{ detail?.vehicleModel || '-' }} |
| | | </div> |
| | | </div> |
| | | </n-grid-item> |
| | | <n-grid-item> |
| | | <div class="flex items-center mb-16px"> |
| | | <div class="label">渠道:</div> |
| | | <div class="value">{{ detail?.channel || '-' }}</div> |
| | | <div class="label"> |
| | | 渠道: |
| | | </div> |
| | | <div class="value"> |
| | | {{ detail?.channel || '-' }} |
| | | </div> |
| | | </div> |
| | | </n-grid-item> |
| | | </n-grid> |
| | | <div class="line"></div> |
| | | <div class="line" /> |
| | | <!-- 一口价 --> |
| | | <!-- 基础定价 --> |
| | | <NSpace v-if="category === '2'" vertical :size="16"> |
| | |
| | | <div> |
| | | <n-form-item label="起步价设置:" path="num1" required> |
| | | 起步价为 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson2.num1" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="mx-2 w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson2.num1" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="mx-2 w-115px" |
| | | /> |
| | | 元,起步价包含 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson2.num2" min="0" max="999" :precision="0" |
| | | :show-button="false" placeholder="最多3位数" class="mx-2 w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson2.num2" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="0" |
| | | :show-button="false" placeholder="最多3位数" class="mx-2 w-115px" |
| | | /> |
| | | 公里, |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson2.num3" min="0" max="999" :precision="0" |
| | | :show-button="false" placeholder="最多3位数" class="mr-2 w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson2.num3" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="0" |
| | | :show-button="false" placeholder="最多3位数" class="mr-2 w-115px" |
| | | /> |
| | | 分钟 |
| | | </n-form-item> |
| | | </div> |
| | | <div> |
| | | <n-form-item label="里程费设置:" path="num4" required> |
| | | 超过起步里程后每公里 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson2.num4" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="mx-2 w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson2.num4" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="mx-2 w-115px" |
| | | /> |
| | | 元 |
| | | </n-form-item> |
| | | </div> |
| | | <div> |
| | | <n-form-item label="时长费设置:" path="num5" required> |
| | | 超过起步时长后每分钟 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson2.num5" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="mx-2 w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson2.num5" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="mx-2 w-115px" |
| | | /> |
| | | 元 |
| | | </n-form-item> |
| | | </div> |
| | |
| | | <div class="head"> |
| | | 基础定价 |
| | | </div> |
| | | <div v-for="(item, index) in model.startingFareJson" :key="index"> |
| | | <div v-for="(item, index) in model.startingFareJson" :key="index" class="mb-16px"> |
| | | <NSpace vertical :size="16" :style="Number(index) > 0 ? { marginTop: '24px' } : ''"> |
| | | <n-form-item label="时段:" path="item.num1" required> |
| | | <n-time-picker v-model:formatted-value="item.num1" format="HH:mm" value-format="HH:mm" clearable |
| | | class="mr-2 w-115px" placeholder="开始时间" />至 |
| | | <n-time-picker v-model:formatted-value="item.num2" format="HH:mm" value-format="HH:mm" clearable |
| | | class="mx-2 w-115px" placeholder="结束时间" /> |
| | | <icon-park-outline-delete @click="removeTimePeriod(item)" class="cursor-pointer" /> |
| | | <n-time-picker |
| | | v-model:formatted-value="item.num1" format="HH:mm" value-format="HH:mm" clearable |
| | | class="mr-2 w-115px" placeholder="开始时间" |
| | | />至 |
| | | <n-time-picker |
| | | v-model:formatted-value="item.num2" format="HH:mm" value-format="HH:mm" clearable |
| | | class="mx-2 w-115px" placeholder="结束时间" |
| | | /> |
| | | <icon-park-outline-delete class="cursor-pointer" @click="removeTimePeriod(item)" /> |
| | | </n-form-item> |
| | | <div> |
| | | <n-form-item label="起步价设置:" path="item.num3" required> |
| | | 起步价为 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="item.num3" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="mx-2 w-115px" /> |
| | | <n-input-number |
| | | v-model:value="item.num3" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="mx-2 w-115px" |
| | | /> |
| | | 元,起步价包含 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="item.num4" min="0" max="999" :precision="0" |
| | | :show-button="false" placeholder="最多3位数" class="mx-2 w-115px" /> |
| | | <n-input-number |
| | | v-model:value="item.num4" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="0" |
| | | :show-button="false" placeholder="最多3位数" class="mx-2 w-115px" |
| | | /> |
| | | 公里, |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="item.num5" min="0" max="999" :precision="0" |
| | | :show-button="false" placeholder="最多3位数" class="mx-2 w-115px" /> |
| | | <n-input-number |
| | | v-model:value="item.num5" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="0" |
| | | :show-button="false" placeholder="最多3位数" class="mx-2 w-115px" |
| | | /> |
| | | 分钟 |
| | | </n-form-item> |
| | | </div> |
| | | <div> |
| | | <n-form-item label="里程费设置:" path="item.num6" required> |
| | | 超过起步里程后每公里 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="item.num6" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="mx-2 w-115px" /> |
| | | <n-input-number |
| | | v-model:value="item.num6" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="mx-2 w-115px" |
| | | /> |
| | | 元 |
| | | </n-form-item> |
| | | </div> |
| | | <div> |
| | | <n-form-item label="时长费设置:" path="item.num7" required> |
| | | 超过起步时长后每分钟 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="item.num7" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="mx-2 w-115px" /> |
| | | <n-input-number |
| | | v-model:value="item.num7" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="mx-2 w-115px" |
| | | /> |
| | | 元 |
| | | </n-form-item> |
| | | </div> |
| | | </NSpace> |
| | | </div> |
| | | <NButton type="primary" class="w-240px! mt-16px" secondary @click="addTimePeriod"> |
| | | <NButton type="primary" class="w-240px!" secondary @click="addTimePeriod"> |
| | | <template #icon> |
| | | <img src="@/assets/pricingManagement/add.svg" class="w-16px h-16px" /> |
| | | <img src="@/assets/pricingManagement/add.svg" class="w-16px h-16px"> |
| | | </template> |
| | | 添加时段 |
| | | </NButton> |
| | | |
| | | </div> |
| | | </div> |
| | | <div class="box" v-if="category === '1'"> |
| | | <div v-if="category === '1'" class="box"> |
| | | <div class="head"> |
| | | 特殊价格 |
| | | </div> |
| | | <div> |
| | | <div class="flex items-center mb-12px text-14px font-600"> |
| | | <img src="@/assets/pricingManagement/wait.svg" class="w-16px h-16px mr-8px" /> |
| | | <img src="@/assets/pricingManagement/wait.svg" class="w-16px h-16px mr-8px"> |
| | | 等待费设置 |
| | | </div> |
| | | <n-form-item label="" path="basicPricingJson1.num4"> |
| | | 司机到达预约地点 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num4" min="0" max="999" :precision="0" |
| | | :show-button="false" placeholder="最多3位数" class="mx-2 w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num4" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="0" |
| | | :show-button="false" placeholder="最多3位数" class="mx-2 w-115px" |
| | | /> |
| | | 分钟后开始收取等待费,为 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num5" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="mx-2 w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num5" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="mx-2 w-115px" |
| | | /> |
| | | 元/分,不足一分钟按一分钟计算 |
| | | </n-form-item> |
| | | </div> |
| | | <div> |
| | | <div class="flex items-center mb-12px text-14px font-600 mt-32px"> |
| | | <img src="@/assets/pricingManagement/long.svg" class="w-16px h-16px mr-8px" /> |
| | | <img src="@/assets/pricingManagement/long.svg" class="w-16px h-16px mr-8px"> |
| | | 远途费设置 |
| | | </div> |
| | | <n-form-item label="" path="basicPricingJson1.num6"> |
| | | <NSpace vertical :size="16"> |
| | | <NSpace align="center" :size="[8,16]"> |
| | | <NSpace align="center" :size="[8, 16]"> |
| | | 总里程超过起步包含公里数时,公里不足 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num7" min="0" max="999" :precision="0" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num7" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="0" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" |
| | | /> |
| | | 公里,超出部分每公里加收 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num8" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num8" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" |
| | | /> |
| | | 元 |
| | | </NSpace> |
| | | <NSpace align="center" :size="[8,16]"> |
| | | <NSpace align="center" :size="[8, 16]"> |
| | | 超过 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num9" min="0" max="999" :precision="0" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" disabled /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num9" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="0" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" disabled |
| | | /> |
| | | 不足 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num10" min="0" max="999" :precision="0" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num10" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="0" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" |
| | | /> |
| | | 公里时,超出部分每公里加收 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num11" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num11" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" |
| | | /> |
| | | 元 |
| | | </NSpace> |
| | | <NSpace align="center" :size="[8,16]"> |
| | | <NSpace align="center" :size="[8, 16]"> |
| | | 超过 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num12" min="0" max="999" :precision="0" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" disabled /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num12" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="0" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" disabled |
| | | /> |
| | | 公里以后,超出部分每公里加收 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num13" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num13" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" |
| | | /> |
| | | 元 |
| | | </NSpace> |
| | | </NSpace> |
| | |
| | | </div> |
| | | <div> |
| | | <div class="flex items-center mb-12px text-14px font-600 mt-32px"> |
| | | <img src="@/assets/pricingManagement/night.svg" class="w-16px h-16px mr-8px" /> |
| | | <img src="@/assets/pricingManagement/night.svg" class="w-16px h-16px mr-8px"> |
| | | 夜间行驶费用设置 |
| | | </div> |
| | | <n-form-item label="" path="basicPricingJson1.num14"> |
| | | <NSpace vertical :size="16"> |
| | | <NSpace align="center" :size="[8,16]"> |
| | | <n-time-picker v-model:formatted-value="model.basicPricingJson1.num14" format="HH:mm" |
| | | value-format="HH:mm" clearable class="w-115px" />至 |
| | | <n-time-picker v-model:formatted-value="model.basicPricingJson1.num141" format="HH:mm" |
| | | value-format="HH:mm" clearable class="w-115px" /> |
| | | <NSpace align="center" :size="[8, 16]"> |
| | | <n-time-picker |
| | | v-model:formatted-value="model.basicPricingJson1.num14" format="HH:mm" |
| | | value-format="HH:mm" clearable class="w-115px" |
| | | />至 |
| | | <n-time-picker |
| | | v-model:formatted-value="model.basicPricingJson1.num141" format="HH:mm" |
| | | value-format="HH:mm" clearable class="w-115px" |
| | | /> |
| | | 点为夜间行车时间,起步价变为 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num15" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num15" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" |
| | | /> |
| | | 元 |
| | | </NSpace> |
| | | <NSpace align="center" :size="[8,16]"> |
| | | <NSpace align="center" :size="[8, 16]"> |
| | | 里程费为每公里 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num16" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num16" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" |
| | | /> |
| | | 元,时长费为每 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num17" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num17" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" |
| | | /> |
| | | 元 |
| | | </NSpace> |
| | | <NSpace align="center" :size="[8,16]"> |
| | | <NSpace align="center" :size="[8, 16]"> |
| | | 远途费为每公里加收 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num18" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" /> |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num19" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" /> |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num20" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num18" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" |
| | | /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num19" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" |
| | | /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num20" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" |
| | | /> |
| | | 元 |
| | | </NSpace> |
| | | </NSpace> |
| | |
| | | </div> |
| | | <div> |
| | | <div class="flex items-center mb-12px text-14px font-600 mt-32px"> |
| | | <img src="@/assets/pricingManagement/peakhours.svg" class="w-16px h-16px mr-8px" /> |
| | | <img src="@/assets/pricingManagement/peakhours.svg" class="w-16px h-16px mr-8px"> |
| | | 高峰期费用设置 |
| | | </div> |
| | | <n-form-item label="" path="basicPricingJson1.num21"> |
| | | <NSpace vertical :size="16"> |
| | | <NSpace align="center" :size="[8,16]"> |
| | | <n-time-picker v-model:formatted-value="model.basicPricingJson1.num21" format="HH:mm" |
| | | value-format="HH:mm" clearable class="w-115px" />至 |
| | | <n-time-picker v-model:formatted-value="model.basicPricingJson1.num211" format="HH:mm" |
| | | value-format="HH:mm" clearable class="w-115px" /> |
| | | <NSpace align="center" :size="[8, 16]"> |
| | | <n-time-picker |
| | | v-model:formatted-value="model.basicPricingJson1.num21" format="HH:mm" |
| | | value-format="HH:mm" clearable class="w-115px" |
| | | />至 |
| | | <n-time-picker |
| | | v-model:formatted-value="model.basicPricingJson1.num211" format="HH:mm" |
| | | value-format="HH:mm" clearable class="w-115px" |
| | | /> |
| | | 和 |
| | | <n-time-picker v-model:formatted-value="model.basicPricingJson1.num22" format="HH:mm" |
| | | value-format="HH:mm" clearable class="w-115px" />至 |
| | | <n-time-picker v-model:formatted-value="model.basicPricingJson1.num221" format="HH:mm" |
| | | value-format="HH:mm" clearable class="w-115px" /> |
| | | <n-time-picker |
| | | v-model:formatted-value="model.basicPricingJson1.num22" format="HH:mm" |
| | | value-format="HH:mm" clearable class="w-115px" |
| | | />至 |
| | | <n-time-picker |
| | | v-model:formatted-value="model.basicPricingJson1.num221" format="HH:mm" |
| | | value-format="HH:mm" clearable class="w-115px" |
| | | /> |
| | | 为高峰期行车时间,起步价变为 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num23" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num23" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" |
| | | /> |
| | | 元 |
| | | </NSpace> |
| | | <NSpace align="center" :size="[8,16]"> |
| | | <NSpace align="center" :size="[8, 16]"> |
| | | 里程费为每公里 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num24" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num24" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" |
| | | /> |
| | | 元,时长费为每 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num25" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num25" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" |
| | | /> |
| | | 元 |
| | | </NSpace> |
| | | <NSpace align="center" :size="[8,16]"> |
| | | <NSpace align="center" :size="[8, 16]"> |
| | | 远途费为每公里加收 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num26" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" /> |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num27" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" /> |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num28" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num26" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" |
| | | /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num27" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" |
| | | /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num28" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" |
| | | /> |
| | | 元 |
| | | </NSpace> |
| | | </NSpace> |
| | | </n-form-item> |
| | | </div> |
| | | <div> |
| | | <div class="flex items-center mb-12px text-14px font-600 mt-32px"> |
| | | <img src="@/assets/pricingManagement/holidays.svg" class="w-16px h-16px mr-8px" /> |
| | | <div class="flex items-center mb-12px text-14px font-600 mt-32px"> |
| | | <img src="@/assets/pricingManagement/holidays.svg" class="w-16px h-16px mr-8px"> |
| | | 节假日额外收费 |
| | | </div> |
| | | <n-form-item label="" path="basicPricingJson1.num29"> |
| | | <NSpace vertical :size="16"> |
| | | <NSpace align="center" :size="[8,16]"> |
| | | <NSpace align="center" :size="[8, 16]"> |
| | | 节假日起步价变为 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num29" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num29" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" |
| | | /> |
| | | 元 |
| | | </NSpace> |
| | | <NSpace align="center" :size="[8,16]"> |
| | | <NSpace align="center" :size="[8, 16]"> |
| | | 里程费为每公里 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num30" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num30" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" |
| | | /> |
| | | 元,时长费为每 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num31" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num31" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" |
| | | /> |
| | | 元 |
| | | </NSpace> |
| | | <NSpace align="center" :size="[8,16]"> |
| | | <NSpace align="center" :size="[8, 16]"> |
| | | 远途费为每公里加收 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num32" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" /> |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num33" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" /> |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.basicPricingJson1.num34" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num32" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" |
| | | /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num33" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" |
| | | /> |
| | | <n-input-number |
| | | v-model:value="model.basicPricingJson1.num34" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" max="999" :precision="2" |
| | | :show-button="false" placeholder="最多3位数" class="w-115px" |
| | | /> |
| | | 元 |
| | | </NSpace> |
| | | </NSpace> |
| | |
| | | </div> |
| | | <div class="mb-16px flex"> |
| | | <n-form-item label="供需计算周期:" path="dynamicPricingJson.num1" label-style="color:rgba(23, 31, 38, 0.8)"> |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.dynamicPricingJson.num1" min="0" :precision="0" |
| | | :show-button="false" class="mx-2 w-115px" />分钟 |
| | | <n-input-number |
| | | v-model:value="model.dynamicPricingJson.num1" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" :precision="0" |
| | | :show-button="false" class="mx-2 w-115px" |
| | | />分钟 |
| | | </n-form-item> |
| | | <n-form-item label="订单需求阈值:" path="dynamicPricingJson.num2" label-style="color:rgba(23, 31, 38, 0.8)"> |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.dynamicPricingJson.num2" min="0" :precision="0" |
| | | :show-button="false" class="mx-2 w-115px" />单以上开始上浮 |
| | | <n-input-number |
| | | v-model:value="model.dynamicPricingJson.num2" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" :precision="0" |
| | | :show-button="false" class="mx-2 w-115px" |
| | | />单以上开始上浮 |
| | | </n-form-item> |
| | | <n-form-item label="车辆供给阈值:" path="dynamicPricingJson.num3" label-style="color:rgba(23, 31, 38, 0.8)"> |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.dynamicPricingJson.num3" min="0" :precision="0" |
| | | :show-button="false" class="mx-2 w-115px" />辆以下开始触发上浮 |
| | | <n-input-number |
| | | v-model:value="model.dynamicPricingJson.num3" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" :precision="0" |
| | | :show-button="false" class="mx-2 w-115px" |
| | | />辆以下开始触发上浮 |
| | | </n-form-item> |
| | | </div> |
| | | <div class="mb-16px flex"> |
| | | <n-form-item label="供需价格系数:" path="dynamicPricingJson.num4" label-style="color:rgba(23, 31, 38, 0.8)"> |
| | | 每增加 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.dynamicPricingJson.num4" min="0" :precision="0" |
| | | :show-button="false" class="mx-2 w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.dynamicPricingJson.num4" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" :precision="0" |
| | | :show-button="false" class="mx-2 w-115px" |
| | | /> |
| | | 单,价格上浮 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.dynamicPricingJson.num5" min="0" :precision="0" |
| | | :show-button="false" class="mx-2 w-115px" max="100" />% |
| | | <n-input-number |
| | | v-model:value="model.dynamicPricingJson.num5" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" :precision="0" |
| | | :show-button="false" class="mx-2 w-115px" max="100" |
| | | />% |
| | | </n-form-item> |
| | | </div> |
| | | <div class="mb-32px flex"> |
| | | <n-form-item label="供需冷却时间:" path="dynamicPricingJson.num6" label-style="color:rgba(23, 31, 38, 0.8)"> |
| | | 调价后 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.dynamicPricingJson.num6" min="0" :precision="0" |
| | | :show-button="false" class="mx-2 w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.dynamicPricingJson.num6" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" :precision="0" |
| | | :show-button="false" class="mx-2 w-115px" |
| | | /> |
| | | 分钟内不再重复调整 |
| | | </n-form-item> |
| | | </div> |
| | |
| | | <div class="mb-16px flex"> |
| | | <n-form-item label="拥堵判断阈值:" path="dynamicPricingJson.num7" label-style="color:rgba(23, 31, 38, 0.8)"> |
| | | 道路速度 |
| | | < <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.dynamicPricingJson.num7" min="0" :precision="0" |
| | | :show-button="false" class="mx-2 w-115px" /> |
| | | < <n-input-number |
| | | v-model:value="model.dynamicPricingJson.num7" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" :precision="0" |
| | | :show-button="false" class="mx-2 w-115px" |
| | | /> |
| | | km/h视为拥堵,拥堵价格上浮比例: |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.dynamicPricingJson.num8" min="0" :precision="0" |
| | | :show-button="false" class="mx-2 w-115px" max="100" />% |
| | | <n-input-number |
| | | v-model:value="model.dynamicPricingJson.num8" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" :precision="0" |
| | | :show-button="false" class="mx-2 w-115px" max="100" |
| | | />% |
| | | </n-form-item> |
| | | </div> |
| | | <div> |
| | | <n-form-item label="拥堵影响半径:" path="dynamicPricingJson.num9" label-style="color:rgba(23, 31, 38, 0.8)"> |
| | | 以订单起点为中心 |
| | | <n-input-number :input-props="{ onKeydown: handleInputNumberKeyDown }" v-model:value="model.dynamicPricingJson.num9" min="0" :precision="0" |
| | | :show-button="false" class="mx-2 w-115px" /> |
| | | <n-input-number |
| | | v-model:value="model.dynamicPricingJson.num9" :input-props="{ onKeydown: handleInputNumberKeyDown }" min="0" :precision="0" |
| | | :show-button="false" class="mx-2 w-115px" |
| | | /> |
| | | m范围内 |
| | | </n-form-item> |
| | | </div> |
| | |
| | | </n-form> |
| | | </div> |
| | | <div v-else> |
| | | <n-form ref="formRef" :model="model" label-placement="left" inline :show-feedback="false" |
| | | require-mark-placement="left"> |
| | | <n-form |
| | | ref="formRef" :model="model" label-placement="left" inline :show-feedback="false" |
| | | require-mark-placement="left" |
| | | > |
| | | <n-spin :show="loading" class="w-full"> |
| | | <NSpace vertical :size="12"> |
| | | <div class="box p-24px!"> |
| | | <n-grid :cols="3" :x-gap="18"> |
| | | <n-grid-item> |
| | | <div class="flex items-center mb-16px"> |
| | | <div class="label">适用城市:</div> |
| | | <div class="value">{{ detail?.cityName || '-' }}</div> |
| | | <div class="label"> |
| | | 适用城市: |
| | | </div> |
| | | <div class="value"> |
| | | {{ detail?.cityName || '-' }} |
| | | </div> |
| | | </div> |
| | | </n-grid-item> |
| | | <n-grid-item> |
| | | <div class="flex items-center mb-16px"> |
| | | <div class="label">车型:</div> |
| | | <div class="value">{{ detail?.vehicleModel || '-' }}</div> |
| | | <div class="label"> |
| | | 车型: |
| | | </div> |
| | | <div class="value"> |
| | | {{ detail?.vehicleModel || '-' }} |
| | | </div> |
| | | </div> |
| | | </n-grid-item> |
| | | <n-grid-item> |
| | | <div class="flex items-center mb-16px"> |
| | | <div class="label">渠道:</div> |
| | | <div class="value">{{ detail?.channel || '-' }}</div> |
| | | <div class="label"> |
| | | 渠道: |
| | | </div> |
| | | <div class="value"> |
| | | {{ detail?.channel || '-' }} |
| | | </div> |
| | | </div> |
| | | </n-grid-item> |
| | | <n-grid-item> |
| | | <div class="flex items-center mb-16px"> |
| | | <div class="label">计费规则:</div> |
| | | <div class="value">{{ detail?.pricingType === 1 ? '动态计费' : '一口价' }}</div> |
| | | <div class="label"> |
| | | 计费规则: |
| | | </div> |
| | | <div class="value"> |
| | | {{ detail?.pricingType === 1 ? '动态计费' : '一口价' }} |
| | | </div> |
| | | </div> |
| | | </n-grid-item> |
| | | <n-grid-item> |
| | | <div class="flex items-center mb-16px"> |
| | | <div class="label">说明:</div> |
| | | <div class="value">{{ detail?.remark || '-' }}</div> |
| | | <div class="label"> |
| | | 说明: |
| | | </div> |
| | | <div class="value"> |
| | | {{ detail?.remark || '-' }} |
| | | </div> |
| | | </div> |
| | | </n-grid-item> |
| | | </n-grid> |
| | | <div class="line"></div> |
| | | <div class="line" /> |
| | | <!-- 一口价 --> |
| | | <!-- 基础定价 --> |
| | | <div v-if="category === '2'"> |
| | |
| | | <n-grid :cols="3" :x-gap="18"> |
| | | <n-grid-item> |
| | | <div class="flex mb-16px"> |
| | | <div class="label">起步价设置:</div> |
| | | <div class="value">起步价为 {{ model.basicPricingJson2.num1 }} 元,起步包含 {{ |
| | | model.basicPricingJson2.num2 }} 公里,最多 |
| | | {{ model.basicPricingJson2.num3 }} 分钟</div> |
| | | <div class="label"> |
| | | 起步价设置: |
| | | </div> |
| | | <div class="value"> |
| | | 起步价为 {{ model.basicPricingJson2.num1 }} 元,起步包含 {{ |
| | | model.basicPricingJson2.num2 }} 公里,最多 |
| | | {{ model.basicPricingJson2.num3 }} 分钟 |
| | | </div> |
| | | </div> |
| | | </n-grid-item> |
| | | <n-grid-item> |
| | | <div class="flex mb-16px"> |
| | | <div class="label">里程费设置:</div> |
| | | <div class="value">超过起步里程后每公里 {{ model.basicPricingJson2.num4 }} 元</div> |
| | | <div class="label"> |
| | | 里程费设置: |
| | | </div> |
| | | <div class="value"> |
| | | 超过起步里程后每公里 {{ model.basicPricingJson2.num4 }} 元 |
| | | </div> |
| | | </div> |
| | | </n-grid-item> |
| | | <n-grid-item> |
| | | <div class="flex mb-16px"> |
| | | <div class="label">时长费设置:</div> |
| | | <div class="value">超过起步时长后每分钟 {{ model.basicPricingJson2.num5 }} 元</div> |
| | | <div class="label"> |
| | | 时长费设置: |
| | | </div> |
| | | <div class="value"> |
| | | 超过起步时长后每分钟 {{ model.basicPricingJson2.num5 }} 元 |
| | | </div> |
| | | </div> |
| | | </n-grid-item> |
| | | </n-grid> |
| | |
| | | <n-grid :cols="3" :x-gap="18" :y-gap="16"> |
| | | <n-grid-item :span="3"> |
| | | <div class="flex"> |
| | | <div class="label">时段:</div> |
| | | <div class="value">{{ item.num1 }}~{{ item.num2 }}</div> |
| | | <div class="label"> |
| | | 时段: |
| | | </div> |
| | | <div class="value"> |
| | | {{ item.num1 }}~{{ item.num2 }} |
| | | </div> |
| | | </div> |
| | | </n-grid-item> |
| | | <n-grid-item> |
| | | <div class="flex"> |
| | | <div class="label">起步价设置:</div> |
| | | <div class="value">起步价为 {{ item.num3 }} 元,起步包含 {{ item.num4 }} 公里,最多 {{ item.num5 }} 分钟</div> |
| | | <div class="label"> |
| | | 起步价设置: |
| | | </div> |
| | | <div class="value"> |
| | | 起步价为 {{ item.num3 }} 元,起步包含 {{ item.num4 }} 公里,最多 {{ item.num5 }} 分钟 |
| | | </div> |
| | | </div> |
| | | </n-grid-item> |
| | | <n-grid-item> |
| | | <div class="flex"> |
| | | <div class="label">里程费设置:</div> |
| | | <div class="value">超过起步里程后每公里 {{ item.num6 }} 元</div> |
| | | <div class="label"> |
| | | 里程费设置: |
| | | </div> |
| | | <div class="value"> |
| | | 超过起步里程后每公里 {{ item.num6 }} 元 |
| | | </div> |
| | | </div> |
| | | </n-grid-item> |
| | | <n-grid-item> |
| | | <div class="flex"> |
| | | <div class="label">时长费设置:</div> |
| | | <div class="value">超过起步时长后每分钟 {{ item.num7 }} 元</div> |
| | | <div class="label"> |
| | | 时长费设置: |
| | | </div> |
| | | <div class="value"> |
| | | 超过起步时长后每分钟 {{ item.num7 }} 元 |
| | | </div> |
| | | </div> |
| | | </n-grid-item> |
| | | </n-grid> |
| | | <div class="line mt-16px"></div> |
| | | <div class="line mt-16px" /> |
| | | </div> |
| | | <n-grid :cols="3" :x-gap="18" :y-gap="16"> |
| | | <n-grid-item :span="2"> |
| | | <div class="flex"> |
| | | <div class="label">等待费设置:</div> |
| | | <div class="value">司机到达预约地点 {{ model.basicPricingJson1.num4 }} 分钟开始收取等待费,为 {{ |
| | | model.basicPricingJson1.num5 }} |
| | | 元/分,不足一分钟按一分钟计算</div> |
| | | <div class="label"> |
| | | 等待费设置: |
| | | </div> |
| | | <div class="value"> |
| | | 司机到达预约地点 {{ model.basicPricingJson1.num4 }} 分钟开始收取等待费,为 {{ |
| | | model.basicPricingJson1.num5 }} |
| | | 元/分,不足一分钟按一分钟计算 |
| | | </div> |
| | | </div> |
| | | <div class="flex mt-16px"> |
| | | <div class="label">远途费设置:</div> |
| | | <div class="label"> |
| | | 远途费设置: |
| | | </div> |
| | | <div class="value"> |
| | | <NSpace align="center"> |
| | | 总里程超过起步包含公里数时,公里不足 {{ model.basicPricingJson1.num7 }} 公里,超出部分每公里加收 {{ |
| | |
| | | </div> |
| | | </div> |
| | | <div class="flex mt-16px"> |
| | | <div class="label">高峰期费用设置:</div> |
| | | <div class="label"> |
| | | 高峰期费用设置: |
| | | </div> |
| | | <div class="value"> |
| | | <NSpace align="center"> |
| | | {{ model.basicPricingJson1.num21 }}~{{ model.basicPricingJson1.num211 }} 和 {{ |
| | |
| | | </n-grid-item> |
| | | <n-grid-item> |
| | | <div class="flex"> |
| | | <div class="label">夜间行驶费用设置:</div> |
| | | <div class="label"> |
| | | 夜间行驶费用设置: |
| | | </div> |
| | | <div class="value"> |
| | | <NSpace align="center"> |
| | | {{ model.basicPricingJson1.num14 }}~{{ model.basicPricingJson1.num141 }} 点为夜间行车时间,起步价变为 {{ |
| | |
| | | </div> |
| | | </div> |
| | | <div class="flex mt-16px"> |
| | | <div class="label">节假日额外收费:</div> |
| | | <div class="label"> |
| | | 节假日额外收费: |
| | | </div> |
| | | <div class="value"> |
| | | <NSpace align="center"> |
| | | 节假日起步价变为 {{ model.basicPricingJson1.num29 }} 元 |
| | |
| | | 动态定价 |
| | | </div> |
| | | <div class="flex mb-16px"> |
| | | <div class="label">是否开启动态调价:</div> |
| | | <div class="value">{{ model.isDynamicPrice === 1 ? '是' : '否' }}</div> |
| | | <div class="label"> |
| | | 是否开启动态调价: |
| | | </div> |
| | | <div class="value"> |
| | | {{ model.isDynamicPrice === 1 ? '是' : '否' }} |
| | | </div> |
| | | </div> |
| | | <div class="flex mb-16px"> |
| | | <div class="label">供需关系调价规则:</div> |
| | | <div class="label"> |
| | | 供需关系调价规则: |
| | | </div> |
| | | <div class="value"> |
| | | <div> |
| | | 供需计算周期 {{ model.dynamicPricingJson.num1 }} 分钟, 订单需求阈值为 {{ model.dynamicPricingJson.num2 }} |
| | |
| | | </div> |
| | | </div> |
| | | <div class="flex mb-16px"> |
| | | <div class="label">区域拥堵调价规则(根据实时路况自动调整价格):</div> |
| | | <div class="label"> |
| | | 区域拥堵调价规则(根据实时路况自动调整价格): |
| | | </div> |
| | | <div class="value"> |
| | | <div> |
| | | 拥堵判断阈值:道路速度 < {{ model.dynamicPricingJson.num7 }} km/h视为拥堵,拥堵价格上浮比例:{{ |
| | | model.dynamicPricingJson.num8 }} |
| | | %</div> |
| | | % |
| | | </div> |
| | | <div> |
| | | 拥堵影响半径:以订单起点为中心 {{ model.dynamicPricingJson.num9 }} m 范围内的车辆均受影响 |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | <!-- 计费规则说明 --> |
| | | <div class="box px-24px!"> |
| | |
| | | </n-form> |
| | | </div> |
| | | </div> |
| | | <div class="footer" v-if="type === 'add'"> |
| | | <div v-if="type === 'add'" class="footer"> |
| | | <NSpace justify="end" :size="8"> |
| | | <NButton @click="handleCancel" class="w-84px"> |
| | | <NButton class="w-84px" @click="handleCancel"> |
| | | 取消 |
| | | </NButton> |
| | | <NButton v-permission="6051" type='primary' @click="handleSubmit" class="w-84px"> |
| | | <NButton v-permission="6051" type="primary" class="w-84px" @click="handleSubmit"> |
| | | 保存 |
| | | </NButton> |
| | | </NSpace> |