提交 e37dc3f4 编写于 作者: Skyeye云's avatar Skyeye云

feat: 新增客户合同选择页面,新增销售订单选择页面

上级 5b60e126
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form'], function (exports) {
winui.renderColor();
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$,
form = layui.form,
table = layui.table;
var objectId = GetUrlParam("objectId");
if (isNull(objectId)) {
winui.window.msg("请传入适用对象信息", {icon: 2, time: 2000});
return false;
}
table.render({
id: 'messageTable',
elem: '#messageTable',
method: 'post',
url: sysMainMation.crmBasePath + 'queryCrmContractList',
where: getTableParams(),
even: true,
page: true,
limits: getLimits(),
limit: getLimit(),
cols: [[
{ type: 'radio', fixed: 'left', rowspan: '2' },
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers', rowspan: '2' },
{ field: 'title', title: '合同名称', rowspan: '2', align: 'left', width: 200, templet: function (d) {
return '<a lay-event="details" class="notice-title-click">' + d.title + '</a>';
}},
{ field: 'oddNumber', title: '合同编号', rowspan: '2', align: 'left', width: 150 },
{ field: 'price', title: '合同金额(元)', rowspan: '2', align: 'left', width: 120 },
{ field: 'paymentPrice', title: '已回款金额(元)', rowspan: '2', align: 'left', width: 140 },
{ field: 'invoicePrice', title: '已开票金额(元)', rowspan: '2', align: 'left', width: 140 },
{ field: 'signingTime', title: '签约日期', rowspan: '2', align: 'center', width: 100 },
{ colspan: '2', title: '来源单据信息', align: 'center' },
{ field: 'state', title: '状态', rowspan: '2', width: 90, templet: function (d) {
return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("crmContractStateEnum", 'id', d.state, 'name');
}},
{ field: 'childState', title: '合同产品状态', rowspan: '2', width: 150, templet: function (d) {
return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("crmContractChildStateEnum", 'id',d.childState, 'name');
}},
{ field: 'createName', title: systemLanguage["com.skyeye.createName"][languageType], rowspan: '2', width: 120 },
{ field: 'createTime', title: systemLanguage["com.skyeye.createTime"][languageType], rowspan: '2', align: 'center', width: 150 },
{ field: 'lastUpdateName', title: systemLanguage["com.skyeye.lastUpdateName"][languageType], rowspan: '2', align: 'left', width: 120 },
{ field: 'lastUpdateTime', title: systemLanguage["com.skyeye.lastUpdateTime"][languageType], rowspan: '2', align: 'center', width: 150 },
{ title: systemLanguage["com.skyeye.operation"][languageType], rowspan: '2', fixed: 'right', align: 'center', width: 200, toolbar: '#tableBar'}
], [
{ field: 'fromTypeId', title: '来源类型', width: 150, templet: function (d) {
return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("crmContractFromType", 'id', d.fromTypeId, 'name');
}},
{ field: 'fromId', title: '单据编号', width: 200, templet: function (d) {
return getNotUndefinedVal(d.fromMation?.oddNumber);
}}
]],
done: function(json) {
matchingLanguage();
initTableSearchUtil.initAdvancedSearch(this, json.searchFilter, form, "请输入单号", function () {
table.reloadData("messageTable", {page: {curr: 1}, where: getTableParams()});
});
for (var i = 0; i < json.rows.length; i++) {
// 只有【审核通过、执行中】状态的合同才可以进行选中
if (json.rows[i].state != 'executing' && json.rows[i].state != 'pass') {
systemCommonUtil.disabledRow(json.rows[i].LAY_TABLE_INDEX, 'radio');
}
}
$('#messageTable').next().find('.layui-table-body').find("table" ).find("tbody").children("tr").on('dblclick',function(){
var dubClick = $('#messageTable').next().find('.layui-table-body').find("table").find("tbody").find(".layui-table-hover");
if (!dubClick.find("input[type='radio']").prop("disabled")) {
dubClick.find("input[type='radio']").prop("checked", true);
form.render();
var chooseIndex = JSON.stringify(dubClick.data('index'));
var obj = json.rows[chooseIndex];
parent.crmContractMation = obj;
parent.refreshCode = '0';
parent.layer.close(index);
}
});
$('#messageTable').next().find('.layui-table-body').find("table" ).find("tbody").children("tr").on('click',function(){
var click = $('#messageTable').next().find('.layui-table-body').find("table").find("tbody").find(".layui-table-hover");
if (!click.find("input[type='radio']").prop("disabled")) {
click.find("input[type='radio']").prop("checked", true);
form.render();
}
})
}
});
form.render();
$("body").on("click", "#reloadTable", function() {
loadTable();
});
function loadTable() {
table.reloadData("messageTable", {where: getTableParams()});
}
function getTableParams() {
return $.extend(true, {objectId: objectId}, initTableSearchUtil.getSearchValue("messageTable"));
}
exports('crmContractChooseList', {});
});
\ No newline at end of file
......@@ -32,26 +32,27 @@ layui.config({
limits: getLimits(),
limit: getLimit(),
cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers' },
{ field: 'title', title: '合同名称', align: 'left', width: 300, templet: function (d) {
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], rowspan: '2', type: 'numbers' },
{ field: 'title', title: '合同名称', rowspan: '2', align: 'left', width: 300, templet: function (d) {
return '<a lay-event="details" class="notice-title-click">' + d.title + '</a>';
}},
{ field: 'oddNumber', title: '合同编号', align: 'left', width: 120 },
{ field: 'price', title: '合同金额(元)', align: 'left', width: 120 },
{ field: 'paymentPrice', title: '已回款金额(元)', align: 'left', width: 140 },
{ field: 'invoicePrice', title: '已开票金额(元)', align: 'left', width: 140 },
{ field: 'signingTime', title: '签约日期', align: 'center', width: 100 },
{ field: 'processInstanceId', title: '流程ID', align: 'center', width: 100, templet: function (d) {
{ field: 'oddNumber', title: '合同编号', rowspan: '2', align: 'left', width: 120 },
{ field: 'price', title: '合同金额(元)', rowspan: '2', align: 'left', width: 120 },
{ field: 'paymentPrice', title: '已回款金额(元)', rowspan: '2', align: 'left', width: 140 },
{ field: 'invoicePrice', title: '已开票金额(元)', rowspan: '2', align: 'left', width: 140 },
{ field: 'signingTime', title: '签约日期', rowspan: '2', align: 'center', width: 100 },
{ colspan: '2', title: '来源单据信息', align: 'center' },
{ field: 'processInstanceId', title: '流程ID', rowspan: '2', align: 'center', width: 100, templet: function (d) {
return '<a lay-event="processDetails" class="notice-title-click">' + getNotUndefinedVal(d.processInstanceId) + '</a>';
}},
{ field: 'state', title: '状态', width: 90, templet: function (d) {
{ field: 'state', title: '状态', rowspan: '2', width: 90, templet: function (d) {
return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("crmContractStateEnum", 'id', d.state, 'name');
}},
{ field: 'createName', title: systemLanguage["com.skyeye.createName"][languageType], align: 'left', width: 120 },
{ field: 'createTime', title: systemLanguage["com.skyeye.createTime"][languageType], align: 'center', width: 150 },
{ field: 'lastUpdateName', title: systemLanguage["com.skyeye.lastUpdateName"][languageType], align: 'left', width: 120 },
{ field: 'lastUpdateTime', title: systemLanguage["com.skyeye.lastUpdateTime"][languageType], align: 'center', width: 150 },
{ title: systemLanguage["com.skyeye.operation"][languageType], fixed: 'right', align: 'center', width: 250, templet: function (d) {
{ field: 'createName', title: systemLanguage["com.skyeye.createName"][languageType], rowspan: '2', align: 'left', width: 120 },
{ field: 'createTime', title: systemLanguage["com.skyeye.createTime"][languageType], rowspan: '2', align: 'center', width: 150 },
{ field: 'lastUpdateName', title: systemLanguage["com.skyeye.lastUpdateName"][languageType], rowspan: '2', align: 'left', width: 120 },
{ field: 'lastUpdateTime', title: systemLanguage["com.skyeye.lastUpdateTime"][languageType], rowspan: '2', align: 'center', width: 150 },
{ title: systemLanguage["com.skyeye.operation"][languageType], rowspan: '2', fixed: 'right', align: 'center', width: 250, templet: function (d) {
var str = '';
if (d.editRow == 1) {
if (authPermission['submitToApproval']) {
......@@ -92,7 +93,14 @@ layui.config({
}
return str;
}}
]],
], [
{ field: 'fromTypeId', title: '来源类型', width: 150, templet: function (d) {
return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("crmContractFromType", 'id', d.fromTypeId, 'name');
}},
{ field: 'fromId', title: '单据编号', width: 200, templet: function (d) {
return getNotUndefinedVal(d.fromMation?.oddNumber);
}}
]],
done: function(json) {
matchingLanguage();
initTableSearchUtil.initAdvancedSearch(this, json.searchFilter, form, "请输入合同名称", function () {
......
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div class="winui-tip alert-info">
注意事项:<br/>
1. 双击指定行可选中数据<br/>
2. 只有状态为【审核通过、执行中】状态的合同可以选择
</div>
<div class="winui-toolbar">
<div class="winui-tool">
<button id="reloadTable" class="winui-toolbtn search-table-btn-right"><i class="fa fa-refresh" aria-hidden="true"></i><language showName="com.skyeye.refreshDataBtn"></language></button>
</div>
</div>
<div style="margin:auto 10px;">
<table id="messageTable" lay-filter="messageTable"></table>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/crmContract/'}).use('chooseList');
</script>
</body>
</html>
\ No newline at end of file
layui.config({
base: basePath,
version: skyeyeVersion
}).extend({
window: 'js/winui.window'
}).define(['window', 'table', 'jquery', 'winui', 'form'], function (exports) {
winui.renderColor();
var index = parent.layer.getFrameIndex(window.name);
var $ = layui.$,
form = layui.form,
table = layui.table;
var holderId = GetUrlParam("holderId");
if (isNull(holderId)) {
winui.window.msg("请传入适用对象信息", {icon: 2, time: 2000});
return false;
}
table.render({
id: 'messageTable',
elem: '#messageTable',
method: 'post',
url: sysMainMation.erpBasePath + 'salesorder001',
where: getTableParams(),
even: true,
page: true,
limits: getLimits(),
limit: getLimit(),
cols: [[
{ type: 'radio', fixed: 'left', rowspan: '2' },
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers', rowspan: '2' },
{ field: 'oddNumber', title: '单号', rowspan: '2', width: 200, align: 'center', templet: function (d) {
return '<a lay-event="details" class="notice-title-click">' + d.oddNumber + '</a>';
}},
{ field: 'holderMation', title: '客户', rowspan: '2', align: 'left', width: 150, templet: function (d) {
return getNotUndefinedVal(d.holderMation?.name);
}},
{ field: 'totalPrice', title: '合计金额', rowspan: '2', align: 'left', width: 120 },
{ field: 'operTime', title: '单据日期', rowspan: '2', align: 'center', width: 140 },
{ colspan: '2', title: '来源单据信息', align: 'center' },
{ field: 'state', title: '状态', rowspan: '2', width: 90, templet: function (d) {
return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("erpOrderStateEnum", 'id', d.state, 'name');
}},
{ field: 'createName', title: systemLanguage["com.skyeye.createName"][languageType], rowspan: '2', width: 120 },
{ field: 'createTime', title: systemLanguage["com.skyeye.createTime"][languageType], rowspan: '2', align: 'center', width: 150 },
{ field: 'lastUpdateName', title: systemLanguage["com.skyeye.lastUpdateName"][languageType], rowspan: '2', align: 'left', width: 120 },
{ field: 'lastUpdateTime', title: systemLanguage["com.skyeye.lastUpdateTime"][languageType], rowspan: '2', align: 'center', width: 150 },
{ title: systemLanguage["com.skyeye.operation"][languageType], rowspan: '2', fixed: 'right', align: 'center', width: 200, toolbar: '#tableBar'}
], [
{ field: 'fromTypeId', title: '来源类型', width: 150, templet: function (d) {
return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("sealOrderFromType", 'id', d.fromTypeId, 'name');
}},
{ field: 'fromId', title: '单据编号', width: 200, templet: function (d) {
return getNotUndefinedVal(d.fromMation?.oddNumber);
}}
]],
done: function(json) {
matchingLanguage();
initTableSearchUtil.initAdvancedSearch(this, json.searchFilter, form, "请输入单号", function () {
table.reloadData("messageTable", {page: {curr: 1}, where: getTableParams()});
});
systemCommonUtil.disabledAllRow('radio');
for (var i = 0; i < json.rows.length; i++) {
// 只有【审核通过、部分完成】的销售订单才可以进行选中
let state = json.rows[i].state;
if (state == 'pass' || state == 'partiallyCompleted') {
systemCommonUtil.enabledRow(json.rows[i].LAY_TABLE_INDEX, 'radio');
}
}
$('#messageTable').next().find('.layui-table-body').find("table" ).find("tbody").children("tr").on('dblclick',function(){
var dubClick = $('#messageTable').next().find('.layui-table-body').find("table").find("tbody").find(".layui-table-hover");
if (!dubClick.find("input[type='radio']").prop("disabled")) {
dubClick.find("input[type='radio']").prop("checked", true);
form.render();
var chooseIndex = JSON.stringify(dubClick.data('index'));
var obj = json.rows[chooseIndex];
parent.salesOrderMation = obj;
parent.refreshCode = '0';
parent.layer.close(index);
}
});
$('#messageTable').next().find('.layui-table-body').find("table" ).find("tbody").children("tr").on('click',function(){
var click = $('#messageTable').next().find('.layui-table-body').find("table").find("tbody").find(".layui-table-hover");
if (!click.find("input[type='radio']").prop("disabled")) {
click.find("input[type='radio']").prop("checked", true);
form.render();
}
})
}
});
form.render();
$("body").on("click", "#reloadTable", function() {
loadTable();
});
function loadTable() {
table.reloadData("messageTable", {where: getTableParams()});
}
function getTableParams() {
return $.extend(true, {holderId: holderId}, initTableSearchUtil.getSearchValue("messageTable"));
}
exports('salesOrderChooseList', {});
});
\ No newline at end of file
......@@ -23,26 +23,34 @@ layui.config({
limits: getLimits(),
limit: getLimit(),
cols: [[
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers' },
{ field: 'oddNumber', title: '单据编号', align: 'left', width: 200, templet: function (d) {
{ title: systemLanguage["com.skyeye.serialNumber"][languageType], type: 'numbers', rowspan: '2' },
{ field: 'oddNumber', title: '单据编号', rowspan: '2', align: 'left', width: 200, templet: function (d) {
return '<a lay-event="details" class="notice-title-click">' + d.oddNumber + '</a>';
}},
{ field: 'holderMation', title: '客户', align: 'left', width: 200, templet: function (d) {
{ field: 'holderMation', title: '客户', rowspan: '2', align: 'left', width: 200, templet: function (d) {
return getNotUndefinedVal(d.holderMation?.name);
}},
{ field: 'totalPrice', title: '合计金额', align: 'left', width: 120 },
{ field: 'operTime', title: '单据日期', align: 'center', width: 140 },
{ field: 'processInstanceId', title: '流程ID', width: 100, templet: function (d) {
{ field: 'totalPrice', title: '合计金额', rowspan: '2', align: 'left', width: 120 },
{ field: 'operTime', title: '单据日期', rowspan: '2', align: 'center', width: 140 },
{ colspan: '2', title: '来源单据信息', align: 'center' },
{ field: 'processInstanceId', title: '流程ID', rowspan: '2', width: 100, templet: function (d) {
return '<a lay-event="processDetails" class="notice-title-click">' + getNotUndefinedVal(d.processInstanceId) + '</a>';
}},
{ field: 'state', title: '状态', width: 90, templet: function (d) {
{ field: 'state', title: '状态', rowspan: '2', width: 90, templet: function (d) {
return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("erpOrderStateEnum", 'id', d.state, 'name');
}},
{ field: 'createName', title: systemLanguage["com.skyeye.createName"][languageType], width: 120 },
{ field: 'createTime', title: systemLanguage["com.skyeye.createTime"][languageType], align: 'center', width: 150 },
{ field: 'lastUpdateName', title: systemLanguage["com.skyeye.lastUpdateName"][languageType], align: 'left', width: 120 },
{ field: 'lastUpdateTime', title: systemLanguage["com.skyeye.lastUpdateTime"][languageType], align: 'center', width: 150 },
{ title: systemLanguage["com.skyeye.operation"][languageType], fixed: 'right', align: 'center', width: 200, toolbar: '#tableBar' }
{ field: 'createName', title: systemLanguage["com.skyeye.createName"][languageType], rowspan: '2', width: 120 },
{ field: 'createTime', title: systemLanguage["com.skyeye.createTime"][languageType], rowspan: '2', align: 'center', width: 150 },
{ field: 'lastUpdateName', title: systemLanguage["com.skyeye.lastUpdateName"][languageType], rowspan: '2', align: 'left', width: 120 },
{ field: 'lastUpdateTime', title: systemLanguage["com.skyeye.lastUpdateTime"][languageType], rowspan: '2', align: 'center', width: 150 },
{ title: systemLanguage["com.skyeye.operation"][languageType], rowspan: '2', fixed: 'right', align: 'center', width: 200, toolbar: '#tableBar' }
], [
{ field: 'fromTypeId', title: '来源类型', width: 150, templet: function (d) {
return skyeyeClassEnumUtil.getEnumDataNameByCodeAndKey("purchaseOrderFromType", 'id', d.fromTypeId, 'name');
}},
{ field: 'fromId', title: '单据编号', width: 200, templet: function (d) {
return getNotUndefinedVal(d.fromMation?.oddNumber);
}}
]],
done: function(json) {
matchingLanguage();
......
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<link href="../../assets/lib/layui/css/layui.css" rel="stylesheet" />
<link href="../../assets/lib/winui/css/winui.css" rel="stylesheet" />
</head>
<body>
<div class="winui-tip alert-info">
注意事项:<br/>
1. 双击指定行可选中数据<br/>
2. 只有状态为:【审核通过、部分完成】的销售订单可以选择
</div>
<div class="winui-toolbar">
<div class="winui-tool">
<button id="reloadTable" class="winui-toolbtn search-table-btn-right"><i class="fa fa-refresh" aria-hidden="true"></i><language showName="com.skyeye.refreshDataBtn"></language></button>
</div>
</div>
<div style="margin:auto 10px;">
<table id="messageTable" lay-filter="messageTable"></table>
</div>
<script src="../../assets/lib/layui/layui.js"></script>
<script src="../../assets/lib/layui/custom.js"></script>
<script type="text/javascript">
layui.config({base: '../../js/salesOrder/'}).use('chooseList');
</script>
</body>
</html>
\ No newline at end of file
......@@ -64,6 +64,10 @@
"purchaseRequestFromType": {"name": "采购申请单来源单据类型", "className": "skyeye-erp#com.skyeye.request.classenum.PurchaseRequestFromType"},
"supplierContractFromType": {"name": "供应商合同来源单据类型", "className": "skyeye-erp#com.skyeye.contract.classenum.SupplierContractFromType"},
"qualityInspectionFromType": {"name": "质检单来源单据类型", "className": "skyeye-erp#com.skyeye.inspection.classenum.QualityInspectionFromType"},
"sealOrderFromType": {"name": "销售订单来源单据类型", "className": "skyeye-erp#com.skyeye.seal.classenum.SealOrderFromType"},
"sealOutLetFromType": {"name": "销售出库单来源单据类型", "className": "skyeye-erp#com.skyeye.seal.classenum.SealOutLetFromType"},
"sealReturnFromType": {"name": "销售退货单来源单据类型", "className": "skyeye-erp#com.skyeye.seal.classenum.SealReturnFromType"},
"crmContractFromType": {"name": "客户合同来源单据类型", "className": "skyeye-erp#com.skyeye.contract.classenum.CrmContractFromType"},
"skyeyeView": {"name": "视图类型", "className": "skyeye-pro#com.skyeye.common.SkyeyeViewEnum"},
"widthScale": {"name": "宽度比例", "className": "skyeye-pro#com.skyeye.attr.classenum.WidthScale"},
......@@ -97,6 +101,7 @@
"operatePosition": {"name": "操作按钮展示位置", "className": "skyeye-pro#com.skyeye.operate.classenum.OperatePosition"},
"crmContractStateEnum": {"name": "合同状态", "className": "skyeye-crm#com.skyeye.contract.classenum.CrmContractStateEnum"},
"crmContractChildStateEnum": {"name": "合同产品状态", "className": "skyeye-crm#com.skyeye.contract.classenum.CrmContractChildStateEnum"},
"crmContractAuthEnum": {"name": "合同权限", "className": "skyeye-crm#com.skyeye.contract.classenum.CrmContractAuthEnum", "pageUrl": "../../tpl/crmContract/crmContractList.html"},
"crmOpportunityStateEnum": {"name": "商机状态", "className": "skyeye-crm#com.skyeye.opportunity.classenum.CrmOpportunityStateEnum"},
"crmOpportunityAuthEnum": {"name": "商机权限", "className": "skyeye-crm#com.skyeye.opportunity.classenum.CrmOpportunityAuthEnum", "pageUrl": "../../tpl/crmOpportunity/crmOpportunityList.html"},
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册