dedsudiyu 10 maanden geleden
bovenliggende
commit
ce893b64de
4 gewijzigde bestanden met toevoegingen van 126 en 66 verwijderingen
  1. 3 2
      src/main.js
  2. 45 0
      src/utils/public.js
  3. 52 42
      src/views/courtyardManage/courtyardHome.vue
  4. 26 22
      src/views/index.vue

+ 3 - 2
src/main.js

@@ -8,14 +8,15 @@ import ElementUI from 'element-ui';
 import 'element-ui/lib/theme-chalk/index.css';
 import '@/assets/styles/publicEle.scss'
 import Pagination from "@/components/Pagination/index.vue";
-import {judgmentNetworkReturnAddress } from '@/utils/public'
+import {judgmentNetworkReturnAddress,parseTime } from '@/utils/public'
 Vue.prototype.axios = axios
 Vue.prototype.$echarts = echarts;
 Vue.use(VueRouter);
 Vue.use(ElementUI);
 Vue.component('Pagination', Pagination)
 Vue.config.productionTip = false
-Vue.prototype.judgmentNetworkReturnAddress = judgmentNetworkReturnAddress
+Vue.prototype.parseTime = parseTime;
+Vue.prototype.judgmentNetworkReturnAddress = judgmentNetworkReturnAddress;
 
 const router = new VueRouter({
   routes

+ 45 - 0
src/utils/public.js

@@ -78,3 +78,48 @@ export function tansParams(params) {
     }
     return result
 }
+
+// 日期格式化
+export function parseTime(time, pattern) {
+    if (arguments.length === 0 || !time) {
+        return null
+    }
+    if(time.indexOf('T')!== -1){
+        let newTime = time.split('T')
+        time = newTime[0] + ' ' + newTime[1]
+    }
+    const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}'
+    let date
+    if (typeof time === 'object') {
+        date = time
+    } else {
+        if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
+            time = parseInt(time)
+        } else if (typeof time === 'string') {
+            time = time.replace(new RegExp(/-/gm), '/');
+        }
+        if ((typeof time === 'number') && (time.toString().length === 10)) {
+            time = time * 1000
+        }
+        date = new Date(time)
+    }
+    const formatObj = {
+        y: date.getFullYear(),
+        m: date.getMonth() + 1,
+        d: date.getDate(),
+        h: date.getHours(),
+        i: date.getMinutes(),
+        s: date.getSeconds(),
+        a: date.getDay()
+    }
+    const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
+        let value = formatObj[key]
+        // Note: getDay() returns 0 on Sunday
+        if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value] }
+        if (result.length > 0 && value < 10) {
+            value = '0' + value
+        }
+        return value || 0
+    })
+    return time_str
+}

+ 52 - 42
src/views/courtyardManage/courtyardHome.vue

@@ -30,10 +30,10 @@
                     <div class="left_t_r_t">
                       <i>{{item.title}}</i>
                       <i>{{item.company}}</i>
-                      <i>{{ item.createTime.substring(0,10)}}</i>
+                      <i>{{parseTime(item.createTime,"{y}-{m}-{d}")}}</i>
                       <img class="left_t_r_t_r" src="@/assets/image/index_icon8.png" />
                     </div>
-                    <div class="left_t_r_b over2">{{item.conAbstract}}</div>
+                    <div class="left_t_r_b over2">{{item.content}}</div>
                   </li>
                   <div v-if="infoList.length<=0" style="position:relative;left: 44%; top:8%;color:#fff;">暂无数据</div>
                 </div>
@@ -53,7 +53,7 @@
                     <li v-if="index2<7"  @click="openInfoUrl(item)">
                       <i class="over">{{item.title}}</i>
                       <i>{{item.company}}</i>
-                      <i>{{item.executionTime}}</i>
+                      <i>{{parseTime(item.createTime,"{y}-{m}-{d}")}}</i>
                        <img src="@/assets/image/index_icon8.png" @click="openInfoUrl()"/>
                     </li>
                   </div>
