From cdf29a8f6fb9990f82ccc1d3f47bfba48cfaf4fc Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期三, 10 一月 2024 17:24:53 +0800 Subject: [PATCH] 修改 --- web/src/views/modules/sys/task/already-task.vue | 451 +++++++++++++++++++++++++++++++++---------------------- 1 files changed, 269 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..afdd1e0 100644 --- a/web/src/views/modules/sys/task/already-task.vue +++ b/web/src/views/modules/sys/task/already-task.vue @@ -1,203 +1,290 @@ <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="60" 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="椤圭洰鍚嶇О" /> + <!-- <el-table-column align="left" prop="title" label="娴佺▼鍚嶇О" width="200"/>--> + <el-table-column align="left" prop="remark" label="鎽樿" width="250"/> + <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="120px"/> + <el-table-column align="center" prop="stepName" label="褰撳墠鐘舵��" width="100px"/> + <el-table-column align="center" prop="receiveName" label="鍔炵悊浜�" width="100px"/> + <!-- <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> + <BaselineRelease ref="baselineRelease" @refreshDataList="getQuery()"></BaselineRelease> + <QaAuditReport ref="qaAuditReport" @refreshDataList="getQuery()"></QaAuditReport> + <!-- </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"; + import BaselineRelease from "@/views/modules/baselineRelease/BaselineRelease-AddOrUpdate.vue"; + import QaAuditReport from '@/views/modules/qaAuditReport/QaAuditReport-AddOrUpdate' + + 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, + BaselineRelease, + QaAuditReport + }, + 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.flowCode === 'jxfb') { + this.$nextTick(()=>{ + this.$refs.baselineRelease.$refs.dialog.init(row.bizId,row, true) + }) + }else if (row.flowCode === 'qashbg') { + this.$nextTick(()=>{ + this.$refs.qaAuditReport.$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