Parcourir la source

活动申请预算经费是否超出功能

Q-ABAB il y a 2 ans
Parent
commit
44ee32a945

+ 5 - 5
src/views/activityManage/makerActvityApply.vue

@@ -35,7 +35,7 @@
                       <div class="selectLeft">
                           <div class="inpBlock">
                               <div class="label">所属项目</div>
-                              <el-select v-model="data.select.pid" style="width: 100%;" placeholder="请选择">
+                              <el-select v-model="data.select.pid" @change="checkProjectMoney(data.select.pid,data.select.fund)" style="width: 100%;" placeholder="请选择">
                                 <el-option
                                   v-for="item in data.project"
                                   :key="item.courseId"
@@ -46,7 +46,7 @@
                           </div>
                           <div class="inpBlock">
                               <div class="label">预算经费</div>
-                              <el-input type="number" v-model.number="data.select.fund" placeholder="请输入内容"></el-input>
+                              <el-input type="number" v-model.number="data.select.fund" @blur="checkProjectMoney(data.select.pid,data.select.fund)" placeholder="请输入内容"></el-input>
                               <div style="position: absolute;right: -30px;top: 10px;">(元)</div>
                           </div>
                           <div class="inpBlock">
@@ -235,7 +235,7 @@
   
   <script>
       export default {
-        props:["next","data","checkPhone"],
+        props:["next","data","checkPhone","checkProjectMoney"],
         data() {
           return {
             addMemberDialog:false,
@@ -302,7 +302,6 @@
             this.DelTeacherDialog = true;
           },
           DelTeacherYes(){
-            // console.log(this.delTeacherTable)
             this.data.select.teacher.splice(this.delTeacherTable["index"],1);
             this.DelTeacherDialog = false;
             this.$message.success("删除成功")
@@ -317,7 +316,8 @@
             }else if(val==4){
               document.getElementById("f").scrollIntoView({ behavior: "smooth" });
             }
-          }
+          },
+
         },
       }
   </script>

+ 41 - 16
src/views/activityManage/makerActvityApplyMain.vue

@@ -1,7 +1,7 @@
 <template>
     <!-- 创客创新-活动申请 -->
   <div class="core_dialogue">
-        <makerActvityApply :data="makerActvityApplyData" :checkPhone="checkPhone"  :next="next"  v-if="status==0" />
+        <makerActvityApply :data="makerActvityApplyData" :checkProjectMoney="checkProjectMoney" :checkPhone="checkPhone"  :next="next"  v-if="status==0" />
         <makerActvityApply2 :data="makerActvityApply2Data" :activityName="makerActvityApplyData.select.activityName" :check="check" :submit="submit" :back="back" v-if="status==1" />
   </div>
 </template>
@@ -94,18 +94,18 @@ import makerActvityApply2 from './makerActvityApply2.vue';
                 const cEmpty = /^\s*$/g;
                 for(let i in checkData){
                     switch(i){
-                        case "0":
-                            if(cEmpty.test(checkData[i]))return this.$message.error("活动计划不能为空");
-                            break;
-                        case "1":
-                            if(cEmpty.test(checkData[i]))return this.$message.error("预期目标不能为空");
-                            break;
-                        case "2":
-                            if(cEmpty.test(checkData[i]))return this.$message.error("活动受面不能为空");
-                            break;
-                        case "3":
-                            if(cEmpty.test(checkData[i]))return this.$message.error("经费支出计划不能为空");
-                            break;
+                        // case "0":
+                        //     if(cEmpty.test(checkData[i]))return this.$message.error("活动计划不能为空");
+                        //     break;
+                        // case "1":
+                        //     if(cEmpty.test(checkData[i]))return this.$message.error("预期目标不能为空");
+                        //     break;
+                        // case "2":
+                        //     if(cEmpty.test(checkData[i]))return this.$message.error("活动受面不能为空");
+                        //     break;
+                        // case "3":
+                        //     if(cEmpty.test(checkData[i]))return this.$message.error("经费支出计划不能为空");
+                        //     break;
                         case "activityName":
                             if(cEmpty.test(checkData[i]))return this.$message.error("活动名称不能为空");
                             break;
@@ -132,9 +132,9 @@ import makerActvityApply2 from './makerActvityApply2.vue';
                         case "value":
                             if(cEmpty.test(checkData[i]))return this.$message.error("请选择所在部门");
                             break;
-                        case "introduce":
-                            if(cEmpty.test(checkData[i]))return this.$message.error("活动介绍不能为空");
-                            break;
+                        // case "introduce":
+                        //     if(cEmpty.test(checkData[i]))return this.$message.error("活动介绍不能为空");
+                        //     break;
                     }
                 }
                 return 1;
