From 1278691d47fdadb53a7b4038e001ad75f218759c Mon Sep 17 00:00:00 2001
From: wente <329538422@qq.com>
Date: 星期二, 02 一月 2024 10:57:16 +0800
Subject: [PATCH] 项目表

---
 web/src/views/modules/sys/task/stay-task.vue |  482 +++++++++++++++++++++++++++-------------------------
 1 files changed, 251 insertions(+), 231 deletions(-)

diff --git a/web/src/views/modules/sys/task/stay-task.vue b/web/src/views/modules/sys/task/stay-task.vue
index 1197721..8765baf 100644
--- a/web/src/views/modules/sys/task/stay-task.vue
+++ b/web/src/views/modules/sys/task/stay-task.vue
@@ -1,258 +1,278 @@
 <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()">
-        <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"
-                style='margin-top:10px;transition: .5s;'
-                @selection-change="table.selectionChangeHandle"
-                border highlight-current-row>
-        <el-table-column prop="index" width="60" label="搴忓彿" align="center">
-          <template slot-scope="scope">
-            <span v-html="indexFormat(scope.$index)"></span>
-          </template>
-        </el-table-column>
-        <el-table-column align="left" prop="topic" label="宸ョ▼" width="150"/>
-<!--        <el-table-column align="left" prop="title" label="娴佺▼鍚嶇О" width="180"/>-->
-        <el-table-column align="left" prop="remark" label="鎽樿" />
+  <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()"
+              v-loading="dataLoading"
+              :data="dataList"
+              style='margin-top:10px;transition: .5s;'
+              class="alreadyTaskPushTable  table-is__left-tz"
+              border highlight-current-row>
+      <el-table-column prop="index" width="60" label="搴忓彿" align="center">
+        <template slot-scope="scope">
+          <span v-html="indexFormat(scope.$index)"></span>
+        </template>
+      </el-table-column>
+      <el-table-column align="left" prop="topic" label="宸ョ▼" width="150"/>
+      <!--        <el-table-column align="left" prop="title" label="娴佺▼鍚嶇О" width="180"/>-->
+      <el-table-column align="left" prop="remark" label="鎽樿"/>
 
