From 71521b48a25f9288b5187b78884feef5d559b2ff Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期四, 06 三月 2025 11:04:24 +0800
Subject: [PATCH] 修改
---
src/views/specialOperationsPay/notCoalCalculate/index.vue | 67 +++++++++++++++++-----
src/views/specialOperationsPay/coalCalculate/index.vue | 64 ++++++++++++++++----
src/views/specialOperationsPay/singlePage/index.vue | 21 ++++++
src/views/commonMod/examApply/index.vue | 1
4 files changed, 121 insertions(+), 32 deletions(-)
diff --git a/src/views/commonMod/examApply/index.vue b/src/views/commonMod/examApply/index.vue
index 846e025..e129276 100644
--- a/src/views/commonMod/examApply/index.vue
+++ b/src/views/commonMod/examApply/index.vue
@@ -181,7 +181,6 @@
},
created() {
this.roles = store.getters && store.getters.roles
- console.log(this.roles,'role')
// if (roles.includes('mk')) {
// this.form.isCm = 1
// }
diff --git a/src/views/specialOperationsPay/coalCalculate/index.vue b/src/views/specialOperationsPay/coalCalculate/index.vue
index 19fa9bb..f7356a7 100644
--- a/src/views/specialOperationsPay/coalCalculate/index.vue
+++ b/src/views/specialOperationsPay/coalCalculate/index.vue
@@ -4,11 +4,11 @@
<el-date-picker
v-model="queryParams.year"
type="year"
- style="width: 300px"
+ style="width: 200px"
value-format="yyyy"
placeholder="选择年">
</el-date-picker>
- <el-select v-model="queryParams.quarter" placeholder="请选择季度" style="width: 300px;margin-left: 5px" clearable>
+ <el-select v-model="queryParams.quarter" placeholder="请选择季度" style="width: 200px;margin-left: 5px" clearable>
<el-option
v-for="item in quarterList"
:key="item.id"
@@ -16,7 +16,7 @@
:value="item.id">
</el-option>
</el-select>
- <el-cascader v-model="queryParams.deptId" :show-all-levels="false" style="margin-left: 10px" filterable :options="deptOptions"
+ <el-cascader v-model="queryParams.deptId" :disabled="isExam" :show-all-levels="false" style="margin-left: 10px" filterable :options="deptOptions"
placeholder="组织架构"
:props="{ emitPath: false,value:'deptId',label: 'deptName' }"></el-cascader>
<el-button
@@ -40,7 +40,7 @@
<!-- </el-select>-->
</div>
- <el-table v-loading="loading" :data="dataList" style="margin-top: 20px" :row-class-name="tableAddClass">
+ <el-table v-loading="loading" :data="dataList" style="margin-top: 20px" :row-class-name="tableAddClass" show-summary :summary-method="getSummaries">
<el-table-column label="工种类别" align="center" prop="subjectName"></el-table-column>
<el-table-column label="缴费人次" align="center" prop="num" :show-overflow-tooltip="true"/>
<el-table-column label="缴费标准" align="center" prop="amount">
@@ -53,13 +53,13 @@
<el-table-column label="自治区级" align="center" prop="autonomy"/>
<!-- <el-table-column label="地(州、市级)" align="center" prop="describe" />-->
</el-table>
- <pagination
- v-show="total>0"
- :total="total"
- :page.sync="queryParams.pageNum"
- :limit.sync="queryParams.pageSize"
- @pagination="getList"
- />
+<!-- <pagination-->
+<!-- v-show="total>0"-->
+<!-- :total="total"-->
+<!-- :page.sync="queryParams.pageNum"-->
+<!-- :limit.sync="queryParams.pageSize"-->
+<!-- @pagination="getList"-->
+<!-- />-->
</div>
</template>
@@ -69,6 +69,7 @@
} from '@/api/specialOperationsPay/coalPay'
import Cookies from 'js-cookie'
import {listDept} from "@/api/system/dept";
+import store from "@/store";
export default {
name: "coalCalculate",
@@ -84,7 +85,7 @@
deptOptions: [],
queryParams: {
pageNum: 1,
- pageSize: 10,
+ pageSize: 999,
year: '',
quarter: null,
deptId: null
@@ -107,12 +108,20 @@
id: 4,
label: '第四季度'
}
- ]
+ ],
+ roles: [],
+ isExam: false
};
},
created() {
- this.getList()
this.getDeptTree()
+ this.roles = store.getters && store.getters.roles
+ if (this.roles.includes('feimeiexam') || this.roles.includes('mkexam')) {
+ const userInfo = store.getters && store.getters.userInfo
+ this.queryParams.deptId = userInfo.deptId
+ this.isExam = true
+ }
+ this.getList()
},
methods: {
getList() {
@@ -142,6 +151,33 @@
}
return "";
},
+ getSummaries(param) {
+ const { columns, data } = param
+ const sums = [];
+ columns.forEach((column, index) => {
+ if (index === 0) {
+ sums[index] = '合计';
+ return
+ }
+ const values = data.map(item => Number(item[column.property]))
+ if (!values.every(value => isNaN(value))) {
+ sums[index] = values.reduce((prev, curr) => {
+ const value = Number(curr);
+ if (!isNaN(value)) {
+ return prev + curr;
+ } else {
+ return prev;
+ }
+ }, 0)
+ if(index == 2){
+ sums[index] += '元/人次';
+ }
+ } else {
+ sums[index] = '--';
+ }
+ })
+ return sums;
+ },
handleQuery() {
this.getList();
diff --git a/src/views/specialOperationsPay/notCoalCalculate/index.vue b/src/views/specialOperationsPay/notCoalCalculate/index.vue
index b3a1a5d..fdd90da 100644
--- a/src/views/specialOperationsPay/notCoalCalculate/index.vue
+++ b/src/views/specialOperationsPay/notCoalCalculate/index.vue
@@ -4,11 +4,11 @@
<el-date-picker
v-model="queryParams.year"
type="year"
- style="width: 300px"
+ style="width: 200px"
value-format="yyyy"
placeholder="选择年">
</el-date-picker>
- <el-select v-model="queryParams.quarter" placeholder="请选择季度" style="width: 300px;margin-left: 5px" clearable>
+ <el-select v-model="queryParams.quarter" placeholder="请选择季度" style="width: 200px;margin-left: 5px" clearable>
<el-option
v-for="item in quarterList"
:key="item.id"
@@ -16,7 +16,7 @@
:value="item.id">
</el-option>
</el-select>
- <el-select v-model="queryParams.districtCode" placeholder="所辖行政区划" @change="changeDeptList" style="width: 300px;margin-left: 5px">
+ <el-select v-model="queryParams.districtCode" :disabled="isExam" placeholder="所辖行政区划" @change="changeDeptList" style="width: 200px;margin-left: 5px">
<el-option
v-for="item in areaList"
:key="item.id"
@@ -24,7 +24,7 @@
:value="item.code">
</el-option>
</el-select>
- <el-cascader v-model="queryParams.deptId" style="margin-left: 10px" :show-all-levels="false" filterable :options="deptList" placeholder="组织架构"
+ <el-cascader v-model="queryParams.deptId" :disabled="isExam" style="margin-left: 10px" :show-all-levels="false" filterable :options="deptList" placeholder="组织架构"
:props="{ emitPath: false,value:'deptId',label: 'deptName' }"></el-cascader>
<el-button
type="primary"
@@ -39,7 +39,7 @@
</el-button>
</div>
- <el-table v-loading="loading" :data="dataList" style="margin-top: 20px" :row-class-name="tableAddClass">
+ <el-table v-loading="loading" :data="dataList" style="margin-top: 20px" :row-class-name="tableAddClass" show-summary :summary-method="getSummaries">
<el-table-column label="工种类别" align="center" prop="subjectName"></el-table-column>
<el-table-column label="缴费人次" align="center" prop="num" :show-overflow-tooltip="true"/>
<el-table-column label="缴费标准" align="center" prop="amount">
@@ -52,13 +52,13 @@
<el-table-column label="自治区级" align="center" prop="autonomy"/>
<el-table-column label="地(州、市级)" align="center" prop="prefecuture"/>
</el-table>
- <pagination
- v-show="total>0"
- :total="total"
- :page.sync="queryParams.pageNum"
- :limit.sync="queryParams.pageSize"
- @pagination="getList"
- />
+<!-- <pagination-->
+<!-- v-show="total>0"-->
+<!-- :total="total"-->
+<!-- :page.sync="queryParams.pageNum"-->
+<!-- :limit.sync="queryParams.pageSize"-->
+<!-- @pagination="getList"-->
+<!-- />-->
</div>
</template>
@@ -70,6 +70,7 @@
import {getAreaList} from "@/api/coalMine/placeManage/train";
import {deptTreeSelect} from "@/api/system/user";
import {listDept} from "@/api/system/dept";
+import store from "@/store";
export default {
name: "notCoalCalculate",
@@ -87,7 +88,7 @@
deptList: [],
queryParams: {
pageNum: 1,
- pageSize: 10,
+ pageSize: 999,
year: '',
quarter: null,
districtCode: '',
@@ -111,13 +112,22 @@
id: 4,
label: '第四季度'
}
- ]
+ ],
+ roles: [],
+ isExam: false
};
},
created() {
- this.getList()
this.getArea()
this.getDeptTree()
+ this.roles = store.getters && store.getters.roles
+ if (this.roles.includes('feimeiexam') || this.roles.includes('mkexam')) {
+ const userInfo = store.getters && store.getters.userInfo
+ this.queryParams.districtCode = userInfo.district.districtCode
+ this.queryParams.deptId = userInfo.deptId
+ this.isExam = true
+ }
+ this.getList()
},
methods: {
getList() {
@@ -190,6 +200,33 @@
}
}
return null
+ },
+ getSummaries(param) {
+ const { columns, data } = param
+ const sums = [];
+ columns.forEach((column, index) => {
+ if (index === 0) {
+ sums[index] = '合计';
+ return
+ }
+ const values = data.map(item => Number(item[column.property]))
+ if (!values.every(value => isNaN(value))) {
+ sums[index] = values.reduce((prev, curr) => {
+ const value = Number(curr);
+ if (!isNaN(value)) {
+ return prev + curr;
+ } else {
+ return prev;
+ }
+ }, 0)
+ if(index == 2){
+ sums[index] += '元/人次';
+ }
+ } else {
+ sums[index] = '--';
+ }
+ })
+ return sums;
}
}
};
diff --git a/src/views/specialOperationsPay/singlePage/index.vue b/src/views/specialOperationsPay/singlePage/index.vue
index 010e7df..ad8256c 100644
--- a/src/views/specialOperationsPay/singlePage/index.vue
+++ b/src/views/specialOperationsPay/singlePage/index.vue
@@ -51,6 +51,7 @@
<div>批次名称:<span class="cardCont">{{item.batchName }}</span></div>
<div>所属地区:<span class="cardCont">{{item.districtName }}</span></div>
<div>填报时间:<span class="cardCont">{{item.createTime}}</span></div>
+ <div v-if="item.payCode">财政缴款码:<span class="cardCont">{{item.payCode}}</span><el-button type="text" style="padding: 0;margin-left: 10px" @click="copyCode(item.payCode)">复制</el-button></div>
<div>状态状态:
<el-tag v-if="item.payStatus == 0" type="danger" size="small">待缴费</el-tag>
<el-tag v-if="item.payStatus == 1" type="success" size="small">已缴费</el-tag>
@@ -70,9 +71,10 @@
</div>
<div v-else class="feeList">
<div v-for="(item,index) in info.list" class="infoCard" :key="index">
- <div>批次名称:<span class="cardCont" v-if="item.coalPays">{{item.coalPays.batchName }}</span></div>
+ <div>批次名称:<span class="cardCont" v-if="item.coalPays">{{item.coalPays.batchName}}</span></div>
<!-- <div>所属地区:<span class="cardCont">{{item.districtName }}</span></div>-->
<div>填报时间:<span class="cardCont" v-if="item.coalPays">{{item.coalPays.createTime}}</span></div>
+ <div v-if="item.payCode">财政缴款码:<span class="cardCont">{{item.payCode}}</span><el-button type="text" style="padding: 0;margin-left: 10px" @click="copyCode(item.payCode)">复制</el-button></div>
<div>状态状态:
<el-tag v-if="item.payStatus == 0" type="danger" size="small">待缴费</el-tag>
<el-tag v-if="item.payStatus == 1" type="success" size="small">已缴费</el-tag>
@@ -271,7 +273,22 @@
}
}
})
-
+ },
+ copyCode(code){
+ navigator.clipboard
+ .writeText(code)
+ .then(() => {
+ this.$message({
+ type:'success',
+ message: '缴款码已复制到剪贴板'
+ })
+ })
+ .catch((error) => {
+ this.$message({
+ type:'warning',
+ message: '缴款码复制失败'
+ })
+ });
},
goPay(item){
this.detailInfo = item
--
Gitblit v1.9.2