commit
005143cd2d
@ -2,7 +2,7 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2022-08-22 14:57:50
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-07-17 10:36:32
|
||||
* @LastEditTime: 2023-07-18 08:46:34
|
||||
* @Description:
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
|
46
src/filters/quality/index.js
Normal file
46
src/filters/quality/index.js
Normal file
@ -0,0 +1,46 @@
|
||||
/*
|
||||
* @Date: 2020-12-29 16:49:28
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-07-18 14:08:41
|
||||
* @FilePath: \basic-admin\src\filters\DataDict\index.js
|
||||
* @Description: 部分常量的数据字典定义
|
||||
*/
|
||||
import i18n from "@/i18n"
|
||||
const table = {
|
||||
monitor: {
|
||||
0: '否',
|
||||
1:'是',
|
||||
},
|
||||
characteristicsType: {
|
||||
0: '计量',
|
||||
1:'计数',
|
||||
},
|
||||
VerifyType: {
|
||||
0: i18n.t('gage.insideVerify'),
|
||||
1: i18n.t('gage.outsideVerify')
|
||||
},
|
||||
inspectionType: {
|
||||
0: '监控',
|
||||
1:'电芯来料检验',
|
||||
2: 'IQC抽检',
|
||||
3: 'IQC抽检2',
|
||||
4: '原料抽检',
|
||||
5: '进货外观检验',
|
||||
6: '库内原料检验',
|
||||
7: '来料检验',
|
||||
8: '胶片',
|
||||
9: '抽检',
|
||||
10: '巡检',
|
||||
11: '首检',
|
||||
12: '末检',
|
||||
13: '实时监测',
|
||||
14: 'FQC抽检',
|
||||
15: 'OQC抽检'
|
||||
}
|
||||
}
|
||||
|
||||
export default function (dictTable) {
|
||||
return function (val) {
|
||||
return table?.[dictTable]?.[val]
|
||||
}
|
||||
}
|
@ -303,6 +303,10 @@ t.basic.course = '过程检验'
|
||||
t.basic.shipment = '出货检验'
|
||||
t.basic.userName = '用户名'
|
||||
t.basic.departName = '部门名'
|
||||
t.basic.productCode = '产品编码'
|
||||
t.basic.productName = '产品名称'
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -363,7 +367,23 @@ t.quality.sampleRangeHigh = '取样范围高'
|
||||
t.quality.inspectionLevel = '检验水平'
|
||||
t.quality.sampleSizeCode = '样本量字码'
|
||||
t.quality.sampleSize = '样本量'
|
||||
|
||||
t.quality.inspectionPlan = '是否有检验计划'
|
||||
t.quality.analyzeDrawings = '分析图形'
|
||||
t.quality.characteristicsType = '特性类型'
|
||||
t.quality.company = '单位'
|
||||
t.quality.decimalDigits = '小数位数'
|
||||
t.quality.measuringToolsType = '量具类型'
|
||||
t.quality.monitor = '是否监控'
|
||||
t.quality.parameterName = '参数名称'
|
||||
t.quality.parameterCode = ' 参数编码'
|
||||
t.quality.sampleSize = '样本大小'
|
||||
t.quality.source = '来源'
|
||||
t.quality.specificationCenterline = 'SL'
|
||||
t.quality.specificationOffline = 'LSL'
|
||||
t.quality.specifications = '规格'
|
||||
t.quality.targetCpk = '目标CPK'
|
||||
t.quality.targetPpk = '目标PPK'
|
||||
t.quality.upperSpecificationLimit = 'USL'
|
||||
|
||||
|
||||
|
||||
@ -585,6 +605,8 @@ t.laboratory.trainContent = '培训内容'
|
||||
t.laboratory.trainDate = '培训日期'
|
||||
t.laboratory.trainDuration = '培训时长'
|
||||
t.laboratory.trainType = '培训类型'
|
||||
t.laboratory.timeSlot = '时间段'
|
||||
|
||||
|
||||
|
||||
t.code = {}
|
||||
@ -725,6 +747,15 @@ t.customerquality.confirmDeliveryDate = '确认交付日期'
|
||||
t.customerquality.deliveryRequiredDate = '要求交付日期'
|
||||
t.customerquality.status = '状态'
|
||||
t.customerquality.file = '清单文件'
|
||||
t.customerquality.previousVersionCode = '上一版本号'
|
||||
t.customerquality.first = '首次'
|
||||
t.customerquality.confidentialityAgreement = '保密协议'
|
||||
t.customerquality.ppapGrade = ' ppap等级'
|
||||
t.customerquality.version = ' 版本'
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,20 +1,21 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-12 13:49:47
|
||||
* @LastEditTime: 2023-07-18 16:55:42
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()" label-width="120px">
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="controlCode" :label="$t('basic.code')">
|
||||
<el-input v-model="dataForm.controlCode" :placeholder="$t('basic.code')"></el-input>
|
||||
<el-input clearable v-model="dataForm.controlCode" :placeholder="$t('basic.code')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="controlName" :label="$t('basic.name')">
|
||||
<el-input v-model="dataForm.controlName" :placeholder="$t('basic.name')"></el-input>
|
||||
<el-input clearable v-model="dataForm.controlName" :placeholder="$t('basic.name')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="specifications" :label="$t('basic.specification')">
|
||||
<el-input v-model="dataForm.specifications" :placeholder="$t('basic.specification')"></el-input>
|
||||
<el-input clearable v-model="dataForm.specifications" :placeholder="$t('basic.specification')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="incomingInspection" :label="$t('basic.stock')">
|
||||
<el-switch v-model="dataForm.incomingInspection" :active-value="1" :inactive-value="0">
|
||||
@ -33,13 +34,13 @@
|
||||
</el-switch>
|
||||
</el-form-item>
|
||||
<el-form-item prop="controlStatus" :label="$t('basic.status')">
|
||||
<el-select v-model="dataForm.controlStatus" :placeholder="$t('basic.status')">
|
||||
<el-select clearable v-model="dataForm.controlStatus" :placeholder="$t('basic.status')">
|
||||
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="remark" :label="$t('basic.remark')">
|
||||
<el-input v-model="dataForm.remark" :placeholder="$t('basic.remark')"></el-input>
|
||||
<el-input clearable v-model="dataForm.remark" :placeholder="$t('basic.remark')"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
|
@ -1,26 +1,27 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-12 13:57:14
|
||||
* @LastEditTime: 2023-07-18 16:55:57
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()" label-width="120px">
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="customerCode" :label="$t('basic.code')">
|
||||
<el-input v-model="dataForm.customerCode" :placeholder="$t('basic.code')"></el-input>
|
||||
<el-input clearable v-model="dataForm.customerCode" :placeholder="$t('basic.code')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="customerName" :label="$t('basic.name')">
|
||||
<el-input v-model="dataForm.customerName" :placeholder="$t('basic.name')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="customerTypeId" :label="$t('basic.customerTypeName')">
|
||||
<el-select v-model="dataForm.customerTypeId" :placeholder="$t('basic.customerTypeName')">
|
||||
<el-select clearable v-model="dataForm.customerTypeId" :placeholder="$t('basic.customerTypeName')">
|
||||
<el-option v-for="item in customerTypeList" :key="item.id" :label="item.customerTypeName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="customerTypeStatus" :label="$t('basic.status')">
|
||||
<el-select v-model="dataForm.customerTypeStatus" :placeholder="$t('basic.status')">
|
||||
<el-select clearable v-model="dataForm.customerTypeStatus" :placeholder="$t('basic.status')">
|
||||
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-12 13:55:20
|
||||
* @LastEditTime: 2023-07-18 16:56:08
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -9,13 +9,13 @@
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="customerTypeCode" :label="$t('basic.code')">
|
||||
<el-input v-model="dataForm.customerTypeCode" :placeholder="$t('basic.code')"></el-input>
|
||||
<el-input clearable v-model="dataForm.customerTypeCode" :placeholder="$t('basic.code')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="customerTypeName" :label="$t('basic.name')">
|
||||
<el-input v-model="dataForm.customerTypeName" :placeholder="$t('basic.name')"></el-input>
|
||||
<el-input clearable v-model="dataForm.customerTypeName" :placeholder="$t('basic.name')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="customerTypeStatus" :label="$t('basic.status')">
|
||||
<el-select v-model="dataForm.customerTypeStatus" :placeholder="$t('basic.status')">
|
||||
<el-select clearable v-model="dataForm.customerTypeStatus" :placeholder="$t('basic.status')">
|
||||
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-12 13:52:25
|
||||
* @LastEditTime: 2023-07-18 16:56:16
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -9,13 +9,13 @@
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="failureTypeCode" :label="$t('basic.code')">
|
||||
<el-input v-model="dataForm.failureTypeCode" :placeholder="$t('basic.code')"></el-input>
|
||||
<el-input clearable v-model="dataForm.failureTypeCode" :placeholder="$t('basic.code')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="failureTypeName" :label="$t('basic.name')">
|
||||
<el-input v-model="dataForm.failureTypeName" :placeholder="$t('basic.name')"></el-input>
|
||||
<el-input clearable v-model="dataForm.failureTypeName" :placeholder="$t('basic.name')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="failureTypeStatus" :label="$t('basic.status')">
|
||||
<el-select v-model="dataForm.failureTypeStatus" :placeholder="$t('basic.status')">
|
||||
<el-select clearable v-model="dataForm.failureTypeStatus" :placeholder="$t('basic.status')">
|
||||
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
@ -121,13 +121,6 @@ export default {
|
||||
param: 'name',
|
||||
clearable:true
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain:true
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
@ -135,6 +128,13 @@ export default {
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain:true
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "关联产品列表",
|
||||
|
@ -147,17 +147,17 @@ export default {
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
|
@ -128,17 +128,17 @@ export default {
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-11 10:07:22
|
||||
* @LastEditTime: 2023-07-18 10:19:11
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -128,17 +128,17 @@ export default {
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
// plain: true,
|
||||
}
|
||||
],
|
||||
|
@ -120,17 +120,17 @@ export default {
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-21 14:30:17
|
||||
* @LastEditTime: 2023-07-11 10:24:01
|
||||
* @LastEditTime: 2023-07-18 10:19:37
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -135,17 +135,17 @@ export default {
|
||||
// },
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-21 14:30:17
|
||||
* @LastEditTime: 2023-07-11 10:16:26
|
||||
* @LastEditTime: 2023-07-18 10:19:49
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -151,17 +151,17 @@ export default {
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
|
@ -1,109 +0,0 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-06-26 13:39:19
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__user">
|
||||
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
|
||||
<!-- <el-button type="primary" size="small" plain>导入</el-button> -->
|
||||
</SearchBar>
|
||||
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
||||
@clickBtn="handleClick" />
|
||||
</base-table>
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
@confirm="handleConfirm" :before-close="handleCancel">
|
||||
<teamMember-add ref="addOrUpdate" @successSubmit="successSubmit"></teamMember-add>
|
||||
</base-dialog>
|
||||
</div>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import basicPage from "@/mixins/basic-page";
|
||||
import teamMemberAdd from './components/teamMember-add'
|
||||
import i18n from "@/i18n";
|
||||
const tableProps = [
|
||||
{
|
||||
prop: "paramCode",
|
||||
label: i18n.t("params.paramCode"),
|
||||
},
|
||||
{
|
||||
prop: "paramValue",
|
||||
label: i18n.t("params.paramValue"),
|
||||
},
|
||||
{
|
||||
prop: "remark",
|
||||
label: i18n.t("params.remark"),
|
||||
},
|
||||
];
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: "编辑",
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
getDataListURL: "/basic/qmsTeamMember/page",
|
||||
deleteURL: "/basic/qmsControlMode",
|
||||
},
|
||||
tableProps,
|
||||
tableBtn,
|
||||
formConfig: [
|
||||
// {
|
||||
// type: "",
|
||||
// label: i18n.t("params.paramCode"),
|
||||
// placeholder: i18n.t("params.paramCode"),
|
||||
// param: "paramCode",
|
||||
// },
|
||||
// {
|
||||
// type: "separate",
|
||||
// },
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: "primary",
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
components: {
|
||||
teamMemberAdd,
|
||||
},
|
||||
methods:{
|
||||
//search-bar点击
|
||||
buttonClick(val) {
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
// this.listQuery.paramCode = val.paramCode;
|
||||
this.listQuery.page = 1;
|
||||
this.getDataList();
|
||||
break;
|
||||
case "add":
|
||||
this.addOrEditTitle = '新增'
|
||||
this.addOrUpdateVisible = true;
|
||||
this.addOrUpdateHandle()
|
||||
break;
|
||||
default:
|
||||
console.log(val)
|
||||
}
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-07-14 13:44:46
|
||||
* @LastEditTime: 2023-07-17 15:51:39
|
||||
* @LastEditTime: 2023-07-18 16:53:52
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -12,14 +12,16 @@
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="requirementListId" :label="$t('customerquality.requirementListName')">
|
||||
<el-select v-model="dataForm.requirementListId" :placeholder="$t('customerquality.requirementListName')">
|
||||
<el-select clearable v-model="dataForm.requirementListId"
|
||||
:placeholder="$t('customerquality.requirementListName')">
|
||||
<el-option v-for="item in requirementList" :key="item.id" :label="item.requirementListName"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="knowledgeBaseId" :label="$t('customerquality.knowledgeBaseName')">
|
||||
<el-select v-model="dataForm.knowledgeBaseId" :placeholder="$t('customerquality.knowledgeBaseName')">
|
||||
<el-select clearable v-model="dataForm.knowledgeBaseId"
|
||||
:placeholder="$t('customerquality.knowledgeBaseName')">
|
||||
<el-option v-for="item in knowledgeBaseList" :key="item.id" :label="item.knowledgeBaseName"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
@ -84,8 +86,10 @@ export default {
|
||||
this.getDict()
|
||||
},
|
||||
methods: {
|
||||
init(id) {
|
||||
this.dataForm.id = id || ''
|
||||
init(obj) {
|
||||
this.dataForm.knowledgeBaseId = obj.knowledgeBaseId || ''
|
||||
this.dataForm.requirementListId = obj.requirementListId || ''
|
||||
this.dataForm.id = obj.id || ''
|
||||
this.innerDrawer = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs["dataForm"].resetFields()
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-07-14 13:44:46
|
||||
* @LastEditTime: 2023-07-17 15:59:27
|
||||
* @LastEditTime: 2023-07-18 14:25:05
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -106,8 +106,10 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
init(id) {
|
||||
this.listQuery.knowledgeBaseId = id || ""
|
||||
init(obj) {
|
||||
this.listQuery.knowledgeBaseId = obj.knowledgeBaseId || ""
|
||||
this.listQuery.requirementListId = obj.requirementListId || ""
|
||||
|
||||
// this.dataForm.dictTypeId = dictTypeId || "";
|
||||
this.drawer = true
|
||||
this.$nextTick(() => {
|
||||
@ -135,8 +137,12 @@ export default {
|
||||
// this.addOrEditTitle = '新增'
|
||||
// this.addOrUpdateVisible = true;
|
||||
this.baseConfigAddShow = true
|
||||
const obj = {
|
||||
knowledgeBaseId: this.listQuery.knowledgeBaseId,
|
||||
requirementListId: this.listQuery.requirementListId
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.$refs.baseConfigAddList.init()
|
||||
this.$refs.baseConfigAddList.init(obj)
|
||||
})
|
||||
// this.addOrUpdateHandle()
|
||||
break;
|
||||
@ -189,8 +195,13 @@ export default {
|
||||
.catch(() => { });
|
||||
} else if (val.type === 'edit') {
|
||||
this.baseConfigAddShow = true
|
||||
const obj = {
|
||||
knowledgeBaseId: this.listQuery.knowledgeBaseId,
|
||||
requirementListId: this.listQuery.requirementListId,
|
||||
id:val.data.id
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.$refs.baseConfigAddList.init(val.data.id)
|
||||
this.$refs.baseConfigAddList.init(obj)
|
||||
})
|
||||
}
|
||||
},
|
||||
|
@ -1,29 +1,31 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-07-14 13:44:46
|
||||
* @LastEditTime: 2023-07-17 16:55:03
|
||||
* @LastEditTime: 2023-07-18 16:53:36
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<div>
|
||||
<el-drawer close-on-press-escape:title="$t('add')" :append-to-body="true" :before-close="handleClose"
|
||||
<el-drawer close-on-press-escape :title="$t('add')" :append-to-body="true" :before-close="handleClose"
|
||||
:visible.sync="innerDrawer">
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="requirementListId" :label="$t('customerquality.requirementListName')">
|
||||
<el-select v-model="dataForm.requirementListId" :placeholder="$t('customerquality.requirementListName')">
|
||||
<el-option v-for="item in requirementList" :key="item.id" :label="item.requirementListName"
|
||||
<el-form-item prop="knowledgeBaseFileId" :label="$t('customerquality.knowledgeBaseFileId')">
|
||||
<el-select clearable v-model="dataForm.knowledgeBaseFileId"
|
||||
:placeholder="$t('customerquality.knowledgeBaseFileId')">
|
||||
<el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="knowledgeBaseId" :label="$t('customerquality.knowledgeBaseName')">
|
||||
<el-select v-model="dataForm.knowledgeBaseId" :placeholder="$t('customerquality.knowledgeBaseName')">
|
||||
<el-option v-for="item in knowledgeBaseList" :key="item.id" :label="item.knowledgeBaseName"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
<el-form-item prop="title" :label="$t('customerquality.title')">
|
||||
<el-input clearable v-model="dataForm.title" :placeholder="$t('customerquality.title')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="accessPath" :label="$t('customerquality.accessPath')">
|
||||
<el-input clearable v-model="dataForm.accessPath" :placeholder="$t('customerquality.accessPath')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="innerDrawer = false">{{ $t('cancel') }} </el-button>
|
||||
@ -38,24 +40,28 @@
|
||||
import i18n from "@/i18n"
|
||||
import basicAdd from "@/mixins/basic-add"
|
||||
import debounce from "lodash/debounce"
|
||||
|
||||
export default {
|
||||
mixins: [basicAdd],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
submitURL: "/customerquality/qmsKnowledgeBaseRequirementList",
|
||||
getRequirementListURL: "/customerquality/qmsCustomerQualityRequirementList/page",
|
||||
getKnowledgeBaseURL: "/customerquality/qmsKnowledgeBase/page"
|
||||
submitURL: "/customerquality/knowledgeBaseRequirementListData",
|
||||
getDictDataDetail: '/mutual/qmsDataDictionaryDetail/page'
|
||||
},
|
||||
dataForm: {
|
||||
knowledgeBaseId: null,
|
||||
requirementListId:null
|
||||
accessPath:null,
|
||||
id: null,
|
||||
knowledgeBaseFileId: null,
|
||||
knowledgeBaseRequirementListId: null,
|
||||
title: null,
|
||||
},
|
||||
innerDrawer: false,
|
||||
listQuery: {
|
||||
limit: 10,
|
||||
page:1,
|
||||
},
|
||||
categoryList:[],
|
||||
requirementList: [],
|
||||
knowledgeBaseList:[],
|
||||
}
|
||||
@ -82,10 +88,14 @@ export default {
|
||||
},
|
||||
mounted () {
|
||||
this.getDict()
|
||||
this.getAccessPath()
|
||||
},
|
||||
methods: {
|
||||
init(id) {
|
||||
this.dataForm.id = id || ''
|
||||
init(obj) {
|
||||
this.dataForm.knowledgeBaseRequirementListId = obj.knowledgeBaseRequirementListId || ''
|
||||
this.dataForm.knowledgeBaseRequirementListId = obj.knowledgeBaseRequirementListId || ''
|
||||
|
||||
this.dataForm.id = obj.id || ''
|
||||
this.innerDrawer = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs["dataForm"].resetFields()
|
||||
@ -96,13 +106,43 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
getDict() {
|
||||
this.$http
|
||||
.get(this.urlOptions.getDictDataDetail, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1,
|
||||
dataDictionaryId: '1679670942635122690',
|
||||
}
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
// this.dataListLoading = false;
|
||||
if (res.code === 0) {
|
||||
this.categoryList = res.data.list
|
||||
}
|
||||
})
|
||||
},
|
||||
getAccessPath() {
|
||||
const now = new Date();
|
||||
const year = now.getFullYear();
|
||||
const month = ('0' + (now.getMonth() + 1)).slice(-2);
|
||||
const day = ('0' + now.getDate()).slice(-2);
|
||||
const hours = ('0' + now.getHours()).slice(-2);
|
||||
const minutes = ('0' + now.getMinutes()).slice(-2);
|
||||
const formattedTime = year + month + day + hours + minutes
|
||||
console.log(formattedTime)
|
||||
|
||||
var str = Math.random().toString(36).slice(-5)
|
||||
// console.log(str)
|
||||
this.dataForm.accessPath = formattedTime+ str
|
||||
},
|
||||
handleClose() {
|
||||
this.innerDrawer = true
|
||||
this.$refs.dataForm.resetFields()
|
||||
},
|
||||
getInfo() {
|
||||
this.$http
|
||||
.get(`/customerquality/qmsKnowledgeBaseRequirementList/${this.dataForm.id}`)
|
||||
.get(`/customerquality/knowledgeBaseRequirementListData/${this.dataForm.id}`)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
@ -114,32 +154,6 @@ export default {
|
||||
})
|
||||
.catch(() => { });
|
||||
},
|
||||
getDict() {
|
||||
this.$http
|
||||
.get(this.urlOptions.getRequirementListURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.requirementList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getKnowledgeBaseURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.knowledgeBaseList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
},
|
||||
// 表单提交
|
||||
dataFormSubmit() {
|
||||
this.$refs["dataForm"].validate((valid) => {
|
||||
|
@ -1,45 +1,101 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-14 14:28:32
|
||||
* @LastEditTime: 2023-07-19 09:00:49
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-dialog title="提示" :visible.sync="visible" width="50%" :before-close="handleClose">
|
||||
<el-tabs @tab-click="handleClick" v-model="title" tab-position="left" style="margin-bottom: 30px;">
|
||||
<el-tab-pane label="项目概述" name="first">
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="code" :label="$t('customerquality.code')">
|
||||
<el-input v-model="dataForm.code" :placeholder="$t('customerquality.code')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="knowledgeBaseName" :label="$t('customerquality.knowledgeBaseName')">
|
||||
<el-input v-model="dataForm.knowledgeBaseName" :placeholder="$t('customerquality.knowledgeBaseName')"></el-input>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item prop="knowledgeBaseName" :label="$t('basic.status')">
|
||||
<el-select v-model="dataForm.currentStage" :placeholder="$t('basic.status')">
|
||||
<el-option v-for="item in currentStageList" :key="item.value" :label="item.label" :value="item.value">
|
||||
<el-form-item prop="productId" :label="$t('basic.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('basic.productName')" clearable>
|
||||
<el-option v-for="item in productList" :key="item.id" :label="item.productName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="serialNumber" :label="$t('customerquality.serialNumber')">
|
||||
<el-input v-model="dataForm.serialNumber" :placeholder="$t('customerquality.serialNumber')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="description" :label="$t('customerquality.description')">
|
||||
<el-input v-model="dataForm.description" :placeholder="$t('customerquality.description')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="questionType" :label="$t('customerquality.questionType')">
|
||||
<el-select v-model="dataForm.questionType" :placeholder="$t('customerquality.questionType')">
|
||||
<el-option v-for="item in questionTypeList" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
<el-form-item prop="category" :label="$t('customerquality.category')">
|
||||
<el-select v-model="dataForm.category" :placeholder="$t('customerquality.category')">
|
||||
<el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName"
|
||||
<el-form-item prop="knowledgeBaseId" :label="$t('customerquality.knowledgeBase')">
|
||||
<el-select v-model="dataForm.knowledgeBaseId" :placeholder="$t('customerquality.knowledgeBase')" clearable>
|
||||
<el-option v-for="item in knowledgeBaseList" :key="item.id" :label="item.knowledgeBaseName"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="customerId" :label="$t('customerquality.customerName')">
|
||||
<el-select v-model="dataForm.customerId" :placeholder="$t('customerquality.customerName')" clearable>
|
||||
<el-option v-for="item in customerList" :key="item.id" :label="item.customerName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="qualityAcceptanceDate" :label="$t('customerquality.qualityAcceptanceDate')">
|
||||
<el-date-picker clearable v-model="dataForm.qualityAcceptanceDate" type="datetime"
|
||||
:placeholder="$t('customerquality.qualityAcceptanceDate')">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item prop="deliveryRequiredDate" :label="$t('customerquality.deliveryRequiredDate')">
|
||||
<el-date-picker clearable v-model="dataForm.deliveryRequiredDate" type="datetime"
|
||||
:placeholder="$t('customerquality.deliveryRequiredDate')">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item prop="confirmDeliveryDate" :label="$t('customerquality.confirmDeliveryDate')">
|
||||
<el-date-picker clearable v-model="dataForm.confirmDeliveryDate" type="datetime"
|
||||
:placeholder="$t('customerquality.confirmDeliveryDate')">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item prop="first" :label="$t('customerquality.first')">
|
||||
<el-select clearable v-model="dataForm.first" :placeholder="$t('customerquality.first')">
|
||||
<el-option v-for="item in firstList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="previousVersionCode" :label="$t('customerquality.previousVersionCode')">
|
||||
<el-input clearable v-model="dataForm.previousVersionCode"
|
||||
:placeholder="$t('customerquality.previousVersionCode')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="confidentialityAgreement" :label="$t('customerquality.first')">
|
||||
<el-select clearable v-model="dataForm.confidentialityAgreement" :placeholder="$t('customerquality.first')">
|
||||
<el-option v-for="item in confidentialityAgreementList" :key="item.id" :label="item.name"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="ppapGrade" :label="$t('customerquality.ppapGrade')">
|
||||
<el-select clearable v-model="dataForm.ppapGrade" :placeholder="$t('customerquality.ppapGrade')">
|
||||
<el-option v-for="item in ppapGradeList" :key="item.id" :label="item.dataDictionaryDetailName"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="version" :label="$t('customerquality.version')">
|
||||
<el-input clearable v-model="dataForm.version" :placeholder="$t('customerquality.version')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="description" :label="$t('customerquality.description')">
|
||||
<el-input clearable v-model="dataForm.description" :placeholder="$t('customerquality.description')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span style="float: right;" class="dialog-footer">
|
||||
<el-button @click="visible = false">{{ $t('cancel') }}</el-button>
|
||||
<el-button type="primary" @click="dataFormSubmit()"> {{ $t('save') }} </el-button>
|
||||
</span>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane :disabled="tabDisable" label="要求清单" name="second">
|
||||
<el-tree :data="treeData" show-checkbox @check="handleCheckChange" node-key="id">
|
||||
</el-tree>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane :disabled="tabDisable" label="封面生成" name="three">
|
||||
33333
|
||||
</el-tab-pane>
|
||||
<el-tab-pane :disabled="tabDisable" label="提交" name="four">
|
||||
4444
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@ -52,8 +108,38 @@ export default {
|
||||
urlOptions: {
|
||||
submitURL: "/customerquality/qmsCustomerQualityProjectList",
|
||||
infoURL: "/customerquality/qmsCustomerQualityProjectList//{id}",
|
||||
getDictDataDetail: '/mutual/qmsCustomerQualityProjectList/page'
|
||||
getDictDataDetail: '/mutual/qmsDataDictionaryDetail/page',
|
||||
getProductURL: '/basic/qmsProduct/page',
|
||||
getKnowledgeBaseURL: '/customerquality/qmsKnowledgeBase/page',
|
||||
getCustomerURL: '/basic/qmsCustomer/page',
|
||||
getRequirementListURL: '/customerquality/qmsCustomerQualityRequirementList/page'
|
||||
},
|
||||
customerQualityProjectListId:null,
|
||||
productList: [],
|
||||
title:'first',
|
||||
customerList: [],
|
||||
ppapGradeList:[],
|
||||
knowledgeBaseList: [],
|
||||
firstList: [
|
||||
{
|
||||
id: '0',
|
||||
name:'否',
|
||||
},
|
||||
{
|
||||
id: '1',
|
||||
name: '是',
|
||||
}
|
||||
],
|
||||
confidentialityAgreementList: [
|
||||
{
|
||||
id: '0',
|
||||
name: '否',
|
||||
},
|
||||
{
|
||||
id: '1',
|
||||
name: '是',
|
||||
}
|
||||
],
|
||||
categoryList:[],
|
||||
typeList:[],
|
||||
visible: false,
|
||||
@ -61,25 +147,68 @@ export default {
|
||||
limit: 999,
|
||||
page:1
|
||||
},
|
||||
treeData: [{
|
||||
label: '必选项目',
|
||||
// id:1,
|
||||
children: []
|
||||
}],
|
||||
tabDisable:true,
|
||||
dataForm: {
|
||||
id: "",
|
||||
code: null,
|
||||
category: null,
|
||||
knowledgeBaseName:null
|
||||
confidentialityAgreement:null,
|
||||
confirmDeliveryDate: null,
|
||||
customerId: null,
|
||||
deliveryRequiredDate: null,
|
||||
description:null,
|
||||
first: null,
|
||||
id: undefined,
|
||||
knowledgeBaseId: null,
|
||||
ppapGrade: null,
|
||||
previousVersionCode: null,
|
||||
productId: null,
|
||||
qualityAcceptanceDate: null,
|
||||
version: null,
|
||||
},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
dataRule() {
|
||||
return {
|
||||
code: [
|
||||
productId: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "blur",
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
knowledgeBaseName: [
|
||||
knowledgeBaseId: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
customerId: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
qualityAcceptanceDate: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
deliveryRequiredDate: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
ppapGrade: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
@ -91,8 +220,15 @@ export default {
|
||||
},
|
||||
mounted () {
|
||||
this.getDict()
|
||||
this.getSecondData()
|
||||
},
|
||||
methods: {
|
||||
handleClick(val) {
|
||||
if (this.customerQualityProjectListId === null) {
|
||||
this.title = 'first'
|
||||
console.log(this.title)
|
||||
}
|
||||
},
|
||||
init(id) {
|
||||
this.dataForm.id = id || ""
|
||||
// this.dataForm.dictTypeId = dictTypeId || "";
|
||||
@ -100,13 +236,16 @@ export default {
|
||||
this.$nextTick(() => {
|
||||
this.$refs["dataForm"].resetFields()
|
||||
if (this.dataForm.id) {
|
||||
this.getInfo();
|
||||
this.getInfo()
|
||||
} else {
|
||||
// this.getCode()
|
||||
}
|
||||
});
|
||||
},
|
||||
// 获取信息
|
||||
handleClose() {
|
||||
this.$refs["dataForm"].resetFields()
|
||||
},
|
||||
getInfo() {
|
||||
this.$http
|
||||
.get(`/customerquality/qmsCustomerQualityProjectList/${this.dataForm.id}`)
|
||||
@ -117,25 +256,118 @@ export default {
|
||||
this.dataForm = {
|
||||
...this.dataForm,
|
||||
...res.data,
|
||||
};
|
||||
}
|
||||
this.customerQualityProjectListId = res.data.id
|
||||
this.tabDisable = false
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
getSecondData() {
|
||||
this.$http
|
||||
.get(this.urlOptions.getRequirementListURL, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1,
|
||||
}
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
// this.dataListLoading = false;
|
||||
if (res.code === 0) {
|
||||
this.treeData[0].children = res.data.list.map((item) => {
|
||||
return {
|
||||
label: item.requirementListName,
|
||||
id:item.id
|
||||
}
|
||||
})
|
||||
console.log(this.treeData);
|
||||
}
|
||||
})
|
||||
},
|
||||
getDict() {
|
||||
this.$http
|
||||
.get(this.urlOptions.getDictDataDetail, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1,
|
||||
dataDictionaryId:'1679670942635122690',
|
||||
dataDictionaryId:'1681202200846499841',
|
||||
}
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
// this.dataListLoading = false;
|
||||
if (res.code === 0) {
|
||||
this.categoryList = res.data.list
|
||||
this.ppapGradeList = res.data.list
|
||||
}
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getProductURL, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1,
|
||||
}
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
// this.dataListLoading = false;
|
||||
if (res.code === 0) {
|
||||
this.productList = res.data.list
|
||||
}
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getKnowledgeBaseURL, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1,
|
||||
}
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
// this.dataListLoading = false;
|
||||
if (res.code === 0) {
|
||||
this.knowledgeBaseList = res.data.list
|
||||
}
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getCustomerURL, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1,
|
||||
}
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
// this.dataListLoading = false;
|
||||
if (res.code === 0) {
|
||||
this.customerList = res.data.list
|
||||
}
|
||||
})
|
||||
},
|
||||
handleCheckChange(data, v) {
|
||||
this.checkArr = v.checkedKeys
|
||||
console.log(v)
|
||||
},
|
||||
// handleNodeClick(data) {
|
||||
// console.log(data)
|
||||
// },
|
||||
dataFormSubmit() {
|
||||
this.$refs["dataForm"].validate((valid) => {
|
||||
if (!valid) {
|
||||
return false;
|
||||
}
|
||||
this.$http[!this.dataForm.id ? "post" : "put"](this.urlOptions.submitURL, this.dataForm)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.$message({
|
||||
message: this.$t("prompt.success"),
|
||||
type: "success",
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
// this.title = 'second'
|
||||
this.tabDisable = false
|
||||
this.customerQualityProjectListId = res.data
|
||||
},
|
||||
});
|
||||
})
|
||||
.catch(() => { });
|
||||
});
|
||||
},
|
||||
// 表单提交
|
||||
dataFormSubmitHandle: debounce(
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-14 10:06:36
|
||||
* @LastEditTime: 2023-07-18 16:54:14
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -9,10 +9,11 @@
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="code" :label="$t('customerquality.code')">
|
||||
<el-input v-model="dataForm.code" :placeholder="$t('customerquality.code')"></el-input>
|
||||
<el-input clearable v-model="dataForm.code" :placeholder="$t('customerquality.code')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="requirementListName" :label="$t('customerquality.requirementListName')">
|
||||
<el-input v-model="dataForm.requirementListName" :placeholder="$t('customerquality.requirementListName')">
|
||||
<el-input clearable v-model="dataForm.requirementListName"
|
||||
:placeholder="$t('customerquality.requirementListName')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="uploadFiles" :label="$t('customerquality.uploadFiles')">
|
||||
@ -40,7 +41,7 @@
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
<el-form-item prop="category" :label="$t('customerquality.category')">
|
||||
<el-select v-model="dataForm.category" :placeholder="$t('customerquality.category')">
|
||||
<el-select clearable v-model="dataForm.category" :placeholder="$t('customerquality.category')">
|
||||
<el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-04-18 09:19:02
|
||||
* @LastEditTime: 2023-07-17 16:59:22
|
||||
* @LastEditTime: 2023-07-18 09:52:45
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -14,53 +14,41 @@
|
||||
</el-badge> -->
|
||||
</SearchBar>
|
||||
<base-table id="palletTable" :table-props="tableProps" ref="palletTable1" :table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
||||
@clickBtn="handleClick" />
|
||||
</base-table>
|
||||
<i slot="reference" class="el-icon-plus" @click="showInnerTable(injectData.id)" />
|
||||
</el-popover>
|
||||
<baseConfigFile-add ref="baseConfigFileAddList" v-if="baseConfigFileAddShow" @refreshDataList="getDataList"></baseConfigFile-add>
|
||||
<baseConfigFile-add ref="baseConfigFileAddList" v-if="baseConfigFileAddShow" @refreshDataList="getDataList">
|
||||
</baseConfigFile-add>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import i18n from "@/i18n"
|
||||
import { timeFormatter } from '@/filters'
|
||||
import baseConfigFileAdd from "./baseConfigFile-add"
|
||||
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: i18n.t('edit'),
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: i18n.t('delete'),
|
||||
},
|
||||
{
|
||||
type: "configuration",
|
||||
btnName: i18n.t('configuration'),
|
||||
}
|
||||
];
|
||||
const tableProps = [
|
||||
{
|
||||
prop: "stageOneName",
|
||||
label: i18n.t('researchquality.stageOneName'),
|
||||
prop: "title",
|
||||
label: i18n.t('customerquality.title'),
|
||||
},
|
||||
{
|
||||
prop: "stageOneDate",
|
||||
label: i18n.t('researchquality.stageOneDate'),
|
||||
filter: timeFormatter
|
||||
},
|
||||
{
|
||||
prop: "stageTwoName",
|
||||
label: i18n.t('researchquality.stageTwoName'),
|
||||
},,
|
||||
{
|
||||
prop: "stageTwoDate",
|
||||
label: i18n.t('researchquality.stageTwoDate'),
|
||||
filter: timeFormatter
|
||||
},
|
||||
{
|
||||
prop: "stageThreeName",
|
||||
label: i18n.t('researchquality.stageThreeName'),
|
||||
},
|
||||
{
|
||||
prop: "stageThreeDate",
|
||||
label: i18n.t('researchquality.stageThreeDate'),
|
||||
filter: timeFormatter
|
||||
},
|
||||
{
|
||||
prop: "stageFourName",
|
||||
label: i18n.t('researchquality.stageFourName'),
|
||||
},
|
||||
{
|
||||
prop: "stageFourDate",
|
||||
label: i18n.t('researchquality.stageFourDate'),
|
||||
filter: timeFormatter
|
||||
prop: "accessPath",
|
||||
label: i18n.t('customerquality.accessPath'),
|
||||
}
|
||||
];
|
||||
export default {
|
||||
@ -79,11 +67,10 @@ export default {
|
||||
tableProps,
|
||||
list: this.injectData,
|
||||
urlOptions: {
|
||||
submitURL: "/customerquality/qmsPublicDocuments",
|
||||
infoURL: "/customerquality/qmsPublicDocuments//{id}",
|
||||
getCodeURL: '/customerquality/qmsPublicDocuments/getCode',
|
||||
getDataListURL: '/customerquality/knowledgeBaseRequirementListData/page'
|
||||
getDataListURL: '/customerquality/knowledgeBaseRequirementListData/page',
|
||||
deleteURL: '/customerquality/knowledgeBaseRequirementListData/page'
|
||||
},
|
||||
tableBtn,
|
||||
baseConfigFileAddShow:false,
|
||||
tableData: [],
|
||||
listQuery: {
|
||||
@ -128,13 +115,51 @@ export default {
|
||||
// this.addOrUpdateVisible = true;
|
||||
this.baseConfigFileAddShow = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.baseConfigFileAddList.init(this.injectData.id)
|
||||
const obj = {
|
||||
knowledgeBaseRequirementListId :this.injectData.id
|
||||
}
|
||||
this.$refs.baseConfigFileAddList.init(obj)
|
||||
})
|
||||
// this.addOrUpdateHandle()
|
||||
break;
|
||||
default:
|
||||
}
|
||||
},
|
||||
handleClick(val) {
|
||||
if (val.type === "delete") {
|
||||
this.$confirm(`确定对[标题为${val.data.title}]进行删除操作?`, "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message({
|
||||
message: "操作成功",
|
||||
type: "success",
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.getDataList();
|
||||
},
|
||||
});
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(() => { });
|
||||
} else if (val.type === 'edit') {
|
||||
this.baseConfigFileAddShow = true
|
||||
this.$nextTick(() => {
|
||||
const obj = {
|
||||
knowledgeBaseRequirementListId: this.injectData.id,
|
||||
id:val.data.id
|
||||
}
|
||||
this.$refs.baseConfigFileAddList.init(obj)
|
||||
})
|
||||
}
|
||||
},
|
||||
showInnerTable() {
|
||||
this.listQuery.knowledgeBaseRequirementListId = this.injectData.id
|
||||
this.getDataList()
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-17 15:50:39
|
||||
* @LastEditTime: 2023-07-18 16:54:28
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -9,10 +9,12 @@
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="title" :label="$t('customerquality.title')">
|
||||
<el-input :disabled="isDetail" v-model="dataForm.title" :placeholder="$t('customerquality.title')"></el-input>
|
||||
<el-input clearable :disabled="isDetail" v-model="dataForm.title" :placeholder="$t('customerquality.title')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="accessPath" :label="$t('customerquality.accessPath')">
|
||||
<el-input :disabled="isDetail" v-model="dataForm.accessPath" :placeholder="$t('customerquality.accessPath')">
|
||||
<el-input clearable :disabled="isDetail" v-model="dataForm.accessPath"
|
||||
:placeholder="$t('customerquality.accessPath')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item prop="knowledgeBaseName" :label="$t('basic.status')">
|
||||
@ -34,7 +36,7 @@
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
<el-form-item prop="knowledgeBaseFileId" :label="$t('customerquality.knowledgeBaseFileId')">
|
||||
<el-select :disabled="isDetail" v-model="dataForm.knowledgeBaseFileId"
|
||||
<el-select clearable :disabled="isDetail" v-model="dataForm.knowledgeBaseFileId"
|
||||
:placeholder="$t('customerquality.knowledgeBaseFileId')">
|
||||
<el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName" :value="item.id">
|
||||
</el-option>
|
||||
@ -143,7 +145,7 @@ export default {
|
||||
}
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
// this.dataListLoading = false;
|
||||
if (res.code === 0) {
|
||||
this.categoryList = res.data.list
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-14 10:06:39
|
||||
* @LastEditTime: 2023-07-18 16:54:41
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -9,10 +9,11 @@
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="code" :label="$t('customerquality.code')">
|
||||
<el-input v-model="dataForm.code" :placeholder="$t('customerquality.code')"></el-input>
|
||||
<el-input clearable v-model="dataForm.code" :placeholder="$t('customerquality.code')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="knowledgeBaseName" :label="$t('customerquality.knowledgeBaseName')">
|
||||
<el-input v-model="dataForm.knowledgeBaseName" :placeholder="$t('customerquality.knowledgeBaseName')"></el-input>
|
||||
<el-input clearable v-model="dataForm.knowledgeBaseName" :placeholder="$t('customerquality.knowledgeBaseName')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item prop="knowledgeBaseName" :label="$t('basic.status')">
|
||||
<el-select v-model="dataForm.currentStage" :placeholder="$t('basic.status')">
|
||||
@ -33,9 +34,8 @@
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
<el-form-item prop="category" :label="$t('customerquality.category')">
|
||||
<el-select v-model="dataForm.category" :placeholder="$t('customerquality.category')">
|
||||
<el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName"
|
||||
:value="item.id">
|
||||
<el-select clearable v-model="dataForm.category" :placeholder="$t('customerquality.category')">
|
||||
<el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -131,7 +131,7 @@ export default {
|
||||
}
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
// this.dataListLoading = false;
|
||||
if (res.code === 0) {
|
||||
this.categoryList = res.data.list
|
||||
}
|
||||
|
@ -1,24 +1,25 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-13 11:01:20
|
||||
* @LastEditTime: 2023-07-18 16:55:16
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-form :model="dataForm" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" label-width="120px">
|
||||
<el-form-item prop="title" :label="$t('researchquality.title')">
|
||||
<el-input v-model="dataForm.title" :placeholder="$t('researchquality.title')">
|
||||
<el-input clearable v-model="dataForm.title" :placeholder="$t('researchquality.title')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="requirementListGroupId" :label="$t('researchquality.requirementListGroupId')">
|
||||
<el-select v-model="dataForm.requirementListGroupId" :placeholder="$t('researchquality.requirementListGroupId')">
|
||||
<el-select clearable v-model="dataForm.requirementListGroupId"
|
||||
:placeholder="$t('researchquality.requirementListGroupId')">
|
||||
<el-option v-for="item in projectTypeList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="description" :label="$t('researchquality.description')">
|
||||
<el-input v-model="dataForm.description" :placeholder="$t('researchquality.description')">
|
||||
<el-input clearable v-model="dataForm.description" :placeholder="$t('researchquality.description')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-06-08 14:29:46
|
||||
* @LastEditTime: 2023-07-14 14:28:20
|
||||
* @LastEditTime: 2023-07-18 14:37:28
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -21,13 +21,11 @@
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
@confirm="handleConfirm" :before-close="handleCancel">
|
||||
<qmsKnowledgeBase-add ref="addOrUpdate" @refreshDataList="successSubmit">
|
||||
</qmsKnowledgeBase-add>
|
||||
<customerQualityProjectList-add v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="successSubmit">
|
||||
</customerQualityProjectList-add>
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
</base-dialog>
|
||||
<baseConfig ref="baseConfigOrList" v-if="baseConfigShow"></baseConfig>
|
||||
<!-- </base-dialog> -->
|
||||
<!-- <baseConfig ref="baseConfigOrList" v-if="baseConfigShow"></baseConfig> -->
|
||||
<!-- <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<projectType-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit">
|
||||
@ -54,9 +52,9 @@
|
||||
import basicPage from "@/mixins/basic-page"
|
||||
// import basicSearch from "@/mixins/basic-search"
|
||||
// import projectTypeSearch from "./components/projectTypeSearch.vue"
|
||||
import customerquality from '@/filters/customerquality'
|
||||
import qmsKnowledgeBaseAdd from "./components/qmsKnowledgeBase-add.vue"
|
||||
import baseConfig from "./components/baseConfig"
|
||||
// import customerquality from '@/filters/customerquality'
|
||||
import customerQualityProjectListAdd from "./components/customerQualityProjectList-add.vue"
|
||||
// import baseConfig from "./components/baseConfig"
|
||||
|
||||
|
||||
import i18n from "@/i18n"
|
||||
@ -193,8 +191,8 @@ export default {
|
||||
};
|
||||
},
|
||||
components: {
|
||||
qmsKnowledgeBaseAdd,
|
||||
baseConfig
|
||||
customerQualityProjectListAdd,
|
||||
// baseConfig
|
||||
},
|
||||
methods: {
|
||||
//search-bar点击
|
||||
@ -294,11 +292,6 @@ export default {
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(val.data.id);
|
||||
})
|
||||
} else if (val.type === 'configuration') {
|
||||
this.baseConfigShow = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.baseConfigOrList.init(val.data.id)
|
||||
});
|
||||
}
|
||||
},
|
||||
// addOrUpdateHandle(productData) {
|
||||
@ -320,9 +313,10 @@ export default {
|
||||
this.exportHandle()
|
||||
break;
|
||||
case "add":
|
||||
this.addOrEditTitle = '新增'
|
||||
this.addOrUpdateVisible = true;
|
||||
this.addOrUpdateHandle()
|
||||
this.addOrUpdateVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init()
|
||||
})
|
||||
break;
|
||||
default:
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-06-08 14:29:46
|
||||
* @LastEditTime: 2023-07-14 10:08:05
|
||||
* @LastEditTime: 2023-07-18 14:20:43
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -27,6 +27,8 @@
|
||||
</customerQualityRequirementList-add>
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
</base-dialog>
|
||||
<baseConfig ref="baseConfigOrList" v-if="baseConfigShow"></baseConfig>
|
||||
|
||||
<!-- <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<projectType-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit">
|
||||
@ -56,6 +58,7 @@ import basicPage from "@/mixins/basic-page"
|
||||
import customerquality from '@/filters/customerquality'
|
||||
import customerQualityRequirementListAdd from "./components/customerQualityRequirementList-add.vue"
|
||||
import i18n from "@/i18n"
|
||||
import baseConfig from "./components/baseConfig"
|
||||
// import i18n from "@/i18n";
|
||||
const tableProps = [
|
||||
{
|
||||
@ -83,6 +86,10 @@ const tableBtn = [
|
||||
{
|
||||
type: "delete",
|
||||
btnName: i18n.t('delete'),
|
||||
},
|
||||
{
|
||||
type: "configuration",
|
||||
btnName: i18n.t('configuration'),
|
||||
}
|
||||
];
|
||||
export default {
|
||||
@ -95,6 +102,7 @@ export default {
|
||||
exportURL: '/customerquality/qmsCustomerQualityRequirementList/export'
|
||||
},
|
||||
tableProps,
|
||||
baseConfigShow:false,
|
||||
tableBtn,
|
||||
productData: {},
|
||||
dataForm:{
|
||||
@ -166,7 +174,8 @@ export default {
|
||||
};
|
||||
},
|
||||
components: {
|
||||
customerQualityRequirementListAdd
|
||||
customerQualityRequirementListAdd,
|
||||
baseConfig
|
||||
},
|
||||
methods: {
|
||||
//search-bar点击
|
||||
@ -196,12 +205,12 @@ export default {
|
||||
// this.$refs.addOrUpdate.dataFormSubmitHandle();
|
||||
// },
|
||||
// conditionSearchSubmit() {},
|
||||
conditionSearchSubmit(dataForm) {
|
||||
conditionSearchSubmit() {
|
||||
// console.log(key);
|
||||
// console.log(key);
|
||||
this.listQuery.page = 1;
|
||||
this.getDataList();
|
||||
this.searchOrUpdateVisible = false;
|
||||
this.searchOrUpdateVisible = false
|
||||
// console.log(11111);
|
||||
// this.conditionSearchSubmit();
|
||||
},
|
||||
@ -209,10 +218,6 @@ export default {
|
||||
this.$http.get(this.urlOptions.exportURL, { responseType: 'blob' }, {
|
||||
...this.dataForm
|
||||
}).then((res) => {
|
||||
console.log(res)
|
||||
// if (res !== 0) {
|
||||
// return this.$message.error(res.msg)
|
||||
// }
|
||||
let fileName = ''
|
||||
const contentDisposition = res.headers['content-disposition']
|
||||
if (contentDisposition) {
|
||||
@ -266,6 +271,14 @@ export default {
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(val.data.id);
|
||||
});
|
||||
} else if (val.type === 'configuration') {
|
||||
this.baseConfigShow = true
|
||||
const obj = {
|
||||
requirementListId:val.data.id
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.$refs.baseConfigOrList.init(obj)
|
||||
});
|
||||
}
|
||||
},
|
||||
// addOrUpdateHandle(productData) {
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-06-08 14:29:46
|
||||
* @LastEditTime: 2023-07-14 13:58:32
|
||||
* @LastEditTime: 2023-07-18 14:20:57
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -284,8 +284,11 @@ export default {
|
||||
})
|
||||
} else if (val.type === 'configuration') {
|
||||
this.baseConfigShow = true
|
||||
const obj = {
|
||||
knowledgeBaseId: val.data.id
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.$refs.baseConfigOrList.init(val.data.id)
|
||||
this.$refs.baseConfigOrList.init(obj)
|
||||
});
|
||||
}
|
||||
},
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-05-15 14:35:31
|
||||
* @LastEditTime: 2023-07-18 10:14:38
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -19,10 +19,10 @@
|
||||
<el-input v-model="dataForm.responsibilitie" :placeholder="$t('laboratory.responsibilitie')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="expectedReturnDate" :label="$t('gage.expectedReturnDate')">
|
||||
<el-date-picker v-model="dataForm.expectedReturnDate" type="datetime" :placeholder="$t('gage.expectedReturnDate')"
|
||||
format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
</el-date-picker>
|
||||
<el-form-item :label="$t('laboratory.timeSlot')" prop="timeSlot">
|
||||
<el-date-picker v-model="dataForm.timeSlot" size="small" type="datetimerange" format='yyyy-MM-dd HH:mm:ss'
|
||||
valueFormat='yyyy-MM-ddTHH:mm:ss' :start-placeholder="$t('gage.startTime')"
|
||||
:end-placeholder="$t('gage.endTime')" :range-separator="$t('gage.to')" clearable />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
@ -35,8 +35,8 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
submitURL: "/gage/qmsLaboratoryEmployeeResume",
|
||||
infoURL: "/gage/qmsLaboratoryEmployeeResume/{ id }",
|
||||
submitURL: "/laboratory/qmsLaboratoryEmployeeResume",
|
||||
infoURL: "/laboratory/qmsLaboratoryEmployeeResume/{ id }",
|
||||
dictionaryDetailList: '/mutual/qmsDataDictionaryDetail/page',
|
||||
getUserList: '/sys/user/page'
|
||||
// getTeamListURL: '/basic/qmsTeam/gape',
|
||||
@ -91,13 +91,13 @@ export default {
|
||||
department:null,
|
||||
endDate: null,
|
||||
id: null,
|
||||
timeSlot:undefined,
|
||||
laboratoryTesterId: null,
|
||||
position: null,
|
||||
remark: null,
|
||||
responsibilitie: null,
|
||||
startDate: null,
|
||||
id: null,
|
||||
laboratoryTesterId:null,
|
||||
},
|
||||
};
|
||||
},
|
||||
@ -133,13 +133,14 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
init(data) {
|
||||
console.log(data)
|
||||
this.dataForm.id = data.id ? data.id : ''
|
||||
this.dataForm.laboratoryTesterId = data.laboratoryTesterId ? data.laboratoryTesterId : ''
|
||||
// console.log(11111)
|
||||
// this.dataForm.dictTypeId = dictTypeId || "";
|
||||
this.visible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs["dataForm"].resetFields();
|
||||
this.$refs["dataForm"].resetFields()
|
||||
if (this.dataForm.id) {
|
||||
this.getInfo()
|
||||
} else {
|
||||
@ -183,7 +184,7 @@ export default {
|
||||
// 获取信息
|
||||
getInfo() {
|
||||
this.$http
|
||||
.get(`/gage/qmsLaboratoryEmployeeResume/${this.dataForm.id}`)
|
||||
.get(`/laboratory/qmsLaboratoryEmployeeResume/${this.dataForm.id}`)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
@ -195,6 +196,31 @@ export default {
|
||||
})
|
||||
.catch(() => { })
|
||||
},
|
||||
dataFormSubmit() {
|
||||
this.dataForm.endDate = this.dataForm.timeSlot ? this.dataForm.timeSlot[1] :undefined
|
||||
this.dataForm.startDate = this.dataForm.timeSlot ? this.dataForm.timeSlot[0] : undefined
|
||||
this.$refs["dataForm"].validate((valid) => {
|
||||
if (!valid) {
|
||||
return false;
|
||||
}
|
||||
this.$http[!this.dataForm.id ? "post" : "put"](this.urlOptions.submitURL, this.dataForm)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.$message({
|
||||
message: this.$t("prompt.success"),
|
||||
type: "success",
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
this.visible = false;
|
||||
this.$emit("refreshDataList");
|
||||
},
|
||||
});
|
||||
})
|
||||
.catch(() => { });
|
||||
});
|
||||
},
|
||||
// 表单提交
|
||||
dataFormSubmitHandle: debounce(
|
||||
function () {
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-17 16:17:07
|
||||
* @LastEditTime: 2023-07-18 10:52:15
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -110,15 +110,13 @@ export default {
|
||||
searchOrEditTitle: '',
|
||||
searchOrUpdateVisible: false,
|
||||
formConfig: [
|
||||
// {
|
||||
// type: "",
|
||||
// label: i18n.t("params.paramCode"),
|
||||
// placeholder: i18n.t("params.paramCode"),
|
||||
// param: "paramCode",
|
||||
// },
|
||||
// {
|
||||
// type: "separate",
|
||||
// },
|
||||
{
|
||||
type: 'input',
|
||||
label: i18n.t('basic.name'),
|
||||
placeholder: i18n.t('basic.name'),
|
||||
param: 'name',
|
||||
clearable: true
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('search'),
|
||||
@ -198,7 +196,7 @@ export default {
|
||||
buttonClick(val) {
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
// this.listQuery.paramCode = val.paramCode;
|
||||
this.listQuery.name = val.name ?val.name : null
|
||||
this.listQuery.page = 1
|
||||
this.getDataList();
|
||||
break;
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-14 09:53:37
|
||||
* @LastEditTime: 2023-07-18 15:22:30
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -117,12 +117,6 @@ export default {
|
||||
name: "add",
|
||||
color: "primary",
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('export'),
|
||||
name: "export",
|
||||
color: "primary",
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('search'),
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-14 09:53:46
|
||||
* @LastEditTime: 2023-07-18 15:22:25
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -113,12 +113,6 @@ export default {
|
||||
name: "add",
|
||||
color: "primary",
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('export'),
|
||||
name: "export",
|
||||
color: "primary",
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('search'),
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-06-20 15:34:33
|
||||
* @LastEditTime: 2023-07-18 15:22:19
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -112,12 +112,6 @@ export default {
|
||||
name: "add",
|
||||
color: "primary",
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('export'),
|
||||
name: "export",
|
||||
color: "primary",
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('search'),
|
||||
|
264
src/views/modules/quality/characteristics.vue
Normal file
264
src/views/modules/quality/characteristics.vue
Normal file
@ -0,0 +1,264 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-07-18 10:25:03
|
||||
* @LastEditTime: 2023-07-18 11:23:59
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__user">
|
||||
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
|
||||
</SearchBar>
|
||||
<base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1"
|
||||
:limit="listQuery.limit" :table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
||||
@clickBtn="handleClick" />
|
||||
</base-table>
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
@confirm="handleConfirm" :before-close="handleCancel">
|
||||
<!-- <product-add ref="addOrUpdate" @refreshDataList="successSubmit"></product-add> -->
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
</base-dialog>
|
||||
<characterShow ref="characterShowList" v-if="characterShowList" @refreshDataList="getDataList">
|
||||
</characterShow>
|
||||
<!-- <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<product-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit"></product-search>
|
||||
<el-row slot="footer" type="flex" justify="end">
|
||||
<el-col :span="12">
|
||||
<el-button size="small" type="primary" plain class="btnTextStyle" @click="handleSearchCancel">
|
||||
{{ $t("close") }}
|
||||
</el-button>
|
||||
<el-button size="small" class="btnTextStyle" type="primary" plain @click="handleSearchReset">{{ $t("reset")
|
||||
}}</el-button>
|
||||
<el-button type="primary" size="small" class="btnTextStyle" @click="handleSearchConfirm">
|
||||
{{ $t("search") }}
|
||||
</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</base-dialog> -->
|
||||
</div>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import basicPage from "@/mixins/basic-page";
|
||||
// import basicSearch from "@/mixins/basic-search";
|
||||
// import productSearch from "./components/productSearch.vue";
|
||||
// import productAdd from "./components/product-add.vue";
|
||||
import isHave from "./components/isHave.vue";
|
||||
import characterShow from "./components/character-show.vue";
|
||||
|
||||
// import radio from "./components/radio.vue";
|
||||
import i18n from "@/i18n";
|
||||
// import i18n from "@/i18n";
|
||||
const tableProps = [
|
||||
{
|
||||
prop: "productCode",
|
||||
label: i18n.t('basic.code'),
|
||||
},
|
||||
{
|
||||
prop: "productName",
|
||||
label: i18n.t('basic.name'),
|
||||
},
|
||||
{
|
||||
prop: "productSpecs",
|
||||
label: i18n.t('basic.specification'),
|
||||
},
|
||||
{
|
||||
prop: "productTypeName",
|
||||
label: i18n.t('basic.productTypeName'),
|
||||
},
|
||||
// {
|
||||
// prop: "detail",
|
||||
// label: i18n.t('basic.InspectionStage'),
|
||||
// subcomponent: radio,
|
||||
// },
|
||||
{
|
||||
prop: "inspectionPlan",
|
||||
label: i18n.t('quality.inspectionPlan'),
|
||||
subcomponent: isHave,
|
||||
},
|
||||
];
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "characteristics",
|
||||
btnName: i18n.t('code.characteristics'),
|
||||
}
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
getDataListURL: "/basic/qmsProduct/page",
|
||||
deleteURL: "/basic/qmsProduct",
|
||||
exportURL: '/basic/qmsProduct/export',
|
||||
getProductTypeURL: '/basic/qmsProductType/page'
|
||||
},
|
||||
tableProps,
|
||||
tableBtn,
|
||||
productData: {},
|
||||
characterShowList:false,
|
||||
searchOrEditTitle: "",
|
||||
searchOrUpdateVisible: false,
|
||||
productOrEditTitle: "",
|
||||
addOrEditTitle: '',
|
||||
addOrUpdateVisible: false,
|
||||
productOrUpdateVisible: false,
|
||||
formConfig: [
|
||||
{
|
||||
type: 'input',
|
||||
label: i18n.t('basic.productCode'),
|
||||
placeholder: i18n.t('basic.productCode'),
|
||||
param: 'productName',
|
||||
clearable: true
|
||||
},
|
||||
{
|
||||
type: 'input',
|
||||
label: i18n.t('basic.productName'),
|
||||
placeholder: i18n.t('basic.productName'),
|
||||
param: 'productCode',
|
||||
clearable: true
|
||||
},
|
||||
{
|
||||
type: 'input',
|
||||
label: i18n.t('basic.specification'),
|
||||
placeholder: i18n.t('basic.specification'),
|
||||
param: 'productSpecs',
|
||||
clearable: true
|
||||
},
|
||||
{
|
||||
type: 'select',
|
||||
label: i18n.t('code.inspectionPlan'),
|
||||
placeholder: i18n.t('code.inspectionPlan'),
|
||||
param: 'inspectionPlan',
|
||||
selectOptions: [
|
||||
{
|
||||
id: '0',
|
||||
name: '没有'
|
||||
},
|
||||
{
|
||||
id: '1',
|
||||
name: '有'
|
||||
},
|
||||
],
|
||||
clearable: true,
|
||||
filterable: true
|
||||
},
|
||||
{
|
||||
type: 'select',
|
||||
label: i18n.t('code.productType'),
|
||||
placeholder: i18n.t('code.productType'),
|
||||
param: 'productTypeId',
|
||||
selectOptions: [],
|
||||
clearable: true,
|
||||
filterable: true
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
}
|
||||
],
|
||||
};
|
||||
},
|
||||
components: {
|
||||
// productAdd
|
||||
characterShow
|
||||
},
|
||||
mounted () {
|
||||
this.getDict()
|
||||
},
|
||||
methods: {
|
||||
//search-bar点击
|
||||
handleProductCancel() {
|
||||
this.productOrUpdateVisible = false;
|
||||
this.productOrEditTitle = "";
|
||||
},
|
||||
setCurrent(index) {
|
||||
this.$refs.palletTable1.setCurrent("palletTable", index);
|
||||
},
|
||||
// handleSearchCancel() {
|
||||
// this.searchOrEditTitle = "";
|
||||
// this.searchOrUpdateVisible = false;
|
||||
// },
|
||||
conditionSearch() {
|
||||
this.searchOrEditTitle = "搜索";
|
||||
this.searchOrUpdateVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.searchOrUpdate.init()
|
||||
});
|
||||
},
|
||||
// handleConfirm() {
|
||||
// this.$refs.addOrUpdate.dataFormSubmitHandle();
|
||||
// },
|
||||
// conditionSearchSubmit() {},
|
||||
// conditionSearchSubmit(dataForm) {
|
||||
// // console.log(key);
|
||||
// // console.log(key);
|
||||
// this.listQuery.productName = dataForm.productName
|
||||
// this.listQuery.productCode = dataForm.productCode
|
||||
// this.listQuery.page = 1;
|
||||
// this.getDataList()
|
||||
// this.searchOrUpdateVisible = false;
|
||||
// // console.log(11111);
|
||||
// // this.conditionSearchSubmit();
|
||||
// },
|
||||
handleClick(val) {
|
||||
if (val.type === 'characteristics') {
|
||||
this.characterShowList = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.characterShowList.init(val.data.id)
|
||||
})
|
||||
}
|
||||
},
|
||||
getDict() {
|
||||
this.$http
|
||||
.get(this.urlOptions.getProductTypeURL, {
|
||||
params: this.listQuery,
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code == 0) {
|
||||
this.formConfig[4].selectOptions = res.data.list.map((item) => {
|
||||
return {
|
||||
id:item.id,
|
||||
name: item.productTypeName,
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
buttonClick(val) {
|
||||
console.log(val);
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
// this.listQuery.paramCode = val.paramCode;
|
||||
this.listQuery.productName = val.productName ? val.productName : null
|
||||
this.listQuery.productCode = val.productCode ? val.productCode : null
|
||||
this.listQuery.productTypeId = val.productTypeId ? val.productTypeId : null
|
||||
this.listQuery.productSpecs = val.productSpecs ? val.productSpecs : null
|
||||
this.listQuery.inspectionPlan = val.inspectionPlan ? val.inspectionPlan : null
|
||||
|
||||
// console.log(i18n);
|
||||
this.listQuery.page = 1;
|
||||
this.getDataList();
|
||||
break;
|
||||
case "add":
|
||||
this.addOrEditTitle = '新增'
|
||||
this.addOrUpdateVisible = true
|
||||
this.addOrUpdateHandle()
|
||||
break;
|
||||
default:
|
||||
console.log(val);
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
351
src/views/modules/quality/components/character-show.vue
Normal file
351
src/views/modules/quality/components/character-show.vue
Normal file
@ -0,0 +1,351 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-07-18 10:25:03
|
||||
* @LastEditTime: 2023-07-18 14:14:55
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-drawer title="特性" :visible.sync="drawer" size="70%">
|
||||
<div class="mod-sys__user">
|
||||
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
|
||||
</SearchBar>
|
||||
<base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1"
|
||||
:limit="listQuery.limit" :table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
||||
@clickBtn="handleClick" />
|
||||
</base-table>
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<characterShowAdd ref="characterShowAddList" v-if="characterShowAddList" @refreshDataList="getDataList">
|
||||
</characterShowAdd>
|
||||
<!-- <base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<product-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit"></product-search>
|
||||
<el-row slot="footer" type="flex" justify="end">
|
||||
<el-col :span="12">
|
||||
<el-button size="small" type="primary" plain class="btnTextStyle" @click="handleSearchCancel">
|
||||
{{ $t("close") }}
|
||||
</el-button>
|
||||
<el-button size="small" class="btnTextStyle" type="primary" plain @click="handleSearchReset">{{ $t("reset")
|
||||
}}</el-button>
|
||||
<el-button type="primary" size="small" class="btnTextStyle" @click="handleSearchConfirm">
|
||||
{{ $t("search") }}
|
||||
</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</base-dialog> -->
|
||||
</div>
|
||||
</el-drawer>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import basicPage from "@/mixins/basic-page";
|
||||
// import basicSearch from "@/mixins/basic-search";
|
||||
// import productSearch from "./components/productSearch.vue";
|
||||
import characterShowAdd from "./characterShow-add.vue";
|
||||
import quality from '@/filters/quality'
|
||||
|
||||
import i18n from "@/i18n";
|
||||
// import i18n from "@/i18n";
|
||||
const tableProps = [
|
||||
{
|
||||
prop: "processName",
|
||||
label: i18n.t('researchquality.processName'),
|
||||
},
|
||||
{
|
||||
prop: "productName",
|
||||
label: i18n.t('basic.productName'),
|
||||
},
|
||||
{
|
||||
prop: "inspectionType",
|
||||
label: i18n.t('quality.inspectionType'),
|
||||
filter: quality('inspectionType')
|
||||
},
|
||||
{
|
||||
prop: "parameterCode",
|
||||
label: i18n.t('quality.parameterCode'),
|
||||
},
|
||||
{
|
||||
prop: "parameterName",
|
||||
label: i18n.t('quality.parameterName'),
|
||||
},
|
||||
{
|
||||
prop: "measuringToolsType",
|
||||
label: i18n.t('quality.measuringToolsType'),
|
||||
},
|
||||
{
|
||||
prop: "specifications",
|
||||
label: i18n.t('quality.specifications'),
|
||||
},
|
||||
{
|
||||
prop: "characteristicsType",
|
||||
label: i18n.t('quality.characteristicsType'),
|
||||
filter: quality('characteristicsType')
|
||||
},
|
||||
{
|
||||
prop: "source",
|
||||
label: i18n.t('quality.source'),
|
||||
},
|
||||
{
|
||||
prop: "company",
|
||||
label: i18n.t('quality.company'),
|
||||
},
|
||||
{
|
||||
prop: "sampleSize",
|
||||
label: i18n.t('quality.sampleSize'),
|
||||
},
|
||||
{
|
||||
prop: "decimalDigits",
|
||||
label: i18n.t('quality.decimalDigits'),
|
||||
},
|
||||
{
|
||||
prop: "monitor",
|
||||
label: i18n.t('quality.monitor'),
|
||||
filter: quality('monitor')
|
||||
},
|
||||
{
|
||||
prop: "analyzeDrawings",
|
||||
label: i18n.t('quality.analyzeDrawings'),
|
||||
},
|
||||
{
|
||||
prop: "upperSpecificationLimit",
|
||||
label: i18n.t('quality.upperSpecificationLimit'),
|
||||
},
|
||||
{
|
||||
prop: "specificationCenterline",
|
||||
label: i18n.t('quality.specificationCenterline'),
|
||||
},
|
||||
{
|
||||
prop: "specificationOffline",
|
||||
label: i18n.t('quality.specificationOffline'),
|
||||
},
|
||||
{
|
||||
prop: "targetCpk",
|
||||
label: i18n.t('quality.targetCpk'),
|
||||
},
|
||||
{
|
||||
prop: "targetPpk",
|
||||
label: i18n.t('quality.targetPpk'),
|
||||
},
|
||||
];
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: i18n.t('edit'),
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: i18n.t('delete'),
|
||||
}
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
getDataListURL: "/code/characteristics/page",
|
||||
deleteURL: "/code/characteristics",
|
||||
exportURL: '/code/characteristics/export',
|
||||
// getProductTypeURL: '/basic/qmsProductType/page'
|
||||
},
|
||||
drawer:false,
|
||||
tableProps,
|
||||
characterShowAddList:false,
|
||||
tableBtn,
|
||||
productData: {},
|
||||
searchOrEditTitle: "",
|
||||
searchOrUpdateVisible: false,
|
||||
productOrEditTitle: "",
|
||||
addOrEditTitle: '',
|
||||
addOrUpdateVisible: false,
|
||||
productOrUpdateVisible: false,
|
||||
formConfig: [
|
||||
// {
|
||||
// type: 'input',
|
||||
// label: i18n.t('basic.productCode'),
|
||||
// placeholder: i18n.t('basic.productCode'),
|
||||
// param: 'name',
|
||||
// clearable: true
|
||||
// },
|
||||
// {
|
||||
// type: 'input',
|
||||
// label: i18n.t('basic.productName'),
|
||||
// placeholder: i18n.t('basic.productName'),
|
||||
// param: 'code',
|
||||
// clearable: true
|
||||
// },
|
||||
// {
|
||||
// type: 'input',
|
||||
// label: i18n.t('basic.specification'),
|
||||
// placeholder: i18n.t('basic.specification'),
|
||||
// param: 'code',
|
||||
// clearable: true
|
||||
// },
|
||||
// {
|
||||
// type: 'select',
|
||||
// label: i18n.t('basic.inspectionPlan'),
|
||||
// placeholder: i18n.t('basic.inspectionPlan'),
|
||||
// param: 'code',
|
||||
// selectOptions: [
|
||||
// {
|
||||
// id: '0',
|
||||
// name: '没有'
|
||||
// },
|
||||
// {
|
||||
// id: '1',
|
||||
// name: '有'
|
||||
// },
|
||||
// ],
|
||||
// clearable: true,
|
||||
// filterable: true
|
||||
// },
|
||||
// {
|
||||
// type: 'select',
|
||||
// label: i18n.t('code.productType'),
|
||||
// placeholder: i18n.t('code.productType'),
|
||||
// param: 'code',
|
||||
// selectOptions: [],
|
||||
// clearable: true,
|
||||
// filterable: true
|
||||
// },
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: "success",
|
||||
plain: true
|
||||
}
|
||||
],
|
||||
};
|
||||
},
|
||||
components: {
|
||||
// productAdd
|
||||
characterShowAdd
|
||||
},
|
||||
mounted() {
|
||||
// this.getDict()
|
||||
},
|
||||
methods: {
|
||||
//search-bar点击
|
||||
handleProductCancel() {
|
||||
this.productOrUpdateVisible = false;
|
||||
this.productOrEditTitle = "";
|
||||
},
|
||||
// handleSearchCancel() {
|
||||
// this.searchOrEditTitle = "";
|
||||
// this.searchOrUpdateVisible = false;
|
||||
// },
|
||||
init(id) {
|
||||
this.listQuery.productId = id || ""
|
||||
// console.log(11111)
|
||||
// this.dataForm.dictTypeId = dictTypeId || "";
|
||||
this.drawer = true
|
||||
this.$nextTick(() => {
|
||||
// if (this.dataForm.id) {
|
||||
this.getDataList()
|
||||
// } else {
|
||||
// this.getCode()
|
||||
// }
|
||||
});
|
||||
},
|
||||
conditionSearch() {
|
||||
this.searchOrEditTitle = "搜索";
|
||||
this.searchOrUpdateVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.searchOrUpdate.init()
|
||||
});
|
||||
},
|
||||
// handleConfirm() {
|
||||
// this.$refs.addOrUpdate.dataFormSubmitHandle();
|
||||
// },
|
||||
// conditionSearchSubmit() {},
|
||||
conditionSearchSubmit(dataForm) {
|
||||
// console.log(key);
|
||||
// console.log(key);
|
||||
this.listQuery.productName = dataForm.productName
|
||||
this.listQuery.productCode = dataForm.productCode
|
||||
this.listQuery.page = 1;
|
||||
this.getDataList()
|
||||
this.searchOrUpdateVisible = false;
|
||||
// console.log(11111);
|
||||
// this.conditionSearchSubmit();
|
||||
},
|
||||
handleClick(val) {
|
||||
console.log(val);
|
||||
if (val.type === "delete") {
|
||||
this.$confirm(`确定对名称${val.data.productName}]进行删除操作?`, "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message({
|
||||
message: "操作成功",
|
||||
type: "success",
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.getDataList()
|
||||
},
|
||||
});
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(() => { });
|
||||
} else if (val.type === 'edit') {
|
||||
this.characterShowAddList = true
|
||||
const obj = {
|
||||
productId: this.listQuery.productId,
|
||||
id:val.data.id
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.$refs.characterShowAddList.init(obj)
|
||||
});
|
||||
}
|
||||
},
|
||||
// getDict() {
|
||||
// this.$http
|
||||
// .get(this.urlOptions.getProductTypeURL, {
|
||||
// params: this.listQuery,
|
||||
// })
|
||||
// .then(({ data: res }) => {
|
||||
// if (res.code == 0) {
|
||||
// this.formConfig[4].selectOptions = res.data.list
|
||||
// }
|
||||
// })
|
||||
// },
|
||||
buttonClick(val) {
|
||||
console.log(val);
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
this.listQuery.page = 1
|
||||
this.getDataList()
|
||||
break;
|
||||
case "add":
|
||||
this.characterShowAddList = true
|
||||
const obj = {
|
||||
productId:this.listQuery.productId
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.$refs.characterShowAddList.init(obj)
|
||||
})
|
||||
break;
|
||||
default:
|
||||
console.log(val);
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
380
src/views/modules/quality/components/characterShow-add.vue
Normal file
380
src/views/modules/quality/components/characterShow-add.vue
Normal file
@ -0,0 +1,380 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-07-14 13:44:46
|
||||
* @LastEditTime: 2023-07-18 15:01:40
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<div>
|
||||
<el-drawer close-on-press-escape :title="$t('add')" :append-to-body="true" :before-close="handleClose"
|
||||
:visible.sync="innerDrawer">
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="productId" :label="$t('basic.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('basic.productName')">
|
||||
<el-option v-for="item in productList" :key="item.id" :label="item.productName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="processId" :label="$t('researchquality.processName')">
|
||||
<el-select v-model="dataForm.processId" :placeholder="$t('researchquality.processName')">
|
||||
<el-option v-for="item in processList" :key="item.id" :label="item.processName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="measuringToolsType" :label="$t('quality.measuringToolsType')">
|
||||
<el-select v-model="dataForm.measuringToolsType" :placeholder="$t('quality.measuringToolsType')">
|
||||
<el-option v-for="item in gageTypeList" :key="item.id" :label="item.name" :value="item.name">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="monitor" :label="$t('quality.monitor')">
|
||||
<el-select v-model="dataForm.monitor" :placeholder="$t('quality.monitor')">
|
||||
<el-option v-for="item in monitorList" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="characteristicsType" :label="$t('quality.characteristicsType')">
|
||||
<el-select v-model="dataForm.characteristicsType" :placeholder="$t('quality.characteristicsType')">
|
||||
<el-option v-for="item in characteristicsTypeList" :key="item.value" :label="item.label"
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="inspectionType" :label="$t('quality.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('quality.inspectionType')">
|
||||
<el-option v-for="item in inspectionTypeList" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="parameterCode" :label="$t('quality.parameterCode')">
|
||||
<el-input v-model="dataForm.parameterCode" :placeholder="$t('quality.parameterCode')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="parameterName" :label="$t('quality.parameterName')">
|
||||
<el-input v-model="dataForm.parameterName" :placeholder="$t('quality.parameterName')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="specifications" :label="$t('quality.specifications')">
|
||||
<el-input v-model="dataForm.specifications" :placeholder="$t('quality.specifications')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="source" :label="$t('quality.source')">
|
||||
<el-input v-model="dataForm.source" :placeholder="$t('quality.source')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="company" :label="$t('quality.company')">
|
||||
<el-input v-model="dataForm.company" :placeholder="$t('quality.company')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="decimalDigits" :label="$t('quality.decimalDigits')">
|
||||
<el-input v-model="dataForm.decimalDigits" :placeholder="$t('quality.decimalDigits')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="sampleSize" :label="$t('quality.sampleSize')">
|
||||
<el-input v-model="dataForm.sampleSize" :placeholder="$t('quality.sampleSize')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="analyzeDrawings" :label="$t('quality.analyzeDrawings')">
|
||||
<el-input v-model="dataForm.analyzeDrawings" :placeholder="$t('quality.analyzeDrawings')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="upperSpecificationLimit" :label="$t('quality.upperSpecificationLimit')">
|
||||
<el-input v-model="dataForm.upperSpecificationLimit" :placeholder="$t('quality.upperSpecificationLimit')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="specificationCenterline" :label="$t('quality.specificationCenterline')">
|
||||
<el-input v-model="dataForm.specificationCenterline" :placeholder="$t('quality.specificationCenterline')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="specificationOffline" :label="$t('quality.specificationOffline')">
|
||||
<el-input v-model="dataForm.specificationOffline" :placeholder="$t('quality.specificationOffline')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="targetCpk" :label="$t('quality.targetCpk')">
|
||||
<el-input v-model="dataForm.targetCpk" :placeholder="$t('quality.targetCpk')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="targetPpk" :label="$t('quality.targetPpk')">
|
||||
<el-input v-model="dataForm.targetPpk" :placeholder="$t('quality.targetPpk')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="innerDrawer = false">{{ $t('cancel') }} </el-button>
|
||||
<el-button type="primary" @click="dataFormSubmit"> {{ $t('confirm') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import i18n from "@/i18n"
|
||||
import basicAdd from "@/mixins/basic-add"
|
||||
import debounce from "lodash/debounce"
|
||||
|
||||
export default {
|
||||
mixins: [basicAdd],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
submitURL: "/code/characteristics",
|
||||
getDictDataDetail: '/mutual/qmsDataDictionaryDetail/page',
|
||||
getProductListURL: '/basic/qmsProduct/page',
|
||||
getProcessURL: '/basic/qmsProcess/page',
|
||||
getGageTypeURL: "/gage/qmsGageType/page",
|
||||
},
|
||||
monitorList: [
|
||||
{
|
||||
value: 0,
|
||||
label: '否'
|
||||
},
|
||||
{
|
||||
value: 1,
|
||||
label: '是'
|
||||
},
|
||||
],
|
||||
characteristicsTypeList: [
|
||||
{
|
||||
value: 0,
|
||||
label: '计量'
|
||||
},
|
||||
{
|
||||
value: 1,
|
||||
label: '计数'
|
||||
},
|
||||
],
|
||||
inspectionTypeList: [{
|
||||
value: 0,
|
||||
label: '监控'
|
||||
},
|
||||
{
|
||||
value: 1,
|
||||
label: '电芯来料检验'
|
||||
},
|
||||
{
|
||||
value: 2,
|
||||
label: 'IQC抽检'
|
||||
},
|
||||
{
|
||||
value: 3,
|
||||
label: 'IQC抽检2'
|
||||
},
|
||||
{
|
||||
value: 4,
|
||||
label: '原料抽检'
|
||||
},
|
||||
{
|
||||
value: 5,
|
||||
label: '进货外观检验'
|
||||
},
|
||||
{
|
||||
value: 6,
|
||||
label: '库内原料检验'
|
||||
},
|
||||
{
|
||||
value: 7,
|
||||
label: '来料检验'
|
||||
},
|
||||
{
|
||||
value: 8,
|
||||
label: '胶片'
|
||||
},
|
||||
{
|
||||
value: 9,
|
||||
label: '抽检'
|
||||
},
|
||||
{
|
||||
value: 10,
|
||||
label: '巡检'
|
||||
}, {
|
||||
value: 11,
|
||||
label: '首检'
|
||||
},
|
||||
{
|
||||
value: 12,
|
||||
label: '末检'
|
||||
},
|
||||
{
|
||||
value: 13,
|
||||
label: '实时监测'
|
||||
},
|
||||
{
|
||||
value: 14,
|
||||
label: 'FQC抽检'
|
||||
},
|
||||
{
|
||||
value: 15,
|
||||
label: 'OQC抽检'
|
||||
},
|
||||
],
|
||||
processList: [],
|
||||
productList: [],
|
||||
gageTypeList:[],
|
||||
dataForm: {
|
||||
analyzeDrawings:null,
|
||||
characteristicsType: null,
|
||||
company: null,
|
||||
decimalDigits: null,
|
||||
id: null,
|
||||
inspectionType: null,
|
||||
measuringToolsType: null,
|
||||
monitor: null,
|
||||
parameterName: null,
|
||||
parameterCode: null,
|
||||
processId: null,
|
||||
productId: null,
|
||||
remark: null,
|
||||
sampleSize: null,
|
||||
serialNo: null,
|
||||
source: null,
|
||||
specificationCenterline: null,
|
||||
specificationOffline: null,
|
||||
specifications: null,
|
||||
targetCpk: null,
|
||||
targetPpk: null,
|
||||
upperSpecificationLimit: null,
|
||||
},
|
||||
innerDrawer: false,
|
||||
listQuery: {
|
||||
limit: 10,
|
||||
page:1,
|
||||
},
|
||||
categoryList:[],
|
||||
requirementList: [],
|
||||
knowledgeBaseList:[],
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
dataRule() {
|
||||
return {
|
||||
productId: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
parameterCode: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
parameterName: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "blur",
|
||||
},
|
||||
]
|
||||
};
|
||||
},
|
||||
},
|
||||
mounted () {
|
||||
this.getDict()
|
||||
// this.getAccessPath()
|
||||
},
|
||||
methods: {
|
||||
init(obj) {
|
||||
this.dataForm.productId = obj.productId || ''
|
||||
this.dataForm.id = obj.id || ''
|
||||
this.innerDrawer = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs["dataForm"].resetFields()
|
||||
if (this.dataForm.id) {
|
||||
this.getInfo()
|
||||
} else {
|
||||
// this.getCode()
|
||||
}
|
||||
})
|
||||
},
|
||||
handleClose() {
|
||||
this.innerDrawer = true
|
||||
this.$refs.dataForm.resetFields()
|
||||
},
|
||||
getDict() {
|
||||
this.$http
|
||||
.get(this.urlOptions.getProductListURL, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1,
|
||||
}
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
this.productList = res.data.list
|
||||
}
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getProcessURL, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1,
|
||||
}
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
this.processList = res.data.list
|
||||
}
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getGageTypeURL, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1,
|
||||
}
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
this.gageTypeList = res.data.list
|
||||
}
|
||||
})
|
||||
},
|
||||
getInfo() {
|
||||
this.$http
|
||||
.get(`/code/characteristics/${this.dataForm.id}`)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.dataForm = {
|
||||
...this.dataForm,
|
||||
...res.data,
|
||||
};
|
||||
})
|
||||
.catch(() => { });
|
||||
},
|
||||
// 表单提交
|
||||
dataFormSubmit() {
|
||||
this.$refs["dataForm"].validate((valid) => {
|
||||
if (!valid) {
|
||||
return false;
|
||||
}
|
||||
this.$http[!this.dataForm.id ? "post" : "put"](this.urlOptions.submitURL, this.dataForm)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.$message({
|
||||
message: this.$t("prompt.success"),
|
||||
type: "success",
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
this.innerDrawer = false;
|
||||
this.$emit("refreshDataList");
|
||||
},
|
||||
});
|
||||
})
|
||||
.catch(() => { });
|
||||
});
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
42
src/views/modules/quality/components/isHave.vue
Normal file
42
src/views/modules/quality/components/isHave.vue
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-31 09:49:36
|
||||
* @LastEditTime: 2023-07-18 10:28:40
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<span>
|
||||
<el-tag v-if="injectData.inspectionPlan === 1" type="success">有</el-tag>
|
||||
<el-tag v-else type="warning">没有</el-tag>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import { addDynamicRoute } from '@/router'
|
||||
export default {
|
||||
props: {
|
||||
injectData: {
|
||||
type: Object,
|
||||
default: () => ({})
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 子级
|
||||
// emitClick () {
|
||||
// // 路由参数
|
||||
// const routeParams = {
|
||||
// routeName: `${this.$route.name}__${this.injectData.id}`,
|
||||
// title: `${this.$route.meta.title} - ${this.injectData.dictType}`,
|
||||
// path: 'sys/dict-data',
|
||||
// params: {
|
||||
// dictTypeId: this.injectData.id
|
||||
// }
|
||||
// }
|
||||
// // 动态路由
|
||||
// addDynamicRoute(routeParams, this.$router)
|
||||
// }
|
||||
}
|
||||
}
|
||||
</script>
|
130
src/views/modules/quality/components/productSearch.vue
Normal file
130
src/views/modules/quality/components/productSearch.vue
Normal file
@ -0,0 +1,130 @@
|
||||
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-21 14:44:31
|
||||
* @LastEditTime: 2023-04-04 14:39:49
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-form :model="dataForm" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" label-width="120px">
|
||||
<el-form-item prop="productCode" :label="$t('basic.code')">
|
||||
<el-input v-model="dataForm.productCode" :placeholder="$t('basic.code')" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="productName" :label="$t('basic.name')">
|
||||
<el-input v-model="dataForm.productName" :placeholder="$t('basic.name')" clearable></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import debounce from "lodash/debounce";
|
||||
import basicAdd from "@/mixins/basic-add";
|
||||
export default {
|
||||
mixins: [basicAdd],
|
||||
data() {
|
||||
return {
|
||||
// urlOptions: {
|
||||
// submitURL: "/sys/params/",
|
||||
// infoURL: "/sys/params",
|
||||
// },
|
||||
visible: false,
|
||||
options: [{
|
||||
value: '0',
|
||||
label: '不可用'
|
||||
},
|
||||
{
|
||||
value: '1',
|
||||
label: '可用'
|
||||
}],
|
||||
dataForm: {
|
||||
productName: null,
|
||||
productCode: null
|
||||
},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
// dataRule() {
|
||||
// return {
|
||||
// paramCode: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t("validate.required"),
|
||||
// trigger: "blur",
|
||||
// },
|
||||
// ],
|
||||
// paramValue: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t("validate.required"),
|
||||
// trigger: "blur",
|
||||
// },
|
||||
// ],
|
||||
// };
|
||||
// },
|
||||
},
|
||||
methods: {
|
||||
// init(id) {
|
||||
// this.dataForm.id = id || "";
|
||||
// this.visible = true;
|
||||
// this.$nextTick(() => {
|
||||
// this.$refs["dataForm"].resetFields();
|
||||
// if (this.dataForm.id) {
|
||||
// this.getInfo();
|
||||
// }
|
||||
// });
|
||||
// },
|
||||
// 获取信息
|
||||
// getInfo() {
|
||||
// this.$http
|
||||
// .get(`/sys/params/${this.dataForm.id}`)
|
||||
// .then(({ data: res }) => {
|
||||
// if (res.code !== 0) {
|
||||
// return this.$message.error(res.msg);
|
||||
// }
|
||||
// this.dataForm = {
|
||||
// ...this.dataForm,
|
||||
// ...res.data,
|
||||
// };
|
||||
// })
|
||||
// .catch(() => {});
|
||||
// },
|
||||
// 表单提交
|
||||
handleConditionSearch() {
|
||||
this.$emit("successSubmit", this.dataForm);
|
||||
},
|
||||
// dataFormSubmitHandle: debounce(
|
||||
// function () {
|
||||
// // console.log(1111);
|
||||
// // this.visible = false;
|
||||
// this.$emit("successSubmit", this.dataForm.key);
|
||||
// // this.$refs["dataForm"].validate((valid) => {
|
||||
// // if (!valid) {
|
||||
// // return false;
|
||||
// // }
|
||||
// // this.$http[!this.dataForm.id ? "post" : "put"](
|
||||
// // "/sys/params",
|
||||
// // this.dataForm
|
||||
// // )
|
||||
// // .then(({ data: res }) => {
|
||||
// // if (res.code !== 0) {
|
||||
// // return this.$message.error(res.msg);
|
||||
// // }
|
||||
// // this.$message({
|
||||
// // message: this.$t("prompt.success"),
|
||||
// // type: "success",
|
||||
// // duration: 500,
|
||||
// // onClose: () => {
|
||||
|
||||
// // },
|
||||
// // });
|
||||
// // })
|
||||
// // .catch(() => {});
|
||||
// // });
|
||||
// },
|
||||
// 1000,
|
||||
// { leading: true, trailing: false }
|
||||
// ),
|
||||
},
|
||||
};
|
||||
</script>
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-12 14:30:40
|
||||
* @LastEditTime: 2023-07-18 10:20:59
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -185,18 +185,18 @@ export default {
|
||||
param: 'customSamplingCode',
|
||||
clearable: true
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: "success",
|
||||
plain: true
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
}
|
||||
],
|
||||
};
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-11 15:38:25
|
||||
* @LastEditTime: 2023-07-18 10:21:09
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -129,17 +129,17 @@ export default {
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
// plain: true,
|
||||
}
|
||||
],
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-12 14:43:09
|
||||
* @LastEditTime: 2023-07-18 10:21:26
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -114,18 +114,18 @@ export default {
|
||||
param: 'name',
|
||||
clearable: true
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: "success",
|
||||
plain: true
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
}
|
||||
],
|
||||
};
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-12 14:22:56
|
||||
* @LastEditTime: 2023-07-18 10:21:38
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -218,17 +218,17 @@ export default {
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: 'success',
|
||||
plain: true
|
||||
// plain: true,
|
||||
}
|
||||
],
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-12 14:30:03
|
||||
* @LastEditTime: 2023-07-18 10:21:47
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -129,18 +129,18 @@ export default {
|
||||
// {
|
||||
// type: "separate",
|
||||
// },
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: "success",
|
||||
plain: true
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
}
|
||||
],
|
||||
};
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-12 14:32:41
|
||||
* @LastEditTime: 2023-07-18 10:21:55
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -137,18 +137,18 @@ export default {
|
||||
param: 'code',
|
||||
clearable: true
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: "success",
|
||||
plain: true
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
}
|
||||
],
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user