From 0e76d4d07b4d4b671d4368b83701e0e08851e3ff Mon Sep 17 00:00:00 2001 From: zzq731706 Date: Fri, 26 Dec 2025 18:04:44 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=E6=8E=A5=E5=8F=A3=E5=AF=B9=E6=8E=A5=20?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E7=BB=B4=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/orderManagement/moldPlan.js | 66 + .../productionManagement/coatingMaterial.js | 74 + src/utils/dict.js | 42 + src/utils/dictData.json | 30 + .../components/mold/addMoldDailog.vue | 607 ++++--- .../components/mold/detailsInfoDialog.vue | 206 ++- .../components/mold/moldAddOneDialog.vue | 271 +-- .../components/mold/moldRecord.vue | 1490 +++++++++-------- .../components/mold/moldRequire.vue | 1220 +++++++------- src/views/orderManagement/moldPlan.vue | 51 +- vite.config.mjs | 51 +- 11 files changed, 2237 insertions(+), 1871 deletions(-) create mode 100644 src/api/orderManagement/moldPlan.js create mode 100644 src/api/productionManagement/coatingMaterial.js create mode 100644 src/utils/dict.js create mode 100644 src/utils/dictData.json diff --git a/src/api/orderManagement/moldPlan.js b/src/api/orderManagement/moldPlan.js new file mode 100644 index 0000000..af678ad --- /dev/null +++ b/src/api/orderManagement/moldPlan.js @@ -0,0 +1,66 @@ +import request from '@/axios'; +//列表接口 +export const getList = (current, size, params) => { + return request({ + url: '/blade-desk/order/moldPlan/page', + method: 'get', + params: { + ...params, + current, + size, + }, + }); +}; +//新增 +export const add = row => { + return request({ + url: '/blade-desk/order/moldPlan/save', + method: 'post', + data: row, + }); +}; +// 修改 +export const update = row => { + return request({ + url: '/blade-desk/order/moldPlan/update', + method: 'post', + data: row, + }); +}; +// 获取详情 +export const getOrderMoldPlanCaDeatils = (params) => { + return request({ + url: `/blade-desk/order/moldPlan/detail`, + method: 'get', + params, + }); +}; +//逻辑删除 +export const removeByIds = ids => { + return request({ + url: '/blade-desk/order/moldPlan/remove', + method: 'post', + data: ids, + }); +}; +//批量关闭 +export const closeBatchs = ids => { + return request({ + url: '/blade-desk/order/moldPlan/closeBatch', + method: 'post', + data: ids, + }); +}; + +//列表接口 +export const getListpageNearlyMonth = (current, size, params) => { + return request({ + url: '/blade-desk/order/moldPlan/pageNearlyMonth', + method: 'get', + params: { + ...params, + current, + size, + }, + }); +}; \ No newline at end of file diff --git a/src/api/productionManagement/coatingMaterial.js b/src/api/productionManagement/coatingMaterial.js new file mode 100644 index 0000000..011741f --- /dev/null +++ b/src/api/productionManagement/coatingMaterial.js @@ -0,0 +1,74 @@ +import request from '@/axios'; +//列表接口 +export const getList = (current, size, params) => { + return request({ + url: '/blade-desk/order/plateGoodsRecord/page', + method: 'get', + params: { + ...params, + current, + size, + }, + }); +}; +//新增 +export const add = row => { + return request({ + url: '/blade-desk/order/plateGoodsRecord/save', + method: 'post', + data: row, + }); +}; +// 修改 +export const update = row => { + return request({ + url: '/blade-desk/order/plateGoodsRecord/update', + method: 'post', + data: row, + }); +}; +//批量审核 +export const confirmBatch = row => { + return request({ + url: '/blade-desk/order/plateGoodsRecord/confirmBatch', + method: 'post', + data: row, + }); +}; +// 获取详情 +export const getOrderMoldPlanCaDeatils = (params) => { + return request({ + url: `/blade-desk/order/plateGoodsRecord/detail`, + method: 'get', + params, + }); +}; +//逻辑删除 +export const removeByIds = ids => { + return request({ + url: '/blade-desk/order/plateGoodsRecord/remove', + method: 'post', + data: ids, + }); +}; +//批量关闭 +export const closeBatchs = ids => { + return request({ + url: '/blade-desk/order/plateGoodsRecord/closeBatch', + method: 'post', + data: ids, + }); +}; + +//列表接口 +export const getListlistNoFinished = (current, size, params) => { + return request({ + url: '/blade-desk//order/plateGoodsRecord/listNoFinished', + method: 'get', + params: { + ...params, + current, + size, + }, + }); +}; \ No newline at end of file diff --git a/src/utils/dict.js b/src/utils/dict.js new file mode 100644 index 0000000..abf9ffa --- /dev/null +++ b/src/utils/dict.js @@ -0,0 +1,42 @@ +import dictData from './dictData.json'; +/** + * @param {*} keys + * @returns + * 处理本地文件字典 对应查找 + * 使用方法可定义全局变量 简化简化代码工程 + * [this.departments, this.materials]= getSelectData(['departments', 'materials']); + */ +export function getSelectData(keys) { + const dict = dictData || {}; + + if (!keys && keys !== '') return null; + //处理单个字典值 + if (typeof keys === 'string') { + return dict[keys] || null; + } + //处理多个本地字典值 + if (Array.isArray(keys)) { + return keys.map(k => dict[k] || null); + } + if (typeof keys === 'object') { + const result = {}; + for (const [key, value] of Object.entries(keys)) { + const list = dict[key]; + if (!Array.isArray(list)) { + result[key] = null; + continue; + } + + if (typeof value === 'undefined') { + result[key] = list; + } else if (Array.isArray(value)) { + result[key] = value.map(v => list.find(item => String(item.value) === String(v)) || null); + } else { + result[key] = list.find(item => String(item.value) === String(value)) || null; + } + } + return result; + } + + return null; +} \ No newline at end of file diff --git a/src/utils/dictData.json b/src/utils/dictData.json new file mode 100644 index 0000000..cb93419 --- /dev/null +++ b/src/utils/dictData.json @@ -0,0 +1,30 @@ +{ + "materials": [ + { + "label": "钢材", + "value": "steel" + }, + { + "label": "塑料", + "value": "plastic" + }, + { + "label": "涂料", + "value": "coating" + } + ], + "departments": [ + { + "label": "生产部", + "value": "production" + }, + { + "label": "质检部", + "value": "qc" + }, + { + "label": "研发部", + "value": "rd" + } + ] +} \ No newline at end of file diff --git a/src/views/orderManagement/components/mold/addMoldDailog.vue b/src/views/orderManagement/components/mold/addMoldDailog.vue index c188d12..1360639 100644 --- a/src/views/orderManagement/components/mold/addMoldDailog.vue +++ b/src/views/orderManagement/components/mold/addMoldDailog.vue @@ -1,319 +1,380 @@ \ No newline at end of file + diff --git a/src/views/orderManagement/components/mold/detailsInfoDialog.vue b/src/views/orderManagement/components/mold/detailsInfoDialog.vue index 37dde13..b96c9b2 100644 --- a/src/views/orderManagement/components/mold/detailsInfoDialog.vue +++ b/src/views/orderManagement/components/mold/detailsInfoDialog.vue @@ -1,119 +1,109 @@ \ No newline at end of file + diff --git a/src/views/orderManagement/components/mold/moldAddOneDialog.vue b/src/views/orderManagement/components/mold/moldAddOneDialog.vue index 8059f13..582d980 100644 --- a/src/views/orderManagement/components/mold/moldAddOneDialog.vue +++ b/src/views/orderManagement/components/mold/moldAddOneDialog.vue @@ -1,128 +1,161 @@ - \ No newline at end of file + diff --git a/src/views/orderManagement/components/mold/moldRecord.vue b/src/views/orderManagement/components/mold/moldRecord.vue index ca39d79..b7ae137 100644 --- a/src/views/orderManagement/components/mold/moldRecord.vue +++ b/src/views/orderManagement/components/mold/moldRecord.vue @@ -1,754 +1,768 @@ diff --git a/src/views/orderManagement/components/mold/moldRequire.vue b/src/views/orderManagement/components/mold/moldRequire.vue index dfaee44..edaaaa2 100644 --- a/src/views/orderManagement/components/mold/moldRequire.vue +++ b/src/views/orderManagement/components/mold/moldRequire.vue @@ -1,599 +1,653 @@ diff --git a/src/views/orderManagement/moldPlan.vue b/src/views/orderManagement/moldPlan.vue index 04b26e5..4650a14 100644 --- a/src/views/orderManagement/moldPlan.vue +++ b/src/views/orderManagement/moldPlan.vue @@ -1,38 +1,35 @@ diff --git a/vite.config.mjs b/vite.config.mjs index 85547a7..220fe42 100644 --- a/vite.config.mjs +++ b/vite.config.mjs @@ -1,20 +1,20 @@ -import { defineConfig, loadEnv } from "vite"; -import { resolve } from "path"; +import { defineConfig, loadEnv } from 'vite'; +import { resolve } from 'path'; -import path from "path"; -import createVitePlugins from "./vite/plugins"; -import { createSvgIconsPlugin } from "vite-plugin-svg-icons"; +import path from 'path'; +import createVitePlugins from './vite/plugins'; +import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'; // https://vitejs.dev/config/ export default ({ mode, command }) => { const env = loadEnv(mode, process.cwd()); const { VITE_APP_ENV, VITE_APP_BASE } = env; // 判断是打生产环境包 - const isProd = VITE_APP_ENV === "production"; + const isProd = VITE_APP_ENV === 'production'; // 根据是否生产环境,动态设置压缩配置 const buildConfig = { - target: "esnext", - minify: isProd ? "terser" : "esbuild", // 根据环境选择压缩工具 + target: 'esnext', + minify: isProd ? 'terser' : 'esbuild', // 根据环境选择压缩工具 }; // 如果是生产环境,添加Terser的配置 @@ -31,8 +31,8 @@ export default ({ mode, command }) => { buildConfig.rollupOptions = { output: { manualChunks: { - "element-plus": ["element-plus"], - "@smallwei/avue": ["@smallwei/avue"], + 'element-plus': ['element-plus'], + '@smallwei/avue': ['@smallwei/avue'], }, }, }; @@ -47,45 +47,50 @@ export default ({ mode, command }) => { server: { port: 2888, proxy: { - "/api": { - target: "http://192.168.1.5:82", + '/api': { + // target: 'http://192.168.1.5:82', // target: "http://192.168.1.4:82", // target:'http://49.232.74.228:82', // target: "http://192.168.0.120", //target: 'https://saber3.bladex.cn/api', + // target: 'http://49.232.74.228:82', + // target: "http:192.168.0.220:80", + // target: 'http:49.232.74.228:49', + target: 'http://49.232.74.228:80', //测试环境的地址 changeOrigin: true, - rewrite: (path) => path.replace(/^\/api/, ""), + rewrite: path => path.replace(/^\/api/, ''), }, }, }, resolve: { alias: { - "~": resolve(__dirname, "./"), - "@": resolve(__dirname, "./src"), - components: resolve(__dirname, "./src/components"), - styles: resolve(__dirname, "./src/styles"), - utils: resolve(__dirname, "./src/utils"), + '~': resolve(__dirname, './'), + '@': resolve(__dirname, './src'), + components: resolve(__dirname, './src/components'), + styles: resolve(__dirname, './src/styles'), + utils: resolve(__dirname, './src/utils'), }, }, + css: { preprocessorOptions: { scss: { - api: "modern-compiler", + api: 'modern-compiler', additionalData: `@use "@/styles/variables.scss" as *;`, }, }, }, plugins: [ - createVitePlugins(env, command === "build"), + createVitePlugins(env, command === 'build'), createSvgIconsPlugin({ - iconDirs: [path.resolve(process.cwd(), "src/assets/svg")], - symbolId: "icon-[dir]-[name]", + iconDirs: [path.resolve(process.cwd(), 'src/assets/svg')], + symbolId: 'icon-[dir]-[name]', }), ], build: buildConfig, optimizeDeps: { esbuildOptions: { - target: "esnext", + target: 'esnext', }, }, });