diff --git a/src/api/modular/main/TenantConfig.js b/src/api/modular/main/TenantConfig.js
new file mode 100644
index 0000000..08fe1ce
--- /dev/null
+++ b/src/api/modular/main/TenantConfig.js
@@ -0,0 +1,107 @@
+import { axios } from '@/utils/request'
+
+/**
+ * 下拉列表
+ */
+export function DjyTenantConfigPage(parameter) {
+ return axios({
+ url: '/DjyTenantConfig/page',
+ method: 'get',
+ params: parameter
+ })
+}
+/**
+ * 新增编辑
+ */
+export function DjyVesselInfoServiceAddOrUpdate(parameter) {
+ return axios({
+ url: '/DjyVesselInfoService/AddOrUpdate',
+ method: 'post',
+ data: parameter
+ })
+}
+/**
+ * 分页查询租户
+ */
+export function SysTenantPage(parameter) {
+ return axios({
+ url: '/sysTenant/page',
+ method: 'get',
+ params: {
+ pageNo: 1,
+ pageSize: 999999,
+ ...parameter
+ }
+ })
+}
+/**
+ * 起始港
+ */
+export function GetPortloadlist(parameter) {
+ return axios({
+ url: '/commondb/portloadlist',
+ method: 'get',
+ params: parameter
+ })
+}
+/**
+ * 目的港 (中转)
+ */
+export function GetPortlist(parameter) {
+ return axios({
+ url: '/commondb/portlist',
+ method: 'get',
+ params: parameter
+ })
+}
+/**
+ * 获取船公司
+ * @params CnName
+ */
+export function GetCarrierlist(parameter) {
+ return axios({
+ url: '/commondb/carrierlist',
+ method: 'get',
+ params: parameter
+ })
+}
+/**
+ * 分页查询用户
+ */
+export function SysUserPage(parameter) {
+ return axios({
+ url: '/sysUser/page',
+ method: 'get',
+ params: { PageNo: 1, PageSize: 999 }
+ })
+}
+/**
+ * 获取订舱打印模板列表(带有当前用户打印历史排序)
+ */
+export function BookingPrintTemplatePage(parameter) {
+ return axios({
+ url: '/BookingPrintTemplate/page',
+ method: 'get',
+ params: { PageNo: 1, PageSize: 999 }
+ })
+}
+/**
+ * 获取订舱打印模板列表(带有当前用户打印历史排序)
+ */
+export function BookingPrintTemplateGetPrintTemplateList(parameter) {
+ return axios({
+ url: '/BookingPrintTemplate/GetPrintTemplateList',
+ method: 'get',
+ params: { PageNo: 1, PageSize: 999 }
+ })
+}
+/**
+ * 删除打印模板权限
+ */
+export function BookingPrintTemplateDeletePrinttemplateRight(parameter) {
+ return axios({
+ url: '/BookingPrintTemplate/DeletePrinttemplateRight',
+ method: 'get',
+ params: parameter
+ })
+}
diff --git a/src/api/modular/main/vesselinfo.js b/src/api/modular/main/vesselinfo.js
new file mode 100644
index 0000000..869568a
--- /dev/null
+++ b/src/api/modular/main/vesselinfo.js
@@ -0,0 +1,107 @@
+import { axios } from '@/utils/request'
+
+/**
+ * 下拉列表
+ */
+export function DjyVesselInfoServiceGetListPage(parameter) {
+ return axios({
+ url: '/DjyVesselInfoService/GetListPage',
+ method: 'get',
+ params: parameter
+ })
+}
+/**
+ * 新增编辑
+ */
+export function DjyVesselInfoServiceAddOrUpdate(parameter) {
+ return axios({
+ url: '/DjyVesselInfoService/AddOrUpdate',
+ method: 'post',
+ data: parameter
+ })
+}
+/**
+ * 分页查询租户
+ */
+export function SysTenantPage(parameter) {
+ return axios({
+ url: '/sysTenant/page',
+ method: 'get',
+ params: {
+ pageNo: 1,
+ pageSize: 999999,
+ ...parameter
+ }
+ })
+}
+/**
+ * 起始港
+ */
+export function GetPortloadlist(parameter) {
+ return axios({
+ url: '/commondb/portloadlist',
+ method: 'get',
+ params: parameter
+ })
+}
+/**
+ * 目的港 (中转)
+ */
+export function GetPortlist(parameter) {
+ return axios({
+ url: '/commondb/portlist',
+ method: 'get',
+ params: parameter
+ })
+}
+/**
+ * 获取船公司
+ * @params CnName
+ */
+export function GetCarrierlist(parameter) {
+ return axios({
+ url: '/commondb/carrierlist',
+ method: 'get',
+ params: parameter
+ })
+}
+/**
+ * 分页查询用户
+ */
+export function SysUserPage(parameter) {
+ return axios({
+ url: '/sysUser/page',
+ method: 'get',
+ params: { PageNo: 1, PageSize: 999 }
+ })
+}
+/**
+ * 获取订舱打印模板列表(带有当前用户打印历史排序)
+ */
+export function BookingPrintTemplatePage(parameter) {
+ return axios({
+ url: '/BookingPrintTemplate/page',
+ method: 'get',
+ params: { PageNo: 1, PageSize: 999 }
+ })
+}
+/**
+ * 获取订舱打印模板列表(带有当前用户打印历史排序)
+ */
+export function BookingPrintTemplateGetPrintTemplateList(parameter) {
+ return axios({
+ url: '/BookingPrintTemplate/GetPrintTemplateList',
+ method: 'get',
+ params: { PageNo: 1, PageSize: 999 }
+ })
+}
+/**
+ * 删除打印模板权限
+ */
+export function DjyVesselInfoServiceDelete(parameter) {
+ return axios({
+ url: '/DjyVesselInfoService/Delete',
+ method: 'get',
+ params: parameter
+ })
+}
diff --git a/src/views/main/TenantConfig/Data.json b/src/views/main/TenantConfig/Data.json
new file mode 100644
index 0000000..1807ae2
--- /dev/null
+++ b/src/views/main/TenantConfig/Data.json
@@ -0,0 +1,147 @@
+[
+ {
+ "title": "基本信息",
+ "children": [
+ { "name": "客户", "code": "customername" },
+ { "name": "提单号", "code": "mblno" },
+ { "name": "船公司", "code": "carrierid" },
+ { "name": "订舱代理", "code": "forwarder" },
+ { "name": "PO NO", "code": "pono" },
+ { "name": "分提单号", "code": "hblno" },
+ { "name": "订舱编号", "code": "bookingno" },
+ { "name": "约号/EP号", "code": "contractno" },
+ { "name": "船名", "code": "vessel" },
+ { "name": "航线代码", "code": "lanecode" },
+ { "name": "内部航次", "code": "voynoinner" },
+ { "name": "海关航次", "code": "voyno" },
+ { "name": "开船日期", "code": "etd" },
+ { "name": "实际开船", "code": "atd" },
+ { "name": "航线", "code": "lanename" },
+ { "name": "船代", "code": "shipagency" },
+ { "name": "销售人员", "code": "sale" },
+ { "name": "操作人员", "code": "op" },
+ { "name": "单证人员", "code": "doc" },
+ { "name": "客服人员", "code": "custservice" }
+ ]
+ },
+ {
+ "title": "收发通信息",
+ "children": [
+ { "name": "发货人", "code": "shipper" },
+ { "name": "收货人", "code": "consignee" },
+ { "name": "通知人", "code": "notifyparty" },
+ { "name": "场站", "code": "yard" },
+ { "name": "自结", "code": "feeself" },
+ { "name": "报关行", "code": "customser" },
+ { "name": "车队", "code": "trucker" },
+ { "name": "国外代理", "code": "agentid" },
+ { "name": "预抵日期", "code": "eta" },
+ { "name": "截港时间", "code": "closingdate" },
+ { "name": "截单时间", "code": "closedocdate" },
+ { "name": "VGM时间", "code": "closevgmdate" },
+ { "name": "收货代码", "code": "placereceiptid" },
+ { "name": "收货地", "code": "placereceipt" },
+ { "name": "装货港代码", "code": "portloadid" },
+ { "name": "装货港", "code": "portload" },
+ { "name": "中转港代码", "code": "transportid" },
+ { "name": "中转港", "code": "transport" },
+ { "name": "卸货港代码", "code": "portdischargeid" },
+ { "name": "卸货港", "code": "portdischarge" },
+ { "name": "目的代码", "code": "destinationid" },
+ { "name": "目的地", "code": "destination" },
+ { "name": "交货代码", "code": "placedeliveryid" },
+ { "name": "交货地", "code": "placedelivery" },
+ { "name": "件数", "code": "pkgs" },
+ { "name": "包装", "code": "kindpkgs" },
+ { "name": "毛重", "code": "kgs" },
+ { "name": "尺寸", "code": "cbm" }
+ ]
+ },
+ {
+ "title": "货物信息",
+ "children": [
+ { "name": "封志号", "code": "marks" },
+ { "name": "包装种类与货名", "code": "description" },
+ { "name": "货物标志", "code": "cargoid" },
+ { "name": "HS编码", "code": "hscode" }
+ ]
+ },
+ {
+ "title": "签单信息",
+ "children": [
+ { "name": "签单方式", "code": "issuetype" },
+ { "name": "签单日期", "code": "issuedate" },
+ { "name": "签单地点", "code": "issueplace" },
+ { "name": "签单地代码", "code": "issueplaceid" },
+ { "name": "提单份数", "code": "nobill" },
+ { "name": "副本份数", "code": "copynobilll" },
+ { "name": "预付地点", "code": "prepardat" },
+ { "name": "到付地点", "code": "payableat" },
+ { "name": "付费方式", "code": "blfrt" },
+ { "name": "第三付款地", "code": "thirdpayaddr" },
+ { "name": "运输条款", "code": "service" },
+ { "name": "冷藏通风量", "code": "reeferf" },
+ { "name": "设置温度", "code": "tempset" },
+ { "name": "温度单位", "code": "tempid" },
+ { "name": "最低温度", "code": "tempmin" },
+ { "name": "最高温度", "code": "tempmax" },
+ { "name": "湿度", "code": "humidity" },
+ { "name": "危险品等级", "code": "dclass" },
+ { "name": "危险品编号", "code": "dunno" },
+ { "name": "危险品页号", "code": "dpage" },
+ { "name": "危险品标签", "code": "dlabel" },
+ { "name": "危险品联系人", "code": "linkman" }
+ ]
+ },
+ {
+ "title": "备注信息",
+ "children": [
+ { "name": "订舱备注", "code": "soremark" },
+ { "name": "截单备注", "code": "siremark" }
+ ]
+ },
+ {
+ "title": "箱型",
+ "children": [
+ { "name": "箱型", "code": "ctnall" },
+ { "name": "箱量", "code": "ctnnum" },
+ { "name": "箱号", "code": "cntrno" },
+ { "name": "封号", "code": "sealno" },
+ { "name": "件数", "code": "pkgs" },
+ { "name": "包装", "code": "kindpkgs" },
+ { "name": "重量", "code": "kgs" },
+ { "name": "尺码", "code": "cbm" },
+ { "name": "箱皮重", "code": "tareweight" },
+ { "name": "称重方式", "code": "weightype" },
+ { "name": "称重重量", "code": "weighkgs" }
+ ]
+ },
+ {
+ "title": "EDI补充信息",
+ "children": [
+ { "name": "发送方EDI代码", "code": "bookingEDIExt.sendCode" },
+ { "name": "接收方EDI代码", "code": "bookingEDIExt.receiveCode" },
+ { "name": "通知放EDI代码", "code": "bookingEDIExt.notifyCdoe" },
+ { "name": "销售EDI代码", "code": "bookingEDIExt.salerCode" },
+ { "name": "Master Bol Indicator", "code": "bookingEDIExt.masterBolIndicator" },
+ { "name": "EMANIFEST HBL", "code": "bookingEDIExt.emanifestHbl" },
+ { "name": "收货人EDI代码", "code": "bookingEDIExt.consigneeEdiCode" },
+ { "name": "发货人EDI代码", "code": "bookingEDIExt.shipperEdiCode" },
+ { "name": "EDI联系人名称", "code": "bookingEDIExt.ediAttn" },
+ { "name": "EDI联系人电话", "code": "bookingEDIExt.ediAttnTel" },
+ { "name": "EDI联系人邮箱", "code": "bookingEDIExt.ediAttnMail" },
+ { "name": "AMS收货人", "code": "bookingEDIExt.amsConsignee" },
+ { "name": "AMS通知人", "code": "bookingEDIExt.amsNotifyParty" },
+ { "name": "操作英文名称", "code": "bookingEDIExt.opEName" },
+ { "name": "操作电话", "code": "bookingEDIExt.opTel" },
+ { "name": "操作邮箱", "code": "bookingEDIExt.opEmail" },
+ { "name": "ACI HBL", "code": "bookingEDIExt.acihbl" },
+ { "name": "S0C C0C", "code": "bookingEDIExt.s0CC0C" },
+ { "name": "商品名称", "code": "bookingEDIExt.goodsName" },
+ { "name": "SCAC代码", "code": "bookingEDIExt.scaccode" },
+ { "name": "ITN编号", "code": "bookingEDIExt.itncode" },
+ { "name": "付款方", "code": "bookingEDIExt.freightpayer" },
+ { "name": "委托方", "code": "bookingEDIExt.weiTuoFang" }
+ ]
+ }
+]
diff --git a/src/views/main/TenantConfig/addForm.vue b/src/views/main/TenantConfig/addForm.vue
new file mode 100644
index 0000000..1f44701
--- /dev/null
+++ b/src/views/main/TenantConfig/addForm.vue
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+ {{ item2.name }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/main/TenantConfig/editForm.vue b/src/views/main/TenantConfig/editForm.vue
new file mode 100644
index 0000000..16991ba
--- /dev/null
+++ b/src/views/main/TenantConfig/editForm.vue
@@ -0,0 +1,321 @@
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.enName }}
+
+
+
+
+
+
+
+
+ {{ item.enName }}
+
+
+
+
+
+
+
+
+ {{ item.enName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.cnName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/main/TenantConfig/index.vue b/src/views/main/TenantConfig/index.vue
new file mode 100644
index 0000000..b9dfff6
--- /dev/null
+++ b/src/views/main/TenantConfig/index.vue
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+
+
+
+
+
+
+ 新增配置
+
+
+
+
+
+
+
+
+
+ 编辑
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/main/vesselinfo/addForm.vue b/src/views/main/vesselinfo/addForm.vue
new file mode 100644
index 0000000..07510e0
--- /dev/null
+++ b/src/views/main/vesselinfo/addForm.vue
@@ -0,0 +1,331 @@
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.enName }}
+
+
+
+
+
+
+
+
+ {{ item.enName }}
+
+
+
+
+
+
+
+
+ {{ item.enName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.cnName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/main/vesselinfo/editForm.vue b/src/views/main/vesselinfo/editForm.vue
new file mode 100644
index 0000000..7a13143
--- /dev/null
+++ b/src/views/main/vesselinfo/editForm.vue
@@ -0,0 +1,350 @@
+
+
+
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.enName }}
+
+
+
+
+
+
+
+
+ {{ item.enName }}
+
+
+
+
+
+
+
+
+ {{ item.enName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.cnName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/main/vesselinfo/index.vue b/src/views/main/vesselinfo/index.vue
new file mode 100644
index 0000000..352b20b
--- /dev/null
+++ b/src/views/main/vesselinfo/index.vue
@@ -0,0 +1,221 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+
+
+
+
+
+
+ 新增配置
+
+
+
+
+
+
+
+
+
+ 编辑
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+