更新8D处理中心
This commit is contained in:
parent
185a99ca2c
commit
73578abfb4
@ -13,6 +13,10 @@ const table = {
|
||||
1: '客诉问题',
|
||||
2: '重大质量问题',
|
||||
0: '重复发生问题',
|
||||
},
|
||||
examineStatus: {
|
||||
1: '需要审批',
|
||||
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,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-02-14 15:02:26
|
||||
* @LastEditTime: 2023-06-28 16:53:02
|
||||
* @LastEditTime: 2023-06-29 10:54:23
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
@ -136,6 +136,19 @@
|
||||
</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%' }"
|
||||
@ -150,22 +163,9 @@
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col> -->
|
||||
</el-row>
|
||||
<el-row :gutter="24">
|
||||
<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="teamList" :label="$t('code.eightDTeam')">
|
||||
<el-select
|
||||
@ -234,15 +234,15 @@ export default {
|
||||
],
|
||||
eightDisciplineTypeList: [
|
||||
{
|
||||
value: 0,
|
||||
value: '0',
|
||||
label: "重复发生问题 ",
|
||||
},
|
||||
{
|
||||
value: 1,
|
||||
value: '1',
|
||||
label: "1客诉问题",
|
||||
},
|
||||
{
|
||||
value: 2,
|
||||
value: '2',
|
||||
label: "重大质量问题",
|
||||
},
|
||||
],
|
||||
|
@ -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
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-06-05 09:12:12
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-06-29 11:02:36
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -14,7 +14,7 @@
|
||||
</el-badge> -->
|
||||
</SearchBar>
|
||||
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" label="操作" :method-list="tableBtn"
|
||||
@clickBtn="handleClick" />
|
||||
</base-table>
|
||||
<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 transferSchemeSearch from "./components/transferSchemeSearch.vue"
|
||||
import basicSearch from "@/mixins/basic-search"
|
||||
import { timeFormatter } from "@/filters/code-filter"
|
||||
import codeFilter from '@/filters/code-filter'
|
||||
import i18n from "@/i18n"
|
||||
const tableProps = [
|
||||
{
|
||||
@ -39,12 +41,14 @@ const tableProps = [
|
||||
{
|
||||
prop: 'eightDisciplineType',
|
||||
label: i18n.t("code.eightDisciplineType"),
|
||||
align: 'center'
|
||||
align: 'center',
|
||||
filter: codeFilter('eightDisciplineType'),
|
||||
},
|
||||
{
|
||||
prop: 'occurrenceDate',
|
||||
label: i18n.t("code.occurrenceDate"),
|
||||
align: 'center'
|
||||
align: 'center',
|
||||
filter: timeFormatter,
|
||||
},
|
||||
{
|
||||
prop: 'productName',
|
||||
@ -76,6 +80,10 @@ const tableBtn = [
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
{
|
||||
type: "approve",
|
||||
btnName: "审批",
|
||||
},
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage, basicSearch],
|
||||
@ -94,7 +102,7 @@ export default {
|
||||
listQuery: {
|
||||
limit: 10,
|
||||
page: 1,
|
||||
eightDisciplineStatus: 8
|
||||
examineStatus:1
|
||||
},
|
||||
searchOrEditTitle: '',
|
||||
searchOrUpdateVisible: false,
|
||||
@ -105,23 +113,23 @@ export default {
|
||||
placeholder: i18n.t('code.title'),
|
||||
param: 'title'
|
||||
},
|
||||
{
|
||||
type: 'select',
|
||||
label: i18n.t('code.examineStatus'),
|
||||
selectOptions: [
|
||||
{
|
||||
id: 0,
|
||||
name: '不需要审批',
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
name: '需要审批',
|
||||
}
|
||||
],
|
||||
param: 'examineStatus',
|
||||
clearable: true,
|
||||
filterable: true
|
||||
},
|
||||
// {
|
||||
// type: 'select',
|
||||
// label: i18n.t('code.examineStatus'),
|
||||
// selectOptions: [
|
||||
// {
|
||||
// id: 0,
|
||||
// name: '不需要审批',
|
||||
// },
|
||||
// {
|
||||
// id: 1,
|
||||
// name: '需要审批',
|
||||
// }
|
||||
// ],
|
||||
// param: 'examineStatus',
|
||||
// clearable: true,
|
||||
// filterable: true
|
||||
// },
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
@ -189,6 +197,33 @@ export default {
|
||||
this.$nextTick(() => {
|
||||
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) {
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-06-28 16:49:41
|
||||
* @LastEditTime: 2023-06-29 11:15:25
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
@ -9,19 +9,40 @@
|
||||
<el-card shadow="never" class="aui-card--fill">
|
||||
<div class="mod-sys__user">
|
||||
<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-badge>
|
||||
</el-badge> -->
|
||||
</SearchBar>
|
||||
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
||||
@clickBtn="handleClick" />
|
||||
<base-table
|
||||
:table-props="tableProps"
|
||||
: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>
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<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" width="70%">
|
||||
<base-dialog
|
||||
:dialogTitle="addOrEditTitle"
|
||||
:dialogVisible="addOrUpdateVisible"
|
||||
@cancel="handleCancel"
|
||||
@confirm="handleConfirm"
|
||||
:before-close="handleCancel"
|
||||
width="70%"
|
||||
>
|
||||
<startEightDiscipline-add ref="addOrUpdate" @refreshDataList="successSubmit">
|
||||
</startEightDiscipline-add>
|
||||
<!-- <el-row slot="footer" type="flex" justify="end"> </el-row> -->
|
||||
@ -31,35 +52,37 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import basicPage from "@/mixins/basic-page"
|
||||
import startEightDisciplineAdd from "./components/startEightDiscipline-add"
|
||||
import basicPage from "@/mixins/basic-page";
|
||||
import startEightDisciplineAdd from "./components/startEightDiscipline-add";
|
||||
// import AddOrUpdate from './params-add-or-update'
|
||||
// import customSamplingSearch from "./components/customSamplingSearch"
|
||||
// import available from "./components/available.vue"
|
||||
import basicSearch from "@/mixins/basic-search"
|
||||
import codeFilter from '@/filters/code-filter'
|
||||
import i18n from "@/i18n"
|
||||
import basicSearch from "@/mixins/basic-search";
|
||||
import codeFilter from "@/filters/code-filter";
|
||||
import { timeFormatter } from "@/filters/code-filter";
|
||||
import i18n from "@/i18n";
|
||||
const tableProps = [
|
||||
{
|
||||
prop: 'title',
|
||||
prop: "title",
|
||||
label: i18n.t("code.title"),
|
||||
align: 'center'
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
prop: 'code',
|
||||
prop: "code",
|
||||
label: i18n.t("code.code"),
|
||||
align: 'center'
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
prop: 'eightDisciplineType',
|
||||
prop: "eightDisciplineType",
|
||||
label: i18n.t("code.eightDisciplineType"),
|
||||
align: 'center',
|
||||
filter: codeFilter('eightDisciplineType'),
|
||||
align: "center",
|
||||
filter: codeFilter("eightDisciplineType"),
|
||||
},
|
||||
{
|
||||
prop: 'occurrenceDate',
|
||||
prop: "occurrenceDate",
|
||||
label: i18n.t("code.occurrenceDate"),
|
||||
align: 'center'
|
||||
align: "center",
|
||||
filter: timeFormatter,
|
||||
},
|
||||
// {
|
||||
// prop: 'productName',
|
||||
@ -72,16 +95,17 @@ const tableProps = [
|
||||
// align: 'center'
|
||||
// },
|
||||
{
|
||||
prop: 'description',
|
||||
prop: "description",
|
||||
label: i18n.t("code.description"),
|
||||
align: 'center'
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
prop: 'userId',
|
||||
label: i18n.t("code.userId"),
|
||||
align: 'center'
|
||||
}
|
||||
]
|
||||
prop: "examineStatus",
|
||||
label: i18n.t("code.examineStatus"),
|
||||
align: "center",
|
||||
filter: codeFilter("examineStatus"),
|
||||
},
|
||||
];
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
@ -91,12 +115,16 @@ const tableBtn = [
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
{
|
||||
type: "CAR",
|
||||
btnName: "启动CAR",
|
||||
},
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage, basicSearch],
|
||||
components: {
|
||||
// customSamplingSearch,
|
||||
startEightDisciplineAdd
|
||||
startEightDisciplineAdd,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@ -106,9 +134,15 @@ export default {
|
||||
},
|
||||
tableProps,
|
||||
tableBtn,
|
||||
searchOrEditTitle: '',
|
||||
searchOrEditTitle: "",
|
||||
searchOrUpdateVisible: false,
|
||||
formConfig: [
|
||||
{
|
||||
type: "input",
|
||||
label: i18n.t("code.title"),
|
||||
placeholder: i18n.t("code.title"),
|
||||
param: "title",
|
||||
},
|
||||
// {
|
||||
// type: "",
|
||||
// label: i18n.t("params.paramCode"),
|
||||
@ -120,22 +154,23 @@ export default {
|
||||
// },
|
||||
{
|
||||
type: "button",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
btnName: "新增",
|
||||
name: "add",
|
||||
color: "primary",
|
||||
}
|
||||
},
|
||||
],
|
||||
listQuery: {
|
||||
limit: 10,
|
||||
page: 1,
|
||||
total: 1,
|
||||
eightDisciplineStatus: 0,
|
||||
examineStatus: 0
|
||||
},
|
||||
};
|
||||
},
|
||||
@ -156,19 +191,19 @@ export default {
|
||||
this.searchOrEditTitle = "搜索";
|
||||
this.searchOrUpdateVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.searchOrUpdate.init()
|
||||
this.$refs.searchOrUpdate.init();
|
||||
});
|
||||
},
|
||||
conditionSearchSubmit(dataForm) {
|
||||
// console.log(key);
|
||||
// console.log(key);
|
||||
// this.listQuery.key = key;
|
||||
this.listQuery.customSamplingCode = dataForm.customSamplingCode
|
||||
this.listQuery.customSamplingCode = dataForm.customSamplingCode;
|
||||
// this.listQuery.name = dataForm.name
|
||||
// this.listQuery.failureTypeStatus = dataForm.failureTypeStatus
|
||||
this.listQuery.page = 1
|
||||
this.getDataList()
|
||||
this.searchOrUpdateVisible = false
|
||||
this.listQuery.page = 1;
|
||||
this.getDataList();
|
||||
this.searchOrUpdateVisible = false;
|
||||
// console.log(11111);
|
||||
// this.conditionSearchSubmit();
|
||||
},
|
||||
@ -181,7 +216,43 @@ export default {
|
||||
type: "warning",
|
||||
})
|
||||
.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) {
|
||||
this.$message({
|
||||
message: "操作成功",
|
||||
type: "success",
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.getDataList();
|
||||
},
|
||||
});
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(() => {});
|
||||
} else if (val.type === "edit") {
|
||||
this.addOrUpdateVisible = true;
|
||||
this.addOrEditTitle = this.$t("edit");
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(val.data.id);
|
||||
});
|
||||
} 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: "操作成功",
|
||||
@ -196,13 +267,7 @@ export default {
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(() => { });
|
||||
} else if (val.type === 'edit') {
|
||||
this.addOrUpdateVisible = true
|
||||
this.addOrEditTitle = this.$t('edit')
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(val.data.id);
|
||||
});
|
||||
.catch(() => {});
|
||||
}
|
||||
},
|
||||
buttonClick(val) {
|
||||
@ -210,21 +275,20 @@ export default {
|
||||
case "search":
|
||||
// this.listQuery.paramCode = val.paramCode;
|
||||
this.listQuery.page = 1;
|
||||
this.listQuery.code = null
|
||||
this.listQuery.name = null
|
||||
this.listQuery.failureTypeStatus = null
|
||||
this.listQuery.eightDisciplineStatus = 0
|
||||
this.listQuery.title = val.title ? val.title : "";
|
||||
this.listQuery.failureTypeStatus = null;
|
||||
this.listQuery.eightDisciplineStatus = 0;
|
||||
this.getDataList();
|
||||
break;
|
||||
case "add":
|
||||
this.addOrEditTitle = this.$t('add')
|
||||
this.addOrEditTitle = this.$t("add");
|
||||
this.addOrUpdateVisible = true;
|
||||
this.addOrUpdateHandle()
|
||||
this.addOrUpdateHandle();
|
||||
break;
|
||||
default:
|
||||
console.log(val)
|
||||
console.log(val);
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-06-05 09:11:39
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-06-29 15:56:04
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -13,62 +13,94 @@
|
||||
<el-button type="primary" size="small" @click="conditionSearch">条件搜索</el-button>
|
||||
</el-badge> -->
|
||||
</SearchBar>
|
||||
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
||||
@clickBtn="handleClick" />
|
||||
<base-table
|
||||
:table-props="tableProps"
|
||||
: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>
|
||||
<pagination :limit.sync="listQuery.limit" :page.sync="listQuery.page" :total="listQuery.total"
|
||||
@pagination="getDataList" />
|
||||
<pagination
|
||||
: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>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import basicPage from "@/mixins/basic-page"
|
||||
import basicPage from "@/mixins/basic-page";
|
||||
// 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 available from "./components/available.vue"
|
||||
import basicSearch from "@/mixins/basic-search"
|
||||
import i18n from "@/i18n"
|
||||
import basicSearch from "@/mixins/basic-search";
|
||||
import { timeFormatter } from "@/filters/code-filter";
|
||||
import codeFilter from "@/filters/code-filter";
|
||||
import i18n from "@/i18n";
|
||||
const tableProps = [
|
||||
{
|
||||
prop: 'productName',
|
||||
label: i18n.t("quality.productName"),
|
||||
align: 'center'
|
||||
prop: "title",
|
||||
label: i18n.t("code.title"),
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
prop: 'supplierName',
|
||||
label: i18n.t("quality.supplierName"),
|
||||
align: 'center'
|
||||
prop: "eightDisciplineType",
|
||||
label: i18n.t("oss.type"),
|
||||
align: "center",
|
||||
filter: codeFilter("eightDisciplineType"),
|
||||
},
|
||||
{
|
||||
prop: 'transferOutName',
|
||||
label: i18n.t("quality.transferOutName"),
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
prop: 'transferInName',
|
||||
label: i18n.t("quality.transferInName"),
|
||||
align: 'center'
|
||||
prop: "occurrenceDate",
|
||||
label: i18n.t("gage.createDate"),
|
||||
align: "center",
|
||||
filter: timeFormatter,
|
||||
},
|
||||
{
|
||||
prop: 'dataSources',
|
||||
label: i18n.t("quality.dataSources"),
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
prop: 'remark',
|
||||
label: i18n.t("quality.remark"),
|
||||
align: 'center'
|
||||
prop: "productName",
|
||||
label: i18n.t("code.productName"),
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
prop: 'userName',
|
||||
label: i18n.t("quality.userName"),
|
||||
align: 'center'
|
||||
}
|
||||
]
|
||||
prop: "customName",
|
||||
label: i18n.t("gage.connection"),
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
prop: "description",
|
||||
label: i18n.t("basic.remark"),
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
prop: "userId",
|
||||
label: i18n.t("code.userId"),
|
||||
align: "center",
|
||||
},
|
||||
];
|
||||
const tableBtn = [
|
||||
{
|
||||
type: "edit",
|
||||
@ -78,12 +110,15 @@ const tableBtn = [
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
{
|
||||
type: "team",
|
||||
btnName: "团队",
|
||||
},
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage, basicSearch],
|
||||
components: {
|
||||
// transferRecordsSearch,
|
||||
// transferRecordsAdd
|
||||
AddOrUpdate,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@ -93,12 +128,16 @@ export default {
|
||||
},
|
||||
tableProps,
|
||||
tableBtn,
|
||||
teamSetTitle: "",
|
||||
teamSetVisible: false,
|
||||
listQuery: {
|
||||
limit: 10,
|
||||
page: 1,
|
||||
eightDisciplineStatus: 2
|
||||
eightDisciplineStatus: 2,
|
||||
examineStatus: 0,
|
||||
},
|
||||
searchOrEditTitle: '',
|
||||
roleList: [],
|
||||
searchOrEditTitle: "",
|
||||
searchOrUpdateVisible: false,
|
||||
formConfig: [
|
||||
// {
|
||||
@ -111,23 +150,20 @@ export default {
|
||||
// type: "separate",
|
||||
// },
|
||||
{
|
||||
type: 'input',
|
||||
label: i18n.t('code.title'),
|
||||
placeholder: i18n.t('code.title'),
|
||||
param: 'title'
|
||||
type: "input",
|
||||
label: i18n.t("code.title"),
|
||||
placeholder: i18n.t("code.title"),
|
||||
param: "title",
|
||||
},
|
||||
{
|
||||
type: "button",
|
||||
btnName: "搜索",
|
||||
name: "search",
|
||||
color: "primary",
|
||||
}
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
// components: {
|
||||
// AddOrUpdate,
|
||||
// },
|
||||
methods: {
|
||||
//search-bar点击
|
||||
handleProductCancel() {
|
||||
@ -161,47 +197,71 @@ export default {
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message({
|
||||
message: "操作成功",
|
||||
type: "success",
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.getDataList();
|
||||
},
|
||||
});
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
});
|
||||
this.$http
|
||||
.delete(this.urlOptions.deleteURL, { data: [val.data.id] })
|
||||
.then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message({
|
||||
message: "操作成功",
|
||||
type: "success",
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.getDataList();
|
||||
},
|
||||
});
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(() => { });
|
||||
} else if (val.type === 'edit') {
|
||||
this.addOrUpdateVisible = true
|
||||
this.addOrEditTitle = this.$t('edit')
|
||||
.catch(() => {});
|
||||
} else if (val.type === "edit") {
|
||||
this.addOrUpdateVisible = true;
|
||||
this.addOrEditTitle = this.$t("edit");
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(val.data.id);
|
||||
});
|
||||
} else if (val.type === "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) {
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
// this.listQuery.paramCode = val.paramCode;
|
||||
this.listQuery.page = 1;
|
||||
this.listQuery.title = val.title ? val.title : ''
|
||||
this.listQuery.title = val.title ? val.title : "";
|
||||
this.getDataList();
|
||||
break;
|
||||
case "add":
|
||||
this.addOrEditTitle = this.$t('add')
|
||||
this.addOrEditTitle = this.$t("add");
|
||||
this.addOrUpdateVisible = true;
|
||||
this.addOrUpdateHandle()
|
||||
this.addOrUpdateHandle();
|
||||
break;
|
||||
default:
|
||||
console.log(val)
|
||||
console.log(val);
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-06-05 09:11:18
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-06-30 09:26:26
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -14,12 +14,21 @@
|
||||
</el-badge> -->
|
||||
</SearchBar>
|
||||
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" 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" @refreshDataList="successSubmit"></add-or-update>
|
||||
</base-dialog>
|
||||
</div>
|
||||
</el-card>
|
||||
</template>
|
||||
@ -31,7 +40,10 @@ import basicPage from "@/mixins/basic-page"
|
||||
// import AddOrUpdate from './params-add-or-update'
|
||||
// import transferSchemeSearch from "./components/transferSchemeSearch.vue"
|
||||
// import available from "./components/available.vue"
|
||||
import AddOrUpdate from './components/startEightDisciplineDescriptionCorrectiveAction-add.vue'
|
||||
import basicSearch from "@/mixins/basic-search"
|
||||
import codeFilter from '@/filters/code-filter'
|
||||
import { timeFormatter } from "@/filters/code-filter"
|
||||
import i18n from "@/i18n"
|
||||
const tableProps = [
|
||||
{
|
||||
@ -47,12 +59,14 @@ const tableProps = [
|
||||
{
|
||||
prop: 'eightDisciplineType',
|
||||
label: i18n.t("code.eightDisciplineType"),
|
||||
align: 'center'
|
||||
align: 'center',
|
||||
filter: codeFilter('eightDisciplineType'),
|
||||
},
|
||||
{
|
||||
prop: 'occurrenceDate',
|
||||
label: i18n.t("code.occurrenceDate"),
|
||||
align: 'center'
|
||||
align: 'center',
|
||||
filter: timeFormatter,
|
||||
},
|
||||
// {
|
||||
// prop: 'productName',
|
||||
@ -84,12 +98,15 @@ const tableBtn = [
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
{
|
||||
type: "corrective",
|
||||
btnName: "纠正",
|
||||
},
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage, basicSearch],
|
||||
components: {
|
||||
// transferSchemeSearch,
|
||||
// transferSchemeAdd
|
||||
AddOrUpdate,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@ -102,7 +119,8 @@ export default {
|
||||
listQuery: {
|
||||
limit: 10,
|
||||
page: 1,
|
||||
eightDisciplineStatus: 5
|
||||
eightDisciplineStatus: 5,
|
||||
examineStatus: 0
|
||||
},
|
||||
searchOrEditTitle: '',
|
||||
searchOrUpdateVisible: false,
|
||||
@ -180,6 +198,12 @@ export default {
|
||||
this.$nextTick(() => {
|
||||
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) {
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-06-05 09:11:07
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-06-29 13:57:15
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -14,12 +14,21 @@
|
||||
</el-badge> -->
|
||||
</SearchBar>
|
||||
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="110" 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" @refreshDataList="successSubmit"></add-or-update>
|
||||
</base-dialog>
|
||||
</div>
|
||||
</el-card>
|
||||
</template>
|
||||
@ -27,11 +36,13 @@
|
||||
<script>
|
||||
import basicPage from "@/mixins/basic-page"
|
||||
// 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 available from "./components/available.vue"
|
||||
import basicSearch from "@/mixins/basic-search"
|
||||
import i18n from "@/i18n"
|
||||
import codeFilter from '@/filters/code-filter'
|
||||
import { timeFormatter } from "@/filters/code-filter"
|
||||
const tableProps = [
|
||||
{
|
||||
prop: 'title',
|
||||
@ -46,12 +57,14 @@ const tableProps = [
|
||||
{
|
||||
prop: 'eightDisciplineType',
|
||||
label: i18n.t("code.eightDisciplineType"),
|
||||
align: 'center'
|
||||
align: 'center',
|
||||
filter: codeFilter('eightDisciplineType'),
|
||||
},
|
||||
{
|
||||
prop: 'occurrenceDate',
|
||||
label: i18n.t("code.occurrenceDate"),
|
||||
align: 'center'
|
||||
align: 'center',
|
||||
filter: timeFormatter,
|
||||
},
|
||||
// {
|
||||
// prop: 'productName',
|
||||
@ -83,12 +96,15 @@ const tableBtn = [
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
{
|
||||
type: "analysis",
|
||||
btnName: "分析",
|
||||
},
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage, basicSearch],
|
||||
components: {
|
||||
// failureTypeSearch,
|
||||
// InspectionPositionAdd
|
||||
AddOrUpdate,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@ -102,7 +118,8 @@ export default {
|
||||
listQuery: {
|
||||
limit: 10,
|
||||
page: 1,
|
||||
eightDisciplineStatus:1
|
||||
eightDisciplineStatus:1,
|
||||
examineStatus: 0
|
||||
},
|
||||
searchOrUpdateVisible: false,
|
||||
formConfig: [
|
||||
@ -188,6 +205,12 @@ export default {
|
||||
this.$nextTick(() => {
|
||||
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) {
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-06-05 09:10:50
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-06-30 09:34:16
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -14,12 +14,21 @@
|
||||
</el-badge> -->
|
||||
</SearchBar>
|
||||
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" 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" @refreshDataList="successSubmit"></add-or-update>
|
||||
</base-dialog>
|
||||
</div>
|
||||
</el-card>
|
||||
</template>
|
||||
@ -31,7 +40,10 @@ import basicPage from "@/mixins/basic-page"
|
||||
// import AddOrUpdate from './params-add-or-update'
|
||||
// import transferSchemeSearch from "./components/transferSchemeSearch.vue"
|
||||
// import available from "./components/available.vue"
|
||||
import AddOrUpdate from './components/startEightDisciplinePreventRecurrence-add.vue'
|
||||
import basicSearch from "@/mixins/basic-search"
|
||||
import { timeFormatter } from "@/filters/code-filter"
|
||||
import codeFilter from '@/filters/code-filter'
|
||||
import i18n from "@/i18n"
|
||||
const tableProps = [
|
||||
{
|
||||
@ -47,12 +59,14 @@ const tableProps = [
|
||||
{
|
||||
prop: 'eightDisciplineType',
|
||||
label: i18n.t("code.eightDisciplineType"),
|
||||
align: 'center'
|
||||
align: 'center',
|
||||
filter: codeFilter('eightDisciplineType'),
|
||||
},
|
||||
{
|
||||
prop: 'occurrenceDate',
|
||||
label: i18n.t("code.occurrenceDate"),
|
||||
align: 'center'
|
||||
align: 'center',
|
||||
filter: timeFormatter,
|
||||
},
|
||||
// {
|
||||
// prop: 'productName',
|
||||
@ -84,12 +98,15 @@ const tableBtn = [
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
{
|
||||
type: "prevent",
|
||||
btnName: "预防",
|
||||
},
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage, basicSearch],
|
||||
components: {
|
||||
// transferSchemeSearch,
|
||||
// transferSchemeAdd
|
||||
AddOrUpdate,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@ -102,7 +119,8 @@ export default {
|
||||
listQuery: {
|
||||
limit: 10,
|
||||
page: 1,
|
||||
eightDisciplineStatus: 6
|
||||
eightDisciplineStatus: 7,
|
||||
examineStatus: 0
|
||||
},
|
||||
searchOrEditTitle: '',
|
||||
searchOrUpdateVisible: false,
|
||||
@ -180,6 +198,12 @@ export default {
|
||||
this.$nextTick(() => {
|
||||
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) {
|
||||
|
@ -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
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-06-05 09:10:40
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-06-30 09:21:25
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -14,12 +14,21 @@
|
||||
</el-badge> -->
|
||||
</SearchBar>
|
||||
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" 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" @refreshDataList="successSubmit"></add-or-update>
|
||||
</base-dialog>
|
||||
</div>
|
||||
</el-card>
|
||||
</template>
|
||||
@ -30,7 +39,10 @@ import basicPage from "@/mixins/basic-page"
|
||||
// import AddOrUpdate from './params-add-or-update'
|
||||
// import transferSchemeSearch from "./components/transferSchemeSearch.vue"
|
||||
// import available from "./components/available.vue"
|
||||
import AddOrUpdate from './components/startEightDisciplineRootCauseAnalysis-add.vue'
|
||||
import basicSearch from "@/mixins/basic-search"
|
||||
import { timeFormatter } from "@/filters/code-filter"
|
||||
import codeFilter from '@/filters/code-filter'
|
||||
import i18n from "@/i18n"
|
||||
const tableProps = [
|
||||
{
|
||||
@ -46,12 +58,14 @@ const tableProps = [
|
||||
{
|
||||
prop: 'eightDisciplineType',
|
||||
label: i18n.t("code.eightDisciplineType"),
|
||||
align: 'center'
|
||||
align: 'center',
|
||||
filter: codeFilter('eightDisciplineType'),
|
||||
},
|
||||
{
|
||||
prop: 'occurrenceDate',
|
||||
label: i18n.t("code.occurrenceDate"),
|
||||
align: 'center'
|
||||
align: 'center',
|
||||
filter: timeFormatter,
|
||||
},
|
||||
// {
|
||||
// prop: 'productName',
|
||||
@ -83,12 +97,15 @@ const tableBtn = [
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
{
|
||||
type: "analysis",
|
||||
btnName: "分析",
|
||||
},
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage, basicSearch],
|
||||
components: {
|
||||
// transferSchemeSearch,
|
||||
// transferSchemeAdd
|
||||
AddOrUpdate,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@ -101,7 +118,8 @@ export default {
|
||||
listQuery: {
|
||||
limit: 10,
|
||||
page: 1,
|
||||
eightDisciplineStatus: 4
|
||||
eightDisciplineStatus: 4,
|
||||
examineStatus: 0
|
||||
},
|
||||
searchOrEditTitle: '',
|
||||
searchOrUpdateVisible: false,
|
||||
@ -179,6 +197,12 @@ export default {
|
||||
this.$nextTick(() => {
|
||||
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) {
|
||||
|
@ -2,8 +2,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-06-05 09:10:30
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-06-30 09:37:58
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -15,12 +15,21 @@
|
||||
</el-badge> -->
|
||||
</SearchBar>
|
||||
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" 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" @refreshDataList="successSubmit"></add-or-update>
|
||||
</base-dialog>
|
||||
</div>
|
||||
</el-card>
|
||||
</template>
|
||||
@ -31,7 +40,10 @@ import basicPage from "@/mixins/basic-page"
|
||||
// import AddOrUpdate from './params-add-or-update'
|
||||
// import transferSchemeSearch from "./components/transferSchemeSearch.vue"
|
||||
// import available from "./components/available.vue"
|
||||
import AddOrUpdate from './components/startEightDisciplineSummaryExperience-add.vue'
|
||||
import basicSearch from "@/mixins/basic-search"
|
||||
import { timeFormatter } from "@/filters/code-filter"
|
||||
import codeFilter from '@/filters/code-filter'
|
||||
import i18n from "@/i18n"
|
||||
const tableProps = [
|
||||
{
|
||||
@ -47,12 +59,14 @@ const tableProps = [
|
||||
{
|
||||
prop: 'eightDisciplineType',
|
||||
label: i18n.t("code.eightDisciplineType"),
|
||||
align: 'center'
|
||||
align: 'center',
|
||||
filter: codeFilter('eightDisciplineType'),
|
||||
},
|
||||
{
|
||||
prop: 'occurrenceDate',
|
||||
label: i18n.t("code.occurrenceDate"),
|
||||
align: 'center'
|
||||
align: 'center',
|
||||
filter: timeFormatter,
|
||||
},
|
||||
// {
|
||||
// prop: 'productName',
|
||||
@ -84,12 +98,15 @@ const tableBtn = [
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
{
|
||||
type: "summary",
|
||||
btnName: "总结",
|
||||
},
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage, basicSearch],
|
||||
components: {
|
||||
// transferSchemeSearch,
|
||||
// transferSchemeAdd
|
||||
AddOrUpdate,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@ -102,7 +119,8 @@ export default {
|
||||
listQuery: {
|
||||
limit: 10,
|
||||
page: 1,
|
||||
eightDisciplineStatus: 8
|
||||
eightDisciplineStatus: 8,
|
||||
examineStatus: 0
|
||||
},
|
||||
searchOrEditTitle: '',
|
||||
searchOrUpdateVisible: false,
|
||||
@ -180,6 +198,12 @@ export default {
|
||||
this.$nextTick(() => {
|
||||
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) {
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-06-05 09:13:01
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-06-29 16:48:05
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -14,23 +14,41 @@
|
||||
</el-badge> -->
|
||||
</SearchBar>
|
||||
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" 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="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>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import basicPage from "@/mixins/basic-page"
|
||||
import AddOrUpdate from "./components/startEightDisciplineTemporaryTreatmentMeasures-add";
|
||||
// import samplingPlanAdd from "./components/samplingPlan-add"
|
||||
// import AddOrUpdate from './params-add-or-update'
|
||||
// import failureTypeSearch from "./components/failureTypeSearch"
|
||||
// import available from "./components/available.vue"
|
||||
import basicSearch from "@/mixins/basic-search"
|
||||
import { timeFormatter } from "@/filters/code-filter"
|
||||
import codeFilter from '@/filters/code-filter'
|
||||
import i18n from "@/i18n"
|
||||
const tableProps = [
|
||||
{
|
||||
@ -46,12 +64,14 @@ const tableProps = [
|
||||
{
|
||||
prop: 'eightDisciplineType',
|
||||
label: i18n.t("code.eightDisciplineType"),
|
||||
align: 'center'
|
||||
align: 'center',
|
||||
filter: codeFilter('eightDisciplineType'),
|
||||
},
|
||||
{
|
||||
prop: 'occurrenceDate',
|
||||
label: i18n.t("code.occurrenceDate"),
|
||||
align: 'center'
|
||||
align: 'center',
|
||||
filter: timeFormatter,
|
||||
},
|
||||
// {
|
||||
// prop: 'productName',
|
||||
@ -83,12 +103,15 @@ const tableBtn = [
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
{
|
||||
type: "measure",
|
||||
btnName: "措施",
|
||||
},
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage, basicSearch],
|
||||
components: {
|
||||
// failureTypeSearch,
|
||||
// samplingPlanAdd
|
||||
AddOrUpdate,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@ -96,10 +119,14 @@ export default {
|
||||
getDataListURL: "/code/startEightDiscipline/page",
|
||||
deleteURL: "/code/startEightDiscipline",
|
||||
},
|
||||
roleList: [],
|
||||
teamSetTitle: "",
|
||||
teamSetVisible: false,
|
||||
listQuery: {
|
||||
limit: 10,
|
||||
page: 1,
|
||||
eightDisciplineStatus: 3
|
||||
eightDisciplineStatus: 3,
|
||||
examineStatus: 0
|
||||
},
|
||||
tableProps,
|
||||
tableBtn,
|
||||
@ -188,8 +215,30 @@ export default {
|
||||
this.$nextTick(() => {
|
||||
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) {
|
||||
switch (val.btnName) {
|
||||
case "search":
|
||||
|
@ -1,8 +1,8 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-01-11 09:24:58
|
||||
* @LastEditTime: 2023-06-05 09:09:59
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-06-30 09:31:04
|
||||
* @LastEditors: zwq
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -14,12 +14,21 @@
|
||||
</el-badge> -->
|
||||
</SearchBar>
|
||||
<base-table :table-props="tableProps" :page="listQuery.page" :limit="listQuery.limit" :table-data="tableData">
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="100" label="操作" :method-list="tableBtn"
|
||||
<method-btn v-if="tableBtn.length" slot="handleBtn" :width="120" 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" @refreshDataList="successSubmit"></add-or-update>
|
||||
</base-dialog>
|
||||
</div>
|
||||
</el-card>
|
||||
</template>
|
||||
@ -30,7 +39,10 @@ import basicPage from "@/mixins/basic-page"
|
||||
// import AddOrUpdate from './params-add-or-update'
|
||||
// import transferSchemeSearch from "./components/transferSchemeSearch.vue"
|
||||
// import available from "./components/available.vue"
|
||||
import AddOrUpdate from './components/startEightDisciplineValidation-add.vue'
|
||||
import basicSearch from "@/mixins/basic-search"
|
||||
import { timeFormatter } from "@/filters/code-filter"
|
||||
import codeFilter from '@/filters/code-filter'
|
||||
import i18n from "@/i18n"
|
||||
const tableProps = [
|
||||
{
|
||||
@ -46,12 +58,14 @@ const tableProps = [
|
||||
{
|
||||
prop: 'eightDisciplineType',
|
||||
label: i18n.t("code.eightDisciplineType"),
|
||||
align: 'center'
|
||||
align: 'center',
|
||||
filter: codeFilter('eightDisciplineType'),
|
||||
},
|
||||
{
|
||||
prop: 'occurrenceDate',
|
||||
label: i18n.t("code.occurrenceDate"),
|
||||
align: 'center'
|
||||
align: 'center',
|
||||
filter: timeFormatter,
|
||||
},
|
||||
// {
|
||||
// prop: 'productName',
|
||||
@ -83,12 +97,15 @@ const tableBtn = [
|
||||
type: "delete",
|
||||
btnName: "删除",
|
||||
},
|
||||
{
|
||||
type: "validation",
|
||||
btnName: "验证",
|
||||
},
|
||||
];
|
||||
export default {
|
||||
mixins: [basicPage, basicSearch],
|
||||
components: {
|
||||
// transferSchemeSearch,
|
||||
// transferSchemeAdd
|
||||
AddOrUpdate,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@ -101,7 +118,8 @@ export default {
|
||||
listQuery: {
|
||||
limit: 10,
|
||||
page: 1,
|
||||
eightDisciplineStatus: 7
|
||||
eightDisciplineStatus: 6,
|
||||
examineStatus: 0
|
||||
},
|
||||
searchOrEditTitle: '',
|
||||
searchOrUpdateVisible: false,
|
||||
@ -179,6 +197,12 @@ export default {
|
||||
this.$nextTick(() => {
|
||||
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) {
|
||||
|
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>
|
Loading…
Reference in New Issue
Block a user