Browse Source

增加代碼

humingbo 1 year ago
parent
commit
fb190c2b77
3 changed files with 141 additions and 37 deletions
  1. 20 2
      src/api/meeting/meeting.js
  2. 59 27
      src/views/meeting/meeting.vue
  3. 62 8
      src/views/meeting/weekly.vue

+ 20 - 2
src/api/meeting/meeting.js

@@ -22,9 +22,27 @@ export function getMeetingsByPage(data){
   })
 }
 
+/**
+ * 删除会议信息
+ * @param id
+ * @returns {*}
+ */
+export function deleteMeeting(id){
+  return request({
+    url: '/meeting/delete?id='+id,
+    method: 'get'
+  })
+}
 
-export function deleteMeeting(){
-
+/**
+ * 获取会议类型为周例会列表
+ * @returns {*}
+ */
+export function list(){
+  return request({
+    url: '/meeting/list',
+    method: 'get'
+  })
 }
 
 

+ 59 - 27
src/views/meeting/meeting.vue

@@ -3,8 +3,8 @@
     <el-form  ref="formInline" v-model="formInline" size="mini" :inline="true">
       <el-form-item label="会议类别:">
         <el-radio-group v-model="formInline.meetingEternal">
-          <el-radio-button label="内部会议" ></el-radio-button>
-          <el-radio-button label="外部会议"></el-radio-button>
+          <el-radio-button label="0" value="0" >内部会议</el-radio-button>
+          <el-radio-button label="1" value="1">外部会议</el-radio-button>
         </el-radio-group>
       </el-form-item>
       <el-form-item label="会议主题:">
@@ -39,30 +39,45 @@
       style="width: 100%">
       <el-table-column  type="index" label="序号" width="60">
       </el-table-column>
-      <el-table-column label="会议主题">
+      <el-table-column label="会议主题" prop="meetingName">
       </el-table-column>
-      <el-table-column label="会议类型">
+      <el-table-column label="会议类型" prop="meetingType" width="120">
+        <template scope="scope">
+          <!--会议类型(1-周例会,2-项目会议,3-实施会议,4-其他会议)-->
+          <div v-if="scope.row.meetingType===1">周例会</div>
+          <div v-else-if="scope.row.meetingType===2">项目会议</div>
+          <div v-else-if="scope.row.meetingType===3">实施会议</div>
+          <div v-else>其他会议</div>
+        </template>
+      </el-table-column>
+      <el-table-column label="会议地点" prop="meetingPlace" width="120">
       </el-table-column>
-      <el-table-column label="会议地点">
+      <el-table-column prop="status" label="会议状态" width="120">
+        <template scope="scope">
+          <!--会议状态,0待开始,1进行中,2已结束-->
+          <div v-if="scope.row.status===0" style="color: green">待开始</div>
+          <div v-else-if="scope.row.status===1">进行中</div>
+          <div v-else>已结束</div>
+        </template>
       </el-table-column>
-      <el-table-column
-        prop="date"
-        label="会议状态"
-        width="180">
+      <el-table-column prop="name" label="会议时间" width="300">
+        <template scope="scope">
+          <div>{{scope.row.beginTime}}——{{scope.row.endTime}}</div>
+        </template>
       </el-table-column>
-      <el-table-column
-        prop="name"
-        label="会议时间"
-        width="180">
+      <el-table-column prop="address" label="参会人员">
+         <template scope="scope">
+           <div>{{scope.row.outAttendees}}{{scope.row.innerAttendees}}</div>
+         </template>
       </el-table-column>
-      <el-table-column
-        prop="address"
-        label="参会人员">
+      <el-table-column prop="createTime" label="创建时间" width="150">
+
       </el-table-column>
       <el-table-column label="操作" prop="op" width="150">
         <template slot-scope="scope">
           <el-button size="mini" type="primary" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
-          <el-button size="mini" type="danger" @click="deleteAlarmContactById(scope.$index, scope.row)">删除</el-button>
+
+          <el-button v-if="scope.row.status===0" size="mini" type="danger" @click="deleteMeeting( scope.row)">删除</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -145,7 +160,7 @@
 
 <script>
 import Pagination from '../../components/Page/Pagination'
-import {addMeeting,getMeetingsByPage} from '@/api/meeting/meeting'
+import {addMeeting,getMeetingsByPage,deleteMeeting} from '@/api/meeting/meeting'
 export default {
   name: 'Meeting',
   data() {
@@ -160,7 +175,7 @@ export default {
       formInline: {
         current: 1,
         size: 10,
-        meetingEternal:'内部会议',
+        meetingEternal:'0',
         meetingName:'',
         meetingType:null,
         status:null
@@ -190,17 +205,21 @@ export default {
     Pagination
   },
   mounted() {
-    this.getData();
+    this.getData(this.formInline);
   },
   methods: {
     // 分页插件事件
     callFather(parm) {
-      this.formInline.page = parm.page
-      this.formInline.pageSize = parm.pageSize
-      //this.getdata(this.formInline)
+      this.formInline.current = parm.current
+      this.formInline.size = parm.size
+      this.getData(this.formInline)
     },
-    getData(){
-      alert('調用分頁查詢')
+    getData(data){
+      let searchParams=data
+      getMeetingsByPage(searchParams).then(response=>{
+        this.tableData = response.data.records;
+        this.pageparm.total = response.data.total;
+      });
     },
     createMeeting() {
       this.title = '创建会议'
@@ -231,21 +250,34 @@ export default {
           type: 'success'
         });
         this.closeDialog();
+        this.getData(this.formInline);
       });
     },
     resetSearch(){
       this.formInline={
         current: 1,
         size: 10,
-        meetingEternal:'内部会议',
+        meetingEternal:0,
         meetingName:'',
         meetingType:null,
         status:null
       }
+      this.getData(this.formInline);
     },
     search(){
       let searchParams=this.formInline
-      alert(JSON.stringify(searchParams))
+      this.getData(searchParams);
+    },
+    deleteMeeting(row){
+      //删除会议
+      let id=row.id;
+      deleteMeeting(id).then(()=>{
+        this.$message({
+          message: '操作成功!',
+          type: 'success'
+        });
+        this.getData(this.formInline);
+      })
     }
   }
 }

+ 62 - 8
src/views/meeting/weekly.vue

@@ -2,14 +2,13 @@
   <div class="app-container">
     <el-form   size="mini" :inline="true">
       <el-form-item label="关联会议">
-        <el-select  placeholder="关联会议">
-          <el-option label="区域一" value="shanghai"></el-option>
-          <el-option label="区域二" value="beijing"></el-option>
-          <el-option label="区域二" value="beijing"></el-option>
+        <el-select size="small"   placeholder="关联会议" clearable filterable v-model="meetingId">
+          <el-option  v-for="(item,index) in meetingData" :label="item.meetingName" :value="item.id"></el-option>
         </el-select>
+
       </el-form-item>
       <el-form-item >
-        <el-button style="margin-right: 150px" type="primary" icon="el-icon-download" >周报生成</el-button>
+        <el-button  type="primary" icon="el-icon-download" @click="generateWeekly()">周报生成</el-button>
       </el-form-item>
     </el-form>
     <div>
@@ -18,7 +17,7 @@
         border
         stripe
         size="mini"
-        style="width: 55%">
+        style="width: 65%" v-model="workContents">
         <el-table-column  type="index" label="序号" width="60">
         </el-table-column>
         <el-table-column label="工作内容">
@@ -31,21 +30,76 @@
         border
         stripe
         size="mini"
-        style="width: 55%">
+        style="width: 65%" :data="workPlans">
         <el-table-column  type="index" label="序号" width="60">
         </el-table-column>
-        <el-table-column label="工作计划">
+        <el-table-column label="工作计划" prop="workPlan">
+          <template scope="scope">
+            <el-input size="mini" v-model="scope.row.workPlan" ></el-input>
+          </template>
+        </el-table-column>
+        <el-table-column label="操作" prop="op" width="150">
+          <template slot-scope="scope">
+            <el-button size="mini" type="primary" @click="addRow()">添加</el-button>
+            <el-button size="mini" type="danger" @click="deleteRow(scope.$index, scope.row)">删除</el-button>
+          </template>
         </el-table-column>
       </el-table>
     </div>
+    <div style="margin-top: 50px;margin-right: 150px;  width: 65%;text-align: center">
+      <el-button size="small" type="primary" @click="saveWorkPlan()">保存信息</el-button>
+    </div>
   </div>
 </template>
 
 <script>
+
+import {list} from '@/api/meeting/meeting'
+
 export default {
   name: 'weekly',
   data() {
+    return {
+      meetingId:null,
+      meetingData:[],
+      workContents:[],
+      workPlans:[{
+        workPlan:'请填写工作计划信息'
+      }]
+    }
+  },
+  mounted() {
+    this.getData()
+  },
+  methods : {
+    getData(){
+      list().then(response =>{
+        this.meetingData=response.data
+      })
+    },
+    getWorkData(){
 
+    },
+    generateWeekly(){
+      alert('生成周报')
+    },
+    saveWorkPlan(){
+      alert('点击保存工作计划')
+    },
+    addRow(){
+      let row={workPlan: '','op':''}
+      this.workPlans.push(row)
+    },
+    deleteRow(index,row){
+      if(index==0){
+        this.$message({
+          message: '不能删除此条数据',
+          type: 'warning'
+        });
+        return;
+      }
+      this.workPlans.splice(index, 1)
+    },
   }
 }
 </script>