From 32148fb89c6cbedc24aaf9cb93a215a6cc665f2b Mon Sep 17 00:00:00 2001
From: yz3456 <2753272399@qq.com>
Date: 星期二, 09 七月 2024 16:56:14 +0800
Subject: [PATCH] 修改了一些报错,完善了用户管理配偶的选择模块

---
 ruoyi-ui/src/views/meeting/statistics.vue |  403 ++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 327 insertions(+), 76 deletions(-)

diff --git a/ruoyi-ui/src/views/meeting/statistics.vue b/ruoyi-ui/src/views/meeting/statistics.vue
index bf8d969..e619cdf 100644
--- a/ruoyi-ui/src/views/meeting/statistics.vue
+++ b/ruoyi-ui/src/views/meeting/statistics.vue
@@ -16,34 +16,34 @@
             </div>
           </el-button>
         </div>
-        <div style="display: flex; align-items: center;">
+        <!-- <div style="display: flex; align-items: center;">
           <el-button @click="newRequest" size="mini" type="text" v-hasPermi="['person:information:memo']" style="margin-left: 10px">
             <div class="form2" style="width: 100px;"><el-icon style="padding-right:30px;"></el-icon>
               <span class="text" style="width: 69px;height: 26px;font-size: 16px;
               font-family: Microsoft YaHei-Regular, Microsoft YaHei; color: #EBA4AA;">鏂板缓</span>
             </div>
           </el-button>
-        </div>
+        </div> -->
 
       </h1>
 
       <hr />
 
-      <el-table :data="tableData" border :header-cell-style="{ background: 'pink', fontSize: '13px', color: 'black' }"
+      <el-table :data="meetingList" border :header-cell-style="{ background: 'pink', fontSize: '13px', color: 'black' }"
         :row-class-name="tableRowClassName" :row-key="getRowId">
-        <el-table-column label="瀹跺涵鍙�" prop="num" sortable align="center">
-          <template slot-scope="scope">{{ scope.row.num
-        ? scope.row.num : '鈥斺�斺�斺��' }}</template>
+        <el-table-column label="瀹跺涵鍙�" prop="familyId" sortable align="center">
+          <template slot-scope="scope">{{ scope.row.familyId
+        ? scope.row.familyId : '鈥斺�斺�斺��' }}</template>
         </el-table-column>
 
-        <el-table-column label="浣跨敤鏃堕棿" prop="time" sortable align="center">
-          <template slot-scope="scope">{{ scope.row.time
-        ? scope.row.time : '鈥斺�斺�斺��' }}</template>
+        <el-table-column label="浣跨敤鏃堕棿" prop="useTime" sortable align="center">
+          <template slot-scope="scope">{{ scope.row.useTime
+        ? scope.row.useTime : '鈥斺�斺�斺��' }}</template>
         </el-table-column>
 
-        <el-table-column label="浼氳瀹ゅ悕绉�" prop="address" sortable align="center">
+        <el-table-column label="浼氳瀹ゅ悕绉�" prop="conferenceRoom" sortable align="center">
           <template slot-scope="scope">{{
-        scope.row.address ? scope.row.address : '鈥斺�斺�斺��' }}</template>
+        scope.row.conferenceRoom ? scope.row.conferenceRoom : '鈥斺�斺�斺��' }}</template>
         </el-table-column>
 
         <el-table-column label="鏍囬" prop="title" sortable align="center">
@@ -51,49 +51,68 @@
         ? scope.row.title : '鈥斺�斺�斺��' }}</template>
         </el-table-column>
 
-        <el-table-column label="鐢宠浜�" prop="applicant" sortable align="center">
+        <el-table-column label="鐢宠浜�" prop="applyPerson" sortable align="center">
           <template slot-scope="scope">{{
-        scope.row.applicant ? scope.row.applicant : '鈥斺�斺�斺��' }}</template>
+        scope.row.applyPerson ? scope.row.applyPerson : '鈥斺�斺�斺��' }}</template>
         </el-table-column>
 