-        <el-table-column align="center" prop="stepName" label="褰撳墠鐜妭" width="150px"/>
-        <el-table-column align="center" prop="receiveTime" label="涓婁竴鐜妭鍔炵悊鏃堕棿" width="180px"/>
-        <el-table-column align="center" prop="senderName" label="涓婁竴鐜妭鍔炵悊浜�" width="160px"/>
-        <el-table-column align="center" prop="finishTime" label="璁″垝瀹屾垚鏃堕棿" width="160px"/>
-        <!--        <el-table-column align="center" prop="statusName" label="鐘舵��" width="100px"/>-->
-        <el-table-column align="center" prop="idleDays" label="鍋滅暀鏃堕棿锛堝ぉ锛�" width="150px"/>
-        <zt-table-column-handle fixed="right" :table="table" :has-edit="false" :has-delete="false" :has-view="false" width="120px">
-          <template v-slot="{ row }">
-            <zt-table-button v-if="row.stepMarker!='hxsy_czsp'&&row.stepMarker!='hxsy_bzsp'&&row.stepMarker!='xbsy_czsp'&&row.stepMarker!='xbsy_bzsp'"  @click="createTask(row)">鍔炵悊</zt-table-button>
-            <zt-table-button v-if="row.stepMarker=='hxsy_czsp'||row.stepMarker=='hxsy_bzsp'||row.stepMarker=='xbsy_czsp'||row.stepMarker=='xbsy_bzsp'" @click="createTask(row)">鏌ラ槄</zt-table-button>
-            <zt-table-button @click="flowChart(row)">娴佺▼鍥�</zt-table-button>
-            <zt-table-button v-if="row.flowCode === 'yearPlan2'" @click="getFlowTrack (row)">娴佺▼杞ㄨ抗</zt-table-button>
-          </template>
-        </zt-table-column-handle>
-      </el-table>
-<!--      <el-dialog title="椤圭洰杩涘害鍥�" top="10vh" width='85%' :visible.sync="dialogVisible">-->
-<!--        <processTimeline ref="processTimeline"></processTimeline>-->
-<!--      </el-dialog>-->
-      <!-- 寮圭獥, 鏂板 / 淇敼 -->
-    </zt-table-wraper>
+      <el-table-column align="center" prop="stepName" label="褰撳墠鐜妭" width="150px"/>
+      <el-table-column align="center" prop="receiveTime" label="涓婁竴鐜妭鍔炵悊鏃堕棿" width="180px"/>
+      <el-table-column align="center" prop="senderName" label="涓婁竴鐜妭鍔炵悊浜�" width="160px"/>
+      <el-table-column align="center" prop="finishTime" label="璁″垝瀹屾垚鏃堕棿" width="160px"/>
+      <!--        <el-table-column align="center" prop="statusName" label="鐘舵��" width="100px"/>-->
+      <el-table-column align="center" prop="idleDays" label="鍋滅暀鏃堕棿锛堝ぉ锛�" width="150px"/>
+      <zt-table-column-handle fixed="right" :table="table" :has-edit="false" :has-delete="false" :has-view="false"
+                              width="120px">
+        <template v-slot="{ row }">
+          <zt-table-button
+            v-if="row.stepMarker!='hxsy_czsp'&&row.stepMarker!='hxsy_bzsp'&&row.stepMarker!='xbsy_czsp'&&row.stepMarker!='xbsy_bzsp'"
+            @click="createTask(row)">鍔炵悊
+          </zt-table-button>
+          <zt-table-button
+            v-if="row.stepMarker=='hxsy_czsp'||row.stepMarker=='hxsy_bzsp'||row.stepMarker=='xbsy_czsp'||row.stepMarker=='xbsy_bzsp'"
+            @click="createTask(row)">鏌ラ槄
+          </zt-table-button>
+          <zt-table-button @click="flowChart(row)">娴佺▼鍥�</zt-table-button>
+          <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>
+    <!-- 寰呭姙浠诲姟寮圭獥寮圭獥, 鏂板 / 淇敼 -->
+    <ItemCirculatOrder ref="itemCirculatOrder" @refreshDataList="getQuery()"></ItemCirculatOrder>
+    <ConfigItemWarehouse ref="configItemWarehouse" @refreshDataList="getQuery()"></ConfigItemWarehouse>
+    <ConfigItemChange ref="configItemChange" @refreshDataList="getQuery()"></ConfigItemChange>
+    <ConfigItemOutbound ref="configItemOutbound" @refreshDataList="getQuery()"></ConfigItemOutbound>
+    <TestCheckOrder ref="testCheckOrder" @refreshDataList="getQuery()"></TestCheckOrder>
+    <BaselineRelease ref="baselineRelease" @refreshDataList="getQuery()"></BaselineRelease>
+    <!--    </zt-table-wraper>-->
+  </div>
 </template>
 
 <script>
-// import processTimeline from '../../../../map/processTimeline'
-import Cookies from "js-cookie";
+  import Cookies from "js-cookie";
+  import InfiniteLoading from 'vue-infinite-loading'
+  import ItemCirculatOrder from '@/views/modules/itemCirculatOrder/ItemCirculatOrder-AddOrUpdate'
+  import ConfigItemWarehouse from '@/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate'
+  import TestCheckOrder from '@/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate'
+  import ConfigItemChange from '@/views/modules/configItemChange/ConfigItemChange-AddOrUpdate'
+  import ConfigItemOutbound from '@/views/modules/configItemOutbound/ConfigItemOutbound-AddOrUpdate'
+  import BaselineRelease from '@/views/modules/baselineRelease/BaselineRelease-AddOrUpdate'
 
