Commit e25995a5 by zhaoxiqing

gsb

parent c37506d6
...@@ -6,6 +6,7 @@ const moment = require('moment'); ...@@ -6,6 +6,7 @@ const moment = require('moment');
class EcompanyworkCtl extends CtlBase { class EcompanyworkCtl extends CtlBase {
constructor() { constructor() {
super(CtlBase.getServiceName(EcompanyworkCtl)); super(CtlBase.getServiceName(EcompanyworkCtl));
this.excelClient = system.getObject("util.excelClient");
} }
async info(queryobj, qobj, req) { async info(queryobj, qobj, req) {
...@@ -37,12 +38,59 @@ class EcompanyworkCtl extends CtlBase { ...@@ -37,12 +38,59 @@ class EcompanyworkCtl extends CtlBase {
} }
// async zccompanylist(queryobj, qobj, req) {
// var params = qobj.search || {};
//
// try {
// var rs = await this.service.pageByCondition(params);
// return system.getResult2(rs);
// } catch (e) {
// console.log(e);
// return system.getErrResult2("您的网络不稳, 请稍后重试");
// }
// }
async zccompanylist(queryobj, qobj, req) { async zccompanylist(queryobj, qobj, req) {
var params = qobj.search || {}; var params = qobj.search || {};
try {
return await this.service.pageByCondition(params);
} catch (e) {
console.log(e);
return system.getErrResult2("您的网络不稳, 请稍后重试");
}
}
async allExport(queryobj, req, res) {
var params = JSON.parse(queryobj.search);
params.currentPage = 1;
params.pageSize = 60000;
try { try {
var rs = await this.service.pageByCondition(params); var page = await this.service.pageByCondition(params);
return system.getResult2(rs);
var csvobj = {
fileName: "工作量确认单" + moment().format("YYYYMMDD") + ".csv",
rows: page.data.rows,
opts: {
fields: ['mtchId', 'com_name', 'username', 'iphone', 'id_nu', 'card_nu', 'send_amount', 'workload','created_time','updated_at'],
unwind: [],
unwindBlank: true,
excelStrings: true,
},
headers: {
'mtchId': '企业id',
'com_name': "企业名称",
'username': '姓名',
'iphone': "手机号",
'id_nu': "身份证",
"card_nu": "银行卡号",
'send_amount': "应发金额",
'workload': "工作量",
'created_time': "开始时间",
'updated_at': "确认时间"
},
};
await this.excelClient.exportCsv(req, res, csvobj);
} catch (e) { } catch (e) {
console.log(e); console.log(e);
return system.getErrResult2("您的网络不稳, 请稍后重试"); return system.getErrResult2("您的网络不稳, 请稍后重试");
...@@ -50,6 +98,9 @@ class EcompanyworkCtl extends CtlBase { ...@@ -50,6 +98,9 @@ class EcompanyworkCtl extends CtlBase {
} }
// async mysave(queryobj, qobj, req) { // async mysave(queryobj, qobj, req) {
// qobj = qobj || {}; // qobj = qobj || {};
// var ecompany = req.session.ecompany; // var ecompany = req.session.ecompany;
......
const system = require("../../system"); const system = require("../../system");
const ServiceBase = require("../sve.base"); const ServiceBase = require("../sve.base");
const logCtl = system.getObject("web.oplogCtl");
const moment = require("moment"); const moment = require("moment");
const axios = require("axios");
class EcompanyworkService extends ServiceBase { class EcompanyworkService extends ServiceBase {
constructor() { constructor() {
super(ServiceBase.getDaoName(EcompanyworkService)); super(ServiceBase.getDaoName(EcompanyworkService));
this.ecompanyDao = system.getObject("db.ecompanyDao"); this.ecompanyDao = system.getObject("db.ecompanyDao");
this.callApiUrl = system.callApiUrl();
} }
async getById(id) { async getById(id) {
var info = await this.dao.model.findOne({where:{id:id}, raw: true}); var info = await this.dao.model.findOne({where:{id:id}, raw: true});
...@@ -21,45 +24,7 @@ class EcompanyworkService extends ServiceBase { ...@@ -21,45 +24,7 @@ class EcompanyworkService extends ServiceBase {
} }
async pageByCondition(params) { async pageByCondition(params) {
var currentPage = Number(params.currentPage || 0); return this.callApi(this.callApiUrl,params);
var pageSize = Number(params.pageSize || 10);
var where = {};
if (params.ecompanyId) {
where.ecompanyId = params.ecompanyId;
}
var beginMonth = Number(params.beginMonth || 0);
var endMonth = Number(params.endMonth || 0);
if (beginMonth && endMonth) {
whereObj.month = {
[this.db.Op.between]: [beginMonth, endMonth]
};
} else if (beginMonth && !endMonth) {
whereObj.month = {
[this.db.Op.gte]: beginMonth
};
} else if (!beginMonth && endMonth) {
whereObj.month = {
[this.db.Op.lte]: endMonth
};
}
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"]);
this.handleDate(row, ["beginDate", "endDate"], "YYYY-MM-DD", -8);
row.price = system.f2y(row.price);
row.payPrice = system.f2y(row.payPrice);
}
await this.setCompany(page.rows);
}
return page;
} }
async setCompany(list) { async setCompany(list) {
...@@ -76,5 +41,20 @@ class EcompanyworkService extends ServiceBase { ...@@ -76,5 +41,20 @@ class EcompanyworkService extends ServiceBase {
item.ecompany = companyMap["id_" + (item.ecompanyId || 0)] || {}; item.ecompany = companyMap["id_" + (item.ecompanyId || 0)] || {};
} }
} }
async callApi(url, data) {
logCtl.info({
optitle: "laowubao接口===>工作量确认单info",
op: url+name,
content: "参数:data=" + data,
clientIp: ""
});
let res = await axios({
method: 'post',
url: url,
data: data
});
return res.data;
}
} }
module.exports = EcompanyworkService; module.exports = EcompanyworkService;
...@@ -282,6 +282,20 @@ class System { ...@@ -282,6 +282,20 @@ class System {
} }
} }
static callApiUrl() {
var path = "/api/operator/laoActionApi/workLoadPage2";
if (settings.env == "dev") {
var domain = "http://127.0.0.1";
return {
channel: domain + ":3006" + path,
}
} else {
return {
channel: "laowubao-service" + path,
}
}
}
static encryption(data) { static encryption(data) {
if(!data) { if(!data) {
return ""; return "";
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
remote remote
clearable clearable
reserve-keyword reserve-keyword
style="width:340px;" style="width:380px;"
placeholder="请搜索公司名称" placeholder="请搜索公司名称"
@change="nameChange1" @change="nameChange1"
:remote-method="getCompanyNames1" :remote-method="getCompanyNames1"
...@@ -26,23 +26,23 @@ ...@@ -26,23 +26,23 @@
:key="item.id" :key="item.id"
:label="item.name" :label="item.name"
:value="item.name"> :value="item.name">
<span style="float: left;width:150px;">{{ item.name }}</span> <span style="float: left;width:200px;">{{ item.name }}_{{ item.id }}</span>
</el-option> </el-option>
</el-select> </el-select>
</div> </div>
<div style="float:left;display: inline-block;background-color:#FFFFFF;color:#828282;"> <!-- <div style="float:left;display: inline-block;background-color:#FFFFFF;color:#828282;">-->
<div style="float:left;font-size:14px;color:#828282;">创建时间: {{search.beginTime}}</div> <!-- <div style="float:left;font-size:14px;color:#828282;">创建时间: {{search.beginTime}}</div>-->
<div class="block" style="float:left;margin-left: 5px;"> <!-- <div class="block" style="float:left;margin-left: 5px;">-->
<el-date-picker v-model="search.beginTime" @change="getList" align="right" type="date" value-format="yyyy-MM-dd" <!-- <el-date-picker v-model="search.beginTime" @change="getList" align="right" type="date" value-format="yyyy-MM-dd"-->
placeholder="开始时间" > <!-- placeholder="开始时间" >-->
</el-date-picker> <!-- </el-date-picker>-->
</div> <!-- </div>-->
<div class="block" style="float:left;margin-left: 15px;"> <!-- <div class="block" style="float:left;margin-left: 15px;">-->
<el-date-picker v-model="search.endTime" @change="getList" align="right" type="date" value-format="yyyy-MM-dd" <!-- <el-date-picker v-model="search.endTime" @change="getList" align="right" type="date" value-format="yyyy-MM-dd"-->
placeholder="结束时间" > <!-- placeholder="结束时间" >-->
</el-date-picker> <!-- </el-date-picker>-->
</div> <!-- </div>-->
</div> <!-- </div>-->
<div style="float:left;margin-top:5px;"> <div style="float:left;margin-top:5px;">
<el-button @click="resetSearch()" style="float:right;width:68px;height:36px;background-color: #54C4A7;color: #FFFFFF;font-size: 14px;padding-top:10px;" >重置</el-button> <el-button @click="resetSearch()" style="float:right;width:68px;height:36px;background-color: #54C4A7;color: #FFFFFF;font-size: 14px;padding-top:10px;" >重置</el-button>
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
<div> <div>
<div style="line-height: 36px;padding-bottom: 20px;"> <div style="line-height: 36px;padding-bottom: 20px;">
<span style="float:left;color:#2F2F2F;font-size: 14px;">共{{search.total}}条记录</span> <span style="float:left;color:#2F2F2F;font-size: 14px;">共{{search.total}}条记录</span>
<el-button @click="openEdit()" style="float:right;width:120px;height:36px;color: #FFFFFF;font-weight: 400;border-radius: 4px;font-size: 14px;background-color: #59C1A6;padding-top:11px">新增工作量</el-button> <el-button @click="exportList()" style="float:right;width:120px;height:36px;color: #FFFFFF;font-weight: 400;border-radius: 4px;font-size: 14px;background-color: #59C1A6;padding-top:11px">导出</el-button>
</div> </div>
<div> <div>
<el-table <el-table
...@@ -67,22 +67,21 @@ ...@@ -67,22 +67,21 @@
empty-text="暂无需求" empty-text="暂无需求"
header-cell-style="background-color: #F5F5F5;color: #2F2F2F;font-size: 14px;font-weight:400;" header-cell-style="background-color: #F5F5F5;color: #2F2F2F;font-size: 14px;font-weight:400;"
row-style="height:50px;" > row-style="height:50px;" >
<el-table-column prop="id" label="序号" :formatter="onColFormater" width="80" align="center" ></el-table-column> <el-table-column prop="mtchId" label="企业id" :formatter="onColFormater" width="80" align="center" ></el-table-column>
<el-table-column prop="ecompany.name" label="企业名称" :formatter="onColFormater" align="center" ></el-table-column> <el-table-column prop="com_name" label="企业名称" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="beginDate" label="开始时间" :formatter="onColFormater" align="center" ></el-table-column> <el-table-column prop="username" label="姓名" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="endDate" label="结束时间" :formatter="onColFormater" align="center" ></el-table-column> <el-table-column prop="iphone" label="手机号" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="id_nu" label="身份证号" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="workDay" label="工作日" :formatter="onColFormater" align="center" ></el-table-column> <el-table-column prop="card_nu" label="银行卡" :formatter="onColFormater" align="center" show-overflow-tooltip ></el-table-column>
<el-table-column prop="unit" label="计量单位" :formatter="onColFormater" align="center" ></el-table-column> <el-table-column prop="send_amount" label="应发金额" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="price" label="单价" :formatter="onColFormater" align="center" ></el-table-column> <el-table-column prop="workload" label="工作量" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="payPrice" label="应付价格" :formatter="onColFormater" align="center" ></el-table-column> <el-table-column prop="created_time" label="开始时间" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="serviceContent" label="服务内容" :formatter="onColFormater" align="center" show-overflow-tooltip ></el-table-column> <el-table-column prop="updated_at" label="确认时间" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="created_at" label="创建日期" :formatter="onColFormater" align="center" ></el-table-column> <!-- <el-table-column label="操作" align="center" > -->
<el-table-column label="操作" align="center" > <!-- <template slot-scope="scope">-->
<template slot-scope="scope"> <!-- <a href="javascript:;" @click="openEdit(scope.row.id)" style="text-decoration: none;color:#59C1A6;font-size: 14px;">修改</a> -->
<a href="javascript:;" @click="openEdit(scope.row.id)" style="text-decoration: none;color:#59C1A6;font-size: 14px;">修改</a> <!-- </template>-->
</template> <!-- </el-table-column>-->
</el-table-column>
</el-table> </el-table>
<div style="width:100%;text-align: center;margin-top: 20px"> <div style="width:100%;text-align: center;margin-top: 20px">
<el-pagination <el-pagination
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
return { return {
workload: {}, workload: {},
userOne:{},
editTitle: "新增", editTitle: "新增",
showEdit: false, showEdit: false,
saveLoading: false, saveLoading: false,
...@@ -171,7 +172,7 @@ ...@@ -171,7 +172,7 @@
getCompanyNames1(query) { getCompanyNames1(query) {
var self = this; var self = this;
self.nameLoading1 = true; self.nameLoading1 = true;
self.$root.postReq("/web/ecompanyCtl/suggest", { self.$root.postReq("/web/etemplatebusiCtl/suggest2", {
name: query name: query
}).then(function (d) { }).then(function (d) {
self.nameLoading1 = false; self.nameLoading1 = false;
...@@ -242,6 +243,20 @@ ...@@ -242,6 +243,20 @@
}); });
}, },
exportList() {
window.open("/web/ecompanyworkCtl/allExport" + this.getExportParams());
},
getExportParams() {
var params = {};
for(var f in this.search) {
if(f == "list") {
continue;
}
params[f] = this.search[f];
}
return "?search=" + encodeURIComponent(JSON.stringify(params));
},
}, },
vname: "gsb-ecompanywork" vname: "gsb-ecompanywork"
} }
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