修改bug
This commit is contained in:
		@@ -2,7 +2,7 @@
 | 
			
		||||
 * @Author: zwq
 | 
			
		||||
 * @Date: 2022-08-22 14:57:50
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @LastEditTime: 2023-07-17 10:36:32
 | 
			
		||||
 * @LastEditTime: 2023-07-18 08:46:34
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<!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.userName = '用户名'
 | 
			
		||||
t.basic.departName = '部门名'
 | 
			
		||||
t.basic.productCode = '产品编码'
 | 
			
		||||
t.basic.productName = '产品名称'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -363,7 +367,23 @@ t.quality.sampleRangeHigh = '取样范围高'
 | 
			
		||||
t.quality.inspectionLevel = '检验水平'
 | 
			
		||||
t.quality.sampleSizeCode = '样本量字码'
 | 
			
		||||
t.quality.sampleSize = '样本量'
 | 
			
		||||
 | 
			
		||||
t.quality.inspectionPlan = '是否有检验计划'
 | 
			
		||||
t.quality.analyzeDrawings = '分析图形'
 | 
			
		||||
t.quality.characteristicsType = '特性类型'
 | 
			
		||||
t.quality.company = '单位'
 | 
			
		||||
t.quality.decimalDigits = '小数位数'
 | 
			
		||||
t.quality.measuringToolsType = '量具类型'
 | 
			
		||||
t.quality.monitor = '是否监控'
 | 
			
		||||
t.quality.parameterName = '参数名称'
 | 
			
		||||
t.quality.parameterCode = '	参数编码'
 | 
			
		||||
t.quality.sampleSize = '样本大小'
 | 
			
		||||
t.quality.source = '来源'
 | 
			
		||||
t.quality.specificationCenterline = 'SL'
 | 
			
		||||
t.quality.specificationOffline = 'LSL'
 | 
			
		||||
t.quality.specifications = '规格'
 | 
			
		||||
t.quality.targetCpk = '目标CPK'
 | 
			
		||||
t.quality.targetPpk = '目标PPK'
 | 
			
		||||
t.quality.upperSpecificationLimit = 'USL'
 | 
			
		||||
	
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
@@ -585,6 +605,8 @@ t.laboratory.trainContent	= '培训内容'
 | 
			
		||||
t.laboratory.trainDate	= '培训日期'
 | 
			
		||||
t.laboratory.trainDuration = '培训时长'
 | 
			
		||||
t.laboratory.trainType = '培训类型'
 | 
			
		||||
t.laboratory.timeSlot	= '时间段'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
t.code = {}
 | 
			
		||||
@@ -725,6 +747,15 @@ t.customerquality.confirmDeliveryDate = '确认交付日期'
 | 
			
		||||
t.customerquality.deliveryRequiredDate = '要求交付日期'
 | 
			
		||||
t.customerquality.status = '状态'
 | 
			
		||||
t.customerquality.file = '清单文件'
 | 
			
		||||
t.customerquality.previousVersionCode = '上一版本号'
 | 
			
		||||
t.customerquality.first = '首次'
 | 
			
		||||
t.customerquality.confidentialityAgreement = '保密协议'
 | 
			
		||||
t.customerquality.ppapGrade = '	ppap等级'
 | 
			
		||||
t.customerquality.version = '	版本'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	
 | 
			
		||||
	
 | 
			
		||||
 
 | 
			
		||||
@@ -1,20 +1,21 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-12 13:49:47
 | 
			
		||||
 * @LastEditTime: 2023-07-18 16:55:42
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()" label-width="120px">
 | 
			
		||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
    label-width="120px">
 | 
			
		||||
    <el-form-item prop="controlCode" :label="$t('basic.code')">
 | 
			
		||||
      <el-input v-model="dataForm.controlCode" :placeholder="$t('basic.code')"></el-input>
 | 
			
		||||
      <el-input clearable v-model="dataForm.controlCode" :placeholder="$t('basic.code')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="controlName" :label="$t('basic.name')">
 | 
			
		||||
      <el-input v-model="dataForm.controlName" :placeholder="$t('basic.name')"></el-input>
 | 
			
		||||
      <el-input clearable v-model="dataForm.controlName" :placeholder="$t('basic.name')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="specifications" :label="$t('basic.specification')">
 | 
			
		||||
      <el-input v-model="dataForm.specifications" :placeholder="$t('basic.specification')"></el-input>
 | 
			
		||||
      <el-input clearable v-model="dataForm.specifications" :placeholder="$t('basic.specification')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="incomingInspection" :label="$t('basic.stock')">
 | 
			
		||||
      <el-switch v-model="dataForm.incomingInspection" :active-value="1" :inactive-value="0">
 | 
			
		||||
@@ -33,13 +34,13 @@
 | 
			
		||||
      </el-switch>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="controlStatus" :label="$t('basic.status')">
 | 
			
		||||
      <el-select v-model="dataForm.controlStatus" :placeholder="$t('basic.status')">
 | 
			
		||||
      <el-select clearable v-model="dataForm.controlStatus" :placeholder="$t('basic.status')">
 | 
			
		||||
        <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="remark" :label="$t('basic.remark')">
 | 
			
		||||
      <el-input v-model="dataForm.remark" :placeholder="$t('basic.remark')"></el-input>
 | 
			
		||||
      <el-input clearable v-model="dataForm.remark" :placeholder="$t('basic.remark')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
  </el-form>
 | 
			
		||||
</template>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,26 +1,27 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-12 13:57:14
 | 
			
		||||
 * @LastEditTime: 2023-07-18 16:55:57
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()" label-width="120px">
 | 
			
		||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
    label-width="120px">
 | 
			
		||||
    <el-form-item prop="customerCode" :label="$t('basic.code')">
 | 
			
		||||
      <el-input v-model="dataForm.customerCode" :placeholder="$t('basic.code')"></el-input>
 | 
			
		||||
      <el-input clearable v-model="dataForm.customerCode" :placeholder="$t('basic.code')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="customerName" :label="$t('basic.name')">
 | 
			
		||||
      <el-input v-model="dataForm.customerName" :placeholder="$t('basic.name')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="customerTypeId" :label="$t('basic.customerTypeName')">
 | 
			
		||||
      <el-select v-model="dataForm.customerTypeId" :placeholder="$t('basic.customerTypeName')">
 | 
			
		||||
      <el-select clearable v-model="dataForm.customerTypeId" :placeholder="$t('basic.customerTypeName')">
 | 
			
		||||
        <el-option v-for="item in customerTypeList" :key="item.id" :label="item.customerTypeName" :value="item.id">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="customerTypeStatus" :label="$t('basic.status')">
 | 
			
		||||
      <el-select v-model="dataForm.customerTypeStatus" :placeholder="$t('basic.status')">
 | 
			
		||||
      <el-select clearable v-model="dataForm.customerTypeStatus" :placeholder="$t('basic.status')">
 | 
			
		||||
        <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-12 13:55:20
 | 
			
		||||
 * @LastEditTime: 2023-07-18 16:56:08
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -9,13 +9,13 @@
 | 
			
		||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
    label-width="120px">
 | 
			
		||||
    <el-form-item prop="customerTypeCode" :label="$t('basic.code')">
 | 
			
		||||
      <el-input v-model="dataForm.customerTypeCode" :placeholder="$t('basic.code')"></el-input>
 | 
			
		||||
      <el-input clearable v-model="dataForm.customerTypeCode" :placeholder="$t('basic.code')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="customerTypeName" :label="$t('basic.name')">
 | 
			
		||||
      <el-input v-model="dataForm.customerTypeName" :placeholder="$t('basic.name')"></el-input>
 | 
			
		||||
      <el-input clearable v-model="dataForm.customerTypeName" :placeholder="$t('basic.name')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="customerTypeStatus" :label="$t('basic.status')">
 | 
			
		||||
      <el-select v-model="dataForm.customerTypeStatus" :placeholder="$t('basic.status')">
 | 
			
		||||
      <el-select clearable v-model="dataForm.customerTypeStatus" :placeholder="$t('basic.status')">
 | 
			
		||||
        <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-12 13:52:25
 | 
			
		||||
 * @LastEditTime: 2023-07-18 16:56:16
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -9,13 +9,13 @@
 | 
			
		||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
    label-width="120px">
 | 
			
		||||
    <el-form-item prop="failureTypeCode" :label="$t('basic.code')">
 | 
			
		||||
      <el-input v-model="dataForm.failureTypeCode" :placeholder="$t('basic.code')"></el-input>
 | 
			
		||||
      <el-input clearable v-model="dataForm.failureTypeCode" :placeholder="$t('basic.code')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="failureTypeName" :label="$t('basic.name')">
 | 
			
		||||
      <el-input v-model="dataForm.failureTypeName" :placeholder="$t('basic.name')"></el-input>
 | 
			
		||||
      <el-input clearable v-model="dataForm.failureTypeName" :placeholder="$t('basic.name')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="failureTypeStatus" :label="$t('basic.status')">
 | 
			
		||||
      <el-select v-model="dataForm.failureTypeStatus" :placeholder="$t('basic.status')">
 | 
			
		||||
      <el-select clearable v-model="dataForm.failureTypeStatus" :placeholder="$t('basic.status')">
 | 
			
		||||
        <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
 
 | 
			
		||||
