gx
chenyc
2025-02-27 4afd7755b465829a21b238fc0ccb98d08a8381e6
src/views/tongji/index.vue
@@ -19,10 +19,11 @@
         </el-form-item>
      </el-form>
      <div>
      <div class="scrollable-table" :style="{maxHeight:tableHe}">
         <table id="tabledome" class="gridtable">
            <thead>
            <tr>
               <th colspan="22">健康管理服务明显表</th>
               <th colspan="22">健康管理服务明细表</th>
            </tr>
            <tr>
               <td colspan="10">服务单位:{{clientName}}</td>
@@ -62,6 +63,7 @@
               
               
            </tr>
         </thead>
            <tbody>
               <tr v-for="(row,index)  in state.tableData" :key="index">
@@ -88,7 +90,33 @@
                  <td></td>
                  <td></td>
               </tr>
            </tbody>
            <tfoot>
               <tr>
                  <td colspan="3">合计</td>
                  <td>{{HJcheckIsData}}</td>
                  <td>{{HJNRS}}</td>
                  <td>{{HJSGA}}</td>
                  <td>{{HJMIS}}</td>
                  <td>{{HJGNRI}}</td>
                  <td>{{HJPEW}}</td>
                  <td>{{HJ膳食生活调查表}}</td>
                  <td>{{HJ营养饮食指导方案}}</td>
                  <td>{{HJ营养饮食指导方案}}</td>
                  <td>{{HJ营养饮食指导方案}}</td>
                  <td>{{HJ营养饮食指导方案}}</td>
                  <td>{{HJ营养饮食指导方案}}</td>
                  <td>{{HJ营养饮食指导方案}}</td>
                  <td>{{HJ营养饮食指导方案}}</td>
                  <td>{{HJ营养饮食指导方案}}</td>
                  <td></td>
                  <td>{{HJ随访记录}}</td>
                  <td></td>
                  <td></td>
               </tr>
            </tfoot>
         </table>
      </div>
   </div>
@@ -137,6 +165,106 @@
const clientName=computed(()=>{
   return userInfos.value.clientName
})
const HJcheckIsData=computed(()=>{
   let x=0
   if(state.tableData.length>0){
      state.tableData.forEach(row => {
         if(row.checkIsData){
            x++
         }
      });
   }
   return x
})
const HJNRS=computed(()=>{
   let x=0
   if(state.tableData.length>0){
      state.tableData.forEach(row => {
         if(row?.surveryTimeMap?.['NRS-2002']?.id){
            x++
         }
      });
   }
   return x
})
const HJSGA=computed(()=>{
   let x=0
   if(state.tableData.length>0){
      state.tableData.forEach(row => {
         if(row?.surveryTimeMap?.['SGA']?.id){
            x++
         }
      });
   }
   return x
})
const HJMIS=computed(()=>{
   let x=0
   if(state.tableData.length>0){
      state.tableData.forEach(row => {
         if(row?.surveryTimeMap?.['MIS']?.id){
            x++
         }
      });
   }
   return x
})
const HJGNRI=computed(()=>{
   let x=0
   if(state.tableData.length>0){
      state.tableData.forEach(row => {
         if(row?.surveryTimeMap?.['GNRI']?.id){
            x++
         }
      });
   }
   return x
})
const HJPEW=computed(()=>{
   let x=0
   if(state.tableData.length>0){
      state.tableData.forEach(row => {
         if(row?.surveryTimeMap?.['PEW']?.id){
            x++
         }
      });
   }
   return x
})
const HJ膳食生活调查表=computed(()=>{
   let x=0
   if(state.tableData.length>0){
      state.tableData.forEach(row => {
         if(row?.surveryTimeMap?.['膳食生活调查表']?.id){
            x++
         }
      });
   }
   return x
})
const HJ营养饮食指导方案=computed(()=>{
   let x=0
   if(state.tableData.length>0){
      state.tableData.forEach(row => {
         if(row?.surveryTimeMap?.['营养饮食指导方案']?.id){
            x++
         }
      });
   }
   return x
})
const HJ随访记录=computed(()=>{
   let x=0
   if(state.tableData.length>0){
      state.tableData.forEach(row => {
         if(row?.surveryTimeMap?.['随访记录']?.id){
            x++
         }
      });
   }
   return x
})
const tableHe = computed(() => {
   let height = document.documentElement.clientHeight;
    console.log('窗口高度')
@@ -144,7 +272,7 @@
    if (navDom) {
        height -= navDom.scrollHeight;
    }
   return height+'px'
   return height-60+'px'
})
// 当前时间提示语
const end = new Date()
@@ -181,6 +309,34 @@
</script>
<style scoped lang="scss">
.scrollable-table {
    width: 100%;
    overflow-y: auto;
    display: block;
  }
  table {
    width: 100%;
    border-collapse: collapse;
  }
  thead, tfoot {
    background-color: #f5f5f5;
    position: sticky;
    left: 0;
    right: 0;
    z-index: 2;
  }
  thead {
    top: 0;
  }
  tfoot {
    bottom: 0;
  }
  th, td {
    padding: 8px 12px;
    text-align: left;
    border: 1px solid #ddd;
  }
.gridtable {
   width: 100%;
    font-family: verdana, arial, sans-serif;