Compare commits
	
		
			21 Commits
		
	
	
		
			f002123cf5
			...
			master
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 4ade4b79a9 | |||
| 
						 | 
					9f485a35e9 | ||
| 
						 | 
					b1749486fe | ||
| 2859ec78c4 | |||
| 
						 | 
					a17d258934 | ||
| 
						 | 
					837991ee91 | ||
| 258b9f1256 | |||
| 
						 | 
					bcdb04059b | ||
| 
						 | 
					2ba0a42a1f | ||
| 94a359fe1e | |||
| d942fd83f8 | |||
| 931fb70ee9 | |||
| 97fe6d23b3 | |||
| 93f92f42c5 | |||
| 
						 | 
					ab30435246 | ||
| 26a0d9827c | |||
| 7d1e82b818 | |||
| 005143cd2d | |||
| 
						 | 
					05c4374d36 | ||
| 
						 | 
					b810720fbd | ||
| cdca6407ff | 
@@ -1,8 +1,8 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zwq
 | 
					 * @Author: zwq
 | 
				
			||||||
 * @Date: 2022-08-22 14:57:50
 | 
					 * @Date: 2022-08-22 14:57:50
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: DY
 | 
				
			||||||
 * @LastEditTime: 2023-07-17 10:36:32
 | 
					 * @LastEditTime: 2023-08-01 14:42:59
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<!DOCTYPE html>
 | 
					<!DOCTYPE html>
 | 
				
			||||||
