Compare commits
11 Commits
9702f23d55
...
f002123cf5
Author | SHA1 | Date | |
---|---|---|---|
|
f002123cf5 | ||
|
bc6ae3a005 | ||
7cee18e20d | |||
675b716a32 | |||
7acd83e501 | |||
0626237912 | |||
bef845eb3d | |||
|
f8dd086cf9 | ||
|
3e9e5f82db | ||
|
229b59f424 | ||
2866927528 |
@ -15,7 +15,7 @@
|
||||
"axios": "^0.19.2",
|
||||
"babel-eslint": "^8.0.1",
|
||||
"babel-plugin-component": "^1.1.1",
|
||||
"code-brick-zj": "0.0.7",
|
||||
"code-brick-zj": "1.0.2",
|
||||
"core-js": "^3.6.5",
|
||||
"echarts": "^5.4.2",
|
||||
"element-theme": "^2.0.1",
|
||||
|
@ -2,7 +2,7 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2022-08-22 14:57:50
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-07-11 10:23:31
|
||||
* @LastEditTime: 2023-07-17 10:36:32
|
||||
* @Description:
|
||||
-->
|
||||
<!DOCTYPE html>
|
||||
|
@ -18,6 +18,10 @@ const table = {
|
||||
1: '需要审批',
|
||||
0: '不需要审批',
|
||||
},
|
||||
gradeFinish: {
|
||||
1: '已打分',
|
||||
0: '未打分',
|
||||
},
|
||||
step: {
|
||||
0: 'D0',
|
||||
1: 'D1',
|
||||
|
29
src/filters/incoming/index.js
Normal file
29
src/filters/incoming/index.js
Normal file
@ -0,0 +1,29 @@
|
||||
/*
|
||||
* @Date: 2020-12-29 16:49:28
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-07-17 09:36:52
|
||||
* @FilePath: \basic-admin\src\filters\DataDict\index.js
|
||||
* @Description: 部分常量的数据字典定义
|
||||
*/
|
||||
import i18n from "@/i18n"
|
||||
const table = {
|
||||
upload: {
|
||||
0: '未上传',
|
||||
1:' 已上传',
|
||||
},
|
||||
VerifyType: {
|
||||
0: i18n.t('gage.insideVerify'),
|
||||
1: i18n.t('gage.outsideVerify')
|
||||
},
|
||||
judgmentResult: {
|
||||
0: '未判定 ',
|
||||
1: '合格',
|
||||
2: '不合格'
|
||||
},
|
||||
}
|
||||
|
||||
export default function (dictTable) {
|
||||
return function (val) {
|
||||
return table?.[dictTable]?.[val]
|
||||
}
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* @Date: 2020-12-14 09:07:03
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-04-18 15:14:26
|
||||
* @LastEditTime: 2023-07-17 14:34:42
|
||||
* @FilePath: \basic-admin\src\filters\index.js
|
||||
* @Description: 过滤器定义、多语言过滤器修改
|
||||
*/
|
||||
@ -146,6 +146,22 @@ export function handleLimit(string) {
|
||||
}
|
||||
}
|
||||
|
||||
export function handleProductType(Array) {
|
||||
let arr = []
|
||||
Array.forEach(ele => {
|
||||
arr.push(ele.productTypeName)
|
||||
})
|
||||
return arr.join(',')
|
||||
}
|
||||
|
||||
export function handleProcess(Array) {
|
||||
let arr = []
|
||||
Array.forEach(ele => {
|
||||
arr.push(ele.processName)
|
||||
})
|
||||
return arr.join(',')
|
||||
}
|
||||
|
||||
export function getSimpleText(html) {
|
||||
var re1 = new RegExp('<.+?>', 'g')
|
||||
var msg = html.replace(re1, '')
|
||||
|
@ -43,6 +43,9 @@ t.notAvailable = '不可用'
|
||||
t.time = '时间段'
|
||||
t.parameter = '台差参数'
|
||||
t.configuration = '配置'
|
||||
t.uploadFile = '上传'
|
||||
t.detail = '查看详情'
|
||||
|
||||
|
||||
|
||||
|
||||
@ -694,6 +697,9 @@ t.researchquality.stageTwoDate = '阶段2时间'
|
||||
t.researchquality.stageThreeDate = '阶段3时间'
|
||||
t.researchquality.stageFourDate = '阶段4时间'
|
||||
t.researchquality.approvedMemo = '审核记录'
|
||||
t.researchquality.phase = '阶段'
|
||||
t.researchquality.realTime = '实际完成时间'
|
||||
|
||||
|
||||
|
||||
|
||||
@ -718,6 +724,7 @@ t.customerquality.qualityAcceptanceDate = '质量接收日期'
|
||||
t.customerquality.confirmDeliveryDate = '确认交付日期'
|
||||
t.customerquality.deliveryRequiredDate = '要求交付日期'
|
||||
t.customerquality.status = '状态'
|
||||
t.customerquality.file = '清单文件'
|
||||
|
||||
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2022-08-22 14:57:51
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-05-12 12:46:50
|
||||
* @LastEditTime: 2023-07-14 15:53:17
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -39,7 +39,8 @@
|
||||
<use xlink:href="#icon-home"></use>
|
||||
</svg>
|
||||
</el-menu-item>
|
||||
<el-menu-item index="7">
|
||||
<!-- 中英文 -->
|
||||
<!-- <el-menu-item index="7">
|
||||
<el-dropdown trigger="click" class="international" @command="handleSetLanguage">
|
||||
<div>
|
||||
<svg class="icon-svg aui-navbar__icon-menu" aria-hidden="true">
|
||||
@ -55,7 +56,7 @@
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</el-menu-item>
|
||||
</el-menu-item> -->
|
||||
<el-menu-item index="4" @click="fullscreenHandle()">
|
||||
<svg class="icon-svg aui-navbar__icon-menu" aria-hidden="true">
|
||||
<use xlink:href="#icon-fullscreen"></use>
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-14 10:17:26
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-07-17 10:24:03
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -10,7 +10,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="factoryId" :label="$t('code.factoryName')">
|
||||
<el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
|
||||
<el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
|
||||
<el-option v-for="item in factoryList" :key="item.id" :label="item.factoryName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -18,26 +18,26 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionTime" :label="$t('code.inspectionTime')">
|
||||
<el-date-picker v-model="dataForm.inspectionTime" type="datetime" :placeholder="$t('code.inspectionTime')"
|
||||
format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
<el-date-picker v-model="dataForm.inspectionTime" type="datetime"
|
||||
:placeholder="$t('code.inspectionTime')" format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="orderNumber" :label="$t('code.orderNumber')">
|
||||
<el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
|
||||
<el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchNo" :label="$t('code.batchNo')">
|
||||
<el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
|
||||
<el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionType" :label="$t('code.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
|
||||
<el-option v-for="item in inspectionTypeList" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -53,7 +53,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="productId" :label="$t('code.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
|
||||
<el-option v-for="item in productList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -61,7 +61,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="supplierId" :label="$t('code.supplierName')">
|
||||
<el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
|
||||
<el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
|
||||
<el-option v-for="item in supplierList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -69,31 +69,34 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchQuantity" :label="$t('code.batchQuantity')">
|
||||
<el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionQuantity" :label="$t('code.inspectionQuantity')">
|
||||
<el-input v-model="dataForm.inspectionQuantity" :placeholder="$t('code.inspectionQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.inspectionQuantity"
|
||||
:placeholder="$t('code.inspectionQuantity')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchSize" :label="$t('code.batchSize')">
|
||||
<el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
|
||||
<el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="samplesQuantity" :label="$t('code.samplesQuantity')">
|
||||
<el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="companyId" :label="$t('code.companyName')">
|
||||
<el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
|
||||
<el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
|
||||
<el-option v-for="item in unitList" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -101,15 +104,15 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="userId" :label="$t('code.username')">
|
||||
<el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
|
||||
<el-option v-for="item in unitList" :key="item.id" :label="item.realName" :value="item.id">
|
||||
<el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
|
||||
<el-option v-for="item in userList" :key="item.id" :label="item.realName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionStatus" :label="$t('code.inspectionStatus')">
|
||||
<el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
|
||||
<el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
|
||||
<el-option v-for="item in inspectionStatusList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -119,7 +122,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="customSamplingId" :label="$t('code.customSampling')">
|
||||
<el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
|
||||
<el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
|
||||
<el-option v-for="item in samplingPlanList" :key="item.id" :label="item.sampleRange" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -331,23 +334,13 @@ export default {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
;console.log(res.data.list)
|
||||
if (res.code === 0) {
|
||||
this.userList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getProductURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
this.productList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getDictDataList, {
|
||||
params: {
|
||||
@ -385,6 +378,17 @@ export default {
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getProductURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
this.productList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
// console.log(111111);
|
||||
},
|
||||
// 表单提交
|
||||
|
@ -1,15 +1,20 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-14 10:17:44
|
||||
* @LastEditTime: 2023-07-17 10:21:47
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-form :model="dataForm" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" label-width="130px">
|
||||
<el-form
|
||||
:model="dataForm"
|
||||
ref="dataForm"
|
||||
:rules="dataRule"
|
||||
@keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="130px"
|
||||
>
|
||||
<el-form-item prop="name" :label="$t('code.name')">
|
||||
<el-input v-model="dataForm.name" :placeholder="$t('code.name')">
|
||||
</el-input>
|
||||
<el-input v-model="dataForm.name" :placeholder="$t('code.name')"> </el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="code" :label="$t('code.code')">
|
||||
<el-input v-model="dataForm.code" :placeholder="$t('code.code')"></el-input>
|
||||
@ -19,8 +24,16 @@
|
||||
</el-switch>
|
||||
</el-form-item>
|
||||
<el-form-item prop="eightDisciplineType" :label="$t('code.eightDisciplineType')">
|
||||
<el-select v-model="dataForm.eightDisciplineType" :placeholder="$t('code.eightDisciplineType')">
|
||||
<el-option v-for="item in eightDisciplineTypeList" :key="item.value" :label="item.label" :value="item.value">
|
||||
<el-select
|
||||
v-model="dataForm.eightDisciplineType"
|
||||
:placeholder="$t('code.eightDisciplineType')"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in eightDisciplineTypeList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -36,36 +49,38 @@ export default {
|
||||
return {
|
||||
urlOptions: {
|
||||
submitURL: "/code/eightDiscipline",
|
||||
infoURL: "/code/eightDiscipline"
|
||||
infoURL: "/code/eightDiscipline",
|
||||
},
|
||||
options: [{
|
||||
value: 0,
|
||||
label: '不可用'
|
||||
},
|
||||
{
|
||||
value: 1,
|
||||
label: '可用'
|
||||
}],
|
||||
options: [
|
||||
{
|
||||
value: 0,
|
||||
label: "不可用",
|
||||
},
|
||||
{
|
||||
value: 1,
|
||||
label: "可用",
|
||||
},
|
||||
],
|
||||
eightDisciplineTypeList: [
|
||||
{
|
||||
value: '0',
|
||||
label: '重复发生问题 '
|
||||
value: "0",
|
||||
label: "重复发生问题 ",
|
||||
},
|
||||
{
|
||||
value: '1',
|
||||
label: '客诉问题'
|
||||
value: "1",
|
||||
label: "客诉问题",
|
||||
},
|
||||
{
|
||||
value: '2',
|
||||
label: '重大质量问题'
|
||||
}
|
||||
value: "2",
|
||||
label: "重大质量问题",
|
||||
},
|
||||
],
|
||||
visible: false,
|
||||
dataForm: {
|
||||
id: null,
|
||||
name: null,
|
||||
code:null,
|
||||
eightDisciplineType:null,
|
||||
code: null,
|
||||
eightDisciplineType: null,
|
||||
eightDisciplineStatus: 0,
|
||||
},
|
||||
};
|
||||
@ -73,40 +88,33 @@ export default {
|
||||
computed: {
|
||||
dataRule() {
|
||||
return {
|
||||
// dictLabel: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t("validate.required"),
|
||||
// trigger: "blur",
|
||||
// },
|
||||
// ],
|
||||
// dictValue: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t("validate.required"),
|
||||
// trigger: "blur",
|
||||
// },
|
||||
// ],
|
||||
// sort: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t("validate.required"),
|
||||
// trigger: "blur",
|
||||
// },
|
||||
// ],
|
||||
code: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入编码",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
name: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入名称",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
init(id, ) {
|
||||
this.dataForm.id = id || ""
|
||||
init(id) {
|
||||
this.dataForm.id = id || "";
|
||||
// console.log(11111)
|
||||
// this.dataForm.dictTypeId = dictTypeId || "";
|
||||
this.visible = true
|
||||
this.visible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs["dataForm"].resetFields();
|
||||
if (this.dataForm.id) {
|
||||
this.getInfo()
|
||||
this.getInfo();
|
||||
} else {
|
||||
// this.getCode()
|
||||
}
|
||||
|
@ -1,78 +1,74 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-14 13:41:37
|
||||
* @LastEditTime: 2023-07-17 10:23:23
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-form :model="dataForm" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" label-width="130px">
|
||||
<el-form-item prop="name" :label="$t('code.name')">
|
||||
<el-input v-model="dataForm.name" :placeholder="$t('code.name')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="code" :label="$t('code.code')">
|
||||
<el-input v-model="dataForm.code" :placeholder="$t('code.code')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="problemStatus" label="状态">
|
||||
<el-switch v-model="dataForm.problemStatus" :active-value="1" :inactive-value="0">
|
||||
</el-switch>
|
||||
</el-form-item>
|
||||
<el-form-item prop="description" label="描述">
|
||||
<el-input v-model="dataForm.description" placeholder="描述"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
<el-form
|
||||
:model="dataForm"
|
||||
:rules="dataRule"
|
||||
ref="dataForm"
|
||||
@keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="130px"
|
||||
>
|
||||
<el-form-item prop="name" :label="$t('code.name')">
|
||||
<el-input v-model="dataForm.name" :placeholder="$t('code.name')"> </el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="code" :label="$t('code.code')">
|
||||
<el-input v-model="dataForm.code" :placeholder="$t('code.code')"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="problemStatus" label="状态">
|
||||
<el-switch v-model="dataForm.problemStatus" :active-value="1" :inactive-value="0">
|
||||
</el-switch>
|
||||
</el-form-item>
|
||||
<el-form-item prop="description" label="描述">
|
||||
<el-input v-model="dataForm.description" placeholder="描述"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import basicAdd from "@/mixins/basic-add";
|
||||
export default {
|
||||
mixins: [basicAdd],
|
||||
data() {
|
||||
<script>
|
||||
import basicAdd from "@/mixins/basic-add";
|
||||
export default {
|
||||
mixins: [basicAdd],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
submitURL: "/code/problemType",
|
||||
infoURL: "/code/problemType",
|
||||
},
|
||||
visible: false,
|
||||
dataForm: {
|
||||
id: null,
|
||||
name: null,
|
||||
code: null,
|
||||
description: null,
|
||||
problemStatus: 0,
|
||||
},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
dataRule() {
|
||||
return {
|
||||
urlOptions: {
|
||||
submitURL: "/code/problemType",
|
||||
infoURL: "/code/problemType"
|
||||
},
|
||||
visible: false,
|
||||
dataForm: {
|
||||
id: null,
|
||||
name: null,
|
||||
code:null,
|
||||
description:null,
|
||||
problemStatus: 0,
|
||||
},
|
||||
code: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入编码",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
name: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入名称",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
dataRule() {
|
||||
return {
|
||||
// dictLabel: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t("validate.required"),
|
||||
// trigger: "blur",
|
||||
// },
|
||||
// ],
|
||||
// dictValue: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t("validate.required"),
|
||||
// trigger: "blur",
|
||||
// },
|
||||
// ],
|
||||
// sort: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t("validate.required"),
|
||||
// trigger: "blur",
|
||||
// },
|
||||
// ],
|
||||
};
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
},
|
||||
methods: {},
|
||||
};
|
||||
</script>
|
||||
|
@ -2,8 +2,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-14 10:18:03
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-07-17 10:24:07
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -11,7 +11,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="factoryId" :label="$t('code.factoryName')">
|
||||
<el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
|
||||
<el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
|
||||
<el-option v-for="item in factoryList" :key="item.id" :label="item.factoryName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -19,26 +19,26 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionTime" :label="$t('code.inspectionTime')">
|
||||
<el-date-picker v-model="dataForm.inspectionTime" type="datetime" :placeholder="$t('code.inspectionTime')"
|
||||
format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
<el-date-picker v-model="dataForm.inspectionTime" type="datetime"
|
||||
:placeholder="$t('code.inspectionTime')" format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="orderNumber" :label="$t('code.orderNumber')">
|
||||
<el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
|
||||
<el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchNo" :label="$t('code.batchNo')">
|
||||
<el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
|
||||
<el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionType" :label="$t('code.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
|
||||
<el-option v-for="item in inspectionTypeList" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -54,7 +54,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="productId" :label="$t('code.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
|
||||
<el-option v-for="item in productList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -62,7 +62,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="supplierId" :label="$t('code.supplierName')">
|
||||
<el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
|
||||
<el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
|
||||
<el-option v-for="item in supplierList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -70,31 +70,34 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchQuantity" :label="$t('code.batchQuantity')">
|
||||
<el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionQuantity" :label="$t('code.inspectionQuantity')">
|
||||
<el-input v-model="dataForm.inspectionQuantity" :placeholder="$t('code.inspectionQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.inspectionQuantity"
|
||||
:placeholder="$t('code.inspectionQuantity')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchSize" :label="$t('code.batchSize')">
|
||||
<el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
|
||||
<el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="samplesQuantity" :label="$t('code.samplesQuantity')">
|
||||
<el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="companyId" :label="$t('code.companyName')">
|
||||
<el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
|
||||
<el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
|
||||
<el-option v-for="item in unitList" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -102,15 +105,15 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="userId" :label="$t('code.username')">
|
||||
<el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
|
||||
<el-option v-for="item in unitList" :key="item.id" :label="item.realName" :value="item.id">
|
||||
<el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
|
||||
<el-option v-for="item in userList" :key="item.id" :label="item.realName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionStatus" :label="$t('code.inspectionStatus')">
|
||||
<el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
|
||||
<el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
|
||||
<el-option v-for="item in inspectionStatusList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -120,7 +123,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="customSamplingId" :label="$t('code.customSampling')">
|
||||
<el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
|
||||
<el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
|
||||
<el-option v-for="item in samplingPlanList" :key="item.id" :label="item.sampleRange" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-14 10:18:33
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-07-17 10:24:12
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -11,7 +11,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="factoryId" :label="$t('code.factoryName')">
|
||||
<el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
|
||||
<el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
|
||||
<el-option v-for="item in factoryList" :key="item.id" :label="item.factoryName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -19,26 +19,26 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionTime" :label="$t('code.inspectionTime')">
|
||||
<el-date-picker v-model="dataForm.inspectionTime" type="datetime" :placeholder="$t('code.inspectionTime')"
|
||||
format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
<el-date-picker v-model="dataForm.inspectionTime" type="datetime"
|
||||
:placeholder="$t('code.inspectionTime')" format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="orderNumber" :label="$t('code.orderNumber')">
|
||||
<el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
|
||||
<el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchNo" :label="$t('code.batchNo')">
|
||||
<el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
|
||||
<el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionType" :label="$t('code.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
|
||||
<el-option v-for="item in inspectionTypeList" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -54,7 +54,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="productId" :label="$t('code.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
|
||||
<el-option v-for="item in productList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -62,7 +62,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="supplierId" :label="$t('code.supplierName')">
|
||||
<el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
|
||||
<el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
|
||||
<el-option v-for="item in supplierList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -70,31 +70,34 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchQuantity" :label="$t('code.batchQuantity')">
|
||||
<el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionQuantity" :label="$t('code.inspectionQuantity')">
|
||||
<el-input v-model="dataForm.inspectionQuantity" :placeholder="$t('code.inspectionQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.inspectionQuantity"
|
||||
:placeholder="$t('code.inspectionQuantity')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchSize" :label="$t('code.batchSize')">
|
||||
<el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
|
||||
<el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="samplesQuantity" :label="$t('code.samplesQuantity')">
|
||||
<el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="companyId" :label="$t('code.companyName')">
|
||||
<el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
|
||||
<el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
|
||||
<el-option v-for="item in unitList" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -102,15 +105,15 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="userId" :label="$t('code.username')">
|
||||
<el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
|
||||
<el-option v-for="item in unitList" :key="item.id" :label="item.realName" :value="item.id">
|
||||
<el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
|
||||
<el-option v-for="item in userList" :key="item.id" :label="item.realName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionStatus" :label="$t('code.inspectionStatus')">
|
||||
<el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
|
||||
<el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
|
||||
<el-option v-for="item in inspectionStatusList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -120,7 +123,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="customSamplingId" :label="$t('code.customSampling')">
|
||||
<el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
|
||||
<el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
|
||||
<el-option v-for="item in samplingPlanList" :key="item.id" :label="item.sampleRange" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -133,27 +136,29 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="critical" label="CR" label-width="50px">
|
||||
<el-input v-model="GBTDataForm.critical" placeholder="CR"></el-input>
|
||||
<el-input v-model="GBTDataForm.critical" placeholder="CR"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="criticalAccept" label="Accept">
|
||||
<el-input v-model="GBTDataForm.criticalAccept" placeholder="Accept"></el-input>
|
||||
<el-input v-model="GBTDataForm.criticalAccept" placeholder="Accept"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="criticalReject" label="Reject" label-width="60px">
|
||||
<el-input v-model="GBTDataForm.criticalReject" placeholder="Reject"></el-input>
|
||||
<el-input v-model="GBTDataForm.criticalReject" placeholder="Reject"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="criticalNumber" :label="$t('code.defectsNumber')">
|
||||
<el-input v-model="GBTDataForm.criticalNumber" :placeholder="$t('code.defectsNumber')"></el-input>
|
||||
<el-input v-model="GBTDataForm.criticalNumber" :placeholder="$t('code.defectsNumber')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="criticalDefectiveNumber" :label="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.criticalDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.criticalDefectiveNumber"
|
||||
:placeholder="$t('code.defectiveQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -161,27 +166,29 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="major" label="MA" label-width="50px">
|
||||
<el-input v-model="GBTDataForm.major" placeholder="CR"></el-input>
|
||||
<el-input v-model="GBTDataForm.major" placeholder="CR"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="majorAccept" label="Accept">
|
||||
<el-input v-model="GBTDataForm.majorAccept" placeholder="Accept"></el-input>
|
||||
<el-input v-model="GBTDataForm.majorAccept" placeholder="Accept"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="majorReject" label="Reject" label-width="60px">
|
||||
<el-input v-model="GBTDataForm.majorReject" placeholder="Reject"></el-input>
|
||||
<el-input v-model="GBTDataForm.majorReject" placeholder="Reject"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="majorNumber" :label="$t('code.defectsNumber')">
|
||||
<el-input v-model="GBTDataForm.majorNumber" :placeholder="$t('code.defectsNumber')"></el-input>
|
||||
<el-input v-model="GBTDataForm.majorNumber" :placeholder="$t('code.defectsNumber')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="majorDefectiveNumber" :label="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.majorDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.majorDefectiveNumber"
|
||||
:placeholder="$t('code.defectiveQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -189,27 +196,29 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="minor" label="MI" label-width="50px">
|
||||
<el-input v-model="GBTDataForm.minor" placeholder="CR"></el-input>
|
||||
<el-input v-model="GBTDataForm.minor" placeholder="CR"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="minorAccept" label="Accept">
|
||||
<el-input v-model="GBTDataForm.minorAccept" placeholder="Accept"></el-input>
|
||||
<el-input v-model="GBTDataForm.minorAccept" placeholder="Accept"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="minorReject" label="Reject" label-width="60px">
|
||||
<el-input v-model="GBTDataForm.minorReject" placeholder="Reject"></el-input>
|
||||
<el-input v-model="GBTDataForm.minorReject" placeholder="Reject"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="minorNumber" :label="$t('code.defectsNumber')">
|
||||
<el-input v-model="GBTDataForm.minorNumber" :placeholder="$t('code.defectsNumber')"></el-input>
|
||||
<el-input v-model="GBTDataForm.minorNumber" :placeholder="$t('code.defectsNumber')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="minorDefectiveNumber" :label="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.minorDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.minorDefectiveNumber"
|
||||
:placeholder="$t('code.defectiveQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -217,27 +226,29 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="total" label="total" label-width="50px">
|
||||
<el-input v-model="GBTDataForm.total" placeholder="CR"></el-input>
|
||||
<el-input v-model="GBTDataForm.total" placeholder="CR"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="totalAccept" label="Accept">
|
||||
<el-input v-model="GBTDataForm.totalAccept" placeholder="Accept"></el-input>
|
||||
<el-input v-model="GBTDataForm.totalAccept" placeholder="Accept"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="totalReject" label="Reject" label-width="60px">
|
||||
<el-input v-model="GBTDataForm.totalReject" placeholder="Reject"></el-input>
|
||||
<el-input v-model="GBTDataForm.totalReject" placeholder="Reject"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="totalNumber" :label="$t('code.defectsNumber')">
|
||||
<el-input v-model="GBTDataForm.totalNumber" :placeholder="$t('code.defectsNumber')"></el-input>
|
||||
<el-input v-model="GBTDataForm.totalNumber" :placeholder="$t('code.defectsNumber')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="totalDefectiveNumber" :label="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.totalDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.totalDefectiveNumber"
|
||||
:placeholder="$t('code.defectiveQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -475,7 +486,7 @@ export default {
|
||||
},
|
||||
getDict() {
|
||||
this.$http
|
||||
.post(this.urlOptions.getSamplingPlanURL, {
|
||||
.get(this.urlOptions.getSamplingPlanURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
@ -486,7 +497,7 @@ export default {
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.post(this.urlOptions.getUserURL, {
|
||||
.get(this.urlOptions.getUserURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
@ -497,7 +508,7 @@ export default {
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.post(this.urlOptions.getProductURL, {
|
||||
.get(this.urlOptions.getProductURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
@ -508,7 +519,7 @@ export default {
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.post(this.urlOptions.getDictDataList, {
|
||||
.get(this.urlOptions.getDictDataList, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1,
|
||||
@ -523,7 +534,7 @@ export default {
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.post(this.urlOptions.getSupplierURL, {
|
||||
.get(this.urlOptions.getSupplierURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
@ -534,7 +545,7 @@ export default {
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.post(this.urlOptions.getFactoryURL, {
|
||||
.get(this.urlOptions.getFactoryURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-14 10:19:44
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-07-17 10:24:16
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -11,7 +11,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="factoryId" :label="$t('code.factoryName')">
|
||||
<el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
|
||||
<el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
|
||||
<el-option v-for="item in factoryList" :key="item.id" :label="item.factoryName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -19,26 +19,26 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionTime" :label="$t('code.inspectionTime')">
|
||||
<el-date-picker v-model="dataForm.inspectionTime" type="datetime" :placeholder="$t('code.inspectionTime')"
|
||||
format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
<el-date-picker v-model="dataForm.inspectionTime" type="datetime"
|
||||
:placeholder="$t('code.inspectionTime')" format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="orderNumber" :label="$t('code.orderNumber')">
|
||||
<el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
|
||||
<el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchNo" :label="$t('code.batchNo')">
|
||||
<el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
|
||||
<el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionType" :label="$t('code.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
|
||||
<el-option v-for="item in inspectionTypeList" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -54,7 +54,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="productId" :label="$t('code.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
|
||||
<el-option v-for="item in productList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -62,7 +62,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="supplierId" :label="$t('code.supplierName')">
|
||||
<el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
|
||||
<el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
|
||||
<el-option v-for="item in supplierList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -70,31 +70,34 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchQuantity" :label="$t('code.batchQuantity')">
|
||||
<el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionQuantity" :label="$t('code.inspectionQuantity')">
|
||||
<el-input v-model="dataForm.inspectionQuantity" :placeholder="$t('code.inspectionQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.inspectionQuantity"
|
||||
:placeholder="$t('code.inspectionQuantity')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchSize" :label="$t('code.batchSize')">
|
||||
<el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
|
||||
<el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="samplesQuantity" :label="$t('code.samplesQuantity')">
|
||||
<el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="companyId" :label="$t('code.companyName')">
|
||||
<el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
|
||||
<el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
|
||||
<el-option v-for="item in unitList" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -102,15 +105,15 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="userId" :label="$t('code.username')">
|
||||
<el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
|
||||
<el-option v-for="item in unitList" :key="item.id" :label="item.realName" :value="item.id">
|
||||
<el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
|
||||
<el-option v-for="item in userList" :key="item.id" :label="item.realName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionStatus" :label="$t('code.inspectionStatus')">
|
||||
<el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
|
||||
<el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
|
||||
<el-option v-for="item in inspectionStatusList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -120,7 +123,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="customSamplingId" :label="$t('code.customSampling')">
|
||||
<el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
|
||||
<el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
|
||||
<el-option v-for="item in samplingPlanList" :key="item.id" :label="item.sampleRange" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -133,27 +136,29 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="critical" label="CR" label-width="50px">
|
||||
<el-input v-model="GBTDataForm.critical" placeholder="CR"></el-input>
|
||||
<el-input v-model="GBTDataForm.critical" placeholder="CR"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="criticalAccept" label="Accept">
|
||||
<el-input v-model="GBTDataForm.criticalAccept" placeholder="Accept"></el-input>
|
||||
<el-input v-model="GBTDataForm.criticalAccept" placeholder="Accept"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="criticalReject" label="Reject" label-width="60px">
|
||||
<el-input v-model="GBTDataForm.criticalReject" placeholder="Reject"></el-input>
|
||||
<el-input v-model="GBTDataForm.criticalReject" placeholder="Reject"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="criticalNumber" :label="$t('code.defectsNumber')">
|
||||
<el-input v-model="GBTDataForm.criticalNumber" :placeholder="$t('code.defectsNumber')"></el-input>
|
||||
<el-input v-model="GBTDataForm.criticalNumber" :placeholder="$t('code.defectsNumber')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="criticalDefectiveNumber" :label="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.criticalDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.criticalDefectiveNumber"
|
||||
:placeholder="$t('code.defectiveQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -161,27 +166,29 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="major" label="MA" label-width="50px">
|
||||
<el-input v-model="GBTDataForm.major" placeholder="CR"></el-input>
|
||||
<el-input v-model="GBTDataForm.major" placeholder="CR"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="majorAccept" label="Accept">
|
||||
<el-input v-model="GBTDataForm.majorAccept" placeholder="Accept"></el-input>
|
||||
<el-input v-model="GBTDataForm.majorAccept" placeholder="Accept"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="majorReject" label="Reject" label-width="60px">
|
||||
<el-input v-model="GBTDataForm.majorReject" placeholder="Reject"></el-input>
|
||||
<el-input v-model="GBTDataForm.majorReject" placeholder="Reject"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="majorNumber" :label="$t('code.defectsNumber')">
|
||||
<el-input v-model="GBTDataForm.majorNumber" :placeholder="$t('code.defectsNumber')"></el-input>
|
||||
<el-input v-model="GBTDataForm.majorNumber" :placeholder="$t('code.defectsNumber')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="majorDefectiveNumber" :label="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.majorDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.majorDefectiveNumber"
|
||||
:placeholder="$t('code.defectiveQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -189,27 +196,29 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="minor" label="MI" label-width="50px">
|
||||
<el-input v-model="GBTDataForm.minor" placeholder="CR"></el-input>
|
||||
<el-input v-model="GBTDataForm.minor" placeholder="CR"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="minorAccept" label="Accept">
|
||||
<el-input v-model="GBTDataForm.minorAccept" placeholder="Accept"></el-input>
|
||||
<el-input v-model="GBTDataForm.minorAccept" placeholder="Accept"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="minorReject" label="Reject" label-width="60px">
|
||||
<el-input v-model="GBTDataForm.minorReject" placeholder="Reject"></el-input>
|
||||
<el-input v-model="GBTDataForm.minorReject" placeholder="Reject"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="minorNumber" :label="$t('code.defectsNumber')">
|
||||
<el-input v-model="GBTDataForm.minorNumber" :placeholder="$t('code.defectsNumber')"></el-input>
|
||||
<el-input v-model="GBTDataForm.minorNumber" :placeholder="$t('code.defectsNumber')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="minorDefectiveNumber" :label="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.minorDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.minorDefectiveNumber"
|
||||
:placeholder="$t('code.defectiveQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -217,27 +226,29 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="total" label="total" label-width="50px">
|
||||
<el-input v-model="GBTDataForm.total" placeholder="CR"></el-input>
|
||||
<el-input v-model="GBTDataForm.total" placeholder="CR"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="totalAccept" label="Accept">
|
||||
<el-input v-model="GBTDataForm.totalAccept" placeholder="Accept"></el-input>
|
||||
<el-input v-model="GBTDataForm.totalAccept" placeholder="Accept"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="totalReject" label="Reject" label-width="60px">
|
||||
<el-input v-model="GBTDataForm.totalReject" placeholder="Reject"></el-input>
|
||||
<el-input v-model="GBTDataForm.totalReject" placeholder="Reject"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="totalNumber" :label="$t('code.defectsNumber')">
|
||||
<el-input v-model="GBTDataForm.totalNumber" :placeholder="$t('code.defectsNumber')"></el-input>
|
||||
<el-input v-model="GBTDataForm.totalNumber" :placeholder="$t('code.defectsNumber')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="totalDefectiveNumber" :label="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.totalDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.totalDefectiveNumber"
|
||||
:placeholder="$t('code.defectiveQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -475,7 +486,7 @@ export default {
|
||||
},
|
||||
getDict() {
|
||||
this.$http
|
||||
.post(this.urlOptions.getSamplingPlanURL, {
|
||||
.get(this.urlOptions.getSamplingPlanURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
@ -486,7 +497,7 @@ export default {
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.post(this.urlOptions.getUserURL, {
|
||||
.get(this.urlOptions.getUserURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
@ -497,7 +508,7 @@ export default {
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.post(this.urlOptions.getProductURL, {
|
||||
.get(this.urlOptions.getProductURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
@ -508,7 +519,7 @@ export default {
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.post(this.urlOptions.getDictDataList, {
|
||||
.get(this.urlOptions.getDictDataList, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1,
|
||||
@ -523,7 +534,7 @@ export default {
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.post(this.urlOptions.getSupplierURL, {
|
||||
.get(this.urlOptions.getSupplierURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
@ -534,7 +545,7 @@ export default {
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.post(this.urlOptions.getFactoryURL, {
|
||||
.get(this.urlOptions.getFactoryURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-14 10:20:02
|
||||
* @LastEditTime: 2023-07-17 10:27:00
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
@ -9,6 +9,7 @@
|
||||
<el-form
|
||||
:model="dataForm"
|
||||
ref="dataForm"
|
||||
:rules="dataRule"
|
||||
@keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="100px"
|
||||
>
|
||||
@ -271,7 +272,7 @@ export default {
|
||||
},
|
||||
{
|
||||
value: '1',
|
||||
label: "1客诉问题",
|
||||
label: "客诉问题",
|
||||
},
|
||||
{
|
||||
value: '2',
|
||||
@ -317,27 +318,48 @@ export default {
|
||||
computed: {
|
||||
dataRule() {
|
||||
return {
|
||||
// dictLabel: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t("validate.required"),
|
||||
// trigger: "blur",
|
||||
// },
|
||||
// ],
|
||||
// dictValue: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t("validate.required"),
|
||||
// trigger: "blur",
|
||||
// },
|
||||
// ],
|
||||
// sort: [
|
||||
// {
|
||||
// required: true,
|
||||
// message: this.$t("validate.required"),
|
||||
// trigger: "blur",
|
||||
// },
|
||||
// ],
|
||||
code: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入编码",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
title: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入标题",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
eightDisciplineType: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择8D类型",
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
defectSourceId: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择缺陷来源",
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
occurrenceDate: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择发生日期",
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
product: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择产品",
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
},
|
||||
|
@ -2,11 +2,17 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2023-06-29 14:12:48
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-06-30 10:58:16
|
||||
* @LastEditTime: 2023-07-17 13:30:04
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<base-table border show-summary :table-props="tableProps" :table-data="tableData" @emitFun="inputChange" />
|
||||
<base-table
|
||||
border
|
||||
show-summary
|
||||
:table-props="tableProps"
|
||||
:table-data="tableData"
|
||||
@emitFun="inputChange"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@ -134,7 +140,7 @@ export default {
|
||||
if (this.tableData[data._pageIndex - 1].gradeStatus) {
|
||||
this.$set(
|
||||
this.tableData[data._pageIndex - 1],
|
||||
'grade',
|
||||
"grade",
|
||||
this.score[this.tableData[data._pageIndex - 1].gradeStatus - 1]
|
||||
);
|
||||
}
|
||||
@ -146,24 +152,33 @@ export default {
|
||||
formClear() {},
|
||||
// 表单提交
|
||||
dataFormSubmit() {
|
||||
this.tableData.forEach((item) => {
|
||||
item.startEightDisciplineId = this.id;
|
||||
this.tableData.forEach((item) => {
|
||||
item.startEightDisciplineId = this.id;
|
||||
});
|
||||
let putData = {
|
||||
gradeFinish: 1,
|
||||
id: this.id,
|
||||
};
|
||||
this.$http.put("/code/startEightDiscipline", putData).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
});
|
||||
this.$http.post("/code/startEightGrade/save/list", this.tableData).then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.$message({
|
||||
message: this.$t("prompt.success"),
|
||||
type: "success",
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
this.visible = false;
|
||||
this.$emit("refreshDataList");
|
||||
},
|
||||
});
|
||||
this.$http.post("/code/startEightGrade/save/list", this.tableData)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.$message({
|
||||
message: this.$t("prompt.success"),
|
||||
type: "success",
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
this.visible = false;
|
||||
this.$emit("refreshDataList");
|
||||
},
|
||||
});
|
||||
});
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-06-19 15:52:51
|
||||
* @LastEditTime: 2023-07-14 10:15:12
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-07-17 10:31:16
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -21,14 +21,14 @@
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
<base-dialog width="70%" :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
@confirm="handleConfirm" :before-close="handleCancel">
|
||||
<deliveryInspection-add ref="addOrUpdate" @successSubmit="successSubmit">
|
||||
</deliveryInspection-add>
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
</base-dialog>
|
||||
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<base-dialog width="70%" :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible"
|
||||
@cancel="handleSearchCancel" @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<deliveryInspection-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit">
|
||||
</deliveryInspection-search>
|
||||
<el-row slot="footer" type="flex" justify="end">
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-14 14:06:53
|
||||
* @LastEditTime: 2023-07-17 09:08:38
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
@ -9,9 +9,6 @@
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__user">
|
||||
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
|
||||
<el-badge :value="3" class="item">
|
||||
<el-button type="primary" size="small" @click="searchsClick">条件搜索</el-button>
|
||||
</el-badge>
|
||||
</SearchBar>
|
||||
<base-table
|
||||
:table-props="tableProps"
|
||||
@ -35,7 +32,7 @@
|
||||
@pagination="getDataList"
|
||||
/>
|
||||
<!-- 弹窗, 条件搜索-->
|
||||
<base-dialog
|
||||
<!-- <base-dialog
|
||||
:dialogTitle="searchsTitle"
|
||||
:dialogVisible="searchsVisible"
|
||||
@cancel="searchsCancel"
|
||||
@ -43,7 +40,7 @@
|
||||
:before-close="searchsCancel"
|
||||
>
|
||||
<searchs ref="searchsRef" @refreshDataList="searchsSubmit"></searchs>
|
||||
</base-dialog>
|
||||
</base-dialog> -->
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog
|
||||
:dialogTitle="addOrEditTitle"
|
||||
@ -64,7 +61,7 @@
|
||||
import basicPage from "@/mixins/basic-page";
|
||||
import eightDisciplineAdd from "./components/eightDiscipline-add";
|
||||
import available from "./components/available.vue";
|
||||
import Searchs from "./components/eightDiscipline-searchs";
|
||||
// import Searchs from "./components/eightDiscipline-searchs";
|
||||
import codeFilter from "@/filters/code-filter";
|
||||
import i18n from "@/i18n";
|
||||
const tableProps = [
|
||||
@ -105,7 +102,7 @@ export default {
|
||||
mixins: [basicPage],
|
||||
components: {
|
||||
eightDisciplineAdd,
|
||||
Searchs
|
||||
// Searchs,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@ -117,10 +114,26 @@ export default {
|
||||
tableBtn,
|
||||
formConfig: [
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: "primary",
|
||||
type: "input",
|
||||
label: i18n.t("code.name"),
|
||||
placeholder: i18n.t("code.name"),
|
||||
param: "name",
|
||||
},
|
||||
{
|
||||
type: "input",
|
||||
label: i18n.t("code.code"),
|
||||
placeholder: i18n.t("code.code"),
|
||||
param: "code",
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: i18n.t('code.eightDisciplineStatus'),
|
||||
selectOptions: [
|
||||
{ id: 1, name: "可用" },
|
||||
{ id: 0, name: "不可用" },
|
||||
],
|
||||
param: "eightDisciplineStatus",
|
||||
defaultSelect: "",
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
@ -128,6 +141,12 @@ export default {
|
||||
name: "search",
|
||||
color: "primary",
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: "primary",
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
@ -142,9 +161,9 @@ export default {
|
||||
case "search":
|
||||
// this.listQuery.paramCode = val.paramCode;
|
||||
this.listQuery.page = 1;
|
||||
this.listQuery.code = null;
|
||||
this.listQuery.name = null;
|
||||
this.listQuery.eightDisciplineStatus = null;
|
||||
this.listQuery.code = val.code;
|
||||
this.listQuery.name = val.name;
|
||||
this.listQuery.eightDisciplineStatus = val.eightDisciplineStatus;
|
||||
this.getDataList();
|
||||
break;
|
||||
case "add":
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-14 10:15:45
|
||||
* @LastEditTime: 2023-07-17 10:38:22
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
@ -66,20 +66,20 @@ const tableProps = [
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
prop: 'userId',
|
||||
prop: 'userName',
|
||||
label: i18n.t("code.userId"),
|
||||
align: 'center'
|
||||
}
|
||||
]
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: "编辑",
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
// {
|
||||
// type: "edit",
|
||||
// btnName: "编辑",
|
||||
// },
|
||||
// {
|
||||
// type: "delete",
|
||||
// btnName: "删除",
|
||||
// },
|
||||
{
|
||||
type: "approve",
|
||||
btnName: "审批",
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-06-19 15:52:51
|
||||
* @LastEditTime: 2023-07-14 10:16:01
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-07-17 10:30:40
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -21,13 +21,13 @@
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
<base-dialog width="70%" :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
@confirm="handleConfirm" :before-close="handleCancel">
|
||||
<productInspection-add ref="addOrUpdate" @successSubmit="successSubmit"></productInspection-add>
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
</base-dialog>
|
||||
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<base-dialog width="70%" :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible"
|
||||
@cancel="handleSearchCancel" @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<productInspection-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit">
|
||||
</productInspection-search>
|
||||
<el-row slot="footer" type="flex" justify="end">
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-06-12 13:22:50
|
||||
* @LastEditTime: 2023-07-14 10:16:14
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-07-17 10:29:25
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -21,40 +21,41 @@
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
<base-dialog width="70%" :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
@confirm="handleConfirm" :before-close="handleCancel">
|
||||
<productRegistration-add ref="addOrUpdate" @successSubmit="successSubmit">
|
||||
</productRegistration-add>
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
</base-dialog>
|
||||
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<base-dialog width="70%" :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible"
|
||||
@cancel="handleSearchCancel" @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<productRegistration-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit">
|
||||
</productRegistration-search>
|
||||
<el-row slot="footer" type="flex" justify="end">
|
||||
<el-col :span="12">
|
||||
<el-button size="small" type="primary" plain class="btnTextStyle" @click="handleSearchCancel">
|
||||
{{ $t("close") }}
|
||||
</el-button>
|
||||
<el-button size="small" class="btnTextStyle" type="primary" plain @click="handleSearchReset">{{
|
||||
$t("reset")
|
||||
}}</el-button>
|
||||
<el-button type="primary" size="small" class="btnTextStyle" @click="handleSearchConfirm">
|
||||
{{ $t("search") }}
|
||||
</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</productRegistration-search>
|
||||
<el-row slot="footer" type="flex" justify="end">
|
||||
<el-col :span="12">
|
||||
<el-button size="small" type="primary" plain class="btnTextStyle" @click="handleSearchCancel">
|
||||
{{ $t("close") }}
|
||||
</el-button>
|
||||
<el-button size="small" class="btnTextStyle" type="primary" plain @click="handleSearchReset">{{
|
||||
$t("reset")
|
||||
}}</el-button>
|
||||
<el-button type="primary" size="small" class="btnTextStyle" @click="handleSearchConfirm">
|
||||
{{ $t("search") }}
|
||||
</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</base-dialog>
|
||||
</div>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import basicPage from "@/mixins/basic-page";
|
||||
import basicSearch from "@/mixins/basic-search";
|
||||
import productRegistrationSearch from "./components/productRegistrationSearch.vue";
|
||||
import productRegistrationAdd from "./components/productRegistration-add.vue";
|
||||
import i18n from "@/i18n";
|
||||
import basicPage from "@/mixins/basic-page"
|
||||
import basicSearch from "@/mixins/basic-search"
|
||||
import productRegistrationSearch from "./components/productRegistrationSearch.vue"
|
||||
import productRegistrationAdd from "./components/productRegistration-add.vue"
|
||||
import i18n from "@/i18n"
|
||||
import incoming from "@/filters/incoming"
|
||||
// import i18n from "@/i18n";
|
||||
const tableProps = [
|
||||
{
|
||||
@ -76,10 +77,12 @@ const tableProps = [
|
||||
{
|
||||
prop: "upload",
|
||||
label: i18n.t('code.upload'),
|
||||
filter: incoming('upload'),
|
||||
},
|
||||
{
|
||||
prop: "judgmentResult",
|
||||
label: i18n.t('code.judgmentResult'),
|
||||
filter: incoming('judgmentResult'),
|
||||
},
|
||||
{
|
||||
prop: "productCode",
|
||||
@ -149,7 +152,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
getDataListURL: "code/productRegistration/page/term",
|
||||
getDataListURL: "/code/productRegistration/page/term",
|
||||
deleteURL: "/code/productRegistration",
|
||||
exportURL: "/code/productRegistration/export",
|
||||
},
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-06-12 13:22:50
|
||||
* @LastEditTime: 2023-07-14 10:16:28
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-07-17 10:29:35
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -21,14 +21,14 @@
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
<base-dialog width="70%" :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
@confirm="handleConfirm" :before-close="handleCancel">
|
||||
<shipmentRegistration-add ref="addOrUpdate" @successSubmit="successSubmit">
|
||||
</shipmentRegistration-add>
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
</base-dialog>
|
||||
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<base-dialog width="70%" :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible"
|
||||
@cancel="handleSearchCancel" @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<shipmentRegistration-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit">
|
||||
</shipmentRegistration-search>
|
||||
<el-row slot="footer" type="flex" justify="end">
|
||||
@ -55,6 +55,7 @@ import basicSearch from "@/mixins/basic-search";
|
||||
import shipmentRegistrationSearch from "./components/shipmentRegistrationSearch.vue";
|
||||
import shipmentRegistrationAdd from "./components/shipmentRegistration-add.vue";
|
||||
import i18n from "@/i18n";
|
||||
import incoming from "@/filters/incoming";
|
||||
// import i18n from "@/i18n";
|
||||
const tableProps = [
|
||||
{
|
||||
@ -76,10 +77,12 @@ const tableProps = [
|
||||
{
|
||||
prop: "upload",
|
||||
label: i18n.t('code.upload'),
|
||||
filter: incoming('upload'),
|
||||
},
|
||||
{
|
||||
prop: "judgmentResult",
|
||||
label: i18n.t('code.judgmentResult'),
|
||||
filter: incoming('judgmentResult'),
|
||||
},
|
||||
{
|
||||
prop: "productCode",
|
||||
@ -149,7 +152,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
getDataListURL: "code/shipmentRegistration/page/term",
|
||||
getDataListURL: "/code/shipmentRegistration/page/term",
|
||||
deleteURL: "/code/shipmentRegistration",
|
||||
exportURL: "/code/shipmentRegistration/export",
|
||||
},
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-14 10:16:41
|
||||
* @LastEditTime: 2023-07-17 10:39:16
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
@ -96,20 +96,20 @@ const tableProps = [
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
prop: "userId",
|
||||
prop: 'userName',
|
||||
label: i18n.t("code.userId"),
|
||||
align: "center",
|
||||
},
|
||||
];
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: "编辑",
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
// {
|
||||
// type: "edit",
|
||||
// btnName: "编辑",
|
||||
// },
|
||||
// {
|
||||
// type: "delete",
|
||||
// btnName: "删除",
|
||||
// },
|
||||
{
|
||||
type: "team",
|
||||
btnName: "团队",
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-14 10:16:46
|
||||
* @LastEditTime: 2023-07-17 10:38:45
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
@ -84,20 +84,20 @@ const tableProps = [
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
prop: 'userId',
|
||||
prop: 'userName',
|
||||
label: i18n.t("code.userId"),
|
||||
align: 'center'
|
||||
}
|
||||
]
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: "编辑",
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
// {
|
||||
// type: "edit",
|
||||
// btnName: "编辑",
|
||||
// },
|
||||
// {
|
||||
// type: "delete",
|
||||
// btnName: "删除",
|
||||
// },
|
||||
{
|
||||
type: "corrective",
|
||||
btnName: "纠正",
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-14 10:16:53
|
||||
* @LastEditTime: 2023-07-17 10:39:03
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
@ -82,7 +82,7 @@ const tableProps = [
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
prop: 'userId',
|
||||
prop: 'userName',
|
||||
label: i18n.t("code.userId"),
|
||||
align: 'center'
|
||||
}
|
||||
@ -92,10 +92,10 @@ const tableBtn = [
|
||||
// type: "edit",
|
||||
// btnName: "编辑",
|
||||
// },
|
||||
{
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
// {
|
||||
// type: "delete",
|
||||
// btnName: "删除",
|
||||
// },
|
||||
{
|
||||
type: "analysis",
|
||||
btnName: "分析",
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-14 10:16:58
|
||||
* @LastEditTime: 2023-07-17 10:38:34
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
@ -84,20 +84,20 @@ const tableProps = [
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
prop: 'userId',
|
||||
prop: 'userName',
|
||||
label: i18n.t("code.userId"),
|
||||
align: 'center'
|
||||
}
|
||||
]
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: "编辑",
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
// {
|
||||
// type: "edit",
|
||||
// btnName: "编辑",
|
||||
// },
|
||||
// {
|
||||
// type: "delete",
|
||||
// btnName: "删除",
|
||||
// },
|
||||
{
|
||||
type: "prevent",
|
||||
btnName: "预防",
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-06-30 09:21:25
|
||||
* @LastEditTime: 2023-07-17 10:38:50
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
@ -83,20 +83,20 @@ const tableProps = [
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
prop: 'userId',
|
||||
prop: 'userName',
|
||||
label: i18n.t("code.userId"),
|
||||
align: 'center'
|
||||
}
|
||||
]
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: "编辑",
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
// {
|
||||
// type: "edit",
|
||||
// btnName: "编辑",
|
||||
// },
|
||||
// {
|
||||
// type: "delete",
|
||||
// btnName: "删除",
|
||||
// },
|
||||
{
|
||||
type: "analysis",
|
||||
btnName: "分析",
|
||||
|
@ -2,7 +2,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-06-30 09:37:58
|
||||
* @LastEditTime: 2023-07-17 10:38:29
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
@ -84,20 +84,20 @@ const tableProps = [
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
prop: 'userId',
|
||||
prop: 'userName',
|
||||
label: i18n.t("code.userId"),
|
||||
align: 'center'
|
||||
}
|
||||
]
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: "编辑",
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
// {
|
||||
// type: "edit",
|
||||
// btnName: "编辑",
|
||||
// },
|
||||
// {
|
||||
// type: "delete",
|
||||
// btnName: "删除",
|
||||
// },
|
||||
{
|
||||
type: "summary",
|
||||
btnName: "总结",
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-14 10:17:04
|
||||
* @LastEditTime: 2023-07-17 10:39:25
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
@ -89,20 +89,20 @@ const tableProps = [
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
prop: 'userId',
|
||||
prop: 'userName',
|
||||
label: i18n.t("code.userId"),
|
||||
align: 'center'
|
||||
}
|
||||
]
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: "编辑",
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
// {
|
||||
// type: "edit",
|
||||
// btnName: "编辑",
|
||||
// },
|
||||
// {
|
||||
// type: "delete",
|
||||
// btnName: "删除",
|
||||
// },
|
||||
{
|
||||
type: "measure",
|
||||
btnName: "措施",
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-06-30 09:31:04
|
||||
* @LastEditTime: 2023-07-17 10:38:40
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
@ -83,20 +83,20 @@ const tableProps = [
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
prop: 'userId',
|
||||
prop: 'userName',
|
||||
label: i18n.t("code.userId"),
|
||||
align: 'center'
|
||||
}
|
||||
]
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: "编辑",
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
// {
|
||||
// type: "edit",
|
||||
// btnName: "编辑",
|
||||
// },
|
||||
// {
|
||||
// type: "delete",
|
||||
// btnName: "删除",
|
||||
// },
|
||||
{
|
||||
type: "validation",
|
||||
btnName: "验证",
|
||||
|
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__user">
|
||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
||||
<!-- <search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" /> -->
|
||||
<base-table
|
||||
:table-props="tableProps"
|
||||
:page="listQuery.page"
|
||||
@ -73,10 +73,10 @@ const tableProps = [
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
prop: "examineStatus",
|
||||
label: i18n.t("code.examineStatus"),
|
||||
prop: "gradeFinish",
|
||||
label: "打分状态",
|
||||
align: "center",
|
||||
filter: codeFilter("examineStatus"),
|
||||
filter: codeFilter("gradeFinish"),
|
||||
},
|
||||
];
|
||||
const tableBtn = [
|
||||
@ -130,9 +130,16 @@ export default {
|
||||
}
|
||||
},
|
||||
otherMethods(val) {
|
||||
if(val.data.gradeFinish){
|
||||
this.$message({
|
||||
message: '该数据已完成打分操作,请勿重复打分!',
|
||||
type: 'warning'
|
||||
});
|
||||
}else{
|
||||
this.addOrEditTitle = "打分";
|
||||
this.addOrUpdateVisible = true;
|
||||
this.addOrUpdateHandle(val.data.id);
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
|
173
src/views/modules/customerquality/components/baseConfig-add.vue
Normal file
173
src/views/modules/customerquality/components/baseConfig-add.vue
Normal file
@ -0,0 +1,173 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-07-14 13:44:46
|
||||
* @LastEditTime: 2023-07-17 15:51:39
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<div>
|
||||
<el-drawer close-on-press-escape:title="$t('add')" :append-to-body="true" :before-close="handleClose"
|
||||
:visible.sync="innerDrawer">
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="requirementListId" :label="$t('customerquality.requirementListName')">
|
||||
<el-select 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-option v-for="item in knowledgeBaseList" :key="item.id" :label="item.knowledgeBaseName"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="innerDrawer = false">{{ $t('cancel') }} </el-button>
|
||||
<el-button type="primary" @click="dataFormSubmit"> {{ $t('confirm') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import i18n from "@/i18n"
|
||||
import basicAdd from "@/mixins/basic-add"
|
||||
import debounce from "lodash/debounce"
|
||||
export default {
|
||||
mixins: [basicAdd],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
submitURL: "/customerquality/qmsKnowledgeBaseRequirementList",
|
||||
getRequirementListURL: "/customerquality/qmsCustomerQualityRequirementList/page",
|
||||
getKnowledgeBaseURL: "/customerquality/qmsKnowledgeBase/page"
|
||||
},
|
||||
dataForm: {
|
||||
knowledgeBaseId: null,
|
||||
requirementListId:null
|
||||
},
|
||||
innerDrawer: false,
|
||||
listQuery: {
|
||||
limit: 10,
|
||||
page:1,
|
||||
},
|
||||
requirementList: [],
|
||||
knowledgeBaseList:[],
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
dataRule() {
|
||||
return {
|
||||
knowledgeBaseId: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
requirementListId: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
]
|
||||
};
|
||||
},
|
||||
},
|
||||
mounted () {
|
||||
this.getDict()
|
||||
},
|
||||
methods: {
|
||||
init(id) {
|
||||
this.dataForm.id = id || ''
|
||||
this.innerDrawer = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs["dataForm"].resetFields()
|
||||
if (this.dataForm.id) {
|
||||
this.getInfo()
|
||||
} else {
|
||||
// this.getCode()
|
||||
}
|
||||
})
|
||||
},
|
||||
handleClose() {
|
||||
this.innerDrawer = true
|
||||
this.$refs.dataForm.resetFields()
|
||||
},
|
||||
getInfo() {
|
||||
this.$http
|
||||
.get(`/customerquality/qmsKnowledgeBaseRequirementList/${this.dataForm.id}`)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.dataForm = {
|
||||
...this.dataForm,
|
||||
...res.data,
|
||||
};
|
||||
})
|
||||
.catch(() => { });
|
||||
},
|
||||
getDict() {
|
||||
this.$http
|
||||
.get(this.urlOptions.getRequirementListURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.requirementList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getKnowledgeBaseURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.knowledgeBaseList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
},
|
||||
// 表单提交
|
||||
dataFormSubmit() {
|
||||
this.$refs["dataForm"].validate((valid) => {
|
||||
if (!valid) {
|
||||
return false;
|
||||
}
|
||||
this.$http[!this.dataForm.id ? "post" : "put"](this.urlOptions.submitURL, this.dataForm)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.$message({
|
||||
message: this.$t("prompt.success"),
|
||||
type: "success",
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
this.innerDrawer = false;
|
||||
this.$emit("refreshDataList");
|
||||
},
|
||||
});
|
||||
})
|
||||
.catch(() => { });
|
||||
});
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-07-14 13:44:46
|
||||
* @LastEditTime: 2023-07-14 13:59:46
|
||||
* @LastEditTime: 2023-07-17 15:59:27
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -9,6 +9,11 @@
|
||||
<div>
|
||||
<el-drawer :title="$t('customerquality.knowledgeBase')" :visible.sync="drawer" size="50%">
|
||||
<div>
|
||||
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
|
||||
<!-- <el-badge :value="5" class="item">
|
||||
<el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
|
||||
</el-badge> -->
|
||||
</SearchBar>
|
||||
<base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1"
|
||||
:limit="listQuery.limit" :table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
||||
@ -17,6 +22,7 @@
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
</div>
|
||||
<baseConfig-add ref="baseConfigAddList" v-if="baseConfigAddShow" @refreshDataList="getDataList"></baseConfig-add>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
@ -25,8 +31,10 @@
|
||||
import basicPage from "@/mixins/basic-page"
|
||||
// import basicSearch from "@/mixins/basic-search"
|
||||
// import projectTypeSearch from "./components/projectTypeSearch.vue"
|
||||
import baseConfigAdd from "./baseConfig-add"
|
||||
import customerquality from '@/filters/customerquality'
|
||||
// import qmsKnowledgeBaseAdd from "./components/qmsKnowledgeBase-add.vue"
|
||||
import InnerTable from "./innerTable"
|
||||
import i18n from "@/i18n"
|
||||
// import i18n from "@/i18n";
|
||||
const tableProps = [
|
||||
@ -40,8 +48,13 @@ const tableProps = [
|
||||
},
|
||||
{
|
||||
prop: "categoryName",
|
||||
label: i18n.t('customerquality.category'),
|
||||
}
|
||||
label: i18n.t('uploadFile'),
|
||||
},
|
||||
{
|
||||
prop: "code",
|
||||
label: i18n.t('customerquality.file'),
|
||||
subcomponent: InnerTable
|
||||
},
|
||||
];
|
||||
const tableBtn = [
|
||||
{
|
||||
@ -51,14 +64,13 @@ const tableBtn = [
|
||||
{
|
||||
type: "delete",
|
||||
btnName: i18n.t('delete'),
|
||||
},
|
||||
{
|
||||
type: "configuration",
|
||||
btnName: i18n.t('delete'),
|
||||
}
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage],
|
||||
components: {
|
||||
baseConfigAdd,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
@ -67,7 +79,23 @@ export default {
|
||||
exportURL: '/customerquality/qmsKnowledgeBase/export'
|
||||
},
|
||||
tableBtn,
|
||||
|
||||
baseConfigAddShow:[],
|
||||
formConfig: [
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('search'),
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('add'),
|
||||
name: "add",
|
||||
color: "success",
|
||||
plain: true
|
||||
},
|
||||
],
|
||||
tableProps,
|
||||
tableData: [],
|
||||
drawer: false,
|
||||
@ -83,11 +111,89 @@ export default {
|
||||
// this.dataForm.dictTypeId = dictTypeId || "";
|
||||
this.drawer = true
|
||||
this.$nextTick(() => {
|
||||
this.getDataList()
|
||||
});
|
||||
},
|
||||
handleClick(){
|
||||
|
||||
}
|
||||
buttonClick(val) {
|
||||
console.log(val)
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
// this.listQuery.paramCode = val.paramCode;
|
||||
// this.listQuery.supplierName = val.supplierName ? val.supplierName : undefined
|
||||
// this.listQuery.supplierStatus = val.supplierStatus ? val.supplierStatus : undefined
|
||||
// this.listQuery.supplierTypeId = val.supplierTypeId ? val.supplierTypeId : undefined
|
||||
// this.listQuery.ment = this.ment ? this.ment : undefined
|
||||
// console.log(i18n);
|
||||
this.listQuery.page = 1;
|
||||
this.getDataList()
|
||||
break;
|
||||
// case "export":
|
||||
// // this.listQuery.paramCode = val.paramCode;
|
||||
// this.exportHandle()
|
||||
// break;
|
||||
case "add":
|
||||
// this.addOrEditTitle = '新增'
|
||||
// this.addOrUpdateVisible = true;
|
||||
this.baseConfigAddShow = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.baseConfigAddList.init()
|
||||
})
|
||||
// this.addOrUpdateHandle()
|
||||
break;
|
||||
default:
|
||||
}
|
||||
},
|
||||
getDataList() {
|
||||
this.dataListLoading = true;
|
||||
this.$http
|
||||
.get(this.urlOptions.getDataListURL, {
|
||||
params: this.listQuery,
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.tableData = [];
|
||||
this.listQuery.total = 0;
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.tableData = res.data.list;
|
||||
this.listQuery.total = res.data.total;
|
||||
})
|
||||
.catch(() => {
|
||||
this.dataListLoading = false;
|
||||
})
|
||||
},
|
||||
handleClick(val) {
|
||||
if (val.type === "delete") {
|
||||
this.$confirm(`确定对[名称=${val.data.customerTypeName}]进行删除操作?`, "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message({
|
||||
message: "操作成功",
|
||||
type: "success",
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.getDataList();
|
||||
},
|
||||
});
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(() => { });
|
||||
} else if (val.type === 'edit') {
|
||||
this.baseConfigAddShow = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.baseConfigAddList.init(val.data.id)
|
||||
})
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
@ -0,0 +1,173 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-07-14 13:44:46
|
||||
* @LastEditTime: 2023-07-17 16:55:03
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<div>
|
||||
<el-drawer close-on-press-escape:title="$t('add')" :append-to-body="true" :before-close="handleClose"
|
||||
:visible.sync="innerDrawer">
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="requirementListId" :label="$t('customerquality.requirementListName')">
|
||||
<el-select 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-option v-for="item in knowledgeBaseList" :key="item.id" :label="item.knowledgeBaseName"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button @click="innerDrawer = false">{{ $t('cancel') }} </el-button>
|
||||
<el-button type="primary" @click="dataFormSubmit"> {{ $t('confirm') }}</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import i18n from "@/i18n"
|
||||
import basicAdd from "@/mixins/basic-add"
|
||||
import debounce from "lodash/debounce"
|
||||
export default {
|
||||
mixins: [basicAdd],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
submitURL: "/customerquality/qmsKnowledgeBaseRequirementList",
|
||||
getRequirementListURL: "/customerquality/qmsCustomerQualityRequirementList/page",
|
||||
getKnowledgeBaseURL: "/customerquality/qmsKnowledgeBase/page"
|
||||
},
|
||||
dataForm: {
|
||||
knowledgeBaseId: null,
|
||||
requirementListId:null
|
||||
},
|
||||
innerDrawer: false,
|
||||
listQuery: {
|
||||
limit: 10,
|
||||
page:1,
|
||||
},
|
||||
requirementList: [],
|
||||
knowledgeBaseList:[],
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
dataRule() {
|
||||
return {
|
||||
knowledgeBaseId: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
requirementListId: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
]
|
||||
};
|
||||
},
|
||||
},
|
||||
mounted () {
|
||||
this.getDict()
|
||||
},
|
||||
methods: {
|
||||
init(id) {
|
||||
this.dataForm.id = id || ''
|
||||
this.innerDrawer = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs["dataForm"].resetFields()
|
||||
if (this.dataForm.id) {
|
||||
this.getInfo()
|
||||
} else {
|
||||
// this.getCode()
|
||||
}
|
||||
})
|
||||
},
|
||||
handleClose() {
|
||||
this.innerDrawer = true
|
||||
this.$refs.dataForm.resetFields()
|
||||
},
|
||||
getInfo() {
|
||||
this.$http
|
||||
.get(`/customerquality/qmsKnowledgeBaseRequirementList/${this.dataForm.id}`)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.dataForm = {
|
||||
...this.dataForm,
|
||||
...res.data,
|
||||
};
|
||||
})
|
||||
.catch(() => { });
|
||||
},
|
||||
getDict() {
|
||||
this.$http
|
||||
.get(this.urlOptions.getRequirementListURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.requirementList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getKnowledgeBaseURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.knowledgeBaseList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
},
|
||||
// 表单提交
|
||||
dataFormSubmit() {
|
||||
this.$refs["dataForm"].validate((valid) => {
|
||||
if (!valid) {
|
||||
return false;
|
||||
}
|
||||
this.$http[!this.dataForm.id ? "post" : "put"](this.urlOptions.submitURL, this.dataForm)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.$message({
|
||||
message: this.$t("prompt.success"),
|
||||
type: "success",
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
this.innerDrawer = false;
|
||||
this.$emit("refreshDataList");
|
||||
},
|
||||
});
|
||||
})
|
||||
.catch(() => { });
|
||||
});
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
164
src/views/modules/customerquality/components/innerTable.vue
Normal file
164
src/views/modules/customerquality/components/innerTable.vue
Normal file
@ -0,0 +1,164 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-04-18 09:19:02
|
||||
* @LastEditTime: 2023-07-17 16:59:22
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<div>
|
||||
<el-popover placement="right" width="400" trigger="click">
|
||||
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
|
||||
<!-- <el-badge :value="5" class="item">
|
||||
<el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
|
||||
</el-badge> -->
|
||||
</SearchBar>
|
||||
<base-table id="palletTable" :table-props="tableProps" ref="palletTable1" :table-data="tableData">
|
||||
</base-table>
|
||||
<i slot="reference" class="el-icon-plus" @click="showInnerTable(injectData.id)" />
|
||||
</el-popover>
|
||||
<baseConfigFile-add ref="baseConfigFileAddList" v-if="baseConfigFileAddShow" @refreshDataList="getDataList"></baseConfigFile-add>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import i18n from "@/i18n"
|
||||
import { timeFormatter } from '@/filters'
|
||||
import baseConfigFileAdd from "./baseConfigFile-add"
|
||||
|
||||
const tableProps = [
|
||||
{
|
||||
prop: "stageOneName",
|
||||
label: i18n.t('researchquality.stageOneName'),
|
||||
},
|
||||
{
|
||||
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
|
||||
}
|
||||
];
|
||||
export default {
|
||||
name: 'InnerTable',
|
||||
props: {
|
||||
injectData: {
|
||||
type: Object,
|
||||
default: () => ({})
|
||||
},
|
||||
itemProp: {
|
||||
type: String
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
tableProps,
|
||||
list: this.injectData,
|
||||
urlOptions: {
|
||||
submitURL: "/customerquality/qmsPublicDocuments",
|
||||
infoURL: "/customerquality/qmsPublicDocuments//{id}",
|
||||
getCodeURL: '/customerquality/qmsPublicDocuments/getCode',
|
||||
getDataListURL: '/customerquality/knowledgeBaseRequirementListData/page'
|
||||
},
|
||||
baseConfigFileAddShow:false,
|
||||
tableData: [],
|
||||
listQuery: {
|
||||
limit: 10,
|
||||
page:1,
|
||||
},
|
||||
formConfig: [
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('search'),
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('add'),
|
||||
name: "add",
|
||||
color: "success",
|
||||
plain: true
|
||||
},
|
||||
],
|
||||
}
|
||||
},
|
||||
components: {
|
||||
baseConfigFileAdd,
|
||||
},
|
||||
methods: {
|
||||
buttonClick(val) {
|
||||
console.log(val)
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
this.listQuery.page = 1;
|
||||
this.getDataList()
|
||||
break;
|
||||
// case "export":
|
||||
// // this.listQuery.paramCode = val.paramCode;
|
||||
// this.exportHandle()
|
||||
// break;
|
||||
case "add":
|
||||
// this.addOrEditTitle = '新增'
|
||||
// this.addOrUpdateVisible = true;
|
||||
this.baseConfigFileAddShow = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.baseConfigFileAddList.init(this.injectData.id)
|
||||
})
|
||||
// this.addOrUpdateHandle()
|
||||
break;
|
||||
default:
|
||||
}
|
||||
},
|
||||
showInnerTable() {
|
||||
this.listQuery.knowledgeBaseRequirementListId = this.injectData.id
|
||||
this.getDataList()
|
||||
},
|
||||
getDataList() {
|
||||
this.dataListLoading = true;
|
||||
this.$http
|
||||
.get(this.urlOptions.getDataListURL, {
|
||||
params: this.listQuery,
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.tableData = [];
|
||||
this.listQuery.total = 0;
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.tableData = res.data.list;
|
||||
this.listQuery.total = res.data.total;
|
||||
})
|
||||
.catch(() => {
|
||||
this.dataListLoading = false;
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-14 10:28:15
|
||||
* @LastEditTime: 2023-07-17 15:50:39
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -45,7 +45,7 @@
|
||||
|
||||
<script>
|
||||
import debounce from "lodash/debounce";
|
||||
import basicAdd from "@/mixins/basic-add";
|
||||
import basicAdd from "@/mixins/basic-add"
|
||||
export default {
|
||||
mixins: [basicAdd],
|
||||
data() {
|
||||
@ -119,7 +119,7 @@ export default {
|
||||
} else {
|
||||
// this.getCode()
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
// getCode() {
|
||||
// this.$http
|
||||
|
@ -1,336 +0,0 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-13 14:49:30
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-form :model="dataForm" ref="dataForm" :rules="dataRule" @keyup.enter.native="dataFormSubmitHandle()"
|
||||
label-width="120px">
|
||||
<el-form-item prop="registrationDate" :label="$t('researchquality.registrationDate')">
|
||||
<el-date-picker v-model="dataForm.registrationDate" type="datetime"
|
||||
:placeholder="$t('researchquality.registrationDate')">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item prop="changeSource" :label="$t('researchquality.changeSource')">
|
||||
<el-select v-model="dataForm.changeSource" :placeholder="$t('researchquality.changeSource')">
|
||||
<el-option v-for="item in changeSourceList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="sourceRemark" :label="$t('researchquality.sourceRemark')">
|
||||
<el-input v-model="dataForm.sourceRemark" :placeholder="$t('researchquality.sourceRemark')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="owner" :label="$t('researchquality.owner')">
|
||||
<el-select v-model="dataForm.owner" :placeholder="$t('researchquality.owner')">
|
||||
<el-option v-for="item in userList" :key="item.id" :label="item.realName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="title" :label="$t('researchquality.title')">
|
||||
<el-input v-model="dataForm.title" :placeholder="$t('researchquality.title')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="processId" :label="$t('researchquality.processName')">
|
||||
<el-select v-model="dataForm.processId" :placeholder="$t('researchquality.processName')">
|
||||
<el-option v-for="item in processList" :key="item.id" :label="item.processName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="productId" :label="$t('researchquality.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('researchquality.productName')">
|
||||
<el-option v-for="item in productList" :key="item.id" :label="item.productName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="processId" :label="$t('researchquality.productTypeName')">
|
||||
<el-select v-model="dataForm.processId" :placeholder="$t('researchquality.productTypeName')">
|
||||
<el-option v-for="item in productTypeList" :key="item.id" :label="item.productTypeName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="temporaryChange" :label="$t('researchquality.temporaryChange')">
|
||||
<el-switch v-model="dataForm.temporaryChange" :active-value="1" :inactive-value="0"></el-switch>
|
||||
</el-form-item>
|
||||
<!-- <el-row :gutter="20">
|
||||
<el-col :span="12"> {{ this.$t('researchquality.planPhase') }} </el-col>
|
||||
<el-col :span="12"> {{ this.$t('researchquality.planTime') }} </el-col>
|
||||
</el-row> -->
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="stageOneName" :label="$t('researchquality.stageOneName')">
|
||||
<el-input v-model="dataForm.stageOneName" :placeholder="$t('researchquality.stageOneName')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="stageOneDate" :label="$t('researchquality.stageOneDate')">
|
||||
<el-date-picker v-model="dataForm.stageOneDate" type="datetime"
|
||||
:placeholder="$t('researchquality.stageOneDate')">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="stageTwoName" :label="$t('researchquality.stageTwoName')">
|
||||
<el-input v-model="dataForm.stageTwoName" :placeholder="$t('researchquality.stageTwoName')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="stageTwoDate" :label="$t('researchquality.stageTwoDate')">
|
||||
<el-date-picker v-model="dataForm.stageTwoDate" type="datetime"
|
||||
:placeholder="$t('researchquality.stageTwoDate')">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="stageThreeName" :label="$t('researchquality.stageThreeName')">
|
||||
<el-input v-model="dataForm.stageThreeName" :placeholder="$t('researchquality.stageThreeName')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="stageThreeDate" :label="$t('researchquality.stageThreeDate')">
|
||||
<el-date-picker v-model="dataForm.stageThreeDate" type="datetime"
|
||||
:placeholder="$t('researchquality.stageThreeDate')">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="stageFourName" :label="$t('researchquality.stageFourName')">
|
||||
<el-input v-model="dataForm.stageFourName" :placeholder="$t('researchquality.stageFourName')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item prop="stageFourDate" :label="$t('researchquality.stageFourDate')">
|
||||
<el-date-picker v-model="dataForm.stageFourDate" type="datetime"
|
||||
:placeholder="$t('researchquality.stageFourDate')">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<!-- <el-form-item prop="productTypeStatus" :label="$t('basic.status')">
|
||||
<el-select v-model="dataForm.productTypeStatus" :placeholder="$t('basic.status')">
|
||||
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
</el-form>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import debounce from "lodash/debounce";
|
||||
import basicAdd from "@/mixins/basic-add";
|
||||
export default {
|
||||
mixins: [basicAdd],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
submitURL: "/supplier/qmsSupplier",
|
||||
infoURL: "/supplier/qmsSupplier/{id}",
|
||||
getUserURL: '/sys/user/page',
|
||||
getProcessURL: '/basic/qmsProcess/page',
|
||||
getProductURL: '/basic/qmsProduct/page',
|
||||
getProductTypeURL: '/basic/qmsProductType/page',
|
||||
getSupplierTypeListURL: '/supplier/qmsSupplierType/page'
|
||||
},
|
||||
userList: [],
|
||||
processList: [],
|
||||
productTypeList: [],
|
||||
productList: [],
|
||||
changeSourceList: [
|
||||
{
|
||||
id: 0,
|
||||
name: '工程变更'
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
name: '设计变更'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: 'CCB'
|
||||
}
|
||||
],
|
||||
visible: false,
|
||||
listQuery: {
|
||||
limit: 999,
|
||||
page:1
|
||||
},
|
||||
dataForm: {
|
||||
id: "",
|
||||
changeSource:null,
|
||||
currentStage: null,
|
||||
owner: null,
|
||||
productId: null,
|
||||
productName: null,
|
||||
qualityChangeStatus: null,
|
||||
registrationDate: null,
|
||||
sourceRemark: null,
|
||||
stageFourDate: null,
|
||||
stageFourName: null,
|
||||
stageOneDate: null,
|
||||
stageOneName: null,
|
||||
stageThreeDate: null,
|
||||
stageThreeName: null,
|
||||
stageTwoDate: null,
|
||||
stageTwoName: null,
|
||||
temporaryChange: null,
|
||||
title: null,
|
||||
},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
dataRule() {
|
||||
return {
|
||||
code: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
name: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
ment: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
supplierStatus: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t("validate.required"),
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
init(id, ) {
|
||||
this.dataForm.id = id || ""
|
||||
// this.dataForm.dictTypeId = dictTypeId || "";
|
||||
this.visible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs["dataForm"].resetFields();
|
||||
if (this.dataForm.id) {
|
||||
this.getInfo();
|
||||
} else {
|
||||
this.getCode()
|
||||
}
|
||||
});
|
||||
},
|
||||
getCode() {
|
||||
this.$http
|
||||
.get(this.urlOptions.getUserURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.userList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getProcessURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.processList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getProductURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.productList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
this.$http
|
||||
.get(this.urlOptions.getProductTypeURL, {
|
||||
params: this.listQuery
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.productTypeList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
},
|
||||
// 获取信息
|
||||
getInfo() {
|
||||
this.$http
|
||||
.get(`/supplier/qmsSupplier/${this.dataForm.id}`)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.dataForm = {
|
||||
...this.dataForm,
|
||||
...res.data,
|
||||
};
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
// 表单提交
|
||||
dataFormSubmitHandle: debounce(
|
||||
function () {
|
||||
this.$refs["dataForm"].validate((valid) => {
|
||||
if (!valid) {
|
||||
return false;
|
||||
}
|
||||
this.$http[!this.dataForm.id ? "post" : "put"](this.urlOptions.submitURL, this.dataForm)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.$message({
|
||||
message: this.$t("prompt.success"),
|
||||
type: "success",
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
console.log(1111);
|
||||
this.visible = false;
|
||||
this.$emit("successSubmit");
|
||||
},
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
});
|
||||
},
|
||||
1000,
|
||||
{ leading: true, trailing: false }
|
||||
),
|
||||
},
|
||||
};
|
||||
</script>
|
@ -1,281 +0,0 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-04-17 14:23:17
|
||||
* @LastEditTime: 2023-07-13 14:06:42
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__user">
|
||||
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
|
||||
<el-badge :value="5" class="item">
|
||||
<el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
|
||||
</el-badge>
|
||||
</SearchBar>
|
||||
<base-table id="palletTable" :table-props="tableProps" :page="listQuery.page" ref="palletTable1"
|
||||
:limit="listQuery.limit" :table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
||||
@clickBtn="handleClick" />
|
||||
</base-table>
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
@confirm="handleConfirm" :before-close="handleCancel">
|
||||
<qualityChange-add ref="addOrUpdate" @refreshDataList="successSubmit">
|
||||
</qualityChange-add>
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
</base-dialog>
|
||||
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<qualityChange-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit">
|
||||
</qualityChange-search>
|
||||
<el-row slot="footer" type="flex" justify="end">
|
||||
<el-col :span="12">
|
||||
<el-button size="small" type="primary" plain class="btnTextStyle" @click="handleSearchCancel">
|
||||
{{ $t("close") }}
|
||||
</el-button>
|
||||
<el-button size="small" class="btnTextStyle" type="primary" plain @click="handleSearchReset">{{
|
||||
$t("reset")
|
||||
}}</el-button>
|
||||
<el-button type="primary" size="small" class="btnTextStyle" @click="handleSearchConfirm">
|
||||
{{ $t("search") }}
|
||||
</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</base-dialog>
|
||||
</div>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import basicPage from "@/mixins/basic-page"
|
||||
import basicSearch from "@/mixins/basic-search"
|
||||
import qualityChangeSearch from "./components/qualityChangeSearch.vue"
|
||||
import qualityChangeAdd from "./components/qualityChange-add.vue"
|
||||
import i18n from "@/i18n"
|
||||
// import supplier from '@/filters/supplier'
|
||||
const tableProps = [
|
||||
{
|
||||
prop: "code",
|
||||
label: i18n.t('researchquality.code'),
|
||||
},
|
||||
{
|
||||
prop: "registrationDate",
|
||||
label: i18n.t('researchquality.registrationDate'),
|
||||
},
|
||||
{
|
||||
prop: "changeSource",
|
||||
label: i18n.t('researchquality.changeSource'),
|
||||
},
|
||||
{
|
||||
prop: "owner",
|
||||
label: i18n.t('researchquality.owner'),
|
||||
},
|
||||
{
|
||||
prop: "category",
|
||||
label: i18n.t('researchquality.category'),
|
||||
},
|
||||
{
|
||||
prop: "title",
|
||||
label: i18n.t('researchquality.title'),
|
||||
},
|
||||
{
|
||||
prop: "currentStage",
|
||||
label: i18n.t('researchquality.currentStage'),
|
||||
},
|
||||
{
|
||||
prop: "productName",
|
||||
label: i18n.t('researchquality.productName'),
|
||||
},
|
||||
{
|
||||
prop: "qualityChangeStatus",
|
||||
label: i18n.t('researchquality.qualityChangeStatus'),
|
||||
},
|
||||
{
|
||||
prop: "temporaryChange",
|
||||
label: i18n.t('researchquality.temporaryChange'),
|
||||
}
|
||||
];
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: i18n.t('t.edit'),
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: i18n.t('t.delete'),
|
||||
}
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage, basicSearch],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
getDataListURL: "/researchquality/qmsQualityChange/page",
|
||||
deleteURL: "/researchquality/qmsQualityChange",
|
||||
exportURL: '/researchquality/qmsQualityChange',
|
||||
// getSupplierTypeListURL: '/supplier/qmsSupplierType/page'
|
||||
// submitURL: '/supplier/qmsSupplierType'
|
||||
},
|
||||
tableProps,
|
||||
ment: '',
|
||||
tableBtn,
|
||||
productData: {},
|
||||
dataForm:{
|
||||
limit: 999,
|
||||
page:1
|
||||
},
|
||||
searchOrEditTitle: "",
|
||||
searchOrUpdateVisible: false,
|
||||
productOrEditTitle: "",
|
||||
addOrEditTitle: '',
|
||||
addOrUpdateVisible: false,
|
||||
productOrUpdateVisible: false,
|
||||
formConfig: [
|
||||
// {
|
||||
// type: "",
|
||||
// label: i18n.t("params.paramCode"),
|
||||
// placeholder: i18n.t("params.paramCode"),
|
||||
// param: "paramCode",
|
||||
// },
|
||||
// {
|
||||
// type: "separate",
|
||||
// },
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('search'),
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('add'),
|
||||
name: "add",
|
||||
color: "success",
|
||||
plain: true
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('export'),
|
||||
name: "export",
|
||||
color: "primary",
|
||||
plain: true
|
||||
}
|
||||
],
|
||||
};
|
||||
},
|
||||
components: {
|
||||
qualityChangeSearch,
|
||||
// supplierProduct,
|
||||
qualityChangeAdd
|
||||
},
|
||||
// mounted () {
|
||||
// this.getData();
|
||||
// },
|
||||
methods: {
|
||||
//search-bar点击
|
||||
handleProductCancel() {
|
||||
this.productOrUpdateVisible = false;
|
||||
this.productOrEditTitle = "";
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
console.log(val);
|
||||
this.productData = val.newVal ? val.newVal : {}
|
||||
},
|
||||
setCurrent(index) {
|
||||
this.$refs.palletTable1.setCurrent("palletTable", index);
|
||||
},
|
||||
// handleSearchCancel() {
|
||||
// this.searchOrEditTitle = "";
|
||||
// this.searchOrUpdateVisible = false;
|
||||
// },
|
||||
conditionSearch() {
|
||||
this.searchOrEditTitle = "搜索";
|
||||
this.searchOrUpdateVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.searchOrUpdate.init();
|
||||
});
|
||||
},
|
||||
// handleConfirm() {
|
||||
// this.$refs.addOrUpdate.dataFormSubmitHandle();
|
||||
// },
|
||||
// conditionSearchSubmit() {},
|
||||
conditionSearchSubmit(dataForm) {
|
||||
// console.log(key);
|
||||
// console.log(key);
|
||||
this.listQuery.supplierName = dataForm.supplierName
|
||||
this.listQuery.page = 1;
|
||||
this.getDataList();
|
||||
this.searchOrUpdateVisible = false;
|
||||
// console.log(11111);
|
||||
// this.conditionSearchSubmit();
|
||||
},
|
||||
handleClick(val) {
|
||||
if (val.type === "delete") {
|
||||
this.$confirm(`确定对[名称=${val.data.customerTypeName}]进行删除操作?`, "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message({
|
||||
message: "操作成功",
|
||||
type: "success",
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.getDataList()
|
||||
},
|
||||
});
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(() => { });
|
||||
} else if (val.type === 'edit') {
|
||||
this.addOrUpdateVisible = true
|
||||
this.addOrEditTitle = this.$t('edit')
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(val.data.id);
|
||||
});
|
||||
}
|
||||
},
|
||||
// addOrUpdateHandle(productData) {
|
||||
// this.addOrUpdateVisible = true;
|
||||
// this.$nextTick(() => {
|
||||
// this.$refs.addOrUpdate.init(productData);
|
||||
// });
|
||||
// },
|
||||
buttonClick(val) {
|
||||
console.log(val)
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
// this.listQuery.paramCode = val.paramCode;
|
||||
this.listQuery.supplierName = val.supplierName ? val.supplierName : undefined
|
||||
this.listQuery.supplierStatus = val.supplierStatus ? val.supplierStatus : undefined
|
||||
this.listQuery.supplierTypeId = val.supplierTypeId ? val.supplierTypeId : undefined
|
||||
this.listQuery.ment = this.ment ? this.ment : undefined
|
||||
// console.log(i18n);
|
||||
this.listQuery.page = 1;
|
||||
this.getDataList();
|
||||
break;
|
||||
case "export":
|
||||
// this.listQuery.paramCode = val.paramCode;
|
||||
this.exportHandle()
|
||||
break;
|
||||
case "add":
|
||||
this.addOrEditTitle = '新增'
|
||||
this.addOrUpdateVisible = true;
|
||||
this.addOrUpdateHandle()
|
||||
break;
|
||||
default:
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-06-20 15:25:08
|
||||
* @LastEditTime: 2023-07-17 10:23:54
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -10,7 +10,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="factoryId" :label="$t('code.factoryName')">
|
||||
<el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
|
||||
<el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
|
||||
<el-option v-for="item in factoryList" :key="item.id" :label="item.factoryName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -18,26 +18,26 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionTime" :label="$t('code.inspectionTime')">
|
||||
<el-date-picker v-model="dataForm.inspectionTime" type="datetime" :placeholder="$t('code.inspectionTime')"
|
||||
format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
<el-date-picker v-model="dataForm.inspectionTime" type="datetime"
|
||||
:placeholder="$t('code.inspectionTime')" format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="orderNumber" :label="$t('code.orderNumber')">
|
||||
<el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
|
||||
<el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchNo" :label="$t('code.batchNo')">
|
||||
<el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
|
||||
<el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionType" :label="$t('code.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
|
||||
<el-option v-for="item in inspectionTypeList" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -53,7 +53,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="productId" :label="$t('code.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
|
||||
<el-option v-for="item in productList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -61,7 +61,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="supplierId" :label="$t('code.supplierName')">
|
||||
<el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
|
||||
<el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
|
||||
<el-option v-for="item in supplierList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -69,31 +69,34 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchQuantity" :label="$t('code.batchQuantity')">
|
||||
<el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionQuantity" :label="$t('code.inspectionQuantity')">
|
||||
<el-input v-model="dataForm.inspectionQuantity" :placeholder="$t('code.inspectionQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.inspectionQuantity"
|
||||
:placeholder="$t('code.inspectionQuantity')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchSize" :label="$t('code.batchSize')">
|
||||
<el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
|
||||
<el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="samplesQuantity" :label="$t('code.samplesQuantity')">
|
||||
<el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="companyId" :label="$t('code.companyName')">
|
||||
<el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
|
||||
<el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
|
||||
<el-option v-for="item in unitList" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -101,15 +104,15 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="userId" :label="$t('code.username')">
|
||||
<el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
|
||||
<el-option v-for="item in unitList" :key="item.id" :label="item.realName" :value="item.id">
|
||||
<el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
|
||||
<el-option v-for="item in userList" :key="item.id" :label="item.realName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionStatus" :label="$t('code.inspectionStatus')">
|
||||
<el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
|
||||
<el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
|
||||
<el-option v-for="item in inspectionStatusList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -119,7 +122,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="customSamplingId" :label="$t('code.customSampling')">
|
||||
<el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
|
||||
<el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
|
||||
<el-option v-for="item in samplingPlanList" :key="item.id" :label="item.sampleRange" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-06-20 15:28:55
|
||||
* @LastEditTime: 2023-07-17 10:23:45
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -11,7 +11,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="factoryId" :label="$t('code.factoryName')">
|
||||
<el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
|
||||
<el-select v-model="dataForm.factoryId" :placeholder="$t('code.factoryName')">
|
||||
<el-option v-for="item in factoryList" :key="item.id" :label="item.factoryName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -19,26 +19,26 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionTime" :label="$t('code.inspectionTime')">
|
||||
<el-date-picker v-model="dataForm.inspectionTime" type="datetime" :placeholder="$t('code.inspectionTime')"
|
||||
format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
<el-date-picker v-model="dataForm.inspectionTime" type="datetime"
|
||||
:placeholder="$t('code.inspectionTime')" format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="orderNumber" :label="$t('code.orderNumber')">
|
||||
<el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
|
||||
<el-input v-model="dataForm.orderNumber" :placeholder="$t('code.orderNumber')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchNo" :label="$t('code.batchNo')">
|
||||
<el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
|
||||
<el-input v-model="dataForm.batchNo" :placeholder="$t('code.batchNo')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionType" :label="$t('code.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
|
||||
<el-select v-model="dataForm.inspectionType" :placeholder="$t('code.inspectionType')">
|
||||
<el-option v-for="item in inspectionTypeList" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -54,7 +54,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="productId" :label="$t('code.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
|
||||
<el-select v-model="dataForm.productId" :placeholder="$t('code.productName')">
|
||||
<el-option v-for="item in productList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -62,7 +62,7 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="supplierId" :label="$t('code.supplierName')">
|
||||
<el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
|
||||
<el-select v-model="dataForm.supplierId" :placeholder="$t('code.supplierName')">
|
||||
<el-option v-for="item in supplierList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -70,31 +70,34 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchQuantity" :label="$t('code.batchQuantity')">
|
||||
<el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.batchQuantity" :placeholder="$t('code.batchQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionQuantity" :label="$t('code.inspectionQuantity')">
|
||||
<el-input v-model="dataForm.inspectionQuantity" :placeholder="$t('code.inspectionQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.inspectionQuantity"
|
||||
:placeholder="$t('code.inspectionQuantity')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="batchSize" :label="$t('code.batchSize')">
|
||||
<el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
|
||||
<el-input v-model="dataForm.batchSize" :placeholder="$t('code.batchSize')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="samplesQuantity" :label="$t('code.samplesQuantity')">
|
||||
<el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')"></el-input>
|
||||
<el-input v-model="dataForm.samplesQuantity" :placeholder="$t('code.samplesQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="companyId" :label="$t('code.companyName')">
|
||||
<el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
|
||||
<el-select v-model="dataForm.companyId" :placeholder="$t('code.companyName')">
|
||||
<el-option v-for="item in unitList" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -102,15 +105,15 @@
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="userId" :label="$t('code.username')">
|
||||
<el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
|
||||
<el-option v-for="item in unitList" :key="item.id" :label="item.realName" :value="item.id">
|
||||
<el-select v-model="dataForm.userId" :placeholder="$t('code.username')">
|
||||
<el-option v-for="item in userList" :key="item.id" :label="item.realName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="inspectionStatus" :label="$t('code.inspectionStatus')">
|
||||
<el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
|
||||
<el-select v-model="dataForm.inspectionStatus" :placeholder="$t('code.inspectionStatus')">
|
||||
<el-option v-for="item in inspectionStatusList" :key="item.id" :label="item.name" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -120,7 +123,7 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item prop="customSamplingId" :label="$t('code.customSampling')">
|
||||
<el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
|
||||
<el-select v-model="dataForm.customSamplingId" :placeholder="$t('code.customSampling')">
|
||||
<el-option v-for="item in samplingPlanList" :key="item.id" :label="item.sampleRange" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -133,27 +136,29 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="critical" label="CR" label-width="50px">
|
||||
<el-input v-model="GBTDataForm.critical" placeholder="CR"></el-input>
|
||||
<el-input v-model="GBTDataForm.critical" placeholder="CR"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="criticalAccept" label="Accept">
|
||||
<el-input v-model="GBTDataForm.criticalAccept" placeholder="Accept"></el-input>
|
||||
<el-input v-model="GBTDataForm.criticalAccept" placeholder="Accept"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="criticalReject" label="Reject" label-width="60px">
|
||||
<el-input v-model="GBTDataForm.criticalReject" placeholder="Reject"></el-input>
|
||||
<el-input v-model="GBTDataForm.criticalReject" placeholder="Reject"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="criticalNumber" :label="$t('code.defectsNumber')">
|
||||
<el-input v-model="GBTDataForm.criticalNumber" :placeholder="$t('code.defectsNumber')"></el-input>
|
||||
<el-input v-model="GBTDataForm.criticalNumber" :placeholder="$t('code.defectsNumber')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="criticalDefectiveNumber" :label="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.criticalDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.criticalDefectiveNumber"
|
||||
:placeholder="$t('code.defectiveQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -161,27 +166,29 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="major" label="MA" label-width="50px">
|
||||
<el-input v-model="GBTDataForm.major" placeholder="CR"></el-input>
|
||||
<el-input v-model="GBTDataForm.major" placeholder="CR"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="majorAccept" label="Accept">
|
||||
<el-input v-model="GBTDataForm.majorAccept" placeholder="Accept"></el-input>
|
||||
<el-input v-model="GBTDataForm.majorAccept" placeholder="Accept"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="majorReject" label="Reject" label-width="60px">
|
||||
<el-input v-model="GBTDataForm.majorReject" placeholder="Reject"></el-input>
|
||||
<el-input v-model="GBTDataForm.majorReject" placeholder="Reject"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="majorNumber" :label="$t('code.defectsNumber')">
|
||||
<el-input v-model="GBTDataForm.majorNumber" :placeholder="$t('code.defectsNumber')"></el-input>
|
||||
<el-input v-model="GBTDataForm.majorNumber" :placeholder="$t('code.defectsNumber')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="majorDefectiveNumber" :label="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.majorDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.majorDefectiveNumber"
|
||||
:placeholder="$t('code.defectiveQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -189,27 +196,29 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="minor" label="MI" label-width="50px">
|
||||
<el-input v-model="GBTDataForm.minor" placeholder="CR"></el-input>
|
||||
<el-input v-model="GBTDataForm.minor" placeholder="CR"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="minorAccept" label="Accept">
|
||||
<el-input v-model="GBTDataForm.minorAccept" placeholder="Accept"></el-input>
|
||||
<el-input v-model="GBTDataForm.minorAccept" placeholder="Accept"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="minorReject" label="Reject" label-width="60px">
|
||||
<el-input v-model="GBTDataForm.minorReject" placeholder="Reject"></el-input>
|
||||
<el-input v-model="GBTDataForm.minorReject" placeholder="Reject"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="minorNumber" :label="$t('code.defectsNumber')">
|
||||
<el-input v-model="GBTDataForm.minorNumber" :placeholder="$t('code.defectsNumber')"></el-input>
|
||||
<el-input v-model="GBTDataForm.minorNumber" :placeholder="$t('code.defectsNumber')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="minorDefectiveNumber" :label="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.minorDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.minorDefectiveNumber"
|
||||
:placeholder="$t('code.defectiveQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -217,27 +226,29 @@
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="4">
|
||||
<el-form-item prop="total" label="total" label-width="50px">
|
||||
<el-input v-model="GBTDataForm.total" placeholder="CR"></el-input>
|
||||
<el-input v-model="GBTDataForm.total" placeholder="CR"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="totalAccept" label="Accept">
|
||||
<el-input v-model="GBTDataForm.totalAccept" placeholder="Accept"></el-input>
|
||||
<el-input v-model="GBTDataForm.totalAccept" placeholder="Accept"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="totalReject" label="Reject" label-width="60px">
|
||||
<el-input v-model="GBTDataForm.totalReject" placeholder="Reject"></el-input>
|
||||
<el-input v-model="GBTDataForm.totalReject" placeholder="Reject"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="totalNumber" :label="$t('code.defectsNumber')">
|
||||
<el-input v-model="GBTDataForm.totalNumber" :placeholder="$t('code.defectsNumber')"></el-input>
|
||||
<el-input v-model="GBTDataForm.totalNumber" :placeholder="$t('code.defectsNumber')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item prop="totalDefectiveNumber" :label="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.totalDefectiveNumber" :placeholder="$t('code.defectiveQuantity')">
|
||||
<el-input v-model="GBTDataForm.totalDefectiveNumber"
|
||||
:placeholder="$t('code.defectiveQuantity')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -245,7 +256,6 @@
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import debounce from "lodash/debounce";
|
||||
import basicAdd from "@/mixins/basic-add";
|
||||
@ -481,7 +491,7 @@ export default {
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.samplingPlanList = res.data
|
||||
this.samplingPlanList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
@ -493,7 +503,7 @@ export default {
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.userList = res.data
|
||||
this.userList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
@ -505,7 +515,7 @@ export default {
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.productList = res.data
|
||||
this.productList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
@ -521,7 +531,7 @@ export default {
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.unitList = res.data
|
||||
this.unitList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
@ -533,7 +543,7 @@ export default {
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.supplierList = res.data
|
||||
this.supplierList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
@ -545,7 +555,7 @@ export default {
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res);
|
||||
this.factoryList = res.data
|
||||
this.factoryList = res.data.list
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
|
@ -14,14 +14,15 @@
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
<base-dialog width="70%" :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
@confirm="handleConfirm" :before-close="handleCancel">
|
||||
<incomingInspection-add ref="addOrUpdate" @successSubmit="successSubmit"></incomingInspection-add>
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
</base-dialog>
|
||||
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<incomingInspection-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit"></incomingInspection-search>
|
||||
<base-dialog width="70%" :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible"
|
||||
@cancel="handleSearchCancel" @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<incomingInspection-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit">
|
||||
</incomingInspection-search>
|
||||
<el-row slot="footer" type="flex" justify="end">
|
||||
<el-col :span="12">
|
||||
<el-button size="small" type="primary" plain class="btnTextStyle" @click="handleSearchCancel">
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-06-12 13:22:50
|
||||
* @LastEditTime: 2023-06-20 15:35:49
|
||||
* @LastEditTime: 2023-07-17 10:28:46
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -21,14 +21,14 @@
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
<base-dialog width="70%" :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||
@confirm="handleConfirm" :before-close="handleCancel">
|
||||
<purchaseRegistration-add ref="addOrUpdate" @successSubmit="successSubmit">
|
||||
</purchaseRegistration-add>
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
</purchaseRegistration-add>
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
</base-dialog>
|
||||
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<base-dialog width="70%" :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible"
|
||||
@cancel="handleSearchCancel" @confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<purchaseRegistration-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit">
|
||||
</purchaseRegistration-search>
|
||||
<el-row slot="footer" type="flex" justify="end">
|
||||
@ -49,11 +49,13 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import basicPage from "@/mixins/basic-page";
|
||||
import basicSearch from "@/mixins/basic-search";
|
||||
import purchaseRegistrationSearch from "./components/purchaseRegistrationSearch.vue";
|
||||
import purchaseRegistrationAdd from "./components/purchaseRegistration-add.vue";
|
||||
import i18n from "@/i18n";
|
||||
import basicPage from "@/mixins/basic-page"
|
||||
import basicSearch from "@/mixins/basic-search"
|
||||
import purchaseRegistrationSearch from "./components/purchaseRegistrationSearch.vue"
|
||||
import purchaseRegistrationAdd from "./components/purchaseRegistration-add.vue"
|
||||
import i18n from "@/i18n"
|
||||
import incoming from "@/filters/incoming";
|
||||
|
||||
// import i18n from "@/i18n";
|
||||
const tableProps = [
|
||||
{
|
||||
@ -75,10 +77,12 @@ const tableProps = [
|
||||
{
|
||||
prop: "upload",
|
||||
label: i18n.t('code.upload'),
|
||||
filter: incoming('upload'),
|
||||
},
|
||||
{
|
||||
prop: "judgmentResult",
|
||||
label: i18n.t('code.judgmentResult'),
|
||||
filter: incoming('judgmentResult'),
|
||||
},
|
||||
{
|
||||
prop: "productCode",
|
||||
|
@ -1,13 +1,13 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-31 14:12:10
|
||||
* @LastEditTime: 2023-07-13 10:00:19
|
||||
* @LastEditTime: 2023-07-17 16:14:43
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<span>
|
||||
<el-button type="text" @click="getExperienceDetail">{{ $t('oss.type1') }} </el-button>
|
||||
<el-button type="text" @click="getExperienceDetail">{{ $t('detail') }} </el-button>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
@ -24,7 +24,7 @@ export default {
|
||||
methods: {
|
||||
getExperienceDetail() {
|
||||
this.$router.push({
|
||||
name: 'laboratory-qmsLaboratoryTrainExperience',
|
||||
name: 'laboratory-qmsLaboratoryEmployeeResume',
|
||||
query: {
|
||||
laboratoryTesterId: this.injectData.userId
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-05-15 14:27:30
|
||||
* @LastEditTime: 2023-07-13 10:00:09
|
||||
* @LastEditTime: 2023-07-17 16:13:47
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -14,7 +14,7 @@
|
||||
-->
|
||||
<template>
|
||||
<span>
|
||||
<el-button type="text" @click="getInspectionDetail">{{ $t('oss.type1') }} </el-button>
|
||||
<el-button type="text" @click="getInspectionDetail">{{ $t('detail') }} </el-button>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
@ -31,7 +31,7 @@ export default {
|
||||
methods: {
|
||||
getInspectionDetail() {
|
||||
this.$router.push({
|
||||
name: 'laboratory-qmsLaboratoryTesterInspectionQualification',
|
||||
name: 'laboratory-qmsLaboratoryTrainExperience',
|
||||
query: {
|
||||
laboratoryTesterId: this.injectData.userId
|
||||
}
|
||||
|
@ -1,13 +1,13 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-31 14:12:10
|
||||
* @LastEditTime: 2023-07-13 10:00:12
|
||||
* @LastEditTime: 2023-07-17 16:07:15
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<span>
|
||||
<el-button type="text" @click="getInspectionDetail">{{ $t('oss.type1') }} </el-button>
|
||||
<el-button type="text" @click="getInspectionDetail">{{ $t('detail') }} </el-button>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-05-12 16:45:00
|
||||
* @LastEditTime: 2023-07-17 16:18:56
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -36,72 +36,11 @@ export default {
|
||||
userList: [],
|
||||
gageTypeList:[],
|
||||
departmentList: [],
|
||||
processList: [
|
||||
{
|
||||
id: 0,
|
||||
name: '未审核'
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
name: '不同意'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: '同意'
|
||||
}
|
||||
],
|
||||
listQuery: {
|
||||
limit: 999,
|
||||
gape: 1
|
||||
},
|
||||
gageStatusList: [
|
||||
{
|
||||
id: 0,
|
||||
name:'在用'
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
name: '备用'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: '停用'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
name: '封存'
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
name: '报废'
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
name: '降级使用'
|
||||
}
|
||||
],
|
||||
certificateTypeList: [
|
||||
{
|
||||
id: 0,
|
||||
name: '检定证书'
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
name: '校准证书'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
name: '检测报告'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
name: '自校报告'
|
||||
}
|
||||
],
|
||||
visible: false,
|
||||
dataForm: {
|
||||
id: null,
|
||||
userId:null
|
||||
userId: null,
|
||||
remark:null,
|
||||
},
|
||||
};
|
||||
},
|
||||
|
@ -21,7 +21,7 @@
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item prop="validDate" :label="$t('laboratory.validDate')">
|
||||
<el-date-picker v-model="dataForm.expectedReturnDate" type="datetime" :placeholder="$t('laboratory.validDate')"
|
||||
<el-date-picker v-model="dataForm.validDate" type="datetime" :placeholder="$t('laboratory.validDate')"
|
||||
format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
@ -66,6 +66,7 @@ export default {
|
||||
code:null,
|
||||
getDate: null,
|
||||
id: null,
|
||||
validDate:null,
|
||||
laboratoryTesterId: null,
|
||||
name: null,
|
||||
qualificationDescription: null,
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-13 10:01:15
|
||||
* @LastEditTime: 2023-07-17 16:17:07
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -9,9 +9,6 @@
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__user">
|
||||
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
|
||||
<el-badge :value="6" class="item">
|
||||
<el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
|
||||
</el-badge>
|
||||
</SearchBar>
|
||||
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
||||
@ -56,11 +53,6 @@ import employeeResumeDetail from "./components/employeeResumeDetail.vue"
|
||||
import basicSearch from "@/mixins/basic-search"
|
||||
import i18n from "@/i18n"
|
||||
const tableProps = [
|
||||
{
|
||||
prop: 'userCode',
|
||||
label: i18n.t("laboratory.userCode"),
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
prop: 'userName',
|
||||
label: i18n.t("laboratory.userName"),
|
||||
@ -139,13 +131,6 @@ export default {
|
||||
name: "add",
|
||||
color: "success",
|
||||
plain: true
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('export'),
|
||||
name: "export",
|
||||
color: "primary",
|
||||
plain: true
|
||||
}
|
||||
],
|
||||
};
|
||||
|
@ -1,11 +1,7 @@
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__user">
|
||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick">
|
||||
<el-badge :value="5" class="item">
|
||||
<el-button type="primary" size="small" @click="searchsClick">条件搜索</el-button>
|
||||
</el-badge>
|
||||
</search-bar>
|
||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
||||
<base-table
|
||||
:table-props="tableProps"
|
||||
:page="listQuery.page"
|
||||
@ -28,7 +24,7 @@
|
||||
@pagination="getDataList"
|
||||
/>
|
||||
<!-- 弹窗, 条件搜索-->
|
||||
<base-dialog
|
||||
<!-- <base-dialog
|
||||
:dialogTitle="searchsTitle"
|
||||
:dialogVisible="searchsVisible"
|
||||
@cancel="searchsCancel"
|
||||
@ -36,7 +32,7 @@
|
||||
:before-close="searchsCancel"
|
||||
>
|
||||
<searchs ref="searchsRef" @refreshDataList="searchsSubmit"></searchs>
|
||||
</base-dialog>
|
||||
</base-dialog> -->
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog
|
||||
:dialogTitle="addOrEditTitle"
|
||||
@ -54,7 +50,7 @@
|
||||
|
||||
<script>
|
||||
import AddOrUpdate from "./components/eightDisciplineList-detail";
|
||||
import Searchs from "./components/searchs1";
|
||||
// import Searchs from "./components/searchs1";
|
||||
import basicPage from "@/mixins/basic-page";
|
||||
import codeFilter from "@/filters/code-filter";
|
||||
import { timeFormatter } from "@/filters/code-filter";
|
||||
@ -81,11 +77,11 @@ const tableProps = [
|
||||
label: "关键字",
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
prop: "associationNumber",
|
||||
label: "关联次数",
|
||||
align: "center",
|
||||
},
|
||||
// {
|
||||
// prop: "associationNumber",
|
||||
// label: "关联次数",
|
||||
// align: "center",
|
||||
// },
|
||||
];
|
||||
const tableBtn = [
|
||||
{
|
||||
@ -104,7 +100,37 @@ export default {
|
||||
tableProps,
|
||||
tableBtn,
|
||||
tableData: [],
|
||||
optionArrUrl: ["/basic/qmsProduct/page","/code/problemType/page"],
|
||||
formConfig: [
|
||||
{
|
||||
type: "input",
|
||||
label: i18n.t("code.title"),
|
||||
placeholder: i18n.t("code.title"),
|
||||
param: "title",
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: "产品",
|
||||
selectOptions: [],
|
||||
param: "productId",
|
||||
defaultSelect: "",
|
||||
labelField: "productName",
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: "缺陷",
|
||||
selectOptions: [],
|
||||
param: "defectId",
|
||||
defaultSelect: "",
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: "input",
|
||||
label: "关键字",
|
||||
placeholder: "关键字",
|
||||
param: "description",
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
@ -116,9 +142,30 @@ export default {
|
||||
},
|
||||
components: {
|
||||
AddOrUpdate,
|
||||
Searchs,
|
||||
// Searchs,
|
||||
},
|
||||
created() {
|
||||
this.getArr();
|
||||
},
|
||||
methods: {
|
||||
getArr() {
|
||||
this.optionArrUrl.forEach((item, index) => {
|
||||
this.$http
|
||||
.get(item, {
|
||||
params: {
|
||||
page: 1,
|
||||
limit: 500,
|
||||
},
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.formConfig[index + 1].selectOptions = res.data.list;
|
||||
})
|
||||
.catch(() => {});
|
||||
});
|
||||
},
|
||||
// 获取数据列表
|
||||
getDataList() {
|
||||
this.dataListLoading = true;
|
||||
@ -146,15 +193,14 @@ export default {
|
||||
buttonClick(val) {
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
this.listQuery = {};
|
||||
this.listQuery.page = 1;
|
||||
this.listQuery.limit = 10;
|
||||
this.listQuery.total = 1;
|
||||
this.listQuery.title = val.title;
|
||||
this.listQuery.description = val.description;
|
||||
this.listQuery.defectId = val.defectId;
|
||||
this.listQuery.productId = val.productId;
|
||||
this.getDataList();
|
||||
break;
|
||||
case "export":
|
||||
this.exportHandle("工厂管理");
|
||||
break;
|
||||
default:
|
||||
console.log(val);
|
||||
}
|
||||
|
@ -83,7 +83,7 @@ export default {
|
||||
series: [],
|
||||
};
|
||||
this.dataList.forEach((item) => {
|
||||
const i = option.series.findIndex((c) => c.id === item.productTypeId);
|
||||
const i = option.series.findIndex((c) => c.id === (this.eType?item.problemTypeId:item.productTypeId));
|
||||
if (i >= 0) {
|
||||
option.series[i].data.push(this.eType?item.problemTypeNumber:item.productTypeNumber);
|
||||
} else {
|
||||
@ -104,7 +104,6 @@ export default {
|
||||
option.series.push(obj);
|
||||
}
|
||||
})
|
||||
console.log(option.series)
|
||||
this.lineChart = echarts.init(document.getElementById("lineChart"))
|
||||
this.lineChart.setOption(option);
|
||||
window.addEventListener("resize", () => {
|
||||
@ -117,10 +116,10 @@ export default {
|
||||
|
||||
<style lang="scss">
|
||||
.mod-demo-echarts {
|
||||
> .el-row {
|
||||
.el-col {
|
||||
}
|
||||
}
|
||||
// > .el-row {
|
||||
// .el-col {
|
||||
// }
|
||||
// }
|
||||
.chart-box {
|
||||
min-height: 400px;
|
||||
}
|
||||
|
@ -0,0 +1,49 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-31 09:49:36
|
||||
* @LastEditTime: 2023-07-17 10:16:41
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<span>
|
||||
<el-avatar
|
||||
v-if="injectData.eightDisciplineStatus > injectData.num"
|
||||
size="small"
|
||||
style="background: #409EFF;"
|
||||
icon="el-icon-check"
|
||||
></el-avatar>
|
||||
<el-avatar
|
||||
v-else size="small"
|
||||
icon="el-icon-close"
|
||||
></el-avatar>
|
||||
</span>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import { addDynamicRoute } from '@/router'
|
||||
export default {
|
||||
props: {
|
||||
injectData: {
|
||||
type: Object,
|
||||
default: () => ({}),
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
// 子级
|
||||
// emitClick () {
|
||||
// // 路由参数
|
||||
// const routeParams = {
|
||||
// routeName: `${this.$route.name}__${this.injectData.id}`,
|
||||
// title: `${this.$route.meta.title} - ${this.injectData.dictType}`,
|
||||
// path: 'sys/dict-data',
|
||||
// params: {
|
||||
// dictTypeId: this.injectData.id
|
||||
// }
|
||||
// }
|
||||
// // 动态路由
|
||||
// addDynamicRoute(routeParams, this.$router)
|
||||
// }
|
||||
},
|
||||
};
|
||||
</script>
|
@ -1,11 +1,11 @@
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__user">
|
||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick">
|
||||
<el-badge :value="5" class="item">
|
||||
<el-button type="primary" size="small" @click="searchsClick">条件搜索</el-button>
|
||||
</el-badge>
|
||||
</search-bar>
|
||||
<search-bar
|
||||
:formConfigs="formConfig"
|
||||
ref="searchBarForm"
|
||||
@headBtnClick="buttonClick"
|
||||
/>
|
||||
<base-table
|
||||
:table-props="tableProps"
|
||||
:page="listQuery.page"
|
||||
@ -28,7 +28,7 @@
|
||||
@pagination="getDataList"
|
||||
/>
|
||||
<!-- 弹窗, 条件搜索-->
|
||||
<base-dialog
|
||||
<!-- <base-dialog
|
||||
:dialogTitle="searchsTitle"
|
||||
:dialogVisible="searchsVisible"
|
||||
@cancel="searchsCancel"
|
||||
@ -36,7 +36,7 @@
|
||||
:before-close="searchsCancel"
|
||||
>
|
||||
<searchs ref="searchsRef" @refreshDataList="searchsSubmit"></searchs>
|
||||
</base-dialog>
|
||||
</base-dialog> -->
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog
|
||||
:dialogTitle="addOrEditTitle"
|
||||
@ -44,7 +44,7 @@
|
||||
@cancel="handleCancel"
|
||||
@confirm="handleConfirm"
|
||||
:before-close="handleCancel"
|
||||
width=80%
|
||||
width="80%"
|
||||
>
|
||||
<add-or-update ref="addOrUpdate" @refreshDataList="successSubmit"></add-or-update>
|
||||
</base-dialog>
|
||||
@ -54,7 +54,7 @@
|
||||
|
||||
<script>
|
||||
import AddOrUpdate from "./components/eightDisciplineList-detail";
|
||||
import Searchs from "./components/searchs";
|
||||
// import Searchs from "./components/searchs";
|
||||
import basicPage from "@/mixins/basic-page";
|
||||
import codeFilter from "@/filters/code-filter";
|
||||
import { timeFormatter } from "@/filters/code-filter";
|
||||
@ -93,11 +93,11 @@ const tableProps = [
|
||||
label: i18n.t("code.description"),
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
prop: "userName",
|
||||
label: "启动人",
|
||||
align: "center",
|
||||
},
|
||||
// {
|
||||
// prop: "userName",
|
||||
// label: "启动人",
|
||||
// align: "center",
|
||||
// },
|
||||
{
|
||||
prop: "eightDisciplineStatus",
|
||||
label: "步骤",
|
||||
@ -112,6 +112,44 @@ const tableBtn = [
|
||||
},
|
||||
];
|
||||
|
||||
const eightDisciplineStatusArr = [
|
||||
{
|
||||
name: "D0",
|
||||
id: 0,
|
||||
},
|
||||
{
|
||||
name: "D1",
|
||||
id: 1,
|
||||
},
|
||||
{
|
||||
name: "D2",
|
||||
id: 2,
|
||||
},
|
||||
{
|
||||
name: "D3",
|
||||
id: 3,
|
||||
},
|
||||
{
|
||||
name: "D4",
|
||||
id: 4,
|
||||
},
|
||||
{
|
||||
name: "D5",
|
||||
id: 5,
|
||||
},
|
||||
{
|
||||
name: "D6",
|
||||
id: 6,
|
||||
},
|
||||
{
|
||||
name: "D7",
|
||||
id: 7,
|
||||
},
|
||||
{
|
||||
name: "D8",
|
||||
id: 8,
|
||||
},
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage],
|
||||
data() {
|
||||
@ -122,8 +160,52 @@ export default {
|
||||
},
|
||||
tableProps,
|
||||
tableBtn,
|
||||
eightDisciplineStatusArr,
|
||||
tableData: [],
|
||||
optionArrUrl: ["/basic/qmsCustomer/page", "/basic/qmsProduct/page"],
|
||||
formConfig: [
|
||||
{
|
||||
type: "input",
|
||||
label: i18n.t("code.title"),
|
||||
placeholder: i18n.t("code.title"),
|
||||
param: "title",
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: "客户",
|
||||
selectOptions: [],
|
||||
param: "customId",
|
||||
defaultSelect: "",
|
||||
labelField: "customerName",
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: "产品",
|
||||
selectOptions: [],
|
||||
param: "productId",
|
||||
defaultSelect: "",
|
||||
labelField: "productName",
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: "步骤",
|
||||
selectOptions: eightDisciplineStatusArr,
|
||||
param: "eightDisciplineStatus",
|
||||
defaultSelect: "",
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: "datePicker",
|
||||
label: "日期",
|
||||
dateType: "date",
|
||||
format: "yyyy-MM-dd",
|
||||
valueFormat: "yyyy-MM-ddTHH:mm:ss",
|
||||
placeholder: "日期",
|
||||
param: "occurrenceDate",
|
||||
width: 170,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
@ -135,9 +217,30 @@ export default {
|
||||
},
|
||||
components: {
|
||||
AddOrUpdate,
|
||||
Searchs,
|
||||
// Searchs,
|
||||
},
|
||||
created() {
|
||||
this.getArr();
|
||||
},
|
||||
methods: {
|
||||
getArr() {
|
||||
this.optionArrUrl.forEach((item, index) => {
|
||||
this.$http
|
||||
.get(item, {
|
||||
params: {
|
||||
page: 1,
|
||||
limit: 500,
|
||||
},
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.formConfig[index + 1].selectOptions = res.data.list;
|
||||
})
|
||||
.catch(() => {});
|
||||
});
|
||||
},
|
||||
// 获取数据列表
|
||||
getDataList() {
|
||||
this.dataListLoading = true;
|
||||
@ -165,15 +268,15 @@ export default {
|
||||
buttonClick(val) {
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
this.listQuery = {};
|
||||
this.listQuery.page = 1;
|
||||
this.listQuery.limit = 10;
|
||||
this.listQuery.total = 1;
|
||||
this.listQuery.title = val.title;
|
||||
this.listQuery.eightDisciplineStatus = val.eightDisciplineStatus;
|
||||
this.listQuery.customId = val.customId;
|
||||
this.listQuery.productId = val.productId;
|
||||
this.listQuery.occurrenceDate = val.occurrenceDate;
|
||||
this.getDataList();
|
||||
break;
|
||||
case "export":
|
||||
this.exportHandle("工厂管理");
|
||||
break;
|
||||
default:
|
||||
console.log(val);
|
||||
}
|
||||
|
@ -1,11 +1,7 @@
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__user">
|
||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick">
|
||||
<el-badge :value="5" class="item">
|
||||
<el-button type="primary" size="small" @click="searchsClick">条件搜索</el-button>
|
||||
</el-badge>
|
||||
</search-bar>
|
||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
||||
<base-table
|
||||
:table-props="tableProps"
|
||||
:page="listQuery.page"
|
||||
@ -28,7 +24,7 @@
|
||||
@pagination="getDataList"
|
||||
/>
|
||||
<!-- 弹窗, 条件搜索-->
|
||||
<base-dialog
|
||||
<!-- <base-dialog
|
||||
:dialogTitle="searchsTitle"
|
||||
:dialogVisible="searchsVisible"
|
||||
@cancel="searchsCancel"
|
||||
@ -36,7 +32,7 @@
|
||||
:before-close="searchsCancel"
|
||||
>
|
||||
<searchs ref="searchsRef" @refreshDataList="searchsSubmit"></searchs>
|
||||
</base-dialog>
|
||||
</base-dialog> -->
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog
|
||||
:dialogTitle="addOrEditTitle"
|
||||
@ -44,7 +40,7 @@
|
||||
@cancel="handleCancel"
|
||||
@confirm="handleConfirm"
|
||||
:before-close="handleCancel"
|
||||
width=80%
|
||||
width="80%"
|
||||
>
|
||||
<add-or-update ref="addOrUpdate" @refreshDataList="successSubmit"></add-or-update>
|
||||
</base-dialog>
|
||||
@ -54,7 +50,8 @@
|
||||
|
||||
<script>
|
||||
import AddOrUpdate from "./components/eightDisciplineList-detail";
|
||||
import Searchs from "./components/searchs";
|
||||
// import Searchs from "./components/searchs";
|
||||
import processStatus from "./components/processStatus"
|
||||
import basicPage from "@/mixins/basic-page";
|
||||
import codeFilter from "@/filters/code-filter";
|
||||
import { timeFormatter } from "@/filters/code-filter";
|
||||
@ -85,42 +82,58 @@ const tableProps = [
|
||||
{
|
||||
prop: "D1",
|
||||
label: "D1",
|
||||
num: 1,
|
||||
align: "center",
|
||||
subcomponent: processStatus,
|
||||
},
|
||||
{
|
||||
prop: "D2",
|
||||
label: "D2",
|
||||
num: 2,
|
||||
align: "center",
|
||||
subcomponent: processStatus,
|
||||
},
|
||||
{
|
||||
prop: "D3",
|
||||
label: "D3",
|
||||
num: 3,
|
||||
align: "center",
|
||||
subcomponent: processStatus,
|
||||
},
|
||||
{
|
||||
prop: "D4",
|
||||
label: "D4",
|
||||
num: 4,
|
||||
align: "center",
|
||||
subcomponent: processStatus,
|
||||
},
|
||||
{
|
||||
prop: "D5",
|
||||
label: "D5",
|
||||
num: 5,
|
||||
align: "center",
|
||||
subcomponent: processStatus,
|
||||
},
|
||||
{
|
||||
prop: "D6",
|
||||
label: "D6",
|
||||
num: 6,
|
||||
align: "center",
|
||||
subcomponent: processStatus,
|
||||
},
|
||||
{
|
||||
prop: "D7",
|
||||
label: "D7",
|
||||
num: 7,
|
||||
align: "center",
|
||||
subcomponent: processStatus,
|
||||
},
|
||||
{
|
||||
prop: "D8",
|
||||
label: "D8",
|
||||
num: 8,
|
||||
align: "center",
|
||||
subcomponent: processStatus,
|
||||
},
|
||||
];
|
||||
const tableBtn = [
|
||||
@ -130,6 +143,44 @@ const tableBtn = [
|
||||
},
|
||||
];
|
||||
|
||||
const eightDisciplineStatusArr = [
|
||||
{
|
||||
name: "D0",
|
||||
id: 0,
|
||||
},
|
||||
{
|
||||
name: "D1",
|
||||
id: 1,
|
||||
},
|
||||
{
|
||||
name: "D2",
|
||||
id: 2,
|
||||
},
|
||||
{
|
||||
name: "D3",
|
||||
id: 3,
|
||||
},
|
||||
{
|
||||
name: "D4",
|
||||
id: 4,
|
||||
},
|
||||
{
|
||||
name: "D5",
|
||||
id: 5,
|
||||
},
|
||||
{
|
||||
name: "D6",
|
||||
id: 6,
|
||||
},
|
||||
{
|
||||
name: "D7",
|
||||
id: 7,
|
||||
},
|
||||
{
|
||||
name: "D8",
|
||||
id: 8,
|
||||
},
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage],
|
||||
data() {
|
||||
@ -140,8 +191,52 @@ export default {
|
||||
},
|
||||
tableProps,
|
||||
tableBtn,
|
||||
eightDisciplineStatusArr,
|
||||
tableData: [],
|
||||
optionArrUrl: ["/basic/qmsCustomer/page", "/basic/qmsProduct/page"],
|
||||
formConfig: [
|
||||
{
|
||||
type: "input",
|
||||
label: i18n.t("code.title"),
|
||||
placeholder: i18n.t("code.title"),
|
||||
param: "title",
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: "客户",
|
||||
selectOptions: [],
|
||||
param: "customId",
|
||||
defaultSelect: "",
|
||||
labelField: "customerName",
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: "产品",
|
||||
selectOptions: [],
|
||||
param: "productId",
|
||||
defaultSelect: "",
|
||||
labelField: "productName",
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: "步骤",
|
||||
selectOptions: eightDisciplineStatusArr,
|
||||
param: "eightDisciplineStatus",
|
||||
defaultSelect: "",
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: "datePicker",
|
||||
label: "日期",
|
||||
dateType: "date",
|
||||
format: "yyyy-MM-dd",
|
||||
valueFormat: "yyyy-MM-ddTHH:mm:ss",
|
||||
placeholder: "日期",
|
||||
param: "occurrenceDate",
|
||||
width: 170,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
@ -153,9 +248,31 @@ export default {
|
||||
},
|
||||
components: {
|
||||
AddOrUpdate,
|
||||
Searchs,
|
||||
processStatus,
|
||||
// Searchs,
|
||||
},
|
||||
created() {
|
||||
this.getArr();
|
||||
},
|
||||
methods: {
|
||||
getArr() {
|
||||
this.optionArrUrl.forEach((item, index) => {
|
||||
this.$http
|
||||
.get(item, {
|
||||
params: {
|
||||
page: 1,
|
||||
limit: 500,
|
||||
},
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.formConfig[index + 1].selectOptions = res.data.list;
|
||||
})
|
||||
.catch(() => {});
|
||||
});
|
||||
},
|
||||
// 获取数据列表
|
||||
getDataList() {
|
||||
this.dataListLoading = true;
|
||||
@ -183,15 +300,15 @@ export default {
|
||||
buttonClick(val) {
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
this.listQuery = {};
|
||||
this.listQuery.page = 1;
|
||||
this.listQuery.limit = 10;
|
||||
this.listQuery.total = 1;
|
||||
this.listQuery.title = val.title;
|
||||
this.listQuery.eightDisciplineStatus = val.eightDisciplineStatus;
|
||||
this.listQuery.customId = val.customId;
|
||||
this.listQuery.productId = val.productId;
|
||||
this.listQuery.occurrenceDate = val.occurrenceDate;
|
||||
this.getDataList();
|
||||
break;
|
||||
case "export":
|
||||
this.exportHandle("工厂管理");
|
||||
break;
|
||||
default:
|
||||
console.log(val);
|
||||
}
|
||||
|
@ -1,11 +1,12 @@
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__user">
|
||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick">
|
||||
<el-badge :value="5" class="item">
|
||||
<el-button type="primary" size="small" @click="searchsClick">条件搜索</el-button>
|
||||
</el-badge>
|
||||
</search-bar>
|
||||
<search-bar
|
||||
:isFold="true"
|
||||
:formConfigs="formConfig"
|
||||
ref="searchBarForm"
|
||||
@headBtnClick="buttonClick"
|
||||
/>
|
||||
<base-table
|
||||
:table-props="tableProps"
|
||||
:page="listQuery.page"
|
||||
@ -28,7 +29,7 @@
|
||||
@pagination="getDataList"
|
||||
/>
|
||||
<!-- 弹窗, 条件搜索-->
|
||||
<base-dialog
|
||||
<!-- <base-dialog
|
||||
:dialogTitle="searchsTitle"
|
||||
:dialogVisible="searchsVisible"
|
||||
@cancel="searchsCancel"
|
||||
@ -36,7 +37,7 @@
|
||||
:before-close="searchsCancel"
|
||||
>
|
||||
<searchs ref="searchsRef" :show-obj=showObj @refreshDataList="searchsSubmit"></searchs>
|
||||
</base-dialog>
|
||||
</base-dialog> -->
|
||||
<!-- 弹窗, 新增 / 修改 -->
|
||||
<base-dialog
|
||||
:dialogTitle="addOrEditTitle"
|
||||
@ -44,7 +45,7 @@
|
||||
@cancel="handleCancel"
|
||||
@confirm="handleConfirm"
|
||||
:before-close="handleCancel"
|
||||
width=80%
|
||||
width="80%"
|
||||
>
|
||||
<add-or-update ref="addOrUpdate" @refreshDataList="successSubmit"></add-or-update>
|
||||
</base-dialog>
|
||||
@ -54,7 +55,7 @@
|
||||
|
||||
<script>
|
||||
import AddOrUpdate from "./components/eightDisciplineList-detail";
|
||||
import Searchs from "./components/searchs";
|
||||
// import Searchs from "./components/searchs";
|
||||
import basicPage from "@/mixins/basic-page";
|
||||
import codeFilter from "@/filters/code-filter";
|
||||
import { timeFormatter } from "@/filters/code-filter";
|
||||
@ -87,11 +88,11 @@ const tableProps = [
|
||||
label: i18n.t("code.description"),
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
prop: "userName",
|
||||
label: "启动人",
|
||||
align: "center",
|
||||
},
|
||||
// {
|
||||
// prop: "userName",
|
||||
// label: "启动人",
|
||||
// align: "center",
|
||||
// },
|
||||
];
|
||||
const tableBtn = [
|
||||
{
|
||||
@ -100,6 +101,62 @@ const tableBtn = [
|
||||
},
|
||||
];
|
||||
|
||||
const eightDisciplineStatusArr = [
|
||||
{
|
||||
name: "D0",
|
||||
id: 0,
|
||||
},
|
||||
{
|
||||
name: "D1",
|
||||
id: 1,
|
||||
},
|
||||
{
|
||||
name: "D2",
|
||||
id: 2,
|
||||
},
|
||||
{
|
||||
name: "D3",
|
||||
id: 3,
|
||||
},
|
||||
{
|
||||
name: "D4",
|
||||
id: 4,
|
||||
},
|
||||
{
|
||||
name: "D5",
|
||||
id: 5,
|
||||
},
|
||||
{
|
||||
name: "D6",
|
||||
id: 6,
|
||||
},
|
||||
{
|
||||
name: "D7",
|
||||
id: 7,
|
||||
},
|
||||
{
|
||||
name: "D8",
|
||||
id: 8,
|
||||
},
|
||||
];
|
||||
const roleArr = [
|
||||
{
|
||||
name: "启动人",
|
||||
id: 1,
|
||||
},
|
||||
{
|
||||
name: "分析人",
|
||||
id: 2,
|
||||
},
|
||||
{
|
||||
name: "负责人",
|
||||
id: 3,
|
||||
},
|
||||
{
|
||||
name: "处理人",
|
||||
id: 4,
|
||||
},
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage],
|
||||
data() {
|
||||
@ -109,11 +166,65 @@ export default {
|
||||
},
|
||||
tableProps,
|
||||
tableBtn,
|
||||
eightDisciplineStatusArr,
|
||||
roleArr,
|
||||
tableData: [],
|
||||
showObj: {
|
||||
role: true
|
||||
},
|
||||
optionArrUrl: ["/basic/qmsCustomer/page", "/basic/qmsProduct/page"],
|
||||
// showObj: {
|
||||
// role: true
|
||||
// },
|
||||
|
||||
formConfig: [
|
||||
{
|
||||
type: "input",
|
||||
label: i18n.t("code.title"),
|
||||
placeholder: i18n.t("code.title"),
|
||||
param: "title",
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: "客户",
|
||||
selectOptions: [],
|
||||
param: "customId",
|
||||
defaultSelect: "",
|
||||
labelField: "customerName",
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: "产品",
|
||||
selectOptions: [],
|
||||
param: "productId",
|
||||
defaultSelect: "",
|
||||
labelField: "productName",
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: "步骤",
|
||||
selectOptions: eightDisciplineStatusArr,
|
||||
param: "eightDisciplineStatus",
|
||||
defaultSelect: "",
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: "select",
|
||||
label: "角色",
|
||||
selectOptions: roleArr,
|
||||
param: "role",
|
||||
defaultSelect: "",
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: "datePicker",
|
||||
label: "日期",
|
||||
dateType: "date",
|
||||
format: "yyyy-MM-dd",
|
||||
valueFormat: "yyyy-MM-ddTHH:mm:ss",
|
||||
placeholder: "日期",
|
||||
param: "occurrenceDate",
|
||||
width: 170,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
@ -125,9 +236,30 @@ export default {
|
||||
},
|
||||
components: {
|
||||
AddOrUpdate,
|
||||
Searchs,
|
||||
// Searchs,
|
||||
},
|
||||
created() {
|
||||
this.getArr();
|
||||
},
|
||||
methods: {
|
||||
getArr() {
|
||||
this.optionArrUrl.forEach((item, index) => {
|
||||
this.$http
|
||||
.get(item, {
|
||||
params: {
|
||||
page: 1,
|
||||
limit: 500,
|
||||
},
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.formConfig[index + 1].selectOptions = res.data.list;
|
||||
})
|
||||
.catch(() => {});
|
||||
});
|
||||
},
|
||||
// 获取数据列表
|
||||
getDataList() {
|
||||
this.dataListLoading = true;
|
||||
@ -155,15 +287,16 @@ export default {
|
||||
buttonClick(val) {
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
this.listQuery = {};
|
||||
this.listQuery.page = 1;
|
||||
this.listQuery.limit = 10;
|
||||
this.listQuery.total = 1;
|
||||
this.listQuery.title = val.title;
|
||||
this.listQuery.eightDisciplineStatus = val.eightDisciplineStatus;
|
||||
this.listQuery.customId = val.customId;
|
||||
this.listQuery.productId = val.productId;
|
||||
this.listQuery.occurrenceDate = val.occurrenceDate;
|
||||
this.listQuery.role = val.role;
|
||||
this.getDataList();
|
||||
break;
|
||||
case "export":
|
||||
this.exportHandle("工厂管理");
|
||||
break;
|
||||
default:
|
||||
console.log(val);
|
||||
}
|
||||
|
@ -74,7 +74,7 @@
|
||||
label: "日期",
|
||||
dateType: "daterange",
|
||||
format: "yyyy-MM-dd",
|
||||
valueFormat: "yyyy-MM-ddTHH:mm:ss",
|
||||
valueFormat: "yyyy-MM-dd",
|
||||
rangeSeparator: "-",
|
||||
startPlaceholder: "开始时间",
|
||||
endPlaceholder: "结束时间",
|
||||
|
@ -2,15 +2,15 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2023-07-03 15:21:14
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2023-07-04 08:53:10
|
||||
* @LastEditTime: 2023-07-14 16:50:39
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__user">
|
||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
||||
<div style="height:20px;width:100%"></div>
|
||||
<el-row :gutter="4" style="margin-top:20px">
|
||||
<div style="height: 20px; width: 100%"></div>
|
||||
<el-row :gutter="4" style="margin-top: 20px">
|
||||
<el-col :span="12" v-if="pieVisible">
|
||||
<pie-chart
|
||||
v-loading="pieLoading"
|
||||
@ -72,7 +72,7 @@ export default {
|
||||
label: "日期",
|
||||
dateType: "daterange",
|
||||
format: "yyyy-MM-dd",
|
||||
valueFormat: "yyyy-MM-ddTHH:mm:ss",
|
||||
valueFormat: "yyyy-MM-dd",
|
||||
rangeSeparator: "-",
|
||||
startPlaceholder: "开始时间",
|
||||
endPlaceholder: "结束时间",
|
||||
@ -179,8 +179,8 @@ export default {
|
||||
<style lang="scss">
|
||||
.mod-sys__user {
|
||||
> .el-row {
|
||||
display:flex;
|
||||
flex-wrap: wrap;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
.el-col {
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-12 15:06:16
|
||||
* @LastEditTime: 2023-07-17 16:27:18
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -73,66 +73,66 @@ export default {
|
||||
page: 1
|
||||
},
|
||||
options: [{
|
||||
value: 0,
|
||||
value: '0',
|
||||
label: '监控'
|
||||
},
|
||||
{
|
||||
value: 1,
|
||||
value: '1',
|
||||
label: '电芯来料检验'
|
||||
},
|
||||
{
|
||||
value: 2,
|
||||
value: '2',
|
||||
label: 'IQC抽检'
|
||||
},
|
||||
{
|
||||
value: 3,
|
||||
value: '3',
|
||||
label: 'IQC抽检2'
|
||||
},
|
||||
{
|
||||
value: 4,
|
||||
value: '4',
|
||||
label: '原料抽检'
|
||||
},
|
||||
{
|
||||
value: 5,
|
||||
value: '5',
|
||||
label: '进货外观检验'
|
||||
},
|
||||
{
|
||||
value: 6,
|
||||
value: '6',
|
||||
label: '库内原料检验'
|
||||
},
|
||||
{
|
||||
value: 7,
|
||||
value: '7',
|
||||
label: '来料检验'
|
||||
},
|
||||
{
|
||||
value: 8,
|
||||
value: '8',
|
||||
label: '胶片'
|
||||
},
|
||||
{
|
||||
value: 9,
|
||||
value: '9',
|
||||
label: '抽检'
|
||||
},
|
||||
{
|
||||
value: 10,
|
||||
value: '10',
|
||||
label: '巡检'
|
||||
}, {
|
||||
value: 11,
|
||||
value: '11',
|
||||
label: '首检'
|
||||
},
|
||||
{
|
||||
value: 12,
|
||||
value: '12',
|
||||
label: '末检'
|
||||
},
|
||||
{
|
||||
value: 13,
|
||||
value: '13',
|
||||
label: '实时监测'
|
||||
},
|
||||
{
|
||||
value: 14,
|
||||
value: '14',
|
||||
label: 'FQC抽检'
|
||||
},
|
||||
{
|
||||
value: 15,
|
||||
value: '15',
|
||||
label: 'OQC抽检'
|
||||
},
|
||||
],
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-07-12 14:57:28
|
||||
* @LastEditTime: 2023-07-17 16:27:53
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -116,59 +116,59 @@ export default {
|
||||
param: 'inspectionTypeId',
|
||||
selectOptions: [
|
||||
{
|
||||
id: 0,
|
||||
id: '0',
|
||||
name: '监控'
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
id: '1',
|
||||
name: '电芯来料检验'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
id: '2',
|
||||
name: 'IQC抽检'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
id: '3',
|
||||
name: 'IQC抽检2'
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
id: '4',
|
||||
name: '原料抽检'
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
id: '5',
|
||||
name: '进货外观检验'
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
id: '6',
|
||||
name: '库内原料检验'
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
id: '7',
|
||||
name: '来料检验'
|
||||
},
|
||||
{
|
||||
id: 8,
|
||||
id: '8',
|
||||
name: '胶片'
|
||||
},
|
||||
{
|
||||
id: 9,
|
||||
id: '9',
|
||||
name: '抽检'
|
||||
},
|
||||
{
|
||||
id: 10,
|
||||
id: '10',
|
||||
name: '巡检'
|
||||
},
|
||||
{
|
||||
id: 11,
|
||||
id: '11',
|
||||
name: '首检'
|
||||
},
|
||||
{
|
||||
id: 12,
|
||||
id: '12',
|
||||
name: '末检'
|
||||
},
|
||||
{
|
||||
id: 13,
|
||||
id: '13',
|
||||
name: '实时监测'
|
||||
},
|
||||
{
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-04-18 09:19:02
|
||||
* @LastEditTime: 2023-04-18 14:24:53
|
||||
* @LastEditTime: 2023-07-17 14:27:21
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -15,30 +15,44 @@
|
||||
</template>
|
||||
<script>
|
||||
import i18n from "@/i18n"
|
||||
import { timeFormatter } from '@/filters'
|
||||
|
||||
const tableProps = [
|
||||
{
|
||||
prop: "contact",
|
||||
label: i18n.t('supplier.contact'),
|
||||
prop: "stageOneName",
|
||||
label: i18n.t('researchquality.stageOneName'),
|
||||
},
|
||||
{
|
||||
prop: "contactEmail",
|
||||
label: i18n.t('supplier.contactEmail')
|
||||
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: "contactPhone",
|
||||
label: i18n.t('supplier.contactPhone')
|
||||
prop: "stageThreeDate",
|
||||
label: i18n.t('researchquality.stageThreeDate'),
|
||||
filter: timeFormatter
|
||||
},
|
||||
{
|
||||
prop: "stageFourName",
|
||||
label: i18n.t('researchquality.stageFourName'),
|
||||
},
|
||||
{
|
||||
prop: "enterpriseNature",
|
||||
label: i18n.t('supplier.enterpriseNature')
|
||||
},
|
||||
{
|
||||
prop: "industry",
|
||||
label: i18n.t('supplier.industry')
|
||||
},
|
||||
{
|
||||
prop: "productService",
|
||||
label: i18n.t('supplier.productService')
|
||||
prop: "stageFourDate",
|
||||
label: i18n.t('researchquality.stageFourDate'),
|
||||
filter: timeFormatter
|
||||
}
|
||||
];
|
||||
export default {
|
||||
@ -61,15 +75,18 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
showInnerTable(id) {
|
||||
console.log(this.list)
|
||||
console.log(id)
|
||||
this.tableData = [
|
||||
{
|
||||
contact: this.injectData.contact,
|
||||
contactEmail: this.injectData.contactEmail,
|
||||
contactPhone: this.injectData.contactPhone,
|
||||
enterpriseNature: this.injectData.enterpriseNature,
|
||||
industry: this.injectData.industry,
|
||||
productService: this.injectData.productService
|
||||
stageOneName: this.injectData.stageOneName,
|
||||
stageOneDate: this.injectData.stageOneDate,
|
||||
stageTwoName: this.injectData.stageTwoName,
|
||||
stageTwoDate: this.injectData.stageTwoDate,
|
||||
stageThreeName: this.injectData.stageThreeName,
|
||||
stageThreeDate: this.injectData.stageThreeDate,
|
||||
stageFourName: this.injectData.stageFourName,
|
||||
stageFourDate: this.injectData.stageFourDate,
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-14 15:21:15
|
||||
* @LastEditTime: 2023-07-17 14:16:54
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -33,8 +33,8 @@
|
||||
<el-input v-model="dataForm.title" :placeholder="$t('researchquality.title')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="processList" :label="$t('researchquality.processName')">
|
||||
<el-select @change="getProcessList" v-model="dataForm.processList" multiple :placeholder="$t('researchquality.processName')">
|
||||
<el-form-item prop="processListData" :label="$t('researchquality.processName')">
|
||||
<el-select v-model="dataForm.processListData" multiple :placeholder="$t('researchquality.processName')">
|
||||
<el-option v-for="item in processList" :key="item.id" :label="item.processName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -45,8 +45,8 @@
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="productTypeList" :label="$t('researchquality.productTypeName')">
|
||||
<el-select v-model="dataForm.productTypeList" multiple :placeholder="$t('researchquality.productTypeName')">
|
||||
<el-form-item prop="productTypeListData" :label="$t('researchquality.productTypeName')">
|
||||
<el-select v-model="dataForm.productTypeListData" multiple :placeholder="$t('researchquality.productTypeName')">
|
||||
<el-option v-for="item in productTypeList" :key="item.id" :label="item.productTypeName" :value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
@ -184,6 +184,8 @@ export default {
|
||||
stageThreeName: null,
|
||||
productTypeList: [],
|
||||
processList: [],
|
||||
productTypeListData: [],
|
||||
processListData: [],
|
||||
stageTwoDate: null,
|
||||
stageTwoName: null,
|
||||
temporaryChange: null,
|
||||
@ -243,17 +245,31 @@ export default {
|
||||
this.getDict();
|
||||
},
|
||||
methods: {
|
||||
init(id, ) {
|
||||
this.dataForm.id = id || ""
|
||||
init(data, ) {
|
||||
if (data) {
|
||||
this.dataForm = data
|
||||
let processArr = []
|
||||
data.processList.forEach((item) => {
|
||||
processArr.push(item.id)
|
||||
})
|
||||
this.dataForm.processListData = processArr
|
||||
let productTypeArr = []
|
||||
data.productTypeList.forEach((item) => {
|
||||
productTypeArr.push(item.id)
|
||||
})
|
||||
this.dataForm.productTypeListData = productTypeArr
|
||||
} else {
|
||||
this.$refs["dataForm"].resetFields()
|
||||
}
|
||||
// this.dataForm.dictTypeId = dictTypeId || "";
|
||||
this.visible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs["dataForm"].resetFields();
|
||||
if (this.dataForm.id) {
|
||||
this.getInfo();
|
||||
} else {
|
||||
}
|
||||
});
|
||||
// this.$nextTick(() => {
|
||||
// this.$refs["dataForm"].resetFields();
|
||||
// if (this.dataForm.id) {
|
||||
// this.getInfo()
|
||||
// } else {
|
||||
// }
|
||||
// });
|
||||
},
|
||||
getDict() {
|
||||
this.$http
|
||||
@ -305,9 +321,6 @@ export default {
|
||||
.catch(() => {
|
||||
})
|
||||
},
|
||||
getProcessList(val) {
|
||||
console.log(val);
|
||||
},
|
||||
// 获取信息
|
||||
getInfo() {
|
||||
this.$http
|
||||
@ -324,6 +337,42 @@ export default {
|
||||
.catch(() => {});
|
||||
},
|
||||
// 表单提交
|
||||
dataFormSubmit() {
|
||||
const processArr = this.dataForm.processListData.map((item) => {
|
||||
return {
|
||||
id: item
|
||||
}
|
||||
})
|
||||
console.log(processArr);
|
||||
this.dataForm.processList = processArr
|
||||
const productTypeArr = this.dataForm.productTypeListData.map((item) => {
|
||||
return {
|
||||
id: item
|
||||
}
|
||||
})
|
||||
this.dataForm.productTypeList = productTypeArr
|
||||
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 () {
|
||||
this.$refs["dataForm"].validate((valid) => {
|
||||
@ -340,9 +389,8 @@ export default {
|
||||
type: "success",
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
console.log(1111);
|
||||
this.visible = false;
|
||||
this.$emit("successSubmit");
|
||||
this.$emit("refreshDataList");
|
||||
},
|
||||
});
|
||||
})
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-04-17 14:23:17
|
||||
* @LastEditTime: 2023-07-14 15:02:29
|
||||
* @LastEditTime: 2023-07-17 14:33:44
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -55,7 +55,7 @@ import basicSearch from "@/mixins/basic-search"
|
||||
import qualityChangeSearch from "./components/qualityChangeSearch.vue"
|
||||
import qualityChangeAdd from "./components/qualityChange-add.vue"
|
||||
import InnerTable from "./components/innerTable"
|
||||
|
||||
import { timeFormatter, handleProcess, handleProductType } from '@/filters'
|
||||
import i18n from "@/i18n"
|
||||
// import supplier from '@/filters/supplier'
|
||||
const tableProps = [
|
||||
@ -66,6 +66,7 @@ const tableProps = [
|
||||
{
|
||||
prop: "registrationDate",
|
||||
label: i18n.t('researchquality.registrationDate'),
|
||||
filter: timeFormatter
|
||||
},
|
||||
{
|
||||
prop: "changeSource",
|
||||
@ -75,10 +76,10 @@ const tableProps = [
|
||||
prop: "owner",
|
||||
label: i18n.t('researchquality.owner'),
|
||||
},
|
||||
{
|
||||
prop: "category",
|
||||
label: i18n.t('researchquality.category'),
|
||||
},
|
||||
// {
|
||||
// prop: "category",
|
||||
// label: i18n.t('researchquality.category'),
|
||||
// },
|
||||
{
|
||||
prop: "title",
|
||||
label: i18n.t('researchquality.title'),
|
||||
@ -91,6 +92,16 @@ const tableProps = [
|
||||
prop: "productName",
|
||||
label: i18n.t('researchquality.productName'),
|
||||
},
|
||||
{
|
||||
prop: "productTypeList",
|
||||
label: i18n.t('researchquality.productTypeName'),
|
||||
filter: handleProductType
|
||||
},
|
||||
{
|
||||
prop: "processList",
|
||||
label: i18n.t('researchquality.processName'),
|
||||
filter: handleProcess
|
||||
},
|
||||
{
|
||||
prop: "qualityChangeStatus",
|
||||
label: i18n.t('researchquality.qualityChangeStatus'),
|
||||
@ -134,6 +145,10 @@ export default {
|
||||
limit: 999,
|
||||
page:1
|
||||
},
|
||||
listQuery: {
|
||||
limit: 50,
|
||||
page: 1
|
||||
},
|
||||
searchOrEditTitle: "",
|
||||
searchOrUpdateVisible: false,
|
||||
productOrEditTitle: "",
|
||||
@ -245,10 +260,11 @@ export default {
|
||||
})
|
||||
.catch(() => { });
|
||||
} else if (val.type === 'edit') {
|
||||
console.log(val.data)
|
||||
this.addOrUpdateVisible = true
|
||||
this.addOrEditTitle = this.$t('edit')
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(val.data.id);
|
||||
this.$refs.addOrUpdate.init(val.data);
|
||||
});
|
||||
}
|
||||
},
|
||||
|
249
src/views/modules/supplier/components/addPlan.vue
Normal file
249
src/views/modules/supplier/components/addPlan.vue
Normal file
@ -0,0 +1,249 @@
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
|
||||
<el-form-item label="标题" prop="title">
|
||||
<el-input v-model="ruleForm.title"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="评估类型" prop="evaluationType">
|
||||
<el-radio-group v-model="ruleForm.evaluationType">
|
||||
<el-radio-button :label="0">年度</el-radio-button>
|
||||
<el-radio-button :label="1">季度</el-radio-button>
|
||||
<el-radio-button :label="2">月度</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="评估模板" prop="evaluationTemplateId">
|
||||
<el-select v-model="ruleForm.evaluationTemplateId" filterable clearable placeholder="评估模板">
|
||||
<el-option
|
||||
v-for="item in modalOptions"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="说明" prop="description">
|
||||
<el-input type="textarea" v-model="ruleForm.description"></el-input>
|
||||
</el-form-item>
|
||||
提醒时间
|
||||
<el-form-item label="月" prop="reminderTimeMonth">
|
||||
<el-radio-group v-model="ruleForm.reminderTimeMonth" @change="setDay">
|
||||
<el-radio-button v-for="(item, index) in monthList" :key="index" :label="item"></el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="日" prop="reminderTimeDay">
|
||||
<el-radio-group v-model="ruleForm.reminderTimeDay">
|
||||
<el-radio-button v-for="(item, index) in dayList" :key="index" :label="item"></el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="评估人" prop="evaluator">
|
||||
<el-radio-group v-model="ruleForm.evaluator">
|
||||
<el-radio v-for="(item, index) in userList" :key="index" :label="item.id">{{ item.username }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="提醒人" prop="reminder">
|
||||
<el-select v-model="ruleForm.reminder" filterable clearable placeholder="提醒人">
|
||||
<el-option
|
||||
v-for="item in userList"
|
||||
:key="item.id"
|
||||
:label="item.username"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="待评估供应商" prop="chooseSupplierList">
|
||||
<el-select v-model="chooseSupplierList" filterable multiple clearable placeholder="待评估供应商">
|
||||
<el-option
|
||||
v-for="item in supplierList"
|
||||
:key="item.id"
|
||||
:label="item.supplierTypeName"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="submitForm('ruleForm')">保存</el-button>
|
||||
<el-button @click="resetForm('ruleForm')">取消</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
addURL: '/supplier/qmsEvaluationPlan',
|
||||
getTemplateListURL: '/supplier/qmsEvaluationTemplate/page',
|
||||
getSupplierURL: '/supplier/qmsSupplier/page',
|
||||
getUserURL: '/sys/user/page',
|
||||
addQmsRelation: '/supplier/qmsEvaluationPlanSupplier'
|
||||
},
|
||||
ruleForm: {
|
||||
title: '',
|
||||
evaluationType: '',
|
||||
evaluationTemplateId: '',
|
||||
description: '',
|
||||
reminderTimeMonth: 1,
|
||||
reminderTimeDay: 1,
|
||||
evaluationType: '',
|
||||
evaluator: '',
|
||||
reminder: ''
|
||||
},
|
||||
chooseSupplierList: [],
|
||||
monthList: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
|
||||
dayList: 30,
|
||||
modalOptions: [],
|
||||
userList: [],
|
||||
supplierList: [],
|
||||
rules: {
|
||||
title: [
|
||||
{ required: true, message: '请输入活动名称', trigger: 'blur' }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getTemplate()
|
||||
this.getSupplier()
|
||||
this.getUser()
|
||||
},
|
||||
methods: {
|
||||
setDay() {
|
||||
switch (this.ruleForm.reminderTimeMonth) {
|
||||
case 2:
|
||||
this.dayList = 28
|
||||
break
|
||||
case 1:
|
||||
case 3:
|
||||
case 5:
|
||||
case 7:
|
||||
case 8:
|
||||
case 10:
|
||||
case 12:
|
||||
this.dayList = 31
|
||||
break
|
||||
case 4:
|
||||
case 6:
|
||||
case 9:
|
||||
case 11:
|
||||
this.dayList = 30
|
||||
break
|
||||
}
|
||||
},
|
||||
getUser() {
|
||||
this.$http
|
||||
.get(this.urlOptions.getUserURL, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1
|
||||
},
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.userList = [];
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.userList = res.data.list;
|
||||
})
|
||||
.catch(() => {
|
||||
this.dataListLoading = false;
|
||||
});
|
||||
},
|
||||
getSupplier() {
|
||||
this.$http
|
||||
.get(this.urlOptions.getSupplierURL, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1
|
||||
},
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.supplierList = [];
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.supplierList = res.data.list;
|
||||
})
|
||||
.catch(() => {
|
||||
this.dataListLoading = false;
|
||||
});
|
||||
},
|
||||
getTemplate() {
|
||||
this.$http
|
||||
.get(this.urlOptions.getTemplateListURL, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1
|
||||
},
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.modalOptions = [];
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.modalOptions = res.data.list;
|
||||
})
|
||||
.catch(() => {
|
||||
this.dataListLoading = false;
|
||||
});
|
||||
},
|
||||
submitForm(formName) {
|
||||
console.log('啊啊啊啊啊', this.ruleForm)
|
||||
console.log('nich ', this.chooseSupplierList)
|
||||
this.$refs[formName].validate((valid) => {
|
||||
if (valid) {
|
||||
this.$http["post"](this.urlOptions.addURL, this.ruleForm)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
if (this.chooseSupplierList.length > 0) {
|
||||
this.chooseSupplierList.forEach(item => {
|
||||
let param = {
|
||||
supplierId: item,
|
||||
evaluationPlanId: res.data
|
||||
}
|
||||
this.$http["post"](this.urlOptions.addQmsRelation, param)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
console.log('添加成功')
|
||||
// this.$message({
|
||||
// message: this.$t("prompt.success"),
|
||||
// type: "success",
|
||||
// duration: 500
|
||||
// })
|
||||
})
|
||||
})
|
||||
}
|
||||
this.$message({
|
||||
message: this.$t("prompt.success"),
|
||||
type: "success",
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
console.log(1111, res);
|
||||
this.$emit("refreshDataList");
|
||||
this.addRelation()
|
||||
},
|
||||
})
|
||||
})
|
||||
} else {
|
||||
console.log('error submit!!');
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
addRelation() {
|
||||
|
||||
},
|
||||
resetForm(formName) {
|
||||
this.$refs[formName].resetFields();
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
36
src/views/modules/supplier/components/addProjects.vue
Normal file
36
src/views/modules/supplier/components/addProjects.vue
Normal file
@ -0,0 +1,36 @@
|
||||
<!--
|
||||
* @Author: Do not edit
|
||||
* @Date: 2023-07-04 09:34:07
|
||||
* @LastEditTime: 2023-07-05 15:03:52
|
||||
* @LastEditors: DY
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<el-tabs tab-position="left" style="min-height: 200px;">
|
||||
<el-tab-pane label="项目概述">
|
||||
<first></first>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="配置管理">配置管理</el-tab-pane>
|
||||
<el-tab-pane label="角色管理">角色管理</el-tab-pane>
|
||||
<el-tab-pane label="定时任务补偿">定时任务补偿</el-tab-pane>
|
||||
</el-tabs>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import first from './first.vue'
|
||||
|
||||
export default {
|
||||
components: { first },
|
||||
data() {
|
||||
return {
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: Do not edit
|
||||
* @Date: 2023-06-19 14:59:34
|
||||
* @LastEditTime: 2023-06-27 15:00:33
|
||||
* @LastEditTime: 2023-07-11 14:22:43
|
||||
* @LastEditors: DY
|
||||
* @Description:
|
||||
-->
|
||||
@ -159,6 +159,7 @@ export default {
|
||||
getTypeListURL: '/supplier/qmsProjectType/page',
|
||||
saveDataURL: '/supplier/qmsEvaluationTemplateProjectType/saveAll'
|
||||
},
|
||||
evaluationTemplateId: '',
|
||||
visibleList: [true, false, false, false, false],
|
||||
activeStep: 0,
|
||||
ruleForm: {
|
||||
@ -315,13 +316,18 @@ export default {
|
||||
}
|
||||
const typeList = Array.from(new Set(temp))
|
||||
console.log('aaaaaaa', typeList)
|
||||
for (let type of typeList) {
|
||||
for (let key of typeList) {
|
||||
let obj = {}
|
||||
obj.projectTypeName = type
|
||||
obj.projectTypeName = typeList[key]
|
||||
obj.dragVisible = false
|
||||
obj.list = this.multipleSelection.filter(ele => {
|
||||
if (ele.projectTypeName === type) {
|
||||
obj.sort = key
|
||||
obj.list = this.multipleSelection.filter((ele, index) => {
|
||||
if (ele.projectTypeName === typeList[key]) {
|
||||
obj.projectTypeId = ele.projectTypeId
|
||||
obj.evaluationTemplateId = this.evaluationTemplateId
|
||||
ele.evaluationTemplateId = this.evaluationTemplateId
|
||||
ele.projectId = ele.id
|
||||
ele.sort = index
|
||||
return ele
|
||||
}
|
||||
})
|
||||
@ -416,6 +422,8 @@ export default {
|
||||
this.$emit("refreshDataList");
|
||||
},
|
||||
})
|
||||
console.log('新增结果', res.data)
|
||||
this.evaluationTemplateId = res.data
|
||||
this.activeStep ++
|
||||
// this.visibleList[0] = false
|
||||
// this.visibleList[1] = true
|
||||
|
213
src/views/modules/supplier/components/first.vue
Normal file
213
src/views/modules/supplier/components/first.vue
Normal file
@ -0,0 +1,213 @@
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
|
||||
<el-form-item label="标题" prop="title">
|
||||
<el-input v-model="ruleForm.title"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="物料" prop="productName">
|
||||
<el-select v-model="ruleForm.productName" filterable clearable placeholder="物料">
|
||||
<el-option
|
||||
v-for="item in productList"
|
||||
:key="item.id"
|
||||
:label="item.productName"
|
||||
:value="item.productName">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="供应商" prop="supplierName">
|
||||
<el-select v-model="ruleForm.supplierName" filterable clearable placeholder="供应商">
|
||||
<el-option
|
||||
v-for="item in supplierList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.name">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="负责人" prop="personLiableName">
|
||||
<el-select v-model="ruleForm.personLiableName" filterable clearable placeholder="供应商">
|
||||
<el-option
|
||||
v-for="item in userList"
|
||||
:key="item.id"
|
||||
:label="item.username"
|
||||
:value="item.username">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="时间节点">
|
||||
<el-date-picker
|
||||
v-model="timeSlot"
|
||||
type="daterange"
|
||||
value-format="yyyy-MM-ddTHH:mm:ss"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="背景" prop="background">
|
||||
<el-input type="textarea" v-model="ruleForm.background"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="ment">
|
||||
<el-select v-model="ruleForm.ment" filterable clearable placeholder="状态">
|
||||
<el-option
|
||||
v-for="item in mentList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="submitForm('ruleForm')">保存</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
addURL: '/supplier/qmsSupplierProjectList',
|
||||
getProductURL: '/basic/qmsProduct/page',
|
||||
getSupplierURL: '/supplier/qmsSupplier/page',
|
||||
getUserURL: '/sys/user/page'
|
||||
},
|
||||
ruleForm: {
|
||||
title: '',
|
||||
productName: '',
|
||||
supplierName: '',
|
||||
personLiableName: '',
|
||||
background: '',
|
||||
ment: 0,
|
||||
timeNodeStart: undefined,
|
||||
timeNodeEnd: undefined
|
||||
},
|
||||
mentList: [
|
||||
{
|
||||
id: 0,
|
||||
name: '实施中'
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
name: '已完成'
|
||||
}
|
||||
],
|
||||
timeSlot: null,
|
||||
productList: [],
|
||||
userList: [],
|
||||
supplierList: [],
|
||||
rules: {
|
||||
title: [
|
||||
{ required: true, message: '请输入活动名称', trigger: 'blur' },
|
||||
{ min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getProduct()
|
||||
this.getSupplier()
|
||||
this.getUser()
|
||||
},
|
||||
methods: {
|
||||
getUser() {
|
||||
this.$http
|
||||
.get(this.urlOptions.getUserURL, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1
|
||||
},
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.userList = [];
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.userList = res.data.list;
|
||||
})
|
||||
.catch(() => {
|
||||
this.dataListLoading = false;
|
||||
});
|
||||
},
|
||||
getSupplier() {
|
||||
this.$http
|
||||
.get(this.urlOptions.getSupplierURL, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1
|
||||
},
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.supplierList = [];
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.supplierList = res.data.list;
|
||||
})
|
||||
.catch(() => {
|
||||
this.dataListLoading = false;
|
||||
});
|
||||
},
|
||||
getProduct() {
|
||||
this.$http
|
||||
.get(this.urlOptions.getProductURL, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1
|
||||
},
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.productList = [];
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.productList = res.data.list;
|
||||
})
|
||||
.catch(() => {
|
||||
this.dataListLoading = false;
|
||||
});
|
||||
},
|
||||
submitForm(formName) {
|
||||
console.log('啊啊啊啊啊', this.ruleForm)
|
||||
if (this.timeSlot) {
|
||||
this.ruleForm.timeNodeStart = this.timeSlot[0]
|
||||
this.ruleForm.timeNodeEnd = this.timeSlot[1]
|
||||
} else {
|
||||
this.ruleForm.timeNodeStart = undefined
|
||||
this.ruleForm.timeNodeEnd = undefined
|
||||
}
|
||||
this.$refs[formName].validate((valid) => {
|
||||
if (valid) {
|
||||
this.$http["post"](this.urlOptions.addURL, this.ruleForm)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.$message({
|
||||
message: this.$t("prompt.success"),
|
||||
type: "success",
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
console.log(1111, res);
|
||||
this.$emit("refreshDataList");
|
||||
this.resetForm('ruleForm')
|
||||
},
|
||||
})
|
||||
})
|
||||
} else {
|
||||
console.log('error submit!!');
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
resetForm(formName) {
|
||||
this.$refs[formName].resetFields();
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
123
src/views/modules/supplier/components/startPlan.vue
Normal file
123
src/views/modules/supplier/components/startPlan.vue
Normal file
@ -0,0 +1,123 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-14 15:34:18
|
||||
* @LastEditors: DY
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<el-form :model="dataForm" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" label-width="150px">
|
||||
<el-form-item prop="evaluationType" label="评估类型">
|
||||
<!-- <el-input v-model="dataForm.evaluationType" :placeholder="$t('laboratory.title')">
|
||||
</el-input> -->
|
||||
<el-tag :type="dataForm.evaluationType === 0 ? 'info' : dataForm.evaluationType === 1 ? 'success' : ''" effect="dark">{{ dataForm.evaluationType === 0 ? '年度' : dataForm.evaluationType === 1 ? '季度' : '月度' }}</el-tag>
|
||||
</el-form-item>
|
||||
<el-form-item prop="estimatedNextStartTime" label="评估时间">
|
||||
<el-date-picker v-model="dataForm.estimatedNextStartTime" type="datetime" placeholder="评估时间"
|
||||
format='yyyy-MM-dd HH:mm:ss' valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import debounce from "lodash/debounce";
|
||||
// import basicAdd from "@/mixins/basic-add";
|
||||
export default {
|
||||
// mixins: [basicAdd],
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
submitURL: "/supplier/qmsEvaluationPlan"
|
||||
// infoURL: "/laboratory/qmsLaboratoryTrainExperience/{ id }",
|
||||
},
|
||||
gageList: [],
|
||||
userList: [],
|
||||
customerList:[],
|
||||
gageTypeList:[],
|
||||
departmentList: [],
|
||||
visible: false,
|
||||
dataForm: {
|
||||
id: null,
|
||||
estimatedNextStartTime: '',
|
||||
evaluationType: ''
|
||||
},
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
dataRule() {
|
||||
return {
|
||||
};
|
||||
},
|
||||
},
|
||||
// mounted () {
|
||||
// this.getData();
|
||||
// },
|
||||
methods: {
|
||||
init(data) {
|
||||
this.visible = true
|
||||
console.log('jpuz cjuu', data)
|
||||
this.dataForm.id = data.id
|
||||
this.dataForm.evaluationType = data.evaluationType
|
||||
// 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();
|
||||
// if (this.dataForm.id) {
|
||||
// this.getInfo()
|
||||
// } else {
|
||||
// // this.getCode()
|
||||
// }
|
||||
// });
|
||||
},
|
||||
// 获取信息
|
||||
// getInfo() {
|
||||
// this.$http
|
||||
// .get(`/laboratory/qmsLaboratoryTrainExperience/${this.dataForm.id}`)
|
||||
// .then(({ data: res }) => {
|
||||
// if (res.code !== 0) {
|
||||
// return this.$message.error(res.msg);
|
||||
// }
|
||||
// this.dataForm = {
|
||||
// ...this.dataForm,
|
||||
// ...res.data,
|
||||
// };
|
||||
// })
|
||||
// .catch(() => { })
|
||||
// },
|
||||
// 表单提交
|
||||
dataFormSubmit: debounce(
|
||||
function () {
|
||||
console.log('nihc ', this.dataForm)
|
||||
this.$refs["dataForm"].validate((valid) => {
|
||||
if (!valid) {
|
||||
return false;
|
||||
}
|
||||
this.$http['put'](this.urlOptions.submitURL, this.dataForm)
|
||||
.then(({ data: res }) => {
|
||||
if (res.code !== 0) {
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.$message({
|
||||
message: this.$t("prompt.success"),
|
||||
type: "success",
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
console.log(1111);
|
||||
this.visible = false;
|
||||
this.$emit("refreshDataList");
|
||||
},
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
});
|
||||
},
|
||||
1000,
|
||||
{ leading: true, trailing: false }
|
||||
),
|
||||
},
|
||||
};
|
||||
</script>
|
30
src/views/modules/supplier/components/status.vue
Normal file
30
src/views/modules/supplier/components/status.vue
Normal file
@ -0,0 +1,30 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-04-18 09:11:41
|
||||
* @LastEditTime: 2023-07-13 15:21:27
|
||||
* @LastEditors: DY
|
||||
* @Description:
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="tableInner">
|
||||
<span>{{ injectData.supplierStatus === 0 ? '合格' : injectData.supplierStatus === 1 ? '不合格' : '黑名单' }}</span>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
injectData: {
|
||||
type: Object,
|
||||
default: () => ({})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="css">
|
||||
.tableInner .el-input__inner {
|
||||
border: none;
|
||||
padding: 0;
|
||||
height: 33px;
|
||||
}
|
||||
</style>
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-12 15:54:54
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-07-14 15:56:51
|
||||
* @LastEditors: DY
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -32,6 +32,10 @@
|
||||
<el-input v-model="dataForm.address" :placeholder="$t('supplier.address')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="grade" :label="$t('supplier.grade')">
|
||||
<el-input v-model="dataForm.grade" :placeholder="$t('supplier.grade')">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="ment" :label="$t('supplier.ment')">
|
||||
<el-select v-model="dataForm.ment" :placeholder="$t('supplier.ment')">
|
||||
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
|
||||
@ -159,7 +163,8 @@ export default {
|
||||
contactPhone: null,
|
||||
enterpriseNature: null,
|
||||
industry: null,
|
||||
productService: null
|
||||
productService: null,
|
||||
grade: null
|
||||
},
|
||||
};
|
||||
},
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-07-12 15:55:44
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-07-14 15:57:26
|
||||
* @LastEditors: DY
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
|
@ -1,20 +1,20 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-04-17 14:23:17
|
||||
* @LastEditTime: 2023-06-19 10:25:26
|
||||
* @LastEditTime: 2023-07-12 14:17:24
|
||||
* @LastEditors: DY
|
||||
* @Description: 标签设定
|
||||
-->
|
||||
<template>
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<!-- <div class="mod-sys__user"> -->
|
||||
<el-input v-model="name" :placeholder="$t('supplier.title')" style="width:300px" @blur="throttle(handleAdd())" @keyup.enter.native="throttle(handleAdd())">
|
||||
<el-input v-model="name" :placeholder="$t('supplier.title')" style="width:300px" @blur="handleAdd" @keyup.enter.native="$event.target.blur">
|
||||
</el-input>
|
||||
<!-- </div> -->
|
||||
<el-card v-for="(item, index) in tableData" :key="index" class="box-card" style="width:80%; margin-top: 15px">
|
||||
<div slot="header" class="clearfix">
|
||||
<span>{{ item.name }}</span>
|
||||
<el-button style="float: right; padding: 3px 0" type="text" icon="el-icon-edit" />
|
||||
<el-input :disabled="item.disabled" style="width: 20%; border: none" v-model="item.name" @blur="handleEdit(item)" @keyup.enter.native="$event.target.blur"></el-input>
|
||||
<el-button style="float: right; padding: 3px 0" type="text" icon="el-icon-edit" @click="editHandle(item)" />
|
||||
<el-button style="float: right; padding: 3px 0" type="text" icon="el-icon-delete" @click="deleteHandle(item.id, item.name)" />
|
||||
</div>
|
||||
<!-- <span v-for="(item, index) in tableData" :key="index" class="text item">
|
||||
@ -62,7 +62,8 @@ export default {
|
||||
getSupplierListURL: '/supplier/qmsSupplier/page',
|
||||
getTemplateListURL: '/supplier/qmsEvaluationTask/page',
|
||||
submitURL: '/supplier/qmsEvaluationItemListLabel',
|
||||
addLabelInfoURL: '/supplier/qmsEvaluationItemListLabelInfo'
|
||||
addLabelInfoURL: '/supplier/qmsEvaluationItemListLabelInfo',
|
||||
deleteLabelInfoURL: '/supplier/qmsEvaluationItemListLabelInfo'
|
||||
},
|
||||
name: '',
|
||||
tableData: [],
|
||||
@ -71,7 +72,6 @@ export default {
|
||||
page: 1,
|
||||
total: 0,
|
||||
},
|
||||
dynamicTags: ['标签一', '标签二', '标签三'],
|
||||
inputVisible: false,
|
||||
inputValue: [],
|
||||
searchOrEditTitle: "",
|
||||
@ -83,7 +83,7 @@ export default {
|
||||
},
|
||||
components: {
|
||||
},
|
||||
activated() {
|
||||
mounted() {
|
||||
this.getDataList()
|
||||
},
|
||||
methods: {
|
||||
@ -92,6 +92,30 @@ export default {
|
||||
// this.searchOrEditTitle = "";
|
||||
// this.searchOrUpdateVisible = false;
|
||||
// },
|
||||
handleEdit(label) {
|
||||
const data = {
|
||||
name: label.name,
|
||||
id: label.id
|
||||
}
|
||||
this.$http["put"](this.urlOptions.submitURL, data)
|
||||
.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.getDataList()
|
||||
},
|
||||
})
|
||||
})
|
||||
},
|
||||
editHandle(label) {
|
||||
label.disabled = false
|
||||
console.log('nihc', label)
|
||||
},
|
||||
handleClose(tag) {
|
||||
console.log('你好', tag)
|
||||
this.$confirm(`确定对[名称=${tag.name}]进行删除操作?`, "提示", {
|
||||
@ -99,7 +123,20 @@ export default {
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
}).then(()=> {
|
||||
this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1)
|
||||
this.$http.delete(this.urlOptions.deleteLabelInfoURL, { data: [tag.id] }).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message({
|
||||
message: "操作成功",
|
||||
type: "success",
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.getDataList();
|
||||
},
|
||||
});
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
|
||||
@ -192,19 +229,11 @@ export default {
|
||||
type: "success",
|
||||
duration: 500,
|
||||
onClose: () => {
|
||||
this.visible = false
|
||||
this.$emit("successSubmit")
|
||||
this.getDataList()
|
||||
},
|
||||
})
|
||||
})
|
||||
},
|
||||
conditionSearch() {
|
||||
this.searchOrEditTitle = "搜索";
|
||||
this.searchOrUpdateVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.searchOrUpdate.init();
|
||||
});
|
||||
},
|
||||
exportHandle() {
|
||||
this.$http.get(this.urlOptions.exportURL, { responseType: 'blob' }, {
|
||||
...this.dataForm
|
||||
@ -299,6 +328,7 @@ export default {
|
||||
},
|
||||
getDataList() {
|
||||
this.dataListLoading = true;
|
||||
this.name = ''
|
||||
this.$http
|
||||
.get(this.urlOptions.getDataListURL, {
|
||||
params: this.listQuery,
|
||||
@ -310,7 +340,11 @@ export default {
|
||||
this.listQuery.total = 0;
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.tableData = res.data.list;
|
||||
this.tableData = res.data.list.map((item) =>{
|
||||
item.disabled = true
|
||||
return item
|
||||
})
|
||||
|
||||
this.listQuery.total = res.data.total;
|
||||
})
|
||||
.catch(() => {
|
||||
|
@ -1,302 +1,276 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-04-17 14:23:17
|
||||
* @LastEditTime: 2023-07-12 16:05:36
|
||||
* @LastEditors: zhp
|
||||
* @Author: Do not edit
|
||||
* @Date: 2023-06-20 11:16:51
|
||||
* @LastEditTime: 2023-07-14 15:53:22
|
||||
* @LastEditors: DY
|
||||
* @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">
|
||||
<evaluationItemList-add ref="addOrUpdate" @refreshDataList="successSubmit">
|
||||
</evaluationItemList-add>
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
</base-dialog>
|
||||
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||
<supplierProduct-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit">
|
||||
</supplierProduct-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-form :inline="true" :model="formInline" class="demo-form-inline">
|
||||
<el-form-item label="供应商名称">
|
||||
<el-input v-model="formInline.supplierName" placeholder="供应商"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="评估模板">
|
||||
<el-select v-model="formInline.evaluationTemplateId" filterable clearable placeholder="评估模板">
|
||||
<el-option
|
||||
v-for="item in modalOptions"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="评估类型">
|
||||
<el-select v-model="formInline.evaluationType" clearable placeholder="评估类型">
|
||||
<el-option
|
||||
v-for="item in typeOptions"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="onSubmit">查询</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div>
|
||||
<el-table
|
||||
:data="tableData"
|
||||
v-loading="dataListLoading"
|
||||
style="width: 100%">
|
||||
<el-table-column type="expand">
|
||||
<template slot-scope="props">
|
||||
<el-form label-position="left" inline class="demo-table-expand">
|
||||
<el-form-item label="供应商列表">
|
||||
<el-tag type="success" v-for="(item, index) in props.row.list" :key="index">{{ item.supplierName }}</el-tag>
|
||||
</el-form-item>
|
||||
<br>
|
||||
<el-form-item label="负责人列表">
|
||||
<el-tag>{{ props.row.evaluatorName }}</el-tag>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="评估类型"
|
||||
prop="evaluationType">
|
||||
<template slot-scope="slot">
|
||||
<el-tag :type="slot.row.evaluationType === 0 ? 'info' : slot.row.evaluationType === 1 ? 'success' : ''" effect="dark">{{ slot.row.evaluationType === 0 ? '年度' : slot.row.evaluationType === 1 ? '季度' : '月度' }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="标题"
|
||||
prop="title">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="评估模板"
|
||||
prop="evaluationTemplateName">
|
||||
<template slot-scope="slot">
|
||||
<el-tag type="danger" effect="plain">{{ slot.row.evaluationTemplateName }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="说明"
|
||||
prop="description">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="上次启动时间"
|
||||
prop="lastStartTime">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="上次启动评估时间段"
|
||||
prop="lastStartEvaluationPeriod">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="预计下次启动时间"
|
||||
prop="estimatedNextStartTime">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="提醒人"
|
||||
prop="reminder">
|
||||
</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="editPlan(slot.row)">edit</el-button>
|
||||
<el-button type="text" @click="deletePlan(slot.row)" style="color: red">delete</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<div>
|
||||
<el-button class="carcleButton" @click="addPlanButon">+</el-button>
|
||||
</div>
|
||||
<add-plan v-if="addtModelVisible" @refreshDataList="onSubmit"></add-plan>
|
||||
<base-dialog dialogTitle="start" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel" @confirm="handleConfirm" :before-close="handleCancel">
|
||||
<start-plan ref="addOrUpdate" @refreshDataList="closeSucess"></start-plan>
|
||||
</base-dialog>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import basicPage from "@/mixins/basic-page"
|
||||
import basicSearch from "@/mixins/basic-search"
|
||||
import supplierProductSearch from "./components/supplierProductSearch.vue"
|
||||
import evaluationItemListAdd from "./components/evaluationItemList-add.vue"
|
||||
import { timeFormatter } from '@/filters'
|
||||
import i18n from "@/i18n"
|
||||
// import i18n from "@/i18n";
|
||||
const tableProps = [
|
||||
{
|
||||
prop: "evaluationType",
|
||||
label: i18n.t('supplier.evaluationType')
|
||||
},
|
||||
{
|
||||
prop: "title",
|
||||
label: i18n.t('supplier.title')
|
||||
},
|
||||
{
|
||||
prop: "evaluationTemplateName",
|
||||
label: i18n.t('supplier.evaluationTemplateName')
|
||||
},
|
||||
{
|
||||
prop: "description",
|
||||
label: i18n.t('supplier.description')
|
||||
},
|
||||
{
|
||||
prop: "lastStartTime",
|
||||
label: i18n.t('supplier.lastStartTime')
|
||||
},
|
||||
{
|
||||
prop: "lastStartEvaluationPeriod",
|
||||
label: i18n.t('supplier.lastStartEvaluationPeriod')
|
||||
},
|
||||
{
|
||||
prop: "estimatedNextStartTime",
|
||||
label: i18n.t('supplier.estimatedNextStartTime')
|
||||
}
|
||||
];
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
btnName: i18n.t('t.edit'),
|
||||
},
|
||||
{
|
||||
type: "delete",
|
||||
btnName: i18n.t('t.delete'),
|
||||
}
|
||||
];
|
||||
import addPlan from './components/addPlan.vue'
|
||||
import startPlan from './components/startPlan.vue'
|
||||
|
||||
export default {
|
||||
mixins: [basicPage, basicSearch],
|
||||
components: { addPlan, startPlan },
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
getDataListURL: "/supplier/qmsEvaluationPlan/page",
|
||||
deleteURL: "/supplier/qmsEvaluationPlan",
|
||||
getProjectTypeList: '/supplier/qmsProjectType/page'
|
||||
// submitURL: '/supplier/qmsSupplierType'
|
||||
getTemplateListURL: '/supplier/qmsEvaluationTemplate/page',
|
||||
deleteURL: '/supplier/qmsEvaluationPlan'
|
||||
},
|
||||
tableProps,
|
||||
ment: '',
|
||||
tableBtn,
|
||||
productData: {},
|
||||
dataForm:{
|
||||
limit: 999,
|
||||
page:1
|
||||
},
|
||||
projectTypeId:null,
|
||||
projectTypeList:[],
|
||||
searchOrEditTitle: "",
|
||||
searchOrUpdateVisible: false,
|
||||
productOrEditTitle: "",
|
||||
addOrEditTitle: '',
|
||||
addOrUpdateVisible: false,
|
||||
productOrUpdateVisible: false,
|
||||
formConfig: [
|
||||
dataListLoading: false,
|
||||
addtModelVisible: false,
|
||||
typeOptions: [
|
||||
{
|
||||
type: 'input',
|
||||
label: i18n.t('supplier.name'),
|
||||
placeholder: i18n.t('supplier.name'),
|
||||
param: 'name'
|
||||
name: '年度',
|
||||
id: 0
|
||||
},
|
||||
{
|
||||
type: 'input',
|
||||
label: i18n.t('supplier.code'),
|
||||
placeholder: i18n.t('supplier.code'),
|
||||
param: 'code'
|
||||
name: '季度',
|
||||
id: 1
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('search'),
|
||||
name: "search",
|
||||
color: "primary",
|
||||
// plain: true,
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: i18n.t('add'),
|
||||
name: "add",
|
||||
color: "success",
|
||||
plain: true
|
||||
},
|
||||
name: '月度',
|
||||
id: 2
|
||||
}
|
||||
],
|
||||
};
|
||||
modalOptions: [],
|
||||
addOrUpdateVisible: false,
|
||||
formInline: {
|
||||
page: 1,
|
||||
limit: 10,
|
||||
evaluationTemplateId: undefined,
|
||||
evaluationType: undefined,
|
||||
supplierName: '',
|
||||
total: 0
|
||||
},
|
||||
tableData: []
|
||||
}
|
||||
},
|
||||
components: {
|
||||
supplierProductSearch,
|
||||
// supplierProduct,
|
||||
evaluationItemListAdd
|
||||
},
|
||||
mounted () {
|
||||
this.getData()
|
||||
mounted() {
|
||||
this.getTemplate()
|
||||
this.onSubmit()
|
||||
},
|
||||
methods: {
|
||||
getData() {
|
||||
closeSucess() {
|
||||
this.addOrUpdateVisible = false
|
||||
this.onSubmit()
|
||||
},
|
||||
handleCancel() {
|
||||
// this.$refs.addOrUpdate.formClear()
|
||||
this.addOrUpdateVisible = false
|
||||
// this.addOrEditTitle = ''
|
||||
},
|
||||
handleConfirm() {
|
||||
this.$refs.addOrUpdate.dataFormSubmit()
|
||||
},
|
||||
start(val) {
|
||||
this.addOrUpdateVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(val);
|
||||
});
|
||||
},
|
||||
editPlan(val) {},
|
||||
deletePlan(val) {
|
||||
this.$confirm(`确定对[名称=${val.title}]进行删除操作?`, "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
this.$http.delete(this.urlOptions.deleteURL, { data: [val.id] }).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message({
|
||||
message: "操作成功",
|
||||
type: "success",
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.onSubmit();
|
||||
},
|
||||
});
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(() => { });
|
||||
},
|
||||
addPlanButon() {
|
||||
this.addtModelVisible = true
|
||||
},
|
||||
getTemplate() {
|
||||
this.$http
|
||||
.get(this.urlOptions.getProjectTypeList, { params: this.listQuery })
|
||||
.get(this.urlOptions.getTemplateListURL, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1
|
||||
},
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
if (res.code === 0) {
|
||||
console.log(res.data);
|
||||
this.projectTypeList = res.data.list
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.modalOptions = [];
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.modalOptions = res.data.list;
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
},
|
||||
//search-bar点击
|
||||
handleProductCancel() {
|
||||
this.productOrUpdateVisible = false;
|
||||
this.productOrEditTitle = ""
|
||||
},
|
||||
// handleSearchCancel() {
|
||||
// this.searchOrEditTitle = "";
|
||||
// this.searchOrUpdateVisible = false;
|
||||
// },
|
||||
conditionSearch() {
|
||||
this.searchOrEditTitle = "搜索";
|
||||
this.searchOrUpdateVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.searchOrUpdate.init();
|
||||
});
|
||||
},
|
||||
exportHandle() {
|
||||
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) {
|
||||
const temp = res.headers['content-disposition']
|
||||
.split(';')[1]
|
||||
.split('=')[1]
|
||||
// 对文件名乱码转义--【Node.js】使用iconv-lite解决中文乱码
|
||||
fileName = decodeURI(temp)
|
||||
console.log(temp)
|
||||
}
|
||||
const blob = new Blob([res.data])
|
||||
const reader = new FileReader()
|
||||
reader.readAsDataURL(blob)
|
||||
reader.onload = (e) => {
|
||||
const a = document.createElement('a')
|
||||
a.download = fileName
|
||||
a.href = e.target.result
|
||||
document.body.appendChild(a)
|
||||
a.click()
|
||||
document.body.removeChild(a)
|
||||
}
|
||||
}).catch(() => { })
|
||||
},
|
||||
// handleConfirm() {
|
||||
// this.$refs.addOrUpdate.dataFormSubmitHandle();
|
||||
// },
|
||||
// conditionSearchSubmit() {},
|
||||
conditionSearchSubmit(dataForm) {
|
||||
// console.log(key);
|
||||
// console.log(key);
|
||||
this.listQuery.supplierName = dataForm.supplierName
|
||||
this.listQuery.page = 1;
|
||||
this.getDataList();
|
||||
this.searchOrUpdateVisible = false;
|
||||
// console.log(11111);
|
||||
// this.conditionSearchSubmit();
|
||||
},
|
||||
handleClick(val) {
|
||||
if (val.type === "delete") {
|
||||
this.$confirm(`确定对[名称=${val.data.customerTypeName}]进行删除操作?`, "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message({
|
||||
message: "操作成功",
|
||||
type: "success",
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.getDataList();
|
||||
},
|
||||
});
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(() => { });
|
||||
} else if (val.type === 'edit') {
|
||||
this.addOrUpdateVisible = true
|
||||
this.addOrEditTitle = this.$t('edit')
|
||||
this.$nextTick(() => {
|
||||
const data ={
|
||||
id: val.data.id,
|
||||
projectTypeId: this.projectTypeId
|
||||
}
|
||||
this.$refs.addOrUpdate.init(data)
|
||||
this.dataListLoading = false;
|
||||
});
|
||||
}
|
||||
},
|
||||
addOrUpdateHandle() {
|
||||
console.log(this.projectTypeId)
|
||||
this.addOrUpdateVisible = true;
|
||||
this.$nextTick(() => {
|
||||
const data = {
|
||||
projectTypeId: this.projectTypeId
|
||||
}
|
||||
this.$refs.addOrUpdate.init(data)
|
||||
});
|
||||
},
|
||||
buttonClick(val) {
|
||||
console.log(val)
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
// this.listQuery.paramCode = val.paramCode;
|
||||
this.listQuery.name = val.name ? val.name : undefined
|
||||
this.listQuery.code = val.code ? val.code : undefined
|
||||
// console.log(i18n);
|
||||
this.listQuery.page = 1;
|
||||
this.getDataList();
|
||||
break;
|
||||
case "add":
|
||||
this.addOrEditTitle = '新增'
|
||||
this.addOrUpdateVisible = true
|
||||
this.addOrUpdateHandle()
|
||||
break;
|
||||
default:
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
onSubmit() {
|
||||
this.dataListLoading = true
|
||||
this.addtModelVisible = false
|
||||
this.$http
|
||||
.get(this.urlOptions.getDataListURL, {
|
||||
params: this.formInline,
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.tableData = [];
|
||||
this.formInline.total = 0;
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.tableData = res.data.list;
|
||||
this.formInline.total = res.data.total;
|
||||
})
|
||||
.catch(() => {
|
||||
this.dataListLoading = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.demo-table-expand {
|
||||
font-size: 0;
|
||||
}
|
||||
.demo-table-expand label {
|
||||
width: 90px;
|
||||
color: #99a9bf;
|
||||
}
|
||||
.demo-table-expand .el-form-item {
|
||||
margin-right: 0;
|
||||
margin-bottom: 0;
|
||||
width: 50%;
|
||||
}
|
||||
.carcleButton {
|
||||
border-radius: 50%;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
margin: 5px;
|
||||
background-color: rgb(196, 193, 193);
|
||||
}
|
||||
</style>
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-04-17 14:23:17
|
||||
* @LastEditTime: 2023-07-11 14:44:36
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-07-14 15:53:48
|
||||
* @LastEditors: DY
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -129,6 +129,14 @@ export default {
|
||||
limit: 999,
|
||||
page:1
|
||||
},
|
||||
listQuery: {
|
||||
supplierId: undefined,
|
||||
closedLoop: undefined,
|
||||
endTime: undefined,
|
||||
startTime: undefined,
|
||||
productName: undefined,
|
||||
problemDescription: undefined
|
||||
},
|
||||
searchOrEditTitle: "",
|
||||
searchOrUpdateVisible: false,
|
||||
productOrEditTitle: "",
|
||||
@ -146,7 +154,7 @@ export default {
|
||||
type: 'select',
|
||||
label: i18n.t('supplier.supplierName'),
|
||||
selectOptions: [],
|
||||
param: 'supplierName',
|
||||
param: 'supplierId',
|
||||
clearable: true,
|
||||
filterable: true,
|
||||
},
|
||||
@ -318,7 +326,7 @@ export default {
|
||||
conditionSearchSubmit(dataForm) {
|
||||
// console.log(key);
|
||||
// console.log(key);
|
||||
this.listQuery.supplierName = dataForm.supplierName
|
||||
this.listQuery.supplierId = dataForm.supplierName
|
||||
this.listQuery.page = 1;
|
||||
this.getDataList();
|
||||
this.searchOrUpdateVisible = false;
|
||||
@ -371,7 +379,7 @@ export default {
|
||||
this.listQuery.productName = val.productName ? val.productName : undefined
|
||||
this.listQuery.problemDescription = val.problemDescription ? val.problemDescription : undefined
|
||||
this.listQuery.closedLoop = val.closedLoop ? val.closedLoop : undefined
|
||||
this.listQuery.supplierName = val.supplierName ? val.supplierName : undefined
|
||||
this.listQuery.supplierId = val.supplierId ? val.supplierId : undefined
|
||||
this.listQuery.startTime = val.timeSlot ? val.timeSlot[0] : undefined
|
||||
this.listQuery.endTime = val.timeSlot ? val.timeSlot[1] : undefined
|
||||
// console.log(i18n);
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-04-17 14:23:17
|
||||
* @LastEditTime: 2023-07-13 11:15:39
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-07-14 15:56:32
|
||||
* @LastEditors: DY
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -61,7 +61,10 @@ import inputArea from "./components/inputArea"
|
||||
import innerTable from "./components/innerTable"
|
||||
import changeStatus from "./components/changeStatus.vue"
|
||||
import i18n from "@/i18n"
|
||||
import status from './components/status.vue'
|
||||
// import i18n from "@/i18n";
|
||||
import supplier from '@/filters/supplier'
|
||||
|
||||
const tableProps = [
|
||||
{
|
||||
prop: "detail",
|
||||
@ -91,6 +94,8 @@ const tableProps = [
|
||||
},
|
||||
{
|
||||
prop: "supplierStatus",
|
||||
// label: i18n.t('supplier.ment'),
|
||||
// subcomponent: status,
|
||||
label: i18n.t('supplier.supplierStatus'),
|
||||
filter: supplier('supplierStatus'),
|
||||
},
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: Do not edit
|
||||
* @Date: 2023-06-20 11:16:51
|
||||
* @LastEditTime: 2023-06-26 16:30:07
|
||||
* @LastEditTime: 2023-07-04 09:53:30
|
||||
* @LastEditors: DY
|
||||
* @Description: 项目清单
|
||||
-->
|
||||
@ -12,19 +12,173 @@
|
||||
<el-form-item label="标题">
|
||||
<el-input v-model="formInline.title" placeholder="标题"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="物料">
|
||||
<el-select v-model="formInline.productId" filterable clearable placeholder="物料">
|
||||
<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 label="供应商">
|
||||
<el-select v-model="formInline.supplierId" filterable clearable placeholder="供应商">
|
||||
<el-option
|
||||
v-for="item in supplierList"
|
||||
:key="item.id"
|
||||
:label="item.supplierTypeName"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态">
|
||||
<el-radio-group v-model="formInline.status">
|
||||
<el-radio-button :label="2">全部</el-radio-button>
|
||||
<el-radio-button :label="1">已完成</el-radio-button>
|
||||
<el-radio-button :label="0">实施中</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="时间">
|
||||
<el-date-picker
|
||||
v-model="timeSlot"
|
||||
type="daterange"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="onSubmit">查询</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<div>
|
||||
<el-button class="carcleButton" @click="addButon">+</el-button>
|
||||
</div>
|
||||
<add-projects v-if="addtModelVisible" @refreshDataList="onSubmit"></add-projects>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
import addProjects from './components/addProjects.vue';
|
||||
|
||||
export default {
|
||||
components: { addProjects },
|
||||
data() {
|
||||
return {
|
||||
urlOptions: {
|
||||
addURL: '/supplier/qmsEvaluationPlan',
|
||||
getProductURL: '/basic/qmsProduct/page',
|
||||
getSupplierURL: '/supplier/qmsSupplier/page',
|
||||
getPageURL: '/supplier/qmsSupplierProjectList/page'
|
||||
},
|
||||
formInline: {
|
||||
limit: 999,
|
||||
page: 1,
|
||||
title: '',
|
||||
productId: '',
|
||||
supplierId: '',
|
||||
ment: undefined,
|
||||
status: 2,
|
||||
startTime: undefined,
|
||||
endTime: undefined
|
||||
},
|
||||
timeSlot: null,
|
||||
productList: [],
|
||||
supplierList: [],
|
||||
tableData: [],
|
||||
dataListLoading: false,
|
||||
addtModelVisible: false
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getProductList();
|
||||
this.getSupplier();
|
||||
},
|
||||
methods: {
|
||||
addButon() {
|
||||
this.addtModelVisible = true
|
||||
},
|
||||
onSubmit() {
|
||||
this.formInline.ment = this.formInline.status === 2 ? undefined : this.formInline.status
|
||||
if (this.timeSlot) {
|
||||
this.formInline.startTime = this.timeSlot[0]
|
||||
this.formInline.endTime = this.timeSlot[1]
|
||||
} else {
|
||||
this.formInline.startTime = undefined
|
||||
this.formInline.endTime = undefined
|
||||
}
|
||||
console.log('nihcdawowk', this.formInline)
|
||||
this.$http
|
||||
.get(this.urlOptions.getPageURL, {
|
||||
params: this.formInline,
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.tableData = [];
|
||||
this.formInline.total = 0;
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.tableData = res.data.list;
|
||||
this.formInline.total = res.data.total;
|
||||
})
|
||||
.catch(() => {
|
||||
this.dataListLoading = false;
|
||||
});
|
||||
},
|
||||
getProductList() {
|
||||
this.$http
|
||||
.get(this.urlOptions.getProductURL, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1
|
||||
},
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.productList = [];
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.productList = res.data.list;
|
||||
})
|
||||
.catch(() => {
|
||||
this.dataListLoading = false;
|
||||
});
|
||||
},
|
||||
getSupplier() {
|
||||
this.$http
|
||||
.get(this.urlOptions.getSupplierURL, {
|
||||
params: {
|
||||
limit: 999,
|
||||
page: 1
|
||||
},
|
||||
})
|
||||
.then(({ data: res }) => {
|
||||
this.dataListLoading = false;
|
||||
if (res.code !== 0) {
|
||||
this.supplierList = [];
|
||||
return this.$message.error(res.msg);
|
||||
}
|
||||
this.supplierList = res.data.list;
|
||||
})
|
||||
.catch(() => {
|
||||
this.dataListLoading = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.carcleButton {
|
||||
border-radius: 50%;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
margin: 5px;
|
||||
background-color: rgb(196, 193, 193);
|
||||
}
|
||||
</style>
|
@ -22,7 +22,7 @@
|
||||
</span>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="captcha">
|
||||
<!-- <el-form-item prop="captcha">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="14">
|
||||
<el-input v-model="dataForm.captcha" :placeholder="$t('login.captcha')">
|
||||
@ -35,7 +35,7 @@
|
||||
<img :src="captchaPath" @click="getCaptcha()">
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="dataFormSubmitHandle()" class="w-percent-100">{{ $t('login.title') }}</el-button>
|
||||
</el-form-item>
|
||||
|
Loading…
Reference in New Issue
Block a user