tanyanfei 5 years ago
parent
commit
c511b23ccf
4 changed files with 623 additions and 1 deletions
  1. 1 1
      src/api.js
  2. 6 0
      src/router.js
  3. 308 0
      src/views/apply/Change.vue
  4. 308 0
      src/views/apply/Update.vue

+ 1 - 1
src/api.js

@@ -38,7 +38,7 @@ axios.interceptors.response.use(function (response) {
 	return response;
 	return response;
 }, function (error) {
 }, function (error) {
 	// 对响应错误做点什么
 	// 对响应错误做点什么
-	if (error.request.status == 401) {
+	if (error.request.status == 403) {
 		window.location.hash = "/login";
 		window.location.hash = "/login";
 	}
 	}
 	// console.log(Object.getOwnPropertyNames(error))
 	// console.log(Object.getOwnPropertyNames(error))

+ 6 - 0
src/router.js

@@ -46,6 +46,8 @@ export default new Router({
       isLeaf:0,
       isLeaf:0,
       children:[
       children:[
         { path: '/new', component: () => import('./views/apply/New.vue'), name: '新办' },
         { path: '/new', component: () => import('./views/apply/New.vue'), name: '新办' },
+        { path: '/update', component: () => import('./views/apply/Update.vue'), name: '复审' },
+        { path: '/change', component: () => import('./views/apply/Change.vue'), name: '换证' },
         { path: '/sign/detail',hide:1, component: () => import('./views/apply/Detail.vue'), name: '修改' },
         { path: '/sign/detail',hide:1, component: () => import('./views/apply/Detail.vue'), name: '修改' },
         { path: '/sign/edit',hide:1, component: () => import('./views/apply/Edit.vue'), name: '修改' },
         { path: '/sign/edit',hide:1, component: () => import('./views/apply/Edit.vue'), name: '修改' },
       ]
       ]
@@ -64,6 +66,7 @@ export default new Router({
         },
         },
         {
         {
           path: '/classes/add',
           path: '/classes/add',
+          hide:1,
           component: () => import('./views/classes/Add.vue'),
           component: () => import('./views/classes/Add.vue'),
           name: '新增班级'
           name: '新增班级'
         },
         },
@@ -88,6 +91,7 @@ export default new Router({
         },
         },
         {
         {
           path: '/videos/add',
           path: '/videos/add',
+          hide:1,
           component: () => import('./views/videos/Add.vue'),
           component: () => import('./views/videos/Add.vue'),
           name: '新增视频'
           name: '新增视频'
         },
         },
@@ -139,11 +143,13 @@ export default new Router({
         },
         },
         {
         {
           path: '/system/add',
           path: '/system/add',
+          hide:1,
           component: () => import('./views/user/Add.vue'),
           component: () => import('./views/user/Add.vue'),
           name: '新增用户',
           name: '新增用户',
         },
         },
         {
         {
           path: '/system/addAccount',
           path: '/system/addAccount',
+          hide:1,
           component: () => import('./views/system/AddAccount.vue'),
           component: () => import('./views/system/AddAccount.vue'),
           name: '新增账户'
           name: '新增账户'
         },
         },

+ 308 - 0
src/views/apply/Change.vue

@@ -0,0 +1,308 @@
+<style lang="scss">
+    .apply{
+       .filter{
+            background: #fff;
+            padding: 20px 20px 10px; 
+            border:1px solid #EDEDED;
+            border-radius:2px;
+            margin-bottom: 10px;
+            margin-top: 10px;
+            .el-form-item{
+                margin-bottom: 10px;
+            }
+            .el-input,.el-select{
+                width: 150px;
+            }
+    
+       }
+       .el-divider--horizontal{
+           margin: 10px 0 20px;
+       }
+       .divider{
+        //    margin-bottom: 15px;
+           background: #fff;
+           padding: 10px;
+       }
+       thead{
+           th{
+               background: #eee;
+           }
+       }
+    }
+    .table{
+        button{
+            padding:6px;
+        }
+    }
+</style>
+<template>
+    <section class="apply">
+        <p>报名信息  >  换证</p>
+        <div class="filter">
+            <el-form label-width="80px" :inline="true">
+                <el-form-item label="类别">
+                    <Subject @subChange='subChange'/>
+                </el-form-item>
+                <br>
+                <!-- <el-divider></el-divider> -->
+                <el-form-item label="姓名">
+                        <el-input placeholder="姓名" v-model="form.name"></el-input>
+                </el-form-item>
+                <el-form-item label="联系电话">
+                        <el-input placeholder="联系电话" v-model="form.phone"></el-input>
+                </el-form-item>
+                <el-form-item label="报名时间">
+                    <el-date-picker clearable
+                    v-model="form.signup_time"
+                    type="date"
+                    placeholder="选择日期">
+                    </el-date-picker>
+                </el-form-item>
+                <el-form-item label="发票类型">
+                    <el-select v-model="form.bill_type" 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 label="领证方式" clearable>
+                    <el-select v-model="form.a" placeholder="请选择">
+                        <el-option  label="邮寄"  :value="1"></el-option>
+                        <el-option  label="自取"  :value="0"></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="考试设置">
+                    <el-select v-model="form.a" placeholder="请选择" clearable>
+                        <el-option  label="已设置考试时间"  :value="1"></el-option>
+                        <el-option  label="未设置考试时间"  :value="0"></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="考试时间" >
+                    <el-date-picker clearable
+                    v-model="form.exam_time"
+                    type="date"
+                    placeholder="选择日期">
+                    </el-date-picker>
+                </el-form-item>
+                <!-- <el-form-item label="培训班级">
+                    <el-select v-model="form.a" placeholder="请选择">
+                        <el-option  label="不需要发票"  :value="0"></el-option>
+                        <el-option  label="纸质发票"  :value="0"></el-option>
+                    </el-select>
+                </el-form-item> -->
+                <el-form-item label="培训时间">
+                    <el-date-picker clearable
+                    v-model="form.train_time"
+                    type="date"
+                    placeholder="选择日期">
+                    </el-date-picker>
+                </el-form-item>
+                <!-- <el-form-item label="公司名称">
+                        <el-input placeholder="公司名称" v-model="form.name"></el-input>
+                </el-form-item> -->
+                <el-form-item>
+                       <el-button @click="list=[],getData()" type="primary" icon="el-icon-search">搜索</el-button>
+                </el-form-item>
+                <el-divider></el-divider>
+            </el-form>
+            <el-tabs v-model="order_status" @tab-click="tabClick">
+                <el-tab-pane name="-3" label="全部"></el-tab-pane>
+                <el-tab-pane name="0" label="待审核"></el-tab-pane>
+                <el-tab-pane name="2" label="已支付待培训"></el-tab-pane>
+                <el-tab-pane name="-2" label="审核未通过"></el-tab-pane>
+                <el-tab-pane name="1" label="待付款"></el-tab-pane>
+                <el-tab-pane name="-1" label="待上传资料"></el-tab-pane>
+                <!-- <el-tab-pane name="7" label="已培训待考试"></el-tab-pane> -->
+                <el-tab-pane name="3" label="考试完成"></el-tab-pane>
+                <!-- <el-tab-pane name="9" label="已取消"></el-tab-pane> -->
+            </el-tabs>
+        </div>
+        <div class="divider">
+                <el-button @click="setStatus(1,'审核通过')" size="small" type="success" >审核通过</el-button>
+                <el-button @click="setStatus(-2,'审核不通过')" size="small" type="info" >审核不通过</el-button>
+                <el-button @click="setStatus(2,'已付款')" size="small" type="primary" >已付款</el-button>
+                <el-button @click="setStatus(3,'已培训')"  size="small" type="danger" >已培训</el-button>
+                <el-button @click="setStatus(4,'考试完成')" size="small" type="success" >考试完成</el-button>
+                <el-button size="small" type="primary" >设置培训时间</el-button>
+                <el-button size="small" type="primary" >设置考试时间</el-button>
+                <el-divider  direction="vertical"></el-divider>
+                <el-button size="small" type="warning" >导出考勤表与申报考试表</el-button>
+                <el-button size="small" type="warning" >导出学员申报资料</el-button>
+        </div>
+
+        <el-table
+                class="table"
+                :data="list"
+                 @selection-change="handleSelectionChange"
+                border 
+                style="width: 100%">
+                <el-table-column
+                type="selection" fixed="left"
+                width="40">
+                </el-table-column>
+                <el-table-column
+                prop="name" width="100"
+                label="姓名">
+                </el-table-column>
+                <el-table-column
+                prop="phone"
+                label="联系电话">
+                </el-table-column>
+                <el-table-column
+                prop="order_status"
+                label="状态">
+                <template slot-scope="scope">
+                    <el-tag v-if='scope.row.order_status == -2' type="info">审核未通过</el-tag>
+                    <el-tag v-if='scope.row.order_status == -1' >待提交资料</el-tag>
+                    <el-tag v-if='scope.row.order_status == 0' type="warning">待审核</el-tag>
+                    <el-tag v-if='scope.row.order_status == 1' >已审核立即支付</el-tag>
+                    <el-tag v-if='scope.row.order_status == 2' type="warning">学习中</el-tag>
+                    <el-tag v-if='scope.row.order_status == 3' type="success">已培训</el-tag>
+                    <el-tag v-if='scope.row.order_status == 4' type="success">已完成</el-tag>
+                    <!-- -2:审核未通过,-1:待提交资料,0:待审核,1:已审核立即支付,2:学习中,3:已完成 -->
+                </template>
+                </el-table-column>
+                <el-table-column
+                prop="remark"
+                label="管理员备注">
+                </el-table-column>
+                <el-table-column
+                prop="subject_item0"
+                label="报名类型">
+                </el-table-column>
+                <el-table-column
+                prop="subject_item1"
+                label="作业类别">
+                </el-table-column>
+                <el-table-column
+                prop="subject_item2"
+                label="准操项目">
+                </el-table-column>
+                <el-table-column
+                prop="train_type"
+                label="培训类型">
+                </el-table-column>
+                <el-table-column
+                prop="zip" width="220" fixed="right"
+                label="操作">
+                <template slot-scope="scope">
+                    <el-button @click="mark(scope.row.id,scope.row.remark)" size="mini" type="primary">备注</el-button>
+                    <el-button @click="$router.push({path:'/sign/detail',query:{id:scope.row.id}})"  size="mini" type="success">查看</el-button>
+                    <el-button @click="$router.push({path:'/sign/edit',query:{id:scope.row.id}})" size="mini" type="warning">编辑</el-button>
+                    <el-button @click="del(scope.row.id)" size="mini"  type="danger">删除</el-button>
+                </template>
+                </el-table-column>
+        </el-table>
+        <Page  ref="pageButton"  :total='total' @pageChange='gopage'/>
+    </section>
+</template>
+<script>
+import Page from '../../components/Page';
+import Subject from '../../components/Subject';
+// import { Base64 } from 'js-base64';
+export default {
+  components:{
+        Page,Subject
+    },
+  data(){
+    return{
+      form:{train_type:'换证',subject_item:'',order_status:''},
+      activeName:"1",
+      total:1,
+      list:[],
+      order_status:'-3',
+      ids:[]
+    }
+  },
+  methods:{
+      gopage(){},
+      getData(){
+          var parm=this.form;
+          if(this.order_status != '-3'){parm.order_status=this.order_status}
+          console.log(parm)
+          this.$api.getSignList(parm).then(res=>{
+              this.list=res.data.data.list
+              this.total=res.data.data.total
+          })
+      },
+      subChange(data){
+          this.form.subject_item=data.join('|')
+      },
+      tabClick(tab){
+          this.form.order_status=tab.name
+          this.list=[]
+          this.getData()
+      },
+      del(id){
+            this.$confirm('确定删除吗', '提示', {
+                    type: 'warning'
+                }).then(() => {
+                   this.$api.deleteSign({id:id}).then((res)=>{
+                        this.$message({
+                            message: '删除成功',
+                            type: 'success'
+                        })
+                        this.getData()
+                })
+            })
+      },
+      mark(id,val){
+          this.$prompt('', '管理员备注', {
+            confirmButtonText: '确定',
+            cancelButtonText: '取消',
+            inputValue:val,
+            }).then(({ value }) => {
+                this.$api.updateSign({id:id,remark:value}).then(res=>{
+                        if(res.data.code==0){
+                            this.$message({message: '备注成功!',type: 'success'});
+                            this.getData()
+                        }else{
+                            this.$message.error(res.data.message);
+                        }
+                })
+            })
+      },
+      handleSelectionChange(val) {
+          this.ids=val      
+          console.log(val)
+      },
+      setStatus(type,text){
+          var ids=[],val=this.ids;
+          for(let i=0;i<val.length;i++){
+              ids.push(val[i].id)
+          }
+          var id = ids.join(',');
+        if(val.length>0){
+            this.$confirm('确定修改状态为'+text, '提示', {
+                    type: 'warning'
+                }).then(() => {
+                   this.$api.updateSignStu({id:id,order_status:type}).then((res)=>{
+                        this.$message({
+                            message: '修改成功',
+                            type: 'success'
+                        })
+                        this.getData()
+                })
+            })
+        }else{
+            this.$message.error('请选择数据');
+        }
+      },
+      setTime(text){
+          var ids=[],val=this.ids;
+          for(let i=0;i<val.length;i++){
+              ids.push(val[i].id)
+          }
+          var id = ids.join(',');
+        if(val.length>0){
+            
+        }else{
+            this.$message.error('请选择数据');
+        }
+      }
+  },
+  created(){
+      this.getData()
+  }
+}
+</script>

+ 308 - 0
src/views/apply/Update.vue

@@ -0,0 +1,308 @@
+<style lang="scss">
+    .apply{
+       .filter{
+            background: #fff;
+            padding: 20px 20px 10px; 
+            border:1px solid #EDEDED;
+            border-radius:2px;
+            margin-bottom: 10px;
+            margin-top: 10px;
+            .el-form-item{
+                margin-bottom: 10px;
+            }
+            .el-input,.el-select{
+                width: 150px;
+            }
+    
+       }
+       .el-divider--horizontal{
+           margin: 10px 0 20px;
+       }
+       .divider{
+        //    margin-bottom: 15px;
+           background: #fff;
+           padding: 10px;
+       }
+       thead{
+           th{
+               background: #eee;
+           }
+       }
+    }
+    .table{
+        button{
+            padding:6px;
+        }
+    }
+</style>
+<template>
+    <section class="apply">
+        <p>报名信息  >  复审</p>
+        <div class="filter">
+            <el-form label-width="80px" :inline="true">
+                <el-form-item label="类别">
+                    <Subject @subChange='subChange'/>
+                </el-form-item>
+                <br>
+                <!-- <el-divider></el-divider> -->
+                <el-form-item label="姓名">
+                        <el-input placeholder="姓名" v-model="form.name"></el-input>
+                </el-form-item>
+                <el-form-item label="联系电话">
+                        <el-input placeholder="联系电话" v-model="form.phone"></el-input>
+                </el-form-item>
+                <el-form-item label="报名时间">
+                    <el-date-picker clearable
+                    v-model="form.signup_time"
+                    type="date"
+                    placeholder="选择日期">
+                    </el-date-picker>
+                </el-form-item>
+                <el-form-item label="发票类型">
+                    <el-select v-model="form.bill_type" 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 label="领证方式" clearable>
+                    <el-select v-model="form.a" placeholder="请选择">
+                        <el-option  label="邮寄"  :value="1"></el-option>
+                        <el-option  label="自取"  :value="0"></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="考试设置">
+                    <el-select v-model="form.a" placeholder="请选择" clearable>
+                        <el-option  label="已设置考试时间"  :value="1"></el-option>
+                        <el-option  label="未设置考试时间"  :value="0"></el-option>
+                    </el-select>
+                </el-form-item>
+                <el-form-item label="考试时间" >
+                    <el-date-picker clearable
+                    v-model="form.exam_time"
+                    type="date"
+                    placeholder="选择日期">
+                    </el-date-picker>
+                </el-form-item>
+                <!-- <el-form-item label="培训班级">
+                    <el-select v-model="form.a" placeholder="请选择">
+                        <el-option  label="不需要发票"  :value="0"></el-option>
+                        <el-option  label="纸质发票"  :value="0"></el-option>
+                    </el-select>
+                </el-form-item> -->
+                <el-form-item label="培训时间">
+                    <el-date-picker clearable
+                    v-model="form.train_time"
+                    type="date"
+                    placeholder="选择日期">
+                    </el-date-picker>
+                </el-form-item>
+                <!-- <el-form-item label="公司名称">
+                        <el-input placeholder="公司名称" v-model="form.name"></el-input>
+                </el-form-item> -->
+                <el-form-item>
+                       <el-button @click="list=[],getData()" type="primary" icon="el-icon-search">搜索</el-button>
+                </el-form-item>
+                <el-divider></el-divider>
+            </el-form>
+            <el-tabs v-model="order_status" @tab-click="tabClick">
+                <el-tab-pane name="-3" label="全部"></el-tab-pane>
+                <el-tab-pane name="0" label="待审核"></el-tab-pane>
+                <el-tab-pane name="2" label="已支付待培训"></el-tab-pane>
+                <el-tab-pane name="-2" label="审核未通过"></el-tab-pane>
+                <el-tab-pane name="1" label="待付款"></el-tab-pane>
+                <el-tab-pane name="-1" label="待上传资料"></el-tab-pane>
+                <!-- <el-tab-pane name="7" label="已培训待考试"></el-tab-pane> -->
+                <el-tab-pane name="3" label="考试完成"></el-tab-pane>
+                <!-- <el-tab-pane name="9" label="已取消"></el-tab-pane> -->
+            </el-tabs>
+        </div>
+        <div class="divider">
+                <el-button @click="setStatus(1,'审核通过')" size="small" type="success" >审核通过</el-button>
+                <el-button @click="setStatus(-2,'审核不通过')" size="small" type="info" >审核不通过</el-button>
+                <el-button @click="setStatus(2,'已付款')" size="small" type="primary" >已付款</el-button>
+                <el-button @click="setStatus(3,'已培训')"  size="small" type="danger" >已培训</el-button>
+                <el-button @click="setStatus(4,'考试完成')" size="small" type="success" >考试完成</el-button>
+                <el-button size="small" type="primary" >设置培训时间</el-button>
+                <el-button size="small" type="primary" >设置考试时间</el-button>
+                <el-divider  direction="vertical"></el-divider>
+                <el-button size="small" type="warning" >导出考勤表与申报考试表</el-button>
+                <el-button size="small" type="warning" >导出学员申报资料</el-button>
+        </div>
+
+        <el-table
+                class="table"
+                :data="list"
+                 @selection-change="handleSelectionChange"
+                border 
+                style="width: 100%">
+                <el-table-column
+                type="selection" fixed="left"
+                width="40">
+                </el-table-column>
+                <el-table-column
+                prop="name" width="100"
+                label="姓名">
+                </el-table-column>
+                <el-table-column
+                prop="phone"
+                label="联系电话">
+                </el-table-column>
+                <el-table-column
+                prop="order_status"
+                label="状态">
+                <template slot-scope="scope">
+                    <el-tag v-if='scope.row.order_status == -2' type="info">审核未通过</el-tag>
+                    <el-tag v-if='scope.row.order_status == -1' >待提交资料</el-tag>
+                    <el-tag v-if='scope.row.order_status == 0' type="warning">待审核</el-tag>
+                    <el-tag v-if='scope.row.order_status == 1' >已审核立即支付</el-tag>
+                    <el-tag v-if='scope.row.order_status == 2' type="warning">学习中</el-tag>
+                    <el-tag v-if='scope.row.order_status == 3' type="success">已培训</el-tag>
+                    <el-tag v-if='scope.row.order_status == 4' type="success">已完成</el-tag>
+                    <!-- -2:审核未通过,-1:待提交资料,0:待审核,1:已审核立即支付,2:学习中,3:已完成 -->
+                </template>
+                </el-table-column>
+                <el-table-column
+                prop="remark"
+                label="管理员备注">
+                </el-table-column>
+                <el-table-column
+                prop="subject_item0"
+                label="报名类型">
+                </el-table-column>
+                <el-table-column
+                prop="subject_item1"
+                label="作业类别">
+                </el-table-column>
+                <el-table-column
+                prop="subject_item2"
+                label="准操项目">
+                </el-table-column>
+                <el-table-column
+                prop="train_type"
+                label="培训类型">
+                </el-table-column>
+                <el-table-column
+                prop="zip" width="220" fixed="right"
+                label="操作">
+                <template slot-scope="scope">
+                    <el-button @click="mark(scope.row.id,scope.row.remark)" size="mini" type="primary">备注</el-button>
+                    <el-button @click="$router.push({path:'/sign/detail',query:{id:scope.row.id}})"  size="mini" type="success">查看</el-button>
+                    <el-button @click="$router.push({path:'/sign/edit',query:{id:scope.row.id}})" size="mini" type="warning">编辑</el-button>
+                    <el-button @click="del(scope.row.id)" size="mini"  type="danger">删除</el-button>
+                </template>
+                </el-table-column>
+        </el-table>
+        <Page  ref="pageButton"  :total='total' @pageChange='gopage'/>
+    </section>
+</template>
+<script>
+import Page from '../../components/Page';
+import Subject from '../../components/Subject';
+// import { Base64 } from 'js-base64';
+export default {
+  components:{
+        Page,Subject
+    },
+  data(){
+    return{
+      form:{train_type:'复审',subject_item:'',order_status:''},
+      activeName:"1",
+      total:1,
+      list:[],
+      order_status:'-3',
+      ids:[]
+    }
+  },
+  methods:{
+      gopage(){},
+      getData(){
+          var parm=this.form;
+          if(this.order_status != '-3'){parm.order_status=this.order_status}
+          console.log(parm)
+          this.$api.getSignList(parm).then(res=>{
+              this.list=res.data.data.list
+              this.total=res.data.data.total
+          })
+      },
+      subChange(data){
+          this.form.subject_item=data.join('|')
+      },
+      tabClick(tab){
+          this.form.order_status=tab.name
+          this.list=[]
+          this.getData()
+      },
+      del(id){
+            this.$confirm('确定删除吗', '提示', {
+                    type: 'warning'
+                }).then(() => {
+                   this.$api.deleteSign({id:id}).then((res)=>{
+                        this.$message({
+                            message: '删除成功',
+                            type: 'success'
+                        })
+                        this.getData()
+                })
+            })
+      },
+      mark(id,val){
+          this.$prompt('', '管理员备注', {
+            confirmButtonText: '确定',
+            cancelButtonText: '取消',
+            inputValue:val,
+            }).then(({ value }) => {
+                this.$api.updateSign({id:id,remark:value}).then(res=>{
+                        if(res.data.code==0){
+                            this.$message({message: '备注成功!',type: 'success'});
+                            this.getData()
+                        }else{
+                            this.$message.error(res.data.message);
+                        }
+                })
+            })
+      },
+      handleSelectionChange(val) {
+          this.ids=val      
+          console.log(val)
+      },
+      setStatus(type,text){
+          var ids=[],val=this.ids;
+          for(let i=0;i<val.length;i++){
+              ids.push(val[i].id)
+          }
+          var id = ids.join(',');
+        if(val.length>0){
+            this.$confirm('确定修改状态为'+text, '提示', {
+                    type: 'warning'
+                }).then(() => {
+                   this.$api.updateSignStu({id:id,order_status:type}).then((res)=>{
+                        this.$message({
+                            message: '修改成功',
+                            type: 'success'
+                        })
+                        this.getData()
+                })
+            })
+        }else{
+            this.$message.error('请选择数据');
+        }
+      },
+      setTime(text){
+          var ids=[],val=this.ids;
+          for(let i=0;i<val.length;i++){
+              ids.push(val[i].id)
+          }
+          var id = ids.join(',');
+        if(val.length>0){
+            
+        }else{
+            this.$message.error('请选择数据');
+        }
+      }
+  },
+  created(){
+      this.getData()
+  }
+}
+</script>