dy #29
@@ -15,7 +15,7 @@
 | 
			
		||||
    "axios": "^0.19.2",
 | 
			
		||||
    "babel-eslint": "^8.0.1",
 | 
			
		||||
    "babel-plugin-component": "^1.1.1",
 | 
			
		||||
    "code-brick-zj": "0.0.7",
 | 
			
		||||
    "code-brick-zj": "1.0.2",
 | 
			
		||||
    "core-js": "^3.6.5",
 | 
			
		||||
    "echarts": "^5.4.2",
 | 
			
		||||
    "element-theme": "^2.0.1",
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 * @Author: zwq
 | 
			
		||||
 * @Date: 2022-08-22 14:57:50
 | 
			
		||||
 * @LastEditors: DY
 | 
			
		||||
 * @LastEditTime: 2023-07-17 14:23:36
 | 
			
		||||
 * @LastEditTime: 2023-07-21 16:45:57
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
 
 | 
			
		||||
@@ -599,13 +599,19 @@ img {
 | 
			
		||||
            display: none;
 | 
			
		||||
          }
 | 
			
		||||
          & > .el-tabs__item {
 | 
			
		||||
            height: $content--tabs-header-height;
 | 
			
		||||
            border: 0;
 | 
			
		||||
            padding: 0 10px;
 | 
			
		||||
            color: rgba(89, 89, 89, 1);
 | 
			
		||||
            margin: 6px 5px 6px 0px;
 | 
			
		||||
            height: 24px;
 | 
			
		||||
            font-size: 12px;
 | 
			
		||||
            line-height: 24px;
 | 
			
		||||
            border-radius: 5px;
 | 
			
		||||
            background-color: rgba(239, 239, 239, 1);
 | 
			
		||||
            &:focus,
 | 
			
		||||
            &:hover,
 | 
			
		||||
            &.is-active {
 | 
			
		||||
              color: rgba(255, 255, 255, 1);
 | 
			
		||||
              background-color: rgba(62, 142, 247, 1);
 | 
			
		||||
              &:after {
 | 
			
		||||
                display: block;
 | 
			
		||||
              }
 | 
			
		||||
@@ -630,6 +636,7 @@ img {
 | 
			
		||||
              line-height: 24px;
 | 
			
		||||
              border-radius: 5px;
 | 
			
		||||
              background-color: rgba(239, 239, 239, 1);
 | 
			
		||||
              &:hover,
 | 
			
		||||
              &.is-active {
 | 
			
		||||
                color: rgba(255, 255, 255, 1);
 | 
			
		||||
                background-color: rgba(62, 142, 247, 1);
 | 
			
		||||
 
 | 
			
		||||
@@ -18,6 +18,10 @@ const table = {
 | 
			
		||||
    1: '需要审批',
 | 
			
		||||
    0: '不需要审批',
 | 
			
		||||
  },
 | 
			
		||||
  gradeFinish: {
 | 
			
		||||
    1: '已打分',
 | 
			
		||||
    0: '未打分',
 | 
			
		||||
  },
 | 
			
		||||
  step: {
 | 
			
		||||
    0: 'D0',
 | 
			
		||||
    1: 'D1',
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										29
									
								
								src/filters/incoming/index.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								src/filters/incoming/index.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Date: 2020-12-29 16:49:28
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @LastEditTime: 2023-07-17 09:36:52
 | 
			
		||||
 * @FilePath: \basic-admin\src\filters\DataDict\index.js
 | 
			
		||||
 * @Description: 部分常量的数据字典定义
 | 
			
		||||
 */
 | 
			
		||||
import i18n from "@/i18n"
 | 
			
		||||
const table = {
 | 
			
		||||
  upload: {
 | 
			
		||||
      0: '未上传',
 | 
			
		||||
      1:' 已上传',
 | 
			
		||||
  },
 | 
			
		||||
  VerifyType: {
 | 
			
		||||
    0: i18n.t('gage.insideVerify'),
 | 
			
		||||
    1:  i18n.t('gage.outsideVerify')
 | 
			
		||||
  },
 | 
			
		||||
  judgmentResult: {
 | 
			
		||||
    0: '未判定  ',
 | 
			
		||||
    1: '合格',
 | 
			
		||||
    2: '不合格'
 | 
			
		||||
   },
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export default function (dictTable) {
 | 
			
		||||
  return function (val) {
 | 
			
		||||
    return table?.[dictTable]?.[val]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Date: 2020-12-14 09:07:03
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @LastEditTime: 2023-04-18 15:14:26
 | 
			
		||||
 * @LastEditTime: 2023-07-17 14:34:42
 | 
			
		||||
 * @FilePath: \basic-admin\src\filters\index.js
 | 
			
		||||
 * @Description: 过滤器定义、多语言过滤器修改
 | 
			
		||||
 */
 | 
			
		||||
@@ -146,6 +146,22 @@ export function handleLimit(string) {
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function handleProductType(Array) {
 | 
			
		||||
  let arr = []
 | 
			
		||||
  Array.forEach(ele => {
 | 
			
		||||
    arr.push(ele.productTypeName)
 | 
			
		||||
  })
 | 
			
		||||
  return arr.join(',')
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function handleProcess(Array) {
 | 
			
		||||
  let arr = []
 | 
			
		||||
  Array.forEach(ele => {
 | 
			
		||||
    arr.push(ele.processName)
 | 
			
		||||
  })
 | 
			
		||||
  return arr.join(',')
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function getSimpleText(html) {
 | 
			
		||||
  var re1 = new RegExp('<.+?>', 'g')
 | 
			
		||||
  var msg = html.replace(re1, '')
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										46
									
								
								src/filters/quality/index.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								src/filters/quality/index.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,46 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Date: 2020-12-29 16:49:28
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @LastEditTime: 2023-07-18 14:08:41
 | 
			
		||||
 * @FilePath: \basic-admin\src\filters\DataDict\index.js
 | 
			
		||||
 * @Description: 部分常量的数据字典定义
 | 
			
		||||
 */
 | 
			
		||||
import i18n from "@/i18n"
 | 
			
		||||
const table = {
 | 
			
		||||
  monitor: {
 | 
			
		||||
      0: '否',
 | 
			
		||||
      1:'是',
 | 
			
		||||
  },
 | 
			
		||||
  characteristicsType: {
 | 
			
		||||
      0: '计量',
 | 
			
		||||
      1:'计数',
 | 
			
		||||
  },
 | 
			
		||||
  VerifyType: {
 | 
			
		||||
    0: i18n.t('gage.insideVerify'),
 | 
			
		||||
    1:  i18n.t('gage.outsideVerify')
 | 
			
		||||
  },
 | 
			
		||||
  inspectionType: {
 | 
			
		||||
      0: '监控',
 | 
			
		||||
        1:'电芯来料检验',
 | 
			
		||||
        2: 'IQC抽检',
 | 
			
		||||
        3: 'IQC抽检2',
 | 
			
		||||
        4: '原料抽检',
 | 
			
		||||
        5: '进货外观检验',
 | 
			
		||||
        6: '库内原料检验',
 | 
			
		||||
        7: '来料检验',
 | 
			
		||||
        8: '胶片',
 | 
			
		||||
        9: '抽检',
 | 
			
		||||
        10: '巡检',
 | 
			
		||||
        11: '首检',
 | 
			
		||||
        12: '末检',
 | 
			
		||||
        13: '实时监测',
 | 
			
		||||
        14: 'FQC抽检',
 | 
			
		||||
        15: 'OQC抽检'
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export default function (dictTable) {
 | 
			
		||||
  return function (val) {
 | 
			
		||||
    return table?.[dictTable]?.[val]
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@@ -43,6 +43,9 @@ t.notAvailable = '不可用'
 | 
			
		||||
t.time = '时间段'
 | 
			
		||||
t.parameter = '台差参数'
 | 
			
		||||
t.configuration = '配置'
 | 
			
		||||
t.uploadFile = '上传'
 | 
			
		||||
t.detail = '查看详情'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -300,6 +303,10 @@ t.basic.course = '过程检验'
 | 
			
		||||
t.basic.shipment = '出货检验'
 | 
			
		||||
t.basic.userName = '用户名'
 | 
			
		||||
t.basic.departName = '部门名'
 | 
			
		||||
t.basic.productCode = '产品编码'
 | 
			
		||||
t.basic.productName = '产品名称'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -360,7 +367,23 @@ t.quality.sampleRangeHigh = '取样范围高'
 | 
			
		||||
t.quality.inspectionLevel = '检验水平'
 | 
			
		||||
t.quality.sampleSizeCode = '样本量字码'
 | 
			
		||||
t.quality.sampleSize = '样本量'
 | 
			
		||||
 | 
			
		||||
t.quality.inspectionPlan = '是否有检验计划'
 | 
			
		||||
t.quality.analyzeDrawings = '分析图形'
 | 
			
		||||
t.quality.characteristicsType = '特性类型'
 | 
			
		||||
t.quality.company = '单位'
 | 
			
		||||
t.quality.decimalDigits = '小数位数'
 | 
			
		||||
t.quality.measuringToolsType = '量具类型'
 | 
			
		||||
t.quality.monitor = '是否监控'
 | 
			
		||||
t.quality.parameterName = '参数名称'
 | 
			
		||||
t.quality.parameterCode = '	参数编码'
 | 
			
		||||
t.quality.sampleSize = '样本大小'
 | 
			
		||||
t.quality.source = '来源'
 | 
			
		||||
t.quality.specificationCenterline = 'SL'
 | 
			
		||||
t.quality.specificationOffline = 'LSL'
 | 
			
		||||
t.quality.specifications = '规格'
 | 
			
		||||
t.quality.targetCpk = '目标CPK'
 | 
			
		||||
t.quality.targetPpk = '目标PPK'
 | 
			
		||||
t.quality.upperSpecificationLimit = 'USL'
 | 
			
		||||
	
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
@@ -581,7 +604,9 @@ t.laboratory.title = '主题'
 | 
			
		||||
t.laboratory.trainContent	= '培训内容'
 | 
			
		||||
t.laboratory.trainDate	= '培训日期'
 | 
			
		||||
t.laboratory.trainDuration = '培训时长'
 | 
			
		||||
t.laboratory.trainType	= '培训类型'
 | 
			
		||||
t.laboratory.trainType = '培训类型'
 | 
			
		||||
t.laboratory.timeSlot	= '时间段'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
t.code = {}
 | 
			
		||||
@@ -694,6 +719,9 @@ t.researchquality.stageTwoDate = '阶段2时间'
 | 
			
		||||
t.researchquality.stageThreeDate = '阶段3时间'
 | 
			
		||||
t.researchquality.stageFourDate = '阶段4时间'
 | 
			
		||||
t.researchquality.approvedMemo = '审核记录'
 | 
			
		||||
t.researchquality.phase = '阶段'
 | 
			
		||||
t.researchquality.realTime = '实际完成时间'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -718,7 +746,19 @@ t.customerquality.qualityAcceptanceDate = '质量接收日期'
 | 
			
		||||
t.customerquality.confirmDeliveryDate = '确认交付日期'
 | 
			
		||||
t.customerquality.deliveryRequiredDate = '要求交付日期'
 | 
			
		||||
t.customerquality.status = '状态'
 | 
			
		||||
	
 | 
			
		||||
t.customerquality.file = '清单文件'
 | 
			
		||||
t.customerquality.previousVersionCode = '上一版本号'
 | 
			
		||||
t.customerquality.first = '首次'
 | 
			
		||||
t.customerquality.confidentialityAgreement = '保密协议'
 | 
			
		||||
t.customerquality.ppapGrade = '	ppap等级'
 | 
			
		||||
t.customerquality.version = '	版本'
 | 
			
		||||
t.customerquality.amendment = '	修订'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	
 | 
			
		||||
	
 | 
			
		||||
	
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										12
									
								
								src/icons/svg/首页.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								src/icons/svg/首页.svg
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 | 
			
		||||
    <title>首页</title>
 | 
			
		||||
    <g id="页面" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
 | 
			
		||||
        <g id="icon" transform="translate(-506.000000, -176.000000)" fill-rule="nonzero">
 | 
			
		||||
            <g id="首页" transform="translate(506.000000, 176.000000)">
 | 
			
		||||
                <rect id="矩形" fill="#000000" opacity="0" x="0" y="0" width="24" height="24"></rect>
 | 
			
		||||
                <path d="M11.1710783,2.42919989 C11.7298936,2.09409047 12.4328291,2.12455473 12.9654367,2.52059014 L12.9654367,2.52059014 L20.3218013,7.99000647 L20.4665209,8.10559268 C21.0744501,8.62656431 21.4302636,9.40344805 21.4302636,10.227099 L21.4302636,10.227099 L21.4302636,19.0470569 L21.4250327,19.2212289 C21.3382831,20.6611171 20.1833875,21.8011882 18.7715031,21.8011882 L18.7715031,21.8011882 L5.2284969,21.8011882 L5.06035624,21.7957697 C3.67032883,21.7059084 2.56973638,20.5095861 2.56973638,19.0470569 L2.56973638,19.0470569 L2.56973638,10.2273587 L2.57600507,10.0381789 C2.63012926,9.22282649 3.03207443,8.47038558 3.67819781,7.99000711 L3.67819781,7.99000711 L11.034559,2.52059336 Z M12.0713092,3.55793652 C11.9772762,3.53774358 11.8769764,3.55793433 11.7954857,3.6185066 L11.7954857,3.6185066 L4.43911542,9.0879271 L4.32641124,9.18150853 C4.04059293,9.44596068 3.87451485,9.82573182 3.87451485,10.2273587 L3.87451485,10.2273587 L3.87451485,19.0470569 L3.880713,19.1821318 C3.94632222,19.8933667 4.52470053,20.4496068 5.2284969,20.4496068 L5.2284969,20.4496068 L11.2507497,20.4487759 L11.3507364,20.3451977 L11.3512202,14.4627186 L11.3582338,14.3683764 C11.4044406,14.0603828 11.6734228,13.8227675 12,13.8227675 C12.3345637,13.8227675 12.6123182,14.0734451 12.6454705,14.3976012 L12.6454705,14.3976012 L12.6489183,14.4681588 L12.6487364,20.3451881 L12.7487231,20.4487759 L18.7714898,20.4496068 L18.9018895,20.4431864 C19.5885066,20.3752237 20.1254851,19.7760987 20.1254851,19.0470569 L20.1254851,19.0470569 L20.1254851,10.2273587 L20.1177907,10.0779557 C20.0769951,9.68325297 19.8759128,9.32208831 19.5608746,9.08791971 L19.5608746,9.08791971 L12.2045243,3.61851399 L12.1402672,3.58065321 Z" id="形状结合" fill="#000"></path>
 | 
			
		||||
            </g>
 | 
			
		||||
        </g>
 | 
			
		||||
    </g>
 | 
			
		||||
</svg>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 2.3 KiB  | 
@@ -2,7 +2,7 @@
 | 
			
		||||
 * @Author: zwq
 | 
			
		||||
 * @Date: 2023-01-04 10:29:39
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @LastEditTime: 2023-01-05 16:14:45
 | 
			
		||||
 * @LastEditTime: 2023-07-19 16:33:56
 | 
			
		||||
 * @Description: 
 | 
			
		||||
 */
 | 
			
		||||
import Vue from 'vue'
 | 
			
		||||
@@ -28,11 +28,11 @@ export default new Vuex.Store({
 | 
			
		||||
    contentIsNeedRefresh: false,
 | 
			
		||||
    // 内容, 标签页(默认添加首页)
 | 
			
		||||
    contentTabs: [
 | 
			
		||||
      {
 | 
			
		||||
        ...window.SITE_CONFIG['contentTabDefault'],
 | 
			
		||||
        'name': 'home',
 | 
			
		||||
        'title': '首页'
 | 
			
		||||
      }
 | 
			
		||||
      // {
 | 
			
		||||
      //   ...window.SITE_CONFIG['contentTabDefault'],
 | 
			
		||||
      //   'name': 'home',
 | 
			
		||||
      //   'title': '首页'
 | 
			
		||||
      // }
 | 
			
		||||
    ],
 | 
			
		||||
    contentTabsActiveName: 'home'
 | 
			
		||||
  },
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,10 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zwq
 | 
			
		||||
 * @Date: 2023-07-13 15:31:21
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @LastEditTime: 2023-07-20 09:05:48
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <main :class="['aui-content', { 'aui-content--tabs': $route.meta.isTab }]">
 | 
			
		||||
    <!-- tab展示内容 -->
 | 
			
		||||
@@ -16,11 +23,13 @@
 | 
			
		||||
          :key="item.name"
 | 
			
		||||
          :name="item.name"
 | 
			
		||||
          :label="item.title"
 | 
			
		||||
          :closable="item.name !== 'home'"
 | 
			
		||||
          closable
 | 
			
		||||
          :class="{ 'is-iframe': tabIsIframe(item.iframeURL) }">
 | 
			
		||||
          <template v-if="item.name === 'home'">
 | 
			
		||||
            <svg slot="label" class="icon-svg aui-content--tabs-icon-nav" aria-hidden="true"><use xlink:href="#icon-home"></use></svg>
 | 
			
		||||
          </template>
 | 
			
		||||
          <!-- <template v-if="item.name === 'home'">
 | 
			
		||||
            <svg slot="label" class="icon-svg aui-content--tabs-icon-nav" aria-hidden="true">
 | 
			
		||||
              <use xlink:href="#首页"></use>
 | 
			
		||||
            </svg>
 | 
			
		||||
          </template> -->
 | 
			
		||||
          <iframe v-if="tabIsIframe(item.iframeURL)" :src="item.iframeURL" width="100%" height="100%" frameborder="0" scrolling="yes"></iframe>
 | 
			
		||||
          <!-- <keep-alive > -->
 | 
			
		||||
            <router-view v-if="item.name === $store.state.contentTabsActiveName" />
 | 
			
		||||
@@ -62,9 +71,9 @@ export default {
 | 
			
		||||
    },
 | 
			
		||||
    // tabs, 删除tab
 | 
			
		||||
    tabRemoveHandle (tabName) {
 | 
			
		||||
      if (tabName === 'home') {
 | 
			
		||||
        return false
 | 
			
		||||
      }
 | 
			
		||||
      // if (tabName === 'home') {
 | 
			
		||||
      //   return false
 | 
			
		||||
      // }
 | 
			
		||||
      this.$store.state.contentTabs = this.$store.state.contentTabs.filter(item => item.name !== tabName)
 | 
			
		||||
      if (this.$store.state.contentTabs.length <= 0) {
 | 
			
		||||
        this.$store.state.sidebarMenuActiveName = this.$store.state.contentTabsActiveName = 'home'
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 * @Author: zwq
 | 
			
		||||
 * @Date: 2022-08-22 14:57:51
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @LastEditTime: 2023-05-12 12:46:50
 | 
			
		||||
 * @LastEditTime: 2023-07-19 09:27:53
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
@@ -36,10 +36,11 @@
 | 
			
		||||
         
 | 
			
		||||
        <el-menu-item index="6" @click="$router.push({ name: 'home' })">
 | 
			
		||||
          <svg class="icon-svg aui-navbar__icon-menu" aria-hidden="true">
 | 
			
		||||
            <use xlink:href="#icon-home"></use>
 | 
			
		||||
            <use xlink:href="#首页"></use>
 | 
			
		||||
          </svg>
 | 
			
		||||
        </el-menu-item>
 | 
			
		||||
        <el-menu-item index="7">
 | 
			
		||||
        <!-- 中英文 -->
 | 
			
		||||
        <!-- <el-menu-item index="7">
 | 
			
		||||
          <el-dropdown trigger="click" class="international" @command="handleSetLanguage">
 | 
			
		||||
            <div>
 | 
			
		||||
              <svg class="icon-svg aui-navbar__icon-menu" aria-hidden="true">
 | 
			
		||||
@@ -55,7 +56,7 @@
 | 
			
		||||
              </el-dropdown-item>
 | 
			
		||||
            </el-dropdown-menu>
 | 
			
		||||
          </el-dropdown>
 | 
			
		||||
        </el-menu-item>
 | 
			
		||||
        </el-menu-item> -->
 | 
			
		||||
        <el-menu-item index="4" @click="fullscreenHandle()">
 | 
			
		||||
          <svg class="icon-svg aui-navbar__icon-menu" aria-hidden="true">
 | 
			
		||||
            <use xlink:href="#icon-fullscreen"></use>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,20 +1,21 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-12 13:49:47
 | 
			
		||||
 * @LastEditTime: 2023-07-18 16:55:42
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()" label-width="120px">
 | 
			
		||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
    label-width="120px">
 | 
			
		||||
    <el-form-item prop="controlCode" :label="$t('basic.code')">
 | 
			
		||||
      <el-input v-model="dataForm.controlCode" :placeholder="$t('basic.code')"></el-input>
 | 
			
		||||
      <el-input clearable v-model="dataForm.controlCode" :placeholder="$t('basic.code')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="controlName" :label="$t('basic.name')">
 | 
			
		||||
      <el-input v-model="dataForm.controlName" :placeholder="$t('basic.name')"></el-input>
 | 
			
		||||
      <el-input clearable v-model="dataForm.controlName" :placeholder="$t('basic.name')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="specifications" :label="$t('basic.specification')">
 | 
			
		||||
      <el-input v-model="dataForm.specifications" :placeholder="$t('basic.specification')"></el-input>
 | 
			
		||||
      <el-input clearable v-model="dataForm.specifications" :placeholder="$t('basic.specification')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="incomingInspection" :label="$t('basic.stock')">
 | 
			
		||||
      <el-switch v-model="dataForm.incomingInspection" :active-value="1" :inactive-value="0">
 | 
			
		||||
@@ -33,13 +34,13 @@
 | 
			
		||||
      </el-switch>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="controlStatus" :label="$t('basic.status')">
 | 
			
		||||
      <el-select v-model="dataForm.controlStatus" :placeholder="$t('basic.status')">
 | 
			
		||||
      <el-select clearable v-model="dataForm.controlStatus" :placeholder="$t('basic.status')">
 | 
			
		||||
        <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="remark" :label="$t('basic.remark')">
 | 
			
		||||
      <el-input v-model="dataForm.remark" :placeholder="$t('basic.remark')"></el-input>
 | 
			
		||||
      <el-input clearable v-model="dataForm.remark" :placeholder="$t('basic.remark')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
  </el-form>
 | 
			
		||||
</template>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,26 +1,27 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-12 13:57:14
 | 
			
		||||
 * @LastEditTime: 2023-07-18 16:55:57
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()" label-width="120px">
 | 
			
		||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
    label-width="120px">
 | 
			
		||||
    <el-form-item prop="customerCode" :label="$t('basic.code')">
 | 
			
		||||
      <el-input v-model="dataForm.customerCode" :placeholder="$t('basic.code')"></el-input>
 | 
			
		||||
      <el-input clearable v-model="dataForm.customerCode" :placeholder="$t('basic.code')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="customerName" :label="$t('basic.name')">
 | 
			
		||||
      <el-input v-model="dataForm.customerName" :placeholder="$t('basic.name')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="customerTypeId" :label="$t('basic.customerTypeName')">
 | 
			
		||||
      <el-select v-model="dataForm.customerTypeId" :placeholder="$t('basic.customerTypeName')">
 | 
			
		||||
      <el-select clearable v-model="dataForm.customerTypeId" :placeholder="$t('basic.customerTypeName')">
 | 
			
		||||
        <el-option v-for="item in customerTypeList" :key="item.id" :label="item.customerTypeName" :value="item.id">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="customerTypeStatus" :label="$t('basic.status')">
 | 
			
		||||
      <el-select v-model="dataForm.customerTypeStatus" :placeholder="$t('basic.status')">
 | 
			
		||||
      <el-select clearable v-model="dataForm.customerTypeStatus" :placeholder="$t('basic.status')">
 | 
			
		||||
        <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-12 13:55:20
 | 
			
		||||
 * @LastEditTime: 2023-07-18 16:56:08
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -9,13 +9,13 @@
 | 
			
		||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
    label-width="120px">
 | 
			
		||||
    <el-form-item prop="customerTypeCode" :label="$t('basic.code')">
 | 
			
		||||
      <el-input v-model="dataForm.customerTypeCode" :placeholder="$t('basic.code')"></el-input>
 | 
			
		||||
      <el-input clearable v-model="dataForm.customerTypeCode" :placeholder="$t('basic.code')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="customerTypeName" :label="$t('basic.name')">
 | 
			
		||||
      <el-input v-model="dataForm.customerTypeName" :placeholder="$t('basic.name')"></el-input>
 | 
			
		||||
      <el-input clearable v-model="dataForm.customerTypeName" :placeholder="$t('basic.name')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="customerTypeStatus" :label="$t('basic.status')">
 | 
			
		||||
      <el-select v-model="dataForm.customerTypeStatus" :placeholder="$t('basic.status')">
 | 
			
		||||
      <el-select clearable v-model="dataForm.customerTypeStatus" :placeholder="$t('basic.status')">
 | 
			
		||||
        <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-12 13:52:25
 | 
			
		||||
 * @LastEditTime: 2023-07-18 16:56:16
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -9,13 +9,13 @@
 | 
			
		||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
    label-width="120px">
 | 
			
		||||
    <el-form-item prop="failureTypeCode" :label="$t('basic.code')">
 | 
			
		||||
      <el-input v-model="dataForm.failureTypeCode" :placeholder="$t('basic.code')"></el-input>
 | 
			
		||||
      <el-input clearable v-model="dataForm.failureTypeCode" :placeholder="$t('basic.code')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="failureTypeName" :label="$t('basic.name')">
 | 
			
		||||
      <el-input v-model="dataForm.failureTypeName" :placeholder="$t('basic.name')"></el-input>
 | 
			
		||||
      <el-input clearable v-model="dataForm.failureTypeName" :placeholder="$t('basic.name')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="failureTypeStatus" :label="$t('basic.status')">
 | 
			
		||||
      <el-select v-model="dataForm.failureTypeStatus" :placeholder="$t('basic.status')">
 | 
			
		||||
      <el-select clearable v-model="dataForm.failureTypeStatus" :placeholder="$t('basic.status')">
 | 
			
		||||
        <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
 
 | 
			
		||||
@@ -121,13 +121,6 @@ export default {
 | 
			
		||||
          param: 'name',
 | 
			
		||||
          clearable:true
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain:true
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
@@ -135,6 +128,13 @@ export default {
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain:true
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "关联产品列表",
 | 
			
		||||
 
 | 
			
		||||
@@ -147,17 +147,17 @@ export default {
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -128,17 +128,17 @@ export default {
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-07-11 10:07:22
 | 
			
		||||
 * @LastEditTime: 2023-07-18 10:19:11
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -128,17 +128,17 @@ export default {
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
 
 | 
			
		||||
@@ -120,17 +120,17 @@ export default {
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-21 14:30:17
 | 
			
		||||
 * @LastEditTime: 2023-07-11 10:24:01
 | 
			
		||||
 * @LastEditTime: 2023-07-18 10:19:37
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -135,17 +135,17 @@ export default {
 | 
			
		||||
        // },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-21 14:30:17
 | 
			
		||||
 * @LastEditTime: 2023-07-11 10:16:26
 | 
			
		||||
 * @LastEditTime: 2023-07-18 10:19:49
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -151,17 +151,17 @@ export default {
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: 'success',
 | 
			
		||||
          plain: true
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,109 +0,0 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-06-26 13:39:19
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <el-card shadow="never" class="aui-card--fill">
 | 
			
		||||
    <div class="mod-sys__user">
 | 
			
		||||
      <SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
 | 
			
		||||
        <!-- <el-button type="primary" size="small" plain>导入</el-button> -->
 | 
			
		||||
      </SearchBar>
 | 
			
		||||
      <base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
 | 
			
		||||
        <method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
 | 
			
		||||
          @clickBtn="handleClick" />
 | 
			
		||||
      </base-table>
 | 
			
		||||
      <pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
 | 
			
		||||
        @pagination="getDataList" />
 | 
			
		||||
      <!-- 弹窗, 新增 / 修改 -->
 | 
			
		||||
      <base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
 | 
			
		||||
        @confirm="handleConfirm" :before-close="handleCancel">
 | 
			
		||||
        <teamMember-add ref="addOrUpdate" @successSubmit="successSubmit"></teamMember-add>
 | 
			
		||||
      </base-dialog>
 | 
			
		||||
    </div>
 | 
			
		||||
  </el-card>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import basicPage from "@/mixins/basic-page";
 | 
			
		||||
import teamMemberAdd from './components/teamMember-add'
 | 
			
		||||
import i18n from "@/i18n";
 | 
			
		||||
const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: "paramCode",
 | 
			
		||||
    label: i18n.t("params.paramCode"),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "paramValue",
 | 
			
		||||
    label: i18n.t("params.paramValue"),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "remark",
 | 
			
		||||
    label: i18n.t("params.remark"),
 | 
			
		||||
  },
 | 
			
		||||
];
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
    type: "edit",
 | 
			
		||||
    btnName: "编辑",
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    type: "delete",
 | 
			
		||||
    btnName: "删除",
 | 
			
		||||
  },
 | 
			
		||||
];
 | 
			
		||||
export default {
 | 
			
		||||
  mixins: [basicPage],
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      urlOptions: {
 | 
			
		||||
        getDataListURL: "/basic/qmsTeamMember/page",
 | 
			
		||||
        deleteURL: "/basic/qmsControlMode",
 | 
			
		||||
      },
 | 
			
		||||
      tableProps,
 | 
			
		||||
      tableBtn,
 | 
			
		||||
      formConfig: [
 | 
			
		||||
        // {
 | 
			
		||||
        //   type: "",
 | 
			
		||||
        //   label: i18n.t("params.paramCode"),
 | 
			
		||||
        //   placeholder: i18n.t("params.paramCode"),
 | 
			
		||||
        //   param: "paramCode",
 | 
			
		||||
        // },
 | 
			
		||||
        // {
 | 
			
		||||
        //   type: "separate",
 | 
			
		||||
        // },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
        },
 | 
			
		||||
      ],
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
  components: {
 | 
			
		||||
    teamMemberAdd,
 | 
			
		||||
  },
 | 
			
		||||
  methods:{
 | 
			
		||||
    //search-bar点击
 | 
			
		||||
    buttonClick(val) {
 | 
			
		||||
      switch (val.btnName) {
 | 
			
		||||
        case "search":
 | 
			
		||||
          // this.listQuery.paramCode = val.paramCode;
 | 
			
		||||
          this.listQuery.page = 1;
 | 
			
		||||
          this.getDataList();
 | 
			
		||||
          break;
 | 
			
		||||
        case "add":
 | 
			
		||||
          this.addOrEditTitle = '新增'
 | 
			
		||||
          this.addOrUpdateVisible = true;   
 | 
			
		||||
          this.addOrUpdateHandle()
 | 
			
		||||
          break;
 | 
			
		||||
        default:
 | 
			
		||||
          console.log(val)
 | 
			
		||||
       }
 | 
			
		||||
    },
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-14 10:17:26
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @LastEditTime: 2023-07-17 10:24:03
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
@@ -10,7 +10,7 @@
 | 
			
		||||
    <el-row :gutter="24">
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="factoryId" :label="$t('code.factoryName')">
 | 
			
		||||
          <el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
 | 
			
		||||
          <el-select  v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
 | 
			
		||||
            <el-option v-for="item in factoryList" :key="item.id" :label="item.factoryName" :value="item.id">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
@@ -18,26 +18,26 @@
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="inspectionTime" :label="$t('code.inspectionTime')">
 | 
			
		||||
          <el-date-picker v-model="dataForm.inspectionTime" type="datetime" :placeholder="$t('code.inspectionTime')"
 | 
			
		||||
            format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
 | 
			
		||||
          <el-date-picker  v-model="dataForm.inspectionTime" type="datetime"
 | 
			
		||||
            :placeholder="$t('code.inspectionTime')" format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
 | 
			
		||||
          </el-date-picker>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="orderNumber" :label="$t('code.orderNumber')">
 | 
			
		||||
          <el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
 | 
			
		||||
          <el-input  v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-row :gutter="24">
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="batchNo" :label="$t('code.batchNo')">
 | 
			
		||||
          <el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
 | 
			
		||||
          <el-input  v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="inspectionType" :label="$t('code.inspectionType')">
 | 
			
		||||
          <el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
 | 
			
		||||
          <el-select  v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
 | 
			
		||||
            <el-option v-for="item in inspectionTypeList" :key="item.value" :label="item.label" :value="item.value">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
@@ -53,7 +53,7 @@
 | 
			
		||||
    <el-row :gutter="24">
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="productId" :label="$t('code.productName')">
 | 
			
		||||
          <el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
 | 
			
		||||
          <el-select  v-model="dataForm.productId" :placeholder="$t('code.productName')">
 | 
			
		||||
            <el-option v-for="item in productList" :key="item.id" :label="item.name" :value="item.id">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
@@ -61,7 +61,7 @@
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="supplierId" :label="$t('code.supplierName')">
 | 
			
		||||
          <el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
 | 
			
		||||
          <el-select  v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
 | 
			
		||||
            <el-option v-for="item in supplierList" :key="item.id" :label="item.name" :value="item.id">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
@@ -69,31 +69,34 @@
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="batchQuantity" :label="$t('code.batchQuantity')">
 | 
			
		||||
          <el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')"></el-input>
 | 
			
		||||
          <el-input  v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')">
 | 
			
		||||
          </el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-row :gutter="24">
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="inspectionQuantity" :label="$t('code.inspectionQuantity')">
 | 
			
		||||
          <el-input v-model="dataForm.inspectionQuantity" :placeholder="$t('code.inspectionQuantity')"></el-input>
 | 
			
		||||
          <el-input  v-model="dataForm.inspectionQuantity"
 | 
			
		||||
            :placeholder="$t('code.inspectionQuantity')"></el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="batchSize" :label="$t('code.batchSize')">
 | 
			
		||||
          <el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
 | 
			
		||||
          <el-input  v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="samplesQuantity" :label="$t('code.samplesQuantity')">
 | 
			
		||||
          <el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')"></el-input>
 | 
			
		||||
          <el-input  v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')">
 | 
			
		||||
          </el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-row :gutter="24">
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="companyId" :label="$t('code.companyName')">
 | 
			
		||||
          <el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
 | 
			
		||||
          <el-select  v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
 | 
			
		||||
            <el-option v-for="item in unitList" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
@@ -101,15 +104,15 @@
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="userId" :label="$t('code.username')">
 | 
			
		||||
          <el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
 | 
			
		||||
            <el-option v-for="item in unitList" :key="item.id" :label="item.realName" :value="item.id">
 | 
			
		||||
          <el-select  v-model="dataForm.userId" :placeholder="$t('code.username')">
 | 
			
		||||
            <el-option v-for="item in userList" :key="item.id" :label="item.realName" :value="item.id">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="inspectionStatus" :label="$t('code.inspectionStatus')">
 | 
			
		||||
          <el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
 | 
			
		||||
          <el-select  v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
 | 
			
		||||
            <el-option v-for="item in inspectionStatusList" :key="item.id" :label="item.name" :value="item.id">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
@@ -119,7 +122,7 @@
 | 
			
		||||
    <el-row :gutter="24">
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="customSamplingId" :label="$t('code.customSampling')">
 | 
			
		||||
          <el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
 | 
			
		||||
          <el-select  v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
 | 
			
		||||
            <el-option v-for="item in samplingPlanList" :key="item.id" :label="item.sampleRange" :value="item.id">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
@@ -331,23 +334,13 @@ export default {
 | 
			
		||||
          params: this.listQuery
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          ;console.log(res.data.list)
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            this.userList = res.data.list
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
        })
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(this.urlOptions.getProductURL, {
 | 
			
		||||
          params: this.listQuery
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            this.productList = res.data.list
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
        })
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(this.urlOptions.getDictDataList, {
 | 
			
		||||
          params: {
 | 
			
		||||
@@ -385,6 +378,17 @@ export default {
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
        })
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(this.urlOptions.getProductURL, {
 | 
			
		||||
          params: this.listQuery
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            this.productList = res.data.list
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
        })
 | 
			
		||||
      // console.log(111111);
 | 
			
		||||
    },
 | 
			
		||||
    // 表单提交
 | 
			
		||||
 
 | 
			
		||||
@@ -1,15 +1,20 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-14 10:17:44
 | 
			
		||||
 * @LastEditTime: 2023-07-17 10:21:47
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <el-form :model="dataForm" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" label-width="130px">
 | 
			
		||||
  <el-form
 | 
			
		||||
    :model="dataForm"
 | 
			
		||||
    ref="dataForm"
 | 
			
		||||
    :rules="dataRule"
 | 
			
		||||
    @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
    label-width="130px"
 | 
			
		||||
  >
 | 
			
		||||
    <el-form-item prop="name" :label="$t('code.name')">
 | 
			
		||||
      <el-input v-model="dataForm.name" :placeholder="$t('code.name')">
 | 
			
		||||
      </el-input>
 | 
			
		||||
      <el-input v-model="dataForm.name" :placeholder="$t('code.name')"> </el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="code" :label="$t('code.code')">
 | 
			
		||||
      <el-input v-model="dataForm.code" :placeholder="$t('code.code')"></el-input>
 | 
			
		||||
@@ -19,8 +24,16 @@
 | 
			
		||||
      </el-switch>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="eightDisciplineType" :label="$t('code.eightDisciplineType')">
 | 
			
		||||
      <el-select v-model="dataForm.eightDisciplineType" :placeholder="$t('code.eightDisciplineType')">
 | 
			
		||||
        <el-option v-for="item in eightDisciplineTypeList" :key="item.value" :label="item.label" :value="item.value">
 | 
			
		||||
      <el-select
 | 
			
		||||
        v-model="dataForm.eightDisciplineType"
 | 
			
		||||
        :placeholder="$t('code.eightDisciplineType')"
 | 
			
		||||
      >
 | 
			
		||||
        <el-option
 | 
			
		||||
          v-for="item in eightDisciplineTypeList"
 | 
			
		||||
          :key="item.value"
 | 
			
		||||
          :label="item.label"
 | 
			
		||||
          :value="item.value"
 | 
			
		||||
        >
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
@@ -36,36 +49,38 @@ export default {
 | 
			
		||||
    return {
 | 
			
		||||
      urlOptions: {
 | 
			
		||||
        submitURL: "/code/eightDiscipline",
 | 
			
		||||
        infoURL: "/code/eightDiscipline"
 | 
			
		||||
        infoURL: "/code/eightDiscipline",
 | 
			
		||||
      },
 | 
			
		||||
      options: [{
 | 
			
		||||
        value: 0,
 | 
			
		||||
        label: '不可用'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        value: 1,
 | 
			
		||||
        label: '可用'
 | 
			
		||||
        }],
 | 
			
		||||
      options: [
 | 
			
		||||
        {
 | 
			
		||||
          value: 0,
 | 
			
		||||
          label: "不可用",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          value: 1,
 | 
			
		||||
          label: "可用",
 | 
			
		||||
        },
 | 
			
		||||
      ],
 | 
			
		||||
      eightDisciplineTypeList: [
 | 
			
		||||
        {
 | 
			
		||||
          value: '0',
 | 
			
		||||
          label: '重复发生问题 '
 | 
			
		||||
          value: "0",
 | 
			
		||||
          label: "重复发生问题 ",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          value: '1',
 | 
			
		||||
          label: '客诉问题'
 | 
			
		||||
          value: "1",
 | 
			
		||||
          label: "客诉问题",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          value: '2',
 | 
			
		||||
          label: '重大质量问题'
 | 
			
		||||
        }
 | 
			
		||||
          value: "2",
 | 
			
		||||
          label: "重大质量问题",
 | 
			
		||||
        },
 | 
			
		||||
      ],
 | 
			
		||||
      visible: false,
 | 
			
		||||
      dataForm: {
 | 
			
		||||
        id: null,
 | 
			
		||||
        name: null,
 | 
			
		||||
        code:null,	
 | 
			
		||||
        eightDisciplineType:null,
 | 
			
		||||
        code: null,
 | 
			
		||||
        eightDisciplineType: null,
 | 
			
		||||
        eightDisciplineStatus: 0,
 | 
			
		||||
      },
 | 
			
		||||
    };
 | 
			
		||||
@@ -73,40 +88,33 @@ export default {
 | 
			
		||||
  computed: {
 | 
			
		||||
    dataRule() {
 | 
			
		||||
      return {
 | 
			
		||||
        // dictLabel: [
 | 
			
		||||
        //   {
 | 
			
		||||
        //     required: true,
 | 
			
		||||
        //     message: this.$t("validate.required"),
 | 
			
		||||
        //     trigger: "blur",
 | 
			
		||||
        //   },
 | 
			
		||||
        // ],
 | 
			
		||||
        // dictValue: [
 | 
			
		||||
        //   {
 | 
			
		||||
        //     required: true,
 | 
			
		||||
        //     message: this.$t("validate.required"),
 | 
			
		||||
        //     trigger: "blur",
 | 
			
		||||
        //   },
 | 
			
		||||
        // ],
 | 
			
		||||
        // sort: [
 | 
			
		||||
        //   {
 | 
			
		||||
        //     required: true,
 | 
			
		||||
        //     message: this.$t("validate.required"),
 | 
			
		||||
        //     trigger: "blur",
 | 
			
		||||
        //   },
 | 
			
		||||
        // ],
 | 
			
		||||
        code: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: "请输入编码",
 | 
			
		||||
            trigger: "blur",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        name: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: "请输入名称",
 | 
			
		||||
            trigger: "blur",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
      };
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    init(id, ) {
 | 
			
		||||
      this.dataForm.id = id || ""
 | 
			
		||||
    init(id) {
 | 
			
		||||
      this.dataForm.id = id || "";
 | 
			
		||||
      // console.log(11111)
 | 
			
		||||
      // this.dataForm.dictTypeId = dictTypeId || "";
 | 
			
		||||
      this.visible = true
 | 
			
		||||
      this.visible = true;
 | 
			
		||||
      this.$nextTick(() => {
 | 
			
		||||
        this.$refs["dataForm"].resetFields();
 | 
			
		||||
        if (this.dataForm.id) {
 | 
			
		||||
          this.getInfo()
 | 
			
		||||
          this.getInfo();
 | 
			
		||||
        } else {
 | 
			
		||||
          // this.getCode()
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,78 +1,74 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-14 13:41:37
 | 
			
		||||
 * @LastEditTime: 2023-07-17 10:23:23
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
    <el-form :model="dataForm" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" label-width="130px">
 | 
			
		||||
      <el-form-item prop="name" :label="$t('code.name')">
 | 
			
		||||
        <el-input v-model="dataForm.name" :placeholder="$t('code.name')">
 | 
			
		||||
        </el-input>
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-form-item prop="code" :label="$t('code.code')">
 | 
			
		||||
        <el-input v-model="dataForm.code" :placeholder="$t('code.code')"></el-input>
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-form-item prop="problemStatus" label="状态">
 | 
			
		||||
        <el-switch v-model="dataForm.problemStatus" :active-value="1" :inactive-value="0">
 | 
			
		||||
        </el-switch>
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-form-item prop="description" label="描述">
 | 
			
		||||
        <el-input v-model="dataForm.description" placeholder="描述"></el-input>
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
    </el-form>
 | 
			
		||||
  </template>
 | 
			
		||||
  
 | 
			
		||||
  <script>
 | 
			
		||||
  import basicAdd from "@/mixins/basic-add";
 | 
			
		||||
  export default {
 | 
			
		||||
    mixins: [basicAdd],
 | 
			
		||||
    data() {
 | 
			
		||||
  <el-form
 | 
			
		||||
    :model="dataForm"
 | 
			
		||||
    :rules="dataRule"
 | 
			
		||||
    ref="dataForm"
 | 
			
		||||
    @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
    label-width="130px"
 | 
			
		||||
  >
 | 
			
		||||
    <el-form-item prop="name" :label="$t('code.name')">
 | 
			
		||||
      <el-input v-model="dataForm.name" :placeholder="$t('code.name')"> </el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="code" :label="$t('code.code')">
 | 
			
		||||
      <el-input v-model="dataForm.code" :placeholder="$t('code.code')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="problemStatus" label="状态">
 | 
			
		||||
      <el-switch v-model="dataForm.problemStatus" :active-value="1" :inactive-value="0">
 | 
			
		||||
      </el-switch>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="description" label="描述">
 | 
			
		||||
      <el-input v-model="dataForm.description" placeholder="描述"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
  </el-form>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import basicAdd from "@/mixins/basic-add";
 | 
			
		||||
export default {
 | 
			
		||||
  mixins: [basicAdd],
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      urlOptions: {
 | 
			
		||||
        submitURL: "/code/problemType",
 | 
			
		||||
        infoURL: "/code/problemType",
 | 
			
		||||
      },
 | 
			
		||||
      visible: false,
 | 
			
		||||
      dataForm: {
 | 
			
		||||
        id: null,
 | 
			
		||||
        name: null,
 | 
			
		||||
        code: null,
 | 
			
		||||
        description: null,
 | 
			
		||||
        problemStatus: 0,
 | 
			
		||||
      },
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
  computed: {
 | 
			
		||||
    dataRule() {
 | 
			
		||||
      return {
 | 
			
		||||
        urlOptions: {
 | 
			
		||||
          submitURL: "/code/problemType",
 | 
			
		||||
          infoURL: "/code/problemType"
 | 
			
		||||
        },
 | 
			
		||||
        visible: false,
 | 
			
		||||
        dataForm: {
 | 
			
		||||
          id: null,
 | 
			
		||||
          name: null,
 | 
			
		||||
          code:null,	
 | 
			
		||||
          description:null,
 | 
			
		||||
          problemStatus: 0,
 | 
			
		||||
        },
 | 
			
		||||
        code: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: "请输入编码",
 | 
			
		||||
            trigger: "blur",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        name: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: "请输入名称",
 | 
			
		||||
            trigger: "blur",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
      };
 | 
			
		||||
    },
 | 
			
		||||
    computed: {
 | 
			
		||||
      dataRule() {
 | 
			
		||||
        return {
 | 
			
		||||
          // dictLabel: [
 | 
			
		||||
          //   {
 | 
			
		||||
          //     required: true,
 | 
			
		||||
          //     message: this.$t("validate.required"),
 | 
			
		||||
          //     trigger: "blur",
 | 
			
		||||
          //   },
 | 
			
		||||
          // ],
 | 
			
		||||
          // dictValue: [
 | 
			
		||||
          //   {
 | 
			
		||||
          //     required: true,
 | 
			
		||||
          //     message: this.$t("validate.required"),
 | 
			
		||||
          //     trigger: "blur",
 | 
			
		||||
          //   },
 | 
			
		||||
          // ],
 | 
			
		||||
          // sort: [
 | 
			
		||||
          //   {
 | 
			
		||||
          //     required: true,
 | 
			
		||||
          //     message: this.$t("validate.required"),
 | 
			
		||||
          //     trigger: "blur",
 | 
			
		||||
          //   },
 | 
			
		||||
          // ],
 | 
			
		||||
        };
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
    methods: {
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
  </script>
 | 
			
		||||
  
 | 
			
		||||
  },
 | 
			
		||||
  methods: {},
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
 
 | 
			
		||||
@@ -2,8 +2,8 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-14 10:18:03
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @LastEditTime: 2023-07-17 10:24:07
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
@@ -11,7 +11,7 @@
 | 
			
		||||
    <el-row :gutter="24">
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="factoryId" :label="$t('code.factoryName')">
 | 
			
		||||
          <el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
 | 
			
		||||
          <el-select  v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
 | 
			
		||||
            <el-option v-for="item in factoryList" :key="item.id" :label="item.factoryName" :value="item.id">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
@@ -19,26 +19,26 @@
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="inspectionTime" :label="$t('code.inspectionTime')">
 | 
			
		||||
          <el-date-picker v-model="dataForm.inspectionTime" type="datetime" :placeholder="$t('code.inspectionTime')"
 | 
			
		||||
            format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
 | 
			
		||||
          <el-date-picker  v-model="dataForm.inspectionTime" type="datetime"
 | 
			
		||||
            :placeholder="$t('code.inspectionTime')" format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
 | 
			
		||||
          </el-date-picker>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="orderNumber" :label="$t('code.orderNumber')">
 | 
			
		||||
          <el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
 | 
			
		||||
          <el-input  v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-row :gutter="24">
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="batchNo" :label="$t('code.batchNo')">
 | 
			
		||||
          <el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
 | 
			
		||||
          <el-input  v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="inspectionType" :label="$t('code.inspectionType')">
 | 
			
		||||
          <el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
 | 
			
		||||
          <el-select  v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
 | 
			
		||||
            <el-option v-for="item in inspectionTypeList" :key="item.value" :label="item.label" :value="item.value">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
@@ -54,7 +54,7 @@
 | 
			
		||||
    <el-row :gutter="24">
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="productId" :label="$t('code.productName')">
 | 
			
		||||
          <el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
 | 
			
		||||
          <el-select  v-model="dataForm.productId" :placeholder="$t('code.productName')">
 | 
			
		||||
            <el-option v-for="item in productList" :key="item.id" :label="item.name" :value="item.id">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
@@ -62,7 +62,7 @@
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="supplierId" :label="$t('code.supplierName')">
 | 
			
		||||
          <el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
 | 
			
		||||
          <el-select  v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
 | 
			
		||||
            <el-option v-for="item in supplierList" :key="item.id" :label="item.name" :value="item.id">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
@@ -70,31 +70,34 @@
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="batchQuantity" :label="$t('code.batchQuantity')">
 | 
			
		||||
          <el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')"></el-input>
 | 
			
		||||
          <el-input  v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')">
 | 
			
		||||
          </el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-row :gutter="24">
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="inspectionQuantity" :label="$t('code.inspectionQuantity')">
 | 
			
		||||
          <el-input v-model="dataForm.inspectionQuantity" :placeholder="$t('code.inspectionQuantity')"></el-input>
 | 
			
		||||
          <el-input  v-model="dataForm.inspectionQuantity"
 | 
			
		||||
            :placeholder="$t('code.inspectionQuantity')"></el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="batchSize" :label="$t('code.batchSize')">
 | 
			
		||||
          <el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
 | 
			
		||||
          <el-input  v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="samplesQuantity" :label="$t('code.samplesQuantity')">
 | 
			
		||||
          <el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')"></el-input>
 | 
			
		||||
          <el-input  v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')">
 | 
			
		||||
          </el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-row :gutter="24">
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="companyId" :label="$t('code.companyName')">
 | 
			
		||||
          <el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
 | 
			
		||||
          <el-select  v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
 | 
			
		||||
            <el-option v-for="item in unitList" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
@@ -102,15 +105,15 @@
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="userId" :label="$t('code.username')">
 | 
			
		||||
          <el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
 | 
			
		||||
            <el-option v-for="item in unitList" :key="item.id" :label="item.realName" :value="item.id">
 | 
			
		||||
          <el-select  v-model="dataForm.userId" :placeholder="$t('code.username')">
 | 
			
		||||
            <el-option v-for="item in userList" :key="item.id" :label="item.realName" :value="item.id">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="inspectionStatus" :label="$t('code.inspectionStatus')">
 | 
			
		||||
          <el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
 | 
			
		||||
          <el-select  v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
 | 
			
		||||
            <el-option v-for="item in inspectionStatusList" :key="item.id" :label="item.name" :value="item.id">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
@@ -120,7 +123,7 @@
 | 
			
		||||
    <el-row :gutter="24">
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="customSamplingId" :label="$t('code.customSampling')">
 | 
			
		||||
          <el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
 | 
			
		||||
          <el-select  v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
 | 
			
		||||
            <el-option v-for="item in samplingPlanList" :key="item.id" :label="item.sampleRange" :value="item.id">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-14 10:18:33
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @LastEditTime: 2023-07-17 10:24:12
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
@@ -11,7 +11,7 @@
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="factoryId" :label="$t('code.factoryName')">
 | 
			
		||||
            <el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
 | 
			
		||||
            <el-select  v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
 | 
			
		||||
              <el-option v-for="item in factoryList" :key="item.id" :label="item.factoryName" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
@@ -19,26 +19,26 @@
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="inspectionTime" :label="$t('code.inspectionTime')">
 | 
			
		||||
            <el-date-picker v-model="dataForm.inspectionTime" type="datetime" :placeholder="$t('code.inspectionTime')"
 | 
			
		||||
              format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
 | 
			
		||||
            <el-date-picker  v-model="dataForm.inspectionTime" type="datetime"
 | 
			
		||||
              :placeholder="$t('code.inspectionTime')" format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
 | 
			
		||||
            </el-date-picker>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="orderNumber" :label="$t('code.orderNumber')">
 | 
			
		||||
            <el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
 | 
			
		||||
            <el-input  v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
      </el-row>
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="batchNo" :label="$t('code.batchNo')">
 | 
			
		||||
            <el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
 | 
			
		||||
            <el-input  v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="inspectionType" :label="$t('code.inspectionType')">
 | 
			
		||||
            <el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
 | 
			
		||||
            <el-select  v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
 | 
			
		||||
              <el-option v-for="item in inspectionTypeList" :key="item.value" :label="item.label" :value="item.value">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
@@ -54,7 +54,7 @@
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="productId" :label="$t('code.productName')">
 | 
			
		||||
            <el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
 | 
			
		||||
            <el-select  v-model="dataForm.productId" :placeholder="$t('code.productName')">
 | 
			
		||||
              <el-option v-for="item in productList" :key="item.id" :label="item.name" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
@@ -62,7 +62,7 @@
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="supplierId" :label="$t('code.supplierName')">
 | 
			
		||||
            <el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
 | 
			
		||||
            <el-select  v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
 | 
			
		||||
              <el-option v-for="item in supplierList" :key="item.id" :label="item.name" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
@@ -70,31 +70,34 @@
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="batchQuantity" :label="$t('code.batchQuantity')">
 | 
			
		||||
            <el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')"></el-input>
 | 
			
		||||
            <el-input  v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
      </el-row>
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="inspectionQuantity" :label="$t('code.inspectionQuantity')">
 | 
			
		||||
            <el-input v-model="dataForm.inspectionQuantity" :placeholder="$t('code.inspectionQuantity')"></el-input>
 | 
			
		||||
            <el-input  v-model="dataForm.inspectionQuantity"
 | 
			
		||||
              :placeholder="$t('code.inspectionQuantity')"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="batchSize" :label="$t('code.batchSize')">
 | 
			
		||||
            <el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
 | 
			
		||||
            <el-input  v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="samplesQuantity" :label="$t('code.samplesQuantity')">
 | 
			
		||||
            <el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')"></el-input>
 | 
			
		||||
            <el-input  v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
      </el-row>
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="companyId" :label="$t('code.companyName')">
 | 
			
		||||
            <el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
 | 
			
		||||
            <el-select  v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
 | 
			
		||||
              <el-option v-for="item in unitList" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
@@ -102,15 +105,15 @@
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="userId" :label="$t('code.username')">
 | 
			
		||||
            <el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
 | 
			
		||||
              <el-option v-for="item in unitList" :key="item.id" :label="item.realName" :value="item.id">
 | 
			
		||||
            <el-select  v-model="dataForm.userId" :placeholder="$t('code.username')">
 | 
			
		||||
              <el-option v-for="item in userList" :key="item.id" :label="item.realName" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="inspectionStatus" :label="$t('code.inspectionStatus')">
 | 
			
		||||
            <el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
 | 
			
		||||
            <el-select  v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
 | 
			
		||||
              <el-option v-for="item in inspectionStatusList" :key="item.id" :label="item.name" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
@@ -120,7 +123,7 @@
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="customSamplingId" :label="$t('code.customSampling')">
 | 
			
		||||
            <el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
 | 
			
		||||
            <el-select  v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
 | 
			
		||||
              <el-option v-for="item in samplingPlanList" :key="item.id" :label="item.sampleRange" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
@@ -133,27 +136,29 @@
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="4">
 | 
			
		||||
          <el-form-item prop="critical" label="CR" label-width="50px">
 | 
			
		||||
            <el-input v-model="GBTDataForm.critical" placeholder="CR"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.critical" placeholder="CR"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="criticalAccept" label="Accept">
 | 
			
		||||
            <el-input v-model="GBTDataForm.criticalAccept" placeholder="Accept"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.criticalAccept" placeholder="Accept"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="criticalReject" label="Reject" label-width="60px">
 | 
			
		||||
            <el-input v-model="GBTDataForm.criticalReject" placeholder="Reject"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.criticalReject" placeholder="Reject"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="criticalNumber" :label="$t('code.defectsNumber')">
 | 
			
		||||
            <el-input v-model="GBTDataForm.criticalNumber" :placeholder="$t('code.defectsNumber')"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.criticalNumber" :placeholder="$t('code.defectsNumber')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="criticalDefectiveNumber" :label="$t('code.defectiveQuantity')">
 | 
			
		||||
            <el-input v-model="GBTDataForm.criticalDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
 | 
			
		||||
            <el-input  v-model="GBTDataForm.criticalDefectiveNumber"
 | 
			
		||||
              :placeholder="$t('code.defectiveQuantity')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
@@ -161,27 +166,29 @@
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="4">
 | 
			
		||||
          <el-form-item prop="major" label="MA" label-width="50px">
 | 
			
		||||
            <el-input v-model="GBTDataForm.major" placeholder="CR"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.major" placeholder="CR"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="majorAccept" label="Accept">
 | 
			
		||||
            <el-input v-model="GBTDataForm.majorAccept" placeholder="Accept"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.majorAccept" placeholder="Accept"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="majorReject" label="Reject" label-width="60px">
 | 
			
		||||
            <el-input v-model="GBTDataForm.majorReject" placeholder="Reject"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.majorReject" placeholder="Reject"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="majorNumber" :label="$t('code.defectsNumber')">
 | 
			
		||||
            <el-input v-model="GBTDataForm.majorNumber" :placeholder="$t('code.defectsNumber')"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.majorNumber" :placeholder="$t('code.defectsNumber')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="majorDefectiveNumber" :label="$t('code.defectiveQuantity')">
 | 
			
		||||
            <el-input v-model="GBTDataForm.majorDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
 | 
			
		||||
            <el-input  v-model="GBTDataForm.majorDefectiveNumber"
 | 
			
		||||
              :placeholder="$t('code.defectiveQuantity')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
@@ -189,27 +196,29 @@
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="4">
 | 
			
		||||
          <el-form-item prop="minor" label="MI" label-width="50px">
 | 
			
		||||
            <el-input v-model="GBTDataForm.minor" placeholder="CR"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.minor" placeholder="CR"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="minorAccept" label="Accept">
 | 
			
		||||
            <el-input v-model="GBTDataForm.minorAccept" placeholder="Accept"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.minorAccept" placeholder="Accept"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="minorReject" label="Reject" label-width="60px">
 | 
			
		||||
            <el-input v-model="GBTDataForm.minorReject" placeholder="Reject"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.minorReject" placeholder="Reject"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="minorNumber" :label="$t('code.defectsNumber')">
 | 
			
		||||
            <el-input v-model="GBTDataForm.minorNumber" :placeholder="$t('code.defectsNumber')"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.minorNumber" :placeholder="$t('code.defectsNumber')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="minorDefectiveNumber" :label="$t('code.defectiveQuantity')">
 | 
			
		||||
            <el-input v-model="GBTDataForm.minorDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
 | 
			
		||||
            <el-input  v-model="GBTDataForm.minorDefectiveNumber"
 | 
			
		||||
              :placeholder="$t('code.defectiveQuantity')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
@@ -217,27 +226,29 @@
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="4">
 | 
			
		||||
          <el-form-item prop="total" label="total" label-width="50px">
 | 
			
		||||
            <el-input v-model="GBTDataForm.total" placeholder="CR"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.total" placeholder="CR"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="totalAccept" label="Accept">
 | 
			
		||||
            <el-input v-model="GBTDataForm.totalAccept" placeholder="Accept"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.totalAccept" placeholder="Accept"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="totalReject" label="Reject" label-width="60px">
 | 
			
		||||
            <el-input v-model="GBTDataForm.totalReject" placeholder="Reject"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.totalReject" placeholder="Reject"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="totalNumber" :label="$t('code.defectsNumber')">
 | 
			
		||||
            <el-input v-model="GBTDataForm.totalNumber" :placeholder="$t('code.defectsNumber')"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.totalNumber" :placeholder="$t('code.defectsNumber')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="totalDefectiveNumber" :label="$t('code.defectiveQuantity')">
 | 
			
		||||
            <el-input v-model="GBTDataForm.totalDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
 | 
			
		||||
            <el-input  v-model="GBTDataForm.totalDefectiveNumber"
 | 
			
		||||
              :placeholder="$t('code.defectiveQuantity')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
@@ -475,7 +486,7 @@ export default {
 | 
			
		||||
    },
 | 
			
		||||
    getDict() {
 | 
			
		||||
      this.$http
 | 
			
		||||
        .post(this.urlOptions.getSamplingPlanURL, {
 | 
			
		||||
        .get(this.urlOptions.getSamplingPlanURL, {
 | 
			
		||||
          params: this.listQuery
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
@@ -486,7 +497,7 @@ export default {
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
        })
 | 
			
		||||
      this.$http
 | 
			
		||||
        .post(this.urlOptions.getUserURL, {
 | 
			
		||||
        .get(this.urlOptions.getUserURL, {
 | 
			
		||||
          params: this.listQuery
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
@@ -497,7 +508,7 @@ export default {
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
        })
 | 
			
		||||
      this.$http
 | 
			
		||||
        .post(this.urlOptions.getProductURL, {
 | 
			
		||||
        .get(this.urlOptions.getProductURL, {
 | 
			
		||||
          params: this.listQuery
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
@@ -508,7 +519,7 @@ export default {
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
        })
 | 
			
		||||
      this.$http
 | 
			
		||||
        .post(this.urlOptions.getDictDataList, {
 | 
			
		||||
        .get(this.urlOptions.getDictDataList, {
 | 
			
		||||
          params: {
 | 
			
		||||
            limit: 999,
 | 
			
		||||
            page: 1,
 | 
			
		||||
@@ -523,7 +534,7 @@ export default {
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
        })
 | 
			
		||||
      this.$http
 | 
			
		||||
        .post(this.urlOptions.getSupplierURL, {
 | 
			
		||||
        .get(this.urlOptions.getSupplierURL, {
 | 
			
		||||
          params: this.listQuery
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
@@ -534,7 +545,7 @@ export default {
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
        })
 | 
			
		||||
      this.$http
 | 
			
		||||
        .post(this.urlOptions.getFactoryURL, {
 | 
			
		||||
        .get(this.urlOptions.getFactoryURL, {
 | 
			
		||||
          params: this.listQuery
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-14 10:19:44
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @LastEditTime: 2023-07-17 10:24:16
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
@@ -11,7 +11,7 @@
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="factoryId" :label="$t('code.factoryName')">
 | 
			
		||||
            <el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
 | 
			
		||||
            <el-select  v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
 | 
			
		||||
              <el-option v-for="item in factoryList" :key="item.id" :label="item.factoryName" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
@@ -19,26 +19,26 @@
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="inspectionTime" :label="$t('code.inspectionTime')">
 | 
			
		||||
            <el-date-picker v-model="dataForm.inspectionTime" type="datetime" :placeholder="$t('code.inspectionTime')"
 | 
			
		||||
              format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
 | 
			
		||||
            <el-date-picker  v-model="dataForm.inspectionTime" type="datetime"
 | 
			
		||||
              :placeholder="$t('code.inspectionTime')" format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
 | 
			
		||||
            </el-date-picker>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="orderNumber" :label="$t('code.orderNumber')">
 | 
			
		||||
            <el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
 | 
			
		||||
            <el-input  v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
      </el-row>
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="batchNo" :label="$t('code.batchNo')">
 | 
			
		||||
            <el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
 | 
			
		||||
            <el-input  v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="inspectionType" :label="$t('code.inspectionType')">
 | 
			
		||||
            <el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
 | 
			
		||||
            <el-select  v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
 | 
			
		||||
              <el-option v-for="item in inspectionTypeList" :key="item.value" :label="item.label" :value="item.value">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
@@ -54,7 +54,7 @@
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="productId" :label="$t('code.productName')">
 | 
			
		||||
            <el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
 | 
			
		||||
            <el-select  v-model="dataForm.productId" :placeholder="$t('code.productName')">
 | 
			
		||||
              <el-option v-for="item in productList" :key="item.id" :label="item.name" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
@@ -62,7 +62,7 @@
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="supplierId" :label="$t('code.supplierName')">
 | 
			
		||||
            <el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
 | 
			
		||||
            <el-select  v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
 | 
			
		||||
              <el-option v-for="item in supplierList" :key="item.id" :label="item.name" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
@@ -70,31 +70,34 @@
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="batchQuantity" :label="$t('code.batchQuantity')">
 | 
			
		||||
            <el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')"></el-input>
 | 
			
		||||
            <el-input  v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
      </el-row>
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="inspectionQuantity" :label="$t('code.inspectionQuantity')">
 | 
			
		||||
            <el-input v-model="dataForm.inspectionQuantity" :placeholder="$t('code.inspectionQuantity')"></el-input>
 | 
			
		||||
            <el-input  v-model="dataForm.inspectionQuantity"
 | 
			
		||||
              :placeholder="$t('code.inspectionQuantity')"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="batchSize" :label="$t('code.batchSize')">
 | 
			
		||||
            <el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
 | 
			
		||||
            <el-input  v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="samplesQuantity" :label="$t('code.samplesQuantity')">
 | 
			
		||||
            <el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')"></el-input>
 | 
			
		||||
            <el-input  v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
      </el-row>
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="companyId" :label="$t('code.companyName')">
 | 
			
		||||
            <el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
 | 
			
		||||
            <el-select  v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
 | 
			
		||||
              <el-option v-for="item in unitList" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
@@ -102,15 +105,15 @@
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="userId" :label="$t('code.username')">
 | 
			
		||||
            <el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
 | 
			
		||||
              <el-option v-for="item in unitList" :key="item.id" :label="item.realName" :value="item.id">
 | 
			
		||||
            <el-select  v-model="dataForm.userId" :placeholder="$t('code.username')">
 | 
			
		||||
              <el-option v-for="item in userList" :key="item.id" :label="item.realName" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="inspectionStatus" :label="$t('code.inspectionStatus')">
 | 
			
		||||
            <el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
 | 
			
		||||
            <el-select  v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
 | 
			
		||||
              <el-option v-for="item in inspectionStatusList" :key="item.id" :label="item.name" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
@@ -120,7 +123,7 @@
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="customSamplingId" :label="$t('code.customSampling')">
 | 
			
		||||
            <el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
 | 
			
		||||
            <el-select  v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
 | 
			
		||||
              <el-option v-for="item in samplingPlanList" :key="item.id" :label="item.sampleRange" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
@@ -133,27 +136,29 @@
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="4">
 | 
			
		||||
          <el-form-item prop="critical" label="CR" label-width="50px">
 | 
			
		||||
            <el-input v-model="GBTDataForm.critical" placeholder="CR"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.critical" placeholder="CR"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="criticalAccept" label="Accept">
 | 
			
		||||
            <el-input v-model="GBTDataForm.criticalAccept" placeholder="Accept"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.criticalAccept" placeholder="Accept"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="criticalReject" label="Reject" label-width="60px">
 | 
			
		||||
            <el-input v-model="GBTDataForm.criticalReject" placeholder="Reject"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.criticalReject" placeholder="Reject"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="criticalNumber" :label="$t('code.defectsNumber')">
 | 
			
		||||
            <el-input v-model="GBTDataForm.criticalNumber" :placeholder="$t('code.defectsNumber')"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.criticalNumber" :placeholder="$t('code.defectsNumber')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="criticalDefectiveNumber" :label="$t('code.defectiveQuantity')">
 | 
			
		||||
            <el-input v-model="GBTDataForm.criticalDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
 | 
			
		||||
            <el-input  v-model="GBTDataForm.criticalDefectiveNumber"
 | 
			
		||||
              :placeholder="$t('code.defectiveQuantity')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
@@ -161,27 +166,29 @@
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="4">
 | 
			
		||||
          <el-form-item prop="major" label="MA" label-width="50px">
 | 
			
		||||
            <el-input v-model="GBTDataForm.major" placeholder="CR"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.major" placeholder="CR"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="majorAccept" label="Accept">
 | 
			
		||||
            <el-input v-model="GBTDataForm.majorAccept" placeholder="Accept"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.majorAccept" placeholder="Accept"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="majorReject" label="Reject" label-width="60px">
 | 
			
		||||
            <el-input v-model="GBTDataForm.majorReject" placeholder="Reject"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.majorReject" placeholder="Reject"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="majorNumber" :label="$t('code.defectsNumber')">
 | 
			
		||||
            <el-input v-model="GBTDataForm.majorNumber" :placeholder="$t('code.defectsNumber')"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.majorNumber" :placeholder="$t('code.defectsNumber')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="majorDefectiveNumber" :label="$t('code.defectiveQuantity')">
 | 
			
		||||
            <el-input v-model="GBTDataForm.majorDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
 | 
			
		||||
            <el-input  v-model="GBTDataForm.majorDefectiveNumber"
 | 
			
		||||
              :placeholder="$t('code.defectiveQuantity')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
@@ -189,27 +196,29 @@
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="4">
 | 
			
		||||
          <el-form-item prop="minor" label="MI" label-width="50px">
 | 
			
		||||
            <el-input v-model="GBTDataForm.minor" placeholder="CR"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.minor" placeholder="CR"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="minorAccept" label="Accept">
 | 
			
		||||
            <el-input v-model="GBTDataForm.minorAccept" placeholder="Accept"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.minorAccept" placeholder="Accept"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="minorReject" label="Reject" label-width="60px">
 | 
			
		||||
            <el-input v-model="GBTDataForm.minorReject" placeholder="Reject"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.minorReject" placeholder="Reject"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="minorNumber" :label="$t('code.defectsNumber')">
 | 
			
		||||
            <el-input v-model="GBTDataForm.minorNumber" :placeholder="$t('code.defectsNumber')"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.minorNumber" :placeholder="$t('code.defectsNumber')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="minorDefectiveNumber" :label="$t('code.defectiveQuantity')">
 | 
			
		||||
            <el-input v-model="GBTDataForm.minorDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
 | 
			
		||||
            <el-input  v-model="GBTDataForm.minorDefectiveNumber"
 | 
			
		||||
              :placeholder="$t('code.defectiveQuantity')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
@@ -217,27 +226,29 @@
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="4">
 | 
			
		||||
          <el-form-item prop="total" label="total" label-width="50px">
 | 
			
		||||
            <el-input v-model="GBTDataForm.total" placeholder="CR"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.total" placeholder="CR"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="totalAccept" label="Accept">
 | 
			
		||||
            <el-input v-model="GBTDataForm.totalAccept" placeholder="Accept"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.totalAccept" placeholder="Accept"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="totalReject" label="Reject" label-width="60px">
 | 
			
		||||
            <el-input v-model="GBTDataForm.totalReject" placeholder="Reject"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.totalReject" placeholder="Reject"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="totalNumber" :label="$t('code.defectsNumber')">
 | 
			
		||||
            <el-input v-model="GBTDataForm.totalNumber" :placeholder="$t('code.defectsNumber')"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.totalNumber" :placeholder="$t('code.defectsNumber')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="totalDefectiveNumber" :label="$t('code.defectiveQuantity')">
 | 
			
		||||
            <el-input v-model="GBTDataForm.totalDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
 | 
			
		||||
            <el-input  v-model="GBTDataForm.totalDefectiveNumber"
 | 
			
		||||
              :placeholder="$t('code.defectiveQuantity')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
@@ -475,7 +486,7 @@ export default {
 | 
			
		||||
    },
 | 
			
		||||
    getDict() {
 | 
			
		||||
      this.$http
 | 
			
		||||
        .post(this.urlOptions.getSamplingPlanURL, {
 | 
			
		||||
        .get(this.urlOptions.getSamplingPlanURL, {
 | 
			
		||||
          params: this.listQuery
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
@@ -486,7 +497,7 @@ export default {
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
        })
 | 
			
		||||
      this.$http
 | 
			
		||||
        .post(this.urlOptions.getUserURL, {
 | 
			
		||||
        .get(this.urlOptions.getUserURL, {
 | 
			
		||||
          params: this.listQuery
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
@@ -497,7 +508,7 @@ export default {
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
        })
 | 
			
		||||
      this.$http
 | 
			
		||||
        .post(this.urlOptions.getProductURL, {
 | 
			
		||||
        .get(this.urlOptions.getProductURL, {
 | 
			
		||||
          params: this.listQuery
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
@@ -508,7 +519,7 @@ export default {
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
        })
 | 
			
		||||
      this.$http
 | 
			
		||||
        .post(this.urlOptions.getDictDataList, {
 | 
			
		||||
        .get(this.urlOptions.getDictDataList, {
 | 
			
		||||
          params: {
 | 
			
		||||
            limit: 999,
 | 
			
		||||
            page: 1,
 | 
			
		||||
@@ -523,7 +534,7 @@ export default {
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
        })
 | 
			
		||||
      this.$http
 | 
			
		||||
        .post(this.urlOptions.getSupplierURL, {
 | 
			
		||||
        .get(this.urlOptions.getSupplierURL, {
 | 
			
		||||
          params: this.listQuery
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
@@ -534,7 +545,7 @@ export default {
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
        })
 | 
			
		||||
      this.$http
 | 
			
		||||
        .post(this.urlOptions.getFactoryURL, {
 | 
			
		||||
        .get(this.urlOptions.getFactoryURL, {
 | 
			
		||||
          params: this.listQuery
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-14 10:20:02
 | 
			
		||||
 * @LastEditTime: 2023-07-17 10:27:00
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -9,6 +9,7 @@
 | 
			
		||||
  <el-form
 | 
			
		||||
    :model="dataForm"
 | 
			
		||||
    ref="dataForm"
 | 
			
		||||
    :rules="dataRule" 
 | 
			
		||||
    @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
    label-width="100px"
 | 
			
		||||
  >
 | 
			
		||||
@@ -271,7 +272,7 @@ export default {
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          value: '1',
 | 
			
		||||
          label: "1客诉问题",
 | 
			
		||||
          label: "客诉问题",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          value: '2',
 | 
			
		||||
@@ -317,27 +318,48 @@ export default {
 | 
			
		||||
  computed: {
 | 
			
		||||
    dataRule() {
 | 
			
		||||
      return {
 | 
			
		||||
        // dictLabel: [
 | 
			
		||||
        //   {
 | 
			
		||||
        //     required: true,
 | 
			
		||||
        //     message: this.$t("validate.required"),
 | 
			
		||||
        //     trigger: "blur",
 | 
			
		||||
        //   },
 | 
			
		||||
        // ],
 | 
			
		||||
        // dictValue: [
 | 
			
		||||
        //   {
 | 
			
		||||
        //     required: true,
 | 
			
		||||
        //     message: this.$t("validate.required"),
 | 
			
		||||
        //     trigger: "blur",
 | 
			
		||||
        //   },
 | 
			
		||||
        // ],
 | 
			
		||||
        // sort: [
 | 
			
		||||
        //   {
 | 
			
		||||
        //     required: true,
 | 
			
		||||
        //     message: this.$t("validate.required"),
 | 
			
		||||
        //     trigger: "blur",
 | 
			
		||||
        //   },
 | 
			
		||||
        // ],
 | 
			
		||||
        code: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: "请输入编码",
 | 
			
		||||
            trigger: "blur",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        title: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: "请输入标题",
 | 
			
		||||
            trigger: "blur",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        eightDisciplineType: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: "请选择8D类型",
 | 
			
		||||
            trigger: "change",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        defectSourceId: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: "请选择缺陷来源",
 | 
			
		||||
            trigger: "change",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        occurrenceDate: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: "请选择发生日期",
 | 
			
		||||
            trigger: "change",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        product: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: "请选择产品",
 | 
			
		||||
            trigger: "change",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
      };
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
 
 | 
			
		||||
@@ -2,11 +2,17 @@
 | 
			
		||||
 * @Author: zwq
 | 
			
		||||
 * @Date: 2023-06-29 14:12:48
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @LastEditTime: 2023-06-30 10:58:16
 | 
			
		||||
 * @LastEditTime: 2023-07-17 13:30:04
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <base-table border show-summary :table-props="tableProps" :table-data="tableData" @emitFun="inputChange" />
 | 
			
		||||
  <base-table
 | 
			
		||||
    border
 | 
			
		||||
    show-summary
 | 
			
		||||
    :table-props="tableProps"
 | 
			
		||||
    :table-data="tableData"
 | 
			
		||||
    @emitFun="inputChange"
 | 
			
		||||
  />
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
@@ -134,7 +140,7 @@ export default {
 | 
			
		||||
          if (this.tableData[data._pageIndex - 1].gradeStatus) {
 | 
			
		||||
            this.$set(
 | 
			
		||||
              this.tableData[data._pageIndex - 1],
 | 
			
		||||
              'grade',
 | 
			
		||||
              "grade",
 | 
			
		||||
              this.score[this.tableData[data._pageIndex - 1].gradeStatus - 1]
 | 
			
		||||
            );
 | 
			
		||||
          }
 | 
			
		||||
@@ -146,24 +152,33 @@ export default {
 | 
			
		||||
    formClear() {},
 | 
			
		||||
    // 表单提交
 | 
			
		||||
    dataFormSubmit() {
 | 
			
		||||
        this.tableData.forEach((item) => {
 | 
			
		||||
          item.startEightDisciplineId = this.id;
 | 
			
		||||
      this.tableData.forEach((item) => {
 | 
			
		||||
        item.startEightDisciplineId = this.id;
 | 
			
		||||
      });
 | 
			
		||||
      let putData = {
 | 
			
		||||
        gradeFinish: 1,
 | 
			
		||||
        id: this.id,
 | 
			
		||||
      };
 | 
			
		||||
      this.$http.put("/code/startEightDiscipline", putData).then(({ data }) => {
 | 
			
		||||
        if (data && data.code === 0) {
 | 
			
		||||
        } else {
 | 
			
		||||
          this.$message.error(data.msg);
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
      this.$http.post("/code/startEightGrade/save/list", this.tableData).then(({ data: res }) => {
 | 
			
		||||
        if (res.code !== 0) {
 | 
			
		||||
          return this.$message.error(res.msg);
 | 
			
		||||
        }
 | 
			
		||||
        this.$message({
 | 
			
		||||
          message: this.$t("prompt.success"),
 | 
			
		||||
          type: "success",
 | 
			
		||||
          duration: 500,
 | 
			
		||||
          onClose: () => {
 | 
			
		||||
            this.visible = false;
 | 
			
		||||
            this.$emit("refreshDataList");
 | 
			
		||||
          },
 | 
			
		||||
        });
 | 
			
		||||
          this.$http.post("/code/startEightGrade/save/list", this.tableData)
 | 
			
		||||
          .then(({ data: res }) => {
 | 
			
		||||
            if (res.code !== 0) {
 | 
			
		||||
              return this.$message.error(res.msg);
 | 
			
		||||
            }
 | 
			
		||||
            this.$message({
 | 
			
		||||
              message: this.$t("prompt.success"),
 | 
			
		||||
              type: "success",
 | 
			
		||||
              duration: 500,
 | 
			
		||||
              onClose: () => {
 | 
			
		||||
                this.visible = false;
 | 
			
		||||
                this.$emit("refreshDataList");
 | 
			
		||||
              },
 | 
			
		||||
            });
 | 
			
		||||
          });
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-06-19 15:52:51
 | 
			
		||||
 * @LastEditTime: 2023-07-14 10:15:12
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @LastEditTime: 2023-07-17 10:31:16
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
@@ -21,14 +21,14 @@
 | 
			
		||||
      <pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
 | 
			
		||||
        @pagination="getDataList" />
 | 
			
		||||
      <!-- 弹窗, 新增 / 修改 -->
 | 
			
		||||
      <base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
 | 
			
		||||
      <base-dialog width="70%" :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
 | 
			
		||||
        @confirm="handleConfirm" :before-close="handleCancel">
 | 
			
		||||
        <deliveryInspection-add ref="addOrUpdate" @successSubmit="successSubmit">
 | 
			
		||||
        </deliveryInspection-add>
 | 
			
		||||
        <!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
 | 
			
		||||
      </base-dialog>
 | 
			
		||||
      <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
 | 
			
		||||
        @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
 | 
			
		||||
      <base-dialog width="70%" :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible"
 | 
			
		||||
        @cancel="handleSearchCancel" @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
 | 
			
		||||
        <deliveryInspection-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit">
 | 
			
		||||
        </deliveryInspection-search>
 | 
			
		||||
        <el-row slot="footer" type="flex" justify="end">
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-07-14 14:06:53
 | 
			
		||||
 * @LastEditTime: 2023-07-17 09:08:38
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -9,9 +9,6 @@
 | 
			
		||||
  <el-card shadow="never" class="aui-card--fill">
 | 
			
		||||
    <div class="mod-sys__user">
 | 
			
		||||
      <SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
 | 
			
		||||
        <el-badge :value="3" class="item">
 | 
			
		||||
          <el-button type="primary" size="small" @click="searchsClick">条件搜索</el-button>
 | 
			
		||||
        </el-badge>
 | 
			
		||||
      </SearchBar>
 | 
			
		||||
      <base-table
 | 
			
		||||
        :table-props="tableProps"
 | 
			
		||||
@@ -35,7 +32,7 @@
 | 
			
		||||
        @pagination="getDataList"
 | 
			
		||||
      />
 | 
			
		||||
      <!-- 弹窗, 条件搜索-->
 | 
			
		||||
      <base-dialog
 | 
			
		||||
      <!-- <base-dialog
 | 
			
		||||
        :dialogTitle="searchsTitle"
 | 
			
		||||
        :dialogVisible="searchsVisible"
 | 
			
		||||
        @cancel="searchsCancel"
 | 
			
		||||
@@ -43,7 +40,7 @@
 | 
			
		||||
        :before-close="searchsCancel"
 | 
			
		||||
      >
 | 
			
		||||
        <searchs ref="searchsRef" @refreshDataList="searchsSubmit"></searchs>
 | 
			
		||||
      </base-dialog>
 | 
			
		||||
      </base-dialog> -->
 | 
			
		||||
      <!-- 弹窗, 新增 / 修改 -->
 | 
			
		||||
      <base-dialog
 | 
			
		||||
        :dialogTitle="addOrEditTitle"
 | 
			
		||||
@@ -64,7 +61,7 @@
 | 
			
		||||
import basicPage from "@/mixins/basic-page";
 | 
			
		||||
import eightDisciplineAdd from "./components/eightDiscipline-add";
 | 
			
		||||
import available from "./components/available.vue";
 | 
			
		||||
import Searchs from "./components/eightDiscipline-searchs";
 | 
			
		||||
// import Searchs from "./components/eightDiscipline-searchs";
 | 
			
		||||
import codeFilter from "@/filters/code-filter";
 | 
			
		||||
import i18n from "@/i18n";
 | 
			
		||||
const tableProps = [
 | 
			
		||||
@@ -105,7 +102,7 @@ export default {
 | 
			
		||||
  mixins: [basicPage],
 | 
			
		||||
  components: {
 | 
			
		||||
    eightDisciplineAdd,
 | 
			
		||||
    Searchs
 | 
			
		||||
    // Searchs,
 | 
			
		||||
  },
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
@@ -117,10 +114,26 @@ export default {
 | 
			
		||||
      tableBtn,
 | 
			
		||||
      formConfig: [
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          type: "input",
 | 
			
		||||
          label: i18n.t("code.name"),
 | 
			
		||||
          placeholder: i18n.t("code.name"),
 | 
			
		||||
          param: "name",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "input",
 | 
			
		||||
          label: i18n.t("code.code"),
 | 
			
		||||
          placeholder: i18n.t("code.code"),
 | 
			
		||||
          param: "code",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "select",
 | 
			
		||||
          label: i18n.t('code.eightDisciplineStatus'),
 | 
			
		||||
          selectOptions: [
 | 
			
		||||
            { id: 1, name: "可用" },
 | 
			
		||||
            { id: 0, name: "不可用" },
 | 
			
		||||
          ],
 | 
			
		||||
          param: "eightDisciplineStatus",
 | 
			
		||||
          defaultSelect: "",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
@@ -128,6 +141,12 @@ export default {
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "新增",
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
        },
 | 
			
		||||
      ],
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
@@ -142,9 +161,9 @@ export default {
 | 
			
		||||
        case "search":
 | 
			
		||||
          // this.listQuery.paramCode = val.paramCode;
 | 
			
		||||
          this.listQuery.page = 1;
 | 
			
		||||
          this.listQuery.code = null;
 | 
			
		||||
          this.listQuery.name = null;
 | 
			
		||||
          this.listQuery.eightDisciplineStatus = null;
 | 
			
		||||
          this.listQuery.code = val.code;
 | 
			
		||||
          this.listQuery.name = val.name;
 | 
			
		||||
          this.listQuery.eightDisciplineStatus = val.eightDisciplineStatus;
 | 
			
		||||
          this.getDataList();
 | 
			
		||||
          break;
 | 
			
		||||
        case "add":
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-07-14 10:15:45
 | 
			
		||||
 * @LastEditTime: 2023-07-17 10:38:22
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -66,20 +66,20 @@ const tableProps = [
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'userId',
 | 
			
		||||
    prop: 'userName',
 | 
			
		||||
    label: i18n.t("code.userId"),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
    type: "edit",
 | 
			
		||||
    btnName: "编辑",
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    type: "delete",
 | 
			
		||||
    btnName: "删除",
 | 
			
		||||
  },
 | 
			
		||||
  // {
 | 
			
		||||
  //   type: "edit",
 | 
			
		||||
  //   btnName: "编辑",
 | 
			
		||||
  // },
 | 
			
		||||
  // {
 | 
			
		||||
  //   type: "delete",
 | 
			
		||||
  //   btnName: "删除",
 | 
			
		||||
  // },
 | 
			
		||||
  {
 | 
			
		||||
    type: "approve",
 | 
			
		||||
    btnName: "审批",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-06-19 15:52:51
 | 
			
		||||
 * @LastEditTime: 2023-07-14 10:16:01
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @LastEditTime: 2023-07-17 10:30:40
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
@@ -21,13 +21,13 @@
 | 
			
		||||
      <pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
 | 
			
		||||
        @pagination="getDataList" />
 | 
			
		||||
      <!-- 弹窗, 新增 / 修改 -->
 | 
			
		||||
      <base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
 | 
			
		||||
      <base-dialog width="70%" :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
 | 
			
		||||
        @confirm="handleConfirm" :before-close="handleCancel">
 | 
			
		||||
        <productInspection-add ref="addOrUpdate" @successSubmit="successSubmit"></productInspection-add>
 | 
			
		||||
        <!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
 | 
			
		||||
      </base-dialog>
 | 
			
		||||
      <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
 | 
			
		||||
        @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
 | 
			
		||||
      <base-dialog width="70%" :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible"
 | 
			
		||||
        @cancel="handleSearchCancel" @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
 | 
			
		||||
        <productInspection-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit">
 | 
			
		||||
        </productInspection-search>
 | 
			
		||||
        <el-row slot="footer" type="flex" justify="end">
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-06-12 13:22:50
 | 
			
		||||
 * @LastEditTime: 2023-07-14 10:16:14
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @LastEditTime: 2023-07-17 10:29:25
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
@@ -21,40 +21,41 @@
 | 
			
		||||
      <pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
 | 
			
		||||
        @pagination="getDataList" />
 | 
			
		||||
      <!-- 弹窗, 新增 / 修改 -->
 | 
			
		||||
      <base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
 | 
			
		||||
      <base-dialog width="70%" :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
 | 
			
		||||
        @confirm="handleConfirm" :before-close="handleCancel">
 | 
			
		||||
        <productRegistration-add ref="addOrUpdate" @successSubmit="successSubmit">
 | 
			
		||||
        </productRegistration-add>
 | 
			
		||||
        <!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
 | 
			
		||||
      </base-dialog>
 | 
			
		||||
      <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
 | 
			
		||||
        @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
 | 
			
		||||
      <base-dialog width="70%" :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible"
 | 
			
		||||
        @cancel="handleSearchCancel" @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
 | 
			
		||||
        <productRegistration-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit">
 | 
			
		||||
          </productRegistration-search>
 | 
			
		||||
          <el-row slot="footer" type="flex" justify="end">
 | 
			
		||||
            <el-col :span="12">
 | 
			
		||||
              <el-button size="small" type="primary" plain class="btnTextStyle" @click="handleSearchCancel">
 | 
			
		||||
                {{ $t("close") }}
 | 
			
		||||
              </el-button>
 | 
			
		||||
              <el-button size="small" class="btnTextStyle" type="primary" plain @click="handleSearchReset">{{
 | 
			
		||||
                $t("reset")
 | 
			
		||||
                }}</el-button>
 | 
			
		||||
              <el-button type="primary" size="small" class="btnTextStyle" @click="handleSearchConfirm">
 | 
			
		||||
                {{ $t("search") }}
 | 
			
		||||
              </el-button>
 | 
			
		||||
            </el-col>
 | 
			
		||||
          </el-row>
 | 
			
		||||
        </productRegistration-search>
 | 
			
		||||
        <el-row slot="footer" type="flex" justify="end">
 | 
			
		||||
          <el-col :span="12">
 | 
			
		||||
            <el-button size="small" type="primary" plain class="btnTextStyle" @click="handleSearchCancel">
 | 
			
		||||
              {{ $t("close") }}
 | 
			
		||||
            </el-button>
 | 
			
		||||
            <el-button size="small" class="btnTextStyle" type="primary" plain @click="handleSearchReset">{{
 | 
			
		||||
              $t("reset")
 | 
			
		||||
              }}</el-button>
 | 
			
		||||
            <el-button type="primary" size="small" class="btnTextStyle" @click="handleSearchConfirm">
 | 
			
		||||
              {{ $t("search") }}
 | 
			
		||||
            </el-button>
 | 
			
		||||
          </el-col>
 | 
			
		||||
        </el-row>
 | 
			
		||||
      </base-dialog>
 | 
			
		||||
    </div>
 | 
			
		||||
  </el-card>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import basicPage from "@/mixins/basic-page";
 | 
			
		||||
import basicSearch from "@/mixins/basic-search";
 | 
			
		||||
import productRegistrationSearch from "./components/productRegistrationSearch.vue";
 | 
			
		||||
import productRegistrationAdd from "./components/productRegistration-add.vue";
 | 
			
		||||
import i18n from "@/i18n";
 | 
			
		||||
import basicPage from "@/mixins/basic-page"
 | 
			
		||||
import basicSearch from "@/mixins/basic-search"
 | 
			
		||||
import productRegistrationSearch from "./components/productRegistrationSearch.vue"
 | 
			
		||||
import productRegistrationAdd from "./components/productRegistration-add.vue"
 | 
			
		||||
import i18n from "@/i18n"
 | 
			
		||||
import incoming from "@/filters/incoming"
 | 
			
		||||
// import i18n from "@/i18n";
 | 
			
		||||
const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
@@ -76,10 +77,12 @@ const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: "upload",
 | 
			
		||||
    label: i18n.t('code.upload'),
 | 
			
		||||
    filter: incoming('upload'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "judgmentResult",
 | 
			
		||||
    label: i18n.t('code.judgmentResult'),
 | 
			
		||||
    filter: incoming('judgmentResult'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "productCode",
 | 
			
		||||
@@ -149,7 +152,7 @@ export default {
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      urlOptions: {
 | 
			
		||||
        getDataListURL: "code/productRegistration/page/term",
 | 
			
		||||
        getDataListURL: "/code/productRegistration/page/term",
 | 
			
		||||
        deleteURL: "/code/productRegistration",
 | 
			
		||||
        exportURL: "/code/productRegistration/export",
 | 
			
		||||
      },
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-06-12 13:22:50
 | 
			
		||||
 * @LastEditTime: 2023-07-14 10:16:28
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @LastEditTime: 2023-07-17 10:29:35
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
@@ -21,14 +21,14 @@
 | 
			
		||||
      <pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
 | 
			
		||||
        @pagination="getDataList" />
 | 
			
		||||
      <!-- 弹窗, 新增 / 修改 -->
 | 
			
		||||
      <base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
 | 
			
		||||
      <base-dialog width="70%" :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
 | 
			
		||||
        @confirm="handleConfirm" :before-close="handleCancel">
 | 
			
		||||
        <shipmentRegistration-add ref="addOrUpdate" @successSubmit="successSubmit">
 | 
			
		||||
        </shipmentRegistration-add>
 | 
			
		||||
        <!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
 | 
			
		||||
      </base-dialog>
 | 
			
		||||
      <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
 | 
			
		||||
        @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
 | 
			
		||||
      <base-dialog width="70%" :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible"
 | 
			
		||||
        @cancel="handleSearchCancel" @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
 | 
			
		||||
        <shipmentRegistration-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit">
 | 
			
		||||
        </shipmentRegistration-search>
 | 
			
		||||
        <el-row slot="footer" type="flex" justify="end">
 | 
			
		||||
@@ -55,6 +55,7 @@ import basicSearch from "@/mixins/basic-search";
 | 
			
		||||
import shipmentRegistrationSearch from "./components/shipmentRegistrationSearch.vue";
 | 
			
		||||
import shipmentRegistrationAdd from "./components/shipmentRegistration-add.vue";
 | 
			
		||||
import i18n from "@/i18n";
 | 
			
		||||
import incoming from "@/filters/incoming";
 | 
			
		||||
// import i18n from "@/i18n";
 | 
			
		||||
const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
@@ -76,10 +77,12 @@ const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: "upload",
 | 
			
		||||
    label: i18n.t('code.upload'),
 | 
			
		||||
    filter: incoming('upload'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "judgmentResult",
 | 
			
		||||
    label: i18n.t('code.judgmentResult'),
 | 
			
		||||
    filter: incoming('judgmentResult'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "productCode",
 | 
			
		||||
@@ -149,7 +152,7 @@ export default {
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      urlOptions: {
 | 
			
		||||
        getDataListURL: "code/shipmentRegistration/page/term",
 | 
			
		||||
        getDataListURL: "/code/shipmentRegistration/page/term",
 | 
			
		||||
        deleteURL: "/code/shipmentRegistration",
 | 
			
		||||
        exportURL: "/code/shipmentRegistration/export",
 | 
			
		||||
      },
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-07-14 10:16:41
 | 
			
		||||
 * @LastEditTime: 2023-07-20 10:50:58
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -41,6 +41,7 @@
 | 
			
		||||
        @cancel="handleCancel"
 | 
			
		||||
        @confirm="handleConfirm"
 | 
			
		||||
        :before-close="handleCancel"
 | 
			
		||||
        :destroy-on-close="true"
 | 
			
		||||
      >
 | 
			
		||||
        <add-or-update
 | 
			
		||||
          ref="teamSet"
 | 
			
		||||
@@ -96,20 +97,20 @@ const tableProps = [
 | 
			
		||||
    align: "center",
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "userId",
 | 
			
		||||
    prop: 'userName',
 | 
			
		||||
    label: i18n.t("code.userId"),
 | 
			
		||||
    align: "center",
 | 
			
		||||
  },
 | 
			
		||||
];
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
    type: "edit",
 | 
			
		||||
    btnName: "编辑",
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    type: "delete",
 | 
			
		||||
    btnName: "删除",
 | 
			
		||||
  },
 | 
			
		||||
  // {
 | 
			
		||||
  //   type: "edit",
 | 
			
		||||
  //   btnName: "编辑",
 | 
			
		||||
  // },
 | 
			
		||||
  // {
 | 
			
		||||
  //   type: "delete",
 | 
			
		||||
  //   btnName: "删除",
 | 
			
		||||
  // },
 | 
			
		||||
  {
 | 
			
		||||
    type: "team",
 | 
			
		||||
    btnName: "团队",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-07-14 10:16:46
 | 
			
		||||
 * @LastEditTime: 2023-07-17 10:38:45
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -84,20 +84,20 @@ const tableProps = [
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'userId',
 | 
			
		||||
    prop: 'userName',
 | 
			
		||||
    label: i18n.t("code.userId"),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
    type: "edit",
 | 
			
		||||
    btnName: "编辑",
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    type: "delete",
 | 
			
		||||
    btnName: "删除",
 | 
			
		||||
  },
 | 
			
		||||
  // {
 | 
			
		||||
  //   type: "edit",
 | 
			
		||||
  //   btnName: "编辑",
 | 
			
		||||
  // },
 | 
			
		||||
  // {
 | 
			
		||||
  //   type: "delete",
 | 
			
		||||
  //   btnName: "删除",
 | 
			
		||||
  // },
 | 
			
		||||
  {
 | 
			
		||||
    type: "corrective",
 | 
			
		||||
    btnName: "纠正",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-07-14 10:16:53
 | 
			
		||||
 * @LastEditTime: 2023-07-17 10:39:03
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -82,7 +82,7 @@ const tableProps = [
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'userId',
 | 
			
		||||
    prop: 'userName',
 | 
			
		||||
    label: i18n.t("code.userId"),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  }
 | 
			
		||||
@@ -92,10 +92,10 @@ const tableBtn = [
 | 
			
		||||
  //   type: "edit",
 | 
			
		||||
  //   btnName: "编辑",
 | 
			
		||||
  // },
 | 
			
		||||
  {
 | 
			
		||||
    type: "delete",
 | 
			
		||||
    btnName: "删除",
 | 
			
		||||
  },
 | 
			
		||||
  // {
 | 
			
		||||
  //   type: "delete",
 | 
			
		||||
  //   btnName: "删除",
 | 
			
		||||
  // },
 | 
			
		||||
  {
 | 
			
		||||
    type: "analysis",
 | 
			
		||||
    btnName: "分析",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-07-14 10:16:58
 | 
			
		||||
 * @LastEditTime: 2023-07-17 10:38:34
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -84,20 +84,20 @@ const tableProps = [
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'userId',
 | 
			
		||||
    prop: 'userName',
 | 
			
		||||
    label: i18n.t("code.userId"),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
    type: "edit",
 | 
			
		||||
    btnName: "编辑",
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    type: "delete",
 | 
			
		||||
    btnName: "删除",
 | 
			
		||||
  },
 | 
			
		||||
  // {
 | 
			
		||||
  //   type: "edit",
 | 
			
		||||
  //   btnName: "编辑",
 | 
			
		||||
  // },
 | 
			
		||||
  // {
 | 
			
		||||
  //   type: "delete",
 | 
			
		||||
  //   btnName: "删除",
 | 
			
		||||
  // },
 | 
			
		||||
  {
 | 
			
		||||
    type: "prevent",
 | 
			
		||||
    btnName: "预防",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-06-30 09:21:25
 | 
			
		||||
 * @LastEditTime: 2023-07-17 10:38:50
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -83,20 +83,20 @@ const tableProps = [
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'userId',
 | 
			
		||||
    prop: 'userName',
 | 
			
		||||
    label: i18n.t("code.userId"),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
    type: "edit",
 | 
			
		||||
    btnName: "编辑",
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    type: "delete",
 | 
			
		||||
    btnName: "删除",
 | 
			
		||||
  },
 | 
			
		||||
  // {
 | 
			
		||||
  //   type: "edit",
 | 
			
		||||
  //   btnName: "编辑",
 | 
			
		||||
  // },
 | 
			
		||||
  // {
 | 
			
		||||
  //   type: "delete",
 | 
			
		||||
  //   btnName: "删除",
 | 
			
		||||
  // },
 | 
			
		||||
  {
 | 
			
		||||
    type: "analysis",
 | 
			
		||||
    btnName: "分析",
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-06-30 09:37:58
 | 
			
		||||
 * @LastEditTime: 2023-07-17 10:38:29
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -84,20 +84,20 @@ const tableProps = [
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'userId',
 | 
			
		||||
    prop: 'userName',
 | 
			
		||||
    label: i18n.t("code.userId"),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
    type: "edit",
 | 
			
		||||
    btnName: "编辑",
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    type: "delete",
 | 
			
		||||
    btnName: "删除",
 | 
			
		||||
  },
 | 
			
		||||
  // {
 | 
			
		||||
  //   type: "edit",
 | 
			
		||||
  //   btnName: "编辑",
 | 
			
		||||
  // },
 | 
			
		||||
  // {
 | 
			
		||||
  //   type: "delete",
 | 
			
		||||
  //   btnName: "删除",
 | 
			
		||||
  // },
 | 
			
		||||
  {
 | 
			
		||||
    type: "summary",
 | 
			
		||||
    btnName: "总结",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-07-14 10:17:04
 | 
			
		||||
 * @LastEditTime: 2023-07-20 10:49:29
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -27,6 +27,7 @@
 | 
			
		||||
        @cancel="handleCancel"
 | 
			
		||||
        @confirm="handleConfirm"
 | 
			
		||||
        :before-close="handleCancel"
 | 
			
		||||
        :destroy-on-close="true"
 | 
			
		||||
        width=70%
 | 
			
		||||
      >
 | 
			
		||||
        <add-or-update
 | 
			
		||||
@@ -89,20 +90,20 @@ const tableProps = [
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'userId',
 | 
			
		||||
    prop: 'userName',
 | 
			
		||||
    label: i18n.t("code.userId"),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
    type: "edit",
 | 
			
		||||
    btnName: "编辑",
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    type: "delete",
 | 
			
		||||
    btnName: "删除",
 | 
			
		||||
  },
 | 
			
		||||
  // {
 | 
			
		||||
  //   type: "edit",
 | 
			
		||||
  //   btnName: "编辑",
 | 
			
		||||
  // },
 | 
			
		||||
  // {
 | 
			
		||||
  //   type: "delete",
 | 
			
		||||
  //   btnName: "删除",
 | 
			
		||||
  // },
 | 
			
		||||
  {
 | 
			
		||||
    type: "measure",
 | 
			
		||||
    btnName: "措施",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-06-30 09:31:04
 | 
			
		||||
 * @LastEditTime: 2023-07-17 10:38:40
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -83,20 +83,20 @@ const tableProps = [
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'userId',
 | 
			
		||||
    prop: 'userName',
 | 
			
		||||
    label: i18n.t("code.userId"),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
    type: "edit",
 | 
			
		||||
    btnName: "编辑",
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    type: "delete",
 | 
			
		||||
    btnName: "删除",
 | 
			
		||||
  },
 | 
			
		||||
  // {
 | 
			
		||||
  //   type: "edit",
 | 
			
		||||
  //   btnName: "编辑",
 | 
			
		||||
  // },
 | 
			
		||||
  // {
 | 
			
		||||
  //   type: "delete",
 | 
			
		||||
  //   btnName: "删除",
 | 
			
		||||
  // },
 | 
			
		||||
  {
 | 
			
		||||
    type: "validation",
 | 
			
		||||
    btnName: "验证",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <el-card shadow="never" class="aui-card--fill">
 | 
			
		||||
    <div class="mod-sys__user">
 | 
			
		||||
      <search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
 | 
			
		||||
      <!-- <search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" /> -->
 | 
			
		||||
      <base-table
 | 
			
		||||
        :table-props="tableProps"
 | 
			
		||||
        :page="listQuery.page"
 | 
			
		||||
@@ -30,6 +30,7 @@
 | 
			
		||||
        @cancel="handleCancel"
 | 
			
		||||
        @confirm="handleConfirm"
 | 
			
		||||
        :before-close="handleCancel"
 | 
			
		||||
        :destroy-on-close="true"
 | 
			
		||||
      >
 | 
			
		||||
        <add-or-update ref="addOrUpdate" @refreshDataList="successSubmit"></add-or-update>
 | 
			
		||||
      </base-dialog>
 | 
			
		||||
@@ -73,10 +74,10 @@ const tableProps = [
 | 
			
		||||
    align: "center",
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "examineStatus",
 | 
			
		||||
    label: i18n.t("code.examineStatus"),
 | 
			
		||||
    prop: "gradeFinish",
 | 
			
		||||
    label: "打分状态",
 | 
			
		||||
    align: "center",
 | 
			
		||||
    filter: codeFilter("examineStatus"),
 | 
			
		||||
    filter: codeFilter("gradeFinish"),
 | 
			
		||||
  },
 | 
			
		||||
];
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
@@ -130,9 +131,16 @@ export default {
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    otherMethods(val) {
 | 
			
		||||
      if(val.data.gradeFinish){
 | 
			
		||||
        this.$message({
 | 
			
		||||
          message: '该数据已完成打分操作,请勿重复打分!',
 | 
			
		||||
          type: 'warning'
 | 
			
		||||
        });
 | 
			
		||||
      }else{
 | 
			
		||||
      this.addOrEditTitle = "打分";
 | 
			
		||||
      this.addOrUpdateVisible = true;
 | 
			
		||||
      this.addOrUpdateHandle(val.data.id);
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										177
									
								
								src/views/modules/customerquality/components/baseConfig-add.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										177
									
								
								src/views/modules/customerquality/components/baseConfig-add.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,177 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-07-14 13:44:46
 | 
			
		||||
 * @LastEditTime: 2023-07-18 16:53:52
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <div>
 | 
			
		||||
    <el-drawer close-on-press-escape:title="$t('add')" :append-to-body="true" :before-close="handleClose"
 | 
			
		||||
      :visible.sync="innerDrawer">
 | 
			
		||||
      <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
        label-width="120px">
 | 
			
		||||
        <el-form-item prop="requirementListId" :label="$t('customerquality.requirementListName')">
 | 
			
		||||
          <el-select clearable v-model="dataForm.requirementListId"
 | 
			
		||||
            :placeholder="$t('customerquality.requirementListName')">
 | 
			
		||||
            <el-option v-for="item in requirementList" :key="item.id" :label="item.requirementListName"
 | 
			
		||||
              :value="item.id">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item prop="knowledgeBaseId" :label="$t('customerquality.knowledgeBaseName')">
 | 
			
		||||
          <el-select clearable v-model="dataForm.knowledgeBaseId"
 | 
			
		||||
            :placeholder="$t('customerquality.knowledgeBaseName')">
 | 
			
		||||
            <el-option v-for="item in knowledgeBaseList" :key="item.id" :label="item.knowledgeBaseName"
 | 
			
		||||
              :value="item.id">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item>
 | 
			
		||||
          <el-button @click="innerDrawer = false">{{ $t('cancel') }} </el-button>
 | 
			
		||||
          <el-button type="primary" @click="dataFormSubmit"> {{ $t('confirm') }}</el-button>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-form>
 | 
			
		||||
    </el-drawer>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import i18n from "@/i18n"
 | 
			
		||||
import basicAdd from "@/mixins/basic-add"
 | 
			
		||||
import debounce from "lodash/debounce"
 | 
			
		||||
export default {
 | 
			
		||||
  mixins: [basicAdd],
 | 
			
		||||
    data() {
 | 
			
		||||
      return {
 | 
			
		||||
        urlOptions: {
 | 
			
		||||
          submitURL: "/customerquality/qmsKnowledgeBaseRequirementList",
 | 
			
		||||
          getRequirementListURL: "/customerquality/qmsCustomerQualityRequirementList/page",
 | 
			
		||||
          getKnowledgeBaseURL: "/customerquality/qmsKnowledgeBase/page"
 | 
			
		||||
        },
 | 
			
		||||
        dataForm: {
 | 
			
		||||
          knowledgeBaseId: null,
 | 
			
		||||
          requirementListId:null
 | 
			
		||||
        },
 | 
			
		||||
        innerDrawer: false,
 | 
			
		||||
        listQuery: {
 | 
			
		||||
          limit: 10,
 | 
			
		||||
          page:1,
 | 
			
		||||
        },
 | 
			
		||||
        requirementList: [],
 | 
			
		||||
        knowledgeBaseList:[],
 | 
			
		||||
      }
 | 
			
		||||
  },
 | 
			
		||||
  computed: {
 | 
			
		||||
    dataRule() {
 | 
			
		||||
      return {
 | 
			
		||||
        knowledgeBaseId: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$t("validate.required"),
 | 
			
		||||
            trigger: "change",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        requirementListId: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$t("validate.required"),
 | 
			
		||||
            trigger: "change",
 | 
			
		||||
          },
 | 
			
		||||
        ]
 | 
			
		||||
      };
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  mounted () {
 | 
			
		||||
    this.getDict()
 | 
			
		||||
  },
 | 
			
		||||
    methods: {
 | 
			
		||||
      init(obj) {
 | 
			
		||||
        this.dataForm.knowledgeBaseId = obj.knowledgeBaseId || ''
 | 
			
		||||
        this.dataForm.requirementListId = obj.requirementListId || ''
 | 
			
		||||
        this.dataForm.id = obj.id || ''
 | 
			
		||||
        this.innerDrawer = true
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.$refs["dataForm"].resetFields()
 | 
			
		||||
          if (this.dataForm.id) {
 | 
			
		||||
            this.getInfo()
 | 
			
		||||
          } else {
 | 
			
		||||
            // this.getCode()
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
      },
 | 
			
		||||
      handleClose() {
 | 
			
		||||
        this.innerDrawer = true
 | 
			
		||||
        this.$refs.dataForm.resetFields()
 | 
			
		||||
      },
 | 
			
		||||
      getInfo() {
 | 
			
		||||
        this.$http
 | 
			
		||||
          .get(`/customerquality/qmsKnowledgeBaseRequirementList/${this.dataForm.id}`)
 | 
			
		||||
          .then(({ data: res }) => {
 | 
			
		||||
            if (res.code !== 0) {
 | 
			
		||||
              return this.$message.error(res.msg);
 | 
			
		||||
            }
 | 
			
		||||
            this.dataForm = {
 | 
			
		||||
              ...this.dataForm,
 | 
			
		||||
              ...res.data,
 | 
			
		||||
            };
 | 
			
		||||
          })
 | 
			
		||||
          .catch(() => { });
 | 
			
		||||
      },
 | 
			
		||||
      getDict() {
 | 
			
		||||
        this.$http
 | 
			
		||||
          .get(this.urlOptions.getRequirementListURL, {
 | 
			
		||||
            params: this.listQuery
 | 
			
		||||
          })
 | 
			
		||||
          .then(({ data: res }) => {
 | 
			
		||||
            if (res.code === 0) {
 | 
			
		||||
              console.log(res);
 | 
			
		||||
              this.requirementList = res.data.list
 | 
			
		||||
            }
 | 
			
		||||
          })
 | 
			
		||||
          .catch(() => {
 | 
			
		||||
          })
 | 
			
		||||
        this.$http
 | 
			
		||||
          .get(this.urlOptions.getKnowledgeBaseURL, {
 | 
			
		||||
            params: this.listQuery
 | 
			
		||||
          })
 | 
			
		||||
          .then(({ data: res }) => {
 | 
			
		||||
            if (res.code === 0) {
 | 
			
		||||
              console.log(res);
 | 
			
		||||
              this.knowledgeBaseList = res.data.list
 | 
			
		||||
            }
 | 
			
		||||
          })
 | 
			
		||||
          .catch(() => {
 | 
			
		||||
          })
 | 
			
		||||
      },
 | 
			
		||||
      // 表单提交
 | 
			
		||||
      dataFormSubmit() {
 | 
			
		||||
        this.$refs["dataForm"].validate((valid) => {
 | 
			
		||||
          if (!valid) {
 | 
			
		||||
            return false;
 | 
			
		||||
          }
 | 
			
		||||
          this.$http[!this.dataForm.id ? "post" : "put"](this.urlOptions.submitURL, this.dataForm)
 | 
			
		||||
            .then(({ data: res }) => {
 | 
			
		||||
              if (res.code !== 0) {
 | 
			
		||||
                return this.$message.error(res.msg);
 | 
			
		||||
              }
 | 
			
		||||
              this.$message({
 | 
			
		||||
                message: this.$t("prompt.success"),
 | 
			
		||||
                type: "success",
 | 
			
		||||
                duration: 500,
 | 
			
		||||
                onClose: () => {
 | 
			
		||||
                  this.innerDrawer = false;
 | 
			
		||||
                  this.$emit("refreshDataList");
 | 
			
		||||
                },
 | 
			
		||||
              });
 | 
			
		||||
            })
 | 
			
		||||
            .catch(() => { });
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
  }
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
 | 
			
		||||
</style>
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-07-14 13:44:46
 | 
			
		||||
 * @LastEditTime: 2023-07-14 13:59:46
 | 
			
		||||
 * @LastEditTime: 2023-07-18 14:25:05
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -9,6 +9,11 @@
 | 
			
		||||
  <div>
 | 
			
		||||
    <el-drawer :title="$t('customerquality.knowledgeBase')" :visible.sync="drawer" size="50%">
 | 
			
		||||
      <div>
 | 
			
		||||
        <SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
 | 
			
		||||
          <!-- <el-badge :value="5" class="item">
 | 
			
		||||
            <el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
 | 
			
		||||
          </el-badge> -->
 | 
			
		||||
        </SearchBar>
 | 
			
		||||
        <base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1"
 | 
			
		||||
          :limit="listQuery.limit" :table-data="tableData">
 | 
			
		||||
          <method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
 | 
			
		||||
@@ -17,6 +22,7 @@
 | 
			
		||||
        <pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
 | 
			
		||||
          @pagination="getDataList" />
 | 
			
		||||
      </div>
 | 
			
		||||
      <baseConfig-add ref="baseConfigAddList" v-if="baseConfigAddShow" @refreshDataList="getDataList"></baseConfig-add>
 | 
			
		||||
    </el-drawer>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
@@ -25,8 +31,10 @@
 | 
			
		||||
import basicPage from "@/mixins/basic-page"
 | 
			
		||||
// import basicSearch from "@/mixins/basic-search"
 | 
			
		||||
// import projectTypeSearch from "./components/projectTypeSearch.vue"
 | 
			
		||||
import baseConfigAdd from "./baseConfig-add"
 | 
			
		||||
import customerquality from '@/filters/customerquality'
 | 
			
		||||
// import qmsKnowledgeBaseAdd from "./components/qmsKnowledgeBase-add.vue"
 | 
			
		||||
import InnerTable from "./innerTable"
 | 
			
		||||
import i18n from "@/i18n"
 | 
			
		||||
// import i18n from "@/i18n";
 | 
			
		||||
const tableProps = [
 | 
			
		||||
@@ -40,8 +48,13 @@ const tableProps = [
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "categoryName",
 | 
			
		||||
    label: i18n.t('customerquality.category'),
 | 
			
		||||
  }
 | 
			
		||||
    label: i18n.t('uploadFile'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "code",
 | 
			
		||||
    label: i18n.t('customerquality.file'),
 | 
			
		||||
    subcomponent: InnerTable
 | 
			
		||||
  },
 | 
			
		||||
];
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
@@ -51,14 +64,13 @@ const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
    type: "delete",
 | 
			
		||||
    btnName: i18n.t('delete'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    type: "configuration",
 | 
			
		||||
    btnName: i18n.t('delete'),
 | 
			
		||||
  }
 | 
			
		||||
];
 | 
			
		||||
export default {
 | 
			
		||||
  mixins: [basicPage],
 | 
			
		||||
  components: {
 | 
			
		||||
    baseConfigAdd,
 | 
			
		||||
  },
 | 
			
		||||
    data() {
 | 
			
		||||
      return {
 | 
			
		||||
        urlOptions: {
 | 
			
		||||
@@ -67,7 +79,23 @@ export default {
 | 
			
		||||
          exportURL: '/customerquality/qmsKnowledgeBase/export'
 | 
			
		||||
        },
 | 
			
		||||
        tableBtn,
 | 
			
		||||
        
 | 
			
		||||
        baseConfigAddShow:[],
 | 
			
		||||
        formConfig: [
 | 
			
		||||
          {
 | 
			
		||||
            type: "button",
 | 
			
		||||
            btnName: i18n.t('search'),
 | 
			
		||||
            name: "search",
 | 
			
		||||
            color: "primary",
 | 
			
		||||
            // plain: true,
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            type: "button",
 | 
			
		||||
            btnName: i18n.t('add'),
 | 
			
		||||
            name: "add",
 | 
			
		||||
            color: "success",
 | 
			
		||||
            plain: true
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        tableProps,
 | 
			
		||||
        tableData: [],
 | 
			
		||||
        drawer: false,
 | 
			
		||||
@@ -78,16 +106,105 @@ export default {
 | 
			
		||||
      }
 | 
			
		||||
  },
 | 
			
		||||
    methods: {
 | 
			
		||||
      init(id) {
 | 
			
		||||
        this.listQuery.knowledgeBaseId = id || ""
 | 
			
		||||
      init(obj) {
 | 
			
		||||
        this.listQuery.knowledgeBaseId = obj.knowledgeBaseId || ""
 | 
			
		||||
        this.listQuery.requirementListId = obj.requirementListId || ""
 | 
			
		||||
 | 
			
		||||
        // this.dataForm.dictTypeId = dictTypeId || "";
 | 
			
		||||
        this.drawer = true
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.getDataList()
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
      handleClick(){
 | 
			
		||||
        
 | 
			
		||||
      }
 | 
			
		||||
      buttonClick(val) {
 | 
			
		||||
        console.log(val)
 | 
			
		||||
        switch (val.btnName) {
 | 
			
		||||
          case "search":
 | 
			
		||||
            // this.listQuery.paramCode = val.paramCode;
 | 
			
		||||
            // this.listQuery.supplierName = val.supplierName ? val.supplierName : undefined
 | 
			
		||||
            // this.listQuery.supplierStatus = val.supplierStatus ? val.supplierStatus : undefined
 | 
			
		||||
            // this.listQuery.supplierTypeId = val.supplierTypeId ? val.supplierTypeId : undefined
 | 
			
		||||
            // this.listQuery.ment = this.ment ? this.ment : undefined
 | 
			
		||||
            // console.log(i18n);
 | 
			
		||||
            this.listQuery.page = 1;
 | 
			
		||||
            this.getDataList()
 | 
			
		||||
            break;
 | 
			
		||||
          // case "export":
 | 
			
		||||
          //   // this.listQuery.paramCode = val.paramCode;
 | 
			
		||||
          //   this.exportHandle()
 | 
			
		||||
          //   break;
 | 
			
		||||
          case "add":
 | 
			
		||||
            // this.addOrEditTitle = '新增'
 | 
			
		||||
            // this.addOrUpdateVisible = true;
 | 
			
		||||
            this.baseConfigAddShow = true
 | 
			
		||||
            const obj = {
 | 
			
		||||
              knowledgeBaseId:   this.listQuery.knowledgeBaseId,
 | 
			
		||||
              requirementListId: this.listQuery.requirementListId 
 | 
			
		||||
            }
 | 
			
		||||
            this.$nextTick(() => {
 | 
			
		||||
              this.$refs.baseConfigAddList.init(obj)
 | 
			
		||||
            })
 | 
			
		||||
            // this.addOrUpdateHandle()
 | 
			
		||||
            break;
 | 
			
		||||
          default:
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      getDataList() {
 | 
			
		||||
        this.dataListLoading = true;
 | 
			
		||||
        this.$http
 | 
			
		||||
          .get(this.urlOptions.getDataListURL, {
 | 
			
		||||
            params: this.listQuery,
 | 
			
		||||
          })
 | 
			
		||||
          .then(({ data: res }) => {
 | 
			
		||||
            this.dataListLoading = false;
 | 
			
		||||
            if (res.code !== 0) {
 | 
			
		||||
              this.tableData = [];
 | 
			
		||||
              this.listQuery.total = 0;
 | 
			
		||||
              return this.$message.error(res.msg);
 | 
			
		||||
            }
 | 
			
		||||
            this.tableData = res.data.list;
 | 
			
		||||
            this.listQuery.total = res.data.total;
 | 
			
		||||
          })
 | 
			
		||||
          .catch(() => {
 | 
			
		||||
            this.dataListLoading = false;
 | 
			
		||||
          })
 | 
			
		||||
      },
 | 
			
		||||
      handleClick(val) {
 | 
			
		||||
        if (val.type === "delete") {
 | 
			
		||||
          this.$confirm(`确定对[名称=${val.data.customerTypeName}]进行删除操作?`, "提示", {
 | 
			
		||||
            confirmButtonText: "确定",
 | 
			
		||||
            cancelButtonText: "取消",
 | 
			
		||||
            type: "warning",
 | 
			
		||||
          })
 | 
			
		||||
            .then(() => {
 | 
			
		||||
              this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
 | 
			
		||||
                if (data && data.code === 0) {
 | 
			
		||||
                  this.$message({
 | 
			
		||||
                    message: "操作成功",
 | 
			
		||||
                    type: "success",
 | 
			
		||||
                    duration: 1500,
 | 
			
		||||
                    onClose: () => {
 | 
			
		||||
                      this.getDataList();
 | 
			
		||||
                    },
 | 
			
		||||
                  });
 | 
			
		||||
                } else {
 | 
			
		||||
                  this.$message.error(data.msg);
 | 
			
		||||
                }
 | 
			
		||||
              });
 | 
			
		||||
            })
 | 
			
		||||
            .catch(() => { });
 | 
			
		||||
        } else if (val.type === 'edit') {
 | 
			
		||||
          this.baseConfigAddShow = true
 | 
			
		||||
          const obj = {
 | 
			
		||||
            knowledgeBaseId: this.listQuery.knowledgeBaseId,
 | 
			
		||||
            requirementListId: this.listQuery.requirementListId,
 | 
			
		||||
            id:val.data.id
 | 
			
		||||
          }
 | 
			
		||||
          this.$nextTick(() => {
 | 
			
		||||
            this.$refs.baseConfigAddList.init(obj)
 | 
			
		||||
          })
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
  }
 | 
			
		||||
</script>
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,187 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-07-14 13:44:46
 | 
			
		||||
 * @LastEditTime: 2023-07-18 16:53:36
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <div>
 | 
			
		||||
    <el-drawer close-on-press-escape :title="$t('add')" :append-to-body="true" :before-close="handleClose"
 | 
			
		||||
      :visible.sync="innerDrawer">
 | 
			
		||||
      <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
        label-width="120px">
 | 
			
		||||
        <el-form-item prop="knowledgeBaseFileId" :label="$t('customerquality.knowledgeBaseFileId')">
 | 
			
		||||
          <el-select clearable v-model="dataForm.knowledgeBaseFileId"
 | 
			
		||||
            :placeholder="$t('customerquality.knowledgeBaseFileId')">
 | 
			
		||||
            <el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName"
 | 
			
		||||
              :value="item.id">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item prop="title" :label="$t('customerquality.title')">
 | 
			
		||||
          <el-input clearable v-model="dataForm.title" :placeholder="$t('customerquality.title')">
 | 
			
		||||
          </el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item prop="accessPath" :label="$t('customerquality.accessPath')">
 | 
			
		||||
          <el-input clearable v-model="dataForm.accessPath" :placeholder="$t('customerquality.accessPath')">
 | 
			
		||||
          </el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item>
 | 
			
		||||
          <el-button @click="innerDrawer = false">{{ $t('cancel') }} </el-button>
 | 
			
		||||
          <el-button type="primary" @click="dataFormSubmit"> {{ $t('confirm') }}</el-button>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-form>
 | 
			
		||||
    </el-drawer>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import i18n from "@/i18n"
 | 
			
		||||
import basicAdd from "@/mixins/basic-add"
 | 
			
		||||
import debounce from "lodash/debounce"
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  mixins: [basicAdd],
 | 
			
		||||
    data() {
 | 
			
		||||
      return {
 | 
			
		||||
        urlOptions: {
 | 
			
		||||
          submitURL: "/customerquality/knowledgeBaseRequirementListData",
 | 
			
		||||
          getDictDataDetail: '/mutual/qmsDataDictionaryDetail/page'
 | 
			
		||||
        },
 | 
			
		||||
        dataForm: {
 | 
			
		||||
          accessPath:null,
 | 
			
		||||
          id: null,
 | 
			
		||||
          knowledgeBaseFileId: null,
 | 
			
		||||
          knowledgeBaseRequirementListId: null,
 | 
			
		||||
          title: null,
 | 
			
		||||
        },
 | 
			
		||||
        innerDrawer: false,
 | 
			
		||||
        listQuery: {
 | 
			
		||||
          limit: 10,
 | 
			
		||||
          page:1,
 | 
			
		||||
        },
 | 
			
		||||
        categoryList:[],
 | 
			
		||||
        requirementList: [],
 | 
			
		||||
        knowledgeBaseList:[],
 | 
			
		||||
      }
 | 
			
		||||
  },
 | 
			
		||||
  computed: {
 | 
			
		||||
    dataRule() {
 | 
			
		||||
      return {
 | 
			
		||||
        knowledgeBaseId: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$t("validate.required"),
 | 
			
		||||
            trigger: "change",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        requirementListId: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$t("validate.required"),
 | 
			
		||||
            trigger: "change",
 | 
			
		||||
          },
 | 
			
		||||
        ]
 | 
			
		||||
      };
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  mounted () {
 | 
			
		||||
    this.getDict()
 | 
			
		||||
    this.getAccessPath()
 | 
			
		||||
  },
 | 
			
		||||
    methods: {
 | 
			
		||||
      init(obj) {
 | 
			
		||||
        this.dataForm.knowledgeBaseRequirementListId = obj.knowledgeBaseRequirementListId || ''
 | 
			
		||||
        this.dataForm.knowledgeBaseRequirementListId = obj.knowledgeBaseRequirementListId || ''
 | 
			
		||||
 | 
			
		||||
        this.dataForm.id = obj.id || ''
 | 
			
		||||
        this.innerDrawer = true
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.$refs["dataForm"].resetFields()
 | 
			
		||||
          if (this.dataForm.id) {
 | 
			
		||||
            this.getInfo()
 | 
			
		||||
          } else {
 | 
			
		||||
            // this.getCode()
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
      },
 | 
			
		||||
      getDict() {
 | 
			
		||||
        this.$http
 | 
			
		||||
          .get(this.urlOptions.getDictDataDetail, {
 | 
			
		||||
            params: {
 | 
			
		||||
              limit: 999,
 | 
			
		||||
              page: 1,
 | 
			
		||||
              dataDictionaryId: '1679670942635122690',
 | 
			
		||||
            }
 | 
			
		||||
          })
 | 
			
		||||
          .then(({ data: res }) => {
 | 
			
		||||
            // this.dataListLoading = false;
 | 
			
		||||
            if (res.code === 0) {
 | 
			
		||||
              this.categoryList = res.data.list
 | 
			
		||||
            }
 | 
			
		||||
          })
 | 
			
		||||
      },
 | 
			
		||||
      getAccessPath() {
 | 
			
		||||
        const now = new Date();
 | 
			
		||||
        const year = now.getFullYear();
 | 
			
		||||
        const month = ('0' + (now.getMonth() + 1)).slice(-2);
 | 
			
		||||
        const day = ('0' + now.getDate()).slice(-2);
 | 
			
		||||
        const hours = ('0' + now.getHours()).slice(-2);
 | 
			
		||||
        const minutes = ('0' + now.getMinutes()).slice(-2);
 | 
			
		||||
        const formattedTime = year + month + day + hours + minutes
 | 
			
		||||
        console.log(formattedTime)
 | 
			
		||||
 | 
			
		||||
        var str = Math.random().toString(36).slice(-5)
 | 
			
		||||
        // console.log(str)
 | 
			
		||||
        this.dataForm.accessPath = formattedTime+ str
 | 
			
		||||
      },
 | 
			
		||||
      handleClose() {
 | 
			
		||||
        this.innerDrawer = true
 | 
			
		||||
        this.$refs.dataForm.resetFields()
 | 
			
		||||
      },
 | 
			
		||||
      getInfo() {
 | 
			
		||||
        this.$http
 | 
			
		||||
          .get(`/customerquality/knowledgeBaseRequirementListData/${this.dataForm.id}`)
 | 
			
		||||
          .then(({ data: res }) => {
 | 
			
		||||
            if (res.code !== 0) {
 | 
			
		||||
              return this.$message.error(res.msg);
 | 
			
		||||
            }
 | 
			
		||||
            this.dataForm = {
 | 
			
		||||
              ...this.dataForm,
 | 
			
		||||
              ...res.data,
 | 
			
		||||
            };
 | 
			
		||||
          })
 | 
			
		||||
          .catch(() => { });
 | 
			
		||||
      },
 | 
			
		||||
      // 表单提交
 | 
			
		||||
      dataFormSubmit() {
 | 
			
		||||
        this.$refs["dataForm"].validate((valid) => {
 | 
			
		||||
          if (!valid) {
 | 
			
		||||
            return false;
 | 
			
		||||
          }
 | 
			
		||||
          this.$http[!this.dataForm.id ? "post" : "put"](this.urlOptions.submitURL, this.dataForm)
 | 
			
		||||
            .then(({ data: res }) => {
 | 
			
		||||
              if (res.code !== 0) {
 | 
			
		||||
                return this.$message.error(res.msg);
 | 
			
		||||
              }
 | 
			
		||||
              this.$message({
 | 
			
		||||
                message: this.$t("prompt.success"),
 | 
			
		||||
                type: "success",
 | 
			
		||||
                duration: 500,
 | 
			
		||||
                onClose: () => {
 | 
			
		||||
                  this.innerDrawer = false;
 | 
			
		||||
                  this.$emit("refreshDataList");
 | 
			
		||||
                },
 | 
			
		||||
              });
 | 
			
		||||
            })
 | 
			
		||||
            .catch(() => { });
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
  }
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
 | 
			
		||||
</style>
 | 
			
		||||
							
								
								
									
										146
									
								
								src/views/modules/customerquality/components/change-add.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										146
									
								
								src/views/modules/customerquality/components/change-add.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,146 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-07-14 13:44:46
 | 
			
		||||
 * @LastEditTime: 2023-07-19 14:48:19
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <div>
 | 
			
		||||
    <el-drawer close-on-press-escape :title="!dataForm.id ? $t('add') : $t('edit')" size="40%" :append-to-body="true"
 | 
			
		||||
      :closed="handleClose" :visible.sync="innerDrawer">
 | 
			
		||||
      <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
        label-width="140px">
 | 
			
		||||
        <el-form-item prop="changeHistory" label="Change History of this PPAP record">
 | 
			
		||||
          <el-input clearable v-model="dataForm.changeHistory" placeholder="Change History of this PPAP record">
 | 
			
		||||
          </el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item prop="name" label="	name">
 | 
			
		||||
          <el-input clearable v-model="dataForm.name" placeholder="name">
 | 
			
		||||
          </el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item prop="date" label="date">
 | 
			
		||||
          <el-date-picker v-model="dataForm.date" type="datetime" format='yyyy-MM-dd HH:mm:ss'
 | 
			
		||||
            valueFormat='yyyy-MM-ddTHH:mm:ss' placeholder="date">
 | 
			
		||||
          </el-date-picker>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item>
 | 
			
		||||
          <el-button @click="innerDrawer = false">{{ $t('cancel') }} </el-button>
 | 
			
		||||
          <el-button type="primary" @click="dataFormSubmit"> {{ $t('confirm') }}</el-button>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-form>
 | 
			
		||||
    </el-drawer>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import i18n from "@/i18n"
 | 
			
		||||
import basicAdd from "@/mixins/basic-add"
 | 
			
		||||
import debounce from "lodash/debounce"
 | 
			
		||||
export default {
 | 
			
		||||
  mixins: [basicAdd],
 | 
			
		||||
    data() {
 | 
			
		||||
      return {
 | 
			
		||||
        urlOptions: {
 | 
			
		||||
          submitURL: "/customerquality/qmsCustomerQualityProjectListChangeRecord",
 | 
			
		||||
        },
 | 
			
		||||
        dataForm: {
 | 
			
		||||
          date:null,
 | 
			
		||||
          name: null,
 | 
			
		||||
          id: null,
 | 
			
		||||
          changeHistory: null,
 | 
			
		||||
        },
 | 
			
		||||
        innerDrawer: false,
 | 
			
		||||
        listQuery: {
 | 
			
		||||
          limit: 10,
 | 
			
		||||
          page:1,
 | 
			
		||||
        },
 | 
			
		||||
        requirementList: [],
 | 
			
		||||
        knowledgeBaseList:[],
 | 
			
		||||
      }
 | 
			
		||||
  },
 | 
			
		||||
  computed: {
 | 
			
		||||
    dataRule() {
 | 
			
		||||
      return {
 | 
			
		||||
        knowledgeBaseId: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$t("validate.required"),
 | 
			
		||||
            trigger: "change",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        requirementListId: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$t("validate.required"),
 | 
			
		||||
            trigger: "change",
 | 
			
		||||
          },
 | 
			
		||||
        ]
 | 
			
		||||
      };
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
    methods: {
 | 
			
		||||
      init(obj) {
 | 
			
		||||
        // this.dataForm.knowledgeBaseId = obj.knowledgeBaseId || ''
 | 
			
		||||
        // this.dataForm.requirementListId = obj.requirementListId || ''
 | 
			
		||||
        this.dataForm.id = obj.id?  obj.id :null
 | 
			
		||||
        this.dataForm.customerQualityProjectListId = obj.customerQualityProjectListId ? obj.customerQualityProjectListId :null
 | 
			
		||||
        this.innerDrawer = true
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.$refs["dataForm"].resetFields()
 | 
			
		||||
          if (this.dataForm.id) {
 | 
			
		||||
            this.getInfo()
 | 
			
		||||
          } else {
 | 
			
		||||
            // this.getCode()
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
      },
 | 
			
		||||
      handleClose() {
 | 
			
		||||
        this.innerDrawer = true
 | 
			
		||||
        this.$refs.dataForm.resetFields()
 | 
			
		||||
      },
 | 
			
		||||
      getInfo() {
 | 
			
		||||
        this.$http
 | 
			
		||||
          .get(`/customerquality/qmsCustomerQualityProjectListChangeRecord/${this.dataForm.id}`)
 | 
			
		||||
          .then(({ data: res }) => {
 | 
			
		||||
            if (res.code !== 0) {
 | 
			
		||||
              return this.$message.error(res.msg);
 | 
			
		||||
            }
 | 
			
		||||
            this.dataForm = {
 | 
			
		||||
              ...this.dataForm,
 | 
			
		||||
              ...res.data,
 | 
			
		||||
            };
 | 
			
		||||
          })
 | 
			
		||||
          .catch(() => { });
 | 
			
		||||
      },
 | 
			
		||||
      // 表单提交
 | 
			
		||||
      dataFormSubmit() {
 | 
			
		||||
        this.$refs["dataForm"].validate((valid) => {
 | 
			
		||||
          if (!valid) {
 | 
			
		||||
            return false;
 | 
			
		||||
          }
 | 
			
		||||
          this.$http[!this.dataForm.id ? "post" : "put"](this.urlOptions.submitURL, this.dataForm)
 | 
			
		||||
            .then(({ data: res }) => {
 | 
			
		||||
              if (res.code !== 0) {
 | 
			
		||||
                return this.$message.error(res.msg);
 | 
			
		||||
              }
 | 
			
		||||
              this.$message({
 | 
			
		||||
                message: this.$t("prompt.success"),
 | 
			
		||||
                type: "success",
 | 
			
		||||
                duration: 500,
 | 
			
		||||
                onClose: () => {
 | 
			
		||||
                  this.innerDrawer = false;
 | 
			
		||||
                  this.$emit("refreshDataList");
 | 
			
		||||
                },
 | 
			
		||||
              });
 | 
			
		||||
            })
 | 
			
		||||
            .catch(() => { });
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
  }
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
 | 
			
		||||
</style>
 | 
			
		||||
@@ -1,85 +1,423 @@
 | 
			
		||||
    <!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-14 14:28:32
 | 
			
		||||
 * @LastEditTime: 2023-07-19 16:17:25
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
    label-width="120px">
 | 
			
		||||
    <el-form-item prop="code" :label="$t('customerquality.code')">
 | 
			
		||||
      <el-input v-model="dataForm.code" :placeholder="$t('customerquality.code')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="knowledgeBaseName" :label="$t('customerquality.knowledgeBaseName')">
 | 
			
		||||
      <el-input v-model="dataForm.knowledgeBaseName" :placeholder="$t('customerquality.knowledgeBaseName')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <!-- <el-form-item prop="knowledgeBaseName" :label="$t('basic.status')">
 | 
			
		||||
      <el-select v-model="dataForm.currentStage" :placeholder="$t('basic.status')">
 | 
			
		||||
        <el-option v-for="item in currentStageList" :key="item.value" :label="item.label" :value="item.value">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="serialNumber" :label="$t('customerquality.serialNumber')">
 | 
			
		||||
      <el-input v-model="dataForm.serialNumber" :placeholder="$t('customerquality.serialNumber')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="description" :label="$t('customerquality.description')">
 | 
			
		||||
      <el-input v-model="dataForm.description" :placeholder="$t('customerquality.description')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="questionType" :label="$t('customerquality.questionType')">
 | 
			
		||||
      <el-select v-model="dataForm.questionType" :placeholder="$t('customerquality.questionType')">
 | 
			
		||||
        <el-option v-for="item in questionTypeList" :key="item.value" :label="item.label" :value="item.value">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item> -->
 | 
			
		||||
    <el-form-item prop="category" :label="$t('customerquality.category')">
 | 
			
		||||
      <el-select v-model="dataForm.category" :placeholder="$t('customerquality.category')">
 | 
			
		||||
        <el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName"
 | 
			
		||||
          :value="item.id">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
  </el-form>
 | 
			
		||||
  <el-drawer close-on-press-escape title="提示" :visible.sync="visible" size="50%" :before-close="handleClose()">
 | 
			
		||||
    <el-tabs @tab-click="handleClickTab" v-model="title" tab-position="left" style="margin-bottom: 30px;">
 | 
			
		||||
      <el-tab-pane label="项目概述" name="first">
 | 
			
		||||
        <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
          label-width="120px">
 | 
			
		||||
          <el-form-item prop="productId" :label="$t('basic.productName')">
 | 
			
		||||
            <el-select v-model="dataForm.productId" :placeholder="$t('basic.productName')" clearable>
 | 
			
		||||
              <el-option v-for="item in productList" :key="item.id" :label="item.productName" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
          <el-form-item prop="knowledgeBaseId" :label="$t('customerquality.knowledgeBase')">
 | 
			
		||||
            <el-select v-model="dataForm.knowledgeBaseId" :placeholder="$t('customerquality.knowledgeBase')" clearable>
 | 
			
		||||
              <el-option v-for="item in knowledgeBaseList" :key="item.id" :label="item.knowledgeBaseName"
 | 
			
		||||
                :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
          <el-form-item prop="customerId" :label="$t('customerquality.customerName')">
 | 
			
		||||
            <el-select v-model="dataForm.customerId" :placeholder="$t('customerquality.customerName')" clearable>
 | 
			
		||||
              <el-option v-for="item in customerList" :key="item.id" :label="item.customerName" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
          <el-form-item prop="qualityAcceptanceDate" :label="$t('customerquality.qualityAcceptanceDate')">
 | 
			
		||||
            <el-date-picker clearable v-model="dataForm.qualityAcceptanceDate" type="datetime"
 | 
			
		||||
              :placeholder="$t('customerquality.qualityAcceptanceDate')">
 | 
			
		||||
            </el-date-picker>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
          <el-form-item prop="deliveryRequiredDate" :label="$t('customerquality.deliveryRequiredDate')">
 | 
			
		||||
            <el-date-picker clearable v-model="dataForm.deliveryRequiredDate" type="datetime"
 | 
			
		||||
              :placeholder="$t('customerquality.deliveryRequiredDate')">
 | 
			
		||||
            </el-date-picker>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
          <el-form-item prop="confirmDeliveryDate" :label="$t('customerquality.confirmDeliveryDate')">
 | 
			
		||||
            <el-date-picker clearable v-model="dataForm.confirmDeliveryDate" type="datetime"
 | 
			
		||||
              :placeholder="$t('customerquality.confirmDeliveryDate')">
 | 
			
		||||
            </el-date-picker>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
          <el-form-item prop="first" :label="$t('customerquality.first')">
 | 
			
		||||
            <el-select clearable v-model="dataForm.first" :placeholder="$t('customerquality.first')">
 | 
			
		||||
              <el-option v-for="item in firstList" :key="item.id" :label="item.name" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
          <el-form-item prop="previousVersionCode" :label="$t('customerquality.previousVersionCode')">
 | 
			
		||||
            <el-input clearable v-model="dataForm.previousVersionCode"
 | 
			
		||||
              :placeholder="$t('customerquality.previousVersionCode')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
          <el-form-item prop="author" label="Author/Owner">
 | 
			
		||||
            <el-input clearable v-model="dataForm.author" placeholder="Author/Owner">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
          <el-form-item prop="releaser" label="releaser">
 | 
			
		||||
            <el-input clearable v-model="dataForm.releaser" placeholder="releaser">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
          <el-form-item prop="confidentialityAgreement" :label="$t('customerquality.first')">
 | 
			
		||||
            <el-select clearable v-model="dataForm.confidentialityAgreement" :placeholder="$t('customerquality.first')">
 | 
			
		||||
              <el-option v-for="item in confidentialityAgreementList" :key="item.id" :label="item.name"
 | 
			
		||||
                :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
          <el-form-item prop="nda" label="nda">
 | 
			
		||||
            <el-select clearable v-model="dataForm.nda" placeholder="nda">
 | 
			
		||||
              <el-option v-for="item in ndaList" :key="item.id" :label="item.name" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
          <el-form-item prop="status" label="状态">
 | 
			
		||||
            <el-select clearable v-model="dataForm.status" placeholder="状态">
 | 
			
		||||
              <el-option v-for="item in statusList" :key="item.id" :label="item.name" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
          <el-form-item prop="ppapGrade" :label="$t('customerquality.ppapGrade')">
 | 
			
		||||
            <el-select clearable v-model="dataForm.ppapGrade" :placeholder="$t('customerquality.ppapGrade')">
 | 
			
		||||
              <el-option v-for="item in ppapGradeList" :key="item.id" :label="item.dataDictionaryDetailName"
 | 
			
		||||
                :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
          <el-form-item prop="version" :label="$t('customerquality.version')">
 | 
			
		||||
            <el-input clearable v-model="dataForm.version" :placeholder="$t('customerquality.version')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
          <el-form-item prop="amendment" :label="$t('customerquality.amendment')">
 | 
			
		||||
            <el-input clearable v-model="dataForm.amendment" :placeholder="$t('customerquality.amendment')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
          <el-form-item prop="description" :label="$t('customerquality.description')">
 | 
			
		||||
            <el-input clearable v-model="dataForm.description" :placeholder="$t('customerquality.description')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-form>
 | 
			
		||||
        <span style="float: right;" class="dialog-footer">
 | 
			
		||||
          <el-button @click="visible = false">{{ $t('cancel') }}</el-button>
 | 
			
		||||
          <el-button type="primary" @click="dataFormSubmit()"> {{ $t('save') }} </el-button>
 | 
			
		||||
        </span>
 | 
			
		||||
      </el-tab-pane>
 | 
			
		||||
      <el-tab-pane :disabled="tabDisable" label="要求清单" name="second">
 | 
			
		||||
        <el-tree :default-checked-keys="defaultData" :data="treeData" show-checkbox @check="handleCheckChange"
 | 
			
		||||
          node-key="id">
 | 
			
		||||
        </el-tree>
 | 
			
		||||
        <span style="float: right;" class="dialog-footer">
 | 
			
		||||
          <el-button @click="visible = false">{{ $t('cancel') }}</el-button>
 | 
			
		||||
          <el-button type="primary" @click="projectListRequirementListDataFormSubmit()"> {{ $t('save')
 | 
			
		||||
          }} </el-button>
 | 
			
		||||
        </span>
 | 
			
		||||
      </el-tab-pane>
 | 
			
		||||
      <el-tab-pane :disabled="tabDisable" label="封面生成" name="three">
 | 
			
		||||
        <el-divider content-position="center">修订记录</el-divider>
 | 
			
		||||
        <SearchBar :formConfigs="reviseFormConfig" ref="ruleForm" @headBtnClick="buttonClick">
 | 
			
		||||
        </SearchBar>
 | 
			
		||||
        <base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1"
 | 
			
		||||
          :limit="listQuery.limit" :table-data="tableData">
 | 
			
		||||
          <method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
 | 
			
		||||
            @clickBtn="handleClick" />
 | 
			
		||||
        </base-table>
 | 
			
		||||
        <pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
 | 
			
		||||
          @pagination="getDataList" />
 | 
			
		||||
        <revise-add ref="reviseAddList" v-if="reviseAddShow" @refreshDataList="getDataList">
 | 
			
		||||
        </revise-add>
 | 
			
		||||
        <el-divider content-position="center">变更记录</el-divider>
 | 
			
		||||
        <SearchBar :formConfigs="changeFormConfig" ref="ruleForm" @headBtnClick="changeButtonClick">
 | 
			
		||||
        </SearchBar>
 | 
			
		||||
        <base-table id="palletTable" :table-props="changeTableProps" :page="changeListQuery.page" ref="palletTable1"
 | 
			
		||||
          :limit="changeListQuery.limit" :table-data="changeTableData">
 | 
			
		||||
          <method-btn v-if="changeTableBtn.length" slot="handleBtn" :width="100" label="操作"
 | 
			
		||||
            :method-list="changeTableBtn" @clickBtn="changeHandleClick" />
 | 
			
		||||
        </base-table>
 | 
			
		||||
        <pagination :limit.sync="changeListQuery.limit" :page.sync="changeListQuery.page" :total="changeListQuery.total"
 | 
			
		||||
          @pagination="changeGetDataList" />
 | 
			
		||||
        <change-add ref="changeAddList" v-if="changeAddShow" @refreshDataList="changeGetDataList">
 | 
			
		||||
        </change-add>
 | 
			
		||||
      </el-tab-pane>
 | 
			
		||||
    </el-tabs>
 | 
			
		||||
  </el-drawer>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import debounce from "lodash/debounce";
 | 
			
		||||
import basicAdd from "@/mixins/basic-add";
 | 
			
		||||
import debounce from "lodash/debounce"
 | 
			
		||||
import basicAdd from "@/mixins/basic-add"
 | 
			
		||||
import reviseAdd from "./revise-add"
 | 
			
		||||
import changeAdd from "./change-add"
 | 
			
		||||
import i18n from "@/i18n"
 | 
			
		||||
import { timeFormatter } from '@/filters'
 | 
			
		||||
const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: "revision",
 | 
			
		||||
    label: 'revision',
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "date",
 | 
			
		||||
    label: 'date',
 | 
			
		||||
    filter: timeFormatter
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "item",
 | 
			
		||||
    label: 'Item/Section',
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "essential",
 | 
			
		||||
    label: 'Essential Changes',
 | 
			
		||||
    // filter: timeFormatter
 | 
			
		||||
  },
 | 
			
		||||
];
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
    type: "edit",
 | 
			
		||||
    btnName: i18n.t('edit'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    type: "delete",
 | 
			
		||||
    btnName: i18n.t('delete'),
 | 
			
		||||
  },
 | 
			
		||||
  // {
 | 
			
		||||
  //   type: "configuration",
 | 
			
		||||
  //   btnName: i18n.t('configuration'),
 | 
			
		||||
  // }
 | 
			
		||||
];
 | 
			
		||||
const changeTableProps = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: "changeHistory",
 | 
			
		||||
    label: '	Change History of this PPAP record',
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "date",
 | 
			
		||||
    label: 'date',
 | 
			
		||||
    filter: timeFormatter
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "name",
 | 
			
		||||
    label: 'name',
 | 
			
		||||
  },
 | 
			
		||||
];
 | 
			
		||||
const changeTableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
    type: "edit",
 | 
			
		||||
    btnName: i18n.t('edit'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    type: "delete",
 | 
			
		||||
    btnName: i18n.t('delete'),
 | 
			
		||||
  },
 | 
			
		||||
  // {
 | 
			
		||||
  //   type: "configuration",
 | 
			
		||||
  //   btnName: i18n.t('configuration'),
 | 
			
		||||
  // }
 | 
			
		||||
];
 | 
			
		||||
export default {
 | 
			
		||||
  mixins: [basicAdd],
 | 
			
		||||
  components: {
 | 
			
		||||
    reviseAdd,
 | 
			
		||||
    changeAdd
 | 
			
		||||
  },
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      urlOptions: {
 | 
			
		||||
        getReviseDataListURL: '/customerquality/qmsCustomerQualityProjectListRevisionRecord/page',
 | 
			
		||||
        getChangeDataListURL: '/customerquality/qmsCustomerQualityProjectListChangeRecord/page',
 | 
			
		||||
        changeDeleteURL: '/customerquality/qmsCustomerQualityProjectListChangeRecord',
 | 
			
		||||
        reviseDeleteURL: '/customerquality/qmsCustomerQualityProjectListRevisionRecord',
 | 
			
		||||
        submitURL: "/customerquality/qmsCustomerQualityProjectList",
 | 
			
		||||
        infoURL: "/customerquality/qmsCustomerQualityProjectList//{id}",
 | 
			
		||||
        getDictDataDetail: '/mutual/qmsCustomerQualityProjectList/page'
 | 
			
		||||
        getDictDataDetail: '/mutual/qmsDataDictionaryDetail/page',
 | 
			
		||||
        getProductURL: '/basic/qmsProduct/page',
 | 
			
		||||
        getKnowledgeBaseURL: '/customerquality/qmsKnowledgeBase/page',
 | 
			
		||||
        getCustomerURL: '/basic/qmsCustomer/page',
 | 
			
		||||
        getRequirementListURL: '/customerquality/qmsCustomerQualityRequirementList/page',
 | 
			
		||||
        getProjectRequirementListURL: '/customerquality/qmsCustomerQualityProjectListRequirementList/page',
 | 
			
		||||
        projectListRequirementListSubmitURL: '/customerquality/qmsCustomerQualityProjectListRequirementList/savelist',
 | 
			
		||||
        projectListRequirementListEditURL: '/customerquality/qmsCustomerQualityProjectListRequirementList/updatelist',
 | 
			
		||||
      },
 | 
			
		||||
      tableBtn,
 | 
			
		||||
      reviseAddShow: false,
 | 
			
		||||
      changeAddShow: false,
 | 
			
		||||
      ndaList: [
 | 
			
		||||
        {
 | 
			
		||||
          id: '0',
 | 
			
		||||
          name: '错号',
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          id: '1',
 | 
			
		||||
          name: '对号',
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      statusList: [
 | 
			
		||||
        {
 | 
			
		||||
          id: '0',
 | 
			
		||||
          name: '待审核',
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          id: '1',
 | 
			
		||||
          name: '已完成',
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          id: '2',
 | 
			
		||||
          name: '交付退回',
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          id: '3',
 | 
			
		||||
          name: '审核拒绝',
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      reviseFormConfig: [
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: i18n.t('search'),
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: i18n.t('add'),
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: "success",
 | 
			
		||||
          plain: true
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      changeFormConfig: [
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: i18n.t('search'),
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: i18n.t('add'),
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: "success",
 | 
			
		||||
          plain: true
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      tableProps,
 | 
			
		||||
      tableData: [],
 | 
			
		||||
      changeTableProps,
 | 
			
		||||
      changeTableData: [],
 | 
			
		||||
      changeTableBtn,
 | 
			
		||||
      listQuery: {
 | 
			
		||||
        page: 1,
 | 
			
		||||
        limit:10
 | 
			
		||||
      },
 | 
			
		||||
      checkArr:[],
 | 
			
		||||
      customerQualityProjectListId:null,
 | 
			
		||||
      productList: [],
 | 
			
		||||
      title:'first',
 | 
			
		||||
      customerList: [],
 | 
			
		||||
      ppapGradeList:[],
 | 
			
		||||
      knowledgeBaseList: [],
 | 
			
		||||
      firstList: [
 | 
			
		||||
        {
 | 
			
		||||
          id: '0',
 | 
			
		||||
          name:'否',
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          id: '1',
 | 
			
		||||
          name: '是',
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      defaultData:[],
 | 
			
		||||
      confidentialityAgreementList: [
 | 
			
		||||
        {
 | 
			
		||||
          id: '0',
 | 
			
		||||
          name: '否',
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          id: '1',
 | 
			
		||||
          name: '是',
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      categoryList:[],
 | 
			
		||||
      typeList:[],
 | 
			
		||||
      visible: false,
 | 
			
		||||
      listQuery: {
 | 
			
		||||
        limit: 999,
 | 
			
		||||
        page:1
 | 
			
		||||
        page: 1,
 | 
			
		||||
        total:0,
 | 
			
		||||
      },
 | 
			
		||||
      changeListQuery: {
 | 
			
		||||
        limit: 999,
 | 
			
		||||
        page: 1,
 | 
			
		||||
        total: 0,
 | 
			
		||||
      },
 | 
			
		||||
      treeData: [],
 | 
			
		||||
      tabDisable:true,
 | 
			
		||||
      dataForm: {
 | 
			
		||||
        id: "",
 | 
			
		||||
        code: null,
 | 
			
		||||
        category: null,
 | 
			
		||||
        knowledgeBaseName:null
 | 
			
		||||
        nda: null,
 | 
			
		||||
        amendment: null,
 | 
			
		||||
        status:null,
 | 
			
		||||
        confidentialityAgreement:null,
 | 
			
		||||
        confirmDeliveryDate: null,
 | 
			
		||||
        customerId: null,
 | 
			
		||||
        deliveryRequiredDate: null,
 | 
			
		||||
        description: null,
 | 
			
		||||
        releaser: null,
 | 
			
		||||
        author:null,
 | 
			
		||||
        first: null,
 | 
			
		||||
        id: undefined,
 | 
			
		||||
        knowledgeBaseId: null,
 | 
			
		||||
        ppapGrade: null,
 | 
			
		||||
        previousVersionCode: null,
 | 
			
		||||
        productId: null,
 | 
			
		||||
        qualityAcceptanceDate: null,
 | 
			
		||||
        version: null,
 | 
			
		||||
      },
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
  computed: {
 | 
			
		||||
    dataRule() {
 | 
			
		||||
      return {
 | 
			
		||||
        code: [
 | 
			
		||||
        productId: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$t("validate.required"),
 | 
			
		||||
            trigger: "blur",
 | 
			
		||||
            trigger: "change",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        knowledgeBaseName: [
 | 
			
		||||
        knowledgeBaseId: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$t("validate.required"),
 | 
			
		||||
            trigger: "change",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        customerId: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$t("validate.required"),
 | 
			
		||||
            trigger: "change",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        qualityAcceptanceDate: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$t("validate.required"),
 | 
			
		||||
            trigger: "change",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        deliveryRequiredDate: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$t("validate.required"),
 | 
			
		||||
            trigger: "change",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        ppapGrade: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$t("validate.required"),
 | 
			
		||||
@@ -91,22 +429,208 @@ export default {
 | 
			
		||||
  },
 | 
			
		||||
  mounted () {
 | 
			
		||||
    this.getDict()
 | 
			
		||||
    this.getSecondData()
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    changeGetDataList() {
 | 
			
		||||
      this.listQuery.customerQualityProjectListId = this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId
 | 
			
		||||
      this.dataListLoading = true;
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(this.urlOptions.getChangeDataListURL, {
 | 
			
		||||
          params: this.listQuery,
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          this.dataListLoading = false;
 | 
			
		||||
          if (res.code !== 0) {
 | 
			
		||||
            this.changeTableData = [];
 | 
			
		||||
            this.listQuery.total = 0;
 | 
			
		||||
            return this.$message.error(res.msg);
 | 
			
		||||
          }
 | 
			
		||||
          this.changeTableData = res.data.list;
 | 
			
		||||
          this.changeListQuery.total = res.data.total;
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
          this.dataListLoading = false;
 | 
			
		||||
        })
 | 
			
		||||
    },
 | 
			
		||||
     changeHandleClick(val) {
 | 
			
		||||
      if (val.type === "delete") {
 | 
			
		||||
        this.$confirm(`确定对[名称=${val.data.customerTypeName}]进行删除操作?`, "提示", {
 | 
			
		||||
          confirmButtonText: "确定",
 | 
			
		||||
          cancelButtonText: "取消",
 | 
			
		||||
          type: "warning",
 | 
			
		||||
        })
 | 
			
		||||
          .then(() => {
 | 
			
		||||
            this.$http.delete(this.urlOptions.reviseDeleteURL, { data: [val.data.id] }).then(({ data }) => {
 | 
			
		||||
              if (data && data.code === 0) {
 | 
			
		||||
                this.$message({
 | 
			
		||||
                  message: "操作成功",
 | 
			
		||||
                  type: "success",
 | 
			
		||||
                  duration: 1500,
 | 
			
		||||
                  onClose: () => {
 | 
			
		||||
                    this.getDataList()
 | 
			
		||||
                  },
 | 
			
		||||
                });
 | 
			
		||||
              } else {
 | 
			
		||||
                this.$message.error(data.msg);
 | 
			
		||||
              }
 | 
			
		||||
            });
 | 
			
		||||
          })
 | 
			
		||||
          .catch(() => { });
 | 
			
		||||
      } else if (val.type === 'edit') {
 | 
			
		||||
        let obj = {
 | 
			
		||||
          customerQualityProjectListId: this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId,
 | 
			
		||||
          id: val.data.id
 | 
			
		||||
        }
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.$refs.reviseAddList.init(obj)
 | 
			
		||||
        })
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
     changeButtonClick(val) {
 | 
			
		||||
      console.log(this.dataForm.id)
 | 
			
		||||
      console.log(val);
 | 
			
		||||
      switch (val.btnName) {
 | 
			
		||||
        case "search":
 | 
			
		||||
          this.listQuery.page = 1
 | 
			
		||||
          this.getDataList()
 | 
			
		||||
          break;
 | 
			
		||||
        case "add":
 | 
			
		||||
          this.changeAddShow = true
 | 
			
		||||
          let obj = {
 | 
			
		||||
            customerQualityProjectListId: this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId
 | 
			
		||||
          }
 | 
			
		||||
          this.$nextTick(() => {
 | 
			
		||||
            this.$refs.changeAddList.init(obj)
 | 
			
		||||
          })
 | 
			
		||||
          break;
 | 
			
		||||
        default:
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    getDataList() {
 | 
			
		||||
      this.dataListLoading = true
 | 
			
		||||
      this.listQuery.customerQualityProjectListId = this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(this.urlOptions.getReviseDataListURL, {
 | 
			
		||||
          params: this.listQuery,
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          this.dataListLoading = false;
 | 
			
		||||
          if (res.code !== 0) {
 | 
			
		||||
            this.tableData = [];
 | 
			
		||||
            this.listQuery.total = 0;
 | 
			
		||||
            return this.$message.error(res.msg);
 | 
			
		||||
          }
 | 
			
		||||
          this.tableData = res.data.list;
 | 
			
		||||
          this.listQuery.total = res.data.total;
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
          this.dataListLoading = false;
 | 
			
		||||
        })
 | 
			
		||||
    },
 | 
			
		||||
    handleClick(val) {
 | 
			
		||||
      if (val.type === "delete") {
 | 
			
		||||
        this.$confirm(`确定对[revision为${val.data.revision}]进行删除操作?`, "提示", {
 | 
			
		||||
          confirmButtonText: "确定",
 | 
			
		||||
          cancelButtonText: "取消",
 | 
			
		||||
          type: "warning",
 | 
			
		||||
        })
 | 
			
		||||
          .then(() => {
 | 
			
		||||
            this.$http.delete(this.urlOptions.changeDeleteURL, { data: [val.data.id] }).then(({ data }) => {
 | 
			
		||||
              if (data && data.code === 0) {
 | 
			
		||||
                this.$message({
 | 
			
		||||
                  message: "操作成功",
 | 
			
		||||
                  type: "success",
 | 
			
		||||
                  duration: 1500,
 | 
			
		||||
                  onClose: () => {
 | 
			
		||||
                    this.getDataList()
 | 
			
		||||
                  },
 | 
			
		||||
                });
 | 
			
		||||
              } else {
 | 
			
		||||
                this.$message.error(data.msg);
 | 
			
		||||
              }
 | 
			
		||||
            });
 | 
			
		||||
          })
 | 
			
		||||
          .catch(() => { });
 | 
			
		||||
      } else if (val.type === 'edit') {
 | 
			
		||||
        let obj = {
 | 
			
		||||
          customerQualityProjectListId: this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId,
 | 
			
		||||
          id:val.data.id
 | 
			
		||||
        }
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.$refs.reviseAddList.init(obj)
 | 
			
		||||
        })
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    buttonClick(val) {
 | 
			
		||||
      console.log(this.dataForm.id)
 | 
			
		||||
      console.log(val);
 | 
			
		||||
      switch (val.btnName) {
 | 
			
		||||
        case "search":
 | 
			
		||||
          // this.listQuery.paramCode = val.paramCode;
 | 
			
		||||
          // console.log(i18n);
 | 
			
		||||
          this.listQuery.page = 1
 | 
			
		||||
          this.getDataList()
 | 
			
		||||
          break;
 | 
			
		||||
        case "add":
 | 
			
		||||
          this.reviseAddShow = true
 | 
			
		||||
          let obj = {
 | 
			
		||||
            customerQualityProjectListId: this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId
 | 
			
		||||
          }
 | 
			
		||||
          this.$nextTick(() => {
 | 
			
		||||
            this.$refs.reviseAddList.init(obj)
 | 
			
		||||
          })
 | 
			
		||||
          break;
 | 
			
		||||
        default:
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    handleClickTab(val) {
 | 
			
		||||
      console.log(val);
 | 
			
		||||
      if (val.name === 'second') {
 | 
			
		||||
        this.$http
 | 
			
		||||
          .get(this.urlOptions.getProjectRequirementListURL, {
 | 
			
		||||
            params: {
 | 
			
		||||
              limit: 999,
 | 
			
		||||
              page: 1,
 | 
			
		||||
              projectListId: this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId
 | 
			
		||||
            }
 | 
			
		||||
          })
 | 
			
		||||
          .then(({ data: res }) => {
 | 
			
		||||
            // this.dataListLoading = false;
 | 
			
		||||
            if (res.code === 0) {
 | 
			
		||||
              let arr = []
 | 
			
		||||
              console.log(res.data.list)
 | 
			
		||||
              res.data.list.forEach((item) => {
 | 
			
		||||
                arr.push(item.customerQualityRequirementListId)
 | 
			
		||||
              })
 | 
			
		||||
              this.defaultData = arr 
 | 
			
		||||
            }
 | 
			
		||||
          })
 | 
			
		||||
      } else if (val.name === 'third') {
 | 
			
		||||
        this.changeGetDataList()
 | 
			
		||||
        this.getDataList()
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    init(id) {
 | 
			
		||||
      this.dataForm.id = id || ""
 | 
			
		||||
      // this.dataForm.dictTypeId = dictTypeId || "";
 | 
			
		||||
      this.visible = true;
 | 
			
		||||
      this.$nextTick(() => {
 | 
			
		||||
        // console.log(this.$refs.dataForm)
 | 
			
		||||
        this.$refs["dataForm"].resetFields()
 | 
			
		||||
        if (this.dataForm.id) {
 | 
			
		||||
          this.getInfo();
 | 
			
		||||
          this.getInfo()
 | 
			
		||||
        } else {
 | 
			
		||||
          // this.getCode()
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    // 获取信息
 | 
			
		||||
    handleClose() {
 | 
			
		||||
      this.$emit("refreshDataList")
 | 
			
		||||
      // console.log(this.$refs.dataForm)
 | 
			
		||||
      // this.$refs.dataForm.resetFields()
 | 
			
		||||
    },
 | 
			
		||||
    getInfo() {
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(`/customerquality/qmsCustomerQualityProjectList/${this.dataForm.id}`)
 | 
			
		||||
@@ -117,9 +641,32 @@ export default {
 | 
			
		||||
          this.dataForm = {
 | 
			
		||||
            ...this.dataForm,
 | 
			
		||||
            ...res.data,
 | 
			
		||||
          };
 | 
			
		||||
          }
 | 
			
		||||
          this.customerQualityProjectListId = res.data.id
 | 
			
		||||
          this.tabDisable = false
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => {})
 | 
			
		||||
    },
 | 
			
		||||
    getSecondData() {
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(this.urlOptions.getRequirementListURL, {
 | 
			
		||||
          params: {
 | 
			
		||||
            limit: 999,
 | 
			
		||||
            page: 1,
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          // this.dataListLoading = false;
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            this.treeData = res.data.list.map((item) => {
 | 
			
		||||
              return {
 | 
			
		||||
                label: item.requirementListName,
 | 
			
		||||
                id:item.id
 | 
			
		||||
              }
 | 
			
		||||
            })
 | 
			
		||||
            console.log(this.treeData);
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => {});
 | 
			
		||||
    },
 | 
			
		||||
    getDict() {
 | 
			
		||||
      this.$http
 | 
			
		||||
@@ -127,15 +674,129 @@ export default {
 | 
			
		||||
          params: {
 | 
			
		||||
            limit: 999,
 | 
			
		||||
            page: 1,
 | 
			
		||||
            dataDictionaryId:'1679670942635122690',
 | 
			
		||||
            dataDictionaryId:'1681202200846499841',
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          this.dataListLoading = false;
 | 
			
		||||
          // this.dataListLoading = false;
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            this.categoryList = res.data.list 
 | 
			
		||||
            this.ppapGradeList = res.data.list 
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(this.urlOptions.getProductURL, {
 | 
			
		||||
          params: {
 | 
			
		||||
            limit: 999,
 | 
			
		||||
            page: 1,
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          // this.dataListLoading = false;
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            this.productList = res.data.list
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(this.urlOptions.getKnowledgeBaseURL, {
 | 
			
		||||
          params: {
 | 
			
		||||
            limit: 999,
 | 
			
		||||
            page: 1,
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          // this.dataListLoading = false;
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            this.knowledgeBaseList = res.data.list
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(this.urlOptions.getCustomerURL, {
 | 
			
		||||
          params: {
 | 
			
		||||
            limit: 999,
 | 
			
		||||
            page: 1,
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          // this.dataListLoading = false;
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            this.customerList = res.data.list
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
    },
 | 
			
		||||
    handleCheckChange(data, v) {
 | 
			
		||||
      this.checkArr = v.checkedKeys.map((item) => {
 | 
			
		||||
        return {
 | 
			
		||||
          customerQualityProjectListId: this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId,
 | 
			
		||||
          customerQualityRequirementListId:item
 | 
			
		||||
        }
 | 
			
		||||
      })
 | 
			
		||||
      console.log(this.checkArr)
 | 
			
		||||
    },
 | 
			
		||||
    // handleNodeClick(data) {
 | 
			
		||||
    //   console.log(data)
 | 
			
		||||
    // },
 | 
			
		||||
    projectListRequirementListDataFormSubmit() {
 | 
			
		||||
      if (this.defaultData.length !== 0) {
 | 
			
		||||
 | 
			
		||||
        let customerQualityProjectListId = this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId
 | 
			
		||||
          let list= this.checkArr
 | 
			
		||||
        this.$http.put('/customerquality/qmsCustomerQualityProjectListRequirementList/updatelist?id='+customerQualityProjectListId,list )
 | 
			
		||||
            .then(({ data: res }) => {
 | 
			
		||||
              if (res.code !== 0) {
 | 
			
		||||
                return this.$message.error(res.msg);
 | 
			
		||||
              }
 | 
			
		||||
              this.$message({
 | 
			
		||||
                message: this.$t("prompt.success"),
 | 
			
		||||
                type: "success",
 | 
			
		||||
                duration: 500,
 | 
			
		||||
                onClose: () => {
 | 
			
		||||
                  // this.title = 'second'
 | 
			
		||||
                  // this.tabDisable = false
 | 
			
		||||
                  // this.customerQualityProjectListId = res.data
 | 
			
		||||
                },
 | 
			
		||||
              })
 | 
			
		||||
            })
 | 
			
		||||
        } else {
 | 
			
		||||
          this.$http.post(this.urlOptions.projectListRequirementListSubmitURL, this.checkArr)
 | 
			
		||||
            .then(({ data: res }) => {
 | 
			
		||||
              if (res.code !== 0) {
 | 
			
		||||
                return this.$message.error(res.msg);
 | 
			
		||||
              }
 | 
			
		||||
              this.$message({
 | 
			
		||||
                message: this.$t("prompt.success"),
 | 
			
		||||
                type: "success",
 | 
			
		||||
                duration: 500,
 | 
			
		||||
                onClose: () => {
 | 
			
		||||
                  // this.title = 'second'
 | 
			
		||||
                  // this.tabDisable = false
 | 
			
		||||
                  // this.customerQualityProjectListId = res.data
 | 
			
		||||
                },
 | 
			
		||||
              })
 | 
			
		||||
            })
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    dataFormSubmit() {
 | 
			
		||||
      this.$refs["dataForm"].validate((valid) => {
 | 
			
		||||
        if (!valid) {
 | 
			
		||||
          return false;
 | 
			
		||||
        }
 | 
			
		||||
        this.$http[!this.dataForm.id ? "post" : "put"](this.urlOptions.submitURL, this.dataForm)
 | 
			
		||||
          .then(({ data: res }) => {
 | 
			
		||||
            if (res.code !== 0) {
 | 
			
		||||
              return this.$message.error(res.msg);
 | 
			
		||||
            }
 | 
			
		||||
            this.$message({
 | 
			
		||||
              message: this.$t("prompt.success"),
 | 
			
		||||
              type: "success",
 | 
			
		||||
              duration: 500,
 | 
			
		||||
              onClose: () => {
 | 
			
		||||
                this.tabDisable = false
 | 
			
		||||
                this.customerQualityProjectListId = res.data
 | 
			
		||||
              },
 | 
			
		||||
            });
 | 
			
		||||
          })
 | 
			
		||||
          .catch(() => { });
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    // 表单提交
 | 
			
		||||
    dataFormSubmitHandle: debounce(
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
  <!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-14 10:06:36
 | 
			
		||||
 * @LastEditTime: 2023-07-18 16:54:14
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -9,10 +9,11 @@
 | 
			
		||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
    label-width="120px">
 | 
			
		||||
    <el-form-item prop="code" :label="$t('customerquality.code')">
 | 
			
		||||
      <el-input v-model="dataForm.code" :placeholder="$t('customerquality.code')"></el-input>
 | 
			
		||||
      <el-input clearable v-model="dataForm.code" :placeholder="$t('customerquality.code')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="requirementListName" :label="$t('customerquality.requirementListName')">
 | 
			
		||||
      <el-input v-model="dataForm.requirementListName" :placeholder="$t('customerquality.requirementListName')">
 | 
			
		||||
      <el-input clearable v-model="dataForm.requirementListName"
 | 
			
		||||
        :placeholder="$t('customerquality.requirementListName')">
 | 
			
		||||
      </el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="uploadFiles" :label="$t('customerquality.uploadFiles')">
 | 
			
		||||
@@ -40,7 +41,7 @@
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item> -->
 | 
			
		||||
    <el-form-item prop="category" :label="$t('customerquality.category')">
 | 
			
		||||
      <el-select v-model="dataForm.category" :placeholder="$t('customerquality.category')">
 | 
			
		||||
      <el-select clearable v-model="dataForm.category" :placeholder="$t('customerquality.category')">
 | 
			
		||||
        <el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName" :value="item.id">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										189
									
								
								src/views/modules/customerquality/components/innerTable.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										189
									
								
								src/views/modules/customerquality/components/innerTable.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,189 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-04-18 09:19:02
 | 
			
		||||
 * @LastEditTime: 2023-07-18 09:52:45
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <div>
 | 
			
		||||
    <el-popover placement="right" width="400" trigger="click">
 | 
			
		||||
      <SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
 | 
			
		||||
        <!-- <el-badge :value="5" class="item">
 | 
			
		||||
            <el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
 | 
			
		||||
          </el-badge> -->
 | 
			
		||||
      </SearchBar>
 | 
			
		||||
      <base-table id="palletTable" :table-props="tableProps" ref="palletTable1" :table-data="tableData">
 | 
			
		||||
        <method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
 | 
			
		||||
          @clickBtn="handleClick" />
 | 
			
		||||
      </base-table>
 | 
			
		||||
      <i slot="reference" class="el-icon-plus" @click="showInnerTable(injectData.id)" />
 | 
			
		||||
    </el-popover>
 | 
			
		||||
    <baseConfigFile-add ref="baseConfigFileAddList" v-if="baseConfigFileAddShow" @refreshDataList="getDataList">
 | 
			
		||||
    </baseConfigFile-add>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script>
 | 
			
		||||
import i18n from "@/i18n"
 | 
			
		||||
import { timeFormatter } from '@/filters'
 | 
			
		||||
import baseConfigFileAdd from "./baseConfigFile-add"
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
    type: "edit",
 | 
			
		||||
    btnName: i18n.t('edit'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    type: "delete",
 | 
			
		||||
    btnName: i18n.t('delete'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    type: "configuration",
 | 
			
		||||
    btnName: i18n.t('configuration'),
 | 
			
		||||
  }
 | 
			
		||||
];
 | 
			
		||||
const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: "title",
 | 
			
		||||
    label: i18n.t('customerquality.title'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "accessPath",
 | 
			
		||||
    label: i18n.t('customerquality.accessPath'),
 | 
			
		||||
  }
 | 
			
		||||
];
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'InnerTable',
 | 
			
		||||
  props: {
 | 
			
		||||
    injectData: {
 | 
			
		||||
      type: Object,
 | 
			
		||||
      default: () => ({})
 | 
			
		||||
    },
 | 
			
		||||
    itemProp: {
 | 
			
		||||
      type: String
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      tableProps,
 | 
			
		||||
      list: this.injectData,
 | 
			
		||||
      urlOptions: {
 | 
			
		||||
        getDataListURL: '/customerquality/knowledgeBaseRequirementListData/page',
 | 
			
		||||
        deleteURL: '/customerquality/knowledgeBaseRequirementListData/page'
 | 
			
		||||
      },
 | 
			
		||||
      tableBtn,
 | 
			
		||||
      baseConfigFileAddShow:false,
 | 
			
		||||
      tableData: [],
 | 
			
		||||
      listQuery: {
 | 
			
		||||
        limit: 10,
 | 
			
		||||
        page:1,
 | 
			
		||||
      },
 | 
			
		||||
      formConfig: [
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: i18n.t('search'),
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: i18n.t('add'),
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: "success",
 | 
			
		||||
          plain: true
 | 
			
		||||
        },
 | 
			
		||||
      ],
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  components: {
 | 
			
		||||
    baseConfigFileAdd,
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    buttonClick(val) {
 | 
			
		||||
      console.log(val)
 | 
			
		||||
      switch (val.btnName) {
 | 
			
		||||
        case "search":
 | 
			
		||||
          this.listQuery.page = 1;
 | 
			
		||||
          this.getDataList()
 | 
			
		||||
          break;
 | 
			
		||||
        // case "export":
 | 
			
		||||
        //   // this.listQuery.paramCode = val.paramCode;
 | 
			
		||||
        //   this.exportHandle()
 | 
			
		||||
        //   break;
 | 
			
		||||
        case "add":
 | 
			
		||||
          // this.addOrEditTitle = '新增'
 | 
			
		||||
          // this.addOrUpdateVisible = true;
 | 
			
		||||
          this.baseConfigFileAddShow = true
 | 
			
		||||
          this.$nextTick(() => {
 | 
			
		||||
            const obj = {
 | 
			
		||||
              knowledgeBaseRequirementListId :this.injectData.id
 | 
			
		||||
          }
 | 
			
		||||
            this.$refs.baseConfigFileAddList.init(obj)
 | 
			
		||||
          })
 | 
			
		||||
          // this.addOrUpdateHandle()
 | 
			
		||||
          break;
 | 
			
		||||
        default:
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    handleClick(val) {
 | 
			
		||||
      if (val.type === "delete") {
 | 
			
		||||
        this.$confirm(`确定对[标题为${val.data.title}]进行删除操作?`, "提示", {
 | 
			
		||||
          confirmButtonText: "确定",
 | 
			
		||||
          cancelButtonText: "取消",
 | 
			
		||||
          type: "warning",
 | 
			
		||||
        })
 | 
			
		||||
          .then(() => {
 | 
			
		||||
            this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
 | 
			
		||||
              if (data && data.code === 0) {
 | 
			
		||||
                this.$message({
 | 
			
		||||
                  message: "操作成功",
 | 
			
		||||
                  type: "success",
 | 
			
		||||
                  duration: 1500,
 | 
			
		||||
                  onClose: () => {
 | 
			
		||||
                    this.getDataList();
 | 
			
		||||
                  },
 | 
			
		||||
                });
 | 
			
		||||
              } else {
 | 
			
		||||
                this.$message.error(data.msg);
 | 
			
		||||
              }
 | 
			
		||||
            });
 | 
			
		||||
          })
 | 
			
		||||
          .catch(() => { });
 | 
			
		||||
      } else if (val.type === 'edit') {
 | 
			
		||||
        this.baseConfigFileAddShow = true
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          const obj = {
 | 
			
		||||
            knowledgeBaseRequirementListId: this.injectData.id,
 | 
			
		||||
            id:val.data.id
 | 
			
		||||
          }
 | 
			
		||||
          this.$refs.baseConfigFileAddList.init(obj)
 | 
			
		||||
        })
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    showInnerTable() {
 | 
			
		||||
      this.listQuery.knowledgeBaseRequirementListId = this.injectData.id
 | 
			
		||||
      this.getDataList()
 | 
			
		||||
    },
 | 
			
		||||
    getDataList() {
 | 
			
		||||
      this.dataListLoading = true;
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(this.urlOptions.getDataListURL, {
 | 
			
		||||
          params: this.listQuery,
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          this.dataListLoading = false;
 | 
			
		||||
          if (res.code !== 0) {
 | 
			
		||||
            this.tableData = [];
 | 
			
		||||
            this.listQuery.total = 0;
 | 
			
		||||
            return this.$message.error(res.msg);
 | 
			
		||||
          }
 | 
			
		||||
          this.tableData = res.data.list;
 | 
			
		||||
          this.listQuery.total = res.data.total;
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
          this.dataListLoading = false;
 | 
			
		||||
        })
 | 
			
		||||
    },
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
  <!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-14 10:28:15
 | 
			
		||||
 * @LastEditTime: 2023-07-18 16:54:28
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -9,10 +9,12 @@
 | 
			
		||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
    label-width="120px">
 | 
			
		||||
    <el-form-item prop="title" :label="$t('customerquality.title')">
 | 
			
		||||
      <el-input :disabled="isDetail" v-model="dataForm.title" :placeholder="$t('customerquality.title')"></el-input>
 | 
			
		||||
      <el-input clearable :disabled="isDetail" v-model="dataForm.title" :placeholder="$t('customerquality.title')">
 | 
			
		||||
      </el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="accessPath" :label="$t('customerquality.accessPath')">
 | 
			
		||||
      <el-input :disabled="isDetail" v-model="dataForm.accessPath" :placeholder="$t('customerquality.accessPath')">
 | 
			
		||||
      <el-input clearable :disabled="isDetail" v-model="dataForm.accessPath"
 | 
			
		||||
        :placeholder="$t('customerquality.accessPath')">
 | 
			
		||||
      </el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <!-- <el-form-item prop="knowledgeBaseName" :label="$t('basic.status')">
 | 
			
		||||
@@ -34,7 +36,7 @@
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item> -->
 | 
			
		||||
    <el-form-item prop="knowledgeBaseFileId" :label="$t('customerquality.knowledgeBaseFileId')">
 | 
			
		||||
      <el-select :disabled="isDetail" v-model="dataForm.knowledgeBaseFileId"
 | 
			
		||||
      <el-select clearable :disabled="isDetail" v-model="dataForm.knowledgeBaseFileId"
 | 
			
		||||
        :placeholder="$t('customerquality.knowledgeBaseFileId')">
 | 
			
		||||
        <el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName" :value="item.id">
 | 
			
		||||
        </el-option>
 | 
			
		||||
@@ -45,7 +47,7 @@
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import debounce from "lodash/debounce";
 | 
			
		||||
import basicAdd from "@/mixins/basic-add";
 | 
			
		||||
import basicAdd from "@/mixins/basic-add"
 | 
			
		||||
export default {
 | 
			
		||||
  mixins: [basicAdd],
 | 
			
		||||
  data() {
 | 
			
		||||
@@ -119,7 +121,7 @@ export default {
 | 
			
		||||
        } else {
 | 
			
		||||
          // this.getCode()
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    // getCode() {
 | 
			
		||||
    //   this.$http
 | 
			
		||||
@@ -143,7 +145,7 @@ export default {
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          this.dataListLoading = false;
 | 
			
		||||
          // this.dataListLoading = false;
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            this.categoryList = res.data.list
 | 
			
		||||
          }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
  <!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-14 10:06:39
 | 
			
		||||
 * @LastEditTime: 2023-07-19 15:28:46
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -9,33 +9,15 @@
 | 
			
		||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
    label-width="120px">
 | 
			
		||||
    <el-form-item prop="code" :label="$t('customerquality.code')">
 | 
			
		||||
      <el-input v-model="dataForm.code" :placeholder="$t('customerquality.code')"></el-input>
 | 
			
		||||
      <el-input clearable v-model="dataForm.code" :placeholder="$t('customerquality.code')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="knowledgeBaseName" :label="$t('customerquality.knowledgeBaseName')">
 | 
			
		||||
      <el-input v-model="dataForm.knowledgeBaseName" :placeholder="$t('customerquality.knowledgeBaseName')"></el-input>
 | 
			
		||||
      <el-input clearable v-model="dataForm.knowledgeBaseName" :placeholder="$t('customerquality.knowledgeBaseName')">
 | 
			
		||||
      </el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <!-- <el-form-item prop="knowledgeBaseName" :label="$t('basic.status')">
 | 
			
		||||
      <el-select v-model="dataForm.currentStage" :placeholder="$t('basic.status')">
 | 
			
		||||
        <el-option v-for="item in currentStageList" :key="item.value" :label="item.label" :value="item.value">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="serialNumber" :label="$t('customerquality.serialNumber')">
 | 
			
		||||
      <el-input v-model="dataForm.serialNumber" :placeholder="$t('customerquality.serialNumber')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="description" :label="$t('customerquality.description')">
 | 
			
		||||
      <el-input v-model="dataForm.description" :placeholder="$t('customerquality.description')"></el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="questionType" :label="$t('customerquality.questionType')">
 | 
			
		||||
      <el-select v-model="dataForm.questionType" :placeholder="$t('customerquality.questionType')">
 | 
			
		||||
        <el-option v-for="item in questionTypeList" :key="item.value" :label="item.label" :value="item.value">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item> -->
 | 
			
		||||
    <el-form-item prop="category" :label="$t('customerquality.category')">
 | 
			
		||||
      <el-select v-model="dataForm.category" :placeholder="$t('customerquality.category')">
 | 
			
		||||
        <el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName"
 | 
			
		||||
          :value="item.id">
 | 
			
		||||
      <el-select clearable v-model="dataForm.category" :placeholder="$t('customerquality.category')">
 | 
			
		||||
        <el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName" :value="item.id">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
@@ -112,7 +94,7 @@ export default {
 | 
			
		||||
        .get(`/customerquality/qmsKnowledgeBase/${this.dataForm.id}`)
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          if (res.code !== 0) {
 | 
			
		||||
            return this.$message.error(res.msg);
 | 
			
		||||
            return this.$message.error(res.msg)
 | 
			
		||||
          }
 | 
			
		||||
          this.dataForm = {
 | 
			
		||||
            ...this.dataForm,
 | 
			
		||||
@@ -131,7 +113,7 @@ export default {
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          this.dataListLoading = false;
 | 
			
		||||
          // this.dataListLoading = false;
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            this.categoryList = res.data.list 
 | 
			
		||||
          }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,336 +0,0 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-13 14:49:30
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
    label-width="120px">
 | 
			
		||||
    <el-form-item prop="registrationDate" :label="$t('researchquality.registrationDate')">
 | 
			
		||||
      <el-date-picker v-model="dataForm.registrationDate" type="datetime"
 | 
			
		||||
        :placeholder="$t('researchquality.registrationDate')">
 | 
			
		||||
      </el-date-picker>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="changeSource" :label="$t('researchquality.changeSource')">
 | 
			
		||||
      <el-select v-model="dataForm.changeSource" :placeholder="$t('researchquality.changeSource')">
 | 
			
		||||
        <el-option v-for="item in changeSourceList" :key="item.id" :label="item.name" :value="item.id">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="sourceRemark" :label="$t('researchquality.sourceRemark')">
 | 
			
		||||
      <el-input v-model="dataForm.sourceRemark" :placeholder="$t('researchquality.sourceRemark')">
 | 
			
		||||
      </el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="owner" :label="$t('researchquality.owner')">
 | 
			
		||||
      <el-select v-model="dataForm.owner" :placeholder="$t('researchquality.owner')">
 | 
			
		||||
        <el-option v-for="item in userList" :key="item.id" :label="item.realName" :value="item.id">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="title" :label="$t('researchquality.title')">
 | 
			
		||||
      <el-input v-model="dataForm.title" :placeholder="$t('researchquality.title')">
 | 
			
		||||
      </el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="processId" :label="$t('researchquality.processName')">
 | 
			
		||||
      <el-select v-model="dataForm.processId" :placeholder="$t('researchquality.processName')">
 | 
			
		||||
        <el-option v-for="item in processList" :key="item.id" :label="item.processName" :value="item.id">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="productId" :label="$t('researchquality.productName')">
 | 
			
		||||
      <el-select v-model="dataForm.productId" :placeholder="$t('researchquality.productName')">
 | 
			
		||||
        <el-option v-for="item in productList" :key="item.id" :label="item.productName" :value="item.id">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="processId" :label="$t('researchquality.productTypeName')">
 | 
			
		||||
      <el-select v-model="dataForm.processId" :placeholder="$t('researchquality.productTypeName')">
 | 
			
		||||
        <el-option v-for="item in productTypeList" :key="item.id" :label="item.productTypeName" :value="item.id">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="temporaryChange" :label="$t('researchquality.temporaryChange')">
 | 
			
		||||
      <el-switch v-model="dataForm.temporaryChange" :active-value="1" :inactive-value="0"></el-switch>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <!-- <el-row :gutter="20">
 | 
			
		||||
      <el-col :span="12"> {{ this.$t('researchquality.planPhase') }} </el-col>
 | 
			
		||||
      <el-col :span="12"> {{ this.$t('researchquality.planTime') }} </el-col>
 | 
			
		||||
    </el-row> -->
 | 
			
		||||
    <el-row :gutter="24">
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item prop="stageOneName" :label="$t('researchquality.stageOneName')">
 | 
			
		||||
          <el-input v-model="dataForm.stageOneName" :placeholder="$t('researchquality.stageOneName')">
 | 
			
		||||
          </el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item prop="stageOneDate" :label="$t('researchquality.stageOneDate')">
 | 
			
		||||
          <el-date-picker v-model="dataForm.stageOneDate" type="datetime"
 | 
			
		||||
            :placeholder="$t('researchquality.stageOneDate')">
 | 
			
		||||
          </el-date-picker>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-row :gutter="24">
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item prop="stageTwoName" :label="$t('researchquality.stageTwoName')">
 | 
			
		||||
          <el-input v-model="dataForm.stageTwoName" :placeholder="$t('researchquality.stageTwoName')">
 | 
			
		||||
          </el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item prop="stageTwoDate" :label="$t('researchquality.stageTwoDate')">
 | 
			
		||||
          <el-date-picker v-model="dataForm.stageTwoDate" type="datetime"
 | 
			
		||||
            :placeholder="$t('researchquality.stageTwoDate')">
 | 
			
		||||
          </el-date-picker>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-row :gutter="24">
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item prop="stageThreeName" :label="$t('researchquality.stageThreeName')">
 | 
			
		||||
          <el-input v-model="dataForm.stageThreeName" :placeholder="$t('researchquality.stageThreeName')">
 | 
			
		||||
          </el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item prop="stageThreeDate" :label="$t('researchquality.stageThreeDate')">
 | 
			
		||||
          <el-date-picker v-model="dataForm.stageThreeDate" type="datetime"
 | 
			
		||||
            :placeholder="$t('researchquality.stageThreeDate')">
 | 
			
		||||
          </el-date-picker>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-row :gutter="24">
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item prop="stageFourName" :label="$t('researchquality.stageFourName')">
 | 
			
		||||
          <el-input v-model="dataForm.stageFourName" :placeholder="$t('researchquality.stageFourName')">
 | 
			
		||||
          </el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="12">
 | 
			
		||||
        <el-form-item prop="stageFourDate" :label="$t('researchquality.stageFourDate')">
 | 
			
		||||
          <el-date-picker v-model="dataForm.stageFourDate" type="datetime"
 | 
			
		||||
            :placeholder="$t('researchquality.stageFourDate')">
 | 
			
		||||
          </el-date-picker>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <!-- <el-form-item prop="productTypeStatus" :label="$t('basic.status')">
 | 
			
		||||
      <el-select v-model="dataForm.productTypeStatus" :placeholder="$t('basic.status')">
 | 
			
		||||
        <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item> -->
 | 
			
		||||
  </el-form>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import debounce from "lodash/debounce";
 | 
			
		||||
import basicAdd from "@/mixins/basic-add";
 | 
			
		||||
export default {
 | 
			
		||||
  mixins: [basicAdd],
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      urlOptions: {
 | 
			
		||||
        submitURL: "/supplier/qmsSupplier",
 | 
			
		||||
        infoURL: "/supplier/qmsSupplier/{id}",
 | 
			
		||||
        getUserURL: '/sys/user/page',
 | 
			
		||||
        getProcessURL: '/basic/qmsProcess/page',
 | 
			
		||||
        getProductURL: '/basic/qmsProduct/page',
 | 
			
		||||
        getProductTypeURL: '/basic/qmsProductType/page',
 | 
			
		||||
        getSupplierTypeListURL: '/supplier/qmsSupplierType/page'
 | 
			
		||||
      },
 | 
			
		||||
      userList: [],
 | 
			
		||||
      processList: [],
 | 
			
		||||
      productTypeList: [],
 | 
			
		||||
      productList: [],
 | 
			
		||||
      changeSourceList: [
 | 
			
		||||
        {
 | 
			
		||||
          id: 0,
 | 
			
		||||
          name: '工程变更'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          id: 1,
 | 
			
		||||
          name: '设计变更'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          id: 2,
 | 
			
		||||
          name: 'CCB'
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      visible: false,
 | 
			
		||||
      listQuery: {
 | 
			
		||||
        limit: 999,
 | 
			
		||||
        page:1
 | 
			
		||||
      },
 | 
			
		||||
      dataForm: {
 | 
			
		||||
        id: "",
 | 
			
		||||
        changeSource:null,
 | 
			
		||||
        currentStage: null,
 | 
			
		||||
        owner: null,
 | 
			
		||||
        productId: null,
 | 
			
		||||
        productName: null,
 | 
			
		||||
        qualityChangeStatus: null,
 | 
			
		||||
        registrationDate: null,
 | 
			
		||||
        sourceRemark: null,
 | 
			
		||||
        stageFourDate: null,
 | 
			
		||||
        stageFourName: null,
 | 
			
		||||
        stageOneDate: null,
 | 
			
		||||
        stageOneName: null,
 | 
			
		||||
        stageThreeDate: null,
 | 
			
		||||
        stageThreeName: null,
 | 
			
		||||
        stageTwoDate: null,
 | 
			
		||||
        stageTwoName: null,
 | 
			
		||||
        temporaryChange: null,
 | 
			
		||||
        title: null,
 | 
			
		||||
      },
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
  computed: {
 | 
			
		||||
    dataRule() {
 | 
			
		||||
      return {
 | 
			
		||||
        code: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$t("validate.required"),
 | 
			
		||||
            trigger: "blur",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        name: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$t("validate.required"),
 | 
			
		||||
            trigger: "blur",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        ment: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$t("validate.required"),
 | 
			
		||||
            trigger: "change",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        supplierStatus: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$t("validate.required"),
 | 
			
		||||
            trigger: "change",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
      };
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    init(id, ) {
 | 
			
		||||
      this.dataForm.id = id || ""
 | 
			
		||||
      // this.dataForm.dictTypeId = dictTypeId || "";
 | 
			
		||||
      this.visible = true;
 | 
			
		||||
      this.$nextTick(() => {
 | 
			
		||||
        this.$refs["dataForm"].resetFields();
 | 
			
		||||
        if (this.dataForm.id) {
 | 
			
		||||
          this.getInfo();
 | 
			
		||||
        } else {
 | 
			
		||||
          this.getCode()
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    getCode() {
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(this.urlOptions.getUserURL, {
 | 
			
		||||
          params: this.listQuery
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            console.log(res);
 | 
			
		||||
            this.userList = res.data.list
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
        })
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(this.urlOptions.getProcessURL, {
 | 
			
		||||
          params: this.listQuery
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            console.log(res);
 | 
			
		||||
            this.processList = res.data.list
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
        })
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(this.urlOptions.getProductURL, {
 | 
			
		||||
          params: this.listQuery
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            console.log(res);
 | 
			
		||||
            this.productList = res.data.list
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
        })
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(this.urlOptions.getProductTypeURL, {
 | 
			
		||||
          params: this.listQuery
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            console.log(res);
 | 
			
		||||
            this.productTypeList = res.data.list
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
        })
 | 
			
		||||
    },
 | 
			
		||||
    // 获取信息
 | 
			
		||||
    getInfo() {
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(`/supplier/qmsSupplier/${this.dataForm.id}`)
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          if (res.code !== 0) {
 | 
			
		||||
            return this.$message.error(res.msg);
 | 
			
		||||
          }
 | 
			
		||||
          this.dataForm = {
 | 
			
		||||
            ...this.dataForm,
 | 
			
		||||
            ...res.data,
 | 
			
		||||
          };
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => {});
 | 
			
		||||
    },
 | 
			
		||||
    // 表单提交
 | 
			
		||||
    dataFormSubmitHandle: debounce(
 | 
			
		||||
      function () {
 | 
			
		||||
        this.$refs["dataForm"].validate((valid) => {
 | 
			
		||||
          if (!valid) {
 | 
			
		||||
            return false;
 | 
			
		||||
          }
 | 
			
		||||
          this.$http[!this.dataForm.id ? "post" : "put"](this.urlOptions.submitURL, this.dataForm)
 | 
			
		||||
            .then(({ data: res }) => {
 | 
			
		||||
              if (res.code !== 0) {
 | 
			
		||||
                return this.$message.error(res.msg);
 | 
			
		||||
              }
 | 
			
		||||
              this.$message({
 | 
			
		||||
                message: this.$t("prompt.success"),
 | 
			
		||||
                type: "success",
 | 
			
		||||
                duration: 500,
 | 
			
		||||
                onClose: () => {
 | 
			
		||||
                  console.log(1111);
 | 
			
		||||
                  this.visible = false;
 | 
			
		||||
                  this.$emit("successSubmit");
 | 
			
		||||
                },
 | 
			
		||||
              });
 | 
			
		||||
            })
 | 
			
		||||
            .catch(() => {});
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
      1000,
 | 
			
		||||
      { leading: true, trailing: false }
 | 
			
		||||
    ),
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
@@ -0,0 +1,241 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-07-14 13:44:46
 | 
			
		||||
 * @LastEditTime: 2023-07-19 16:58:46
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <div>
 | 
			
		||||
    <el-dialog close-on-press-escape :title="$t('configuration')" :append-to-body="true" :visible.sync="innerDrawer">
 | 
			
		||||
      <el-divider content-position="center">项目清单详情</el-divider>
 | 
			
		||||
      <el-table style="width: 100%" :data="getValues" :show-header="false">
 | 
			
		||||
        <el-table-column v-for="(item, index) in getHeaders" :key="index" :prop="item">
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
      </el-table>
 | 
			
		||||
      <el-divider content-position="center">修订记录</el-divider>
 | 
			
		||||
      <el-table style="width: 100%" :data="getReviseValues" :show-header="false">
 | 
			
		||||
        <el-table-column v-for="(item, index) in getReviseHeaders" :key="index" :prop="item">
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
      </el-table>
 | 
			
		||||
      <el-divider content-position="center">更改记录</el-divider>
 | 
			
		||||
      <el-table style="width: 100%" :data="getChangeValues" :show-header="false">
 | 
			
		||||
        <el-table-column v-for="(item, index) in getChangeHeaders" :key="index" :prop="item">
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
      </el-table>
 | 
			
		||||
    </el-dialog>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import i18n from "@/i18n"
 | 
			
		||||
// import basicAdd from "@/mixins/basic-add"
 | 
			
		||||
// import debounce from "lodash/debounce"
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  // mixins: [basicAdd],
 | 
			
		||||
    data() {
 | 
			
		||||
      return {
 | 
			
		||||
        urlOptions: {
 | 
			
		||||
          getReviseDataListURL: '/customerquality/qmsCustomerQualityProjectListRevisionRecord/page',
 | 
			
		||||
          getChangeDataListURL: '/customerquality/qmsCustomerQualityProjectListChangeRecord/page',
 | 
			
		||||
          submitURL: "/customerquality/knowledgeBaseRequirementListData",
 | 
			
		||||
          getDictDataDetail: '/mutual/qmsDataDictionaryDetail/page'
 | 
			
		||||
        },
 | 
			
		||||
        headers: [
 | 
			
		||||
          {
 | 
			
		||||
            prop: 'productCode',
 | 
			
		||||
            label: '产品编码',
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            prop: 'productName',
 | 
			
		||||
            label: '产品名称',
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            prop: 'customerCode',
 | 
			
		||||
            label: '客户编码',
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            prop: 'customerName',
 | 
			
		||||
            label: '客户名称',
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            prop: 'author',
 | 
			
		||||
            label: '作者',
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            prop: 'releaser',
 | 
			
		||||
            label: '发布人',
 | 
			
		||||
          }
 | 
			
		||||
        ],
 | 
			
		||||
        reviseHeaders: [
 | 
			
		||||
          {
 | 
			
		||||
            prop: 'item',
 | 
			
		||||
            label: 'Item/Section',
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            prop: 'revision',
 | 
			
		||||
            label: 'revision',
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            prop: 'essential',
 | 
			
		||||
            label: 'Essential Changes',
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            prop: 'date',
 | 
			
		||||
            label: 'date',
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        reviseTableData: [],
 | 
			
		||||
        changeHeaders: [
 | 
			
		||||
          {
 | 
			
		||||
            prop: 'name',
 | 
			
		||||
            label: 'name',
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            prop: 'changeHistory',
 | 
			
		||||
            label: 'Change History of this PPAP record',
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            prop: 'date',
 | 
			
		||||
            label: 'date',
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        changeTableData: [],
 | 
			
		||||
        tableData: [],
 | 
			
		||||
        innerDrawer: false,
 | 
			
		||||
        listQuery: {
 | 
			
		||||
          limit: 3,
 | 
			
		||||
          page: 1,
 | 
			
		||||
          customerQualityProjectListId:null
 | 
			
		||||
        },
 | 
			
		||||
        categoryList:[],
 | 
			
		||||
        requirementList: [],
 | 
			
		||||
        knowledgeBaseList:[],
 | 
			
		||||
      }
 | 
			
		||||
  },
 | 
			
		||||
  computed: {
 | 
			
		||||
    getHeaders() {
 | 
			
		||||
      return this.tableData.reduce((pre, cur, index) => pre.concat(`value${index}`), ['title'])
 | 
			
		||||
    },
 | 
			
		||||
    getValues() {
 | 
			
		||||
      return this.headers.map(item => {
 | 
			
		||||
        return this.tableData.reduce((pre, cur, index) => Object.assign(pre, { ['value' + index]: cur[item.prop] }), { 'title': item.label, });
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    getReviseHeaders() {
 | 
			
		||||
      return this.reviseTableData.reduce((pre, cur, index) => pre.concat(`value${index}`), ['title'])
 | 
			
		||||
    },
 | 
			
		||||
    getReviseValues() {
 | 
			
		||||
      return this.reviseHeaders.map(item => {
 | 
			
		||||
        return this.reviseTableData.reduce((pre, cur, index) => Object.assign(pre, { ['value' + index]: cur[item.prop] }), { 'title': item.label, });
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    getChangeHeaders() {
 | 
			
		||||
      return this.changeTableData.reduce((pre, cur, index) => pre.concat(`value${index}`), ['title'])
 | 
			
		||||
    },
 | 
			
		||||
    getChangeValues() {
 | 
			
		||||
      return this.changeHeaders.map(item => {
 | 
			
		||||
        return this.changeTableData.reduce((pre, cur, index) => Object.assign(pre, { ['value' + index]: cur[item.prop] }), { 'title': item.label, });
 | 
			
		||||
      });
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  mounted () {
 | 
			
		||||
    // this.getDict()
 | 
			
		||||
    // this.getAccessPath()
 | 
			
		||||
  },
 | 
			
		||||
    methods: {
 | 
			
		||||
      init(obj) {
 | 
			
		||||
        // this.dataForm.knowledgeBaseRequirementListId = obj.knowledgeBaseRequirementListId || ''
 | 
			
		||||
        // this.dataForm.knowledgeBaseRequirementListId = obj.knowledgeBaseRequirementListId || ''
 | 
			
		||||
        this.id = obj.id || ''
 | 
			
		||||
        this.listQuery.customerQualityProjectListId = obj.id
 | 
			
		||||
        this.tableData.push(obj)
 | 
			
		||||
        this.innerDrawer = true
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          // this.$refs["dataForm"].resetFields()
 | 
			
		||||
          // if (this.dataForm.id) {
 | 
			
		||||
            this.getInfo()
 | 
			
		||||
          // } else {
 | 
			
		||||
            // this.getCode()
 | 
			
		||||
          // }
 | 
			
		||||
        })
 | 
			
		||||
      },
 | 
			
		||||
      getInfo() {
 | 
			
		||||
        this.$http
 | 
			
		||||
          .get(this.urlOptions.getReviseDataListURL, {
 | 
			
		||||
            params: this.listQuery,
 | 
			
		||||
          })
 | 
			
		||||
          .then(({ data: res }) => {
 | 
			
		||||
            // this.dataListLoading = false;
 | 
			
		||||
            if (res.code !== 0) {
 | 
			
		||||
              this.tableData = [];
 | 
			
		||||
              // this.listQuery.total = 0;
 | 
			
		||||
              return this.$message.error(res.msg);
 | 
			
		||||
            }
 | 
			
		||||
            this.reviseTableData = res.data.list;
 | 
			
		||||
            this.listQuery.total = res.data.total;
 | 
			
		||||
          })
 | 
			
		||||
        this.$http
 | 
			
		||||
          .get(this.urlOptions.getChangeDataListURL, {
 | 
			
		||||
            params: this.listQuery,
 | 
			
		||||
          })
 | 
			
		||||
          .then(({ data: res }) => {
 | 
			
		||||
            // this.dataListLoading = false;
 | 
			
		||||
            if (res.code !== 0) {
 | 
			
		||||
              this.tableData = [];
 | 
			
		||||
              // this.listQuery.total = 0;
 | 
			
		||||
              return this.$message.error(res.msg);
 | 
			
		||||
            }
 | 
			
		||||
            this.changeTableData = res.data.list;
 | 
			
		||||
            this.listQuery.total = res.data.total;
 | 
			
		||||
          })
 | 
			
		||||
      },
 | 
			
		||||
      // getDict() {
 | 
			
		||||
      //   this.$http
 | 
			
		||||
      //     .get(this.urlOptions.getDictDataDetail, {
 | 
			
		||||
      //       params: {
 | 
			
		||||
      //         limit: 999,
 | 
			
		||||
      //         page: 1,
 | 
			
		||||
      //         dataDictionaryId: '1679670942635122690',
 | 
			
		||||
      //       }
 | 
			
		||||
      //     })
 | 
			
		||||
      //     .then(({ data: res }) => {
 | 
			
		||||
      //       // this.dataListLoading = false;
 | 
			
		||||
      //       if (res.code === 0) {
 | 
			
		||||
      //         this.categoryList = res.data.list
 | 
			
		||||
      //       }
 | 
			
		||||
      //     })
 | 
			
		||||
      // },
 | 
			
		||||
 | 
			
		||||
      // 表单提交
 | 
			
		||||
      // dataFormSubmit() {
 | 
			
		||||
      //   this.$refs["dataForm"].validate((valid) => {
 | 
			
		||||
      //     if (!valid) {
 | 
			
		||||
      //       return false;
 | 
			
		||||
      //     }
 | 
			
		||||
      //     this.$http[!this.dataForm.id ? "post" : "put"](this.urlOptions.submitURL, this.dataForm)
 | 
			
		||||
      //       .then(({ data: res }) => {
 | 
			
		||||
      //         if (res.code !== 0) {
 | 
			
		||||
      //           return this.$message.error(res.msg);
 | 
			
		||||
      //         }
 | 
			
		||||
      //         this.$message({
 | 
			
		||||
      //           message: this.$t("prompt.success"),
 | 
			
		||||
      //           type: "success",
 | 
			
		||||
      //           duration: 500,
 | 
			
		||||
      //           onClose: () => {
 | 
			
		||||
      //             this.innerDrawer = false;
 | 
			
		||||
      //             this.$emit("refreshDataList");
 | 
			
		||||
      //           },
 | 
			
		||||
      //         });
 | 
			
		||||
      //       })
 | 
			
		||||
      //       .catch(() => { });
 | 
			
		||||
      //   });
 | 
			
		||||
      // },
 | 
			
		||||
    },
 | 
			
		||||
  }
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
 | 
			
		||||
</style>
 | 
			
		||||
@@ -1,24 +1,25 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-13 11:01:20
 | 
			
		||||
 * @LastEditTime: 2023-07-18 16:55:16
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <el-form :model="dataForm" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" label-width="120px">
 | 
			
		||||
    <el-form-item prop="title" :label="$t('researchquality.title')">
 | 
			
		||||
      <el-input v-model="dataForm.title" :placeholder="$t('researchquality.title')">
 | 
			
		||||
      <el-input clearable v-model="dataForm.title" :placeholder="$t('researchquality.title')">
 | 
			
		||||
      </el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="requirementListGroupId" :label="$t('researchquality.requirementListGroupId')">
 | 
			
		||||
      <el-select v-model="dataForm.requirementListGroupId" :placeholder="$t('researchquality.requirementListGroupId')">
 | 
			
		||||
      <el-select clearable v-model="dataForm.requirementListGroupId"
 | 
			
		||||
        :placeholder="$t('researchquality.requirementListGroupId')">
 | 
			
		||||
        <el-option v-for="item in projectTypeList" :key="item.id" :label="item.name" :value="item.id">
 | 
			
		||||
        </el-option>
 | 
			
		||||
      </el-select>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="description" :label="$t('researchquality.description')">
 | 
			
		||||
      <el-input v-model="dataForm.description" :placeholder="$t('researchquality.description')">
 | 
			
		||||
      <el-input clearable v-model="dataForm.description" :placeholder="$t('researchquality.description')">
 | 
			
		||||
      </el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
  </el-form>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										152
									
								
								src/views/modules/customerquality/components/revise-add.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										152
									
								
								src/views/modules/customerquality/components/revise-add.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,152 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-07-14 13:44:46
 | 
			
		||||
 * @LastEditTime: 2023-07-19 14:38:48
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <div>
 | 
			
		||||
    <el-drawer close-on-press-escape :title="!dataForm.id ? $t('add') : $t('edit')" size="40%" :append-to-body="true"
 | 
			
		||||
      :closed="handleClose" :visible.sync="innerDrawer">
 | 
			
		||||
      <el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
 | 
			
		||||
        label-width="140px">
 | 
			
		||||
        <el-form-item prop="essential" label="Essential Changes">
 | 
			
		||||
          <el-input clearable v-model="dataForm.essential" placeholder="Essential Changes">
 | 
			
		||||
          </el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item prop="item" label="	Item / Section">
 | 
			
		||||
          <el-input clearable v-model="dataForm.item" placeholder="Item/Section">
 | 
			
		||||
          </el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item prop="revision" label="revision">
 | 
			
		||||
          <el-input clearable v-model="dataForm.revision" placeholder="Revision">
 | 
			
		||||
          </el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item prop="date" label="date">
 | 
			
		||||
          <el-date-picker v-model="dataForm.date" type="datetime" format='yyyy-MM-dd HH:mm:ss'
 | 
			
		||||
            valueFormat='yyyy-MM-ddTHH:mm:ss' placeholder="date">
 | 
			
		||||
          </el-date-picker>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item>
 | 
			
		||||
          <el-button @click="innerDrawer = false">{{ $t('cancel') }} </el-button>
 | 
			
		||||
          <el-button type="primary" @click="dataFormSubmit"> {{ $t('confirm') }}</el-button>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-form>
 | 
			
		||||
    </el-drawer>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import i18n from "@/i18n"
 | 
			
		||||
import basicAdd from "@/mixins/basic-add"
 | 
			
		||||
import debounce from "lodash/debounce"
 | 
			
		||||
export default {
 | 
			
		||||
  mixins: [basicAdd],
 | 
			
		||||
    data() {
 | 
			
		||||
      return {
 | 
			
		||||
        urlOptions: {
 | 
			
		||||
          submitURL: "/customerquality/qmsCustomerQualityProjectListRevisionRecord",
 | 
			
		||||
        },
 | 
			
		||||
        dataForm: {
 | 
			
		||||
          date:null,
 | 
			
		||||
          essential: null,
 | 
			
		||||
          id: null,
 | 
			
		||||
          item: null,
 | 
			
		||||
          revision: null,
 | 
			
		||||
          customerQualityProjectListId:null,
 | 
			
		||||
        },
 | 
			
		||||
        innerDrawer: false,
 | 
			
		||||
        listQuery: {
 | 
			
		||||
          limit: 10,
 | 
			
		||||
          page:1,
 | 
			
		||||
        },
 | 
			
		||||
        requirementList: [],
 | 
			
		||||
        knowledgeBaseList:[],
 | 
			
		||||
      }
 | 
			
		||||
  },
 | 
			
		||||
  computed: {
 | 
			
		||||
    dataRule() {
 | 
			
		||||
      return {
 | 
			
		||||
        knowledgeBaseId: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$t("validate.required"),
 | 
			
		||||
            trigger: "change",
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        requirementListId: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$t("validate.required"),
 | 
			
		||||
            trigger: "change",
 | 
			
		||||
          },
 | 
			
		||||
        ]
 | 
			
		||||
      };
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
    methods: {
 | 
			
		||||
      init(obj) {
 | 
			
		||||
        // this.dataForm.knowledgeBaseId = obj.knowledgeBaseId || ''
 | 
			
		||||
        // this.dataForm.requirementListId = obj.requirementListId || ''
 | 
			
		||||
        this.dataForm.id = obj.id?  obj.id :null
 | 
			
		||||
        this.dataForm.customerQualityProjectListId = obj.customerQualityProjectListId ? obj.customerQualityProjectListId :null
 | 
			
		||||
        this.innerDrawer = true
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.$refs["dataForm"].resetFields()
 | 
			
		||||
          if (this.dataForm.id) {
 | 
			
		||||
            this.getInfo()
 | 
			
		||||
          } else {
 | 
			
		||||
            // this.getCode()
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
      },
 | 
			
		||||
      handleClose() {
 | 
			
		||||
        this.innerDrawer = true
 | 
			
		||||
        this.$refs.dataForm.resetFields()
 | 
			
		||||
      },
 | 
			
		||||
      getInfo() {
 | 
			
		||||
        this.$http
 | 
			
		||||
          .get(`/customerquality/qmsCustomerQualityProjectListRevisionRecord/${this.dataForm.id}`)
 | 
			
		||||
          .then(({ data: res }) => {
 | 
			
		||||
            if (res.code !== 0) {
 | 
			
		||||
              return this.$message.error(res.msg);
 | 
			
		||||
            }
 | 
			
		||||
            this.dataForm = {
 | 
			
		||||
              ...this.dataForm,
 | 
			
		||||
              ...res.data,
 | 
			
		||||
            };
 | 
			
		||||
          })
 | 
			
		||||
          .catch(() => { });
 | 
			
		||||
      },
 | 
			
		||||
      // 表单提交
 | 
			
		||||
      dataFormSubmit() {
 | 
			
		||||
        this.$refs["dataForm"].validate((valid) => {
 | 
			
		||||
          if (!valid) {
 | 
			
		||||
            return false;
 | 
			
		||||
          }
 | 
			
		||||
          this.$http[!this.dataForm.id ? "post" : "put"](this.urlOptions.submitURL, this.dataForm)
 | 
			
		||||
            .then(({ data: res }) => {
 | 
			
		||||
              if (res.code !== 0) {
 | 
			
		||||
                return this.$message.error(res.msg);
 | 
			
		||||
              }
 | 
			
		||||
              this.$message({
 | 
			
		||||
                message: this.$t("prompt.success"),
 | 
			
		||||
                type: "success",
 | 
			
		||||
                duration: 500,
 | 
			
		||||
                onClose: () => {
 | 
			
		||||
                  this.innerDrawer = false;
 | 
			
		||||
                  this.$emit("refreshDataList");
 | 
			
		||||
                },
 | 
			
		||||
              });
 | 
			
		||||
            })
 | 
			
		||||
            .catch(() => { });
 | 
			
		||||
        });
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
  }
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
 | 
			
		||||
</style>
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-06-08 14:29:46
 | 
			
		||||
 * @LastEditTime: 2023-07-14 14:28:20
 | 
			
		||||
 * @LastEditTime: 2023-07-19 16:58:37
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -13,21 +13,76 @@
 | 
			
		||||
          <el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
 | 
			
		||||
        </el-badge> -->
 | 
			
		||||
      </SearchBar>
 | 
			
		||||
      <base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1"
 | 
			
		||||
        :limit="listQuery.limit" :table-data="tableData">
 | 
			
		||||
        <method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
 | 
			
		||||
          @clickBtn="handleClick" />
 | 
			
		||||
      </base-table>
 | 
			
		||||
      <el-table :data="tableData" style="width: 100%">
 | 
			
		||||
        <el-table-column type="expand">
 | 
			
		||||
          <template slot-scope="props">
 | 
			
		||||
            <el-form label-position="left" inline class="demo-table-expand">
 | 
			
		||||
              <el-form-item :label="$t('customerquality.previousVersionCode')">
 | 
			
		||||
                <span>{{ props.row.previousVersionCode }}</span>
 | 
			
		||||
              </el-form-item>
 | 
			
		||||
              <el-form-item :label="$t('customerquality.ppapGrade')">
 | 
			
		||||
                <span>{{ props.row.ppapGradeName }}</span>
 | 
			
		||||
              </el-form-item>
 | 
			
		||||
              <el-form-item :label="$t('customerquality.description')">
 | 
			
		||||
                <span>{{ props.row.description }}</span>
 | 
			
		||||
              </el-form-item>
 | 
			
		||||
              <el-form-item label="nda">
 | 
			
		||||
                <span>{{ props.row.nda ===0? '错号' : '对号'}}</span>
 | 
			
		||||
              </el-form-item>
 | 
			
		||||
              <el-form-item :label="$t('customerquality.amendment')">
 | 
			
		||||
                <span>{{ props.row.amendment }}</span>
 | 
			
		||||
              </el-form-item>
 | 
			
		||||
            </el-form>
 | 
			
		||||
          </template>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column :label="$t('customerquality.productName')" prop="productName">
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column :label="$t('customerquality.customerName')" prop="customerName">
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column :formatter="timeFormatter" :label="$t('customerquality.qualityAcceptanceDate')"
 | 
			
		||||
          prop="qualityAcceptanceDate">
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column :formatter="timeFormatter" :label="$t('customerquality.confirmDeliveryDate')"
 | 
			
		||||
          prop="confirmDeliveryDate">
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column :formatter="timeFormatter" :label="$t('customerquality.deliveryRequiredDate')"
 | 
			
		||||
          prop="deliveryRequiredDate">
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column :label="$t('customerquality.status')" prop="status">
 | 
			
		||||
          <template slot-scope="slot">
 | 
			
		||||
            <!-- <el-button type="text" @click="start(slot.row)">启动</el-button> -->
 | 
			
		||||
            <el-tag v-if="slot.row.status == 0" type="success"> 待审核</el-tag>
 | 
			
		||||
            <el-tag v-if="slot.row.status == 1" type="success"> 已完成</el-tag>
 | 
			
		||||
            <el-tag v-if="slot.row.status == 2" type="success"> 交付退回</el-tag>
 | 
			
		||||
            <el-tag v-if="slot.row.status == 3" type="success"> 审核拒绝</el-tag>
 | 
			
		||||
          </template>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
        <el-table-column label="操作" width="160" prop="desc">
 | 
			
		||||
          <template slot-scope="slot">
 | 
			
		||||
            <!-- <el-button type="text" @click="start(slot.row)">启动</el-button> -->
 | 
			
		||||
            <el-button type="text" @click="handleEdit(slot.row)">
 | 
			
		||||
              <i class="el-icon-edit"></i>
 | 
			
		||||
            </el-button>
 | 
			
		||||
            <el-button type="text" @click="handleDelete(slot.row)" style="color: red">
 | 
			
		||||
              <i class="el-icon-delete"></i>
 | 
			
		||||
            </el-button>
 | 
			
		||||
            <el-button type="text" @click="handleShow(slot.row)">
 | 
			
		||||
              {{ $t('configuration')}}
 | 
			
		||||
            </el-button>
 | 
			
		||||
          </template>
 | 
			
		||||
        </el-table-column>
 | 
			
		||||
      </el-table>
 | 
			
		||||
      <pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
 | 
			
		||||
        @pagination="getDataList" />
 | 
			
		||||
      <!-- 弹窗, 新增 / 修改 -->
 | 
			
		||||
      <base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
 | 
			
		||||
        @confirm="handleConfirm" :before-close="handleCancel">
 | 
			
		||||
        <qmsKnowledgeBase-add ref="addOrUpdate" @refreshDataList="successSubmit">
 | 
			
		||||
        </qmsKnowledgeBase-add>
 | 
			
		||||
        <!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
 | 
			
		||||
      </base-dialog>
 | 
			
		||||
      <baseConfig ref="baseConfigOrList" v-if="baseConfigShow"></baseConfig>
 | 
			
		||||
      <customerQualityProjectList-add v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList">
 | 
			
		||||
      </customerQualityProjectList-add>
 | 
			
		||||
      <qualityProjectList-show v-if="qualityProjectListShow" ref="qualityProjectListShow"
 | 
			
		||||
        @refreshDataList="getDataList">
 | 
			
		||||
      </qualityProjectList-show>
 | 
			
		||||
      <!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
 | 
			
		||||
      <!-- </base-dialog> -->
 | 
			
		||||
      <!-- <baseConfig ref="baseConfigOrList" v-if="baseConfigShow"></baseConfig> -->
 | 
			
		||||
      <!-- <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
 | 
			
		||||
        @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
 | 
			
		||||
        <projectType-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit">
 | 
			
		||||
@@ -51,42 +106,16 @@
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import basicPage from "@/mixins/basic-page"
 | 
			
		||||
// import basicPage from "@/mixins/basic-page"
 | 
			
		||||
// import basicSearch from "@/mixins/basic-search"
 | 
			
		||||
// import projectTypeSearch from "./components/projectTypeSearch.vue"
 | 
			
		||||
import customerquality from '@/filters/customerquality'
 | 
			
		||||
import qmsKnowledgeBaseAdd from "./components/qmsKnowledgeBase-add.vue"
 | 
			
		||||
import baseConfig from "./components/baseConfig"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// import customerquality from '@/filters/customerquality'
 | 
			
		||||
import customerQualityProjectListAdd from "./components/customerQualityProjectList-add.vue"
 | 
			
		||||
// import baseConfig from "./components/baseConfig"
 | 
			
		||||
import qualityProjectListShow from "./components/qualityProjectList-show.vue"
 | 
			
		||||
import { timeFormatter } from '@/filters'
 | 
			
		||||
import i18n from "@/i18n"
 | 
			
		||||
// import i18n from "@/i18n";
 | 
			
		||||
const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: "productName",
 | 
			
		||||
    label: i18n.t('customerquality.productName'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "customerName",
 | 
			
		||||
    label: i18n.t('customerquality.customerName'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "qualityAcceptanceDate",
 | 
			
		||||
    label: i18n.t('customerquality.qualityAcceptanceDate'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "confirmDeliveryDate",
 | 
			
		||||
    label: i18n.t('customerquality.confirmDeliveryDate'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "deliveryRequiredDate",
 | 
			
		||||
    label: i18n.t('customerquality.deliveryRequiredDate'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "status",
 | 
			
		||||
    label: i18n.t('customerquality.status'),
 | 
			
		||||
  }
 | 
			
		||||
];
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
    type: "edit",
 | 
			
		||||
@@ -96,13 +125,13 @@ const tableBtn = [
 | 
			
		||||
    type: "delete",
 | 
			
		||||
    btnName: i18n.t('delete'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    type: "configuration",
 | 
			
		||||
    btnName: i18n.t('configuration'),
 | 
			
		||||
  }
 | 
			
		||||
  // {
 | 
			
		||||
  //   type: "configuration",
 | 
			
		||||
  //   btnName: i18n.t('configuration'),
 | 
			
		||||
  // }
 | 
			
		||||
];
 | 
			
		||||
export default {
 | 
			
		||||
  mixins: [basicPage],
 | 
			
		||||
  // mixins: [basicPage],
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      urlOptions: {
 | 
			
		||||
@@ -110,13 +139,14 @@ export default {
 | 
			
		||||
        deleteURL: "/customerquality/qmsCustomerQualityProjectList",
 | 
			
		||||
        exportURL: '/customerquality/qmsCustomerQualityProjectList/export'
 | 
			
		||||
      },
 | 
			
		||||
      tableProps,
 | 
			
		||||
      tableBtn,
 | 
			
		||||
      tableData:[],
 | 
			
		||||
      productData: {},
 | 
			
		||||
      dataForm:{
 | 
			
		||||
      listQuery:{
 | 
			
		||||
        limit: 999,
 | 
			
		||||
        page:1
 | 
			
		||||
        page: 1,
 | 
			
		||||
        total:0
 | 
			
		||||
      },
 | 
			
		||||
      timeFormatter,
 | 
			
		||||
      baseConfigShow:false,
 | 
			
		||||
      searchOrEditTitle: "",
 | 
			
		||||
      searchOrUpdateVisible: false,
 | 
			
		||||
@@ -124,57 +154,8 @@ export default {
 | 
			
		||||
      addOrEditTitle: '',
 | 
			
		||||
      addOrUpdateVisible: false,
 | 
			
		||||
      productOrUpdateVisible: false,
 | 
			
		||||
      qualityProjectListShow:false,
 | 
			
		||||
      formConfig: [
 | 
			
		||||
        // {
 | 
			
		||||
        //   type: 'input',
 | 
			
		||||
        //   label: i18n.t('customerquality.customerName'),
 | 
			
		||||
        //   placeholder: i18n.t('customerquality.customerName'),
 | 
			
		||||
        //   param: 'customerName'
 | 
			
		||||
        // },
 | 
			
		||||
        // {
 | 
			
		||||
        //   type: 'select',
 | 
			
		||||
        //   label: i18n.t('customerquality.questionType'),
 | 
			
		||||
        //   placeholder: i18n.t('customerquality.questionType'),
 | 
			
		||||
        //   selectOptions: [
 | 
			
		||||
        //     {
 | 
			
		||||
        //       id: 0,
 | 
			
		||||
        //       name: '产品质量题'
 | 
			
		||||
        //     },
 | 
			
		||||
        //     {
 | 
			
		||||
        //       id: 1,
 | 
			
		||||
        //       name: '售后服务题'
 | 
			
		||||
        //     },
 | 
			
		||||
        //     {
 | 
			
		||||
        //       id: 2,
 | 
			
		||||
        //       name: '物流配送问题'
 | 
			
		||||
        //     },
 | 
			
		||||
        //     {
 | 
			
		||||
        //       id: 3,
 | 
			
		||||
        //       name: '单关问题'
 | 
			
		||||
        //     },
 | 
			
		||||
        //     {
 | 
			
		||||
        //       id: 4,
 | 
			
		||||
        //       name: '4系统故问题'
 | 
			
		||||
        //     }
 | 
			
		||||
        //   ],
 | 
			
		||||
        //   param: 'questionType'
 | 
			
		||||
        // },
 | 
			
		||||
        // {
 | 
			
		||||
        //   type: 'select',
 | 
			
		||||
        //   label: i18n.t('basic.status'),
 | 
			
		||||
        //   placeholder: i18n.t('basic.status'),
 | 
			
		||||
        //   selectOptions: [
 | 
			
		||||
        //     {
 | 
			
		||||
        //       id: 0,
 | 
			
		||||
        //       name: '不可用'
 | 
			
		||||
        //     },
 | 
			
		||||
        //     {
 | 
			
		||||
        //       id: 1,
 | 
			
		||||
        //       name: '可用'
 | 
			
		||||
        //     }
 | 
			
		||||
        //   ],
 | 
			
		||||
        //   param: 'status'
 | 
			
		||||
        // },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: i18n.t('search'),
 | 
			
		||||
@@ -193,11 +174,35 @@ export default {
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
  components: {
 | 
			
		||||
    qmsKnowledgeBaseAdd,
 | 
			
		||||
    baseConfig
 | 
			
		||||
    customerQualityProjectListAdd,
 | 
			
		||||
    qualityProjectListShow
 | 
			
		||||
    // baseConfig
 | 
			
		||||
  },
 | 
			
		||||
  mounted () {
 | 
			
		||||
    this.getDataList();
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    //search-bar点击
 | 
			
		||||
    getDataList() {
 | 
			
		||||
      this.dataListLoading = true;
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(this.urlOptions.getDataListURL, {
 | 
			
		||||
          params: this.listQuery,
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          this.dataListLoading = false;
 | 
			
		||||
          if (res.code !== 0) {
 | 
			
		||||
            this.tableData = [];
 | 
			
		||||
            this.listQuery.total = 0;
 | 
			
		||||
            return this.$message.error(res.msg);
 | 
			
		||||
          }
 | 
			
		||||
          this.tableData = res.data.list;
 | 
			
		||||
          this.listQuery.total = res.data.total;
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
          this.dataListLoading = false;
 | 
			
		||||
        })
 | 
			
		||||
    },
 | 
			
		||||
    handleProductCancel() {
 | 
			
		||||
      this.productOrUpdateVisible = false;
 | 
			
		||||
      this.productOrEditTitle = "";
 | 
			
		||||
@@ -264,15 +269,14 @@ export default {
 | 
			
		||||
        }
 | 
			
		||||
      }).catch(() => { })
 | 
			
		||||
    },
 | 
			
		||||
    handleClick(val) {
 | 
			
		||||
      if (val.type === "delete") {
 | 
			
		||||
        this.$confirm(`确定对[名称=${val.data.customerTypeName}]进行删除操作?`, "提示", {
 | 
			
		||||
    handleDelete(val) {
 | 
			
		||||
        this.$confirm(`确定对[名称${val.productName}]进行删除操作?`, "提示", {
 | 
			
		||||
          confirmButtonText: "确定",
 | 
			
		||||
          cancelButtonText: "取消",
 | 
			
		||||
          type: "warning",
 | 
			
		||||
        })
 | 
			
		||||
          .then(() => {
 | 
			
		||||
            this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
 | 
			
		||||
            this.$http.delete(this.urlOptions.deleteURL, { data: [val.id] }).then(({ data }) => {
 | 
			
		||||
              if (data && data.code === 0) {
 | 
			
		||||
                this.$message({
 | 
			
		||||
                  message: "操作成功",
 | 
			
		||||
@@ -288,18 +292,19 @@ export default {
 | 
			
		||||
            });
 | 
			
		||||
          })
 | 
			
		||||
          .catch(() => { });
 | 
			
		||||
      } else if (val.type === 'edit') {
 | 
			
		||||
        this.addOrUpdateVisible = true
 | 
			
		||||
        this.addOrEditTitle = this.$t('edit')
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.$refs.addOrUpdate.init(val.data.id);
 | 
			
		||||
        })
 | 
			
		||||
      } else if (val.type === 'configuration') {
 | 
			
		||||
        this.baseConfigShow = true
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.$refs.baseConfigOrList.init(val.data.id)
 | 
			
		||||
        });
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    handleEdit(val) {
 | 
			
		||||
      this.addOrUpdateVisible = true
 | 
			
		||||
      this.addOrEditTitle = this.$t('edit')
 | 
			
		||||
      this.$nextTick(() => {
 | 
			
		||||
        this.$refs.addOrUpdate.init(val.id);
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    handleShow(val) {
 | 
			
		||||
      this.qualityProjectListShow = true
 | 
			
		||||
      this.$nextTick(() => {
 | 
			
		||||
        this.$refs.qualityProjectListShow.init(val)
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    // addOrUpdateHandle(productData) {
 | 
			
		||||
    //   this.addOrUpdateVisible = true;
 | 
			
		||||
@@ -320,9 +325,10 @@ export default {
 | 
			
		||||
         this.exportHandle()
 | 
			
		||||
          break;
 | 
			
		||||
        case "add":
 | 
			
		||||
          this.addOrEditTitle = '新增'
 | 
			
		||||
          this.addOrUpdateVisible = true;
 | 
			
		||||
          this.addOrUpdateHandle()
 | 
			
		||||
          this.addOrUpdateVisible = true
 | 
			
		||||
          this.$nextTick(() => {
 | 
			
		||||
            this.$refs.addOrUpdate.init()
 | 
			
		||||
          })
 | 
			
		||||
          break;
 | 
			
		||||
        default:
 | 
			
		||||
      }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-06-08 14:29:46
 | 
			
		||||
 * @LastEditTime: 2023-07-14 10:08:05
 | 
			
		||||
 * @LastEditTime: 2023-07-18 14:20:43
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -24,9 +24,11 @@
 | 
			
		||||
      <base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
 | 
			
		||||
        @confirm="handleConfirm" :before-close="handleCancel">
 | 
			
		||||
        <customerQualityRequirementList-add ref="addOrUpdate" @refreshDataList="successSubmit">
 | 
			
		||||
          </customerQualityRequirementList-add>
 | 
			
		||||
          <!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
 | 
			
		||||
        </customerQualityRequirementList-add>
 | 
			
		||||
        <!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
 | 
			
		||||
      </base-dialog>
 | 
			
		||||
      <baseConfig ref="baseConfigOrList" v-if="baseConfigShow"></baseConfig>
 | 
			
		||||
 | 
			
		||||
      <!-- <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
 | 
			
		||||
        @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
 | 
			
		||||
        <projectType-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit">
 | 
			
		||||
@@ -56,6 +58,7 @@ import basicPage from "@/mixins/basic-page"
 | 
			
		||||
import customerquality from '@/filters/customerquality'
 | 
			
		||||
import customerQualityRequirementListAdd from "./components/customerQualityRequirementList-add.vue"
 | 
			
		||||
import i18n from "@/i18n"
 | 
			
		||||
import baseConfig from "./components/baseConfig"
 | 
			
		||||
// import i18n from "@/i18n";
 | 
			
		||||
const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
@@ -83,6 +86,10 @@ const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
    type: "delete",
 | 
			
		||||
    btnName: i18n.t('delete'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    type: "configuration",
 | 
			
		||||
    btnName: i18n.t('configuration'),
 | 
			
		||||
  }
 | 
			
		||||
];
 | 
			
		||||
export default {
 | 
			
		||||
@@ -95,6 +102,7 @@ export default {
 | 
			
		||||
        exportURL: '/customerquality/qmsCustomerQualityRequirementList/export'
 | 
			
		||||
      },
 | 
			
		||||
      tableProps,
 | 
			
		||||
      baseConfigShow:false,
 | 
			
		||||
      tableBtn,
 | 
			
		||||
      productData: {},
 | 
			
		||||
      dataForm:{
 | 
			
		||||
@@ -166,7 +174,8 @@ export default {
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
  components: {
 | 
			
		||||
    customerQualityRequirementListAdd
 | 
			
		||||
    customerQualityRequirementListAdd,
 | 
			
		||||
    baseConfig
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    //search-bar点击
 | 
			
		||||
@@ -196,12 +205,12 @@ export default {
 | 
			
		||||
    //   this.$refs.addOrUpdate.dataFormSubmitHandle();
 | 
			
		||||
    // },
 | 
			
		||||
    // conditionSearchSubmit() {},
 | 
			
		||||
    conditionSearchSubmit(dataForm) {
 | 
			
		||||
    conditionSearchSubmit() {
 | 
			
		||||
      // console.log(key);
 | 
			
		||||
      // console.log(key);
 | 
			
		||||
      this.listQuery.page = 1;
 | 
			
		||||
      this.getDataList();
 | 
			
		||||
      this.searchOrUpdateVisible = false;
 | 
			
		||||
      this.searchOrUpdateVisible = false
 | 
			
		||||
      // console.log(11111);
 | 
			
		||||
      // this.conditionSearchSubmit();
 | 
			
		||||
    },
 | 
			
		||||
@@ -209,10 +218,6 @@ export default {
 | 
			
		||||
      this.$http.get(this.urlOptions.exportURL, { responseType: 'blob' }, {
 | 
			
		||||
        ...this.dataForm
 | 
			
		||||
      }).then((res) => {
 | 
			
		||||
        console.log(res)
 | 
			
		||||
        // if (res !== 0) {
 | 
			
		||||
        //   return this.$message.error(res.msg) 
 | 
			
		||||
        // }
 | 
			
		||||
        let fileName = ''
 | 
			
		||||
        const contentDisposition = res.headers['content-disposition']
 | 
			
		||||
        if (contentDisposition) {
 | 
			
		||||
@@ -266,6 +271,14 @@ export default {
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.$refs.addOrUpdate.init(val.data.id);
 | 
			
		||||
        });
 | 
			
		||||
      } else if (val.type === 'configuration') {
 | 
			
		||||
        this.baseConfigShow = true
 | 
			
		||||
        const obj = {
 | 
			
		||||
          requirementListId:val.data.id
 | 
			
		||||
        }
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.$refs.baseConfigOrList.init(obj)
 | 
			
		||||
        });
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    // addOrUpdateHandle(productData) {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-06-08 14:29:46
 | 
			
		||||
 * @LastEditTime: 2023-07-14 13:58:32
 | 
			
		||||
 * @LastEditTime: 2023-07-18 14:20:57
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -284,8 +284,11 @@ export default {
 | 
			
		||||
        })
 | 
			
		||||
      } else if (val.type === 'configuration') {
 | 
			
		||||
        this.baseConfigShow = true
 | 
			
		||||
        const obj = {
 | 
			
		||||
          knowledgeBaseId: val.data.id
 | 
			
		||||
        }
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.$refs.baseConfigOrList.init(val.data.id)
 | 
			
		||||
          this.$refs.baseConfigOrList.init(obj)
 | 
			
		||||
        });
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
 
 | 
			
		||||
@@ -1,281 +0,0 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-04-17 14:23:17
 | 
			
		||||
 * @LastEditTime: 2023-07-13 14:06:42
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <el-card shadow="never" class="aui-card--fill">
 | 
			
		||||
    <div class="mod-sys__user">
 | 
			
		||||
      <SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
 | 
			
		||||
        <el-badge :value="5" class="item">
 | 
			
		||||
          <el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
 | 
			
		||||
        </el-badge>
 | 
			
		||||
      </SearchBar>
 | 
			
		||||
      <base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1"
 | 
			
		||||
        :limit="listQuery.limit" :table-data="tableData">
 | 
			
		||||
        <method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
 | 
			
		||||
          @clickBtn="handleClick" />
 | 
			
		||||
      </base-table>
 | 
			
		||||
      <pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
 | 
			
		||||
        @pagination="getDataList" />
 | 
			
		||||
      <!-- 弹窗, 新增 / 修改 -->
 | 
			
		||||
      <base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
 | 
			
		||||
        @confirm="handleConfirm" :before-close="handleCancel">
 | 
			
		||||
        <qualityChange-add ref="addOrUpdate" @refreshDataList="successSubmit">
 | 
			
		||||
        </qualityChange-add>
 | 
			
		||||
        <!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
 | 
			
		||||
      </base-dialog>
 | 
			
		||||
      <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
 | 
			
		||||
        @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
 | 
			
		||||
        <qualityChange-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit">
 | 
			
		||||
          </qualityChange-search>
 | 
			
		||||
          <el-row slot="footer" type="flex" justify="end">
 | 
			
		||||
            <el-col :span="12">
 | 
			
		||||
              <el-button size="small" type="primary" plain class="btnTextStyle" @click="handleSearchCancel">
 | 
			
		||||
                {{ $t("close") }}
 | 
			
		||||
              </el-button>
 | 
			
		||||
              <el-button size="small" class="btnTextStyle" type="primary" plain @click="handleSearchReset">{{
 | 
			
		||||
                $t("reset")
 | 
			
		||||
                }}</el-button>
 | 
			
		||||
              <el-button type="primary" size="small" class="btnTextStyle" @click="handleSearchConfirm">
 | 
			
		||||
                {{ $t("search") }}
 | 
			
		||||
              </el-button>
 | 
			
		||||
            </el-col>
 | 
			
		||||
          </el-row>
 | 
			
		||||
      </base-dialog>
 | 
			
		||||
    </div>
 | 
			
		||||
  </el-card>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import basicPage from "@/mixins/basic-page"
 | 
			
		||||
import basicSearch from "@/mixins/basic-search"
 | 
			
		||||
import qualityChangeSearch from "./components/qualityChangeSearch.vue"
 | 
			
		||||
import qualityChangeAdd from "./components/qualityChange-add.vue"
 | 
			
		||||
import i18n from "@/i18n"
 | 
			
		||||
// import supplier from '@/filters/supplier'
 | 
			
		||||
const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: "code",
 | 
			
		||||
    label: i18n.t('researchquality.code'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "registrationDate",
 | 
			
		||||
    label: i18n.t('researchquality.registrationDate'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "changeSource",
 | 
			
		||||
    label: i18n.t('researchquality.changeSource'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "owner",
 | 
			
		||||
    label: i18n.t('researchquality.owner'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "category",
 | 
			
		||||
    label: i18n.t('researchquality.category'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "title",
 | 
			
		||||
    label: i18n.t('researchquality.title'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "currentStage",
 | 
			
		||||
    label: i18n.t('researchquality.currentStage'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "productName",
 | 
			
		||||
    label: i18n.t('researchquality.productName'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "qualityChangeStatus",
 | 
			
		||||
    label: i18n.t('researchquality.qualityChangeStatus'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "temporaryChange",
 | 
			
		||||
    label: i18n.t('researchquality.temporaryChange'),
 | 
			
		||||
  }
 | 
			
		||||
];
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
    type: "edit",
 | 
			
		||||
    btnName: i18n.t('t.edit'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    type: "delete",
 | 
			
		||||
    btnName: i18n.t('t.delete'),
 | 
			
		||||
  }
 | 
			
		||||
];
 | 
			
		||||
export default {
 | 
			
		||||
  mixins: [basicPage, basicSearch],
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      urlOptions: {
 | 
			
		||||
        getDataListURL: "/researchquality/qmsQualityChange/page",
 | 
			
		||||
        deleteURL: "/researchquality/qmsQualityChange",
 | 
			
		||||
        exportURL: '/researchquality/qmsQualityChange',
 | 
			
		||||
        // getSupplierTypeListURL: '/supplier/qmsSupplierType/page'
 | 
			
		||||
        // submitURL: '/supplier/qmsSupplierType'
 | 
			
		||||
      },
 | 
			
		||||
      tableProps,
 | 
			
		||||
      ment: '',
 | 
			
		||||
      tableBtn,
 | 
			
		||||
      productData: {},
 | 
			
		||||
      dataForm:{
 | 
			
		||||
        limit: 999,
 | 
			
		||||
        page:1
 | 
			
		||||
      },
 | 
			
		||||
      searchOrEditTitle: "",
 | 
			
		||||
      searchOrUpdateVisible: false,
 | 
			
		||||
      productOrEditTitle: "",
 | 
			
		||||
      addOrEditTitle: '',
 | 
			
		||||
      addOrUpdateVisible: false,
 | 
			
		||||
      productOrUpdateVisible: false,
 | 
			
		||||
      formConfig: [
 | 
			
		||||
        // {
 | 
			
		||||
        //   type: "",
 | 
			
		||||
        //   label: i18n.t("params.paramCode"),
 | 
			
		||||
        //   placeholder: i18n.t("params.paramCode"),
 | 
			
		||||
        //   param: "paramCode",
 | 
			
		||||
        // },
 | 
			
		||||
        // {
 | 
			
		||||
        //   type: "separate",
 | 
			
		||||
        // },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: i18n.t('search'),
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: i18n.t('add'),
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: "success",
 | 
			
		||||
          plain: true
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: i18n.t('export'),
 | 
			
		||||
          name: "export",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          plain: true
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
  components: {
 | 
			
		||||
    qualityChangeSearch,
 | 
			
		||||
    // supplierProduct,
 | 
			
		||||
    qualityChangeAdd
 | 
			
		||||
  },
 | 
			
		||||
  // mounted () {
 | 
			
		||||
  //   this.getData();
 | 
			
		||||
  // },
 | 
			
		||||
  methods: {
 | 
			
		||||
    //search-bar点击
 | 
			
		||||
    handleProductCancel() {
 | 
			
		||||
      this.productOrUpdateVisible = false;
 | 
			
		||||
      this.productOrEditTitle = "";
 | 
			
		||||
    },
 | 
			
		||||
    handleCurrentChange(val) {
 | 
			
		||||
      console.log(val);
 | 
			
		||||
      this.productData = val.newVal ? val.newVal : {}
 | 
			
		||||
    },
 | 
			
		||||
    setCurrent(index) {
 | 
			
		||||
      this.$refs.palletTable1.setCurrent("palletTable", index);
 | 
			
		||||
    },
 | 
			
		||||
    // handleSearchCancel() {
 | 
			
		||||
    //   this.searchOrEditTitle = "";
 | 
			
		||||
    //   this.searchOrUpdateVisible = false;
 | 
			
		||||
    // },
 | 
			
		||||
    conditionSearch() {
 | 
			
		||||
      this.searchOrEditTitle = "搜索";
 | 
			
		||||
      this.searchOrUpdateVisible = true;
 | 
			
		||||
      this.$nextTick(() => {
 | 
			
		||||
        this.$refs.searchOrUpdate.init();
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    // handleConfirm() {
 | 
			
		||||
    //   this.$refs.addOrUpdate.dataFormSubmitHandle();
 | 
			
		||||
    // },
 | 
			
		||||
    // conditionSearchSubmit() {},
 | 
			
		||||
    conditionSearchSubmit(dataForm) {
 | 
			
		||||
      // console.log(key);
 | 
			
		||||
      // console.log(key);
 | 
			
		||||
      this.listQuery.supplierName = dataForm.supplierName
 | 
			
		||||
      this.listQuery.page = 1;
 | 
			
		||||
      this.getDataList();
 | 
			
		||||
      this.searchOrUpdateVisible = false;
 | 
			
		||||
      // console.log(11111);
 | 
			
		||||
      // this.conditionSearchSubmit();
 | 
			
		||||
    },
 | 
			
		||||
    handleClick(val) {
 | 
			
		||||
      if (val.type === "delete") {
 | 
			
		||||
        this.$confirm(`确定对[名称=${val.data.customerTypeName}]进行删除操作?`, "提示", {
 | 
			
		||||
          confirmButtonText: "确定",
 | 
			
		||||
          cancelButtonText: "取消",
 | 
			
		||||
          type: "warning",
 | 
			
		||||
        })
 | 
			
		||||
          .then(() => {
 | 
			
		||||
            this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
 | 
			
		||||
              if (data && data.code === 0) {
 | 
			
		||||
                this.$message({
 | 
			
		||||
                  message: "操作成功",
 | 
			
		||||
                  type: "success",
 | 
			
		||||
                  duration: 1500,
 | 
			
		||||
                  onClose: () => {
 | 
			
		||||
                    this.getDataList()
 | 
			
		||||
                  },
 | 
			
		||||
                });
 | 
			
		||||
              } else {
 | 
			
		||||
                this.$message.error(data.msg);
 | 
			
		||||
              }
 | 
			
		||||
            });
 | 
			
		||||
          })
 | 
			
		||||
          .catch(() => { });
 | 
			
		||||
      } else if (val.type === 'edit') {
 | 
			
		||||
        this.addOrUpdateVisible = true
 | 
			
		||||
        this.addOrEditTitle = this.$t('edit')
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.$refs.addOrUpdate.init(val.data.id);
 | 
			
		||||
        });
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    // addOrUpdateHandle(productData) {
 | 
			
		||||
    //   this.addOrUpdateVisible = true;
 | 
			
		||||
    //   this.$nextTick(() => {
 | 
			
		||||
    //     this.$refs.addOrUpdate.init(productData);
 | 
			
		||||
    //   });
 | 
			
		||||
    // },
 | 
			
		||||
    buttonClick(val) {
 | 
			
		||||
      console.log(val)
 | 
			
		||||
      switch (val.btnName) {
 | 
			
		||||
        case "search":
 | 
			
		||||
          // this.listQuery.paramCode = val.paramCode;
 | 
			
		||||
          this.listQuery.supplierName = val.supplierName ? val.supplierName : undefined
 | 
			
		||||
          this.listQuery.supplierStatus = val.supplierStatus ? val.supplierStatus : undefined
 | 
			
		||||
          this.listQuery.supplierTypeId = val.supplierTypeId ? val.supplierTypeId : undefined
 | 
			
		||||
          this.listQuery.ment = this.ment ? this.ment : undefined
 | 
			
		||||
          // console.log(i18n);
 | 
			
		||||
          this.listQuery.page = 1;
 | 
			
		||||
          this.getDataList();
 | 
			
		||||
          break;
 | 
			
		||||
        case "export":
 | 
			
		||||
          // this.listQuery.paramCode = val.paramCode;
 | 
			
		||||
          this.exportHandle()
 | 
			
		||||
          break;
 | 
			
		||||
        case "add":
 | 
			
		||||
          this.addOrEditTitle = '新增'
 | 
			
		||||
          this.addOrUpdateVisible = true;
 | 
			
		||||
          this.addOrUpdateHandle()
 | 
			
		||||
          break;
 | 
			
		||||
        default:
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-06-20 15:25:08
 | 
			
		||||
 * @LastEditTime: 2023-07-17 10:23:54
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -10,7 +10,7 @@
 | 
			
		||||
    <el-row :gutter="24">
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="factoryId" :label="$t('code.factoryName')">
 | 
			
		||||
          <el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
 | 
			
		||||
          <el-select  v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
 | 
			
		||||
            <el-option v-for="item in factoryList" :key="item.id" :label="item.factoryName" :value="item.id">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
@@ -18,26 +18,26 @@
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="inspectionTime" :label="$t('code.inspectionTime')">
 | 
			
		||||
          <el-date-picker v-model="dataForm.inspectionTime" type="datetime" :placeholder="$t('code.inspectionTime')"
 | 
			
		||||
            format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
 | 
			
		||||
          <el-date-picker  v-model="dataForm.inspectionTime" type="datetime"
 | 
			
		||||
            :placeholder="$t('code.inspectionTime')" format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
 | 
			
		||||
          </el-date-picker>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="orderNumber" :label="$t('code.orderNumber')">
 | 
			
		||||
          <el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
 | 
			
		||||
          <el-input  v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-row :gutter="24">
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="batchNo" :label="$t('code.batchNo')">
 | 
			
		||||
          <el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
 | 
			
		||||
          <el-input  v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="inspectionType" :label="$t('code.inspectionType')">
 | 
			
		||||
          <el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
 | 
			
		||||
          <el-select  v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
 | 
			
		||||
            <el-option v-for="item in inspectionTypeList" :key="item.value" :label="item.label" :value="item.value">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
@@ -53,7 +53,7 @@
 | 
			
		||||
    <el-row :gutter="24">
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="productId" :label="$t('code.productName')">
 | 
			
		||||
          <el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
 | 
			
		||||
          <el-select  v-model="dataForm.productId" :placeholder="$t('code.productName')">
 | 
			
		||||
            <el-option v-for="item in productList" :key="item.id" :label="item.name" :value="item.id">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
@@ -61,7 +61,7 @@
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="supplierId" :label="$t('code.supplierName')">
 | 
			
		||||
          <el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
 | 
			
		||||
          <el-select  v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
 | 
			
		||||
            <el-option v-for="item in supplierList" :key="item.id" :label="item.name" :value="item.id">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
@@ -69,31 +69,34 @@
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="batchQuantity" :label="$t('code.batchQuantity')">
 | 
			
		||||
          <el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')"></el-input>
 | 
			
		||||
          <el-input  v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')">
 | 
			
		||||
          </el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-row :gutter="24">
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="inspectionQuantity" :label="$t('code.inspectionQuantity')">
 | 
			
		||||
          <el-input v-model="dataForm.inspectionQuantity" :placeholder="$t('code.inspectionQuantity')"></el-input>
 | 
			
		||||
          <el-input  v-model="dataForm.inspectionQuantity"
 | 
			
		||||
            :placeholder="$t('code.inspectionQuantity')"></el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="batchSize" :label="$t('code.batchSize')">
 | 
			
		||||
          <el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
 | 
			
		||||
          <el-input  v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="samplesQuantity" :label="$t('code.samplesQuantity')">
 | 
			
		||||
          <el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')"></el-input>
 | 
			
		||||
          <el-input  v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')">
 | 
			
		||||
          </el-input>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
    </el-row>
 | 
			
		||||
    <el-row :gutter="24">
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="companyId" :label="$t('code.companyName')">
 | 
			
		||||
          <el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
 | 
			
		||||
          <el-select  v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
 | 
			
		||||
            <el-option v-for="item in unitList" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
@@ -101,15 +104,15 @@
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="userId" :label="$t('code.username')">
 | 
			
		||||
          <el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
 | 
			
		||||
            <el-option v-for="item in unitList" :key="item.id" :label="item.realName" :value="item.id">
 | 
			
		||||
          <el-select  v-model="dataForm.userId" :placeholder="$t('code.username')">
 | 
			
		||||
            <el-option v-for="item in userList" :key="item.id" :label="item.realName" :value="item.id">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
      </el-col>
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="inspectionStatus" :label="$t('code.inspectionStatus')">
 | 
			
		||||
          <el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
 | 
			
		||||
          <el-select  v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
 | 
			
		||||
            <el-option v-for="item in inspectionStatusList" :key="item.id" :label="item.name" :value="item.id">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
@@ -119,7 +122,7 @@
 | 
			
		||||
    <el-row :gutter="24">
 | 
			
		||||
      <el-col :span="8">
 | 
			
		||||
        <el-form-item prop="customSamplingId" :label="$t('code.customSampling')">
 | 
			
		||||
          <el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
 | 
			
		||||
          <el-select  v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
 | 
			
		||||
            <el-option v-for="item in samplingPlanList" :key="item.id" :label="item.sampleRange" :value="item.id">
 | 
			
		||||
            </el-option>
 | 
			
		||||
          </el-select>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-06-20 15:28:55
 | 
			
		||||
 * @LastEditTime: 2023-07-17 10:23:45
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -11,7 +11,7 @@
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="factoryId" :label="$t('code.factoryName')">
 | 
			
		||||
            <el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
 | 
			
		||||
            <el-select  v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
 | 
			
		||||
              <el-option v-for="item in factoryList" :key="item.id" :label="item.factoryName" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
@@ -19,26 +19,26 @@
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="inspectionTime" :label="$t('code.inspectionTime')">
 | 
			
		||||
            <el-date-picker v-model="dataForm.inspectionTime" type="datetime" :placeholder="$t('code.inspectionTime')"
 | 
			
		||||
              format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
 | 
			
		||||
            <el-date-picker  v-model="dataForm.inspectionTime" type="datetime"
 | 
			
		||||
              :placeholder="$t('code.inspectionTime')" format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
 | 
			
		||||
            </el-date-picker>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="orderNumber" :label="$t('code.orderNumber')">
 | 
			
		||||
            <el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
 | 
			
		||||
            <el-input  v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
      </el-row>
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="batchNo" :label="$t('code.batchNo')">
 | 
			
		||||
            <el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
 | 
			
		||||
            <el-input  v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="inspectionType" :label="$t('code.inspectionType')">
 | 
			
		||||
            <el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
 | 
			
		||||
            <el-select  v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
 | 
			
		||||
              <el-option v-for="item in inspectionTypeList" :key="item.value" :label="item.label" :value="item.value">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
@@ -54,7 +54,7 @@
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="productId" :label="$t('code.productName')">
 | 
			
		||||
            <el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
 | 
			
		||||
            <el-select  v-model="dataForm.productId" :placeholder="$t('code.productName')">
 | 
			
		||||
              <el-option v-for="item in productList" :key="item.id" :label="item.name" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
@@ -62,7 +62,7 @@
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="supplierId" :label="$t('code.supplierName')">
 | 
			
		||||
            <el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
 | 
			
		||||
            <el-select  v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
 | 
			
		||||
              <el-option v-for="item in supplierList" :key="item.id" :label="item.name" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
@@ -70,31 +70,34 @@
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="batchQuantity" :label="$t('code.batchQuantity')">
 | 
			
		||||
            <el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')"></el-input>
 | 
			
		||||
            <el-input  v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
      </el-row>
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="inspectionQuantity" :label="$t('code.inspectionQuantity')">
 | 
			
		||||
            <el-input v-model="dataForm.inspectionQuantity" :placeholder="$t('code.inspectionQuantity')"></el-input>
 | 
			
		||||
            <el-input  v-model="dataForm.inspectionQuantity"
 | 
			
		||||
              :placeholder="$t('code.inspectionQuantity')"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="batchSize" :label="$t('code.batchSize')">
 | 
			
		||||
            <el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
 | 
			
		||||
            <el-input  v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="samplesQuantity" :label="$t('code.samplesQuantity')">
 | 
			
		||||
            <el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')"></el-input>
 | 
			
		||||
            <el-input  v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
      </el-row>
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="companyId" :label="$t('code.companyName')">
 | 
			
		||||
            <el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
 | 
			
		||||
            <el-select  v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
 | 
			
		||||
              <el-option v-for="item in unitList" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
@@ -102,15 +105,15 @@
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="userId" :label="$t('code.username')">
 | 
			
		||||
            <el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
 | 
			
		||||
              <el-option v-for="item in unitList" :key="item.id" :label="item.realName" :value="item.id">
 | 
			
		||||
            <el-select  v-model="dataForm.userId" :placeholder="$t('code.username')">
 | 
			
		||||
              <el-option v-for="item in userList" :key="item.id" :label="item.realName" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="inspectionStatus" :label="$t('code.inspectionStatus')">
 | 
			
		||||
            <el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
 | 
			
		||||
            <el-select  v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
 | 
			
		||||
              <el-option v-for="item in inspectionStatusList" :key="item.id" :label="item.name" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
@@ -120,7 +123,7 @@
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="8">
 | 
			
		||||
          <el-form-item prop="customSamplingId" :label="$t('code.customSampling')">
 | 
			
		||||
            <el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
 | 
			
		||||
            <el-select  v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
 | 
			
		||||
              <el-option v-for="item in samplingPlanList" :key="item.id" :label="item.sampleRange" :value="item.id">
 | 
			
		||||
              </el-option>
 | 
			
		||||
            </el-select>
 | 
			
		||||
@@ -133,27 +136,29 @@
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="4">
 | 
			
		||||
          <el-form-item prop="critical" label="CR" label-width="50px">
 | 
			
		||||
            <el-input v-model="GBTDataForm.critical" placeholder="CR"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.critical" placeholder="CR"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="criticalAccept" label="Accept">
 | 
			
		||||
            <el-input v-model="GBTDataForm.criticalAccept" placeholder="Accept"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.criticalAccept" placeholder="Accept"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="criticalReject" label="Reject" label-width="60px">
 | 
			
		||||
            <el-input v-model="GBTDataForm.criticalReject" placeholder="Reject"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.criticalReject" placeholder="Reject"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="criticalNumber" :label="$t('code.defectsNumber')">
 | 
			
		||||
            <el-input v-model="GBTDataForm.criticalNumber" :placeholder="$t('code.defectsNumber')"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.criticalNumber" :placeholder="$t('code.defectsNumber')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="criticalDefectiveNumber" :label="$t('code.defectiveQuantity')">
 | 
			
		||||
            <el-input v-model="GBTDataForm.criticalDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
 | 
			
		||||
            <el-input  v-model="GBTDataForm.criticalDefectiveNumber"
 | 
			
		||||
              :placeholder="$t('code.defectiveQuantity')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
@@ -161,27 +166,29 @@
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="4">
 | 
			
		||||
          <el-form-item prop="major" label="MA" label-width="50px">
 | 
			
		||||
            <el-input v-model="GBTDataForm.major" placeholder="CR"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.major" placeholder="CR"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="majorAccept" label="Accept">
 | 
			
		||||
            <el-input v-model="GBTDataForm.majorAccept" placeholder="Accept"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.majorAccept" placeholder="Accept"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="majorReject" label="Reject" label-width="60px">
 | 
			
		||||
            <el-input v-model="GBTDataForm.majorReject" placeholder="Reject"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.majorReject" placeholder="Reject"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="majorNumber" :label="$t('code.defectsNumber')">
 | 
			
		||||
            <el-input v-model="GBTDataForm.majorNumber" :placeholder="$t('code.defectsNumber')"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.majorNumber" :placeholder="$t('code.defectsNumber')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="majorDefectiveNumber" :label="$t('code.defectiveQuantity')">
 | 
			
		||||
            <el-input v-model="GBTDataForm.majorDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
 | 
			
		||||
            <el-input  v-model="GBTDataForm.majorDefectiveNumber"
 | 
			
		||||
              :placeholder="$t('code.defectiveQuantity')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
@@ -189,27 +196,29 @@
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="4">
 | 
			
		||||
          <el-form-item prop="minor" label="MI" label-width="50px">
 | 
			
		||||
            <el-input v-model="GBTDataForm.minor" placeholder="CR"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.minor" placeholder="CR"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="minorAccept" label="Accept">
 | 
			
		||||
            <el-input v-model="GBTDataForm.minorAccept" placeholder="Accept"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.minorAccept" placeholder="Accept"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="minorReject" label="Reject" label-width="60px">
 | 
			
		||||
            <el-input v-model="GBTDataForm.minorReject" placeholder="Reject"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.minorReject" placeholder="Reject"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="minorNumber" :label="$t('code.defectsNumber')">
 | 
			
		||||
            <el-input v-model="GBTDataForm.minorNumber" :placeholder="$t('code.defectsNumber')"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.minorNumber" :placeholder="$t('code.defectsNumber')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="minorDefectiveNumber" :label="$t('code.defectiveQuantity')">
 | 
			
		||||
            <el-input v-model="GBTDataForm.minorDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
 | 
			
		||||
            <el-input  v-model="GBTDataForm.minorDefectiveNumber"
 | 
			
		||||
              :placeholder="$t('code.defectiveQuantity')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
@@ -217,27 +226,29 @@
 | 
			
		||||
      <el-row :gutter="24">
 | 
			
		||||
        <el-col :span="4">
 | 
			
		||||
          <el-form-item prop="total" label="total" label-width="50px">
 | 
			
		||||
            <el-input v-model="GBTDataForm.total" placeholder="CR"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.total" placeholder="CR"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="totalAccept" label="Accept">
 | 
			
		||||
            <el-input v-model="GBTDataForm.totalAccept" placeholder="Accept"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.totalAccept" placeholder="Accept"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="totalReject" label="Reject" label-width="60px">
 | 
			
		||||
            <el-input v-model="GBTDataForm.totalReject" placeholder="Reject"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.totalReject" placeholder="Reject"></el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="totalNumber" :label="$t('code.defectsNumber')">
 | 
			
		||||
            <el-input v-model="GBTDataForm.totalNumber" :placeholder="$t('code.defectsNumber')"></el-input>
 | 
			
		||||
            <el-input  v-model="GBTDataForm.totalNumber" :placeholder="$t('code.defectsNumber')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
        <el-col :span="5">
 | 
			
		||||
          <el-form-item prop="totalDefectiveNumber" :label="$t('code.defectiveQuantity')">
 | 
			
		||||
            <el-input v-model="GBTDataForm.totalDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
 | 
			
		||||
            <el-input  v-model="GBTDataForm.totalDefectiveNumber"
 | 
			
		||||
              :placeholder="$t('code.defectiveQuantity')">
 | 
			
		||||
            </el-input>
 | 
			
		||||
          </el-form-item>
 | 
			
		||||
        </el-col>
 | 
			
		||||
@@ -245,7 +256,6 @@
 | 
			
		||||
    </el-form>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import debounce from "lodash/debounce";
 | 
			
		||||
import basicAdd from "@/mixins/basic-add";
 | 
			
		||||
@@ -481,7 +491,7 @@ export default {
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            console.log(res);
 | 
			
		||||
            this.samplingPlanList = res.data
 | 
			
		||||
            this.samplingPlanList = res.data.list
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
@@ -493,7 +503,7 @@ export default {
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            console.log(res);
 | 
			
		||||
            this.userList = res.data
 | 
			
		||||
            this.userList = res.data.list
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
@@ -505,7 +515,7 @@ export default {
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            console.log(res);
 | 
			
		||||
            this.productList = res.data
 | 
			
		||||
            this.productList = res.data.list
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
@@ -521,7 +531,7 @@ export default {
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            console.log(res);
 | 
			
		||||
            this.unitList = res.data
 | 
			
		||||
            this.unitList = res.data.list
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
@@ -533,7 +543,7 @@ export default {
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            console.log(res);
 | 
			
		||||
            this.supplierList = res.data
 | 
			
		||||
            this.supplierList = res.data.list
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
@@ -545,7 +555,7 @@ export default {
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            console.log(res);
 | 
			
		||||
            this.factoryList = res.data
 | 
			
		||||
            this.factoryList = res.data.list
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
 
 | 
			
		||||
@@ -14,14 +14,15 @@
 | 
			
		||||
      <pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
 | 
			
		||||
        @pagination="getDataList" />
 | 
			
		||||
      <!-- 弹窗, 新增 / 修改 -->
 | 
			
		||||
      <base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
 | 
			
		||||
      <base-dialog width="70%" :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
 | 
			
		||||
        @confirm="handleConfirm" :before-close="handleCancel">
 | 
			
		||||
        <incomingInspection-add ref="addOrUpdate" @successSubmit="successSubmit"></incomingInspection-add>
 | 
			
		||||
        <!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
 | 
			
		||||
      </base-dialog>
 | 
			
		||||
      <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
 | 
			
		||||
        @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
 | 
			
		||||
        <incomingInspection-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit"></incomingInspection-search>
 | 
			
		||||
      <base-dialog width="70%" :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible"
 | 
			
		||||
        @cancel="handleSearchCancel" @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
 | 
			
		||||
        <incomingInspection-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit">
 | 
			
		||||
        </incomingInspection-search>
 | 
			
		||||
        <el-row slot="footer" type="flex" justify="end">
 | 
			
		||||
          <el-col :span="12">
 | 
			
		||||
            <el-button size="small" type="primary" plain class="btnTextStyle" @click="handleSearchCancel">
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-06-12 13:22:50
 | 
			
		||||
 * @LastEditTime: 2023-06-20 15:35:49
 | 
			
		||||
 * @LastEditTime: 2023-07-17 10:28:46
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -21,14 +21,14 @@
 | 
			
		||||
      <pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
 | 
			
		||||
        @pagination="getDataList" />
 | 
			
		||||
      <!-- 弹窗, 新增 / 修改 -->
 | 
			
		||||
      <base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
 | 
			
		||||
      <base-dialog width="70%" :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
 | 
			
		||||
        @confirm="handleConfirm" :before-close="handleCancel">
 | 
			
		||||
        <purchaseRegistration-add ref="addOrUpdate" @successSubmit="successSubmit">
 | 
			
		||||
          </purchaseRegistration-add>
 | 
			
		||||
          <!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
 | 
			
		||||
        </purchaseRegistration-add>
 | 
			
		||||
        <!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
 | 
			
		||||
      </base-dialog>
 | 
			
		||||
      <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
 | 
			
		||||
        @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
 | 
			
		||||
      <base-dialog width="70%" :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible"
 | 
			
		||||
        @cancel="handleSearchCancel" @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
 | 
			
		||||
        <purchaseRegistration-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit">
 | 
			
		||||
        </purchaseRegistration-search>
 | 
			
		||||
        <el-row slot="footer" type="flex" justify="end">
 | 
			
		||||
@@ -49,11 +49,13 @@
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import basicPage from "@/mixins/basic-page";
 | 
			
		||||
import basicSearch from "@/mixins/basic-search";
 | 
			
		||||
import purchaseRegistrationSearch from "./components/purchaseRegistrationSearch.vue";
 | 
			
		||||
import purchaseRegistrationAdd from "./components/purchaseRegistration-add.vue";
 | 
			
		||||
import i18n from "@/i18n";
 | 
			
		||||
import basicPage from "@/mixins/basic-page"
 | 
			
		||||
import basicSearch from "@/mixins/basic-search"
 | 
			
		||||
import purchaseRegistrationSearch from "./components/purchaseRegistrationSearch.vue"
 | 
			
		||||
import purchaseRegistrationAdd from "./components/purchaseRegistration-add.vue"
 | 
			
		||||
import i18n from "@/i18n"
 | 
			
		||||
import incoming from "@/filters/incoming";
 | 
			
		||||
 | 
			
		||||
// import i18n from "@/i18n";
 | 
			
		||||
const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
@@ -75,10 +77,12 @@ const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: "upload",
 | 
			
		||||
    label: i18n.t('code.upload'),
 | 
			
		||||
    filter: incoming('upload'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "judgmentResult",
 | 
			
		||||
    label: i18n.t('code.judgmentResult'),
 | 
			
		||||
    filter: incoming('judgmentResult'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "productCode",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,13 +1,13 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-31 14:12:10
 | 
			
		||||
 * @LastEditTime: 2023-07-13 10:00:19
 | 
			
		||||
 * @LastEditTime: 2023-07-17 16:14:43
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <span>
 | 
			
		||||
    <el-button type="text" @click="getExperienceDetail">{{ $t('oss.type1') }} </el-button>
 | 
			
		||||
    <el-button type="text" @click="getExperienceDetail">{{ $t('detail') }} </el-button>
 | 
			
		||||
  </span>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@@ -24,7 +24,7 @@ export default {
 | 
			
		||||
  methods: {
 | 
			
		||||
    getExperienceDetail() {
 | 
			
		||||
      this.$router.push({
 | 
			
		||||
        name: 'laboratory-qmsLaboratoryTrainExperience',
 | 
			
		||||
        name: 'laboratory-qmsLaboratoryEmployeeResume',
 | 
			
		||||
        query: {
 | 
			
		||||
          laboratoryTesterId: this.injectData.userId
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-05-15 14:27:30
 | 
			
		||||
 * @LastEditTime: 2023-07-13 10:00:09
 | 
			
		||||
 * @LastEditTime: 2023-07-17 16:13:47
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -14,7 +14,7 @@
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <span>
 | 
			
		||||
    <el-button type="text" @click="getInspectionDetail">{{ $t('oss.type1') }} </el-button>
 | 
			
		||||
    <el-button type="text" @click="getInspectionDetail">{{ $t('detail') }} </el-button>
 | 
			
		||||
  </span>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
@@ -31,7 +31,7 @@ export default {
 | 
			
		||||
  methods: {
 | 
			
		||||
    getInspectionDetail() {
 | 
			
		||||
      this.$router.push({
 | 
			
		||||
        name: 'laboratory-qmsLaboratoryTesterInspectionQualification',
 | 
			
		||||
        name: 'laboratory-qmsLaboratoryTrainExperience',
 | 
			
		||||
        query: {
 | 
			
		||||
          laboratoryTesterId: this.injectData.userId
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,13 +1,13 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-31 14:12:10
 | 
			
		||||
 * @LastEditTime: 2023-07-13 10:00:12
 | 
			
		||||
 * @LastEditTime: 2023-07-17 16:07:15
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <span>
 | 
			
		||||
    <el-button type="text" @click="getInspectionDetail">{{ $t('oss.type1') }} </el-button>
 | 
			
		||||
    <el-button type="text" @click="getInspectionDetail">{{ $t('detail') }} </el-button>
 | 
			
		||||
  </span>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-05-15 14:35:31
 | 
			
		||||
 * @LastEditTime: 2023-07-18 10:14:38
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -19,10 +19,10 @@
 | 
			
		||||
      <el-input v-model="dataForm.responsibilitie" :placeholder="$t('laboratory.responsibilitie')">
 | 
			
		||||
      </el-input>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="expectedReturnDate" :label="$t('gage.expectedReturnDate')">
 | 
			
		||||
      <el-date-picker v-model="dataForm.expectedReturnDate" type="datetime" :placeholder="$t('gage.expectedReturnDate')"
 | 
			
		||||
        format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
 | 
			
		||||
      </el-date-picker>
 | 
			
		||||
    <el-form-item :label="$t('laboratory.timeSlot')" prop="timeSlot">
 | 
			
		||||
      <el-date-picker v-model="dataForm.timeSlot" size="small" type="datetimerange" format='yyyy-MM-dd HH:mm:ss'
 | 
			
		||||
        valueFormat='yyyy-MM-ddTHH:mm:ss' :start-placeholder="$t('gage.startTime')"
 | 
			
		||||
        :end-placeholder="$t('gage.endTime')" :range-separator="$t('gage.to')" clearable />
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
  </el-form>
 | 
			
		||||
</template>
 | 
			
		||||
@@ -35,8 +35,8 @@ export default {
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      urlOptions: {
 | 
			
		||||
        submitURL: "/gage/qmsLaboratoryEmployeeResume",
 | 
			
		||||
        infoURL: "/gage/qmsLaboratoryEmployeeResume/{ id }",
 | 
			
		||||
        submitURL: "/laboratory/qmsLaboratoryEmployeeResume",
 | 
			
		||||
        infoURL: "/laboratory/qmsLaboratoryEmployeeResume/{ id }",
 | 
			
		||||
        dictionaryDetailList: '/mutual/qmsDataDictionaryDetail/page',
 | 
			
		||||
        getUserList: '/sys/user/page'
 | 
			
		||||
        // getTeamListURL: '/basic/qmsTeam/gape',
 | 
			
		||||
@@ -91,13 +91,13 @@ export default {
 | 
			
		||||
        department:null,
 | 
			
		||||
        endDate: null,
 | 
			
		||||
        id: null,
 | 
			
		||||
        timeSlot:undefined,
 | 
			
		||||
        laboratoryTesterId: null,
 | 
			
		||||
        position: null,
 | 
			
		||||
        remark: null,
 | 
			
		||||
        responsibilitie: null,
 | 
			
		||||
        startDate: null,
 | 
			
		||||
        id: null,
 | 
			
		||||
        laboratoryTesterId:null,
 | 
			
		||||
      },
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
@@ -133,13 +133,14 @@ export default {
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    init(data) {
 | 
			
		||||
      console.log(data)
 | 
			
		||||
      this.dataForm.id = data.id ? data.id : ''
 | 
			
		||||
      this.dataForm.laboratoryTesterId = data.laboratoryTesterId ? data.laboratoryTesterId : ''
 | 
			
		||||
      // console.log(11111)
 | 
			
		||||
      // this.dataForm.dictTypeId = dictTypeId || "";
 | 
			
		||||
      this.visible = true
 | 
			
		||||
      this.$nextTick(() => {
 | 
			
		||||
        this.$refs["dataForm"].resetFields();
 | 
			
		||||
        this.$refs["dataForm"].resetFields()
 | 
			
		||||
        if (this.dataForm.id) {
 | 
			
		||||
          this.getInfo()
 | 
			
		||||
        } else {
 | 
			
		||||
@@ -183,7 +184,7 @@ export default {
 | 
			
		||||
    // 获取信息
 | 
			
		||||
    getInfo() {
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(`/gage/qmsLaboratoryEmployeeResume/${this.dataForm.id}`)
 | 
			
		||||
        .get(`/laboratory/qmsLaboratoryEmployeeResume/${this.dataForm.id}`)
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          if (res.code !== 0) {
 | 
			
		||||
            return this.$message.error(res.msg);
 | 
			
		||||
@@ -195,6 +196,31 @@ export default {
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => { })
 | 
			
		||||
    },
 | 
			
		||||
    dataFormSubmit() {
 | 
			
		||||
      this.dataForm.endDate = this.dataForm.timeSlot ? this.dataForm.timeSlot[1] :undefined  
 | 
			
		||||
      this.dataForm.startDate = this.dataForm.timeSlot ? this.dataForm.timeSlot[0] : undefined  
 | 
			
		||||
      this.$refs["dataForm"].validate((valid) => {
 | 
			
		||||
        if (!valid) {
 | 
			
		||||
          return false;
 | 
			
		||||
        }
 | 
			
		||||
        this.$http[!this.dataForm.id ? "post" : "put"](this.urlOptions.submitURL, this.dataForm)
 | 
			
		||||
          .then(({ data: res }) => {
 | 
			
		||||
            if (res.code !== 0) {
 | 
			
		||||
              return this.$message.error(res.msg);
 | 
			
		||||
            }
 | 
			
		||||
            this.$message({
 | 
			
		||||
              message: this.$t("prompt.success"),
 | 
			
		||||
              type: "success",
 | 
			
		||||
              duration: 500,
 | 
			
		||||
              onClose: () => {
 | 
			
		||||
                this.visible = false;
 | 
			
		||||
                this.$emit("refreshDataList");
 | 
			
		||||
              },
 | 
			
		||||
            });
 | 
			
		||||
          })
 | 
			
		||||
          .catch(() => { });
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    // 表单提交
 | 
			
		||||
    dataFormSubmitHandle: debounce(
 | 
			
		||||
      function () {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-05-12 16:45:00
 | 
			
		||||
 * @LastEditTime: 2023-07-17 16:18:56
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -36,72 +36,11 @@ export default {
 | 
			
		||||
      userList: [],
 | 
			
		||||
      gageTypeList:[],
 | 
			
		||||
      departmentList: [],
 | 
			
		||||
      processList: [
 | 
			
		||||
        {
 | 
			
		||||
          id: 0,
 | 
			
		||||
          name: '未审核'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          id: 1,
 | 
			
		||||
          name: '不同意'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          id: 2,
 | 
			
		||||
          name: '同意'
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      listQuery: {
 | 
			
		||||
        limit: 999,
 | 
			
		||||
        gape: 1
 | 
			
		||||
      },
 | 
			
		||||
      gageStatusList: [
 | 
			
		||||
        {
 | 
			
		||||
          id: 0,
 | 
			
		||||
          name:'在用'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          id: 1,
 | 
			
		||||
          name: '备用'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          id: 2,
 | 
			
		||||
          name: '停用'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          id: 3,
 | 
			
		||||
          name: '封存'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          id: 4,
 | 
			
		||||
          name: '报废'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          id: 5,
 | 
			
		||||
          name: '降级使用'
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      certificateTypeList: [
 | 
			
		||||
        {
 | 
			
		||||
          id: 0,
 | 
			
		||||
          name: '检定证书'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          id: 1,
 | 
			
		||||
          name: '校准证书'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          id: 2,
 | 
			
		||||
          name: '检测报告'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          id: 3,
 | 
			
		||||
          name: '自校报告'
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      visible: false,
 | 
			
		||||
      dataForm: {
 | 
			
		||||
        id: null,
 | 
			
		||||
        userId:null
 | 
			
		||||
        userId: null,
 | 
			
		||||
        remark:null,
 | 
			
		||||
      },
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
 
 | 
			
		||||
@@ -21,7 +21,7 @@
 | 
			
		||||
      </el-date-picker>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item prop="validDate" :label="$t('laboratory.validDate')">
 | 
			
		||||
      <el-date-picker v-model="dataForm.expectedReturnDate" type="datetime" :placeholder="$t('laboratory.validDate')"
 | 
			
		||||
      <el-date-picker v-model="dataForm.validDate" type="datetime" :placeholder="$t('laboratory.validDate')"
 | 
			
		||||
        format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
 | 
			
		||||
      </el-date-picker>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
@@ -66,6 +66,7 @@ export default {
 | 
			
		||||
        code:null,
 | 
			
		||||
        getDate: null,
 | 
			
		||||
        id: null,
 | 
			
		||||
        validDate:null,
 | 
			
		||||
        laboratoryTesterId: null,
 | 
			
		||||
        name: null,
 | 
			
		||||
        qualificationDescription: null,
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-07-13 10:01:15
 | 
			
		||||
 * @LastEditTime: 2023-07-18 10:52:15
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -9,9 +9,6 @@
 | 
			
		||||
  <el-card shadow="never" class="aui-card--fill">
 | 
			
		||||
    <div class="mod-sys__user">
 | 
			
		||||
      <SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
 | 
			
		||||
        <el-badge :value="6" class="item">
 | 
			
		||||
          <el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
 | 
			
		||||
        </el-badge>
 | 
			
		||||
      </SearchBar>
 | 
			
		||||
      <base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
 | 
			
		||||
        <method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
 | 
			
		||||
@@ -56,11 +53,6 @@ import employeeResumeDetail from "./components/employeeResumeDetail.vue"
 | 
			
		||||
import basicSearch from "@/mixins/basic-search"
 | 
			
		||||
import i18n from "@/i18n"
 | 
			
		||||
const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'userCode',
 | 
			
		||||
    label: i18n.t("laboratory.userCode"),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'userName',
 | 
			
		||||
    label: i18n.t("laboratory.userName"),
 | 
			
		||||
@@ -118,15 +110,13 @@ export default {
 | 
			
		||||
      searchOrEditTitle: '',
 | 
			
		||||
      searchOrUpdateVisible: false,
 | 
			
		||||
      formConfig: [
 | 
			
		||||
        // {
 | 
			
		||||
        //   type: "",
 | 
			
		||||
        //   label: i18n.t("params.paramCode"),
 | 
			
		||||
        //   placeholder: i18n.t("params.paramCode"),
 | 
			
		||||
        //   param: "paramCode",
 | 
			
		||||
        // },
 | 
			
		||||
        // {
 | 
			
		||||
        //   type: "separate",
 | 
			
		||||
        // },
 | 
			
		||||
        {
 | 
			
		||||
          type: 'input',
 | 
			
		||||
          label: i18n.t('basic.name'),
 | 
			
		||||
          placeholder: i18n.t('basic.name'),
 | 
			
		||||
          param: 'name',
 | 
			
		||||
          clearable: true
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: i18n.t('search'),
 | 
			
		||||
@@ -139,13 +129,6 @@ export default {
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: "success",
 | 
			
		||||
          plain: true
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: i18n.t('export'),
 | 
			
		||||
          name: "export",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          plain: true
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
    };
 | 
			
		||||
@@ -213,7 +196,7 @@ export default {
 | 
			
		||||
    buttonClick(val) {
 | 
			
		||||
      switch (val.btnName) {
 | 
			
		||||
        case "search":
 | 
			
		||||
          // this.listQuery.paramCode = val.paramCode;
 | 
			
		||||
          this.listQuery.name = val.name ?val.name : null
 | 
			
		||||
          this.listQuery.page = 1
 | 
			
		||||
          this.getDataList();
 | 
			
		||||
          break;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,11 +1,7 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <el-card shadow="never" class="aui-card--fill">
 | 
			
		||||
    <div class="mod-sys__user">
 | 
			
		||||
      <search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick">
 | 
			
		||||
        <el-badge :value="5" class="item">
 | 
			
		||||
          <el-button type="primary" size="small" @click="searchsClick">条件搜索</el-button>
 | 
			
		||||
        </el-badge>
 | 
			
		||||
      </search-bar>
 | 
			
		||||
      <search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
 | 
			
		||||
      <base-table
 | 
			
		||||
        :table-props="tableProps"
 | 
			
		||||
        :page="listQuery.page"
 | 
			
		||||
@@ -28,7 +24,7 @@
 | 
			
		||||
        @pagination="getDataList"
 | 
			
		||||
      />
 | 
			
		||||
      <!-- 弹窗, 条件搜索-->
 | 
			
		||||
      <base-dialog
 | 
			
		||||
      <!-- <base-dialog
 | 
			
		||||
        :dialogTitle="searchsTitle"
 | 
			
		||||
        :dialogVisible="searchsVisible"
 | 
			
		||||
        @cancel="searchsCancel"
 | 
			
		||||
@@ -36,7 +32,7 @@
 | 
			
		||||
        :before-close="searchsCancel"
 | 
			
		||||
      >
 | 
			
		||||
        <searchs ref="searchsRef" @refreshDataList="searchsSubmit"></searchs>
 | 
			
		||||
      </base-dialog>
 | 
			
		||||
      </base-dialog> -->
 | 
			
		||||
      <!-- 弹窗, 新增 / 修改 -->
 | 
			
		||||
      <base-dialog
 | 
			
		||||
        :dialogTitle="addOrEditTitle"
 | 
			
		||||
@@ -54,7 +50,7 @@
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import AddOrUpdate from "./components/eightDisciplineList-detail";
 | 
			
		||||
import Searchs from "./components/searchs1";
 | 
			
		||||
// import Searchs from "./components/searchs1";
 | 
			
		||||
import basicPage from "@/mixins/basic-page";
 | 
			
		||||
import codeFilter from "@/filters/code-filter";
 | 
			
		||||
import { timeFormatter } from "@/filters/code-filter";
 | 
			
		||||
@@ -81,11 +77,11 @@ const tableProps = [
 | 
			
		||||
    label: "关键字",
 | 
			
		||||
    align: "center",
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "associationNumber",
 | 
			
		||||
    label: "关联次数",
 | 
			
		||||
    align: "center",
 | 
			
		||||
  },
 | 
			
		||||
  // {
 | 
			
		||||
  //   prop: "associationNumber",
 | 
			
		||||
  //   label: "关联次数",
 | 
			
		||||
  //   align: "center",
 | 
			
		||||
  // },
 | 
			
		||||
];
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
@@ -104,7 +100,37 @@ export default {
 | 
			
		||||
      tableProps,
 | 
			
		||||
      tableBtn,
 | 
			
		||||
      tableData: [],
 | 
			
		||||
      optionArrUrl: ["/basic/qmsProduct/page","/code/problemType/page"],
 | 
			
		||||
      formConfig: [
 | 
			
		||||
        {
 | 
			
		||||
          type: "input",
 | 
			
		||||
          label: i18n.t("code.title"),
 | 
			
		||||
          placeholder: i18n.t("code.title"),
 | 
			
		||||
          param: "title",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "select",
 | 
			
		||||
          label: "产品",
 | 
			
		||||
          selectOptions: [],
 | 
			
		||||
          param: "productId",
 | 
			
		||||
          defaultSelect: "",
 | 
			
		||||
          labelField: "productName",
 | 
			
		||||
          filterable: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "select",
 | 
			
		||||
          label: "缺陷",
 | 
			
		||||
          selectOptions: [],
 | 
			
		||||
          param: "defectId",
 | 
			
		||||
          defaultSelect: "",
 | 
			
		||||
          filterable: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "input",
 | 
			
		||||
          label: "关键字",
 | 
			
		||||
          placeholder: "关键字",
 | 
			
		||||
          param: "description",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
@@ -116,9 +142,30 @@ export default {
 | 
			
		||||
  },
 | 
			
		||||
  components: {
 | 
			
		||||
    AddOrUpdate,
 | 
			
		||||
    Searchs,
 | 
			
		||||
    // Searchs,
 | 
			
		||||
  },
 | 
			
		||||
  created() {
 | 
			
		||||
    this.getArr();
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    getArr() {
 | 
			
		||||
      this.optionArrUrl.forEach((item, index) => {
 | 
			
		||||
        this.$http
 | 
			
		||||
          .get(item, {
 | 
			
		||||
            params: {
 | 
			
		||||
              page: 1,
 | 
			
		||||
              limit: 500,
 | 
			
		||||
            },
 | 
			
		||||
          })
 | 
			
		||||
          .then(({ data: res }) => {
 | 
			
		||||
            if (res.code !== 0) {
 | 
			
		||||
              return this.$message.error(res.msg);
 | 
			
		||||
            }
 | 
			
		||||
            this.formConfig[index + 1].selectOptions = res.data.list;
 | 
			
		||||
          })
 | 
			
		||||
          .catch(() => {});
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    // 获取数据列表
 | 
			
		||||
    getDataList() {
 | 
			
		||||
      this.dataListLoading = true;
 | 
			
		||||
@@ -146,15 +193,14 @@ export default {
 | 
			
		||||
    buttonClick(val) {
 | 
			
		||||
      switch (val.btnName) {
 | 
			
		||||
        case "search":
 | 
			
		||||
          this.listQuery = {};
 | 
			
		||||
          this.listQuery.page = 1;
 | 
			
		||||
          this.listQuery.limit = 10;
 | 
			
		||||
          this.listQuery.total = 1;
 | 
			
		||||
          this.listQuery.title = val.title;
 | 
			
		||||
          this.listQuery.description = val.description;
 | 
			
		||||
          this.listQuery.defectId = val.defectId;
 | 
			
		||||
          this.listQuery.productId = val.productId;
 | 
			
		||||
          this.getDataList();
 | 
			
		||||
          break;
 | 
			
		||||
        case "export":
 | 
			
		||||
          this.exportHandle("工厂管理");
 | 
			
		||||
          break;
 | 
			
		||||
        default:
 | 
			
		||||
          console.log(val);
 | 
			
		||||
      }
 | 
			
		||||
 
 | 
			
		||||
@@ -83,7 +83,7 @@ export default {
 | 
			
		||||
        series: [],
 | 
			
		||||
      };
 | 
			
		||||
      this.dataList.forEach((item) => {
 | 
			
		||||
        const i = option.series.findIndex((c) => c.id === item.productTypeId);
 | 
			
		||||
        const i = option.series.findIndex((c) => c.id === (this.eType?item.problemTypeId:item.productTypeId));
 | 
			
		||||
        if (i >= 0) {
 | 
			
		||||
          option.series[i].data.push(this.eType?item.problemTypeNumber:item.productTypeNumber);
 | 
			
		||||
        } else {
 | 
			
		||||
@@ -104,7 +104,6 @@ export default {
 | 
			
		||||
          option.series.push(obj);
 | 
			
		||||
        }
 | 
			
		||||
      })
 | 
			
		||||
      console.log(option.series)
 | 
			
		||||
      this.lineChart = echarts.init(document.getElementById("lineChart"))
 | 
			
		||||
      this.lineChart.setOption(option);
 | 
			
		||||
      window.addEventListener("resize", () => {
 | 
			
		||||
@@ -117,10 +116,10 @@ export default {
 | 
			
		||||
 | 
			
		||||
<style lang="scss">
 | 
			
		||||
.mod-demo-echarts {
 | 
			
		||||
  > .el-row {
 | 
			
		||||
    .el-col {
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  // > .el-row {
 | 
			
		||||
  //   .el-col {
 | 
			
		||||
  //   }
 | 
			
		||||
  // }
 | 
			
		||||
  .chart-box {
 | 
			
		||||
    min-height: 400px;
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,49 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-31 09:49:36
 | 
			
		||||
 * @LastEditTime: 2023-07-17 10:16:41
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <span>
 | 
			
		||||
    <el-avatar
 | 
			
		||||
      v-if="injectData.eightDisciplineStatus > injectData.num"
 | 
			
		||||
      size="small"
 | 
			
		||||
      style="background: #409EFF;"
 | 
			
		||||
      icon="el-icon-check"
 | 
			
		||||
    ></el-avatar>
 | 
			
		||||
    <el-avatar 
 | 
			
		||||
      v-else size="small" 
 | 
			
		||||
      icon="el-icon-close"
 | 
			
		||||
      ></el-avatar>
 | 
			
		||||
  </span>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
// import { addDynamicRoute } from '@/router'
 | 
			
		||||
export default {
 | 
			
		||||
  props: {
 | 
			
		||||
    injectData: {
 | 
			
		||||
      type: Object,
 | 
			
		||||
      default: () => ({}),
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    // 子级
 | 
			
		||||
    // emitClick () {
 | 
			
		||||
    //   // 路由参数
 | 
			
		||||
    //   const routeParams = {
 | 
			
		||||
    //     routeName: `${this.$route.name}__${this.injectData.id}`,
 | 
			
		||||
    //     title: `${this.$route.meta.title} - ${this.injectData.dictType}`,
 | 
			
		||||
    //     path: 'sys/dict-data',
 | 
			
		||||
    //     params: {
 | 
			
		||||
    //       dictTypeId: this.injectData.id
 | 
			
		||||
    //     }
 | 
			
		||||
    //   }
 | 
			
		||||
    //   // 动态路由
 | 
			
		||||
    //   addDynamicRoute(routeParams, this.$router)
 | 
			
		||||
    // }
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
@@ -1,11 +1,11 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <el-card shadow="never" class="aui-card--fill">
 | 
			
		||||
    <div class="mod-sys__user">
 | 
			
		||||
      <search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick">
 | 
			
		||||
        <el-badge :value="5" class="item">
 | 
			
		||||
          <el-button type="primary" size="small" @click="searchsClick">条件搜索</el-button>
 | 
			
		||||
        </el-badge>
 | 
			
		||||
      </search-bar>
 | 
			
		||||
      <search-bar
 | 
			
		||||
        :formConfigs="formConfig"
 | 
			
		||||
        ref="searchBarForm"
 | 
			
		||||
        @headBtnClick="buttonClick"
 | 
			
		||||
      />
 | 
			
		||||
      <base-table
 | 
			
		||||
        :table-props="tableProps"
 | 
			
		||||
        :page="listQuery.page"
 | 
			
		||||
@@ -28,7 +28,7 @@
 | 
			
		||||
        @pagination="getDataList"
 | 
			
		||||
      />
 | 
			
		||||
      <!-- 弹窗, 条件搜索-->
 | 
			
		||||
      <base-dialog
 | 
			
		||||
      <!-- <base-dialog
 | 
			
		||||
        :dialogTitle="searchsTitle"
 | 
			
		||||
        :dialogVisible="searchsVisible"
 | 
			
		||||
        @cancel="searchsCancel"
 | 
			
		||||
@@ -36,7 +36,7 @@
 | 
			
		||||
        :before-close="searchsCancel"
 | 
			
		||||
      >
 | 
			
		||||
        <searchs ref="searchsRef" @refreshDataList="searchsSubmit"></searchs>
 | 
			
		||||
      </base-dialog>
 | 
			
		||||
      </base-dialog> -->
 | 
			
		||||
      <!-- 弹窗, 新增 / 修改 -->
 | 
			
		||||
      <base-dialog
 | 
			
		||||
        :dialogTitle="addOrEditTitle"
 | 
			
		||||
@@ -44,7 +44,7 @@
 | 
			
		||||
        @cancel="handleCancel"
 | 
			
		||||
        @confirm="handleConfirm"
 | 
			
		||||
        :before-close="handleCancel"
 | 
			
		||||
        width=80%
 | 
			
		||||
        width="80%"
 | 
			
		||||
      >
 | 
			
		||||
        <add-or-update ref="addOrUpdate" @refreshDataList="successSubmit"></add-or-update>
 | 
			
		||||
      </base-dialog>
 | 
			
		||||
@@ -54,7 +54,7 @@
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import AddOrUpdate from "./components/eightDisciplineList-detail";
 | 
			
		||||
import Searchs from "./components/searchs";
 | 
			
		||||
// import Searchs from "./components/searchs";
 | 
			
		||||
import basicPage from "@/mixins/basic-page";
 | 
			
		||||
import codeFilter from "@/filters/code-filter";
 | 
			
		||||
import { timeFormatter } from "@/filters/code-filter";
 | 
			
		||||
@@ -93,11 +93,11 @@ const tableProps = [
 | 
			
		||||
    label: i18n.t("code.description"),
 | 
			
		||||
    align: "center",
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "userName",
 | 
			
		||||
    label: "启动人",
 | 
			
		||||
    align: "center",
 | 
			
		||||
  },
 | 
			
		||||
  // {
 | 
			
		||||
  //   prop: "userName",
 | 
			
		||||
  //   label: "启动人",
 | 
			
		||||
  //   align: "center",
 | 
			
		||||
  // },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "eightDisciplineStatus",
 | 
			
		||||
    label: "步骤",
 | 
			
		||||
@@ -112,6 +112,44 @@ const tableBtn = [
 | 
			
		||||
  },
 | 
			
		||||
];
 | 
			
		||||
 | 
			
		||||
const eightDisciplineStatusArr = [
 | 
			
		||||
  {
 | 
			
		||||
    name: "D0",
 | 
			
		||||
    id: 0,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "D1",
 | 
			
		||||
    id: 1,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "D2",
 | 
			
		||||
    id: 2,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "D3",
 | 
			
		||||
    id: 3,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "D4",
 | 
			
		||||
    id: 4,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "D5",
 | 
			
		||||
    id: 5,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "D6",
 | 
			
		||||
    id: 6,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "D7",
 | 
			
		||||
    id: 7,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "D8",
 | 
			
		||||
    id: 8,
 | 
			
		||||
  },
 | 
			
		||||
];
 | 
			
		||||
export default {
 | 
			
		||||
  mixins: [basicPage],
 | 
			
		||||
  data() {
 | 
			
		||||
@@ -122,8 +160,52 @@ export default {
 | 
			
		||||
      },
 | 
			
		||||
      tableProps,
 | 
			
		||||
      tableBtn,
 | 
			
		||||
      eightDisciplineStatusArr,
 | 
			
		||||
      tableData: [],
 | 
			
		||||
      optionArrUrl: ["/basic/qmsCustomer/page", "/basic/qmsProduct/page"],
 | 
			
		||||
      formConfig: [
 | 
			
		||||
        {
 | 
			
		||||
          type: "input",
 | 
			
		||||
          label: i18n.t("code.title"),
 | 
			
		||||
          placeholder: i18n.t("code.title"),
 | 
			
		||||
          param: "title",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "select",
 | 
			
		||||
          label: "客户",
 | 
			
		||||
          selectOptions: [],
 | 
			
		||||
          param: "customId",
 | 
			
		||||
          defaultSelect: "",
 | 
			
		||||
          labelField: "customerName",
 | 
			
		||||
          filterable: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "select",
 | 
			
		||||
          label: "产品",
 | 
			
		||||
          selectOptions: [],
 | 
			
		||||
          param: "productId",
 | 
			
		||||
          defaultSelect: "",
 | 
			
		||||
          labelField: "productName",
 | 
			
		||||
          filterable: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "select",
 | 
			
		||||
          label: "步骤",
 | 
			
		||||
          selectOptions: eightDisciplineStatusArr,
 | 
			
		||||
          param: "eightDisciplineStatus",
 | 
			
		||||
          defaultSelect: "",
 | 
			
		||||
          filterable: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "datePicker",
 | 
			
		||||
          label: "日期",
 | 
			
		||||
          dateType: "date",
 | 
			
		||||
          format: "yyyy-MM-dd",
 | 
			
		||||
          valueFormat: "yyyy-MM-ddTHH:mm:ss",
 | 
			
		||||
          placeholder: "日期",
 | 
			
		||||
          param: "occurrenceDate",
 | 
			
		||||
          width: 170,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
@@ -135,9 +217,30 @@ export default {
 | 
			
		||||
  },
 | 
			
		||||
  components: {
 | 
			
		||||
    AddOrUpdate,
 | 
			
		||||
    Searchs,
 | 
			
		||||
    // Searchs,
 | 
			
		||||
  },
 | 
			
		||||
  created() {
 | 
			
		||||
    this.getArr();
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    getArr() {
 | 
			
		||||
      this.optionArrUrl.forEach((item, index) => {
 | 
			
		||||
        this.$http
 | 
			
		||||
          .get(item, {
 | 
			
		||||
            params: {
 | 
			
		||||
              page: 1,
 | 
			
		||||
              limit: 500,
 | 
			
		||||
            },
 | 
			
		||||
          })
 | 
			
		||||
          .then(({ data: res }) => {
 | 
			
		||||
            if (res.code !== 0) {
 | 
			
		||||
              return this.$message.error(res.msg);
 | 
			
		||||
            }
 | 
			
		||||
            this.formConfig[index + 1].selectOptions = res.data.list;
 | 
			
		||||
          })
 | 
			
		||||
          .catch(() => {});
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    // 获取数据列表
 | 
			
		||||
    getDataList() {
 | 
			
		||||
      this.dataListLoading = true;
 | 
			
		||||
@@ -165,15 +268,15 @@ export default {
 | 
			
		||||
    buttonClick(val) {
 | 
			
		||||
      switch (val.btnName) {
 | 
			
		||||
        case "search":
 | 
			
		||||
          this.listQuery = {};
 | 
			
		||||
          this.listQuery.page = 1;
 | 
			
		||||
          this.listQuery.limit = 10;
 | 
			
		||||
          this.listQuery.total = 1;
 | 
			
		||||
          this.listQuery.title = val.title;
 | 
			
		||||
          this.listQuery.eightDisciplineStatus = val.eightDisciplineStatus;
 | 
			
		||||
          this.listQuery.customId = val.customId;
 | 
			
		||||
          this.listQuery.productId = val.productId;
 | 
			
		||||
          this.listQuery.occurrenceDate = val.occurrenceDate;
 | 
			
		||||
          this.getDataList();
 | 
			
		||||
          break;
 | 
			
		||||
        case "export":
 | 
			
		||||
          this.exportHandle("工厂管理");
 | 
			
		||||
          break;
 | 
			
		||||
        default:
 | 
			
		||||
          console.log(val);
 | 
			
		||||
      }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,11 +1,7 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <el-card shadow="never" class="aui-card--fill">
 | 
			
		||||
    <div class="mod-sys__user">
 | 
			
		||||
      <search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick">
 | 
			
		||||
        <el-badge :value="5" class="item">
 | 
			
		||||
          <el-button type="primary" size="small" @click="searchsClick">条件搜索</el-button>
 | 
			
		||||
        </el-badge>
 | 
			
		||||
      </search-bar>
 | 
			
		||||
      <search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
 | 
			
		||||
      <base-table
 | 
			
		||||
        :table-props="tableProps"
 | 
			
		||||
        :page="listQuery.page"
 | 
			
		||||
@@ -28,7 +24,7 @@
 | 
			
		||||
        @pagination="getDataList"
 | 
			
		||||
      />
 | 
			
		||||
      <!-- 弹窗, 条件搜索-->
 | 
			
		||||
      <base-dialog
 | 
			
		||||
      <!-- <base-dialog
 | 
			
		||||
        :dialogTitle="searchsTitle"
 | 
			
		||||
        :dialogVisible="searchsVisible"
 | 
			
		||||
        @cancel="searchsCancel"
 | 
			
		||||
@@ -36,7 +32,7 @@
 | 
			
		||||
        :before-close="searchsCancel"
 | 
			
		||||
      >
 | 
			
		||||
        <searchs ref="searchsRef" @refreshDataList="searchsSubmit"></searchs>
 | 
			
		||||
      </base-dialog>
 | 
			
		||||
      </base-dialog> -->
 | 
			
		||||
      <!-- 弹窗, 新增 / 修改 -->
 | 
			
		||||
      <base-dialog
 | 
			
		||||
        :dialogTitle="addOrEditTitle"
 | 
			
		||||
@@ -44,7 +40,7 @@
 | 
			
		||||
        @cancel="handleCancel"
 | 
			
		||||
        @confirm="handleConfirm"
 | 
			
		||||
        :before-close="handleCancel"
 | 
			
		||||
        width=80%
 | 
			
		||||
        width="80%"
 | 
			
		||||
      >
 | 
			
		||||
        <add-or-update ref="addOrUpdate" @refreshDataList="successSubmit"></add-or-update>
 | 
			
		||||
      </base-dialog>
 | 
			
		||||
@@ -54,7 +50,8 @@
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import AddOrUpdate from "./components/eightDisciplineList-detail";
 | 
			
		||||
import Searchs from "./components/searchs";
 | 
			
		||||
// import Searchs from "./components/searchs";
 | 
			
		||||
import processStatus from "./components/processStatus"
 | 
			
		||||
import basicPage from "@/mixins/basic-page";
 | 
			
		||||
import codeFilter from "@/filters/code-filter";
 | 
			
		||||
import { timeFormatter } from "@/filters/code-filter";
 | 
			
		||||
@@ -85,42 +82,58 @@ const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: "D1",
 | 
			
		||||
    label: "D1",
 | 
			
		||||
    num: 1,
 | 
			
		||||
    align: "center",
 | 
			
		||||
    subcomponent: processStatus,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "D2",
 | 
			
		||||
    label: "D2",
 | 
			
		||||
    num: 2,
 | 
			
		||||
    align: "center",
 | 
			
		||||
    subcomponent: processStatus,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "D3",
 | 
			
		||||
    label: "D3",
 | 
			
		||||
    num: 3,
 | 
			
		||||
    align: "center",
 | 
			
		||||
    subcomponent: processStatus,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "D4",
 | 
			
		||||
    label: "D4",
 | 
			
		||||
    num: 4,
 | 
			
		||||
    align: "center",
 | 
			
		||||
    subcomponent: processStatus,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "D5",
 | 
			
		||||
    label: "D5",
 | 
			
		||||
    num: 5,
 | 
			
		||||
    align: "center",
 | 
			
		||||
    subcomponent: processStatus,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "D6",
 | 
			
		||||
    label: "D6",
 | 
			
		||||
    num: 6,
 | 
			
		||||
    align: "center",
 | 
			
		||||
    subcomponent: processStatus,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "D7",
 | 
			
		||||
    label: "D7",
 | 
			
		||||
    num: 7,
 | 
			
		||||
    align: "center",
 | 
			
		||||
    subcomponent: processStatus,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "D8",
 | 
			
		||||
    label: "D8",
 | 
			
		||||
    num: 8,
 | 
			
		||||
    align: "center",
 | 
			
		||||
    subcomponent: processStatus,
 | 
			
		||||
  },
 | 
			
		||||
];
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
@@ -130,6 +143,44 @@ const tableBtn = [
 | 
			
		||||
  },
 | 
			
		||||
];
 | 
			
		||||
 | 
			
		||||
const eightDisciplineStatusArr = [
 | 
			
		||||
  {
 | 
			
		||||
    name: "D0",
 | 
			
		||||
    id: 0,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "D1",
 | 
			
		||||
    id: 1,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "D2",
 | 
			
		||||
    id: 2,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "D3",
 | 
			
		||||
    id: 3,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "D4",
 | 
			
		||||
    id: 4,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "D5",
 | 
			
		||||
    id: 5,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "D6",
 | 
			
		||||
    id: 6,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "D7",
 | 
			
		||||
    id: 7,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "D8",
 | 
			
		||||
    id: 8,
 | 
			
		||||
  },
 | 
			
		||||
];
 | 
			
		||||
export default {
 | 
			
		||||
  mixins: [basicPage],
 | 
			
		||||
  data() {
 | 
			
		||||
@@ -140,8 +191,52 @@ export default {
 | 
			
		||||
      },
 | 
			
		||||
      tableProps,
 | 
			
		||||
      tableBtn,
 | 
			
		||||
      eightDisciplineStatusArr,
 | 
			
		||||
      tableData: [],
 | 
			
		||||
      optionArrUrl: ["/basic/qmsCustomer/page", "/basic/qmsProduct/page"],
 | 
			
		||||
      formConfig: [
 | 
			
		||||
        {
 | 
			
		||||
          type: "input",
 | 
			
		||||
          label: i18n.t("code.title"),
 | 
			
		||||
          placeholder: i18n.t("code.title"),
 | 
			
		||||
          param: "title",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "select",
 | 
			
		||||
          label: "客户",
 | 
			
		||||
          selectOptions: [],
 | 
			
		||||
          param: "customId",
 | 
			
		||||
          defaultSelect: "",
 | 
			
		||||
          labelField: "customerName",
 | 
			
		||||
          filterable: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "select",
 | 
			
		||||
          label: "产品",
 | 
			
		||||
          selectOptions: [],
 | 
			
		||||
          param: "productId",
 | 
			
		||||
          defaultSelect: "",
 | 
			
		||||
          labelField: "productName",
 | 
			
		||||
          filterable: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "select",
 | 
			
		||||
          label: "步骤",
 | 
			
		||||
          selectOptions: eightDisciplineStatusArr,
 | 
			
		||||
          param: "eightDisciplineStatus",
 | 
			
		||||
          defaultSelect: "",
 | 
			
		||||
          filterable: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "datePicker",
 | 
			
		||||
          label: "日期",
 | 
			
		||||
          dateType: "date",
 | 
			
		||||
          format: "yyyy-MM-dd",
 | 
			
		||||
          valueFormat: "yyyy-MM-ddTHH:mm:ss",
 | 
			
		||||
          placeholder: "日期",
 | 
			
		||||
          param: "occurrenceDate",
 | 
			
		||||
          width: 170,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
@@ -153,9 +248,31 @@ export default {
 | 
			
		||||
  },
 | 
			
		||||
  components: {
 | 
			
		||||
    AddOrUpdate,
 | 
			
		||||
    Searchs,
 | 
			
		||||
    processStatus,
 | 
			
		||||
    // Searchs,
 | 
			
		||||
  },
 | 
			
		||||
  created() {
 | 
			
		||||
    this.getArr();
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    getArr() {
 | 
			
		||||
      this.optionArrUrl.forEach((item, index) => {
 | 
			
		||||
        this.$http
 | 
			
		||||
          .get(item, {
 | 
			
		||||
            params: {
 | 
			
		||||
              page: 1,
 | 
			
		||||
              limit: 500,
 | 
			
		||||
            },
 | 
			
		||||
          })
 | 
			
		||||
          .then(({ data: res }) => {
 | 
			
		||||
            if (res.code !== 0) {
 | 
			
		||||
              return this.$message.error(res.msg);
 | 
			
		||||
            }
 | 
			
		||||
            this.formConfig[index + 1].selectOptions = res.data.list;
 | 
			
		||||
          })
 | 
			
		||||
          .catch(() => {});
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    // 获取数据列表
 | 
			
		||||
    getDataList() {
 | 
			
		||||
      this.dataListLoading = true;
 | 
			
		||||
@@ -183,15 +300,15 @@ export default {
 | 
			
		||||
    buttonClick(val) {
 | 
			
		||||
      switch (val.btnName) {
 | 
			
		||||
        case "search":
 | 
			
		||||
          this.listQuery = {};
 | 
			
		||||
          this.listQuery.page = 1;
 | 
			
		||||
          this.listQuery.limit = 10;
 | 
			
		||||
          this.listQuery.total = 1;
 | 
			
		||||
          this.listQuery.title = val.title;
 | 
			
		||||
          this.listQuery.eightDisciplineStatus = val.eightDisciplineStatus;
 | 
			
		||||
          this.listQuery.customId = val.customId;
 | 
			
		||||
          this.listQuery.productId = val.productId;
 | 
			
		||||
          this.listQuery.occurrenceDate = val.occurrenceDate;
 | 
			
		||||
          this.getDataList();
 | 
			
		||||
          break;
 | 
			
		||||
        case "export":
 | 
			
		||||
          this.exportHandle("工厂管理");
 | 
			
		||||
          break;
 | 
			
		||||
        default:
 | 
			
		||||
          console.log(val);
 | 
			
		||||
      }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,11 +1,12 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <el-card shadow="never" class="aui-card--fill">
 | 
			
		||||
    <div class="mod-sys__user">
 | 
			
		||||
      <search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick">
 | 
			
		||||
        <el-badge :value="5" class="item">
 | 
			
		||||
          <el-button type="primary" size="small" @click="searchsClick">条件搜索</el-button>
 | 
			
		||||
        </el-badge>
 | 
			
		||||
      </search-bar>
 | 
			
		||||
      <search-bar
 | 
			
		||||
        :isFold="true"
 | 
			
		||||
        :formConfigs="formConfig"
 | 
			
		||||
        ref="searchBarForm"
 | 
			
		||||
        @headBtnClick="buttonClick"
 | 
			
		||||
      />
 | 
			
		||||
      <base-table
 | 
			
		||||
        :table-props="tableProps"
 | 
			
		||||
        :page="listQuery.page"
 | 
			
		||||
@@ -28,7 +29,7 @@
 | 
			
		||||
        @pagination="getDataList"
 | 
			
		||||
      />
 | 
			
		||||
      <!-- 弹窗, 条件搜索-->
 | 
			
		||||
      <base-dialog
 | 
			
		||||
      <!-- <base-dialog
 | 
			
		||||
        :dialogTitle="searchsTitle"
 | 
			
		||||
        :dialogVisible="searchsVisible"
 | 
			
		||||
        @cancel="searchsCancel"
 | 
			
		||||
@@ -36,7 +37,7 @@
 | 
			
		||||
        :before-close="searchsCancel"
 | 
			
		||||
      >
 | 
			
		||||
        <searchs ref="searchsRef" :show-obj=showObj @refreshDataList="searchsSubmit"></searchs>
 | 
			
		||||
      </base-dialog>
 | 
			
		||||
      </base-dialog> -->
 | 
			
		||||
      <!-- 弹窗, 新增 / 修改 -->
 | 
			
		||||
      <base-dialog
 | 
			
		||||
        :dialogTitle="addOrEditTitle"
 | 
			
		||||
@@ -44,7 +45,7 @@
 | 
			
		||||
        @cancel="handleCancel"
 | 
			
		||||
        @confirm="handleConfirm"
 | 
			
		||||
        :before-close="handleCancel"
 | 
			
		||||
        width=80%
 | 
			
		||||
        width="80%"
 | 
			
		||||
      >
 | 
			
		||||
        <add-or-update ref="addOrUpdate" @refreshDataList="successSubmit"></add-or-update>
 | 
			
		||||
      </base-dialog>
 | 
			
		||||
@@ -54,7 +55,7 @@
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import AddOrUpdate from "./components/eightDisciplineList-detail";
 | 
			
		||||
import Searchs from "./components/searchs";
 | 
			
		||||
// import Searchs from "./components/searchs";
 | 
			
		||||
import basicPage from "@/mixins/basic-page";
 | 
			
		||||
import codeFilter from "@/filters/code-filter";
 | 
			
		||||
import { timeFormatter } from "@/filters/code-filter";
 | 
			
		||||
@@ -87,11 +88,11 @@ const tableProps = [
 | 
			
		||||
    label: i18n.t("code.description"),
 | 
			
		||||
    align: "center",
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "userName",
 | 
			
		||||
    label: "启动人",
 | 
			
		||||
    align: "center",
 | 
			
		||||
  },
 | 
			
		||||
  // {
 | 
			
		||||
  //   prop: "userName",
 | 
			
		||||
  //   label: "启动人",
 | 
			
		||||
  //   align: "center",
 | 
			
		||||
  // },
 | 
			
		||||
];
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
@@ -100,6 +101,62 @@ const tableBtn = [
 | 
			
		||||
  },
 | 
			
		||||
];
 | 
			
		||||
 | 
			
		||||
const eightDisciplineStatusArr = [
 | 
			
		||||
  {
 | 
			
		||||
    name: "D0",
 | 
			
		||||
    id: 0,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "D1",
 | 
			
		||||
    id: 1,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "D2",
 | 
			
		||||
    id: 2,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "D3",
 | 
			
		||||
    id: 3,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "D4",
 | 
			
		||||
    id: 4,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "D5",
 | 
			
		||||
    id: 5,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "D6",
 | 
			
		||||
    id: 6,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "D7",
 | 
			
		||||
    id: 7,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "D8",
 | 
			
		||||
    id: 8,
 | 
			
		||||
  },
 | 
			
		||||
];
 | 
			
		||||
const roleArr = [
 | 
			
		||||
  {
 | 
			
		||||
    name: "启动人",
 | 
			
		||||
    id: 1,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "分析人",
 | 
			
		||||
    id: 2,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "负责人",
 | 
			
		||||
    id: 3,
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    name: "处理人",
 | 
			
		||||
    id: 4,
 | 
			
		||||
  },
 | 
			
		||||
];
 | 
			
		||||
export default {
 | 
			
		||||
  mixins: [basicPage],
 | 
			
		||||
  data() {
 | 
			
		||||
@@ -109,11 +166,65 @@ export default {
 | 
			
		||||
      },
 | 
			
		||||
      tableProps,
 | 
			
		||||
      tableBtn,
 | 
			
		||||
      eightDisciplineStatusArr,
 | 
			
		||||
      roleArr,
 | 
			
		||||
      tableData: [],
 | 
			
		||||
      showObj: {
 | 
			
		||||
          role: true
 | 
			
		||||
      },
 | 
			
		||||
      optionArrUrl: ["/basic/qmsCustomer/page", "/basic/qmsProduct/page"],
 | 
			
		||||
      // showObj: {
 | 
			
		||||
      //     role: true
 | 
			
		||||
      // },
 | 
			
		||||
 | 
			
		||||
      formConfig: [
 | 
			
		||||
        {
 | 
			
		||||
          type: "input",
 | 
			
		||||
          label: i18n.t("code.title"),
 | 
			
		||||
          placeholder: i18n.t("code.title"),
 | 
			
		||||
          param: "title",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "select",
 | 
			
		||||
          label: "客户",
 | 
			
		||||
          selectOptions: [],
 | 
			
		||||
          param: "customId",
 | 
			
		||||
          defaultSelect: "",
 | 
			
		||||
          labelField: "customerName",
 | 
			
		||||
          filterable: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "select",
 | 
			
		||||
          label: "产品",
 | 
			
		||||
          selectOptions: [],
 | 
			
		||||
          param: "productId",
 | 
			
		||||
          defaultSelect: "",
 | 
			
		||||
          labelField: "productName",
 | 
			
		||||
          filterable: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "select",
 | 
			
		||||
          label: "步骤",
 | 
			
		||||
          selectOptions: eightDisciplineStatusArr,
 | 
			
		||||
          param: "eightDisciplineStatus",
 | 
			
		||||
          defaultSelect: "",
 | 
			
		||||
          filterable: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "select",
 | 
			
		||||
          label: "角色",
 | 
			
		||||
          selectOptions: roleArr,
 | 
			
		||||
          param: "role",
 | 
			
		||||
          defaultSelect: "",
 | 
			
		||||
          filterable: true,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "datePicker",
 | 
			
		||||
          label: "日期",
 | 
			
		||||
          dateType: "date",
 | 
			
		||||
          format: "yyyy-MM-dd",
 | 
			
		||||
          valueFormat: "yyyy-MM-ddTHH:mm:ss",
 | 
			
		||||
          placeholder: "日期",
 | 
			
		||||
          param: "occurrenceDate",
 | 
			
		||||
          width: 170,
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
@@ -125,9 +236,30 @@ export default {
 | 
			
		||||
  },
 | 
			
		||||
  components: {
 | 
			
		||||
    AddOrUpdate,
 | 
			
		||||
    Searchs,
 | 
			
		||||
    // Searchs,
 | 
			
		||||
  },
 | 
			
		||||
  created() {
 | 
			
		||||
    this.getArr();
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    getArr() {
 | 
			
		||||
      this.optionArrUrl.forEach((item, index) => {
 | 
			
		||||
        this.$http
 | 
			
		||||
          .get(item, {
 | 
			
		||||
            params: {
 | 
			
		||||
              page: 1,
 | 
			
		||||
              limit: 500,
 | 
			
		||||
            },
 | 
			
		||||
          })
 | 
			
		||||
          .then(({ data: res }) => {
 | 
			
		||||
            if (res.code !== 0) {
 | 
			
		||||
              return this.$message.error(res.msg);
 | 
			
		||||
            }
 | 
			
		||||
            this.formConfig[index + 1].selectOptions = res.data.list;
 | 
			
		||||
          })
 | 
			
		||||
          .catch(() => {});
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    // 获取数据列表
 | 
			
		||||
    getDataList() {
 | 
			
		||||
      this.dataListLoading = true;
 | 
			
		||||
@@ -155,15 +287,16 @@ export default {
 | 
			
		||||
    buttonClick(val) {
 | 
			
		||||
      switch (val.btnName) {
 | 
			
		||||
        case "search":
 | 
			
		||||
          this.listQuery = {};
 | 
			
		||||
          this.listQuery.page = 1;
 | 
			
		||||
          this.listQuery.limit = 10;
 | 
			
		||||
          this.listQuery.total = 1;
 | 
			
		||||
          this.listQuery.title = val.title;
 | 
			
		||||
          this.listQuery.eightDisciplineStatus = val.eightDisciplineStatus;
 | 
			
		||||
          this.listQuery.customId = val.customId;
 | 
			
		||||
          this.listQuery.productId = val.productId;
 | 
			
		||||
          this.listQuery.occurrenceDate = val.occurrenceDate;
 | 
			
		||||
          this.listQuery.role = val.role;
 | 
			
		||||
          this.getDataList();
 | 
			
		||||
          break;
 | 
			
		||||
        case "export":
 | 
			
		||||
          this.exportHandle("工厂管理");
 | 
			
		||||
          break;
 | 
			
		||||
        default:
 | 
			
		||||
          console.log(val);
 | 
			
		||||
      }
 | 
			
		||||
 
 | 
			
		||||
@@ -74,7 +74,7 @@
 | 
			
		||||
            label: "日期",
 | 
			
		||||
            dateType: "daterange",
 | 
			
		||||
            format: "yyyy-MM-dd",
 | 
			
		||||
            valueFormat: "yyyy-MM-ddTHH:mm:ss",
 | 
			
		||||
            valueFormat: "yyyy-MM-dd",
 | 
			
		||||
            rangeSeparator: "-",
 | 
			
		||||
            startPlaceholder: "开始时间",
 | 
			
		||||
            endPlaceholder: "结束时间",
 | 
			
		||||
 
 | 
			
		||||
@@ -2,15 +2,15 @@
 | 
			
		||||
 * @Author: zwq
 | 
			
		||||
 * @Date: 2023-07-03 15:21:14
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @LastEditTime: 2023-07-04 08:53:10
 | 
			
		||||
 * @LastEditTime: 2023-07-14 16:50:39
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <el-card shadow="never" class="aui-card--fill">
 | 
			
		||||
    <div class="mod-sys__user">
 | 
			
		||||
      <search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
 | 
			
		||||
      <div style="height:20px;width:100%"></div>
 | 
			
		||||
      <el-row :gutter="4" style="margin-top:20px">
 | 
			
		||||
      <div style="height: 20px; width: 100%"></div>
 | 
			
		||||
      <el-row :gutter="4" style="margin-top: 20px">
 | 
			
		||||
        <el-col :span="12" v-if="pieVisible">
 | 
			
		||||
          <pie-chart
 | 
			
		||||
            v-loading="pieLoading"
 | 
			
		||||
@@ -72,7 +72,7 @@ export default {
 | 
			
		||||
          label: "日期",
 | 
			
		||||
          dateType: "daterange",
 | 
			
		||||
          format: "yyyy-MM-dd",
 | 
			
		||||
          valueFormat: "yyyy-MM-ddTHH:mm:ss",
 | 
			
		||||
          valueFormat: "yyyy-MM-dd",
 | 
			
		||||
          rangeSeparator: "-",
 | 
			
		||||
          startPlaceholder: "开始时间",
 | 
			
		||||
          endPlaceholder: "结束时间",
 | 
			
		||||
@@ -179,8 +179,8 @@ export default {
 | 
			
		||||
<style lang="scss">
 | 
			
		||||
.mod-sys__user {
 | 
			
		||||
  > .el-row {
 | 
			
		||||
        display:flex;
 | 
			
		||||
        flex-wrap: wrap; 
 | 
			
		||||
    display: flex;
 | 
			
		||||
    flex-wrap: wrap;
 | 
			
		||||
    .el-col {
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-12 15:06:16
 | 
			
		||||
 * @LastEditTime: 2023-07-17 16:27:18
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -73,66 +73,66 @@ export default {
 | 
			
		||||
        page: 1
 | 
			
		||||
      },
 | 
			
		||||
      options: [{
 | 
			
		||||
        value: 0,
 | 
			
		||||
        value: '0',
 | 
			
		||||
        label: '监控'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        value: 1,
 | 
			
		||||
        value: '1',
 | 
			
		||||
        label: '电芯来料检验'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        value: 2,
 | 
			
		||||
        value: '2',
 | 
			
		||||
        label: 'IQC抽检'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        value: 3,
 | 
			
		||||
        value: '3',
 | 
			
		||||
        label: 'IQC抽检2'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        value: 4,
 | 
			
		||||
        value: '4',
 | 
			
		||||
        label: '原料抽检'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        value: 5,
 | 
			
		||||
        value: '5',
 | 
			
		||||
        label: '进货外观检验'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        value: 6,
 | 
			
		||||
        value: '6',
 | 
			
		||||
        label: '库内原料检验'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        value: 7,
 | 
			
		||||
        value: '7',
 | 
			
		||||
        label: '来料检验'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        value: 8,
 | 
			
		||||
        value: '8',
 | 
			
		||||
        label: '胶片'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        value: 9,
 | 
			
		||||
        value: '9',
 | 
			
		||||
        label: '抽检'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        value: 10,
 | 
			
		||||
        value: '10',
 | 
			
		||||
        label: '巡检'
 | 
			
		||||
      }, {
 | 
			
		||||
        value: 11,
 | 
			
		||||
        value: '11',
 | 
			
		||||
        label: '首检'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        value: 12,
 | 
			
		||||
        value: '12',
 | 
			
		||||
        label: '末检'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        value: 13,
 | 
			
		||||
        value: '13',
 | 
			
		||||
        label: '实时监测'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        value: 14,
 | 
			
		||||
        value: '14',
 | 
			
		||||
        label: 'FQC抽检'
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        value: 15,
 | 
			
		||||
        value: '15',
 | 
			
		||||
        label: 'OQC抽检'
 | 
			
		||||
      },
 | 
			
		||||
      ],
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-07-12 14:57:28
 | 
			
		||||
 * @LastEditTime: 2023-07-17 16:27:53
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -116,59 +116,59 @@ export default {
 | 
			
		||||
          param: 'inspectionTypeId',
 | 
			
		||||
          selectOptions: [
 | 
			
		||||
            {
 | 
			
		||||
              id: 0,
 | 
			
		||||
              id: '0',
 | 
			
		||||
              name: '监控'
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              id: 1,
 | 
			
		||||
              id: '1',
 | 
			
		||||
              name: '电芯来料检验'
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              id: 2,
 | 
			
		||||
              id: '2',
 | 
			
		||||
              name: 'IQC抽检'
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              id: 3,
 | 
			
		||||
              id: '3',
 | 
			
		||||
              name: 'IQC抽检2'
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              id: 4,
 | 
			
		||||
              id: '4',
 | 
			
		||||
              name: '原料抽检'
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              id: 5,
 | 
			
		||||
              id: '5',
 | 
			
		||||
              name: '进货外观检验'
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              id: 6,
 | 
			
		||||
              id: '6',
 | 
			
		||||
              name: '库内原料检验'
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              id: 7,
 | 
			
		||||
              id: '7',
 | 
			
		||||
              name: '来料检验'
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              id: 8,
 | 
			
		||||
              id: '8',
 | 
			
		||||
              name: '胶片'
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              id: 9,
 | 
			
		||||
              id: '9',
 | 
			
		||||
              name: '抽检'
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              id: 10,
 | 
			
		||||
              id: '10',
 | 
			
		||||
              name: '巡检'
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              id: 11,
 | 
			
		||||
              id: '11',
 | 
			
		||||
              name: '首检'
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              id: 12,
 | 
			
		||||
              id: '12',
 | 
			
		||||
              name: '末检'
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              id: 13,
 | 
			
		||||
              id: '13',
 | 
			
		||||
              name: '实时监测'
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-07-14 09:53:37
 | 
			
		||||
 * @LastEditTime: 2023-07-18 15:22:30
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -117,12 +117,6 @@ export default {
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: i18n.t('export'),
 | 
			
		||||
          name: "export",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: i18n.t('search'),
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-07-14 09:53:46
 | 
			
		||||
 * @LastEditTime: 2023-07-18 15:22:25
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -113,12 +113,6 @@ export default {
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: i18n.t('export'),
 | 
			
		||||
          name: "export",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: i18n.t('search'),
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-01-11 09:24:58
 | 
			
		||||
 * @LastEditTime: 2023-06-20 15:34:33
 | 
			
		||||
 * @LastEditTime: 2023-07-18 15:22:19
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -112,12 +112,6 @@ export default {
 | 
			
		||||
          name: "add",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: i18n.t('export'),
 | 
			
		||||
          name: "export",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: i18n.t('search'),
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										264
									
								
								src/views/modules/quality/characteristics.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										264
									
								
								src/views/modules/quality/characteristics.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,264 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-07-18 10:25:03
 | 
			
		||||
 * @LastEditTime: 2023-07-18 11:23:59
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <el-card shadow="never" class="aui-card--fill">
 | 
			
		||||
    <div class="mod-sys__user">
 | 
			
		||||
      <SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
 | 
			
		||||
      </SearchBar>
 | 
			
		||||
      <base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1"
 | 
			
		||||
      :limit="listQuery.limit" :table-data="tableData">
 | 
			
		||||
        <method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
 | 
			
		||||
          @clickBtn="handleClick" />
 | 
			
		||||
      </base-table>
 | 
			
		||||
      <pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
 | 
			
		||||
        @pagination="getDataList" />
 | 
			
		||||
      <!-- 弹窗, 新增 / 修改 -->
 | 
			
		||||
      <base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
 | 
			
		||||
        @confirm="handleConfirm" :before-close="handleCancel">
 | 
			
		||||
        <!-- <product-add ref="addOrUpdate" @refreshDataList="successSubmit"></product-add> -->
 | 
			
		||||
        <!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
 | 
			
		||||
      </base-dialog>
 | 
			
		||||
      <characterShow ref="characterShowList" v-if="characterShowList" @refreshDataList="getDataList">
 | 
			
		||||
      </characterShow>
 | 
			
		||||
      <!-- <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
 | 
			
		||||
        @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
 | 
			
		||||
        <product-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit"></product-search>
 | 
			
		||||
        <el-row slot="footer" type="flex" justify="end">
 | 
			
		||||
          <el-col :span="12">
 | 
			
		||||
            <el-button size="small" type="primary" plain class="btnTextStyle" @click="handleSearchCancel">
 | 
			
		||||
              {{ $t("close") }}
 | 
			
		||||
            </el-button>
 | 
			
		||||
            <el-button size="small" class="btnTextStyle" type="primary" plain @click="handleSearchReset">{{ $t("reset")
 | 
			
		||||
              }}</el-button>
 | 
			
		||||
            <el-button type="primary" size="small" class="btnTextStyle" @click="handleSearchConfirm">
 | 
			
		||||
              {{ $t("search") }}
 | 
			
		||||
            </el-button>
 | 
			
		||||
          </el-col>
 | 
			
		||||
        </el-row>
 | 
			
		||||
      </base-dialog> -->
 | 
			
		||||
    </div>
 | 
			
		||||
  </el-card>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import basicPage from "@/mixins/basic-page";
 | 
			
		||||
// import basicSearch from "@/mixins/basic-search";
 | 
			
		||||
// import productSearch from "./components/productSearch.vue";
 | 
			
		||||
// import productAdd from "./components/product-add.vue";
 | 
			
		||||
import isHave from "./components/isHave.vue";
 | 
			
		||||
import characterShow from "./components/character-show.vue";
 | 
			
		||||
 | 
			
		||||
// import radio from "./components/radio.vue";
 | 
			
		||||
import i18n from "@/i18n";
 | 
			
		||||
// import i18n from "@/i18n";
 | 
			
		||||
const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: "productCode",
 | 
			
		||||
    label: i18n.t('basic.code'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "productName",
 | 
			
		||||
    label: i18n.t('basic.name'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "productSpecs",
 | 
			
		||||
    label: i18n.t('basic.specification'),
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "productTypeName",
 | 
			
		||||
    label: i18n.t('basic.productTypeName'),
 | 
			
		||||
  },
 | 
			
		||||
  // {
 | 
			
		||||
  //   prop: "detail",
 | 
			
		||||
  //   label: i18n.t('basic.InspectionStage'),
 | 
			
		||||
  //   subcomponent: radio,
 | 
			
		||||
  // },
 | 
			
		||||
  {
 | 
			
		||||
    prop: "inspectionPlan",
 | 
			
		||||
    label: i18n.t('quality.inspectionPlan'),
 | 
			
		||||
    subcomponent: isHave,
 | 
			
		||||
  },
 | 
			
		||||
];
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
    type: "characteristics",
 | 
			
		||||
    btnName: i18n.t('code.characteristics'),
 | 
			
		||||
  }
 | 
			
		||||
];
 | 
			
		||||
export default {
 | 
			
		||||
  mixins: [basicPage],
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      urlOptions: {
 | 
			
		||||
        getDataListURL: "/basic/qmsProduct/page",
 | 
			
		||||
        deleteURL: "/basic/qmsProduct",
 | 
			
		||||
        exportURL: '/basic/qmsProduct/export',
 | 
			
		||||
        getProductTypeURL: '/basic/qmsProductType/page'
 | 
			
		||||
      },
 | 
			
		||||
      tableProps,
 | 
			
		||||
      tableBtn,
 | 
			
		||||
      productData: {},
 | 
			
		||||
      characterShowList:false,
 | 
			
		||||
      searchOrEditTitle: "",
 | 
			
		||||
      searchOrUpdateVisible: false,
 | 
			
		||||
      productOrEditTitle: "",
 | 
			
		||||
      addOrEditTitle: '',
 | 
			
		||||
      addOrUpdateVisible: false,
 | 
			
		||||
      productOrUpdateVisible: false,
 | 
			
		||||
      formConfig: [
 | 
			
		||||
        {
 | 
			
		||||
          type: 'input',
 | 
			
		||||
          label: i18n.t('basic.productCode'),
 | 
			
		||||
          placeholder: i18n.t('basic.productCode'),
 | 
			
		||||
          param: 'productName',
 | 
			
		||||
          clearable: true
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: 'input',
 | 
			
		||||
          label: i18n.t('basic.productName'),
 | 
			
		||||
          placeholder: i18n.t('basic.productName'),
 | 
			
		||||
          param: 'productCode',
 | 
			
		||||
          clearable: true
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: 'input',
 | 
			
		||||
          label: i18n.t('basic.specification'),
 | 
			
		||||
          placeholder: i18n.t('basic.specification'),
 | 
			
		||||
          param: 'productSpecs',
 | 
			
		||||
          clearable: true
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: 'select',
 | 
			
		||||
          label: i18n.t('code.inspectionPlan'),
 | 
			
		||||
          placeholder: i18n.t('code.inspectionPlan'),
 | 
			
		||||
          param: 'inspectionPlan',
 | 
			
		||||
          selectOptions: [
 | 
			
		||||
            {
 | 
			
		||||
              id: '0',
 | 
			
		||||
              name: '没有'
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              id: '1',
 | 
			
		||||
              name: '有'
 | 
			
		||||
            },
 | 
			
		||||
          ],
 | 
			
		||||
          clearable: true,
 | 
			
		||||
          filterable: true
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: 'select',
 | 
			
		||||
          label: i18n.t('code.productType'),
 | 
			
		||||
          placeholder: i18n.t('code.productType'),
 | 
			
		||||
          param: 'productTypeId',
 | 
			
		||||
          selectOptions: [],
 | 
			
		||||
          clearable: true,
 | 
			
		||||
          filterable: true
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: "button",
 | 
			
		||||
          btnName: "搜索",
 | 
			
		||||
          name: "search",
 | 
			
		||||
          color: "primary",
 | 
			
		||||
          // plain: true,
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
  components: {
 | 
			
		||||
    // productAdd
 | 
			
		||||
    characterShow
 | 
			
		||||
  },
 | 
			
		||||
  mounted () {
 | 
			
		||||
    this.getDict()
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    //search-bar点击
 | 
			
		||||
    handleProductCancel() {
 | 
			
		||||
      this.productOrUpdateVisible = false;
 | 
			
		||||
      this.productOrEditTitle = "";
 | 
			
		||||
    },
 | 
			
		||||
    setCurrent(index) {
 | 
			
		||||
      this.$refs.palletTable1.setCurrent("palletTable", index);
 | 
			
		||||
    },
 | 
			
		||||
    // handleSearchCancel() {
 | 
			
		||||
    //   this.searchOrEditTitle = "";
 | 
			
		||||
    //   this.searchOrUpdateVisible = false;
 | 
			
		||||
    // },
 | 
			
		||||
    conditionSearch() {
 | 
			
		||||
      this.searchOrEditTitle = "搜索";
 | 
			
		||||
      this.searchOrUpdateVisible = true;
 | 
			
		||||
      this.$nextTick(() => {
 | 
			
		||||
        this.$refs.searchOrUpdate.init()
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    // handleConfirm() {
 | 
			
		||||
    //   this.$refs.addOrUpdate.dataFormSubmitHandle();
 | 
			
		||||
    // },
 | 
			
		||||
    // conditionSearchSubmit() {},
 | 
			
		||||
    // conditionSearchSubmit(dataForm) {
 | 
			
		||||
    //   // console.log(key);
 | 
			
		||||
    //   // console.log(key);
 | 
			
		||||
    //   this.listQuery.productName = dataForm.productName
 | 
			
		||||
    //   this.listQuery.productCode = dataForm.productCode
 | 
			
		||||
    //   this.listQuery.page = 1;
 | 
			
		||||
    //   this.getDataList()
 | 
			
		||||
    //   this.searchOrUpdateVisible = false;
 | 
			
		||||
    //   // console.log(11111);
 | 
			
		||||
    //   // this.conditionSearchSubmit();
 | 
			
		||||
    // },
 | 
			
		||||
    handleClick(val) {
 | 
			
		||||
     if (val.type === 'characteristics') {
 | 
			
		||||
       this.characterShowList = true
 | 
			
		||||
        this.$nextTick(() => {
 | 
			
		||||
          this.$refs.characterShowList.init(val.data.id)
 | 
			
		||||
        })
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    getDict() {
 | 
			
		||||
      this.$http
 | 
			
		||||
        .get(this.urlOptions.getProductTypeURL, {
 | 
			
		||||
          params: this.listQuery,
 | 
			
		||||
        })
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          if (res.code == 0) {
 | 
			
		||||
            this.formConfig[4].selectOptions = res.data.list.map((item) => {
 | 
			
		||||
              return {
 | 
			
		||||
                id:item.id,
 | 
			
		||||
                name: item.productTypeName,
 | 
			
		||||
              }
 | 
			
		||||
            })
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
    },
 | 
			
		||||
    buttonClick(val) {
 | 
			
		||||
      console.log(val);
 | 
			
		||||
      switch (val.btnName) {
 | 
			
		||||
        case "search":
 | 
			
		||||
          // this.listQuery.paramCode = val.paramCode;
 | 
			
		||||
          this.listQuery.productName = val.productName ? val.productName : null
 | 
			
		||||
          this.listQuery.productCode = val.productCode ? val.productCode : null
 | 
			
		||||
          this.listQuery.productTypeId = val.productTypeId ? val.productTypeId : null
 | 
			
		||||
          this.listQuery.productSpecs = val.productSpecs ? val.productSpecs : null
 | 
			
		||||
          this.listQuery.inspectionPlan = val.inspectionPlan ? val.inspectionPlan : null
 | 
			
		||||
 | 
			
		||||
          // console.log(i18n);
 | 
			
		||||
          this.listQuery.page = 1;
 | 
			
		||||
          this.getDataList();
 | 
			
		||||
          break;
 | 
			
		||||
        case "add":
 | 
			
		||||
          this.addOrEditTitle = '新增'
 | 
			
		||||
          this.addOrUpdateVisible = true
 | 
			
		||||
          this.addOrUpdateHandle()
 | 
			
		||||
          break;
 | 
			
		||||
        default:
 | 
			
		||||
          console.log(val);
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
</script>
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zhp
 | 
			
		||||
 * @Date: 2023-02-14 15:02:26
 | 
			
		||||
 * @LastEditTime: 2023-07-12 14:39:06
 | 
			
		||||
 * @LastEditTime: 2023-07-19 15:53:12
 | 
			
		||||
 * @LastEditors: zhp
 | 
			
		||||
 * @Description: 
 | 
			
		||||
-->
 | 
			
		||||
@@ -37,7 +37,8 @@ export default {
 | 
			
		||||
    return {
 | 
			
		||||
      urlOptions: {
 | 
			
		||||
        submitURL: "/quality/qmsInspectionPosition",
 | 
			
		||||
        infoURL: "/quality/qmsInspectionPosition"
 | 
			
		||||
        infoURL: "/quality/qmsInspectionPosition",
 | 
			
		||||
        getCodeURL: '/quality/qmsInspectionPosition/getCode'
 | 
			
		||||
      },
 | 
			
		||||
      options: [{
 | 
			
		||||
        value: 0,
 | 
			
		||||
@@ -94,21 +95,21 @@ export default {
 | 
			
		||||
        if (this.dataForm.id) {
 | 
			
		||||
          this.getInfo()
 | 
			
		||||
        } else {
 | 
			
		||||
          // this.getCode()
 | 
			
		||||
          this.getCode()
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
    },
 | 
			
		||||
    // getCode() {
 | 
			
		||||
    //   this.$http.post(this.urlOptions.getCodeURL)
 | 
			
		||||
    //     .then(({ data: res }) => {
 | 
			
		||||
    //       if (res.code === 0) {
 | 
			
		||||
    //         console.log(res);
 | 
			
		||||
    //         this.dataForm.customSamplingCode = res.data
 | 
			
		||||
    //       }
 | 
			
		||||
    //     })
 | 
			
		||||
    //     .catch(() => {
 | 
			
		||||
    //     });
 | 
			
		||||
    // },
 | 
			
		||||
    getCode() {
 | 
			
		||||
      this.$http.post(this.urlOptions.getCodeURL)
 | 
			
		||||
        .then(({ data: res }) => {
 | 
			
		||||
          if (res.code === 0) {
 | 
			
		||||
            console.log(res);
 | 
			
		||||
            this.dataForm.inspectionPositionCode = res.data
 | 
			
		||||
          }
 | 
			
		||||
        })
 | 
			
		||||
        .catch(() => {
 | 
			
		||||
        });
 | 
			
		||||
    },
 | 
			
		||||
    // 获取信息
 | 
			
		||||
    getInfo() {
 | 
			
		||||
      this.$http
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										351
									
								
								src/views/modules/quality/components/character-show.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										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",
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
    };
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user