From 3c6bdb6f439ff7af04765259fd6a91b6d201d095 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 19 六月 2025 17:12:25 +0800
Subject: [PATCH] 工单,数据中心用户查看数据的权限,合同考核每日,以及导出每日和按月
---
src/api/platform/calculate-report.js | 4 +-
src/api/platform/work-order.js | 13 +++++-
src/views/system/contract/report/index.vue | 19 +++++----
src/views/system/work-order/index.vue | 54 ++++++++++++++++++++------
4 files changed, 64 insertions(+), 26 deletions(-)
diff --git a/src/api/platform/calculate-report.js b/src/api/platform/calculate-report.js
index ad1650f..b3363ea 100644
--- a/src/api/platform/calculate-report.js
+++ b/src/api/platform/calculate-report.js
@@ -18,9 +18,9 @@
}
// 閫氳繃id鑾峰彇鏍哥畻鎶ュ憡
-export const getCalculateReportById = (contractId,whichYear) => {
+export const getCalculateReportById = (contractId,whichYear,whichMoth) => {
return axios({
- url: "/calculate-report/" + contractId+"/"+whichYear,
+ url: "/calculate-report/" + contractId+"/"+whichYear+"/"+whichMoth,
method: "GET"
})
}
diff --git a/src/api/platform/work-order.js b/src/api/platform/work-order.js
index b857855..37f5e9a 100644
--- a/src/api/platform/work-order.js
+++ b/src/api/platform/work-order.js
@@ -97,6 +97,17 @@
})
}
+export function ywConditionList(data){
+ return request({
+ url: '/work-order/yw-condition-list',
+ method: 'put',
+ data: data
+ })
+}
+
+
+
+
// 鑾峰彇宸ュ崟杩愮淮鎯呭喌
export function getYwCondition(data) {
return request({
@@ -163,6 +174,4 @@
method: 'get',
})
}
-
-
diff --git a/src/views/system/contract/report/index.vue b/src/views/system/contract/report/index.vue
index 3f081b4..eea5e8e 100644
--- a/src/views/system/contract/report/index.vue
+++ b/src/views/system/contract/report/index.vue
@@ -25,17 +25,17 @@
>
<el-card class="box-card" >
<div slot="header" class="clearfix">
- <span>{{ item.unitName +item.whichYear+"骞存牳绠楁姤鍛�" }}</span>
+ <span>{{ item.unitName +item.whichYear+"骞�"+item.whichMonth+"鏈堟牳绠楁姤鍛�" }}</span>
<el-button style="float: right; padding: 3px 0" type="text" @click="handleDetail(item)">鏍哥畻</el-button>
</div>
<div class="text item">鍚堝悓<span class="time">{{ item.contractName }}</span></div>
<div class="text item">鏈�杩戞墸鍑忛噾棰�<span class="time">{{ item.latestDeductMoney ? item.latestDeductMoney:0 }}</span></div>
<div class="text item">绱鎵e噺閲戦<span class="time">{{ item.deductMoney ? item.deductMoney:0}}</span></div>
<div class="text item">鏈�杩戞牳绠楁湀浠�
- <span v-if="item.latestMonth" class="time">{{ item.whichYear }}骞磠{ item.latestMonth }}鏈�</span>
+ <span v-if="item.latestMonth" class="time">{{ item.whichYear }}骞磠{ item.latestMonth }}鏈坽{item.latestDay}}鏃�</span>
<span v-else class="time">鏆傛棤</span>
</div>
- <el-button size="small" type="primary" round style="float: right;margin-left: 18px;" @click="handleExport(item.whichYear,null,item.contractId,item.contractName)" v-hasPermi="['system:calculate:report:export']">瀵煎嚭</el-button>
+ <el-button size="small" type="primary" round style="float: right;margin-left: 18px;" @click="handleExport(item.whichYear,item.whichMonth,null,item.contractId,item.contractName)" v-hasPermi="['system:calculate:report:export']">瀵煎嚭</el-button>
<el-button size="small" round style="float: right;margin-bottom: 18px;" @click="handlePublish(item)" v-hasPermi="['system:calculate:report:status']">纭鍙戝竷</el-button>
</el-card>
</el-col>
@@ -89,7 +89,7 @@
label="鏍哥畻鏈堜唤"
width="180">
<template slot-scope="scope">
- <span> {{ scope.row.whichYear +'骞�'+ scope.row.whichMonth+ '鏈�'}}</span>
+ <span> {{ scope.row.whichYear +'骞�'+ scope.row.whichMonth+ '鏈�' + scope.row.whichDay+ '鏃�'}}</span>
</template>
</el-table-column>
<el-table-column
@@ -141,7 +141,7 @@
<el-button
size="small"
type="text"
- @click="handleExport(scope.row.whichYear,scope.row.whichMonth,detail.contractId,detail.contractName)"
+ @click="handleExport(scope.row.whichYear,scope.row.whichMonth,scope.row.whichDay,detail.contractId,detail.contractName)"
>
瀵煎嚭
</el-button>
@@ -287,7 +287,7 @@
// })
},
handleDetail(row) {
- getCalculateReportById(row.contractId,row.whichYear).then(res => {
+ getCalculateReportById(row.contractId,row.whichYear,row.whichMonth).then(res => {
this.detail = res.data
this.detailTitle = row.unitName + '鑰冩牳缁撴灉'
this.detailOpen = true
@@ -343,10 +343,11 @@
},
/** 瀵煎嚭鎸夐挳鎿嶄綔 */
- handleExport(whichYear,whichMonth,contractId,contractName) {
- const name = contractName+whichYear+'骞�'+(whichMonth==null? '': whichMonth+'鏈�')+'杩愮淮鏍哥畻.xlsx'
+ handleExport(whichYear,whichMonth,whichDay,contractId,contractName) {
+
+ const name = contractName+whichYear+'骞�'+(whichMonth==null? '': whichMonth+'鏈�')+(whichDay==null? '': whichDay+'鏃�')+'杩愮淮鏍哥畻.xlsx'
this.download('calculate-report/export', {
- ...{ 'whichYear': whichYear,'whichMonth': whichMonth, 'contractId': contractId},
+ ...{ 'whichYear': whichYear,'whichMonth': whichMonth,'whichDay':whichDay, 'contractId': contractId},
}, `${name}`)
},
/** 鍚堣琛� */
diff --git a/src/views/system/work-order/index.vue b/src/views/system/work-order/index.vue
index c5be7b7..5c3514e 100644
--- a/src/views/system/work-order/index.vue
+++ b/src/views/system/work-order/index.vue
@@ -6,7 +6,7 @@
<el-menu-item index="0" @click="changeUnit(null, '鍏ㄩ儴')">
鍏ㄩ儴鍗曚綅锛坽{ totalWorkOrders }}锛�
</el-menu-item>
- <el-menu-item :index="index + 1" v-for="(item, index) in unitList" :key="index" @click="changeUnit(item.id, item.value)">
+ <el-menu-item :index="index + 1 +''" v-for="(item, index) in unitList" :key="index" @click="changeUnit(item.id, item.value)">
{{ item.unitName }}锛坽{ item.workOrderCount }}锛�
</el-menu-item>
</el-menu>
@@ -99,6 +99,7 @@
v-hasPermi="['work:order:delete']"
>鍒犻櫎
</el-button>
+ <el-button size="mini" plain type="info" @click="selectedDistribute" class="op">鎵归噺涓婃姤</el-button>
</el-col>
</el-row>
@@ -113,7 +114,7 @@
<el-row style="display: flex;">
<el-checkbox v-if="$store.state.user.roles.includes('admin')"
v-model="isItemSelected[item.workOrderNo]"
- @change="toggleSelection(item.workOrderNo)"
+ @change="toggleSelection(item)"
style="margin-right: 10px; "></el-checkbox>
<el-tooltip
effect="dark"
@@ -348,10 +349,10 @@
<el-dialog title="杩愮淮鎯呭喌璁板綍" :visible.sync="ywConditionOpen" width="500px" append-to-body>
<el-form ref="ywConditionForm" :model="form" :rules="ywConditionRules" label-width="80px">
- <el-form-item label="宸ュ崟鍙�" prop="workOrderNo">
+ <el-form-item label="宸ュ崟鍙�" prop="workOrderNo" v-if="!isConditionList">
<el-input v-model="ywConditionForm.workOrderNo" disabled/>
</el-form-item>
- <el-form-item label="杩愮淮鍗曚綅" prop="unitName">
+ <el-form-item label="杩愮淮鍗曚綅" prop="unitName" v-if="!isConditionList">
<el-input v-model="ywConditionForm.unitName" disabled/>
</el-form-item>
<el-form-item label="鐜板満鎯呭喌" prop="ywCondition">
@@ -561,6 +562,7 @@
</style>
<script>
import {
+ ywConditionList,
listWorkOrder,
getWorkOrder,
delWorkOrder,
@@ -585,6 +587,7 @@
components: {WorkOrderAuditing},
data() {
return {
+ isConditionList:false,
isSelectAll: false, // 鍏ㄩ�夋寜閽�
activeIndex: '0',
drawer: false,
@@ -721,7 +724,8 @@
ywData: {
content: '',
fileList: 'process.env.VUE_APP_BASE_API'
- }
+ },
+
}
},
created() {
@@ -733,6 +737,17 @@
this.getList()
},
methods: {
+ selectedDistribute(){
+ this.form = {}
+ if (this.workOrderNumbers.length < 1) {
+ this.$message.warning("璇峰厛閫夋嫨瑕佷笅鍙戠殑宸ュ崟")
+ return
+ }
+ this.form.workOrderNumbers = this.workOrderNumbers;
+ this.ywConditionOpen = true
+ this.isConditionList = true
+ },
+
//鍏ㄩ�夋寜閽�
toggleSelectAll() {
this.isSelectAll = !this.isSelectAll;
@@ -833,6 +848,7 @@
this.form = {}
this.ywConditionForm = row
this.ywConditionOpen = true
+ this.isConditionList = false
this.form.id = row.id
},
// 杩愮淮缁撴灉鎸夐挳
@@ -905,17 +921,27 @@
submitYwCondition() {
this.$refs['ywConditionForm'].validate(valid => {
if (valid) {
- ywCondition(this.form).then(res => {
- this.ywConditionOpen = false
- this.$modal.msgSuccess('鎿嶄綔鎴愬姛')
- this.getList()
- })
+ if(this.isConditionList){
+ ywConditionList(this.form).then(res => {
+ this.ywConditionOpen = false
+ this.$modal.msgSuccess('鎿嶄綔鎴愬姛')
+ this.getList()
+ })
+ }else {
+ ywCondition(this.form).then(res => {
+ this.ywConditionOpen = false
+ this.$modal.msgSuccess('鎿嶄綔鎴愬姛')
+ this.getList()
+ })
+ }
+
}
})
},
cancelYwCondition() {
this.ywConditionForm = {}
this.ywConditionOpen = false
+ this.isConditionList = false
},
// 鎻愪氦杩愮淮缁撴灉
submitYwResult() {
@@ -1027,12 +1053,14 @@
this.multiple = !selection.length
},
// 澶氶�夋閫変腑鏁版嵁
- toggleSelection(workOrderNo) {
- const index = this.workOrderNumbers.indexOf(workOrderNo);
+ toggleSelection(item) {
+ console.log(item.workOrderNo)
+ console.log(this.workOrderNumbers)
+ const index = this.workOrderNumbers.indexOf(item.workOrderNo);
if (index > -1) {
this.workOrderNumbers.splice(index, 1); // 绉婚櫎閫変腑椤�
} else {
- this.workOrderNumbers.push(workOrderNo); // 娣诲姞閫変腑椤�
+ this.workOrderNumbers.push(item.workOrderNo); // 娣诲姞閫変腑椤�
}
},
/** 鏂板鎸夐挳鎿嶄綔 */
--
Gitblit v1.8.0