-        <el-table-column label="瀹℃壒浜�" prop="approve" sortable align="center">
-          <template slot-scope="scope">{{ scope.row.approve ?
-        scope.row.approve : '鈥斺�斺�斺��' }}</template>
+        <el-table-column label="瀹℃壒浜�" prop="ratifyPerson" sortable align="center">
+          <template slot-scope="scope">{{ scope.row.ratifyPerson ?
+        scope.row.ratifyPerson : '鈥斺�斺�斺��' }}</template>
         </el-table-column>
 
         <el-table-column label="鐘舵��" prop="status" sortable align="center">
-          <template slot-scope="scope">{{ scope.row.status
-        ? scope.row.status : '鈥斺�斺�斺��' }}</template>
+          <template slot-scope="scope">{{scope.row.status===1? '缁撴': '鏈粨妗�'}}</template>
         </el-table-column>
+
 
         <el-table-column label="鎿嶄綔" align="center" width="200" class-name="small-padding fixed-width">
           <template slot-scope="scope" v-if="scope.row.roleId !== 1">
             <div class="button-container">
-              <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">淇敼</el-button>
-              <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">鍒犻櫎</el-button>
+              <!-- <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">淇敼</el-button> -->
+              <!-- <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">鍒犻櫎</el-button> -->
               <el-button size="mini" type="text" icon="el-icon-d-arrow-right" @click="handleCheck(scope.row)">鏌ョ湅璇︽儏</el-button>
             </div>
           </template>
         </el-table-column>
 
       </el-table>
+      <pagination
+        v-show="total>0"
+        :total="total"
+        :page.sync="queryParams.pageNum"
+        :limit.sync="queryParams.pageSize"
+        @pagination="getList"
+        style="background: #FEF7FC;"
+      />
 
       <!-- 鍥捐〃缁熻 -->
-      <el-dialog :title="title2" :visible.sync="open2" width="1500px" append-to-body>
-        <div class="p1">
-          <h1 style="font-size:21px">姣忔湀浼氳娆℃暟缁熻</h1>
+      <el-dialog :title="title2" :visible.sync="open2" width="1500px" @open="openGraph()" append-to-body>
+            <div>
+                骞翠唤
+        <el-select v-model="years" id="yearSelect"
+                  placeholder="璇烽�夋嫨骞翠唤" clearable
+                   style="width: 240px;
+                   height: 35px;
+                   border-radius: 16px 16px 16px 16px;
+                   opacity: 0.5;" filterable allow-create
+                   @change="selectValue">
+          <el-option v-for="item in yearOptions"
+            :key="item.value" :label="item.label" :value="item.value"/>
+        </el-select>
+              </div>
+        <div class="p1" id="main1">
         </div>
-        <div class="p1">
-          <h1 style="font-size:21px">浼氳瀹跺涵鍗犳瘮缁熻</h1>
+        <div class="p1" id="main2">
         </div>
       </el-dialog>
       <!-- 鏂板鏁版嵁妗� -->
-      <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
+      <!-- <el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
 
         <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="100px">
 
-          <el-form-item label="瀹跺涵鍙�" prop="num">
-            <el-input v-model="formDat.num" placeholder="璇疯緭鍏ヤ細璁鍚嶇О" clearable :style="{width: '100%'}">
+          <el-form-item label="瀹跺涵鍙�" prop="familyId">
+            <el-input v-model="formDat.familyId" placeholder="璇疯緭鍏ヤ細璁鍚嶇О" clearable :style="{width: '100%'}">
             </el-input>
           </el-form-item>
 
@@ -108,8 +127,8 @@
             ></el-date-picker>
           </el-form-item>
 
-          <el-form-item label="浼氳瀹ゅ悕绉�" prop="address">
-            <el-input v-model="formDat.address" placeholder="璇疯緭鍏ヤ細璁鍚嶇О" clearable :style="{width: '100%'}">
+          <el-form-item label="浼氳瀹ゅ悕绉�" prop="conferenceRoom">
+            <el-input v-model="formDat.conferenceRoom" placeholder="璇疯緭鍏ヤ細璁鍚嶇О" clearable :style="{width: '100%'}">
             </el-input>
           </el-form-item>
 
