zhangherong
2025-04-08 be84867c57d55112ade4cc45b9e7d7434054778e
src/views/eam/maintenance/EamWeekMaintenanceOrderList.vue
@@ -5,22 +5,27 @@
    <div class="table-page-search-wrapper">
      <a-form layout="inline" @keyup.enter.native="searchQuery">
        <a-row :gutter="24">
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
          <a-col :xl="4" :lg="7" :md="8" :sm="24">
            <a-form-item label="工单号">
              <a-input placeholder="请输入工单号" v-model="queryParam.orderNum"></a-input>
            </a-form-item>
          </a-col>
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
          <a-col :xl="4" :lg="7" :md="8" :sm="24">
            <a-form-item label="设备编号">
              <lx-search-equipment-select placeholder="请输入设备编号或名称搜索" v-model="queryParam.equipmentId"></lx-search-equipment-select>
            </a-form-item>
          </a-col>
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
            <a-form-item label="保养日期">
              <a-date-picker placeholder="请选择保养日期" v-model="queryParam.maintenanceDate" format="YYYY-MM-DD" style="width: 100%"/>
            <a-form-item label="计划保养日期">
              <a-range-picker v-model="queryParam.maintenanceDateRange" @change="onMaintenanceDateChange" format="YYYY-MM-DD" value-format="YYYY-MM-DD" />
            </a-form-item>
          </a-col>
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
          <a-col :xl="4" :lg="7" :md="8" :sm="24">
            <a-form-item label="保养状态">
              <j-dict-select-tag placeholder="请选择保养状态" dict-code="week_maintenance_status" v-model="queryParam.maintenanceStatus" />
            </a-form-item>
          </a-col>
          <a-col :xl="4" :lg="7" :md="8" :sm="24">
            <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>
@@ -36,9 +41,13 @@
      <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
      <a-dropdown v-if="selectedRowKeys.length > 0">
        <a-menu slot="overlay">
          <a-menu-item key="1" @click="batchDel">
          <a-menu-item key="1" @click="handlerBatchAbolish">
            <a-icon type="delete" />
            删除
            作废
          </a-menu-item>
          <a-menu-item key="1" @click="handlerBatchCollect">
            <a-icon type="delete" />
            领取
          </a-menu-item>
        </a-menu>
        <a-button style="margin-left: 8px"> 批量操作
@@ -69,15 +78,23 @@
        @change="handleTableChange">
        <span slot="action" slot-scope="text, record">
          <a @click="handleEdit(record)">编辑</a>
          <a v-if="record.maintenanceStatus === 'WAIT_MAINTENANCE'" @click="handleEdit(record)">编辑</a>
          <a-divider type="vertical" />
          <a-dropdown>
            <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
            <a-menu slot="overlay">
              <a-menu-item>
                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
                  <a>删除</a>
               <a-menu-item v-if="record.maintenanceStatus === 'WAIT_MAINTENANCE'">
                <a-popconfirm title="确定领取吗?" @confirm="() => handlerCollect(record.id)">
                  <a>领取</a>
                </a-popconfirm>
              </a-menu-item>
              <a-menu-item v-if="record.maintenanceStatus === 'WAIT_MAINTENANCE'">
                <a-popconfirm title="确定作废吗?" @confirm="() => handlerAbolish(record.id)">
                  <a>作废</a>
                </a-popconfirm>
              </a-menu-item>
              <a-menu-item >
                <a @click="handleDetail(record)">详情</a>
              </a-menu-item>
            </a-menu>
          </a-dropdown>
@@ -97,6 +114,7 @@
import EamWeekMaintenanceOrderModal from './modules/EamWeekMaintenanceOrderModal'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue'
import { deleteAction, getAction } from '@api/manage'
export default {
  name: 'EamWeekMaintenanceOrderList',
@@ -126,17 +144,22 @@
          dataIndex: 'orderNum'
        },
        {
          title: '设备ID',
          title: '设备编号',
          align: 'center',
          dataIndex: 'equipmentId'
          dataIndex: 'equipmentCode'
        },
        {
          title: '标准ID',
          title: '设备名称',
          align: 'center',
          dataIndex: 'standardId'
          dataIndex: 'equipmentName'
        },
        {
          title: '计划执行日期',
          title: '标准名称',
          align: 'center',
          dataIndex: 'standardId_dictText'
        },
        {
          title: '计划保养日期',
          align: 'center',
          dataIndex: 'maintenanceDate'
        },
