From c21a36423321d4a082ad15d0bc938ae204799ccd Mon Sep 17 00:00:00 2001 From: zhangyue <82248909@qq.com> Date: Sat, 1 Aug 2026 18:37:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=BD=A6=E8=BE=86=EF=BC=8Cgp?= =?UTF-8?q?s=E7=AE=A1=E7=90=86=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/appmana/gpsinfo/SurvGpsInfo.api.ts | 64 ++++ src/views/appmana/gpsinfo/SurvGpsInfo.data.ts | 163 +++++++++++ src/views/appmana/gpsinfo/SurvGpsInfoList.vue | 173 +++++++++++ .../gpsinfo/components/SurvGpsInfoForm.vue | 70 +++++ .../gpsinfo/components/SurvGpsInfoModal.vue | 66 +++++ .../appmana/gpsrecord/SurvGpsRecord.api.ts | 64 ++++ .../appmana/gpsrecord/SurvGpsRecord.data.ts | 275 ++++++++++++++++++ .../appmana/gpsrecord/SurvGpsRecordList.vue | 173 +++++++++++ .../components/SurvGpsRecordForm.vue | 70 +++++ .../components/SurvGpsRecordModal.vue | 66 +++++ .../appmana/vehicle/SurvVehicleInfo.api.ts | 64 ++++ .../appmana/vehicle/SurvVehicleInfo.data.ts | 161 ++++++++++ .../appmana/vehicle/SurvVehicleInfoList.vue | 173 +++++++++++ .../components/SurvVehicleInfoForm.vue | 70 +++++ .../components/SurvVehicleInfoModal.vue | 66 +++++ 15 files changed, 1718 insertions(+) create mode 100644 src/views/appmana/gpsinfo/SurvGpsInfo.api.ts create mode 100644 src/views/appmana/gpsinfo/SurvGpsInfo.data.ts create mode 100644 src/views/appmana/gpsinfo/SurvGpsInfoList.vue create mode 100644 src/views/appmana/gpsinfo/components/SurvGpsInfoForm.vue create mode 100644 src/views/appmana/gpsinfo/components/SurvGpsInfoModal.vue create mode 100644 src/views/appmana/gpsrecord/SurvGpsRecord.api.ts create mode 100644 src/views/appmana/gpsrecord/SurvGpsRecord.data.ts create mode 100644 src/views/appmana/gpsrecord/SurvGpsRecordList.vue create mode 100644 src/views/appmana/gpsrecord/components/SurvGpsRecordForm.vue create mode 100644 src/views/appmana/gpsrecord/components/SurvGpsRecordModal.vue create mode 100644 src/views/appmana/vehicle/SurvVehicleInfo.api.ts create mode 100644 src/views/appmana/vehicle/SurvVehicleInfo.data.ts create mode 100644 src/views/appmana/vehicle/SurvVehicleInfoList.vue create mode 100644 src/views/appmana/vehicle/components/SurvVehicleInfoForm.vue create mode 100644 src/views/appmana/vehicle/components/SurvVehicleInfoModal.vue diff --git a/src/views/appmana/gpsinfo/SurvGpsInfo.api.ts b/src/views/appmana/gpsinfo/SurvGpsInfo.api.ts new file mode 100644 index 0000000..30df382 --- /dev/null +++ b/src/views/appmana/gpsinfo/SurvGpsInfo.api.ts @@ -0,0 +1,64 @@ +import {defHttp} from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/appmana/survGpsInfo/list', + save = '/appmana/survGpsInfo/add', + edit = '/appmana/survGpsInfo/edit', + deleteOne = '/appmana/survGpsInfo/delete', + deleteBatch = '/appmana/survGpsInfo/deleteBatch', + importExcel = '/appmana/survGpsInfo/importExcel', + exportXls = '/appmana/survGpsInfo/exportXls', +} +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; +/** + * 列表接口 + * @param params + */ +export const list = (params) => + defHttp.get({url: Api.list, params}); + +/** + * 删除单个 + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} +/** + * 批量删除 + * @param params + */ +export const batchDelete = (params, handleSuccess) => { + createConfirm({ + iconType: 'warning', + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} +/** + * 保存或者更新 + * @param params + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({url: url, params}); +} diff --git a/src/views/appmana/gpsinfo/SurvGpsInfo.data.ts b/src/views/appmana/gpsinfo/SurvGpsInfo.data.ts new file mode 100644 index 0000000..72da806 --- /dev/null +++ b/src/views/appmana/gpsinfo/SurvGpsInfo.data.ts @@ -0,0 +1,163 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '设备编号', + align: 'center', + dataIndex: 'gpsCode', + }, + { + title: '牌照号', + align: 'center', + dataIndex: 'gpsPlateNumber', + }, + { + title: '设备id', + align: 'center', + dataIndex: 'gpsDeviceId', + }, + { + title: 'gsp状态', + align: 'center', + dataIndex: 'statusDesc', + }, + { + title: '在线状态', + align: 'center', + dataIndex: 'onlineStatusDesc', + }, + { + title: '最后更新时间', + align: 'center', + dataIndex: 'lastUpdTime', + customRender: ({ text }) => { + return !text ? '' : text.length > 10 ? text.substr(0, 10) : text; + }, + }, + { + title: '最后更新时间', + align: 'center', + dataIndex: 'lastSyncTime', + customRender: ({ text }) => { + return !text ? '' : text.length > 10 ? text.substr(0, 10) : text; + }, + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ + { + field: 'gpsCode', + label: '设备编号', + component: 'Input', + colProps: { span: 8 }, + }, +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '牌照号', + field: 'gpsPlateNumber', + component: 'Input', + }, + { + label: '设备id', + field: 'gpsDeviceId', + component: 'Input', + }, + { + label: '设备编号', + field: 'gpsCode', + component: 'Input', + }, + { + label: '设备识别码', + field: 'gpsIdent', + component: 'Input', + }, + { + label: '是否在线', + field: 'onlineStatusDesc', + component: 'Input', + componentProps: { + disabled: true, + }, + }, + { + label: '是否启用', + field: 'gpsStatus', + defaultValue: 1, + component: 'JDictSelectTag', + componentProps: { + type: 'radioButton', + dictCode: 'yn', + stringToNumber: true, + }, + }, + { + label: '速度', + field: 'gpsSpeed', + component: 'Input', + }, + { + label: '设防状态', + field: 'defenceStatus', + component: 'Input', + }, + { + label: '定位时间', + field: 'gpsTime', + component: 'Input', + }, + { + label: 'sim卡号', + field: 'simNum', + component: 'Input', + }, + { + label: '设备型号', + field: 'macName', + component: 'Input', + }, + { + label: '最后更新时间', + field: 'lastUpdTime', + component: 'DatePicker', + }, + { + label: '最后更新时间', + field: 'lastSyncTime', + component: 'DatePicker', + }, + { + label: '设备备注', + field: 'gpsNotes', + component: 'Input', + }, + + { + label: '排序值', + field: 'sortNo', + component: 'InputNumber', + }, + // TODO 主键隐藏字段,目前写死为ID + { + label: '', + field: 'id', + component: 'Input', + show: false, + }, +]; + + + +/** +* 流程表单调用这个方法获取formSchema +* @param param +*/ +export function getBpmFormSchema(_formData): FormSchema[]{ + // 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema + return formSchema; +} diff --git a/src/views/appmana/gpsinfo/SurvGpsInfoList.vue b/src/views/appmana/gpsinfo/SurvGpsInfoList.vue new file mode 100644 index 0000000..e672c53 --- /dev/null +++ b/src/views/appmana/gpsinfo/SurvGpsInfoList.vue @@ -0,0 +1,173 @@ + + + + + diff --git a/src/views/appmana/gpsinfo/components/SurvGpsInfoForm.vue b/src/views/appmana/gpsinfo/components/SurvGpsInfoForm.vue new file mode 100644 index 0000000..ff77809 --- /dev/null +++ b/src/views/appmana/gpsinfo/components/SurvGpsInfoForm.vue @@ -0,0 +1,70 @@ + + + \ No newline at end of file diff --git a/src/views/appmana/gpsinfo/components/SurvGpsInfoModal.vue b/src/views/appmana/gpsinfo/components/SurvGpsInfoModal.vue new file mode 100644 index 0000000..901f559 --- /dev/null +++ b/src/views/appmana/gpsinfo/components/SurvGpsInfoModal.vue @@ -0,0 +1,66 @@ + + + + + \ No newline at end of file diff --git a/src/views/appmana/gpsrecord/SurvGpsRecord.api.ts b/src/views/appmana/gpsrecord/SurvGpsRecord.api.ts new file mode 100644 index 0000000..dec0779 --- /dev/null +++ b/src/views/appmana/gpsrecord/SurvGpsRecord.api.ts @@ -0,0 +1,64 @@ +import {defHttp} from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/appmana/survGpsRecord/list', + save = '/appmana/survGpsRecord/add', + edit = '/appmana/survGpsRecord/edit', + deleteOne = '/appmana/survGpsRecord/delete', + deleteBatch = '/appmana/survGpsRecord/deleteBatch', + importExcel = '/appmana/survGpsRecord/importExcel', + exportXls = '/appmana/survGpsRecord/exportXls', +} +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; +/** + * 列表接口 + * @param params + */ +export const list = (params) => + defHttp.get({url: Api.list, params}); + +/** + * 删除单个 + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} +/** + * 批量删除 + * @param params + */ +export const batchDelete = (params, handleSuccess) => { + createConfirm({ + iconType: 'warning', + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} +/** + * 保存或者更新 + * @param params + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({url: url, params}); +} diff --git a/src/views/appmana/gpsrecord/SurvGpsRecord.data.ts b/src/views/appmana/gpsrecord/SurvGpsRecord.data.ts new file mode 100644 index 0000000..fa2d4a3 --- /dev/null +++ b/src/views/appmana/gpsrecord/SurvGpsRecord.data.ts @@ -0,0 +1,275 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '车辆名称', + align: 'center', + dataIndex: 'vehicleName', + }, + { + title: '设备id', + align: 'center', + dataIndex: 'gpsDeviceId', + }, + { + title: '设备号', + align: 'center', + dataIndex: 'gpsCode', + }, + { + title: '数据采集时间', + align: 'center', + dataIndex: 'dataDateTime', + customRender: ({ text }) => { + return !text ? '' : text.length > 10 ? text.substr(0, 10) : text; + }, + }, + { + title: '经度', + align: 'center', + dataIndex: 'jingdu', + }, + { + title: '纬度', + align: 'center', + dataIndex: 'weidu', + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ + { + label: '车辆', + field: 'gpsId', + component: 'JDictSelectTag', + componentProps: { + dictCode: 'surv_vehicle_info,VE_NOTES,GPS_ID', + placeholder: '请选择车辆', + stringToNumber: false, + }, + colProps: { span: 8 }, + }, + { + field: 'startTime', + label: '采集时间', + component: 'DatePicker', + componentProps: { + format: 'YYYY-MM-DD', + valueFormat: 'YYYY-MM-DD', + }, + colProps: { span: 8 }, + }, +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '车辆名称', + field: 'vehicleName', + component: 'Input', + }, + { + label: '设备id', + field: 'gpsDeviceId', + component: 'Input', + }, + { + label: '设备号', + field: 'gpsCode', + component: 'Input', + }, + { + label: '数据采集时间', + field: 'dataDateTime', + component: 'DatePicker', + }, + { + label: '设备定位时间', + field: 'sysTime', + component: 'Input', + }, + { + label: '设备名称', + field: 'userName', + component: 'Input', + }, + { + label: '经度;gps定位', + field: 'jingdu', + component: 'Input', + }, + { + label: '纬度;gps定位', + field: 'weidu', + component: 'Input', + }, + { + label: '基站经度;基站或wifi定位 使用此处经纬度', + field: 'ljingdu', + component: 'Input', + }, + { + label: '基站纬度;基站或wifi定位 使用此处经纬度', + field: 'lweidu', + component: 'Input', + }, + { + label: '数据更新时间;服务器接收时间', + field: 'datetime', + component: 'Input', + }, + { + label: '设备心跳时间;信号时间', + field: 'heartTime', + component: 'Input', + }, + { + label: '速度', + field: 'su', + component: 'Input', + }, + { + label: '状态组;如下表status', + field: 'status', + component: 'Input', + }, + { + label: '方向', + field: 'hangxiang', + component: 'Input', + }, + { + label: '设备编号;对应 GPS_CODE 设备号', + field: 'simId', + component: 'Input', + }, + { + label: '设备id;对应GPS_IDENT 识别码', + field: 'userId', + component: 'Input', + }, + { + label: '销售类型-无用途', + field: 'saleType', + component: 'Input', + }, + { + label: '图标', + field: 'icontype', + component: 'Input', + }, + { + label: '系统时间;当前时间', + field: 'serverTime', + component: 'Input', + }, + { + label: '设备类型;例如A15', + field: 'productType', + component: 'Input', + }, + { + label: '到期时间;一般为204x年,2393798400000', + field: 'expireDate', + component: 'Input', + }, + { + label: '监控组ID', + field: 'groupId', + component: 'Input', + }, + { + label: '信息组;如下表status', + field: 'statenumber', + component: 'Input', + }, + { + label: '例如100', + field: 'electric', + component: 'Input', + }, + { + label: '设备描述信息;例如 ICCID:通常存放一些设备上传的运行参数', + field: 'describe', + component: 'Input', + }, + { + label: 'sim卡', + field: 'sim', + component: 'Input', + }, + { + label: '精度误差;当值为10表示gps定位,无精度', + field: 'precision', + component: 'Input', + }, + { + label: '是否关注', + field: 'isfollow', + component: 'Input', + }, + { + label: '车牌号', + field: 'platenumber', + component: 'Input', + }, + { + label: '授权信息', + field: 'auth', + component: 'Input', + }, + { + label: '授权列表', + field: 'authlist', + component: 'Input', + }, + { + label: '部门名称', + field: 'deptname', + component: 'Input', + }, + { + label: '是否显示位置', + field: 'isshowlocation', + component: 'Input', + }, + { + label: '模板扩展', + field: 'tempext', + component: 'Input', + }, + { + label: '卡到期', + field: 'cardexpire', + component: 'Input', + }, + { + label: '地理围栏ID', + field: 'polygonfenceId', + component: 'Input', + }, + { + label: '扩展信息', + field: 'extendedstate', + component: 'Input', + }, + // TODO 主键隐藏字段,目前写死为ID + { + label: '', + field: 'id', + component: 'Input', + show: false, + }, +]; + + + +/** +* 流程表单调用这个方法获取formSchema +* @param param +*/ +export function getBpmFormSchema(_formData): FormSchema[]{ + // 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema + return formSchema; +} diff --git a/src/views/appmana/gpsrecord/SurvGpsRecordList.vue b/src/views/appmana/gpsrecord/SurvGpsRecordList.vue new file mode 100644 index 0000000..75333ca --- /dev/null +++ b/src/views/appmana/gpsrecord/SurvGpsRecordList.vue @@ -0,0 +1,173 @@ + + + + + diff --git a/src/views/appmana/gpsrecord/components/SurvGpsRecordForm.vue b/src/views/appmana/gpsrecord/components/SurvGpsRecordForm.vue new file mode 100644 index 0000000..8044e4d --- /dev/null +++ b/src/views/appmana/gpsrecord/components/SurvGpsRecordForm.vue @@ -0,0 +1,70 @@ + + + \ No newline at end of file diff --git a/src/views/appmana/gpsrecord/components/SurvGpsRecordModal.vue b/src/views/appmana/gpsrecord/components/SurvGpsRecordModal.vue new file mode 100644 index 0000000..e571cba --- /dev/null +++ b/src/views/appmana/gpsrecord/components/SurvGpsRecordModal.vue @@ -0,0 +1,66 @@ + + + + + \ No newline at end of file diff --git a/src/views/appmana/vehicle/SurvVehicleInfo.api.ts b/src/views/appmana/vehicle/SurvVehicleInfo.api.ts new file mode 100644 index 0000000..b30e9b9 --- /dev/null +++ b/src/views/appmana/vehicle/SurvVehicleInfo.api.ts @@ -0,0 +1,64 @@ +import {defHttp} from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/appmana/survVehicleInfo/list', + save = '/appmana/survVehicleInfo/add', + edit = '/appmana/survVehicleInfo/edit', + deleteOne = '/appmana/survVehicleInfo/delete', + deleteBatch = '/appmana/survVehicleInfo/deleteBatch', + importExcel = '/appmana/survVehicleInfo/importExcel', + exportXls = '/appmana/survVehicleInfo/exportXls', +} +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; +/** + * 列表接口 + * @param params + */ +export const list = (params) => + defHttp.get({url: Api.list, params}); + +/** + * 删除单个 + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} +/** + * 批量删除 + * @param params + */ +export const batchDelete = (params, handleSuccess) => { + createConfirm({ + iconType: 'warning', + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} +/** + * 保存或者更新 + * @param params + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({url: url, params}); +} diff --git a/src/views/appmana/vehicle/SurvVehicleInfo.data.ts b/src/views/appmana/vehicle/SurvVehicleInfo.data.ts new file mode 100644 index 0000000..36d9064 --- /dev/null +++ b/src/views/appmana/vehicle/SurvVehicleInfo.data.ts @@ -0,0 +1,161 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '车辆名称', + align:"center", + dataIndex: 'veNotes' + }, + { + title: '驾驶员姓名', + align:"center", + dataIndex: 'veDriver' + }, + { + title: '车牌号', + align:"center", + dataIndex: 'vePlate' + }, + { + title: '品牌', + align:"center", + dataIndex: 'veBrand' + }, + { + title: '绑定gps', + align:"center", + dataIndex: 'gpsCode' + }, + { + title: '联系电话', + align:"center", + dataIndex: 'vePhone' + }, + { + title: '车辆说明', + align:"center", + dataIndex: 'veDes' + }, + { + title: '车辆状态', + align:"center", + dataIndex: 'veStatus' + }, + { + title: '排序值', + align:"center", + dataIndex: 'sortNo' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ + { + label: '绑定gps', + field: 'gpsId', + component: 'JDictSelectTag', + componentProps: { + dictCode: 'surv_gps_info,GPS_CODE,ID', + placeholder: '请选择绑定gps', + stringToNumber: false, + }, + colProps: { span: 6 }, + }, + { + field: 'vehicleName', + label: '车辆名称', + component: 'Input', + colProps: { span: 8 }, + }, + { + field: 'driverName', + label: '司机名称', + component: 'Input', + colProps: { span: 8 }, + }, +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '车辆名称', + field: 'veNotes', + component: 'Input', + }, + { + label: '绑定gps', + field: 'gpsId', + component: 'JDictSelectTag', + componentProps: { + dictCode: 'surv_gps_info,GPS_CODE,ID', + placeholder: '请选择绑定gps', + stringToNumber: false, + }, + }, + { + label: '驾驶员姓名', + field: 'veDriver', + component: 'Input', + }, + { + label: '车牌号', + field: 'vePlate', + component: 'Input', + }, + { + label: '品牌', + field: 'veBrand', + component: 'Input', + }, + { + label: '车型', + field: 'veModel', + component: 'Input', + }, + { + label: '联系电话', + field: 'vePhone', + component: 'Input', + }, + { + label: '车辆说明', + field: 'veDes', + component: 'Input', + }, + { + field: 'veStatus', + label: '是否启用', + defaultValue: 1, + component: 'JDictSelectTag', + componentProps: { + type: 'radioButton', + dictCode: 'yn', + stringToNumber: true, + }, + }, + { + label: '排序值', + field: 'sortNo', + component: 'InputNumber', + }, + + // TODO 主键隐藏字段,目前写死为ID + { + label: '', + field: 'id', + component: 'Input', + show: false, + }, +]; + + + +/** +* 流程表单调用这个方法获取formSchema +* @param param +*/ +export function getBpmFormSchema(_formData): FormSchema[]{ + // 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema + return formSchema; +} diff --git a/src/views/appmana/vehicle/SurvVehicleInfoList.vue b/src/views/appmana/vehicle/SurvVehicleInfoList.vue new file mode 100644 index 0000000..a65f148 --- /dev/null +++ b/src/views/appmana/vehicle/SurvVehicleInfoList.vue @@ -0,0 +1,173 @@ + + + + + diff --git a/src/views/appmana/vehicle/components/SurvVehicleInfoForm.vue b/src/views/appmana/vehicle/components/SurvVehicleInfoForm.vue new file mode 100644 index 0000000..ddf66cc --- /dev/null +++ b/src/views/appmana/vehicle/components/SurvVehicleInfoForm.vue @@ -0,0 +1,70 @@ + + + \ No newline at end of file diff --git a/src/views/appmana/vehicle/components/SurvVehicleInfoModal.vue b/src/views/appmana/vehicle/components/SurvVehicleInfoModal.vue new file mode 100644 index 0000000..8bf44d2 --- /dev/null +++ b/src/views/appmana/vehicle/components/SurvVehicleInfoModal.vue @@ -0,0 +1,66 @@ + + + + + \ No newline at end of file