From dd5c0e7704a9ed729492b328e42d22014067b0b4 Mon Sep 17 00:00:00 2001
From: wente <329538422@qq.com>
Date: 星期二, 19 十二月 2023 14:29:12 +0800
Subject: [PATCH] 基线表
---
web/src/views/modules/sys/task/already-task.vue | 437 +++++++++++++++++++++++++++++++----------------------
1 files changed, 255 insertions(+), 182 deletions(-)
diff --git a/web/src/views/modules/sys/task/already-task.vue b/web/src/views/modules/sys/task/already-task.vue
index c2355d7..f78d7a7 100644
--- a/web/src/views/modules/sys/task/already-task.vue
+++ b/web/src/views/modules/sys/task/already-task.vue
@@ -1,203 +1,276 @@
<template>
- <zt-table-wraper ref="tableObj" query-url="/task/taskCenter/pageDone" :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 align="center" prop="index" width="60" label="搴忓彿">
- <template slot-scope="scope">
- <span v-html="indexFormat(scope.$index)"></span>
- </template>
- </el-table-column>
+ <div>
+ <!-- <zt-table-wraper ref="tableObj" query-url="/newPlan/taskCenter/pageDone" :paging="false" :lazy="true" v-slot="{ table }"-->
+ <!-- paging-layout="total, prev, pager, next">-->
+ <el-form :inline="true" :model="dataForm">
+ <el-input type="text" v-model="dataForm.djxlSystem" v-if="false" />
+ </el-form>
+ <el-table ref="table"
+ :height="getTransformHeight()"
+ class="pushtable table-is__left-tz"
+ v-loading="dataLoading"
+ :data="dataList"
+ style='margin-top:10px;transition: .5s;'
+ border highlight-current-row>
+ <el-table-column align="center" prop="index" width="80" label="搴忓彿">
+ <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="200"/>-->
- <el-table-column align="left" prop="remark" label="鎽樿" />
- <el-table-column align="center" prop="finishStepName" label="瀹屾垚鑺傜偣" width="240px"/>
- <el-table-column align="center" v-if ='$store.state.user.isAdmin' prop="finishUserName" label="瀹屾垚浜哄憳" width="120px"/>
- <el-table-column align="center" prop="finishTime" label="瀹屾垚鏃堕棿" width="160px"/>
- <el-table-column align="center" prop="stepName" label="褰撳墠鐘舵��" width="240px"/>
- <el-table-column align="center" prop="receiveName" label="鍔炵悊浜�" width="120px"/>
- <!-- <el-table-column align="center" prop="statusName" label="鎴戠殑鎰忚" />-->
- <zt-table-column-handle fixed="right" :table="table" :has-edit="false" :has-delete="false" :has-view="false" width="220px">
- <template v-slot="{ row }">
- <zt-table-button v-show="row.canRecall == 1 && !$store.state.user.isAdmin" @click="reCall(row)">鎾ゅ洖</zt-table-button>
- <zt-table-button @click="check(row,'')" v-if="row.flowCode !== 'yearPlanFlow'">鏌ョ湅</zt-table-button>
- <zt-table-button @click="check(row,'')" v-if="row.flowCode === 'yearPlanFlow'">淇敼</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="left" prop="topic" label="宸ョ▼" width="150"/>
+ <!-- <el-table-column align="left" prop="title" label="娴佺▼鍚嶇О" width="200"/>-->
+ <el-table-column align="left" prop="remark" label="鎽樿" />
+ <el-table-column align="center" prop="finishStepName" label="瀹屾垚鑺傜偣" width="240px"/>
+ <el-table-column align="center" v-if ='$store.state.user.isAdmin' prop="finishUserName" label="瀹屾垚浜哄憳" width="120px"/>
+ <el-table-column align="center" prop="finishTime" label="瀹屾垚鏃堕棿" width="160px"/>
+ <el-table-column align="center" prop="stepName" label="褰撳墠鐘舵��" width="240px"/>
+ <el-table-column align="center" prop="receiveName" label="鍔炵悊浜�" width="120px"/>
+ <!-- <el-table-column align="center" prop="statusName" label="鎴戠殑鎰忚" />-->
+ <el-table-column label="鎿嶄綔" width="180px">
+ <template v-slot="{ row }">
+ <zt-table-button v-show="row.canRecall == 1 && !$store.state.user.isAdmin" @click="reCall(row)">鎾ゅ洖</zt-table-button>
+ <zt-table-button @click="check(row,'')" v-if="row.flowCode !== 'yearPlanFlow'">鏌ョ湅</zt-table-button>
+ <zt-table-button @click="check(row,'')" v-if="row.flowCode === 'yearPlanFlow'">淇敼</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>
+ </el-table-column>
+ <infinite-loading
+ spinner="bubbles"
+ distance="200"
+ slot="append"
+ identifier="infiniteId"
+ @infinite="infiniteHandler"
+ ref="infiniteLoading"
+ force-use-infinite-wrapper=".pushtable .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><TestCheckOrder ref="testCheckOrder" @refreshDataList="getQuery()"></TestCheckOrder>
+ <!-- </zt-table-wraper>-->
+ </div>
</template>
<script>
-// import processTimeline from '../../../../map/processTimeline'
-import Cookies from "js-cookie";
-export default {
- data() {
- return {
- dataForm: {
- djxlSystem:''
- },
- dialogVisible: false,
- }
- },
- props:{
- system:String,
- transformHeight:{
- type:Boolean,
- default:false
- }
- },
- components: {
- },
- watch:{
- },
- created() {
- if (this.$route.path.indexOf('taskCenter')>0 || this.system=='smj'){
- this.transformHeight = true
- }else{
- this.transformHeight = false
- }
- },
- mounted() {
- console.log(this.system)
- this.dataForm.djxlSystem = Cookies.get('djxlSystem')
- this.getQuery()
- this.$EventBus.$on('newProject',()=>{
- this.$refs.tableObj.query()
- })
- },
- methods: {
- getTransformHeight(transformHeight){
- let Height=document.documentElement.clientHeight
- if(transformHeight){
- return Height-(650-403)
+ import cloneDeep from 'lodash/cloneDeep'
+ import InfiniteLoading from 'vue-infinite-loading'
+ import ItemCirculatOrder from '@/views/modules/itemCirculatOrder/ItemCirculatOrder-AddOrUpdate'
+ import Cookies from "js-cookie";
+ import ConfigItemWarehouse from '@/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate'
+ import TestCheckOrder from "@/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue";
+ import ConfigItemChange from "@/views/modules/configItemChange/ConfigItemChange-AddOrUpdate.vue";
+ import ConfigItemOutbound from "@/views/modules/configItemOutbound/ConfigItemOutbound-AddOrUpdate.vue";
+
+ export default {
+ data() {
+ return {
+ page: 1,
+ pageSize: 30,
+ dataLoading: false,
+ dataList:[],
+ dataListAll:[],
+ dataForm: {
+ djxlSystem:''
+ },
+ dialogVisible: false,
+ }
+ },
+ props:{
+ system:String,
+ transformHeight:{
+ type:Boolean,
+ default:false
+ }
+ },
+ components: {
+ TestCheckOrder,
+ InfiniteLoading,
+ ItemCirculatOrder,
+ ConfigItemWarehouse,
+ ConfigItemChange,
+ ConfigItemOutbound
+ },
+ watch:{
+ },
+ created() {
+ if (this.$route.path.indexOf('taskCenter')>0 || this.system=='smj'){
+ this.transformHeight = true
}else{
- return Height-650
+ this.transformHeight = false
}
},
- getQuery(){
- this.$refs.tableObj.query()
- this.$emit('getQuery')
+ mounted() {
+ console.log(this.system)
+ this.dataForm.djxlSystem = Cookies.get('djxlSystem')
+ this.getQuery()
+ this.$EventBus.$on('newProject',()=>{
+ // this.$refs.tableObj.query()
+ this.getQuery()
+ })
},
- async reCall(row) {
- if (await this.$tip.confirm('纭畾瑕佽繘琛屾挙鍥炲悧?')) {
- this.$http.get(`/wf/reCallFlow`, {params: row}).then(res => {
- if (res.data == 'OK') {
- this.$refs.tableObj.query();
+ 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
}
- else {
- this.$tip.alert(res.data)
- }
- })
- }
- },
- check(row) {
- // if(row.stepMarker === 'jsfa_sc' || row.stepMarker === 'jsfa_sp'){
- // this.$refs.repairSkillScheme.$refs.dialog.init(row)
- // }
- // else
- if (row.title === '骞村害淇悊璁″垝') {
- this.$refs.annualRepairPlanAdd.$refs.dialog2.init(row,'readOnly')
- } else if (row.flowCode === 'NewProjectFlow') {
- let id = row.bizId
- this.$refs.projectUpdate.$refs.dialog.init(id, 'view')
- }
- else if (row.flowCode==='monthPlanFlow'){
- this.$refs.monthlyPlan.$refs.dialog.init('yb', row)
- }
- else if (row.flowCode==='weekPlanFlow'){
- this.$refs.weeklyPlan.$refs.dialog.init('yb', row)
- }
- else if (row.flowCode==='rjhFlow') {
- this.$refs.dailyPlan.$refs.dialog.init('yb', row)
- }
- else if (row.flowCode==='wlt3Flow'){
- this.$refs.networkdiagram3.$refs.dialog.init('yb', row)
- }
- else if (row.flowCode==='cjjdrwFlow'){
- this.$refs.partsInspectionHandle.$refs.dialog.init(row,'yb')
- }
- else if (row.flowCode==='zjbyFlow' || row.flowCode==='jjbyFlow'){
- this.$refs.inspectionCheckHandle.$refs.dialog.init(row,'yb')
- }
- else if (row.flowCode==='jzjysFlow'){
- this.$refs.inspectionCheckZcHandle.$refs.dialog.init(row,'yb')
- }
- else if (row.flowCode==='jjysFlow'){
- this.$refs.inspectionCheckDbsHandle.$refs.dialog.init(row,'yb')
- }
- else if (row.flowCode==='cjjdFlow'){
- this.$refs.partsInspectionJdHandle.$refs.dialog.init(row,'yb')
- }
- else {
- if (row.stepReadRouterId === null){
- this.$tip.alert("娌℃湁閰嶇疆鑿滃崟id")
- return;
+ 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')
}
- let route = window.SITE_CONFIG['dynamicMenuRoutes'].filter(item => item.meta.menuId === row.stepReadRouterId)[0]
- if (route === undefined){
- this.$tip.alert("娌℃湁閰嶇疆鑿滃崟鏉冮檺")
- 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
}
+ 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');
+ });
+ },
+
+ getTransformHeight(){
+ let Height=document.documentElement.clientHeight
+ return Height-(650-403)
+ },
+ async getQuery(){
+ this.handleInfiniteLoadingBeforeGet()
+ this.dataLoading = true
let params = {
- id: row.bizId,
- projectId: row.bizGroupId,
- pageCode: row.stepMarker,
- pageRead: 'yes',
- productId: row.productId,
- approveType: ''
+ djxlSystem: this.dataForm.djxlSystem,
}
- if (Object.keys(params).length>0){
- params = Object.assign(params, route.meta.params);
- }
- this.$router.push({
- name: row.stepReadRouterId,
+ let res = await this.$http.get(`/task/taskCenter/pageDone`,{
params: params
})
- }
- },
- flowChart(row) {
- // console.log(row, 'flowChart row')
- // this.dialogVisible = true
- // this.$nextTick(()=>{
- // this.$refs.processTimeline.init(row)
- // })
- this.$emit('alreadyTask',row)
- },
- getFlowTrack(row){
- console.log(row,'getFlowTrack row')
- if(row){
- let params={
- flowCode:row.flowCode,
- bizId:row.bizId
+ if (res.success) {
+ this.dataLoading = false
+ this.handleInfiniteLoadingAfterGet(res)
+ console.log(this.dataList, 'getQuery:this.dataList')
+ } else {
+ this.dataLoading = true
}
- console.log(params,'getFlowTrack params')
- this.$refs.processTrajectory.$refs.dialog.init(params)
- }
+ },
+ async reCall(row) {
+ if (await this.$tip.confirm('纭畾瑕佽繘琛屾挙鍥炲悧?')) {
+ this.$http.get(`/wf/reCallFlow`, {params: row}).then(res => {
+ if (res.data == 'OK') {
+ // this.$refs.tableObj.query();
+ this.getQuery()
+ }
+ else {
+ this.$tip.alert(res.data)
+ }
+ })
+ }
+ },
+ check(row) {
+ console.log(row, "task row");
+ if (row.flowCode === 'wplz') {
+ this.$nextTick(()=>{
+ this.$refs.itemCirculatOrder.$refs.dialog.init(row.bizId,row, true)
+ })
+ } else if (row.flowCode === 'pzxrk') {
+ this.$nextTick(()=>{
+ this.$refs.configItemWarehouse.$refs.dialog.init(row.bizId,row, true)
+ })
+ } else if (row.flowCode === 'csjcd') {
+ this.$nextTick(()=>{
+ this.$refs.testCheckOrder.$refs.dialog.init(row.bizId,row, true)
+ })
+ }else if (row.flowCode === 'pzxck') {
+ this.$nextTick(()=>{
+ this.$refs.configItemOutbound.$refs.dialog.init(row.bizId,row, true)
+ })
+ }else if (row.flowCode === 'pzxbg') {
+ this.$nextTick(()=>{
+ this.$refs.configItemChange.$refs.dialog.init(row.bizId,row, true)
+ })
+ }
+ else {
+ if (row.stepReadRouterId === null){
+ this.$tip.alert("娌℃湁閰嶇疆鑿滃崟id")
+ return;
+ }
+ let route = window.SITE_CONFIG['dynamicMenuRoutes'].filter(item => item.meta.menuId === row.stepReadRouterId)[0]
+ if (route === undefined){
+ this.$tip.alert("娌℃湁閰嶇疆鑿滃崟鏉冮檺")
+ return;
+ }
+ let params = {
+ id: row.bizId,
+ projectId: row.bizGroupId,
+ pageCode: row.stepMarker,
+ pageRead: 'yes',
+ productId: row.productId,
+ approveType: ''
+ }
+ if (Object.keys(params).length>0){
+ params = Object.assign(params, route.meta.params);
+ }
+ this.$router.push({
+ name: row.stepReadRouterId,
+ params: params
+ })
+ }
+ },
+ flowChart(row) {
+ // console.log(row, 'flowChart row')
+ // this.dialogVisible = true
+ // this.$nextTick(()=>{
+ // this.$refs.processTimeline.init(row)
+ // })
+ this.$emit('alreadyTask',row)
+ },
+ getFlowTrack(row){
+ console.log(row,'getFlowTrack row')
+ if(row){
+ let params={
+ flowCode:row.flowCode,
+ bizId:row.bizId
+ }
+ console.log(params,'getFlowTrack params')
+ this.$refs.processTrajectory.$refs.dialog.init(params)
+ }
+ },
+ indexFormat(index) {
+ // let page = this.page
+ // let limit = this.pageSize
+ // let indexs = limit * (page - 1) + index + 1
+ 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