客户质量新增 #26
@ -752,6 +752,8 @@ t.customerquality.first = '首次'
|
|||||||
t.customerquality.confidentialityAgreement = '保密协议'
|
t.customerquality.confidentialityAgreement = '保密协议'
|
||||||
t.customerquality.ppapGrade = ' ppap等级'
|
t.customerquality.ppapGrade = ' ppap等级'
|
||||||
t.customerquality.version = ' 版本'
|
t.customerquality.version = ' 版本'
|
||||||
|
t.customerquality.amendment = ' 修订'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
146
src/views/modules/customerquality/components/change-add.vue
Normal file
146
src/views/modules/customerquality/components/change-add.vue
Normal file
@ -0,0 +1,146 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zhp
|
||||||
|
* @Date: 2023-07-14 13:44:46
|
||||||
|
* @LastEditTime: 2023-07-19 14:48:19
|
||||||
|
* @LastEditors: zhp
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-drawer close-on-press-escape :title="!dataForm.id ? $t('add') : $t('edit')" size="40%" :append-to-body="true"
|
||||||
|
:closed="handleClose" :visible.sync="innerDrawer">
|
||||||
|
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||||
|
label-width="140px">
|
||||||
|
<el-form-item prop="changeHistory" label="Change History of this PPAP record">
|
||||||
|
<el-input clearable v-model="dataForm.changeHistory" placeholder="Change History of this PPAP record">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item prop="name" label=" name">
|
||||||
|
<el-input clearable v-model="dataForm.name" placeholder="name">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item prop="date" label="date">
|
||||||
|
<el-date-picker v-model="dataForm.date" type="datetime" format='yyyy-MM-dd HH:mm:ss'
|
||||||
|
valueFormat='yyyy-MM-ddTHH:mm:ss' placeholder="date">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button @click="innerDrawer = false">{{ $t('cancel') }} </el-button>
|
||||||
|
<el-button type="primary" @click="dataFormSubmit"> {{ $t('confirm') }}</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</el-drawer>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import i18n from "@/i18n"
|
||||||
|
import basicAdd from "@/mixins/basic-add"
|
||||||
|
import debounce from "lodash/debounce"
|
||||||
|
export default {
|
||||||
|
mixins: [basicAdd],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
urlOptions: {
|
||||||
|
submitURL: "/customerquality/qmsCustomerQualityProjectListChangeRecord",
|
||||||
|
},
|
||||||
|
dataForm: {
|
||||||
|
date:null,
|
||||||
|
name: null,
|
||||||
|
id: null,
|
||||||
|
changeHistory: null,
|
||||||
|
},
|
||||||
|
innerDrawer: false,
|
||||||
|
listQuery: {
|
||||||
|
limit: 10,
|
||||||
|
page:1,
|
||||||
|
},
|
||||||
|
requirementList: [],
|
||||||
|
knowledgeBaseList:[],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
dataRule() {
|
||||||
|
return {
|
||||||
|
knowledgeBaseId: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t("validate.required"),
|
||||||
|
trigger: "change",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
requirementListId: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t("validate.required"),
|
||||||
|
trigger: "change",
|
||||||
|
},
|
||||||
|
]
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(obj) {
|
||||||
|
// this.dataForm.knowledgeBaseId = obj.knowledgeBaseId || ''
|
||||||
|
// this.dataForm.requirementListId = obj.requirementListId || ''
|
||||||
|
this.dataForm.id = obj.id? obj.id :null
|
||||||
|
this.dataForm.customerQualityProjectListId = obj.customerQualityProjectListId ? obj.customerQualityProjectListId :null
|
||||||
|
this.innerDrawer = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs["dataForm"].resetFields()
|
||||||
|
if (this.dataForm.id) {
|
||||||
|
this.getInfo()
|
||||||
|
} else {
|
||||||
|
// this.getCode()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleClose() {
|
||||||
|
this.innerDrawer = true
|
||||||
|
this.$refs.dataForm.resetFields()
|
||||||
|
},
|
||||||
|
getInfo() {
|
||||||
|
this.$http
|
||||||
|
.get(`/customerquality/qmsCustomerQualityProjectListChangeRecord/${this.dataForm.id}`)
|
||||||
|
.then(({ data: res }) => {
|
||||||
|
if (res.code !== 0) {
|
||||||
|
return this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
this.dataForm = {
|
||||||
|
...this.dataForm,
|
||||||
|
...res.data,
|
||||||
|
};
|
||||||
|
})
|
||||||
|
.catch(() => { });
|
||||||
|
},
|
||||||
|
// 表单提交
|
||||||
|
dataFormSubmit() {
|
||||||
|
this.$refs["dataForm"].validate((valid) => {
|
||||||
|
if (!valid) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
this.$http[!this.dataForm.id ? "post" : "put"](this.urlOptions.submitURL, this.dataForm)
|
||||||
|
.then(({ data: res }) => {
|
||||||
|
if (res.code !== 0) {
|
||||||
|
return this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
this.$message({
|
||||||
|
message: this.$t("prompt.success"),
|
||||||
|
type: "success",
|
||||||
|
duration: 500,
|
||||||
|
onClose: () => {
|
||||||
|
this.innerDrawer = false;
|
||||||
|
this.$emit("refreshDataList");
|
||||||
|
},
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(() => { });
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
|
||||||
|
</style>
|
@ -1,13 +1,13 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-02-14 15:02:26
|
* @Date: 2023-02-14 15:02:26
|
||||||
* @LastEditTime: 2023-07-19 09:00:49
|
* @LastEditTime: 2023-07-19 16:17:25
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<el-dialog title="提示" :visible.sync="visible" width="50%" :before-close="handleClose">
|
<el-drawer close-on-press-escape title="提示" :visible.sync="visible" size="50%" :before-close="handleClose()">
|
||||||
<el-tabs @tab-click="handleClick" v-model="title" tab-position="left" style="margin-bottom: 30px;">
|
<el-tabs @tab-click="handleClickTab" v-model="title" tab-position="left" style="margin-bottom: 30px;">
|
||||||
<el-tab-pane label="项目概述" name="first">
|
<el-tab-pane label="项目概述" name="first">
|
||||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||||
label-width="120px">
|
label-width="120px">
|
||||||
@ -56,6 +56,14 @@
|
|||||||
:placeholder="$t('customerquality.previousVersionCode')">
|
:placeholder="$t('customerquality.previousVersionCode')">
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item prop="author" label="Author/Owner">
|
||||||
|
<el-input clearable v-model="dataForm.author" placeholder="Author/Owner">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item prop="releaser" label="releaser">
|
||||||
|
<el-input clearable v-model="dataForm.releaser" placeholder="releaser">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item prop="confidentialityAgreement" :label="$t('customerquality.first')">
|
<el-form-item prop="confidentialityAgreement" :label="$t('customerquality.first')">
|
||||||
<el-select clearable v-model="dataForm.confidentialityAgreement" :placeholder="$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"
|
<el-option v-for="item in confidentialityAgreementList" :key="item.id" :label="item.name"
|
||||||
@ -63,6 +71,18 @@
|
|||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item prop="nda" label="nda">
|
||||||
|
<el-select clearable v-model="dataForm.nda" placeholder="nda">
|
||||||
|
<el-option v-for="item in ndaList" :key="item.id" :label="item.name" :value="item.id">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item prop="status" label="状态">
|
||||||
|
<el-select clearable v-model="dataForm.status" placeholder="状态">
|
||||||
|
<el-option v-for="item in statusList" :key="item.id" :label="item.name" :value="item.id">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item prop="ppapGrade" :label="$t('customerquality.ppapGrade')">
|
<el-form-item prop="ppapGrade" :label="$t('customerquality.ppapGrade')">
|
||||||
<el-select clearable v-model="dataForm.ppapGrade" :placeholder="$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"
|
<el-option v-for="item in ppapGradeList" :key="item.id" :label="item.dataDictionaryDetailName"
|
||||||
@ -74,6 +94,10 @@
|
|||||||
<el-input clearable v-model="dataForm.version" :placeholder="$t('customerquality.version')">
|
<el-input clearable v-model="dataForm.version" :placeholder="$t('customerquality.version')">
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item prop="amendment" :label="$t('customerquality.amendment')">
|
||||||
|
<el-input clearable v-model="dataForm.amendment" :placeholder="$t('customerquality.amendment')">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item prop="description" :label="$t('customerquality.description')">
|
<el-form-item prop="description" :label="$t('customerquality.description')">
|
||||||
<el-input clearable v-model="dataForm.description" :placeholder="$t('customerquality.description')">
|
<el-input clearable v-model="dataForm.description" :placeholder="$t('customerquality.description')">
|
||||||
</el-input>
|
</el-input>
|
||||||
@ -85,35 +109,212 @@
|
|||||||
</span>
|
</span>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane :disabled="tabDisable" label="要求清单" name="second">
|
<el-tab-pane :disabled="tabDisable" label="要求清单" name="second">
|
||||||
<el-tree :data="treeData" show-checkbox @check="handleCheckChange" node-key="id">
|
<el-tree :default-checked-keys="defaultData" :data="treeData" show-checkbox @check="handleCheckChange"
|
||||||
|
node-key="id">
|
||||||
</el-tree>
|
</el-tree>
|
||||||
|
<span style="float: right;" class="dialog-footer">
|
||||||
|
<el-button @click="visible = false">{{ $t('cancel') }}</el-button>
|
||||||
|
<el-button type="primary" @click="projectListRequirementListDataFormSubmit()"> {{ $t('save')
|
||||||
|
}} </el-button>
|
||||||
|
</span>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane :disabled="tabDisable" label="封面生成" name="three">
|
<el-tab-pane :disabled="tabDisable" label="封面生成" name="three">
|
||||||
33333
|
<el-divider content-position="center">修订记录</el-divider>
|
||||||
</el-tab-pane>
|
<SearchBar :formConfigs="reviseFormConfig" ref="ruleForm" @headBtnClick="buttonClick">
|
||||||
<el-tab-pane :disabled="tabDisable" label="提交" name="four">
|
</SearchBar>
|
||||||
4444
|
<base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1"
|
||||||
|
:limit="listQuery.limit" :table-data="tableData">
|
||||||
|
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
||||||
|
@clickBtn="handleClick" />
|
||||||
|
</base-table>
|
||||||
|
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||||
|
@pagination="getDataList" />
|
||||||
|
<revise-add ref="reviseAddList" v-if="reviseAddShow" @refreshDataList="getDataList">
|
||||||
|
</revise-add>
|
||||||
|
<el-divider content-position="center">变更记录</el-divider>
|
||||||
|
<SearchBar :formConfigs="changeFormConfig" ref="ruleForm" @headBtnClick="changeButtonClick">
|
||||||
|
</SearchBar>
|
||||||
|
<base-table id="palletTable" :table-props="changeTableProps" :page="changeListQuery.page" ref="palletTable1"
|
||||||
|
:limit="changeListQuery.limit" :table-data="changeTableData">
|
||||||
|
<method-btn v-if="changeTableBtn.length" slot="handleBtn" :width="100" label="操作"
|
||||||
|
:method-list="changeTableBtn" @clickBtn="changeHandleClick" />
|
||||||
|
</base-table>
|
||||||
|
<pagination :limit.sync="changeListQuery.limit" :page.sync="changeListQuery.page" :total="changeListQuery.total"
|
||||||
|
@pagination="changeGetDataList" />
|
||||||
|
<change-add ref="changeAddList" v-if="changeAddShow" @refreshDataList="changeGetDataList">
|
||||||
|
</change-add>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</el-dialog>
|
</el-drawer>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import debounce from "lodash/debounce";
|
import debounce from "lodash/debounce"
|
||||||
import basicAdd from "@/mixins/basic-add";
|
import basicAdd from "@/mixins/basic-add"
|
||||||
|
import reviseAdd from "./revise-add"
|
||||||
|
import changeAdd from "./change-add"
|
||||||
|
import i18n from "@/i18n"
|
||||||
|
import { timeFormatter } from '@/filters'
|
||||||
|
const tableProps = [
|
||||||
|
{
|
||||||
|
prop: "revision",
|
||||||
|
label: 'revision',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "date",
|
||||||
|
label: 'date',
|
||||||
|
filter: timeFormatter
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "item",
|
||||||
|
label: 'Item/Section',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "essential",
|
||||||
|
label: 'Essential Changes',
|
||||||
|
// filter: timeFormatter
|
||||||
|
},
|
||||||
|
];
|
||||||
|
const tableBtn = [
|
||||||
|
{
|
||||||
|
type: "edit",
|
||||||
|
btnName: i18n.t('edit'),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "delete",
|
||||||
|
btnName: i18n.t('delete'),
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// type: "configuration",
|
||||||
|
// btnName: i18n.t('configuration'),
|
||||||
|
// }
|
||||||
|
];
|
||||||
|
const changeTableProps = [
|
||||||
|
{
|
||||||
|
prop: "changeHistory",
|
||||||
|
label: ' Change History of this PPAP record',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "date",
|
||||||
|
label: 'date',
|
||||||
|
filter: timeFormatter
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "name",
|
||||||
|
label: 'name',
|
||||||
|
},
|
||||||
|
];
|
||||||
|
const changeTableBtn = [
|
||||||
|
{
|
||||||
|
type: "edit",
|
||||||
|
btnName: i18n.t('edit'),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "delete",
|
||||||
|
btnName: i18n.t('delete'),
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// type: "configuration",
|
||||||
|
// btnName: i18n.t('configuration'),
|
||||||
|
// }
|
||||||
|
];
|
||||||
export default {
|
export default {
|
||||||
mixins: [basicAdd],
|
mixins: [basicAdd],
|
||||||
|
components: {
|
||||||
|
reviseAdd,
|
||||||
|
changeAdd
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
urlOptions: {
|
urlOptions: {
|
||||||
|
getReviseDataListURL: '/customerquality/qmsCustomerQualityProjectListRevisionRecord/page',
|
||||||
|
getChangeDataListURL: '/customerquality/qmsCustomerQualityProjectListChangeRecord/page',
|
||||||
|
changeDeleteURL: '/customerquality/qmsCustomerQualityProjectListChangeRecord',
|
||||||
|
reviseDeleteURL: '/customerquality/qmsCustomerQualityProjectListRevisionRecord',
|
||||||
submitURL: "/customerquality/qmsCustomerQualityProjectList",
|
submitURL: "/customerquality/qmsCustomerQualityProjectList",
|
||||||
infoURL: "/customerquality/qmsCustomerQualityProjectList//{id}",
|
infoURL: "/customerquality/qmsCustomerQualityProjectList//{id}",
|
||||||
getDictDataDetail: '/mutual/qmsDataDictionaryDetail/page',
|
getDictDataDetail: '/mutual/qmsDataDictionaryDetail/page',
|
||||||
getProductURL: '/basic/qmsProduct/page',
|
getProductURL: '/basic/qmsProduct/page',
|
||||||
getKnowledgeBaseURL: '/customerquality/qmsKnowledgeBase/page',
|
getKnowledgeBaseURL: '/customerquality/qmsKnowledgeBase/page',
|
||||||
getCustomerURL: '/basic/qmsCustomer/page',
|
getCustomerURL: '/basic/qmsCustomer/page',
|
||||||
getRequirementListURL: '/customerquality/qmsCustomerQualityRequirementList/page'
|
getRequirementListURL: '/customerquality/qmsCustomerQualityRequirementList/page',
|
||||||
|
getProjectRequirementListURL: '/customerquality/qmsCustomerQualityProjectListRequirementList/page',
|
||||||
|
projectListRequirementListSubmitURL: '/customerquality/qmsCustomerQualityProjectListRequirementList/savelist',
|
||||||
|
projectListRequirementListEditURL: '/customerquality/qmsCustomerQualityProjectListRequirementList/updatelist',
|
||||||
},
|
},
|
||||||
|
tableBtn,
|
||||||
|
reviseAddShow: false,
|
||||||
|
changeAddShow: false,
|
||||||
|
ndaList: [
|
||||||
|
{
|
||||||
|
id: '0',
|
||||||
|
name: '错号',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '1',
|
||||||
|
name: '对号',
|
||||||
|
}
|
||||||
|
],
|
||||||
|
statusList: [
|
||||||
|
{
|
||||||
|
id: '0',
|
||||||
|
name: '待审核',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '1',
|
||||||
|
name: '已完成',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '2',
|
||||||
|
name: '交付退回',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '3',
|
||||||
|
name: '审核拒绝',
|
||||||
|
}
|
||||||
|
],
|
||||||
|
reviseFormConfig: [
|
||||||
|
{
|
||||||
|
type: "button",
|
||||||
|
btnName: i18n.t('search'),
|
||||||
|
name: "search",
|
||||||
|
color: "primary",
|
||||||
|
// plain: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "button",
|
||||||
|
btnName: i18n.t('add'),
|
||||||
|
name: "add",
|
||||||
|
color: "success",
|
||||||
|
plain: true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
changeFormConfig: [
|
||||||
|
{
|
||||||
|
type: "button",
|
||||||
|
btnName: i18n.t('search'),
|
||||||
|
name: "search",
|
||||||
|
color: "primary",
|
||||||
|
// plain: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "button",
|
||||||
|
btnName: i18n.t('add'),
|
||||||
|
name: "add",
|
||||||
|
color: "success",
|
||||||
|
plain: true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
tableProps,
|
||||||
|
tableData: [],
|
||||||
|
changeTableProps,
|
||||||
|
changeTableData: [],
|
||||||
|
changeTableBtn,
|
||||||
|
listQuery: {
|
||||||
|
page: 1,
|
||||||
|
limit:10
|
||||||
|
},
|
||||||
|
checkArr:[],
|
||||||
customerQualityProjectListId:null,
|
customerQualityProjectListId:null,
|
||||||
productList: [],
|
productList: [],
|
||||||
title:'first',
|
title:'first',
|
||||||
@ -130,6 +331,7 @@ export default {
|
|||||||
name: '是',
|
name: '是',
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
defaultData:[],
|
||||||
confidentialityAgreementList: [
|
confidentialityAgreementList: [
|
||||||
{
|
{
|
||||||
id: '0',
|
id: '0',
|
||||||
@ -145,20 +347,27 @@ export default {
|
|||||||
visible: false,
|
visible: false,
|
||||||
listQuery: {
|
listQuery: {
|
||||||
limit: 999,
|
limit: 999,
|
||||||
page:1
|
page: 1,
|
||||||
|
total:0,
|
||||||
},
|
},
|
||||||
treeData: [{
|
changeListQuery: {
|
||||||
label: '必选项目',
|
limit: 999,
|
||||||
// id:1,
|
page: 1,
|
||||||
children: []
|
total: 0,
|
||||||
}],
|
},
|
||||||
|
treeData: [],
|
||||||
tabDisable:true,
|
tabDisable:true,
|
||||||
dataForm: {
|
dataForm: {
|
||||||
|
nda: null,
|
||||||
|
amendment: null,
|
||||||
|
status:null,
|
||||||
confidentialityAgreement:null,
|
confidentialityAgreement:null,
|
||||||
confirmDeliveryDate: null,
|
confirmDeliveryDate: null,
|
||||||
customerId: null,
|
customerId: null,
|
||||||
deliveryRequiredDate: null,
|
deliveryRequiredDate: null,
|
||||||
description:null,
|
description: null,
|
||||||
|
releaser: null,
|
||||||
|
author:null,
|
||||||
first: null,
|
first: null,
|
||||||
id: undefined,
|
id: undefined,
|
||||||
knowledgeBaseId: null,
|
knowledgeBaseId: null,
|
||||||
@ -223,10 +432,183 @@ export default {
|
|||||||
this.getSecondData()
|
this.getSecondData()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
changeGetDataList() {
|
||||||
|
this.listQuery.customerQualityProjectListId = this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId
|
||||||
|
this.dataListLoading = true;
|
||||||
|
this.$http
|
||||||
|
.get(this.urlOptions.getChangeDataListURL, {
|
||||||
|
params: this.listQuery,
|
||||||
|
})
|
||||||
|
.then(({ data: res }) => {
|
||||||
|
this.dataListLoading = false;
|
||||||
|
if (res.code !== 0) {
|
||||||
|
this.changeTableData = [];
|
||||||
|
this.listQuery.total = 0;
|
||||||
|
return this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
this.changeTableData = res.data.list;
|
||||||
|
this.changeListQuery.total = res.data.total;
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
this.dataListLoading = false;
|
||||||
|
})
|
||||||
|
},
|
||||||
|
changeHandleClick(val) {
|
||||||
|
if (val.type === "delete") {
|
||||||
|
this.$confirm(`确定对[名称=${val.data.customerTypeName}]进行删除操作?`, "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning",
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.$http.delete(this.urlOptions.reviseDeleteURL, { data: [val.data.id] }).then(({ data }) => {
|
||||||
|
if (data && data.code === 0) {
|
||||||
|
this.$message({
|
||||||
|
message: "操作成功",
|
||||||
|
type: "success",
|
||||||
|
duration: 1500,
|
||||||
|
onClose: () => {
|
||||||
|
this.getDataList()
|
||||||
|
},
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.$message.error(data.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(() => { });
|
||||||
|
} else if (val.type === 'edit') {
|
||||||
|
let obj = {
|
||||||
|
customerQualityProjectListId: this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId,
|
||||||
|
id: val.data.id
|
||||||
|
}
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.reviseAddList.init(obj)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
changeButtonClick(val) {
|
||||||
|
console.log(this.dataForm.id)
|
||||||
|
console.log(val);
|
||||||
|
switch (val.btnName) {
|
||||||
|
case "search":
|
||||||
|
this.listQuery.page = 1
|
||||||
|
this.getDataList()
|
||||||
|
break;
|
||||||
|
case "add":
|
||||||
|
this.changeAddShow = true
|
||||||
|
let obj = {
|
||||||
|
customerQualityProjectListId: this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId
|
||||||
|
}
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.changeAddList.init(obj)
|
||||||
|
})
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
}
|
||||||
|
},
|
||||||
|
getDataList() {
|
||||||
|
this.dataListLoading = true
|
||||||
|
this.listQuery.customerQualityProjectListId = this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId
|
||||||
|
this.$http
|
||||||
|
.get(this.urlOptions.getReviseDataListURL, {
|
||||||
|
params: this.listQuery,
|
||||||
|
})
|
||||||
|
.then(({ data: res }) => {
|
||||||
|
this.dataListLoading = false;
|
||||||
|
if (res.code !== 0) {
|
||||||
|
this.tableData = [];
|
||||||
|
this.listQuery.total = 0;
|
||||||
|
return this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
this.tableData = res.data.list;
|
||||||
|
this.listQuery.total = res.data.total;
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
this.dataListLoading = false;
|
||||||
|
})
|
||||||
|
},
|
||||||
handleClick(val) {
|
handleClick(val) {
|
||||||
if (this.customerQualityProjectListId === null) {
|
if (val.type === "delete") {
|
||||||
this.title = 'first'
|
this.$confirm(`确定对[revision为${val.data.revision}]进行删除操作?`, "提示", {
|
||||||
console.log(this.title)
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning",
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.$http.delete(this.urlOptions.changeDeleteURL, { data: [val.data.id] }).then(({ data }) => {
|
||||||
|
if (data && data.code === 0) {
|
||||||
|
this.$message({
|
||||||
|
message: "操作成功",
|
||||||
|
type: "success",
|
||||||
|
duration: 1500,
|
||||||
|
onClose: () => {
|
||||||
|
this.getDataList()
|
||||||
|
},
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.$message.error(data.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(() => { });
|
||||||
|
} else if (val.type === 'edit') {
|
||||||
|
let obj = {
|
||||||
|
customerQualityProjectListId: this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId,
|
||||||
|
id:val.data.id
|
||||||
|
}
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.reviseAddList.init(obj)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
buttonClick(val) {
|
||||||
|
console.log(this.dataForm.id)
|
||||||
|
console.log(val);
|
||||||
|
switch (val.btnName) {
|
||||||
|
case "search":
|
||||||
|
// this.listQuery.paramCode = val.paramCode;
|
||||||
|
// console.log(i18n);
|
||||||
|
this.listQuery.page = 1
|
||||||
|
this.getDataList()
|
||||||
|
break;
|
||||||
|
case "add":
|
||||||
|
this.reviseAddShow = true
|
||||||
|
let obj = {
|
||||||
|
customerQualityProjectListId: this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId
|
||||||
|
}
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.reviseAddList.init(obj)
|
||||||
|
})
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleClickTab(val) {
|
||||||
|
console.log(val);
|
||||||
|
if (val.name === 'second') {
|
||||||
|
this.$http
|
||||||
|
.get(this.urlOptions.getProjectRequirementListURL, {
|
||||||
|
params: {
|
||||||
|
limit: 999,
|
||||||
|
page: 1,
|
||||||
|
projectListId: this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.then(({ data: res }) => {
|
||||||
|
// this.dataListLoading = false;
|
||||||
|
if (res.code === 0) {
|
||||||
|
let arr = []
|
||||||
|
console.log(res.data.list)
|
||||||
|
res.data.list.forEach((item) => {
|
||||||
|
arr.push(item.customerQualityRequirementListId)
|
||||||
|
})
|
||||||
|
this.defaultData = arr
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else if (val.name === 'third') {
|
||||||
|
this.changeGetDataList()
|
||||||
|
this.getDataList()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
init(id) {
|
init(id) {
|
||||||
@ -234,6 +616,7 @@ export default {
|
|||||||
// this.dataForm.dictTypeId = dictTypeId || "";
|
// this.dataForm.dictTypeId = dictTypeId || "";
|
||||||
this.visible = true;
|
this.visible = true;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
|
// console.log(this.$refs.dataForm)
|
||||||
this.$refs["dataForm"].resetFields()
|
this.$refs["dataForm"].resetFields()
|
||||||
if (this.dataForm.id) {
|
if (this.dataForm.id) {
|
||||||
this.getInfo()
|
this.getInfo()
|
||||||
@ -244,7 +627,9 @@ export default {
|
|||||||
},
|
},
|
||||||
// 获取信息
|
// 获取信息
|
||||||
handleClose() {
|
handleClose() {
|
||||||
this.$refs["dataForm"].resetFields()
|
this.$emit("refreshDataList")
|
||||||
|
// console.log(this.$refs.dataForm)
|
||||||
|
// this.$refs.dataForm.resetFields()
|
||||||
},
|
},
|
||||||
getInfo() {
|
getInfo() {
|
||||||
this.$http
|
this.$http
|
||||||
@ -260,7 +645,7 @@ export default {
|
|||||||
this.customerQualityProjectListId = res.data.id
|
this.customerQualityProjectListId = res.data.id
|
||||||
this.tabDisable = false
|
this.tabDisable = false
|
||||||
})
|
})
|
||||||
.catch(() => {});
|
.catch(() => {})
|
||||||
},
|
},
|
||||||
getSecondData() {
|
getSecondData() {
|
||||||
this.$http
|
this.$http
|
||||||
@ -273,7 +658,7 @@ export default {
|
|||||||
.then(({ data: res }) => {
|
.then(({ data: res }) => {
|
||||||
// this.dataListLoading = false;
|
// this.dataListLoading = false;
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
this.treeData[0].children = res.data.list.map((item) => {
|
this.treeData = res.data.list.map((item) => {
|
||||||
return {
|
return {
|
||||||
label: item.requirementListName,
|
label: item.requirementListName,
|
||||||
id:item.id
|
id:item.id
|
||||||
@ -339,12 +724,57 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleCheckChange(data, v) {
|
handleCheckChange(data, v) {
|
||||||
this.checkArr = v.checkedKeys
|
this.checkArr = v.checkedKeys.map((item) => {
|
||||||
console.log(v)
|
return {
|
||||||
|
customerQualityProjectListId: this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId,
|
||||||
|
customerQualityRequirementListId:item
|
||||||
|
}
|
||||||
|
})
|
||||||
|
console.log(this.checkArr)
|
||||||
},
|
},
|
||||||
// handleNodeClick(data) {
|
// handleNodeClick(data) {
|
||||||
// console.log(data)
|
// console.log(data)
|
||||||
// },
|
// },
|
||||||
|
projectListRequirementListDataFormSubmit() {
|
||||||
|
if (this.defaultData.length !== 0) {
|
||||||
|
|
||||||
|
let customerQualityProjectListId = this.dataForm.id ? this.dataForm.id : this.customerQualityProjectListId
|
||||||
|
let list= this.checkArr
|
||||||
|
this.$http.put('/customerquality/qmsCustomerQualityProjectListRequirementList/updatelist?id='+customerQualityProjectListId,list )
|
||||||
|
.then(({ data: res }) => {
|
||||||
|
if (res.code !== 0) {
|
||||||
|
return this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
this.$message({
|
||||||
|
message: this.$t("prompt.success"),
|
||||||
|
type: "success",
|
||||||
|
duration: 500,
|
||||||
|
onClose: () => {
|
||||||
|
// this.title = 'second'
|
||||||
|
// this.tabDisable = false
|
||||||
|
// this.customerQualityProjectListId = res.data
|
||||||
|
},
|
||||||
|
})
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.$http.post(this.urlOptions.projectListRequirementListSubmitURL, this.checkArr)
|
||||||
|
.then(({ data: res }) => {
|
||||||
|
if (res.code !== 0) {
|
||||||
|
return this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
this.$message({
|
||||||
|
message: this.$t("prompt.success"),
|
||||||
|
type: "success",
|
||||||
|
duration: 500,
|
||||||
|
onClose: () => {
|
||||||
|
// this.title = 'second'
|
||||||
|
// this.tabDisable = false
|
||||||
|
// this.customerQualityProjectListId = res.data
|
||||||
|
},
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
dataFormSubmit() {
|
dataFormSubmit() {
|
||||||
this.$refs["dataForm"].validate((valid) => {
|
this.$refs["dataForm"].validate((valid) => {
|
||||||
if (!valid) {
|
if (!valid) {
|
||||||
@ -360,7 +790,6 @@ export default {
|
|||||||
type: "success",
|
type: "success",
|
||||||
duration: 500,
|
duration: 500,
|
||||||
onClose: () => {
|
onClose: () => {
|
||||||
// this.title = 'second'
|
|
||||||
this.tabDisable = false
|
this.tabDisable = false
|
||||||
this.customerQualityProjectListId = res.data
|
this.customerQualityProjectListId = res.data
|
||||||
},
|
},
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-02-14 15:02:26
|
* @Date: 2023-02-14 15:02:26
|
||||||
* @LastEditTime: 2023-07-18 16:54:41
|
* @LastEditTime: 2023-07-19 15:28:46
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -15,24 +15,6 @@
|
|||||||
<el-input clearable v-model="dataForm.knowledgeBaseName" :placeholder="$t('customerquality.knowledgeBaseName')">
|
<el-input clearable v-model="dataForm.knowledgeBaseName" :placeholder="$t('customerquality.knowledgeBaseName')">
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- <el-form-item prop="knowledgeBaseName" :label="$t('basic.status')">
|
|
||||||
<el-select v-model="dataForm.currentStage" :placeholder="$t('basic.status')">
|
|
||||||
<el-option v-for="item in currentStageList" :key="item.value" :label="item.label" :value="item.value">
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item prop="serialNumber" :label="$t('customerquality.serialNumber')">
|
|
||||||
<el-input v-model="dataForm.serialNumber" :placeholder="$t('customerquality.serialNumber')"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item prop="description" :label="$t('customerquality.description')">
|
|
||||||
<el-input v-model="dataForm.description" :placeholder="$t('customerquality.description')"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item prop="questionType" :label="$t('customerquality.questionType')">
|
|
||||||
<el-select v-model="dataForm.questionType" :placeholder="$t('customerquality.questionType')">
|
|
||||||
<el-option v-for="item in questionTypeList" :key="item.value" :label="item.label" :value="item.value">
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item> -->
|
|
||||||
<el-form-item prop="category" :label="$t('customerquality.category')">
|
<el-form-item prop="category" :label="$t('customerquality.category')">
|
||||||
<el-select clearable v-model="dataForm.category" :placeholder="$t('customerquality.category')">
|
<el-select clearable v-model="dataForm.category" :placeholder="$t('customerquality.category')">
|
||||||
<el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName" :value="item.id">
|
<el-option v-for="item in categoryList" :key="item.id" :label="item.dataDictionaryDetailName" :value="item.id">
|
||||||
@ -112,7 +94,7 @@ export default {
|
|||||||
.get(`/customerquality/qmsKnowledgeBase/${this.dataForm.id}`)
|
.get(`/customerquality/qmsKnowledgeBase/${this.dataForm.id}`)
|
||||||
.then(({ data: res }) => {
|
.then(({ data: res }) => {
|
||||||
if (res.code !== 0) {
|
if (res.code !== 0) {
|
||||||
return this.$message.error(res.msg);
|
return this.$message.error(res.msg)
|
||||||
}
|
}
|
||||||
this.dataForm = {
|
this.dataForm = {
|
||||||
...this.dataForm,
|
...this.dataForm,
|
||||||
|
@ -0,0 +1,241 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zhp
|
||||||
|
* @Date: 2023-07-14 13:44:46
|
||||||
|
* @LastEditTime: 2023-07-19 16:58:46
|
||||||
|
* @LastEditors: zhp
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-dialog close-on-press-escape :title="$t('configuration')" :append-to-body="true" :visible.sync="innerDrawer">
|
||||||
|
<el-divider content-position="center">项目清单详情</el-divider>
|
||||||
|
<el-table style="width: 100%" :data="getValues" :show-header="false">
|
||||||
|
<el-table-column v-for="(item, index) in getHeaders" :key="index" :prop="item">
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<el-divider content-position="center">修订记录</el-divider>
|
||||||
|
<el-table style="width: 100%" :data="getReviseValues" :show-header="false">
|
||||||
|
<el-table-column v-for="(item, index) in getReviseHeaders" :key="index" :prop="item">
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<el-divider content-position="center">更改记录</el-divider>
|
||||||
|
<el-table style="width: 100%" :data="getChangeValues" :show-header="false">
|
||||||
|
<el-table-column v-for="(item, index) in getChangeHeaders" :key="index" :prop="item">
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import i18n from "@/i18n"
|
||||||
|
// import basicAdd from "@/mixins/basic-add"
|
||||||
|
// import debounce from "lodash/debounce"
|
||||||
|
|
||||||
|
export default {
|
||||||
|
// mixins: [basicAdd],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
urlOptions: {
|
||||||
|
getReviseDataListURL: '/customerquality/qmsCustomerQualityProjectListRevisionRecord/page',
|
||||||
|
getChangeDataListURL: '/customerquality/qmsCustomerQualityProjectListChangeRecord/page',
|
||||||
|
submitURL: "/customerquality/knowledgeBaseRequirementListData",
|
||||||
|
getDictDataDetail: '/mutual/qmsDataDictionaryDetail/page'
|
||||||
|
},
|
||||||
|
headers: [
|
||||||
|
{
|
||||||
|
prop: 'productCode',
|
||||||
|
label: '产品编码',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'productName',
|
||||||
|
label: '产品名称',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'customerCode',
|
||||||
|
label: '客户编码',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'customerName',
|
||||||
|
label: '客户名称',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'author',
|
||||||
|
label: '作者',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'releaser',
|
||||||
|
label: '发布人',
|
||||||
|
}
|
||||||
|
],
|
||||||
|
reviseHeaders: [
|
||||||
|
{
|
||||||
|
prop: 'item',
|
||||||
|
label: 'Item/Section',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'revision',
|
||||||
|
label: 'revision',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'essential',
|
||||||
|
label: 'Essential Changes',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'date',
|
||||||
|
label: 'date',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
reviseTableData: [],
|
||||||
|
changeHeaders: [
|
||||||
|
{
|
||||||
|
prop: 'name',
|
||||||
|
label: 'name',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'changeHistory',
|
||||||
|
label: 'Change History of this PPAP record',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'date',
|
||||||
|
label: 'date',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
changeTableData: [],
|
||||||
|
tableData: [],
|
||||||
|
innerDrawer: false,
|
||||||
|
listQuery: {
|
||||||
|
limit: 3,
|
||||||
|
page: 1,
|
||||||
|
customerQualityProjectListId:null
|
||||||
|
},
|
||||||
|
categoryList:[],
|
||||||
|
requirementList: [],
|
||||||
|
knowledgeBaseList:[],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
getHeaders() {
|
||||||
|
return this.tableData.reduce((pre, cur, index) => pre.concat(`value${index}`), ['title'])
|
||||||
|
},
|
||||||
|
getValues() {
|
||||||
|
return this.headers.map(item => {
|
||||||
|
return this.tableData.reduce((pre, cur, index) => Object.assign(pre, { ['value' + index]: cur[item.prop] }), { 'title': item.label, });
|
||||||
|
});
|
||||||
|
},
|
||||||
|
getReviseHeaders() {
|
||||||
|
return this.reviseTableData.reduce((pre, cur, index) => pre.concat(`value${index}`), ['title'])
|
||||||
|
},
|
||||||
|
getReviseValues() {
|
||||||
|
return this.reviseHeaders.map(item => {
|
||||||
|
return this.reviseTableData.reduce((pre, cur, index) => Object.assign(pre, { ['value' + index]: cur[item.prop] }), { 'title': item.label, });
|
||||||
|
});
|
||||||
|
},
|
||||||
|
getChangeHeaders() {
|
||||||
|
return this.changeTableData.reduce((pre, cur, index) => pre.concat(`value${index}`), ['title'])
|
||||||
|
},
|
||||||
|
getChangeValues() {
|
||||||
|
return this.changeHeaders.map(item => {
|
||||||
|
return this.changeTableData.reduce((pre, cur, index) => Object.assign(pre, { ['value' + index]: cur[item.prop] }), { 'title': item.label, });
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
// this.getDict()
|
||||||
|
// this.getAccessPath()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(obj) {
|
||||||
|
// this.dataForm.knowledgeBaseRequirementListId = obj.knowledgeBaseRequirementListId || ''
|
||||||
|
// this.dataForm.knowledgeBaseRequirementListId = obj.knowledgeBaseRequirementListId || ''
|
||||||
|
this.id = obj.id || ''
|
||||||
|
this.listQuery.customerQualityProjectListId = obj.id
|
||||||
|
this.tableData.push(obj)
|
||||||
|
this.innerDrawer = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
// this.$refs["dataForm"].resetFields()
|
||||||
|
// if (this.dataForm.id) {
|
||||||
|
this.getInfo()
|
||||||
|
// } else {
|
||||||
|
// this.getCode()
|
||||||
|
// }
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getInfo() {
|
||||||
|
this.$http
|
||||||
|
.get(this.urlOptions.getReviseDataListURL, {
|
||||||
|
params: this.listQuery,
|
||||||
|
})
|
||||||
|
.then(({ data: res }) => {
|
||||||
|
// this.dataListLoading = false;
|
||||||
|
if (res.code !== 0) {
|
||||||
|
this.tableData = [];
|
||||||
|
// this.listQuery.total = 0;
|
||||||
|
return this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
this.reviseTableData = res.data.list;
|
||||||
|
this.listQuery.total = res.data.total;
|
||||||
|
})
|
||||||
|
this.$http
|
||||||
|
.get(this.urlOptions.getChangeDataListURL, {
|
||||||
|
params: this.listQuery,
|
||||||
|
})
|
||||||
|
.then(({ data: res }) => {
|
||||||
|
// this.dataListLoading = false;
|
||||||
|
if (res.code !== 0) {
|
||||||
|
this.tableData = [];
|
||||||
|
// this.listQuery.total = 0;
|
||||||
|
return this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
this.changeTableData = res.data.list;
|
||||||
|
this.listQuery.total = res.data.total;
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// getDict() {
|
||||||
|
// this.$http
|
||||||
|
// .get(this.urlOptions.getDictDataDetail, {
|
||||||
|
// params: {
|
||||||
|
// limit: 999,
|
||||||
|
// page: 1,
|
||||||
|
// dataDictionaryId: '1679670942635122690',
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
// .then(({ data: res }) => {
|
||||||
|
// // this.dataListLoading = false;
|
||||||
|
// if (res.code === 0) {
|
||||||
|
// this.categoryList = res.data.list
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
// },
|
||||||
|
|
||||||
|
// 表单提交
|
||||||
|
// dataFormSubmit() {
|
||||||
|
// this.$refs["dataForm"].validate((valid) => {
|
||||||
|
// if (!valid) {
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
// this.$http[!this.dataForm.id ? "post" : "put"](this.urlOptions.submitURL, this.dataForm)
|
||||||
|
// .then(({ data: res }) => {
|
||||||
|
// if (res.code !== 0) {
|
||||||
|
// return this.$message.error(res.msg);
|
||||||
|
// }
|
||||||
|
// this.$message({
|
||||||
|
// message: this.$t("prompt.success"),
|
||||||
|
// type: "success",
|
||||||
|
// duration: 500,
|
||||||
|
// onClose: () => {
|
||||||
|
// this.innerDrawer = false;
|
||||||
|
// this.$emit("refreshDataList");
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
// })
|
||||||
|
// .catch(() => { });
|
||||||
|
// });
|
||||||
|
// },
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
|
||||||
|
</style>
|
152
src/views/modules/customerquality/components/revise-add.vue
Normal file
152
src/views/modules/customerquality/components/revise-add.vue
Normal file
@ -0,0 +1,152 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zhp
|
||||||
|
* @Date: 2023-07-14 13:44:46
|
||||||
|
* @LastEditTime: 2023-07-19 14:38:48
|
||||||
|
* @LastEditors: zhp
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-drawer close-on-press-escape :title="!dataForm.id ? $t('add') : $t('edit')" size="40%" :append-to-body="true"
|
||||||
|
:closed="handleClose" :visible.sync="innerDrawer">
|
||||||
|
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||||
|
label-width="140px">
|
||||||
|
<el-form-item prop="essential" label="Essential Changes">
|
||||||
|
<el-input clearable v-model="dataForm.essential" placeholder="Essential Changes">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item prop="item" label=" Item / Section">
|
||||||
|
<el-input clearable v-model="dataForm.item" placeholder="Item/Section">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item prop="revision" label="revision">
|
||||||
|
<el-input clearable v-model="dataForm.revision" placeholder="Revision">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item prop="date" label="date">
|
||||||
|
<el-date-picker v-model="dataForm.date" type="datetime" format='yyyy-MM-dd HH:mm:ss'
|
||||||
|
valueFormat='yyyy-MM-ddTHH:mm:ss' placeholder="date">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button @click="innerDrawer = false">{{ $t('cancel') }} </el-button>
|
||||||
|
<el-button type="primary" @click="dataFormSubmit"> {{ $t('confirm') }}</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</el-drawer>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import i18n from "@/i18n"
|
||||||
|
import basicAdd from "@/mixins/basic-add"
|
||||||
|
import debounce from "lodash/debounce"
|
||||||
|
export default {
|
||||||
|
mixins: [basicAdd],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
urlOptions: {
|
||||||
|
submitURL: "/customerquality/qmsCustomerQualityProjectListRevisionRecord",
|
||||||
|
},
|
||||||
|
dataForm: {
|
||||||
|
date:null,
|
||||||
|
essential: null,
|
||||||
|
id: null,
|
||||||
|
item: null,
|
||||||
|
revision: null,
|
||||||
|
customerQualityProjectListId:null,
|
||||||
|
},
|
||||||
|
innerDrawer: false,
|
||||||
|
listQuery: {
|
||||||
|
limit: 10,
|
||||||
|
page:1,
|
||||||
|
},
|
||||||
|
requirementList: [],
|
||||||
|
knowledgeBaseList:[],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
dataRule() {
|
||||||
|
return {
|
||||||
|
knowledgeBaseId: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t("validate.required"),
|
||||||
|
trigger: "change",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
requirementListId: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t("validate.required"),
|
||||||
|
trigger: "change",
|
||||||
|
},
|
||||||
|
]
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(obj) {
|
||||||
|
// this.dataForm.knowledgeBaseId = obj.knowledgeBaseId || ''
|
||||||
|
// this.dataForm.requirementListId = obj.requirementListId || ''
|
||||||
|
this.dataForm.id = obj.id? obj.id :null
|
||||||
|
this.dataForm.customerQualityProjectListId = obj.customerQualityProjectListId ? obj.customerQualityProjectListId :null
|
||||||
|
this.innerDrawer = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs["dataForm"].resetFields()
|
||||||
|
if (this.dataForm.id) {
|
||||||
|
this.getInfo()
|
||||||
|
} else {
|
||||||
|
// this.getCode()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleClose() {
|
||||||
|
this.innerDrawer = true
|
||||||
|
this.$refs.dataForm.resetFields()
|
||||||
|
},
|
||||||
|
getInfo() {
|
||||||
|
this.$http
|
||||||
|
.get(`/customerquality/qmsCustomerQualityProjectListRevisionRecord/${this.dataForm.id}`)
|
||||||
|
.then(({ data: res }) => {
|
||||||
|
if (res.code !== 0) {
|
||||||
|
return this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
this.dataForm = {
|
||||||
|
...this.dataForm,
|
||||||
|
...res.data,
|
||||||
|
};
|
||||||
|
})
|
||||||
|
.catch(() => { });
|
||||||
|
},
|
||||||
|
// 表单提交
|
||||||
|
dataFormSubmit() {
|
||||||
|
this.$refs["dataForm"].validate((valid) => {
|
||||||
|
if (!valid) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
this.$http[!this.dataForm.id ? "post" : "put"](this.urlOptions.submitURL, this.dataForm)
|
||||||
|
.then(({ data: res }) => {
|
||||||
|
if (res.code !== 0) {
|
||||||
|
return this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
this.$message({
|
||||||
|
message: this.$t("prompt.success"),
|
||||||
|
type: "success",
|
||||||
|
duration: 500,
|
||||||
|
onClose: () => {
|
||||||
|
this.innerDrawer = false;
|
||||||
|
this.$emit("refreshDataList");
|
||||||
|
},
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(() => { });
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
|
||||||
|
</style>
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-06-08 14:29:46
|
* @Date: 2023-06-08 14:29:46
|
||||||
* @LastEditTime: 2023-07-18 14:37:28
|
* @LastEditTime: 2023-07-19 16:58:37
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -13,16 +13,73 @@
|
|||||||
<el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
|
<el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
|
||||||
</el-badge> -->
|
</el-badge> -->
|
||||||
</SearchBar>
|
</SearchBar>
|
||||||
<base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1"
|
<el-table :data="tableData" style="width: 100%">
|
||||||
:limit="listQuery.limit" :table-data="tableData">
|
<el-table-column type="expand">
|
||||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
<template slot-scope="props">
|
||||||
@clickBtn="handleClick" />
|
<el-form label-position="left" inline class="demo-table-expand">
|
||||||
</base-table>
|
<el-form-item :label="$t('customerquality.previousVersionCode')">
|
||||||
|
<span>{{ props.row.previousVersionCode }}</span>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item :label="$t('customerquality.ppapGrade')">
|
||||||
|
<span>{{ props.row.ppapGradeName }}</span>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item :label="$t('customerquality.description')">
|
||||||
|
<span>{{ props.row.description }}</span>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="nda">
|
||||||
|
<span>{{ props.row.nda ===0? '错号' : '对号'}}</span>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item :label="$t('customerquality.amendment')">
|
||||||
|
<span>{{ props.row.amendment }}</span>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column :label="$t('customerquality.productName')" prop="productName">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column :label="$t('customerquality.customerName')" prop="customerName">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column :formatter="timeFormatter" :label="$t('customerquality.qualityAcceptanceDate')"
|
||||||
|
prop="qualityAcceptanceDate">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column :formatter="timeFormatter" :label="$t('customerquality.confirmDeliveryDate')"
|
||||||
|
prop="confirmDeliveryDate">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column :formatter="timeFormatter" :label="$t('customerquality.deliveryRequiredDate')"
|
||||||
|
prop="deliveryRequiredDate">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column :label="$t('customerquality.status')" prop="status">
|
||||||
|
<template slot-scope="slot">
|
||||||
|
<!-- <el-button type="text" @click="start(slot.row)">启动</el-button> -->
|
||||||
|
<el-tag v-if="slot.row.status == 0" type="success"> 待审核</el-tag>
|
||||||
|
<el-tag v-if="slot.row.status == 1" type="success"> 已完成</el-tag>
|
||||||
|
<el-tag v-if="slot.row.status == 2" type="success"> 交付退回</el-tag>
|
||||||
|
<el-tag v-if="slot.row.status == 3" type="success"> 审核拒绝</el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" width="160" prop="desc">
|
||||||
|
<template slot-scope="slot">
|
||||||
|
<!-- <el-button type="text" @click="start(slot.row)">启动</el-button> -->
|
||||||
|
<el-button type="text" @click="handleEdit(slot.row)">
|
||||||
|
<i class="el-icon-edit"></i>
|
||||||
|
</el-button>
|
||||||
|
<el-button type="text" @click="handleDelete(slot.row)" style="color: red">
|
||||||
|
<i class="el-icon-delete"></i>
|
||||||
|
</el-button>
|
||||||
|
<el-button type="text" @click="handleShow(slot.row)">
|
||||||
|
{{ $t('configuration')}}
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||||
@pagination="getDataList" />
|
@pagination="getDataList" />
|
||||||
<!-- 弹窗, 新增 / 修改 -->
|
<!-- 弹窗, 新增 / 修改 -->
|
||||||
<customerQualityProjectList-add v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="successSubmit">
|
<customerQualityProjectList-add v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList">
|
||||||
</customerQualityProjectList-add>
|
</customerQualityProjectList-add>
|
||||||
|
<qualityProjectList-show v-if="qualityProjectListShow" ref="qualityProjectListShow"
|
||||||
|
@refreshDataList="getDataList">
|
||||||
|
</qualityProjectList-show>
|
||||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||||
<!-- </base-dialog> -->
|
<!-- </base-dialog> -->
|
||||||
<!-- <baseConfig ref="baseConfigOrList" v-if="baseConfigShow"></baseConfig> -->
|
<!-- <baseConfig ref="baseConfigOrList" v-if="baseConfigShow"></baseConfig> -->
|
||||||
@ -49,42 +106,16 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import basicPage from "@/mixins/basic-page"
|
// import basicPage from "@/mixins/basic-page"
|
||||||
// import basicSearch from "@/mixins/basic-search"
|
// import basicSearch from "@/mixins/basic-search"
|
||||||
// import projectTypeSearch from "./components/projectTypeSearch.vue"
|
// import projectTypeSearch from "./components/projectTypeSearch.vue"
|
||||||
// import customerquality from '@/filters/customerquality'
|
// import customerquality from '@/filters/customerquality'
|
||||||
import customerQualityProjectListAdd from "./components/customerQualityProjectList-add.vue"
|
import customerQualityProjectListAdd from "./components/customerQualityProjectList-add.vue"
|
||||||
// import baseConfig from "./components/baseConfig"
|
// import baseConfig from "./components/baseConfig"
|
||||||
|
import qualityProjectListShow from "./components/qualityProjectList-show.vue"
|
||||||
|
import { timeFormatter } from '@/filters'
|
||||||
import i18n from "@/i18n"
|
import i18n from "@/i18n"
|
||||||
// import i18n from "@/i18n";
|
// import i18n from "@/i18n";
|
||||||
const tableProps = [
|
|
||||||
{
|
|
||||||
prop: "productName",
|
|
||||||
label: i18n.t('customerquality.productName'),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: "customerName",
|
|
||||||
label: i18n.t('customerquality.customerName'),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: "qualityAcceptanceDate",
|
|
||||||
label: i18n.t('customerquality.qualityAcceptanceDate'),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: "confirmDeliveryDate",
|
|
||||||
label: i18n.t('customerquality.confirmDeliveryDate'),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: "deliveryRequiredDate",
|
|
||||||
label: i18n.t('customerquality.deliveryRequiredDate'),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: "status",
|
|
||||||
label: i18n.t('customerquality.status'),
|
|
||||||
}
|
|
||||||
];
|
|
||||||
const tableBtn = [
|
const tableBtn = [
|
||||||
{
|
{
|
||||||
type: "edit",
|
type: "edit",
|
||||||
@ -94,13 +125,13 @@ const tableBtn = [
|
|||||||
type: "delete",
|
type: "delete",
|
||||||
btnName: i18n.t('delete'),
|
btnName: i18n.t('delete'),
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
type: "configuration",
|
// type: "configuration",
|
||||||
btnName: i18n.t('configuration'),
|
// btnName: i18n.t('configuration'),
|
||||||
}
|
// }
|
||||||
];
|
];
|
||||||
export default {
|
export default {
|
||||||
mixins: [basicPage],
|
// mixins: [basicPage],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
urlOptions: {
|
urlOptions: {
|
||||||
@ -108,13 +139,14 @@ export default {
|
|||||||
deleteURL: "/customerquality/qmsCustomerQualityProjectList",
|
deleteURL: "/customerquality/qmsCustomerQualityProjectList",
|
||||||
exportURL: '/customerquality/qmsCustomerQualityProjectList/export'
|
exportURL: '/customerquality/qmsCustomerQualityProjectList/export'
|
||||||
},
|
},
|
||||||
tableProps,
|
tableData:[],
|
||||||
tableBtn,
|
|
||||||
productData: {},
|
productData: {},
|
||||||
dataForm:{
|
listQuery:{
|
||||||
limit: 999,
|
limit: 999,
|
||||||
page:1
|
page: 1,
|
||||||
|
total:0
|
||||||
},
|
},
|
||||||
|
timeFormatter,
|
||||||
baseConfigShow:false,
|
baseConfigShow:false,
|
||||||
searchOrEditTitle: "",
|
searchOrEditTitle: "",
|
||||||
searchOrUpdateVisible: false,
|
searchOrUpdateVisible: false,
|
||||||
@ -122,57 +154,8 @@ export default {
|
|||||||
addOrEditTitle: '',
|
addOrEditTitle: '',
|
||||||
addOrUpdateVisible: false,
|
addOrUpdateVisible: false,
|
||||||
productOrUpdateVisible: false,
|
productOrUpdateVisible: false,
|
||||||
|
qualityProjectListShow:false,
|
||||||
formConfig: [
|
formConfig: [
|
||||||
// {
|
|
||||||
// type: 'input',
|
|
||||||
// label: i18n.t('customerquality.customerName'),
|
|
||||||
// placeholder: i18n.t('customerquality.customerName'),
|
|
||||||
// param: 'customerName'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// type: 'select',
|
|
||||||
// label: i18n.t('customerquality.questionType'),
|
|
||||||
// placeholder: i18n.t('customerquality.questionType'),
|
|
||||||
// selectOptions: [
|
|
||||||
// {
|
|
||||||
// id: 0,
|
|
||||||
// name: '产品质量题'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// id: 1,
|
|
||||||
// name: '售后服务题'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// id: 2,
|
|
||||||
// name: '物流配送问题'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// id: 3,
|
|
||||||
// name: '单关问题'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// id: 4,
|
|
||||||
// name: '4系统故问题'
|
|
||||||
// }
|
|
||||||
// ],
|
|
||||||
// param: 'questionType'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// type: 'select',
|
|
||||||
// label: i18n.t('basic.status'),
|
|
||||||
// placeholder: i18n.t('basic.status'),
|
|
||||||
// selectOptions: [
|
|
||||||
// {
|
|
||||||
// id: 0,
|
|
||||||
// name: '不可用'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// id: 1,
|
|
||||||
// name: '可用'
|
|
||||||
// }
|
|
||||||
// ],
|
|
||||||
// param: 'status'
|
|
||||||
// },
|
|
||||||
{
|
{
|
||||||
type: "button",
|
type: "button",
|
||||||
btnName: i18n.t('search'),
|
btnName: i18n.t('search'),
|
||||||
@ -192,10 +175,34 @@ export default {
|
|||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
customerQualityProjectListAdd,
|
customerQualityProjectListAdd,
|
||||||
|
qualityProjectListShow
|
||||||
// baseConfig
|
// baseConfig
|
||||||
},
|
},
|
||||||
|
mounted () {
|
||||||
|
this.getDataList();
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
//search-bar点击
|
//search-bar点击
|
||||||
|
getDataList() {
|
||||||
|
this.dataListLoading = true;
|
||||||
|
this.$http
|
||||||
|
.get(this.urlOptions.getDataListURL, {
|
||||||
|
params: this.listQuery,
|
||||||
|
})
|
||||||
|
.then(({ data: res }) => {
|
||||||
|
this.dataListLoading = false;
|
||||||
|
if (res.code !== 0) {
|
||||||
|
this.tableData = [];
|
||||||
|
this.listQuery.total = 0;
|
||||||
|
return this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
this.tableData = res.data.list;
|
||||||
|
this.listQuery.total = res.data.total;
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
this.dataListLoading = false;
|
||||||
|
})
|
||||||
|
},
|
||||||
handleProductCancel() {
|
handleProductCancel() {
|
||||||
this.productOrUpdateVisible = false;
|
this.productOrUpdateVisible = false;
|
||||||
this.productOrEditTitle = "";
|
this.productOrEditTitle = "";
|
||||||
@ -262,15 +269,14 @@ export default {
|
|||||||
}
|
}
|
||||||
}).catch(() => { })
|
}).catch(() => { })
|
||||||
},
|
},
|
||||||
handleClick(val) {
|
handleDelete(val) {
|
||||||
if (val.type === "delete") {
|
this.$confirm(`确定对[名称${val.productName}]进行删除操作?`, "提示", {
|
||||||
this.$confirm(`确定对[名称=${val.data.customerTypeName}]进行删除操作?`, "提示", {
|
|
||||||
confirmButtonText: "确定",
|
confirmButtonText: "确定",
|
||||||
cancelButtonText: "取消",
|
cancelButtonText: "取消",
|
||||||
type: "warning",
|
type: "warning",
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
|
this.$http.delete(this.urlOptions.deleteURL, { data: [val.id] }).then(({ data }) => {
|
||||||
if (data && data.code === 0) {
|
if (data && data.code === 0) {
|
||||||
this.$message({
|
this.$message({
|
||||||
message: "操作成功",
|
message: "操作成功",
|
||||||
@ -286,13 +292,19 @@ export default {
|
|||||||
});
|
});
|
||||||
})
|
})
|
||||||
.catch(() => { });
|
.catch(() => { });
|
||||||
} else if (val.type === 'edit') {
|
},
|
||||||
this.addOrUpdateVisible = true
|
handleEdit(val) {
|
||||||
this.addOrEditTitle = this.$t('edit')
|
this.addOrUpdateVisible = true
|
||||||
this.$nextTick(() => {
|
this.addOrEditTitle = this.$t('edit')
|
||||||
this.$refs.addOrUpdate.init(val.data.id);
|
this.$nextTick(() => {
|
||||||
})
|
this.$refs.addOrUpdate.init(val.id);
|
||||||
}
|
})
|
||||||
|
},
|
||||||
|
handleShow(val) {
|
||||||
|
this.qualityProjectListShow = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.qualityProjectListShow.init(val)
|
||||||
|
})
|
||||||
},
|
},
|
||||||
// addOrUpdateHandle(productData) {
|
// addOrUpdateHandle(productData) {
|
||||||
// this.addOrUpdateVisible = true;
|
// this.addOrUpdateVisible = true;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-02-14 15:02:26
|
* @Date: 2023-02-14 15:02:26
|
||||||
* @LastEditTime: 2023-07-12 14:39:06
|
* @LastEditTime: 2023-07-19 15:53:12
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -37,7 +37,8 @@ export default {
|
|||||||
return {
|
return {
|
||||||
urlOptions: {
|
urlOptions: {
|
||||||
submitURL: "/quality/qmsInspectionPosition",
|
submitURL: "/quality/qmsInspectionPosition",
|
||||||
infoURL: "/quality/qmsInspectionPosition"
|
infoURL: "/quality/qmsInspectionPosition",
|
||||||
|
getCodeURL: '/quality/qmsInspectionPosition/getCode'
|
||||||
},
|
},
|
||||||
options: [{
|
options: [{
|
||||||
value: 0,
|
value: 0,
|
||||||
@ -94,21 +95,21 @@ export default {
|
|||||||
if (this.dataForm.id) {
|
if (this.dataForm.id) {
|
||||||
this.getInfo()
|
this.getInfo()
|
||||||
} else {
|
} else {
|
||||||
// this.getCode()
|
this.getCode()
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// getCode() {
|
getCode() {
|
||||||
// this.$http.post(this.urlOptions.getCodeURL)
|
this.$http.post(this.urlOptions.getCodeURL)
|
||||||
// .then(({ data: res }) => {
|
.then(({ data: res }) => {
|
||||||
// if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
// console.log(res);
|
console.log(res);
|
||||||
// this.dataForm.customSamplingCode = res.data
|
this.dataForm.inspectionPositionCode = res.data
|
||||||
// }
|
}
|
||||||
// })
|
})
|
||||||
// .catch(() => {
|
.catch(() => {
|
||||||
// });
|
});
|
||||||
// },
|
},
|
||||||
// 获取信息
|
// 获取信息
|
||||||
getInfo() {
|
getInfo() {
|
||||||
this.$http
|
this.$http
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-02-14 15:02:26
|
* @Date: 2023-02-14 15:02:26
|
||||||
* @LastEditTime: 2023-07-13 11:01:20
|
* @LastEditTime: 2023-07-19 16:10:31
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<el-form :model="dataForm" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" label-width="120px">
|
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||||
|
label-width="120px">
|
||||||
<el-form-item prop="title" :label="$t('researchquality.title')">
|
<el-form-item prop="title" :label="$t('researchquality.title')">
|
||||||
<el-input v-model="dataForm.title" :placeholder="$t('researchquality.title')">
|
<el-input v-model="dataForm.title" :placeholder="$t('researchquality.title')">
|
||||||
</el-input>
|
</el-input>
|
||||||
@ -81,48 +82,36 @@ export default {
|
|||||||
computed: {
|
computed: {
|
||||||
dataRule() {
|
dataRule() {
|
||||||
return {
|
return {
|
||||||
// dictLabel: [
|
title: [
|
||||||
// {
|
{
|
||||||
// required: true,
|
required: true,
|
||||||
// message: this.$t("validate.required"),
|
message: this.$t("validate.required"),
|
||||||
// trigger: "blur",
|
trigger: "blur",
|
||||||
// },
|
},
|
||||||
// ],
|
]
|
||||||
// dictValue: [
|
|
||||||
// {
|
|
||||||
// required: true,
|
|
||||||
// message: this.$t("validate.required"),
|
|
||||||
// trigger: "blur",
|
|
||||||
// },
|
|
||||||
// ],
|
|
||||||
// sort: [
|
|
||||||
// {
|
|
||||||
// required: true,
|
|
||||||
// message: this.$t("validate.required"),
|
|
||||||
// trigger: "blur",
|
|
||||||
// },
|
|
||||||
// ],
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
mounted () {
|
||||||
|
this.getDict();
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
init(data,) {
|
init(data,) {
|
||||||
console.log(data)
|
console.log(data)
|
||||||
console.log(this.dataForm.projectTypeId)
|
|
||||||
// this.dataForm.dictTypeId = dictTypeId || "";
|
// this.dataForm.dictTypeId = dictTypeId || "";
|
||||||
this.visible = true;
|
this.visible = true;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs["dataForm"].resetFields()
|
this.$refs["dataForm"].resetFields()
|
||||||
if (data) {
|
if (data) {
|
||||||
this.dataForm.id = data.id ? data.id : ''
|
this.dataForm.id = data.id ? data.id : ''
|
||||||
this.dataForm.projectTypeId = data.projectTypeId ? data.projectTypeId : ''
|
this.dataForm.requirementListGroupId = data.requirementListGroupId ? data.requirementListGroupId : ''
|
||||||
}
|
}
|
||||||
if (this.dataForm.id) {
|
if (this.dataForm.id) {
|
||||||
this.getInfo()
|
this.getInfo()
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
getCode() {
|
getDict() {
|
||||||
this.$http
|
this.$http
|
||||||
.get(this.urlOptions.getProjectTypeURL, { params: this.listQuery })
|
.get(this.urlOptions.getProjectTypeURL, { params: this.listQuery })
|
||||||
.then(({ data: res }) => {
|
.then(({ data: res }) => {
|
||||||
@ -133,21 +122,11 @@ export default {
|
|||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
})
|
})
|
||||||
this.$http
|
|
||||||
.post(this.urlOptions.getCodeURL)
|
|
||||||
.then(({ data: res }) => {
|
|
||||||
if (res.code === 0) {
|
|
||||||
console.log(res);
|
|
||||||
this.dataForm.code = res.data
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.catch(() => {
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
// 获取信息
|
// 获取信息
|
||||||
getInfo() {
|
getInfo() {
|
||||||
this.$http
|
this.$http
|
||||||
.get(`/supplier/qmsEvaluationItemList/${this.dataForm.id}`)
|
.get(`/researchquality/qmsQualityRequirementList/${this.dataForm.id}`)
|
||||||
.then(({ data: res }) => {
|
.then(({ data: res }) => {
|
||||||
if (res.code !== 0) {
|
if (res.code !== 0) {
|
||||||
return this.$message.error(res.msg);
|
return this.$message.error(res.msg);
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-04-17 14:23:17
|
* @Date: 2023-04-17 14:23:17
|
||||||
* @LastEditTime: 2023-07-13 11:00:21
|
* @LastEditTime: 2023-07-19 16:10:20
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -252,7 +252,7 @@ export default {
|
|||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
const data ={
|
const data ={
|
||||||
id: val.data.id,
|
id: val.data.id,
|
||||||
projectTypeId: this.projectTypeId
|
requirementListGroupId: this.requirementListGroupId
|
||||||
}
|
}
|
||||||
this.$refs.addOrUpdate.init(data)
|
this.$refs.addOrUpdate.init(data)
|
||||||
});
|
});
|
||||||
@ -263,7 +263,7 @@ export default {
|
|||||||
this.addOrUpdateVisible = true;
|
this.addOrUpdateVisible = true;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
const data = {
|
const data = {
|
||||||
projectTypeId: this.projectTypeId
|
requirementListGroupId: this.requirementListGroupId
|
||||||
}
|
}
|
||||||
this.$refs.addOrUpdate.init(data)
|
this.$refs.addOrUpdate.init(data)
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user