@@ -153,22 +176,22 @@
        {
          title: '保养人',
          align: 'center',
          dataIndex: 'operator'
          dataIndex: 'operator_dictText'
        },
        {
          title: '保养状态',
          align: 'center',
          dataIndex: 'maintenanceStatus'
          dataIndex: 'maintenanceStatus_dictText'
        },
        {
          title: '创建方式',
          align: 'center',
          dataIndex: 'creationMethod'
          dataIndex: 'creationMethod_dictText'
        },
        {
          title: '确认人',
          align: 'center',
          dataIndex: 'confirmUser'
          dataIndex: 'confirmUser_dictText'
        },
        {
          title: '确认时间',
@@ -176,14 +199,15 @@
          dataIndex: 'confirmTime'
        },
        {
          title: '保养执行图片;id以逗号分隔',
          title: '保养图片',
          align: 'center',
          dataIndex: 'imageFiles'
        },
        {
          title: '备注',
          align: 'center',
          dataIndex: 'remark'
          dataIndex: 'remark',
          editable: true,
        },
        {
          title: '操作',
@@ -194,13 +218,122 @@
      ],
      url: {
        list: '/eam/weekMaintenanceOrder/list',
        delete: '/eam/weekMaintenanceOrder/delete',
        deleteBatch: '/eam/weekMaintenanceOrder/deleteBatch'
        abolish: '/eam/weekMaintenanceOrder/abolish',
        abolishBatch: '/eam/weekMaintenanceOrder/abolishBatch',
        collect: '/eam/weekMaintenanceOrder/collect',
      }
    }
  },
  computed: {},
  methods: {}
  methods: {
    onMaintenanceDateChange: function(value, dateString) {
      this.queryParam.maintenanceDateBegin = dateString[0]
      this.queryParam.maintenanceDateEnd = dateString[1]
    },
    handlerAbolish(id) {
      if(!this.url.abolish){
        this.$message.error("请设置url.abolish属性!")
        return
      }
      var that = this;
      deleteAction(that.url.abolish, {id: id}).then((res) => {
        if (res.success) {
          //重新计算分页问题
          that.reCalculatePage(1)
          // that.$message.success(res.message);
          that.$notification.success({
            message:'消息',
            description:res.message
          });
          that.loadData();
        } else {
          // that.$message.warning(res.message);
          that.$notification.warning({
            message:'消息',
            description:res.message
          });
        }
      });
    },
    handlerBatchAbolish() {
      if(!this.url.abolishBatch){
        this.$message.error("请设置url.abolishBatch属性!")
        return
      }
      if (this.selectedRowKeys.length <= 0) {
        // this.$message.warning('请选择一条记录!');
        this.$notification.warning({
          message:'消息',
          description:"请选择一条记录"
        });
        return;
      } else {
        var ids = "";
        for (var a = 0; a < this.selectedRowKeys.length; a++) {
          ids += this.selectedRowKeys[a] + ",";
        }
        var that = this;
        this.$confirm({
          title: "确认作废",
          content: "是否作废选中数据,只有待保养状态的数据才可作废成功?",
          onOk: function () {
            that.loading = true;
            deleteAction(that.url.abolishBatch, {ids: ids}).then((res) => {
              if (res.success) {
                //重新计算分页问题
                that.reCalculatePage(that.selectedRowKeys.length)
                // that.$message.success(res.message);
                that.$notification.success({
                  message:'消息',
                  description:res.message
                });
                that.loadData();
                that.onClearSelected();
              } else {
                // that.$message.warning(res.message);
                that.$notification.warning({
                  message:'消息',
                  description:res.message
                });
              }
            }).finally(() => {
              that.loading = false;
            });
          }
        });
      }
    },
    //单个领取
    handlerCollect(id) {
      if(!this.url.collect){
        this.$message.error("请设置url.collect属性!")
        return
      }
      var that = this;
      getAction(that.url.collect, {id: id}).then((res) => {
        if (res.success) {
          //重新计算分页问题
          that.reCalculatePage(1)
          // that.$message.success(res.message);
          that.$notification.success({
            message:'消息',
            description:res.message
          });
          that.loadData();
        } else {
          // that.$message.warning(res.message);
          that.$notification.warning({
            message:'消息',
            description:res.message
          });
        }
      });
    },
    //批量领取
    handlerBatchCollect(){
    }
  }
}
</script>
<style scoped>