@@ -99,26 +99,20 @@
                     <img src="@/assets/image/index_icon8.png" @click="openControlUrl()"/>
                   </div>
                   <div class="left_t_r2_m">
-                    <i>实验室</i>
-                    <i>类型</i>
-                    <i>级别</i>
-                    <i>计划执行数</i>
-                    <i>实际执行数</i>
-                    <i>执行率</i>
+                    <i>管控名称</i>
+                    <i>二级单位</i>
+                    <i>安全分类</i>
+                    <i>安全分级</i>
+                    <i>执行状态</i>
                   </div>
                   <div class="left_t_r2_b" v-for='(item,index4) in controlList' :key="index4">
                     <li v-if="index4<7">
-                      <i>{{item.subName}}</i>
+                      <i>{{item.name}}</i>
+                      <i>{{item.deptName}}</i>
                       <i>{{item.typeName}}</i>
-                      <i v-if="item.levelName=='一级'" class="controlColorOne">{{item.levelName}}</i>
-                      <i v-if="item.levelName=='二级'" class="controlColorTow">{{item.levelName}}</i>
-                      <i v-if="item.levelName=='三级'" class="controlColorThree">{{item.levelName}}</i>
-                      <i v-if="item.levelName=='四级'" class="controlColorFour">{{item.levelName}}</i>
-                      <i>{{item.planNum}}</i>
-                      <i>{{item.finishedNum}}</i>
+                      <i>{{item.levelName}}</i>
                       <div class="left_t_r2_b_i6">
-                        <progress  :value="item.rateNum" max="100"></progress>
-                        <i>{{item.rateNum}}%</i>
+                        <i>{{item.status?'已执行':'未执行'}}</i>
                       </div>
                     </li>
                   </div>
@@ -303,6 +297,10 @@ import {
   getUrlConfig,
   requestUrl, getTypeCount, getFiedCount, safetyInspectTitle
 } from "../../api/http"
