{"version":3,"file":"pages-xjsj-8d0834c5.js","sources":["../../../../../src/components/dealer/series-select/index.vue","../../../../../src/pages/dealer/[dealerId]/hooks/xjsj.ts","../../../../../src/pages/dealer/[dealerId]/xjsj.vue"],"sourcesContent":["\r\n\r\n\r\n","import type { FormItemRule } from 'naive-ui'\r\nimport { validatorPhone } from '@qcwp/utils'\r\nimport { useGetRouteQuery } from '~~/src/common/function/url'\r\nimport { DEALER_DETAIL_SITE_META } from '~~/src/common/site'\r\nimport { LogicAddXjSj } from '~~/src/logic/dealer/xjsj'\r\nimport { validateHandle } from '~~/src/common/function/form'\r\n\r\nimport type { DealerAddXjSjParams } from '~~/src/server/modules/car/types'\r\nimport { useDealerStore } from '~~/src/store'\r\n\r\nconst rules = {\r\n phone: [\r\n {\r\n required: true,\r\n validator: (rule: FormItemRule, value: string) => {\r\n return new Promise((resolve, reject) => {\r\n if (!value)\r\n reject(Error('请输入手机号'))\r\n if (!validatorPhone(value))\r\n reject(Error('请输入正确手机号'))\r\n else\r\n resolve()\r\n })\r\n },\r\n trigger: ['input', 'blur'],\r\n },\r\n ],\r\n}\r\n\r\nexport function useDealerXjSjBase() {\r\n const { siteMeta, changeMeta } = useSite(DEALER_DETAIL_SITE_META)\r\n const dealerStore = useDealerStore()\r\n const { title, keywords, description, dealerId } = storeToRefs(dealerStore)\r\n\r\n const brandId = useGetRouteQuery('brandId', 'string')\r\n const brandName = useGetRouteQuery('brandName', 'string')\r\n const vendorId = useGetRouteQuery('vendorId', 'string')\r\n const vendorName = useGetRouteQuery('vendorName', 'string')\r\n const seriesId = useGetRouteQuery('seriesId', 'string')\r\n const seriesName = useGetRouteQuery('seriesName', 'string')\r\n const modelId = useGetRouteQuery('modelId', 'string')\r\n const modelName = useGetRouteQuery('modelName', 'string')\r\n const type = useGetRouteQuery('type', 'string', 'xj')\r\n\r\n let stop = watch(type, () => {\r\n changeMeta({\r\n title: `${type.value === 'xj' ? '询问底价' : '预约试驾'} - ${title.value}`,\r\n description: description.value,\r\n keywords: keywords.value,\r\n })\r\n }, { immediate: true })\r\n\r\n onUnmounted(() => {\r\n stop()\r\n stop = null!\r\n })\r\n return {\r\n siteMeta,\r\n dealerId,\r\n brandId,\r\n brandName,\r\n vendorId,\r\n vendorName,\r\n seriesId,\r\n seriesName,\r\n modelId,\r\n modelName,\r\n type,\r\n }\r\n}\r\nexport function useDealerXjSjPage() {\r\n const {\r\n siteMeta,\r\n dealerId,\r\n brandId,\r\n brandName,\r\n vendorId,\r\n vendorName,\r\n seriesId,\r\n seriesName,\r\n modelId,\r\n modelName,\r\n type,\r\n } = useDealerXjSjBase()\r\n\r\n const tabValue = ref(type.value)\r\n const formRef = ref()\r\n const formValue = ref({\r\n carId: [brandId.value, vendorId.value, seriesId.value, modelId.value], // [seriesId,modelId]\r\n carBrandName: brandName.value || '',\r\n carVendorName: vendorName.value || '',\r\n carSeriesName: seriesName.value || '',\r\n carModelName: modelName.value || '',\r\n provinceId: undefined,\r\n cityId: undefined,\r\n name: '',\r\n sex: 1,\r\n phone: '',\r\n })\r\n const loading = ref(false)\r\n async function submitHandle() {\r\n if (!dealerId.value)\r\n return vantToast('经销商数据错误,请刷新后重试')\r\n try {\r\n const { isOk } = await validateHandle(formRef)\r\n if (!isOk)\r\n return\r\n loading.value = true\r\n await LogicAddXjSj(formatParams(formValue.value))\r\n }\r\n catch (error) {\r\n console.error(error)\r\n }\r\n finally {\r\n loading.value = false\r\n }\r\n }\r\n function formatParams(data: typeof formValue.value): DealerAddXjSjParams {\r\n return {\r\n carDealerId: dealerId.value,\r\n carModelNakedPrice: undefined, // 车型裸车价\r\n carBrandName: data.carBrandName || undefined,\r\n carVendorName: data.carVendorName || undefined,\r\n carSeriesName: data.carSeriesName || undefined,\r\n carModelName: data.carModelName || undefined,\r\n carBrandId: data.carId[0] || undefined,\r\n carVendorId: data.carId[1] || undefined,\r\n carSeriesId: data.carId?.[2] || undefined,\r\n carModelId: data.carId?.[3] || undefined,\r\n enquiryTestdriveType: tabValue.value === 'xj' ? '1' : '2', // 1=询价,2=试驾\r\n provinceId: data.provinceId,\r\n cityId: data.cityId,\r\n userName: data.name,\r\n userPhone: data.phone,\r\n userSex: data.sex ? String(data.sex) : undefined,\r\n link: window.location.href,\r\n }\r\n }\r\n\r\n const mediaOptions = computed<{\r\n labelWidth: number\r\n cols: number\r\n labelPlacement: 'left' | 'top'\r\n }>(() => {\r\n return useDevice().isDesktop\r\n ? { labelWidth: 80, labelPlacement: 'left', cols: 2 }\r\n : { labelWidth: 70, labelPlacement: 'top', cols: 1 }\r\n })\r\n return {\r\n siteMeta,\r\n\r\n dealerId,\r\n seriesId,\r\n modelId,\r\n type,\r\n\r\n rules,\r\n tabValue,\r\n formRef,\r\n formValue,\r\n submitHandle,\r\n\r\n mediaOptions,\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n"],"names":["selectData","seriesLoadState","serverHandler","LogicDealerSeriesAll","modelData","formatSelectModelData","state","getModel","LogicDealerModelAll","props","initHandle","promise","changeStatus","ref","seriesIdSelectId","seriesSelectIdHandle","v","clearModel","item","group","item2","emits","modelSelectId","modelSelectIdHandle","option","timeKey","stops","watch","nv","ov","onBeforeUnmount","stop","__temp","__restore","_withAsyncContext","showDialogError","error","rules","rule","value","resolve","reject","validatorPhone","useDealerXjSjBase","siteMeta","changeMeta","useSite","DEALER_DETAIL_SITE_META","dealerStore","useDealerStore","title","keywords","description","dealerId","storeToRefs","brandId","useGetRouteQuery","brandName","vendorId","vendorName","seriesId","seriesName","modelId","modelName","type","onUnmounted","useDealerXjSjPage","tabValue","formRef","formValue","loading","submitHandle","vantToast","isOk","validateHandle","LogicAddXjSj","formatParams","data","_a","_b","mediaOptions","computed","useDevice","changeSeries"],"mappings":"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"}