|
@@ -1,29 +1,41 @@
|
|
|
<template>
|
|
|
<!-- 测试上传组件 -->
|
|
|
- <div v-loading="loading" id="test">
|
|
|
- <div id="word">
|
|
|
+ <div v-loading="loading">
|
|
|
+ <div class="pAHeader">
|
|
|
+ <div class="pAHeader1">创客项目申请</div>
|
|
|
+ </div>
|
|
|
+ <hr>
|
|
|
+
|
|
|
<!-- 学生项目立项 -->
|
|
|
- <studentProjectWord />
|
|
|
-
|
|
|
-
|
|
|
+ <studentProjectWord :wordData="wordData"/>
|
|
|
+ <div style="width: 300px;margin: 20px auto;display: flex;justify-content: space-between;">
|
|
|
+ <el-button style="width: 120px;margin: 20px auto;" @click="test" type="primary">提交项目</el-button>
|
|
|
+ </div>
|
|
|
|
|
|
- <!-- 创客专项资金及项目申请表(创客活动) -->
|
|
|
- <!-- <markeractivityWord/> -->
|
|
|
- </div>
|
|
|
-
|
|
|
+ <el-dialog
|
|
|
+ title="提示"
|
|
|
+ :visible.sync="submitHint"
|
|
|
+ width="600px"
|
|
|
+ class="pageSubmitData">
|
|
|
+ <div class="addDialogLogo">LOGO</div>
|
|
|
+ <div class="deleteContent">确定提交“{{wordData['projectName']}}”项目立项?</div>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button type="primary" @click="submitWord" class="AllDialogBtn">确认提交</el-button>
|
|
|
+ <el-button @click="submitHint=false" class="AllDialogBtn">取消</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
// import MakerSpaceWord from '../components/MakerSpaceWord.vue'
|
|
|
- import BeUpload from "@/components/tool/beUpload.vue";
|
|
|
- import getExcel from "@/components/tool/getExcel";
|
|
|
+ import getProjectNo from '@/components/tool/getProjectNo';
|
|
|
+ import {getNowDate} from '@/components/tool/Date.js'
|
|
|
import studentProjectWord from '@/components/studentProjectWord.vue'
|
|
|
import markerFundWord from '@/components/markerFundWord.vue';
|
|
|
import markeractivityWord from '@/components/markeractivityWord.vue';
|
|
|
export default {
|
|
|
components: {
|
|
|
- BeUpload,
|
|
|
studentProjectWord,
|
|
|
markerFundWord,
|
|
|
markeractivityWord
|
|
@@ -32,36 +44,260 @@
|
|
|
return {
|
|
|
accept: "*",
|
|
|
loading:false,
|
|
|
-
|
|
|
+ submitHint:false,
|
|
|
+ wordData:{
|
|
|
+ applicationDate:getNowDate(1),//申请日期
|
|
|
+ projectName:'',
|
|
|
+ radio: '',
|
|
|
+ checkList:[],
|
|
|
+ schoolRadio:'',
|
|
|
+ applyParsonRadio:'',
|
|
|
+ applyParsonName:'',
|
|
|
+ college:'',
|
|
|
+ tel:'16625153232',
|
|
|
+ beginTime:'',
|
|
|
+ endTime:'',
|
|
|
+ studentS:[
|
|
|
+ {name:'',collage:'',work:''},
|
|
|
+ {name:'',collage:'',work:''},
|
|
|
+ {name:'',collage:'',work:''},
|
|
|
+ {name:'',collage:'',work:''},
|
|
|
+ {name:'',collage:'',work:''},
|
|
|
+ {name:'',collage:'',work:''},
|
|
|
+ ],
|
|
|
+ teacherS:[
|
|
|
+ {name:'',collage:'',work:''},
|
|
|
+ {name:'',collage:'',work:''},
|
|
|
+ ],
|
|
|
+ brief:'',
|
|
|
+ introduce:{
|
|
|
+ back:'',
|
|
|
+ innovate:'',
|
|
|
+ path:'',
|
|
|
+ scene:'',
|
|
|
+ worth:'',
|
|
|
+ team:'',
|
|
|
+ cost:'',
|
|
|
+ expectResults:'',
|
|
|
+ expectResultsTeacher:'',
|
|
|
+ expectConversion:'',
|
|
|
+ plan:''
|
|
|
+ },
|
|
|
+ total:'',
|
|
|
+ fund:{
|
|
|
+ facility:'',
|
|
|
+ materials:'',
|
|
|
+ process:'',
|
|
|
+ assist:'',
|
|
|
+ authenticate:'',
|
|
|
+ match:'',
|
|
|
+ activity:'',
|
|
|
+ affair:''
|
|
|
+ }
|
|
|
+ }
|
|
|
};
|
|
|
},
|
|
|
- methods: {
|
|
|
- getFile(val) {
|
|
|
- console.log(val);
|
|
|
+ methods:{
|
|
|
+ test(){
|
|
|
+ const cEmpty = /^\s*$/g;
|
|
|
+ for (let i in this.wordData){
|
|
|
+ // console.log(this.wordData[i],i);
|
|
|
+ switch(i){
|
|
|
+ case 'projectName':
|
|
|
+ if (cEmpty.test(this.wordData[i])) {
|
|
|
+ this.$message.error('请输入项目名称')
|
|
|
+ // this.$refs.projectName.style.background='rgb(236, 141, 141)'
|
|
|
+ // setTimeout(() => {
|
|
|
+ // this.$refs.projectName.style.background='#ffffff'
|
|
|
+ // }, 2000);
|
|
|
+ document.querySelector('#projectName').scrollIntoView({ behavior: "smooth" });
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 'radio':
|
|
|
+ if (cEmpty.test(this.wordData[i])) {
|
|
|
+ this.$message.error('请选择项目分组')
|
|
|
+ document.querySelector('#radio').scrollIntoView({ behavior: "smooth" });
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 'checkList':
|
|
|
+ if (this.wordData[i].length==0) {
|
|
|
+ this.$message.error('优先支持项目')
|
|
|
+ document.querySelector('#checkList').scrollIntoView({ behavior: "smooth" });
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 'schoolRadio':
|
|
|
+ if (cEmpty.test(this.wordData[i])) {
|
|
|
+ this.$message.error('请选择美丽校园改造项目')
|
|
|
+ document.querySelector('#schoolRadio').scrollIntoView({ behavior: "smooth" });
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 'applyParsonRadio':
|
|
|
+ if (cEmpty.test(this.wordData[i])) {
|
|
|
+ this.$message.error('请选择项目申请人')
|
|
|
+ document.querySelector('#applyParsonRadio').scrollIntoView({ behavior: "smooth" });
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 'applyParsonName':
|
|
|
+ if (cEmpty.test(this.wordData[i])) {
|
|
|
+ this.$message.error('请填写申请人姓名')
|
|
|
+ document.querySelector('#applyParsonName').scrollIntoView({ behavior: "smooth" });
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 'college':
|
|
|
+ if (cEmpty.test(this.wordData[i])) {
|
|
|
+ this.$message.error('请选择所在学院')
|
|
|
+ document.querySelector('#applyParsonName').scrollIntoView({ behavior: "smooth" });
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 'tel':
|
|
|
+ if (cEmpty.test(this.wordData[i])) {
|
|
|
+ this.$message.error('请填写联系方式')
|
|
|
+ document.querySelector('#applyParsonName').scrollIntoView({ behavior: "smooth" });
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 'beginTime':
|
|
|
+ if (cEmpty.test(this.wordData[i])) {
|
|
|
+ this.$message.error('请选择项目起始时间')
|
|
|
+ document.querySelector('#beginTime').scrollIntoView({ behavior: "smooth" });
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 'endTime':
|
|
|
+ if (cEmpty.test(this.wordData[i])) {
|
|
|
+ this.$message.error('请选择计划完成时间')
|
|
|
+ document.querySelector('#beginTime').scrollIntoView({ behavior: "smooth" });
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 'studentS':
|
|
|
+ let snum = 0;
|
|
|
+ this.wordData[i].forEach(item=>{
|
|
|
+ for(let j in item){
|
|
|
+ if(cEmpty.test(item[j])){
|
|
|
+ snum++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if(snum>0){
|
|
|
+ this.$message.error("请填完学生信息");
|
|
|
+ document.querySelector('#studentS').scrollIntoView({ behavior: "smooth" });
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ // }
|
|
|
+ break;
|
|
|
+ case 'teacherS':
|
|
|
+ let num = 0;
|
|
|
+ this.wordData[i].forEach(item=>{
|
|
|
+ for(let j in item){
|
|
|
+ if(cEmpty.test(item[j])){
|
|
|
+ num++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if(num>0){
|
|
|
+ this.$message.error("请填完老师信息");
|
|
|
+ document.querySelector('#teacherS').scrollIntoView({ behavior: "smooth" });
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 'brief':
|
|
|
+ if (cEmpty.test(this.wordData[i])) {
|
|
|
+ this.$message.error('请填写项目简介')
|
|
|
+ // this.$refs.brief.style.background='rgb(236, 141, 141)'
|
|
|
+ // setTimeout(() => {
|
|
|
+ // this.$refs.brief.style.background='#ffffff'
|
|
|
+ // }, 2000);
|
|
|
+ document.querySelector('#brief').scrollIntoView({ behavior: "smooth" });
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 'fund':
|
|
|
+ let mon=this.wordData.fund.facility*1 + this.wordData.fund.materials*1+this.wordData.fund.process*1+ this.wordData.fund.assist*1+this.wordData.fund.authenticate*1+ this.wordData.fund.match*1+this.wordData.fund.activity*1+this.wordData.fund.affair*1
|
|
|
+ if(mon==0){
|
|
|
+ document.querySelector('#fund').scrollIntoView({ behavior: "smooth" });
|
|
|
+ return this.$message.error('请输入经费')
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.wordData['total']=this.wordData.fund.facility*1 + this.wordData.fund.materials*1+this.wordData.fund.process*1+ this.wordData.fund.assist*1+this.wordData.fund.authenticate*1+ this.wordData.fund.match*1+this.wordData.fund.activity*1+this.wordData.fund.affair*1
|
|
|
+
|
|
|
+ this.submitHint=true;
|
|
|
},
|
|
|
- Excel(){
|
|
|
- getExcel("数据")
|
|
|
+
|
|
|
+ submitWord(){
|
|
|
+ // let pram = {
|
|
|
+ // uid:this.$store.state.userInfo.userid,//用户ID
|
|
|
+ // // pNo:result,//项目编号
|
|
|
+ // tit:this.wordData['projectName'],//项目名称
|
|
|
+ // radio:this.wordData['radio'],//项目分组
|
|
|
+ // checkList:JSON.stringify(this.wordData['checkList']),//优先支持项目
|
|
|
+ // schoolRadio:this.wordData['schoolRadio'],//美丽校园改造项目
|
|
|
+ // applyParsonRadio:this.wordData['applyParsonRadio'],//项 目 申 请 人
|
|
|
+ // applyParsonName:this.wordData['applyParsonName'],//申请人姓名
|
|
|
+ // cid:this.wordData['college'],//学院ID,
|
|
|
+ // tel:this.wordData['tel'],//联系电话
|
|
|
+ // beh:this.wordData['beginTime'],//项目开始时间,
|
|
|
+ // planEnd:this.wordData['endTime'],//计划完成时间,
|
|
|
+ // cs:JSON.stringify(this.wordData['studentS']),//学生组,
|
|
|
+ // ct:JSON.stringify(this.wordData['teacherS']),//教师组,
|
|
|
+ // bf:this.wordData['brief'],//项目简介
|
|
|
+ // introduce:this.wordData['introduce'],//项目详细
|
|
|
+ // mon:JSON.stringify(this.wordData['fund']),//预算经费
|
|
|
+ // f:this.wordData['total'],//总经费
|
|
|
+ // apply:this.wordData['applicationDate'],//申请日期
|
|
|
+ // }
|
|
|
+ // return console.log(pram);
|
|
|
+ getProjectNo("XM").then((result)=>{
|
|
|
+ let pram = {
|
|
|
+ uid:this.$store.state.userInfo.userid,//用户ID
|
|
|
+ pNo:result,//项目编号
|
|
|
+ tit:this.wordData['projectName'],//项目名称
|
|
|
+ radio:this.wordData['radio'],//项目分组
|
|
|
+ checkList:JSON.stringify(this.wordData['checkList']),//优先支持项目
|
|
|
+ schoolRadio:this.wordData['schoolRadio'],//美丽校园改造项目
|
|
|
+ applyParsonRadio:this.wordData['applyParsonRadio'],//项 目 申 请 人
|
|
|
+ applyParsonName:this.wordData['applyParsonName'],//申请人姓名
|
|
|
+ cid:this.wordData['college'],//学院ID,
|
|
|
+ tel:this.wordData['tel'],//联系电话
|
|
|
+ beh:this.wordData['beginTime'],//项目开始时间,
|
|
|
+ planEnd:this.wordData['endTime'],//计划完成时间,
|
|
|
+ cs:JSON.stringify(this.wordData['studentS']),//学生组,
|
|
|
+ ct:JSON.stringify(this.wordData['teacherS']),//教师组,
|
|
|
+ bf:this.wordData['brief'],//项目简介
|
|
|
+ introduce:this.wordData['introduce'],//项目详细
|
|
|
+ mon:JSON.stringify(this.wordData['fund']),//预算经费
|
|
|
+ f:this.wordData['total'],//总经费
|
|
|
+ apply:this.wordData['applicationDate'],//申请日期
|
|
|
+ }
|
|
|
+ console.log(pram);
|
|
|
+ this.ajax
|
|
|
+ .post(this.$store.state.api+'/studentProjectWordApply',pram)
|
|
|
+ .then(result=>{
|
|
|
+ if(result['data']==1){
|
|
|
+ this.$message.success("项目提交成功");
|
|
|
+ this.$router.push('/projectApplication')
|
|
|
+ }else{
|
|
|
+ this.$message.error("项目提交失败");
|
|
|
+ }
|
|
|
+ }).catch(err=>{
|
|
|
+ console.log(err);
|
|
|
+ })
|
|
|
+ })
|
|
|
}
|
|
|
- },
|
|
|
+ }
|
|
|
};
|
|
|
</script>
|
|
|
|
|
|
<style lang="less" scoped>
|
|
|
- #test{
|
|
|
- // width: 100vw;
|
|
|
- display: flex;
|
|
|
- justify-content: center;
|
|
|
- }
|
|
|
- #word{
|
|
|
- width: 1550px;
|
|
|
- height: auto;
|
|
|
- }
|
|
|
- //去除input number样式
|
|
|
- input::-webkit-outer-spin-button,
|
|
|
- input::-webkit-inner-spin-button {
|
|
|
- -webkit-appearance: none;
|
|
|
- }
|
|
|
- input[type="number"]{
|
|
|
- -moz-appearance: textfield;
|
|
|
- }
|
|
|
+
|
|
|
+
|
|
|
</style>
|