@@ -118,13 +137,13 @@
             </el-input>
           </el-form-item>
 
-          <el-form-item label="鐢宠浜�" prop="applicant">
-            <el-input v-model="formDat.applicant" placeholder="璇疯緭鍏ョ敵璇蜂汉" clearable :style="{width: '100%'}">
+          <el-form-item label="鐢宠浜�" prop="applyPerson">
+            <el-input v-model="formDat.applyPerson" placeholder="璇疯緭鍏ョ敵璇蜂汉" clearable :style="{width: '100%'}">
             </el-input>
           </el-form-item>
 
-          <el-form-item label="瀹℃壒浜�" prop="approve">
-            <el-input v-model="formDat.approve" placeholder="璇疯緭鍏ュ鎵逛汉" clearable :style="{width: '100%'}">
+          <el-form-item label="瀹℃壒浜�" prop="ratifyPerson">
+            <el-input v-model="formDat.ratifyPerson" placeholder="璇疯緭鍏ュ鎵逛汉" clearable :style="{width: '100%'}">
             </el-input>
           </el-form-item>
 
@@ -143,13 +162,27 @@
           <el-button type="primary" @click="submitDataScope">淇� 瀛�</el-button>
           <el-button @click="cancel">鍙� 娑�</el-button>
         </div>
-      </el-dialog>
+      </el-dialog> -->
 
     </div>
   </template>
 
   <script>
