Commit ad7f962d by zhaoxiqing

gsb

parent a43b1d99
var system = require("../../system")
var settings = require("../../../config/settings");
const CtlBase = require("../ctl.base");
const moment = require("moment");
class BusistatCtl extends CtlBase {
constructor() {
super(CtlBase.getServiceName(BusistatCtl));
this.departmentSve = system.getObject("service.departmentSve")
this.departmentSve = system.getObject("service.departmentSve");
this.excelClient = system.getObject("util.excelClient");
}
async suggest(query,qobj,req){
......@@ -16,8 +18,57 @@ class BusistatCtl extends CtlBase {
var list = await this.departmentSve.suggestByName(name);
return system.getResult2(list);
}
async signList(queryobj, qobj, req) {
var params = qobj.search;
try {
var page = await this.service.signPage(params);
return system.getResult2(page);
} catch (e) {
console.log(e);
return system.getErrResult2("您的网络不稳, 请稍后重试");
}
}
async signExport(pobj, req, res) {
var params = JSON.parse(pobj.search);
try {
params.currentPage = 1;
params.pageSize = 60000;
var page = await this.service.signPage(params);
var csvobj = {
fileName: "发薪统计-" + moment().format("YYYYMMDD") + ".csv",
rows: page.rows,
opts: {
fields: ['id', 'busi_id', 'busi_name', 'user_name','user_department_name','times','amt','actual_amt','deduct_amt','income_tax','service_tax','added_value_tax'],
unwind: ['busistat'],
excelStrings: true,
unwindBlank: true
},
headers: {
"id": "编号",
'busi_id': "商户id",
'busi_name': "企业名称",
'user_name': "业务员姓名",
'user_department_name':"业务员部门",
'times':"发薪次数",
'amt':"申请发薪金额",
'actual_amt':"实发金额",
'deduct_amt':"扣除金额",
'income_tax':"个税",
'service_tax':"服务费",
'added_value_tax':"增值税"
},
};
await this.excelClient.exportCsv(req, res, csvobj);
} catch (e) {
console.log(e);
return system.getErrResult2("您的网络不稳, 请稍后重试");
}
}
}
module.exports = BusistatCtl;
......@@ -6,6 +6,36 @@ class BusistatService extends ServiceBase {
super(ServiceBase.getDaoName(BusistatService));
}
async signPage(params) {
var currentPage = Number(params.currentPage || 0);
var pageSize = Number(params.pageSize || 10);
var where = {};
if (params.busi_name) {
where.busi_name = {
[this.db.Op.like]: "%" + params.busi_name + "%"
};
}
if (params.user_department_name) {
where.user_department_name = params.user_department_name;
}
var orderby = [
["id", 'desc']
];
var page = await this.getPageList(currentPage, pageSize, where, orderby);
if (page && page.rows) {
for(var row of page.rows) {
this.handleDate(row, ["created_at" , "updated_at"]);
}
// await this.setCompany(page.rows);
// await this.setMain(page.rows);
}
return page;
}
}
module.exports = BusistatService;
......@@ -3,22 +3,36 @@
<div style="height: auto;min-width: 1000px; max-width: 1500px;">
<el-card style="background-color: #FFFFFF;padding:10px 10px 30px 10px;margin-top: 20px;">
<div style="width:100%;line-height: 40px;">
<div style="float:left;width: 300px;">
<span style="color:2F2F2F;font-size: 14px;" >开始时间: </span>
<el-input v-model="search.name" placeholder="请输入开始时间" maxlength="100" clearable style="max-width:200px;height: 36px;" ></el-input>
</div>
<div style="float:left;width: 300px;">
<span style="color:2F2F2F;font-size: 14px;" >结束时间: </span>
<el-input v-model="search.name" placeholder="请输入结束时间" maxlength="100" clearable style="max-width:200px;height: 36px;" ></el-input>
</div>
<div style="width:100%;line-height: 40px;">
<div style="float:left;width: 400px;">
<span style="color:2F2F2F;font-size: 14px; float:left;" >统计日期: </span>
<el-date-picker
v-model="search.applyBegin"
type="date"
placeholder="开始时间"
style="width:140px;height: 36px;float:left;"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
default-value="">
</el-date-picker>
<el-date-picker
v-model="search.applyEnd"
type="date"
style="width:140px;height: 36px;margin-left: 16px;float:left;"
placeholder="结束时间"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
default-value="">
</el-date-picker>
</div>
<div style="float:left;width: 300px;">
<span style="color:2F2F2F;font-size: 14px;" >企业名称: </span>
<el-input v-model="search.name" placeholder="请输入模板名称" maxlength="100" clearable style="max-width:200px;height: 36px;" ></el-input>
<el-input v-model="search.busi_name" placeholder="请输入模板名称" maxlength="100" clearable style="max-width:200px;height: 36px;" ></el-input>
</div>
<div style="float:left;">
<span style="color:2F2F2F;font-size: 14px;" >部门: </span>
<el-select
v-model="search.ecompanyName"
v-model="search.user_department_name"
filterable
remote
clearable
......@@ -62,17 +76,17 @@
header-cell-style="background-color: #F5F5F5;color: #2F2F2F;font-size: 14px;font-weight:400;"
row-style="height:50px;" >
<el-table-column prop="id" label="序号" :formatter="onColFormater" width="80" align="center" ></el-table-column>
<el-table-column prop="name" label="部门名称" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="ecompany.name" label="业务员" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="ecompanyMain.alias" label="商户号" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="ecompanyMain.alias" label="商户名称" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="ecompanyMain.alias" label="公司名称" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="ecompanyMain.alias" label="实发金额" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="ecompanyMain.alias" label="服务费金额" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="ecompanyMain.alias" label="总扣除金额" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="ecompanyMain.alias" label="个税金额" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="ecompanyMain.alias" label="增值税金额" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="ecompanyMain.alias" label="发薪笔数" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="user_department_name" label="部门名称" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="user_name" label="业务员" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="busi_id" label="商户号" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="busi_id" label="商户名称" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="busi_name" label="公司名称" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="actual_amt" label="实发金额" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="service_tax" label="服务费金额" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="deduct_amt" label="总扣除金额" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="income_tax" label="个税金额" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="added_value_tax" label="增值税金额" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="times" label="发薪笔数" :formatter="onColFormater" align="center" ></el-table-column>
</el-table>
<div style="width:100%;text-align: center;margin-top: 20px">
<el-pagination
......
......@@ -95,7 +95,7 @@
getList() {
var self = this;
var params = this.getParams();
this.$root.postReq("/web/etemplateCtl/signList", {
this.$root.postReq("/web/busistatCtl/signList", {
search: params
}).then(function (d) {
if (d.status == 0) {
......@@ -106,7 +106,7 @@
});
},
exportList() {
window.open("/web/etemplateCtl/signExport" + this.getExportParams());
window.open("/web/busistatCtl/signExport" + this.getExportParams());
},
getParams() {
var params = {};
......
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