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

发薪详情&发薪记录增加下发状态筛选条件,删除提示名字而不是ID;

登录页面短信验证码有效期提示改为5分钟;
统计页面增加下发状态筛选条件;
parent 34e7b088
...@@ -13,6 +13,11 @@ ...@@ -13,6 +13,11 @@
<el-form-item label="用工单位" prop="companyName"> <el-form-item label="用工单位" prop="companyName">
<el-input v-model="queryParams.companyName" placeholder="用工单位" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.companyName" placeholder="用工单位" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="下发状态" prop="payStatus">
<el-select v-model="queryParams.payStatus" placeholder="请选择订单状态" clearable>
<el-option v-for="dict in dict.type.pay_status" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</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>
...@@ -291,6 +296,7 @@ export default { ...@@ -291,6 +296,7 @@ export default {
dicts: ['pay_status', 'bx_bear_type', 'payee_acc_type'], dicts: ['pay_status', 'bx_bear_type', 'payee_acc_type'],
data() { data() {
return { return {
userNames: [],
// 用户导入参数 // 用户导入参数
upload: { upload: {
// 是否显示弹出层(用户导入) // 是否显示弹出层(用户导入)
...@@ -632,6 +638,7 @@ export default { ...@@ -632,6 +638,7 @@ export default {
// 多选框选中数据 // 多选框选中数据
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.id) this.ids = selection.map(item => item.id)
this.userNames = selection.map(item => item.userName)
this.single = selection.length !== 1 this.single = selection.length !== 1
this.multiple = !selection.length this.multiple = !selection.length
}, },
...@@ -676,7 +683,8 @@ export default { ...@@ -676,7 +683,8 @@ export default {
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const ids = row.id || this.ids const ids = row.id || this.ids
this.$modal.confirm('是否确认删除发薪详情编号为"' + ids + '"的数据项?').then(function () { const userNames = row.userName || this.userNames
this.$modal.confirm('是否确认删除以下收薪人员:' + userNames + '?').then(function () {
return delPayOutDetail(ids) return delPayOutDetail(ids)
}).then(() => { }).then(() => {
this.getList() this.getList()
......
...@@ -13,6 +13,11 @@ ...@@ -13,6 +13,11 @@
<el-form-item label="用工单位" prop="companyName"> <el-form-item label="用工单位" prop="companyName">
<el-input v-model="queryParams.companyName" placeholder="用工单位" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.companyName" placeholder="用工单位" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="下发状态" prop="payStatus">
<el-select v-model="queryParams.payStatus" placeholder="请选择订单状态" clearable>
<el-option v-for="dict in dict.type.pay_status" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</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>
......
...@@ -184,6 +184,7 @@ export default { ...@@ -184,6 +184,7 @@ export default {
dicts: ['pay_status'], dicts: ['pay_status'],
data() { data() {
return { return {
batchNames: [],
payForm: { payForm: {
payAccNo: null, payAccNo: null,
}, },
...@@ -331,6 +332,7 @@ export default { ...@@ -331,6 +332,7 @@ export default {
// 多选框选中数据 // 多选框选中数据
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.id) this.ids = selection.map(item => item.id)
this.batchNames = selection.map(item => item.batchName)
this.single = selection.length !== 1 this.single = selection.length !== 1
this.multiple = !selection.length this.multiple = !selection.length
}, },
...@@ -373,7 +375,8 @@ export default { ...@@ -373,7 +375,8 @@ export default {
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const ids = row.id || this.ids; const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除发薪批次信息编号为"' + ids + '"的数据项?').then(function () { const batchNames = row.batchName || this.batchNames
this.$modal.confirm('是否确认删除以下发薪任务"' + batchNames + '?').then(function () {
return delPayOutRecord(ids); return delPayOutRecord(ids);
}).then(() => { }).then(() => {
this.getList(); this.getList();
......
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
<img class="roundLogo" src="../assets/images/roundLogo.png" alt=""> <img class="roundLogo" src="../assets/images/roundLogo.png" alt="">
</div> </div>
<h3 style="text-align: center;">短信验证</h3> <h3 style="text-align: center;">短信验证</h3>
<p class="promptConter">数字验证码已通过短信发送至 +86 {{ mobile }},有效期 1 分钟,如未收到,请尝试重新获取。</p> <p class="promptConter">数字验证码已通过短信发送至 +86 {{ mobile }},有效期 5 分钟,如未收到,请尝试重新获取。</p>
<div class="verificationCodeConter"> <div class="verificationCodeConter">
<p class="g-remove-check-code_tip">请输入六位数验证码</p> <p class="g-remove-check-code_tip">请输入六位数验证码</p>
<div class="g-remove-check-code_content" @keyup="fnCheckCodeKeyup" @keydown="fnCheckCodeKeydown" <div class="g-remove-check-code_content" @keyup="fnCheckCodeKeyup" @keydown="fnCheckCodeKeydown"
......
...@@ -16,28 +16,43 @@ ...@@ -16,28 +16,43 @@
<el-input v-model="paramsMonth.companyName" placeholder="请输入单位名称"></el-input> <el-input v-model="paramsMonth.companyName" placeholder="请输入单位名称"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6">
<el-form-item label="下发状态" prop="payStatus">
<el-select v-model="paramsMonth.payStatus" placeholder="请选择订单状态" clearable>
<el-option v-for="dict in dict.type.pay_status" :key="dict.value" :label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="统计月份"> <el-form-item label="统计月份">
<el-date-picker style="width: 100%;" format="yyyy 年 MM 月" value-format="yyyy-MM" <el-date-picker style="width: 100%;" format="yyyy 年 MM 月" value-format="yyyy-MM"
v-model="paramsMonth.timeVal" type="month" placeholder="选择月" v-model="paramsMonth.timeVal" type="month" placeholder="选择月"
:picker-options="pickerOptionsMonth"> :picker-options="pickerOptionsMonth"
>
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div> <div>
<el-button size="small" icon="el-icon-search" type="primary" <el-button size="small" icon="el-icon-search" type="primary"
@click="getStatisticsListMonth">搜索</el-button> @click="getStatisticsListMonth"
>搜索
</el-button>
<el-button size="small" icon="el-icon-refresh" type="info" <el-button size="small" icon="el-icon-refresh" type="info"
@click="reactMonthStatistics">重置</el-button> @click="reactMonthStatistics"
>重置
</el-button>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<!-- 列表内容部分 --> <!-- 列表内容部分 -->
<el-table :data="statisticsMothList" style="width: 100%" :key="statisticsMothKey" <el-table :data="statisticsMothList" style="width: 100%;margin-top: 10px" :key="statisticsMothKey"
:header-cell-style="{ textAlign: 'center' }" :cell-style="{ textAlign: 'center' }" :header-cell-style="{ textAlign: 'center' }" :cell-style="{ textAlign: 'center' }"
height="calc(100vh - 300px)" show-summary :summary-method="getSummariesMonth"> height="calc(100vh - 300px)" show-summary :summary-method="getSummariesMonth"
>
<!-- <el-table-column label="序号" type="index" :index="indexMonthFN" width="50"> <!-- <el-table-column label="序号" type="index" :index="indexMonthFN" width="50">
</el-table-column> --> </el-table-column> -->
<el-table-column prop="timeVal" label="时间"> <el-table-column prop="timeVal" label="时间">
...@@ -84,7 +99,8 @@ ...@@ -84,7 +99,8 @@
<el-pagination @size-change="handleSizeChangeMonth" @current-change="handleCurrentChangeMonth" <el-pagination @size-change="handleSizeChangeMonth" @current-change="handleCurrentChangeMonth"
:current-page="paramsMonth.pageNum" :page-sizes="[10, 20, 30, 40]" :current-page="paramsMonth.pageNum" :page-sizes="[10, 20, 30, 40]"
:page-size="paramsMonth.pageSize" layout="total, sizes, prev, pager, next, jumper" :page-size="paramsMonth.pageSize" layout="total, sizes, prev, pager, next, jumper"
:total="totalMonth"> :total="totalMonth"
>
</el-pagination> </el-pagination>
</div> </div>
</el-tab-pane> </el-tab-pane>
...@@ -102,28 +118,43 @@ ...@@ -102,28 +118,43 @@
<el-input v-model="paramsYear.companyName" placeholder="请输入单位名称"></el-input> <el-input v-model="paramsYear.companyName" placeholder="请输入单位名称"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6">
<el-form-item label="下发状态" prop="payStatus">
<el-select v-model="paramsYear.payStatus" placeholder="请选择订单状态" clearable>
<el-option v-for="dict in dict.type.pay_status" :key="dict.value" :label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="统计年份"> <el-form-item label="统计年份">
<el-date-picker style="width: 100%;" format="yyyy 年" value-format="yyyy" <el-date-picker style="width: 100%;" format="yyyy 年" value-format="yyyy"
v-model="paramsYear.timeVal" type="year" placeholder="选择年" v-model="paramsYear.timeVal" type="year" placeholder="选择年"
:picker-options="pickerOptionsYear"> :picker-options="pickerOptionsYear"
>
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div> <div>
<el-button size="small" icon="el-icon-search" type="primary" <el-button size="small" icon="el-icon-search" type="primary"
@click="getStatisticsListYear">搜索</el-button> @click="getStatisticsListYear"
>搜索
</el-button>
<el-button size="small" icon="el-icon-refresh" type="info" <el-button size="small" icon="el-icon-refresh" type="info"
@click="reactYearStatistics">重置</el-button> @click="reactYearStatistics"
>重置
</el-button>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<!-- 列表内容部分 --> <!-- 列表内容部分 -->
<el-table :data="statisticsYearList" style="width: 100%" :key="statisticsYearKey" <el-table :data="statisticsYearList" style="width: 100%;margin-top: 10px" :key="statisticsYearKey"
:header-cell-style="{ textAlign: 'center' }" :cell-style="{ textAlign: 'center' }" :header-cell-style="{ textAlign: 'center' }" :cell-style="{ textAlign: 'center' }"
height="calc(100vh - 300px)" show-summary :summary-method="getSummariesYear"> height="calc(100vh - 300px)" show-summary :summary-method="getSummariesYear"
>
<!-- <el-table-column label="序号" type="index" :index="indexYearFN" width="50"> <!-- <el-table-column label="序号" type="index" :index="indexYearFN" width="50">
</el-table-column> --> </el-table-column> -->
<el-table-column prop="timeVal" label="时间"> <el-table-column prop="timeVal" label="时间">
...@@ -170,7 +201,8 @@ ...@@ -170,7 +201,8 @@
<el-pagination @size-change="handleSizeChangeYear" @current-change="handleCurrentChangeYear" <el-pagination @size-change="handleSizeChangeYear" @current-change="handleCurrentChangeYear"
:current-page="paramsYear.pageNum" :page-sizes="[10, 20, 30, 40]" :current-page="paramsYear.pageNum" :page-sizes="[10, 20, 30, 40]"
:page-size="paramsYear.pageSize" layout="total, sizes, prev, pager, next, jumper" :page-size="paramsYear.pageSize" layout="total, sizes, prev, pager, next, jumper"
:total="totalYear"> :total="totalYear"
>
</el-pagination> </el-pagination>
</div> </div>
</el-tab-pane> </el-tab-pane>
...@@ -179,8 +211,10 @@ ...@@ -179,8 +211,10 @@
</template> </template>
<script> <script>
import { payOutStatiStics } from '@/api/business/payOutDetail'; import { payOutStatiStics } from '@/api/business/payOutDetail'
export default { export default {
dicts: ['pay_status'],
data() { data() {
return { return {
/** 按月统计参数 */ /** 按月统计参数 */
...@@ -188,6 +222,7 @@ export default { ...@@ -188,6 +222,7 @@ export default {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
timeUnit: 'MONTH', timeUnit: 'MONTH',
payStatus: null,
timeVal: null, timeVal: null,
companyName: null, companyName: null,
contractName: null contractName: null
...@@ -200,6 +235,7 @@ export default { ...@@ -200,6 +235,7 @@ export default {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
timeUnit: 'YEAR', timeUnit: 'YEAR',
payStatus: null,
timeVal: null, timeVal: null,
companyName: null, companyName: null,
contractName: null contractName: null
...@@ -211,28 +247,28 @@ export default { ...@@ -211,28 +247,28 @@ export default {
/** 月份禁用 */ /** 月份禁用 */
pickerOptionsMonth: { pickerOptionsMonth: {
disabledDate(time) { disabledDate(time) {
const currentMonth = new Date(); const currentMonth = new Date()
currentMonth.setDate(1); currentMonth.setDate(1)
currentMonth.setHours(0, 0, 0, 0); currentMonth.setHours(0, 0, 0, 0)
return time.getTime() > currentMonth.getTime(); return time.getTime() > currentMonth.getTime()
} }
}, },
/** 年份禁用 */ /** 年份禁用 */
pickerOptionsYear: { pickerOptionsYear: {
disabledDate(time) { disabledDate(time) {
const currentYear = new Date(); const currentYear = new Date()
currentYear.setMonth(0); currentYear.setMonth(0)
currentYear.setDate(1); currentYear.setDate(1)
currentYear.setHours(0, 0, 0, 0); currentYear.setHours(0, 0, 0, 0)
return time.getTime() > currentYear.getTime(); return time.getTime() > currentYear.getTime()
} }
} }
} }
}, },
created() { created() {
// 获取当前年、月份 // 获取当前年、月份
this.paramsYear.timeVal = String(new Date().getFullYear()); this.paramsYear.timeVal = String(new Date().getFullYear())
this.paramsMonth.timeVal = String(new Date().getFullYear()) + '-' + String(new Date().getMonth() + 1).padStart(2, '0'); this.paramsMonth.timeVal = String(new Date().getFullYear()) + '-' + String(new Date().getMonth() + 1).padStart(2, '0')
}, },
mounted() { mounted() {
this.getStatisticsListMonth() this.getStatisticsListMonth()
...@@ -248,36 +284,36 @@ export default { ...@@ -248,36 +284,36 @@ export default {
}, },
/** 按年统计-总计方法 */ /** 按年统计-总计方法 */
getSummariesYear(param) { getSummariesYear(param) {
const { columns, data } = param; const { columns, data } = param
const sums = []; const sums = []
columns.forEach((column, index) => { columns.forEach((column, index) => {
if (index === 0) { if (index === 0) {
sums[index] = '总计'; sums[index] = '总计'
return; return
} }
if (index === 1) { if (index === 1) {
sums[index] = ''; sums[index] = ''
return return
} }
if (index === 2) { if (index === 2) {
sums[index] = ''; sums[index] = ''
return return
} }
const values = data.map(item => Number(item[column.property])); const values = data.map(item => Number(item[column.property]))
if (!values.every(value => isNaN(value))) { if (!values.every(value => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => { sums[index] = values.reduce((prev, curr) => {
const value = Number(curr); const value = Number(curr)
if (!isNaN(value)) { if (!isNaN(value)) {
return prev + curr; return prev + curr
} else { } else {
return prev; return prev
} }
}, 0); }, 0)
// sums[index] += ' 元'; // sums[index] += ' 元';
} else { } else {
sums[index] = ''; sums[index] = ''
} }
}); })
let arrAY = [] let arrAY = []
sums.forEach((ele, index) => { sums.forEach((ele, index) => {
if (index != 0 && index != 1 && index != 2) { if (index != 0 && index != 1 && index != 2) {
...@@ -289,40 +325,40 @@ export default { ...@@ -289,40 +325,40 @@ export default {
} }
}) })
return arrAY; return arrAY
}, },
/** 按月统计-总计方法 */ /** 按月统计-总计方法 */
getSummariesMonth(param) { getSummariesMonth(param) {
const { columns, data } = param; const { columns, data } = param
const sums = []; const sums = []
columns.forEach((column, index) => { columns.forEach((column, index) => {
if (index === 0) { if (index === 0) {
sums[index] = '总计'; sums[index] = '总计'
return; return
} }
if (index === 1) { if (index === 1) {
sums[index] = ''; sums[index] = ''
return return
} }
if (index === 2) { if (index === 2) {
sums[index] = ''; sums[index] = ''
return return
} }
const values = data.map(item => Number(item[column.property])); const values = data.map(item => Number(item[column.property]))
if (!values.every(value => isNaN(value))) { if (!values.every(value => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => { sums[index] = values.reduce((prev, curr) => {
const value = Number(curr); const value = Number(curr)
if (!isNaN(value)) { if (!isNaN(value)) {
return prev + curr; return prev + curr
} else { } else {
return prev; return prev
} }
}, 0); }, 0)
// sums[index] += ' 元'; // sums[index] += ' 元';
} else { } else {
sums[index] = ''; sums[index] = ''
} }
}); })
let arrAY = [] let arrAY = []
sums.forEach((ele, index) => { sums.forEach((ele, index) => {
if (index != 0 && index != 1 && index != 2) { if (index != 0 && index != 1 && index != 2) {
...@@ -334,7 +370,7 @@ export default { ...@@ -334,7 +370,7 @@ export default {
} }
}) })
return arrAY; return arrAY
}, },
/** 按年统计-重置方法 */ /** 按年统计-重置方法 */
reactYearStatistics() { reactYearStatistics() {
...@@ -342,9 +378,10 @@ export default { ...@@ -342,9 +378,10 @@ export default {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
timeUnit: 'YEAR', timeUnit: 'YEAR',
payStatus: null,
timeVal: String(new Date().getFullYear()), timeVal: String(new Date().getFullYear()),
companyName: null, companyName: null,
contractName: null, contractName: null
} }
this.getStatisticsListYear() this.getStatisticsListYear()
}, },
...@@ -354,9 +391,10 @@ export default { ...@@ -354,9 +391,10 @@ export default {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
timeUnit: 'MONTH', timeUnit: 'MONTH',
payStatus: null,
timeVal: String(new Date().getFullYear()) + '-' + String(new Date().getMonth() + 1).padStart(2, '0'), timeVal: String(new Date().getFullYear()) + '-' + String(new Date().getMonth() + 1).padStart(2, '0'),
companyName: null, companyName: null,
contractName: null, contractName: null
} }
this.getStatisticsListMonth() this.getStatisticsListMonth()
}, },
...@@ -398,7 +436,7 @@ export default { ...@@ -398,7 +436,7 @@ export default {
}, },
/** 获取发薪情况统计列表功能-按月 */ /** 获取发薪情况统计列表功能-按月 */
getStatisticsListMonth() { getStatisticsListMonth() {
this.$modal.loading("加载中..."); this.$modal.loading('加载中...')
payOutStatiStics(this.paramsMonth).then(res => { payOutStatiStics(this.paramsMonth).then(res => {
if (res.code == 200) { if (res.code == 200) {
this.statisticsMothList = res.rows this.statisticsMothList = res.rows
...@@ -411,7 +449,7 @@ export default { ...@@ -411,7 +449,7 @@ export default {
}, },
/** 获取发薪情况统计列表功能-按年 */ /** 获取发薪情况统计列表功能-按年 */
getStatisticsListYear() { getStatisticsListYear() {
this.$modal.loading("加载中..."); this.$modal.loading('加载中...')
payOutStatiStics(this.paramsYear).then(res => { payOutStatiStics(this.paramsYear).then(res => {
if (res.code == 200) { if (res.code == 200) {
this.statisticsYearList = res.rows this.statisticsYearList = res.rows
......
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