소스 검색

页面优化

ysc 1 년 전
부모
커밋
77ab038234

+ 5 - 0
src/assets/styles/index.scss

@@ -124,6 +124,11 @@ aside {
   padding: 20px;
 }
 
+.query-container {
+  display: flex;
+  justify-content: space-between
+}
+
 .components-container {
   margin: 30px 50px;
   position: relative;

+ 13 - 1
src/views/dashboard/index.vue

@@ -29,7 +29,7 @@
         </div>
       </el-card>
       <el-card class="card" v-hasPermi="['task:task:audit']">
-        <div class="card-text" @click="">
+        <div class="card-text" @click="auditTaskOpen=!auditTaskOpen">
           <div class="card-left"><i class="el-icon-s-order"></i></div>
           <div class="card-right">
             <div class="card-text-title">待审核任务</div>
@@ -70,6 +70,18 @@
       </el-table>
     </el-dialog>
 
+    <el-dialog title="待审核任务" :visible.sync="auditTaskOpen" append-to-body :close-on-click-modal="false">
+      <el-table :data="auditTasks" size="mini">
+        <el-table-column label="任务名称" prop="taskName" min-width="150" :show-overflow-tooltip="true"/>
+        <el-table-column label="执行(负责)人" prop="executorName"/>
+        <el-table-column label="任务起止时间" width="170">
+          <template slot-scope="scope">
+            <span>{{ scope.row.beginDate + ' 至 ' + scope.row.endDate }}</span>
+          </template>
+        </el-table-column>
+      </el-table>
+    </el-dialog>
+
     <!--        <meeting-detail :detail-form="meetingForm" @getTodoMeetingList="getTodoMeetingList"></meeting-detail>-->
   </div>
 </template>

+ 244 - 220
src/views/enforceflow/enforceflow.vue

@@ -1,35 +1,46 @@
 <template>
   <div class="app-container">
-    <el-form :model="formInline" ref="formInline" size="mini" :inline="true">
-      <el-form-item label="实施项目名称:">
-        <el-input v-model="formInline.name" placeholder="项目名称"></el-input>
-      </el-form-item>
-      <el-form-item label="所属医院:">
-        <el-select size="mini" clearable filterable v-model="formInline.hname" placeholder="请选择医院">
-          <el-option v-for="(item,index) in hnos" :label="item.dictLabel" :value="item.dictValue" :key="index"></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item label="所属系统:">
-        <el-select size="mini" clearable filterable v-model="formInline.hsytem" placeholder="请选择系统">
-          <el-option v-for="(item,index) in hsytem" :key="index" :label="item.dictLabel"
-                     :value="item.dictValue"></el-option>
-        </el-select>
-      </el-form-item>
-      <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="searchData()">查询</el-button>
-        <el-button icon="el-icon-refresh" @click="resetSearch()">重置</el-button>
-        <el-button type="success" icon="el-icon-plus" @click="createEnforceFlow()">创建实施</el-button>
-      </el-form-item>
-    </el-form>
+    <div class="query-container">
+      <el-form :model="formInline" ref="formInline" size="mini" :inline="true">
+        <el-form-item>
+          <el-input v-model="formInline.name" placeholder="实施项目名称"></el-input>
+        </el-form-item>
+        <el-form-item>
+          <el-select size="mini" clearable filterable v-model="formInline.hname" placeholder="请选择医院">
+            <el-option v-for="(item,index) in hnos" :label="item.dictLabel" :value="item.dictValue"
+                       :key="index"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-select size="mini" clearable filterable v-model="formInline.hsytem" placeholder="请选择系统">
+            <el-option v-for="(item,index) in hsytem" :key="index" :label="item.dictLabel"
+                       :value="item.dictValue"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <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="searchData()">查询</el-button>
+          <el-button icon="el-icon-refresh" @click="resetSearch()">重置</el-button>
+        </el-form-item>
+      </el-form>
+
+      <el-row :gutter="10" style="margin-bottom:8px">
+        <el-col :span="1.5">
+          <el-button type="success" icon="el-icon-plus" @click="createEnforceFlow()">创建实施</el-button>
+        </el-col>
+      </el-row>
+    </div>
+
+
     <el-table
       :data="tableData"
+      height="calc(100vh - 180px)"
       border
       stripe
       size="mini"
@@ -72,14 +83,17 @@
           <el-button size="mini" v-if="scope.row.status===0" type="danger" @click="deleteEnforce(scope.row)">删除
           </el-button>
           <el-button size="mini" type="success" @click="openEnforceManageDialog(scope.row)">查看详情</el-button>
-          <el-button size="mini" v-show="false" v-if="scope.row.status!==0" type="primary" @click="getEnforceDetail(scope.row)">
+          <el-button size="mini" v-show="false" v-if="scope.row.status!==0" type="primary"
+                     @click="getEnforceDetail(scope.row)">
             查看实施详情
           </el-button>
         </template>
       </el-table-column>
     </el-table>
-    <Pagination v-bind:child-msg="pageparm" @callFather="callFather"></Pagination>
 
+    <div style="margin-top: 10px;text-align: center">
+      <Pagination v-bind:child-msg="pageparm" @callFather="callFather"></Pagination>
+    </div>
 
     <!-- 编辑界面 -->
     <el-dialog :title="title" :visible.sync="editFormVisible" width="40%" @click="closeDialog"
@@ -88,7 +102,7 @@
         <el-form-item label="实施项目名称:">
           <el-input size="mini" v-model="editForm.name"></el-input>
         </el-form-item>
-        <el-form-item label="实施负责人:" prop="recorder" >
+        <el-form-item label="实施负责人:" prop="recorder">
           <el-input size="mini" v-model="editForm.enforcer" readonly="true"
                     @keyup.enter.native="openUsers1()">
             <el-button @click="openUsers1()" icon="el-icon-search" slot="append"></el-button>
@@ -97,7 +111,8 @@
 
         <el-form-item label="实施医院:">
           <el-select size="mini" clearable filterable v-model="editForm.hname" placeholder="请选择医院">
-            <el-option v-for="(item,index) in hnos" :label="item.dictLabel" :value="item.dictValue" :key="index"></el-option>
+            <el-option v-for="(item,index) in hnos" :label="item.dictLabel" :value="item.dictValue"
+                       :key="index"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="实施系统:">
@@ -244,10 +259,10 @@
         <el-table-column
           prop="createTime" align="center"
           label="创建时间" width="130">
-            <template slot-scope="scope">
-              <span>{{ parseTime(scope.row.createTime) }}</span>
-            </template>
-          </el-table-column>
+          <template slot-scope="scope">
+            <span>{{ parseTime(scope.row.createTime) }}</span>
+          </template>
+        </el-table-column>
         <el-table-column
           prop="completionTime" align="center"
           label="完成时间" width="130">
@@ -267,32 +282,33 @@
       </el-table>
     </el-dialog>
 
-    <el-dialog :title="enforceFlowTitle" :visible.sync="enforceManageVisble" width="99%" fullscreen center :close-on-click-modal="false"  @click="enforceManageDialog">
+    <el-dialog :title="enforceFlowTitle" :visible.sync="enforceManageVisble" width="99%" fullscreen center
+               :close-on-click-modal="false" @click="enforceManageDialog">
       <el-steps :active="maxStep" finish-status="success">
         <el-badge is-dot class="item" :hidden="elBadgeForm.elBadge1"></el-badge>
-        <el-step @click.native="on_click(1)" title="项目启动会" :class="stepClass" />
+        <el-step @click.native="on_click(1)" title="项目启动会" :class="stepClass"/>
         <el-badge is-dot class="item" :hidden="elBadgeForm.elBadge2"></el-badge>
-        <el-step @click.native="on_click(2)" title="发货" />
+        <el-step @click.native="on_click(2)" title="发货"/>
         <el-badge is-dot class="item" :hidden="elBadgeForm.elBadge3"></el-badge>
-        <el-step @click.native="on_click(3)" title="物流签收" />
+        <el-step @click.native="on_click(3)" title="物流签收"/>
         <el-badge is-dot class="item" :hidden="elBadgeForm.elBadge4"></el-badge>
-        <el-step @click.native="on_click(4)" title="进入现场" />
+        <el-step @click.native="on_click(4)" title="进入现场"/>
         <el-badge is-dot class="item" :hidden="elBadgeForm.elBadge5"></el-badge>
-        <el-step @click.native="on_click(5)" title="设备安装" />
+        <el-step @click.native="on_click(5)" title="设备安装"/>
         <el-badge is-dot class="item" :hidden="elBadgeForm.elBadge6"></el-badge>
-        <el-step @click.native="on_click(6)" title="系统调试" />
+        <el-step @click.native="on_click(6)" title="系统调试"/>
         <el-badge is-dot class="item" :hidden="elBadgeForm.elBadge7"></el-badge>
-        <el-step @click.native="on_click(7)" title="操作培训" />
+        <el-step @click.native="on_click(7)" title="操作培训"/>
         <el-badge is-dot class="item" :hidden="elBadgeForm.elBadge8"></el-badge>
-        <el-step @click.native="on_click(8)" title="现场值守" />
+        <el-step @click.native="on_click(8)" title="现场值守"/>
         <el-badge is-dot class="item" :hidden="elBadgeForm.elBadge9"></el-badge>
-        <el-step @click.native="on_click(9)" title="离场" />
+        <el-step @click.native="on_click(9)" title="离场"/>
         <el-badge is-dot class="item" :hidden="elBadgeForm.elBadge10"></el-badge>
-        <el-step @click.native="on_click(10)" title="实施复盘" />
+        <el-step @click.native="on_click(10)" title="实施复盘"/>
         <el-badge is-dot class="item" :hidden="elBadgeForm.elBadge11"></el-badge>
-        <el-step @click.native="on_click(11)" title="文件归档" />
+        <el-step @click.native="on_click(11)" title="文件归档"/>
         <el-badge is-dot class="item" :hidden="elBadgeForm.elBadge12"></el-badge>
-        <el-step @click.native="on_click(12)" title="运维维护" />
+        <el-step @click.native="on_click(12)" title="运维维护"/>
       </el-steps>
 
       <div>
@@ -347,7 +363,8 @@
                 <template slot="label">
                   当前负责人
                 </template>
-                <el-input size="small" v-model="enforceForm.director" :disabled="true" @keyup.enter.native="openUsers()">
+                <el-input size="small" v-model="enforceForm.director" :disabled="true"
+                          @keyup.enter.native="openUsers()">
                   <el-button @click="openUsers" icon="el-icon-search" slot="append"></el-button>
                 </el-input>
               </el-descriptions-item>
@@ -377,21 +394,22 @@
                 <template slot="label">
                   其他说明
                 </template>
-                <div id="editorElem" style="text-align:left" >
+                <div id="editorElem" style="text-align:left">
                 </div>
               </el-descriptions-item>
             </el-descriptions>
           </el-form>
           <div slot="footer" style="margin-top: 25px;text-align: right;margin-right: 85px">
             <el-button size="medium" @click="enforceManageDialog">取消</el-button>
-            <el-button size="medium" type="primary" class="title" @click="submitEnforceForm('editForm')">确定处理</el-button>
+            <el-button size="medium" type="primary" class="title" @click="submitEnforceForm('editForm')">确定处理
+            </el-button>
           </div>
         </div>
         <div v-else-if="active===12" style="margin-top:5px ">
           <el-tabs type="card" @tab-click="chooseTab" v-model="activeName">
             <el-tab-pane label="运维提醒设置" name="1">
               <el-button type="primary" size="mini" @click="addenforceRemindRow">添加</el-button>
-              <el-table :data="enforceRemindData" stripe  size="mini" style="width: 100%;margin-top: 15px" >
+              <el-table :data="enforceRemindData" stripe size="mini" style="width: 100%;margin-top: 15px">
                 <el-table-column type="index" label="序号" width="60"></el-table-column>
                 <el-table-column prop="msg" label="提醒信息" width="250">
                   <template slot-scope="scope">
@@ -400,7 +418,7 @@
                 </el-table-column>
                 <el-table-column prop="term" label="有限期限" width="180">
                   <template slot-scope="scope">
-                    <el-select v-model="scope.row.term"   placeholder="请选择提醒时间" >
+                    <el-select v-model="scope.row.term" placeholder="请选择提醒时间">
                       <el-option label="3个月" :value="90" key="90">3个月</el-option>
                       <el-option label="6个月" :value="180" key="180">6个月</el-option>
                       <el-option label="1年" :value="360" key="360">1年</el-option>
@@ -410,21 +428,26 @@
                 </el-table-column>
                 <el-table-column prop="op" label="操作">
                   <template slot-scope="scope">
-                    <el-button type="primary" size="mini" v-if="scope.row.id!==null" @click="addenforceRemind((scope.row))">修改</el-button>
-                    <el-button type="primary" size="mini" v-if="scope.row.id===null" @click="addenforceRemind(scope.row)">确认</el-button>
-                    <el-button type="danger" size="mini" @click="deleteEnforceRemind(scope.$index, scope.row)">删除</el-button>
+                    <el-button type="primary" size="mini" v-if="scope.row.id!==null"
+                               @click="addenforceRemind((scope.row))">修改
+                    </el-button>
+                    <el-button type="primary" size="mini" v-if="scope.row.id===null"
+                               @click="addenforceRemind(scope.row)">确认
+                    </el-button>
+                    <el-button type="danger" size="mini" @click="deleteEnforceRemind(scope.$index, scope.row)">删除
+                    </el-button>
                   </template>
                 </el-table-column>
               </el-table>
             </el-tab-pane>
             <el-tab-pane label="运维记录" name="2">
               <el-button type="primary" size="mini" @click="addEnforceRecordClick">添加</el-button>
-              <el-table :data="enforceRecordData" stripe  style="width: 100%;margin-top: 15px;">
+              <el-table :data="enforceRecordData" stripe style="width: 100%;margin-top: 15px;">
                 <el-table-column type="index" label="序号" width="60"></el-table-column>
                 <el-table-column prop="enforceType" label="运维类型" width="180"></el-table-column>
                 <el-table-column prop="enforceTime" label="运维时间">
                   <template slot-scope="scope">
-                    <div>{{scope.row.enforceTime.substr(0,10)}}</div>
+                    <div>{{ scope.row.enforceTime.substr(0, 10) }}</div>
                   </template>
                 </el-table-column>
                 <el-table-column prop="enforcer" label="运维人员"></el-table-column>
@@ -438,7 +461,7 @@
           </el-tabs>
         </div>
         <div v-else>
-          <el-table :data="enforceFileData" stripe  style="width: 100%;margin-top: 15px;">
+          <el-table :data="enforceFileData" stripe style="width: 100%;margin-top: 15px;">
             <el-table-column type="index" label="序号" width="60"></el-table-column>
             <el-table-column prop="fileName" label="文件名称" min-width="500">
             </el-table-column>
@@ -488,6 +511,7 @@
 
 <script>
 import E from 'wangeditor';
+
 let editor;
 let editorEnforce;
 import Pagination from '@/components/Page/Pagination'
@@ -501,23 +525,23 @@ import {
   getEnforceFlowsByEnforceId, getEnforceFlowsByEnforceIdAndStep, getEnforceFlowFiles
 } from '@/api/meeting/enforce'
 import {getDeptUserTree} from '@/api/system/user'
-import { deleteEnforceRemindById, editEnforceRemind, getEnforceRemindList } from '@/api/meeting/enforceRemind'
-import { editEnforceRecord, getEnforceRecordList } from '@/api/meeting/enforceRecord'
-import { deleteFile, uploadFileUrl } from '@/api/file/file'
+import {deleteEnforceRemindById, editEnforceRemind, getEnforceRemindList} from '@/api/meeting/enforceRemind'
+import {editEnforceRecord, getEnforceRecordList} from '@/api/meeting/enforceRecord'
+import {deleteFile, uploadFileUrl} from '@/api/file/file'
 
 export default {
   name: 'enforceflow',
   data() {
     return {
-      editEnforceRecord:{
-        id:null,
-        enforceType:'',
-        enforceTime:null,
-        enforceId:null,
-        remark:''
+      editEnforceRecord: {
+        id: null,
+        enforceType: '',
+        enforceTime: null,
+        enforceId: null,
+        remark: ''
       },
-      enforceFileData:[],
-      addEnforceRecordWin:false,
+      enforceFileData: [],
+      addEnforceRecordWin: false,
       enforceFlowVisble: false,
       usersVisble: false,
       tableData: [],
@@ -526,7 +550,7 @@ export default {
         size: 10,
         total: 0
       },
-      stepClass:'stepClass',
+      stepClass: 'stepClass',
       formInline: {
         current: 1,
         size: 10,
@@ -556,22 +580,22 @@ export default {
         director: null,
         directorId: null,
         remark: null,
-        content:null
+        content: null
       },
       enforceFlow: {
         name: '',
         enforcer: '',
         time: null,
         hno: null,
-        hname:'',
+        hname: '',
         hsytem: null,
         content: '',
-        beginTime:null,
-        endTime:null,
-        fileDatas:[]
+        beginTime: null,
+        endTime: null,
+        fileDatas: []
       },
-      enforceFlowId:null,
-      enforceFlowTitle:null,
+      enforceFlowId: null,
+      enforceFlowTitle: null,
       fileList: [],
       userList: [],
       userForm: {
@@ -582,27 +606,27 @@ export default {
       enforceTableData: [],
       users1Visble: false,
       users1Flag: '',
-      uploadFileList:[],
+      uploadFileList: [],
       enforceManageVisble: false,
       active: 1,
-      activeName:'1',
-      enforceRemindData:[],
-      enforceDetail:null,
-      enforceRecordData:[],
+      activeName: '1',
+      enforceRemindData: [],
+      enforceDetail: null,
+      enforceRecordData: [],
       fileAction: '',
-      elBadgeForm:{
-        elBadge1:true,
-        elBadge2:true,
-        elBadge3:true,
-        elBadge4:true,
-        elBadge5:true,
-        elBadge6:true,
-        elBadge7:true,
-        elBadge8:true,
-        elBadge9:true,
-        elBadge10:true,
-        elBadge11:true,
-        elBadge12:true,
+      elBadgeForm: {
+        elBadge1: true,
+        elBadge2: true,
+        elBadge3: true,
+        elBadge4: true,
+        elBadge5: true,
+        elBadge6: true,
+        elBadge7: true,
+        elBadge8: true,
+        elBadge9: true,
+        elBadge10: true,
+        elBadge11: true,
+        elBadge12: true,
       }
     }
   },
@@ -768,13 +792,13 @@ export default {
     enforceFlowDialog() {
       this.enforceFlowVisble = false
     },
-    closeUser1Dialog(){
-      this.users1Visble=false
+    closeUser1Dialog() {
+      this.users1Visble = false
     },
-    openUsers1(){
-      this.users1Visble=true
+    openUsers1() {
+      this.users1Visble = true
     },
-    submitUser1Form(){
+    submitUser1Form() {
       let node = this.$refs.dept1.getCurrentNode();
       if (node === undefined || node === null) {
         this.$message({
@@ -791,35 +815,35 @@ export default {
         return;
       }
       this.editForm.enforcer = node.name
-     // this.enforceForm.directorId = node.id
+      // this.enforceForm.directorId = node.id
       this.closeUser1Dialog();
     },
-    enforceManageDialog(){
-      this.enforceManageVisble=false
+    enforceManageDialog() {
+      this.enforceManageVisble = false
     },
-    openEnforceManageDialog(row){
-      this.enforceManageVisble=true
-      this.enforceFlowId=row.id
-      this.enforceFlowTitle=row.name+"实施流程明细"
+    openEnforceManageDialog(row) {
+      this.enforceManageVisble = true
+      this.enforceFlowId = row.id
+      this.enforceFlowTitle = row.name + "实施流程明细"
       this.on_click(1)
-      this.enforceDetail=row
+      this.enforceDetail = row
     },
-    createwangeditor(){
+    createwangeditor() {
       editor = new E('#editorElem');
       editor.config.height = 300
       editor.create()
       editor.txt.html(this.enforceForm.content)
       editor.config.onchange = (html) => {
-        this.enforceForm.content=editor.txt.html()
+        this.enforceForm.content = editor.txt.html()
       };
     },
-    createEnforceEditor(){
+    createEnforceEditor() {
       editorEnforce = new E('#editorEnforceRecord');
       editorEnforce.config.height = 300
       editorEnforce.create()
       editorEnforce.txt.html(this.editEnforceRecord.remark)
       editorEnforce.config.onchange = (html) => {
-        this.editEnforceRecord.remark=editor.txt.html()
+        this.editEnforceRecord.remark = editor.txt.html()
       };
     },
     handleRemove(file, fileList) {
@@ -841,227 +865,227 @@ export default {
         type: 'warning'
       });
     },
-    elBadgeFormElbadgaeChoose(choose){
-      let elBadgeForm=this.elBadgeForm
-      if(elBadgeForm.hasOwnProperty(choose)){
-        this.elBadgeForm[choose]=false
+    elBadgeFormElbadgaeChoose(choose) {
+      let elBadgeForm = this.elBadgeForm
+      if (elBadgeForm.hasOwnProperty(choose)) {
+        this.elBadgeForm[choose] = false
       }
-      let str=['elBadge1','elBadge2','elBadge3','elBadge4','elBadge5','elBadge6','elBadge7','elBadge8','elBadge9','elBadge10','elBadge11','elBadge12']
-      for(let i=0;i<str.length;i++){
-         if(str[i]!==choose){
-           this.elBadgeForm[str[i]]=true
-         }
+      let str = ['elBadge1', 'elBadge2', 'elBadge3', 'elBadge4', 'elBadge5', 'elBadge6', 'elBadge7', 'elBadge8', 'elBadge9', 'elBadge10', 'elBadge11', 'elBadge12']
+      for (let i = 0; i < str.length; i++) {
+        if (str[i] !== choose) {
+          this.elBadgeForm[str[i]] = true
+        }
       }
     },
-    on_click(e){
-      let dot=e;
-      switch (dot){
+    on_click(e) {
+      let dot = e;
+      switch (dot) {
         case 1:
-          this.elBadgeForm.elBadge1=false;
+          this.elBadgeForm.elBadge1 = false;
           this.elBadgeFormElbadgaeChoose('elBadge1');
-        break;
+          break;
         case 2:
-          this.elBadgeForm.elBadge2=false;
+          this.elBadgeForm.elBadge2 = false;
           this.elBadgeFormElbadgaeChoose('elBadge2');
-        break;
+          break;
         case 3:
-          this.elBadgeForm.elBadge3=false;
+          this.elBadgeForm.elBadge3 = false;
           this.elBadgeFormElbadgaeChoose('elBadge3');
           break;
         case 4:
-          this.elBadgeForm.elBadge4=false;
+          this.elBadgeForm.elBadge4 = false;
           this.elBadgeFormElbadgaeChoose('elBadge4');
           break;
         case 5:
-          this.elBadgeForm.elBadge5=false;
+          this.elBadgeForm.elBadge5 = false;
           this.elBadgeFormElbadgaeChoose('elBadge5');
           break;
         case 6:
-          this.elBadgeForm.elBadge6=false;
+          this.elBadgeForm.elBadge6 = false;
           this.elBadgeFormElbadgaeChoose('elBadge6');
           break;
         case 7:
-          this.elBadgeForm.elBadge7=false;
+          this.elBadgeForm.elBadge7 = false;
           this.elBadgeFormElbadgaeChoose('elBadge7');
           break;
         case 8:
-          this.elBadgeForm.elBadge8=false;
+          this.elBadgeForm.elBadge8 = false;
           this.elBadgeFormElbadgaeChoose('elBadge8');
           break;
         case 9:
-          this.elBadgeForm.elBadge9=false;
+          this.elBadgeForm.elBadge9 = false;
           this.elBadgeFormElbadgaeChoose('elBadge9');
           break;
         case 10:
-          this.elBadgeForm.elBadge10=false;
+          this.elBadgeForm.elBadge10 = false;
           this.elBadgeFormElbadgaeChoose('elBadge10');
           break;
         case 11:
-          this.elBadgeForm.elBadge11=false;
+          this.elBadgeForm.elBadge11 = false;
           this.elBadgeFormElbadgaeChoose('elBadge11');
           break;
         case 12:
-          this.elBadgeForm.elBadge12=false;
+          this.elBadgeForm.elBadge12 = false;
           this.elBadgeFormElbadgaeChoose('elBadge12');
           break;
       }
 
-      if(e !== "" || e != null){
-        if(e!==12 && e !=11){
+      if (e !== "" || e != null) {
+        if (e !== 12 && e != 11) {
           let id = this.enforceFlowId
-          getEnforceFlowsByEnforceIdAndStep(id,e).then(res=>{
+          getEnforceFlowsByEnforceIdAndStep(id, e).then(res => {
             console.log(JSON.stringify(res))
-            let data=res.data;
-            this.enforceFlow=data.enforceFlow
-            if(data.dtos.length>0){
-              this.enforceFlow.fileDatas=data.dtos[0].fileDatas
-              for(let i=0; i<data.dtos[0].fileDatas.length; i++){
-                let file=data.dtos[0].fileDatas[i];
+            let data = res.data;
+            this.enforceFlow = data.enforceFlow
+            if (data.dtos.length > 0) {
+              this.enforceFlow.fileDatas = data.dtos[0].fileDatas
+              for (let i = 0; i < data.dtos[0].fileDatas.length; i++) {
+                let file = data.dtos[0].fileDatas[i];
                 this.uploadFileList.push(
                   {
                     url: file.url,
-                    name: file.fileName.substring(0,file.fileName.indexOf('<'))
+                    name: file.fileName.substring(0, file.fileName.indexOf('<'))
                   }
                 )
               }
             }
 
-            this.maxStep=data.maxStep
-            let dtos=data.dtos
-            if(dtos.length>0){
-              this.enforceForm=dtos[0]
+            this.maxStep = data.maxStep
+            let dtos = data.dtos
+            if (dtos.length > 0) {
+              this.enforceForm = dtos[0]
             }
-            this.$nextTick(()=>{
-              if (editor==null){
+            this.$nextTick(() => {
+              if (editor == null) {
                 this.createwangeditor()
-              }else {
+              } else {
                 editor.destroy();//这里做了一次判断,判断编辑器是否被创建,如果创建了就先销毁。
                 this.createwangeditor()
               }
             });
             this.active = e
           })
-        }else if (e===12){
+        } else if (e === 12) {
           this.getEnforceRemindList()
           this.active = e
-        }else{
+        } else {
           this.getEnforceFlowFileList();
           this.active = e
         }
       }
     },
-    addenforceRemindRow(){
-      let row = {id: null, msg: '', term: null, termTime: null,enforceId:null,startTime:null}
+    addenforceRemindRow() {
+      let row = {id: null, msg: '', term: null, termTime: null, enforceId: null, startTime: null}
       this.enforceRemindData.push(row)
     },
-    addenforceRemind(row){
-      let data=row;
-      if(data.msg===''){
+    addenforceRemind(row) {
+      let data = row;
+      if (data.msg === '') {
         this.$message.warning("请输入提醒信息!")
         return
       }
-      if(data.term===null){
+      if (data.term === null) {
         this.$message.warning("请选择提醒时间!")
         return
       }
-      data.enforceId=this.enforceDetail.id
-      editEnforceRemind(data).then(res=>{
+      data.enforceId = this.enforceDetail.id
+      editEnforceRemind(data).then(res => {
         this.$message.success("操作成功!")
         this.getEnforceRemindList()
       });
     },
-    getEnforceRemindList(){
-      let id=this.enforceDetail.id
-      getEnforceRemindList(id).then(res=>{
-        this.enforceRemindData=res.data
+    getEnforceRemindList() {
+      let id = this.enforceDetail.id
+      getEnforceRemindList(id).then(res => {
+        this.enforceRemindData = res.data
       })
     },
-    deleteEnforceRemind(index,row){
-      let id=row.id
-      if(id===null){
+    deleteEnforceRemind(index, row) {
+      let id = row.id
+      if (id === null) {
         this.workPlanDatas.splice(index, 1)
-      }else{
-        deleteEnforceRemindById(id).then(res=>{
+      } else {
+        deleteEnforceRemindById(id).then(res => {
           this.$message.success("操作成功!");
           this.getEnforceRemindList()
         })
       }
     },
-    getEnforceRecordLists(){
-      let id=this.enforceDetail.id
-      getEnforceRecordList(id).then(res=>{
-        this.enforceRecordData=res.data
+    getEnforceRecordLists() {
+      let id = this.enforceDetail.id
+      getEnforceRecordList(id).then(res => {
+        this.enforceRecordData = res.data
       });
     },
-    addEnforceRecordClick(){
-      this.addEnforceRecordWin=true
-      this.$nextTick(()=>{
-        if (editorEnforce==null){
+    addEnforceRecordClick() {
+      this.addEnforceRecordWin = true
+      this.$nextTick(() => {
+        if (editorEnforce == null) {
           this.createEnforceEditor()
-        }else {
+        } else {
           editorEnforce.destroy();
           this.createEnforceEditor()
         }
       });
     },
-    closeEnforceRecordWin(){
-      this.addEnforceRecordWin=false
+    closeEnforceRecordWin() {
+      this.addEnforceRecordWin = false
     },
-    updateEnforceRecord(row){
-      this.editEnforceRecord=row
-      this.addEnforceRecordWin=true
-      this.$nextTick(()=>{
-        if (editorEnforce==null){
+    updateEnforceRecord(row) {
+      this.editEnforceRecord = row
+      this.addEnforceRecordWin = true
+      this.$nextTick(() => {
+        if (editorEnforce == null) {
           this.createEnforceEditor()
-        }else {
+        } else {
           editorEnforce.destroy();
           this.createEnforceEditor()
         }
       });
     },
-    editEnforceRecords(){
-      let data=this.editEnforceRecord
-      let enforceType=data.enforceType
-      if(enforceType===''){
+    editEnforceRecords() {
+      let data = this.editEnforceRecord
+      let enforceType = data.enforceType
+      if (enforceType === '') {
         this.$message.warning("请选择运维事项!")
         return
       }
-      let enforceTime=data.enforceTime
-      if(enforceTime===null){
+      let enforceTime = data.enforceTime
+      if (enforceTime === null) {
         this.$message.warning("请选择运维日期!")
         return
       }
-      let remark=data.remark
-      if(remark===''){
+      let remark = data.remark
+      if (remark === '') {
         this.$message.warning("请填写运维内容!")
         return
       }
-      let enforceId=this.enforceDetail.id
-      data.enforceId=enforceId
-      data.enforceTime=new Date(enforceTime).getTime()
-      editEnforceRecord(data).then(res=>{
+      let enforceId = this.enforceDetail.id
+      data.enforceId = enforceId
+      data.enforceTime = new Date(enforceTime).getTime()
+      editEnforceRecord(data).then(res => {
         this.$message.success("操作成功!")
-        this.addEnforceRecordWin=false
+        this.addEnforceRecordWin = false
         this.getEnforceRecordLists()
       });
     },
-    downEnforceFile(row){
-      let url=row.url
-      window.location.href=url
+    downEnforceFile(row) {
+      let url = row.url
+      window.location.href = url
     },
-    getEnforceFlowFileList(){
-      let id=this.enforceDetail.id
-      getEnforceFlowFiles(id).then(res=>{
+    getEnforceFlowFileList() {
+      let id = this.enforceDetail.id
+      getEnforceFlowFiles(id).then(res => {
         console.log(res.data)
-        this.enforceFileData=res.data
+        this.enforceFileData = res.data
       });
     },
-    chooseTab(tab, event){
-      let active=this.activeName
-      if(active==='1'){
+    chooseTab(tab, event) {
+      let active = this.activeName
+      if (active === '1') {
         this.getEnforceRemindList()
       }
-      if(active==='2'){
+      if (active === '2') {
         this.getEnforceRecordLists();
       }
     }
@@ -1075,9 +1099,9 @@ export default {
   margin-bottom: 10px;
 }
 
-.stepClass{
-    height: 36px !important;
-    width: 36px !important;
+.stepClass {
+  height: 36px !important;
+  width: 36px !important;
 
 }
 

+ 73 - 65
src/views/material/asset.vue

@@ -5,72 +5,77 @@
         <category @selectCategory="selectCategory"></category>
       </el-col>
       <el-col :span="19" :xs="24">
-        <el-form :model="queryParams" ref="queryForm" size="mini" :inline="true">
-          <el-form-item label="物品名称" prop="assetName">
-            <el-input v-model="queryParams.assetName"></el-input>
-          </el-form-item>
-          <el-form-item label="是否配件" prop="accessoryFlag">
-            <el-switch v-model="queryParams.accessoryFlag"
-                       active-value="1"
-                       inactive-value="0">
-            </el-switch>
-          </el-form-item>
-          <el-form-item label="资产类型" prop="assetType">
-            <el-select
-              v-model="queryParams.assetType"
-              placeholder="资产类型"
-              style="width: 100px">
-              <el-option
-                v-for="dict in dict.type.asset_type"
-                :key="dict.value"
-                :label="dict.label"
-                :value="dict.value"/>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="资产状态" prop="status">
-            <el-select
-              v-model="queryParams.status"
-              placeholder="资产状态"
-              style="width: 120px">
-              <el-option
-                v-for="dict in dict.type.asset_status"
-                :key="dict.value"
-                :label="dict.label"
-                :value="dict.value"/>
-            </el-select>
-          </el-form-item>
-          <el-form-item>
-            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
-          </el-form-item>
-        </el-form>
-
-        <el-row :gutter="10" style="margin-bottom:8px">
-          <el-col :span="1.5">
-            <el-button
-              type="primary"
-              plain
-              icon="el-icon-plus"
-              size="mini"
-              @click="handleAdd"
-              v-hasPermi="['material:asset:add']"
-            >新增入库
-            </el-button>
-          </el-col>
-          <el-col :span="1.5">
-            <el-button
-              plain
-              icon="el-icon-download"
-              size="mini"
-              @click="handleExport"
-              v-hasPermi="['material:asset:export']"
-            >导出
-            </el-button>
-          </el-col>
-        </el-row>
+        <div class="query-container">
+          <el-form :model="queryParams" ref="queryForm" size="mini" :inline="true">
+            <el-form-item label="是否配件" prop="accessoryFlag">
+              <el-switch v-model="queryParams.accessoryFlag"
+                         active-value="1"
+                         inactive-value="0">
+              </el-switch>
+            </el-form-item>
+            <el-form-item prop="assetName">
+              <el-input v-model="queryParams.assetName" placeholder="物品名称" clearable></el-input>
+            </el-form-item>
+            <el-form-item prop="assetType">
+              <el-select
+                v-model="queryParams.assetType"
+                placeholder="资产类型"
+                clearable
+                style="width: 100px">
+                <el-option
+                  v-for="dict in dict.type.asset_type"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"/>
+              </el-select>
+            </el-form-item>
+            <el-form-item prop="status">
+              <el-select
+                v-model="queryParams.status"
+                placeholder="资产状态"
+                clearable
+                style="width: 120px">
+                <el-option
+                  v-for="dict in dict.type.asset_status"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"/>
+              </el-select>
+            </el-form-item>
+            <el-form-item>
+              <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+              <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+            </el-form-item>
+          </el-form>
+          <el-row :gutter="10" style="margin-bottom:8px">
+            <el-col :span="1.5">
+              <el-button
+                type="primary"
+                plain
+                icon="el-icon-plus"
+                size="mini"
+                @click="handleAdd"
+                v-hasPermi="['material:asset:add']"
+              >新增入库
+              </el-button>
+            </el-col>
+            <el-col :span="1.5">
+              <el-button
+                plain
+                icon="el-icon-download"
+                size="mini"
+                @click="handleExport"
+                v-hasPermi="['material:asset:export']"
+              >导出
+              </el-button>
+            </el-col>
+          </el-row>
+        </div>
 
         <el-table :data="assetList"
                   @row-click="rowClick"
+                  stripe
+                  height="calc(100vh - 180px)"
                   size="mini">
           <el-table-column label="资产编号" prop="assetNumber" :show-overflow-tooltip="true"/>
           <el-table-column label="物品名称" prop="assetName" min-width="100" :show-overflow-tooltip="true"/>
@@ -296,7 +301,7 @@
             </el-form-item>
             <el-form-item label="接收人" prop="receiveUserId">
               <dept-user-tree ref="dut" :userList="userList" style="width: 200px"
-                              @selected="(val)=>transferForm.receiveUserId = val"></dept-user-tree>
+                              @selected="selectReceiveUserId"></dept-user-tree>
             </el-form-item>
             <el-form-item label="流转类型" prop="transferType">
               <el-select v-model="transferForm.transferType" style="width: 200px">
@@ -419,7 +424,7 @@ export default {
       userList: [],
       transferRules: {
         receiveUserId: [
-          {required: true, message: "接收人不能为空", trigger: "blur"}
+          {required: true, message: "接收人不能为空", trigger: "change"}
         ],
         transferType: [
           {required: true, message: "流转类型不能为空", trigger: "change"}
@@ -606,6 +611,9 @@ export default {
       })
       return typeLabel
     },
+    selectReceiveUserId(val) {
+      this.$set(this.transferForm, 'receiveUserId', val)
+    },
 
     submitTransferForm() {
       this.$refs["transferForm"].validate(valid => {

+ 7 - 4
src/views/material/officeSupply.vue

@@ -1,7 +1,8 @@
 <template>
   <div class="app-container">
+    <div class="query-container">
     <el-form :model="queryParams" ref="queryForm" size="mini" :inline="true">
-      <el-form-item label="物品名称" prop="officeSupplyName">
+      <el-form-item prop="officeSupplyName">
         <el-input
           v-model="queryParams.officeSupplyName"
           placeholder="请输入物品名称"
@@ -12,12 +13,12 @@
       <el-form-item label="只看自己" prop="self">
         <el-switch v-model="queryParams.self"></el-switch>
       </el-form-item>
-      <el-form-item label="需求月份" prop="month">
+      <el-form-item prop="month">
         <el-date-picker
           v-model="queryParams.month"
           type="month"
           value-format="yyyy-MM"
-          placeholder="选择月份"
+          placeholder="需求月份"
           clearable>
         </el-date-picker>
       </el-form-item>
@@ -51,10 +52,12 @@
         </el-button>
       </el-col>
     </el-row>
+    </div>
+
     <el-table :data="officeSupplyList"
               ref="officeSupplyList"
               stripe
-              border
+              height="calc(100vh - 180px)"
               size="mini">
       <el-table-column label="编号" prop="id" width="80"/>
       <el-table-column label="物料名称" prop="officeSupplyName" :show-overflow-tooltip="true"/>

+ 105 - 93
src/views/material/receive.vue

@@ -1,95 +1,96 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryForm" size="mini" :inline="true">
-      <el-form-item label="物料名称" prop="materialName">
-        <el-input
-          v-model="queryParams.materialName"
-          placeholder="请输入物料名称"
-          clearable
-          style="width: 240px"
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="只看自己" prop="self">
-        <el-switch v-model="queryParams.self"></el-switch>
-      </el-form-item>
-      <el-form-item label="月/周数据" prop="monthOrWeek">
-        <el-radio-group v-model="queryParams.monthOrWeek" @change="getList">
-          <el-radio-button label="1">月</el-radio-button>
-          <el-radio-button label="2">周</el-radio-button>
-        </el-radio-group>
-      </el-form-item>
-      <el-form-item label="周期" prop="recordDate">
-        <div v-if="queryParams.monthOrWeek==='1'">
-          <el-date-picker
-            v-model="queryParams.date"
-            type="month"
-            value-format="yyyy-MM"
-            placeholder="选择月份"
-            @change="handleQuery"
-            clearable>
-          </el-date-picker>
-        </div>
-        <div v-if="queryParams.monthOrWeek==='2'">
-          <el-date-picker
-            v-model="queryParams.date"
-            type="week"
-            format="yyyy 第 WW 周"
-            placeholder="选择周"
-            @change="handleQuery"
-            clearable>
-          </el-date-picker>
-        </div>
-      </el-form-item>
+    <div class="query-container">
+      <el-form :model="queryParams" ref="queryForm" size="mini" :inline="true">
+        <el-form-item prop="materialName">
+          <el-input
+            v-model="queryParams.materialName"
+            placeholder="请输入物料名称"
+            clearable
+            style="width: 200px"
+            @keyup.enter.native="handleQuery"
+          />
+        </el-form-item>
+        <el-form-item label="只看自己" prop="self">
+          <el-switch v-model="queryParams.self"></el-switch>
+        </el-form-item>
+        <el-form-item prop="monthOrWeek">
+          <el-radio-group v-model="queryParams.monthOrWeek" @change="radioChange">
+            <el-radio-button label="1">月</el-radio-button>
+            <el-radio-button label="2">周</el-radio-button>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item prop="recordDate">
+          <div v-if="queryParams.monthOrWeek==='1'">
+            <el-date-picker
+              v-model="queryParams.date"
+              type="month"
+              value-format="yyyy-MM"
+              placeholder="选择月份"
+              @change="handleQuery"
+              clearable>
+            </el-date-picker>
+          </div>
+          <div v-if="queryParams.monthOrWeek==='2'">
+            <el-date-picker
+              v-model="queryParams.date"
+              type="week"
+              format="yyyy 第 WW 周"
+              placeholder="选择周"
+              @change="handleQuery"
+              clearable>
+            </el-date-picker>
+          </div>
+        </el-form-item>
 
-      <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
-      </el-form-item>
-    </el-form>
+        <el-form-item>
+          <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+          <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+        </el-form-item>
+      </el-form>
+      <el-row :gutter="10" style="margin-bottom: 8px">
+        <el-col :span="1.5" v-if="queryParams.monthOrWeek==='1'">
+          <el-button
+            type="primary"
+            plain
+            icon="el-icon-plus"
+            size="mini"
+            @click="handleAdd"
+            v-hasPermi="['material:receive:add']"
+          >新增
+          </el-button>
+        </el-col>
+        <el-col :span="1.5" v-if="queryParams.monthOrWeek==='1'">
+          <el-button
+            type="primary"
+            plain
+            icon="el-icon-plus"
+            size="mini"
+            :disabled="addList.length===0"
+            @click="handleSplit"
+            v-hasPermi="['material:receive:add']"
+          >周数据
+          </el-button>
+        </el-col>
+        <el-col :span="1.5">
+          <el-button
+            plain
+            icon="el-icon-download"
+            size="mini"
+            @click="handleExport"
+            v-hasPermi="['material:receive:export']"
+          >导出
+          </el-button>
+        </el-col>
+      </el-row>
+    </div>
 
-    <el-row :gutter="10" style="margin-bottom: 8px">
-      <el-col :span="1.5" v-if="queryParams.monthOrWeek==='1'">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-plus"
-          size="mini"
-          @click="handleAdd"
-          v-hasPermi="['material:receive:add']"
-        >新增
-        </el-button>
-      </el-col>
-      <el-col :span="1.5" v-if="queryParams.monthOrWeek==='1'">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-plus"
-          size="mini"
-          :disabled="addList.length===0"
-          @click="handleSplit"
-          v-hasPermi="['material:receive:add']"
-        >周数据
-        </el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          plain
-          icon="el-icon-download"
-          size="mini"
-          @click="handleExport"
-          v-hasPermi="['material:receive:export']"
-        >导出
-        </el-button>
-      </el-col>
-    </el-row>
     <el-table :data="materialList"
               ref="materialList"
               stripe
-              border
-              size="mini"
+              height="calc(100vh - 180px)"
               @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="40" :selectable="selectableHandler"
+      <el-table-column type="selection" width="50" :selectable="selectableHandler"
                        v-if="queryParams.monthOrWeek==='1'"/>
       <el-table-column label="编号" prop="id" width="80"/>
       <el-table-column label="物料名称" prop="materialName" :show-overflow-tooltip="true"/>
@@ -249,8 +250,7 @@
             <el-button
               size="mini"
               icon="el-icon-delete"
-              @click="deleteRow(scope.row)"
-            >
+              @click="deleteRow(scope.row)">
             </el-button>
           </template>
         </el-table-column>
@@ -455,6 +455,10 @@ export default {
       }
       this.resetForm("editForm");
     },
+    radioChange() {
+      this.queryParams.date = undefined;
+      this.getList();
+    },
     /** 搜索按钮操作 */
     handleQuery() {
       this.queryParams.pageNum = 1;
@@ -467,15 +471,23 @@ export default {
       this.handleQuery();
     },
     handleSelectionChange(val) {
+      if (val.length === 0) {
+        this.addList = []
+        return;
+      }
       let temp = _.cloneDeep(val)
-
-      if (this.addList.length > 0) {
-        if (val.recordDate != this.addList[0].recordDate) {
-          this.$message.warning("多条数据不属于同月,请重新选择")
-          this.$refs.materialList.clearSelection()
-          this.addList = []
-          return
+      let dateArr = []
+      temp.forEach(item => {
+        if (dateArr.indexOf(item) < 0) {
+          dateArr.push(item.recordDate)
         }
+      })
+
+      if (dateArr.length > 1) {
+        this.$message.warning("多条数据不属于同月,请重新选择")
+        this.$refs.materialList.clearSelection()
+        this.addList = []
+        return
       }
 
       this.addList = temp.map(item => {

+ 64 - 50
src/views/meeting/meeting.vue

@@ -1,45 +1,55 @@
 <template>
   <div class="app-container">
-    <el-form ref="formInline" v-model="formInline" size="mini" :inline="true">
-      <el-form-item label="会议类别:">
-        <el-radio-group v-model="formInline.meetingEternal" @input="chooseMeeting()">
-          <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="会议主题:">
-        <el-input v-model="formInline.meetingName" placeholder="会议主题"></el-input>
-      </el-form-item>
-      <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.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="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>
+    <div class="query-container">
+      <el-form ref="formInline" v-model="formInline" size="mini" :inline="true">
+        <el-form-item>
+          <el-radio-group v-model="formInline.meetingEternal" @input="chooseMeeting()">
+            <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>
+          <el-input v-model="formInline.meetingName" placeholder="会议主题"></el-input>
+        </el-form-item>
+        <el-form-item>
+          <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>
+          <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="search()">查询</el-button>
+          <el-button icon="el-icon-refresh" @click="resetSearch()">重置</el-button>
+        </el-form-item>
+      </el-form>
+
+      <el-row :gutter="10" style="margin-bottom:8px">
+        <el-col :span="1.5">
+          <el-button type="success" icon="el-icon-plus" @click="createMeeting">创建会议</el-button>
+        </el-col>
+      </el-row>
+
+    </div>
+
     <el-table
       :data="tableData"
       border
       stripe
+      height="calc(100vh - 180px)"
       size="mini"
       style="width: 100%">
       <el-table-column type="index" label="序号" width="60" fixed>
       </el-table-column>
-      <el-table-column label="会议主题" prop="meetingName" >
+      <el-table-column label="会议主题" prop="meetingName">
       </el-table-column>
 
       <el-table-column label="会议地点" prop="meetingPlace" width="120">
@@ -76,11 +86,11 @@
           <div v-else>已结束</div>
         </template>
       </el-table-column>
-<!--      <el-table-column prop="createTime" label="创建时间" width="130" :v-show="false">
-        <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.createTime) }}</span>
-        </template>
-      </el-table-column>-->
+      <!--      <el-table-column prop="createTime" label="创建时间" width="130" :v-show="false">
+              <template slot-scope="scope">
+                <span>{{ parseTime(scope.row.createTime) }}</span>
+              </template>
+            </el-table-column>-->
       <el-table-column label="操作" prop="op" width="250">
         <template slot-scope="scope">
 
@@ -95,7 +105,10 @@
         </template>
       </el-table-column>
     </el-table>
-    <Pagination v-bind:child-msg="pageparm" @callFather="callFather"></Pagination>
+
+    <div style="margin-top: 10px;text-align: center">
+      <Pagination v-bind:child-msg="pageparm" @callFather="callFather"></Pagination>
+    </div>
 
     <!--编辑会议窗体-->
     <!-- 编辑界面 -->
@@ -166,15 +179,15 @@
             placeholder="选择会议结束时间" @change="chooseMeetingEndTime">
           </el-date-picker>
         </el-form-item>
-        <el-form-item label="会议时长:" >
-          <el-select v-model="editForm.duration"   placeholder="请选择会议时长" clearable @change="chooseMeetingTime">
-              <el-option label="15分钟" :value="15" key="15分钟">15分钟</el-option>
-              <el-option label="30分钟" :value="30" key="30分钟">30分钟</el-option>
-              <el-option label="45分钟" :value="45" key="45分钟">45分钟</el-option>
-              <el-option label="1小时" :value="60" key="15分钟">1小时</el-option>
-              <el-option label="2小时" :value="120" key="2小时">2小时</el-option>
-              <el-option label="3小时" :value="180" key="3小时">3小时</el-option>
-              <el-option label="其他" :value="0" key="其他">其他</el-option>
+        <el-form-item label="会议时长:">
+          <el-select v-model="editForm.duration" placeholder="请选择会议时长" clearable @change="chooseMeetingTime">
+            <el-option label="15分钟" :value="15" key="15分钟">15分钟</el-option>
+            <el-option label="30分钟" :value="30" key="30分钟">30分钟</el-option>
+            <el-option label="45分钟" :value="45" key="45分钟">45分钟</el-option>
+            <el-option label="1小时" :value="60" key="15分钟">1小时</el-option>
+            <el-option label="2小时" :value="120" key="2小时">2小时</el-option>
+            <el-option label="3小时" :value="180" key="3小时">3小时</el-option>
+            <el-option label="其他" :value="0" key="其他">其他</el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="外部参会人员:">
@@ -192,12 +205,13 @@
           </el-input>
         </el-form-item>
         <el-form-item label="记录人:" prop="recorder" :rules="[{required:true,message: '请选择会议记录人', trigger: 'change'}]">
-          <el-input size="mini" v-model="editForm.recorder" readonly="true" @keyup.enter.native="openUsers1('recorder')">
+          <el-input size="mini" v-model="editForm.recorder" readonly="true"
+                    @keyup.enter.native="openUsers1('recorder')">
             <el-button @click="openUsers1('recorder')" icon="el-icon-search" slot="append"></el-button>
           </el-input>
         </el-form-item>
         <el-form-item label="参会情况:" prop="remark" v-if="editForm.status>0">
-          <el-input  type="textarea" :rows="2" size="mini" v-model="editForm.remark"></el-input>
+          <el-input type="textarea" :rows="2" size="mini" v-model="editForm.remark"></el-input>
         </el-form-item>
         <el-form-item label="会议内容:">
           <el-table style="width: 100%" border stripe :show-header="false" :data="editForm.meetingContents">
@@ -546,7 +560,7 @@ export default {
       }
 
     },
-    submitForm() {
+    submitForm(row,str) {
       this.$refs["form"].validate((valid) => {
         if (valid) {
           let data = this.editForm;

+ 53 - 50
src/views/task/task.vue

@@ -5,58 +5,61 @@
         <project @selectProject="selectProject"></project>
       </el-col>
       <el-col :span="19" :xs="24">
-        <el-form :model="queryParams" ref="queryForm" size="mini" :inline="true">
-          <el-form-item label="执行(负责)人" prop="executors">
-            <dept-user-tree ref="dut" :userList="userList" :multiple="true"
-                            @selected="(val)=>queryParams.executors=val"></dept-user-tree>
-          </el-form-item>
-          <el-form-item label="日期选择" prop="rangeDate">
-            <el-date-picker
-              v-model="queryParams.rangeDate"
-              type="daterange"
-              value-format="yyyy-MM-dd"
-              range-separator="至"
-              start-placeholder="开始日期"
-              end-placeholder="结束日期"
-              :clearable="false"
-              style="width: 220px">
-            </el-date-picker>
-          </el-form-item>
-          <el-form-item label="状态" prop="status">
-            <el-select
-              v-model="queryParams.status"
-              placeholder="任务状态"
-              style="width: 100px">
-              <el-option
-                v-for="dict in dict.type.task_status"
-                :key="dict.value"
-                :label="dict.label"
-                :value="dict.value"
-              />
-            </el-select>
-          </el-form-item>
-          <el-form-item>
-            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
-          </el-form-item>
-        </el-form>
+        <div class="query-container">
+          <el-form :model="queryParams" ref="queryForm" size="mini" :inline="true">
+            <el-form-item label="执行(负责)人" prop="executors">
+              <dept-user-tree ref="dut" :userList="userList" :multiple="true"
+                              @selected="(val)=>queryParams.executors=val"></dept-user-tree>
+            </el-form-item>
+            <el-form-item prop="rangeDate">
+              <el-date-picker
+                v-model="queryParams.rangeDate"
+                type="daterange"
+                value-format="yyyy-MM-dd"
+                range-separator="至"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
+                clearable
+                style="width: 220px">
+              </el-date-picker>
+            </el-form-item>
+            <el-form-item prop="status">
+              <el-select
+                v-model="queryParams.status"
+                placeholder="任务状态"
+                style="width: 100px">
+                <el-option
+                  v-for="dict in dict.type.task_status"
+                  :key="dict.value"
+                  :label="dict.label"
+                  :value="dict.value"
+                />
+              </el-select>
+            </el-form-item>
+            <el-form-item>
+              <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+              <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+            </el-form-item>
+          </el-form>
 
-        <el-row :gutter="10" style="margin-bottom:8px">
-          <el-col :span="1.5">
-            <el-button
-              type="primary"
-              plain
-              icon="el-icon-plus"
-              size="mini"
-              @click="handleAdd"
-              v-hasPermi="['task:task:add']"
-            >新增任务
-            </el-button>
-          </el-col>
-        </el-row>
+          <el-row :gutter="10" style="margin-bottom:8px">
+            <el-col :span="1.5">
+              <el-button
+                type="primary"
+                plain
+                icon="el-icon-plus"
+                size="mini"
+                @click="handleAdd"
+                v-hasPermi="['task:task:add']"
+              >新增任务
+              </el-button>
+            </el-col>
+          </el-row>
+        </div>
 
         <el-table :data="taskList"
                   size="mini"
+                  height="calc(100vh - 180px)"
                   @row-click="rowClick"
                   row-key="id"
                   lazy
@@ -346,7 +349,7 @@ export default {
           {required: true, message: "起止时间不能为空", trigger: "change"}
         ],
         executor: [
-          {required: true, message: "执行人不能为空", trigger: "blur"}
+          {required: true, message: "执行人不能为空", trigger: 'change'}
         ]
       },
       auditRules: {
@@ -479,7 +482,7 @@ export default {
         child.executor = val
       }
       if (form === 'form') {
-        this.form.executor = val
+        this.$set(this.form, 'executor', val)
       }
     },
     selectCoExecutor(val) {

+ 1 - 1
src/views/task/view.vue

@@ -160,7 +160,7 @@
         <el-row :gutter="20">
           <el-col :span="12">
             <el-form-item label="进度" prop="value">
-              <el-input-number v-model="form.value" :min="1" :max="100"></el-input-number>
+              <el-input-number v-model="form.value" controls-position="left" :min="1" :max="100"></el-input-number><span>%</span>
             </el-form-item>
           </el-col>
           <el-col :span="12">