yuanyiming 2 tahun lalu
induk
melakukan
b27182e778

+ 1 - 0
src/config/config.js

@@ -6,6 +6,7 @@ Vue.use(Vuex)
 
 const store = new Vuex.Store({
     state: {
+        // pid:'',  //项目id
         isLogin: false,
         luyou: 1,
         userInfo: {

+ 152 - 81
src/views/projectApply/projectApplication.vue

@@ -11,60 +11,59 @@
     <div class="selects">
       <div class="selectsBlock">
         <div class="selectLabel">项目筛选</div>
-        <el-select v-model="selectInp.filter" placeholder="我的项目">
-          <el-option label="所有项目" :value="0"></el-option>
+        <el-select v-model="selectInp.filter" @change="getData" placeholder="我的项目">
+          <el-option label="所有项目"  :value="0"></el-option>
           <el-option
             v-for="item in options.projectFilter"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value">
+            :key="item.courseId"
+            :label="item.title"
+            :value="item.courseId">
           </el-option>
         </el-select>
       </div>
 
       <div class="selectsBlock">
         <div class="selectLabel">部门</div>
-        <el-select v-model="selectInp.department" placeholder="请选择">
+        <el-select v-model="selectInp.department" @change="getData" placeholder="请选择">
           <el-option label="所有部门" :value="0"></el-option>
           <el-option
             v-for="item in options.department"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value">
+            :key="item.classid"
+            :label="item.name"
+            :value="item.classid">
           </el-option>
         </el-select>
       </div>
 
       <div class="selectsBlock">
         <div class="selectLabel">分类</div>
-        <el-select v-model="selectInp.sort" placeholder="请选择">
+        <el-select v-model="selectInp.sort" @change="getData" placeholder="请选择">
           <el-option label="所有分类" :value="0"></el-option>
           <el-option
             v-for="item in options.sort"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value">
+            :key="item.typeid"
+            :label="item.name"
+            :value="item.typeid">
           </el-option>
         </el-select>
       </div>
 
       <div class="selectsBlock">
         <div class="selectLabel">负责人</div>
-        <el-select v-model="selectInp.person" placeholder="请选择">
+        <el-select v-model="selectInp.person" @change="getData" placeholder="请选择">
           <el-option label="所有负责人" :value="''"></el-option>
           <el-option
-            v-for="item in options.person"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value">
+            v-for="(item,index) in options.person"
+            :key="index"
+            :label="item.pro_leader"
+            :value="item.pro_leader">
           </el-option>
         </el-select>
       </div>
 
       <div class="selectsBlock">
         <div class="selectLabel">状态</div>
-        <el-select v-model="selectInp.state" placeholder="请选择">
-          <el-option label="全部状态" :value="99"></el-option>
+        <el-select v-model="selectInp.state" @change="getData" placeholder="请选择">
           <el-option
             v-for="item in options.state"
             :key="item.value"
@@ -114,7 +113,7 @@
         </el-table-column>
         <el-table-column
           prop="money"
-          label="预算"
+          label="预算(万)"
           align="center"
           min-width="6%">
         </el-table-column>
@@ -135,12 +134,15 @@
           label="状态"
           align="center"
           min-width="6%">
-          <!-- <template #default="scope"> -->
+          <template #default="scope">
                 <div>
                     <!-- {{scope.row.name + (scope.row.status==0?"":"(已屏蔽)")}} -->
-                    {{ status==-1?"未审核" :status ? "已审核" : "撤回中"  }}
+                    <!-- {{ (scope.row.isupload==0?"未审核": scope.row.data==1?"正在审核":"已审核")  }} -->
+                    <span v-if="scope.row.isupload==0">未审核</span>
+                    <span v-if="scope.row.isupload==1">审核中</span>
+                    <span v-if="scope.row.isupload==2">已审核</span>
                 </div>
-            <!-- </template> -->
+            </template>
         </el-table-column>
         <el-table-column
           prop="operation"
@@ -152,10 +154,15 @@
               <div class="operations">
                   <!-- <el-button type="primary" > -->
                     <!-- <el-link class="btt" type="primary" :underline="false"> -->
-                        <el-button type="primary"  size="mini" @click="paApply">查看详情</el-button>
-                        <el-button type="primary"  size="mini" @click="audit">{{(status==-1?"审核": status?"撤回":"审核")}}</el-button>
+                        <el-button type="primary"  size="mini" @click="lookDetail(scope.row.courseId)">查看详情</el-button>
+                        <!-- <el-button type="primary"  size="mini" @click="audit(scope.row)">{{(status==-1?"审核": status?"撤回":"审核")}}</el-button> -->
+                        <!-- <el-button type="primary"  size="mini" @click="audit(scope.row)">{{(scope.row.data==1?"审核": scope.row.data==1?"正在审核":"审核")}}</el-button> -->
+                        <el-button v-if="scope.row.isupload==0" type="primary" size="mini" @click="audit(scope.row)">审核</el-button>
+                        <el-button v-if="scope.row.isupload==1" type="info" disabled size="mini">审核中</el-button>
+                        <el-button v-if="scope.row.isupload==2" type="info" disabled size="mini">已审核</el-button>
+
                         <el-button type="primary"  size="mini" @click="appTable(scope)" >申请表</el-button>
-                        <el-button type="primary"  size="mini" @click="del">删除</el-button>
+                        <el-button type="primary"  size="mini" @click="del(scope.row)">删除</el-button>
                       <!-- </el-link> -->
                   <!-- </el-button> -->
               </div>
@@ -239,29 +246,29 @@
         
           <div class="diaTit">
               <div class="spans">项目名称</div>
-              <div class="spanCon">:人工智能分链机器</div>
+              <div class="spanCon">:{{ auditDialog.projectName }}</div>
               <div class="spans" style="margin-left: 30px;">项目负责人</div>
-              <div class="spanCon">:徐晓霞</div>
+              <div class="spanCon">:{{ auditDialog.person }}</div>
           </div>
 
             <div class="diaTit1">
               <div class="spans1">所在部门</div>
               <div>
-                <el-input v-model="input" placeholder="信通学院"></el-input>
+                <el-input v-model="auditDialog.department" placeholder="信通学院"></el-input>
               </div>
             </div>
 
             <div class="diaTit1">
               <div class="spans1">预算总经费</div>
               <div>
-                <el-input v-model="input" placeholder="6000"></el-input>
+                <el-input v-model="auditDialog.fund" placeholder="6000"></el-input>
               </div>
             </div>
 
             <div class="diaTit1">
               <div class="spans1">联系电话</div>
               <div>
-                <el-input v-model="input" placeholder="13854449525"></el-input>
+                <el-input v-model="auditDialog.tel" placeholder="13854449525"></el-input>
               </div>
             </div>
             <div slot="footer" class="dialog-footer">
@@ -271,7 +278,7 @@
       </el-dialog>
 <!-- 立项审核对话框结束 -->
 <!-- 删除通知开始 -->
-<el-dialog
+      <el-dialog
       title="删除项目"
       :visible.sync="dialogVisible2"
       width="600px"
@@ -282,7 +289,7 @@
         <el-button type="primary" @click="dialogDel" class="btn5">确认删除</el-button>
         <el-button @click="init" class="btn5" >取消</el-button>
       </span>
-    </el-dialog>
+      </el-dialog>
 <!-- 删除通知结束-->
   </div>
 </template>
@@ -304,14 +311,7 @@
             total:0,
             packageSize:10,
             currentPage:1
-          },
-          options:{
-            projectFilter:[],//项目筛选
-            department:[],//部门
-            sort:[],//分类
-            person:[],//负责人
-            state:[],//状态
-          },
+          },   
           tableData:[],    //列表数据
           
           selectInp:{  // 头部搜索框的内容
@@ -320,6 +320,37 @@
             sort:0,
             person:'',
             state:99,
+          },
+          options:{    //头部搜索框下拉框数据
+            projectFilter:[],//项目筛选
+            department:[],//部门
+            sort:[],//分类
+            person:[],//负责人
+            state:[//状态
+              {
+                value:99,
+                label:'全部'
+              },
+              {
+                value:0,
+                label:'未审核'
+              },
+              {
+                value:1,
+                label:'正在审核'
+              },
+              {
+                value:2,
+                label:"已审核"
+              },
+            ],
+          },
+          auditDialog:{    //审核对话框数据
+                projectName:'',
+                person:'',
+                department:'',
+                fund:'',
+                tel:''
           }
         }
       },
