Merge branch 'master' into zhp
This commit is contained in:
		
							
								
								
									
										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 = '产品类型'
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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,
 | 
					 | 
				
			||||||
        label: '不可用'
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        value: 1,
 | 
					 | 
				
			||||||
        label: '可用'
 | 
					 | 
				
			||||||
        }],
 | 
					 | 
				
			||||||
      eightDisciplineTypeList: [
 | 
					 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          value: 0,
 | 
					          value: 0,
 | 
				
			||||||
          label: '重复发生问题 '
 | 
					          label: "不可用",
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          value: 1,
 | 
					          value: 1,
 | 
				
			||||||
          label: '1客诉问题'
 | 
					          label: "可用",
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      eightDisciplineTypeList: [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          value: '0',
 | 
				
			||||||
 | 
					          label: "重复发生问题 ",
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          value: 2,
 | 
					          value: '1',
 | 
				
			||||||
          label: '重大质量问题'
 | 
					          label: "1客诉问题",
 | 
				
			||||||
        }
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          value: '2',
 | 
				
			||||||
 | 
					          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
 | 
				
			||||||
        params: {
 | 
					        .get(this.urlOptions.teamListURL, {
 | 
				
			||||||
          limit: 999,
 | 
					          params: {
 | 
				
			||||||
          page: 1,
 | 
					            limit: 999,
 | 
				
			||||||
        }
 | 
					            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
 | 
				
			||||||
 | 
					        .get(this.urlOptions.getDictURL, {
 | 
				
			||||||
 | 
					          params: {
 | 
				
			||||||
 | 
					            limit: 999,
 | 
				
			||||||
 | 
					            page: 1,
 | 
				
			||||||
 | 
					            dictTypeId: "1664162193896206337",
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
      this.$http.get(this.urlOptions.getDictURL, {
 | 
					 | 
				
			||||||
        params: {
 | 
					 | 
				
			||||||
          limit: 999,
 | 
					 | 
				
			||||||
          page: 1,
 | 
					 | 
				
			||||||
          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
 | 
				
			||||||
 | 
					        .get(this.urlOptions.getDictURL, {
 | 
				
			||||||
 | 
					          params: {
 | 
				
			||||||
 | 
					            limit: 999,
 | 
				
			||||||
 | 
					            page: 1,
 | 
				
			||||||
 | 
					            dictTypeId: "1664162455184568321",
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
      this.$http.get(this.urlOptions.getDictURL, {
 | 
					 | 
				
			||||||
        params: {
 | 
					 | 
				
			||||||
          limit: 999,
 | 
					 | 
				
			||||||
          page: 1,
 | 
					 | 
				
			||||||
          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,43 @@ 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) {
 | 
				
			||||||
 | 
					                  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) {
 | 
					              if (data && data.code === 0) {
 | 
				
			||||||
                this.$message({
 | 
					                this.$message({
 | 
				
			||||||
                  message: "操作成功",
 | 
					                  message: "操作成功",
 | 
				
			||||||
@@ -188,13 +267,7 @@ export default {
 | 
				
			|||||||
              }
 | 
					              }
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
          })
 | 
					          })
 | 
				
			||||||
          .catch(() => { });
 | 
					          .catch(() => {});
 | 
				
			||||||
      } else if (val.type === 'edit') {
 | 
					 | 
				
			||||||
        this.addOrUpdateVisible = true
 | 
					 | 
				
			||||||
        this.addOrEditTitle = this.$t('edit')
 | 
					 | 
				
			||||||
        this.$nextTick(() => {
 | 
					 | 
				
			||||||
          this.$refs.addOrUpdate.init(val.data.id);
 | 
					 | 
				
			||||||
        });
 | 
					 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    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',
 | 
					 | 
				
			||||||
     label: i18n.t("quality.transferInName"),
 | 
					 | 
				
			||||||
    align: 'center'
 | 
					 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    prop: 'dataSources',
 | 
					    prop: "productName",
 | 
				
			||||||
    label: i18n.t("quality.dataSources"),
 | 
					    label: i18n.t("code.productName"),
 | 
				
			||||||
    align: 'center'
 | 
					    align: "center",
 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
   {
 | 
					 | 
				
			||||||
     prop: 'remark',
 | 
					 | 
				
			||||||
     label: i18n.t("quality.remark"),
 | 
					 | 
				
			||||||
    align: 'center'
 | 
					 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    prop: 'userName',
 | 
					    prop: "customName",
 | 
				
			||||||
    label: i18n.t("quality.userName"),
 | 
					    label: i18n.t("gage.connection"),
 | 
				
			||||||
    align: 'center'
 | 
					    align: "center",
 | 
				
			||||||
  }
 | 
					  },
 | 
				
			||||||
]
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "description",
 | 
				
			||||||
 | 
					    label: i18n.t("basic.remark"),
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "userId",
 | 
				
			||||||
 | 
					    label: i18n.t("code.userId"),
 | 
				
			||||||
 | 
					    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,47 +197,71 @@ export default {
 | 
				
			|||||||
          type: "warning",
 | 
					          type: "warning",
 | 
				
			||||||
        })
 | 
					        })
 | 
				
			||||||
          .then(() => {
 | 
					          .then(() => {
 | 
				
			||||||
            this.$http.delete(this.urlOptions.deleteURL, { data: [val.data.id] }).then(({ data }) => {
 | 
					            this.$http
 | 
				
			||||||
              if (data && data.code === 0) {
 | 
					              .delete(this.urlOptions.deleteURL, { data: [val.data.id] })
 | 
				
			||||||
                this.$message({
 | 
					              .then(({ data }) => {
 | 
				
			||||||
                  message: "操作成功",
 | 
					                if (data && data.code === 0) {
 | 
				
			||||||
                  type: "success",
 | 
					                  this.$message({
 | 
				
			||||||
                  duration: 1500,
 | 
					                    message: "操作成功",
 | 
				
			||||||
                  onClose: () => {
 | 
					                    type: "success",
 | 
				
			||||||
                    this.getDataList();
 | 
					                    duration: 1500,
 | 
				
			||||||
                  },
 | 
					                    onClose: () => {
 | 
				
			||||||
                });
 | 
					                      this.getDataList();
 | 
				
			||||||
              } else {
 | 
					                    },
 | 
				
			||||||
                this.$message.error(data.msg);
 | 
					                  });
 | 
				
			||||||
              }
 | 
					                } else {
 | 
				
			||||||
            });
 | 
					                  this.$message.error(data.msg);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					              });
 | 
				
			||||||
          })
 | 
					          })
 | 
				
			||||||
          .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,8 +215,30 @@ 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) {
 | 
				
			||||||
        case "search":
 | 
					        case "search":
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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,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>
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user