Basf_FCL/FCL/FineUIPro.Web/common/Main.aspx

763 lines
42 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="main.aspx.cs" Inherits="FineUIPro.Web.common.main" %>
<%@ Register Assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
Namespace="System.Web.UI.DataVisualization.Charting" TagPrefix="asp" %>
<!DOCTYPE html>
<html>
<head id="Head1" runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>首页</title>
<link href="../res/css/common.css" rel="stylesheet" type="text/css" />
<script src="../Scripts/jquery-3.7.1.min.js"></script>
<script src="../Scripts/layer/layer.js"></script>
<script src="../Scripts/echarts/echarts.js"></script>
<style>
.f-grid-row.color1,
.f-grid-row.color1 .f-icon,
.f-grid-row.color1 a {
color: #A52A2A;
}
.f-grid-row.color2,
.f-grid-row.color2 .f-icon,
.f-grid-row.color2 a {
color: #A9A9A9;
}
.colorRed {
color: #FF0000;
}
</style>
</head>
<body class="f-body-bgcolor">
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" runat="server" AutoSizePanelID="Panel2" />
<f:Panel ID="Panel2" CssClass="blockpanel" Margin="0px" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelTopRegion" RegionPosition="Center"
Title="中间面板" ShowBorder="false" ShowHeader="false" Layout="VBox">
<Items>
<f:HiddenField runat="server" ID="hidVendor_Name"></f:HiddenField>
<f:HiddenField runat="server" ID="hidFO_NO"></f:HiddenField>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" EnableCollapse="true" runat="server"
BoxFlex="1" DataKeyNames="ID" AllowCellEditing="true" ClicksToEdit="2" DataIDField="ID"
AllowSorting="true" SortField="FO_NO" SortDirection="DESC" OnSort="Grid1_Sort"
AllowPaging="true" IsDatabasePaging="true" PageSize="15" OnPageIndexChange="Grid1_PageIndexChange" EnableRowSelectEvent="true" EnableRowClickEvent="true" OnRowClick="Grid1_RowClick" AllowFilters="true"
OnFilterChange="Grid1_FilterChange" OnRowDataBound="Grid1_RowDataBound">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server">
<Items>
<f:DropDownList ID="drpValidContracts" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DropDownList_SelectedIndexChanged">
<f:ListItem Value="1" Text="Valid Contracts" />
<f:ListItem Value="2" Text="All Contracts" />
</f:DropDownList>
<f:TextBox ID="txtDescription" runat="server" EmptyText="Description" AutoPostBack="true" OnTextChanged="DropDownList_SelectedIndexChanged"></f:TextBox>
<f:TextBox ID="txtContractor" runat="server" EmptyText="Contractor" AutoPostBack="true" OnTextChanged="DropDownList_SelectedIndexChanged"></f:TextBox>
<f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
<f:Button ID="btnSearch" runat="server" Icon="SystemSearch" Text="Search" OnClick="btnSearch_Click"></f:Button>
<f:HiddenField ID="hdKeyword" runat="server"></f:HiddenField>
<f:HiddenField ID="hdContractNo" runat="server"></f:HiddenField>
<f:HiddenField ID="hdContractAdmin" runat="server"></f:HiddenField>
<f:HiddenField ID="hdPricingScheme" runat="server"></f:HiddenField>
<f:HiddenField ID="hdItemsString" runat="server"></f:HiddenField>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField Width="40px">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="100px" ColumnID="FO_NO" DataField="FO_NO" SortField="FO_NO"
FieldType="String" HeaderText="FO No." HeaderTextAlign="Center" EnableFilter="true">
<Filter EnableMultiFilter="true" ShowMatcher="true">
<Operator>
<f:DropDownList ID="DropDownList4" runat="server">
<f:ListItem Text="equal to" Value="equal" />
<f:ListItem Text="include" Value="contain" Selected="true" />
</f:DropDownList>
</Operator>
</Filter>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="Discipline" DataField="Discipline" SortField="Discipline"
FieldType="String" HeaderText="Discipline" HeaderTextAlign="Center" EnableFilter="true">
<Filter EnableMultiFilter="true" ShowMatcher="true">
<Operator>
<f:DropDownList ID="DropDownList1" runat="server">
<f:ListItem Text="equal to" Value="equal" />
<f:ListItem Text="include" Value="contain" Selected="true" />
</f:DropDownList>
</Operator>
</Filter>
</f:RenderField>
<f:RenderField Width="130px" ColumnID="Contractor" DataField="Contractor" SortField="Contractor"
FieldType="String" HeaderText="Contractor" HeaderTextAlign="Center" EnableFilter="true">
<Filter EnableMultiFilter="true" ShowMatcher="true">
<Operator>
<f:DropDownList ID="DropDownList2" runat="server">
<f:ListItem Text="equal to" Value="equal" />
<f:ListItem Text="include" Value="contain" Selected="true" />
</f:DropDownList>
</Operator>
</Filter>
</f:RenderField>
<f:RenderField Width="120px" ColumnID="Pricing_Scheme" DataField="Pricing_Scheme"
FieldType="String" HeaderText="Pricing Scheme" HeaderTextAlign="Center" EnableFilter="true">
<Filter EnableMultiFilter="true" ShowMatcher="true">
<Operator>
<f:DropDownList ID="DropDownList3" runat="server">
<f:ListItem Text="equal to" Value="equal" />
<f:ListItem Text="include" Value="contain" Selected="true" />
</f:DropDownList>
</Operator>
</Filter>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Original_WC" DataField="Original_WC" SortField="Original_WC"
FieldType="String" HeaderText="Work Center" HeaderTextAlign="Center" EnableFilter="true">
<Filter EnableMultiFilter="true" ShowMatcher="true">
<Operator>
<f:DropDownList ID="DropDownList5" runat="server">
<f:ListItem Text="equal to" Value="equal" />
<f:ListItem Text="include" Value="contain" Selected="true" />
</f:DropDownList>
</Operator>
</Filter>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Contract_Admin" DataField="Contract_Admin" SortField="Contract_Admin"
FieldType="String" HeaderText="Contract<br/>Admin" HeaderTextAlign="Center" EnableFilter="true">
<Filter EnableMultiFilter="true" ShowMatcher="true">
<Operator>
<f:DropDownList ID="DropDownList7" runat="server">
<f:ListItem Text="equal to" Value="equal" />
<f:ListItem Text="include" Value="contain" Selected="true" />
</f:DropDownList>
</Operator>
</Filter>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Buyer" DataField="Buyer"
FieldType="String" HeaderText="Buyer" HeaderTextAlign="Center" EnableFilter="true">
<Filter EnableMultiFilter="true" ShowMatcher="true">
<Operator>
<f:DropDownList ID="DropDownList11" runat="server">
<f:ListItem Text="equal to" Value="equal" />
<f:ListItem Text="include" Value="contain" Selected="true" />
</f:DropDownList>
</Operator>
</Filter>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Main_Coordinator" DataField="Main_Coordinator"
FieldType="String" HeaderText="Main<br/>Coordinator" HeaderTextAlign="Center" EnableFilter="true">
<Filter EnableMultiFilter="true" ShowMatcher="true">
<Operator>
<f:DropDownList ID="DropDownList12" runat="server">
<f:ListItem Text="equal to" Value="equal" />
<f:ListItem Text="include" Value="contain" Selected="true" />
</f:DropDownList>
</Operator>
</Filter>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="User_Representative" DataField="User_Representative"
FieldType="String" HeaderText="User<br/>Representative" HeaderTextAlign="Center" EnableFilter="true">
<Filter EnableMultiFilter="true" ShowMatcher="true">
<Operator>
<f:DropDownList ID="DropDownList13" runat="server">
<f:ListItem Text="equal to" Value="equal" />
<f:ListItem Text="include" Value="contain" Selected="true" />
</f:DropDownList>
</Operator>
</Filter>
</f:RenderField>
<f:RenderField Width="130px" ColumnID="Contract_Person" DataField="Contract_Person"
FieldType="String" HeaderText="Contract_Person" HeaderTextAlign="Center" EnableFilter="true">
<Filter EnableMultiFilter="true" ShowMatcher="true">
<Operator>
<f:DropDownList ID="DropDownList14" runat="server">
<f:ListItem Text="equal to" Value="equal" />
<f:ListItem Text="include" Value="contain" Selected="true" />
</f:DropDownList>
</Operator>
</Filter>
</f:RenderField>
<f:RenderField Width="120px" ColumnID="Contract_Tel" DataField="Contract_Tel"
FieldType="String" HeaderText="Tel." HeaderTextAlign="Center" EnableFilter="true">
<Filter EnableMultiFilter="true" ShowMatcher="true">
<Operator>
<f:DropDownList ID="DropDownList15" runat="server">
<f:ListItem Text="equal to" Value="equal" />
<f:ListItem Text="include" Value="contain" Selected="true" />
</f:DropDownList>
</Operator>
</Filter>
</f:RenderField>
<f:RenderField Width="110px" ColumnID="Validate_Date" DataField="Validate_Date"
FieldType="Date" Renderer="Date" HeaderText="Valid Date" HeaderTextAlign="Center" EnableFilter="true">
<Filter EnableMultiFilter="true" ShowMatcher="true">
<Operator>
<f:DropDownList ID="DropDownList16" runat="server">
<f:ListItem Text="equal to" Value="equal" />
<f:ListItem Text="include" Value="contain" Selected="true" />
</f:DropDownList>
</Operator>
</Filter>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Expire_Date" DataField="Expire_Date"
FieldType="Date" Renderer="Date" HeaderText="Expiry Date" HeaderTextAlign="Center" EnableFilter="true">
<Filter EnableMultiFilter="true" ShowMatcher="true">
<Operator>
<f:DropDownList ID="DropDownList17" runat="server">
<f:ListItem Text="equal to" Value="equal" />
<f:ListItem Text="include" Value="contain" Selected="true" />
</f:DropDownList>
</Operator>
</Filter>
</f:RenderField>
<%--<f:RenderField Width="90px" ColumnID="Remaining_Budget_Rate" DataField="Remaining_Budget_Rate"
FieldType="String" HeaderText="Remaining<br/>Budget%" HeaderTextAlign="Center" EnableFilter="true">
<Filter EnableMultiFilter="true" ShowMatcher="true">
<Operator>
<f:DropDownList ID="DropDownList8" runat="server">
<f:ListItem Text="equal to" Value="equal" />
<f:ListItem Text="include" Value="contain" Selected="true" />
</f:DropDownList>
</Operator>
</Filter>
</f:RenderField>--%>
<f:RenderField Width="90px" ColumnID="Remaining_Duration_Rate" DataField="Remaining_Duration_Rate"
FieldType="String" HeaderText="Remaining<br/>Duration%" HeaderTextAlign="Center" EnableFilter="true">
<Filter EnableMultiFilter="true" ShowMatcher="true">
<Operator>
<f:DropDownList ID="DropDownList9" runat="server">
<f:ListItem Text="equal to" Value="equal" />
<f:ListItem Text="include" Value="contain" Selected="true" />
</f:DropDownList>
</Operator>
</Filter>
</f:RenderField>
</Columns>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="Number of records per page">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
<f:ListItem Text="30" Value="30" />
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Panel runat="server" ID="panelBottomRegion" RegionPosition="Bottom" RegionSplit="true" RegionSplitWidth="20px" EnableCollapse="true" Height="380px"
Title="底部面板" ShowBorder="false" ShowHeader="false" BodyPadding="1px">
<Items>
<f:Panel ID="Panel3" runat="server" Layout="Fit" Height="370px" EnableCollapse="false" ShowBorder="false" ShowHeader="true" Title="Deduction">
<Items>
<f:Panel runat="server" BlockMD="12"
Layout="Block" BlockConfigSpace="5px" ShowBorder="false" ShowHeader="false">
<Items>
<%--左--%>
<f:Panel CssClass="blockpanel" BlockMD="6" Height="370px"
runat="server" ShowBorder="true" ShowHeader="false">
<Toolbars>
<f:Toolbar ID="Toolbar3" runat="server">
<Items>
<f:DatePicker runat="server" BlockMD="5" Label="Time Range" LabelAlign="Right" DateFormatString="yyyy-MM" ID="StartTime" DisplayType="Month"></f:DatePicker>
<f:DatePicker ID="EndTime" Readonly="false" BlockMD="5" DateFormatString="yyyy-MM" runat="server" DisplayType="Month" ShowTodayButton="false"></f:DatePicker>
<f:Button ID="btnSubmit" runat="server" BlockMD="2" ValidateForms="SimpleForm1" Text="Submit" OnClientClick="return btnSubmit()">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Items>
<f:TabStrip ID="TabStrip4" IsFluid="true" BlockMD="12" CssClass="blockpanel" Height="370px" ShowBorder="true" TabPosition="Right" ActiveTabIndex="0" runat="server">
<Tabs>
<f:Tab Title="KPI1" BodyPadding="1px" BlockMD="12" runat="server">
<Items>
<f:ContentPanel runat="server" BlockMD="12" ShowHeader="false" ShowBorder="false">
<div id="kpi1" style="width: 100%; height: 300px;"></div>
</f:ContentPanel>
</Items>
</f:Tab>
<f:Tab Title="KPI2" BodyPadding="1px" BlockMD="12" runat="server">
<Items>
<f:ContentPanel runat="server" BlockMD="12" ShowHeader="false" ShowBorder="false">
<div id="kpi2" style="width: 100%; height: 300px;"></div>
</f:ContentPanel>
</Items>
</f:Tab>
<f:Tab Title="KPI3" BodyPadding="1px" BlockMD="12" runat="server">
<Items>
<f:ContentPanel runat="server" BlockMD="12" ShowHeader="false" ShowBorder="false">
<div id="kpi3" style="width: 100%; height: 300px;"></div>
</f:ContentPanel>
</Items>
</f:Tab>
</Tabs>
</f:TabStrip>
</Items>
</f:Panel>
<%--右--%>
<f:Panel CssClass="blockpanel" BlockMD="6" Height="370px"
runat="server" ShowBorder="true" ShowHeader="false">
<Toolbars>
<f:Toolbar ID="Toolbar2" runat="server">
<Items>
<f:DatePicker runat="server" BlockMD="5" Label="Time Range" LabelAlign="Right" DateFormatString="yyyy-MM-dd" ID="rStartTime"></f:DatePicker>
<f:DatePicker ID="rEndTime" Readonly="false" BlockMD="5" CompareControl="rStartTime" DateFormatString="yyyy-MM-dd" CompareOperator="GreaterThan" runat="server" ShowTodayButton="false"></f:DatePicker>
<f:Button ID="Button1" runat="server" BlockMD="2" ValidateForms="SimpleForm1" Text="Submit" OnClientClick="return KPIR()">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Items>
<f:ContentPanel runat="server" BlockMD="12" ShowHeader="false" ShowBorder="false">
<div id="kpir" style="width: 650px; height: 300px;"></div>
</f:ContentPanel>
</Items>
</f:Panel>
</Items>
</f:Panel>
</Items>
</f:Panel>
</Items>
</f:Panel>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="Search" Hidden="true" EnableIFrame="true" EnableMaximize="false"
Target="Parent" EnableResize="true" runat="server" IsModal="true" Width="600px"
Height="300px" OnClose="Window1_Close">
</f:Window>
</form>
<script type="text/javascript">
//点击合同加载执行方法
function PagePostBank() {
KPIR();
btnSubmit();
}
//KPIR
function KPIR() {
var Contractor = $("#Panel2_panelTopRegion_hidVendor_Name-inputEl").val();
var FO_NO = $("#Panel2_panelTopRegion_hidFO_NO-inputEl").val();
if (FO_NO == "" || FO_NO == undefined || FO_NO == null) {
layer.alert("Please select Fo No.!");
return false;
}
var rStartId = '<%= rStartTime.ClientID %>';
var rEndId = '<%= rEndTime.ClientID %>';
var kpirlegend = "";
var kpirxAxis = "";
var kpirDateEnd = "";
$.ajax({
type: "POST",
dataType: "text",
url: "main.ashx",
data: { "action": "kpir", "startTime": (F(rStartId) == null || F(rStartId) == undefined) ? "" : F(rStartId).ollO1, "endTime": (F(rEndId) == null || F(rEndId) == undefined) ? "" : F(rEndId).ollO1, "Contractor": Contractor, "FO_NO": FO_NO },
async: false,
success: function (result) {
var data = jQuery.parseJSON(result);
kpirlegend = data.kpirJson.split('||')[0];
kpirxAxis = data.kpirJson.split('||')[1];
kpirDateEnd = data.kpirJson.split('||')[2];
kpirUser = data.kpirJson.split('||')[3];
kpirDep = data.kpirJson.split('||')[4];
kpirAll = data.kpirJson.split('||')[5];
}
});
if ($("#Panel2_panelBottomRegion_Panel3_TabStrip1_ctl00_ctl00_ctl01").width() != undefined) {
$("#kpir").css('width', $("#Panel2_panelBottomRegion_Panel3_TabStrip1_ctl00_ctl00_ctl01").width());
}
var KPIR = echarts.init(document.getElementById("kpir"));
var optionKpiR = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
legend: {
data: kpirlegend.split(',')
},
grid: {
left: '3%',
right: '4%',
containLabel: true
},
xAxis: {
type: 'category',
data: kpirxAxis.split(',')
},
yAxis: {
type: 'value'
},
series: [
{
name: "User",
type: "bar",
stack: "tb",
barWidth: "30",
data: kpirUser.split(','),
itemStyle: {
normal: {
color: '#94AF0a'
}
}
},
{
name: "Dep",
type: "bar",
stack: "tb",
barWidth: "30",
data: kpirDep.split(','),
itemStyle: {
normal: {
color: 'blue'
}
}
},
{
name: "All",
type: "line",
stack: "tb",
barWidth: "30",
data: kpirAll.split(','),
itemStyle: {
normal: {
label: {
show: true, //开启显示
formatter: '{c}',
position: 'top', //在上方显示
textStyle: { //数值样式
color: 'black',
fontSize: 12,
}
}
}
}
}
],
dataZoom: [{
show: true,
start: 0,
end: parseInt(kpirDateEnd)
}],
};
KPIR.setOption(optionKpiR);
}
function btnSubmit() {
var Contractor = $("#Panel2_panelTopRegion_hidVendor_Name-inputEl").val();
var FO_NO = $("#Panel2_panelTopRegion_hidFO_NO-inputEl").val();
if (FO_NO == "" || FO_NO == undefined || FO_NO == null) {
layer.alert("Please select Fo No.!");
return false;
}
var StartId = '<%= StartTime.ClientID %>';
var EndId = '<%= EndTime.ClientID %>';
//KPI1
var kpi1xAxis = "";
var kpi1serieshze = "";
var kpi1serieshzl = "";
var kpi1DateEnd = "";
//KPI2
var kpi2series = "";
//KPI3
var kpi3xAxis = "";
var kpi3seriesSsr = "";
var kpi3serieshzl = "";
var kpi3DateEnd = "";
$.ajax({
type: "POST",
dataType: "text",
url: "main.ashx",
data: { "action": "mainkpi", "startTime": (F(StartId) == null || F(StartId) == undefined) ? "" : F(StartId).ollO1, "endTime": (F(EndId) == null || F(EndId) == undefined) ? "" : F(EndId).ollO1, "Contractor": Contractor, "FO_NO": FO_NO },
async: false,
success: function (result) {
var data = jQuery.parseJSON(result);
//kpi1
kpi1xAxis = data.Kpi1json.split('||')[0];
kpi1serieshze = data.Kpi1json.split('||')[1];
kpi1serieshzl = data.Kpi1json.split('||')[2];
kpi1DateEnd = data.Kpi1json.split('||')[3];
//kpi2
kpi2series = data.Kpi2json;
//kpi3
kpi3xAxis = data.Kpi3json.split('||')[0];
kpi3seriesSsr = data.Kpi3json.split('||')[1];
kpi3serieshzl = data.Kpi3json.split('||')[2];
kpi3DateEnd = data.Kpi3json.split('||')[3];
}
});
Kpi1(kpi1xAxis, kpi1serieshze, kpi1serieshzl, kpi1DateEnd, Contractor);
Kpi2(kpi2series, Contractor);
KPI3(kpi3xAxis, kpi3seriesSsr, kpi3serieshzl, kpi3DateEnd, Contractor);
return true;
}
//KPI1
function Kpi1(kpi1xAxis, kpi1serieshze, kpi1serieshzl, kpi1DateEnd, Contractor) {
if ($("#Panel2_panelBottomRegion_Panel3_ctl00_ctl00_TabStrip4_ctl00_ctl00").width() != undefined) {
$("#kpi1").css('width', $("#Panel2_panelBottomRegion_Panel3_ctl00_ctl00_TabStrip4_ctl00_ctl00").width());
}
var KPI1 = echarts.init(document.getElementById("kpi1"));
var optionKpi1 = {
tooltip: {
trigger: 'axis'
},
grid: {
left: '15%',
},
title: {
left: 'center',
text: Contractor,
top: '5%',
textStyle: {
//头部字体大小
fontSize: 12
}
},
legend: {
data: ['Deduction Cost(RMB)', 'Deduction Rate(%)'],
},
xAxis: [
{
type: 'category',
data: kpi1xAxis.split(','),
axisPointer: {
type: 'shadow'
}
}
],
yAxis: [
{
type: 'value',
name: 'Deduction Cost(RMB)',
},
{
type: 'value',
name: 'Deduction Rate(%)',
max: 100,
axisLabel: {
formatter: '{value} %'
}
}
],
dataZoom: [
{
show: true,
start: 0,
end: parseInt(kpi1DateEnd)
}
],
series: [
{
name: 'Deduction Cost(RMB)',
type: 'bar',
data: kpi1serieshze.split(','),
itemStyle: {
normal: {
color: '#94AF0a',
label: {
show: false, //开启显示
formatter: '{c}',
position: 'top', //在上方显示
textStyle: { //数值样式
color: 'black',
fontSize: 12
}
}
}
}
},
{
name: 'Deduction Rate(%)',
type: 'line',
yAxisIndex: 1,
data: kpi1serieshzl.split(','),
itemStyle: {
normal: {
label: {
show: true, //开启显示
formatter: '{c}%',
position: 'top', //在上方显示
textStyle: { //数值样式
color: 'black',
fontSize: 12,
}
}
}
}
}
]
};
KPI1.setOption(optionKpi1);
}
//KPI2
function Kpi2(kpi2series, Contractor) {
if (parseInt($("#kpi1").width()) > 0) {
$("#kpi2").css('width', $("#kpi1").width());
}
var kpi2hze = kpi2series.split('||')[0];
var kpi2hzl = kpi2series.split('||')[1];
var kpi2ses = kpi2series.split('||')[2];
var series = [];
for (var i = 0; i < kpi2hze.split(',').length; i++) {
var arr = [];
arr.push(parseFloat(kpi2hze.split(',')[i]), parseFloat(kpi2hzl.split(',')[i]));
series.push(arr);
}
var KPI2 = echarts.init(document.getElementById("kpi2"));
var optionKpi2 = {
tooltip: {
/*返回需要的信息*/
formatter: function (param) {
var value = param.value;
return '<div style="border-bottom: 1px solid rgba(255,255,255,.3); font-size: 16px;padding-bottom: 7px;margin-bottom: 7px;">' + kpi2ses.split(',')[param.dataIndex] + '[' + value[0] + ',' + value[1] + ']' + '</div>';
}
},
title: {
left: 'center',
text: Contractor,
top: '5%',
textStyle: {
//头部字体大小
fontSize: 12
}
},
xAxis: {
scale: true,
name: 'Deduction CostRMB',
position: 'left',//位置靠左
nameLocation: 'middle', //位置居中
nameGap: 30, //与y轴距离
nameRotate: 0, //角度
nameTextStyle: {
fontSize: 14,
fontWeight: 'bolder'
}
},
yAxis: {
scale: true,
name: 'Deduction Rate%',
position: 'left',//位置靠左
nameLocation: 'middle', //位置居中
nameGap: 30, //与y轴距离
nameRotate: 90, //角度
nameTextStyle: {
fontSize: 14,
fontWeight: 'bolder'
}
},
series: [{
type: 'effectScatter',
symbolSize: 20
}, {
type: 'scatter',
data: series,
}]
};
KPI2.setOption(optionKpi2);
}
//KPI3
function KPI3(kpi3xAxis, kpi3seriesSsr, kpi3serieshzl, kpi3DateEnd, Contractor) {
if (parseInt($("#kpi1").width()) > 0) {
$("#kpi3").css('width', $("#kpi1").width());
}
var KPI3 = echarts.init(document.getElementById("kpi3"));
var optionKpi3 = {
tooltip: {
trigger: 'axis'
},
title: {
left: 'center',
text: Contractor,
top: '5%',
textStyle: {
//头部字体大小
fontSize: 12
}
},
legend: {
data: ['Cost(RMB)', 'Deduction Rate(%)']
},
grid: {
left: '15%',
},
xAxis: [
{
type: 'category',
data: kpi3xAxis.split(','),
axisPointer: {
type: 'shadow'
}
}
],
yAxis: [
{
type: 'value',
name: 'Cost(RMB)'
},
{
type: 'value',
name: 'Deduction Rate(%)',
axisLabel: {
formatter: '{value} %'
}
}
],
dataZoom: [
{
show: true,
start: 0,
end: parseInt(kpi3DateEnd)
}
],
series: [
{
name: 'Cost(RMB)',
type: 'bar',
data: kpi3seriesSsr.split(','),
itemStyle: {
normal: {
color: '#94AF0a'
}
}
},
{
name: 'Deduction Rate(%)',
type: 'line',
yAxisIndex: 1,
data: kpi3serieshzl.split(','),
itemStyle: {
normal: {
label: {
show: true, //开启显示
formatter: '{c}%',
position: 'top', //在上方显示
textStyle: { //数值样式
color: 'black',
fontSize: 12,
}
}
}
}
}
]
};
KPI3.setOption(optionKpi3);
}
</script>
<script>
function renderSalary(value) {
return F.addCommas(value.toFixed(0));
}
</script>
</body>
</html>