From 6a415a072a98d64d2f95d16eef73b6d7270b8d56 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期六, 30 五月 2026 15:14:25 +0800
Subject: [PATCH] 新疆马铃薯 1.首页问题:挪新系统ui,需要确认一下页面数据完整。 2.协同办公:挪新系统 3.营销管理:客户往来取消回款金额字段,改为点击左侧客户时显示与该客户的所有订单信息,以及发货情况。销售可以选好对应的采购订单方便质量追溯。 4.采购管理:供应商往来同上逻辑,显示是否收货,也加上采购退货和采购报表功能。 5.采购加上设备备件选项,设备备件入库到备件库存。设备,仓储不足时做采购提醒。 6.仓储物流:得区分成品库和原料库(不存在半成品,成品只有一个产品,很好确认),原材料需要有批号,采集原料库需要做好仓库字段,让他们可以区分哪个仓库,然后把数采设备信息做一个实时的显示。总库存显示好当前存在的批次信息。 7.质量:只有不通过才需要填写对应的数据信息。在外侧做好选择通过不通过。过程,出厂检验无法对应到生产订单,那就对应到销售订单。 8.决策分析:基础数据分析和进销存分析,质量数据分析需要重新设计
---
multiple/multiple-build.js | 86 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 86 insertions(+), 0 deletions(-)
diff --git a/multiple/multiple-build.js b/multiple/multiple-build.js
new file mode 100644
index 0000000..8e078e1
--- /dev/null
+++ b/multiple/multiple-build.js
@@ -0,0 +1,86 @@
+import fs from 'fs/promises';
+import fsSync from 'fs';
+import path from 'path';
+import { fileURLToPath } from 'url';
+import { execSync } from "child_process";
+
+// 鑾峰彇 __dirname
+const __filename = fileURLToPath(import.meta.url);
+const __dirname = path.dirname(__filename);
+
+// 璇诲彇 JSON 閰嶇疆
+const data = await fs.readFile(path.join(__dirname, 'config.json'), 'utf-8');
+const config = JSON.parse(data);
+
+// 椤圭洰璺緞
+const rootPath = path.resolve(__dirname, '..');
+const resourcePath = path.join(rootPath, 'multiple', 'assets');
+const replacePath = path.join(rootPath, 'replace');
+
+// 鑾峰彇鍛戒护琛屽弬鏁�
+const params = parseArgs(process.argv);
+const company = params["company"] ?? "default";
+const companyMap = config[company];
+
+const envFilePath = path.join(process.cwd(), '.env.production.local');
+
+try {
+ // 1锔忊儯 鐢熸垚 .env
+ console.log("=======鐢熸垚.env=======");
+ const envContent = Object.entries(companyMap.env)
+ .map(([key, value]) => `${key}='${value}'`)
+ .join('\n') + '\n';
+ await fs.writeFile(envFilePath, envContent, 'utf-8');
+
+ // 2锔忊儯 澶囦唤鍘熷璧勬簮骞舵浛鎹�
+ console.log("=======淇敼璧勬簮=======");
+ for (const [key, value] of Object.entries(companyMap)) {
+ if (key === 'env') continue;
+
+ const originFile = path.join(rootPath, config[key]);
+ const backupFile = path.join(replacePath, config[key]);
+ const replaceFile = path.join(resourcePath, companyMap[key]);
+
+ await fs.mkdir(path.dirname(backupFile), { recursive: true });
+ await fs.copyFile(originFile, backupFile);
+ await fs.copyFile(replaceFile, originFile);
+ }
+
+ console.log("=====寮�濮嬫墦鍖�======");
+ execSync("vite build", { stdio: "inherit" });
+ console.log("=====鎵撳寘瀹屾垚======");
+} finally {
+ console.log("=====鎭㈠璧勬簮======");
+
+ // 鍒犻櫎涓存椂 .env 鏂囦欢
+ if (fsSync.existsSync(envFilePath)) {
+ await fs.unlink(envFilePath);
+ console.log(`馃棏锔� 宸插垹闄� ${envFilePath}`);
+ }
+
+ // 鎭㈠璧勬簮鏂囦欢
+ if (fsSync.existsSync(replacePath)) {
+ for (const [key, value] of Object.entries(companyMap)) {
+ if (key === 'env') continue;
+
+ const originFile = path.join(rootPath, config[key]);
+ const backupFile = path.join(replacePath, config[key]);
+
+ await fs.copyFile(backupFile, originFile);
+ }
+ await fs.rm(replacePath, { recursive: true, force: true });
+ console.log(`馃棏锔� 宸插垹闄� ${replacePath}`);
+ }
+}
+
+// 绠�鍗曞懡浠よ鍙傛暟瑙f瀽
+function parseArgs(argv) {
+ const params = {};
+ for (const arg of argv.slice(2)) {
+ if (arg.startsWith('--')) {
+ const [key, value] = arg.slice(2).split('=');
+ params[key] = value ?? true;
+ }
+ }
+ return params;
+}
--
Gitblit v1.9.3