art: 所有设备 台账 技术状态鉴定 根据设备id查询技术状态鉴定,并过滤掉已完成的技术状态鉴定
已添加1个文件
已修改1个文件
508 ■■■■■ 文件已修改
src/views/eam/EquipmentListOfAll.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/equipmentNew/EquipmentCalibrationOrderComponent.vue 505 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/EquipmentListOfAll.vue
@@ -774,6 +774,7 @@
        tab="技术状态鉴定"
        key="14"
      >
        <equipment-calibration-order-component :mainId="selectedMainId"></equipment-calibration-order-component>
      </a-tab-pane>
    </a-tabs>
    <equipment-modal
@@ -835,6 +836,7 @@
import DailyMaintenanceOrderListComponent from './modules/equipmentNew/DailyMaintenanceOrderListComponent.vue'
import Daily3MaintenanceOrderListComponent from './modules/equipmentNew/Daily3MaintenanceOrderListComponent.vue'
import RepairOrderListComponent from './modules/equipmentNew/RepairOrderListComponent.vue'
import EquipmentCalibrationOrderComponent from './modules/equipmentNew/EquipmentCalibrationOrderComponent.vue'
export default {
  name: "EquipmentList",
@@ -865,6 +867,7 @@
    DailyMaintenanceOrderListComponent,
    Daily3MaintenanceOrderListComponent,
    RepairOrderListComponent,
    EquipmentCalibrationOrderComponent,
  },
  data() {
    return {
src/views/eam/modules/equipmentNew/EquipmentCalibrationOrderComponent.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,505 @@
<template>
  <a-card
    :bordered='false'
    title=''
  >
    <!-- table区域-begin -->
    <div>
      <div
        class='ant-alert ant-alert-info'
        style='margin-bottom: 16px;'
      >
        <i class='anticon anticon-info-circle ant-alert-icon'></i> å·²é€‰æ‹© <a style='font-weight: 600'>{{ selectedRowKeys.length }}</a>项
        <a
          style='margin-left: 24px'
          @click='onClearSelected'
        >清空</a>
      </div>
      <a-table
        ref='table'
        size='middle'
        :scroll="{ x: 'calc(1000px + 50%)', y: 900 }"
        bordered
        rowKey='id'
        :columns='columns'
        :dataSource='dataSource'
        :pagination='ipagination'
        :loading='loading'
        class='j-table-force-nowrap'
        @change='handleTableChange'
        :customRow='clickThenSelect'
        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type:'radio'}"
      >
        <span
          slot='action'
          slot-scope='text, record'
        >
          <a
            v-show="record.status === '1' || record.status === '3'"
            @click='handleAddOrderReport(record)'
            v-has="'calibrationOrder:write'"
          >结果录入</a>
          <a-divider
            v-show="record.status === '1' || record.status === '3'"
            type='vertical'
          />
          <a
            v-show="record.status === '2' && record.equipmentImportance != 'D'"
            @click='handleTechnologyStatus(record)'
            v-has="'calibrationOrder:audit'"
          >结果审核</a>
          <a-divider
            v-show="record.status === '2' && record.equipmentImportance != 'D'"
            type='vertical'
          />
          <a
            v-show="record.status === '2' && record.equipmentImportance == 'D'"
            @click='handleTechnologyStatusAuthenticate(record)'
            v-has="'calibrationOrder:authenticate'"
          >D类技术状态鉴定</a>
          <a-divider
            v-show="record.status === '2' && record.equipmentImportance == 'D'"
            type='vertical'
          />
          <a @click='handleDetail(record)'>详情</a>
          <!--          <a-popconfirm-->
          <!--            title='确定下发工单吗?'-->
          <!--            @confirm='() => handleOrderIssue(record)'-->
          <!--          >-->
          <!--            <a v-if="record.status === '1'">下发</a>-->
          <!--          </a-popconfirm>-->
          <!--          <a-divider-->
          <!--            v-if="record.status === '1'"-->
          <!--            type='vertical'-->
          <!--          />-->
          <!--          <a-->
          <!--            v-if="record.status === '1'"-->
          <!--            @click='handleEdit(record)'-->
          <!--          >编辑</a>-->
          <!--          <a-divider-->
          <!--            v-if="record.status === '1'"-->
          <!--            type='vertical'-->
          <!--          />-->
          <!--          <a-->
          <!--            v-if="record.status === '2' "-->
          <!--            @click='handleOrderExe(record)'-->
          <!--          >执行</a>-->
          <!--          <a-divider-->
          <!--            v-if="record.status === '2'"-->
          <!--            type='vertical'-->
          <!--          />-->
          <!--          <a-->
          <!--            v-if="record.status === '4'"-->
          <!--            @click='handleOrderExe(record)'-->
          <!--          >查看</a>-->
          <!--          <a-divider-->
          <!--            v-if="record.status === '4'"-->
          <!--            type='vertical'-->
          <!--          />-->
          <!--          <a-popconfirm-->
          <!--            title='确定撤回工单吗?'-->
          <!--            @confirm="() => handleOrderReset(record,'1')"-->
          <!--          >-->
          <!--            <a v-if="record.status === '2'">撤回</a>-->
          <!--          </a-popconfirm>-->
          <!--          <a-divider-->
          <!--            v-if="record.status === '2'"-->
          <!--            type='vertical'-->
          <!--          />-->
          <!--          <a-popconfirm-->
          <!--            title='确定撤回工单吗?'-->
          <!--            @confirm="() => handleOrderReset(record,'2')"-->
          <!--          >-->
          <!--            <a v-if="record.status === '4'">撤回</a>-->
          <!--          </a-popconfirm>-->
          <!--          <a-divider-->
          <!--            v-if="record.status === '4'"-->
          <!--            type='vertical'-->
          <!--          />-->
          <!--          <a-->
          <!--            v-if="record.status === '4'"-->
          <!--            @click='handleFinal(record)'-->
          <!--          >录入结果</a>-->
          <!--          &lt;!&ndash; v-if="record.status === '5'" &ndash;&gt;-->
          <!--           <a-divider-->
          <!--             v-if="record.status === '4'"-->
          <!--             type='vertical'-->
          <!--           />-->
          <!--          -->
          <!--          <a-dropdown>-->
          <!--             <a @click='handleDetail(record)'>详情</a>-->
          <!--            <a class='ant-dropdown-link'>更多 <a-icon type='down' /></a>-->
          <!--            <a-menu slot='overlay'>-->
          <!--              <a-menu-item>-->
          <!--                <a @click='handleDetail(record)'>详情</a>-->
          <!--              </a-menu-item>-->
          <!--              <a-menu-item>-->
          <!--                <a-popconfirm-->
          <!--                  title='确定删除吗?'-->
          <!--                  @confirm='() => handleDelete(record.id)'-->
          <!--                >-->
          <!--                  <a v-if="record.status === '1'">删除</a>-->
          <!--                </a-popconfirm>-->
          <!--              </a-menu-item>-->
          <!--            </a-menu>-->
          <!--          </a-dropdown>-->
        </span>
        <!-- <span
          slot='num'
          slot-scope='text, record'
        >
          <a
            v-if="record.status === '3' || record.status === '2' "
            class='lot'
            @click='handleOrderExe(record)'
          >{{ record.num }}</a>
          <span v-else>{{ record.num }}</span>
        </span> -->
      </a-table>
      <a-tabs defaultActiveKey='2'>
        <!--        <a-tab-pane  -->
        <!--          key="1"-->
        <!--          tab="检验项"-->
        <!--        >-->
        <!--            <equipment-precision-parameters-list ref="PrecisionParametersList" :calibrationOrderId="mainId"></equipment-precision-parameters-list>-->
        <!--        </a-tab-pane>-->
        <a-tab-pane
          key='2'
          tab='检定报告'
        >
          <equipment-calibration-order-report-list
            ref='EquipmentCalibrationOrderReportList'
            :calibrationOrderId='calibrationOrderMainId'
          ></equipment-calibration-order-report-list>
        </a-tab-pane>
      </a-tabs>
    </div>
    <equipment-calibration-order-modal
      ref='modalForm'
      @ok='modalFormOk'
    ></equipment-calibration-order-modal>
    <equipment-calibration-order-exe-drawer
      ref='EquipmentCalibrationOrderExeDrawer'
      @ok='modalFormOk'
    ></equipment-calibration-order-exe-drawer>
    <final-modal
      ref='finalModal'
      @ok='modalFormOk'
    ></final-modal>
    <equipment-calibration-order-report-modal
      ref='equipmentCalibrationOrderReportModal'
      @ok='modalFormOk'
    ></equipment-calibration-order-report-modal>
    <equipment-technology-status-modal
      ref="EquipmentTechnologyStatusModal"
      @ok="modalFormOk"
    ></equipment-technology-status-modal>
    <technology-status-authenticate-modal
      ref="TechnologyStatusAuthenticateModal"
      @ok="modalFormOk"
    ></technology-status-authenticate-modal>
  </a-card>
</template>
<script>
import '@/assets/less/TableExpand.less'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import EquipmentCalibrationOrderModal from '@/views/eam/modules/equipmentCalibrationOrder/EquipmentCalibrationOrderModal'
import EquipmentCalibrationOrderExeDrawer from '@/views/eam/modules/equipmentCalibrationOrder/EquipmentCalibrationOrderExeDrawer'
import { getAction, postAction, requestPut } from '@/api/manage'
import EquipmentPrecisionParametersList from '@/views/eam/modules/equipmentCalibrationOrder/EquipmentPrecisionParametersList'
import EquipmentCalibrationOrderReportList
  from '@/views/eam/modules/equipmentCalibrationOrder/EquipmentCalibrationOrderReportList'
import FinalModal from '@/views/eam/modules/equipmentCalibrationOrder/FinalModal.vue'
import EquipmentCalibrationOrderReportModal
  from '@/views/eam/modules/equipmentCalibrationOrder/EquipmentCalibrationOrderReportModal'
import EquipmentTechnologyStatusModal from '@/views/eam/modules/equipmentCalibrationOrder/EquipmentTechnologyStatusModal'
import TechnologyStatusAuthenticateModal from '@/views/eam/modules/equipmentCalibrationOrder/TechnologyStatusAuthenticateModal'
import { interceptorFunc } from 'vxe-table'
export default {
  name: 'EquipmentCalibrationOrder',
  mixins: [JeecgListMixin],
  components: {
    EquipmentCalibrationOrderModal,
    EquipmentCalibrationOrderExeDrawer,
    EquipmentPrecisionParametersList,
    EquipmentCalibrationOrderReportList,
    EquipmentCalibrationOrderReportModal,
    FinalModal,
    EquipmentTechnologyStatusModal,
    TechnologyStatusAuthenticateModal
  },
  props:{
    mainId:{
      type:String,
      default:'',
      required:false
    }
  },
  watch:{
    mainId:{
      immediate: true,
      handler(val) {
        if(!this.mainId){
          this.queryParam['equipmentId'] = 'NAN'
          this.loadData(1);
        }else{
          this.queryParam['equipmentId'] = val
          this.queryParam['statusEnums'] = '4'
          this.loadData(1);
        }
      }
    }
  },
  data() {
    return {
      description: '技术状态鉴定管理',
      disableMixinCreated: true,
      ipagination: {
        current: 1,
        pageSize: 10,
        pageSizeOptions: ['5', '10', '20', '50'],
        showTotal: (total, range) => {
          return range[0] + '-' + range[1] + ' å…±' + total + '条'
        },
        showQuickJumper: true,
        showSizeChanger: true,
        total: 0
      },
      dictOptions: {},
      /* åˆ†é¡µå‚æ•° */
      // è¡¨å¤´
      columns: [
        {
          title: '#',
          dataIndex: '',
          key: 'rowIndex',
          width: 60,
          align: 'center',
          customRender: function (t, r, index) {
            return parseInt(index) + 1
          }
        },
        {
          title: '工单号',
          align: 'center',
          dataIndex: 'num'
          // scopedSlots: { customRender: 'num' }
        },
        {
          title: '状态',
          align: 'center',
          dataIndex: 'status_dictText'
        },
        {
          title: '判定结果',
          align: 'center',
          dataIndex: 'calibrationResult_dictText'
        },
        // {
        //   title: '检定方式',
        //   align: 'center',
        //   dataIndex: 'calibrationType_dictText'
        // },
        {
          title: '统一编码',
          align: 'center',
          dataIndex: 'equipmentNum'
        },
        {
          title: '设备名称',
          align: 'center',
          dataIndex: 'equipmentName'
        },
        {
          title: '型号',
          align: 'center',
          dataIndex: 'equipmentModel'
        },
        {
          title: '规格',
          align: 'center',
          dataIndex: 'equipmentSpecification'
        },
        // {
        //   title: '判定依据',
        //   align: 'center',
        //   dataIndex: 'managementMode_dictText'
        // },
        // {
        //   title: '创建人',
        //   align: 'center',
        //   dataIndex: 'createBy'
        // },
        {
          title: '创建日期',
          align: 'center',
          dataIndex: 'createTime'
        },
        // {
        //   title: '检定人',
        //   align: 'center',
        //   dataIndex: 'calibrationUserId_dictText'
        // },
        {
          title: '完成时间',
          align: 'center',
          dataIndex: 'calibrationTime'
        },
        {
          title: '审核意见',
          align: 'center',
          dataIndex: 'remark'
        },
        // {
        //   title: '下发时间',
        //   align: 'center',
        //   dataIndex: 'issueTime'
        // },
        {
          title: '操作',
          dataIndex: 'action',
          align: 'center',
          width: 200,
          fixed: 'right',
          scopedSlots: { customRender: 'action' }
        }
      ],
      url: {
        list: '/eam/calibrationOrder/listNew',
        delete: '/eam/calibrationOrder/delete',
        edit: '/eam/calibrationOrder/editStatus'
      },
      calibrationOrderMainId: ''
    }
  },
  computed: {
    importExcelUrl: function () {
      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
    }
  },
  created() {
    //从路由中获取查询条件
    // if (this.$route.query) {
    //   this.queryParam.equipmentId = this.$route.query.equipmentId;
    //   //查询条件按时间倒序
    //   this.queryParam.sort = 'createTime';
    //   this.queryParam.order = 'desc';
    // }
    // this.loadData()
    this.initDictConfig();
  },
  methods: {
    onSelectChange(selectedRowKeys, selectionRows) {
      if (selectedRowKeys.length == 1) {
        this.calibrationOrderMainId = selectedRowKeys[0]
      } else {
        this.calibrationOrderMainId = '-1'
      }
      this.selectedRowKeys = selectedRowKeys
      this.selectionRows = selectionRows
    },
    handleTechnologyStatus(record) {
      this.$refs.EquipmentTechnologyStatusModal.edit(record);
      this.$refs.EquipmentTechnologyStatusModal.title = "审核";
      this.$refs.EquipmentTechnologyStatusModal.disableSubmit = false;
    },
    handleTechnologyStatusAuthenticate: function (record) {
      this.$refs.TechnologyStatusAuthenticateModal.edit(record);
      this.$refs.TechnologyStatusAuthenticateModal.title = "技术状态编辑";
      this.$refs.TechnologyStatusAuthenticateModal.disableSubmit = false;
    },
    handleOrderExe(record) {
      this.$refs.EquipmentCalibrationOrderExeDrawer.visible = true
      this.$refs.EquipmentCalibrationOrderExeDrawer.title = '检定工单执行'
      this.$refs.EquipmentCalibrationOrderExeDrawer.handleShow(record)
      if (record.status === '4') {
        this.$refs.EquipmentCalibrationOrderExeDrawer.buttonDistable = true//保存、暂存、报工
        this.$refs.EquipmentCalibrationOrderExeDrawer.revocationDistable = true//撤销按钮
        this.$refs.EquipmentCalibrationOrderExeDrawer.SWbuttonDistable = true//提交按钮
      } else if (record.status === '2') {
        this.$refs.EquipmentCalibrationOrderExeDrawer.buttonDistable = false//保存、暂存、报工
        this.$refs.EquipmentCalibrationOrderExeDrawer.revocationDistable = true//撤销按钮
        this.$refs.EquipmentCalibrationOrderExeDrawer.SWbuttonDistable = false//提交按钮
      }
    },
    handleOrderIssue(record) {
      const that = this
      requestPut(that.url.edit, { id: record.id, status: '2' }).then((res) => {
        if (res.success) {
          that.$message.success('工单下发成功!')
          that.loadData()
        } else {
          that.$message.warning('工单下发失败!')
        }
      })
    },
    //撤回
    handleOrderReset(record, status) {
      const that = this
      requestPut(that.url.edit, { id: record.id, status: status }).then((res) => {
        if (res.success) {
          that.$message.success('工单撤回成功!')
          that.loadData()
        } else {
          that.$message.warning('工单撤回失败!')
        }
      })
    },
    onClearSelected() {
      this.selectedRowKeys = []
      this.selectionRows = []
      this.calibrationOrderMainId = ''
    },
    clickThenSelect(record) {
      return {
        on: {
          click: () => {
            this.onSelectChange(record.id.split(','), [record])
          }
        }
      }
    },
    // ç›´æŽ¥ä¸Šä¼ é‰´å®šæŠ¥å‘Š
    handleAddOrderReport: function (record) {
      this.$refs.equipmentCalibrationOrderReportModal.add(record.id)
      this.$refs.equipmentCalibrationOrderReportModal.title = '上传检定报告'
      this.$refs.equipmentCalibrationOrderReportModal.disableSubmit = false
    },
    handleFinal(record) {
      this.$refs.finalModal.edit(record)
    },
  }
}
</script>
<style scoped>
@import '~@assets/less/common.less';
</style>