lyh
2025-04-09 53c269711fcb59f48fd2acd7e825bebfd31d09e5
src/views/flowable/workflow/FlowTodo.vue
@@ -10,6 +10,11 @@
      <a-form layout="inline" @keyup.enter.native="searchQuery">
        <a-row :gutter="24">
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
            <a-form-item label="流程分类">
              <j-dict-select-tag placeholder="请选择流程分类" v-model="queryParam.category" dictCode="flow_type"></j-dict-select-tag>
            </a-form-item>
          </a-col>
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
            <a-form-item label="流程名称">
              <a-input placeholder="请输入流程名称" v-model="queryParam.flowName"></a-input>
            </a-form-item>
@@ -39,22 +44,33 @@
    <!-- 操作按钮区域 -->
    <div class="table-operator">
    <a-dropdown v-if="selectedRowKeys.length > 0 ">
      <a-menu slot="overlay">
        <a-menu-item key="1" @click="batchHandle"><a-icon type="delete"/>批量处理</a-menu-item>
      </a-menu>
      <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
    </a-dropdown>
    </div>
    <!-- table区域-begin -->
    <div>
      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
        <i class="anticon anticon-info-circle ant-alert-icon"></i>已选择&nbsp;<a style="font-weight: 600">{{
          selectedRowKeys.length }}</a>项&nbsp;&nbsp;
        <a style="margin-left: 24px" @click="onClearSelected">清空</a>
      </div>
      <a-table
        ref="table"
        size="middle"
        :scroll="{x:true}"
        bordered
        size="middle"
        rowKey="id"
        :scroll="{x:'max-content',y:465}"
        :columns="columns"
        :dataSource="dataSource"
        :pagination="ipagination"
        :loading="loading"
        class="j-table-force-nowrap"
        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
        @change="handleTableChange">
        <template slot="htmlSlot" slot-scope="text">
@@ -84,7 +100,12 @@
      </a-table>
    </div>
    <FlowNcZpi ref="modalFormApproval" :selectShenpiData="selectShenpiData"></FlowNcZpi>
    <AssignFileStreamHandle ref="modalFormApproval" :selectShenpiData="selectShenpiData"></AssignFileStreamHandle>
    <DispatchFileHandle ref="modalFormDispatchFileXq"  :selectShenpiData="selectDispatchFileXqData" @searchReset="searchReset"></DispatchFileHandle>
    <DispatchFileBachHandleStyle ref="modalFormDispatchFileBatch" @searchReset="searchReset" @ok="modalFormOk"></DispatchFileBachHandleStyle>
    <InspectionOrderHandle ref="modalFormInspectionOrder" :selectShenpiData="selectInspectionOrderData" @searchReset="searchReset"></InspectionOrderHandle>
    <InspectionOrderHandleBzz ref="modalFormInspectionOrderBzz" :selectShenpiData="selectInspectionOrderDataBzz" @searchReset="searchReset"></InspectionOrderHandleBzz>
    <week-maintenance-approval-modal ref = "weekMaintenanceApprovalModal" :maintenanceId="dataId"></week-maintenance-approval-modal>
  </a-card>
