Commit e25995a5 by zhaoxiqing

gsb

parent c37506d6
......@@ -6,6 +6,7 @@ const moment = require('moment');
class EcompanyworkCtl extends CtlBase {
constructor() {
super(CtlBase.getServiceName(EcompanyworkCtl));
this.excelClient = system.getObject("util.excelClient");
}
async info(queryobj, qobj, req) {
......@@ -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) {
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 {
var rs = await this.service.pageByCondition(params);
return system.getResult2(rs);
var page = await this.service.pageByCondition(params);
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) {
console.log(e);
return system.getErrResult2("您的网络不稳, 请稍后重试");
......@@ -50,6 +98,9 @@ class EcompanyworkCtl extends CtlBase {
}
// async mysave(queryobj, qobj, req) {
// qobj = qobj || {};
// var ecompany = req.session.ecompany;
......@@ -110,4 +161,4 @@ class EcompanyworkCtl extends CtlBase {
}
}
module.exports = EcompanyworkCtl;
\ No newline at end of file
module.exports = EcompanyworkCtl;
const system = require("../../system");
const ServiceBase = require("../sve.base");
const logCtl = system.getObject("web.oplogCtl");
const moment = require("moment");
const axios = require("axios");
class EcompanyworkService extends ServiceBase {
constructor() {
super(ServiceBase.getDaoName(EcompanyworkService));
this.ecompanyDao = system.getObject("db.ecompanyDao");
this.callApiUrl = system.callApiUrl();
}
async getById(id) {
var info = await this.dao.model.findOne({where:{id:id}, raw: true});
......@@ -21,52 +24,14 @@ class EcompanyworkService extends ServiceBase {
}
async pageByCondition(params) {
var currentPage = Number(params.currentPage || 0);
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;
return this.callApi(this.callApiUrl,params);
}
async setCompany(list) {
if (!list || list.length == 0) {
return;
}
var companyIds = [];
for (var item of list) {
companyIds.push(item.ecompanyId || 0);
......@@ -76,5 +41,20 @@ class EcompanyworkService extends ServiceBase {
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;
\ No newline at end of file
module.exports = EcompanyworkService;
......@@ -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) {
if(!data) {
return "";
......
......@@ -16,7 +16,7 @@
remote
clearable
reserve-keyword
style="width:340px;"
style="width:380px;"
placeholder="请搜索公司名称"
@change="nameChange1"
:remote-method="getCompanyNames1"
......@@ -26,23 +26,23 @@
:key="item.id"
:label="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-select>
</div>
<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 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"
placeholder="开始时间" >
</el-date-picker>
</div>
<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"
placeholder="结束时间" >
</el-date-picker>
</div>
</div>
<!-- <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 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"-->
<!-- placeholder="开始时间" >-->
<!-- </el-date-picker>-->
<!-- </div>-->
<!-- <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"-->
<!-- placeholder="结束时间" >-->
<!-- </el-date-picker>-->
<!-- </div>-->
<!-- </div>-->
<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>
......@@ -55,10 +55,10 @@
<div>
<div style="line-height: 36px;padding-bottom: 20px;">
<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>
<el-table
<el-table
stripe
fix="true"
:data="search.list"
......@@ -67,22 +67,21 @@
empty-text="暂无需求"
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="ecompany.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="endDate" 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="unit" 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="payPrice" 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="created_at" label="创建日期" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column label="操作" align="center" >
<template slot-scope="scope">
<a href="javascript:;" @click="openEdit(scope.row.id)" style="text-decoration: none;color:#59C1A6;font-size: 14px;">修改</a>
</template>
</el-table-column>
<el-table-column prop="mtchId" label="企业id" :formatter="onColFormater" width="80" align="center" ></el-table-column>
<el-table-column prop="com_name" 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="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="card_nu" label="银行卡" :formatter="onColFormater" align="center" show-overflow-tooltip ></el-table-column>
<el-table-column prop="send_amount" 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="created_time" label="开始时间" :formatter="onColFormater" align="center" ></el-table-column>
<el-table-column prop="updated_at" label="确认时间" :formatter="onColFormater" align="center" ></el-table-column>
<!-- <el-table-column label="操作" align="center" > -->
<!-- <template slot-scope="scope">-->
<!-- <a href="javascript:;" @click="openEdit(scope.row.id)" style="text-decoration: none;color:#59C1A6;font-size: 14px;">修改</a> -->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
<div style="width:100%;text-align: center;margin-top: 20px">
<el-pagination
......@@ -145,7 +144,7 @@
<el-form-item label="工作日:" prop="workDay" >
<el-input v-model="workload.workDay" placeholder="请输入工作日" maxlength="50" style="width:340px;" clearable ></el-input>
</el-form-item>
<el-form-item label="计量单位:" prop="unit" >
<el-input v-model="workload.unit" placeholder="请输入计量单位" maxlength="50" style="width:340px;" clearable ></el-input>
</el-form-item>
......@@ -164,4 +163,4 @@
</div>
</el-dialog>
</div>
</gsb-pcpage>
\ No newline at end of file
</gsb-pcpage>
......@@ -7,6 +7,7 @@
return {
workload: {},
userOne:{},
editTitle: "新增",
showEdit: false,
saveLoading: false,
......@@ -171,7 +172,7 @@
getCompanyNames1(query) {
var self = this;
self.nameLoading1 = true;
self.$root.postReq("/web/ecompanyCtl/suggest", {
self.$root.postReq("/web/etemplatebusiCtl/suggest2", {
name: query
}).then(function (d) {
self.nameLoading1 = false;
......@@ -183,7 +184,7 @@
console.log(self.nameMap1, "----------------------");
});
setTimeout(() => {
self.nameLoading1 = false;
self.nameLoading1 = false;
}, 15000);
},
......@@ -210,7 +211,7 @@
}
});
setTimeout(() => {
self.nameLoading = false;
self.nameLoading = false;
}, 15000);
},
......@@ -241,7 +242,21 @@
}
});
},
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"
}
\ No newline at end of file
}
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