+import {
+    systemNotifyList,
+    laboratoryGradeManageList
+} from "@/api/index"
 import {
   laboratoryBigViewsSubTypeLevelCount,
   laboratoryBigViewSubHazardCount,
@@ -378,13 +376,14 @@ export default {
     this.laboratoryBigViewsSubTypeLevelCount()
     this.laboratoryBigViewSubHazardCount()
     this.securityBigViewCheckOptionCharts()
+    self.infoFun();
+    self.workPlanFun();
+    self.laboratoryGradeManageList();
 
 
     /*let self=this;
     self.getAjaxData();
     self.warningInfoFun();
-    self.infoFun();
-    self.workPlanFun();
     self.safetyInspectFun();
     self.safetyInspectTitle();
     self.initSwiper();
@@ -764,14 +763,14 @@ export default {
         }
       })
       //分级管控
-      workInfo({pageNum:1,pageSize:9,type:localStorage.getItem('deptLevel')}).then((res) =>{
-        if(res.code==200){
-          let data=res.data;
-          self.controlList=data.list
-          self.controlTitle=data.title
-
-        }
-      })
+      // workInfo({pageNum:1,pageSize:9,type:localStorage.getItem('deptLevel')}).then((res) =>{
+      //   if(res.code==200){
+      //     let data=res.data;
+      //     self.controlList=data.list
+      //     self.controlTitle=data.title
+      //
+      //   }
+      // })
       //安全检查批次
       indexListRelease({pageNum:1,pageSize:10}).then((res) =>{
         if(res.code==200){
@@ -817,21 +816,32 @@ export default {
     //工作通知
     infoFun:function(){
       let self=this;
-      listCollegeTz({pageNum:1,pageSize:4,notifyType:2}).then((res) =>{
+        systemNotifyList({pageNum:1,pageSize:4,notifyType:2}).then((res) =>{
         if(res.code==200){
-          let data=res.rows;
-          self.infoList=data
+            res.data.forEach((item)=>{
+                item.content = item.content.replace(/<\/?.+?\/?>/g,'');
+            })
+            this.$set(self,'infoList',res.data);
+        }
+      })
+    },
+    laboratoryGradeManageList(){
+      laboratoryGradeManageList({pageNum:1,pageSize:9,type:localStorage.getItem('deptLevel')}).then((res) =>{
+        if(res.code==200){
+          let data=res.data;
+          this.controlList=data.data.records;
         }
       })
     },
     //工作计划
     workPlanFun:function(){
       let self=this;
-      listCollegeJh({pageNum:1,pageSize:10,notifyType:1}).then((res) =>{
+        systemNotifyList({pageNum:1,pageSize:10,notifyType:3}).then((res) =>{
         if(res.code==200){
-          let data=res.rows;
-          self.planList=data
-          //self.planTitle=res.data.list.title
+            res.data.forEach((item)=>{
+                item.content = item.content.replace(/<\/?.+?\/?>/g,'');
+            })
+            this.$set(self,'planList',res.data);
         }
       })
     },
@@ -2030,14 +2040,14 @@ export default {
                 white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
               }
               >i:nth-of-type(1){
-                width: 150px;
+                width: 140px;
                 margin-left: 22px;
               }
               >i:nth-of-type(2){
-                width: 68px;
+                width: 140px;
               }
               >i:nth-of-type(3){
-                width: 60px;
+                width: 140px;
               }
               >i:nth-of-type(4){
                 width: 102px;
@@ -2067,17 +2077,17 @@ export default {
                   white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
                 }
                 >i:nth-of-type(1){
-                  width: 150px;
+                  width: 140px;
                   margin-left: 22px;
                 }
                 >i:nth-of-type(2){
-                  width: 68px;
+                  width: 140px;
                 }
                 >i:nth-of-type(3){
-                  width: 60px;
+                  width: 140px;
                 }
                 >i:nth-of-type(4){
-                  width: 102px;
+                  width: 140px;
                 }
                 >i:nth-of-type(5){
                   width: 108px;

+ 26 - 22
src/views/index.vue

@@ -29,29 +29,33 @@ import {Decrypt} from "@/utils/secret";
     },
     methods: {
         initialize(){
-            let list = window.location.href.split('?')[1];
-            let codeData = {};
-            if(list[1].indexOf("&") != -1){
-                list = list[1].split("&");
-                list.forEach((item) => {
-                    codeData[item.split("=")[0]] = item.split("=")[1];
-                });
-            }else{
-                codeData[list.split("=")[0]] = list.split("=")[1];
-            }
-            if (codeData.token){
-                localStorage.setItem('token',codeData.token);
+            if(localStorage.getItem('token')){
                 this.getExploitConfig();
-            } else {
-                MessageBox.confirm('参数异常,请联系管理员', '系统提示', {
-                        confirmButtonText: '确定',
-                        showCancelButton:false,
-                        closeOnClickModal:false,
-                        cancelButtonText: '取消',
-                        type: 'warning'
-                    }
-                ).then(() => {
-                }).catch(() => {});
+            }else{
+                let list = window.location.href.split('?')[1];
+                let codeData = {};
+                if(list[1].indexOf("&") != -1){
+                    list = list[1].split("&");
+                    list.forEach((item) => {
+                        codeData[item.split("=")[0]] = item.split("=")[1];
+                    });
+                }else{
+                    codeData[list.split("=")[0]] = list.split("=")[1];
+                }
+                if (codeData.token){
+                    localStorage.setItem('token',codeData.token);
+                    this.getExploitConfig();
+                } else {
+                    MessageBox.confirm('参数异常,请联系管理员', '系统提示', {
+                            confirmButtonText: '确定',
+                            showCancelButton:false,
+                            closeOnClickModal:false,
+                            cancelButtonText: '取消',
+                            type: 'warning'
+                        }
+                    ).then(() => {
+                    }).catch(() => {});
+                }
             }
         },
         //获取开发配置