diff --git a/mini_program/staff-mp/src/pages.json b/mini_program/staff-mp/src/pages.json
index 351a249..98af3bf 100644
--- a/mini_program/staff-mp/src/pages.json
+++ b/mini_program/staff-mp/src/pages.json
@@ -12,23 +12,89 @@
"navigationBarTitleText": "订单监控"
}
},
+ {
+ "path": "pages/order/order-detail",
+ "style": {
+ "navigationBarTitleText": "订单详情"
+ }
+ },
+ {
+ "path": "pages/order/exception-handling",
+ "style": {
+ "navigationBarTitleText": "异常处理"
+ }
+ },
+ {
+ "path": "pages/order/purchase-plan",
+ "style": {
+ "navigationBarTitleText": "采购计划"
+ }
+ },
+ {
+ "path": "pages/order/quality-inspection",
+ "style": {
+ "navigationBarTitleText": "质检管理"
+ }
+ },
+ {
+ "path": "pages/order/contract-management",
+ "style": {
+ "navigationBarTitleText": "合同管理"
+ }
+ },
+ {
+ "path": "pages/order/payment-management",
+ "style": {
+ "navigationBarTitleText": "支付管理"
+ }
+ },
{
"path": "pages/transport/transport-monitor",
"style": {
"navigationBarTitleText": "运输监控"
}
},
+ {
+ "path": "pages/transport/transport-track",
+ "style": {
+ "navigationBarTitleText": "运输轨迹"
+ }
+ },
{
"path": "pages/statistics/data-dashboard",
"style": {
"navigationBarTitleText": "数据统计"
}
},
+ {
+ "path": "pages/statistics/data-reports",
+ "style": {
+ "navigationBarTitleText": "数据报表"
+ }
+ },
{
"path": "pages/system/system-settings",
"style": {
"navigationBarTitleText": "系统设置"
}
+ },
+ {
+ "path": "pages/system/user-management",
+ "style": {
+ "navigationBarTitleText": "用户管理"
+ }
+ },
+ {
+ "path": "pages/system/supplier-management",
+ "style": {
+ "navigationBarTitleText": "供应商管理"
+ }
+ },
+ {
+ "path": "pages/system/message-center",
+ "style": {
+ "navigationBarTitleText": "消息中心"
+ }
}
],
"globalStyle": {
diff --git a/mini_program/staff-mp/src/pages/index/index.vue b/mini_program/staff-mp/src/pages/index/index.vue
index d9760b8..9b13b09 100644
--- a/mini_program/staff-mp/src/pages/index/index.vue
+++ b/mini_program/staff-mp/src/pages/index/index.vue
@@ -13,11 +13,56 @@ const quickActions = ref([
title: '运输监控',
path: '/pages/transport/transport-monitor'
},
+ {
+ icon: 'exception',
+ title: '异常处理',
+ path: '/pages/order/exception-handling'
+ },
+ {
+ icon: 'purchase',
+ title: '采购计划',
+ path: '/pages/order/purchase-plan'
+ },
+ {
+ icon: 'quality',
+ title: '质检管理',
+ path: '/pages/order/quality-inspection'
+ },
+ {
+ icon: 'contract',
+ title: '合同管理',
+ path: '/pages/order/contract-management'
+ },
+ {
+ icon: 'payment',
+ title: '支付管理',
+ path: '/pages/order/payment-management'
+ },
{
icon: 'statistics',
title: '数据统计',
path: '/pages/statistics/data-dashboard'
},
+ {
+ icon: 'reports',
+ title: '数据报表',
+ path: '/pages/statistics/data-reports'
+ },
+ {
+ icon: 'users',
+ title: '用户管理',
+ path: '/pages/system/user-management'
+ },
+ {
+ icon: 'suppliers',
+ title: '供应商管理',
+ path: '/pages/system/supplier-management'
+ },
+ {
+ icon: 'message',
+ title: '消息中心',
+ path: '/pages/system/message-center'
+ },
{
icon: 'settings',
title: '系统设置',
@@ -68,6 +113,10 @@ const navigateTo = (path: string) => {
订单 #20249999 已完成
1小时前
+
+ 供应商 某某牛场 资质即将到期
+ 2小时前
+
diff --git a/mini_program/staff-mp/src/pages/order/contract-management.vue b/mini_program/staff-mp/src/pages/order/contract-management.vue
new file mode 100644
index 0000000..0132399
--- /dev/null
+++ b/mini_program/staff-mp/src/pages/order/contract-management.vue
@@ -0,0 +1,444 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 供应商: {{ contract.supplier }}
+ 客户: {{ contract.customer }}
+ 签订日期: {{ contract.signDate }}
+ 有效期: {{ contract.startDate }} 至 {{ contract.endDate }}
+ 合同金额: ¥{{ contract.amount.toLocaleString() }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 供应商
+
+
+
+ 客户
+
+
+
+ 开始日期
+
+
+
+ 结束日期
+
+
+
+ 合同金额(元)
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mini_program/staff-mp/src/pages/order/exception-handling.vue b/mini_program/staff-mp/src/pages/order/exception-handling.vue
new file mode 100644
index 0000000..0a65fae
--- /dev/null
+++ b/mini_program/staff-mp/src/pages/order/exception-handling.vue
@@ -0,0 +1,353 @@
+
+
+
+
+
+
+
+
+
+ 状态
+
+
+ {{
+ filterStatus.value === 'all' ? '全部' :
+ filterStatus.value === 'pending' ? '待处理' :
+ filterStatus.value === 'processing' ? '处理中' : '已解决'
+ }}
+
+
+
+
+
+ 优先级
+
+
+ {{
+ filterPriority.value === 'all' ? '全部' :
+ filterPriority.value === 'high' ? '高' :
+ filterPriority.value === 'medium' ? '中' : '低'
+ }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ exception.type }}
+ {{ exception.description }}
+
+ 报告人: {{ exception.reporter }}
+ 报告时间: {{ exception.reportTime }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mini_program/staff-mp/src/pages/order/order-detail.vue b/mini_program/staff-mp/src/pages/order/order-detail.vue
new file mode 100644
index 0000000..640862f
--- /dev/null
+++ b/mini_program/staff-mp/src/pages/order/order-detail.vue
@@ -0,0 +1,323 @@
+
+
+
+
+
+
+
+ 基本信息
+
+
+ 订单号:
+ {{ orderDetail.orderNo }}
+
+
+ 供应商:
+ {{ orderDetail.supplier }}
+
+
+ 客户:
+ {{ orderDetail.customer }}
+
+
+ 状态:
+ {{ orderDetail.status }}
+
+
+ 数量:
+ {{ orderDetail.quantity }}头
+
+
+ 金额:
+ ¥{{ orderDetail.amount }}
+
+
+ 创建时间:
+ {{ orderDetail.createTime }}
+
+
+ 更新时间:
+ {{ orderDetail.updateTime }}
+
+
+
+
+
+ 牛只信息
+
+
+ 品种:
+ {{ orderDetail.cattleInfo.breed }}
+
+
+ 平均重量:
+ {{ orderDetail.cattleInfo.weight }}kg
+
+
+ 健康状况:
+ {{ orderDetail.cattleInfo.healthStatus }}
+
+
+
+
+
+ 运输信息
+
+
+ 司机:
+ {{ orderDetail.transportInfo.driver }}
+
+
+ 电话:
+ {{ orderDetail.transportInfo.phone }}
+
+
+ 车牌号:
+ {{ orderDetail.transportInfo.vehicleNo }}
+
+
+ 出发地:
+ {{ orderDetail.transportInfo.departure }}
+
+
+ 目的地:
+ {{ orderDetail.transportInfo.destination }}
+
+
+
+
+
+
+
+
+ 订单日志
+
+
+ {{ log.time }}
+
+ {{ log.action }}
+ 操作人: {{ log.operator }}
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mini_program/staff-mp/src/pages/order/order-monitor.vue b/mini_program/staff-mp/src/pages/order/order-monitor.vue
index adf69b1..c5e6598 100644
--- a/mini_program/staff-mp/src/pages/order/order-monitor.vue
+++ b/mini_program/staff-mp/src/pages/order/order-monitor.vue
@@ -21,6 +21,32 @@ const loadOrders = async () => {
}, 1000);
};
+const handleViewDetail = (orderId: string) => {
+ uni.navigateTo({
+ url: `/pages/order/order-detail?id=${orderId}`
+ });
+};
+
+const handleApprove = (orderId: string) => {
+ uni.showModal({
+ title: '确认审核',
+ content: '确定要审核通过此订单吗?',
+ success: (res) => {
+ if (res.confirm) {
+ // 更新订单状态
+ const order = orders.value.find(o => o.id === orderId);
+ if (order) {
+ order.status = 'confirmed';
+ }
+ uni.showToast({
+ title: '审核通过',
+ icon: 'success'
+ });
+ }
+ }
+ });
+};
+
loadOrders();
@@ -42,7 +68,13 @@ loadOrders();
供应商: {{ order.supplier }}
diff --git a/mini_program/staff-mp/src/pages/order/payment-management.vue b/mini_program/staff-mp/src/pages/order/payment-management.vue
new file mode 100644
index 0000000..4dc7075
--- /dev/null
+++ b/mini_program/staff-mp/src/pages/order/payment-management.vue
@@ -0,0 +1,432 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 订单号: {{ payment.orderNo }}
+ 供应商: {{ payment.supplier }}
+ 支付金额: ¥{{ payment.amount.toLocaleString() }}
+ 支付方式: {{ payment.paymentMethod }}
+ 支付日期: {{ payment.paymentDate }}
+ 备注: {{ payment.remarks }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 订单号
+
+
+
+ 供应商
+
+
+
+ 支付金额(元)
+
+
+
+ 支付方式
+ newPayment.paymentMethod = ['银行转账', '现金支付', '支付宝', '微信支付'][e.detail.value]"
+ >
+
+ {{ newPayment.paymentMethod }}
+
+
+
+
+ 备注
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mini_program/staff-mp/src/pages/order/purchase-plan.vue b/mini_program/staff-mp/src/pages/order/purchase-plan.vue
new file mode 100644
index 0000000..184f143
--- /dev/null
+++ b/mini_program/staff-mp/src/pages/order/purchase-plan.vue
@@ -0,0 +1,429 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 供应商: {{ plan.supplier }}
+ 品种: {{ plan.breed }}
+ 数量: {{ plan.quantity }}头
+ 重量: {{ plan.weight }}kg
+ 预计金额: ¥{{ plan.expectedPrice.toLocaleString() }}
+ 交付日期: {{ plan.deliveryDate }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 供应商
+
+
+
+ 品种
+
+
+
+ 数量(头)
+
+
+
+ 重量(kg)
+
+
+
+ 预计金额(元)
+
+
+
+ 交付日期
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mini_program/staff-mp/src/pages/order/quality-inspection.vue b/mini_program/staff-mp/src/pages/order/quality-inspection.vue
new file mode 100644
index 0000000..9b6d09f
--- /dev/null
+++ b/mini_program/staff-mp/src/pages/order/quality-inspection.vue
@@ -0,0 +1,399 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 供应商: {{ inspection.supplier }}
+ 质检员: {{ inspection.inspector }}
+ 质检日期: {{ inspection.inspectionDate }}
+ 合格数量: {{ inspection.qualifiedCount }}头
+ 不合格数量: {{ inspection.unqualifiedCount }}头
+ 备注: {{ inspection.remarks }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 订单号
+
+
+
+ 供应商
+
+
+
+ 合格数量(头)
+
+
+
+ 不合格数量(头)
+
+
+
+ 备注
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mini_program/staff-mp/src/pages/statistics/data-reports.vue b/mini_program/staff-mp/src/pages/statistics/data-reports.vue
new file mode 100644
index 0000000..ba0c4c5
--- /dev/null
+++ b/mini_program/staff-mp/src/pages/statistics/data-reports.vue
@@ -0,0 +1,311 @@
+
+
+
+
+
+
+
+
+ 报表类型
+
+
+ {{ reportTypes.find(item => item.id === selectedReport)?.name || '请选择报表类型' }}
+
+
+
+
+
+ 时间范围
+
+ 2025-09-01 至 2025-09-05
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 数据加载中...
+
+
+
+
+
+
+
+
+ {{ item.date }}
+ {{ item.orders }}
+ ¥{{ item.amount.toLocaleString() }}
+
+
+
+
+
+ {{ item.supplier }}
+ {{ item.orders }}
+ {{ item.completed }}
+ {{ Math.round(item.completed / item.orders * 100) }}%
+ ¥{{ item.amount.toLocaleString() }}
+
+
+
+
+
+ {{ item.route }}
+ {{ item.avgTime }}
+ {{ item.onTimeRate }}
+
+
+
+
+
+ {{ item.customer }}
+ {{ item.orders }}
+ ¥{{ item.amount.toLocaleString() }}
+ ¥{{ item.avgOrder.toLocaleString() }}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mini_program/staff-mp/src/pages/system/message-center.vue b/mini_program/staff-mp/src/pages/system/message-center.vue
new file mode 100644
index 0000000..6d9ba6b
--- /dev/null
+++ b/mini_program/staff-mp/src/pages/system/message-center.vue
@@ -0,0 +1,322 @@
+
+
+
+
+
+
+
+
+
+
+ {{
+ filterType.value === 'all' ? '全部消息' :
+ filterType.value === 'order' ? '订单消息' :
+ filterType.value === 'transport' ? '运输消息' :
+ filterType.value === 'system' ? '系统消息' : '报表消息'
+ }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ message.title }}
+ {{ message.content }}
+
+
+
+
+
+
+
+
+
+
+ 暂无消息
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mini_program/staff-mp/src/pages/system/supplier-management.vue b/mini_program/staff-mp/src/pages/system/supplier-management.vue
new file mode 100644
index 0000000..96e8cc5
--- /dev/null
+++ b/mini_program/staff-mp/src/pages/system/supplier-management.vue
@@ -0,0 +1,387 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ supplier.name }}
+ {{ supplier.contact }} - {{ supplier.phone }}
+ {{ supplier.address }}
+
+
+
+ {{ supplier.status === 'active' ? '正常' : '禁用' }}
+
+
+ 评分: {{ supplier.rating }}
+
+
+ 订单: {{ supplier.totalOrders }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 供应商名称
+
+
+
+ 联系人
+
+
+
+ 联系电话
+
+
+
+ 地址
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mini_program/staff-mp/src/pages/system/user-management.vue b/mini_program/staff-mp/src/pages/system/user-management.vue
new file mode 100644
index 0000000..5bfd785
--- /dev/null
+++ b/mini_program/staff-mp/src/pages/system/user-management.vue
@@ -0,0 +1,347 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ user.name }}
+ {{ user.role }}
+ {{ user.phone }}
+
+
+
+ {{ user.status === 'active' ? '正常' : '禁用' }}
+
+ {{ user.createTime }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 姓名
+
+
+
+ 角色
+ newUser.role = roles[e.detail.value]">
+
+ {{ newUser.role || '请选择角色' }}
+
+
+
+
+ 手机号
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mini_program/staff-mp/src/pages/transport/transport-monitor.vue b/mini_program/staff-mp/src/pages/transport/transport-monitor.vue
index ff1d8ee..6960845 100644
--- a/mini_program/staff-mp/src/pages/transport/transport-monitor.vue
+++ b/mini_program/staff-mp/src/pages/transport/transport-monitor.vue
@@ -19,6 +19,18 @@ const loadTransports = async () => {
}, 500);
};
+const handleCallDriver = (phone: string) => {
+ uni.makePhoneCall({
+ phoneNumber: phone
+ });
+};
+
+const handleViewTrack = (transportId: string) => {
+ uni.navigateTo({
+ url: `/pages/transport/transport-track?id=${transportId}`
+ });
+};
+
loadTransports();
diff --git a/mini_program/staff-mp/src/pages/transport/transport-track.vue b/mini_program/staff-mp/src/pages/transport/transport-track.vue
new file mode 100644
index 0000000..e1826b2
--- /dev/null
+++ b/mini_program/staff-mp/src/pages/transport/transport-track.vue
@@ -0,0 +1,264 @@
+
+
+
+
+
+
+
+
+
+ 订单号:
+ {{ transportInfo.orderNo }}
+
+
+ 司机:
+ {{ transportInfo.driver }}
+
+
+ 电话:
+ {{ transportInfo.phone }}
+
+
+ 车牌号:
+ {{ transportInfo.vehicleNo }}
+
+
+ 出发地:
+ {{ transportInfo.departure }}
+
+
+ 目的地:
+ {{ transportInfo.destination }}
+
+
+ 出发时间:
+ {{ transportInfo.departureTime }}
+
+
+ 到达时间:
+ {{ transportInfo.arrivalTime }}
+
+
+
+
+
+
+
+
+
+
+ 地图组件 - 显示运输轨迹
+
+
+
+
+ 轨迹详情
+
+
+ {{ point.time }}
+
+
+
+
+
+ {{ point.location }}
+ {{ point.status }}
+
+
+
+
+
+
+
+
\ No newline at end of file