tanyanfei 5 년 전
부모
커밋
fd7859947a

+ 21 - 2
src/api.js

@@ -64,8 +64,11 @@ export default {
 		return axios.get(`${baseURL}/api/account/imgcode`)
 	},
 	//科目
+	// getSubList: params => {
+	// 	return axios.get(`${baseURL}/api/admin/subject/list?subject_id=1`)
+	// },
 	getSubList: params => {
-		return axios.get(`${baseURL}/api/admin/subject/list`)
+		return axios.get(`${baseURL}/api/admin/subject/list`,{params:params})
 	},
 	saveSub: params => {
 		return axios.post(`${baseURL}/api/admin/subject`, params);
@@ -150,12 +153,28 @@ export default {
 	uploadPaper: params => {
 		return axios.post(`${baseURL}/api/admin/paper/upload`, params);
 	},
-	//试卷
+	//视频
 	getVideoList: params => {
 		return axios.get(`${baseURL}/api/admin/video/list`, {
 			params: params
 		})
 	},
+	getVideo: params => {
+		return axios.get(`${baseURL}/api/admin/video`, {
+			params: params
+		})
+	},
+	saveVideo: params => {
+		return axios.post(`${baseURL}/api/admin/video`, params);
+	},
+	putVideo: params => {
+		return axios.put(`${baseURL}/api/admin/video`, params);
+	},
+	deleteVideo: params => {
+		return axios.delete(`${baseURL}/api/admin/video`, {
+			params: params
+		})
+	},
 	
 	
 	// 内容管理

+ 4 - 2
src/components/fuEditor/index.vue

@@ -53,11 +53,12 @@ export default {
   },
   methods: {
     seteditor() {
+
       // http://192.168.2.125:8080/admin/storage/create
       this.editor = new E(this.$refs.toolbar, this.$refs.editor);
       this.editor.customConfig.uploadImgShowBase64 = false; // base 64 存储图片
       this.editor.customConfig.uploadImgServer =
-        "http://otp.cdinfotech.top/file/upload_images"; // 配置服务器端地址
+        "/api/admin/uploadfile"; // 配置服务器端地址
       this.editor.customConfig.uploadImgHeaders = {}; // 自定义 header
       this.editor.customConfig.uploadFileName = "file"; // 后端接受上传文件的参数名
       this.editor.customConfig.uploadImgMaxSize = 2 * 1024 * 1024; // 将图片大小限制为 2M
@@ -110,7 +111,8 @@ export default {
           //循环插入图片
           // for (let i = 0; i < 1; i++) {
           // console.log(result)
-          let url = "http://otp.cdinfotech.top" + result.url;
+          let url = result.data.url;
+          console.log(result)
           insertImg(url);
           // }
         }

+ 1 - 0
src/router.js

@@ -26,6 +26,7 @@ export default new Router({
     {
       path: '/',
       name: '项目管理',
+      change:1,
       icon: 'el-icon-document-copy',
       component: () => import('./views/Home.vue'),
       show: 1,

+ 20 - 0
src/style/_base.scss

@@ -2,4 +2,24 @@
     margin: 0;
     padding: 0;
     box-sizing: border-box;
+}
+::-webkit-scrollbar
+{
+   width: 8px;
+   height: 13px;
+   background-color: #F5F5F5;
+}
+
+::-webkit-scrollbar-track
+{
+//    box-shadow: inset 0 0 6px red;
+   border-radius: 10px;
+   background-color: #F5F5F5;
+}
+
+::-webkit-scrollbar-thumb
+{
+   border-radius: 10px;
+   // box-shadow: inset 0 0 6px rgba(0,0,0,.3);
+   background-color: #999;
 }

+ 7 - 7
src/style/home.scss

@@ -4,27 +4,27 @@ $height: 50px;
 .header {
 	background: $color;
 	color: #fff;
-	height: 60px !important;
+	height: 50px !important;
 	padding: 0 24px;
 	.logo{
 		height: 50px;
 		margin-top: 5px;
 	}
 	h1{
-		font-size: 20px;
-		line-height: 60px;
+		font-size: 18px;
+		line-height: 50px;
 		display: inline-block;
 	}
 	.settings{
 		float: right;
-		line-height: 60px;
+		line-height: 50px;
 		img{
 			position: relative;
 			top: 3px;
 		}
 		span{
 			color: #fff;
-			font-size: 16px;
+			font-size: 14px;
 			padding: 0 10px;
 			cursor: pointer;
 		}
@@ -32,8 +32,8 @@ $height: 50px;
 }
 .main {
 	position: relative;
-	height: calc(100vh - 60px);
-	background: #EEEEEE;
+	height: calc(100vh - 50px);
+	background: #ECF0F5;
 	padding-top: 15px;
 }
 .left-aside {

+ 21 - 11
src/views/Home.vue

@@ -35,7 +35,12 @@
                   <i :class="item.icon"></i>
                   <span>{{item.name}}</span>
                 </template>
-                <el-menu-item-group >
+                <el-menu-item-group v-if='item.change'>
+                  	<el-menu-item v-for="(child,idx) in menu" :key="index+'_'+idx" :index="child.path" v-show='!child.hide'>
+					  {{child.name}}
+					</el-menu-item>
+                </el-menu-item-group>
+				<el-menu-item-group v-else>
                   	<el-menu-item v-for="(child,idx) in item.children" :key="index+'_'+idx" :index="child.path" v-show='!child.hide'>
 					  {{child.name}}
 					</el-menu-item>
@@ -64,7 +69,8 @@ export default {
 			path:'',
 			info:{},
 			community_list:[],
-			community:{}
+			community:{},
+			menu:[]
 		};
 	},
 	methods: {
@@ -77,21 +83,25 @@ export default {
 			this.$api.getInfo().then(res=>{
 				this.info=res.data.data
 			})
+			this.$api.getSubList().then(res=>{
+			  let data=res.data.data
+			  let routes=this.$route
+			  let path=[]
+			  for(let i=0;i<data.length;i++){
+				  path.push({
+					  	path: '/subject?id='+data[i].id,
+						// component: () => import('./views/project/Index.vue'),
+						name: data[i].name
+				  })
+			  }
+			  this.menu=path
+          	})
 		}
 	},
 	$route(to){
     },
 	created(){
 		this.getData()
-		// if(this.$route.path.indexOf('add')>=0){
-		// 	this.path=this.$route.path.split('/add')[0]
-		// }else if(this.$route.path.indexOf('edit')>=0){
-		// 	this.path=this.$route.path.split('/edit')[0]
-		// }else if(this.$route.path.indexOf('detail')>=0){
-		// 	this.path=this.$route.path.split('/detail')[0]
-		// }else{
-		// 	this.path=this.$route.path
-		// }
 	}
 };
 </script>

+ 88 - 64
src/views/apply/Change.vue

@@ -27,13 +27,22 @@
            th{
                background: #eee;
            }
-       }
+       }     
+    }
+    .checkList{
+           padding:0 10px;
+           label{
+               margin: 5px 0;
+           }
     }
     .table{
         button{
             padding:6px;
         }
     }
+    .el-table__fixed-right::before, .el-table__fixed::before{
+        background: none;
+    }
 </style>
 <template>
     <section class="apply">
@@ -132,6 +141,19 @@
                 <el-button @click="download('exam')" size="small" type="warning" >导出考勤表与申报考试表</el-button>
                 <el-button @click="download('apply')"  size="small" type="warning" >导出学员申报资料</el-button>
                 <el-divider  direction="vertical"></el-divider>
+                <el-dropdown  trigger="click">
+                    <el-button type="primary" size="mini"  plain icon="el-icon-finished">
+                    </el-button>
+                    <el-dropdown-menu slot="dropdown">
+                        <!-- <el-dropdown-item>姓名</el-dropdown-item> -->
+                        <div class="checkList">
+                            <p v-for="(item,index) in itemList" :key='index'>
+                                <el-checkbox v-model="item.checked"   :label="item.name"></el-checkbox>
+                            </p>
+                        </div>
+                    </el-dropdown-menu>
+                </el-dropdown>
+                &nbsp;
                 <el-button @click="print" type="primary" size="mini" plain icon="el-icon-printer"></el-button>
         </div>
         <el-table
@@ -144,48 +166,11 @@
                 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>
+                <template v-for="(item,index) in itemList" >
+                    <el-table-column :key='index' v-if='item.checked' :width='item.width'
+                    :prop="item.value"  :label="item.name">
+                    </el-table-column>
+                </template>             
                 <el-table-column
                 prop="zip" width="220" fixed="right"
                 label="操作">
@@ -231,6 +216,28 @@ export default {
     },
   data(){
     return{
+      checkList:[],
+      itemList:[
+          {name:'姓名', value:'name',checked:true},
+          {name:'联系电话', value:'phone',checked:true,width:'120px'},
+          {name:'状态', value:'order_status_1',checked:true},
+          {name:'管理员备注', value:'remark',checked:true,width:'150px'},
+          {name:'报名类型', value:'subject_item0',checked:true,width:'120px'},
+          {name:'作业类别', value:'subject_item1',checked:true},
+          {name:'准操项目', value:'subject_item2',checked:true},
+          {name:'培训类型', value:'train_type',checked:true},
+          {name:'考试时间', value:'exam_time',checked:true,width:'150px'},
+          {name:'ID', value:'id',checked:true},
+          {name:'支付状态', value:'pay_status_1',checked:true},
+          {name:'支付金额', value:'price',checked:true},
+          {name:'更新时间', value:'ctime',checked:true,width:'170px'},
+          {name:'发票类型', value:'bill_type_1',checked:true,width:'120px'},
+          {name:'领证方式', value:'receive_card',checked:true},
+          {name:'实名认证', value:'verify_1',checked:true},
+          {name:'报名时间', value:'signup_time',checked:true,width:'150px'},
+          {name:'培训时间', value:'train_time',checked:true,width:'150px'},
+          {name:'公司名称', value:'company',checked:true,width:'200px'},
+      ],
       text:'批量设置培训时间',
       date_type:1,
       time:'',
@@ -249,12 +256,31 @@ export default {
       gopage(){
             this.form.page=this.$refs.pageButton.page
             this.getData()
-        },
+      },
       getData(){
           var parm=this.form;
           this.loading=true;
           if(this.order_status != '-3'){parm.order_status=this.order_status}
           this.$api.getSignList(parm).then(res=>{
+              let data=res.data.data.list;
+              for(let i=0;i<data.length;i++){
+                    let item=data[i],status='',pay_status='',verify='',bill_type='';
+                    if(item.pay_status){pay_status='已支付'}else{pay_status='未支付'}
+                    if(item.verify){verify='已认证'}else{verify='未认证'}
+                    if(item.bill_type == 0)bill_type='不需要发票';
+                    if(item.bill_type == 1)bill_type='个人发票';
+                    if(item.bill_type == 2)bill_type='公司发票';
+                    if(item.order_status == -2)status='审核未通过';
+                    if(item.order_status == -1)status='待提交资料';
+                    if(item.order_status == 0)status='待审核';
+                    if(item.order_status == 1)status='已审核立即支付';
+                    if(item.order_status == 2)status='学习中';
+                    if(item.order_status == 3)status='已完成';
+                    item.order_status_1=status
+                    item.pay_status_1=pay_status
+                    item.verify_1=verify
+                    item.bill_type_1=bill_type
+              }
               this.list=res.data.data.list
               this.total=res.data.data.total
               this.loading=false
@@ -365,38 +391,36 @@ export default {
       },
       print(){
         var newwindow = window.open("","");
-        var tr='';
+        var tr='',th='';
+        for(let i=0;i<this.itemList.length;i++){
+            let item=this.itemList[i];
+            th+=`
+                <td>${item.name}</td>
+            `
+        }
         for(let i=0;i<this.list.length;i++){
             let item=this.list[i];
-            let status='';
-            // -2:审核未通过,-1:待提交资料,0:待审核,1:已审核立即支付,2:学习中,3:已完成
-            if(item.order_status == -2)status='审核未通过';
-            if(item.order_status == -1)status='待提交资料';
-            if(item.order_status == 0)status='待审核';
-            if(item.order_status == 1)status='已审核立即支付';
-            if(item.order_status == 2)status='学习中';
-            if(item.order_status == 3)status='已完成';
-            tr+=`
-                <tr>
-                    <td>${item.name}</td><td>${item.phone}</td><td>${status}</td>
-                    <td>${item.remark}</td><td>${item.subject_item0}</td>
-                    <td>${item.subject_item1}</td><td>${item.subject_item2}</td><td>${item.train_type}</td>
-                </tr>
-            `
+            let tds=''
+            for(let j=0;j<this.itemList.length;j++){
+                let item_1=this.itemList[j];
+                tds+=`
+                    <td>${item[item_1.value]||' '}</td>
+                `
+            }
+            tr+=`<tr>${tds}</tr>`
         }
         var table=`
             <style>
-                td{text-align:center;padding:10px 0;color:#666;}
-
+                td{text-align:center;padding:10px 0;color:#666;font-size:12px;}
             </style>
             <table style='border-collapse: collapse;border:none;border-color:#d9d9d9;padding:10px;' border='1' cellspacing='0' cellpadding='0' width='100%'>
                 <thead style="text-align:center;">
-                    <td>姓名</td><td>联系电话</td><td>状态</td><td>管理员备注</td><td>报名类型</td>
-                    <td>作业类别</td><td>准操类型</td><td>培训类型</td>
+                    ${th}
                 </thead>
                 ${tr}
             </table>
         `
+        console.log(table)
         newwindow.document.write(table);
         newwindow.window.print();  
       },

+ 88 - 64
src/views/apply/New.vue

@@ -27,13 +27,22 @@
            th{
                background: #eee;
            }
-       }
+       }     
+    }
+    .checkList{
+           padding:0 10px;
+           label{
+               margin: 5px 0;
+           }
     }
     .table{
         button{
             padding:6px;
         }
     }
+    .el-table__fixed-right::before, .el-table__fixed::before{
+        background: none;
+    }
 </style>
 <template>
     <section class="apply">
@@ -132,6 +141,19 @@
                 <el-button @click="download('exam')" size="small" type="warning" >导出考勤表与申报考试表</el-button>
                 <el-button @click="download('apply')"  size="small" type="warning" >导出学员申报资料</el-button>
                 <el-divider  direction="vertical"></el-divider>
+                <el-dropdown  trigger="click">
+                    <el-button type="primary" size="mini"  plain icon="el-icon-finished">
+                    </el-button>
+                    <el-dropdown-menu slot="dropdown">
+                        <!-- <el-dropdown-item>姓名</el-dropdown-item> -->
+                        <div class="checkList">
+                            <p v-for="(item,index) in itemList" :key='index'>
+                                <el-checkbox v-model="item.checked"   :label="item.name"></el-checkbox>
+                            </p>
+                        </div>
+                    </el-dropdown-menu>
+                </el-dropdown>
+                &nbsp;
                 <el-button @click="print" type="primary" size="mini" plain icon="el-icon-printer"></el-button>
         </div>
         <el-table
@@ -144,48 +166,11 @@
                 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>
+                <template v-for="(item,index) in itemList" >
+                    <el-table-column :key='index' v-if='item.checked' :width='item.width'
+                    :prop="item.value"  :label="item.name">
+                    </el-table-column>
+                </template>             
                 <el-table-column
                 prop="zip" width="220" fixed="right"
                 label="操作">
@@ -231,6 +216,28 @@ export default {
     },
   data(){
     return{
+      checkList:[],
+      itemList:[
+          {name:'姓名', value:'name',checked:true},
+          {name:'联系电话', value:'phone',checked:true,width:'120px'},
+          {name:'状态', value:'order_status_1',checked:true},
+          {name:'管理员备注', value:'remark',checked:true,width:'150px'},
+          {name:'报名类型', value:'subject_item0',checked:true,width:'120px'},
+          {name:'作业类别', value:'subject_item1',checked:true},
+          {name:'准操项目', value:'subject_item2',checked:true},
+          {name:'培训类型', value:'train_type',checked:true},
+          {name:'考试时间', value:'exam_time',checked:true,width:'150px'},
+          {name:'ID', value:'id',checked:true},
+          {name:'支付状态', value:'pay_status_1',checked:true},
+          {name:'支付金额', value:'price',checked:true},
+          {name:'更新时间', value:'ctime',checked:true,width:'170px'},
+          {name:'发票类型', value:'bill_type_1',checked:true,width:'120px'},
+          {name:'领证方式', value:'receive_card',checked:true},
+          {name:'实名认证', value:'verify_1',checked:true},
+          {name:'报名时间', value:'signup_time',checked:true,width:'150px'},
+          {name:'培训时间', value:'train_time',checked:true,width:'150px'},
+          {name:'公司名称', value:'company',checked:true,width:'200px'},
+      ],
       text:'批量设置培训时间',
       date_type:1,
       time:'',
@@ -249,12 +256,31 @@ export default {
       gopage(){
             this.form.page=this.$refs.pageButton.page
             this.getData()
-        },
+      },
       getData(){
           var parm=this.form;
           this.loading=true;
           if(this.order_status != '-3'){parm.order_status=this.order_status}
           this.$api.getSignList(parm).then(res=>{
+              let data=res.data.data.list;
+              for(let i=0;i<data.length;i++){
+                    let item=data[i],status='',pay_status='',verify='',bill_type='';
+                    if(item.pay_status){pay_status='已支付'}else{pay_status='未支付'}
+                    if(item.verify){verify='已认证'}else{verify='未认证'}
+                    if(item.bill_type == 0)bill_type='不需要发票';
+                    if(item.bill_type == 1)bill_type='个人发票';
+                    if(item.bill_type == 2)bill_type='公司发票';
+                    if(item.order_status == -2)status='审核未通过';
+                    if(item.order_status == -1)status='待提交资料';
+                    if(item.order_status == 0)status='待审核';
+                    if(item.order_status == 1)status='已审核立即支付';
+                    if(item.order_status == 2)status='学习中';
+                    if(item.order_status == 3)status='已完成';
+                    item.order_status_1=status
+                    item.pay_status_1=pay_status
+                    item.verify_1=verify
+                    item.bill_type_1=bill_type
+              }
               this.list=res.data.data.list
               this.total=res.data.data.total
               this.loading=false
@@ -365,38 +391,36 @@ export default {
       },
       print(){
         var newwindow = window.open("","");
-        var tr='';
+        var tr='',th='';
+        for(let i=0;i<this.itemList.length;i++){
+            let item=this.itemList[i];
+            th+=`
+                <td>${item.name}</td>
+            `
+        }
         for(let i=0;i<this.list.length;i++){
             let item=this.list[i];
-            let status='';
-            // -2:审核未通过,-1:待提交资料,0:待审核,1:已审核立即支付,2:学习中,3:已完成
-            if(item.order_status == -2)status='审核未通过';
-            if(item.order_status == -1)status='待提交资料';
-            if(item.order_status == 0)status='待审核';
-            if(item.order_status == 1)status='已审核立即支付';
-            if(item.order_status == 2)status='学习中';
-            if(item.order_status == 3)status='已完成';
-            tr+=`
-                <tr>
-                    <td>${item.name}</td><td>${item.phone}</td><td>${status}</td>
-                    <td>${item.remark}</td><td>${item.subject_item0}</td>
-                    <td>${item.subject_item1}</td><td>${item.subject_item2}</td><td>${item.train_type}</td>
-                </tr>
-            `
+            let tds=''
+            for(let j=0;j<this.itemList.length;j++){
+                let item_1=this.itemList[j];
+                tds+=`
+                    <td>${item[item_1.value]||' '}</td>
+                `
+            }
+            tr+=`<tr>${tds}</tr>`
         }
         var table=`
             <style>
-                td{text-align:center;padding:10px 0;color:#666;}
-
+                td{text-align:center;padding:10px 0;color:#666;font-size:12px;}
             </style>
             <table style='border-collapse: collapse;border:none;border-color:#d9d9d9;padding:10px;' border='1' cellspacing='0' cellpadding='0' width='100%'>
                 <thead style="text-align:center;">
-                    <td>姓名</td><td>联系电话</td><td>状态</td><td>管理员备注</td><td>报名类型</td>
-                    <td>作业类别</td><td>准操类型</td><td>培训类型</td>
+                    ${th}
                 </thead>
                 ${tr}
             </table>
         `
+        console.log(table)
         newwindow.document.write(table);
         newwindow.window.print();  
       },

+ 88 - 64
src/views/apply/Update.vue

@@ -27,13 +27,22 @@
            th{
                background: #eee;
            }
-       }
+       }     
+    }
+    .checkList{
+           padding:0 10px;
+           label{
+               margin: 5px 0;
+           }
     }
     .table{
         button{
             padding:6px;
         }
     }
+    .el-table__fixed-right::before, .el-table__fixed::before{
+        background: none;
+    }
 </style>
 <template>
     <section class="apply">
@@ -132,6 +141,19 @@
                 <el-button @click="download('exam')" size="small" type="warning" >导出考勤表与申报考试表</el-button>
                 <el-button @click="download('apply')"  size="small" type="warning" >导出学员申报资料</el-button>
                 <el-divider  direction="vertical"></el-divider>
+                <el-dropdown  trigger="click">
+                    <el-button type="primary" size="mini"  plain icon="el-icon-finished">
+                    </el-button>
+                    <el-dropdown-menu slot="dropdown">
+                        <!-- <el-dropdown-item>姓名</el-dropdown-item> -->
+                        <div class="checkList">
+                            <p v-for="(item,index) in itemList" :key='index'>
+                                <el-checkbox v-model="item.checked"   :label="item.name"></el-checkbox>
+                            </p>
+                        </div>
+                    </el-dropdown-menu>
+                </el-dropdown>
+                &nbsp;
                 <el-button @click="print" type="primary" size="mini" plain icon="el-icon-printer"></el-button>
         </div>
         <el-table
@@ -144,48 +166,11 @@
                 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>
+                <template v-for="(item,index) in itemList" >
+                    <el-table-column :key='index' v-if='item.checked' :width='item.width'
+                    :prop="item.value"  :label="item.name">
+                    </el-table-column>
+                </template>             
                 <el-table-column
                 prop="zip" width="220" fixed="right"
                 label="操作">
@@ -231,6 +216,28 @@ export default {
     },
   data(){
     return{
+      checkList:[],
+      itemList:[
+          {name:'姓名', value:'name',checked:true},
+          {name:'联系电话', value:'phone',checked:true,width:'120px'},
+          {name:'状态', value:'order_status_1',checked:true},
+          {name:'管理员备注', value:'remark',checked:true,width:'150px'},
+          {name:'报名类型', value:'subject_item0',checked:true,width:'120px'},
+          {name:'作业类别', value:'subject_item1',checked:true},
+          {name:'准操项目', value:'subject_item2',checked:true},
+          {name:'培训类型', value:'train_type',checked:true},
+          {name:'考试时间', value:'exam_time',checked:true,width:'150px'},
+          {name:'ID', value:'id',checked:true},
+          {name:'支付状态', value:'pay_status_1',checked:true},
+          {name:'支付金额', value:'price',checked:true},
+          {name:'更新时间', value:'ctime',checked:true,width:'170px'},
+          {name:'发票类型', value:'bill_type_1',checked:true,width:'120px'},
+          {name:'领证方式', value:'receive_card',checked:true},
+          {name:'实名认证', value:'verify_1',checked:true},
+          {name:'报名时间', value:'signup_time',checked:true,width:'150px'},
+          {name:'培训时间', value:'train_time',checked:true,width:'150px'},
+          {name:'公司名称', value:'company',checked:true,width:'200px'},
+      ],
       text:'批量设置培训时间',
       date_type:1,
       time:'',
@@ -249,12 +256,31 @@ export default {
       gopage(){
             this.form.page=this.$refs.pageButton.page
             this.getData()
-        },
+      },
       getData(){
           var parm=this.form;
           this.loading=true;
           if(this.order_status != '-3'){parm.order_status=this.order_status}
           this.$api.getSignList(parm).then(res=>{
+              let data=res.data.data.list;
+              for(let i=0;i<data.length;i++){
+                    let item=data[i],status='',pay_status='',verify='',bill_type='';
+                    if(item.pay_status){pay_status='已支付'}else{pay_status='未支付'}
+                    if(item.verify){verify='已认证'}else{verify='未认证'}
+                    if(item.bill_type == 0)bill_type='不需要发票';
+                    if(item.bill_type == 1)bill_type='个人发票';
+                    if(item.bill_type == 2)bill_type='公司发票';
+                    if(item.order_status == -2)status='审核未通过';
+                    if(item.order_status == -1)status='待提交资料';
+                    if(item.order_status == 0)status='待审核';
+                    if(item.order_status == 1)status='已审核立即支付';
+                    if(item.order_status == 2)status='学习中';
+                    if(item.order_status == 3)status='已完成';
+                    item.order_status_1=status
+                    item.pay_status_1=pay_status
+                    item.verify_1=verify
+                    item.bill_type_1=bill_type
+              }
               this.list=res.data.data.list
               this.total=res.data.data.total
               this.loading=false
@@ -365,38 +391,36 @@ export default {
       },
       print(){
         var newwindow = window.open("","");
-        var tr='';
+        var tr='',th='';
+        for(let i=0;i<this.itemList.length;i++){
+            let item=this.itemList[i];
+            th+=`
+                <td>${item.name}</td>
+            `
+        }
         for(let i=0;i<this.list.length;i++){
             let item=this.list[i];
-            let status='';
-            // -2:审核未通过,-1:待提交资料,0:待审核,1:已审核立即支付,2:学习中,3:已完成
-            if(item.order_status == -2)status='审核未通过';
-            if(item.order_status == -1)status='待提交资料';
-            if(item.order_status == 0)status='待审核';
-            if(item.order_status == 1)status='已审核立即支付';
-            if(item.order_status == 2)status='学习中';
-            if(item.order_status == 3)status='已完成';
-            tr+=`
-                <tr>
-                    <td>${item.name}</td><td>${item.phone}</td><td>${status}</td>
-                    <td>${item.remark}</td><td>${item.subject_item0}</td>
-                    <td>${item.subject_item1}</td><td>${item.subject_item2}</td><td>${item.train_type}</td>
-                </tr>
-            `
+            let tds=''
+            for(let j=0;j<this.itemList.length;j++){
+                let item_1=this.itemList[j];
+                tds+=`
+                    <td>${item[item_1.value]||' '}</td>
+                `
+            }
+            tr+=`<tr>${tds}</tr>`
         }
         var table=`
             <style>
-                td{text-align:center;padding:10px 0;color:#666;}
-
+                td{text-align:center;padding:10px 0;color:#666;font-size:12px;}
             </style>
             <table style='border-collapse: collapse;border:none;border-color:#d9d9d9;padding:10px;' border='1' cellspacing='0' cellpadding='0' width='100%'>
                 <thead style="text-align:center;">
-                    <td>姓名</td><td>联系电话</td><td>状态</td><td>管理员备注</td><td>报名类型</td>
-                    <td>作业类别</td><td>准操类型</td><td>培训类型</td>
+                    ${th}
                 </thead>
                 ${tr}
             </table>
         `
+        console.log(table)
         newwindow.document.write(table);
         newwindow.window.print();  
       },

+ 4 - 4
src/views/classes/Index.vue

@@ -44,7 +44,7 @@
 
         <el-table
                 class="table"
-                :data="list"
+                :data="list" height="450px"
                 border  v-loading="loading"
                 style="width: 100%">
                 <!-- <el-table-column
@@ -60,11 +60,11 @@
                 label="培训项目">
                 </el-table-column>
                 <el-table-column
-                prop="signup_limit"
+                prop="signup_limit" width="80"
                 label="计划人数">
                 </el-table-column>
                 <el-table-column
-                prop="signuped_count"
+                prop="signuped_count" width="100"
                 label="已报名人数">
                 </el-table-column>
                 <el-table-column
@@ -76,7 +76,7 @@
                 label="创建时间">
                 </el-table-column>
                 <el-table-column
-                prop="zip"  width="200"
+                prop="zip"  width="150"
                 label="操作">
                 <template slot-scope="scope">
                     <el-button @click="$router.push({path:'/classes/add',query:{id:scope.row.id}})" size="mini" type="warning">编辑</el-button>

+ 24 - 8
src/views/content/addArticle.vue

@@ -6,7 +6,6 @@
   }
   .bm-view {
     width: 100%;
-    height: 300px;
   }
   .avatar-uploader .el-upload {
     border: 1px dashed #d9d9d9;
@@ -87,12 +86,18 @@
           </ul>
         </el-form-item>
         <el-form-item label="设置定位">
-          <baidu-map class="map bm-view" :center="{lng: 116.404, lat: 39.915}" :zoom="15">
-            <bm-marker :position="{lng: 116.404, lat: 39.915}" :dragging="true" animation="BMAP_ANIMATION_BOUNCE">
-              <!-- <bm-label  :labelStyle="{color: 'red', fontSize : '24px'}" :offset="{width: -35, height: 30}"/> -->
+          <!-- <baidu-map @click="map" class="map bm-view" :center="{lng: 116.404, lat: 39.915}" :zoom="15">
+            <bm-marker :position="point" :dragging="true" animation="BMAP_ANIMATION_BOUNCE">
             </bm-marker>
+          </baidu-map> -->
+          <el-input style="width:100%" v-model="keyword" placeholder="请输入关键词搜索"></el-input>
+          <p>点击地图添加标记</p>
+          <baidu-map @click="map" class="map bm-view" :center="point" :zoom="15">
+            <bm-view style="width: 100%; height:300px;"></bm-view>
+            <bm-marker :position="point" :dragging="true" animation="BMAP_ANIMATION_BOUNCE">
+            </bm-marker>
+            <bm-local-search style="max-height:200px;overflow:auto;border:1px solid #d9d9d9;" :keyword="keyword" :auto-viewport="true"></bm-local-search>
           </baidu-map>
-          <!-- <baidu-map class="bm-view" center="成都"></baidu-map> -->
         </el-form-item>
 
         <el-form-item label="联系方式">
@@ -123,13 +128,22 @@ export default {
         address: "",
         point: ""
       },
-      isClear: false
+      isClear: false,
+      keyword:'',
+      point:{
+        lng:'',
+        lat:''
+      }
     };
   },
   methods: {
     getData() {
       this.$api.getArticleById({ id: this.form.id }).then(res => {
         this.form = res.data.data;
+        this.point={
+          lng:this.form.point.split(',')[0],
+          lat:this.form.point.split(',')[1]
+        }
       });
     },
     getContent(){
@@ -145,7 +159,6 @@ export default {
         }
       });
     },
-    gopage() {},
     change(val) {
       this.form.content = val;
     },
@@ -167,7 +180,7 @@ export default {
       },
     save() {
       var parm = this.form;
-        console.log(parm)
+      parm.point=this.point.lng+','+this.point.lat
       if (parm.id) {
         // debugger;
         this.$api.editArticle(parm).then(res => {
@@ -188,6 +201,9 @@ export default {
           }
         });
       }
+    },
+    map(type,target){
+        this.point=type.point
     }
   },
   created() {

+ 3 - 3
src/views/paper/Index.vue

@@ -45,7 +45,7 @@
 
         <el-table
                 class="table"
-                :data="list"
+                :data="list" height="450px"
                 border  v-loading="loading"
                 style="width: 100%">
                 <el-table-column
@@ -57,11 +57,11 @@
                 label="培训项目">
                 </el-table-column>
                 <el-table-column
-                prop="total_time"
+                prop="total_time"  width="80"
                 label="考试时间">
                 </el-table-column>
                 <el-table-column
-                prop="total_score"
+                prop="total_score" width="80"
                 label="满分">
                 </el-table-column>
                 <el-table-column

+ 11 - 2
src/views/project/Index.vue

@@ -146,7 +146,7 @@ export default {
   methods:{
       getData(){
           this.loading=true
-          this.$api.getSubList().then(res=>{
+          this.$api.getSubList({subject_id:this.id}).then(res=>{
               this.data=res.data.data
               this.loading=false
           })
@@ -215,8 +215,17 @@ export default {
           }
       }
   },
+  watch:{
+      $route(){
+          this.id=this.$route.query.id
+          this.getData()
+      }
+  },
   created(){
-      this.getData()
+        if(this.$route.query.id){
+            this.id=this.$route.query.id
+            this.getData()
+        }
   }
 }
 </script>

+ 3 - 3
src/views/system/Index.vue

@@ -36,13 +36,13 @@
         </el-form-item>
       </el-form>
     </div>
-    <el-table class="table" :data="list" border style="width: 100%">
-      <el-table-column type="selection" fixed="left" width="55"></el-table-column>
+    <el-table class="table" :data="list" border style="width: 100%" height="450px">
+      <!-- <el-table-column type="selection" fixed="left" width="55"></el-table-column> -->
       <el-table-column prop="name" label="账号"></el-table-column>
       <el-table-column prop="realname" label="姓名"></el-table-column>
       <!-- <el-table-column prop="permissions" label="权限"></el-table-column> -->
       <el-table-column prop="ctime" label="创建时间"></el-table-column>
-      <el-table-column prop="zip" width="300" label="操作">
+      <el-table-column prop="zip" width="200" label="操作">
         <template slot-scope="scope">
           <el-button
             @click="$router.push({path:'/system/addAccount',query:{id:scope.row.id}})"

+ 92 - 24
src/views/videos/Add.vue

@@ -8,56 +8,124 @@
 <template>
     <section class="add">
         <p>在线培训  >  视频管理  >  新增视频</p>
-        <div class="content">
+        <div class="content" v-loading.fullscreen.lock="fullscreenLoading">
             <el-form label-width="80px">
-                <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 label="培训项目" v-if="id!=''">
+                    <Subject v-if='form.subject_id' :subvalue='form.subject_item' @subChange='subChange'/>
                 </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 label="培训项目" v-else>
+                    <Subject @subChange='subChange'/>
                 </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-form-item label="培训类型">
+                    <el-select v-model="form.train_type" placeholder="请选择" clearable>
+                        <el-option  label="新办"  value="新办"></el-option>
+                        <el-option  label="换证"  value="换证"></el-option>
+                        <el-option  label="复审"  value="复审"></el-option>
                     </el-select>
                 </el-form-item>
                 <el-form-item label="视频名称">
-                        <el-input placeholder="视频名称" v-model="form.name"></el-input>
+                        <el-input placeholder="视频名称" v-model="form.title"></el-input>
                 </el-form-item>
                 <el-form-item label="封面图">
-                    <input type="file">
+                    <p v-if="form.img">
+                        <img width="300"  :src="form.img" alt="">
+                    </p>
+                    <input type="file" @change="upload('img')" id='img'>
                 </el-form-item>
                 <el-form-item label="视频文件">
-                    <input type="file">
+                    <p v-if="form.url">
+                        <video width="300"  :src="form.url"></video>
+                    </p>
+                    <input type="file" @change="upload('url')" id='url'>
                 </el-form-item>
                 <el-form-item label=" ">
-                        <el-button type="primary">保存</el-button>
+                        <el-button @click="save" type="primary">保存</el-button>
                 </el-form-item>
             </el-form>
         </div>
     </section>
 </template>
 <script>
-
+import Subject from '../../components/Subject';
 export default {
-
+  components:{
+        Subject
+    },
   data(){
     return{
-      form:{name:1,a:''}
+      fullscreenLoading:false,
+      form:{},
+      id:''
     }
   },
   methods:{
-      gopage(){}
+      subChange(data,id){
+          this.form.subject_id=id
+          this.form.subject_item=data.join('|')
+      },
+      upload(type){
+          var file=document.getElementById(type).files;
+          var data=new FormData();
+            data.append("file",file[0])
+            this.fullscreenLoading=true
+          this.$api.uploadFile(data).then(res=>{
+              this.fullscreenLoading=false
+              if(res.data.code==0){
+                      let form=this.form;
+                      this.$set(form,type,res.data.data.url)
+                      this.$message({message: '上传成功!',type: 'success'});
+                  }else{
+                      this.$message.error(res.data.message);
+                  }
+          })
+      },
+      getData(){
+          this.$api.getVideo({id:this.form.id}).then(res=>{
+              this.form=res.data.data
+          })
+      },
+      save(){
+          var parm=this.form;
+          if(parm.id){
+              this.$api.putVideo(parm).then(res=>{
+                  if(res.data.code==0){
+                      this.$message({message: '修改成功!',type: 'success'});
+                      this.$router.push({path:'/videos'})
+                  }else{
+                      this.$message.error(res.data.message);
+                  }
+              })
+          }else{
+              this.$api.saveVideo(parm).then(res=>{
+                  if(res.data.code==0){
+                      this.$message({message: '添加成功!',type: 'success'});
+                      this.$router.push({path:'/videos'})
+                  }else{
+                      this.$message.error(res.data.message);
+                  }
+              })
+          }
+      },
+      del(id){
+            this.$confirm('确定删除吗', '提示', {
+                    type: 'warning'
+                }).then(() => {
+                   this.$api.deleteVideo({id:id}).then((res)=>{
+                        this.$message({
+                            message: '删除成功',
+                            type: 'success'
+                        })
+                        this.getData()
+                })
+            })
+      },
   },
   created(){
-  
+      if(this.$route.query.id){
+            this.form.id=this.$route.query.id
+            this.id=this.$route.query.id
+            this.getData()
+        }
   }
 }
 </script>

+ 8 - 9
src/views/videos/Index.vue

@@ -44,7 +44,7 @@
 
         <el-table
                 class="table"
-                :data="list"
+                :data="list" height="450px"
                 border  v-loading="loading"
                 style="width: 100%">
                 <el-table-column
@@ -55,10 +55,10 @@
                 prop="subject_item"
                 label="培训项目">
                 </el-table-column>
-                <!-- <el-table-column
-                prop="exam_time"
-                label="考试时间">
-                </el-table-column> -->
+                <el-table-column
+                prop="train_type"
+                label="培训类型">
+                </el-table-column>
                 <!-- <el-table-column
                 prop="total_score"
                 label="满分">
@@ -68,12 +68,11 @@
                 label="创建时间">
                 </el-table-column>
                 <el-table-column
-                prop="zip" width="250"
+                prop="zip" width="200"
                 label="操作">
                 <template slot-scope="scope">
-                    <el-button @click="$router.push({path:'/papers/detail',query:{id:scope.row.id}})"  size="mini" type="success">查看</el-button>
-                    <el-button size="mini" type="warning">编辑</el-button>
-                    <el-button size="mini"  type="danger">删除</el-button>
+                    <el-button @click="$router.push({path:'/videos/add',query:{id:scope.row.id}})"  size="mini" type="success">编辑</el-button>
+                    <el-button @click="del(scope.row.id)"  size="mini" type="danger">删除</el-button>
                 </template>
                 </el-table-column>
         </el-table>