aXin-0810 9 miesięcy temu
rodzic
commit
9c4efc4456

+ 34 - 0
src/api/dailySettlement/bankBalanceQuery.js

@@ -0,0 +1,34 @@
+import request from '@/utils/request'
+
+// 获取列表
+export function getList(params) {
+  return request({
+    url: '/daily/bank/company/account/list',
+    method: 'get',
+    params
+  })
+}
+// 查询余额发送验证码
+export function getCode(params) {
+  return request({
+    url: '/daily/bank/send/msg',
+    method: 'get',
+    params
+  })
+}
+// 查询公司卡余额
+export function getAcount(params) {
+  return request({
+    url: '/daily/bank/company/account/balance',
+    method: 'get',
+    params
+  })
+}
+// 获取结算发放/查询手机号列表
+export function getbyCode(params) {
+  return request({
+    url: '/daily/withhold/config/getbyCode',
+    method: 'get',
+    params
+  })
+}

+ 57 - 0
src/api/dailySettlement/financialSummaryDay.js

@@ -0,0 +1,57 @@
+import request from '@/utils/request'
+
+// 获取列表
+export function getList(params) {
+  return request({
+    url: '/daily/summary/cw/list',
+    method: 'get',
+    params
+  })
+}
+// 发放
+export function getSalaryIssue(params) {
+  return request({
+    url: '/daily/summary/salary/issue',
+    method: 'post',
+    params
+  })
+}
+// 结算网点汇总-日结
+export function getsummaryList(params) {
+  return request({
+    url: '/daily/summary/summary/list',
+    method: 'get',
+    params
+  })
+}
+// 师傅汇总列表-日结
+export function getsummaryListDay(params) {
+  return request({
+    url: '/daily/summary/worker/summary/list',
+    method: 'post',
+    params
+  })
+}
+// 师傅汇总-详情列表
+export function getsummaryDetailList(params) {
+  return request({
+    url: '/daily/summary/worker/detail/list',
+    method: 'get',
+    params
+  })
+}
+// 日结工资-驳回
+export function getsummarySalaryReject(params) {
+  return request({
+    url: '/daily/summary/salary/reject',
+    method: 'post',
+    params
+  })
+}
+// 查询转账结果
+export function getBankExcute() {
+  return request({
+    url: '/daily/bank/excute',
+    method: 'get'
+  })
+}

+ 73 - 0
src/api/dailySettlement/financialSummaryMonth.js

@@ -0,0 +1,73 @@
+import request from '@/utils/request'
+
+// 月度汇总-列表
+export function getList(params) {
+  return request({
+    url: '/daily/summary/month/list',
+    method: 'get',
+    params
+  })
+}
+// 月度汇总
+export function getMonthDo() {
+  return request({
+    url: '/daily/summary/month/do',
+    method: 'post'
+  })
+}
+// 月度汇总网点-列表
+export function getWebsiteList(params) {
+  return request({
+    url: '/daily/summary/month/website/list',
+    method: 'get',
+    params
+  })
+}
+// 师傅汇总-月结
+export function getWorkerList(params) {
+  return request({
+    url: '/daily/summary/worker/month/list',
+    method: 'get',
+    params
+  })
+}
+// 月度结算师傅详情-列表
+export function getMonthDetailList(params) {
+  return request({
+    url: '/daily/summary/month/detail/list',
+    method: 'get',
+    params
+  })
+}
+// 月度计算费用
+export function getMonthSalaryCalculate(params) {
+  return request({
+    url: '/daily/summary/month/salary/calculate',
+    method: 'post',
+    params
+  })
+}
+// 月度师傅汇总-导出
+export function getMonthExport(params) {
+  return request({
+    url: '/daily/summary/month/salary/export',
+    method: 'get',
+    params
+  })
+}
+// 月度工资-发放
+export function getMonthIssue(params) {
+  return request({
+    url: '/daily/summary/month/salary/issue',
+    method: 'post',
+    params
+  })
+}
+// 重新汇总
+export function getMonthRedo(params) {
+  return request({
+    url: '/daily/summary/month/reDo',
+    method: 'post',
+    params
+  })
+}

+ 186 - 0
src/views/engineerFeeSettlement/dailyMaintenanceBalance/components/componentDetailList.vue

@@ -0,0 +1,186 @@
+<template>
+  <div>
+    <el-page-header @back="goBack" content="详情"></el-page-header>
+    <br><br>
+    <!-- 按钮 -->
+    <div class="btn-group clearfix">
+      <div class="fr">
+        <el-button type="primary" size="mini" @click="exportFn">导出</el-button>
+      </div>
+    </div>
+    <!-- 列表 -->
+    <div class="mymain-container">
+      <div class="table">
+        <el-table v-loading="listLoading" :data="dataList" element-loading-text="Loading" border fit highlight-current-row stripe>
+
+          <el-table-column align="left" label="派工序号" prop="dispatchOrderNo" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="自编号码" prop="selfNo" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="状态" prop="issueStatus" min-width="100" show-overflow-tooltip>
+            <template slot-scope="scope">
+              <el-tag size="mini" v-show="scope.row.issueStatus == 1" type="success">待发放</el-tag>
+              <el-tag size="mini" v-show="scope.row.issueStatus == 2" type="danger">已发放</el-tag>
+              <el-tag size="mini" v-show="scope.row.issueStatus == 3" type="">银行受理中</el-tag>
+            </template>
+          </el-table-column>
+          <el-table-column align="left" label="发放月份" prop="month" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="发放时间" prop="issueTime" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="银行卡账号" prop="bankAccount" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="户名" prop="bankAccountName" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="开户行" prop="depositBank" min-width="160" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="工单状态" prop="orderStatus" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="新结算单位号" prop="summaryNumber" min-width="120" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="旧结算单位号" prop="oldSummaryNumber" min-width="120" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="结算单位名" prop="summaryName" min-width="260" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="维修类型" prop="repairType" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="内外机" prop="inOutMachine" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="机器条码" prop="machineCode" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="外机型" prop="outMachineType" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="外机型描述" prop="outMachineDescribe" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="内机条码" prop="inMachineCode" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="内机型" prop="inMachineType" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="内机型描述" prop="inMachineDescribe" min-width="300" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="用户姓名" prop="userName" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="区号" prop="areaCode" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="移动电话" prop="mobile" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="电话号码" prop="tel" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="省份" prop="province" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="市县" prop="city" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="区县" prop="county" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="用户地址" prop="userAddr" min-width="400" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="GPS定位" prop="gpsAddr" min-width="500" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="邮政编码" prop="postalCode" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="销售单位号" prop="saleDeptNo" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="销售单位" prop="saleDeptName" min-width="280" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="发票编号" prop="invoiceCode" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="购买日期" prop="buyDate" min-width="180" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="安装日期" prop="installDate" min-width="180" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="报修日期" prop="reportDate" min-width="180" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="修复日期" prop="repairDate" min-width="180" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="维修工ID" prop="repairWorkerId" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="维修工姓名" prop="repairWorkerName" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="维修工电话" prop="repairWorkerMobile" min-width="140" show-overflow-tooltip></el-table-column>
+          <el-table-column align="right" label="维修费用" prop="repairFee" min-width="100" show-overflow-tooltip>
+            <template slot-scope="scope">
+              {{ scope.row.repairFee | numToFixed }}
+            </template>
+          </el-table-column>
+          <el-table-column align="right" label="交通费" prop="trafficFee" min-width="100" show-overflow-tooltip>
+            <template slot-scope="scope">
+              {{ scope.row.trafficFee | numToFixed }}
+            </template>
+          </el-table-column>
+          <el-table-column align="right" label="住宿费用" prop="accommodationFee" min-width="100" show-overflow-tooltip>
+            <template slot-scope="scope">
+              {{ scope.row.accommodationFee | numToFixed }}
+            </template>
+          </el-table-column>
+          <el-table-column align="right" label="吊装费用" prop="liftingFee" min-width="100" show-overflow-tooltip>
+            <template slot-scope="scope">
+              {{ scope.row.liftingFee | numToFixed }}
+            </template>
+          </el-table-column>
+          <el-table-column align="right" label="其他费用" prop="otherFee" min-width="100" show-overflow-tooltip>
+            <template slot-scope="scope">
+              {{ scope.row.otherFee | numToFixed }}
+            </template>
+          </el-table-column>
+          <el-table-column align="right" label="总费用" prop="totalFee" min-width="100" show-overflow-tooltip>
+            <template slot-scope="scope">
+              {{ scope.row.totalFee | numToFixed }}
+            </template>
+          </el-table-column>
+          <el-table-column align="left" label="结算单批号" prop="settlementBatchNo" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="安装网点号" prop="installWebsitNo" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="安装网点名" prop="installWebsitName" min-width="300" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="新维修单位号" prop="repairUnit" min-width="120" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="旧维修单位号" prop="oldRepairUnit" min-width="120" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="维修单位名" prop="repairName" min-width="300" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="故障现象" prop="faultPhenomenon" min-width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="故障分析" prop="faultAnalysis" min-width="200" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="维修内容" prop="repairDetail" min-width="400" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="备注" prop="remark" min-width="200" show-overflow-tooltip></el-table-column>
+          <el-table-column align="left" label="转结算时间" prop="settlementTime" min-width="160" show-overflow-tooltip></el-table-column>
+        </el-table>
+      </div>
+      <!-- 分页 -->
+      <div class="fr">
+        <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" :page-sizes="[10, 20, 30, 50]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="listTotal">
+        </el-pagination>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getsummaryDetailList } from "@/api/dailySettlement/financialSummaryDay";
+import { number } from "echarts";
+export default {
+  props: {
+    detailList: {
+      type: Array,
+      required: true,
+    },
+    detailTotal: {
+      type: Number,
+      required: true,
+    },
+  },
+  data() {
+    return {
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: [], // 列表数据
+      listLoading: false, // 列表加载loading
+    };
+  },
+  created() {
+    // console.log(this.detailList, 7777);
+    this.dataList = this.detailList;
+    this.listTotal = this.detailTotal;
+  },
+  methods: {
+    //导出
+    exportFn() {
+      this.$emit("exportDetailFn", {
+        pageSize: this.pageSize,
+        pageNo: this.currentPage,
+      });
+    },
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+
+      this.$emit("detailFn", {
+        pageSize: this.pageSize,
+        pageNo: this.currentPage,
+      });
+    },
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.$emit("detailFn", {
+        pageSize: this.pageSize,
+        pageNo: this.currentPage,
+      });
+    },
+    // //获取列表数据
+    // async getDataList() {
+    //   let params = {
+    //     pageSize: this.pageSize,
+    //     pageNo: this.currentPage,
+    //     serverNumber: this.detailNumber,
+    //     summaryBatchNo: this.detailId,
+    //   };
+    //   let res = await getsummaryDetailList(params);
+    //   this.listTotal = res.data.total;
+    // },
+    goBack() {
+      this.$parent.showDetail = true;
+    },
+  },
+};
+</script>
+
+<style>
+</style>

