From 65ec6ad84f84b42b9cc1d9ec495d43d587d90326 Mon Sep 17 00:00:00 2001 From: hzz Date: Wed, 10 Apr 2024 19:00:36 +0800 Subject: [PATCH] update --- package.json | 2 + src/api/casm/produce.js | 7 ++ src/api/casm/product.js | 17 +++ src/api/casm/quality.js | 44 ++++++++ src/api/home.js | 9 ++ src/lang/i18n-en-US.js | 67 ++++++++---- src/lang/i18n-zh-CN.js | 61 ++++++++--- src/main.js | 34 +++++- src/views/device/device/index.vue | 26 ++--- src/views/device/device/info.vue | 2 +- src/views/index.vue | 51 ++++++++- src/views/produce/add_edit.vue | 35 +++--- src/views/produce/index.vue | 121 ++++++++++----------- src/views/product/needle/add_edit.vue | 63 +++++------ src/views/product/needle/index.vue | 12 +-- src/views/product/product/add_edit.vue | 24 ++--- src/views/product/product/index.vue | 131 +++++++++++++++++------ src/views/product/product/info.vue | 37 +++---- src/views/product/working/add_edit.vue | 51 ++++----- src/views/product/working/index.vue | 12 ++- src/views/quality/index.vue | 141 ++++++++++++++----------- 21 files changed, 617 insertions(+), 330 deletions(-) create mode 100644 src/api/casm/quality.js create mode 100644 src/api/home.js diff --git a/package.json b/package.json index 7f0ecc5..846ef63 100644 --- a/package.json +++ b/package.json @@ -28,8 +28,10 @@ "jsencrypt": "3.3.2", "nprogress": "0.2.0", "pinia": "2.1.7", + "qrcode.vue": "^3.4.1", "vue": "3.3.9", "vue-cropper": "1.1.1", + "vue-echarts": "^6.6.9", "vue-i18n": "^9.10.2", "vue-router": "4.2.5" }, diff --git a/src/api/casm/produce.js b/src/api/casm/produce.js index a3400d8..dddf3ef 100644 --- a/src/api/casm/produce.js +++ b/src/api/casm/produce.js @@ -16,6 +16,13 @@ export function getOutput(id) { method: 'get' }) } +// 查询生产管理详细 +export function getOutputInfo(id) { + return request({ + url: '/casm/output/getOutputInfo/' + id, + method: 'get' + }) +} // 新增生产管理 export function addOutput(data) { diff --git a/src/api/casm/product.js b/src/api/casm/product.js index d3af458..115346a 100644 --- a/src/api/casm/product.js +++ b/src/api/casm/product.js @@ -11,6 +11,23 @@ export function listProduction(query) { }) } +// 查询产品管理信息详情列表 +export function selectProduction(code) { + return request({ + url: '/casm/production/selectProduction/' + code, + method: 'get' + }) +} + +//获取二维码 +export function getQRCode(code) { + return request({ + url: '/casm/production/generateQRCode', + method: 'get', + params: code + }) +} + // 查询产品信息详细 export function getProduction(code) { return request({ diff --git a/src/api/casm/quality.js b/src/api/casm/quality.js new file mode 100644 index 0000000..9ac4daf --- /dev/null +++ b/src/api/casm/quality.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询质量管理列表 +export function listQuality(query) { + return request({ + url: '/casm/quality/list', + method: 'get', + params: query + }) +} + +// 查询质量管理详细 +export function getQuality(id) { + return request({ + url: '/casm/quality/' + id, + method: 'get' + }) +} + +// 新增质量管理 +export function addQuality(data) { + return request({ + url: '/casm/quality', + method: 'post', + data: data + }) +} + +// 修改质量管理 +export function updateQuality(data) { + return request({ + url: '/casm/quality', + method: 'put', + data: data + }) +} + +// 删除质量管理 +export function delQuality(id) { + return request({ + url: '/casm/quality/' + id, + method: 'delete' + }) +} diff --git a/src/api/home.js b/src/api/home.js new file mode 100644 index 0000000..9338895 --- /dev/null +++ b/src/api/home.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +// 获取首页数据 +export function getHomeDeviceInfoVO() { + return request({ + url: '/home', + method: 'get' + }) +} \ No newline at end of file diff --git a/src/lang/i18n-en-US.js b/src/lang/i18n-en-US.js index 13fc81c..926b637 100644 --- a/src/lang/i18n-en-US.js +++ b/src/lang/i18n-en-US.js @@ -1,5 +1,5 @@ export default { - "menus":{ + "menus": { "首页": "Home", "实时生产监控": "Dashboard", "仪表盘": "Dashboard", @@ -53,8 +53,9 @@ export default { "状态": "Status", "序号": "Index", "创建时间": "Create Time", - "更新时间": "Update Time", + "更新时间": "Update Time", "请输入": "Please input ", + "请选择": "Please select", "确 定": "OK", "取 消": "Cancel", "添加成功": "Add Success", @@ -62,12 +63,15 @@ export default { "删除成功": "Delete Success", }, "validate": { - "required": "Can not be empty", - "format": "Format is incorrect", - "length": "Length is incorrect", - "range": "Range is incorrect", - "max": "Maximum value is", - "min": "Minimum value is" + "不能为空": "Can not be empty ", + "格式不正确": "Format is incorrect", + "长度不正确": "Length is incorrect", + "范围不正确": "Range is incorrect", + "最大值为": "Maximum value is", + "最小值为": "Minimum value is" + }, + "tip": { + "确定删除选中记录?": "Are you sure to delete the selected record?", }, "login": { "标题": "CASM Sewing Management System", @@ -78,7 +82,7 @@ export default { "验证码": "Code", "记住密码": "Remember Me", "登录中": "Logging in", - "立即注册": "Register Now", + "立即注册": "Register Now", "版权": "Copyright © 天津市再登软件有限公司, LIMITED All rights reserved" }, "tagsView": { @@ -102,7 +106,7 @@ export default { "device": { "设备信息": "Device Info", "设备名称": "Device Name", - "设备编号": "Number", + "设备编码": "Number", "设备类型": "Type", "车间名称": "Workshop", "产线名称": "Prod Line", @@ -131,13 +135,40 @@ export default { "最小针数": "MinNeedle", "最大针数": "MaxNeedle", "缝纫次数": "SewingTimes", - "针号":"Needle", - "面线信息":"UpperThread", - "底线信息":"BottomThread", - "梭芯信息":"Bobbin", - "排序":"Sort", - "类型":"Type", - "第几针":"Needle No.", - "步骤":"Step", + "针号": "Needle", + "面线信息": "UpperThread", + "底线信息": "BottomThread", + "梭芯信息": "Bobbin", + "排序": "Sort", + "类型": "Type", + "第几针": "Needle No.", + "步骤": "Step", }, + "produce": { + "产品编码": "ProductCode", + "设备编码": "DeviceCode", + "员工编号": "StaffCode", + "目标产量": "TargetOutput", + "当前产量": "CurrentOutput", + "开始时间": "StartTime", + "结束时间": "EndTime", + "批次": "Batch", + "备注": "Remark", + "状态": "Status", + "二维码": "QRCode", + "获取二维码": "Get QRCode", + }, + "quality": { + "产品名称": "ProductName", + "产品编码": "ProductCode", + "产品序列号": "ProductSN", + "员工姓名": "StaffName", + "设备名称": "DeviceName", + "开始时间": "StartTime", + "完成时间": "EndTime", + "状态": "Status", + "产品合格率": "PassRate", + "产品不合格率": "FailRate", + "产品完成量": "FinishCount", + } } \ No newline at end of file diff --git a/src/lang/i18n-zh-CN.js b/src/lang/i18n-zh-CN.js index f7ae398..a0fb2ab 100644 --- a/src/lang/i18n-zh-CN.js +++ b/src/lang/i18n-zh-CN.js @@ -56,6 +56,7 @@ export default { "创建时间": "创建时间", "更新时间": "更新时间", "请输入": "请输入", + "请选择": "请选择", "确 定": "确 定", "取 消": "取 消", "添加成功": "添加成功", @@ -63,12 +64,15 @@ export default { "删除成功": "删除成功", }, "validate": { - "required": "不能为空", - "format": "格式不正确", - "length": "长度不正确", - "range": "范围不正确", - "max": "最大值为", - "min": "最小值为", + "不能为空": "不能为空", + "格式不正确": "格式不正确", + "长度不正确": "长度不正确", + "范围不正确": "范围不正确", + "最大值为": "最大值为", + "最小值为": "最小值为", + }, + "tip": { + "确定删除选中记录?": "确定删除选中记录?", }, "login": { "标题": "智能缝纫管理系统", @@ -103,7 +107,7 @@ export default { "device": { "设备信息": "设备信息", "设备名称": "设备名称", - "设备编号": "设备编号", + "设备编码": "设备编码", "设备类型": "设备类型", "车间名称": "车间名称", "产线名称": "产线名称", @@ -132,13 +136,40 @@ export default { "最小针数": "最小针数", "最大针数": "最大针数", "缝纫次数": "缝纫次数", - "针号":"针号", - "面线信息":"面线信息", - "底线信息":"底线信息", - "梭芯信息":"梭芯信息", - "排序":"排序", - "类型":"类型", - "第几针":"第几针", - "步骤":"步骤", + "针号": "针号", + "面线信息": "面线信息", + "底线信息": "底线信息", + "梭芯信息": "梭芯信息", + "排序": "排序", + "类型": "类型", + "第几针": "第几针", + "步骤": "步骤", }, + "produce": { + "产品编码": "产品编码", + "设备编码": "设备编码", + "员工编号": "员工编号", + "目标产量": "目标产量", + "当前产量": "当前产量", + "开始时间": "开始时间", + "结束时间": "结束时间", + "批次": "批次", + "备注": "备注", + "状态": "状态", + "二维码": "二维码", + "获取二维码": "获取二维码", + }, + "quality": { + "产品名称": "产品名称", + "产品编码": "产品编码", + "产品序列号": "产品序列号", + "员工姓名": "员工姓名", + "设备名称": "设备名称", + "开始时间": "开始时间", + "完成时间": "完成时间", + "状态": "状态", + "产品合格率": "产品合格率", + "产品不合格率": "产品不合格率", + "产品完成量": "产品完成量", + } } \ No newline at end of file diff --git a/src/main.js b/src/main.js index 68bd959..68a8e5c 100644 --- a/src/main.js +++ b/src/main.js @@ -48,6 +48,31 @@ import TreeSelect from '@/components/TreeSelect' import DictTag from '@/components/DictTag' import { getStoredLanguage, saveStoredLanguage } from "@/utils/languageStorage"; +import VECharts from 'vue-echarts' +import { use } from 'echarts/core' +// 手动引入 ECharts 各模块来减小打包体积 + +import { + CanvasRenderer +} from 'echarts/renderers' +import { + PieChart +} from 'echarts/charts' +import { + TitleComponent, + TooltipComponent, + LegendComponent +} from 'echarts/components' +use([ + CanvasRenderer, + PieChart, + TitleComponent, + TooltipComponent, + LegendComponent +]); + + +// 设置语言 let locale = getStoredLanguage() === 'en-US' ? enLocale : zhLocale const app = createApp(App) @@ -64,10 +89,10 @@ app.config.globalProperties.selectDictLabels = selectDictLabels app.config.globalProperties.$t = i18n.global.t app.config.globalProperties.$te = i18n.global.te -app.config.globalProperties.tLang = (parent,item)=>{ +app.config.globalProperties.tLang = (parent, item) => { if (i18n.global.te(parent + "." + item)) { - return i18n.global.t(parent + "." + item) - } + return i18n.global.t(parent + "." + item) + } return item } @@ -80,7 +105,8 @@ app.component('ImageUpload', ImageUpload) app.component('ImagePreview', ImagePreview) app.component('RightToolbar', RightToolbar) app.component('Editor', Editor) - +// 全局注册组件(也可以使用局部注册) +app.component('v-chart', VECharts) app.use(router) app.use(store) app.use(i18n) diff --git a/src/views/device/device/index.vue b/src/views/device/device/index.vue index 6c03766..c8203a2 100644 --- a/src/views/device/device/index.vue +++ b/src/views/device/device/index.vue @@ -4,8 +4,8 @@ - - + + @@ -70,7 +70,7 @@ - + @@ -109,11 +109,11 @@ - - + + - + @@ -224,7 +224,7 @@ let rules = ref({ // 列显隐信息 const columns = ref([ { key: 0, label: proxy.tLang('device',`设备名称`), visible: true }, - { key: 1, label: proxy.tLang('device',`设备编号`), visible: true }, + { key: 1, label: proxy.tLang('device',`设备编码`), visible: true }, { key: 2, label: proxy.tLang('device',`设备类型`), visible: true }, { key: 3, label:proxy.tLang('device',`车间名称`) , visible: true }, { key: 4, label:proxy.tLang('device',`产线名称`) , visible: false }, @@ -316,7 +316,7 @@ function handleInfo(row) { function handleAdd() { reset(); open.value = true; - title.value = "添加设备信息"; + title.value = proxy.tLang('common','添加') + ' ' + proxy.tLang('device','设备信息'); } /** 修改按钮操作 */ function handleUpdate(row) { @@ -325,7 +325,7 @@ function handleUpdate(row) { getDevice(id).then(response => { form.value = response.data; open.value = true; - title.value = "修改设备信息"; + title.value = proxy.tLang('common','修改') + ' ' + proxy.tLang('device','设备信息'); }); } /** 提交按钮 */ @@ -334,13 +334,13 @@ function submitForm() { if (valid) { if (form.value.id != null) { updateDevice(form.value).then(response => { - proxy.$modal.msgSuccess("修改成功"); + proxy.$modal.msgSuccess(proxy.tLang('common','修改成功')); open.value = false; getList(); }); } else { addDevice(form.value).then(response => { - proxy.$modal.msgSuccess("新增成功"); + proxy.$modal.msgSuccess(proxy.tLang('common','新增成功')); open.value = false; getList(); }); @@ -351,11 +351,11 @@ function submitForm() { /** 删除按钮操作 */ function handleDelete(row) { const id = row.id || ids.value; - proxy.$modal.confirm('是否确认删除设备信息编号为"' + id + '"的数据项?').then(function () { + proxy.$modal.confirm(proxy.tLang('tip','确定删除选中记录?') + ` [${id}]`).then(function () { return delDevice(id); }).then(() => { getList(); - proxy.$modal.msgSuccess("删除成功"); + proxy.$modal.msgSuccess(proxy.tLang('common','删除成功')); }).catch(() => { }); } /** 导出按钮操作 */ diff --git a/src/views/device/device/info.vue b/src/views/device/device/info.vue index 05b7f8d..600f524 100644 --- a/src/views/device/device/info.vue +++ b/src/views/device/device/info.vue @@ -1,7 +1,7 @@