@@ -40,6 +40,7 @@
 | 
				
			|||||||
    <script>
 | 
					    <script>
 | 
				
			||||||
      // window.SITE_CONFIG['apiURL'] = 'http://192.168.1.76:8080/ym-pass';
 | 
					      // window.SITE_CONFIG['apiURL'] = 'http://192.168.1.76:8080/ym-pass';
 | 
				
			||||||
      window.SITE_CONFIG['apiURL'] = 'http://192.168.1.23:8080/';
 | 
					      window.SITE_CONFIG['apiURL'] = 'http://192.168.1.23:8080/';
 | 
				
			||||||
 | 
					      // window.SITE_CONFIG['apiURL'] = 'http://192.168.0.31:8080/';
 | 
				
			||||||
    </script>
 | 
					    </script>
 | 
				
			||||||
    <% } %>
 | 
					    <% } %>
 | 
				
			||||||
      <!-- 集成测试环境 -->
 | 
					      <!-- 集成测试环境 -->
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								src/assets/img/add_new.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 1.3 KiB  | 
@@ -599,13 +599,19 @@ img {
 | 
				
			|||||||
            display: none;
 | 
					            display: none;
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          & > .el-tabs__item {
 | 
					          & > .el-tabs__item {
 | 
				
			||||||
            height: $content--tabs-header-height;
 | 
					 | 
				
			||||||
            border: 0;
 | 
					            border: 0;
 | 
				
			||||||
            padding: 0 10px;
 | 
					            padding: 0 10px;
 | 
				
			||||||
            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,
 | 
					            &:focus,
 | 
				
			||||||
            &:hover,
 | 
					            &:hover,
 | 
				
			||||||
            &.is-active {
 | 
					            &.is-active {
 | 
				
			||||||
 | 
					              color: rgba(255, 255, 255, 1);
 | 
				
			||||||
 | 
					              background-color: rgba(62, 142, 247, 1);
 | 
				
			||||||
              &:after {
 | 
					              &:after {
 | 
				
			||||||
                display: block;
 | 
					                display: block;
 | 
				
			||||||
              }
 | 
					              }
 | 
				
			||||||
@@ -630,6 +636,7 @@ img {
 | 
				
			|||||||
              line-height: 24px;
 | 
					              line-height: 24px;
 | 
				
			||||||
              border-radius: 5px;
 | 
					              border-radius: 5px;
 | 
				
			||||||
              background-color: rgba(239, 239, 239, 1);
 | 
					              background-color: rgba(239, 239, 239, 1);
 | 
				
			||||||
 | 
					              &:hover,
 | 
				
			||||||
              &.is-active {
 | 
					              &.is-active {
 | 
				
			||||||
                color: rgba(255, 255, 255, 1);
 | 
					                color: rgba(255, 255, 255, 1);
 | 
				
			||||||
                background-color: rgba(62, 142, 247, 1);
 | 
					                background-color: rgba(62, 142, 247, 1);
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										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]
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -13,6 +13,7 @@ t.brand.mini = 'qms'
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
t.public = {}
 | 
					t.public = {}
 | 
				
			||||||
t.public.operation = '操作'
 | 
					t.public.operation = '操作'
 | 
				
			||||||
 | 
					t.public.activate = '启动'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
t.add = '新增'
 | 
					t.add = '新增'
 | 
				
			||||||
t.delete = '删除'
 | 
					t.delete = '删除'
 | 
				
			||||||
@@ -45,7 +46,10 @@ t.parameter = '台差参数'
 | 
				
			|||||||
t.configuration = '配置'
 | 
					t.configuration = '配置'
 | 
				
			||||||
t.uploadFile = '上传'
 | 
					t.uploadFile = '上传'
 | 
				
			||||||
t.detail = '查看详情'
 | 
					t.detail = '查看详情'
 | 
				
			||||||
 | 
					t.preview = '预览'
 | 
				
			||||||
 | 
					t.edit = '编辑'
 | 
				
			||||||
 | 
					t.finished = '已完成'
 | 
				
			||||||
 | 
					t.implementation = '实施中'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -53,9 +57,11 @@ t.detail = '查看详情'
 | 
				
			|||||||
t.prompt = {}
 | 
					t.prompt = {}
 | 
				
			||||||
t.prompt.title = '提示'
 | 
					t.prompt.title = '提示'
 | 
				
			||||||
t.prompt.info = '确定进行[{handle}]操作?'
 | 
					t.prompt.info = '确定进行[{handle}]操作?'
 | 
				
			||||||
 | 
					t.prompt.delete = '是否对[{object}]进行删除操作?'
 | 
				
			||||||
t.prompt.success = '操作成功'
 | 
					t.prompt.success = '操作成功'
 | 
				
			||||||
t.prompt.failed = '操作失败'
 | 
					t.prompt.failed = '操作失败'
 | 
				
			||||||
t.prompt.deleteBatch = '请选择删除项'
 | 
					t.prompt.deleteBatch = '请选择删除项'
 | 
				
			||||||
 | 
					t.prompt.chooseGroup = '请选择要求分组'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
t.validate = {}
 | 
					t.validate = {}
 | 
				
			||||||
t.validate.required = '必填项不能为空'
 | 
					t.validate.required = '必填项不能为空'
 | 
				
			||||||
@@ -303,6 +309,10 @@ t.basic.course = '过程检验'
 | 
				
			|||||||
t.basic.shipment = '出货检验'
 | 
					t.basic.shipment = '出货检验'
 | 
				
			||||||
t.basic.userName = '用户名'
 | 
					t.basic.userName = '用户名'
 | 
				
			||||||
t.basic.departName = '部门名'
 | 
					t.basic.departName = '部门名'
 | 
				
			||||||
 | 
					t.basic.productCode = '产品编码'
 | 
				
			||||||
 | 
					t.basic.productName = '产品名称'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -342,7 +352,7 @@ t.quality.judgmentMark = '判断标识'
 | 
				
			|||||||
t.quality.disposalMethodStatus = '状态'
 | 
					t.quality.disposalMethodStatus = '状态'
 | 
				
			||||||
t.quality.inspectionPositionNumber = '序号'
 | 
					t.quality.inspectionPositionNumber = '序号'
 | 
				
			||||||
t.quality.productName =	'检验产品'
 | 
					t.quality.productName =	'检验产品'
 | 
				
			||||||
t.quality.supplierName =	'供应商名称'
 | 
					t.quality.suppliername =	'供应商名称'
 | 
				
			||||||
t.quality.transferOutName =	'转出'
 | 
					t.quality.transferOutName =	'转出'
 | 
				
			||||||
t.quality.transferInName =	'转入'
 | 
					t.quality.transferInName =	'转入'
 | 
				
			||||||
t.quality.dataSources	 =	'数据来源'
 | 
					t.quality.dataSources	 =	'数据来源'
 | 
				
			||||||
@@ -350,6 +360,8 @@ t.quality.remark = '备注'
 | 
				
			|||||||
t.quality.userName = '创建人'
 | 
					t.quality.userName = '创建人'
 | 
				
			||||||
t.quality.inspectionStage = '检验阶段'
 | 
					t.quality.inspectionStage = '检验阶段'
 | 
				
			||||||
t.quality.supplierName = '供应商'
 | 
					t.quality.supplierName = '供应商'
 | 
				
			||||||
 | 
					t.quality.supplierList = '供应商列表'
 | 
				
			||||||
 | 
					t.quality.principal = '负责人列表'
 | 
				
			||||||
t.quality.normalToRelaxed = '正常转放宽'
 | 
					t.quality.normalToRelaxed = '正常转放宽'
 | 
				
			||||||
t.quality.normalToTightened =	'正常转加严'
 | 
					t.quality.normalToTightened =	'正常转加严'
 | 
				
			||||||
t.quality.relaxedToNormal =	'放宽转正常'
 | 
					t.quality.relaxedToNormal =	'放宽转正常'
 | 
				
			||||||
@@ -363,7 +375,23 @@ t.quality.sampleRangeHigh = '取样范围高'
 | 
				
			|||||||
t.quality.inspectionLevel = '检验水平'
 | 
					t.quality.inspectionLevel = '检验水平'
 | 
				
			||||||
t.quality.sampleSizeCode = '样本量字码'
 | 
					t.quality.sampleSizeCode = '样本量字码'
 | 
				
			||||||
t.quality.sampleSize = '样本量'
 | 
					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'
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -449,13 +477,17 @@ t.supplier.projectName = '评估项目'
 | 
				
			|||||||
t.supplier.projectTypeName	= '类别'
 | 
					t.supplier.projectTypeName	= '类别'
 | 
				
			||||||
t.supplier.requirement = '要求'
 | 
					t.supplier.requirement = '要求'
 | 
				
			||||||
t.supplier.statisticalValue = '是否统计值'
 | 
					t.supplier.statisticalValue = '是否统计值'
 | 
				
			||||||
t.supplier.evaluationTemplateName = '评估模板'
 | 
					 | 
				
			||||||
t.supplier.lastStartTime = '上次启动时间段'
 | 
					t.supplier.lastStartTime = '上次启动时间段'
 | 
				
			||||||
t.supplier.lastStartEvaluationPeriod = '上次启动评估时间段'
 | 
					t.supplier.lastStartEvaluationPeriod = '上次启动评估时间段'
 | 
				
			||||||
t.supplier.estimatedNextStartTime = '预计下次启动时间'
 | 
					t.supplier.estimatedNextStartTime = '预计下次启动时间'
 | 
				
			||||||
t.supplier.offline = '下限'
 | 
					t.supplier.offline = '下限'
 | 
				
			||||||
t.supplier.online = '上限'
 | 
					t.supplier.online = '上限'
 | 
				
			||||||
t.supplier.supplierStatus = '供应商状态'
 | 
					t.supplier.supplierStatus = '供应商状态'
 | 
				
			||||||
 | 
					t.supplier.year = '年度'
 | 
				
			||||||
 | 
					t.supplier.quarter = '季度'
 | 
				
			||||||
 | 
					t.supplier.month = '月度'
 | 
				
			||||||
 | 
					t.supplier.materiel = '物料'
 | 
				
			||||||
 | 
					t.supplier.requiredGrouping = '要求分组'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -555,6 +587,7 @@ t.gage.repeatabilityAndReproducibility = '重复性和再现性(R&R)'
 | 
				
			|||||||
t.gage.partVariation = '零件变差(TV)'
 | 
					t.gage.partVariation = '零件变差(TV)'
 | 
				
			||||||
t.gage.decide = '综合判定'
 | 
					t.gage.decide = '综合判定'
 | 
				
			||||||
t.gage.tabularComputations = '表格计算'
 | 
					t.gage.tabularComputations = '表格计算'
 | 
				
			||||||
 | 
					t.gage.tabularComputationsAdd = '表格计算新增'
 | 
				
			||||||
t.gage.fabrication = '制作'
 | 
					t.gage.fabrication = '制作'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -585,6 +618,8 @@ t.laboratory.trainContent	= '培训内容'
 | 
				
			|||||||
t.laboratory.trainDate	= '培训日期'
 | 
					t.laboratory.trainDate	= '培训日期'
 | 
				
			||||||
t.laboratory.trainDuration = '培训时长'
 | 
					t.laboratory.trainDuration = '培训时长'
 | 
				
			||||||
t.laboratory.trainType = '培训类型'
 | 
					t.laboratory.trainType = '培训类型'
 | 
				
			||||||
 | 
					t.laboratory.timeSlot	= '时间段'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
t.code = {}
 | 
					t.code = {}
 | 
				
			||||||
@@ -678,7 +713,6 @@ t.researchquality.registrationDate = '登记日期'
 | 
				
			|||||||
t.researchquality.changeSource = '变更来源'
 | 
					t.researchquality.changeSource = '变更来源'
 | 
				
			||||||
t.researchquality.owner = '所有者'
 | 
					t.researchquality.owner = '所有者'
 | 
				
			||||||
t.researchquality.category = 'Category'
 | 
					t.researchquality.category = 'Category'
 | 
				
			||||||
t.researchquality.title = '标题'
 | 
					 | 
				
			||||||
t.researchquality.currentStage = '当前阶段'
 | 
					t.researchquality.currentStage = '当前阶段'
 | 
				
			||||||
t.researchquality.productName = '产品名称'
 | 
					t.researchquality.productName = '产品名称'
 | 
				
			||||||
t.researchquality.qualityChangeStatus = '状态'
 | 
					t.researchquality.qualityChangeStatus = '状态'
 | 
				
			||||||
@@ -725,6 +759,17 @@ t.customerquality.confirmDeliveryDate = '确认交付日期'
 | 
				
			|||||||
t.customerquality.deliveryRequiredDate = '要求交付日期'
 | 
					t.customerquality.deliveryRequiredDate = '要求交付日期'
 | 
				
			||||||
t.customerquality.status = '状态'
 | 
					t.customerquality.status = '状态'
 | 
				
			||||||
t.customerquality.file = '清单文件'
 | 
					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
 | 
					 * @Author: zwq
 | 
				
			||||||
 * @Date: 2023-01-04 10:29:39
 | 
					 * @Date: 2023-01-04 10:29:39
 | 
				
			||||||
 * @LastEditors: zwq
 | 
					 * @LastEditors: zwq
 | 
				
			||||||
 * @LastEditTime: 2023-01-05 16:14:45
 | 
					 * @LastEditTime: 2023-07-19 16:33:56
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
import Vue from 'vue'
 | 
					import Vue from 'vue'
 | 
				
			||||||
@@ -28,11 +28,11 @@ export default new Vuex.Store({
 | 
				
			|||||||
    contentIsNeedRefresh: false,
 | 
					    contentIsNeedRefresh: false,
 | 
				
			||||||
    // 内容, 标签页(默认添加首页)
 | 
					    // 内容, 标签页(默认添加首页)
 | 
				
			||||||
    contentTabs: [
 | 
					    contentTabs: [
 | 
				
			||||||
      {
 | 
					      // {
 | 
				
			||||||
        ...window.SITE_CONFIG['contentTabDefault'],
 | 
					      //   ...window.SITE_CONFIG['contentTabDefault'],
 | 
				
			||||||
        'name': 'home',
 | 
					      //   'name': 'home',
 | 
				
			||||||
        'title': '首页'
 | 
					      //   'title': '首页'
 | 
				
			||||||
      }
 | 
					      // }
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    contentTabsActiveName: 'home'
 | 
					    contentTabsActiveName: 'home'
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,10 @@
 | 
				
			|||||||
 | 
					<!--
 | 
				
			||||||
 | 
					 * @Author: zwq
 | 
				
			||||||
 | 
					 * @Date: 2023-07-13 15:31:21
 | 
				
			||||||
 | 
					 * @LastEditors: zwq
 | 
				
			||||||
 | 
					 * @LastEditTime: 2023-07-20 09:05:48
 | 
				
			||||||
 | 
					 * @Description: 
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <main :class="['aui-content', { 'aui-content--tabs': $route.meta.isTab }]">
 | 
					  <main :class="['aui-content', { 'aui-content--tabs': $route.meta.isTab }]">
 | 
				
			||||||
    <!-- tab展示内容 -->
 | 
					    <!-- tab展示内容 -->
 | 
				
			||||||
@@ -16,11 +23,13 @@
 | 
				
			|||||||
          :key="item.name"
 | 
					          :key="item.name"
 | 
				
			||||||
          :name="item.name"
 | 
					          :name="item.name"
 | 
				
			||||||
          :label="item.title"
 | 
					          :label="item.title"
 | 
				
			||||||
          :closable="item.name !== 'home'"
 | 
					          closable
 | 
				
			||||||
          :class="{ 'is-iframe': tabIsIframe(item.iframeURL) }">
 | 
					          :class="{ 'is-iframe': tabIsIframe(item.iframeURL) }">
 | 
				
			||||||
          <template v-if="item.name === 'home'">
 | 
					          <!-- <template v-if="item.name === 'home'">
 | 
				
			||||||
            <svg slot="label" class="icon-svg aui-content--tabs-icon-nav" aria-hidden="true"><use xlink:href="#icon-home"></use></svg>
 | 
					            <svg slot="label" class="icon-svg aui-content--tabs-icon-nav" aria-hidden="true">
 | 
				
			||||||
          </template>
 | 
					              <use xlink:href="#首页"></use>
 | 
				
			||||||
 | 
					            </svg>
 | 
				
			||||||
 | 
					          </template> -->
 | 
				
			||||||
          <iframe v-if="tabIsIframe(item.iframeURL)" :src="item.iframeURL" width="100%" height="100%" frameborder="0" scrolling="yes"></iframe>
 | 
					          <iframe v-if="tabIsIframe(item.iframeURL)" :src="item.iframeURL" width="100%" height="100%" frameborder="0" scrolling="yes"></iframe>
 | 
				
			||||||
          <!-- <keep-alive > -->
 | 
					          <!-- <keep-alive > -->
 | 
				
			||||||
            <router-view v-if="item.name === $store.state.contentTabsActiveName" />
 | 
					            <router-view v-if="item.name === $store.state.contentTabsActiveName" />
 | 
				
			||||||
@@ -62,9 +71,9 @@ export default {
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    // tabs, 删除tab
 | 
					    // tabs, 删除tab
 | 
				
			||||||
    tabRemoveHandle (tabName) {
 | 
					    tabRemoveHandle (tabName) {
 | 
				
			||||||
      if (tabName === 'home') {
 | 
					      // if (tabName === 'home') {
 | 
				
			||||||
        return false
 | 
					      //   return false
 | 
				
			||||||
      }
 | 
					      // }
 | 
				
			||||||
      this.$store.state.contentTabs = this.$store.state.contentTabs.filter(item => item.name !== tabName)
 | 
					      this.$store.state.contentTabs = this.$store.state.contentTabs.filter(item => item.name !== tabName)
 | 
				
			||||||
      if (this.$store.state.contentTabs.length <= 0) {
 | 
					      if (this.$store.state.contentTabs.length <= 0) {
 | 
				
			||||||
        this.$store.state.sidebarMenuActiveName = this.$store.state.contentTabsActiveName = 'home'
 | 
					        this.$store.state.sidebarMenuActiveName = this.$store.state.contentTabsActiveName = 'home'
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
 * @Author: zwq
 | 
					 * @Author: zwq
 | 
				
			||||||
 * @Date: 2022-08-22 14:57:51
 | 
					 * @Date: 2022-08-22 14:57:51
 | 
				
			||||||
 * @LastEditors: zwq
 | 
					 * @LastEditors: zwq
 | 
				
			||||||
 * @LastEditTime: 2023-07-14 15:53:17
 | 
					 * @LastEditTime: 2023-07-19 09:27:53
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
@@ -36,7 +36,7 @@
 | 
				
			|||||||
         
 | 
					         
 | 
				
			||||||
        <el-menu-item index="6" @click="$router.push({ name: 'home' })">
 | 
					        <el-menu-item index="6" @click="$router.push({ name: 'home' })">
 | 
				
			||||||
          <svg class="icon-svg aui-navbar__icon-menu" aria-hidden="true">
 | 
					          <svg class="icon-svg aui-navbar__icon-menu" aria-hidden="true">
 | 
				
			||||||
            <use xlink:href="#icon-home"></use>
 | 
					            <use xlink:href="#首页"></use>
 | 
				
			||||||
          </svg>
 | 
					          </svg>
 | 
				
			||||||
        </el-menu-item>
 | 
					        </el-menu-item>
 | 
				
			||||||
        <!-- 中英文 -->
 | 
					        <!-- 中英文 -->
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,20 +1,21 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-02-14 15:02:26
 | 
					 * @Date: 2023-02-14 15:02:26
 | 
				
			||||||
 * @LastEditTime: 2023-07-12 13:49:47
 | 
					 * @LastEditTime: 2023-07-18 16:55:42
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<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-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>
 | 
				
			||||||
    <el-form-item prop="controlName" :label="$t('basic.name')">
 | 
					    <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>
 | 
				
			||||||
    <el-form-item prop="specifications" :label="$t('basic.specification')">
 | 
					    <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>
 | 
				
			||||||
    <el-form-item prop="incomingInspection" :label="$t('basic.stock')">
 | 
					    <el-form-item prop="incomingInspection" :label="$t('basic.stock')">
 | 
				
			||||||
      <el-switch v-model="dataForm.incomingInspection" :active-value="1" :inactive-value="0">
 | 
					      <el-switch v-model="dataForm.incomingInspection" :active-value="1" :inactive-value="0">
 | 
				
			||||||
@@ -33,13 +34,13 @@
 | 
				
			|||||||
      </el-switch>
 | 
					      </el-switch>
 | 
				
			||||||
    </el-form-item>
 | 
					    </el-form-item>
 | 
				
			||||||
    <el-form-item prop="controlStatus" :label="$t('basic.status')">
 | 
					    <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 v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
 | 
				
			||||||
        </el-option>
 | 
					        </el-option>
 | 
				
			||||||
      </el-select>
 | 
					      </el-select>
 | 
				
			||||||
    </el-form-item>
 | 
					    </el-form-item>
 | 
				
			||||||
    <el-form-item prop="remark" :label="$t('basic.remark')">
 | 
					    <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-item>
 | 
				
			||||||
  </el-form>
 | 
					  </el-form>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,26 +1,27 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-02-14 15:02:26
 | 
					 * @Date: 2023-02-14 15:02:26
 | 
				
			||||||
 * @LastEditTime: 2023-07-12 13:57:14
 | 
					 * @LastEditTime: 2023-07-18 16:55:57
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<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-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>
 | 
				
			||||||
    <el-form-item prop="customerName" :label="$t('basic.name')">
 | 
					    <el-form-item prop="customerName" :label="$t('basic.name')">
 | 
				
			||||||
      <el-input v-model="dataForm.customerName" :placeholder="$t('basic.name')"></el-input>
 | 
					      <el-input v-model="dataForm.customerName" :placeholder="$t('basic.name')"></el-input>
 | 
				
			||||||
    </el-form-item>
 | 
					    </el-form-item>
 | 
				
			||||||
    <el-form-item prop="customerTypeId" :label="$t('basic.customerTypeName')">
 | 
					    <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 v-for="item in customerTypeList" :key="item.id" :label="item.customerTypeName" :value="item.id">
 | 
				
			||||||
        </el-option>
 | 
					        </el-option>
 | 
				
			||||||
      </el-select>
 | 
					      </el-select>
 | 
				
			||||||
    </el-form-item>
 | 
					    </el-form-item>
 | 
				
			||||||
    <el-form-item prop="customerTypeStatus" :label="$t('basic.status')">
 | 
					    <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 v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
 | 
				
			||||||
        </el-option>
 | 
					        </el-option>
 | 
				
			||||||
      </el-select>
 | 
					      </el-select>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-02-14 15:02:26
 | 
					 * @Date: 2023-02-14 15:02:26
 | 
				
			||||||
 * @LastEditTime: 2023-07-12 13:55:20
 | 
					 * @LastEditTime: 2023-07-18 16:56:08
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -9,13 +9,13 @@
 | 
				
			|||||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
					  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
				
			||||||
    label-width="120px">
 | 
					    label-width="120px">
 | 
				
			||||||
    <el-form-item prop="customerTypeCode" :label="$t('basic.code')">
 | 
					    <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>
 | 
				
			||||||
    <el-form-item prop="customerTypeName" :label="$t('basic.name')">
 | 
					    <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>
 | 
				
			||||||
    <el-form-item prop="customerTypeStatus" :label="$t('basic.status')">
 | 
					    <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 v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
 | 
				
			||||||
        </el-option>
 | 
					        </el-option>
 | 
				
			||||||
      </el-select>
 | 
					      </el-select>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-02-14 15:02:26
 | 
					 * @Date: 2023-02-14 15:02:26
 | 
				
			||||||
 * @LastEditTime: 2023-07-12 13:52:25
 | 
					 * @LastEditTime: 2023-07-18 16:56:16
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -9,13 +9,13 @@
 | 
				
			|||||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
					  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
				
			||||||
    label-width="120px">
 | 
					    label-width="120px">
 | 
				
			||||||
    <el-form-item prop="failureTypeCode" :label="$t('basic.code')">
 | 
					    <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>
 | 
				
			||||||
    <el-form-item prop="failureTypeName" :label="$t('basic.name')">
 | 
					    <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>
 | 
				
			||||||
    <el-form-item prop="failureTypeStatus" :label="$t('basic.status')">
 | 
					    <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 v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
 | 
				
			||||||
        </el-option>
 | 
					        </el-option>
 | 
				
			||||||
      </el-select>
 | 
					      </el-select>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -121,13 +121,6 @@ export default {
 | 
				
			|||||||
          param: 'name',
 | 
					          param: 'name',
 | 
				
			||||||
          clearable:true
 | 
					          clearable:true
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          type: "button",
 | 
					 | 
				
			||||||
          btnName: "新增",
 | 
					 | 
				
			||||||
          name: "add",
 | 
					 | 
				
			||||||
          color: 'success',
 | 
					 | 
				
			||||||
          plain:true
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: "搜索",
 | 
					          btnName: "搜索",
 | 
				
			||||||
@@ -135,6 +128,13 @@ export default {
 | 
				
			|||||||
          color: "primary",
 | 
					          color: "primary",
 | 
				
			||||||
          // plain: true,
 | 
					          // plain: true,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          type: "button",
 | 
				
			||||||
 | 
					          btnName: "新增",
 | 
				
			||||||
 | 
					          name: "add",
 | 
				
			||||||
 | 
					          color: 'success',
 | 
				
			||||||
 | 
					          plain:true
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: "关联产品列表",
 | 
					          btnName: "关联产品列表",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -147,17 +147,17 @@ export default {
 | 
				
			|||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: "新增",
 | 
					          btnName: "搜索",
 | 
				
			||||||
          name: "add",
 | 
					          name: "search",
 | 
				
			||||||
          color: 'success',
 | 
					          color: "primary",
 | 
				
			||||||
          plain: true
 | 
					 | 
				
			||||||
          // plain: true,
 | 
					          // plain: true,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: "搜索",
 | 
					          btnName: "新增",
 | 
				
			||||||
          name: "search",
 | 
					          name: "add",
 | 
				
			||||||
          color: "primary",
 | 
					          color: 'success',
 | 
				
			||||||
 | 
					          plain: true
 | 
				
			||||||
          // plain: true,
 | 
					          // plain: true,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -128,17 +128,17 @@ export default {
 | 
				
			|||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: "新增",
 | 
					          btnName: "搜索",
 | 
				
			||||||
          name: "add",
 | 
					          name: "search",
 | 
				
			||||||
          color: 'success',
 | 
					          color: "primary",
 | 
				
			||||||
          plain: true
 | 
					 | 
				
			||||||
          // plain: true,
 | 
					          // plain: true,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: "搜索",
 | 
					          btnName: "新增",
 | 
				
			||||||
          name: "search",
 | 
					          name: "add",
 | 
				
			||||||
          color: "primary",
 | 
					          color: 'success',
 | 
				
			||||||
 | 
					          plain: true
 | 
				
			||||||
          // plain: true,
 | 
					          // plain: true,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-01-11 09:24:58
 | 
					 * @Date: 2023-01-11 09:24:58
 | 
				
			||||||
 * @LastEditTime: 2023-07-11 10:07:22
 | 
					 * @LastEditTime: 2023-07-18 10:19:11
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -128,17 +128,17 @@ export default {
 | 
				
			|||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: "新增",
 | 
					          btnName: "搜索",
 | 
				
			||||||
          name: "add",
 | 
					          name: "search",
 | 
				
			||||||
          color: 'success',
 | 
					          color: "primary",
 | 
				
			||||||
          plain: true
 | 
					 | 
				
			||||||
          // plain: true,
 | 
					          // plain: true,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: "搜索",
 | 
					          btnName: "新增",
 | 
				
			||||||
          name: "search",
 | 
					          name: "add",
 | 
				
			||||||
          color: "primary",
 | 
					          color: 'success',
 | 
				
			||||||
 | 
					          plain: true
 | 
				
			||||||
          // plain: true,
 | 
					          // plain: true,
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ],
 | 
					      ],
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -120,17 +120,17 @@ export default {
 | 
				
			|||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: "新增",
 | 
					          btnName: "搜索",
 | 
				
			||||||
          name: "add",
 | 
					          name: "search",
 | 
				
			||||||
          color: 'success',
 | 
					          color: "primary",
 | 
				
			||||||
          plain: true
 | 
					 | 
				
			||||||
          // plain: true,
 | 
					          // plain: true,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: "搜索",
 | 
					          btnName: "新增",
 | 
				
			||||||
          name: "search",
 | 
					          name: "add",
 | 
				
			||||||
          color: "primary",
 | 
					          color: 'success',
 | 
				
			||||||
 | 
					          plain: true
 | 
				
			||||||
          // plain: true,
 | 
					          // plain: true,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-02-21 14:30:17
 | 
					 * @Date: 2023-02-21 14:30:17
 | 
				
			||||||
 * @LastEditTime: 2023-07-11 10:24:01
 | 
					 * @LastEditTime: 2023-07-18 10:19:37
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -135,17 +135,17 @@ export default {
 | 
				
			|||||||
        // },
 | 
					        // },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: "新增",
 | 
					          btnName: "搜索",
 | 
				
			||||||
          name: "add",
 | 
					          name: "search",
 | 
				
			||||||
          color: 'success',
 | 
					          color: "primary",
 | 
				
			||||||
          plain: true
 | 
					 | 
				
			||||||
          // plain: true,
 | 
					          // plain: true,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: "搜索",
 | 
					          btnName: "新增",
 | 
				
			||||||
          name: "search",
 | 
					          name: "add",
 | 
				
			||||||
          color: "primary",
 | 
					          color: 'success',
 | 
				
			||||||
 | 
					          plain: true
 | 
				
			||||||
          // plain: true,
 | 
					          // plain: true,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-02-21 14:30:17
 | 
					 * @Date: 2023-02-21 14:30:17
 | 
				
			||||||
 * @LastEditTime: 2023-07-11 10:16:26
 | 
					 * @LastEditTime: 2023-07-18 10:19:49
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -151,17 +151,17 @@ export default {
 | 
				
			|||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: "新增",
 | 
					          btnName: "搜索",
 | 
				
			||||||
          name: "add",
 | 
					          name: "search",
 | 
				
			||||||
          color: 'success',
 | 
					          color: "primary",
 | 
				
			||||||
          plain: true
 | 
					 | 
				
			||||||
          // plain: true,
 | 
					          // plain: true,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: "搜索",
 | 
					          btnName: "新增",
 | 
				
			||||||
          name: "search",
 | 
					          name: "add",
 | 
				
			||||||
          color: "primary",
 | 
					          color: 'success',
 | 
				
			||||||
 | 
					          plain: true
 | 
				
			||||||
          // 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,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-01-11 09:24:58
 | 
					 * @Date: 2023-01-11 09:24:58
 | 
				
			||||||
 * @LastEditTime: 2023-07-17 10:39:16
 | 
					 * @LastEditTime: 2023-07-20 10:50:58
 | 
				
			||||||
 * @LastEditors: zwq
 | 
					 * @LastEditors: zwq
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -41,6 +41,7 @@
 | 
				
			|||||||
        @cancel="handleCancel"
 | 
					        @cancel="handleCancel"
 | 
				
			||||||
        @confirm="handleConfirm"
 | 
					        @confirm="handleConfirm"
 | 
				
			||||||
        :before-close="handleCancel"
 | 
					        :before-close="handleCancel"
 | 
				
			||||||
 | 
					        :destroy-on-close="true"
 | 
				
			||||||
      >
 | 
					      >
 | 
				
			||||||
        <add-or-update
 | 
					        <add-or-update
 | 
				
			||||||
          ref="teamSet"
 | 
					          ref="teamSet"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-01-11 09:24:58
 | 
					 * @Date: 2023-01-11 09:24:58
 | 
				
			||||||
 * @LastEditTime: 2023-07-17 10:39:25
 | 
					 * @LastEditTime: 2023-07-20 10:49:29
 | 
				
			||||||
 * @LastEditors: zwq
 | 
					 * @LastEditors: zwq
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -27,6 +27,7 @@
 | 
				
			|||||||
        @cancel="handleCancel"
 | 
					        @cancel="handleCancel"
 | 
				
			||||||
        @confirm="handleConfirm"
 | 
					        @confirm="handleConfirm"
 | 
				
			||||||
        :before-close="handleCancel"
 | 
					        :before-close="handleCancel"
 | 
				
			||||||
 | 
					        :destroy-on-close="true"
 | 
				
			||||||
        width=70%
 | 
					        width=70%
 | 
				
			||||||
      >
 | 
					      >
 | 
				
			||||||
        <add-or-update
 | 
					        <add-or-update
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -30,6 +30,7 @@
 | 
				
			|||||||
        @cancel="handleCancel"
 | 
					        @cancel="handleCancel"
 | 
				
			||||||
        @confirm="handleConfirm"
 | 
					        @confirm="handleConfirm"
 | 
				
			||||||
        :before-close="handleCancel"
 | 
					        :before-close="handleCancel"
 | 
				
			||||||
 | 
					        :destroy-on-close="true"
 | 
				
			||||||
      >
 | 
					      >
 | 
				
			||||||
        <add-or-update ref="addOrUpdate" @refreshDataList="successSubmit"></add-or-update>
 | 
					        <add-or-update ref="addOrUpdate" @refreshDataList="successSubmit"></add-or-update>
 | 
				
			||||||
      </base-dialog>
 | 
					      </base-dialog>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,25 +1,27 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-07-14 13:44:46
 | 
					 * @Date: 2023-07-14 13:44:46
 | 
				
			||||||
 * @LastEditTime: 2023-07-17 15:51:39
 | 
					 * @LastEditTime: 2023-07-21 09:34:55
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div>
 | 
					  <div>
 | 
				
			||||||
    <el-drawer close-on-press-escape:title="$t('add')" :append-to-body="true" :before-close="handleClose"
 | 
					    <el-drawer close-on-press-escape :title="!dataForm.id ? $t('add') : $t('add')" :append-to-body="true"
 | 
				
			||||||
      :visible.sync="innerDrawer">
 | 
					      @closed="handleClose" :visible.sync="innerDrawer">
 | 
				
			||||||
      <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
					      <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
				
			||||||
        label-width="120px">
 | 
					        label-width="120px">
 | 
				
			||||||
        <el-form-item prop="requirementListId" :label="$t('customerquality.requirementListName')">
 | 
					        <el-form-item prop="requirementListId" :label="$t('customerquality.requirementListName')">
 | 
				
			||||||
          <el-select v-model="dataForm.requirementListId" :placeholder="$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"
 | 
					            <el-option v-for="item in requirementList" :key="item.id" :label="item.requirementListName"
 | 
				
			||||||
              :value="item.id">
 | 
					              :value="item.id">
 | 
				
			||||||
            </el-option>
 | 
					            </el-option>
 | 
				
			||||||
          </el-select>
 | 
					          </el-select>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item prop="knowledgeBaseId" :label="$t('customerquality.knowledgeBaseName')">
 | 
					        <el-form-item prop="knowledgeBaseId" :label="$t('customerquality.knowledgeBaseName')">
 | 
				
			||||||
          <el-select v-model="dataForm.knowledgeBaseId" :placeholder="$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"
 | 
					            <el-option v-for="item in knowledgeBaseList" :key="item.id" :label="item.knowledgeBaseName"
 | 
				
			||||||
              :value="item.id">
 | 
					              :value="item.id">
 | 
				
			||||||
            </el-option>
 | 
					            </el-option>
 | 
				
			||||||
@@ -84,8 +86,10 @@ export default {
 | 
				
			|||||||
    this.getDict()
 | 
					    this.getDict()
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
    methods: {
 | 
					    methods: {
 | 
				
			||||||
      init(id) {
 | 
					      init(obj) {
 | 
				
			||||||
        this.dataForm.id = id || ''
 | 
					        this.dataForm.knowledgeBaseId = obj.knowledgeBaseId || ''
 | 
				
			||||||
 | 
					        this.dataForm.requirementListId = obj.requirementListId || ''
 | 
				
			||||||
 | 
					        this.dataForm.id = obj.id || ''
 | 
				
			||||||
        this.innerDrawer = true
 | 
					        this.innerDrawer = true
 | 
				
			||||||
        this.$nextTick(() => {
 | 
					        this.$nextTick(() => {
 | 
				
			||||||
          this.$refs["dataForm"].resetFields()
 | 
					          this.$refs["dataForm"].resetFields()
 | 
				
			||||||
@@ -97,7 +101,7 @@ export default {
 | 
				
			|||||||
        })
 | 
					        })
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      handleClose() {
 | 
					      handleClose() {
 | 
				
			||||||
        this.innerDrawer = true
 | 
					        this.innerDrawer = false
 | 
				
			||||||
        this.$refs.dataForm.resetFields()
 | 
					        this.$refs.dataForm.resetFields()
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      getInfo() {
 | 
					      getInfo() {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-07-14 13:44:46
 | 
					 * @Date: 2023-07-14 13:44:46
 | 
				
			||||||
 * @LastEditTime: 2023-07-17 15:59:27
 | 
					 * @LastEditTime: 2023-07-18 14:25:05
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -106,8 +106,10 @@ export default {
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
    methods: {
 | 
					    methods: {
 | 
				
			||||||
      init(id) {
 | 
					      init(obj) {
 | 
				
			||||||
        this.listQuery.knowledgeBaseId = id || ""
 | 
					        this.listQuery.knowledgeBaseId = obj.knowledgeBaseId || ""
 | 
				
			||||||
 | 
					        this.listQuery.requirementListId = obj.requirementListId || ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // this.dataForm.dictTypeId = dictTypeId || "";
 | 
					        // this.dataForm.dictTypeId = dictTypeId || "";
 | 
				
			||||||
        this.drawer = true
 | 
					        this.drawer = true
 | 
				
			||||||
        this.$nextTick(() => {
 | 
					        this.$nextTick(() => {
 | 
				
			||||||
@@ -135,8 +137,12 @@ export default {
 | 
				
			|||||||
            // this.addOrEditTitle = '新增'
 | 
					            // this.addOrEditTitle = '新增'
 | 
				
			||||||
            // this.addOrUpdateVisible = true;
 | 
					            // this.addOrUpdateVisible = true;
 | 
				
			||||||
            this.baseConfigAddShow = true
 | 
					            this.baseConfigAddShow = true
 | 
				
			||||||
 | 
					            const obj = {
 | 
				
			||||||
 | 
					              knowledgeBaseId:   this.listQuery.knowledgeBaseId,
 | 
				
			||||||
 | 
					              requirementListId: this.listQuery.requirementListId 
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
            this.$nextTick(() => {
 | 
					            this.$nextTick(() => {
 | 
				
			||||||
              this.$refs.baseConfigAddList.init()
 | 
					              this.$refs.baseConfigAddList.init(obj)
 | 
				
			||||||
            })
 | 
					            })
 | 
				
			||||||
            // this.addOrUpdateHandle()
 | 
					            // this.addOrUpdateHandle()
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
@@ -189,8 +195,13 @@ export default {
 | 
				
			|||||||
            .catch(() => { });
 | 
					            .catch(() => { });
 | 
				
			||||||
        } else if (val.type === 'edit') {
 | 
					        } else if (val.type === 'edit') {
 | 
				
			||||||
          this.baseConfigAddShow = true
 | 
					          this.baseConfigAddShow = true
 | 
				
			||||||
 | 
					          const obj = {
 | 
				
			||||||
 | 
					            knowledgeBaseId: this.listQuery.knowledgeBaseId,
 | 
				
			||||||
 | 
					            requirementListId: this.listQuery.requirementListId,
 | 
				
			||||||
 | 
					            id:val.data.id
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
          this.$nextTick(() => {
 | 
					          this.$nextTick(() => {
 | 
				
			||||||
            this.$refs.baseConfigAddList.init(val.data.id)
 | 
					            this.$refs.baseConfigAddList.init(obj)
 | 
				
			||||||
          })
 | 
					          })
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-07-14 13:44:46
 | 
					 * @Date: 2023-07-14 13:44:46
 | 
				
			||||||
 * @LastEditTime: 2023-07-17 16:55:03
 | 
					 * @LastEditTime: 2023-07-18 16:53:36
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -11,19 +11,21 @@
 | 
				
			|||||||
      :visible.sync="innerDrawer">
 | 
					      :visible.sync="innerDrawer">
 | 
				
			||||||
      <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
					      <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
				
			||||||
        label-width="120px">
 | 
					        label-width="120px">
 | 
				
			||||||
        <el-form-item prop="requirementListId" :label="$t('customerquality.requirementListName')">
 | 
					        <el-form-item prop="knowledgeBaseFileId" :label="$t('customerquality.knowledgeBaseFileId')">
 | 
				
			||||||
          <el-select v-model="dataForm.requirementListId" :placeholder="$t('customerquality.requirementListName')">
 | 
					          <el-select clearable v-model="dataForm.knowledgeBaseFileId"
 | 
				
			||||||
            <el-option v-for="item in requirementList" :key="item.id" :label="item.requirementListName"
 | 
					            :placeholder="$t('customerquality.knowledgeBaseFileId')">
 | 
				
			||||||
 | 
					            <el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName"
 | 
				
			||||||
              :value="item.id">
 | 
					              :value="item.id">
 | 
				
			||||||
            </el-option>
 | 
					            </el-option>
 | 
				
			||||||
          </el-select>
 | 
					          </el-select>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item prop="knowledgeBaseId" :label="$t('customerquality.knowledgeBaseName')">
 | 
					        <el-form-item prop="title" :label="$t('customerquality.title')">
 | 
				
			||||||
          <el-select v-model="dataForm.knowledgeBaseId" :placeholder="$t('customerquality.knowledgeBaseName')">
 | 
					          <el-input clearable v-model="dataForm.title" :placeholder="$t('customerquality.title')">
 | 
				
			||||||
            <el-option v-for="item in knowledgeBaseList" :key="item.id" :label="item.knowledgeBaseName"
 | 
					          </el-input>
 | 
				
			||||||
              :value="item.id">
 | 
					        </el-form-item>
 | 
				
			||||||
            </el-option>
 | 
					        <el-form-item prop="accessPath" :label="$t('customerquality.accessPath')">
 | 
				
			||||||
          </el-select>
 | 
					          <el-input clearable v-model="dataForm.accessPath" :placeholder="$t('customerquality.accessPath')">
 | 
				
			||||||
 | 
					          </el-input>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item>
 | 
					        <el-form-item>
 | 
				
			||||||
          <el-button @click="innerDrawer = false">{{ $t('cancel') }} </el-button>
 | 
					          <el-button @click="innerDrawer = false">{{ $t('cancel') }} </el-button>
 | 
				
			||||||
@@ -38,24 +40,28 @@
 | 
				
			|||||||
import i18n from "@/i18n"
 | 
					import i18n from "@/i18n"
 | 
				
			||||||
import basicAdd from "@/mixins/basic-add"
 | 
					import basicAdd from "@/mixins/basic-add"
 | 
				
			||||||
import debounce from "lodash/debounce"
 | 
					import debounce from "lodash/debounce"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  mixins: [basicAdd],
 | 
					  mixins: [basicAdd],
 | 
				
			||||||
    data() {
 | 
					    data() {
 | 
				
			||||||
      return {
 | 
					      return {
 | 
				
			||||||
        urlOptions: {
 | 
					        urlOptions: {
 | 
				
			||||||
          submitURL: "/customerquality/qmsKnowledgeBaseRequirementList",
 | 
					          submitURL: "/customerquality/knowledgeBaseRequirementListData",
 | 
				
			||||||
          getRequirementListURL: "/customerquality/qmsCustomerQualityRequirementList/page",
 | 
					          getDictDataDetail: '/mutual/qmsDataDictionaryDetail/page'
 | 
				
			||||||
          getKnowledgeBaseURL: "/customerquality/qmsKnowledgeBase/page"
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        dataForm: {
 | 
					        dataForm: {
 | 
				
			||||||
          knowledgeBaseId: null,
 | 
					          accessPath:null,
 | 
				
			||||||
          requirementListId:null
 | 
					          id: null,
 | 
				
			||||||
 | 
					          knowledgeBaseFileId: null,
 | 
				
			||||||
 | 
					          knowledgeBaseRequirementListId: null,
 | 
				
			||||||
 | 
					          title: null,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        innerDrawer: false,
 | 
					        innerDrawer: false,
 | 
				
			||||||
        listQuery: {
 | 
					        listQuery: {
 | 
				
			||||||
          limit: 10,
 | 
					          limit: 10,
 | 
				
			||||||
          page:1,
 | 
					          page:1,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					        categoryList:[],
 | 
				
			||||||
        requirementList: [],
 | 
					        requirementList: [],
 | 
				
			||||||
        knowledgeBaseList:[],
 | 
					        knowledgeBaseList:[],
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -82,10 +88,14 @@ export default {
 | 
				
			|||||||
  },
 | 
					  },
 | 
				
			||||||
  mounted () {
 | 
					  mounted () {
 | 
				
			||||||
    this.getDict()
 | 
					    this.getDict()
 | 
				
			||||||
 | 
					    this.getAccessPath()
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
    methods: {
 | 
					    methods: {
 | 
				
			||||||
      init(id) {
 | 
					      init(obj) {
 | 
				
			||||||
        this.dataForm.id = id || ''
 | 
					        this.dataForm.knowledgeBaseRequirementListId = obj.knowledgeBaseRequirementListId || ''
 | 
				
			||||||
 | 
					        this.dataForm.knowledgeBaseRequirementListId = obj.knowledgeBaseRequirementListId || ''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        this.dataForm.id = obj.id || ''
 | 
				
			||||||
        this.innerDrawer = true
 | 
					        this.innerDrawer = true
 | 
				
			||||||
        this.$nextTick(() => {
 | 
					        this.$nextTick(() => {
 | 
				
			||||||
          this.$refs["dataForm"].resetFields()
 | 
					          this.$refs["dataForm"].resetFields()
 | 
				
			||||||
@@ -96,13 +106,43 @@ export default {
 | 
				
			|||||||
          }
 | 
					          }
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
 | 
					      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() {
 | 
					      handleClose() {
 | 
				
			||||||
        this.innerDrawer = true
 | 
					        this.innerDrawer = true
 | 
				
			||||||
        this.$refs.dataForm.resetFields()
 | 
					        this.$refs.dataForm.resetFields()
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      getInfo() {
 | 
					      getInfo() {
 | 
				
			||||||
        this.$http
 | 
					        this.$http
 | 
				
			||||||
          .get(`/customerquality/qmsKnowledgeBaseRequirementList/${this.dataForm.id}`)
 | 
					          .get(`/customerquality/knowledgeBaseRequirementListData/${this.dataForm.id}`)
 | 
				
			||||||
          .then(({ data: res }) => {
 | 
					          .then(({ data: res }) => {
 | 
				
			||||||
            if (res.code !== 0) {
 | 
					            if (res.code !== 0) {
 | 
				
			||||||
              return this.$message.error(res.msg);
 | 
					              return this.$message.error(res.msg);
 | 
				
			||||||
@@ -114,32 +154,6 @@ export default {
 | 
				
			|||||||
          })
 | 
					          })
 | 
				
			||||||
          .catch(() => { });
 | 
					          .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() {
 | 
					      dataFormSubmit() {
 | 
				
			||||||
        this.$refs["dataForm"].validate((valid) => {
 | 
					        this.$refs["dataForm"].validate((valid) => {
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										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
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-02-14 15:02:26
 | 
					 * @Date: 2023-02-14 15:02:26
 | 
				
			||||||
 * @LastEditTime: 2023-07-14 14:28:32
 | 
					 * @LastEditTime: 2023-07-21 10:07:47
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
 | 
					  <el-drawer close-on-press-escape title="项目清单" :visible.sync="visible" size="50%" :before-close="handleClose()">
 | 
				
			||||||
 | 
					    <el-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()"
 | 
					        <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
				
			||||||
          label-width="120px">
 | 
					          label-width="120px">
 | 
				
			||||||
    <el-form-item prop="code" :label="$t('customerquality.code')">
 | 
					          <el-form-item prop="productId" :label="$t('basic.productName')">
 | 
				
			||||||
      <el-input v-model="dataForm.code" :placeholder="$t('customerquality.code')"></el-input>
 | 
					            <el-select v-model="dataForm.productId" :placeholder="$t('basic.productName')" clearable>
 | 
				
			||||||
    </el-form-item>
 | 
					              <el-option v-for="item in productList" :key="item.id" :label="item.productName" :value="item.id">
 | 
				
			||||||
    <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-option>
 | 
				
			||||||
            </el-select>
 | 
					            </el-select>
 | 
				
			||||||
          </el-form-item>
 | 
					          </el-form-item>
 | 
				
			||||||
    <el-form-item prop="serialNumber" :label="$t('customerquality.serialNumber')">
 | 
					          <el-form-item prop="knowledgeBaseId" :label="$t('customerquality.knowledgeBase')">
 | 
				
			||||||
      <el-input v-model="dataForm.serialNumber" :placeholder="$t('customerquality.serialNumber')"></el-input>
 | 
					            <el-select v-model="dataForm.knowledgeBaseId" :placeholder="$t('customerquality.knowledgeBase')" clearable>
 | 
				
			||||||
    </el-form-item>
 | 
					              <el-option v-for="item in knowledgeBaseList" :key="item.id" :label="item.knowledgeBaseName"
 | 
				
			||||||
    <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">
 | 
					                :value="item.id">
 | 
				
			||||||
              </el-option>
 | 
					              </el-option>
 | 
				
			||||||
            </el-select>
 | 
					            </el-select>
 | 
				
			||||||
          </el-form-item>
 | 
					          </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>
 | 
					        </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>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import debounce from "lodash/debounce";
 | 
					import debounce from "lodash/debounce"
 | 
				
			||||||
import basicAdd from "@/mixins/basic-add";
 | 
					import basicAdd from "@/mixins/basic-add"
 | 
				
			||||||
 | 
					import 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 {
 | 
					export default {
 | 
				
			||||||
  mixins: [basicAdd],
 | 
					  mixins: [basicAdd],
 | 
				
			||||||
 | 
					  components: {
 | 
				
			||||||
 | 
					    reviseAdd,
 | 
				
			||||||
 | 
					    changeAdd
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  data() {
 | 
					  data() {
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
      urlOptions: {
 | 
					      urlOptions: {
 | 
				
			||||||
 | 
					        getReviseDataListURL: '/customerquality/qmsCustomerQualityProjectListRevisionRecord/page',
 | 
				
			||||||
 | 
					        getChangeDataListURL: '/customerquality/qmsCustomerQualityProjectListChangeRecord/page',
 | 
				
			||||||
 | 
					        changeDeleteURL: '/customerquality/qmsCustomerQualityProjectListChangeRecord',
 | 
				
			||||||
 | 
					        reviseDeleteURL: '/customerquality/qmsCustomerQualityProjectListRevisionRecord',
 | 
				
			||||||
        submitURL: "/customerquality/qmsCustomerQualityProjectList",
 | 
					        submitURL: "/customerquality/qmsCustomerQualityProjectList",
 | 
				
			||||||
        infoURL: "/customerquality/qmsCustomerQualityProjectList//{id}",
 | 
					        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:[],
 | 
					      categoryList:[],
 | 
				
			||||||
      typeList:[],
 | 
					      typeList:[],
 | 
				
			||||||
      visible: false,
 | 
					      visible: false,
 | 
				
			||||||
      listQuery: {
 | 
					      listQuery: {
 | 
				
			||||||
        limit: 999,
 | 
					        limit: 999,
 | 
				
			||||||
        page:1
 | 
					        page: 1,
 | 
				
			||||||
 | 
					        total:0,
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
 | 
					      changeListQuery: {
 | 
				
			||||||
 | 
					        limit: 999,
 | 
				
			||||||
 | 
					        page: 1,
 | 
				
			||||||
 | 
					        total: 0,
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      treeData: [],
 | 
				
			||||||
 | 
					      tabDisable:true,
 | 
				
			||||||
      dataForm: {
 | 
					      dataForm: {
 | 
				
			||||||
        id: "",
 | 
					        nda: null,
 | 
				
			||||||
        code: null,
 | 
					        amendment: null,
 | 
				
			||||||
        category: null,
 | 
					        status:null,
 | 
				
			||||||
        knowledgeBaseName: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: {
 | 
					  computed: {
 | 
				
			||||||
    dataRule() {
 | 
					    dataRule() {
 | 
				
			||||||
      return {
 | 
					      return {
 | 
				
			||||||
        code: [
 | 
					        productId: [
 | 
				
			||||||
          {
 | 
					          {
 | 
				
			||||||
            required: true,
 | 
					            required: true,
 | 
				
			||||||
            message: this.$t("validate.required"),
 | 
					            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,
 | 
					            required: true,
 | 
				
			||||||
            message: this.$t("validate.required"),
 | 
					            message: this.$t("validate.required"),
 | 
				
			||||||
@@ -91,22 +429,208 @@ export default {
 | 
				
			|||||||
  },
 | 
					  },
 | 
				
			||||||
  mounted () {
 | 
					  mounted () {
 | 
				
			||||||
    this.getDict()
 | 
					    this.getDict()
 | 
				
			||||||
 | 
					    this.getSecondData()
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  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) {
 | 
					    init(id) {
 | 
				
			||||||
      this.dataForm.id = id || ""
 | 
					      this.dataForm.id = id || ""
 | 
				
			||||||
      // this.dataForm.dictTypeId = dictTypeId || "";
 | 
					      // this.dataForm.dictTypeId = dictTypeId || "";
 | 
				
			||||||
      this.visible = true;
 | 
					      this.visible = true;
 | 
				
			||||||
      this.$nextTick(() => {
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
 | 
					        // console.log(this.$refs.dataForm)
 | 
				
			||||||
        this.$refs["dataForm"].resetFields()
 | 
					        this.$refs["dataForm"].resetFields()
 | 
				
			||||||
        if (this.dataForm.id) {
 | 
					        if (this.dataForm.id) {
 | 
				
			||||||
          this.getInfo();
 | 
					          this.getInfo()
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
          // this.getCode()
 | 
					          // this.getCode()
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    // 获取信息
 | 
					    // 获取信息
 | 
				
			||||||
 | 
					    handleClose() {
 | 
				
			||||||
 | 
					      this.$emit("refreshDataList")
 | 
				
			||||||
 | 
					      // console.log(this.$refs.dataForm)
 | 
				
			||||||
 | 
					      // this.$refs.dataForm.resetFields()
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    getInfo() {
 | 
					    getInfo() {
 | 
				
			||||||
      this.$http
 | 
					      this.$http
 | 
				
			||||||
        .get(`/customerquality/qmsCustomerQualityProjectList/${this.dataForm.id}`)
 | 
					        .get(`/customerquality/qmsCustomerQualityProjectList/${this.dataForm.id}`)
 | 
				
			||||||
@@ -117,9 +641,32 @@ export default {
 | 
				
			|||||||
          this.dataForm = {
 | 
					          this.dataForm = {
 | 
				
			||||||
            ...this.dataForm,
 | 
					            ...this.dataForm,
 | 
				
			||||||
            ...res.data,
 | 
					            ...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() {
 | 
					    getDict() {
 | 
				
			||||||
      this.$http
 | 
					      this.$http
 | 
				
			||||||
@@ -127,15 +674,129 @@ export default {
 | 
				
			|||||||
          params: {
 | 
					          params: {
 | 
				
			||||||
            limit: 999,
 | 
					            limit: 999,
 | 
				
			||||||
            page: 1,
 | 
					            page: 1,
 | 
				
			||||||
            dataDictionaryId:'1679670942635122690',
 | 
					            dataDictionaryId:'1681202200846499841',
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
        .then(({ data: res }) => {
 | 
					        .then(({ data: res }) => {
 | 
				
			||||||
          this.dataListLoading = false;
 | 
					          // this.dataListLoading = false;
 | 
				
			||||||
          if (res.code === 0) {
 | 
					          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(
 | 
					    dataFormSubmitHandle: debounce(
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
  <!--
 | 
					  <!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-02-14 15:02:26
 | 
					 * @Date: 2023-02-14 15:02:26
 | 
				
			||||||
 * @LastEditTime: 2023-07-14 10:06:36
 | 
					 * @LastEditTime: 2023-07-18 16:54:14
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -9,10 +9,11 @@
 | 
				
			|||||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
					  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
				
			||||||
    label-width="120px">
 | 
					    label-width="120px">
 | 
				
			||||||
    <el-form-item prop="code" :label="$t('customerquality.code')">
 | 
					    <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>
 | 
				
			||||||
    <el-form-item prop="requirementListName" :label="$t('customerquality.requirementListName')">
 | 
					    <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-input>
 | 
				
			||||||
    </el-form-item>
 | 
					    </el-form-item>
 | 
				
			||||||
    <el-form-item prop="uploadFiles" :label="$t('customerquality.uploadFiles')">
 | 
					    <el-form-item prop="uploadFiles" :label="$t('customerquality.uploadFiles')">
 | 
				
			||||||
@@ -40,7 +41,7 @@
 | 
				
			|||||||
      </el-select>
 | 
					      </el-select>
 | 
				
			||||||
    </el-form-item> -->
 | 
					    </el-form-item> -->
 | 
				
			||||||
    <el-form-item prop="category" :label="$t('customerquality.category')">
 | 
					    <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 v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName" :value="item.id">
 | 
				
			||||||
        </el-option>
 | 
					        </el-option>
 | 
				
			||||||
      </el-select>
 | 
					      </el-select>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-04-18 09:19:02
 | 
					 * @Date: 2023-04-18 09:19:02
 | 
				
			||||||
 * @LastEditTime: 2023-07-17 16:59:22
 | 
					 * @LastEditTime: 2023-07-18 09:52:45
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -14,53 +14,41 @@
 | 
				
			|||||||
          </el-badge> -->
 | 
					          </el-badge> -->
 | 
				
			||||||
      </SearchBar>
 | 
					      </SearchBar>
 | 
				
			||||||
      <base-table id="palletTable" :table-props="tableProps" ref="palletTable1" :table-data="tableData">
 | 
					      <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>
 | 
					      </base-table>
 | 
				
			||||||
      <i slot="reference" class="el-icon-plus" @click="showInnerTable(injectData.id)" />
 | 
					      <i slot="reference" class="el-icon-plus" @click="showInnerTable(injectData.id)" />
 | 
				
			||||||
    </el-popover>
 | 
					    </el-popover>
 | 
				
			||||||
    <baseConfigFile-add ref="baseConfigFileAddList" v-if="baseConfigFileAddShow" @refreshDataList="getDataList"></baseConfigFile-add>
 | 
					    <baseConfigFile-add ref="baseConfigFileAddList" v-if="baseConfigFileAddShow" @refreshDataList="getDataList">
 | 
				
			||||||
 | 
					    </baseConfigFile-add>
 | 
				
			||||||
  </div>
 | 
					  </div>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import i18n from "@/i18n"
 | 
					import i18n from "@/i18n"
 | 
				
			||||||
import { timeFormatter } from '@/filters'
 | 
					import { timeFormatter } from '@/filters'
 | 
				
			||||||
import baseConfigFileAdd from "./baseConfigFile-add"
 | 
					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 = [
 | 
					const tableProps = [
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    prop: "stageOneName",
 | 
					    prop: "title",
 | 
				
			||||||
    label: i18n.t('researchquality.stageOneName'),
 | 
					    label: i18n.t('customerquality.title'),
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    prop: "stageOneDate",
 | 
					    prop: "accessPath",
 | 
				
			||||||
    label: i18n.t('researchquality.stageOneDate'),
 | 
					    label: i18n.t('customerquality.accessPath'),
 | 
				
			||||||
    filter: timeFormatter
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      prop: "stageTwoName",
 | 
					 | 
				
			||||||
      label: i18n.t('researchquality.stageTwoName'),
 | 
					 | 
				
			||||||
  },,
 | 
					 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    prop: "stageTwoDate",
 | 
					 | 
				
			||||||
    label: i18n.t('researchquality.stageTwoDate'),
 | 
					 | 
				
			||||||
    filter: timeFormatter
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      prop: "stageThreeName",
 | 
					 | 
				
			||||||
      label: i18n.t('researchquality.stageThreeName'),
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    prop: "stageThreeDate",
 | 
					 | 
				
			||||||
    label: i18n.t('researchquality.stageThreeDate'),
 | 
					 | 
				
			||||||
    filter: timeFormatter
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      prop: "stageFourName",
 | 
					 | 
				
			||||||
      label: i18n.t('researchquality.stageFourName'),
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    prop: "stageFourDate",
 | 
					 | 
				
			||||||
    label: i18n.t('researchquality.stageFourDate'),
 | 
					 | 
				
			||||||
    filter: timeFormatter
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
];
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
@@ -79,11 +67,10 @@ export default {
 | 
				
			|||||||
      tableProps,
 | 
					      tableProps,
 | 
				
			||||||
      list: this.injectData,
 | 
					      list: this.injectData,
 | 
				
			||||||
      urlOptions: {
 | 
					      urlOptions: {
 | 
				
			||||||
        submitURL: "/customerquality/qmsPublicDocuments",
 | 
					        getDataListURL: '/customerquality/knowledgeBaseRequirementListData/page',
 | 
				
			||||||
        infoURL: "/customerquality/qmsPublicDocuments//{id}",
 | 
					        deleteURL: '/customerquality/knowledgeBaseRequirementListData/page'
 | 
				
			||||||
        getCodeURL: '/customerquality/qmsPublicDocuments/getCode',
 | 
					 | 
				
			||||||
        getDataListURL: '/customerquality/knowledgeBaseRequirementListData/page'
 | 
					 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
 | 
					      tableBtn,
 | 
				
			||||||
      baseConfigFileAddShow:false,
 | 
					      baseConfigFileAddShow:false,
 | 
				
			||||||
      tableData: [],
 | 
					      tableData: [],
 | 
				
			||||||
      listQuery: {
 | 
					      listQuery: {
 | 
				
			||||||
@@ -128,13 +115,51 @@ export default {
 | 
				
			|||||||
          // this.addOrUpdateVisible = true;
 | 
					          // this.addOrUpdateVisible = true;
 | 
				
			||||||
          this.baseConfigFileAddShow = true
 | 
					          this.baseConfigFileAddShow = true
 | 
				
			||||||
          this.$nextTick(() => {
 | 
					          this.$nextTick(() => {
 | 
				
			||||||
            this.$refs.baseConfigFileAddList.init(this.injectData.id)
 | 
					            const obj = {
 | 
				
			||||||
 | 
					              knowledgeBaseRequirementListId :this.injectData.id
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					            this.$refs.baseConfigFileAddList.init(obj)
 | 
				
			||||||
          })
 | 
					          })
 | 
				
			||||||
          // this.addOrUpdateHandle()
 | 
					          // this.addOrUpdateHandle()
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        default:
 | 
					        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() {
 | 
					    showInnerTable() {
 | 
				
			||||||
      this.listQuery.knowledgeBaseRequirementListId = this.injectData.id
 | 
					      this.listQuery.knowledgeBaseRequirementListId = this.injectData.id
 | 
				
			||||||
      this.getDataList()
 | 
					      this.getDataList()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
  <!--
 | 
					  <!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-02-14 15:02:26
 | 
					 * @Date: 2023-02-14 15:02:26
 | 
				
			||||||
 * @LastEditTime: 2023-07-17 15:50:39
 | 
					 * @LastEditTime: 2023-07-18 16:54:28
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -9,10 +9,12 @@
 | 
				
			|||||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
					  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
				
			||||||
    label-width="120px">
 | 
					    label-width="120px">
 | 
				
			||||||
    <el-form-item prop="title" :label="$t('customerquality.title')">
 | 
					    <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>
 | 
				
			||||||
    <el-form-item prop="accessPath" :label="$t('customerquality.accessPath')">
 | 
					    <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-input>
 | 
				
			||||||
    </el-form-item>
 | 
					    </el-form-item>
 | 
				
			||||||
    <!-- <el-form-item prop="knowledgeBaseName" :label="$t('basic.status')">
 | 
					    <!-- <el-form-item prop="knowledgeBaseName" :label="$t('basic.status')">
 | 
				
			||||||
@@ -34,7 +36,7 @@
 | 
				
			|||||||
      </el-select>
 | 
					      </el-select>
 | 
				
			||||||
    </el-form-item> -->
 | 
					    </el-form-item> -->
 | 
				
			||||||
    <el-form-item prop="knowledgeBaseFileId" :label="$t('customerquality.knowledgeBaseFileId')">
 | 
					    <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')">
 | 
					        :placeholder="$t('customerquality.knowledgeBaseFileId')">
 | 
				
			||||||
        <el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName" :value="item.id">
 | 
					        <el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName" :value="item.id">
 | 
				
			||||||
        </el-option>
 | 
					        </el-option>
 | 
				
			||||||
@@ -143,7 +145,7 @@ export default {
 | 
				
			|||||||
          }
 | 
					          }
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
        .then(({ data: res }) => {
 | 
					        .then(({ data: res }) => {
 | 
				
			||||||
          this.dataListLoading = false;
 | 
					          // this.dataListLoading = false;
 | 
				
			||||||
          if (res.code === 0) {
 | 
					          if (res.code === 0) {
 | 
				
			||||||
            this.categoryList = res.data.list
 | 
					            this.categoryList = res.data.list
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
  <!--
 | 
					  <!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-02-14 15:02:26
 | 
					 * @Date: 2023-02-14 15:02:26
 | 
				
			||||||
 * @LastEditTime: 2023-07-14 10:06:39
 | 
					 * @LastEditTime: 2023-07-19 15:28:46
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -9,33 +9,15 @@
 | 
				
			|||||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
					  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
				
			||||||
    label-width="120px">
 | 
					    label-width="120px">
 | 
				
			||||||
    <el-form-item prop="code" :label="$t('customerquality.code')">
 | 
					    <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>
 | 
				
			||||||
    <el-form-item prop="knowledgeBaseName" :label="$t('customerquality.knowledgeBaseName')">
 | 
					    <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>
 | 
				
			||||||
    <!-- <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-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"
 | 
					        <el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName" :value="item.id">
 | 
				
			||||||
          :value="item.id">
 | 
					 | 
				
			||||||
        </el-option>
 | 
					        </el-option>
 | 
				
			||||||
      </el-select>
 | 
					      </el-select>
 | 
				
			||||||
    </el-form-item>
 | 
					    </el-form-item>
 | 
				
			||||||
@@ -112,7 +94,7 @@ export default {
 | 
				
			|||||||
        .get(`/customerquality/qmsKnowledgeBase/${this.dataForm.id}`)
 | 
					        .get(`/customerquality/qmsKnowledgeBase/${this.dataForm.id}`)
 | 
				
			||||||
        .then(({ data: res }) => {
 | 
					        .then(({ data: res }) => {
 | 
				
			||||||
          if (res.code !== 0) {
 | 
					          if (res.code !== 0) {
 | 
				
			||||||
            return this.$message.error(res.msg);
 | 
					            return this.$message.error(res.msg)
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          this.dataForm = {
 | 
					          this.dataForm = {
 | 
				
			||||||
            ...this.dataForm,
 | 
					            ...this.dataForm,
 | 
				
			||||||
@@ -131,7 +113,7 @@ export default {
 | 
				
			|||||||
          }
 | 
					          }
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
        .then(({ data: res }) => {
 | 
					        .then(({ data: res }) => {
 | 
				
			||||||
          this.dataListLoading = false;
 | 
					          // this.dataListLoading = false;
 | 
				
			||||||
          if (res.code === 0) {
 | 
					          if (res.code === 0) {
 | 
				
			||||||
            this.categoryList = res.data.list 
 | 
					            this.categoryList = res.data.list 
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-02-14 15:02:26
 | 
					 * @Date: 2023-02-14 15:02:26
 | 
				
			||||||
 * @LastEditTime: 2023-07-13 11:01:20
 | 
					 * @LastEditTime: 2023-07-18 16:55:16
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <el-form :model="dataForm" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" label-width="120px">
 | 
					  <el-form :model="dataForm" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" label-width="120px">
 | 
				
			||||||
    <el-form-item prop="title" :label="$t('researchquality.title')">
 | 
					    <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-input>
 | 
				
			||||||
    </el-form-item>
 | 
					    </el-form-item>
 | 
				
			||||||
    <el-form-item prop="requirementListGroupId" :label="$t('researchquality.requirementListGroupId')">
 | 
					    <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 v-for="item in projectTypeList" :key="item.id" :label="item.name" :value="item.id">
 | 
				
			||||||
        </el-option>
 | 
					        </el-option>
 | 
				
			||||||
      </el-select>
 | 
					      </el-select>
 | 
				
			||||||
    </el-form-item>
 | 
					    </el-form-item>
 | 
				
			||||||
    <el-form-item prop="description" :label="$t('researchquality.description')">
 | 
					    <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-input>
 | 
				
			||||||
    </el-form-item>
 | 
					    </el-form-item>
 | 
				
			||||||
  </el-form>
 | 
					  </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
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-06-08 14:29:46
 | 
					 * @Date: 2023-06-08 14:29:46
 | 
				
			||||||
 * @LastEditTime: 2023-07-14 14:28:20
 | 
					 * @LastEditTime: 2023-07-21 14:03:20
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -13,21 +13,76 @@
 | 
				
			|||||||
          <el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
 | 
					          <el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
 | 
				
			||||||
        </el-badge> -->
 | 
					        </el-badge> -->
 | 
				
			||||||
      </SearchBar>
 | 
					      </SearchBar>
 | 
				
			||||||
      <base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1"
 | 
					      <el-table :data="tableData" style="width: 100%">
 | 
				
			||||||
        :limit="listQuery.limit" :table-data="tableData">
 | 
					        <el-table-column type="expand">
 | 
				
			||||||
        <method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
 | 
					          <template slot-scope="props">
 | 
				
			||||||
          @clickBtn="handleClick" />
 | 
					            <el-form label-position="left" inline class="demo-table-expand">
 | 
				
			||||||
      </base-table>
 | 
					              <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 :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
 | 
				
			||||||
        @pagination="getDataList" />
 | 
					        @pagination="getDataList" />
 | 
				
			||||||
      <!-- 弹窗, 新增 / 修改 -->
 | 
					      <!-- 弹窗, 新增 / 修改 -->
 | 
				
			||||||
      <base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
 | 
					      <customerQualityProjectList-add v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList">
 | 
				
			||||||
        @confirm="handleConfirm" :before-close="handleCancel">
 | 
					      </customerQualityProjectList-add>
 | 
				
			||||||
        <qmsKnowledgeBase-add ref="addOrUpdate" @refreshDataList="successSubmit">
 | 
					      <qualityProjectList-show v-if="qualityProjectListShow" ref="qualityProjectListShow"
 | 
				
			||||||
        </qmsKnowledgeBase-add>
 | 
					        @refreshDataList="getDataList">
 | 
				
			||||||
 | 
					      </qualityProjectList-show>
 | 
				
			||||||
      <!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
 | 
					      <!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
 | 
				
			||||||
      </base-dialog>
 | 
					      <!-- </base-dialog> -->
 | 
				
			||||||
      <baseConfig ref="baseConfigOrList" v-if="baseConfigShow"></baseConfig>
 | 
					      <!-- <baseConfig ref="baseConfigOrList" v-if="baseConfigShow"></baseConfig> -->
 | 
				
			||||||
      <!-- <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
 | 
					      <!-- <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
 | 
				
			||||||
        @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
 | 
					        @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
 | 
				
			||||||
        <projectType-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit">
 | 
					        <projectType-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit">
 | 
				
			||||||
@@ -51,42 +106,16 @@
 | 
				
			|||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import basicPage from "@/mixins/basic-page"
 | 
					// import basicPage from "@/mixins/basic-page"
 | 
				
			||||||
// import basicSearch from "@/mixins/basic-search"
 | 
					// import basicSearch from "@/mixins/basic-search"
 | 
				
			||||||
// import projectTypeSearch from "./components/projectTypeSearch.vue"
 | 
					// import projectTypeSearch from "./components/projectTypeSearch.vue"
 | 
				
			||||||
import customerquality from '@/filters/customerquality'
 | 
					// import customerquality from '@/filters/customerquality'
 | 
				
			||||||
import qmsKnowledgeBaseAdd from "./components/qmsKnowledgeBase-add.vue"
 | 
					import customerQualityProjectListAdd from "./components/customerQualityProjectList-add.vue"
 | 
				
			||||||
import baseConfig from "./components/baseConfig"
 | 
					// import baseConfig from "./components/baseConfig"
 | 
				
			||||||
 | 
					import qualityProjectListShow from "./components/qualityProjectList-show.vue"
 | 
				
			||||||
 | 
					import { timeFormatter } from '@/filters'
 | 
				
			||||||
import i18n from "@/i18n"
 | 
					import i18n from "@/i18n"
 | 
				
			||||||
// 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 = [
 | 
					const tableBtn = [
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    type: "edit",
 | 
					    type: "edit",
 | 
				
			||||||
@@ -96,27 +125,30 @@ const tableBtn = [
 | 
				
			|||||||
    type: "delete",
 | 
					    type: "delete",
 | 
				
			||||||
    btnName: i18n.t('delete'),
 | 
					    btnName: i18n.t('delete'),
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  // {
 | 
				
			||||||
    type: "configuration",
 | 
					  //   type: "configuration",
 | 
				
			||||||
    btnName: i18n.t('configuration'),
 | 
					  //   btnName: i18n.t('configuration'),
 | 
				
			||||||
  }
 | 
					  // }
 | 
				
			||||||
];
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  mixins: [basicPage],
 | 
					  // mixins: [basicPage],
 | 
				
			||||||
  data() {
 | 
					  data() {
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
      urlOptions: {
 | 
					      urlOptions: {
 | 
				
			||||||
        getDataListURL: "/customerquality/qmsCustomerQualityProjectList/page",
 | 
					        getDataListURL: "/customerquality/qmsCustomerQualityProjectList/page",
 | 
				
			||||||
        deleteURL: "/customerquality/qmsCustomerQualityProjectList",
 | 
					        deleteURL: "/customerquality/qmsCustomerQualityProjectList",
 | 
				
			||||||
        exportURL: '/customerquality/qmsCustomerQualityProjectList/export'
 | 
					        exportURL: '/customerquality/qmsCustomerQualityProjectList/export',
 | 
				
			||||||
 | 
					        getProductURL: '/basic/qmsProduct/page',
 | 
				
			||||||
 | 
					        getCustomerURL: '/basic/qmsCustomer/page'
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      tableProps,
 | 
					      tableData:[],
 | 
				
			||||||
      tableBtn,
 | 
					 | 
				
			||||||
      productData: {},
 | 
					      productData: {},
 | 
				
			||||||
      dataForm:{
 | 
					      listQuery:{
 | 
				
			||||||
        limit: 999,
 | 
					        limit: 999,
 | 
				
			||||||
        page:1
 | 
					        page: 1,
 | 
				
			||||||
 | 
					        total:0
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
 | 
					      timeFormatter,
 | 
				
			||||||
      baseConfigShow:false,
 | 
					      baseConfigShow:false,
 | 
				
			||||||
      searchOrEditTitle: "",
 | 
					      searchOrEditTitle: "",
 | 
				
			||||||
      searchOrUpdateVisible: false,
 | 
					      searchOrUpdateVisible: false,
 | 
				
			||||||
@@ -124,57 +156,58 @@ export default {
 | 
				
			|||||||
      addOrEditTitle: '',
 | 
					      addOrEditTitle: '',
 | 
				
			||||||
      addOrUpdateVisible: false,
 | 
					      addOrUpdateVisible: false,
 | 
				
			||||||
      productOrUpdateVisible: false,
 | 
					      productOrUpdateVisible: false,
 | 
				
			||||||
 | 
					      qualityProjectListShow:false,
 | 
				
			||||||
      formConfig: [
 | 
					      formConfig: [
 | 
				
			||||||
        // {
 | 
					        {
 | 
				
			||||||
        //   type: 'input',
 | 
					          type: 'select',
 | 
				
			||||||
        //   label: i18n.t('customerquality.customerName'),
 | 
					          label: i18n.t('basic.productName'),
 | 
				
			||||||
        //   placeholder: i18n.t('customerquality.customerName'),
 | 
					          placeholder: i18n.t('basic.productName'),
 | 
				
			||||||
        //   param: 'customerName'
 | 
					          selectOptions: [],
 | 
				
			||||||
        // },
 | 
					          param: 'productId'
 | 
				
			||||||
        // {
 | 
					        },
 | 
				
			||||||
        //   type: 'select',
 | 
					        {
 | 
				
			||||||
        //   label: i18n.t('customerquality.questionType'),
 | 
					          type: 'select',
 | 
				
			||||||
        //   placeholder: i18n.t('customerquality.questionType'),
 | 
					          label: i18n.t('customerquality.customerName'),
 | 
				
			||||||
        //   selectOptions: [
 | 
					          placeholder: i18n.t('customerquality.customerName'),
 | 
				
			||||||
        //     {
 | 
					          selectOptions: [],
 | 
				
			||||||
        //       id: 0,
 | 
					          param: 'customerId'
 | 
				
			||||||
        //       name: '产品质量题'
 | 
					        },
 | 
				
			||||||
        //     },
 | 
					        {
 | 
				
			||||||
        //     {
 | 
					          type: 'select',
 | 
				
			||||||
        //       id: 1,
 | 
					          label: i18n.t('customerquality.status'),
 | 
				
			||||||
        //       name: '售后服务题'
 | 
					          placeholder: i18n.t('customerquality.status'),
 | 
				
			||||||
        //     },
 | 
					          selectOptions: [
 | 
				
			||||||
        //     {
 | 
					            {
 | 
				
			||||||
        //       id: 2,
 | 
					              id: '0',
 | 
				
			||||||
        //       name: '物流配送问题'
 | 
					              name: '待审核'
 | 
				
			||||||
        //     },
 | 
					            },
 | 
				
			||||||
        //     {
 | 
					            {
 | 
				
			||||||
        //       id: 3,
 | 
					              id: '1',
 | 
				
			||||||
        //       name: '单关问题'
 | 
					              name: '已完成'
 | 
				
			||||||
        //     },
 | 
					            },
 | 
				
			||||||
        //     {
 | 
					            {
 | 
				
			||||||
        //       id: 4,
 | 
					              id: '2',
 | 
				
			||||||
        //       name: '4系统故问题'
 | 
					              name: '交付退回'
 | 
				
			||||||
        //     }
 | 
					            },
 | 
				
			||||||
        //   ],
 | 
					            {
 | 
				
			||||||
        //   param: 'questionType'
 | 
					              id: '3',
 | 
				
			||||||
        // },
 | 
					              name: '审核拒绝'
 | 
				
			||||||
        // {
 | 
					            }
 | 
				
			||||||
        //   type: 'select',
 | 
					          ],
 | 
				
			||||||
        //   label: i18n.t('basic.status'),
 | 
					          param: 'status'
 | 
				
			||||||
        //   placeholder: i18n.t('basic.status'),
 | 
					        },
 | 
				
			||||||
        //   selectOptions: [
 | 
					        {
 | 
				
			||||||
        //     {
 | 
					          type: 'datePicker',
 | 
				
			||||||
        //       id: 0,
 | 
					          label: i18n.t('time'),
 | 
				
			||||||
        //       name: '不可用'
 | 
					          dateType: 'datetimerange',
 | 
				
			||||||
        //     },
 | 
					          format: 'yyyy-MM-dd HH:mm:ss',
 | 
				
			||||||
        //     {
 | 
					          valueFormat: 'yyyy-MM-ddTHH:mm:ss',
 | 
				
			||||||
        //       id: 1,
 | 
					          rangeSeparator: '-',
 | 
				
			||||||
        //       name: '可用'
 | 
					          startPlaceholder: '开始时间',
 | 
				
			||||||
        //     }
 | 
					          endPlaceholder: '结束时间',
 | 
				
			||||||
        //   ],
 | 
					          param: 'timeSlot',
 | 
				
			||||||
        //   param: 'status'
 | 
					          width: 350
 | 
				
			||||||
        // },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: i18n.t('search'),
 | 
					          btnName: i18n.t('search'),
 | 
				
			||||||
@@ -193,11 +226,72 @@ export default {
 | 
				
			|||||||
    };
 | 
					    };
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  components: {
 | 
					  components: {
 | 
				
			||||||
    qmsKnowledgeBaseAdd,
 | 
					    customerQualityProjectListAdd,
 | 
				
			||||||
    baseConfig
 | 
					    qualityProjectListShow
 | 
				
			||||||
 | 
					    // baseConfig
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  mounted () {
 | 
				
			||||||
 | 
					    this.getDataList()
 | 
				
			||||||
 | 
					    this.getDict()
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    //search-bar点击
 | 
					    //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;
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    getDict() {
 | 
				
			||||||
 | 
					      this.$http
 | 
				
			||||||
 | 
					        .get(this.urlOptions.getProductURL, {
 | 
				
			||||||
 | 
					          params: {
 | 
				
			||||||
 | 
					            limit: 999,
 | 
				
			||||||
 | 
					            page: 1,
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					        .then(({ data: res }) => {
 | 
				
			||||||
 | 
					          // this.dataListLoading = false;
 | 
				
			||||||
 | 
					          if (res.code === 0) {
 | 
				
			||||||
 | 
					            this.formConfig[0].selectOptions = res.data.list.map((item) => {
 | 
				
			||||||
 | 
					              return {
 | 
				
			||||||
 | 
					                id: item.id,
 | 
				
			||||||
 | 
					                name:item.productName
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            })
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					      this.$http
 | 
				
			||||||
 | 
					        .get(this.urlOptions.getCustomerURL, {
 | 
				
			||||||
 | 
					          params: {
 | 
				
			||||||
 | 
					            limit: 999,
 | 
				
			||||||
 | 
					            page: 1,
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					        .then(({ data: res }) => {
 | 
				
			||||||
 | 
					          // this.dataListLoading = false;
 | 
				
			||||||
 | 
					          this.formConfig[1].selectOptions = res.data.list.map((item) => {
 | 
				
			||||||
 | 
					            return {
 | 
				
			||||||
 | 
					              id: item.id,
 | 
				
			||||||
 | 
					              name: item.customerName
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          })
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    handleProductCancel() {
 | 
					    handleProductCancel() {
 | 
				
			||||||
      this.productOrUpdateVisible = false;
 | 
					      this.productOrUpdateVisible = false;
 | 
				
			||||||
      this.productOrEditTitle = "";
 | 
					      this.productOrEditTitle = "";
 | 
				
			||||||
@@ -264,15 +358,14 @@ export default {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
      }).catch(() => { })
 | 
					      }).catch(() => { })
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    handleClick(val) {
 | 
					    handleDelete(val) {
 | 
				
			||||||
      if (val.type === "delete") {
 | 
					        this.$confirm(`确定对[名称${val.productName}]进行删除操作?`, "提示", {
 | 
				
			||||||
        this.$confirm(`确定对[名称=${val.data.customerTypeName}]进行删除操作?`, "提示", {
 | 
					 | 
				
			||||||
          confirmButtonText: "确定",
 | 
					          confirmButtonText: "确定",
 | 
				
			||||||
          cancelButtonText: "取消",
 | 
					          cancelButtonText: "取消",
 | 
				
			||||||
          type: "warning",
 | 
					          type: "warning",
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
          .then(() => {
 | 
					          .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) {
 | 
					              if (data && data.code === 0) {
 | 
				
			||||||
                this.$message({
 | 
					                this.$message({
 | 
				
			||||||
                  message: "操作成功",
 | 
					                  message: "操作成功",
 | 
				
			||||||
@@ -288,18 +381,19 @@ export default {
 | 
				
			|||||||
            });
 | 
					            });
 | 
				
			||||||
          })
 | 
					          })
 | 
				
			||||||
          .catch(() => { });
 | 
					          .catch(() => { });
 | 
				
			||||||
      } else if (val.type === 'edit') {
 | 
					    },
 | 
				
			||||||
 | 
					    handleEdit(val) {
 | 
				
			||||||
      this.addOrUpdateVisible = true
 | 
					      this.addOrUpdateVisible = true
 | 
				
			||||||
      this.addOrEditTitle = this.$t('edit')
 | 
					      this.addOrEditTitle = this.$t('edit')
 | 
				
			||||||
      this.$nextTick(() => {
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
          this.$refs.addOrUpdate.init(val.data.id);
 | 
					        this.$refs.addOrUpdate.init(val.id);
 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
      } else if (val.type === 'configuration') {
 | 
					    },
 | 
				
			||||||
        this.baseConfigShow = true
 | 
					    handleShow(val) {
 | 
				
			||||||
 | 
					      this.qualityProjectListShow = true
 | 
				
			||||||
      this.$nextTick(() => {
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
          this.$refs.baseConfigOrList.init(val.data.id)
 | 
					        this.$refs.qualityProjectListShow.init(val)
 | 
				
			||||||
        });
 | 
					      })
 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    // addOrUpdateHandle(productData) {
 | 
					    // addOrUpdateHandle(productData) {
 | 
				
			||||||
    //   this.addOrUpdateVisible = true;
 | 
					    //   this.addOrUpdateVisible = true;
 | 
				
			||||||
@@ -313,6 +407,11 @@ export default {
 | 
				
			|||||||
        case "search":
 | 
					        case "search":
 | 
				
			||||||
          // this.listQuery.paramCode = val.paramCode;
 | 
					          // this.listQuery.paramCode = val.paramCode;
 | 
				
			||||||
          // console.log(i18n);
 | 
					          // console.log(i18n);
 | 
				
			||||||
 | 
					          this.listQuery.status = val.status ? val.status : null
 | 
				
			||||||
 | 
					          this.listQuery.productId = val.productId ? val.productId : null
 | 
				
			||||||
 | 
					          this.listQuery.customerId = val.customerId ? val.customerId : null
 | 
				
			||||||
 | 
					          this.listQuery.startTime = val.timeSlot ? val.timeSlot[0] : null
 | 
				
			||||||
 | 
					          this.listQuery.endTime = val.timeSlot ? val.timeSlot[1] : null
 | 
				
			||||||
          this.listQuery.page = 1
 | 
					          this.listQuery.page = 1
 | 
				
			||||||
          this.getDataList()
 | 
					          this.getDataList()
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
@@ -320,9 +419,10 @@ export default {
 | 
				
			|||||||
         this.exportHandle()
 | 
					         this.exportHandle()
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case "add":
 | 
					        case "add":
 | 
				
			||||||
          this.addOrEditTitle = '新增'
 | 
					          this.addOrUpdateVisible = true
 | 
				
			||||||
          this.addOrUpdateVisible = true;
 | 
					          this.$nextTick(() => {
 | 
				
			||||||
          this.addOrUpdateHandle()
 | 
					            this.$refs.addOrUpdate.init()
 | 
				
			||||||
 | 
					          })
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        default:
 | 
					        default:
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-06-08 14:29:46
 | 
					 * @Date: 2023-06-08 14:29:46
 | 
				
			||||||
 * @LastEditTime: 2023-07-14 10:08:05
 | 
					 * @LastEditTime: 2023-07-18 14:20:43
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -27,6 +27,8 @@
 | 
				
			|||||||
        </customerQualityRequirementList-add>
 | 
					        </customerQualityRequirementList-add>
 | 
				
			||||||
        <!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
 | 
					        <!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
 | 
				
			||||||
      </base-dialog>
 | 
					      </base-dialog>
 | 
				
			||||||
 | 
					      <baseConfig ref="baseConfigOrList" v-if="baseConfigShow"></baseConfig>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      <!-- <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
 | 
					      <!-- <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
 | 
				
			||||||
        @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
 | 
					        @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
 | 
				
			||||||
        <projectType-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit">
 | 
					        <projectType-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit">
 | 
				
			||||||
@@ -56,6 +58,7 @@ import basicPage from "@/mixins/basic-page"
 | 
				
			|||||||
import customerquality from '@/filters/customerquality'
 | 
					import customerquality from '@/filters/customerquality'
 | 
				
			||||||
import customerQualityRequirementListAdd from "./components/customerQualityRequirementList-add.vue"
 | 
					import customerQualityRequirementListAdd from "./components/customerQualityRequirementList-add.vue"
 | 
				
			||||||
import i18n from "@/i18n"
 | 
					import i18n from "@/i18n"
 | 
				
			||||||
 | 
					import baseConfig from "./components/baseConfig"
 | 
				
			||||||
// import i18n from "@/i18n";
 | 
					// import i18n from "@/i18n";
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
@@ -83,6 +86,10 @@ const tableBtn = [
 | 
				
			|||||||
  {
 | 
					  {
 | 
				
			||||||
    type: "delete",
 | 
					    type: "delete",
 | 
				
			||||||
    btnName: i18n.t('delete'),
 | 
					    btnName: i18n.t('delete'),
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    type: "configuration",
 | 
				
			||||||
 | 
					    btnName: i18n.t('configuration'),
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
];
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
@@ -95,6 +102,7 @@ export default {
 | 
				
			|||||||
        exportURL: '/customerquality/qmsCustomerQualityRequirementList/export'
 | 
					        exportURL: '/customerquality/qmsCustomerQualityRequirementList/export'
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      tableProps,
 | 
					      tableProps,
 | 
				
			||||||
 | 
					      baseConfigShow:false,
 | 
				
			||||||
      tableBtn,
 | 
					      tableBtn,
 | 
				
			||||||
      productData: {},
 | 
					      productData: {},
 | 
				
			||||||
      dataForm:{
 | 
					      dataForm:{
 | 
				
			||||||
@@ -166,7 +174,8 @@ export default {
 | 
				
			|||||||
    };
 | 
					    };
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  components: {
 | 
					  components: {
 | 
				
			||||||
    customerQualityRequirementListAdd
 | 
					    customerQualityRequirementListAdd,
 | 
				
			||||||
 | 
					    baseConfig
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    //search-bar点击
 | 
					    //search-bar点击
 | 
				
			||||||
@@ -196,12 +205,12 @@ export default {
 | 
				
			|||||||
    //   this.$refs.addOrUpdate.dataFormSubmitHandle();
 | 
					    //   this.$refs.addOrUpdate.dataFormSubmitHandle();
 | 
				
			||||||
    // },
 | 
					    // },
 | 
				
			||||||
    // conditionSearchSubmit() {},
 | 
					    // conditionSearchSubmit() {},
 | 
				
			||||||
    conditionSearchSubmit(dataForm) {
 | 
					    conditionSearchSubmit() {
 | 
				
			||||||
      // console.log(key);
 | 
					      // console.log(key);
 | 
				
			||||||
      // console.log(key);
 | 
					      // console.log(key);
 | 
				
			||||||
      this.listQuery.page = 1;
 | 
					      this.listQuery.page = 1;
 | 
				
			||||||
      this.getDataList();
 | 
					      this.getDataList();
 | 
				
			||||||
      this.searchOrUpdateVisible = false;
 | 
					      this.searchOrUpdateVisible = false
 | 
				
			||||||
      // console.log(11111);
 | 
					      // console.log(11111);
 | 
				
			||||||
      // this.conditionSearchSubmit();
 | 
					      // this.conditionSearchSubmit();
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@@ -209,10 +218,6 @@ export default {
 | 
				
			|||||||
      this.$http.get(this.urlOptions.exportURL, { responseType: 'blob' }, {
 | 
					      this.$http.get(this.urlOptions.exportURL, { responseType: 'blob' }, {
 | 
				
			||||||
        ...this.dataForm
 | 
					        ...this.dataForm
 | 
				
			||||||
      }).then((res) => {
 | 
					      }).then((res) => {
 | 
				
			||||||
        console.log(res)
 | 
					 | 
				
			||||||
        // if (res !== 0) {
 | 
					 | 
				
			||||||
        //   return this.$message.error(res.msg) 
 | 
					 | 
				
			||||||
        // }
 | 
					 | 
				
			||||||
        let fileName = ''
 | 
					        let fileName = ''
 | 
				
			||||||
        const contentDisposition = res.headers['content-disposition']
 | 
					        const contentDisposition = res.headers['content-disposition']
 | 
				
			||||||
        if (contentDisposition) {
 | 
					        if (contentDisposition) {
 | 
				
			||||||
@@ -266,6 +271,14 @@ export default {
 | 
				
			|||||||
        this.$nextTick(() => {
 | 
					        this.$nextTick(() => {
 | 
				
			||||||
          this.$refs.addOrUpdate.init(val.data.id);
 | 
					          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) {
 | 
					    // addOrUpdateHandle(productData) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-06-08 14:29:46
 | 
					 * @Date: 2023-06-08 14:29:46
 | 
				
			||||||
 * @LastEditTime: 2023-07-14 13:58:32
 | 
					 * @LastEditTime: 2023-07-18 14:20:57
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -284,8 +284,11 @@ export default {
 | 
				
			|||||||
        })
 | 
					        })
 | 
				
			||||||
      } else if (val.type === 'configuration') {
 | 
					      } else if (val.type === 'configuration') {
 | 
				
			||||||
        this.baseConfigShow = true
 | 
					        this.baseConfigShow = true
 | 
				
			||||||
 | 
					        const obj = {
 | 
				
			||||||
 | 
					          knowledgeBaseId: val.data.id
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        this.$nextTick(() => {
 | 
					        this.$nextTick(() => {
 | 
				
			||||||
          this.$refs.baseConfigOrList.init(val.data.id)
 | 
					          this.$refs.baseConfigOrList.init(obj)
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,13 +1,13 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-02-14 15:02:26
 | 
					 * @Date: 2023-02-14 15:02:26
 | 
				
			||||||
 * @LastEditTime: 2023-07-13 09:42:39
 | 
					 * @LastEditTime: 2023-07-21 16:35:04
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <el-form :model="dataForm" ref="dataForm"  :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
					  <el-drawer :title="dataForm.id ? $t('edit') : $t('add')" :visible.sync="drawer" size="50%">
 | 
				
			||||||
    label-width="150px">
 | 
					    <el-form :model="dataForm" ref="dataForm" :rules="dataRule" label-width="150px">
 | 
				
			||||||
      <el-row>
 | 
					      <el-row>
 | 
				
			||||||
        <el-col :span="8">
 | 
					        <el-col :span="8">
 | 
				
			||||||
          <el-form-item prop="partName" :label="$t('gage.partName')">
 | 
					          <el-form-item prop="partName" :label="$t('gage.partName')">
 | 
				
			||||||
@@ -126,14 +126,34 @@
 | 
				
			|||||||
          </el-form-item>
 | 
					          </el-form-item>
 | 
				
			||||||
        </el-col>
 | 
					        </el-col>
 | 
				
			||||||
      </el-row>
 | 
					      </el-row>
 | 
				
			||||||
    <el-button @click="getTableData()" type="primary">{{ $t('gage.tabularComputations') }}</el-button>
 | 
					      <el-row>
 | 
				
			||||||
    <base-table :table-props="tableProps" :table-data="tableData" />
 | 
					        <el-form-item style="float: right;margin-right: 30px;">
 | 
				
			||||||
 | 
					          <el-button @click="handleClose()">{{ $t('cancel') }}</el-button>
 | 
				
			||||||
 | 
					          <el-button type="primary" @click="dataFormSubmit()">{{ $t('confirm') }} </el-button>
 | 
				
			||||||
 | 
					        </el-form-item>
 | 
				
			||||||
 | 
					      </el-row>
 | 
				
			||||||
    </el-form>
 | 
					    </el-form>
 | 
				
			||||||
 | 
					    <div v-if="dataForm.id? true :false" style='margin-left: 30px;'>
 | 
				
			||||||
 | 
					      <el-button @click="getTableData()" type="primary">{{ $t('gage.tabularComputations') }}</el-button>
 | 
				
			||||||
 | 
					      <el-button @click="tabularComputationsAdd()" type="primary">{{ $t('gage.tabularComputationsAdd') }}</el-button>
 | 
				
			||||||
 | 
					      <base-table :span-method="objectSpanMethod" :table-props="tableProps" :table-data="tableData" />
 | 
				
			||||||
 | 
					      <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>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    <tabularComputations-add ref="tabularComputationsAddOrUpdate" v-if="tabularComputationsAddShow"
 | 
				
			||||||
 | 
					      @refreshDataList="getTableData">
 | 
				
			||||||
 | 
					    </tabularComputations-add>
 | 
				
			||||||
 | 
					  </el-drawer>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import debounce from "lodash/debounce";
 | 
					import debounce from "lodash/debounce";
 | 
				
			||||||
import basicAdd from "@/mixins/basic-add";
 | 
					import basicAdd from "@/mixins/basic-add";
 | 
				
			||||||
 | 
					import InnerTable from "./innerTable"
 | 
				
			||||||
 | 
					import tabularComputationsAdd from "./tabularComputations-add"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import available from "./available";
 | 
					import available from "./available";
 | 
				
			||||||
// const tableProps = [
 | 
					// const tableProps = [
 | 
				
			||||||
//   {
 | 
					//   {
 | 
				
			||||||
@@ -201,29 +221,14 @@ import available from "./available";
 | 
				
			|||||||
//   //   ]
 | 
					//   //   ]
 | 
				
			||||||
//   // }
 | 
					//   // }
 | 
				
			||||||
// ]
 | 
					// ]
 | 
				
			||||||
const tableProps = [
 | 
					 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    prop: 'testUserName',
 | 
					 | 
				
			||||||
    label: '人员',
 | 
					 | 
				
			||||||
    align: 'center'
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    prop: 'orderNumber',
 | 
					 | 
				
			||||||
    label: '序号',
 | 
					 | 
				
			||||||
    align:'center'
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    prop: 'test',
 | 
					 | 
				
			||||||
    label: '零件',
 | 
					 | 
				
			||||||
    align: 'center',
 | 
					 | 
				
			||||||
    children: [
 | 
					 | 
				
			||||||
    ]
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
]
 | 
					 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  mixins: [basicAdd],
 | 
					  mixins: [basicAdd],
 | 
				
			||||||
 | 
					  components: {
 | 
				
			||||||
 | 
					    tabularComputationsAdd,
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  data() {
 | 
					  data() {
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
 | 
					      tabularComputationsAddShow:false,
 | 
				
			||||||
      urlOptions: {
 | 
					      urlOptions: {
 | 
				
			||||||
        submitURL: "/gage/qmsGageGrr",
 | 
					        submitURL: "/gage/qmsGageGrr",
 | 
				
			||||||
        infoURL: "/gage/qmsGageGrr/{ id }",
 | 
					        infoURL: "/gage/qmsGageGrr/{ id }",
 | 
				
			||||||
@@ -234,10 +239,11 @@ export default {
 | 
				
			|||||||
        getCustomerListURL: '/basic/qmsCustomer/page',
 | 
					        getCustomerListURL: '/basic/qmsCustomer/page',
 | 
				
			||||||
        getTabularComputationsURL: '/gage/qmsGageGrrTester/table'
 | 
					        getTabularComputationsURL: '/gage/qmsGageGrrTester/table'
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
 | 
					      drawer:false,
 | 
				
			||||||
      trueTableProps: [],
 | 
					      trueTableProps: [],
 | 
				
			||||||
      gageList: [],
 | 
					      gageList: [],
 | 
				
			||||||
      userList: [],
 | 
					      userList: [],
 | 
				
			||||||
      tableProps,
 | 
					      tableProps:[],
 | 
				
			||||||
      customerList: [],
 | 
					      customerList: [],
 | 
				
			||||||
      tableData:[],
 | 
					      tableData:[],
 | 
				
			||||||
      gageTypeList:[],
 | 
					      gageTypeList:[],
 | 
				
			||||||
@@ -304,7 +310,30 @@ export default {
 | 
				
			|||||||
          name: '自校报告'
 | 
					          name: '自校报告'
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ],
 | 
					      ],
 | 
				
			||||||
 | 
					      column1Arr:[],
 | 
				
			||||||
 | 
					      column1Index: 0,
 | 
				
			||||||
 | 
					      column2Arr: {},
 | 
				
			||||||
 | 
					      column2Index: 0,
 | 
				
			||||||
      visible: false,
 | 
					      visible: false,
 | 
				
			||||||
 | 
					      data: [],
 | 
				
			||||||
 | 
					      headers: [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          prop: 'meanRange',
 | 
				
			||||||
 | 
					          label: '极差均值',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          prop: 'meanDifference',
 | 
				
			||||||
 | 
					          label: '均值差',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          prop: 'upperControlLimit',
 | 
				
			||||||
 | 
					          label: '控制上限',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          prop: 'lowerControlLimit',
 | 
				
			||||||
 | 
					          label: '控制下限',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
      // tableProp2,
 | 
					      // tableProp2,
 | 
				
			||||||
      chartDataArr: [],
 | 
					      chartDataArr: [],
 | 
				
			||||||
      dataForm: {
 | 
					      dataForm: {
 | 
				
			||||||
@@ -332,6 +361,14 @@ export default {
 | 
				
			|||||||
    };
 | 
					    };
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  computed: {
 | 
					  computed: {
 | 
				
			||||||
 | 
					    getHeaders() {
 | 
				
			||||||
 | 
					      return this.data.reduce((pre, cur, index) => pre.concat(`value${index}`), ['title'])
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    getValues() {
 | 
				
			||||||
 | 
					      return this.headers.map(item => {
 | 
				
			||||||
 | 
					        return this.data.reduce((pre, cur, index) => Object.assign(pre, { ['value' + index]: cur[item.prop] }), { 'title': item.label, });
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    dataRule() {
 | 
					    dataRule() {
 | 
				
			||||||
      return {
 | 
					      return {
 | 
				
			||||||
        publicErrand: [
 | 
					        publicErrand: [
 | 
				
			||||||
@@ -373,7 +410,62 @@ export default {
 | 
				
			|||||||
    this.tableProps = []
 | 
					    this.tableProps = []
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
 | 
					    tabularComputationsAdd() {
 | 
				
			||||||
 | 
					      this.tabularComputationsAddShow = true 
 | 
				
			||||||
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
 | 
					        this.$refs.tabularComputationsAddOrUpdate.init(this.dataForm.id)
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    setrowspans() {
 | 
				
			||||||
 | 
					      // 先给所有的数据都加一个v.rowspan = 1
 | 
				
			||||||
 | 
					      this.tableData.forEach(v => {
 | 
				
			||||||
 | 
					        v.rowspan = 1;
 | 
				
			||||||
 | 
					        v.rangeAverageRowspan = 1;
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					      // 双层循环
 | 
				
			||||||
 | 
					      for (let i = 0; i < this.tableData.length; i++) {
 | 
				
			||||||
 | 
					        // 内层循环,上面已经给所有的行都加了v.rowspan = 1
 | 
				
			||||||
 | 
					        // 这里进行判断
 | 
				
			||||||
 | 
					        // 如果当前行的id和下一行的id相等
 | 
				
			||||||
 | 
					        // 就把当前v.rowspan + 1
 | 
				
			||||||
 | 
					        // 下一行的v.rowspan - 1
 | 
				
			||||||
 | 
					        for (let j = i + 1; j < this.tableData.length; j++) {
 | 
				
			||||||
 | 
					          //此处可根据相同字段进行合并,此处是根据的id
 | 
				
			||||||
 | 
					          if (this.tableData[i].finalAverage === this.tableData[j].finalAverage) {
 | 
				
			||||||
 | 
					            this.tableData[i].rowspan++;
 | 
				
			||||||
 | 
					            this.tableData[j].rowspan--;
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					          if (this.tableData[i].rangeAverage === this.tableData[j].rangeAverage) {
 | 
				
			||||||
 | 
					            this.tableData[i].rangeAverageRowspan++;
 | 
				
			||||||
 | 
					            this.tableData[j].rangeAverageRowspan--;
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        // 这里跳过已经重复的数据
 | 
				
			||||||
 | 
					        i = i + this.tableData[i].rowspan - 1;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    objectSpanMethod({ row, column, rowIndex, columnIndex }) {
 | 
				
			||||||
 | 
					      // console.log(column)
 | 
				
			||||||
 | 
					      if (columnIndex === 0) {
 | 
				
			||||||
 | 
					        return {
 | 
				
			||||||
 | 
					          rowspan: row.rowspan,
 | 
				
			||||||
 | 
					          colspan: 1
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					      } else if (column.label === '最终均值') {
 | 
				
			||||||
 | 
					        return {
 | 
				
			||||||
 | 
					          rowspan: row.rowspan,
 | 
				
			||||||
 | 
					          colspan: 1
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      if (column.label === '极差均值') {
 | 
				
			||||||
 | 
					        return {
 | 
				
			||||||
 | 
					          rowspan: row.rangeAverageRowspan,
 | 
				
			||||||
 | 
					          colspan: 1
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    getTableData() {
 | 
					    getTableData() {
 | 
				
			||||||
 | 
					      this.tableData = []
 | 
				
			||||||
      this.$http.get(this.urlOptions.getTabularComputationsURL, {
 | 
					      this.$http.get(this.urlOptions.getTabularComputationsURL, {
 | 
				
			||||||
        params: {
 | 
					        params: {
 | 
				
			||||||
          gageGrrId:this.dataForm.id
 | 
					          gageGrrId:this.dataForm.id
 | 
				
			||||||
@@ -407,42 +499,117 @@ export default {
 | 
				
			|||||||
            //   //   ]
 | 
					            //   //   ]
 | 
				
			||||||
            //   // },
 | 
					            //   // },
 | 
				
			||||||
            // ]
 | 
					            // ]
 | 
				
			||||||
            for (let i = 0; i < result.data.qmsGageGrrTesterDTOList.length; i++){
 | 
					            let propsData = [
 | 
				
			||||||
              // console.log(result.data.qmsGageGrrTesterDTOList[i].orderMapList)
 | 
					              {
 | 
				
			||||||
              Object.keys(result.data.qmsGageGrrTesterDTOList[i].partMapList).forEach((item) => {
 | 
					                prop: 'testUserName',
 | 
				
			||||||
                this.tableProps[2].children.push({
 | 
					                label: '人员',
 | 
				
			||||||
 | 
					                align: 'center',
 | 
				
			||||||
 | 
					                subcomponent: InnerTable
 | 
				
			||||||
 | 
					              },
 | 
				
			||||||
 | 
					              {
 | 
				
			||||||
 | 
					                prop: 'orderNumber',
 | 
				
			||||||
 | 
					                label: '序号',
 | 
				
			||||||
 | 
					                align: 'center',
 | 
				
			||||||
 | 
					              },
 | 
				
			||||||
 | 
					              {
 | 
				
			||||||
 | 
					                prop: 'test',
 | 
				
			||||||
 | 
					                label: '零件',
 | 
				
			||||||
 | 
					                align: 'center',
 | 
				
			||||||
 | 
					                children: [
 | 
				
			||||||
 | 
					                  {
 | 
				
			||||||
 | 
					                    prop: 'orderAverage',
 | 
				
			||||||
 | 
					                    label: '序号均值',
 | 
				
			||||||
 | 
					                    align: 'center',
 | 
				
			||||||
 | 
					                  },
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
 | 
					              },
 | 
				
			||||||
 | 
					              {
 | 
				
			||||||
 | 
					                prop: 'finalAverage',
 | 
				
			||||||
 | 
					                label: '最终均值',
 | 
				
			||||||
 | 
					                align: 'center'
 | 
				
			||||||
 | 
					              },
 | 
				
			||||||
 | 
					              {
 | 
				
			||||||
 | 
					                prop: 'rangeAverage',
 | 
				
			||||||
 | 
					                label: '极差均值',
 | 
				
			||||||
 | 
					                align: 'center'
 | 
				
			||||||
 | 
					              },
 | 
				
			||||||
 | 
					              {
 | 
				
			||||||
 | 
					                prop: 'partAverageMean',
 | 
				
			||||||
 | 
					                label: 'Rp零件均值极差',
 | 
				
			||||||
 | 
					                align: 'center'
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					            Object.keys(result.data.finalPartMapList).forEach((item) => {
 | 
				
			||||||
 | 
					              propsData[2].children.push({
 | 
				
			||||||
                label: String(item),
 | 
					                label: String(item),
 | 
				
			||||||
                prop: 'measuredData' + String(item),
 | 
					                prop: 'measuredData' + String(item),
 | 
				
			||||||
                align: 'center'
 | 
					                align: 'center'
 | 
				
			||||||
              })
 | 
					              })
 | 
				
			||||||
            })
 | 
					            })
 | 
				
			||||||
 | 
					            this.tableProps = propsData
 | 
				
			||||||
 | 
					            let orderAverageArr = []
 | 
				
			||||||
 | 
					            let rangeArr = []
 | 
				
			||||||
 | 
					            for (let i = 0; i < result.data.qmsGageGrrTesterDTOList.length; i++){
 | 
				
			||||||
 | 
					              // console.log(result.data.qmsGageGrrTesterDTOLis[i])
 | 
				
			||||||
 | 
					              Object.keys(result.data.qmsGageGrrTesterDTOList[i].orderAverage).forEach((item) => {
 | 
				
			||||||
 | 
					                orderAverageArr.push(result.data.qmsGageGrrTesterDTOList[i].orderAverage[item])
 | 
				
			||||||
 | 
					              })
 | 
				
			||||||
              Object.keys(result.data.qmsGageGrrTesterDTOList[i].orderMapList).forEach((item) => {
 | 
					              Object.keys(result.data.qmsGageGrrTesterDTOList[i].orderMapList).forEach((item) => {
 | 
				
			||||||
 | 
					                console.log(item)
 | 
				
			||||||
               let measuredDataProp = 'measuredData' + String(item)
 | 
					               let measuredDataProp = 'measuredData' + String(item)
 | 
				
			||||||
                this.tableData.push({
 | 
					                arr.push({
 | 
				
			||||||
                  testUserName: result.data.qmsGageGrrTesterDTOList[i].testUserName,
 | 
					                  testUserName: result.data.qmsGageGrrTesterDTOList[i].testUserName,
 | 
				
			||||||
                  orderNumber: item,
 | 
					                  orderNumber: item,
 | 
				
			||||||
 | 
					                  finalAverage: '',
 | 
				
			||||||
 | 
					                  gageGrrId: result.data.qmsGageGrrTesterDTOList[i].gageGrrId,
 | 
				
			||||||
 | 
					                  partAverageMean: '',
 | 
				
			||||||
                  [measuredDataProp]: '',
 | 
					                  [measuredDataProp]: '',
 | 
				
			||||||
                })
 | 
					                })
 | 
				
			||||||
              })
 | 
					              })
 | 
				
			||||||
                Object.keys(result.data.qmsGageGrrTesterDTOList[i].orderMapList).forEach((item) => {
 | 
					              Object.keys(result.data.qmsGageGrrTesterDTOList[i].range).forEach((item) => {
 | 
				
			||||||
                  result.data.qmsGageGrrTesterDTOList[i].orderMapList[item].forEach((ele, index, arr) => {
 | 
					                rangeArr.push(result.data.qmsGageGrrTesterDTOList[i].range[item])
 | 
				
			||||||
                    let measuredData = 'measuredData' + String(index + 1)
 | 
					 | 
				
			||||||
                    console.log(item)
 | 
					 | 
				
			||||||
                    // console.log(arr)
 | 
					 | 
				
			||||||
                    // console.log(ele)
 | 
					 | 
				
			||||||
                    // console.log(this.tableProps[2].children.prop);
 | 
					 | 
				
			||||||
                    // console.log(this.tableProps[2].children[item - 1].prop)
 | 
					 | 
				
			||||||
                    console.log(index)
 | 
					 | 
				
			||||||
                    console.log(measuredData)
 | 
					 | 
				
			||||||
                    console.log(ele)
 | 
					 | 
				
			||||||
                    // console.log(this.tableData[index + 1])
 | 
					 | 
				
			||||||
                    this.tableData[item-1][measuredData] = ele
 | 
					 | 
				
			||||||
                    // console.log(this.tableData[item - 1])       
 | 
					 | 
				
			||||||
                  })
 | 
					 | 
				
			||||||
              })
 | 
					              })
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					            this.tableData = arr
 | 
				
			||||||
 | 
					            // console.log(Object.keys(result.data.finalPartMapList))
 | 
				
			||||||
 | 
					            Object.keys(result.data.finalPartMapList).forEach((item) => {
 | 
				
			||||||
 | 
					              // console.log(item)
 | 
				
			||||||
 | 
					              let measuredData = 'measuredData' + String(item)
 | 
				
			||||||
 | 
					              console.log(result.data.finalPartMapList[item])
 | 
				
			||||||
 | 
					              result.data.finalPartMapList[item].forEach((ele, index) => {
 | 
				
			||||||
 | 
					                this.tableData[index][measuredData] = ele
 | 
				
			||||||
 | 
					              })
 | 
				
			||||||
 | 
					            })
 | 
				
			||||||
 | 
					            orderAverageArr.forEach((ele, index) => {
 | 
				
			||||||
 | 
					              this.tableData[index]['orderAverage'] = ele
 | 
				
			||||||
 | 
					            })
 | 
				
			||||||
 | 
					            this.tableData.forEach((ele, index) => {
 | 
				
			||||||
 | 
					              ele.partAverageMean = result.data.partAverageMean
 | 
				
			||||||
 | 
					              result.data.qmsGageGrrTesterDTOList.forEach((item, i) => {
 | 
				
			||||||
 | 
					                // console.log(item.finalAverage)
 | 
				
			||||||
 | 
					                if (this.tableData[index].testUserName === result.data.qmsGageGrrTesterDTOList[i].testUserName) {
 | 
				
			||||||
 | 
					                  ele.finalAverage = item.finalAverage
 | 
				
			||||||
 | 
					                  ele.rangeAverage = item.rangeAverage
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					              })
 | 
				
			||||||
 | 
					            })
 | 
				
			||||||
 | 
					            // rangeArr.forEach((ele, index) => {
 | 
				
			||||||
 | 
					            //   this.data.push({
 | 
				
			||||||
 | 
					            //     range:ele
 | 
				
			||||||
 | 
					            //   })
 | 
				
			||||||
 | 
					            // })
 | 
				
			||||||
 | 
					            // console.log()
 | 
				
			||||||
 | 
					            let dataDetail = []
 | 
				
			||||||
 | 
					            dataDetail.push({
 | 
				
			||||||
 | 
					              meanRange: result.data.meanRange,
 | 
				
			||||||
 | 
					              lowerControlLimit: result.data.lowerControlLimit,
 | 
				
			||||||
 | 
					              meanDifference: result.data.meanDifference,
 | 
				
			||||||
 | 
					              upperControlLimit: result.data.upperControlLimit,
 | 
				
			||||||
 | 
					            })
 | 
				
			||||||
 | 
					            this.data = dataDetail
 | 
				
			||||||
            console.log(this.tableProps)
 | 
					            console.log(this.tableProps)
 | 
				
			||||||
            console.log(this.tableData)
 | 
					            console.log(this.tableData)
 | 
				
			||||||
 | 
					            this.setrowspans()
 | 
				
			||||||
            // console.log(this.table)
 | 
					            // console.log(this.table)
 | 
				
			||||||
            // console.log(moreData,'1111')
 | 
					            // console.log(moreData,'1111')
 | 
				
			||||||
            // for (let i = 0; i < 30; i++) {
 | 
					            // for (let i = 0; i < 30; i++) {
 | 
				
			||||||
@@ -540,7 +707,7 @@ export default {
 | 
				
			|||||||
      this.dataForm.id = id || ""
 | 
					      this.dataForm.id = id || ""
 | 
				
			||||||
      // console.log(11111)
 | 
					      // console.log(11111)
 | 
				
			||||||
      // this.dataForm.dictTypeId = dictTypeId || "";
 | 
					      // this.dataForm.dictTypeId = dictTypeId || "";
 | 
				
			||||||
      this.visible = true
 | 
					      this.drawer = true
 | 
				
			||||||
      this.$nextTick(() => {
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
        this.$refs["dataForm"].resetFields();
 | 
					        this.$refs["dataForm"].resetFields();
 | 
				
			||||||
        if (this.dataForm.id) {
 | 
					        if (this.dataForm.id) {
 | 
				
			||||||
@@ -571,16 +738,16 @@ export default {
 | 
				
			|||||||
        })
 | 
					        })
 | 
				
			||||||
        .catch(() => {
 | 
					        .catch(() => {
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
      this.$http
 | 
					      // this.$http
 | 
				
			||||||
        .get(this.urlOptions.getUserList, this.listQuery)
 | 
					      //   .get(this.urlOptions.getUserList, this.listQuery)
 | 
				
			||||||
        .then(({ data: res }) => {
 | 
					      //   .then(({ data: res }) => {
 | 
				
			||||||
          if (res.code === 0) {
 | 
					      //     if (res.code === 0) {
 | 
				
			||||||
            console.log(res.data);
 | 
					      //       console.log(res.data);
 | 
				
			||||||
            this.userList = res.data.list
 | 
					      //       this.userList = res.data.list
 | 
				
			||||||
          }
 | 
					      //     }
 | 
				
			||||||
        })
 | 
					      //   })
 | 
				
			||||||
        .catch(() => {
 | 
					      //   .catch(() => {
 | 
				
			||||||
        })
 | 
					      //   })
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    // getCode() {
 | 
					    // getCode() {
 | 
				
			||||||
    //   this.$http.post(this.urlOptions.getCodeURL)
 | 
					    //   this.$http.post(this.urlOptions.getCodeURL)
 | 
				
			||||||
@@ -608,6 +775,34 @@ export default {
 | 
				
			|||||||
        })
 | 
					        })
 | 
				
			||||||
        .catch(() => { })
 | 
					        .catch(() => { })
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    handleClose() {
 | 
				
			||||||
 | 
					      this.drawer = false
 | 
				
			||||||
 | 
					      this.$refs.dataForm.resetFields()
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    dataFormSubmit() {
 | 
				
			||||||
 | 
					      this.$refs["dataForm"].validate((valid) => {
 | 
				
			||||||
 | 
					        if (!valid) {
 | 
				
			||||||
 | 
					          return false;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        this.$http[!this.dataForm.id ? "post" : "put"](this.urlOptions.submitURL, this.dataForm)
 | 
				
			||||||
 | 
					          .then(({ data: res }) => {
 | 
				
			||||||
 | 
					            if (res.code !== 0) {
 | 
				
			||||||
 | 
					              return this.$message.error(res.msg);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            this.$message({
 | 
				
			||||||
 | 
					              message: this.$t("prompt.success"),
 | 
				
			||||||
 | 
					              type: "success",
 | 
				
			||||||
 | 
					              duration: 500,
 | 
				
			||||||
 | 
					              onClose: () => {
 | 
				
			||||||
 | 
					                this.drawer = false
 | 
				
			||||||
 | 
					                this.$refs.dataForm.resetFields()
 | 
				
			||||||
 | 
					                this.$emit("refreshDataList")
 | 
				
			||||||
 | 
					              },
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					          })
 | 
				
			||||||
 | 
					          .catch(() => { });
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    // 表单提交
 | 
					    // 表单提交
 | 
				
			||||||
    dataFormSubmitHandle: debounce(
 | 
					    dataFormSubmitHandle: debounce(
 | 
				
			||||||
      function () {
 | 
					      function () {
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										113
									
								
								src/views/modules/gage/components/innerTable.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,113 @@
 | 
				
			|||||||
 | 
					<!--
 | 
				
			||||||
 | 
					 * @Author: zhp
 | 
				
			||||||
 | 
					 * @Date: 2023-04-18 09:19:02
 | 
				
			||||||
 | 
					 * @LastEditTime: 2023-07-20 16:34:04
 | 
				
			||||||
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 | 
					 * @Description: 
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <el-popover placement="right" width="400" trigger="click">
 | 
				
			||||||
 | 
					    <base-table id="palletTable" :table-props="tableProps" ref="palletTable1" :table-data="tableData">
 | 
				
			||||||
 | 
					    </base-table>
 | 
				
			||||||
 | 
					    <!-- <i slot="reference" class="el-icon-plus" @click="showInnerTable(injectData.id)" /> -->
 | 
				
			||||||
 | 
					    <span slot="reference" @click="showInnerTable(injectData.id)">{{ injectData.testUserName}} </span>
 | 
				
			||||||
 | 
					  </el-popover>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					import i18n from "@/i18n"
 | 
				
			||||||
 | 
					import { timeFormatter } from '@/filters'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const tableProps = [
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "partAverage",
 | 
				
			||||||
 | 
					    label: '零件均值',
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "range",
 | 
				
			||||||
 | 
					    label:'零件极差',
 | 
				
			||||||
 | 
					    // filter: timeFormatter
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					];
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  name: 'InnerTable',
 | 
				
			||||||
 | 
					  props: {
 | 
				
			||||||
 | 
					    injectData: {
 | 
				
			||||||
 | 
					      type: Object,
 | 
				
			||||||
 | 
					      default: () => ({})
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    itemProp: {
 | 
				
			||||||
 | 
					      type: String
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      tableProps,
 | 
				
			||||||
 | 
					      list: this.injectData,
 | 
				
			||||||
 | 
					      tableData: [],
 | 
				
			||||||
 | 
					      urlOptions: {
 | 
				
			||||||
 | 
					        getTabularComputationsURL: '/gage/qmsGageGrrTester/table'
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  methods: {
 | 
				
			||||||
 | 
					    showInnerTable() {
 | 
				
			||||||
 | 
					      this.tableData = []
 | 
				
			||||||
 | 
					      this.$http.get(this.urlOptions.getTabularComputationsURL, {
 | 
				
			||||||
 | 
					        params: {
 | 
				
			||||||
 | 
					          gageGrrId: this.injectData.gageGrrId
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					        .then(({ data: result }) => {
 | 
				
			||||||
 | 
					          if (result.code === 0) {
 | 
				
			||||||
 | 
					            console.log(result)
 | 
				
			||||||
 | 
					            let partAverageArr = []
 | 
				
			||||||
 | 
					            let rangeArr = []
 | 
				
			||||||
 | 
					            // let aa = []
 | 
				
			||||||
 | 
					            // let moreData = [
 | 
				
			||||||
 | 
					            //   // {
 | 
				
			||||||
 | 
					            //   //   testUserName: null,
 | 
				
			||||||
 | 
					            //   //   data: [
 | 
				
			||||||
 | 
					            //   //     {
 | 
				
			||||||
 | 
					            //   //       orderNumber: result.data.qmsGageGrrTesterDTOList[i].list[j].orderNumber,
 | 
				
			||||||
 | 
					            //   //       data: aa
 | 
				
			||||||
 | 
					            //   //     },
 | 
				
			||||||
 | 
					            //   //     {
 | 
				
			||||||
 | 
					            //   //       equipmentName: '机器人投入数',
 | 
				
			||||||
 | 
					            //   //       data: aa
 | 
				
			||||||
 | 
					            //   //     },
 | 
				
			||||||
 | 
					            //   //     {
 | 
				
			||||||
 | 
					            //   //       equipmentName: '良品总投入数',
 | 
				
			||||||
 | 
					            //   //       data: aa
 | 
				
			||||||
 | 
					            //   //     },
 | 
				
			||||||
 | 
					            //   //     {
 | 
				
			||||||
 | 
					            //   //       equipmentName: '工序损耗',
 | 
				
			||||||
 | 
					            //   //       data: aa
 | 
				
			||||||
 | 
					            //   //     }
 | 
				
			||||||
 | 
					            //   //   ]
 | 
				
			||||||
 | 
					            //   // },
 | 
				
			||||||
 | 
					            // ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            for (let i = 0; i < result.data.qmsGageGrrTesterDTOList.length; i++) {
 | 
				
			||||||
 | 
					              if (this.injectData.testUserName === result.data.qmsGageGrrTesterDTOList[i].testUserName) {
 | 
				
			||||||
 | 
					                Object.keys(result.data.qmsGageGrrTesterDTOList[i].partAverage).forEach((item) => {
 | 
				
			||||||
 | 
					                  partAverageArr.push({
 | 
				
			||||||
 | 
					                    partAverage:result.data.qmsGageGrrTesterDTOList[i].partAverage[item]
 | 
				
			||||||
 | 
					                  })
 | 
				
			||||||
 | 
					                })
 | 
				
			||||||
 | 
					                Object.keys(result.data.qmsGageGrrTesterDTOList[i].range).forEach((item) => {
 | 
				
			||||||
 | 
					                  rangeArr.push(result.data.qmsGageGrrTesterDTOList[i].range[item])
 | 
				
			||||||
 | 
					                })
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            this.tableData = partAverageArr
 | 
				
			||||||
 | 
					            rangeArr.forEach((item,index) => {
 | 
				
			||||||
 | 
					              this.tableData[index]['range'] = item
 | 
				
			||||||
 | 
					            })
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					        .catch(() => {
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
							
								
								
									
										291
									
								
								src/views/modules/gage/components/tabularComputations-add.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,291 @@
 | 
				
			|||||||
 | 
					<!--
 | 
				
			||||||
 | 
					 * @Author: zhp
 | 
				
			||||||
 | 
					 * @Date: 2023-02-14 15:02:26
 | 
				
			||||||
 | 
					 * @LastEditTime: 2023-07-21 17:02:05
 | 
				
			||||||
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 | 
					 * @Description: 
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <el-drawer :append-to-body="true" title="" :visible.sync="drawer" size="50%">
 | 
				
			||||||
 | 
					    <el-form :model="form" ref="dataForm" :rules="dataRule" label-width="80px">
 | 
				
			||||||
 | 
					      <!--省略,其他表单项-->
 | 
				
			||||||
 | 
					      <el-row class="row" v-for="(item,index) in form.list" :key="index">
 | 
				
			||||||
 | 
					        <!--设置动态标签,只在部门第一行显示-->
 | 
				
			||||||
 | 
					        <el-col :span="5">
 | 
				
			||||||
 | 
					          <el-form-item label="检测人员" :prop="'list.' + index +'.gageGrrTesterId'" :rules="{
 | 
				
			||||||
 | 
					            required: true, message: '请选择部门', trigger: 'blur'
 | 
				
			||||||
 | 
					          }">
 | 
				
			||||||
 | 
					            <el-select class="input" v-model="item.gageGrrTesterId">
 | 
				
			||||||
 | 
					              <el-option v-for="item in userList" :key="item.id" :label="item.realName" :value="item.id"></el-option>
 | 
				
			||||||
 | 
					            </el-select>
 | 
				
			||||||
 | 
					          </el-form-item>
 | 
				
			||||||
 | 
					        </el-col>
 | 
				
			||||||
 | 
					        <el-col :span="5">
 | 
				
			||||||
 | 
					          <el-form-item label="序号" :prop="'list.' + index +'.orderNumber'" :rules="{
 | 
				
			||||||
 | 
					            required: true, message: '请输入人数', trigger: 'blur'
 | 
				
			||||||
 | 
					          }">
 | 
				
			||||||
 | 
					            <el-input @change="getOrderNumber" class="input" v-model="item.orderNumber" placeholder="人数"></el-input>
 | 
				
			||||||
 | 
					          </el-form-item>
 | 
				
			||||||
 | 
					        </el-col>
 | 
				
			||||||
 | 
					        <el-col :span="5">
 | 
				
			||||||
 | 
					          <el-form-item label="零件" :prop="'list.' + index +'.part'">
 | 
				
			||||||
 | 
					            <el-input @change="getPart" class="input" v-model="item.part" placeholder="备注"></el-input>
 | 
				
			||||||
 | 
					          </el-form-item>
 | 
				
			||||||
 | 
					        </el-col>
 | 
				
			||||||
 | 
					        <el-col :span="5">
 | 
				
			||||||
 | 
					          <el-form-item label="测量值" :prop="'list.' + index +'.measuredData'">
 | 
				
			||||||
 | 
					            <el-input class="input" v-model="item.bz" placeholder="备注"></el-input>
 | 
				
			||||||
 | 
					          </el-form-item>
 | 
				
			||||||
 | 
					        </el-col>
 | 
				
			||||||
 | 
					        <el-col :span="1">
 | 
				
			||||||
 | 
					          <div> <i class="el-icon-circle-plus" @click="addDept"></i></div>
 | 
				
			||||||
 | 
					          <div>
 | 
				
			||||||
 | 
					            <i v-if="form.list.length>1" class="el-icon-remove-outline" @click="delDept(index)"></i>
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
 | 
					        </el-col>
 | 
				
			||||||
 | 
					      </el-row>
 | 
				
			||||||
 | 
					      <el-form-item style="float: right;margin-right: 30px;">
 | 
				
			||||||
 | 
					        <el-button @click="handleClose()">{{ $t('cancel') }}</el-button>
 | 
				
			||||||
 | 
					        <el-button type="primary" @click="dataFormSubmit()">{{ $t('confirm') }} </el-button>
 | 
				
			||||||
 | 
					      </el-form-item>
 | 
				
			||||||
 | 
					    </el-form>
 | 
				
			||||||
 | 
					  </el-drawer>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					import debounce from "lodash/debounce";
 | 
				
			||||||
 | 
					import basicAdd from "@/mixins/basic-add";
 | 
				
			||||||
 | 
					// import InnerTable from "./innerTable"
 | 
				
			||||||
 | 
					// import available from "./available";
 | 
				
			||||||
 | 
					// const tableProps = [
 | 
				
			||||||
 | 
					//   {
 | 
				
			||||||
 | 
					//     prop: 'equipmentName',
 | 
				
			||||||
 | 
					//     label: '设备名称'
 | 
				
			||||||
 | 
					//   },
 | 
				
			||||||
 | 
					//   // {
 | 
				
			||||||
 | 
					//   //   prop: 'lineA',
 | 
				
			||||||
 | 
					//   //   label: '有效时间(h)',
 | 
				
			||||||
 | 
					//   //   children: [
 | 
				
			||||||
 | 
					//   //     {
 | 
				
			||||||
 | 
					//   //       prop: 'workTime',
 | 
				
			||||||
 | 
					//   //       label: '工作时长'
 | 
				
			||||||
 | 
					//   //     },
 | 
				
			||||||
 | 
					//   //     {
 | 
				
			||||||
 | 
					//   //       prop: 'workTimeRate',
 | 
				
			||||||
 | 
					//   //       label: '工作时长比率'
 | 
				
			||||||
 | 
					//   //     }
 | 
				
			||||||
 | 
					//   //   ]
 | 
				
			||||||
 | 
					//   // },
 | 
				
			||||||
 | 
					//   // {
 | 
				
			||||||
 | 
					//   //   prop: 'lineB',
 | 
				
			||||||
 | 
					//   //   label: '关机时间(h)',
 | 
				
			||||||
 | 
					//   //   children: [
 | 
				
			||||||
 | 
					//   //     {
 | 
				
			||||||
 | 
					//   //       prop: 'downTime',
 | 
				
			||||||
 | 
					//   //       label: '停机时长'
 | 
				
			||||||
 | 
					//   //     },
 | 
				
			||||||
 | 
					//   //     {
 | 
				
			||||||
 | 
					//   //       prop: 'downTimeRate',
 | 
				
			||||||
 | 
					//   //       label: '停机时长比率'
 | 
				
			||||||
 | 
					//   //     }
 | 
				
			||||||
 | 
					//   //   ]
 | 
				
			||||||
 | 
					//   // },
 | 
				
			||||||
 | 
					//   // {
 | 
				
			||||||
 | 
					//   //   prop: 'lineC',
 | 
				
			||||||
 | 
					//   //   label: '中断损失',
 | 
				
			||||||
 | 
					//   //   children: [
 | 
				
			||||||
 | 
					//   //     {
 | 
				
			||||||
 | 
					//   //       prop: 'faultTime',
 | 
				
			||||||
 | 
					//   //       label: '故障时长'
 | 
				
			||||||
 | 
					//   //     },
 | 
				
			||||||
 | 
					//   //     {
 | 
				
			||||||
 | 
					//   //       prop: 'faultTimeRate',
 | 
				
			||||||
 | 
					//   //       label: '故障时长比率'
 | 
				
			||||||
 | 
					//   //     }
 | 
				
			||||||
 | 
					//   //   ]
 | 
				
			||||||
 | 
					//   // },
 | 
				
			||||||
 | 
					//   // {
 | 
				
			||||||
 | 
					//   //   prop: 'lineD',
 | 
				
			||||||
 | 
					//   //   label: '速度损失',
 | 
				
			||||||
 | 
					//   //   children: [
 | 
				
			||||||
 | 
					//   //     {
 | 
				
			||||||
 | 
					//   //       prop: 'actualProcessingSpeed',
 | 
				
			||||||
 | 
					//   //       label: '实际加工速度'
 | 
				
			||||||
 | 
					//   //     },
 | 
				
			||||||
 | 
					//   //     {
 | 
				
			||||||
 | 
					//   //       prop: 'theoreticalProcessingSpeed',
 | 
				
			||||||
 | 
					//   //       label: '理论加工速度'
 | 
				
			||||||
 | 
					//   //     },
 | 
				
			||||||
 | 
					//   //     {
 | 
				
			||||||
 | 
					//   //       prop: 'speedActuationRate',
 | 
				
			||||||
 | 
					//   //       label: '速度开动率'
 | 
				
			||||||
 | 
					//   //     }
 | 
				
			||||||
 | 
					//   //   ]
 | 
				
			||||||
 | 
					//   // }
 | 
				
			||||||
 | 
					// ]
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  mixins: [basicAdd],
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      urlOptions: {
 | 
				
			||||||
 | 
					        submitURL: "/gage/qmsGageGrrTester",
 | 
				
			||||||
 | 
					        // infoURL: "/gage/qmsGageGrr/{ id }",
 | 
				
			||||||
 | 
					        // dictionaryDetailList: '/mutual/qmsDataDictionaryDetail/page',
 | 
				
			||||||
 | 
					        getUserList: '/sys/user/page',
 | 
				
			||||||
 | 
					        // getGageTypeList: '/gage/qmsGageType/page',
 | 
				
			||||||
 | 
					        // getGageList: '/gage/qmsGage/page',
 | 
				
			||||||
 | 
					        // getCustomerListURL: '/basic/qmsCustomer/page',
 | 
				
			||||||
 | 
					        // getTabularComputationsURL: '/gage/qmsGageGrrTester/table'
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      userList:[],
 | 
				
			||||||
 | 
					      drawer: false,
 | 
				
			||||||
 | 
					      form: {
 | 
				
			||||||
 | 
					        gageGrrId:null,
 | 
				
			||||||
 | 
					        list: [
 | 
				
			||||||
 | 
					          { gageGrrTesterId: null, orderNumber: null, part: null, measuredData: null },
 | 
				
			||||||
 | 
					          { gageGrrTesterId: null, orderNumber: null, part: null, measuredData: null }
 | 
				
			||||||
 | 
					        ],//默认展示一行部门数据
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  computed: {
 | 
				
			||||||
 | 
					    dataRule() {
 | 
				
			||||||
 | 
					      return {
 | 
				
			||||||
 | 
					        publicErrand: [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            required: true,
 | 
				
			||||||
 | 
					            message: this.$t("validate.required"),
 | 
				
			||||||
 | 
					            trigger: "blur",
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        gageId: [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            required: true,
 | 
				
			||||||
 | 
					            message: this.$t("validate.required"),
 | 
				
			||||||
 | 
					            trigger: "change",
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        measurementNumber: [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            required: true,
 | 
				
			||||||
 | 
					            message: this.$t("validate.required"),
 | 
				
			||||||
 | 
					            trigger: "blur",
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        partNumber: [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            required: true,
 | 
				
			||||||
 | 
					            message: this.$t("validate.required"),
 | 
				
			||||||
 | 
					            trigger: "blur",
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  mounted () {
 | 
				
			||||||
 | 
					    this.getData()
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  methods: {
 | 
				
			||||||
 | 
					    init(id, ) {
 | 
				
			||||||
 | 
					      this.form.gageGrrId = id || ""
 | 
				
			||||||
 | 
					      // console.log(11111)
 | 
				
			||||||
 | 
					      // this.dataForm.dictTypeId = dictTypeId || "";
 | 
				
			||||||
 | 
					      this.drawer = true
 | 
				
			||||||
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
 | 
					        this.$refs["dataForm"].resetFields()
 | 
				
			||||||
 | 
					        // if (this.dataForm.id) {
 | 
				
			||||||
 | 
					        //   // this.getInfo()
 | 
				
			||||||
 | 
					        // } else {
 | 
				
			||||||
 | 
					        //   // this.getCode()
 | 
				
			||||||
 | 
					        // }
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    getPart(val) {
 | 
				
			||||||
 | 
					      let arr = []
 | 
				
			||||||
 | 
					      this.form.list.forEach(ele => {
 | 
				
			||||||
 | 
					        arr.push(item.orderNumber)
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					      const uniqueArr = [...new Set(arr)]
 | 
				
			||||||
 | 
					      sortArr = uniqueArr.sort()
 | 
				
			||||||
 | 
					      const maxValue = sortArr[sortArr.length - 1]
 | 
				
			||||||
 | 
					      this.$message({
 | 
				
			||||||
 | 
					        message: '当前零件最大值为' + maxValue + '请保持其他测量人员零件最大值一致',
 | 
				
			||||||
 | 
					        type: 'warning'
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    getOrderNumber(val) {
 | 
				
			||||||
 | 
					      let arr = []
 | 
				
			||||||
 | 
					      this.form.list.forEach(ele => {
 | 
				
			||||||
 | 
					        arr.push(item.orderNumber)
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					      const uniqueArr = [...new Set(arr)]
 | 
				
			||||||
 | 
					      sortArr = uniqueArr.sort()
 | 
				
			||||||
 | 
					      const maxValue = sortArr[sortArr.length - 1]
 | 
				
			||||||
 | 
					      this.$message({
 | 
				
			||||||
 | 
					        message: '当前序号最大值为'+maxValue+'请保持其他测量人员序号最大值一致',
 | 
				
			||||||
 | 
					        type: 'warning'
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    addDept() {
 | 
				
			||||||
 | 
					      this.form.list.push({ bm: "", bmrs: "", bz: "" });
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    delDept(index) {
 | 
				
			||||||
 | 
					      this.form.list.splice(index, 1);
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    getData() {
 | 
				
			||||||
 | 
					      this.$http
 | 
				
			||||||
 | 
					        .get(this.urlOptions.getUserList, this.listQuery)
 | 
				
			||||||
 | 
					        .then(({ data: res }) => {
 | 
				
			||||||
 | 
					          if (res.code === 0) {
 | 
				
			||||||
 | 
					            console.log(res.data);
 | 
				
			||||||
 | 
					            this.userList = res.data.list
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					        .catch(() => {
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    // getCode() {
 | 
				
			||||||
 | 
					    //   this.$http.post(this.urlOptions.getCodeURL)
 | 
				
			||||||
 | 
					    //     .then(({ data: res }) => {
 | 
				
			||||||
 | 
					    //       if (res.code === 0) {
 | 
				
			||||||
 | 
					    //         console.log(res);
 | 
				
			||||||
 | 
					    //         this.dataForm.customSamplingCode = res.data
 | 
				
			||||||
 | 
					    //       }
 | 
				
			||||||
 | 
					    //     })
 | 
				
			||||||
 | 
					    //     .catch(() => {
 | 
				
			||||||
 | 
					    //     });
 | 
				
			||||||
 | 
					    // },
 | 
				
			||||||
 | 
					    // 获取信息
 | 
				
			||||||
 | 
					    handleClose() {
 | 
				
			||||||
 | 
					      this.drawer = false
 | 
				
			||||||
 | 
					      this.$refs.dataForm.resetFields()
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    dataFormSubmit() {
 | 
				
			||||||
 | 
					      console.log(this.form)
 | 
				
			||||||
 | 
					      this.$refs["dataForm"].validate((valid) => {
 | 
				
			||||||
 | 
					        if (!valid) {
 | 
				
			||||||
 | 
					          return false;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        this.$http.post(this.urlOptions.submitURL, this.form)
 | 
				
			||||||
 | 
					          .then(({ data: res }) => {
 | 
				
			||||||
 | 
					            if (res.code !== 0) {
 | 
				
			||||||
 | 
					              return this.$message.error(res.msg);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            this.$message({
 | 
				
			||||||
 | 
					              message: this.$t("prompt.success"),
 | 
				
			||||||
 | 
					              type: "success",
 | 
				
			||||||
 | 
					              duration: 500,
 | 
				
			||||||
 | 
					              onClose: () => {
 | 
				
			||||||
 | 
					                this.drawer = false
 | 
				
			||||||
 | 
					                this.$refs.dataForm.resetFields()
 | 
				
			||||||
 | 
					                this.$emit("refreshDataList")
 | 
				
			||||||
 | 
					              },
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					          })
 | 
				
			||||||
 | 
					          .catch(() => { });
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    // 表单提交
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-01-11 09:24:58
 | 
					 * @Date: 2023-01-11 09:24:58
 | 
				
			||||||
 * @LastEditTime: 2023-07-13 09:31:24
 | 
					 * @LastEditTime: 2023-07-21 15:39:23
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -20,11 +20,11 @@
 | 
				
			|||||||
      <pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
 | 
					      <pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
 | 
				
			||||||
        @pagination="getDataList" />
 | 
					        @pagination="getDataList" />
 | 
				
			||||||
      <!-- 弹窗, 新增 / 修改 -->
 | 
					      <!-- 弹窗, 新增 / 修改 -->
 | 
				
			||||||
      <base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
 | 
					      <!-- <base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
 | 
				
			||||||
        @confirm="handleConfirm" :before-close="handleCancel">
 | 
					        @confirm="handleConfirm" :before-close="handleCancel">
 | 
				
			||||||
        <gapeGrs-add ref="addOrUpdate" @refreshDataList="successSubmit">
 | 
					        <gapeGrs-add ref="addOrUpdate" @refreshDataList="successSubmit">
 | 
				
			||||||
        </gapeGrs-add>
 | 
					        </gapeGrs-add>
 | 
				
			||||||
      </base-dialog>
 | 
					      </base-dialog> -->
 | 
				
			||||||
      <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
 | 
					      <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
 | 
				
			||||||
        @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
 | 
					        @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
 | 
				
			||||||
        <gage-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit"></gage-search>
 | 
					        <gage-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit"></gage-search>
 | 
				
			||||||
@@ -42,6 +42,8 @@
 | 
				
			|||||||
        </el-row>
 | 
					        </el-row>
 | 
				
			||||||
      </base-dialog>
 | 
					      </base-dialog>
 | 
				
			||||||
      <report-show ref="reportOrUpdate" v-if="reportShow"></report-show>
 | 
					      <report-show ref="reportOrUpdate" v-if="reportShow"></report-show>
 | 
				
			||||||
 | 
					      <gapeGrs-add ref="gapeGrsAddOrUpdate" v-if="gapeGrsAddShow" @refreshDataList="getDataList">
 | 
				
			||||||
 | 
					      </gapeGrs-add>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
  </el-card>
 | 
					  </el-card>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
@@ -52,6 +54,7 @@ import gapeGrsAdd from "./components/gageGrs-add"
 | 
				
			|||||||
import reportShow from "./components/report-show"
 | 
					import reportShow from "./components/report-show"
 | 
				
			||||||
import gageSearch from "./components/gageSearch"
 | 
					import gageSearch from "./components/gageSearch"
 | 
				
			||||||
import basicSearch from "@/mixins/basic-search"
 | 
					import basicSearch from "@/mixins/basic-search"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { timeFormatter } from '@/filters'
 | 
					import { timeFormatter } from '@/filters'
 | 
				
			||||||
import i18n from "@/i18n"
 | 
					import i18n from "@/i18n"
 | 
				
			||||||
const tableProps = [
 | 
					const tableProps = [
 | 
				
			||||||
@@ -160,6 +163,7 @@ export default {
 | 
				
			|||||||
        deleteURL: "/gage/qmsGageGrr",
 | 
					        deleteURL: "/gage/qmsGageGrr",
 | 
				
			||||||
        exportUrl: '/gage/qmsGageGrr/export'
 | 
					        exportUrl: '/gage/qmsGageGrr/export'
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
 | 
					      gapeGrsAddShow:false,
 | 
				
			||||||
      grrReportData:{},
 | 
					      grrReportData:{},
 | 
				
			||||||
      dialogTableVisible:false,
 | 
					      dialogTableVisible:false,
 | 
				
			||||||
      tableProps,
 | 
					      tableProps,
 | 
				
			||||||
@@ -295,11 +299,11 @@ export default {
 | 
				
			|||||||
          })
 | 
					          })
 | 
				
			||||||
          .catch(() => { });
 | 
					          .catch(() => { });
 | 
				
			||||||
      } else if (val.type === 'edit') {
 | 
					      } else if (val.type === 'edit') {
 | 
				
			||||||
        this.addOrUpdateVisible = true
 | 
					        this.gapeGrsAddShow = true
 | 
				
			||||||
        this.addOrEditTitle = this.$t('edit')
 | 
					        // this.addOrEditTitle = this.$t('edit')
 | 
				
			||||||
        this.$nextTick(() => {
 | 
					        this.$nextTick(() => {
 | 
				
			||||||
          this.$refs.addOrUpdate.init(val.data.id);
 | 
					          this.$refs.gapeGrsAddOrUpdate.init(val.data.id);
 | 
				
			||||||
        });
 | 
					        })
 | 
				
			||||||
      } else if (val.type === 'parameter') {
 | 
					      } else if (val.type === 'parameter') {
 | 
				
			||||||
        this.$router.push({
 | 
					        this.$router.push({
 | 
				
			||||||
          name: 'gage-qmsGageTypeDifferenceParameter',
 | 
					          name: 'gage-qmsGageTypeDifferenceParameter',
 | 
				
			||||||
@@ -332,9 +336,11 @@ export default {
 | 
				
			|||||||
          this.exportHandle();
 | 
					          this.exportHandle();
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case "add":
 | 
					        case "add":
 | 
				
			||||||
          this.addOrEditTitle = '新增'
 | 
					          this.gapeGrsAddShow = true
 | 
				
			||||||
          this.addOrUpdateVisible = true;
 | 
					          // this.addOrEditTitle = this.$t('edit')
 | 
				
			||||||
          this.addOrUpdateHandle()
 | 
					          this.$nextTick(() => {
 | 
				
			||||||
 | 
					            this.$refs.gapeGrsAddOrUpdate.init()
 | 
				
			||||||
 | 
					          })
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        default:
 | 
					        default:
 | 
				
			||||||
          console.log(val)
 | 
					          console.log(val)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-02-14 15:02:26
 | 
					 * @Date: 2023-02-14 15:02:26
 | 
				
			||||||
 * @LastEditTime: 2023-05-15 14:35:31
 | 
					 * @LastEditTime: 2023-07-18 10:14:38
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -19,10 +19,10 @@
 | 
				
			|||||||
      <el-input v-model="dataForm.responsibilitie" :placeholder="$t('laboratory.responsibilitie')">
 | 
					      <el-input v-model="dataForm.responsibilitie" :placeholder="$t('laboratory.responsibilitie')">
 | 
				
			||||||
      </el-input>
 | 
					      </el-input>
 | 
				
			||||||
    </el-form-item>
 | 
					    </el-form-item>
 | 
				
			||||||
    <el-form-item prop="expectedReturnDate" :label="$t('gage.expectedReturnDate')">
 | 
					    <el-form-item :label="$t('laboratory.timeSlot')" prop="timeSlot">
 | 
				
			||||||
      <el-date-picker v-model="dataForm.expectedReturnDate" type="datetime" :placeholder="$t('gage.expectedReturnDate')"
 | 
					      <el-date-picker v-model="dataForm.timeSlot" size="small" type="datetimerange" format='yyyy-MM-dd HH:mm:ss'
 | 
				
			||||||
        format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
 | 
					        valueFormat='yyyy-MM-ddTHH:mm:ss' :start-placeholder="$t('gage.startTime')"
 | 
				
			||||||
      </el-date-picker>
 | 
					        :end-placeholder="$t('gage.endTime')" :range-separator="$t('gage.to')" clearable />
 | 
				
			||||||
    </el-form-item>
 | 
					    </el-form-item>
 | 
				
			||||||
  </el-form>
 | 
					  </el-form>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
@@ -35,8 +35,8 @@ export default {
 | 
				
			|||||||
  data() {
 | 
					  data() {
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
      urlOptions: {
 | 
					      urlOptions: {
 | 
				
			||||||
        submitURL: "/gage/qmsLaboratoryEmployeeResume",
 | 
					        submitURL: "/laboratory/qmsLaboratoryEmployeeResume",
 | 
				
			||||||
        infoURL: "/gage/qmsLaboratoryEmployeeResume/{ id }",
 | 
					        infoURL: "/laboratory/qmsLaboratoryEmployeeResume/{ id }",
 | 
				
			||||||
        dictionaryDetailList: '/mutual/qmsDataDictionaryDetail/page',
 | 
					        dictionaryDetailList: '/mutual/qmsDataDictionaryDetail/page',
 | 
				
			||||||
        getUserList: '/sys/user/page'
 | 
					        getUserList: '/sys/user/page'
 | 
				
			||||||
        // getTeamListURL: '/basic/qmsTeam/gape',
 | 
					        // getTeamListURL: '/basic/qmsTeam/gape',
 | 
				
			||||||
@@ -91,13 +91,13 @@ export default {
 | 
				
			|||||||
        department:null,
 | 
					        department:null,
 | 
				
			||||||
        endDate: null,
 | 
					        endDate: null,
 | 
				
			||||||
        id: null,
 | 
					        id: null,
 | 
				
			||||||
 | 
					        timeSlot:undefined,
 | 
				
			||||||
        laboratoryTesterId: null,
 | 
					        laboratoryTesterId: null,
 | 
				
			||||||
        position: null,
 | 
					        position: null,
 | 
				
			||||||
        remark: null,
 | 
					        remark: null,
 | 
				
			||||||
        responsibilitie: null,
 | 
					        responsibilitie: null,
 | 
				
			||||||
        startDate: null,
 | 
					        startDate: null,
 | 
				
			||||||
        id: null,
 | 
					        id: null,
 | 
				
			||||||
        laboratoryTesterId:null,
 | 
					 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
@@ -133,13 +133,14 @@ export default {
 | 
				
			|||||||
  },
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    init(data) {
 | 
					    init(data) {
 | 
				
			||||||
 | 
					      console.log(data)
 | 
				
			||||||
      this.dataForm.id = data.id ? data.id : ''
 | 
					      this.dataForm.id = data.id ? data.id : ''
 | 
				
			||||||
      this.dataForm.laboratoryTesterId = data.laboratoryTesterId ? data.laboratoryTesterId : ''
 | 
					      this.dataForm.laboratoryTesterId = data.laboratoryTesterId ? data.laboratoryTesterId : ''
 | 
				
			||||||
      // console.log(11111)
 | 
					      // console.log(11111)
 | 
				
			||||||
      // this.dataForm.dictTypeId = dictTypeId || "";
 | 
					      // this.dataForm.dictTypeId = dictTypeId || "";
 | 
				
			||||||
      this.visible = true
 | 
					      this.visible = true
 | 
				
			||||||
      this.$nextTick(() => {
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
        this.$refs["dataForm"].resetFields();
 | 
					        this.$refs["dataForm"].resetFields()
 | 
				
			||||||
        if (this.dataForm.id) {
 | 
					        if (this.dataForm.id) {
 | 
				
			||||||
          this.getInfo()
 | 
					          this.getInfo()
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
@@ -183,7 +184,7 @@ export default {
 | 
				
			|||||||
    // 获取信息
 | 
					    // 获取信息
 | 
				
			||||||
    getInfo() {
 | 
					    getInfo() {
 | 
				
			||||||
      this.$http
 | 
					      this.$http
 | 
				
			||||||
        .get(`/gage/qmsLaboratoryEmployeeResume/${this.dataForm.id}`)
 | 
					        .get(`/laboratory/qmsLaboratoryEmployeeResume/${this.dataForm.id}`)
 | 
				
			||||||
        .then(({ data: res }) => {
 | 
					        .then(({ data: res }) => {
 | 
				
			||||||
          if (res.code !== 0) {
 | 
					          if (res.code !== 0) {
 | 
				
			||||||
            return this.$message.error(res.msg);
 | 
					            return this.$message.error(res.msg);
 | 
				
			||||||
@@ -195,6 +196,31 @@ export default {
 | 
				
			|||||||
        })
 | 
					        })
 | 
				
			||||||
        .catch(() => { })
 | 
					        .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(
 | 
					    dataFormSubmitHandle: debounce(
 | 
				
			||||||
      function () {
 | 
					      function () {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-01-11 09:24:58
 | 
					 * @Date: 2023-01-11 09:24:58
 | 
				
			||||||
 * @LastEditTime: 2023-07-17 16:17:07
 | 
					 * @LastEditTime: 2023-07-18 10:52:15
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -110,15 +110,13 @@ export default {
 | 
				
			|||||||
      searchOrEditTitle: '',
 | 
					      searchOrEditTitle: '',
 | 
				
			||||||
      searchOrUpdateVisible: false,
 | 
					      searchOrUpdateVisible: false,
 | 
				
			||||||
      formConfig: [
 | 
					      formConfig: [
 | 
				
			||||||
        // {
 | 
					        {
 | 
				
			||||||
        //   type: "",
 | 
					          type: 'input',
 | 
				
			||||||
        //   label: i18n.t("params.paramCode"),
 | 
					          label: i18n.t('basic.name'),
 | 
				
			||||||
        //   placeholder: i18n.t("params.paramCode"),
 | 
					          placeholder: i18n.t('basic.name'),
 | 
				
			||||||
        //   param: "paramCode",
 | 
					          param: 'name',
 | 
				
			||||||
        // },
 | 
					          clearable: true
 | 
				
			||||||
        // {
 | 
					        },
 | 
				
			||||||
        //   type: "separate",
 | 
					 | 
				
			||||||
        // },
 | 
					 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: i18n.t('search'),
 | 
					          btnName: i18n.t('search'),
 | 
				
			||||||
@@ -198,7 +196,7 @@ export default {
 | 
				
			|||||||
    buttonClick(val) {
 | 
					    buttonClick(val) {
 | 
				
			||||||
      switch (val.btnName) {
 | 
					      switch (val.btnName) {
 | 
				
			||||||
        case "search":
 | 
					        case "search":
 | 
				
			||||||
          // this.listQuery.paramCode = val.paramCode;
 | 
					          this.listQuery.name = val.name ?val.name : null
 | 
				
			||||||
          this.listQuery.page = 1
 | 
					          this.listQuery.page = 1
 | 
				
			||||||
          this.getDataList();
 | 
					          this.getDataList();
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-01-11 09:24:58
 | 
					 * @Date: 2023-01-11 09:24:58
 | 
				
			||||||
 * @LastEditTime: 2023-07-14 09:53:37
 | 
					 * @LastEditTime: 2023-07-18 15:22:30
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -117,12 +117,6 @@ export default {
 | 
				
			|||||||
          name: "add",
 | 
					          name: "add",
 | 
				
			||||||
          color: "primary",
 | 
					          color: "primary",
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          type: "button",
 | 
					 | 
				
			||||||
          btnName: i18n.t('export'),
 | 
					 | 
				
			||||||
          name: "export",
 | 
					 | 
				
			||||||
          color: "primary",
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: i18n.t('search'),
 | 
					          btnName: i18n.t('search'),
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-01-11 09:24:58
 | 
					 * @Date: 2023-01-11 09:24:58
 | 
				
			||||||
 * @LastEditTime: 2023-07-14 09:53:46
 | 
					 * @LastEditTime: 2023-07-18 15:22:25
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -113,12 +113,6 @@ export default {
 | 
				
			|||||||
          name: "add",
 | 
					          name: "add",
 | 
				
			||||||
          color: "primary",
 | 
					          color: "primary",
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          type: "button",
 | 
					 | 
				
			||||||
          btnName: i18n.t('export'),
 | 
					 | 
				
			||||||
          name: "export",
 | 
					 | 
				
			||||||
          color: "primary",
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: i18n.t('search'),
 | 
					          btnName: i18n.t('search'),
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-01-11 09:24:58
 | 
					 * @Date: 2023-01-11 09:24:58
 | 
				
			||||||
 * @LastEditTime: 2023-06-20 15:34:33
 | 
					 * @LastEditTime: 2023-07-18 15:22:19
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -112,12 +112,6 @@ export default {
 | 
				
			|||||||
          name: "add",
 | 
					          name: "add",
 | 
				
			||||||
          color: "primary",
 | 
					          color: "primary",
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          type: "button",
 | 
					 | 
				
			||||||
          btnName: i18n.t('export'),
 | 
					 | 
				
			||||||
          name: "export",
 | 
					 | 
				
			||||||
          color: "primary",
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: i18n.t('search'),
 | 
					          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
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-02-14 15:02:26
 | 
					 * @Date: 2023-02-14 15:02:26
 | 
				
			||||||
 * @LastEditTime: 2023-07-12 14:39:06
 | 
					 * @LastEditTime: 2023-07-19 15:53:12
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -37,7 +37,8 @@ export default {
 | 
				
			|||||||
    return {
 | 
					    return {
 | 
				
			||||||
      urlOptions: {
 | 
					      urlOptions: {
 | 
				
			||||||
        submitURL: "/quality/qmsInspectionPosition",
 | 
					        submitURL: "/quality/qmsInspectionPosition",
 | 
				
			||||||
        infoURL: "/quality/qmsInspectionPosition"
 | 
					        infoURL: "/quality/qmsInspectionPosition",
 | 
				
			||||||
 | 
					        getCodeURL: '/quality/qmsInspectionPosition/getCode'
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      options: [{
 | 
					      options: [{
 | 
				
			||||||
        value: 0,
 | 
					        value: 0,
 | 
				
			||||||
@@ -94,21 +95,21 @@ export default {
 | 
				
			|||||||
        if (this.dataForm.id) {
 | 
					        if (this.dataForm.id) {
 | 
				
			||||||
          this.getInfo()
 | 
					          this.getInfo()
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
          // this.getCode()
 | 
					          this.getCode()
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    // getCode() {
 | 
					    getCode() {
 | 
				
			||||||
    //   this.$http.post(this.urlOptions.getCodeURL)
 | 
					      this.$http.post(this.urlOptions.getCodeURL)
 | 
				
			||||||
    //     .then(({ data: res }) => {
 | 
					        .then(({ data: res }) => {
 | 
				
			||||||
    //       if (res.code === 0) {
 | 
					          if (res.code === 0) {
 | 
				
			||||||
    //         console.log(res);
 | 
					            console.log(res);
 | 
				
			||||||
    //         this.dataForm.customSamplingCode = res.data
 | 
					            this.dataForm.inspectionPositionCode = res.data
 | 
				
			||||||
    //       }
 | 
					          }
 | 
				
			||||||
    //     })
 | 
					        })
 | 
				
			||||||
    //     .catch(() => {
 | 
					        .catch(() => {
 | 
				
			||||||
    //     });
 | 
					        });
 | 
				
			||||||
    // },
 | 
					    },
 | 
				
			||||||
    // 获取信息
 | 
					    // 获取信息
 | 
				
			||||||
    getInfo() {
 | 
					    getInfo() {
 | 
				
			||||||
      this.$http
 | 
					      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>
 | 
				
			||||||
							
								
								
									
										130
									
								
								src/views/modules/quality/components/productSearch.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,130 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					<!--
 | 
				
			||||||
 | 
					 * @Author: zhp
 | 
				
			||||||
 | 
					 * @Date: 2023-02-21 14:44:31
 | 
				
			||||||
 | 
					 * @LastEditTime: 2023-04-04 14:39:49
 | 
				
			||||||
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 | 
					 * @Description: 
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <el-form :model="dataForm" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" label-width="120px">
 | 
				
			||||||
 | 
					    <el-form-item prop="productCode" :label="$t('basic.code')">
 | 
				
			||||||
 | 
					      <el-input v-model="dataForm.productCode" :placeholder="$t('basic.code')" clearable></el-input>
 | 
				
			||||||
 | 
					    </el-form-item>
 | 
				
			||||||
 | 
					    <el-form-item prop="productName" :label="$t('basic.name')">
 | 
				
			||||||
 | 
					      <el-input v-model="dataForm.productName" :placeholder="$t('basic.name')" clearable></el-input>
 | 
				
			||||||
 | 
					    </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: "/sys/params/",
 | 
				
			||||||
 | 
					      //   infoURL: "/sys/params",
 | 
				
			||||||
 | 
					      // },
 | 
				
			||||||
 | 
					      visible: false,
 | 
				
			||||||
 | 
					      options: [{
 | 
				
			||||||
 | 
					        value: '0',
 | 
				
			||||||
 | 
					        label: '不可用'
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        value: '1',
 | 
				
			||||||
 | 
					        label: '可用'
 | 
				
			||||||
 | 
					      }],
 | 
				
			||||||
 | 
					      dataForm: {
 | 
				
			||||||
 | 
					        productName: null,
 | 
				
			||||||
 | 
					        productCode: null
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  computed: {
 | 
				
			||||||
 | 
					    // dataRule() {
 | 
				
			||||||
 | 
					    //   return {
 | 
				
			||||||
 | 
					    //     paramCode: [
 | 
				
			||||||
 | 
					    //       {
 | 
				
			||||||
 | 
					    //         required: true,
 | 
				
			||||||
 | 
					    //         message: this.$t("validate.required"),
 | 
				
			||||||
 | 
					    //         trigger: "blur",
 | 
				
			||||||
 | 
					    //       },
 | 
				
			||||||
 | 
					    //     ],
 | 
				
			||||||
 | 
					    //     paramValue: [
 | 
				
			||||||
 | 
					    //       {
 | 
				
			||||||
 | 
					    //         required: true,
 | 
				
			||||||
 | 
					    //         message: this.$t("validate.required"),
 | 
				
			||||||
 | 
					    //         trigger: "blur",
 | 
				
			||||||
 | 
					    //       },
 | 
				
			||||||
 | 
					    //     ],
 | 
				
			||||||
 | 
					    //   };
 | 
				
			||||||
 | 
					    // },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  methods: {
 | 
				
			||||||
 | 
					    // init(id) {
 | 
				
			||||||
 | 
					    //   this.dataForm.id = id || "";
 | 
				
			||||||
 | 
					    //   this.visible = true;
 | 
				
			||||||
 | 
					    //   this.$nextTick(() => {
 | 
				
			||||||
 | 
					    //     this.$refs["dataForm"].resetFields();
 | 
				
			||||||
 | 
					    //     if (this.dataForm.id) {
 | 
				
			||||||
 | 
					    //       this.getInfo();
 | 
				
			||||||
 | 
					    //     }
 | 
				
			||||||
 | 
					    //   });
 | 
				
			||||||
 | 
					    // },
 | 
				
			||||||
 | 
					    // 获取信息
 | 
				
			||||||
 | 
					    // getInfo() {
 | 
				
			||||||
 | 
					    //   this.$http
 | 
				
			||||||
 | 
					    //     .get(`/sys/params/${this.dataForm.id}`)
 | 
				
			||||||
 | 
					    //     .then(({ data: res }) => {
 | 
				
			||||||
 | 
					    //       if (res.code !== 0) {
 | 
				
			||||||
 | 
					    //         return this.$message.error(res.msg);
 | 
				
			||||||
 | 
					    //       }
 | 
				
			||||||
 | 
					    //       this.dataForm = {
 | 
				
			||||||
 | 
					    //         ...this.dataForm,
 | 
				
			||||||
 | 
					    //         ...res.data,
 | 
				
			||||||
 | 
					    //       };
 | 
				
			||||||
 | 
					    //     })
 | 
				
			||||||
 | 
					    //     .catch(() => {});
 | 
				
			||||||
 | 
					    // },
 | 
				
			||||||
 | 
					    // 表单提交
 | 
				
			||||||
 | 
					    handleConditionSearch() {
 | 
				
			||||||
 | 
					      this.$emit("successSubmit", this.dataForm);
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    // dataFormSubmitHandle: debounce(
 | 
				
			||||||
 | 
					    //   function () {
 | 
				
			||||||
 | 
					    //     // console.log(1111);
 | 
				
			||||||
 | 
					    //     // this.visible = false;
 | 
				
			||||||
 | 
					    //     this.$emit("successSubmit", this.dataForm.key);
 | 
				
			||||||
 | 
					    //     // this.$refs["dataForm"].validate((valid) => {
 | 
				
			||||||
 | 
					    //     //   if (!valid) {
 | 
				
			||||||
 | 
					    //     //     return false;
 | 
				
			||||||
 | 
					    //     //   }
 | 
				
			||||||
 | 
					    //     //   this.$http[!this.dataForm.id ? "post" : "put"](
 | 
				
			||||||
 | 
					    //     //     "/sys/params",
 | 
				
			||||||
 | 
					    //     //     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: () => {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //     //         },
 | 
				
			||||||
 | 
					    //     //       });
 | 
				
			||||||
 | 
					    //     //     })
 | 
				
			||||||
 | 
					    //     //     .catch(() => {});
 | 
				
			||||||
 | 
					    //     // });
 | 
				
			||||||
 | 
					    //   },
 | 
				
			||||||
 | 
					    //   1000,
 | 
				
			||||||
 | 
					    //   { leading: true, trailing: false }
 | 
				
			||||||
 | 
					    // ),
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-01-11 09:24:58
 | 
					 * @Date: 2023-01-11 09:24:58
 | 
				
			||||||
 * @LastEditTime: 2023-07-12 14:30:40
 | 
					 * @LastEditTime: 2023-07-18 10:20:59
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -185,18 +185,18 @@ export default {
 | 
				
			|||||||
          param: 'customSamplingCode',
 | 
					          param: 'customSamplingCode',
 | 
				
			||||||
          clearable: true
 | 
					          clearable: true
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          type: "button",
 | 
				
			||||||
 | 
					          btnName: "搜索",
 | 
				
			||||||
 | 
					          name: "search",
 | 
				
			||||||
 | 
					          color: "primary",
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: "新增",
 | 
					          btnName: "新增",
 | 
				
			||||||
          name: "add",
 | 
					          name: "add",
 | 
				
			||||||
          color: "success",
 | 
					          color: "success",
 | 
				
			||||||
          plain: true
 | 
					          plain: true
 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          type: "button",
 | 
					 | 
				
			||||||
          btnName: "搜索",
 | 
					 | 
				
			||||||
          name: "search",
 | 
					 | 
				
			||||||
          color: "primary",
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ],
 | 
					      ],
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-01-11 09:24:58
 | 
					 * @Date: 2023-01-11 09:24:58
 | 
				
			||||||
 * @LastEditTime: 2023-07-11 15:38:25
 | 
					 * @LastEditTime: 2023-07-18 10:21:09
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -129,17 +129,17 @@ export default {
 | 
				
			|||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: "新增",
 | 
					          btnName: "搜索",
 | 
				
			||||||
          name: "add",
 | 
					          name: "search",
 | 
				
			||||||
          color: 'success',
 | 
					          color: "primary",
 | 
				
			||||||
          plain: true
 | 
					 | 
				
			||||||
          // plain: true,
 | 
					          // plain: true,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: "搜索",
 | 
					          btnName: "新增",
 | 
				
			||||||
          name: "search",
 | 
					          name: "add",
 | 
				
			||||||
          color: "primary",
 | 
					          color: 'success',
 | 
				
			||||||
 | 
					          plain: true
 | 
				
			||||||
          // plain: true,
 | 
					          // plain: true,
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ],
 | 
					      ],
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-01-11 09:24:58
 | 
					 * @Date: 2023-01-11 09:24:58
 | 
				
			||||||
 * @LastEditTime: 2023-07-12 14:43:09
 | 
					 * @LastEditTime: 2023-07-18 10:21:26
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -114,18 +114,18 @@ export default {
 | 
				
			|||||||
          param: 'name',
 | 
					          param: 'name',
 | 
				
			||||||
          clearable: true
 | 
					          clearable: true
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          type: "button",
 | 
				
			||||||
 | 
					          btnName: "搜索",
 | 
				
			||||||
 | 
					          name: "search",
 | 
				
			||||||
 | 
					          color: "primary",
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: "新增",
 | 
					          btnName: "新增",
 | 
				
			||||||
          name: "add",
 | 
					          name: "add",
 | 
				
			||||||
          color: "success",
 | 
					          color: "success",
 | 
				
			||||||
          plain: true
 | 
					          plain: true
 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          type: "button",
 | 
					 | 
				
			||||||
          btnName: "搜索",
 | 
					 | 
				
			||||||
          name: "search",
 | 
					 | 
				
			||||||
          color: "primary",
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ],
 | 
					      ],
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-01-11 09:24:58
 | 
					 * @Date: 2023-01-11 09:24:58
 | 
				
			||||||
 * @LastEditTime: 2023-07-12 14:22:56
 | 
					 * @LastEditTime: 2023-07-18 10:21:38
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -218,17 +218,17 @@ export default {
 | 
				
			|||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: "新增",
 | 
					          btnName: "搜索",
 | 
				
			||||||
          name: "add",
 | 
					          name: "search",
 | 
				
			||||||
          color: 'success',
 | 
					          color: "primary",
 | 
				
			||||||
          plain: true
 | 
					 | 
				
			||||||
          // plain: true,
 | 
					          // plain: true,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: "搜索",
 | 
					          btnName: "新增",
 | 
				
			||||||
          name: "search",
 | 
					          name: "add",
 | 
				
			||||||
          color: "primary",
 | 
					          color: 'success',
 | 
				
			||||||
 | 
					          plain: true
 | 
				
			||||||
          // plain: true,
 | 
					          // plain: true,
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ],
 | 
					      ],
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-01-11 09:24:58
 | 
					 * @Date: 2023-01-11 09:24:58
 | 
				
			||||||
 * @LastEditTime: 2023-07-12 14:30:03
 | 
					 * @LastEditTime: 2023-07-18 10:21:47
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -129,18 +129,18 @@ export default {
 | 
				
			|||||||
        // {
 | 
					        // {
 | 
				
			||||||
        //   type: "separate",
 | 
					        //   type: "separate",
 | 
				
			||||||
        // },
 | 
					        // },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          type: "button",
 | 
				
			||||||
 | 
					          btnName: "搜索",
 | 
				
			||||||
 | 
					          name: "search",
 | 
				
			||||||
 | 
					          color: "primary",
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: "新增",
 | 
					          btnName: "新增",
 | 
				
			||||||
          name: "add",
 | 
					          name: "add",
 | 
				
			||||||
          color: "success",
 | 
					          color: "success",
 | 
				
			||||||
          plain: true
 | 
					          plain: true
 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          type: "button",
 | 
					 | 
				
			||||||
          btnName: "搜索",
 | 
					 | 
				
			||||||
          name: "search",
 | 
					 | 
				
			||||||
          color: "primary",
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ],
 | 
					      ],
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-01-11 09:24:58
 | 
					 * @Date: 2023-01-11 09:24:58
 | 
				
			||||||
 * @LastEditTime: 2023-07-12 14:32:41
 | 
					 * @LastEditTime: 2023-07-18 10:21:55
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -137,18 +137,18 @@ export default {
 | 
				
			|||||||
          param: 'code',
 | 
					          param: 'code',
 | 
				
			||||||
          clearable: true
 | 
					          clearable: true
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          type: "button",
 | 
				
			||||||
 | 
					          btnName: "搜索",
 | 
				
			||||||
 | 
					          name: "search",
 | 
				
			||||||
 | 
					          color: "primary",
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: "新增",
 | 
					          btnName: "新增",
 | 
				
			||||||
          name: "add",
 | 
					          name: "add",
 | 
				
			||||||
          color: "success",
 | 
					          color: "success",
 | 
				
			||||||
          plain: true
 | 
					          plain: true
 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          type: "button",
 | 
					 | 
				
			||||||
          btnName: "搜索",
 | 
					 | 
				
			||||||
          name: "search",
 | 
					 | 
				
			||||||
          color: "primary",
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ],
 | 
					      ],
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,12 +1,13 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-02-14 15:02:26
 | 
					 * @Date: 2023-02-14 15:02:26
 | 
				
			||||||
 * @LastEditTime: 2023-07-13 11:01:20
 | 
					 * @LastEditTime: 2023-07-19 16:10:31
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <el-form :model="dataForm" ref="dataForm" @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="title" :label="$t('researchquality.title')">
 | 
					    <el-form-item prop="title" :label="$t('researchquality.title')">
 | 
				
			||||||
      <el-input v-model="dataForm.title" :placeholder="$t('researchquality.title')">
 | 
					      <el-input v-model="dataForm.title" :placeholder="$t('researchquality.title')">
 | 
				
			||||||
      </el-input>
 | 
					      </el-input>
 | 
				
			||||||
@@ -81,48 +82,36 @@ export default {
 | 
				
			|||||||
  computed: {
 | 
					  computed: {
 | 
				
			||||||
    dataRule() {
 | 
					    dataRule() {
 | 
				
			||||||
      return {
 | 
					      return {
 | 
				
			||||||
        // dictLabel: [
 | 
					        title: [
 | 
				
			||||||
        //   {
 | 
					          {
 | 
				
			||||||
        //     required: true,
 | 
					            required: true,
 | 
				
			||||||
        //     message: this.$t("validate.required"),
 | 
					            message: this.$t("validate.required"),
 | 
				
			||||||
        //     trigger: "blur",
 | 
					            trigger: "blur",
 | 
				
			||||||
        //   },
 | 
					          },
 | 
				
			||||||
        // ],
 | 
					        ]
 | 
				
			||||||
        // dictValue: [
 | 
					 | 
				
			||||||
        //   {
 | 
					 | 
				
			||||||
        //     required: true,
 | 
					 | 
				
			||||||
        //     message: this.$t("validate.required"),
 | 
					 | 
				
			||||||
        //     trigger: "blur",
 | 
					 | 
				
			||||||
        //   },
 | 
					 | 
				
			||||||
        // ],
 | 
					 | 
				
			||||||
        // sort: [
 | 
					 | 
				
			||||||
        //   {
 | 
					 | 
				
			||||||
        //     required: true,
 | 
					 | 
				
			||||||
        //     message: this.$t("validate.required"),
 | 
					 | 
				
			||||||
        //     trigger: "blur",
 | 
					 | 
				
			||||||
        //   },
 | 
					 | 
				
			||||||
        // ],
 | 
					 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					  mounted () {
 | 
				
			||||||
 | 
					    this.getDict();
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    init(data,) {
 | 
					    init(data,) {
 | 
				
			||||||
      console.log(data)
 | 
					      console.log(data)
 | 
				
			||||||
      console.log(this.dataForm.projectTypeId)
 | 
					 | 
				
			||||||
      // this.dataForm.dictTypeId = dictTypeId || "";
 | 
					      // this.dataForm.dictTypeId = dictTypeId || "";
 | 
				
			||||||
      this.visible = true;
 | 
					      this.visible = true;
 | 
				
			||||||
      this.$nextTick(() => {
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
        this.$refs["dataForm"].resetFields()
 | 
					        this.$refs["dataForm"].resetFields()
 | 
				
			||||||
        if (data) {
 | 
					        if (data) {
 | 
				
			||||||
          this.dataForm.id = data.id ? data.id : ''
 | 
					          this.dataForm.id = data.id ? data.id : ''
 | 
				
			||||||
          this.dataForm.projectTypeId = data.projectTypeId ? data.projectTypeId : ''
 | 
					          this.dataForm.requirementListGroupId = data.requirementListGroupId ? data.requirementListGroupId : ''
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if (this.dataForm.id) {
 | 
					        if (this.dataForm.id) {
 | 
				
			||||||
          this.getInfo()
 | 
					          this.getInfo()
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    getCode() {
 | 
					    getDict() {
 | 
				
			||||||
      this.$http
 | 
					      this.$http
 | 
				
			||||||
        .get(this.urlOptions.getProjectTypeURL, { params: this.listQuery })
 | 
					        .get(this.urlOptions.getProjectTypeURL, { params: this.listQuery })
 | 
				
			||||||
        .then(({ data: res }) => {
 | 
					        .then(({ data: res }) => {
 | 
				
			||||||
@@ -133,21 +122,11 @@ export default {
 | 
				
			|||||||
        })
 | 
					        })
 | 
				
			||||||
        .catch(() => {
 | 
					        .catch(() => {
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
      this.$http
 | 
					 | 
				
			||||||
        .post(this.urlOptions.getCodeURL)
 | 
					 | 
				
			||||||
        .then(({ data: res }) => {
 | 
					 | 
				
			||||||
          if (res.code === 0) {
 | 
					 | 
				
			||||||
            console.log(res);
 | 
					 | 
				
			||||||
            this.dataForm.code = res.data
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
        .catch(() => {
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    // 获取信息
 | 
					    // 获取信息
 | 
				
			||||||
    getInfo() {
 | 
					    getInfo() {
 | 
				
			||||||
      this.$http
 | 
					      this.$http
 | 
				
			||||||
        .get(`/supplier/qmsEvaluationItemList/${this.dataForm.id}`)
 | 
					        .get(`/researchquality/qmsQualityRequirementList/${this.dataForm.id}`)
 | 
				
			||||||
        .then(({ data: res }) => {
 | 
					        .then(({ data: res }) => {
 | 
				
			||||||
          if (res.code !== 0) {
 | 
					          if (res.code !== 0) {
 | 
				
			||||||
            return this.$message.error(res.msg);
 | 
					            return this.$message.error(res.msg);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-04-17 14:23:17
 | 
					 * @Date: 2023-04-17 14:23:17
 | 
				
			||||||
 * @LastEditTime: 2023-07-17 14:33:44
 | 
					 * @LastEditTime: 2023-07-21 14:21:04
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -9,9 +9,9 @@
 | 
				
			|||||||
  <el-card shadow="never" class="aui-card--fill">
 | 
					  <el-card shadow="never" class="aui-card--fill">
 | 
				
			||||||
    <div class="mod-sys__user">
 | 
					    <div class="mod-sys__user">
 | 
				
			||||||
      <SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
 | 
					      <SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
 | 
				
			||||||
        <el-badge :value="5" class="item">
 | 
					        <!-- <el-badge :value="5" class="item">
 | 
				
			||||||
          <el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
 | 
					          <el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
 | 
				
			||||||
        </el-badge>
 | 
					        </el-badge> -->
 | 
				
			||||||
      </SearchBar>
 | 
					      </SearchBar>
 | 
				
			||||||
      <base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1"
 | 
					      <base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1"
 | 
				
			||||||
        :limit="listQuery.limit" :table-data="tableData">
 | 
					        :limit="listQuery.limit" :table-data="tableData">
 | 
				
			||||||
@@ -27,32 +27,14 @@
 | 
				
			|||||||
        </qualityChange-add>
 | 
					        </qualityChange-add>
 | 
				
			||||||
        <!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
 | 
					        <!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
 | 
				
			||||||
      </base-dialog>
 | 
					      </base-dialog>
 | 
				
			||||||
      <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
 | 
					 | 
				
			||||||
        @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
 | 
					 | 
				
			||||||
        <qualityChange-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit">
 | 
					 | 
				
			||||||
        </qualityChange-search>
 | 
					 | 
				
			||||||
        <el-row slot="footer" type="flex" justify="end">
 | 
					 | 
				
			||||||
          <el-col :span="12">
 | 
					 | 
				
			||||||
            <el-button size="small" type="primary" plain class="btnTextStyle" @click="handleSearchCancel">
 | 
					 | 
				
			||||||
              {{ $t("close") }}
 | 
					 | 
				
			||||||
            </el-button>
 | 
					 | 
				
			||||||
            <el-button size="small" class="btnTextStyle" type="primary" plain @click="handleSearchReset">{{
 | 
					 | 
				
			||||||
              $t("reset")
 | 
					 | 
				
			||||||
              }}</el-button>
 | 
					 | 
				
			||||||
            <el-button type="primary" size="small" class="btnTextStyle" @click="handleSearchConfirm">
 | 
					 | 
				
			||||||
              {{ $t("search") }}
 | 
					 | 
				
			||||||
            </el-button>
 | 
					 | 
				
			||||||
          </el-col>
 | 
					 | 
				
			||||||
        </el-row>
 | 
					 | 
				
			||||||
      </base-dialog>
 | 
					 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
  </el-card>
 | 
					  </el-card>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import basicPage from "@/mixins/basic-page"
 | 
					import basicPage from "@/mixins/basic-page"
 | 
				
			||||||
import basicSearch from "@/mixins/basic-search"
 | 
					// import basicSearch from "@/mixins/basic-search"
 | 
				
			||||||
import qualityChangeSearch from "./components/qualityChangeSearch.vue"
 | 
					// import qualityChangeSearch from "./components/qualityChangeSearch.vue"
 | 
				
			||||||
import qualityChangeAdd from "./components/qualityChange-add.vue"
 | 
					import qualityChangeAdd from "./components/qualityChange-add.vue"
 | 
				
			||||||
import InnerTable from "./components/innerTable"
 | 
					import InnerTable from "./components/innerTable"
 | 
				
			||||||
import { timeFormatter, handleProcess, handleProductType } from '@/filters'
 | 
					import { timeFormatter, handleProcess, handleProductType } from '@/filters'
 | 
				
			||||||
@@ -127,7 +109,7 @@ const tableBtn = [
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
];
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  mixins: [basicPage, basicSearch],
 | 
					  mixins: [basicPage],
 | 
				
			||||||
  data() {
 | 
					  data() {
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
      urlOptions: {
 | 
					      urlOptions: {
 | 
				
			||||||
@@ -156,15 +138,85 @@ export default {
 | 
				
			|||||||
      addOrUpdateVisible: false,
 | 
					      addOrUpdateVisible: false,
 | 
				
			||||||
      productOrUpdateVisible: false,
 | 
					      productOrUpdateVisible: false,
 | 
				
			||||||
      formConfig: [
 | 
					      formConfig: [
 | 
				
			||||||
        // {
 | 
					        {
 | 
				
			||||||
        //   type: "",
 | 
					          type: 'select',
 | 
				
			||||||
        //   label: i18n.t("params.paramCode"),
 | 
					          label: i18n.t('researchquality.changeSource'),
 | 
				
			||||||
        //   placeholder: i18n.t("params.paramCode"),
 | 
					          placeholder: i18n.t('researchquality.changeSource'),
 | 
				
			||||||
        //   param: "paramCode",
 | 
					          selectOptions: [
 | 
				
			||||||
        // },
 | 
					            {
 | 
				
			||||||
        // {
 | 
					              id: '0',
 | 
				
			||||||
        //   type: "separate",
 | 
					              name: '工程变更'
 | 
				
			||||||
        // },
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              id: '1',
 | 
				
			||||||
 | 
					              name: '设计变更'
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              id: '2',
 | 
				
			||||||
 | 
					              name: 'CCB'
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          ],
 | 
				
			||||||
 | 
					          param: 'changeSource'
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          type: 'select',
 | 
				
			||||||
 | 
					          label: i18n.t('researchquality.phase'),
 | 
				
			||||||
 | 
					          placeholder: i18n.t('researchquality.phase'),
 | 
				
			||||||
 | 
					          selectOptions: [
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              id: '0',
 | 
				
			||||||
 | 
					              name: '设计'
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              id: '1',
 | 
				
			||||||
 | 
					              name: '计划'
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              id: '2',
 | 
				
			||||||
 | 
					              name: '验证'
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              id: '3',
 | 
				
			||||||
 | 
					              name: '发布'
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          ],
 | 
				
			||||||
 | 
					          param: 'phase'
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          type: 'select',
 | 
				
			||||||
 | 
					          label: i18n.t('researchquality.qualityChangeStatus'),
 | 
				
			||||||
 | 
					          placeholder: i18n.t('researchquality.qualityChangeStatus'),
 | 
				
			||||||
 | 
					          selectOptions: [],
 | 
				
			||||||
 | 
					          param: 'status'
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          type: 'select',
 | 
				
			||||||
 | 
					          label: i18n.t('researchquality.temporaryChange'),
 | 
				
			||||||
 | 
					          placeholder: i18n.t('researchquality.temporaryChange'),
 | 
				
			||||||
 | 
					          selectOptions: [
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              id: '0',
 | 
				
			||||||
 | 
					              name: '是'
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              id: '1',
 | 
				
			||||||
 | 
					              name: '否'
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          ],
 | 
				
			||||||
 | 
					          param: 'temporaryChange'
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          type: 'datePicker',
 | 
				
			||||||
 | 
					          label: i18n.t('time'),
 | 
				
			||||||
 | 
					          dateType: 'datetimerange',
 | 
				
			||||||
 | 
					          format: 'yyyy-MM-dd HH:mm:ss',
 | 
				
			||||||
 | 
					          valueFormat: 'yyyy-MM-ddTHH:mm:ss',
 | 
				
			||||||
 | 
					          rangeSeparator: '-',
 | 
				
			||||||
 | 
					          startPlaceholder: '开始时间',
 | 
				
			||||||
 | 
					          endPlaceholder: '结束时间',
 | 
				
			||||||
 | 
					          param: 'timeSlot',
 | 
				
			||||||
 | 
					          width: 350
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: "button",
 | 
					          type: "button",
 | 
				
			||||||
          btnName: i18n.t('search'),
 | 
					          btnName: i18n.t('search'),
 | 
				
			||||||
@@ -190,7 +242,7 @@ export default {
 | 
				
			|||||||
    };
 | 
					    };
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  components: {
 | 
					  components: {
 | 
				
			||||||
    qualityChangeSearch,
 | 
					    // qualityChangeSearch,
 | 
				
			||||||
    // supplierProduct,
 | 
					    // supplierProduct,
 | 
				
			||||||
    qualityChangeAdd
 | 
					    qualityChangeAdd
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
@@ -279,10 +331,11 @@ export default {
 | 
				
			|||||||
      switch (val.btnName) {
 | 
					      switch (val.btnName) {
 | 
				
			||||||
        case "search":
 | 
					        case "search":
 | 
				
			||||||
          // this.listQuery.paramCode = val.paramCode;
 | 
					          // this.listQuery.paramCode = val.paramCode;
 | 
				
			||||||
          this.listQuery.supplierName = val.supplierName ? val.supplierName : undefined
 | 
					          this.listQuery.changeSource = val.changeSource ? val.changeSource : undefined
 | 
				
			||||||
          this.listQuery.supplierStatus = val.supplierStatus ? val.supplierStatus : undefined
 | 
					          this.listQuery.qualityChangeStatus = val.qualityChangeStatus ? val.qualityChangeStatus : undefined
 | 
				
			||||||
          this.listQuery.supplierTypeId = val.supplierTypeId ? val.supplierTypeId : undefined
 | 
					          this.listQuery.qualityChangeStatus = val.qualityChangeStatus ? val.qualityChangeStatus : undefined
 | 
				
			||||||
          this.listQuery.ment = this.ment ? this.ment : undefined
 | 
					          this.listQuery.startTime = val.timeSlot ? val.timeSlot[0] : null
 | 
				
			||||||
 | 
					          this.listQuery.endTime = val.timeSlot ? val.timeSlot[1] : null
 | 
				
			||||||
          // console.log(i18n);
 | 
					          // console.log(i18n);
 | 
				
			||||||
          this.listQuery.page = 1;
 | 
					          this.listQuery.page = 1;
 | 
				
			||||||
          this.getDataList();
 | 
					          this.getDataList();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-04-17 14:23:17
 | 
					 * @Date: 2023-04-17 14:23:17
 | 
				
			||||||
 * @LastEditTime: 2023-07-13 11:00:21
 | 
					 * @LastEditTime: 2023-07-19 16:10:20
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -252,7 +252,7 @@ export default {
 | 
				
			|||||||
        this.$nextTick(() => {
 | 
					        this.$nextTick(() => {
 | 
				
			||||||
          const data ={
 | 
					          const data ={
 | 
				
			||||||
            id: val.data.id, 
 | 
					            id: val.data.id, 
 | 
				
			||||||
            projectTypeId: this.projectTypeId
 | 
					            requirementListGroupId: this.requirementListGroupId
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          this.$refs.addOrUpdate.init(data)
 | 
					          this.$refs.addOrUpdate.init(data)
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
@@ -263,7 +263,7 @@ export default {
 | 
				
			|||||||
      this.addOrUpdateVisible = true;
 | 
					      this.addOrUpdateVisible = true;
 | 
				
			||||||
      this.$nextTick(() => {
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
        const data = {
 | 
					        const data = {
 | 
				
			||||||
          projectTypeId: this.projectTypeId
 | 
					          requirementListGroupId: this.requirementListGroupId
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        this.$refs.addOrUpdate.init(data)
 | 
					        this.$refs.addOrUpdate.init(data)
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -109,6 +109,9 @@ export default {
 | 
				
			|||||||
    this.getUser()
 | 
					    this.getUser()
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
 | 
					    init(val) {
 | 
				
			||||||
 | 
					      this.ruleForm = val
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    setDay() {
 | 
					    setDay() {
 | 
				
			||||||
      switch (this.ruleForm.reminderTimeMonth) {
 | 
					      switch (this.ruleForm.reminderTimeMonth) {
 | 
				
			||||||
        case 2:
 | 
					        case 2:
 | 
				
			||||||
@@ -196,7 +199,7 @@ export default {
 | 
				
			|||||||
      console.log('nich ', this.chooseSupplierList)
 | 
					      console.log('nich ', this.chooseSupplierList)
 | 
				
			||||||
      this.$refs[formName].validate((valid) => {
 | 
					      this.$refs[formName].validate((valid) => {
 | 
				
			||||||
        if (valid) {
 | 
					        if (valid) {
 | 
				
			||||||
          this.$http["post"](this.urlOptions.addURL, this.ruleForm)
 | 
					          this.$http[!this.ruleForm.id ? "post" : "put"](this.urlOptions.addURL, this.ruleForm)
 | 
				
			||||||
          .then(({ data: res }) => {
 | 
					          .then(({ data: res }) => {
 | 
				
			||||||
            if (res.code !== 0) {
 | 
					            if (res.code !== 0) {
 | 
				
			||||||
              return this.$message.error(res.msg);
 | 
					              return this.$message.error(res.msg);
 | 
				
			||||||
@@ -207,7 +210,7 @@ export default {
 | 
				
			|||||||
                  supplierId: item,
 | 
					                  supplierId: item,
 | 
				
			||||||
                  evaluationPlanId: res.data
 | 
					                  evaluationPlanId: res.data
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                this.$http["post"](this.urlOptions.addQmsRelation, param)
 | 
					                this.$http[!this.ruleForm.id ? "post" : "put"](this.urlOptions.addQmsRelation, param)
 | 
				
			||||||
                  .then(({ data: res }) => {
 | 
					                  .then(({ data: res }) => {
 | 
				
			||||||
                    if (res.code !== 0) {
 | 
					                    if (res.code !== 0) {
 | 
				
			||||||
                      return this.$message.error(res.msg);
 | 
					                      return this.$message.error(res.msg);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: Do not edit
 | 
					 * @Author: Do not edit
 | 
				
			||||||
 * @Date: 2023-07-04 09:34:07
 | 
					 * @Date: 2023-07-04 09:34:07
 | 
				
			||||||
 * @LastEditTime: 2023-07-05 15:03:52
 | 
					 * @LastEditTime: 2023-07-21 16:38:39
 | 
				
			||||||
 * @LastEditors: DY
 | 
					 * @LastEditors: DY
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -9,28 +9,40 @@
 | 
				
			|||||||
  <el-card shadow="never" class="aui-card--fill">
 | 
					  <el-card shadow="never" class="aui-card--fill">
 | 
				
			||||||
    <el-tabs tab-position="left" style="min-height: 200px;">
 | 
					    <el-tabs tab-position="left" style="min-height: 200px;">
 | 
				
			||||||
      <el-tab-pane label="项目概述">
 | 
					      <el-tab-pane label="项目概述">
 | 
				
			||||||
        <first></first>
 | 
					        <first ref="first" @refreshDataList="refreashData"></first>
 | 
				
			||||||
      </el-tab-pane>
 | 
					      </el-tab-pane>
 | 
				
			||||||
      <el-tab-pane label="配置管理">配置管理</el-tab-pane>
 | 
					      <el-tab-pane label="要求清单">
 | 
				
			||||||
      <el-tab-pane label="角色管理">角色管理</el-tab-pane>
 | 
					        <second></second>
 | 
				
			||||||
      <el-tab-pane label="定时任务补偿">定时任务补偿</el-tab-pane>
 | 
					      </el-tab-pane>
 | 
				
			||||||
 | 
					      <el-tab-pane label="项目设置">项目设置</el-tab-pane>
 | 
				
			||||||
    </el-tabs>
 | 
					    </el-tabs>
 | 
				
			||||||
  </el-card>
 | 
					  </el-card>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
import first from './first.vue'
 | 
					import first from './first.vue'
 | 
				
			||||||
 | 
					import second from './second.vue'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  components: { first },
 | 
					  components: { first, second },
 | 
				
			||||||
  data() {
 | 
					  data() {
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
 | 
					      project: {}
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  mounted() {
 | 
					  mounted() {
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    
 | 
					    refreashData() {
 | 
				
			||||||
 | 
					      this.$emit("refresh");
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    init(val) {
 | 
				
			||||||
 | 
					      // this.project = val
 | 
				
			||||||
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
 | 
					        this.$refs.first.init(val);
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					      console.log('你好', val)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
@@ -1,16 +1,15 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: Do not edit
 | 
					 * @Author: Do not edit
 | 
				
			||||||
 * @Date: 2023-06-19 14:59:34
 | 
					 * @Date: 2023-06-19 14:59:34
 | 
				
			||||||
 * @LastEditTime: 2023-07-11 14:22:43
 | 
					 * @LastEditTime: 2023-07-21 10:25:23
 | 
				
			||||||
 * @LastEditors: DY
 | 
					 * @LastEditors: DY
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <div v-if="show">
 | 
					  <div v-if="show">
 | 
				
			||||||
    <h1>模板编辑</h1>
 | 
					 | 
				
			||||||
    <div class="addDiv">
 | 
					    <div class="addDiv">
 | 
				
			||||||
      <div style="width: 300px">
 | 
					      <div style="width: 800px">
 | 
				
			||||||
        <el-steps direction="vertical" :active="activeStep" space="70px">
 | 
					        <el-steps :active="activeStep" space="150px">
 | 
				
			||||||
          <el-step title="定义"></el-step>
 | 
					          <el-step title="定义"></el-step>
 | 
				
			||||||
          <el-step title="项目"></el-step>
 | 
					          <el-step title="项目"></el-step>
 | 
				
			||||||
          <el-step title="排序"></el-step>
 | 
					          <el-step title="排序"></el-step>
 | 
				
			||||||
@@ -55,13 +54,13 @@
 | 
				
			|||||||
            </el-form-item>
 | 
					            </el-form-item>
 | 
				
			||||||
          </el-form>
 | 
					          </el-form>
 | 
				
			||||||
          <el-row :gutter="5">
 | 
					          <el-row :gutter="5">
 | 
				
			||||||
            <el-col :span="18">
 | 
					            <el-col :span="16">
 | 
				
			||||||
              <el-table
 | 
					              <el-table
 | 
				
			||||||
                ref="multipleTable"
 | 
					                ref="multipleTable"
 | 
				
			||||||
                :data="tableData"
 | 
					                :data="tableData"
 | 
				
			||||||
                tooltip-effect="dark"
 | 
					                tooltip-effect="dark"
 | 
				
			||||||
                style="width: 80%; min-height: 26vh; overflow-y: auto"
 | 
					                style="width: 80%; min-height: 26vh; overflow-y: auto"
 | 
				
			||||||
                @selection-change="handleSelectionChange">
 | 
					                @select="handleSelectionChange">
 | 
				
			||||||
                <el-table-column prop="title" label="标题" width="120" />
 | 
					                <el-table-column prop="title" label="标题" width="120" />
 | 
				
			||||||
                <el-table-column prop="projectTypeName" label="类型" width="120" />
 | 
					                <el-table-column prop="projectTypeName" label="类型" width="120" />
 | 
				
			||||||
                <el-table-column prop="requirement" label="要求" />
 | 
					                <el-table-column prop="requirement" label="要求" />
 | 
				
			||||||
@@ -69,7 +68,7 @@
 | 
				
			|||||||
                <el-table-column type="selection" label="全选" width="55" />
 | 
					                <el-table-column type="selection" label="全选" width="55" />
 | 
				
			||||||
              </el-table>
 | 
					              </el-table>
 | 
				
			||||||
            </el-col>
 | 
					            </el-col>
 | 
				
			||||||
            <el-col :span="6">
 | 
					            <!-- <el-col :span="6">
 | 
				
			||||||
              <div style="margin-top: -30px">
 | 
					              <div style="margin-top: -30px">
 | 
				
			||||||
                <p style="font-size: 18px">已选</p>
 | 
					                <p style="font-size: 18px">已选</p>
 | 
				
			||||||
                <div class="chooseDiv">
 | 
					                <div class="chooseDiv">
 | 
				
			||||||
@@ -79,7 +78,7 @@
 | 
				
			|||||||
                  </div>
 | 
					                  </div>
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
              </div>
 | 
					              </div>
 | 
				
			||||||
            </el-col>
 | 
					            </el-col> -->
 | 
				
			||||||
          </el-row>
 | 
					          </el-row>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
        <div v-if="visibleList[2]">
 | 
					        <div v-if="visibleList[2]">
 | 
				
			||||||
@@ -98,8 +97,8 @@
 | 
				
			|||||||
                  </div>
 | 
					                  </div>
 | 
				
			||||||
                  <draggable v-show="element.dragVisible" v-model="element.list" group="title" animation="1000" @start="onStart" @end="onEnd2">
 | 
					                  <draggable v-show="element.dragVisible" v-model="element.list" group="title" animation="1000" @start="onStart" @end="onEnd2">
 | 
				
			||||||
                    <transition-group>
 | 
					                    <transition-group>
 | 
				
			||||||
                      <div v-for="item in element.list" :key="item.id" style="margin: 5px 15px; border-bottom: 1px solid grey">
 | 
					                      <div v-for="item in element.list" :key="item.projectId" style="margin: 5px 15px; border-bottom: 1px solid grey">
 | 
				
			||||||
                        <p>{{ item.title }}</p>
 | 
					                        <p>{{ item.projectName }}</p>
 | 
				
			||||||
                      </div>
 | 
					                      </div>
 | 
				
			||||||
                    </transition-group>
 | 
					                    </transition-group>
 | 
				
			||||||
                  </draggable>
 | 
					                  </draggable>
 | 
				
			||||||
@@ -119,7 +118,7 @@
 | 
				
			|||||||
              <el-input type="number" style="width: 100px" v-model="item.weight" placeholder="权重"></el-input>
 | 
					              <el-input type="number" style="width: 100px" v-model="item.weight" placeholder="权重"></el-input>
 | 
				
			||||||
              <div  class="smallDiv">
 | 
					              <div  class="smallDiv">
 | 
				
			||||||
                <div v-for="(it, keyValue) in item.list" :key="keyValue" class="contentDiv">
 | 
					                <div v-for="(it, keyValue) in item.list" :key="keyValue" class="contentDiv">
 | 
				
			||||||
                  <p style="border: 1px solid grey; width: 80px; text-align: center">{{ it.title }}</p>
 | 
					                  <p style="border: 1px solid grey; width: 80px; text-align: center">{{ it.projectName }}</p>
 | 
				
			||||||
                  <el-input type="number" style="width: 100px" v-model="it.benchmarkScore" placeholder="基准分"></el-input>
 | 
					                  <el-input type="number" style="width: 100px" v-model="it.benchmarkScore" placeholder="基准分"></el-input>
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
              </div>
 | 
					              </div>
 | 
				
			||||||
@@ -149,7 +148,8 @@ import draggable from 'vuedraggable'
 | 
				
			|||||||
export default {
 | 
					export default {
 | 
				
			||||||
  components: { draggable },
 | 
					  components: { draggable },
 | 
				
			||||||
  props: {
 | 
					  props: {
 | 
				
			||||||
    show: Boolean
 | 
					    show: Boolean,
 | 
				
			||||||
 | 
					    id: String
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  data() {
 | 
					  data() {
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
@@ -157,12 +157,16 @@ export default {
 | 
				
			|||||||
        addtURL: "/supplier/qmsEvaluationTemplate",
 | 
					        addtURL: "/supplier/qmsEvaluationTemplate",
 | 
				
			||||||
        getEvaluationListURL: '/supplier/qmsEvaluationItemList/page',
 | 
					        getEvaluationListURL: '/supplier/qmsEvaluationItemList/page',
 | 
				
			||||||
        getTypeListURL: '/supplier/qmsProjectType/page',
 | 
					        getTypeListURL: '/supplier/qmsProjectType/page',
 | 
				
			||||||
        saveDataURL: '/supplier/qmsEvaluationTemplateProjectType/saveAll'
 | 
					        saveDataURL: '/supplier/qmsEvaluationTemplateProjectType/saveAll',
 | 
				
			||||||
 | 
					        updateDateURL: '/supplier/qmsEvaluationTemplateProjectType/updateAll',
 | 
				
			||||||
 | 
					        getInfoURL: '/supplier/qmsEvaluationTemplate',
 | 
				
			||||||
 | 
					        getChooseTemURL: '/supplier/qmsEvaluationTemplateProjectType/page'
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      evaluationTemplateId: '',
 | 
					      evaluationTemplateId: '',
 | 
				
			||||||
      visibleList: [true, false, false, false, false],
 | 
					      visibleList: [true, false, false, false, false],
 | 
				
			||||||
      activeStep: 0,
 | 
					      activeStep: 0,
 | 
				
			||||||
      ruleForm: {
 | 
					      ruleForm: {
 | 
				
			||||||
 | 
					        id: undefined,
 | 
				
			||||||
        code: '',
 | 
					        code: '',
 | 
				
			||||||
        name: '',
 | 
					        name: '',
 | 
				
			||||||
        remark: ''
 | 
					        remark: ''
 | 
				
			||||||
@@ -180,6 +184,8 @@ export default {
 | 
				
			|||||||
      paramsList: [],
 | 
					      paramsList: [],
 | 
				
			||||||
      dragVisible: false,
 | 
					      dragVisible: false,
 | 
				
			||||||
      unfoldId: '',
 | 
					      unfoldId: '',
 | 
				
			||||||
 | 
					      dataListLoading: false,
 | 
				
			||||||
 | 
					      chooseTemList: [],
 | 
				
			||||||
      rules: {
 | 
					      rules: {
 | 
				
			||||||
        code: [
 | 
					        code: [
 | 
				
			||||||
          { required: true, message: '请输入code', trigger: 'blur' }
 | 
					          { required: true, message: '请输入code', trigger: 'blur' }
 | 
				
			||||||
@@ -192,15 +198,67 @@ export default {
 | 
				
			|||||||
  },
 | 
					  },
 | 
				
			||||||
  mounted() {
 | 
					  mounted() {
 | 
				
			||||||
    this.ruleForm = {
 | 
					    this.ruleForm = {
 | 
				
			||||||
 | 
					      id: undefined,
 | 
				
			||||||
      code: '',
 | 
					      code: '',
 | 
				
			||||||
      name: '',
 | 
					      name: '',
 | 
				
			||||||
      remark: ''
 | 
					      remark: ''
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  mounted() {
 | 
					 | 
				
			||||||
    this.getTypeList()
 | 
					    this.getTypeList()
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
 | 
					    init(id) {
 | 
				
			||||||
 | 
					      console.log('nihc', id)
 | 
				
			||||||
 | 
					      this.activeStep = 0
 | 
				
			||||||
 | 
					      this.visibleList = [true, false, false, false, false]
 | 
				
			||||||
 | 
					      this.paramsList = []
 | 
				
			||||||
 | 
					      if (id) {
 | 
				
			||||||
 | 
					        this.ruleForm.id = id
 | 
				
			||||||
 | 
					        this.getInfo(id)
 | 
				
			||||||
 | 
					        this.getChooseList()
 | 
				
			||||||
 | 
					      } else {
 | 
				
			||||||
 | 
					        this.ruleForm = {
 | 
				
			||||||
 | 
					          id: undefined,
 | 
				
			||||||
 | 
					          code: '',
 | 
				
			||||||
 | 
					          name: '',
 | 
				
			||||||
 | 
					          remark: ''
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    getChooseList() {
 | 
				
			||||||
 | 
					      this.$http
 | 
				
			||||||
 | 
					        .get(this.urlOptions.getChooseTemURL, {
 | 
				
			||||||
 | 
					          params: {
 | 
				
			||||||
 | 
					            evaluationTemplateId: this.ruleForm.id,
 | 
				
			||||||
 | 
					            limit: 999,
 | 
				
			||||||
 | 
					            page: 1
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					        .then(({ data: res }) => {
 | 
				
			||||||
 | 
					          this.dataListLoading = false;
 | 
				
			||||||
 | 
					          if (res.code !== 0) {
 | 
				
			||||||
 | 
					            this.chooseTemList = [];
 | 
				
			||||||
 | 
					            return this.$message.error(res.msg);
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					          this.chooseTemList = res.data.list;
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					        .catch(() => {
 | 
				
			||||||
 | 
					          this.dataListLoading = false;
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    getInfo(id) {
 | 
				
			||||||
 | 
					      this.$http
 | 
				
			||||||
 | 
					        .get(`${this.urlOptions.getInfoURL}/${id}`)
 | 
				
			||||||
 | 
					        .then(({ data: res }) => {
 | 
				
			||||||
 | 
					          if (res.code !== 0) {
 | 
				
			||||||
 | 
					            return this.$message.error(res.msg);
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					          this.ruleForm = res.data;
 | 
				
			||||||
 | 
					          // if(this.setData){
 | 
				
			||||||
 | 
					          //   this.setDataForm()
 | 
				
			||||||
 | 
					          // }
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					        .catch(() => { });
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    closeModel() {
 | 
					    closeModel() {
 | 
				
			||||||
      this.show = false
 | 
					      this.show = false
 | 
				
			||||||
      this.$emit('info', false)
 | 
					      this.$emit('info', false)
 | 
				
			||||||
@@ -217,6 +275,25 @@ export default {
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    finishData() {
 | 
					    finishData() {
 | 
				
			||||||
      // 保存数据
 | 
					      // 保存数据
 | 
				
			||||||
 | 
					      console.log('结束打印', this.ruleForm)
 | 
				
			||||||
 | 
					      if (this.paramsList[0].id) {
 | 
				
			||||||
 | 
					        this.$http["put"](`${this.urlOptions.updateDateURL}?id=${this.paramsList[0].id}`, this.paramsList)
 | 
				
			||||||
 | 
					        .then(({ data: res }) => {
 | 
				
			||||||
 | 
					          if (res.code !== 0) {
 | 
				
			||||||
 | 
					            return this.$message.error(res.msg);
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					          this.$message({
 | 
				
			||||||
 | 
					            message: this.$t("prompt.success"),
 | 
				
			||||||
 | 
					            type: "success",
 | 
				
			||||||
 | 
					            duration: 500
 | 
				
			||||||
 | 
					          })
 | 
				
			||||||
 | 
					          this.activeStep = 4
 | 
				
			||||||
 | 
					          // this.visibleList[3] = false
 | 
				
			||||||
 | 
					          // this.visibleList[4] = true
 | 
				
			||||||
 | 
					          this.$set(this.visibleList, 3, false)
 | 
				
			||||||
 | 
					          this.$set(this.visibleList, 4, true)
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					      } else {
 | 
				
			||||||
        this.$http["post"](this.urlOptions.saveDataURL, this.paramsList)
 | 
					        this.$http["post"](this.urlOptions.saveDataURL, this.paramsList)
 | 
				
			||||||
        .then(({ data: res }) => {
 | 
					        .then(({ data: res }) => {
 | 
				
			||||||
          if (res.code !== 0) {
 | 
					          if (res.code !== 0) {
 | 
				
			||||||
@@ -233,6 +310,7 @@ export default {
 | 
				
			|||||||
          this.$set(this.visibleList, 3, false)
 | 
					          this.$set(this.visibleList, 3, false)
 | 
				
			||||||
          this.$set(this.visibleList, 4, true)
 | 
					          this.$set(this.visibleList, 4, true)
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    lastStep() {
 | 
					    lastStep() {
 | 
				
			||||||
      console.log('thi', this.activeStep)
 | 
					      console.log('thi', this.activeStep)
 | 
				
			||||||
@@ -248,10 +326,34 @@ export default {
 | 
				
			|||||||
      console.log('wokjkj11', this.visibleList)
 | 
					      console.log('wokjkj11', this.visibleList)
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    updateData() {
 | 
					    updateData() {
 | 
				
			||||||
      console.log('更新')
 | 
					      console.log('更新到步骤四')
 | 
				
			||||||
 | 
					      console.log('观察一下', this.paramsList, this.chooseTemList)
 | 
				
			||||||
 | 
					      this.activeStep ++
 | 
				
			||||||
      this.$set(this.visibleList, 2, false)
 | 
					      this.$set(this.visibleList, 2, false)
 | 
				
			||||||
      this.$set(this.visibleList, 3, true)
 | 
					      this.$set(this.visibleList, 3, true)
 | 
				
			||||||
      console.log('wokjkj', this.visibleList)
 | 
					      this.paramsList.forEach(item => {
 | 
				
			||||||
 | 
					        this.chooseTemList.forEach(choose => {
 | 
				
			||||||
 | 
					          if (item.evaluationTemplateId === choose.evaluationTemplateId) {
 | 
				
			||||||
 | 
					            item.calculationScoreFormula = choose.calculationScoreFormula
 | 
				
			||||||
 | 
					            item.weight = choose.weight
 | 
				
			||||||
 | 
					            item.id = choose.id
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					          if (item.list.length > 0 && choose.list.length > 0) {
 | 
				
			||||||
 | 
					            item.list.forEach(pro => {
 | 
				
			||||||
 | 
					              choose.list.forEach(cho => {
 | 
				
			||||||
 | 
					                if (pro.projectId === cho.projectId) {
 | 
				
			||||||
 | 
					                  pro.benchmarkScore = cho.benchmarkScore
 | 
				
			||||||
 | 
					                  pro.weight = cho.weight
 | 
				
			||||||
 | 
					                  pro.evaluationTemplateTypeId = cho.evaluationTemplateTypeId
 | 
				
			||||||
 | 
					                  pro.id = cho.id
 | 
				
			||||||
 | 
					                  pro.createDate = cho.createDate
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					              })
 | 
				
			||||||
 | 
					            })
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					      console.log('观察一下', this.paramsList)
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    unfold(item) {
 | 
					    unfold(item) {
 | 
				
			||||||
      item.dragVisible = !item.dragVisible
 | 
					      item.dragVisible = !item.dragVisible
 | 
				
			||||||
@@ -316,19 +418,30 @@ export default {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        const typeList = Array.from(new Set(temp))
 | 
					        const typeList = Array.from(new Set(temp))
 | 
				
			||||||
        console.log('aaaaaaa', typeList)
 | 
					        console.log('aaaaaaa', typeList)
 | 
				
			||||||
        for (let key of typeList) {
 | 
					        for (let i = 0; i < typeList.length; i ++) {
 | 
				
			||||||
          let obj = {}
 | 
					          let obj = {}
 | 
				
			||||||
          obj.projectTypeName = typeList[key]
 | 
					          obj.projectTypeName = typeList[i]
 | 
				
			||||||
          obj.dragVisible = false
 | 
					          obj.dragVisible = false
 | 
				
			||||||
          obj.sort = key
 | 
					          obj.sort = i
 | 
				
			||||||
          obj.list = this.multipleSelection.filter((ele, index) => {
 | 
					          obj.calculationScoreFormula = undefined
 | 
				
			||||||
            if (ele.projectTypeName === typeList[key]) {
 | 
					          obj.weight = undefined
 | 
				
			||||||
 | 
					          obj.list = []
 | 
				
			||||||
 | 
					          this.multipleSelection.filter((ele, index) => {
 | 
				
			||||||
 | 
					            if (ele.projectTypeName === typeList[i]) {
 | 
				
			||||||
              obj.projectTypeId = ele.projectTypeId
 | 
					              obj.projectTypeId = ele.projectTypeId
 | 
				
			||||||
              obj.evaluationTemplateId = this.evaluationTemplateId
 | 
					              obj.evaluationTemplateId = this.evaluationTemplateId
 | 
				
			||||||
              ele.evaluationTemplateId = this.evaluationTemplateId
 | 
					              // ele.evaluationTemplateId = this.evaluationTemplateId
 | 
				
			||||||
              ele.projectId = ele.id
 | 
					              // ele.projectId = ele.id
 | 
				
			||||||
              ele.sort = index
 | 
					              // ele.sort = index
 | 
				
			||||||
              return ele
 | 
					              const tempList = {
 | 
				
			||||||
 | 
					                evaluationTemplateId: this.evaluationTemplateId,
 | 
				
			||||||
 | 
					                projectId: ele.id,
 | 
				
			||||||
 | 
					                sort: index,
 | 
				
			||||||
 | 
					                projectName: ele.title,
 | 
				
			||||||
 | 
					                benchmarkScore: undefined,
 | 
				
			||||||
 | 
					                weight: undefined
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					              obj.list.push(tempList)
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          })
 | 
					          })
 | 
				
			||||||
          this.paramsList.push(obj)
 | 
					          this.paramsList.push(obj)
 | 
				
			||||||
@@ -341,21 +454,31 @@ export default {
 | 
				
			|||||||
        this.$set(this.visibleList, 2, true)
 | 
					        this.$set(this.visibleList, 2, true)
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    toggleSelection(rows) {
 | 
					    toggleSelection() {
 | 
				
			||||||
      if (rows) {
 | 
					      console.log('打印', this.chooseTemList)
 | 
				
			||||||
        rows.forEach(row => {
 | 
					      console.log('打印22', this.tableData)
 | 
				
			||||||
          this.$refs.multipleTable.toggleRowSelection(row);
 | 
					      this.chooseTemList.forEach(item => {
 | 
				
			||||||
        });
 | 
					        if (item.list.length > 0) {
 | 
				
			||||||
      } else {
 | 
					          item.list.forEach(it => {
 | 
				
			||||||
        this.$refs.multipleTable.clearSelection();
 | 
					            this.tableData.forEach(data => {
 | 
				
			||||||
 | 
					              if (it.projectId === data.id) {
 | 
				
			||||||
 | 
					                console.log('wokjkj ', data)
 | 
				
			||||||
 | 
					                this.$nextTick(() => {
 | 
				
			||||||
 | 
					                  this.$refs.multipleTable.toggleRowSelection(data, true);
 | 
				
			||||||
 | 
					                  this.multipleSelection.push(data)
 | 
				
			||||||
 | 
					                })
 | 
				
			||||||
              }
 | 
					              }
 | 
				
			||||||
 | 
					            })
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					          });
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    handleSelectionChange(val) {
 | 
					    handleSelectionChange(val) {
 | 
				
			||||||
      this.multipleSelection = val;
 | 
					      this.multipleSelection = val;
 | 
				
			||||||
      console.log('你好', this.multipleSelection)
 | 
					      console.log('你好', val, this.multipleSelection)
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    getTypeList() {
 | 
					    getTypeList() {
 | 
				
			||||||
      this.paramsList = []
 | 
					 | 
				
			||||||
      this.$http
 | 
					      this.$http
 | 
				
			||||||
        .get(this.urlOptions.getTypeListURL, {
 | 
					        .get(this.urlOptions.getTypeListURL, {
 | 
				
			||||||
          params: {
 | 
					          params: {
 | 
				
			||||||
@@ -408,7 +531,7 @@ export default {
 | 
				
			|||||||
    submitForm(formName) {
 | 
					    submitForm(formName) {
 | 
				
			||||||
      this.$refs[formName].validate((valid) => {
 | 
					      this.$refs[formName].validate((valid) => {
 | 
				
			||||||
        if (valid) {
 | 
					        if (valid) {
 | 
				
			||||||
          this.$http["post"](this.urlOptions.addtURL, this.ruleForm)
 | 
					          this.$http[!this.ruleForm.id ? "post" : "put"](this.urlOptions.addtURL, this.ruleForm)
 | 
				
			||||||
          .then(({ data: res }) => {
 | 
					          .then(({ data: res }) => {
 | 
				
			||||||
            if (res.code !== 0) {
 | 
					            if (res.code !== 0) {
 | 
				
			||||||
              return this.$message.error(res.msg);
 | 
					              return this.$message.error(res.msg);
 | 
				
			||||||
@@ -424,9 +547,13 @@ export default {
 | 
				
			|||||||
            })
 | 
					            })
 | 
				
			||||||
            console.log('新增结果', res.data)
 | 
					            console.log('新增结果', res.data)
 | 
				
			||||||
            this.evaluationTemplateId = res.data
 | 
					            this.evaluationTemplateId = res.data
 | 
				
			||||||
 | 
					            this.ruleForm.id = res.data
 | 
				
			||||||
            this.activeStep ++
 | 
					            this.activeStep ++
 | 
				
			||||||
            // this.visibleList[0] = false
 | 
					            this.getEvaList()
 | 
				
			||||||
            // this.visibleList[1] = true
 | 
					            setTimeout(() =>{
 | 
				
			||||||
 | 
					              this.toggleSelection()
 | 
				
			||||||
 | 
					            }, 600)
 | 
				
			||||||
 | 
					            // this.toggleSelection()
 | 
				
			||||||
            this.$set(this.visibleList, 0, false)
 | 
					            this.$set(this.visibleList, 0, false)
 | 
				
			||||||
            this.$set(this.visibleList, 1, true)
 | 
					            this.$set(this.visibleList, 1, true)
 | 
				
			||||||
          })
 | 
					          })
 | 
				
			||||||
@@ -443,6 +570,7 @@ export default {
 | 
				
			|||||||
<style scoped>
 | 
					<style scoped>
 | 
				
			||||||
  .addDiv {
 | 
					  .addDiv {
 | 
				
			||||||
    display: flex;
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    flex-direction: column;
 | 
				
			||||||
    justify-content: space-between;
 | 
					    justify-content: space-between;
 | 
				
			||||||
    min-height: 20vh;
 | 
					    min-height: 20vh;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
@@ -463,6 +591,7 @@ export default {
 | 
				
			|||||||
    display: flex;
 | 
					    display: flex;
 | 
				
			||||||
    justify-content: space-between;
 | 
					    justify-content: space-between;
 | 
				
			||||||
    padding: 10px 40px 0 0;
 | 
					    padding: 10px 40px 0 0;
 | 
				
			||||||
 | 
					    width: 80%;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  .smallDiv {
 | 
					  .smallDiv {
 | 
				
			||||||
    display: flex;
 | 
					    display: flex;
 | 
				
			||||||
@@ -476,7 +605,7 @@ export default {
 | 
				
			|||||||
    flex-direction: row;
 | 
					    flex-direction: row;
 | 
				
			||||||
    width: 200px;
 | 
					    width: 200px;
 | 
				
			||||||
    justify-content: space-between;
 | 
					    justify-content: space-between;
 | 
				
			||||||
    margin-left: 20px;
 | 
					    margin-left: 10px;
 | 
				
			||||||
    text-align: center;
 | 
					    text-align: center;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
</style>
 | 
					</style>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,33 +4,33 @@
 | 
				
			|||||||
      <el-form-item label="标题" prop="title">
 | 
					      <el-form-item label="标题" prop="title">
 | 
				
			||||||
        <el-input v-model="ruleForm.title"></el-input>
 | 
					        <el-input v-model="ruleForm.title"></el-input>
 | 
				
			||||||
      </el-form-item>
 | 
					      </el-form-item>
 | 
				
			||||||
      <el-form-item label="物料" prop="productName">
 | 
					      <el-form-item label="物料" prop="productId">
 | 
				
			||||||
        <el-select v-model="ruleForm.productName" filterable clearable placeholder="物料">
 | 
					        <el-select v-model="ruleForm.productId" filterable clearable placeholder="物料">
 | 
				
			||||||
          <el-option
 | 
					          <el-option
 | 
				
			||||||
            v-for="item in productList"
 | 
					            v-for="item in productList"
 | 
				
			||||||
            :key="item.id"
 | 
					            :key="item.id"
 | 
				
			||||||
            :label="item.productName"
 | 
					            :label="item.productName"
 | 
				
			||||||
            :value="item.productName">
 | 
					            :value="item.id">
 | 
				
			||||||
          </el-option>
 | 
					          </el-option>
 | 
				
			||||||
        </el-select>
 | 
					        </el-select>
 | 
				
			||||||
      </el-form-item>
 | 
					      </el-form-item>
 | 
				
			||||||
      <el-form-item label="供应商" prop="supplierName">
 | 
					      <el-form-item label="供应商" prop="supplierId">
 | 
				
			||||||
        <el-select v-model="ruleForm.supplierName" filterable clearable placeholder="供应商">
 | 
					        <el-select v-model="ruleForm.supplierId" filterable clearable placeholder="供应商">
 | 
				
			||||||
          <el-option
 | 
					          <el-option
 | 
				
			||||||
            v-for="item in supplierList"
 | 
					            v-for="item in supplierList"
 | 
				
			||||||
            :key="item.id"
 | 
					            :key="item.id"
 | 
				
			||||||
            :label="item.name"
 | 
					            :label="item.name"
 | 
				
			||||||
            :value="item.name">
 | 
					            :value="item.id">
 | 
				
			||||||
          </el-option>
 | 
					          </el-option>
 | 
				
			||||||
        </el-select>
 | 
					        </el-select>
 | 
				
			||||||
      </el-form-item>
 | 
					      </el-form-item>
 | 
				
			||||||
      <el-form-item label="负责人" prop="personLiableName">
 | 
					      <el-form-item label="负责人" prop="personLiable">
 | 
				
			||||||
        <el-select v-model="ruleForm.personLiableName" filterable clearable placeholder="供应商">
 | 
					        <el-select v-model="ruleForm.personLiable" filterable clearable placeholder="供应商">
 | 
				
			||||||
          <el-option
 | 
					          <el-option
 | 
				
			||||||
            v-for="item in userList"
 | 
					            v-for="item in userList"
 | 
				
			||||||
            :key="item.id"
 | 
					            :key="item.id"
 | 
				
			||||||
            :label="item.username"
 | 
					            :label="item.username"
 | 
				
			||||||
            :value="item.username">
 | 
					            :value="item.id">
 | 
				
			||||||
          </el-option>
 | 
					          </el-option>
 | 
				
			||||||
        </el-select>
 | 
					        </el-select>
 | 
				
			||||||
      </el-form-item>
 | 
					      </el-form-item>
 | 
				
			||||||
@@ -66,6 +66,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
 | 
					  // props: {
 | 
				
			||||||
 | 
					  //   project: Object
 | 
				
			||||||
 | 
					  // },
 | 
				
			||||||
  data() {
 | 
					  data() {
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
      urlOptions: {
 | 
					      urlOptions: {
 | 
				
			||||||
@@ -76,9 +79,9 @@ export default {
 | 
				
			|||||||
      },
 | 
					      },
 | 
				
			||||||
      ruleForm: {
 | 
					      ruleForm: {
 | 
				
			||||||
        title: '',
 | 
					        title: '',
 | 
				
			||||||
        productName: '',
 | 
					        productId: '',
 | 
				
			||||||
        supplierName: '',
 | 
					        supplierId: '',
 | 
				
			||||||
        personLiableName: '',
 | 
					        personLiable: '',
 | 
				
			||||||
        background: '',
 | 
					        background: '',
 | 
				
			||||||
        ment: 0,
 | 
					        ment: 0,
 | 
				
			||||||
        timeNodeStart: undefined,
 | 
					        timeNodeStart: undefined,
 | 
				
			||||||
@@ -100,8 +103,7 @@ export default {
 | 
				
			|||||||
      supplierList: [],
 | 
					      supplierList: [],
 | 
				
			||||||
      rules: {
 | 
					      rules: {
 | 
				
			||||||
        title: [
 | 
					        title: [
 | 
				
			||||||
          { required: true, message: '请输入活动名称', trigger: 'blur' },
 | 
					          { required: true, message: '请输入活动名称', trigger: 'blur' }
 | 
				
			||||||
          { min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
 | 
					 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -110,8 +112,16 @@ export default {
 | 
				
			|||||||
    this.getProduct()
 | 
					    this.getProduct()
 | 
				
			||||||
    this.getSupplier()
 | 
					    this.getSupplier()
 | 
				
			||||||
    this.getUser()
 | 
					    this.getUser()
 | 
				
			||||||
 | 
					    // if (this.project.id) {
 | 
				
			||||||
 | 
					    //   this.ruleForm = this.project
 | 
				
			||||||
 | 
					    //   console.log('啦啦啦', this.ruleForm)
 | 
				
			||||||
 | 
					    // }
 | 
				
			||||||
 | 
					    // console.log('啦啦111111啦', this.ruleForm)
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
 | 
					    init(item) {
 | 
				
			||||||
 | 
					      this.ruleForm = item
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    getUser() {
 | 
					    getUser() {
 | 
				
			||||||
      this.$http
 | 
					      this.$http
 | 
				
			||||||
        .get(this.urlOptions.getUserURL, {
 | 
					        .get(this.urlOptions.getUserURL, {
 | 
				
			||||||
@@ -173,7 +183,6 @@ export default {
 | 
				
			|||||||
        });
 | 
					        });
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    submitForm(formName) {
 | 
					    submitForm(formName) {
 | 
				
			||||||
      console.log('啊啊啊啊啊', this.ruleForm)
 | 
					 | 
				
			||||||
      if (this.timeSlot) {
 | 
					      if (this.timeSlot) {
 | 
				
			||||||
        this.ruleForm.timeNodeStart = this.timeSlot[0]
 | 
					        this.ruleForm.timeNodeStart = this.timeSlot[0]
 | 
				
			||||||
        this.ruleForm.timeNodeEnd = this.timeSlot[1]
 | 
					        this.ruleForm.timeNodeEnd = this.timeSlot[1]
 | 
				
			||||||
@@ -183,7 +192,7 @@ export default {
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
      this.$refs[formName].validate((valid) => {
 | 
					      this.$refs[formName].validate((valid) => {
 | 
				
			||||||
        if (valid) {
 | 
					        if (valid) {
 | 
				
			||||||
          this.$http["post"](this.urlOptions.addURL, this.ruleForm)
 | 
					          this.$http[!this.ruleForm.id ? "post" : "put"](this.urlOptions.addURL, this.ruleForm)
 | 
				
			||||||
          .then(({ data: res }) => {
 | 
					          .then(({ data: res }) => {
 | 
				
			||||||
            if (res.code !== 0) {
 | 
					            if (res.code !== 0) {
 | 
				
			||||||
              return this.$message.error(res.msg);
 | 
					              return this.$message.error(res.msg);
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										21
									
								
								src/views/modules/supplier/components/second.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					<!--
 | 
				
			||||||
 | 
					 * @Author: Do not edit
 | 
				
			||||||
 | 
					 * @Date: 2023-07-18 16:08:09
 | 
				
			||||||
 | 
					 * @LastEditTime: 2023-07-18 16:09:43
 | 
				
			||||||
 | 
					 * @LastEditors: DY
 | 
				
			||||||
 | 
					 * @Description: 
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <el-card shadow="never" class="aui-card--fill">
 | 
				
			||||||
 | 
					    要求清单
 | 
				
			||||||
 | 
					  </el-card>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<style scoped>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</style>
 | 
				
			||||||
							
								
								
									
										0
									
								
								src/views/modules/supplier/components/third.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -1,8 +1,8 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-04-17 14:23:17
 | 
					 * @Date: 2023-04-17 14:23:17
 | 
				
			||||||
 * @LastEditTime: 2023-07-11 15:20:16
 | 
					 * @LastEditTime: 2023-08-24 09:28:35
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: DY
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
@@ -13,7 +13,7 @@
 | 
				
			|||||||
          <SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
 | 
					          <SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
 | 
				
			||||||
          </SearchBar>
 | 
					          </SearchBar>
 | 
				
			||||||
          <base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1" :limit="listQuery.limit" :table-data="tableData">
 | 
					          <base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1" :limit="listQuery.limit" :table-data="tableData">
 | 
				
			||||||
            <method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
 | 
					            <method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" :label="$t('handle')" :method-list="tableBtn"
 | 
				
			||||||
              @clickBtn="handleClick" />
 | 
					              @clickBtn="handleClick" />
 | 
				
			||||||
          </base-table>
 | 
					          </base-table>
 | 
				
			||||||
          <pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
 | 
					          <pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
 | 
				
			||||||
@@ -110,8 +110,8 @@ export default {
 | 
				
			|||||||
      formConfig: [
 | 
					      formConfig: [
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          type: 'input',
 | 
					          type: 'input',
 | 
				
			||||||
          label: i18n.t('supplier.name'),
 | 
					          label: i18n.t('supplier.title'),
 | 
				
			||||||
          placeholder: i18n.t('supplier.name'),
 | 
					          placeholder: i18n.t('supplier.title'),
 | 
				
			||||||
          param: 'title'
 | 
					          param: 'title'
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
@@ -173,7 +173,7 @@ export default {
 | 
				
			|||||||
    //   this.searchOrUpdateVisible = false;
 | 
					    //   this.searchOrUpdateVisible = false;
 | 
				
			||||||
    // },
 | 
					    // },
 | 
				
			||||||
    conditionSearch() {
 | 
					    conditionSearch() {
 | 
				
			||||||
      this.searchOrEditTitle = "搜索";
 | 
					      this.searchOrEditTitle = this.$t('search');
 | 
				
			||||||
      this.searchOrUpdateVisible = true;
 | 
					      this.searchOrUpdateVisible = true;
 | 
				
			||||||
      this.$nextTick(() => {
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
        this.$refs.searchOrUpdate.init();
 | 
					        this.$refs.searchOrUpdate.init();
 | 
				
			||||||
@@ -226,16 +226,19 @@ export default {
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    handleClick(val) {
 | 
					    handleClick(val) {
 | 
				
			||||||
      if (val.type === "delete") {
 | 
					      if (val.type === "delete") {
 | 
				
			||||||
        this.$confirm(`确定对[名称=${val.data.customerTypeName}]进行删除操作?`, "提示", {
 | 
					        this.$confirm(
 | 
				
			||||||
          confirmButtonText: "确定",
 | 
					        this.$t("prompt.delete", { object: val.data.customerTypeName }),
 | 
				
			||||||
          cancelButtonText: "取消",
 | 
					        this.$t("prompt.title"),
 | 
				
			||||||
          type: "warning",
 | 
					      {
 | 
				
			||||||
 | 
					        confirmButtonText: this.$t("confirm"),
 | 
				
			||||||
 | 
					        cancelButtonText: this.$t("cancel"),
 | 
				
			||||||
 | 
					        type: "warning"
 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
          .then(() => {
 | 
					          .then(() => {
 | 
				
			||||||
            this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
 | 
					            this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
 | 
				
			||||||
              if (data && data.code === 0) {
 | 
					              if (data && data.code === 0) {
 | 
				
			||||||
                this.$message({
 | 
					                this.$message({
 | 
				
			||||||
                  message: "操作成功",
 | 
					                  message: this.$t("prompt.success"),
 | 
				
			||||||
                  type: "success",
 | 
					                  type: "success",
 | 
				
			||||||
                  duration: 1500,
 | 
					                  duration: 1500,
 | 
				
			||||||
                  onClose: () => {
 | 
					                  onClose: () => {
 | 
				
			||||||
@@ -282,7 +285,7 @@ export default {
 | 
				
			|||||||
          this.getDataList();
 | 
					          this.getDataList();
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        case "add":
 | 
					        case "add":
 | 
				
			||||||
          this.addOrEditTitle = '新增'
 | 
					          this.addOrEditTitle = this.$t('add')
 | 
				
			||||||
          this.addOrUpdateVisible = true
 | 
					          this.addOrUpdateVisible = true
 | 
				
			||||||
          this.addOrUpdateHandle()
 | 
					          this.addOrUpdateHandle()
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-04-17 14:23:17
 | 
					 * @Date: 2023-04-17 14:23:17
 | 
				
			||||||
 * @LastEditTime: 2023-07-12 14:17:24
 | 
					 * @LastEditTime: 2023-08-17 15:06:48
 | 
				
			||||||
 * @LastEditors: DY
 | 
					 * @LastEditors: DY
 | 
				
			||||||
 * @Description: 标签设定
 | 
					 * @Description: 标签设定
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -114,19 +114,20 @@ export default {
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    editHandle(label) {
 | 
					    editHandle(label) {
 | 
				
			||||||
      label.disabled = false
 | 
					      label.disabled = false
 | 
				
			||||||
      console.log('nihc', label)
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    handleClose(tag) {
 | 
					    handleClose(tag) {
 | 
				
			||||||
      console.log('你好', tag)
 | 
					      this.$confirm(
 | 
				
			||||||
      this.$confirm(`确定对[名称=${tag.name}]进行删除操作?`, "提示", {
 | 
					        this.$t("prompt.delete", { object: tag.name }),
 | 
				
			||||||
        confirmButtonText: "确定",
 | 
					        this.$t("prompt.title"),
 | 
				
			||||||
        cancelButtonText: "取消",
 | 
					      {
 | 
				
			||||||
        type: "warning",
 | 
					        confirmButtonText: this.$t("confirm"),
 | 
				
			||||||
 | 
					        cancelButtonText: this.$t("cancel"),
 | 
				
			||||||
 | 
					        type: "warning"
 | 
				
			||||||
      }).then(()=> {
 | 
					      }).then(()=> {
 | 
				
			||||||
        this.$http.delete(this.urlOptions.deleteLabelInfoURL, { data: [tag.id] }).then(({ data }) => {
 | 
					        this.$http.delete(this.urlOptions.deleteLabelInfoURL, { data: [tag.id] }).then(({ data }) => {
 | 
				
			||||||
          if (data && data.code === 0) {
 | 
					          if (data && data.code === 0) {
 | 
				
			||||||
            this.$message({
 | 
					            this.$message({
 | 
				
			||||||
              message: "操作成功",
 | 
					              message: this.$t("prompt.success"),
 | 
				
			||||||
              type: "success",
 | 
					              type: "success",
 | 
				
			||||||
              duration: 1500,
 | 
					              duration: 1500,
 | 
				
			||||||
              onClose: () => {
 | 
					              onClose: () => {
 | 
				
			||||||
@@ -149,16 +150,19 @@ export default {
 | 
				
			|||||||
    //   });
 | 
					    //   });
 | 
				
			||||||
    // },
 | 
					    // },
 | 
				
			||||||
    deleteHandle(id, name) {
 | 
					    deleteHandle(id, name) {
 | 
				
			||||||
      this.$confirm(`确定对[名称=${name}]进行删除操作?`, "提示", {
 | 
					      this.$confirm(
 | 
				
			||||||
        confirmButtonText: "确定",
 | 
					        this.$t("prompt.delete", { object: name }),
 | 
				
			||||||
        cancelButtonText: "取消",
 | 
					        this.$t("prompt.title"),
 | 
				
			||||||
        type: "warning",
 | 
					      {
 | 
				
			||||||
 | 
					        confirmButtonText: this.$t("confirm"),
 | 
				
			||||||
 | 
					        cancelButtonText: this.$t("cancel"),
 | 
				
			||||||
 | 
					        type: "warning"
 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
        .then(() => {
 | 
					        .then(() => {
 | 
				
			||||||
          this.$http.delete(this.urlOptions.deleteURL, { data: [id] }).then(({ data }) => {
 | 
					          this.$http.delete(this.urlOptions.deleteURL, { data: [id] }).then(({ data }) => {
 | 
				
			||||||
            if (data && data.code === 0) {
 | 
					            if (data && data.code === 0) {
 | 
				
			||||||
              this.$message({
 | 
					              this.$message({
 | 
				
			||||||
                message: "操作成功",
 | 
					                message: this.$t("prompt.success"),
 | 
				
			||||||
                type: "success",
 | 
					                type: "success",
 | 
				
			||||||
                duration: 1500,
 | 
					                duration: 1500,
 | 
				
			||||||
                onClose: () => {
 | 
					                onClose: () => {
 | 
				
			||||||
@@ -279,38 +283,6 @@ export default {
 | 
				
			|||||||
      // console.log(11111);
 | 
					      // console.log(11111);
 | 
				
			||||||
      // this.conditionSearchSubmit();
 | 
					      // this.conditionSearchSubmit();
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    handleClick(val) {
 | 
					 | 
				
			||||||
      if (val.type === "delete") {
 | 
					 | 
				
			||||||
        this.$confirm(`确定对[名称=${val.data.customerTypeName}]进行删除操作?`, "提示", {
 | 
					 | 
				
			||||||
          confirmButtonText: "确定",
 | 
					 | 
				
			||||||
          cancelButtonText: "取消",
 | 
					 | 
				
			||||||
          type: "warning",
 | 
					 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
          .then(() => {
 | 
					 | 
				
			||||||
            this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
 | 
					 | 
				
			||||||
              if (data && data.code === 0) {
 | 
					 | 
				
			||||||
                this.$message({
 | 
					 | 
				
			||||||
                  message: "操作成功",
 | 
					 | 
				
			||||||
                  type: "success",
 | 
					 | 
				
			||||||
                  duration: 1500,
 | 
					 | 
				
			||||||
                  onClose: () => {
 | 
					 | 
				
			||||||
                    this.getDataList();
 | 
					 | 
				
			||||||
                  },
 | 
					 | 
				
			||||||
                });
 | 
					 | 
				
			||||||
              } else {
 | 
					 | 
				
			||||||
                this.$message.error(data.msg);
 | 
					 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            });
 | 
					 | 
				
			||||||
          })
 | 
					 | 
				
			||||||
          .catch(() => { });
 | 
					 | 
				
			||||||
      } else if (val.type === 'edit') {
 | 
					 | 
				
			||||||
        this.addOrEditTitle = '修改'
 | 
					 | 
				
			||||||
        this.addOrUpdateVisible = true;
 | 
					 | 
				
			||||||
        this.$nextTick(() => {
 | 
					 | 
				
			||||||
          this.$refs.addOrUpdate.init(val.data.id);
 | 
					 | 
				
			||||||
        });
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    buttonClick(val) {
 | 
					    buttonClick(val) {
 | 
				
			||||||
      console.log(val)
 | 
					      console.log(val)
 | 
				
			||||||
      switch (val.btnName) {
 | 
					      switch (val.btnName) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: Do not edit
 | 
					 * @Author: Do not edit
 | 
				
			||||||
 * @Date: 2023-06-20 11:16:51
 | 
					 * @Date: 2023-06-20 11:16:51
 | 
				
			||||||
 * @LastEditTime: 2023-07-14 15:53:22
 | 
					 * @LastEditTime: 2023-08-22 11:00:34
 | 
				
			||||||
 * @LastEditors: DY
 | 
					 * @LastEditors: DY
 | 
				
			||||||
 * @Description: 评估计划
 | 
					 * @Description: 评估计划
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -9,11 +9,11 @@
 | 
				
			|||||||
  <el-card shadow="never" class="aui-card--fill">
 | 
					  <el-card shadow="never" class="aui-card--fill">
 | 
				
			||||||
    <div>
 | 
					    <div>
 | 
				
			||||||
      <el-form :inline="true" :model="formInline" class="demo-form-inline">
 | 
					      <el-form :inline="true" :model="formInline" class="demo-form-inline">
 | 
				
			||||||
        <el-form-item label="供应商名称">
 | 
					        <el-form-item :label="$t('quality.suppliername')">
 | 
				
			||||||
          <el-input v-model="formInline.supplierName" placeholder="供应商"></el-input>
 | 
					          <el-input v-model="formInline.supplierName" :placeholder="$t('quality.suppliername')"></el-input>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item label="评估模板">
 | 
					        <el-form-item :label="$t('supplier.evaluationTemplateName')">
 | 
				
			||||||
          <el-select v-model="formInline.evaluationTemplateId" filterable clearable placeholder="评估模板">
 | 
					          <el-select v-model="formInline.evaluationTemplateId" filterable clearable :placeholder="$t('supplier.evaluationTemplateName')">
 | 
				
			||||||
            <el-option
 | 
					            <el-option
 | 
				
			||||||
              v-for="item in modalOptions"
 | 
					              v-for="item in modalOptions"
 | 
				
			||||||
              :key="item.id"
 | 
					              :key="item.id"
 | 
				
			||||||
@@ -22,8 +22,8 @@
 | 
				
			|||||||
            </el-option>
 | 
					            </el-option>
 | 
				
			||||||
          </el-select>
 | 
					          </el-select>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item label="评估类型">
 | 
					        <el-form-item :label="$t('supplier.evaluationType')">
 | 
				
			||||||
          <el-select v-model="formInline.evaluationType" clearable placeholder="评估类型">
 | 
					          <el-select v-model="formInline.evaluationType" clearable :placeholder="$t('supplier.evaluationType')">
 | 
				
			||||||
            <el-option
 | 
					            <el-option
 | 
				
			||||||
              v-for="item in typeOptions"
 | 
					              v-for="item in typeOptions"
 | 
				
			||||||
              :key="item.id"
 | 
					              :key="item.id"
 | 
				
			||||||
@@ -33,7 +33,7 @@
 | 
				
			|||||||
          </el-select>
 | 
					          </el-select>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item>
 | 
					        <el-form-item>
 | 
				
			||||||
          <el-button type="primary" @click="onSubmit">查询</el-button>
 | 
					          <el-button type="primary" @click="onSubmit">{{ $t('query') }}</el-button>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
      </el-form>
 | 
					      </el-form>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
@@ -45,60 +45,60 @@
 | 
				
			|||||||
        <el-table-column type="expand">
 | 
					        <el-table-column type="expand">
 | 
				
			||||||
          <template slot-scope="props">
 | 
					          <template slot-scope="props">
 | 
				
			||||||
            <el-form label-position="left" inline class="demo-table-expand">
 | 
					            <el-form label-position="left" inline class="demo-table-expand">
 | 
				
			||||||
              <el-form-item label="供应商列表">
 | 
					              <el-form-item :label="$t('quality.supplierList')">
 | 
				
			||||||
                <el-tag type="success" v-for="(item, index) in props.row.list" :key="index">{{ item.supplierName }}</el-tag>
 | 
					                <el-tag type="success" v-for="(item, index) in props.row.list" :key="index">{{ item.supplierName }}</el-tag>
 | 
				
			||||||
              </el-form-item>
 | 
					              </el-form-item>
 | 
				
			||||||
              <br>
 | 
					              <br>
 | 
				
			||||||
              <el-form-item label="负责人列表">
 | 
					              <el-form-item :label="$t('quality.principal')">
 | 
				
			||||||
                <el-tag>{{ props.row.evaluatorName }}</el-tag>
 | 
					                <el-tag>{{ props.row.evaluatorName }}</el-tag>
 | 
				
			||||||
              </el-form-item>
 | 
					              </el-form-item>
 | 
				
			||||||
            </el-form>
 | 
					            </el-form>
 | 
				
			||||||
          </template>
 | 
					          </template>
 | 
				
			||||||
        </el-table-column>
 | 
					        </el-table-column>
 | 
				
			||||||
        <el-table-column
 | 
					        <el-table-column
 | 
				
			||||||
          label="评估类型"
 | 
					          :label="$t('supplier.evaluationType')"
 | 
				
			||||||
          prop="evaluationType">
 | 
					          prop="evaluationType">
 | 
				
			||||||
          <template slot-scope="slot">
 | 
					          <template slot-scope="slot">
 | 
				
			||||||
            <el-tag :type="slot.row.evaluationType === 0 ? 'info' : slot.row.evaluationType === 1 ? 'success' : ''" effect="dark">{{ slot.row.evaluationType === 0 ? '年度' : slot.row.evaluationType === 1 ? '季度' : '月度' }}</el-tag>
 | 
					            <el-tag :type="slot.row.evaluationType === 0 ? 'info' : slot.row.evaluationType === 1 ? 'success' : ''" effect="dark">{{ slot.row.evaluationType === 0 ? $t('supplier.year') : slot.row.evaluationType === 1 ? $t('supplier.quarter') : $t('supplier.month') }}</el-tag>
 | 
				
			||||||
          </template>
 | 
					          </template>
 | 
				
			||||||
        </el-table-column>
 | 
					        </el-table-column>
 | 
				
			||||||
        <el-table-column
 | 
					        <el-table-column
 | 
				
			||||||
          label="标题"
 | 
					          :label="$t('quality.title')"
 | 
				
			||||||
          prop="title">
 | 
					          prop="title">
 | 
				
			||||||
        </el-table-column>
 | 
					        </el-table-column>
 | 
				
			||||||
        <el-table-column
 | 
					        <el-table-column
 | 
				
			||||||
          label="评估模板"
 | 
					          :label="$t('supplier.evaluationTemplateName')"
 | 
				
			||||||
          prop="evaluationTemplateName">
 | 
					          prop="evaluationTemplateName">
 | 
				
			||||||
          <template slot-scope="slot">
 | 
					          <template slot-scope="slot">
 | 
				
			||||||
            <el-tag type="danger" effect="plain">{{ slot.row.evaluationTemplateName }}</el-tag>
 | 
					            <el-tag type="danger" effect="plain">{{ slot.row.evaluationTemplateName }}</el-tag>
 | 
				
			||||||
          </template>
 | 
					          </template>
 | 
				
			||||||
        </el-table-column>
 | 
					        </el-table-column>
 | 
				
			||||||
        <el-table-column
 | 
					        <el-table-column
 | 
				
			||||||
          label="说明"
 | 
					          :label="$t('supplier.description')"
 | 
				
			||||||
          prop="description">
 | 
					          prop="description">
 | 
				
			||||||
        </el-table-column>
 | 
					        </el-table-column>
 | 
				
			||||||
        <el-table-column
 | 
					        <el-table-column
 | 
				
			||||||
          label="上次启动时间"
 | 
					          :label="$t('supplier.lastStartTime')"
 | 
				
			||||||
          prop="lastStartTime">
 | 
					          prop="lastStartTime">
 | 
				
			||||||
        </el-table-column>
 | 
					        </el-table-column>
 | 
				
			||||||
        <el-table-column
 | 
					        <el-table-column
 | 
				
			||||||
          label="上次启动评估时间段"
 | 
					          :label="$t('supplier.lastStartEvaluationPeriod')"
 | 
				
			||||||
          prop="lastStartEvaluationPeriod">
 | 
					          prop="lastStartEvaluationPeriod">
 | 
				
			||||||
        </el-table-column>
 | 
					        </el-table-column>
 | 
				
			||||||
        <el-table-column
 | 
					        <el-table-column
 | 
				
			||||||
          label="预计下次启动时间"
 | 
					          :label="$t('supplier.estimatedNextStartTime')"
 | 
				
			||||||
          prop="estimatedNextStartTime">
 | 
					          prop="estimatedNextStartTime">
 | 
				
			||||||
        </el-table-column>
 | 
					        </el-table-column>
 | 
				
			||||||
        <el-table-column
 | 
					        <el-table-column
 | 
				
			||||||
          label="提醒人"
 | 
					          :label="$t('supplier.reminder')"
 | 
				
			||||||
          prop="reminder">
 | 
					          prop="reminder">
 | 
				
			||||||
        </el-table-column>
 | 
					        </el-table-column>
 | 
				
			||||||
        <el-table-column
 | 
					        <el-table-column
 | 
				
			||||||
          label="操作"
 | 
					          :label="$t('public.operation')"
 | 
				
			||||||
          width="160"
 | 
					          width="160"
 | 
				
			||||||
          prop="desc">
 | 
					          prop="desc">
 | 
				
			||||||
          <template slot-scope="slot">
 | 
					          <template slot-scope="slot">
 | 
				
			||||||
            <el-button type="text" @click="start(slot.row)">启动</el-button>
 | 
					            <el-button type="text" @click="start(slot.row)">{{ $('public.activate') }}</el-button>
 | 
				
			||||||
            <el-button type="text" @click="editPlan(slot.row)">edit</el-button>
 | 
					            <el-button type="text" @click="editPlan(slot.row)">edit</el-button>
 | 
				
			||||||
            <el-button type="text" @click="deletePlan(slot.row)" style="color: red">delete</el-button>
 | 
					            <el-button type="text" @click="deletePlan(slot.row)" style="color: red">delete</el-button>
 | 
				
			||||||
          </template>
 | 
					          </template>
 | 
				
			||||||
@@ -108,7 +108,7 @@
 | 
				
			|||||||
    <div>
 | 
					    <div>
 | 
				
			||||||
      <el-button class="carcleButton" @click="addPlanButon">+</el-button>
 | 
					      <el-button class="carcleButton" @click="addPlanButon">+</el-button>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
    <add-plan v-if="addtModelVisible" @refreshDataList="onSubmit"></add-plan>
 | 
					    <add-plan ref="addModel" v-if="addtModelVisible" @refreshDataList="onSubmit"></add-plan>
 | 
				
			||||||
    <base-dialog dialogTitle="start" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel" @confirm="handleConfirm" :before-close="handleCancel">
 | 
					    <base-dialog dialogTitle="start" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel" @confirm="handleConfirm" :before-close="handleCancel">
 | 
				
			||||||
      <start-plan ref="addOrUpdate" @refreshDataList="closeSucess"></start-plan>
 | 
					      <start-plan ref="addOrUpdate" @refreshDataList="closeSucess"></start-plan>
 | 
				
			||||||
    </base-dialog>
 | 
					    </base-dialog>
 | 
				
			||||||
@@ -118,6 +118,7 @@
 | 
				
			|||||||
<script>
 | 
					<script>
 | 
				
			||||||
import addPlan from './components/addPlan.vue'
 | 
					import addPlan from './components/addPlan.vue'
 | 
				
			||||||
import startPlan from './components/startPlan.vue'
 | 
					import startPlan from './components/startPlan.vue'
 | 
				
			||||||
 | 
					import i18n from "@/i18n"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  components: { addPlan, startPlan },
 | 
					  components: { addPlan, startPlan },
 | 
				
			||||||
@@ -132,15 +133,15 @@ export default {
 | 
				
			|||||||
      addtModelVisible: false,
 | 
					      addtModelVisible: false,
 | 
				
			||||||
      typeOptions: [
 | 
					      typeOptions: [
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          name: '年度',
 | 
					          name: i18n.t('supplier.year'),
 | 
				
			||||||
          id: 0
 | 
					          id: 0
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          name: '季度',
 | 
					          name: i18n.t('supplier.quarter'),
 | 
				
			||||||
          id: 1
 | 
					          id: 1
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          name: '月度',
 | 
					          name: i18n.t('supplier.month'),
 | 
				
			||||||
          id: 2
 | 
					          id: 2
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ],
 | 
					      ],
 | 
				
			||||||
@@ -180,18 +181,26 @@ export default {
 | 
				
			|||||||
        this.$refs.addOrUpdate.init(val);
 | 
					        this.$refs.addOrUpdate.init(val);
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    editPlan(val) {},
 | 
					    editPlan(val) {
 | 
				
			||||||
 | 
					      this.addtModelVisible = true
 | 
				
			||||||
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
 | 
					        this.$refs.addModel.init(val);
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    deletePlan(val) {
 | 
					    deletePlan(val) {
 | 
				
			||||||
      this.$confirm(`确定对[名称=${val.title}]进行删除操作?`, "提示", {
 | 
					      this.$confirm(
 | 
				
			||||||
        confirmButtonText: "确定",
 | 
					        this.$t("prompt.delete", { object: val.title }),
 | 
				
			||||||
        cancelButtonText: "取消",
 | 
					        this.$t("prompt.title"),
 | 
				
			||||||
        type: "warning",
 | 
					      {
 | 
				
			||||||
 | 
					        confirmButtonText: this.$t("confirm"),
 | 
				
			||||||
 | 
					        cancelButtonText: this.$t("cancel"),
 | 
				
			||||||
 | 
					        type: "warning"
 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
        .then(() => {
 | 
					        .then(() => {
 | 
				
			||||||
          this.$http.delete(this.urlOptions.deleteURL, { data: [val.id] }).then(({ data }) => {
 | 
					          this.$http.delete(this.urlOptions.deleteURL, { data: [val.id] }).then(({ data }) => {
 | 
				
			||||||
            if (data && data.code === 0) {
 | 
					            if (data && data.code === 0) {
 | 
				
			||||||
              this.$message({
 | 
					              this.$message({
 | 
				
			||||||
                message: "操作成功",
 | 
					                message: this.$t("prompt.success"),
 | 
				
			||||||
                type: "success",
 | 
					                type: "success",
 | 
				
			||||||
                duration: 1500,
 | 
					                duration: 1500,
 | 
				
			||||||
                onClose: () => {
 | 
					                onClose: () => {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,41 +1,64 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: Do not edit
 | 
					 * @Author: Do not edit
 | 
				
			||||||
 * @Date: 2023-06-19 10:38:41
 | 
					 * @Date: 2023-06-19 10:38:41
 | 
				
			||||||
 * @LastEditTime: 2023-06-26 16:05:18
 | 
					 * @LastEditTime: 2023-08-21 15:26:45
 | 
				
			||||||
 * @LastEditors: DY
 | 
					 * @LastEditors: DY
 | 
				
			||||||
 * @Description: 评估模板
 | 
					 * @Description: 评估模板
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <el-card shadow="never" class="aui-card--fill">
 | 
					  <el-card shadow="never" class="aui-card--fill">
 | 
				
			||||||
    <h1>绩效评估模板</h1>
 | 
					    <!-- <h1>绩效评估模板</h1> -->
 | 
				
			||||||
    <div class="bigDiv">
 | 
					    <div class="bigDiv">
 | 
				
			||||||
      <div v-for="(item, index) in dataList" :key="index" class="smallDiv">
 | 
					      <div v-for="(item, index) in dataList" :key="index" class="smallDiv">
 | 
				
			||||||
        <p style="font-size: 18px">{{ item.name }}</p>
 | 
					        <div class="flexDiv">
 | 
				
			||||||
        <div style="margin-top: 30px;">
 | 
					          <div style="height: 150px">
 | 
				
			||||||
          <el-row :gutter="20">
 | 
					            <p style="font-size: 22px; text-align: center; margin-top: 10%">{{ item.name }}</p>
 | 
				
			||||||
            <el-col :span="20">
 | 
					            <p style="text-align: center">{{item.remark}}</p>
 | 
				
			||||||
              <span style="font-size: 18px;">综合评估表</span>
 | 
					 | 
				
			||||||
            </el-col>
 | 
					 | 
				
			||||||
            <el-col :span="4">
 | 
					 | 
				
			||||||
              <i class="el-icon-view" @click="seeeValuationList(item.id)"></i>
 | 
					 | 
				
			||||||
            </el-col>
 | 
					 | 
				
			||||||
          </el-row>
 | 
					 | 
				
			||||||
          <el-row :gutter="20">
 | 
					 | 
				
			||||||
            <el-col :span="4" :offset="20">
 | 
					 | 
				
			||||||
              <i class="el-icon-delete" @click="deleteEvaluation(item.id, item.name)"></i>
 | 
					 | 
				
			||||||
            </el-col>
 | 
					 | 
				
			||||||
          </el-row>
 | 
					 | 
				
			||||||
        </div>
 | 
					 | 
				
			||||||
      </div>
 | 
					 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
          <div>
 | 
					          <div>
 | 
				
			||||||
      <el-button class="carcleButton" @click="addTemplate">+</el-button>
 | 
					            <el-row :gutter="0">
 | 
				
			||||||
 | 
					              <el-col :span="8">
 | 
				
			||||||
 | 
					                <div :class="item.current === 1 ? 'activeCard' : 'normalCard'" @mouseenter="enterDiv(item)" @mouseleave="leaveDiv(item)" @click="seeeValuationList(item.id)">
 | 
				
			||||||
 | 
					                  <svg v-if="item.current" class="icon-svg" aria-hidden="true"><use xlink:href="#icon-look"></use></svg>
 | 
				
			||||||
 | 
					                  <svg v-else class="icon-svg" aria-hidden="true"><use xlink:href="#icon-look1"></use></svg>
 | 
				
			||||||
 | 
					                  <p style="font-size: 14px">{{ $t("preview") }}</p>
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
    <div v-if="editModelVisible" style="border: 1px solid grey; padding: 10px">
 | 
					              </el-col>
 | 
				
			||||||
 | 
					              <el-col :span="8">
 | 
				
			||||||
 | 
					                <div :class="item.current === 1 ? 'activeCard' : 'normalCard'" @mouseenter="enterDiv(item)" @mouseleave="leaveDiv(item)" @click="editEvaluation(item)">
 | 
				
			||||||
 | 
					                  <svg v-if="item.current" class="icon-svg" aria-hidden="true"><use xlink:href="#icon-edit0"></use></svg>
 | 
				
			||||||
 | 
					                  <svg v-else class="icon-svg" aria-hidden="true"><use xlink:href="#icon-edit1"></use></svg>
 | 
				
			||||||
 | 
					                  <p style="font-size: 14px">{{ $t("edit") }}</p>
 | 
				
			||||||
 | 
					                </div>
 | 
				
			||||||
 | 
					              </el-col>
 | 
				
			||||||
 | 
					              <el-col :span="8">
 | 
				
			||||||
 | 
					                <div :class="item.current === 1 ? 'activeDelCard' : 'normalCard'" @mouseenter="enterDiv(item)" @mouseleave="leaveDiv(item)" @click="deleteEvaluation(item.id, item.name)">
 | 
				
			||||||
 | 
					                  <svg v-if="item.current" class="icon-svg" aria-hidden="true"><use xlink:href="#icon-del1"></use></svg>
 | 
				
			||||||
 | 
					                  <svg v-else class="icon-svg" aria-hidden="true"><use xlink:href="#icon-del"></use></svg>
 | 
				
			||||||
 | 
					                  <p style="font-size: 14px">{{ $t("delete") }}</p>
 | 
				
			||||||
 | 
					                </div>
 | 
				
			||||||
 | 
					              </el-col>
 | 
				
			||||||
 | 
					            </el-row>
 | 
				
			||||||
 | 
					          </div>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					      </div>
 | 
				
			||||||
 | 
					      <div class="smallDiv addDiv" @click="addTemplate">
 | 
				
			||||||
 | 
					        <img src="../../../assets/img/add_new.png" alt="">
 | 
				
			||||||
 | 
					      </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    <!-- <div v-if="editModelVisible" style="border: 1px solid grey; padding: 10px">
 | 
				
			||||||
      <evaluation-template-add @refreshDataList="getDataList" :show="editModelVisible" @info="getInfo"></evaluation-template-add>
 | 
					      <evaluation-template-add @refreshDataList="getDataList" :show="editModelVisible" @info="getInfo"></evaluation-template-add>
 | 
				
			||||||
    </div>
 | 
					    </div> -->
 | 
				
			||||||
    <el-dialog
 | 
					    <el-dialog
 | 
				
			||||||
      title="预览"
 | 
					      :title="$t('add')"
 | 
				
			||||||
 | 
					      :visible.sync="editModelVisible"
 | 
				
			||||||
 | 
					      :close-on-click-modal="false"
 | 
				
			||||||
 | 
					      width="70%"
 | 
				
			||||||
 | 
					      :before-close="handleClose">
 | 
				
			||||||
 | 
					      <evaluation-template-add ref="addTemplate" @refreshDataList="getDataList" :show="editModelVisible" @info="getInfo"></evaluation-template-add>
 | 
				
			||||||
 | 
					    </el-dialog>
 | 
				
			||||||
 | 
					    <el-dialog
 | 
				
			||||||
 | 
					      :title="$t('preview')"
 | 
				
			||||||
      :visible.sync="dialogVisible"
 | 
					      :visible.sync="dialogVisible"
 | 
				
			||||||
      :close-on-click-modal="false"
 | 
					      :close-on-click-modal="false"
 | 
				
			||||||
      width="40%"
 | 
					      width="40%"
 | 
				
			||||||
@@ -81,28 +104,46 @@ export default ({
 | 
				
			|||||||
      },
 | 
					      },
 | 
				
			||||||
      tableProps,
 | 
					      tableProps,
 | 
				
			||||||
      projectsList: [],
 | 
					      projectsList: [],
 | 
				
			||||||
 | 
					      current: 0,
 | 
				
			||||||
      addTemplateVisible: false,
 | 
					      addTemplateVisible: false,
 | 
				
			||||||
      activeStep: 0,
 | 
					      activeStep: 0,
 | 
				
			||||||
      editModelVisible: false,
 | 
					      editModelVisible: false,
 | 
				
			||||||
      dataListLoading: false,
 | 
					      dataListLoading: false,
 | 
				
			||||||
      dialogVisible: false
 | 
					      dialogVisible: false,
 | 
				
			||||||
 | 
					      templateId: ''
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  mounted() {
 | 
					  mounted() {
 | 
				
			||||||
    this.getDataList()
 | 
					    this.getDataList()
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
 | 
					    editEvaluation(obj) {
 | 
				
			||||||
 | 
					      this.templateId = obj.id
 | 
				
			||||||
 | 
					      this.editModelVisible = true
 | 
				
			||||||
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
 | 
					        this.$refs.addTemplate.init(obj.id)
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    leaveDiv(obj) {
 | 
				
			||||||
 | 
					      obj.current = 0
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    enterDiv(obj) {
 | 
				
			||||||
 | 
					      obj.current = 1
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    deleteEvaluation(id, name) {
 | 
					    deleteEvaluation(id, name) {
 | 
				
			||||||
      this.$confirm(`确定对[名称=${name}]进行删除操作?`, "提示", {
 | 
					      this.$confirm(
 | 
				
			||||||
        confirmButtonText: "确定",
 | 
					        this.$t("prompt.delete", { object: name }),
 | 
				
			||||||
        cancelButtonText: "取消",
 | 
					        this.$t("prompt.title"),
 | 
				
			||||||
        type: "warning",
 | 
					      {
 | 
				
			||||||
 | 
					        confirmButtonText: this.$t("confirm"),
 | 
				
			||||||
 | 
					        cancelButtonText: this.$t("cancel"),
 | 
				
			||||||
 | 
					        type: "warning"
 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
        .then(() => {
 | 
					        .then(() => {
 | 
				
			||||||
          this.$http.delete(this.urlOptions.deleteURL, { data: [id] }).then(({ data }) => {
 | 
					          this.$http.delete(this.urlOptions.deleteURL, { data: [id] }).then(({ data }) => {
 | 
				
			||||||
            if (data && data.code === 0) {
 | 
					            if (data && data.code === 0) {
 | 
				
			||||||
              this.$message({
 | 
					              this.$message({
 | 
				
			||||||
                message: "操作成功",
 | 
					                message: this.$t("prompt.success"),
 | 
				
			||||||
                type: "success",
 | 
					                type: "success",
 | 
				
			||||||
                duration: 1500,
 | 
					                duration: 1500,
 | 
				
			||||||
                onClose: () => {
 | 
					                onClose: () => {
 | 
				
			||||||
@@ -120,14 +161,13 @@ export default ({
 | 
				
			|||||||
      this.editModelVisible = value
 | 
					      this.editModelVisible = value
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    handleClose(done) {
 | 
					    handleClose(done) {
 | 
				
			||||||
      this.$confirm('确认关闭?')
 | 
					      this.$confirm(this.$t('prompt.info', { 'handle': this.$t('close') }))
 | 
				
			||||||
        .then(_ => {
 | 
					        .then(_ => {
 | 
				
			||||||
          done();
 | 
					          done();
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
        .catch(_ => {});
 | 
					        .catch(_ => {});
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    seeeValuationList(id) {
 | 
					    seeeValuationList(id) {
 | 
				
			||||||
      console.log('啊啊啊啊', id)
 | 
					 | 
				
			||||||
      this.dialogVisible = true
 | 
					      this.dialogVisible = true
 | 
				
			||||||
      this.$http
 | 
					      this.$http
 | 
				
			||||||
        .get(this.urlOptions.getProjectTypeURL, {
 | 
					        .get(this.urlOptions.getProjectTypeURL, {
 | 
				
			||||||
@@ -151,6 +191,9 @@ export default ({
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
     addTemplate() {
 | 
					     addTemplate() {
 | 
				
			||||||
      this.editModelVisible = true
 | 
					      this.editModelVisible = true
 | 
				
			||||||
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
 | 
					        this.$refs.addTemplate.init()
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    getDataList() {
 | 
					    getDataList() {
 | 
				
			||||||
      // this.dataListLoading = true;
 | 
					      // this.dataListLoading = true;
 | 
				
			||||||
@@ -165,7 +208,10 @@ export default ({
 | 
				
			|||||||
            this.listQuery.total = 0;
 | 
					            this.listQuery.total = 0;
 | 
				
			||||||
            return this.$message.error(res.msg);
 | 
					            return this.$message.error(res.msg);
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          this.dataList = res.data.list;
 | 
					          this.dataList = res.data.list.map((item) =>{
 | 
				
			||||||
 | 
					            item.current = 0
 | 
				
			||||||
 | 
					            return item
 | 
				
			||||||
 | 
					          })
 | 
				
			||||||
          this.listQuery.total = res.data.total;
 | 
					          this.listQuery.total = res.data.total;
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
        .catch(() => {
 | 
					        .catch(() => {
 | 
				
			||||||
@@ -177,19 +223,25 @@ export default ({
 | 
				
			|||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<style scoped>
 | 
					<style scoped>
 | 
				
			||||||
 | 
					  .flexDiv {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    justify-content: space-around;
 | 
				
			||||||
 | 
					    flex-direction: column;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
  .bigDiv {
 | 
					  .bigDiv {
 | 
				
			||||||
    border: 1px solid grey;
 | 
					    /* border: 1px solid grey; */
 | 
				
			||||||
    padding: 20px 5vw;
 | 
					    /* padding: 10px; */
 | 
				
			||||||
    display: flex;
 | 
					    display: flex;
 | 
				
			||||||
    justify-content: space-between;
 | 
					    justify-content: space-between;
 | 
				
			||||||
    flex-wrap: wrap;
 | 
					    flex-wrap: wrap;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  .smallDiv {
 | 
					  .smallDiv {
 | 
				
			||||||
    border: 1px solid grey;
 | 
					    border: 1px solid grey;
 | 
				
			||||||
    padding: 0px 20px;
 | 
					    /* padding: 0px 20px; */
 | 
				
			||||||
    width: 40%;
 | 
					    width: 32%;
 | 
				
			||||||
    height: 150px;
 | 
					    height: 250px;
 | 
				
			||||||
    margin: 10px;
 | 
					    margin: 5px;
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  .carcleButton {
 | 
					  .carcleButton {
 | 
				
			||||||
    border-radius: 50%;
 | 
					    border-radius: 50%;
 | 
				
			||||||
@@ -198,4 +250,37 @@ export default ({
 | 
				
			|||||||
    margin: 5px;
 | 
					    margin: 5px;
 | 
				
			||||||
    background-color: rgb(196, 193, 193);
 | 
					    background-color: rgb(196, 193, 193);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					  .activeCard {
 | 
				
			||||||
 | 
					    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(27,151,255,0.19) 100%);
 | 
				
			||||||
 | 
					    height: 100px;
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    flex-direction: column;
 | 
				
			||||||
 | 
					    justify-content: center;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					    border-radius: 0px 0px 8px 8px;
 | 
				
			||||||
 | 
					    color: #0B58FF;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  .addDiv {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    justify-content: center;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  .normalCard {
 | 
				
			||||||
 | 
					    height: 100px;
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    justify-content: center;
 | 
				
			||||||
 | 
					    flex-direction: column;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					    border-radius: 0px 0px 8px 8px;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  .activeDelCard {
 | 
				
			||||||
 | 
					    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,27,27,0.19) 100%);
 | 
				
			||||||
 | 
					    height: 100px;
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    flex-direction: column;
 | 
				
			||||||
 | 
					    justify-content: center;
 | 
				
			||||||
 | 
					    align-items: center;
 | 
				
			||||||
 | 
					    border-radius: 0px 0px 8px 8px;
 | 
				
			||||||
 | 
					    color: #FF2323;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
</style>
 | 
					</style>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-04-17 14:23:17
 | 
					 * @Date: 2023-04-17 14:23:17
 | 
				
			||||||
 * @LastEditTime: 2023-07-14 15:56:32
 | 
					 * @LastEditTime: 2023-08-22 15:05:00
 | 
				
			||||||
 * @LastEditors: DY
 | 
					 * @LastEditors: DY
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -18,7 +18,7 @@
 | 
				
			|||||||
      <base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1"
 | 
					      <base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1"
 | 
				
			||||||
        @emitFun="inputChange"  :limit="listQuery.limit"
 | 
					        @emitFun="inputChange"  :limit="listQuery.limit"
 | 
				
			||||||
        :table-data="tableData" >
 | 
					        :table-data="tableData" >
 | 
				
			||||||
        <method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
 | 
					        <method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" :label="$t('public.operation')" :method-list="tableBtn"
 | 
				
			||||||
          @clickBtn="handleClick" />
 | 
					          @clickBtn="handleClick" />
 | 
				
			||||||
      </base-table>
 | 
					      </base-table>
 | 
				
			||||||
      <pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
 | 
					      <pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
 | 
				
			||||||
@@ -296,16 +296,19 @@ export default {
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    handleClick(val) {
 | 
					    handleClick(val) {
 | 
				
			||||||
      if (val.type === "delete") {
 | 
					      if (val.type === "delete") {
 | 
				
			||||||
        this.$confirm(`确定对[名称=${val.data.customerTypeName}]进行删除操作?`, "提示", {
 | 
					        this.$confirm(
 | 
				
			||||||
          confirmButtonText: "确定",
 | 
					          this.$t("prompt.delete", { object: val.data.customerTypeName }),
 | 
				
			||||||
          cancelButtonText: "取消",
 | 
					          this.$t("prompt.title"),
 | 
				
			||||||
          type: "warning",
 | 
					        {
 | 
				
			||||||
 | 
					          confirmButtonText: this.$t("confirm"),
 | 
				
			||||||
 | 
					          cancelButtonText: this.$t("cancel"),
 | 
				
			||||||
 | 
					          type: "warning"
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
          .then(() => {
 | 
					          .then(() => {
 | 
				
			||||||
            this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
 | 
					            this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
 | 
				
			||||||
              if (data && data.code === 0) {
 | 
					              if (data && data.code === 0) {
 | 
				
			||||||
                this.$message({
 | 
					                this.$message({
 | 
				
			||||||
                  message: "操作成功",
 | 
					                  message: this.$t("prompt.success"),
 | 
				
			||||||
                  type: "success",
 | 
					                  type: "success",
 | 
				
			||||||
                  duration: 1500,
 | 
					                  duration: 1500,
 | 
				
			||||||
                  onClose: () => {
 | 
					                  onClose: () => {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: Do not edit
 | 
					 * @Author: Do not edit
 | 
				
			||||||
 * @Date: 2023-06-20 11:16:51
 | 
					 * @Date: 2023-06-20 11:16:51
 | 
				
			||||||
 * @LastEditTime: 2023-07-04 09:53:30
 | 
					 * @LastEditTime: 2023-08-23 15:10:48
 | 
				
			||||||
 * @LastEditors: DY
 | 
					 * @LastEditors: DY
 | 
				
			||||||
 * @Description: 项目清单
 | 
					 * @Description: 项目清单
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -9,11 +9,11 @@
 | 
				
			|||||||
  <el-card shadow="never" class="aui-card--fill">
 | 
					  <el-card shadow="never" class="aui-card--fill">
 | 
				
			||||||
    <div>
 | 
					    <div>
 | 
				
			||||||
      <el-form :inline="true" :model="formInline" class="demo-form-inline">
 | 
					      <el-form :inline="true" :model="formInline" class="demo-form-inline">
 | 
				
			||||||
        <el-form-item label="标题">
 | 
					        <el-form-item :label="$t('supplier.title')">
 | 
				
			||||||
          <el-input v-model="formInline.title" placeholder="标题"></el-input>
 | 
					          <el-input v-model="formInline.title" :placeholder="$t('supplier.title')"></el-input>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item label="物料">
 | 
					        <el-form-item :label="$t('supplier.materiel')">
 | 
				
			||||||
          <el-select v-model="formInline.productId" filterable clearable placeholder="物料">
 | 
					          <el-select v-model="formInline.productId" filterable clearable :placeholder="$t('supplier.materiel')">
 | 
				
			||||||
            <el-option
 | 
					            <el-option
 | 
				
			||||||
              v-for="item in productList"
 | 
					              v-for="item in productList"
 | 
				
			||||||
              :key="item.id"
 | 
					              :key="item.id"
 | 
				
			||||||
@@ -22,8 +22,8 @@
 | 
				
			|||||||
            </el-option>
 | 
					            </el-option>
 | 
				
			||||||
          </el-select>
 | 
					          </el-select>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item label="供应商">
 | 
					        <el-form-item :label="$t('quality.supplierName')">
 | 
				
			||||||
          <el-select v-model="formInline.supplierId" filterable clearable placeholder="供应商">
 | 
					          <el-select v-model="formInline.supplierId" filterable clearable :placeholder="$t('quality.supplierName')">
 | 
				
			||||||
            <el-option
 | 
					            <el-option
 | 
				
			||||||
              v-for="item in supplierList"
 | 
					              v-for="item in supplierList"
 | 
				
			||||||
              :key="item.id"
 | 
					              :key="item.id"
 | 
				
			||||||
@@ -32,32 +32,47 @@
 | 
				
			|||||||
            </el-option>
 | 
					            </el-option>
 | 
				
			||||||
          </el-select>
 | 
					          </el-select>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item label="状态">
 | 
					        <el-form-item :label="$t('supplier.status')">
 | 
				
			||||||
          <el-radio-group v-model="formInline.status">
 | 
					          <el-radio-group v-model="formInline.status">
 | 
				
			||||||
            <el-radio-button :label="2">全部</el-radio-button>
 | 
					            <el-radio-button :label="2">{{ $t('all') }}</el-radio-button>
 | 
				
			||||||
            <el-radio-button :label="1">已完成</el-radio-button>
 | 
					            <el-radio-button :label="1">{{ $t('finished') }}</el-radio-button>
 | 
				
			||||||
            <el-radio-button :label="0">实施中</el-radio-button>
 | 
					            <el-radio-button :label="0">{{ $t('implementation') }}</el-radio-button>
 | 
				
			||||||
          </el-radio-group>
 | 
					          </el-radio-group>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item label="时间">
 | 
					        <el-form-item :label="$t('time')">
 | 
				
			||||||
          <el-date-picker
 | 
					          <el-date-picker
 | 
				
			||||||
            v-model="timeSlot"
 | 
					            v-model="timeSlot"
 | 
				
			||||||
            type="daterange"
 | 
					            type="daterange"
 | 
				
			||||||
            value-format="yyyy-MM-dd HH:mm:ss"
 | 
					            value-format="yyyy-MM-dd HH:mm:ss"
 | 
				
			||||||
            range-separator="至"
 | 
					            :range-separator="$t('gage.to')"
 | 
				
			||||||
            start-placeholder="开始日期"
 | 
					            :start-placeholder="$t('gage.startTime')"
 | 
				
			||||||
            end-placeholder="结束日期">
 | 
					            :end-placeholder="$t('gage.endTime')">
 | 
				
			||||||
          </el-date-picker>
 | 
					          </el-date-picker>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
        <el-form-item>
 | 
					        <el-form-item>
 | 
				
			||||||
          <el-button type="primary" @click="onSubmit">查询</el-button>
 | 
					          <el-button type="primary" @click="onSubmit">{{ $t('query') }}</el-button>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
      </el-form>
 | 
					      </el-form>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
 | 
					    <div class="content">
 | 
				
			||||||
 | 
					      <div class="projectCard" v-for="project in tableData" :key="project.id">
 | 
				
			||||||
 | 
					        <div>
 | 
				
			||||||
 | 
					          <p style="font-size: 18px; weight: 600">{{project.title}}</p>
 | 
				
			||||||
 | 
					          <p>{{project.supplierName}}</p>
 | 
				
			||||||
 | 
					          <p>{{project.createDate}}</p>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					        <div class="buttonDiv">
 | 
				
			||||||
 | 
					          <el-row :gutter="0">
 | 
				
			||||||
 | 
					            <el-col :span="12"><div class="bottom" @click="editProject(project)">{{ $t('edit') }}</div></el-col>
 | 
				
			||||||
 | 
					            <el-col :span="12"><div class="bottom" @click="deletePro(project)">{{ $t('delete') }}</div></el-col>
 | 
				
			||||||
 | 
					          </el-row>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					      </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
    <div>
 | 
					    <div>
 | 
				
			||||||
      <el-button class="carcleButton" @click="addButon">+</el-button>
 | 
					      <el-button class="carcleButton" @click="addButon">+</el-button>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
    <add-projects v-if="addtModelVisible" @refreshDataList="onSubmit"></add-projects>
 | 
					    <add-projects ref="addProjects" v-if="addtModelVisible" @refresh="refreashData"></add-projects>
 | 
				
			||||||
  </el-card>
 | 
					  </el-card>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -72,14 +87,15 @@ export default {
 | 
				
			|||||||
        addURL: '/supplier/qmsEvaluationPlan',
 | 
					        addURL: '/supplier/qmsEvaluationPlan',
 | 
				
			||||||
        getProductURL: '/basic/qmsProduct/page',
 | 
					        getProductURL: '/basic/qmsProduct/page',
 | 
				
			||||||
        getSupplierURL: '/supplier/qmsSupplier/page',
 | 
					        getSupplierURL: '/supplier/qmsSupplier/page',
 | 
				
			||||||
        getPageURL: '/supplier/qmsSupplierProjectList/page'
 | 
					        getPageURL: '/supplier/qmsSupplierProjectList/page',
 | 
				
			||||||
 | 
					        deleteURL: '/supplier/qmsSupplierProjectList'
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      formInline: {
 | 
					      formInline: {
 | 
				
			||||||
        limit: 999,
 | 
					        limit: 999,
 | 
				
			||||||
        page: 1,
 | 
					        page: 1,
 | 
				
			||||||
        title: '',
 | 
					        title: undefined,
 | 
				
			||||||
        productId: '',
 | 
					        productId: undefined,
 | 
				
			||||||
        supplierId: '',
 | 
					        supplierId: undefined,
 | 
				
			||||||
        ment: undefined,
 | 
					        ment: undefined,
 | 
				
			||||||
        status: 2,
 | 
					        status: 2,
 | 
				
			||||||
        startTime: undefined,
 | 
					        startTime: undefined,
 | 
				
			||||||
@@ -96,11 +112,49 @@ export default {
 | 
				
			|||||||
  mounted() {
 | 
					  mounted() {
 | 
				
			||||||
    this.getProductList();
 | 
					    this.getProductList();
 | 
				
			||||||
    this.getSupplier();
 | 
					    this.getSupplier();
 | 
				
			||||||
 | 
					    this.onSubmit()
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
 | 
					    deletePro(val) {
 | 
				
			||||||
 | 
					      this.$confirm(
 | 
				
			||||||
 | 
					        this.$t("prompt.delete", { object: val.title }),
 | 
				
			||||||
 | 
					        this.$t("prompt.title"),
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        confirmButtonText: this.$t("confirm"),
 | 
				
			||||||
 | 
					        cancelButtonText: this.$t("cancel"),
 | 
				
			||||||
 | 
					        type: "warning"
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					        .then(() => {
 | 
				
			||||||
 | 
					          this.$http.delete(this.urlOptions.deleteURL, { data: [val.id] }).then(({ data }) => {
 | 
				
			||||||
 | 
					            if (data && data.code === 0) {
 | 
				
			||||||
 | 
					              this.$message({
 | 
				
			||||||
 | 
					                message: this.$t("prompt.success"),
 | 
				
			||||||
 | 
					                type: "success",
 | 
				
			||||||
 | 
					                duration: 1500,
 | 
				
			||||||
 | 
					                onClose: () => {
 | 
				
			||||||
 | 
					                  this.onSubmit();
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					              });
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					              this.$message.error(data.msg);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          });
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					        .catch(() => { });
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    refreashData() {
 | 
				
			||||||
 | 
					      this.addtModelVisible = false
 | 
				
			||||||
 | 
					      this.onSubmit()
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    addButon() {
 | 
					    addButon() {
 | 
				
			||||||
      this.addtModelVisible = true
 | 
					      this.addtModelVisible = true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    editProject(item) {
 | 
				
			||||||
 | 
					      this.addtModelVisible = true
 | 
				
			||||||
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
 | 
					        this.$refs.addProjects.init(item);
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    onSubmit() {
 | 
					    onSubmit() {
 | 
				
			||||||
      this.formInline.ment = this.formInline.status === 2 ? undefined : this.formInline.status
 | 
					      this.formInline.ment = this.formInline.status === 2 ? undefined : this.formInline.status
 | 
				
			||||||
      if (this.timeSlot) {
 | 
					      if (this.timeSlot) {
 | 
				
			||||||
@@ -181,4 +235,31 @@ export default {
 | 
				
			|||||||
    margin: 5px;
 | 
					    margin: 5px;
 | 
				
			||||||
    background-color: rgb(196, 193, 193);
 | 
					    background-color: rgb(196, 193, 193);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					  .projectCard {
 | 
				
			||||||
 | 
					    width: 40%;
 | 
				
			||||||
 | 
					    height: 200px;
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					    border: 1px solid rgb(240,240,240);
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    flex-direction: column;
 | 
				
			||||||
 | 
					    justify-content: flex-end;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  .content {
 | 
				
			||||||
 | 
					    display: flex;
 | 
				
			||||||
 | 
					    justify-content: space-between;
 | 
				
			||||||
 | 
					    flex-wrap: wrap;
 | 
				
			||||||
 | 
					    padding: 0 10vw;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  .buttonDiv {
 | 
				
			||||||
 | 
					    position: relative;
 | 
				
			||||||
 | 
					    bottom: 0px;
 | 
				
			||||||
 | 
					    margin-top: 30px;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  .bottom {
 | 
				
			||||||
 | 
					    border: 1px solid rgb(240,240,240);
 | 
				
			||||||
 | 
					    text-align: center;
 | 
				
			||||||
 | 
					    height: 50px;
 | 
				
			||||||
 | 
					    line-height: 50px;
 | 
				
			||||||
 | 
					    vertical-align: middle;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
</style>
 | 
					</style>
 | 
				
			||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: Do not edit
 | 
					 * @Author: Do not edit
 | 
				
			||||||
 * @Date: 2023-06-20 11:16:51
 | 
					 * @Date: 2023-06-20 11:16:51
 | 
				
			||||||
 * @LastEditTime: 2023-06-27 14:46:10
 | 
					 * @LastEditTime: 2023-08-24 10:58:10
 | 
				
			||||||
 * @LastEditors: DY
 | 
					 * @LastEditors: DY
 | 
				
			||||||
 * @Description: 要求清单
 | 
					 * @Description: 要求清单
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -10,27 +10,30 @@
 | 
				
			|||||||
    <div style="padding: 20px 30px">
 | 
					    <div style="padding: 20px 30px">
 | 
				
			||||||
      <el-row :gutter="20">
 | 
					      <el-row :gutter="20">
 | 
				
			||||||
        <el-col :span="6">
 | 
					        <el-col :span="6">
 | 
				
			||||||
          <h2>要求分组</h2>
 | 
					          <h2>{{ $t('supplier.requiredGrouping') }}</h2>
 | 
				
			||||||
          <div v-for="(item, index) in groupList" :key="index">
 | 
					          <div v-for="(item, index) in groupList" :key="index">
 | 
				
			||||||
            <el-button style="width: 100px; text-align: left" @click="searchByGroup(item)">{{ item.name }}</el-button>
 | 
					            <div :class="item.actived ? 'activedDiv' : 'group'" @click="searchByGroup(item)">{{ item.name }}</div>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
        </el-col>
 | 
					        </el-col>
 | 
				
			||||||
        <el-col :span="18">
 | 
					        <el-col :span="18">
 | 
				
			||||||
          <el-form :inline="true" :model="formInline" class="demo-form-inline">
 | 
					          <el-form :inline="true" :model="formInline" class="demo-form-inline">
 | 
				
			||||||
            <el-form-item>
 | 
					            <el-form-item>
 | 
				
			||||||
              <el-input v-model="formInline.requirementName" placeholder="标题"></el-input>
 | 
					              <el-input v-model="formInline.requirementName" :placeholder="$t('supplier.title')"></el-input>
 | 
				
			||||||
            </el-form-item>
 | 
					            </el-form-item>
 | 
				
			||||||
            <el-form-item>
 | 
					            <el-form-item>
 | 
				
			||||||
              <el-button type="primary" @click="onSubmit">查询</el-button>
 | 
					              <el-button type="primary" @click="onSubmit">{{ $t('query') }}</el-button>
 | 
				
			||||||
            </el-form-item>
 | 
					            </el-form-item>
 | 
				
			||||||
          </el-form>
 | 
					          </el-form>
 | 
				
			||||||
        <div class="bigDiv">
 | 
					        <div class="bigDiv">
 | 
				
			||||||
          <div class="detailDiv" v-for="(item, index) in dataList" :key="index">
 | 
					          <div class="detailDiv" v-for="(item, index) in dataList" :key="index">
 | 
				
			||||||
            <p>{{ item.title }}</p>
 | 
					            <p>{{ item.title }}</p>
 | 
				
			||||||
            <el-row :gutter="20">
 | 
					            <el-row :gutter="20">
 | 
				
			||||||
              <el-col :span="4" :offset="20">
 | 
					              <el-col :span="4" :offset="16">
 | 
				
			||||||
                <i class="el-icon-delete" @click="deleteRequire(item.id, item.title)"></i>
 | 
					                <i class="el-icon-delete" @click="deleteRequire(item.id, item.title)"></i>
 | 
				
			||||||
              </el-col>
 | 
					              </el-col>
 | 
				
			||||||
 | 
					              <el-col :span="4">
 | 
				
			||||||
 | 
					                <i class="el-icon-edit" @click="editRequire(item)"></i>
 | 
				
			||||||
 | 
					              </el-col>
 | 
				
			||||||
            </el-row>
 | 
					            </el-row>
 | 
				
			||||||
          </div>
 | 
					          </div>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
@@ -42,14 +45,14 @@
 | 
				
			|||||||
      <div v-if="addtModelVisible" style="height: 400px; width: 40%; margin: 20px auto; border: 1px solid grey; padding: 20px">
 | 
					      <div v-if="addtModelVisible" style="height: 400px; width: 40%; margin: 20px auto; border: 1px solid grey; padding: 20px">
 | 
				
			||||||
        <h2>要求编辑</h2>
 | 
					        <h2>要求编辑</h2>
 | 
				
			||||||
        <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="80px" class="demo-ruleForm">
 | 
					        <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="80px" class="demo-ruleForm">
 | 
				
			||||||
            <el-form-item label="标题" prop="title">
 | 
					            <el-form-item :label="$t('supplier.title')" prop="title">
 | 
				
			||||||
              <el-input v-model="ruleForm.title"></el-input>
 | 
					              <el-input v-model="ruleForm.title"></el-input>
 | 
				
			||||||
            </el-form-item>
 | 
					            </el-form-item>
 | 
				
			||||||
            <el-form-item label="描述" prop="description">
 | 
					            <el-form-item :label="$t('gage.description')" prop="description">
 | 
				
			||||||
              <el-input type="textarea" v-model="ruleForm.description"></el-input>
 | 
					              <el-input type="textarea" v-model="ruleForm.description"></el-input>
 | 
				
			||||||
            </el-form-item>
 | 
					            </el-form-item>
 | 
				
			||||||
            <el-form-item label="所属分组" prop="requirementListGroupId">
 | 
					            <el-form-item :label="$t('researchquality.requirementListGroupId')" prop="requirementListGroupId">
 | 
				
			||||||
              <el-select v-model="ruleForm.requirementListGroupId" placeholder="请选择">
 | 
					              <el-select v-model="ruleForm.requirementListGroupId" :placeholder="$t('choose')">
 | 
				
			||||||
                <el-option
 | 
					                <el-option
 | 
				
			||||||
                  v-for="item in groupList"
 | 
					                  v-for="item in groupList"
 | 
				
			||||||
                  :key="item.id"
 | 
					                  :key="item.id"
 | 
				
			||||||
@@ -60,8 +63,8 @@
 | 
				
			|||||||
            </el-form-item>
 | 
					            </el-form-item>
 | 
				
			||||||
            <el-form-item>
 | 
					            <el-form-item>
 | 
				
			||||||
              <!-- <el-button type="primary" @click="submitForm('ruleForm')">保存</el-button> -->
 | 
					              <!-- <el-button type="primary" @click="submitForm('ruleForm')">保存</el-button> -->
 | 
				
			||||||
              <el-button @click="dialogVisible = false">取 消</el-button>
 | 
					              <el-button @click="dialogVisible = false">{{ $t('cancel') }}</el-button>
 | 
				
			||||||
              <el-button type="primary" @click="saveRequirement">保 存</el-button>
 | 
					              <el-button type="primary" @click="saveRequirement">{{ $t('save') }}</el-button>
 | 
				
			||||||
            </el-form-item>
 | 
					            </el-form-item>
 | 
				
			||||||
          </el-form>
 | 
					          </el-form>
 | 
				
			||||||
      </div>
 | 
					      </div>
 | 
				
			||||||
@@ -106,17 +109,24 @@ export default {
 | 
				
			|||||||
    this.getGroup()
 | 
					    this.getGroup()
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
 | 
					    editRequire(obj) {
 | 
				
			||||||
 | 
					      this.ruleForm = obj
 | 
				
			||||||
 | 
					      this.addtModelVisible = true
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    deleteRequire(id, name) {
 | 
					    deleteRequire(id, name) {
 | 
				
			||||||
      this.$confirm(`确定对[标题=${name}]进行删除操作?`, "提示", {
 | 
					      this.$confirm(
 | 
				
			||||||
        confirmButtonText: "确定",
 | 
					        this.$t("prompt.delete", { object: name }),
 | 
				
			||||||
        cancelButtonText: "取消",
 | 
					        this.$t("prompt.title"),
 | 
				
			||||||
        type: "warning",
 | 
					      {
 | 
				
			||||||
 | 
					        confirmButtonText: this.$t("confirm"),
 | 
				
			||||||
 | 
					        cancelButtonText: this.$t("cancel"),
 | 
				
			||||||
 | 
					        type: "warning"
 | 
				
			||||||
      })
 | 
					      })
 | 
				
			||||||
        .then(() => {
 | 
					        .then(() => {
 | 
				
			||||||
          this.$http.delete(this.urlOptions.deleteURL, { data: [id] }).then(({ data }) => {
 | 
					          this.$http.delete(this.urlOptions.deleteURL, { data: [id] }).then(({ data }) => {
 | 
				
			||||||
            if (data && data.code === 0) {
 | 
					            if (data && data.code === 0) {
 | 
				
			||||||
              this.$message({
 | 
					              this.$message({
 | 
				
			||||||
                message: "操作成功",
 | 
					                message: this.$t("prompt.success"),
 | 
				
			||||||
                type: "success",
 | 
					                type: "success",
 | 
				
			||||||
                duration: 1500,
 | 
					                duration: 1500,
 | 
				
			||||||
                onClose: () => {
 | 
					                onClose: () => {
 | 
				
			||||||
@@ -133,7 +143,7 @@ export default {
 | 
				
			|||||||
    saveRequirement() {
 | 
					    saveRequirement() {
 | 
				
			||||||
      this.$refs['ruleForm'].validate((valid) => {
 | 
					      this.$refs['ruleForm'].validate((valid) => {
 | 
				
			||||||
        if (valid) {
 | 
					        if (valid) {
 | 
				
			||||||
          this.$http["post"](this.urlOptions.addtURL, this.ruleForm)
 | 
					          this.$http[!this.ruleForm.id ? "post" : "put"](this.urlOptions.addtURL, this.ruleForm)
 | 
				
			||||||
          .then(({ data: res }) => {
 | 
					          .then(({ data: res }) => {
 | 
				
			||||||
            if (res.code !== 0) {
 | 
					            if (res.code !== 0) {
 | 
				
			||||||
              return this.$message.error(res.msg);
 | 
					              return this.$message.error(res.msg);
 | 
				
			||||||
@@ -157,8 +167,13 @@ export default {
 | 
				
			|||||||
      });
 | 
					      });
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    searchByGroup(group) {
 | 
					    searchByGroup(group) {
 | 
				
			||||||
      console.log('查询', group)
 | 
					      // this.formInline.groupId = group.id
 | 
				
			||||||
 | 
					      group.actived = !group.actived
 | 
				
			||||||
 | 
					      if (group.actived === true) {
 | 
				
			||||||
        this.formInline.groupId = group.id
 | 
					        this.formInline.groupId = group.id
 | 
				
			||||||
 | 
					      } else {
 | 
				
			||||||
 | 
					        this.formInline.groupId = undefined
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    getGroup() {
 | 
					    getGroup() {
 | 
				
			||||||
      this.$http
 | 
					      this.$http
 | 
				
			||||||
@@ -174,7 +189,10 @@ export default {
 | 
				
			|||||||
            this.groupList = [];
 | 
					            this.groupList = [];
 | 
				
			||||||
            return this.$message.error(res.msg);
 | 
					            return this.$message.error(res.msg);
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          this.groupList = res.data.list;
 | 
					          this.groupList = res.data.list.map(item => {
 | 
				
			||||||
 | 
					            item.actived = false
 | 
				
			||||||
 | 
					            return item
 | 
				
			||||||
 | 
					          });
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
        .catch(() => {
 | 
					        .catch(() => {
 | 
				
			||||||
          this.dataListLoading = false;
 | 
					          this.dataListLoading = false;
 | 
				
			||||||
@@ -191,7 +209,7 @@ export default {
 | 
				
			|||||||
    onSubmit() {
 | 
					    onSubmit() {
 | 
				
			||||||
      console.log('submit!');
 | 
					      console.log('submit!');
 | 
				
			||||||
      if (this.formInline.groupId === '') {
 | 
					      if (this.formInline.groupId === '') {
 | 
				
			||||||
        this.$message.error('请选择要求分组')
 | 
					        this.$message.error(this.$t("prompt.chooseGroup"))
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
        this.$http
 | 
					        this.$http
 | 
				
			||||||
          .get(this.urlOptions.getRequirementListURL, {
 | 
					          .get(this.urlOptions.getRequirementListURL, {
 | 
				
			||||||
@@ -236,4 +254,17 @@ export default {
 | 
				
			|||||||
    margin: 5px;
 | 
					    margin: 5px;
 | 
				
			||||||
    background-color: rgb(196, 193, 193);
 | 
					    background-color: rgb(196, 193, 193);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					  .group {
 | 
				
			||||||
 | 
					    border: 1px solid rgb(196, 193, 193);
 | 
				
			||||||
 | 
					    height: 50px;
 | 
				
			||||||
 | 
					    line-height: 50px;
 | 
				
			||||||
 | 
					    padding: 0 10px;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  .activedDiv {
 | 
				
			||||||
 | 
					    border: 1px solid rgb(196, 193, 193);
 | 
				
			||||||
 | 
					    height: 50px;
 | 
				
			||||||
 | 
					    line-height: 50px;
 | 
				
			||||||
 | 
					    padding: 0 10px;
 | 
				
			||||||
 | 
					    background-color: rgb(196, 193, 193);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
</style>
 | 
					</style>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +1,8 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zwq
 | 
					 * @Author: zwq
 | 
				
			||||||
 * @Date: 2023-01-04 10:29:40
 | 
					 * @Date: 2023-01-04 10:29:40
 | 
				
			||||||
 * @LastEditors: zwq
 | 
					 * @LastEditors: DY
 | 
				
			||||||
 * @LastEditTime: 2023-01-05 14:32:59
 | 
					 * @LastEditTime: 2023-08-01 15:14:29
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
 
 | 
				
			|||||||