Compare commits
No commits in common. "a17d25893463c89464076004366ee67e06fb8a05" and "ab30435246c34826a463e7d51d3886bde43cabc7" have entirely different histories.
a17d258934
...
ab30435246
@ -1,8 +1,8 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2022-08-22 14:57:50
|
* @Date: 2022-08-22 14:57:50
|
||||||
* @LastEditors: DY
|
* @LastEditors: zhp
|
||||||
* @LastEditTime: 2023-07-21 16:45:57
|
* @LastEditTime: 2023-07-18 08:46:34
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
|
Before Width: | Height: | Size: 1.3 KiB |
@ -599,19 +599,13 @@ img {
|
|||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
& > .el-tabs__item {
|
& > .el-tabs__item {
|
||||||
|
height: $content--tabs-header-height;
|
||||||
border: 0;
|
border: 0;
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
margin: 6px 5px 6px 0px;
|
color: rgba(89, 89, 89, 1);
|
||||||
height: 24px;
|
|
||||||
font-size: 12px;
|
|
||||||
line-height: 24px;
|
|
||||||
border-radius: 5px;
|
|
||||||
background-color: rgba(239, 239, 239, 1);
|
|
||||||
&:focus,
|
&:focus,
|
||||||
&:hover,
|
&:hover,
|
||||||
&.is-active {
|
&.is-active {
|
||||||
color: rgba(255, 255, 255, 1);
|
|
||||||
background-color: rgba(62, 142, 247, 1);
|
|
||||||
&:after {
|
&:after {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
@ -636,7 +630,6 @@ img {
|
|||||||
line-height: 24px;
|
line-height: 24px;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
background-color: rgba(239, 239, 239, 1);
|
background-color: rgba(239, 239, 239, 1);
|
||||||
&:hover,
|
|
||||||
&.is-active {
|
&.is-active {
|
||||||
color: rgba(255, 255, 255, 1);
|
color: rgba(255, 255, 255, 1);
|
||||||
background-color: rgba(62, 142, 247, 1);
|
background-color: rgba(62, 142, 247, 1);
|
||||||
|
@ -575,7 +575,6 @@ t.gage.repeatabilityAndReproducibility = '重复性和再现性(R&R)'
|
|||||||
t.gage.partVariation = '零件变差(TV)'
|
t.gage.partVariation = '零件变差(TV)'
|
||||||
t.gage.decide = '综合判定'
|
t.gage.decide = '综合判定'
|
||||||
t.gage.tabularComputations = '表格计算'
|
t.gage.tabularComputations = '表格计算'
|
||||||
t.gage.tabularComputationsAdd = '表格计算新增'
|
|
||||||
t.gage.fabrication = '制作'
|
t.gage.fabrication = '制作'
|
||||||
|
|
||||||
|
|
||||||
@ -701,6 +700,7 @@ t.researchquality.registrationDate = '登记日期'
|
|||||||
t.researchquality.changeSource = '变更来源'
|
t.researchquality.changeSource = '变更来源'
|
||||||
t.researchquality.owner = '所有者'
|
t.researchquality.owner = '所有者'
|
||||||
t.researchquality.category = 'Category'
|
t.researchquality.category = 'Category'
|
||||||
|
t.researchquality.title = '标题'
|
||||||
t.researchquality.currentStage = '当前阶段'
|
t.researchquality.currentStage = '当前阶段'
|
||||||
t.researchquality.productName = '产品名称'
|
t.researchquality.productName = '产品名称'
|
||||||
t.researchquality.qualityChangeStatus = '状态'
|
t.researchquality.qualityChangeStatus = '状态'
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
||||||
<title>删除</title>
|
|
||||||
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" opacity="0.69689">
|
|
||||||
<g id="供应商评估_评估模版" transform="translate(-1241.000000, -403.000000)" fill-rule="nonzero">
|
|
||||||
<g id="删除" transform="translate(1241.000000, 403.000000)">
|
|
||||||
<rect id="矩形" opacity="0" x="0" y="0" width="40" height="40"></rect>
|
|
||||||
<path d="M25.5755088,1.28498542 C27.8552525,1.28498542 29.739258,3.1141321 29.8368374,5.37516257 L29.840807,5.5594082 L29.84046,6.86781876 L36.7102456,6.86802554 C37.3996072,6.86802554 37.8113884,7.26595838 38.0368575,7.91362769 L38.0794942,8.04644746 L38.1173248,8.18566341 L38.13,8.28889447 C38.13,9.06911419 37.5468225,9.64626258 36.8307452,9.70485377 L36.7102456,9.70976341 L35.16042,9.70934985 L35.1607368,33.8468114 C35.1607368,36.0667398 33.4366512,37.9141397 31.2664665,38.1049823 L31.079388,38.1172534 L30.8954386,38.1212342 L9.6157193,38.1212342 C7.3359756,38.1212342 5.45197012,36.2920875 5.3543907,34.0310571 L5.35042105,33.8468114 L5.35024,9.70934985 L3.42975439,9.70976341 C2.69477563,9.70976341 2.14173305,9.19187233 2.03050853,8.53418971 L2.01489493,8.40932835 L2.01,8.28889447 C2.01,7.50867476 2.59317752,6.93152637 3.30925482,6.87293518 L3.42975439,6.86802554 L9.92802,6.86781876 L9.92803509,5.5594082 C9.92803509,3.33947983 11.6521207,1.49207995 13.8223054,1.30123731 L14.0093839,1.28896619 L14.1933333,1.28498542 L25.5755088,1.28498542 Z M32.3207,9.70934985 L8.31122,9.70934985 L8.18992982,33.970879 C8.18992982,34.6086332 8.93553979,35.2156816 9.73635524,35.274792 L9.86315789,35.2794963 L31.1428772,35.2794963 C31.7547945,35.2794963 32.2675306,34.5542502 32.3172744,33.6232439 L32.3212281,33.4746088 L32.3207,9.70934985 Z M14.4407719,14.1880115 C15.1760909,14.1880115 15.5955852,14.6407706 15.8100205,15.3664334 L15.8478511,15.5056493 L15.8605263,15.6088804 L15.8605263,28.8841091 C15.8605263,29.7076744 15.2107514,30.3049781 14.4407719,30.3049781 C13.7113177,30.3049781 13.0897479,29.7688939 13.0263401,29.0122113 L13.0210175,28.8841091 L13.0210175,15.6088804 C13.0210175,14.7526239 13.5840451,14.1880115 14.4407719,14.1880115 Z M20.6267368,14.1880115 C21.3620559,14.1880115 21.7815501,14.6407706 21.9959854,15.3664334 L22.0338161,15.5056493 L22.0464912,15.6088804 L22.0464912,28.8841091 C22.0464912,29.7076744 21.3967163,30.3049781 20.6267368,30.3049781 C19.8972826,30.3049781 19.2757128,29.7688939 19.212305,29.0122113 L19.2069825,28.8841091 L19.2069825,15.6088804 C19.2069825,14.7526239 19.77001,14.1880115 20.6267368,14.1880115 Z M26.8127018,14.1880115 C27.5480208,14.1880115 27.967515,14.6407706 28.1819503,15.3664334 L28.219781,15.5056493 L28.2324561,15.6088804 L28.2324561,28.8841091 C28.2324561,29.7076744 27.5826812,30.3049781 26.8127018,30.3049781 C26.0832476,30.3049781 25.4616777,29.7688939 25.39827,29.0122113 L25.3929474,28.8841091 L25.3929474,15.6088804 C25.3929474,14.7526239 25.9559749,14.1880115 26.8127018,14.1880115 Z M25.6992281,4.1267233 L14.3170526,4.1267233 C13.6049877,4.1267233 12.9624425,4.73349464 12.8967786,5.44069788 L12.8912632,5.5594082 L12.89072,6.86781876 L27.12458,6.86781876 L27.1250175,5.5594082 C27.1250175,4.84260863 26.5199494,4.19811099 25.8171749,4.13225473 L25.6992281,4.1267233 Z" id="形状结合" fill="#000000"></path>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 3.5 KiB |
@ -1,12 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
||||||
<title>删除</title>
|
|
||||||
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
||||||
<g id="供应商评估_评估模版" transform="translate(-689.000000, -403.000000)" fill-rule="nonzero">
|
|
||||||
<g id="删除" transform="translate(689.000000, 403.000000)">
|
|
||||||
<rect id="矩形" opacity="0" x="0" y="0" width="40" height="40"></rect>
|
|
||||||
<path d="M25.5755088,1.28498542 C27.8552525,1.28498542 29.739258,3.1141321 29.8368374,5.37516257 L29.840807,5.5594082 L29.84046,6.86781876 L36.7102456,6.86802554 C37.3996072,6.86802554 37.8113884,7.26595838 38.0368575,7.91362769 L38.0794942,8.04644746 L38.1173248,8.18566341 L38.13,8.28889447 C38.13,9.06911419 37.5468225,9.64626258 36.8307452,9.70485377 L36.7102456,9.70976341 L35.16042,9.70934985 L35.1607368,33.8468114 C35.1607368,36.0667398 33.4366512,37.9141397 31.2664665,38.1049823 L31.079388,38.1172534 L30.8954386,38.1212342 L9.6157193,38.1212342 C7.3359756,38.1212342 5.45197012,36.2920875 5.3543907,34.0310571 L5.35042105,33.8468114 L5.35024,9.70934985 L3.42975439,9.70976341 C2.69477563,9.70976341 2.14173305,9.19187233 2.03050853,8.53418971 L2.01489493,8.40932835 L2.01,8.28889447 C2.01,7.50867476 2.59317752,6.93152637 3.30925482,6.87293518 L3.42975439,6.86802554 L9.92802,6.86781876 L9.92803509,5.5594082 C9.92803509,3.33947983 11.6521207,1.49207995 13.8223054,1.30123731 L14.0093839,1.28896619 L14.1933333,1.28498542 L25.5755088,1.28498542 Z M32.3207,9.70934985 L8.31122,9.70934985 L8.18992982,33.970879 C8.18992982,34.6086332 8.93553979,35.2156816 9.73635524,35.274792 L9.86315789,35.2794963 L31.1428772,35.2794963 C31.7547945,35.2794963 32.2675306,34.5542502 32.3172744,33.6232439 L32.3212281,33.4746088 L32.3207,9.70934985 Z M14.4407719,14.1880115 C15.1760909,14.1880115 15.5955852,14.6407706 15.8100205,15.3664334 L15.8478511,15.5056493 L15.8605263,15.6088804 L15.8605263,28.8841091 C15.8605263,29.7076744 15.2107514,30.3049781 14.4407719,30.3049781 C13.7113177,30.3049781 13.0897479,29.7688939 13.0263401,29.0122113 L13.0210175,28.8841091 L13.0210175,15.6088804 C13.0210175,14.7526239 13.5840451,14.1880115 14.4407719,14.1880115 Z M20.6267368,14.1880115 C21.3620559,14.1880115 21.7815501,14.6407706 21.9959854,15.3664334 L22.0338161,15.5056493 L22.0464912,15.6088804 L22.0464912,28.8841091 C22.0464912,29.7076744 21.3967163,30.3049781 20.6267368,30.3049781 C19.8972826,30.3049781 19.2757128,29.7688939 19.212305,29.0122113 L19.2069825,28.8841091 L19.2069825,15.6088804 C19.2069825,14.7526239 19.77001,14.1880115 20.6267368,14.1880115 Z M26.8127018,14.1880115 C27.5480208,14.1880115 27.967515,14.6407706 28.1819503,15.3664334 L28.219781,15.5056493 L28.2324561,15.6088804 L28.2324561,28.8841091 C28.2324561,29.7076744 27.5826812,30.3049781 26.8127018,30.3049781 C26.0832476,30.3049781 25.4616777,29.7688939 25.39827,29.0122113 L25.3929474,28.8841091 L25.3929474,15.6088804 C25.3929474,14.7526239 25.9559749,14.1880115 26.8127018,14.1880115 Z M25.6992281,4.1267233 L14.3170526,4.1267233 C13.6049877,4.1267233 12.9624425,4.73349464 12.8967786,5.44069788 L12.8912632,5.5594082 L12.89072,6.86781876 L27.12458,6.86781876 L27.1250175,5.5594082 C27.1250175,4.84260863 26.5199494,4.19811099 25.8171749,4.13225473 L25.6992281,4.1267233 Z" id="形状结合" fill="#FF2323"></path>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 3.4 KiB |
@ -1,17 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
||||||
<title>编辑</title>
|
|
||||||
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
||||||
<g id="供应商评估_评估模版" transform="translate(-513.000000, -404.000000)">
|
|
||||||
<g id="编组-2备份" transform="translate(512.000000, 404.000000)">
|
|
||||||
<g id="编辑" transform="translate(1.000000, 0.000000)">
|
|
||||||
<rect id="矩形" x="0" y="0" width="35.5555556" height="35.5555556"></rect>
|
|
||||||
<g id="常用购票人/编辑32" fill-rule="nonzero">
|
|
||||||
<rect id="矩形" fill="#000000" opacity="0" x="0" y="0" width="40" height="40"></rect>
|
|
||||||
<path d="M21.9461538,3.08333333 C22.4935031,3.08333333 22.9992746,3.37534065 23.2729492,3.84935897 C23.5466238,4.32337729 23.5466238,4.90739194 23.2729492,5.38141027 C23.0241541,5.81233601 22.5835434,6.09283945 22.0942569,6.14027869 L21.9461538,6.1474359 L9.74358974,6.1474359 C7.82155659,6.1474359 6.25170159,7.65528983 6.15242066,9.55260178 L6.1474359,9.74358974 L6.1474359,30.2564103 C6.1474359,32.1784434 7.65528983,33.7482984 9.55260178,33.8475793 L9.74358974,33.8525641 L30.2564103,33.8525641 C32.1784434,33.8525641 33.7482984,32.3447102 33.8475793,30.4473982 L33.8525641,30.2564103 L33.8525641,19.5602564 C33.8525641,18.7141279 34.5384868,18.0282051 35.3846154,18.0282051 C36.1837368,18.0282051 36.8399586,18.6400313 36.9104057,19.4208085 L36.9166667,19.5602564 L36.9166667,30.2564103 C36.9166667,33.8565054 34.0603077,36.7894621 30.4902312,36.912639 L30.2564103,36.9166667 L9.74358974,36.9166667 C6.14349464,36.9166667 3.21053791,34.0603077 3.08736098,30.4902312 L3.08333333,30.2564103 L3.08333333,9.74358974 C3.08333333,6.14349464 5.93969229,3.21053791 9.50976879,3.08736098 L9.74358974,3.08333333 L21.9461538,3.08333333 Z M35.5111781,5.19079908 C36.0819035,5.72326795 36.1560265,6.59166826 35.7034748,7.2136457 L35.6059332,7.334583 L21.6187527,22.3371482 C21.2454671,22.7375271 20.6869374,22.908347 20.1535563,22.7852616 C19.6201753,22.6621763 19.1929761,22.2638853 19.0328806,21.7404211 C18.8873392,21.2645445 18.9826458,20.7509435 19.2816371,20.3606783 L19.3774079,20.2474599 L33.3698382,5.24073629 C33.951474,4.64500849 34.9024043,4.62283227 35.5111781,5.19079908 Z" id="形状结合" fill="#0B58FF"></path>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.5 KiB |
@ -1,17 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
||||||
<title>编辑</title>
|
|
||||||
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" opacity="0.69689">
|
|
||||||
<g id="供应商评估_评估模版" transform="translate(-1065.000000, -404.000000)">
|
|
||||||
<g id="编组-2备份-3" transform="translate(1064.000000, 404.000000)">
|
|
||||||
<g id="编辑" transform="translate(1.000000, 0.000000)">
|
|
||||||
<rect id="矩形" x="0" y="0" width="35.5555556" height="35.5555556"></rect>
|
|
||||||
<g id="常用购票人/编辑32" fill="#000000" fill-rule="nonzero">
|
|
||||||
<rect id="矩形" opacity="0" x="0" y="0" width="40" height="40"></rect>
|
|
||||||
<path d="M21.9461538,3.08333333 C22.4935031,3.08333333 22.9992746,3.37534065 23.2729492,3.84935897 C23.5466238,4.32337729 23.5466238,4.90739194 23.2729492,5.38141027 C23.0241541,5.81233601 22.5835434,6.09283945 22.0942569,6.14027869 L21.9461538,6.1474359 L9.74358974,6.1474359 C7.82155659,6.1474359 6.25170159,7.65528983 6.15242066,9.55260178 L6.1474359,9.74358974 L6.1474359,30.2564103 C6.1474359,32.1784434 7.65528983,33.7482984 9.55260178,33.8475793 L9.74358974,33.8525641 L30.2564103,33.8525641 C32.1784434,33.8525641 33.7482984,32.3447102 33.8475793,30.4473982 L33.8525641,30.2564103 L33.8525641,19.5602564 C33.8525641,18.7141279 34.5384868,18.0282051 35.3846154,18.0282051 C36.1837368,18.0282051 36.8399586,18.6400313 36.9104057,19.4208085 L36.9166667,19.5602564 L36.9166667,30.2564103 C36.9166667,33.8565054 34.0603077,36.7894621 30.4902312,36.912639 L30.2564103,36.9166667 L9.74358974,36.9166667 C6.14349464,36.9166667 3.21053791,34.0603077 3.08736098,30.4902312 L3.08333333,30.2564103 L3.08333333,9.74358974 C3.08333333,6.14349464 5.93969229,3.21053791 9.50976879,3.08736098 L9.74358974,3.08333333 L21.9461538,3.08333333 Z M35.5111781,5.19079908 C36.0819035,5.72326795 36.1560265,6.59166826 35.7034748,7.2136457 L35.6059332,7.334583 L21.6187527,22.3371482 C21.2454671,22.7375271 20.6869374,22.908347 20.1535563,22.7852616 C19.6201753,22.6621763 19.1929761,22.2638853 19.0328806,21.7404211 C18.8873392,21.2645445 18.9826458,20.7509435 19.2816371,20.3606783 L19.3774079,20.2474599 L33.3698382,5.24073629 C33.951474,4.64500849 34.9024043,4.62283227 35.5111781,5.19079908 Z" id="形状结合"></path>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.5 KiB |
@ -1,12 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
||||||
<title>预览</title>
|
|
||||||
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
||||||
<g id="供应商评估_评估模版" transform="translate(-333.000000, -404.000000)" fill-rule="nonzero">
|
|
||||||
<g id="预览" transform="translate(333.000000, 404.000000)">
|
|
||||||
<rect id="矩形" fill="#000000" opacity="0" x="0" y="0" width="39.7350993" height="40"></rect>
|
|
||||||
<path d="M38.0837006,36.8192237 L34.2436156,32.9468752 C34.9636315,31.7367663 35.4436422,30.2846356 35.4436422,28.8325049 C35.4436422,24.7181346 32.0835677,21.3298297 28.0034774,21.3298297 C23.923387,21.3298297 20.5633126,24.7181346 20.5633126,28.8325049 C20.5633126,32.9468752 23.923387,36.3351801 28.0034774,36.3351801 C29.6835146,36.3351801 31.1235465,35.8511366 32.3235731,34.8830494 L36.1636581,38.7553979 C36.6436687,39.2394415 37.60369,39.2394415 38.0837006,38.7553979 C38.5637113,38.2713544 38.5637113,37.3032673 38.0837006,36.8192237 Z M27.7634721,33.4309188 C25.1234136,33.4309188 23.2033711,31.2527227 23.2033711,28.8325049 C23.2033711,26.1702653 25.3634189,24.234091 27.7634721,24.234091 C30.4035305,24.234091 32.3235731,26.4122871 32.3235731,28.8325049 C32.5635784,31.4947445 30.4035305,33.4309188 27.7634721,33.4309188 Z M8.5630468,39.4814633 C6.64300427,39.4814633 2.56291391,38.2713544 2.56291391,34.1569841 L2.56291391,8.26065345 C2.56291391,3.42021782 5.68298301,1 8.5630468,1 L29.4435093,1 C33.043589,1 35.4436422,3.42021782 35.4436422,7.29256632 L35.4436422,16.0053505 C35.4436422,16.7314158 34.9636315,17.6995029 34.0036103,17.6995029 C32.8035837,17.4574812 32.3235731,16.9734376 32.3235731,16.0053505 L32.3235731,7.77660989 C32.3235731,5.11437029 29.9235199,4.14628316 28.9634986,4.14628316 L8.5630468,4.14628316 C7.36302022,4.14628316 5.4429777,5.59841385 5.4429777,8.74469702 L5.4429777,32.9468752 C5.4429777,36.5772019 7.84303085,36.5772019 8.80305212,36.5772019 L16.0032116,36.5772019 C16.9632329,36.3351801 17.4432435,37.3032673 17.4432435,38.0293326 C17.4432435,38.7553979 16.9632329,39.4814633 15.7632063,39.4814633 L8.5630468,39.4814633 Z M10.7230946,7.53458811 L27.0434561,7.53458811 C27.7634721,7.53458811 28.2434827,8.01863167 28.2434827,8.74469702 C28.2434827,9.47076236 27.7634721,9.95480592 27.0434561,9.95480592 L10.7230946,9.95480592 C10.0030787,9.95480592 9.52306806,9.47076236 9.52306806,8.74469702 C9.52306806,8.01863167 9.76307338,7.53458811 10.7230946,7.53458811 Z M10.7230946,14.5532198 L27.0434561,14.5532198 C27.7634721,14.5532198 28.2434827,15.0372633 28.2434827,15.7633287 C28.2434827,16.489394 27.7634721,16.9734376 27.0434561,16.9734376 L10.7230946,16.9734376 C10.0030787,16.9734376 9.52306806,16.489394 9.52306806,15.7633287 C9.52306806,15.2792851 9.76307338,14.5532198 10.7230946,14.5532198 Z M10.7230946,21.8138732 L17.6832488,21.8138732 C18.4032647,21.8138732 18.8832754,22.2979168 18.8832754,23.0239821 C18.8832754,23.7500475 18.1632594,24.234091 17.6832488,24.234091 L10.7230946,24.234091 C10.0030787,24.234091 9.52306806,23.7500475 9.52306806,23.0239821 C9.52306806,22.2979168 9.76307338,21.8138732 10.7230946,21.8138732 Z" id="形状" fill="#0B58FF"></path>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 3.3 KiB |
@ -1,12 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
||||||
<title>预览</title>
|
|
||||||
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" opacity="0.69689">
|
|
||||||
<g id="供应商评估_评估模版" transform="translate(-885.000000, -404.000000)" fill="#000000" fill-rule="nonzero">
|
|
||||||
<g id="预览" transform="translate(885.000000, 404.000000)">
|
|
||||||
<rect id="矩形" opacity="0" x="0" y="0" width="39.7350993" height="40"></rect>
|
|
||||||
<path d="M38.0837006,36.8192237 L34.2436156,32.9468752 C34.9636315,31.7367663 35.4436422,30.2846356 35.4436422,28.8325049 C35.4436422,24.7181346 32.0835677,21.3298297 28.0034774,21.3298297 C23.923387,21.3298297 20.5633126,24.7181346 20.5633126,28.8325049 C20.5633126,32.9468752 23.923387,36.3351801 28.0034774,36.3351801 C29.6835146,36.3351801 31.1235465,35.8511366 32.3235731,34.8830494 L36.1636581,38.7553979 C36.6436687,39.2394415 37.60369,39.2394415 38.0837006,38.7553979 C38.5637113,38.2713544 38.5637113,37.3032673 38.0837006,36.8192237 Z M27.7634721,33.4309188 C25.1234136,33.4309188 23.2033711,31.2527227 23.2033711,28.8325049 C23.2033711,26.1702653 25.3634189,24.234091 27.7634721,24.234091 C30.4035305,24.234091 32.3235731,26.4122871 32.3235731,28.8325049 C32.5635784,31.4947445 30.4035305,33.4309188 27.7634721,33.4309188 Z M8.5630468,39.4814633 C6.64300427,39.4814633 2.56291391,38.2713544 2.56291391,34.1569841 L2.56291391,8.26065345 C2.56291391,3.42021782 5.68298301,1 8.5630468,1 L29.4435093,1 C33.043589,1 35.4436422,3.42021782 35.4436422,7.29256632 L35.4436422,16.0053505 C35.4436422,16.7314158 34.9636315,17.6995029 34.0036103,17.6995029 C32.8035837,17.4574812 32.3235731,16.9734376 32.3235731,16.0053505 L32.3235731,7.77660989 C32.3235731,5.11437029 29.9235199,4.14628316 28.9634986,4.14628316 L8.5630468,4.14628316 C7.36302022,4.14628316 5.4429777,5.59841385 5.4429777,8.74469702 L5.4429777,32.9468752 C5.4429777,36.5772019 7.84303085,36.5772019 8.80305212,36.5772019 L16.0032116,36.5772019 C16.9632329,36.3351801 17.4432435,37.3032673 17.4432435,38.0293326 C17.4432435,38.7553979 16.9632329,39.4814633 15.7632063,39.4814633 L8.5630468,39.4814633 Z M10.7230946,7.53458811 L27.0434561,7.53458811 C27.7634721,7.53458811 28.2434827,8.01863167 28.2434827,8.74469702 C28.2434827,9.47076236 27.7634721,9.95480592 27.0434561,9.95480592 L10.7230946,9.95480592 C10.0030787,9.95480592 9.52306806,9.47076236 9.52306806,8.74469702 C9.52306806,8.01863167 9.76307338,7.53458811 10.7230946,7.53458811 Z M10.7230946,14.5532198 L27.0434561,14.5532198 C27.7634721,14.5532198 28.2434827,15.0372633 28.2434827,15.7633287 C28.2434827,16.489394 27.7634721,16.9734376 27.0434561,16.9734376 L10.7230946,16.9734376 C10.0030787,16.9734376 9.52306806,16.489394 9.52306806,15.7633287 C9.52306806,15.2792851 9.76307338,14.5532198 10.7230946,14.5532198 Z M10.7230946,21.8138732 L17.6832488,21.8138732 C18.4032647,21.8138732 18.8832754,22.2979168 18.8832754,23.0239821 C18.8832754,23.7500475 18.1632594,24.234091 17.6832488,24.234091 L10.7230946,24.234091 C10.0030787,24.234091 9.52306806,23.7500475 9.52306806,23.0239821 C9.52306806,22.2979168 9.76307338,21.8138732 10.7230946,21.8138732 Z" id="形状"></path>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 3.3 KiB |
@ -1,12 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<svg width="24px" height="24px" viewBox="0 0 24 24" 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(-506.000000, -176.000000)" fill-rule="nonzero">
|
|
||||||
<g id="首页" transform="translate(506.000000, 176.000000)">
|
|
||||||
<rect id="矩形" fill="#000000" opacity="0" x="0" y="0" width="24" height="24"></rect>
|
|
||||||
<path d="M11.1710783,2.42919989 C11.7298936,2.09409047 12.4328291,2.12455473 12.9654367,2.52059014 L12.9654367,2.52059014 L20.3218013,7.99000647 L20.4665209,8.10559268 C21.0744501,8.62656431 21.4302636,9.40344805 21.4302636,10.227099 L21.4302636,10.227099 L21.4302636,19.0470569 L21.4250327,19.2212289 C21.3382831,20.6611171 20.1833875,21.8011882 18.7715031,21.8011882 L18.7715031,21.8011882 L5.2284969,21.8011882 L5.06035624,21.7957697 C3.67032883,21.7059084 2.56973638,20.5095861 2.56973638,19.0470569 L2.56973638,19.0470569 L2.56973638,10.2273587 L2.57600507,10.0381789 C2.63012926,9.22282649 3.03207443,8.47038558 3.67819781,7.99000711 L3.67819781,7.99000711 L11.034559,2.52059336 Z M12.0713092,3.55793652 C11.9772762,3.53774358 11.8769764,3.55793433 11.7954857,3.6185066 L11.7954857,3.6185066 L4.43911542,9.0879271 L4.32641124,9.18150853 C4.04059293,9.44596068 3.87451485,9.82573182 3.87451485,10.2273587 L3.87451485,10.2273587 L3.87451485,19.0470569 L3.880713,19.1821318 C3.94632222,19.8933667 4.52470053,20.4496068 5.2284969,20.4496068 L5.2284969,20.4496068 L11.2507497,20.4487759 L11.3507364,20.3451977 L11.3512202,14.4627186 L11.3582338,14.3683764 C11.4044406,14.0603828 11.6734228,13.8227675 12,13.8227675 C12.3345637,13.8227675 12.6123182,14.0734451 12.6454705,14.3976012 L12.6454705,14.3976012 L12.6489183,14.4681588 L12.6487364,20.3451881 L12.7487231,20.4487759 L18.7714898,20.4496068 L18.9018895,20.4431864 C19.5885066,20.3752237 20.1254851,19.7760987 20.1254851,19.0470569 L20.1254851,19.0470569 L20.1254851,10.2273587 L20.1177907,10.0779557 C20.0769951,9.68325297 19.8759128,9.32208831 19.5608746,9.08791971 L19.5608746,9.08791971 L12.2045243,3.61851399 L12.1402672,3.58065321 Z" id="形状结合" fill="#000"></path>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.3 KiB |
@ -2,7 +2,7 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2023-01-04 10:29:39
|
* @Date: 2023-01-04 10:29:39
|
||||||
* @LastEditors: zwq
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2023-07-19 16:33:56
|
* @LastEditTime: 2023-01-05 16:14:45
|
||||||
* @Description:
|
* @Description:
|
||||||
*/
|
*/
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
@ -28,11 +28,11 @@ export default new Vuex.Store({
|
|||||||
contentIsNeedRefresh: false,
|
contentIsNeedRefresh: false,
|
||||||
// 内容, 标签页(默认添加首页)
|
// 内容, 标签页(默认添加首页)
|
||||||
contentTabs: [
|
contentTabs: [
|
||||||
// {
|
{
|
||||||
// ...window.SITE_CONFIG['contentTabDefault'],
|
...window.SITE_CONFIG['contentTabDefault'],
|
||||||
// 'name': 'home',
|
'name': 'home',
|
||||||
// 'title': '首页'
|
'title': '首页'
|
||||||
// }
|
}
|
||||||
],
|
],
|
||||||
contentTabsActiveName: 'home'
|
contentTabsActiveName: 'home'
|
||||||
},
|
},
|
||||||
|
@ -1,10 +1,3 @@
|
|||||||
<!--
|
|
||||||
* @Author: zwq
|
|
||||||
* @Date: 2023-07-13 15:31:21
|
|
||||||
* @LastEditors: zwq
|
|
||||||
* @LastEditTime: 2023-07-20 09:05:48
|
|
||||||
* @Description:
|
|
||||||
-->
|
|
||||||
<template>
|
<template>
|
||||||
<main :class="['aui-content', { 'aui-content--tabs': $route.meta.isTab }]">
|
<main :class="['aui-content', { 'aui-content--tabs': $route.meta.isTab }]">
|
||||||
<!-- tab展示内容 -->
|
<!-- tab展示内容 -->
|
||||||
@ -23,13 +16,11 @@
|
|||||||
:key="item.name"
|
:key="item.name"
|
||||||
:name="item.name"
|
:name="item.name"
|
||||||
:label="item.title"
|
:label="item.title"
|
||||||
closable
|
:closable="item.name !== 'home'"
|
||||||
:class="{ 'is-iframe': tabIsIframe(item.iframeURL) }">
|
:class="{ 'is-iframe': tabIsIframe(item.iframeURL) }">
|
||||||
<!-- <template v-if="item.name === 'home'">
|
<template v-if="item.name === 'home'">
|
||||||
<svg slot="label" class="icon-svg aui-content--tabs-icon-nav" aria-hidden="true">
|
<svg slot="label" class="icon-svg aui-content--tabs-icon-nav" aria-hidden="true"><use xlink:href="#icon-home"></use></svg>
|
||||||
<use xlink:href="#首页"></use>
|
</template>
|
||||||
</svg>
|
|
||||||
</template> -->
|
|
||||||
<iframe v-if="tabIsIframe(item.iframeURL)" :src="item.iframeURL" width="100%" height="100%" frameborder="0" scrolling="yes"></iframe>
|
<iframe v-if="tabIsIframe(item.iframeURL)" :src="item.iframeURL" width="100%" height="100%" frameborder="0" scrolling="yes"></iframe>
|
||||||
<!-- <keep-alive > -->
|
<!-- <keep-alive > -->
|
||||||
<router-view v-if="item.name === $store.state.contentTabsActiveName" />
|
<router-view v-if="item.name === $store.state.contentTabsActiveName" />
|
||||||
@ -71,9 +62,9 @@ export default {
|
|||||||
},
|
},
|
||||||
// tabs, 删除tab
|
// tabs, 删除tab
|
||||||
tabRemoveHandle (tabName) {
|
tabRemoveHandle (tabName) {
|
||||||
// if (tabName === 'home') {
|
if (tabName === 'home') {
|
||||||
// return false
|
return false
|
||||||
// }
|
}
|
||||||
this.$store.state.contentTabs = this.$store.state.contentTabs.filter(item => item.name !== tabName)
|
this.$store.state.contentTabs = this.$store.state.contentTabs.filter(item => item.name !== tabName)
|
||||||
if (this.$store.state.contentTabs.length <= 0) {
|
if (this.$store.state.contentTabs.length <= 0) {
|
||||||
this.$store.state.sidebarMenuActiveName = this.$store.state.contentTabsActiveName = 'home'
|
this.$store.state.sidebarMenuActiveName = this.$store.state.contentTabsActiveName = 'home'
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2022-08-22 14:57:51
|
* @Date: 2022-08-22 14:57:51
|
||||||
* @LastEditors: zwq
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2023-07-19 09:27:53
|
* @LastEditTime: 2023-07-14 15:53:17
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -36,7 +36,7 @@
|
|||||||
|
|
||||||
<el-menu-item index="6" @click="$router.push({ name: 'home' })">
|
<el-menu-item index="6" @click="$router.push({ name: 'home' })">
|
||||||
<svg class="icon-svg aui-navbar__icon-menu" aria-hidden="true">
|
<svg class="icon-svg aui-navbar__icon-menu" aria-hidden="true">
|
||||||
<use xlink:href="#首页"></use>
|
<use xlink:href="#icon-home"></use>
|
||||||
</svg>
|
</svg>
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
<!-- 中英文 -->
|
<!-- 中英文 -->
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-01-11 09:24:58
|
* @Date: 2023-01-11 09:24:58
|
||||||
* @LastEditTime: 2023-07-20 10:50:58
|
* @LastEditTime: 2023-07-17 10:39:16
|
||||||
* @LastEditors: zwq
|
* @LastEditors: zwq
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -41,7 +41,6 @@
|
|||||||
@cancel="handleCancel"
|
@cancel="handleCancel"
|
||||||
@confirm="handleConfirm"
|
@confirm="handleConfirm"
|
||||||
:before-close="handleCancel"
|
:before-close="handleCancel"
|
||||||
:destroy-on-close="true"
|
|
||||||
>
|
>
|
||||||
<add-or-update
|
<add-or-update
|
||||||
ref="teamSet"
|
ref="teamSet"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-01-11 09:24:58
|
* @Date: 2023-01-11 09:24:58
|
||||||
* @LastEditTime: 2023-07-20 10:49:29
|
* @LastEditTime: 2023-07-17 10:39:25
|
||||||
* @LastEditors: zwq
|
* @LastEditors: zwq
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -27,7 +27,6 @@
|
|||||||
@cancel="handleCancel"
|
@cancel="handleCancel"
|
||||||
@confirm="handleConfirm"
|
@confirm="handleConfirm"
|
||||||
:before-close="handleCancel"
|
:before-close="handleCancel"
|
||||||
:destroy-on-close="true"
|
|
||||||
width=70%
|
width=70%
|
||||||
>
|
>
|
||||||
<add-or-update
|
<add-or-update
|
||||||
|
@ -30,7 +30,6 @@
|
|||||||
@cancel="handleCancel"
|
@cancel="handleCancel"
|
||||||
@confirm="handleConfirm"
|
@confirm="handleConfirm"
|
||||||
:before-close="handleCancel"
|
:before-close="handleCancel"
|
||||||
:destroy-on-close="true"
|
|
||||||
>
|
>
|
||||||
<add-or-update ref="addOrUpdate" @refreshDataList="successSubmit"></add-or-update>
|
<add-or-update ref="addOrUpdate" @refreshDataList="successSubmit"></add-or-update>
|
||||||
</base-dialog>
|
</base-dialog>
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-07-14 13:44:46
|
* @Date: 2023-07-14 13:44:46
|
||||||
* @LastEditTime: 2023-07-21 09:34:55
|
* @LastEditTime: 2023-07-18 16:53:52
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<el-drawer close-on-press-escape :title="!dataForm.id ? $t('add') : $t('add')" :append-to-body="true"
|
<el-drawer close-on-press-escape:title="$t('add')" :append-to-body="true" :before-close="handleClose"
|
||||||
@closed="handleClose" :visible.sync="innerDrawer">
|
:visible.sync="innerDrawer">
|
||||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||||
label-width="120px">
|
label-width="120px">
|
||||||
<el-form-item prop="requirementListId" :label="$t('customerquality.requirementListName')">
|
<el-form-item prop="requirementListId" :label="$t('customerquality.requirementListName')">
|
||||||
@ -101,7 +101,7 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleClose() {
|
handleClose() {
|
||||||
this.innerDrawer = false
|
this.innerDrawer = true
|
||||||
this.$refs.dataForm.resetFields()
|
this.$refs.dataForm.resetFields()
|
||||||
},
|
},
|
||||||
getInfo() {
|
getInfo() {
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-02-14 15:02:26
|
* @Date: 2023-02-14 15:02:26
|
||||||
* @LastEditTime: 2023-07-21 10:07:47
|
* @LastEditTime: 2023-07-19 16:17:25
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<el-drawer close-on-press-escape title="项目清单" :visible.sync="visible" size="50%" :before-close="handleClose()">
|
<el-drawer close-on-press-escape title="提示" :visible.sync="visible" size="50%" :before-close="handleClose()">
|
||||||
<el-tabs @tab-click="handleClickTab" v-model="title" tab-position="left" style="margin-bottom: 30px;">
|
<el-tabs @tab-click="handleClickTab" v-model="title" tab-position="left" style="margin-bottom: 30px;">
|
||||||
<el-tab-pane label="项目概述" name="first">
|
<el-tab-pane label="项目概述" name="first">
|
||||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-06-08 14:29:46
|
* @Date: 2023-06-08 14:29:46
|
||||||
* @LastEditTime: 2023-07-21 14:03:20
|
* @LastEditTime: 2023-07-19 16:58:37
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -137,9 +137,7 @@ export default {
|
|||||||
urlOptions: {
|
urlOptions: {
|
||||||
getDataListURL: "/customerquality/qmsCustomerQualityProjectList/page",
|
getDataListURL: "/customerquality/qmsCustomerQualityProjectList/page",
|
||||||
deleteURL: "/customerquality/qmsCustomerQualityProjectList",
|
deleteURL: "/customerquality/qmsCustomerQualityProjectList",
|
||||||
exportURL: '/customerquality/qmsCustomerQualityProjectList/export',
|
exportURL: '/customerquality/qmsCustomerQualityProjectList/export'
|
||||||
getProductURL: '/basic/qmsProduct/page',
|
|
||||||
getCustomerURL: '/basic/qmsCustomer/page'
|
|
||||||
},
|
},
|
||||||
tableData:[],
|
tableData:[],
|
||||||
productData: {},
|
productData: {},
|
||||||
@ -158,56 +156,6 @@ export default {
|
|||||||
productOrUpdateVisible: false,
|
productOrUpdateVisible: false,
|
||||||
qualityProjectListShow:false,
|
qualityProjectListShow:false,
|
||||||
formConfig: [
|
formConfig: [
|
||||||
{
|
|
||||||
type: 'select',
|
|
||||||
label: i18n.t('basic.productName'),
|
|
||||||
placeholder: i18n.t('basic.productName'),
|
|
||||||
selectOptions: [],
|
|
||||||
param: 'productId'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'select',
|
|
||||||
label: i18n.t('customerquality.customerName'),
|
|
||||||
placeholder: i18n.t('customerquality.customerName'),
|
|
||||||
selectOptions: [],
|
|
||||||
param: 'customerId'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'select',
|
|
||||||
label: i18n.t('customerquality.status'),
|
|
||||||
placeholder: i18n.t('customerquality.status'),
|
|
||||||
selectOptions: [
|
|
||||||
{
|
|
||||||
id: '0',
|
|
||||||
name: '待审核'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: '1',
|
|
||||||
name: '已完成'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: '2',
|
|
||||||
name: '交付退回'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: '3',
|
|
||||||
name: '审核拒绝'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
param: 'status'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'datePicker',
|
|
||||||
label: i18n.t('time'),
|
|
||||||
dateType: 'datetimerange',
|
|
||||||
format: 'yyyy-MM-dd HH:mm:ss',
|
|
||||||
valueFormat: 'yyyy-MM-ddTHH:mm:ss',
|
|
||||||
rangeSeparator: '-',
|
|
||||||
startPlaceholder: '开始时间',
|
|
||||||
endPlaceholder: '结束时间',
|
|
||||||
param: 'timeSlot',
|
|
||||||
width: 350
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
type: "button",
|
type: "button",
|
||||||
btnName: i18n.t('search'),
|
btnName: i18n.t('search'),
|
||||||
@ -231,8 +179,7 @@ export default {
|
|||||||
// baseConfig
|
// baseConfig
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
this.getDataList()
|
this.getDataList();
|
||||||
this.getDict()
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
//search-bar点击
|
//search-bar点击
|
||||||
@ -256,42 +203,6 @@ export default {
|
|||||||
this.dataListLoading = false;
|
this.dataListLoading = false;
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getDict() {
|
|
||||||
this.$http
|
|
||||||
.get(this.urlOptions.getProductURL, {
|
|
||||||
params: {
|
|
||||||
limit: 999,
|
|
||||||
page: 1,
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.then(({ data: res }) => {
|
|
||||||
// this.dataListLoading = false;
|
|
||||||
if (res.code === 0) {
|
|
||||||
this.formConfig[0].selectOptions = res.data.list.map((item) => {
|
|
||||||
return {
|
|
||||||
id: item.id,
|
|
||||||
name:item.productName
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
this.$http
|
|
||||||
.get(this.urlOptions.getCustomerURL, {
|
|
||||||
params: {
|
|
||||||
limit: 999,
|
|
||||||
page: 1,
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.then(({ data: res }) => {
|
|
||||||
// this.dataListLoading = false;
|
|
||||||
this.formConfig[1].selectOptions = res.data.list.map((item) => {
|
|
||||||
return {
|
|
||||||
id: item.id,
|
|
||||||
name: item.customerName
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
handleProductCancel() {
|
handleProductCancel() {
|
||||||
this.productOrUpdateVisible = false;
|
this.productOrUpdateVisible = false;
|
||||||
this.productOrEditTitle = "";
|
this.productOrEditTitle = "";
|
||||||
@ -407,11 +318,6 @@ export default {
|
|||||||
case "search":
|
case "search":
|
||||||
// this.listQuery.paramCode = val.paramCode;
|
// this.listQuery.paramCode = val.paramCode;
|
||||||
// console.log(i18n);
|
// console.log(i18n);
|
||||||
this.listQuery.status = val.status ? val.status : null
|
|
||||||
this.listQuery.productId = val.productId ? val.productId : null
|
|
||||||
this.listQuery.customerId = val.customerId ? val.customerId : null
|
|
||||||
this.listQuery.startTime = val.timeSlot ? val.timeSlot[0] : null
|
|
||||||
this.listQuery.endTime = val.timeSlot ? val.timeSlot[1] : null
|
|
||||||
this.listQuery.page = 1
|
this.listQuery.page = 1
|
||||||
this.getDataList()
|
this.getDataList()
|
||||||
break;
|
break;
|
||||||
|
@ -1,159 +1,139 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-02-14 15:02:26
|
* @Date: 2023-02-14 15:02:26
|
||||||
* @LastEditTime: 2023-07-21 16:35:04
|
* @LastEditTime: 2023-07-13 09:42:39
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<el-drawer :title="dataForm.id ? $t('edit') : $t('add')" :visible.sync="drawer" size="50%">
|
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" label-width="150px">
|
label-width="150px">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item prop="partName" :label="$t('gage.partName')">
|
<el-form-item prop="partName" :label="$t('gage.partName')">
|
||||||
<el-input v-model="dataForm.partName" :placeholder="$t('gage.partName')">
|
<el-input v-model="dataForm.partName" :placeholder="$t('gage.partName')">
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item prop="gageId" :label="$t('gage.gageName')">
|
|
||||||
<el-select v-model="dataForm.gageId" :placeholder="$t('gage.gageName')" @change="getGageType">
|
|
||||||
<el-option v-for="item in gageList" :key="item.id" :label="item.name" :value="item.id">
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item prop="corporation" :label="$t('gage.corporation')">
|
|
||||||
<el-input v-model="dataForm.corporation" :placeholder="$t('gage.corporation')">
|
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item prop="itemNo" :label="$t('gage.itemNo')">
|
|
||||||
<el-input v-model="dataForm.itemNo" :placeholder="$t('gage.itemNo')">
|
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item prop="gageTypeName" :label="$t('gage.gageTypeName')">
|
|
||||||
<el-input v-model="dataForm.gageTypeName" :placeholder="$t('gage.gageTypeName')" disabled>
|
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item prop="partNumber" :label="$t('gage.partNumber')">
|
|
||||||
<el-input v-model="dataForm.partNumber" :placeholder="$t('gage.partNumber')">
|
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item prop="specification" :label="$t('gage.specification')">
|
|
||||||
<el-input v-model="dataForm.specification" :placeholder="$t('gage.specification')">
|
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item prop="measuringToolSpecification" :label="$t('gage.measuringToolSpecification')">
|
|
||||||
<el-input v-model="dataForm.measuringToolSpecification" :placeholder="$t('gage.measuringToolSpecification')"
|
|
||||||
disabled>
|
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item prop="process" :label="$t('gage.process')">
|
|
||||||
<el-input v-model="dataForm.process" :placeholder="$t('gage.process')">
|
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item prop="measurementNumber" :label="$t('gage.measurementNumber')">
|
|
||||||
<el-input v-model="dataForm.measurementNumber" :placeholder="$t('gage.measurementNumber')">
|
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item prop="measuringToolAccuracy" :label="$t('gage.measuringToolAccuracy')">
|
|
||||||
<el-input v-model="dataForm.measuringToolAccuracy" :placeholder="$t('gage.measuringToolAccuracy')">
|
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item prop="fabrication" :label="$t('gage.fabrication')">
|
|
||||||
<el-input v-model="dataForm.fabrication" :placeholder="$t('gage.fabrication')">
|
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item prop="publicErrand" :label="$t('gage.publicErrand')">
|
|
||||||
<el-input v-model="dataForm.publicErrand" :placeholder="$t('gage.publicErrand')">
|
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item prop="precisionDecimalPlace" :label="$t('gage.precisionDecimalPlace')">
|
|
||||||
<el-input v-model="dataForm.precisionDecimalPlace" :placeholder="$t('gage.precisionDecimalPlace')">
|
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item prop="tester" :label="$t('gage.tester')">
|
|
||||||
<el-input v-model="dataForm.tester" :placeholder="$t('gage.tester')">
|
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item prop="precisionDecimalPlace" :label="$t('gage.precisionDecimalPlace')">
|
|
||||||
<el-input v-model="dataForm.precisionDecimalPlace" :placeholder="$t('gage.precisionDecimalPlace')">
|
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item prop="measurementTime" :label="$t('gage.measurementTime')">
|
|
||||||
<el-date-picker v-model="dataForm.measurementTime" type="datetime" :placeholder="$t('gage.measurementTime')"
|
|
||||||
format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
|
||||||
</el-date-picker>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-form-item style="float: right;margin-right: 30px;">
|
|
||||||
<el-button @click="handleClose()">{{ $t('cancel') }}</el-button>
|
|
||||||
<el-button type="primary" @click="dataFormSubmit()">{{ $t('confirm') }} </el-button>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-row>
|
</el-col>
|
||||||
</el-form>
|
<el-col :span="8">
|
||||||
<div v-if="dataForm.id? true :false" style='margin-left: 30px;'>
|
<el-form-item prop="gageId" :label="$t('gage.gageName')">
|
||||||
<el-button @click="getTableData()" type="primary">{{ $t('gage.tabularComputations') }}</el-button>
|
<el-select v-model="dataForm.gageId" :placeholder="$t('gage.gageName')" @change="getGageType">
|
||||||
<el-button @click="tabularComputationsAdd()" type="primary">{{ $t('gage.tabularComputationsAdd') }}</el-button>
|
<el-option v-for="item in gageList" :key="item.id" :label="item.name" :value="item.id">
|
||||||
<base-table :span-method="objectSpanMethod" :table-props="tableProps" :table-data="tableData" />
|
</el-option>
|
||||||
<el-table style="width: 100%" :data="getValues" :show-header="false">
|
</el-select>
|
||||||
<el-table-column v-for="(item, index) in getHeaders" :key="index" :prop="item">
|
</el-form-item>
|
||||||
</el-table-column>
|
</el-col>
|
||||||
</el-table>
|
<el-col :span="8">
|
||||||
</div>
|
<el-form-item prop="corporation" :label="$t('gage.corporation')">
|
||||||
<tabularComputations-add ref="tabularComputationsAddOrUpdate" v-if="tabularComputationsAddShow"
|
<el-input v-model="dataForm.corporation" :placeholder="$t('gage.corporation')">
|
||||||
@refreshDataList="getTableData">
|
</el-input>
|
||||||
</tabularComputations-add>
|
</el-form-item>
|
||||||
</el-drawer>
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item prop="itemNo" :label="$t('gage.itemNo')">
|
||||||
|
<el-input v-model="dataForm.itemNo" :placeholder="$t('gage.itemNo')">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item prop="gageTypeName" :label="$t('gage.gageTypeName')">
|
||||||
|
<el-input v-model="dataForm.gageTypeName" :placeholder="$t('gage.gageTypeName')" disabled>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item prop="partNumber" :label="$t('gage.partNumber')">
|
||||||
|
<el-input v-model="dataForm.partNumber" :placeholder="$t('gage.partNumber')">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item prop="specification" :label="$t('gage.specification')">
|
||||||
|
<el-input v-model="dataForm.specification" :placeholder="$t('gage.specification')">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item prop="measuringToolSpecification" :label="$t('gage.measuringToolSpecification')">
|
||||||
|
<el-input v-model="dataForm.measuringToolSpecification" :placeholder="$t('gage.measuringToolSpecification')"
|
||||||
|
disabled>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item prop="process" :label="$t('gage.process')">
|
||||||
|
<el-input v-model="dataForm.process" :placeholder="$t('gage.process')">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item prop="measurementNumber" :label="$t('gage.measurementNumber')">
|
||||||
|
<el-input v-model="dataForm.measurementNumber" :placeholder="$t('gage.measurementNumber')">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item prop="measuringToolAccuracy" :label="$t('gage.measuringToolAccuracy')">
|
||||||
|
<el-input v-model="dataForm.measuringToolAccuracy" :placeholder="$t('gage.measuringToolAccuracy')">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item prop="fabrication" :label="$t('gage.fabrication')">
|
||||||
|
<el-input v-model="dataForm.fabrication" :placeholder="$t('gage.fabrication')">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item prop="publicErrand" :label="$t('gage.publicErrand')">
|
||||||
|
<el-input v-model="dataForm.publicErrand" :placeholder="$t('gage.publicErrand')">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item prop="precisionDecimalPlace" :label="$t('gage.precisionDecimalPlace')">
|
||||||
|
<el-input v-model="dataForm.precisionDecimalPlace" :placeholder="$t('gage.precisionDecimalPlace')">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item prop="tester" :label="$t('gage.tester')">
|
||||||
|
<el-input v-model="dataForm.tester" :placeholder="$t('gage.tester')">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item prop="precisionDecimalPlace" :label="$t('gage.precisionDecimalPlace')">
|
||||||
|
<el-input v-model="dataForm.precisionDecimalPlace" :placeholder="$t('gage.precisionDecimalPlace')">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item prop="measurementTime" :label="$t('gage.measurementTime')">
|
||||||
|
<el-date-picker v-model="dataForm.measurementTime" type="datetime" :placeholder="$t('gage.measurementTime')"
|
||||||
|
format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-button @click="getTableData()" type="primary">{{ $t('gage.tabularComputations') }}</el-button>
|
||||||
|
<base-table :table-props="tableProps" :table-data="tableData" />
|
||||||
|
</el-form>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import debounce from "lodash/debounce";
|
import debounce from "lodash/debounce";
|
||||||
import basicAdd from "@/mixins/basic-add";
|
import basicAdd from "@/mixins/basic-add";
|
||||||
import InnerTable from "./innerTable"
|
|
||||||
import tabularComputationsAdd from "./tabularComputations-add"
|
|
||||||
|
|
||||||
import available from "./available";
|
import available from "./available";
|
||||||
// const tableProps = [
|
// const tableProps = [
|
||||||
// {
|
// {
|
||||||
@ -221,14 +201,29 @@ import available from "./available";
|
|||||||
// // ]
|
// // ]
|
||||||
// // }
|
// // }
|
||||||
// ]
|
// ]
|
||||||
|
const tableProps = [
|
||||||
|
{
|
||||||
|
prop: 'testUserName',
|
||||||
|
label: '人员',
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'orderNumber',
|
||||||
|
label: '序号',
|
||||||
|
align:'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'test',
|
||||||
|
label: '零件',
|
||||||
|
align: 'center',
|
||||||
|
children: [
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
export default {
|
export default {
|
||||||
mixins: [basicAdd],
|
mixins: [basicAdd],
|
||||||
components: {
|
|
||||||
tabularComputationsAdd,
|
|
||||||
},
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
tabularComputationsAddShow:false,
|
|
||||||
urlOptions: {
|
urlOptions: {
|
||||||
submitURL: "/gage/qmsGageGrr",
|
submitURL: "/gage/qmsGageGrr",
|
||||||
infoURL: "/gage/qmsGageGrr/{ id }",
|
infoURL: "/gage/qmsGageGrr/{ id }",
|
||||||
@ -239,11 +234,10 @@ export default {
|
|||||||
getCustomerListURL: '/basic/qmsCustomer/page',
|
getCustomerListURL: '/basic/qmsCustomer/page',
|
||||||
getTabularComputationsURL: '/gage/qmsGageGrrTester/table'
|
getTabularComputationsURL: '/gage/qmsGageGrrTester/table'
|
||||||
},
|
},
|
||||||
drawer:false,
|
|
||||||
trueTableProps: [],
|
trueTableProps: [],
|
||||||
gageList: [],
|
gageList: [],
|
||||||
userList: [],
|
userList: [],
|
||||||
tableProps:[],
|
tableProps,
|
||||||
customerList: [],
|
customerList: [],
|
||||||
tableData:[],
|
tableData:[],
|
||||||
gageTypeList:[],
|
gageTypeList:[],
|
||||||
@ -310,30 +304,7 @@ export default {
|
|||||||
name: '自校报告'
|
name: '自校报告'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
column1Arr:[],
|
|
||||||
column1Index: 0,
|
|
||||||
column2Arr: {},
|
|
||||||
column2Index: 0,
|
|
||||||
visible: false,
|
visible: false,
|
||||||
data: [],
|
|
||||||
headers: [
|
|
||||||
{
|
|
||||||
prop: 'meanRange',
|
|
||||||
label: '极差均值',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'meanDifference',
|
|
||||||
label: '均值差',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'upperControlLimit',
|
|
||||||
label: '控制上限',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'lowerControlLimit',
|
|
||||||
label: '控制下限',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
// tableProp2,
|
// tableProp2,
|
||||||
chartDataArr: [],
|
chartDataArr: [],
|
||||||
dataForm: {
|
dataForm: {
|
||||||
@ -361,14 +332,6 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
getHeaders() {
|
|
||||||
return this.data.reduce((pre, cur, index) => pre.concat(`value${index}`), ['title'])
|
|
||||||
},
|
|
||||||
getValues() {
|
|
||||||
return this.headers.map(item => {
|
|
||||||
return this.data.reduce((pre, cur, index) => Object.assign(pre, { ['value' + index]: cur[item.prop] }), { 'title': item.label, });
|
|
||||||
});
|
|
||||||
},
|
|
||||||
dataRule() {
|
dataRule() {
|
||||||
return {
|
return {
|
||||||
publicErrand: [
|
publicErrand: [
|
||||||
@ -410,62 +373,7 @@ export default {
|
|||||||
this.tableProps = []
|
this.tableProps = []
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
tabularComputationsAdd() {
|
|
||||||
this.tabularComputationsAddShow = true
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$refs.tabularComputationsAddOrUpdate.init(this.dataForm.id)
|
|
||||||
})
|
|
||||||
},
|
|
||||||
setrowspans() {
|
|
||||||
// 先给所有的数据都加一个v.rowspan = 1
|
|
||||||
this.tableData.forEach(v => {
|
|
||||||
v.rowspan = 1;
|
|
||||||
v.rangeAverageRowspan = 1;
|
|
||||||
});
|
|
||||||
// 双层循环
|
|
||||||
for (let i = 0; i < this.tableData.length; i++) {
|
|
||||||
// 内层循环,上面已经给所有的行都加了v.rowspan = 1
|
|
||||||
// 这里进行判断
|
|
||||||
// 如果当前行的id和下一行的id相等
|
|
||||||
// 就把当前v.rowspan + 1
|
|
||||||
// 下一行的v.rowspan - 1
|
|
||||||
for (let j = i + 1; j < this.tableData.length; j++) {
|
|
||||||
//此处可根据相同字段进行合并,此处是根据的id
|
|
||||||
if (this.tableData[i].finalAverage === this.tableData[j].finalAverage) {
|
|
||||||
this.tableData[i].rowspan++;
|
|
||||||
this.tableData[j].rowspan--;
|
|
||||||
}
|
|
||||||
if (this.tableData[i].rangeAverage === this.tableData[j].rangeAverage) {
|
|
||||||
this.tableData[i].rangeAverageRowspan++;
|
|
||||||
this.tableData[j].rangeAverageRowspan--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 这里跳过已经重复的数据
|
|
||||||
i = i + this.tableData[i].rowspan - 1;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
|
|
||||||
// console.log(column)
|
|
||||||
if (columnIndex === 0) {
|
|
||||||
return {
|
|
||||||
rowspan: row.rowspan,
|
|
||||||
colspan: 1
|
|
||||||
};
|
|
||||||
} else if (column.label === '最终均值') {
|
|
||||||
return {
|
|
||||||
rowspan: row.rowspan,
|
|
||||||
colspan: 1
|
|
||||||
};
|
|
||||||
}
|
|
||||||
if (column.label === '极差均值') {
|
|
||||||
return {
|
|
||||||
rowspan: row.rangeAverageRowspan,
|
|
||||||
colspan: 1
|
|
||||||
};
|
|
||||||
}
|
|
||||||
},
|
|
||||||
getTableData() {
|
getTableData() {
|
||||||
this.tableData = []
|
|
||||||
this.$http.get(this.urlOptions.getTabularComputationsURL, {
|
this.$http.get(this.urlOptions.getTabularComputationsURL, {
|
||||||
params: {
|
params: {
|
||||||
gageGrrId:this.dataForm.id
|
gageGrrId:this.dataForm.id
|
||||||
@ -499,117 +407,42 @@ export default {
|
|||||||
// // ]
|
// // ]
|
||||||
// // },
|
// // },
|
||||||
// ]
|
// ]
|
||||||
let propsData = [
|
|
||||||
{
|
|
||||||
prop: 'testUserName',
|
|
||||||
label: '人员',
|
|
||||||
align: 'center',
|
|
||||||
subcomponent: InnerTable
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'orderNumber',
|
|
||||||
label: '序号',
|
|
||||||
align: 'center',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'test',
|
|
||||||
label: '零件',
|
|
||||||
align: 'center',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
prop: 'orderAverage',
|
|
||||||
label: '序号均值',
|
|
||||||
align: 'center',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'finalAverage',
|
|
||||||
label: '最终均值',
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'rangeAverage',
|
|
||||||
label: '极差均值',
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'partAverageMean',
|
|
||||||
label: 'Rp零件均值极差',
|
|
||||||
align: 'center'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
Object.keys(result.data.finalPartMapList).forEach((item) => {
|
|
||||||
propsData[2].children.push({
|
|
||||||
label: String(item),
|
|
||||||
prop: 'measuredData' + String(item),
|
|
||||||
align: 'center'
|
|
||||||
})
|
|
||||||
})
|
|
||||||
this.tableProps = propsData
|
|
||||||
let orderAverageArr = []
|
|
||||||
let rangeArr = []
|
|
||||||
for (let i = 0; i < result.data.qmsGageGrrTesterDTOList.length; i++){
|
for (let i = 0; i < result.data.qmsGageGrrTesterDTOList.length; i++){
|
||||||
// console.log(result.data.qmsGageGrrTesterDTOLis[i])
|
// console.log(result.data.qmsGageGrrTesterDTOList[i].orderMapList)
|
||||||
Object.keys(result.data.qmsGageGrrTesterDTOList[i].orderAverage).forEach((item) => {
|
Object.keys(result.data.qmsGageGrrTesterDTOList[i].partMapList).forEach((item) => {
|
||||||
orderAverageArr.push(result.data.qmsGageGrrTesterDTOList[i].orderAverage[item])
|
this.tableProps[2].children.push({
|
||||||
})
|
label: String(item),
|
||||||
Object.keys(result.data.qmsGageGrrTesterDTOList[i].orderMapList).forEach((item) => {
|
prop: 'measuredData' + String(item),
|
||||||
console.log(item)
|
align: 'center'
|
||||||
let measuredDataProp = 'measuredData' + String(item)
|
|
||||||
arr.push({
|
|
||||||
testUserName: result.data.qmsGageGrrTesterDTOList[i].testUserName,
|
|
||||||
orderNumber: item,
|
|
||||||
finalAverage: '',
|
|
||||||
gageGrrId: result.data.qmsGageGrrTesterDTOList[i].gageGrrId,
|
|
||||||
partAverageMean: '',
|
|
||||||
[measuredDataProp]: '',
|
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
Object.keys(result.data.qmsGageGrrTesterDTOList[i].range).forEach((item) => {
|
Object.keys(result.data.qmsGageGrrTesterDTOList[i].orderMapList).forEach((item) => {
|
||||||
rangeArr.push(result.data.qmsGageGrrTesterDTOList[i].range[item])
|
let measuredDataProp = 'measuredData' + String(item)
|
||||||
|
this.tableData.push({
|
||||||
|
testUserName: result.data.qmsGageGrrTesterDTOList[i].testUserName,
|
||||||
|
orderNumber: item,
|
||||||
|
[measuredDataProp]: '',
|
||||||
|
})
|
||||||
|
})
|
||||||
|
Object.keys(result.data.qmsGageGrrTesterDTOList[i].orderMapList).forEach((item) => {
|
||||||
|
result.data.qmsGageGrrTesterDTOList[i].orderMapList[item].forEach((ele, index, arr) => {
|
||||||
|
let measuredData = 'measuredData' + String(index + 1)
|
||||||
|
console.log(item)
|
||||||
|
// console.log(arr)
|
||||||
|
// console.log(ele)
|
||||||
|
// console.log(this.tableProps[2].children.prop);
|
||||||
|
// console.log(this.tableProps[2].children[item - 1].prop)
|
||||||
|
console.log(index)
|
||||||
|
console.log(measuredData)
|
||||||
|
console.log(ele)
|
||||||
|
// console.log(this.tableData[index + 1])
|
||||||
|
this.tableData[item-1][measuredData] = ele
|
||||||
|
// console.log(this.tableData[item - 1])
|
||||||
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
this.tableData = arr
|
|
||||||
// console.log(Object.keys(result.data.finalPartMapList))
|
|
||||||
Object.keys(result.data.finalPartMapList).forEach((item) => {
|
|
||||||
// console.log(item)
|
|
||||||
let measuredData = 'measuredData' + String(item)
|
|
||||||
console.log(result.data.finalPartMapList[item])
|
|
||||||
result.data.finalPartMapList[item].forEach((ele, index) => {
|
|
||||||
this.tableData[index][measuredData] = ele
|
|
||||||
})
|
|
||||||
})
|
|
||||||
orderAverageArr.forEach((ele, index) => {
|
|
||||||
this.tableData[index]['orderAverage'] = ele
|
|
||||||
})
|
|
||||||
this.tableData.forEach((ele, index) => {
|
|
||||||
ele.partAverageMean = result.data.partAverageMean
|
|
||||||
result.data.qmsGageGrrTesterDTOList.forEach((item, i) => {
|
|
||||||
// console.log(item.finalAverage)
|
|
||||||
if (this.tableData[index].testUserName === result.data.qmsGageGrrTesterDTOList[i].testUserName) {
|
|
||||||
ele.finalAverage = item.finalAverage
|
|
||||||
ele.rangeAverage = item.rangeAverage
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
// rangeArr.forEach((ele, index) => {
|
|
||||||
// this.data.push({
|
|
||||||
// range:ele
|
|
||||||
// })
|
|
||||||
// })
|
|
||||||
// console.log()
|
|
||||||
let dataDetail = []
|
|
||||||
dataDetail.push({
|
|
||||||
meanRange: result.data.meanRange,
|
|
||||||
lowerControlLimit: result.data.lowerControlLimit,
|
|
||||||
meanDifference: result.data.meanDifference,
|
|
||||||
upperControlLimit: result.data.upperControlLimit,
|
|
||||||
})
|
|
||||||
this.data = dataDetail
|
|
||||||
console.log(this.tableProps)
|
console.log(this.tableProps)
|
||||||
console.log(this.tableData)
|
console.log(this.tableData)
|
||||||
this.setrowspans()
|
|
||||||
// console.log(this.table)
|
// console.log(this.table)
|
||||||
// console.log(moreData,'1111')
|
// console.log(moreData,'1111')
|
||||||
// for (let i = 0; i < 30; i++) {
|
// for (let i = 0; i < 30; i++) {
|
||||||
@ -707,7 +540,7 @@ export default {
|
|||||||
this.dataForm.id = id || ""
|
this.dataForm.id = id || ""
|
||||||
// console.log(11111)
|
// console.log(11111)
|
||||||
// this.dataForm.dictTypeId = dictTypeId || "";
|
// this.dataForm.dictTypeId = dictTypeId || "";
|
||||||
this.drawer = true
|
this.visible = true
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs["dataForm"].resetFields();
|
this.$refs["dataForm"].resetFields();
|
||||||
if (this.dataForm.id) {
|
if (this.dataForm.id) {
|
||||||
@ -738,16 +571,16 @@ export default {
|
|||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
})
|
})
|
||||||
// this.$http
|
this.$http
|
||||||
// .get(this.urlOptions.getUserList, this.listQuery)
|
.get(this.urlOptions.getUserList, this.listQuery)
|
||||||
// .then(({ data: res }) => {
|
.then(({ data: res }) => {
|
||||||
// if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
// console.log(res.data);
|
console.log(res.data);
|
||||||
// this.userList = res.data.list
|
this.userList = res.data.list
|
||||||
// }
|
}
|
||||||
// })
|
})
|
||||||
// .catch(() => {
|
.catch(() => {
|
||||||
// })
|
})
|
||||||
},
|
},
|
||||||
// getCode() {
|
// getCode() {
|
||||||
// this.$http.post(this.urlOptions.getCodeURL)
|
// this.$http.post(this.urlOptions.getCodeURL)
|
||||||
@ -775,34 +608,6 @@ export default {
|
|||||||
})
|
})
|
||||||
.catch(() => { })
|
.catch(() => { })
|
||||||
},
|
},
|
||||||
handleClose() {
|
|
||||||
this.drawer = false
|
|
||||||
this.$refs.dataForm.resetFields()
|
|
||||||
},
|
|
||||||
dataFormSubmit() {
|
|
||||||
this.$refs["dataForm"].validate((valid) => {
|
|
||||||
if (!valid) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
this.$http[!this.dataForm.id ? "post" : "put"](this.urlOptions.submitURL, this.dataForm)
|
|
||||||
.then(({ data: res }) => {
|
|
||||||
if (res.code !== 0) {
|
|
||||||
return this.$message.error(res.msg);
|
|
||||||
}
|
|
||||||
this.$message({
|
|
||||||
message: this.$t("prompt.success"),
|
|
||||||
type: "success",
|
|
||||||
duration: 500,
|
|
||||||
onClose: () => {
|
|
||||||
this.drawer = false
|
|
||||||
this.$refs.dataForm.resetFields()
|
|
||||||
this.$emit("refreshDataList")
|
|
||||||
},
|
|
||||||
});
|
|
||||||
})
|
|
||||||
.catch(() => { });
|
|
||||||
});
|
|
||||||
},
|
|
||||||
// 表单提交
|
// 表单提交
|
||||||
dataFormSubmitHandle: debounce(
|
dataFormSubmitHandle: debounce(
|
||||||
function () {
|
function () {
|
||||||
|
@ -1,113 +0,0 @@
|
|||||||
<!--
|
|
||||||
* @Author: zhp
|
|
||||||
* @Date: 2023-04-18 09:19:02
|
|
||||||
* @LastEditTime: 2023-07-20 16:34:04
|
|
||||||
* @LastEditors: zhp
|
|
||||||
* @Description:
|
|
||||||
-->
|
|
||||||
<template>
|
|
||||||
<el-popover placement="right" width="400" trigger="click">
|
|
||||||
<base-table id="palletTable" :table-props="tableProps" ref="palletTable1" :table-data="tableData">
|
|
||||||
</base-table>
|
|
||||||
<!-- <i slot="reference" class="el-icon-plus" @click="showInnerTable(injectData.id)" /> -->
|
|
||||||
<span slot="reference" @click="showInnerTable(injectData.id)">{{ injectData.testUserName}} </span>
|
|
||||||
</el-popover>
|
|
||||||
</template>
|
|
||||||
<script>
|
|
||||||
import i18n from "@/i18n"
|
|
||||||
import { timeFormatter } from '@/filters'
|
|
||||||
|
|
||||||
const tableProps = [
|
|
||||||
{
|
|
||||||
prop: "partAverage",
|
|
||||||
label: '零件均值',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: "range",
|
|
||||||
label:'零件极差',
|
|
||||||
// filter: timeFormatter
|
|
||||||
},
|
|
||||||
];
|
|
||||||
export default {
|
|
||||||
name: 'InnerTable',
|
|
||||||
props: {
|
|
||||||
injectData: {
|
|
||||||
type: Object,
|
|
||||||
default: () => ({})
|
|
||||||
},
|
|
||||||
itemProp: {
|
|
||||||
type: String
|
|
||||||
}
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
tableProps,
|
|
||||||
list: this.injectData,
|
|
||||||
tableData: [],
|
|
||||||
urlOptions: {
|
|
||||||
getTabularComputationsURL: '/gage/qmsGageGrrTester/table'
|
|
||||||
},
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
showInnerTable() {
|
|
||||||
this.tableData = []
|
|
||||||
this.$http.get(this.urlOptions.getTabularComputationsURL, {
|
|
||||||
params: {
|
|
||||||
gageGrrId: this.injectData.gageGrrId
|
|
||||||
},
|
|
||||||
})
|
|
||||||
.then(({ data: result }) => {
|
|
||||||
if (result.code === 0) {
|
|
||||||
console.log(result)
|
|
||||||
let partAverageArr = []
|
|
||||||
let rangeArr = []
|
|
||||||
// let aa = []
|
|
||||||
// let moreData = [
|
|
||||||
// // {
|
|
||||||
// // testUserName: null,
|
|
||||||
// // data: [
|
|
||||||
// // {
|
|
||||||
// // orderNumber: result.data.qmsGageGrrTesterDTOList[i].list[j].orderNumber,
|
|
||||||
// // data: aa
|
|
||||||
// // },
|
|
||||||
// // {
|
|
||||||
// // equipmentName: '机器人投入数',
|
|
||||||
// // data: aa
|
|
||||||
// // },
|
|
||||||
// // {
|
|
||||||
// // equipmentName: '良品总投入数',
|
|
||||||
// // data: aa
|
|
||||||
// // },
|
|
||||||
// // {
|
|
||||||
// // equipmentName: '工序损耗',
|
|
||||||
// // data: aa
|
|
||||||
// // }
|
|
||||||
// // ]
|
|
||||||
// // },
|
|
||||||
// ]
|
|
||||||
|
|
||||||
for (let i = 0; i < result.data.qmsGageGrrTesterDTOList.length; i++) {
|
|
||||||
if (this.injectData.testUserName === result.data.qmsGageGrrTesterDTOList[i].testUserName) {
|
|
||||||
Object.keys(result.data.qmsGageGrrTesterDTOList[i].partAverage).forEach((item) => {
|
|
||||||
partAverageArr.push({
|
|
||||||
partAverage:result.data.qmsGageGrrTesterDTOList[i].partAverage[item]
|
|
||||||
})
|
|
||||||
})
|
|
||||||
Object.keys(result.data.qmsGageGrrTesterDTOList[i].range).forEach((item) => {
|
|
||||||
rangeArr.push(result.data.qmsGageGrrTesterDTOList[i].range[item])
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
this.tableData = partAverageArr
|
|
||||||
rangeArr.forEach((item,index) => {
|
|
||||||
this.tableData[index]['range'] = item
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.catch(() => {
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
@ -1,291 +0,0 @@
|
|||||||
<!--
|
|
||||||
* @Author: zhp
|
|
||||||
* @Date: 2023-02-14 15:02:26
|
|
||||||
* @LastEditTime: 2023-07-21 17:02:05
|
|
||||||
* @LastEditors: zhp
|
|
||||||
* @Description:
|
|
||||||
-->
|
|
||||||
<template>
|
|
||||||
<el-drawer :append-to-body="true" title="" :visible.sync="drawer" size="50%">
|
|
||||||
<el-form :model="form" ref="dataForm" :rules="dataRule" label-width="80px">
|
|
||||||
<!--省略,其他表单项-->
|
|
||||||
<el-row class="row" v-for="(item,index) in form.list" :key="index">
|
|
||||||
<!--设置动态标签,只在部门第一行显示-->
|
|
||||||
<el-col :span="5">
|
|
||||||
<el-form-item label="检测人员" :prop="'list.' + index +'.gageGrrTesterId'" :rules="{
|
|
||||||
required: true, message: '请选择部门', trigger: 'blur'
|
|
||||||
}">
|
|
||||||
<el-select class="input" v-model="item.gageGrrTesterId">
|
|
||||||
<el-option v-for="item in userList" :key="item.id" :label="item.realName" :value="item.id"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="5">
|
|
||||||
<el-form-item label="序号" :prop="'list.' + index +'.orderNumber'" :rules="{
|
|
||||||
required: true, message: '请输入人数', trigger: 'blur'
|
|
||||||
}">
|
|
||||||
<el-input @change="getOrderNumber" class="input" v-model="item.orderNumber" placeholder="人数"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="5">
|
|
||||||
<el-form-item label="零件" :prop="'list.' + index +'.part'">
|
|
||||||
<el-input @change="getPart" class="input" v-model="item.part" placeholder="备注"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="5">
|
|
||||||
<el-form-item label="测量值" :prop="'list.' + index +'.measuredData'">
|
|
||||||
<el-input class="input" v-model="item.bz" placeholder="备注"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="1">
|
|
||||||
<div> <i class="el-icon-circle-plus" @click="addDept"></i></div>
|
|
||||||
<div>
|
|
||||||
<i v-if="form.list.length>1" class="el-icon-remove-outline" @click="delDept(index)"></i>
|
|
||||||
</div>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-form-item style="float: right;margin-right: 30px;">
|
|
||||||
<el-button @click="handleClose()">{{ $t('cancel') }}</el-button>
|
|
||||||
<el-button type="primary" @click="dataFormSubmit()">{{ $t('confirm') }} </el-button>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
</el-drawer>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import debounce from "lodash/debounce";
|
|
||||||
import basicAdd from "@/mixins/basic-add";
|
|
||||||
// import InnerTable from "./innerTable"
|
|
||||||
// import available from "./available";
|
|
||||||
// const tableProps = [
|
|
||||||
// {
|
|
||||||
// prop: 'equipmentName',
|
|
||||||
// label: '设备名称'
|
|
||||||
// },
|
|
||||||
// // {
|
|
||||||
// // prop: 'lineA',
|
|
||||||
// // label: '有效时间(h)',
|
|
||||||
// // children: [
|
|
||||||
// // {
|
|
||||||
// // prop: 'workTime',
|
|
||||||
// // label: '工作时长'
|
|
||||||
// // },
|
|
||||||
// // {
|
|
||||||
// // prop: 'workTimeRate',
|
|
||||||
// // label: '工作时长比率'
|
|
||||||
// // }
|
|
||||||
// // ]
|
|
||||||
// // },
|
|
||||||
// // {
|
|
||||||
// // prop: 'lineB',
|
|
||||||
// // label: '关机时间(h)',
|
|
||||||
// // children: [
|
|
||||||
// // {
|
|
||||||
// // prop: 'downTime',
|
|
||||||
// // label: '停机时长'
|
|
||||||
// // },
|
|
||||||
// // {
|
|
||||||
// // prop: 'downTimeRate',
|
|
||||||
// // label: '停机时长比率'
|
|
||||||
// // }
|
|
||||||
// // ]
|
|
||||||
// // },
|
|
||||||
// // {
|
|
||||||
// // prop: 'lineC',
|
|
||||||
// // label: '中断损失',
|
|
||||||
// // children: [
|
|
||||||
// // {
|
|
||||||
// // prop: 'faultTime',
|
|
||||||
// // label: '故障时长'
|
|
||||||
// // },
|
|
||||||
// // {
|
|
||||||
// // prop: 'faultTimeRate',
|
|
||||||
// // label: '故障时长比率'
|
|
||||||
// // }
|
|
||||||
// // ]
|
|
||||||
// // },
|
|
||||||
// // {
|
|
||||||
// // prop: 'lineD',
|
|
||||||
// // label: '速度损失',
|
|
||||||
// // children: [
|
|
||||||
// // {
|
|
||||||
// // prop: 'actualProcessingSpeed',
|
|
||||||
// // label: '实际加工速度'
|
|
||||||
// // },
|
|
||||||
// // {
|
|
||||||
// // prop: 'theoreticalProcessingSpeed',
|
|
||||||
// // label: '理论加工速度'
|
|
||||||
// // },
|
|
||||||
// // {
|
|
||||||
// // prop: 'speedActuationRate',
|
|
||||||
// // label: '速度开动率'
|
|
||||||
// // }
|
|
||||||
// // ]
|
|
||||||
// // }
|
|
||||||
// ]
|
|
||||||
export default {
|
|
||||||
mixins: [basicAdd],
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
urlOptions: {
|
|
||||||
submitURL: "/gage/qmsGageGrrTester",
|
|
||||||
// infoURL: "/gage/qmsGageGrr/{ id }",
|
|
||||||
// dictionaryDetailList: '/mutual/qmsDataDictionaryDetail/page',
|
|
||||||
getUserList: '/sys/user/page',
|
|
||||||
// getGageTypeList: '/gage/qmsGageType/page',
|
|
||||||
// getGageList: '/gage/qmsGage/page',
|
|
||||||
// getCustomerListURL: '/basic/qmsCustomer/page',
|
|
||||||
// getTabularComputationsURL: '/gage/qmsGageGrrTester/table'
|
|
||||||
},
|
|
||||||
userList:[],
|
|
||||||
drawer: false,
|
|
||||||
form: {
|
|
||||||
gageGrrId:null,
|
|
||||||
list: [
|
|
||||||
{ gageGrrTesterId: null, orderNumber: null, part: null, measuredData: null },
|
|
||||||
{ gageGrrTesterId: null, orderNumber: null, part: null, measuredData: null }
|
|
||||||
],//默认展示一行部门数据
|
|
||||||
}
|
|
||||||
};
|
|
||||||
},
|
|
||||||
computed: {
|
|
||||||
dataRule() {
|
|
||||||
return {
|
|
||||||
publicErrand: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: this.$t("validate.required"),
|
|
||||||
trigger: "blur",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
gageId: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: this.$t("validate.required"),
|
|
||||||
trigger: "change",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
measurementNumber: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: this.$t("validate.required"),
|
|
||||||
trigger: "blur",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
partNumber: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: this.$t("validate.required"),
|
|
||||||
trigger: "blur",
|
|
||||||
},
|
|
||||||
]
|
|
||||||
};
|
|
||||||
},
|
|
||||||
},
|
|
||||||
mounted () {
|
|
||||||
this.getData()
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
init(id, ) {
|
|
||||||
this.form.gageGrrId = id || ""
|
|
||||||
// console.log(11111)
|
|
||||||
// this.dataForm.dictTypeId = dictTypeId || "";
|
|
||||||
this.drawer = true
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$refs["dataForm"].resetFields()
|
|
||||||
// if (this.dataForm.id) {
|
|
||||||
// // this.getInfo()
|
|
||||||
// } else {
|
|
||||||
// // this.getCode()
|
|
||||||
// }
|
|
||||||
});
|
|
||||||
},
|
|
||||||
getPart(val) {
|
|
||||||
let arr = []
|
|
||||||
this.form.list.forEach(ele => {
|
|
||||||
arr.push(item.orderNumber)
|
|
||||||
})
|
|
||||||
const uniqueArr = [...new Set(arr)]
|
|
||||||
sortArr = uniqueArr.sort()
|
|
||||||
const maxValue = sortArr[sortArr.length - 1]
|
|
||||||
this.$message({
|
|
||||||
message: '当前零件最大值为' + maxValue + '请保持其他测量人员零件最大值一致',
|
|
||||||
type: 'warning'
|
|
||||||
});
|
|
||||||
},
|
|
||||||
getOrderNumber(val) {
|
|
||||||
let arr = []
|
|
||||||
this.form.list.forEach(ele => {
|
|
||||||
arr.push(item.orderNumber)
|
|
||||||
})
|
|
||||||
const uniqueArr = [...new Set(arr)]
|
|
||||||
sortArr = uniqueArr.sort()
|
|
||||||
const maxValue = sortArr[sortArr.length - 1]
|
|
||||||
this.$message({
|
|
||||||
message: '当前序号最大值为'+maxValue+'请保持其他测量人员序号最大值一致',
|
|
||||||
type: 'warning'
|
|
||||||
});
|
|
||||||
},
|
|
||||||
addDept() {
|
|
||||||
this.form.list.push({ bm: "", bmrs: "", bz: "" });
|
|
||||||
},
|
|
||||||
delDept(index) {
|
|
||||||
this.form.list.splice(index, 1);
|
|
||||||
},
|
|
||||||
getData() {
|
|
||||||
this.$http
|
|
||||||
.get(this.urlOptions.getUserList, this.listQuery)
|
|
||||||
.then(({ data: res }) => {
|
|
||||||
if (res.code === 0) {
|
|
||||||
console.log(res.data);
|
|
||||||
this.userList = res.data.list
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.catch(() => {
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// getCode() {
|
|
||||||
// this.$http.post(this.urlOptions.getCodeURL)
|
|
||||||
// .then(({ data: res }) => {
|
|
||||||
// if (res.code === 0) {
|
|
||||||
// console.log(res);
|
|
||||||
// this.dataForm.customSamplingCode = res.data
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
// .catch(() => {
|
|
||||||
// });
|
|
||||||
// },
|
|
||||||
// 获取信息
|
|
||||||
handleClose() {
|
|
||||||
this.drawer = false
|
|
||||||
this.$refs.dataForm.resetFields()
|
|
||||||
},
|
|
||||||
dataFormSubmit() {
|
|
||||||
console.log(this.form)
|
|
||||||
this.$refs["dataForm"].validate((valid) => {
|
|
||||||
if (!valid) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
this.$http.post(this.urlOptions.submitURL, this.form)
|
|
||||||
.then(({ data: res }) => {
|
|
||||||
if (res.code !== 0) {
|
|
||||||
return this.$message.error(res.msg);
|
|
||||||
}
|
|
||||||
this.$message({
|
|
||||||
message: this.$t("prompt.success"),
|
|
||||||
type: "success",
|
|
||||||
duration: 500,
|
|
||||||
onClose: () => {
|
|
||||||
this.drawer = false
|
|
||||||
this.$refs.dataForm.resetFields()
|
|
||||||
this.$emit("refreshDataList")
|
|
||||||
},
|
|
||||||
});
|
|
||||||
})
|
|
||||||
.catch(() => { });
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 表单提交
|
|
||||||
},
|
|
||||||
};
|
|
||||||
</script>
|
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-01-11 09:24:58
|
* @Date: 2023-01-11 09:24:58
|
||||||
* @LastEditTime: 2023-07-21 15:39:23
|
* @LastEditTime: 2023-07-13 09:31:24
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -20,11 +20,11 @@
|
|||||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||||
@pagination="getDataList" />
|
@pagination="getDataList" />
|
||||||
<!-- 弹窗, 新增 / 修改 -->
|
<!-- 弹窗, 新增 / 修改 -->
|
||||||
<!-- <base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||||
@confirm="handleConfirm" :before-close="handleCancel">
|
@confirm="handleConfirm" :before-close="handleCancel">
|
||||||
<gapeGrs-add ref="addOrUpdate" @refreshDataList="successSubmit">
|
<gapeGrs-add ref="addOrUpdate" @refreshDataList="successSubmit">
|
||||||
</gapeGrs-add>
|
</gapeGrs-add>
|
||||||
</base-dialog> -->
|
</base-dialog>
|
||||||
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||||
<gage-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit"></gage-search>
|
<gage-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit"></gage-search>
|
||||||
@ -34,7 +34,7 @@
|
|||||||
{{ $t("close") }}
|
{{ $t("close") }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button size="small" class="btnTextStyle" type="primary" plain @click="handleSearchReset">{{ $t("reset")
|
<el-button size="small" class="btnTextStyle" type="primary" plain @click="handleSearchReset">{{ $t("reset")
|
||||||
}}</el-button>
|
}}</el-button>
|
||||||
<el-button type="primary" size="small" class="btnTextStyle" @click="handleSearchConfirm">
|
<el-button type="primary" size="small" class="btnTextStyle" @click="handleSearchConfirm">
|
||||||
{{ $t("search") }}
|
{{ $t("search") }}
|
||||||
</el-button>
|
</el-button>
|
||||||
@ -42,8 +42,6 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
</base-dialog>
|
</base-dialog>
|
||||||
<report-show ref="reportOrUpdate" v-if="reportShow"></report-show>
|
<report-show ref="reportOrUpdate" v-if="reportShow"></report-show>
|
||||||
<gapeGrs-add ref="gapeGrsAddOrUpdate" v-if="gapeGrsAddShow" @refreshDataList="getDataList">
|
|
||||||
</gapeGrs-add>
|
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</template>
|
</template>
|
||||||
@ -54,7 +52,6 @@ import gapeGrsAdd from "./components/gageGrs-add"
|
|||||||
import reportShow from "./components/report-show"
|
import reportShow from "./components/report-show"
|
||||||
import gageSearch from "./components/gageSearch"
|
import gageSearch from "./components/gageSearch"
|
||||||
import basicSearch from "@/mixins/basic-search"
|
import basicSearch from "@/mixins/basic-search"
|
||||||
|
|
||||||
import { timeFormatter } from '@/filters'
|
import { timeFormatter } from '@/filters'
|
||||||
import i18n from "@/i18n"
|
import i18n from "@/i18n"
|
||||||
const tableProps = [
|
const tableProps = [
|
||||||
@ -163,7 +160,6 @@ export default {
|
|||||||
deleteURL: "/gage/qmsGageGrr",
|
deleteURL: "/gage/qmsGageGrr",
|
||||||
exportUrl: '/gage/qmsGageGrr/export'
|
exportUrl: '/gage/qmsGageGrr/export'
|
||||||
},
|
},
|
||||||
gapeGrsAddShow:false,
|
|
||||||
grrReportData:{},
|
grrReportData:{},
|
||||||
dialogTableVisible:false,
|
dialogTableVisible:false,
|
||||||
tableProps,
|
tableProps,
|
||||||
@ -299,11 +295,11 @@ export default {
|
|||||||
})
|
})
|
||||||
.catch(() => { });
|
.catch(() => { });
|
||||||
} else if (val.type === 'edit') {
|
} else if (val.type === 'edit') {
|
||||||
this.gapeGrsAddShow = true
|
this.addOrUpdateVisible = true
|
||||||
// this.addOrEditTitle = this.$t('edit')
|
this.addOrEditTitle = this.$t('edit')
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.gapeGrsAddOrUpdate.init(val.data.id);
|
this.$refs.addOrUpdate.init(val.data.id);
|
||||||
})
|
});
|
||||||
} else if (val.type === 'parameter') {
|
} else if (val.type === 'parameter') {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
name: 'gage-qmsGageTypeDifferenceParameter',
|
name: 'gage-qmsGageTypeDifferenceParameter',
|
||||||
@ -336,11 +332,9 @@ export default {
|
|||||||
this.exportHandle();
|
this.exportHandle();
|
||||||
break;
|
break;
|
||||||
case "add":
|
case "add":
|
||||||
this.gapeGrsAddShow = true
|
this.addOrEditTitle = '新增'
|
||||||
// this.addOrEditTitle = this.$t('edit')
|
this.addOrUpdateVisible = true;
|
||||||
this.$nextTick(() => {
|
this.addOrUpdateHandle()
|
||||||
this.$refs.gapeGrsAddOrUpdate.init()
|
|
||||||
})
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
console.log(val)
|
console.log(val)
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-04-17 14:23:17
|
* @Date: 2023-04-17 14:23:17
|
||||||
* @LastEditTime: 2023-07-21 14:21:04
|
* @LastEditTime: 2023-07-17 14:33:44
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -9,9 +9,9 @@
|
|||||||
<el-card shadow="never" class="aui-card--fill">
|
<el-card shadow="never" class="aui-card--fill">
|
||||||
<div class="mod-sys__user">
|
<div class="mod-sys__user">
|
||||||
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
|
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
|
||||||
<!-- <el-badge :value="5" class="item">
|
<el-badge :value="5" class="item">
|
||||||
<el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
|
<el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
|
||||||
</el-badge> -->
|
</el-badge>
|
||||||
</SearchBar>
|
</SearchBar>
|
||||||
<base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1"
|
<base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1"
|
||||||
:limit="listQuery.limit" :table-data="tableData">
|
:limit="listQuery.limit" :table-data="tableData">
|
||||||
@ -27,14 +27,32 @@
|
|||||||
</qualityChange-add>
|
</qualityChange-add>
|
||||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||||
</base-dialog>
|
</base-dialog>
|
||||||
|
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||||
|
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||||
|
<qualityChange-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit">
|
||||||
|
</qualityChange-search>
|
||||||
|
<el-row slot="footer" type="flex" justify="end">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-button size="small" type="primary" plain class="btnTextStyle" @click="handleSearchCancel">
|
||||||
|
{{ $t("close") }}
|
||||||
|
</el-button>
|
||||||
|
<el-button size="small" class="btnTextStyle" type="primary" plain @click="handleSearchReset">{{
|
||||||
|
$t("reset")
|
||||||
|
}}</el-button>
|
||||||
|
<el-button type="primary" size="small" class="btnTextStyle" @click="handleSearchConfirm">
|
||||||
|
{{ $t("search") }}
|
||||||
|
</el-button>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</base-dialog>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import basicPage from "@/mixins/basic-page"
|
import basicPage from "@/mixins/basic-page"
|
||||||
// import basicSearch from "@/mixins/basic-search"
|
import basicSearch from "@/mixins/basic-search"
|
||||||
// import qualityChangeSearch from "./components/qualityChangeSearch.vue"
|
import qualityChangeSearch from "./components/qualityChangeSearch.vue"
|
||||||
import qualityChangeAdd from "./components/qualityChange-add.vue"
|
import qualityChangeAdd from "./components/qualityChange-add.vue"
|
||||||
import InnerTable from "./components/innerTable"
|
import InnerTable from "./components/innerTable"
|
||||||
import { timeFormatter, handleProcess, handleProductType } from '@/filters'
|
import { timeFormatter, handleProcess, handleProductType } from '@/filters'
|
||||||
@ -109,7 +127,7 @@ const tableBtn = [
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
export default {
|
export default {
|
||||||
mixins: [basicPage],
|
mixins: [basicPage, basicSearch],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
urlOptions: {
|
urlOptions: {
|
||||||
@ -138,85 +156,15 @@ export default {
|
|||||||
addOrUpdateVisible: false,
|
addOrUpdateVisible: false,
|
||||||
productOrUpdateVisible: false,
|
productOrUpdateVisible: false,
|
||||||
formConfig: [
|
formConfig: [
|
||||||
{
|
// {
|
||||||
type: 'select',
|
// type: "",
|
||||||
label: i18n.t('researchquality.changeSource'),
|
// label: i18n.t("params.paramCode"),
|
||||||
placeholder: i18n.t('researchquality.changeSource'),
|
// placeholder: i18n.t("params.paramCode"),
|
||||||
selectOptions: [
|
// param: "paramCode",
|
||||||
{
|
// },
|
||||||
id: '0',
|
// {
|
||||||
name: '工程变更'
|
// type: "separate",
|
||||||
},
|
// },
|
||||||
{
|
|
||||||
id: '1',
|
|
||||||
name: '设计变更'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: '2',
|
|
||||||
name: 'CCB'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
param: 'changeSource'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'select',
|
|
||||||
label: i18n.t('researchquality.phase'),
|
|
||||||
placeholder: i18n.t('researchquality.phase'),
|
|
||||||
selectOptions: [
|
|
||||||
{
|
|
||||||
id: '0',
|
|
||||||
name: '设计'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: '1',
|
|
||||||
name: '计划'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: '2',
|
|
||||||
name: '验证'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: '3',
|
|
||||||
name: '发布'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
param: 'phase'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'select',
|
|
||||||
label: i18n.t('researchquality.qualityChangeStatus'),
|
|
||||||
placeholder: i18n.t('researchquality.qualityChangeStatus'),
|
|
||||||
selectOptions: [],
|
|
||||||
param: 'status'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'select',
|
|
||||||
label: i18n.t('researchquality.temporaryChange'),
|
|
||||||
placeholder: i18n.t('researchquality.temporaryChange'),
|
|
||||||
selectOptions: [
|
|
||||||
{
|
|
||||||
id: '0',
|
|
||||||
name: '是'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: '1',
|
|
||||||
name: '否'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
param: 'temporaryChange'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'datePicker',
|
|
||||||
label: i18n.t('time'),
|
|
||||||
dateType: 'datetimerange',
|
|
||||||
format: 'yyyy-MM-dd HH:mm:ss',
|
|
||||||
valueFormat: 'yyyy-MM-ddTHH:mm:ss',
|
|
||||||
rangeSeparator: '-',
|
|
||||||
startPlaceholder: '开始时间',
|
|
||||||
endPlaceholder: '结束时间',
|
|
||||||
param: 'timeSlot',
|
|
||||||
width: 350
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
type: "button",
|
type: "button",
|
||||||
btnName: i18n.t('search'),
|
btnName: i18n.t('search'),
|
||||||
@ -242,7 +190,7 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
// qualityChangeSearch,
|
qualityChangeSearch,
|
||||||
// supplierProduct,
|
// supplierProduct,
|
||||||
qualityChangeAdd
|
qualityChangeAdd
|
||||||
},
|
},
|
||||||
@ -331,11 +279,10 @@ export default {
|
|||||||
switch (val.btnName) {
|
switch (val.btnName) {
|
||||||
case "search":
|
case "search":
|
||||||
// this.listQuery.paramCode = val.paramCode;
|
// this.listQuery.paramCode = val.paramCode;
|
||||||
this.listQuery.changeSource = val.changeSource ? val.changeSource : undefined
|
this.listQuery.supplierName = val.supplierName ? val.supplierName : undefined
|
||||||
this.listQuery.qualityChangeStatus = val.qualityChangeStatus ? val.qualityChangeStatus : undefined
|
this.listQuery.supplierStatus = val.supplierStatus ? val.supplierStatus : undefined
|
||||||
this.listQuery.qualityChangeStatus = val.qualityChangeStatus ? val.qualityChangeStatus : undefined
|
this.listQuery.supplierTypeId = val.supplierTypeId ? val.supplierTypeId : undefined
|
||||||
this.listQuery.startTime = val.timeSlot ? val.timeSlot[0] : null
|
this.listQuery.ment = this.ment ? this.ment : undefined
|
||||||
this.listQuery.endTime = val.timeSlot ? val.timeSlot[1] : null
|
|
||||||
// console.log(i18n);
|
// console.log(i18n);
|
||||||
this.listQuery.page = 1;
|
this.listQuery.page = 1;
|
||||||
this.getDataList();
|
this.getDataList();
|
||||||
|
@ -109,9 +109,6 @@ export default {
|
|||||||
this.getUser()
|
this.getUser()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
init(val) {
|
|
||||||
this.ruleForm = val
|
|
||||||
},
|
|
||||||
setDay() {
|
setDay() {
|
||||||
switch (this.ruleForm.reminderTimeMonth) {
|
switch (this.ruleForm.reminderTimeMonth) {
|
||||||
case 2:
|
case 2:
|
||||||
@ -199,7 +196,7 @@ export default {
|
|||||||
console.log('nich ', this.chooseSupplierList)
|
console.log('nich ', this.chooseSupplierList)
|
||||||
this.$refs[formName].validate((valid) => {
|
this.$refs[formName].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$http[!this.ruleForm.id ? "post" : "put"](this.urlOptions.addURL, this.ruleForm)
|
this.$http["post"](this.urlOptions.addURL, this.ruleForm)
|
||||||
.then(({ data: res }) => {
|
.then(({ data: res }) => {
|
||||||
if (res.code !== 0) {
|
if (res.code !== 0) {
|
||||||
return this.$message.error(res.msg);
|
return this.$message.error(res.msg);
|
||||||
@ -210,7 +207,7 @@ export default {
|
|||||||
supplierId: item,
|
supplierId: item,
|
||||||
evaluationPlanId: res.data
|
evaluationPlanId: res.data
|
||||||
}
|
}
|
||||||
this.$http[!this.ruleForm.id ? "post" : "put"](this.urlOptions.addQmsRelation, param)
|
this.$http["post"](this.urlOptions.addQmsRelation, param)
|
||||||
.then(({ data: res }) => {
|
.then(({ data: res }) => {
|
||||||
if (res.code !== 0) {
|
if (res.code !== 0) {
|
||||||
return this.$message.error(res.msg);
|
return this.$message.error(res.msg);
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: Do not edit
|
* @Author: Do not edit
|
||||||
* @Date: 2023-07-04 09:34:07
|
* @Date: 2023-07-04 09:34:07
|
||||||
* @LastEditTime: 2023-07-21 16:38:39
|
* @LastEditTime: 2023-07-05 15:03:52
|
||||||
* @LastEditors: DY
|
* @LastEditors: DY
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -9,40 +9,28 @@
|
|||||||
<el-card shadow="never" class="aui-card--fill">
|
<el-card shadow="never" class="aui-card--fill">
|
||||||
<el-tabs tab-position="left" style="min-height: 200px;">
|
<el-tabs tab-position="left" style="min-height: 200px;">
|
||||||
<el-tab-pane label="项目概述">
|
<el-tab-pane label="项目概述">
|
||||||
<first ref="first" @refreshDataList="refreashData"></first>
|
<first></first>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="要求清单">
|
<el-tab-pane label="配置管理">配置管理</el-tab-pane>
|
||||||
<second></second>
|
<el-tab-pane label="角色管理">角色管理</el-tab-pane>
|
||||||
</el-tab-pane>
|
<el-tab-pane label="定时任务补偿">定时任务补偿</el-tab-pane>
|
||||||
<el-tab-pane label="项目设置">项目设置</el-tab-pane>
|
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</el-card>
|
</el-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import first from './first.vue'
|
import first from './first.vue'
|
||||||
import second from './second.vue'
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: { first, second },
|
components: { first },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
project: {}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
refreashData() {
|
|
||||||
this.$emit("refresh");
|
|
||||||
},
|
|
||||||
init(val) {
|
|
||||||
// this.project = val
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$refs.first.init(val);
|
|
||||||
});
|
|
||||||
console.log('你好', val)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
@ -1,15 +1,16 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: Do not edit
|
* @Author: Do not edit
|
||||||
* @Date: 2023-06-19 14:59:34
|
* @Date: 2023-06-19 14:59:34
|
||||||
* @LastEditTime: 2023-07-21 10:25:23
|
* @LastEditTime: 2023-07-11 14:22:43
|
||||||
* @LastEditors: DY
|
* @LastEditors: DY
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div v-if="show">
|
<div v-if="show">
|
||||||
|
<h1>模板编辑</h1>
|
||||||
<div class="addDiv">
|
<div class="addDiv">
|
||||||
<div style="width: 800px">
|
<div style="width: 300px">
|
||||||
<el-steps :active="activeStep" space="150px">
|
<el-steps direction="vertical" :active="activeStep" space="70px">
|
||||||
<el-step title="定义"></el-step>
|
<el-step title="定义"></el-step>
|
||||||
<el-step title="项目"></el-step>
|
<el-step title="项目"></el-step>
|
||||||
<el-step title="排序"></el-step>
|
<el-step title="排序"></el-step>
|
||||||
@ -54,13 +55,13 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-row :gutter="5">
|
<el-row :gutter="5">
|
||||||
<el-col :span="16">
|
<el-col :span="18">
|
||||||
<el-table
|
<el-table
|
||||||
ref="multipleTable"
|
ref="multipleTable"
|
||||||
:data="tableData"
|
:data="tableData"
|
||||||
tooltip-effect="dark"
|
tooltip-effect="dark"
|
||||||
style="width: 80%; min-height: 26vh; overflow-y: auto"
|
style="width: 80%; min-height: 26vh; overflow-y: auto"
|
||||||
@select="handleSelectionChange">
|
@selection-change="handleSelectionChange">
|
||||||
<el-table-column prop="title" label="标题" width="120" />
|
<el-table-column prop="title" label="标题" width="120" />
|
||||||
<el-table-column prop="projectTypeName" label="类型" width="120" />
|
<el-table-column prop="projectTypeName" label="类型" width="120" />
|
||||||
<el-table-column prop="requirement" label="要求" />
|
<el-table-column prop="requirement" label="要求" />
|
||||||
@ -68,7 +69,7 @@
|
|||||||
<el-table-column type="selection" label="全选" width="55" />
|
<el-table-column type="selection" label="全选" width="55" />
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-col>
|
</el-col>
|
||||||
<!-- <el-col :span="6">
|
<el-col :span="6">
|
||||||
<div style="margin-top: -30px">
|
<div style="margin-top: -30px">
|
||||||
<p style="font-size: 18px">已选</p>
|
<p style="font-size: 18px">已选</p>
|
||||||
<div class="chooseDiv">
|
<div class="chooseDiv">
|
||||||
@ -78,7 +79,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-col> -->
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="visibleList[2]">
|
<div v-if="visibleList[2]">
|
||||||
@ -97,8 +98,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<draggable v-show="element.dragVisible" v-model="element.list" group="title" animation="1000" @start="onStart" @end="onEnd2">
|
<draggable v-show="element.dragVisible" v-model="element.list" group="title" animation="1000" @start="onStart" @end="onEnd2">
|
||||||
<transition-group>
|
<transition-group>
|
||||||
<div v-for="item in element.list" :key="item.projectId" style="margin: 5px 15px; border-bottom: 1px solid grey">
|
<div v-for="item in element.list" :key="item.id" style="margin: 5px 15px; border-bottom: 1px solid grey">
|
||||||
<p>{{ item.projectName }}</p>
|
<p>{{ item.title }}</p>
|
||||||
</div>
|
</div>
|
||||||
</transition-group>
|
</transition-group>
|
||||||
</draggable>
|
</draggable>
|
||||||
@ -118,7 +119,7 @@
|
|||||||
<el-input type="number" style="width: 100px" v-model="item.weight" placeholder="权重"></el-input>
|
<el-input type="number" style="width: 100px" v-model="item.weight" placeholder="权重"></el-input>
|
||||||
<div class="smallDiv">
|
<div class="smallDiv">
|
||||||
<div v-for="(it, keyValue) in item.list" :key="keyValue" class="contentDiv">
|
<div v-for="(it, keyValue) in item.list" :key="keyValue" class="contentDiv">
|
||||||
<p style="border: 1px solid grey; width: 80px; text-align: center">{{ it.projectName }}</p>
|
<p style="border: 1px solid grey; width: 80px; text-align: center">{{ it.title }}</p>
|
||||||
<el-input type="number" style="width: 100px" v-model="it.benchmarkScore" placeholder="基准分"></el-input>
|
<el-input type="number" style="width: 100px" v-model="it.benchmarkScore" placeholder="基准分"></el-input>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -148,8 +149,7 @@ import draggable from 'vuedraggable'
|
|||||||
export default {
|
export default {
|
||||||
components: { draggable },
|
components: { draggable },
|
||||||
props: {
|
props: {
|
||||||
show: Boolean,
|
show: Boolean
|
||||||
id: String
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -157,16 +157,12 @@ export default {
|
|||||||
addtURL: "/supplier/qmsEvaluationTemplate",
|
addtURL: "/supplier/qmsEvaluationTemplate",
|
||||||
getEvaluationListURL: '/supplier/qmsEvaluationItemList/page',
|
getEvaluationListURL: '/supplier/qmsEvaluationItemList/page',
|
||||||
getTypeListURL: '/supplier/qmsProjectType/page',
|
getTypeListURL: '/supplier/qmsProjectType/page',
|
||||||
saveDataURL: '/supplier/qmsEvaluationTemplateProjectType/saveAll',
|
saveDataURL: '/supplier/qmsEvaluationTemplateProjectType/saveAll'
|
||||||
updateDateURL: '/supplier/qmsEvaluationTemplateProjectType/updateAll',
|
|
||||||
getInfoURL: '/supplier/qmsEvaluationTemplate',
|
|
||||||
getChooseTemURL: '/supplier/qmsEvaluationTemplateProjectType/page'
|
|
||||||
},
|
},
|
||||||
evaluationTemplateId: '',
|
evaluationTemplateId: '',
|
||||||
visibleList: [true, false, false, false, false],
|
visibleList: [true, false, false, false, false],
|
||||||
activeStep: 0,
|
activeStep: 0,
|
||||||
ruleForm: {
|
ruleForm: {
|
||||||
id: undefined,
|
|
||||||
code: '',
|
code: '',
|
||||||
name: '',
|
name: '',
|
||||||
remark: ''
|
remark: ''
|
||||||
@ -184,8 +180,6 @@ export default {
|
|||||||
paramsList: [],
|
paramsList: [],
|
||||||
dragVisible: false,
|
dragVisible: false,
|
||||||
unfoldId: '',
|
unfoldId: '',
|
||||||
dataListLoading: false,
|
|
||||||
chooseTemList: [],
|
|
||||||
rules: {
|
rules: {
|
||||||
code: [
|
code: [
|
||||||
{ required: true, message: '请输入code', trigger: 'blur' }
|
{ required: true, message: '请输入code', trigger: 'blur' }
|
||||||
@ -198,67 +192,15 @@ export default {
|
|||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.ruleForm = {
|
this.ruleForm = {
|
||||||
id: undefined,
|
|
||||||
code: '',
|
code: '',
|
||||||
name: '',
|
name: '',
|
||||||
remark: ''
|
remark: ''
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
this.getTypeList()
|
this.getTypeList()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
init(id) {
|
|
||||||
console.log('nihc', id)
|
|
||||||
this.activeStep = 0
|
|
||||||
this.visibleList = [true, false, false, false, false]
|
|
||||||
this.paramsList = []
|
|
||||||
if (id) {
|
|
||||||
this.ruleForm.id = id
|
|
||||||
this.getInfo(id)
|
|
||||||
this.getChooseList()
|
|
||||||
} else {
|
|
||||||
this.ruleForm = {
|
|
||||||
id: undefined,
|
|
||||||
code: '',
|
|
||||||
name: '',
|
|
||||||
remark: ''
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
getChooseList() {
|
|
||||||
this.$http
|
|
||||||
.get(this.urlOptions.getChooseTemURL, {
|
|
||||||
params: {
|
|
||||||
evaluationTemplateId: this.ruleForm.id,
|
|
||||||
limit: 999,
|
|
||||||
page: 1
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.then(({ data: res }) => {
|
|
||||||
this.dataListLoading = false;
|
|
||||||
if (res.code !== 0) {
|
|
||||||
this.chooseTemList = [];
|
|
||||||
return this.$message.error(res.msg);
|
|
||||||
}
|
|
||||||
this.chooseTemList = res.data.list;
|
|
||||||
})
|
|
||||||
.catch(() => {
|
|
||||||
this.dataListLoading = false;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
getInfo(id) {
|
|
||||||
this.$http
|
|
||||||
.get(`${this.urlOptions.getInfoURL}/${id}`)
|
|
||||||
.then(({ data: res }) => {
|
|
||||||
if (res.code !== 0) {
|
|
||||||
return this.$message.error(res.msg);
|
|
||||||
}
|
|
||||||
this.ruleForm = res.data;
|
|
||||||
// if(this.setData){
|
|
||||||
// this.setDataForm()
|
|
||||||
// }
|
|
||||||
})
|
|
||||||
.catch(() => { });
|
|
||||||
},
|
|
||||||
closeModel() {
|
closeModel() {
|
||||||
this.show = false
|
this.show = false
|
||||||
this.$emit('info', false)
|
this.$emit('info', false)
|
||||||
@ -275,42 +217,22 @@ export default {
|
|||||||
},
|
},
|
||||||
finishData() {
|
finishData() {
|
||||||
// 保存数据
|
// 保存数据
|
||||||
console.log('结束打印', this.ruleForm)
|
this.$http["post"](this.urlOptions.saveDataURL, this.paramsList)
|
||||||
if (this.paramsList[0].id) {
|
.then(({ data: res }) => {
|
||||||
this.$http["put"](`${this.urlOptions.updateDateURL}?id=${this.paramsList[0].id}`, this.paramsList)
|
if (res.code !== 0) {
|
||||||
.then(({ data: res }) => {
|
return this.$message.error(res.msg);
|
||||||
if (res.code !== 0) {
|
}
|
||||||
return this.$message.error(res.msg);
|
this.$message({
|
||||||
}
|
message: this.$t("prompt.success"),
|
||||||
this.$message({
|
type: "success",
|
||||||
message: this.$t("prompt.success"),
|
duration: 500
|
||||||
type: "success",
|
|
||||||
duration: 500
|
|
||||||
})
|
|
||||||
this.activeStep = 4
|
|
||||||
// this.visibleList[3] = false
|
|
||||||
// this.visibleList[4] = true
|
|
||||||
this.$set(this.visibleList, 3, false)
|
|
||||||
this.$set(this.visibleList, 4, true)
|
|
||||||
})
|
})
|
||||||
} else {
|
this.activeStep = 4
|
||||||
this.$http["post"](this.urlOptions.saveDataURL, this.paramsList)
|
// this.visibleList[3] = false
|
||||||
.then(({ data: res }) => {
|
// this.visibleList[4] = true
|
||||||
if (res.code !== 0) {
|
this.$set(this.visibleList, 3, false)
|
||||||
return this.$message.error(res.msg);
|
this.$set(this.visibleList, 4, true)
|
||||||
}
|
})
|
||||||
this.$message({
|
|
||||||
message: this.$t("prompt.success"),
|
|
||||||
type: "success",
|
|
||||||
duration: 500
|
|
||||||
})
|
|
||||||
this.activeStep = 4
|
|
||||||
// this.visibleList[3] = false
|
|
||||||
// this.visibleList[4] = true
|
|
||||||
this.$set(this.visibleList, 3, false)
|
|
||||||
this.$set(this.visibleList, 4, true)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
lastStep() {
|
lastStep() {
|
||||||
console.log('thi', this.activeStep)
|
console.log('thi', this.activeStep)
|
||||||
@ -326,34 +248,10 @@ export default {
|
|||||||
console.log('wokjkj11', this.visibleList)
|
console.log('wokjkj11', this.visibleList)
|
||||||
},
|
},
|
||||||
updateData() {
|
updateData() {
|
||||||
console.log('更新到步骤四')
|
console.log('更新')
|
||||||
console.log('观察一下', this.paramsList, this.chooseTemList)
|
|
||||||
this.activeStep ++
|
|
||||||
this.$set(this.visibleList, 2, false)
|
this.$set(this.visibleList, 2, false)
|
||||||
this.$set(this.visibleList, 3, true)
|
this.$set(this.visibleList, 3, true)
|
||||||
this.paramsList.forEach(item => {
|
console.log('wokjkj', this.visibleList)
|
||||||
this.chooseTemList.forEach(choose => {
|
|
||||||
if (item.evaluationTemplateId === choose.evaluationTemplateId) {
|
|
||||||
item.calculationScoreFormula = choose.calculationScoreFormula
|
|
||||||
item.weight = choose.weight
|
|
||||||
item.id = choose.id
|
|
||||||
}
|
|
||||||
if (item.list.length > 0 && choose.list.length > 0) {
|
|
||||||
item.list.forEach(pro => {
|
|
||||||
choose.list.forEach(cho => {
|
|
||||||
if (pro.projectId === cho.projectId) {
|
|
||||||
pro.benchmarkScore = cho.benchmarkScore
|
|
||||||
pro.weight = cho.weight
|
|
||||||
pro.evaluationTemplateTypeId = cho.evaluationTemplateTypeId
|
|
||||||
pro.id = cho.id
|
|
||||||
pro.createDate = cho.createDate
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
console.log('观察一下', this.paramsList)
|
|
||||||
},
|
},
|
||||||
unfold(item) {
|
unfold(item) {
|
||||||
item.dragVisible = !item.dragVisible
|
item.dragVisible = !item.dragVisible
|
||||||
@ -418,30 +316,19 @@ export default {
|
|||||||
}
|
}
|
||||||
const typeList = Array.from(new Set(temp))
|
const typeList = Array.from(new Set(temp))
|
||||||
console.log('aaaaaaa', typeList)
|
console.log('aaaaaaa', typeList)
|
||||||
for (let i = 0; i < typeList.length; i ++) {
|
for (let key of typeList) {
|
||||||
let obj = {}
|
let obj = {}
|
||||||
obj.projectTypeName = typeList[i]
|
obj.projectTypeName = typeList[key]
|
||||||
obj.dragVisible = false
|
obj.dragVisible = false
|
||||||
obj.sort = i
|
obj.sort = key
|
||||||
obj.calculationScoreFormula = undefined
|
obj.list = this.multipleSelection.filter((ele, index) => {
|
||||||
obj.weight = undefined
|
if (ele.projectTypeName === typeList[key]) {
|
||||||
obj.list = []
|
|
||||||
this.multipleSelection.filter((ele, index) => {
|
|
||||||
if (ele.projectTypeName === typeList[i]) {
|
|
||||||
obj.projectTypeId = ele.projectTypeId
|
obj.projectTypeId = ele.projectTypeId
|
||||||
obj.evaluationTemplateId = this.evaluationTemplateId
|
obj.evaluationTemplateId = this.evaluationTemplateId
|
||||||
// ele.evaluationTemplateId = this.evaluationTemplateId
|
ele.evaluationTemplateId = this.evaluationTemplateId
|
||||||
// ele.projectId = ele.id
|
ele.projectId = ele.id
|
||||||
// ele.sort = index
|
ele.sort = index
|
||||||
const tempList = {
|
return ele
|
||||||
evaluationTemplateId: this.evaluationTemplateId,
|
|
||||||
projectId: ele.id,
|
|
||||||
sort: index,
|
|
||||||
projectName: ele.title,
|
|
||||||
benchmarkScore: undefined,
|
|
||||||
weight: undefined
|
|
||||||
}
|
|
||||||
obj.list.push(tempList)
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
this.paramsList.push(obj)
|
this.paramsList.push(obj)
|
||||||
@ -454,31 +341,21 @@ export default {
|
|||||||
this.$set(this.visibleList, 2, true)
|
this.$set(this.visibleList, 2, true)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
toggleSelection() {
|
toggleSelection(rows) {
|
||||||
console.log('打印', this.chooseTemList)
|
if (rows) {
|
||||||
console.log('打印22', this.tableData)
|
rows.forEach(row => {
|
||||||
this.chooseTemList.forEach(item => {
|
this.$refs.multipleTable.toggleRowSelection(row);
|
||||||
if (item.list.length > 0) {
|
});
|
||||||
item.list.forEach(it => {
|
} else {
|
||||||
this.tableData.forEach(data => {
|
this.$refs.multipleTable.clearSelection();
|
||||||
if (it.projectId === data.id) {
|
}
|
||||||
console.log('wokjkj ', data)
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$refs.multipleTable.toggleRowSelection(data, true);
|
|
||||||
this.multipleSelection.push(data)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
});
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
handleSelectionChange(val) {
|
handleSelectionChange(val) {
|
||||||
this.multipleSelection = val;
|
this.multipleSelection = val;
|
||||||
console.log('你好', val, this.multipleSelection)
|
console.log('你好', this.multipleSelection)
|
||||||
},
|
},
|
||||||
getTypeList() {
|
getTypeList() {
|
||||||
|
this.paramsList = []
|
||||||
this.$http
|
this.$http
|
||||||
.get(this.urlOptions.getTypeListURL, {
|
.get(this.urlOptions.getTypeListURL, {
|
||||||
params: {
|
params: {
|
||||||
@ -531,7 +408,7 @@ export default {
|
|||||||
submitForm(formName) {
|
submitForm(formName) {
|
||||||
this.$refs[formName].validate((valid) => {
|
this.$refs[formName].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$http[!this.ruleForm.id ? "post" : "put"](this.urlOptions.addtURL, this.ruleForm)
|
this.$http["post"](this.urlOptions.addtURL, this.ruleForm)
|
||||||
.then(({ data: res }) => {
|
.then(({ data: res }) => {
|
||||||
if (res.code !== 0) {
|
if (res.code !== 0) {
|
||||||
return this.$message.error(res.msg);
|
return this.$message.error(res.msg);
|
||||||
@ -547,13 +424,9 @@ export default {
|
|||||||
})
|
})
|
||||||
console.log('新增结果', res.data)
|
console.log('新增结果', res.data)
|
||||||
this.evaluationTemplateId = res.data
|
this.evaluationTemplateId = res.data
|
||||||
this.ruleForm.id = res.data
|
|
||||||
this.activeStep ++
|
this.activeStep ++
|
||||||
this.getEvaList()
|
// this.visibleList[0] = false
|
||||||
setTimeout(() =>{
|
// this.visibleList[1] = true
|
||||||
this.toggleSelection()
|
|
||||||
}, 600)
|
|
||||||
// this.toggleSelection()
|
|
||||||
this.$set(this.visibleList, 0, false)
|
this.$set(this.visibleList, 0, false)
|
||||||
this.$set(this.visibleList, 1, true)
|
this.$set(this.visibleList, 1, true)
|
||||||
})
|
})
|
||||||
@ -570,7 +443,6 @@ export default {
|
|||||||
<style scoped>
|
<style scoped>
|
||||||
.addDiv {
|
.addDiv {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
min-height: 20vh;
|
min-height: 20vh;
|
||||||
}
|
}
|
||||||
@ -591,7 +463,6 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
padding: 10px 40px 0 0;
|
padding: 10px 40px 0 0;
|
||||||
width: 80%;
|
|
||||||
}
|
}
|
||||||
.smallDiv {
|
.smallDiv {
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -605,7 +476,7 @@ export default {
|
|||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
width: 200px;
|
width: 200px;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
margin-left: 10px;
|
margin-left: 20px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -4,33 +4,33 @@
|
|||||||
<el-form-item label="标题" prop="title">
|
<el-form-item label="标题" prop="title">
|
||||||
<el-input v-model="ruleForm.title"></el-input>
|
<el-input v-model="ruleForm.title"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="物料" prop="productId">
|
<el-form-item label="物料" prop="productName">
|
||||||
<el-select v-model="ruleForm.productId" filterable clearable placeholder="物料">
|
<el-select v-model="ruleForm.productName" filterable clearable placeholder="物料">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in productList"
|
v-for="item in productList"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
:label="item.productName"
|
:label="item.productName"
|
||||||
:value="item.id">
|
:value="item.productName">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="供应商" prop="supplierId">
|
<el-form-item label="供应商" prop="supplierName">
|
||||||
<el-select v-model="ruleForm.supplierId" filterable clearable placeholder="供应商">
|
<el-select v-model="ruleForm.supplierName" filterable clearable placeholder="供应商">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in supplierList"
|
v-for="item in supplierList"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
:label="item.name"
|
:label="item.name"
|
||||||
:value="item.id">
|
:value="item.name">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="负责人" prop="personLiable">
|
<el-form-item label="负责人" prop="personLiableName">
|
||||||
<el-select v-model="ruleForm.personLiable" filterable clearable placeholder="供应商">
|
<el-select v-model="ruleForm.personLiableName" filterable clearable placeholder="供应商">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in userList"
|
v-for="item in userList"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
:label="item.username"
|
:label="item.username"
|
||||||
:value="item.id">
|
:value="item.username">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -66,9 +66,6 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
// props: {
|
|
||||||
// project: Object
|
|
||||||
// },
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
urlOptions: {
|
urlOptions: {
|
||||||
@ -79,9 +76,9 @@ export default {
|
|||||||
},
|
},
|
||||||
ruleForm: {
|
ruleForm: {
|
||||||
title: '',
|
title: '',
|
||||||
productId: '',
|
productName: '',
|
||||||
supplierId: '',
|
supplierName: '',
|
||||||
personLiable: '',
|
personLiableName: '',
|
||||||
background: '',
|
background: '',
|
||||||
ment: 0,
|
ment: 0,
|
||||||
timeNodeStart: undefined,
|
timeNodeStart: undefined,
|
||||||
@ -103,7 +100,8 @@ export default {
|
|||||||
supplierList: [],
|
supplierList: [],
|
||||||
rules: {
|
rules: {
|
||||||
title: [
|
title: [
|
||||||
{ required: true, message: '请输入活动名称', trigger: 'blur' }
|
{ required: true, message: '请输入活动名称', trigger: 'blur' },
|
||||||
|
{ min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -112,16 +110,8 @@ export default {
|
|||||||
this.getProduct()
|
this.getProduct()
|
||||||
this.getSupplier()
|
this.getSupplier()
|
||||||
this.getUser()
|
this.getUser()
|
||||||
// if (this.project.id) {
|
|
||||||
// this.ruleForm = this.project
|
|
||||||
// console.log('啦啦啦', this.ruleForm)
|
|
||||||
// }
|
|
||||||
// console.log('啦啦111111啦', this.ruleForm)
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
init(item) {
|
|
||||||
this.ruleForm = item
|
|
||||||
},
|
|
||||||
getUser() {
|
getUser() {
|
||||||
this.$http
|
this.$http
|
||||||
.get(this.urlOptions.getUserURL, {
|
.get(this.urlOptions.getUserURL, {
|
||||||
@ -183,6 +173,7 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
submitForm(formName) {
|
submitForm(formName) {
|
||||||
|
console.log('啊啊啊啊啊', this.ruleForm)
|
||||||
if (this.timeSlot) {
|
if (this.timeSlot) {
|
||||||
this.ruleForm.timeNodeStart = this.timeSlot[0]
|
this.ruleForm.timeNodeStart = this.timeSlot[0]
|
||||||
this.ruleForm.timeNodeEnd = this.timeSlot[1]
|
this.ruleForm.timeNodeEnd = this.timeSlot[1]
|
||||||
@ -192,7 +183,7 @@ export default {
|
|||||||
}
|
}
|
||||||
this.$refs[formName].validate((valid) => {
|
this.$refs[formName].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$http[!this.ruleForm.id ? "post" : "put"](this.urlOptions.addURL, this.ruleForm)
|
this.$http["post"](this.urlOptions.addURL, this.ruleForm)
|
||||||
.then(({ data: res }) => {
|
.then(({ data: res }) => {
|
||||||
if (res.code !== 0) {
|
if (res.code !== 0) {
|
||||||
return this.$message.error(res.msg);
|
return this.$message.error(res.msg);
|
||||||
|
@ -1,21 +0,0 @@
|
|||||||
<!--
|
|
||||||
* @Author: Do not edit
|
|
||||||
* @Date: 2023-07-18 16:08:09
|
|
||||||
* @LastEditTime: 2023-07-18 16:09:43
|
|
||||||
* @LastEditors: DY
|
|
||||||
* @Description:
|
|
||||||
-->
|
|
||||||
<template>
|
|
||||||
<el-card shadow="never" class="aui-card--fill">
|
|
||||||
要求清单
|
|
||||||
</el-card>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
|
|
||||||
</style>
|
|
@ -1,8 +1,8 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-04-17 14:23:17
|
* @Date: 2023-04-17 14:23:17
|
||||||
* @LastEditTime: 2023-07-17 15:26:25
|
* @LastEditTime: 2023-07-11 15:20:16
|
||||||
* @LastEditors: DY
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -110,8 +110,8 @@ export default {
|
|||||||
formConfig: [
|
formConfig: [
|
||||||
{
|
{
|
||||||
type: 'input',
|
type: 'input',
|
||||||
label: i18n.t('supplier.title'),
|
label: i18n.t('supplier.name'),
|
||||||
placeholder: i18n.t('supplier.title'),
|
placeholder: i18n.t('supplier.name'),
|
||||||
param: 'title'
|
param: 'title'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: Do not edit
|
* @Author: Do not edit
|
||||||
* @Date: 2023-06-20 11:16:51
|
* @Date: 2023-06-20 11:16:51
|
||||||
* @LastEditTime: 2023-07-14 16:31:39
|
* @LastEditTime: 2023-07-14 15:53:22
|
||||||
* @LastEditors: DY
|
* @LastEditors: DY
|
||||||
* @Description: 评估计划
|
* @Description: 评估计划
|
||||||
-->
|
-->
|
||||||
@ -108,7 +108,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<el-button class="carcleButton" @click="addPlanButon">+</el-button>
|
<el-button class="carcleButton" @click="addPlanButon">+</el-button>
|
||||||
</div>
|
</div>
|
||||||
<add-plan ref="addModel" v-if="addtModelVisible" @refreshDataList="onSubmit"></add-plan>
|
<add-plan v-if="addtModelVisible" @refreshDataList="onSubmit"></add-plan>
|
||||||
<base-dialog dialogTitle="start" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel" @confirm="handleConfirm" :before-close="handleCancel">
|
<base-dialog dialogTitle="start" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel" @confirm="handleConfirm" :before-close="handleCancel">
|
||||||
<start-plan ref="addOrUpdate" @refreshDataList="closeSucess"></start-plan>
|
<start-plan ref="addOrUpdate" @refreshDataList="closeSucess"></start-plan>
|
||||||
</base-dialog>
|
</base-dialog>
|
||||||
@ -180,12 +180,7 @@ export default {
|
|||||||
this.$refs.addOrUpdate.init(val);
|
this.$refs.addOrUpdate.init(val);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
editPlan(val) {
|
editPlan(val) {},
|
||||||
this.addtModelVisible = true
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$refs.addModel.init(val);
|
|
||||||
});
|
|
||||||
},
|
|
||||||
deletePlan(val) {
|
deletePlan(val) {
|
||||||
this.$confirm(`确定对[名称=${val.title}]进行删除操作?`, "提示", {
|
this.$confirm(`确定对[名称=${val.title}]进行删除操作?`, "提示", {
|
||||||
confirmButtonText: "确定",
|
confirmButtonText: "确定",
|
||||||
|
@ -1,62 +1,39 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: Do not edit
|
* @Author: Do not edit
|
||||||
* @Date: 2023-06-19 10:38:41
|
* @Date: 2023-06-19 10:38:41
|
||||||
* @LastEditTime: 2023-07-20 16:14:02
|
* @LastEditTime: 2023-06-26 16:05:18
|
||||||
* @LastEditors: DY
|
* @LastEditors: DY
|
||||||
* @Description: 评估模板
|
* @Description: 评估模板
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<el-card shadow="never" class="aui-card--fill">
|
<el-card shadow="never" class="aui-card--fill">
|
||||||
<!-- <h1>绩效评估模板</h1> -->
|
<h1>绩效评估模板</h1>
|
||||||
<div class="bigDiv">
|
<div class="bigDiv">
|
||||||
<div v-for="(item, index) in dataList" :key="index" class="smallDiv">
|
<div v-for="(item, index) in dataList" :key="index" class="smallDiv">
|
||||||
<div class="flexDiv">
|
<p style="font-size: 18px">{{ item.name }}</p>
|
||||||
<div style="height: 150px">
|
<div style="margin-top: 30px;">
|
||||||
<p style="font-size: 22px; text-align: center; margin-top: 10%">{{ item.name }}</p>
|
<el-row :gutter="20">
|
||||||
<p style="text-align: center">{{item.remark}}</p>
|
<el-col :span="20">
|
||||||
</div>
|
<span style="font-size: 18px;">综合评估表</span>
|
||||||
<div>
|
</el-col>
|
||||||
<el-row :gutter="0">
|
<el-col :span="4">
|
||||||
<el-col :span="8">
|
<i class="el-icon-view" @click="seeeValuationList(item.id)"></i>
|
||||||
<div :class="item.current === 1 ? 'activeCard' : 'normalCard'" @mouseenter="enterDiv(item)" @mouseleave="leaveDiv(item)" @click="seeeValuationList(item.id)">
|
</el-col>
|
||||||
<svg v-if="item.current" class="icon-svg" aria-hidden="true"><use xlink:href="#icon-look"></use></svg>
|
</el-row>
|
||||||
<svg v-else class="icon-svg" aria-hidden="true"><use xlink:href="#icon-look1"></use></svg>
|
<el-row :gutter="20">
|
||||||
<p style="font-size: 14px">预览</p>
|
<el-col :span="4" :offset="20">
|
||||||
</div>
|
<i class="el-icon-delete" @click="deleteEvaluation(item.id, item.name)"></i>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
</el-row>
|
||||||
<div :class="item.current === 1 ? 'activeCard' : 'normalCard'" @mouseenter="enterDiv(item)" @mouseleave="leaveDiv(item)" @click="editEvaluation(item)">
|
|
||||||
<svg v-if="item.current" class="icon-svg" aria-hidden="true"><use xlink:href="#icon-edit0"></use></svg>
|
|
||||||
<svg v-else class="icon-svg" aria-hidden="true"><use xlink:href="#icon-edit1"></use></svg>
|
|
||||||
<p style="font-size: 14px">编辑</p>
|
|
||||||
</div>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<div :class="item.current === 1 ? 'activeDelCard' : 'normalCard'" @mouseenter="enterDiv(item)" @mouseleave="leaveDiv(item)" @click="deleteEvaluation(item.id, item.name)">
|
|
||||||
<svg v-if="item.current" class="icon-svg" aria-hidden="true"><use xlink:href="#icon-del1"></use></svg>
|
|
||||||
<svg v-else class="icon-svg" aria-hidden="true"><use xlink:href="#icon-del"></use></svg>
|
|
||||||
<p style="font-size: 14px">删除</p>
|
|
||||||
</div>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="smallDiv addDiv" @click="addTemplate">
|
|
||||||
<img src="../../../assets/img/add_new.png" alt="">
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<!-- <div v-if="editModelVisible" style="border: 1px solid grey; padding: 10px">
|
<div>
|
||||||
|
<el-button class="carcleButton" @click="addTemplate">+</el-button>
|
||||||
|
</div>
|
||||||
|
<div v-if="editModelVisible" style="border: 1px solid grey; padding: 10px">
|
||||||
<evaluation-template-add @refreshDataList="getDataList" :show="editModelVisible" @info="getInfo"></evaluation-template-add>
|
<evaluation-template-add @refreshDataList="getDataList" :show="editModelVisible" @info="getInfo"></evaluation-template-add>
|
||||||
</div> -->
|
</div>
|
||||||
<el-dialog
|
|
||||||
title="新增模板"
|
|
||||||
:visible.sync="editModelVisible"
|
|
||||||
:close-on-click-modal="false"
|
|
||||||
width="70%"
|
|
||||||
:before-close="handleClose">
|
|
||||||
<evaluation-template-add ref="addTemplate" @refreshDataList="getDataList" :show="editModelVisible" @info="getInfo"></evaluation-template-add>
|
|
||||||
</el-dialog>
|
|
||||||
<el-dialog
|
<el-dialog
|
||||||
title="预览"
|
title="预览"
|
||||||
:visible.sync="dialogVisible"
|
:visible.sync="dialogVisible"
|
||||||
@ -104,34 +81,17 @@ export default ({
|
|||||||
},
|
},
|
||||||
tableProps,
|
tableProps,
|
||||||
projectsList: [],
|
projectsList: [],
|
||||||
addOrEditTitle: '新增模板',
|
|
||||||
current: 0,
|
|
||||||
addTemplateVisible: false,
|
addTemplateVisible: false,
|
||||||
activeStep: 0,
|
activeStep: 0,
|
||||||
editModelVisible: false,
|
editModelVisible: false,
|
||||||
dataListLoading: false,
|
dataListLoading: false,
|
||||||
dialogVisible: false,
|
dialogVisible: false
|
||||||
templateId: ''
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.getDataList()
|
this.getDataList()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
editEvaluation(obj) {
|
|
||||||
console.log('编辑', obj.id)
|
|
||||||
this.templateId = obj.id
|
|
||||||
this.editModelVisible = true
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$refs.addTemplate.init(obj.id)
|
|
||||||
});
|
|
||||||
},
|
|
||||||
leaveDiv(obj) {
|
|
||||||
obj.current = 0
|
|
||||||
},
|
|
||||||
enterDiv(obj) {
|
|
||||||
obj.current = 1
|
|
||||||
},
|
|
||||||
deleteEvaluation(id, name) {
|
deleteEvaluation(id, name) {
|
||||||
this.$confirm(`确定对[名称=${name}]进行删除操作?`, "提示", {
|
this.$confirm(`确定对[名称=${name}]进行删除操作?`, "提示", {
|
||||||
confirmButtonText: "确定",
|
confirmButtonText: "确定",
|
||||||
@ -191,9 +151,6 @@ export default ({
|
|||||||
},
|
},
|
||||||
addTemplate() {
|
addTemplate() {
|
||||||
this.editModelVisible = true
|
this.editModelVisible = true
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$refs.addTemplate.init()
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
getDataList() {
|
getDataList() {
|
||||||
// this.dataListLoading = true;
|
// this.dataListLoading = true;
|
||||||
@ -208,10 +165,7 @@ export default ({
|
|||||||
this.listQuery.total = 0;
|
this.listQuery.total = 0;
|
||||||
return this.$message.error(res.msg);
|
return this.$message.error(res.msg);
|
||||||
}
|
}
|
||||||
this.dataList = res.data.list.map((item) =>{
|
this.dataList = res.data.list;
|
||||||
item.current = 0
|
|
||||||
return item
|
|
||||||
})
|
|
||||||
this.listQuery.total = res.data.total;
|
this.listQuery.total = res.data.total;
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
@ -223,25 +177,19 @@ export default ({
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.flexDiv {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-around;
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
.bigDiv {
|
.bigDiv {
|
||||||
/* border: 1px solid grey; */
|
border: 1px solid grey;
|
||||||
/* padding: 10px; */
|
padding: 20px 5vw;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
}
|
}
|
||||||
.smallDiv {
|
.smallDiv {
|
||||||
border: 1px solid grey;
|
border: 1px solid grey;
|
||||||
/* padding: 0px 20px; */
|
padding: 0px 20px;
|
||||||
width: 32%;
|
width: 40%;
|
||||||
height: 250px;
|
height: 150px;
|
||||||
margin: 5px;
|
margin: 10px;
|
||||||
text-align: center;
|
|
||||||
}
|
}
|
||||||
.carcleButton {
|
.carcleButton {
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
@ -250,37 +198,4 @@ export default ({
|
|||||||
margin: 5px;
|
margin: 5px;
|
||||||
background-color: rgb(196, 193, 193);
|
background-color: rgb(196, 193, 193);
|
||||||
}
|
}
|
||||||
.activeCard {
|
|
||||||
background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(27,151,255,0.19) 100%);
|
|
||||||
height: 100px;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
border-radius: 0px 0px 8px 8px;
|
|
||||||
color: #0B58FF;
|
|
||||||
}
|
|
||||||
.addDiv {
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
.normalCard {
|
|
||||||
height: 100px;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
border-radius: 0px 0px 8px 8px;
|
|
||||||
}
|
|
||||||
.activeDelCard {
|
|
||||||
background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,27,27,0.19) 100%);
|
|
||||||
height: 100px;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
border-radius: 0px 0px 8px 8px;
|
|
||||||
color: #FF2323;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: Do not edit
|
* @Author: Do not edit
|
||||||
* @Date: 2023-06-20 11:16:51
|
* @Date: 2023-06-20 11:16:51
|
||||||
* @LastEditTime: 2023-07-21 16:37:22
|
* @LastEditTime: 2023-07-04 09:53:30
|
||||||
* @LastEditors: DY
|
* @LastEditors: DY
|
||||||
* @Description: 项目清单
|
* @Description: 项目清单
|
||||||
-->
|
-->
|
||||||
@ -54,25 +54,10 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
|
||||||
<div class="projectCard" v-for="project in tableData" :key="project.id">
|
|
||||||
<div>
|
|
||||||
<p style="font-size: 18px; weight: 600">{{project.title}}</p>
|
|
||||||
<p>{{project.supplierName}}</p>
|
|
||||||
<p>{{project.createDate}}</p>
|
|
||||||
</div>
|
|
||||||
<div class="buttonDiv">
|
|
||||||
<el-row :gutter="0">
|
|
||||||
<el-col :span="12"><div class="bottom" @click="editProject(project)">编辑</div></el-col>
|
|
||||||
<el-col :span="12"><div class="bottom" @click="deletePro(project)">删除</div></el-col>
|
|
||||||
</el-row>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div>
|
<div>
|
||||||
<el-button class="carcleButton" @click="addButon">+</el-button>
|
<el-button class="carcleButton" @click="addButon">+</el-button>
|
||||||
</div>
|
</div>
|
||||||
<add-projects ref="addProjects" v-if="addtModelVisible" @refresh="refreashData"></add-projects>
|
<add-projects v-if="addtModelVisible" @refreshDataList="onSubmit"></add-projects>
|
||||||
</el-card>
|
</el-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -87,15 +72,14 @@ export default {
|
|||||||
addURL: '/supplier/qmsEvaluationPlan',
|
addURL: '/supplier/qmsEvaluationPlan',
|
||||||
getProductURL: '/basic/qmsProduct/page',
|
getProductURL: '/basic/qmsProduct/page',
|
||||||
getSupplierURL: '/supplier/qmsSupplier/page',
|
getSupplierURL: '/supplier/qmsSupplier/page',
|
||||||
getPageURL: '/supplier/qmsSupplierProjectList/page',
|
getPageURL: '/supplier/qmsSupplierProjectList/page'
|
||||||
deleteURL: '/supplier/qmsSupplierProjectList'
|
|
||||||
},
|
},
|
||||||
formInline: {
|
formInline: {
|
||||||
limit: 999,
|
limit: 999,
|
||||||
page: 1,
|
page: 1,
|
||||||
title: undefined,
|
title: '',
|
||||||
productId: undefined,
|
productId: '',
|
||||||
supplierId: undefined,
|
supplierId: '',
|
||||||
ment: undefined,
|
ment: undefined,
|
||||||
status: 2,
|
status: 2,
|
||||||
startTime: undefined,
|
startTime: undefined,
|
||||||
@ -112,46 +96,11 @@ export default {
|
|||||||
mounted() {
|
mounted() {
|
||||||
this.getProductList();
|
this.getProductList();
|
||||||
this.getSupplier();
|
this.getSupplier();
|
||||||
this.onSubmit()
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
deletePro(val) {
|
|
||||||
this.$confirm(`确定对[名称=${val.title}]进行删除操作?`, "提示", {
|
|
||||||
confirmButtonText: "确定",
|
|
||||||
cancelButtonText: "取消",
|
|
||||||
type: "warning",
|
|
||||||
})
|
|
||||||
.then(() => {
|
|
||||||
this.$http.delete(this.urlOptions.deleteURL, { data: [val.id] }).then(({ data }) => {
|
|
||||||
if (data && data.code === 0) {
|
|
||||||
this.$message({
|
|
||||||
message: "操作成功",
|
|
||||||
type: "success",
|
|
||||||
duration: 1500,
|
|
||||||
onClose: () => {
|
|
||||||
this.onSubmit();
|
|
||||||
},
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
this.$message.error(data.msg);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
})
|
|
||||||
.catch(() => { });
|
|
||||||
},
|
|
||||||
refreashData() {
|
|
||||||
this.addtModelVisible = false
|
|
||||||
this.onSubmit()
|
|
||||||
},
|
|
||||||
addButon() {
|
addButon() {
|
||||||
this.addtModelVisible = true
|
this.addtModelVisible = true
|
||||||
},
|
},
|
||||||
editProject(item) {
|
|
||||||
this.addtModelVisible = true
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$refs.addProjects.init(item);
|
|
||||||
});
|
|
||||||
},
|
|
||||||
onSubmit() {
|
onSubmit() {
|
||||||
this.formInline.ment = this.formInline.status === 2 ? undefined : this.formInline.status
|
this.formInline.ment = this.formInline.status === 2 ? undefined : this.formInline.status
|
||||||
if (this.timeSlot) {
|
if (this.timeSlot) {
|
||||||
@ -232,31 +181,4 @@ export default {
|
|||||||
margin: 5px;
|
margin: 5px;
|
||||||
background-color: rgb(196, 193, 193);
|
background-color: rgb(196, 193, 193);
|
||||||
}
|
}
|
||||||
.projectCard {
|
|
||||||
width: 40%;
|
|
||||||
height: 200px;
|
|
||||||
text-align: center;
|
|
||||||
border: 1px solid rgb(240,240,240);
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: flex-end;
|
|
||||||
}
|
|
||||||
.content {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
padding: 0 10vw;
|
|
||||||
}
|
|
||||||
.buttonDiv {
|
|
||||||
position: relative;
|
|
||||||
bottom: 0px;
|
|
||||||
margin-top: 30px;
|
|
||||||
}
|
|
||||||
.bottom {
|
|
||||||
border: 1px solid rgb(240,240,240);
|
|
||||||
text-align: center;
|
|
||||||
height: 50px;
|
|
||||||
line-height: 50px;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: Do not edit
|
* @Author: Do not edit
|
||||||
* @Date: 2023-06-20 11:16:51
|
* @Date: 2023-06-20 11:16:51
|
||||||
* @LastEditTime: 2023-07-21 15:18:23
|
* @LastEditTime: 2023-06-27 14:46:10
|
||||||
* @LastEditors: DY
|
* @LastEditors: DY
|
||||||
* @Description: 要求清单
|
* @Description: 要求清单
|
||||||
-->
|
-->
|
||||||
@ -12,7 +12,7 @@
|
|||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<h2>要求分组</h2>
|
<h2>要求分组</h2>
|
||||||
<div v-for="(item, index) in groupList" :key="index">
|
<div v-for="(item, index) in groupList" :key="index">
|
||||||
<div :class="item.actived ? 'activedDiv' : 'group'" @click="searchByGroup(item)">{{ item.name }}</div>
|
<el-button style="width: 100px; text-align: left" @click="searchByGroup(item)">{{ item.name }}</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="18">
|
<el-col :span="18">
|
||||||
@ -28,12 +28,9 @@
|
|||||||
<div class="detailDiv" v-for="(item, index) in dataList" :key="index">
|
<div class="detailDiv" v-for="(item, index) in dataList" :key="index">
|
||||||
<p>{{ item.title }}</p>
|
<p>{{ item.title }}</p>
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :span="4" :offset="16">
|
<el-col :span="4" :offset="20">
|
||||||
<i class="el-icon-delete" @click="deleteRequire(item.id, item.title)"></i>
|
<i class="el-icon-delete" @click="deleteRequire(item.id, item.title)"></i>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="4">
|
|
||||||
<i class="el-icon-edit" @click="editRequire(item)"></i>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -109,10 +106,6 @@ export default {
|
|||||||
this.getGroup()
|
this.getGroup()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
editRequire(obj) {
|
|
||||||
this.ruleForm = obj
|
|
||||||
this.addtModelVisible = true
|
|
||||||
},
|
|
||||||
deleteRequire(id, name) {
|
deleteRequire(id, name) {
|
||||||
this.$confirm(`确定对[标题=${name}]进行删除操作?`, "提示", {
|
this.$confirm(`确定对[标题=${name}]进行删除操作?`, "提示", {
|
||||||
confirmButtonText: "确定",
|
confirmButtonText: "确定",
|
||||||
@ -140,7 +133,7 @@ export default {
|
|||||||
saveRequirement() {
|
saveRequirement() {
|
||||||
this.$refs['ruleForm'].validate((valid) => {
|
this.$refs['ruleForm'].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$http[!this.ruleForm.id ? "post" : "put"](this.urlOptions.addtURL, this.ruleForm)
|
this.$http["post"](this.urlOptions.addtURL, this.ruleForm)
|
||||||
.then(({ data: res }) => {
|
.then(({ data: res }) => {
|
||||||
if (res.code !== 0) {
|
if (res.code !== 0) {
|
||||||
return this.$message.error(res.msg);
|
return this.$message.error(res.msg);
|
||||||
@ -165,13 +158,7 @@ export default {
|
|||||||
},
|
},
|
||||||
searchByGroup(group) {
|
searchByGroup(group) {
|
||||||
console.log('查询', group)
|
console.log('查询', group)
|
||||||
// this.formInline.groupId = group.id
|
this.formInline.groupId = group.id
|
||||||
group.actived = !group.actived
|
|
||||||
if (group.actived === true) {
|
|
||||||
this.formInline.groupId = group.id
|
|
||||||
} else {
|
|
||||||
this.formInline.groupId = undefined
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
getGroup() {
|
getGroup() {
|
||||||
this.$http
|
this.$http
|
||||||
@ -187,10 +174,7 @@ export default {
|
|||||||
this.groupList = [];
|
this.groupList = [];
|
||||||
return this.$message.error(res.msg);
|
return this.$message.error(res.msg);
|
||||||
}
|
}
|
||||||
this.groupList = res.data.list.map(item => {
|
this.groupList = res.data.list;
|
||||||
item.actived = false
|
|
||||||
return item
|
|
||||||
});
|
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
this.dataListLoading = false;
|
this.dataListLoading = false;
|
||||||
@ -252,17 +236,4 @@ export default {
|
|||||||
margin: 5px;
|
margin: 5px;
|
||||||
background-color: rgb(196, 193, 193);
|
background-color: rgb(196, 193, 193);
|
||||||
}
|
}
|
||||||
.group {
|
|
||||||
border: 1px solid rgb(196, 193, 193);
|
|
||||||
height: 50px;
|
|
||||||
line-height: 50px;
|
|
||||||
padding: 0 10px;
|
|
||||||
}
|
|
||||||
.activedDiv {
|
|
||||||
border: 1px solid rgb(196, 193, 193);
|
|
||||||
height: 50px;
|
|
||||||
line-height: 50px;
|
|
||||||
padding: 0 10px;
|
|
||||||
background-color: rgb(196, 193, 193);
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|