coys 2 vuotta sitten
vanhempi
commit
0b334582bc

+ 9 - 0
src/api/scorestatistics/scorestatistics.js

@@ -48,4 +48,13 @@ export function getBysingleOrg(data) {
     data,
   });
 }
+// 获取月度第二弹框详情
+export function getBysingleData(data) {
+  return request({
+   
+    url: `/core/safeMonthScore/singleData/detail`,
+    method: "post",
+    data,
+  });
+}
 

+ 101 - 0
src/views/scorestatistics/pointsDialog.vue

@@ -0,0 +1,101 @@
+<template>
+  <div>
+    <!-- //扣分明细弹框 -->
+    <DialogCom title="扣分明细" width="1200px" :visible.sync="monthNum">
+      <el-form :inline="true" class="demo-form-inline">
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="上级机构1">
+              {{ monthNumeData.firstOrgName }}
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="上级机构2">
+              {{ monthNumeData.secondOrgName }}
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="营业场所">
+              {{ monthNumeData.orgTypeText }}
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="8">
+            <el-form-item label="年月"> {{ monthNumeData.date }} </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="指标分类">
+              {{ typeName }}
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label=""> </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <el-table
+        border
+        height="650"
+        pageSize="small"
+        v-loading="loading"
+        :data="itemTableList"
+        align="center"
+        fixed
+      >
+        <el-table-column label="事件单号" prop="resumptionTaskName"> </el-table-column>
+        <el-table-column label="事件名称" prop="resumptionTaskName"> </el-table-column>
+        <el-table-column label="执行机构" prop="orgName"> </el-table-column>
+        <el-table-column label="执行人员" prop="execManName"> </el-table-column>
+        <el-table-column label="执行岗位" prop="execPostName"> </el-table-column>
+        <el-table-column label="计划开始时间" prop="planTimeStart">
+        </el-table-column>
+        <el-table-column label="计划结束时间" prop="planTimeEnd">
+        </el-table-column>
+        <el-table-column label="执行开始时间" prop="execTimeStart">
+        </el-table-column>
+        <el-table-column label="执行结束时间" prop="execTimeEnd">
+        </el-table-column>
+        <el-table-column label="状态" prop="execStatusText"> </el-table-column>
+      </el-table>
+    </DialogCom>
+  </div>
+</template>
+<script>
+import { getBysingleData } from "@/api/scorestatistics/scorestatistics.js";
+export default {
+  name: "SocWebPointsDialog",
+  props: {
+    monthNumeData: {},
+  },
+  data() {
+    return {
+      monthNum: false,
+      typeName:'',
+      loading:false,
+      itemTableList: [],
+    };
+  },
+
+  mounted() {},
+
+  methods: {
+    init(row) {
+      this.monthNum = true;
+      this.typeName=row.typeName
+      this.loading=true
+      getBysingleData({
+        orgId: this.monthNumeData.orgId,
+        date: this.monthNumeData.date,
+        typeCode: row.typeCode,
+      }).then((res) => {
+        this.loading=false
+        console.log(res);
+        let {code,data,msg}=res
+        this.itemTableList=data||[]
+      });
+    },
+  },
+};
+</script>
+<style lang="scss" scoped></style>

+ 44 - 34
src/views/scorestatistics/scorestatisticsDialog.vue

@@ -87,7 +87,7 @@
           </el-col>
           <el-col :span="8">
             <el-form-item label="安全指数">
-              {{ monthNumeData.dataScore }}
+              {{ monthNumeData.orgScore }}
             </el-form-item>
           </el-col>
           <el-col :span="8">
@@ -98,13 +98,14 @@
         </el-row>
         <el-row>
           <el-form-item label="指标分类">
-            <div
-              v-if="zbTableList && zbTableList.dataList.length > 0"
-              
-            >
+            <div v-if="zbTableList && zbTableList.dataList.length > 0">
               <el-radio-group v-model="radio" class="bigbox_card">
