zhaowei
2 天以前 a261a43492fa9c4bdf054e1bdd503069dadac2d4
设备台账详情增加各工单标签页以及跳转对应页面功能
已修改4个文件
233 ■■■■■ 文件已修改
src/mixins/JeecgListMixin.js 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/equipment/EamEquipmentLedger.vue 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/equipment/modules/EamEquipmentModal.vue 82 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/technical/EamTechnicalStatusEvaluationOrderList.vue 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/mixins/JeecgListMixin.js
@@ -299,7 +299,9 @@
      // 打开详情抽屉时禁用设备编码、设备名称输入框
      this.$refs.modalForm.disSeach = true;
      // 调用抽屉表单组件中的清除表单验证方法
      this.$refs.modalForm.removeValidate()
      this.$nextTick(()=>{
        if(this.$refs.modalForm.$refs.form)this.$refs.modalForm.$refs.form.clearValidate()
      })
    },
    /* 导出 */
    handleExportXls2(){
src/views/eam/equipment/EamEquipmentLedger.vue
@@ -66,12 +66,16 @@
    <!-- 操作按钮区域 -->
    <div class="table-operator">
      <a-button v-has="'eam:equipment:add'" @click="handleAdd" type="primary" icon="plus">新增</a-button>
      <a-button v-has="'eam:equipment:export'" type="primary" icon="download" @click="handleExportXls('设备台账')">导出</a-button>
      <a-upload v-has="'eam:equipment:import'" name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl"
      <a-button v-has="'eam:equipment:export'" type="primary" icon="download" @click="handleExportXls('设备台账')">导出
      </a-button>
      <a-upload v-has="'eam:equipment:import'" name="file" :showUploadList="false" :multiple="false"
                :headers="tokenHeader" :action="importExcelUrl"
                @change="handleImportExcel">
        <a-button type="primary" icon="import">导入</a-button>
      </a-upload>
      <a-button v-has="'eam:equipment:download'" type="primary" icon="download" @click="handleTemplateXlsDownload">导入模板下载</a-button>
      <a-button v-has="'eam:equipment:download'" type="primary" icon="download" @click="handleTemplateXlsDownload">
        导入模板下载
      </a-button>
      <a-dropdown v-if="selectedRowKeys.length > 0">
        <a-menu slot="overlay">
          <a-menu-item v-has="'eam:equipment:batchdel'" key="2" @click="batchDel">
@@ -131,26 +135,21 @@
        </template>
        <span slot="action" slot-scope="text, record">
          <a v-has="'eam:equipment:edit'" key="2" @click.stop="handleEdit(record)">编辑</a>
          <a v-has="'eam:equipment:edit'" @click.stop="handleEdit(record)">编辑</a>
          <a-divider v-has="'eam:equipment:edit'" type="vertical"/>
          <a-dropdown>
            <a class="ant-dropdown-link">更多 <a-icon type="down"/></a>
            <a-menu slot="overlay">
              <a-menu-item>
                <a v-has="'eam:equipment:resume'" href="javascript:;" @click="handleOpenResumeDrawer(record)">履历</a>
              </a-menu-item>
              <a-menu-item>
                <a href="javascript:;" @click="handleDetail(record)">详情</a>
              </a-menu-item>
              <a-menu-item>
                <a-popconfirm v-has="'eam:equipment:del'" title="确定删除吗?" @confirm="() => handleDelete(record.id)">
                  <a>删除</a>
                </a-popconfirm>
              </a-menu-item>
            </a-menu>
          </a-dropdown>
          <a v-has="'eam:equipment:resume'" href="javascript:;" @click="handleOpenResumeDrawer(record)">履历</a>
          <a-divider v-has="'eam:equipment:resume'" type="vertical"/>
          <a-popconfirm v-has="'eam:equipment:del'" title="确定删除吗?" @confirm="() => handleDelete(record.id)">
            <a>删除</a>
          </a-popconfirm>
          <a-divider v-has="'eam:equipment:del'" type="vertical"/>
          <a href="javascript:;" @click="handleDetail(record)">详情</a>
        </span>
      </a-table>
@@ -417,7 +416,7 @@
            title: '操作',
            dataIndex: 'action',
            align: 'center',
            width: 150,
            width: 200,
            scopedSlots: { customRender: 'action' },
            fixed: 'right'
          }
