From 40676be6d0403f14ecd9944fa248552711ab1237 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=AD=A3=E6=98=93?= Date: Thu, 2 Jan 2025 17:54:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B6=82=E8=A3=85=E8=BD=A6=E9=97=B4GP12?= =?UTF-8?q?=E8=A7=A6=E6=91=B8=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + .../gp12/qcGp12BaseDefect.js | 57 ++ .../qualityManagement/gp12/qcGp12BaseGroup.js | 57 ++ .../gp12/qcGp12BaseLabelAnalysis.js | 57 ++ .../qualityManagement/gp12/qcGp12BaseSite.js | 57 ++ .../gp12/qcGp12LogWorkorder.js | 57 ++ .../gp12/qcGp12RecordLabelScan.js | 57 ++ .../gp12/qcGp12RecordWorkorderDefect.js | 57 ++ .../gp12/qcGp12ServiceStatistics.js | 57 ++ .../gp12/qcGp12ServiceWorkorder.js | 57 ++ src/main.js | 55 +- src/router/index.js | 227 ++++--- src/views/business/QcGp12BaseDefect.vue | 374 +++++++++++ src/views/business/QcGp12BaseGroup.vue | 365 +++++++++++ .../business/QcGp12BaseLabelAnalysis.vue | 383 +++++++++++ src/views/business/QcGp12BaseSite.vue | 365 +++++++++++ src/views/business/QcGp12LogWorkorder.vue | 363 +++++++++++ src/views/business/QcGp12RecordLabelScan.vue | 450 +++++++++++++ .../business/QcGp12RecordWorkorderDefect.vue | 456 +++++++++++++ .../business/QcGp12ServiceStatistics.vue | 612 ++++++++++++++++++ src/views/business/QcGp12ServiceWorkorder.vue | 564 ++++++++++++++++ .../touchScreen/main/components/header.vue | 104 +++ .../gp12/touchScreen/main/components/time.vue | 47 ++ .../gp12/touchScreen/main/index.css | 20 + .../gp12/touchScreen/main/index.vue | 255 ++++++++ .../gp12/touchScreen/tool/comText.vue | 128 ++++ .../gp12/touchScreen/tool/scanCode.js | 78 +++ .../gp12/touchScreen/workorder/index.vue | 217 +++++++ 28 files changed, 5442 insertions(+), 135 deletions(-) create mode 100644 src/api/qualityManagement/gp12/qcGp12BaseDefect.js create mode 100644 src/api/qualityManagement/gp12/qcGp12BaseGroup.js create mode 100644 src/api/qualityManagement/gp12/qcGp12BaseLabelAnalysis.js create mode 100644 src/api/qualityManagement/gp12/qcGp12BaseSite.js create mode 100644 src/api/qualityManagement/gp12/qcGp12LogWorkorder.js create mode 100644 src/api/qualityManagement/gp12/qcGp12RecordLabelScan.js create mode 100644 src/api/qualityManagement/gp12/qcGp12RecordWorkorderDefect.js create mode 100644 src/api/qualityManagement/gp12/qcGp12ServiceStatistics.js create mode 100644 src/api/qualityManagement/gp12/qcGp12ServiceWorkorder.js create mode 100644 src/views/business/QcGp12BaseDefect.vue create mode 100644 src/views/business/QcGp12BaseGroup.vue create mode 100644 src/views/business/QcGp12BaseLabelAnalysis.vue create mode 100644 src/views/business/QcGp12BaseSite.vue create mode 100644 src/views/business/QcGp12LogWorkorder.vue create mode 100644 src/views/business/QcGp12RecordLabelScan.vue create mode 100644 src/views/business/QcGp12RecordWorkorderDefect.vue create mode 100644 src/views/business/QcGp12ServiceStatistics.vue create mode 100644 src/views/business/QcGp12ServiceWorkorder.vue create mode 100644 src/views/qualityManagement/gp12/touchScreen/main/components/header.vue create mode 100644 src/views/qualityManagement/gp12/touchScreen/main/components/time.vue create mode 100644 src/views/qualityManagement/gp12/touchScreen/main/index.css create mode 100644 src/views/qualityManagement/gp12/touchScreen/main/index.vue create mode 100644 src/views/qualityManagement/gp12/touchScreen/tool/comText.vue create mode 100644 src/views/qualityManagement/gp12/touchScreen/tool/scanCode.js create mode 100644 src/views/qualityManagement/gp12/touchScreen/workorder/index.vue diff --git a/package.json b/package.json index a468d93..5107a3d 100644 --- a/package.json +++ b/package.json @@ -70,6 +70,7 @@ "zradmin": "file:" }, "devDependencies": { + "@mdi/font": "^7.4.47", "@vue/cli-plugin-babel": "4.4.4", "@vue/cli-plugin-eslint": "4.4.4", "@vue/cli-service": "4.4.4", diff --git a/src/api/qualityManagement/gp12/qcGp12BaseDefect.js b/src/api/qualityManagement/gp12/qcGp12BaseDefect.js new file mode 100644 index 0000000..f6ecf69 --- /dev/null +++ b/src/api/qualityManagement/gp12/qcGp12BaseDefect.js @@ -0,0 +1,57 @@ +import request from '@/utils/request' + +/** + * 质量GP12基础缺陷项分页查询 + * @param {查询条件} data + */ +export function listQcGp12BaseDefect(query) { + return request({ + url: '/mes/qc/gp12/QcGp12BaseDefect/list', + method: 'get', + params: query, + }) +} + +/** + * 新增质量GP12基础缺陷项 + * @param data + */ +export function addQcGp12BaseDefect(data) { + return request({ + url: '/mes/qc/gp12/QcGp12BaseDefect', + method: 'post', + data: data, + }) +} +/** + * 修改质量GP12基础缺陷项 + * @param data + */ +export function updateQcGp12BaseDefect(data) { + return request({ + url: '/mes/qc/gp12/QcGp12BaseDefect', + method: 'PUT', + data: data, + }) +} +/** + * 获取质量GP12基础缺陷项详情 + * @param {Id} + */ +export function getQcGp12BaseDefect(id) { + return request({ + url: '/mes/qc/gp12/QcGp12BaseDefect/' + id, + method: 'get', + }) +} + +/** + * 删除质量GP12基础缺陷项 + * @param {主键} pid + */ +export function delQcGp12BaseDefect(pid) { + return request({ + url: '/mes/qc/gp12/QcGp12BaseDefect/' + pid, + method: 'delete', + }) +} diff --git a/src/api/qualityManagement/gp12/qcGp12BaseGroup.js b/src/api/qualityManagement/gp12/qcGp12BaseGroup.js new file mode 100644 index 0000000..180c715 --- /dev/null +++ b/src/api/qualityManagement/gp12/qcGp12BaseGroup.js @@ -0,0 +1,57 @@ +import request from '@/utils/request' + +/** + * 质量GP12班组分页查询 + * @param {查询条件} data + */ +export function listQcGp12BaseGroup(query) { + return request({ + url: '/mes/qc/gp12/QcGp12BaseGroup/list', + method: 'get', + params: query, + }) +} + +/** + * 新增质量GP12班组 + * @param data + */ +export function addQcGp12BaseGroup(data) { + return request({ + url: '/mes/qc/gp12/QcGp12BaseGroup', + method: 'post', + data: data, + }) +} +/** + * 修改质量GP12班组 + * @param data + */ +export function updateQcGp12BaseGroup(data) { + return request({ + url: '/mes/qc/gp12/QcGp12BaseGroup', + method: 'PUT', + data: data, + }) +} +/** + * 获取质量GP12班组详情 + * @param {Id} + */ +export function getQcGp12BaseGroup(id) { + return request({ + url: '/mes/qc/gp12/QcGp12BaseGroup/' + id, + method: 'get', + }) +} + +/** + * 删除质量GP12班组 + * @param {主键} pid + */ +export function delQcGp12BaseGroup(pid) { + return request({ + url: '/mes/qc/gp12/QcGp12BaseGroup/' + pid, + method: 'delete', + }) +} diff --git a/src/api/qualityManagement/gp12/qcGp12BaseLabelAnalysis.js b/src/api/qualityManagement/gp12/qcGp12BaseLabelAnalysis.js new file mode 100644 index 0000000..ec81d58 --- /dev/null +++ b/src/api/qualityManagement/gp12/qcGp12BaseLabelAnalysis.js @@ -0,0 +1,57 @@ +import request from '@/utils/request' + +/** + * 质量GP12基础标签解析分页查询 + * @param {查询条件} data + */ +export function listQcGp12BaseLabelAnalysis(query) { + return request({ + url: '/mes/qc/gp12/QcGp12BaseLabelAnalysis/list', + method: 'get', + params: query, + }) +} + +/** + * 新增质量GP12基础标签解析 + * @param data + */ +export function addQcGp12BaseLabelAnalysis(data) { + return request({ + url: '/mes/qc/gp12/QcGp12BaseLabelAnalysis', + method: 'post', + data: data, + }) +} +/** + * 修改质量GP12基础标签解析 + * @param data + */ +export function updateQcGp12BaseLabelAnalysis(data) { + return request({ + url: '/mes/qc/gp12/QcGp12BaseLabelAnalysis', + method: 'PUT', + data: data, + }) +} +/** + * 获取质量GP12基础标签解析详情 + * @param {Id} + */ +export function getQcGp12BaseLabelAnalysis(id) { + return request({ + url: '/mes/qc/gp12/QcGp12BaseLabelAnalysis/' + id, + method: 'get', + }) +} + +/** + * 删除质量GP12基础标签解析 + * @param {主键} pid + */ +export function delQcGp12BaseLabelAnalysis(pid) { + return request({ + url: '/mes/qc/gp12/QcGp12BaseLabelAnalysis/' + pid, + method: 'delete', + }) +} diff --git a/src/api/qualityManagement/gp12/qcGp12BaseSite.js b/src/api/qualityManagement/gp12/qcGp12BaseSite.js new file mode 100644 index 0000000..f506d7a --- /dev/null +++ b/src/api/qualityManagement/gp12/qcGp12BaseSite.js @@ -0,0 +1,57 @@ +import request from '@/utils/request' + +/** + * 质量GP12基础站点分页查询 + * @param {查询条件} data + */ +export function listQcGp12BaseSite(query) { + return request({ + url: '/mes/qc/gp12/QcGp12BaseSite/list', + method: 'get', + params: query, + }) +} + +/** + * 新增质量GP12基础站点 + * @param data + */ +export function addQcGp12BaseSite(data) { + return request({ + url: '/mes/qc/gp12/QcGp12BaseSite', + method: 'post', + data: data, + }) +} +/** + * 修改质量GP12基础站点 + * @param data + */ +export function updateQcGp12BaseSite(data) { + return request({ + url: '/mes/qc/gp12/QcGp12BaseSite', + method: 'PUT', + data: data, + }) +} +/** + * 获取质量GP12基础站点详情 + * @param {Id} + */ +export function getQcGp12BaseSite(id) { + return request({ + url: '/mes/qc/gp12/QcGp12BaseSite/' + id, + method: 'get', + }) +} + +/** + * 删除质量GP12基础站点 + * @param {主键} pid + */ +export function delQcGp12BaseSite(pid) { + return request({ + url: '/mes/qc/gp12/QcGp12BaseSite/' + pid, + method: 'delete', + }) +} diff --git a/src/api/qualityManagement/gp12/qcGp12LogWorkorder.js b/src/api/qualityManagement/gp12/qcGp12LogWorkorder.js new file mode 100644 index 0000000..dca0ac0 --- /dev/null +++ b/src/api/qualityManagement/gp12/qcGp12LogWorkorder.js @@ -0,0 +1,57 @@ +import request from '@/utils/request' + +/** + * 质量GP12工单操作日志分页查询 + * @param {查询条件} data + */ +export function listQcGp12LogWorkorder(query) { + return request({ + url: '/mes/qc/gp12/QcGp12LogWorkorder/list', + method: 'get', + params: query, + }) +} + +/** + * 新增质量GP12工单操作日志 + * @param data + */ +export function addQcGp12LogWorkorder(data) { + return request({ + url: '/mes/qc/gp12/QcGp12LogWorkorder', + method: 'post', + data: data, + }) +} +/** + * 修改质量GP12工单操作日志 + * @param data + */ +export function updateQcGp12LogWorkorder(data) { + return request({ + url: '/mes/qc/gp12/QcGp12LogWorkorder', + method: 'PUT', + data: data, + }) +} +/** + * 获取质量GP12工单操作日志详情 + * @param {Id} + */ +export function getQcGp12LogWorkorder(id) { + return request({ + url: '/mes/qc/gp12/QcGp12LogWorkorder/' + id, + method: 'get', + }) +} + +/** + * 删除质量GP12工单操作日志 + * @param {主键} pid + */ +export function delQcGp12LogWorkorder(pid) { + return request({ + url: '/mes/qc/gp12/QcGp12LogWorkorder/' + pid, + method: 'delete', + }) +} diff --git a/src/api/qualityManagement/gp12/qcGp12RecordLabelScan.js b/src/api/qualityManagement/gp12/qcGp12RecordLabelScan.js new file mode 100644 index 0000000..12e72ed --- /dev/null +++ b/src/api/qualityManagement/gp12/qcGp12RecordLabelScan.js @@ -0,0 +1,57 @@ +import request from '@/utils/request' + +/** + * 质量GP12扫码标签记录分页查询 + * @param {查询条件} data + */ +export function listQcGp12RecordLabelScan(query) { + return request({ + url: '/mes/qc/gp12/QcGp12RecordLabelScan/list', + method: 'get', + params: query, + }) +} + +/** + * 新增质量GP12扫码标签记录 + * @param data + */ +export function addQcGp12RecordLabelScan(data) { + return request({ + url: '/mes/qc/gp12/QcGp12RecordLabelScan', + method: 'post', + data: data, + }) +} +/** + * 修改质量GP12扫码标签记录 + * @param data + */ +export function updateQcGp12RecordLabelScan(data) { + return request({ + url: '/mes/qc/gp12/QcGp12RecordLabelScan', + method: 'PUT', + data: data, + }) +} +/** + * 获取质量GP12扫码标签记录详情 + * @param {Id} + */ +export function getQcGp12RecordLabelScan(id) { + return request({ + url: '/mes/qc/gp12/QcGp12RecordLabelScan/' + id, + method: 'get', + }) +} + +/** + * 删除质量GP12扫码标签记录 + * @param {主键} pid + */ +export function delQcGp12RecordLabelScan(pid) { + return request({ + url: '/mes/qc/gp12/QcGp12RecordLabelScan/' + pid, + method: 'delete', + }) +} diff --git a/src/api/qualityManagement/gp12/qcGp12RecordWorkorderDefect.js b/src/api/qualityManagement/gp12/qcGp12RecordWorkorderDefect.js new file mode 100644 index 0000000..739e18b --- /dev/null +++ b/src/api/qualityManagement/gp12/qcGp12RecordWorkorderDefect.js @@ -0,0 +1,57 @@ +import request from '@/utils/request' + +/** + * 质量GP12工单缺陷项记录分页查询 + * @param {查询条件} data + */ +export function listQcGp12RecordWorkorderDefect(query) { + return request({ + url: '/mes/qc/gp12/QcGp12RecordWorkorderDefect/list', + method: 'get', + params: query, + }) +} + +/** + * 新增质量GP12工单缺陷项记录 + * @param data + */ +export function addQcGp12RecordWorkorderDefect(data) { + return request({ + url: '/mes/qc/gp12/QcGp12RecordWorkorderDefect', + method: 'post', + data: data, + }) +} +/** + * 修改质量GP12工单缺陷项记录 + * @param data + */ +export function updateQcGp12RecordWorkorderDefect(data) { + return request({ + url: '/mes/qc/gp12/QcGp12RecordWorkorderDefect', + method: 'PUT', + data: data, + }) +} +/** + * 获取质量GP12工单缺陷项记录详情 + * @param {Id} + */ +export function getQcGp12RecordWorkorderDefect(id) { + return request({ + url: '/mes/qc/gp12/QcGp12RecordWorkorderDefect/' + id, + method: 'get', + }) +} + +/** + * 删除质量GP12工单缺陷项记录 + * @param {主键} pid + */ +export function delQcGp12RecordWorkorderDefect(pid) { + return request({ + url: '/mes/qc/gp12/QcGp12RecordWorkorderDefect/' + pid, + method: 'delete', + }) +} diff --git a/src/api/qualityManagement/gp12/qcGp12ServiceStatistics.js b/src/api/qualityManagement/gp12/qcGp12ServiceStatistics.js new file mode 100644 index 0000000..2161957 --- /dev/null +++ b/src/api/qualityManagement/gp12/qcGp12ServiceStatistics.js @@ -0,0 +1,57 @@ +import request from '@/utils/request' + +/** + * 质量GP12统计报表业务模块分页查询 + * @param {查询条件} data + */ +export function listQcGp12ServiceStatistics(query) { + return request({ + url: '/mes/qc/gp12/QcGp12ServiceStatistics/list', + method: 'get', + params: query, + }) +} + +/** + * 新增质量GP12统计报表业务模块 + * @param data + */ +export function addQcGp12ServiceStatistics(data) { + return request({ + url: '/mes/qc/gp12/QcGp12ServiceStatistics', + method: 'post', + data: data, + }) +} +/** + * 修改质量GP12统计报表业务模块 + * @param data + */ +export function updateQcGp12ServiceStatistics(data) { + return request({ + url: '/mes/qc/gp12/QcGp12ServiceStatistics', + method: 'PUT', + data: data, + }) +} +/** + * 获取质量GP12统计报表业务模块详情 + * @param {Id} + */ +export function getQcGp12ServiceStatistics(id) { + return request({ + url: '/mes/qc/gp12/QcGp12ServiceStatistics/' + id, + method: 'get', + }) +} + +/** + * 删除质量GP12统计报表业务模块 + * @param {主键} pid + */ +export function delQcGp12ServiceStatistics(pid) { + return request({ + url: '/mes/qc/gp12/QcGp12ServiceStatistics/' + pid, + method: 'delete', + }) +} diff --git a/src/api/qualityManagement/gp12/qcGp12ServiceWorkorder.js b/src/api/qualityManagement/gp12/qcGp12ServiceWorkorder.js new file mode 100644 index 0000000..c93685a --- /dev/null +++ b/src/api/qualityManagement/gp12/qcGp12ServiceWorkorder.js @@ -0,0 +1,57 @@ +import request from '@/utils/request' + +/** + * 质量GP12工单业务模块分页查询 + * @param {查询条件} data + */ +export function listQcGp12ServiceWorkorder(query) { + return request({ + url: '/mes/qc/gp12/QcGp12ServiceWorkorder/list', + method: 'get', + params: query, + }) +} + +/** + * 新增质量GP12工单业务模块 + * @param data + */ +export function addQcGp12ServiceWorkorder(data) { + return request({ + url: '/mes/qc/gp12/QcGp12ServiceWorkorder', + method: 'post', + data: data, + }) +} +/** + * 修改质量GP12工单业务模块 + * @param data + */ +export function updateQcGp12ServiceWorkorder(data) { + return request({ + url: '/mes/qc/gp12/QcGp12ServiceWorkorder', + method: 'PUT', + data: data, + }) +} +/** + * 获取质量GP12工单业务模块详情 + * @param {Id} + */ +export function getQcGp12ServiceWorkorder(id) { + return request({ + url: '/mes/qc/gp12/QcGp12ServiceWorkorder/' + id, + method: 'get', + }) +} + +/** + * 删除质量GP12工单业务模块 + * @param {主键} pid + */ +export function delQcGp12ServiceWorkorder(pid) { + return request({ + url: '/mes/qc/gp12/QcGp12ServiceWorkorder/' + pid, + method: 'delete', + }) +} diff --git a/src/main.js b/src/main.js index 599adee..910986b 100644 --- a/src/main.js +++ b/src/main.js @@ -5,10 +5,10 @@ import Cookies from 'js-cookie' import Element from 'element-ui' import 'normalize.css/normalize.css' // a modern alternative to CSS resets import './assets/styles/element-variables.scss' -import '@/assets/styles/index.scss' // global css +import '@/assets/styles/index.scss' // global css // import '@/utils/view/viewUtil' -import 'animate.css'; +import 'animate.css' import App from './App' import store from './store' @@ -20,23 +20,23 @@ import { downFile } from '@/utils/request' import './assets/icons' // icon import './permission' // permission control 动态路由 -import { getDicts } from "@/api/system/dict/data"; -import { getConfigKey } from "@/api/system/config"; -import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, download, handleTree, handleDict } from "@/utils/ruoyi"; +import { getDicts } from '@/api/system/dict/data' +import { getConfigKey } from '@/api/system/config' +import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, download, handleTree, handleDict } from '@/utils/ruoyi' //分页组件 -import Pagination from "@/components/Pagination"; +import Pagination from '@/components/Pagination' //自定义表格工具扩展 -import RightToolbar from "@/components/RightToolbar" +import RightToolbar from '@/components/RightToolbar' // 富文本组件 -import Editor from "@/components/Editor"; +import Editor from '@/components/Editor' // 字典标签组件 import DictTag from '@/components/DictTag' // 上传图片 -import UploadImage from '@/components/UploadImage/index'; +import UploadImage from '@/components/UploadImage/index' // 上传文件 -import UploadFile from '@/components/FileUpload/index'; +import UploadFile from '@/components/FileUpload/index' // 字典数据组件 -import DictData from '@/components/DictData'; +import DictData from '@/components/DictData' // 二维码与打印组件相关 KrPrintDesigner+VueQr import VueQr from 'vue-qr' @@ -45,12 +45,11 @@ import printJS from 'print-js' import * as echarts from 'echarts' import ECharts from 'vue-echarts' // VXE-Table相关组件 -import VXETable from 'vxe-table'; +import VXETable from 'vxe-table' -import 'vxe-table/lib/style.css'; - -import dataV from '@jiaminghi/data-view'; +import 'vxe-table/lib/style.css' +import dataV from '@jiaminghi/data-view' //需要按需引入,先引入vue并引入element-ui import AFTableColumn from 'af-table-column' @@ -61,6 +60,9 @@ import 'dayjs/locale/zh-cn' // 引入中文语言包 import relativeTime from 'dayjs/plugin/relativeTime' dayjs.extend(relativeTime) +// mdicon +import '@mdi/font/css/materialdesignicons.css' + // 全局方法挂载 Vue.prototype.getDicts = getDicts Vue.prototype.getConfigKey = getConfigKey @@ -77,19 +79,17 @@ Vue.prototype.$dayjs = dayjs Vue.prototype.$echarts = echarts Vue.prototype.msgSuccess = function (msg) { - this.$message({ showClose: true, message: msg, type: "success" }); + this.$message({ showClose: true, message: msg, type: 'success' }) } Vue.prototype.msgError = function (msg) { - this.$message({ showClose: true, message: msg, type: "error" }); + this.$message({ showClose: true, message: msg, type: 'error' }) } Vue.prototype.msgInfo = function (msg) { - this.$message.info(msg); + this.$message.info(msg) } - - // 全局组件挂载 Vue.component('Pagination', Pagination) Vue.component('RightToolbar', RightToolbar) @@ -104,23 +104,22 @@ Vue.use(VueCompositionAPI) Vue.use(permission) Vue.use(plugins) Vue.use(Element, { - size: Cookies.get('size') || 'small' // set element-ui default size + size: Cookies.get('size') || 'small', // set element-ui default size }) Vue.use(VXETable) - Vue.use(dataV) Vue.use(AFTableColumn) DictData.install() Vue.config.productionTip = false -signalR.init(process.env.VUE_APP_SOCKET_API); +signalR.init(process.env.VUE_APP_SOCKET_API) Vue.prototype.signalr = signalR //todo 绑定在原型对象里 new Vue({ - el: '#app', - router, - store, - render: h => h(App) -}) \ No newline at end of file + el: '#app', + router, + store, + render: (h) => h(App), +}) diff --git a/src/router/index.js b/src/router/index.js index 4659abb..1710f89 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -25,113 +25,126 @@ import Layout from '@/layout' */ // 公共路由 -export const constantRoutes = [{ - path: '/redirect', - component: Layout, - hidden: true, - children: [{ - path: '/redirect/:path(.*)', - component: (resolve) => require(['@/views/redirect'], resolve) - }] -}, -{ - path: '/login', - component: (resolve) => require(['@/views/login'], resolve), - hidden: true -}, -{ - path: '/register', - component: (resolve) => require(['@/views/register'], resolve), - hidden: true -}, -{ - path: '/404', - component: (resolve) => require(['@/views/error/404'], resolve), - hidden: true -}, -{ - path: '/401', - component: (resolve) => require(['@/views/error/401'], resolve), - hidden: true -}, -{ - path: '', - component: Layout, - redirect: 'index', - children: [{ - path: 'index', - component: (resolve) => require(['@/views/index'], resolve), - name: 'Index', - meta: { title: '首页', icon: 'dashboard', affix: true } - }], -}, -{ - path: '/user', - component: Layout, - hidden: true, - redirect: 'noredirect', - children: [{ - path: 'profile', - component: (resolve) => require(['@/views/system/user/profile/index'], resolve), - name: 'Profile', - meta: { title: '个人中心', icon: 'user' } - }] -}, -{ - path: '/echarts', - component: (resolve) => require(['@/views/components/Echarts'], resolve), - hidden: true -}, { - path: '/icons', - component: (resolve) => require(['@/views/components/icons/index'], resolve), - hidden: true -}, -// 质量检验中的初次检验 -{ - path: '/firstFQC', - component: (resolve) => require(['@/views/qualityManagement/FQC/firstFQC.vue'], resolve), - hidden: true -}, -{ - path: '/againFQC', - component: (resolve) => require(['@/views/qualityManagement/FQC/againFQC.vue'], resolve), - hidden: true -}, -{ - path: '/thirtyFQC', - component: (resolve) => require(['@/views/qualityManagement/FQC/thirtyFQC.vue'], resolve), - hidden: true -}, -{ - path: '/polishManagement/WmPolishWorkOrder', - component: (resolve) => require(['@/views/wmsManagement/WmPolishInventory/WmPolishWorkOrder.vue'], resolve), - hidden: true -}, -{ - path: '/polishManagement/PolishReport', - component: (resolve) => require(['@/views/wmsManagement/WmPolishInventory/PolishReport.vue'], resolve), - hidden: true -}, -{ - path: '/polishManagement/PolishFQC', - component: (resolve) => require(['@/views/wmsManagement/WmPolishInventory/PolishFQC.vue'], resolve), - hidden: true -}, -{ - path: '/kanbanManagement/FqcQualityDataBoard', - component: (resolve) => require(['@/views/kanbanManagement/FqcQualityDataBoard/index.vue'], resolve), - hidden: true -}, - // { - // path: '/qualityManagement/FQC/qualityStatistics', - // component: (resolve) => require(['@/views/qualityManagement/FQC/qualityStatistics.vue'], resolve), - // hidden: true - // }, +export const constantRoutes = [ + { + path: '/redirect', + component: Layout, + hidden: true, + children: [ + { + path: '/redirect/:path(.*)', + component: (resolve) => require(['@/views/redirect'], resolve), + }, + ], + }, + { + path: '/login', + component: (resolve) => require(['@/views/login'], resolve), + hidden: true, + }, + { + path: '/register', + component: (resolve) => require(['@/views/register'], resolve), + hidden: true, + }, + { + path: '/404', + component: (resolve) => require(['@/views/error/404'], resolve), + hidden: true, + }, + { + path: '/401', + component: (resolve) => require(['@/views/error/401'], resolve), + hidden: true, + }, + { + path: '', + component: Layout, + redirect: 'index', + children: [ + { + path: 'index', + component: (resolve) => require(['@/views/index'], resolve), + name: 'Index', + meta: { title: '首页', icon: 'dashboard', affix: true }, + }, + ], + }, + { + path: '/user', + component: Layout, + hidden: true, + redirect: 'noredirect', + children: [ + { + path: 'profile', + component: (resolve) => require(['@/views/system/user/profile/index'], resolve), + name: 'Profile', + meta: { title: '个人中心', icon: 'user' }, + }, + ], + }, + { + path: '/echarts', + component: (resolve) => require(['@/views/components/Echarts'], resolve), + hidden: true, + }, + { + path: '/icons', + component: (resolve) => require(['@/views/components/icons/index'], resolve), + hidden: true, + }, + // 质量检验中的初次检验 + { + path: '/firstFQC', + component: (resolve) => require(['@/views/qualityManagement/FQC/firstFQC.vue'], resolve), + hidden: true, + }, + { + path: '/againFQC', + component: (resolve) => require(['@/views/qualityManagement/FQC/againFQC.vue'], resolve), + hidden: true, + }, + { + path: '/thirtyFQC', + component: (resolve) => require(['@/views/qualityManagement/FQC/thirtyFQC.vue'], resolve), + hidden: true, + }, + { + path: '/polishManagement/WmPolishWorkOrder', + component: (resolve) => require(['@/views/wmsManagement/WmPolishInventory/WmPolishWorkOrder.vue'], resolve), + hidden: true, + }, + { + path: '/polishManagement/PolishReport', + component: (resolve) => require(['@/views/wmsManagement/WmPolishInventory/PolishReport.vue'], resolve), + hidden: true, + }, + { + path: '/polishManagement/PolishFQC', + component: (resolve) => require(['@/views/wmsManagement/WmPolishInventory/PolishFQC.vue'], resolve), + hidden: true, + }, + { + path: '/kanbanManagement/FqcQualityDataBoard', + component: (resolve) => require(['@/views/kanbanManagement/FqcQualityDataBoard/index.vue'], resolve), + hidden: true, + }, + { + path: '/gp12Management/touchScreen', + component: (resolve) => require(['@/views/qualityManagement/gp12/touchScreen/main/index.vue'], resolve), + hidden: true, + }, + // { + // path: '/qualityManagement/FQC/qualityStatistics', + // component: (resolve) => require(['@/views/qualityManagement/FQC/qualityStatistics.vue'], resolve), + // hidden: true + // }, ] export default new Router({ - base: process.env.VUE_APP_ROUTER_PREFIX, - mode: 'history', // 去掉url中的# - // scrollBehavior: () => ({ y: 0 }), - routes: constantRoutes -}) \ No newline at end of file + base: process.env.VUE_APP_ROUTER_PREFIX, + mode: 'history', // 去掉url中的# + // scrollBehavior: () => ({ y: 0 }), + routes: constantRoutes, +}) diff --git a/src/views/business/QcGp12BaseDefect.vue b/src/views/business/QcGp12BaseDefect.vue new file mode 100644 index 0000000..71f2c1b --- /dev/null +++ b/src/views/business/QcGp12BaseDefect.vue @@ -0,0 +1,374 @@ + + + \ No newline at end of file diff --git a/src/views/business/QcGp12BaseGroup.vue b/src/views/business/QcGp12BaseGroup.vue new file mode 100644 index 0000000..bc314a4 --- /dev/null +++ b/src/views/business/QcGp12BaseGroup.vue @@ -0,0 +1,365 @@ + + + \ No newline at end of file diff --git a/src/views/business/QcGp12BaseLabelAnalysis.vue b/src/views/business/QcGp12BaseLabelAnalysis.vue new file mode 100644 index 0000000..4309e9e --- /dev/null +++ b/src/views/business/QcGp12BaseLabelAnalysis.vue @@ -0,0 +1,383 @@ + + + \ No newline at end of file diff --git a/src/views/business/QcGp12BaseSite.vue b/src/views/business/QcGp12BaseSite.vue new file mode 100644 index 0000000..b80776f --- /dev/null +++ b/src/views/business/QcGp12BaseSite.vue @@ -0,0 +1,365 @@ + + + \ No newline at end of file diff --git a/src/views/business/QcGp12LogWorkorder.vue b/src/views/business/QcGp12LogWorkorder.vue new file mode 100644 index 0000000..eb2f337 --- /dev/null +++ b/src/views/business/QcGp12LogWorkorder.vue @@ -0,0 +1,363 @@ + + + \ No newline at end of file diff --git a/src/views/business/QcGp12RecordLabelScan.vue b/src/views/business/QcGp12RecordLabelScan.vue new file mode 100644 index 0000000..6e9a7f4 --- /dev/null +++ b/src/views/business/QcGp12RecordLabelScan.vue @@ -0,0 +1,450 @@ + + + \ No newline at end of file diff --git a/src/views/business/QcGp12RecordWorkorderDefect.vue b/src/views/business/QcGp12RecordWorkorderDefect.vue new file mode 100644 index 0000000..e46b706 --- /dev/null +++ b/src/views/business/QcGp12RecordWorkorderDefect.vue @@ -0,0 +1,456 @@ + + + \ No newline at end of file diff --git a/src/views/business/QcGp12ServiceStatistics.vue b/src/views/business/QcGp12ServiceStatistics.vue new file mode 100644 index 0000000..39063ab --- /dev/null +++ b/src/views/business/QcGp12ServiceStatistics.vue @@ -0,0 +1,612 @@ + + + \ No newline at end of file diff --git a/src/views/business/QcGp12ServiceWorkorder.vue b/src/views/business/QcGp12ServiceWorkorder.vue new file mode 100644 index 0000000..758653a --- /dev/null +++ b/src/views/business/QcGp12ServiceWorkorder.vue @@ -0,0 +1,564 @@ + + + \ No newline at end of file diff --git a/src/views/qualityManagement/gp12/touchScreen/main/components/header.vue b/src/views/qualityManagement/gp12/touchScreen/main/components/header.vue new file mode 100644 index 0000000..6daeb94 --- /dev/null +++ b/src/views/qualityManagement/gp12/touchScreen/main/components/header.vue @@ -0,0 +1,104 @@ + + + + + diff --git a/src/views/qualityManagement/gp12/touchScreen/main/components/time.vue b/src/views/qualityManagement/gp12/touchScreen/main/components/time.vue new file mode 100644 index 0000000..c4ad705 --- /dev/null +++ b/src/views/qualityManagement/gp12/touchScreen/main/components/time.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/src/views/qualityManagement/gp12/touchScreen/main/index.css b/src/views/qualityManagement/gp12/touchScreen/main/index.css new file mode 100644 index 0000000..5939db1 --- /dev/null +++ b/src/views/qualityManagement/gp12/touchScreen/main/index.css @@ -0,0 +1,20 @@ +.container{ + margin: 0; + padding: 10px; + width: 100%; + min-height: 93vh; + background-color: #000d2c; + display: flex; + flex-direction: column; +} +.nav-right{ + display: flex; + flex-direction: row; + width: 300px; +} +.text-green{ + color: #67C23A; +} +.text-red{ + color: red; +} \ No newline at end of file diff --git a/src/views/qualityManagement/gp12/touchScreen/main/index.vue b/src/views/qualityManagement/gp12/touchScreen/main/index.vue new file mode 100644 index 0000000..a0e1f4e --- /dev/null +++ b/src/views/qualityManagement/gp12/touchScreen/main/index.vue @@ -0,0 +1,255 @@ + + + + + diff --git a/src/views/qualityManagement/gp12/touchScreen/tool/comText.vue b/src/views/qualityManagement/gp12/touchScreen/tool/comText.vue new file mode 100644 index 0000000..230ce49 --- /dev/null +++ b/src/views/qualityManagement/gp12/touchScreen/tool/comText.vue @@ -0,0 +1,128 @@ + + + + + diff --git a/src/views/qualityManagement/gp12/touchScreen/tool/scanCode.js b/src/views/qualityManagement/gp12/touchScreen/tool/scanCode.js new file mode 100644 index 0000000..4ae4103 --- /dev/null +++ b/src/views/qualityManagement/gp12/touchScreen/tool/scanCode.js @@ -0,0 +1,78 @@ +class SCAN { + constructor(vm, timeout = 100) { + this.barCode = '' + this.vm = vm + this.lastTime = 0 + this.timeout = timeout + this.timer = null + this.event = this.eventListenerScanCode.bind(this) + } + + //监听扫码枪 + eventListenerScanCode(e) { + e = e || window.event + let currCode = e.keyCode || e.which || e.charCode + + let currTime = new Date().getTime() + if (this.lastTime > 0) { + if (currTime - this.lastTime <= this.timeout) { + // 扫码枪有效输入间隔毫秒 + this.barCode += String.fromCharCode(currCode) + } else if (currTime - this.lastTime > this.timeout) { + // 超过间隔时间,认为不是扫码枪输入内容,清空 + this.ClearBarCode() + } + } else { + // 第一次按键 + this.barCode = String.fromCharCode(currCode) + } + console.log(currTime, '监听扫监听到的值:', this.barCode) + this.lastTime = currTime + + if (currCode == 13) { + if (this.barCode) { + console.log('扫码结果:' + this.barCode) + + let code = this.barCode.substring(0, this.barCode.length - 1) + if (!code) return + + this.vm && this.vm.$bus.$emit('scanCode', code) + } + this.ClearBarCode() + } + + // 在没有按enter的情况下,定时清空 + if (this.timer) { + clearTimeout(this.timer) + this.timer = null + } + + this.timer = setTimeout(() => { + if (this.lastTime) { + this.ClearBarCode() + console.log('执行清空') + } + clearTimeout(this.timer) + this.timer = null + }, this.timeout) + } + + ClearBarCode() { + this.barCode = '' + this.lastTime = 0 + if (this.timer) { + clearTimeout(this.timer) + this.timer = null + } + } + + start() { + window.addEventListener('keypress', this.event) + } + + stop() { + window.removeEventListener('keypress', this.event) + this.ClearBarCode() + } +} +export default SCAN diff --git a/src/views/qualityManagement/gp12/touchScreen/workorder/index.vue b/src/views/qualityManagement/gp12/touchScreen/workorder/index.vue new file mode 100644 index 0000000..2129d5a --- /dev/null +++ b/src/views/qualityManagement/gp12/touchScreen/workorder/index.vue @@ -0,0 +1,217 @@ + + + + + \ No newline at end of file