zzw
2023-11-28 b40478cb59e8874d0e683950f2347f5e45a5d80d
web/src/views/modules/sys/task/stay-task.vue
@@ -1,15 +1,16 @@
<template>
    <zt-table-wraper ref="tableObj" query-url="/task/taskCenter/page" :paging="false" :lazy="true" v-slot="{ table }"
                     paging-layout="total, prev, pager, next">
      <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()">
  <div>
    <!--    <zt-table-wraper ref="tableObj" query-url="/newPlan/taskCenter/page" :paging="false" :lazy="true" v-slot="{ table }"
                         paging-layout="total, prev, pager, next">-->
    <el-form :inline="true" :model="dataForm" @keyup.enter.native="getQuery()">
        <el-input type="text" v-model="dataForm.djxlSystem" v-if="false" />
      </el-form>
      <el-table ref="table"
                :height="getTransformHeight(transformHeight)"
                v-loading="table.dataLoading"
                :data="table.dataList"
              v-loading="dataLoading"
              :data="dataList"
                style='margin-top:10px;transition: .5s;'
                @selection-change="table.selectionChangeHandle"
              class="alreadyTaskPushTable  table-is__left-tz"
                border highlight-current-row>
        <el-table-column prop="index" width="60" label="序号" align="center">
          <template slot-scope="scope">
@@ -34,21 +35,36 @@
            <zt-table-button v-if="row.flowCode === 'yearPlan2'" @click="getFlowTrack (row)">流程轨迹</zt-table-button>
          </template>
        </zt-table-column-handle>
      <infinite-loading
        spinner="bubbles"
        distance="200"
        slot="append"
        identifier="infiniteId"
        @infinite="infiniteHandler"
        ref="infiniteLoading"
        force-use-infinite-wrapper=".alreadyTaskPushTable .el-table__body-wrapper">
        <div slot="no-more" style="margin-top: 10px;margin-bottom: 10px;"><span v-if="dataListAll.length > pageSize">没有更多了</span></div>
      </infinite-loading>
      </el-table>
<!--      <el-dialog title="项目进度图" top="10vh" width='85%' :visible.sync="dialogVisible">-->
<!--        <processTimeline ref="processTimeline"></processTimeline>-->
<!--      </el-dialog>-->
      <!-- 弹窗, 新增 / 修改 -->
    </zt-table-wraper>
    <!-- 待办任务弹窗弹窗, 新增 / 修改 -->
    <ItemCirculatOrder ref="itemCirculatOrder" @refreshDataList="getQuery()"></ItemCirculatOrder>
    <!--    </zt-table-wraper>-->
  </div>
</template>
<script>
// import processTimeline from '../../../../map/processTimeline'
import Cookies from "js-cookie";
  import InfiniteLoading from 'vue-infinite-loading'
  import ItemCirculatOrder from '@/views/modules/itemCirculatOrder/ItemCirculatOrder-AddOrUpdate'
