更新
This commit is contained in:
부모
f6b3f2f323
커밋
461bd6ba85
@ -2,7 +2,7 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2022-08-22 14:57:50
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-12-13 14:33:51
|
||||
* @LastEditTime: 2023-01-06 14:57:22
|
||||
* @Description:
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
|
@ -276,7 +276,7 @@ img {
|
||||
&:focus,
|
||||
&:hover {
|
||||
color: #fff;
|
||||
background-color: mix(#000, $--color-primary, 15%);
|
||||
background-color: mix(#fff, $--color-primary, 15%);
|
||||
}
|
||||
}
|
||||
> .el-menu-item.is-active,
|
||||
@ -318,7 +318,7 @@ img {
|
||||
transition: width .3s;
|
||||
}
|
||||
&__brand {
|
||||
background-color: #409eff;
|
||||
background-color: rgba(0, 21, 41, 1);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
@ -478,12 +478,16 @@ img {
|
||||
&:focus,
|
||||
&:hover {
|
||||
color: #fff;
|
||||
background-color: #2863af;
|
||||
background-color: rgba(11, 88, 255, 1);
|
||||
.aui-sidebar__menu-icon-son{
|
||||
background: #fff;
|
||||
border-radius: 4px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.el-menu,
|
||||
.el-submenu.is-opened {
|
||||
background-color: #0b253f;
|
||||
background-color: rgba(11, 37, 63, 1);
|
||||
}
|
||||
.el-menu-item.is-active,
|
||||
.el-submenu.is-active > .el-submenu__title {
|
||||
@ -521,6 +525,16 @@ img {
|
||||
color: inherit !important;
|
||||
transition: font-size .3s;
|
||||
}
|
||||
&__menu-icon-son {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
width: 8px !important;
|
||||
margin: 0 10px;
|
||||
text-align: center;
|
||||
font-size: 8px;
|
||||
color: inherit !important;
|
||||
transition: font-size 0.3s;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -592,20 +606,17 @@ img {
|
||||
}
|
||||
& > .el-tabs__item {
|
||||
height: $content--tabs-header-height;
|
||||
padding: 0 15px;
|
||||
line-height: $content--tabs-header-height;
|
||||
border: 0;
|
||||
color: $--color-text-regular;
|
||||
padding: 0 10px;
|
||||
color: rgba(89, 89, 89, 1);
|
||||
&:focus,
|
||||
&:hover,
|
||||
&.is-active {
|
||||
color: $--color-text-primary;
|
||||
background-color: $--background-color-base;
|
||||
&:after {
|
||||
display: block;
|
||||
}
|
||||
> .el-icon-close {
|
||||
color: $--color-text-primary;
|
||||
color: rgba(255, 255, 255, 1);
|
||||
}
|
||||
}
|
||||
&:after {
|
||||
@ -619,11 +630,20 @@ img {
|
||||
background-color: $--color-primary;
|
||||
}
|
||||
+ .el-tabs__item {
|
||||
margin-left: 1px;
|
||||
margin-left: 5px;
|
||||
height: 24px;
|
||||
font-size: 12px;
|
||||
line-height: 24px;
|
||||
border-radius: 5px;
|
||||
background-color: rgba(239, 239, 239, 1);
|
||||
&.is-active {
|
||||
color: rgba(255, 255, 255, 1);
|
||||
background-color: rgba(62, 142, 247, 1);
|
||||
}
|
||||
}
|
||||
> .el-icon-close {
|
||||
width: 14px;
|
||||
margin-left: 15px;
|
||||
margin-left: 6px;
|
||||
color: $--color-text-secondary;
|
||||
}
|
||||
> i.icon {
|
||||
|
@ -5,10 +5,10 @@ $base--line-height: 1.15;
|
||||
$navbar--height: 50px;
|
||||
|
||||
// Sidebar
|
||||
$sidebar--width: 230px;
|
||||
$sidebar--width: 248px;
|
||||
$sidebar--width-fold: 64px;
|
||||
$sidebar--background-color-dark: #001529;
|
||||
$sidebar--text-color-dark: #ffffff;
|
||||
$sidebar--background-color-dark: rgba(0, 21, 41, 1);
|
||||
$sidebar--text-color-dark: rgba(255, 255, 255, 1);
|
||||
$sidebar--menu-item-height: 48px;
|
||||
|
||||
// Content
|
||||
|
13
src/icons/svg/椭圆形.svg
Normal file
13
src/icons/svg/椭圆形.svg
Normal file
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="8px" height="8px" viewBox="0 0 8 8" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>椭圆形</title>
|
||||
<g id="页面" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="最新参考" transform="translate(-32.000000, -131.000000)" stroke="#FFFFFF">
|
||||
<g id="编组-8备份-17" transform="translate(0.000000, 112.000000)">
|
||||
<g id="编组" transform="translate(32.000000, 16.000000)">
|
||||
<circle id="椭圆形" cx="4" cy="7" r="3.5"></circle>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | 크기: 686 B |
12
src/icons/svg/组织管理.svg
Normal file
12
src/icons/svg/组织管理.svg
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="30px" height="30px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>组织管理</title>
|
||||
<g id="页面" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="icon" transform="translate(-415.000000, -372.000000)" fill="#ffffff" fill-rule="nonzero">
|
||||
<g id="组织管理" transform="translate(415.000000, 372.000000)">
|
||||
<rect id="矩形" opacity="0" x="0" y="0" width="30" height="30"></rect>
|
||||
<path d="M19.7622702,15.3266872 L18.6600278,15.3266872 L18.6600278,12.4263704 C18.6600278,12.1201573 18.4117931,11.8719225 18.10558,11.8719225 L12.5544479,11.8719225 L12.5544479,10.3366564 L15.3266872,10.3366564 C15.6329003,10.3366564 15.8811351,10.0884216 15.8811351,9.78220852 L15.8811351,4.79217768 C15.8811351,4.48596458 15.6329003,4.23772981 15.3266872,4.23772981 L8.67331278,4.23772981 C8.36709967,4.23772981 8.1188649,4.48596458 8.1188649,4.79217768 L8.1188649,9.78220852 C8.1188649,10.0884216 8.36709967,10.3366564 8.67331278,10.3366564 L11.4455521,10.3366564 L11.4455521,11.8719225 L5.93544919,11.8719225 C5.62945248,11.8719224 5.38130732,12.1198194 5.38100132,12.425816 L5.37767463,15.3266872 L4.23772981,15.3266872 C3.93151671,15.3266872 3.68328194,15.574922 3.68328194,15.8811351 L3.68328194,19.2078223 C3.68328194,19.5140354 3.93151671,19.7622702 4.23772981,19.7622702 L7.56441703,19.7622702 C7.87063014,19.7622702 8.1188649,19.5140354 8.1188649,19.2078223 L8.1188649,15.8811351 C8.1188649,15.574922 7.87063014,15.3266872 7.56441703,15.3266872 L6.48657037,15.3266872 L6.48934261,12.9808183 L11.4455521,12.9808183 L11.4455521,15.3266872 L10.3366564,15.3266872 C10.0304433,15.3266872 9.78220852,15.574922 9.78220852,15.8811351 L9.78220852,19.2078223 C9.78220852,19.5140354 10.0304433,19.7622702 10.3366564,19.7622702 L13.6633436,19.7622702 C13.9695567,19.7622702 14.2177915,19.5140354 14.2177915,19.2078223 L14.2177915,15.8811351 C14.2177915,15.574922 13.9695567,15.3266872 13.6633436,15.3266872 L12.5544479,15.3266872 L12.5544479,12.9808183 L17.5511321,12.9808183 L17.5511321,15.3266872 L16.435583,15.3266872 C16.1293699,15.3266872 15.8811351,15.574922 15.8811351,15.8811351 L15.8811351,19.2078223 C15.8811351,19.5140354 16.1293699,19.7622702 16.435583,19.7622702 L19.7622702,19.7622702 C20.0684833,19.7622702 20.3167181,19.5140354 20.3167181,19.2078223 L20.3167181,15.8811351 C20.3167181,15.574922 20.0684833,15.3266872 19.7622702,15.3266872 Z M9.22776065,5.34662555 L14.7722394,5.34662555 L14.7722394,9.22776065 L9.22776065,9.22776065 L9.22776065,5.34662555 Z M7.00996916,18.6533744 L4.79217768,18.6533744 L4.79217768,16.435583 L7.00996916,16.435583 L7.00996916,18.6533744 Z M13.1088957,18.6533744 L10.8911043,18.6533744 L10.8911043,16.435583 L13.1088957,16.435583 L13.1088957,18.6533744 Z M19.2078223,18.6533744 L16.9900308,18.6533744 L16.9900308,16.435583 L19.2078223,16.435583 L19.2078223,18.6533744 Z" id="形状"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | 크기: 3.0 KiB |
@ -34,10 +34,6 @@ export const moduleRoutes = {
|
||||
children: [
|
||||
{ path: '/home', component: () => import('@/views/modules/home'), name: 'home', meta: { title: '首页', isTab: true } },
|
||||
|
||||
{ path: '/echart-line', component: () => import('@/views/spc-chart/echart-line'), name: 'echart-line', meta: { title: 'spc折线', isTab: true } },
|
||||
{ path: '/echart-3line', component: () => import('@/views/spc-chart/echart-3line'), name: 'echart-3line', meta: { title: 'spc3折线', isTab: true } },
|
||||
{ path: '/echart-2line', component: () => import('@/views/spc-chart/echart-2line'), name: 'echart-2line', meta: { title: 'spc2折线', 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 } },
|
||||
|
@ -1,3 +1,10 @@
|
||||
<!--
|
||||
* @Author: zwq
|
||||
* @Date: 2022-08-22 14:57:51
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-01-06 15:34:54
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-submenu v-if="menu.children && menu.children.length >= 1" :index="menu.id" :popper-append-to-body="false">
|
||||
<template slot="title">
|
||||
@ -7,7 +14,8 @@
|
||||
<sub-menu v-for="item in menu.children" :key="item.id" :menu="item"></sub-menu>
|
||||
</el-submenu>
|
||||
<el-menu-item v-else :index="menu.id" @click="gotoRouteHandle(menu.id)">
|
||||
<svg class="icon-svg aui-sidebar__menu-icon" aria-hidden="true"><use :xlink:href="`#${menu.icon}`"></use></svg>
|
||||
<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" aria-hidden="true"><use :xlink:href="`#${menu.icon}`"></use></svg> -->
|
||||
<span>{{ menu.name }}</span>
|
||||
</el-menu-item>
|
||||
</template>
|
||||
|
@ -21,36 +21,51 @@
|
||||
<span>产品管理</span>
|
||||
</template>
|
||||
<el-menu-item index="productType" @click="$router.push({ name: 'productType' })">
|
||||
<svg class="icon-svg aui-sidebar__menu-icon">
|
||||
<!-- <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"><use xlink:href="#icon-log"></use></svg>
|
||||
<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"><use xlink:href="#icon-config"></use></svg>
|
||||
<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="#icon-config"></use>
|
||||
<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">
|
||||
<!-- <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">
|
||||
<!-- <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>
|
||||
@ -62,50 +77,42 @@
|
||||
<el-submenu index="Machine">
|
||||
<template slot="title">
|
||||
<svg class="icon-svg aui-sidebar__menu-icon">
|
||||
<use xlink:href="#icon-config"></use>
|
||||
<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">
|
||||
<!-- <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">
|
||||
<!-- <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"><use xlink:href="#icon-zonghe"></use></svg>
|
||||
<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"><use xlink:href="#icon-log"></use></svg>
|
||||
<span slot="title">计量单位管理</span>
|
||||
</el-menu-item>
|
||||
</el-submenu>
|
||||
<el-submenu index="spc">
|
||||
<template slot="title">
|
||||
<svg class="icon-svg aui-sidebar__menu-icon">
|
||||
<use xlink:href="#icon-shoucang"></use>
|
||||
<svg class="icon-svg aui-sidebar__menu-icon-son" aria-hidden="true">
|
||||
<use xlink:href="#椭圆形"></use>
|
||||
</svg>
|
||||
<span>SPC</span>
|
||||
</template>
|
||||
<el-menu-item index="echart-line" @click="$router.push({ name: 'echart-line' })">
|
||||
<svg class="icon-svg aui-sidebar__menu-icon"><use xlink:href="#icon-tubiao"></use></svg>
|
||||
<span slot="title">spc折线</span>
|
||||
</el-menu-item>
|
||||
<el-menu-item index="echart-2line" @click="$router.push({ name: 'echart-2line' })">
|
||||
<svg class="icon-svg aui-sidebar__menu-icon"><use xlink:href="#icon-tubiao"></use></svg>
|
||||
<span slot="title">spc2折线</span>
|
||||
</el-menu-item>
|
||||
<el-menu-item index="echart-line" @click="$router.push({ name: 'echart-3line' })">
|
||||
<svg class="icon-svg aui-sidebar__menu-icon"><use xlink:href="#icon-tubiao"></use></svg>
|
||||
<span slot="title">spc3折线</span>
|
||||
<!-- <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">
|
||||
@ -116,15 +123,27 @@
|
||||
<span>质量规划</span>
|
||||
</template>
|
||||
<el-menu-item index="controlGraph" @click="$router.push({ name: 'controlGraph' })">
|
||||
<svg class="icon-svg aui-sidebar__menu-icon"><use xlink:href="#控制中心"></use></svg>
|
||||
<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"><use xlink:href="#控制中心"></use></svg>
|
||||
<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"><use xlink:href="#方案管理"></use></svg>
|
||||
<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>
|
||||
@ -135,34 +154,49 @@
|
||||
</svg>
|
||||
<span>过程检验</span>
|
||||
</template>
|
||||
<el-menu-item index="generalOperation" @click="$router.push({ name: 'generalOperation' })">
|
||||
<svg class="icon-svg aui-sidebar__menu-icon">
|
||||
<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> -->
|
||||
<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-log"></use>
|
||||
<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">
|
||||
<!-- <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">
|
||||
<!-- <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">
|
||||
<!-- <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>
|
||||
@ -170,31 +204,43 @@
|
||||
<el-submenu index="Counting">
|
||||
<template slot="title">
|
||||
<svg class="icon-svg aui-sidebar__menu-icon">
|
||||
<use xlink:href="#icon-log"></use>
|
||||
<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">
|
||||
<!-- <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">
|
||||
<!-- <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">
|
||||
<!-- <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">
|
||||
<!-- <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>
|
||||
|
@ -2,14 +2,16 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2022-09-15 10:22:53
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-12-01 10:23:29
|
||||
* @LastEditTime: 2022-12-16 15:25:39
|
||||
* @Description: C图
|
||||
-->
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<query-form
|
||||
ref="queryForm"
|
||||
:page-name="'缺陷数图'"
|
||||
:data-form="dataForm"
|
||||
:groupTypeShow="true"
|
||||
@getDataList="getDataList"
|
||||
@rawData="rawData"
|
||||
@exportHandle="exportHandle"
|
||||
@ -17,6 +19,10 @@
|
||||
<el-row :gutter="6" v-if="chartVisible">
|
||||
<el-col :span="24">
|
||||
<chart-line
|
||||
v-loading="loading"
|
||||
element-loading-text="拼命加载中"
|
||||
element-loading-spinner="el-icon-loading"
|
||||
element-loading-background="rgba(0, 0, 0, 0.8)"
|
||||
ref="CGraph"
|
||||
:chartLineName="'CGraph'"
|
||||
:yName="'缺陷数'"
|
||||
@ -36,6 +42,10 @@ export default {
|
||||
mixins: [processPage],
|
||||
data() {
|
||||
return {
|
||||
dataForm: {
|
||||
groupType: 1,
|
||||
},
|
||||
loading: true,
|
||||
urlOptions: {
|
||||
exportUrl: "/basic/unit/export",
|
||||
},
|
||||
@ -47,25 +57,48 @@ export default {
|
||||
queryForm,
|
||||
chartLine,
|
||||
},
|
||||
created() {
|
||||
this.$nextTick(() => {
|
||||
this.$refs.queryForm.getArr();
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
// 获取数据列表
|
||||
getDataList() {
|
||||
this.$http
|
||||
.post("/processInspection/CGraphTest")
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.dataList = [];
|
||||
this.rightList = [];
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.dataList = res.data;
|
||||
this.chartVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.CGraph.initChartLine();
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
this.$refs.queryForm.$refs["dataForm"].validate((valid) => {
|
||||
if (!valid) {
|
||||
return false;
|
||||
}
|
||||
this.loading = true;
|
||||
this.$http
|
||||
.post("/processInspection/CGraph", {
|
||||
...this.dataForm,
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.dataList = [];
|
||||
this.rightList = [];
|
||||
this.loading = false;
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.loading = false;
|
||||
this.dataList = res.data;
|
||||
if (this.dataList.list.length > 0) {
|
||||
this.chartVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.CGraph.initChartLine();
|
||||
});
|
||||
} else {
|
||||
this.chartVisible = false;
|
||||
this.$message({
|
||||
message: "没有发现数据",
|
||||
type: "warning",
|
||||
});
|
||||
}
|
||||
})
|
||||
.catch(() => {});
|
||||
});
|
||||
},
|
||||
rawData() {
|
||||
console.log("原始数据");
|
||||
|
@ -2,14 +2,16 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2022-09-15 10:22:53
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-12-01 10:23:34
|
||||
* @LastEditTime: 2022-12-16 15:27:52
|
||||
* @Description: NP图
|
||||
-->
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<query-form
|
||||
ref="queryForm"
|
||||
:page-name="'NP图'"
|
||||
:data-form="dataForm"
|
||||
:groupTypeShow="true"
|
||||
@getDataList="getDataList"
|
||||
@rawData="rawData"
|
||||
@exportHandle="exportHandle"
|
||||
@ -17,6 +19,10 @@
|
||||
<el-row :gutter="6" v-if="chartVisible">
|
||||
<el-col :span="24">
|
||||
<chart-line
|
||||
v-loading="loading"
|
||||
element-loading-text="拼命加载中"
|
||||
element-loading-spinner="el-icon-loading"
|
||||
element-loading-background="rgba(0, 0, 0, 0.8)"
|
||||
ref="CGraph"
|
||||
:chartLineName="'CGraph'"
|
||||
:yName="'缺陷数'"
|
||||
@ -36,6 +42,10 @@ export default {
|
||||
mixins: [processPage],
|
||||
data() {
|
||||
return {
|
||||
dataForm: {
|
||||
groupType: 1,
|
||||
},
|
||||
loading: true,
|
||||
urlOptions: {
|
||||
exportUrl: "/basic/unit/export",
|
||||
},
|
||||
@ -47,25 +57,48 @@ export default {
|
||||
queryForm,
|
||||
chartLine,
|
||||
},
|
||||
created() {
|
||||
this.$nextTick(() => {
|
||||
this.$refs.queryForm.getArr();
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
// 获取数据列表
|
||||
getDataList() {
|
||||
this.$http
|
||||
.post("/processInspection/NPGraphTest")
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.dataList = [];
|
||||
this.rightList = [];
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.dataList = res.data;
|
||||
this.chartVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.CGraph.initChartLine();
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
this.$refs.queryForm.$refs["dataForm"].validate((valid) => {
|
||||
if (!valid) {
|
||||
return false;
|
||||
}
|
||||
this.loading = true;
|
||||
this.$http
|
||||
.post("/processInspection/NPGraph", {
|
||||
...this.dataForm,
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.dataList = [];
|
||||
this.rightList = [];
|
||||
this.loading = false;
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.loading = false;
|
||||
this.dataList = res.data;
|
||||
if (this.dataList.list.length > 0) {
|
||||
this.chartVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.CGraph.initChartLine();
|
||||
});
|
||||
} else {
|
||||
this.chartVisible = false;
|
||||
this.$message({
|
||||
message: "没有发现数据",
|
||||
type: "warning",
|
||||
});
|
||||
}
|
||||
})
|
||||
.catch(() => {});
|
||||
});
|
||||
},
|
||||
rawData() {
|
||||
console.log("原始数据");
|
||||
|
@ -2,14 +2,16 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2022-09-15 10:22:53
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-12-01 10:23:38
|
||||
* @LastEditTime: 2022-12-16 15:27:58
|
||||
* @Description: P图
|
||||
-->
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<query-form
|
||||
ref="queryForm"
|
||||
:page-name="'NP图'"
|
||||
:data-form="dataForm"
|
||||
:groupTypeShow="true"
|
||||
@getDataList="getDataList"
|
||||
@rawData="rawData"
|
||||
@exportHandle="exportHandle"
|
||||
@ -17,6 +19,10 @@
|
||||
<el-row :gutter="6" v-if="chartVisible">
|
||||
<el-col :span="24">
|
||||
<chart-line
|
||||
v-loading="loading"
|
||||
element-loading-text="拼命加载中"
|
||||
element-loading-spinner="el-icon-loading"
|
||||
element-loading-background="rgba(0, 0, 0, 0.8)"
|
||||
ref="CGraph"
|
||||
:chartLineName="'CGraph'"
|
||||
:yName="'缺陷率'"
|
||||
@ -36,6 +42,10 @@ export default {
|
||||
mixins: [processPage],
|
||||
data() {
|
||||
return {
|
||||
dataForm: {
|
||||
groupType: 1,
|
||||
},
|
||||
loading: true,
|
||||
urlOptions: {
|
||||
exportUrl: "/basic/unit/export",
|
||||
},
|
||||
@ -47,25 +57,48 @@ export default {
|
||||
queryForm,
|
||||
chartLine,
|
||||
},
|
||||
created() {
|
||||
this.$nextTick(() => {
|
||||
this.$refs.queryForm.getArr();
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
// 获取数据列表
|
||||
getDataList() {
|
||||
this.$http
|
||||
.post("/processInspection/PGraphTest")
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.dataList = [];
|
||||
this.rightList = [];
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.dataList = res.data;
|
||||
this.chartVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.CGraph.initChartLine();
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
this.$refs.queryForm.$refs["dataForm"].validate((valid) => {
|
||||
if (!valid) {
|
||||
return false;
|
||||
}
|
||||
this.loading = true;
|
||||
this.$http
|
||||
.post("/processInspection/PGraph", {
|
||||
...this.dataForm,
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.dataList = [];
|
||||
this.rightList = [];
|
||||
this.loading = false;
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.loading = false;
|
||||
this.dataList = res.data;
|
||||
if (this.dataList.list.length > 0) {
|
||||
this.chartVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.CGraph.initChartLine();
|
||||
});
|
||||
} else {
|
||||
this.chartVisible = false;
|
||||
this.$message({
|
||||
message: "没有发现数据",
|
||||
type: "warning",
|
||||
});
|
||||
}
|
||||
})
|
||||
.catch(() => {});
|
||||
});
|
||||
},
|
||||
rawData() {
|
||||
console.log("原始数据");
|
||||
|
@ -2,14 +2,16 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2022-09-15 10:22:53
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-12-01 10:23:43
|
||||
* @LastEditTime: 2022-12-16 15:28:04
|
||||
* @Description: U图
|
||||
-->
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<query-form
|
||||
ref="queryForm"
|
||||
:page-name="'U图'"
|
||||
:data-form="dataForm"
|
||||
:groupTypeShow="true"
|
||||
@getDataList="getDataList"
|
||||
@rawData="rawData"
|
||||
@exportHandle="exportHandle"
|
||||
@ -17,6 +19,10 @@
|
||||
<el-row :gutter="6" v-if="chartVisible">
|
||||
<el-col :span="24">
|
||||
<chart-line
|
||||
v-loading="loading"
|
||||
element-loading-text="拼命加载中"
|
||||
element-loading-spinner="el-icon-loading"
|
||||
element-loading-background="rgba(0, 0, 0, 0.8)"
|
||||
ref="CGraph"
|
||||
:chartLineName="'CGraph'"
|
||||
:yName="'单位缺陷'"
|
||||
@ -36,6 +42,10 @@ export default {
|
||||
mixins: [processPage],
|
||||
data() {
|
||||
return {
|
||||
dataForm: {
|
||||
groupType: 1,
|
||||
},
|
||||
loading: true,
|
||||
urlOptions: {
|
||||
exportUrl: "/basic/unit/export",
|
||||
},
|
||||
@ -47,25 +57,48 @@ export default {
|
||||
queryForm,
|
||||
chartLine,
|
||||
},
|
||||
created() {
|
||||
this.$nextTick(() => {
|
||||
this.$refs.queryForm.getArr();
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
// 获取数据列表
|
||||
getDataList() {
|
||||
this.$http
|
||||
.post("/processInspection/UGraphTest")
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.dataList = [];
|
||||
this.rightList = [];
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.dataList = res.data;
|
||||
this.chartVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.CGraph.initChartLine();
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
this.$refs.queryForm.$refs["dataForm"].validate((valid) => {
|
||||
if (!valid) {
|
||||
return false;
|
||||
}
|
||||
this.loading = true;
|
||||
this.$http
|
||||
.post("/processInspection/UGraph", {
|
||||
...this.dataForm,
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.dataList = [];
|
||||
this.rightList = [];
|
||||
this.loading = false;
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.dataList = res.data;
|
||||
this.loading = false;
|
||||
if (this.dataList.list.length > 0) {
|
||||
this.chartVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.CGraph.initChartLine();
|
||||
});
|
||||
} else {
|
||||
this.chartVisible = false;
|
||||
this.$message({
|
||||
message: "没有发现数据",
|
||||
type: "warning",
|
||||
});
|
||||
}
|
||||
})
|
||||
.catch(() => {});
|
||||
});
|
||||
},
|
||||
rawData() {
|
||||
console.log("原始数据");
|
||||
|
@ -2,12 +2,13 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2022-09-15 10:23:42
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-11-29 16:26:58
|
||||
* @LastEditTime: 2022-12-16 15:31:18
|
||||
* @Description: 单值-移动极差 控制图
|
||||
-->
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<query-form
|
||||
ref="queryForm"
|
||||
:page-name="'单值-移动极差控制图'"
|
||||
:data-form="dataForm"
|
||||
@getDataList="getDataList"
|
||||
@ -17,9 +18,13 @@
|
||||
<el-row :gutter="6" v-if="chartVisible">
|
||||
<el-col :span="19">
|
||||
<chart-line
|
||||
v-loading="loading"
|
||||
element-loading-text="拼命加载中"
|
||||
element-loading-spinner="el-icon-loading"
|
||||
element-loading-background="rgba(0, 0, 0, 0.8)"
|
||||
ref="XMRGraph"
|
||||
:chartLineName="'XMRGraph'"
|
||||
:lineIndex='2'
|
||||
:lineIndex="2"
|
||||
:title="chartTitle"
|
||||
:y-name1="yName1"
|
||||
:y-name2="yName2"
|
||||
@ -42,7 +47,10 @@
|
||||
:key="index + 'xbar'"
|
||||
class="rightDiv"
|
||||
>
|
||||
{{ key }}<span style="float:right">{{ val.length?val: parseFloat(val).toFixed(4) }}</span>
|
||||
{{ key
|
||||
}}<span style="float:right">{{
|
||||
val.length ? val : parseFloat(val).toFixed(4)
|
||||
}}</span>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
<el-collapse-item title="移动极差数值" name="1">
|
||||
@ -51,7 +59,10 @@
|
||||
:key="index + 'rcl'"
|
||||
class="rightDiv"
|
||||
>
|
||||
{{ key }}<span style="float:right">{{ val.length?val: parseFloat(val).toFixed(4) }}</span>
|
||||
{{ key
|
||||
}}<span style="float:right">{{
|
||||
val.length ? val : parseFloat(val).toFixed(4)
|
||||
}}</span>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
<el-collapse-item title="waring:" name="2">
|
||||
@ -72,6 +83,8 @@ export default {
|
||||
mixins: [processPage],
|
||||
data() {
|
||||
return {
|
||||
dataForm: {},
|
||||
loading: true,
|
||||
urlOptions: {
|
||||
exportUrl: "/basic/unit/export",
|
||||
},
|
||||
@ -87,72 +100,87 @@ export default {
|
||||
queryForm,
|
||||
chartLine,
|
||||
},
|
||||
created() {
|
||||
this.$nextTick(() => {
|
||||
this.$refs.queryForm.getArr();
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
// 获取数据列表
|
||||
getDataList() {
|
||||
this.$http
|
||||
.post("/processInspection/XMRGraphTest")
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.dataList = [];
|
||||
this.$refs.queryForm.$refs["dataForm"].validate((valid) => {
|
||||
if (!valid) {
|
||||
return false;
|
||||
}
|
||||
this.loading = true;
|
||||
this.$http
|
||||
.post("/processInspection/XMRGraph", {
|
||||
...this.dataForm,
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.dataList = [];
|
||||
this.rightList = [];
|
||||
this.loading = false;
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.loading = false;
|
||||
this.dataList = res.data;
|
||||
this.rightList = [];
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.dataList = res.data;
|
||||
this.rightList = [];
|
||||
// this.rightList.push({
|
||||
// name: "cl(上图)",
|
||||
// value: res.data.xbarCL.cl,
|
||||
// });
|
||||
// this.rightList.push({
|
||||
// name: "lcl(上图)",
|
||||
// value: res.data.xbarCL.lcl,
|
||||
// });
|
||||
// this.rightList.push({
|
||||
// name: "ucl(上图)",
|
||||
// value: res.data.xbarCL.ucl,
|
||||
// });
|
||||
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,
|
||||
// });
|
||||
// this.rightList.push({
|
||||
// name: "lcl(下图)",
|
||||
// value: res.data.rcl.lcl,
|
||||
// });
|
||||
// this.rightList.push({
|
||||
// name: "ucl(下图)",
|
||||
// value: res.data.rcl.ucl,
|
||||
// });
|
||||
Object.keys(res.data.standardDiviation).map((key) => {
|
||||
this.rightList.push({
|
||||
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({
|
||||
// name: "cl(上图)",
|
||||
// value: res.data.xbarCL.cl,
|
||||
// });
|
||||
// this.rightList.push({
|
||||
// name: "lcl(上图)",
|
||||
// value: res.data.xbarCL.lcl,
|
||||
// });
|
||||
// this.rightList.push({
|
||||
// name: "ucl(上图)",
|
||||
// value: res.data.xbarCL.ucl,
|
||||
// });
|
||||
Object.keys(res.data.sl).map((key) => {
|
||||
this.rightList.push({
|
||||
name: key,
|
||||
value: res.data.processCapability[key],
|
||||
value: res.data.sl[key],
|
||||
});
|
||||
}
|
||||
});
|
||||
this.chartVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.XMRGraph.initChartLine();
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
});
|
||||
// this.rightList.push({
|
||||
// name: "cl(下图)",
|
||||
// value: res.data.rcl.cl,
|
||||
// });
|
||||
// this.rightList.push({
|
||||
// name: "lcl(下图)",
|
||||
// value: res.data.rcl.lcl,
|
||||
// });
|
||||
// this.rightList.push({
|
||||
// name: "ucl(下图)",
|
||||
// value: res.data.rcl.ucl,
|
||||
// });
|
||||
Object.keys(res.data.standardDiviation).map((key) => {
|
||||
this.rightList.push({
|
||||
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({
|
||||
name: key,
|
||||
value: res.data.processCapability[key],
|
||||
});
|
||||
}
|
||||
});
|
||||
this.chartVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.XMRGraph.initChartLine();
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
});
|
||||
},
|
||||
rawData() {
|
||||
console.log("原始数据");
|
||||
|
@ -2,7 +2,7 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2022-09-15 10:22:12
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-12-12 16:40:23
|
||||
* @LastEditTime: 2022-12-16 15:31:07
|
||||
* @Description: 均值极差控制图
|
||||
-->
|
||||
<template>
|
||||
@ -18,6 +18,10 @@
|
||||
<el-row :gutter="6" v-if="chartVisible">
|
||||
<el-col :span="19">
|
||||
<chart-line
|
||||
v-loading="loading"
|
||||
element-loading-text="拼命加载中"
|
||||
element-loading-spinner="el-icon-loading"
|
||||
element-loading-background="rgba(0, 0, 0, 0.8)"
|
||||
ref="chartRef"
|
||||
:chartLineName="'XbarRGraph'"
|
||||
:lineIndex="0"
|
||||
@ -79,6 +83,8 @@ export default {
|
||||
mixins: [processPage],
|
||||
data() {
|
||||
return {
|
||||
dataForm: {},
|
||||
loading: true,
|
||||
urlOptions: {
|
||||
exportUrl: "/basic/unit/export",
|
||||
},
|
||||
@ -102,69 +108,79 @@ export default {
|
||||
methods: {
|
||||
// 获取数据列表
|
||||
getDataList() {
|
||||
this.$http
|
||||
.post("/processInspection/XbarRGraphTest")
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.dataList = [];
|
||||
this.$refs.queryForm.$refs["dataForm"].validate((valid) => {
|
||||
if (!valid) {
|
||||
return false;
|
||||
}
|
||||
this.loading = true;
|
||||
this.$http
|
||||
.post("/processInspection/XbarRGraph", {
|
||||
...this.dataForm,
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.dataList = [];
|
||||
this.rightList = [];
|
||||
this.loading = false;
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.loading = false;
|
||||
this.dataList = res.data;
|
||||
this.rightList = [];
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.dataList = res.data;
|
||||
this.rightList = [];
|
||||
// this.rightList.push({
|
||||
// name: "cl(上图)",
|
||||
// value: res.data.xbarCL.cl,
|
||||
// });
|
||||
// this.rightList.push({
|
||||
// name: "lcl(上图)",
|
||||
// value: res.data.xbarCL.lcl,
|
||||
// });
|
||||
// this.rightList.push({
|
||||
// name: "ucl(上图)",
|
||||
// value: res.data.xbarCL.ucl,
|
||||
// });
|
||||
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,
|
||||
// });
|
||||
// this.rightList.push({
|
||||
// name: "lcl(下图)",
|
||||
// value: res.data.rcl.lcl,
|
||||
// });
|
||||
// this.rightList.push({
|
||||
// name: "ucl(下图)",
|
||||
// value: res.data.rcl.ucl,
|
||||
// });
|
||||
Object.keys(res.data.standardDiviation).map((key) => {
|
||||
this.rightList.push({
|
||||
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({
|
||||
// name: "cl(上图)",
|
||||
// value: res.data.xbarCL.cl,
|
||||
// });
|
||||
// this.rightList.push({
|
||||
// name: "lcl(上图)",
|
||||
// value: res.data.xbarCL.lcl,
|
||||
// });
|
||||
// this.rightList.push({
|
||||
// name: "ucl(上图)",
|
||||
// value: res.data.xbarCL.ucl,
|
||||
// });
|
||||
Object.keys(res.data.sl).map((key) => {
|
||||
this.rightList.push({
|
||||
name: key,
|
||||
value: res.data.processCapability[key],
|
||||
value: res.data.sl[key],
|
||||
});
|
||||
}
|
||||
});
|
||||
this.chartVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.chartRef.initChartLine();
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
});
|
||||
// this.rightList.push({
|
||||
// name: "cl(下图)",
|
||||
// value: res.data.rcl.cl,
|
||||
// });
|
||||
// this.rightList.push({
|
||||
// name: "lcl(下图)",
|
||||
// value: res.data.rcl.lcl,
|
||||
// });
|
||||
// this.rightList.push({
|
||||
// name: "ucl(下图)",
|
||||
// value: res.data.rcl.ucl,
|
||||
// });
|
||||
Object.keys(res.data.standardDiviation).map((key) => {
|
||||
this.rightList.push({
|
||||
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({
|
||||
name: key,
|
||||
value: res.data.processCapability[key],
|
||||
});
|
||||
}
|
||||
});
|
||||
this.chartVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.chartRef.initChartLine();
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
});
|
||||
},
|
||||
rawData() {
|
||||
console.log("原始数据");
|
||||
|
@ -2,12 +2,13 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2022-09-15 10:22:53
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-11-29 16:26:47
|
||||
* @LastEditTime: 2022-12-16 15:31:13
|
||||
* @Description: 均值标准差控制图
|
||||
-->
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<query-form
|
||||
ref="queryForm"
|
||||
:page-name="'均值标准差控制图'"
|
||||
:data-form="dataForm"
|
||||
@getDataList="getDataList"
|
||||
@ -17,9 +18,13 @@
|
||||
<el-row :gutter="6" v-if="chartVisible">
|
||||
<el-col :span="19">
|
||||
<chart-line
|
||||
v-loading="loading"
|
||||
element-loading-text="拼命加载中"
|
||||
element-loading-spinner="el-icon-loading"
|
||||
element-loading-background="rgba(0, 0, 0, 0.8)"
|
||||
ref="chart1Ref"
|
||||
:chartLineName="'XbarSGraph'"
|
||||
:lineIndex='1'
|
||||
:lineIndex="1"
|
||||
:title="chartTitle"
|
||||
:y-name1="yName1"
|
||||
:y-name2="yName2"
|
||||
@ -42,7 +47,10 @@
|
||||
:key="index + 'xbar'"
|
||||
class="rightDiv"
|
||||
>
|
||||
{{ key }}<span style="float:right">{{ val.length?val: parseFloat(val).toFixed(4) }}</span>
|
||||
{{ key
|
||||
}}<span style="float:right">{{
|
||||
val.length ? val : parseFloat(val).toFixed(4)
|
||||
}}</span>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
<el-collapse-item title="标准差数值" name="1">
|
||||
@ -51,7 +59,10 @@
|
||||
:key="index + 'scl'"
|
||||
class="rightDiv"
|
||||
>
|
||||
{{ key }}<span style="float:right">{{ val.length?val: parseFloat(val).toFixed(4) }}</span>
|
||||
{{ key
|
||||
}}<span style="float:right">{{
|
||||
val.length ? val : parseFloat(val).toFixed(4)
|
||||
}}</span>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
<el-collapse-item title="waring:" name="2">
|
||||
@ -72,6 +83,8 @@ export default {
|
||||
mixins: [processPage],
|
||||
data() {
|
||||
return {
|
||||
dataForm: {},
|
||||
loading: true,
|
||||
urlOptions: {
|
||||
exportUrl: "/basic/unit/export",
|
||||
},
|
||||
@ -87,72 +100,87 @@ export default {
|
||||
queryForm,
|
||||
chartLine,
|
||||
},
|
||||
created() {
|
||||
this.$nextTick(() => {
|
||||
this.$refs.queryForm.getArr();
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
// 获取数据列表
|
||||
getDataList() {
|
||||
this.$http
|
||||
.post("/processInspection/XbarSGraphTest")
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.dataList = [];
|
||||
this.$refs.queryForm.$refs["dataForm"].validate((valid) => {
|
||||
if (!valid) {
|
||||
return false;
|
||||
}
|
||||
this.loading = true;
|
||||
this.$http
|
||||
.post("/processInspection/XbarSGraph", {
|
||||
...this.dataForm,
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.dataList = [];
|
||||
this.rightList = [];
|
||||
this.loading = false;
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.loading = false;
|
||||
this.dataList = res.data;
|
||||
this.rightList = [];
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.dataList = res.data;
|
||||
this.rightList = [];
|
||||
// this.rightList.push({
|
||||
// name: "cl(上图)",
|
||||
// value: res.data.xbarCL.cl,
|
||||
// });
|
||||
// this.rightList.push({
|
||||
// name: "lcl(上图)",
|
||||
// value: res.data.xbarCL.lcl,
|
||||
// });
|
||||
// this.rightList.push({
|
||||
// name: "ucl(上图)",
|
||||
// value: res.data.xbarCL.ucl,
|
||||
// });
|
||||
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,
|
||||
// });
|
||||
// this.rightList.push({
|
||||
// name: "lcl(下图)",
|
||||
// value: res.data.rcl.lcl,
|
||||
// });
|
||||
// this.rightList.push({
|
||||
// name: "ucl(下图)",
|
||||
// value: res.data.rcl.ucl,
|
||||
// });
|
||||
Object.keys(res.data.standardDiviation).map((key) => {
|
||||
this.rightList.push({
|
||||
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({
|
||||
// name: "cl(上图)",
|
||||
// value: res.data.xbarCL.cl,
|
||||
// });
|
||||
// this.rightList.push({
|
||||
// name: "lcl(上图)",
|
||||
// value: res.data.xbarCL.lcl,
|
||||
// });
|
||||
// this.rightList.push({
|
||||
// name: "ucl(上图)",
|
||||
// value: res.data.xbarCL.ucl,
|
||||
// });
|
||||
Object.keys(res.data.sl).map((key) => {
|
||||
this.rightList.push({
|
||||
name: key,
|
||||
value: res.data.processCapability[key],
|
||||
value: res.data.sl[key],
|
||||
});
|
||||
}
|
||||
});
|
||||
this.chartVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.chart1Ref.initChartLine();
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
});
|
||||
// this.rightList.push({
|
||||
// name: "cl(下图)",
|
||||
// value: res.data.rcl.cl,
|
||||
// });
|
||||
// this.rightList.push({
|
||||
// name: "lcl(下图)",
|
||||
// value: res.data.rcl.lcl,
|
||||
// });
|
||||
// this.rightList.push({
|
||||
// name: "ucl(下图)",
|
||||
// value: res.data.rcl.ucl,
|
||||
// });
|
||||
Object.keys(res.data.standardDiviation).map((key) => {
|
||||
this.rightList.push({
|
||||
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({
|
||||
name: key,
|
||||
value: res.data.processCapability[key],
|
||||
});
|
||||
}
|
||||
});
|
||||
this.chartVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.chart1Ref.initChartLine();
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
});
|
||||
},
|
||||
rawData() {
|
||||
console.log("原始数据");
|
||||
|
@ -109,7 +109,7 @@ export default {
|
||||
},
|
||||
formatter: (e) => {
|
||||
let alarmInfo = ''
|
||||
e[0].data.sRule.forEach(item=>{
|
||||
e[0].data.sRule?.forEach(item=>{
|
||||
alarmInfo += this.ruleList[item - 1]+'<br/>'
|
||||
})
|
||||
return `
|
||||
@ -572,6 +572,8 @@ 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({
|
||||
|
@ -2,7 +2,7 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2021-11-18 14:16:25
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-12-13 13:43:23
|
||||
* @LastEditTime: 2023-01-06 14:30:12
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -40,12 +40,23 @@
|
||||
<el-checkbox
|
||||
v-if="item.fType === 2"
|
||||
v-model="scope.row[item.prop]"
|
||||
:class="
|
||||
scope.row[item.prop] === '0'? 'redbg'
|
||||
: ''
|
||||
"
|
||||
true-label="1"
|
||||
false-label="0"
|
||||
/>
|
||||
<el-input
|
||||
v-else
|
||||
v-model="scope.row[item.prop]"
|
||||
:class="
|
||||
(item.usl < scope.row[item.prop] ||
|
||||
scope.row[item.prop] < item.lsl) &&
|
||||
!(item.label === '取样时间' || item.label === '样本号' || item.label === '批次号')
|
||||
? 'redFont'
|
||||
: ''
|
||||
"
|
||||
size="small"
|
||||
clearable
|
||||
:readonly="
|
||||
@ -124,22 +135,26 @@ export default {
|
||||
label: "样本号",
|
||||
},
|
||||
{
|
||||
prop: "sampleTime",
|
||||
prop: "sampleTime1",
|
||||
label: "取样时间",
|
||||
},
|
||||
{
|
||||
prop: "batchNum",
|
||||
label: "批次号",
|
||||
},
|
||||
// {
|
||||
// prop: "batchNum",
|
||||
// label: "批次号",
|
||||
// },
|
||||
];
|
||||
this.featuresList.forEach((item) => {
|
||||
let obj = {
|
||||
prop: item.name,
|
||||
label: item.name,
|
||||
fType: item.type,
|
||||
lsl: item.lsl,
|
||||
usl: item.usl,
|
||||
};
|
||||
this.tableProps.push(obj);
|
||||
this.dataList[0][item.name] = this.workingProcedureName;
|
||||
this.dataList[0][item.name] = this.workingProcedureName
|
||||
? this.workingProcedureName
|
||||
: item.workingProcedureName;
|
||||
this.dataList[1][item.name] = { 1: "计量型", 2: "计数型" }[item.type];
|
||||
this.dataList[2][item.name] = item.lsl;
|
||||
this.dataList[3][item.name] = item.usl;
|
||||
@ -154,18 +169,16 @@ export default {
|
||||
getInfluxdb() {
|
||||
this.$http
|
||||
.post(
|
||||
`/processInspection/inspectionSheet/getFluxParamList?inspectionSheetId=${this.inspectionSheetId}`
|
||||
`/processInspection/inspectionSheet/getFluxParamList3?inspectionSheetId=${this.inspectionSheetId}`
|
||||
)
|
||||
.then((res) => {
|
||||
res.data.forEach((item) => {
|
||||
item.sampleTime = this.formatDateTime(item.sampleTime);
|
||||
// item.events.forEach((item1) => {
|
||||
// item[item1.argName] = item1.argValue;
|
||||
// });
|
||||
Object.assign(item, JSON.parse(item.jsonData));
|
||||
item.sampleTime1 = this.formatDateTime(item.sampleTime);
|
||||
item.sampleParamList.forEach((item1) => {
|
||||
item[item1.argName] = item1.argValue;
|
||||
});
|
||||
this.dataList.push(item);
|
||||
});
|
||||
this.dataList.concat(res.data);
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
@ -184,14 +197,13 @@ export default {
|
||||
sampleNumber: sampleNum,
|
||||
sampleTime: new Date(),
|
||||
batchNum: this.batchNum,
|
||||
events: [],
|
||||
sampleParamList: [],
|
||||
};
|
||||
this.featuresList.forEach((item) => {
|
||||
let obj1 = {
|
||||
time: new Date(),
|
||||
inspectionSheetId: this.inspectionSheetId,
|
||||
sampleNumber: sampleNum,
|
||||
transationId: "",
|
||||
workingProcedureName: this.workingProcedureName
|
||||
? this.workingProcedureName
|
||||
: item.workingProcedureName,
|
||||
};
|
||||
if (item.type === 1) {
|
||||
obj1.argName = item.name;
|
||||
@ -200,13 +212,13 @@ export default {
|
||||
obj1.argName = item.name;
|
||||
obj1.argValue = 1;
|
||||
}
|
||||
obj.events.push(obj1);
|
||||
obj.sampleParamList.push(obj1);
|
||||
});
|
||||
// obj.jsonData = JSON.stringify(obj.jsonData);
|
||||
arr.push(obj);
|
||||
}
|
||||
this.$http
|
||||
.post("/processInspection/inspectionSheet/saveFluxParamList2", arr)
|
||||
.post("/processInspection/inspectionSheet/saveFluxParamList3", arr)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
@ -220,28 +232,28 @@ export default {
|
||||
Submit() {
|
||||
let arr = JSON.parse(JSON.stringify(this.dataList.slice(7)));
|
||||
arr.forEach((item) => {
|
||||
(item.workingProcedureName = this.workingProcedureName),
|
||||
(item.sampleTime = new Date(item.sampleTime));
|
||||
item.events=[]
|
||||
(item.workingProcedureName = this.workingProcedureName), (item.sampleParamList = []);
|
||||
this.featuresList.forEach((item1) => {
|
||||
let obj1 = {
|
||||
time: new Date(item.sampleTime),
|
||||
inspectionSheetId: this.inspectionSheetId,
|
||||
sampleNumber: item.sampleNumber,
|
||||
transationId: "",
|
||||
workingProcedureName: this.workingProcedureName
|
||||
? this.workingProcedureName
|
||||
: item1.workingProcedureName,
|
||||
};
|
||||
obj1.argName = item1.name;
|
||||
obj1.argValue = item[item1.name];
|
||||
item.events.push(obj1);
|
||||
item.sampleParamList.push(obj1);
|
||||
});
|
||||
});
|
||||
this.$http
|
||||
.post("/processInspection/inspectionSheet/saveFluxParamList2", arr)
|
||||
.post("/processInspection/inspectionSheet/saveFluxParamList3", arr)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.init();
|
||||
this.$nextTick(() => {
|
||||
this.$emit("refreshDataForm", this.inspectionSheetId);
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
@ -272,3 +284,12 @@ export default {
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.redFont >>> .el-input__inner {
|
||||
color: red;
|
||||
}
|
||||
.redbg >>> .el-checkbox__inner {
|
||||
background: red;
|
||||
}
|
||||
</style>
|
||||
|
@ -2,7 +2,7 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2021-11-18 14:16:25
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-12-09 08:59:32
|
||||
* @LastEditTime: 2022-12-28 09:45:02
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -71,8 +71,9 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
init() {
|
||||
this.dataList.splice(0,this.dataList.length)
|
||||
this.featuresList.forEach((item) => {
|
||||
item.workingProcedureName = this.workingProcedureName;
|
||||
item.workingProcedureName = this.workingProcedureName?this.workingProcedureName:item.workingProcedureName
|
||||
});
|
||||
this.dataList = JSON.parse(JSON.stringify(this.featuresList));
|
||||
this.dataListLoading = false;
|
||||
|
@ -2,7 +2,7 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2021-11-18 14:16:25
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-12-12 11:32:04
|
||||
* @LastEditTime: 2022-12-28 09:25:04
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -304,7 +304,7 @@ export default {
|
||||
dataRule: {
|
||||
productId: [{ required: true, message: "产品不能为空", trigger: "change" }],
|
||||
inspectionStage: [{ required: true, message: "检验阶段不能为空", trigger: "change" }],
|
||||
workingProcedureId: [{ required: true, message: "工序不能为空", trigger: "change" }],
|
||||
//workingProcedureId: [{ required: true, message: "工序不能为空", trigger: "change" }],
|
||||
},
|
||||
};
|
||||
},
|
||||
@ -343,7 +343,7 @@ export default {
|
||||
if (this.dataForm.id) {
|
||||
this.workingProcedureName = this.optionArr.arr4.find((item) => {
|
||||
return item.workingProcedureId === this.dataForm.workingProcedureId;
|
||||
}).workingProcedureName;
|
||||
})?.workingProcedureName;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.detailTable.init();
|
||||
});
|
||||
@ -358,20 +358,29 @@ export default {
|
||||
},
|
||||
setDataForm() {
|
||||
this.detailLoading = true;
|
||||
const obj = {
|
||||
inspectionStage: this.dataForm.inspectionStage,
|
||||
productId: this.dataForm.productId,
|
||||
workingProcedureId: this.dataForm.workingProcedureId,
|
||||
};
|
||||
|
||||
this.$http
|
||||
.post("/processInspection/inspectionSheet/getInspectionSheetFeaturesList", obj)
|
||||
.post(
|
||||
`/processInspection/inspectionSheet/getInspectionSheetFeaturesList?productId=${
|
||||
this.dataForm.productId
|
||||
}${
|
||||
this.dataForm.inspectionStage ? "&inspectionStage=" + this.dataForm.inspectionStage : ""
|
||||
}${
|
||||
this.dataForm.workingProcedureId
|
||||
? "&workingProcedureId=" + this.dataForm.workingProcedureId
|
||||
: ""
|
||||
}`
|
||||
)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
this.featuresList = [];
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.featuresList = res.data;
|
||||
if (this.featuresTableVisible) {
|
||||
this.$nextTick(() => {
|
||||
this.$refs.featuresTable.init();
|
||||
});
|
||||
}
|
||||
})
|
||||
.catch(() => {});
|
||||
this.dataForm.inspectionStage = String(this.dataForm.inspectionStage);
|
||||
|
123
src/views/process-inspection/components/interpretationScheme.vue
Normal file
123
src/views/process-inspection/components/interpretationScheme.vue
Normal file
@ -0,0 +1,123 @@
|
||||
<!--
|
||||
* @Author: zwq
|
||||
* @Date: 2021-11-18 14:16:25
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-12-16 09:28:44
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-dialog title="选择分析判读方案" :visible.sync="visible">
|
||||
<el-checkbox-group v-model="checkList">
|
||||
<el-checkbox
|
||||
style="width:100%;font-size:20px;margin:8px 5px"
|
||||
v-for="(item,index) in ruleArr"
|
||||
:key="item.number"
|
||||
:label="index"
|
||||
>{{ item.ruleKey.split("x")[0] }}
|
||||
<el-input
|
||||
v-show="item.ruleKey.split('x').length >= 2"
|
||||
v-model="item.arg1"
|
||||
style="width:60px"
|
||||
></el-input>
|
||||
{{ item.ruleKey.split("x")[1] }}
|
||||
<el-input
|
||||
v-show="item.ruleKey.split('x').length >= 3"
|
||||
v-model="item.arg2"
|
||||
style="width:60px"
|
||||
></el-input>
|
||||
{{ item.ruleKey.split("x")[2] }}
|
||||
</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="visible = false">取消</el-button>
|
||||
<el-button type="primary" @click="dataFormSubmit()">确定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
checkList: [],
|
||||
ruleArr: [
|
||||
{
|
||||
number: 1,
|
||||
ruleKey: "规则一:有1点落在三倍标准差以外",
|
||||
arg1: null,
|
||||
arg2: null,
|
||||
},
|
||||
{
|
||||
number: 2,
|
||||
ruleKey: "规则二:连续x点落在管制中心线同一侧",
|
||||
arg1: 6,
|
||||
arg2: null,
|
||||
},
|
||||
{
|
||||
number: 3,
|
||||
ruleKey: "规则三:连续x点持续上升或下降",
|
||||
arg1: 6,
|
||||
arg2: null,
|
||||
},
|
||||
{
|
||||
number: 4,
|
||||
ruleKey: "规则四:连续x点交替上下跳动",
|
||||
arg1: 14,
|
||||
arg2: null,
|
||||
},
|
||||
{
|
||||
number: 5,
|
||||
ruleKey: "规则五:连续x点中有x点落在中心线同侧两倍标准差以外",
|
||||
arg1: 3,
|
||||
arg2: 2,
|
||||
},
|
||||
{
|
||||
number: 6,
|
||||
ruleKey: "规则六:连续x点中有x点落在中心线同侧一倍标准差以外",
|
||||
arg1: 5,
|
||||
arg2: 4,
|
||||
},
|
||||
{
|
||||
number: 7,
|
||||
ruleKey: "规则七:连续x点落在中心线两侧的一倍标准差以内",
|
||||
arg1: 15,
|
||||
arg2: null,
|
||||
},
|
||||
{
|
||||
number: 8,
|
||||
ruleKey: "规则八:连续x点落在中心线两侧但未在一倍标准差以内",
|
||||
arg1: 8,
|
||||
arg2: null,
|
||||
},
|
||||
{
|
||||
number: 9,
|
||||
ruleKey: "规则九:落在规格线以外",
|
||||
arg1: null,
|
||||
arg2: null,
|
||||
},
|
||||
{
|
||||
number: 10,
|
||||
ruleKey: "规则十:CPK小于目标值",
|
||||
arg1: null,
|
||||
arg2: null,
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
|
||||
methods: {
|
||||
init() {
|
||||
this.visible = true;
|
||||
},
|
||||
dataFormSubmit(){
|
||||
let interpretationScheme = []
|
||||
this.checkList.forEach(item=>{
|
||||
interpretationScheme.push(this.ruleArr[item])
|
||||
})
|
||||
this.visible = false;
|
||||
this.$emit('setScheme',interpretationScheme)
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
@ -2,153 +2,179 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2022-09-15 10:44:29
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-12-12 16:42:27
|
||||
* @LastEditTime: 2023-01-06 15:21:11
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-row :gutter="6" style="background-color:#e6f7ff;margin:-20px;padding-top:10px;margin-bottom:0">
|
||||
<el-form ref="dataForm" :model="dataForm" :rules="rules" size="small" label-width="80px">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="检验时间" prop="field101">
|
||||
<el-date-picker
|
||||
type="daterange"
|
||||
v-model="dataForm.field101"
|
||||
format="yyyy-MM-dd"
|
||||
value-format="yyyy-MM-dd"
|
||||
:style="{ width: '100%' }"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
range-separator="-"
|
||||
clearable
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6" v-if="false">
|
||||
<el-form-item label="工厂" prop="field102">
|
||||
<el-select
|
||||
v-model="dataForm.field102"
|
||||
placeholder="请选择工厂"
|
||||
filterable
|
||||
clearable
|
||||
:style="{ width: '100%' }"
|
||||
>
|
||||
<el-option
|
||||
v-for="(item, index) in field102Options"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
:disabled="item.disabled"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="检验类型" prop="field103">
|
||||
<el-select
|
||||
v-model="dataForm.field103"
|
||||
placeholder="请选择检验类型"
|
||||
filterable
|
||||
clearable
|
||||
:style="{ width: '100%' }"
|
||||
>
|
||||
<el-option
|
||||
v-for="(item, index) in field103Options"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
:disabled="item.disabled"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="产品" prop="productId">
|
||||
<el-select
|
||||
v-model="dataForm.productId"
|
||||
placeholder="请选择产品"
|
||||
filterable
|
||||
clearable
|
||||
:style="{ width: '100%' }"
|
||||
>
|
||||
<el-option
|
||||
v-for="(item, index) in optionArr.arr0"
|
||||
<div>
|
||||
<el-row
|
||||
:gutter="6"
|
||||
style="background-color:#e6f7ff;margin:-20px;padding-top:10px;margin-bottom:0"
|
||||
>
|
||||
<el-form ref="dataForm" :model="dataForm" :rules="rules" size="small" label-width="80px">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="检验时间" prop="time">
|
||||
<el-date-picker
|
||||
type="daterange"
|
||||
v-model="dataForm.time"
|
||||
format="yyyy-MM-dd"
|
||||
:style="{ width: '100%' }"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
range-separator="-"
|
||||
clearable
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6" v-if="false">
|
||||
<el-form-item label="工厂" prop="field102">
|
||||
<el-select
|
||||
v-model="dataForm.field102"
|
||||
placeholder="请选择工厂"
|
||||
filterable
|
||||
clearable
|
||||
:style="{ width: '100%' }"
|
||||
>
|
||||
<el-option
|
||||
v-for="(item, index) in field102Options"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
:disabled="item.disabled"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="产品" prop="productId">
|
||||
<el-select
|
||||
v-model="dataForm.productId"
|
||||
placeholder="请选择产品"
|
||||
@change="getWorkingprocedureByProductId"
|
||||
filterable
|
||||
clearable
|
||||
:style="{ width: '100%' }"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in optionArr.arr0"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
:disabled="item.disabled"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="检验类型" prop="inspectionStage">
|
||||
<el-select
|
||||
v-model="dataForm.inspectionStage"
|
||||
@change="getFeaturesList()"
|
||||
placeholder="请选择检验类型"
|
||||
filterable
|
||||
clearable
|
||||
:style="{ width: '100%' }"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in inspectionStageArr"
|
||||
:key="item.name"
|
||||
:label="item.name"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="工序" prop="workingProcedureId">
|
||||
<el-select
|
||||
v-model="dataForm.workingProcedureId"
|
||||
@change="$forceUpdate(), getFeaturesList()"
|
||||
placeholder="请选择工序"
|
||||
filterable
|
||||
clearable
|
||||
:style="{ width: '100%' }"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in optionArr.arr4"
|
||||
:key="item.workingProcedureId"
|
||||
:label="item.workingProcedureName"
|
||||
:value="item.workingProcedureId"
|
||||
:disabled="item.disabled"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="特性" prop="productFeaturesId">
|
||||
<el-select
|
||||
v-model="dataForm.productFeaturesId"
|
||||
placeholder="请选择特性"
|
||||
filterable
|
||||
clearable
|
||||
:style="{ width: '100%' }"
|
||||
>
|
||||
<el-option
|
||||
v-for="(item, index) in optionArr.arr2"
|
||||
:key="index"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
:disabled="item.disabled"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="工艺流程" prop="field105">
|
||||
<el-select
|
||||
v-model="dataForm.field105"
|
||||
placeholder="请选择工艺流程"
|
||||
filterable
|
||||
clearable
|
||||
:style="{ width: '100%' }"
|
||||
>
|
||||
<el-option
|
||||
v-for="(item, index) in optionArr.arr1"
|
||||
:key="index"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
:disabled="item.disabled"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="特性" prop="field106">
|
||||
<el-select
|
||||
v-model="dataForm.field106"
|
||||
placeholder="请选择特性"
|
||||
filterable
|
||||
clearable
|
||||
:style="{ width: '100%' }"
|
||||
>
|
||||
<el-option
|
||||
v-for="(item, index) in optionArr.arr2"
|
||||
:key="index"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
:disabled="item.disabled"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="样本大小" prop="field111">
|
||||
<el-input-number
|
||||
v-model="dataForm.field111"
|
||||
placeholder="样本大小"
|
||||
:step="1"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item>
|
||||
<el-button size="small" @click="getDataList()">
|
||||
<svg class="icon-svg"><use xlink:href="#icon-sousuo"></use></svg>
|
||||
查询
|
||||
</el-button>
|
||||
<el-button size="small" type="primary" @click="rawData()">
|
||||
<svg class="icon-svg"><use xlink:href="#历史记录"></use></svg>
|
||||
原始数据
|
||||
</el-button>
|
||||
<el-button size="small" type="primary" @click="exportHandle()">
|
||||
<svg class="icon-svg">
|
||||
<use xlink:href="#导出"></use>
|
||||
</svg>
|
||||
导出
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-form>
|
||||
</el-row>
|
||||
:disabled="item.disabled"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6" v-if="!groupTypeShow">
|
||||
<el-form-item label="样本大小" prop="sampleSize">
|
||||
<el-input-number
|
||||
v-model="dataForm.sampleSize"
|
||||
placeholder="样本大小"
|
||||
:step="1"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6" v-if="groupTypeShow">
|
||||
<el-form-item label="分组" prop="groupType">
|
||||
<el-radio-group v-model="dataForm.groupType">
|
||||
<el-radio :label="1">年</el-radio>
|
||||
<el-radio :label="2">月</el-radio>
|
||||
<el-radio :label="3">日</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="groupTypeShow ? 6 : 12">
|
||||
<el-form-item>
|
||||
<el-button size="small" @click="getDataList()">
|
||||
<svg class="icon-svg"><use xlink:href="#icon-sousuo"></use></svg>
|
||||
查询
|
||||
</el-button>
|
||||
<el-button size="small" type="primary" @click="rawData()">
|
||||
<svg class="icon-svg"><use xlink:href="#历史记录"></use></svg>
|
||||
原始数据
|
||||
</el-button>
|
||||
<el-button size="small" type="primary" @click="exportHandle()">
|
||||
<svg class="icon-svg">
|
||||
<use xlink:href="#导出"></use>
|
||||
</svg>
|
||||
导出
|
||||
</el-button>
|
||||
<el-button v-if="!groupTypeShow" size="small" type="primary" @click="showScheme()">
|
||||
<svg class="icon-svg"><use xlink:href="#方案管理"></use></svg>
|
||||
配置分析方案
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-form>
|
||||
</el-row>
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<interpretationScheme
|
||||
v-if="SchemeVisible"
|
||||
ref="Scheme"
|
||||
@setScheme="setScheme"
|
||||
></interpretationScheme>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import interpretationScheme from "./components/interpretationScheme";
|
||||
export default {
|
||||
props: {
|
||||
pageName: {
|
||||
@ -163,13 +189,19 @@ export default {
|
||||
return {};
|
||||
},
|
||||
},
|
||||
groupTypeShow: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
},
|
||||
components: {
|
||||
interpretationScheme,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
optionArrUrl: [
|
||||
"/basic/product/page",
|
||||
"/basic/workingProcedure/page",
|
||||
],
|
||||
SchemeVisible: false,
|
||||
inspectionStageArr: [],
|
||||
optionArrUrl: ["/basic/product/page"],
|
||||
optionArr: {},
|
||||
rules: {
|
||||
productId: [
|
||||
@ -179,38 +211,62 @@ export default {
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
field106: [
|
||||
productFeaturesId: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择特性",
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
time: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择检验时间",
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
},
|
||||
field103Options: [
|
||||
{
|
||||
label: "进货检验",
|
||||
value: 1,
|
||||
},
|
||||
{
|
||||
label: "过程检验",
|
||||
value: 2,
|
||||
},
|
||||
{
|
||||
label: "成品检验",
|
||||
value: 3,
|
||||
},
|
||||
{
|
||||
label: "出货检验",
|
||||
value: 4,
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
created(){
|
||||
},
|
||||
created() {},
|
||||
methods: {
|
||||
getArr(){
|
||||
getWorkingprocedureByProductId(val) {
|
||||
this.dataForm.inspectionStage = "";
|
||||
this.dataForm.workingProcedureId = "";
|
||||
this.getWorkingprocedureArr(val);
|
||||
this.getFeaturesList();
|
||||
},
|
||||
getWorkingprocedureArr(val) {
|
||||
if (val) {
|
||||
const obj = this.optionArr.arr0.find((item) => {
|
||||
return item.id === val;
|
||||
});
|
||||
const obj1 = { 1: "进货检验", 2: "过程检验", 3: "成品检验", 4: "出货检验" };
|
||||
const inspectionStage = obj.inspectionStage.split(",");
|
||||
this.inspectionStageArr = [];
|
||||
inspectionStage.forEach((item) => {
|
||||
this.inspectionStageArr.push({
|
||||
value: item,
|
||||
name: obj1[item],
|
||||
});
|
||||
});
|
||||
|
||||
this.$http
|
||||
.get(`/basic/productWorkingprocedureRelation/getWorkingprocedureByProductId/${val}`)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.$set(this.optionArr, "arr4", res.data);
|
||||
})
|
||||
.catch(() => {});
|
||||
} else {
|
||||
this.inspectionStageArr = [];
|
||||
this.$set(this.optionArr, "arr2", []);
|
||||
this.$set(this.optionArr, "arr4", []);
|
||||
}
|
||||
},
|
||||
getArr() {
|
||||
this.optionArrUrl.forEach((item, index) => {
|
||||
this.$http
|
||||
.get(item, {
|
||||
@ -221,26 +277,53 @@ export default {
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
this.$set(this.optionArr, `arr${index}`, []);
|
||||
this.$set(this.optionArr, `arr${index}`, []);
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.$set(this.optionArr, `arr${index}`, res.data.list);
|
||||
})
|
||||
.catch(() => {});
|
||||
});
|
||||
},
|
||||
getFeaturesList() {
|
||||
this.$set(this.dataForm, 'productFeaturesId', '')
|
||||
this.$http
|
||||
.post("/processInspection/inspectionSheet/getInspectionSheetFeaturesList")
|
||||
.post(
|
||||
`/processInspection/inspectionSheet/getInspectionSheetFeaturesList?productId=${
|
||||
this.dataForm.productId
|
||||
}${
|
||||
this.dataForm.inspectionStage ? "&inspectionStage=" + this.dataForm.inspectionStage : ""
|
||||
}${
|
||||
this.dataForm.workingProcedureId
|
||||
? "&workingProcedureId=" + this.dataForm.workingProcedureId
|
||||
: ""
|
||||
}`
|
||||
)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
this.$set(this.optionArr, 'arr2', []);
|
||||
this.$set(this.optionArr, "arr2", []);
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.$set(this.optionArr, 'arr2', res.data);
|
||||
this.$set(this.optionArr, "arr2", res.data);
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
},
|
||||
getDataList() {
|
||||
this.$emit("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.$emit("getDataList");
|
||||
},
|
||||
showScheme() {
|
||||
this.SchemeVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.Scheme.init();
|
||||
});
|
||||
},
|
||||
setScheme(interpretationScheme) {
|
||||
this.dataForm.interpretationScheme = interpretationScheme;
|
||||
},
|
||||
rawData() {
|
||||
this.$emit("rawData");
|
||||
|
@ -2,13 +2,14 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2021-11-18 14:16:25
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-08-24 16:10:47
|
||||
* @LastEditTime: 2023-01-03 11:35:26
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-dialog title="绑定机台" :visible.sync="visible">
|
||||
<el-transfer
|
||||
v-model="machineArr"
|
||||
:titles="['总机台列表', '绑定机台列表']"
|
||||
:props="{
|
||||
key: 'id',
|
||||
label: 'name',
|
||||
@ -38,6 +39,8 @@ export default {
|
||||
setDataForm() {
|
||||
if (this.dataForm.machineId) {
|
||||
this.machineArr = this.dataForm.machineId.split(",");
|
||||
}else{
|
||||
this.machineArr = []
|
||||
}
|
||||
},
|
||||
init(id) {
|
||||
@ -60,6 +63,7 @@ export default {
|
||||
});
|
||||
},
|
||||
getArr() {
|
||||
this.platArr.splice(0,this.platArr.length)
|
||||
this.$http
|
||||
.get("/basic/machine/page", {
|
||||
params: {
|
||||
|
@ -2,7 +2,7 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2022-09-01 15:42:34
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-12-12 15:44:25
|
||||
* @LastEditTime: 2023-01-06 15:29:29
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -12,15 +12,39 @@
|
||||
<div slot="header" style="color:#409eff;text-align:center">
|
||||
工序列表
|
||||
</div>
|
||||
<div
|
||||
v-for="(item, index) in processArr"
|
||||
:key="index"
|
||||
class="btn"
|
||||
:title="item.name"
|
||||
@mousedown="startDrag(item, $event)"
|
||||
>
|
||||
{{ item.name }}
|
||||
</div>
|
||||
<el-collapse v-model="activeName" @change="processTypeClick" accordion>
|
||||
<el-collapse-item
|
||||
v-for="(item, index) in processTypeArr"
|
||||
:key="index"
|
||||
:title="item.name"
|
||||
:name="index"
|
||||
>
|
||||
<div
|
||||
v-loading="loading"
|
||||
element-loading-text="拼命加载中"
|
||||
element-loading-spinner="el-icon-loading"
|
||||
element-loading-background="rgba(0, 0, 0, 0.8)"
|
||||
>
|
||||
<div v-if="processArr.length > 0">
|
||||
<div
|
||||
v-for="(item, index) in processArr"
|
||||
:key="index"
|
||||
class="btn"
|
||||
:title="item.name"
|
||||
@mousedown="startDrag(item, $event)"
|
||||
>
|
||||
{{ item.name }}
|
||||
</div>
|
||||
</div>
|
||||
<el-empty
|
||||
v-else
|
||||
:image-size="50"
|
||||
description="此类型下无工序"
|
||||
style="padding:0;"
|
||||
></el-empty>
|
||||
</div>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</el-card>
|
||||
</el-col>
|
||||
<el-col :span="21">
|
||||
@ -189,10 +213,13 @@ export default {
|
||||
return {
|
||||
dataList: [],
|
||||
processArr: [],
|
||||
processTypeArr: [],
|
||||
activeName: "",
|
||||
processId: "",
|
||||
graph: "",
|
||||
type: "grid",
|
||||
selectCell: "",
|
||||
loading: false,
|
||||
editDrawer: false,
|
||||
editTitle: "",
|
||||
form: {},
|
||||
@ -321,7 +348,7 @@ export default {
|
||||
},
|
||||
getArr() {
|
||||
this.$http
|
||||
.get("/basic/workingProcedure/page", {
|
||||
.get("/basic/workingProcedureType/page", {
|
||||
params: {
|
||||
page: 1,
|
||||
limit: 500,
|
||||
@ -331,7 +358,7 @@ export default {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.processArr = res.data.list;
|
||||
this.processTypeArr = res.data.list;
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
@ -351,6 +378,20 @@ export default {
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
//点击工序类型
|
||||
processTypeClick(val) {
|
||||
this.processArr = [];
|
||||
if (val === 0 || val) {
|
||||
this.loading = true;
|
||||
this.$http
|
||||
.post(`/basic/workingProcedure/listByType/${this.processTypeArr[val].id}`)
|
||||
.then(({ data: res }) => {
|
||||
this.loading = false;
|
||||
this.processArr = res;
|
||||
})
|
||||
.catch(() => {});
|
||||
}
|
||||
},
|
||||
setNode() {
|
||||
let nodes = [];
|
||||
this.dataList.forEach((item) => {
|
||||
@ -672,7 +713,9 @@ export default {
|
||||
},
|
||||
},
|
||||
beforeDestroy() {
|
||||
this.graph.dispose();
|
||||
if (this.graph) {
|
||||
this.graph.dispose();
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
@ -688,7 +731,7 @@ export default {
|
||||
.btn {
|
||||
background-color: #5bdeff;
|
||||
text-align: center;
|
||||
padding: 20px;
|
||||
padding: 10px;
|
||||
color: white;
|
||||
cursor: move;
|
||||
margin-bottom: 10px;
|
||||
|
@ -2,7 +2,7 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2021-11-18 14:16:25
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-09-07 15:45:24
|
||||
* @LastEditTime: 2023-01-06 15:25:05
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -14,7 +14,7 @@
|
||||
>
|
||||
<el-card class="box-card">
|
||||
<div slot="header" class="clearfix">
|
||||
<el-steps :active="active" align-center finish-status="success">
|
||||
<el-steps :active="active" align-center finish-status="success" process-status="finish">
|
||||
<el-step title="基础信息"></el-step>
|
||||
<el-step title="工艺流程"></el-step>
|
||||
<el-step title="产品特性"></el-step>
|
||||
|
@ -2,7 +2,7 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2021-11-18 14:16:25
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-09-07 10:49:27
|
||||
* @LastEditTime: 2023-01-06 14:16:17
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -80,12 +80,26 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="SPC" prop="isSpc">
|
||||
<el-input v-model="fourDataForm.isSpc" placeholder="SPC"></el-input>
|
||||
<el-select
|
||||
v-model="fourDataForm.isSpc"
|
||||
:style="{ width: '100%' }"
|
||||
readonly
|
||||
placeholder="请选择是否SPC"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in SPCArr"
|
||||
:key="item.value"
|
||||
:label="item.name"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="分析图形" prop="controlGraphId">
|
||||
<el-select
|
||||
:disabled="fourDataForm.type === 2"
|
||||
v-model="fourDataForm.controlGraphId"
|
||||
placeholder="请选择分析图形"
|
||||
clearable
|
||||
@ -103,6 +117,7 @@
|
||||
<el-col :span="8">
|
||||
<el-form-item label="样本大小" prop="sampleSize">
|
||||
<el-input-number
|
||||
:disabled="fourDataForm.type === 2"
|
||||
v-model="fourDataForm.sampleSize"
|
||||
placeholder="样本大小"
|
||||
></el-input-number>
|
||||
@ -133,6 +148,7 @@
|
||||
<el-col :span="8">
|
||||
<el-form-item label="小数位数" prop="decimalPlaces">
|
||||
<el-input-number
|
||||
:disabled="fourDataForm.type === 2"
|
||||
v-model="fourDataForm.decimalPlaces"
|
||||
placeholder="小数位数"
|
||||
></el-input-number>
|
||||
@ -145,22 +161,35 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="LSL" prop="lsl">
|
||||
<el-input-number v-model="fourDataForm.lsl" placeholder="LSL"></el-input-number>
|
||||
<el-input-number
|
||||
:disabled="fourDataForm.type === 2"
|
||||
v-model="fourDataForm.lsl"
|
||||
placeholder="LSL"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="SL" prop="sl">
|
||||
<el-input-number v-model="fourDataForm.sl" placeholder="SL"></el-input-number>
|
||||
<el-input-number
|
||||
:disabled="fourDataForm.type === 2"
|
||||
v-model="fourDataForm.sl"
|
||||
placeholder="SL"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="USL" prop="usl">
|
||||
<el-input-number v-model="fourDataForm.usl" placeholder="USL"></el-input-number>
|
||||
<el-input-number
|
||||
:disabled="fourDataForm.type === 2"
|
||||
v-model="fourDataForm.usl"
|
||||
placeholder="USL"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="目标CPK" prop="targetCpk">
|
||||
<el-input-number
|
||||
:disabled="fourDataForm.type === 2"
|
||||
v-model="fourDataForm.targetCpk"
|
||||
placeholder="目标CPK"
|
||||
></el-input-number>
|
||||
@ -169,6 +198,7 @@
|
||||
<el-col :span="8">
|
||||
<el-form-item label="目标PPK" prop="targetPpk">
|
||||
<el-input-number
|
||||
:disabled="fourDataForm.type === 2"
|
||||
v-model="fourDataForm.targetPpk"
|
||||
placeholder="目标PPK"
|
||||
></el-input-number>
|
||||
@ -225,6 +255,16 @@ export default {
|
||||
value: 1,
|
||||
},
|
||||
],
|
||||
SPCArr: [
|
||||
{
|
||||
name: "否",
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
name: "是",
|
||||
value: 1,
|
||||
},
|
||||
],
|
||||
defectLevelArr: [
|
||||
{
|
||||
name: "致命缺陷",
|
||||
@ -245,6 +285,10 @@ export default {
|
||||
dataRule: {
|
||||
code: [{ required: true, message: "编码不能为空", trigger: "blur" }],
|
||||
name: [{ required: true, message: "名称不能为空", trigger: "blur" }],
|
||||
sampleSize: [
|
||||
{ required: true, message: "样本大小不能为空", trigger: "blur" },
|
||||
{ pattern: /^([2-9]|[1-2]d|3[0-5])$/, message: "范围在2-35", trigger: "blur" },
|
||||
],
|
||||
},
|
||||
};
|
||||
},
|
||||
|
@ -2,14 +2,20 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2021-11-18 14:16:25
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-12-13 16:00:33
|
||||
* @LastEditTime: 2023-01-03 14:06:12
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<div>
|
||||
<div v-if="workingProcedure.length && productFeaturesOptions.length">
|
||||
<el-tabs @tab-click="tabClick">
|
||||
<el-tab-pane label="控制矩阵">
|
||||
<el-tab-pane
|
||||
v-loading="loading"
|
||||
element-loading-text="保存中"
|
||||
element-loading-spinner="el-icon-loading"
|
||||
element-loading-background="rgba(0, 0, 0, 0.8)"
|
||||
label="控制矩阵"
|
||||
>
|
||||
<el-button style="float:right" size="small" type="primary" @click="deleteFeatures()">
|
||||
<svg class="icon-svg"><use xlink:href="#icon-新建"></use></svg>
|
||||
保存
|
||||
@ -81,9 +87,17 @@
|
||||
<span>{{ scope.row.isSpc === 1 ? "是" : "否" }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="controlGraphName" align="center" label="分析图形"></el-table-column>
|
||||
<el-table-column
|
||||
prop="controlGraphName"
|
||||
align="center"
|
||||
label="分析图形"
|
||||
></el-table-column>
|
||||
<el-table-column prop="sampleSize" align="center" label="样本大小"></el-table-column>
|
||||
<el-table-column prop="samplingFrequency" align="center" label="抽样频率"></el-table-column>
|
||||
<el-table-column
|
||||
prop="samplingFrequency"
|
||||
align="center"
|
||||
label="抽样频率"
|
||||
></el-table-column>
|
||||
<el-table-column prop="unitName" align="center" label="单位"></el-table-column>
|
||||
<el-table-column prop="decimalPlaces" align="center" label="小数位数"></el-table-column>
|
||||
<el-table-column prop="specifications" align="center" label="规格"></el-table-column>
|
||||
@ -130,10 +144,7 @@
|
||||
ref="fourAddOrUpdate"
|
||||
@refreshFourDataList="getFourDataList"
|
||||
></four-add-or-update>
|
||||
<four-history
|
||||
v-if="productFeaturesHisVisible"
|
||||
ref="productFeaturesHisRef"
|
||||
></four-history>
|
||||
<four-history v-if="productFeaturesHisVisible" ref="productFeaturesHisRef"></four-history>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -166,7 +177,8 @@ export default {
|
||||
setBatchInsert: [],
|
||||
inspectionStage: 0,
|
||||
dataListLoading: false,
|
||||
productFeaturesHisVisible:false,
|
||||
loading: false,
|
||||
productFeaturesHisVisible: false,
|
||||
};
|
||||
},
|
||||
components: {
|
||||
@ -176,6 +188,7 @@ export default {
|
||||
methods: {
|
||||
init(index) {
|
||||
this.dataListLoading = false;
|
||||
this.loading = false;
|
||||
this.inspectionStage = parseInt(index);
|
||||
this.productFeaturesList.splice(0, this.productFeaturesList.length);
|
||||
this.$nextTick(() => {
|
||||
@ -229,9 +242,12 @@ export default {
|
||||
});
|
||||
},
|
||||
deleteFeatures() {
|
||||
this.loading = true;
|
||||
this.workingProcedure.forEach((item, index) => {
|
||||
this.$http
|
||||
.delete(`/basic/featuresStageProcedureRelation/deleteByStageProcedure?inspectionStage=${this.inspectionStage}&productId=${this.productId}&workingProcedureId=${item.workingProcedureId}`)
|
||||
.delete(
|
||||
`/basic/featuresStageProcedureRelation/deleteByStageProcedure?inspectionStage=${this.inspectionStage}&productId=${this.productId}&workingProcedureId=${item.workingProcedureId}`
|
||||
)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
@ -247,6 +263,7 @@ export default {
|
||||
this.$http
|
||||
.post("/basic/featuresStageProcedureRelation/batchInsert", [...this.setBatchInsert])
|
||||
.then(({ data: res }) => {
|
||||
this.loading = false;
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
@ -289,11 +306,11 @@ export default {
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
productFeaturesHis(id){
|
||||
this.productFeaturesHisVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.productFeaturesHisRef.init(id);
|
||||
});
|
||||
productFeaturesHis(id) {
|
||||
this.productFeaturesHisVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.productFeaturesHisRef.init(id);
|
||||
});
|
||||
},
|
||||
// 表单提交
|
||||
dataFormSubmit() {},
|
||||
|
불러오는 중...
Reference in New Issue
Block a user