src/views/eam/equipment/modules/EamEquipmentModal.vue
@@ -1,15 +1,8 @@
<template>
  <j-modal
    :title="title"
    fullscreen
    :visible="visible"
    centered
    :confirmLoading="confirmLoading"
    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
    @ok="handleOk"
    @cancel="handleCancel"
    cancelText="关闭">
    <a-tabs tab-position="left">
  <j-modal :title="title" fullscreen :visible="visible" centered :confirmLoading="confirmLoading"
           :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" @ok="handleOk" @cancel="handleCancel"
           cancelText="关闭">
    <a-tabs tab-position="left" @change="handleTabChange">
      <a-tab-pane tab="基础信息" :key="1">
        <a-spin :spinning="confirmLoading">
          <j-form-container :disabled="disableSubmit">
@@ -277,22 +270,46 @@
      </a-tab-pane>
      <template v-if="disableSubmit">
        <a-tab-pane tab="设备文档" :key="2">
        <a-tab-pane tab="点检工单" :key="2" forceRender>
          <a-button type="primary" @click="navigateToPage('/eam/maintenance/EamInspectionOrderList')" icon="right"
                    style="margin-left: 24px">跳转至对应页面
          </a-button>
          <eam-inspection-order-list ref="tabPane2" :isDisplayOperation="false"/>
        </a-tab-pane>
        <a-tab-pane tab="点检工单" :key="3">
        <a-tab-pane tab="二保工单" :key="3" forceRender>
          <a-button type="primary" @click="navigateToPage('/eam/maintenance/EamSecondMaintenanceOrderList')" icon="right"
                    style="margin-left: 24px">跳转至对应页面
          </a-button>
          <eam-second-maintenance-order-list ref="tabPane3" :isDisplayOperation="false"/>
        </a-tab-pane>
        <a-tab-pane tab="二保工单" :key="4">
        <a-tab-pane tab="三保工单" :key="4" forceRender>
          <a-button type="primary" @click="navigateToPage('/eam/maintenance/EamThirdMaintenanceOrderList')" icon="right"
                    style="margin-left: 24px">跳转至对应页面
          </a-button>
          <eam-third-maintenance-order-list ref="tabPane4" :isDisplayOperation="false"/>
        </a-tab-pane>
        <a-tab-pane tab="三保工单" :key="5">
        <a-tab-pane tab="维修工单" :key="5" forceRender>
          <a-button type="primary" @click="navigateToPage('/eam/repair/EamRepairOrderList')" icon="right"
                    style="margin-left: 24px">跳转至对应页面
          </a-button>
          <eam-repair-order-list ref="tabPane5" :isDisplayOperation="false"/>
        </a-tab-pane>
        <a-tab-pane tab="维修工单" :key="6">
        <a-tab-pane tab="保养规范" :key="6" forceRender>
          <a-button type="primary" @click="navigateToPage('/eam/base/EamMaintenanceStandardList')" icon="right"
                    style="margin-left: 24px">跳转至对应页面
          </a-button>
          <eam-maintenance-standard-list ref="tabPane6" :isDisplayOperation="false"/>
        </a-tab-pane>
        <a-tab-pane tab="保养标准" :key="7">
        <a-tab-pane tab="技术状态鉴定工单" :key="7" forceRender>
          <a-button type="primary" @click="navigateToPage('/eam/technical/order')" icon="right"
                    style="margin-left: 24px">跳转至对应页面
          </a-button>
          <eam-technical-status-evaluation-order-list ref="tabPane7" :isDisplayOperation="false"/>
        </a-tab-pane>
      </template>
    </a-tabs>
