소스 검색

增加代碼

humingbo 1 년 전
부모
커밋
d88c496981
5개의 변경된 파일176개의 추가작업 그리고 67개의 파일을 삭제
  1. 1 1
      public/index.html
  2. 31 0
      src/api/meeting/meeting.js
  3. 5 5
      src/components/Page/Pagination.vue
  4. 1 5
      src/router/index.js
  5. 138 56
      src/views/meeting/meeting.vue

+ 1 - 1
public/index.html

@@ -5,7 +5,7 @@
     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
     <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
     <link rel="icon" href="<%= BASE_URL %>favicon.ico">
-    <title><%= webpackConfig.name %></title>
+    <title>艾伟孚生物科技OA系统</title>
   </head>
   <body>
     <noscript>

+ 31 - 0
src/api/meeting/meeting.js

@@ -0,0 +1,31 @@
+import request from '@/utils/request'
+
+//添加会议
+export function addMeeting(data){
+  return request({
+    url: '/meeting/add',
+    method: 'post',
+    data: data
+  })
+}
+
+/**
+ * 分页查询会议信息
+ * @param data
+ * @returns {*}
+ */
+export function getMeetingsByPage(data){
+  return request({
+    url: '/meeting/getMeetingsByPage',
+    method: 'post',
+    data:data
+  })
+}
+
+
+export function deleteMeeting(){
+
+}
+
+
+

+ 5 - 5
src/components/Page/Pagination.vue

@@ -2,7 +2,7 @@
 * 分页组件
 */
 <template>
-  <el-pagination class="page-box" @size-change="handleSizeChange" @current-change="handleCurrentChange" background :current-page="childMsg.page" :page-sizes="[10, 20, 30, 40]" :page-size="childMsg.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="childMsg.total">
+  <el-pagination class="page-box" @size-change="handleSizeChange" @current-change="handleCurrentChange" background :current-page="childMsg.current" :page-sizes="[10, 20, 30, 40]" :page-size="childMsg.size" layout="total, sizes, prev, pager, next, jumper" :total="childMsg.total">
   </el-pagination>
 </template>
 <script>
@@ -12,8 +12,8 @@ export default {
   data() {
     return {
       pageparm: {
-        page: this.childMsg.page,
-        pageSize: this.childMsg.pageSize
+        current: this.childMsg.current,
+        size: this.childMsg.size
       }
     }
   },
@@ -25,7 +25,7 @@ export default {
        * 参数1 父元素方法
        * 参数2 数据
        */
-      this.pageparm.pageSize = val
+      this.pageparm.size = val
       this.$emit('callFather', this.pageparm)
     },
     handleCurrentChange(val) {
@@ -34,7 +34,7 @@ export default {
        * 参数1 父元素方法
        * 参数2 数据
        */
-      this.pageparm.page = val
+      this.pageparm.current = val
       this.$emit('callFather', this.pageparm)
     }
   }

+ 1 - 5
src/router/index.js

@@ -54,11 +54,7 @@ export const constantRoutes = [
       meta: {title: 'Dashboard', icon: 'dashboard'}
     }]
   },