@@ -147,7 +147,32 @@ import makerActvityApply2 from './makerActvityApply2.vue';
                     return false;
                 }
                 return true;
+            },
+            checkProjectMoney(pid,aMoney){
+                console.log(1111)
+            if(aMoney==0){
+              return 1;
+            }else if(/^\s*$/g.test(pid) && aMoney!=0){
+              this.makerActvityApplyData.select.fund = 0;
+              return this.$message.info("请先选择所属项目");
+            } else if(!/^\s*$/g.test(pid) && aMoney!=0){
+              this.ajax.get(this.$store.state.api+"/GetAllActivityMoneyByProjectId",{
+                uid:this.$store.state.userInfo.userid,
+                projectid:pid
+              }).then(res=>{
+                let PMoney = res.data[0][0]['PMoney'];
+                let AMoney = res.data[1][0]["AMoney"];
+                if(PMoney<(AMoney+aMoney)){
+                    this.makerActvityApplyData.select.fund = PMoney-AMoney;
+                    return this.$message.warning(`项目预算不足,项目预算只剩:${PMoney-AMoney}`);
+                }else{
+                  return 1;
+                }
+              }).catch(err=>{
+                console.log(err)
+              })
             }
+          }
         },
         mounted() {
             //获取部门

+ 21 - 21
src/views/activityManage/makerActvityDetails.vue

@@ -464,24 +464,24 @@ export default {
         const cEmpty = /^\s*$/g;
         for(let i in checkData){
             switch(i){
-                case "chapters":
-                  for(let a in checkData[i]){
-                    switch(a){
-                        case "0":
-                          if(cEmpty.test(checkData[i][a]))return this.$message.error("活动计划不能为空");  
-                          break;
-                        case "1":
-                          if(cEmpty.test(checkData[i][a]))return this.$message.error("预期目标不能为空");
-                          break;
-                        case "2":
-                          if(cEmpty.test(checkData[i][a]))return this.$message.error("活动受面不能为空");
-                          break;
-                        case "3":
-                          if(cEmpty.test(checkData[i][a]))return this.$message.error("经费支出计划不能为空");
-                          break;
-                    }
-                  }
-                    break;
+                // case "chapters":
+                //   for(let a in checkData[i]){
+                //     switch(a){
+                //         case "0":
+                //           if(cEmpty.test(checkData[i][a]))return this.$message.error("活动计划不能为空");  
+                //           break;
+                //         case "1":
+                //           if(cEmpty.test(checkData[i][a]))return this.$message.error("预期目标不能为空");
+                //           break;
+                //         case "2":
+                //           if(cEmpty.test(checkData[i][a]))return this.$message.error("活动受面不能为空");
+                //           break;
+                //         case "3":
+                //           if(cEmpty.test(checkData[i][a]))return this.$message.error("经费支出计划不能为空");
+                //           break;
+                //     }
+                //   }
+                //     break;
                 case "title":
                     if(cEmpty.test(checkData[i]))return this.$message.error("活动名称不能为空");
                     break;
@@ -508,9 +508,9 @@ export default {
                 case "classid":
                     if(cEmpty.test(checkData[i]))return this.$message.error("请选择所在部门");
                     break;
-                case "brief":
-                    if(cEmpty.test(checkData[i]))return this.$message.error("活动介绍不能为空");
-                    break;
+                // case "brief":
+                //     if(cEmpty.test(checkData[i]))return this.$message.error("活动介绍不能为空");
+                //     break;
             }
         }
         return 1;