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: [ children: [
{ path: '/home', component: () => import('@/views/modules/home'), name: 'home', meta: { title: '首页', isTab: true } }, { 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: '/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: '/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: '/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: '/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: '/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: '/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: '/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: '/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: '/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: '/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: '/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: '/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: '/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: '/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: '/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: '/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: '/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: '/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: '/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: '/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: '/PGraph', component: () => import('@/views/process-inspection/Counting/PGraph'), name: 'PGraph', meta: { title: 'P图', isTab: true } },
] ]
} }
@ -172,7 +172,11 @@ function fnAddDynamicMenuRoutes (menuList = [], routes = []) {
} else { } else {
URL = URL.replace(/^\//, '').replace(/_/g, '-') URL = URL.replace(/^\//, '').replace(/_/g, '-')
route['path'] = route['name'] = URL.replace(/\//g, '-') route['path'] = route['name'] = URL.replace(/\//g, '-')
route['component'] = () => import(`@/views/modules/${URL}`) if(menuList[i].permissions==="other"){
route['component'] = () => import(`@/views/${URL}`)
}else{
route['component'] = () => import(`@/views/modules/${URL}`)
}
} }
routes.push(route) routes.push(route)
} }

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> <template>
<aside :class="['aui-sidebar', `aui-sidebar--${$store.state.sidebarLayoutSkin}`]"> <aside :class="['aui-sidebar', `aui-sidebar--${$store.state.sidebarLayoutSkin}`]">
<div class="aui-sidebar__inner"> <div class="aui-sidebar__inner">
@ -8,244 +15,6 @@
:collapseTransition="false" :collapseTransition="false"
class="aui-sidebar__menu" 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" /> <sub-menu v-for="menu in $store.state.sidebarMenuList" :key="menu.id" :menu="menu" />
</el-menu> </el-menu>
</div> </div>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -93,6 +93,7 @@ export default {
// 线 // 线
initChartLine() { initChartLine() {
const rclUcl = this.rcl.ucl; const rclUcl = this.rcl.ucl;
const xbarCL = this.xbarCL
var option = { var option = {
title: { title: {
text: this.title, text: this.title,
@ -178,7 +179,7 @@ export default {
}, },
splitLine: { show: false }, splitLine: { show: false },
nameTextStyle: { nameTextStyle: {
padding: 25, padding: 38,
}, },
position: "left", position: "left",
axisLine: { axisLine: {
@ -198,15 +199,23 @@ export default {
type: "value", type: "value",
gridIndex: 0, gridIndex: 0,
name: this.yName1, name: this.yName1,
min: function(value) { max: function(value) {
return value.min - 1; if (xbarCL.ucl > value.max + 1) {
return xbarCL.ucl + 0.5;
} else {
return value.max + 1;
}
}, },
max: function(value) { min: function(value) {
return value.max + 1; if (xbarCL.lcl < value.min - 1) {
return xbarCL.lcl - 0.5;
} else {
return value.min - 1;
}
}, },
splitLine: { show: false }, splitLine: { show: false },
nameTextStyle: { nameTextStyle: {
padding: 25, padding: 38,
}, },
nameLocation: "middle", nameLocation: "middle",
position: "left", 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) => { this.mrGraphEntity.list?.forEach((item, index) => {
if (item[this.lowLine[this.lineIndex].rules].length) { if (item[this.lowLine[this.lineIndex].rules].length) {
option.visualMap[1].pieces.push({ 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 * @Author: zwq
* @Date: 2022-09-15 10:44:29 * @Date: 2022-09-15 10:44:29
* @LastEditors: zwq * @LastEditors: zwq
* @LastEditTime: 2023-01-06 15:21:11 * @LastEditTime: 2023-01-09 14:10:26
* @Description: * @Description:
--> -->
<template> <template>
@ -147,7 +147,7 @@
<svg class="icon-svg"><use xlink:href="#icon-sousuo"></use></svg> <svg class="icon-svg"><use xlink:href="#icon-sousuo"></use></svg>
查询 查询
</el-button> </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> <svg class="icon-svg"><use xlink:href="#历史记录"></use></svg>
原始数据 原始数据
</el-button> </el-button>
@ -193,6 +193,14 @@ export default {
type: Boolean, type: Boolean,
default: false, default: false,
}, },
fType: {
type: Number,
default: 1,
},
showRaw: {
type: Boolean,
default: false,
}
}, },
components: { components: {
interpretationScheme, interpretationScheme,
@ -218,6 +226,13 @@ export default {
trigger: "change", trigger: "change",
}, },
], ],
workingProcedureId: [
{
required: true,
message: "请选择工序",
trigger: "change",
},
],
time: [ time: [
{ {
required: true, required: true,
@ -231,8 +246,8 @@ export default {
created() {}, created() {},
methods: { methods: {
getWorkingprocedureByProductId(val) { getWorkingprocedureByProductId(val) {
this.dataForm.inspectionStage = ""; this.$set(this.dataForm, "inspectionStage", "");
this.dataForm.workingProcedureId = ""; this.$set(this.dataForm, "workingProcedureId", "");
this.getWorkingprocedureArr(val); this.getWorkingprocedureArr(val);
this.getFeaturesList(); this.getFeaturesList();
}, },
@ -286,7 +301,7 @@ export default {
}); });
}, },
getFeaturesList() { getFeaturesList() {
this.$set(this.dataForm, 'productFeaturesId', '') this.$set(this.dataForm, "productFeaturesId", "");
this.$http this.$http
.post( .post(
`/processInspection/inspectionSheet/getInspectionSheetFeaturesList?productId=${ `/processInspection/inspectionSheet/getInspectionSheetFeaturesList?productId=${
@ -304,17 +319,20 @@ export default {
this.$set(this.optionArr, "arr2", []); this.$set(this.optionArr, "arr2", []);
return this.$message.error(res.msg); 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(() => {}); .catch(() => {});
}, },
getDataList() { getDataList() {
console.log(this.dataForm) this.dataForm.procedureName = this.optionArr.arr4.find((item) => {
(this.dataForm.begin = return item.workingProcedureId === this.dataForm.workingProcedureId;
this.dataForm.time && this.dataForm.time.length > 0 ? this.dataForm.time[0] : ""), })?.workingProcedureName;
(this.dataForm.end = this.dataForm.begin =
this.dataForm.time && this.dataForm.time.length > 0 ? this.dataForm.time[1] : ""), this.dataForm.time && this.dataForm.time.length > 0 ? this.dataForm.time[0] : "";
this.$emit("getDataList"); this.dataForm.end =
this.dataForm.time && this.dataForm.time.length > 0 ? this.dataForm.time[1] : "";
this.$emit("getDataList");
}, },
showScheme() { showScheme() {
this.SchemeVisible = true; this.SchemeVisible = true;