Compare commits
11 Commits
ae1a9c1883
...
3a39a4fa32
Author | SHA1 | Date | |
---|---|---|---|
|
3a39a4fa32 | ||
|
3c93b8045a | ||
251345fad8 | |||
3e2dd63f36 | |||
b11683e519 | |||
73578abfb4 | |||
185a99ca2c | |||
0405ccfa25 | |||
ec00c58c6c | |||
6a03ac5a9e | |||
a7df5e4bcd |
70
package-lock.json
generated
70
package-lock.json
generated
@ -3201,6 +3201,7 @@
|
|||||||
"thread-loader": "^2.1.3",
|
"thread-loader": "^2.1.3",
|
||||||
"url-loader": "^2.2.0",
|
"url-loader": "^2.2.0",
|
||||||
"vue-loader": "^15.9.2",
|
"vue-loader": "^15.9.2",
|
||||||
|
"vue-loader-v16": "npm:vue-loader@^16.1.0",
|
||||||
"vue-style-loader": "^4.1.2",
|
"vue-style-loader": "^4.1.2",
|
||||||
"webpack": "^4.0.0",
|
"webpack": "^4.0.0",
|
||||||
"webpack-bundle-analyzer": "^3.8.0",
|
"webpack-bundle-analyzer": "^3.8.0",
|
||||||
@ -16945,6 +16946,75 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"vue-loader-v16": {
|
||||||
|
"version": "npm:vue-loader@16.8.3",
|
||||||
|
"resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz",
|
||||||
|
"integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"requires": {
|
||||||
|
"chalk": "^4.1.0",
|
||||||
|
"hash-sum": "^2.0.0",
|
||||||
|
"loader-utils": "^2.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"ansi-styles": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||||
|
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"requires": {
|
||||||
|
"color-convert": "^2.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chalk": {
|
||||||
|
"version": "4.1.2",
|
||||||
|
"resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
|
||||||
|
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"requires": {
|
||||||
|
"ansi-styles": "^4.1.0",
|
||||||
|
"supports-color": "^7.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"color-convert": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"requires": {
|
||||||
|
"color-name": "~1.1.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"color-name": {
|
||||||
|
"version": "1.1.4",
|
||||||
|
"resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
|
||||||
|
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"has-flag": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"supports-color": {
|
||||||
|
"version": "7.2.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
|
||||||
|
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||||
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
|
"requires": {
|
||||||
|
"has-flag": "^4.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"vue-router": {
|
"vue-router": {
|
||||||
"version": "3.0.7",
|
"version": "3.0.7",
|
||||||
"resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-3.0.7.tgz",
|
"resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-3.0.7.tgz",
|
||||||
|
35
src/filters/code-filter.js
Normal file
35
src/filters/code-filter.js
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
|
||||||
|
/*
|
||||||
|
* @Date: 2020-12-29 16:49:28
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2023-01-05 15:49:17
|
||||||
|
* @FilePath: \basic-admin\src\filters\basicData\index.js
|
||||||
|
* @Description:
|
||||||
|
*/
|
||||||
|
import moment from 'moment'
|
||||||
|
|
||||||
|
const table = {
|
||||||
|
eightDisciplineType: {
|
||||||
|
1: '客诉问题',
|
||||||
|
2: '重大质量问题',
|
||||||
|
0: '重复发生问题',
|
||||||
|
},
|
||||||
|
examineStatus: {
|
||||||
|
1: '需要审批',
|
||||||
|
0: '不需要审批',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export function timeFormatter(timeObj) {
|
||||||
|
if (timeObj) {
|
||||||
|
return moment(timeObj).format('YYYY-MM-DD HH:mm:ss')
|
||||||
|
} else {
|
||||||
|
return '-'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default function(dictTable) {
|
||||||
|
return function(val) {
|
||||||
|
return table?.[dictTable]?.[val]
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
import module from './en'
|
import module from './eng'
|
||||||
const t = {}
|
const t = {}
|
||||||
|
|
||||||
t.module = module
|
t.module = module
|
||||||
|
@ -573,13 +573,12 @@ t.code.code = '编码'
|
|||||||
t.code.description = '描述'
|
t.code.description = '描述'
|
||||||
t.code.eightDisciplineType = '8D类型'
|
t.code.eightDisciplineType = '8D类型'
|
||||||
t.code.problemStatus = '状态'
|
t.code.problemStatus = '状态'
|
||||||
t.code.eightDisciplineStatus = '状态'
|
|
||||||
t.code.actualResponsePeriod = '实际响应周期'
|
t.code.actualResponsePeriod = '实际响应周期'
|
||||||
t.code.batchNumber = '批次数'
|
t.code.batchNumber = '批次数'
|
||||||
t.code.customName = '客户'
|
t.code.customName = '客户'
|
||||||
t.code.defectSource = '缺陷来源'
|
t.code.defectSource = '缺陷来源'
|
||||||
t.code.eightDisciplineId = '8D来源id'
|
t.code.eightDisciplineId = '8D来源id'
|
||||||
t.code.eightDisciplineStatus = '8D类型'
|
t.code.eightDisciplineStatus = '8D状态'
|
||||||
t.code.productName = '产品名'
|
t.code.productName = '产品名'
|
||||||
t.code.orderNo = '订单号'
|
t.code.orderNo = '订单号'
|
||||||
t.code.productType = '产品类型'
|
t.code.productType = '产品类型'
|
||||||
@ -646,57 +645,9 @@ t.code.uploaded = '已上传'
|
|||||||
t.code.notUploaded = '未上传'
|
t.code.notUploaded = '未上传'
|
||||||
t.code.Examiner = '检验人'
|
t.code.Examiner = '检验人'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
t.dictionary = {}
|
t.dictionary = {}
|
||||||
t.dictionary.name = ' 名称'
|
t.dictionary.name = ' 名称'
|
||||||
t.dictionary.code = ' 编码'
|
t.dictionary.code = ' 编码'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
export default t
|
export default t
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2022-08-24 11:19:43
|
* @Date: 2022-08-24 11:19:43
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2023-05-16 14:55:04
|
* @LastEditTime: 2023-06-30 15:00:20
|
||||||
* @Description:
|
* @Description:
|
||||||
*/
|
*/
|
||||||
export default {
|
export default {
|
||||||
@ -15,7 +15,6 @@ export default {
|
|||||||
statusUrl: '',
|
statusUrl: '',
|
||||||
exportURL: ''
|
exportURL: ''
|
||||||
},
|
},
|
||||||
addOrEditTitle: '',
|
|
||||||
tableData: [],
|
tableData: [],
|
||||||
listQuery: {
|
listQuery: {
|
||||||
limit: 10,
|
limit: 10,
|
||||||
@ -23,7 +22,10 @@ export default {
|
|||||||
total: 1,
|
total: 1,
|
||||||
},
|
},
|
||||||
dataListLoading: false,
|
dataListLoading: false,
|
||||||
|
addOrEditTitle: '',
|
||||||
addOrUpdateVisible: false,
|
addOrUpdateVisible: false,
|
||||||
|
searchsTitle: '',
|
||||||
|
searchsVisible: false,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@ -71,6 +73,13 @@ export default {
|
|||||||
this.$refs.addOrUpdate.init(id);
|
this.$refs.addOrUpdate.init(id);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
// 条件搜索
|
||||||
|
searchsHandle() {
|
||||||
|
this.searchsVisible = true;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.searchsRef.init();
|
||||||
|
});
|
||||||
|
},
|
||||||
cancel(id) {
|
cancel(id) {
|
||||||
this.$refs["popover-" + id].showPopper = false;
|
this.$refs["popover-" + id].showPopper = false;
|
||||||
},
|
},
|
||||||
@ -158,13 +167,26 @@ export default {
|
|||||||
this.addOrUpdateVisible = false
|
this.addOrUpdateVisible = false
|
||||||
this.addOrEditTitle = ''
|
this.addOrEditTitle = ''
|
||||||
},
|
},
|
||||||
|
searchsCancel(){
|
||||||
|
this.$refs.searchsRef.formClear()
|
||||||
|
this.searchsVisible = false
|
||||||
|
this.searchsTitle = ''
|
||||||
|
},
|
||||||
handleConfirm() {
|
handleConfirm() {
|
||||||
this.$refs.addOrUpdate.dataFormSubmit()
|
this.$refs.addOrUpdate.dataFormSubmit()
|
||||||
},
|
},
|
||||||
|
searchsConfirm(){
|
||||||
|
this.$refs.searchsRef.dataFormSubmit()
|
||||||
|
},
|
||||||
successSubmit() {
|
successSubmit() {
|
||||||
this.handleCancel()
|
this.handleCancel()
|
||||||
this.getDataList()
|
this.getDataList()
|
||||||
},
|
},
|
||||||
|
searchsSubmit(obj){
|
||||||
|
this.listQuery = {...this.listQuery,...obj}
|
||||||
|
this.searchsCancel()
|
||||||
|
this.getDataList()
|
||||||
|
},
|
||||||
// 导出
|
// 导出
|
||||||
exportHandle(name) {
|
exportHandle(name) {
|
||||||
this.$http
|
this.$http
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-02-14 15:02:26
|
* @Date: 2023-02-14 15:02:26
|
||||||
* @LastEditTime: 2023-06-26 09:44:09
|
* @LastEditTime: 2023-06-30 16:58:55
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -20,7 +20,7 @@
|
|||||||
<el-switch v-model="dataForm.incomingInspection" :active-value="1" :inactive-value="0">
|
<el-switch v-model="dataForm.incomingInspection" :active-value="1" :inactive-value="0">
|
||||||
</el-switch>
|
</el-switch>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="finishInspection" :label="$t('basic.stock')">
|
<el-form-item prop="finishInspection" :label="$t('basic.finishedProduct')">
|
||||||
<el-switch v-model="dataForm.finishInspection" :active-value="1" :inactive-value="0">
|
<el-switch v-model="dataForm.finishInspection" :active-value="1" :inactive-value="0">
|
||||||
</el-switch>
|
</el-switch>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -32,8 +32,8 @@
|
|||||||
<el-switch v-model="dataForm.processInspection" :active-value="1" :inactive-value="0">
|
<el-switch v-model="dataForm.processInspection" :active-value="1" :inactive-value="0">
|
||||||
</el-switch>
|
</el-switch>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="customerTypeStatus" :label="$t('basic.status')">
|
<el-form-item prop="controlStatus" :label="$t('basic.status')">
|
||||||
<el-select v-model="dataForm.customerTypeStatus" :placeholder="$t('basic.status')">
|
<el-select v-model="dataForm.controlStatus" :placeholder="$t('basic.status')">
|
||||||
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -49,8 +49,8 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
urlOptions: {
|
urlOptions: {
|
||||||
submitURL: "/basic/qmsCustomerType",
|
submitURL: "/basic/qmsControlMode",
|
||||||
infoURL: "/basic/qmsCustomerType/{id}",
|
infoURL: "/basic/qmsControlMode/{id}",
|
||||||
getCodeURL: '/basic/qmsControlMode/getCode'
|
getCodeURL: '/basic/qmsControlMode/getCode'
|
||||||
},
|
},
|
||||||
options: [{
|
options: [{
|
||||||
@ -66,7 +66,7 @@ export default {
|
|||||||
id: "",
|
id: "",
|
||||||
controlCode:null,
|
controlCode:null,
|
||||||
controlName:null,
|
controlName:null,
|
||||||
customerTypeStatus: null,
|
controlStatus: null,
|
||||||
finishInspection: null,
|
finishInspection: null,
|
||||||
incomingInspection: null,
|
incomingInspection: null,
|
||||||
outInspection: null,
|
outInspection: null,
|
||||||
@ -106,13 +106,14 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
init(id, ) {
|
init(id, ) {
|
||||||
this.dataForm.id = id || ""
|
this.dataForm.id = id || ""
|
||||||
this.getControlCode()
|
|
||||||
// this.dataForm.dictTypeId = dictTypeId || "";
|
// this.dataForm.dictTypeId = dictTypeId || "";
|
||||||
this.visible = true
|
this.visible = true
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs["dataForm"].resetFields();
|
this.$refs["dataForm"].resetFields();
|
||||||
if (this.dataForm.id) {
|
if (this.dataForm.id) {
|
||||||
this.getInfo();
|
this.getInfo();
|
||||||
|
} else {
|
||||||
|
this.getControlCode()
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2023-01-04 10:29:40
|
* @Date: 2023-01-04 10:29:40
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @LastEditTime: 2023-02-20 08:52:46
|
* @LastEditTime: 2023-06-29 16:59:18
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -126,7 +126,7 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleConditionSearch() {
|
handleConditionSearch() {
|
||||||
this.$emit("successSubmit", this.dataForm.key);
|
this.$emit("successSubmit", this.dataForm);
|
||||||
},
|
},
|
||||||
// dataFormSubmitHandle: debounce(
|
// dataFormSubmitHandle: debounce(
|
||||||
// function () {
|
// function () {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-01-31 09:49:36
|
* @Date: 2023-01-31 09:49:36
|
||||||
* @LastEditTime: 2023-05-17 15:00:50
|
* @LastEditTime: 2023-06-30 16:54:37
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -22,6 +22,7 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
// injectData:{},
|
||||||
urlOptions: {
|
urlOptions: {
|
||||||
syncURL: "/basic/qmsProduct/connectAllProduct"
|
syncURL: "/basic/qmsProduct/connectAllProduct"
|
||||||
},
|
},
|
||||||
@ -30,21 +31,23 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
// 子级
|
// 子级
|
||||||
emitClick() {
|
emitClick() {
|
||||||
|
console.log(this.injectData)
|
||||||
const data = {
|
const data = {
|
||||||
id: this.injectData.id,
|
id: this.injectData.id,
|
||||||
finishInspection: this.injectData.finishInspection,
|
finishInspection: this.injectData.finishInspection,
|
||||||
incomingInspection: this.injectData.incomingInspection,
|
incomingInspection: this.injectData.incomingInspection,
|
||||||
outInspection: this.injectData.outInspection,
|
outInspection: this.injectData.outInspection,
|
||||||
processInspection: this.injectData.outInspection
|
processInspection: this.injectData.processInspection
|
||||||
}
|
}
|
||||||
this.$http.put(this.urlOptions.syncURL, { data }).then(({ data }) => {
|
this.$http.put(this.urlOptions.syncURL, data ).then(({ data }) => {
|
||||||
if (data && data.code === 0) {
|
if (data && data.code === 0) {
|
||||||
this.$message({
|
this.$message({
|
||||||
message: "操作成功",
|
message: "操作成功",
|
||||||
type: "success",
|
type: "success",
|
||||||
duration: 1500,
|
duration: 1500,
|
||||||
onClose: () => {
|
onClose: () => {
|
||||||
this.$message.error(data.msg);
|
this.$message.error(data.msg)
|
||||||
|
// this.$parent.$parent.$parent.$parent.getDataList()
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-02-14 15:02:26
|
* @Date: 2023-02-14 15:02:26
|
||||||
* @LastEditTime: 2023-04-04 15:35:31
|
* @LastEditTime: 2023-06-30 08:57:14
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -42,8 +42,8 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
urlOptions: {
|
urlOptions: {
|
||||||
submitURL: "/basic/qmsProductType",
|
submitURL: "/basic/qmsProduct",
|
||||||
infoURL: "/basic/qmsProductType/{id}",
|
infoURL: "/basic/qmsProduct/{id}",
|
||||||
getCodeURL: '/basic/qmsProduct/getCode',
|
getCodeURL: '/basic/qmsProduct/getCode',
|
||||||
getTypeListURL: '/basic/qmsProductType/page'
|
getTypeListURL: '/basic/qmsProductType/page'
|
||||||
},
|
},
|
||||||
@ -111,7 +111,7 @@ export default {
|
|||||||
.then(({ data: res }) => {
|
.then(({ data: res }) => {
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
console.log(res);
|
console.log(res);
|
||||||
this.dataForm.productTypeCode = res.data
|
this.dataForm.productCode = res.data
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
@ -130,7 +130,7 @@ export default {
|
|||||||
// 获取信息
|
// 获取信息
|
||||||
getInfo() {
|
getInfo() {
|
||||||
this.$http
|
this.$http
|
||||||
.get(`/basic/qmsProductType/${this.dataForm.id}`)
|
.get(`/basic/qmsProduct/${this.dataForm.id}`)
|
||||||
.then(({ data: res }) => {
|
.then(({ data: res }) => {
|
||||||
if (res.code !== 0) {
|
if (res.code !== 0) {
|
||||||
return this.$message.error(res.msg);
|
return this.$message.error(res.msg);
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-01-31 14:12:10
|
* @Date: 2023-01-31 14:12:10
|
||||||
* @LastEditTime: 2023-01-31 16:47:32
|
* @LastEditTime: 2023-06-30 17:00:43
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<span>
|
<span>
|
||||||
<el-radio v-model="injectData.incomingInspection" :label="1">{{ $t('basic.stock') }}</el-radio>
|
<el-radio v-model="injectData.incomingInspection" :label="1">{{ $t('basic.stock') }}</el-radio>
|
||||||
<el-radio v-model="injectData.processInspection" :label="1">{{ $t('basic.course') }}</el-radio>
|
|
||||||
<el-radio v-model="injectData.finishInspection" :label="1">{{ $t('basic.finishedProduct') }}</el-radio>
|
<el-radio v-model="injectData.finishInspection" :label="1">{{ $t('basic.finishedProduct') }}</el-radio>
|
||||||
<el-radio v-model="injectData.outInspection" :label="1">{{ $t('basic.shipment') }}</el-radio>
|
<el-radio v-model="injectData.outInspection" :label="1">{{ $t('basic.shipment') }}</el-radio>
|
||||||
|
<el-radio v-model="injectData.processInspection" :label="1">{{ $t('basic.course') }}</el-radio>
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2023-01-04 10:29:40
|
* @Date: 2023-01-04 10:29:40
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @LastEditTime: 2023-02-14 14:12:11
|
* @LastEditTime: 2023-06-30 16:39:46
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -122,7 +122,7 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
init(data) {
|
init(data) {
|
||||||
console.log();
|
console.log(data)
|
||||||
// this.dataForm.id = id || "";
|
// this.dataForm.id = id || "";
|
||||||
this.productData = data? data: {}
|
this.productData = data? data: {}
|
||||||
this.visible = true;
|
this.visible = true;
|
||||||
@ -130,23 +130,28 @@ export default {
|
|||||||
this.listQuery.controllerModeId = data ? data.id : null;
|
this.listQuery.controllerModeId = data ? data.id : null;
|
||||||
// this.$refs["dataForm"].resetFields();
|
// this.$refs["dataForm"].resetFields();
|
||||||
// if (this.dataForm.id) {
|
// if (this.dataForm.id) {
|
||||||
this.getDataList();
|
this.getDataList()
|
||||||
// }
|
// }
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
handleClick() {
|
handleClick(val) {
|
||||||
|
console.log(val)
|
||||||
if (val.type === "synchronous") {
|
if (val.type === "synchronous") {
|
||||||
if (!this.listQuery.controllerModeId) {
|
console.log(val)
|
||||||
|
console.log(this.listQuery.controllerModeId)
|
||||||
|
if (!this.listQuery.controllerModeId === null) {
|
||||||
this.$message({
|
this.$message({
|
||||||
message: '请先选择控制模式',
|
message: '请先选择控制模式',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
const data={
|
const data = {
|
||||||
controlCodeId: this.listQuery.controlCodeId,
|
id:val.data.id,
|
||||||
|
controlCodeId: this.listQuery.controllerModeId,
|
||||||
finishInspection: this.productData.finishInspection,
|
finishInspection: this.productData.finishInspection,
|
||||||
incomingInspection: this.productData.finishInspection,
|
incomingInspection: this.productData.incomingInspection,
|
||||||
processInspection: this.productData.processInspection
|
processInspection: this.productData.processInspection,
|
||||||
|
outInspection: this.productData.outInspection
|
||||||
}
|
}
|
||||||
this.$http['put']('/basic/qmsProduct',data).then(({ data: res }) => {
|
this.$http['put']('/basic/qmsProduct',data).then(({ data: res }) => {
|
||||||
if (res.code !== 0) {
|
if (res.code !== 0) {
|
||||||
@ -157,8 +162,9 @@ export default {
|
|||||||
type: 'success',
|
type: 'success',
|
||||||
duration: 500,
|
duration: 500,
|
||||||
onClose: () => {
|
onClose: () => {
|
||||||
this.visible = false
|
this.$nextTick(() => {
|
||||||
this.$emit('refreshDataList')
|
this.getDataList()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}).catch(() => { })
|
}).catch(() => { })
|
||||||
@ -170,10 +176,12 @@ export default {
|
|||||||
// });
|
// });
|
||||||
} else if (val.type === 'cancel') {
|
} else if (val.type === 'cancel') {
|
||||||
const data = {
|
const data = {
|
||||||
controlCodeId: null,
|
id: val.data.id,
|
||||||
finishInspection: null,
|
controlCodeId: 0,
|
||||||
incomingInspection: null,
|
finishInspection: 0,
|
||||||
processInspection: null
|
incomingInspection: 0,
|
||||||
|
processInspection: 0,
|
||||||
|
outInspection:0
|
||||||
}
|
}
|
||||||
this.$http['put']('/basic/qmsProduct', data).then(({ data: res }) => {
|
this.$http['put']('/basic/qmsProduct', data).then(({ data: res }) => {
|
||||||
if (res.code !== 0) {
|
if (res.code !== 0) {
|
||||||
@ -184,8 +192,10 @@ export default {
|
|||||||
type: 'success',
|
type: 'success',
|
||||||
duration: 500,
|
duration: 500,
|
||||||
onClose: () => {
|
onClose: () => {
|
||||||
this.visible = false
|
this.$nextTick(() => {
|
||||||
this.$emit('refreshDataList')
|
this.getDataList()
|
||||||
|
})
|
||||||
|
// this.$emit('refreshDataList')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}).catch(() => { })
|
}).catch(() => { })
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-02-14 15:02:26
|
* @Date: 2023-02-14 15:02:26
|
||||||
* @LastEditTime: 2023-06-26 15:01:44
|
* @LastEditTime: 2023-06-30 09:58:35
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -33,9 +33,6 @@ export default {
|
|||||||
chooseData: [],
|
chooseData: [],
|
||||||
urlOptions: {
|
urlOptions: {
|
||||||
submitURL: "/basic/qmsCustomer",
|
submitURL: "/basic/qmsCustomer",
|
||||||
getCustomerPageListURL: "/basic/qmsCustomerType/page",
|
|
||||||
infoURL: "/basic/qmsCustomer/{id}",
|
|
||||||
getCodeURL: '/basic/qmsCustomer/getCode',
|
|
||||||
getTeamMemberURL: '/basic/qmsTeamMember/page',
|
getTeamMemberURL: '/basic/qmsTeamMember/page',
|
||||||
getUserListURL: '/sys/user/page',
|
getUserListURL: '/sys/user/page',
|
||||||
editTeamMemberListURL: '/basic/qmsTeamMember'
|
editTeamMemberListURL: '/basic/qmsTeamMember'
|
||||||
@ -84,10 +81,40 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
destroyed() {
|
||||||
|
this.notChooseData = []
|
||||||
|
this.chooseData = []
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
init(id,) {
|
init(id,) {
|
||||||
this.teamId = id || ""
|
this.teamId = id || ""
|
||||||
|
this.notChooseData = []
|
||||||
|
this.chooseData = []
|
||||||
// this.dataForm.dictTypeId = dictTypeId || "";
|
// this.dataForm.dictTypeId = dictTypeId || "";
|
||||||
|
// this.$http
|
||||||
|
// .get(this.urlOptions.getTeamMemberURL, {
|
||||||
|
// params: {
|
||||||
|
// teamId: id
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
// .then(({ data: res }) => {
|
||||||
|
// console.log(res)
|
||||||
|
// this.dataListLoading = false;
|
||||||
|
// if (res.code === 0) {
|
||||||
|
// var data = res.data.memberDTOS
|
||||||
|
// for (let i = 0; i < data.length; i++) {
|
||||||
|
// this.chooseData.push(data[i].userId)
|
||||||
|
// }
|
||||||
|
// this.notChooseData = res.data.undefinedUserDTOS.map((item) => {
|
||||||
|
// return {
|
||||||
|
// key: item.id,
|
||||||
|
// label: item.userName
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
// console.log(this.chooseData)
|
||||||
|
// console.log(this.notChooseData)
|
||||||
|
// }
|
||||||
|
// })
|
||||||
this.$http
|
this.$http
|
||||||
.get(this.urlOptions.getTeamMemberURL, {
|
.get(this.urlOptions.getTeamMemberURL, {
|
||||||
params: {
|
params: {
|
||||||
@ -179,6 +206,8 @@ export default {
|
|||||||
duration: 500,
|
duration: 500,
|
||||||
onClose: () => {
|
onClose: () => {
|
||||||
this.visible = false
|
this.visible = false
|
||||||
|
this.notChooseData = []
|
||||||
|
this.chooseData = []
|
||||||
this.$emit("refreshDataList")
|
this.$emit("refreshDataList")
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@ -21,12 +21,12 @@
|
|||||||
</base-dialog>
|
</base-dialog>
|
||||||
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
||||||
@confirm="handleConfirm" :before-close="handleCancel">
|
@confirm="handleConfirm" :before-close="handleCancel">
|
||||||
<control-add ref="addOrUpdate" @successSubmit="successSubmit"></control-add>
|
<control-add ref="addOrUpdate" @refreshDataList="successSubmit"></control-add>
|
||||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||||
</base-dialog>
|
</base-dialog>
|
||||||
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||||
<control-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit"></control-search>
|
<control-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit"></control-search>
|
||||||
<el-row slot="footer" type="flex" justify="end">
|
<el-row slot="footer" type="flex" justify="end">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-button size="small" type="primary" plain class="btnTextStyle" @click="handleSearchCancel">
|
<el-button size="small" type="primary" plain class="btnTextStyle" @click="handleSearchCancel">
|
||||||
@ -189,12 +189,10 @@ export default {
|
|||||||
// },
|
// },
|
||||||
// conditionSearchSubmit() {},
|
// conditionSearchSubmit() {},
|
||||||
conditionSearchSubmit(key) {
|
conditionSearchSubmit(key) {
|
||||||
// console.log(key);
|
this.listQuery.key = key
|
||||||
console.log(key);
|
this.listQuery.page = 1
|
||||||
this.listQuery.key = key;
|
this.getDataList(key)
|
||||||
this.listQuery.page = 1;
|
this.searchOrUpdateVisible = false
|
||||||
this.getDataList(key);
|
|
||||||
this.searchOrUpdateVisible = false;
|
|
||||||
// console.log(11111);
|
// console.log(11111);
|
||||||
// this.conditionSearchSubmit();
|
// this.conditionSearchSubmit();
|
||||||
},
|
},
|
||||||
@ -247,14 +245,14 @@ export default {
|
|||||||
this.getDataList();
|
this.getDataList();
|
||||||
break;
|
break;
|
||||||
case "correlation":
|
case "correlation":
|
||||||
this.productOrEditTitle = "产品";
|
this.productOrEditTitle = "产品"
|
||||||
this.productOrUpdateVisible = true;
|
this.productOrUpdateVisible = true
|
||||||
// this.searchOrUpdateHandle(this.productData);
|
// this.searchOrUpdateHandle(this.productData);
|
||||||
// this.searchOrUpdateVisible = true;
|
// this.searchOrUpdateVisible = true;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.productOrUpdate.init(this.productData);
|
this.$refs.productOrUpdate.init(this.productData)
|
||||||
});
|
});
|
||||||
console.log(this.productId);
|
// console.log(this.productId);
|
||||||
break;
|
break;
|
||||||
case "add":
|
case "add":
|
||||||
this.addOrEditTitle = '新增'
|
this.addOrEditTitle = '新增'
|
||||||
|
@ -83,7 +83,7 @@ export default {
|
|||||||
return {
|
return {
|
||||||
urlOptions: {
|
urlOptions: {
|
||||||
getDataListURL: "/basic/qmsCustomer/page",
|
getDataListURL: "/basic/qmsCustomer/page",
|
||||||
deleteURL: "/basic/qmsCustomerType",
|
deleteURL: "/basic/qmsCustomer",
|
||||||
exportURL: '/basic/qmsCustomer/export'
|
exportURL: '/basic/qmsCustomer/export'
|
||||||
},
|
},
|
||||||
tableProps,
|
tableProps,
|
||||||
@ -166,7 +166,7 @@ export default {
|
|||||||
// console.log(11111);
|
// console.log(11111);
|
||||||
// this.conditionSearchSubmit();
|
// this.conditionSearchSubmit();
|
||||||
},
|
},
|
||||||
handleClick() {
|
handleClick(val) {
|
||||||
console.log(val);
|
console.log(val);
|
||||||
if (val.type === "delete") {
|
if (val.type === "delete") {
|
||||||
this.$confirm(`确定对[名称=${val.data.customerName}]进行删除操作?`, "提示", {
|
this.$confirm(`确定对[名称=${val.data.customerName}]进行删除操作?`, "提示", {
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
</base-dialog>
|
</base-dialog>
|
||||||
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||||
<customerType-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit"></customerType-search>
|
<customerType-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit"></customerType-search>
|
||||||
<el-row slot="footer" type="flex" justify="end">
|
<el-row slot="footer" type="flex" justify="end">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-button size="small" type="primary" plain class="btnTextStyle" @click="handleSearchCancel">
|
<el-button size="small" type="primary" plain class="btnTextStyle" @click="handleSearchCancel">
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-01-11 09:24:58
|
* @Date: 2023-01-11 09:24:58
|
||||||
* @LastEditTime: 2023-06-20 15:37:39
|
* @LastEditTime: 2023-06-29 17:02:33
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -27,7 +27,7 @@
|
|||||||
</base-dialog>
|
</base-dialog>
|
||||||
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
<base-dialog :dialogTitle="searchOrEditTitle" :dialogVisible="searchOrUpdateVisible" @cancel="handleSearchCancel"
|
||||||
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
@confirm="handleSearchConfirm" :before-close="handleSearchCancel">
|
||||||
<failureType-search ref="searchOrUpdate" @refreshDataList="conditionSearchSubmit"></failureType-search>
|
<failureType-search ref="searchOrUpdate" @successSubmit="conditionSearchSubmit"></failureType-search>
|
||||||
<el-row slot="footer" type="flex" justify="end">
|
<el-row slot="footer" type="flex" justify="end">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-button size="small" type="primary" plain class="btnTextStyle" @click="handleSearchCancel">
|
<el-button size="small" type="primary" plain class="btnTextStyle" @click="handleSearchCancel">
|
||||||
|
@ -158,7 +158,7 @@ export default {
|
|||||||
this.searchOrEditTitle = "搜索";
|
this.searchOrEditTitle = "搜索";
|
||||||
this.searchOrUpdateVisible = true;
|
this.searchOrUpdateVisible = true;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.searchOrUpdate.init();
|
this.$refs.searchOrUpdate.init()
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// handleConfirm() {
|
// handleConfirm() {
|
||||||
@ -171,7 +171,7 @@ export default {
|
|||||||
this.listQuery.productName = dataForm.productName
|
this.listQuery.productName = dataForm.productName
|
||||||
this.listQuery.productCode = dataForm.productCode
|
this.listQuery.productCode = dataForm.productCode
|
||||||
this.listQuery.page = 1;
|
this.listQuery.page = 1;
|
||||||
this.getDataList();
|
this.getDataList()
|
||||||
this.searchOrUpdateVisible = false;
|
this.searchOrUpdateVisible = false;
|
||||||
// console.log(11111);
|
// console.log(11111);
|
||||||
// this.conditionSearchSubmit();
|
// this.conditionSearchSubmit();
|
||||||
@ -219,7 +219,8 @@ export default {
|
|||||||
switch (val.btnName) {
|
switch (val.btnName) {
|
||||||
case "search":
|
case "search":
|
||||||
// this.listQuery.paramCode = val.paramCode;
|
// this.listQuery.paramCode = val.paramCode;
|
||||||
this.listQuery.key = null;
|
this.listQuery.productName = null
|
||||||
|
this.listQuery.productCode = null
|
||||||
// console.log(i18n);
|
// console.log(i18n);
|
||||||
this.listQuery.page = 1;
|
this.listQuery.page = 1;
|
||||||
this.getDataList();
|
this.getDataList();
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<span>
|
<span>
|
||||||
<el-tag v-if="injectData.problemStatus === 1" type="success">可用</el-tag>
|
<el-tag v-if="injectData.eightDisciplineStatus === 1" type="success">可用</el-tag>
|
||||||
<el-tag v-else type="warning">不可用</el-tag>
|
<el-tag v-else type="warning">不可用</el-tag>
|
||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-02-14 15:02:26
|
* @Date: 2023-02-14 15:02:26
|
||||||
* @LastEditTime: 2023-06-01 14:22:21
|
* @LastEditTime: 2023-06-28 16:51:03
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zwq
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -48,15 +48,15 @@ export default {
|
|||||||
}],
|
}],
|
||||||
eightDisciplineTypeList: [
|
eightDisciplineTypeList: [
|
||||||
{
|
{
|
||||||
value: 0,
|
value: '0',
|
||||||
label: '重复发生问题 '
|
label: '重复发生问题 '
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 1,
|
value: '1',
|
||||||
label: '1客诉问题'
|
label: '客诉问题'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 2,
|
value: '2',
|
||||||
label: '重大质量问题'
|
label: '重大质量问题'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@ -66,7 +66,7 @@ export default {
|
|||||||
name: null,
|
name: null,
|
||||||
code:null,
|
code:null,
|
||||||
eightDisciplineType:null,
|
eightDisciplineType:null,
|
||||||
eightDisciplineStatus: null,
|
eightDisciplineStatus: 0,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
37
src/views/modules/code/components/inputArea.vue
Normal file
37
src/views/modules/code/components/inputArea.vue
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
<template>
|
||||||
|
<div class="tableInner">
|
||||||
|
<el-input v-model="list[itemProp]" @blur="changeInput" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "InputArea",
|
||||||
|
props: {
|
||||||
|
injectData: {
|
||||||
|
type: Object,
|
||||||
|
default: () => ({}),
|
||||||
|
},
|
||||||
|
itemProp: {
|
||||||
|
type: String,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
list: this.injectData,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
changeInput() {
|
||||||
|
this.list.sType = 1
|
||||||
|
this.$emit("emitData", this.list,1);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
.tableInner .el-input__inner {
|
||||||
|
border: none;
|
||||||
|
padding: 0;
|
||||||
|
height: 33px;
|
||||||
|
}
|
||||||
|
</style>
|
45
src/views/modules/code/components/selectMember.vue
Normal file
45
src/views/modules/code/components/selectMember.vue
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
<template>
|
||||||
|
<div class="tableInner">
|
||||||
|
<el-select v-model="list.string" @change="changeInput">
|
||||||
|
<el-option
|
||||||
|
v-for="item in injectData.roleList"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.username"
|
||||||
|
:value="item.id + '+' + item.username"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "InputArea",
|
||||||
|
props: {
|
||||||
|
injectData: {
|
||||||
|
type: Object,
|
||||||
|
default: () => ({}),
|
||||||
|
},
|
||||||
|
itemProp: {
|
||||||
|
type: String,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
list: this.injectData,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
changeInput() {
|
||||||
|
this.list.sType = 2
|
||||||
|
this.$emit("emitData", this.list);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
.tableInner .el-input__inner {
|
||||||
|
border: none;
|
||||||
|
padding: 0;
|
||||||
|
height: 33px;
|
||||||
|
}
|
||||||
|
</style>
|
47
src/views/modules/code/components/selectTime.vue
Normal file
47
src/views/modules/code/components/selectTime.vue
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
<template>
|
||||||
|
<div class="tableInner">
|
||||||
|
<el-date-picker
|
||||||
|
@change="changeInput"
|
||||||
|
v-model="list.time"
|
||||||
|
type="date"
|
||||||
|
size="mini"
|
||||||
|
:style="{width:'100%'}"
|
||||||
|
format='yyyy-MM-dd'
|
||||||
|
valueFormat='yyyy-MM-ddTHH:mm:ss'
|
||||||
|
prefix-icon="none"
|
||||||
|
placeholder="选择日期">
|
||||||
|
</el-date-picker>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "InputArea",
|
||||||
|
props: {
|
||||||
|
injectData: {
|
||||||
|
type: Object,
|
||||||
|
default: () => ({}),
|
||||||
|
},
|
||||||
|
itemProp: {
|
||||||
|
type: String,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
list: this.injectData,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
changeInput() {
|
||||||
|
this.list.sType = 3
|
||||||
|
this.$emit("emitData", this.list);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
.tableInner .el-input__inner {
|
||||||
|
border: none;
|
||||||
|
padding: 0;
|
||||||
|
height: 33px;
|
||||||
|
}
|
||||||
|
</style>
|
@ -1,137 +1,193 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-02-14 15:02:26
|
* @Date: 2023-02-14 15:02:26
|
||||||
* @LastEditTime: 2023-06-01 16:26:20
|
* @LastEditTime: 2023-06-29 10:54:23
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zwq
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<el-form :model="dataForm" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" label-width="130px">
|
<el-form
|
||||||
|
:model="dataForm"
|
||||||
|
ref="dataForm"
|
||||||
|
@keyup.enter.native="dataFormSubmitHandle()"
|
||||||
|
label-width="100px"
|
||||||
|
>
|
||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item prop="code" :label="$t('basic.code')">
|
<el-form-item prop="code" :label="$t('basic.code')">
|
||||||
<el-input v-model="dataForm.code" :placeholder="$t('basic.code')">
|
<el-input v-model="dataForm.code" :placeholder="$t('basic.code')"> </el-input>
|
||||||
</el-input>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item prop="title" :label="$t('basic.title')">
|
<el-form-item prop="title" :label="$t('code.title')">
|
||||||
<el-input v-model="dataForm.title" :placeholder="$t('code.title')"></el-input>
|
<el-input v-model="dataForm.title" :placeholder="$t('code.title')"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item prop="eightDisciplineType" :label="$t('code.eightDisciplineType')">
|
<el-form-item prop="eightDisciplineType" :label="$t('code.eightDisciplineType')">
|
||||||
<el-select v-model="dataForm.eightDisciplineType" :placeholder="$t('code.eightDisciplineType')">
|
<el-select
|
||||||
<el-option v-for="item in eightDisciplineTypeList" :key="item.value" :label="item.label"
|
:style="{ width: '100%' }"
|
||||||
:value="item.value">
|
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-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="24">
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item prop="occurrenceDate" :label="$t('code.occurrenceDate')">
|
|
||||||
<el-date-picker v-model="dataForm.occurrenceDate" type="datetime" :placeholder="$t('code.occurrenceDate')"
|
|
||||||
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="requestResponseCycle" :label="$t('code.requestResponseCycle')">
|
|
||||||
<el-input v-model="dataForm.requestResponseCycle" :placeholder="$t('code.requestResponseCycle')"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item prop="finalCompletionDate" :label="$t('code.finalCompletionDate')">
|
|
||||||
<el-date-picker v-model="dataForm.finalCompletionDate" type="datetime"
|
|
||||||
:placeholder="$t('code.finalCompletionDate')" format='yyyy-MM-dd HH:mm:ss'
|
|
||||||
valueFormat='yyyy-MM-ddTHH:mm:ss'>
|
|
||||||
</el-date-picker>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row :gutter="24">
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item prop="sampleAcceptanceTime" :label="$t('code.sampleAcceptanceTime')">
|
|
||||||
<el-date-picker v-model="dataForm.sampleAcceptanceTime" type="datetime"
|
|
||||||
:placeholder="$t('code.sampleAcceptanceTime')" 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="defectSourceId" :label="$t('code.defectSource')">
|
|
||||||
<el-select v-model="dataForm.defectSourceId" :placeholder="$t('code.defectSource')">
|
|
||||||
<el-option v-for="item in defectList" :key="item.dictTypeId" :label="item.dictLabel"
|
|
||||||
:value="item.dictTypeId">
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item prop="actualResponsePeriod" :label="$t('code.actualResponsePeriod')">
|
|
||||||
<el-input v-model="dataForm.actualResponsePeriod" :placeholder="$t('code.requestResponseCycle')"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item prop="orderNo" :label="$t('code.orderNo')">
|
<el-form-item prop="orderNo" :label="$t('code.orderNo')">
|
||||||
<el-input v-model="dataForm.orderNo" :placeholder="$t('code.orderNo')"></el-input>
|
<el-input v-model="dataForm.orderNo" :placeholder="$t('code.orderNo')"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item prop="requestResponseCycle" :label="$t('code.requestResponseCycle')">
|
||||||
|
<el-input
|
||||||
|
v-model="dataForm.requestResponseCycle"
|
||||||
|
:placeholder="$t('code.requestResponseCycle')"
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item prop="batchNumber" :label="$t('code.batchNumber')">
|
<el-form-item prop="batchNumber" :label="$t('code.batchNumber')">
|
||||||
<el-input v-model="dataForm.batchNumber" :placeholder="$t('code.batchNumber')"></el-input>
|
<el-input v-model="dataForm.batchNumber" :placeholder="$t('code.batchNumber')"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row :gutter="24">
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item prop="responsibilityAttributionId" :label="$t('code.responsibilityAttribution')">
|
<el-form-item prop="sampleAcceptanceTime" :label="$t('code.sampleAcceptanceTime')">
|
||||||
<el-select v-model="dataForm.responsibilityAttributionId" :placeholder="$t('code.responsibilityAttribution')">
|
<el-date-picker
|
||||||
<el-option v-for="item in dutyList" :key="item.dictTypeId" :label="item.dictLabel" :value="item.dictTypeId">
|
:style="{ width: '100%' }"
|
||||||
|
v-model="dataForm.sampleAcceptanceTime"
|
||||||
|
type="datetime"
|
||||||
|
:placeholder="$t('code.sampleAcceptanceTime')"
|
||||||
|
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="defectSourceId" :label="$t('code.defectSource')">
|
||||||
|
<el-select
|
||||||
|
:style="{ width: '100%' }"
|
||||||
|
v-model="dataForm.defectSourceId"
|
||||||
|
:placeholder="$t('code.defectSource')"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in defectList"
|
||||||
|
:key="item.dictTypeId"
|
||||||
|
:label="item.dictLabel"
|
||||||
|
:value="item.dictTypeId"
|
||||||
|
>
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item prop="actualResponsePeriod" :label="$t('code.actualResponsePeriod')">
|
||||||
|
<el-input
|
||||||
|
v-model="dataForm.actualResponsePeriod"
|
||||||
|
:placeholder="$t('code.requestResponseCycle')"
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item prop="occurrenceDate" :label="$t('code.occurrenceDate')">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="dataForm.occurrenceDate"
|
||||||
|
type="datetime"
|
||||||
|
:style="{ width: '100%' }"
|
||||||
|
:placeholder="$t('code.occurrenceDate')"
|
||||||
|
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="responsibilityAttributionId"
|
||||||
|
:label="$t('code.responsibilityAttribution')"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
:style="{ width: '100%' }"
|
||||||
|
v-model="dataForm.responsibilityAttributionId"
|
||||||
|
:placeholder="$t('code.responsibilityAttribution')"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in dutyList"
|
||||||
|
:key="item.dictTypeId"
|
||||||
|
:label="item.dictLabel"
|
||||||
|
:value="item.dictTypeId"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item prop="finalCompletionDate" :label="$t('code.finalCompletionDate')">
|
||||||
|
<el-date-picker
|
||||||
|
:style="{ width: '100%' }"
|
||||||
|
v-model="dataForm.finalCompletionDate"
|
||||||
|
type="datetime"
|
||||||
|
:placeholder="$t('code.finalCompletionDate')"
|
||||||
|
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="examineStatus" :label="$t('code.examineStatus')">
|
||||||
|
<el-select
|
||||||
|
:style="{ width: '100%' }"
|
||||||
|
v-model="dataForm.examineStatus"
|
||||||
|
:placeholder="$t('code.examineStatus')">
|
||||||
|
<el-option
|
||||||
|
v-for="item in examineStatusList"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.id"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col> -->
|
||||||
|
</el-row>
|
||||||
|
<el-row :gutter="24">
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item prop="teamList" :label="$t('code.eightDTeam')">
|
||||||
|
<el-select
|
||||||
|
:style="{ width: '100%' }"
|
||||||
|
v-model="dataForm.teamList"
|
||||||
|
:placeholder="$t('code.eightDTeam')"
|
||||||
|
multiple>
|
||||||
|
<el-option
|
||||||
|
v-for="item in teamList"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.teamName"
|
||||||
|
:value="item.id"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item prop="description" :label="$t('code.description')">
|
<el-form-item prop="description" :label="$t('code.description')">
|
||||||
<el-input v-model="dataForm.description" :placeholder="$t('code.description')"></el-input>
|
<el-input v-model="dataForm.description" :placeholder="$t('code.description')"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item prop="batchNumber" :label="$t('code.batchNumber')">
|
|
||||||
<el-input v-model="dataForm.batchNumber" :placeholder="$t('code.batchNumber')"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item prop="responsibilityAttributionId" :label="$t('code.responsibilityAttribution')">
|
|
||||||
<el-select v-model="dataForm.responsibilityAttributionId" :placeholder="$t('code.responsibilityAttribution')">
|
|
||||||
<el-option v-for="item in dutyList" :key="item.dictTypeId" :label="item.dictLabel" :value="item.dictTypeId">
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row :gutter="24">
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item prop="examineStatus" :label="$t('code.examineStatus')">
|
|
||||||
<el-select v-model="dataForm.examineStatus" :placeholder="$t('code.examineStatus')">
|
|
||||||
<el-option v-for="item in examineStatusList" :key="item.id" :label="item.name" :value="item.id">
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8">
|
|
||||||
<el-form-item prop="teamList" :label="$t('code.eightDTeam')">
|
|
||||||
<el-select v-model="dataForm.teamList" :placeholder="$t('code.eightDTeam')" multiple>
|
|
||||||
<el-option v-for="item in teamList" :key="item.id" :label="item.teamName" :value="item.id">
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
</template>
|
</template>
|
||||||
@ -146,62 +202,64 @@ export default {
|
|||||||
urlOptions: {
|
urlOptions: {
|
||||||
submitURL: "/code/startEightDiscipline",
|
submitURL: "/code/startEightDiscipline",
|
||||||
infoURL: "/code/startEightDiscipline/{id}",
|
infoURL: "/code/startEightDiscipline/{id}",
|
||||||
getDictURL: '/sys/dict/data/page',
|
getDictURL: "/sys/dict/data/page",
|
||||||
customerListURL: '/basic/qmsCustomer/page',
|
customerListURL: "/basic/qmsCustomer/page",
|
||||||
productListURL: '/basic/qmsProduct/page',
|
productListURL: "/basic/qmsProduct/page",
|
||||||
teamListURL: '/basic/qmsTeam/page',
|
teamListURL: "/basic/qmsTeam/page",
|
||||||
},
|
},
|
||||||
defectList: [],
|
defectList: [],
|
||||||
teamList:[],
|
teamList: [],
|
||||||
customerList: [],
|
customerList: [],
|
||||||
productList: [],
|
productList: [],
|
||||||
dutyList: [],
|
dutyList: [],
|
||||||
examineStatusList: [
|
examineStatusList: [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
name: '不需要审批'
|
name: "不需要审批",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
name: '需要审批'
|
name: "需要审批",
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
options: [{
|
options: [
|
||||||
|
{
|
||||||
value: 0,
|
value: 0,
|
||||||
label: '不可用'
|
label: "不可用",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 1,
|
value: 1,
|
||||||
label: '可用'
|
label: "可用",
|
||||||
}],
|
},
|
||||||
|
],
|
||||||
eightDisciplineTypeList: [
|
eightDisciplineTypeList: [
|
||||||
{
|
{
|
||||||
value: 0,
|
value: '0',
|
||||||
label: '重复发生问题 '
|
label: "重复发生问题 ",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 1,
|
value: '1',
|
||||||
label: '1客诉问题'
|
label: "1客诉问题",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 2,
|
value: '2',
|
||||||
label: '重大质量问题'
|
label: "重大质量问题",
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
listQuery: {
|
listQuery: {
|
||||||
limit: 10,
|
limit: 10,
|
||||||
page: 1
|
page: 1,
|
||||||
},
|
},
|
||||||
visible: false,
|
visible: false,
|
||||||
dataForm: {
|
dataForm: {
|
||||||
actualResponsePeriod:null,
|
actualResponsePeriod: null,
|
||||||
batchNumber: null,
|
batchNumber: null,
|
||||||
code: null,
|
code: null,
|
||||||
customId: null,
|
customId: null,
|
||||||
defectSourceId: null,
|
defectSourceId: null,
|
||||||
description: null,
|
description: null,
|
||||||
eightDisciplineId: null,
|
eightDisciplineId: null,
|
||||||
eightDisciplineStatus: null,
|
eightDisciplineStatus: 0,
|
||||||
eightDisciplineType: null,
|
eightDisciplineType: null,
|
||||||
examineStatus: null,
|
examineStatus: null,
|
||||||
finalCompletionDate: null,
|
finalCompletionDate: null,
|
||||||
@ -210,7 +268,7 @@ export default {
|
|||||||
orderNo: null,
|
orderNo: null,
|
||||||
productId: null,
|
productId: null,
|
||||||
productTypeId: null,
|
productTypeId: null,
|
||||||
teamList:undefined,
|
teamList: undefined,
|
||||||
requestResponseCycle: null,
|
requestResponseCycle: null,
|
||||||
responsibilityAttributionId: null,
|
responsibilityAttributionId: null,
|
||||||
sampleAcceptanceTime: null,
|
sampleAcceptanceTime: null,
|
||||||
@ -247,19 +305,19 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted() {
|
||||||
this.getDict()
|
this.getDict();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
init(id, ) {
|
init(id) {
|
||||||
this.dataForm.id = id || ""
|
this.dataForm.id = id || "";
|
||||||
// console.log(11111)
|
// console.log(11111)
|
||||||
// this.dataForm.dictTypeId = dictTypeId || "";
|
// this.dataForm.dictTypeId = dictTypeId || "";
|
||||||
this.visible = true
|
this.visible = true;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs["dataForm"].resetFields();
|
this.$refs["dataForm"].resetFields();
|
||||||
if (this.dataForm.id) {
|
if (this.dataForm.id) {
|
||||||
this.getInfo()
|
this.getInfo();
|
||||||
} else {
|
} else {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -280,50 +338,50 @@ export default {
|
|||||||
.catch(() => {});
|
.catch(() => {});
|
||||||
},
|
},
|
||||||
getDict() {
|
getDict() {
|
||||||
this.$http.get(this.urlOptions.teamListURL, {
|
this.$http
|
||||||
|
.get(this.urlOptions.teamListURL, {
|
||||||
params: {
|
params: {
|
||||||
limit: 999,
|
limit: 999,
|
||||||
page: 1,
|
page: 1,
|
||||||
}
|
},
|
||||||
})
|
})
|
||||||
.then(({ data: res }) => {
|
.then(({ data: res }) => {
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
console.log(res);
|
console.log(res);
|
||||||
this.teamList = res.data.list
|
this.teamList = res.data.list;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {});
|
||||||
})
|
this.$http
|
||||||
this.$http.get(this.urlOptions.getDictURL, {
|
.get(this.urlOptions.getDictURL, {
|
||||||
params: {
|
params: {
|
||||||
limit: 999,
|
limit: 999,
|
||||||
page: 1,
|
page: 1,
|
||||||
dictTypeId: '1664162193896206337'
|
dictTypeId: "1664162193896206337",
|
||||||
}
|
},
|
||||||
})
|
})
|
||||||
.then(({ data: res }) => {
|
.then(({ data: res }) => {
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
console.log(res);
|
console.log(res);
|
||||||
this.defectList = res.data.list
|
this.defectList = res.data.list;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {});
|
||||||
})
|
this.$http
|
||||||
this.$http.get(this.urlOptions.getDictURL, {
|
.get(this.urlOptions.getDictURL, {
|
||||||
params: {
|
params: {
|
||||||
limit: 999,
|
limit: 999,
|
||||||
page: 1,
|
page: 1,
|
||||||
dictTypeId: '1664162455184568321'
|
dictTypeId: "1664162455184568321",
|
||||||
}
|
},
|
||||||
})
|
})
|
||||||
.then(({ data: res }) => {
|
.then(({ data: res }) => {
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
console.log(res);
|
console.log(res);
|
||||||
this.dutyList = res.data.list
|
this.dutyList = res.data.list;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {});
|
||||||
})
|
|
||||||
},
|
},
|
||||||
// 表单提交
|
// 表单提交
|
||||||
dataFormSubmitHandle: debounce(
|
dataFormSubmitHandle: debounce(
|
||||||
|
@ -0,0 +1,207 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2023-06-29 14:12:48
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2023-06-30 09:03:53
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<base-table border :table-props="tableProps" :table-data="tableData" @emitFun="inputChange" />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import basicAdd from "@/mixins/basic-add";
|
||||||
|
import inputArea from "./inputArea";
|
||||||
|
import selectMember from "./selectMember";
|
||||||
|
import i18n from "@/i18n";
|
||||||
|
const tableProps = [
|
||||||
|
{
|
||||||
|
prop: "stepName",
|
||||||
|
label: i18n.t("disqualification.step"),
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "member",
|
||||||
|
label: "成员",
|
||||||
|
align: "center",
|
||||||
|
subcomponent: selectMember,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "time",
|
||||||
|
label: "时间(小时)",
|
||||||
|
align: "center",
|
||||||
|
subcomponent: inputArea,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "approver",
|
||||||
|
label: "审批人",
|
||||||
|
align: "center",
|
||||||
|
subcomponent: selectMember,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "terminationApprover",
|
||||||
|
label: "终止审批人",
|
||||||
|
align: "center",
|
||||||
|
subcomponent: selectMember,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
inputArea,
|
||||||
|
selectMember,
|
||||||
|
},
|
||||||
|
mixins: [basicAdd],
|
||||||
|
props: {
|
||||||
|
roleList: {
|
||||||
|
type: Array,
|
||||||
|
default: () => [],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
urlOptions: {
|
||||||
|
submitURL: "/code/startEightDisciplinePreliminaryAnalysis/",
|
||||||
|
},
|
||||||
|
tableProps,
|
||||||
|
visible: false,
|
||||||
|
tableData: [
|
||||||
|
{
|
||||||
|
stepName: "D3",
|
||||||
|
step: 3,
|
||||||
|
roleList: this.roleList,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
stepName: "D4",
|
||||||
|
step: 4,
|
||||||
|
roleList: this.roleList,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
stepName: "D5",
|
||||||
|
step: 5,
|
||||||
|
roleList: this.roleList,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
stepName: "D6",
|
||||||
|
step: 6,
|
||||||
|
roleList: this.roleList,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
stepName: "D7",
|
||||||
|
step: 7,
|
||||||
|
roleList: this.roleList,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
stepName: "D8",
|
||||||
|
step: 8,
|
||||||
|
roleList: this.roleList,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
id: "",
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
dataRule() {
|
||||||
|
return {
|
||||||
|
// description: [{ required: true, message: this.$t("validate.required"), trigger: "blur" }],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(id) {
|
||||||
|
this.id = id;
|
||||||
|
this.visible = true;
|
||||||
|
this.$nextTick(() => {});
|
||||||
|
},
|
||||||
|
|
||||||
|
inputChange(data) {
|
||||||
|
switch (data.sType) {
|
||||||
|
case 1:
|
||||||
|
this.tableData[data._pageIndex - 1][data.prop] = data[data.prop];
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
this.tableData[data._pageIndex - 1][data.prop] = data.string
|
||||||
|
? data.string.split("+")[0]
|
||||||
|
: "";
|
||||||
|
this.tableData[data._pageIndex - 1][data.prop + "Name"] = data.string
|
||||||
|
? data.string.split("+")[1]
|
||||||
|
: "";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
console.log(val);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
formClear() {},
|
||||||
|
// 表单提交
|
||||||
|
dataFormSubmit() {
|
||||||
|
let putData = {
|
||||||
|
eightDisciplineStatus: 3,
|
||||||
|
examineStatus: 1,
|
||||||
|
id: this.id,
|
||||||
|
};
|
||||||
|
this.$http.put("/code/startEightDiscipline", putData).then(({ data }) => {
|
||||||
|
if (data && data.code === 0) {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
this.$message.error(data.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.tableData.forEach((item) => {
|
||||||
|
item.startEightDisciplineId = this.id;
|
||||||
|
});
|
||||||
|
this.$http.post("/code/startEightDisciplineCreateTeam/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");
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.mod-sys__menu {
|
||||||
|
.menu-list,
|
||||||
|
.icon-list {
|
||||||
|
.el-input__inner,
|
||||||
|
.el-input__suffix {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-icon-popover {
|
||||||
|
width: 458px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
&-icon-inner {
|
||||||
|
width: 478px;
|
||||||
|
max-height: 258px;
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
&-icon-list {
|
||||||
|
width: 458px;
|
||||||
|
padding: 0;
|
||||||
|
margin: -8px 0 0 -8px;
|
||||||
|
> .el-button {
|
||||||
|
padding: 8px;
|
||||||
|
margin: 8px 0 0 8px;
|
||||||
|
> span {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
width: 18px;
|
||||||
|
height: 18px;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -0,0 +1,117 @@
|
|||||||
|
<template>
|
||||||
|
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" label-width="120px">
|
||||||
|
<el-form-item prop="description" :label="$t('code.description')">
|
||||||
|
<el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="dataForm.description">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import basicAdd from "@/mixins/basic-add";
|
||||||
|
export default {
|
||||||
|
mixins: [basicAdd],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
urlOptions: {
|
||||||
|
submitURL: "/code/startEightDisciplineDescriptionCorrectiveAction",
|
||||||
|
},
|
||||||
|
visible: false,
|
||||||
|
dataForm: {
|
||||||
|
description: "",
|
||||||
|
startEightDisciplineId: "",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
dataRule() {
|
||||||
|
return {
|
||||||
|
description: [{ required: true, message: this.$t("validate.required"), trigger: "blur" }],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(id) {
|
||||||
|
this.dataForm.startEightDisciplineId = id;
|
||||||
|
this.visible = true;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs["dataForm"].resetFields();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 表单提交
|
||||||
|
dataFormSubmit() {
|
||||||
|
this.$refs["dataForm"].validate((valid) => {
|
||||||
|
if (!valid) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
let putData = {
|
||||||
|
eightDisciplineStatus: 6,
|
||||||
|
examineStatus: 1,
|
||||||
|
id: this.dataForm.startEightDisciplineId,
|
||||||
|
};
|
||||||
|
this.$http.put("/code/startEightDiscipline", putData).then(({ data }) => {
|
||||||
|
if (data && data.code === 0) {
|
||||||
|
} else {
|
||||||
|
this.$message.error(data.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.$http
|
||||||
|
.post(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(() => {});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.mod-sys__menu {
|
||||||
|
.menu-list,
|
||||||
|
.icon-list {
|
||||||
|
.el-input__inner,
|
||||||
|
.el-input__suffix {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-icon-popover {
|
||||||
|
width: 458px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
&-icon-inner {
|
||||||
|
width: 478px;
|
||||||
|
max-height: 258px;
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
&-icon-list {
|
||||||
|
width: 458px;
|
||||||
|
padding: 0;
|
||||||
|
margin: -8px 0 0 -8px;
|
||||||
|
> .el-button {
|
||||||
|
padding: 8px;
|
||||||
|
margin: 8px 0 0 8px;
|
||||||
|
> span {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
width: 18px;
|
||||||
|
height: 18px;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -0,0 +1,117 @@
|
|||||||
|
<template>
|
||||||
|
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" label-width="120px">
|
||||||
|
<el-form-item prop="description" :label="$t('code.description')">
|
||||||
|
<el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="dataForm.description">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import basicAdd from "@/mixins/basic-add";
|
||||||
|
export default {
|
||||||
|
mixins: [basicAdd],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
urlOptions: {
|
||||||
|
submitURL: "/code/startEightDisciplinePreliminaryAnalysis/",
|
||||||
|
},
|
||||||
|
visible: false,
|
||||||
|
dataForm: {
|
||||||
|
description: "",
|
||||||
|
startEightDisciplineId: "",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
dataRule() {
|
||||||
|
return {
|
||||||
|
description: [{ required: true, message: this.$t("validate.required"), trigger: "blur" }],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(data) {
|
||||||
|
this.dataForm.startEightDisciplineId = data.id;
|
||||||
|
this.visible = true;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs["dataForm"].resetFields();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 表单提交
|
||||||
|
dataFormSubmit() {
|
||||||
|
this.$refs["dataForm"].validate((valid) => {
|
||||||
|
if (!valid) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
let putData = {
|
||||||
|
eightDisciplineStatus: 2,
|
||||||
|
examineStatus: 1,
|
||||||
|
id: this.dataForm.startEightDisciplineId,
|
||||||
|
};
|
||||||
|
this.$http.put("/code/startEightDiscipline", putData).then(({ data }) => {
|
||||||
|
if (data && data.code === 0) {
|
||||||
|
} else {
|
||||||
|
this.$message.error(data.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.$http
|
||||||
|
.post(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(() => {});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.mod-sys__menu {
|
||||||
|
.menu-list,
|
||||||
|
.icon-list {
|
||||||
|
.el-input__inner,
|
||||||
|
.el-input__suffix {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-icon-popover {
|
||||||
|
width: 458px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
&-icon-inner {
|
||||||
|
width: 478px;
|
||||||
|
max-height: 258px;
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
&-icon-list {
|
||||||
|
width: 458px;
|
||||||
|
padding: 0;
|
||||||
|
margin: -8px 0 0 -8px;
|
||||||
|
> .el-button {
|
||||||
|
padding: 8px;
|
||||||
|
margin: 8px 0 0 8px;
|
||||||
|
> span {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
width: 18px;
|
||||||
|
height: 18px;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -0,0 +1,117 @@
|
|||||||
|
<template>
|
||||||
|
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" label-width="120px">
|
||||||
|
<el-form-item prop="description" :label="$t('code.description')">
|
||||||
|
<el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="dataForm.description">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import basicAdd from "@/mixins/basic-add";
|
||||||
|
export default {
|
||||||
|
mixins: [basicAdd],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
urlOptions: {
|
||||||
|
submitURL: "/code/startEightDisciplinePreventRecurrence",
|
||||||
|
},
|
||||||
|
visible: false,
|
||||||
|
dataForm: {
|
||||||
|
description: "",
|
||||||
|
startEightDisciplineId: "",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
dataRule() {
|
||||||
|
return {
|
||||||
|
description: [{ required: true, message: this.$t("validate.required"), trigger: "blur" }],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(id) {
|
||||||
|
this.dataForm.startEightDisciplineId = id;
|
||||||
|
this.visible = true;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs["dataForm"].resetFields();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 表单提交
|
||||||
|
dataFormSubmit() {
|
||||||
|
this.$refs["dataForm"].validate((valid) => {
|
||||||
|
if (!valid) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
let putData = {
|
||||||
|
eightDisciplineStatus: 8,
|
||||||
|
examineStatus: 1,
|
||||||
|
id: this.dataForm.startEightDisciplineId,
|
||||||
|
};
|
||||||
|
this.$http.put("/code/startEightDiscipline", putData).then(({ data }) => {
|
||||||
|
if (data && data.code === 0) {
|
||||||
|
} else {
|
||||||
|
this.$message.error(data.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.$http
|
||||||
|
.post(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(() => {});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.mod-sys__menu {
|
||||||
|
.menu-list,
|
||||||
|
.icon-list {
|
||||||
|
.el-input__inner,
|
||||||
|
.el-input__suffix {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-icon-popover {
|
||||||
|
width: 458px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
&-icon-inner {
|
||||||
|
width: 478px;
|
||||||
|
max-height: 258px;
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
&-icon-list {
|
||||||
|
width: 458px;
|
||||||
|
padding: 0;
|
||||||
|
margin: -8px 0 0 -8px;
|
||||||
|
> .el-button {
|
||||||
|
padding: 8px;
|
||||||
|
margin: 8px 0 0 8px;
|
||||||
|
> span {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
width: 18px;
|
||||||
|
height: 18px;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -0,0 +1,117 @@
|
|||||||
|
<template>
|
||||||
|
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" label-width="120px">
|
||||||
|
<el-form-item prop="problemType" label="问题类型">
|
||||||
|
<el-input type="textarea" :rows="2" placeholder="请输入工艺问题" v-model="dataForm.problemType">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import basicAdd from "@/mixins/basic-add";
|
||||||
|
export default {
|
||||||
|
mixins: [basicAdd],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
urlOptions: {
|
||||||
|
submitURL: "/code/startEightDisciplineRootCauseAnalysis",
|
||||||
|
},
|
||||||
|
visible: false,
|
||||||
|
dataForm: {
|
||||||
|
problemType: "",
|
||||||
|
startEightDisciplineId: "",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
dataRule() {
|
||||||
|
return {
|
||||||
|
problemType: [{ required: true, message: this.$t("validate.required"), trigger: "blur" }],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(data) {
|
||||||
|
this.dataForm.startEightDisciplineId = data.id;
|
||||||
|
this.visible = true;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs["dataForm"].resetFields();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 表单提交
|
||||||
|
dataFormSubmit() {
|
||||||
|
this.$refs["dataForm"].validate((valid) => {
|
||||||
|
if (!valid) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
let putData = {
|
||||||
|
eightDisciplineStatus: 5,
|
||||||
|
examineStatus: 1,
|
||||||
|
id: this.dataForm.startEightDisciplineId,
|
||||||
|
};
|
||||||
|
this.$http.put("/code/startEightDiscipline", putData).then(({ data }) => {
|
||||||
|
if (data && data.code === 0) {
|
||||||
|
} else {
|
||||||
|
this.$message.error(data.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.$http
|
||||||
|
.post(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(() => {});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.mod-sys__menu {
|
||||||
|
.menu-list,
|
||||||
|
.icon-list {
|
||||||
|
.el-input__inner,
|
||||||
|
.el-input__suffix {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-icon-popover {
|
||||||
|
width: 458px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
&-icon-inner {
|
||||||
|
width: 478px;
|
||||||
|
max-height: 258px;
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
&-icon-list {
|
||||||
|
width: 458px;
|
||||||
|
padding: 0;
|
||||||
|
margin: -8px 0 0 -8px;
|
||||||
|
> .el-button {
|
||||||
|
padding: 8px;
|
||||||
|
margin: 8px 0 0 8px;
|
||||||
|
> span {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
width: 18px;
|
||||||
|
height: 18px;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -0,0 +1,116 @@
|
|||||||
|
<template>
|
||||||
|
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" label-width="120px">
|
||||||
|
<el-form-item prop="description" :label="$t('code.description')">
|
||||||
|
<el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="dataForm.description">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import basicAdd from "@/mixins/basic-add";
|
||||||
|
export default {
|
||||||
|
mixins: [basicAdd],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
urlOptions: {
|
||||||
|
submitURL: "/code/startEightDisciplineSummaryExperience",
|
||||||
|
},
|
||||||
|
visible: false,
|
||||||
|
dataForm: {
|
||||||
|
description: "",
|
||||||
|
startEightDisciplineId: "",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
dataRule() {
|
||||||
|
return {
|
||||||
|
description: [{ required: true, message: this.$t("validate.required"), trigger: "blur" }],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(id) {
|
||||||
|
this.dataForm.startEightDisciplineId = id;
|
||||||
|
this.visible = true;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs["dataForm"].resetFields();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 表单提交
|
||||||
|
dataFormSubmit() {
|
||||||
|
this.$refs["dataForm"].validate((valid) => {
|
||||||
|
if (!valid) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
let putData = {
|
||||||
|
eightDisciplineStatus: 9,
|
||||||
|
id: this.dataForm.startEightDisciplineId,
|
||||||
|
};
|
||||||
|
this.$http.put("/code/startEightDiscipline", putData).then(({ data }) => {
|
||||||
|
if (data && data.code === 0) {
|
||||||
|
} else {
|
||||||
|
this.$message.error(data.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.$http
|
||||||
|
.post(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(() => {});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.mod-sys__menu {
|
||||||
|
.menu-list,
|
||||||
|
.icon-list {
|
||||||
|
.el-input__inner,
|
||||||
|
.el-input__suffix {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-icon-popover {
|
||||||
|
width: 458px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
&-icon-inner {
|
||||||
|
width: 478px;
|
||||||
|
max-height: 258px;
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
&-icon-list {
|
||||||
|
width: 458px;
|
||||||
|
padding: 0;
|
||||||
|
margin: -8px 0 0 -8px;
|
||||||
|
> .el-button {
|
||||||
|
padding: 8px;
|
||||||
|
margin: 8px 0 0 8px;
|
||||||
|
> span {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
width: 18px;
|
||||||
|
height: 18px;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -0,0 +1,225 @@
|
|||||||
|
|
||||||
|
<!--
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2023-06-29 14:12:48
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2023-06-30 09:07:57
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<base-table border :table-props="tableProps" :table-data="tableData" @emitFun="inputChange" />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import basicAdd from "@/mixins/basic-add";
|
||||||
|
import inputArea from "./inputArea";
|
||||||
|
import selectMember from "./selectMember";
|
||||||
|
import selectTime from "./selectTime";
|
||||||
|
import i18n from "@/i18n";
|
||||||
|
const tableProps = [
|
||||||
|
{
|
||||||
|
prop: "containmentLocaleName",
|
||||||
|
label: "遏制区域设置",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "developCountermeasuresName",
|
||||||
|
label: "拟定对策",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "controlleQuantity",
|
||||||
|
label: "应受控数量",
|
||||||
|
align: "center",
|
||||||
|
subcomponent: inputArea,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "actualQuantity",
|
||||||
|
label: "实际数量",
|
||||||
|
align: "center",
|
||||||
|
subcomponent: inputArea,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "defectQuantity",
|
||||||
|
label: "不良数量",
|
||||||
|
align: "center",
|
||||||
|
subcomponent: inputArea,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "userName",
|
||||||
|
label: "负责人",
|
||||||
|
align: "center",
|
||||||
|
subcomponent: selectMember,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "completionDate",
|
||||||
|
label: "完成日期",
|
||||||
|
align: "center",
|
||||||
|
subcomponent: selectTime,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
inputArea,
|
||||||
|
selectMember,
|
||||||
|
},
|
||||||
|
mixins: [basicAdd],
|
||||||
|
props: {
|
||||||
|
roleList: {
|
||||||
|
type: Array,
|
||||||
|
default: () => [],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
urlOptions: {
|
||||||
|
submitURL: "/code/startEightDisciplinePreliminaryAnalysis/",
|
||||||
|
},
|
||||||
|
tableProps,
|
||||||
|
visible: false,
|
||||||
|
tableData: [
|
||||||
|
{
|
||||||
|
containmentLocaleName: "装配线",
|
||||||
|
containmentLocale: 1,
|
||||||
|
developCountermeasuresName: "让步接收",
|
||||||
|
developCountermeasures: 1,
|
||||||
|
roleList: this.roleList,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
containmentLocaleName: "生产线",
|
||||||
|
containmentLocale: 2,
|
||||||
|
developCountermeasuresName: "分选返工",
|
||||||
|
developCountermeasures: 2,
|
||||||
|
roleList: this.roleList,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
containmentLocaleName: "实验室",
|
||||||
|
containmentLocale: 3,
|
||||||
|
developCountermeasuresName: "隔离",
|
||||||
|
developCountermeasures: 3,
|
||||||
|
roleList: this.roleList,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
containmentLocaleName: "成品在途",
|
||||||
|
containmentLocale: 4,
|
||||||
|
developCountermeasuresName: "退换货",
|
||||||
|
developCountermeasures: 4,
|
||||||
|
roleList: this.roleList,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
containmentLocaleName: "第三方中间商",
|
||||||
|
containmentLocale: 5,
|
||||||
|
developCountermeasuresName: "通知供应商",
|
||||||
|
developCountermeasures: 5,
|
||||||
|
roleList: this.roleList,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
id: "",
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
dataRule() {
|
||||||
|
return {
|
||||||
|
// description: [{ required: true, message: this.$t("validate.required"), trigger: "blur" }],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(id) {
|
||||||
|
this.id = id;
|
||||||
|
this.visible = true;
|
||||||
|
this.$nextTick(() => {});
|
||||||
|
},
|
||||||
|
inputChange(data) {
|
||||||
|
switch (data.sType) {
|
||||||
|
case 1:
|
||||||
|
this.tableData[data._pageIndex - 1][data.prop] = data[data.prop];
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
this.tableData[data._pageIndex - 1].userName = data.string
|
||||||
|
? data.string.split("+")[1]
|
||||||
|
: "";
|
||||||
|
this.tableData[data._pageIndex - 1].userId = data.string ? data.string.split("+")[0] : "";
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
this.tableData[data._pageIndex - 1][data.prop] = data.time;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
console.log(val);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
formClear() {},
|
||||||
|
// 表单提交
|
||||||
|
dataFormSubmit() {
|
||||||
|
console.log(this.tableData);
|
||||||
|
let putData = {
|
||||||
|
eightDisciplineStatus: 4,
|
||||||
|
examineStatus: 1,
|
||||||
|
id: this.id,
|
||||||
|
};
|
||||||
|
this.$http.put("/code/startEightDiscipline", putData).then(({ data }) => {
|
||||||
|
if (data && data.code === 0) {
|
||||||
|
} else {
|
||||||
|
this.$message.error(data.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.tableData.forEach((item) => {
|
||||||
|
item.startEightDisciplineId = this.id;
|
||||||
|
});
|
||||||
|
this.$http.post("/code/startEightDisciplineTemporaryTreatmentMeasures/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");
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.mod-sys__menu {
|
||||||
|
.menu-list,
|
||||||
|
.icon-list {
|
||||||
|
.el-input__inner,
|
||||||
|
.el-input__suffix {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-icon-popover {
|
||||||
|
width: 458px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
&-icon-inner {
|
||||||
|
width: 478px;
|
||||||
|
max-height: 258px;
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
&-icon-list {
|
||||||
|
width: 458px;
|
||||||
|
padding: 0;
|
||||||
|
margin: -8px 0 0 -8px;
|
||||||
|
> .el-button {
|
||||||
|
padding: 8px;
|
||||||
|
margin: 8px 0 0 8px;
|
||||||
|
> span {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
width: 18px;
|
||||||
|
height: 18px;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -0,0 +1,117 @@
|
|||||||
|
<template>
|
||||||
|
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" label-width="120px">
|
||||||
|
<el-form-item prop="description" :label="$t('code.description')">
|
||||||
|
<el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="dataForm.description">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import basicAdd from "@/mixins/basic-add";
|
||||||
|
export default {
|
||||||
|
mixins: [basicAdd],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
urlOptions: {
|
||||||
|
submitURL: "/code/startEightDisciplineValidation",
|
||||||
|
},
|
||||||
|
visible: false,
|
||||||
|
dataForm: {
|
||||||
|
description: "",
|
||||||
|
startEightDisciplineId: "",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
dataRule() {
|
||||||
|
return {
|
||||||
|
description: [{ required: true, message: this.$t("validate.required"), trigger: "blur" }],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(id) {
|
||||||
|
this.dataForm.startEightDisciplineId = id;
|
||||||
|
this.visible = true;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs["dataForm"].resetFields();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 表单提交
|
||||||
|
dataFormSubmit() {
|
||||||
|
this.$refs["dataForm"].validate((valid) => {
|
||||||
|
if (!valid) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
let putData = {
|
||||||
|
eightDisciplineStatus: 7,
|
||||||
|
examineStatus: 1,
|
||||||
|
id: this.dataForm.startEightDisciplineId,
|
||||||
|
};
|
||||||
|
this.$http.put("/code/startEightDiscipline", putData).then(({ data }) => {
|
||||||
|
if (data && data.code === 0) {
|
||||||
|
} else {
|
||||||
|
this.$message.error(data.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.$http
|
||||||
|
.post(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(() => {});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.mod-sys__menu {
|
||||||
|
.menu-list,
|
||||||
|
.icon-list {
|
||||||
|
.el-input__inner,
|
||||||
|
.el-input__suffix {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-icon-popover {
|
||||||
|
width: 458px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
&-icon-inner {
|
||||||
|
width: 478px;
|
||||||
|
max-height: 258px;
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
&-icon-list {
|
||||||
|
width: 458px;
|
||||||
|
padding: 0;
|
||||||
|
margin: -8px 0 0 -8px;
|
||||||
|
> .el-button {
|
||||||
|
padding: 8px;
|
||||||
|
margin: 8px 0 0 8px;
|
||||||
|
> span {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
width: 18px;
|
||||||
|
height: 18px;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
208
src/views/modules/code/components/startEightGrade-add.vue
Normal file
208
src/views/modules/code/components/startEightGrade-add.vue
Normal file
@ -0,0 +1,208 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2023-06-29 14:12:48
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2023-06-30 10:58:16
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<base-table border show-summary :table-props="tableProps" :table-data="tableData" @emitFun="inputChange" />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import basicAdd from "@/mixins/basic-add";
|
||||||
|
import selectMember from "./selectMember";
|
||||||
|
import i18n from "@/i18n";
|
||||||
|
const tableProps = [
|
||||||
|
{
|
||||||
|
prop: "stepName",
|
||||||
|
label: i18n.t("disqualification.step"),
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "desc",
|
||||||
|
label: "打分项",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "gradeList",
|
||||||
|
label: "打分",
|
||||||
|
align: "center",
|
||||||
|
subcomponent: selectMember,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "grade",
|
||||||
|
label: "分数",
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
const gradeList = [
|
||||||
|
{ id: 1, username: "优" },
|
||||||
|
{ id: 2, username: "良" },
|
||||||
|
{ id: 3, username: "差" },
|
||||||
|
];
|
||||||
|
const score = [10, 8, 0];
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
selectMember,
|
||||||
|
},
|
||||||
|
mixins: [basicAdd],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
urlOptions: {
|
||||||
|
submitURL: "/code/startEightDisciplinePreliminaryAnalysis/",
|
||||||
|
},
|
||||||
|
tableProps,
|
||||||
|
score,
|
||||||
|
visible: false,
|
||||||
|
tableData: [
|
||||||
|
{
|
||||||
|
stepName: "D1",
|
||||||
|
step: 1,
|
||||||
|
desc: "初步分析",
|
||||||
|
roleList: gradeList,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
stepName: "D2",
|
||||||
|
step: 2,
|
||||||
|
desc: "创建团队",
|
||||||
|
roleList: gradeList,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
stepName: "D3",
|
||||||
|
step: 3,
|
||||||
|
desc: "临时处理措施",
|
||||||
|
roleList: gradeList,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
stepName: "D4",
|
||||||
|
step: 4,
|
||||||
|
desc: "根本原因分析",
|
||||||
|
roleList: gradeList,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
stepName: "D5",
|
||||||
|
step: 5,
|
||||||
|
desc: "纠正措施描述",
|
||||||
|
roleList: gradeList,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
stepName: "D6",
|
||||||
|
step: 6,
|
||||||
|
desc: "有效性验证",
|
||||||
|
roleList: gradeList,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
stepName: "D7",
|
||||||
|
step: 7,
|
||||||
|
desc: "预防再发生",
|
||||||
|
roleList: gradeList,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
stepName: "D8",
|
||||||
|
step: 8,
|
||||||
|
desc: "总结与经验分享",
|
||||||
|
roleList: gradeList,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
id: "",
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
dataRule() {
|
||||||
|
return {
|
||||||
|
// description: [{ required: true, message: this.$t("validate.required"), trigger: "blur" }],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(id) {
|
||||||
|
this.id = id;
|
||||||
|
this.visible = true;
|
||||||
|
this.$nextTick(() => {});
|
||||||
|
},
|
||||||
|
|
||||||
|
inputChange(data) {
|
||||||
|
switch (data.sType) {
|
||||||
|
case 1:
|
||||||
|
this.tableData[data._pageIndex - 1][data.prop] = data[data.prop];
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
this.tableData[data._pageIndex - 1].gradeStatus = data.string
|
||||||
|
? data.string.split("+")[0]
|
||||||
|
: "";
|
||||||
|
if (this.tableData[data._pageIndex - 1].gradeStatus) {
|
||||||
|
this.$set(
|
||||||
|
this.tableData[data._pageIndex - 1],
|
||||||
|
'grade',
|
||||||
|
this.score[this.tableData[data._pageIndex - 1].gradeStatus - 1]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
console.log(val);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
formClear() {},
|
||||||
|
// 表单提交
|
||||||
|
dataFormSubmit() {
|
||||||
|
this.tableData.forEach((item) => {
|
||||||
|
item.startEightDisciplineId = this.id;
|
||||||
|
});
|
||||||
|
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");
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.mod-sys__menu {
|
||||||
|
.menu-list,
|
||||||
|
.icon-list {
|
||||||
|
.el-input__inner,
|
||||||
|
.el-input__suffix {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-icon-popover {
|
||||||
|
width: 458px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
&-icon-inner {
|
||||||
|
width: 478px;
|
||||||
|
max-height: 258px;
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
&-icon-list {
|
||||||
|
width: 458px;
|
||||||
|
padding: 0;
|
||||||
|
margin: -8px 0 0 -8px;
|
||||||
|
> .el-button {
|
||||||
|
padding: 8px;
|
||||||
|
margin: 8px 0 0 8px;
|
||||||
|
> span {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
width: 18px;
|
||||||
|
height: 18px;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -1,8 +1,8 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-01-11 09:24:58
|
* @Date: 2023-01-11 09:24:58
|
||||||
* @LastEditTime: 2023-06-05 09:12:25
|
* @LastEditTime: 2023-06-28 16:06:37
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zwq
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -37,6 +37,7 @@ import eightDisciplineAdd from "./components/eightDiscipline-add"
|
|||||||
// import disposalMethodSearch from "./components/disposalMethodSearch"
|
// import disposalMethodSearch from "./components/disposalMethodSearch"
|
||||||
import available from "./components/available.vue"
|
import available from "./components/available.vue"
|
||||||
import basicSearch from "@/mixins/basic-search"
|
import basicSearch from "@/mixins/basic-search"
|
||||||
|
import codeFilter from '@/filters/code-filter'
|
||||||
import i18n from "@/i18n"
|
import i18n from "@/i18n"
|
||||||
const tableProps = [
|
const tableProps = [
|
||||||
{
|
{
|
||||||
@ -52,7 +53,8 @@ const tableProps = [
|
|||||||
{
|
{
|
||||||
prop: 'eightDisciplineType',
|
prop: 'eightDisciplineType',
|
||||||
label: i18n.t("code.eightDisciplineType"),
|
label: i18n.t("code.eightDisciplineType"),
|
||||||
align: 'center'
|
align: 'center',
|
||||||
|
filter: codeFilter('eightDisciplineType'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'problemStatus',
|
prop: 'problemStatus',
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-01-11 09:24:58
|
* @Date: 2023-01-11 09:24:58
|
||||||
* @LastEditTime: 2023-06-05 09:12:12
|
* @LastEditTime: 2023-06-29 11:02:36
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zwq
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -14,7 +14,7 @@
|
|||||||
</el-badge> -->
|
</el-badge> -->
|
||||||
</SearchBar>
|
</SearchBar>
|
||||||
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
|
<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"
|
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" label="操作" :method-list="tableBtn"
|
||||||
@clickBtn="handleClick" />
|
@clickBtn="handleClick" />
|
||||||
</base-table>
|
</base-table>
|
||||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||||
@ -29,6 +29,8 @@ import basicPage from "@/mixins/basic-page"
|
|||||||
// import transferSchemeAdd from "./components/transferScheme-add"
|
// import transferSchemeAdd from "./components/transferScheme-add"
|
||||||
// import transferSchemeSearch from "./components/transferSchemeSearch.vue"
|
// import transferSchemeSearch from "./components/transferSchemeSearch.vue"
|
||||||
import basicSearch from "@/mixins/basic-search"
|
import basicSearch from "@/mixins/basic-search"
|
||||||
|
import { timeFormatter } from "@/filters/code-filter"
|
||||||
|
import codeFilter from '@/filters/code-filter'
|
||||||
import i18n from "@/i18n"
|
import i18n from "@/i18n"
|
||||||
const tableProps = [
|
const tableProps = [
|
||||||
{
|
{
|
||||||
@ -39,12 +41,14 @@ const tableProps = [
|
|||||||
{
|
{
|
||||||
prop: 'eightDisciplineType',
|
prop: 'eightDisciplineType',
|
||||||
label: i18n.t("code.eightDisciplineType"),
|
label: i18n.t("code.eightDisciplineType"),
|
||||||
align: 'center'
|
align: 'center',
|
||||||
|
filter: codeFilter('eightDisciplineType'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'occurrenceDate',
|
prop: 'occurrenceDate',
|
||||||
label: i18n.t("code.occurrenceDate"),
|
label: i18n.t("code.occurrenceDate"),
|
||||||
align: 'center'
|
align: 'center',
|
||||||
|
filter: timeFormatter,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'productName',
|
prop: 'productName',
|
||||||
@ -76,6 +80,10 @@ const tableBtn = [
|
|||||||
type: "delete",
|
type: "delete",
|
||||||
btnName: "删除",
|
btnName: "删除",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
type: "approve",
|
||||||
|
btnName: "审批",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
export default {
|
export default {
|
||||||
mixins: [basicPage, basicSearch],
|
mixins: [basicPage, basicSearch],
|
||||||
@ -94,7 +102,7 @@ export default {
|
|||||||
listQuery: {
|
listQuery: {
|
||||||
limit: 10,
|
limit: 10,
|
||||||
page: 1,
|
page: 1,
|
||||||
eightDisciplineStatus: 8
|
examineStatus:1
|
||||||
},
|
},
|
||||||
searchOrEditTitle: '',
|
searchOrEditTitle: '',
|
||||||
searchOrUpdateVisible: false,
|
searchOrUpdateVisible: false,
|
||||||
@ -105,23 +113,23 @@ export default {
|
|||||||
placeholder: i18n.t('code.title'),
|
placeholder: i18n.t('code.title'),
|
||||||
param: 'title'
|
param: 'title'
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
type: 'select',
|
// type: 'select',
|
||||||
label: i18n.t('code.examineStatus'),
|
// label: i18n.t('code.examineStatus'),
|
||||||
selectOptions: [
|
// selectOptions: [
|
||||||
{
|
// {
|
||||||
id: 0,
|
// id: 0,
|
||||||
name: '不需要审批',
|
// name: '不需要审批',
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
id: 1,
|
// id: 1,
|
||||||
name: '需要审批',
|
// name: '需要审批',
|
||||||
}
|
// }
|
||||||
],
|
// ],
|
||||||
param: 'examineStatus',
|
// param: 'examineStatus',
|
||||||
clearable: true,
|
// clearable: true,
|
||||||
filterable: true
|
// filterable: true
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
type: "button",
|
type: "button",
|
||||||
btnName: "搜索",
|
btnName: "搜索",
|
||||||
@ -189,6 +197,33 @@ export default {
|
|||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.addOrUpdate.init(val.data.id);
|
this.$refs.addOrUpdate.init(val.data.id);
|
||||||
});
|
});
|
||||||
|
} else if (val.type === "approve") {
|
||||||
|
this.$confirm(`确定对此条数据进行审批操作?`, "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning",
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
let putData = {
|
||||||
|
examineStatus: 0,
|
||||||
|
id: val.data.id,
|
||||||
|
};
|
||||||
|
this.$http.put("/code/startEightDiscipline", putData).then(({ data }) => {
|
||||||
|
if (data && data.code === 0) {
|
||||||
|
this.$message({
|
||||||
|
message: "操作成功",
|
||||||
|
type: "success",
|
||||||
|
duration: 1500,
|
||||||
|
onClose: () => {
|
||||||
|
this.getDataList();
|
||||||
|
},
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.$message.error(data.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
buttonClick(val) {
|
buttonClick(val) {
|
||||||
|
@ -1,27 +1,48 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-01-11 09:24:58
|
* @Date: 2023-01-11 09:24:58
|
||||||
* @LastEditTime: 2023-06-05 09:11:52
|
* @LastEditTime: 2023-06-29 11:15:25
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zwq
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<el-card shadow="never" class="aui-card--fill">
|
<el-card shadow="never" class="aui-card--fill">
|
||||||
<div class="mod-sys__user">
|
<div class="mod-sys__user">
|
||||||
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
|
<SearchBar :formConfigs="formConfig" ref="ruleForm" @headBtnClick="buttonClick">
|
||||||
<el-badge :value="1" class="item">
|
<!-- <el-badge :value="1" class="item">
|
||||||
<el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
|
<el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
|
||||||
</el-badge>
|
</el-badge> -->
|
||||||
</SearchBar>
|
</SearchBar>
|
||||||
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
|
<base-table
|
||||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
:table-props="tableProps"
|
||||||
@clickBtn="handleClick" />
|
:page="listQuery.page"
|
||||||
|
:limit="listQuery.limit"
|
||||||
|
:table-data="tableData"
|
||||||
|
>
|
||||||
|
<method-btn
|
||||||
|
v-if="tableBtn.length"
|
||||||
|
slot="handleBtn"
|
||||||
|
:width="150"
|
||||||
|
label="操作"
|
||||||
|
:method-list="tableBtn"
|
||||||
|
@clickBtn="handleClick"
|
||||||
|
/>
|
||||||
</base-table>
|
</base-table>
|
||||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
<pagination
|
||||||
@pagination="getDataList" />
|
:limit.sync="listQuery.limit"
|
||||||
|
:page.sync="listQuery.page"
|
||||||
|
:total="listQuery.total"
|
||||||
|
@pagination="getDataList"
|
||||||
|
/>
|
||||||
<!-- 弹窗, 新增 / 修改 -->
|
<!-- 弹窗, 新增 / 修改 -->
|
||||||
<base-dialog :dialogTitle="addOrEditTitle" :dialogVisible="addOrUpdateVisible" @cancel="handleCancel"
|
<base-dialog
|
||||||
@confirm="handleConfirm" :before-close="handleCancel">
|
:dialogTitle="addOrEditTitle"
|
||||||
|
:dialogVisible="addOrUpdateVisible"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
@confirm="handleConfirm"
|
||||||
|
:before-close="handleCancel"
|
||||||
|
width="70%"
|
||||||
|
>
|
||||||
<startEightDiscipline-add ref="addOrUpdate" @refreshDataList="successSubmit">
|
<startEightDiscipline-add ref="addOrUpdate" @refreshDataList="successSubmit">
|
||||||
</startEightDiscipline-add>
|
</startEightDiscipline-add>
|
||||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||||
@ -31,33 +52,37 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import basicPage from "@/mixins/basic-page"
|
import basicPage from "@/mixins/basic-page";
|
||||||
import startEightDisciplineAdd from "./components/startEightDiscipline-add"
|
import startEightDisciplineAdd from "./components/startEightDiscipline-add";
|
||||||
// import AddOrUpdate from './params-add-or-update'
|
// import AddOrUpdate from './params-add-or-update'
|
||||||
// import customSamplingSearch from "./components/customSamplingSearch"
|
// import customSamplingSearch from "./components/customSamplingSearch"
|
||||||
// import available from "./components/available.vue"
|
// import available from "./components/available.vue"
|
||||||
import basicSearch from "@/mixins/basic-search"
|
import basicSearch from "@/mixins/basic-search";
|
||||||
import i18n from "@/i18n"
|
import codeFilter from "@/filters/code-filter";
|
||||||
|
import { timeFormatter } from "@/filters/code-filter";
|
||||||
|
import i18n from "@/i18n";
|
||||||
const tableProps = [
|
const tableProps = [
|
||||||
{
|
{
|
||||||
prop: 'title',
|
prop: "title",
|
||||||
label: i18n.t("code.title"),
|
label: i18n.t("code.title"),
|
||||||
align: 'center'
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'code',
|
prop: "code",
|
||||||
label: i18n.t("code.code"),
|
label: i18n.t("code.code"),
|
||||||
align: 'center'
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'eightDisciplineType',
|
prop: "eightDisciplineType",
|
||||||
label: i18n.t("code.eightDisciplineType"),
|
label: i18n.t("code.eightDisciplineType"),
|
||||||
align: 'center'
|
align: "center",
|
||||||
|
filter: codeFilter("eightDisciplineType"),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'occurrenceDate',
|
prop: "occurrenceDate",
|
||||||
label: i18n.t("code.occurrenceDate"),
|
label: i18n.t("code.occurrenceDate"),
|
||||||
align: 'center'
|
align: "center",
|
||||||
|
filter: timeFormatter,
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
// prop: 'productName',
|
// prop: 'productName',
|
||||||
@ -70,16 +95,17 @@ const tableProps = [
|
|||||||
// align: 'center'
|
// align: 'center'
|
||||||
// },
|
// },
|
||||||
{
|
{
|
||||||
prop: 'description',
|
prop: "description",
|
||||||
label: i18n.t("code.description"),
|
label: i18n.t("code.description"),
|
||||||
align: 'center'
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'userId',
|
prop: "examineStatus",
|
||||||
label: i18n.t("code.userId"),
|
label: i18n.t("code.examineStatus"),
|
||||||
align: 'center'
|
align: "center",
|
||||||
}
|
filter: codeFilter("examineStatus"),
|
||||||
]
|
},
|
||||||
|
];
|
||||||
const tableBtn = [
|
const tableBtn = [
|
||||||
{
|
{
|
||||||
type: "edit",
|
type: "edit",
|
||||||
@ -89,12 +115,16 @@ const tableBtn = [
|
|||||||
type: "delete",
|
type: "delete",
|
||||||
btnName: "删除",
|
btnName: "删除",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
type: "CAR",
|
||||||
|
btnName: "启动CAR",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
export default {
|
export default {
|
||||||
mixins: [basicPage, basicSearch],
|
mixins: [basicPage, basicSearch],
|
||||||
components: {
|
components: {
|
||||||
// customSamplingSearch,
|
// customSamplingSearch,
|
||||||
startEightDisciplineAdd
|
startEightDisciplineAdd,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -104,9 +134,15 @@ export default {
|
|||||||
},
|
},
|
||||||
tableProps,
|
tableProps,
|
||||||
tableBtn,
|
tableBtn,
|
||||||
searchOrEditTitle: '',
|
searchOrEditTitle: "",
|
||||||
searchOrUpdateVisible: false,
|
searchOrUpdateVisible: false,
|
||||||
formConfig: [
|
formConfig: [
|
||||||
|
{
|
||||||
|
type: "input",
|
||||||
|
label: i18n.t("code.title"),
|
||||||
|
placeholder: i18n.t("code.title"),
|
||||||
|
param: "title",
|
||||||
|
},
|
||||||
// {
|
// {
|
||||||
// type: "",
|
// type: "",
|
||||||
// label: i18n.t("params.paramCode"),
|
// label: i18n.t("params.paramCode"),
|
||||||
@ -118,17 +154,24 @@ export default {
|
|||||||
// },
|
// },
|
||||||
{
|
{
|
||||||
type: "button",
|
type: "button",
|
||||||
btnName: "新增",
|
btnName: "搜索",
|
||||||
name: "add",
|
name: "search",
|
||||||
color: "primary",
|
color: "primary",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: "button",
|
type: "button",
|
||||||
btnName: "搜索",
|
btnName: "新增",
|
||||||
name: "search",
|
name: "add",
|
||||||
color: "primary",
|
color: "primary",
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
|
listQuery: {
|
||||||
|
limit: 10,
|
||||||
|
page: 1,
|
||||||
|
total: 1,
|
||||||
|
eightDisciplineStatus: 0,
|
||||||
|
examineStatus: 0
|
||||||
|
},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
// components: {
|
// components: {
|
||||||
@ -148,19 +191,19 @@ export default {
|
|||||||
this.searchOrEditTitle = "搜索";
|
this.searchOrEditTitle = "搜索";
|
||||||
this.searchOrUpdateVisible = true;
|
this.searchOrUpdateVisible = true;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.searchOrUpdate.init()
|
this.$refs.searchOrUpdate.init();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
conditionSearchSubmit(dataForm) {
|
conditionSearchSubmit(dataForm) {
|
||||||
// console.log(key);
|
// console.log(key);
|
||||||
// console.log(key);
|
// console.log(key);
|
||||||
// this.listQuery.key = key;
|
// this.listQuery.key = key;
|
||||||
this.listQuery.customSamplingCode = dataForm.customSamplingCode
|
this.listQuery.customSamplingCode = dataForm.customSamplingCode;
|
||||||
// this.listQuery.name = dataForm.name
|
// this.listQuery.name = dataForm.name
|
||||||
// this.listQuery.failureTypeStatus = dataForm.failureTypeStatus
|
// this.listQuery.failureTypeStatus = dataForm.failureTypeStatus
|
||||||
this.listQuery.page = 1
|
this.listQuery.page = 1;
|
||||||
this.getDataList()
|
this.getDataList();
|
||||||
this.searchOrUpdateVisible = false
|
this.searchOrUpdateVisible = false;
|
||||||
// console.log(11111);
|
// console.log(11111);
|
||||||
// this.conditionSearchSubmit();
|
// this.conditionSearchSubmit();
|
||||||
},
|
},
|
||||||
@ -173,7 +216,9 @@ export default {
|
|||||||
type: "warning",
|
type: "warning",
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
|
this.$http
|
||||||
|
.delete(this.urlOptions.deleteURL, { data: [val.data.id] })
|
||||||
|
.then(({ data }) => {
|
||||||
if (data && data.code === 0) {
|
if (data && data.code === 0) {
|
||||||
this.$message({
|
this.$message({
|
||||||
message: "操作成功",
|
message: "操作成功",
|
||||||
@ -188,13 +233,41 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
.catch(() => { });
|
.catch(() => {});
|
||||||
} else if (val.type === 'edit') {
|
} else if (val.type === "edit") {
|
||||||
this.addOrUpdateVisible = true
|
this.addOrUpdateVisible = true;
|
||||||
this.addOrEditTitle = this.$t('edit')
|
this.addOrEditTitle = this.$t("edit");
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.addOrUpdate.init(val.data.id);
|
this.$refs.addOrUpdate.init(val.data.id);
|
||||||
});
|
});
|
||||||
|
} else if (val.type === "CAR") {
|
||||||
|
this.$confirm(`确定对此条数据进行启动CAR操作?`, "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning",
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
let putData = {
|
||||||
|
eightDisciplineStatus: 1,
|
||||||
|
examineStatus: 1,
|
||||||
|
id: val.data.id,
|
||||||
|
};
|
||||||
|
this.$http.put("/code/startEightDiscipline", putData).then(({ data }) => {
|
||||||
|
if (data && data.code === 0) {
|
||||||
|
this.$message({
|
||||||
|
message: "操作成功",
|
||||||
|
type: "success",
|
||||||
|
duration: 1500,
|
||||||
|
onClose: () => {
|
||||||
|
this.getDataList();
|
||||||
|
},
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.$message.error(data.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
buttonClick(val) {
|
buttonClick(val) {
|
||||||
@ -202,20 +275,20 @@ export default {
|
|||||||
case "search":
|
case "search":
|
||||||
// this.listQuery.paramCode = val.paramCode;
|
// this.listQuery.paramCode = val.paramCode;
|
||||||
this.listQuery.page = 1;
|
this.listQuery.page = 1;
|
||||||
this.listQuery.code = null
|
this.listQuery.title = val.title ? val.title : "";
|
||||||
this.listQuery.name = null
|
this.listQuery.failureTypeStatus = null;
|
||||||
this.listQuery.failureTypeStatus = null
|
this.listQuery.eightDisciplineStatus = 0;
|
||||||
this.getDataList();
|
this.getDataList();
|
||||||
break;
|
break;
|
||||||
case "add":
|
case "add":
|
||||||
this.addOrEditTitle = this.$t('add')
|
this.addOrEditTitle = this.$t("add");
|
||||||
this.addOrUpdateVisible = true;
|
this.addOrUpdateVisible = true;
|
||||||
this.addOrUpdateHandle()
|
this.addOrUpdateHandle();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
console.log(val)
|
console.log(val);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-01-11 09:24:58
|
* @Date: 2023-01-11 09:24:58
|
||||||
* @LastEditTime: 2023-06-05 09:11:39
|
* @LastEditTime: 2023-06-29 15:56:04
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zwq
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -13,62 +13,94 @@
|
|||||||
<el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
|
<el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
|
||||||
</el-badge> -->
|
</el-badge> -->
|
||||||
</SearchBar>
|
</SearchBar>
|
||||||
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
|
<base-table
|
||||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
:table-props="tableProps"
|
||||||
@clickBtn="handleClick" />
|
:page="listQuery.page"
|
||||||
|
:limit="listQuery.limit"
|
||||||
|
:table-data="tableData"
|
||||||
|
>
|
||||||
|
<method-btn
|
||||||
|
v-if="tableBtn.length"
|
||||||
|
slot="handleBtn"
|
||||||
|
:width="120"
|
||||||
|
label="操作"
|
||||||
|
:method-list="tableBtn"
|
||||||
|
@clickBtn="handleClick"
|
||||||
|
/>
|
||||||
</base-table>
|
</base-table>
|
||||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
<pagination
|
||||||
@pagination="getDataList" />
|
:limit.sync="listQuery.limit"
|
||||||
|
:page.sync="listQuery.page"
|
||||||
|
:total="listQuery.total"
|
||||||
|
@pagination="getDataList"
|
||||||
|
/>
|
||||||
<!-- 弹窗, 新增 / 修改 -->
|
<!-- 弹窗, 新增 / 修改 -->
|
||||||
|
<base-dialog
|
||||||
|
:dialogTitle="teamSetTitle"
|
||||||
|
:dialogVisible="teamSetVisible"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
@confirm="handleConfirm"
|
||||||
|
:before-close="handleCancel"
|
||||||
|
>
|
||||||
|
<add-or-update
|
||||||
|
ref="teamSet"
|
||||||
|
:roleList="roleList"
|
||||||
|
@refreshDataList="successSubmit"
|
||||||
|
></add-or-update>
|
||||||
|
</base-dialog>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import basicPage from "@/mixins/basic-page"
|
import basicPage from "@/mixins/basic-page";
|
||||||
// import transferRecordsAdd from "./components/transferRecords-add"
|
// import transferRecordsAdd from "./components/transferRecords-add"
|
||||||
// import AddOrUpdate from './params-add-or-update'
|
import AddOrUpdate from "./components/startEightDisciplineCreateTeam-add";
|
||||||
// import transferRecordsSearch from "./components/transferRecordsSearch"
|
// import transferRecordsSearch from "./components/transferRecordsSearch"
|
||||||
// import available from "./components/available.vue"
|
// import available from "./components/available.vue"
|
||||||
import basicSearch from "@/mixins/basic-search"
|
import basicSearch from "@/mixins/basic-search";
|
||||||
import i18n from "@/i18n"
|
import { timeFormatter } from "@/filters/code-filter";
|
||||||
|
import codeFilter from "@/filters/code-filter";
|
||||||
|
import i18n from "@/i18n";
|
||||||
const tableProps = [
|
const tableProps = [
|
||||||
{
|
{
|
||||||
prop: 'productName',
|
prop: "title",
|
||||||
label: i18n.t("quality.productName"),
|
label: i18n.t("code.title"),
|
||||||
align: 'center'
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'supplierName',
|
prop: "eightDisciplineType",
|
||||||
label: i18n.t("quality.supplierName"),
|
label: i18n.t("oss.type"),
|
||||||
align: 'center'
|
align: "center",
|
||||||
|
filter: codeFilter("eightDisciplineType"),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'transferOutName',
|
prop: "occurrenceDate",
|
||||||
label: i18n.t("quality.transferOutName"),
|
label: i18n.t("gage.createDate"),
|
||||||
align: 'center'
|
align: "center",
|
||||||
|
filter: timeFormatter,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'transferInName',
|
prop: "productName",
|
||||||
label: i18n.t("quality.transferInName"),
|
label: i18n.t("code.productName"),
|
||||||
align: 'center'
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'dataSources',
|
prop: "customName",
|
||||||
label: i18n.t("quality.dataSources"),
|
label: i18n.t("gage.connection"),
|
||||||
align: 'center'
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'remark',
|
prop: "description",
|
||||||
label: i18n.t("quality.remark"),
|
label: i18n.t("basic.remark"),
|
||||||
align: 'center'
|
align: "center",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'userName',
|
prop: "userId",
|
||||||
label: i18n.t("quality.userName"),
|
label: i18n.t("code.userId"),
|
||||||
align: 'center'
|
align: "center",
|
||||||
}
|
},
|
||||||
]
|
];
|
||||||
const tableBtn = [
|
const tableBtn = [
|
||||||
{
|
{
|
||||||
type: "edit",
|
type: "edit",
|
||||||
@ -78,12 +110,15 @@ const tableBtn = [
|
|||||||
type: "delete",
|
type: "delete",
|
||||||
btnName: "删除",
|
btnName: "删除",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
type: "team",
|
||||||
|
btnName: "团队",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
export default {
|
export default {
|
||||||
mixins: [basicPage, basicSearch],
|
mixins: [basicPage, basicSearch],
|
||||||
components: {
|
components: {
|
||||||
// transferRecordsSearch,
|
AddOrUpdate,
|
||||||
// transferRecordsAdd
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -93,12 +128,16 @@ export default {
|
|||||||
},
|
},
|
||||||
tableProps,
|
tableProps,
|
||||||
tableBtn,
|
tableBtn,
|
||||||
|
teamSetTitle: "",
|
||||||
|
teamSetVisible: false,
|
||||||
listQuery: {
|
listQuery: {
|
||||||
limit: 10,
|
limit: 10,
|
||||||
page: 1,
|
page: 1,
|
||||||
eightDisciplineStatus: 2
|
eightDisciplineStatus: 2,
|
||||||
|
examineStatus: 0,
|
||||||
},
|
},
|
||||||
searchOrEditTitle: '',
|
roleList: [],
|
||||||
|
searchOrEditTitle: "",
|
||||||
searchOrUpdateVisible: false,
|
searchOrUpdateVisible: false,
|
||||||
formConfig: [
|
formConfig: [
|
||||||
// {
|
// {
|
||||||
@ -111,23 +150,20 @@ export default {
|
|||||||
// type: "separate",
|
// type: "separate",
|
||||||
// },
|
// },
|
||||||
{
|
{
|
||||||
type: 'input',
|
type: "input",
|
||||||
label: i18n.t('code.title'),
|
label: i18n.t("code.title"),
|
||||||
placeholder: i18n.t('code.title'),
|
placeholder: i18n.t("code.title"),
|
||||||
param: 'title'
|
param: "title",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: "button",
|
type: "button",
|
||||||
btnName: "搜索",
|
btnName: "搜索",
|
||||||
name: "search",
|
name: "search",
|
||||||
color: "primary",
|
color: "primary",
|
||||||
}
|
},
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
// components: {
|
|
||||||
// AddOrUpdate,
|
|
||||||
// },
|
|
||||||
methods: {
|
methods: {
|
||||||
//search-bar点击
|
//search-bar点击
|
||||||
handleProductCancel() {
|
handleProductCancel() {
|
||||||
@ -161,7 +197,9 @@ export default {
|
|||||||
type: "warning",
|
type: "warning",
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
|
this.$http
|
||||||
|
.delete(this.urlOptions.deleteURL, { data: [val.data.id] })
|
||||||
|
.then(({ data }) => {
|
||||||
if (data && data.code === 0) {
|
if (data && data.code === 0) {
|
||||||
this.$message({
|
this.$message({
|
||||||
message: "操作成功",
|
message: "操作成功",
|
||||||
@ -176,32 +214,54 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
.catch(() => { });
|
.catch(() => {});
|
||||||
} else if (val.type === 'edit') {
|
} else if (val.type === "edit") {
|
||||||
this.addOrUpdateVisible = true
|
this.addOrUpdateVisible = true;
|
||||||
this.addOrEditTitle = this.$t('edit')
|
this.addOrEditTitle = this.$t("edit");
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.addOrUpdate.init(val.data.id);
|
this.$refs.addOrUpdate.init(val.data.id);
|
||||||
});
|
});
|
||||||
|
} else if (val.type === "team") {
|
||||||
|
this.$http
|
||||||
|
.get("/sys/user/list")
|
||||||
|
.then(({ data: res }) => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.roleList = res.data;
|
||||||
|
this.teamSetVisible = true;
|
||||||
|
this.teamSetTitle = "团队";
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.teamSet.init(val.data.id);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleCancel() {
|
||||||
|
this.$refs.teamSet.formClear();
|
||||||
|
this.teamSetVisible = false;
|
||||||
|
this.teamSetTitle = "";
|
||||||
|
},
|
||||||
|
handleConfirm() {
|
||||||
|
this.$refs.teamSet.dataFormSubmit();
|
||||||
},
|
},
|
||||||
buttonClick(val) {
|
buttonClick(val) {
|
||||||
switch (val.btnName) {
|
switch (val.btnName) {
|
||||||
case "search":
|
case "search":
|
||||||
// this.listQuery.paramCode = val.paramCode;
|
// this.listQuery.paramCode = val.paramCode;
|
||||||
this.listQuery.page = 1;
|
this.listQuery.page = 1;
|
||||||
this.listQuery.title = val.title ? val.title : ''
|
this.listQuery.title = val.title ? val.title : "";
|
||||||
this.getDataList();
|
this.getDataList();
|
||||||
break;
|
break;
|
||||||
case "add":
|
case "add":
|
||||||
this.addOrEditTitle = this.$t('add')
|
this.addOrEditTitle = this.$t("add");
|
||||||
this.addOrUpdateVisible = true;
|
this.addOrUpdateVisible = true;
|
||||||
this.addOrUpdateHandle()
|
this.addOrUpdateHandle();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
console.log(val)
|
console.log(val);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-01-11 09:24:58
|
* @Date: 2023-01-11 09:24:58
|
||||||
* @LastEditTime: 2023-06-05 09:11:18
|
* @LastEditTime: 2023-06-30 09:26:26
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zwq
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -14,12 +14,21 @@
|
|||||||
</el-badge> -->
|
</el-badge> -->
|
||||||
</SearchBar>
|
</SearchBar>
|
||||||
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
|
<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"
|
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" label="操作" :method-list="tableBtn"
|
||||||
@clickBtn="handleClick" />
|
@clickBtn="handleClick" />
|
||||||
</base-table>
|
</base-table>
|
||||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||||
@pagination="getDataList" />
|
@pagination="getDataList" />
|
||||||
<!-- 弹窗, 新增 / 修改 -->
|
<!-- 弹窗, 新增 / 修改 -->
|
||||||
|
<base-dialog
|
||||||
|
:dialogTitle="addOrEditTitle"
|
||||||
|
:dialogVisible="addOrUpdateVisible"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
@confirm="handleConfirm"
|
||||||
|
:before-close="handleCancel"
|
||||||
|
>
|
||||||
|
<add-or-update ref="addOrUpdate" @refreshDataList="successSubmit"></add-or-update>
|
||||||
|
</base-dialog>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</template>
|
</template>
|
||||||
@ -31,7 +40,10 @@ import basicPage from "@/mixins/basic-page"
|
|||||||
// import AddOrUpdate from './params-add-or-update'
|
// import AddOrUpdate from './params-add-or-update'
|
||||||
// import transferSchemeSearch from "./components/transferSchemeSearch.vue"
|
// import transferSchemeSearch from "./components/transferSchemeSearch.vue"
|
||||||
// import available from "./components/available.vue"
|
// import available from "./components/available.vue"
|
||||||
|
import AddOrUpdate from './components/startEightDisciplineDescriptionCorrectiveAction-add.vue'
|
||||||
import basicSearch from "@/mixins/basic-search"
|
import basicSearch from "@/mixins/basic-search"
|
||||||
|
import codeFilter from '@/filters/code-filter'
|
||||||
|
import { timeFormatter } from "@/filters/code-filter"
|
||||||
import i18n from "@/i18n"
|
import i18n from "@/i18n"
|
||||||
const tableProps = [
|
const tableProps = [
|
||||||
{
|
{
|
||||||
@ -47,12 +59,14 @@ const tableProps = [
|
|||||||
{
|
{
|
||||||
prop: 'eightDisciplineType',
|
prop: 'eightDisciplineType',
|
||||||
label: i18n.t("code.eightDisciplineType"),
|
label: i18n.t("code.eightDisciplineType"),
|
||||||
align: 'center'
|
align: 'center',
|
||||||
|
filter: codeFilter('eightDisciplineType'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'occurrenceDate',
|
prop: 'occurrenceDate',
|
||||||
label: i18n.t("code.occurrenceDate"),
|
label: i18n.t("code.occurrenceDate"),
|
||||||
align: 'center'
|
align: 'center',
|
||||||
|
filter: timeFormatter,
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
// prop: 'productName',
|
// prop: 'productName',
|
||||||
@ -84,12 +98,15 @@ const tableBtn = [
|
|||||||
type: "delete",
|
type: "delete",
|
||||||
btnName: "删除",
|
btnName: "删除",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
type: "corrective",
|
||||||
|
btnName: "纠正",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
export default {
|
export default {
|
||||||
mixins: [basicPage, basicSearch],
|
mixins: [basicPage, basicSearch],
|
||||||
components: {
|
components: {
|
||||||
// transferSchemeSearch,
|
AddOrUpdate,
|
||||||
// transferSchemeAdd
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -102,7 +119,8 @@ export default {
|
|||||||
listQuery: {
|
listQuery: {
|
||||||
limit: 10,
|
limit: 10,
|
||||||
page: 1,
|
page: 1,
|
||||||
eightDisciplineStatus: 5
|
eightDisciplineStatus: 5,
|
||||||
|
examineStatus: 0
|
||||||
},
|
},
|
||||||
searchOrEditTitle: '',
|
searchOrEditTitle: '',
|
||||||
searchOrUpdateVisible: false,
|
searchOrUpdateVisible: false,
|
||||||
@ -180,6 +198,12 @@ export default {
|
|||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.addOrUpdate.init(val.data.id);
|
this.$refs.addOrUpdate.init(val.data.id);
|
||||||
});
|
});
|
||||||
|
} else if (val.type === "corrective") {
|
||||||
|
this.addOrUpdateVisible = true
|
||||||
|
this.addOrEditTitle = "纠正措施描述"
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addOrUpdate.init(val.data.id);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
buttonClick(val) {
|
buttonClick(val) {
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-01-11 09:24:58
|
* @Date: 2023-01-11 09:24:58
|
||||||
* @LastEditTime: 2023-06-05 09:11:07
|
* @LastEditTime: 2023-06-29 13:57:15
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zwq
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -14,12 +14,21 @@
|
|||||||
</el-badge> -->
|
</el-badge> -->
|
||||||
</SearchBar>
|
</SearchBar>
|
||||||
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
|
<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"
|
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="110" label="操作" :method-list="tableBtn"
|
||||||
@clickBtn="handleClick" />
|
@clickBtn="handleClick" />
|
||||||
</base-table>
|
</base-table>
|
||||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||||
@pagination="getDataList" />
|
@pagination="getDataList" />
|
||||||
<!-- 弹窗, 新增 / 修改 -->
|
<!-- 弹窗, 新增 / 修改 -->
|
||||||
|
<base-dialog
|
||||||
|
:dialogTitle="addOrEditTitle"
|
||||||
|
:dialogVisible="addOrUpdateVisible"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
@confirm="handleConfirm"
|
||||||
|
:before-close="handleCancel"
|
||||||
|
>
|
||||||
|
<add-or-update ref="addOrUpdate" @refreshDataList="successSubmit"></add-or-update>
|
||||||
|
</base-dialog>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</template>
|
</template>
|
||||||
@ -27,11 +36,13 @@
|
|||||||
<script>
|
<script>
|
||||||
import basicPage from "@/mixins/basic-page"
|
import basicPage from "@/mixins/basic-page"
|
||||||
// import InspectionPositionAdd from "./components/InspectionPosition-add"
|
// import InspectionPositionAdd from "./components/InspectionPosition-add"
|
||||||
// import AddOrUpdate from './params-add-or-update'
|
import AddOrUpdate from './components/startEightDisciplinePreliminaryAnalysis-add.vue'
|
||||||
// import failureTypeSearch from "./components/failureTypeSearch"
|
// import failureTypeSearch from "./components/failureTypeSearch"
|
||||||
// import available from "./components/available.vue"
|
// import available from "./components/available.vue"
|
||||||
import basicSearch from "@/mixins/basic-search"
|
import basicSearch from "@/mixins/basic-search"
|
||||||
import i18n from "@/i18n"
|
import i18n from "@/i18n"
|
||||||
|
import codeFilter from '@/filters/code-filter'
|
||||||
|
import { timeFormatter } from "@/filters/code-filter"
|
||||||
const tableProps = [
|
const tableProps = [
|
||||||
{
|
{
|
||||||
prop: 'title',
|
prop: 'title',
|
||||||
@ -46,12 +57,14 @@ const tableProps = [
|
|||||||
{
|
{
|
||||||
prop: 'eightDisciplineType',
|
prop: 'eightDisciplineType',
|
||||||
label: i18n.t("code.eightDisciplineType"),
|
label: i18n.t("code.eightDisciplineType"),
|
||||||
align: 'center'
|
align: 'center',
|
||||||
|
filter: codeFilter('eightDisciplineType'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'occurrenceDate',
|
prop: 'occurrenceDate',
|
||||||
label: i18n.t("code.occurrenceDate"),
|
label: i18n.t("code.occurrenceDate"),
|
||||||
align: 'center'
|
align: 'center',
|
||||||
|
filter: timeFormatter,
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
// prop: 'productName',
|
// prop: 'productName',
|
||||||
@ -83,12 +96,15 @@ const tableBtn = [
|
|||||||
type: "delete",
|
type: "delete",
|
||||||
btnName: "删除",
|
btnName: "删除",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
type: "analysis",
|
||||||
|
btnName: "分析",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
export default {
|
export default {
|
||||||
mixins: [basicPage, basicSearch],
|
mixins: [basicPage, basicSearch],
|
||||||
components: {
|
components: {
|
||||||
// failureTypeSearch,
|
AddOrUpdate,
|
||||||
// InspectionPositionAdd
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -102,7 +118,8 @@ export default {
|
|||||||
listQuery: {
|
listQuery: {
|
||||||
limit: 10,
|
limit: 10,
|
||||||
page: 1,
|
page: 1,
|
||||||
eightDisciplineStatus:1
|
eightDisciplineStatus:1,
|
||||||
|
examineStatus: 0
|
||||||
},
|
},
|
||||||
searchOrUpdateVisible: false,
|
searchOrUpdateVisible: false,
|
||||||
formConfig: [
|
formConfig: [
|
||||||
@ -188,6 +205,12 @@ export default {
|
|||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.addOrUpdate.init(val.data.id);
|
this.$refs.addOrUpdate.init(val.data.id);
|
||||||
});
|
});
|
||||||
|
} else if (val.type === "analysis") {
|
||||||
|
this.addOrUpdateVisible = true
|
||||||
|
this.addOrEditTitle = "初步分析"
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addOrUpdate.init(val.data);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
buttonClick(val) {
|
buttonClick(val) {
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-01-11 09:24:58
|
* @Date: 2023-01-11 09:24:58
|
||||||
* @LastEditTime: 2023-06-05 09:10:50
|
* @LastEditTime: 2023-06-30 09:34:16
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zwq
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -14,12 +14,21 @@
|
|||||||
</el-badge> -->
|
</el-badge> -->
|
||||||
</SearchBar>
|
</SearchBar>
|
||||||
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
|
<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"
|
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" label="操作" :method-list="tableBtn"
|
||||||
@clickBtn="handleClick" />
|
@clickBtn="handleClick" />
|
||||||
</base-table>
|
</base-table>
|
||||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||||
@pagination="getDataList" />
|
@pagination="getDataList" />
|
||||||
<!-- 弹窗, 新增 / 修改 -->
|
<!-- 弹窗, 新增 / 修改 -->
|
||||||
|
<base-dialog
|
||||||
|
:dialogTitle="addOrEditTitle"
|
||||||
|
:dialogVisible="addOrUpdateVisible"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
@confirm="handleConfirm"
|
||||||
|
:before-close="handleCancel"
|
||||||
|
>
|
||||||
|
<add-or-update ref="addOrUpdate" @refreshDataList="successSubmit"></add-or-update>
|
||||||
|
</base-dialog>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</template>
|
</template>
|
||||||
@ -31,7 +40,10 @@ import basicPage from "@/mixins/basic-page"
|
|||||||
// import AddOrUpdate from './params-add-or-update'
|
// import AddOrUpdate from './params-add-or-update'
|
||||||
// import transferSchemeSearch from "./components/transferSchemeSearch.vue"
|
// import transferSchemeSearch from "./components/transferSchemeSearch.vue"
|
||||||
// import available from "./components/available.vue"
|
// import available from "./components/available.vue"
|
||||||
|
import AddOrUpdate from './components/startEightDisciplinePreventRecurrence-add.vue'
|
||||||
import basicSearch from "@/mixins/basic-search"
|
import basicSearch from "@/mixins/basic-search"
|
||||||
|
import { timeFormatter } from "@/filters/code-filter"
|
||||||
|
import codeFilter from '@/filters/code-filter'
|
||||||
import i18n from "@/i18n"
|
import i18n from "@/i18n"
|
||||||
const tableProps = [
|
const tableProps = [
|
||||||
{
|
{
|
||||||
@ -47,12 +59,14 @@ const tableProps = [
|
|||||||
{
|
{
|
||||||
prop: 'eightDisciplineType',
|
prop: 'eightDisciplineType',
|
||||||
label: i18n.t("code.eightDisciplineType"),
|
label: i18n.t("code.eightDisciplineType"),
|
||||||
align: 'center'
|
align: 'center',
|
||||||
|
filter: codeFilter('eightDisciplineType'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'occurrenceDate',
|
prop: 'occurrenceDate',
|
||||||
label: i18n.t("code.occurrenceDate"),
|
label: i18n.t("code.occurrenceDate"),
|
||||||
align: 'center'
|
align: 'center',
|
||||||
|
filter: timeFormatter,
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
// prop: 'productName',
|
// prop: 'productName',
|
||||||
@ -84,12 +98,15 @@ const tableBtn = [
|
|||||||
type: "delete",
|
type: "delete",
|
||||||
btnName: "删除",
|
btnName: "删除",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
type: "prevent",
|
||||||
|
btnName: "预防",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
export default {
|
export default {
|
||||||
mixins: [basicPage, basicSearch],
|
mixins: [basicPage, basicSearch],
|
||||||
components: {
|
components: {
|
||||||
// transferSchemeSearch,
|
AddOrUpdate,
|
||||||
// transferSchemeAdd
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -102,7 +119,8 @@ export default {
|
|||||||
listQuery: {
|
listQuery: {
|
||||||
limit: 10,
|
limit: 10,
|
||||||
page: 1,
|
page: 1,
|
||||||
eightDisciplineStatus: 6
|
eightDisciplineStatus: 7,
|
||||||
|
examineStatus: 0
|
||||||
},
|
},
|
||||||
searchOrEditTitle: '',
|
searchOrEditTitle: '',
|
||||||
searchOrUpdateVisible: false,
|
searchOrUpdateVisible: false,
|
||||||
@ -180,6 +198,12 @@ export default {
|
|||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.addOrUpdate.init(val.data.id);
|
this.$refs.addOrUpdate.init(val.data.id);
|
||||||
});
|
});
|
||||||
|
} else if (val.type === "prevent") {
|
||||||
|
this.addOrUpdateVisible = true
|
||||||
|
this.addOrEditTitle = "预防再发生"
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addOrUpdate.init(val.data.id);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
buttonClick(val) {
|
buttonClick(val) {
|
||||||
|
@ -0,0 +1,155 @@
|
|||||||
|
<template>
|
||||||
|
<el-card shadow="never" class="aui-card--fill">
|
||||||
|
<div class="mod-sys__user">
|
||||||
|
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
||||||
|
<base-table
|
||||||
|
:table-props="tableProps"
|
||||||
|
:page="listQuery.page"
|
||||||
|
:limit="listQuery.limit"
|
||||||
|
:table-data="tableData"
|
||||||
|
>
|
||||||
|
</base-table>
|
||||||
|
<pagination
|
||||||
|
:limit.sync="listQuery.limit"
|
||||||
|
:page.sync="listQuery.page"
|
||||||
|
:total="listQuery.total"
|
||||||
|
@pagination="getDataList"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import basicPage from "@/mixins/basic-page";
|
||||||
|
import codeFilter from "@/filters/code-filter";
|
||||||
|
import { timeFormatter } from "@/filters/code-filter"
|
||||||
|
import i18n from "@/i18n";
|
||||||
|
|
||||||
|
const tableProps = [
|
||||||
|
{
|
||||||
|
prop: "title",
|
||||||
|
label: i18n.t("code.title"),
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "code",
|
||||||
|
label: i18n.t("code.code"),
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "eightDisciplineType",
|
||||||
|
label: i18n.t("code.eightDisciplineType"),
|
||||||
|
align: "center",
|
||||||
|
filter: codeFilter("eightDisciplineType"),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "occurrenceDate",
|
||||||
|
label: i18n.t("code.occurrenceDate"),
|
||||||
|
align: "center",
|
||||||
|
filter: timeFormatter,
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// prop: 'productName',
|
||||||
|
// label: i18n.t("code.productName"),
|
||||||
|
// align: 'center'
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// prop: 'customName',
|
||||||
|
// label: i18n.t("code.customName"),
|
||||||
|
// align: 'center'
|
||||||
|
// },
|
||||||
|
{
|
||||||
|
prop: "description",
|
||||||
|
label: i18n.t("code.description"),
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "examineStatus",
|
||||||
|
label: i18n.t("code.examineStatus"),
|
||||||
|
align: "center",
|
||||||
|
filter: codeFilter("examineStatus"),
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
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() {
|
||||||
|
return {
|
||||||
|
urlOptions: {
|
||||||
|
getDataListURL: "/code/startEightDiscipline/page",
|
||||||
|
deleteURL: "/code/startEightDiscipline",
|
||||||
|
},
|
||||||
|
tableProps,
|
||||||
|
eightDisciplineStatusArr,
|
||||||
|
tableData: [],
|
||||||
|
formConfig: [
|
||||||
|
{
|
||||||
|
type: "select",
|
||||||
|
label: "状态",
|
||||||
|
selectOptions: eightDisciplineStatusArr,
|
||||||
|
param: "status",
|
||||||
|
defaultSelect: "",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "button",
|
||||||
|
btnName: "搜索",
|
||||||
|
name: "search",
|
||||||
|
color: "primary",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//search-bar点击
|
||||||
|
buttonClick(val) {
|
||||||
|
switch (val.btnName) {
|
||||||
|
case "search":
|
||||||
|
this.listQuery.eightDisciplineStatus = val.status;
|
||||||
|
this.listQuery.page = 1;
|
||||||
|
this.getDataList();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
console.log(val);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
@ -1,8 +1,8 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-01-11 09:24:58
|
* @Date: 2023-01-11 09:24:58
|
||||||
* @LastEditTime: 2023-06-05 09:10:40
|
* @LastEditTime: 2023-06-30 09:21:25
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zwq
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -14,12 +14,21 @@
|
|||||||
</el-badge> -->
|
</el-badge> -->
|
||||||
</SearchBar>
|
</SearchBar>
|
||||||
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
|
<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"
|
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" label="操作" :method-list="tableBtn"
|
||||||
@clickBtn="handleClick" />
|
@clickBtn="handleClick" />
|
||||||
</base-table>
|
</base-table>
|
||||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||||
@pagination="getDataList" />
|
@pagination="getDataList" />
|
||||||
<!-- 弹窗, 新增 / 修改 -->
|
<!-- 弹窗, 新增 / 修改 -->
|
||||||
|
<base-dialog
|
||||||
|
:dialogTitle="addOrEditTitle"
|
||||||
|
:dialogVisible="addOrUpdateVisible"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
@confirm="handleConfirm"
|
||||||
|
:before-close="handleCancel"
|
||||||
|
>
|
||||||
|
<add-or-update ref="addOrUpdate" @refreshDataList="successSubmit"></add-or-update>
|
||||||
|
</base-dialog>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</template>
|
</template>
|
||||||
@ -30,7 +39,10 @@ import basicPage from "@/mixins/basic-page"
|
|||||||
// import AddOrUpdate from './params-add-or-update'
|
// import AddOrUpdate from './params-add-or-update'
|
||||||
// import transferSchemeSearch from "./components/transferSchemeSearch.vue"
|
// import transferSchemeSearch from "./components/transferSchemeSearch.vue"
|
||||||
// import available from "./components/available.vue"
|
// import available from "./components/available.vue"
|
||||||
|
import AddOrUpdate from './components/startEightDisciplineRootCauseAnalysis-add.vue'
|
||||||
import basicSearch from "@/mixins/basic-search"
|
import basicSearch from "@/mixins/basic-search"
|
||||||
|
import { timeFormatter } from "@/filters/code-filter"
|
||||||
|
import codeFilter from '@/filters/code-filter'
|
||||||
import i18n from "@/i18n"
|
import i18n from "@/i18n"
|
||||||
const tableProps = [
|
const tableProps = [
|
||||||
{
|
{
|
||||||
@ -46,12 +58,14 @@ const tableProps = [
|
|||||||
{
|
{
|
||||||
prop: 'eightDisciplineType',
|
prop: 'eightDisciplineType',
|
||||||
label: i18n.t("code.eightDisciplineType"),
|
label: i18n.t("code.eightDisciplineType"),
|
||||||
align: 'center'
|
align: 'center',
|
||||||
|
filter: codeFilter('eightDisciplineType'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'occurrenceDate',
|
prop: 'occurrenceDate',
|
||||||
label: i18n.t("code.occurrenceDate"),
|
label: i18n.t("code.occurrenceDate"),
|
||||||
align: 'center'
|
align: 'center',
|
||||||
|
filter: timeFormatter,
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
// prop: 'productName',
|
// prop: 'productName',
|
||||||
@ -83,12 +97,15 @@ const tableBtn = [
|
|||||||
type: "delete",
|
type: "delete",
|
||||||
btnName: "删除",
|
btnName: "删除",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
type: "analysis",
|
||||||
|
btnName: "分析",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
export default {
|
export default {
|
||||||
mixins: [basicPage, basicSearch],
|
mixins: [basicPage, basicSearch],
|
||||||
components: {
|
components: {
|
||||||
// transferSchemeSearch,
|
AddOrUpdate,
|
||||||
// transferSchemeAdd
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -101,7 +118,8 @@ export default {
|
|||||||
listQuery: {
|
listQuery: {
|
||||||
limit: 10,
|
limit: 10,
|
||||||
page: 1,
|
page: 1,
|
||||||
eightDisciplineStatus: 4
|
eightDisciplineStatus: 4,
|
||||||
|
examineStatus: 0
|
||||||
},
|
},
|
||||||
searchOrEditTitle: '',
|
searchOrEditTitle: '',
|
||||||
searchOrUpdateVisible: false,
|
searchOrUpdateVisible: false,
|
||||||
@ -179,6 +197,12 @@ export default {
|
|||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.addOrUpdate.init(val.data.id);
|
this.$refs.addOrUpdate.init(val.data.id);
|
||||||
});
|
});
|
||||||
|
} else if (val.type === "analysis") {
|
||||||
|
this.addOrUpdateVisible = true
|
||||||
|
this.addOrEditTitle = "根本原因分析"
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addOrUpdate.init(val.data);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
buttonClick(val) {
|
buttonClick(val) {
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-01-11 09:24:58
|
* @Date: 2023-01-11 09:24:58
|
||||||
* @LastEditTime: 2023-06-05 09:10:30
|
* @LastEditTime: 2023-06-30 09:37:58
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zwq
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -15,12 +15,21 @@
|
|||||||
</el-badge> -->
|
</el-badge> -->
|
||||||
</SearchBar>
|
</SearchBar>
|
||||||
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
|
<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"
|
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" label="操作" :method-list="tableBtn"
|
||||||
@clickBtn="handleClick" />
|
@clickBtn="handleClick" />
|
||||||
</base-table>
|
</base-table>
|
||||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||||
@pagination="getDataList" />
|
@pagination="getDataList" />
|
||||||
<!-- 弹窗, 新增 / 修改 -->
|
<!-- 弹窗, 新增 / 修改 -->
|
||||||
|
<base-dialog
|
||||||
|
:dialogTitle="addOrEditTitle"
|
||||||
|
:dialogVisible="addOrUpdateVisible"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
@confirm="handleConfirm"
|
||||||
|
:before-close="handleCancel"
|
||||||
|
>
|
||||||
|
<add-or-update ref="addOrUpdate" @refreshDataList="successSubmit"></add-or-update>
|
||||||
|
</base-dialog>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</template>
|
</template>
|
||||||
@ -31,7 +40,10 @@ import basicPage from "@/mixins/basic-page"
|
|||||||
// import AddOrUpdate from './params-add-or-update'
|
// import AddOrUpdate from './params-add-or-update'
|
||||||
// import transferSchemeSearch from "./components/transferSchemeSearch.vue"
|
// import transferSchemeSearch from "./components/transferSchemeSearch.vue"
|
||||||
// import available from "./components/available.vue"
|
// import available from "./components/available.vue"
|
||||||
|
import AddOrUpdate from './components/startEightDisciplineSummaryExperience-add.vue'
|
||||||
import basicSearch from "@/mixins/basic-search"
|
import basicSearch from "@/mixins/basic-search"
|
||||||
|
import { timeFormatter } from "@/filters/code-filter"
|
||||||
|
import codeFilter from '@/filters/code-filter'
|
||||||
import i18n from "@/i18n"
|
import i18n from "@/i18n"
|
||||||
const tableProps = [
|
const tableProps = [
|
||||||
{
|
{
|
||||||
@ -47,12 +59,14 @@ const tableProps = [
|
|||||||
{
|
{
|
||||||
prop: 'eightDisciplineType',
|
prop: 'eightDisciplineType',
|
||||||
label: i18n.t("code.eightDisciplineType"),
|
label: i18n.t("code.eightDisciplineType"),
|
||||||
align: 'center'
|
align: 'center',
|
||||||
|
filter: codeFilter('eightDisciplineType'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'occurrenceDate',
|
prop: 'occurrenceDate',
|
||||||
label: i18n.t("code.occurrenceDate"),
|
label: i18n.t("code.occurrenceDate"),
|
||||||
align: 'center'
|
align: 'center',
|
||||||
|
filter: timeFormatter,
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
// prop: 'productName',
|
// prop: 'productName',
|
||||||
@ -84,12 +98,15 @@ const tableBtn = [
|
|||||||
type: "delete",
|
type: "delete",
|
||||||
btnName: "删除",
|
btnName: "删除",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
type: "summary",
|
||||||
|
btnName: "总结",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
export default {
|
export default {
|
||||||
mixins: [basicPage, basicSearch],
|
mixins: [basicPage, basicSearch],
|
||||||
components: {
|
components: {
|
||||||
// transferSchemeSearch,
|
AddOrUpdate,
|
||||||
// transferSchemeAdd
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -102,7 +119,8 @@ export default {
|
|||||||
listQuery: {
|
listQuery: {
|
||||||
limit: 10,
|
limit: 10,
|
||||||
page: 1,
|
page: 1,
|
||||||
eightDisciplineStatus: 8
|
eightDisciplineStatus: 8,
|
||||||
|
examineStatus: 0
|
||||||
},
|
},
|
||||||
searchOrEditTitle: '',
|
searchOrEditTitle: '',
|
||||||
searchOrUpdateVisible: false,
|
searchOrUpdateVisible: false,
|
||||||
@ -180,6 +198,12 @@ export default {
|
|||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.addOrUpdate.init(val.data.id);
|
this.$refs.addOrUpdate.init(val.data.id);
|
||||||
});
|
});
|
||||||
|
} else if (val.type === "summary") {
|
||||||
|
this.addOrUpdateVisible = true
|
||||||
|
this.addOrEditTitle = "总结与经验分享"
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addOrUpdate.init(val.data.id);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
buttonClick(val) {
|
buttonClick(val) {
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-01-11 09:24:58
|
* @Date: 2023-01-11 09:24:58
|
||||||
* @LastEditTime: 2023-06-05 09:13:01
|
* @LastEditTime: 2023-06-29 16:48:05
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zwq
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -14,23 +14,41 @@
|
|||||||
</el-badge> -->
|
</el-badge> -->
|
||||||
</SearchBar>
|
</SearchBar>
|
||||||
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
|
<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"
|
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" label="操作" :method-list="tableBtn"
|
||||||
@clickBtn="handleClick" />
|
@clickBtn="handleClick" />
|
||||||
</base-table>
|
</base-table>
|
||||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||||
@pagination="getDataList" />
|
@pagination="getDataList" />
|
||||||
|
|
||||||
<!-- 弹窗, 新增 / 修改 -->
|
<!-- 弹窗, 新增 / 修改 -->
|
||||||
|
<base-dialog
|
||||||
|
:dialogTitle="teamSetTitle"
|
||||||
|
:dialogVisible="teamSetVisible"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
@confirm="handleConfirm"
|
||||||
|
:before-close="handleCancel"
|
||||||
|
width=70%
|
||||||
|
>
|
||||||
|
<add-or-update
|
||||||
|
ref="teamSet"
|
||||||
|
:roleList="roleList"
|
||||||
|
@refreshDataList="successSubmit"
|
||||||
|
></add-or-update>
|
||||||
|
</base-dialog>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import basicPage from "@/mixins/basic-page"
|
import basicPage from "@/mixins/basic-page"
|
||||||
|
import AddOrUpdate from "./components/startEightDisciplineTemporaryTreatmentMeasures-add";
|
||||||
// import samplingPlanAdd from "./components/samplingPlan-add"
|
// import samplingPlanAdd from "./components/samplingPlan-add"
|
||||||
// import AddOrUpdate from './params-add-or-update'
|
// import AddOrUpdate from './params-add-or-update'
|
||||||
// import failureTypeSearch from "./components/failureTypeSearch"
|
// import failureTypeSearch from "./components/failureTypeSearch"
|
||||||
// import available from "./components/available.vue"
|
// import available from "./components/available.vue"
|
||||||
import basicSearch from "@/mixins/basic-search"
|
import basicSearch from "@/mixins/basic-search"
|
||||||
|
import { timeFormatter } from "@/filters/code-filter"
|
||||||
|
import codeFilter from '@/filters/code-filter'
|
||||||
import i18n from "@/i18n"
|
import i18n from "@/i18n"
|
||||||
const tableProps = [
|
const tableProps = [
|
||||||
{
|
{
|
||||||
@ -46,12 +64,14 @@ const tableProps = [
|
|||||||
{
|
{
|
||||||
prop: 'eightDisciplineType',
|
prop: 'eightDisciplineType',
|
||||||
label: i18n.t("code.eightDisciplineType"),
|
label: i18n.t("code.eightDisciplineType"),
|
||||||
align: 'center'
|
align: 'center',
|
||||||
|
filter: codeFilter('eightDisciplineType'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'occurrenceDate',
|
prop: 'occurrenceDate',
|
||||||
label: i18n.t("code.occurrenceDate"),
|
label: i18n.t("code.occurrenceDate"),
|
||||||
align: 'center'
|
align: 'center',
|
||||||
|
filter: timeFormatter,
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
// prop: 'productName',
|
// prop: 'productName',
|
||||||
@ -83,12 +103,15 @@ const tableBtn = [
|
|||||||
type: "delete",
|
type: "delete",
|
||||||
btnName: "删除",
|
btnName: "删除",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
type: "measure",
|
||||||
|
btnName: "措施",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
export default {
|
export default {
|
||||||
mixins: [basicPage, basicSearch],
|
mixins: [basicPage, basicSearch],
|
||||||
components: {
|
components: {
|
||||||
// failureTypeSearch,
|
AddOrUpdate,
|
||||||
// samplingPlanAdd
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -96,10 +119,14 @@ export default {
|
|||||||
getDataListURL: "/code/startEightDiscipline/page",
|
getDataListURL: "/code/startEightDiscipline/page",
|
||||||
deleteURL: "/code/startEightDiscipline",
|
deleteURL: "/code/startEightDiscipline",
|
||||||
},
|
},
|
||||||
|
roleList: [],
|
||||||
|
teamSetTitle: "",
|
||||||
|
teamSetVisible: false,
|
||||||
listQuery: {
|
listQuery: {
|
||||||
limit: 10,
|
limit: 10,
|
||||||
page: 1,
|
page: 1,
|
||||||
eightDisciplineStatus: 3
|
eightDisciplineStatus: 3,
|
||||||
|
examineStatus: 0
|
||||||
},
|
},
|
||||||
tableProps,
|
tableProps,
|
||||||
tableBtn,
|
tableBtn,
|
||||||
@ -188,7 +215,29 @@ export default {
|
|||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.addOrUpdate.init(val.data.id);
|
this.$refs.addOrUpdate.init(val.data.id);
|
||||||
});
|
});
|
||||||
|
} else if (val.type === "measure") {
|
||||||
|
this.$http
|
||||||
|
.get("/sys/user/list")
|
||||||
|
.then(({ data: res }) => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.roleList = res.data;
|
||||||
|
this.teamSetVisible = true;
|
||||||
|
this.teamSetTitle = "措施";
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.teamSet.init(val.data.id);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleCancel() {
|
||||||
|
this.$refs.teamSet.formClear();
|
||||||
|
this.teamSetVisible = false;
|
||||||
|
this.teamSetTitle = "";
|
||||||
|
},
|
||||||
|
handleConfirm() {
|
||||||
|
this.$refs.teamSet.dataFormSubmit();
|
||||||
},
|
},
|
||||||
buttonClick(val) {
|
buttonClick(val) {
|
||||||
switch (val.btnName) {
|
switch (val.btnName) {
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-01-11 09:24:58
|
* @Date: 2023-01-11 09:24:58
|
||||||
* @LastEditTime: 2023-06-05 09:09:59
|
* @LastEditTime: 2023-06-30 09:31:04
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zwq
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -14,12 +14,21 @@
|
|||||||
</el-badge> -->
|
</el-badge> -->
|
||||||
</SearchBar>
|
</SearchBar>
|
||||||
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
|
<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"
|
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" label="操作" :method-list="tableBtn"
|
||||||
@clickBtn="handleClick" />
|
@clickBtn="handleClick" />
|
||||||
</base-table>
|
</base-table>
|
||||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||||
@pagination="getDataList" />
|
@pagination="getDataList" />
|
||||||
<!-- 弹窗, 新增 / 修改 -->
|
<!-- 弹窗, 新增 / 修改 -->
|
||||||
|
<base-dialog
|
||||||
|
:dialogTitle="addOrEditTitle"
|
||||||
|
:dialogVisible="addOrUpdateVisible"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
@confirm="handleConfirm"
|
||||||
|
:before-close="handleCancel"
|
||||||
|
>
|
||||||
|
<add-or-update ref="addOrUpdate" @refreshDataList="successSubmit"></add-or-update>
|
||||||
|
</base-dialog>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</template>
|
</template>
|
||||||
@ -30,7 +39,10 @@ import basicPage from "@/mixins/basic-page"
|
|||||||
// import AddOrUpdate from './params-add-or-update'
|
// import AddOrUpdate from './params-add-or-update'
|
||||||
// import transferSchemeSearch from "./components/transferSchemeSearch.vue"
|
// import transferSchemeSearch from "./components/transferSchemeSearch.vue"
|
||||||
// import available from "./components/available.vue"
|
// import available from "./components/available.vue"
|
||||||
|
import AddOrUpdate from './components/startEightDisciplineValidation-add.vue'
|
||||||
import basicSearch from "@/mixins/basic-search"
|
import basicSearch from "@/mixins/basic-search"
|
||||||
|
import { timeFormatter } from "@/filters/code-filter"
|
||||||
|
import codeFilter from '@/filters/code-filter'
|
||||||
import i18n from "@/i18n"
|
import i18n from "@/i18n"
|
||||||
const tableProps = [
|
const tableProps = [
|
||||||
{
|
{
|
||||||
@ -46,12 +58,14 @@ const tableProps = [
|
|||||||
{
|
{
|
||||||
prop: 'eightDisciplineType',
|
prop: 'eightDisciplineType',
|
||||||
label: i18n.t("code.eightDisciplineType"),
|
label: i18n.t("code.eightDisciplineType"),
|
||||||
align: 'center'
|
align: 'center',
|
||||||
|
filter: codeFilter('eightDisciplineType'),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'occurrenceDate',
|
prop: 'occurrenceDate',
|
||||||
label: i18n.t("code.occurrenceDate"),
|
label: i18n.t("code.occurrenceDate"),
|
||||||
align: 'center'
|
align: 'center',
|
||||||
|
filter: timeFormatter,
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
// prop: 'productName',
|
// prop: 'productName',
|
||||||
@ -83,12 +97,15 @@ const tableBtn = [
|
|||||||
type: "delete",
|
type: "delete",
|
||||||
btnName: "删除",
|
btnName: "删除",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
type: "validation",
|
||||||
|
btnName: "验证",
|
||||||
|
},
|
||||||
];
|
];
|
||||||
export default {
|
export default {
|
||||||
mixins: [basicPage, basicSearch],
|
mixins: [basicPage, basicSearch],
|
||||||
components: {
|
components: {
|
||||||
// transferSchemeSearch,
|
AddOrUpdate,
|
||||||
// transferSchemeAdd
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -101,7 +118,8 @@ export default {
|
|||||||
listQuery: {
|
listQuery: {
|
||||||
limit: 10,
|
limit: 10,
|
||||||
page: 1,
|
page: 1,
|
||||||
eightDisciplineStatus: 7
|
eightDisciplineStatus: 6,
|
||||||
|
examineStatus: 0
|
||||||
},
|
},
|
||||||
searchOrEditTitle: '',
|
searchOrEditTitle: '',
|
||||||
searchOrUpdateVisible: false,
|
searchOrUpdateVisible: false,
|
||||||
@ -179,6 +197,12 @@ export default {
|
|||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.addOrUpdate.init(val.data.id);
|
this.$refs.addOrUpdate.init(val.data.id);
|
||||||
});
|
});
|
||||||
|
} else if (val.type === "validation") {
|
||||||
|
this.addOrUpdateVisible = true
|
||||||
|
this.addOrEditTitle = "有效性验证"
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.addOrUpdate.init(val.data.id);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
buttonClick(val) {
|
buttonClick(val) {
|
||||||
|
139
src/views/modules/code/startEightGrade.vue
Normal file
139
src/views/modules/code/startEightGrade.vue
Normal file
@ -0,0 +1,139 @@
|
|||||||
|
<template>
|
||||||
|
<el-card shadow="never" class="aui-card--fill">
|
||||||
|
<div class="mod-sys__user">
|
||||||
|
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
||||||
|
<base-table
|
||||||
|
:table-props="tableProps"
|
||||||
|
:page="listQuery.page"
|
||||||
|
:limit="listQuery.limit"
|
||||||
|
:table-data="tableData"
|
||||||
|
>
|
||||||
|
<method-btn
|
||||||
|
v-if="tableBtn.length"
|
||||||
|
slot="handleBtn"
|
||||||
|
:width="60"
|
||||||
|
:label="$t('handle')"
|
||||||
|
: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"
|
||||||
|
>
|
||||||
|
<add-or-update ref="addOrUpdate" @refreshDataList="successSubmit"></add-or-update>
|
||||||
|
</base-dialog>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import AddOrUpdate from "./components/startEightGrade-add";
|
||||||
|
import basicPage from "@/mixins/basic-page";
|
||||||
|
import codeFilter from "@/filters/code-filter";
|
||||||
|
import { timeFormatter } from "@/filters/code-filter";
|
||||||
|
import i18n from "@/i18n";
|
||||||
|
|
||||||
|
const tableProps = [
|
||||||
|
{
|
||||||
|
prop: "title",
|
||||||
|
label: i18n.t("code.title"),
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "code",
|
||||||
|
label: i18n.t("code.code"),
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "eightDisciplineType",
|
||||||
|
label: i18n.t("code.eightDisciplineType"),
|
||||||
|
align: "center",
|
||||||
|
filter: codeFilter("eightDisciplineType"),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "occurrenceDate",
|
||||||
|
label: i18n.t("code.occurrenceDate"),
|
||||||
|
align: "center",
|
||||||
|
filter: timeFormatter,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "description",
|
||||||
|
label: i18n.t("code.description"),
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "examineStatus",
|
||||||
|
label: i18n.t("code.examineStatus"),
|
||||||
|
align: "center",
|
||||||
|
filter: codeFilter("examineStatus"),
|
||||||
|
},
|
||||||
|
];
|
||||||
|
const tableBtn = [
|
||||||
|
{
|
||||||
|
type: "grade",
|
||||||
|
btnName: "打分",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
export default {
|
||||||
|
mixins: [basicPage],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
urlOptions: {
|
||||||
|
getDataListURL: "/code/startEightDiscipline/page",
|
||||||
|
deleteURL: "/code/startEightDiscipline",
|
||||||
|
},
|
||||||
|
tableProps,
|
||||||
|
tableBtn,
|
||||||
|
listQuery: {
|
||||||
|
limit: 10,
|
||||||
|
page: 1,
|
||||||
|
total: 1,
|
||||||
|
eightDisciplineStatus: 9,
|
||||||
|
examineStatus: 0,
|
||||||
|
},
|
||||||
|
tableData: [],
|
||||||
|
formConfig: [
|
||||||
|
{
|
||||||
|
type: "button",
|
||||||
|
btnName: "搜索",
|
||||||
|
name: "search",
|
||||||
|
color: "primary",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
components: {
|
||||||
|
AddOrUpdate,
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//search-bar点击
|
||||||
|
buttonClick(val) {
|
||||||
|
switch (val.btnName) {
|
||||||
|
case "search":
|
||||||
|
this.listQuery.page = 1;
|
||||||
|
this.getDataList();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
console.log(val);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
otherMethods(val) {
|
||||||
|
this.addOrEditTitle = "打分";
|
||||||
|
this.addOrUpdateVisible = true;
|
||||||
|
this.addOrUpdateHandle(val.data.id);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-02-14 15:02:26
|
* @Date: 2023-02-14 15:02:26
|
||||||
* @LastEditTime: 2023-06-28 14:15:42
|
* @LastEditTime: 2023-06-29 16:36:33
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -126,13 +126,96 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-button @click="getTableData()" type="primary">{{ $t('gage.tabularComputations') }}</el-button>
|
<el-button @click="getTableData()" type="primary">{{ $t('gage.tabularComputations') }}</el-button>
|
||||||
<base-table :table-props="tableProps" :table-data="tableData" :page="1" :limit="20" />
|
<base-table :table-props="tableProps" :table-data="tableData" />
|
||||||
</el-form>
|
</el-form>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import debounce from "lodash/debounce";
|
import debounce from "lodash/debounce";
|
||||||
import basicAdd from "@/mixins/basic-add";
|
import basicAdd from "@/mixins/basic-add";
|
||||||
|
import available from "./available";
|
||||||
|
// const tableProps = [
|
||||||
|
// {
|
||||||
|
// prop: 'equipmentName',
|
||||||
|
// label: '设备名称'
|
||||||
|
// },
|
||||||
|
// // {
|
||||||
|
// // prop: 'lineA',
|
||||||
|
// // label: '有效时间(h)',
|
||||||
|
// // children: [
|
||||||
|
// // {
|
||||||
|
// // prop: 'workTime',
|
||||||
|
// // label: '工作时长'
|
||||||
|
// // },
|
||||||
|
// // {
|
||||||
|
// // prop: 'workTimeRate',
|
||||||
|
// // label: '工作时长比率'
|
||||||
|
// // }
|
||||||
|
// // ]
|
||||||
|
// // },
|
||||||
|
// // {
|
||||||
|
// // prop: 'lineB',
|
||||||
|
// // label: '关机时间(h)',
|
||||||
|
// // children: [
|
||||||
|
// // {
|
||||||
|
// // prop: 'downTime',
|
||||||
|
// // label: '停机时长'
|
||||||
|
// // },
|
||||||
|
// // {
|
||||||
|
// // prop: 'downTimeRate',
|
||||||
|
// // label: '停机时长比率'
|
||||||
|
// // }
|
||||||
|
// // ]
|
||||||
|
// // },
|
||||||
|
// // {
|
||||||
|
// // prop: 'lineC',
|
||||||
|
// // label: '中断损失',
|
||||||
|
// // children: [
|
||||||
|
// // {
|
||||||
|
// // prop: 'faultTime',
|
||||||
|
// // label: '故障时长'
|
||||||
|
// // },
|
||||||
|
// // {
|
||||||
|
// // prop: 'faultTimeRate',
|
||||||
|
// // label: '故障时长比率'
|
||||||
|
// // }
|
||||||
|
// // ]
|
||||||
|
// // },
|
||||||
|
// // {
|
||||||
|
// // prop: 'lineD',
|
||||||
|
// // label: '速度损失',
|
||||||
|
// // children: [
|
||||||
|
// // {
|
||||||
|
// // prop: 'actualProcessingSpeed',
|
||||||
|
// // label: '实际加工速度'
|
||||||
|
// // },
|
||||||
|
// // {
|
||||||
|
// // prop: 'theoreticalProcessingSpeed',
|
||||||
|
// // label: '理论加工速度'
|
||||||
|
// // },
|
||||||
|
// // {
|
||||||
|
// // prop: 'speedActuationRate',
|
||||||
|
// // label: '速度开动率'
|
||||||
|
// // }
|
||||||
|
// // ]
|
||||||
|
// // }
|
||||||
|
// ]
|
||||||
|
const tableProps = [
|
||||||
|
{
|
||||||
|
prop: 'testUserName',
|
||||||
|
label: '人员'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'orderNumber',
|
||||||
|
label: '序号'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'test',
|
||||||
|
label: '零件',
|
||||||
|
children: [
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
export default {
|
export default {
|
||||||
mixins: [basicAdd],
|
mixins: [basicAdd],
|
||||||
data() {
|
data() {
|
||||||
@ -147,10 +230,11 @@ export default {
|
|||||||
getCustomerListURL: '/basic/qmsCustomer/page',
|
getCustomerListURL: '/basic/qmsCustomer/page',
|
||||||
getTabularComputationsURL: '/gage/qmsGageGrrTester/table'
|
getTabularComputationsURL: '/gage/qmsGageGrrTester/table'
|
||||||
},
|
},
|
||||||
|
trueTableProps: [],
|
||||||
gageList: [],
|
gageList: [],
|
||||||
userList: [],
|
userList: [],
|
||||||
|
tableProps,
|
||||||
customerList: [],
|
customerList: [],
|
||||||
tableProps: [],
|
|
||||||
tableData:[],
|
tableData:[],
|
||||||
gageTypeList:[],
|
gageTypeList:[],
|
||||||
departmentList: [],
|
departmentList: [],
|
||||||
@ -217,6 +301,8 @@ export default {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
visible: false,
|
visible: false,
|
||||||
|
// tableProp2,
|
||||||
|
chartDataArr: [],
|
||||||
dataForm: {
|
dataForm: {
|
||||||
connection:null,
|
connection:null,
|
||||||
corporation: null,
|
corporation: null,
|
||||||
@ -271,6 +357,10 @@ export default {
|
|||||||
mounted () {
|
mounted () {
|
||||||
this.getData();
|
this.getData();
|
||||||
},
|
},
|
||||||
|
destroyed () {
|
||||||
|
this.tableData = []
|
||||||
|
this.tableProps = []
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getTableData() {
|
getTableData() {
|
||||||
this.$http.get(this.urlOptions.getTabularComputationsURL, {
|
this.$http.get(this.urlOptions.getTabularComputationsURL, {
|
||||||
@ -278,119 +368,131 @@ export default {
|
|||||||
gageGrrId:this.dataForm.id
|
gageGrrId:this.dataForm.id
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
.then(({ data: res }) => {
|
.then(({ data: result }) => {
|
||||||
if (res.code === 0) {
|
if (result.code === 0) {
|
||||||
console.log(res)
|
console.log(result)
|
||||||
|
let arr = []
|
||||||
|
// let aa = []
|
||||||
|
// let moreData = [
|
||||||
|
// // {
|
||||||
|
// // testUserName: null,
|
||||||
|
// // data: [
|
||||||
|
// // {
|
||||||
|
// // orderNumber: result.data.qmsGageGrrTesterDTOList[i].list[j].orderNumber,
|
||||||
|
// // data: aa
|
||||||
|
// // },
|
||||||
|
// // {
|
||||||
|
// // equipmentName: '机器人投入数',
|
||||||
|
// // data: aa
|
||||||
|
// // },
|
||||||
|
// // {
|
||||||
|
// // equipmentName: '良品总投入数',
|
||||||
|
// // data: aa
|
||||||
|
// // },
|
||||||
|
// // {
|
||||||
|
// // equipmentName: '工序损耗',
|
||||||
|
// // data: aa
|
||||||
|
// // }
|
||||||
|
// // ]
|
||||||
|
// // },
|
||||||
|
// ]
|
||||||
|
for (let i = 0; i < result.data.qmsGageGrrTesterDTOList.length; i++){
|
||||||
|
// console.log(result.data.qmsGageGrrTesterDTOList[i].orderMapList)
|
||||||
|
Object.keys(result.data.qmsGageGrrTesterDTOList[i].partMapList).forEach((item) => {
|
||||||
|
this.tableProps[2].children.push({
|
||||||
|
label: String(item),
|
||||||
|
prop: 'measuredData'+String(item),
|
||||||
|
})
|
||||||
|
})
|
||||||
|
Object.keys(result.data.qmsGageGrrTesterDTOList[i].orderMapList).forEach((item) => {
|
||||||
|
let measuredData = 'measuredData' + String(item)
|
||||||
|
this.tableData.push({
|
||||||
|
testUserName: result.data.qmsGageGrrTesterDTOList[i].testUserName,
|
||||||
|
orderNumber: item,
|
||||||
|
[measuredData]: '',
|
||||||
|
})
|
||||||
|
result.data.qmsGageGrrTesterDTOList[i].orderMapList[item].forEach((ele, index, arr) => {
|
||||||
|
// console.log(arr)
|
||||||
|
// console.log(ele)
|
||||||
|
// console.log(this.tableProps[2].children.prop);
|
||||||
|
// console.log(this.tableProps[2].children[item - 1].prop)
|
||||||
|
console.log(ele)
|
||||||
|
let measuredData = 'measuredData' + item
|
||||||
|
console.log(measuredData)
|
||||||
|
console.log(this.tableData[item - 1])
|
||||||
|
this.tableData[item - 1][measuredData] = ele
|
||||||
|
// console.log(this.tableData[item - 1])
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
console.log(this.tableProps)
|
||||||
|
console.log(this.tableData)
|
||||||
|
// console.log(this.table)
|
||||||
|
// console.log(moreData,'1111')
|
||||||
|
// for (let i = 0; i < 30; i++) {
|
||||||
|
// let a = {
|
||||||
|
// time: '2022-11-' + i,
|
||||||
|
// eqCT: 0.01,
|
||||||
|
// eqTT: 0.62,
|
||||||
|
// lineCT: 0.73,
|
||||||
|
// lineTT: 0.45
|
||||||
|
// }
|
||||||
|
// aa.push(a)
|
||||||
|
// }
|
||||||
|
// this.numArr = []
|
||||||
|
// let num = 0
|
||||||
|
// const tableConfig = []
|
||||||
|
// this.chartDataArr = []
|
||||||
|
// const dataArr = moreData.map((item, index) => {
|
||||||
|
// let dataArr = []
|
||||||
|
// if (item.data) {
|
||||||
|
// this.chartDataArr = this.chartDataArr.concat(item.data)
|
||||||
|
// num += item.data.length
|
||||||
|
// this.numArr.push(num)
|
||||||
|
// dataArr = item.data.map((z, idx) => {
|
||||||
|
// const dataArr = {}
|
||||||
|
// z.data.forEach((i) => {
|
||||||
|
// // 动态生成tableConfig
|
||||||
|
// if (index === 0 && idx === 0) {
|
||||||
|
// tableConfig.push({
|
||||||
|
// label: i.time,
|
||||||
|
// prop: i.time,
|
||||||
|
// children: [
|
||||||
|
// { prop: i.time + 'eqCT', label: '设备CT', subcomponent: available },
|
||||||
|
// { prop: i.time + 'eqTT', label: '设备TT' },
|
||||||
|
// { prop: i.time + 'lineCT', label: '产线CT' },
|
||||||
|
// {
|
||||||
|
// prop: i.time + 'lineTT',
|
||||||
|
// label: '产线TT',
|
||||||
|
// // subcomponent: demo3Sub
|
||||||
|
// }
|
||||||
|
// ]
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
// // 合并数据集
|
||||||
|
// dataArr[i.time + 'eqCT'] = i.eqCT
|
||||||
|
// dataArr[i.time + 'eqTT'] = i.eqTT
|
||||||
|
// dataArr[i.time + 'lineCT'] = i.lineCT
|
||||||
|
// dataArr[i.time + 'lineTT'] = i.lineTT
|
||||||
|
// dataArr.testUserName = item.testUserName
|
||||||
|
// dataArr.orderNumber = z.orderNumber
|
||||||
|
// })
|
||||||
|
// console.log(dataArr)
|
||||||
|
// return dataArr
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
// return dataArr
|
||||||
|
// })
|
||||||
|
// console.log(tableConfig)
|
||||||
|
// this.trueTableProps = this.tableProp2.concat(tableConfig)
|
||||||
|
// console.log(this.trueTableProps,'22112112')
|
||||||
|
// this.tableData = this.flatten(dataArr)
|
||||||
|
// console.log(this.tableData)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
})
|
})
|
||||||
let aa = []
|
|
||||||
|
|
||||||
let moreData = [
|
|
||||||
{
|
|
||||||
process: '综合',
|
|
||||||
data: [
|
|
||||||
{
|
|
||||||
equipmentName: '上片投入数量',
|
|
||||||
data: aa
|
|
||||||
},
|
|
||||||
{
|
|
||||||
equipmentName: '机器人投入数',
|
|
||||||
data: aa
|
|
||||||
},
|
|
||||||
{
|
|
||||||
equipmentName: '良品总投入数',
|
|
||||||
data: aa
|
|
||||||
},
|
|
||||||
{
|
|
||||||
equipmentName: '工序损耗',
|
|
||||||
data: aa
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
process: '上片',
|
|
||||||
data: [
|
|
||||||
{
|
|
||||||
equipmentName: '上片损失',
|
|
||||||
data: aa
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
process: '精切',
|
|
||||||
data: [
|
|
||||||
{
|
|
||||||
equipmentName: '精切损失',
|
|
||||||
data: aa
|
|
||||||
},
|
|
||||||
{
|
|
||||||
equipmentName: '精切抽检',
|
|
||||||
data: aa
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
for (let i = 0; i < 30; i++) {
|
|
||||||
let a = {
|
|
||||||
time: '2022-11-' + i,
|
|
||||||
eqCT: 0.01,
|
|
||||||
eqTT: 0.62,
|
|
||||||
lineCT: 0.73,
|
|
||||||
lineTT: 0.45
|
|
||||||
}
|
|
||||||
aa.push(a)
|
|
||||||
}
|
|
||||||
this.numArr = []
|
|
||||||
let num = 0
|
|
||||||
const tableConfig = []
|
|
||||||
this.chartDataArr = []
|
|
||||||
const dataArr = moreData.map((item, index) => {
|
|
||||||
let dataArr = []
|
|
||||||
if (item.data) {
|
|
||||||
this.chartDataArr = this.chartDataArr.concat(item.data)
|
|
||||||
num += item.data.length
|
|
||||||
this.numArr.push(num)
|
|
||||||
dataArr = item.data.map((z, idx) => {
|
|
||||||
const dataArr = {}
|
|
||||||
z.data.forEach((i) => {
|
|
||||||
// 动态生成tableConfig
|
|
||||||
if (index === 0 && idx === 0) {
|
|
||||||
tableConfig.push({
|
|
||||||
label: i.time,
|
|
||||||
prop: i.time,
|
|
||||||
children: [
|
|
||||||
{ prop: i.time + 'eqCT', label: '设备CT' },
|
|
||||||
{ prop: i.time + 'eqTT', label: '设备TT' },
|
|
||||||
{ prop: i.time + 'lineCT', label: '产线CT' },
|
|
||||||
{
|
|
||||||
prop: i.time + 'lineTT',
|
|
||||||
label: '产线TT',
|
|
||||||
subcomponent: demo3Sub
|
|
||||||
}
|
|
||||||
]
|
|
||||||
})
|
|
||||||
}
|
|
||||||
// 合并数据集
|
|
||||||
dataArr[i.time + 'eqCT'] = i.eqCT
|
|
||||||
dataArr[i.time + 'eqTT'] = i.eqTT
|
|
||||||
dataArr[i.time + 'lineCT'] = i.lineCT
|
|
||||||
dataArr[i.time + 'lineTT'] = i.lineTT
|
|
||||||
dataArr.process = item.process
|
|
||||||
dataArr.equipmentName = z.equipmentName
|
|
||||||
})
|
|
||||||
console.log(dataArr)
|
|
||||||
return dataArr
|
|
||||||
})
|
|
||||||
}
|
|
||||||
return dataArr
|
|
||||||
})
|
|
||||||
console.log(tableConfig)
|
|
||||||
this.trueTableProps = this.tableProp2.concat(tableConfig)
|
|
||||||
console.log(this.trueTableProps)
|
|
||||||
this.tableData = this.flatten(dataArr)
|
|
||||||
console.log(this.tableData)
|
|
||||||
},
|
},
|
||||||
// tree->[]
|
// tree->[]
|
||||||
flatten(arr) {
|
flatten(arr) {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-02-14 15:02:26
|
* @Date: 2023-02-14 15:02:26
|
||||||
* @LastEditTime: 2023-06-27 15:38:27
|
* @LastEditTime: 2023-06-28 14:27:59
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -216,3 +216,34 @@ export default {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
td{
|
||||||
|
width: 400px;
|
||||||
|
}
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
margin: 0 auto;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
table td,
|
||||||
|
table th {
|
||||||
|
border: 1px solid #cad9ea;
|
||||||
|
color: #666;
|
||||||
|
height: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table thead th {
|
||||||
|
background-color: #CCE8EB;
|
||||||
|
width: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table tr:nth-child(odd) {
|
||||||
|
background: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
table tr:nth-child(even) {
|
||||||
|
background: #F5FAFA;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-01-11 09:24:58
|
* @Date: 2023-01-11 09:24:58
|
||||||
* @LastEditTime: 2023-06-27 14:51:34
|
* @LastEditTime: 2023-06-28 14:27:57
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zhp
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -327,34 +327,3 @@ export default {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style>
|
|
||||||
|
|
||||||
td{
|
|
||||||
width: 400px;
|
|
||||||
}
|
|
||||||
table {
|
|
||||||
border-collapse: collapse;
|
|
||||||
margin: 0 auto;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
table td,
|
|
||||||
table th {
|
|
||||||
border: 1px solid #cad9ea;
|
|
||||||
color: #666;
|
|
||||||
height: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
table thead th {
|
|
||||||
background-color: #CCE8EB;
|
|
||||||
width: 100px;
|
|
||||||
}
|
|
||||||
|
|
||||||
table tr:nth-child(odd) {
|
|
||||||
background: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
table tr:nth-child(even) {
|
|
||||||
background: #F5FAFA;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zhp
|
* @Author: zhp
|
||||||
* @Date: 2023-01-11 09:24:58
|
* @Date: 2023-01-11 09:24:58
|
||||||
* @LastEditTime: 2023-06-20 15:52:27
|
* @LastEditTime: 2023-06-28 15:52:07
|
||||||
* @LastEditors: zhp
|
* @LastEditors: zwq
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -42,7 +42,7 @@
|
|||||||
<el-input v-model="dataForm.sampleSize" :placeholder="$t('code.sampleSize')"></el-input>
|
<el-input v-model="dataForm.sampleSize" :placeholder="$t('code.sampleSize')"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="getOriginalData">{{ $t('code.originalData') }}}</el-button>
|
<el-button type="primary" @click="getOriginalData">{{ $t('code.originalData') }}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
|
@ -0,0 +1,53 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2021-11-18 14:16:25
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2023-06-30 16:23:19
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<el-descriptions title="">
|
||||||
|
<el-descriptions-item label="标题">{{ dataInfo.title }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="产品">{{ dataInfo.productName }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="发生日期">{{ dataInfo.occurrenceDate | timeFormatter }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="配套产品/系统">{{ dataInfo.supportProducts }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="启动人">{{ dataInfo.userName }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="8D类型">{{ eightDisciplineType[dataInfo.eightDisciplineType] }}</el-descriptions-item>
|
||||||
|
</el-descriptions>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import codeFilter from "@/filters/code-filter";
|
||||||
|
import { timeFormatter } from "@/filters/code-filter";
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
dataInfo: '',
|
||||||
|
eightDisciplineType: {
|
||||||
|
1: '客诉问题',
|
||||||
|
2: '重大质量问题',
|
||||||
|
0: '重复发生问题',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(id) {
|
||||||
|
console.log(codeFilter('eightDisciplineType'))
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$http
|
||||||
|
.get(`/code/startEightDiscipline/${id}`)
|
||||||
|
.then(({ data: res }) => {
|
||||||
|
this.dataListLoading = false;
|
||||||
|
if (res.code !== 0) {
|
||||||
|
this.dataInfo = '';
|
||||||
|
return this.$message.error(res.msg);
|
||||||
|
}
|
||||||
|
this.dataInfo = res.data;
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
})
|
||||||
|
});
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
@ -0,0 +1,129 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2023-01-04 10:29:40
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2023-06-30 16:24:04
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<el-tabs v-model="activeName" type="border-card" @tab-click="handleClick">
|
||||||
|
<el-tab-pane label="(D0)启动CAR" name="D0">
|
||||||
|
<tabD0
|
||||||
|
v-show="D0Visible"
|
||||||
|
ref="D0Ref"
|
||||||
|
/>
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="(D1)初步分析" name="D1">
|
||||||
|
<tabD1
|
||||||
|
v-show="D1Visible"
|
||||||
|
ref="D1Ref"
|
||||||
|
/>
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="(D2)创建团队" name="D2">
|
||||||
|
<tabD2
|
||||||
|
v-show="D2Visible"
|
||||||
|
ref="D2Ref"
|
||||||
|
/>
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="(D3)临时处理措施" name="D3">
|
||||||
|
<tabD3
|
||||||
|
v-show="D3Visible"
|
||||||
|
ref="D3Ref"
|
||||||
|
/>
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="(D4)根本原因分析" name="D4">
|
||||||
|
<tabD4
|
||||||
|
v-show="D4Visible"
|
||||||
|
ref="D4Ref"
|
||||||
|
/>
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="(D5)纠正措施描述" name="D5">
|
||||||
|
<tabD5
|
||||||
|
v-show="D5Visible"
|
||||||
|
ref="D5Ref"
|
||||||
|
/>
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="(D6)有效性验证" name="D6">
|
||||||
|
<tabD6
|
||||||
|
v-show="D6Visible"
|
||||||
|
ref="D6Ref"
|
||||||
|
/>
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="(D7)预防再发生" name="D7">
|
||||||
|
<tabD7
|
||||||
|
v-show="D7Visible"
|
||||||
|
ref="D7Ref"
|
||||||
|
/>
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="(D8)总结与经验分享" name="D8">
|
||||||
|
<tabD8
|
||||||
|
v-show="D8Visible"
|
||||||
|
ref="D8Ref"
|
||||||
|
/>
|
||||||
|
</el-tab-pane>
|
||||||
|
</el-tabs>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import tabD0 from "./eightDisciplineList-D0"
|
||||||
|
import tabD1 from "./eightDisciplineList-D1"
|
||||||
|
import tabD2 from "./eightDisciplineList-D2"
|
||||||
|
import tabD3 from "./eightDisciplineList-D3"
|
||||||
|
import tabD4 from "./eightDisciplineList-D4"
|
||||||
|
import tabD5 from "./eightDisciplineList-D5"
|
||||||
|
import tabD6 from "./eightDisciplineList-D6"
|
||||||
|
import tabD7 from "./eightDisciplineList-D7"
|
||||||
|
import tabD8 from "./eightDisciplineList-D8"
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
tabD0,tabD1,tabD2,
|
||||||
|
tabD3,tabD4,tabD5,
|
||||||
|
tabD6,tabD7,tabD8,
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
visible: false,
|
||||||
|
activeName: "D0",
|
||||||
|
D0Visible: false,
|
||||||
|
D1Visible: false,
|
||||||
|
D2Visible: false,
|
||||||
|
D3Visible: false,
|
||||||
|
D4Visible: false,
|
||||||
|
D5Visible: false,
|
||||||
|
D6Visible: false,
|
||||||
|
D7Visible: false,
|
||||||
|
D8Visible: false,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
dataRule() {
|
||||||
|
return {
|
||||||
|
id: ''
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init(id) {
|
||||||
|
this.id = id
|
||||||
|
this.visible = true;
|
||||||
|
this.D0Visible = true
|
||||||
|
this.oldTab = 'D0Visible'
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.D0Ref.init(this.id);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
handleClick(val) {
|
||||||
|
this[this.oldTab] = false;
|
||||||
|
this[val.name+'Visible'] = true;
|
||||||
|
this.oldTab = val.name+'Visible'
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs[val.name+'Ref'].init(this.id);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
dataFormSubmit() {
|
||||||
|
this.$emit("refreshDataList");
|
||||||
|
},
|
||||||
|
formClear() {},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
150
src/views/modules/managementCenter/components/searchs.vue
Normal file
150
src/views/modules/managementCenter/components/searchs.vue
Normal file
@ -0,0 +1,150 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: zwq
|
||||||
|
* @Date: 2023-01-04 10:29:40
|
||||||
|
* @LastEditors: zwq
|
||||||
|
* @LastEditTime: 2023-06-30 14:53:49
|
||||||
|
* @Description:
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<el-form :model="dataForm" ref="dataForm" label-width="120px">
|
||||||
|
<el-form-item prop="title" :label="$t('code.title')">
|
||||||
|
<el-input v-model="dataForm.title" :placeholder="$t('code.title')" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item prop="customId" label="客户">
|
||||||
|
<el-select v-model="dataForm.customId" filterable clearable placeholder="请选择客户">
|
||||||
|
<el-option
|
||||||
|
v-for="item in this.urlOptions.optionArr.arr0"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.customerName"
|
||||||
|
:value="item.id"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item prop="productId" label="产品">
|
||||||
|
<el-select v-model="dataForm.productId" filterable clearable placeholder="请选择产品">
|
||||||
|
<el-option
|
||||||
|
v-for="item in this.urlOptions.optionArr.arr1"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.productName"
|
||||||
|
:value="item.id"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item prop="eightDisciplineStatus" label="步骤">
|
||||||
|
<el-select
|
||||||
|
v-model="dataForm.eightDisciplineStatus"
|
||||||
|
filterable
|
||||||
|
clearable
|
||||||
|
placeholder="请选择步骤"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in eightDisciplineStatusArr"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.id"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item prop="occurrenceDate" label="发生时间">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="dataForm.occurrenceDate"
|
||||||
|
type="date"
|
||||||
|
:style="{ width: '100%' }"
|
||||||
|
format="yyyy-MM-dd"
|
||||||
|
valueFormat="yyyy-MM-ddTHH:mm:ss"
|
||||||
|
placeholder="选择日期"
|
||||||
|
>
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import basicAdd from "@/mixins/basic-add";
|
||||||
|
|
||||||
|
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: [basicAdd],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
urlOptions: {
|
||||||
|
optionArrUrl: ["/basic/qmsCustomer/page", "/basic/qmsProduct/page"],
|
||||||
|
},
|
||||||
|
visible: false,
|
||||||
|
eightDisciplineStatusArr,
|
||||||
|
dataForm: {
|
||||||
|
title: "",
|
||||||
|
eightDisciplineStatus: "",
|
||||||
|
occurrenceDate: "",
|
||||||
|
customId: "",
|
||||||
|
productId: "",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
dataRule() {
|
||||||
|
return {
|
||||||
|
// paramCode: [
|
||||||
|
// {
|
||||||
|
// required: true,
|
||||||
|
// message: this.$t("validate.required"),
|
||||||
|
// trigger: "blur",
|
||||||
|
// },
|
||||||
|
// ],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
init() {
|
||||||
|
this.visible = true;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs["dataForm"].resetFields();
|
||||||
|
this.getArr();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
dataFormSubmit() {
|
||||||
|
this.$emit("refreshDataList", this.dataForm);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
189
src/views/modules/managementCenter/eightDisciplineList.vue
Normal file
189
src/views/modules/managementCenter/eightDisciplineList.vue
Normal file
@ -0,0 +1,189 @@
|
|||||||
|
<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>
|
||||||
|
<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="$t('handle')"
|
||||||
|
:method-list="tableBtn"
|
||||||
|
@clickBtn="handleClick"
|
||||||
|
/>
|
||||||
|
</base-table>
|
||||||
|
<pagination
|
||||||
|
:limit.sync="listQuery.limit"
|
||||||
|
:page.sync="listQuery.page"
|
||||||
|
:total="listQuery.total"
|
||||||
|
@pagination="getDataList"
|
||||||
|
/>
|
||||||
|
<!-- 弹窗, 条件搜索-->
|
||||||
|
<base-dialog
|
||||||
|
:dialogTitle="searchsTitle"
|
||||||
|
:dialogVisible="searchsVisible"
|
||||||
|
@cancel="searchsCancel"
|
||||||
|
@confirm="searchsConfirm"
|
||||||
|
:before-close="searchsCancel"
|
||||||
|
>
|
||||||
|
<searchs ref="searchsRef" @refreshDataList="searchsSubmit"></searchs>
|
||||||
|
</base-dialog>
|
||||||
|
<!-- 弹窗, 新增 / 修改 -->
|
||||||
|
<base-dialog
|
||||||
|
:dialogTitle="addOrEditTitle"
|
||||||
|
:dialogVisible="addOrUpdateVisible"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
@confirm="handleConfirm"
|
||||||
|
:before-close="handleCancel"
|
||||||
|
width=80%
|
||||||
|
>
|
||||||
|
<add-or-update ref="addOrUpdate" @refreshDataList="successSubmit"></add-or-update>
|
||||||
|
</base-dialog>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import AddOrUpdate from "./components/eightDisciplineList-detail";
|
||||||
|
import Searchs from "./components/searchs";
|
||||||
|
import basicPage from "@/mixins/basic-page";
|
||||||
|
import codeFilter from "@/filters/code-filter";
|
||||||
|
import { timeFormatter } from "@/filters/code-filter";
|
||||||
|
import i18n from "@/i18n";
|
||||||
|
|
||||||
|
const tableProps = [
|
||||||
|
{
|
||||||
|
prop: "title",
|
||||||
|
label: i18n.t("code.title"),
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "code",
|
||||||
|
label: i18n.t("code.code"),
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "eightDisciplineType",
|
||||||
|
label: i18n.t("code.eightDisciplineType"),
|
||||||
|
align: "center",
|
||||||
|
filter: codeFilter("eightDisciplineType"),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "occurrenceDate",
|
||||||
|
label: i18n.t("code.occurrenceDate"),
|
||||||
|
align: "center",
|
||||||
|
filter: timeFormatter,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "description",
|
||||||
|
label: i18n.t("code.description"),
|
||||||
|
align: "center",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: "examineStatus",
|
||||||
|
label: i18n.t("code.examineStatus"),
|
||||||
|
align: "center",
|
||||||
|
filter: codeFilter("examineStatus"),
|
||||||
|
},
|
||||||
|
];
|
||||||
|
const tableBtn = [
|
||||||
|
{
|
||||||
|
type: "delete",
|
||||||
|
btnName: i18n.t("delete"),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "detail",
|
||||||
|
btnName: "详情",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
export default {
|
||||||
|
mixins: [basicPage],
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
urlOptions: {
|
||||||
|
getDataListURL: "/code/startEightDiscipline/eight/page",
|
||||||
|
deleteURL: "/code/startEightDiscipline",
|
||||||
|
},
|
||||||
|
tableProps,
|
||||||
|
tableBtn,
|
||||||
|
tableData: [],
|
||||||
|
formConfig: [
|
||||||
|
{
|
||||||
|
type: "button",
|
||||||
|
btnName: "搜索",
|
||||||
|
name: "search",
|
||||||
|
color: "primary",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "button",
|
||||||
|
btnName: i18n.t("export"),
|
||||||
|
name: "export",
|
||||||
|
color: "primary",
|
||||||
|
plain: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
components: {
|
||||||
|
AddOrUpdate,
|
||||||
|
Searchs,
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 获取数据列表
|
||||||
|
getDataList() {
|
||||||
|
this.dataListLoading = true;
|
||||||
|
this.$http
|
||||||
|
.post(this.urlOptions.getDataListURL, 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;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//search-bar点击
|
||||||
|
searchsClick() {
|
||||||
|
this.searchsTitle = "条件搜索";
|
||||||
|
this.searchsHandle();
|
||||||
|
},
|
||||||
|
buttonClick(val) {
|
||||||
|
switch (val.btnName) {
|
||||||
|
case "search":
|
||||||
|
this.listQuery = {};
|
||||||
|
this.listQuery.page = 1;
|
||||||
|
this.listQuery.limit = 10;
|
||||||
|
this.listQuery.total = 1;
|
||||||
|
this.getDataList();
|
||||||
|
break;
|
||||||
|
case "export":
|
||||||
|
this.exportHandle("工厂管理");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
console.log(val);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
otherMethods(val) {
|
||||||
|
this.addOrEditTitle = "详情";
|
||||||
|
this.addOrUpdateVisible = true;
|
||||||
|
this.addOrUpdateHandle(val.data.id);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
@ -1,76 +0,0 @@
|
|||||||
<!--
|
|
||||||
* @Author: zwq
|
|
||||||
* @Date: 2021-11-18 14:16:25
|
|
||||||
* @LastEditors: zwq
|
|
||||||
* @LastEditTime: 2023-01-05 10:54:13
|
|
||||||
* @Description:
|
|
||||||
-->
|
|
||||||
<template>
|
|
||||||
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
|
|
||||||
<el-form-item label="编码" prop="code">
|
|
||||||
<el-input v-model="dataForm.code" placeholder="编码"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="名称" prop="name">
|
|
||||||
<el-input v-model="dataForm.name" placeholder="名称"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="单位分类" prop="type">
|
|
||||||
<el-select
|
|
||||||
v-model="dataForm.type"
|
|
||||||
filterable
|
|
||||||
placeholder="请选择单位分类"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="item in typeArr"
|
|
||||||
:key="item.value"
|
|
||||||
:label="item.name"
|
|
||||||
:value="item.value"
|
|
||||||
>
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import basicAdd from '@/mixins/basic-add'
|
|
||||||
export default {
|
|
||||||
mixins: [basicAdd],
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
urlOptions: {
|
|
||||||
submitURL: '/basic/unit/',
|
|
||||||
infoURL: '/basic/unit'
|
|
||||||
},
|
|
||||||
dataForm: {
|
|
||||||
id: '',
|
|
||||||
code: '',
|
|
||||||
name: '',
|
|
||||||
type: ''
|
|
||||||
},
|
|
||||||
typeArr: [
|
|
||||||
{
|
|
||||||
name: '不可计数',
|
|
||||||
value: 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '可计数',
|
|
||||||
value: 1
|
|
||||||
}
|
|
||||||
],
|
|
||||||
dataRule: {
|
|
||||||
code: [
|
|
||||||
{ required: true, message: '编码不能为空', trigger: 'blur' }
|
|
||||||
],
|
|
||||||
name: [
|
|
||||||
{ required: true, message: '名称不能为空', trigger: 'blur' }
|
|
||||||
],
|
|
||||||
type: [
|
|
||||||
{ required: true, message: '单位分类不能为空', trigger: 'change' }
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
@ -1,177 +0,0 @@
|
|||||||
<!--
|
|
||||||
* @Author: zwq
|
|
||||||
* @Date: 2023-01-04 10:29:40
|
|
||||||
* @LastEditors: zwq
|
|
||||||
* @LastEditTime: 2023-01-06 09:54:57
|
|
||||||
* @Description:
|
|
||||||
-->
|
|
||||||
<template>
|
|
||||||
<el-card shadow="never" class="aui-card--fill">
|
|
||||||
<search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
|
|
||||||
<base-table
|
|
||||||
:table-props="tableProps"
|
|
||||||
:page="listQuery.page"
|
|
||||||
:limit="listQuery.limit"
|
|
||||||
:table-data="tableData"
|
|
||||||
>
|
|
||||||
<method-btn
|
|
||||||
v-if="tableBtn.length"
|
|
||||||
slot="handleBtn"
|
|
||||||
:width="100"
|
|
||||||
label="操作"
|
|
||||||
:method-list="tableBtn"
|
|
||||||
@clickBtn="handleClick"
|
|
||||||
/>
|
|
||||||
</base-table>
|
|
||||||
<pagination
|
|
||||||
:limit.sync="listQuery.limit"
|
|
||||||
:page.sync="listQuery.page"
|
|
||||||
:total="listQuery.total"
|
|
||||||
@pagination="getDataList"
|
|
||||||
/>
|
|
||||||
<!-- 弹窗, 新增 / 修改 -->
|
|
||||||
<base-dialog
|
|
||||||
:dialogTitle="addOrEditTitle"
|
|
||||||
:dialogVisible="addOrUpdateVisible"
|
|
||||||
@cancel="handleCancel"
|
|
||||||
@confirm="handleConfirm"
|
|
||||||
:before-close="handleCancel"
|
|
||||||
>
|
|
||||||
<add-or-update ref="addOrUpdate" @successSubmit="successSubmit" />
|
|
||||||
</base-dialog>
|
|
||||||
</el-card>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import AddOrUpdate from "./components/unitList-add";
|
|
||||||
import basicPage from "@/mixins/basic-page";
|
|
||||||
|
|
||||||
const tableProps = [
|
|
||||||
{
|
|
||||||
prop: "date",
|
|
||||||
label: "日期",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: "name",
|
|
||||||
label: "姓名",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: "sex",
|
|
||||||
label: "性别",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: "age",
|
|
||||||
label: "年龄",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: "address",
|
|
||||||
label: "地址",
|
|
||||||
},
|
|
||||||
];
|
|
||||||
const tableBtn = [
|
|
||||||
{
|
|
||||||
type: "edit",
|
|
||||||
btnName: "编辑",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: "delete",
|
|
||||||
btnName: "删除",
|
|
||||||
},
|
|
||||||
];
|
|
||||||
export default {
|
|
||||||
mixins: [basicPage],
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
urlOptions: {
|
|
||||||
getDataListURL: "/basic/unit/page",
|
|
||||||
deleteURL: "/basic/unit",
|
|
||||||
statusUrl: "/basic/unit/status",
|
|
||||||
exportUrl: "/basic/unit/export",
|
|
||||||
},
|
|
||||||
tableProps,
|
|
||||||
tableBtn,
|
|
||||||
tableData: [
|
|
||||||
{
|
|
||||||
date: "2016-05-02",
|
|
||||||
name: "王小虎",
|
|
||||||
sex: "男",
|
|
||||||
id:111,
|
|
||||||
age: 18,
|
|
||||||
address: "上海市普陀区金沙江路 1518 弄",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
date: "2016-05-04",
|
|
||||||
name: "王小虎",
|
|
||||||
sex: "男",
|
|
||||||
age: 18,
|
|
||||||
address: "上海市普陀区金沙江路 1517 弄",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
date: "2016-05-01",
|
|
||||||
name: "王小虎",
|
|
||||||
sex: "男",
|
|
||||||
age: 18,
|
|
||||||
address: "上海市普陀区金沙江路 1519 弄",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
date: "2016-05-03",
|
|
||||||
name: "王小虎",
|
|
||||||
sex: "男",
|
|
||||||
age: 18,
|
|
||||||
address: "上海市普陀区金沙江路 1516 弄",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
formConfig: [
|
|
||||||
{
|
|
||||||
type: "input",
|
|
||||||
label: "名称",
|
|
||||||
placeholder: "请输入名称",
|
|
||||||
param: "xm1",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: "input",
|
|
||||||
label: "编码",
|
|
||||||
placeholder: "请输入编码",
|
|
||||||
param: "xm2",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: "button",
|
|
||||||
btnName: "查询",
|
|
||||||
name: "search",
|
|
||||||
color: "primary",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: "button",
|
|
||||||
btnName: "新增",
|
|
||||||
name: "add",
|
|
||||||
color: "primary",
|
|
||||||
plain: true,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
};
|
|
||||||
},
|
|
||||||
components: {
|
|
||||||
AddOrUpdate,
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
//search-bar点击
|
|
||||||
buttonClick(val) {
|
|
||||||
switch (val.btnName) {
|
|
||||||
case "search":
|
|
||||||
this.listQuery.xm1 = val.xm1;
|
|
||||||
this.listQuery.xm2 = val.xm2;
|
|
||||||
this.listQuery.page = 1;
|
|
||||||
this.getDataList();
|
|
||||||
break;
|
|
||||||
case "add":
|
|
||||||
this.addOrEditTitle = '新增'
|
|
||||||
this.addOrUpdateVisible = true;
|
|
||||||
this.addOrUpdateHandle()
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
console.log(val)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
</script>
|
|
Loading…
Reference in New Issue
Block a user