Commit af1eeefb authored by danfuman's avatar danfuman

修改

parent ea29af87
......@@ -392,8 +392,8 @@ export function toHump(lineStr) {
/**
* 驼峰转下划线
* @param {string} humpStr
* @returns
* @param {string} humpStr
* @returns
*/
export function toLine(humpStr) {
return humpStr.replace(/([A-Z])/g, "_$1").toLowerCase();
......@@ -404,7 +404,7 @@ export function isNumberStr(str) {
}
/**
*
*
* @param {string} originUrl 需要获取参数的url 默认当前url
* @param {RegExp} reg key需要剔除的特殊字符 默认过滤问号
* @returns {{[key : string] : any}} 查询对象 键值对
......@@ -421,7 +421,7 @@ export const getUrlSearchQuery = (originUrl = location.href, reg = new RegExp("\
/**
* 对象转换为查询字符串
* @param {{[key:string] : any}} query
* @param {{[key:string] : any}} query
*/
export const paramsToQuery = (query, decode = true) => {
try {
......@@ -441,7 +441,7 @@ export const paramsToQuery = (query, decode = true) => {
/**
* 查询字符串转对象
* @param {string} text
* @param {string} text
*/
export const searchTextToQuery = (text) => {
try {
......@@ -460,8 +460,8 @@ export const searchTextToQuery = (text) => {
/**
* 验证链接是否是url
* @param {string} url
* @returns
* @param {string} url
* @returns
*/
export function isUrl(url) {
return /https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*[\u4e00-\u9fa5\w]*)$/.test(url);
......@@ -496,8 +496,8 @@ export function encodeSearchKey(key) {
/**
* 去除json 换行空格符号
* @param {string} str
* @returns
* @param {string} str
* @returns
*/
export function jsonEscape(str) {
return str.replace(/(\r\n|\n|\r)/gm, "");
......@@ -505,7 +505,7 @@ export function jsonEscape(str) {
/**
* json递归特殊参数处理
* @param {object} target
* @param {object} target
*/
export function jsonTraversal(target, decode = false) {
try {
......@@ -530,8 +530,8 @@ export function jsonTraversal(target, decode = false) {
/**
* url查询参数中需要编码的特殊字符
* @param {string} componentStr
* @returns
* @param {string} componentStr
* @returns
*/
export function needEncodeComponent(componentStr) {
const reg = /[^a-zA-Z0-9\-_.!~*'()]/gim;
......@@ -540,8 +540,8 @@ export function needEncodeComponent(componentStr) {
/**
* 字符串是否被编码过
* @param {string} checkStr
* @returns
* @param {string} checkStr
* @returns
*/
export function isencodingStr(checkStr) {
const reg = /%[0-9A-Fa-f]{2}/gim;
......@@ -551,8 +551,8 @@ export function isencodingStr(checkStr) {
let messageSingleton = null;
/**
* element message 弹窗单例模式
* @param {string} type
* @param {string} messgage
* @param {string} type
* @param {string} messgage
*/
export async function elementMessageSingleton(type = "success", messgage = "") {
try {
......@@ -568,8 +568,8 @@ export async function elementMessageSingleton(type = "success", messgage = "") {
/**
* 检测数组对象中是否有重复数据
* @param {Array} arr
* @param {string | null} mapKey
* @param {Array} arr
* @param {string | null} mapKey
* @returns
*/
export function hasDuplicates(arr, mapKey = null) {
......@@ -590,7 +590,7 @@ export function hasDuplicates(arr, mapKey = null) {
/**
* 表单查询条件过滤
* @param {Object} params
* @param {Object} params
*/
export function queryConditionFiltering(params) {
try {
......@@ -627,8 +627,8 @@ export function queryConditionFiltering(params) {
/**
* 三级联动选择 过滤省市区 兼容父子互不关联情况
* @param {Array<object>} selectList
* @returns
* @param {Array<object>} selectList
* @returns
*/
export function getTreeSelectAreaList(nodeList = [], tree, idkey = "id") {
......@@ -657,7 +657,7 @@ export function getTreeSelectAreaList(nodeList = [], tree, idkey = "id") {
}
/**
*
*
*/
export function createAreaSelect(node, tree, idkey) {
// console.log(node, tree, idkey);
......@@ -725,10 +725,10 @@ export function createAreaSelect(node, tree, idkey) {
/**
* 根据节点 id 获取父节点
* @param {*} tree
* @param {*} targetId
* @param {*} parentNode
* @returns
* @param {*} tree
* @param {*} targetId
* @param {*} parentNode
* @returns
*/
export function findParentNode(tree, targetId, idKey = "id", parentNode = null) {
if (tree[idKey] === targetId) {
......@@ -752,9 +752,9 @@ export function findParentNode(tree, targetId, idKey = "id", parentNode = null)
/**
* 根据节点信息 找到当前节点到祖先辈组成的树形结构
* @param {*} tree
* @param {*} targetId
* @returns
* @param {*} tree
* @param {*} targetId
* @returns
*/
export function findNodeAndAncestors(tree, targetId, idKey = "id", directAncestorsOnly = true) {
if (tree[idKey] === targetId) {
......@@ -788,9 +788,9 @@ export function findNodeAndAncestors(tree, targetId, idKey = "id", directAncesto
/**
* 根据节点唯一标识查找节点信息
* @param {*} tree
* @param {*} targetId
* @param {*} idKey
* @param {*} tree
* @param {*} targetId
* @param {*} idKey
*/
export function findNodeFromTree(tree, targetId, ancestors = [], idKey = "id") {
if (tree[idKey] == targetId) {
......@@ -813,7 +813,7 @@ export function findNodeFromTree(tree, targetId, ancestors = [], idKey = "id") {
/**
* 删除某个属性节点
* @param node
* @param node
*/
export function removeAncestors(node, removeKey = "ancestors") {
delete node[removeKey];
......@@ -824,9 +824,9 @@ export function removeAncestors(node, removeKey = "ancestors") {
/**
* 根据id 数组 生成直系关系树形结构 并排除不需要的属性
* @param tree
* @param tree
* @param targetIds []
* @returns
* @returns
*/
export function generateDirectSubtreeAndRemove(targetIds, tree, idKey = "id") {
......@@ -852,7 +852,7 @@ export function generateDirectSubtreeAndRemove(targetIds, tree, idKey = "id") {
}
}
// 往目标节点追加值
// 往目标节点追加值
currentNode.children.push({ ...targetNode, children: [] });
}
}
......@@ -907,6 +907,10 @@ export const detailSideBar = new Map([
["dishonestExecutee", "ifThePerson"],
// 风险信息 失信被执行人
["dishonestExecutor", "dishonesty"],
// 风险信息 限制高消费
["limitHighConsum", "limitHighConsumption"],
// 风险信息 股权冻结
["judicialFreezesCount", "equityFreezing"],
// 风险信息 裁判文书
["adjudicativeDoc", "judgment"],
// 风险信息 法院公告
......@@ -934,8 +938,8 @@ export const tableContainerFixed = (scrollBarContainer = "",) => {
/**
* 序列化 function
* @param {Function} fn
* @returns
* @param {Function} fn
* @returns
*/
export const serializationFn = (fn) => {
const type = Object.prototype.toString.call(fn);
......@@ -945,7 +949,7 @@ export const serializationFn = (fn) => {
/**
* 反序列化 function
* @param {string} fnStr
* @param {string} fnStr
*/
export const deserializeFn = (fnStr) => {
try {
......@@ -956,9 +960,9 @@ export const deserializeFn = (fnStr) => {
};
/**
* json字符串转换为json
* @param {*} jsonStr
* @returns
* json字符串转换为json
* @param {*} jsonStr
* @returns
*/
export const jsonStrToObject = (jsonStr) => {
if (typeof jsonStr !== "string") return null;
......@@ -967,9 +971,9 @@ export const jsonStrToObject = (jsonStr) => {
/**
* 数组元素分组
* @param {Array<any>} arr 分组元素
* @param {Array<any>} arr 分组元素
* @param {*} max 最大值
* @returns
* @returns
*/
export function groupArray(arr, max = 100, target = "") {
let result = [];
......@@ -1014,7 +1018,7 @@ export function groupArray(arr, max = 100, target = "") {
/**
* 去掉dom元素两边的标签
* @param {string} str
* @param {string} str
*/
export function replaceDomTags(str) {
const reg = /<[^>]*>/gmi;
......@@ -1023,7 +1027,7 @@ export function replaceDomTags(str) {
/**
* 生成随机字母
* @returns
* @returns
*/
export function generateRandomLowerCaseLetter() {
const alphabet = 'abcdefghijklmnopqrstuvwxyz';
......@@ -1033,11 +1037,11 @@ export function generateRandomLowerCaseLetter() {
/**
* 获取直系祖先到本身组成的数组
* @param {object} data
* @param {string | number} targetId
* @param {string} idKey
* @param {Array<any>} ancestors
* @returns
* @param {object} data
* @param {string | number} targetId
* @param {string} idKey
* @param {Array<any>} ancestors
* @returns
*/
export function findAncestors(data, targetId, idKey = "id", childrenKey = "children", ancestors = []) {
if (data[idKey] === targetId) {
......@@ -1058,8 +1062,8 @@ export function findAncestors(data, targetId, idKey = "id", childrenKey = "child
/**
* 给树形添加层级
* @param {Array<any> | object} tree
* @param {number} startLevel
* @param {Array<any> | object} tree
* @param {number} startLevel
*/
export function addTreeLevel(tree, startLevel = 1, removeEmptyChildren = true) {
if (tree instanceof Array && tree?.length) {
......@@ -1076,8 +1080,8 @@ export function addTreeLevel(tree, startLevel = 1, removeEmptyChildren = true) {
/**
* 给树形节点添加父节点关联
* @param {Array<any> | object} tree
* @param {object} parent
* @param {Array<any> | object} tree
* @param {object} parent
*/
export function addNodeParent(tree, parent = null) {
if (tree instanceof Array && tree?.length) {
......@@ -1089,4 +1093,4 @@ export function addNodeParent(tree, parent = null) {
});
}
return tree;
}
\ No newline at end of file
}
......@@ -173,6 +173,10 @@ export default {
let startTime = ''
let endTime = new Date()
switch (value) {
case '今日':
startTime = new Date(endTime.getTime())
timeStr = [this.formatDate(startTime), this.formatDate(endTime)]
break;
case '近三天':
startTime = new Date(endTime.getTime() - 3600 * 1000 * 24 * 3)
timeStr = [this.formatDate(startTime), this.formatDate(endTime)]
......@@ -245,7 +249,7 @@ export default {
<style lang="scss">
.custom-time-select1 {
width: 90px !important;
width: 90px;
height: 34px;
.rote {
......
<template>
<div class="supplier">
<div class="search-supplier">
<div class="title_wrap">
<div class="enterprise_title">
劳务供应商挂靠风险
</div>
</div>
<div class="content-supplier">
<el-form :model="formdata" label-width="160px" label-position="right" :inline="true" >
<el-row>
<el-col :span="8">
<el-form-item label="劳务队长名称" label-width="90px" class="i">
<el-input v-model="formdata.supplierName" placeholder="请输入供应商名称" clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="是否为局名义被诉案件">
<el-select v-model="formdata.isGroupCase" placeholder="请选择" clearable>
<el-option label="是" value="是"></el-option>
<el-option label="否" value="否"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="限用/禁用时间" label-width="115px" class="j">
<el-date-picker
v-model="formdata.times" clearable
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="年/月/日"
end-placeholder="年/月/日">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-form-item label=" " label-width="90px" >
<el-button type="primary" size="small" @click="searchList">查询</el-button>
<el-button size="small" @click="clears">重置</el-button>
</el-form-item>
</el-form>
</div>
</div>
<div class="table-supplier">
<div class="total-title">
<div class="totals">{{total}}</div>
</div>
<div class="table-item-jf table-item-jf1 empty-table" v-if="total == 0 && !isSkeleton">
<img class="item-jf-img" src="@/assets/images/kong.png" alt="">
<div class="item-jf-titel">暂无相关数据</div>
<div class="item-jf-text">抱歉,暂无数据,试试更换搜索条件吧</div>
</div>
<skeleton v-if="isSkeleton"></skeleton>
<div class="table-item-jf table-item" v-if="!isSkeleton&&tableData.length>0">
<el-table :data="tableData" :header-cell-style="{ background:'#f0f3fa',color: 'rgba(35,35,35,0.8)'}"
v-sticky-header.always="{offsetTop : '-16px',offsetBottom : '-15px'}" class="table-item1 fixed-table" border highlight-current-row
:header-row-class-name="setHeaderRow" :cell-class-name="setCellClass" :row-class-name="setRowClass" :header-cell-class-name="setCellClass"
ref="theOwnerListTable">
<el-table-column type="index" label="序号" :fixed="tableColumnFixed" width="60" :resizable="false">
<template slot-scope="scope">
<span>{{(formdata.pageNum - 1) *formdata.pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="单据编号" :fixed="tableColumnFixed" width="150" :resizable="false">
<template slot-scope="scope">
{{scope.row.frecordno||"--"}}
</template>
</el-table-column>
<el-table-column label="分供方名称" :fixed="tableColumnFixed" width="380" :resizable="false">
<template slot-scope="scope">
<div class="renling">
<div style="display:flex;align-items:center">
<router-link v-if="scope.row.supplierCid" :to="`/enterprise/${encodeStr(scope.row.supplierCid)}`" tag="a"
class="wordprimary" v-html="scope.row.fsuppliername"></router-link>
<span v-else v-html="scope.row.fsuppliername"></span>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="社会统一信用代码" min-width="180">
<template slot-scope="scope">
{{scope.row.funifiedsocialcreditcode||"--"}}
</template>
</el-table-column>
<el-table-column label="限用情形" min-width="280" :resizable="false">
<template slot-scope="scope">
<div class="wrap2">{{scope.row.flimitsituation||"--"}}</div>
</template>
</el-table-column>
<el-table-column label="禁用情景" min-width="280" :resizable="false">
<template slot-scope="scope">
{{scope.row.fdisablesituation||"--"}}
</template>
</el-table-column>
<el-table-column label="限用推送单位" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.fjobunitname||"--"}}
</template>
</el-table-column>
<el-table-column label="限用/禁用" min-width="120" :resizable="false">
<template slot-scope="scope">
{{scope.row.fstate||"--"}}
</template>
</el-table-column>
<el-table-column label="限用/禁用开始日期" min-width="180" :resizable="false">
<template slot-scope="scope">
{{scope.row.fts||"--"}}
</template>
</el-table-column>
</el-table>
</div>
<div class="pagination clearfix" v-show="total>formdata.pageSize">
<el-pagination background :page-size="formdata.pageSize" :current-page.sync="formdata.pageNum" @current-change="handleCurrentChange" layout="prev, pager, next"
:total="total">
</el-pagination>
</div>
</div>
</div>
</template>
<script>
import { encodeStr } from "@/assets/js/common.js";
import "@/assets/styles/public.scss";
import "@/assets/styles/supplierlist.scss";
import skeleton from '@/views/project/projectList/component/skeleton';
import {getSupplierLimitedList} from '@/api/supplier/supplier';
export default {
name: 'affiliationRisk',
components:{skeleton},
data(){
return{
encodeStr,
formdata:{
supplierName:'',
isGroupCase:'',
limitedStartTime:'',
limitedEndTime:'',
times:[],
pageSize:50,
pageNum:1,
},
tableData:[],
isSkeleton:true,
total:0,
// table列是否悬浮
tableColumnFixed: true,
fbsvisib:false,
fbsisSkeleton:false,
}
},
created() {
this.searchList()
},
methods:{
searchList(){
this.isSkeleton = true
let formdata = JSON.parse(JSON.stringify(this.formdata))
if(formdata.times != [] &&formdata.times.length>1){
formdata.limitedStartTime = formdata.times[0]
formdata.limitedEndTime = formdata.times[1]
}else{
formdata.limitedStartTime = ''
formdata.limitedEndTime = ''
}
delete formdata.times
getSupplierLimitedList(formdata).then(res=>{
this.isSkeleton = false
if(res.code == 200) {
this.total = res.total
this.tableData = res.rows
this.formdata.pageNum = res.currentPage
}else{
this.total = 0
this.tableData = []
this.formdata.pageNum = 1
}
})
},
clears(){
this.formdata={
supplierName:'',
isGroupCase:'',
limitedStartTime:'',
limitedEndTime:'',
times:[],
pageSize:50,
pageNum:1,
}
this.searchList()
},
handleCurrentChange(val){
this.formdata.pageNum = val
this.searchList()
},
setHeaderRow() {
return "owner-table-list-header";
},
setCellClass({ row, column, rowIndex, columnIndex }) {
if (columnIndex == 1) {
return "enterprise-name-column";
}
},
setRowClass({ row, rowIndex }) {
return "enterprise-name-row";
},
//点击分包商等级
getFBS(row){
this.fbsvisib = true
this.fbsisSkeleton = true
},
//点击准入
goAccess(row){
this.$tab.openPage(row.customerName+'-准入情况', '/supplier/supplierlist/access')
},
//点击考评
goAssessment(row){
this.$tab.openPage(row.customerName+'-供应商考评', '/supplier/supplierlist/assessment')
},
}
}
</script>
<style scoped lang="scss">
::v-deep .content-supplier {
.el-form-item__content {
width: calc(100% - 170px);
}
.i{
.el-form-item__content{
width: calc(100% - 105px);
}
}
.j{
.el-form-item__content{
width: calc(100% - 120px);
}
}
}
</style>
<template>
<div class="supplier">
<div class="overview">
<div class="search-supplier m-b16">
<div class="title_wrap">
<div class="enterprise_title">
......@@ -39,7 +39,13 @@
</div>
<div class="yj-supplier m-b16">
<div class="title_wrap">
<div class="enterprise_title">供应商预警</div>
<div class="enterprise_title">
供应商预警
<div class="select">
<custom-time-select :timeList="timeList" v-model="time" :class="[`select-adaptive-${inputID}`]" timeValue="近七天"
placeholder="请选择时间" @handle-search="iptAdaptive(inputID,'','changeSelect')" />
</div>
</div>
</div>
<div class="yj-main">
<div class="yi-cont yj-left">
......@@ -80,43 +86,151 @@
</div>
<div class="charts-supplier">
<div class="title_wrap">
<div class="enterprise_title">优质供应商履约得分排行榜</div>
<div class="enterprise_title">
优质供应商履约得分排行榜
<div class="select">
<custom-time-select :timeList="timeList" v-model="time1" :class="[`select-adaptive-${inputID1}`]" timeValue="近七天"
placeholder="请选择时间" @handle-search="iptAdaptive(inputID1,'','changeSelect')" />
</div>
</div>
</div>
<div class="charts-main">
<div class="charts-cont">
<div class="charts-title">物资类供应商履约得分TOP10</div>
<div class="charts-div">
<div id="wz-echarts" style="height: 350px;"></div>
<div style="margin: 0 16px">
<el-table
:data="wzData"
height="192"
border
highlight-current-row
>
<el-table-column label="序号" width="60" align="left">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="供应商名称" prop="name"></el-table-column>
<el-table-column label="履约金额" width="130" prop="money"></el-table-column>
<el-table-column label="履约加权得分" width="130" prop="score"></el-table-column>
</el-table>
</div>
</div>
</div>
<div class="charts-cont">
<div class="charts-title">设备类供应商履约得分TOP10</div>
<div class="charts-div">
<div id="sbl-echarts" style="height: 350px;"></div>
<div style="margin: 0 16px">
<el-table
:data="wzData"
height="192"
border
highlight-current-row
>
<el-table-column label="序号" width="60" align="left">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="供应商名称" prop="name"></el-table-column>
<el-table-column label="履约金额" width="130" prop="money"></el-table-column>
<el-table-column label="履约加权得分" width="130" prop="score"></el-table-column>
</el-table>
</div>
</div>
</div>
<div class="charts-cont">
<div class="charts-title">劳务分包类供应商TOP10</div>
<div class="charts-div">
<div id="lwfb-echarts" style="height: 350px;"></div>
<div style="margin: 0 16px">
<el-table
:data="wzData"
height="192"
border
highlight-current-row
>
<el-table-column label="序号" width="60" align="left">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="供应商名称" prop="name"></el-table-column>
<el-table-column label="履约金额" width="130" prop="money"></el-table-column>
<el-table-column label="履约加权得分" width="130" prop="score"></el-table-column>
</el-table>
</div>
</div>
</div>
<div class="charts-cont">
<div class="charts-title">专业分包类供应商TOP10</div>
<div class="charts-div">
<div id="zyfb-echarts" style="height: 350px;"></div>
<div style="margin: 0 16px">
<el-table
:data="wzData"
height="192"
border
highlight-current-row
>
<el-table-column label="序号" width="60" align="left">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="供应商名称" prop="name"></el-table-column>
<el-table-column label="履约金额" width="130" prop="money"></el-table-column>
<el-table-column label="履约加权得分" width="130" prop="score"></el-table-column>
</el-table>
</div>
</div>
</div>
<div class="charts-cont">
<div class="charts-title">专业服务类供应商TOP10</div>
<div class="charts-div">
<div id="zyfw-echarts" style="height: 350px;"></div>
<div style="margin: 0 16px">
<el-table
:data="wzData"
height="192"
border
highlight-current-row
>
<el-table-column label="序号" width="60" align="left">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="供应商名称" prop="name"></el-table-column>
<el-table-column label="履约金额" width="130" prop="money"></el-table-column>
<el-table-column label="履约加权得分" width="130" prop="score"></el-table-column>
</el-table>
</div>
</div>
</div>
<div class="charts-cont">
<div class="charts-title">租赁类供应商TOP10</div>
<div class="charts-div">
<div id="zl-echarts" style="height: 350px;"></div>
<div style="margin: 0 16px">
<el-table
:data="wzData"
height="192"
border
highlight-current-row
>
<el-table-column label="序号" width="60" align="left">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="供应商名称" prop="name"></el-table-column>
<el-table-column label="履约金额" width="130" prop="money"></el-table-column>
<el-table-column label="履约加权得分" width="130" prop="score"></el-table-column>
</el-table>
</div>
</div>
</div>
</div>
......@@ -129,11 +243,13 @@
import '@/assets/styles/public.scss'
import '@/assets/styles/supplierlist.scss'
import mixin from '@/views/detail/party-a/mixins/mixin'
import CustomTimeSelect from '../../component/CustomTimeSelect'
import { v4 } from "uuid"
import * as echarts from 'echarts';
export default {
name: 'overview',
mixins: [mixin],
components:{},
components:{CustomTimeSelect},
data(){
return{
yjdt:[
......@@ -263,61 +379,306 @@
money:'13289.27',
score:'62'
},
]
],
timeList: ['今日','近三天', '近七天', '近半月', '自定义'],
time:'',
time1:'',
inputID: this.getUid(),
inputID1: this.getUid(),
}
},
created() {
this.$nextTick(()=>{
this.initChart(this.wzData)
this.initChart1(this.wzData)
this.initChart2(this.wzData)
this.initChart3(this.wzData)
this.initChart4(this.wzData)
this.initChart5(this.wzData)
})
},
methods:{
getUid() {
return v4();
},
changeSelect(){
},
initChart(data) {
let myChart = echarts.init(document.getElementById("wz-echarts"))
let option = {
// 坐标轴
grid: {
top: "2%",
left: "5%",
top: "10%",
left: "4%",
right: "3%",
bottom: "5%",
bottom: "4%",
containLabel: true, //是否包含坐标轴的文字
},
legend: {
data:['履约加权得分'],
x:'16px',
y:'8px'
},
// 鼠标hover出现的提示框组件
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow',
},
backgroundColor: '#FFFFFF',
borderWidth: 0,
textStyle: {
color: '#232323',
fontSize: 14,
},
},
xAxis: [
//x轴数据设置
{
type: "value",
min: 0,
axisLabel: {
formatter: "{value} ",
},
],
yAxis: [
{
type: "category",
data: data.map(item => item.name),
axisTick: { show: false },
axisLine:{
// color: '#DCDFE6',
lineStyle: {
color: '#DCDFE6',//左边线的颜色
},
},
splitLine: {
show: false,
axisLabel:{
textStyle:{
color: '#232323cc'
}
}
},
],
series: [
{
name: '履约加权得分',
data: data.map(item => item.score),
type: "bar",
barWidth: 12,
barGap: 0.5,
itemStyle: {
color: '#0081FF',
}
},
],
};
myChart.setOption(option);
window.addEventListener("resize", function () {
myChart.resize();//图表跟随页面大小变化宽度
});
},
initChart1(data) {
let myChart = echarts.init(document.getElementById("sbl-echarts"))
let option = {
// 坐标轴
grid: {
top: "10%",
left: "4%",
right: "3%",
bottom: "4%",
containLabel: true, //是否包含坐标轴的文字
},
legend: {
data:['履约加权得分'],
x:'16px',
y:'8px'
},
// 鼠标hover出现的提示框组件
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow',
},
backgroundColor: '#FFFFFF',
borderWidth: 0,
textStyle: {
color: '#232323',
fontSize: 14,
},
},
xAxis: [
//x轴数据设置
{
type: "value",
},
],
yAxis: [
{
type: "category",
data: data.map(item => item.name),
axisTick: { show: false },
axisLine:{
// color: '#DCDFE6',
lineStyle: {
color: '#DCDFE6',//左边线的颜色
},
},
axisLabel:{
textStyle:{
color: '#232323cc'
}
}
},
],
series: [
{
name: '履约加权得分',
data: data.map(item => item.score),
type: "bar",
barWidth: 12,
barGap: 0.5,
itemStyle: {
color: '#F77234',
}
},
],
};
myChart.setOption(option);
window.addEventListener("resize", function () {
myChart.resize();//图表跟随页面大小变化宽度
});
},
initChart2(data) {
let myChart = echarts.init(document.getElementById("lwfb-echarts"))
let option = {
// 坐标轴
grid: {
top: "10%",
left: "4%",
right: "3%",
bottom: "4%",
containLabel: true, //是否包含坐标轴的文字
},
legend: {
data:['履约加权得分'],
x:'16px',
y:'8px'
},
// 鼠标hover出现的提示框组件
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow',
},
backgroundColor: '#FFFFFF',
borderWidth: 0,
textStyle: {
color: '#232323',
fontSize: 14,
},
},
xAxis: [
//x轴数据设置
{
type: "value",
},
],
yAxis: [
{
type: "category",
data: data.map(item => item.name),
splitLine: {
show: false,
axisTick: { show: false },
axisLine:{
// color: '#DCDFE6',
lineStyle: {
color: '#DCDFE6',//左边线的颜色
},
},
axisLabel:{
textStyle:{
color: '#232323cc'
}
}
},
],
series: [
{
name: '履约加权得分',
data: data.map(item => item.score),
type: "bar",
barWidth: 12,
label: {
normal: {
show: false,
// position: "right",
barGap: 0.5,
itemStyle: {
color: '#AA69EB',
}
},
],
};
myChart.setOption(option);
window.addEventListener("resize", function () {
myChart.resize();//图表跟随页面大小变化宽度
});
},
initChart3(data) {
let myChart = echarts.init(document.getElementById("zyfb-echarts"))
let option = {
// 坐标轴
grid: {
top: "10%",
left: "4%",
right: "3%",
bottom: "4%",
containLabel: true, //是否包含坐标轴的文字
},
legend: {
data:['履约加权得分'],
x:'16px',
y:'8px'
},
// 鼠标hover出现的提示框组件
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow',
},
backgroundColor: '#FFFFFF',
borderWidth: 0,
textStyle: {
color: '#232323',
fontSize: 14,
},
},
xAxis: [
//x轴数据设置
{
type: "value",
},
],
yAxis: [
{
type: "category",
data: data.map(item => item.name),
axisTick: { show: false },
axisLine:{
// color: '#DCDFE6',
lineStyle: {
color: '#DCDFE6',//左边线的颜色
},
},
axisLabel:{
textStyle:{
color: '#232323cc'
}
}
},
],
series: [
{
name: '履约加权得分',
data: data.map(item => item.score),
type: "bar",
barWidth: 12,
barGap: 0.5,
itemStyle: {
color: '#0081FF',
color: '#FFAB44',
}
},
],
......@@ -326,13 +687,211 @@
window.addEventListener("resize", function () {
myChart.resize();//图表跟随页面大小变化宽度
});
}
},
initChart4(data) {
let myChart = echarts.init(document.getElementById("zyfw-echarts"))
let option = {
// 坐标轴
grid: {
top: "10%",
left: "4%",
right: "3%",
bottom: "4%",
containLabel: true, //是否包含坐标轴的文字
},
legend: {
data:['履约加权得分'],
x:'16px',
y:'8px'
},
// 鼠标hover出现的提示框组件
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow',
},
backgroundColor: '#FFFFFF',
borderWidth: 0,
textStyle: {
color: '#232323',
fontSize: 14,
},
},
xAxis: [
//x轴数据设置
{
type: "value",
},
],
yAxis: [
{
type: "category",
data: data.map(item => item.name),
axisTick: { show: false },
axisLine:{
// color: '#DCDFE6',
lineStyle: {
color: '#DCDFE6',//左边线的颜色
},
},
axisLabel:{
textStyle:{
color: '#232323cc'
}
}
},
],
series: [
{
name: '履约加权得分',
data: data.map(item => item.score),
type: "bar",
barWidth: 12,
barGap: 0.5,
itemStyle: {
color: '#0CBC6D',
}
},
],
};
myChart.setOption(option);
window.addEventListener("resize", function () {
myChart.resize();//图表跟随页面大小变化宽度
});
},
initChart5(data) {
let myChart = echarts.init(document.getElementById("zl-echarts"))
let option = {
// 坐标轴
grid: {
top: "10%",
left: "4%",
right: "3%",
bottom: "4%",
containLabel: true, //是否包含坐标轴的文字
},
legend: {
data:['履约加权得分'],
x:'16px',
y:'8px'
},
// 鼠标hover出现的提示框组件
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow',
},
backgroundColor: '#FFFFFF',
borderWidth: 0,
textStyle: {
color: '#232323',
fontSize: 14,
},
},
xAxis: [
//x轴数据设置
{
type: "value",
},
],
yAxis: [
{
type: "category",
data: data.map(item => item.name),
axisTick: { show: false },
axisLine:{
// color: '#DCDFE6',
lineStyle: {
color: '#DCDFE6',//左边线的颜色
},
},
axisLabel:{
textStyle:{
color: '#232323cc'
}
}
},
],
series: [
{
name: '履约加权得分',
data: data.map(item => item.score),
type: "bar",
barWidth: 12,
barGap: 0.5,
itemStyle: {
color: '#12C0C7',
}
},
],
};
myChart.setOption(option);
window.addEventListener("resize", function () {
myChart.resize();//图表跟随页面大小变化宽度
});
},
iptAdaptive(uid, multiple = false, name) {
multiple ? this.multipleAdaptiveHandle(uid, name) : this.iptAdaptiveHandle(uid, name);
},
//单选
async iptAdaptiveHandle(uid, name) {
try {
await this.$nextTick();
const dom = document.querySelector(`.select-adaptive-${uid}`);
const realStyles = window.getComputedStyle(dom);
if (dom) {
const iptChild = dom.querySelector(".el-input__inner");
const textContainer = document.createElement("span");
const textName = `text-${uid}`;
textContainer.classList.add(textName);
textContainer.style.setProperty("visibility", "hidden");
textContainer.style.setProperty("display", "inline-block");
textContainer.style.setProperty("font-size", "14px");
const hasPadding = (parseInt(realStyles.paddingLeft) || parseInt(realStyles.paddingRight)) ? true : false;
hasPadding ? textContainer.style.setProperty("padding", "0px 8px") : null;
textContainer.style.setProperty("box-sizing", "border-box");
textContainer.textContent = iptChild.value ? iptChild.value : iptChild.getAttribute("placeholder");
document.body.append(textContainer);
let containerWidth = textContainer.offsetWidth + 50;
textContainer.remove();
dom.style.setProperty("width", `${containerWidth}px`);
}
this.handleSearch(name);
} catch (error) {
}
},
async multipleAdaptiveHandle(){
},
}
}
</script>
<style lang="scss" scoped>
.overview{
.enterprise_title{
position: relative;
}
.select{
position: absolute;
right: 0;
top:-10px;
}
::v-deep .custom-time-select1{
.options-block{
/*<!--left: -30px;-->*/
right:0;
}
.picker-block{
.el-picker-panel.el-date-range-picker.el-popper{
left: -680px !important;
top:144px !important;
}
}
}
}
.m-b16{
margin-bottom: 16px;
}
......@@ -422,7 +981,7 @@
}
}
.charts-div{
height: 512px;
height: 560px;
border-radius: 4px 4px 4px 4px;
border: 1px solid #DCDFE6;
}
......
......@@ -35,7 +35,7 @@ module.exports = {
proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: {
target: `http://111.204.34.146:9099/prod-api`,//测试
target: `http://172.17.0.12:9099/prod-api`,//测试
// target: `http://192.168.60.5:9098`,//陈跃方
// target: `http://192.168.60.27:9098`,//邓
// target: `http://122.9.160.122:9011`, //线上
......
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