export default {
  data() {
    return {
        page: 1,
        pageSize: 30,
        dataLoading: false,
        dataList:[],
        dataListAll:[],
      dataForm: {
        djxlSystem:''
      },
@@ -66,6 +82,11 @@
    }
  },
  watch: {
      '$route.params.projectId'() {
        //this.dataForm.projectId = this.$route.params.projectId
        // this.getIsExistConstructionInfo()
        this.getQuery()
      },
    'tableBottomOffset'(){
      console.log(this.tableBottomOffset,'tableBottomOffset')
    }
@@ -74,6 +95,8 @@
  },
  components: {
      InfiniteLoading,
      ItemCirculatOrder
  },
  created() {
    if (this.$route.path.indexOf('taskCenter')>0 || this.system=='smj'){
@@ -87,12 +110,72 @@
      this.dataForm.projectId = this.$route.params.projectId
    }
    this.dataForm.djxlSystem = Cookies.get('djxlSystem')
    this.$refs.tableObj.query()
      this.getQuery()
    this.$EventBus.$on('newProject',()=>{
      this.$refs.tableObj.query()
        this.getQuery()
    })
  },
  methods: {
      async infiniteHandler($state) {
        console.log('in infiniteHandler--------')
        if ((this.page * this.pageSize) < this.dataListAll.length) {
          this.page++
          // let begin = (this.page - 1) * this.pageSize
          let end = this.page * this.pageSize
          if (end > this.dataListAll.length) {
            end = this.dataListAll.length
          }
          this.dataList = this.dataListAll.slice(0, end)
          console.log(this.dataList.length, 'infiniteHandler:this.dataList.length')
          console.log(this.page, 'infiniteHandler:this.page')
          setTimeout(() => {
            $state.loaded()
          }, 100)
        } else {
          $state.loaded()
          console.log("$state.complete()", this.page)
          this.page = 1;
          $state.complete()
          console.log(this.page, 'infiniteHandler:this.page')
        }
      },
      handleInfiniteLoadingBeforeGet() {
        this.page = 1;
        this.dataListAll = []
        this.dataList = []
      },
      handleInfiniteLoadingAfterGet(res) {
        this.dataListAll = res.data
        console.log(this.dataListAll.length, 'handleInfiniteLoadingAfterGet:this.dataListAll.length')
        // let begin = (this.page - 1) * this.pageSize
        let end = this.page * this.pageSize
        if (end > this.dataListAll.length) {
          end = this.dataListAll.length
        }
        this.dataList = this.dataListAll.slice(0, end)
        console.log(this.dataList.length, 'handleInfiniteLoadingAfterGet:this.dataList.length')
        console.log(this.page, 'handleInfiniteLoadingAfterGet:this.page')
        this.$nextTick(() => {
          this.$refs.infiniteLoading.$emit('$InfiniteLoading:reset');
        });
      },
      async getQuery(){
        this.handleInfiniteLoadingBeforeGet()
        this.dataLoading = true
        let params = {
          djxlSystem: this.dataForm.djxlSystem,
        }
        let res = await this.$http.get(`/task/taskCenter/page`,{
          params: params
        })
        if (res.success) {
          this.dataLoading = false
          this.handleInfiniteLoadingAfterGet(res)
          console.log(this.dataList, 'getQuery:this.dataList')
        } else {
          this.dataLoading = true
        }
      },
    getTransformHeight(transformHeight){
      let Height=document.documentElement.clientHeight
      if(transformHeight){
@@ -108,13 +191,9 @@
      }
    },
    getStayTask() {
      this.$refs.tableObj.query()
        this.getQuery()
    },
    flowChart(row) {
      // this.dialogVisible = true
      // this.$nextTick(() => {
      //   this.$refs.processTimeline.init(row)
      // })
      this.$emit('fatherMethod',row)
    },
    async getFlowTrack(row){
@@ -129,82 +208,11 @@
    },
    async createTask(row) {
      console.log(row, "task row");
     /* if (row.stepMarker === 'sgmx_xf') {
        let res = await this.$http.get(`/sy/maintain/constructionInfo/getListByProjectId?projectId=${row.bizId}`)
        console.log(res.data,'this.existConstructionInfo')
        if(res.data) {
          this.existConstructionInfo = true
        if (row.flowCode === 'wplz') {
          this.$refs.itemCirculatOrder.$refs.dialog.init(row)
        } else if (row.flowCode === 'aaa') {
          //this.$refs.itemCirculatOrder.$refs.dialog.init(row)
        }
      }*/
      if (row.stepMarker === 'jsfa_sc' || row.stepMarker === 'jsfa_sp') {
        this.$refs.repairSkillScheme.$refs.dialog.init(row)
      } else if (row.stepMarker=='tdjj_tysq'||row.stepMarker == 'tdjj_ywzsh' || row.stepMarker == 'tdjj_tzsp' || row.stepMarker == 'tdjj_zlsh' || row.stepMarker == 'tdjj_czsp' || row.stepMarker == 'tdjj_xtzjs') {
        this.$refs.shipTeamConnectAddOrUpdate.$refs.dialog.init(row)
      } else if (row.stepId === '80') {
        this.$refs.annualRepairPlanAdd.$refs.dialog.init(row)
      } else if (row.stepId === '90') {
        this.$refs.annualRepairPlanAdd.$refs.dialog.init(row)
      } else if (row.stepMarker=='smjkw_xg' || row.stepMarker=='smjkw_zlsh' || row.stepMarker=='smjkw_ztssh') {
        this.$refs.lifeKwFlowSh.$refs.dialog.init(row,'smjkwFlow')
      }else if (row.stepMarker === 'newProject_tz') {
        this.$refs.newProject.$refs.dialog.init(row)
      }
      else if(row.stepMarker==='jgxy_sc'){
        this.$refs.contractSupervision.$refs.dialog.init(row)
      }
      else if(row.stepMarker==='zbdg_sc'){
        this.$refs.warrantyOutline.$refs.dialog.init(row)
      }
      else if(row.stepMarker==='gcky_jh'){
        this.$refs.engineeringSurveyKyjh.$refs.dialog.init(row)
      }
      else if (row.flowCode==='monthPlanFlow'){
        this.$refs.monthlyPlan.$refs.dialog.init('db', row)
      }
      else if (row.flowCode==='weekPlanFlow'){
        this.$refs.weeklyPlan.$refs.dialog.init('db', row)
      }
      else if (row.flowCode==='rjhFlow'){
        if (row.stepMarker==='rjh_cy') {
          this.$refs.dailyPlanReadonly.$refs.dialog.init('db', row)
        } else {
          this.$refs.dailyPlan.$refs.dialog.init('db', row)
        }
      }
      else if (row.flowCode==='wlt3Flow'){
        this.$refs.networkdiagram3.$refs.dialog.init('db', row)
      }
      else if (row.stepMarker==='zjgc_tzxf'){
        this.$refs.addProjectApplyDescription.$refs.dialog.init(row.bizId,'db')
      }
      else if (row.stepMarker==='cjjdbb_by'){
        this.$refs.partsInspectionByHandle.$refs.dialog.init(row,'db')
      }
      else if (row.flowCode==='cjjdrwFlow'){
        this.$refs.partsInspectionHandle.$refs.dialog.init(row,'db')
      }
      else if (row.stepMarker==='jyys_by' || row.stepMarker==='jjby_by'){
        this.$refs.inspectionCheckByHandle.$refs.dialog.init(row,'db')
      }
      else if (row.flowCode==='zjbyFlow' || row.flowCode==='jjbyFlow'){
        this.$refs.inspectionCheckHandle.$refs.dialog.init(row,'db')
      }
      else if (row.stepMarker==='jzjys_by'){
        this.$refs.inspectionCheckZcHandle.$refs.dialog.init(row,'db')
      }
      else if (row.stepMarker==='jzjys_hz'){
        this.$refs.inspectionCheckZcHandle.$refs.dialog.init(row,'db')
      }
      else if (row.stepMarker==='jjys_by'){
        this.$refs.inspectionCheckDbsHandle.$refs.dialog.init(row,'db')
      }
      else if (row.stepMarker==='jjys_dbs'){
        this.$refs.inspectionCheckDbsHandle.$refs.dialog.init(row,'db')
      }
      else if (row.flowCode==='cjjdFlow'){
        this.$refs.partsInspectionJdHandle.$refs.dialog.init(row,'db')
      }
      else {
        if (row.stepRouterId === null) {
          this.$tip.alert("没有配置菜单id")
@@ -235,20 +243,8 @@
        })
      }
    },
    async getIsExistConstructionInfo(bizId) {
      if (bizId) {
        let res = await this.$http.get(`/sy/maintain/constructionInfo/getListByProjectId?projectId=${bizId}`)
        console.log(res.data,'this.existConstructionInfo')
        if(res.data) {
          this.existConstructionInfo = true
          alert('555')
        }
      }
    },
    indexFormat(index) {
      let page = this.$refs.tableObj.page
      let limit = this.$refs.tableObj.limit
      let indexs = limit * (page - 1) + index + 1
        let indexs = index + 1
      return '<span>' + indexs + '</span>'
    },
  },