This commit is contained in:
朱文强 2023-02-02 09:01:28 +08:00
parent 319c285641
commit 3161b54cd7
13 changed files with 324 additions and 316 deletions

View File

@ -34,30 +34,30 @@ export const moduleRoutes = {
children: [
{ path: '/home', component: () => import('@/views/modules/home'), name: 'home', meta: { title: '首页', isTab: true } },
// 基础信息
{ path: '/productType', component: () => import('@/views/spc-basic/productType'), name: 'productType', meta: { title: '产品类型', isTab: true } },
{ path: '/productList', component: () => import('@/views/spc-basic/productList'), name: 'productList', meta: { title: '产品列表', isTab: true } },
{ path: '/factoryManage', component: () => import('@/views/spc-basic/factoryManage'), name: 'factoryManage', meta: { title: '工厂管理', isTab: true } },
{ path: '/processType', component: () => import('@/views/spc-basic/processType'), name: 'processType', meta: { title: '工序类型', isTab: true } },
{ path: '/processDefine', component: () => import('@/views/spc-basic/processDefine'), name: 'processDefine', meta: { title: '工序定义', isTab: true } },
{ path: '/processFlow', component: () => import('@/views/spc-basic/processFlow'), name: 'processFlow', meta: { title: '工艺流程', isTab: true } },
{ path: '/siteManage', component: () => import('@/views/spc-basic/siteManage'), name: 'siteManage', meta: { title: '站点管理', isTab: true } },
{ path: '/machineManage', component: () => import('@/views/spc-basic/machineManage'), name: 'machineManage', meta: { title: '机台管理', isTab: true } },
{ path: '/toolsType', component: () => import('@/views/spc-basic/toolsType'), name: 'toolsType', meta: { title: '量具管理', isTab: true } },
{ path: '/unitList', component: () => import('@/views/spc-basic/unitList'), name: 'unitList', meta: { title: '计量单位管理', isTab: true } },
// 质量规划
{ path: '/controlGraph', component: () => import('@/views/quality-planning/controlGraph'), name: 'controlGraph', meta: { title: '控制图形', isTab: true } },
{ path: '/controlRatio', component: () => import('@/views/quality-planning/controlRatio'), name: 'controlRatio', meta: { title: '控制系数', isTab: true } },
{ path: '/interpretationScheme', component: () => import('@/views/quality-planning/interpretationScheme'), name: 'interpretationScheme', meta: { title: '判读方案', isTab: true } },
// 过程检验
{ path: '/generalOperation', component: () => import('@/views/process-inspection/generalOperation'), name: 'generalOperation', meta: { title: '通用作业', isTab: true } },
{ path: '/XbarRGraph', component: () => import('@/views/process-inspection/Metrological/XbarRGraph'), name: 'XbarRGraph', meta: { title: '均值极差控制图', isTab: true } },
{ path: '/XbarSGraph', component: () => import('@/views/process-inspection/Metrological/XbarSGraph'), name: 'XbarSGraph', meta: { title: '均值标准差控制图', isTab: true } },
{ path: '/XMRGraph', component: () => import('@/views/process-inspection/Metrological/XMRGraph'), name: 'XMRGraph', meta: { title: '单值移动极差控制图', isTab: true } },
{ path: '/CGraph', component: () => import('@/views/process-inspection/Counting/CGraph'), name: 'CGraph', meta: { title: 'C图', isTab: true } },
{ path: '/UGraph', component: () => import('@/views/process-inspection/Counting/UGraph'), name: 'UGraph', meta: { title: 'U图', isTab: true } },
{ path: '/NPGraph', component: () => import('@/views/process-inspection/Counting/NPGraph'), name: 'NPGraph', meta: { title: 'NP图', isTab: true } },
{ path: '/PGraph', component: () => import('@/views/process-inspection/Counting/PGraph'), name: 'PGraph', meta: { title: 'P图', isTab: true } },
// // 基础信息
// { path: '/productType', component: () => import('@/views/spc-basic/productType'), name: 'productType', meta: { title: '产品类型', isTab: true } },
// { path: '/productList', component: () => import('@/views/spc-basic/productList'), name: 'productList', meta: { title: '产品列表', isTab: true } },
// { path: '/factoryManage', component: () => import('@/views/spc-basic/factoryManage'), name: 'factoryManage', meta: { title: '工厂管理', isTab: true } },
// { path: '/processType', component: () => import('@/views/spc-basic/processType'), name: 'processType', meta: { title: '工序类型', isTab: true } },
// { path: '/processDefine', component: () => import('@/views/spc-basic/processDefine'), name: 'processDefine', meta: { title: '工序定义', isTab: true } },
// { path: '/processFlow', component: () => import('@/views/spc-basic/processFlow'), name: 'processFlow', meta: { title: '工艺流程', isTab: true } },
// { path: '/siteManage', component: () => import('@/views/spc-basic/siteManage'), name: 'siteManage', meta: { title: '站点管理', isTab: true } },
// { path: '/machineManage', component: () => import('@/views/spc-basic/machineManage'), name: 'machineManage', meta: { title: '机台管理', isTab: true } },
// { path: '/toolsType', component: () => import('@/views/spc-basic/toolsType'), name: 'toolsType', meta: { title: '量具管理', isTab: true } },
// { path: '/unitList', component: () => import('@/views/spc-basic/unitList'), name: 'unitList', meta: { title: '计量单位管理', isTab: true } },
// // 质量规划
// { path: '/controlGraph', component: () => import('@/views/quality-planning/controlGraph'), name: 'controlGraph', meta: { title: '控制图形', isTab: true } },
// { path: '/controlRatio', component: () => import('@/views/quality-planning/controlRatio'), name: 'controlRatio', meta: { title: '控制系数', isTab: true } },
// { path: '/interpretationScheme', component: () => import('@/views/quality-planning/interpretationScheme'), name: 'interpretationScheme', meta: { title: '判读方案', isTab: true } },
// // 过程检验
// { path: '/generalOperation', component: () => import('@/views/process-inspection/generalOperation'), name: 'generalOperation', meta: { title: '通用作业', isTab: true } },
// { path: '/XbarRGraph', component: () => import('@/views/process-inspection/Metrological/XbarRGraph'), name: 'XbarRGraph', meta: { title: '均值极差控制图', isTab: true } },
// { path: '/XbarSGraph', component: () => import('@/views/process-inspection/Metrological/XbarSGraph'), name: 'XbarSGraph', meta: { title: '均值标准差控制图', isTab: true } },
// { path: '/XMRGraph', component: () => import('@/views/process-inspection/Metrological/XMRGraph'), name: 'XMRGraph', meta: { title: '单值移动极差控制图', isTab: true } },
// { path: '/CGraph', component: () => import('@/views/process-inspection/Counting/CGraph'), name: 'CGraph', meta: { title: 'C图', isTab: true } },
// { path: '/UGraph', component: () => import('@/views/process-inspection/Counting/UGraph'), name: 'UGraph', meta: { title: 'U图', isTab: true } },
// { path: '/NPGraph', component: () => import('@/views/process-inspection/Counting/NPGraph'), name: 'NPGraph', meta: { title: 'NP图', isTab: true } },
// { path: '/PGraph', component: () => import('@/views/process-inspection/Counting/PGraph'), name: 'PGraph', meta: { title: 'P图', isTab: true } },
]
}
@ -172,8 +172,12 @@ function fnAddDynamicMenuRoutes (menuList = [], routes = []) {
} else {
URL = URL.replace(/^\//, '').replace(/_/g, '-')
route['path'] = route['name'] = URL.replace(/\//g, '-')
if(menuList[i].permissions==="other"){
route['component'] = () => import(`@/views/${URL}`)
}else{
route['component'] = () => import(`@/views/modules/${URL}`)
}
}
routes.push(route)
}
if (temp.length >= 1) {

View File

@ -1,3 +1,10 @@
<!--
* @Author: zwq
* @Date: 2022-08-22 14:57:51
* @LastEditors: zwq
* @LastEditTime: 2023-01-12 14:06:28
* @Description:
-->
<template>
<aside :class="['aui-sidebar', `aui-sidebar--${$store.state.sidebarLayoutSkin}`]">
<div class="aui-sidebar__inner">
@ -8,244 +15,6 @@
:collapseTransition="false"
class="aui-sidebar__menu"
>
<el-submenu index="basic">
<template slot="title">
<svg class="icon-svg aui-sidebar__menu-icon"><use xlink:href="#icon-bianji"></use></svg>
<span>基础信息</span>
</template>
<el-submenu index="product">
<template slot="title">
<svg class="icon-svg aui-sidebar__menu-icon">
<use xlink:href="#icon-config"></use>
</svg>
<span>产品管理</span>
</template>
<el-menu-item index="productType" @click="$router.push({ name: 'productType' })">
<!-- <svg class="icon-svg aui-sidebar__menu-icon">
<use xlink:href="#icon-zonghe"></use>
</svg> -->
<svg class="icon-svg aui-sidebar__menu-icon-son" aria-hidden="true">
<use xlink:href="#椭圆形"></use>
</svg>
<span slot="title">产品类型</span>
</el-menu-item>
<el-menu-item index="productList" @click="$router.push({ name: 'productList' })">
<svg class="icon-svg aui-sidebar__menu-icon-son" aria-hidden="true">
<use xlink:href="#椭圆形"></use>
</svg>
<!-- <svg class="icon-svg aui-sidebar__menu-icon"><use xlink:href="#icon-log"></use></svg> -->
<span slot="title">产品列表</span>
</el-menu-item>
</el-submenu>
<el-menu-item index="factoryManage" @click="$router.push({ name: 'factoryManage' })">
<svg class="icon-svg aui-sidebar__menu-icon-son" aria-hidden="true">
<use xlink:href="#椭圆形"></use>
</svg>
<!-- <svg class="icon-svg aui-sidebar__menu-icon"><use xlink:href="#icon-config"></use></svg> -->
<span slot="title">工厂管理</span>
</el-menu-item>
<el-submenu index="process">
<template slot="title">
<svg class="icon-svg aui-sidebar__menu-icon">
<use xlink:href="#组织管理"></use>
</svg>
<span>过程管理</span>
</template>
<el-menu-item index="processType" @click="$router.push({ name: 'processType' })">
<!-- <svg class="icon-svg aui-sidebar__menu-icon">
<use xlink:href="#icon-zonghe"></use>
</svg> -->
<svg class="icon-svg aui-sidebar__menu-icon-son" aria-hidden="true">
<use xlink:href="#椭圆形"></use>
</svg>
<span slot="title">工序类型</span>
</el-menu-item>
<el-menu-item index="processDefine" @click="$router.push({ name: 'processDefine' })">
<!-- <svg class="icon-svg aui-sidebar__menu-icon">
<use xlink:href="#icon-zonghe"></use>
</svg> -->
<svg class="icon-svg aui-sidebar__menu-icon-son" aria-hidden="true">
<use xlink:href="#椭圆形"></use>
</svg>
<span slot="title">工序定义</span>
</el-menu-item>
<!-- <el-menu-item index="processFlow" @click="$router.push({ name: 'processFlow' })">
<svg class="icon-svg aui-sidebar__menu-icon"><use xlink:href="#icon-zonghe"></use></svg>
<span slot="title">工艺流程</span>
</el-menu-item> -->
</el-submenu>
<el-submenu index="Machine">
<template slot="title">
<svg class="icon-svg aui-sidebar__menu-icon">
<use xlink:href="#icon-zonghe"></use>
</svg>
<span>机台管理</span>
</template>
<el-menu-item index="siteManage" @click="$router.push({ name: 'siteManage' })">
<!-- <svg class="icon-svg aui-sidebar__menu-icon">
<use xlink:href="#icon-zonghe"></use>
</svg> -->
<svg class="icon-svg aui-sidebar__menu-icon-son" aria-hidden="true">
<use xlink:href="#椭圆形"></use>
</svg>
<span slot="title">站点管理</span>
</el-menu-item>
<el-menu-item index="machineManage" @click="$router.push({ name: 'machineManage' })">
<!-- <svg class="icon-svg aui-sidebar__menu-icon">
<use xlink:href="#icon-zonghe"></use>
</svg> -->
<svg class="icon-svg aui-sidebar__menu-icon-son" aria-hidden="true">
<use xlink:href="#椭圆形"></use>
</svg>
<span slot="title">机台管理</span>
</el-menu-item>
</el-submenu>
<el-menu-item index="toolsType" @click="$router.push({ name: 'toolsType' })">
<svg class="icon-svg aui-sidebar__menu-icon-son" aria-hidden="true">
<use xlink:href="#椭圆形"></use>
</svg>
<!-- <svg class="icon-svg aui-sidebar__menu-icon"><use xlink:href="#icon-zonghe"></use></svg> -->
<span slot="title">量具管理</span>
</el-menu-item>
<el-menu-item index="unitList" @click="$router.push({ name: 'unitList' })">
<svg class="icon-svg aui-sidebar__menu-icon-son" aria-hidden="true">
<use xlink:href="#椭圆形"></use>
</svg>
<!-- <svg class="icon-svg aui-sidebar__menu-icon"><use xlink:href="#icon-log"></use></svg> -->
<span slot="title">计量单位管理</span>
</el-menu-item>
</el-submenu>
<el-submenu index="quality">
<template slot="title">
<svg class="icon-svg aui-sidebar__menu-icon">
<use xlink:href="#08质量"></use>
</svg>
<span>质量规划</span>
</template>
<el-menu-item index="controlGraph" @click="$router.push({ name: 'controlGraph' })">
<svg class="icon-svg aui-sidebar__menu-icon-son" aria-hidden="true">
<use xlink:href="#椭圆形"></use>
</svg>
<!-- <svg class="icon-svg aui-sidebar__menu-icon"><use xlink:href="#控制中心"></use></svg> -->
<span slot="title">控制图形</span>
</el-menu-item>
<el-menu-item index="controlRatio" @click="$router.push({ name: 'controlRatio' })">
<svg class="icon-svg aui-sidebar__menu-icon-son" aria-hidden="true">
<use xlink:href="#椭圆形"></use>
</svg>
<!-- <svg class="icon-svg aui-sidebar__menu-icon"><use xlink:href="#控制中心"></use></svg> -->
<span slot="title">控制系数</span>
</el-menu-item>
<el-menu-item
index="interpretationScheme"
@click="$router.push({ name: 'interpretationScheme' })"
>
<svg class="icon-svg aui-sidebar__menu-icon-son" aria-hidden="true">
<use xlink:href="#椭圆形"></use>
</svg>
<!-- <svg class="icon-svg aui-sidebar__menu-icon"><use xlink:href="#方案管理"></use></svg> -->
<span slot="title">判读方案</span>
</el-menu-item>
</el-submenu>
<el-submenu index="inspection">
<template slot="title">
<svg class="icon-svg aui-sidebar__menu-icon">
<use xlink:href="#icon-shoucang"></use>
</svg>
<span>过程检验</span>
</template>
<el-menu-item
index="generalOperation"
@click="$router.push({ name: 'generalOperation' })"
>
<!-- <svg class="icon-svg aui-sidebar__menu-icon">
<use xlink:href="#icon-log"></use>
</svg> -->
<svg class="icon-svg aui-sidebar__menu-icon-son" aria-hidden="true">
<use xlink:href="#椭圆形"></use>
</svg>
<span slot="title">通用作业</span>
</el-menu-item>
<el-submenu index="Metrological">
<template slot="title">
<svg class="icon-svg aui-sidebar__menu-icon">
<use xlink:href="#icon-tubiao"></use>
</svg>
<span>计量分析</span>
</template>
<el-menu-item index="XbarRGraph" @click="$router.push({ name: 'XbarRGraph' })">
<!-- <svg class="icon-svg aui-sidebar__menu-icon">
<use xlink:href="#icon-tubiao"></use>
</svg> -->
<svg class="icon-svg aui-sidebar__menu-icon-son" aria-hidden="true">
<use xlink:href="#椭圆形"></use>
</svg>
<span slot="title">均值极差控制图</span>
</el-menu-item>
<el-menu-item index="XbarSGraph" @click="$router.push({ name: 'XbarSGraph' })">
<!-- <svg class="icon-svg aui-sidebar__menu-icon">
<use xlink:href="#icon-tubiao"></use>
</svg> -->
<svg class="icon-svg aui-sidebar__menu-icon-son" aria-hidden="true">
<use xlink:href="#椭圆形"></use>
</svg>
<span slot="title">均值标准差控制图</span>
</el-menu-item>
<el-menu-item index="XMRGraph" @click="$router.push({ name: 'XMRGraph' })">
<!-- <svg class="icon-svg aui-sidebar__menu-icon">
<use xlink:href="#icon-tubiao"></use>
</svg> -->
<svg class="icon-svg aui-sidebar__menu-icon-son" aria-hidden="true">
<use xlink:href="#椭圆形"></use>
</svg>
<span slot="title">单值移动极差控制图</span>
</el-menu-item>
</el-submenu>
<el-submenu index="Counting">
<template slot="title">
<svg class="icon-svg aui-sidebar__menu-icon">
<use xlink:href="#icon-tubiao"></use>
</svg>
<span>计数分析</span>
</template>
<el-menu-item index="CGraph" @click="$router.push({ name: 'CGraph' })">
<!-- <svg class="icon-svg aui-sidebar__menu-icon">
<use xlink:href="#icon-tubiao"></use>
</svg> -->
<svg class="icon-svg aui-sidebar__menu-icon-son" aria-hidden="true">
<use xlink:href="#椭圆形"></use>
</svg>
<span slot="title">C图</span>
</el-menu-item>
<el-menu-item index="UGraph" @click="$router.push({ name: 'UGraph' })">
<!-- <svg class="icon-svg aui-sidebar__menu-icon">
<use xlink:href="#icon-tubiao"></use>
</svg> -->
<svg class="icon-svg aui-sidebar__menu-icon-son" aria-hidden="true">
<use xlink:href="#椭圆形"></use>
</svg>
<span slot="title">U图</span>
</el-menu-item>
<el-menu-item index="NPGraph" @click="$router.push({ name: 'NPGraph' })">
<!-- <svg class="icon-svg aui-sidebar__menu-icon">
<use xlink:href="#icon-tubiao"></use>
</svg> -->
<svg class="icon-svg aui-sidebar__menu-icon-son" aria-hidden="true">
<use xlink:href="#椭圆形"></use>
</svg>
<span slot="title">NP图</span>
</el-menu-item>
<el-menu-item index="PGraph" @click="$router.push({ name: 'PGraph' })">
<!-- <svg class="icon-svg aui-sidebar__menu-icon">
<use xlink:href="#icon-tubiao"></use>
</svg> -->
<svg class="icon-svg aui-sidebar__menu-icon-son" aria-hidden="true">
<use xlink:href="#椭圆形"></use>
</svg>
<span slot="title">P图</span>
</el-menu-item>
</el-submenu>
</el-submenu>
<sub-menu v-for="menu in $store.state.sidebarMenuList" :key="menu.id" :menu="menu" />
</el-menu>
</div>

View File

@ -58,7 +58,7 @@ export default {
return {
captchaPath: '',
dataForm: {
username: 'admin1',
username: 'admin',
password: 'admin',
uuid: 'string',
captcha: ''

View File

@ -2,16 +2,18 @@
* @Author: zwq
* @Date: 2022-09-15 10:22:53
* @LastEditors: zwq
* @LastEditTime: 2022-12-16 15:25:39
* @LastEditTime: 2023-01-09 14:20:16
* @Description: C图
-->
<template>
<el-card shadow="never" class="aui-card--fill">
<query-form
ref="queryForm"
:f-type="2"
:page-name="'缺陷数图'"
:data-form="dataForm"
:groupTypeShow="true"
:showRaw="false"
@getDataList="getDataList"
@rawData="rawData"
@exportHandle="exportHandle"
@ -31,6 +33,9 @@
></chart-line>
</el-col>
</el-row>
<el-row :gutter="6" v-else>
<el-empty description="无数据"></el-empty>
</el-row>
</el-card>
</template>

View File

@ -2,16 +2,18 @@
* @Author: zwq
* @Date: 2022-09-15 10:22:53
* @LastEditors: zwq
* @LastEditTime: 2022-12-16 15:27:52
* @LastEditTime: 2023-01-09 14:20:30
* @Description: NP图
-->
<template>
<el-card shadow="never" class="aui-card--fill">
<query-form
ref="queryForm"
:f-type="2"
:page-name="'NP图'"
:data-form="dataForm"
:groupTypeShow="true"
:showRaw="false"
@getDataList="getDataList"
@rawData="rawData"
@exportHandle="exportHandle"
@ -31,6 +33,9 @@
></chart-line>
</el-col>
</el-row>
<el-row :gutter="6" v-else>
<el-empty description="无数据"></el-empty>
</el-row>
</el-card>
</template>

View File

@ -2,16 +2,18 @@
* @Author: zwq
* @Date: 2022-09-15 10:22:53
* @LastEditors: zwq
* @LastEditTime: 2022-12-16 15:27:58
* @LastEditTime: 2023-01-09 14:20:41
* @Description: P图
-->
<template>
<el-card shadow="never" class="aui-card--fill">
<query-form
ref="queryForm"
:f-type="2"
:page-name="'NP图'"
:data-form="dataForm"
:groupTypeShow="true"
:showRaw="false"
@getDataList="getDataList"
@rawData="rawData"
@exportHandle="exportHandle"
@ -31,6 +33,9 @@
></chart-line>
</el-col>
</el-row>
<el-row :gutter="6" v-else>
<el-empty description="无数据"></el-empty>
</el-row>
</el-card>
</template>

View File

@ -2,16 +2,18 @@
* @Author: zwq
* @Date: 2022-09-15 10:22:53
* @LastEditors: zwq
* @LastEditTime: 2022-12-16 15:28:04
* @LastEditTime: 2023-01-09 14:20:53
* @Description: U图
-->
<template>
<el-card shadow="never" class="aui-card--fill">
<query-form
ref="queryForm"
:f-type="2"
:page-name="'U图'"
:data-form="dataForm"
:groupTypeShow="true"
:showRaw="false"
@getDataList="getDataList"
@rawData="rawData"
@exportHandle="exportHandle"
@ -31,6 +33,9 @@
></chart-line>
</el-col>
</el-row>
<el-row :gutter="6" v-else>
<el-empty description="无数据"></el-empty>
</el-row>
</el-card>
</template>

View File

@ -2,15 +2,17 @@
* @Author: zwq
* @Date: 2022-09-15 10:23:42
* @LastEditors: zwq
* @LastEditTime: 2022-12-16 15:31:18
* @LastEditTime: 2023-01-09 14:26:17
* @Description: 单值-移动极差 控制图
-->
<template>
<el-card shadow="never" class="aui-card--fill">
<query-form
ref="queryForm"
:f-type="1"
:page-name="'单值-移动极差控制图'"
:data-form="dataForm"
:showRaw="chartVisible"
@getDataList="getDataList"
@rawData="rawData"
@exportHandle="exportHandle"
@ -72,6 +74,16 @@
</el-card>
</el-col>
</el-row>
<el-row :gutter="6" v-else>
<el-empty description="无数据"></el-empty>
</el-row>
<!-- 原始数据 -->
<raw-data
:lineIndex="2"
:dataList="dataList.xmrGraphEntity.list"
v-if="rawDataVisible"
ref="rawDataRef"
></raw-data>
</el-card>
</template>
@ -79,6 +91,7 @@
import queryForm from "../query-form";
import processPage from "@/mixins/process-page";
import chartLine from "../charts/echart-2line.vue";
import rawData from "../components/rawData";
export default {
mixins: [processPage],
data() {
@ -89,6 +102,7 @@ export default {
exportUrl: "/basic/unit/export",
},
chartVisible: false,
rawDataVisible: false,
chartTitle: "单值-移动极差控制图",
yName1: "单值",
yName2: "移动极差",
@ -99,6 +113,7 @@ export default {
components: {
queryForm,
chartLine,
rawData,
},
created() {
this.$nextTick(() => {
@ -140,12 +155,14 @@ export default {
// name: "ucl()",
// value: res.data.xbarCL.ucl,
// });
if (res.data.sl) {
Object.keys(res.data.sl).map((key) => {
this.rightList.push({
name: key,
value: res.data.sl[key],
});
});
}
// this.rightList.push({
// name: "cl()",
// value: res.data.rcl.cl,
@ -158,12 +175,15 @@ export default {
// name: "ucl()",
// value: res.data.rcl.ucl,
// });
if (res.data.standardDiviation) {
Object.keys(res.data.standardDiviation).map((key) => {
this.rightList.push({
name: key,
value: res.data.standardDiviation[key],
});
});
}
if (res.data.processCapability) {
Object.keys(res.data.processCapability).map((key) => {
if (key === "warming") {
this.waring = res.data.processCapability[key];
@ -174,16 +194,28 @@ export default {
});
}
});
}
if (res.data.xmrGraphEntity) {
this.chartVisible = true;
this.$nextTick(() => {
this.$refs.XMRGraph.initChartLine();
});
}else{
this.chartVisible = false;
this.$message({
message: "没有发现数据",
type: "warning",
});
}
})
.catch(() => {});
});
},
rawData() {
console.log("原始数据");
this.rawDataVisible = true;
this.$nextTick(() => {
this.$refs.rawDataRef.init();
});
},
},
};

View File

@ -2,15 +2,17 @@
* @Author: zwq
* @Date: 2022-09-15 10:22:12
* @LastEditors: zwq
* @LastEditTime: 2022-12-16 15:31:07
* @LastEditTime: 2023-01-09 14:18:18
* @Description: 均值极差控制图
-->
<template>
<el-card shadow="never" class="aui-card--fill">
<query-form
ref="queryForm"
:f-type="1"
:page-name="'均值极差控制图'"
:data-form="dataForm"
:showRaw="chartVisible"
@getDataList="getDataList"
@rawData="rawData"
@exportHandle="exportHandle"
@ -72,6 +74,16 @@
</el-card>
</el-col>
</el-row>
<el-row :gutter="6" v-else>
<el-empty description="无数据"></el-empty>
</el-row>
<!-- 原始数据 -->
<raw-data
:lineIndex="0"
:dataList="dataList.mrGraphEntity.list"
v-if="rawDataVisible"
ref="rawDataRef"
></raw-data>
</el-card>
</template>
@ -79,6 +91,7 @@
import queryForm from "../query-form";
import processPage from "@/mixins/process-page";
import chartLine from "../charts/echart-2line.vue";
import rawData from "../components/rawData";
export default {
mixins: [processPage],
data() {
@ -89,6 +102,7 @@ export default {
exportUrl: "/basic/unit/export",
},
chartVisible: false,
rawDataVisible: false,
chartTitle: "均值极差控制图",
yName1: "均值",
yName2: "极差",
@ -99,6 +113,7 @@ export default {
components: {
queryForm,
chartLine,
rawData,
},
created() {
this.$nextTick(() => {
@ -140,12 +155,14 @@ export default {
// name: "ucl()",
// value: res.data.xbarCL.ucl,
// });
if (res.data.sl) {
Object.keys(res.data.sl).map((key) => {
this.rightList.push({
name: key,
value: res.data.sl[key],
});
});
}
// this.rightList.push({
// name: "cl()",
// value: res.data.rcl.cl,
@ -158,12 +175,15 @@ export default {
// name: "ucl()",
// value: res.data.rcl.ucl,
// });
if (res.data.standardDiviation) {
Object.keys(res.data.standardDiviation).map((key) => {
this.rightList.push({
name: key,
value: res.data.standardDiviation[key],
});
});
}
if (res.data.processCapability) {
Object.keys(res.data.processCapability).map((key) => {
if (key === "warming") {
this.waring = res.data.processCapability[key];
@ -174,16 +194,28 @@ export default {
});
}
});
}
if (res.data.mrGraphEntity) {
this.chartVisible = true;
this.$nextTick(() => {
this.$refs.chartRef.initChartLine();
});
} else {
this.chartVisible = false;
this.$message({
message: "没有发现数据",
type: "warning",
});
}
})
.catch(() => {});
});
},
rawData() {
console.log("原始数据");
this.rawDataVisible = true;
this.$nextTick(() => {
this.$refs.rawDataRef.init();
});
},
},
};

View File

@ -2,15 +2,17 @@
* @Author: zwq
* @Date: 2022-09-15 10:22:53
* @LastEditors: zwq
* @LastEditTime: 2022-12-16 15:31:13
* @LastEditTime: 2023-01-09 14:21:51
* @Description: 均值标准差控制图
-->
<template>
<el-card shadow="never" class="aui-card--fill">
<query-form
ref="queryForm"
:f-type="1"
:page-name="'均值标准差控制图'"
:data-form="dataForm"
:showRaw="chartVisible"
@getDataList="getDataList"
@rawData="rawData"
@exportHandle="exportHandle"
@ -72,6 +74,16 @@
</el-card>
</el-col>
</el-row>
<el-row :gutter="6" v-else>
<el-empty description="无数据"></el-empty>
</el-row>
<!-- 原始数据 -->
<raw-data
:lineIndex="1"
:dataList="dataList.msdGraphEntity.list"
v-if="rawDataVisible"
ref="rawDataRef"
></raw-data>
</el-card>
</template>
@ -79,6 +91,7 @@
import queryForm from "../query-form";
import processPage from "@/mixins/process-page";
import chartLine from "../charts/echart-2line.vue";
import rawData from "../components/rawData";
export default {
mixins: [processPage],
data() {
@ -89,6 +102,7 @@ export default {
exportUrl: "/basic/unit/export",
},
chartVisible: false,
rawDataVisible: false,
chartTitle: "均值标准差控制图",
yName1: "均值",
yName2: "标准差",
@ -99,6 +113,7 @@ export default {
components: {
queryForm,
chartLine,
rawData,
},
created() {
this.$nextTick(() => {
@ -140,12 +155,14 @@ export default {
// name: "ucl()",
// value: res.data.xbarCL.ucl,
// });
if (res.data.sl) {
Object.keys(res.data.sl).map((key) => {
this.rightList.push({
name: key,
value: res.data.sl[key],
});
});
}
// this.rightList.push({
// name: "cl()",
// value: res.data.rcl.cl,
@ -158,12 +175,15 @@ export default {
// name: "ucl()",
// value: res.data.rcl.ucl,
// });
if (res.data.standardDiviation) {
Object.keys(res.data.standardDiviation).map((key) => {
this.rightList.push({
name: key,
value: res.data.standardDiviation[key],
});
});
}
if (res.data.processCapability) {
Object.keys(res.data.processCapability).map((key) => {
if (key === "warming") {
this.waring = res.data.processCapability[key];
@ -174,16 +194,28 @@ export default {
});
}
});
}
if (res.data.msdGraphEntity) {
this.chartVisible = true;
this.$nextTick(() => {
this.$refs.chart1Ref.initChartLine();
});
}else{
this.chartVisible = false;
this.$message({
message: "没有发现数据",
type: "warning",
});
}
})
.catch(() => {});
});
},
rawData() {
console.log("原始数据");
this.rawDataVisible = true;
this.$nextTick(() => {
this.$refs.rawDataRef.init();
});
},
},
};

View File

@ -93,6 +93,7 @@ export default {
// 线
initChartLine() {
const rclUcl = this.rcl.ucl;
const xbarCL = this.xbarCL
var option = {
title: {
text: this.title,
@ -178,7 +179,7 @@ export default {
},
splitLine: { show: false },
nameTextStyle: {
padding: 25,
padding: 38,
},
position: "left",
axisLine: {
@ -198,15 +199,23 @@ export default {
type: "value",
gridIndex: 0,
name: this.yName1,
min: function(value) {
return value.min - 1;
},
max: function(value) {
if (xbarCL.ucl > value.max + 1) {
return xbarCL.ucl + 0.5;
} else {
return value.max + 1;
}
},
min: function(value) {
if (xbarCL.lcl < value.min - 1) {
return xbarCL.lcl - 0.5;
} else {
return value.min - 1;
}
},
splitLine: { show: false },
nameTextStyle: {
padding: 25,
padding: 38,
},
nameLocation: "middle",
position: "left",
@ -572,8 +581,6 @@ export default {
},
],
};
console.log(this.mrGraphEntity)
console.log(this.lowLine[this.lineIndex].rules)
this.mrGraphEntity.list?.forEach((item, index) => {
if (item[this.lowLine[this.lineIndex].rules].length) {
option.visualMap[1].pieces.push({

View File

@ -0,0 +1,94 @@
<!--
* @Author: zwq
* @Date: 2021-11-18 14:16:25
* @LastEditors: zwq
* @LastEditTime: 2023-01-09 15:48:09
* @Description:
-->
<template>
<el-dialog title="原始数据" :visible.sync="visible">
<el-table
:data="dataList"
:stripe="true"
:header-cell-style="{
background: '#eef1f6',
color: '#606266',
height: '56px',
}"
height="500"
v-loading="dataListLoading"
style="width: 100%;"
>
<el-table-column type="index" header-align="center" align="center" label="序号" width="50">
</el-table-column>
<el-table-column prop="data" align="center" label="原始数据">
<template slot-scope="scope">
<span>{{ lineIndex === 2 ? scope.row.x : scope.row.data.toString() }}</span>
</template>
</el-table-column>
<!-- <el-table-column :prop="lowLine[lineIndex].rules" align="center" :label="'判读'+lowLine[lineIndex].name">
<template slot-scope="scope">
<span>{{ scope.row[lowLine[lineIndex].rules].toString() }}</span>
</template>
</el-table-column> -->
<el-table-column
:prop="lowLine[lineIndex].name"
align="center"
:label="lowLine[lineIndex].name"
>
</el-table-column>
<!-- <el-table-column :prop="upLine[lineIndex].rules" align="center" :label="'判读'+upLine[lineIndex].name">
<template slot-scope="scope">
<span>{{ scope.row[upLine[lineIndex].rules].toString() }}</span>
</template>
</el-table-column> -->
<el-table-column
:prop="upLine[lineIndex].name"
align="center"
:label="upLine[lineIndex].name"
>
</el-table-column>
</el-table>
</el-dialog>
</template>
<script>
export default {
props: {
dataList: {
type: Array,
default: () => {
[];
},
},
lineIndex: {
type: Number,
default: 0,
},
},
data() {
return {
dataListLoading: false,
visible: false,
upLine: [
{ name: "xbar", rules: "xbarUnsatisfiedRules" },
{ name: "xbar", rules: "xbarUnsatisfiedRules" },
{ name: "x", rules: "xUnsatisfiedRules" },
],
lowLine: [
{ name: "r", rules: "rUnsatisfiedRules" },
{ name: "s", rules: "sUnsatisfiedRules" },
{ name: "rs", rules: "rsUnsatisfiedRules" },
],
};
},
methods: {
init() {
console.log(this.dataList);
this.visible = true;
this.dataListLoading = false;
this.$nextTick(() => {});
},
},
};
</script>

View File

@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2022-09-15 10:44:29
* @LastEditors: zwq
* @LastEditTime: 2023-01-06 15:21:11
* @LastEditTime: 2023-01-09 14:10:26
* @Description:
-->
<template>
@ -147,7 +147,7 @@
<svg class="icon-svg"><use xlink:href="#icon-sousuo"></use></svg>
查询
</el-button>
<el-button size="small" type="primary" @click="rawData()">
<el-button v-if="showRaw" size="small" type="primary" @click="rawData()">
<svg class="icon-svg"><use xlink:href="#历史记录"></use></svg>
原始数据
</el-button>
@ -193,6 +193,14 @@ export default {
type: Boolean,
default: false,
},
fType: {
type: Number,
default: 1,
},
showRaw: {
type: Boolean,
default: false,
}
},
components: {
interpretationScheme,
@ -218,6 +226,13 @@ export default {
trigger: "change",
},
],
workingProcedureId: [
{
required: true,
message: "请选择工序",
trigger: "change",
},
],
time: [
{
required: true,
@ -231,8 +246,8 @@ export default {
created() {},
methods: {
getWorkingprocedureByProductId(val) {
this.dataForm.inspectionStage = "";
this.dataForm.workingProcedureId = "";
this.$set(this.dataForm, "inspectionStage", "");
this.$set(this.dataForm, "workingProcedureId", "");
this.getWorkingprocedureArr(val);
this.getFeaturesList();
},
@ -286,7 +301,7 @@ export default {
});
},
getFeaturesList() {
this.$set(this.dataForm, 'productFeaturesId', '')
this.$set(this.dataForm, "productFeaturesId", "");
this.$http
.post(
`/processInspection/inspectionSheet/getInspectionSheetFeaturesList?productId=${
@ -304,16 +319,19 @@ export default {
this.$set(this.optionArr, "arr2", []);
return this.$message.error(res.msg);
}
this.$set(this.optionArr, "arr2", res.data);
const arr = res.data.filter((item) => item.type === this.fType);
this.$set(this.optionArr, "arr2", arr);
})
.catch(() => {});
},
getDataList() {
console.log(this.dataForm)
(this.dataForm.begin =
this.dataForm.time && this.dataForm.time.length > 0 ? this.dataForm.time[0] : ""),
(this.dataForm.end =
this.dataForm.time && this.dataForm.time.length > 0 ? this.dataForm.time[1] : ""),
this.dataForm.procedureName = this.optionArr.arr4.find((item) => {
return item.workingProcedureId === this.dataForm.workingProcedureId;
})?.workingProcedureName;
this.dataForm.begin =
this.dataForm.time && this.dataForm.time.length > 0 ? this.dataForm.time[0] : "";
this.dataForm.end =
this.dataForm.time && this.dataForm.time.length > 0 ? this.dataForm.time[1] : "";
this.$emit("getDataList");
},
showScheme() {