</template>
@@ -94,16 +115,25 @@
import { mixinDevice } from '@/utils/mixin'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import JDictSelectTag from '@/components/dict/JDictSelectTag.vue'
import store from '@/store'
import { getAction } from '@api/manage'
import FlowNcZpi from '@views/flowable/workflow/FlowNcZpi.vue'
import AssignFileStreamHandle from '@views/flowable/workflow/assignFileStream/AssignFileStreamHandle.vue'
import DispatchFileHandle from '@views/flowable/workflow/dispatchFile/DispatchFileHandle.vue'
import DispatchFileBachHandleStyle from '@views/flowable/workflow/dispatchFile/DispatchFileBachHandleStyle#Drawer.vue'
import InspectionOrderHandle from '@views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue'
import InspectionOrderHandleBzz from '@views/flowable/workflow/InspectionOrder/InspectionOrderHandleBzz.vue'
import WeekMaintenanceApprovalModal from '@views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal';
import { getAction } from '@api/manage'
export default {
  name: 'NcDeviceCharactersList',
  mixins:[JeecgListMixin, mixinDevice],
  components: {
    FlowNcZpi,
    AssignFileStreamHandle,
    JDictSelectTag,
    DispatchFileHandle,
    DispatchFileBachHandleStyle,
    InspectionOrderHandle,
    InspectionOrderHandleBzz,
    WeekMaintenanceApprovalModal
  },
  data () {
    return {
@@ -121,6 +151,12 @@
          }
        },
        {
          title: '流程分类',
          align: "center",
          dataIndex: 'category_dictText',
          width: 200,
        },
        {
          title: '流程名称',
          align: "center",
          dataIndex: 'flowName',
@@ -135,13 +171,13 @@
        {
          title: '上一步处理人',
          align: "center",
          dataIndex: 'variables.INITIATOR',
          dataIndex: 'preNodeAssignee_dictText',
          width:200
        },
        {
          title: '上一步节点',
          title: '前驱节点',
          align: "center",
          dataIndex: 'actStatus',
          dataIndex: 'preNode',
          width:200
        },
        {
@@ -166,10 +202,17 @@
        }
      ],
      url: {
        list: '/nc/assign/flow/toTaskBySelf',
        list: '/assign/flow/toTaskBySelf',
        isSameNode: '/assign/flow/isSameNode'
      },
      dictOptions:{},
      selectShenpiData: {},
      selectDispatchFileXqData:{},
      selectInspectionOrderData:{},
      selectInspectionOrderDataBzz:{},
      selectBachData:{},
      //业务信息ID
      dataId: undefined,
    }
  },
  created() {
@@ -184,14 +227,23 @@
      console.log('点击了详情')
      console.log('item----->', item)
      console.log('index----->', index)
      let approcesstype = this.splitAprocessType(item.title)
      let approcesstype = this.splitAprocessType(item.category)
      console.log('approcesstype--->', approcesstype)
      switch (approcesstype) {
        case '指派NC文档到设备流程':
        case 'drApproval':
          this.handDrDetial(item)
          break
        case 'ggApproval':
          this.handDispatchFileDetial(item)
          break
        case 'sbdjApproval':
          this.handInspectionOrder(item)
          break
        case 'WEEK_MAINTENANCE':
          this.handleWeekMaintenance(item)
          break
        default:
          alert('没找到该审批')
          alert('没找到该流程')
      }
    },
    splitAprocessType(title) {
@@ -204,6 +256,63 @@
      this.$refs.modalFormApproval.clearTableSource()
      this.$refs.modalFormApproval.getAllApproveData(item)
    },
    searchReset() {
      this.queryParam = {}
      this.loadData(1);
    },
    handDispatchFileDetial(item){
      console.log('item----->', item)
      this.selectDispatchFileXqData = item
      this.$refs.modalFormDispatchFileXq.clearTableSource()
      this.$refs.modalFormDispatchFileXq.getAllApproveData(item)
    },
    handInspectionOrder(item) {
      console.log('item----->', item)
      if (item.taskDefKey ==='Confirmed_completed'){
        this.selectInspectionOrderDataBzz = item
        this.$refs.modalFormInspectionOrderBzz .clearTableSource()
        this.$refs.modalFormInspectionOrderBzz .getAllApproveData(item)
      }else {
        this.selectInspectionOrderData = item
        this.$refs.modalFormInspectionOrder.clearTableSource()
        this.$refs.modalFormInspectionOrder.getAllApproveData(item)
      }
    },
    batchHandle() {
      if (this.selectedRowKeys.length <= 0) {
        this.$notification.warning({
          message: '消息',
          description: "请选择一条记录"
        });
        return;
      } else {
        let ids = "";
        for (var a = 0; a < this.selectedRowKeys.length; a++) {
          ids += this.selectedRowKeys[a] + ",";
        }
        getAction(this.url.isSameNode+"?taskIds="+ids).then((res)=>{
          if(res.success){
            let taskDefKey=res.result
            this.selectBachData.taskIds = ids
            this.selectBachData.taskDefKey = taskDefKey
            this.$refs.modalFormDispatchFileBatch.title="批量处理";
            this.$refs.modalFormDispatchFileBatch.edit(this.selectBachData)
            this.$refs.modalFormDispatchFileBatch.disableSubmit = false;
          }else{
            this.$notification.warning({
              message: '消息',
              description: res.message
            });
          }
        })
      }
    },
    handleWeekMaintenance(item) {
      this.dataId = item.dataId;
      this.$refs.weekMaintenanceApprovalModal.add()
      this.$refs.weekMaintenanceApprovalModal.title = item.preNode;
      this.$refs.weekMaintenanceApprovalModal.disableSubmit = false;
    }
  }
}
</script>