Merge remote-tracking branch 'origin/dev' into dev

dev
WenShiJun 2024-03-08 18:06:25 +08:00
commit a1c8e248d6
16 changed files with 2365 additions and 127 deletions

View File

@ -0,0 +1,45 @@
import {
getAssignedVehicleModel, getAssignedWay,
getAssignedVehicle, getAssignedVehicleType, getOperationVehicleList
} from "@/request/assigned_manage.js";
import { ref } from "vue";
import { getLevels } from "@/request/data_dictionary.js";
export const layoutFnGetAssignedType = async () => { // 过户类型
const resData = await getLevels({
DICTIONARIES_ID: "0000ad963949823e8c9501bab16001aa",
});
return ref(resData.list);
};
export const layoutFnGetAssignedWay = async () => { // 过户方式
const resData = await getAssignedWay({
DICTIONARIES_ID: "0000ad9639498275391501bab16001aa",
});
return ref(resData.list);
};
export const layoutFnGetAssignedVehicleModel = async () => { // 过户车型
const resData = await getAssignedVehicleModel({
DICTIONARIES_ID: "78452f4ec77e4d98ae8cdd9c3386ae0c",
});
return ref(resData.list);
};
export const layoutFnGetAssignedVehicle = async () => { // 过户车型
const resData = await getAssignedVehicle({
DICTIONARIES_ID: "0000ad963951053e8c9501bab16001aa",
});
return ref(resData.list);
};
export const layoutFnGetAssignedVehicleType = async () => { // 过户车型
const resData = await getAssignedVehicleType({
DICTIONARIES_ID: "08411f2b259a45681512dfad07c4f11a",
});
return ref(resData.list);
};
export const layoutFnGetOperationVehicleList = async () => {
const resData = await getOperationVehicleList({
});
return ref(resData.list);
};

View File

@ -0,0 +1,57 @@
import {
getExpireStatus, getRemindStatus, getTaxesPeriod, getTrailerList, getTrailerVehicle, getTransportEnterprises,
getVehicleType, getTaxationList
} from "@/request/taxation_manage.js";
import { ref } from "vue";
export const layoutFnGetExpireStatus = async () => {
const resData = await getExpireStatus({
DICTIONARIES_ID: "0000aeffdabfccos952559772f5b9fd4",
});
return ref(resData.list);
};
export const layoutFnGetRemindStatus = async () => {
const resData = await getRemindStatus({
DICTIONARIES_ID: "0000aeffdabfccos952559772f5b3421",
});
return ref(resData.list);
};
export const layoutFnGetTrailerList = async () => {
const resData = await getTrailerList({
});
return ref(resData.list);
};
export const layoutFnGetTaxationList = async () => {
const resData = await getTaxationList({
});
return ref(resData.list);
};
export const layoutFnGetTransportEnterprises = async () => {
const resData = await getTransportEnterprises({
DICTIONARIES_ID: "0000aeffdabfccos952559772f5b3777",
});
return ref(resData.list);
};
export const layoutFnGetTrailerVehicle = async () => {
const resData = await getTrailerVehicle({
DICTIONARIES_ID: "0000aeffdabfccos952559772f5b3xe1",
});
return ref(resData.list);
};
export const layoutFnGetTaxesPeriod = async () => {
const resData = await getTaxesPeriod({
DICTIONARIES_ID: "0000aeffdabfccos952559772f5b3xe3",
});
return ref(resData.list);
};
export const layoutFnGetVehicleType = async () => { // 获取车辆类型
const resData = await getVehicleType({
DICTIONARIES_ID: "08411f2b259a45681512dfad07c4f11a",
});
return ref(resData.list);
};

View File

@ -360,3 +360,60 @@ export function idCardGetDateAndGender(idCard) {
}
return { sex, date };
}
/**
* 截止时间为 用户选择的月数或者是年数累加起始时间
* 要解决的问题 :
* 1.如在2020年2月29号签约签约时间为1年那么截止时间就只能返回2021年2月28号
* 2.如在2020年1月31号签约签约时间为1个月那么截止时间就只能返回2020年2月29号
* @param {*} date 要累加的时间
* @param {*} num 累加多少个月 1年就是12个月
*/
export function timeTransformation(date,num) {
date = new Date(date)
let day = date.getDate();
let month = date.getMonth();
let year = date.getFullYear();
year = year + parseInt((month + num) / 12);
month = (month + num) % 12;
// 0-11 转变为 1-12
month += 1;
const maxDayCount = new Date(year,month,0).getDate();
if(day > maxDayCount)day = maxDayCount
if(month < 10 )(month = '0' + month)
if(day < 10)(day = '0' + day)
return year + '-' + month + '-' + day
}
/**
* 提醒日期计算
* @param {*} date 到期日期
* @param {*} daysToSubtract 提醒天数
*/
export function subtractDaysFromDate(date, daysToSubtract) {
let newDate = new Date(); // 创建当前时间对象
if (typeof date === 'string') {
// 将字符串类型的日期转换成 Date 对象
newDate.setTime(new Date(date).getTime());
} else if (Object.prototype.toString.call(date) === "[object Date]") {
// 直接传入了 Date 对象
newDate = date;
} else {
console.log("无效的输入参数")
}
newDate.setDate(newDate.getDate() - daysToSubtract); // 在原有基础上减去指定天数
const formatDateToString = (dateObj) => {
const year = dateObj.getFullYear().toString();
let month = (dateObj.getMonth() + 1).toString();
let day = dateObj.getDate().toString();
if (month.length < 2) {
month = "0" + month;
}
if (day.length < 2) {
day = "0" + day;
}
return [year, month, day].join("-");
}
return formatDateToString(newDate); // 返回新日期的字符串表示形式
}

View File

@ -0,0 +1,57 @@
import { post, upload } from "@/request/axios.js";
import { ref } from "vue";
import { getLevelsByParentId } from "@/request/data_dictionary.js";
export const getAssignedType = (params) =>
post("/dictionaries/getLevels", { // 获取过户类型
loading: false,
...params,
});
export const layoutFnGetAssignedType = async () => {
const resData = await getLevelsByParentId({
parentId: "0000ad963949823e8c9501bab16001aa",
});
return ref(resData);
};
export const getAssignedWay = (params) =>
post("/dictionaries/getLevels", { // 获取过户方式
loading: false,
...params,
});
export const getAssignedVehicleType = (params) =>
post("/dictionaries/getLevels", { // 获取过户车辆类型
loading: false,
...params,
});
export const getAssignedVehicleModel = (params) =>
post("/dictionaries/getAssignedVehicleModel", { // 获取过户车辆车型
loading: false,
...params,
});
export const getAssignedVehicle = (params) =>
post("/dictionaries/getAssignedVehicle", { // 获取过户车辆
loading: false,
...params,
});
export const getAssignedList = (params) =>
post("/assignedmanage/list", params); // 过户管理列表
export const setAssignedManageAdd = (params) =>
upload("/assignedmanage/add", params); // 过户管理添加
export const setAssignedManageEdit = (params) =>
upload("/assignedmanage/goEdit", params); // 过户管理修改
export const findByIdAssignedManageInfo = (params) =>
post("/assignedmanage/goEdit", params); // 查看过户信息
export const setAssignedManageDelete = (params) =>
post("/assignedmanage/delete", params); // 获取查看
export const getOperationVehicleList = (params) =>
upload("/operatingvehicles/operationvehicleList", params); // 获取所有车船税

View File

