humingbo 2 vuotta sitten
vanhempi
commit
796fb18678

+ 1 - 1
src/router/index.js

@@ -48,7 +48,7 @@ export const constantRoutes = [
     redirect: '/dashboard',
     children: [{
       path: 'dashboard',
-      name: 'Dashboard',
+      name: '我的工作台',
       component: () => import('@/views/dashboard/index'),
       meta: {title: '我的工作台', icon: 'dashboard'}
     }]

+ 7 - 0
src/views/dashboard/index.vue

@@ -431,6 +431,13 @@ export default {
     },
     submitEnforceForm() {
       let data = this.enforceForm;
+      if(data.director==='' || data.remark===null || data.remark===''){
+        this.$message({
+          message: '请将表单信息填写完整!',
+          type: 'warning'
+        });
+        return
+      }
 
       completeTask(data).then(res => {
         this.$message({

+ 63 - 41
src/views/meeting/meeting.vue

@@ -41,7 +41,25 @@
       </el-table-column>
       <el-table-column label="会议主题" prop="meetingName" fixed>
       </el-table-column>
-      <el-table-column label="会议类型" prop="meetingType" width="80" fixed>
+
+      <el-table-column label="会议地点" prop="meetingPlace" width="120">
+      </el-table-column>
+      <el-table-column prop="address" label="参会人员" :show-overflow-tooltip="true">
+        <template slot-scope="scope">
+          <span>{{ scope.row.outAttendees }}</span>
+          <span v-if="scope.row.outAttendees!=''">、</span>
+          <span v-for="(item,index) in JSON.parse(scope.row.innerAttendees) ">
+             <template v-if="index > 0">,</template>
+             <span>{{ item.name }}</span>
+           </span>
+        </template>
+      </el-table-column>
+      <el-table-column prop="name" label="会议时间" width="240">
+        <template slot-scope="scope">
+          <div>{{ parseTime(scope.row.beginTime) }}——{{ parseTime(scope.row.endTime) }}</div>
+        </template>
+      </el-table-column>
+      <el-table-column label="会议类型" prop="meetingType" width="80">
         <template slot-scope="scope">
           <!--会议类型(1-周例会,2-项目会议,3-实施会议,4-其他会议)-->
           <div v-if="scope.row.meetingType===1">周例会</div>
@@ -50,8 +68,6 @@
           <div v-else>其他会议</div>
         </template>
       </el-table-column>
-      <el-table-column label="会议地点" prop="meetingPlace" width="120">
-      </el-table-column>
       <el-table-column prop="status" label="会议状态" width="80">
         <template slot-scope="scope">
           <!--会议状态,0待开始,1进行中,2已结束-->
@@ -60,21 +76,6 @@
           <div v-else>已结束</div>
         </template>
       </el-table-column>
-      <el-table-column prop="name" label="会议时间" width="240">
-        <template slot-scope="scope">
-          <div>{{ parseTime(scope.row.beginTime) }}——{{ parseTime(scope.row.endTime) }}</div>
-        </template>
-      </el-table-column>
-      <el-table-column prop="address" label="参会人员" :show-overflow-tooltip="true">
-        <template slot-scope="scope">
-          <span>{{ scope.row.outAttendees }}</span>
-          <span v-if="scope.row.outAttendees!=''">、</span>
-          <span v-for="(item,index) in JSON.parse(scope.row.innerAttendees) ">
-             <template v-if="index > 0">,</template>
-             <span>{{ item.name }}</span>
-           </span>
-        </template>
-      </el-table-column>
       <el-table-column prop="createTime" label="创建时间" width="130">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.createTime) }}</span>
@@ -99,8 +100,8 @@
     <el-dialog :title="title" :visible.sync="editFormVisible" width="950px" @click="closeDialog"
                :close-on-click-modal="false">
       <el-form label-width="120px" ref="form" size="mini" :model="editForm">
-        <el-form-item label="会议主题:">
-          <el-input v-model="editForm.meetingName"></el-input>
+        <el-form-item label="会议主题:" prop="meetingName" :rules="[{required:true,message: '请输入会议主题', trigger: 'blur'}]">
+          <el-input v-model="editForm.meetingName" ></el-input>
         </el-form-item>
         <el-form-item label="会议类别:">
           <el-radio-group v-model="editForm.external">
@@ -110,7 +111,7 @@
         </el-form-item>
         <el-row :gutter="10">
           <el-col :span="12">
-            <el-form-item label="会议类型:">
+            <el-form-item label="会议类型:" prop="meetingType" :rules="[{required:true,message: '请选择会议类型', trigger: 'blur'}]">
               <el-select v-model="editForm.meetingType" placeholder="会议类型" clearable>
                 <el-option label="周例会" :value="1" key="周例会">周例会</el-option>
                 <el-option label="项目会议" :value="2" key="项目会议">项目会议</el-option>
@@ -120,7 +121,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="关联项目" v-if="editForm.meetingType===2">
+            <el-form-item label="关联项目" v-if="editForm.meetingType===2" prop="projectId" :rules="[{required:true,message: '请选择项目', trigger: 'change'}]">
               <el-select
                 v-model="editForm.projectId"
                 clearable
@@ -130,10 +131,10 @@
             </el-form-item>
           </el-col>
         </el-row>
-        <el-form-item label="会议地点:">
+        <el-form-item label="会议地点:" prop="meetingPlace" :rules="[{required:true,message: '请输入会议地点', trigger: 'blur'}]">
           <el-input size="mini" v-model="editForm.meetingPlace"></el-input>
         </el-form-item>
-        <el-form-item label="会议时间:">
+        <el-form-item label="会议时间:" prop="time" :rules="[{required:true,message: '请选择会议时间', trigger: 'blur'}]">
           <el-date-picker
             v-model="editForm.time"
             value-format="yyyy-MM-dd HH:mm:ss"
@@ -147,26 +148,26 @@
         <el-form-item label="外部参会人员:">
           <el-input size="mini" v-model="editForm.outAttendees"></el-input>
         </el-form-item>
-        <el-form-item label="内部参会人员:">
+        <el-form-item label="内部参会人员:" prop="innerAttendUsers" :rules="[{required:true,message: '请选择参会人员', trigger: 'change'}]">
           <el-input size="mini" v-model="editForm.innerAttendUsers" readonly="true" @keyup.enter.native="openUsers()">
             <el-button @click="openUsers" icon="el-icon-search" slot="append"></el-button>
           </el-input>
         </el-form-item>
-        <el-form-item label="主持人:">
+        <el-form-item label="主持人:" prop="emcee" :rules="[{required:true,message: '请选择会议主持人', trigger: 'change'}]">
           <el-input size="mini" v-model="editForm.emcee" readonly="true" @keyup.enter.native="openUsers1('emcee')">
             <el-button @click="openUsers1('emcee')" icon="el-icon-search" slot="append"></el-button>
           </el-input>
         </el-form-item>
-        <el-form-item label="记录人:">
+        <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-button @click="openUsers1('recorder')" icon="el-icon-search" slot="append"></el-button>
           </el-input>
         </el-form-item>
-        <el-form-item label="参会情况:">
+        <el-form-item label="参会情况:" prop="remark" :rules="[{required:true,message: '请输入参会情况', trigger: 'blur'}]">
           <el-input size="mini" v-model="editForm.remark"></el-input>
         </el-form-item>
-        <el-form-item label="会议内容:">
+        <el-form-item label="会议内容:" >
           <el-table
             style="width: 100%" border stripe :show-header="false" :data="editForm.meetingContents">
             <el-table-column type="index" label="序号" width="40">
@@ -258,12 +259,12 @@
         <el-table-column label="会议内容" prop="content"></el-table-column>
         <el-table-column label="会议问题" prop="question">
           <template slot-scope="scope">
-            <el-input size="mini" v-model="scope.row.question" type="textarea" autosize></el-input>
+            <el-input size="mini" v-model="scope.row.question" type="textarea" :autosize="{ minRows: 4, maxRows: 10}"></el-input>
           </template>
         </el-table-column>
         <el-table-column label="会议方案" prop="optionss">
           <template slot-scope="scope">
-            <el-input size="mini" v-model="scope.row.optionss" type="textarea" autosize></el-input>
+            <el-input size="mini" v-model="scope.row.optionss" type="textarea" :autosize="{ minRows: 4, maxRows: 10}"></el-input>
           </template>
 
         </el-table-column>
@@ -500,19 +501,30 @@ export default {
         return;
       }
       this.editForm.meetingContents.splice(index, 1)
-      deleteMeetingContentById(row.id).then(res => {
-      });
+      if(row.id!==undefined){
+        deleteMeetingContentById(row.id).then(res => {
+        });
+      }
+
     },
     submitForm() {
-      let data = this.editForm;
-      addMeeting(data).then(response => {
-        this.$message({
-          message: '操作成功!',
-          type: 'success'
-        });
-        this.closeDialog();
-        this.getData(this.formInline);
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          let data = this.editForm;
+          addMeeting(data).then(response => {
+            this.$message({
+              message: '操作成功!',
+              type: 'success'
+            });
+            this.closeDialog();
+            this.getData(this.formInline);
+          });
+        } else {
+          return false;
+        }
       });
+
+
     },
     resetSearch() {
       this.formInline = {
@@ -729,6 +741,16 @@ export default {
     },
     submitMeetingOptionsForm() {
       let data = this.pro.meetingContents;
+      for (let i = 0; i < data.length; i++) {
+        let t = data[i];
+        if(t.question==='' || t.optionss==='' || t.executorName==='' || t.times===''){
+          this.$message({
+            message: '请将信息填写完整!',
+            type: 'warning'
+          });
+          return
+        }
+      }
       saveMeetingOptionss(data).then(res => {
         this.$message({
           message: '操作成功!',

+ 7 - 0
src/views/meeting/weekly.vue

@@ -177,6 +177,13 @@ export default {
 
       let workPlanss = this.workPlans;
       for (let i = 0; i < workPlanss.length; i++) {
+        if(workPlanss[i].planContent==='' || workPlanss[i].completionTimes===''){
+          this.$message({
+            message: '请将工作计划填写完整!',
+            type: 'warning'
+          });
+          return
+        }
         workPlanss[i].completionTime = null;
       }
       let data = {

+ 0 - 1
src/views/workbench/workbench.vue

@@ -355,7 +355,6 @@ export default {
     },
     submitEnforceForm(){
       let data=this.enforceForm;
-
       completeTask(data).then(res =>{
         this.$message({
           message: '操作成功!',