Commit 45f626e5 by 赵庆

gsb

parent fdf231c3
# Default ignored files
/workspace.xml
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/bpo-admin.iml" filepath="$PROJECT_DIR$/.idea/bpo-admin.iml" />
</modules>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>
\ No newline at end of file
const system = require("../../system");
const settings = require("../../../config/settings");
const CtlBase = require("../ctl.base");
const moment = require("moment");
class EntcompanyCtl extends CtlBase {
constructor() {
super(CtlBase.getServiceName(EntcompanyCtl));
this.userSve = system.getObject("service.userSve");
this.utilesignbaoSve = system.getObject("service.utilesignbaoSve");
this.esealSve = system.getObject("service.esealSve");
}
async signList(queryobj, qobj, req) {
var params = qobj.search;
try {
var page = await this.service.listByCondition(params);
return system.getResult2(page);
} catch (e) {
console.log(e);
return system.getErrResult2("您的网络不稳, 请稍后重试");
}
}
async signSave(queryobj, qobj, req) {
try {
var rtn = null;
var dkcompany = await this.buildCompeny(qobj);
if (dkcompany.id) {
//修改
await dkcompany.save();
} else {
//新增
dkcompany = await this.service.create(dkcompany);
}
var rs;
var eseal = await this.esealSve.findOne({
nameA: dkcompany.sealName
});
if (eseal) {
dkcompany.sealId = eseal.sealId;
await dkcompany.save();
} else {
// var accountId = "740b19e0799a4d7abacfa1a31fb72b1e"; // 测试
// var accountId = "f50d8f8cdd8d4bcda6b1aaad1d4b14bf"; // 生产
var accountId = settings.apiconfig.companyAccountId(); // 生产
var aliasName = dkcompany.sealName + "-alias";
rs = await this.utilesignbaoSve.creatEntSignet(accountId, aliasName, dkcompany.sealName, "", "", "dkcompanyCtl");
if (rs && rs.code == 1) {
dkcompany.sealId = rs.data.sealId;
await dkcompany.save();
await this.esealSve.create({
nameA: dkcompany.sealName,
sealId: dkcompany.sealId,
});
} else {
}
}
// if(isCreateSealKey || !dkcompany.sealFileKey) {
// // 创建企业印章fileKey
// // var accountId = "740b19e0799a4d7abacfa1a31fb72b1e"; // 测试
// var accountId = "f50d8f8cdd8d4bcda6b1aaad1d4b14bf"; // 生产
// var aliasName = dkcompany.id + "-" + uuidv4();
// var rs = await this.utilesignbaoSve.createEntSeal(dkcompany.sealUrl, accountId, aliasName, "dkcompanyCtl");
// if(rs.code == 1) {
// dkcompany.sealFileKey = rs.data.fileKey;
// dkcompany.sealId = rs.data.sealId;
// await dkcompany.save();
// }
// }
return system.getResult2(rs, null);
} catch (e) {
console.log("-----------------------------e");
console.log(e);
return system.getErrResult2("您的网络不稳, 请稍后重试");
}
}
async buildCompeny(qobj) {
var dkcompany = null;
if (qobj.id) {
dkcompany = await this.service.findById(qobj.id);
// dkcompany.isCreateSealKey = dkcompany.sealUrl != qobj.sealUrl;
} else {
dkcompany = {};
}
dkcompany.name = qobj.name;
dkcompany.legal = qobj.legal || "";
dkcompany.contactMobile = qobj.contactMobile || "";
dkcompany.addr = qobj.addr || "";
dkcompany.owner_id = qobj.owner_id;
dkcompany.sealName = qobj.sealName || "";
return dkcompany;
}
async mySignList(queryobj, qobj, req) {
var params = qobj.search;
if (!req.session.user.isAdmin) {
if (!req.session.myIds || req.session.myIds.length == 0) {
params.ownerIds = [req.session.user.id];
} else {
params.ownerIds = req.session.myIds;
}
}
try {
var page = await this.service.pageByCondition(params);
return system.getResult2(page);
} catch (e) {
console.log(e);
return system.getErrResult2("您的网络不稳, 请稍后重试");
}
}
async suggest(queryobj, qobj, req) {
var name = this.trim(qobj.name);
if (!name) {
return system.getResult2([])
}
var ids = [];
if (qobj.ismy) {
ids.push(req.session.user.id);
}
var list = await this.service.suggest(name, ids);
return system.getResult2(list);
}
async allList(queryobj, qobj, req) {
var params = {};
var loginUser = req.session.user;
var roles = loginUser.Roles || [];
var isZC = false;
for (var r of roles) {
if (r.code == 'zcry' || r.code == 'zcgl') {
isZC = true;
break;
}
}
if (!loginUser.isAdmin && !isZC) {
if (!req.session.myIds || req.session.myIds.length == 0) {
return system.getResult2({count: 0, rows: []});
}
params.ownerIds = req.session.myIds;
}
return await this.list(queryobj, qobj, req, params);
}
async myList(queryobj, qobj, req) {
var params = {
owner_id: req.session.user.id
}
return await this.list(queryobj, qobj, req, params);
}
async list(queryobj, qobj, req, params) {
// 1待审核 2通过 3驳回
// "proxyAuditStatus": {"0":"待审核","1":"审核通过","2":"审核驳回"},
if (!qobj.search) {
qobj.search = {};
}
var auditType;
if (params) {
if (params.owner_id) {
qobj.ownerIds = [params.owner_id];
} else if (params.ownerIds) {
qobj.ownerIds = params.ownerIds;
}
}
qobj.raw = true;
var rs = await super.findAndCountAll(queryobj, qobj, req);
if (rs && rs.data && rs.data.rows) {
var ownerIds = [];
for (var row of rs.data.rows) {
if (row.updated_at) {
row.updated_at = new Date(row.updated_at).Format("yyyy-MM-dd hh:mm");
}
if (row.created_at) {
row.created_at = new Date(row.created_at).Format("yyyy-MM-dd hh:mm");
}
if (row.updated_at) {
row.updated_at = new Date(row.updated_at).Format("yyyy-MM-dd hh:mm");
}
if (row.owner_id) {
ownerIds.push(row.owner_id);
}
}
var usermap = await this.userSve.findMapByIds(ownerIds);
if (ownerIds.length > 0) {
for (var row of rs.data.rows) {
if (row.owner_id) {
row.owner = usermap["id_" + row.owner_id];
}
}
}
}
return rs;
}
async info(queryobj, qobj, req) {
var id = qobj.id;
try {
var info = await this.service.getInfo(id);
if (info) {
if (info.owner_id) {
info.owner = await this.userSve.findById(info.owner_id);
}
if (info.created_at) {
info.created_at = moment(info.created_at).format("YYYY-MM-DD HH:mm:ss");
}
}
return system.getResult2(info);
} catch (e) {
console.log(e);
return system.getErrResult2("您的网络不稳, 请稍后重试");
}
}
}
module.exports = EntcompanyCtl;
const system = require("../../system");
const Dao = require("../dao.base");
class EntcompanyDao extends Dao {
constructor() {
super(Dao.getModelName(EntcompanyDao));
}
async findMapByIds(ids, attrs) {
var result = [];
if (!ids || ids.length == 0) {
return result;
}
attrs = attrs || "*";
var sql = "SELECT " + attrs + " FROM c_dkcompany where id IN (:ids) ";
var list = await this.customQuery(sql, {ids: ids});
if (!list || list.length == 0) {
return result;
}
for (var item of list) {
result["id_" + item.id] = item;
}
return result;
}
async idsLikeName(name) {
var result = [];
if (!name || !name.trim()) {
return result;
}
var sql = "SELECT id FROM c_dkcompany WHERE name LIKE :name ";
var list = await this.customQuery(sql, {name: "%" + name + "%"});
if (list) {
for (var item of list) {
result.push(item.id);
}
}
return result;
}
async findNamesByOwnerIds(ownerIds) {
var result = [];
if (!ownerIds || ownerIds.length == 0) {
return result;
}
var sql = "SELECT name FROM c_dkcompany WHERE owner_id IN (:ownerIds) ";
var list = await this.customQuery(sql, {ownerIds: ownerIds});
if (!list || list.length == 0) {
return result;
}
for (var item of list) {
result.push(item.name);
}
return result;
}
async findIdsByOwnerIds(ownerIds) {
var result = [];
if (!ownerIds || ownerIds.length == 0) {
return result;
}
var sql = "SELECT id FROM c_dkcompany WHERE owner_id IN (:ownerIds) ";
var list = await this.customQuery(sql, {ownerIds: ownerIds});
if (!list || list.length == 0) {
return result;
}
for (var item of list) {
result.push(item.id);
}
return result;
}
async findMapByNames(names, attrs) {
var result = [];
if (!ids || ids.length == 0) {
return result;
}
attrs = attrs || "*";
var sql = "SELECT " + attrs + " FROM c_dkcompany where name IN (:names) WHERE deleted_at IS NULL ";
var list = await this.customQuery(sql, {names: names});
if (!list || list.length == 0) {
return result;
}
for (var item of list) {
result[item.name] = item;
}
return result;
}
async suggest(name, ownerIds) {
if (!name) {
return [];
}
var sql = "SELECT id, name FROM `c_dkcompany` WHERE name LIKE :queryLike AND deleted_at IS NULL ";
if (ownerIds && ownerIds.length > 0) {
sql = sql + " AND owner_id IN (:ownerIds) ";
}
sql = sql + " ORDER BY id ASC ";
var list = await this.customQuery(sql, {queryLike: "%" + name + "%", ownerIds: ownerIds});
return list || [];
}
}
module.exports = EntcompanyDao;
const system=require("../../system");
const Dao=require("../dao.base");
class EntcontractDao extends Dao{
constructor(){
super(Dao.getModelName(EntcontractDao));
}
extraModelFilter(qobj) {
var usereaccountWhere = {};
if(qobj.accountMobile) {
usereaccountWhere.mobile = qobj.accountMobile;
}
if(qobj.accountName) {
usereaccountWhere.userName = qobj.accountName;
}
if(qobj.accountIdno) {
usereaccountWhere.personsSign = qobj.accountIdno;
}
let v = [
{model:this.db.models.ecompany,attributes:["id","name"]},
{model:this.db.models.usereaccount,attributes:["id","userName","mobile", "personsSign", "email"], where:usereaccountWhere},
{model:this.db.models.etemplate,attributes:["id","name"]}
];
//return {"key":"include","value":[{model:this.db.models.app,},{model:this.db.models.role,as:"Roles",attributes:["id","name"],joinTableAttributes:['created_at']}]};
return {"key":"include","value": v};
}
async findUserSinedCompanyIds(usereaccount_id) {
let sql = "SELECT ecompany_id FROM `c_econtract` WHERE usereaccount_id = :usereaccount_id AND begin_at < NOW() AND end_at > NOW() AND eflowstatus = '2' GROUP BY ecompany_id";
let tmpParas = {usereaccount_id : usereaccount_id}
let rs = await this.customQuery(sql, tmpParas);
let list = [];
if(rs && rs.length > 0) {
for(let r of rs) {
list.push(r.ecompany_id);
}
}
return list;
}
}
module.exports=EntcontractDao;
const system=require("../../system");
const Dao=require("../dao.base");
class EnttemplateDao extends Dao{
constructor(){
super(Dao.getModelName(EnttemplateDao));
}
async findIdsLikeName(name) {
var result = [];
if(!name) {
return result;
}
var sql = "SELECT id FROM `c_dktemplate` WHERE NAME LIKE :nameLike";
var list = await this.customQuery(sql, {nameLike: "%" + name + "%"});
if(!list || list.length == 0) {
return result;
}
for(var item of list) {
result.push(item.id);
}
return result;
}
async findMapByIds(ids, attrs) {
var result = {};
if(!ids || ids.length == 0) {
return result;
}
attrs = attrs || "*";
var sql = "SELECT " + attrs + " FROM c_dktemplate where id IN (:ids) ";
var list = await this.customQuery(sql, {ids:ids});
if(!list || list.length == 0) {
return result;
}
for(var item of list) {
result[item.id] = item;
}
return result;
}
}
module.exports=EnttemplateDao;
......@@ -1556,9 +1556,9 @@ module.exports = {
"entcontractall": {"title": "签约管理", "config": null, "path": "/entcontractall", "comname": "entcontractall"},
// 企业电子签-个人
"entcompanymy": {"title": "企业管理", "config": null, "path": "/entcompanymy", "comname": "entcompanymy"},
"enttemplatemy": {"title": "模板管理", "config": null, "path": "/enttemplatemy", "comname": "enttemplatemy"},
"entcontractmy": {"title": "签约管理", "config": null, "path": "/entcontractmy", "comname": "entcontractmy"},
"entcompanymy": {"title": "企业管理", "config": null, "path": "/entcompanyadmin", "comname": "entcompanymy"},
"enttemplatemy": {"title": "模板管理", "config": null, "path": "/enttemplateadmin", "comname": "enttemplatemy"},
"entcontractmy": {"title": "签约管理", "config": null, "path": "/entcontractall", "comname": "entcontractmy"},
// "dkcompanyadmin": {"title": "企业管理", "config": null, "path": "/dkcompanyadmin", "comname": "dkcompanyadmin"},
},
......
module.exports={
"bizName":"dkcompanyadmin",
"bizName":"entcompanyadmin",
"list":{
columnMetaData:[
]
......
module.exports={
"bizName":"enttemplateadmin",
"list":{
columnMetaData:[
]
},
"form":[
],
"search":[
],
"auth":{
"add":[
],
"edit":[
],
"delete":[
// {"icon":"el-icon-remove","title":"删除","type":"default","key":"delete","isInRow":true},
],
"common":[
],
}
}
const system = require("../../system");
const settings = require("../../../config/settings");
const uiconfig = system.getUiConfig2(settings.wxconfig.appId);
module.exports = (db, DataTypes) => {
return db.define("entcompany", {
name: DataTypes.STRING,
sealName: DataTypes.STRING,
sealId: DataTypes.STRING,
legal: DataTypes.STRING,
contactName: DataTypes.STRING,
contactMobile: DataTypes.STRING,
addr: DataTypes.STRING,
owner_id: DataTypes.STRING,
}, {
paranoid: true, //假的删除
underscored: true,
version: true,
freezeTableName: true,
//freezeTableName: true,
// define the table's name
tableName: 'c_entcompany',
validate: {},
indexes: [
// Create a unique index on email
// {
// unique: true,
// fields: ['email']
// },
//
// // Creates a gin index on data with the jsonb_path_ops operator
// {
// fields: ['data'],
// using: 'gin',
// operator: 'jsonb_path_ops'
// },
//
// // By default index name will be [table]_[fields]
// // Creates a multi column partial index
// {
// name: 'public_by_author',
// fields: ['author', 'status'],
// where: {
// status: 'public'
// }
// },
//
// // A BTREE index with a ordered field
// {
// name: 'title_index',
// method: 'BTREE',
// fields: ['author', {attribute: 'title', collate: 'en_US', order: 'DESC', length: 5}]
// }
]
});
}
\ No newline at end of file
const system = require("../../system");
const settings = require("../../../config/settings");
const uiconfig = system.getUiConfig2(settings.wxconfig.appId);
module.exports = (db, DataTypes) => {
return db.define("entcontract", {
name: DataTypes.STRING,
edocid: DataTypes.STRING, // 合同id
eflowid: DataTypes.STRING, // 合同流程id
esignUrl: DataTypes.STRING, // 合同签署链接
fileurl: DataTypes.STRING, // 合同文件地址
eflowstatusname: {
// 销售状态名称
type: DataTypes.STRING(20),
defaultValue: "签署中",
},
eflowstatus: {
type: DataTypes.ENUM,
values: Object.keys(uiconfig.config.pdict.eflowstatus),
set: function (val) {
this.setDataValue("eflowstatus", val);
this.setDataValue("eflowstatusname", uiconfig.config.pdict.eflowstatus[val]);
},
defaultValue: 1,
},
entcompany_id: DataTypes.INTEGER,
enttemplate_id: DataTypes.INTEGER,
user_id: DataTypes.INTEGER,
usereaccount_id: DataTypes.INTEGER,
resultDescription: DataTypes.STRING,
completed_at: DataTypes.DATE,
begin_at: DataTypes.DATE,
end_at: DataTypes.DATE,
}, {
paranoid: true, //假的删除
underscored: true,
version: true,
freezeTableName: true,
//freezeTableName: true,
// define the table's name
tableName: 'c_entcontract',
validate: {},
indexes: [
// Create a unique index on email
// {
// unique: true,
// fields: ['email']
// },
//
// // Creates a gin index on data with the jsonb_path_ops operator
// {
// fields: ['data'],
// using: 'gin',
// operator: 'jsonb_path_ops'
// },
//
// // By default index name will be [table]_[fields]
// // Creates a multi column partial index
// {
// name: 'public_by_author',
// fields: ['author', 'status'],
// where: {
// status: 'public'
// }
// },
//
// // A BTREE index with a ordered field
// {
// name: 'title_index',
// method: 'BTREE',
// fields: ['author', {attribute: 'title', collate: 'en_US', order: 'DESC', length: 5}]
// }
]
});
}
\ No newline at end of file
module.exports = (db, DataTypes) => {
return db.define("enttemplate", {
entcompany_id: DataTypes.INTEGER,
aggreement_id: DataTypes.INTEGER,
name: DataTypes.STRING,
codeurl:DataTypes.STRING,
remark:DataTypes.STRING,
placeholderkey:DataTypes.STRING,
},{
paranoid: true,//假的删除
underscored: true,
version: true,
freezeTableName: true,
//freezeTableName: true,
// define the table's name
tableName: 'c_enttemplate',
validate: {
},
indexes:[
// Create a unique index on email
// {
// unique: true,
// fields: ['email']
// },
//
// // Creates a gin index on data with the jsonb_path_ops operator
// {
// fields: ['data'],
// using: 'gin',
// operator: 'jsonb_path_ops'
// },
//
// // By default index name will be [table]_[fields]
// // Creates a multi column partial index
// {
// name: 'public_by_author',
// fields: ['author', 'status'],
// where: {
// status: 'public'
// }
// },
//
// // A BTREE index with a ordered field
// {
// name: 'title_index',
// method: 'BTREE',
// fields: ['author', {attribute: 'title', collate: 'en_US', order: 'DESC', length: 5}]
// }
]
});
}
const system = require("../../system");
const ServiceBase = require("../sve.base");
const moment = require("moment");
class EntcompanyService extends ServiceBase {
constructor(){
super(ServiceBase.getDaoName(EntcompanyService));
this.dktemplateDao = system.getObject("db.dktemplateDao");
this.userDao = system.getObject("db.userDao");
}
async isExistsCompanyName(name) {
//0-不存在,1-存在
var company = await super.findOne({name:name});
if(company) {
return 1;
}
return 0;
}
async findMapByIds(ids) {
return await this.dao.findMapByIds(ids);
}
async listByCondition(params) {
var currentPage = Number(params.currentPage || 0);
var pageSize = Number(params.pageSize || 10);
var where = {};
if (params.name) {
where.name = {
[this.db.Op.like]: "%" + params.name + "%"
};
}
if(params.ownerIds && params.ownerIds.length > 0) {
where.owner_id = {[this.db.Op.in]: params.ownerIds};
}
if(params.owner_id) {
where.owner_id = params.owner_id;
}
var orderby = [
["id", 'desc']
];
var attributes = ["id", "name", "sealName", "sealId", "legal", "contactName", "contactMobile", "addr", "owner_id", "created_at"];
var page = await this.getPageList(currentPage, pageSize, where, orderby, attributes);
if (page && page.rows) {
for(var row of page.rows) {
this.handleDate(row, ["created_at"]);
}
await this.setOwner(page.rows);
}
return page;
}
async getInfo(id) {
var attrs = ["id", "name", "sealUrl", "sealFileKey", "sealId", "legal", "phone", "addr", "owner_id", "created_at"];
return await this.dao.model.findOne({
where: { id: id }, attrs, raw: true
});
}
async setOwner(rows) {
if (!rows || rows.length == 0) {
return;
}
var ownerIds = [];
for (var row of rows) {
if (row.owner_id) {
ownerIds.push(row.owner_id);
}
}
if (ownerIds.length == 0) {
return;
}
var ownerMap = await this.userDao.findMapByIds(ownerIds);
for (var row of rows) {
if (row.owner_id) {
row.owner = ownerMap["id_" + row.owner_id] || {};
}
}
console.log(rows);
}
async findNamesByOwnerIds(ownerIds) {
return await this.dao.findNamesByOwnerIds(ownerIds);
}
async findIdsByOwnerIds(ownerIds) {
return await this.dao.findIdsByOwnerIds(ownerIds);
}
async suggest(name, ownerIds) {
return await this.dao.suggest(name, ownerIds);
}
}
module.exports = EntcompanyService;
\ No newline at end of file
const system=require("../../system");
const ServiceBase=require("../sve.base");
class EnttemplateService extends ServiceBase{
constructor(){
super(ServiceBase.getDaoName(EnttemplateService));
//this.appDao=system.getObject("db.appDao");
this.ecompanyDao = system.getObject("db.ecompanyDao");
this.ecompanymainDao = system.getObject("db.ecompanymainDao");
}
async signPage(params) {
var currentPage = Number(params.currentPage || 0);
var pageSize = Number(params.pageSize || 10);
var where = {};
if (params.name) {
where.name = {
[this.db.Op.like]: "%" + params.name + "%"
};
}
if (params.entcompany_id) {
where.entcompany_id = params.entcompany_id;
}
var orderby = [
["id", 'desc']
];
var attributes = ["id", "entcompany_id", "aggreement_id", "name", "codeurl", "remark", "created_at", "updated_at"];
var page = await this.getPageList(currentPage, pageSize, where, orderby, attributes);
if (page && page.rows) {
for(var row of page.rows) {
this.handleDate(row, ["created_at" , "updated_at"]);
}
await this.setCompany(page.rows);
}
return page;
}
async getListByName(name){
return await this.dao.getListByName(name);
}
async setCompany(list) {
if (!list || list.length == 0) {
return;
}
var companyIds = [];
for (var item of list) {
companyIds.push(item.entcompany_id || 0);
}
var companyMap = await this.ecompanyDao.findMapByIds(companyIds, " id, name ");
for (var item of list) {
item.ecompany = companyMap["id_" + (item.entcompany_id || 0)];
}
}
// async setMain(list) {
// if (!list || list.length == 0) {
// return;
// }
//
// var ids = [];
// for (var item of list) {
// if(item.ecompanyMainId) {
// ids.push(item.ecompanyMainId);
// }
// }
// var mainMap = await this.ecompanymainDao.findMapByIds(ids);
// for (var item of list) {
// item.ecompanyMain = mainMap[item.ecompanyMainId] || {};
// }
// }
async getInfo(id) {
var attrs = ["id", "name", "ecompanyMainId", "mainId", "nameA", "templateid", "filekey", "filepath", "qrcodeurl",
"placeholderkey", "isEnabled", "created_at", "updated_at", "ecompany_id"];
return await this.dao.model.findOne({
where: { id: id }, attrs, raw: true
});
}
async findReadyContracts(obj){
obj.isEnabled=true;
let sql = "SELECT t1.*, t2.id AS companyid, t2.`name` AS companyname " +
"FROM `c_etemplate` t1 " +
"INNER JOIN c_ecompany t2 ON t1.`ecompany_id` = t2.id " +
"WHERE t1.isEnabled = 1 AND t1.ecompany_id = :ecompany_id " +
"AND t1.id NOT IN (SELECT etemplate_id FROM `c_econtract` WHERE usereaccount_id = :usereaccount_id AND eflowstatus = '2') " +
"AND t2.`deleted_at` IS NULL AND t1.`deleted_at` IS NULL ";
let params = {ecompany_id:obj.ecompany_id, usereaccount_id : obj.eaccount_id};
var list = await this.dao.customQuery(sql, params);
if(!list || list.length == 0) {
return [];
}
list.forEach(item => {
var ecompany = {};
ecompany.id = item.companyid;
ecompany.name = item.companyname;
item.ecompany = ecompany;
});
return list;
}
}
module.exports=EnttemplateService;
......@@ -7,10 +7,10 @@ var settings={
},
database:{
dbname : "bpo",
user : "root",
password : "root",
user : "write",
password : "write",
config : {
host: '192.168.18.110',
host: '192.168.18.237',
dialect: 'mysql',
operatorsAliases: false,
pool: {
......
{
template: '${tmpl}',
data: function () {
var validMethod = (rule, value, callback) => {
return this.validfileds(rule, value, callback);
};
return {
entcompany: {},
editTitle: "新增",
showEdit: false,
saveLoading: false,
ownerList:[],
ownerMap:[],
ownerLoading:false,
owner_id: "",
search: {
list: [],
currentPage: 1,
pageSize: 20,
total : 0,
name:'',
},
rules: {
name : [
{ required: true, message: '请输入企业名称', trigger: 'blur' },
{ validator: validMethod, trigger: 'blur' }
],
legal : [
{ required: true, message: '请输入法人姓名', trigger: 'blur' },
{ validator: validMethod, trigger: 'blur' }
],
addr : [
{ required: true, message: '请输入联系地址', trigger: 'blur' },
{ validator: validMethod, trigger: 'blur' }
],
contactMobile: [
{ required: true, message: '请输入联系电话', trigger: 'blur' },
{ validator: validMethod, trigger: 'blur' }
],
sealName: [
{ required: true, message: '请输入公章名称', trigger: 'blur' },
{ validator: validMethod, trigger: 'blur' }
],
/*
sealUrl : [
{ required: true, message: '请上传企业公章', trigger: 'blur' },
{ validator: validMethod, trigger: 'blur' }
],*/
owner_id: [
{ required: true, message: '请选择客户归属人员', trigger: 'blur' },
{ validator: validMethod, trigger: 'blur' }
],
a : [],
},
}
},
mounted: function () {
this.resetSearch(true);
},
created: function () {},
methods: {
getEmptySearch() {
return {
list: [],
currentPage: 1,
pageSize: 20,
total : 0,
name:'',
}
},
resetSearch() {
this.search = this.getEmptySearch();
this.getList();
},
tableHeaderColor({ row, column, rowIndex, columnIndex }) {
if (rowIndex === 0) {
return 'background-color: #F5F5F5;color: #2F2F2F;font-size: 14px;font-weight:400;'
}
},
opSearch() {
this.search.currentPage = 1;
this.search.total = 0;
this.getList();
},
getList() {
var self = this;
var params = this.getParams();
this.$root.postReq("/web/entcompanyCtl/signList", {
search: params
}).then(function (d) {
if (d.status == 0) {
self.search.list = d.data.rows || [];
self.search.total = d.data.count || 0;
} else {
}
});
},
getParams() {
var params = {};
for(var f in this.search) {
if(f == "list") {
continue;
}
params[f] = this.search[f];
}
return params;
},
onColFormater(row, column, cellValue, index) {
return cellValue || "---";
},
getDKcompany(id) {
var self = this;
self.$root.postReq("/web/entcompanyCtl/info", {
id: id,
}).then(function (d) {
if (d.status == 0) {
if(d.data) {
d.data.isEnabled = d.data.isEnabled ? true : false;
}
self.entcompany = d.data;
self.entcompany.owner_id = self.entcompany.owner_id || "";
self.owner_id = (d.data.owner || {}).id || "";
if(d.data.owner) {
self.ownerList = [d.data.owner];
self.ownerMap["id_" + d.data.owner.id] = d.data.owner;
} else {
self.ownerList = null;
}
} else {
self.$message.warning(d.msg || `您的网络不稳定, 请稍后重试`);
}
});
},
toDetail(id) {
},
openEdit(id) {
this.ownerLoading = false;
this.saveLoading = false;
this.owner_id = null;
if(this.$refs.entcompany) {
this.$refs.entcompany.resetFields();
}
if(id) {
this.getDKcompany(id);
this.editTitle = "修改";
} else {
this.ownerList = [];
this.editTitle = "新增";
this.entcompany = {isEnabled:true};
}
this.showEdit = true;
},
handleSizeChange(val) {
this.search.pageSize = val;
this.resetSearch();
},
handleCurrentChange(val) {
this.search.currentPage = val;
this.getList();
},
validfileds(rule, value, callback) {
var self = this;
if(rule.field == 'owner_id') {
if(!self.entcompany.owner_id) {
return callback(new Error("请选择归属人员"));
} else {
return callback();
}
} else {
return callback();
}
},
ownerChange(val) {
console.log(val, );
this.entcompany.owner_id = val || 0;
this.owner = this.ownerMap["id_" + val];
console.log(this.owner);
},
getOwnerList(query) {
var self = this;
self.ownerLoading = true;
self.$root.postReq("/web/userCtl/rolesSuggest", {
name: query,
roleCodes: ["zczy", "zcgl", "qdzy", "qdgl", "ptzy", "ptgl", "dkhzy", "dkhgl", "ziying", "tzgl", "tzzy"]
}).then(function (d) {
self.ownerLoading = false;
self.ownerList = d.data || [];
self.ownerMap = [];
for (var o of self.ownerList) {
self.ownerMap["id_" + o.id] = o;
}
});
setTimeout(() => {
self.ownerLoading = false;
}, 15000);
},
saveCompany() {
var self = this;
self.saveLoading = true;
self.$refs.entcompany.validate((valid) => {
if (valid) {
self.$root.postReq("/web/entcompanyCtl/signSave", self.entcompany).then(function (d) {
if (d.status == 0) {
self.$message.success(`保存成功`);
self.showEdit = false;
self.getList();
} else {
self.$alert(d.msg || '保存失败', '提示', {
confirmButtonText: '确定',
callback: action => {}
});
}
self.saveLoading = false;
});
} else {
self.saveLoading = false;
return false;
}
});
setTimeout(() => {
self.saveLoading = false;
}, 5000);
},
},
vname: "gsb-entcompanyadmin"
}
\ No newline at end of file
{
template: '${tmpl}',
data: function () {
var validMethod = (rule, value, callback) => {
return this.validfileds(rule, value, callback);
};
return {
etemplate: {isEnabled:true},
editTitle: "新增",
showEdit: false,
saveLoading: false,
nameLoading: false,
nameList: [],
nameMap: [],
nameLoading2: false,
nameList2: [],
nameMap2:[],
uploadResult: null,
fileList:[],
mainList:[],
search: {
list: [],
currentPage: 1,
pageSize: 20,
total : 0,
name:'',
},
rules: {
ecompanyName : [
{ required: true, message: '请输入公司名称', trigger: 'blur' },
{ validator: validMethod, trigger: 'blur' }
],
codeurl: [
{ required: true, message: '请上传签约协议', trigger: 'blur' },
],
a : [],
},
}
},
mounted: function () {
this.resetSearch(true);
this.getMainList();
},
created: function () {},
methods: {
getEmptySearch() {
return {
list: [],
currentPage: 1,
pageSize: 20,
total : 0,
name:'',
}
},
resetSearch() {
this.search = this.getEmptySearch();
this.getList();
},
tableHeaderColor({ row, column, rowIndex, columnIndex }) {
if (rowIndex === 0) {
return 'background-color: #F5F5F5;color: #2F2F2F;font-size: 14px;font-weight:400;'
}
},
opSearch() {
this.search.currentPage = 1;
this.search.total = 0;
this.getList();
},
getMainList() {
var self = this;
this.$root.postReq("/web/ecompanymainCtl/all", {
}).then(function (d) {
if (d.status == 0) {
self.mainList = d.data || [];
} else {
}
});
},
getList() {
var self = this;
var params = this.getParams();
this.$root.postReq("/web/enttemplateCtl/signList", {
search: params
}).then(function (d) {
if (d.status == 0) {
self.search.list = d.data.rows || [];
self.search.total = d.data.count || 0;
} else {
}
});
},
exportList() {
window.open("/web/enttemplateCtl/signExport" + this.getExportParams());
},
getParams() {
var params = {};
for(var f in this.search) {
if(f == "list") {
continue;
}
params[f] = this.search[f];
}
return params;
},
getExportParams() {
var params = {};
for(var f in this.search) {
if(f == "list") {
continue;
}
params[f] = this.search[f];
}
return "?search=" + encodeURIComponent(JSON.stringify(params));
},
onColFormater(row, column, cellValue, index) {
return cellValue || "---";
},
getEtemplate(id) {
var self = this;
self.$root.postReq("/web/enttemplateCtl/info", {
id: id,
}).then(function (d) {
if (d.status == 0) {
if(d.data) {
d.data.isEnabled = d.data.isEnabled ? true : false;
}
self.etemplate = d.data;
if(self.etemplate.codeurl) {
self.fileList = [{
name: "模板文件",
url: self.etemplate.codeurl,
}];
} else {
self.uploadResult = null;
}
console.log(self.uploadResult);
} else {
self.$message.warning(d.msg || `您的网络不稳定, 请稍后重试`);
}
});
},
toDetail(id) {
},
openEdit(id) {
this.clearUpload();
if(id) {
this.editTitle = "修改";
this.getEtemplate(id);
} else {
this.editTitle = "修改";
this.etemplate = {isEnabled:true};
}
this.showEdit = true;
},
handleSizeChange(val) {
this.search.pageSize = val;
this.resetSearch();
},
handleCurrentChange(val) {
this.search.currentPage = val;
this.getList();
},
validfileds(rule, value, callback) {
var self = this;
if(rule.field == "ecompanyName") {
if(!self.etemplate.entcompany_id) {
return callback(new Error("请重新选择公司名称"));
}
}
return callback();
},
nameChange(val) {
var self = this;
var item = self.nameMap[val];
self.search.entcompany_id = (item || {}).id || "";
},
nameChange2(val) {
var self = this;
var item = self.nameMap2[val];
self.etemplate.entcompany_id = (item || {}).id || "";
},
getCompanyNames(query) {
var self = this;
self.nameLoading = true;
self.$root.postReq("/web/ecompanyCtl/suggest", {
name: query
}).then(function (d) {
self.nameLoading = false;
self.nameList = d.data || [];
self.nameMap = [];
for(var item of self.nameList) {
self.nameMap[item.name] = item;
}
});
setTimeout(() => {
self.nameLoading = false;
}, 15000);
},
getCompanyNames2(query) {
var self = this;
self.nameLoading2 = true;
self.$root.postReq("/web/ecompanyCtl/suggest", {
name: query
}).then(function (d) {
self.nameLoading2 = false;
self.nameList2 = d.data || [];
self.nameMap2 = [];
for(var item of self.nameList2) {
self.nameMap2[item.name] = item;
}
});
setTimeout(() => {
self.nameLoading2 = false;
}, 15000);
},
clearUpload() {
var self = this;
self.uploadResult = null;
self.etemplate.codeurl = "";
if(self.$refs.upload3 && self.$refs.upload3.$refs && self.$refs.upload3.$refs.upload) {
self.$refs.upload3.$refs.upload.clearFiles();
}
},
uploadsuccess(v) {
if(!v || !v[0] || !v[0].url) {
this.$message.warning("上传失败");
return;
}
this.etemplate.codeurl = v[0].url;
},
saveTemplate() {
var self = this;
self.$refs.etemplate.validate((valid) => {
if (valid) {
self.saveLoading = true;
setTimeout(() => {
self.saveLoading = false;
}, 15000);
self.$root.postReq("/web/enttemplateCtl/mysave", self.etemplate).then(function (d) {
if (d.status == 0) {
self.$message.success(`保存成功`);
self.showEdit = false;
self.getList();
} else {
self.$alert(d.msg || '保存失败', '提示', {
confirmButtonText: '确定',
callback: action => {}
});
}
self.saveLoading = false;
});
} else {
self.saveLoading = false;
return false;
}
});
},
},
vname: "gsb-ecompanyadmin"
}
\ 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