+import * as echarts from 'echarts';
+  import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from "@/api/system/role";
+  import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu";
+
+
+  import { Notification, MessageBox, Message, Loading } from 'element-ui'
+
+  //鍦╯ystem/note/index.js涓鍏ユ帴鍙e嚱鏁�  --鎺ュソ浜�
+  import {listMeeting3,listGraph} from "@/api/meeting/index";
+
  export default {
+  created() {
+    this.getList();
+    this.graphData();
+  },
    data() {
      return {
        // 鏄剧ず鎼滅储鏉′欢
@@ -157,53 +190,38 @@
        open: false,
        open2: false,
        title: "",
-       tableData: [{
-         id: 1,
-          num: '1',
-           title: '1',
-           name: 'asasd',
-           address: 'asdadsdasd',
-           status: '缁撴'
-         },
-         {
-                    id: 2,
-          num: '2',
-           title: '2',
-           name: 'qweqwqwe',
-           address: 'qweqweqwe',
-           status: '鏈粨妗�'
-
-         }
-       ],
+       meetingList: [],
+       dataList:[],
+       // 楗煎浘鏁版嵁
+       graphID: [],
+       // 鏌辩姸鍥炬暟鎹�
+       graphDate: [],
+       years:undefined,
+       yearOptions:[],
        formDat:{
-         id: undefined,
-         happenTime: undefined,
-         endTime: undefined,
-         meetingTitle: undefined,
-         address: undefined,
-         approve: undefined,
-         applicant: undefined,
-         url: "",
-         status: undefined,
-         num: undefined
+           "title":undefined,
+           "familyId":undefined,
+           "conferenceRoom":undefined,
+           "applyPerson":undefined,
+           "ratifyPerson":undefined,
+           "status":undefined,
+           "useTime":undefined
        },
+
      queryParams: {
        pageNum: 1,
        pageSize: 10,
-       address:undefined,
-       applyOrganization:undefined,
-       applicant:undefined,
-       happenTime:undefined
+
      },
      dateRange: [],
      // 琛ㄥ崟鏍¢獙
-     rules: {
-       name: [{
-         required: true,
-         message: '璇疯緭鍏ヨ澶囧悕绉�',
-         trigger: 'blur'
-       }],
-      },
+     // rules: {
+     //   name: [{
+     //     required: true,
+     //     message: '璇疯緭鍏ヨ澶囧悕绉�',
+     //     trigger: 'blur'
+     //   }],
+     //  },
        typeOptions: [
          {
          value: '1',
@@ -219,6 +237,239 @@
      }
    },
    methods: {
+     getList() {
+       this.loading = true;
+       // console.log(this.queryParams)
+       //  listProperty(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
+         this.queryParams.happenStartTime = this.dateRange.length > 0 && this.dateRange[0]
+         this.queryParams.happenEndTime = this.dateRange.length > 0 && this.dateRange[1]
+       listMeeting3(this.queryParams).then(response => {
+           //  alert(123)
+             // console.log(response.data.data,'22222222222')
+           this.meetingList = response.data.data;
+
+           this.total = response.data.total;
+           this.loading = false;
+         }
+
+       );
+     },
+     getTypeOptions(list){
+       let years = ['鍏ㄩ儴']
+        let a = {}
+       list.forEach(element=>{
+         let year = element.createTime.split("-")[0]
+         if(a[year]){
+         }else{
+           a[year] = 1
+           years.push(year)
+         }
+       })
+      let yearOptions = []
+      for(let i=0;i<years.length;i++){
+        yearOptions.push({label: years[i],value: i})
+      }
+      return yearOptions;
+     },
+     graphData(){
+       this.loading = true;
+       listGraph().then(response => {
+           this.dataList = response.data
+           console.log(this.dataList,'11111111111')
+           this.yearOptions = this.getTypeOptions(this.dataList)
+           console.log(this.yearOptions,'yearsyearsyearsyears')
+
+           // 瀹跺涵鍙�
+           let a = {}
+           this.dataList.forEach(element=>{
+             if(a[element['familyId']]){
+               a[element['familyId']] += 1
+             }else{
+               a[element['familyId']] = 1
+             }
+           })
+           for(let i in a){
+            this.graphID.push({'name': i , 'value': a[i]})
+           }
+           // 姣忔湀娆℃暟
+           let b = {'01': 0,'02': 0,'03': 0,'04': 0,'05': 0,'06': 0,'07': 0,'08': 0,'09': 0,'10': 0,'11': 0,'12': 0}
+           this.dataList.forEach(element=>{
+             let month = element.createTime.split("-")[1]
+             if(b[month]){
+               b[month] += 1
+             }else{
+               b[month] = 1
+             }
+           })
+
+           let kon =[]
+           for(let i in b){
+             kon.push({'name': Number(i) , 'value': b[i]})
+           }
+           this.graphDate = kon.sort((a,b) => a.name - b.name)
+
+           this.loading = false;
+         }
+         );
+     },
+
+    b(list,selectedValue){
+      let list2 = []
+      let newGraphID = []
+      let newGraphDate = []
+      list.forEach(element=>{
+        let year = element.createTime.split("-")[0]
+        if(selectedValue == year){
+          list2.push(element)
+        }
+      })
+
+      if(list2.length !=  0){
+        // 瀹跺涵鍙�
+        let a = {}
+        list2.forEach(element=>{
+          if(a[element['familyId']]){
+            a[element['familyId']] += 1
+          }else{
+            a[element['familyId']] = 1
+          }
+        })
+        for(let i in a){
+          newGraphID.push({'name': i , 'value': a[i]})
+        }
+        // 姣忔湀娆℃暟
+        let b = {'01': 0,'02': 0,'03': 0,'04': 0,'05': 0,'06': 0,'07': 0,'08': 0,'09': 0,'10': 0,'11': 0,'12': 0}
+        list2.forEach(element=>{
+          let month = element.createTime.split("-")[1]
+          if(b[month]){
+            b[month] += 1
+          }else{
+            b[month] = 1
+          }
+        })
+
+        let kon =[]
+        for(let i in b){
+          kon.push({'name': Number(i) , 'value': b[i]})
+        }
+        newGraphDate = kon.sort((a,b) => a.name - b.name)
+      }else{
+        list2 = list
+        // 瀹跺涵鍙�
+        let a = {}
+        list2.forEach(element=>{
+          if(a[element['familyId']]){
+            a[element['familyId']] += 1
+          }else{
+            a[element['familyId']] = 1
+          }
+        })
+        for(let i in a){
+          newGraphID.push({'name': i , 'value': a[i]})
+        }
+        // 姣忔湀娆℃暟
+        let b = {'01': 0,'02': 0,'03': 0,'04': 0,'05': 0,'06': 0,'07': 0,'08': 0,'09': 0,'10': 0,'11': 0,'12': 0}
+        list2.forEach(element=>{
+          let month = element.createTime.split("-")[1]
+          if(b[month]){
+            b[month] += 1
+          }else{
+            b[month] = 1
+          }
+        })
+
+        let kon =[]
+        for(let i in b){
+          kon.push({'name': Number(i) , 'value': b[i]})
+        }
+        newGraphDate = kon.sort((a,b) => a.name - b.name)
+      }
+
+      return [newGraphID,newGraphDate];
+    },
+
+    selectValue(value){
+      let obj = {}
+      let year = undefined
+      obj= this.yearOptions.find(function(i){
+              return i.value ===value
+        });
+      year = obj.label
+
+      let result = undefined
+      result = this.b(this.dataList,year)
+      this.graphID = result[0]
+      this.graphDate = result[1]
+      // console.log(this.graphID)
+      // console.log(this.graphDate)
+      echarts.dispose(document.getElementById('main1'))
+      echarts.dispose(document.getElementById('main2'))
+      this.initEcharts()
+    },
+
+     openGraph(){
+       this.$nextTick(() => {
+       //  鎵цecharts鏂规硶
+         this.initEcharts()
+       })
+    },
+    initEcharts() {
+            const myChart1 = echarts.init(document.getElementById('main1'))
+             const option1 = {
+                title: {
+                    text: '姣忔湀浼氳娆℃暟缁熻',
+                    left:'center'
+                },
+                tooltip: {},
+                xAxis: {
+                    data: ['1鏈�','2鏈�','3鏈�','4鏈�','5鏈�','6鏈�','7鏈�','8鏈�','9鏈�','10鏈�','11鏈�','12鏈�']
+                },
+                yAxis: {},
+                legend:{},
+                series: [{
+                    type: 'bar',
+                    data: this.graphDate.map(x => x.value)
+                }]
+            };
+            myChart1.setOption(option1)
+
+            const myChart2 = echarts.init(document.getElementById('main2'))
+             const option2 = {
+                title: {
+                    text: '浼氳瀹跺涵鍗犳瘮缁熻',
+                    left:'center',
+                    textStyle:{
+                      fontSize:20
+                    }
+                },
+                tooltip: {},
+                legend:{
+                  orient: 'vertical',
+                  left: 'left',
+                  textStyle:{
+                    fontSize:15
+                  }
+                },
+                series: [{
+                    name: '瀹跺涵鍙�',
+                    type: 'pie',
+                    data: this.graphID,
+                    label: {
+                      show: true, // 鏄惁鏄剧ず鏍囩
+                      position: 'top', // 鏍囩浣嶇疆锛屽彲閫夊�间负锛歵op銆乥ottom銆乧enter銆乮nside锛堟煴鐘跺浘鍐呴儴锛夈�乷utside锛堟煴鐘跺浘澶栭儴锛�
+                      textStyle: {
+                        color: '#333', // 鏍囩瀛椾綋棰滆壊
+                        fontSize: 25, // 鏍囩瀛椾綋澶у皬
+                        fontWeight: 'bold', // 鏍囩瀛椾綋鍔犵矖
+                        fontStyle: 'italic', // 鏍囩瀛椾綋鏂滀綋
+                        fontFamily: 'Arial' // 鏍囩瀛椾綋
+                      }
+                    },
+                }]
+            };
+
+            myChart2.setOption(option2)
+          },
      /** 鎼滅储鎸夐挳鎿嶄綔 */
      handleQuery() {
        this.queryParams.pageNum = 1;
@@ -241,7 +492,7 @@
        // this.reset();
      },
      submitDataScope() {
-       console.log(666)
+       // console.log(666)
      },
 
      tableRowClassName({
@@ -345,7 +596,7 @@
     width: 700px;
     height: 700px;
     display: inline-block;
-    background-color: aqua;
     margin-right: 30px;
+        /* background-color: aqua; */
   }
   </style>

--
Gitblit v1.9.1