From 8e153de91f55b07847225e23c3a9a8ab5d67e83e Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 26 九月 2025 13:21:50 +0800
Subject: [PATCH] 生产管控模块
---
src/pages/index.vue | 92 +++++++++++++++++++++++
src/static/images/icon/shengchandingdan@2x.png | 0
src/static/images/icon/shengchanpaichan@2x.png | 0
src/api/productionManagement/operationScheduling.js | 27 ++++++
src/static/images/icon/shengchanhesuan@2x.png | 0
src/api/productionManagement/productionReporting.js | 35 ++++++++
src/api/productionManagement/productionOrder.js | 19 ++++
src/config.js | 4
src/static/images/icon/shengchanpaigong@2x.png | 0
src/static/images/icon/shengchanbaogong@2x.png | 0
src/api/productionManagement/productionCosting.js | 11 ++
11 files changed, 186 insertions(+), 2 deletions(-)
diff --git a/src/api/productionManagement/operationScheduling.js b/src/api/productionManagement/operationScheduling.js
new file mode 100644
index 0000000..75ffe2a
--- /dev/null
+++ b/src/api/productionManagement/operationScheduling.js
@@ -0,0 +1,27 @@
+// 宸ュ簭鎺掍骇椤甸潰鎺ュ彛
+import request from "@/utils/request";
+
+// 鍒嗛〉鏌ヨ
+export function listPageProcess(query) {
+ return request({
+ url: "/salesLedger/scheduling/listPageProcess",
+ method: "get",
+ params: query,
+ });
+}
+// 鍙栨秷鎺掍骇
+export function productionDispatchDelete(query) {
+ return request({
+ url: "/salesLedger/scheduling/productionDispatchDelete",
+ method: "delete",
+ data: query,
+ });
+}
+// 鍙栨秷鎺掍骇
+export function processScheduling(query) {
+ return request({
+ url: "/salesLedger/scheduling/processScheduling",
+ method: "post",
+ data: query,
+ });
+}
\ No newline at end of file
diff --git a/src/api/productionManagement/productionCosting.js b/src/api/productionManagement/productionCosting.js
new file mode 100644
index 0000000..8cc0251
--- /dev/null
+++ b/src/api/productionManagement/productionCosting.js
@@ -0,0 +1,11 @@
+// 鐢熶骇鏍哥畻椤甸潰鎺ュ彛
+import request from "@/utils/request";
+
+// 鍒嗛〉鏌ヨ
+export function productionAccountingListPage(query) {
+ return request({
+ url: "/salesLedger/productionAccounting/listPage",
+ method: "get",
+ params: query,
+ });
+}
\ No newline at end of file
diff --git a/src/api/productionManagement/productionOrder.js b/src/api/productionManagement/productionOrder.js
new file mode 100644
index 0000000..ab3dc06
--- /dev/null
+++ b/src/api/productionManagement/productionOrder.js
@@ -0,0 +1,19 @@
+// 鐢熶骇璁㈠崟椤甸潰鎺ュ彛
+import request from "@/utils/request";
+
+// 鍒嗛〉鏌ヨ
+export function schedulingListPage(query) {
+ return request({
+ url: "/salesLedger/scheduling/listPage",
+ method: "get",
+ params: query,
+ });
+}
+// 鐢熶骇娲惧伐
+export function productionDispatch(query) {
+ return request({
+ url: "/salesLedger/scheduling/productionDispatch",
+ method: "post",
+ data: query,
+ });
+}
\ No newline at end of file
diff --git a/src/api/productionManagement/productionReporting.js b/src/api/productionManagement/productionReporting.js
new file mode 100644
index 0000000..fdec712
--- /dev/null
+++ b/src/api/productionManagement/productionReporting.js
@@ -0,0 +1,35 @@
+// 鐢熶骇鎶ュ伐椤甸潰鎺ュ彛
+import request from "@/utils/request";
+
+// 鍒嗛〉鏌ヨ
+export function workListPage(query) {
+ return request({
+ url: "/salesLedger/work/listPage",
+ method: "get",
+ params: query,
+ });
+}
+// 瀛愯〃鏍兼煡璇�
+export function workListPageById(query) {
+ return request({
+ url: "/salesLedger/work/list",
+ method: "get",
+ params: query,
+ });
+}
+// 鐢熶骇鎶ュ伐
+export function productionReport(query) {
+ return request({
+ url: "/salesLedger/work/productionReport",
+ method: "post",
+ data: query,
+ });
+}
+// 鐢熶骇鎶ュ伐-缂栬緫
+export function productionReportUpdate(query) {
+ return request({
+ url: "/salesLedger/work/productionReportUpdate",
+ method: "post",
+ data: query,
+ });
+}
\ No newline at end of file
diff --git a/src/config.js b/src/config.js
index 5349e2a..b7c35cd 100644
--- a/src/config.js
+++ b/src/config.js
@@ -2,8 +2,8 @@
const config = {
// baseUrl: 'https://vue.ruoyi.vip/prod-api',
// baseUrl: 'http://localhost/prod-api',
- // baseUrl: 'http://114.132.189.42:9036',
- baseUrl: 'http://192.168.1.147:9036',
+ baseUrl: 'http://114.132.189.42:9036',
+ // baseUrl: 'http://192.168.1.147:9036',
//cloud鍚庡彴缃戝叧鍦板潃
// baseUrl: 'http://192.168.10.3:8080',
// 搴旂敤淇℃伅
diff --git a/src/pages/index.vue b/src/pages/index.vue
index f555632..b8fdbd2 100644
--- a/src/pages/index.vue
+++ b/src/pages/index.vue
@@ -123,6 +123,36 @@
</view>
</view>
+ <!-- 鐢熶骇绠℃帶妯″潡 -->
+ <view class="common-module production-module">
+ <view class="module-header">
+ <view class="module-title-container">
+ <text class="module-title">鐢熶骇绠℃帶</text>
+ </view>
+ </view>
+ <view class="module-content">
+ <up-grid
+ :border="false"
+ col="4"
+ >
+ <up-grid-item
+ v-for="(item, index) in productionItems"
+ :key="index"
+ @click="handleCommonItemClick(item)"
+ >
+ <view class="icon-container" :style="{ background: item.bgColor }">
+ <up-icon
+ :name="item.icon"
+ :size="58"
+ color="#ffffff"
+ ></up-icon>
+ </view>
+ <text class="item-label">{{item.label}}</text>
+ </up-grid-item>
+ </up-grid>
+ </view>
+ </view>
+
<!-- 璁惧绠$悊妯″潡 -->
<view class="common-module equipment-module">
<view class="module-header">
@@ -253,6 +283,35 @@
}
]);
+// 鐢熶骇绠℃帶鍔熻兘鏁版嵁
+const productionItems = reactive([
+ {
+ icon: '/static/images/icon/shengchandingdan@2x.png',
+ label: '鐢熶骇璁㈠崟',
+ bgColor: '#FF9800'
+ },
+ {
+ icon: '/static/images/icon/shengchanpaigong@2x.png',
+ label: '鐢熶骇娲惧伐',
+ bgColor: '#FF6B35'
+ },
+ {
+ icon: '/static/images/icon/shengchanpaichan@2x.png',
+ label: '宸ュ簭鎺掍骇',
+ bgColor: '#E91E63'
+ },
+ {
+ icon: '/static/images/icon/shengchanbaogong@2x.png',
+ label: '鐢熶骇鎶ュ伐',
+ bgColor: '#673AB7'
+ },
+ {
+ icon: '/static/images/icon/shengchanhesuan@2x.png',
+ label: '鐢熶骇鏍哥畻',
+ bgColor: '#3F51B5'
+ }
+]);
+
// 璁惧绠$悊鍔熻兘鏁版嵁
const equipmentItems = reactive([
// {
@@ -365,6 +424,31 @@
case '瀹㈡埛鎷滆':
uni.navigateTo({
url: '/pages/cooperativeOffice/clientVisit/index'
+ });
+ break;
+ case '鐢熶骇璁㈠崟':
+ uni.navigateTo({
+ url: '/pages/productionManagement/productionOrder/index'
+ });
+ break;
+ case '鐢熶骇娲惧伐':
+ uni.navigateTo({
+ url: '/pages/productionManagement/productionDispatch/index'
+ });
+ break;
+ case '宸ュ簭鎺掍骇':
+ uni.navigateTo({
+ url: '/pages/productionManagement/processScheduling/index'
+ });
+ break;
+ case '鐢熶骇鎶ュ伐':
+ uni.navigateTo({
+ url: '/pages/productionManagement/productionReport/index'
+ });
+ break;
+ case '鐢熶骇鏍哥畻':
+ uni.navigateTo({
+ url: '/pages/productionManagement/productionAccounting/index'
});
break;
case '璁惧鍙拌处':
@@ -803,6 +887,10 @@
--module-color: #4caf50;
}
+.production-module {
+ --module-color: #FF9800;
+}
+
.equipment-module {
--module-color: #9c27b0;
}
@@ -1009,6 +1097,10 @@
--module-color: #4caf50;
}
+.production-module {
+ --module-color: #FF9800;
+}
+
.equipment-module {
--module-color: #9c27b0;
}
diff --git a/src/static/images/icon/shengchanbaogong@2x.png b/src/static/images/icon/shengchanbaogong@2x.png
new file mode 100644
index 0000000..688d5b3
--- /dev/null
+++ b/src/static/images/icon/shengchanbaogong@2x.png
Binary files differ
diff --git a/src/static/images/icon/shengchandingdan@2x.png b/src/static/images/icon/shengchandingdan@2x.png
new file mode 100644
index 0000000..f312aeb
--- /dev/null
+++ b/src/static/images/icon/shengchandingdan@2x.png
Binary files differ
diff --git a/src/static/images/icon/shengchanhesuan@2x.png b/src/static/images/icon/shengchanhesuan@2x.png
new file mode 100644
index 0000000..7171d91
--- /dev/null
+++ b/src/static/images/icon/shengchanhesuan@2x.png
Binary files differ
diff --git a/src/static/images/icon/shengchanpaichan@2x.png b/src/static/images/icon/shengchanpaichan@2x.png
new file mode 100644
index 0000000..01de043
--- /dev/null
+++ b/src/static/images/icon/shengchanpaichan@2x.png
Binary files differ
diff --git a/src/static/images/icon/shengchanpaigong@2x.png b/src/static/images/icon/shengchanpaigong@2x.png
new file mode 100644
index 0000000..b1e96c3
--- /dev/null
+++ b/src/static/images/icon/shengchanpaigong@2x.png
Binary files differ
--
Gitblit v1.9.3