@@ -2,7 +2,7 @@
 | 
				
			|||||||
 * @Author: zwq
 | 
					 * @Author: zwq
 | 
				
			||||||
 * @Date: 2022-08-22 14:57:50
 | 
					 * @Date: 2022-08-22 14:57:50
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @LastEditTime: 2023-07-17 10:36:32
 | 
					 * @LastEditTime: 2023-07-18 08:46:34
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<!DOCTYPE html>
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										46
									
								
								src/filters/quality/index.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										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]
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -303,6 +303,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 = '产品名称'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -363,7 +367,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'
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -584,7 +604,9 @@ t.laboratory.title = '主题'
 | 
				
			|||||||
t.laboratory.trainContent	= '培训内容'
 | 
					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 = {}
 | 
				
			||||||
@@ -725,7 +747,16 @@ 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 = '	版本'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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-07-14 13:44:46
 | 
					 * @Date: 2023-07-14 13:44:46
 | 
				
			||||||
 * @LastEditTime: 2023-07-17 15:51:39
 | 
					 * @LastEditTime: 2023-07-18 16:53:52
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -12,14 +12,16 @@
 | 
				
			|||||||
      <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()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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,29 +1,31 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @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: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<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="$t('add')" :append-to-body="true" :before-close="handleClose"
 | 
				
			||||||
      :visible.sync="innerDrawer">
 | 
					      :visible.sync="innerDrawer">
 | 
				
			||||||
      <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
					      <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
				
			||||||
        label-width="120px">
 | 
					        label-width="120px">
 | 
				
			||||||
        <el-form-item prop="requirementListId" :label="$t('customerquality.requirementListName')">
 | 
					        <el-form-item prop="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) => {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,45 +1,101 @@
 | 
				
			|||||||
    <!--
 | 
					    <!--
 | 
				
			||||||
 * @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-19 09:00:49
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
					  <el-dialog title="提示" :visible.sync="visible" width="50%" :before-close="handleClose">
 | 
				
			||||||
    label-width="120px">
 | 
					    <el-tabs @tab-click="handleClick" v-model="title" tab-position="left" style="margin-bottom: 30px;">
 | 
				
			||||||
    <el-form-item prop="code" :label="$t('customerquality.code')">
 | 
					      <el-tab-pane label="项目概述" name="first">
 | 
				
			||||||
      <el-input v-model="dataForm.code" :placeholder="$t('customerquality.code')"></el-input>
 | 
					        <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
				
			||||||
    </el-form-item>
 | 
					          label-width="120px">
 | 
				
			||||||
    <el-form-item prop="knowledgeBaseName" :label="$t('customerquality.knowledgeBaseName')">
 | 
					          <el-form-item prop="productId" :label="$t('basic.productName')">
 | 
				
			||||||
      <el-input v-model="dataForm.knowledgeBaseName" :placeholder="$t('customerquality.knowledgeBaseName')"></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('basic.status')">
 | 
					              </el-option>
 | 
				
			||||||
      <el-select v-model="dataForm.currentStage" :placeholder="$t('basic.status')">
 | 
					            </el-select>
 | 
				
			||||||
        <el-option v-for="item in currentStageList" :key="item.value" :label="item.label" :value="item.value">
 | 
					          </el-form-item>
 | 
				
			||||||
        </el-option>
 | 
					          <el-form-item prop="knowledgeBaseId" :label="$t('customerquality.knowledgeBase')">
 | 
				
			||||||
      </el-select>
 | 
					            <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="serialNumber" :label="$t('customerquality.serialNumber')">
 | 
					                :value="item.id">
 | 
				
			||||||
      <el-input v-model="dataForm.serialNumber" :placeholder="$t('customerquality.serialNumber')"></el-input>
 | 
					              </el-option>
 | 
				
			||||||
    </el-form-item>
 | 
					            </el-select>
 | 
				
			||||||
    <el-form-item prop="description" :label="$t('customerquality.description')">
 | 
					          </el-form-item>
 | 
				
			||||||
      <el-input v-model="dataForm.description" :placeholder="$t('customerquality.description')"></el-input>
 | 
					          <el-form-item prop="customerId" :label="$t('customerquality.customerName')">
 | 
				
			||||||
    </el-form-item>
 | 
					            <el-select v-model="dataForm.customerId" :placeholder="$t('customerquality.customerName')" clearable>
 | 
				
			||||||
    <el-form-item prop="questionType" :label="$t('customerquality.questionType')">
 | 
					              <el-option v-for="item in customerList" :key="item.id" :label="item.customerName" :value="item.id">
 | 
				
			||||||
      <el-select v-model="dataForm.questionType" :placeholder="$t('customerquality.questionType')">
 | 
					              </el-option>
 | 
				
			||||||
        <el-option v-for="item in questionTypeList" :key="item.value" :label="item.label" :value="item.value">
 | 
					            </el-select>
 | 
				
			||||||
        </el-option>
 | 
					          </el-form-item>
 | 
				
			||||||
      </el-select>
 | 
					          <el-form-item prop="qualityAcceptanceDate" :label="$t('customerquality.qualityAcceptanceDate')">
 | 
				
			||||||
    </el-form-item> -->
 | 
					            <el-date-picker clearable v-model="dataForm.qualityAcceptanceDate" type="datetime"
 | 
				
			||||||
    <el-form-item prop="category" :label="$t('customerquality.category')">
 | 
					              :placeholder="$t('customerquality.qualityAcceptanceDate')">
 | 
				
			||||||
      <el-select v-model="dataForm.category" :placeholder="$t('customerquality.category')">
 | 
					            </el-date-picker>
 | 
				
			||||||
        <el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName"
 | 
					          </el-form-item>
 | 
				
			||||||
          :value="item.id">
 | 
					          <el-form-item prop="deliveryRequiredDate" :label="$t('customerquality.deliveryRequiredDate')">
 | 
				
			||||||
        </el-option>
 | 
					            <el-date-picker clearable v-model="dataForm.deliveryRequiredDate" type="datetime"
 | 
				
			||||||
      </el-select>
 | 
					              :placeholder="$t('customerquality.deliveryRequiredDate')">
 | 
				
			||||||
    </el-form-item>
 | 
					            </el-date-picker>
 | 
				
			||||||
  </el-form>
 | 
					          </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="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="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="description" :label="$t('customerquality.description')">
 | 
				
			||||||
 | 
					            <el-input clearable v-model="dataForm.description" :placeholder="$t('customerquality.description')">
 | 
				
			||||||
 | 
					            </el-input>
 | 
				
			||||||
 | 
					          </el-form-item>
 | 
				
			||||||
 | 
					        </el-form>
 | 
				
			||||||
 | 
					        <span style="float: right;" class="dialog-footer">
 | 
				
			||||||
 | 
					          <el-button @click="visible = false">{{ $t('cancel') }}</el-button>
 | 
				
			||||||
 | 
					          <el-button type="primary" @click="dataFormSubmit()"> {{ $t('save') }} </el-button>
 | 
				
			||||||
 | 
					        </span>
 | 
				
			||||||
 | 
					      </el-tab-pane>
 | 
				
			||||||
 | 
					      <el-tab-pane :disabled="tabDisable" label="要求清单" name="second">
 | 
				
			||||||
 | 
					        <el-tree :data="treeData" show-checkbox @check="handleCheckChange" node-key="id">
 | 
				
			||||||
 | 
					        </el-tree>
 | 
				
			||||||
 | 
					      </el-tab-pane>
 | 
				
			||||||
 | 
					      <el-tab-pane :disabled="tabDisable" label="封面生成" name="three">
 | 
				
			||||||
 | 
					        33333
 | 
				
			||||||
 | 
					      </el-tab-pane>
 | 
				
			||||||
 | 
					      <el-tab-pane :disabled="tabDisable" label="提交" name="four">
 | 
				
			||||||
 | 
					        4444
 | 
				
			||||||
 | 
					      </el-tab-pane>
 | 
				
			||||||
 | 
					    </el-tabs>
 | 
				
			||||||
 | 
					  </el-dialog>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<script>
 | 
					<script>
 | 
				
			||||||