@@ -302,9 +319,23 @@
<script>
  import { getAction, httpAction } from '@/api/manage'
  import { validateDuplicateValueInDelFlag } from '@/utils/util'
  import EamInspectionOrderList from '../../maintenance/EamInspectionOrderList'
  import EamSecondMaintenanceOrderList from '../../maintenance/EamSecondMaintenanceOrderList'
  import EamThirdMaintenanceOrderList from '../../maintenance/EamThirdMaintenanceOrderList'
  import EamRepairOrderList from '../../repair/EamRepairOrderList'
  import EamMaintenanceStandardList from '../../base/EamMaintenanceStandardList'
  import EamTechnicalStatusEvaluationOrderList from '../../technical/EamTechnicalStatusEvaluationOrderList'
  export default {
    name: 'EamEquipmentModal',
    components: {
      EamTechnicalStatusEvaluationOrderList,
      EamMaintenanceStandardList,
      EamRepairOrderList,
      EamThirdMaintenanceOrderList,
      EamSecondMaintenanceOrderList,
      EamInspectionOrderList
    },
    props: {
      productionTreeData: {
        type: Array
@@ -388,7 +419,18 @@
       * @param key 单选框关联字段
       */
      handleRadioChange(value, key) {
        if (value == '0') delete this.model[key]
        if (value === '0') delete this.model[key]
      },
      /**
       * 标签栏发生改变时触发
       * @param tabKey 切换后的tabKey
       */
      handleTabChange(tabKey) {
        if (tabKey !== 1 && this.$refs['tabPane' + tabKey]) {
          this.$refs['tabPane' + tabKey].queryParam.equipmentId = this.model.id
          this.$refs['tabPane' + tabKey].loadData(1)
        }
      },
      handleOk() {
@@ -431,6 +473,10 @@
        })
      },
      navigateToPage(href) {
        this.$router.push(href)
      },
      handleCancel() {
        this.close()
      },
src/views/eam/technical/EamTechnicalStatusEvaluationOrderList.vue
@@ -1,44 +1,46 @@
<template>
  <a-card :bordered="false">
    <!-- 查询区域 -->
    <div class="table-page-search-wrapper">
      <a-form layout="inline" @keyup.enter.native="searchQuery">
        <a-row :gutter="24">
          <a-col :xl="5" :lg="6" :md="8" :sm="12">
            <a-form-item label="统一编码">
              <lx-search-equipment-select placeholder="请输入统一编码或名称搜索" v-model="queryParam.equipmentId"/>
            </a-form-item>
          </a-col>
          <a-col :xl="5" :lg="6" :md="8" :sm="12">
            <a-form-item label="工单号">
              <a-input placeholder="请输入工单号" v-model="queryParam.orderNum"/>
            </a-form-item>
          </a-col>
          <a-col :xl="5" :lg="6" :md="8" :sm="12">
            <a-form-item label="计划鉴定日期">
              <a-date-picker v-model="queryParam.evaluationDate" style="width: 100%"/>
            </a-form-item>
          </a-col>
          <a-col :xl="5" :lg="6" :md="8" :sm="12">
            <a-form-item label="鉴定状态">
              <j-dict-select-tag placeholder="请选择鉴定状态" dict-code="technical_status_evaluation_order_status"
                                 v-model="queryParam.evaluationStatus"/>
            </a-form-item>
          </a-col>
          <a-col :xl="4" :lg="6" :md="8" :sm="12">
    <template v-if="isDisplayOperation">
      <!-- 查询区域 -->
      <div class="table-page-search-wrapper">
        <a-form layout="inline" @keyup.enter.native="searchQuery">
          <a-row :gutter="24">
            <a-col :xl="5" :lg="6" :md="8" :sm="12">
              <a-form-item label="统一编码">
                <lx-search-equipment-select placeholder="请输入统一编码或名称搜索" v-model="queryParam.equipmentId"/>
              </a-form-item>
            </a-col>
            <a-col :xl="5" :lg="6" :md="8" :sm="12">
              <a-form-item label="工单号">
                <a-input placeholder="请输入工单号" v-model="queryParam.orderNum"/>
              </a-form-item>
            </a-col>
            <a-col :xl="5" :lg="6" :md="8" :sm="12">
              <a-form-item label="计划鉴定日期">
                <a-date-picker v-model="queryParam.evaluationDate" style="width: 100%"/>
              </a-form-item>
            </a-col>
            <a-col :xl="5" :lg="6" :md="8" :sm="12">
              <a-form-item label="鉴定状态">
                <j-dict-select-tag placeholder="请选择鉴定状态" dict-code="technical_status_evaluation_order_status"
                                   v-model="queryParam.evaluationStatus"/>
              </a-form-item>
            </a-col>
            <a-col :xl="4" :lg="6" :md="8" :sm="12">
            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
              <a-button type="info" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
            </span>
          </a-col>
        </a-row>
      </a-form>
    </div>
            </a-col>
          </a-row>
        </a-form>
      </div>
    <!-- 操作按钮区域 -->
    <div class="table-operator">
      <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
    </div>
      <!-- 操作按钮区域 -->
      <div class="table-operator">
        <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
      </div>
    </template>
    <!-- table区域-begin -->
    <a-table bordered rowKey="id" :columns="columns" :dataSource="dataSource" :pagination="ipagination"
@@ -94,7 +96,7 @@
    <eamTechnicalStatusEvaluationOrder-modal ref="modalForm" @ok="modalFormOk"/>
    <technical-status-evaluation-approval-modal ref="technicalStatusEvaluationApprovalModal"
                                                :selectShenpiData="selectedOrderData"/>
                                                :selectShenpiData="selectedRowData"/>
    <!--工单变更弹窗-->
    <eamTechnicalStatusEvaluationOrderChange-modal ref="orderChangeModal" @ok="modalFormOk"/>
@@ -119,10 +121,17 @@
      EamTechnicalStatusEvaluationOrderModal,
      EamTechnicalStatusEvaluationOrderChangeModal
    },
    props: {
      isDisplayOperation: {
        type: Boolean,
        default: true
      }
    },
    data() {
      return {
        description: '技术状态鉴定工单管理页面',
        selectedOrderData: {},
        disableMixinCreated: true,
        selectedRowData: {},
        // 表头
        columns: [
          {
@@ -289,14 +298,6 @@
            title: '附录D HF编码',
            align: 'center',
            dataIndex: 'hfCodeD'
          },
          {
            title: '操作',
            dataIndex: 'action',
            align: 'center',
            scopedSlots: { customRender: 'action' },
            fixed: 'right',
            width: 200
          }
        ],
        url: {
@@ -304,6 +305,21 @@
          receive: '/eam/eamTechnicalStatusEvaluationOrder/collect'
        }
      }
    },
    created() {
      if (!this.isDisplayOperation) {
        return
      }
      const operationColumn = {
        title: '操作',
        dataIndex: 'action',
        align: 'center',
        scopedSlots: { customRender: 'action' },
        fixed: 'right',
        width: 200
      }
      this.columns = [...this.columns, operationColumn]
      this.loadData(1)
    },
    methods: {
      /**
@@ -345,7 +361,7 @@
       * @param record
       */
      handleDetail(record) {
        this.selectedOrderData = Object.assign({}, record)
        this.selectedRowData = Object.assign({}, record)
        this.$refs.technicalStatusEvaluationApprovalModal.title = '详情'
        this.$refs.technicalStatusEvaluationApprovalModal.visible = true
        this.$refs.technicalStatusEvaluationApprovalModal.disableSubmit = true