-export default {
-  data() {
-    return {
-      dataForm: {
-        djxlSystem:''
+  export default {
+    data() {
+      return {
+        page: 1,
+        pageSize: 30,
+        dataLoading: false,
+        dataList: [],
+        dataListAll: [],
+        dataForm: {
+          djxlSystem: ''
+        },
+        dialogVisible: false,
+        existConstructionInfo: false
+      }
+    },
+    props: {
+      system: {
+        type: String
       },
-      dialogVisible: false,
-      existConstructionInfo: false
-    }
-  },
-  props:{
-    system:{
-      type:String
-    },
-    transformHeight:{
-      type:Boolean,
-      default:false
-    }
-  },
-  watch: {
-    'tableBottomOffset'(){
-      console.log(this.tableBottomOffset,'tableBottomOffset')
-    }
-  },
-  computed:{
-
-  },
-  components: {
-  },
-  created() {
-    if (this.$route.path.indexOf('taskCenter')>0 || this.system=='smj'){
-      this.transformHeight = true
-    }else{
-      this.transformHeight = false
-    }
-  },
-  mounted() {
-    if (this.$route.params.projectId) {
-      this.dataForm.projectId = this.$route.params.projectId
-    }
-    this.dataForm.djxlSystem = Cookies.get('djxlSystem')
-    this.$refs.tableObj.query()
-    this.$EventBus.$on('newProject',()=>{
-      this.$refs.tableObj.query()
-    })
-  },
-  methods: {
-    getTransformHeight(transformHeight){
-      let Height=document.documentElement.clientHeight
-      if(transformHeight){
-        return  Height-(650-403)
-      }else{
-        return  Height-650
+      transformHeight: {
+        type: Boolean,
+        default: false
       }
     },
-    async reCall(row) {
-      if (await this.$tip.confirm('纭畾瑕佽繘琛屾挙鍥炲悧?')) {
-        this.$http.get(`/wf/reCallFlow`, {params: row}).then(a => {
-        })
+    watch: {
+      '$route.params.projectId'() {
+        //this.dataForm.projectId = this.$route.params.projectId
+        // this.getIsExistConstructionInfo()
+        this.getQuery()
+      },
+      'tableBottomOffset'() {
+        console.log(this.tableBottomOffset, 'tableBottomOffset')
       }
     },
-    getStayTask() {
-      this.$refs.tableObj.query()
+    computed: {},
+    components: {
+      InfiniteLoading,
+      ItemCirculatOrder,
+      ConfigItemWarehouse,
+      TestCheckOrder,
+      ConfigItemChange,
+      ConfigItemOutbound,
+      BaselineRelease,
     },
-    flowChart(row) {
-      // this.dialogVisible = true
-      // this.$nextTick(() => {
-      //   this.$refs.processTimeline.init(row)
-      // })
-      this.$emit('fatherMethod',row)
-    },
-    async getFlowTrack(row){
-      console.log(row,'getFlowTrack row')
-      if(row){
-        let params={
-          flowCode:row.flowCode,
-          bizId:row.bizId
-        }
-        this.$refs.processTrajectory.$refs.dialog.init(params)
+    created() {
+      if (this.$route.path.indexOf('taskCenter') > 0 || this.system == 'smj') {
+        this.transformHeight = true
+      } else {
+        this.transformHeight = false
       }
     },
-    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.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)
+    mounted() {
+      if (this.$route.params.projectId) {
+        this.dataForm.projectId = this.$route.params.projectId
       }
-      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)
+      this.dataForm.djxlSystem = Cookies.get('djxlSystem')
+      this.getQuery()
+      this.$EventBus.$on('newProject', () => {
+        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 {
-          this.$refs.dailyPlan.$refs.dialog.init('db', row)
+          $state.loaded()
+          console.log("$state.complete()", this.page)
+          this.page = 1;
+          $state.complete()
+          console.log(this.page, 'infiniteHandler:this.page')
         }
-      }
-      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")
-          return;
+      },
+      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
         }
-        let route = window.SITE_CONFIG['dynamicMenuRoutes'].filter(item => item.meta.menuId === row.stepRouterId)[0]
-        if (route === undefined) {
-          this.$tip.alert("娌℃湁閰嶇疆鑿滃崟鏉冮檺")
-          return;
-        }
+        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 = {
-          id: row.bizId,
-          projectId: row.bizGroupId,
-          pageCode: row.stepMarker,
-          pageRead: 'no',
-          productId: row.productId,
-          approveType: ''
+          djxlSystem: this.dataForm.djxlSystem,
         }
-        console.log(route.meta.params, 'route.meta.params')
-
-        if (Object.keys(route.meta.params).length > 0) {
-          params = Object.assign(params, route.meta.params);
-        }
-        console.log(params, 'params')
-        this.$router.push({
-          name: row.stepRouterId,
+        let res = await this.$http.get(`/task/taskCenter/page`, {
           params: params
         })
-      }
-    },
-    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')
+        if (res.success) {
+          this.dataLoading = false
+          this.handleInfiniteLoadingAfterGet(res)
+          console.log(this.dataList, 'getQuery:this.dataList')
+        } else {
+          this.dataLoading = true
         }
-      }
+      },
+      getTransformHeight() {
+        let Height = document.documentElement.clientHeight
+          return Height - (650 - 403)
+      },
+      async reCall(row) {
+        if (await this.$tip.confirm('纭畾瑕佽繘琛屾挙鍥炲悧?')) {
+          this.$http.get(`/wf/reCallFlow`, {params: row}).then(a => {
+          })
+        }
+      },
+      getStayTask() {
+        this.getQuery()
+      },
+      flowChart(row) {
+        this.$emit('fatherMethod', row)
+      },
+      async getFlowTrack(row) {
+        console.log(row, 'getFlowTrack row')
+        if (row) {
+          let params = {
+            flowCode: row.flowCode,
+            bizId: row.bizId
+          }
+          this.$refs.processTrajectory.$refs.dialog.init(params)
+        }
+      },
+      async createTask(row) {
+        console.log(row, "task row");
+        if (row.flowCode === 'wplz') {
+          this.$refs.itemCirculatOrder.$refs.dialog.init(row.bizId, row)
+        } else if (row.flowCode === 'pzxrk') {
+          this.$refs.configItemWarehouse.$refs.dialog.init(row.bizId, row)
+        }else if (row.flowCode === 'csjcd') {
+          this.$refs.testCheckOrder.$refs.dialog.init(row.bizId, row)
+        } else if (row.flowCode === 'pzxbg') {
+          this.$refs.configItemChange.$refs.dialog.init(row.bizId, row)
+        }else if (row.flowCode === 'pzxck') {
+          this.$refs.configItemOutbound.$refs.dialog.init(row.bizId, row)
+        }else if (row.flowCode === 'jxfb') {
+          this.$refs.baselineRelease.$refs.dialog.init(row.bizId, row)
+        }else {
+          if (row.stepRouterId === null) {
+            this.$tip.alert("娌℃湁閰嶇疆鑿滃崟id")
+            return;
+          }
+          let route = window.SITE_CONFIG['dynamicMenuRoutes'].filter(item => item.meta.menuId === row.stepRouterId)[0]
+          if (route === undefined) {
+            this.$tip.alert("娌℃湁閰嶇疆鑿滃崟鏉冮檺")
+            return;
+          }
+          let params = {
+            id: row.bizId,
+            projectId: row.bizGroupId,
+            pageCode: row.stepMarker,
+            pageRead: 'no',
+            productId: row.productId,
+            approveType: ''
+          }
+          console.log(route.meta.params, 'route.meta.params')
+
+          if (Object.keys(route.meta.params).length > 0) {
+            params = Object.assign(params, route.meta.params);
+          }
+          console.log(params, 'params')
+          this.$router.push({
+            name: row.stepRouterId,
+            params: params
+          })
+        }
+      },
+      indexFormat(index) {
+        let indexs = index + 1
+        return '<span>' + indexs + '</span>'
+      },
     },
-    indexFormat(index) {
-      let page = this.$refs.tableObj.page
-      let limit = this.$refs.tableObj.limit
-      let indexs = limit * (page - 1) + index + 1
-      return '<span>' + indexs + '</span>'
-    },
-  },
-}
+  }
 </script>
 
 <style scoped>

--
Gitblit v1.9.1