-  {
-    path: '/meeting',
-    name: 'Meeting',
-    component:()=>import('@/views/meeting/meeting')
-  },
+
   {
     path:'/weekly',
     name: 'Weekly',

+ 138 - 56
src/views/meeting/meeting.vue

@@ -1,32 +1,33 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="mini" :inline="true">
-      <el-form-item label="会议类别">
-        <el-radio-group >
-          <el-radio-button label="上海" ></el-radio-button>
-          <el-radio-button label="北京"></el-radio-button>
+    <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-group>
       </el-form-item>
-      <el-form-item label="会议主题">
-        <el-input v-model="formInline.user" placeholder="审批人"></el-input>
+      <el-form-item label="会议主题">
+        <el-input v-model="formInline.meetingName" placeholder="会议主题"></el-input>
       </el-form-item>
-      <el-form-item label="会议类型">
-        <el-select v-model="formInline.region" placeholder="会议类型">
-          <el-option label="区域一" value="shanghai"></el-option>
-          <el-option label="区域二" value="beijing"></el-option>
-          <el-option label="区域二" value="beijing"></el-option>
+      <el-form-item label="会议类型:">
+        <el-select v-model="formInline.meetingType" placeholder="会议类型" clearable >
+          <el-option label="周例会" value="1" key="周例会">周例会</el-option>
+          <el-option label="项目会议" value="2" key="项目会议">项目会议</el-option>
+          <el-option label="实施会议" value="3" key="实施会议">实施会议</el-option>
+          <el-option label="其他会议" value="4" key="其他会议">其他会议</el-option>
         </el-select>
       </el-form-item>
-      <el-form-item label="状态">
-        <el-select v-model="formInline.region" placeholder="会议状态">
-          <el-option label="区域一" value="shanghai"></el-option>
-          <el-option label="区域二" value="beijing"></el-option>
-          <el-option label="区域二" value="beijing"></el-option>
+      <el-form-item label="会议状态">
+        <el-select v-model="formInline.status" placeholder="会议状态" clearable >
+          <el-option label="待开始" value="0"></el-option>
+          <el-option label="进行中" value="1"></el-option>
+          <el-option label="已结束" value="2"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item>
-        <el-button type="primary" icon="el-icon-search" @click="onSubmit">查询</el-button>
-        <el-button icon="el-icon-refresh"  @click="onSubmit">重置</el-button>
+        <el-button type="primary" icon="el-icon-search" @click="search()">查询</el-button>
+        <el-button icon="el-icon-refresh"  @click="resetSearch()">重置</el-button>
         <el-button type="success" icon="el-icon-plus" @click="createMeeting">创建会议</el-button>
       </el-form-item>
     </el-form>
@@ -69,36 +70,68 @@
 
     <!--编辑会议窗体-->
     <!-- 编辑界面 -->
-    <el-dialog :title="title" :visible.sync="editFormVisible" width="55%" @click="closeDialog">
-      <el-form label-width="120px" >
+    <el-dialog :title="title" :visible.sync="editFormVisible" width="950px" @click="closeDialog">
+      <el-form label-width="120px"  ref="form" :model="editForm">
         <el-form-item label="会议主题:">
-          <el-input size="small"></el-input>
+          <el-input size="small" v-model="editForm.meetingName"></el-input>
         </el-form-item>
         <el-form-item label="会议类别:">
-          <el-radio  label="1">备选项</el-radio>
-          <el-radio  label="2">备选项</el-radio>
+          <el-radio-group v-model="editForm.external">
+            <el-radio :label="1">外部会议</el-radio>
+            <el-radio :label="0">内部会议</el-radio>
+          </el-radio-group>
         </el-form-item>
         <el-form-item label="会议类型:">
-          <el-select v-model="formInline.region" placeholder="会议类型">
-            <el-option label="区域一" value="shanghai"></el-option>
-            <el-option label="区域二" value="beijing"></el-option>
-            <el-option label="区域二" value="beijing"></el-option>
+          <el-select v-model="editForm.meetingType" placeholder="会议类型" clearable>
+            <el-option label="周例会" value="1" key="周例会">周例会</el-option>
+            <el-option label="项目会议" value="2" key="项目会议">项目会议</el-option>
+            <el-option label="实施会议" value="3" key="实施会议">实施会议</el-option>
+            <el-option label="其他会议" value="4" key="其他会议">其他会议</el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="会议地点:">
-          <el-input size="small"></el-input>
+          <el-input size="small" v-model="editForm.meetingPlace"></el-input>
         </el-form-item>
         <el-form-item label="会议时间:">
-
+          <el-date-picker
+            v-model="editForm.time"
+            value-format="yyyy-MM-dd HH:mm:ss"
+            format="yyyy-MM-dd HH:mm:ss"
+            type="datetimerange"
+            range-separator="至"
+            start-placeholder="开始日期"
+            end-placeholder="结束日期">
+          </el-date-picker>
         </el-form-item>
         <el-form-item label="外部参会人员:">
-          <el-input size="small"></el-input>
+          <el-input size="small" v-model="editForm.outAttendees"></el-input>
         </el-form-item>
         <el-form-item label="内部参会人员:">
-          <el-input size="small"></el-input>
+          <el-input size="small" v-model="editForm.innerAttendees"></el-input>
+        </el-form-item>
+        <el-form-item label="主持人:">
+          <el-input size="small" v-model="editForm.emcee"></el-input>
+        </el-form-item>
+        <el-form-item label="记录人:">
+          <el-input size="small" v-model="editForm.recorder"></el-input>
         </el-form-item>
         <el-form-item label="会议内容:">
-          <el-input size="small"></el-input>
+          <el-table
+            style="width: 100%" border stripe :show-header="false" :data="editForm.meetingContents">
+            <el-table-column  type="index" label="序号" width="40">
+            </el-table-column>
+            <el-table-column label="工作内容" prop="content"  >
+              <template scope="scope">
+                <el-input size="mini" v-model="scope.row.content" ></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>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -112,38 +145,43 @@
 
 <script>
 import Pagination from '../../components/Page/Pagination'
+import {addMeeting,getMeetingsByPage} from '@/api/meeting/meeting'
 export default {
-  name: 'meeting',
+  name: 'Meeting',
   data() {
     return {
-      tableData: [{
-        date: '2016-05-02',
-        name: '王小虎',
-        address: '上海市普陀区金沙江路 1518 弄'
-      }, {
-        date: '2016-05-04',
-        name: '王小虎',
-        address: '上海市普陀区金沙江路 1517 弄'
-      }, {
-        date: '2016-05-01',
-        name: '王小虎',
-        address: '上海市普陀区金沙江路 1519 弄'
-      }, {
-        date: '2016-05-03',
-        name: '王小虎',
-        address: '上海市普陀区金沙江路 1516 弄'
-      }],
+      tableData: [],
       pageparm: {
-        page: 1,
-        pageSize: 10,
+        current: 1,
+        size: 10,
         total: 0
       },
+
       formInline: {
-        page: 1,
-        pageSize: 10
+        current: 1,
+        size: 10,
+        meetingEternal:'内部会议',
+        meetingName:'',
+        meetingType:null,
+        status:null
+
       },
       editFormVisible: false,
-      title : '创建会议'
+      title : '创建会议',
+      editForm: {
+        meetingName: '',
+        external: 0,
+        meetingType : '1',
+        meetingPlace: '',
+        time: null,
+        outAttendees : '',
+        innerAttendees: '',
+        emcee : '',
+        recorder: '',
+        meetingContents: [
+          {content: '会议内容','op':''}
+        ],
+      }
 
     }
   },
@@ -151,6 +189,9 @@ export default {
   components: {
     Pagination
   },
+  mounted() {
+    this.getData();
+  },
   methods: {
     // 分页插件事件
     callFather(parm) {
@@ -158,12 +199,53 @@ export default {
       this.formInline.pageSize = parm.pageSize
       //this.getdata(this.formInline)
     },
+    getData(){
+      alert('調用分頁查詢')
+    },
     createMeeting() {
       this.title = '创建会议'
       this.editFormVisible = true
     },
     closeDialog() {
       this.editFormVisible = false
+    },
+    addRow(){
+      let row={content: '','op':''}
+      this.editForm.meetingContents.push(row)
+    },
+    deleteRow(index,row){
+      if(index==0){
+        this.$message({
+          message: '不能删除工作内容',
+          type: 'warning'
+        });
+        return;
+      }
+      this.editForm.meetingContents.splice(index, 1)
+    },
+    submitForm(){
+      let data=this.editForm;
+      addMeeting(data).then(response => {
+        this.$message({
+          message: '操作成功!',
+          type: 'success'
+        });
+        this.closeDialog();
+      });
+    },
+    resetSearch(){
+      this.formInline={
+        current: 1,
+        size: 10,
+        meetingEternal:'内部会议',
+        meetingName:'',
+        meetingType:null,
+        status:null
+      }
+    },
+    search(){
+      let searchParams=this.formInline
+      alert(JSON.stringify(searchParams))
     }
   }
 }