807 lines
22 KiB
JavaScript
807 lines
22 KiB
JavaScript
// pages/technical-management/index.js
|
|
import * as echarts from '../../ec-canvas/echarts';
|
|
const app = getApp()
|
|
let chart=null
|
|
let chart1=null
|
|
let canvas1 = {}
|
|
// function initChart(canvas,width,height,dpr) {
|
|
// console.log(canvas)
|
|
// canvas1 = canvas
|
|
// console.log(canvas1)
|
|
// console.log(width)
|
|
// console.log(height)
|
|
// console.log(dpr)
|
|
// chart=echarts.init(canvas,null,{
|
|
// width:width,
|
|
// height:height,
|
|
// devicePixelRatio:dpr
|
|
// })
|
|
// canvas.setChart(chart)
|
|
|
|
// let option=getOption(0,0)
|
|
// chart.setOption(option)
|
|
// return chart
|
|
// }
|
|
|
|
function getOption(rate,number) {
|
|
let that=this
|
|
return {
|
|
title: [
|
|
{
|
|
text: rate+'%',
|
|
textAlign: "center",
|
|
left: "48%",
|
|
top: "30%",
|
|
textStyle: {
|
|
color: "#67abf2",
|
|
fontSize: 23,
|
|
},
|
|
},
|
|
{
|
|
text: '未完成:'+number,
|
|
left: "48%",
|
|
top: "80%",
|
|
textAlign: "center",
|
|
textStyle: {
|
|
color: "#cdd7fa",
|
|
fontWeight: "normal",
|
|
fontSize: "16",
|
|
textAlign: "center",
|
|
},
|
|
},
|
|
],
|
|
series: [
|
|
{
|
|
type: "pie",
|
|
hoverAnimation: false,
|
|
radius: ["60%", "59%"],
|
|
center: ["50%", "40%"],
|
|
labelLine: {
|
|
normal: {
|
|
show: false,
|
|
},
|
|
},
|
|
label: {
|
|
normal: {
|
|
position: "center",
|
|
},
|
|
},
|
|
data: [
|
|
{
|
|
value: 100,
|
|
itemStyle: {
|
|
normal: {
|
|
color: "#255788",
|
|
},
|
|
},
|
|
},
|
|
|
|
],
|
|
},
|
|
{
|
|
type: "pie",
|
|
hoverAnimation: false,
|
|
radius: ["53%", "60%"],
|
|
center: ["50%", "40%"],
|
|
labelLine: {
|
|
normal: {
|
|
show: false,
|
|
},
|
|
},
|
|
label: {
|
|
normal: {
|
|
position: "center",
|
|
},
|
|
},
|
|
data: [
|
|
{
|
|
value: 35,
|
|
itemStyle: {
|
|
normal: {
|
|
color: "#68a8f2",
|
|
},
|
|
},
|
|
normal: {
|
|
show: false,
|
|
},
|
|
},
|
|
{
|
|
value: 100-35,
|
|
itemStyle: {
|
|
normal: {
|
|
label: {
|
|
show: false,
|
|
},
|
|
labelLine: {
|
|
show: false,
|
|
},
|
|
color: "rgba(0,0,0,0)",
|
|
borderWidth: 0,
|
|
},
|
|
emphasis: {
|
|
color: "rgba(0,0,0,0)",
|
|
borderWidth: 0,
|
|
},
|
|
},
|
|
},
|
|
],
|
|
},
|
|
],
|
|
};
|
|
}
|
|
|
|
// function initChart1(canvas,width,height,dpr) {
|
|
// chart1=echarts.init(canvas,null,{
|
|
// width:width,
|
|
// height:height,
|
|
// devicePixelRatio:dpr
|
|
// })
|
|
// canvas.setChart(chart1)
|
|
|
|
// let option1=getOption1(0,0)
|
|
// chart1.setOption(option1)
|
|
// return chart1
|
|
// }
|
|
|
|
function getOption1(rate,number) {
|
|
let that=this
|
|
return {
|
|
title: [
|
|
{
|
|
text: rate+'%',
|
|
textAlign: "center",
|
|
left: "48%",
|
|
top: "30%",
|
|
textStyle: {
|
|
color: "#67abf2",
|
|
fontSize: 23,
|
|
},
|
|
},
|
|
{
|
|
text: '未完成: '+number,
|
|
left: "48%",
|
|
top: "80%",
|
|
textAlign: "center",
|
|
textStyle: {
|
|
color: "#cdd7fa",
|
|
fontWeight: "normal",
|
|
fontSize: "16",
|
|
textAlign: "center",
|
|
},
|
|
},
|
|
],
|
|
series: [
|
|
{
|
|
type: "pie",
|
|
hoverAnimation: false,
|
|
radius: ["60%", "59%"],
|
|
center: ["50%", "40%"],
|
|
labelLine: {
|
|
normal: {
|
|
show: false,
|
|
},
|
|
},
|
|
label: {
|
|
normal: {
|
|
position: "center",
|
|
},
|
|
},
|
|
data: [
|
|
{
|
|
value: 100,
|
|
itemStyle: {
|
|
normal: {
|
|
color: "#255788",
|
|
},
|
|
},
|
|
},
|
|
|
|
],
|
|
},
|
|
{
|
|
type: "pie",
|
|
hoverAnimation: false,
|
|
radius: ["53%", "60%"],
|
|
center: ["50%", "40%"],
|
|
labelLine: {
|
|
normal: {
|
|
show: false,
|
|
},
|
|
},
|
|
label: {
|
|
normal: {
|
|
position: "center",
|
|
},
|
|
},
|
|
data: [
|
|
{
|
|
value: 22,
|
|
itemStyle: {
|
|
normal: {
|
|
color: "#68a8f2",
|
|
},
|
|
},
|
|
normal: {
|
|
show: false,
|
|
},
|
|
},
|
|
{
|
|
value: 100-22,
|
|
itemStyle: {
|
|
normal: {
|
|
label: {
|
|
show: false,
|
|
},
|
|
labelLine: {
|
|
show: false,
|
|
},
|
|
color: "rgba(0,0,0,0)",
|
|
borderWidth: 0,
|
|
},
|
|
emphasis: {
|
|
color: "rgba(0,0,0,0)",
|
|
borderWidth: 0,
|
|
},
|
|
},
|
|
},
|
|
],
|
|
},
|
|
],
|
|
};
|
|
}
|
|
|
|
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
ec:{
|
|
lazyLoad:true
|
|
},
|
|
ec1:{
|
|
lazyLoad:true
|
|
},
|
|
index1:0,
|
|
fourClarificaiton:{
|
|
"gljd": "2022-08-25",
|
|
"szjd": "2022-09-15",
|
|
"zxfajd": 0,
|
|
"jsjd": 0
|
|
},
|
|
//页面跳转参数
|
|
loginName:'',
|
|
userName:'',
|
|
projectId:'',
|
|
projectName:'' ,
|
|
initData:{},
|
|
loadShow:false,
|
|
//科技创新
|
|
sciencelnnovateDataList:[],
|
|
//四新应用
|
|
videoList:[],
|
|
//方案管理
|
|
timeAxisData: [],
|
|
dangerName:[],
|
|
proposalsNumber:0,
|
|
planNodelNumber:0,
|
|
//变更签认
|
|
constructionNum:0,
|
|
alterationNum:0,
|
|
bgWTGNumber:0,
|
|
gcWTGNumber:0,
|
|
bgWTGNumberRate:0,
|
|
gcWTGNumberRate:0,
|
|
//人员
|
|
show: false,
|
|
},
|
|
// 左键
|
|
onLeftBtn(e){
|
|
let that=this
|
|
this.setData({
|
|
index1:this.data.index1-1
|
|
})
|
|
let maxLength = 0
|
|
var query = wx.createSelectorQuery();
|
|
query.select('.kejichuangxin-content-box').boundingClientRect();
|
|
query.exec(function (res) {
|
|
//res就是 所有标签为v1的元素的信息 的数组
|
|
// console.log(res);
|
|
//取宽度
|
|
// console.log(res[0].width);
|
|
let n = 0
|
|
if(that.data.index1 > maxLength){
|
|
n = that.data.index1 * res[0].width
|
|
|
|
}else{
|
|
that.setData({
|
|
index1:3
|
|
})
|
|
n = that.data.index1 * res[0].width
|
|
}
|
|
console.log(n);
|
|
})
|
|
},
|
|
onRightBtn(e){
|
|
let that=this
|
|
this.setData({
|
|
index1:this.data.index1+1
|
|
})
|
|
let maxLength = this.data.sciencelnnovateDataList.length ;
|
|
console.log(this.data.sciencelnnovateDataList.length)
|
|
var query = wx.createSelectorQuery();
|
|
query.select('.kejichuangxin-content-box').boundingClientRect();
|
|
query.exec(function (res) {
|
|
//res就是 所有标签为v1的元素的信息 的数组
|
|
// console.log(res);
|
|
//取宽度
|
|
// console.log(res[0].width);
|
|
let n = 0
|
|
if(that.data.index1 < maxLength ){
|
|
n = that.data.index1 * res[0].width
|
|
|
|
}else{
|
|
that.setData({
|
|
index1:0
|
|
})
|
|
n = that.data.index1 * res[0].width
|
|
}
|
|
// console.log(n);
|
|
// const bigBox=wx.createSelectorQuery().select('#bigBox').boundingClientRect();
|
|
// bigBox.exec(function (res) {
|
|
// console.log(res);
|
|
// })
|
|
// console.log( bigBox);
|
|
// that.selectComponent('#bigBox').animate({scrollLeft:n+'px'})
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad(options) {
|
|
var that = this
|
|
this.oneComponent = this.selectComponent('#mychart-dom');
|
|
this.twoComponent = this.selectComponent('#mychart-dom1');
|
|
//获取项目缓存数据
|
|
wx.getStorage({
|
|
key: 'userinfo',
|
|
success:function(res){
|
|
that.setData({
|
|
loginName:res.data.loginName,
|
|
userName:res.data.userName,
|
|
projectId:app.globalData.projectId,
|
|
projectName:app.globalData.projectName,
|
|
initData:{text:app.globalData.projectName,id:app.globalData.projectId}
|
|
})
|
|
}
|
|
})
|
|
|
|
that.getProjectCorrespondence(app.globalData.projectId)
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload() {
|
|
|
|
},
|
|
onClickHide() {
|
|
this.setData({ loadShow: false });
|
|
},
|
|
onClickShow() {
|
|
this.setData({ loadShow: true });
|
|
},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom() {
|
|
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage() {
|
|
|
|
},
|
|
/**
|
|
* 四级交底情况
|
|
*/
|
|
getfourData() {
|
|
var that = this
|
|
wx.request({
|
|
url: 'https://api-tmp.makalu.cc/szhjzgkpt/four/clarificaiton',
|
|
data:{},
|
|
method:"GET",
|
|
success:(res)=>{
|
|
that.fourClarificaiton = res.data
|
|
wx.request({
|
|
url: app.globalData.szhUrl+'/api/project/selectTechnicalDisclosureInformationList',
|
|
data:{
|
|
projectId: that.data.projectId,
|
|
},
|
|
method:'POST',
|
|
success:(res)=>{
|
|
var zx = 0
|
|
var js = 0
|
|
that.setData({
|
|
fourDataList : res.data.data
|
|
})
|
|
|
|
for (let tmp of res.data.data) {
|
|
switch (tmp.type) {
|
|
case 1:
|
|
js++
|
|
tmp.sort = js
|
|
break
|
|
case 2:
|
|
zx++
|
|
tmp.sort = zx
|
|
break
|
|
}
|
|
}
|
|
|
|
that.setData({
|
|
'fourClarificaiton.zxfajd': zx,
|
|
'fourClarificaiton.jsjd':js
|
|
})
|
|
}
|
|
})
|
|
}
|
|
|
|
})
|
|
},
|
|
//项目切换 返回值
|
|
onProjectSelect(e) {
|
|
var that = this;
|
|
this.onClickShow();
|
|
let projectId = e.detail.id;
|
|
let projectName = e.detail.text;
|
|
app.globalData.projectId = projectId;
|
|
app.globalData.projectName = projectName;
|
|
that.setData({
|
|
projectId: projectId,
|
|
projectName: projectName
|
|
})
|
|
that.onLoad()
|
|
},
|
|
/**
|
|
* 项目对应关系
|
|
*/
|
|
getProjectCorrespondence(projectId) {
|
|
var that = this;
|
|
wx.request({
|
|
url: app.globalData.reqUrl + '/weixin/training/getProjectCorrespondence',
|
|
data: {
|
|
"projectId": projectId,
|
|
},
|
|
method: "get",
|
|
success: function (res) {
|
|
that.setData({
|
|
projectData: res.data,
|
|
projectId:res.data.szh
|
|
})
|
|
that.getfourData()
|
|
that.scienceInnovateData();
|
|
that.fourNewApplicationData();
|
|
that.getFangAnNumber();
|
|
that.getSchemeTableData();
|
|
}
|
|
})
|
|
},
|
|
//科技创新
|
|
scienceInnovateData(){
|
|
var that = this
|
|
wx.request({
|
|
url: app.globalData.szhUrl+'/system/scienceInnovateConfig/list1',
|
|
data:{
|
|
pageNum:1,pageSize:9999,projectId:that.data.projectId
|
|
},
|
|
method:"POST",
|
|
success:(res)=>{
|
|
let result = res.data
|
|
let tempData = []
|
|
var sciencelnnovateDataList = []
|
|
let tmp = {}
|
|
if(result.code == 0){
|
|
result.rows.forEach(item=>{
|
|
var name=''
|
|
var status = ''
|
|
if(!tmp[item.name]){
|
|
tmp[item.name] = {
|
|
name:item.name,
|
|
context:[]
|
|
}
|
|
}
|
|
|
|
if(item.type == '0'){
|
|
name = '研究报告'
|
|
}else if(item.type == '1'){
|
|
name = '知识产权'
|
|
}else if(item.type == '2'){
|
|
name = '论文'
|
|
}else{
|
|
name = '工法'
|
|
}
|
|
|
|
if(item.status =='0'){
|
|
status = '进行中'
|
|
}else if(item.status =='1'){
|
|
status = '已完成'
|
|
}else if(item.status =='4'){
|
|
status = '未涉及'
|
|
}else{
|
|
status = '未开始'
|
|
}
|
|
tmp[item.name] .context.push({
|
|
name,
|
|
status
|
|
})
|
|
|
|
})
|
|
for(let k in tmp ){
|
|
sciencelnnovateDataList.push(tmp[k])
|
|
}
|
|
that.setData({
|
|
sciencelnnovateDataList : sciencelnnovateDataList
|
|
})
|
|
console.log(sciencelnnovateDataList)
|
|
}
|
|
}
|
|
|
|
})
|
|
},
|
|
//四新引用公艺视频
|
|
fourNewApplicationData(){
|
|
var that = this
|
|
wx.request({
|
|
url: app.globalData.szhUrl+'/system/fourNewConfig/list1',
|
|
data:{
|
|
pageNum:1,
|
|
pageSize:9999,
|
|
projectId:that.data.projectId
|
|
},
|
|
method:"POST",
|
|
success:(res)=>{
|
|
let result = res.data
|
|
var tempList = []
|
|
if(result.code == 0){
|
|
tempList = result.rows.filter(item=>{
|
|
if(item.type == 1){
|
|
return item
|
|
}
|
|
}).map(item=>{
|
|
return {url:item.fileUrl}
|
|
});
|
|
that.setData({
|
|
videoList:tempList
|
|
})
|
|
}
|
|
}
|
|
})
|
|
},
|
|
//方案管理
|
|
getFangAnNumber() {
|
|
var that = this
|
|
let project_id = that.data.projectId
|
|
wx.request({
|
|
url: app.globalData.szhUrl+'/api/danger/queryProjectDanger',
|
|
data:{
|
|
project_id,
|
|
pageNum:1,
|
|
pageSize:9999
|
|
},
|
|
method:"POST",
|
|
success:(res)=>{
|
|
|
|
if(res.data.code == 200){
|
|
that.setData({
|
|
dangerName:res.data.data.danger_name,
|
|
})
|
|
let timeAxisData = res.data.data.dangerList
|
|
var index = timeAxisData.length - 1
|
|
for (let i = 0; i < timeAxisData.length; i++) {
|
|
if (timeAxisData[i].actualTima == '') {
|
|
index = i - 1
|
|
break
|
|
}
|
|
}
|
|
that.setData({
|
|
timeAxisData:timeAxisData,
|
|
})
|
|
that.getPlanNodeNumber()
|
|
} else {
|
|
that.setData({
|
|
dangerName:[],
|
|
timeAxisData:[],
|
|
planNodelNumber:0
|
|
|
|
})
|
|
}
|
|
}
|
|
})
|
|
|
|
},
|
|
/**
|
|
* 获取方案节点数
|
|
*/
|
|
getPlanNodeNumber() {
|
|
var that = this;
|
|
let count = 0;
|
|
var list = this.data.dangerName;
|
|
for (let index = 0; index < list.length; index++) {
|
|
wx.request({
|
|
url: app.globalData.szhUrl+'/api/danger/queryProjectId',
|
|
data:{
|
|
"project_id": that.data.projectId,
|
|
"danger_id": list[index].id
|
|
},
|
|
method:"POST",
|
|
success:(res)=>{
|
|
if(res.data.code == 200){
|
|
count += parseInt(res.data.allPoint);
|
|
}
|
|
that.setData({
|
|
planNodelNumber:count
|
|
})
|
|
}
|
|
})
|
|
|
|
}
|
|
},
|
|
//变更签认
|
|
getSchemeTableData() {
|
|
var that = this;
|
|
wx.request({
|
|
url: app.globalData.szhUrl+'/system/alterationEndorseConfig/list1',
|
|
data:{pageNum:1,pageSize:9999,projectId:this.data.projectId},
|
|
method:"POST",
|
|
success:(res)=>{
|
|
let result = res.data
|
|
var bgWTGNumber= 0;
|
|
var gcWTGNumber = 0
|
|
if(result.code == 0){
|
|
|
|
that.setData({
|
|
constructionNum: result.rows.filter(item=>item.alterationType == "0").length,
|
|
alterationNum: result.rows.filter(item=>item.alterationType == "1").length
|
|
})
|
|
} else {
|
|
that.setData({
|
|
constructionNum:0,
|
|
alterationNum:0
|
|
})
|
|
}
|
|
var tempList = result.rows
|
|
if(tempList != undefined){
|
|
for (let index = 0; index < tempList.length; index++) {
|
|
if(tempList[index].alterationType == "0") {
|
|
if(tempList[index].alterationStatus != '0') {
|
|
bgWTGNumber += 1
|
|
}
|
|
} else {
|
|
if(tempList[index].alterationStatus != '0') {
|
|
gcWTGNumber += 1
|
|
}
|
|
}
|
|
var bgWTGNumberRate = 0.0;
|
|
var gcWTGNumberRate = 0.0;
|
|
if(that.data.constructionNum != 0) {
|
|
bgWTGNumberRate =isNaN(((bgWTGNumber/that.data.constructionNum)*100).toFixed(2))?0.0:((bgWTGNumber/that.data.constructionNum)*100).toFixed(1);
|
|
}
|
|
if(that.data.alterationNum != 0 && gcWTGNumber != 0) {
|
|
gcWTGNumberRate = isNaN(((gcWTGNumber/that.data.alterationNum)*100).toFixed(2))?0.0:((gcWTGNumber/that.data.alterationNum)*100).toFixed(1);
|
|
}
|
|
that.setData({
|
|
bgWTGNumber:bgWTGNumber,
|
|
gcWTGNumber:gcWTGNumber,
|
|
bgWTGNumberRate:bgWTGNumberRate == 0 ? 0:bgWTGNumberRate,
|
|
gcWTGNumberRate:gcWTGNumberRate == 0 ? 0:gcWTGNumberRate
|
|
})
|
|
|
|
}
|
|
} else {
|
|
that.setData({
|
|
bgWTGNumber:0,
|
|
gcWTGNumber:0,
|
|
bgWTGNumberRate:0,
|
|
gcWTGNumberRate:0
|
|
})
|
|
|
|
}
|
|
|
|
that.initChartA(this.data.bgWTGNumberRate, this.data.bgWTGNumber)
|
|
that.initChartB(this.data.gcWTGNumberRate, this.data.gcWTGNumber)
|
|
|
|
|
|
}
|
|
})
|
|
},
|
|
initChartA(rate,number) {
|
|
this.oneComponent.init((canvas, width, height, dpr) => {
|
|
chart=echarts.init(canvas,null,{
|
|
width:width,
|
|
height:height,
|
|
devicePixelRatio:dpr
|
|
})
|
|
canvas.setChart(chart)
|
|
let option=getOption(rate,number)
|
|
chart.setOption(option)
|
|
return chart
|
|
})
|
|
|
|
},
|
|
initChartB(rate,number) {
|
|
this.twoComponent.init((canvas, width, height, dpr) => {
|
|
chart1=echarts.init(canvas,null,{
|
|
width:width,
|
|
height:height,
|
|
devicePixelRatio:dpr
|
|
})
|
|
canvas.setChart(chart1)
|
|
let option1=getOption1(rate,number)
|
|
chart1.setOption(option1)
|
|
return chart1
|
|
})
|
|
|
|
},
|
|
/**
|
|
* 返回到更多功能页面
|
|
*/
|
|
goGCLB:function(){
|
|
wx.redirectTo({
|
|
url: '../../pages/gengduogongneng/index'
|
|
})
|
|
},
|
|
|
|
showPopup() {
|
|
this.setData({ show: true });
|
|
},
|
|
onClose() {
|
|
this.setData({ show: false });
|
|
},
|
|
|
|
checkMajorNodes(){
|
|
wx.navigateTo({
|
|
url: '../dangerousProject/index',
|
|
})
|
|
},
|
|
|
|
checkSignature(){
|
|
wx.navigateTo({
|
|
url: '../biangeng/index',
|
|
})
|
|
}
|
|
|
|
}) |