+ 322 - 0
src/views/engineerFeeSettlement/dailyMaintenanceBalance/components/financialSummaryDayDetail.vue

@@ -0,0 +1,322 @@
+<template>
+  <div>
+    <div v-if="showDetail">
+      <el-page-header @back="goBack" content="师傅汇总"></el-page-header>
+      <br><br>
+      <!-- 筛选条件 -->
+      <div>
+        <el-form ref="searchForm" :model="searchForm" label-width="130px" size="mini" label-position="left">
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="时间:" prop="month">
+                <el-date-picker style="width:100%" v-model="searchForm.month" type="month" value-format="yyyy-MM" placeholder="选择月">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="状态:" prop="status">
+                <el-select style="width:100%" v-model="searchForm.status" placeholder="请选择">
+                  <el-option value="1" label="未发放"></el-option>
+                  <el-option value="2" label="已发放"></el-option>
+                  <el-option value="3" label="银行处理中"></el-option>
+
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="所属网点:" prop="websiteName">
+                <el-input v-model="searchForm.websiteName" placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="服务人员:" prop="serviceName">
+                <el-input v-model="searchForm.serviceName" placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="身份证号码:" prop="idCard">
+                <el-input v-model="searchForm.idCard" placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="手机号:" prop="mobile">
+                <el-input v-model="searchForm.mobile" placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="24" :lg="12">
+              <el-form-item label="" class="fr">
+                <el-button size="mini" @click="emptyFn">清空</el-button>
+                <el-button size="mini" type="primary" @click="searchFn">搜索</el-button>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+      <!-- 按钮 -->
+      <div class="btn-group clearfix">
+        <div class="fl">
+          <!-- <el-button type="text" @click="showDetailFn">查看明细(测试)</el-button> -->
+        </div>
+        <div class="fr">
+          <el-button type="primary" size="mini" @click="exportFn">导出数据</el-button>
+        </div>
+      </div>
+      <!-- 列表 -->
+      <div class="mymain-container">
+        <div class="table">
+          <el-table v-loading="listLoading" :data="dataList" element-loading-text="Loading" border fit highlight-current-row stripe>
+
+            <el-table-column align="center" label="操作" fixed width="100">
+              <template slot-scope="scope">
+                <el-button type="text" @click="showDetailFn(scope.row.id)">查看明细</el-button>
+
+              </template>
+            </el-table-column>
+            <el-table-column align="left" label="工资条编号" prop="salaryNo" min-width="180" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="发放月份" prop="month" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="状态" prop="status" min-width="100" show-overflow-tooltip>
+              <template slot-scope="scope">
+                <el-tag size="mini" v-show="scope.row.status == 1" type="">待发放</el-tag>
+                <el-tag size="mini" v-show="scope.row.status == 2" type="success">已发放</el-tag>
+                <el-tag size="mini" v-show="scope.row.status == 3" type="warning">银行受理中</el-tag>
+                <el-tag size="mini" v-show="scope.row.status == 4" type="danger">发放失败</el-tag>
+                <el-tag size="mini" v-show="scope.row.status == 5" type="warning">驳回</el-tag>
+              </template>
+            </el-table-column>
+            <el-table-column align="left" label="所属网点" prop="belongWebsite" min-width="350" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{scope.row.websitName+'('+scope.row.websitNumber+')'}}
+              </template>
+            </el-table-column>
+            <el-table-column align="left" label="服务人员" prop="serviceName" min-width="140" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="身份证" prop="idCard" min-width="200" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="手机号" prop="mobile" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="right" label="本次维修结算费用" prop="repairTotalAmount" min-width="160" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{ scope.row.repairTotalAmount | numToFixed }}
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="需扣回费用" prop="" min-width="100" show-overflow-tooltip>
+              <el-table-column align="right" label="应扣" prop="shouldReduceCost" min-width="100" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  {{ scope.row.shouldReduceCost | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column align="right" label="已扣" prop="reduceCost" min-width="100" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  {{ scope.row.reduceCost | numToFixed }}
+                </template>
+              </el-table-column>
+            </el-table-column>
+            <el-table-column align="right" label="增减费用" prop="incrDecrCost" min-width="100" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{ scope.row.incrDecrCost | numToFixed }}
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="工伤保险" prop="" min-width="100" show-overflow-tooltip>
+              <el-table-column align="right" label="应扣" prop="shouldEmpInsuranceCost" min-width="100" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  {{ scope.row.shouldEmpInsuranceCost | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column align="right" label="已扣" prop="empInsuranceCost" min-width="100" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  {{ scope.row.empInsuranceCost | numToFixed }}
+                </template>
+              </el-table-column>
+            </el-table-column>
+            <el-table-column align="center" label="残保金" prop="" min-width="100" show-overflow-tooltip>
+              <el-table-column align="right" label="应扣" prop="shouldResidualInsuranceCost" min-width="100" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  {{ scope.row.shouldResidualInsuranceCost | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column align="right" label="已扣" prop="residualInsuranceCost" min-width="100" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  {{ scope.row.residualInsuranceCost | numToFixed }}
+                </template>
+              </el-table-column>
+            </el-table-column>
+            <el-table-column align="center" label="暂扣款" prop="" min-width="100" show-overflow-tooltip>
+              <el-table-column align="right" label="应扣" prop="withholdCost" min-width="100" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  {{ scope.row.withholdCost | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column align="right" label="已扣" prop="withholdTotalCost" min-width="100" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  {{ scope.row.withholdTotalCost | numToFixed }}
+                </template>
+              </el-table-column>
+            </el-table-column>
+            <el-table-column align="right" label="应发" prop="issueCost" min-width="100" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{ scope.row.issueCost | numToFixed }}
+              </template>
+            </el-table-column>
+            <el-table-column align="left" label="备注" prop="remark" min-width="200" show-overflow-tooltip>
+            </el-table-column>
+          </el-table>
+        </div>
+        <!-- 分页 -->
+        <div class="fr">
+          <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" :page-sizes="[10, 20, 30, 50]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="listTotal">
+          </el-pagination>
+        </div>
+      </div>
+    </div>
+    <ComponentDetailList @exportDetailFn='exportDetailFn' @detailFn='detailFn' :detailList='detailList' :detailTotal='detailTotal' v-else />
+  </div>
+</template>
+
+<script>
+import {
+  getsummaryListDay,
+  getsummaryDetailList,
+} from "@/api/dailySettlement/financialSummaryDay";
+import ComponentDetailList from "./componentDetailList";
+import { downloadFiles } from "@/utils/util";
+export default {
+  props: {
+    grantNumber: {
+      type: String,
+      required: true,
+    },
+    summaryNumberDetail: {
+      type: String,
+      required: true,
+    },
+  },
+  components: {
+    ComponentDetailList,
+  },
+  data() {
+    return {
+      searchForm: {
+        idCard: "",
+        mobile: "",
+        month: "",
+        serviceName: "",
+        status: "",
+        summaryBatchNo: "",
+        summaryCommpany: "",
+        websiteName: "",
+      },
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: [], // 列表数据
+      listLoading: false, // 列表加载loading
+      showDetail: true,
+      detailList: [],
+      detailTotal: null,
+      detailId: "",
+    };
+  },
+  created() {
+    this.getDataList();
+  },
+  methods: {
+    //详情页面的导出
+    exportDetailFn(value) {
+      let params = {
+        issueSalaryId: this.detailId,
+        ...value,
+      };
+      downloadFiles("java/daily/summary/worker/detail/export", params);
+    },
+    //子传父事件
+    async detailFn(value) {
+      console.log(value);
+
+      let params = {
+        ...value,
+        issueSalaryId: this.detailId,
+      };
+      let res = await getsummaryDetailList(params);
+      this.detailList = res.data.records;
+      this.detailTotal = res.data.total;
+      this.showDetail = false;
+    },
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+
+      this.getDataList();
+    },
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getDataList();
+    },
+    //导出
+    exportFn() {
+      let params = {
+        pageSize: this.pageSize,
+        pageNo: this.currentPage,
+        idCard: this.searchForm.idCard,
+        mobile: this.searchForm.mobile,
+        month: this.searchForm.month,
+        serviceName: this.searchForm.serviceName,
+        status: this.searchForm.status,
+        summaryBatchNo: this.grantNumber,
+        summaryNumber: this.summaryNumberDetail,
+        summaryCommpany: this.searchForm.summaryCommpany,
+        websiteName: this.searchForm.websiteName,
+      };
+      downloadFiles("java/daily/summary/worker/summary/export", params);
+    },
+    //清除
+    async emptyFn() {
+      await this.$refs.searchForm.resetFields();
+    },
+    //搜索
+    searchFn() {
+      this.getDataList();
+    },
+    //获取列表数据
+    async getDataList() {
+      let params = {
+        pageSize: this.pageSize,
+        pageNo: this.currentPage,
+        idCard: this.searchForm.idCard,
+        mobile: this.searchForm.mobile,
+        month: this.searchForm.month,
+        serviceName: this.searchForm.serviceName,
+        status: this.searchForm.status,
+        summaryBatchNo: this.grantNumber,
+        summaryNumber: this.summaryNumberDetail,
+        websiteName: this.searchForm.websiteName,
+      };
+      let res = await getsummaryListDay(params);
+      this.dataList = res.data.records;
+      this.listTotal = res.data.total;
+    },
+    //师傅汇总详情
+    async showDetailFn(id) {
+      // console.log(summaryBatchNo);
+      // this.detailId = summaryBatchNo;
+      // this.detailNumber = serviceNumber;
+
+      this.detailId = id;
+      let params = {
+        pageSize: 10,
+        pageNo: 1,
+        issueSalaryId: id,
+      };
+      let res = await getsummaryDetailList(params);
+      this.detailList = res.data.records;
+      this.detailTotal = res.data.total;
+      this.showDetail = false;
+    },
+    //返回
+    goBack() {
+      this.$parent.masterDetail = false;
+      this.$emit("updateList");
+    },
+  },
+};
+</script>
+
+<style>
+</style>

+ 369 - 0
src/views/engineerFeeSettlement/dailyMaintenanceBalance/components/financialSummaryMonthDetail.vue

@@ -0,0 +1,369 @@
+<template>
+  <div>
+    <div v-if="showDetail">
+      <el-page-header @back="goBack" content="师傅汇总"></el-page-header>
+      <br><br>
+      <!-- 筛选条件 -->
+      <div>
+        <el-form ref="searchForm" :model="searchForm" label-width="130px" size="mini" label-position="left">
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="时间:" prop="month">
+                <el-date-picker style="width:100%" v-model="searchForm.month" type="month" value-format="yyyyMM" placeholder="选择月">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="状态:" prop="status">
+                <el-select style="width:100%" v-model="searchForm.status" placeholder="请选择">
+                  <el-option value="1" label="未发放"></el-option>
+                  <el-option value="2" label="已发放"></el-option>
+                  <el-option value="3" label="银行处理中"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="所属网点:" prop="websiteNumber">
+                <el-input v-model="searchForm.websiteNumber" placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="服务人员:" prop="serviceName">
+                <el-input v-model="searchForm.serviceName" placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="身份证号码:" prop="idCard">
+                <el-input v-model="searchForm.idCard" placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="手机号:" prop="mobile">
+                <el-input v-model="searchForm.mobile" placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="24" :lg="12">
+              <el-form-item label="" class="fr">
+                <el-button size="mini" @click="emptyFn">清空</el-button>
+                <el-button size="mini" type="primary" @click="searchFn">搜索</el-button>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+      <!-- 按钮 -->
+      <div class="btn-group clearfix">
+        <div class="fl">
+          <el-button size="mini" type="primary" @click="calculateMonthFn">月度计算费用</el-button>
+          <!-- <el-button size="mini" type="primary" @click="showDetailFn">查看明细(测试)</el-button> -->
+        </div>
+        <div class="fr">
+          <el-button type="primary" size="mini" @click="exportFn">导出数据</el-button>
+          <!-- <el-button type="primary" size="mini" @click="">导入数据</el-button> -->
+          <el-upload style="display:inline-block;margin-left:10px" class="import-btn" action="" :http-request="handleImport" :file-list="importFileList" :show-file-list="false">
+            <el-button type="primary" size="mini">导入</el-button>
+          </el-upload>
+        </div>
+
+      </div>
+      <span style="color:orange;line-height:30px">注:月结算费用时,先导出数据给人力资源公司计算个税、其他费用等,再导入数据,再操作月度计算费用按钮进行费用结算!</span>
+      <!-- 列表 -->
+      <div class="mymain-container">
+        <div class="table">
+          <el-table v-loading="listLoading" :data="dataList" element-loading-text="Loading" border fit highlight-current-row stripe>
+
+            <el-table-column align="center" label="操作" fixed width="100">
+              <template slot-scope="scope">
+                <el-button type="text" @click="showDetailFn(scope.row)">查看明细</el-button>
+              </template>
+            </el-table-column>
+            <el-table-column align="left" label="工资条编号" prop="salaryNo" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="汇总月份" prop="month" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="状态" prop="status" min-width="100" show-overflow-tooltip>
+              <template slot-scope="scope">
+                <el-tag size="mini" v-show="scope.row.status == 1" type="success">待发放</el-tag>
+                <el-tag size="mini" v-show="scope.row.status == 2" type="danger">已发放</el-tag>
+                <el-tag size="mini" v-show="scope.row.status == 3" type="">银行受理中</el-tag>
+              </template>
+            </el-table-column>
+            <el-table-column align="left" label="所属网点" prop="belongWebsite" min-width="350" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{scope.row.websitName+'('+scope.row.websitNumber+')'}}
+              </template>
+            </el-table-column>
+            <el-table-column align="left" label="服务人员" prop="serviceName" min-width="140" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="身份证" prop="idCard" min-width="180" show-overflow-tooltip></el-table-column>
+            <el-table-column align="left" label="手机号" prop="mobile" min-width="160" show-overflow-tooltip></el-table-column>
+            <el-table-column align="right" label="维修结算费用总额" prop="repairTotalAmount" min-width="160" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{ scope.row.repairTotalAmount | numToFixed }}
+              </template>
+            </el-table-column>
+            <el-table-column align="right" label="需扣回费用" prop="shouldReduceCost" min-width="160" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{ scope.row.shouldReduceCost | numToFixed }}
+              </template>
+            </el-table-column>
+            <el-table-column align="right" label="增减费用" prop="incrDecrCost" min-width="160" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{ scope.row.incrDecrCost | numToFixed }}
+              </template>
+            </el-table-column>
+            <el-table-column align="right" label="月度计税费用总额" prop="taxToatalCost" min-width="160" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{ scope.row.taxToatalCost | numToFixed }}
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="人力资源公司填写" prop="" min-width="100" show-overflow-tooltip>
+              <el-table-column align="right" label="工伤保险" prop="shouldEmpInsuranceCost" min-width="100" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  {{ scope.row.shouldEmpInsuranceCost | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column align="right" label="残保金" prop="shouldResidualInsuranceCost" min-width="100" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  {{ scope.row.shouldResidualInsuranceCost | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column align="right" label="服务费用" prop="serviceCost" min-width="100" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  {{ scope.row.serviceCost | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column align="right" label="个税金额" prop="incomeCost" min-width="100" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  {{ scope.row.incomeCost | numToFixed }}
+                </template>
+              </el-table-column>
+            </el-table-column>
+            <el-table-column align="right" label="应发工资总额" prop="issueCost" min-width="120" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{ scope.row.issueCost | numToFixed }}
+              </template>
+            </el-table-column>
+            <el-table-column align="right" label="日结累计已发" prop="dailySendCost" min-width="120" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{ scope.row.dailySendCost | numToFixed }}
+              </template>
+            </el-table-column>
+            <el-table-column align="right" label="月度实发工资" prop="monthSendCost" min-width="120" show-overflow-tooltip>
+              <template slot-scope="scope">
+                {{ scope.row.monthSendCost | numToFixed }}
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="每期扣费展示" prop="" min-width="120" show-overflow-tooltip>
+              <el-table-column align="right" label="工伤保险已扣" prop="empInsuranceCost" min-width="120" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  {{ scope.row.empInsuranceCost | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column align="right" label="残保金已扣" prop="residualInsuranceCost" min-width="120" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  {{ scope.row.residualInsuranceCost | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column align="right" label="暂扣费用累计" prop="withholdTotalCost" min-width="120" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  {{ scope.row.withholdTotalCost | numToFixed }}
+                </template>
+              </el-table-column>
+            </el-table-column>
+            <el-table-column align="left" label="备注" prop="remark" min-width="200" show-overflow-tooltip>
+            </el-table-column>
+
+          </el-table>
+        </div>
+        <!-- 分页 -->
+        <div class="fr">
+          <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" :page-sizes="[10, 20, 30, 50]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="listTotal">
+          </el-pagination>
+        </div>
+      </div>
+    </div>
+    <ComponentDetailList @exportDetailFn='exportDetailFn' @detailFn='detailFn' :detailList='detailList' :detailTotal='detailTotal' v-else />
+  </div>
+</template>
+
+<script>
+import {
+  getWorkerList,
+  getMonthDetailList,
+  getMonthSalaryCalculate,
+} from "@/api/dailySettlement/financialSummaryMonth";
+import { handleImport, downloadFiles } from "@/utils/util";
+import ComponentDetailList from "./componentDetailList";
+export default {
+  components: {
+    ComponentDetailList,
+  },
+  props: {
+    summaryNumber: {
+      type: String,
+      required: true,
+    },
+    masterNumber: {
+      type: String,
+      required: true,
+    },
+  },
+  data() {
+    return {
+      importFileList: [],
+      searchForm: {
+        idCard: "",
+        mobile: "",
+        month: "",
+        serviceName: "",
+        status: "",
+        summaryBatchNo: "",
+        summaryCommpany: "",
+        websiteNumber: "",
+      },
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: [], // 列表数据
+      listLoading: false, // 列表加载loading
+      showDetail: true,
+      detailList: {},
+      detailTotal: "",
+      detailData: {},
+    };
+  },
+  created() {
+    this.getDataList();
+  },
+  methods: {
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.getDataList();
+    },
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.getDataList();
+    },
+    //详情导出
+    exportDetailFn(value) {
+      let params = {
+        ...this.detailData,
+        ...value,
+      };
+      downloadFiles("java/daily/summary/month/detail/export", params);
+    },
+    //清除
+    async emptyFn() {
+      await this.$refs.searchForm.resetFields();
+    },
+    //搜索
+    searchFn() {
+      this.getDataList();
+    },
+    //子传父事件
+    async detailFn(value) {
+      let params = {
+        ...value,
+        ...this.detailData,
+      };
+      let res = await getMonthDetailList(params);
+      this.detailList = res.data;
+      this.detailTotal = res.data.total;
+      this.showDetail = false;
+    },
+    // 导入
+    async handleImport(param) {
+      const file = param.file;
+
+      const formData = new FormData();
+      formData.append("file", file);
+
+      let result = await handleImport(
+        "java/daily/summary/month/salary/import",
+        formData
+      );
+
+      // console.log(result, 123132);
+      this.importFileList = [];
+      if (result.code == 1) {
+        this.$message.success("导入成功");
+        this.getDataList();
+      } else {
+        this.$message.error(result.message);
+        // this.$message.error(1231);
+      }
+    },
+    //导出
+    exportFn() {
+      let params = {
+        pageSize: this.pageSize,
+        pageNo: this.currentPage,
+        summaryBatchNo: this.masterNumber,
+        summaryNumber: this.summaryNumber,
+        idCard: this.searchForm.idCard,
+        mobile: this.searchForm.mobile,
+        month: this.searchForm.month,
+        serviceName: this.searchForm.serviceName,
+        status: this.searchForm.status,
+        websiteName: this.searchForm.websiteNumber,
+      };
+      downloadFiles("java/daily/summary/month/salary/export", params);
+    },
+    //月度计算
+    async calculateMonthFn() {
+      let params = {
+        summaryMonthBatchNo: this.masterNumber,
+        summaryNumber: this.summaryNumber,
+      };
+      await getMonthSalaryCalculate(params);
+      this.getDataList();
+      this.$message.success("月度计算成功");
+    },
+    //获取列表数据
+    async getDataList() {
+      let params = {
+        pageSize: this.pageSize,
+        pageNo: this.currentPage,
+        summaryBatchNo: this.masterNumber,
+        summaryNumber: this.summaryNumber,
+        idCard: this.searchForm.idCard,
+        mobile: this.searchForm.mobile,
+        serviceName: this.searchForm.serviceName,
+        status: this.searchForm.status,
+        websiteNumber: this.searchForm.websiteNumber,
+        month: this.searchForm.month,
+      };
+      let res = await getWorkerList(params);
+      this.listTotal = res.data.total;
+      this.dataList = res.data.records;
+    },
+    //师傅汇总详情
+    async showDetailFn(value) {
+      this.detailData = {
+        serviceNumber: value.serviceNumber,
+        summaryMonthBatchNo: value.summaryBatchNo,
+        summaryNumber: value.summaryNumber,
+      };
+      let params = {
+        pageSize: 10,
+        pageNo: 1,
+        serviceNumber: value.serviceNumber,
+        summaryMonthBatchNo: value.summaryBatchNo,
+        summaryNumber: value.summaryNumber,
+      };
+      let res = await getMonthDetailList(params);
+      this.detailList = res.data;
+      this.detailTotal = res.data.total;
+      this.showDetail = false;
+    },
+    //返回
+    goBack() {
+      this.$parent.masterDetail = false;
+      this.$emit("updateList");
+    },
+  },
+};
+</script>
+
+<style>
+</style>

+ 2 - 2
src/views/engineerFeeSettlement/dailyMaintenanceBalance/feesWillBeRefunded/index.vue

@@ -136,12 +136,12 @@ export default {
           [
             this.optionsEvensAuth('batchDel2', {
               click: () => {
-                if (this.recordSelected.length === 0) {
+                if (this.recordSelected2.length === 0) {
                   this.$message.warning('请勾选')
                   return
                 }
                 dailySummaryReduceItemDelete({
-                  ids: this.recordSelected.map(item => item.id).join(',')
+                  ids: this.recordSelected2.map(item => item.id).join(',')
                 }).then(res => {
                   this.$message({ type: 'success', message: '删除成功!' })
                   this.$refs.pageRef2.refreshList()

+ 626 - 0
src/views/engineerFeeSettlement/dailyMaintenanceBalance/financialSummaryDailySettle/index.vue

@@ -0,0 +1,626 @@
+<template>
+  <div class="app-container">
+    <div v-if="!masterDetail">
+      <div v-show="showDetailed">
+        <el-radio-group @change="searchFn" v-model="searchForm.status" size="mini">
+          <el-radio-button label="">全部</el-radio-button>
+          <el-radio-button label="1">未发放</el-radio-button>
+          <el-radio-button label="2">已发放</el-radio-button>
+          <el-radio-button label="5">已驳回</el-radio-button>
+        </el-radio-group>
+        <br /><br />
+        <!-- 筛选条件 -->
+        <div>
+          <el-form ref="searchForm" :model="searchForm" label-width="100px" size="mini" label-position="left">
+            <el-row :gutter="20">
+              <el-col :xs="24" :sm="12" :lg="6">
+                <el-form-item label="汇总批次号:" prop="summaryBatchNo">
+                  <el-input v-model="searchForm.summaryBatchNo" placeholder="请输入"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :xs="24" :sm="12" :lg="6">
+                <el-form-item label="汇总时间段:" prop="summary">
+                  <el-date-picker
+                    v-model="searchForm.summary"
+                    type="daterange"
+                    range-separator="至"
+                    style="width: 100%"
+                    value-format="yyyy-MM-dd"
+                    start-placeholder="开始日期"
+                    end-placeholder="结束日期"
+                  >
+                  </el-date-picker>
+                </el-form-item>
+              </el-col>
+              <el-col :xs="24" :sm="12" :lg="6">
+                <el-form-item label="发放时间段:" prop="issue">
+                  <el-date-picker
+                    v-model="searchForm.issue"
+                    type="daterange"
+                    range-separator="至"
+                    style="width: 100%"
+                    value-format="yyyy-MM-dd"
+                    start-placeholder="开始日期"
+                    end-placeholder="结束日期"
+                  >
+                  </el-date-picker>
+                </el-form-item>
+              </el-col>
+              <el-col :xs="24" :sm="24" :lg="6">
+                <el-form-item label="" class="fr">
+                  <el-button size="mini" @click="emptyFn">清空</el-button>
+                  <el-button size="mini" type="primary" @click="searchFn">搜索</el-button>
+                </el-form-item>
+              </el-col>
+            </el-row>
+          </el-form>
+        </div>
+        <!-- 按钮 -->
+        <div class="btn-group clearfix">
+          <div class="fl">
+            <!-- <el-button type="primary" size="mini" @click="detailedFn">查看明细(测试)</el-button>
+            <el-button type="primary" size="mini" @click="showDialog">发放(测试)</el-button> -->
+          </div>
+        </div>
+        <!-- 列表 -->
+        <div class="mymain-container">
+          <div class="table">
+            <el-table
+              v-loading="listLoading"
+              :data="dataList"
+              element-loading-text="Loading"
+              border
+              fit
+              highlight-current-row
+              stripe
+            >
+              <el-table-column align="center" label="操作" fixed min-width="200">
+                <template slot-scope="scope">
+                  <el-button type="text" @click="detailedFn(scope.row.summaryBatchNo)">查看明细</el-button>
+                  <el-button
+                    v-if="scope.row.status == 1 || scope.row.status == 4"
+                    type="text"
+                    @click="showDialog(scope.row.summaryBatchNo)"
+                    >发放</el-button
+                  >
+                  <el-button v-if="scope.row.status == 1" type="text" @click="rejectFn(scope.row.summaryBatchNo)"
+                    >驳回</el-button
+                  >
+                </template>
+              </el-table-column>
+              <el-table-column
+                align="left"
+                label="汇总批次号"
+                prop="summaryBatchNo"
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="left"
+                label="发放月份"
+                prop="month"
+                min-width="100"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="left"
+                label="结算人数"
+                prop="summaryNum"
+                min-width="100"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="left"
+                label="结算工单数量(单)"
+                prop="summaryOrderNum"
+                min-width="140"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="right"
+                label="结算金额(元)"
+                prop="totalRepairCostC"
+                min-width="140"
+                show-overflow-tooltip
+              >
+                <template slot-scope="scope">
+                  {{ scope.row.totalRepairCostC | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column
+                align="right"
+                label="发放金额(元)"
+                prop="issueCostC"
+                min-width="140"
+                show-overflow-tooltip
+              >
+                <template slot-scope="scope">
+                  {{ scope.row.issueCostC | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column align="left" label="发放状态" prop="status" min-width="100" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  <el-tag size="mini" v-show="scope.row.status == 1" type="">待发放 </el-tag>
+                  <el-tag size="mini" v-show="scope.row.status == 2" type="success">已发放</el-tag>
+                  <el-tag size="mini" v-show="scope.row.status == 3" type="info">银行受理中</el-tag>
+                  <el-tag size="mini" v-show="scope.row.status == 4" type="danger">失败</el-tag>
+                  <el-tag size="mini" v-show="scope.row.status == 5" type="warning">已驳回</el-tag>
+                </template>
+              </el-table-column>
+              <el-table-column
+                align="left"
+                label="汇总操作人"
+                prop="summaryBy"
+                min-width="300"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="left"
+                label="汇总时间"
+                prop="summaryTime"
+                min-width="180"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="left"
+                label="发放操作人"
+                prop="issueBy"
+                min-width="280"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="left"
+                label="发放时间"
+                prop="issueTime"
+                min-width="180"
+                show-overflow-tooltip
+              ></el-table-column>
+            </el-table>
+          </div>
+          <!-- 分页 -->
+          <div class="fr">
+            <el-pagination
+              @size-change="handleSizeChange"
+              @current-change="handleCurrentChange"
+              :current-page="currentPage"
+              :page-sizes="[10, 20, 30, 50]"
+              :page-size="pageSize"
+              layout="total, sizes, prev, pager, next, jumper"
+              :total="listTotal"
+            >
+            </el-pagination>
+          </div>
+        </div>
+      </div>
+
+      <!-- 结算网点汇总列表 -->
+      <div v-show="!showDetailed">
+        <el-page-header @back="goBack" content="结算网点汇总"></el-page-header>
+        <br /><br />
+        <!-- 按钮 -->
+        <div class="btn-group clearfix">
+          <div class="fl">
+            <el-button type="primary" size="mini" :disabled="selectList.length < 1" @click="showDialog2('')"
+              >批量发放</el-button
+            >
+            <el-button type="danger" size="mini" :disabled="selectList.length < 1" @click="networkRejectFn('')"
+              >批量驳回</el-button
+            >
+            <!--<el-button type="primary" size="mini" @click="showDialog">发放(测试)</el-button> -->
+            <el-button type="primary" size="mini" @click="searchResFn">查询转账结果</el-button>
+          </div>
+        </div>
+        <!-- 列表 -->
+        <div class="mymain-container">
+          <div class="table">
+            <el-table
+              @selection-change="selectionChangeFn"
+              v-loading="listLoading"
+              :data="summaryList"
+              element-loading-text="Loading"
+              border
+              fit
+              highlight-current-row
+              stripe
+            >
+              <el-table-column align="center" type="selection" width="55" />
+              <el-table-column align="center" label="操作" fixed min-width="200">
+                <template slot-scope="scope">
+                  <el-button type="text" @click="masterDetailedFn(scope.row.summaryBatchNo, scope.row.summaryNumber)"
+                    >查看明细</el-button
+                  >
+                  <el-button
+                    v-if="scope.row.status == 1 || scope.row.status == 4"
+                    type="text"
+                    @click="showDialog2(scope.row.summaryNumber)"
+                    >发放</el-button
+                  >
+                  <!-- <el-button type="text" @click="networkRejectFn(scope.row.summaryNumber)">驳回</el-button> -->
+                </template>
+              </el-table-column>
+              <el-table-column align="left" label="结算单位" prop="belongWebsite" min-width="300" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  {{ scope.row.summaryName + '(' + scope.row.summaryNumber + ')' }}
+                </template>
+              </el-table-column>
+              <el-table-column align="left" label="状态" prop="status" min-width="100" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  <el-tag size="mini" v-show="scope.row.status == 1" type="">待发放 </el-tag>
+                  <el-tag size="mini" v-show="scope.row.status == 2" type="success">已发放</el-tag>
+                  <el-tag size="mini" v-show="scope.row.status == 3" type="info">银行受理中</el-tag>
+                  <el-tag size="mini" v-show="scope.row.status == 4" type="danger">失败</el-tag>
+                  <el-tag size="mini" v-show="scope.row.status == 5" type="warning">已驳回</el-tag>
+                </template>
+              </el-table-column>
+              <el-table-column
+                align="left"
+                label="发放月份"
+                prop="month"
+                min-width="100"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="left"
+                label="结算人数"
+                prop="summaryNum"
+                min-width="100"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="left"
+                label="结算工单数量(单)"
+                prop="summaryOrderNum"
+                min-width="140"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="right"
+                label="维修结算费用"
+                prop="totalRepairCostC"
+                min-width="120"
+                show-overflow-tooltip
+              >
+                <template slot-scope="scope">
+                  {{ scope.row.totalRepairCostC | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column
+                align="right"
+                label="需扣回费用"
+                prop="reduceCostC"
+                min-width="100"
+                show-overflow-tooltip
+              >
+                <template slot-scope="scope">
+                  {{ scope.row.reduceCostC | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column
+                align="right"
+                label="增减费用"
+                prop="incrDecrCostC"
+                min-width="100"
+                show-overflow-tooltip
+              >
+                <template slot-scope="scope">
+                  {{ scope.row.incrDecrCostC | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column align="right" label="工伤保险" prop="injuryCostC" min-width="100" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  {{ scope.row.injuryCostC | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column align="right" label="残保金" prop="residualCostC" min-width="100" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  {{ scope.row.residualCostC | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column align="right" label="暂扣款" prop="withholdCostC" min-width="100" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  {{ scope.row.withholdCostC | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column align="right" label="应发工资" prop="issueCostC" min-width="100" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  {{ scope.row.issueCostC | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column
+                align="left"
+                label="发放人"
+                prop="issueBy"
+                min-width="360"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="left"
+                label="发放时间"
+                prop="issueTime"
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+            </el-table>
+          </div>
+        </div>
+      </div>
+
+      <!-- 弹窗 -->
+      <el-dialog title="发放" :visible.sync="dialogForm" width="30%" :show-close="false" :close-on-click-modal="false">
+        <el-form ref="stateForm" :rules="rules" :model="stateForm" label-width="100px">
+          <el-form-item label="手机号码" prop="mobile">
+            <!-- <el-input v-model="stateForm.mobile" placeholder="请输入"></el-input> -->
+            <el-select style="width: 100%" v-model="stateForm.mobile" placeholder="请选择" filterable>
+              <el-option v-for="(v, i) in phoneList" :key="i" :label="v.dictValue" :value="v.dictValue"></el-option>
+              <!-- <el-option value="13927887984"></el-option>
+              <el-option value="13452642451"></el-option> -->
+            </el-select>
+          </el-form-item>
+          <el-row :gutter="20">
+            <el-col :xs="24" :sm="12" :lg="16">
+              <el-form-item label="手机验证码" prop="code">
+                <el-input v-model="stateForm.code" placeholder="请输入"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <!-- <el-button type="primary">验证码</el-button> -->
+              <el-button @click="codeFn" :disabled="countDown != 60">{{
+                countDown == 60 ? getCodeText : '重新获取(' + countDown + 's)'
+              }}</el-button>
+            </el-col>
+          </el-row>
+        </el-form>
+        <div slot="footer" class="dialog-footer">
+          <el-button @click="cancelFn">取消</el-button>
+          <el-button type="primary" @click="confirmFn">确定发放</el-button>
+        </div>
+      </el-dialog>
+    </div>
+
+    <FinancialSummaryDayDetail
+      @updateList="updateList"
+      :grantNumber="grantNumber"
+      :summaryNumberDetail="summaryNumberDetail"
+      v-if="masterDetail"
+    />
+  </div>
+</template>
+
+<script>
+import { getCode, getbyCode } from '@/api/dailySettlement/bankBalanceQuery'
+import {
+  getList,
+  getSalaryIssue,
+  getsummaryList,
+  getsummarySalaryReject,
+  getBankExcute
+} from '@/api/dailySettlement/financialSummaryDay'
+import FinancialSummaryDayDetail from '../components/financialSummaryDayDetail'
+export default {
+  components: {
+    FinancialSummaryDayDetail
+  },
+  data() {
+    return {
+      searchForm: {
+        status: '',
+        summaryBatchNo: '',
+        summary: [],
+        issue: []
+      },
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: [], // 列表数据
+      summaryList: [], //结算网点汇总列表
+      listLoading: false, // 列表加载loading
+      showDetailed: true,
+      masterDetail: false, //师傅汇总页面
+      dialogForm: false,
+      rules: {},
+      stateForm: {
+        code: '',
+        mobile: ''
+      },
+      getCodeText: '获取验证码',
+      countDown: 60,
+      grantNumber: '',
+      grantNumber2: '', //结算网点
+      summaryNumberDetail: '',
+      selectList: [],
+      isSummary: false, //是否批量发放
+      phoneList: []
+    }
+  },
+
+  created() {
+    this.getDataList()
+  },
+  methods: {
+    //=子传父
+    updateList() {
+      this.getSummaryLists()
+    },
+    //查询转账结果
+    async searchResFn() {
+      await getBankExcute()
+      this.getSummaryLists()
+      this.$message.success('查询成功')
+    },
+    //获取手机号
+    async getPhone() {
+      let res = await getbyCode({
+        code: 'ISSUE'
+      })
+      this.phoneList = res.data
+    },
+    showDialog2(value, bool) {
+      this.getPhone()
+      this.isSummary = bool
+      this.grantNumber2 = value
+      this.dialogForm = true
+    },
+    //结算网点驳回
+    async networkRejectFn(i) {
+      if (i == '') {
+        let res = this.selectList.toString()
+        await getsummarySalaryReject({
+          summaryBatchNo: this.grantNumber,
+          summaryNumberList: res
+        })
+        this.selectList = []
+      } else {
+        await getsummarySalaryReject({
+          summaryBatchNo: this.grantNumber,
+          summaryNumberList: i
+        })
+      }
+
+      this.getSummaryLists()
+      this.$message.success('驳回成功')
+    },
+    //列表选择框
+    selectionChangeFn(value) {
+      const res = value.map(v => v.summaryNumber)
+      this.selectList = res
+    },
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val
+      this.getDataList()
+    },
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val
+      this.getDataList()
+    },
+    //驳回
+    async rejectFn(summaryBatchNo) {
+      // console.log(111);
+      await getsummarySalaryReject({ summaryBatchNo: summaryBatchNo })
+      this.getDataList()
+      this.$message.success('驳回成功')
+    },
+    //结算网点汇总列表
+    async getSummaryLists() {
+      let params = {
+        summaryBatchNo: this.grantNumber
+      }
+      let res = await getsummaryList(params)
+      this.summaryList = res.data
+    },
+    //验证码
+    async codeFn() {
+      let params = {
+        mobile: this.stateForm.mobile,
+        type: 'issue'
+      }
+      await getCode(params)
+      this.$message.success('短信已发送')
+
+      this.countDown--
+      let timer = setInterval(() => {
+        this.countDown--
+        if (this.countDown == 0) {
+          this.countDown = 60
+          this.getCodeText = '重新获取'
+          clearInterval(timer)
+        }
+      }, 1000)
+    },
+    //清除
+    async emptyFn() {
+      await this.$refs.searchForm.resetFields()
+    },
+    //搜索
+    searchFn() {
+      this.getDataList()
+    },
+    //获取列表数据
+    async getDataList() {
+      let params = {
+        pageSize: this.pageSize,
+        pageNo: this.currentPage,
+        issueEndTime: this.searchForm.issue[1],
+        issueStartTime: this.searchForm.issue[0],
+        summaryBatchNo: this.searchForm.summaryBatchNo,
+        summaryEndTime: this.searchForm.summary[1],
+        summaryStartTime: this.searchForm.summary[0],
+        status: this.searchForm.status
+      }
+      let res = await getList(params)
+      this.dataList = res.data.records
+      this.listTotal = res.data.total
+    },
+    //师傅汇总明细
+    masterDetailedFn(summaryBatchNo, summaryNumber) {
+      this.grantNumber = summaryBatchNo
+      this.summaryNumberDetail = summaryNumber
+      this.masterDetail = true
+    },
+    //返回
+    goBack() {
+      this.showDetailed = true
+      this.getDataList()
+    },
+    //取消
+    cancelFn() {
+      if (this.countDown !== 60) {
+        this.countDown = 1
+      }
+      this.$refs.stateForm.resetFields()
+      this.dialogForm = false
+    },
+    //确定
+    async confirmFn() {
+      if (this.showDetailed) {
+        let params = {
+          summaryBatchNo: this.grantNumber,
+          ...this.stateForm
+        }
+        await getSalaryIssue(params)
+
+        this.getDataList()
+      } else if (this.grantNumber2 == '') {
+        let res = this.selectList.toString()
+        let params = {
+          summaryBatchNo: this.grantNumber,
+          summaryNumberList: res,
+          ...this.stateForm
+        }
+        await getSalaryIssue(params)
+        this.getSummaryLists()
+      } else {
+        let params = {
+          summaryBatchNo: this.grantNumber,
+          summaryNumberList: this.grantNumber2,
+          ...this.stateForm
+        }
+        await getSalaryIssue(params)
+        this.getSummaryLists()
+      }
+      this.$message.success('发放成功,请稍后刷新查看结果')
+      this.$refs.stateForm.resetFields()
+      this.dialogForm = false
+    },
+    //新增
+    showDialog(summaryBatchNo) {
+      this.getPhone()
+      this.grantNumber = summaryBatchNo
+      this.dialogForm = true
+    },
+    //明细页面
+    detailedFn(summaryBatchNo) {
+      this.grantNumber = summaryBatchNo
+      this.getSummaryLists()
+      this.showDetailed = false
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+::v-deep .el-dialog__body {
+  overflow-y: auto;
+}
+</style>

+ 553 - 0
src/views/engineerFeeSettlement/dailyMaintenanceBalance/financialSummaryMonthSettle/index.vue

@@ -0,0 +1,553 @@
+<template>
+  <div class="app-container">
+    <div v-if="!masterDetail">
+      <div v-show="showDetailed">
+        <el-radio-group @change="searchFn" v-model="searchForm.status" size="mini">
+          <el-radio-button label="">全部</el-radio-button>
+          <el-radio-button label="1">未发放</el-radio-button>
+          <el-radio-button label="2">已发放</el-radio-button>
+        </el-radio-group>
+        <br /><br />
+        <!-- 筛选条件 -->
+        <div>
+          <el-form ref="searchForm" :model="searchForm" label-width="100px" size="mini" label-position="left">
+            <el-row :gutter="20">
+              <el-col :xs="24" :sm="12" :lg="6">
+                <el-form-item label="汇总批次号:" prop="summaryBatchNo">
+                  <el-input v-model="searchForm.summaryBatchNo" placeholder="请输入"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :xs="24" :sm="12" :lg="6">
+                <el-form-item label="汇总时间段:" prop="summary">
+                  <el-date-picker
+                    v-model="searchForm.summary"
+                    type="daterange"
+                    range-separator="至"
+                    style="width: 100%"
+                    value-format="yyyy-MM-dd"
+                    start-placeholder="开始日期"
+                    end-placeholder="结束日期"
+                  >
+                  </el-date-picker>
+                </el-form-item>
+              </el-col>
+              <el-col :xs="24" :sm="12" :lg="6">
+                <el-form-item label="发放时间段:" prop="issue">
+                  <el-date-picker
+                    v-model="searchForm.issue"
+                    type="daterange"
+                    range-separator="至"
+                    style="width: 100%"
+                    value-format="yyyy-MM-dd"
+                    start-placeholder="开始日期"
+                    end-placeholder="结束日期"
+                  >
+                  </el-date-picker>
+                </el-form-item>
+              </el-col>
+              <el-col :xs="24" :sm="24" :lg="6">
+                <el-form-item label="" class="fr">
+                  <el-button size="mini" @click="emptyFn">清空</el-button>
+                  <el-button size="mini" type="primary" @click="searchFn">搜索</el-button>
+                </el-form-item>
+              </el-col>
+            </el-row>
+          </el-form>
+        </div>
+        <!-- 按钮 -->
+        <div class="btn-group clearfix">
+          <div class="fl">
+            <el-button type="primary" size="mini" @click="monthDoFn">月度汇总</el-button>
+            <!-- <el-button type="primary" size="mini" @click="detailedFn">查看明细(测试)</el-button>
+            <el-button type="primary" size="mini" @click="showDialog">发放(测试)</el-button> -->
+          </div>
+        </div>
+        <!-- 列表 -->
+        <div class="mymain-container">
+          <div class="table">
+            <el-table
+              v-loading="listLoading"
+              :data="dataList"
+              element-loading-text="Loading"
+              border
+              fit
+              highlight-current-row
+              stripe
+            >
+              <el-table-column align="center" label="操作" fixed min-width="200">
+                <template slot-scope="scope">
+                  <el-button type="text" @click="detailedFn(scope.row.summaryBatchNo)">查看明细</el-button>
+                  <el-button v-if="scope.row.issueStatus == 1" type="text" @click="showDialog(scope.row.summaryBatchNo)"
+                    >重新汇总</el-button
+                  >
+                  <el-button
+                    v-if="scope.row.issueStatus == 1 || scope.row.issueStatus == 4"
+                    type="text"
+                    @click="grantFn(scope.row.summaryBatchNo)"
+                    >发放</el-button
+                  >
+                </template>
+              </el-table-column>
+              <el-table-column
+                align="left"
+                label="汇总批次号"
+                prop="summaryBatchNo"
+                min-width="160"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="left"
+                label="发放月份"
+                prop="summaryMonth"
+                min-width="100"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="left"
+                label="结算人数"
+                prop="summaryPersonCount"
+                min-width="100"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="left"
+                label="结算工单数量(单)"
+                prop="summaryOrderCount"
+                min-width="140"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="right"
+                label="结算金额(元)"
+                prop="summaryCost"
+                min-width="140"
+                show-overflow-tooltip
+              >
+                <template slot-scope="scope">
+                  {{ scope.row.summaryCost | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column
+                align="right"
+                label="发放金额(元)"
+                prop="issueCostC"
+                min-width="140"
+                show-overflow-tooltip
+              >
+                <template slot-scope="scope">
+                  {{ scope.row.issueCostC | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column align="left" label="发放状态" prop="issueStatus" min-width="100" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  <el-tag size="mini" v-show="scope.row.issueStatus == 1" type="">待发放 </el-tag>
+                  <el-tag size="mini" v-show="scope.row.issueStatus == 2" type="success">已发放</el-tag>
+                  <el-tag size="mini" v-show="scope.row.issueStatus == 3" type="info">银行受理中</el-tag>
+                  <el-tag size="mini" v-show="scope.row.issueStatus == 4" type="danger">失败</el-tag>
+                </template>
+              </el-table-column>
+              <el-table-column
+                align="left"
+                label="汇总操作人"
+                prop="summaryBy"
+                min-width="300"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="left"
+                label="汇总时间"
+                prop="summaryTime"
+                min-width="180"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="left"
+                label="发放操作人"
+                prop="issueBy"
+                min-width="300"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="left"
+                label="发放时间"
+                prop="issueTime"
+                min-width="180"
+                show-overflow-tooltip
+              ></el-table-column>
+            </el-table>
+          </div>
+          <!-- 分页 -->
+          <div class="fr">
+            <el-pagination
+              @size-change="handleSizeChange"
+              @current-change="handleCurrentChange"
+              :current-page="currentPage"
+              :page-sizes="[10, 20, 30, 50]"
+              :page-size="pageSize"
+              layout="total, sizes, prev, pager, next, jumper"
+              :total="listTotal"
+            >
+            </el-pagination>
+          </div>
+        </div>
+      </div>
+
+      <!-- 结算网点汇总列表 -->
+      <div v-show="!showDetailed">
+        <el-page-header @back="goBack" content="结算网点汇总"></el-page-header>
+        <br /><br />
+        <!-- 按钮 -->
+        <div class="btn-group clearfix">
+          <div class="fl">
+            <el-button type="primary" size="mini" :disabled="selectList.length < 1" @click="networkGrant('')"
+              >批量发放</el-button
+            >
+            <el-button type="primary" size="mini" @click="searchResFn">查询转账结果</el-button>
+            <!-- <el-button type="danger" size="mini">批量驳回</el-button> -->
+            <!-- <el-button type="primary" size="mini" @click="showDialog">发放(测试)</el-button>
+            <el-button type="primary" size="mini" @click="masterDetailedFn">查看明细(测试)</el-button> -->
+          </div>
+        </div>
+        <!-- 列表 -->
+        <div class="mymain-container">
+          <div class="table">
+            <el-table
+              @selection-change="selectionChangeFn"
+              v-loading="listLoading"
+              :data="websiteList"
+              element-loading-text="Loading"
+              border
+              fit
+              highlight-current-row
+              stripe
+            >
+              <el-table-column align="center" type="selection" width="55" />
+              <el-table-column align="center" label="操作" fixed min-width="200">
+                <template slot-scope="scope">
+                  <el-button type="text" @click="masterDetailedFn(scope.row.summaryBatchNo, scope.row.summaryNumber)"
+                    >查看明细</el-button
+                  >
+                  <el-button
+                    v-if="scope.row.issueStatus == 1 || scope.row.issueStatus == 4"
+                    type="text"
+                    @click="networkGrant(scope.row.summaryNumber)"
+                    >发放</el-button
+                  >
+                </template>
+              </el-table-column>
+              <el-table-column
+                align="left"
+                label="结算单位"
+                prop="summaryName"
+                min-width="280"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column align="left" label="状态" prop="issueStatus" min-width="100" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  <el-tag size="mini" v-show="scope.row.issueStatus == 1" type="">待发放 </el-tag>
+                  <el-tag size="mini" v-show="scope.row.issueStatus == 2" type="success">已发放</el-tag>
+                  <el-tag size="mini" v-show="scope.row.issueStatus == 3" type="info">银行受理中</el-tag>
+                  <el-tag size="mini" v-show="scope.row.issueStatus == 4" type="danger">失败</el-tag>
+                </template>
+              </el-table-column>
+              <el-table-column
+                align="left"
+                label="汇总月份"
+                prop="summaryMonth"
+                min-width="100"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="left"
+                label="结算人数"
+                prop="summaryPersonCount"
+                min-width="100"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="left"
+                label="结算工单数量(单)"
+                prop="summaryOrderCount"
+                min-width="140"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="right"
+                label="维修结算费用"
+                prop="summaryCost"
+                min-width="120"
+                show-overflow-tooltip
+              >
+                <template slot-scope="scope">
+                  {{ scope.row.summaryCost | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column
+                align="right"
+                label="工伤、残保费用"
+                prop="empCost"
+                min-width="140"
+                show-overflow-tooltip
+              >
+                <template slot-scope="scope">
+                  {{ scope.row.empCost | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column align="right" label="暂扣款" prop="withholdCost" min-width="100" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  {{ scope.row.withholdCost | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column align="right" label="增减费用" prop="decrCost" min-width="100" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  {{ scope.row.decrCost | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column align="right" label="需扣回费用" prop="reduceCost" min-width="100" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  {{ scope.row.reduceCost | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column align="right" label="个税" prop="incomeCost" min-width="100" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  {{ scope.row.incomeCost | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column align="right" label="应发" prop="issueCost" min-width="100" show-overflow-tooltip>
+                <template slot-scope="scope">
+                  {{ scope.row.issueCost | numToFixed }}
+                </template>
+              </el-table-column>
+              <el-table-column
+                align="left"
+                label="发放人"
+                prop="issueBy"
+                min-width="100"
+                show-overflow-tooltip
+              ></el-table-column>
+              <el-table-column
+                align="left"
+                label="发放时间"
+                prop="issueTime"
+                min-width="180"
+                show-overflow-tooltip
+              ></el-table-column>
+            </el-table>
+          </div>
+        </div>
+      </div>
+
+      <!-- 弹窗 -->
+      <el-dialog
+        title="月度汇总"
+        :visible.sync="dialogForm"
+        width="30%"
+        :show-close="false"
+        :close-on-click-modal="false"
+      >
+        <el-form ref="stateForm" :rules="rules" :model="stateForm" label-width="100px">
+          <el-form-item label="发放的月份" prop="time">
+            <el-input disabled v-model="stateForm.time" placeholder="请输入"></el-input>
+          </el-form-item>
+        </el-form>
+        <div slot="footer" class="dialog-footer">
+          <el-button @click="cancelFn">取消</el-button>
+          <el-button type="primary" @click="confirmFn">确定</el-button>
+        </div>
+      </el-dialog>
+    </div>
+
+    <FinancialSummaryMonthDetail
+      @updateList="updateList"
+      :masterNumber="masterNumber"
+      :summaryNumber="summaryNumber"
+      v-if="masterDetail"
+    />
+  </div>
+</template>
+
+<script>
+import { getBankExcute } from '@/api/dailySettlement/financialSummaryDay'
+import {
+  getList,
+  getMonthDo,
+  getWebsiteList,
+  getMonthIssue,
+  getMonthRedo
+} from '@/api/dailySettlement/financialSummaryMonth'
+import FinancialSummaryMonthDetail from '../components/financialSummaryMonthDetail'
+export default {
+  components: {
+    FinancialSummaryMonthDetail
+  },
+  data() {
+    return {
+      searchForm: {
+        summaryBatchNo: '',
+        summary: '',
+        issue: '',
+        status: ''
+      },
+      currentPage: 1, // 当前页码
+      pageSize: 10, // 每页数量
+      listTotal: 0, // 列表总数
+      dataList: [], // 列表数据
+      websiteList: [], // 月度汇总列表数据
+      listLoading: false, // 列表加载loading
+      showDetailed: true,
+      masterDetail: false, //师傅汇总页面
+      dialogForm: false,
+      rules: {},
+      stateForm: {
+        time: ''
+      },
+      summaryBatchNoDetail: '',
+      masterNumber: '',
+      summaryNumber: '',
+      selectList: [],
+      batchNo: ''
+    }
+  },
+  created() {
+    this.getDataList()
+  },
+  methods: {
+    //子传父更新列表
+    updateList() {
+      this.getWebsiteListFn()
+    },
+    //查询转账结果
+    async searchResFn() {
+      await getBankExcute()
+      this.getWebsiteListFn()
+      this.$message.success('查询成功')
+    },
+    //结算网点发放
+    async networkGrant(value) {
+      if (value == '') {
+        let res = this.selectList.toString()
+        await getMonthIssue({
+          summaryMonthBatchNo: this.summaryBatchNoDetail,
+          summaryNumberList: res
+        })
+        this.selectList = []
+      } else {
+        await getMonthIssue({
+          summaryMonthBatchNo: this.summaryBatchNoDetail,
+          summaryNumberList: value
+        })
+      }
+
+      this.getWebsiteListFn()
+      this.$message.success('发放成功,请稍后刷新查看结果')
+    },
+    //列表选择框
+    selectionChangeFn(value) {
+      const res = value.map(v => v.summaryNumber)
+      this.selectList = res
+    },
+    //发放
+    async grantFn(value) {
+      let params = {
+        summaryMonthBatchNo: value
+      }
+      await getMonthIssue(params)
+      this.$message.success('发放成功,请稍后刷新查看结果')
+    },
+    //清除
+    async emptyFn() {
+      await this.$refs.searchForm.resetFields()
+    },
+    //搜索
+    searchFn() {
+      this.getDataList()
+    },
+    // 更改每页数量
+    handleSizeChange(val) {
+      this.pageSize = val
+      this.currentPage = 1
+      this.getDataList()
+    },
+    // 更改当前页
+    handleCurrentChange(val) {
+      this.currentPage = val
+      this.getDataList()
+    },
+    //月度汇总
+    async monthDoFn() {
+      await getMonthDo()
+      this.getDataList()
+      this.$message.success('汇总成功')
+    },
+    //获取月度汇总列表数据
+    async getWebsiteListFn() {
+      let params = {
+        summaryBatchNo: this.summaryBatchNoDetail
+      }
+      let res = await getWebsiteList(params)
+      this.websiteList = res.data
+    },
+    //获取列表数据
+    async getDataList() {
+      let params = {
+        pageSize: this.pageSize,
+        pageNo: this.currentPage,
+        issueEndTime: this.searchForm.issue[1],
+        issueStartTime: this.searchForm.issue[0],
+        summaryBatchNo: this.searchForm.summaryBatchNo,
+        summaryEndTime: this.searchForm.summary[1],
+        summaryStartTime: this.searchForm.summary[0],
+        status: this.searchForm.status
+      }
+      let res = await getList(params)
+      this.dataList = res.data.records
+      this.listTotal = res.data.total
+    },
+    //师傅汇总明细
+    masterDetailedFn(summaryBatchNo, summaryNumber) {
+      this.masterNumber = summaryBatchNo
+      this.summaryNumber = summaryNumber
+      this.masterDetail = true
+    },
+    //返回
+    goBack() {
+      this.showDetailed = true
+      this.getDataList()
+    },
+    //取消
+    cancelFn() {
+      this.dialogForm = false
+    },
+    //确定
+    async confirmFn() {
+      await getMonthRedo({
+        summaryMonthBatchNo: this.batchNo
+      })
+      this.getDataList()
+      this.$message.success('重新汇总成功')
+      this.dialogForm = false
+    },
+    //新增
+    showDialog(value) {
+      this.batchNo = value
+      let date = new Date()
+      let month = date.getMonth() + 1
+      let year = date.getFullYear()
+      this.stateForm.time = year + '-' + month
+      this.dialogForm = true
+    },
+    //明细页面
+    detailedFn(summaryBatchNo) {
+      this.summaryBatchNoDetail = summaryBatchNo
+      this.getWebsiteListFn()
+      this.showDetailed = false
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+::v-deep .el-dialog__body {
+  overflow-y: auto;
+}
+</style>

+ 2 - 2
src/views/engineerFeeSettlement/dailyMaintenanceBalance/increaseAndDecreaseExpense/index.vue

@@ -135,12 +135,12 @@ export default {
           [
             this.optionsEvensAuth('batchDel2', {
               click: () => {
-                if (this.recordSelected.length === 0) {
+                if (this.recordSelected2.length === 0) {
                   this.$message.warning('请勾选')
                   return
                 }
                 dailySummaryReduceBatchDel({
-                  ids: this.recordSelected.map(item => item.id).join(',')
+                  ids: this.recordSelected2.map(item => item.id).join(',')
                 }).then(res => {
                   this.$message({ type: 'success', message: '删除成功!' })
                   this.$refs.pageRef2.refreshList()

+ 2 - 2
src/views/engineerFeeSettlement/dailyMaintenanceBalance/settlementDataImport/index.vue

@@ -151,12 +151,12 @@ export default {
           [
             this.optionsEvensAuth('batchDel2', {
               click: () => {
-                if (this.recordSelected.length === 0) {
+                if (this.recordSelected2.length === 0) {
                   this.$message.warning('请勾选')
                   return
                 }
                 dailySummaryRepairItemDelete({
-                  ids: this.recordSelected.map(item => item.id).join(',')
+                  ids: this.recordSelected2.map(item => item.id).join(',')
                 }).then(res => {
                   this.$message({ type: 'success', message: '删除成功!' })
                   this.$refs.pageRef2.refreshList()