zhangjingyuan 3 лет назад
Родитель
Сommit
7b4831caca

+ 1 - 1
src/views/system/jbdHome/board/component/equipmentBoardTopcard.vue

@@ -83,7 +83,7 @@ export default {
         });
       });
       this.topBarData = JSON.parse(JSON.stringify(this.info));
-      console.log(this.topBarData);
+      // console.log(this.topBarData);
     },
   },
 };

+ 1 - 1
src/views/system/jbdHome/board/equipmentBoard.vue

@@ -376,7 +376,7 @@ export default {
     },
     getMiddleLeftPieView(){
       // [ { value: 1048, name: 'Search Engine' },]
-      console.log(1)
+      console.log()
     },
     async getCarouselTable() {
       this.config={ header:['设备名称','设备编号','规格型号','设备状态'],data:[]};

+ 152 - 87
src/views/system/jbdScan/goods/neishenzhuangtai.vue

@@ -1,14 +1,14 @@
 <template>
   <div class="bg">
     <el-dialog
-      width="60vw"
+      width="70vw"
       height="50vh"
       :modal-append-to-body="false"
       title="内审进度查询"
       :visible.sync="scanVisible"
     >
       <!-- 表单是否显示 -->
-      <div style="height: 75vh; width: 100%">
+      <div style="height: 75vh; width: 98%">
         <div id="box">
           <div class="overall">
             <!-- 步骤条盒子 -->
@@ -19,10 +19,7 @@
                 <div class="line">
                   <span
                     class="plan"
-                    :style="`width:${
-                      activeIndex * (100 / (stepList.length - 1)) -
-                      100 / (stepList.length - 1) / 2
-                    }%`"
+                    :style="`width:${activeIndex * (100 / (stepList.length - 1)) -100 / (stepList.length - 1) / 2}%`"
                   ></span>
                 </div>
                 <!-- 每步部分底部文字描述 -->
@@ -30,25 +27,21 @@
                   class="step"
                   v-for="(i, index) in stepList"
                   :key="index"
-                  :class="
-                    activeIndex == i.stepIndex || i.stepIndex <= activeIndex
-                      ? 'step-active'
-                      : ''
-                  "
+                  :class="activeIndex == i.stepIndex || i.stepIndex <= activeIndex? 'step-active': ''"
                 >
-                  <span class="step-num" >
-                    <i class="el-icon-caret-right icon" v-if="index!=0"></i>
+                  <span class="step-num">
+                    <i class="el-icon-caret-right icon" v-if="index != 0"></i>
                     <p cla>{{ i.title }}</p>
-                    <!-- <span class="num">{{ i.stepIndex }}</span> -->
                   </span>
-                  <p class="title"></p>
+                  <p class="post">{{i.post}}</p>
                 </span>
+                <!-- <span></span> -->
               </div>
               <!-- 步骤条对应内容 -->
               <div class="Article-content"></div>
             </div>
           </div>
-          <div style="width: 90%; margin: 0 auto">
+          <div style="width: 90%; margin: 50px auto 0px">
             <div class="main">
               <div class="wheel-title">内审核查完成率</div>
               <div id="main"></div>
@@ -58,13 +51,9 @@
           <div v-if="CNASTableData.length > 0">
             <div class="cnas">
               <div style="width: 90%; margin: 0 auto; line-height: 35px">
-                内审不符合项(CNAS)
+                内审不符合项汇总表(CNAS)
               </div>
-              <el-table
-                :data="CNASTableData"
-                border
-                style="width: 90%; margin: 0 auto"
-              >
+              <el-table :data="CNASTableData" style="width: 90%; margin: 0 auto">
                 <el-table-column
                   prop="bu_fu_he_xiang_mi"
                   label="不符合项描述"
@@ -74,7 +63,7 @@
                 <el-table-column
                   prop="ping_shen_yi_ju_"
                   label="评审依据"
-                  width="250"
+                  width="200"
                 >
                 </el-table-column>
                 <el-table-column
@@ -88,15 +77,18 @@
                   label="内审员"
                   width="60"
                 >
-                  <template slot-scope="scope"
-                    >{{ scope.row.nei_shen_yuan_ | emfiltes(employeeList) }}
+                  <template slot-scope="scope">
+                    {{ scope.row.nei_shen_yuan_ | emfiltes(employeeList) }}
                   </template>
                 </el-table-column>
-                <el-table-column prop="ze_ren_shi_" label="责任室" width="60">
+                <el-table-column prop="ze_ren_shi_" label="责任室" width="100">
+                  <template slot-scope="scope">
+                    {{ scope.row.ze_ren_shi_ | partFilter(partList) }}
+                  </template>
                 </el-table-column>
                 <el-table-column prop="fu_ze_ren_" label="负责人" width="60">
-                  <template slot-scope="scope"
-                    >{{ scope.row.fu_ze_ren_ | emfiltes(employeeList) }}
+                  <template slot-scope="scope">
+                    {{ scope.row.fu_ze_ren_ | emfiltes(employeeList) }}
                   </template>
                 </el-table-column>
                 <el-table-column
@@ -121,13 +113,9 @@
           <div v-if="CMAtable.length > 0">
             <div class="cma">
               <div style="width: 90%; margin: 0 auto; line-height: 35px">
-                内审不符合项(CMA)
+                内审不符合项汇总表(CMA)
               </div>
-              <el-table
-                :data="CMAtable"
-                border
-                style="width: 90%; margin: 0 auto"
-              >
+              <el-table :data="CMAtable"  style="width: 90%; margin: 0 auto">
                 <el-table-column
                   prop="bu_fu_he_xiang_mi"
                   label="不符合项描述"
@@ -137,7 +125,7 @@
                 <el-table-column
                   prop="ping_shen_yi_ju_"
                   label="评审依据"
-                  width="250"
+                  width="200"
                 >
                 </el-table-column>
                 <el-table-column
@@ -147,7 +135,7 @@
                 >
                 </el-table-column>
                 <el-table-column
-                  :prop="nei_shen_yuan_"
+                  prop="nei_shen_yuan_"
                   label="内审员"
                   width="60"
                 >
@@ -155,7 +143,10 @@
                     >{{ scope.row.nei_shen_yuan_ | emfiltes(employeeList) }}
                   </template>
                 </el-table-column>
-                <el-table-column prop="ze_ren_shi_" label="责任室" width="60">
+                <el-table-column prop="ze_ren_shi_" label="责任室" width="100">
+                  <template slot-scope="scope">
+                    {{ scope.row.ze_ren_shi_ | partFilter(partList) }}
+                  </template>
                 </el-table-column>
                 <el-table-column prop="fu_ze_ren_" label="负责人" width="60">
                   <template slot-scope="scope"
@@ -219,40 +210,49 @@ export default {
       //步骤条步数
       stepList: [
         {
-          stepIndex: 5,
+          stepIndex: 11,
+          title: "内审计划编制",
+          post:'质量负责人'
+        },
+        {
+          stepIndex: 22,
           title: "内审实施计划编制",
+          post:'内审组长'
         },
         {
-          stepIndex: 15,
+          stepIndex: 33,
           title: "检查表编制",
+          post:'内审员'
         },
         {
-          stepIndex: 30,
+          stepIndex: 44,
           title: "首次会议",
+          post:'内审组长'
         },
         {
-          stepIndex: 45,
+          stepIndex: 55,
           title: "内部审核",
+          post:'内审员'
         },
         {
-          stepIndex: 60,
+          stepIndex: 66,
           title: "末次会议",
+          post:'内审组长'
         },
         {
-          stepIndex: 75,
+          stepIndex: 77,
           title: "不符合项整改",
+          post:'内审员/部门负责人'
         },
         {
-          stepIndex: 95,
+          stepIndex: 88,
           title: "内审报告",
+          post:'内审组长'
         },
-        // {
-        //   stepIndex: 8,
-        //   title: "不符合项跟踪",
-        // },
         {
           stepIndex: 100,
           title: "内审结束",
+          post:''
         },
       ],
       CNASTableData: [], //cnas
@@ -262,18 +262,58 @@ export default {
       cnasPieData: [], //cnas饼图
       cmaPieData: [], //cma饼图
       employeeList: [],
+      partList: [],
       loading: true,
       // scanVisible:false,
     };
   },
   filters: {
     emfiltes: function (value, arr) {
-      for (let i = 0; i < arr.length; i++) {
-        if (arr[i].ID_ == value) {
-          return arr[i].NAME_;
+      if(value.includes(",")){
+        let part = "";
+        let parts = []
+        parts = value.split(',');
+        for(let item of arr){
+          for(let j = 0; j < parts.length; j++) {
+            if(item.ID_ == parts[j]){
+              part = part +","+ item.NAME_;
+            }
+          }
+        }
+        return part.slice(1,part.length)
+      }else{  
+        for (let i = 0; i < arr.length; i++) {
+          if (arr[i].ID_ == value) {
+            return arr[i].NAME_;
+          }
         }
       }
     },
+    partFilter: function (value, arr) {
+      return value
+      // if(value.includes(",")){
+      //   let part = "";
+      //   let parts = []
+      //   parts = value.split(',');
+      //   for(let item of arr){
+      //     for(let j = 0; j < parts.length; j++) {
+      //       if(item.ID_ == parts[j]){
+      //         part = part +","+ item.NAME_;
+      //       }
+      //     }
+      //   }
+      //   return part.slice(1,part.length)
+      // }else{  
+      // for (let i = 0; i < arr.length; i++) {
+      //   console.log(arr[i])
+      //   if (arr[i].ID_ == value) {
+      //     return arr[i].NAME_;
+      //   }else{
+      //     return value
+      //   }
+      // }
+      // }
+    },
   },
   watch: {
     obj() {
@@ -284,6 +324,7 @@ export default {
   created() {
     this.getInit();
     this.getEmployee();
+    this.getPart();
   },
   mounted() {
     let this_ = this;
@@ -348,9 +389,9 @@ export default {
               valueAnimation: true,
               formatter: "{value} %",
               color: "auto",
-              top:'100%'
+              top: "100%",
             },
-            data: [{ value: 100 ,top:'100%'}],
+            data: [{ value: 100, top: "100%" }],
           },
         ],
       };
@@ -492,7 +533,6 @@ export default {
         width: 400,
         height: 300,
       };
-
       var myChart = echarts.init(chartDom, null, setEchartWH);
       var option;
       option = {
@@ -507,7 +547,7 @@ export default {
           {
             type: "pie",
             radius: "50%",
-            data: this.cnasPieData, //[{1:2,3:4}]
+            data: this.cnasPieData,
             emphasis: {
               itemStyle: {
                 shadowBlur: 10,
@@ -566,24 +606,33 @@ export default {
         this_.employeeList = res.variables.data;
       });
     },
+    async getPart() {
+      let this_ = this;
+      let sql = "select ID_,NAME_,CREATE_TIME_ FROM ibps_party_org";
+      await repostCurd("sql", sql).then((res) => {
+        this_.partList = res.variables.data;
+      });
+    },
     jieduan(value) {
       if (value.includes("1")) {
-        return 5;
+        return 11;
       } else if (value.includes("2")) {
-        return 15;
+        return 22;
       } else if (value.includes("3")) {
-        return 30;
+        return 33;
       } else if (value.includes("4")) {
-        return 45;
+        return 44;
       } else if (value.includes("5")) {
-        return 60;
+        return 55;
       } else if (value.includes("6")) {
-        return 75;
+        return 66;
       } else if (value.includes("7")) {
-        return 90;
+        return 77;
       } else if (value.includes("8")) {
+        return 88;
+      }else if (value.includes("8")) {
         return 100;
-      } else {
+      }else {
         return 0;
       }
     },
@@ -631,16 +680,26 @@ export default {
       let arrr = arr;
       let newarr = [];
       let obj = {};
+      let str =""
       let sql = "select ID_,NAME_ FROM  ibps_party_org";
       await repostCurd("sql", sql).then((res) => {
         let arr1 = res.variables.data;
         arr.forEach((item, index) => {
+          str =""
           arr1.forEach((it) => {
-            if (item.ze_ren_shi_ == it.ID_) {
+            if (item.ze_ren_shi_ == it.ID_ && !item.ze_ren_shi_.includes(",")) {
               arr[index].ze_ren_shi_ = it.NAME_;
             }
+            if(item.ze_ren_shi_.includes(",")&& item.ze_ren_shi_.includes(it.ID_)){
+              str += "," + it.NAME_
+            }
           });
+          if(str){
+            arr[index].ze_ren_shi_ = str.slice(1,str.length);
+          }
         });
+
+
       });
       let map = new Map();
       for (let item of arr) {
@@ -662,19 +721,16 @@ export default {
         obj = {};
         this.loading = false;
       });
-      // this.cnasPieData =[];
       type == "CMA" ? (this.cmaPieData = newarr) : (this.cnasPieData = newarr);
-      // this.getLoadEchartsthree();
       callBlack();
     },
     getInit() {
       let data = this.obj[0];
-      console.log(data);
       let jieduanvalue;
       if (data.shi_fou_guo_shen_ == "已编制" && data.jie_dian_ren_wu_ == "") {
-        jieduanvalue = "1";
-      } else if (data.shi_fou_guo_shen_ == "1" && data.jie_dian_ren_wu_ == "") {
         jieduanvalue = "2";
+      } else if (data.shi_fou_guo_shen_ == "1" && data.jie_dian_ren_wu_ == "") {
+        jieduanvalue = "3";
       } else {
         jieduanvalue = data.jie_dian_ren_wu_;
       }
@@ -686,13 +742,9 @@ export default {
       let this_ = this;
       this_.CNASTableData = [];
       this_.CMAtable = [];
-      let sql =
-        "select * FROM t_nsbfhxjlhzb WHERE wai_jian_ =(SELECT id_  FROM t_nshyjyb WHERE ji_hua_zong_wai_j ='" +
-        id +
-        "' ORDER BY create_time_ DESC LIMIT 1)";
+      let sql ="select * FROM t_nsbfhxjlhzb WHERE wai_jian_ =(SELECT id_  FROM t_nshyjyb WHERE ji_hua_zong_wai_j ='" +id +"' ORDER BY create_time_ DESC LIMIT 1)";
       await repostCurd("sql", sql).then((res) => {
         let data = res.variables.data;
-
         data.forEach((item) => {
           if (item.ping_shen_yi_ju_.includes("RB")) {
             this_.CMAtable.push(item);
@@ -701,14 +753,14 @@ export default {
           }
         });
         this_.$nextTick(() => {
-          this_.getNoData(this_.CNASTableData, "CNAS", this_.getLoadEchartsTwo);
-          this_.getNoData(this_.CMAtable, "CMA", this_.getLoadCmaEchartsX);
-          this_.getPieData(
-            this_.CNASTableData,
-            "CNAS",
-            this_.getLoadEchartsthree
-          );
-          this_.getPieData(this_.CMAtable, "CMA", this_.getLoadCmaEcharts);
+          if (this_.CNASTableData.length > 0) {
+            this_.getNoData(this_.CNASTableData,"CNAS",this_.getLoadEchartsTwo);
+            this_.getPieData(this_.CNASTableData,"CNAS",this_.getLoadEchartsthree);
+          }
+          if (this_.CMAtable.length > 0) {
+            this_.getNoData(this_.CMAtable, "CMA", this_.getLoadCmaEchartsX);
+            this_.getPieData(this_.CMAtable, "CMA", this_.getLoadCmaEcharts);
+          }
         });
       });
     },
@@ -725,9 +777,10 @@ export default {
     margin: 0 auto;
     .wheel-title {
       position: absolute;
-
       top: 60px;
       left: -8px;
+      top: 86%;
+      left: calc(90% - 205px);
       // color: #000;
       // font-weight: bold;
     }
@@ -748,12 +801,14 @@ export default {
     height: 2px;
     position: relative;
     margin: 10px auto;
+    display: flex;
+    justify-content: space-between;
     // <!-- 步骤条背景进度条 -->
     .line {
       display: block;
       margin: 0 auto;
       position: absolute;
-      top: 24px;
+      top: 27px;
       left: 5%;
       background: #8ab4f3;
       width: 95%;
@@ -769,6 +824,7 @@ export default {
       }
     }
     .Article-steps {
+      width: 100%;
       display: flex;
       justify-content: space-between;
       .step {
@@ -776,12 +832,11 @@ export default {
           font-size: 17px;
           font-weight: bold;
           color: #808080;
-          margin-top: 5px;
         }
         .step-num {
           position: absolute;
-          width: 50px;
-          height: 50px;
+          width: 58px;
+          height: 58px;
           display: inline-block;
           line-height: 50px;
           background: #808080;
@@ -816,6 +871,16 @@ export default {
             display: inline-block;
           }
         }
+        .post{
+          text-align: center;
+          font-size: 12px;
+          margin-top: 5px;
+          position: absolute;
+          top: 60px;
+          color: #2d7df5;
+          width: 60px;
+          overflow: hidden;
+        }
       }
     }