@@ -121,13 +121,6 @@ export default {
 | 
			
		||||
          param: 'name',
 | 
			
		||||
          clearable:true
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain:true
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
@@ -135,6 +128,13 @@ export default {
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain:true
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "关联产品列表",
 | 
			
		||||
 
 | 
			
		||||
@@ -147,17 +147,17 @@ export default {
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -128,17 +128,17 @@ export default {
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-07-11 10:07:22
 | 
			
		||||
 * @LastEditTime: 2023-07-18 10:19:11
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -128,17 +128,17 @@ export default {
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
 
 | 
			
		||||
@@ -120,17 +120,17 @@ export default {
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-21 14:30:17
 | 
			
		||||
 * @LastEditTime: 2023-07-11 10:24:01
 | 
			
		||||
 * @LastEditTime: 2023-07-18 10:19:37
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -135,17 +135,17 @@ export default {
 | 
			
		||||
        // },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-21 14:30:17
 | 
			
		||||
 * @LastEditTime: 2023-07-11 10:16:26
 | 
			
		||||
 * @LastEditTime: 2023-07-18 10:19:49
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -151,17 +151,17 @@ export default {
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,109 +0,0 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-06-26 13:39:19
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <el-card shadow="never" class="aui-card--fill">
 | 
			
		||||
    <div class="mod-sys__user">
 | 
			
		||||
      <SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
 | 
			
		||||
        <!-- <el-button type="primary" size="small" plain>导入</el-button> -->
 | 
			
		||||
      </SearchBar>
 | 
			
		||||
      <base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
 | 
			
		||||
        <method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
 | 
			
		||||
          @clickBtn="handleClick" />
 | 
			
		||||
      </base-table>
 | 
			
		||||
      <pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
 | 
			
		||||
        @pagination="getDataList" />
 | 
			
		||||
      <!-- 弹窗, 新增 / 修改 -->
 | 
			
		||||
      <base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
 | 
			
		||||
        @confirm="handleConfirm" :before-close="handleCancel">
 | 
			
		||||
        <teamMember-add ref="addOrUpdate" @successSubmit="successSubmit"></teamMember-add>
 | 
			
		||||
      </base-dialog>
 | 
			
		||||
    </div>
 | 
			
		||||
  </el-card>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import basicPage from "@/mixins/basic-page";
 | 
			
		||||
import teamMemberAdd from './components/teamMember-add'
 | 
			
		||||
import i18n from "@/i18n";
 | 
			
		||||
const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: "paramCode",
 | 
			
		||||
    label: i18n.t("params.paramCode"),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "paramValue",
 | 
			
		||||
    label: i18n.t("params.paramValue"),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "remark",
 | 
			
		||||
    label: i18n.t("params.remark"),
 | 
			
		||||
  },
 | 
			
		||||
];
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
    type: "edit",
 | 
			
		||||
    btnName: "编辑",
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    type: "delete",
 | 
			
		||||
    btnName: "删除",
 | 
			
		||||
  },
 | 
			
		||||
];
 | 
			
		||||
export default {
 | 
			
		||||
  mixins: [basicPage],
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      urlOptions: {
 | 
			
		||||
        getDataListURL: "/basic/qmsTeamMember/page",
 | 
			
		||||
        deleteURL: "/basic/qmsControlMode",
 | 
			
		||||
      },
 | 
			
		||||
      tableProps,
 | 
			
		||||
      tableBtn,
 | 
			
		||||
      formConfig: [
 | 
			
		||||
        // {
 | 
			
		||||
        //   type: "",
 | 
			
		||||
        //   label: i18n.t("params.paramCode"),
 | 
			
		||||
        //   placeholder: i18n.t("params.paramCode"),
 | 
			
		||||
        //   param: "paramCode",
 | 
			
		||||
        // },
 | 
			
		||||
        // {
 | 
			
		||||
        //   type: "separate",
 | 
			
		||||
        // },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
        },
 | 
			
		||||
      ],
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
  components: {
 | 
			
		||||
    teamMemberAdd,
 | 
			
		||||
  },
 | 
			
		||||
  methods:{
 | 
			
		||||
    //search-bar点击
 | 
			
		||||
    buttonClick(val) {
 | 
			
		||||
      switch (val.btnName) {
 | 
			
		||||
        case "search":
 | 
			
		||||
          // this.listQuery.paramCode = val.paramCode;
 | 
			
		||||
          this.listQuery.page = 1;
 | 
			
		||||
          this.getDataList();
 | 
			
		||||
          break;
 | 
			
		||||
        case "add":
 | 
			
		||||
          this.addOrEditTitle = '新增'
 | 
			
		||||
          this.addOrUpdateVisible = true;   
 | 
			
		||||
          this.addOrUpdateHandle()
 | 
			
		||||
          break;
 | 
			
		||||
        default:
 | 
			
		||||
          console.log(val)
 | 
			
		||||
       }
 | 
			
		||||
    },
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-07-14 13:44:46
 | 
			
		||||
 * @LastEditTime: 2023-07-17 15:51:39
 | 
			
		||||
 * @LastEditTime: 2023-07-18 16:53:52
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -12,14 +12,16 @@
 | 
			
		||||
      <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
        label-width="120px">
 | 
			
		||||
        <el-form-item prop="requirementListId" :label="$t('customerquality.requirementListName')">
 | 
			
		||||
          <el-select 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"
 | 
			
		||||
              :value="item.id">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <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"
 | 
			
		||||
              :value="item.id">
 | 
			
		||||
            </el-option>
 | 
			
		||||
@@ -84,8 +86,10 @@ export default {
 | 
			
		||||
    this.getDict()
 | 
			
		||||
  },
 | 
			
		||||
    methods: {
 | 
			
		||||
      init(id) {
 | 
			
		||||
        this.dataForm.id = id || ''
 | 
			
		||||
      init(obj) {
 | 
			
		||||
        this.dataForm.knowledgeBaseId = obj.knowledgeBaseId || ''
 | 
			
		||||
        this.dataForm.requirementListId = obj.requirementListId || ''
 | 
			
		||||
        this.dataForm.id = obj.id || ''
 | 
			
		||||
        this.innerDrawer = true
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.$refs["dataForm"].resetFields()
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-07-14 13:44:46
 | 
			
		||||
 * @LastEditTime: 2023-07-17 15:59:27
 | 
			
		||||
 * @LastEditTime: 2023-07-18 14:25:05
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -106,8 +106,10 @@ export default {
 | 
			
		||||
      }
 | 
			
		||||
  },
 | 
			
		||||
    methods: {
 | 
			
		||||
      init(id) {
 | 
			
		||||
        this.listQuery.knowledgeBaseId = id || ""
 | 
			
		||||
      init(obj) {
 | 
			
		||||
        this.listQuery.knowledgeBaseId = obj.knowledgeBaseId || ""
 | 
			
		||||
        this.listQuery.requirementListId = obj.requirementListId || ""
 | 
			
		||||
 | 
			
		||||
        // this.dataForm.dictTypeId = dictTypeId || "";
 | 
			
		||||
        this.drawer = true
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
@@ -135,8 +137,12 @@ export default {
 | 
			
		||||
            // this.addOrEditTitle = '新增'
 | 
			
		||||
            // this.addOrUpdateVisible = true;
 | 
			
		||||
            this.baseConfigAddShow = true
 | 
			
		||||
            const obj = {
 | 
			
		||||
              knowledgeBaseId:   this.listQuery.knowledgeBaseId,
 | 
			
		||||
              requirementListId: this.listQuery.requirementListId 
 | 
			
		||||
            }
 | 
			
		||||
            this.$nextTick(() => {
 | 
			
		||||
              this.$refs.baseConfigAddList.init()
 | 
			
		||||
              this.$refs.baseConfigAddList.init(obj)
 | 
			
		||||
            })
 | 
			
		||||
            // this.addOrUpdateHandle()
 | 
			
		||||
            break;
 | 
			
		||||
@@ -189,8 +195,13 @@ export default {
 | 
			
		||||
            .catch(() => { });
 | 
			
		||||
        } else if (val.type === 'edit') {
 | 
			
		||||
          this.baseConfigAddShow = true
 | 
			
		||||
          const obj = {
 | 
			
		||||
            knowledgeBaseId: this.listQuery.knowledgeBaseId,
 | 
			
		||||
            requirementListId: this.listQuery.requirementListId,
 | 
			
		||||
            id:val.data.id
 | 
			
		||||
          }
 | 
			
		||||
          this.$nextTick(() => {
 | 
			
		||||
            this.$refs.baseConfigAddList.init(val.data.id)
 | 
			
		||||
            this.$refs.baseConfigAddList.init(obj)
 | 
			
		||||
          })
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-07-14 13:44:46
 | 
			
		||||
 * @LastEditTime: 2023-07-17 16:55:03
 | 
			
		||||
 * @LastEditTime: 2023-07-18 16:53:36
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -11,19 +11,21 @@
 | 
			
		||||
      :visible.sync="innerDrawer">
 | 
			
		||||
      <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
        label-width="120px">
 | 
			
		||||
        <el-form-item prop="requirementListId" :label="$t('customerquality.requirementListName')">
 | 
			
		||||
          <el-select v-model="dataForm.requirementListId" :placeholder="$t('customerquality.requirementListName')">
 | 
			
		||||
            <el-option v-for="item in requirementList" :key="item.id" :label="item.requirementListName"
 | 
			
		||||
        <el-form-item prop="knowledgeBaseFileId" :label="$t('customerquality.knowledgeBaseFileId')">
 | 
			
		||||
          <el-select clearable v-model="dataForm.knowledgeBaseFileId"
 | 
			
		||||
            :placeholder="$t('customerquality.knowledgeBaseFileId')">
 | 
			
		||||
            <el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName"
 | 
			
		||||
              :value="item.id">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item prop="knowledgeBaseId" :label="$t('customerquality.knowledgeBaseName')">
 | 
			
		||||
          <el-select v-model="dataForm.knowledgeBaseId" :placeholder="$t('customerquality.knowledgeBaseName')">
 | 
			
		||||
            <el-option v-for="item in knowledgeBaseList" :key="item.id" :label="item.knowledgeBaseName"
 | 
			
		||||
              :value="item.id">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
        <el-form-item prop="title" :label="$t('customerquality.title')">
 | 
			
		||||
          <el-input clearable v-model="dataForm.title" :placeholder="$t('customerquality.title')">
 | 
			
		||||
          </el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item prop="accessPath" :label="$t('customerquality.accessPath')">
 | 
			
		||||
          <el-input clearable v-model="dataForm.accessPath" :placeholder="$t('customerquality.accessPath')">
 | 
			
		||||
          </el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item>
 | 
			
		||||
          <el-button @click="innerDrawer = false">{{ $t('cancel') }} </el-button>
 | 
			
		||||
@@ -38,24 +40,28 @@
 | 
			
		||||
import i18n from "@/i18n"
 | 
			
		||||
import basicAdd from "@/mixins/basic-add"
 | 
			
		||||
import debounce from "lodash/debounce"
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  mixins: [basicAdd],
 | 
			
		||||
    data() {
 | 
			
		||||
      return {
 | 
			
		||||
        urlOptions: {
 | 
			
		||||
          submitURL: "/customerquality/qmsKnowledgeBaseRequirementList",
 | 
			
		||||
          getRequirementListURL: "/customerquality/qmsCustomerQualityRequirementList/page",
 | 
			
		||||
          getKnowledgeBaseURL: "/customerquality/qmsKnowledgeBase/page"
 | 
			
		||||
          submitURL: "/customerquality/knowledgeBaseRequirementListData",
 | 
			
		||||
          getDictDataDetail: '/mutual/qmsDataDictionaryDetail/page'
 | 
			
		||||
        },
 | 
			
		||||
        dataForm: {
 | 
			
		||||
          knowledgeBaseId: null,
 | 
			
		||||
          requirementListId:null
 | 
			
		||||
          accessPath:null,
 | 
			
		||||
          id: null,
 | 
			
		||||
          knowledgeBaseFileId: null,
 | 
			
		||||
          knowledgeBaseRequirementListId: null,
 | 
			
		||||
          title: null,
 | 
			
		||||
        },
 | 
			
		||||
        innerDrawer: false,
 | 
			
		||||
        listQuery: {
 | 
			
		||||
          limit: 10,
 | 
			
		||||
          page:1,
 | 
			
		||||
        },
 | 
			
		||||
        categoryList:[],
 | 
			
		||||
        requirementList: [],
 | 
			
		||||
        knowledgeBaseList:[],
 | 
			
		||||
      }
 | 
			
		||||
@@ -82,10 +88,14 @@ export default {
 | 
			
		||||
  },
 | 
			
		||||
  mounted () {
 | 
			
		||||
    this.getDict()
 | 
			
		||||
    this.getAccessPath()
 | 
			
		||||
  },
 | 
			
		||||
    methods: {
 | 
			
		||||
      init(id) {
 | 
			
		||||
        this.dataForm.id = id || ''
 | 
			
		||||
      init(obj) {
 | 
			
		||||
        this.dataForm.knowledgeBaseRequirementListId = obj.knowledgeBaseRequirementListId || ''
 | 
			
		||||
        this.dataForm.knowledgeBaseRequirementListId = obj.knowledgeBaseRequirementListId || ''
 | 
			
		||||
 | 
			
		||||
        this.dataForm.id = obj.id || ''
 | 
			
		||||
        this.innerDrawer = true
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.$refs["dataForm"].resetFields()
 | 
			
		||||
@@ -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() {
 | 
			
		||||
        this.innerDrawer = true
 | 
			
		||||
        this.$refs.dataForm.resetFields()
 | 
			
		||||
      },
 | 
			
		||||
      getInfo() {
 | 
			
		||||
        this.$http
 | 
			
		||||
          .get(`/customerquality/qmsKnowledgeBaseRequirementList/${this.dataForm.id}`)
 | 
			
		||||
          .get(`/customerquality/knowledgeBaseRequirementListData/${this.dataForm.id}`)
 | 
			
		||||
          .then(({ data: res }) => {
 | 
			
		||||
            if (res.code !== 0) {
 | 
			
		||||
              return this.$message.error(res.msg);
 | 
			
		||||
@@ -114,32 +154,6 @@ export default {
 | 
			
		||||
          })
 | 
			
		||||
          .catch(() => { });
 | 
			
		||||
      },
 | 
			
		||||
      getDict() {
 | 
			
		||||
        this.$http
 | 
			
		||||
          .get(this.urlOptions.getRequirementListURL, {
 | 
			
		||||
            params: this.listQuery
 | 
			
		||||
          })
 | 
			
		||||
          .then(({ data: res }) => {
 | 
			
		||||
            if (res.code === 0) {
 | 
			
		||||
              console.log(res);
 | 
			
		||||
              this.requirementList = res.data.list
 | 
			
		||||
            }
 | 
			
		||||
          })
 | 
			
		||||
          .catch(() => {
 | 
			
		||||
          })
 | 
			
		||||
        this.$http
 | 
			
		||||
          .get(this.urlOptions.getKnowledgeBaseURL, {
 | 
			
		||||
            params: this.listQuery
 | 
			
		||||
          })
 | 
			
		||||
          .then(({ data: res }) => {
 | 
			
		||||
            if (res.code === 0) {
 | 
			
		||||
              console.log(res);
 | 
			
		||||
              this.knowledgeBaseList = res.data.list
 | 
			
		||||
            }
 | 
			
		||||
          })
 | 
			
		||||
          .catch(() => {
 | 
			
		||||
          })
 | 
			
		||||
      },
 | 
			
		||||
      // 表单提交
 | 
			
		||||
      dataFormSubmit() {
 | 
			
		||||
        this.$refs["dataForm"].validate((valid) => {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,45 +1,101 @@
 | 
			
		||||
    <!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-14 14:28:32
 | 
			
		||||
 * @LastEditTime: 2023-07-19 09:00:49
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <el-dialog title="提示" :visible.sync="visible" width="50%" :before-close="handleClose">
 | 
			
		||||
    <el-tabs @tab-click="handleClick" v-model="title" tab-position="left" style="margin-bottom: 30px;">
 | 
			
		||||
      <el-tab-pane label="项目概述" name="first">
 | 
			
		||||
        <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
          label-width="120px">
 | 
			
		||||
    <el-form-item prop="code" :label="$t('customerquality.code')">
 | 
			
		||||
      <el-input v-model="dataForm.code" :placeholder="$t('customerquality.code')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="knowledgeBaseName" :label="$t('customerquality.knowledgeBaseName')">
 | 
			
		||||
      <el-input v-model="dataForm.knowledgeBaseName" :placeholder="$t('customerquality.knowledgeBaseName')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <!-- <el-form-item prop="knowledgeBaseName" :label="$t('basic.status')">
 | 
			
		||||
      <el-select v-model="dataForm.currentStage" :placeholder="$t('basic.status')">
 | 
			
		||||
        <el-option v-for="item in currentStageList" :key="item.value" :label="item.label" :value="item.value">
 | 
			
		||||
          <el-form-item prop="productId" :label="$t('basic.productName')">
 | 
			
		||||
            <el-select v-model="dataForm.productId" :placeholder="$t('basic.productName')" clearable>
 | 
			
		||||
              <el-option v-for="item in productList" :key="item.id" :label="item.productName" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
    <el-form-item prop="serialNumber" :label="$t('customerquality.serialNumber')">
 | 
			
		||||
      <el-input v-model="dataForm.serialNumber" :placeholder="$t('customerquality.serialNumber')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="description" :label="$t('customerquality.description')">
 | 
			
		||||
      <el-input v-model="dataForm.description" :placeholder="$t('customerquality.description')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="questionType" :label="$t('customerquality.questionType')">
 | 
			
		||||
      <el-select v-model="dataForm.questionType" :placeholder="$t('customerquality.questionType')">
 | 
			
		||||
        <el-option v-for="item in questionTypeList" :key="item.value" :label="item.label" :value="item.value">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item> -->
 | 
			
		||||
    <el-form-item prop="category" :label="$t('customerquality.category')">
 | 
			
		||||
      <el-select v-model="dataForm.category" :placeholder="$t('customerquality.category')">
 | 
			
		||||
        <el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName"
 | 
			
		||||
          <el-form-item prop="knowledgeBaseId" :label="$t('customerquality.knowledgeBase')">
 | 
			
		||||
            <el-select v-model="dataForm.knowledgeBaseId" :placeholder="$t('customerquality.knowledgeBase')" clearable>
 | 
			
		||||
              <el-option v-for="item in knowledgeBaseList" :key="item.id" :label="item.knowledgeBaseName"
 | 
			
		||||
                :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
          <el-form-item prop="customerId" :label="$t('customerquality.customerName')">
 | 
			
		||||
            <el-select v-model="dataForm.customerId" :placeholder="$t('customerquality.customerName')" clearable>
 | 
			
		||||
              <el-option v-for="item in customerList" :key="item.id" :label="item.customerName" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
          <el-form-item prop="qualityAcceptanceDate" :label="$t('customerquality.qualityAcceptanceDate')">
 | 
			
		||||
            <el-date-picker clearable v-model="dataForm.qualityAcceptanceDate" type="datetime"
 | 
			
		||||
              :placeholder="$t('customerquality.qualityAcceptanceDate')">
 | 
			
		||||
            </el-date-picker>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
          <el-form-item prop="deliveryRequiredDate" :label="$t('customerquality.deliveryRequiredDate')">
 | 
			
		||||
            <el-date-picker clearable v-model="dataForm.deliveryRequiredDate" type="datetime"
 | 
			
		||||
              :placeholder="$t('customerquality.deliveryRequiredDate')">
 | 
			
		||||
            </el-date-picker>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
          <el-form-item prop="confirmDeliveryDate" :label="$t('customerquality.confirmDeliveryDate')">
 | 
			
		||||
            <el-date-picker clearable v-model="dataForm.confirmDeliveryDate" type="datetime"
 | 
			
		||||
              :placeholder="$t('customerquality.confirmDeliveryDate')">
 | 
			
		||||
            </el-date-picker>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
          <el-form-item prop="first" :label="$t('customerquality.first')">
 | 
			
		||||
            <el-select clearable v-model="dataForm.first" :placeholder="$t('customerquality.first')">
 | 
			
		||||
              <el-option v-for="item in firstList" :key="item.id" :label="item.name" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
          <el-form-item prop="previousVersionCode" :label="$t('customerquality.previousVersionCode')">
 | 
			
		||||
            <el-input clearable v-model="dataForm.previousVersionCode"
 | 
			
		||||
              :placeholder="$t('customerquality.previousVersionCode')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
          <el-form-item prop="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>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
@@ -52,8 +108,38 @@ export default {
 | 
			
		||||
      urlOptions: {
 | 
			
		||||
        submitURL: "/customerquality/qmsCustomerQualityProjectList",
 | 
			
		||||
        infoURL: "/customerquality/qmsCustomerQualityProjectList//{id}",
 | 
			
		||||
        getDictDataDetail: '/mutual/qmsCustomerQualityProjectList/page'
 | 
			
		||||
        getDictDataDetail: '/mutual/qmsDataDictionaryDetail/page',
 | 
			
		||||
        getProductURL: '/basic/qmsProduct/page',
 | 
			
		||||
        getKnowledgeBaseURL: '/customerquality/qmsKnowledgeBase/page',
 | 
			
		||||
        getCustomerURL: '/basic/qmsCustomer/page',
 | 
			
		||||
        getRequirementListURL: '/customerquality/qmsCustomerQualityRequirementList/page'
 | 
			
		||||
      },
 | 
			
		||||
      customerQualityProjectListId:null,
 | 
			
		||||
      productList: [],
 | 
			
		||||
      title:'first',
 | 
			
		||||
      customerList: [],
 | 
			
		||||
      ppapGradeList:[],
 | 
			
		||||
      knowledgeBaseList: [],
 | 
			
		||||
      firstList: [
 | 
			
		||||
        {
 | 
			
		||||
          id: '0',
 | 
			
		||||
          name:'否',
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          id: '1',
 | 
			
		||||
          name: '是',
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      confidentialityAgreementList: [
 | 
			
		||||
        {
 | 
			
		||||
          id: '0',
 | 
			
		||||
          name: '否',
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          id: '1',
 | 
			
		||||
          name: '是',
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      categoryList:[],
 | 
			
		||||
      typeList:[],
 | 
			
		||||
      visible: false,
 | 
			
		||||
@@ -61,25 +147,68 @@ export default {
 | 
			
		||||
        limit: 999,
 | 
			
		||||
        page:1
 | 
			
		||||
      },
 | 
			
		||||
      treeData: [{
 | 
			
		||||
        label: '必选项目',
 | 
			
		||||
        // id:1,
 | 
			
		||||
        children: []
 | 
			
		||||
      }],
 | 
			
		||||
      tabDisable:true,
 | 
			
		||||
      dataForm: {
 | 
			
		||||
        id: "",
 | 
			
		||||
        code: null,
 | 
			
		||||
        category: null,
 | 
			
		||||
        knowledgeBaseName:null
 | 
			
		||||
        confidentialityAgreement:null,
 | 
			
		||||
        confirmDeliveryDate: null,
 | 
			
		||||
        customerId: null,
 | 
			
		||||
        deliveryRequiredDate: null,
 | 
			
		||||
        description:null,
 | 
			
		||||
        first: null,
 | 
			
		||||
        id: undefined,
 | 
			
		||||
        knowledgeBaseId: null,
 | 
			
		||||
        ppapGrade: null,
 | 
			
		||||
        previousVersionCode: null,
 | 
			
		||||
        productId: null,
 | 
			
		||||
        qualityAcceptanceDate: null,
 | 
			
		||||
        version: null,
 | 
			
		||||
      },
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
  computed: {
 | 
			
		||||
    dataRule() {
 | 
			
		||||
      return {
 | 
			
		||||
        code: [
 | 
			
		||||
        productId: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$t("validate.required"),
 | 
			
		||||
            trigger: "blur",
 | 
			
		||||
            trigger: "change",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        knowledgeBaseName: [
 | 
			
		||||
        knowledgeBaseId: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$t("validate.required"),
 | 
			
		||||
            trigger: "change",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        customerId: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$t("validate.required"),
 | 
			
		||||
            trigger: "change",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        qualityAcceptanceDate: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$t("validate.required"),
 | 
			
		||||
            trigger: "change",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        deliveryRequiredDate: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$t("validate.required"),
 | 
			
		||||
            trigger: "change",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        ppapGrade: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$t("validate.required"),
 | 
			
		||||
@@ -91,8 +220,15 @@ export default {
 | 
			
		||||
  },
 | 
			
		||||
  mounted () {
 | 
			
		||||
    this.getDict()
 | 
			
		||||
    this.getSecondData()
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    handleClick(val) {
 | 
			
		||||
      if (this.customerQualityProjectListId === null) {
 | 
			
		||||
        this.title = 'first'
 | 
			
		||||
        console.log(this.title)
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    init(id) {
 | 
			
		||||
      this.dataForm.id = id || ""
 | 
			
		||||
      // this.dataForm.dictTypeId = dictTypeId || "";
 | 
			
		||||
@@ -100,13 +236,16 @@ export default {
 | 
			
		||||
      this.$nextTick(() => {
 | 
			
		||||
        this.$refs["dataForm"].resetFields()
 | 
			
		||||
        if (this.dataForm.id) {
 | 
			
		||||
          this.getInfo();
 | 
			
		||||
          this.getInfo()
 | 
			
		||||
        } else {
 | 
			
		||||
          // this.getCode()
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    // 获取信息
 | 
			
		||||
    handleClose() {
 | 
			
		||||
      this.$refs["dataForm"].resetFields()
 | 
			
		||||
    },
 | 
			
		||||
    getInfo() {
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(`/customerquality/qmsCustomerQualityProjectList/${this.dataForm.id}`)
 | 
			
		||||
@@ -117,25 +256,118 @@ export default {
 | 
			
		||||
          this.dataForm = {
 | 
			
		||||
            ...this.dataForm,
 | 
			
		||||
            ...res.data,
 | 
			
		||||
          };
 | 
			
		||||
          }
 | 
			
		||||
          this.customerQualityProjectListId = res.data.id
 | 
			
		||||
          this.tabDisable = false
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => {});
 | 
			
		||||
    },
 | 
			
		||||
    getSecondData() {
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(this.urlOptions.getRequirementListURL, {
 | 
			
		||||
          params: {
 | 
			
		||||
            limit: 999,
 | 
			
		||||
            page: 1,
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          // this.dataListLoading = false;
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            this.treeData[0].children = res.data.list.map((item) => {
 | 
			
		||||
              return {
 | 
			
		||||
                label: item.requirementListName,
 | 
			
		||||
                id:item.id
 | 
			
		||||
              }
 | 
			
		||||
            })
 | 
			
		||||
            console.log(this.treeData);
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
    },
 | 
			
		||||
    getDict() {
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(this.urlOptions.getDictDataDetail, {
 | 
			
		||||
          params: {
 | 
			
		||||
            limit: 999,
 | 
			
		||||
            page: 1,
 | 
			
		||||
            dataDictionaryId:'1679670942635122690',
 | 
			
		||||
            dataDictionaryId:'1681202200846499841',
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          this.dataListLoading = false;
 | 
			
		||||
          // this.dataListLoading = false;
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            this.categoryList = res.data.list 
 | 
			
		||||
            this.ppapGradeList = res.data.list 
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(this.urlOptions.getProductURL, {
 | 
			
		||||
          params: {
 | 
			
		||||
            limit: 999,
 | 
			
		||||
            page: 1,
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          // this.dataListLoading = false;
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            this.productList = res.data.list
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(this.urlOptions.getKnowledgeBaseURL, {
 | 
			
		||||
          params: {
 | 
			
		||||
            limit: 999,
 | 
			
		||||
            page: 1,
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          // this.dataListLoading = false;
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            this.knowledgeBaseList = res.data.list
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(this.urlOptions.getCustomerURL, {
 | 
			
		||||
          params: {
 | 
			
		||||
            limit: 999,
 | 
			
		||||
            page: 1,
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          // this.dataListLoading = false;
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            this.customerList = res.data.list
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
    },
 | 
			
		||||
    handleCheckChange(data, v) {
 | 
			
		||||
      this.checkArr = v.checkedKeys
 | 
			
		||||
      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(
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
  <!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-14 10:06:36
 | 
			
		||||
 * @LastEditTime: 2023-07-18 16:54:14
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -9,10 +9,11 @@
 | 
			
		||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
    label-width="120px">
 | 
			
		||||
    <el-form-item prop="code" :label="$t('customerquality.code')">
 | 
			
		||||
      <el-input v-model="dataForm.code" :placeholder="$t('customerquality.code')"></el-input>
 | 
			
		||||
      <el-input clearable v-model="dataForm.code" :placeholder="$t('customerquality.code')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="requirementListName" :label="$t('customerquality.requirementListName')">
 | 
			
		||||
      <el-input v-model="dataForm.requirementListName" :placeholder="$t('customerquality.requirementListName')">
 | 
			
		||||
      <el-input clearable v-model="dataForm.requirementListName"
 | 
			
		||||
        :placeholder="$t('customerquality.requirementListName')">
 | 
			
		||||
      </el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="uploadFiles" :label="$t('customerquality.uploadFiles')">
 | 
			
		||||
@@ -40,7 +41,7 @@
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item> -->
 | 
			
		||||
    <el-form-item prop="category" :label="$t('customerquality.category')">
 | 
			
		||||
      <el-select v-model="dataForm.category" :placeholder="$t('customerquality.category')">
 | 
			
		||||
      <el-select clearable v-model="dataForm.category" :placeholder="$t('customerquality.category')">
 | 
			
		||||
        <el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName" :value="item.id">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-04-18 09:19:02
 | 
			
		||||
 * @LastEditTime: 2023-07-17 16:59:22
 | 
			
		||||
 * @LastEditTime: 2023-07-18 09:52:45
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -14,53 +14,41 @@
 | 
			
		||||
          </el-badge> -->
 | 
			
		||||
      </SearchBar>
 | 
			
		||||
      <base-table id="palletTable" :table-props="tableProps" ref="palletTable1" :table-data="tableData">
 | 
			
		||||
        <method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
 | 
			
		||||
          @clickBtn="handleClick" />
 | 
			
		||||
      </base-table>
 | 
			
		||||
      <i slot="reference" class="el-icon-plus" @click="showInnerTable(injectData.id)" />
 | 
			
		||||
    </el-popover>
 | 
			
		||||
    <baseConfigFile-add ref="baseConfigFileAddList" v-if="baseConfigFileAddShow" @refreshDataList="getDataList"></baseConfigFile-add>
 | 
			
		||||
    <baseConfigFile-add ref="baseConfigFileAddList" v-if="baseConfigFileAddShow" @refreshDataList="getDataList">
 | 
			
		||||
    </baseConfigFile-add>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
import i18n from "@/i18n"
 | 
			
		||||
import { timeFormatter } from '@/filters'
 | 
			
		||||
import baseConfigFileAdd from "./baseConfigFile-add"
 | 
			
		||||
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
    type: "edit",
 | 
			
		||||
    btnName: i18n.t('edit'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    type: "delete",
 | 
			
		||||
    btnName: i18n.t('delete'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    type: "configuration",
 | 
			
		||||
    btnName: i18n.t('configuration'),
 | 
			
		||||
  }
 | 
			
		||||
];
 | 
			
		||||
const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: "stageOneName",
 | 
			
		||||
    label: i18n.t('researchquality.stageOneName'),
 | 
			
		||||
    prop: "title",
 | 
			
		||||
    label: i18n.t('customerquality.title'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "stageOneDate",
 | 
			
		||||
    label: i18n.t('researchquality.stageOneDate'),
 | 
			
		||||
    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
 | 
			
		||||
    prop: "accessPath",
 | 
			
		||||
    label: i18n.t('customerquality.accessPath'),
 | 
			
		||||
  }
 | 
			
		||||
];
 | 
			
		||||
export default {
 | 
			
		||||
@@ -79,11 +67,10 @@ export default {
 | 
			
		||||
      tableProps,
 | 
			
		||||
      list: this.injectData,
 | 
			
		||||
      urlOptions: {
 | 
			
		||||
        submitURL: "/customerquality/qmsPublicDocuments",
 | 
			
		||||
        infoURL: "/customerquality/qmsPublicDocuments//{id}",
 | 
			
		||||
        getCodeURL: '/customerquality/qmsPublicDocuments/getCode',
 | 
			
		||||
        getDataListURL: '/customerquality/knowledgeBaseRequirementListData/page'
 | 
			
		||||
        getDataListURL: '/customerquality/knowledgeBaseRequirementListData/page',
 | 
			
		||||
        deleteURL: '/customerquality/knowledgeBaseRequirementListData/page'
 | 
			
		||||
      },
 | 
			
		||||
      tableBtn,
 | 
			
		||||
      baseConfigFileAddShow:false,
 | 
			
		||||
      tableData: [],
 | 
			
		||||
      listQuery: {
 | 
			
		||||
@@ -128,13 +115,51 @@ export default {
 | 
			
		||||
          // this.addOrUpdateVisible = true;
 | 
			
		||||
          this.baseConfigFileAddShow = true
 | 
			
		||||
          this.$nextTick(() => {
 | 
			
		||||
            this.$refs.baseConfigFileAddList.init(this.injectData.id)
 | 
			
		||||
            const obj = {
 | 
			
		||||
              knowledgeBaseRequirementListId :this.injectData.id
 | 
			
		||||
          }
 | 
			
		||||
            this.$refs.baseConfigFileAddList.init(obj)
 | 
			
		||||
          })
 | 
			
		||||
          // this.addOrUpdateHandle()
 | 
			
		||||
          break;
 | 
			
		||||
        default:
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    handleClick(val) {
 | 
			
		||||
      if (val.type === "delete") {
 | 
			
		||||
        this.$confirm(`确定对[标题为${val.data.title}]进行删除操作?`, "提示", {
 | 
			
		||||
          confirmButtonText: "确定",
 | 
			
		||||
          cancelButtonText: "取消",
 | 
			
		||||
          type: "warning",
 | 
			
		||||
        })
 | 
			
		||||
          .then(() => {
 | 
			
		||||
            this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
 | 
			
		||||
              if (data && data.code === 0) {
 | 
			
		||||
                this.$message({
 | 
			
		||||
                  message: "操作成功",
 | 
			
		||||
                  type: "success",
 | 
			
		||||
                  duration: 1500,
 | 
			
		||||
                  onClose: () => {
 | 
			
		||||
                    this.getDataList();
 | 
			
		||||
                  },
 | 
			
		||||
                });
 | 
			
		||||
              } else {
 | 
			
		||||
                this.$message.error(data.msg);
 | 
			
		||||
              }
 | 
			
		||||
            });
 | 
			
		||||
          })
 | 
			
		||||
          .catch(() => { });
 | 
			
		||||
      } else if (val.type === 'edit') {
 | 
			
		||||
        this.baseConfigFileAddShow = true
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          const obj = {
 | 
			
		||||
            knowledgeBaseRequirementListId: this.injectData.id,
 | 
			
		||||
            id:val.data.id
 | 
			
		||||
          }
 | 
			
		||||
          this.$refs.baseConfigFileAddList.init(obj)
 | 
			
		||||
        })
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    showInnerTable() {
 | 
			
		||||
      this.listQuery.knowledgeBaseRequirementListId = this.injectData.id
 | 
			
		||||
      this.getDataList()
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
  <!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-17 15:50:39
 | 
			
		||||
 * @LastEditTime: 2023-07-18 16:54:28
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -9,10 +9,12 @@
 | 
			
		||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
    label-width="120px">
 | 
			
		||||
    <el-form-item prop="title" :label="$t('customerquality.title')">
 | 
			
		||||
      <el-input :disabled="isDetail" v-model="dataForm.title" :placeholder="$t('customerquality.title')"></el-input>
 | 
			
		||||
      <el-input clearable :disabled="isDetail" v-model="dataForm.title" :placeholder="$t('customerquality.title')">
 | 
			
		||||
      </el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="accessPath" :label="$t('customerquality.accessPath')">
 | 
			
		||||
      <el-input :disabled="isDetail" v-model="dataForm.accessPath" :placeholder="$t('customerquality.accessPath')">
 | 
			
		||||
      <el-input clearable :disabled="isDetail" v-model="dataForm.accessPath"
 | 
			
		||||
        :placeholder="$t('customerquality.accessPath')">
 | 
			
		||||
      </el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <!-- <el-form-item prop="knowledgeBaseName" :label="$t('basic.status')">
 | 
			
		||||
@@ -34,7 +36,7 @@
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item> -->
 | 
			
		||||
    <el-form-item prop="knowledgeBaseFileId" :label="$t('customerquality.knowledgeBaseFileId')">
 | 
			
		||||
      <el-select :disabled="isDetail" v-model="dataForm.knowledgeBaseFileId"
 | 
			
		||||
      <el-select clearable :disabled="isDetail" v-model="dataForm.knowledgeBaseFileId"
 | 
			
		||||
        :placeholder="$t('customerquality.knowledgeBaseFileId')">
 | 
			
		||||
        <el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName" :value="item.id">
 | 
			
		||||
        </el-option>
 | 
			
		||||
@@ -143,7 +145,7 @@ export default {
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          this.dataListLoading = false;
 | 
			
		||||
          // this.dataListLoading = false;
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            this.categoryList = res.data.list
 | 
			
		||||
          }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
  <!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-14 10:06:39
 | 
			
		||||
 * @LastEditTime: 2023-07-18 16:54:41
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -9,10 +9,11 @@
 | 
			
		||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
    label-width="120px">
 | 
			
		||||
    <el-form-item prop="code" :label="$t('customerquality.code')">
 | 
			
		||||
      <el-input v-model="dataForm.code" :placeholder="$t('customerquality.code')"></el-input>
 | 
			
		||||
      <el-input clearable v-model="dataForm.code" :placeholder="$t('customerquality.code')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="knowledgeBaseName" :label="$t('customerquality.knowledgeBaseName')">
 | 
			
		||||
      <el-input v-model="dataForm.knowledgeBaseName" :placeholder="$t('customerquality.knowledgeBaseName')"></el-input>
 | 
			
		||||
      <el-input clearable v-model="dataForm.knowledgeBaseName" :placeholder="$t('customerquality.knowledgeBaseName')">
 | 
			
		||||
      </el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <!-- <el-form-item prop="knowledgeBaseName" :label="$t('basic.status')">
 | 
			
		||||
      <el-select v-model="dataForm.currentStage" :placeholder="$t('basic.status')">
 | 
			
		||||
@@ -33,9 +34,8 @@
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item> -->
 | 
			
		||||
    <el-form-item prop="category" :label="$t('customerquality.category')">
 | 
			
		||||
      <el-select v-model="dataForm.category" :placeholder="$t('customerquality.category')">
 | 
			
		||||
        <el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName"
 | 
			
		||||
          :value="item.id">
 | 
			
		||||
      <el-select clearable v-model="dataForm.category" :placeholder="$t('customerquality.category')">
 | 
			
		||||
        <el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName" :value="item.id">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
@@ -131,7 +131,7 @@ export default {
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          this.dataListLoading = false;
 | 
			
		||||
          // this.dataListLoading = false;
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            this.categoryList = res.data.list 
 | 
			
		||||
          }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,25 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-13 11:01:20
 | 
			
		||||
 * @LastEditTime: 2023-07-18 16:55:16
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <el-form :model="dataForm" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" label-width="120px">
 | 
			
		||||
    <el-form-item prop="title" :label="$t('researchquality.title')">
 | 
			
		||||
      <el-input v-model="dataForm.title" :placeholder="$t('researchquality.title')">
 | 
			
		||||
      <el-input clearable v-model="dataForm.title" :placeholder="$t('researchquality.title')">
 | 
			
		||||
      </el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="requirementListGroupId" :label="$t('researchquality.requirementListGroupId')">
 | 
			
		||||
      <el-select v-model="dataForm.requirementListGroupId" :placeholder="$t('researchquality.requirementListGroupId')">
 | 
			
		||||
      <el-select clearable v-model="dataForm.requirementListGroupId"
 | 
			
		||||
        :placeholder="$t('researchquality.requirementListGroupId')">
 | 
			
		||||
        <el-option v-for="item in projectTypeList" :key="item.id" :label="item.name" :value="item.id">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="description" :label="$t('researchquality.description')">
 | 
			
		||||
      <el-input v-model="dataForm.description" :placeholder="$t('researchquality.description')">
 | 
			
		||||
      <el-input clearable v-model="dataForm.description" :placeholder="$t('researchquality.description')">
 | 
			
		||||
      </el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
  </el-form>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-06-08 14:29:46
 | 
			
		||||
 * @LastEditTime: 2023-07-14 14:28:20
 | 
			
		||||
 * @LastEditTime: 2023-07-18 14:37:28
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -21,13 +21,11 @@
 | 
			
		||||
      <pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
 | 
			
		||||
        @pagination="getDataList" />
 | 
			
		||||
      <!-- 弹窗, 新增 / 修改 -->
 | 
			
		||||
      <base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
 | 
			
		||||
        @confirm="handleConfirm" :before-close="handleCancel">
 | 
			
		||||
        <qmsKnowledgeBase-add ref="addOrUpdate" @refreshDataList="successSubmit">
 | 
			
		||||
        </qmsKnowledgeBase-add>
 | 
			
		||||
      <customerQualityProjectList-add v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="successSubmit">
 | 
			
		||||
      </customerQualityProjectList-add>
 | 
			
		||||
      <!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
 | 
			
		||||
      </base-dialog>
 | 
			
		||||
      <baseConfig ref="baseConfigOrList" v-if="baseConfigShow"></baseConfig>
 | 
			
		||||
      <!-- </base-dialog> -->
 | 
			
		||||
      <!-- <baseConfig ref="baseConfigOrList" v-if="baseConfigShow"></baseConfig> -->
 | 
			
		||||
      <!-- <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
 | 
			
		||||
        @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
 | 
			
		||||
        <projectType-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit">
 | 
			
		||||
@@ -54,9 +52,9 @@
 | 
			
		||||
import basicPage from "@/mixins/basic-page"
 | 
			
		||||
// import basicSearch from "@/mixins/basic-search"
 | 
			
		||||
// import projectTypeSearch from "./components/projectTypeSearch.vue"
 | 
			
		||||
import customerquality from '@/filters/customerquality'
 | 
			
		||||
import qmsKnowledgeBaseAdd from "./components/qmsKnowledgeBase-add.vue"
 | 
			
		||||
import baseConfig from "./components/baseConfig"
 | 
			
		||||
// import customerquality from '@/filters/customerquality'
 | 
			
		||||
import customerQualityProjectListAdd from "./components/customerQualityProjectList-add.vue"
 | 
			
		||||
// import baseConfig from "./components/baseConfig"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
import i18n from "@/i18n"
 | 
			
		||||
@@ -193,8 +191,8 @@ export default {
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
  components: {
 | 
			
		||||
    qmsKnowledgeBaseAdd,
 | 
			
		||||
    baseConfig
 | 
			
		||||
    customerQualityProjectListAdd,
 | 
			
		||||
    // baseConfig
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    //search-bar点击
 | 
			
		||||
@@ -294,11 +292,6 @@ export default {
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.$refs.addOrUpdate.init(val.data.id);
 | 
			
		||||
        })
 | 
			
		||||
      } else if (val.type === 'configuration') {
 | 
			
		||||
        this.baseConfigShow = true
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.$refs.baseConfigOrList.init(val.data.id)
 | 
			
		||||
        });
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    // addOrUpdateHandle(productData) {
 | 
			
		||||
@@ -320,9 +313,10 @@ export default {
 | 
			
		||||
         this.exportHandle()
 | 
			
		||||
          break;
 | 
			
		||||
        case "add":
 | 
			
		||||
          this.addOrEditTitle = '新增'
 | 
			
		||||
          this.addOrUpdateVisible = true;
 | 
			
		||||
          this.addOrUpdateHandle()
 | 
			
		||||
          this.addOrUpdateVisible = true
 | 
			
		||||
          this.$nextTick(() => {
 | 
			
		||||
            this.$refs.addOrUpdate.init()
 | 
			
		||||
          })
 | 
			
		||||
          break;
 | 
			
		||||
        default:
 | 
			
		||||
      }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-06-08 14:29:46
 | 
			
		||||
 * @LastEditTime: 2023-07-14 10:08:05
 | 
			
		||||
 * @LastEditTime: 2023-07-18 14:20:43
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -27,6 +27,8 @@
 | 
			
		||||
        </customerQualityRequirementList-add>
 | 
			
		||||
        <!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
 | 
			
		||||
      </base-dialog>
 | 
			
		||||
      <baseConfig ref="baseConfigOrList" v-if="baseConfigShow"></baseConfig>
 | 
			
		||||
 | 
			
		||||
      <!-- <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
 | 
			
		||||
        @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
 | 
			
		||||
        <projectType-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit">
 | 
			
		||||
@@ -56,6 +58,7 @@ import basicPage from "@/mixins/basic-page"
 | 
			
		||||
import customerquality from '@/filters/customerquality'
 | 
			
		||||
import customerQualityRequirementListAdd from "./components/customerQualityRequirementList-add.vue"
 | 
			
		||||
import i18n from "@/i18n"
 | 
			
		||||
import baseConfig from "./components/baseConfig"
 | 
			
		||||
// import i18n from "@/i18n";
 | 
			
		||||
const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
@@ -83,6 +86,10 @@ const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
    type: "delete",
 | 
			
		||||
    btnName: i18n.t('delete'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    type: "configuration",
 | 
			
		||||
    btnName: i18n.t('configuration'),
 | 
			
		||||
  }
 | 
			
		||||
];
 | 
			
		||||
export default {
 | 
			
		||||
@@ -95,6 +102,7 @@ export default {
 | 
			
		||||
        exportURL: '/customerquality/qmsCustomerQualityRequirementList/export'
 | 
			
		||||
      },
 | 
			
		||||
      tableProps,
 | 
			
		||||
      baseConfigShow:false,
 | 
			
		||||
      tableBtn,
 | 
			
		||||
      productData: {},
 | 
			
		||||
      dataForm:{
 | 
			
		||||
@@ -166,7 +174,8 @@ export default {
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
  components: {
 | 
			
		||||
    customerQualityRequirementListAdd
 | 
			
		||||
    customerQualityRequirementListAdd,
 | 
			
		||||
    baseConfig
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    //search-bar点击
 | 
			
		||||
@@ -196,12 +205,12 @@ export default {
 | 
			
		||||
    //   this.$refs.addOrUpdate.dataFormSubmitHandle();
 | 
			
		||||
    // },
 | 
			
		||||
    // conditionSearchSubmit() {},
 | 
			
		||||
    conditionSearchSubmit(dataForm) {
 | 
			
		||||
    conditionSearchSubmit() {
 | 
			
		||||
      // console.log(key);
 | 
			
		||||
      // console.log(key);
 | 
			
		||||
      this.listQuery.page = 1;
 | 
			
		||||
      this.getDataList();
 | 
			
		||||
      this.searchOrUpdateVisible = false;
 | 
			
		||||
      this.searchOrUpdateVisible = false
 | 
			
		||||
      // console.log(11111);
 | 
			
		||||
      // this.conditionSearchSubmit();
 | 
			
		||||
    },
 | 
			
		||||
@@ -209,10 +218,6 @@ export default {
 | 
			
		||||
      this.$http.get(this.urlOptions.exportURL, { responseType: 'blob' }, {
 | 
			
		||||
        ...this.dataForm
 | 
			
		||||
      }).then((res) => {
 | 
			
		||||
        console.log(res)
 | 
			
		||||
        // if (res !== 0) {
 | 
			
		||||
        //   return this.$message.error(res.msg) 
 | 
			
		||||
        // }
 | 
			
		||||
        let fileName = ''
 | 
			
		||||
        const contentDisposition = res.headers['content-disposition']
 | 
			
		||||
        if (contentDisposition) {
 | 
			
		||||
@@ -266,6 +271,14 @@ export default {
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.$refs.addOrUpdate.init(val.data.id);
 | 
			
		||||
        });
 | 
			
		||||
      } else if (val.type === 'configuration') {
 | 
			
		||||
        this.baseConfigShow = true
 | 
			
		||||
        const obj = {
 | 
			
		||||
          requirementListId:val.data.id
 | 
			
		||||
        }
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.$refs.baseConfigOrList.init(obj)
 | 
			
		||||
        });
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    // addOrUpdateHandle(productData) {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-06-08 14:29:46
 | 
			
		||||
 * @LastEditTime: 2023-07-14 13:58:32
 | 
			
		||||
 * @LastEditTime: 2023-07-18 14:20:57
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -284,8 +284,11 @@ export default {
 | 
			
		||||
        })
 | 
			
		||||
      } else if (val.type === 'configuration') {
 | 
			
		||||
        this.baseConfigShow = true
 | 
			
		||||
        const obj = {
 | 
			
		||||
          knowledgeBaseId: val.data.id
 | 
			
		||||
        }
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.$refs.baseConfigOrList.init(val.data.id)
 | 
			
		||||
          this.$refs.baseConfigOrList.init(obj)
 | 
			
		||||
        });
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-05-15 14:35:31
 | 
			
		||||
 * @LastEditTime: 2023-07-18 10:14:38
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -19,10 +19,10 @@
 | 
			
		||||
      <el-input v-model="dataForm.responsibilitie" :placeholder="$t('laboratory.responsibilitie')">
 | 
			
		||||
      </el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="expectedReturnDate" :label="$t('gage.expectedReturnDate')">
 | 
			
		||||
      <el-date-picker v-model="dataForm.expectedReturnDate" type="datetime" :placeholder="$t('gage.expectedReturnDate')"
 | 
			
		||||
        format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
 | 
			
		||||
      </el-date-picker>
 | 
			
		||||
    <el-form-item :label="$t('laboratory.timeSlot')" prop="timeSlot">
 | 
			
		||||
      <el-date-picker v-model="dataForm.timeSlot" size="small" type="datetimerange" format='yyyy-MM-dd HH:mm:ss'
 | 
			
		||||
        valueFormat='yyyy-MM-ddTHH:mm:ss' :start-placeholder="$t('gage.startTime')"
 | 
			
		||||
        :end-placeholder="$t('gage.endTime')" :range-separator="$t('gage.to')" clearable />
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
  </el-form>
 | 
			
		||||
</template>
 | 
			
		||||
@@ -35,8 +35,8 @@ export default {
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      urlOptions: {
 | 
			
		||||
        submitURL: "/gage/qmsLaboratoryEmployeeResume",
 | 
			
		||||
        infoURL: "/gage/qmsLaboratoryEmployeeResume/{ id }",
 | 
			
		||||
        submitURL: "/laboratory/qmsLaboratoryEmployeeResume",
 | 
			
		||||
        infoURL: "/laboratory/qmsLaboratoryEmployeeResume/{ id }",
 | 
			
		||||
        dictionaryDetailList: '/mutual/qmsDataDictionaryDetail/page',
 | 
			
		||||
        getUserList: '/sys/user/page'
 | 
			
		||||
        // getTeamListURL: '/basic/qmsTeam/gape',
 | 
			
		||||
@@ -91,13 +91,13 @@ export default {
 | 
			
		||||
        department:null,
 | 
			
		||||
        endDate: null,
 | 
			
		||||
        id: null,
 | 
			
		||||
        timeSlot:undefined,
 | 
			
		||||
        laboratoryTesterId: null,
 | 
			
		||||
        position: null,
 | 
			
		||||
        remark: null,
 | 
			
		||||
        responsibilitie: null,
 | 
			
		||||
        startDate: null,
 | 
			
		||||
        id: null,
 | 
			
		||||
        laboratoryTesterId:null,
 | 
			
		||||
      },
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
@@ -133,13 +133,14 @@ export default {
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    init(data) {
 | 
			
		||||
      console.log(data)
 | 
			
		||||
      this.dataForm.id = data.id ? data.id : ''
 | 
			
		||||
      this.dataForm.laboratoryTesterId = data.laboratoryTesterId ? data.laboratoryTesterId : ''
 | 
			
		||||
      // console.log(11111)
 | 
			
		||||
      // this.dataForm.dictTypeId = dictTypeId || "";
 | 
			
		||||
      this.visible = true
 | 
			
		||||
      this.$nextTick(() => {
 | 
			
		||||
        this.$refs["dataForm"].resetFields();
 | 
			
		||||
        this.$refs["dataForm"].resetFields()
 | 
			
		||||
        if (this.dataForm.id) {
 | 
			
		||||
          this.getInfo()
 | 
			
		||||
        } else {
 | 
			
		||||
@@ -183,7 +184,7 @@ export default {
 | 
			
		||||
    // 获取信息
 | 
			
		||||
    getInfo() {
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(`/gage/qmsLaboratoryEmployeeResume/${this.dataForm.id}`)
 | 
			
		||||
        .get(`/laboratory/qmsLaboratoryEmployeeResume/${this.dataForm.id}`)
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          if (res.code !== 0) {
 | 
			
		||||
            return this.$message.error(res.msg);
 | 
			
		||||
@@ -195,6 +196,31 @@ export default {
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => { })
 | 
			
		||||
    },
 | 
			
		||||
    dataFormSubmit() {
 | 
			
		||||
      this.dataForm.endDate = this.dataForm.timeSlot ? this.dataForm.timeSlot[1] :undefined  
 | 
			
		||||
      this.dataForm.startDate = this.dataForm.timeSlot ? this.dataForm.timeSlot[0] : undefined  
 | 
			
		||||
      this.$refs["dataForm"].validate((valid) => {
 | 
			
		||||
        if (!valid) {
 | 
			
		||||
          return false;
 | 
			
		||||
        }
 | 
			
		||||
        this.$http[!this.dataForm.id ? "post" : "put"](this.urlOptions.submitURL, this.dataForm)
 | 
			
		||||
          .then(({ data: res }) => {
 | 
			
		||||
            if (res.code !== 0) {
 | 
			
		||||
              return this.$message.error(res.msg);
 | 
			
		||||
            }
 | 
			
		||||
            this.$message({
 | 
			
		||||
              message: this.$t("prompt.success"),
 | 
			
		||||
              type: "success",
 | 
			
		||||
              duration: 500,
 | 
			
		||||
              onClose: () => {
 | 
			
		||||
                this.visible = false;
 | 
			
		||||
                this.$emit("refreshDataList");
 | 
			
		||||
              },
 | 
			
		||||
            });
 | 
			
		||||
          })
 | 
			
		||||
          .catch(() => { });
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    // 表单提交
 | 
			
		||||
    dataFormSubmitHandle: debounce(
 | 
			
		||||
      function () {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-07-17 16:17:07
 | 
			
		||||
 * @LastEditTime: 2023-07-18 10:52:15
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -110,15 +110,13 @@ export default {
 | 
			
		||||
      searchOrEditTitle: '',
 | 
			
		||||
      searchOrUpdateVisible: false,
 | 
			
		||||
      formConfig: [
 | 
			
		||||
        // {
 | 
			
		||||
        //   type: "",
 | 
			
		||||
        //   label: i18n.t("params.paramCode"),
 | 
			
		||||
        //   placeholder: i18n.t("params.paramCode"),
 | 
			
		||||
        //   param: "paramCode",
 | 
			
		||||
        // },
 | 
			
		||||
        // {
 | 
			
		||||
        //   type: "separate",
 | 
			
		||||
        // },
 | 
			
		||||
        {
 | 
			
		||||
          type: 'input',
 | 
			
		||||
          label: i18n.t('basic.name'),
 | 
			
		||||
          placeholder: i18n.t('basic.name'),
 | 
			
		||||
          param: 'name',
 | 
			
		||||
          clearable: true
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: i18n.t('search'),
 | 
			
		||||
@@ -198,7 +196,7 @@ export default {
 | 
			
		||||
    buttonClick(val) {
 | 
			
		||||
      switch (val.btnName) {
 | 
			
		||||
        case "search":
 | 
			
		||||
          // this.listQuery.paramCode = val.paramCode;
 | 
			
		||||
          this.listQuery.name = val.name ?val.name : null
 | 
			
		||||
          this.listQuery.page = 1
 | 
			
		||||
          this.getDataList();
 | 
			
		||||
          break;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-07-14 09:53:37
 | 
			
		||||
 * @LastEditTime: 2023-07-18 15:22:30
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -117,12 +117,6 @@ export default {
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: i18n.t('export'),
 | 
			
		||||
          name: "export",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: i18n.t('search'),
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-07-14 09:53:46
 | 
			
		||||
 * @LastEditTime: 2023-07-18 15:22:25
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -113,12 +113,6 @@ export default {
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: i18n.t('export'),
 | 
			
		||||
          name: "export",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: i18n.t('search'),
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-06-20 15:34:33
 | 
			
		||||
 * @LastEditTime: 2023-07-18 15:22:19
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -112,12 +112,6 @@ export default {
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: i18n.t('export'),
 | 
			
		||||
          name: "export",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: i18n.t('search'),
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										264
									
								
								src/views/modules/quality/characteristics.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										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
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-07-12 14:30:40
 | 
			
		||||
 * @LastEditTime: 2023-07-18 10:20:59
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -185,18 +185,18 @@ export default {
 | 
			
		||||
          param: 'customSamplingCode',
 | 
			
		||||
          clearable: true
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: "success",
 | 
			
		||||
          plain: true
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
    };
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-07-11 15:38:25
 | 
			
		||||
 * @LastEditTime: 2023-07-18 10:21:09
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -129,17 +129,17 @@ export default {
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-07-12 14:43:09
 | 
			
		||||
 * @LastEditTime: 2023-07-18 10:21:26
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -114,18 +114,18 @@ export default {
 | 
			
		||||
          param: 'name',
 | 
			
		||||
          clearable: true
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: "success",
 | 
			
		||||
          plain: true
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
    };
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-07-12 14:22:56
 | 
			
		||||
 * @LastEditTime: 2023-07-18 10:21:38
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -218,17 +218,17 @@ export default {
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-07-12 14:30:03
 | 
			
		||||
 * @LastEditTime: 2023-07-18 10:21:47
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -129,18 +129,18 @@ export default {
 | 
			
		||||
        // {
 | 
			
		||||
        //   type: "separate",
 | 
			
		||||
        // },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: "success",
 | 
			
		||||
          plain: true
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
    };
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-07-12 14:32:41
 | 
			
		||||
 * @LastEditTime: 2023-07-18 10:21:55
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -137,18 +137,18 @@ export default {
 | 
			
		||||
          param: 'code',
 | 
			
		||||
          clearable: true
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: "success",
 | 
			
		||||
          plain: true
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
    };
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user