Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
4ade4b79a9 | |||
|
9f485a35e9 | ||
|
b1749486fe | ||
2859ec78c4 | |||
|
a17d258934 | ||
|
837991ee91 | ||
258b9f1256 | |||
|
bcdb04059b | ||
|
2ba0a42a1f | ||
94a359fe1e |
@ -1,8 +1,8 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2022-08-22 14:57:50
|
* @Date: 2022-08-22 14:57:50
|
||||||
* @LastEditors: zhp
|
* @LastEditors: DY
|
||||||
* @LastEditTime: 2023-07-18 08:46:34
|
* @LastEditTime: 2023-08-01 14:42:59
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
@ -40,6 +40,7 @@
|
|||||||
<script>
|
<script>
|
||||||
// window.SITE_CONFIG['apiURL'] = 'http://192.168.1.76:8080/ym-pass';
|
// window.SITE_CONFIG['apiURL'] = 'http://192.168.1.76:8080/ym-pass';
|
||||||
window.SITE_CONFIG['apiURL'] = 'http://192.168.1.23:8080/';
|
window.SITE_CONFIG['apiURL'] = 'http://192.168.1.23:8080/';
|
||||||
|
// window.SITE_CONFIG['apiURL'] = 'http://192.168.0.31:8080/';
|
||||||
</script>
|
</script>
|
||||||
<% } %>
|
<% } %>
|
||||||
<!-- 集成测试环境 -->
|
<!-- 集成测试环境 -->
|
||||||
|
BIN
src/assets/img/add_new.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
@ -13,6 +13,7 @@ t.brand.mini = 'qms'
|
|||||||
|
|
||||||
t.public = {}
|
t.public = {}
|
||||||
t.public.operation = '操作'
|
t.public.operation = '操作'
|
||||||
|
t.public.activate = '启动'
|
||||||
|
|
||||||
t.add = '新增'
|
t.add = '新增'
|
||||||
t.delete = '删除'
|
t.delete = '删除'
|
||||||
@ -45,7 +46,10 @@ t.parameter = '台差参数'
|
|||||||
t.configuration = '配置'
|
t.configuration = '配置'
|
||||||
t.uploadFile = '上传'
|
t.uploadFile = '上传'
|
||||||
t.detail = '查看详情'
|
t.detail = '查看详情'
|
||||||
|
t.preview = '预览'
|
||||||
|
t.edit = '编辑'
|
||||||
|
t.finished = '已完成'
|
||||||
|
t.implementation = '实施中'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -53,9 +57,11 @@ t.detail = '查看详情'
|
|||||||
t.prompt = {}
|
t.prompt = {}
|
||||||
t.prompt.title = '提示'
|
t.prompt.title = '提示'
|
||||||
t.prompt.info = '确定进行[{handle}]操作?'
|
t.prompt.info = '确定进行[{handle}]操作?'
|
||||||
|
t.prompt.delete = '是否对[{object}]进行删除操作?'
|
||||||
t.prompt.success = '操作成功'
|
t.prompt.success = '操作成功'
|
||||||
t.prompt.failed = '操作失败'
|
t.prompt.failed = '操作失败'
|
||||||
t.prompt.deleteBatch = '请选择删除项'
|
t.prompt.deleteBatch = '请选择删除项'
|
||||||
|
t.prompt.chooseGroup = '请选择要求分组'
|
||||||
|
|
||||||
t.validate = {}
|
t.validate = {}
|
||||||
t.validate.required = '必填项不能为空'
|
t.validate.required = '必填项不能为空'
|
||||||
@ -346,7 +352,7 @@ t.quality.judgmentMark = '判断标识'
|
|||||||
t.quality.disposalMethodStatus = '状态'
|
t.quality.disposalMethodStatus = '状态'
|
||||||
t.quality.inspectionPositionNumber = '序号'
|
t.quality.inspectionPositionNumber = '序号'
|
||||||
t.quality.productName = '检验产品'
|
t.quality.productName = '检验产品'
|
||||||
t.quality.supplierName = '供应商名称'
|
t.quality.suppliername = '供应商名称'
|
||||||
t.quality.transferOutName = '转出'
|
t.quality.transferOutName = '转出'
|
||||||
t.quality.transferInName = '转入'
|
t.quality.transferInName = '转入'
|
||||||
t.quality.dataSources = '数据来源'
|
t.quality.dataSources = '数据来源'
|
||||||
@ -354,6 +360,8 @@ t.quality.remark = '备注'
|
|||||||
t.quality.userName = '创建人'
|
t.quality.userName = '创建人'
|
||||||
t.quality.inspectionStage = '检验阶段'
|
t.quality.inspectionStage = '检验阶段'
|
||||||
t.quality.supplierName = '供应商'
|
t.quality.supplierName = '供应商'
|
||||||
|
t.quality.supplierList = '供应商列表'
|
||||||
|
t.quality.principal = '负责人列表'
|
||||||
t.quality.normalToRelaxed = '正常转放宽'
|
t.quality.normalToRelaxed = '正常转放宽'
|
||||||
t.quality.normalToTightened = '正常转加严'
|
t.quality.normalToTightened = '正常转加严'
|
||||||
t.quality.relaxedToNormal = '放宽转正常'
|
t.quality.relaxedToNormal = '放宽转正常'
|
||||||
@ -469,13 +477,17 @@ t.supplier.projectName = '评估项目'
|
|||||||
t.supplier.projectTypeName = '类别'
|
t.supplier.projectTypeName = '类别'
|
||||||
t.supplier.requirement = '要求'
|
t.supplier.requirement = '要求'
|
||||||
t.supplier.statisticalValue = '是否统计值'
|
t.supplier.statisticalValue = '是否统计值'
|
||||||
t.supplier.evaluationTemplateName = '评估模板'
|
|
||||||
t.supplier.lastStartTime = '上次启动时间段'
|
t.supplier.lastStartTime = '上次启动时间段'
|
||||||
t.supplier.lastStartEvaluationPeriod = '上次启动评估时间段'
|
t.supplier.lastStartEvaluationPeriod = '上次启动评估时间段'
|
||||||
t.supplier.estimatedNextStartTime = '预计下次启动时间'
|
t.supplier.estimatedNextStartTime = '预计下次启动时间'
|
||||||
t.supplier.offline = '下限'
|
t.supplier.offline = '下限'
|
||||||
t.supplier.online = '上限'
|
t.supplier.online = '上限'
|
||||||
t.supplier.supplierStatus = '供应商状态'
|
t.supplier.supplierStatus = '供应商状态'
|
||||||
|
t.supplier.year = '年度'
|
||||||
|
t.supplier.quarter = '季度'
|
||||||
|
t.supplier.month = '月度'
|
||||||
|
t.supplier.materiel = '物料'
|
||||||
|
t.supplier.requiredGrouping = '要求分组'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -575,6 +587,7 @@ 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 = '制作'
|
||||||
|
|
||||||
|
|
||||||
@ -700,7 +713,6 @@ 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 = '状态'
|
||||||
|
12
src/icons/svg/icon-del.svg
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?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>
|
After Width: | Height: | Size: 3.5 KiB |
12
src/icons/svg/icon-del1.svg
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?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>
|
After Width: | Height: | Size: 3.4 KiB |
17
src/icons/svg/icon-edit0.svg
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?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>
|
After Width: | Height: | Size: 2.5 KiB |
17
src/icons/svg/icon-edit1.svg
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?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>
|
After Width: | Height: | Size: 2.5 KiB |
12
src/icons/svg/icon-look.svg
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?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>
|
After Width: | Height: | Size: 3.3 KiB |
12
src/icons/svg/icon-look1.svg
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?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>
|
After Width: | Height: | Size: 3.3 KiB |
@ -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-18 16:53:52
|
* @LastEditTime: 2023-07-21 09:34:55
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<el-drawer close-on-press-escape:title="$t('add')" :append-to-body="true" :before-close="handleClose"
|
<el-drawer close-on-press-escape :title="!dataForm.id ? $t('add') : $t('add')" :append-to-body="true"
|
||||||
:visible.sync="innerDrawer">
|
@closed="handleClose" :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 = true
|
this.innerDrawer = false
|
||||||
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-19 16:17:25
|
* @LastEditTime: 2023-07-21 10:07:47
|
||||||
* @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-19 16:58:37
|
* @LastEditTime: 2023-07-21 14:03:20
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -137,7 +137,9 @@ 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: {},
|
||||||
@ -156,6 +158,56 @@ 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'),
|
||||||
@ -179,7 +231,8 @@ export default {
|
|||||||
// baseConfig
|
// baseConfig
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
this.getDataList();
|
this.getDataList()
|
||||||
|
this.getDict()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
//search-bar点击
|
//search-bar点击
|
||||||
@ -203,6 +256,42 @@ 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 = "";
|
||||||
@ -318,6 +407,11 @@ 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,139 +1,159 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-02-14 15:02:26
|
* @Date: 2023-02-14 15:02:26
|
||||||
* @LastEditTime: 2023-07-13 09:42:39
|
* @LastEditTime: 2023-07-21 16:35:04
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
<el-drawer :title="dataForm.id ? $t('edit') : $t('add')" :visible.sync="drawer" size="50%">
|
||||||
label-width="150px">
|
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" 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-col>
|
</el-row>
|
||||||
<el-col :span="8">
|
</el-form>
|
||||||
<el-form-item prop="gageId" :label="$t('gage.gageName')">
|
<div v-if="dataForm.id? true :false" style='margin-left: 30px;'>
|
||||||
<el-select v-model="dataForm.gageId" :placeholder="$t('gage.gageName')" @change="getGageType">
|
<el-button @click="getTableData()" type="primary">{{ $t('gage.tabularComputations') }}</el-button>
|
||||||
<el-option v-for="item in gageList" :key="item.id" :label="item.name" :value="item.id">
|
<el-button @click="tabularComputationsAdd()" type="primary">{{ $t('gage.tabularComputationsAdd') }}</el-button>
|
||||||
</el-option>
|
<base-table :span-method="objectSpanMethod" :table-props="tableProps" :table-data="tableData" />
|
||||||
</el-select>
|
<el-table style="width: 100%" :data="getValues" :show-header="false">
|
||||||
</el-form-item>
|
<el-table-column v-for="(item, index) in getHeaders" :key="index" :prop="item">
|
||||||
</el-col>
|
</el-table-column>
|
||||||
<el-col :span="8">
|
</el-table>
|
||||||
<el-form-item prop="corporation" :label="$t('gage.corporation')">
|
</div>
|
||||||
<el-input v-model="dataForm.corporation" :placeholder="$t('gage.corporation')">
|
<tabularComputations-add ref="tabularComputationsAddOrUpdate" v-if="tabularComputationsAddShow"
|
||||||
</el-input>
|
@refreshDataList="getTableData">
|
||||||
</el-form-item>
|
</tabularComputations-add>
|
||||||
</el-col>
|
</el-drawer>
|
||||||
</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 = [
|
||||||
// {
|
// {
|
||||||
@ -201,29 +221,14 @@ 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 }",
|
||||||
@ -234,10 +239,11 @@ 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:[],
|
||||||
@ -304,7 +310,30 @@ 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: {
|
||||||
@ -332,6 +361,14 @@ 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: [
|
||||||
@ -373,7 +410,62 @@ 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
|
||||||
@ -407,42 +499,117 @@ 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.qmsGageGrrTesterDTOList[i].orderMapList)
|
// console.log(result.data.qmsGageGrrTesterDTOLis[i])
|
||||||
Object.keys(result.data.qmsGageGrrTesterDTOList[i].partMapList).forEach((item) => {
|
Object.keys(result.data.qmsGageGrrTesterDTOList[i].orderAverage).forEach((item) => {
|
||||||
this.tableProps[2].children.push({
|
orderAverageArr.push(result.data.qmsGageGrrTesterDTOList[i].orderAverage[item])
|
||||||
label: String(item),
|
|
||||||
prop: 'measuredData' + String(item),
|
|
||||||
align: 'center'
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
Object.keys(result.data.qmsGageGrrTesterDTOList[i].orderMapList).forEach((item) => {
|
Object.keys(result.data.qmsGageGrrTesterDTOList[i].orderMapList).forEach((item) => {
|
||||||
|
console.log(item)
|
||||||
let measuredDataProp = 'measuredData' + String(item)
|
let measuredDataProp = 'measuredData' + String(item)
|
||||||
this.tableData.push({
|
arr.push({
|
||||||
testUserName: result.data.qmsGageGrrTesterDTOList[i].testUserName,
|
testUserName: result.data.qmsGageGrrTesterDTOList[i].testUserName,
|
||||||
orderNumber: item,
|
orderNumber: item,
|
||||||
|
finalAverage: '',
|
||||||
|
gageGrrId: result.data.qmsGageGrrTesterDTOList[i].gageGrrId,
|
||||||
|
partAverageMean: '',
|
||||||
[measuredDataProp]: '',
|
[measuredDataProp]: '',
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
Object.keys(result.data.qmsGageGrrTesterDTOList[i].orderMapList).forEach((item) => {
|
Object.keys(result.data.qmsGageGrrTesterDTOList[i].range).forEach((item) => {
|
||||||
result.data.qmsGageGrrTesterDTOList[i].orderMapList[item].forEach((ele, index, arr) => {
|
rangeArr.push(result.data.qmsGageGrrTesterDTOList[i].range[item])
|
||||||
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++) {
|
||||||
@ -540,7 +707,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.visible = true
|
this.drawer = true
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs["dataForm"].resetFields();
|
this.$refs["dataForm"].resetFields();
|
||||||
if (this.dataForm.id) {
|
if (this.dataForm.id) {
|
||||||
@ -571,16 +738,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)
|
||||||
@ -608,6 +775,34 @@ 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 () {
|
||||||
|
113
src/views/modules/gage/components/innerTable.vue
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
<!--
|
||||||
|
* @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>
|
291
src/views/modules/gage/components/tabularComputations-add.vue
Normal file
@ -0,0 +1,291 @@
|
|||||||
|
<!--
|
||||||
|
* @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-13 09:31:24
|
* @LastEditTime: 2023-07-21 15:39:23
|
||||||
* @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,6 +42,8 @@
|
|||||||
</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>
|
||||||
@ -52,6 +54,7 @@ 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 = [
|
||||||
@ -160,6 +163,7 @@ 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,
|
||||||
@ -295,11 +299,11 @@ export default {
|
|||||||
})
|
})
|
||||||
.catch(() => { });
|
.catch(() => { });
|
||||||
} else if (val.type === 'edit') {
|
} else if (val.type === 'edit') {
|
||||||
this.addOrUpdateVisible = true
|
this.gapeGrsAddShow = true
|
||||||
this.addOrEditTitle = this.$t('edit')
|
// this.addOrEditTitle = this.$t('edit')
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.addOrUpdate.init(val.data.id);
|
this.$refs.gapeGrsAddOrUpdate.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',
|
||||||
@ -332,9 +336,11 @@ export default {
|
|||||||
this.exportHandle();
|
this.exportHandle();
|
||||||
break;
|
break;
|
||||||
case "add":
|
case "add":
|
||||||
this.addOrEditTitle = '新增'
|
this.gapeGrsAddShow = true
|
||||||
this.addOrUpdateVisible = true;
|
// this.addOrEditTitle = this.$t('edit')
|
||||||
this.addOrUpdateHandle()
|
this.$nextTick(() => {
|
||||||
|
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-17 14:33:44
|
* @LastEditTime: 2023-07-21 14:21:04
|
||||||
* @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,32 +27,14 @@
|
|||||||
</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'
|
||||||
@ -127,7 +109,7 @@ const tableBtn = [
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
export default {
|
export default {
|
||||||
mixins: [basicPage, basicSearch],
|
mixins: [basicPage],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
urlOptions: {
|
urlOptions: {
|
||||||
@ -156,15 +138,85 @@ export default {
|
|||||||
addOrUpdateVisible: false,
|
addOrUpdateVisible: false,
|
||||||
productOrUpdateVisible: false,
|
productOrUpdateVisible: false,
|
||||||
formConfig: [
|
formConfig: [
|
||||||
// {
|
{
|
||||||
// type: "",
|
type: 'select',
|
||||||
// label: i18n.t("params.paramCode"),
|
label: i18n.t('researchquality.changeSource'),
|
||||||
// placeholder: i18n.t("params.paramCode"),
|
placeholder: i18n.t('researchquality.changeSource'),
|
||||||
// param: "paramCode",
|
selectOptions: [
|
||||||
// },
|
{
|
||||||
// {
|
id: '0',
|
||||||
// type: "separate",
|
name: '工程变更'
|
||||||
// },
|
},
|
||||||
|
{
|
||||||
|
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'),
|
||||||
@ -190,7 +242,7 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
qualityChangeSearch,
|
// qualityChangeSearch,
|
||||||
// supplierProduct,
|
// supplierProduct,
|
||||||
qualityChangeAdd
|
qualityChangeAdd
|
||||||
},
|
},
|
||||||
@ -279,10 +331,11 @@ export default {
|
|||||||
switch (val.btnName) {
|
switch (val.btnName) {
|
||||||
case "search":
|
case "search":
|
||||||
// this.listQuery.paramCode = val.paramCode;
|
// this.listQuery.paramCode = val.paramCode;
|
||||||
this.listQuery.supplierName = val.supplierName ? val.supplierName : undefined
|
this.listQuery.changeSource = val.changeSource ? val.changeSource : 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.qualityChangeStatus = val.qualityChangeStatus ? val.qualityChangeStatus : undefined
|
||||||
this.listQuery.ment = this.ment ? this.ment : undefined
|
this.listQuery.startTime = val.timeSlot ? val.timeSlot[0] : null
|
||||||
|
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,6 +109,9 @@ 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:
|
||||||
@ -196,7 +199,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["post"](this.urlOptions.addURL, this.ruleForm)
|
this.$http[!this.ruleForm.id ? "post" : "put"](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);
|
||||||
@ -207,7 +210,7 @@ export default {
|
|||||||
supplierId: item,
|
supplierId: item,
|
||||||
evaluationPlanId: res.data
|
evaluationPlanId: res.data
|
||||||
}
|
}
|
||||||
this.$http["post"](this.urlOptions.addQmsRelation, param)
|
this.$http[!this.ruleForm.id ? "post" : "put"](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-05 15:03:52
|
* @LastEditTime: 2023-07-21 16:38:39
|
||||||
* @LastEditors: DY
|
* @LastEditors: DY
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -9,28 +9,40 @@
|
|||||||
<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></first>
|
<first ref="first" @refreshDataList="refreashData"></first>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="配置管理">配置管理</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-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 },
|
components: { first, second },
|
||||||
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,16 +1,15 @@
|
|||||||
<!--
|
<!--
|
||||||
* @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-11 14:22:43
|
* @LastEditTime: 2023-07-21 10:25:23
|
||||||
* @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: 300px">
|
<div style="width: 800px">
|
||||||
<el-steps direction="vertical" :active="activeStep" space="70px">
|
<el-steps :active="activeStep" space="150px">
|
||||||
<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>
|
||||||
@ -55,13 +54,13 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-row :gutter="5">
|
<el-row :gutter="5">
|
||||||
<el-col :span="18">
|
<el-col :span="16">
|
||||||
<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"
|
||||||
@selection-change="handleSelectionChange">
|
@select="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="要求" />
|
||||||
@ -69,7 +68,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">
|
||||||
@ -79,7 +78,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]">
|
||||||
@ -98,8 +97,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.id" style="margin: 5px 15px; border-bottom: 1px solid grey">
|
<div v-for="item in element.list" :key="item.projectId" style="margin: 5px 15px; border-bottom: 1px solid grey">
|
||||||
<p>{{ item.title }}</p>
|
<p>{{ item.projectName }}</p>
|
||||||
</div>
|
</div>
|
||||||
</transition-group>
|
</transition-group>
|
||||||
</draggable>
|
</draggable>
|
||||||
@ -119,7 +118,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.title }}</p>
|
<p style="border: 1px solid grey; width: 80px; text-align: center">{{ it.projectName }}</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>
|
||||||
@ -149,7 +148,8 @@ 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,12 +157,16 @@ 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: ''
|
||||||
@ -180,6 +184,8 @@ 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' }
|
||||||
@ -192,15 +198,67 @@ 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)
|
||||||
@ -217,22 +275,42 @@ export default {
|
|||||||
},
|
},
|
||||||
finishData() {
|
finishData() {
|
||||||
// 保存数据
|
// 保存数据
|
||||||
this.$http["post"](this.urlOptions.saveDataURL, this.paramsList)
|
console.log('结束打印', this.ruleForm)
|
||||||
.then(({ data: res }) => {
|
if (this.paramsList[0].id) {
|
||||||
if (res.code !== 0) {
|
this.$http["put"](`${this.urlOptions.updateDateURL}?id=${this.paramsList[0].id}`, this.paramsList)
|
||||||
return this.$message.error(res.msg);
|
.then(({ data: res }) => {
|
||||||
}
|
if (res.code !== 0) {
|
||||||
this.$message({
|
return this.$message.error(res.msg);
|
||||||
message: this.$t("prompt.success"),
|
}
|
||||||
type: "success",
|
this.$message({
|
||||||
duration: 500
|
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)
|
||||||
})
|
})
|
||||||
this.activeStep = 4
|
} else {
|
||||||
// this.visibleList[3] = false
|
this.$http["post"](this.urlOptions.saveDataURL, this.paramsList)
|
||||||
// this.visibleList[4] = true
|
.then(({ data: res }) => {
|
||||||
this.$set(this.visibleList, 3, false)
|
if (res.code !== 0) {
|
||||||
this.$set(this.visibleList, 4, true)
|
return this.$message.error(res.msg);
|
||||||
})
|
}
|
||||||
|
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)
|
||||||
@ -248,10 +326,34 @@ 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)
|
||||||
console.log('wokjkj', this.visibleList)
|
this.paramsList.forEach(item => {
|
||||||
|
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
|
||||||
@ -316,19 +418,30 @@ 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 key of typeList) {
|
for (let i = 0; i < typeList.length; i ++) {
|
||||||
let obj = {}
|
let obj = {}
|
||||||
obj.projectTypeName = typeList[key]
|
obj.projectTypeName = typeList[i]
|
||||||
obj.dragVisible = false
|
obj.dragVisible = false
|
||||||
obj.sort = key
|
obj.sort = i
|
||||||
obj.list = this.multipleSelection.filter((ele, index) => {
|
obj.calculationScoreFormula = undefined
|
||||||
if (ele.projectTypeName === typeList[key]) {
|
obj.weight = undefined
|
||||||
|
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
|
||||||
return ele
|
const tempList = {
|
||||||
|
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)
|
||||||
@ -341,21 +454,31 @@ export default {
|
|||||||
this.$set(this.visibleList, 2, true)
|
this.$set(this.visibleList, 2, true)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
toggleSelection(rows) {
|
toggleSelection() {
|
||||||
if (rows) {
|
console.log('打印', this.chooseTemList)
|
||||||
rows.forEach(row => {
|
console.log('打印22', this.tableData)
|
||||||
this.$refs.multipleTable.toggleRowSelection(row);
|
this.chooseTemList.forEach(item => {
|
||||||
});
|
if (item.list.length > 0) {
|
||||||
} else {
|
item.list.forEach(it => {
|
||||||
this.$refs.multipleTable.clearSelection();
|
this.tableData.forEach(data => {
|
||||||
}
|
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('你好', this.multipleSelection)
|
console.log('你好', val, this.multipleSelection)
|
||||||
},
|
},
|
||||||
getTypeList() {
|
getTypeList() {
|
||||||
this.paramsList = []
|
|
||||||
this.$http
|
this.$http
|
||||||
.get(this.urlOptions.getTypeListURL, {
|
.get(this.urlOptions.getTypeListURL, {
|
||||||
params: {
|
params: {
|
||||||
@ -408,7 +531,7 @@ export default {
|
|||||||
submitForm(formName) {
|
submitForm(formName) {
|
||||||
this.$refs[formName].validate((valid) => {
|
this.$refs[formName].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$http["post"](this.urlOptions.addtURL, this.ruleForm)
|
this.$http[!this.ruleForm.id ? "post" : "put"](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);
|
||||||
@ -424,9 +547,13 @@ 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.visibleList[0] = false
|
this.getEvaList()
|
||||||
// this.visibleList[1] = true
|
setTimeout(() =>{
|
||||||
|
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)
|
||||||
})
|
})
|
||||||
@ -443,6 +570,7 @@ 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;
|
||||||
}
|
}
|
||||||
@ -463,6 +591,7 @@ 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;
|
||||||
@ -476,7 +605,7 @@ export default {
|
|||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
width: 200px;
|
width: 200px;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
margin-left: 20px;
|
margin-left: 10px;
|
||||||
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="productName">
|
<el-form-item label="物料" prop="productId">
|
||||||
<el-select v-model="ruleForm.productName" filterable clearable placeholder="物料">
|
<el-select v-model="ruleForm.productId" 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.productName">
|
:value="item.id">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="供应商" prop="supplierName">
|
<el-form-item label="供应商" prop="supplierId">
|
||||||
<el-select v-model="ruleForm.supplierName" filterable clearable placeholder="供应商">
|
<el-select v-model="ruleForm.supplierId" 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.name">
|
:value="item.id">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="负责人" prop="personLiableName">
|
<el-form-item label="负责人" prop="personLiable">
|
||||||
<el-select v-model="ruleForm.personLiableName" filterable clearable placeholder="供应商">
|
<el-select v-model="ruleForm.personLiable" 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.username">
|
:value="item.id">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -66,6 +66,9 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
|
// props: {
|
||||||
|
// project: Object
|
||||||
|
// },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
urlOptions: {
|
urlOptions: {
|
||||||
@ -76,9 +79,9 @@ export default {
|
|||||||
},
|
},
|
||||||
ruleForm: {
|
ruleForm: {
|
||||||
title: '',
|
title: '',
|
||||||
productName: '',
|
productId: '',
|
||||||
supplierName: '',
|
supplierId: '',
|
||||||
personLiableName: '',
|
personLiable: '',
|
||||||
background: '',
|
background: '',
|
||||||
ment: 0,
|
ment: 0,
|
||||||
timeNodeStart: undefined,
|
timeNodeStart: undefined,
|
||||||
@ -100,8 +103,7 @@ 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' }
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -110,8 +112,16 @@ 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, {
|
||||||
@ -173,7 +183,6 @@ 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]
|
||||||
@ -183,7 +192,7 @@ export default {
|
|||||||
}
|
}
|
||||||
this.$refs[formName].validate((valid) => {
|
this.$refs[formName].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$http["post"](this.urlOptions.addURL, this.ruleForm)
|
this.$http[!this.ruleForm.id ? "post" : "put"](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);
|
||||||
|
21
src/views/modules/supplier/components/second.vue
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
<!--
|
||||||
|
* @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>
|
0
src/views/modules/supplier/components/third.vue
Normal file
@ -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-11 15:20:16
|
* @LastEditTime: 2023-08-24 09:28:35
|
||||||
* @LastEditors: zhp
|
* @LastEditors: DY
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -13,7 +13,7 @@
|
|||||||
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
|
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
|
||||||
</SearchBar>
|
</SearchBar>
|
||||||
<base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1" :limit="listQuery.limit" :table-data="tableData">
|
<base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1" :limit="listQuery.limit" :table-data="tableData">
|
||||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" :label="$t('handle')" :method-list="tableBtn"
|
||||||
@clickBtn="handleClick" />
|
@clickBtn="handleClick" />
|
||||||
</base-table>
|
</base-table>
|
||||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||||
@ -110,8 +110,8 @@ export default {
|
|||||||
formConfig: [
|
formConfig: [
|
||||||
{
|
{
|
||||||
type: 'input',
|
type: 'input',
|
||||||
label: i18n.t('supplier.name'),
|
label: i18n.t('supplier.title'),
|
||||||
placeholder: i18n.t('supplier.name'),
|
placeholder: i18n.t('supplier.title'),
|
||||||
param: 'title'
|
param: 'title'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -173,7 +173,7 @@ export default {
|
|||||||
// this.searchOrUpdateVisible = false;
|
// this.searchOrUpdateVisible = false;
|
||||||
// },
|
// },
|
||||||
conditionSearch() {
|
conditionSearch() {
|
||||||
this.searchOrEditTitle = "搜索";
|
this.searchOrEditTitle = this.$t('search');
|
||||||
this.searchOrUpdateVisible = true;
|
this.searchOrUpdateVisible = true;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.searchOrUpdate.init();
|
this.$refs.searchOrUpdate.init();
|
||||||
@ -226,16 +226,19 @@ export default {
|
|||||||
},
|
},
|
||||||
handleClick(val) {
|
handleClick(val) {
|
||||||
if (val.type === "delete") {
|
if (val.type === "delete") {
|
||||||
this.$confirm(`确定对[名称=${val.data.customerTypeName}]进行删除操作?`, "提示", {
|
this.$confirm(
|
||||||
confirmButtonText: "确定",
|
this.$t("prompt.delete", { object: val.data.customerTypeName }),
|
||||||
cancelButtonText: "取消",
|
this.$t("prompt.title"),
|
||||||
type: "warning",
|
{
|
||||||
})
|
confirmButtonText: this.$t("confirm"),
|
||||||
|
cancelButtonText: this.$t("cancel"),
|
||||||
|
type: "warning"
|
||||||
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
|
this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
|
||||||
if (data && data.code === 0) {
|
if (data && data.code === 0) {
|
||||||
this.$message({
|
this.$message({
|
||||||
message: "操作成功",
|
message: this.$t("prompt.success"),
|
||||||
type: "success",
|
type: "success",
|
||||||
duration: 1500,
|
duration: 1500,
|
||||||
onClose: () => {
|
onClose: () => {
|
||||||
@ -282,7 +285,7 @@ export default {
|
|||||||
this.getDataList();
|
this.getDataList();
|
||||||
break;
|
break;
|
||||||
case "add":
|
case "add":
|
||||||
this.addOrEditTitle = '新增'
|
this.addOrEditTitle = this.$t('add')
|
||||||
this.addOrUpdateVisible = true
|
this.addOrUpdateVisible = true
|
||||||
this.addOrUpdateHandle()
|
this.addOrUpdateHandle()
|
||||||
break;
|
break;
|
||||||
|
@ -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-12 14:17:24
|
* @LastEditTime: 2023-08-17 15:06:48
|
||||||
* @LastEditors: DY
|
* @LastEditors: DY
|
||||||
* @Description: 标签设定
|
* @Description: 标签设定
|
||||||
-->
|
-->
|
||||||
@ -114,19 +114,20 @@ export default {
|
|||||||
},
|
},
|
||||||
editHandle(label) {
|
editHandle(label) {
|
||||||
label.disabled = false
|
label.disabled = false
|
||||||
console.log('nihc', label)
|
|
||||||
},
|
},
|
||||||
handleClose(tag) {
|
handleClose(tag) {
|
||||||
console.log('你好', tag)
|
this.$confirm(
|
||||||
this.$confirm(`确定对[名称=${tag.name}]进行删除操作?`, "提示", {
|
this.$t("prompt.delete", { object: tag.name }),
|
||||||
confirmButtonText: "确定",
|
this.$t("prompt.title"),
|
||||||
cancelButtonText: "取消",
|
{
|
||||||
type: "warning",
|
confirmButtonText: this.$t("confirm"),
|
||||||
|
cancelButtonText: this.$t("cancel"),
|
||||||
|
type: "warning"
|
||||||
}).then(()=> {
|
}).then(()=> {
|
||||||
this.$http.delete(this.urlOptions.deleteLabelInfoURL, { data: [tag.id] }).then(({ data }) => {
|
this.$http.delete(this.urlOptions.deleteLabelInfoURL, { data: [tag.id] }).then(({ data }) => {
|
||||||
if (data && data.code === 0) {
|
if (data && data.code === 0) {
|
||||||
this.$message({
|
this.$message({
|
||||||
message: "操作成功",
|
message: this.$t("prompt.success"),
|
||||||
type: "success",
|
type: "success",
|
||||||
duration: 1500,
|
duration: 1500,
|
||||||
onClose: () => {
|
onClose: () => {
|
||||||
@ -149,16 +150,19 @@ export default {
|
|||||||
// });
|
// });
|
||||||
// },
|
// },
|
||||||
deleteHandle(id, name) {
|
deleteHandle(id, name) {
|
||||||
this.$confirm(`确定对[名称=${name}]进行删除操作?`, "提示", {
|
this.$confirm(
|
||||||
confirmButtonText: "确定",
|
this.$t("prompt.delete", { object: name }),
|
||||||
cancelButtonText: "取消",
|
this.$t("prompt.title"),
|
||||||
type: "warning",
|
{
|
||||||
|
confirmButtonText: this.$t("confirm"),
|
||||||
|
cancelButtonText: this.$t("cancel"),
|
||||||
|
type: "warning"
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.$http.delete(this.urlOptions.deleteURL, { data: [id] }).then(({ data }) => {
|
this.$http.delete(this.urlOptions.deleteURL, { data: [id] }).then(({ data }) => {
|
||||||
if (data && data.code === 0) {
|
if (data && data.code === 0) {
|
||||||
this.$message({
|
this.$message({
|
||||||
message: "操作成功",
|
message: this.$t("prompt.success"),
|
||||||
type: "success",
|
type: "success",
|
||||||
duration: 1500,
|
duration: 1500,
|
||||||
onClose: () => {
|
onClose: () => {
|
||||||
@ -279,38 +283,6 @@ export default {
|
|||||||
// console.log(11111);
|
// console.log(11111);
|
||||||
// this.conditionSearchSubmit();
|
// this.conditionSearchSubmit();
|
||||||
},
|
},
|
||||||
handleClick(val) {
|
|
||||||
if (val.type === "delete") {
|
|
||||||
this.$confirm(`确定对[名称=${val.data.customerTypeName}]进行删除操作?`, "提示", {
|
|
||||||
confirmButtonText: "确定",
|
|
||||||
cancelButtonText: "取消",
|
|
||||||
type: "warning",
|
|
||||||
})
|
|
||||||
.then(() => {
|
|
||||||
this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
|
|
||||||
if (data && data.code === 0) {
|
|
||||||
this.$message({
|
|
||||||
message: "操作成功",
|
|
||||||
type: "success",
|
|
||||||
duration: 1500,
|
|
||||||
onClose: () => {
|
|
||||||
this.getDataList();
|
|
||||||
},
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
this.$message.error(data.msg);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
})
|
|
||||||
.catch(() => { });
|
|
||||||
} else if (val.type === 'edit') {
|
|
||||||
this.addOrEditTitle = '修改'
|
|
||||||
this.addOrUpdateVisible = true;
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$refs.addOrUpdate.init(val.data.id);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
|
||||||
buttonClick(val) {
|
buttonClick(val) {
|
||||||
console.log(val)
|
console.log(val)
|
||||||
switch (val.btnName) {
|
switch (val.btnName) {
|
||||||
|
@ -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 15:53:22
|
* @LastEditTime: 2023-08-22 11:00:34
|
||||||
* @LastEditors: DY
|
* @LastEditors: DY
|
||||||
* @Description: 评估计划
|
* @Description: 评估计划
|
||||||
-->
|
-->
|
||||||
@ -9,11 +9,11 @@
|
|||||||
<el-card shadow="never" class="aui-card--fill">
|
<el-card shadow="never" class="aui-card--fill">
|
||||||
<div>
|
<div>
|
||||||
<el-form :inline="true" :model="formInline" class="demo-form-inline">
|
<el-form :inline="true" :model="formInline" class="demo-form-inline">
|
||||||
<el-form-item label="供应商名称">
|
<el-form-item :label="$t('quality.suppliername')">
|
||||||
<el-input v-model="formInline.supplierName" placeholder="供应商"></el-input>
|
<el-input v-model="formInline.supplierName" :placeholder="$t('quality.suppliername')"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="评估模板">
|
<el-form-item :label="$t('supplier.evaluationTemplateName')">
|
||||||
<el-select v-model="formInline.evaluationTemplateId" filterable clearable placeholder="评估模板">
|
<el-select v-model="formInline.evaluationTemplateId" filterable clearable :placeholder="$t('supplier.evaluationTemplateName')">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in modalOptions"
|
v-for="item in modalOptions"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
@ -22,8 +22,8 @@
|
|||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="评估类型">
|
<el-form-item :label="$t('supplier.evaluationType')">
|
||||||
<el-select v-model="formInline.evaluationType" clearable placeholder="评估类型">
|
<el-select v-model="formInline.evaluationType" clearable :placeholder="$t('supplier.evaluationType')">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in typeOptions"
|
v-for="item in typeOptions"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
@ -33,7 +33,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="onSubmit">查询</el-button>
|
<el-button type="primary" @click="onSubmit">{{ $t('query') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
@ -45,60 +45,60 @@
|
|||||||
<el-table-column type="expand">
|
<el-table-column type="expand">
|
||||||
<template slot-scope="props">
|
<template slot-scope="props">
|
||||||
<el-form label-position="left" inline class="demo-table-expand">
|
<el-form label-position="left" inline class="demo-table-expand">
|
||||||
<el-form-item label="供应商列表">
|
<el-form-item :label="$t('quality.supplierList')">
|
||||||
<el-tag type="success" v-for="(item, index) in props.row.list" :key="index">{{ item.supplierName }}</el-tag>
|
<el-tag type="success" v-for="(item, index) in props.row.list" :key="index">{{ item.supplierName }}</el-tag>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<br>
|
<br>
|
||||||
<el-form-item label="负责人列表">
|
<el-form-item :label="$t('quality.principal')">
|
||||||
<el-tag>{{ props.row.evaluatorName }}</el-tag>
|
<el-tag>{{ props.row.evaluatorName }}</el-tag>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="评估类型"
|
:label="$t('supplier.evaluationType')"
|
||||||
prop="evaluationType">
|
prop="evaluationType">
|
||||||
<template slot-scope="slot">
|
<template slot-scope="slot">
|
||||||
<el-tag :type="slot.row.evaluationType === 0 ? 'info' : slot.row.evaluationType === 1 ? 'success' : ''" effect="dark">{{ slot.row.evaluationType === 0 ? '年度' : slot.row.evaluationType === 1 ? '季度' : '月度' }}</el-tag>
|
<el-tag :type="slot.row.evaluationType === 0 ? 'info' : slot.row.evaluationType === 1 ? 'success' : ''" effect="dark">{{ slot.row.evaluationType === 0 ? $t('supplier.year') : slot.row.evaluationType === 1 ? $t('supplier.quarter') : $t('supplier.month') }}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="标题"
|
:label="$t('quality.title')"
|
||||||
prop="title">
|
prop="title">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="评估模板"
|
:label="$t('supplier.evaluationTemplateName')"
|
||||||
prop="evaluationTemplateName">
|
prop="evaluationTemplateName">
|
||||||
<template slot-scope="slot">
|
<template slot-scope="slot">
|
||||||
<el-tag type="danger" effect="plain">{{ slot.row.evaluationTemplateName }}</el-tag>
|
<el-tag type="danger" effect="plain">{{ slot.row.evaluationTemplateName }}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="说明"
|
:label="$t('supplier.description')"
|
||||||
prop="description">
|
prop="description">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="上次启动时间"
|
:label="$t('supplier.lastStartTime')"
|
||||||
prop="lastStartTime">
|
prop="lastStartTime">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="上次启动评估时间段"
|
:label="$t('supplier.lastStartEvaluationPeriod')"
|
||||||
prop="lastStartEvaluationPeriod">
|
prop="lastStartEvaluationPeriod">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="预计下次启动时间"
|
:label="$t('supplier.estimatedNextStartTime')"
|
||||||
prop="estimatedNextStartTime">
|
prop="estimatedNextStartTime">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="提醒人"
|
:label="$t('supplier.reminder')"
|
||||||
prop="reminder">
|
prop="reminder">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="操作"
|
:label="$t('public.operation')"
|
||||||
width="160"
|
width="160"
|
||||||
prop="desc">
|
prop="desc">
|
||||||
<template slot-scope="slot">
|
<template slot-scope="slot">
|
||||||
<el-button type="text" @click="start(slot.row)">启动</el-button>
|
<el-button type="text" @click="start(slot.row)">{{ $('public.activate') }}</el-button>
|
||||||
<el-button type="text" @click="editPlan(slot.row)">edit</el-button>
|
<el-button type="text" @click="editPlan(slot.row)">edit</el-button>
|
||||||
<el-button type="text" @click="deletePlan(slot.row)" style="color: red">delete</el-button>
|
<el-button type="text" @click="deletePlan(slot.row)" style="color: red">delete</el-button>
|
||||||
</template>
|
</template>
|
||||||
@ -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 v-if="addtModelVisible" @refreshDataList="onSubmit"></add-plan>
|
<add-plan ref="addModel" 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>
|
||||||
@ -118,6 +118,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import addPlan from './components/addPlan.vue'
|
import addPlan from './components/addPlan.vue'
|
||||||
import startPlan from './components/startPlan.vue'
|
import startPlan from './components/startPlan.vue'
|
||||||
|
import i18n from "@/i18n"
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: { addPlan, startPlan },
|
components: { addPlan, startPlan },
|
||||||
@ -132,15 +133,15 @@ export default {
|
|||||||
addtModelVisible: false,
|
addtModelVisible: false,
|
||||||
typeOptions: [
|
typeOptions: [
|
||||||
{
|
{
|
||||||
name: '年度',
|
name: i18n.t('supplier.year'),
|
||||||
id: 0
|
id: 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '季度',
|
name: i18n.t('supplier.quarter'),
|
||||||
id: 1
|
id: 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '月度',
|
name: i18n.t('supplier.month'),
|
||||||
id: 2
|
id: 2
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -180,18 +181,26 @@ 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(
|
||||||
confirmButtonText: "确定",
|
this.$t("prompt.delete", { object: val.title }),
|
||||||
cancelButtonText: "取消",
|
this.$t("prompt.title"),
|
||||||
type: "warning",
|
{
|
||||||
|
confirmButtonText: this.$t("confirm"),
|
||||||
|
cancelButtonText: this.$t("cancel"),
|
||||||
|
type: "warning"
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.$http.delete(this.urlOptions.deleteURL, { data: [val.id] }).then(({ data }) => {
|
this.$http.delete(this.urlOptions.deleteURL, { data: [val.id] }).then(({ data }) => {
|
||||||
if (data && data.code === 0) {
|
if (data && data.code === 0) {
|
||||||
this.$message({
|
this.$message({
|
||||||
message: "操作成功",
|
message: this.$t("prompt.success"),
|
||||||
type: "success",
|
type: "success",
|
||||||
duration: 1500,
|
duration: 1500,
|
||||||
onClose: () => {
|
onClose: () => {
|
||||||
|
@ -1,41 +1,64 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: Do not edit
|
* @Author: Do not edit
|
||||||
* @Date: 2023-06-19 10:38:41
|
* @Date: 2023-06-19 10:38:41
|
||||||
* @LastEditTime: 2023-06-26 16:05:18
|
* @LastEditTime: 2023-08-21 15:26:45
|
||||||
* @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">
|
||||||
<p style="font-size: 18px">{{ item.name }}</p>
|
<div class="flexDiv">
|
||||||
<div style="margin-top: 30px;">
|
<div style="height: 150px">
|
||||||
<el-row :gutter="20">
|
<p style="font-size: 22px; text-align: center; margin-top: 10%">{{ item.name }}</p>
|
||||||
<el-col :span="20">
|
<p style="text-align: center">{{item.remark}}</p>
|
||||||
<span style="font-size: 18px;">综合评估表</span>
|
</div>
|
||||||
</el-col>
|
<div>
|
||||||
<el-col :span="4">
|
<el-row :gutter="0">
|
||||||
<i class="el-icon-view" @click="seeeValuationList(item.id)"></i>
|
<el-col :span="8">
|
||||||
</el-col>
|
<div :class="item.current === 1 ? 'activeCard' : 'normalCard'" @mouseenter="enterDiv(item)" @mouseleave="leaveDiv(item)" @click="seeeValuationList(item.id)">
|
||||||
</el-row>
|
<svg v-if="item.current" class="icon-svg" aria-hidden="true"><use xlink:href="#icon-look"></use></svg>
|
||||||
<el-row :gutter="20">
|
<svg v-else class="icon-svg" aria-hidden="true"><use xlink:href="#icon-look1"></use></svg>
|
||||||
<el-col :span="4" :offset="20">
|
<p style="font-size: 14px">{{ $t("preview") }}</p>
|
||||||
<i class="el-icon-delete" @click="deleteEvaluation(item.id, item.name)"></i>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
<el-col :span="8">
|
||||||
|
<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">{{ $t("edit") }}</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">{{ $t("delete") }}</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>
|
<!-- <div v-if="editModelVisible" style="border: 1px solid grey; padding: 10px">
|
||||||
<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
|
<el-dialog
|
||||||
title="预览"
|
:title="$t('add')"
|
||||||
|
: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
|
||||||
|
:title="$t('preview')"
|
||||||
:visible.sync="dialogVisible"
|
:visible.sync="dialogVisible"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
width="40%"
|
width="40%"
|
||||||
@ -81,28 +104,46 @@ export default ({
|
|||||||
},
|
},
|
||||||
tableProps,
|
tableProps,
|
||||||
projectsList: [],
|
projectsList: [],
|
||||||
|
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) {
|
||||||
|
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(
|
||||||
confirmButtonText: "确定",
|
this.$t("prompt.delete", { object: name }),
|
||||||
cancelButtonText: "取消",
|
this.$t("prompt.title"),
|
||||||
type: "warning",
|
{
|
||||||
|
confirmButtonText: this.$t("confirm"),
|
||||||
|
cancelButtonText: this.$t("cancel"),
|
||||||
|
type: "warning"
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.$http.delete(this.urlOptions.deleteURL, { data: [id] }).then(({ data }) => {
|
this.$http.delete(this.urlOptions.deleteURL, { data: [id] }).then(({ data }) => {
|
||||||
if (data && data.code === 0) {
|
if (data && data.code === 0) {
|
||||||
this.$message({
|
this.$message({
|
||||||
message: "操作成功",
|
message: this.$t("prompt.success"),
|
||||||
type: "success",
|
type: "success",
|
||||||
duration: 1500,
|
duration: 1500,
|
||||||
onClose: () => {
|
onClose: () => {
|
||||||
@ -120,14 +161,13 @@ export default ({
|
|||||||
this.editModelVisible = value
|
this.editModelVisible = value
|
||||||
},
|
},
|
||||||
handleClose(done) {
|
handleClose(done) {
|
||||||
this.$confirm('确认关闭?')
|
this.$confirm(this.$t('prompt.info', { 'handle': this.$t('close') }))
|
||||||
.then(_ => {
|
.then(_ => {
|
||||||
done();
|
done();
|
||||||
})
|
})
|
||||||
.catch(_ => {});
|
.catch(_ => {});
|
||||||
},
|
},
|
||||||
seeeValuationList(id) {
|
seeeValuationList(id) {
|
||||||
console.log('啊啊啊啊', id)
|
|
||||||
this.dialogVisible = true
|
this.dialogVisible = true
|
||||||
this.$http
|
this.$http
|
||||||
.get(this.urlOptions.getProjectTypeURL, {
|
.get(this.urlOptions.getProjectTypeURL, {
|
||||||
@ -151,6 +191,9 @@ export default ({
|
|||||||
},
|
},
|
||||||
addTemplate() {
|
addTemplate() {
|
||||||
this.editModelVisible = true
|
this.editModelVisible = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addTemplate.init()
|
||||||
|
});
|
||||||
},
|
},
|
||||||
getDataList() {
|
getDataList() {
|
||||||
// this.dataListLoading = true;
|
// this.dataListLoading = true;
|
||||||
@ -165,7 +208,10 @@ 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;
|
this.dataList = res.data.list.map((item) =>{
|
||||||
|
item.current = 0
|
||||||
|
return item
|
||||||
|
})
|
||||||
this.listQuery.total = res.data.total;
|
this.listQuery.total = res.data.total;
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
@ -177,19 +223,25 @@ 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: 20px 5vw;
|
/* padding: 10px; */
|
||||||
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: 40%;
|
width: 32%;
|
||||||
height: 150px;
|
height: 250px;
|
||||||
margin: 10px;
|
margin: 5px;
|
||||||
|
text-align: center;
|
||||||
}
|
}
|
||||||
.carcleButton {
|
.carcleButton {
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
@ -198,4 +250,37 @@ 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: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-04-17 14:23:17
|
* @Date: 2023-04-17 14:23:17
|
||||||
* @LastEditTime: 2023-07-14 15:56:32
|
* @LastEditTime: 2023-08-22 15:05:00
|
||||||
* @LastEditors: DY
|
* @LastEditors: DY
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -18,7 +18,7 @@
|
|||||||
<base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1"
|
<base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1"
|
||||||
@emitFun="inputChange" :limit="listQuery.limit"
|
@emitFun="inputChange" :limit="listQuery.limit"
|
||||||
:table-data="tableData" >
|
:table-data="tableData" >
|
||||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" :label="$t('public.operation')" :method-list="tableBtn"
|
||||||
@clickBtn="handleClick" />
|
@clickBtn="handleClick" />
|
||||||
</base-table>
|
</base-table>
|
||||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||||
@ -296,16 +296,19 @@ export default {
|
|||||||
},
|
},
|
||||||
handleClick(val) {
|
handleClick(val) {
|
||||||
if (val.type === "delete") {
|
if (val.type === "delete") {
|
||||||
this.$confirm(`确定对[名称=${val.data.customerTypeName}]进行删除操作?`, "提示", {
|
this.$confirm(
|
||||||
confirmButtonText: "确定",
|
this.$t("prompt.delete", { object: val.data.customerTypeName }),
|
||||||
cancelButtonText: "取消",
|
this.$t("prompt.title"),
|
||||||
type: "warning",
|
{
|
||||||
|
confirmButtonText: this.$t("confirm"),
|
||||||
|
cancelButtonText: this.$t("cancel"),
|
||||||
|
type: "warning"
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
|
this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
|
||||||
if (data && data.code === 0) {
|
if (data && data.code === 0) {
|
||||||
this.$message({
|
this.$message({
|
||||||
message: "操作成功",
|
message: this.$t("prompt.success"),
|
||||||
type: "success",
|
type: "success",
|
||||||
duration: 1500,
|
duration: 1500,
|
||||||
onClose: () => {
|
onClose: () => {
|
||||||
|
@ -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-04 09:53:30
|
* @LastEditTime: 2023-08-23 15:10:48
|
||||||
* @LastEditors: DY
|
* @LastEditors: DY
|
||||||
* @Description: 项目清单
|
* @Description: 项目清单
|
||||||
-->
|
-->
|
||||||
@ -9,11 +9,11 @@
|
|||||||
<el-card shadow="never" class="aui-card--fill">
|
<el-card shadow="never" class="aui-card--fill">
|
||||||
<div>
|
<div>
|
||||||
<el-form :inline="true" :model="formInline" class="demo-form-inline">
|
<el-form :inline="true" :model="formInline" class="demo-form-inline">
|
||||||
<el-form-item label="标题">
|
<el-form-item :label="$t('supplier.title')">
|
||||||
<el-input v-model="formInline.title" placeholder="标题"></el-input>
|
<el-input v-model="formInline.title" :placeholder="$t('supplier.title')"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="物料">
|
<el-form-item :label="$t('supplier.materiel')">
|
||||||
<el-select v-model="formInline.productId" filterable clearable placeholder="物料">
|
<el-select v-model="formInline.productId" filterable clearable :placeholder="$t('supplier.materiel')">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in productList"
|
v-for="item in productList"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
@ -22,8 +22,8 @@
|
|||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="供应商">
|
<el-form-item :label="$t('quality.supplierName')">
|
||||||
<el-select v-model="formInline.supplierId" filterable clearable placeholder="供应商">
|
<el-select v-model="formInline.supplierId" filterable clearable :placeholder="$t('quality.supplierName')">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in supplierList"
|
v-for="item in supplierList"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
@ -32,32 +32,47 @@
|
|||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="状态">
|
<el-form-item :label="$t('supplier.status')">
|
||||||
<el-radio-group v-model="formInline.status">
|
<el-radio-group v-model="formInline.status">
|
||||||
<el-radio-button :label="2">全部</el-radio-button>
|
<el-radio-button :label="2">{{ $t('all') }}</el-radio-button>
|
||||||
<el-radio-button :label="1">已完成</el-radio-button>
|
<el-radio-button :label="1">{{ $t('finished') }}</el-radio-button>
|
||||||
<el-radio-button :label="0">实施中</el-radio-button>
|
<el-radio-button :label="0">{{ $t('implementation') }}</el-radio-button>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="时间">
|
<el-form-item :label="$t('time')">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="timeSlot"
|
v-model="timeSlot"
|
||||||
type="daterange"
|
type="daterange"
|
||||||
value-format="yyyy-MM-dd HH:mm:ss"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
range-separator="至"
|
:range-separator="$t('gage.to')"
|
||||||
start-placeholder="开始日期"
|
:start-placeholder="$t('gage.startTime')"
|
||||||
end-placeholder="结束日期">
|
:end-placeholder="$t('gage.endTime')">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="onSubmit">查询</el-button>
|
<el-button type="primary" @click="onSubmit">{{ $t('query') }}</el-button>
|
||||||
</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)">{{ $t('edit') }}</div></el-col>
|
||||||
|
<el-col :span="12"><div class="bottom" @click="deletePro(project)">{{ $t('delete') }}</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 v-if="addtModelVisible" @refreshDataList="onSubmit"></add-projects>
|
<add-projects ref="addProjects" v-if="addtModelVisible" @refresh="refreashData"></add-projects>
|
||||||
</el-card>
|
</el-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -72,14 +87,15 @@ 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: '',
|
title: undefined,
|
||||||
productId: '',
|
productId: undefined,
|
||||||
supplierId: '',
|
supplierId: undefined,
|
||||||
ment: undefined,
|
ment: undefined,
|
||||||
status: 2,
|
status: 2,
|
||||||
startTime: undefined,
|
startTime: undefined,
|
||||||
@ -96,11 +112,49 @@ export default {
|
|||||||
mounted() {
|
mounted() {
|
||||||
this.getProductList();
|
this.getProductList();
|
||||||
this.getSupplier();
|
this.getSupplier();
|
||||||
|
this.onSubmit()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
deletePro(val) {
|
||||||
|
this.$confirm(
|
||||||
|
this.$t("prompt.delete", { object: val.title }),
|
||||||
|
this.$t("prompt.title"),
|
||||||
|
{
|
||||||
|
confirmButtonText: this.$t("confirm"),
|
||||||
|
cancelButtonText: this.$t("cancel"),
|
||||||
|
type: "warning"
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.$http.delete(this.urlOptions.deleteURL, { data: [val.id] }).then(({ data }) => {
|
||||||
|
if (data && data.code === 0) {
|
||||||
|
this.$message({
|
||||||
|
message: this.$t("prompt.success"),
|
||||||
|
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) {
|
||||||
@ -181,4 +235,31 @@ 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-06-27 14:46:10
|
* @LastEditTime: 2023-08-24 10:58:10
|
||||||
* @LastEditors: DY
|
* @LastEditors: DY
|
||||||
* @Description: 要求清单
|
* @Description: 要求清单
|
||||||
-->
|
-->
|
||||||
@ -10,27 +10,30 @@
|
|||||||
<div style="padding: 20px 30px">
|
<div style="padding: 20px 30px">
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<h2>要求分组</h2>
|
<h2>{{ $t('supplier.requiredGrouping') }}</h2>
|
||||||
<div v-for="(item, index) in groupList" :key="index">
|
<div v-for="(item, index) in groupList" :key="index">
|
||||||
<el-button style="width: 100px; text-align: left" @click="searchByGroup(item)">{{ item.name }}</el-button>
|
<div :class="item.actived ? 'activedDiv' : 'group'" @click="searchByGroup(item)">{{ item.name }}</div>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="18">
|
<el-col :span="18">
|
||||||
<el-form :inline="true" :model="formInline" class="demo-form-inline">
|
<el-form :inline="true" :model="formInline" class="demo-form-inline">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-input v-model="formInline.requirementName" placeholder="标题"></el-input>
|
<el-input v-model="formInline.requirementName" :placeholder="$t('supplier.title')"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="onSubmit">查询</el-button>
|
<el-button type="primary" @click="onSubmit">{{ $t('query') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div class="bigDiv">
|
<div class="bigDiv">
|
||||||
<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="20">
|
<el-col :span="4" :offset="16">
|
||||||
<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>
|
||||||
@ -42,14 +45,14 @@
|
|||||||
<div v-if="addtModelVisible" style="height: 400px; width: 40%; margin: 20px auto; border: 1px solid grey; padding: 20px">
|
<div v-if="addtModelVisible" style="height: 400px; width: 40%; margin: 20px auto; border: 1px solid grey; padding: 20px">
|
||||||
<h2>要求编辑</h2>
|
<h2>要求编辑</h2>
|
||||||
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="80px" class="demo-ruleForm">
|
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="80px" class="demo-ruleForm">
|
||||||
<el-form-item label="标题" prop="title">
|
<el-form-item :label="$t('supplier.title')" 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="description">
|
<el-form-item :label="$t('gage.description')" prop="description">
|
||||||
<el-input type="textarea" v-model="ruleForm.description"></el-input>
|
<el-input type="textarea" v-model="ruleForm.description"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="所属分组" prop="requirementListGroupId">
|
<el-form-item :label="$t('researchquality.requirementListGroupId')" prop="requirementListGroupId">
|
||||||
<el-select v-model="ruleForm.requirementListGroupId" placeholder="请选择">
|
<el-select v-model="ruleForm.requirementListGroupId" :placeholder="$t('choose')">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in groupList"
|
v-for="item in groupList"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
@ -60,8 +63,8 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<!-- <el-button type="primary" @click="submitForm('ruleForm')">保存</el-button> -->
|
<!-- <el-button type="primary" @click="submitForm('ruleForm')">保存</el-button> -->
|
||||||
<el-button @click="dialogVisible = false">取 消</el-button>
|
<el-button @click="dialogVisible = false">{{ $t('cancel') }}</el-button>
|
||||||
<el-button type="primary" @click="saveRequirement">保 存</el-button>
|
<el-button type="primary" @click="saveRequirement">{{ $t('save') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
@ -106,17 +109,24 @@ 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(
|
||||||
confirmButtonText: "确定",
|
this.$t("prompt.delete", { object: name }),
|
||||||
cancelButtonText: "取消",
|
this.$t("prompt.title"),
|
||||||
type: "warning",
|
{
|
||||||
|
confirmButtonText: this.$t("confirm"),
|
||||||
|
cancelButtonText: this.$t("cancel"),
|
||||||
|
type: "warning"
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.$http.delete(this.urlOptions.deleteURL, { data: [id] }).then(({ data }) => {
|
this.$http.delete(this.urlOptions.deleteURL, { data: [id] }).then(({ data }) => {
|
||||||
if (data && data.code === 0) {
|
if (data && data.code === 0) {
|
||||||
this.$message({
|
this.$message({
|
||||||
message: "操作成功",
|
message: this.$t("prompt.success"),
|
||||||
type: "success",
|
type: "success",
|
||||||
duration: 1500,
|
duration: 1500,
|
||||||
onClose: () => {
|
onClose: () => {
|
||||||
@ -133,7 +143,7 @@ export default {
|
|||||||
saveRequirement() {
|
saveRequirement() {
|
||||||
this.$refs['ruleForm'].validate((valid) => {
|
this.$refs['ruleForm'].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$http["post"](this.urlOptions.addtURL, this.ruleForm)
|
this.$http[!this.ruleForm.id ? "post" : "put"](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);
|
||||||
@ -157,8 +167,13 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
searchByGroup(group) {
|
searchByGroup(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
|
||||||
@ -174,7 +189,10 @@ export default {
|
|||||||
this.groupList = [];
|
this.groupList = [];
|
||||||
return this.$message.error(res.msg);
|
return this.$message.error(res.msg);
|
||||||
}
|
}
|
||||||
this.groupList = res.data.list;
|
this.groupList = res.data.list.map(item => {
|
||||||
|
item.actived = false
|
||||||
|
return item
|
||||||
|
});
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
this.dataListLoading = false;
|
this.dataListLoading = false;
|
||||||
@ -191,7 +209,7 @@ export default {
|
|||||||
onSubmit() {
|
onSubmit() {
|
||||||
console.log('submit!');
|
console.log('submit!');
|
||||||
if (this.formInline.groupId === '') {
|
if (this.formInline.groupId === '') {
|
||||||
this.$message.error('请选择要求分组')
|
this.$message.error(this.$t("prompt.chooseGroup"))
|
||||||
} else {
|
} else {
|
||||||
this.$http
|
this.$http
|
||||||
.get(this.urlOptions.getRequirementListURL, {
|
.get(this.urlOptions.getRequirementListURL, {
|
||||||
@ -236,4 +254,17 @@ 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>
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2023-01-04 10:29:40
|
* @Date: 2023-01-04 10:29:40
|
||||||
* @LastEditors: zwq
|
* @LastEditors: DY
|
||||||
* @LastEditTime: 2023-01-05 14:32:59
|
* @LastEditTime: 2023-08-01 15:14:29
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
|