@@ -331,23 +362,50 @@
           this.dialogVisible2=false;
         },
         audit(val){      //审核按钮
-          if(this.status==-1){
-            this.dialogVisible=true;
-            return
-          }else if(this.status){
-            this.dialogVisible1=true;
-            return
-          }else{
+          // if(this.status==-1){
+          //   this.dialogVisible=true;
+          //   return
+          // }else if(this.status){
+          //   this.dialogVisible1=true;
+          //   return
+          // }else{
+          //   this.dialogVisible=true;
+          // }
+          // console.log(val);
+          // this.dialogVisible2=true
+          // this.iid=val   //将要删除的id进行存储供删除对话框使用
+          if (val.isupload==0) {
             this.dialogVisible=true;
+            console.log(val);
+            this.auditDialog.projectName=val.title;
+            this.auditDialog.person=val.pro_leader;
+            this.auditDialog.department=val.name;
+            this.auditDialog.fund=val.money;
+            this.auditDialog.tel=val.phone;
+          }else if(val.isupload==2){
+
           }
+            
+            
         },
         appTable(val){   //查看申请表
           
         },
-        commit(val){    //立项审核对话框里面的确定提交按钮
-          this.dialogVisible=false;
-          this.status=1
-          console.log(this.status);
+        commit(){    //立项审核对话框里面的确定提交按钮
+            let param={
+              uid:this.$store.state.userInfo.userid,
+              pid:this.iid.courseId
+            }
+            this.ajax
+                .post(this.$store.state.api+"/ApproveProject",param)
+                .then(res=>{
+                    console.log(res);
+                    this.dialogVisible=false;
+                    this.$message.success('审核成功')
+                    
+                },err=>{
+                  console.log(err);
+                })
         },
 
         commit2(val){   //立项撤回对话框里面的确定撤回按钮
@@ -372,8 +430,9 @@
           //       console.log(err);
           //     })
         },
-        paApply(val){    //查看详情按钮
+        lookDetail(val){    //查看详情按钮
           console.log(val);
+          localStorage.setItem("pid",JSON.stringify(val))
           this.$router.push('/projectApplicationDetails')
         },
         apply(){     //项目立项申请按钮
@@ -382,47 +441,59 @@
         getData(){    //获取表格数据
           let param={
             uid:this.$store.state.userInfo.userid,
-            pid:this.selectInp.filter,
-            did:this.selectInp.department,
-            tid:this.selectInp.sort,
-            leader:this.selectInp.person,
-            st:this.selectInp.state,
-            page:this.table.currentPage,
-            lim:this.table.packageSize
+            pid:this.selectInp.filter,  //筛选
+            did:this.selectInp.department,  //部门
+            tid:this.selectInp.sort,    //分类
+            leader:this.selectInp.person,  //负责人
+            st:this.selectInp.state,  //审核状态
+            page:this.table.currentPage,  //当前页
+            lim:this.table.packageSize  //限制获取几页
           }
           // return console.log(param);
           this.ajax    
             .get(this.$store.state.api+'/SelectAllProject',param)
               .then(res=>{
-                console.log(res.data);
-                let data=res.data
-                let a=this.options
-                this.tableData=data[0]
+                // console.log(res.data);
+                let data=res.data;
+                let a=this.options;
+                this.tableData=data[0];
                 a.projectFilter=data[1];
                 a.department=data[2];
-                a.sort=data[3]
-                a.person=data[4]
+                a.sort=data[3];
+                a.person=data[4];
               },err=>{
                 console.log(err);
               })  
         },
         del(val) {   //表格删除按钮,点击显示删除对话框
+          console.log(val);
           this.dialogVisible2=true
-          thsi.iid=val    //将要删除的id进行存储供删除对话框使用
+          this.iid=val   //将要删除的id进行存储供删除对话框使用
         },
-        dialogDel(val){   //确定删除这个项目
-          // let param={
-          //   uid:this.$store.state.userInfo.userid,
-          //   nid:this.iid
-          // }
-          // this.ajax
-          //     .get(this.$store.state.api+"",param)
-          //     .then(res=>{
-          //         console.log(res);
-          //         this.dialogVisible2=false
-          //     },err=>{
-          //       console.log(err);
-          //     })
+        dialogDel(){   //确定删除这个项目
+          console.log(this.iid)
+          if (this.iid.userid == this.$store.state.userInfo.userid) {
+            let param={
+              uid:this.$store.state.userInfo.userid,
+              pid:this.iid.courseId
+            }
+            this.ajax
+                .post(this.$store.state.api+"/DeleteProject",param)
+                .then(res=>{
+                    console.log(res);
+                    if (res.data) {
+                        this.$message.success('删除成功')
+                        this.getData()
+                        this.dialogVisible2=false
+                        return
+                    }else{
+                      this.$message.error('删除失败')
+                    }
+                },err=>{
+                  console.log(err);
+                })
+            }
+          
         },
         handleCurrentChange(val) {   //当页数发生改变的时候调用获取列表数据请求
           // console.log(`当前页: ${val}`);

+ 39 - 15
src/views/projectApply/projectApplication2.vue

@@ -24,7 +24,8 @@
         resize="none"
         class="textArea"
         placeholder="请输入内容"
-        v-model="textarea1">
+        v-model="data[0][0]">
+      
         </el-input>
       </div>
 
@@ -39,7 +40,7 @@
         resize="none"
         class="textArea"
         placeholder="请输入内容"
-        v-model="textarea2">
+        v-model="data[0][1]">
         </el-input>
       </div>
       <div class="PA2textArea">
@@ -50,7 +51,8 @@
         resize="none"
         class="textArea"
         placeholder="请输入内容"
-        v-model="textarea3">
+        v-model="data[0][2]">
+       
         </el-input>
       </div>
       <div class="PA2textArea">
@@ -61,7 +63,7 @@
         resize="none"
         class="textArea"
         placeholder="请输入内容"
-        v-model="textarea4">
+        v-model="data[0][3]">
         </el-input>
       </div>
       <div class="PA2textArea">
@@ -72,7 +74,7 @@
         resize="none"
         class="textArea"
         placeholder="请输入内容"
-        v-model="textarea5">
+        v-model="data[0][4]">
         </el-input>
       </div>
       <div class="baseBtn">
@@ -88,11 +90,7 @@
       export default {
         data() {
           return {
-            textarea1:'一心一意为了家人',
-            textarea2:'拿出所有库存',
-            textarea3:'每个员工都达到服务要求',
-            textarea4:'基本完成',
-            textarea5:'就在每周四',
+            data:[],
           }
         },
         methods:{
@@ -102,16 +100,42 @@
           },
           audit(){   //立即审核按钮
             // this.$router.push('/projectApplication')
-            this.$message.success('审核成功')
-          },
-          handleSelectionChange(val) {
-            this.multipleSelection = val;
+            this.$message.success('修改成功')
           },
+         
           backBtn(){
             this.$router.push('/projectApplicationApply2')
-          }
+          },
+          getData(){   //初始化完成获取基本数据进行填充
+            let param={
+              uid:this.$store.state.userInfo.userid,
+              pid:JSON.parse(localStorage.getItem('pid'))
+            }
+              this.ajax
+                    .get(this.$store.state.api+'/GetProjectDetailMessage',param)
+                    .then(res=>{
+                      // let data=JSON.parse(res.data[0][0].chapters)
+                      // console.log(data)
+                      this.data = JSON.parse(res.data[0][0].chapters)
+                      // console.log(res.data[0][0]['chapters'])
+                      // console.log(data[0]);
+                      // let obj={}
+                      // for(let key in data[0]){
+                      //   obj[key] =data[0][key]
+                      // }
+                      // this.textarea1=obj[0];
+                      // this.textarea2=obj[1];
+                      // this.textarea3=obj[2];
+                      // this.textarea4=obj[3];
+                      // this.textarea5=obj[4];
+
+                    },err=>{
+                      console.log(err);
+                    })
+          },
         },
         created(){
+          this.getData();
           // this.value=(this.options[0].value)
         }
       }

+ 63 - 51
src/views/projectApply/projectApplicationDetails.vue

@@ -35,9 +35,9 @@
                         <el-select v-model="select.input" style="width: 100%;" placeholder="请选择">
                           <el-option
                             v-for="item in select.department"
-                            :key="item.value"
-                            :label="item.label"
-                            :value="item.value">
+                            :key="item.id"
+                            :label="item.name"
+                            :value="item.id">
                           </el-option>
                         </el-select>
                     </div>
@@ -54,6 +54,7 @@
                           v-model="select.Date"
                           type="date"
                           style="width: 100%;"
+                          value-format="yyyy-MM-DD HH:mm:ss"
                           placeholder="选择日期">
                         </el-date-picker>
                     </div>
@@ -66,9 +67,9 @@
                         <el-select v-model="select.sort" style="width: 100%;" placeholder="请选择">
                           <el-option
                             v-for="item in select.sortOptions"
-                            :key="item.value"
-                            :label="item.label"
-                            :value="item.value">
+                            :key="item.id"
+                            :label="item.name"
+                            :value="item.id">
                           </el-option>
                         </el-select>
                     </div>
@@ -91,7 +92,7 @@
         :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
         >
         <el-table-column
-          prop="Name"
+          prop="name"
           label="姓名"
           align="center"
           >
@@ -104,7 +105,7 @@
         </el-table-column>
 
         <el-table-column
-          prop="tel"
+          prop="phone"
           label="电话"
           align="center"
          >
@@ -203,48 +204,21 @@
 
           addMemberDialog:false,
           select:{    //数据详情框数据
-            project:'疯狂星期四',   
-            person:'袁一鸣',
-            input:"肯德基",  //select框值
-            sort:'勘探地球',
-
-            sortOptions: [{   //分类下拉框
-                value: '选项1',
-                label: '第一产业'
-              },
-              {
-                value: '选项2',
-                label: '第二产业'
-              },
-            ],
-            department:[
-              {
-                value: '1',
-                label: '肯德基'
-              },
-              {
-                value: '2',
-                label: '麦当劳'
-              },
-              {
-                value: '3',
-                label: '华莱士'
-              },
-            ],
-            tel:'17739460368',
-            Date:'2023-11-12',
-            Fund:'200000',
+            project:'',   
+            person:'',
+            input:"",  //select框值
+            sort:'',
+            tel:'',
+            Date:'',
+            Fund:'',
+            sortOptions: [], //分类下拉框
+            department:[],
+          
           },
           textarea:'周四福利大放送',   //项目简介
 
-          tableData:[    //成员列表数据
-            {      
-            Name:'徐晓慧',
-            class:'22电子通信G5',
-            tel:'13751177411',
-            score:'-',
-          },
-          ],
+          tableData:[],   //成员列表数据
+          
           memberList:{
             Name:'',
             class:'',
@@ -277,18 +251,56 @@
         getData(){   //初始化完成获取基本数据进行填充
           let param={
             uid:this.$store.state.userInfo.userid,
+            pid:JSON.parse(localStorage.getItem('pid'))
           }
             this.ajax
-                  .get(this.$store.state.api+'',param)
+                  .get(this.$store.state.api+'/GetProjectBase',param)
                   .then(res=>{
-                      console.log(res);
+                    let data=res.data[0][0]
+                    console.log(data);
+                    this.select.project=data.title;
+                    this.select.Fund=data.money;
+                    this.select.person=data.pro_leader;
+                    this.select.Date=data.begintime;
+                    // this.select.department=da.
+                    this.textarea=data.brief;
+                    this.tableData=JSON.parse(data.course_student) 
+                    this.select.tel=data.phone
                   },err=>{
                     console.log(err);
                   })
-        }
+        },
+        getProjectDepartmentData(){  //获取项目立项申请基础信息页面所在部门数据
+              let param={
+                uid:this.$store.state.userInfo.userid
+              }
+                this.ajax
+                      .get(this.$store.state.api+'/SelectAllDepartment',param)
+                      .then(res=>{
+                        this.select.department=res.data[0]
+                      },err=>{
+                        console.log(err);
+                      })
+            },
+            getProjectTypeData(){  //获取项目立项申请基础信息页面分类数据
+              let param={
+                uid:this.$store.state.userInfo.userid
+              }
+                this.ajax
+                      .get(this.$store.state.api+'/SelectAllType',param)
+                      .then(res=>{
+                        this.select.sortOptions=res.data[0]
+
+                      },err=>{
+                        console.log(err);
+                      })
+            },
       },
       created(){    //数据加载完成后触发
-        // this.getData();
+        this.getData();
+        this.getProjectDepartmentData();
+        this.getProjectTypeData();
+
         // this.value=(this.options[0].value)
       },
     }