-                <div  :key="index" v-for="(item, index) in zbTableList.dataList" @click="cardHandler(item)">
-                  <el-card class="box-card" >
+                <div
+                  :key="index"
+                  v-for="(item, index) in zbTableList.dataList"
+                  @click="cardHandler(item)"
+                >
+                  <el-card class="box-card">
                     <el-radio :label="item.typeCode">
                       <span>{{ item.typeName }}</span>
                       <div>数量:{{ item.times }},扣分:{{ item.score }}</div>
@@ -129,10 +130,13 @@
         <el-table-column label="指标项目" prop="projectName"> </el-table-column>
         <el-table-column label="指标要点" prop="pointName"> </el-table-column>
         <el-table-column label="计算项目" prop="itemName"> </el-table-column>
-        <el-table-column label="数量" >
+        <el-table-column label="数量">
           <template slot-scope="{ row }">
             <div>
-              <span class="text" @click="clickHandlerRow(row, 1)">{{
+              <span class="text" v-if="row.typeCode!='1005'" @click="clickHandlerDialog(row)">{{
+                row.times
+              }}</span>
+              <span  v-else>{{
                 row.times
               }}</span>
             </div>
@@ -141,18 +145,23 @@
         <el-table-column label="扣分" prop="score"> </el-table-column>
       </el-table>
     </DialogCom>
+    <!-- 扣分明细弹框 -->
+    <points ref="points" :monthNumeData="monthNumeData"></points>
   </div>
 </template>
 
 <script>
 import { mapGetters } from "vuex";
-import { sum ,unionBy} from "lodash";
+import { sum, unionBy } from "lodash";
 import {
   detail,
   getBysingleOrg,
 } from "@/api/scorestatistics/scorestatistics.js";
-
+import points from './pointsDialog.vue'
 export default {
+  components:{
+    points
+  },
   data() {
     return {
       tableData: [],
@@ -236,43 +245,41 @@ export default {
       // console.log(row);
 
       getBysingleOrg({
-        // orgId: row.orgId,
-        orgId: "4358025846358081",
-        date: "2023-10-01",
-        // date: row.date,
+        orgId: row.orgId,
+        // orgId: "4358025846358081",
+        // date: "2023-10-01",
+        date: row.date,
       }).then((res) => {
         console.log(res);
         let { code, data, msg } = res;
         if (code == 200) {
-          this.monthNumeData.dataScore = row.dataScore;
+          this.monthNumeData.orgScore = row.orgScore;
           this.monthNumeData.levelName = row.levelName;
-          this.monthNumeData.date = data.date;
+          this.monthNumeData.date = row.date;
+          this.monthNumeData.orgId =row.orgId;
+      
+         
           this.monthNumeData.orgTypeText = data.orgTypeText;
           this.monthNumeData.secondOrgName = data.secondOrgName;
           this.monthNumeData.firstOrgName = data.firstOrgName;
-          this.zbTableList = JSON.parse(JSON.stringify(data))
-         
-          
-          if (data && data.dataList.length > 0) {
-            let list=[]
-            data.dataList.forEach(item=>{
-             item.detailList.forEach(i=>{
+          this.zbTableList = JSON.parse(JSON.stringify(data));
 
-               list.push(i)
-              })
-              
-            })
+          if (data && data.dataList.length > 0) {
+            let list = [];
+            data.dataList.forEach((item) => {
+              item.detailList.forEach((i) => {
+                list.push(i);
+              });
+            });
             this.zbTableList.dataList.unshift({
               score: sum(this.zbTableList.dataList.map((item) => item.score)), //分数
               times: sum(this.zbTableList.dataList.map((item) => item.times)), //数量
               typeCode: "0",
               typeName: "全部",
-              detailList:list
-           
-              
+              detailList: list,
             });
-            
-              this.itemTableList=this.zbTableList.dataList[0].detailList||[]
+
+            this.itemTableList = this.zbTableList.dataList[0].detailList || [];
           }
         }
         // this.zbTableList=res
@@ -281,9 +288,12 @@ export default {
     clickHandlerRow(row) {
       this.monthNumInit(row);
     },
+    clickHandlerDialog(row) {
+      this.$refs.points.init(row);
+    },
     cardHandler(item) {
       this.radio = item.typeCode;
-      this.itemTableList=item.detailList
+      this.itemTableList = item.detailList;
     },
     //打开前的回调
     openHandler() {},