@@ -52,8 +108,38 @@ export default {
 | 
				
			|||||||
      urlOptions: {
 | 
					      urlOptions: {
 | 
				
			||||||
        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'
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
 | 
					      customerQualityProjectListId:null,
 | 
				
			||||||
 | 
					      productList: [],
 | 
				
			||||||
 | 
					      title:'first',
 | 
				
			||||||
 | 
					      customerList: [],
 | 
				
			||||||
 | 
					      ppapGradeList:[],
 | 
				
			||||||
 | 
					      knowledgeBaseList: [],
 | 
				
			||||||
 | 
					      firstList: [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          id: '0',
 | 
				
			||||||
 | 
					          name:'否',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          id: '1',
 | 
				
			||||||
 | 
					          name: '是',
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      confidentialityAgreementList: [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          id: '0',
 | 
				
			||||||
 | 
					          name: '否',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          id: '1',
 | 
				
			||||||
 | 
					          name: '是',
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
      categoryList:[],
 | 
					      categoryList:[],
 | 
				
			||||||
      typeList:[],
 | 
					      typeList:[],
 | 
				
			||||||
      visible: false,
 | 
					      visible: false,
 | 
				
			||||||
@@ -61,25 +147,68 @@ export default {
 | 
				
			|||||||
        limit: 999,
 | 
					        limit: 999,
 | 
				
			||||||
        page:1
 | 
					        page:1
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
 | 
					      treeData: [{
 | 
				
			||||||
 | 
					        label: '必选项目',
 | 
				
			||||||
 | 
					        // id:1,
 | 
				
			||||||
 | 
					        children: []
 | 
				
			||||||
 | 
					      }],
 | 
				
			||||||
 | 
					      tabDisable:true,
 | 
				
			||||||
      dataForm: {
 | 
					      dataForm: {
 | 
				
			||||||
        id: "",
 | 
					        confidentialityAgreement:null,
 | 
				
			||||||
        code: null,
 | 
					        confirmDeliveryDate: null,
 | 
				
			||||||
        category: null,
 | 
					        customerId: null,
 | 
				
			||||||
        knowledgeBaseName:null
 | 
					        deliveryRequiredDate: null,
 | 
				
			||||||
 | 
					        description: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,8 +220,15 @@ export default {
 | 
				
			|||||||
  },
 | 
					  },
 | 
				
			||||||
  mounted () {
 | 
					  mounted () {
 | 
				
			||||||
    this.getDict()
 | 
					    this.getDict()
 | 
				
			||||||
 | 
					    this.getSecondData()
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
 | 
					    handleClick(val) {
 | 
				
			||||||
 | 
					      if (this.customerQualityProjectListId === null) {
 | 
				
			||||||
 | 
					        this.title = 'first'
 | 
				
			||||||
 | 
					        console.log(this.title)
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    init(id) {
 | 
					    init(id) {
 | 
				
			||||||
      this.dataForm.id = id || ""
 | 
					      this.dataForm.id = id || ""
 | 
				
			||||||
      // this.dataForm.dictTypeId = dictTypeId || "";
 | 
					      // this.dataForm.dictTypeId = dictTypeId || "";
 | 
				
			||||||
@@ -100,13 +236,16 @@ export default {
 | 
				
			|||||||
      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 {
 | 
				
			||||||
          // this.getCode()
 | 
					          // this.getCode()
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    // 获取信息
 | 
					    // 获取信息
 | 
				
			||||||
 | 
					    handleClose() {
 | 
				
			||||||
 | 
					      this.$refs["dataForm"].resetFields()
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    getInfo() {
 | 
					    getInfo() {
 | 
				
			||||||
      this.$http
 | 
					      this.$http
 | 
				
			||||||
        .get(`/customerquality/qmsCustomerQualityProjectList/${this.dataForm.id}`)
 | 
					        .get(`/customerquality/qmsCustomerQualityProjectList/${this.dataForm.id}`)
 | 
				
			||||||
@@ -117,25 +256,118 @@ export default {
 | 
				
			|||||||
          this.dataForm = {
 | 
					          this.dataForm = {
 | 
				
			||||||
            ...this.dataForm,
 | 
					            ...this.dataForm,
 | 
				
			||||||
            ...res.data,
 | 
					            ...res.data,
 | 
				
			||||||
          };
 | 
					          }
 | 
				
			||||||
 | 
					          this.customerQualityProjectListId = res.data.id
 | 
				
			||||||
 | 
					          this.tabDisable = false
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
        .catch(() => {});
 | 
					        .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[0].children = res.data.list.map((item) => {
 | 
				
			||||||
 | 
					              return {
 | 
				
			||||||
 | 
					                label: item.requirementListName,
 | 
				
			||||||
 | 
					                id:item.id
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            })
 | 
				
			||||||
 | 
					            console.log(this.treeData);
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    getDict() {
 | 
					    getDict() {
 | 
				
			||||||
      this.$http
 | 
					      this.$http
 | 
				
			||||||
        .get(this.urlOptions.getDictDataDetail, {
 | 
					        .get(this.urlOptions.getDictDataDetail, {
 | 
				
			||||||
          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
 | 
				
			||||||
 | 
					      console.log(v)
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    // handleNodeClick(data) {
 | 
				
			||||||
 | 
					    //   console.log(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.title = 'second'
 | 
				
			||||||
 | 
					                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-18 16:54:41
 | 
				
			||||||
 * @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="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-form-item prop="knowledgeBaseName" :label="$t('basic.status')">
 | 
				
			||||||
      <el-select v-model="dataForm.currentStage" :placeholder="$t('basic.status')">
 | 
					      <el-select v-model="dataForm.currentStage" :placeholder="$t('basic.status')">
 | 
				
			||||||
@@ -33,9 +34,8 @@
 | 
				
			|||||||
      </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"
 | 
					        <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>
 | 
				
			||||||
@@ -131,7 +131,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,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>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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-18 14:37:28
 | 
				
			||||||
 * @LastEditors: zhp
 | 
					 * @LastEditors: zhp
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -21,13 +21,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"
 | 
					      <customerQualityProjectList-add v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="successSubmit">
 | 
				
			||||||
        @confirm="handleConfirm" :before-close="handleCancel">
 | 
					      </customerQualityProjectList-add>
 | 
				
			||||||
        <qmsKnowledgeBase-add ref="addOrUpdate" @refreshDataList="successSubmit">
 | 
					      <!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
 | 
				
			||||||
        </qmsKnowledgeBase-add>
 | 
					      <!-- </base-dialog> -->
 | 
				
			||||||
        <!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
 | 
					      <!-- <baseConfig ref="baseConfigOrList" v-if="baseConfigShow"></baseConfig> -->
 | 
				
			||||||
      </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">
 | 
				
			||||||
@@ -54,9 +52,9 @@
 | 
				
			|||||||
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 i18n from "@/i18n"
 | 
					import i18n from "@/i18n"
 | 
				
			||||||
@@ -193,8 +191,8 @@ export default {
 | 
				
			|||||||
    };
 | 
					    };
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  components: {
 | 
					  components: {
 | 
				
			||||||
    qmsKnowledgeBaseAdd,
 | 
					    customerQualityProjectListAdd,
 | 
				
			||||||
    baseConfig
 | 
					    // baseConfig
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    //search-bar点击
 | 
					    //search-bar点击
 | 
				
			||||||
@@ -294,11 +292,6 @@ 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
 | 
					 | 
				
			||||||
        this.$nextTick(() => {
 | 
					 | 
				
			||||||
          this.$refs.baseConfigOrList.init(val.data.id)
 | 
					 | 
				
			||||||
        });
 | 
					 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    // addOrUpdateHandle(productData) {
 | 
					    // addOrUpdateHandle(productData) {
 | 
				
			||||||
@@ -320,9 +313,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: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -24,9 +24,11 @@
 | 
				
			|||||||
      <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">
 | 
				
			||||||
        <customerQualityRequirementList-add ref="addOrUpdate" @refreshDataList="successSubmit">
 | 
					        <customerQualityRequirementList-add ref="addOrUpdate" @refreshDataList="successSubmit">
 | 
				
			||||||
          </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,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
									
								
							
							
						
						
									
										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>
 | 
				
			||||||
							
								
								
									
										351
									
								
								src/views/modules/quality/components/character-show.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										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
									
								
							
							
						
						
									
										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
									
								
							
							
						
						
									
										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
									
								
							
							
						
						
									
										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",
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ],
 | 
					      ],
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user