jhwxapp/miniprogram/pageage/technical-management/index.js

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',
})
}
})