Commit f7dc10be authored by 许珑标's avatar 许珑标

发薪批次管理、明细管理字段优化

parent 0e1b4de3
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
<el-form-item label="批次名称" prop="batchName"> <el-form-item label="业务单号" prop="batchNo">
<el-input
v-model="queryParams.batchNo"
placeholder="请输入业务单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="业务名称" prop="batchName">
<el-input <el-input
v-model="queryParams.batchName" v-model="queryParams.batchName"
placeholder="请输入批次名称" placeholder="请输入业务名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="付款账户" prop="payerAccName">
<el-input
v-model="queryParams.payerAccName"
placeholder="请输入付款账户名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="付款账号" prop="payerAccNo">
<el-input
v-model="queryParams.payerAccNo"
placeholder="请输入付款账号"
clearable clearable
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
...@@ -18,6 +42,14 @@ ...@@ -18,6 +42,14 @@
:value="dict.value" /> :value="dict.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="交易时间">
<el-date-picker v-model="searchTimeRange" style="width: 240px"
value-format="yyyy-MM-dd HH:mm:ss"
:default-time="['00:00:00', '23:59:59']"
type="daterange" range-separator="-"
start-placeholder="开始日期" end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
...@@ -39,25 +71,25 @@ ...@@ -39,25 +71,25 @@
<el-table v-loading="loading" :data="taskBatchList"> <el-table v-loading="loading" :data="taskBatchList">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="流水号/业务单号" align="center" prop="batchNo"> <el-table-column label="流水号/业务单号" align="center" prop="batchNo" fixed="left" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.batchNo }} {{ scope.row.batchNo }}
<div style="color: #1890ff">{{ scope.row.importBatchNo }}</div> <div style="color: #1890ff">{{ scope.row.importBatchNo }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="批次名称" align="center" prop="batchName"> <el-table-column label="业务名称" align="center" prop="batchName">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.taskName }} {{ scope.row.taskName }}
<div>{{ scope.row.batchName }}</div> <div>{{ scope.row.batchName }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="付款账户" align="center"> <el-table-column label="付款账户" align="center" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.payerAccNo }} {{ scope.row.payerAccNo }}
<div>{{ scope.row.payerAccName }}</div> <div>{{ scope.row.payerAccName }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="支付状态" align="center" prop="batchStatus"> <el-table-column label="支付状态" align="center" prop="batchStatus" width="90">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.pay_status" :value="scope.row.batchStatus" /> <dict-tag :options="dict.type.pay_status" :value="scope.row.batchStatus" />
</template> </template>
...@@ -68,7 +100,7 @@ ...@@ -68,7 +100,7 @@
<!-- <el-tag v-if="scope.row.dataSource && 1 === scope.row.dataSource">平台</el-tag>--> <!-- <el-tag v-if="scope.row.dataSource && 1 === scope.row.dataSource">平台</el-tag>-->
<!-- </template>--> <!-- </template>-->
<!-- </el-table-column>--> <!-- </el-table-column>-->
<el-table-column label="详情预览" align="center"> <el-table-column label="详情预览" align="center" width="180">
<template slot-scope="scope" > <template slot-scope="scope" >
<div>发放总笔数:{{ scope.row.totalCount }}</div> <div>发放总笔数:{{ scope.row.totalCount }}</div>
<div>批次总金额:{{ scope.row.totalAmount }}</div> <div>批次总金额:{{ scope.row.totalAmount }}</div>
...@@ -85,12 +117,15 @@ ...@@ -85,12 +117,15 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="完成时间" align="center" prop="transactionTime" width="180"> <el-table-column label="支付类型" align="center" prop="payTitle" width="120"/>
<el-table-column label="数据来源" align="center" prop="dataSource" width="90">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.transactionTime) }}</span> <el-tag type="success" v-if="scope.row.dataSource && 2 === scope.row.dataSource">接口</el-tag>
<el-tag v-if="scope.row.dataSource && 1 === scope.row.dataSource">平台</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="交易时间" align="center" prop="transactionTime" width="180"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="scope.row.batchStatus && scope.row.batchStatus === 8" <el-button v-if="scope.row.batchStatus && scope.row.batchStatus === 8"
size="mini" type="text" icon="el-icon-s-management" size="mini" type="text" icon="el-icon-s-management"
...@@ -124,12 +159,14 @@ ...@@ -124,12 +159,14 @@
<script> <script>
import {repealTaskBatch, taskBatchTable} from "@/api/business/taskBatch"; import {repealTaskBatch, taskBatchTable} from "@/api/business/taskBatch";
import {doPay, repealOrder} from "@/api/business/payOrder"; import {doPay, repealOrder} from "@/api/business/payOrder";
import {addDateRange} from "@/utils/ruoyi";
export default { export default {
name: "TaskBatch", name: "TaskBatch",
dicts: ['pay_status'], dicts: ['pay_status'],
data() { data() {
return { return {
searchTimeRange: [],
// 根路径 // 根路径
baseURL: process.env.VUE_APP_BASE_API, baseURL: process.env.VUE_APP_BASE_API,
// 遮罩层 // 遮罩层
...@@ -155,11 +192,13 @@ export default { ...@@ -155,11 +192,13 @@ export default {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
onlineTaskId: null, onlineTaskId: null,
batchNo: '',
batchName: null, batchName: null,
totalAmount: null, payerAccName: null,
taxMoney: null, payerAccNo: null,
staffCount: null, batchStatus: null,
deptId: null, beginTime: null,
endTime: null
}, },
}; };
}, },
...@@ -170,6 +209,13 @@ export default { ...@@ -170,6 +209,13 @@ export default {
/** 查询发包任务-发包批次列表 */ /** 查询发包任务-发包批次列表 */
getList() { getList() {
this.loading = true; this.loading = true;
if (this.searchTimeRange && Array.isArray(this.searchTimeRange)) {
this.queryParams['beginTime'] = this.searchTimeRange[0]
this.queryParams['endTime'] = this.searchTimeRange[1]
} else {
this.queryParams['beginTime'] = null
this.queryParams['endTime'] = null
}
taskBatchTable(this.queryParams).then(response => { taskBatchTable(this.queryParams).then(response => {
this.taskBatchList = response.rows; this.taskBatchList = response.rows;
this.total = response.total; this.total = response.total;
...@@ -189,6 +235,9 @@ export default { ...@@ -189,6 +235,9 @@ export default {
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
this.resetForm("queryForm"); this.resetForm("queryForm");
this.searchTimeRange = []
this.queryParams['beginTime'] = null
this.queryParams['endTime'] = null
this.handleQuery(); this.handleQuery();
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
......
...@@ -9,46 +9,91 @@ ...@@ -9,46 +9,91 @@
</el-descriptions> </el-descriptions>
<h3>零工信息列表</h3> <h3>零工信息列表</h3>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="80px">
<el-form-item label="流水号" prop="bizNo">
<el-input
v-model="queryParams.bizNo"
placeholder="请输入流水号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="零工姓名" prop="staffName">
<el-input
v-model="queryParams.staffName"
placeholder="请输入零工姓名"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="身份证号" prop="staffIdNo">
<el-input
v-model="queryParams.staffIdNo"
placeholder="请输入零工身份证号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="联系电话" prop="staffMobile">
<el-input
v-model="queryParams.staffMobile"
placeholder="请输入零工联系电话"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="收款账号" prop="staffAccNo">
<el-input
v-model="queryParams.staffAccNo"
placeholder="请输入零工收款账号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="支付状态" prop="payStatus">
<el-select v-model="queryParams.payStatus" placeholder="请选择支付状态" @change="handleQuery" clearable>
<el-option v-for="dict in dict.type.pay_status"
v-if="dict.raw.remark !== 'noSearch'"
:key="dict.value"
:label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="11"> <el-col>
<div style="display: flex;align-items: center;justify-content: space-between;gap: 10px;"> <el-button style="float: right" type="warning" size="mini" icon="el-icon-download" @click="handleExport">导出</el-button>
<el-input v-model="queryParams.staffName" size="mini" @change="handleQuery" placeholder="输入姓名搜索" />
<el-select v-model="queryParams.payStatus" placeholder="请选择支付状态" @change="handleQuery" clearable>
<el-option v-for="dict in dict.type.pay_status" v-show="dict.raw.remark !== 'noSearch'" :key="dict.value"
:label="dict.label" :value="dict.value" />
</el-select>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</div>
</el-col>
<el-col :span="1" :offset="12">
<div style="display: flex;align-items: center;justify-content: flex-end;gap:4px;">
<el-button type="warning" size="mini" icon="el-icon-download" @click="handleExport">导出</el-button>
</div>
</el-col> </el-col>
</el-row> </el-row>
<el-table v-loading="loading" :data="taskStaffList"> <el-table v-loading="loading" :data="taskStaffList">
<el-table-column label="员工姓名" align="center" prop="staffName" fixed="left" /> <el-table-column label="流水号" align="center" prop="bizPayNo" fixed="left" width="120" />
<el-table-column label="身份证号" align="center" prop="staffIdNo" /> <el-table-column label="零工姓名" align="center" prop="staffName" fixed="left" width="120" />
<el-table-column label="手机号码" align="center" prop="staffMobile" /> <el-table-column label="身份证号" align="center" prop="staffIdNo" width="120" />
<el-table-column label="收款账号" align="center" prop="staffAccNo"> <el-table-column label="联系电话" align="center" prop="staffMobile" width="120" />
<el-table-column label="收款账户" align="center" prop="staffAccNo" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.staffAccNo }} {{ scope.row.staffAccNo }}
<dict-tag :options="dict.type.payee_acc_type" :value="scope.row.staffAccType" /> <dict-tag :options="dict.type.payee_acc_type" :value="scope.row.staffAccType" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="交易金额" align="center" prop="salaryAmount" /> <el-table-column label="支付类型" align="center" prop="payTitle" width="120"/>
<el-table-column label="结算状态" align="center" prop="payStatus"> <el-table-column label="交易金额" align="center" prop="salaryAmount" width="100" />
<el-table-column label="支付状态" align="center" prop="payStatus" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.pay_status" :value="scope.row.payStatus" /> <dict-tag :options="dict.type.pay_status" :value="scope.row.payStatus" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="交易时间" align="center" prop="transTime" width="180"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right"> <el-table-column label="备注" align="center" prop="remark" width="180" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-view" <el-button size="mini" type="text" icon="el-icon-view"
v-if="scope.row.payStatus && (3 === scope.row.payStatus || 4 === scope.row.payStatus)" v-if="scope.row.payStatus && (3 === scope.row.payStatus || 4 === scope.row.payStatus)"
@click="viewBizDetail(scope.row)" v-hasPermi="['business:taskStaff:edit']">查看详情</el-button> @click="viewBizDetail(scope.row)" v-hasPermi="['business:taskStaff:edit']">交易明细</el-button>
<el-button v-if="scope.row.payStatus && 3 === scope.row.payStatus" size="mini" type="text" <el-button v-if="scope.row.payStatus && 3 === scope.row.payStatus" size="mini" type="text"
icon="el-icon-s-check" @click="voucherView(scope.row)">查看凭证</el-button> icon="el-icon-s-check" @click="voucherView(scope.row)">查看凭证</el-button>
<!-- <el-button v-if="pageHeader.batchNo && scope.row.batchPayNo !== pageHeader.batchNo"--> <!-- <el-button v-if="pageHeader.batchNo && scope.row.batchPayNo !== pageHeader.batchNo"-->
...@@ -188,9 +233,11 @@ export default { ...@@ -188,9 +233,11 @@ export default {
pageSize: 10, pageSize: 10,
onlineTaskId: null, onlineTaskId: null,
onlineTaskBatchId: null, onlineTaskBatchId: null,
bizNo: null,
staffName: null, staffName: null,
staffIdNo: null, staffIdNo: null,
staffMobile: null, staffMobile: null,
staffAccNo: null,
payStatus: null payStatus: null
}, },
}; };
...@@ -236,8 +283,7 @@ export default { ...@@ -236,8 +283,7 @@ export default {
}, },
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
this.queryParams.staffName = '' this.resetForm("queryForm");
this.queryParams.payStatus = ''
this.handleQuery(); this.handleQuery();
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
......
...@@ -91,8 +91,8 @@ ...@@ -91,8 +91,8 @@
<el-button v-if="scope.row.status == 1 && checkPermi(['business:onlineTaskInfo:add'])" size="mini" type="text" <el-button v-if="scope.row.status == 1 && checkPermi(['business:onlineTaskInfo:add'])" size="mini" type="text"
icon="el-icon-s-check" @click="sealContract(scope.row)">确认任务</el-button> icon="el-icon-s-check" @click="sealContract(scope.row)">确认任务</el-button>
<el-button v-if="scope.row.status == 10 || scope.row.status == 11 || scope.row.status == 21" size="mini" <!-- <el-button v-if="scope.row.status == 10 || scope.row.status == 11 || scope.row.status == 21" size="mini"-->
type="text" icon="el-icon-view" @click="prviewPdfUrl(scope.row)">查看合同</el-button> <!-- type="text" icon="el-icon-view" @click="prviewPdfUrl(scope.row)">查看合同</el-button>-->
<el-button v-if="scope.row.status == 10 && checkPermi(['business:onlineTaskInfo:release'])" size="mini" <el-button v-if="scope.row.status == 10 && checkPermi(['business:onlineTaskInfo:release'])" size="mini"
type="text" icon="el-icon-s-promotion" @click="handleRelease(scope.row)">发布任务</el-button> type="text" icon="el-icon-s-promotion" @click="handleRelease(scope.row)">发布任务</el-button>
<el-button v-if="scope.row.status == 11 && checkPermi(['business:onlineTaskInfo:recived'])" size="mini" <el-button v-if="scope.row.status == 11 && checkPermi(['business:onlineTaskInfo:recived'])" size="mini"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment