更新8D处理中心和管理中心
This commit is contained in:
		@@ -2,7 +2,7 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * @Date: 2020-12-29 16:49:28
 | 
					 * @Date: 2020-12-29 16:49:28
 | 
				
			||||||
 * @LastEditors: zwq
 | 
					 * @LastEditors: zwq
 | 
				
			||||||
 * @LastEditTime: 2023-01-05 15:49:17
 | 
					 * @LastEditTime: 2023-07-03 10:40:31
 | 
				
			||||||
 * @FilePath: \basic-admin\src\filters\basicData\index.js
 | 
					 * @FilePath: \basic-admin\src\filters\basicData\index.js
 | 
				
			||||||
 * @Description:
 | 
					 * @Description:
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -17,7 +17,34 @@ const table = {
 | 
				
			|||||||
  examineStatus: {
 | 
					  examineStatus: {
 | 
				
			||||||
    1: '需要审批',
 | 
					    1: '需要审批',
 | 
				
			||||||
    0: '不需要审批',
 | 
					    0: '不需要审批',
 | 
				
			||||||
  }
 | 
					  },
 | 
				
			||||||
 | 
					  step: {
 | 
				
			||||||
 | 
					    0: 'D0',
 | 
				
			||||||
 | 
					    1: 'D1',
 | 
				
			||||||
 | 
					    2: 'D2',
 | 
				
			||||||
 | 
					    3: 'D3',
 | 
				
			||||||
 | 
					    4: 'D4',
 | 
				
			||||||
 | 
					    5: 'D5',
 | 
				
			||||||
 | 
					    6: 'D6',
 | 
				
			||||||
 | 
					    7: 'D7',
 | 
				
			||||||
 | 
					    8: 'D8',
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  containmentLocaleName:
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    1: "装配线",
 | 
				
			||||||
 | 
					    2: "生产线",
 | 
				
			||||||
 | 
					    3: "实验室",
 | 
				
			||||||
 | 
					    4: "成品在途",
 | 
				
			||||||
 | 
					    5: "第三方中间商",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  developCountermeasuresName:
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    1: "让步接收",
 | 
				
			||||||
 | 
					    2: "分选返工",
 | 
				
			||||||
 | 
					    3: "隔离",
 | 
				
			||||||
 | 
					    4: "退换货",
 | 
				
			||||||
 | 
					    5: "通知供应商",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export function timeFormatter(timeObj) {
 | 
					export function timeFormatter(timeObj) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-02-14 15:02:26
 | 
					 * @Date: 2023-02-14 15:02:26
 | 
				
			||||||
 * @LastEditTime: 2023-06-29 10:54:23
 | 
					 * @LastEditTime: 2023-07-03 16:24:52
 | 
				
			||||||
 * @LastEditors: zwq
 | 
					 * @LastEditors: zwq
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -183,6 +183,34 @@
 | 
				
			|||||||
          </el-select>
 | 
					          </el-select>
 | 
				
			||||||
        </el-form-item>
 | 
					        </el-form-item>
 | 
				
			||||||
      </el-col>
 | 
					      </el-col>
 | 
				
			||||||
 | 
					      <el-col :span="8">
 | 
				
			||||||
 | 
					    <el-form-item prop="custom" label="客户">
 | 
				
			||||||
 | 
					      <el-select v-model="dataForm.custom"  @change="changeCustom" filterable clearable placeholder="请选择客户">
 | 
				
			||||||
 | 
					        <el-option
 | 
				
			||||||
 | 
					          v-for="item in urlOptions.optionArr.arr0"
 | 
				
			||||||
 | 
					          :key="item.id"
 | 
				
			||||||
 | 
					          :label="item.customerName"
 | 
				
			||||||
 | 
					          :value="item.id+'+'+item.customerName"
 | 
				
			||||||
 | 
					        >
 | 
				
			||||||
 | 
					        </el-option>
 | 
				
			||||||
 | 
					      </el-select>
 | 
				
			||||||
 | 
					    </el-form-item>
 | 
				
			||||||
 | 
					      </el-col>
 | 
				
			||||||
 | 
					      <el-col :span="8">
 | 
				
			||||||
 | 
					    <el-form-item prop="product" label="产品">
 | 
				
			||||||
 | 
					      <el-select v-model="dataForm.product"  @change="changeProduct" filterable clearable placeholder="请选择产品">
 | 
				
			||||||
 | 
					        <el-option
 | 
				
			||||||
 | 
					          v-for="item in urlOptions.optionArr.arr1"
 | 
				
			||||||
 | 
					          :key="item.id"
 | 
				
			||||||
 | 
					          :label="item.productName"
 | 
				
			||||||
 | 
					          :value="item.id+'+'+item.productName"
 | 
				
			||||||
 | 
					        >
 | 
				
			||||||
 | 
					        </el-option>
 | 
				
			||||||
 | 
					      </el-select>
 | 
				
			||||||
 | 
					    </el-form-item>
 | 
				
			||||||
 | 
					      </el-col>
 | 
				
			||||||
 | 
					    </el-row>
 | 
				
			||||||
 | 
					    <el-row :gutter="24">
 | 
				
			||||||
      <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>
 | 
				
			||||||
@@ -200,18 +228,22 @@ export default {
 | 
				
			|||||||
  data() {
 | 
					  data() {
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
      urlOptions: {
 | 
					      urlOptions: {
 | 
				
			||||||
 | 
					        getOption: true,
 | 
				
			||||||
        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",
 | 
				
			||||||
 | 
					        optionArrUrl: ["/basic/qmsCustomer/page", "/basic/qmsProduct/page"],
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      defectList: [],
 | 
					      defectList: [],
 | 
				
			||||||
      teamList: [],
 | 
					      teamList: [],
 | 
				
			||||||
      customerList: [],
 | 
					      customerList: [],
 | 
				
			||||||
      productList: [],
 | 
					      productList: [],
 | 
				
			||||||
      dutyList: [],
 | 
					      dutyList: [],
 | 
				
			||||||
 | 
					      productList: [],
 | 
				
			||||||
 | 
					      customList: [],
 | 
				
			||||||
      examineStatusList: [
 | 
					      examineStatusList: [
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          id: 0,
 | 
					          id: 0,
 | 
				
			||||||
@@ -256,6 +288,8 @@ export default {
 | 
				
			|||||||
        batchNumber: null,
 | 
					        batchNumber: null,
 | 
				
			||||||
        code: null,
 | 
					        code: null,
 | 
				
			||||||
        customId: null,
 | 
					        customId: null,
 | 
				
			||||||
 | 
					        custom: null,
 | 
				
			||||||
 | 
					        customName: null,
 | 
				
			||||||
        defectSourceId: null,
 | 
					        defectSourceId: null,
 | 
				
			||||||
        description: null,
 | 
					        description: null,
 | 
				
			||||||
        eightDisciplineId: null,
 | 
					        eightDisciplineId: null,
 | 
				
			||||||
@@ -267,6 +301,8 @@ export default {
 | 
				
			|||||||
        occurrenceDate: null,
 | 
					        occurrenceDate: null,
 | 
				
			||||||
        orderNo: null,
 | 
					        orderNo: null,
 | 
				
			||||||
        productId: null,
 | 
					        productId: null,
 | 
				
			||||||
 | 
					        product: null,
 | 
				
			||||||
 | 
					        productName: null,
 | 
				
			||||||
        productTypeId: null,
 | 
					        productTypeId: null,
 | 
				
			||||||
        teamList: undefined,
 | 
					        teamList: undefined,
 | 
				
			||||||
        requestResponseCycle: null,
 | 
					        requestResponseCycle: null,
 | 
				
			||||||
@@ -314,6 +350,9 @@ export default {
 | 
				
			|||||||
      // console.log(11111)
 | 
					      // console.log(11111)
 | 
				
			||||||
      // this.dataForm.dictTypeId = dictTypeId || "";
 | 
					      // this.dataForm.dictTypeId = dictTypeId || "";
 | 
				
			||||||
      this.visible = true;
 | 
					      this.visible = true;
 | 
				
			||||||
 | 
					      if (this.urlOptions.getOption) {
 | 
				
			||||||
 | 
					        this.getArr()
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
      this.$nextTick(() => {
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
        this.$refs["dataForm"].resetFields();
 | 
					        this.$refs["dataForm"].resetFields();
 | 
				
			||||||
        if (this.dataForm.id) {
 | 
					        if (this.dataForm.id) {
 | 
				
			||||||
@@ -383,6 +422,22 @@ export default {
 | 
				
			|||||||
        })
 | 
					        })
 | 
				
			||||||
        .catch(() => {});
 | 
					        .catch(() => {});
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    changeCustom(){
 | 
				
			||||||
 | 
					      this.dataForm.customId = this.dataForm.custom
 | 
				
			||||||
 | 
					            ? this.dataForm.custom.split("+")[0]
 | 
				
			||||||
 | 
					            : "";
 | 
				
			||||||
 | 
					      this.dataForm.customName = this.dataForm.custom
 | 
				
			||||||
 | 
					            ? this.dataForm.custom.split("+")[1]
 | 
				
			||||||
 | 
					            : "";
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    changeProduct(){
 | 
				
			||||||
 | 
					      this.dataForm.productId = this.dataForm.product
 | 
				
			||||||
 | 
					            ? this.dataForm.product.split("+")[0]
 | 
				
			||||||
 | 
					            : "";
 | 
				
			||||||
 | 
					      this.dataForm.productName = this.dataForm.product
 | 
				
			||||||
 | 
					            ? this.dataForm.product.split("+")[1]
 | 
				
			||||||
 | 
					            : "";
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
    // 表单提交
 | 
					    // 表单提交
 | 
				
			||||||
    dataFormSubmitHandle: debounce(
 | 
					    dataFormSubmitHandle: debounce(
 | 
				
			||||||
      function () {
 | 
					      function () {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
<!--
 | 
					<!--
 | 
				
			||||||
 * @Author: zhp
 | 
					 * @Author: zhp
 | 
				
			||||||
 * @Date: 2023-01-11 09:24:58
 | 
					 * @Date: 2023-01-11 09:24:58
 | 
				
			||||||
 * @LastEditTime: 2023-06-28 16:06:37
 | 
					 * @LastEditTime: 2023-06-30 11:16:43
 | 
				
			||||||
 * @LastEditors: zwq
 | 
					 * @LastEditors: zwq
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
  <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="3" 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>
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										169
									
								
								src/views/modules/managementCenter/bestPractices.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										169
									
								
								src/views/modules/managementCenter/bestPractices.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,169 @@
 | 
				
			|||||||
 | 
					<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="70"
 | 
				
			||||||
 | 
					          :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/searchs1";
 | 
				
			||||||
 | 
					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: "productName",
 | 
				
			||||||
 | 
					    label: "产品",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "defectName",
 | 
				
			||||||
 | 
					    label: "缺陷",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "description",
 | 
				
			||||||
 | 
					    label: "关键字",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "associationNumber",
 | 
				
			||||||
 | 
					    label: "关联次数",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					];
 | 
				
			||||||
 | 
					const tableBtn = [
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    type: "detail",
 | 
				
			||||||
 | 
					    btnName: "详情",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  mixins: [basicPage],
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      urlOptions: {
 | 
				
			||||||
 | 
					        getDataListURL: "/code/startEightDiscipline/best/practice",
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      tableProps,
 | 
				
			||||||
 | 
					      tableBtn,
 | 
				
			||||||
 | 
					      tableData: [],
 | 
				
			||||||
 | 
					      formConfig: [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          type: "button",
 | 
				
			||||||
 | 
					          btnName: "搜索",
 | 
				
			||||||
 | 
					          name: "search",
 | 
				
			||||||
 | 
					          color: "primary",
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  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>
 | 
				
			||||||
@@ -2,17 +2,23 @@
 | 
				
			|||||||
 * @Author: zwq
 | 
					 * @Author: zwq
 | 
				
			||||||
 * @Date: 2021-11-18 14:16:25
 | 
					 * @Date: 2021-11-18 14:16:25
 | 
				
			||||||
 * @LastEditors: zwq
 | 
					 * @LastEditors: zwq
 | 
				
			||||||
 * @LastEditTime: 2023-06-30 16:23:19
 | 
					 * @LastEditTime: 2023-07-03 09:02:50
 | 
				
			||||||
 * @Description:
 | 
					 * @Description:
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
  <el-descriptions title="">
 | 
					  <el-descriptions title="">
 | 
				
			||||||
    <el-descriptions-item label="标题">{{ dataInfo.title }}</el-descriptions-item>
 | 
					    <el-descriptions-item label="标题">{{ dataInfo.title }}</el-descriptions-item>
 | 
				
			||||||
    <el-descriptions-item label="产品">{{ dataInfo.productName }}</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="发生日期">{{
 | 
				
			||||||
    <el-descriptions-item label="配套产品/系统">{{ dataInfo.supportProducts }}</el-descriptions-item>
 | 
					      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="启动人">{{ dataInfo.userName }}</el-descriptions-item>
 | 
				
			||||||
    <el-descriptions-item label="8D类型">{{ eightDisciplineType[dataInfo.eightDisciplineType] }}</el-descriptions-item>
 | 
					    <el-descriptions-item label="8D类型">{{
 | 
				
			||||||
 | 
					      eightDisciplineType[dataInfo.eightDisciplineType]
 | 
				
			||||||
 | 
					    }}</el-descriptions-item>
 | 
				
			||||||
  </el-descriptions>
 | 
					  </el-descriptions>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -22,32 +28,30 @@ import { timeFormatter } from "@/filters/code-filter";
 | 
				
			|||||||
export default {
 | 
					export default {
 | 
				
			||||||
  data() {
 | 
					  data() {
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
        dataInfo: '',
 | 
					      dataInfo: "",
 | 
				
			||||||
      eightDisciplineType: {
 | 
					      eightDisciplineType: {
 | 
				
			||||||
    1: '客诉问题',
 | 
					        1: "客诉问题",
 | 
				
			||||||
    2: '重大质量问题',
 | 
					        2: "重大质量问题",
 | 
				
			||||||
    0: '重复发生问题',
 | 
					        0: "重复发生问题",
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
    }
 | 
					    };
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    init(id) {
 | 
					    init(id) {
 | 
				
			||||||
        console.log(codeFilter('eightDisciplineType'))
 | 
					 | 
				
			||||||
      this.$nextTick(() => {
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
        this.$http
 | 
					        this.$http
 | 
				
			||||||
          .get(`/code/startEightDiscipline/${id}`)
 | 
					          .get(`/code/startEightDiscipline/${id}`)
 | 
				
			||||||
          .then(({ data: res }) => {
 | 
					          .then(({ data: res }) => {
 | 
				
			||||||
            this.dataListLoading = false;
 | 
					            this.dataListLoading = false;
 | 
				
			||||||
            if (res.code !== 0) {
 | 
					            if (res.code !== 0) {
 | 
				
			||||||
            this.dataInfo = '';
 | 
					              this.dataInfo = "";
 | 
				
			||||||
              return this.$message.error(res.msg);
 | 
					              return this.$message.error(res.msg);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            this.dataInfo = res.data;
 | 
					            this.dataInfo = res.data;
 | 
				
			||||||
          })
 | 
					          })
 | 
				
			||||||
        .catch(() => {
 | 
					          .catch(() => {});
 | 
				
			||||||
        })
 | 
					 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
  }
 | 
					  },
 | 
				
			||||||
}
 | 
					};
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,46 @@
 | 
				
			|||||||
 | 
					<!--
 | 
				
			||||||
 | 
					 * @Author: zwq
 | 
				
			||||||
 | 
					 * @Date: 2021-11-18 14:16:25
 | 
				
			||||||
 | 
					 * @LastEditors: zwq
 | 
				
			||||||
 | 
					 * @LastEditTime: 2023-07-03 10:01:55
 | 
				
			||||||
 | 
					 * @Description:
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <el-descriptions title="">
 | 
				
			||||||
 | 
					    <el-descriptions-item label="描述">{{ dataInfo }}</el-descriptions-item>
 | 
				
			||||||
 | 
					  </el-descriptions>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      dataInfo: "",
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  methods: {
 | 
				
			||||||
 | 
					    init(id) {
 | 
				
			||||||
 | 
					      const param = {
 | 
				
			||||||
 | 
					        startEightDisciplineId: id,
 | 
				
			||||||
 | 
					        limit: 10,
 | 
				
			||||||
 | 
					        page: 1,
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
 | 
					        this.$http
 | 
				
			||||||
 | 
					          .get("/code/startEightDisciplinePreliminaryAnalysis/page", {
 | 
				
			||||||
 | 
					            params: param,
 | 
				
			||||||
 | 
					          })
 | 
				
			||||||
 | 
					          .then(({ data: res }) => {
 | 
				
			||||||
 | 
					            this.dataListLoading = false;
 | 
				
			||||||
 | 
					            if (res.code !== 0) {
 | 
				
			||||||
 | 
					              this.dataInfo = "";
 | 
				
			||||||
 | 
					              return this.$message.error(res.msg);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            this.dataInfo = res.data.list[0]?.description;
 | 
				
			||||||
 | 
					          })
 | 
				
			||||||
 | 
					          .catch(() => {});
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,76 @@
 | 
				
			|||||||
 | 
					<!--
 | 
				
			||||||
 | 
					 * @Author: zwq
 | 
				
			||||||
 | 
					 * @Date: 2021-11-18 14:16:25
 | 
				
			||||||
 | 
					 * @LastEditors: zwq
 | 
				
			||||||
 | 
					 * @LastEditTime: 2023-07-03 10:26:10
 | 
				
			||||||
 | 
					 * @Description:
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					<template>
 | 
				
			||||||
 | 
					    <base-table border :table-props="tableProps" :table-data="tableData" />
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					import i18n from "@/i18n";
 | 
				
			||||||
 | 
					import codeFilter from "@/filters/code-filter";
 | 
				
			||||||
 | 
					const tableProps = [
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "step",
 | 
				
			||||||
 | 
					    label: i18n.t("disqualification.step"),
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					    filter: codeFilter('step'),
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "memberName",
 | 
				
			||||||
 | 
					    label: "成员",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "time",
 | 
				
			||||||
 | 
					    label: "时间(小时)",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "approverName",
 | 
				
			||||||
 | 
					    label: "审批人",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "terminationApproverName",
 | 
				
			||||||
 | 
					    label: "终止审批人",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					];
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      dataInfo: "",
 | 
				
			||||||
 | 
					      tableProps,
 | 
				
			||||||
 | 
					      tableData:[]
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  methods: {
 | 
				
			||||||
 | 
					    init(id) {
 | 
				
			||||||
 | 
					      const param = {
 | 
				
			||||||
 | 
					        startEightDisciplineId: id,
 | 
				
			||||||
 | 
					        limit: 10,
 | 
				
			||||||
 | 
					        page: 1,
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
 | 
					        this.$http
 | 
				
			||||||
 | 
					          .get("/code/startEightDisciplineCreateTeam/page", {
 | 
				
			||||||
 | 
					            params: param,
 | 
				
			||||||
 | 
					          })
 | 
				
			||||||
 | 
					          .then(({ data: res }) => {
 | 
				
			||||||
 | 
					            this.dataListLoading = false;
 | 
				
			||||||
 | 
					            if (res.code !== 0) {
 | 
				
			||||||
 | 
					              this.tableData = [];
 | 
				
			||||||
 | 
					              return this.$message.error(res.msg);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            this.tableData = res.data.list;
 | 
				
			||||||
 | 
					          })
 | 
				
			||||||
 | 
					          .catch(() => {});
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,89 @@
 | 
				
			|||||||
 | 
					<!--
 | 
				
			||||||
 | 
					 * @Author: zwq
 | 
				
			||||||
 | 
					 * @Date: 2021-11-18 14:16:25
 | 
				
			||||||
 | 
					 * @LastEditors: zwq
 | 
				
			||||||
 | 
					 * @LastEditTime: 2023-07-03 10:38:52
 | 
				
			||||||
 | 
					 * @Description:
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					<template>
 | 
				
			||||||
 | 
					    <base-table border :table-props="tableProps" :table-data="tableData" />
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					import i18n from "@/i18n";
 | 
				
			||||||
 | 
					import codeFilter from "@/filters/code-filter";
 | 
				
			||||||
 | 
					import { timeFormatter } from "@/filters/code-filter";
 | 
				
			||||||
 | 
					const tableProps = [
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "containmentLocale",
 | 
				
			||||||
 | 
					    label: "遏制区域设置",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					    filter: codeFilter('containmentLocaleName'),
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "developCountermeasures",
 | 
				
			||||||
 | 
					    label: "拟定对策",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					    filter: codeFilter('developCountermeasuresName'),
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "controlleQuantity",
 | 
				
			||||||
 | 
					    label: "应受控数量",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "actualQuantity",
 | 
				
			||||||
 | 
					    label: "实际数量",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "defectQuantity",
 | 
				
			||||||
 | 
					    label: "不良数量",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "userName",
 | 
				
			||||||
 | 
					    label: "负责人",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "completionDate",
 | 
				
			||||||
 | 
					    label: "完成日期",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					    filter: timeFormatter,
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					];
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      dataInfo: "",
 | 
				
			||||||
 | 
					      tableProps,
 | 
				
			||||||
 | 
					      tableData:[]
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  methods: {
 | 
				
			||||||
 | 
					    init(id) {
 | 
				
			||||||
 | 
					      const param = {
 | 
				
			||||||
 | 
					        startEightDisciplineId: id,
 | 
				
			||||||
 | 
					        limit: 10,
 | 
				
			||||||
 | 
					        page: 1,
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
 | 
					        this.$http
 | 
				
			||||||
 | 
					          .get("/code/startEightDisciplineTemporaryTreatmentMeasures/page", {
 | 
				
			||||||
 | 
					            params: param,
 | 
				
			||||||
 | 
					          })
 | 
				
			||||||
 | 
					          .then(({ data: res }) => {
 | 
				
			||||||
 | 
					            this.dataListLoading = false;
 | 
				
			||||||
 | 
					            if (res.code !== 0) {
 | 
				
			||||||
 | 
					              this.tableData = [];
 | 
				
			||||||
 | 
					              return this.$message.error(res.msg);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            this.tableData = res.data.list;
 | 
				
			||||||
 | 
					          })
 | 
				
			||||||
 | 
					          .catch(() => {});
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,46 @@
 | 
				
			|||||||
 | 
					<!--
 | 
				
			||||||
 | 
					 * @Author: zwq
 | 
				
			||||||
 | 
					 * @Date: 2021-11-18 14:16:25
 | 
				
			||||||
 | 
					 * @LastEditors: zwq
 | 
				
			||||||
 | 
					 * @LastEditTime: 2023-07-03 10:41:50
 | 
				
			||||||
 | 
					 * @Description:
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <el-descriptions title="">
 | 
				
			||||||
 | 
					    <el-descriptions-item label="问题类型">{{ dataInfo }}</el-descriptions-item>
 | 
				
			||||||
 | 
					  </el-descriptions>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      dataInfo: "",
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  methods: {
 | 
				
			||||||
 | 
					    init(id) {
 | 
				
			||||||
 | 
					      const param = {
 | 
				
			||||||
 | 
					        startEightDisciplineId: id,
 | 
				
			||||||
 | 
					        limit: 10,
 | 
				
			||||||
 | 
					        page: 1,
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
 | 
					        this.$http
 | 
				
			||||||
 | 
					          .get("/code/startEightDisciplineRootCauseAnalysis/page", {
 | 
				
			||||||
 | 
					            params: param,
 | 
				
			||||||
 | 
					          })
 | 
				
			||||||
 | 
					          .then(({ data: res }) => {
 | 
				
			||||||
 | 
					            this.dataListLoading = false;
 | 
				
			||||||
 | 
					            if (res.code !== 0) {
 | 
				
			||||||
 | 
					              this.dataInfo = "";
 | 
				
			||||||
 | 
					              return this.$message.error(res.msg);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            this.dataInfo = res.data.list[0]?.problemType;
 | 
				
			||||||
 | 
					          })
 | 
				
			||||||
 | 
					          .catch(() => {});
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,46 @@
 | 
				
			|||||||
 | 
					<!--
 | 
				
			||||||
 | 
					 * @Author: zwq
 | 
				
			||||||
 | 
					 * @Date: 2021-11-18 14:16:25
 | 
				
			||||||
 | 
					 * @LastEditors: zwq
 | 
				
			||||||
 | 
					 * @LastEditTime: 2023-07-03 10:43:27
 | 
				
			||||||
 | 
					 * @Description:
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <el-descriptions title="">
 | 
				
			||||||
 | 
					    <el-descriptions-item label="描述">{{ dataInfo }}</el-descriptions-item>
 | 
				
			||||||
 | 
					  </el-descriptions>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      dataInfo: "",
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  methods: {
 | 
				
			||||||
 | 
					    init(id) {
 | 
				
			||||||
 | 
					      const param = {
 | 
				
			||||||
 | 
					        startEightDisciplineId: id,
 | 
				
			||||||
 | 
					        limit: 10,
 | 
				
			||||||
 | 
					        page: 1,
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
 | 
					        this.$http
 | 
				
			||||||
 | 
					          .get("/code/startEightDisciplineDescriptionCorrectiveAction/page", {
 | 
				
			||||||
 | 
					            params: param,
 | 
				
			||||||
 | 
					          })
 | 
				
			||||||
 | 
					          .then(({ data: res }) => {
 | 
				
			||||||
 | 
					            this.dataListLoading = false;
 | 
				
			||||||
 | 
					            if (res.code !== 0) {
 | 
				
			||||||
 | 
					              this.dataInfo = "";
 | 
				
			||||||
 | 
					              return this.$message.error(res.msg);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            this.dataInfo = res.data.list[0]?.description;
 | 
				
			||||||
 | 
					          })
 | 
				
			||||||
 | 
					          .catch(() => {});
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,46 @@
 | 
				
			|||||||
 | 
					<!--
 | 
				
			||||||
 | 
					 * @Author: zwq
 | 
				
			||||||
 | 
					 * @Date: 2021-11-18 14:16:25
 | 
				
			||||||
 | 
					 * @LastEditors: zwq
 | 
				
			||||||
 | 
					 * @LastEditTime: 2023-07-03 10:44:13
 | 
				
			||||||
 | 
					 * @Description:
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <el-descriptions title="">
 | 
				
			||||||
 | 
					    <el-descriptions-item label="描述">{{ dataInfo }}</el-descriptions-item>
 | 
				
			||||||
 | 
					  </el-descriptions>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      dataInfo: "",
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  methods: {
 | 
				
			||||||
 | 
					    init(id) {
 | 
				
			||||||
 | 
					      const param = {
 | 
				
			||||||
 | 
					        startEightDisciplineId: id,
 | 
				
			||||||
 | 
					        limit: 10,
 | 
				
			||||||
 | 
					        page: 1,
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
 | 
					        this.$http
 | 
				
			||||||
 | 
					          .get("/code/startEightDisciplineValidation/page", {
 | 
				
			||||||
 | 
					            params: param,
 | 
				
			||||||
 | 
					          })
 | 
				
			||||||
 | 
					          .then(({ data: res }) => {
 | 
				
			||||||
 | 
					            this.dataListLoading = false;
 | 
				
			||||||
 | 
					            if (res.code !== 0) {
 | 
				
			||||||
 | 
					              this.dataInfo = "";
 | 
				
			||||||
 | 
					              return this.$message.error(res.msg);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            this.dataInfo = res.data.list[0]?.description;
 | 
				
			||||||
 | 
					          })
 | 
				
			||||||
 | 
					          .catch(() => {});
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,46 @@
 | 
				
			|||||||
 | 
					<!--
 | 
				
			||||||
 | 
					 * @Author: zwq
 | 
				
			||||||
 | 
					 * @Date: 2021-11-18 14:16:25
 | 
				
			||||||
 | 
					 * @LastEditors: zwq
 | 
				
			||||||
 | 
					 * @LastEditTime: 2023-07-03 10:45:12
 | 
				
			||||||
 | 
					 * @Description:
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <el-descriptions title="">
 | 
				
			||||||
 | 
					    <el-descriptions-item label="描述">{{ dataInfo }}</el-descriptions-item>
 | 
				
			||||||
 | 
					  </el-descriptions>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      dataInfo: "",
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  methods: {
 | 
				
			||||||
 | 
					    init(id) {
 | 
				
			||||||
 | 
					      const param = {
 | 
				
			||||||
 | 
					        startEightDisciplineId: id,
 | 
				
			||||||
 | 
					        limit: 10,
 | 
				
			||||||
 | 
					        page: 1,
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
 | 
					        this.$http
 | 
				
			||||||
 | 
					          .get("/code/startEightDisciplinePreventRecurrence/page", {
 | 
				
			||||||
 | 
					            params: param,
 | 
				
			||||||
 | 
					          })
 | 
				
			||||||
 | 
					          .then(({ data: res }) => {
 | 
				
			||||||
 | 
					            this.dataListLoading = false;
 | 
				
			||||||
 | 
					            if (res.code !== 0) {
 | 
				
			||||||
 | 
					              this.dataInfo = "";
 | 
				
			||||||
 | 
					              return this.$message.error(res.msg);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            this.dataInfo = res.data.list[0]?.description;
 | 
				
			||||||
 | 
					          })
 | 
				
			||||||
 | 
					          .catch(() => {});
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,46 @@
 | 
				
			|||||||
 | 
					<!--
 | 
				
			||||||
 | 
					 * @Author: zwq
 | 
				
			||||||
 | 
					 * @Date: 2021-11-18 14:16:25
 | 
				
			||||||
 | 
					 * @LastEditors: zwq
 | 
				
			||||||
 | 
					 * @LastEditTime: 2023-07-03 10:45:56
 | 
				
			||||||
 | 
					 * @Description:
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <el-descriptions title="">
 | 
				
			||||||
 | 
					    <el-descriptions-item label="描述">{{ dataInfo }}</el-descriptions-item>
 | 
				
			||||||
 | 
					  </el-descriptions>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      dataInfo: "",
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  methods: {
 | 
				
			||||||
 | 
					    init(id) {
 | 
				
			||||||
 | 
					      const param = {
 | 
				
			||||||
 | 
					        startEightDisciplineId: id,
 | 
				
			||||||
 | 
					        limit: 10,
 | 
				
			||||||
 | 
					        page: 1,
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      this.$nextTick(() => {
 | 
				
			||||||
 | 
					        this.$http
 | 
				
			||||||
 | 
					          .get("/code/startEightDisciplineSummaryExperience/page", {
 | 
				
			||||||
 | 
					            params: param,
 | 
				
			||||||
 | 
					          })
 | 
				
			||||||
 | 
					          .then(({ data: res }) => {
 | 
				
			||||||
 | 
					            this.dataListLoading = false;
 | 
				
			||||||
 | 
					            if (res.code !== 0) {
 | 
				
			||||||
 | 
					              this.dataInfo = "";
 | 
				
			||||||
 | 
					              return this.$message.error(res.msg);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            this.dataInfo = res.data.list[0]?.description;
 | 
				
			||||||
 | 
					          })
 | 
				
			||||||
 | 
					          .catch(() => {});
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -105,6 +105,7 @@ export default {
 | 
				
			|||||||
  methods: {
 | 
					  methods: {
 | 
				
			||||||
    init(id) {
 | 
					    init(id) {
 | 
				
			||||||
      this.id = id
 | 
					      this.id = id
 | 
				
			||||||
 | 
					      this.activeName = 'D0'
 | 
				
			||||||
      this.visible = true;
 | 
					      this.visible = true;
 | 
				
			||||||
      this.D0Visible = true
 | 
					      this.D0Visible = true
 | 
				
			||||||
      this.oldTab = 'D0Visible'
 | 
					      this.oldTab = 'D0Visible'
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										125
									
								
								src/views/modules/managementCenter/components/line-chart.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										125
									
								
								src/views/modules/managementCenter/components/line-chart.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,125 @@
 | 
				
			|||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <div class="mod-demo-echarts">
 | 
				
			||||||
 | 
					    <el-row :gutter="20">
 | 
				
			||||||
 | 
					      <el-col :span="24">
 | 
				
			||||||
 | 
					        <el-card>
 | 
				
			||||||
 | 
					          <div id="lineChart" class="chart-box"></div>
 | 
				
			||||||
 | 
					        </el-card>
 | 
				
			||||||
 | 
					      </el-col>
 | 
				
			||||||
 | 
					    </el-row>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					import * as echarts from "echarts";
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  props: {
 | 
				
			||||||
 | 
					    title: {
 | 
				
			||||||
 | 
					      type: String,
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    dataList: {
 | 
				
			||||||
 | 
					      type: Array,
 | 
				
			||||||
 | 
					      default: () => {
 | 
				
			||||||
 | 
					        return [];
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      //testdata
 | 
				
			||||||
 | 
					      lineChart: {},
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  mounted() {
 | 
				
			||||||
 | 
					    this.initChartLine();
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  activated() {
 | 
				
			||||||
 | 
					    // 由于给echart添加了resize事件, 在组件激活时需要重新resize绘画一次, 否则出现空白bug
 | 
				
			||||||
 | 
					    if (this.lineChart) {
 | 
				
			||||||
 | 
					      this.lineChart.resize();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  methods: {
 | 
				
			||||||
 | 
					    // 折线图
 | 
				
			||||||
 | 
					    initChartLine() {
 | 
				
			||||||
 | 
					      var option = {
 | 
				
			||||||
 | 
					        title: {
 | 
				
			||||||
 | 
					          text: this.title,
 | 
				
			||||||
 | 
					          left: "left",
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        tooltip: {
 | 
				
			||||||
 | 
					          trigger: "axis",
 | 
				
			||||||
 | 
					          axisPointer: {
 | 
				
			||||||
 | 
					            // Use axis to trigger tooltip
 | 
				
			||||||
 | 
					            type: "shadow", // 'shadow' as default; can also be 'line' or 'shadow'
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        legend: {
 | 
				
			||||||
 | 
					          top: "6%",
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        grid: {
 | 
				
			||||||
 | 
					          left: "3%",
 | 
				
			||||||
 | 
					          right: "4%",
 | 
				
			||||||
 | 
					          bottom: "3%",
 | 
				
			||||||
 | 
					          containLabel: true,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        xAxis: {
 | 
				
			||||||
 | 
					          type: "category",
 | 
				
			||||||
 | 
					          data: [
 | 
				
			||||||
 | 
					            ...new Set(
 | 
				
			||||||
 | 
					              this.dataList?.map((item) => {
 | 
				
			||||||
 | 
					                return item.month;
 | 
				
			||||||
 | 
					              })
 | 
				
			||||||
 | 
					            ),
 | 
				
			||||||
 | 
					          ],
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        yAxis: {
 | 
				
			||||||
 | 
					          type: "value",
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        series: [],
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      this.dataList.forEach((item) => {
 | 
				
			||||||
 | 
					        const i = option.series.findIndex((c) => c.id === item.productTypeId);
 | 
				
			||||||
 | 
					        if (i >= 0) {
 | 
				
			||||||
 | 
					          option.series[i].data.push(item.productTypeNumber);
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					          console.log(item.productTypeName)
 | 
				
			||||||
 | 
					          const obj = {
 | 
				
			||||||
 | 
					            name: item.productTypeName,
 | 
				
			||||||
 | 
					            id: item.productTypeId,
 | 
				
			||||||
 | 
					            type: "bar",
 | 
				
			||||||
 | 
					            stack: "total",
 | 
				
			||||||
 | 
					            label: {
 | 
				
			||||||
 | 
					              show: true,
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            emphasis: {
 | 
				
			||||||
 | 
					              focus: "series",
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            data: [],
 | 
				
			||||||
 | 
					          };
 | 
				
			||||||
 | 
					          obj.data.push(item.productTypeNumber);
 | 
				
			||||||
 | 
					          option.series.push(obj);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      })
 | 
				
			||||||
 | 
					      console.log(option.series)
 | 
				
			||||||
 | 
					      this.lineChart = echarts.init(document.getElementById("lineChart"))
 | 
				
			||||||
 | 
					      this.lineChart.setOption(option);
 | 
				
			||||||
 | 
					      window.addEventListener("resize", () => {
 | 
				
			||||||
 | 
					        this.lineChart.resize();
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<style lang="scss">
 | 
				
			||||||
 | 
					.mod-demo-echarts {
 | 
				
			||||||
 | 
					  > .el-row {
 | 
				
			||||||
 | 
					    .el-col {
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  .chart-box {
 | 
				
			||||||
 | 
					    min-height: 400px;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					</style>
 | 
				
			||||||
							
								
								
									
										100
									
								
								src/views/modules/managementCenter/components/pie-chart.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										100
									
								
								src/views/modules/managementCenter/components/pie-chart.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,100 @@
 | 
				
			|||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <div class="mod-demo-echarts">
 | 
				
			||||||
 | 
					    <el-row :gutter="20">
 | 
				
			||||||
 | 
					      <el-col :span="24">
 | 
				
			||||||
 | 
					        <el-card>
 | 
				
			||||||
 | 
					          <div id="pieChart" class="chart-box"></div>
 | 
				
			||||||
 | 
					        </el-card>
 | 
				
			||||||
 | 
					      </el-col>
 | 
				
			||||||
 | 
					    </el-row>
 | 
				
			||||||
 | 
					  </div>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					import * as echarts from "echarts";
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  props: {
 | 
				
			||||||
 | 
					    title: {
 | 
				
			||||||
 | 
					      type: String,
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    dataList: {
 | 
				
			||||||
 | 
					      type: Array,
 | 
				
			||||||
 | 
					      default: () => {
 | 
				
			||||||
 | 
					        return [];
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      //testdata
 | 
				
			||||||
 | 
					      pieChart: {},
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  mounted() {
 | 
				
			||||||
 | 
					    this.initChartLine();
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  activated() {
 | 
				
			||||||
 | 
					    // 由于给echart添加了resize事件, 在组件激活时需要重新resize绘画一次, 否则出现空白bug
 | 
				
			||||||
 | 
					    if (this.pieChart) {
 | 
				
			||||||
 | 
					      this.pieChart.resize();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  methods: {
 | 
				
			||||||
 | 
					    // 折线图
 | 
				
			||||||
 | 
					    initChartLine() {
 | 
				
			||||||
 | 
					      var option = {
 | 
				
			||||||
 | 
					        title: {
 | 
				
			||||||
 | 
					          text: this.title,
 | 
				
			||||||
 | 
					          left: "left",
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        tooltip: {
 | 
				
			||||||
 | 
					          trigger: "item",
 | 
				
			||||||
 | 
					          formatter: "{b} : {c} ({d}%)",
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        legend: {
 | 
				
			||||||
 | 
					          orient: "vertical",
 | 
				
			||||||
 | 
					          left: "left",
 | 
				
			||||||
 | 
					          top: "6%",
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        series: [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            type: "pie",
 | 
				
			||||||
 | 
					            radius: "50%",
 | 
				
			||||||
 | 
					            data: this.dataList?.map((item) => {
 | 
				
			||||||
 | 
					              const obj = {
 | 
				
			||||||
 | 
					                value: item.productTypeNumber,
 | 
				
			||||||
 | 
					                name: item.productTypeName,
 | 
				
			||||||
 | 
					              };
 | 
				
			||||||
 | 
					              return obj;
 | 
				
			||||||
 | 
					            }),
 | 
				
			||||||
 | 
					            emphasis: {
 | 
				
			||||||
 | 
					              itemStyle: {
 | 
				
			||||||
 | 
					                shadowBlur: 10,
 | 
				
			||||||
 | 
					                shadowOffsetX: 0,
 | 
				
			||||||
 | 
					                shadowColor: "rgba(0, 0, 0, 0.5)",
 | 
				
			||||||
 | 
					              },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					      this.pieChart = echarts.init(document.getElementById("pieChart"));
 | 
				
			||||||
 | 
					      this.pieChart.setOption(option);
 | 
				
			||||||
 | 
					      window.addEventListener("resize", () => {
 | 
				
			||||||
 | 
					        this.pieChart.resize();
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<style lang="scss">
 | 
				
			||||||
 | 
					.mod-demo-echarts {
 | 
				
			||||||
 | 
					  > .el-row {
 | 
				
			||||||
 | 
					    .el-col {
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  .chart-box {
 | 
				
			||||||
 | 
					    min-height: 400px;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					</style>
 | 
				
			||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
 * @Author: zwq
 | 
					 * @Author: zwq
 | 
				
			||||||
 * @Date: 2023-01-04 10:29:40
 | 
					 * @Date: 2023-01-04 10:29:40
 | 
				
			||||||
 * @LastEditors: zwq
 | 
					 * @LastEditors: zwq
 | 
				
			||||||
 * @LastEditTime: 2023-06-30 14:53:49
 | 
					 * @LastEditTime: 2023-07-03 16:13:18
 | 
				
			||||||
 * @Description: 
 | 
					 * @Description: 
 | 
				
			||||||
-->
 | 
					-->
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
@@ -13,7 +13,7 @@
 | 
				
			|||||||
    <el-form-item prop="customId" label="客户">
 | 
					    <el-form-item prop="customId" label="客户">
 | 
				
			||||||
      <el-select v-model="dataForm.customId" filterable clearable placeholder="请选择客户">
 | 
					      <el-select v-model="dataForm.customId" filterable clearable placeholder="请选择客户">
 | 
				
			||||||
        <el-option
 | 
					        <el-option
 | 
				
			||||||
          v-for="item in this.urlOptions.optionArr.arr0"
 | 
					          v-for="item in urlOptions.optionArr.arr0"
 | 
				
			||||||
          :key="item.id"
 | 
					          :key="item.id"
 | 
				
			||||||
          :label="item.customerName"
 | 
					          :label="item.customerName"
 | 
				
			||||||
          :value="item.id"
 | 
					          :value="item.id"
 | 
				
			||||||
@@ -24,7 +24,7 @@
 | 
				
			|||||||
    <el-form-item prop="productId" label="产品">
 | 
					    <el-form-item prop="productId" label="产品">
 | 
				
			||||||
      <el-select v-model="dataForm.productId" filterable clearable placeholder="请选择产品">
 | 
					      <el-select v-model="dataForm.productId" filterable clearable placeholder="请选择产品">
 | 
				
			||||||
        <el-option
 | 
					        <el-option
 | 
				
			||||||
          v-for="item in this.urlOptions.optionArr.arr1"
 | 
					          v-for="item in urlOptions.optionArr.arr1"
 | 
				
			||||||
          :key="item.id"
 | 
					          :key="item.id"
 | 
				
			||||||
          :label="item.productName"
 | 
					          :label="item.productName"
 | 
				
			||||||
          :value="item.id"
 | 
					          :value="item.id"
 | 
				
			||||||
@@ -48,6 +48,14 @@
 | 
				
			|||||||
        </el-option>
 | 
					        </el-option>
 | 
				
			||||||
      </el-select>
 | 
					      </el-select>
 | 
				
			||||||
    </el-form-item>
 | 
					    </el-form-item>
 | 
				
			||||||
 | 
					    <el-form-item prop="role" label="角色" v-if="showObj.role">
 | 
				
			||||||
 | 
					      <el-radio-group v-model="dataForm.role">
 | 
				
			||||||
 | 
					        <el-radio :label="1">启动人</el-radio>
 | 
				
			||||||
 | 
					        <el-radio :label="2">分析人</el-radio>
 | 
				
			||||||
 | 
					        <el-radio :label="3">负责人</el-radio>
 | 
				
			||||||
 | 
					        <el-radio :label="4">处理人</el-radio>
 | 
				
			||||||
 | 
					      </el-radio-group>
 | 
				
			||||||
 | 
					    </el-form-item>
 | 
				
			||||||
    <el-form-item prop="occurrenceDate" label="发生时间">
 | 
					    <el-form-item prop="occurrenceDate" label="发生时间">
 | 
				
			||||||
      <el-date-picker
 | 
					      <el-date-picker
 | 
				
			||||||
        v-model="dataForm.occurrenceDate"
 | 
					        v-model="dataForm.occurrenceDate"
 | 
				
			||||||
@@ -105,6 +113,12 @@ const eightDisciplineStatusArr = [
 | 
				
			|||||||
];
 | 
					];
 | 
				
			||||||
export default {
 | 
					export default {
 | 
				
			||||||
  mixins: [basicAdd],
 | 
					  mixins: [basicAdd],
 | 
				
			||||||
 | 
					  props: {
 | 
				
			||||||
 | 
					    showObj: {
 | 
				
			||||||
 | 
					      type: Object,
 | 
				
			||||||
 | 
					      default: () => ({})
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  data() {
 | 
					  data() {
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
      urlOptions: {
 | 
					      urlOptions: {
 | 
				
			||||||
@@ -114,6 +128,7 @@ export default {
 | 
				
			|||||||
      eightDisciplineStatusArr,
 | 
					      eightDisciplineStatusArr,
 | 
				
			||||||
      dataForm: {
 | 
					      dataForm: {
 | 
				
			||||||
        title: "",
 | 
					        title: "",
 | 
				
			||||||
 | 
					        role: "",
 | 
				
			||||||
        eightDisciplineStatus: "",
 | 
					        eightDisciplineStatus: "",
 | 
				
			||||||
        occurrenceDate: "",
 | 
					        occurrenceDate: "",
 | 
				
			||||||
        customId: "",
 | 
					        customId: "",
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										86
									
								
								src/views/modules/managementCenter/components/searchs1.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								src/views/modules/managementCenter/components/searchs1.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,86 @@
 | 
				
			|||||||
 | 
					<!--
 | 
				
			||||||
 | 
					 * @Author: zwq
 | 
				
			||||||
 | 
					 * @Date: 2023-01-04 10:29:40
 | 
				
			||||||
 | 
					 * @LastEditors: zwq
 | 
				
			||||||
 | 
					 * @LastEditTime: 2023-07-03 15:10:57
 | 
				
			||||||
 | 
					 * @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="productId" label="产品">
 | 
				
			||||||
 | 
					      <el-select v-model="dataForm.productId" filterable clearable placeholder="请选择产品">
 | 
				
			||||||
 | 
					        <el-option
 | 
				
			||||||
 | 
					          v-for="item in this.urlOptions.optionArr.arr0"
 | 
				
			||||||
 | 
					          :key="item.id"
 | 
				
			||||||
 | 
					          :label="item.productName"
 | 
				
			||||||
 | 
					          :value="item.id"
 | 
				
			||||||
 | 
					        >
 | 
				
			||||||
 | 
					        </el-option>
 | 
				
			||||||
 | 
					      </el-select>
 | 
				
			||||||
 | 
					    </el-form-item>
 | 
				
			||||||
 | 
					    <el-form-item prop="defectId" label="缺陷">
 | 
				
			||||||
 | 
					      <el-select v-model="dataForm.defectId" filterable clearable placeholder="请选择缺陷">
 | 
				
			||||||
 | 
					        <el-option
 | 
				
			||||||
 | 
					          v-for="item in this.urlOptions.optionArr.arr1"
 | 
				
			||||||
 | 
					          :key="item.id"
 | 
				
			||||||
 | 
					          :label="item.name"
 | 
				
			||||||
 | 
					          :value="item.id"
 | 
				
			||||||
 | 
					        >
 | 
				
			||||||
 | 
					        </el-option>
 | 
				
			||||||
 | 
					      </el-select>
 | 
				
			||||||
 | 
					    </el-form-item>
 | 
				
			||||||
 | 
					    <el-form-item prop="description" label="关键字">
 | 
				
			||||||
 | 
					      <el-input v-model="dataForm.description" placeholder="关键字" clearable></el-input>
 | 
				
			||||||
 | 
					    </el-form-item>
 | 
				
			||||||
 | 
					  </el-form>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					import basicAdd from "@/mixins/basic-add";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  mixins: [basicAdd],
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      urlOptions: {
 | 
				
			||||||
 | 
					        optionArrUrl: ["/basic/qmsProduct/page","/basic/qmsProduct/page"],
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      visible: false,
 | 
				
			||||||
 | 
					      dataForm: {
 | 
				
			||||||
 | 
					        title: "",
 | 
				
			||||||
 | 
					        productId: "",
 | 
				
			||||||
 | 
					        defectId: '',
 | 
				
			||||||
 | 
					        description: ''
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  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>
 | 
				
			||||||
@@ -15,7 +15,7 @@
 | 
				
			|||||||
        <method-btn
 | 
					        <method-btn
 | 
				
			||||||
          v-if="tableBtn.length"
 | 
					          v-if="tableBtn.length"
 | 
				
			||||||
          slot="handleBtn"
 | 
					          slot="handleBtn"
 | 
				
			||||||
          :width="100"
 | 
					          :width="70"
 | 
				
			||||||
          :label="$t('handle')"
 | 
					          :label="$t('handle')"
 | 
				
			||||||
          :method-list="tableBtn"
 | 
					          :method-list="tableBtn"
 | 
				
			||||||
          @clickBtn="handleClick"
 | 
					          @clickBtn="handleClick"
 | 
				
			||||||
@@ -66,11 +66,6 @@ const tableProps = [
 | 
				
			|||||||
    label: i18n.t("code.title"),
 | 
					    label: i18n.t("code.title"),
 | 
				
			||||||
    align: "center",
 | 
					    align: "center",
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    prop: "code",
 | 
					 | 
				
			||||||
    label: i18n.t("code.code"),
 | 
					 | 
				
			||||||
    align: "center",
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    prop: "eightDisciplineType",
 | 
					    prop: "eightDisciplineType",
 | 
				
			||||||
    label: i18n.t("code.eightDisciplineType"),
 | 
					    label: i18n.t("code.eightDisciplineType"),
 | 
				
			||||||
@@ -83,23 +78,34 @@ const tableProps = [
 | 
				
			|||||||
    align: "center",
 | 
					    align: "center",
 | 
				
			||||||
    filter: timeFormatter,
 | 
					    filter: timeFormatter,
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "productName",
 | 
				
			||||||
 | 
					    label: "产品",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "customName",
 | 
				
			||||||
 | 
					    label: "客户",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    prop: "description",
 | 
					    prop: "description",
 | 
				
			||||||
    label: i18n.t("code.description"),
 | 
					    label: i18n.t("code.description"),
 | 
				
			||||||
    align: "center",
 | 
					    align: "center",
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    prop: "examineStatus",
 | 
					    prop: "userName",
 | 
				
			||||||
    label: i18n.t("code.examineStatus"),
 | 
					    label: "启动人",
 | 
				
			||||||
    align: "center",
 | 
					    align: "center",
 | 
				
			||||||
    filter: codeFilter("examineStatus"),
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "eightDisciplineStatus",
 | 
				
			||||||
 | 
					    label: "步骤",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					    filter: codeFilter("step"),
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
];
 | 
					];
 | 
				
			||||||
const tableBtn = [
 | 
					const tableBtn = [
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    type: "delete",
 | 
					 | 
				
			||||||
    btnName: i18n.t("delete"),
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    type: "detail",
 | 
					    type: "detail",
 | 
				
			||||||
    btnName: "详情",
 | 
					    btnName: "详情",
 | 
				
			||||||
@@ -124,13 +130,6 @@ export default {
 | 
				
			|||||||
          name: "search",
 | 
					          name: "search",
 | 
				
			||||||
          color: "primary",
 | 
					          color: "primary",
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          type: "button",
 | 
					 | 
				
			||||||
          btnName: i18n.t("export"),
 | 
					 | 
				
			||||||
          name: "export",
 | 
					 | 
				
			||||||
          color: "primary",
 | 
					 | 
				
			||||||
          plain: true,
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
      ],
 | 
					      ],
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,206 @@
 | 
				
			|||||||
 | 
					<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="70"
 | 
				
			||||||
 | 
					          :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: "productName",
 | 
				
			||||||
 | 
					    label: "产品",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "customName",
 | 
				
			||||||
 | 
					    label: "客户",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "occurrenceDate",
 | 
				
			||||||
 | 
					    label: i18n.t("code.occurrenceDate"),
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					    filter: timeFormatter,
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "D1",
 | 
				
			||||||
 | 
					    label: "D1",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "D2",
 | 
				
			||||||
 | 
					    label: "D2",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "D3",
 | 
				
			||||||
 | 
					    label: "D3",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "D4",
 | 
				
			||||||
 | 
					    label: "D4",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "D5",
 | 
				
			||||||
 | 
					    label: "D5",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "D6",
 | 
				
			||||||
 | 
					    label: "D6",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "D7",
 | 
				
			||||||
 | 
					    label: "D7",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "D8",
 | 
				
			||||||
 | 
					    label: "D8",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					];
 | 
				
			||||||
 | 
					const tableBtn = [
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    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",
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  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>
 | 
				
			||||||
							
								
								
									
										178
									
								
								src/views/modules/managementCenter/joinEightDiscipline.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										178
									
								
								src/views/modules/managementCenter/joinEightDiscipline.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,178 @@
 | 
				
			|||||||
 | 
					<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="70"
 | 
				
			||||||
 | 
					          :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" :show-obj=showObj @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: "occurrenceDate",
 | 
				
			||||||
 | 
					    label: i18n.t("code.occurrenceDate"),
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					    filter: timeFormatter,
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "productName",
 | 
				
			||||||
 | 
					    label: "产品",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "customName",
 | 
				
			||||||
 | 
					    label: "客户",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "description",
 | 
				
			||||||
 | 
					    label: i18n.t("code.description"),
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    prop: "userName",
 | 
				
			||||||
 | 
					    label: "启动人",
 | 
				
			||||||
 | 
					    align: "center",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					];
 | 
				
			||||||
 | 
					const tableBtn = [
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    type: "detail",
 | 
				
			||||||
 | 
					    btnName: "详情",
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  mixins: [basicPage],
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      urlOptions: {
 | 
				
			||||||
 | 
					        getDataListURL: "/code/startEightDiscipline/participate/eight/page",
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      tableProps,
 | 
				
			||||||
 | 
					      tableBtn,
 | 
				
			||||||
 | 
					      tableData: [],
 | 
				
			||||||
 | 
					      showObj: {
 | 
				
			||||||
 | 
					          role: true
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      formConfig: [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          type: "button",
 | 
				
			||||||
 | 
					          btnName: "搜索",
 | 
				
			||||||
 | 
					          name: "search",
 | 
				
			||||||
 | 
					          color: "primary",
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  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>
 | 
				
			||||||
							
								
								
									
										191
									
								
								src/views/modules/managementCenter/productDistribution.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										191
									
								
								src/views/modules/managementCenter/productDistribution.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,191 @@
 | 
				
			|||||||
 | 
					<!--
 | 
				
			||||||
 | 
					 * @Author: zwq
 | 
				
			||||||
 | 
					 * @Date: 2023-07-03 15:21:14
 | 
				
			||||||
 | 
					 * @LastEditors: zwq
 | 
				
			||||||
 | 
					 * @LastEditTime: 2023-07-04 08:53:10
 | 
				
			||||||
 | 
					 * @Description: 
 | 
				
			||||||
 | 
					-->
 | 
				
			||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <el-card shadow="never" class="aui-card--fill">
 | 
				
			||||||
 | 
					    <div class="mod-sys__user">
 | 
				
			||||||
 | 
					      <search-bar :formConfigs="formConfig" ref="searchBarForm" @headBtnClick="buttonClick" />
 | 
				
			||||||
 | 
					      <div style="height:20px;width:100%"></div>
 | 
				
			||||||
 | 
					      <el-row :gutter="4" style="margin-top:20px">
 | 
				
			||||||
 | 
					        <el-col :span="12" v-if="pieVisible">
 | 
				
			||||||
 | 
					          <pie-chart
 | 
				
			||||||
 | 
					            v-loading="pieLoading"
 | 
				
			||||||
 | 
					            element-loading-text="拼命加载中"
 | 
				
			||||||
 | 
					            element-loading-spinner="el-icon-loading"
 | 
				
			||||||
 | 
					            element-loading-background="rgba(0, 0, 0, 0.8)"
 | 
				
			||||||
 | 
					            ref="pieRef"
 | 
				
			||||||
 | 
					            :title="'产品类型分布图'"
 | 
				
			||||||
 | 
					            :data-list="pieData"
 | 
				
			||||||
 | 
					          ></pie-chart>
 | 
				
			||||||
 | 
					        </el-col>
 | 
				
			||||||
 | 
					        <el-col :span="12" v-else>
 | 
				
			||||||
 | 
					          <el-empty description="无数据"></el-empty>
 | 
				
			||||||
 | 
					        </el-col>
 | 
				
			||||||
 | 
					        <el-col :span="12" v-if="lineVisible">
 | 
				
			||||||
 | 
					          <line-chart
 | 
				
			||||||
 | 
					            v-loading="lineLoading"
 | 
				
			||||||
 | 
					            element-loading-text="拼命加载中"
 | 
				
			||||||
 | 
					            element-loading-spinner="el-icon-loading"
 | 
				
			||||||
 | 
					            element-loading-background="rgba(0, 0, 0, 0.8)"
 | 
				
			||||||
 | 
					            ref="lineRef"
 | 
				
			||||||
 | 
					            :title="'产品类型月份分布图'"
 | 
				
			||||||
 | 
					            :data-list="lineData"
 | 
				
			||||||
 | 
					          ></line-chart>
 | 
				
			||||||
 | 
					        </el-col>
 | 
				
			||||||
 | 
					        <el-col :span="12" v-else>
 | 
				
			||||||
 | 
					          <el-empty description="无数据"></el-empty>
 | 
				
			||||||
 | 
					        </el-col>
 | 
				
			||||||
 | 
					      </el-row>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					  </el-card>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					import pieChart from "./components/pie-chart";
 | 
				
			||||||
 | 
					import lineChart from "./components/line-chart";
 | 
				
			||||||
 | 
					import basicPage from "@/mixins/basic-page";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  mixins: [basicPage],
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      urlOptions: {
 | 
				
			||||||
 | 
					        pieURL: "/code/startEightDiscipline/product/distribution",
 | 
				
			||||||
 | 
					        lineURL: "/code/startEightDiscipline/product/type/month/distribution",
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      pieLoading: false,
 | 
				
			||||||
 | 
					      pieVisible: false,
 | 
				
			||||||
 | 
					      lineLoading: false,
 | 
				
			||||||
 | 
					      lineVisible: false,
 | 
				
			||||||
 | 
					      listQuery: {
 | 
				
			||||||
 | 
					        limit: 999,
 | 
				
			||||||
 | 
					        page: 1,
 | 
				
			||||||
 | 
					        total: 1,
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      formConfig: [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          type: "datePicker",
 | 
				
			||||||
 | 
					          label: "日期",
 | 
				
			||||||
 | 
					          dateType: "daterange",
 | 
				
			||||||
 | 
					          format: "yyyy-MM-dd",
 | 
				
			||||||
 | 
					          valueFormat: "yyyy-MM-ddTHH:mm:ss",
 | 
				
			||||||
 | 
					          rangeSeparator: "-",
 | 
				
			||||||
 | 
					          startPlaceholder: "开始时间",
 | 
				
			||||||
 | 
					          endPlaceholder: "结束时间",
 | 
				
			||||||
 | 
					          param: "time",
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          type: "select",
 | 
				
			||||||
 | 
					          label: "8D类型",
 | 
				
			||||||
 | 
					          selectOptions: [
 | 
				
			||||||
 | 
					            { id: 1, name: "客诉问题" },
 | 
				
			||||||
 | 
					            { id: 2, name: "重大质量问题" },
 | 
				
			||||||
 | 
					            { id: 0, name: "重复发生问题" },
 | 
				
			||||||
 | 
					          ],
 | 
				
			||||||
 | 
					          param: "eightDisciplineType",
 | 
				
			||||||
 | 
					          defaultSelect: "",
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          type: "button",
 | 
				
			||||||
 | 
					          btnName: "搜索",
 | 
				
			||||||
 | 
					          name: "search",
 | 
				
			||||||
 | 
					          color: "primary",
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      pieData: [],
 | 
				
			||||||
 | 
					      lineData: [],
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  components: {
 | 
				
			||||||
 | 
					    pieChart,
 | 
				
			||||||
 | 
					    lineChart,
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  methods: {
 | 
				
			||||||
 | 
					    // 获取数据列表
 | 
				
			||||||
 | 
					    getDataList() {
 | 
				
			||||||
 | 
					      this.dataListLoading = true;
 | 
				
			||||||
 | 
					      this.$http
 | 
				
			||||||
 | 
					        .post(this.urlOptions.pieURL, this.listQuery)
 | 
				
			||||||
 | 
					        .then(({ data: res }) => {
 | 
				
			||||||
 | 
					          this.dataListLoading = false;
 | 
				
			||||||
 | 
					          if (res.code !== 0) {
 | 
				
			||||||
 | 
					            this.pieData = [];
 | 
				
			||||||
 | 
					            this.pieLoading = false;
 | 
				
			||||||
 | 
					            return this.$message.error(res.msg);
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					          this.pieLoading = false;
 | 
				
			||||||
 | 
					          this.pieData = res.data;
 | 
				
			||||||
 | 
					          if (this.pieData.length > 0) {
 | 
				
			||||||
 | 
					            this.pieVisible = true;
 | 
				
			||||||
 | 
					            this.$nextTick(() => {
 | 
				
			||||||
 | 
					              this.$refs.pieRef.initChartLine();
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					          } else {
 | 
				
			||||||
 | 
					            this.pieVisible = false;
 | 
				
			||||||
 | 
					            this.$message({
 | 
				
			||||||
 | 
					              message: "没有发现数据",
 | 
				
			||||||
 | 
					              type: "warning",
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					        .catch(() => {});
 | 
				
			||||||
 | 
					      this.$http
 | 
				
			||||||
 | 
					        .post(this.urlOptions.lineURL, this.listQuery)
 | 
				
			||||||
 | 
					        .then(({ data: res }) => {
 | 
				
			||||||
 | 
					          this.dataListLoading = false;
 | 
				
			||||||
 | 
					          if (res.code !== 0) {
 | 
				
			||||||
 | 
					            this.lineData = [];
 | 
				
			||||||
 | 
					            this.lineLoading = false;
 | 
				
			||||||
 | 
					            return this.$message.error(res.msg);
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					          this.lineLoading = false;
 | 
				
			||||||
 | 
					          this.lineData = res.data;
 | 
				
			||||||
 | 
					          if (this.lineData.length > 0) {
 | 
				
			||||||
 | 
					            this.lineVisible = true;
 | 
				
			||||||
 | 
					            this.$nextTick(() => {
 | 
				
			||||||
 | 
					              this.$refs.lineRef.initChartLine();
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					          } else {
 | 
				
			||||||
 | 
					            this.lineVisible = false;
 | 
				
			||||||
 | 
					            this.$message({
 | 
				
			||||||
 | 
					              message: "没有发现数据",
 | 
				
			||||||
 | 
					              type: "warning",
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					        .catch(() => {});
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    //search-bar点击
 | 
				
			||||||
 | 
					    buttonClick(val) {
 | 
				
			||||||
 | 
					      switch (val.btnName) {
 | 
				
			||||||
 | 
					        case "search":
 | 
				
			||||||
 | 
					          this.listQuery.page = 1;
 | 
				
			||||||
 | 
					          this.listQuery.eightDisciplineType = val.eightDisciplineType;
 | 
				
			||||||
 | 
					          this.listQuery.startTime = val.time && val.time.length > 0 ? val.time[0] : "";
 | 
				
			||||||
 | 
					          this.listQuery.endTime = val.time && val.time.length > 0 ? val.time[1] : "";
 | 
				
			||||||
 | 
					          this.getDataList();
 | 
				
			||||||
 | 
					          break;
 | 
				
			||||||
 | 
					        default:
 | 
				
			||||||
 | 
					          console.log(val);
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					<style lang="scss">
 | 
				
			||||||
 | 
					.mod-sys__user {
 | 
				
			||||||
 | 
					  > .el-row {
 | 
				
			||||||
 | 
					        display:flex;
 | 
				
			||||||
 | 
					        flex-wrap: wrap; 
 | 
				
			||||||
 | 
					    .el-col {
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  .chart-box {
 | 
				
			||||||
 | 
					    min-height: 400px;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					</style>
 | 
				
			||||||
		Reference in New Issue
	
	Block a user