Parcourir la source

部分内容调整

liangluogis il y a 5 mois
Parent
commit
7cd82bf3a4

+ 7 - 3
public/config.js

@@ -17,13 +17,17 @@ export const iserverConfig = {
     'baseUrl': 'http://221.182.8.141:8090/iserver/'
 }
 export const getResultList = {
-    coordinatedEvaluationUrl: "http://221.182.8.141:7021/data/response.json",
+    // coordinatedEvaluationUrl: "http://221.182.8.141:7021/data/response.json",
+    coordinatedEvaluationUrl: "./static/response.json",
     analyseDataUrl: "http://221.182.8.141:7021/analyze_epc_synergy",
-    problemUrl: "http://221.182.8.141:7022/data/response.json",
+    // problemUrl: "http://221.182.8.141:7022/data/response.json",
+    problemUrl: "./static/response-wt.json",
     problemFileUrl: "http://221.182.8.141:7022/process_documents",
     sgjdmn_init: './static/testData.json',
     sgjdmn_analysis: 'http://127.0.0.1:8000/run',
-};
+    goOut:"https://tgdcepc.ctg.com.cn:8443/bimp/#/login"
+}
+//退出登录的地址
 export const appconfig = {
     // 底图是否采用在线地图,true在线,false离线
     'isonline': true,

+ 758 - 0
public/static/response-wt.json

@@ -0,0 +1,758 @@
+{
+  "code": 1,
+  "result": {
+    "output": {
+      "处理文件数": 1,
+      "发现问题数": 6,
+      "发现策略数": 5,
+      "生成匹配数": 18,
+      "问题类型定义": [
+        "管理问题",
+        "技术问题",
+        "资源问题",
+        "其他问题"
+      ]
+    },
+    "best_matches": [
+      {
+        "问题句": "项目部困难",
+        "问题类型": "利益",
+        "类型概率": [
+          [
+            0.0003084049094468355,
+            5.776906618848443e-05,
+            5.492139462148771e-05,
+            3.87571744795423e-05,
+            3.5144192224834114e-05,
+            3.717050276463851e-05,
+            0.00013564426626544446,
+            0.00023815734311938286,
+            0.00020870406297035515,
+            0.0011122124269604683,
+            0.0007782508619129658,
+            0.000613257463555783,
+            0.9798009395599365,
+            0.0001226184976985678,
+            0.00048004998825490475,
+            0.00047163141425698996,
+            0.00010139405640074983,
+            0.014024604111909866,
+            0.0013803471811115742
+          ]
+        ],
+        "策略句": "各单位统筹考虑春节后施工安排",
+        "语义相似度_roberta": 0.702255129814148,
+        "语义相似度_bert": 0.7507455348968506,
+        "平均语义得分": 0.7265003323554993,
+        "字符距离": 1049,
+        "距离得分": 0.0009523809523809524,
+        "关键词重叠": 0.0,
+        "最终得分": 0.3635358804634639,
+        "prob_pos": 332,
+        "strat_pos": 1381,
+        "出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "策略出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "问题关键词": "项目部, 困难",
+        "策略关键词": "单位, 统筹, 考虑, 春节, 施工"
+      },
+      {
+        "问题句": "项目部困难",
+        "问题类型": "利益",
+        "类型概率": [
+          [
+            0.0003084049094468355,
+            5.776906618848443e-05,
+            5.492139462148771e-05,
+            3.87571744795423e-05,
+            3.5144192224834114e-05,
+            3.717050276463851e-05,
+            0.00013564426626544446,
+            0.00023815734311938286,
+            0.00020870406297035515,
+            0.0011122124269604683,
+            0.0007782508619129658,
+            0.000613257463555783,
+            0.9798009395599365,
+            0.0001226184976985678,
+            0.00048004998825490475,
+            0.00047163141425698996,
+            0.00010139405640074983,
+            0.014024604111909866,
+            0.0013803471811115742
+          ]
+        ],
+        "策略句": "现场不同意修改",
+        "语义相似度_roberta": 0.6885820627212524,
+        "语义相似度_bert": 0.7089859247207642,
+        "平均语义得分": 0.6987839937210083,
+        "字符距离": 342,
+        "距离得分": 0.0029154518950437317,
+        "关键词重叠": 0.0,
+        "最终得分": 0.3502666324290173,
+        "prob_pos": 332,
+        "strat_pos": 674,
+        "出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "策略出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "问题关键词": "项目部, 困难",
+        "策略关键词": "现场, 同意, 修改"
+      },
+      {
+        "问题句": "项目部困难",
+        "问题类型": "利益",
+        "类型概率": [
+          [
+            0.0003084049094468355,
+            5.776906618848443e-05,
+            5.492139462148771e-05,
+            3.87571744795423e-05,
+            3.5144192224834114e-05,
+            3.717050276463851e-05,
+            0.00013564426626544446,
+            0.00023815734311938286,
+            0.00020870406297035515,
+            0.0011122124269604683,
+            0.0007782508619129658,
+            0.000613257463555783,
+            0.9798009395599365,
+            0.0001226184976985678,
+            0.00048004998825490475,
+            0.00047163141425698996,
+            0.00010139405640074983,
+            0.014024604111909866,
+            0.0013803471811115742
+          ]
+        ],
+        "策略句": "总包部学习清污分流改",
+        "语义相似度_roberta": 0.6795673966407776,
+        "语义相似度_bert": 0.7176533937454224,
+        "平均语义得分": 0.6986103951931,
+        "字符距离": 479,
+        "距离得分": 0.0020833333333333333,
+        "关键词重叠": 0.0,
+        "最终得分": 0.34993019759655,
+        "prob_pos": 332,
+        "strat_pos": 811,
+        "出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "策略出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "问题关键词": "项目部, 困难",
+        "策略关键词": "总包部, 学习, 清污, 分流"
+      },
+      {
+        "问题句": "各单位疫情流行加速",
+        "问题类型": "目标",
+        "类型概率": [
+          [
+            0.001677863416261971,
+            0.0007719845743849874,
+            0.00043040330638177693,
+            2.963258884847164e-05,
+            0.0004946094704791903,
+            0.0005959600675851107,
+            0.00019002720364369452,
+            0.9831921458244324,
+            0.0012312678154557943,
+            0.000284806068520993,
+            0.0001727961644064635,
+            0.005129812750965357,
+            0.00030484647140838206,
+            0.00026685590273700655,
+            0.0008253713021986187,
+            0.0012548257363960147,
+            8.794955647317693e-05,
+            0.0027584282215684652,
+            0.0003004137834068388
+          ]
+        ],
+        "策略句": "各单位统筹考虑春节后施工安排",
+        "语义相似度_roberta": 0.6511791944503784,
+        "语义相似度_bert": 0.7443910837173462,
+        "平均语义得分": 0.6977851390838623,
+        "字符距离": 882,
+        "距离得分": 0.0011325028312570782,
+        "关键词重叠": 0.125,
+        "最终得分": 0.37423232039130827,
+        "prob_pos": 499,
+        "strat_pos": 1381,
+        "出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "策略出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "问题关键词": "单位, 疫情, 流行, 加速",
+        "策略关键词": "单位, 统筹, 考虑, 春节, 施工"
+      },
+      {
+        "问题句": "各单位疫情流行加速",
+        "问题类型": "目标",
+        "类型概率": [
+          [
+            0.001677863416261971,
+            0.0007719845743849874,
+            0.00043040330638177693,
+            2.963258884847164e-05,
+            0.0004946094704791903,
+            0.0005959600675851107,
+            0.00019002720364369452,
+            0.9831921458244324,
+            0.0012312678154557943,
+            0.000284806068520993,
+            0.0001727961644064635,
+            0.005129812750965357,
+            0.00030484647140838206,
+            0.00026685590273700655,
+            0.0008253713021986187,
+            0.0012548257363960147,
+            8.794955647317693e-05,
+            0.0027584282215684652,
+            0.0003004137834068388
+          ]
+        ],
+        "策略句": "各单位开展对外协调和联络工作名义",
+        "语义相似度_roberta": 0.6566197276115417,
+        "语义相似度_bert": 0.7144852876663208,
+        "平均语义得分": 0.6855525076389313,
+        "字符距离": 941,
+        "距离得分": 0.0010615711252653928,
+        "关键词重叠": 0.125,
+        "最终得分": 0.3680947251570453,
+        "prob_pos": 499,
+        "strat_pos": 1440,
+        "出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "策略出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "问题关键词": "单位, 疫情, 流行, 加速",
+        "策略关键词": "单位, 开展, 对外, 协调, 联络"
+      },
+      {
+        "问题句": "各单位疫情流行加速",
+        "问题类型": "目标",
+        "类型概率": [
+          [
+            0.001677863416261971,
+            0.0007719845743849874,
+            0.00043040330638177693,
+            2.963258884847164e-05,
+            0.0004946094704791903,
+            0.0005959600675851107,
+            0.00019002720364369452,
+            0.9831921458244324,
+            0.0012312678154557943,
+            0.000284806068520993,
+            0.0001727961644064635,
+            0.005129812750965357,
+            0.00030484647140838206,
+            0.00026685590273700655,
+            0.0008253713021986187,
+            0.0012548257363960147,
+            8.794955647317693e-05,
+            0.0027584282215684652,
+            0.0003004137834068388
+          ]
+        ],
+        "策略句": "总包部学习清污分流改",
+        "语义相似度_roberta": 0.6497862339019775,
+        "语义相似度_bert": 0.6600624918937683,
+        "平均语义得分": 0.6549243628978729,
+        "字符距离": 312,
+        "距离得分": 0.003194888178913738,
+        "关键词重叠": 0.0,
+        "最终得分": 0.3284206479026106,
+        "prob_pos": 499,
+        "strat_pos": 811,
+        "出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "策略出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "问题关键词": "单位, 疫情, 流行, 加速",
+        "策略关键词": "总包部, 学习, 清污, 分流"
+      },
+      {
+        "问题句": "设计单位异常问题",
+        "问题类型": "资源",
+        "类型概率": [
+          [
+            0.0006259166984818876,
+            4.4702312152367085e-05,
+            0.0005977459368295968,
+            0.001963684568181634,
+            0.0002570429351180792,
+            0.0003131123958155513,
+            3.8907364796614274e-05,
+            0.0001735177356749773,
+            0.00035991976619698107,
+            0.0002515444066375494,
+            1.8160437321057543e-05,
+            0.0019539659842848778,
+            0.0001824453502194956,
+            4.49675353593193e-05,
+            0.0005675386055372655,
+            0.0002263663336634636,
+            0.0005802465602755547,
+            0.0008452962501905859,
+            0.9909549355506897
+          ]
+        ],
+        "策略句": "各单位统筹考虑春节后施工安排",
+        "语义相似度_roberta": 0.7200955748558044,
+        "语义相似度_bert": 0.8138676285743713,
+        "平均语义得分": 0.7669816017150879,
+        "字符距离": 631,
+        "距离得分": 0.0015822784810126582,
+        "关键词重叠": 0.125,
+        "最终得分": 0.40896548440184777,
+        "prob_pos": 750,
+        "strat_pos": 1381,
+        "出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "策略出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "问题关键词": "设计, 单位, 异常, 问题",
+        "策略关键词": "单位, 统筹, 考虑, 春节, 施工"
+      },
+      {
+        "问题句": "设计单位异常问题",
+        "问题类型": "资源",
+        "类型概率": [
+          [
+            0.0006259166984818876,
+            4.4702312152367085e-05,
+            0.0005977459368295968,
+            0.001963684568181634,
+            0.0002570429351180792,
+            0.0003131123958155513,
+            3.8907364796614274e-05,
+            0.0001735177356749773,
+            0.00035991976619698107,
+            0.0002515444066375494,
+            1.8160437321057543e-05,
+            0.0019539659842848778,
+            0.0001824453502194956,
+            4.49675353593193e-05,
+            0.0005675386055372655,
+            0.0002263663336634636,
+            0.0005802465602755547,
+            0.0008452962501905859,
+            0.9909549355506897
+          ]
+        ],
+        "策略句": "各单位开展对外协调和联络工作名义",
+        "语义相似度_roberta": 0.6943567991256714,
+        "语义相似度_bert": 0.7566315531730652,
+        "平均语义得分": 0.7254941761493683,
+        "字符距离": 690,
+        "距离得分": 0.001447178002894356,
+        "关键词重叠": 0.125,
+        "最终得分": 0.3881812414755525,
+        "prob_pos": 750,
+        "strat_pos": 1440,
+        "出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "策略出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "问题关键词": "设计, 单位, 异常, 问题",
+        "策略关键词": "单位, 开展, 对外, 协调, 联络"
+      },
+      {
+        "问题句": "设计单位异常问题",
+        "问题类型": "资源",
+        "类型概率": [
+          [
+            0.0006259166984818876,
+            4.4702312152367085e-05,
+            0.0005977459368295968,
+            0.001963684568181634,
+            0.0002570429351180792,
+            0.0003131123958155513,
+            3.8907364796614274e-05,
+            0.0001735177356749773,
+            0.00035991976619698107,
+            0.0002515444066375494,
+            1.8160437321057543e-05,
+            0.0019539659842848778,
+            0.0001824453502194956,
+            4.49675353593193e-05,
+            0.0005675386055372655,
+            0.0002263663336634636,
+            0.0005802465602755547,
+            0.0008452962501905859,
+            0.9909549355506897
+          ]
+        ],
+        "策略句": "总包部学习清污分流改",
+        "语义相似度_roberta": 0.6828314661979675,
+        "语义相似度_bert": 0.7107999920845032,
+        "平均语义得分": 0.6968157291412354,
+        "字符距离": 61,
+        "距离得分": 0.016129032258064516,
+        "关键词重叠": 0.0,
+        "最终得分": 0.353246574248037,
+        "prob_pos": 750,
+        "strat_pos": 811,
+        "出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "策略出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "问题关键词": "设计, 单位, 异常, 问题",
+        "策略关键词": "总包部, 学习, 清污, 分流"
+      },
+      {
+        "问题句": "安全环保部施工部位",
+        "问题类型": "目标",
+        "类型概率": [
+          [
+            0.00039380177622660995,
+            0.0013611263129860163,
+            0.0015384936705231667,
+            0.0005173712270334363,
+            0.0014072112971916795,
+            0.0011732785496860743,
+            0.0005521163693629205,
+            0.011682291515171528,
+            0.0036041310522705317,
+            0.0012792141642421484,
+            0.0007885264349170029,
+            0.9365837574005127,
+            0.0009573025163263083,
+            0.002131836488842964,
+            0.0034212020691484213,
+            0.001472055446356535,
+            0.0008515846566297114,
+            0.022614868357777596,
+            0.007669888902455568
+          ]
+        ],
+        "策略句": "各单位统筹考虑春节后施工安排",
+        "语义相似度_roberta": 0.7551897764205933,
+        "语义相似度_bert": 0.8024986982345581,
+        "平均语义得分": 0.7788442373275757,
+        "字符距离": 427,
+        "距离得分": 0.002336448598130841,
+        "关键词重叠": 0.125,
+        "最终得分": 0.4151230532432271,
+        "prob_pos": 954,
+        "strat_pos": 1381,
+        "出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "策略出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "问题关键词": "安全, 环保部, 施工, 部位",
+        "策略关键词": "单位, 统筹, 考虑, 春节, 施工"
+      },
+      {
+        "问题句": "安全环保部施工部位",
+        "问题类型": "目标",
+        "类型概率": [
+          [
+            0.00039380177622660995,
+            0.0013611263129860163,
+            0.0015384936705231667,
+            0.0005173712270334363,
+            0.0014072112971916795,
+            0.0011732785496860743,
+            0.0005521163693629205,
+            0.011682291515171528,
+            0.0036041310522705317,
+            0.0012792141642421484,
+            0.0007885264349170029,
+            0.9365837574005127,
+            0.0009573025163263083,
+            0.002131836488842964,
+            0.0034212020691484213,
+            0.001472055446356535,
+            0.0008515846566297114,
+            0.022614868357777596,
+            0.007669888902455568
+          ]
+        ],
+        "策略句": "总包部学习清污分流改",
+        "语义相似度_roberta": 0.7427328824996948,
+        "语义相似度_bert": 0.7463295459747314,
+        "平均语义得分": 0.7445312142372131,
+        "字符距离": 143,
+        "距离得分": 0.006944444444444444,
+        "关键词重叠": 0.0,
+        "最终得分": 0.3743489404519399,
+        "prob_pos": 954,
+        "strat_pos": 811,
+        "出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "策略出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "问题关键词": "安全, 环保部, 施工, 部位",
+        "策略关键词": "总包部, 学习, 清污, 分流"
+      },
+      {
+        "问题句": "安全环保部施工部位",
+        "问题类型": "目标",
+        "类型概率": [
+          [
+            0.00039380177622660995,
+            0.0013611263129860163,
+            0.0015384936705231667,
+            0.0005173712270334363,
+            0.0014072112971916795,
+            0.0011732785496860743,
+            0.0005521163693629205,
+            0.011682291515171528,
+            0.0036041310522705317,
+            0.0012792141642421484,
+            0.0007885264349170029,
+            0.9365837574005127,
+            0.0009573025163263083,
+            0.002131836488842964,
+            0.0034212020691484213,
+            0.001472055446356535,
+            0.0008515846566297114,
+            0.022614868357777596,
+            0.007669888902455568
+          ]
+        ],
+        "策略句": "各单位开展对外协调和联络工作名义",
+        "语义相似度_roberta": 0.6631391644477844,
+        "语义相似度_bert": 0.711726725101471,
+        "平均语义得分": 0.6874329447746277,
+        "字符距离": 486,
+        "距离得分": 0.002053388090349076,
+        "关键词重叠": 0.0,
+        "最终得分": 0.3443324888144186,
+        "prob_pos": 954,
+        "strat_pos": 1440,
+        "出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "策略出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "问题关键词": "安全, 环保部, 施工, 部位",
+        "策略关键词": "单位, 开展, 对外, 协调, 联络"
+      },
+      {
+        "问题句": "项目部方案内容不全",
+        "问题类型": "目标",
+        "类型概率": [
+          [
+            0.00027907019830308855,
+            4.32716406066902e-05,
+            1.4533589819620829e-05,
+            5.589852298726328e-05,
+            0.0011709751561284065,
+            0.001629234873689711,
+            0.0007234389195218682,
+            0.0053788162767887115,
+            0.9820054769515991,
+            0.0008174295071512461,
+            6.887284689582884e-05,
+            0.0010635668877512217,
+            0.0002778950147330761,
+            2.2407215510611422e-05,
+            5.927931852056645e-05,
+            0.0009871061192825437,
+            8.273100684164092e-05,
+            0.005182282067835331,
+            0.00013781868619844317
+          ]
+        ],
+        "策略句": "各单位统筹考虑春节后施工安排",
+        "语义相似度_roberta": 0.7291650772094727,
+        "语义相似度_bert": 0.8162293434143066,
+        "平均语义得分": 0.7726972103118896,
+        "字符距离": 324,
+        "距离得分": 0.003076923076923077,
+        "关键词重叠": 0.0,
+        "最终得分": 0.38727168207902174,
+        "prob_pos": 1057,
+        "strat_pos": 1381,
+        "出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "策略出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "问题关键词": "项目部, 方案, 内容, 不全",
+        "策略关键词": "单位, 统筹, 考虑, 春节, 施工"
+      },
+      {
+        "问题句": "项目部方案内容不全",
+        "问题类型": "目标",
+        "类型概率": [
+          [
+            0.00027907019830308855,
+            4.32716406066902e-05,
+            1.4533589819620829e-05,
+            5.589852298726328e-05,
+            0.0011709751561284065,
+            0.001629234873689711,
+            0.0007234389195218682,
+            0.0053788162767887115,
+            0.9820054769515991,
+            0.0008174295071512461,
+            6.887284689582884e-05,
+            0.0010635668877512217,
+            0.0002778950147330761,
+            2.2407215510611422e-05,
+            5.927931852056645e-05,
+            0.0009871061192825437,
+            8.273100684164092e-05,
+            0.005182282067835331,
+            0.00013781868619844317
+          ]
+        ],
+        "策略句": "各单位开展对外协调和联络工作名义",
+        "语义相似度_roberta": 0.6672922968864441,
+        "语义相似度_bert": 0.7626059055328369,
+        "平均语义得分": 0.7149491012096405,
+        "字符距离": 383,
+        "距离得分": 0.0026041666666666665,
+        "关键词重叠": 0.0,
+        "最终得分": 0.35825580060482026,
+        "prob_pos": 1057,
+        "strat_pos": 1440,
+        "出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "策略出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "问题关键词": "项目部, 方案, 内容, 不全",
+        "策略关键词": "单位, 开展, 对外, 协调, 联络"
+      },
+      {
+        "问题句": "项目部方案内容不全",
+        "问题类型": "目标",
+        "类型概率": [
+          [
+            0.00027907019830308855,
+            4.32716406066902e-05,
+            1.4533589819620829e-05,
+            5.589852298726328e-05,
+            0.0011709751561284065,
+            0.001629234873689711,
+            0.0007234389195218682,
+            0.0053788162767887115,
+            0.9820054769515991,
+            0.0008174295071512461,
+            6.887284689582884e-05,
+            0.0010635668877512217,
+            0.0002778950147330761,
+            2.2407215510611422e-05,
+            5.927931852056645e-05,
+            0.0009871061192825437,
+            8.273100684164092e-05,
+            0.005182282067835331,
+            0.00013781868619844317
+          ]
+        ],
+        "策略句": "现场不同意修改",
+        "语义相似度_roberta": 0.7123472690582275,
+        "语义相似度_bert": 0.7169057726860046,
+        "平均语义得分": 0.7146265208721161,
+        "字符距离": 383,
+        "距离得分": 0.0026041666666666665,
+        "关键词重叠": 0.0,
+        "最终得分": 0.35809451043605806,
+        "prob_pos": 1057,
+        "strat_pos": 674,
+        "出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "策略出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "问题关键词": "项目部, 方案, 内容, 不全",
+        "策略关键词": "现场, 同意, 修改"
+      },
+      {
+        "问题句": "参会人员无法到会",
+        "问题类型": "信息",
+        "类型概率": [
+          [
+            0.0040482450276613235,
+            0.0009807428577914834,
+            0.0005374091560952365,
+            0.00014179952268023044,
+            0.0011744018411263824,
+            0.8212067484855652,
+            0.0005759930936619639,
+            0.15835674107074738,
+            0.0040723164565861225,
+            0.000499506713822484,
+            4.116770651307888e-05,
+            0.0023100096732378006,
+            9.368792962050065e-05,
+            0.0002969321794807911,
+            0.0010326288174837828,
+            0.0008930195472203195,
+            0.00036674062721431255,
+            0.0028322176076471806,
+            0.0005396661581471562
+          ]
+        ],
+        "策略句": "参会人员准时出席签到",
+        "语义相似度_roberta": 0.8901033401489258,
+        "语义相似度_bert": 0.8645752668380737,
+        "平均语义得分": 0.8773393034934998,
+        "字符距离": 0,
+        "距离得分": 1.0,
+        "关键词重叠": 0.4,
+        "最终得分": 0.81866965174675,
+        "prob_pos": 1525,
+        "strat_pos": 1525,
+        "出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "策略出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "问题关键词": "参会, 人员, 无法",
+        "策略关键词": "参会, 人员, 准时出席, 签到"
+      },
+      {
+        "问题句": "参会人员无法到会",
+        "问题类型": "信息",
+        "类型概率": [
+          [
+            0.0040482450276613235,
+            0.0009807428577914834,
+            0.0005374091560952365,
+            0.00014179952268023044,
+            0.0011744018411263824,
+            0.8212067484855652,
+            0.0005759930936619639,
+            0.15835674107074738,
+            0.0040723164565861225,
+            0.000499506713822484,
+            4.116770651307888e-05,
+            0.0023100096732378006,
+            9.368792962050065e-05,
+            0.0002969321794807911,
+            0.0010326288174837828,
+            0.0008930195472203195,
+            0.00036674062721431255,
+            0.0028322176076471806,
+            0.0005396661581471562
+          ]
+        ],
+        "策略句": "现场不同意修改",
+        "语义相似度_roberta": 0.7476679086685181,
+        "语义相似度_bert": 0.7369515299797058,
+        "平均语义得分": 0.7423097193241119,
+        "字符距离": 851,
+        "距离得分": 0.0011737089201877935,
+        "关键词重叠": 0.0,
+        "最终得分": 0.3715069723381123,
+        "prob_pos": 1525,
+        "strat_pos": 674,
+        "出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "策略出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "问题关键词": "参会, 人员, 无法",
+        "策略关键词": "现场, 同意, 修改"
+      },
+      {
+        "问题句": "参会人员无法到会",
+        "问题类型": "信息",
+        "类型概率": [
+          [
+            0.0040482450276613235,
+            0.0009807428577914834,
+            0.0005374091560952365,
+            0.00014179952268023044,
+            0.0011744018411263824,
+            0.8212067484855652,
+            0.0005759930936619639,
+            0.15835674107074738,
+            0.0040723164565861225,
+            0.000499506713822484,
+            4.116770651307888e-05,
+            0.0023100096732378006,
+            9.368792962050065e-05,
+            0.0002969321794807911,
+            0.0010326288174837828,
+            0.0008930195472203195,
+            0.00036674062721431255,
+            0.0028322176076471806,
+            0.0005396661581471562
+          ]
+        ],
+        "策略句": "各单位开展对外协调和联络工作名义",
+        "语义相似度_roberta": 0.7112751007080078,
+        "语义相似度_bert": 0.742398202419281,
+        "平均语义得分": 0.7268366515636444,
+        "字符距离": 85,
+        "距离得分": 0.011627906976744186,
+        "关键词重叠": 0.0,
+        "最终得分": 0.3669066978748455,
+        "prob_pos": 1525,
+        "strat_pos": 1440,
+        "出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "策略出处文件": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "问题关键词": "参会, 人员, 无法",
+        "策略关键词": "单位, 开展, 对外, 协调, 联络"
+      }
+    ]
+  },
+  "message": "获取数据成功!"
+}

+ 94 - 0
public/static/response.json

@@ -0,0 +1,94 @@
+{
+  "code": 1,
+  "result": {
+    "二级指标原始得分": {
+      "信息管理标准化": 77.1485289722006,
+      "信息责任体系完善性": 65.0,
+      "信息系统的性能": 65.0,
+      "信息系统的效益": 65.0,
+      "信息传递及时率": 65.0,
+      "信息共享程度": 73.05914633534974,
+      "目标层次结构清晰": 72.7337045089229,
+      "实施机制完善性": 72.55500860240805,
+      "参与方协调性": 70.58251995374158,
+      "进度目标控制水平": 66.14447900671094,
+      "成本目标控制水平": 65.0,
+      "质量目标控制水平": 68.28772149936529,
+      "利益分配公平性": 65.0,
+      "成本节约": 65.0,
+      "参与度": 69.13141504411402,
+      "协作频率": 69.71013646370693,
+      "优先级项目资源需求满足程度": 65.0,
+      "资源审批流程规范性": 70.8248167182714,
+      "资源需求量明确程度": 86.62937040344768
+    },
+    "二级指标归一化得分": {
+      "信息管理标准化": 0.7714852897220059,
+      "信息责任体系完善性": 0.65,
+      "信息系统的性能": 0.65,
+      "信息系统的效益": 0.65,
+      "信息传递及时率": 0.65,
+      "信息共享程度": 0.7305914633534973,
+      "目标层次结构清晰": 0.727337045089229,
+      "实施机制完善性": 0.7255500860240806,
+      "参与方协调性": 0.7058251995374158,
+      "进度目标控制水平": 0.6614447900671094,
+      "成本目标控制水平": 0.65,
+      "质量目标控制水平": 0.682877214993653,
+      "利益分配公平性": 0.65,
+      "成本节约": 0.65,
+      "参与度": 0.6913141504411402,
+      "协作频率": 0.6971013646370693,
+      "优先级项目资源需求满足程度": 0.65,
+      "资源审批流程规范性": 0.7082481671827141,
+      "资源需求量明确程度": 0.8662937040344768
+    },
+    "一级指标得分": {
+      "信息协同": {
+        "信息传递": 0.7143872035526632,
+        "信息系统": 0.65,
+        "信息共享": 0.7241441462852176
+      },
+      "目标协同": {
+        "目标实现": 0.7180711320143989,
+        "目标控制": 0.6699523588332197
+      },
+      "利益协同": {
+        "利益分配": 0.65,
+        "合作深度": 0.6948443511006569
+      },
+      "资源协同": {
+        "资源调度": 0.7604031943437959,
+        "关键链管理能力": 0.65
+      }
+    },
+    "子系统协同度": {
+      "信息协同": 0.7045344150892224,
+      "目标协同": 0.7055602509872922,
+      "利益协同": 0.6706284015063022,
+      "资源协同": 0.7493628749094163
+    },
+    "整体协同度": 0.7034007557468009,
+    "整体等级": "良好",
+    "文件结果": [
+      {
+        "文件名": "11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx",
+        "信息协同": 0.7045344150892224,
+        "目标协同": 0.7055602509872922,
+        "利益协同": 0.6706284015063022,
+        "资源协同": 0.7493628749094163,
+        "整体协同度": 0.7034007557468009,
+        "等级": "良好"
+      }
+    ],
+    "图表路径": "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\2\\tmpe9r6ebzf.png",
+    "Excel路径": "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\2\\协同度结果.xlsx",
+    "最低得分情况表述": {
+      "信息协同": "文件名: 11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx, 得分: 0.7045, 情况: 信息协同度良好,反馈较及时,准确度较高,偶尔存在信息滞后。",
+      "目标协同": "文件名: 11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx, 得分: 0.7056, 情况: 目标协同度良好,层次较清晰,实施较顺利,各方协调性较好。",
+      "利益协同": "文件名: 11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx, 得分: 0.6706, 情况: 利益协同度良好,分配较公平,有一定节约,参与协作较主动。",
+      "资源协同": "文件名: 11 宜昌市主城区污水厂网、生态水网共建项目二期ppp工程epc总承包项目部第十一次例会纪要20210121.docx, 得分: 0.7494, 情况: 资源协同度良好,需求基本满足,审批较规范,调度较合理。"
+    }
+  },
+  "message": "获取数据成功!"
+}

+ 2 - 3
src/layout/components/Header/index.vue

@@ -170,12 +170,11 @@ import logo from '@/assets/images/logo1.png'
 import AccountApply from './AccountApply.vue'
 import Notification from './Notification.vue'
 import { getNotifications, markAsRead } from '@/api/dashboard'
-import { notificationInterval } from 'staticPub/config'
+import { notificationInterval,getResultList } from 'staticPub/config'
 import { regPassword } from '@/utils/reg'
 import UserInfoEdit from './UserInfoEdit.vue'
 import { gisNames } from '@/utils/constant'
 import { encryption } from '@/utils/encryption'
-
 @Component({
   name: 'Headerdd',
   components: {
@@ -355,7 +354,7 @@ export default class Header extends Vue {
   // 退出登录
   async logout() {
     await this.$store.dispatch('user/logout')
-    this.$router.push('/login')
+    window.location.href =getResultList.goOut;
   }
   // 个人中心
   personalCenter() {

+ 4 - 3
src/layout/components/Navbar.vue

@@ -127,7 +127,7 @@ import { geteSessionStorage } from '@/utils/auth'
 import headPortrait from '@/assets/login/headPortrait.gif'
 import Configure from './Configure/index.vue'
 import { encryption } from '@/utils/encryption'
-
+import { getResultList } from 'staticPub/config'
 @Component({
   name: 'Navbar',
   components: {
@@ -172,8 +172,9 @@ export default class Navbar extends Vue {
   }
   // 退出登录
   async logout() {
-    await this.$store.dispatch('user/logout')
-    this.$router.push(`/login?redirect=${this.$route.fullPath}`)
+    await this.$store.dispatch('user/logout');
+    // this.$router.push(`/login?redirect=${this.$route.fullPath}`)
+    window.location.href =getResultList.goOut;
   }
   // 个人中心
   personalCenter() {

+ 6 - 2
src/utils/Business.ts

@@ -1,5 +1,6 @@
 import axios from 'axios'
 import { MessageBox, Message } from 'element-ui'
+import { getResultList } from 'staticPub/config'
 import store from '@/store'
 // import { getToken } from '@/utils/auth'
 import qs from 'qs'
@@ -84,7 +85,8 @@ service.interceptors.response.use(
         type: 'warning'
       }).then(() => {
         store.dispatch('user/resetToken').then(() => {
-          location.reload()
+          // location.reload()
+          window.location.href =getResultList.goOut;
         })
       })
     } else {
@@ -111,8 +113,10 @@ service.interceptors.response.use(
         }).then(async () => {
           const result = await clearSession()
           if (result === 1) {
-            router.replace('/login')
+            window.location.href =getResultList.goOut;
+            // router.replace('/login')
           }
+          
         })
       }
     } else {

+ 5 - 2
src/utils/request.ts

@@ -4,6 +4,7 @@ import store from '@/store'
 import { geteSessionStorage } from '@/utils/auth'
 import qs from 'qs'
 import router from '@/router'
+import { getResultList } from 'staticPub/config'
 const JSONbigString = require('json-bigint')({
   storeAsString: true
   // objectBaseClass: Object
@@ -142,7 +143,8 @@ service.interceptors.response.use(
         type: 'warning'
       }).then(() => {
         store.dispatch('user/resetToken').then(() => {
-          location.reload()
+          // location.reload()
+          window.location.href =getResultList.goOut;
         })
       })
     } else {
@@ -171,7 +173,8 @@ service.interceptors.response.use(
           const result = await clearSession()
           if (result === 1) {
             requestTimes = 0
-            router.replace('/login')
+            // router.replace('/login')
+            window.location.href =getResultList.goOut;
           }
         })
       }

+ 1 - 0
src/views/groupPage/districtPageModules/decisionSupport/coordinatedEvaluation/Center.vue

@@ -45,6 +45,7 @@
 
 <script>
 import {getResultList}  from 'staticPub/config'
+
 export default {
   name: 'Center',
   components: {},

+ 2 - 2
src/views/groupPage/districtPageModules/decisionSupport/coordinatedEvaluation/StatisticalRisk.vue

@@ -35,8 +35,8 @@
           <h4>{{contentItemTitle}}:</h4>
           <p :title="contentItemTitleInfo">{{contentItemTitleInfo}}</p>
           <div class="resultDiv">
-            <span class="resultTitle" >{{resultTitle}}:</span>
-            <span class="resultValue" :title="resultValue">{{resultValue}}</span>
+            <span class="resultTitle" style="font-size: 12px !important;" >{{resultTitle}}:</span>
+            <span class="resultValue" :title="resultValue" style="font-size: 12px !important;">{{resultValue}}</span>
           </div>
           <div class="rankPmd" v-if="problemlist.length>0">
             <el-carousel @change="changeCarousel"  trigger="click" height="70px">

+ 61 - 61
src/views/login/index.vue

@@ -1,8 +1,7 @@
 <template>
   <div class="login-container">
-    <div class="company-name">
+    <!-- <div class="company-name">
       {{ title }}
-      <!-- <img src="./images/logo.png" /> -->
     </div>
     <div class="fill-container" v-show="isMydesk">
       <div class="left">
@@ -11,7 +10,6 @@
       <div class="right">
         <div class="top">
           <span>用户登录</span>
-          <!-- <span>城市排水综合管网管理平台</span> -->
         </div>
         <el-form
           ref="loginForm"
@@ -114,7 +112,7 @@
       :isReset="isReset"
       @add="setContent"
       @cancel="resetPswDialog = false"
-    />
+    /> -->
   </div>
 </template>
 
@@ -210,9 +208,13 @@ export default class Login extends Vue {
           if(!listTemp.includes(tempObj.redirect)){
             defaultSys.defaultCom='dashboard'
           }
-          // if(tempUrl.indexOf('pipe')!=-1){
-          //   defaultSys.defaultCom='dashboard'
-          // }
+          if(!tempObj.redirect){
+            defaultSys.defaultCom='groupPage'
+          }
+          console.log(tempObj.redirect)
+          if(tempUrl.indexOf('pipeMainPage')!=-1){
+            defaultSys.defaultCom='dashboard'
+          }
           window['defaultSys']=defaultSys;
           this.loginWithTokenCheck2(tk);
         }else{
@@ -327,8 +329,8 @@ export default class Login extends Vue {
   mounted() {
     try{
       let tempUrl=window.location.href;
-      if(tempUrl.indexOf('pipe=1')!=-1){
-        tempUrl=unescape(tempUrl).replace('pipe=1?','pipe=1&');
+      if(tempUrl.indexOf('pipeMainPage=1')!=-1){
+        tempUrl=unescape(tempUrl).replace('pipeMainPage=1?','pipeMainPage=1&');
       }
       if(tempUrl.indexOf('tgpms')!=-1&&tempUrl.indexOf('tk')!=-1){
         this.getTokenInfo(tempUrl);
@@ -434,58 +436,56 @@ export default class Login extends Vue {
          */
         // const pattern = /^.*(?=.{8,30})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*?\(\)]?).*$/
 
-        this.$store
-          .dispatch('user/login', this.loginForm)
-          .then((res) => {
-            const { id } = res.result
-            // 判断是否首次登录或者重置过密码
-            userFirstLogin(id)
-              .then((res) => {
-                // 先判断用户是否被禁用了 如果是申请的用户 还需要要判断是否同意申请了
-                const { auditstatus, enableFlag } = res.result
-                if (enableFlag === '0') {
-                  this.$message({
-                    message: '用户已被禁用,请先启用!',
-                    type: 'error'
-                  })
-                  this.loading = false
-                  sessionStorage.clear()
-                  return
-                }
-                if (auditstatus !== '2' && auditstatus !== null) {
-                  this.$message({
-                    message: auditstatus === 1 ? '账户还未审核通过!' : '账户审核未被通过!',
-                    type: 'error'
-                  })
-                  this.loading = false
-                  sessionStorage.clear()
-                  return
-                }
-                // 是首次登录 打开弹窗 修改密码
-                if (res.result.firstlog === '1' && this.loginForm.password === defaultPwd) {
-                  this.userId = id
-                  this.passwordDialog = true
-                  // 清除掉用户id 防止用户没有修改密码刷新进入页面
-                  sessionStorage.removeItem('userId')
-                  this.$store.state.user.userId = undefined
-                } else {
-                  this.loading = false
-                  setTimeout(() => {
-                    // this.$router.push({ path: '/prjSelection' })
-                    this.$router.push({ path: '/' })
-                  }, 0)
-                }
-              })
-              .catch(() => {
-                sessionStorage.clear()
-                this.loading = false
-              })
-            // this.$router.push({ path: '/' })
-          })
-          .catch((err) => {
-            this.$message.error(err.message)
-            this.loading = false
-          })
+        // this.$store
+        //   .dispatch('user/login', this.loginForm)
+        //   .then((res) => {
+        //     const { id } = res.result
+        //     // 判断是否首次登录或者重置过密码
+        //     userFirstLogin(id)
+        //       .then((res) => {
+        //         // 先判断用户是否被禁用了 如果是申请的用户 还需要要判断是否同意申请了
+        //         const { auditstatus, enableFlag } = res.result
+        //         if (enableFlag === '0') {
+        //           this.$message({
+        //             message: '用户已被禁用,请先启用!',
+        //             type: 'error'
+        //           })
+        //           this.loading = false
+        //           sessionStorage.clear()
+        //           return
+        //         }
+        //         if (auditstatus !== '2' && auditstatus !== null) {
+        //           this.$message({
+        //             message: auditstatus === 1 ? '账户还未审核通过!' : '账户审核未被通过!',
+        //             type: 'error'
+        //           })
+        //           this.loading = false
+        //           sessionStorage.clear()
+        //           return
+        //         }
+        //         // 是首次登录 打开弹窗 修改密码
+        //         if (res.result.firstlog === '1' && this.loginForm.password === defaultPwd) {
+        //           this.userId = id
+        //           this.passwordDialog = true
+        //           // 清除掉用户id 防止用户没有修改密码刷新进入页面
+        //           sessionStorage.removeItem('userId')
+        //           this.$store.state.user.userId = undefined
+        //         } else {
+        //           this.loading = false
+        //           setTimeout(() => {
+        //             this.$router.push({ path: '/' })
+        //           }, 0)
+        //         }
+        //       })
+        //       .catch(() => {
+        //         sessionStorage.clear()
+        //         this.loading = false
+        //       })
+        //   })
+        //   .catch((err) => {
+        //     this.$message.error(err.message)
+        //     this.loading = false
+        //   })
       } else {
         console.log('error submit!!')
         return false

+ 719 - 0
src/views/login/index可登录.vue

@@ -0,0 +1,719 @@
+<template>
+  <div class="login-container">
+    <div class="company-name">
+      {{ title }}
+      <!-- <img src="./images/logo.png" /> -->
+    </div>
+    <div class="fill-container" v-show="isMydesk">
+      <div class="left">
+        <img src="./images/background3.png" />
+      </div>
+      <div class="right">
+        <div class="top">
+          <span>用户登录</span>
+          <!-- <span>城市排水综合管网管理平台</span> -->
+        </div>
+        <el-form
+          ref="loginForm"
+          :model="loginForm"
+          :rules="loginRules"
+          class="login-form middle"
+          auto-complete="on"
+          label-position="left"
+          style="position: relative; left: calc((100% - 320px) / 2); top: 100px"
+        >
+          <el-input
+            ref="username"
+            v-model.trim="loginForm.username"
+            prefix-icon="el-icon-user"
+            placeholder="请输入账号"
+            name="username"
+            type="text"
+            class="form-input"
+            tabindex="1"
+            auto-complete="on"
+          />
+          <el-input
+            :key="passwordType"
+            ref="password"
+            v-model.trim="loginForm.password"
+            :type="passwordType"
+            placeholder="请输入密码"
+            name="password"
+            tabindex="2"
+            class="form-input"
+            auto-complete="on"
+            prefix-icon="el-icon-lock"
+            @keyup.enter.native="handleLogin"
+            show-password
+          />
+          <el-input
+            ref="msg"
+            tabindex="3"
+            prefix-icon="el-icon-tickets"
+            placeholder="请输入短信验证码"
+            v-model.trim="loginForm.msg"
+            type="text"
+            class="form-input"
+          >
+            <el-button @click="sendMsg()" type="primary" slot="append" :disabled="btnDisabled">{{
+              btnTitle
+            }}</el-button>
+          </el-input>
+        </el-form>
+        <el-button type="button" class="login-btn" :loading="loading" @click.native.prevent="handleLogin"
+          >登录</el-button
+        >
+        <el-button type="text" class="forgetpsw-btn" style="left: 38%" @click="resetPsw()">忘记密码?</el-button>
+        <el-button type="text" class="forgetpsw-btn" style="left: 60%" @click="modifyPsw()"
+          >修改密码<i class="el-icon-edit"></i
+        ></el-button>
+      </div>
+    </div>
+    <el-dialog
+      title="密码修改"
+      :visible.sync="passwordDialog"
+      append-to-body
+      width="520px"
+      top="25vh"
+      :close-on-click-modal="false"
+      :close-on-press-escape="false"
+      :show-close="false"
+    >
+      <el-form ref="changePwdForm" :model="changePwd" :rules="pwdRules" label-width="100px" label-position="right">
+        <el-form-item label="密码:" prop="pass" style="margin-bottom: 25px">
+          <el-input
+            v-model="changePwd.pass"
+            autocomplete="off"
+            type="password"
+            placeholder="请输入密码"
+            prefix-icon="el-icon-lock"
+            show-password
+          />
+        </el-form-item>
+        <el-form-item label="确认密码:" prop="checkPass">
+          <el-input
+            v-model="changePwd.checkPass"
+            autocomplete="off"
+            type="password"
+            placeholder="请输入密码"
+            prefix-icon="el-icon-lock"
+            show-password
+          />
+        </el-form-item>
+      </el-form>
+      <template slot="footer">
+        <el-button @click="handleDialogBtnClick('cancel')">取消</el-button>
+        <el-button type="primary" @click="handleDialogBtnClick('confirm')">确定</el-button>
+      </template>
+    </el-dialog>
+    <ResetPsw
+      :title="isReset ? '重置密码' : '修改密码'"
+      :visible="resetPswDialog"
+      :username="loginForm.username"
+      :isReset="isReset"
+      @add="setContent"
+      @cancel="resetPswDialog = false"
+    />
+  </div>
+</template>
+
+<script lang="ts">
+import { Vue, Component, Watch } from 'vue-property-decorator'
+import { userFirstLogin, getMsgCode } from '@/api/user'
+import { changePassword } from '@/api/base'
+import { regNewPassword } from '@/utils/reg'
+import { ElForm } from 'element-ui/types/form'
+import { sysTitle } from '@/settings'
+import ResetPsw from './resetPsw.vue'
+import { encryption } from '@/utils/encryption'
+import  {Base64} from "js-base64"
+
+
+const defaultPwd = '000000'
+
+@Component({ components: { ResetPsw, } })
+
+export default class Login extends Vue {
+  name = 'Login'
+  url = '@/assets/images/login/logo.png'
+  title = sysTitle
+  loginForm = {
+    username: '',
+    password: '',
+    msg: ''
+  }
+  btnTitle = '发送验证码'
+  btnDisabled = false
+  time = 60
+  loginRules = {
+    username: [{ required: true, trigger: 'blur', message: '请输入账号' }],
+    password: [{ required: true, trigger: 'blur', message: '请输入密码' }],
+    msg: [{ required: true, trigger: 'blur', message: '请输入短信验证码' }]
+  }
+  loading = false
+  passwordType = 'password'
+  redirect = undefined
+  error = 1
+  // warning: true,
+  msg = ''
+  passwordDialog = false // 重置密码用弹窗显隐控制
+  changePwd = {
+    pass: '', // 重置密码用新密码
+    checkPass: '' // 重置密码用确认密码
+  }
+  pwdRules = {}
+  userId = ''
+  /**是否从mydesk跳转 */
+  isMydesk = true
+  mydeskUrl = 'https://uac.ctg.com.cn/sso/login'
+  get sysTitle() {
+    return this.$store.state.settings.sysTitle
+  }
+  //重置密码
+  resetPswDialog = false // 重置密码用弹窗显隐控制
+  isReset = true // 重置or修改
+  /**登录token验证*/
+  getTokenInfo(tempUrl){
+    let tempData=tempUrl.replace(/%20/g, '+').replace(/%3D/g, '=').split('?');
+    if(tempData&&tempData.length>1){
+      var arrayList = tempData[1].split('&'); //获取url中"?"符后的字符串并正则匹配
+      // let tempObj={tk:"",p:"",redirect:"",tgpms:""};
+      let tempObj={tk:"",p:"",redirect:""};
+      if(arrayList&&arrayList.length>0){
+        arrayList.forEach(item=>{
+          let tempAr=item.split("=");
+          if(tempAr.length==2){
+            tempObj[tempAr[0]]=tempAr[1];
+          }else{
+            tempObj[tempAr[0]]=tempAr.slice(1,tempAr.length).join("=")
+          }
+        })
+        let tk=null;
+        if(tempObj.tk){
+          tk=Base64.decode(decodeURIComponent(Base64.atob(tempObj.tk)));
+        }
+        let p=null;
+        if(tempObj.p){
+          p=Base64.decode(decodeURIComponent(Base64.atob(tempObj.p)));
+        }
+        const listTemp=["ProjectPanoramic","StatisticalAnalysis","WisdomWarning","DecisionSupport"]
+        if(tk){
+          //tempObj.tgpms=(tempObj.tgpms?(tempObj.tgpms=="undefined"?"HB06":tempObj.tgpms):"HB06");
+          let defaultSys={
+            defaultCom:'groupPage',//'groupPage',
+            sysCode:'',
+            // sysCode:tempObj.tgpms||'',
+            //目前支持:工程全景:ProjectPanoramic,统计分析:StatisticalAnalysis,智慧预警模块:WisdomWarning,决策支持模块:DecisionSupport
+            currentActive:tempObj.redirect,
+          }
+          if(!listTemp.includes(tempObj.redirect)){
+            defaultSys.defaultCom='dashboard'
+          }
+          // if(tempUrl.indexOf('pipe')!=-1){
+          //   defaultSys.defaultCom='dashboard'
+          // }
+          window['defaultSys']=defaultSys;
+          this.loginWithTokenCheck2(tk);
+        }else{
+          document.getElementById('app').setAttribute('style',"");
+        }
+      }else{
+        document.getElementById('app').setAttribute('style',"");
+      }
+    }else{
+      document.getElementById('app').setAttribute('style',"");
+    }
+
+    // http://localhost:8031/#/login?tk=1233&p=4444&tgpms=55555
+  }
+
+ /**登录token验证*/
+ getTokenInfo2(){
+    let tempData=window.location.href.replace(/%20/g, '+').replace(/%3D/g, '=').split('?');
+    if(tempData&&tempData.length>1){
+      var arrayList = tempData[1].split('&'); //获取url中"?"符后的字符串并正则匹配
+      let tempObj={token:""};
+      if(arrayList&&arrayList.length>0){
+        arrayList.forEach(item=>{
+          let tempAr=item.split("=");
+          if(tempAr.length==2){
+            tempObj[tempAr[0]]=tempAr[1];
+          }else{
+            tempObj[tempAr[0]]=tempAr.slice(1,tempAr.length).join("=")
+          }
+        })
+        if(tempObj.token){
+          this.loginWithTokenCheck2({tk:tempObj.token});
+        }else{
+          document.getElementById('app').setAttribute('style',"");
+        }
+      }else{
+        document.getElementById('app').setAttribute('style',"");
+      }
+    }else{
+      document.getElementById('app').setAttribute('style',"");
+    }
+
+    // http://localhost:8031/#/login?tk=1233&p=4444&tgpms=55555
+  }
+
+  /**
+   * 根据mydesk token登录
+   * @param {*} token
+   */
+   loginWithTokenCheck2(tk) {
+    this.$store
+      .dispatch('user/mydygLogin', { token: tk })
+      .then((result) => {
+        if (result.code === 1) {
+          if(result.result.code==-1){
+            this.$message({
+              message:result.result.message ,
+              type: 'error'
+            })
+            setTimeout(() => {
+              document.getElementById('app').setAttribute('style',"");
+              location.assign(location.href.split('?')[0]);
+            }, 2000)
+          }else{
+            setTimeout(() => {
+              if(window['defaultSys'].defaultCom=="dashboard"){
+                window.setTimeout(()=>{
+                  this.$router.push({ path: ('/'+window['defaultSys'].defaultCom||'') })
+                  window.setTimeout(()=>{
+                    document.getElementById('app').setAttribute('style',"");
+                  },2000)
+                },100)
+              }else{
+                this.$router.push({ path: '/' })
+              }
+            }, 0)
+          }
+        }else{
+          this.$message({
+            message:result.result.message ,
+            type: 'error'
+          })
+        }
+      })
+      .catch((err) => {
+        console.error(err)
+      })
+  }
+  /**mydesk登录验证 */
+  beforeMount() {
+    const search = window.location.hash.split('?')[1]
+    const SYS_ADDR = location.href.replace(/\#\/login.*$/, '')
+    if (search) {
+      const typeIndex = search.indexOf('type')
+      const tokenIndex = search.indexOf('token')
+      const rtype = this.getSearchString('type', search)
+      if (typeIndex > -1 && rtype === 'mydesk') {
+        this.isMydesk = false
+      }
+      if (typeIndex > -1 && tokenIndex === -1) {
+        if (rtype === 'mydesk') {
+          const url = SYS_ADDR + '#/login?type=mydesk'
+          window.location.href = this.mydeskUrl + '?url=' + encodeURIComponent(url)
+        }
+      } else if (typeIndex > -1 && tokenIndex > -1) {
+        const token = this.getSearchString('token', search)
+        this.loginWithTokenCheck(token)
+        return
+      }
+    }
+  }
+  mounted() {
+    try{
+      let tempUrl=window.location.href;
+      if(tempUrl.indexOf('pipe=1')!=-1){
+        tempUrl=unescape(tempUrl).replace('pipe=1?','pipe=1&');
+      }
+      if(tempUrl.indexOf('tgpms')!=-1&&tempUrl.indexOf('tk')!=-1){
+        this.getTokenInfo(tempUrl);
+      }else if(tempUrl.indexOf('token')!=-1){
+        this.getTokenInfo2();
+      }
+      
+    }catch{
+      document.getElementById('app').setAttribute('style',"");
+    }
+    // let defaultSys={
+    //   sysCode:"HB06",
+    //   //目前支持:工程全景:ProjectPanoramic,统计分析:StatisticalAnalysis,智慧预警模块:WisdomWarning,决策支持模块:DecisionSupport
+    //   currentActive:"DecisionSupport",
+    // }
+    // window['defaultSys']=defaultSys
+    this.pwdRules = {
+      pass: [{ required: true, validator: this.validatePwd1st, trigger: 'blur' }],
+      checkPass: [{ required: true, validator: this.validatePwd2nd, trigger: 'blur' }]
+    }
+  }
+  getSearchString(key, Url) {
+    var str = Url
+    //str = str.substring(1, str.length) // 获取URL中?之后的字符(去掉第一位的问号)
+    // 以&分隔字符串,获得类似name=xiaoli这样的元素数组
+    var arr = str.split('&')
+    var obj = new Object()
+    // 将每一个数组元素以=分隔并赋给obj对象
+    for (var i = 0; i < arr.length; i++) {
+      var tmp_arr = arr[i].split('=')
+      obj[decodeURIComponent(tmp_arr[0])] = decodeURIComponent(tmp_arr[1])
+    }
+    return obj[key]
+  }
+  /**
+   * 根据mydesk token登录
+   * @param {*} token
+   */
+  loginWithTokenCheck(token) {
+    this.$store.dispatch('user/mydeskLogin', { token: token }).then((result) => {
+      setTimeout(() => {
+        //this.$router.push({ path: '/prjSelection' })
+        this.$router.push({ path: '/' })
+      }, 0)
+    })
+  }
+  validatePwd1st(rule, value, callback) {
+    if (value === '') {
+      callback(new Error('请输入密码!'))
+    } else {
+      if (this.changePwd.pass !== '') {
+        if (!regNewPassword().test(value)) {
+          callback(new Error('密码位数至少12位,必须包含大小写字母和数字,不可包含非法字符!'))
+          return
+        }
+      }
+      callback()
+    }
+  }
+  validatePwd2nd(rule, value, callback) {
+    if (value === '') {
+      callback(new Error('请再次输入密码'))
+    } else if (value !== this.changePwd.pass && value !== '') {
+      callback(new Error('两次输入密码不一致!'))
+    } else {
+      callback()
+    }
+  }
+  @Watch('$route', { immediate: true })
+  changeValue(route, oldvalue) {
+    this.redirect = route.query && route.query.redirect
+  }
+  // 是否显示密码
+  showPwd() {
+    if (this.passwordType === 'password') {
+      this.passwordType = 'text'
+    } else {
+      this.passwordType = 'password'
+    }
+    this.$nextTick(() => {
+      ;(this.$refs.password as HTMLElement).focus()
+    })
+  }
+  // 登录
+  handleLogin() {
+    ;(this.$refs.loginForm as ElForm).validate((valid) => {
+      if (valid) {
+        this.loading = true
+        /**
+         * 最短6位,最长16位 {6,16}
+         * 必须包含1个数字
+         * 必须包含2个小写字母
+         * 必须包含2个大写字母
+         * 必须包含1个特殊字符
+         */
+        // const pattern = /^.*(?=.{6,16})(?=.*\d)(?=.*[A-Z]{2,})(?=.*[a-z]{2,})(?=.*[!@#$%^&*?\(\)]).*$/
+        /**
+         * 最短6位,最长16位 {8,30}
+         * 必须包含1个数字
+         * 必须包含1个小写字母
+         * 必须包含1个大写字母
+         * 不必须包含1个特殊字符
+         */
+        // const pattern = /^.*(?=.{8,30})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*?\(\)]?).*$/
+
+        this.$store
+          .dispatch('user/login', this.loginForm)
+          .then((res) => {
+            const { id } = res.result
+            // 判断是否首次登录或者重置过密码
+            userFirstLogin(id)
+              .then((res) => {
+                // 先判断用户是否被禁用了 如果是申请的用户 还需要要判断是否同意申请了
+                const { auditstatus, enableFlag } = res.result
+                if (enableFlag === '0') {
+                  this.$message({
+                    message: '用户已被禁用,请先启用!',
+                    type: 'error'
+                  })
+                  this.loading = false
+                  sessionStorage.clear()
+                  return
+                }
+                if (auditstatus !== '2' && auditstatus !== null) {
+                  this.$message({
+                    message: auditstatus === 1 ? '账户还未审核通过!' : '账户审核未被通过!',
+                    type: 'error'
+                  })
+                  this.loading = false
+                  sessionStorage.clear()
+                  return
+                }
+                // 是首次登录 打开弹窗 修改密码
+                if (res.result.firstlog === '1' && this.loginForm.password === defaultPwd) {
+                  this.userId = id
+                  this.passwordDialog = true
+                  // 清除掉用户id 防止用户没有修改密码刷新进入页面
+                  sessionStorage.removeItem('userId')
+                  this.$store.state.user.userId = undefined
+                } else {
+                  this.loading = false
+                  setTimeout(() => {
+                    // this.$router.push({ path: '/prjSelection' })
+                    this.$router.push({ path: '/' })
+                  }, 0)
+                }
+              })
+              .catch(() => {
+                sessionStorage.clear()
+                this.loading = false
+              })
+            // this.$router.push({ path: '/' })
+          })
+          .catch((err) => {
+            this.$message.error(err.message)
+            this.loading = false
+          })
+      } else {
+        console.log('error submit!!')
+        return false
+      }
+      // this.$router.push('/dashboard')
+    })
+  }
+  //发送验证码
+  sendMsg() {
+    if (this.loginForm.username === '' && this.loginForm.password === '') {
+      this.$message.error('请输入账号')
+      return
+    }
+    let timer = setInterval(() => {
+      this.time--
+      this.btnDisabled = true
+      this.btnTitle = `${this.time}s后重新发送`
+      if (this.time === 0) {
+        this.time = 60
+        this.btnDisabled = false
+        this.btnTitle = '发送验证码'
+        clearInterval(timer)
+      }
+    }, 1000)
+    getMsgCode({ username: this.loginForm.username })
+      .then((result) => {
+        this.$message.success(result.result)
+      })
+      .catch((error) => {
+        console.log(error)
+      })
+  }
+  // 修改密码弹窗
+  handleDialogBtnClick(type) {
+    if (type === 'cancel') {
+      this.$nextTick(() => {
+        ;(this.$refs.changePwdForm as ElForm).resetFields()
+      })
+      this.passwordDialog = false
+      this.changePwd.pass = ''
+      this.changePwd.checkPass = ''
+      sessionStorage.clear()
+      this.loading = false
+    } else {
+      ;(this.$refs.changePwdForm as ElForm).validate((valid) => {
+        if (valid) {
+          const data = {
+            originalPassword: encryption(defaultPwd),
+            id: this.userId,
+            firstlog: 0,
+            password: encryption(this.changePwd.checkPass)
+          }
+          changePassword(data).then((res) => {
+            if (res.code !== -1) {
+              this.$message({
+                message: '密码修改成功,请您重新登录!',
+                type: 'success'
+              })
+              this.passwordDialog = false
+              this.loading = false
+              this.changePwd.pass = ''
+              this.changePwd.checkPass = ''
+              this.loginForm.password = ''
+              sessionStorage.clear()
+            } else {
+              this.$nextTick(() => {
+                ;(this.$refs.changePwdForm as ElForm).resetFields()
+              })
+              this.passwordDialog = false
+              this.loading = false
+              this.changePwd.pass = ''
+              this.changePwd.checkPass = ''
+              sessionStorage.clear()
+
+              this.$message({
+                message: res.message,
+                type: 'error'
+              })
+            }
+          })
+        } else return false
+      })
+    }
+  }
+
+  //重置密码弹窗
+  resetPsw() {
+    this.resetPswDialog = true
+    this.isReset = true
+  }
+
+  setContent(val) {
+    const { password, code } = val
+    this.loginForm.password = password
+    this.loginForm.msg = code
+  }
+
+  //修改密码
+  modifyPsw() {
+    this.resetPswDialog = true
+    this.isReset = false
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.login-container {
+  width: 100%;
+  height: 100%;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+  background: url('./images/background.png') no-repeat fixed center/100%;
+  background-size: cover;
+  .company-name {
+    position: absolute;
+    font-size: 40px;
+    color: white;
+    font-weight: 500;
+    letter-spacing: 4px;
+    width: 100%;
+    text-align: center;
+    top: calc((100% - 534px) / 2);
+    -webkit-box-reflect: below 1px -webkit-gradient(linear, 0 0, 0 50%, from(transparent), color-stop(0.2, transparent), to(rgba(3, 3, 3, 0.1)));
+  }
+  img {
+    user-select: none;
+    height: 100%;
+  }
+  .fill-container {
+    position: relative;
+    width: 926px;
+    height: 434px;
+    border-radius: 10px;
+    background-color: rgb(228, 242, 255);
+    left: calc((100% - 926px) / 2);
+    top: calc((100% - 334px) / 2);
+    .left {
+      position: relative;
+      float: left;
+      width: 538px;
+      overflow: hidden;
+    }
+    .right {
+      width: 388px;
+      height: 100%;
+      position: relative;
+      float: left;
+      .top {
+        font-size: 25px;
+        font-weight: 700;
+        color: rgb(45, 116, 231);
+        text-align: center;
+        width: 100%;
+        top: 50px;
+        position: relative;
+        float: left;
+        > span {
+          line-height: 30px;
+          &:nth-of-type(2) {
+            margin-top: 16px;
+          }
+        }
+      }
+      /deep/ input.el-input__inner {
+        padding-left: 40px !important;
+      }
+      /deep/ i.el-input__icon.el-icon-user,
+      /deep/ i.el-input__icon.el-icon-lock,
+      /deep/ i.el-input__icon.el-icon-tickets {
+        font-size: 20px;
+        color: #2d74e7;
+        top: -2.25px;
+        position: relative;
+      }
+      .middle {
+        width: 320px;
+        height: 106px;
+        margin-bottom: 80px;
+        > .form-input {
+          height: 36px;
+          line-height: 36px;
+          /deep/ input {
+            height: 36px;
+          }
+          &:nth-of-type(2) {
+            margin-top: 15px;
+          }
+          &:nth-of-type(3) {
+            margin-top: 15px;
+          }
+        }
+      }
+      .login-btn {
+        width: 320px;
+        height: 44px;
+        border-radius: 22px;
+        position: relative;
+        float: left;
+        left: calc((100% - 320px) / 2);
+        top: 120px;
+        overflow: hidden;
+        font-size: 16px;
+        background: #2d74e7;
+        transition: background 0.3s linear;
+        color: #ffffff;
+        &:hover {
+          background: #2467d3;
+        }
+      }
+      .forgetpsw-btn {
+        position: absolute;
+        // bottom: 45px;
+        bottom: 7px;
+        left: 50%;
+        margin-left: -28px;
+      }
+      .forgetpsw-btn:last-child::before {
+        content: '';
+        position: absolute;
+        height: 12px;
+        width: 1px;
+        background: #01a2ff;
+        margin: 0 auto;
+        left: -10px;
+        bottom: 12px;
+      }
+    }
+  }
+}
+</style>

+ 1 - 0
typings/App/index.d.ts

@@ -18,6 +18,7 @@ declare module 'staticPub/config' {
   export const homeInterval: number
   export const esriConfig: any
   export const appconfig: any
+  export const getResultList: any
   export function setParams(xzq: string): void
 }