@ -1,13 +1,13 @@
import { post, upload } from "@/request/axios.js";
export const getVehicleColor = (params) =>
post("/dictionaries/getVehicleColor", {
post("/dictionaries/getVehicleColor", { // 获取车辆颜色
loading: false,
...params,
});
export const getTransportationEnterprise = (params) =>
post("/dictionaries/getTransportationEnterprise", {
post("/dictionaries/getTransportationEnterprise", { // 获取运输企业
loading: false,
...params,
});
@ -18,73 +18,74 @@ export const getMobileUnit = (params) =>
});
export const getNetworkStatus = (params) =>
post("/dictionaries/getNetworkStatus", {
post("/dictionaries/getNetworkStatus", { // 获取网络状态
loading: false,
...params,
});
export const getDynamicSupervision = (params) =>
post("/dictionaries/getDynamicSupervision", {
post("/dictionaries/getDynamicSupervision", { // 获取动态监管
loading: false,
...params,
});
export const getActiveSafety = (params) =>
post("/dictionaries/getActiveSafety", {
post("/dictionaries/getActiveSafety", { // 获取主动安全
loading: false,
...params,
});
export const getLicenseStatus = (params) =>
post("/dictionaries/getLicenseStatus", {
post("/dictionaries/getLicenseStatus", { // 获取行驶证状态
loading: false,
...params,
});
export const getTransportCategory = (params) =>
post("/dictionaries/getTransportCategory", {
post("/dictionaries/getTransportCategory", { // 获取运输类别
loading: false,
...params,
});
export const getBelongingDepartment = (params) =>
post("/dictionaries/getBelongingDepartment", {
post("/dictionaries/getBelongingDepartment", { // 获取归属部门
loading: false,
...params,
});
export const getVehicleType = (params) =>
post("/dictionaries/getVehicleType", {
post("/dictionaries/getVehicleType", { // 获取车辆类型
loading: false,
...params,
});
export const getFnGetFuelType = (params) =>
post("/dictionaries/getFnGetFuelType", {
post("/dictionaries/getFnGetFuelType", { // 获取燃料类型
loading: false,
...params,
});
export const getEmissionStandard = (params) =>
post("/dictionaries/getEmissionStandard", {
post("/dictionaries/getEmissionStandard", { // 获取排放标准
loading: false,
...params,
});
export const getOperationVehicleList = (params) =>
post("/operatingvehicles/list", params); // 运营车辆列表export const getOperationVehicleList = (params) =>
export const getOperationList = (params) =>
post("/operatingvehicles/list", params); // 运营车辆列表
export const setOperationVehicleDelete = (params) =>
post("/operatingvehicles/delete", params); // 运营车辆列表export const getOperationVehicleList = (params) =>
post("/operatingvehicles/delete", params); // 删除运营车辆信息
export const addOperatingVehicleInfo = (params) =>
upload("/operatingvehicles/add", params); // 资料课件维护添加
upload("/operatingvehicles/add", params); // 添加运营车辆信息
export const findByIdOperatingVehicleInfo = (params) =>
post("/operatingvehicles/goEdit", params); // 新增运营车辆
post("/operatingvehicles/goEdit", params); // 根据Id获取运营车辆信息
export const editOperatingVehicleInfo = (params) =>
upload("/operatingvehicles/edit", params); // 修改运营车辆

View File

@ -0,0 +1,58 @@
import { post, upload } from "@/request/axios.js";
export const getTaxationManageList = (params) =>
post("/taxationmanage/list", params); // 运营车辆列表export const getOperationVehicleList = (params) =>
export const setTaxatonManageDelete = (params) =>
post("/taxationmanage/delete", params); // 删除车船税管理export const getOperationVehicleList = (params) =>
export const getExpireStatus = (params) =>
post("/dictionaries/getExpireStatus", {
loading: false,
...params,
});
export const getRemindStatus = (params) =>
post("/dictionaries/getRemindStatus", {
loading: false,
...params,
});
export const getTransportEnterprises = (params) =>
post("/dictionaries/getTransportEnterprises", {
loading: false,
...params,
});
export const findByIdTaxationManageInfo = (params) =>
post("/taxationmanage/goEdit", {
loading: false,
...params,
});
export const getTrailerVehicle = (params) =>
post("/dictionaries/getTrailerVehicle", {
loading: false,
...params,
});
export const getTaxesPeriod = (params) =>
post("/dictionaries/getTaxesPeriod", {
loading: false,
...params,
});
export const getVehicleType = (params) =>
post("/dictionaries/getVehicleType", {
loading: false,
...params,
});
export const setTaxationManageAdd = (params) =>
upload("/taxationmanage/add", params); // 新增车船税管理
export const editTaxationManageInfo = (params) =>
upload("/taxationmanage/edit", params); // 修改车船税管理
export const getTrailerList = (params) =>
upload("/freightTrailer/vehicleList", params); // 获取所有挂车
export const getTaxationList = (params) =>
upload("/taxationmanage/taxationList", params); // 获取所有车船税

View File

@ -1,26 +1,25 @@
<template>
<layout-card>
<el-divider content-position="left">基本信息</el-divider>
<el-form
ref="formRef"
:model="data.form"
:rules="rules"
label-width="100px"
>
<el-form ref="formRef" :model="form" :rules="rules" label-width="100px">
<el-row :gutter="20">
<el-col :span="24">
<el-divider content-position="left">基本信息</el-divider>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="编号" prop="GOODSSELFNUMBER">
<el-input v-model="data.form.GOODSSELFNUMBER" placeholder="请填写编号" />
<el-input v-model="form.GOODSSELFNUMBER" placeholder="请填写编号" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item prop="PLATE_NUMBER" label="车牌号">
<el-input v-model = "data.form.PLATE_NUMBER" placeholder = "请填写车牌号"></el-input>
<el-input v-model = "form.PLATE_NUMBER" placeholder = "请填写车牌号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="车辆颜色" prop="VEHICLE_COLOR">
<el-select v-model="data.form.VEHICLE_COLOR">
<el-select v-model="form.VEHICLE_COLOR">
<el-option
v-for="item in getVehicleColorList"
:key="item.BIANMA"
@ -32,22 +31,22 @@
</el-col>
<el-col :span="6">
<el-form-item label="车架号" prop="FRAMES_NUMBER">
<el-input v-model="data.form.FRAMES_NUMBER" placeholder="请填写车架号"></el-input>
<el-input v-model="form.FRAMES_NUMBER" placeholder="请填写车架号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="发动机号" prop="ENGINE_NUMBER">
<el-input v-model="data.form.ENGINE_NUMBER" placeholder="请填写发动机号"></el-input>
<el-input v-model="form.ENGINE_NUMBER" placeholder="请填写发动机号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="营运证号" prop="OPERATING_CERTIFICATE">
<el-input v-model="data.form.OPERATING_CERTIFICATE" placeholder="请填写营运证号"></el-input>
<el-input v-model="form.OPERATING_CERTIFICATE" placeholder="请填写营运证号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="运输类别" prop="TRANSPORT_TYPE">
<el-select v-model="data.form.TRANSPORT_TYPE">
<el-select v-model="form.TRANSPORT_TYPE">
<el-option
v-for="item in getTransportCategoryList"
:key="item.BIANMA"
@ -59,7 +58,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="归属部门" prop="BELONGING_DEPARTMENT">
<el-select v-model="data.form.BELONGING_DEPARTMENT">
<el-select v-model="form.BELONGING_DEPARTMENT">
<el-option
v-for="item in getBelongingDepartment"
:key="item.BIANMA"
@ -71,7 +70,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="车辆类型" prop="VEHICLE_TYPE">
<el-select v-model="data.form.VEHICLE_TYPE">
<el-select v-model="form.VEHICLE_TYPE">
<el-option
v-for="item in getVehicleTypeList"
:key="item.BIANMA"
@ -83,43 +82,43 @@
</el-col>
<el-col :span="6">
<el-form-item label="车主/业主" prop="VEHICLEOWNER">
<el-input v-model="data.form.VEHICLEOWNER" placeholder="请填写车主/业主"></el-input>
<el-input v-model="form.VEHICLEOWNER" placeholder="请填写车主/业主"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="车主电话" prop="VEHICLEOWNER_NUMBER">
<el-input v-model="data.form.VEHICLEOWNER_NUMBER" placeholder="请填写车主电话"></el-input>
<el-input v-model="form.VEHICLEOWNER_NUMBER" placeholder="请填写车主电话"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="车主住址" prop="VEHICLEOWNER_ADDRESS">
<el-input v-model="data.form.VEHICLEOWNER_ADDRESS" placeholder="请填写车主住址"></el-input>
<el-input v-model="form.VEHICLEOWNER_ADDRESS" placeholder="请填写车主住址"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="联系人" prop="CONTACT">
<el-input v-model="data.form.CONTACT" placeholder="请填写联系人"></el-input>
<el-input v-model="form.CONTACT" placeholder="请填写联系人"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="联系电话" prop="CONTACT_NUMBER">
<el-input v-model="data.form.CONTACT_NUMBER" placeholder="请填写联系电话"></el-input>
<el-input v-model="form.CONTACT_NUMBER" placeholder="请填写联系电话"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="家庭住址" prop="HOME_ADDRESS">
<el-input v-model="data.form.HOME_ADDRESS" placeholder="请输入家庭住址"></el-input>
<el-input v-model="form.HOME_ADDRESS" placeholder="请输入家庭住址"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="实际住址" prop="PHYSICAL_ADDRESS">
<el-input v-model="data.form.PHYSICAL_ADDRESS" placeholder="请输入实际住址"></el-input>
<el-input v-model="form.PHYSICAL_ADDRESS" placeholder="请输入实际住址"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="初登日期" prop="FIRSTSHOW_DATE">
<el-date-picker
v-model="data.form.FIRSTSHOW_DATE"
v-model="form.FIRSTSHOW_DATE"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
@ -130,7 +129,7 @@
<el-col :span="6">
<el-form-item label="发证日期" prop="CERTIFICATE_DATE">
<el-date-picker
v-model="data.form.CERTIFICATE_DATE"
v-model="form.CERTIFICATE_DATE"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
@ -141,7 +140,7 @@
<el-col :span="6">
<el-form-item label="到期日期" prop="EXPIRE_DATE">
<el-date-picker
v-model="data.form.EXPIRE_DATE"
v-model="form.EXPIRE_DATE"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
@ -151,7 +150,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="车载设备" prop="VEHICLE_EQUIPMENT">
<el-select v-model="data.form.VEHICLE_EQUIPMENT">
<el-select v-model="form.VEHICLE_EQUIPMENT">
<el-option
v-for="item in getMobileUnitList"
:key="item.BIANMA"
@ -164,17 +163,17 @@
<el-divider content-position="left">详细信息</el-divider>
<el-col :span="6">
<el-form-item label="车辆品牌" prop="VEHICLE_BRAND">
<el-input v-model="data.form.VEHICLE_BRAND" placeholder="请填写车辆品牌"></el-input>
<el-input v-model="form.VEHICLE_BRAND" placeholder="请填写车辆品牌"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="车辆型号" prop="VEHICLE_MODEL">
<el-input v-model="data.form.VEHICLE_MODEL" placeholder="请填写车辆型号"></el-input>
<el-input v-model="form.VEHICLE_MODEL" placeholder="请填写车辆型号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="燃料类型" prop="FUEL_TYPE">
<el-select v-model="data.form.FUEL_TYPE">
<el-select v-model="form.FUEL_TYPE">
<el-option
v-for="item in getFuelTypeList"
:key="item.BIANMA"
@ -186,7 +185,7 @@
</el-col>
<el-col :span="6">
<el-form-item label="排放标准" prop="EMISSION_STANDARD">
<el-select v-model="data.form.EMISSION_STANDARD">
<el-select v-model="form.EMISSION_STANDARD">
<el-option
v-for="item in getEmissionStandardList"
:key="item.BIANMA"
@ -198,28 +197,28 @@
</el-col>
<el-col :span="6">
<el-form-item label="核定总质量" prop="VOUCH_TOTALMASS">
<el-input v-model="data.form.VOUCH_TOTALMASS" placeholder="请填写核定总质量"></el-input>
<el-input v-model="form.VOUCH_TOTALMASS" placeholder="请填写核定总质量"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="核定载人数" prop="VOUCH_NUMBERLOAD">
<el-input v-model="data.form.VOUCH_NUMBERLOAD" placeholder="请填写核定载人数"></el-input>
<el-input v-model="form.VOUCH_NUMBERLOAD" placeholder="请填写核定载人数"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="核定载质量" prop="VOUCH_PAYLOAD">
<el-input v-model="data.form.VOUCH_PAYLOAD" placeholder="请填写核定载质量"></el-input>
<el-input v-model="form.VOUCH_PAYLOAD" placeholder="请填写核定载质量"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="准牵引质量" prop="RACTIONMASS_QUALITY">
<el-input v-model="data.form.RACTIONMASS_QUALITY" placeholder="请填写准牵引质量"></el-input>
<el-input v-model="form.RACTIONMASS_QUALITY" placeholder="请填写准牵引质量"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="REMARK">
<el-input
v-model="data.form.REMARK"
v-model="form.REMARK"
placeholder="请填写备注"
type="textarea"
:autosize="{ minRows: 3 }"
@ -230,34 +229,37 @@
<el-col :span="7">
<el-form-item label="车头图片" prop="HEADSTOCK_PHOTO">
<layout-upload
v-model:file-list="data.form.HEADSTOCK_PHOTO"
v-model:file-list="form.HEADSTOCK_PHOTO"
list-type="picture-card"
accept=".jpg,.jpeg,.png"
delete-to-server
/>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="行驶证照片" prop="DRIVINGLICENSE_PHOTO">
<layout-upload
v-model:file-list="data.form.DRIVINGLICENSE_PHOTO"
v-model:file-list="form.DRIVINGLICENSE_PHOTO"
list-type="picture-card"
accept=".jpg,.jpeg,.png"
delete-to-server
/>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item label="营运证照片" prop="OPERATING_CERTIFICATE_PHOTO">
<layout-upload
v-model:file-list="data.form.OPERATING_CERTIFICATE_PHOTO"
v-model:file-list="form.OPERATING_CERTIFICATE_PHOTO"
list-type="picture-card"
accept=".jpg,.jpeg,.png"
delete-to-server
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="车辆资料" prop="VEHICLE_MATERIAL">
<el-input
v-model="data.form.VEHICLE_MATERIAL"
v-model="form.VEHICLE_MATERIAL"
placeholder="请填写车辆资料"
type="textarea"
:autosize="{ minRows: 3 }"
@ -273,7 +275,7 @@
</template>
<script setup>
import { reactive, ref } from "vue";
import { ref } from "vue";
import {
layoutFnGetVehicleColor,
layoutFnGetTransportCategory,
@ -285,15 +287,19 @@ import {
} from "@/assets/js/operation_vehicle.js";
import {
addOperatingVehicleInfo,
editOperatingVehicleInfo,
findByIdOperatingVehicleInfo
} from "@/request/operation_vehicle.js";
import useFormValidate from "@/assets/js/useFormValidate.js";
import LayoutUpload from "@/components/upload/index.vue";
import { ElMessage } from "element-plus";
import { debounce } from "throttle-debounce";
import { useRouter } from "vue-router";
import { useRoute, useRouter } from "vue-router";
import { setUploadImg } from "@/request/api.js";
import { addingPrefixToFile } from "@/assets/js/utils.js";
const router = useRouter();
const route = useRoute();
const OPERATING_ID = route.query.OPERATING_ID
const rules = {
PLATE_NUMBER: [{ required: true, message: "车牌号不能为空", trigger: "blur" }],
@ -308,55 +314,56 @@ const rules = {
CONTACT_NUMBER: [{required: true, message: "联系电话不能为空", trigger: "blur"}],
FIRSTSHOW_DATE: [{required: true, message: "初登日期不能为空", trigger: "blur"}],
VEHICLE_EQUIPMENT: [{required: true, message: "车载设备不能为空", trigger: "change"}],
HEADSTOCK_PHOTO: [{required: true, message: "车头照片不能为空", trigger: "blur"}],
DRIVINGLICENSE_PHOTO: [{required: true, message: "行驶证照片不能为空", trigger: "blur"}],
OPERATING_CERTIFICATE_PHOTO: [{required: true, message: "营运证照片不能为空", trigger: "blur"}],
};
const formRef = ref(null);
const data = reactive({
form: {
GOODSSELFNUMBER: "",
PLATE_NUMBER: "",
VEHICLE_COLOR: "",
FRAMES_NUMBER: "",
ENGINE_NUMBER: "",
MANAGING_ENTERPRISE: "",
OPERATING_CERTIFICATE: [],
TRANSPORT_ENTERPRISES: "",
TRANSPORT_TYPE: "",
BELONGING_DEPARTMENT: "",
VEHICLE_TYPE: "",
VEHICLEOWNER: "",
VEHICLEOWNER_NUMBER: "",
VEHICLEOWNER_ADDRESS: "",
CONTACT: "",
CONTACT_NUMBER: "",
HOME_ADDRESS: "",
PHYSICAL_ADDRESS: "",
FIRSTSHOW_DATE: "",
CERTIFICATE_DATE: "",
EXPIRE_DATE: "",
VEHICLE_EQUIPMENT: "",
GOVERNMENT_OVERSIGHT: "",
VEHICLE_BRAND: "",
VEHICLE_MODEL: "",
FUEL_TYPE: "",
EMISSION_STANDARD: "",
VOUCH_TOTALMASS: "",
VOUCH_NUMBERLOAD: "",
VOUCH_PAYLOAD: "",
RACTIONMASS_QUALITY: "",
REMARK: "",
HEADSTOCK_PHOTO: [],
DRIVINGLICENSE_PHOTO: [],
OPERATING_CERTIFICATE_PHOTO: [],
NETWORK_STATUS: "",
DYNAMIC_SUPERVISION: "",
ACTIVE_SAFETY: "",
DRIVINGPREMIT_STATUS: "",
TRANSPORT_CATEGORY: "",
VEHICLE_MATERIAL: "",
FREIGHT_TYPE: "",
HOME_TERRITORY: "",
MANAGEMENT_TYPE: ""
},
const form = ref({
GOODSSELFNUMBER: '',
PLATE_NUMBER: '',
VEHICLE_COLOR: '',
FRAMES_NUMBER: '',
ENGINE_NUMBER: '',
MANAGING_ENTERPRISE: '',
OPERATING_CERTIFICATE: [],
TRANSPORT_ENTERPRISES: '',
TRANSPORT_TYPE: '',
BELONGING_DEPARTMENT: '',
VEHICLE_TYPE: '',
VEHICLEOWNER: '',
VEHICLEOWNER_NUMBER: '',
VEHICLEOWNER_ADDRESS: '',
CONTACT: '',
CONTACT_NUMBER: '',
HOME_ADDRESS: '',
PHYSICAL_ADDRESS: '',
FIRSTSHOW_DATE: '',
CERTIFICATE_DATE: '',
EXPIRE_DATE: '',
VEHICLE_EQUIPMENT: '',
GOVERNMENT_OVERSIGHT: '',
VEHICLE_BRAND: '',
VEHICLE_MODEL: '',
FUEL_TYPE: '',
EMISSION_STANDARD: '',
VOUCH_TOTALMASS: '',
VOUCH_NUMBERLOAD: '',
VOUCH_PAYLOAD: '',
RACTIONMASS_QUALITY: '',
REMARK: '',
HEADSTOCK_PHOTO: [],
DRIVINGLICENSE_PHOTO: [],
OPERATING_CERTIFICATE_PHOTO: [],
NETWORK_STATUS: '',
DYNAMIC_SUPERVISION: '',
ACTIVE_SAFETY: '',
DRIVINGPREMIT_STATUS: '',
TRANSPORT_CATEGORY: '',
VEHICLE_MATERIAL: '',
FREIGHT_TYPE: '',
HOME_TERRITORY: '',
MANAGEMENT_TYPE: ''
});
const getVehicleColorList = await layoutFnGetVehicleColor();
const getTransportCategoryList = await layoutFnGetTransportCategory();
@ -366,29 +373,56 @@ const getEmissionStandardList = await layoutFnGetEmissionStandard();
const getVehicleTypeList = await layoutFnGetVehicleType();
const getMobileUnitList = await layoutFnGetMobileUnit();
const fnGetData = async () => {
if (!OPERATING_ID) return;
const resData = await findByIdOperatingVehicleInfo({ OPERATING_ID });
form.value = resData.pd;
form.value.HEADSTOCK_PHOTO = addingPrefixToFile(
resData.headstockphoto
);
form.value.DRIVINGLICENSE_PHOTO = addingPrefixToFile(
resData.drivinglicensephoto
);
form.value.OPERATING_CERTIFICATE_PHOTO = addingPrefixToFile(
resData.operatingcertificatephoto
);
};
fnGetData();
const fnSubmit = debounce(
1000,
async () => {
await useFormValidate(formRef);
const formData = new FormData();
Object.keys(data.form).forEach((key) => {
formData.append(key, data.form[key]);
});
formData.delete("HEADSTOCK_PHOTO");
formData.delete("DRIVINGLICENSE_PHOTO");
formData.delete("OPERATING_CERTIFICATE_PHOTO");
if (data.form.HEADSTOCK_PHOTO[0].raw) formData.append("headstockFile", data.form.HEADSTOCK_PHOTO[0].raw);
if (data.form.DRIVINGLICENSE_PHOTO[0].raw) formData.append("drivinglicenseFile", data.form.DRIVINGLICENSE_PHOTO[0].raw);
if (data.form.OPERATING_CERTIFICATE_PHOTO[0].raw) formData.append("operatingCertificateFile", data.form.OPERATING_CERTIFICATE_PHOTO[0].raw);
formData.append("headstockFileType", !!data.form.HEADSTOCK_PHOTO[0].raw);
formData.append("drivinglicenseFileType", !!data.form.DRIVINGLICENSE_PHOTO[0].raw);
formData.append("operatingCertificateFileType", !!data.form.OPERATING_CERTIFICATE_PHOTO[0].raw);
await addOperatingVehicleInfo(formData);
const resData = ! OPERATING_ID
? await addOperatingVehicleInfo({...form.value} )
: await editOperatingVehicleInfo({...form.value, OPERATING_ID:OPERATING_ID});
const currentOperatingVehicleId = resData.pd.OPERATING_ID
for (let i = 0; i < form.value.HEADSTOCK_PHOTO.length; i++){
if(form.value.HEADSTOCK_PHOTO[i].raw) {
await fnUploadImage(currentOperatingVehicleId, form.value.HEADSTOCK_PHOTO[i].raw, 120)
}
}
for (let i = 0; i < form.value.DRIVINGLICENSE_PHOTO.length; i++){
if(form.value.DRIVINGLICENSE_PHOTO[i].raw) {
await fnUploadImage(currentOperatingVehicleId, form.value.DRIVINGLICENSE_PHOTO[i].raw, 121)
}
}
for (let i = 0; i < form.value.OPERATING_CERTIFICATE_PHOTO.length; i++){
if(form.value.OPERATING_CERTIFICATE_PHOTO[i].raw) {
await fnUploadImage(currentOperatingVehicleId, form.value.OPERATING_CERTIFICATE_PHOTO[i].raw, 122)
}
}
ElMessage.success("提交成功");
router.back();
},
{ atBegin: true }
);
const fnUploadImage = async (HIDDEN_ID, FFILE, TYPE) => {
const formData = new FormData();
formData.append("FOREIGN_KEY", HIDDEN_ID);
formData.append("TYPE", TYPE);
formData.append("FFILE", FFILE);
await setUploadImg(formData);
};
</script>
<style scoped lang="scss"></style>

View File

@ -0,0 +1,462 @@
<template>
<layout-card>
<el-divider content-position="left">车辆选择</el-divider>
<el-form
ref="formRef"
:model="form"
:rules="rules"
label-width="100px"
>
<el-row>
<el-col :span="6">
<el-form-item label="登记编号" prop="RECORD_NUMBER">
<el-input v-model="form.RECORD_NUMBER" placeholder="请输入登记编号"/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="过户车型" prop="ASSIGNED_VEHICLE_MODEL">
<el-select v-model="form.ASSIGNED_VEHICLE_MODEL"
placeholder="请选择过户车型"
@change="fnEditVehicleModel"
>
<el-option
v-for="item in assignedVehicleModelList"
:key="item.BIANMA"
:label="item.NAME"
:value="item.NAME"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="过户车辆" prop="VEHICLE_PLATE_NUMBER">
<el-select
v-model="form.VEHICLE_PLATE_NUMBER"
@change="fnGetVehicleInfo"
>
<el-option
v-for="item in form.ALLVEHICLE"
:key="item.PLATE_NUMBER"
:label="item.PLATE_NUMBER"
:value="item.PLATE_NUMBER"
placeholder="请选择过户车辆"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-divider content-position="left">过户前数据</el-divider>
<el-row>
<el-col :span="6">
<el-form-item label="原车牌号" prop="RAW_PLATE_NUMBER">
<el-input v-model="form.VEHICLE.PLATE_NUMBER"
placeholder="--"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="原车主/业主" prop="RAW_OWNERS">
<el-input v-model="form.VEHICLE.RAW_OWNERS"
placeholder="--"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="原车主电话" prop="RAW_OWNERS_NUMBER">
<el-input v-model="form.VEHICLE.RAW_OWNERS_NUMBER"
placeholder="--"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="原车辆营运证" prop="RAW_VEHICLE_OPERATION_CERTIFICATE">
<el-input v-model="form.VEHICLE.RAW_VEHICLE_OPERATION_CERTIFICATE"
placeholder="--"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="车架号" prop="FRAMES_NUMBER">
<el-input v-model="form.VEHICLE.FRAMES_NUMBER"
placeholder="--"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="原行驶证照片" prop="RAW_DRIVINGLICENSE_IMG">
<layout-upload
v-model:file-list="form.VEHICLE.RAW_DRIVINGLICENSE_IMG"
list-type="picture-card"
accept=".jpg,.jpeg,.png"
/>
</el-form-item>
</el-col>
</el-row>
<el-divider content-position="left">过户后数据</el-divider>
<el-row>
<el-col :span="6">
<el-form-item label="过户类型" prop="ASSIGNED_TYPE">
<el-select v-model="form.ASSIGNED_TYPE" placeholder="请选择过户类型">
<el-option
v-for="item in relatedClassificationList"
:key="item.BIANMA"
:label="item.name"
:value="item.name"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="过户方式" prop="ASSIGNED_WAY">
<el-select v-model="form.ASSIGNED_WAY" placeholder="请选择过户方式"
@change="fnEditAssignedWay"
>
<el-option
v-for="item in assignedWayList"
:key="item.BIANMA"
:label="item.NAME"
:value="item.NAME"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="办理日期" prop="TRANSACTION_DATE">
<el-date-picker
v-model="form.TRANSACTION_DATE"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
placeholder="请选择办理日期"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="现车主/业主" prop="NOW_OWNERS">
<el-input v-model="form.NOW_OWNERS" placeholder="请填写现车主/业主" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="现车主电话" prop="NOW_OWNERS_NUMBER">
<el-input v-model="form.NOW_OWNERS_NUMBER" placeholder="请填写现车主电话" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="登记人" prop="REGISTRANT">
<el-input v-model="form.REGISTRANT" placeholder="请填写登记人" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="现车牌号" prop="NOW_PLATE_NUMBER">
<el-input v-model="form.NOW_PLATE_NUMBER"
:disabled="form.ASSIGNED_WAY === '协议过户'" label="1"
placeholder="请填写现车牌号"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="现营运证号" prop="NOW_OPERATION_CERTIFICATE">
<el-input v-model="form.NOW_OPERATION_CERTIFICATE"
:disabled="form.ASSIGNED_WAY === '协议过户'" label="1"
placeholder="请填写现营运证号"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="现登记日期" prop="NOW_RECORD_DATE">
<el-date-picker
v-model="form.NOW_RECORD_DATE"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
placeholder="请填写现登记日期"
:disabled = "form.ASSIGNED_WAY === '协议过户'" label="1"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="现车辆营运证照片" prop="NOW_VEHICLE_OPERATION_CERTIFICATE">
<layout-upload
v-model:file-list="form.NOW_VEHICLE_OPERATION_CERTIFICATE"
list-type="picture-card"
accept=".jpg,.jpeg,.png"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="现行驶证照片" prop="NOW_DRIVINGLICENSE_IMG">
<layout-upload
v-model:file-list="form.NOW_DRIVINGLICENSE_IMG"
list-type="picture-card"
accept=".jpg,.jpeg,.png"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="过户资料" prop="ASSIGNED_MATERIAL">
<el-input
v-model="form.ASSIGNED_MATERIAL"
type="textarea"
:autosize="{ minRows: 3 }"
placeholder="请填写过户资料"
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="REMARK">
<el-input
v-model="form.REMARK"
placeholder="请填写备注"
type="textarea"
:autosize="{ minRows: 3 }"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="tc mt-10">
<el-button type="primary" @click="fnSubmit"></el-button>
</div>
</layout-card>
</template>
<script setup>
import { onMounted, ref } from "vue";
import {
layoutFnGetAssignedWay,
layoutFnGetAssignedVehicleModel
} from "@/assets/js/assigned_manage.js";
import {
getFreightTrailerList,
} from "@/request/enterprise_management.js"
import {
getOperationList,
} from "@/request/operation_vehicle.js"
import LayoutUpload from "@/components/upload/index.vue";
import { debounce } from "throttle-debounce";
import useFormValidate from "@/assets/js/useFormValidate.js";
import { addingPrefixToFile } from "@/assets/js/utils.js";
import { setAssignedManageAdd, setAssignedManageEdit } from "@/request/assigned_manage.js";
import { setUploadImg } from "@/request/api.js";
import { ElMessage } from "element-plus";
import { useRoute, useRouter } from "vue-router";
import { getVehicleView,layoutFnGetScrapVehicleType } from "@/request/scrap_manage.js";
const route = useRoute();
const router = useRouter();
const ASSIGNED_ID = route.query.ASSIGNED_ID
const assignedVehicleModelList = await layoutFnGetAssignedVehicleModel();
const relatedClassificationList = ref(null);
onMounted(async () => {
const data = await layoutFnGetScrapVehicleType();
relatedClassificationList.value = JSON.parse(data.value.zTreeNodes);
});
const getFreightVehicleList = await getFreightTrailerList();
const getOperationVehicleList = await getOperationList();
const assignedWayList = await layoutFnGetAssignedWay();
const rules = {
ASSIGNED_VEHICLE_MODEL: [{ required: true, message: "过户车型不能为空", trigger: "change" }],
ASSIGNED_VEHICLE: [{ required: true, message: "过户车辆不能为空", trigger: "blur" }],
ASSIGNED_TYPE: [{ required: true, message: "过户类型不能为空", trigger: "change" }],
ASSIGNED_WAY: [{ required: true, message: "过户方式不能为空", trigger: "change" }],
TRANSACTION_DATE: [{required: true, message: "办理日期不能为空", trigger: "change"}],
REGISTRANT: [{required: true, message: "登记人不能为空", trigger: "blur"}],
NOW_VEHICLE_OPERATION_CERTIFICATE: [{required: true, message: "现车辆营运证照片不能为空", trigger: "blur"}],
NOW_DRIVINGLICENSE_IMG: [{required: true, message: "现行驶证照片不能为空", trigger: "blur"}],
};
const formRef = ref(null);
const form = ref({
VEHICLE_PLATE_NUMBER: "",
ASSIGNED_ID: "",
RECORD_NUMBER: "",
ASSIGNED_TYPE: "",
RAW_PLATE_NUMBER: "",
NOW_PLATE_NUMBER: "",
RAW_OWNERS: "",
NOW_OWNERS: "",
ASSIGNED_DATE: "",
REGISTRANT: "",
RAW_TRANSPORT_ENTERPRISES: "",
ASSIGNED_VEHICLE_MODEL: "",
ASSIGNED_VEHICLE: "",
RAW_OWNERS_NUMBER: "",
RAW_VEHICLE_OPERATION_CERTIFICATE: "",
FRAMES_NUMBER: "",
RAW_DRIVINGLICENSE_IMG: [],
ASSIGNED_WAY: "",
TRANSACTION_DATE: "",
NOW_OWNERS_NUMBER: "",
NOW_DRIVINGLICENSE_IMG: [],
NOW_VEHICLE_OPERATION_CERTIFICATE: [],
ASSIGNED_MATERIAL: "",
REMARK: "",
VEHICLE_TYPE: "",
VEHICLE_BRAND: "",
VEHICLE_MODEL: "",
ENGINE_NUMBER: "",
POWER_TYPE: "",
EMISSION_STANDARD: "",
RAW_CONTACT_NUMBE: "",
NOW_CONTACT_NUMBER: "",
RAW_OPERATION_CERTIFICATE: "",
NOW_OPERATION_CERTIFICATE: "",
TRANSPORT_ENTERPRISES: "",
RAW_CONTACT_NUMBER: "",
NOW_RECORD_DATE: "",
OPERATING_ID: "",
OPERATIONINFO: {},
PLATE_NUMBER: "",
VEHICLEOWNER: "",
VEHICLEOWNER_NUMBER: "",
OPERATING_CERTIFICATE: "",
DRIVINGLICENSE_PHOTO: "",
ALLVEHICLE: {},
OPERATIONVEHICLELIST: [],
FREIGHTVEHICLELIST: [],
VEHICLE:{
PLATE_NUMBER: "",
RAW_OWNERS: "",
RAW_OWNERS_NUMBER: "",
RAW_VEHICLE_OPERATION_CERTIFICATE: "",
FRAMES_NUMBER: "",
RAW_DRIVINGLICENSE_IMG: ""
}
});
const info = ref({});
const fnEditVehicleModel = async () => {
form.value.VEHICLE_PLATE_NUMBER = null;
form.value.VEHICLE = {};
if(form.value.ASSIGNED_VEHICLE_MODEL === "运输车辆") {
form.value.ALLVEHICLE = getOperationVehicleList.varList
form.value.OPERATIONVEHICLELIST = form.value.ALLVEHICLE
}else if(form.value.ASSIGNED_VEHICLE_MODEL === "货运挂车") {
form.value.ALLVEHICLE = getFreightVehicleList.varList
form.value.FREIGHTVEHICLELIST = form.value.ALLVEHICLE
}
};
const fnGetVehicleInfo = async () => {
if(form.value.ASSIGNED_VEHICLE_MODEL === "运输车辆") {
for (let i = 0; i < form.value.OPERATIONVEHICLELIST.length; i++) {
if(form.value.OPERATIONVEHICLELIST[i].PLATE_NUMBER === form.value.VEHICLE_PLATE_NUMBER) {
const OPERATING_ID = form.value.OPERATIONVEHICLELIST[i].OPERATING_ID
const resData = await getVehicleView({ OPERATING_ID });
info.value = resData.pd;
console.log("选中的营运车辆",info.value);
form.value.VEHICLE.PLATE_NUMBER = info.value.PLATE_NUMBER
form.value.VEHICLE.RAW_OWNERS = info.value.VEHICLEOWNER
form.value.VEHICLE.RAW_OWNERS_NUMBER = info.value.VEHICLEOWNER_NUMBER
form.value.VEHICLE.RAW_VEHICLE_OPERATION_CERTIFICATE = info.value.OPERATING_CERTIFICATE
form.value.VEHICLE.FRAMES_NUMBER = info.value.FRAMES_NUMBER
form.value.VEHICLE.RAW_DRIVINGLICENSE_IMG = info.value.DRIVINGLICENSE_PHOTO
form.value.FRAMES_NUMBER = info.value.FRAMES_NUMBER
form.value.VEHICLE_BRAND = info.value.VEHICLE_BRAND
form.value.VEHICLE_MODEL = info.value.VEHICLE_MODEL
form.value.ENGINE_NUMBER = info.value.ENGINE_NUMBER
form.value.POWER_TYPE = info.value.FUEL_TYPE
form.value.EMISSION_STANDARD = info.value.EMISSION_STANDARD
form.value.RAW_PLATE_NUMBER = info.value.PLATE_NUMBER
form.value.RAW_OWNERS = info.value.VEHICLEOWNER
form.value.RAW_CONTACT_NUMBER = info.value.CONTACT_NUMBER
form.value.RAW_OPERATION_CERTIFICATE = info.value.OPERATING_CERTIFICATE
}
}
}else if(form.value.ASSIGNED_VEHICLE_MODEL === "货运挂车") {
for (let i = 0; i < form.value.FREIGHTVEHICLELIST.length; i++) {
if(form.value.FREIGHTVEHICLELIST[i].PLATE_NUMBER === form.value.VEHICLE_PLATE_NUMBER) {
const FREIGHTTRAILER_ID = form.value.FREIGHTVEHICLELIST[i].FREIGHTTRAILER_ID
const resData = await getVehicleView({ FREIGHTTRAILER_ID });
info.value = resData.pd;
form.value.VEHICLE.PLATE_NUMBER = info.value.PLATE_NUMBER
form.value.VEHICLE.RAW_OWNERS = info.value.CAR_OWNERS
form.value.VEHICLE.RAW_OWNERS_NUMBER = info.value.CAR_OWNERS_TEL
form.value.VEHICLE.RAW_VEHICLE_OPERATION_CERTIFICATE = info.value.OPER_CERTIFICATE_NUM
form.value.VEHICLE.FRAMES_NUMBER = info.value.VIN
form.value.VEHICLE.RAW_DRIVINGLICENSE_IMG = info.value.DRIVING_LICENSE_IMG
form.value.VEHICLE_BRAND = info.value.TRAILER_BRAND;
form.value.VEHICLE_MODEL = info.value.TRAILER_MODEL;
form.value.RAW_PLATE_NUMBER = info.value.PLATE_NUMBER;
form.value.RAW_OWNERS = info.value.CAR_OWNERS;
form.value.RAW_CONTACT_NUMBER = info.value.CAR_OWNERS_TEL;
form.value.RAW_OPERATION_CERTIFICATE = info.value.OPER_CERTIFICATE_NUM;
form.value.FRAMES_NUMBER = info.value.VIN;
form.value.ENGINE_NUMBER = info.value.TRAILER_MODEL;
form.value.POWER_TYPE = info.value.TRAILER_MODEL;
}
}
}
}
const fnEditAssignedWay = async () => {
if(form.value.ASSIGNED_WAY === '协议过户') {
form.value.NOW_PLATE_NUMBER = null;
form.value.NOW_OPERATION_CERTIFICATE = null;
form.value.NOW_RECORD_DATE = null;
}
};
const fnGetData = async () => {
if (!ASSIGNED_ID) return;
const resData = await setAssignedManageEdit({ ASSIGNED_ID });
form.value = resData.pd;
form.value.NOW_VEHICLE_OPERATION_CERTIFICATE = addingPrefixToFile(
resData.nowVehicleOperationCertificateImgs
);
form.value.NOW_DRIVINGLICENSE_IMG = addingPrefixToFile(
resData.nowDrivinglicenseImg
);
};
fnGetData();
const fnSubmit = debounce(
1000,
async () => {
await useFormValidate(formRef);
const resData = !ASSIGNED_ID
? await setAssignedManageAdd({ ...form.value })
: await setAssignedManageEdit({ ...form.value ,ASSIGNED_ID:ASSIGNED_ID});
const currentAssignedId =resData.pd.ASSIGNED_ID
for (let i = 0; i < form.value.NOW_VEHICLE_OPERATION_CERTIFICATE.length; i++) {
if (form.value.NOW_VEHICLE_OPERATION_CERTIFICATE[i].raw)
await fnUploadImage(currentAssignedId, form.value.NOW_VEHICLE_OPERATION_CERTIFICATE[i].raw, 120);
}
for (let i = 0; i < form.value.NOW_DRIVINGLICENSE_IMG.length; i++) {
if (form.value.NOW_DRIVINGLICENSE_IMG[i].raw)
await fnUploadImage(currentAssignedId, form.value.NOW_DRIVINGLICENSE_IMG[i].raw, 121);
}
ElMessage.success("提交成功");
router.back();
},
{ atBegin: true }
);
const fnUploadImage = async (HIDDEN_ID, FFILE, TYPE) => {
const formData = new FormData();
formData.append("FOREIGN_KEY", HIDDEN_ID);
formData.append("TYPE", TYPE);
formData.append("FFILE", FFILE);
await setUploadImg(formData);
};
</script>
<style scoped lang="scss"></style>

View File

@ -0,0 +1,279 @@
<template>
<div>
<el-card>
<el-form
:model="searchForm"
label-width="90px"
@submit.prevent="fnGetDataTransfer"
>
<el-row>
<el-col :span="6">
<el-form-item label="过户类型" prop="ASSIGNED_TYPE">
<el-select v-model="searchForm.ASSIGNED_TYPE">
<el-option
v-for="item in relatedClassificationList"
:key="item.BIANMA"
:label="item.name"
:value="item.name"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="过户方式" prop="ASSIGNED_WAY">
<el-select v-model="searchForm.ASSIGNED_WAY">
<el-option
v-for="item in assignedWayList"
:key="item.BIANMA"
:label="item.NAME"
:value="item.NAME"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="过户车型" prop="ASSIGNED_VEHICLE_MODEL">
<el-select v-model="searchForm.ASSIGNED_VEHICLE_MODEL">
<el-option
v-for="item in assignedVehicleModel"
:key="item.BIANMA"
:label="item.NAME"
:value="item.NAME"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="原车牌号" prop="RAW_PLATE_NUMBER">
<el-input
v-model="searchForm.RAW_PLATE_NUMBER"
placeholder="请填写原车牌号"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="现车牌号" prop="NOW_PLATE_NUMBER">
<el-input
v-model="searchForm.NOW_PLATE_NUMBER"
placeholder="请填写现车牌号"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="现车主" prop="NOW_OWNERS">
<el-input
v-model="searchForm.NOW_OWNERS"
placeholder="请填写现车主业主"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="登记人" prop="REGISTRANT">
<el-input
v-model="searchForm.REGISTRANT"
placeholder="请填写登记人"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="过户时间" prop="ASSIGNED_DATE">
<el-date-picker
v-model="searchForm.ASSIGNED_DATE"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
placeholder="请选择过户时间"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label-width="20px">
<el-button type="primary" native-type="submit">搜索</el-button>
<el-button native-type="reset" @click="fnResetPaginationTransfer">
重置
</el-button>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label-width="10px" class="end">
<el-button>导出</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card>
<layout-card>
<layout-table
v-model:pagination="pagination"
:data="list"
@get-data="fnGetDataTransfer"
>
<el-table-column label="序号" width="70">
<template #default="{ $index }">
{{ serialNumber(pagination, $index) }}
</template>
</el-table-column>
<el-table-column prop="RECORD_NUMBER" label="档案号" />
<el-table-column prop="ASSIGNED_TYPE" label="过户类型" />
<el-table-column prop="RAW_PLATE_NUMBER" label="原车牌号" />
<el-table-column prop="NOW_PLATE_NUMBER" label="现车牌号" />
<el-table-column
prop="RAW_OWNERS"
label="原车主业主"
width="140"
show-overflow-tooltip
/>
<el-table-column
prop="NOW_OWNERS"
label="现车主业主"
width="140"
show-overflow-tooltip
/>
<el-table-column
prop="ASSIGNED_DATE"
label="过户时间"
width="140"
show-overflow-tooltip
/>
<el-table-column
prop="REGISTRANT"
label="登记人"
width="140"
show-overflow-tooltip
/>
<el-table-column
prop="CREATTIME"
label="创建时间"
width="140"
show-overflow-tooltip
/>
<el-table-column
prop="OPERATTIME"
label="修改时间"
width="140"
show-overflow-tooltip
/>
<el-table-column label="操作" width="150">
<template #default="{ row }">
<el-button
type="primary"
text
link
@click="
router.push({
path: '/mechanical_files/assigned_manage/view',
query: { ASSIGNED_ID: row.ASSIGNED_ID },
})
"
>
查看
</el-button>
<el-button
type="primary"
text
link
@click="
router.push({
path: '/enterprise_management/basics_info_management/operation_vehicle/view',
query: { OPERATING_ID: row.OPERATING_ID },
})
"
>
画像
</el-button>
<el-button
type="primary"
text
link
@click="
router.push({
path: '/enterprise_management/basics_info_management/operation_vehicle/edit',
query: { OPERATING_ID: row.OPERATING_ID },
})
"
>
修改
</el-button>
<el-button
v-if="buttonJurisdiction.del"
type="primary"
text
link
@click="fnDelete(row.ASSIGNED_ID)"
>
删除
</el-button>
</template>
</el-table-column>
<template #button>
<el-button
v-if="buttonJurisdiction.add"
type="primary"
@click="
router.push({ path: '/mechanical_files/assigned_manage/add' })
"
>
新增
</el-button>
</template>
</layout-table>
</layout-card>
</div>
</template>
<script setup>
import { serialNumber } from "@/assets/js/utils.js";
import useListData from "@/assets/js/useListData.js";
import {
layoutFnGetAssignedWay,
layoutFnGetAssignedVehicleModel
} from "@/assets/js/assigned_manage.js";
import {
getAssignedList,
setAssignedManageDelete,
layoutFnGetAssignedType,
} from "@/request/assigned_manage.js";
import { useRouter } from "vue-router";
import useButtonJurisdiction from "@/assets/js/useButtonJurisdiction.js";
import { debounce } from "throttle-debounce";
import { ElMessage, ElMessageBox } from "element-plus";
import { onMounted, ref } from "vue";
const router = useRouter();
const { list, pagination, searchForm, fnGetData, fnResetPagination } =
useListData(getAssignedList, {});
const assignedVehicleModel = await layoutFnGetAssignedVehicleModel();
console.log("fdasc adv ",assignedVehicleModel);
const relatedClassificationList = ref(null);
onMounted(async () => {
const data = await layoutFnGetAssignedType();
relatedClassificationList.value = JSON.parse(data.value.zTreeNodes);
});
const assignedWayList = await layoutFnGetAssignedWay();
const fnGetDataTransfer = () => {
fnGetData({
DEPTIDS: searchForm.value.DEPTIDS?.join(","),
});
};
const fnResetPaginationTransfer = () => {
searchForm.value = {};
fnResetPagination({
DEPTIDS: searchForm.value.DEPTIDS?.join(","),
});
};
const fnDelete = debounce(
1000,
async (ASSIGNED_ID) => {
await ElMessageBox.confirm("确定要删除吗?", { type: "warning" });
await setAssignedManageDelete({ ASSIGNED_ID })
ElMessage.success("删除成功");
},
{ atBegin: true }
);
const buttonJurisdiction = await useButtonJurisdiction("assigned");
</script>
<style scoped></style>

View File

@ -0,0 +1,118 @@
<template>
<layout-card>
<el-divider content-position="left">基本信息</el-divider>
<el-descriptions border>
<el-descriptions-item label="登记编号">
{{ data.RECORD_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="办理日期">
{{ data.TRANSACTION_DATE }}
</el-descriptions-item>
<el-descriptions-item label="登记人">
{{ data.REGISTRANT }}
</el-descriptions-item>
<el-descriptions-item label="过户类型">
{{ data.ASSIGNED_TYPE }}
</el-descriptions-item>
<el-descriptions-item label="车辆类型">
{{ data.VEHICLE_TYPE }}
</el-descriptions-item>
<el-descriptions-item label="车架号">
{{ data.FRAMES_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="车辆类型">
{{ data.VEHICLE_TYPE }}
</el-descriptions-item>
<el-descriptions-item label="车辆品牌">
{{ data.VEHICLE_BRAND }}
</el-descriptions-item>
<el-descriptions-item label="车辆型号">
{{ data.VEHICLE_MODEL }}
</el-descriptions-item>
<el-descriptions-item label="发动机号">
{{ data.ENGINE_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="动力类型">
{{ data.POWER_TYPE }}
</el-descriptions-item>
<el-descriptions-item label="排放标准">
{{ data.EMISSION_STANDARD }}
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left">过户信息</el-divider>
<el-descriptions border>
<el-descriptions-item label="原车牌号">
{{ data.RAW_PLATE_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="原车主业主">
{{ data.RAW_OWNERS }}
</el-descriptions-item>
<el-descriptions-item label="原联系电话">
{{ data.RAW_CONTACT_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="现车牌号">
{{ data.NOW_PLATE_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="现车主业主">
{{ data.NOW_OWNERS }}
</el-descriptions-item>
<el-descriptions-item label="现联系电话">
{{ data.NOW_CONTACT_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="原营运证号">
{{ data.RAW_OPERATION_CERTIFICATE }}
</el-descriptions-item>
<el-descriptions-item label="现营运证号">
{{ data.NOW_OPERATION_CERTIFICATE }}
</el-descriptions-item>
</el-descriptions>
<el-descriptions border>
<el-descriptions-item label="现营运证照片">
<img
v-viewer
:src="VITE_FILE_URL + data.NOW_VEHICLE_OPERATION_CERTIFICATE"
width="100"
height="100"
alt=""
/>
</el-descriptions-item>
<el-descriptions-item label="现行驶证照片">
<img
v-viewer
:src="VITE_FILE_URL + data.NOW_DRIVINGLICENSE_IMG"
width="100"
height="100"
alt=""
/>
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item label="过户资料">
{{ data.ASSIGNED_MATERIAL }}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item label="备注">
{{ data.REMARK }}
</el-descriptions-item>
</el-descriptions>
</layout-card>
</template>
<script setup>
import { findByIdAssignedManageInfo } from "@/request/assigned_manage.js";
import { useRoute } from "vue-router";
import { ref } from "vue";
const VITE_FILE_URL = import.meta.env.VITE_FILE_URL;
const route = useRoute();
const { ASSIGNED_ID } = route.query;
const data = ref({});
const getData = async () => {
const { pd } = await findByIdAssignedManageInfo({ ASSIGNED_ID });
data.value = pd;
};
getData();
</script>
<style scoped></style>

View File

@ -114,12 +114,13 @@
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
@change="getDueDate"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="年检周期" prop="ANNUAL_INSPECTION_CYCLE">
<el-select v-model="form.ANNUAL_INSPECTION_CYCLE">
<el-select v-model="form.ANNUAL_INSPECTION_CYCLE" @change="getDueDate">
<el-option
v-for="item in annualInspectionCycleList"
:key="item.DICTIONARIES_ID"
@ -136,6 +137,7 @@
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
disabled
/>
</el-form-item>
</el-col>
@ -156,7 +158,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="提醒天数" prop="REMINDER_DAYS">
<el-input v-model.number="form.REMINDER_DAYS" maxlength="50" show-word-limit/>
<el-input v-model.number="form.REMINDER_DAYS" maxlength="50" show-word-limit @change="getRemiderDate"/>
</el-form-item>
</el-col>
<el-col :span="12">
@ -166,6 +168,7 @@
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
disabled
/>
</el-form-item>
</el-col>
@ -221,7 +224,7 @@
import { ElMessage } from "element-plus";
import { useRoute, useRouter, } from "vue-router";
import useFormValidate from "@/assets/js/useFormValidate.js";
import { addingPrefixToFile } from "@/assets/js/utils.js";
import { addingPrefixToFile ,timeTransformation,subtractDaysFromDate} from "@/assets/js/utils.js";
const route = useRoute();
const router = useRouter();
const INSPECTANNUALLY_ID = route.query.INSPECTANNUALLY_ID
@ -278,6 +281,34 @@
REMINDER_DAYS: [{ required: true, message: "请输入", trigger: "blur" }],
REMINDER_DATE: [{ required: true, message: "请输入", trigger: "blur" }],
}
const getDueDate = ()=>{
if(form.value.PROCESSING_DATE&&form.value.ANNUAL_INSPECTION_CYCLE){
const list = annualInspectionCycleList._rawValue
let num = 0
for(let i=0;i<list.length;i++){
const _item = list[i]
if(form.value.ANNUAL_INSPECTION_CYCLE === _item.DICTIONARIES_ID){
num = Number(_item.BIANMA)
}
}
form.value.DUE_DATE = timeTransformation(form.value.PROCESSING_DATE,num)
if(form.value.REMINDER_DAYS){
form.value.REMINDER_DATE = subtractDaysFromDate(form.value.DUE_DATE,form.value.REMINDER_DAYS)
}
}else {
form.value.DUE_DATE = ''
form.value.REMINDER_DATE = ''
}
}
const getRemiderDate = (val)=>{
if(val){
if(form.value.DUE_DATE){
form.value.REMINDER_DATE = subtractDaysFromDate(form.value.DUE_DATE,val)
}
}else {
form.value.REMINDER_DATE = ''
}
}
const getVehicle = async (event) =>{
const resData = await getTrailerList({TRAFFIC_TYPE:event})
data.vehicleList = resData.list

View File

@ -114,12 +114,13 @@
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
@change="getDueDate"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="年检周期" prop="ANNUAL_INSPECTION_CYCLE">
<el-select v-model="form.ANNUAL_INSPECTION_CYCLE">
<el-select v-model="form.ANNUAL_INSPECTION_CYCLE" @change="getDueDate">
<el-option
v-for="item in annualInspectionCycleList"
:key="item.DICTIONARIES_ID"
@ -136,6 +137,7 @@
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
disabled
/>
</el-form-item>
</el-col>
@ -156,7 +158,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="提醒天数" prop="REMINDER_DAYS">
<el-input v-model.number="form.REMINDER_DAYS" maxlength="50" show-word-limit/>
<el-input v-model.number="form.REMINDER_DAYS" maxlength="50" show-word-limit @change="getRemiderDate"/>
</el-form-item>
</el-col>
<el-col :span="12">
@ -166,6 +168,7 @@
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
disabled
/>
</el-form-item>
</el-col>
@ -221,7 +224,7 @@
import { ElMessage } from "element-plus";
import { useRoute, useRouter, } from "vue-router";
import useFormValidate from "@/assets/js/useFormValidate.js";
import { addingPrefixToFile } from "@/assets/js/utils.js";
import { addingPrefixToFile ,timeTransformation,subtractDaysFromDate} from "@/assets/js/utils.js";
const route = useRoute();
const router = useRouter();
const INSPECTANNUALLY_ID = route.query.INSPECTANNUALLY_ID
@ -278,6 +281,34 @@
REMINDER_DAYS: [{ required: true, message: "请输入", trigger: "blur" }],
REMINDER_DATE: [{ required: true, message: "请输入", trigger: "blur" }],
}
const getDueDate = ()=>{
if(form.value.PROCESSING_DATE&&form.value.ANNUAL_INSPECTION_CYCLE){
const list = annualInspectionCycleList._rawValue
let num = 0
for(let i=0;i<list.length;i++){
const _item = list[i]
if(form.value.ANNUAL_INSPECTION_CYCLE === _item.DICTIONARIES_ID){
num = Number(_item.BIANMA)
}
}
form.value.DUE_DATE = timeTransformation(form.value.PROCESSING_DATE,num)
if(form.value.REMINDER_DAYS){
form.value.REMINDER_DATE = subtractDaysFromDate(form.value.DUE_DATE,form.value.REMINDER_DAYS)
}
}else {
form.value.DUE_DATE = ''
form.value.REMINDER_DATE = ''
}
}
const getRemiderDate = (val)=>{
if(val){
if(form.value.DUE_DATE){
form.value.REMINDER_DATE = subtractDaysFromDate(form.value.DUE_DATE,val)
}
}else {
form.value.REMINDER_DATE = ''
}
}
const getVehicle = async (event) =>{
const resData = await getTrailerList({TRAFFIC_TYPE:event})
data.vehicleList = resData.list

View File

@ -0,0 +1,383 @@
<template>
<layout-card>
<el-divider content-position="left">车辆选择</el-divider>
<el-form
ref="formRef"
:model="data.form"
:rules="rules"
label-width="100px"
>
<el-row>
<el-col :span="6">
<el-form-item label="挂车车辆" prop="TRAILER_VEHICLE">
<el-select
v-model="data.form.TRAILER_VEHICLE"
@change="fnGetTrailerInfo"
>
<el-option
v-for="item in getTrailerList"
:key="item.PLATE_NUMBER"
:label="item.PLATE_NUMBER"
:value="(data.TRAILERRECORD_NUMBER = item.FREIGHTTRAILER_ID)"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="登记编号" prop="RECORD_NUMBER">
<el-input
v-model="data.form.RECORD_NUMBER"
placeholder="请输入登记编号"
/>
</el-form-item>
</el-col>
</el-row>
<el-divider content-position="left">基本信息</el-divider>
<el-row>
<el-col :span="6">
<el-form-item label="车牌号" prop="PLATE_NUMBER">
<el-input v-model="data.Trailer.PLATE_NUMBER"
placeholder="--"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="车架号" prop="FRAMES_NUMBER">
<el-input v-model="data.Trailer.VIN"
placeholder="--"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="车辆类型" prop="VEHICLE_TYPE">
<el-input v-model="data.Trailer.TRAILER_TYPE"
placeholder="--"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="车主业主" prop="CAR_OWNERS">
<el-input v-model="data.Trailer.CAR_OWNERS"
placeholder="--"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="车主电话" prop="VEHICLEOWNER_NUMBER">
<el-input
v-model="data.Trailer.CAR_OWNERS_TEL"
placeholder="--"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="初登日期" prop="FIRSTSHOW_DATE">
<el-input
v-model="data.Trailer.INITIAL_REGISTRATION_DATE"
placeholder="--"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="所属省份" prop="PROVINCE">
<el-input v-model="data.Trailer.PROVINCE"
placeholder="--"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="所属地市" prop="CITY">
<el-input v-model="data.form.CITY"
placeholder="--"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="所属区县" prop="COUNTY">
<el-input v-model="data.form.COUNTY"
placeholder="--"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="行驶证照片" prop="DRIVINGLICENSE_PHOTO">
<layout-upload
v-model:file-list="data.form.DRIVINGLICENSE_PHOTO"
list-type="picture-card"
accept=".jpg,.jpeg,.png"
/>
</el-form-item>
</el-col>
</el-row>
<el-divider content-position="left">挂车税务信息</el-divider>
<el-row>
<el-col :span="6">
<el-form-item label="车主业主" prop="VEHICLEOWNER">
<el-input
v-model="data.form.VEHICLEOWNER"
placeholder="请填写车主业主"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="联系电话" prop="CONTACT_NUMBER">
<el-input
v-model="data.form.CONTACT_NUMBER"
placeholder="请填写联系电话"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="登记人" prop="REGISTRANT">
<el-input
v-model="data.form.REGISTRANT"
placeholder="请填写登记人"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="办理日期" prop="TRANSACTION_DATA">
<el-date-picker
v-model="data.form.TRANSACTION_DATA"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
placeholder="请选择办理日期"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="税务周期" prop="TAXESDUES_PERIOD">
<el-select v-model="data.form.TAXESDUES_PERIOD">
<el-option
v-for="item in TaxesPeriodList"
:key="item.BIANMA"
:label="item.NAME"
:value="item.NAME"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="到期日期" prop="EXPIRE_DATE">
<el-date-picker
v-model="data.form.EXPIRE_DATE"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
placeholder="请选择到期日期"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="提醒天数" prop="REMINDER_DAY">
<el-input
v-model="data.form.REMINDER_DAY"
placeholder="请填写提醒天数"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="提醒日期" prop="REMINDER_DATA">
<el-date-picker
v-model="data.form.REMINDER_DATA"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
placeholder="请选择提醒日期"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="提醒状态">
<el-switch
v-model="data.form.REMINDER_STATUS"
active-value="0"
inactive-value="1"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="税费资料" prop="TAXESDUES_MATERIAL">
<el-input
v-model="data.form.TAXESDUES_MATERIAL"
placeholder="请填写税费资料"
type="textarea"
:autosize="{ minRows: 3 }"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="REMARK">
<el-input
v-model="data.form.REMARK"
placeholder="请填写备注"
type="textarea"
:autosize="{ minRows: 3 }"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="tc mt-10">
<el-button type="primary" @click="fnSubmit"></el-button>
</div>
</layout-card>
</template>
<script setup>
import { reactive, ref } from "vue";
import {
layoutFnGetTaxesPeriod,
layoutFnGetTrailerList,
} from "@/assets/js/taxation_manage.js";
import LayoutUpload from "@/components/upload/index.vue";
import { debounce } from "throttle-debounce";
import useFormValidate from "@/assets/js/useFormValidate.js";
import { setTaxationManageAdd } from "@/request/taxation_manage.js";
import { getFreightTrailerView } from "@/request/enterprise_management.js";
import { ElMessage } from "element-plus";
import { useRouter } from "vue-router";
import { addingPrefixToFile } from "@/assets/js/utils.js";
const router = useRouter();
const TaxesPeriodList = await layoutFnGetTaxesPeriod();
const getTrailerList = await layoutFnGetTrailerList();
const rules = {
TRAILER_VEHICLE: [
{ required: true, message: "挂车车辆不能为空", trigger: "blur" },
],
VEHICLEOWNER: [
{ required: true, message: "车主/业主不能为空", trigger: "blur" },
],
CONTACT_NUMBER: [
{ required: true, message: "联系电话不能为空", trigger: "blur" },
],
REGISTRANT: [{ required: true, message: "登记人不能为空", trigger: "blur" }],
TRANSACTION_DATA: [
{ required: true, message: "办理日期不能为空", trigger: "change" },
],
TAXESDUES_PERIOD: [
{ required: true, message: "税费周期不能为空", trigger: "change" },
],
EXPIRE_DATE: [
{ required: true, message: "到期日期不能为空", trigger: "change" },
],
REMINDER_DAY: [
{ required: true, message: "提醒天数不能为空", trigger: "blur" },
],
REMINDER_DATA: [
{ required: true, message: "提醒日期不能为空", trigger: "change" },
],
};
const formRef = ref(null);
const data = reactive({
form: {
TAXATION_ID: "",
RECORD_NUMBER: "",
PLATE_NUMBER: "",
VEHICLEOWNER: "",
CONTACT_NUMBER: "",
TRANSACTION_DATA: "",
TAXESDUES_PERIOD: "",
EXPIRE_DATE: "",
REGISTRANT: "",
TRANSPORT_ENTERPRISES: "",
REMINDER_STATUS: "",
EXPIRE_STATUS: "",
RECORD_STATUS: "",
TRAILER_VEHICLE: "",
FRAMES_NUMBER: "",
VEHICLE_TYPE: "",
VEHICLEOWNER_NUMBER: "",
FIRSTSHOW_DATE: "",
PROVINCE: "",
CITY: "",
COUNTY: "",
REMINDER_DAY: "",
REMINDER_DATA: "",
TAXESDUES_MATERIAL: "",
REMARK: "",
REGISTER_NUMBER: "",
VEHICLE_MODEL: "",
VEHICLE_BRAND: "",
DRIVINGLICENSE_PHOTO: [],
},
TrailerInfo: [],
TRAILERRECORD_NUMBER: "",
Trailer: {},
});
data.TrailerInfo = getTrailerList;
const info = ref({});
const fnGetTrailerInfo = async () => {
const FREIGHTTRAILER_ID = data.form.TRAILER_VEHICLE;
const resData = await getFreightTrailerView({ FREIGHTTRAILER_ID });
info.value = resData.pd;
info.value.TRAILER_IMG = addingPrefixToFile(resData.trailerImgs);
info.value.DRIVING_LICENSE_IMG = addingPrefixToFile(
resData.drivingLicenseImgs
);
info.value.OPER_CERTIFICATE_IMG = addingPrefixToFile(
resData.operCertificateImgs
);
info.value.TRAILER_INFO = addingPrefixToFile(resData.trailerInfoImgs);
data.Trailer = info.value
data.form.PLATE_NUMBER = data.Trailer.PLATE_NUMBER
data.form.FRAMES_NUMBER = data.Trailer.VIN
data.form.VEHICLE_TYPE = data.Trailer.TRAILER_TYPE
data.form.VEHICLEOWNER_NUMBER = data.Trailer.CAR_OWNERS_TEL
data.form.FIRSTSHOW_DATE = data.Trailer.INITIAL_REGISTRATION_DATE
data.form.DRIVINGLICENSE_PHOTO = data.Trailer.DRIVING_LICENSE_IMG
data.form.VEHICLE_MODEL = data.Trailer.TRAILER_MODEL
data.form.VEHICLE_BRAND = data.Trailer.TRAILER_BRAND
};
const fnSubmit = debounce(
1000,
async () => {
await useFormValidate(formRef);
const formData = new FormData();
Object.keys(data.form).forEach((key) => {
formData.append(key, data.form[key]);
});
formData.delete("DRIVINGLICENSE_PHOTO");
if (data.form.DRIVINGLICENSE_PHOTO[0].raw)
formData.append(
"drivinglicenseFile",
data.form.DRIVINGLICENSE_PHOTO[0].raw
);
formData.append(
"drivinglicenseFileType",
!!data.form.DRIVINGLICENSE_PHOTO[0].raw
);
await setTaxationManageAdd(formData);
ElMessage.success("提交成功");
router.back();
},
{ atBegin: true }
);
</script>
<style scoped lang="scss"></style>

View File

@ -0,0 +1,317 @@
<template>
<layout-card>
<el-divider content-position="left">车辆选择</el-divider>
<el-form
ref="formRef"
:model="data.form"
:rules="rules"
label-width="100px"
>
<el-row>
<el-col :span="6">
<el-form-item label="登记编号" prop="RECORD_NUMBER">
<el-input v-model="data.form.RECORD_NUMBER" placeholder="请输入登记编号" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="挂车车辆" prop="PLATE_NUMBER">
<el-input v-model="data.form.PLATE_NUMBER" placeholder="请输入挂车车辆" disabled/>
</el-form-item>
</el-col>
</el-row>
<el-divider content-position="left">基本信息</el-divider>
<el-row>
<el-col :span="6">
<el-form-item label="车牌号" prop="PLATE_NUMBER">
<el-input v-model="data.form.PLATE_NUMBER"
placeholder="--"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="车架号" prop="FRAMES_NUMBER">
<el-input v-model="data.form.FRAMES_NUMBER"
placeholder="--"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="车辆类型" prop="VEHICLE_TYPE">
<el-input v-model="data.form.VEHICLE_TYPE"
placeholder="--"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="车主业主" prop="VEHICLEOWNER">
<el-input v-model="data.form.VEHICLEOWNER"
placeholder="--"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="车主电话" prop="VEHICLEOWNER_NUMBER">
<el-input v-model="data.form.VEHICLEOWNER_NUMBER"
placeholder="--"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="初登日期" prop="FIRSTSHOW_DATE">
<el-input v-model="data.form.FIRSTSHOW_DATE"
placeholder="--"
disabled
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="所属省份" prop="PROVINCE">
<el-input v-model="data.form.PROVINCE"
placeholder="--"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="所属地市" prop="CITY">
<el-input v-model="data.form.CITY"
placeholder="--"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="所属区县" prop="COUNTY">
<el-input v-model="data.form.COUNTY"
placeholder="--"
disabled
/>
</el-form-item>
</el-col>
<el-divider content-position="left">挂车税务信息</el-divider>
<el-col :span="6">
<el-form-item label="车主业主" prop="VEHICLEOWNER">
<el-input v-model="data.form.VEHICLEOWNER" placeholder="请填写车主业主" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="联系电话" prop="CONTACT_NUMBER">
<el-input v-model="data.form.CONTACT_NUMBER" placeholder="请填写联系电话" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="登记人" prop="REGISTRANT">
<el-input v-model="data.form.REGISTRANT" placeholder="请填写登记人" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="税费周期" prop="TAXESDUES_PERIOD">
<el-select v-model="data.form.TAXESDUES_PERIOD">
<el-option
v-for="item in TaxesPeriodList"
:key="item.BIANMA"
:label="item.NAME"
:value="item.NAME"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="到期日期" prop="EXPIRE_DATE">
<el-date-picker
v-model="data.form.EXPIRE_DATE"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
placeholder="请选择到期日期"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="提醒天数" prop="REMINDER_DAY">
<el-input v-model="data.form.REMINDER_DAY" placeholder="请填写提醒天数" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="提醒日期" prop="REMINDER_DATA">
<el-date-picker
v-model="data.form.REMINDER_DATA"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
placeholder="请选择提醒日期"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="办理日期" prop="TRANSACTION_DATA">
<el-date-picker
v-model="data.form.TRANSACTION_DATA"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
placeholder="请选择办理日期"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="提醒状态">
<el-switch
v-model="data.form.REMINDER_STATUS"
active-value="0"
inactive-value="1"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="行驶证照片" prop="OPERATING_CERTIFICATE_PHOTO">
<layout-upload
v-model:file-list="data.form.OPERATING_CERTIFICATE_PHOTO"
list-type="picture-card"
accept=".jpg,.jpeg,.png"
delete-to-server
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="税费资料" prop="TAXESDUES_MATERIAL">
<el-input
v-model="data.form.TAXESDUES_MATERIAL"
placeholder="请填写税费资料"
type="textarea"
:autosize="{ minRows: 3 }"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="备注" prop="REMARK">
<el-input
v-model="data.form.REMARK"
placeholder="请填写备注"
type="textarea"
:autosize="{ minRows: 3 }"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="tc mt-10">
<el-button type="primary" @click="fnSubmit"></el-button>
</div>
</layout-card>
</template>
<script setup>
import { reactive, ref } from "vue";
import {
layoutFnGetTaxesPeriod,
} from "@/assets/js/taxation_manage.js";
import { debounce } from "throttle-debounce";
import useFormValidate from "@/assets/js/useFormValidate.js";
import { editTaxationManageInfo, findByIdTaxationManageInfo } from "@/request/taxation_manage.js";
import { ElMessage } from "element-plus";
import { useRoute, useRouter } from "vue-router";
import LayoutUpload from "@/components/upload/index.vue";
const route = useRoute();
const router = useRouter();
const { TAXATION_ID } = route.query;
const TaxesPeriodList = await layoutFnGetTaxesPeriod();
const rules = {
TRAILER_VEHICLE: [{ required: true, message: "挂车车辆不能为空", trigger: "change" }],
VEHICLEOWNER: [{ required: true, message: "车主/业主不能为空", trigger: "blur" }],
CONTACT_NUMBER: [{required: true, message: "联系电话不能为空", trigger: "blur"}],
REGISTRANT: [{required: true, message: "登记人不能为空", trigger: "blur"}],
TRANSACTION_DATA: [{required: true, message: "办理日期不能为空", trigger: "change"}],
TAXESDUES_PERIOD: [{required: true, message: "税费周期不能为空", trigger: "change"}],
EXPIRE_DATE: [{required: true, message: "到期日期不能为空", trigger: "change"}],
REMINDER_DAY: [{required: true, message: "提醒天数不能为空", trigger: "blur"}],
REMINDER_DATA: [{required: true, message: "提醒日期不能为空", trigger: "change"}]
};
const formRef = ref(null);
const data = reactive({
form: {
TAXATION_ID: "",
RECORD_NUMBER: "",
PLATE_NUMBER: "",
VEHICLEOWNER: "",
CONTACT_NUMBER: "",
TRANSACTION_DATA: "",
TAXESDUES_PERIOD: "",
EXPIRE_DATE: "",
REGISTRANT: "",
TRANSPORT_ENTERPRISES: "",
REMINDER_STATUS: "",
EXPIRE_STATUS: "",
RECORD_STATUS: "",
TRAILER_VEHICLE: "",
FRAMES_NUMBER: "",
VEHICLE_TYPE: "",
VEHICLEOWNER_NUMBER: "",
FIRSTSHOW_DATE: "",
PROVINCE: "",
CITY: "",
COUNTY: "",
REMINDER_DAY: "",
REMINDER_DATA: "",
TAXESDUES_MATERIAL: "",
REMARK: "",
REGISTER_NUMBER: "",
VEHICLE_MODEL: "",
VEHICLE_BRAND: "",
DRIVINGLICENSE_PHOTO: ""
},
TAXATION_NUMBER: "",
});
const fnGetData = async () => {
if(TAXATION_ID) {
const resData = await findByIdTaxationManageInfo({ TAXATION_ID });
data.form = resData.pd;
}
}
fnGetData();
const fnSubmit = debounce(
1000,
async () => {
await useFormValidate(formRef);
const formData = new FormData();
Object.keys(data.form).forEach((key) => {
formData.append(key, data.form[key]);
});
formData.delete("DRIVINGLICENSE_PHOTO");
if(data.form.DRIVINGLICENSE_PHOTO){
if (data.form.DRIVINGLICENSE_PHOTO[0].raw) formData.append("drivinglicenseFile", data.form.DRIVINGLICENSE_PHOTO[0].raw);
formData.append("drivinglicenseFile", !!data.form.DRIVINGLICENSE_PHOTO[0].raw);
}
await editTaxationManageInfo(formData);
ElMessage.success("提交成功");
router.back();
},
{ atBegin: true }
);
</script>
<style scoped lang="scss"></style>

View File

@ -0,0 +1,219 @@
<template>
<div>
<el-card>
<el-form
:model="searchForm"
label-width="90px"
@submit.prevent="fnGetDataTransfer"
>
<el-row>
<el-col :span="6">
<el-form-item label="车牌号" prop="PLATE_NUMBER">
<el-input
v-model="searchForm.PLATE_NUMBER"
placeholder="请填写车牌号"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="车主业主" prop="VEHICLEOWNER">
<el-input
v-model="searchForm.VEHICLEOWNER"
placeholder="请填写车主业主"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="登记人" prop="REGISTRANT">
<el-input
v-model="searchForm.REGISTRANT"
placeholder="请填写登记人"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="到期日期" prop="CERTIFICATE_DATE">
<el-date-picker
v-model="searchForm.EXPIRE_DATE"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
type="date"
placeholder="请选择到期日期"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="到期状态" prop="EXPIRE_STATUS">
<el-select
v-model="searchForm.EXPIRE_STATUS"
placeholder="请选择到期状态"
>
<el-option
v-for="item in expireStatusList"
:key="item.BIANMA"
:label="item.NAME"
:value="item.BIANMA"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="提醒状态" prop="REMINDER_STATUS">
<el-select
v-model="searchForm.REMINDER_STATUS"
placeholder="请选择提醒状态"
>
<el-option
v-for="item in remindStatusList"
:key="item.BIANMA"
:label="item.NAME"
:value="item.NAME"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label-width="10px">
<el-button type="primary" native-type="submit">搜索</el-button>
<el-button native-type="reset" @click="fnResetPaginationTransfer">
重置
</el-button>
<el-button>导出</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card>
<layout-card>
<layout-table
v-model:pagination="pagination"
:data="list"
@get-data="fnGetDataTransfer"
>
<el-table-column label="序号" width="70">
<template #default="{ $index }">
{{ serialNumber(pagination, $index) }}
</template>
</el-table-column>
<el-table-column prop="RECORD_NUMBER" label="档案号" />
<el-table-column prop="PLATE_NUMBER" label="车牌号" />
<el-table-column prop="VEHICLEOWNER" label="车主业主" />
<el-table-column prop="CONTACT_NUMBER" label="联系电话" />
<el-table-column prop="TRANSACTION_DATA" label="办理日期" />
<el-table-column prop="TAXESDUES_PERIOD" label="税费周期" />
<el-table-column prop="EXPIRE_DATE" label="到期日期" />
<el-table-column prop="REGISTRANT" label="登记人" />
<el-table-column prop="CREATTIME" label="创建时间" />
<el-table-column prop="OPERATTIME" label="更改时间" />
<el-table-column prop="REMINDER_STATUS" label="提醒状态" >
<template #default="{ row }">
<el-tag v-if="row.REMINDER_STATUS === '0'"></el-tag>
<el-tag v-else-if="row.REMINDER_STATUS === '1'">关闭</el-tag>
</template>
</el-table-column>
<el-table-column prop="EXPIRE_STATUS" label="到期状态">
<template #default="{ row }">
<el-tag v-if="row.EXPIRE_STATUS === '已到期'"></el-tag>
<el-tag v-else-if="row.EXPIRE_STATUS === ''">未到期</el-tag>
</template>
</el-table-column>
<el-table-column prop="RECORD_STATUS" label="档案状态" />
<el-table-column label="操作" width="150">
<template #default="{ row }">
<el-button
type="primary"
text
link
@click="
router.push({
path: '/mechanical_files/taxation_manage/view',
query: { TAXATION_ID: row.TAXATION_ID },
})
"
>
查看
</el-button>
<el-button
type="primary"
text
link
@click="
router.push({
path: '/mechanical_files/taxation_manage/edit',
query: { TAXATION_ID: row.TAXATION_ID },
})
"
>
修改
</el-button>
<el-button
v-if="buttonJurisdiction.del"
type="primary"
text
link
@click="fnDelete(row.TAXATION_ID)"
>
删除
</el-button>
</template>
</el-table-column>
<template #button>
<el-button
v-if="buttonJurisdiction.add"
type="primary"
@click="
router.push({ path: '/mechanical_files/taxation_manage/add' })
"
>
新增
</el-button>
</template>
</layout-table>
</layout-card>
</div>
</template>
<script setup>
import { serialNumber } from "@/assets/js/utils.js";
import useListData from "@/assets/js/useListData.js";
import {
layoutFnGetExpireStatus,
layoutFnGetRemindStatus,
} from "@/assets/js/taxation_manage.js";
import {
getTaxationManageList,
setTaxatonManageDelete,
} from "@/request/taxation_manage.js";
import { useRouter } from "vue-router";
import useButtonJurisdiction from "@/assets/js/useButtonJurisdiction.js";
import { debounce } from "throttle-debounce";
import { ElMessage, ElMessageBox } from "element-plus";
const router = useRouter();
const { list, pagination, searchForm, fnGetData, fnResetPagination } =
useListData(getTaxationManageList, {});
const expireStatusList = await layoutFnGetExpireStatus();
const remindStatusList = await layoutFnGetRemindStatus();
const fnGetDataTransfer = () => {
fnGetData({
DEPTIDS: searchForm.value.DEPTIDS?.join(","),
});
};
const fnResetPaginationTransfer = () => {
searchForm.value = {};
fnResetPagination({
DEPTIDS: searchForm.value.DEPTIDS?.join(","),
});
};
const fnDelete = debounce(
1000,
async (TAXATION_ID) => {
await ElMessageBox.confirm("确定要删除吗?", { type: "warning" });
await setTaxatonManageDelete({ TAXATION_ID });
ElMessage.success("删除成功");
},
{ atBegin: true }
);
const buttonJurisdiction = await useButtonJurisdiction("operation");
</script>
<style scoped></style>

View File

@ -0,0 +1,89 @@
<template>
<layout-card>
<el-divider content-position="left">基本信息</el-divider>
<el-descriptions border>
<el-descriptions-item label="登记编号">
{{ data.RECORD_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="车牌号">
{{ data.PLATE_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="车架号">
{{ data.FRAMES_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="车辆类型">
{{ data.VEHICLE_TYPE }}
</el-descriptions-item>
<el-descriptions-item label="车辆型号">
{{ data.VEHICLE_MODEL }}
</el-descriptions-item>
<el-descriptions-item label="车辆品牌">
{{ data.VEHICLE_BRAND }}
</el-descriptions-item>
<el-descriptions-item label="车主业主">
{{ data.VEHICLEOWNER }}
</el-descriptions-item>
<el-descriptions-item label="联系电话">
{{ data.CONTACT_NUMBER }}
</el-descriptions-item>
<el-descriptions-item label="初登日期">
{{ data.FIRSTSHOW_DATE }}
</el-descriptions-item>
</el-descriptions>
<el-divider content-position="left">挂车税费信息</el-divider>
<el-descriptions border>
<el-descriptions-item label="登记人">
{{ data.REGISTRANT }}
</el-descriptions-item>
<el-descriptions-item label="办理日期">
{{ data.TRANSACTION_DATA }}
</el-descriptions-item>
<el-descriptions-item label="税费周期">
{{ data.TAXESDUES_PERIOD }}
</el-descriptions-item>
<el-descriptions-item label="到期日期">
{{ data.EXPIRE_DATE }}
</el-descriptions-item>
<el-descriptions-item label="提醒天数">
{{ data.REMINDER_DAY }}
</el-descriptions-item>
<el-descriptions-item label="提醒日期">
{{ data.REMINDER_DATA }}
</el-descriptions-item>
<el-descriptions-item label="提醒状态">
<span v-if="data.REMINDER_STATUS === '0'"></span>
<span v-else-if="data.REMINDER_STATUS === '1'">关闭</span>
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item label="税费资料">
{{ data.TAXESDUES_MATERIAL }}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="1" border>
<el-descriptions-item label="备注">
{{ data.REMARK }}
</el-descriptions-item>
</el-descriptions>
</layout-card>
</template>
<script setup>
import {
findByIdTaxationManageInfo,
} from "@/request/taxation_manage.js";
import { useRoute } from "vue-router";
import { ref } from "vue";
const route = useRoute();
const { TAXATION_ID } = route.query;
const data = ref({});
const getData = async () => {
const { pd } = await findByIdTaxationManageInfo({ TAXATION_ID });
data.value = pd;
};
getData();
</script>
<style scoped></style>