Compare commits
22 Commits
3e9e5f82db
...
bcdb04059b
Author | SHA1 | Date | |
---|---|---|---|
|
bcdb04059b | ||
|
2ba0a42a1f | ||
94a359fe1e | |||
d942fd83f8 | |||
931fb70ee9 | |||
97fe6d23b3 | |||
93f92f42c5 | |||
|
ab30435246 | ||
26a0d9827c | |||
7d1e82b818 | |||
005143cd2d | |||
|
05c4374d36 | ||
|
b810720fbd | ||
cdca6407ff | |||
|
f002123cf5 | ||
|
bc6ae3a005 | ||
7cee18e20d | |||
675b716a32 | |||
7acd83e501 | |||
0626237912 | |||
bef845eb3d | |||
|
f8dd086cf9 |
@ -15,7 +15,7 @@
|
||||
"axios": "^0.19.2",
|
||||
"babel-eslint": "^8.0.1",
|
||||
"babel-plugin-component": "^1.1.1",
|
||||
"code-brick-zj": "0.0.7",
|
||||
"code-brick-zj": "1.0.2",
|
||||
"core-js": "^3.6.5",
|
||||
"echarts": "^5.4.2",
|
||||
"element-theme": "^2.0.1",
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: zwq
|
||||
* @Date: 2022-08-22 14:57:50
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-07-11 10:23:31
|
||||
* @LastEditors: DY
|
||||
* @LastEditTime: 2023-07-21 16:45:57
|
||||
* @Description:
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
|
BIN
src/assets/img/add_new.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
@ -599,13 +599,19 @@ img {
|
||||
display: none;
|
||||
}
|
||||
& > .el-tabs__item {
|
||||
height: $content--tabs-header-height;
|
||||
border: 0;
|
||||
padding: 0 10px;
|
||||
color: rgba(89, 89, 89, 1);
|
||||
margin: 6px 5px 6px 0px;
|
||||
height: 24px;
|
||||
font-size: 12px;
|
||||
line-height: 24px;
|
||||
border-radius: 5px;
|
||||
background-color: rgba(239, 239, 239, 1);
|
||||
&:focus,
|
||||
&:hover,
|
||||
&.is-active {
|
||||
color: rgba(255, 255, 255, 1);
|
||||
background-color: rgba(62, 142, 247, 1);
|
||||
&:after {
|
||||
display: block;
|
||||
}
|
||||
@ -630,6 +636,7 @@ img {
|
||||
line-height: 24px;
|
||||
border-radius: 5px;
|
||||
background-color: rgba(239, 239, 239, 1);
|
||||
&:hover,
|
||||
&.is-active {
|
||||
color: rgba(255, 255, 255, 1);
|
||||
background-color: rgba(62, 142, 247, 1);
|
||||
|
@ -18,6 +18,10 @@ const table = {
|
||||
1: '需要审批',
|
||||
0: '不需要审批',
|
||||
},
|
||||
gradeFinish: {
|
||||
1: '已打分',
|
||||
0: '未打分',
|
||||
},
|
||||
step: {
|
||||
0: 'D0',
|
||||
1: 'D1',
|
||||
|
29
src/filters/incoming/index.js
Normal file
@ -0,0 +1,29 @@
|
||||
/*
|
||||
* @Date: 2020-12-29 16:49:28
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-07-17 09:36:52
|
||||
* @FilePath: \basic-admin\src\filters\DataDict\index.js
|
||||
* @Description: 部分常量的数据字典定义
|
||||
*/
|
||||
import i18n from "@/i18n"
|
||||
const table = {
|
||||
upload: {
|
||||
0: '未上传',
|
||||
1:' 已上传',
|
||||
},
|
||||
VerifyType: {
|
||||
0: i18n.t('gage.insideVerify'),
|
||||
1: i18n.t('gage.outsideVerify')
|
||||
},
|
||||
judgmentResult: {
|
||||
0: '未判定 ',
|
||||
1: '合格',
|
||||
2: '不合格'
|
||||
},
|
||||
}
|
||||
|
||||
export default function (dictTable) {
|
||||
return function (val) {
|
||||
return table?.[dictTable]?.[val]
|
||||
}
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* @Date: 2020-12-14 09:07:03
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-04-18 15:14:26
|
||||
* @LastEditTime: 2023-07-17 14:34:42
|
||||
* @FilePath: \basic-admin\src\filters\index.js
|
||||
* @Description: 过滤器定义、多语言过滤器修改
|
||||
*/
|
||||
@ -146,6 +146,22 @@ export function handleLimit(string) {
|
||||
}
|
||||
}
|
||||
|
||||
export function handleProductType(Array) {
|
||||
let arr = []
|
||||
Array.forEach(ele => {
|
||||
arr.push(ele.productTypeName)
|
||||
})
|
||||
return arr.join(',')
|
||||
}
|
||||
|
||||
export function handleProcess(Array) {
|
||||
let arr = []
|
||||
Array.forEach(ele => {
|
||||
arr.push(ele.processName)
|
||||
})
|
||||
return arr.join(',')
|
||||
}
|
||||
|
||||
export function getSimpleText(html) {
|
||||
var re1 = new RegExp('<.+?>', 'g')
|
||||
var msg = html.replace(re1, '')
|
||||
|
46
src/filters/quality/index.js
Normal file
@ -0,0 +1,46 @@
|
||||
/*
|
||||
* @Date: 2020-12-29 16:49:28
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-07-18 14:08:41
|
||||
* @FilePath: \basic-admin\src\filters\DataDict\index.js
|
||||
* @Description: 部分常量的数据字典定义
|
||||
*/
|
||||
import i18n from "@/i18n"
|
||||
const table = {
|
||||
monitor: {
|
||||
0: '否',
|
||||
1:'是',
|
||||
},
|
||||
characteristicsType: {
|
||||
0: '计量',
|
||||
1:'计数',
|
||||
},
|
||||
VerifyType: {
|
||||
0: i18n.t('gage.insideVerify'),
|
||||
1: i18n.t('gage.outsideVerify')
|
||||
},
|
||||
inspectionType: {
|
||||
0: '监控',
|
||||
1:'电芯来料检验',
|
||||
2: 'IQC抽检',
|
||||
3: 'IQC抽检2',
|
||||
4: '原料抽检',
|
||||
5: '进货外观检验',
|
||||
6: '库内原料检验',
|
||||
7: '来料检验',
|
||||
8: '胶片',
|
||||
9: '抽检',
|
||||
10: '巡检',
|
||||
11: '首检',
|
||||
12: '末检',
|
||||
13: '实时监测',
|
||||
14: 'FQC抽检',
|
||||
15: 'OQC抽检'
|
||||
}
|
||||
}
|
||||
|
||||
export default function (dictTable) {
|
||||
return function (val) {
|
||||
return table?.[dictTable]?.[val]
|
||||
}
|
||||
}
|
@ -43,6 +43,9 @@ t.notAvailable = '不可用'
|
||||
t.time = '时间段'
|
||||
t.parameter = '台差参数'
|
||||
t.configuration = '配置'
|
||||
t.uploadFile = '上传'
|
||||
t.detail = '查看详情'
|
||||
|
||||
|
||||
|
||||
|
||||
@ -300,6 +303,10 @@ t.basic.course = '过程检验'
|
||||
t.basic.shipment = '出货检验'
|
||||
t.basic.userName = '用户名'
|
||||
t.basic.departName = '部门名'
|
||||
t.basic.productCode = '产品编码'
|
||||
t.basic.productName = '产品名称'
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -360,7 +367,23 @@ t.quality.sampleRangeHigh = '取样范围高'
|
||||
t.quality.inspectionLevel = '检验水平'
|
||||
t.quality.sampleSizeCode = '样本量字码'
|
||||
t.quality.sampleSize = '样本量'
|
||||
|
||||
t.quality.inspectionPlan = '是否有检验计划'
|
||||
t.quality.analyzeDrawings = '分析图形'
|
||||
t.quality.characteristicsType = '特性类型'
|
||||
t.quality.company = '单位'
|
||||
t.quality.decimalDigits = '小数位数'
|
||||
t.quality.measuringToolsType = '量具类型'
|
||||
t.quality.monitor = '是否监控'
|
||||
t.quality.parameterName = '参数名称'
|
||||
t.quality.parameterCode = ' 参数编码'
|
||||
t.quality.sampleSize = '样本大小'
|
||||
t.quality.source = '来源'
|
||||
t.quality.specificationCenterline = 'SL'
|
||||
t.quality.specificationOffline = 'LSL'
|
||||
t.quality.specifications = '规格'
|
||||
t.quality.targetCpk = '目标CPK'
|
||||
t.quality.targetPpk = '目标PPK'
|
||||
t.quality.upperSpecificationLimit = 'USL'
|
||||
|
||||
|
||||
|
||||
@ -581,7 +604,9 @@ t.laboratory.title = '主题'
|
||||
t.laboratory.trainContent = '培训内容'
|
||||
t.laboratory.trainDate = '培训日期'
|
||||
t.laboratory.trainDuration = '培训时长'
|
||||
t.laboratory.trainType = '培训类型'
|
||||
t.laboratory.trainType = '培训类型'
|
||||
t.laboratory.timeSlot = '时间段'
|
||||
|
||||
|
||||
|
||||
t.code = {}
|
||||
@ -694,6 +719,9 @@ t.researchquality.stageTwoDate = '阶段2时间'
|
||||
t.researchquality.stageThreeDate = '阶段3时间'
|
||||
t.researchquality.stageFourDate = '阶段4时间'
|
||||
t.researchquality.approvedMemo = '审核记录'
|
||||
t.researchquality.phase = '阶段'
|
||||
t.researchquality.realTime = '实际完成时间'
|
||||
|
||||
|
||||
|
||||
|
||||
@ -718,7 +746,19 @@ t.customerquality.qualityAcceptanceDate = '质量接收日期'
|
||||
t.customerquality.confirmDeliveryDate = '确认交付日期'
|
||||
t.customerquality.deliveryRequiredDate = '要求交付日期'
|
||||
t.customerquality.status = '状态'
|
||||
|
||||
t.customerquality.file = '清单文件'
|
||||
t.customerquality.previousVersionCode = '上一版本号'
|
||||
t.customerquality.first = '首次'
|
||||
t.customerquality.confidentialityAgreement = '保密协议'
|
||||
t.customerquality.ppapGrade = ' ppap等级'
|
||||
t.customerquality.version = ' 版本'
|
||||
t.customerquality.amendment = ' 修订'
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
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 |
12
src/icons/svg/首页.svg
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>首页</title>
|
||||
<g id="页面" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="icon" transform="translate(-506.000000, -176.000000)" fill-rule="nonzero">
|
||||
<g id="首页" transform="translate(506.000000, 176.000000)">
|
||||
<rect id="矩形" fill="#000000" opacity="0" x="0" y="0" width="24" height="24"></rect>
|
||||
<path d="M11.1710783,2.42919989 C11.7298936,2.09409047 12.4328291,2.12455473 12.9654367,2.52059014 L12.9654367,2.52059014 L20.3218013,7.99000647 L20.4665209,8.10559268 C21.0744501,8.62656431 21.4302636,9.40344805 21.4302636,10.227099 L21.4302636,10.227099 L21.4302636,19.0470569 L21.4250327,19.2212289 C21.3382831,20.6611171 20.1833875,21.8011882 18.7715031,21.8011882 L18.7715031,21.8011882 L5.2284969,21.8011882 L5.06035624,21.7957697 C3.67032883,21.7059084 2.56973638,20.5095861 2.56973638,19.0470569 L2.56973638,19.0470569 L2.56973638,10.2273587 L2.57600507,10.0381789 C2.63012926,9.22282649 3.03207443,8.47038558 3.67819781,7.99000711 L3.67819781,7.99000711 L11.034559,2.52059336 Z M12.0713092,3.55793652 C11.9772762,3.53774358 11.8769764,3.55793433 11.7954857,3.6185066 L11.7954857,3.6185066 L4.43911542,9.0879271 L4.32641124,9.18150853 C4.04059293,9.44596068 3.87451485,9.82573182 3.87451485,10.2273587 L3.87451485,10.2273587 L3.87451485,19.0470569 L3.880713,19.1821318 C3.94632222,19.8933667 4.52470053,20.4496068 5.2284969,20.4496068 L5.2284969,20.4496068 L11.2507497,20.4487759 L11.3507364,20.3451977 L11.3512202,14.4627186 L11.3582338,14.3683764 C11.4044406,14.0603828 11.6734228,13.8227675 12,13.8227675 C12.3345637,13.8227675 12.6123182,14.0734451 12.6454705,14.3976012 L12.6454705,14.3976012 L12.6489183,14.4681588 L12.6487364,20.3451881 L12.7487231,20.4487759 L18.7714898,20.4496068 L18.9018895,20.4431864 C19.5885066,20.3752237 20.1254851,19.7760987 20.1254851,19.0470569 L20.1254851,19.0470569 L20.1254851,10.2273587 L20.1177907,10.0779557 C20.0769951,9.68325297 19.8759128,9.32208831 19.5608746,9.08791971 L19.5608746,9.08791971 L12.2045243,3.61851399 L12.1402672,3.58065321 Z" id="形状结合" fill="#000"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
@ -2,7 +2,7 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2023-01-04 10:29:39
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-01-05 16:14:45
|
||||
* @LastEditTime: 2023-07-19 16:33:56
|
||||
* @Description:
|
||||
*/
|
||||
import Vue from 'vue'
|
||||
@ -28,11 +28,11 @@ export default new Vuex.Store({
|
||||
contentIsNeedRefresh: false,
|
||||
// 内容, 标签页(默认添加首页)
|
||||
contentTabs: [
|
||||
{
|
||||
...window.SITE_CONFIG['contentTabDefault'],
|
||||
'name': 'home',
|
||||
'title': '首页'
|
||||
}
|
||||
// {
|
||||
// ...window.SITE_CONFIG['contentTabDefault'],
|
||||
// 'name': 'home',
|
||||
// 'title': '首页'
|
||||
// }
|
||||
],
|
||||
contentTabsActiveName: 'home'
|
||||
},
|
||||
|
@ -1,3 +1,10 @@
|
||||
<!--
|
||||
* @Author: zwq
|
||||
* @Date: 2023-07-13 15:31:21
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-07-20 09:05:48
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<main :class="['aui-content', { 'aui-content--tabs': $route.meta.isTab }]">
|
||||
<!-- tab展示内容 -->
|
||||
@ -16,11 +23,13 @@
|
||||
:key="item.name"
|
||||
:name="item.name"
|
||||
:label="item.title"
|
||||
:closable="item.name !== 'home'"
|
||||
closable
|
||||
:class="{ 'is-iframe': tabIsIframe(item.iframeURL) }">
|
||||
<template v-if="item.name === 'home'">
|
||||
<svg slot="label" class="icon-svg aui-content--tabs-icon-nav" aria-hidden="true"><use xlink:href="#icon-home"></use></svg>
|
||||
</template>
|
||||
<!-- <template v-if="item.name === 'home'">
|
||||
<svg slot="label" class="icon-svg aui-content--tabs-icon-nav" aria-hidden="true">
|
||||
<use xlink:href="#首页"></use>
|
||||
</svg>
|
||||
</template> -->
|
||||
<iframe v-if="tabIsIframe(item.iframeURL)" :src="item.iframeURL" width="100%" height="100%" frameborder="0" scrolling="yes"></iframe>
|
||||
<!-- <keep-alive > -->
|
||||
<router-view v-if="item.name === $store.state.contentTabsActiveName" />
|
||||
@ -62,9 +71,9 @@ export default {
|
||||
},
|
||||
// tabs, 删除tab
|
||||
tabRemoveHandle (tabName) {
|
||||
if (tabName === 'home') {
|
||||
return false
|
||||
}
|
||||
// if (tabName === 'home') {
|
||||
// return false
|
||||
// }
|
||||
this.$store.state.contentTabs = this.$store.state.contentTabs.filter(item => item.name !== tabName)
|
||||
if (this.$store.state.contentTabs.length <= 0) {
|
||||
this.$store.state.sidebarMenuActiveName = this.$store.state.contentTabsActiveName = 'home'
|
||||
|
@ -2,7 +2,7 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2022-08-22 14:57:51
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-05-12 12:46:50
|
||||
* @LastEditTime: 2023-07-19 09:27:53
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -36,10 +36,11 @@
|
||||
|
||||
<el-menu-item index="6" @click="$router.push({ name: 'home' })">
|
||||
<svg class="icon-svg aui-navbar__icon-menu" aria-hidden="true">
|
||||
<use xlink:href="#icon-home"></use>
|
||||
<use xlink:href="#首页"></use>
|
||||
</svg>
|
||||
</el-menu-item>
|
||||
<el-menu-item index="7">
|
||||
<!-- 中英文 -->
|
||||
<!-- <el-menu-item index="7">
|
||||
<el-dropdown trigger="click" class="international" @command="handleSetLanguage">
|
||||
<div>
|
||||
<svg class="icon-svg aui-navbar__icon-menu" aria-hidden="true">
|
||||
@ -55,7 +56,7 @@
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</el-menu-item>
|
||||
</el-menu-item> -->
|
||||
<el-menu-item index="4" @click="fullscreenHandle()">
|
||||
<svg class="icon-svg aui-navbar__icon-menu" aria-hidden="true">
|
||||
<use xlink:href="#icon-fullscreen"></use>
|
||||
|
@ -1,20 +1,21 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-12 13:49:47
|
||||
* @LastEditTime: 2023-07-18 16:55:42
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()" label-width="120px">
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="controlCode" :label="$t('basic.code')">
|
||||
<el-input v-model="dataForm.controlCode" :placeholder="$t('basic.code')"></el-input>
|
||||
<el-input clearable v-model="dataForm.controlCode" :placeholder="$t('basic.code')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="controlName" :label="$t('basic.name')">
|
||||
<el-input v-model="dataForm.controlName" :placeholder="$t('basic.name')"></el-input>
|
||||
<el-input clearable v-model="dataForm.controlName" :placeholder="$t('basic.name')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="specifications" :label="$t('basic.specification')">
|
||||
<el-input v-model="dataForm.specifications" :placeholder="$t('basic.specification')"></el-input>
|
||||
<el-input clearable v-model="dataForm.specifications" :placeholder="$t('basic.specification')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="incomingInspection" :label="$t('basic.stock')">
|
||||
<el-switch v-model="dataForm.incomingInspection" :active-value="1" :inactive-value="0">
|
||||
@ -33,13 +34,13 @@
|
||||
</el-switch>
|
||||
</el-form-item>
|
||||
<el-form-item prop="controlStatus" :label="$t('basic.status')">
|
||||
<el-select v-model="dataForm.controlStatus" :placeholder="$t('basic.status')">
|
||||
<el-select clearable v-model="dataForm.controlStatus" :placeholder="$t('basic.status')">
|
||||
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="remark" :label="$t('basic.remark')">
|
||||
<el-input v-model="dataForm.remark" :placeholder="$t('basic.remark')"></el-input>
|
||||
<el-input clearable v-model="dataForm.remark" :placeholder="$t('basic.remark')"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
|
@ -1,26 +1,27 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-12 13:57:14
|
||||
* @LastEditTime: 2023-07-18 16:55:57
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()" label-width="120px">
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="customerCode" :label="$t('basic.code')">
|
||||
<el-input v-model="dataForm.customerCode" :placeholder="$t('basic.code')"></el-input>
|
||||
<el-input clearable v-model="dataForm.customerCode" :placeholder="$t('basic.code')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="customerName" :label="$t('basic.name')">
|
||||
<el-input v-model="dataForm.customerName" :placeholder="$t('basic.name')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="customerTypeId" :label="$t('basic.customerTypeName')">
|
||||
<el-select v-model="dataForm.customerTypeId" :placeholder="$t('basic.customerTypeName')">
|
||||
<el-select clearable v-model="dataForm.customerTypeId" :placeholder="$t('basic.customerTypeName')">
|
||||
<el-option v-for="item in customerTypeList" :key="item.id" :label="item.customerTypeName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="customerTypeStatus" :label="$t('basic.status')">
|
||||
<el-select v-model="dataForm.customerTypeStatus" :placeholder="$t('basic.status')">
|
||||
<el-select clearable v-model="dataForm.customerTypeStatus" :placeholder="$t('basic.status')">
|
||||
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-12 13:55:20
|
||||
* @LastEditTime: 2023-07-18 16:56:08
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -9,13 +9,13 @@
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="customerTypeCode" :label="$t('basic.code')">
|
||||
<el-input v-model="dataForm.customerTypeCode" :placeholder="$t('basic.code')"></el-input>
|
||||
<el-input clearable v-model="dataForm.customerTypeCode" :placeholder="$t('basic.code')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="customerTypeName" :label="$t('basic.name')">
|
||||
<el-input v-model="dataForm.customerTypeName" :placeholder="$t('basic.name')"></el-input>
|
||||
<el-input clearable v-model="dataForm.customerTypeName" :placeholder="$t('basic.name')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="customerTypeStatus" :label="$t('basic.status')">
|
||||
<el-select v-model="dataForm.customerTypeStatus" :placeholder="$t('basic.status')">
|
||||
<el-select clearable v-model="dataForm.customerTypeStatus" :placeholder="$t('basic.status')">
|
||||
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-12 13:52:25
|
||||
* @LastEditTime: 2023-07-18 16:56:16
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -9,13 +9,13 @@
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="failureTypeCode" :label="$t('basic.code')">
|
||||
<el-input v-model="dataForm.failureTypeCode" :placeholder="$t('basic.code')"></el-input>
|
||||
<el-input clearable v-model="dataForm.failureTypeCode" :placeholder="$t('basic.code')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="failureTypeName" :label="$t('basic.name')">
|
||||
<el-input v-model="dataForm.failureTypeName" :placeholder="$t('basic.name')"></el-input>
|
||||
<el-input clearable v-model="dataForm.failureTypeName" :placeholder="$t('basic.name')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="failureTypeStatus" :label="$t('basic.status')">
|
||||
<el-select v-model="dataForm.failureTypeStatus" :placeholder="$t('basic.status')">
|
||||
<el-select clearable v-model="dataForm.failureTypeStatus" :placeholder="$t('basic.status')">
|
||||
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
@ -121,13 +121,6 @@ export default {
|
||||
param: 'name',
|
||||
clearable:true
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain:true
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
@ -135,6 +128,13 @@ export default {
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain:true
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "关联产品列表",
|
||||
|
@ -147,17 +147,17 @@ export default {
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
|
@ -128,17 +128,17 @@ export default {
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-11 10:07:22
|
||||
* @LastEditTime: 2023-07-18 10:19:11
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -128,17 +128,17 @@ export default {
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
// plain: true,
|
||||
}
|
||||
],
|
||||
|
@ -120,17 +120,17 @@ export default {
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-21 14:30:17
|
||||
* @LastEditTime: 2023-07-11 10:24:01
|
||||
* @LastEditTime: 2023-07-18 10:19:37
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -135,17 +135,17 @@ export default {
|
||||
// },
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-21 14:30:17
|
||||
* @LastEditTime: 2023-07-11 10:16:26
|
||||
* @LastEditTime: 2023-07-18 10:19:49
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -151,17 +151,17 @@ export default {
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
|
@ -1,109 +0,0 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-06-26 13:39:19
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__user">
|
||||
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
|
||||
<!-- <el-button type="primary" size="small" plain>导入</el-button> -->
|
||||
</SearchBar>
|
||||
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
||||
@clickBtn="handleClick" />
|
||||
</base-table>
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
@confirm="handleConfirm" :before-close="handleCancel">
|
||||
<teamMember-add ref="addOrUpdate" @successSubmit="successSubmit"></teamMember-add>
|
||||
</base-dialog>
|
||||
</div>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import basicPage from "@/mixins/basic-page";
|
||||
import teamMemberAdd from './components/teamMember-add'
|
||||
import i18n from "@/i18n";
|
||||
const tableProps = [
|
||||
{
|
||||
prop: "paramCode",
|
||||
label: i18n.t("params.paramCode"),
|
||||
},
|
||||
{
|
||||
prop: "paramValue",
|
||||
label: i18n.t("params.paramValue"),
|
||||
},
|
||||
{
|
||||
prop: "remark",
|
||||
label: i18n.t("params.remark"),
|
||||
},
|
||||
];
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: "编辑",
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
getDataListURL: "/basic/qmsTeamMember/page",
|
||||
deleteURL: "/basic/qmsControlMode",
|
||||
},
|
||||
tableProps,
|
||||
tableBtn,
|
||||
formConfig: [
|
||||
// {
|
||||
// type: "",
|
||||
// label: i18n.t("params.paramCode"),
|
||||
// placeholder: i18n.t("params.paramCode"),
|
||||
// param: "paramCode",
|
||||
// },
|
||||
// {
|
||||
// type: "separate",
|
||||
// },
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: "primary",
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
components: {
|
||||
teamMemberAdd,
|
||||
},
|
||||
methods:{
|
||||
//search-bar点击
|
||||
buttonClick(val) {
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
// this.listQuery.paramCode = val.paramCode;
|
||||
this.listQuery.page = 1;
|
||||
this.getDataList();
|
||||
break;
|
||||
case "add":
|
||||
this.addOrEditTitle = '新增'
|
||||
this.addOrUpdateVisible = true;
|
||||
this.addOrUpdateHandle()
|
||||
break;
|
||||
default:
|
||||
console.log(val)
|
||||
}
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-14 10:17:26
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-07-17 10:24:03
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -10,7 +10,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="factoryId" :label="$t('code.factoryName')">
|
||||
<el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
|
||||
<el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
|
||||
<el-option v-for="item in factoryList" :key="item.id" :label="item.factoryName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -18,26 +18,26 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionTime" :label="$t('code.inspectionTime')">
|
||||
<el-date-picker v-model="dataForm.inspectionTime" type="datetime" :placeholder="$t('code.inspectionTime')"
|
||||
format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
<el-date-picker v-model="dataForm.inspectionTime" type="datetime"
|
||||
:placeholder="$t('code.inspectionTime')" format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="orderNumber" :label="$t('code.orderNumber')">
|
||||
<el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
|
||||
<el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchNo" :label="$t('code.batchNo')">
|
||||
<el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
|
||||
<el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionType" :label="$t('code.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
|
||||
<el-option v-for="item in inspectionTypeList" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -53,7 +53,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="productId" :label="$t('code.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
|
||||
<el-option v-for="item in productList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -61,7 +61,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="supplierId" :label="$t('code.supplierName')">
|
||||
<el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
|
||||
<el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
|
||||
<el-option v-for="item in supplierList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -69,31 +69,34 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchQuantity" :label="$t('code.batchQuantity')">
|
||||
<el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionQuantity" :label="$t('code.inspectionQuantity')">
|
||||
<el-input v-model="dataForm.inspectionQuantity" :placeholder="$t('code.inspectionQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.inspectionQuantity"
|
||||
:placeholder="$t('code.inspectionQuantity')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchSize" :label="$t('code.batchSize')">
|
||||
<el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
|
||||
<el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="samplesQuantity" :label="$t('code.samplesQuantity')">
|
||||
<el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="companyId" :label="$t('code.companyName')">
|
||||
<el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
|
||||
<el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
|
||||
<el-option v-for="item in unitList" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -101,15 +104,15 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="userId" :label="$t('code.username')">
|
||||
<el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
|
||||
<el-option v-for="item in unitList" :key="item.id" :label="item.realName" :value="item.id">
|
||||
<el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
|
||||
<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="8">
|
||||
<el-form-item prop="inspectionStatus" :label="$t('code.inspectionStatus')">
|
||||
<el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
|
||||
<el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
|
||||
<el-option v-for="item in inspectionStatusList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -119,7 +122,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="customSamplingId" :label="$t('code.customSampling')">
|
||||
<el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
|
||||
<el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
|
||||
<el-option v-for="item in samplingPlanList" :key="item.id" :label="item.sampleRange" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -331,23 +334,13 @@ export default {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
;console.log(res.data.list)
|
||||
if (res.code === 0) {
|
||||
this.userList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getProductURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
this.productList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getDictDataList, {
|
||||
params: {
|
||||
@ -385,6 +378,17 @@ export default {
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getProductURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
this.productList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
// console.log(111111);
|
||||
},
|
||||
// 表单提交
|
||||
|
@ -1,15 +1,20 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-14 10:17:44
|
||||
* @LastEditTime: 2023-07-17 10:21:47
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-form :model="dataForm" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" label-width="130px">
|
||||
<el-form
|
||||
:model="dataForm"
|
||||
ref="dataForm"
|
||||
:rules="dataRule"
|
||||
@keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="130px"
|
||||
>
|
||||
<el-form-item prop="name" :label="$t('code.name')">
|
||||
<el-input v-model="dataForm.name" :placeholder="$t('code.name')">
|
||||
</el-input>
|
||||
<el-input v-model="dataForm.name" :placeholder="$t('code.name')"> </el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="code" :label="$t('code.code')">
|
||||
<el-input v-model="dataForm.code" :placeholder="$t('code.code')"></el-input>
|
||||
@ -19,8 +24,16 @@
|
||||
</el-switch>
|
||||
</el-form-item>
|
||||
<el-form-item prop="eightDisciplineType" :label="$t('code.eightDisciplineType')">
|
||||
<el-select v-model="dataForm.eightDisciplineType" :placeholder="$t('code.eightDisciplineType')">
|
||||
<el-option v-for="item in eightDisciplineTypeList" :key="item.value" :label="item.label" :value="item.value">
|
||||
<el-select
|
||||
v-model="dataForm.eightDisciplineType"
|
||||
:placeholder="$t('code.eightDisciplineType')"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in eightDisciplineTypeList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -36,36 +49,38 @@ export default {
|
||||
return {
|
||||
urlOptions: {
|
||||
submitURL: "/code/eightDiscipline",
|
||||
infoURL: "/code/eightDiscipline"
|
||||
infoURL: "/code/eightDiscipline",
|
||||
},
|
||||
options: [{
|
||||
value: 0,
|
||||
label: '不可用'
|
||||
},
|
||||
{
|
||||
value: 1,
|
||||
label: '可用'
|
||||
}],
|
||||
options: [
|
||||
{
|
||||
value: 0,
|
||||
label: "不可用",
|
||||
},
|
||||
{
|
||||
value: 1,
|
||||
label: "可用",
|
||||
},
|
||||
],
|
||||
eightDisciplineTypeList: [
|
||||
{
|
||||
value: '0',
|
||||
label: '重复发生问题 '
|
||||
value: "0",
|
||||
label: "重复发生问题 ",
|
||||
},
|
||||
{
|
||||
value: '1',
|
||||
label: '客诉问题'
|
||||
value: "1",
|
||||
label: "客诉问题",
|
||||
},
|
||||
{
|
||||
value: '2',
|
||||
label: '重大质量问题'
|
||||
}
|
||||
value: "2",
|
||||
label: "重大质量问题",
|
||||
},
|
||||
],
|
||||
visible: false,
|
||||
dataForm: {
|
||||
id: null,
|
||||
name: null,
|
||||
code:null,
|
||||
eightDisciplineType:null,
|
||||
code: null,
|
||||
eightDisciplineType: null,
|
||||
eightDisciplineStatus: 0,
|
||||
},
|
||||
};
|
||||
@ -73,40 +88,33 @@ export default {
|
||||
computed: {
|
||||
dataRule() {
|
||||
return {
|
||||
// dictLabel: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t("validate.required"),
|
||||
// trigger: "blur",
|
||||
// },
|
||||
// ],
|
||||
// dictValue: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t("validate.required"),
|
||||
// trigger: "blur",
|
||||
// },
|
||||
// ],
|
||||
// sort: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t("validate.required"),
|
||||
// trigger: "blur",
|
||||
// },
|
||||
// ],
|
||||
code: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入编码",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
name: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入名称",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
init(id, ) {
|
||||
this.dataForm.id = id || ""
|
||||
init(id) {
|
||||
this.dataForm.id = id || "";
|
||||
// console.log(11111)
|
||||
// this.dataForm.dictTypeId = dictTypeId || "";
|
||||
this.visible = true
|
||||
this.visible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs["dataForm"].resetFields();
|
||||
if (this.dataForm.id) {
|
||||
this.getInfo()
|
||||
this.getInfo();
|
||||
} else {
|
||||
// this.getCode()
|
||||
}
|
||||
|
@ -1,78 +1,74 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-14 13:41:37
|
||||
* @LastEditTime: 2023-07-17 10:23:23
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-form :model="dataForm" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" label-width="130px">
|
||||
<el-form-item prop="name" :label="$t('code.name')">
|
||||
<el-input v-model="dataForm.name" :placeholder="$t('code.name')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="code" :label="$t('code.code')">
|
||||
<el-input v-model="dataForm.code" :placeholder="$t('code.code')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="problemStatus" label="状态">
|
||||
<el-switch v-model="dataForm.problemStatus" :active-value="1" :inactive-value="0">
|
||||
</el-switch>
|
||||
</el-form-item>
|
||||
<el-form-item prop="description" label="描述">
|
||||
<el-input v-model="dataForm.description" placeholder="描述"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import basicAdd from "@/mixins/basic-add";
|
||||
export default {
|
||||
mixins: [basicAdd],
|
||||
data() {
|
||||
<el-form
|
||||
:model="dataForm"
|
||||
:rules="dataRule"
|
||||
ref="dataForm"
|
||||
@keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="130px"
|
||||
>
|
||||
<el-form-item prop="name" :label="$t('code.name')">
|
||||
<el-input v-model="dataForm.name" :placeholder="$t('code.name')"> </el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="code" :label="$t('code.code')">
|
||||
<el-input v-model="dataForm.code" :placeholder="$t('code.code')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="problemStatus" label="状态">
|
||||
<el-switch v-model="dataForm.problemStatus" :active-value="1" :inactive-value="0">
|
||||
</el-switch>
|
||||
</el-form-item>
|
||||
<el-form-item prop="description" label="描述">
|
||||
<el-input v-model="dataForm.description" placeholder="描述"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import basicAdd from "@/mixins/basic-add";
|
||||
export default {
|
||||
mixins: [basicAdd],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
submitURL: "/code/problemType",
|
||||
infoURL: "/code/problemType",
|
||||
},
|
||||
visible: false,
|
||||
dataForm: {
|
||||
id: null,
|
||||
name: null,
|
||||
code: null,
|
||||
description: null,
|
||||
problemStatus: 0,
|
||||
},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
dataRule() {
|
||||
return {
|
||||
urlOptions: {
|
||||
submitURL: "/code/problemType",
|
||||
infoURL: "/code/problemType"
|
||||
},
|
||||
visible: false,
|
||||
dataForm: {
|
||||
id: null,
|
||||
name: null,
|
||||
code:null,
|
||||
description:null,
|
||||
problemStatus: 0,
|
||||
},
|
||||
code: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入编码",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
name: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入名称",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
dataRule() {
|
||||
return {
|
||||
// dictLabel: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t("validate.required"),
|
||||
// trigger: "blur",
|
||||
// },
|
||||
// ],
|
||||
// dictValue: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t("validate.required"),
|
||||
// trigger: "blur",
|
||||
// },
|
||||
// ],
|
||||
// sort: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t("validate.required"),
|
||||
// trigger: "blur",
|
||||
// },
|
||||
// ],
|
||||
};
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
},
|
||||
methods: {},
|
||||
};
|
||||
</script>
|
||||
|
@ -2,8 +2,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-14 10:18:03
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-07-17 10:24:07
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -11,7 +11,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="factoryId" :label="$t('code.factoryName')">
|
||||
<el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
|
||||
<el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
|
||||
<el-option v-for="item in factoryList" :key="item.id" :label="item.factoryName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -19,26 +19,26 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionTime" :label="$t('code.inspectionTime')">
|
||||
<el-date-picker v-model="dataForm.inspectionTime" type="datetime" :placeholder="$t('code.inspectionTime')"
|
||||
format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
<el-date-picker v-model="dataForm.inspectionTime" type="datetime"
|
||||
:placeholder="$t('code.inspectionTime')" format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="orderNumber" :label="$t('code.orderNumber')">
|
||||
<el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
|
||||
<el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchNo" :label="$t('code.batchNo')">
|
||||
<el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
|
||||
<el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionType" :label="$t('code.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
|
||||
<el-option v-for="item in inspectionTypeList" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -54,7 +54,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="productId" :label="$t('code.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
|
||||
<el-option v-for="item in productList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -62,7 +62,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="supplierId" :label="$t('code.supplierName')">
|
||||
<el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
|
||||
<el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
|
||||
<el-option v-for="item in supplierList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -70,31 +70,34 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchQuantity" :label="$t('code.batchQuantity')">
|
||||
<el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionQuantity" :label="$t('code.inspectionQuantity')">
|
||||
<el-input v-model="dataForm.inspectionQuantity" :placeholder="$t('code.inspectionQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.inspectionQuantity"
|
||||
:placeholder="$t('code.inspectionQuantity')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchSize" :label="$t('code.batchSize')">
|
||||
<el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
|
||||
<el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="samplesQuantity" :label="$t('code.samplesQuantity')">
|
||||
<el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="companyId" :label="$t('code.companyName')">
|
||||
<el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
|
||||
<el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
|
||||
<el-option v-for="item in unitList" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -102,15 +105,15 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="userId" :label="$t('code.username')">
|
||||
<el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
|
||||
<el-option v-for="item in unitList" :key="item.id" :label="item.realName" :value="item.id">
|
||||
<el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
|
||||
<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="8">
|
||||
<el-form-item prop="inspectionStatus" :label="$t('code.inspectionStatus')">
|
||||
<el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
|
||||
<el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
|
||||
<el-option v-for="item in inspectionStatusList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -120,7 +123,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="customSamplingId" :label="$t('code.customSampling')">
|
||||
<el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
|
||||
<el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
|
||||
<el-option v-for="item in samplingPlanList" :key="item.id" :label="item.sampleRange" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-14 10:18:33
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-07-17 10:24:12
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -11,7 +11,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="factoryId" :label="$t('code.factoryName')">
|
||||
<el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
|
||||
<el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
|
||||
<el-option v-for="item in factoryList" :key="item.id" :label="item.factoryName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -19,26 +19,26 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionTime" :label="$t('code.inspectionTime')">
|
||||
<el-date-picker v-model="dataForm.inspectionTime" type="datetime" :placeholder="$t('code.inspectionTime')"
|
||||
format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
<el-date-picker v-model="dataForm.inspectionTime" type="datetime"
|
||||
:placeholder="$t('code.inspectionTime')" format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="orderNumber" :label="$t('code.orderNumber')">
|
||||
<el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
|
||||
<el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchNo" :label="$t('code.batchNo')">
|
||||
<el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
|
||||
<el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionType" :label="$t('code.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
|
||||
<el-option v-for="item in inspectionTypeList" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -54,7 +54,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="productId" :label="$t('code.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
|
||||
<el-option v-for="item in productList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -62,7 +62,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="supplierId" :label="$t('code.supplierName')">
|
||||
<el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
|
||||
<el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
|
||||
<el-option v-for="item in supplierList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -70,31 +70,34 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchQuantity" :label="$t('code.batchQuantity')">
|
||||
<el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionQuantity" :label="$t('code.inspectionQuantity')">
|
||||
<el-input v-model="dataForm.inspectionQuantity" :placeholder="$t('code.inspectionQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.inspectionQuantity"
|
||||
:placeholder="$t('code.inspectionQuantity')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchSize" :label="$t('code.batchSize')">
|
||||
<el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
|
||||
<el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="samplesQuantity" :label="$t('code.samplesQuantity')">
|
||||
<el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="companyId" :label="$t('code.companyName')">
|
||||
<el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
|
||||
<el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
|
||||
<el-option v-for="item in unitList" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -102,15 +105,15 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="userId" :label="$t('code.username')">
|
||||
<el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
|
||||
<el-option v-for="item in unitList" :key="item.id" :label="item.realName" :value="item.id">
|
||||
<el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
|
||||
<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="8">
|
||||
<el-form-item prop="inspectionStatus" :label="$t('code.inspectionStatus')">
|
||||
<el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
|
||||
<el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
|
||||
<el-option v-for="item in inspectionStatusList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -120,7 +123,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="customSamplingId" :label="$t('code.customSampling')">
|
||||
<el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
|
||||
<el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
|
||||
<el-option v-for="item in samplingPlanList" :key="item.id" :label="item.sampleRange" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -133,27 +136,29 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="critical" label="CR" label-width="50px">
|
||||
<el-input v-model="GBTDataForm.critical" placeholder="CR"></el-input>
|
||||
<el-input v-model="GBTDataForm.critical" placeholder="CR"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="criticalAccept" label="Accept">
|
||||
<el-input v-model="GBTDataForm.criticalAccept" placeholder="Accept"></el-input>
|
||||
<el-input v-model="GBTDataForm.criticalAccept" placeholder="Accept"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="criticalReject" label="Reject" label-width="60px">
|
||||
<el-input v-model="GBTDataForm.criticalReject" placeholder="Reject"></el-input>
|
||||
<el-input v-model="GBTDataForm.criticalReject" placeholder="Reject"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="criticalNumber" :label="$t('code.defectsNumber')">
|
||||
<el-input v-model="GBTDataForm.criticalNumber" :placeholder="$t('code.defectsNumber')"></el-input>
|
||||
<el-input v-model="GBTDataForm.criticalNumber" :placeholder="$t('code.defectsNumber')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="criticalDefectiveNumber" :label="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.criticalDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.criticalDefectiveNumber"
|
||||
:placeholder="$t('code.defectiveQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -161,27 +166,29 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="major" label="MA" label-width="50px">
|
||||
<el-input v-model="GBTDataForm.major" placeholder="CR"></el-input>
|
||||
<el-input v-model="GBTDataForm.major" placeholder="CR"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="majorAccept" label="Accept">
|
||||
<el-input v-model="GBTDataForm.majorAccept" placeholder="Accept"></el-input>
|
||||
<el-input v-model="GBTDataForm.majorAccept" placeholder="Accept"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="majorReject" label="Reject" label-width="60px">
|
||||
<el-input v-model="GBTDataForm.majorReject" placeholder="Reject"></el-input>
|
||||
<el-input v-model="GBTDataForm.majorReject" placeholder="Reject"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="majorNumber" :label="$t('code.defectsNumber')">
|
||||
<el-input v-model="GBTDataForm.majorNumber" :placeholder="$t('code.defectsNumber')"></el-input>
|
||||
<el-input v-model="GBTDataForm.majorNumber" :placeholder="$t('code.defectsNumber')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="majorDefectiveNumber" :label="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.majorDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.majorDefectiveNumber"
|
||||
:placeholder="$t('code.defectiveQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -189,27 +196,29 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="minor" label="MI" label-width="50px">
|
||||
<el-input v-model="GBTDataForm.minor" placeholder="CR"></el-input>
|
||||
<el-input v-model="GBTDataForm.minor" placeholder="CR"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="minorAccept" label="Accept">
|
||||
<el-input v-model="GBTDataForm.minorAccept" placeholder="Accept"></el-input>
|
||||
<el-input v-model="GBTDataForm.minorAccept" placeholder="Accept"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="minorReject" label="Reject" label-width="60px">
|
||||
<el-input v-model="GBTDataForm.minorReject" placeholder="Reject"></el-input>
|
||||
<el-input v-model="GBTDataForm.minorReject" placeholder="Reject"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="minorNumber" :label="$t('code.defectsNumber')">
|
||||
<el-input v-model="GBTDataForm.minorNumber" :placeholder="$t('code.defectsNumber')"></el-input>
|
||||
<el-input v-model="GBTDataForm.minorNumber" :placeholder="$t('code.defectsNumber')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="minorDefectiveNumber" :label="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.minorDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.minorDefectiveNumber"
|
||||
:placeholder="$t('code.defectiveQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -217,27 +226,29 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="total" label="total" label-width="50px">
|
||||
<el-input v-model="GBTDataForm.total" placeholder="CR"></el-input>
|
||||
<el-input v-model="GBTDataForm.total" placeholder="CR"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="totalAccept" label="Accept">
|
||||
<el-input v-model="GBTDataForm.totalAccept" placeholder="Accept"></el-input>
|
||||
<el-input v-model="GBTDataForm.totalAccept" placeholder="Accept"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="totalReject" label="Reject" label-width="60px">
|
||||
<el-input v-model="GBTDataForm.totalReject" placeholder="Reject"></el-input>
|
||||
<el-input v-model="GBTDataForm.totalReject" placeholder="Reject"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="totalNumber" :label="$t('code.defectsNumber')">
|
||||
<el-input v-model="GBTDataForm.totalNumber" :placeholder="$t('code.defectsNumber')"></el-input>
|
||||
<el-input v-model="GBTDataForm.totalNumber" :placeholder="$t('code.defectsNumber')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="totalDefectiveNumber" :label="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.totalDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.totalDefectiveNumber"
|
||||
:placeholder="$t('code.defectiveQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -475,7 +486,7 @@ export default {
|
||||
},
|
||||
getDict() {
|
||||
this.$http
|
||||
.post(this.urlOptions.getSamplingPlanURL, {
|
||||
.get(this.urlOptions.getSamplingPlanURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
@ -486,7 +497,7 @@ export default {
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.post(this.urlOptions.getUserURL, {
|
||||
.get(this.urlOptions.getUserURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
@ -497,7 +508,7 @@ export default {
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.post(this.urlOptions.getProductURL, {
|
||||
.get(this.urlOptions.getProductURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
@ -508,7 +519,7 @@ export default {
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.post(this.urlOptions.getDictDataList, {
|
||||
.get(this.urlOptions.getDictDataList, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1,
|
||||
@ -523,7 +534,7 @@ export default {
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.post(this.urlOptions.getSupplierURL, {
|
||||
.get(this.urlOptions.getSupplierURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
@ -534,7 +545,7 @@ export default {
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.post(this.urlOptions.getFactoryURL, {
|
||||
.get(this.urlOptions.getFactoryURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-14 10:19:44
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-07-17 10:24:16
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -11,7 +11,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="factoryId" :label="$t('code.factoryName')">
|
||||
<el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
|
||||
<el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
|
||||
<el-option v-for="item in factoryList" :key="item.id" :label="item.factoryName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -19,26 +19,26 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionTime" :label="$t('code.inspectionTime')">
|
||||
<el-date-picker v-model="dataForm.inspectionTime" type="datetime" :placeholder="$t('code.inspectionTime')"
|
||||
format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
<el-date-picker v-model="dataForm.inspectionTime" type="datetime"
|
||||
:placeholder="$t('code.inspectionTime')" format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="orderNumber" :label="$t('code.orderNumber')">
|
||||
<el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
|
||||
<el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchNo" :label="$t('code.batchNo')">
|
||||
<el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
|
||||
<el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionType" :label="$t('code.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
|
||||
<el-option v-for="item in inspectionTypeList" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -54,7 +54,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="productId" :label="$t('code.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
|
||||
<el-option v-for="item in productList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -62,7 +62,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="supplierId" :label="$t('code.supplierName')">
|
||||
<el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
|
||||
<el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
|
||||
<el-option v-for="item in supplierList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -70,31 +70,34 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchQuantity" :label="$t('code.batchQuantity')">
|
||||
<el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionQuantity" :label="$t('code.inspectionQuantity')">
|
||||
<el-input v-model="dataForm.inspectionQuantity" :placeholder="$t('code.inspectionQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.inspectionQuantity"
|
||||
:placeholder="$t('code.inspectionQuantity')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchSize" :label="$t('code.batchSize')">
|
||||
<el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
|
||||
<el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="samplesQuantity" :label="$t('code.samplesQuantity')">
|
||||
<el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="companyId" :label="$t('code.companyName')">
|
||||
<el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
|
||||
<el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
|
||||
<el-option v-for="item in unitList" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -102,15 +105,15 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="userId" :label="$t('code.username')">
|
||||
<el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
|
||||
<el-option v-for="item in unitList" :key="item.id" :label="item.realName" :value="item.id">
|
||||
<el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
|
||||
<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="8">
|
||||
<el-form-item prop="inspectionStatus" :label="$t('code.inspectionStatus')">
|
||||
<el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
|
||||
<el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
|
||||
<el-option v-for="item in inspectionStatusList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -120,7 +123,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="customSamplingId" :label="$t('code.customSampling')">
|
||||
<el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
|
||||
<el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
|
||||
<el-option v-for="item in samplingPlanList" :key="item.id" :label="item.sampleRange" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -133,27 +136,29 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="critical" label="CR" label-width="50px">
|
||||
<el-input v-model="GBTDataForm.critical" placeholder="CR"></el-input>
|
||||
<el-input v-model="GBTDataForm.critical" placeholder="CR"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="criticalAccept" label="Accept">
|
||||
<el-input v-model="GBTDataForm.criticalAccept" placeholder="Accept"></el-input>
|
||||
<el-input v-model="GBTDataForm.criticalAccept" placeholder="Accept"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="criticalReject" label="Reject" label-width="60px">
|
||||
<el-input v-model="GBTDataForm.criticalReject" placeholder="Reject"></el-input>
|
||||
<el-input v-model="GBTDataForm.criticalReject" placeholder="Reject"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="criticalNumber" :label="$t('code.defectsNumber')">
|
||||
<el-input v-model="GBTDataForm.criticalNumber" :placeholder="$t('code.defectsNumber')"></el-input>
|
||||
<el-input v-model="GBTDataForm.criticalNumber" :placeholder="$t('code.defectsNumber')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="criticalDefectiveNumber" :label="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.criticalDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.criticalDefectiveNumber"
|
||||
:placeholder="$t('code.defectiveQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -161,27 +166,29 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="major" label="MA" label-width="50px">
|
||||
<el-input v-model="GBTDataForm.major" placeholder="CR"></el-input>
|
||||
<el-input v-model="GBTDataForm.major" placeholder="CR"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="majorAccept" label="Accept">
|
||||
<el-input v-model="GBTDataForm.majorAccept" placeholder="Accept"></el-input>
|
||||
<el-input v-model="GBTDataForm.majorAccept" placeholder="Accept"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="majorReject" label="Reject" label-width="60px">
|
||||
<el-input v-model="GBTDataForm.majorReject" placeholder="Reject"></el-input>
|
||||
<el-input v-model="GBTDataForm.majorReject" placeholder="Reject"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="majorNumber" :label="$t('code.defectsNumber')">
|
||||
<el-input v-model="GBTDataForm.majorNumber" :placeholder="$t('code.defectsNumber')"></el-input>
|
||||
<el-input v-model="GBTDataForm.majorNumber" :placeholder="$t('code.defectsNumber')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="majorDefectiveNumber" :label="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.majorDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.majorDefectiveNumber"
|
||||
:placeholder="$t('code.defectiveQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -189,27 +196,29 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="minor" label="MI" label-width="50px">
|
||||
<el-input v-model="GBTDataForm.minor" placeholder="CR"></el-input>
|
||||
<el-input v-model="GBTDataForm.minor" placeholder="CR"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="minorAccept" label="Accept">
|
||||
<el-input v-model="GBTDataForm.minorAccept" placeholder="Accept"></el-input>
|
||||
<el-input v-model="GBTDataForm.minorAccept" placeholder="Accept"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="minorReject" label="Reject" label-width="60px">
|
||||
<el-input v-model="GBTDataForm.minorReject" placeholder="Reject"></el-input>
|
||||
<el-input v-model="GBTDataForm.minorReject" placeholder="Reject"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="minorNumber" :label="$t('code.defectsNumber')">
|
||||
<el-input v-model="GBTDataForm.minorNumber" :placeholder="$t('code.defectsNumber')"></el-input>
|
||||
<el-input v-model="GBTDataForm.minorNumber" :placeholder="$t('code.defectsNumber')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="minorDefectiveNumber" :label="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.minorDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.minorDefectiveNumber"
|
||||
:placeholder="$t('code.defectiveQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -217,27 +226,29 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="total" label="total" label-width="50px">
|
||||
<el-input v-model="GBTDataForm.total" placeholder="CR"></el-input>
|
||||
<el-input v-model="GBTDataForm.total" placeholder="CR"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="totalAccept" label="Accept">
|
||||
<el-input v-model="GBTDataForm.totalAccept" placeholder="Accept"></el-input>
|
||||
<el-input v-model="GBTDataForm.totalAccept" placeholder="Accept"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="totalReject" label="Reject" label-width="60px">
|
||||
<el-input v-model="GBTDataForm.totalReject" placeholder="Reject"></el-input>
|
||||
<el-input v-model="GBTDataForm.totalReject" placeholder="Reject"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="totalNumber" :label="$t('code.defectsNumber')">
|
||||
<el-input v-model="GBTDataForm.totalNumber" :placeholder="$t('code.defectsNumber')"></el-input>
|
||||
<el-input v-model="GBTDataForm.totalNumber" :placeholder="$t('code.defectsNumber')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="totalDefectiveNumber" :label="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.totalDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.totalDefectiveNumber"
|
||||
:placeholder="$t('code.defectiveQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -475,7 +486,7 @@ export default {
|
||||
},
|
||||
getDict() {
|
||||
this.$http
|
||||
.post(this.urlOptions.getSamplingPlanURL, {
|
||||
.get(this.urlOptions.getSamplingPlanURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
@ -486,7 +497,7 @@ export default {
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.post(this.urlOptions.getUserURL, {
|
||||
.get(this.urlOptions.getUserURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
@ -497,7 +508,7 @@ export default {
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.post(this.urlOptions.getProductURL, {
|
||||
.get(this.urlOptions.getProductURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
@ -508,7 +519,7 @@ export default {
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.post(this.urlOptions.getDictDataList, {
|
||||
.get(this.urlOptions.getDictDataList, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1,
|
||||
@ -523,7 +534,7 @@ export default {
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.post(this.urlOptions.getSupplierURL, {
|
||||
.get(this.urlOptions.getSupplierURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
@ -534,7 +545,7 @@ export default {
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.post(this.urlOptions.getFactoryURL, {
|
||||
.get(this.urlOptions.getFactoryURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-14 10:20:02
|
||||
* @LastEditTime: 2023-07-17 10:27:00
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
@ -9,6 +9,7 @@
|
||||
<el-form
|
||||
:model="dataForm"
|
||||
ref="dataForm"
|
||||
:rules="dataRule"
|
||||
@keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="100px"
|
||||
>
|
||||
@ -271,7 +272,7 @@ export default {
|
||||
},
|
||||
{
|
||||
value: '1',
|
||||
label: "1客诉问题",
|
||||
label: "客诉问题",
|
||||
},
|
||||
{
|
||||
value: '2',
|
||||
@ -317,27 +318,48 @@ export default {
|
||||
computed: {
|
||||
dataRule() {
|
||||
return {
|
||||
// dictLabel: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t("validate.required"),
|
||||
// trigger: "blur",
|
||||
// },
|
||||
// ],
|
||||
// dictValue: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t("validate.required"),
|
||||
// trigger: "blur",
|
||||
// },
|
||||
// ],
|
||||
// sort: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t("validate.required"),
|
||||
// trigger: "blur",
|
||||
// },
|
||||
// ],
|
||||
code: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入编码",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
title: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入标题",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
eightDisciplineType: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择8D类型",
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
defectSourceId: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择缺陷来源",
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
occurrenceDate: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择发生日期",
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
product: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择产品",
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
},
|
||||
|
@ -2,11 +2,17 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2023-06-29 14:12:48
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-06-30 10:58:16
|
||||
* @LastEditTime: 2023-07-17 13:30:04
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<base-table border show-summary :table-props="tableProps" :table-data="tableData" @emitFun="inputChange" />
|
||||
<base-table
|
||||
border
|
||||
show-summary
|
||||
:table-props="tableProps"
|
||||
:table-data="tableData"
|
||||
@emitFun="inputChange"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@ -134,7 +140,7 @@ export default {
|
||||
if (this.tableData[data._pageIndex - 1].gradeStatus) {
|
||||
this.$set(
|
||||
this.tableData[data._pageIndex - 1],
|
||||
'grade',
|
||||
"grade",
|
||||
this.score[this.tableData[data._pageIndex - 1].gradeStatus - 1]
|
||||
);
|
||||
}
|
||||
@ -146,24 +152,33 @@ export default {
|
||||
formClear() {},
|
||||
// 表单提交
|
||||
dataFormSubmit() {
|
||||
this.tableData.forEach((item) => {
|
||||
item.startEightDisciplineId = this.id;
|
||||
this.tableData.forEach((item) => {
|
||||
item.startEightDisciplineId = this.id;
|
||||
});
|
||||
let putData = {
|
||||
gradeFinish: 1,
|
||||
id: this.id,
|
||||
};
|
||||
this.$http.put("/code/startEightDiscipline", putData).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
});
|
||||
this.$http.post("/code/startEightGrade/save/list", this.tableData).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.visible = false;
|
||||
this.$emit("refreshDataList");
|
||||
},
|
||||
});
|
||||
this.$http.post("/code/startEightGrade/save/list", this.tableData)
|
||||
.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.visible = false;
|
||||
this.$emit("refreshDataList");
|
||||
},
|
||||
});
|
||||
});
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-06-19 15:52:51
|
||||
* @LastEditTime: 2023-07-14 10:15:12
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-07-17 10:31:16
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -21,14 +21,14 @@
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
<base-dialog width="70%" :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
@confirm="handleConfirm" :before-close="handleCancel">
|
||||
<deliveryInspection-add ref="addOrUpdate" @successSubmit="successSubmit">
|
||||
</deliveryInspection-add>
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
</base-dialog>
|
||||
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<base-dialog width="70%" :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible"
|
||||
@cancel="handleSearchCancel" @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<deliveryInspection-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit">
|
||||
</deliveryInspection-search>
|
||||
<el-row slot="footer" type="flex" justify="end">
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-14 14:06:53
|
||||
* @LastEditTime: 2023-07-17 09:08:38
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
@ -9,9 +9,6 @@
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__user">
|
||||
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
|
||||
<el-badge :value="3" class="item">
|
||||
<el-button type="primary" size="small" @click="searchsClick">条件搜索</el-button>
|
||||
</el-badge>
|
||||
</SearchBar>
|
||||
<base-table
|
||||
:table-props="tableProps"
|
||||
@ -35,7 +32,7 @@
|
||||
@pagination="getDataList"
|
||||
/>
|
||||
<!-- 弹窗, 条件搜索-->
|
||||
<base-dialog
|
||||
<!-- <base-dialog
|
||||
:dialogTitle="searchsTitle"
|
||||
:dialogVisible="searchsVisible"
|
||||
@cancel="searchsCancel"
|
||||
@ -43,7 +40,7 @@
|
||||
:before-close="searchsCancel"
|
||||
>
|
||||
<searchs ref="searchsRef" @refreshDataList="searchsSubmit"></searchs>
|
||||
</base-dialog>
|
||||
</base-dialog> -->
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog
|
||||
:dialogTitle="addOrEditTitle"
|
||||
@ -64,7 +61,7 @@
|
||||
import basicPage from "@/mixins/basic-page";
|
||||
import eightDisciplineAdd from "./components/eightDiscipline-add";
|
||||
import available from "./components/available.vue";
|
||||
import Searchs from "./components/eightDiscipline-searchs";
|
||||
// import Searchs from "./components/eightDiscipline-searchs";
|
||||
import codeFilter from "@/filters/code-filter";
|
||||
import i18n from "@/i18n";
|
||||
const tableProps = [
|
||||
@ -105,7 +102,7 @@ export default {
|
||||
mixins: [basicPage],
|
||||
components: {
|
||||
eightDisciplineAdd,
|
||||
Searchs
|
||||
// Searchs,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@ -117,10 +114,26 @@ export default {
|
||||
tableBtn,
|
||||
formConfig: [
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: "primary",
|
||||
type: "input",
|
||||
label: i18n.t("code.name"),
|
||||
placeholder: i18n.t("code.name"),
|
||||
param: "name",
|
||||
},
|
||||
{
|
||||
type: "input",
|
||||
label: i18n.t("code.code"),
|
||||
placeholder: i18n.t("code.code"),
|
||||
param: "code",
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: i18n.t('code.eightDisciplineStatus'),
|
||||
selectOptions: [
|
||||
{ id: 1, name: "可用" },
|
||||
{ id: 0, name: "不可用" },
|
||||
],
|
||||
param: "eightDisciplineStatus",
|
||||
defaultSelect: "",
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
@ -128,6 +141,12 @@ export default {
|
||||
name: "search",
|
||||
color: "primary",
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: "primary",
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
@ -142,9 +161,9 @@ export default {
|
||||
case "search":
|
||||
// this.listQuery.paramCode = val.paramCode;
|
||||
this.listQuery.page = 1;
|
||||
this.listQuery.code = null;
|
||||
this.listQuery.name = null;
|
||||
this.listQuery.eightDisciplineStatus = null;
|
||||
this.listQuery.code = val.code;
|
||||
this.listQuery.name = val.name;
|
||||
this.listQuery.eightDisciplineStatus = val.eightDisciplineStatus;
|
||||
this.getDataList();
|
||||
break;
|
||||
case "add":
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-14 10:15:45
|
||||
* @LastEditTime: 2023-07-17 10:38:22
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
@ -66,20 +66,20 @@ const tableProps = [
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
prop: 'userId',
|
||||
prop: 'userName',
|
||||
label: i18n.t("code.userId"),
|
||||
align: 'center'
|
||||
}
|
||||
]
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: "编辑",
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
// {
|
||||
// type: "edit",
|
||||
// btnName: "编辑",
|
||||
// },
|
||||
// {
|
||||
// type: "delete",
|
||||
// btnName: "删除",
|
||||
// },
|
||||
{
|
||||
type: "approve",
|
||||
btnName: "审批",
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-06-19 15:52:51
|
||||
* @LastEditTime: 2023-07-14 10:16:01
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-07-17 10:30:40
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -21,13 +21,13 @@
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
<base-dialog width="70%" :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
@confirm="handleConfirm" :before-close="handleCancel">
|
||||
<productInspection-add ref="addOrUpdate" @successSubmit="successSubmit"></productInspection-add>
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
</base-dialog>
|
||||
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<base-dialog width="70%" :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible"
|
||||
@cancel="handleSearchCancel" @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<productInspection-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit">
|
||||
</productInspection-search>
|
||||
<el-row slot="footer" type="flex" justify="end">
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-06-12 13:22:50
|
||||
* @LastEditTime: 2023-07-14 10:16:14
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-07-17 10:29:25
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -21,40 +21,41 @@
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
<base-dialog width="70%" :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
@confirm="handleConfirm" :before-close="handleCancel">
|
||||
<productRegistration-add ref="addOrUpdate" @successSubmit="successSubmit">
|
||||
</productRegistration-add>
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
</base-dialog>
|
||||
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<base-dialog width="70%" :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible"
|
||||
@cancel="handleSearchCancel" @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<productRegistration-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit">
|
||||
</productRegistration-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>
|
||||
</productRegistration-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>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import basicPage from "@/mixins/basic-page";
|
||||
import basicSearch from "@/mixins/basic-search";
|
||||
import productRegistrationSearch from "./components/productRegistrationSearch.vue";
|
||||
import productRegistrationAdd from "./components/productRegistration-add.vue";
|
||||
import i18n from "@/i18n";
|
||||
import basicPage from "@/mixins/basic-page"
|
||||
import basicSearch from "@/mixins/basic-search"
|
||||
import productRegistrationSearch from "./components/productRegistrationSearch.vue"
|
||||
import productRegistrationAdd from "./components/productRegistration-add.vue"
|
||||
import i18n from "@/i18n"
|
||||
import incoming from "@/filters/incoming"
|
||||
// import i18n from "@/i18n";
|
||||
const tableProps = [
|
||||
{
|
||||
@ -76,10 +77,12 @@ const tableProps = [
|
||||
{
|
||||
prop: "upload",
|
||||
label: i18n.t('code.upload'),
|
||||
filter: incoming('upload'),
|
||||
},
|
||||
{
|
||||
prop: "judgmentResult",
|
||||
label: i18n.t('code.judgmentResult'),
|
||||
filter: incoming('judgmentResult'),
|
||||
},
|
||||
{
|
||||
prop: "productCode",
|
||||
@ -149,7 +152,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
getDataListURL: "code/productRegistration/page/term",
|
||||
getDataListURL: "/code/productRegistration/page/term",
|
||||
deleteURL: "/code/productRegistration",
|
||||
exportURL: "/code/productRegistration/export",
|
||||
},
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-06-12 13:22:50
|
||||
* @LastEditTime: 2023-07-14 10:16:28
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-07-17 10:29:35
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -21,14 +21,14 @@
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
<base-dialog width="70%" :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
@confirm="handleConfirm" :before-close="handleCancel">
|
||||
<shipmentRegistration-add ref="addOrUpdate" @successSubmit="successSubmit">
|
||||
</shipmentRegistration-add>
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
</base-dialog>
|
||||
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<base-dialog width="70%" :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible"
|
||||
@cancel="handleSearchCancel" @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<shipmentRegistration-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit">
|
||||
</shipmentRegistration-search>
|
||||
<el-row slot="footer" type="flex" justify="end">
|
||||
@ -55,6 +55,7 @@ import basicSearch from "@/mixins/basic-search";
|
||||
import shipmentRegistrationSearch from "./components/shipmentRegistrationSearch.vue";
|
||||
import shipmentRegistrationAdd from "./components/shipmentRegistration-add.vue";
|
||||
import i18n from "@/i18n";
|
||||
import incoming from "@/filters/incoming";
|
||||
// import i18n from "@/i18n";
|
||||
const tableProps = [
|
||||
{
|
||||
@ -76,10 +77,12 @@ const tableProps = [
|
||||
{
|
||||
prop: "upload",
|
||||
label: i18n.t('code.upload'),
|
||||
filter: incoming('upload'),
|
||||
},
|
||||
{
|
||||
prop: "judgmentResult",
|
||||
label: i18n.t('code.judgmentResult'),
|
||||
filter: incoming('judgmentResult'),
|
||||
},
|
||||
{
|
||||
prop: "productCode",
|
||||
@ -149,7 +152,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
getDataListURL: "code/shipmentRegistration/page/term",
|
||||
getDataListURL: "/code/shipmentRegistration/page/term",
|
||||
deleteURL: "/code/shipmentRegistration",
|
||||
exportURL: "/code/shipmentRegistration/export",
|
||||
},
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-14 10:16:41
|
||||
* @LastEditTime: 2023-07-20 10:50:58
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
@ -41,6 +41,7 @@
|
||||
@cancel="handleCancel"
|
||||
@confirm="handleConfirm"
|
||||
:before-close="handleCancel"
|
||||
:destroy-on-close="true"
|
||||
>
|
||||
<add-or-update
|
||||
ref="teamSet"
|
||||
@ -96,20 +97,20 @@ const tableProps = [
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
prop: "userId",
|
||||
prop: 'userName',
|
||||
label: i18n.t("code.userId"),
|
||||
align: "center",
|
||||
},
|
||||
];
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: "编辑",
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
// {
|
||||
// type: "edit",
|
||||
// btnName: "编辑",
|
||||
// },
|
||||
// {
|
||||
// type: "delete",
|
||||
// btnName: "删除",
|
||||
// },
|
||||
{
|
||||
type: "team",
|
||||
btnName: "团队",
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-14 10:16:46
|
||||
* @LastEditTime: 2023-07-17 10:38:45
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
@ -84,20 +84,20 @@ const tableProps = [
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
prop: 'userId',
|
||||
prop: 'userName',
|
||||
label: i18n.t("code.userId"),
|
||||
align: 'center'
|
||||
}
|
||||
]
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: "编辑",
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
// {
|
||||
// type: "edit",
|
||||
// btnName: "编辑",
|
||||
// },
|
||||
// {
|
||||
// type: "delete",
|
||||
// btnName: "删除",
|
||||
// },
|
||||
{
|
||||
type: "corrective",
|
||||
btnName: "纠正",
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-14 10:16:53
|
||||
* @LastEditTime: 2023-07-17 10:39:03
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
@ -82,7 +82,7 @@ const tableProps = [
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
prop: 'userId',
|
||||
prop: 'userName',
|
||||
label: i18n.t("code.userId"),
|
||||
align: 'center'
|
||||
}
|
||||
@ -92,10 +92,10 @@ const tableBtn = [
|
||||
// type: "edit",
|
||||
// btnName: "编辑",
|
||||
// },
|
||||
{
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
// {
|
||||
// type: "delete",
|
||||
// btnName: "删除",
|
||||
// },
|
||||
{
|
||||
type: "analysis",
|
||||
btnName: "分析",
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-14 10:16:58
|
||||
* @LastEditTime: 2023-07-17 10:38:34
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
@ -84,20 +84,20 @@ const tableProps = [
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
prop: 'userId',
|
||||
prop: 'userName',
|
||||
label: i18n.t("code.userId"),
|
||||
align: 'center'
|
||||
}
|
||||
]
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: "编辑",
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
// {
|
||||
// type: "edit",
|
||||
// btnName: "编辑",
|
||||
// },
|
||||
// {
|
||||
// type: "delete",
|
||||
// btnName: "删除",
|
||||
// },
|
||||
{
|
||||
type: "prevent",
|
||||
btnName: "预防",
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-06-30 09:21:25
|
||||
* @LastEditTime: 2023-07-17 10:38:50
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
@ -83,20 +83,20 @@ const tableProps = [
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
prop: 'userId',
|
||||
prop: 'userName',
|
||||
label: i18n.t("code.userId"),
|
||||
align: 'center'
|
||||
}
|
||||
]
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: "编辑",
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
// {
|
||||
// type: "edit",
|
||||
// btnName: "编辑",
|
||||
// },
|
||||
// {
|
||||
// type: "delete",
|
||||
// btnName: "删除",
|
||||
// },
|
||||
{
|
||||
type: "analysis",
|
||||
btnName: "分析",
|
||||
|
@ -2,7 +2,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-06-30 09:37:58
|
||||
* @LastEditTime: 2023-07-17 10:38:29
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
@ -84,20 +84,20 @@ const tableProps = [
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
prop: 'userId',
|
||||
prop: 'userName',
|
||||
label: i18n.t("code.userId"),
|
||||
align: 'center'
|
||||
}
|
||||
]
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: "编辑",
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
// {
|
||||
// type: "edit",
|
||||
// btnName: "编辑",
|
||||
// },
|
||||
// {
|
||||
// type: "delete",
|
||||
// btnName: "删除",
|
||||
// },
|
||||
{
|
||||
type: "summary",
|
||||
btnName: "总结",
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-14 10:17:04
|
||||
* @LastEditTime: 2023-07-20 10:49:29
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
@ -27,6 +27,7 @@
|
||||
@cancel="handleCancel"
|
||||
@confirm="handleConfirm"
|
||||
:before-close="handleCancel"
|
||||
:destroy-on-close="true"
|
||||
width=70%
|
||||
>
|
||||
<add-or-update
|
||||
@ -89,20 +90,20 @@ const tableProps = [
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
prop: 'userId',
|
||||
prop: 'userName',
|
||||
label: i18n.t("code.userId"),
|
||||
align: 'center'
|
||||
}
|
||||
]
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: "编辑",
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
// {
|
||||
// type: "edit",
|
||||
// btnName: "编辑",
|
||||
// },
|
||||
// {
|
||||
// type: "delete",
|
||||
// btnName: "删除",
|
||||
// },
|
||||
{
|
||||
type: "measure",
|
||||
btnName: "措施",
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-06-30 09:31:04
|
||||
* @LastEditTime: 2023-07-17 10:38:40
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
@ -83,20 +83,20 @@ const tableProps = [
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
prop: 'userId',
|
||||
prop: 'userName',
|
||||
label: i18n.t("code.userId"),
|
||||
align: 'center'
|
||||
}
|
||||
]
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: "编辑",
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
// {
|
||||
// type: "edit",
|
||||
// btnName: "编辑",
|
||||
// },
|
||||
// {
|
||||
// type: "delete",
|
||||
// btnName: "删除",
|
||||
// },
|
||||
{
|
||||
type: "validation",
|
||||
btnName: "验证",
|
||||
|
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__user">
|
||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
||||
<!-- <search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" /> -->
|
||||
<base-table
|
||||
:table-props="tableProps"
|
||||
:page="listQuery.page"
|
||||
@ -30,6 +30,7 @@
|
||||
@cancel="handleCancel"
|
||||
@confirm="handleConfirm"
|
||||
:before-close="handleCancel"
|
||||
:destroy-on-close="true"
|
||||
>
|
||||
<add-or-update ref="addOrUpdate" @refreshDataList="successSubmit"></add-or-update>
|
||||
</base-dialog>
|
||||
@ -73,10 +74,10 @@ const tableProps = [
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
prop: "examineStatus",
|
||||
label: i18n.t("code.examineStatus"),
|
||||
prop: "gradeFinish",
|
||||
label: "打分状态",
|
||||
align: "center",
|
||||
filter: codeFilter("examineStatus"),
|
||||
filter: codeFilter("gradeFinish"),
|
||||
},
|
||||
];
|
||||
const tableBtn = [
|
||||
@ -130,9 +131,16 @@ export default {
|
||||
}
|
||||
},
|
||||
otherMethods(val) {
|
||||
if(val.data.gradeFinish){
|
||||
this.$message({
|
||||
message: '该数据已完成打分操作,请勿重复打分!',
|
||||
type: 'warning'
|
||||
});
|
||||
}else{
|
||||
this.addOrEditTitle = "打分";
|
||||
this.addOrUpdateVisible = true;
|
||||
this.addOrUpdateHandle(val.data.id);
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
|
177
src/views/modules/customerquality/components/baseConfig-add.vue
Normal file
@ -0,0 +1,177 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-07-14 13:44:46
|
||||
* @LastEditTime: 2023-07-18 16:53:52
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<div>
|
||||
<el-drawer close-on-press-escape:title="$t('add')" :append-to-body="true" :before-close="handleClose"
|
||||
:visible.sync="innerDrawer">
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="requirementListId" :label="$t('customerquality.requirementListName')">
|
||||
<el-select clearable v-model="dataForm.requirementListId"
|
||||
:placeholder="$t('customerquality.requirementListName')">
|
||||
<el-option v-for="item in requirementList" :key="item.id" :label="item.requirementListName"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="knowledgeBaseId" :label="$t('customerquality.knowledgeBaseName')">
|
||||
<el-select clearable v-model="dataForm.knowledgeBaseId"
|
||||
:placeholder="$t('customerquality.knowledgeBaseName')">
|
||||
<el-option v-for="item in knowledgeBaseList" :key="item.id" :label="item.knowledgeBaseName"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="innerDrawer = false">{{ $t('cancel') }} </el-button>
|
||||
<el-button type="primary" @click="dataFormSubmit"> {{ $t('confirm') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import i18n from "@/i18n"
|
||||
import basicAdd from "@/mixins/basic-add"
|
||||
import debounce from "lodash/debounce"
|
||||
export default {
|
||||
mixins: [basicAdd],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
submitURL: "/customerquality/qmsKnowledgeBaseRequirementList",
|
||||
getRequirementListURL: "/customerquality/qmsCustomerQualityRequirementList/page",
|
||||
getKnowledgeBaseURL: "/customerquality/qmsKnowledgeBase/page"
|
||||
},
|
||||
dataForm: {
|
||||
knowledgeBaseId: null,
|
||||
requirementListId:null
|
||||
},
|
||||
innerDrawer: false,
|
||||
listQuery: {
|
||||
limit: 10,
|
||||
page:1,
|
||||
},
|
||||
requirementList: [],
|
||||
knowledgeBaseList:[],
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
dataRule() {
|
||||
return {
|
||||
knowledgeBaseId: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
requirementListId: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
]
|
||||
};
|
||||
},
|
||||
},
|
||||
mounted () {
|
||||
this.getDict()
|
||||
},
|
||||
methods: {
|
||||
init(obj) {
|
||||
this.dataForm.knowledgeBaseId = obj.knowledgeBaseId || ''
|
||||
this.dataForm.requirementListId = obj.requirementListId || ''
|
||||
this.dataForm.id = obj.id || ''
|
||||
this.innerDrawer = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs["dataForm"].resetFields()
|
||||
if (this.dataForm.id) {
|
||||
this.getInfo()
|
||||
} else {
|
||||
// this.getCode()
|
||||
}
|
||||
})
|
||||
},
|
||||
handleClose() {
|
||||
this.innerDrawer = true
|
||||
this.$refs.dataForm.resetFields()
|
||||
},
|
||||
getInfo() {
|
||||
this.$http
|
||||
.get(`/customerquality/qmsKnowledgeBaseRequirementList/${this.dataForm.id}`)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.dataForm = {
|
||||
...this.dataForm,
|
||||
...res.data,
|
||||
};
|
||||
})
|
||||
.catch(() => { });
|
||||
},
|
||||
getDict() {
|
||||
this.$http
|
||||
.get(this.urlOptions.getRequirementListURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.requirementList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getKnowledgeBaseURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.knowledgeBaseList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
},
|
||||
// 表单提交
|
||||
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.innerDrawer = false;
|
||||
this.$emit("refreshDataList");
|
||||
},
|
||||
});
|
||||
})
|
||||
.catch(() => { });
|
||||
});
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-07-14 13:44:46
|
||||
* @LastEditTime: 2023-07-14 13:59:46
|
||||
* @LastEditTime: 2023-07-18 14:25:05
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -9,6 +9,11 @@
|
||||
<div>
|
||||
<el-drawer :title="$t('customerquality.knowledgeBase')" :visible.sync="drawer" size="50%">
|
||||
<div>
|
||||
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
|
||||
<!-- <el-badge :value="5" class="item">
|
||||
<el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
|
||||
</el-badge> -->
|
||||
</SearchBar>
|
||||
<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"
|
||||
@ -17,6 +22,7 @@
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
</div>
|
||||
<baseConfig-add ref="baseConfigAddList" v-if="baseConfigAddShow" @refreshDataList="getDataList"></baseConfig-add>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
@ -25,8 +31,10 @@
|
||||
import basicPage from "@/mixins/basic-page"
|
||||
// import basicSearch from "@/mixins/basic-search"
|
||||
// import projectTypeSearch from "./components/projectTypeSearch.vue"
|
||||
import baseConfigAdd from "./baseConfig-add"
|
||||
import customerquality from '@/filters/customerquality'
|
||||
// import qmsKnowledgeBaseAdd from "./components/qmsKnowledgeBase-add.vue"
|
||||
import InnerTable from "./innerTable"
|
||||
import i18n from "@/i18n"
|
||||
// import i18n from "@/i18n";
|
||||
const tableProps = [
|
||||
@ -40,8 +48,13 @@ const tableProps = [
|
||||
},
|
||||
{
|
||||
prop: "categoryName",
|
||||
label: i18n.t('customerquality.category'),
|
||||
}
|
||||
label: i18n.t('uploadFile'),
|
||||
},
|
||||
{
|
||||
prop: "code",
|
||||
label: i18n.t('customerquality.file'),
|
||||
subcomponent: InnerTable
|
||||
},
|
||||
];
|
||||
const tableBtn = [
|
||||
{
|
||||
@ -51,14 +64,13 @@ const tableBtn = [
|
||||
{
|
||||
type: "delete",
|
||||
btnName: i18n.t('delete'),
|
||||
},
|
||||
{
|
||||
type: "configuration",
|
||||
btnName: i18n.t('delete'),
|
||||
}
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage],
|
||||
components: {
|
||||
baseConfigAdd,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
@ -67,7 +79,23 @@ export default {
|
||||
exportURL: '/customerquality/qmsKnowledgeBase/export'
|
||||
},
|
||||
tableBtn,
|
||||
|
||||
baseConfigAddShow:[],
|
||||
formConfig: [
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('search'),
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('add'),
|
||||
name: "add",
|
||||
color: "success",
|
||||
plain: true
|
||||
},
|
||||
],
|
||||
tableProps,
|
||||
tableData: [],
|
||||
drawer: false,
|
||||
@ -78,16 +106,105 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
init(id) {
|
||||
this.listQuery.knowledgeBaseId = id || ""
|
||||
init(obj) {
|
||||
this.listQuery.knowledgeBaseId = obj.knowledgeBaseId || ""
|
||||
this.listQuery.requirementListId = obj.requirementListId || ""
|
||||
|
||||
// this.dataForm.dictTypeId = dictTypeId || "";
|
||||
this.drawer = true
|
||||
this.$nextTick(() => {
|
||||
this.getDataList()
|
||||
});
|
||||
},
|
||||
handleClick(){
|
||||
|
||||
}
|
||||
buttonClick(val) {
|
||||
console.log(val)
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
// this.listQuery.paramCode = val.paramCode;
|
||||
// this.listQuery.supplierName = val.supplierName ? val.supplierName : undefined
|
||||
// this.listQuery.supplierStatus = val.supplierStatus ? val.supplierStatus : undefined
|
||||
// this.listQuery.supplierTypeId = val.supplierTypeId ? val.supplierTypeId : undefined
|
||||
// this.listQuery.ment = this.ment ? this.ment : undefined
|
||||
// console.log(i18n);
|
||||
this.listQuery.page = 1;
|
||||
this.getDataList()
|
||||
break;
|
||||
// case "export":
|
||||
// // this.listQuery.paramCode = val.paramCode;
|
||||
// this.exportHandle()
|
||||
// break;
|
||||
case "add":
|
||||
// this.addOrEditTitle = '新增'
|
||||
// this.addOrUpdateVisible = true;
|
||||
this.baseConfigAddShow = true
|
||||
const obj = {
|
||||
knowledgeBaseId: this.listQuery.knowledgeBaseId,
|
||||
requirementListId: this.listQuery.requirementListId
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.$refs.baseConfigAddList.init(obj)
|
||||
})
|
||||
// this.addOrUpdateHandle()
|
||||
break;
|
||||
default:
|
||||
}
|
||||
},
|
||||
getDataList() {
|
||||
this.dataListLoading = true;
|
||||
this.$http
|
||||
.get(this.urlOptions.getDataListURL, {
|
||||
params: this.listQuery,
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.tableData = [];
|
||||
this.listQuery.total = 0;
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.tableData = res.data.list;
|
||||
this.listQuery.total = res.data.total;
|
||||
})
|
||||
.catch(() => {
|
||||
this.dataListLoading = false;
|
||||
})
|
||||
},
|
||||
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.baseConfigAddShow = true
|
||||
const obj = {
|
||||
knowledgeBaseId: this.listQuery.knowledgeBaseId,
|
||||
requirementListId: this.listQuery.requirementListId,
|
||||
id:val.data.id
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.$refs.baseConfigAddList.init(obj)
|
||||
})
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
@ -0,0 +1,187 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-07-14 13:44:46
|
||||
* @LastEditTime: 2023-07-18 16:53:36
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<div>
|
||||
<el-drawer close-on-press-escape :title="$t('add')" :append-to-body="true" :before-close="handleClose"
|
||||
:visible.sync="innerDrawer">
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="knowledgeBaseFileId" :label="$t('customerquality.knowledgeBaseFileId')">
|
||||
<el-select clearable v-model="dataForm.knowledgeBaseFileId"
|
||||
:placeholder="$t('customerquality.knowledgeBaseFileId')">
|
||||
<el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="title" :label="$t('customerquality.title')">
|
||||
<el-input clearable v-model="dataForm.title" :placeholder="$t('customerquality.title')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="accessPath" :label="$t('customerquality.accessPath')">
|
||||
<el-input clearable v-model="dataForm.accessPath" :placeholder="$t('customerquality.accessPath')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="innerDrawer = false">{{ $t('cancel') }} </el-button>
|
||||
<el-button type="primary" @click="dataFormSubmit"> {{ $t('confirm') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import i18n from "@/i18n"
|
||||
import basicAdd from "@/mixins/basic-add"
|
||||
import debounce from "lodash/debounce"
|
||||
|
||||
export default {
|
||||
mixins: [basicAdd],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
submitURL: "/customerquality/knowledgeBaseRequirementListData",
|
||||
getDictDataDetail: '/mutual/qmsDataDictionaryDetail/page'
|
||||
},
|
||||
dataForm: {
|
||||
accessPath:null,
|
||||
id: null,
|
||||
knowledgeBaseFileId: null,
|
||||
knowledgeBaseRequirementListId: null,
|
||||
title: null,
|
||||
},
|
||||
innerDrawer: false,
|
||||
listQuery: {
|
||||
limit: 10,
|
||||
page:1,
|
||||
},
|
||||
categoryList:[],
|
||||
requirementList: [],
|
||||
knowledgeBaseList:[],
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
dataRule() {
|
||||
return {
|
||||
knowledgeBaseId: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
requirementListId: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
]
|
||||
};
|
||||
},
|
||||
},
|
||||
mounted () {
|
||||
this.getDict()
|
||||
this.getAccessPath()
|
||||
},
|
||||
methods: {
|
||||
init(obj) {
|
||||
this.dataForm.knowledgeBaseRequirementListId = obj.knowledgeBaseRequirementListId || ''
|
||||
this.dataForm.knowledgeBaseRequirementListId = obj.knowledgeBaseRequirementListId || ''
|
||||
|
||||
this.dataForm.id = obj.id || ''
|
||||
this.innerDrawer = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs["dataForm"].resetFields()
|
||||
if (this.dataForm.id) {
|
||||
this.getInfo()
|
||||
} else {
|
||||
// this.getCode()
|
||||
}
|
||||
})
|
||||
},
|
||||
getDict() {
|
||||
this.$http
|
||||
.get(this.urlOptions.getDictDataDetail, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1,
|
||||
dataDictionaryId: '1679670942635122690',
|
||||
}
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
// this.dataListLoading = false;
|
||||
if (res.code === 0) {
|
||||
this.categoryList = res.data.list
|
||||
}
|
||||
})
|
||||
},
|
||||
getAccessPath() {
|
||||
const now = new Date();
|
||||
const year = now.getFullYear();
|
||||
const month = ('0' + (now.getMonth() + 1)).slice(-2);
|
||||
const day = ('0' + now.getDate()).slice(-2);
|
||||
const hours = ('0' + now.getHours()).slice(-2);
|
||||
const minutes = ('0' + now.getMinutes()).slice(-2);
|
||||
const formattedTime = year + month + day + hours + minutes
|
||||
console.log(formattedTime)
|
||||
|
||||
var str = Math.random().toString(36).slice(-5)
|
||||
// console.log(str)
|
||||
this.dataForm.accessPath = formattedTime+ str
|
||||
},
|
||||
handleClose() {
|
||||
this.innerDrawer = true
|
||||
this.$refs.dataForm.resetFields()
|
||||
},
|
||||
getInfo() {
|
||||
this.$http
|
||||
.get(`/customerquality/knowledgeBaseRequirementListData/${this.dataForm.id}`)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.dataForm = {
|
||||
...this.dataForm,
|
||||
...res.data,
|
||||
};
|
||||
})
|
||||
.catch(() => { });
|
||||
},
|
||||
// 表单提交
|
||||
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.innerDrawer = false;
|
||||
this.$emit("refreshDataList");
|
||||
},
|
||||
});
|
||||
})
|
||||
.catch(() => { });
|
||||
});
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
146
src/views/modules/customerquality/components/change-add.vue
Normal file
@ -0,0 +1,146 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-07-14 13:44:46
|
||||
* @LastEditTime: 2023-07-19 14:48:19
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<div>
|
||||
<el-drawer close-on-press-escape :title="!dataForm.id ? $t('add') : $t('edit')" size="40%" :append-to-body="true"
|
||||
:closed="handleClose" :visible.sync="innerDrawer">
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="140px">
|
||||
<el-form-item prop="changeHistory" label="Change History of this PPAP record">
|
||||
<el-input clearable v-model="dataForm.changeHistory" placeholder="Change History of this PPAP record">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="name" label=" name">
|
||||
<el-input clearable v-model="dataForm.name" placeholder="name">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="date" label="date">
|
||||
<el-date-picker v-model="dataForm.date" type="datetime" format='yyyy-MM-dd HH:mm:ss'
|
||||
valueFormat='yyyy-MM-ddTHH:mm:ss' placeholder="date">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="innerDrawer = false">{{ $t('cancel') }} </el-button>
|
||||
<el-button type="primary" @click="dataFormSubmit"> {{ $t('confirm') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import i18n from "@/i18n"
|
||||
import basicAdd from "@/mixins/basic-add"
|
||||
import debounce from "lodash/debounce"
|
||||
export default {
|
||||
mixins: [basicAdd],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
submitURL: "/customerquality/qmsCustomerQualityProjectListChangeRecord",
|
||||
},
|
||||
dataForm: {
|
||||
date:null,
|
||||
name: null,
|
||||
id: null,
|
||||
changeHistory: null,
|
||||
},
|
||||
innerDrawer: false,
|
||||
listQuery: {
|
||||
limit: 10,
|
||||
page:1,
|
||||
},
|
||||
requirementList: [],
|
||||
knowledgeBaseList:[],
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
dataRule() {
|
||||
return {
|
||||
knowledgeBaseId: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
requirementListId: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
]
|
||||
};
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
init(obj) {
|
||||
// this.dataForm.knowledgeBaseId = obj.knowledgeBaseId || ''
|
||||
// this.dataForm.requirementListId = obj.requirementListId || ''
|
||||
this.dataForm.id = obj.id? obj.id :null
|
||||
this.dataForm.customerQualityProjectListId = obj.customerQualityProjectListId ? obj.customerQualityProjectListId :null
|
||||
this.innerDrawer = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs["dataForm"].resetFields()
|
||||
if (this.dataForm.id) {
|
||||
this.getInfo()
|
||||
} else {
|
||||
// this.getCode()
|
||||
}
|
||||
})
|
||||
},
|
||||
handleClose() {
|
||||
this.innerDrawer = true
|
||||
this.$refs.dataForm.resetFields()
|
||||
},
|
||||
getInfo() {
|
||||
this.$http
|
||||
.get(`/customerquality/qmsCustomerQualityProjectListChangeRecord/${this.dataForm.id}`)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.dataForm = {
|
||||
...this.dataForm,
|
||||
...res.data,
|
||||
};
|
||||
})
|
||||
.catch(() => { });
|
||||
},
|
||||
// 表单提交
|
||||
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.innerDrawer = false;
|
||||
this.$emit("refreshDataList");
|
||||
},
|
||||
});
|
||||
})
|
||||
.catch(() => { });
|
||||
});
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
@ -1,85 +1,423 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-14 14:28:32
|
||||
* @LastEditTime: 2023-07-19 16:17:25
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="code" :label="$t('customerquality.code')">
|
||||
<el-input v-model="dataForm.code" :placeholder="$t('customerquality.code')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="knowledgeBaseName" :label="$t('customerquality.knowledgeBaseName')">
|
||||
<el-input v-model="dataForm.knowledgeBaseName" :placeholder="$t('customerquality.knowledgeBaseName')"></el-input>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item prop="knowledgeBaseName" :label="$t('basic.status')">
|
||||
<el-select v-model="dataForm.currentStage" :placeholder="$t('basic.status')">
|
||||
<el-option v-for="item in currentStageList" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="serialNumber" :label="$t('customerquality.serialNumber')">
|
||||
<el-input v-model="dataForm.serialNumber" :placeholder="$t('customerquality.serialNumber')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="description" :label="$t('customerquality.description')">
|
||||
<el-input v-model="dataForm.description" :placeholder="$t('customerquality.description')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="questionType" :label="$t('customerquality.questionType')">
|
||||
<el-select v-model="dataForm.questionType" :placeholder="$t('customerquality.questionType')">
|
||||
<el-option v-for="item in questionTypeList" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
<el-form-item prop="category" :label="$t('customerquality.category')">
|
||||
<el-select v-model="dataForm.category" :placeholder="$t('customerquality.category')">
|
||||
<el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<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-tab-pane label="项目概述" name="first">
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="productId" :label="$t('basic.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('basic.productName')" clearable>
|
||||
<el-option v-for="item in productList" :key="item.id" :label="item.productName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="knowledgeBaseId" :label="$t('customerquality.knowledgeBase')">
|
||||
<el-select v-model="dataForm.knowledgeBaseId" :placeholder="$t('customerquality.knowledgeBase')" clearable>
|
||||
<el-option v-for="item in knowledgeBaseList" :key="item.id" :label="item.knowledgeBaseName"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="customerId" :label="$t('customerquality.customerName')">
|
||||
<el-select v-model="dataForm.customerId" :placeholder="$t('customerquality.customerName')" clearable>
|
||||
<el-option v-for="item in customerList" :key="item.id" :label="item.customerName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="qualityAcceptanceDate" :label="$t('customerquality.qualityAcceptanceDate')">
|
||||
<el-date-picker clearable v-model="dataForm.qualityAcceptanceDate" type="datetime"
|
||||
:placeholder="$t('customerquality.qualityAcceptanceDate')">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item prop="deliveryRequiredDate" :label="$t('customerquality.deliveryRequiredDate')">
|
||||
<el-date-picker clearable v-model="dataForm.deliveryRequiredDate" type="datetime"
|
||||
:placeholder="$t('customerquality.deliveryRequiredDate')">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item prop="confirmDeliveryDate" :label="$t('customerquality.confirmDeliveryDate')">
|
||||
<el-date-picker clearable v-model="dataForm.confirmDeliveryDate" type="datetime"
|
||||
:placeholder="$t('customerquality.confirmDeliveryDate')">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item prop="first" :label="$t('customerquality.first')">
|
||||
<el-select clearable v-model="dataForm.first" :placeholder="$t('customerquality.first')">
|
||||
<el-option v-for="item in firstList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="previousVersionCode" :label="$t('customerquality.previousVersionCode')">
|
||||
<el-input clearable v-model="dataForm.previousVersionCode"
|
||||
:placeholder="$t('customerquality.previousVersionCode')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="author" label="Author/Owner">
|
||||
<el-input clearable v-model="dataForm.author" placeholder="Author/Owner">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="releaser" label="releaser">
|
||||
<el-input clearable v-model="dataForm.releaser" placeholder="releaser">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="confidentialityAgreement" :label="$t('customerquality.first')">
|
||||
<el-select clearable v-model="dataForm.confidentialityAgreement" :placeholder="$t('customerquality.first')">
|
||||
<el-option v-for="item in confidentialityAgreementList" :key="item.id" :label="item.name"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="nda" label="nda">
|
||||
<el-select clearable v-model="dataForm.nda" placeholder="nda">
|
||||
<el-option v-for="item in ndaList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="status" label="状态">
|
||||
<el-select clearable v-model="dataForm.status" placeholder="状态">
|
||||
<el-option v-for="item in statusList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="ppapGrade" :label="$t('customerquality.ppapGrade')">
|
||||
<el-select clearable v-model="dataForm.ppapGrade" :placeholder="$t('customerquality.ppapGrade')">
|
||||
<el-option v-for="item in ppapGradeList" :key="item.id" :label="item.dataDictionaryDetailName"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="version" :label="$t('customerquality.version')">
|
||||
<el-input clearable v-model="dataForm.version" :placeholder="$t('customerquality.version')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="amendment" :label="$t('customerquality.amendment')">
|
||||
<el-input clearable v-model="dataForm.amendment" :placeholder="$t('customerquality.amendment')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="description" :label="$t('customerquality.description')">
|
||||
<el-input clearable v-model="dataForm.description" :placeholder="$t('customerquality.description')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span style="float: right;" class="dialog-footer">
|
||||
<el-button @click="visible = false">{{ $t('cancel') }}</el-button>
|
||||
<el-button type="primary" @click="dataFormSubmit()"> {{ $t('save') }} </el-button>
|
||||
</span>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane :disabled="tabDisable" label="要求清单" name="second">
|
||||
<el-tree :default-checked-keys="defaultData" :data="treeData" show-checkbox @check="handleCheckChange"
|
||||
node-key="id">
|
||||
</el-tree>
|
||||
<span style="float: right;" class="dialog-footer">
|
||||
<el-button @click="visible = false">{{ $t('cancel') }}</el-button>
|
||||
<el-button type="primary" @click="projectListRequirementListDataFormSubmit()"> {{ $t('save')
|
||||
}} </el-button>
|
||||
</span>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane :disabled="tabDisable" label="封面生成" name="three">
|
||||
<el-divider content-position="center">修订记录</el-divider>
|
||||
<SearchBar :formConfigs="reviseFormConfig" ref="ruleForm" @headBtnClick="buttonClick">
|
||||
</SearchBar>
|
||||
<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"
|
||||
@clickBtn="handleClick" />
|
||||
</base-table>
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<revise-add ref="reviseAddList" v-if="reviseAddShow" @refreshDataList="getDataList">
|
||||
</revise-add>
|
||||
<el-divider content-position="center">变更记录</el-divider>
|
||||
<SearchBar :formConfigs="changeFormConfig" ref="ruleForm" @headBtnClick="changeButtonClick">
|
||||
</SearchBar>
|
||||
<base-table id="palletTable" :table-props="changeTableProps" :page="changeListQuery.page" ref="palletTable1"
|
||||
:limit="changeListQuery.limit" :table-data="changeTableData">
|
||||
<method-btn v-if="changeTableBtn.length" slot="handleBtn" :width="100" label="操作"
|
||||
:method-list="changeTableBtn" @clickBtn="changeHandleClick" />
|
||||
</base-table>
|
||||
<pagination :limit.sync="changeListQuery.limit" :page.sync="changeListQuery.page" :total="changeListQuery.total"
|
||||
@pagination="changeGetDataList" />
|
||||
<change-add ref="changeAddList" v-if="changeAddShow" @refreshDataList="changeGetDataList">
|
||||
</change-add>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</el-drawer>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import debounce from "lodash/debounce";
|
||||
import basicAdd from "@/mixins/basic-add";
|
||||
import debounce from "lodash/debounce"
|
||||
import basicAdd from "@/mixins/basic-add"
|
||||
import reviseAdd from "./revise-add"
|
||||
import changeAdd from "./change-add"
|
||||
import i18n from "@/i18n"
|
||||
import { timeFormatter } from '@/filters'
|
||||
const tableProps = [
|
||||
{
|
||||
prop: "revision",
|
||||
label: 'revision',
|
||||
},
|
||||
{
|
||||
prop: "date",
|
||||
label: 'date',
|
||||
filter: timeFormatter
|
||||
},
|
||||
{
|
||||
prop: "item",
|
||||
label: 'Item/Section',
|
||||
},
|
||||
{
|
||||
prop: "essential",
|
||||
label: 'Essential Changes',
|
||||
// filter: timeFormatter
|
||||
},
|
||||
];
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: i18n.t('edit'),
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: i18n.t('delete'),
|
||||
},
|
||||
// {
|
||||
// type: "configuration",
|
||||
// btnName: i18n.t('configuration'),
|
||||
// }
|
||||
];
|
||||
const changeTableProps = [
|
||||
{
|
||||
prop: "changeHistory",
|
||||
label: ' Change History of this PPAP record',
|
||||
},
|
||||
{
|
||||
prop: "date",
|
||||
label: 'date',
|
||||
filter: timeFormatter
|
||||
},
|
||||
{
|
||||
prop: "name",
|
||||
label: 'name',
|
||||
},
|
||||
];
|
||||
const changeTableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: i18n.t('edit'),
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: i18n.t('delete'),
|
||||
},
|
||||
// {
|
||||
// type: "configuration",
|
||||
// btnName: i18n.t('configuration'),
|
||||
// }
|
||||
];
|
||||
export default {
|
||||
mixins: [basicAdd],
|
||||
components: {
|
||||
reviseAdd,
|
||||
changeAdd
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
getReviseDataListURL: '/customerquality/qmsCustomerQualityProjectListRevisionRecord/page',
|
||||
getChangeDataListURL: '/customerquality/qmsCustomerQualityProjectListChangeRecord/page',
|
||||
changeDeleteURL: '/customerquality/qmsCustomerQualityProjectListChangeRecord',
|
||||
reviseDeleteURL: '/customerquality/qmsCustomerQualityProjectListRevisionRecord',
|
||||
submitURL: "/customerquality/qmsCustomerQualityProjectList",
|
||||
infoURL: "/customerquality/qmsCustomerQualityProjectList//{id}",
|
||||
getDictDataDetail: '/mutual/qmsCustomerQualityProjectList/page'
|
||||
getDictDataDetail: '/mutual/qmsDataDictionaryDetail/page',
|
||||
getProductURL: '/basic/qmsProduct/page',
|
||||
getKnowledgeBaseURL: '/customerquality/qmsKnowledgeBase/page',
|
||||
getCustomerURL: '/basic/qmsCustomer/page',
|
||||
getRequirementListURL: '/customerquality/qmsCustomerQualityRequirementList/page',
|
||||
getProjectRequirementListURL: '/customerquality/qmsCustomerQualityProjectListRequirementList/page',
|
||||
projectListRequirementListSubmitURL: '/customerquality/qmsCustomerQualityProjectListRequirementList/savelist',
|
||||
projectListRequirementListEditURL: '/customerquality/qmsCustomerQualityProjectListRequirementList/updatelist',
|
||||
},
|
||||
tableBtn,
|
||||
reviseAddShow: false,
|
||||
changeAddShow: false,
|
||||
ndaList: [
|
||||
{
|
||||
id: '0',
|
||||
name: '错号',
|
||||
},
|
||||
{
|
||||
id: '1',
|
||||
name: '对号',
|
||||
}
|
||||
],
|
||||
statusList: [
|
||||
{
|
||||
id: '0',
|
||||
name: '待审核',
|
||||
},
|
||||
{
|
||||
id: '1',
|
||||
name: '已完成',
|
||||
},
|
||||
{
|
||||
id: '2',
|
||||
name: '交付退回',
|
||||
},
|
||||
{
|
||||
id: '3',
|
||||
name: '审核拒绝',
|
||||
}
|
||||
],
|
||||
reviseFormConfig: [
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('search'),
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('add'),
|
||||
name: "add",
|
||||
color: "success",
|
||||
plain: true
|
||||
}
|
||||
],
|
||||
changeFormConfig: [
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('search'),
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('add'),
|
||||
name: "add",
|
||||
color: "success",
|
||||
plain: true
|
||||
}
|
||||
],
|
||||
tableProps,
|
||||
tableData: [],
|
||||
changeTableProps,
|
||||
changeTableData: [],
|
||||
changeTableBtn,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
limit:10
|
||||
},
|
||||
checkArr:[],
|
||||
customerQualityProjectListId:null,
|
||||
productList: [],
|
||||
title:'first',
|
||||
customerList: [],
|
||||
ppapGradeList:[],
|
||||
knowledgeBaseList: [],
|
||||
firstList: [
|
||||
{
|
||||
id: '0',
|
||||
name:'否',
|
||||
},
|
||||
{
|
||||
id: '1',
|
||||
name: '是',
|
||||
}
|
||||
],
|
||||
defaultData:[],
|
||||
confidentialityAgreementList: [
|
||||
{
|
||||
id: '0',
|
||||
name: '否',
|
||||
},
|
||||
{
|
||||
id: '1',
|
||||
name: '是',
|
||||
}
|
||||
],
|
||||
categoryList:[],
|
||||
typeList:[],
|
||||
visible: false,
|
||||
listQuery: {
|
||||
limit: 999,
|
||||
page:1
|
||||
page: 1,
|
||||
total:0,
|
||||
},
|
||||
changeListQuery: {
|
||||
limit: 999,
|
||||
page: 1,
|
||||
total: 0,
|
||||
},
|
||||
treeData: [],
|
||||
tabDisable:true,
|
||||
dataForm: {
|
||||
id: "",
|
||||
code: null,
|
||||
category: null,
|
||||
knowledgeBaseName:null
|
||||
nda: null,
|
||||
amendment: null,
|
||||
status:null,
|
||||
confidentialityAgreement:null,
|
||||
confirmDeliveryDate: null,
|
||||
customerId: null,
|
||||
deliveryRequiredDate: null,
|
||||
description: null,
|
||||
releaser: null,
|
||||
author:null,
|
||||
first: null,
|
||||
id: undefined,
|
||||
knowledgeBaseId: null,
|
||||
ppapGrade: null,
|
||||
previousVersionCode: null,
|
||||
productId: null,
|
||||
qualityAcceptanceDate: null,
|
||||
version: null,
|
||||
},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
dataRule() {
|
||||
return {
|
||||
code: [
|
||||
productId: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "blur",
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
knowledgeBaseName: [
|
||||
knowledgeBaseId: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
customerId: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
qualityAcceptanceDate: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
deliveryRequiredDate: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
ppapGrade: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
@ -91,22 +429,208 @@ export default {
|
||||
},
|
||||
mounted () {
|
||||
this.getDict()
|
||||
this.getSecondData()
|
||||
},
|
||||
methods: {
|
||||
changeGetDataList() {
|
||||
this.listQuery.customerQualityProjectListId = this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId
|
||||
this.dataListLoading = true;
|
||||
this.$http
|
||||
.get(this.urlOptions.getChangeDataListURL, {
|
||||
params: this.listQuery,
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.changeTableData = [];
|
||||
this.listQuery.total = 0;
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.changeTableData = res.data.list;
|
||||
this.changeListQuery.total = res.data.total;
|
||||
})
|
||||
.catch(() => {
|
||||
this.dataListLoading = false;
|
||||
})
|
||||
},
|
||||
changeHandleClick(val) {
|
||||
if (val.type === "delete") {
|
||||
this.$confirm(`确定对[名称=${val.data.customerTypeName}]进行删除操作?`, "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
this.$http.delete(this.urlOptions.reviseDeleteURL, { 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') {
|
||||
let obj = {
|
||||
customerQualityProjectListId: this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId,
|
||||
id: val.data.id
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.$refs.reviseAddList.init(obj)
|
||||
})
|
||||
}
|
||||
},
|
||||
changeButtonClick(val) {
|
||||
console.log(this.dataForm.id)
|
||||
console.log(val);
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
this.listQuery.page = 1
|
||||
this.getDataList()
|
||||
break;
|
||||
case "add":
|
||||
this.changeAddShow = true
|
||||
let obj = {
|
||||
customerQualityProjectListId: this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.$refs.changeAddList.init(obj)
|
||||
})
|
||||
break;
|
||||
default:
|
||||
}
|
||||
},
|
||||
getDataList() {
|
||||
this.dataListLoading = true
|
||||
this.listQuery.customerQualityProjectListId = this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId
|
||||
this.$http
|
||||
.get(this.urlOptions.getReviseDataListURL, {
|
||||
params: this.listQuery,
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.tableData = [];
|
||||
this.listQuery.total = 0;
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.tableData = res.data.list;
|
||||
this.listQuery.total = res.data.total;
|
||||
})
|
||||
.catch(() => {
|
||||
this.dataListLoading = false;
|
||||
})
|
||||
},
|
||||
handleClick(val) {
|
||||
if (val.type === "delete") {
|
||||
this.$confirm(`确定对[revision为${val.data.revision}]进行删除操作?`, "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
this.$http.delete(this.urlOptions.changeDeleteURL, { 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') {
|
||||
let obj = {
|
||||
customerQualityProjectListId: this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId,
|
||||
id:val.data.id
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.$refs.reviseAddList.init(obj)
|
||||
})
|
||||
}
|
||||
},
|
||||
buttonClick(val) {
|
||||
console.log(this.dataForm.id)
|
||||
console.log(val);
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
// this.listQuery.paramCode = val.paramCode;
|
||||
// console.log(i18n);
|
||||
this.listQuery.page = 1
|
||||
this.getDataList()
|
||||
break;
|
||||
case "add":
|
||||
this.reviseAddShow = true
|
||||
let obj = {
|
||||
customerQualityProjectListId: this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.$refs.reviseAddList.init(obj)
|
||||
})
|
||||
break;
|
||||
default:
|
||||
}
|
||||
},
|
||||
handleClickTab(val) {
|
||||
console.log(val);
|
||||
if (val.name === 'second') {
|
||||
this.$http
|
||||
.get(this.urlOptions.getProjectRequirementListURL, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1,
|
||||
projectListId: this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId
|
||||
}
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
// this.dataListLoading = false;
|
||||
if (res.code === 0) {
|
||||
let arr = []
|
||||
console.log(res.data.list)
|
||||
res.data.list.forEach((item) => {
|
||||
arr.push(item.customerQualityRequirementListId)
|
||||
})
|
||||
this.defaultData = arr
|
||||
}
|
||||
})
|
||||
} else if (val.name === 'third') {
|
||||
this.changeGetDataList()
|
||||
this.getDataList()
|
||||
}
|
||||
},
|
||||
init(id) {
|
||||
this.dataForm.id = id || ""
|
||||
// this.dataForm.dictTypeId = dictTypeId || "";
|
||||
this.visible = true;
|
||||
this.$nextTick(() => {
|
||||
// console.log(this.$refs.dataForm)
|
||||
this.$refs["dataForm"].resetFields()
|
||||
if (this.dataForm.id) {
|
||||
this.getInfo();
|
||||
this.getInfo()
|
||||
} else {
|
||||
// this.getCode()
|
||||
}
|
||||
});
|
||||
},
|
||||
// 获取信息
|
||||
handleClose() {
|
||||
this.$emit("refreshDataList")
|
||||
// console.log(this.$refs.dataForm)
|
||||
// this.$refs.dataForm.resetFields()
|
||||
},
|
||||
getInfo() {
|
||||
this.$http
|
||||
.get(`/customerquality/qmsCustomerQualityProjectList/${this.dataForm.id}`)
|
||||
@ -117,9 +641,32 @@ export default {
|
||||
this.dataForm = {
|
||||
...this.dataForm,
|
||||
...res.data,
|
||||
};
|
||||
}
|
||||
this.customerQualityProjectListId = res.data.id
|
||||
this.tabDisable = false
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
getSecondData() {
|
||||
this.$http
|
||||
.get(this.urlOptions.getRequirementListURL, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1,
|
||||
}
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
// this.dataListLoading = false;
|
||||
if (res.code === 0) {
|
||||
this.treeData = res.data.list.map((item) => {
|
||||
return {
|
||||
label: item.requirementListName,
|
||||
id:item.id
|
||||
}
|
||||
})
|
||||
console.log(this.treeData);
|
||||
}
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
getDict() {
|
||||
this.$http
|
||||
@ -127,15 +674,129 @@ export default {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1,
|
||||
dataDictionaryId:'1679670942635122690',
|
||||
dataDictionaryId:'1681202200846499841',
|
||||
}
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
// this.dataListLoading = false;
|
||||
if (res.code === 0) {
|
||||
this.categoryList = res.data.list
|
||||
this.ppapGradeList = res.data.list
|
||||
}
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getProductURL, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1,
|
||||
}
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
// this.dataListLoading = false;
|
||||
if (res.code === 0) {
|
||||
this.productList = res.data.list
|
||||
}
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getKnowledgeBaseURL, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1,
|
||||
}
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
// this.dataListLoading = false;
|
||||
if (res.code === 0) {
|
||||
this.knowledgeBaseList = res.data.list
|
||||
}
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getCustomerURL, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1,
|
||||
}
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
// this.dataListLoading = false;
|
||||
if (res.code === 0) {
|
||||
this.customerList = res.data.list
|
||||
}
|
||||
})
|
||||
},
|
||||
handleCheckChange(data, v) {
|
||||
this.checkArr = v.checkedKeys.map((item) => {
|
||||
return {
|
||||
customerQualityProjectListId: this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId,
|
||||
customerQualityRequirementListId:item
|
||||
}
|
||||
})
|
||||
console.log(this.checkArr)
|
||||
},
|
||||
// handleNodeClick(data) {
|
||||
// console.log(data)
|
||||
// },
|
||||
projectListRequirementListDataFormSubmit() {
|
||||
if (this.defaultData.length !== 0) {
|
||||
|
||||
let customerQualityProjectListId = this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId
|
||||
let list= this.checkArr
|
||||
this.$http.put('/customerquality/qmsCustomerQualityProjectListRequirementList/updatelist?id='+customerQualityProjectListId,list )
|
||||
.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.title = 'second'
|
||||
// this.tabDisable = false
|
||||
// this.customerQualityProjectListId = res.data
|
||||
},
|
||||
})
|
||||
})
|
||||
} else {
|
||||
this.$http.post(this.urlOptions.projectListRequirementListSubmitURL, this.checkArr)
|
||||
.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.title = 'second'
|
||||
// this.tabDisable = false
|
||||
// this.customerQualityProjectListId = res.data
|
||||
},
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
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.tabDisable = false
|
||||
this.customerQualityProjectListId = res.data
|
||||
},
|
||||
});
|
||||
})
|
||||
.catch(() => { });
|
||||
});
|
||||
},
|
||||
// 表单提交
|
||||
dataFormSubmitHandle: debounce(
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-14 10:06:36
|
||||
* @LastEditTime: 2023-07-18 16:54:14
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -9,10 +9,11 @@
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="code" :label="$t('customerquality.code')">
|
||||
<el-input v-model="dataForm.code" :placeholder="$t('customerquality.code')"></el-input>
|
||||
<el-input clearable v-model="dataForm.code" :placeholder="$t('customerquality.code')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="requirementListName" :label="$t('customerquality.requirementListName')">
|
||||
<el-input v-model="dataForm.requirementListName" :placeholder="$t('customerquality.requirementListName')">
|
||||
<el-input clearable v-model="dataForm.requirementListName"
|
||||
:placeholder="$t('customerquality.requirementListName')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="uploadFiles" :label="$t('customerquality.uploadFiles')">
|
||||
@ -40,7 +41,7 @@
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
<el-form-item prop="category" :label="$t('customerquality.category')">
|
||||
<el-select v-model="dataForm.category" :placeholder="$t('customerquality.category')">
|
||||
<el-select clearable v-model="dataForm.category" :placeholder="$t('customerquality.category')">
|
||||
<el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
189
src/views/modules/customerquality/components/innerTable.vue
Normal file
@ -0,0 +1,189 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-04-18 09:19:02
|
||||
* @LastEditTime: 2023-07-18 09:52:45
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<div>
|
||||
<el-popover placement="right" width="400" trigger="click">
|
||||
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
|
||||
<!-- <el-badge :value="5" class="item">
|
||||
<el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
|
||||
</el-badge> -->
|
||||
</SearchBar>
|
||||
<base-table id="palletTable" :table-props="tableProps" ref="palletTable1" :table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
||||
@clickBtn="handleClick" />
|
||||
</base-table>
|
||||
<i slot="reference" class="el-icon-plus" @click="showInnerTable(injectData.id)" />
|
||||
</el-popover>
|
||||
<baseConfigFile-add ref="baseConfigFileAddList" v-if="baseConfigFileAddShow" @refreshDataList="getDataList">
|
||||
</baseConfigFile-add>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import i18n from "@/i18n"
|
||||
import { timeFormatter } from '@/filters'
|
||||
import baseConfigFileAdd from "./baseConfigFile-add"
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: i18n.t('edit'),
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: i18n.t('delete'),
|
||||
},
|
||||
{
|
||||
type: "configuration",
|
||||
btnName: i18n.t('configuration'),
|
||||
}
|
||||
];
|
||||
const tableProps = [
|
||||
{
|
||||
prop: "title",
|
||||
label: i18n.t('customerquality.title'),
|
||||
},
|
||||
{
|
||||
prop: "accessPath",
|
||||
label: i18n.t('customerquality.accessPath'),
|
||||
}
|
||||
];
|
||||
export default {
|
||||
name: 'InnerTable',
|
||||
props: {
|
||||
injectData: {
|
||||
type: Object,
|
||||
default: () => ({})
|
||||
},
|
||||
itemProp: {
|
||||
type: String
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
tableProps,
|
||||
list: this.injectData,
|
||||
urlOptions: {
|
||||
getDataListURL: '/customerquality/knowledgeBaseRequirementListData/page',
|
||||
deleteURL: '/customerquality/knowledgeBaseRequirementListData/page'
|
||||
},
|
||||
tableBtn,
|
||||
baseConfigFileAddShow:false,
|
||||
tableData: [],
|
||||
listQuery: {
|
||||
limit: 10,
|
||||
page:1,
|
||||
},
|
||||
formConfig: [
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('search'),
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('add'),
|
||||
name: "add",
|
||||
color: "success",
|
||||
plain: true
|
||||
},
|
||||
],
|
||||
}
|
||||
},
|
||||
components: {
|
||||
baseConfigFileAdd,
|
||||
},
|
||||
methods: {
|
||||
buttonClick(val) {
|
||||
console.log(val)
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
this.listQuery.page = 1;
|
||||
this.getDataList()
|
||||
break;
|
||||
// case "export":
|
||||
// // this.listQuery.paramCode = val.paramCode;
|
||||
// this.exportHandle()
|
||||
// break;
|
||||
case "add":
|
||||
// this.addOrEditTitle = '新增'
|
||||
// this.addOrUpdateVisible = true;
|
||||
this.baseConfigFileAddShow = true
|
||||
this.$nextTick(() => {
|
||||
const obj = {
|
||||
knowledgeBaseRequirementListId :this.injectData.id
|
||||
}
|
||||
this.$refs.baseConfigFileAddList.init(obj)
|
||||
})
|
||||
// this.addOrUpdateHandle()
|
||||
break;
|
||||
default:
|
||||
}
|
||||
},
|
||||
handleClick(val) {
|
||||
if (val.type === "delete") {
|
||||
this.$confirm(`确定对[标题为${val.data.title}]进行删除操作?`, "提示", {
|
||||
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.baseConfigFileAddShow = true
|
||||
this.$nextTick(() => {
|
||||
const obj = {
|
||||
knowledgeBaseRequirementListId: this.injectData.id,
|
||||
id:val.data.id
|
||||
}
|
||||
this.$refs.baseConfigFileAddList.init(obj)
|
||||
})
|
||||
}
|
||||
},
|
||||
showInnerTable() {
|
||||
this.listQuery.knowledgeBaseRequirementListId = this.injectData.id
|
||||
this.getDataList()
|
||||
},
|
||||
getDataList() {
|
||||
this.dataListLoading = true;
|
||||
this.$http
|
||||
.get(this.urlOptions.getDataListURL, {
|
||||
params: this.listQuery,
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.tableData = [];
|
||||
this.listQuery.total = 0;
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.tableData = res.data.list;
|
||||
this.listQuery.total = res.data.total;
|
||||
})
|
||||
.catch(() => {
|
||||
this.dataListLoading = false;
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-14 10:28:15
|
||||
* @LastEditTime: 2023-07-18 16:54:28
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -9,10 +9,12 @@
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="title" :label="$t('customerquality.title')">
|
||||
<el-input :disabled="isDetail" v-model="dataForm.title" :placeholder="$t('customerquality.title')"></el-input>
|
||||
<el-input clearable :disabled="isDetail" v-model="dataForm.title" :placeholder="$t('customerquality.title')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="accessPath" :label="$t('customerquality.accessPath')">
|
||||
<el-input :disabled="isDetail" v-model="dataForm.accessPath" :placeholder="$t('customerquality.accessPath')">
|
||||
<el-input clearable :disabled="isDetail" v-model="dataForm.accessPath"
|
||||
:placeholder="$t('customerquality.accessPath')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item prop="knowledgeBaseName" :label="$t('basic.status')">
|
||||
@ -34,7 +36,7 @@
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
<el-form-item prop="knowledgeBaseFileId" :label="$t('customerquality.knowledgeBaseFileId')">
|
||||
<el-select :disabled="isDetail" v-model="dataForm.knowledgeBaseFileId"
|
||||
<el-select clearable :disabled="isDetail" v-model="dataForm.knowledgeBaseFileId"
|
||||
:placeholder="$t('customerquality.knowledgeBaseFileId')">
|
||||
<el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName" :value="item.id">
|
||||
</el-option>
|
||||
@ -45,7 +47,7 @@
|
||||
|
||||
<script>
|
||||
import debounce from "lodash/debounce";
|
||||
import basicAdd from "@/mixins/basic-add";
|
||||
import basicAdd from "@/mixins/basic-add"
|
||||
export default {
|
||||
mixins: [basicAdd],
|
||||
data() {
|
||||
@ -119,7 +121,7 @@ export default {
|
||||
} else {
|
||||
// this.getCode()
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
// getCode() {
|
||||
// this.$http
|
||||
@ -143,7 +145,7 @@ export default {
|
||||
}
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
// this.dataListLoading = false;
|
||||
if (res.code === 0) {
|
||||
this.categoryList = res.data.list
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-14 10:06:39
|
||||
* @LastEditTime: 2023-07-19 15:28:46
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -9,33 +9,15 @@
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="code" :label="$t('customerquality.code')">
|
||||
<el-input v-model="dataForm.code" :placeholder="$t('customerquality.code')"></el-input>
|
||||
<el-input clearable v-model="dataForm.code" :placeholder="$t('customerquality.code')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="knowledgeBaseName" :label="$t('customerquality.knowledgeBaseName')">
|
||||
<el-input v-model="dataForm.knowledgeBaseName" :placeholder="$t('customerquality.knowledgeBaseName')"></el-input>
|
||||
<el-input clearable v-model="dataForm.knowledgeBaseName" :placeholder="$t('customerquality.knowledgeBaseName')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item prop="knowledgeBaseName" :label="$t('basic.status')">
|
||||
<el-select v-model="dataForm.currentStage" :placeholder="$t('basic.status')">
|
||||
<el-option v-for="item in currentStageList" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="serialNumber" :label="$t('customerquality.serialNumber')">
|
||||
<el-input v-model="dataForm.serialNumber" :placeholder="$t('customerquality.serialNumber')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="description" :label="$t('customerquality.description')">
|
||||
<el-input v-model="dataForm.description" :placeholder="$t('customerquality.description')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="questionType" :label="$t('customerquality.questionType')">
|
||||
<el-select v-model="dataForm.questionType" :placeholder="$t('customerquality.questionType')">
|
||||
<el-option v-for="item in questionTypeList" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
<el-form-item prop="category" :label="$t('customerquality.category')">
|
||||
<el-select v-model="dataForm.category" :placeholder="$t('customerquality.category')">
|
||||
<el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName"
|
||||
:value="item.id">
|
||||
<el-select clearable v-model="dataForm.category" :placeholder="$t('customerquality.category')">
|
||||
<el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -112,7 +94,7 @@ export default {
|
||||
.get(`/customerquality/qmsKnowledgeBase/${this.dataForm.id}`)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
return this.$message.error(res.msg)
|
||||
}
|
||||
this.dataForm = {
|
||||
...this.dataForm,
|
||||
@ -131,7 +113,7 @@ export default {
|
||||
}
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
// this.dataListLoading = false;
|
||||
if (res.code === 0) {
|
||||
this.categoryList = res.data.list
|
||||
}
|
||||
|
@ -1,336 +0,0 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-13 14:49:30
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="registrationDate" :label="$t('researchquality.registrationDate')">
|
||||
<el-date-picker v-model="dataForm.registrationDate" type="datetime"
|
||||
:placeholder="$t('researchquality.registrationDate')">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item prop="changeSource" :label="$t('researchquality.changeSource')">
|
||||
<el-select v-model="dataForm.changeSource" :placeholder="$t('researchquality.changeSource')">
|
||||
<el-option v-for="item in changeSourceList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="sourceRemark" :label="$t('researchquality.sourceRemark')">
|
||||
<el-input v-model="dataForm.sourceRemark" :placeholder="$t('researchquality.sourceRemark')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="owner" :label="$t('researchquality.owner')">
|
||||
<el-select v-model="dataForm.owner" :placeholder="$t('researchquality.owner')">
|
||||
<el-option v-for="item in userList" :key="item.id" :label="item.realName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="title" :label="$t('researchquality.title')">
|
||||
<el-input v-model="dataForm.title" :placeholder="$t('researchquality.title')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="processId" :label="$t('researchquality.processName')">
|
||||
<el-select v-model="dataForm.processId" :placeholder="$t('researchquality.processName')">
|
||||
<el-option v-for="item in processList" :key="item.id" :label="item.processName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="productId" :label="$t('researchquality.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('researchquality.productName')">
|
||||
<el-option v-for="item in productList" :key="item.id" :label="item.productName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="processId" :label="$t('researchquality.productTypeName')">
|
||||
<el-select v-model="dataForm.processId" :placeholder="$t('researchquality.productTypeName')">
|
||||
<el-option v-for="item in productTypeList" :key="item.id" :label="item.productTypeName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="temporaryChange" :label="$t('researchquality.temporaryChange')">
|
||||
<el-switch v-model="dataForm.temporaryChange" :active-value="1" :inactive-value="0"></el-switch>
|
||||
</el-form-item>
|
||||
<!-- <el-row :gutter="20">
|
||||
<el-col :span="12"> {{ this.$t('researchquality.planPhase') }} </el-col>
|
||||
<el-col :span="12"> {{ this.$t('researchquality.planTime') }} </el-col>
|
||||
</el-row> -->
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="stageOneName" :label="$t('researchquality.stageOneName')">
|
||||
<el-input v-model="dataForm.stageOneName" :placeholder="$t('researchquality.stageOneName')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="stageOneDate" :label="$t('researchquality.stageOneDate')">
|
||||
<el-date-picker v-model="dataForm.stageOneDate" type="datetime"
|
||||
:placeholder="$t('researchquality.stageOneDate')">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="stageTwoName" :label="$t('researchquality.stageTwoName')">
|
||||
<el-input v-model="dataForm.stageTwoName" :placeholder="$t('researchquality.stageTwoName')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="stageTwoDate" :label="$t('researchquality.stageTwoDate')">
|
||||
<el-date-picker v-model="dataForm.stageTwoDate" type="datetime"
|
||||
:placeholder="$t('researchquality.stageTwoDate')">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="stageThreeName" :label="$t('researchquality.stageThreeName')">
|
||||
<el-input v-model="dataForm.stageThreeName" :placeholder="$t('researchquality.stageThreeName')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="stageThreeDate" :label="$t('researchquality.stageThreeDate')">
|
||||
<el-date-picker v-model="dataForm.stageThreeDate" type="datetime"
|
||||
:placeholder="$t('researchquality.stageThreeDate')">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="stageFourName" :label="$t('researchquality.stageFourName')">
|
||||
<el-input v-model="dataForm.stageFourName" :placeholder="$t('researchquality.stageFourName')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="stageFourDate" :label="$t('researchquality.stageFourDate')">
|
||||
<el-date-picker v-model="dataForm.stageFourDate" type="datetime"
|
||||
:placeholder="$t('researchquality.stageFourDate')">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<!-- <el-form-item prop="productTypeStatus" :label="$t('basic.status')">
|
||||
<el-select v-model="dataForm.productTypeStatus" :placeholder="$t('basic.status')">
|
||||
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
</el-form>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import debounce from "lodash/debounce";
|
||||
import basicAdd from "@/mixins/basic-add";
|
||||
export default {
|
||||
mixins: [basicAdd],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
submitURL: "/supplier/qmsSupplier",
|
||||
infoURL: "/supplier/qmsSupplier/{id}",
|
||||
getUserURL: '/sys/user/page',
|
||||
getProcessURL: '/basic/qmsProcess/page',
|
||||
getProductURL: '/basic/qmsProduct/page',
|
||||
getProductTypeURL: '/basic/qmsProductType/page',
|
||||
getSupplierTypeListURL: '/supplier/qmsSupplierType/page'
|
||||
},
|
||||
userList: [],
|
||||
processList: [],
|
||||
productTypeList: [],
|
||||
productList: [],
|
||||
changeSourceList: [
|
||||
{
|
||||
id: 0,
|
||||
name: '工程变更'
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
name: '设计变更'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: 'CCB'
|
||||
}
|
||||
],
|
||||
visible: false,
|
||||
listQuery: {
|
||||
limit: 999,
|
||||
page:1
|
||||
},
|
||||
dataForm: {
|
||||
id: "",
|
||||
changeSource:null,
|
||||
currentStage: null,
|
||||
owner: null,
|
||||
productId: null,
|
||||
productName: null,
|
||||
qualityChangeStatus: null,
|
||||
registrationDate: null,
|
||||
sourceRemark: null,
|
||||
stageFourDate: null,
|
||||
stageFourName: null,
|
||||
stageOneDate: null,
|
||||
stageOneName: null,
|
||||
stageThreeDate: null,
|
||||
stageThreeName: null,
|
||||
stageTwoDate: null,
|
||||
stageTwoName: null,
|
||||
temporaryChange: null,
|
||||
title: null,
|
||||
},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
dataRule() {
|
||||
return {
|
||||
code: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
name: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
ment: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
supplierStatus: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
init(id, ) {
|
||||
this.dataForm.id = id || ""
|
||||
// this.dataForm.dictTypeId = dictTypeId || "";
|
||||
this.visible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs["dataForm"].resetFields();
|
||||
if (this.dataForm.id) {
|
||||
this.getInfo();
|
||||
} else {
|
||||
this.getCode()
|
||||
}
|
||||
});
|
||||
},
|
||||
getCode() {
|
||||
this.$http
|
||||
.get(this.urlOptions.getUserURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.userList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getProcessURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.processList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getProductURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.productList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getProductTypeURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.productTypeList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
},
|
||||
// 获取信息
|
||||
getInfo() {
|
||||
this.$http
|
||||
.get(`/supplier/qmsSupplier/${this.dataForm.id}`)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.dataForm = {
|
||||
...this.dataForm,
|
||||
...res.data,
|
||||
};
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
// 表单提交
|
||||
dataFormSubmitHandle: debounce(
|
||||
function () {
|
||||
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: () => {
|
||||
console.log(1111);
|
||||
this.visible = false;
|
||||
this.$emit("successSubmit");
|
||||
},
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
});
|
||||
},
|
||||
1000,
|
||||
{ leading: true, trailing: false }
|
||||
),
|
||||
},
|
||||
};
|
||||
</script>
|
@ -0,0 +1,241 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-07-14 13:44:46
|
||||
* @LastEditTime: 2023-07-19 16:58:46
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog close-on-press-escape :title="$t('configuration')" :append-to-body="true" :visible.sync="innerDrawer">
|
||||
<el-divider content-position="center">项目清单详情</el-divider>
|
||||
<el-table style="width: 100%" :data="getValues" :show-header="false">
|
||||
<el-table-column v-for="(item, index) in getHeaders" :key="index" :prop="item">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-divider content-position="center">修订记录</el-divider>
|
||||
<el-table style="width: 100%" :data="getReviseValues" :show-header="false">
|
||||
<el-table-column v-for="(item, index) in getReviseHeaders" :key="index" :prop="item">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-divider content-position="center">更改记录</el-divider>
|
||||
<el-table style="width: 100%" :data="getChangeValues" :show-header="false">
|
||||
<el-table-column v-for="(item, index) in getChangeHeaders" :key="index" :prop="item">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import i18n from "@/i18n"
|
||||
// import basicAdd from "@/mixins/basic-add"
|
||||
// import debounce from "lodash/debounce"
|
||||
|
||||
export default {
|
||||
// mixins: [basicAdd],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
getReviseDataListURL: '/customerquality/qmsCustomerQualityProjectListRevisionRecord/page',
|
||||
getChangeDataListURL: '/customerquality/qmsCustomerQualityProjectListChangeRecord/page',
|
||||
submitURL: "/customerquality/knowledgeBaseRequirementListData",
|
||||
getDictDataDetail: '/mutual/qmsDataDictionaryDetail/page'
|
||||
},
|
||||
headers: [
|
||||
{
|
||||
prop: 'productCode',
|
||||
label: '产品编码',
|
||||
},
|
||||
{
|
||||
prop: 'productName',
|
||||
label: '产品名称',
|
||||
},
|
||||
{
|
||||
prop: 'customerCode',
|
||||
label: '客户编码',
|
||||
},
|
||||
{
|
||||
prop: 'customerName',
|
||||
label: '客户名称',
|
||||
},
|
||||
{
|
||||
prop: 'author',
|
||||
label: '作者',
|
||||
},
|
||||
{
|
||||
prop: 'releaser',
|
||||
label: '发布人',
|
||||
}
|
||||
],
|
||||
reviseHeaders: [
|
||||
{
|
||||
prop: 'item',
|
||||
label: 'Item/Section',
|
||||
},
|
||||
{
|
||||
prop: 'revision',
|
||||
label: 'revision',
|
||||
},
|
||||
{
|
||||
prop: 'essential',
|
||||
label: 'Essential Changes',
|
||||
},
|
||||
{
|
||||
prop: 'date',
|
||||
label: 'date',
|
||||
},
|
||||
],
|
||||
reviseTableData: [],
|
||||
changeHeaders: [
|
||||
{
|
||||
prop: 'name',
|
||||
label: 'name',
|
||||
},
|
||||
{
|
||||
prop: 'changeHistory',
|
||||
label: 'Change History of this PPAP record',
|
||||
},
|
||||
{
|
||||
prop: 'date',
|
||||
label: 'date',
|
||||
},
|
||||
],
|
||||
changeTableData: [],
|
||||
tableData: [],
|
||||
innerDrawer: false,
|
||||
listQuery: {
|
||||
limit: 3,
|
||||
page: 1,
|
||||
customerQualityProjectListId:null
|
||||
},
|
||||
categoryList:[],
|
||||
requirementList: [],
|
||||
knowledgeBaseList:[],
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
getHeaders() {
|
||||
return this.tableData.reduce((pre, cur, index) => pre.concat(`value${index}`), ['title'])
|
||||
},
|
||||
getValues() {
|
||||
return this.headers.map(item => {
|
||||
return this.tableData.reduce((pre, cur, index) => Object.assign(pre, { ['value' + index]: cur[item.prop] }), { 'title': item.label, });
|
||||
});
|
||||
},
|
||||
getReviseHeaders() {
|
||||
return this.reviseTableData.reduce((pre, cur, index) => pre.concat(`value${index}`), ['title'])
|
||||
},
|
||||
getReviseValues() {
|
||||
return this.reviseHeaders.map(item => {
|
||||
return this.reviseTableData.reduce((pre, cur, index) => Object.assign(pre, { ['value' + index]: cur[item.prop] }), { 'title': item.label, });
|
||||
});
|
||||
},
|
||||
getChangeHeaders() {
|
||||
return this.changeTableData.reduce((pre, cur, index) => pre.concat(`value${index}`), ['title'])
|
||||
},
|
||||
getChangeValues() {
|
||||
return this.changeHeaders.map(item => {
|
||||
return this.changeTableData.reduce((pre, cur, index) => Object.assign(pre, { ['value' + index]: cur[item.prop] }), { 'title': item.label, });
|
||||
});
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
// this.getDict()
|
||||
// this.getAccessPath()
|
||||
},
|
||||
methods: {
|
||||
init(obj) {
|
||||
// this.dataForm.knowledgeBaseRequirementListId = obj.knowledgeBaseRequirementListId || ''
|
||||
// this.dataForm.knowledgeBaseRequirementListId = obj.knowledgeBaseRequirementListId || ''
|
||||
this.id = obj.id || ''
|
||||
this.listQuery.customerQualityProjectListId = obj.id
|
||||
this.tableData.push(obj)
|
||||
this.innerDrawer = true
|
||||
this.$nextTick(() => {
|
||||
// this.$refs["dataForm"].resetFields()
|
||||
// if (this.dataForm.id) {
|
||||
this.getInfo()
|
||||
// } else {
|
||||
// this.getCode()
|
||||
// }
|
||||
})
|
||||
},
|
||||
getInfo() {
|
||||
this.$http
|
||||
.get(this.urlOptions.getReviseDataListURL, {
|
||||
params: this.listQuery,
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
// this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.tableData = [];
|
||||
// this.listQuery.total = 0;
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.reviseTableData = res.data.list;
|
||||
this.listQuery.total = res.data.total;
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getChangeDataListURL, {
|
||||
params: this.listQuery,
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
// this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.tableData = [];
|
||||
// this.listQuery.total = 0;
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.changeTableData = res.data.list;
|
||||
this.listQuery.total = res.data.total;
|
||||
})
|
||||
},
|
||||
// getDict() {
|
||||
// this.$http
|
||||
// .get(this.urlOptions.getDictDataDetail, {
|
||||
// params: {
|
||||
// limit: 999,
|
||||
// page: 1,
|
||||
// dataDictionaryId: '1679670942635122690',
|
||||
// }
|
||||
// })
|
||||
// .then(({ data: res }) => {
|
||||
// // this.dataListLoading = false;
|
||||
// if (res.code === 0) {
|
||||
// this.categoryList = res.data.list
|
||||
// }
|
||||
// })
|
||||
// },
|
||||
|
||||
// 表单提交
|
||||
// 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.innerDrawer = false;
|
||||
// this.$emit("refreshDataList");
|
||||
// },
|
||||
// });
|
||||
// })
|
||||
// .catch(() => { });
|
||||
// });
|
||||
// },
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
@ -1,24 +1,25 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-13 11:01:20
|
||||
* @LastEditTime: 2023-07-18 16:55:16
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-form :model="dataForm" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" label-width="120px">
|
||||
<el-form-item prop="title" :label="$t('researchquality.title')">
|
||||
<el-input v-model="dataForm.title" :placeholder="$t('researchquality.title')">
|
||||
<el-input clearable v-model="dataForm.title" :placeholder="$t('researchquality.title')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="requirementListGroupId" :label="$t('researchquality.requirementListGroupId')">
|
||||
<el-select v-model="dataForm.requirementListGroupId" :placeholder="$t('researchquality.requirementListGroupId')">
|
||||
<el-select clearable v-model="dataForm.requirementListGroupId"
|
||||
:placeholder="$t('researchquality.requirementListGroupId')">
|
||||
<el-option v-for="item in projectTypeList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="description" :label="$t('researchquality.description')">
|
||||
<el-input v-model="dataForm.description" :placeholder="$t('researchquality.description')">
|
||||
<el-input clearable v-model="dataForm.description" :placeholder="$t('researchquality.description')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
152
src/views/modules/customerquality/components/revise-add.vue
Normal file
@ -0,0 +1,152 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-07-14 13:44:46
|
||||
* @LastEditTime: 2023-07-19 14:38:48
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<div>
|
||||
<el-drawer close-on-press-escape :title="!dataForm.id ? $t('add') : $t('edit')" size="40%" :append-to-body="true"
|
||||
:closed="handleClose" :visible.sync="innerDrawer">
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="140px">
|
||||
<el-form-item prop="essential" label="Essential Changes">
|
||||
<el-input clearable v-model="dataForm.essential" placeholder="Essential Changes">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="item" label=" Item / Section">
|
||||
<el-input clearable v-model="dataForm.item" placeholder="Item/Section">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="revision" label="revision">
|
||||
<el-input clearable v-model="dataForm.revision" placeholder="Revision">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="date" label="date">
|
||||
<el-date-picker v-model="dataForm.date" type="datetime" format='yyyy-MM-dd HH:mm:ss'
|
||||
valueFormat='yyyy-MM-ddTHH:mm:ss' placeholder="date">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="innerDrawer = false">{{ $t('cancel') }} </el-button>
|
||||
<el-button type="primary" @click="dataFormSubmit"> {{ $t('confirm') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import i18n from "@/i18n"
|
||||
import basicAdd from "@/mixins/basic-add"
|
||||
import debounce from "lodash/debounce"
|
||||
export default {
|
||||
mixins: [basicAdd],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
submitURL: "/customerquality/qmsCustomerQualityProjectListRevisionRecord",
|
||||
},
|
||||
dataForm: {
|
||||
date:null,
|
||||
essential: null,
|
||||
id: null,
|
||||
item: null,
|
||||
revision: null,
|
||||
customerQualityProjectListId:null,
|
||||
},
|
||||
innerDrawer: false,
|
||||
listQuery: {
|
||||
limit: 10,
|
||||
page:1,
|
||||
},
|
||||
requirementList: [],
|
||||
knowledgeBaseList:[],
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
dataRule() {
|
||||
return {
|
||||
knowledgeBaseId: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
requirementListId: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
]
|
||||
};
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
init(obj) {
|
||||
// this.dataForm.knowledgeBaseId = obj.knowledgeBaseId || ''
|
||||
// this.dataForm.requirementListId = obj.requirementListId || ''
|
||||
this.dataForm.id = obj.id? obj.id :null
|
||||
this.dataForm.customerQualityProjectListId = obj.customerQualityProjectListId ? obj.customerQualityProjectListId :null
|
||||
this.innerDrawer = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs["dataForm"].resetFields()
|
||||
if (this.dataForm.id) {
|
||||
this.getInfo()
|
||||
} else {
|
||||
// this.getCode()
|
||||
}
|
||||
})
|
||||
},
|
||||
handleClose() {
|
||||
this.innerDrawer = true
|
||||
this.$refs.dataForm.resetFields()
|
||||
},
|
||||
getInfo() {
|
||||
this.$http
|
||||
.get(`/customerquality/qmsCustomerQualityProjectListRevisionRecord/${this.dataForm.id}`)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.dataForm = {
|
||||
...this.dataForm,
|
||||
...res.data,
|
||||
};
|
||||
})
|
||||
.catch(() => { });
|
||||
},
|
||||
// 表单提交
|
||||
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.innerDrawer = false;
|
||||
this.$emit("refreshDataList");
|
||||
},
|
||||
});
|
||||
})
|
||||
.catch(() => { });
|
||||
});
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-06-08 14:29:46
|
||||
* @LastEditTime: 2023-07-14 14:28:20
|
||||
* @LastEditTime: 2023-07-19 16:58:37
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -13,21 +13,76 @@
|
||||
<el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
|
||||
</el-badge> -->
|
||||
</SearchBar>
|
||||
<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"
|
||||
@clickBtn="handleClick" />
|
||||
</base-table>
|
||||
<el-table :data="tableData" style="width: 100%">
|
||||
<el-table-column type="expand">
|
||||
<template slot-scope="props">
|
||||
<el-form label-position="left" inline class="demo-table-expand">
|
||||
<el-form-item :label="$t('customerquality.previousVersionCode')">
|
||||
<span>{{ props.row.previousVersionCode }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('customerquality.ppapGrade')">
|
||||
<span>{{ props.row.ppapGradeName }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('customerquality.description')">
|
||||
<span>{{ props.row.description }}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="nda">
|
||||
<span>{{ props.row.nda ===0? '错号' : '对号'}}</span>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('customerquality.amendment')">
|
||||
<span>{{ props.row.amendment }}</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('customerquality.productName')" prop="productName">
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('customerquality.customerName')" prop="customerName">
|
||||
</el-table-column>
|
||||
<el-table-column :formatter="timeFormatter" :label="$t('customerquality.qualityAcceptanceDate')"
|
||||
prop="qualityAcceptanceDate">
|
||||
</el-table-column>
|
||||
<el-table-column :formatter="timeFormatter" :label="$t('customerquality.confirmDeliveryDate')"
|
||||
prop="confirmDeliveryDate">
|
||||
</el-table-column>
|
||||
<el-table-column :formatter="timeFormatter" :label="$t('customerquality.deliveryRequiredDate')"
|
||||
prop="deliveryRequiredDate">
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('customerquality.status')" prop="status">
|
||||
<template slot-scope="slot">
|
||||
<!-- <el-button type="text" @click="start(slot.row)">启动</el-button> -->
|
||||
<el-tag v-if="slot.row.status == 0" type="success"> 待审核</el-tag>
|
||||
<el-tag v-if="slot.row.status == 1" type="success"> 已完成</el-tag>
|
||||
<el-tag v-if="slot.row.status == 2" type="success"> 交付退回</el-tag>
|
||||
<el-tag v-if="slot.row.status == 3" type="success"> 审核拒绝</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="160" prop="desc">
|
||||
<template slot-scope="slot">
|
||||
<!-- <el-button type="text" @click="start(slot.row)">启动</el-button> -->
|
||||
<el-button type="text" @click="handleEdit(slot.row)">
|
||||
<i class="el-icon-edit"></i>
|
||||
</el-button>
|
||||
<el-button type="text" @click="handleDelete(slot.row)" style="color: red">
|
||||
<i class="el-icon-delete"></i>
|
||||
</el-button>
|
||||
<el-button type="text" @click="handleShow(slot.row)">
|
||||
{{ $t('configuration')}}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
@confirm="handleConfirm" :before-close="handleCancel">
|
||||
<qmsKnowledgeBase-add ref="addOrUpdate" @refreshDataList="successSubmit">
|
||||
</qmsKnowledgeBase-add>
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
</base-dialog>
|
||||
<baseConfig ref="baseConfigOrList" v-if="baseConfigShow"></baseConfig>
|
||||
<customerQualityProjectList-add v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList">
|
||||
</customerQualityProjectList-add>
|
||||
<qualityProjectList-show v-if="qualityProjectListShow" ref="qualityProjectListShow"
|
||||
@refreshDataList="getDataList">
|
||||
</qualityProjectList-show>
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
<!-- </base-dialog> -->
|
||||
<!-- <baseConfig ref="baseConfigOrList" v-if="baseConfigShow"></baseConfig> -->
|
||||
<!-- <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<projectType-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit">
|
||||
@ -51,42 +106,16 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import basicPage from "@/mixins/basic-page"
|
||||
// import basicPage from "@/mixins/basic-page"
|
||||
// import basicSearch from "@/mixins/basic-search"
|
||||
// import projectTypeSearch from "./components/projectTypeSearch.vue"
|
||||
import customerquality from '@/filters/customerquality'
|
||||
import qmsKnowledgeBaseAdd from "./components/qmsKnowledgeBase-add.vue"
|
||||
import baseConfig from "./components/baseConfig"
|
||||
|
||||
|
||||
// import customerquality from '@/filters/customerquality'
|
||||
import customerQualityProjectListAdd from "./components/customerQualityProjectList-add.vue"
|
||||
// import baseConfig from "./components/baseConfig"
|
||||
import qualityProjectListShow from "./components/qualityProjectList-show.vue"
|
||||
import { timeFormatter } from '@/filters'
|
||||
import i18n from "@/i18n"
|
||||
// import i18n from "@/i18n";
|
||||
const tableProps = [
|
||||
{
|
||||
prop: "productName",
|
||||
label: i18n.t('customerquality.productName'),
|
||||
},
|
||||
{
|
||||
prop: "customerName",
|
||||
label: i18n.t('customerquality.customerName'),
|
||||
},
|
||||
{
|
||||
prop: "qualityAcceptanceDate",
|
||||
label: i18n.t('customerquality.qualityAcceptanceDate'),
|
||||
},
|
||||
{
|
||||
prop: "confirmDeliveryDate",
|
||||
label: i18n.t('customerquality.confirmDeliveryDate'),
|
||||
},
|
||||
{
|
||||
prop: "deliveryRequiredDate",
|
||||
label: i18n.t('customerquality.deliveryRequiredDate'),
|
||||
},
|
||||
{
|
||||
prop: "status",
|
||||
label: i18n.t('customerquality.status'),
|
||||
}
|
||||
];
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
@ -96,13 +125,13 @@ const tableBtn = [
|
||||
type: "delete",
|
||||
btnName: i18n.t('delete'),
|
||||
},
|
||||
{
|
||||
type: "configuration",
|
||||
btnName: i18n.t('configuration'),
|
||||
}
|
||||
// {
|
||||
// type: "configuration",
|
||||
// btnName: i18n.t('configuration'),
|
||||
// }
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage],
|
||||
// mixins: [basicPage],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
@ -110,13 +139,14 @@ export default {
|
||||
deleteURL: "/customerquality/qmsCustomerQualityProjectList",
|
||||
exportURL: '/customerquality/qmsCustomerQualityProjectList/export'
|
||||
},
|
||||
tableProps,
|
||||
tableBtn,
|
||||
tableData:[],
|
||||
productData: {},
|
||||
dataForm:{
|
||||
listQuery:{
|
||||
limit: 999,
|
||||
page:1
|
||||
page: 1,
|
||||
total:0
|
||||
},
|
||||
timeFormatter,
|
||||
baseConfigShow:false,
|
||||
searchOrEditTitle: "",
|
||||
searchOrUpdateVisible: false,
|
||||
@ -124,57 +154,8 @@ export default {
|
||||
addOrEditTitle: '',
|
||||
addOrUpdateVisible: false,
|
||||
productOrUpdateVisible: false,
|
||||
qualityProjectListShow:false,
|
||||
formConfig: [
|
||||
// {
|
||||
// type: 'input',
|
||||
// label: i18n.t('customerquality.customerName'),
|
||||
// placeholder: i18n.t('customerquality.customerName'),
|
||||
// param: 'customerName'
|
||||
// },
|
||||
// {
|
||||
// type: 'select',
|
||||
// label: i18n.t('customerquality.questionType'),
|
||||
// placeholder: i18n.t('customerquality.questionType'),
|
||||
// selectOptions: [
|
||||
// {
|
||||
// id: 0,
|
||||
// name: '产品质量题'
|
||||
// },
|
||||
// {
|
||||
// id: 1,
|
||||
// name: '售后服务题'
|
||||
// },
|
||||
// {
|
||||
// id: 2,
|
||||
// name: '物流配送问题'
|
||||
// },
|
||||
// {
|
||||
// id: 3,
|
||||
// name: '单关问题'
|
||||
// },
|
||||
// {
|
||||
// id: 4,
|
||||
// name: '4系统故问题'
|
||||
// }
|
||||
// ],
|
||||
// param: 'questionType'
|
||||
// },
|
||||
// {
|
||||
// type: 'select',
|
||||
// label: i18n.t('basic.status'),
|
||||
// placeholder: i18n.t('basic.status'),
|
||||
// selectOptions: [
|
||||
// {
|
||||
// id: 0,
|
||||
// name: '不可用'
|
||||
// },
|
||||
// {
|
||||
// id: 1,
|
||||
// name: '可用'
|
||||
// }
|
||||
// ],
|
||||
// param: 'status'
|
||||
// },
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('search'),
|
||||
@ -193,11 +174,35 @@ export default {
|
||||
};
|
||||
},
|
||||
components: {
|
||||
qmsKnowledgeBaseAdd,
|
||||
baseConfig
|
||||
customerQualityProjectListAdd,
|
||||
qualityProjectListShow
|
||||
// baseConfig
|
||||
},
|
||||
mounted () {
|
||||
this.getDataList();
|
||||
},
|
||||
methods: {
|
||||
//search-bar点击
|
||||
getDataList() {
|
||||
this.dataListLoading = true;
|
||||
this.$http
|
||||
.get(this.urlOptions.getDataListURL, {
|
||||
params: this.listQuery,
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.tableData = [];
|
||||
this.listQuery.total = 0;
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.tableData = res.data.list;
|
||||
this.listQuery.total = res.data.total;
|
||||
})
|
||||
.catch(() => {
|
||||
this.dataListLoading = false;
|
||||
})
|
||||
},
|
||||
handleProductCancel() {
|
||||
this.productOrUpdateVisible = false;
|
||||
this.productOrEditTitle = "";
|
||||
@ -264,15 +269,14 @@ export default {
|
||||
}
|
||||
}).catch(() => { })
|
||||
},
|
||||
handleClick(val) {
|
||||
if (val.type === "delete") {
|
||||
this.$confirm(`确定对[名称=${val.data.customerTypeName}]进行删除操作?`, "提示", {
|
||||
handleDelete(val) {
|
||||
this.$confirm(`确定对[名称${val.productName}]进行删除操作?`, "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
|
||||
this.$http.delete(this.urlOptions.deleteURL, { data: [val.id] }).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message({
|
||||
message: "操作成功",
|
||||
@ -288,18 +292,19 @@ export default {
|
||||
});
|
||||
})
|
||||
.catch(() => { });
|
||||
} else if (val.type === 'edit') {
|
||||
this.addOrUpdateVisible = true
|
||||
this.addOrEditTitle = this.$t('edit')
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(val.data.id);
|
||||
})
|
||||
} else if (val.type === 'configuration') {
|
||||
this.baseConfigShow = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.baseConfigOrList.init(val.data.id)
|
||||
});
|
||||
}
|
||||
},
|
||||
handleEdit(val) {
|
||||
this.addOrUpdateVisible = true
|
||||
this.addOrEditTitle = this.$t('edit')
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(val.id);
|
||||
})
|
||||
},
|
||||
handleShow(val) {
|
||||
this.qualityProjectListShow = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.qualityProjectListShow.init(val)
|
||||
})
|
||||
},
|
||||
// addOrUpdateHandle(productData) {
|
||||
// this.addOrUpdateVisible = true;
|
||||
@ -320,9 +325,10 @@ export default {
|
||||
this.exportHandle()
|
||||
break;
|
||||
case "add":
|
||||
this.addOrEditTitle = '新增'
|
||||
this.addOrUpdateVisible = true;
|
||||
this.addOrUpdateHandle()
|
||||
this.addOrUpdateVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init()
|
||||
})
|
||||
break;
|
||||
default:
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-06-08 14:29:46
|
||||
* @LastEditTime: 2023-07-14 10:08:05
|
||||
* @LastEditTime: 2023-07-18 14:20:43
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -24,9 +24,11 @@
|
||||
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
@confirm="handleConfirm" :before-close="handleCancel">
|
||||
<customerQualityRequirementList-add ref="addOrUpdate" @refreshDataList="successSubmit">
|
||||
</customerQualityRequirementList-add>
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
</customerQualityRequirementList-add>
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
</base-dialog>
|
||||
<baseConfig ref="baseConfigOrList" v-if="baseConfigShow"></baseConfig>
|
||||
|
||||
<!-- <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<projectType-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit">
|
||||
@ -56,6 +58,7 @@ import basicPage from "@/mixins/basic-page"
|
||||
import customerquality from '@/filters/customerquality'
|
||||
import customerQualityRequirementListAdd from "./components/customerQualityRequirementList-add.vue"
|
||||
import i18n from "@/i18n"
|
||||
import baseConfig from "./components/baseConfig"
|
||||
// import i18n from "@/i18n";
|
||||
const tableProps = [
|
||||
{
|
||||
@ -83,6 +86,10 @@ const tableBtn = [
|
||||
{
|
||||
type: "delete",
|
||||
btnName: i18n.t('delete'),
|
||||
},
|
||||
{
|
||||
type: "configuration",
|
||||
btnName: i18n.t('configuration'),
|
||||
}
|
||||
];
|
||||
export default {
|
||||
@ -95,6 +102,7 @@ export default {
|
||||
exportURL: '/customerquality/qmsCustomerQualityRequirementList/export'
|
||||
},
|
||||
tableProps,
|
||||
baseConfigShow:false,
|
||||
tableBtn,
|
||||
productData: {},
|
||||
dataForm:{
|
||||
@ -166,7 +174,8 @@ export default {
|
||||
};
|
||||
},
|
||||
components: {
|
||||
customerQualityRequirementListAdd
|
||||
customerQualityRequirementListAdd,
|
||||
baseConfig
|
||||
},
|
||||
methods: {
|
||||
//search-bar点击
|
||||
@ -196,12 +205,12 @@ export default {
|
||||
// this.$refs.addOrUpdate.dataFormSubmitHandle();
|
||||
// },
|
||||
// conditionSearchSubmit() {},
|
||||
conditionSearchSubmit(dataForm) {
|
||||
conditionSearchSubmit() {
|
||||
// console.log(key);
|
||||
// console.log(key);
|
||||
this.listQuery.page = 1;
|
||||
this.getDataList();
|
||||
this.searchOrUpdateVisible = false;
|
||||
this.searchOrUpdateVisible = false
|
||||
// console.log(11111);
|
||||
// this.conditionSearchSubmit();
|
||||
},
|
||||
@ -209,10 +218,6 @@ export default {
|
||||
this.$http.get(this.urlOptions.exportURL, { responseType: 'blob' }, {
|
||||
...this.dataForm
|
||||
}).then((res) => {
|
||||
console.log(res)
|
||||
// if (res !== 0) {
|
||||
// return this.$message.error(res.msg)
|
||||
// }
|
||||
let fileName = ''
|
||||
const contentDisposition = res.headers['content-disposition']
|
||||
if (contentDisposition) {
|
||||
@ -266,6 +271,14 @@ export default {
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(val.data.id);
|
||||
});
|
||||
} else if (val.type === 'configuration') {
|
||||
this.baseConfigShow = true
|
||||
const obj = {
|
||||
requirementListId:val.data.id
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.$refs.baseConfigOrList.init(obj)
|
||||
});
|
||||
}
|
||||
},
|
||||
// addOrUpdateHandle(productData) {
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-06-08 14:29:46
|
||||
* @LastEditTime: 2023-07-14 13:58:32
|
||||
* @LastEditTime: 2023-07-18 14:20:57
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -284,8 +284,11 @@ export default {
|
||||
})
|
||||
} else if (val.type === 'configuration') {
|
||||
this.baseConfigShow = true
|
||||
const obj = {
|
||||
knowledgeBaseId: val.data.id
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.$refs.baseConfigOrList.init(val.data.id)
|
||||
this.$refs.baseConfigOrList.init(obj)
|
||||
});
|
||||
}
|
||||
},
|
||||
|
@ -1,281 +0,0 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-04-17 14:23:17
|
||||
* @LastEditTime: 2023-07-13 14:06:42
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__user">
|
||||
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
|
||||
<el-badge :value="5" class="item">
|
||||
<el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
|
||||
</el-badge>
|
||||
</SearchBar>
|
||||
<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"
|
||||
@clickBtn="handleClick" />
|
||||
</base-table>
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
@confirm="handleConfirm" :before-close="handleCancel">
|
||||
<qualityChange-add ref="addOrUpdate" @refreshDataList="successSubmit">
|
||||
</qualityChange-add>
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
</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>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import basicPage from "@/mixins/basic-page"
|
||||
import basicSearch from "@/mixins/basic-search"
|
||||
import qualityChangeSearch from "./components/qualityChangeSearch.vue"
|
||||
import qualityChangeAdd from "./components/qualityChange-add.vue"
|
||||
import i18n from "@/i18n"
|
||||
// import supplier from '@/filters/supplier'
|
||||
const tableProps = [
|
||||
{
|
||||
prop: "code",
|
||||
label: i18n.t('researchquality.code'),
|
||||
},
|
||||
{
|
||||
prop: "registrationDate",
|
||||
label: i18n.t('researchquality.registrationDate'),
|
||||
},
|
||||
{
|
||||
prop: "changeSource",
|
||||
label: i18n.t('researchquality.changeSource'),
|
||||
},
|
||||
{
|
||||
prop: "owner",
|
||||
label: i18n.t('researchquality.owner'),
|
||||
},
|
||||
{
|
||||
prop: "category",
|
||||
label: i18n.t('researchquality.category'),
|
||||
},
|
||||
{
|
||||
prop: "title",
|
||||
label: i18n.t('researchquality.title'),
|
||||
},
|
||||
{
|
||||
prop: "currentStage",
|
||||
label: i18n.t('researchquality.currentStage'),
|
||||
},
|
||||
{
|
||||
prop: "productName",
|
||||
label: i18n.t('researchquality.productName'),
|
||||
},
|
||||
{
|
||||
prop: "qualityChangeStatus",
|
||||
label: i18n.t('researchquality.qualityChangeStatus'),
|
||||
},
|
||||
{
|
||||
prop: "temporaryChange",
|
||||
label: i18n.t('researchquality.temporaryChange'),
|
||||
}
|
||||
];
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: i18n.t('t.edit'),
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: i18n.t('t.delete'),
|
||||
}
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage, basicSearch],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
getDataListURL: "/researchquality/qmsQualityChange/page",
|
||||
deleteURL: "/researchquality/qmsQualityChange",
|
||||
exportURL: '/researchquality/qmsQualityChange',
|
||||
// getSupplierTypeListURL: '/supplier/qmsSupplierType/page'
|
||||
// submitURL: '/supplier/qmsSupplierType'
|
||||
},
|
||||
tableProps,
|
||||
ment: '',
|
||||
tableBtn,
|
||||
productData: {},
|
||||
dataForm:{
|
||||
limit: 999,
|
||||
page:1
|
||||
},
|
||||
searchOrEditTitle: "",
|
||||
searchOrUpdateVisible: false,
|
||||
productOrEditTitle: "",
|
||||
addOrEditTitle: '',
|
||||
addOrUpdateVisible: false,
|
||||
productOrUpdateVisible: false,
|
||||
formConfig: [
|
||||
// {
|
||||
// type: "",
|
||||
// label: i18n.t("params.paramCode"),
|
||||
// placeholder: i18n.t("params.paramCode"),
|
||||
// param: "paramCode",
|
||||
// },
|
||||
// {
|
||||
// type: "separate",
|
||||
// },
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('search'),
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('add'),
|
||||
name: "add",
|
||||
color: "success",
|
||||
plain: true
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('export'),
|
||||
name: "export",
|
||||
color: "primary",
|
||||
plain: true
|
||||
}
|
||||
],
|
||||
};
|
||||
},
|
||||
components: {
|
||||
qualityChangeSearch,
|
||||
// supplierProduct,
|
||||
qualityChangeAdd
|
||||
},
|
||||
// mounted () {
|
||||
// this.getData();
|
||||
// },
|
||||
methods: {
|
||||
//search-bar点击
|
||||
handleProductCancel() {
|
||||
this.productOrUpdateVisible = false;
|
||||
this.productOrEditTitle = "";
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
console.log(val);
|
||||
this.productData = val.newVal ? val.newVal : {}
|
||||
},
|
||||
setCurrent(index) {
|
||||
this.$refs.palletTable1.setCurrent("palletTable", index);
|
||||
},
|
||||
// handleSearchCancel() {
|
||||
// this.searchOrEditTitle = "";
|
||||
// this.searchOrUpdateVisible = false;
|
||||
// },
|
||||
conditionSearch() {
|
||||
this.searchOrEditTitle = "搜索";
|
||||
this.searchOrUpdateVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.searchOrUpdate.init();
|
||||
});
|
||||
},
|
||||
// handleConfirm() {
|
||||
// this.$refs.addOrUpdate.dataFormSubmitHandle();
|
||||
// },
|
||||
// conditionSearchSubmit() {},
|
||||
conditionSearchSubmit(dataForm) {
|
||||
// console.log(key);
|
||||
// console.log(key);
|
||||
this.listQuery.supplierName = dataForm.supplierName
|
||||
this.listQuery.page = 1;
|
||||
this.getDataList();
|
||||
this.searchOrUpdateVisible = false;
|
||||
// console.log(11111);
|
||||
// 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.addOrUpdateVisible = true
|
||||
this.addOrEditTitle = this.$t('edit')
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(val.data.id);
|
||||
});
|
||||
}
|
||||
},
|
||||
// addOrUpdateHandle(productData) {
|
||||
// this.addOrUpdateVisible = true;
|
||||
// this.$nextTick(() => {
|
||||
// this.$refs.addOrUpdate.init(productData);
|
||||
// });
|
||||
// },
|
||||
buttonClick(val) {
|
||||
console.log(val)
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
// this.listQuery.paramCode = val.paramCode;
|
||||
this.listQuery.supplierName = val.supplierName ? val.supplierName : undefined
|
||||
this.listQuery.supplierStatus = val.supplierStatus ? val.supplierStatus : undefined
|
||||
this.listQuery.supplierTypeId = val.supplierTypeId ? val.supplierTypeId : undefined
|
||||
this.listQuery.ment = this.ment ? this.ment : undefined
|
||||
// console.log(i18n);
|
||||
this.listQuery.page = 1;
|
||||
this.getDataList();
|
||||
break;
|
||||
case "export":
|
||||
// this.listQuery.paramCode = val.paramCode;
|
||||
this.exportHandle()
|
||||
break;
|
||||
case "add":
|
||||
this.addOrEditTitle = '新增'
|
||||
this.addOrUpdateVisible = true;
|
||||
this.addOrUpdateHandle()
|
||||
break;
|
||||
default:
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-06-20 15:25:08
|
||||
* @LastEditTime: 2023-07-17 10:23:54
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -10,7 +10,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="factoryId" :label="$t('code.factoryName')">
|
||||
<el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
|
||||
<el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
|
||||
<el-option v-for="item in factoryList" :key="item.id" :label="item.factoryName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -18,26 +18,26 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionTime" :label="$t('code.inspectionTime')">
|
||||
<el-date-picker v-model="dataForm.inspectionTime" type="datetime" :placeholder="$t('code.inspectionTime')"
|
||||
format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
<el-date-picker v-model="dataForm.inspectionTime" type="datetime"
|
||||
:placeholder="$t('code.inspectionTime')" format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="orderNumber" :label="$t('code.orderNumber')">
|
||||
<el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
|
||||
<el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchNo" :label="$t('code.batchNo')">
|
||||
<el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
|
||||
<el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionType" :label="$t('code.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
|
||||
<el-option v-for="item in inspectionTypeList" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -53,7 +53,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="productId" :label="$t('code.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
|
||||
<el-option v-for="item in productList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -61,7 +61,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="supplierId" :label="$t('code.supplierName')">
|
||||
<el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
|
||||
<el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
|
||||
<el-option v-for="item in supplierList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -69,31 +69,34 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchQuantity" :label="$t('code.batchQuantity')">
|
||||
<el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionQuantity" :label="$t('code.inspectionQuantity')">
|
||||
<el-input v-model="dataForm.inspectionQuantity" :placeholder="$t('code.inspectionQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.inspectionQuantity"
|
||||
:placeholder="$t('code.inspectionQuantity')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchSize" :label="$t('code.batchSize')">
|
||||
<el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
|
||||
<el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="samplesQuantity" :label="$t('code.samplesQuantity')">
|
||||
<el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="companyId" :label="$t('code.companyName')">
|
||||
<el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
|
||||
<el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
|
||||
<el-option v-for="item in unitList" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -101,15 +104,15 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="userId" :label="$t('code.username')">
|
||||
<el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
|
||||
<el-option v-for="item in unitList" :key="item.id" :label="item.realName" :value="item.id">
|
||||
<el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
|
||||
<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="8">
|
||||
<el-form-item prop="inspectionStatus" :label="$t('code.inspectionStatus')">
|
||||
<el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
|
||||
<el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
|
||||
<el-option v-for="item in inspectionStatusList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -119,7 +122,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="customSamplingId" :label="$t('code.customSampling')">
|
||||
<el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
|
||||
<el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
|
||||
<el-option v-for="item in samplingPlanList" :key="item.id" :label="item.sampleRange" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-06-20 15:28:55
|
||||
* @LastEditTime: 2023-07-17 10:23:45
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -11,7 +11,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="factoryId" :label="$t('code.factoryName')">
|
||||
<el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
|
||||
<el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
|
||||
<el-option v-for="item in factoryList" :key="item.id" :label="item.factoryName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -19,26 +19,26 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionTime" :label="$t('code.inspectionTime')">
|
||||
<el-date-picker v-model="dataForm.inspectionTime" type="datetime" :placeholder="$t('code.inspectionTime')"
|
||||
format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
<el-date-picker v-model="dataForm.inspectionTime" type="datetime"
|
||||
:placeholder="$t('code.inspectionTime')" format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="orderNumber" :label="$t('code.orderNumber')">
|
||||
<el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
|
||||
<el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchNo" :label="$t('code.batchNo')">
|
||||
<el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
|
||||
<el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionType" :label="$t('code.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
|
||||
<el-option v-for="item in inspectionTypeList" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -54,7 +54,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="productId" :label="$t('code.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
|
||||
<el-option v-for="item in productList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -62,7 +62,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="supplierId" :label="$t('code.supplierName')">
|
||||
<el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
|
||||
<el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
|
||||
<el-option v-for="item in supplierList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -70,31 +70,34 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchQuantity" :label="$t('code.batchQuantity')">
|
||||
<el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionQuantity" :label="$t('code.inspectionQuantity')">
|
||||
<el-input v-model="dataForm.inspectionQuantity" :placeholder="$t('code.inspectionQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.inspectionQuantity"
|
||||
:placeholder="$t('code.inspectionQuantity')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchSize" :label="$t('code.batchSize')">
|
||||
<el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
|
||||
<el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="samplesQuantity" :label="$t('code.samplesQuantity')">
|
||||
<el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="companyId" :label="$t('code.companyName')">
|
||||
<el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
|
||||
<el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
|
||||
<el-option v-for="item in unitList" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -102,15 +105,15 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="userId" :label="$t('code.username')">
|
||||
<el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
|
||||
<el-option v-for="item in unitList" :key="item.id" :label="item.realName" :value="item.id">
|
||||
<el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
|
||||
<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="8">
|
||||
<el-form-item prop="inspectionStatus" :label="$t('code.inspectionStatus')">
|
||||
<el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
|
||||
<el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
|
||||
<el-option v-for="item in inspectionStatusList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -120,7 +123,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="customSamplingId" :label="$t('code.customSampling')">
|
||||
<el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
|
||||
<el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
|
||||
<el-option v-for="item in samplingPlanList" :key="item.id" :label="item.sampleRange" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -133,27 +136,29 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="critical" label="CR" label-width="50px">
|
||||
<el-input v-model="GBTDataForm.critical" placeholder="CR"></el-input>
|
||||
<el-input v-model="GBTDataForm.critical" placeholder="CR"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="criticalAccept" label="Accept">
|
||||
<el-input v-model="GBTDataForm.criticalAccept" placeholder="Accept"></el-input>
|
||||
<el-input v-model="GBTDataForm.criticalAccept" placeholder="Accept"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="criticalReject" label="Reject" label-width="60px">
|
||||
<el-input v-model="GBTDataForm.criticalReject" placeholder="Reject"></el-input>
|
||||
<el-input v-model="GBTDataForm.criticalReject" placeholder="Reject"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="criticalNumber" :label="$t('code.defectsNumber')">
|
||||
<el-input v-model="GBTDataForm.criticalNumber" :placeholder="$t('code.defectsNumber')"></el-input>
|
||||
<el-input v-model="GBTDataForm.criticalNumber" :placeholder="$t('code.defectsNumber')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="criticalDefectiveNumber" :label="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.criticalDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.criticalDefectiveNumber"
|
||||
:placeholder="$t('code.defectiveQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -161,27 +166,29 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="major" label="MA" label-width="50px">
|
||||
<el-input v-model="GBTDataForm.major" placeholder="CR"></el-input>
|
||||
<el-input v-model="GBTDataForm.major" placeholder="CR"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="majorAccept" label="Accept">
|
||||
<el-input v-model="GBTDataForm.majorAccept" placeholder="Accept"></el-input>
|
||||
<el-input v-model="GBTDataForm.majorAccept" placeholder="Accept"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="majorReject" label="Reject" label-width="60px">
|
||||
<el-input v-model="GBTDataForm.majorReject" placeholder="Reject"></el-input>
|
||||
<el-input v-model="GBTDataForm.majorReject" placeholder="Reject"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="majorNumber" :label="$t('code.defectsNumber')">
|
||||
<el-input v-model="GBTDataForm.majorNumber" :placeholder="$t('code.defectsNumber')"></el-input>
|
||||
<el-input v-model="GBTDataForm.majorNumber" :placeholder="$t('code.defectsNumber')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="majorDefectiveNumber" :label="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.majorDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.majorDefectiveNumber"
|
||||
:placeholder="$t('code.defectiveQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -189,27 +196,29 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="minor" label="MI" label-width="50px">
|
||||
<el-input v-model="GBTDataForm.minor" placeholder="CR"></el-input>
|
||||
<el-input v-model="GBTDataForm.minor" placeholder="CR"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="minorAccept" label="Accept">
|
||||
<el-input v-model="GBTDataForm.minorAccept" placeholder="Accept"></el-input>
|
||||
<el-input v-model="GBTDataForm.minorAccept" placeholder="Accept"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="minorReject" label="Reject" label-width="60px">
|
||||
<el-input v-model="GBTDataForm.minorReject" placeholder="Reject"></el-input>
|
||||
<el-input v-model="GBTDataForm.minorReject" placeholder="Reject"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="minorNumber" :label="$t('code.defectsNumber')">
|
||||
<el-input v-model="GBTDataForm.minorNumber" :placeholder="$t('code.defectsNumber')"></el-input>
|
||||
<el-input v-model="GBTDataForm.minorNumber" :placeholder="$t('code.defectsNumber')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="minorDefectiveNumber" :label="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.minorDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.minorDefectiveNumber"
|
||||
:placeholder="$t('code.defectiveQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -217,27 +226,29 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="total" label="total" label-width="50px">
|
||||
<el-input v-model="GBTDataForm.total" placeholder="CR"></el-input>
|
||||
<el-input v-model="GBTDataForm.total" placeholder="CR"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="totalAccept" label="Accept">
|
||||
<el-input v-model="GBTDataForm.totalAccept" placeholder="Accept"></el-input>
|
||||
<el-input v-model="GBTDataForm.totalAccept" placeholder="Accept"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="totalReject" label="Reject" label-width="60px">
|
||||
<el-input v-model="GBTDataForm.totalReject" placeholder="Reject"></el-input>
|
||||
<el-input v-model="GBTDataForm.totalReject" placeholder="Reject"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="totalNumber" :label="$t('code.defectsNumber')">
|
||||
<el-input v-model="GBTDataForm.totalNumber" :placeholder="$t('code.defectsNumber')"></el-input>
|
||||
<el-input v-model="GBTDataForm.totalNumber" :placeholder="$t('code.defectsNumber')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="totalDefectiveNumber" :label="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.totalDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.totalDefectiveNumber"
|
||||
:placeholder="$t('code.defectiveQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -245,7 +256,6 @@
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import debounce from "lodash/debounce";
|
||||
import basicAdd from "@/mixins/basic-add";
|
||||
@ -481,7 +491,7 @@ export default {
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.samplingPlanList = res.data
|
||||
this.samplingPlanList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
@ -493,7 +503,7 @@ export default {
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.userList = res.data
|
||||
this.userList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
@ -505,7 +515,7 @@ export default {
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.productList = res.data
|
||||
this.productList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
@ -521,7 +531,7 @@ export default {
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.unitList = res.data
|
||||
this.unitList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
@ -533,7 +543,7 @@ export default {
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.supplierList = res.data
|
||||
this.supplierList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
@ -545,7 +555,7 @@ export default {
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.factoryList = res.data
|
||||
this.factoryList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
|
@ -14,14 +14,15 @@
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
<base-dialog width="70%" :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
@confirm="handleConfirm" :before-close="handleCancel">
|
||||
<incomingInspection-add ref="addOrUpdate" @successSubmit="successSubmit"></incomingInspection-add>
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
</base-dialog>
|
||||
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<incomingInspection-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit"></incomingInspection-search>
|
||||
<base-dialog width="70%" :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible"
|
||||
@cancel="handleSearchCancel" @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<incomingInspection-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit">
|
||||
</incomingInspection-search>
|
||||
<el-row slot="footer" type="flex" justify="end">
|
||||
<el-col :span="12">
|
||||
<el-button size="small" type="primary" plain class="btnTextStyle" @click="handleSearchCancel">
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-06-12 13:22:50
|
||||
* @LastEditTime: 2023-06-20 15:35:49
|
||||
* @LastEditTime: 2023-07-17 10:28:46
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -21,14 +21,14 @@
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
<base-dialog width="70%" :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
@confirm="handleConfirm" :before-close="handleCancel">
|
||||
<purchaseRegistration-add ref="addOrUpdate" @successSubmit="successSubmit">
|
||||
</purchaseRegistration-add>
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
</purchaseRegistration-add>
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
</base-dialog>
|
||||
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<base-dialog width="70%" :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible"
|
||||
@cancel="handleSearchCancel" @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<purchaseRegistration-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit">
|
||||
</purchaseRegistration-search>
|
||||
<el-row slot="footer" type="flex" justify="end">
|
||||
@ -49,11 +49,13 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import basicPage from "@/mixins/basic-page";
|
||||
import basicSearch from "@/mixins/basic-search";
|
||||
import purchaseRegistrationSearch from "./components/purchaseRegistrationSearch.vue";
|
||||
import purchaseRegistrationAdd from "./components/purchaseRegistration-add.vue";
|
||||
import i18n from "@/i18n";
|
||||
import basicPage from "@/mixins/basic-page"
|
||||
import basicSearch from "@/mixins/basic-search"
|
||||
import purchaseRegistrationSearch from "./components/purchaseRegistrationSearch.vue"
|
||||
import purchaseRegistrationAdd from "./components/purchaseRegistration-add.vue"
|
||||
import i18n from "@/i18n"
|
||||
import incoming from "@/filters/incoming";
|
||||
|
||||
// import i18n from "@/i18n";
|
||||
const tableProps = [
|
||||
{
|
||||
@ -75,10 +77,12 @@ const tableProps = [
|
||||
{
|
||||
prop: "upload",
|
||||
label: i18n.t('code.upload'),
|
||||
filter: incoming('upload'),
|
||||
},
|
||||
{
|
||||
prop: "judgmentResult",
|
||||
label: i18n.t('code.judgmentResult'),
|
||||
filter: incoming('judgmentResult'),
|
||||
},
|
||||
{
|
||||
prop: "productCode",
|
||||
|
@ -1,13 +1,13 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-31 14:12:10
|
||||
* @LastEditTime: 2023-07-13 10:00:19
|
||||
* @LastEditTime: 2023-07-17 16:14:43
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<span>
|
||||
<el-button type="text" @click="getExperienceDetail">{{ $t('oss.type1') }} </el-button>
|
||||
<el-button type="text" @click="getExperienceDetail">{{ $t('detail') }} </el-button>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
@ -24,7 +24,7 @@ export default {
|
||||
methods: {
|
||||
getExperienceDetail() {
|
||||
this.$router.push({
|
||||
name: 'laboratory-qmsLaboratoryTrainExperience',
|
||||
name: 'laboratory-qmsLaboratoryEmployeeResume',
|
||||
query: {
|
||||
laboratoryTesterId: this.injectData.userId
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-05-15 14:27:30
|
||||
* @LastEditTime: 2023-07-13 10:00:09
|
||||
* @LastEditTime: 2023-07-17 16:13:47
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -14,7 +14,7 @@
|
||||
-->
|
||||
<template>
|
||||
<span>
|
||||
<el-button type="text" @click="getInspectionDetail">{{ $t('oss.type1') }} </el-button>
|
||||
<el-button type="text" @click="getInspectionDetail">{{ $t('detail') }} </el-button>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
@ -31,7 +31,7 @@ export default {
|
||||
methods: {
|
||||
getInspectionDetail() {
|
||||
this.$router.push({
|
||||
name: 'laboratory-qmsLaboratoryTesterInspectionQualification',
|
||||
name: 'laboratory-qmsLaboratoryTrainExperience',
|
||||
query: {
|
||||
laboratoryTesterId: this.injectData.userId
|
||||
}
|
||||
|
@ -1,13 +1,13 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-31 14:12:10
|
||||
* @LastEditTime: 2023-07-13 10:00:12
|
||||
* @LastEditTime: 2023-07-17 16:07:15
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<span>
|
||||
<el-button type="text" @click="getInspectionDetail">{{ $t('oss.type1') }} </el-button>
|
||||
<el-button type="text" @click="getInspectionDetail">{{ $t('detail') }} </el-button>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-05-15 14:35:31
|
||||
* @LastEditTime: 2023-07-18 10:14:38
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -19,10 +19,10 @@
|
||||
<el-input v-model="dataForm.responsibilitie" :placeholder="$t('laboratory.responsibilitie')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="expectedReturnDate" :label="$t('gage.expectedReturnDate')">
|
||||
<el-date-picker v-model="dataForm.expectedReturnDate" type="datetime" :placeholder="$t('gage.expectedReturnDate')"
|
||||
format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
</el-date-picker>
|
||||
<el-form-item :label="$t('laboratory.timeSlot')" prop="timeSlot">
|
||||
<el-date-picker v-model="dataForm.timeSlot" size="small" type="datetimerange" format='yyyy-MM-dd HH:mm:ss'
|
||||
valueFormat='yyyy-MM-ddTHH:mm:ss' :start-placeholder="$t('gage.startTime')"
|
||||
:end-placeholder="$t('gage.endTime')" :range-separator="$t('gage.to')" clearable />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
@ -35,8 +35,8 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
submitURL: "/gage/qmsLaboratoryEmployeeResume",
|
||||
infoURL: "/gage/qmsLaboratoryEmployeeResume/{ id }",
|
||||
submitURL: "/laboratory/qmsLaboratoryEmployeeResume",
|
||||
infoURL: "/laboratory/qmsLaboratoryEmployeeResume/{ id }",
|
||||
dictionaryDetailList: '/mutual/qmsDataDictionaryDetail/page',
|
||||
getUserList: '/sys/user/page'
|
||||
// getTeamListURL: '/basic/qmsTeam/gape',
|
||||
@ -91,13 +91,13 @@ export default {
|
||||
department:null,
|
||||
endDate: null,
|
||||
id: null,
|
||||
timeSlot:undefined,
|
||||
laboratoryTesterId: null,
|
||||
position: null,
|
||||
remark: null,
|
||||
responsibilitie: null,
|
||||
startDate: null,
|
||||
id: null,
|
||||
laboratoryTesterId:null,
|
||||
},
|
||||
};
|
||||
},
|
||||
@ -133,13 +133,14 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
init(data) {
|
||||
console.log(data)
|
||||
this.dataForm.id = data.id ? data.id : ''
|
||||
this.dataForm.laboratoryTesterId = data.laboratoryTesterId ? data.laboratoryTesterId : ''
|
||||
// console.log(11111)
|
||||
// this.dataForm.dictTypeId = dictTypeId || "";
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs["dataForm"].resetFields();
|
||||
this.$refs["dataForm"].resetFields()
|
||||
if (this.dataForm.id) {
|
||||
this.getInfo()
|
||||
} else {
|
||||
@ -183,7 +184,7 @@ export default {
|
||||
// 获取信息
|
||||
getInfo() {
|
||||
this.$http
|
||||
.get(`/gage/qmsLaboratoryEmployeeResume/${this.dataForm.id}`)
|
||||
.get(`/laboratory/qmsLaboratoryEmployeeResume/${this.dataForm.id}`)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
@ -195,6 +196,31 @@ export default {
|
||||
})
|
||||
.catch(() => { })
|
||||
},
|
||||
dataFormSubmit() {
|
||||
this.dataForm.endDate = this.dataForm.timeSlot ? this.dataForm.timeSlot[1] :undefined
|
||||
this.dataForm.startDate = this.dataForm.timeSlot ? this.dataForm.timeSlot[0] : undefined
|
||||
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.visible = false;
|
||||
this.$emit("refreshDataList");
|
||||
},
|
||||
});
|
||||
})
|
||||
.catch(() => { });
|
||||
});
|
||||
},
|
||||
// 表单提交
|
||||
dataFormSubmitHandle: debounce(
|
||||
function () {
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-05-12 16:45:00
|
||||
* @LastEditTime: 2023-07-17 16:18:56
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -36,72 +36,11 @@ export default {
|
||||
userList: [],
|
||||
gageTypeList:[],
|
||||
departmentList: [],
|
||||
processList: [
|
||||
{
|
||||
id: 0,
|
||||
name: '未审核'
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
name: '不同意'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: '同意'
|
||||
}
|
||||
],
|
||||
listQuery: {
|
||||
limit: 999,
|
||||
gape: 1
|
||||
},
|
||||
gageStatusList: [
|
||||
{
|
||||
id: 0,
|
||||
name:'在用'
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
name: '备用'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: '停用'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
name: '封存'
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
name: '报废'
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
name: '降级使用'
|
||||
}
|
||||
],
|
||||
certificateTypeList: [
|
||||
{
|
||||
id: 0,
|
||||
name: '检定证书'
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
name: '校准证书'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: '检测报告'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
name: '自校报告'
|
||||
}
|
||||
],
|
||||
visible: false,
|
||||
dataForm: {
|
||||
id: null,
|
||||
userId:null
|
||||
userId: null,
|
||||
remark:null,
|
||||
},
|
||||
};
|
||||
},
|
||||
|
@ -21,7 +21,7 @@
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item prop="validDate" :label="$t('laboratory.validDate')">
|
||||
<el-date-picker v-model="dataForm.expectedReturnDate" type="datetime" :placeholder="$t('laboratory.validDate')"
|
||||
<el-date-picker v-model="dataForm.validDate" type="datetime" :placeholder="$t('laboratory.validDate')"
|
||||
format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
@ -66,6 +66,7 @@ export default {
|
||||
code:null,
|
||||
getDate: null,
|
||||
id: null,
|
||||
validDate:null,
|
||||
laboratoryTesterId: null,
|
||||
name: null,
|
||||
qualificationDescription: null,
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-13 10:01:15
|
||||
* @LastEditTime: 2023-07-18 10:52:15
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -9,9 +9,6 @@
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__user">
|
||||
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
|
||||
<el-badge :value="6" class="item">
|
||||
<el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
|
||||
</el-badge>
|
||||
</SearchBar>
|
||||
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
||||
@ -56,11 +53,6 @@ import employeeResumeDetail from "./components/employeeResumeDetail.vue"
|
||||
import basicSearch from "@/mixins/basic-search"
|
||||
import i18n from "@/i18n"
|
||||
const tableProps = [
|
||||
{
|
||||
prop: 'userCode',
|
||||
label: i18n.t("laboratory.userCode"),
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
prop: 'userName',
|
||||
label: i18n.t("laboratory.userName"),
|
||||
@ -118,15 +110,13 @@ export default {
|
||||
searchOrEditTitle: '',
|
||||
searchOrUpdateVisible: false,
|
||||
formConfig: [
|
||||
// {
|
||||
// type: "",
|
||||
// label: i18n.t("params.paramCode"),
|
||||
// placeholder: i18n.t("params.paramCode"),
|
||||
// param: "paramCode",
|
||||
// },
|
||||
// {
|
||||
// type: "separate",
|
||||
// },
|
||||
{
|
||||
type: 'input',
|
||||
label: i18n.t('basic.name'),
|
||||
placeholder: i18n.t('basic.name'),
|
||||
param: 'name',
|
||||
clearable: true
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('search'),
|
||||
@ -139,13 +129,6 @@ export default {
|
||||
name: "add",
|
||||
color: "success",
|
||||
plain: true
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('export'),
|
||||
name: "export",
|
||||
color: "primary",
|
||||
plain: true
|
||||
}
|
||||
],
|
||||
};
|
||||
@ -213,7 +196,7 @@ export default {
|
||||
buttonClick(val) {
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
// this.listQuery.paramCode = val.paramCode;
|
||||
this.listQuery.name = val.name ?val.name : null
|
||||
this.listQuery.page = 1
|
||||
this.getDataList();
|
||||
break;
|
||||
|
@ -1,11 +1,7 @@
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__user">
|
||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick">
|
||||
<el-badge :value="5" class="item">
|
||||
<el-button type="primary" size="small" @click="searchsClick">条件搜索</el-button>
|
||||
</el-badge>
|
||||
</search-bar>
|
||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
||||
<base-table
|
||||
:table-props="tableProps"
|
||||
:page="listQuery.page"
|
||||
@ -28,7 +24,7 @@
|
||||
@pagination="getDataList"
|
||||
/>
|
||||
<!-- 弹窗, 条件搜索-->
|
||||
<base-dialog
|
||||
<!-- <base-dialog
|
||||
:dialogTitle="searchsTitle"
|
||||
:dialogVisible="searchsVisible"
|
||||
@cancel="searchsCancel"
|
||||
@ -36,7 +32,7 @@
|
||||
:before-close="searchsCancel"
|
||||
>
|
||||
<searchs ref="searchsRef" @refreshDataList="searchsSubmit"></searchs>
|
||||
</base-dialog>
|
||||
</base-dialog> -->
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog
|
||||
:dialogTitle="addOrEditTitle"
|
||||
@ -54,7 +50,7 @@
|
||||
|
||||
<script>
|
||||
import AddOrUpdate from "./components/eightDisciplineList-detail";
|
||||
import Searchs from "./components/searchs1";
|
||||
// import Searchs from "./components/searchs1";
|
||||
import basicPage from "@/mixins/basic-page";
|
||||
import codeFilter from "@/filters/code-filter";
|
||||
import { timeFormatter } from "@/filters/code-filter";
|
||||
@ -81,11 +77,11 @@ const tableProps = [
|
||||
label: "关键字",
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
prop: "associationNumber",
|
||||
label: "关联次数",
|
||||
align: "center",
|
||||
},
|
||||
// {
|
||||
// prop: "associationNumber",
|
||||
// label: "关联次数",
|
||||
// align: "center",
|
||||
// },
|
||||
];
|
||||
const tableBtn = [
|
||||
{
|
||||
@ -104,7 +100,37 @@ export default {
|
||||
tableProps,
|
||||
tableBtn,
|
||||
tableData: [],
|
||||
optionArrUrl: ["/basic/qmsProduct/page","/code/problemType/page"],
|
||||
formConfig: [
|
||||
{
|
||||
type: "input",
|
||||
label: i18n.t("code.title"),
|
||||
placeholder: i18n.t("code.title"),
|
||||
param: "title",
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: "产品",
|
||||
selectOptions: [],
|
||||
param: "productId",
|
||||
defaultSelect: "",
|
||||
labelField: "productName",
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: "缺陷",
|
||||
selectOptions: [],
|
||||
param: "defectId",
|
||||
defaultSelect: "",
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: "input",
|
||||
label: "关键字",
|
||||
placeholder: "关键字",
|
||||
param: "description",
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
@ -116,9 +142,30 @@ export default {
|
||||
},
|
||||
components: {
|
||||
AddOrUpdate,
|
||||
Searchs,
|
||||
// Searchs,
|
||||
},
|
||||
created() {
|
||||
this.getArr();
|
||||
},
|
||||
methods: {
|
||||
getArr() {
|
||||
this.optionArrUrl.forEach((item, index) => {
|
||||
this.$http
|
||||
.get(item, {
|
||||
params: {
|
||||
page: 1,
|
||||
limit: 500,
|
||||
},
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.formConfig[index + 1].selectOptions = res.data.list;
|
||||
})
|
||||
.catch(() => {});
|
||||
});
|
||||
},
|
||||
// 获取数据列表
|
||||
getDataList() {
|
||||
this.dataListLoading = true;
|
||||
@ -146,15 +193,14 @@ export default {
|
||||
buttonClick(val) {
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
this.listQuery = {};
|
||||
this.listQuery.page = 1;
|
||||
this.listQuery.limit = 10;
|
||||
this.listQuery.total = 1;
|
||||
this.listQuery.title = val.title;
|
||||
this.listQuery.description = val.description;
|
||||
this.listQuery.defectId = val.defectId;
|
||||
this.listQuery.productId = val.productId;
|
||||
this.getDataList();
|
||||
break;
|
||||
case "export":
|
||||
this.exportHandle("工厂管理");
|
||||
break;
|
||||
default:
|
||||
console.log(val);
|
||||
}
|
||||
|
@ -83,7 +83,7 @@ export default {
|
||||
series: [],
|
||||
};
|
||||
this.dataList.forEach((item) => {
|
||||
const i = option.series.findIndex((c) => c.id === item.productTypeId);
|
||||
const i = option.series.findIndex((c) => c.id === (this.eType?item.problemTypeId:item.productTypeId));
|
||||
if (i >= 0) {
|
||||
option.series[i].data.push(this.eType?item.problemTypeNumber:item.productTypeNumber);
|
||||
} else {
|
||||
@ -104,7 +104,6 @@ export default {
|
||||
option.series.push(obj);
|
||||
}
|
||||
})
|
||||
console.log(option.series)
|
||||
this.lineChart = echarts.init(document.getElementById("lineChart"))
|
||||
this.lineChart.setOption(option);
|
||||
window.addEventListener("resize", () => {
|
||||
@ -117,10 +116,10 @@ export default {
|
||||
|
||||
<style lang="scss">
|
||||
.mod-demo-echarts {
|
||||
> .el-row {
|
||||
.el-col {
|
||||
}
|
||||
}
|
||||
// > .el-row {
|
||||
// .el-col {
|
||||
// }
|
||||
// }
|
||||
.chart-box {
|
||||
min-height: 400px;
|
||||
}
|
||||
|
@ -0,0 +1,49 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-31 09:49:36
|
||||
* @LastEditTime: 2023-07-17 10:16:41
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<span>
|
||||
<el-avatar
|
||||
v-if="injectData.eightDisciplineStatus > injectData.num"
|
||||
size="small"
|
||||
style="background: #409EFF;"
|
||||
icon="el-icon-check"
|
||||
></el-avatar>
|
||||
<el-avatar
|
||||
v-else size="small"
|
||||
icon="el-icon-close"
|
||||
></el-avatar>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import { addDynamicRoute } from '@/router'
|
||||
export default {
|
||||
props: {
|
||||
injectData: {
|
||||
type: Object,
|
||||
default: () => ({}),
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
// 子级
|
||||
// emitClick () {
|
||||
// // 路由参数
|
||||
// const routeParams = {
|
||||
// routeName: `${this.$route.name}__${this.injectData.id}`,
|
||||
// title: `${this.$route.meta.title} - ${this.injectData.dictType}`,
|
||||
// path: 'sys/dict-data',
|
||||
// params: {
|
||||
// dictTypeId: this.injectData.id
|
||||
// }
|
||||
// }
|
||||
// // 动态路由
|
||||
// addDynamicRoute(routeParams, this.$router)
|
||||
// }
|
||||
},
|
||||
};
|
||||
</script>
|
@ -1,11 +1,11 @@
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__user">
|
||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick">
|
||||
<el-badge :value="5" class="item">
|
||||
<el-button type="primary" size="small" @click="searchsClick">条件搜索</el-button>
|
||||
</el-badge>
|
||||
</search-bar>
|
||||
<search-bar
|
||||
:formConfigs="formConfig"
|
||||
ref="searchBarForm"
|
||||
@headBtnClick="buttonClick"
|
||||
/>
|
||||
<base-table
|
||||
:table-props="tableProps"
|
||||
:page="listQuery.page"
|
||||
@ -28,7 +28,7 @@
|
||||
@pagination="getDataList"
|
||||
/>
|
||||
<!-- 弹窗, 条件搜索-->
|
||||
<base-dialog
|
||||
<!-- <base-dialog
|
||||
:dialogTitle="searchsTitle"
|
||||
:dialogVisible="searchsVisible"
|
||||
@cancel="searchsCancel"
|
||||
@ -36,7 +36,7 @@
|
||||
:before-close="searchsCancel"
|
||||
>
|
||||
<searchs ref="searchsRef" @refreshDataList="searchsSubmit"></searchs>
|
||||
</base-dialog>
|
||||
</base-dialog> -->
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog
|
||||
:dialogTitle="addOrEditTitle"
|
||||
@ -44,7 +44,7 @@
|
||||
@cancel="handleCancel"
|
||||
@confirm="handleConfirm"
|
||||
:before-close="handleCancel"
|
||||
width=80%
|
||||
width="80%"
|
||||
>
|
||||
<add-or-update ref="addOrUpdate" @refreshDataList="successSubmit"></add-or-update>
|
||||
</base-dialog>
|
||||
@ -54,7 +54,7 @@
|
||||
|
||||
<script>
|
||||
import AddOrUpdate from "./components/eightDisciplineList-detail";
|
||||
import Searchs from "./components/searchs";
|
||||
// import Searchs from "./components/searchs";
|
||||
import basicPage from "@/mixins/basic-page";
|
||||
import codeFilter from "@/filters/code-filter";
|
||||
import { timeFormatter } from "@/filters/code-filter";
|
||||
@ -93,11 +93,11 @@ const tableProps = [
|
||||
label: i18n.t("code.description"),
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
prop: "userName",
|
||||
label: "启动人",
|
||||
align: "center",
|
||||
},
|
||||
// {
|
||||
// prop: "userName",
|
||||
// label: "启动人",
|
||||
// align: "center",
|
||||
// },
|
||||
{
|
||||
prop: "eightDisciplineStatus",
|
||||
label: "步骤",
|
||||
@ -112,6 +112,44 @@ const tableBtn = [
|
||||
},
|
||||
];
|
||||
|
||||
const eightDisciplineStatusArr = [
|
||||
{
|
||||
name: "D0",
|
||||
id: 0,
|
||||
},
|
||||
{
|
||||
name: "D1",
|
||||
id: 1,
|
||||
},
|
||||
{
|
||||
name: "D2",
|
||||
id: 2,
|
||||
},
|
||||
{
|
||||
name: "D3",
|
||||
id: 3,
|
||||
},
|
||||
{
|
||||
name: "D4",
|
||||
id: 4,
|
||||
},
|
||||
{
|
||||
name: "D5",
|
||||
id: 5,
|
||||
},
|
||||
{
|
||||
name: "D6",
|
||||
id: 6,
|
||||
},
|
||||
{
|
||||
name: "D7",
|
||||
id: 7,
|
||||
},
|
||||
{
|
||||
name: "D8",
|
||||
id: 8,
|
||||
},
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage],
|
||||
data() {
|
||||
@ -122,8 +160,52 @@ export default {
|
||||
},
|
||||
tableProps,
|
||||
tableBtn,
|
||||
eightDisciplineStatusArr,
|
||||
tableData: [],
|
||||
optionArrUrl: ["/basic/qmsCustomer/page", "/basic/qmsProduct/page"],
|
||||
formConfig: [
|
||||
{
|
||||
type: "input",
|
||||
label: i18n.t("code.title"),
|
||||
placeholder: i18n.t("code.title"),
|
||||
param: "title",
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: "客户",
|
||||
selectOptions: [],
|
||||
param: "customId",
|
||||
defaultSelect: "",
|
||||
labelField: "customerName",
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: "产品",
|
||||
selectOptions: [],
|
||||
param: "productId",
|
||||
defaultSelect: "",
|
||||
labelField: "productName",
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: "步骤",
|
||||
selectOptions: eightDisciplineStatusArr,
|
||||
param: "eightDisciplineStatus",
|
||||
defaultSelect: "",
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: "datePicker",
|
||||
label: "日期",
|
||||
dateType: "date",
|
||||
format: "yyyy-MM-dd",
|
||||
valueFormat: "yyyy-MM-ddTHH:mm:ss",
|
||||
placeholder: "日期",
|
||||
param: "occurrenceDate",
|
||||
width: 170,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
@ -135,9 +217,30 @@ export default {
|
||||
},
|
||||
components: {
|
||||
AddOrUpdate,
|
||||
Searchs,
|
||||
// Searchs,
|
||||
},
|
||||
created() {
|
||||
this.getArr();
|
||||
},
|
||||
methods: {
|
||||
getArr() {
|
||||
this.optionArrUrl.forEach((item, index) => {
|
||||
this.$http
|
||||
.get(item, {
|
||||
params: {
|
||||
page: 1,
|
||||
limit: 500,
|
||||
},
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.formConfig[index + 1].selectOptions = res.data.list;
|
||||
})
|
||||
.catch(() => {});
|
||||
});
|
||||
},
|
||||
// 获取数据列表
|
||||
getDataList() {
|
||||
this.dataListLoading = true;
|
||||
@ -165,15 +268,15 @@ export default {
|
||||
buttonClick(val) {
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
this.listQuery = {};
|
||||
this.listQuery.page = 1;
|
||||
this.listQuery.limit = 10;
|
||||
this.listQuery.total = 1;
|
||||
this.listQuery.title = val.title;
|
||||
this.listQuery.eightDisciplineStatus = val.eightDisciplineStatus;
|
||||
this.listQuery.customId = val.customId;
|
||||
this.listQuery.productId = val.productId;
|
||||
this.listQuery.occurrenceDate = val.occurrenceDate;
|
||||
this.getDataList();
|
||||
break;
|
||||
case "export":
|
||||
this.exportHandle("工厂管理");
|
||||
break;
|
||||
default:
|
||||
console.log(val);
|
||||
}
|
||||
|
@ -1,11 +1,7 @@
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__user">
|
||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick">
|
||||
<el-badge :value="5" class="item">
|
||||
<el-button type="primary" size="small" @click="searchsClick">条件搜索</el-button>
|
||||
</el-badge>
|
||||
</search-bar>
|
||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
||||
<base-table
|
||||
:table-props="tableProps"
|
||||
:page="listQuery.page"
|
||||
@ -28,7 +24,7 @@
|
||||
@pagination="getDataList"
|
||||
/>
|
||||
<!-- 弹窗, 条件搜索-->
|
||||
<base-dialog
|
||||
<!-- <base-dialog
|
||||
:dialogTitle="searchsTitle"
|
||||
:dialogVisible="searchsVisible"
|
||||
@cancel="searchsCancel"
|
||||
@ -36,7 +32,7 @@
|
||||
:before-close="searchsCancel"
|
||||
>
|
||||
<searchs ref="searchsRef" @refreshDataList="searchsSubmit"></searchs>
|
||||
</base-dialog>
|
||||
</base-dialog> -->
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog
|
||||
:dialogTitle="addOrEditTitle"
|
||||
@ -44,7 +40,7 @@
|
||||
@cancel="handleCancel"
|
||||
@confirm="handleConfirm"
|
||||
:before-close="handleCancel"
|
||||
width=80%
|
||||
width="80%"
|
||||
>
|
||||
<add-or-update ref="addOrUpdate" @refreshDataList="successSubmit"></add-or-update>
|
||||
</base-dialog>
|
||||
@ -54,7 +50,8 @@
|
||||
|
||||
<script>
|
||||
import AddOrUpdate from "./components/eightDisciplineList-detail";
|
||||
import Searchs from "./components/searchs";
|
||||
// import Searchs from "./components/searchs";
|
||||
import processStatus from "./components/processStatus"
|
||||
import basicPage from "@/mixins/basic-page";
|
||||
import codeFilter from "@/filters/code-filter";
|
||||
import { timeFormatter } from "@/filters/code-filter";
|
||||
@ -85,42 +82,58 @@ const tableProps = [
|
||||
{
|
||||
prop: "D1",
|
||||
label: "D1",
|
||||
num: 1,
|
||||
align: "center",
|
||||
subcomponent: processStatus,
|
||||
},
|
||||
{
|
||||
prop: "D2",
|
||||
label: "D2",
|
||||
num: 2,
|
||||
align: "center",
|
||||
subcomponent: processStatus,
|
||||
},
|
||||
{
|
||||
prop: "D3",
|
||||
label: "D3",
|
||||
num: 3,
|
||||
align: "center",
|
||||
subcomponent: processStatus,
|
||||
},
|
||||
{
|
||||
prop: "D4",
|
||||
label: "D4",
|
||||
num: 4,
|
||||
align: "center",
|
||||
subcomponent: processStatus,
|
||||
},
|
||||
{
|
||||
prop: "D5",
|
||||
label: "D5",
|
||||
num: 5,
|
||||
align: "center",
|
||||
subcomponent: processStatus,
|
||||
},
|
||||
{
|
||||
prop: "D6",
|
||||
label: "D6",
|
||||
num: 6,
|
||||
align: "center",
|
||||
subcomponent: processStatus,
|
||||
},
|
||||
{
|
||||
prop: "D7",
|
||||
label: "D7",
|
||||
num: 7,
|
||||
align: "center",
|
||||
subcomponent: processStatus,
|
||||
},
|
||||
{
|
||||
prop: "D8",
|
||||
label: "D8",
|
||||
num: 8,
|
||||
align: "center",
|
||||
subcomponent: processStatus,
|
||||
},
|
||||
];
|
||||
const tableBtn = [
|
||||
@ -130,6 +143,44 @@ const tableBtn = [
|
||||
},
|
||||
];
|
||||
|
||||
const eightDisciplineStatusArr = [
|
||||
{
|
||||
name: "D0",
|
||||
id: 0,
|
||||
},
|
||||
{
|
||||
name: "D1",
|
||||
id: 1,
|
||||
},
|
||||
{
|
||||
name: "D2",
|
||||
id: 2,
|
||||
},
|
||||
{
|
||||
name: "D3",
|
||||
id: 3,
|
||||
},
|
||||
{
|
||||
name: "D4",
|
||||
id: 4,
|
||||
},
|
||||
{
|
||||
name: "D5",
|
||||
id: 5,
|
||||
},
|
||||
{
|
||||
name: "D6",
|
||||
id: 6,
|
||||
},
|
||||
{
|
||||
name: "D7",
|
||||
id: 7,
|
||||
},
|
||||
{
|
||||
name: "D8",
|
||||
id: 8,
|
||||
},
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage],
|
||||
data() {
|
||||
@ -140,8 +191,52 @@ export default {
|
||||
},
|
||||
tableProps,
|
||||
tableBtn,
|
||||
eightDisciplineStatusArr,
|
||||
tableData: [],
|
||||
optionArrUrl: ["/basic/qmsCustomer/page", "/basic/qmsProduct/page"],
|
||||
formConfig: [
|
||||
{
|
||||
type: "input",
|
||||
label: i18n.t("code.title"),
|
||||
placeholder: i18n.t("code.title"),
|
||||
param: "title",
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: "客户",
|
||||
selectOptions: [],
|
||||
param: "customId",
|
||||
defaultSelect: "",
|
||||
labelField: "customerName",
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: "产品",
|
||||
selectOptions: [],
|
||||
param: "productId",
|
||||
defaultSelect: "",
|
||||
labelField: "productName",
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: "步骤",
|
||||
selectOptions: eightDisciplineStatusArr,
|
||||
param: "eightDisciplineStatus",
|
||||
defaultSelect: "",
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: "datePicker",
|
||||
label: "日期",
|
||||
dateType: "date",
|
||||
format: "yyyy-MM-dd",
|
||||
valueFormat: "yyyy-MM-ddTHH:mm:ss",
|
||||
placeholder: "日期",
|
||||
param: "occurrenceDate",
|
||||
width: 170,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
@ -153,9 +248,31 @@ export default {
|
||||
},
|
||||
components: {
|
||||
AddOrUpdate,
|
||||
Searchs,
|
||||
processStatus,
|
||||
// Searchs,
|
||||
},
|
||||
created() {
|
||||
this.getArr();
|
||||
},
|
||||
methods: {
|
||||
getArr() {
|
||||
this.optionArrUrl.forEach((item, index) => {
|
||||
this.$http
|
||||
.get(item, {
|
||||
params: {
|
||||
page: 1,
|
||||
limit: 500,
|
||||
},
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.formConfig[index + 1].selectOptions = res.data.list;
|
||||
})
|
||||
.catch(() => {});
|
||||
});
|
||||
},
|
||||
// 获取数据列表
|
||||
getDataList() {
|
||||
this.dataListLoading = true;
|
||||
@ -183,15 +300,15 @@ export default {
|
||||
buttonClick(val) {
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
this.listQuery = {};
|
||||
this.listQuery.page = 1;
|
||||
this.listQuery.limit = 10;
|
||||
this.listQuery.total = 1;
|
||||
this.listQuery.title = val.title;
|
||||
this.listQuery.eightDisciplineStatus = val.eightDisciplineStatus;
|
||||
this.listQuery.customId = val.customId;
|
||||
this.listQuery.productId = val.productId;
|
||||
this.listQuery.occurrenceDate = val.occurrenceDate;
|
||||
this.getDataList();
|
||||
break;
|
||||
case "export":
|
||||
this.exportHandle("工厂管理");
|
||||
break;
|
||||
default:
|
||||
console.log(val);
|
||||
}
|
||||
|
@ -1,11 +1,12 @@
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__user">
|
||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick">
|
||||
<el-badge :value="5" class="item">
|
||||
<el-button type="primary" size="small" @click="searchsClick">条件搜索</el-button>
|
||||
</el-badge>
|
||||
</search-bar>
|
||||
<search-bar
|
||||
:isFold="true"
|
||||
:formConfigs="formConfig"
|
||||
ref="searchBarForm"
|
||||
@headBtnClick="buttonClick"
|
||||
/>
|
||||
<base-table
|
||||
:table-props="tableProps"
|
||||
:page="listQuery.page"
|
||||
@ -28,7 +29,7 @@
|
||||
@pagination="getDataList"
|
||||
/>
|
||||
<!-- 弹窗, 条件搜索-->
|
||||
<base-dialog
|
||||
<!-- <base-dialog
|
||||
:dialogTitle="searchsTitle"
|
||||
:dialogVisible="searchsVisible"
|
||||
@cancel="searchsCancel"
|
||||
@ -36,7 +37,7 @@
|
||||
:before-close="searchsCancel"
|
||||
>
|
||||
<searchs ref="searchsRef" :show-obj=showObj @refreshDataList="searchsSubmit"></searchs>
|
||||
</base-dialog>
|
||||
</base-dialog> -->
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog
|
||||
:dialogTitle="addOrEditTitle"
|
||||
@ -44,7 +45,7 @@
|
||||
@cancel="handleCancel"
|
||||
@confirm="handleConfirm"
|
||||
:before-close="handleCancel"
|
||||
width=80%
|
||||
width="80%"
|
||||
>
|
||||
<add-or-update ref="addOrUpdate" @refreshDataList="successSubmit"></add-or-update>
|
||||
</base-dialog>
|
||||
@ -54,7 +55,7 @@
|
||||
|
||||
<script>
|
||||
import AddOrUpdate from "./components/eightDisciplineList-detail";
|
||||
import Searchs from "./components/searchs";
|
||||
// import Searchs from "./components/searchs";
|
||||
import basicPage from "@/mixins/basic-page";
|
||||
import codeFilter from "@/filters/code-filter";
|
||||
import { timeFormatter } from "@/filters/code-filter";
|
||||
@ -87,11 +88,11 @@ const tableProps = [
|
||||
label: i18n.t("code.description"),
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
prop: "userName",
|
||||
label: "启动人",
|
||||
align: "center",
|
||||
},
|
||||
// {
|
||||
// prop: "userName",
|
||||
// label: "启动人",
|
||||
// align: "center",
|
||||
// },
|
||||
];
|
||||
const tableBtn = [
|
||||
{
|
||||
@ -100,6 +101,62 @@ const tableBtn = [
|
||||
},
|
||||
];
|
||||
|
||||
const eightDisciplineStatusArr = [
|
||||
{
|
||||
name: "D0",
|
||||
id: 0,
|
||||
},
|
||||
{
|
||||
name: "D1",
|
||||
id: 1,
|
||||
},
|
||||
{
|
||||
name: "D2",
|
||||
id: 2,
|
||||
},
|
||||
{
|
||||
name: "D3",
|
||||
id: 3,
|
||||
},
|
||||
{
|
||||
name: "D4",
|
||||
id: 4,
|
||||
},
|
||||
{
|
||||
name: "D5",
|
||||
id: 5,
|
||||
},
|
||||
{
|
||||
name: "D6",
|
||||
id: 6,
|
||||
},
|
||||
{
|
||||
name: "D7",
|
||||
id: 7,
|
||||
},
|
||||
{
|
||||
name: "D8",
|
||||
id: 8,
|
||||
},
|
||||
];
|
||||
const roleArr = [
|
||||
{
|
||||
name: "启动人",
|
||||
id: 1,
|
||||
},
|
||||
{
|
||||
name: "分析人",
|
||||
id: 2,
|
||||
},
|
||||
{
|
||||
name: "负责人",
|
||||
id: 3,
|
||||
},
|
||||
{
|
||||
name: "处理人",
|
||||
id: 4,
|
||||
},
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage],
|
||||
data() {
|
||||
@ -109,11 +166,65 @@ export default {
|
||||
},
|
||||
tableProps,
|
||||
tableBtn,
|
||||
eightDisciplineStatusArr,
|
||||
roleArr,
|
||||
tableData: [],
|
||||
showObj: {
|
||||
role: true
|
||||
},
|
||||
optionArrUrl: ["/basic/qmsCustomer/page", "/basic/qmsProduct/page"],
|
||||
// showObj: {
|
||||
// role: true
|
||||
// },
|
||||
|
||||
formConfig: [
|
||||
{
|
||||
type: "input",
|
||||
label: i18n.t("code.title"),
|
||||
placeholder: i18n.t("code.title"),
|
||||
param: "title",
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: "客户",
|
||||
selectOptions: [],
|
||||
param: "customId",
|
||||
defaultSelect: "",
|
||||
labelField: "customerName",
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: "产品",
|
||||
selectOptions: [],
|
||||
param: "productId",
|
||||
defaultSelect: "",
|
||||
labelField: "productName",
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: "步骤",
|
||||
selectOptions: eightDisciplineStatusArr,
|
||||
param: "eightDisciplineStatus",
|
||||
defaultSelect: "",
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: "角色",
|
||||
selectOptions: roleArr,
|
||||
param: "role",
|
||||
defaultSelect: "",
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: "datePicker",
|
||||
label: "日期",
|
||||
dateType: "date",
|
||||
format: "yyyy-MM-dd",
|
||||
valueFormat: "yyyy-MM-ddTHH:mm:ss",
|
||||
placeholder: "日期",
|
||||
param: "occurrenceDate",
|
||||
width: 170,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
@ -125,9 +236,30 @@ export default {
|
||||
},
|
||||
components: {
|
||||
AddOrUpdate,
|
||||
Searchs,
|
||||
// Searchs,
|
||||
},
|
||||
created() {
|
||||
this.getArr();
|
||||
},
|
||||
methods: {
|
||||
getArr() {
|
||||
this.optionArrUrl.forEach((item, index) => {
|
||||
this.$http
|
||||
.get(item, {
|
||||
params: {
|
||||
page: 1,
|
||||
limit: 500,
|
||||
},
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.formConfig[index + 1].selectOptions = res.data.list;
|
||||
})
|
||||
.catch(() => {});
|
||||
});
|
||||
},
|
||||
// 获取数据列表
|
||||
getDataList() {
|
||||
this.dataListLoading = true;
|
||||
@ -155,15 +287,16 @@ export default {
|
||||
buttonClick(val) {
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
this.listQuery = {};
|
||||
this.listQuery.page = 1;
|
||||
this.listQuery.limit = 10;
|
||||
this.listQuery.total = 1;
|
||||
this.listQuery.title = val.title;
|
||||
this.listQuery.eightDisciplineStatus = val.eightDisciplineStatus;
|
||||
this.listQuery.customId = val.customId;
|
||||
this.listQuery.productId = val.productId;
|
||||
this.listQuery.occurrenceDate = val.occurrenceDate;
|
||||
this.listQuery.role = val.role;
|
||||
this.getDataList();
|
||||
break;
|
||||
case "export":
|
||||
this.exportHandle("工厂管理");
|
||||
break;
|
||||
default:
|
||||
console.log(val);
|
||||
}
|
||||
|
@ -74,7 +74,7 @@
|
||||
label: "日期",
|
||||
dateType: "daterange",
|
||||
format: "yyyy-MM-dd",
|
||||
valueFormat: "yyyy-MM-ddTHH:mm:ss",
|
||||
valueFormat: "yyyy-MM-dd",
|
||||
rangeSeparator: "-",
|
||||
startPlaceholder: "开始时间",
|
||||
endPlaceholder: "结束时间",
|
||||
|
@ -2,15 +2,15 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2023-07-03 15:21:14
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-07-04 08:53:10
|
||||
* @LastEditTime: 2023-07-14 16:50:39
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__user">
|
||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
||||
<div style="height:20px;width:100%"></div>
|
||||
<el-row :gutter="4" style="margin-top:20px">
|
||||
<div style="height: 20px; width: 100%"></div>
|
||||
<el-row :gutter="4" style="margin-top: 20px">
|
||||
<el-col :span="12" v-if="pieVisible">
|
||||
<pie-chart
|
||||
v-loading="pieLoading"
|
||||
@ -72,7 +72,7 @@ export default {
|
||||
label: "日期",
|
||||
dateType: "daterange",
|
||||
format: "yyyy-MM-dd",
|
||||
valueFormat: "yyyy-MM-ddTHH:mm:ss",
|
||||
valueFormat: "yyyy-MM-dd",
|
||||
rangeSeparator: "-",
|
||||
startPlaceholder: "开始时间",
|
||||
endPlaceholder: "结束时间",
|
||||
@ -179,8 +179,8 @@ export default {
|
||||
<style lang="scss">
|
||||
.mod-sys__user {
|
||||
> .el-row {
|
||||
display:flex;
|
||||
flex-wrap: wrap;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
.el-col {
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-12 15:06:16
|
||||
* @LastEditTime: 2023-07-17 16:27:18
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -73,66 +73,66 @@ export default {
|
||||
page: 1
|
||||
},
|
||||
options: [{
|
||||
value: 0,
|
||||
value: '0',
|
||||
label: '监控'
|
||||
},
|
||||
{
|
||||
value: 1,
|
||||
value: '1',
|
||||
label: '电芯来料检验'
|
||||
},
|
||||
{
|
||||
value: 2,
|
||||
value: '2',
|
||||
label: 'IQC抽检'
|
||||
},
|
||||
{
|
||||
value: 3,
|
||||
value: '3',
|
||||
label: 'IQC抽检2'
|
||||
},
|
||||
{
|
||||
value: 4,
|
||||
value: '4',
|
||||
label: '原料抽检'
|
||||
},
|
||||
{
|
||||
value: 5,
|
||||
value: '5',
|
||||
label: '进货外观检验'
|
||||
},
|
||||
{
|
||||
value: 6,
|
||||
value: '6',
|
||||
label: '库内原料检验'
|
||||
},
|
||||
{
|
||||
value: 7,
|
||||
value: '7',
|
||||
label: '来料检验'
|
||||
},
|
||||
{
|
||||
value: 8,
|
||||
value: '8',
|
||||
label: '胶片'
|
||||
},
|
||||
{
|
||||
value: 9,
|
||||
value: '9',
|
||||
label: '抽检'
|
||||
},
|
||||
{
|
||||
value: 10,
|
||||
value: '10',
|
||||
label: '巡检'
|
||||
}, {
|
||||
value: 11,
|
||||
value: '11',
|
||||
label: '首检'
|
||||
},
|
||||
{
|
||||
value: 12,
|
||||
value: '12',
|
||||
label: '末检'
|
||||
},
|
||||
{
|
||||
value: 13,
|
||||
value: '13',
|
||||
label: '实时监测'
|
||||
},
|
||||
{
|
||||
value: 14,
|
||||
value: '14',
|
||||
label: 'FQC抽检'
|
||||
},
|
||||
{
|
||||
value: 15,
|
||||
value: '15',
|
||||
label: 'OQC抽检'
|
||||
},
|
||||
],
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-12 14:57:28
|
||||
* @LastEditTime: 2023-07-17 16:27:53
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -116,59 +116,59 @@ export default {
|
||||
param: 'inspectionTypeId',
|
||||
selectOptions: [
|
||||
{
|
||||
id: 0,
|
||||
id: '0',
|
||||
name: '监控'
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
id: '1',
|
||||
name: '电芯来料检验'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
id: '2',
|
||||
name: 'IQC抽检'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
id: '3',
|
||||
name: 'IQC抽检2'
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
id: '4',
|
||||
name: '原料抽检'
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
id: '5',
|
||||
name: '进货外观检验'
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
id: '6',
|
||||
name: '库内原料检验'
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
id: '7',
|
||||
name: '来料检验'
|
||||
},
|
||||
{
|
||||
id: 8,
|
||||
id: '8',
|
||||
name: '胶片'
|
||||
},
|
||||
{
|
||||
id: 9,
|
||||
id: '9',
|
||||
name: '抽检'
|
||||
},
|
||||
{
|
||||
id: 10,
|
||||
id: '10',
|
||||
name: '巡检'
|
||||
},
|
||||
{
|
||||
id: 11,
|
||||
id: '11',
|
||||
name: '首检'
|
||||
},
|
||||
{
|
||||
id: 12,
|
||||
id: '12',
|
||||
name: '末检'
|
||||
},
|
||||
{
|
||||
id: 13,
|
||||
id: '13',
|
||||
name: '实时监测'
|
||||
},
|
||||
{
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-14 09:53:37
|
||||
* @LastEditTime: 2023-07-18 15:22:30
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -117,12 +117,6 @@ export default {
|
||||
name: "add",
|
||||
color: "primary",
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('export'),
|
||||
name: "export",
|
||||
color: "primary",
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('search'),
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-14 09:53:46
|
||||
* @LastEditTime: 2023-07-18 15:22:25
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -113,12 +113,6 @@ export default {
|
||||
name: "add",
|
||||
color: "primary",
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('export'),
|
||||
name: "export",
|
||||
color: "primary",
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('search'),
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-06-20 15:34:33
|
||||
* @LastEditTime: 2023-07-18 15:22:19
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -112,12 +112,6 @@ export default {
|
||||
name: "add",
|
||||
color: "primary",
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('export'),
|
||||
name: "export",
|
||||
color: "primary",
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('search'),
|
||||
|
264
src/views/modules/quality/characteristics.vue
Normal file
@ -0,0 +1,264 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-07-18 10:25:03
|
||||
* @LastEditTime: 2023-07-18 11:23:59
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__user">
|
||||
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
|
||||
</SearchBar>
|
||||
<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"
|
||||
@clickBtn="handleClick" />
|
||||
</base-table>
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
@confirm="handleConfirm" :before-close="handleCancel">
|
||||
<!-- <product-add ref="addOrUpdate" @refreshDataList="successSubmit"></product-add> -->
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
</base-dialog>
|
||||
<characterShow ref="characterShowList" v-if="characterShowList" @refreshDataList="getDataList">
|
||||
</characterShow>
|
||||
<!-- <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<product-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit"></product-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>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import basicPage from "@/mixins/basic-page";
|
||||
// import basicSearch from "@/mixins/basic-search";
|
||||
// import productSearch from "./components/productSearch.vue";
|
||||
// import productAdd from "./components/product-add.vue";
|
||||
import isHave from "./components/isHave.vue";
|
||||
import characterShow from "./components/character-show.vue";
|
||||
|
||||
// import radio from "./components/radio.vue";
|
||||
import i18n from "@/i18n";
|
||||
// import i18n from "@/i18n";
|
||||
const tableProps = [
|
||||
{
|
||||
prop: "productCode",
|
||||
label: i18n.t('basic.code'),
|
||||
},
|
||||
{
|
||||
prop: "productName",
|
||||
label: i18n.t('basic.name'),
|
||||
},
|
||||
{
|
||||
prop: "productSpecs",
|
||||
label: i18n.t('basic.specification'),
|
||||
},
|
||||
{
|
||||
prop: "productTypeName",
|
||||
label: i18n.t('basic.productTypeName'),
|
||||
},
|
||||
// {
|
||||
// prop: "detail",
|
||||
// label: i18n.t('basic.InspectionStage'),
|
||||
// subcomponent: radio,
|
||||
// },
|
||||
{
|
||||
prop: "inspectionPlan",
|
||||
label: i18n.t('quality.inspectionPlan'),
|
||||
subcomponent: isHave,
|
||||
},
|
||||
];
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "characteristics",
|
||||
btnName: i18n.t('code.characteristics'),
|
||||
}
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
getDataListURL: "/basic/qmsProduct/page",
|
||||
deleteURL: "/basic/qmsProduct",
|
||||
exportURL: '/basic/qmsProduct/export',
|
||||
getProductTypeURL: '/basic/qmsProductType/page'
|
||||
},
|
||||
tableProps,
|
||||
tableBtn,
|
||||
productData: {},
|
||||
characterShowList:false,
|
||||
searchOrEditTitle: "",
|
||||
searchOrUpdateVisible: false,
|
||||
productOrEditTitle: "",
|
||||
addOrEditTitle: '',
|
||||
addOrUpdateVisible: false,
|
||||
productOrUpdateVisible: false,
|
||||
formConfig: [
|
||||
{
|
||||
type: 'input',
|
||||
label: i18n.t('basic.productCode'),
|
||||
placeholder: i18n.t('basic.productCode'),
|
||||
param: 'productName',
|
||||
clearable: true
|
||||
},
|
||||
{
|
||||
type: 'input',
|
||||
label: i18n.t('basic.productName'),
|
||||
placeholder: i18n.t('basic.productName'),
|
||||
param: 'productCode',
|
||||
clearable: true
|
||||
},
|
||||
{
|
||||
type: 'input',
|
||||
label: i18n.t('basic.specification'),
|
||||
placeholder: i18n.t('basic.specification'),
|
||||
param: 'productSpecs',
|
||||
clearable: true
|
||||
},
|
||||
{
|
||||
type: 'select',
|
||||
label: i18n.t('code.inspectionPlan'),
|
||||
placeholder: i18n.t('code.inspectionPlan'),
|
||||
param: 'inspectionPlan',
|
||||
selectOptions: [
|
||||
{
|
||||
id: '0',
|
||||
name: '没有'
|
||||
},
|
||||
{
|
||||
id: '1',
|
||||
name: '有'
|
||||
},
|
||||
],
|
||||
clearable: true,
|
||||
filterable: true
|
||||
},
|
||||
{
|
||||
type: 'select',
|
||||
label: i18n.t('code.productType'),
|
||||
placeholder: i18n.t('code.productType'),
|
||||
param: 'productTypeId',
|
||||
selectOptions: [],
|
||||
clearable: true,
|
||||
filterable: true
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
}
|
||||
],
|
||||
};
|
||||
},
|
||||
components: {
|
||||
// productAdd
|
||||
characterShow
|
||||
},
|
||||
mounted () {
|
||||
this.getDict()
|
||||
},
|
||||
methods: {
|
||||
//search-bar点击
|
||||
handleProductCancel() {
|
||||
this.productOrUpdateVisible = false;
|
||||
this.productOrEditTitle = "";
|
||||
},
|
||||
setCurrent(index) {
|
||||
this.$refs.palletTable1.setCurrent("palletTable", index);
|
||||
},
|
||||
// handleSearchCancel() {
|
||||
// this.searchOrEditTitle = "";
|
||||
// this.searchOrUpdateVisible = false;
|
||||
// },
|
||||
conditionSearch() {
|
||||
this.searchOrEditTitle = "搜索";
|
||||
this.searchOrUpdateVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.searchOrUpdate.init()
|
||||
});
|
||||
},
|
||||
// handleConfirm() {
|
||||
// this.$refs.addOrUpdate.dataFormSubmitHandle();
|
||||
// },
|
||||
// conditionSearchSubmit() {},
|
||||
// conditionSearchSubmit(dataForm) {
|
||||
// // console.log(key);
|
||||
// // console.log(key);
|
||||
// this.listQuery.productName = dataForm.productName
|
||||
// this.listQuery.productCode = dataForm.productCode
|
||||
// this.listQuery.page = 1;
|
||||
// this.getDataList()
|
||||
// this.searchOrUpdateVisible = false;
|
||||
// // console.log(11111);
|
||||
// // this.conditionSearchSubmit();
|
||||
// },
|
||||
handleClick(val) {
|
||||
if (val.type === 'characteristics') {
|
||||
this.characterShowList = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.characterShowList.init(val.data.id)
|
||||
})
|
||||
}
|
||||
},
|
||||
getDict() {
|
||||
this.$http
|
||||
.get(this.urlOptions.getProductTypeURL, {
|
||||
params: this.listQuery,
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code == 0) {
|
||||
this.formConfig[4].selectOptions = res.data.list.map((item) => {
|
||||
return {
|
||||
id:item.id,
|
||||
name: item.productTypeName,
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
buttonClick(val) {
|
||||
console.log(val);
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
// this.listQuery.paramCode = val.paramCode;
|
||||
this.listQuery.productName = val.productName ? val.productName : null
|
||||
this.listQuery.productCode = val.productCode ? val.productCode : null
|
||||
this.listQuery.productTypeId = val.productTypeId ? val.productTypeId : null
|
||||
this.listQuery.productSpecs = val.productSpecs ? val.productSpecs : null
|
||||
this.listQuery.inspectionPlan = val.inspectionPlan ? val.inspectionPlan : null
|
||||
|
||||
// console.log(i18n);
|
||||
this.listQuery.page = 1;
|
||||
this.getDataList();
|
||||
break;
|
||||
case "add":
|
||||
this.addOrEditTitle = '新增'
|
||||
this.addOrUpdateVisible = true
|
||||
this.addOrUpdateHandle()
|
||||
break;
|
||||
default:
|
||||
console.log(val);
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-12 14:39:06
|
||||
* @LastEditTime: 2023-07-19 15:53:12
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -37,7 +37,8 @@ export default {
|
||||
return {
|
||||
urlOptions: {
|
||||
submitURL: "/quality/qmsInspectionPosition",
|
||||
infoURL: "/quality/qmsInspectionPosition"
|
||||
infoURL: "/quality/qmsInspectionPosition",
|
||||
getCodeURL: '/quality/qmsInspectionPosition/getCode'
|
||||
},
|
||||
options: [{
|
||||
value: 0,
|
||||
@ -94,21 +95,21 @@ export default {
|
||||
if (this.dataForm.id) {
|
||||
this.getInfo()
|
||||
} else {
|
||||
// this.getCode()
|
||||
this.getCode()
|
||||
}
|
||||
});
|
||||
},
|
||||
// getCode() {
|
||||
// this.$http.post(this.urlOptions.getCodeURL)
|
||||
// .then(({ data: res }) => {
|
||||
// if (res.code === 0) {
|
||||
// console.log(res);
|
||||
// this.dataForm.customSamplingCode = res.data
|
||||
// }
|
||||
// })
|
||||
// .catch(() => {
|
||||
// });
|
||||
// },
|
||||
getCode() {
|
||||
this.$http.post(this.urlOptions.getCodeURL)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.dataForm.inspectionPositionCode = res.data
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
});
|
||||
},
|
||||
// 获取信息
|
||||
getInfo() {
|
||||
this.$http
|
||||
|
351
src/views/modules/quality/components/character-show.vue
Normal file
@ -0,0 +1,351 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-07-18 10:25:03
|
||||
* @LastEditTime: 2023-07-18 14:14:55
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-drawer title="特性" :visible.sync="drawer" size="70%">
|
||||
<div class="mod-sys__user">
|
||||
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
|
||||
</SearchBar>
|
||||
<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"
|
||||
@clickBtn="handleClick" />
|
||||
</base-table>
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<characterShowAdd ref="characterShowAddList" v-if="characterShowAddList" @refreshDataList="getDataList">
|
||||
</characterShowAdd>
|
||||
<!-- <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<product-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit"></product-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>
|
||||
</el-drawer>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import basicPage from "@/mixins/basic-page";
|
||||
// import basicSearch from "@/mixins/basic-search";
|
||||
// import productSearch from "./components/productSearch.vue";
|
||||
import characterShowAdd from "./characterShow-add.vue";
|
||||
import quality from '@/filters/quality'
|
||||
|
||||
import i18n from "@/i18n";
|
||||
// import i18n from "@/i18n";
|
||||
const tableProps = [
|
||||
{
|
||||
prop: "processName",
|
||||
label: i18n.t('researchquality.processName'),
|
||||
},
|
||||
{
|
||||
prop: "productName",
|
||||
label: i18n.t('basic.productName'),
|
||||
},
|
||||
{
|
||||
prop: "inspectionType",
|
||||
label: i18n.t('quality.inspectionType'),
|
||||
filter: quality('inspectionType')
|
||||
},
|
||||
{
|
||||
prop: "parameterCode",
|
||||
label: i18n.t('quality.parameterCode'),
|
||||
},
|
||||
{
|
||||
prop: "parameterName",
|
||||
label: i18n.t('quality.parameterName'),
|
||||
},
|
||||
{
|
||||
prop: "measuringToolsType",
|
||||
label: i18n.t('quality.measuringToolsType'),
|
||||
},
|
||||
{
|
||||
prop: "specifications",
|
||||
label: i18n.t('quality.specifications'),
|
||||
},
|
||||
{
|
||||
prop: "characteristicsType",
|
||||
label: i18n.t('quality.characteristicsType'),
|
||||
filter: quality('characteristicsType')
|
||||
},
|
||||
{
|
||||
prop: "source",
|
||||
label: i18n.t('quality.source'),
|
||||
},
|
||||
{
|
||||
prop: "company",
|
||||
label: i18n.t('quality.company'),
|
||||
},
|
||||
{
|
||||
prop: "sampleSize",
|
||||
label: i18n.t('quality.sampleSize'),
|
||||
},
|
||||
{
|
||||
prop: "decimalDigits",
|
||||
label: i18n.t('quality.decimalDigits'),
|
||||
},
|
||||
{
|
||||
prop: "monitor",
|
||||
label: i18n.t('quality.monitor'),
|
||||
filter: quality('monitor')
|
||||
},
|
||||
{
|
||||
prop: "analyzeDrawings",
|
||||
label: i18n.t('quality.analyzeDrawings'),
|
||||
},
|
||||
{
|
||||
prop: "upperSpecificationLimit",
|
||||
label: i18n.t('quality.upperSpecificationLimit'),
|
||||
},
|
||||
{
|
||||
prop: "specificationCenterline",
|
||||
label: i18n.t('quality.specificationCenterline'),
|
||||
},
|
||||
{
|
||||
prop: "specificationOffline",
|
||||
label: i18n.t('quality.specificationOffline'),
|
||||
},
|
||||
{
|
||||
prop: "targetCpk",
|
||||
label: i18n.t('quality.targetCpk'),
|
||||
},
|
||||
{
|
||||
prop: "targetPpk",
|
||||
label: i18n.t('quality.targetPpk'),
|
||||
},
|
||||
];
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: i18n.t('edit'),
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: i18n.t('delete'),
|
||||
}
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
getDataListURL: "/code/characteristics/page",
|
||||
deleteURL: "/code/characteristics",
|
||||
exportURL: '/code/characteristics/export',
|
||||
// getProductTypeURL: '/basic/qmsProductType/page'
|
||||
},
|
||||
drawer:false,
|
||||
tableProps,
|
||||
characterShowAddList:false,
|
||||
tableBtn,
|
||||
productData: {},
|
||||
searchOrEditTitle: "",
|
||||
searchOrUpdateVisible: false,
|
||||
productOrEditTitle: "",
|
||||
addOrEditTitle: '',
|
||||
addOrUpdateVisible: false,
|
||||
productOrUpdateVisible: false,
|
||||
formConfig: [
|
||||
// {
|
||||
// type: 'input',
|
||||
// label: i18n.t('basic.productCode'),
|
||||
// placeholder: i18n.t('basic.productCode'),
|
||||
// param: 'name',
|
||||
// clearable: true
|
||||
// },
|
||||
// {
|
||||
// type: 'input',
|
||||
// label: i18n.t('basic.productName'),
|
||||
// placeholder: i18n.t('basic.productName'),
|
||||
// param: 'code',
|
||||
// clearable: true
|
||||
// },
|
||||
// {
|
||||
// type: 'input',
|
||||
// label: i18n.t('basic.specification'),
|
||||
// placeholder: i18n.t('basic.specification'),
|
||||
// param: 'code',
|
||||
// clearable: true
|
||||
// },
|
||||
// {
|
||||
// type: 'select',
|
||||
// label: i18n.t('basic.inspectionPlan'),
|
||||
// placeholder: i18n.t('basic.inspectionPlan'),
|
||||
// param: 'code',
|
||||
// selectOptions: [
|
||||
// {
|
||||
// id: '0',
|
||||
// name: '没有'
|
||||
// },
|
||||
// {
|
||||
// id: '1',
|
||||
// name: '有'
|
||||
// },
|
||||
// ],
|
||||
// clearable: true,
|
||||
// filterable: true
|
||||
// },
|
||||
// {
|
||||
// type: 'select',
|
||||
// label: i18n.t('code.productType'),
|
||||
// placeholder: i18n.t('code.productType'),
|
||||
// param: 'code',
|
||||
// selectOptions: [],
|
||||
// clearable: true,
|
||||
// filterable: true
|
||||
// },
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: "success",
|
||||
plain: true
|
||||
}
|
||||
],
|
||||
};
|
||||
},
|
||||
components: {
|
||||
// productAdd
|
||||
characterShowAdd
|
||||
},
|
||||
mounted() {
|
||||
// this.getDict()
|
||||
},
|
||||
methods: {
|
||||
//search-bar点击
|
||||
handleProductCancel() {
|
||||
this.productOrUpdateVisible = false;
|
||||
this.productOrEditTitle = "";
|
||||
},
|
||||
// handleSearchCancel() {
|
||||
// this.searchOrEditTitle = "";
|
||||
// this.searchOrUpdateVisible = false;
|
||||
// },
|
||||
init(id) {
|
||||
this.listQuery.productId = id || ""
|
||||
// console.log(11111)
|
||||
// this.dataForm.dictTypeId = dictTypeId || "";
|
||||
this.drawer = true
|
||||
this.$nextTick(() => {
|
||||
// if (this.dataForm.id) {
|
||||
this.getDataList()
|
||||
// } else {
|
||||
// this.getCode()
|
||||
// }
|
||||
});
|
||||
},
|
||||
conditionSearch() {
|
||||
this.searchOrEditTitle = "搜索";
|
||||
this.searchOrUpdateVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.searchOrUpdate.init()
|
||||
});
|
||||
},
|
||||
// handleConfirm() {
|
||||
// this.$refs.addOrUpdate.dataFormSubmitHandle();
|
||||
// },
|
||||
// conditionSearchSubmit() {},
|
||||
conditionSearchSubmit(dataForm) {
|
||||
// console.log(key);
|
||||
// console.log(key);
|
||||
this.listQuery.productName = dataForm.productName
|
||||
this.listQuery.productCode = dataForm.productCode
|
||||
this.listQuery.page = 1;
|
||||
this.getDataList()
|
||||
this.searchOrUpdateVisible = false;
|
||||
// console.log(11111);
|
||||
// this.conditionSearchSubmit();
|
||||
},
|
||||
handleClick(val) {
|
||||
console.log(val);
|
||||
if (val.type === "delete") {
|
||||
this.$confirm(`确定对名称${val.data.productName}]进行删除操作?`, "提示", {
|
||||
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.characterShowAddList = true
|
||||
const obj = {
|
||||
productId: this.listQuery.productId,
|
||||
id:val.data.id
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.$refs.characterShowAddList.init(obj)
|
||||
});
|
||||
}
|
||||
},
|
||||
// getDict() {
|
||||
// this.$http
|
||||
// .get(this.urlOptions.getProductTypeURL, {
|
||||
// params: this.listQuery,
|
||||
// })
|
||||
// .then(({ data: res }) => {
|
||||
// if (res.code == 0) {
|
||||
// this.formConfig[4].selectOptions = res.data.list
|
||||
// }
|
||||
// })
|
||||
// },
|
||||
buttonClick(val) {
|
||||
console.log(val);
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
this.listQuery.page = 1
|
||||
this.getDataList()
|
||||
break;
|
||||
case "add":
|
||||
this.characterShowAddList = true
|
||||
const obj = {
|
||||
productId:this.listQuery.productId
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.$refs.characterShowAddList.init(obj)
|
||||
})
|
||||
break;
|
||||
default:
|
||||
console.log(val);
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
380
src/views/modules/quality/components/characterShow-add.vue
Normal file
@ -0,0 +1,380 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-07-14 13:44:46
|
||||
* @LastEditTime: 2023-07-18 15:01:40
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<div>
|
||||
<el-drawer close-on-press-escape :title="$t('add')" :append-to-body="true" :before-close="handleClose"
|
||||
:visible.sync="innerDrawer">
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="productId" :label="$t('basic.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('basic.productName')">
|
||||
<el-option v-for="item in productList" :key="item.id" :label="item.productName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="processId" :label="$t('researchquality.processName')">
|
||||
<el-select v-model="dataForm.processId" :placeholder="$t('researchquality.processName')">
|
||||
<el-option v-for="item in processList" :key="item.id" :label="item.processName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="measuringToolsType" :label="$t('quality.measuringToolsType')">
|
||||
<el-select v-model="dataForm.measuringToolsType" :placeholder="$t('quality.measuringToolsType')">
|
||||
<el-option v-for="item in gageTypeList" :key="item.id" :label="item.name" :value="item.name">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="monitor" :label="$t('quality.monitor')">
|
||||
<el-select v-model="dataForm.monitor" :placeholder="$t('quality.monitor')">
|
||||
<el-option v-for="item in monitorList" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="characteristicsType" :label="$t('quality.characteristicsType')">
|
||||
<el-select v-model="dataForm.characteristicsType" :placeholder="$t('quality.characteristicsType')">
|
||||
<el-option v-for="item in characteristicsTypeList" :key="item.value" :label="item.label"
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="inspectionType" :label="$t('quality.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('quality.inspectionType')">
|
||||
<el-option v-for="item in inspectionTypeList" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="parameterCode" :label="$t('quality.parameterCode')">
|
||||
<el-input v-model="dataForm.parameterCode" :placeholder="$t('quality.parameterCode')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="parameterName" :label="$t('quality.parameterName')">
|
||||
<el-input v-model="dataForm.parameterName" :placeholder="$t('quality.parameterName')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="specifications" :label="$t('quality.specifications')">
|
||||
<el-input v-model="dataForm.specifications" :placeholder="$t('quality.specifications')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="source" :label="$t('quality.source')">
|
||||
<el-input v-model="dataForm.source" :placeholder="$t('quality.source')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="company" :label="$t('quality.company')">
|
||||
<el-input v-model="dataForm.company" :placeholder="$t('quality.company')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="decimalDigits" :label="$t('quality.decimalDigits')">
|
||||
<el-input v-model="dataForm.decimalDigits" :placeholder="$t('quality.decimalDigits')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="sampleSize" :label="$t('quality.sampleSize')">
|
||||
<el-input v-model="dataForm.sampleSize" :placeholder="$t('quality.sampleSize')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="analyzeDrawings" :label="$t('quality.analyzeDrawings')">
|
||||
<el-input v-model="dataForm.analyzeDrawings" :placeholder="$t('quality.analyzeDrawings')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="upperSpecificationLimit" :label="$t('quality.upperSpecificationLimit')">
|
||||
<el-input v-model="dataForm.upperSpecificationLimit" :placeholder="$t('quality.upperSpecificationLimit')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="specificationCenterline" :label="$t('quality.specificationCenterline')">
|
||||
<el-input v-model="dataForm.specificationCenterline" :placeholder="$t('quality.specificationCenterline')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="specificationOffline" :label="$t('quality.specificationOffline')">
|
||||
<el-input v-model="dataForm.specificationOffline" :placeholder="$t('quality.specificationOffline')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="targetCpk" :label="$t('quality.targetCpk')">
|
||||
<el-input v-model="dataForm.targetCpk" :placeholder="$t('quality.targetCpk')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="targetPpk" :label="$t('quality.targetPpk')">
|
||||
<el-input v-model="dataForm.targetPpk" :placeholder="$t('quality.targetPpk')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="innerDrawer = false">{{ $t('cancel') }} </el-button>
|
||||
<el-button type="primary" @click="dataFormSubmit"> {{ $t('confirm') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import i18n from "@/i18n"
|
||||
import basicAdd from "@/mixins/basic-add"
|
||||
import debounce from "lodash/debounce"
|
||||
|
||||
export default {
|
||||
mixins: [basicAdd],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
submitURL: "/code/characteristics",
|
||||
getDictDataDetail: '/mutual/qmsDataDictionaryDetail/page',
|
||||
getProductListURL: '/basic/qmsProduct/page',
|
||||
getProcessURL: '/basic/qmsProcess/page',
|
||||
getGageTypeURL: "/gage/qmsGageType/page",
|
||||
},
|
||||
monitorList: [
|
||||
{
|
||||
value: 0,
|
||||
label: '否'
|
||||
},
|
||||
{
|
||||
value: 1,
|
||||
label: '是'
|
||||
},
|
||||
],
|
||||
characteristicsTypeList: [
|
||||
{
|
||||
value: 0,
|
||||
label: '计量'
|
||||
},
|
||||
{
|
||||
value: 1,
|
||||
label: '计数'
|
||||
},
|
||||
],
|
||||
inspectionTypeList: [{
|
||||
value: 0,
|
||||
label: '监控'
|
||||
},
|
||||
{
|
||||
value: 1,
|
||||
label: '电芯来料检验'
|
||||
},
|
||||
{
|
||||
value: 2,
|
||||
label: 'IQC抽检'
|
||||
},
|
||||
{
|
||||
value: 3,
|
||||
label: 'IQC抽检2'
|
||||
},
|
||||
{
|
||||
value: 4,
|
||||
label: '原料抽检'
|
||||
},
|
||||
{
|
||||
value: 5,
|
||||
label: '进货外观检验'
|
||||
},
|
||||
{
|
||||
value: 6,
|
||||
label: '库内原料检验'
|
||||
},
|
||||
{
|
||||
value: 7,
|
||||
label: '来料检验'
|
||||
},
|
||||
{
|
||||
value: 8,
|
||||
label: '胶片'
|
||||
},
|
||||
{
|
||||
value: 9,
|
||||
label: '抽检'
|
||||
},
|
||||
{
|
||||
value: 10,
|
||||
label: '巡检'
|
||||
}, {
|
||||
value: 11,
|
||||
label: '首检'
|
||||
},
|
||||
{
|
||||
value: 12,
|
||||
label: '末检'
|
||||
},
|
||||
{
|
||||
value: 13,
|
||||
label: '实时监测'
|
||||
},
|
||||
{
|
||||
value: 14,
|
||||
label: 'FQC抽检'
|
||||
},
|
||||
{
|
||||
value: 15,
|
||||
label: 'OQC抽检'
|
||||
},
|
||||
],
|
||||
processList: [],
|
||||
productList: [],
|
||||
gageTypeList:[],
|
||||
dataForm: {
|
||||
analyzeDrawings:null,
|
||||
characteristicsType: null,
|
||||
company: null,
|
||||
decimalDigits: null,
|
||||
id: null,
|
||||
inspectionType: null,
|
||||
measuringToolsType: null,
|
||||
monitor: null,
|
||||
parameterName: null,
|
||||
parameterCode: null,
|
||||
processId: null,
|
||||
productId: null,
|
||||
remark: null,
|
||||
sampleSize: null,
|
||||
serialNo: null,
|
||||
source: null,
|
||||
specificationCenterline: null,
|
||||
specificationOffline: null,
|
||||
specifications: null,
|
||||
targetCpk: null,
|
||||
targetPpk: null,
|
||||
upperSpecificationLimit: null,
|
||||
},
|
||||
innerDrawer: false,
|
||||
listQuery: {
|
||||
limit: 10,
|
||||
page:1,
|
||||
},
|
||||
categoryList:[],
|
||||
requirementList: [],
|
||||
knowledgeBaseList:[],
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
dataRule() {
|
||||
return {
|
||||
productId: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
parameterCode: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
parameterName: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "blur",
|
||||
},
|
||||
]
|
||||
};
|
||||
},
|
||||
},
|
||||
mounted () {
|
||||
this.getDict()
|
||||
// this.getAccessPath()
|
||||
},
|
||||
methods: {
|
||||
init(obj) {
|
||||
this.dataForm.productId = obj.productId || ''
|
||||
this.dataForm.id = obj.id || ''
|
||||
this.innerDrawer = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs["dataForm"].resetFields()
|
||||
if (this.dataForm.id) {
|
||||
this.getInfo()
|
||||
} else {
|
||||
// this.getCode()
|
||||
}
|
||||
})
|
||||
},
|
||||
handleClose() {
|
||||
this.innerDrawer = true
|
||||
this.$refs.dataForm.resetFields()
|
||||
},
|
||||
getDict() {
|
||||
this.$http
|
||||
.get(this.urlOptions.getProductListURL, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1,
|
||||
}
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
this.productList = res.data.list
|
||||
}
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getProcessURL, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1,
|
||||
}
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
this.processList = res.data.list
|
||||
}
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getGageTypeURL, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1,
|
||||
}
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
this.gageTypeList = res.data.list
|
||||
}
|
||||
})
|
||||
},
|
||||
getInfo() {
|
||||
this.$http
|
||||
.get(`/code/characteristics/${this.dataForm.id}`)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.dataForm = {
|
||||
...this.dataForm,
|
||||
...res.data,
|
||||
};
|
||||
})
|
||||
.catch(() => { });
|
||||
},
|
||||
// 表单提交
|
||||
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.innerDrawer = false;
|
||||
this.$emit("refreshDataList");
|
||||
},
|
||||
});
|
||||
})
|
||||
.catch(() => { });
|
||||
});
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
42
src/views/modules/quality/components/isHave.vue
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-31 09:49:36
|
||||
* @LastEditTime: 2023-07-18 10:28:40
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<span>
|
||||
<el-tag v-if="injectData.inspectionPlan === 1" type="success">有</el-tag>
|
||||
<el-tag v-else type="warning">没有</el-tag>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import { addDynamicRoute } from '@/router'
|
||||
export default {
|
||||
props: {
|
||||
injectData: {
|
||||
type: Object,
|
||||
default: () => ({})
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 子级
|
||||
// emitClick () {
|
||||
// // 路由参数
|
||||
// const routeParams = {
|
||||
// routeName: `${this.$route.name}__${this.injectData.id}`,
|
||||
// title: `${this.$route.meta.title} - ${this.injectData.dictType}`,
|
||||
// path: 'sys/dict-data',
|
||||
// params: {
|
||||
// dictTypeId: this.injectData.id
|
||||
// }
|
||||
// }
|
||||
// // 动态路由
|
||||
// addDynamicRoute(routeParams, this.$router)
|
||||
// }
|
||||
}
|
||||
}
|
||||
</script>
|