diff --git a/web-admin/src/api/mp-webview.ts b/web-admin/src/api/mp-webview.ts
new file mode 100644
index 000000000..591735e4f
--- /dev/null
+++ b/web-admin/src/api/mp-webview.ts
@@ -0,0 +1,15 @@
+import request from '@/utils/http'
+
+export const mpWebviewApi = {
+ exchange: (ticket: string) =>
+ request.post<{
+ token: string
+ refreshToken: string
+ expiresIn: number
+ userInfo: Api.Auth.UserInfo
+ }>({
+ url: '/web/auth/mp-webview-exchange',
+ data: { ticket },
+ showErrorMessage: false
+ })
+}
diff --git a/web-admin/src/layouts/MpWebviewShell.vue b/web-admin/src/layouts/MpWebviewShell.vue
new file mode 100644
index 000000000..f69a1bf51
--- /dev/null
+++ b/web-admin/src/layouts/MpWebviewShell.vue
@@ -0,0 +1,91 @@
+
+
+
加载中…
+
请从山峡化工小程序打开
+
登录已失效
+
+
+
+
+
+
+
diff --git a/web-admin/src/router/routes/staticRoutes.ts b/web-admin/src/router/routes/staticRoutes.ts
index 0e99ad9e2..d8b466225 100644
--- a/web-admin/src/router/routes/staticRoutes.ts
+++ b/web-admin/src/router/routes/staticRoutes.ts
@@ -129,6 +129,48 @@ export const staticRoutes: AppRouteRecordRaw[] = [
component: () => import('@views/public/duty/index.vue'),
meta: { title: '值班抢班', isHideTab: true, isPublicMobile: true }
},
+ {
+ path: '/m/pl/plan',
+ name: 'MpPlPlanList',
+ component: () => import('@views/m/pl/plan/index.vue'),
+ meta: { title: '运输计划', isHideTab: true, isMpWebview: true }
+ },
+ {
+ path: '/m/pl/plan/new',
+ name: 'MpPlPlanNew',
+ component: () => import('@views/m/pl/plan/form.vue'),
+ meta: { title: '新增计划', isHideTab: true, isMpWebview: true }
+ },
+ {
+ path: '/m/pl/plan/paste',
+ name: 'MpPlPlanPaste',
+ component: () => import('@views/m/pl/plan/paste.vue'),
+ meta: { title: '三方人车快速创建', isHideTab: true, isMpWebview: true }
+ },
+ {
+ path: '/m/pl/plan/:id/edit',
+ name: 'MpPlPlanEdit',
+ component: () => import('@views/m/pl/plan/form.vue'),
+ meta: { title: '编辑计划', isHideTab: true, isMpWebview: true }
+ },
+ {
+ path: '/m/pl/plan/:id/arrange',
+ name: 'MpPlPlanArrange',
+ component: () => import('@views/m/pl/plan/form.vue'),
+ meta: { title: '安排运输', isHideTab: true, isMpWebview: true }
+ },
+ {
+ path: '/m/pl/plan/:id/print',
+ name: 'MpPlPlanPrint',
+ component: () => import('@views/m/pl/plan/print.vue'),
+ meta: { title: '打印单据', isHideTab: true, isMpWebview: true }
+ },
+ {
+ path: '/m/pl/plan/:id',
+ name: 'MpPlPlanDetail',
+ component: () => import('@views/m/pl/plan/detail.vue'),
+ meta: { title: '计划详情', isHideTab: true, isMpWebview: true }
+ },
{
path: '/:pathMatch(.*)*',
name: 'Exception404CatchAll',
diff --git a/web-admin/src/views/m/pl/plan/detail.vue b/web-admin/src/views/m/pl/plan/detail.vue
new file mode 100644
index 000000000..c970fbc76
--- /dev/null
+++ b/web-admin/src/views/m/pl/plan/detail.vue
@@ -0,0 +1,18 @@
+
+
+ 计划详情加载中…
+
+
+
+
+
+
diff --git a/web-admin/src/views/m/pl/plan/form.vue b/web-admin/src/views/m/pl/plan/form.vue
new file mode 100644
index 000000000..ac305e5f3
--- /dev/null
+++ b/web-admin/src/views/m/pl/plan/form.vue
@@ -0,0 +1,18 @@
+
+
+ 计划表单加载中…
+
+
+
+
+
+
diff --git a/web-admin/src/views/m/pl/plan/index.vue b/web-admin/src/views/m/pl/plan/index.vue
new file mode 100644
index 000000000..a0e299aa5
--- /dev/null
+++ b/web-admin/src/views/m/pl/plan/index.vue
@@ -0,0 +1,18 @@
+
+
+ 运输计划加载中…
+
+
+
+
+
+
diff --git a/web-admin/src/views/m/pl/plan/paste.vue b/web-admin/src/views/m/pl/plan/paste.vue
new file mode 100644
index 000000000..a7e824964
--- /dev/null
+++ b/web-admin/src/views/m/pl/plan/paste.vue
@@ -0,0 +1,18 @@
+
+
+ 三方人车快速创建加载中…
+
+
+
+
+
+
diff --git a/web-admin/src/views/m/pl/plan/print.vue b/web-admin/src/views/m/pl/plan/print.vue
new file mode 100644
index 000000000..2418ca936
--- /dev/null
+++ b/web-admin/src/views/m/pl/plan/print.vue
@@ -0,0 +1,18 @@
+
+
+ 打印预览加载中…
+
+
+
+
+
+