Your Name 9 months ago
parent
commit
7a780a5ecd
37 changed files with 16276 additions and 79 deletions
  1. 1
    1
      application/admin/conf/auth_rule.php
  2. 190
    11
      application/admin/controller/ZcPosition.php
  3. 1130
    0
      application/admin/controller/ZcdjPosition.php
  4. 60
    6
      application/admin/controller/ZcwdPosition.php
  5. 1176
    0
      application/admin/controller/ZcwePosition.php
  6. 1233
    0
      application/admin/controller/ZcwfPosition.php
  7. 209
    2
      application/admin/controller/ZczsPosition.php
  8. 210
    3
      application/admin/controller/ZczyPosition.php
  9. 16
    4
      application/admin/template/zc_position/admin_bar.htm
  10. 152
    4
      application/admin/template/zc_position/choose.htm
  11. 146
    4
      application/admin/template/zc_position/choose2.htm
  12. 815
    0
      application/admin/template/zc_position/choose3.htm
  13. 6
    2
      application/admin/template/zc_position/index.htm
  14. 874
    0
      application/admin/template/zcdj_position/add.htm
  15. 697
    0
      application/admin/template/zcdj_position/addtype.htm
  16. 964
    0
      application/admin/template/zcdj_position/edit.htm
  17. 697
    0
      application/admin/template/zcdj_position/edittype.htm
  18. 341
    0
      application/admin/template/zcdj_position/index.htm
  19. 24
    2
      application/admin/template/zcwd_position/add.htm
  20. 30
    1
      application/admin/template/zcwd_position/edit.htm
  21. 23
    12
      application/admin/template/zcwd_position/index.htm
  22. 876
    0
      application/admin/template/zcwe_position/add.htm
  23. 914
    0
      application/admin/template/zcwe_position/edit.htm
  24. 270
    0
      application/admin/template/zcwe_position/index.htm
  25. 901
    0
      application/admin/template/zcwf_position/add.htm
  26. 988
    0
      application/admin/template/zcwf_position/edit.htm
  27. 277
    0
      application/admin/template/zcwf_position/index.htm
  28. 36
    5
      application/admin/template/zczs_position/add.htm
  29. 697
    0
      application/admin/template/zczs_position/addtype.htm
  30. 35
    4
      application/admin/template/zczs_position/edit.htm
  31. 697
    0
      application/admin/template/zczs_position/edittype.htm
  32. 48
    6
      application/admin/template/zczs_position/index.htm
  33. 45
    4
      application/admin/template/zczy_position/add.htm
  34. 697
    0
      application/admin/template/zczy_position/addtype.htm
  35. 41
    4
      application/admin/template/zczy_position/edit.htm
  36. 697
    0
      application/admin/template/zczy_position/edittype.htm
  37. 63
    4
      application/admin/template/zczy_position/index.htm

+ 1
- 1
application/admin/conf/auth_rule.php View File

@@ -57,7 +57,7 @@ return [
57 57
         'name'  => '允许操作',
58 58
         'is_modules'    => 1,
59 59
         'sort_order'    => 100,
60
-        'auths' => 'Other@*,ZcPosition@*,ZczsPosition@*,ZczyPosition@*',
60
+        'auths' => 'Other@*,ZcPosition@*,ZczsPosition@*,ZczyPosition@*,ZcdjPosition@*',
61 61
     ],
62 62
     [
63 63
         'id' => 49, // 复制广告管理  职称问答流程

+ 190
- 11
application/admin/controller/ZcPosition.php View File

@@ -668,19 +668,110 @@ class ZcPosition extends Base
668 668
         }
669 669
     }
670 670
 
671
+    public function getZyList()
672
+    {
673
+        $id = request()->param('id');
674
+        $list = Db::name('zczy_position')
675
+            ->where(['is_del'=>0,'type'=>$id])
676
+            ->order('type asc')
677
+            ->select();
678
+        $html = '<option value="0">请选择</option>';
679
+        foreach ($list as $key => $value) {
680
+            $html .= '<option value="'.$value['id'].'">'.$value['title'].'</option>';
681
+        }
682
+
683
+        $data = [
684
+            'code' => 0,
685
+            'msg' => '获取成功',
686
+            'data' => $html,
687
+        ];
688
+
689
+        return json($data);
690
+    }
691
+    public function getZsList()
692
+    {
693
+        $id = request()->param('id');
694
+        $list = Db::name('zczs_position')
695
+            ->where(['is_del'=>0,'type'=>$id])
696
+            ->order('type asc')
697
+            ->select();
698
+        $html = '<option value="0">请选择</option>';
699
+        foreach ($list as $key => $value) {
700
+            $html .= '<option value="'.$value['id'].'">'.$value['title'].'</option>';
701
+        }
702
+
703
+        $data = [
704
+            'code' => 0,
705
+            'msg' => '获取成功',
706
+            'data' => $html,
707
+        ];
708
+
709
+        return json($data);
710
+    }
711
+    public function getZsType()
712
+    {
713
+        $id = request()->param('id');
714
+
715
+        if($id == 0){
716
+            $html = '<option value="0">请选择</option>';
717
+        }else{
718
+            //查询子集
719
+            $list = Db::name('zc_type')
720
+                ->where('pid','=',$id)
721
+                ->where('is_del','=',0)
722
+                ->select();
723
+
724
+            $html = '<option value="0">请选择</option>';
725
+            foreach ($list as $key => $value) {
726
+                $html .= '<option value="'.$value['id'].'">'.$value['name'].'</option>';
727
+            }
728
+        }
729
+
730
+
731
+        $data = [
732
+            'code' => 0,
733
+            'msg' => '获取成功',
734
+            'data' => $html,
735
+        ];
736
+
737
+        return json($data);
738
+    }
739
+
671 740
     /*
672 741
      *
742
+     */
743
+    public function getDjList(){
744
+        $id = request()->param('id');
745
+        //查询组
746
+        $list = Db::name('zcdj_position')->where('type',$id)->select();
747
+        $html = '';
748
+        foreach ($list as $key => $value) {
749
+            $html .= '<span style="margin-right: 10px;">'.$value['title'].'</span>';
750
+        }
751
+        $data = [
752
+            'code' => 0,
753
+            'msg' => '获取成功',
754
+            'data' => $html,
755
+        ];
756
+
757
+        return json($data);
758
+    }
759
+
760
+
761
+    /*
673 762
      *
763
+     * 原先的逻辑 是列出所有证书 再验证现有的 选中状态即可
674 764
      */
675 765
     public function choose(){
676 766
 
677 767
         $id = request()->get('id');
768
+        $this->assign('id', $id);
678 769
 
679 770
         //查询该职称 已有哪些证书
680 771
         $map_ids = Db::name('zc_zs')->where(['zc_id'=>$id,'is_del'=>0])->column('map_id');
681
-
772
+        //var_dump($map_ids);
682 773
         //查询证书列表
683
-        $list = Db::name('zczs_position')->where(['is_del'=>0])->order('type asc')->select();
774
+        /*$list = Db::name('zczs_position')->where(['is_del'=>0])->order('type asc')->select();
684 775
         foreach ($list as $k=>$v){
685 776
             if(in_array($v['id'],$map_ids)){
686 777
                 $v['is_check'] = "checked";
@@ -688,11 +779,29 @@ class ZcPosition extends Base
688 779
                 $v['is_check'] = '';
689 780
             }
690 781
             $new_data[$v['type']][] = $v;
782
+        }*/
783
+        $list = Db::name('zczs_position')
784
+            ->where(['is_del'=>0])
785
+            ->where('id','in',$map_ids)
786
+            ->order('type asc')->select();
787
+        foreach ($list as $k=>$v){
788
+            $v['is_check'] = "checked";
789
+            $new_data[$v['type']][] = $v;
691 790
         }
692
-        $pro_list_t = ['初级','中级','高级'];
693
-        $this->assign('pro_list_t', $pro_list_t);
694 791
         $this->assign('pro_list', $new_data);
695
-        $this->assign('id', $id);
792
+
793
+        //调用一级分类
794
+        $pro_list_t = Db::name('zc_type')
795
+            ->where('pid',0)
796
+            ->where('is_del',0)
797
+            ->where('catid',1)
798
+            ->select();
799
+        /*foreach ($one as $k=>$item) {
800
+             Db::name('zc_type')->where('pid',$item['id'])->select();
801
+         }*/
802
+        //$pro_list_t = ['初级','中级','高级'];
803
+        $this->assign('pro_list_t', $pro_list_t);
804
+
696 805
         return $this->fetch();
697 806
     }
698 807
 
@@ -722,12 +831,12 @@ class ZcPosition extends Base
722 831
     public function choose2(){
723 832
 
724 833
         $id = request()->get('id');
834
+        $this->assign('id', $id);
725 835
 
726 836
         //查询该职称 已有哪些证书
727 837
         $map_ids = Db::name('zc_zy')->where(['zc_id'=>$id,'is_del'=>0])->column('map_id');
728
-
729 838
         //查询证书列表
730
-        $list = Db::name('zczy_position')->where(['is_del'=>0])->order('type asc')->select();
839
+        /*$list = Db::name('zczy_position')->where(['is_del'=>0])->order('type asc')->select();
731 840
         foreach ($list as $k=>$v){
732 841
             if(in_array($v['id'],$map_ids)){
733 842
                 $v['is_check'] = "checked";
@@ -735,12 +844,29 @@ class ZcPosition extends Base
735 844
                 $v['is_check'] = '';
736 845
             }
737 846
             $new_data[$v['type']][] = $v;
847
+        }*/
848
+        $list = Db::name('zczy_position')
849
+            ->where(['is_del'=>0])
850
+            ->where('id','in',$map_ids)
851
+            ->order('type asc')->select();
852
+        foreach ($list as $k=>$v){
853
+            $v['is_check'] = "checked";
854
+            $new_data[$v['type']][] = $v;
738 855
         }
739
-
740
-        $pro_list_t = ['通类','计算机科学','理学','哲学类','教育学类','医学类','中国语言文学类','历史学类','经济学类','法学','体育学类','工商管理类','军事学','新闻传播学类','公共管理类','中医学类','药学类','政治学类','社会学类','艺术类','生物科学类','农学','其他'];
741
-        $this->assign('pro_list_t', $pro_list_t);
742 856
         $this->assign('pro_list', $new_data);
743
-        $this->assign('id', $id);
857
+        
858
+        //调用一级分类
859
+        $pro_list_t = Db::name('zc_type')
860
+            ->where('pid',0)
861
+            ->where('is_del',0)
862
+            ->where('catid',2)
863
+            ->select();
864
+        /*foreach ($one as $k=>$item) {
865
+             Db::name('zc_type')->where('pid',$item['id'])->select();
866
+         }*/
867
+        //$pro_list_t = ['通类','计算机科学','理学','哲学类','教育学类','医学类','中国语言文学类','历史学类','经济学类','法学','体育学类','工商管理类','军事学','新闻传播学类','公共管理类','中医学类','药学类','政治学类','社会学类','艺术类','生物科学类','农学','其他'];
868
+        $this->assign('pro_list_t', $pro_list_t);
869
+
744 870
         return $this->fetch();
745 871
     }
746 872
 
@@ -767,6 +893,59 @@ class ZcPosition extends Base
767 893
         $this->success("操作成功", url('ZcPosition/index'));
768 894
     }
769 895
 
896
+    public function choose3(){
897
+
898
+        $id = request()->get('id');
899
+        $this->assign('id', $id);
900
+
901
+        //调用一级分类
902
+        $pro_list_t = Db::name('zc_type')
903
+            ->where('pid',0)
904
+            ->where('is_del',0)
905
+            ->where('catid',3)
906
+            ->select();
907
+        /*foreach ($one as $k=>$item) {
908
+             Db::name('zc_type')->where('pid',$item['id'])->select();
909
+         }*/
910
+        //$pro_list_t = ['通类','计算机科学','理学','哲学类','教育学类','医学类','中国语言文学类','历史学类','经济学类','法学','体育学类','工商管理类','军事学','新闻传播学类','公共管理类','中医学类','药学类','政治学类','社会学类','艺术类','生物科学类','农学','其他'];
911
+        $this->assign('pro_list_t', $pro_list_t);
912
+
913
+
914
+        $row = Db::name('zc_position')->where('id',$id)->find();
915
+        //调用二级分类
916
+        $two = Db::name('zc_type')->where('id',$row['dj_group_id'])->find();
917
+        $this->assign('curr_id2', $two['id']);
918
+        $this->assign('curr_id', $two['pid']);
919
+        $pro_list_p = Db::name('zc_type')->where('pid',$two['pid'])->select();
920
+        //var_dump($pro_list_p);
921
+        $this->assign('pro_list_p', $pro_list_p);
922
+
923
+        //当前等级ID dj_group_id
924
+        $dj_group_id = $row['dj_group_id'];
925
+        $list = Db::name('zcdj_position')->where('type',$dj_group_id)->select();
926
+        $this->assign('pro_list', $list);
927
+
928
+        return $this->fetch();
929
+    }
930
+
931
+    public function choosePost3()
932
+    {
933
+        $param = request()->param();
934
+        $id = $param['id'];
935
+        //组id $param['type2']
936
+        if((int)$param['type2'] > 0){
937
+            $data = [
938
+                'dj_group_id' => (int)$param['type2'],
939
+                'update_time' => time(),
940
+            ];
941
+            $res = Db::name('zc_position')->where('id',$id)->update($data);
942
+            //var_dump($res);
943
+            $this->success("操作成功", url('ZcPosition/index'));
944
+        }else{
945
+            $this->error('请选择等级组');
946
+        }
947
+    }
948
+
770 949
     /**
771 950
      * 删除
772 951
      */

+ 1130
- 0
application/admin/controller/ZcdjPosition.php
File diff suppressed because it is too large
View File


+ 60
- 6
application/admin/controller/ZcwdPosition.php View File

@@ -221,10 +221,10 @@ class ZcwdPosition extends Base
221 221
 
222 222
             //验证是否已经有重复的
223 223
             $one = Db::name('zcwd_position')->where([
224
-                    'type' => $post['type'],
225
-                    'sf' => $post['sf'],
226
-                    'cs' => $post['cs'],
227
-                    'sbdj' => $post['sbdj'],
224
+                    'type' => $post['type'], //申报专业
225
+                    'sf' => $post['sf'], //省份
226
+                    'cs' => $post['cs'], //城市
227
+                    'sbdj' => $post['sbdj'], //等级
228 228
                     'is_del' => 0,
229 229
                 ])->find();
230 230
             if(!empty($one)){
@@ -235,7 +235,17 @@ class ZcwdPosition extends Base
235 235
             if((int)$post['type'] > 0){
236 236
                 $post['title'] .= Db::name('zc_position')->where(['id'=>$post['type']])->value('title');
237 237
             }
238
-            $less = ['初级助理工程师','初级技术员','中级','品牌中级','副高级'];
238
+
239
+            //$less = ['初级助理工程师','初级技术员','中级','品牌中级','副高级'];
240
+            $less = [];
241
+            $row = Db::name('zc_position')->where(['id'=>$post['type']])->find();
242
+            $dj_group_id = $row['dj_group_id'];
243
+            //查找分类组
244
+            $dj_group_list = Db::name('zcdj_position')->where(['type'=>$dj_group_id])->select();
245
+            foreach ($dj_group_list as $k=>$v){
246
+                $less[$v['id']] = $v['title'];
247
+            }
248
+
239 249
             $post['title'] .= '-'.$less[(int)$post['sbdj']];
240 250
             if((int)$post['sf'] > 0){
241 251
                 $post['title'] .= '-';
@@ -290,6 +300,7 @@ class ZcwdPosition extends Base
290 300
                 'sjnx' => $post['sjnx'],
291 301
                 'gzyq' => json_encode($post['gzyq'],JSON_UNESCAPED_UNICODE),
292 302
                 'qttj' => $post['qttj'],
303
+                'orderno' => date('YmdHis',time()).rand(1000,9999)
293 304
             );
294 305
             $insertID = Db::name('zcwd_position')->insertGetId($data);
295 306
 
@@ -377,6 +388,29 @@ class ZcwdPosition extends Base
377 388
         return $this->fetch();
378 389
     }
379 390
 
391
+    public function getLess()
392
+    {
393
+        $id = request()->post('id');
394
+        //查找职称
395
+        $row = Db::name('zc_position')->where(['id'=>$id])->find();
396
+        $dj_group_id = $row['dj_group_id'];
397
+        //查找分类组
398
+        $list = Db::name('zcdj_position')->where(['type'=>$dj_group_id])->select();
399
+
400
+        $html = '<option value="0">选择等级</option>';
401
+        foreach ($list as $k=>$v){
402
+            $html .= '<option value="'.$v['id'].'">'.$v['title'].'</option>';
403
+        }
404
+
405
+        $data = [
406
+            'code' => 0,
407
+            'msg' => '获取成功',
408
+            'data' => $html,
409
+        ];
410
+
411
+        return json($data);
412
+    }
413
+
380 414
     public function getZs()
381 415
     {
382 416
         $id = request()->post('id',0);
@@ -512,7 +546,18 @@ class ZcwdPosition extends Base
512 546
                 if((int)$post['type'] > 0){
513 547
                     $post['title'] .= Db::name('zc_position')->where(['id'=>$post['type']])->value('title');
514 548
                 }
515
-                $less = ['初级助理工程师','初级技术员','中级','品牌中级','副高级'];
549
+
550
+
551
+                //$less = ['初级助理工程师','初级技术员','中级','品牌中级','副高级'];
552
+                $less = [];
553
+                $row = Db::name('zc_position')->where(['id'=>$post['type']])->find();
554
+                $dj_group_id = $row['dj_group_id'];
555
+                //查找分类组
556
+                $dj_group_list = Db::name('zcdj_position')->where(['type'=>$dj_group_id])->select();
557
+                foreach ($dj_group_list as $k=>$v){
558
+                    $less[$v['id']] = $v['title'];
559
+                }
560
+
516 561
                 $post['title'] .= '-'.$less[(int)$post['sbdj']];
517 562
                 if((int)$post['sf'] > 0){
518 563
                     $post['title'] .= '-';
@@ -791,6 +836,15 @@ class ZcwdPosition extends Base
791 836
         $gzyq = json_decode($field['gzyq'],true);
792 837
         $this->assign('gzyq',$gzyq);
793 838
 
839
+
840
+        //查找职称
841
+        $row = Db::name('zc_position')->where(['id'=>$field['type']])->find();
842
+        $dj_group_id = $row['dj_group_id'];
843
+        //查找分类组
844
+        $dj_group_list = Db::name('zcdj_position')->where(['type'=>$dj_group_id])->select();
845
+        $this->assign('dj_group_list',$dj_group_list);
846
+
847
+
794 848
         $this->assign($assign_data);
795 849
         return $this->fetch();
796 850
     }

+ 1176
- 0
application/admin/controller/ZcwePosition.php
File diff suppressed because it is too large
View File


+ 1233
- 0
application/admin/controller/ZcwfPosition.php
File diff suppressed because it is too large
View File


+ 209
- 2
application/admin/controller/ZczsPosition.php View File

@@ -44,6 +44,27 @@ class ZczsPosition extends Base
44 44
             }
45 45
         }
46 46
 
47
+
48
+        unset($condition['a.type']);
49
+        //var_dump($condition);
50
+
51
+        if(!empty($get['type']) && (int)$get['type'] > 0){
52
+            if(!empty($get['type2']) && (int)$get['type2'] > 0){
53
+                //存在二级
54
+                $condition['a.type'] = array('eq', (int)$get['type2']);
55
+            }else{
56
+                //存在一级
57
+                $zc_ids = Db::name('zc_type')->where('pid','=',(int)$get['type'])->column('id');
58
+                $zc_ids[] = (int)$get['type'];
59
+                $condition['a.type'] = array('IN', $zc_ids);
60
+            }
61
+        }else{
62
+            unset($condition['a.type']);
63
+        }
64
+        //var_dump($condition);
65
+
66
+
67
+
47 68
         //增加地区条件
48 69
         if(!empty($get['map']) && $get['map'] == '-1'){
49 70
 
@@ -131,8 +152,11 @@ class ZczsPosition extends Base
131 152
                 $v['ad_count'] = count($v['ad']);
132 153
             }
133 154
 
134
-            $less = ['初级','中级','高级'];
135
-            $v['type_name'] = $less[(int)$v['type']];
155
+
156
+            //查找分类表
157
+            $v['type_name'] = Db::name('zc_type')->where(['id' => (int)$v['type']])->value('name');
158
+/*            $less = ['初级','中级','高级'];
159
+            $v['type_name'] = $less[(int)$v['type']];*/
136 160
 
137 161
             if((int)$v['type'] == 0){
138 162
 
@@ -195,6 +219,19 @@ class ZczsPosition extends Base
195 219
         //var_dump($pro_list);
196 220
         $this->assign('pro_list', $pro_list);
197 221
 
222
+
223
+        $pos_list = Db::name('zc_type')->where(['pid'=>0,'is_del'=>0,'catid'=>1])->select();
224
+        $this->assign('pos_list', $pos_list);
225
+
226
+        //查询二级
227
+        if(!empty($get['type']) && (int)$get['type'] > 0){
228
+            $pos_list2 = Db::name('zc_type')->where(['pid'=>$get['type'],'is_del'=>0])->select();
229
+            $this->assign('pos_list2', $pos_list2);
230
+        }
231
+
232
+
233
+
234
+
198 235
         return $this->fetch();
199 236
     }
200 237
     
@@ -345,9 +382,49 @@ class ZczsPosition extends Base
345 382
         $this->assign('pro_list', $pro_list);
346 383
 
347 384
 
385
+        $pos_list = Db::name('zc_type')->where(['pid'=>0,'is_del'=>0,'catid'=>1])->select();
386
+        $this->assign('pos_list', $pos_list);
387
+
388
+        //查询二级
389
+        if(!empty($pos_list)){
390
+            $pos_list2 = Db::name('zc_type')->where(['pid'=>$pos_list[0]['id'],'is_del'=>0,'catid'=>1])->select();
391
+            $this->assign('pos_list2', $pos_list2);
392
+        }
393
+
348 394
         return $this->fetch();
349 395
     }
350 396
 
397
+    public function getType($sid='')
398
+    {
399
+        if($sid == ''){
400
+            $id = request()->post('id',0);
401
+        }else{
402
+            $id = $sid;
403
+        }
404
+
405
+        //查找区域
406
+        $list = Db::name('zc_type')
407
+            ->where('pid','=',$id)
408
+            ->where('is_del','=',0)
409
+            ->select();
410
+
411
+        $html = '';
412
+        foreach ($list as $key => $value) {
413
+            $html .= '<option value="'.$value['id'].'">'.$value['name'].'</option>';
414
+        }
415
+
416
+        $data = [
417
+            'code' => 0,
418
+            'msg' => '获取成功',
419
+            'data' => $html,
420
+        ];
421
+
422
+        if($sid == ''){
423
+            return json($data);
424
+        }else{
425
+            return $list;
426
+        }
427
+    }
351 428
     
352 429
     /**
353 430
      * 编辑
@@ -605,11 +682,141 @@ class ZczsPosition extends Base
605 682
 
606 683
 
607 684
 
685
+        $row = Db::name('zc_type')->where(['id'=>$field['type'],'is_del'=>0])->find();
686
+        $this->assign('pid', $row['pid']);
687
+
688
+        $pos_list = Db::name('zc_type')->where(['pid'=>0,'is_del'=>0,'catid'=>1])->select();
689
+        $this->assign('pos_list', $pos_list);
690
+
691
+        //查询二级
692
+        if(!empty($pos_list)){
693
+            $pos_list2 = Db::name('zc_type')->where(['pid'=>$row['pid'],'is_del'=>0,'catid'=>1])->select();
694
+            $this->assign('pos_list2', $pos_list2);
695
+        }
608 696
 
609 697
         $this->assign($assign_data);
610 698
         return $this->fetch();
611 699
     }
612 700
 
701
+    public function addtype(){
702
+        $pos_list = Db::name('zc_type')->where(['pid'=>0,'is_del'=>0,'catid'=>1])->select();
703
+        $this->assign('pos_list', $pos_list);
704
+        return $this->fetch();
705
+    }
706
+    public function addtypePost(){
707
+
708
+        $post = request()->post();
709
+
710
+        if((int)$post['pid'] > 0){
711
+            $level = 1;
712
+        }else{
713
+            $level = 0;
714
+        }
715
+        $data = [
716
+            'pid' => $post['pid'],
717
+            'level' => $level,
718
+            'add_time' => time(),
719
+            'is_del' => 0,
720
+            'del_time' => 0,
721
+            'name' => $post['title'],
722
+            'catid' => 1, //
723
+        ];
724
+        Db::name('zc_type')->insert($data);
725
+        $this->success('新增成功');
726
+
727
+    }
728
+
729
+    public function edittype(){
730
+
731
+        //判断当前编辑的是一级还是二级
732
+        $param = request()->param();
733
+        if(!empty($param['type2']) && (int)$param['type2'] > 0){
734
+            //二级
735
+            $id = (int)$param['type2'];
736
+            $pid = (int)$param['type'];
737
+            $pos_list = Db::name('zc_type')->where(['pid'=>0,'is_del'=>0,'catid'=>1])->select();
738
+            $this->assign('pos_list', $pos_list);
739
+            $this->assign('pid', $pid);
740
+        }else{
741
+            if(!empty($param['type']) && (int)$param['type'] > 0){
742
+                //一级
743
+                $id = (int)$param['type'];
744
+                //$pos_list = Db::name('zc_type')->where(['pid'=>0,'is_del'=>0])->select();
745
+                $pos_list = [];
746
+                $this->assign('pos_list', $pos_list);
747
+            }else{
748
+                //
749
+                $this->error('请选择分类才能进行编辑');
750
+            }
751
+        }
752
+
753
+        $one = Db::name('zc_type')->where(['id'=>$id])->find();
754
+        //var_dump($one);
755
+        $this->assign('one', $one);
756
+
757
+        return $this->fetch();
758
+    }
759
+
760
+    public function deltype()
761
+    {
762
+        $param = request()->param();
763
+        if(!empty($param['type2']) && (int)$param['type2'] > 0){
764
+            //二级
765
+            $id = (int)$param['type2'];
766
+            $pid = (int)$param['type'];
767
+
768
+            //查询是否存在证书
769
+            $count = Db::name('zczs_position')->where(['type'=>$id,'is_del'=>0])->count();
770
+            if($count > 0){
771
+                $this->error('该分类下存在数据,不允许删除');
772
+            }
773
+
774
+        }else{
775
+            if(!empty($param['type']) && (int)$param['type'] > 0){
776
+                //一级
777
+                $id = (int)$param['type'];
778
+
779
+                //查询是否存在下级
780
+                $count = Db::name('zc_type')->where(['pid'=>$id,'is_del'=>0])->count();
781
+                if($count > 0){
782
+                    $this->error('该分类下存在子级,不允许删除');
783
+                }
784
+                //查询是否存在证书
785
+                $count = Db::name('zczs_position')->where(['type'=>$id,'is_del'=>0])->count();
786
+                if($count > 0){
787
+                    $this->error('该分类下存在数据,不允许删除');
788
+                }
789
+            }else{
790
+                //
791
+                $this->error('请选择分类才能进行删除');
792
+            }
793
+        }
794
+
795
+        Db::name('zc_type')->where(['id'=>$id])->delete();
796
+        $this->success('删除成功');
797
+    }
798
+
799
+
800
+    public function edittypePost(){
801
+        $post = request()->post();
802
+        if((int)$post['pid'] > 0){
803
+            $level = 1;
804
+        }else{
805
+            $level = 0;
806
+        }
807
+        $data = [
808
+            'pid' => $post['pid'],
809
+            'level' => $level,
810
+            'is_del' => 0,
811
+            'del_time' => 0,
812
+            'name' => $post['title'],
813
+            'catid' => 1, //
814
+            'update_time' => time(),
815
+        ];
816
+        Db::name('zc_type')->where('id',(int)$post['id'])->update($data);
817
+        $this->success('新增成功');
818
+    }
819
+
613 820
     /**
614 821
      * 删除广告图片
615 822
      */

+ 210
- 3
application/admin/controller/ZczyPosition.php View File

@@ -44,6 +44,27 @@ class ZczyPosition extends Base
44 44
             }
45 45
         }
46 46
 
47
+
48
+        unset($condition['a.type']);
49
+        //var_dump($condition);
50
+
51
+        if(!empty($get['type']) && (int)$get['type'] > 0){
52
+            if(!empty($get['type2']) && (int)$get['type2'] > 0){
53
+                //存在二级
54
+                $condition['a.type'] = array('eq', (int)$get['type2']);
55
+            }else{
56
+                //存在一级
57
+                $zc_ids = Db::name('zc_type')->where('pid','=',(int)$get['type'])->column('id');
58
+                $zc_ids[] = (int)$get['type'];
59
+                $condition['a.type'] = array('IN', $zc_ids);
60
+            }
61
+        }else{
62
+            unset($condition['a.type']);
63
+        }
64
+        //var_dump($condition);
65
+
66
+
67
+
47 68
         //增加地区条件
48 69
         if(!empty($get['map']) && $get['map'] == '-1'){
49 70
 
@@ -133,8 +154,11 @@ class ZczyPosition extends Base
133 154
                 $v['ad_count'] = count($v['ad']);
134 155
             }
135 156
 
136
-            $less = ['通类','计算机科学','理学','哲学类','教育学类','医学类','中国语言文学类','历史学类','经济学类','法学','体育学类','工商管理类','军事学','新闻传播学类','公共管理类','中医学类','药学类','政治学类','社会学类','艺术类','生物科学类','农学','其他'];
137
-            $v['type_name'] = $less[(int)$v['type']];
157
+
158
+            //查找分类表
159
+            $v['type_name'] = Db::name('zc_type')->where(['id' => (int)$v['type']])->value('name');
160
+/*            $less = ['通类','计算机科学','理学','哲学类','教育学类','医学类','中国语言文学类','历史学类','经济学类','法学','体育学类','工商管理类','军事学','新闻传播学类','公共管理类','中医学类','药学类','政治学类','社会学类','艺术类','生物科学类','农学','其他'];
161
+            $v['type_name'] = $less[(int)$v['type']];*/
138 162
 
139 163
             if((int)$v['type'] == 0){
140 164
 
@@ -197,6 +221,19 @@ class ZczyPosition extends Base
197 221
         //var_dump($pro_list);
198 222
         $this->assign('pro_list', $pro_list);
199 223
 
224
+
225
+        $pos_list = Db::name('zc_type')->where(['pid'=>0,'is_del'=>0,'catid'=>2])->select();
226
+        $this->assign('pos_list', $pos_list);
227
+
228
+        //查询二级
229
+        if(!empty($get['type']) && (int)$get['type'] > 0){
230
+            $pos_list2 = Db::name('zc_type')->where(['pid'=>$get['type'],'is_del'=>0])->select();
231
+            $this->assign('pos_list2', $pos_list2);
232
+        }
233
+
234
+
235
+
236
+
200 237
         return $this->fetch();
201 238
     }
202 239
     
@@ -347,10 +384,50 @@ class ZczyPosition extends Base
347 384
         $this->assign('pro_list', $pro_list);
348 385
 
349 386
 
387
+        $pos_list = Db::name('zc_type')->where(['pid'=>0,'is_del'=>0,'catid'=>2])->select();
388
+        $this->assign('pos_list', $pos_list);
389
+
390
+        //查询二级
391
+        if(!empty($pos_list)){
392
+            $pos_list2 = Db::name('zc_type')->where(['pid'=>$pos_list[0]['id'],'is_del'=>0,'catid'=>2])->select();
393
+            $this->assign('pos_list2', $pos_list2);
394
+        }
395
+
350 396
         return $this->fetch();
351 397
     }
352 398
 
353
-    
399
+    public function getType($sid='')
400
+    {
401
+        if($sid == ''){
402
+            $id = request()->post('id',0);
403
+        }else{
404
+            $id = $sid;
405
+        }
406
+
407
+        //查找区域
408
+        $list = Db::name('zc_type')
409
+            ->where('pid','=',$id)
410
+            ->where('is_del','=',0)
411
+            ->select();
412
+
413
+        $html = '';
414
+        foreach ($list as $key => $value) {
415
+            $html .= '<option value="'.$value['id'].'">'.$value['name'].'</option>';
416
+        }
417
+
418
+        $data = [
419
+            'code' => 0,
420
+            'msg' => '获取成功',
421
+            'data' => $html,
422
+        ];
423
+
424
+        if($sid == ''){
425
+            return json($data);
426
+        }else{
427
+            return $list;
428
+        }
429
+    }
430
+
354 431
     /**
355 432
      * 编辑
356 433
      */
@@ -607,11 +684,141 @@ class ZczyPosition extends Base
607 684
 
608 685
 
609 686
 
687
+        $row = Db::name('zc_type')->where(['id'=>$field['type'],'is_del'=>0])->find();
688
+        $this->assign('pid', $row['pid']);
689
+
690
+        $pos_list = Db::name('zc_type')->where(['pid'=>0,'is_del'=>0,'catid'=>2])->select();
691
+        $this->assign('pos_list', $pos_list);
692
+
693
+        //查询二级
694
+        if(!empty($pos_list)){
695
+            $pos_list2 = Db::name('zc_type')->where(['pid'=>$row['pid'],'is_del'=>0,'catid'=>2])->select();
696
+            $this->assign('pos_list2', $pos_list2);
697
+        }
610 698
 
611 699
         $this->assign($assign_data);
612 700
         return $this->fetch();
613 701
     }
614 702
 
703
+    public function addtype(){
704
+        $pos_list = Db::name('zc_type')->where(['pid'=>0,'is_del'=>0,'catid' => 2])->select();
705
+        $this->assign('pos_list', $pos_list);
706
+        return $this->fetch();
707
+    }
708
+    public function addtypePost(){
709
+
710
+        $post = request()->post();
711
+
712
+        if((int)$post['pid'] > 0){
713
+            $level = 1;
714
+        }else{
715
+            $level = 0;
716
+        }
717
+        $data = [
718
+            'pid' => $post['pid'],
719
+            'level' => $level,
720
+            'add_time' => time(),
721
+            'is_del' => 0,
722
+            'del_time' => 0,
723
+            'name' => $post['title'],
724
+            'catid' => 2, //
725
+        ];
726
+        Db::name('zc_type')->insert($data);
727
+        $this->success('新增成功');
728
+
729
+    }
730
+
731
+    public function edittype(){
732
+
733
+        //判断当前编辑的是一级还是二级
734
+        $param = request()->param();
735
+        if(!empty($param['type2']) && (int)$param['type2'] > 0){
736
+            //二级
737
+            $id = (int)$param['type2'];
738
+            $pid = (int)$param['type'];
739
+            $pos_list = Db::name('zc_type')->where(['pid'=>0,'is_del'=>0,'catid' => 2])->select();
740
+            $this->assign('pos_list', $pos_list);
741
+            $this->assign('pid', $pid);
742
+        }else{
743
+            if(!empty($param['type']) && (int)$param['type'] > 0){
744
+                //一级
745
+                $id = (int)$param['type'];
746
+                //$pos_list = Db::name('zc_type')->where(['pid'=>0,'is_del'=>0])->select();
747
+                $pos_list = [];
748
+                $this->assign('pos_list', $pos_list);
749
+            }else{
750
+                //
751
+                $this->error('请选择分类才能进行编辑');
752
+            }
753
+        }
754
+
755
+        $one = Db::name('zc_type')->where(['id'=>$id])->find();
756
+        //var_dump($one);
757
+        $this->assign('one', $one);
758
+
759
+        return $this->fetch();
760
+    }
761
+
762
+    public function deltype()
763
+    {
764
+        $param = request()->param();
765
+        if(!empty($param['type2']) && (int)$param['type2'] > 0){
766
+            //二级
767
+            $id = (int)$param['type2'];
768
+            $pid = (int)$param['type'];
769
+
770
+            //查询是否存在证书
771
+            $count = Db::name('zczy_position')->where(['type'=>$id,'is_del'=>0])->count();
772
+            if($count > 0){
773
+                $this->error('该分类下存在数据,不允许删除');
774
+            }
775
+
776
+        }else{
777
+            if(!empty($param['type']) && (int)$param['type'] > 0){
778
+                //一级
779
+                $id = (int)$param['type'];
780
+
781
+                //查询是否存在下级
782
+                $count = Db::name('zc_type')->where(['pid'=>$id,'is_del'=>0])->count();
783
+                if($count > 0){
784
+                    $this->error('该分类下存在子级,不允许删除');
785
+                }
786
+                //查询是否存在证书
787
+                $count = Db::name('zczy_position')->where(['type'=>$id,'is_del'=>0])->count();
788
+                if($count > 0){
789
+                    $this->error('该分类下存在数据,不允许删除');
790
+                }
791
+            }else{
792
+                //
793
+                $this->error('请选择分类才能进行删除');
794
+            }
795
+        }
796
+
797
+        Db::name('zc_type')->where(['id'=>$id])->delete();
798
+        $this->success('删除成功');
799
+    }
800
+
801
+
802
+    public function edittypePost(){
803
+        $post = request()->post();
804
+        if((int)$post['pid'] > 0){
805
+            $level = 1;
806
+        }else{
807
+            $level = 0;
808
+        }
809
+        $data = [
810
+            'pid' => $post['pid'],
811
+            'level' => $level,
812
+            'is_del' => 0,
813
+            'del_time' => 0,
814
+            'name' => $post['title'],
815
+            'catid' => 2, //
816
+            'update_time' => time(),
817
+        ];
818
+        Db::name('zc_type')->where('id',(int)$post['id'])->update($data);
819
+        $this->success('新增成功');
820
+    }
821
+
615 822
     /**
616 823
      * 删除广告图片
617 824
      */

+ 16
- 4
application/admin/template/zc_position/admin_bar.htm View File

@@ -7,20 +7,32 @@
7 7
             </div>
8 8
             <ul class="tab-base nc-row">
9 9
                 {eq name="'ZcPosition@index'|is_check_access" value="1"}
10
-                <li><a href="{:url("ZcPosition/index")}" class="tab {if condition="in_array($Request.controller, array('ZcPosition'))"}current{/if}"><span>职称管理</span></a></li>
10
+                <li><a href="{:url("ZcPosition/index")}" class="tab {if condition="in_array($Request.controller, array('ZcPosition'))"}current{/if}"><span>职称分类</span></a></li>
11
+                {/eq}
12
+
13
+                {eq name="'ZcdjPosition@index'|is_check_access" value="1"}
14
+                <li><a href="{:url("ZcdjPosition/index")}" class="tab {if condition="in_array($Request.controller, array('ZcdjPosition'))"}current{/if}"><span>职称等级</span></a></li>
11 15
                 {/eq}
12 16
 
13 17
                 {eq name="'ZczsPosition@index'|is_check_access" value="1"}
14
-                <li><a href="{:url("ZczsPosition/index")}" class="tab {if condition="in_array($Request.controller, array('ZczsPosition'))"}current{/if}"><span>职称证书</span></a></li>
18
+                <li><a href="{:url("ZczsPosition/index")}" class="tab {if condition="in_array($Request.controller, array('ZczsPosition'))"}current{/if}"><span>职称证书(前置要求)</span></a></li>
15 19
                 {/eq}
16 20
 
17 21
                 {eq name="'ZczyPosition@index'|is_check_access" value="1"}
18
-                <li><a href="{:url("ZczyPosition/index")}" class="tab {if condition="in_array($Request.controller, array('ZczyPosition'))"}current{/if}"><span>毕业证书</span></a></li>
22
+                <li><a href="{:url("ZczyPosition/index")}" class="tab {if condition="in_array($Request.controller, array('ZczyPosition'))"}current{/if}"><span>毕业专业</span></a></li>
19 23
                 {/eq}
20 24
 
21 25
 
22 26
                 {eq name="'ZcwdPosition@index'|is_check_access" value="1"}
23
-                <li><a href="{:url("ZcwdPosition/index")}" class="tab {if condition="in_array($Request.controller, array('ZcwdPosition'))"}current{/if}"><span>职称问答</span></a></li>
27
+                <li><a href="{:url("ZcwdPosition/index")}" class="tab {if condition="in_array($Request.controller, array('ZcwdPosition'))"}current{/if}"><span>第一步: 职称区域等级规则</span></a></li>
28
+                {/eq}
29
+
30
+                {eq name="'ZcwePosition@index'|is_check_access" value="1"}
31
+                <li><a href="{:url("ZcwePosition/index")}" class="tab {if condition="in_array($Request.controller, array('ZcwePosition'))"}current{/if}"><span>第二步: 职称学历要求规则</span></a></li>
32
+                {/eq}
33
+
34
+                {eq name="'ZcwfPosition@index'|is_check_access" value="1"}
35
+                <li><a href="{:url("ZcwfPosition/index")}" class="tab {if condition="in_array($Request.controller, array('ZcwfPosition'))"}current{/if}"><span>第三步: 职称前置条件规则</span></a></li>
24 36
                 {/eq}
25 37
 
26 38
                 {eq name="'ZcbdPosition@index'|is_check_access" value="1"}

+ 152
- 4
application/admin/template/zc_position/choose.htm View File

@@ -10,20 +10,168 @@
10 10
 
11 11
             <input type="hidden" name="id" value="{$id}"/>
12 12
 
13
+
14
+
13 15
             <dl class="row" id="citychoose">
14
-                <dt class="tit"> <label for="title"><em>*</em>绑定证书</label> </dt>
16
+                <dt class="tit"> <label for="title"><em>*</em>选择一级</label> </dt>
17
+                <dd class="opt">
18
+                    <select name="type2" class="select" id="selectTest" style="margin:0px 5px;height:30px;">
19
+                        <option value="0">请选择</option>
20
+                        {eyou:foreach name='$pro_list_t' item='field1'}
21
+                        <option value="{$field1.id}" {eq name="$pid" value="$field1.id"}selected{/eq}>{$field1.name}</option>
22
+                        {/eyou:foreach}
23
+                    </select>
24
+                    <span class="err"></span>
25
+                    <p class="notic2 red" id="title_tips"></p>
26
+                </dd>
27
+            </dl>
28
+
29
+            <script>
30
+                $(function(){
31
+                    $("#selectTest").change(function(e){
32
+                        console.log($(this).val());
33
+                        var v = $(this).val();
34
+                        if(v == 1){
35
+                            //$('#citychoose').show();
36
+                        }else{
37
+                            //$('#citychoose').hide();
38
+                        }
39
+
40
+                        //ajax
41
+                        $.ajax({
42
+                            type:'POST',
43
+                            url:"{:url('ZcPosition/getZsType', ['_ajax'=>1])}",
44
+                            data:{
45
+                                id: $(this).val()
46
+                                ,_ajax:1
47
+                            },
48
+                            success:function(res){
49
+                                $('#selectTest2').html(res.data);
50
+                                //重置
51
+                                $('#selectTest3').html('<option value="0">请选择</option>');
52
+                            }
53
+                        });
54
+
55
+                    });
56
+                });
57
+            </script>
58
+
59
+            <dl class="row" id="citychoose">
60
+                <dt class="tit"> <label for="title"><em>*</em>选择二级</label> </dt>
15 61
                 <dd class="opt">
62
+                    <select name="type2" class="select" id="selectTest2" style="margin:0px 5px;height:30px;">
63
+                        <option value="0">请选择</option>
64
+                    </select>
65
+                    <span class="err"></span>
66
+                    <p class="notic2 red" id="title_tips"></p>
67
+                </dd>
68
+            </dl>
69
+
70
+            <script>
71
+                $(function(){
72
+                    $("#selectTest2").change(function(e){
73
+                        console.log($(this).val());
74
+                        var v = $(this).val();
75
+                        if(v == 1){
76
+                            //$('#citychoose').show();
77
+                        }else{
78
+                            //$('#citychoose').hide();
79
+                        }
80
+
81
+                        //ajax
82
+                        $.ajax({
83
+                            type:'POST',
84
+                            url:"{:url('ZcPosition/getZsList', ['_ajax'=>1])}",
85
+                            data:{
86
+                                id: $(this).val()
87
+                                ,_ajax:1
88
+                            },
89
+                            success:function(res){
90
+                                $('#selectTest3').html(res.data);
91
+                            }
92
+                        });
93
+
94
+                    });
95
+                });
96
+            </script>
97
+
98
+            <dl class="row" id="citychoose">
99
+                <dt class="tit"> <label for="title"><em>*</em>选择证书</label> </dt>
100
+                <dd class="opt">
101
+                    <select name="type2" class="select" id="selectTest3" style="margin:0px 5px;height:30px;">
102
+                        <option value="0">请选择</option>
103
+                    </select>
104
+
105
+                    <span style="cursor:pointer;" id="addzsopton">添加</span>
106
+                    <span class="err">
107
+
108
+                    </span>
109
+                    <p class="notic2 red" id="title_tips">
110
+
111
+                    </p>
112
+                </dd>
113
+            </dl>
114
+
115
+            <script>
116
+                $(function(){
117
+                    $("#addzsopton").click(function(e){
118
+                        console.log($('#selectTest3').val());
119
+                        var v = $('#selectTest3').val();
120
+                        var t = $("#selectTest3 option:selected").text();
121
+                        if(v == 0){
122
+                            //$('#citychoose').show();
123
+                            layer.msg('请选择证书!');
124
+                            return false;
125
+                        }else{
126
+                            //$('#citychoose').hide();
127
+
128
+                            //获取选中值
129
+                            /*var checkedValues = [];
130
+                            $('input[type="checkbox"]:checked').each(function() {
131
+                                checkedValues.push($(this).val());
132
+                            });
133
+                            console.log(checkedValues);*/
134
+
135
+                            //循环checkbox的值
136
+                            var openval = 0;
137
+                            $('#zslist input[type="checkbox"]').each(function() {
138
+                                /*if($(this).is(':checked')) {
139
+                                    console.log($(this).val());
140
+                                }*/
141
+                                if($(this).val() == v){
142
+                                    layer.msg('已经存在该项,不可重复添加!');
143
+                                    openval = 1;
144
+                                }
145
+                            });
146
+
147
+                            if(openval == 0) {
148
+                                //添加
149
+                                var html = '<span style="margin-right: 10px;"><input type="checkbox" name="map[]" value="' + v + '" id="category" checked />' + t + '</span>';
150
+                                $('#zslist').append(html);
151
+                            }
152
+                        }
153
+
154
+                    });
155
+                });
156
+            </script>
157
+
158
+
159
+
160
+            <dl class="row" id="citychoose">
161
+                <dt class="tit"> <label for="title"><em>*</em>绑定证书</label> </dt>
162
+                <dd class="opt" id="zslist">
16 163
 
17 164
                     <!---checked-->
18 165
                     {eyou:foreach name='$pro_list' item='field1'}
19 166
                     <hr/>{$pro_list_t[$key]}<br/>
20 167
                     {eyou:foreach name='$field1' item='field2'}
21
-                    <span style="margin-right: 10px;"><input type="checkbox" name="map[]" value="{$field2.id}" id="category{$field2.id}" {$field2.is_check} />{$field2.title}</span>
168
+                    <span style="margin-right: 10px;">
169
+                        <input type="checkbox" name="map[]" value="{$field2.id}" id="category{$field2.id}" {$field2.is_check} />
170
+                        {$field2.title}
171
+                    </span>
22 172
                     {/eyou:foreach}
23 173
                     {/eyou:foreach}
24 174
 
25
-                    <span class="err"></span>
26
-                    <p class="notic2 red" id="title_tips"></p>
27 175
                 </dd>
28 176
             </dl>
29 177
 

+ 146
- 4
application/admin/template/zc_position/choose2.htm View File

@@ -10,9 +10,154 @@
10 10
 
11 11
             <input type="hidden" name="id" value="{$id}"/>
12 12
 
13
+
13 14
             <dl class="row" id="citychoose">
14
-                <dt class="tit"> <label for="title"><em>*</em>绑定专业</label> </dt>
15
+                <dt class="tit"> <label for="title"><em>*</em>选择一级</label> </dt>
16
+                <dd class="opt">
17
+                    <select name="type2" class="select" id="selectTest" style="margin:0px 5px;height:30px;">
18
+                        <option value="0">请选择</option>
19
+                        {eyou:foreach name='$pro_list_t' item='field1'}
20
+                        <option value="{$field1.id}" {eq name="$pid" value="$field1.id"}selected{/eq}>{$field1.name}</option>
21
+                        {/eyou:foreach}
22
+                    </select>
23
+                    <span class="err"></span>
24
+                    <p class="notic2 red" id="title_tips"></p>
25
+                </dd>
26
+            </dl>
27
+
28
+            <script>
29
+                $(function(){
30
+                    $("#selectTest").change(function(e){
31
+                        console.log($(this).val());
32
+                        var v = $(this).val();
33
+                        if(v == 1){
34
+                            //$('#citychoose').show();
35
+                        }else{
36
+                            //$('#citychoose').hide();
37
+                        }
38
+
39
+                        //ajax
40
+                        $.ajax({
41
+                            type:'POST',
42
+                            url:"{:url('ZcPosition/getZsType', ['_ajax'=>1])}",
43
+                            data:{
44
+                                id: $(this).val()
45
+                                ,_ajax:1
46
+                            },
47
+                            success:function(res){
48
+                                $('#selectTest2').html(res.data);
49
+                                //重置
50
+                                $('#selectTest3').html('<option value="0">请选择</option>');
51
+                            }
52
+                        });
53
+
54
+                    });
55
+                });
56
+            </script>
57
+
58
+            <dl class="row" id="citychoose">
59
+                <dt class="tit"> <label for="title"><em>*</em>选择二级</label> </dt>
60
+                <dd class="opt">
61
+                    <select name="type2" class="select" id="selectTest2" style="margin:0px 5px;height:30px;">
62
+                        <option value="0">请选择</option>
63
+                    </select>
64
+                    <span class="err"></span>
65
+                    <p class="notic2 red" id="title_tips"></p>
66
+                </dd>
67
+            </dl>
68
+
69
+            <script>
70
+                $(function(){
71
+                    $("#selectTest2").change(function(e){
72
+                        console.log($(this).val());
73
+                        var v = $(this).val();
74
+                        if(v == 1){
75
+                            //$('#citychoose').show();
76
+                        }else{
77
+                            //$('#citychoose').hide();
78
+                        }
79
+
80
+                        //ajax
81
+                        $.ajax({
82
+                            type:'POST',
83
+                            url:"{:url('ZcPosition/getZyList', ['_ajax'=>1])}",
84
+                            data:{
85
+                                id: $(this).val()
86
+                                ,_ajax:1
87
+                            },
88
+                            success:function(res){
89
+                                $('#selectTest3').html(res.data);
90
+                            }
91
+                        });
92
+
93
+                    });
94
+                });
95
+            </script>
96
+
97
+            <dl class="row" id="citychoose">
98
+                <dt class="tit"> <label for="title"><em>*</em>选择证书</label> </dt>
15 99
                 <dd class="opt">
100
+                    <select name="type2" class="select" id="selectTest3" style="margin:0px 5px;height:30px;">
101
+                        <option value="0">请选择</option>
102
+                    </select>
103
+
104
+                    <span style="cursor:pointer;" id="addzsopton">添加</span>
105
+                    <span class="err">
106
+
107
+                    </span>
108
+                    <p class="notic2 red" id="title_tips">
109
+
110
+                    </p>
111
+                </dd>
112
+            </dl>
113
+
114
+            <script>
115
+                $(function(){
116
+                    $("#addzsopton").click(function(e){
117
+                        console.log($('#selectTest3').val());
118
+                        var v = $('#selectTest3').val();
119
+                        var t = $("#selectTest3 option:selected").text();
120
+                        if(v == 0){
121
+                            //$('#citychoose').show();
122
+                            layer.msg('请选择证书!');
123
+                            return false;
124
+                        }else{
125
+                            //$('#citychoose').hide();
126
+
127
+                            //获取选中值
128
+                            /*var checkedValues = [];
129
+                            $('input[type="checkbox"]:checked').each(function() {
130
+                                checkedValues.push($(this).val());
131
+                            });
132
+                            console.log(checkedValues);*/
133
+
134
+                            //循环checkbox的值
135
+                            var openval = 0;
136
+                            $('#zslist input[type="checkbox"]').each(function() {
137
+                                /*if($(this).is(':checked')) {
138
+                                    console.log($(this).val());
139
+                                }*/
140
+                                if($(this).val() == v){
141
+                                    layer.msg('已经存在该项,不可重复添加!');
142
+                                    openval = 1;
143
+                                }
144
+                            });
145
+
146
+                            if(openval == 0) {
147
+                                //添加
148
+                                var html = '<span style="margin-right: 10px;"><input type="checkbox" name="map[]" value="' + v + '" id="category" checked />' + t + '</span>';
149
+                                $('#zslist').append(html);
150
+                            }
151
+                        }
152
+
153
+                    });
154
+                });
155
+            </script>
156
+
157
+
158
+            <dl class="row" id="citychoose">
159
+                <dt class="tit"> <label for="title"><em>*</em>绑定专业</label> </dt>
160
+                <dd class="opt" id="zslist">
16 161
 
17 162
                     <!---checked-->
18 163
                     {eyou:foreach name='$pro_list' item='field1'}
@@ -21,9 +166,6 @@
21 166
                     <span style="margin-right: 10px;"><input type="checkbox" name="map[]" value="{$field2.id}" id="category{$field2.id}" {$field2.is_check} />{$field2.title}</span>
22 167
                     {/eyou:foreach}
23 168
                     {/eyou:foreach}
24
-
25
-                    <span class="err"></span>
26
-                    <p class="notic2 red" id="title_tips"></p>
27 169
                 </dd>
28 170
             </dl>
29 171
 

+ 815
- 0
application/admin/template/zc_position/choose3.htm View File

@@ -0,0 +1,815 @@
1
+{include file="public/layout" /}
2
+
3
+<body class="bodystyle" style="overflow-y: scroll;">
4
+<div id="toolTipLayer" style="position: absolute; z-index: 9999; display: none; visibility: visible; left: 95px; top: 573px;"></div>
5
+<div id="append_parent"></div>
6
+<div id="ajaxwaitid"></div>
7
+<div class="page min-hg-c-10">
8
+    <form class="form-horizontal" id="post_form" action="{:url('ZcPosition/add')}" method="post">
9
+        <div class="ncap-form-default">
10
+
11
+            <input type="hidden" name="id" value="{$id}"/>
12
+
13
+
14
+            <dl class="row" id="citychoose">
15
+                <dt class="tit"> <label for="title"><em>*</em>选择一级</label> </dt>
16
+                <dd class="opt">
17
+                    <select name="type" class="select" id="selectTest" style="margin:0px 5px;height:30px;">
18
+                        <option value="0">请选择</option>
19
+                        {eyou:foreach name='$pro_list_t' item='field1'}
20
+                        <option value="{$field1.id}" {eq name="$curr_id" value="$field1.id"}selected{/eq}>{$field1.name}</option>
21
+                        {/eyou:foreach}
22
+                    </select>
23
+                    <span class="err"></span>
24
+                    <p class="notic2 red" id="title_tips"></p>
25
+                </dd>
26
+            </dl>
27
+
28
+            <script>
29
+                $(function(){
30
+                    $("#selectTest").change(function(e){
31
+                        console.log($(this).val());
32
+                        var v = $(this).val();
33
+                        if(v == 1){
34
+                            //$('#citychoose').show();
35
+                        }else{
36
+                            //$('#citychoose').hide();
37
+                        }
38
+
39
+                        //ajax
40
+                        $.ajax({
41
+                            type:'POST',
42
+                            url:"{:url('ZcPosition/getZsType', ['_ajax'=>1])}",
43
+                            data:{
44
+                                id: $(this).val()
45
+                                ,_ajax:1
46
+                            },
47
+                            success:function(res){
48
+                                $('#selectTest2').html(res.data);
49
+                                //重置
50
+                                $('#selectTest3').html('<option value="0">请选择</option>');
51
+                            }
52
+                        });
53
+
54
+                    });
55
+                });
56
+            </script>
57
+
58
+            <dl class="row" id="citychoose">
59
+                <dt class="tit"> <label for="title"><em>*</em>选择二级</label> </dt>
60
+                <dd class="opt">
61
+                    <select name="type2" class="select" id="selectTest2" style="margin:0px 5px;height:30px;">
62
+                        <option value="0">请选择</option>
63
+                        {eyou:foreach name='$pro_list_p' item='field1'}
64
+                        <option value="{$field1.id}" {eq name="$curr_id2" value="$field1.id"}selected{/eq}>{$field1.name}</option>
65
+                        {/eyou:foreach}
66
+                    </select>
67
+                    <span class="err"></span>
68
+                    <p class="notic2 red" id="title_tips"></p>
69
+                </dd>
70
+            </dl>
71
+
72
+            <script>
73
+                $(function(){
74
+                    $("#selectTest2").change(function(e){
75
+                        console.log($(this).val());
76
+                        var v = $(this).val();
77
+                        if(v == 1){
78
+                            //$('#citychoose').show();
79
+                        }else{
80
+                            //$('#citychoose').hide();
81
+                        }
82
+
83
+                        //ajax
84
+                        $.ajax({
85
+                            type:'POST',
86
+                            url:"{:url('ZcPosition/getDjList', ['_ajax'=>1])}",
87
+                            data:{
88
+                                id: $(this).val()
89
+                                ,_ajax:1
90
+                            },
91
+                            success:function(res){
92
+                                $('#dj_detail').html(res.data);
93
+                            }
94
+                        });
95
+
96
+                    });
97
+                });
98
+            </script>
99
+
100
+            <dl class="row" id="citychoose">
101
+                <dt class="tit"> <label for="title"><em>*</em>等级详情</label> </dt>
102
+                <dd class="opt" id="dj_detail">
103
+
104
+
105
+                    {eyou:foreach name='$pro_list' item='field1'}
106
+                        <span style="margin-right: 10px;">{$field1.title}</span>
107
+                    {/eyou:foreach}
108
+                    <!--<span style="cursor:pointer;" id="addzsopton">添加</span>-->
109
+                    <span class="err">
110
+
111
+                    </span>
112
+                    <p class="notic2 red" id="title_tips">
113
+
114
+                    </p>
115
+                </dd>
116
+            </dl>
117
+
118
+            <script>
119
+                $(function(){
120
+                    $("#addzsopton").click(function(e){
121
+                        console.log($('#selectTest3').val());
122
+                        var v = $('#selectTest3').val();
123
+                        var t = $("#selectTest3 option:selected").text();
124
+                        if(v == 0){
125
+                            //$('#citychoose').show();
126
+                            layer.msg('请选择证书!');
127
+                            return false;
128
+                        }else{
129
+                            //$('#citychoose').hide();
130
+
131
+                            //获取选中值
132
+                            /*var checkedValues = [];
133
+                            $('input[type="checkbox"]:checked').each(function() {
134
+                                checkedValues.push($(this).val());
135
+                            });
136
+                            console.log(checkedValues);*/
137
+
138
+                            //循环checkbox的值
139
+                            var openval = 0;
140
+                            $('#zslist input[type="checkbox"]').each(function() {
141
+                                /*if($(this).is(':checked')) {
142
+                                    console.log($(this).val());
143
+                                }*/
144
+                                if($(this).val() == v){
145
+                                    layer.msg('已经存在该项,不可重复添加!');
146
+                                    openval = 1;
147
+                                }
148
+                            });
149
+
150
+                            if(openval == 0) {
151
+                                //添加
152
+                                var html = '<span style="margin-right: 10px;"><input type="checkbox" name="map[]" value="' + v + '" id="category" checked />' + t + '</span>';
153
+                                $('#zslist').append(html);
154
+                            }
155
+                        }
156
+
157
+                    });
158
+                });
159
+            </script>
160
+
161
+
162
+            <dl class="row" id="citychoose" style="display: none;">
163
+                <dt class="tit"> <label for="title"><em>*</em>绑定等级</label> </dt>
164
+                <dd class="opt" id="zslist">
165
+
166
+                    <!---checked-->
167
+                    {eyou:foreach name='$pro_list' item='field1'}
168
+                    <hr/>{$pro_list_t[$key]}<br/>
169
+                    {eyou:foreach name='$field1' item='field2'}
170
+                    <span style="margin-right: 10px;"><input type="checkbox" name="map[]" value="{$field2.id}" id="category{$field2.id}" {$field2.is_check} />{$field2.title}</span>
171
+                    {/eyou:foreach}
172
+                    {/eyou:foreach}
173
+                </dd>
174
+            </dl>
175
+
176
+
177
+
178
+            <div class="bot"><a href="JavaScript:void(0);" onclick="checkForm();" class="ncap-btn-big ncap-btn-green" id="submitBtn">确认提交</a></div>
179
+        </div>
180
+    </form>
181
+</div>
182
+
183
+<script type="text/javascript">
184
+    var SelectedType = 1;
185
+    $(function() {
186
+        // 新增时,广告类型默认选中图片类型
187
+        $('#type1').prop('checked', 'checked');
188
+        // 新增时,默认显示图片上传
189
+        $('#1615775137_1').show();
190
+        // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
191
+        VideoLitpicValue('#video_litpic');
192
+    });
193
+
194
+    // 切换广告类型
195
+    function TypeSwitch(typeValue) {
196
+        // 隐藏全部类型内容
197
+        $('.1615775137_dl').hide();
198
+        // 显示指定类型内容
199
+        $('#1615775137_'+typeValue).show();
200
+        // 切换类型后设置为当前切换的类型
201
+        SelectedType = typeValue;
202
+        // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
203
+        VideoLitpicValue('#video_litpic');
204
+    }
205
+
206
+    // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
207
+    function VideoLitpicValue(obj) {
208
+        // 获取广告内容(多媒体为播放链接)
209
+        // var video_litpic = $(obj).val();
210
+        // 判断隐藏/显示预览按钮if (2 == SelectedType && video_litpic)
211
+        if (2 == SelectedType) {
212
+            $('#PreviewVideo').show();
213
+        } else {
214
+            $('#PreviewVideo').hide();
215
+        }
216
+    }
217
+
218
+    // 打开预览视频
219
+    function OpenPreviewVideo() {
220
+        // 获取视频链接
221
+        var video_litpic = $('#video_litpic').val();
222
+        if (video_litpic == '') {
223
+            $('#video_litpic').focus();
224
+            showErrorMsg('请先上传视频');
225
+            return false;
226
+        }
227
+
228
+        /* 视频链接后缀验证处理 */
229
+        var fileExt = video_litpic.substr(video_litpic.lastIndexOf('.')).toLowerCase();
230
+        var fileExt = judgeExt(fileExt);
231
+        if (fileExt == -1) {
232
+            $('#video_litpic').focus();
233
+            showErrorMsg('不支持的视频格式,可在附件设置中修改');
234
+            return false;
235
+        }
236
+        /* END */
237
+
238
+        /* 视频链接是否存在斜杠处理 */
239
+        var fileInfo = video_litpic.lastIndexOf('/');
240
+        if (fileInfo == -1) {
241
+            $('#video_litpic').focus();
242
+            showErrorMsg('视频链接不完整,无法正常预览');
243
+            return false;
244
+        }
245
+        /* END */
246
+
247
+        // 打开视频播放
248
+        $.ajax({
249
+            type : 'post',
250
+            url  : $('#OpenPreviewVideoUrl').val(),
251
+            data : {video_litpic: video_litpic},
252
+            dataType : 'json',
253
+            success : function(res) {
254
+                if (1 == res.code) {
255
+                    var PreviewVideo = "<video style='width:100%; height:100%;' src='"+res.url+"' controls preload='auto' oncontextmenu='return fase' autoplay></video>";
256
+                    layer.open({
257
+                        type: 1,
258
+                        title: false,
259
+                        fixed: true, //不固定
260
+                        shadeClose: false,
261
+                        shade: layer_shade,
262
+                        area: ['80%', '80%'],
263
+                        content: PreviewVideo
264
+                    });
265
+                } else {
266
+                    showErrorMsg(res.msg);
267
+                }
268
+            },
269
+            error: function(e) {
270
+                showErrorAlert(e.responseText);
271
+            }
272
+        });
273
+    }
274
+
275
+    // 上传媒体文件
276
+    function upload_video_litpic_1615775137(e) {
277
+        var data_type = $(e).attr('data-type');
278
+        if ('qiniu' == data_type) {
279
+            // 七牛云上传
280
+            upload_video_litpic_qiniu(e);
281
+        } else if ('oss' == data_type) {
282
+            // OSS上传
283
+            upload_video_litpic_oss(e);
284
+        } else if ('cos' == data_type) {
285
+            // COS上传
286
+            upload_video_litpic_cos(e);
287
+        } else {
288
+            // 本地上传
289
+            upload_video_litpic_local(e);
290
+        }
291
+    }
292
+
293
+    // 七牛云上传
294
+    function upload_video_litpic_qiniu(e) {
295
+        // 获取文件路径名
296
+        var file = $(e)[0].files[0];
297
+
298
+        // 验证上传格式
299
+        var fileName = file.name;
300
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
301
+        var ext = judgeExt(fileExt);
302
+        if (ext == -1) {
303
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
304
+            return false;
305
+        }
306
+
307
+        // 验证上传大小
308
+        var size = "{$upload_max_filesize}";
309
+        if (file.size > size) {
310
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
311
+            return false;
312
+        }
313
+
314
+        // 执行上传
315
+        layer_loading('上传本地');
316
+        $.ajax({
317
+            type: 'POST',
318
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Qiniuyun&a=qiniu_upload',
319
+            data: {_ajax: 1},
320
+            dataType: "JSON",
321
+            success: function(res1) {
322
+                if (1 == res1.code) {
323
+                    var token  = res1.data.token;
324
+                    var formData = new FormData();
325
+                    formData.append('file', file);
326
+                    formData.append('token', token);
327
+
328
+                    fileName = res1.data.filePath + fileExt;
329
+                    formData.append('key', fileName);
330
+                    $.ajax({
331
+                        url: res1.data.uphost,
332
+                        type: 'POST',
333
+                        dataType: 'JSON',
334
+                        data: formData,
335
+                        timeout: 1200000,
336
+                        cache: false,
337
+                        processData: false,
338
+                        contentType: false,
339
+                        xhr: function () {
340
+                            myXhr = $.ajaxSettings.xhr();
341
+                            if (myXhr.upload) {
342
+                                myXhr.upload.addEventListener('progress', function(e){
343
+                                    var curr = e.loaded;
344
+                                    var total = e.total;
345
+                                    process = parseInt(curr / total * 100);
346
+                                    $("#upload_video_litpic_qiniu").text('上传中...'+process+"%");
347
+                                });
348
+                            }
349
+                            return myXhr;
350
+                        },
351
+                        success: function(res2) {
352
+                            layer.closeAll();
353
+                            $("#upload_video_litpic_qiniu").text('上传成功');
354
+                            setTimeout(function() {
355
+                                $('#upload_video_litpic_qiniu').text('七牛云上传');
356
+                            }, 2000);
357
+                            var video_url = res1.data.domain + "/" + res2.key;
358
+                            $("#video_litpic").val(video_url);
359
+                        },
360
+                        error: function(e) {
361
+                            layer.closeAll();
362
+                            showErrorMsg(e.responseText);
363
+                            return false;
364
+                        }
365
+                    });
366
+                } else {
367
+                    layer.closeAll();
368
+                    showErrorMsg(res1.msg);
369
+                }
370
+            },
371
+            error: function(e) {
372
+                layer.closeAll();
373
+                showErrorMsg(e.responseText);
374
+            }
375
+        });
376
+    }
377
+
378
+    // 阿里云OSS上传
379
+    function upload_video_litpic_oss(e) {
380
+        // 获取文件路径名
381
+        var file = $(e)[0].files[0];
382
+
383
+        // 验证上传格式
384
+        var fileName = file.name;
385
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
386
+        var ext = judgeExt(fileExt);
387
+        if (ext == -1) {
388
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
389
+            return false;
390
+        }
391
+
392
+        // 验证上传大小
393
+        var size = "{$upload_max_filesize}";
394
+        if (file.size > size) {
395
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
396
+            return false;
397
+        }
398
+
399
+        // 执行上传
400
+        layer_loading('上传阿里云OSS');
401
+        $.ajax({
402
+            type: 'POST',
403
+            url: '__ROOT_DIR__/index.php?m=plugins&c=AliyunOss&a=oss_upload',
404
+            data: {_ajax: 1},
405
+            dataType: "JSON",
406
+            success: function(res1){
407
+                if (1 == res1.code){
408
+                    fileName = res1.data.filePath + fileExt;
409
+                    //组装发送数据
410
+                    var request = new FormData();
411
+                    request.append("OSSAccessKeyId",res1.data.accessid);
412
+                    request.append("policy",res1.data.policy);
413
+                    request.append("Signature",res1.data.signature);
414
+                    request.append("key",fileName);
415
+                    request.append("success_action_status",201);
416
+                    request.append('file', file);
417
+
418
+                    $.ajax({
419
+                        url : res1.data.host,
420
+                        data : request,
421
+                        processData: false,
422
+                        cache: false,
423
+                        contentType: false,
424
+                        dataType: 'xml',
425
+                        type : 'post',
426
+                        xhr: function () {
427
+                            myXhr = $.ajaxSettings.xhr();
428
+                            if (myXhr.upload) {
429
+                                myXhr.upload.addEventListener('progress', function(e){
430
+                                    var curr = e.loaded;
431
+                                    var total = e.total;
432
+                                    var process = parseInt(curr / total * 100);
433
+                                    $("#upload_video_litpic_oss").text('上传中...'+process+"%");
434
+                                });
435
+                            }
436
+                            return myXhr;
437
+                        },
438
+                        success : function(data) {
439
+                            layer.closeAll();
440
+                            var res = $(data).find('PostResponse');
441
+                            if (res) {
442
+                                var key = res.find('Key').text();
443
+                                $("#upload_video_litpic_oss").text('上传成功');
444
+                                setTimeout(function() {
445
+                                    $('#upload_video_litpic_oss').text('oss上传');
446
+                                }, 2000);
447
+                                var video_url = res1.data.domain + "/" + key;
448
+                                $("#video_litpic").val(video_url);
449
+                            } else {
450
+                                $("#upload_video_litpic_oss").text('上传失败');
451
+                                setTimeout(function() {
452
+                                    $('#upload_video_litpic_oss').text('oss上传');
453
+                                }, 2000);
454
+                            }
455
+                        },
456
+                        error : function(e) {
457
+                            layer.closeAll();
458
+                            console.log(e.responseText);
459
+                        }
460
+                    });
461
+                } else {
462
+                    layer.closeAll();
463
+                    showErrorMsg(res1.msg);
464
+                }
465
+            },
466
+            error: function(e) {
467
+                layer.closeAll();
468
+                showErrorMsg(e.responseText);
469
+            }
470
+        });
471
+    }
472
+
473
+    // 腾讯云COS上传
474
+    function upload_video_litpic_cos(e) {
475
+        // 获取文件路径名
476
+        var file = $(e)[0].files[0];
477
+
478
+        // 验证上传格式
479
+        var fileName = file.name;
480
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
481
+        var ext = judgeExt(fileExt);
482
+        if (ext == -1) {
483
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
484
+            return false;
485
+        }
486
+
487
+        // 验证上传大小
488
+        var size = "{$upload_max_filesize}";
489
+        if (file.size > size) {
490
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
491
+            return false;
492
+        }
493
+
494
+        // 上传参数
495
+        var formData = new FormData();
496
+        formData.append('file', file);
497
+        formData.append('file_ext', fileExt);
498
+
499
+        // 执行上传
500
+        $.ajax({
501
+            type: 'post',
502
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Cos&a=cos_upload&_ajax=1',
503
+            data: formData,
504
+            contentType: false,
505
+            processData: false,
506
+            dataType: 'json',
507
+            xhr: function () {
508
+                myXhr = $.ajaxSettings.xhr();
509
+                if (myXhr.upload) {
510
+                    myXhr.upload.addEventListener('progress', function(e){
511
+                        var curr = e.loaded;
512
+                        var total = e.total;
513
+                        process = parseInt(curr / total * 100);
514
+                        if (100 == process) {
515
+                            process = 99;
516
+                            layer_loading('上传腾讯云');
517
+                        }
518
+                        $("#upload_video_litpic_cos").text('上传中...'+process+"%");
519
+
520
+                    });
521
+                }
522
+                return myXhr;
523
+            },
524
+            success: function(res) {
525
+                layer.closeAll();
526
+                if (1 == res.code) {
527
+                    $("#video_litpic").val(res.data.url);
528
+                    $("#upload_video_litpic_cos").text('上传成功');
529
+                } else {
530
+                    $("#upload_video_litpic_cos").text('上传失败');
531
+                }
532
+                setTimeout(function() {
533
+                    $('#upload_video_litpic_cos').text('cos上传');
534
+                }, 2000);
535
+            },
536
+            error: function(e) {
537
+                layer.closeAll();
538
+                showErrorMsg(e.responseText);
539
+            }
540
+        });
541
+    }
542
+
543
+    // 本地上传
544
+    function upload_video_litpic_local(e) {
545
+        // 获取文件路径名
546
+        var file = $(e)[0].files[0];
547
+
548
+        // 验证上传格式
549
+        var fileName = file.name;
550
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
551
+        var ext = judgeExt(fileExt);
552
+        if (ext == -1) {
553
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
554
+            return false;
555
+        }
556
+
557
+        // 验证上传大小
558
+        var size = "{$upload_max_filesize}";
559
+        if (file.size > size) {
560
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
561
+            return false;
562
+        }
563
+
564
+        // 定义上传数据
565
+        var formData = new FormData();
566
+        formData.append('file', file);
567
+
568
+        // 执行上传
569
+        layer_loading('上传本地');
570
+        $.ajax({
571
+            type: 'post',
572
+            url : "{:url('Ueditor/upVideo', ['savepath'=>'media'])}",
573
+            data: formData,
574
+            contentType: false,
575
+            processData: false,
576
+            dataType: 'json',
577
+            xhr: function () {
578
+                myXhr = $.ajaxSettings.xhr();
579
+                if (myXhr.upload) {
580
+                    myXhr.upload.addEventListener('progress', function(e){
581
+                        var curr = e.loaded;
582
+                        var total = e.total;
583
+                        process = parseInt(curr / total * 100);
584
+                        $("#upload_video_litpic_local").html('上传中...'+process+"%");
585
+                    });
586
+                }
587
+                return myXhr;
588
+            },
589
+            success: function (res) {
590
+                layer.closeAll();
591
+                $("#upload_video_litpic_local").html('上传成功');
592
+                setTimeout(function() {
593
+                    $('#upload_video_litpic_local').html('本地上传');
594
+                }, 2000);
595
+                if ("SUCCESS" == res.state) {
596
+                    $("#video_litpic").val(res.url);
597
+                } else {
598
+                    showErrorMsg(res.msg);
599
+                }
600
+            }
601
+        });
602
+    }
603
+
604
+    // 验证格式
605
+    function judgeExt(ext) {
606
+        var type = "{$media_type}";
607
+        var extArr = [];
608
+        extArr = type.split("|");
609
+        var ext = ext.replace(".","");
610
+        return extArr.indexOf(ext);
611
+    }
612
+</script>
613
+
614
+<script type="text/javascript">
615
+    var parentObj = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
616
+    // 勾选新窗口打开链接
617
+    function CheckedTarget(t){
618
+        if ($(t).is(':checked')) {
619
+            $(t).parent().find('input[name="img_target[]"]').val(1);
620
+        }else{
621
+            $(t).parent().find('input[name="img_target[]"]').val(0);
622
+        }
623
+    }
624
+    // 鼠标事件,加载查看大图和更新图片
625
+    function upimgMouseover(obj)
626
+    {
627
+        $(obj).find('div.icaction').show();
628
+        $(obj).find('div.cover-bg').show();
629
+    }
630
+    function upimgMouseout(obj)
631
+    {
632
+        $(obj).find('div.icaction').hide();
633
+        $(obj).find('div.cover-bg').hide();
634
+    }
635
+
636
+    // 检测广告名称是否存在重复
637
+    function DetectionTitleRepeat(obj) {
638
+        // 当前广告ID
639
+        var id = 0;
640
+        // 传入的广告名称
641
+        var title = $(obj).val();
642
+        // 执行检测
643
+        $.ajax({
644
+            type: 'post',
645
+            url : "{:url('ZcPosition/detection_title_repeat', ['_ajax'=>1])}",
646
+            data: {id: id, title: title},
647
+            dataType: 'json',
648
+            success: function(res) {
649
+                if (0 == res.code) {
650
+                    $('#title_tips').show().html(res.msg);
651
+                } else {
652
+                    $('#title_tips').hide().html('');
653
+                }
654
+            },
655
+            error: function(e){
656
+                layer.closeAll();
657
+                showErrorAlert(e.responseText);
658
+            }
659
+        });
660
+    }
661
+
662
+    // 判断输入框是否为空
663
+    function checkForm(){
664
+        if($('input[name=title]').val() == ''){
665
+            layer.msg('广告位名称不能为空!', {icon: 2,time: 1000});
666
+            return false;
667
+        }
668
+
669
+        if($('#selectTest').val() == '1'){
670
+
671
+        }
672
+
673
+        /*var checkedValues = [];
674
+        $('#post_form input[type=checkbox]:checked').each(function() {
675
+            checkedValues.push($(this).val());
676
+        });
677
+        console.log(checkedValues); // 打印选中的checkbox值
678
+        if(checkedValues.length > 0){
679
+
680
+        }else{
681
+            layer.msg('请选择证书!', {icon: 2,time: 1000});
682
+            return false;
683
+        }*/
684
+
685
+
686
+        //打印
687
+        /*console.log($('#post_form').serialize());
688
+        return false;*/
689
+
690
+
691
+        layer_loading('正在处理');
692
+        $.ajax({
693
+            type : 'post',
694
+            url : "{:url('ZcPosition/choosePost3', ['_ajax'=>1])}",
695
+            data : $('#post_form').serialize(),
696
+            dataType : 'json',
697
+            success : function(res) {
698
+                layer.closeAll();
699
+                if (1 == res.code) {
700
+                    var _parent = parent;
701
+                    _parent.layer.close(parentObj);
702
+                    _parent.layer.msg(res.msg, {icon: 1, shade: layer_shade, time: 1000}, function() {
703
+                        _parent.window.location.reload();
704
+                    });
705
+                } else {
706
+                    showErrorMsg(res.msg);
707
+                }
708
+            },
709
+            error: function(e) {
710
+                layer.closeAll();
711
+                showErrorAlert(e.responseText);
712
+            }
713
+        });
714
+    }
715
+
716
+    // 显示信息输入框
717
+    function ShowInput(id) {
718
+        var obj = $("#"+id+"_ShowInput");
719
+        var showOrHide = obj.attr('data-showOrHide');
720
+        if ('hide' == showOrHide) {
721
+            obj.show().attr('data-showOrHide', 'show');
722
+        } else {
723
+            obj.hide().attr('data-showOrHide', 'hide');
724
+        }
725
+    }
726
+
727
+    // 隐藏信息输入
728
+    function HideInput(id) {
729
+        $("#"+id+"_ShowInput").hide().attr('data-showOrHide', 'hide');
730
+    }
731
+
732
+    // 上传图集相册回调函数
733
+    function imgupload_call_back(paths){
734
+        var last_div = $(".images_upload_tpl").html();
735
+        var inputs   = $('.span_input input');
736
+        var timestamp = 0;
737
+
738
+        for (var i=0; i<paths.length; i++){
739
+            // 生成新的时间戳
740
+            timestamp = (new Date()).getTime();
741
+            // 插入一个 新图片
742
+            $(".images_upload:eq(0)").before(last_div);
743
+            // 处理他的链接地址
744
+            $(".images_upload:eq(0)").find('span:eq(0)').attr('onclick',"Images('"+paths[i]+"', 900, 600);");
745
+            // 处理信息显示隐藏按钮
746
+            $(".images_upload:eq(0)").find('span:eq(1)').attr('onclick', "ShowInput('"+timestamp+"');");
747
+            // 处理他的图片路径
748
+            $(".images_upload:eq(0)").find('img').attr('src',paths[i]);
749
+            // 处理删除按钮
750
+            $(".images_upload:eq(0)").find('a:eq(1)').attr('onclick', "ClearPicArr(this, '"+paths[i]+"', 0);");
751
+            // 处理图片信息框ID
752
+            $(".images_upload:eq(0)").find('.load_input:eq(0)').attr('id', timestamp+'_ShowInput');
753
+
754
+            // 处理图片路径及隐藏域
755
+            if (inputs.length > '0') {
756
+                // 修改隐藏域,提交ID隐藏域
757
+                $(".images_upload:eq(0)").find('input:eq(0)').attr('name','img_id[]').attr('value','');
758
+                // 修改隐藏域,提交图片隐藏域
759
+                $(".span_input:eq(0)").find('input:eq(0)').attr('name','img_litpic[]').attr('value',paths[i]);
760
+                // 提交标题
761
+                $(".images_upload:eq(0)").find('textarea:eq(0)').attr('name','img_title[]');
762
+                // 提交跳转链接
763
+                $(".images_upload:eq(0)").find('textarea:eq(1)').attr('name','img_links[]');
764
+                // 处理内容描述
765
+                $(".images_upload:eq(0)").find('textarea:eq(2)').attr('name','img_intro[]');
766
+                // 提交新窗口选项
767
+                $(".images_upload:eq(0)").find('div.operation a:eq(0)').html("<label><input type='checkbox' title='在新窗口打开' onclick='CheckedTarget(this)'/>新窗口<input type='hidden' name='img_target[]' value='0'></label>");
768
+                // 处理收回按钮
769
+                $(".images_upload:eq(0)").find('div.operation a:eq(2)').attr('onclick', "HideInput('"+timestamp+"');").attr('title', "收回").html('<i style="font-size:16px;" class="fa fa-angle-double-up"></i>');
770
+            }
771
+        }
772
+    }
773
+
774
+    // 上传之后删除组图input
775
+    function ClearPicArr(obj,path)
776
+    {
777
+        $(obj).parent().parent().parent().remove(); // 删除完服务器的, 再删除 html上的图片
778
+        $.ajax({
779
+            type:'POST',
780
+            url:"{:url('Uploadimgnew/delupload')}",
781
+            data:{action:"del", filename:path, _ajax:1},
782
+            success:function(){}
783
+        });
784
+    }
785
+
786
+    // 代码调用js
787
+    function copyToClipBoard(id) {
788
+        var adstr = "{eyou:ad aid='" + id + "'}\r\n   <a href='{$"+"field.links}' {$"+"field.target}><img src='{$"+"field.litpic}' alt='{$"+"field.title}' /></a>\r\n{/eyou:ad";
789
+        var contentdiv = '<div class="dialog_content" style="margin: 0px; padding: 0px;"><dl style="padding:10px 30px;line-height:30px"><dd>标签 ad 调用:</dd>'
790
+        contentdiv += '<textarea rows="4" cols="60" style="width:400px;height:80px;">' + adstr + '}</textarea>'
791
+        contentdiv += '<dd style="border-top: dotted 1px #E7E7E7; color: #F60;">请将对应标签代码复制并粘贴到对应模板文件中!</dd></dl></div>'
792
+        layer.open({
793
+            title: '代码调用',
794
+            type: 1,
795
+            shade: layer_shade,
796
+            skin: 'layui-layer-demo',
797
+            area: ['480px', '240px'], //宽高
798
+            content: contentdiv
799
+        });
800
+    }
801
+
802
+    // 图集相册的拖动排序相关 js
803
+    $( ".sort-list" ).sortable({
804
+        start: function( event, ui) {
805
+
806
+        }
807
+        ,stop: function( event, ui ) {
808
+
809
+        }
810
+    });
811
+    //因为他们要拖动,所以尽量设置他们的文字不能选择。  
812
+    // $( ".sort-list" ).disableSelection();
813
+</script>
814
+
815
+{include file="public/footer" /}

+ 6
- 2
application/admin/template/zc_position/index.htm View File

@@ -153,12 +153,16 @@
153 153
                                     <div class="w280 tc">
154 154
 
155 155
 
156
+                                        {eq name="$Think.const.CONTROLLER_NAME.'@choose3'|is_check_access" value="1"}
157
+                                        <a href="javascript:void(0);" data-href="{:url('ZcPosition/choose3',array('id'=>$vo['id']))}" data-closereload="1" class="btn blue" onclick="openFullframe(this, '绑定等级', '80%', '60%');">绑定等级</a> <i></i>
158
+                                        {/eq}
159
+
156 160
                                         {eq name="$Think.const.CONTROLLER_NAME.'@choose2'|is_check_access" value="1"}
157
-                                        <a href="javascript:void(0);" data-href="{:url('ZcPosition/choose2',array('id'=>$vo['id']))}" data-closereload="1" class="btn blue" onclick="openFullframe(this, '绑定专业', '100%', '100%');">绑定专业</a> <i></i>
161
+                                        <a href="javascript:void(0);" data-href="{:url('ZcPosition/choose2',array('id'=>$vo['id']))}" data-closereload="1" class="btn blue" onclick="openFullframe(this, '绑定专业', '80%', '60%');">绑定专业</a> <i></i>
158 162
                                         {/eq}
159 163
 
160 164
                                         {eq name="$Think.const.CONTROLLER_NAME.'@choose'|is_check_access" value="1"}
161
-                                        <a href="javascript:void(0);" data-href="{:url('ZcPosition/choose',array('id'=>$vo['id']))}" data-closereload="1" class="btn blue" onclick="openFullframe(this, '绑定证书', '100%', '100%');">绑定证书</a> <i></i>
165
+                                        <a href="javascript:void(0);" data-href="{:url('ZcPosition/choose',array('id'=>$vo['id']))}" data-closereload="1" class="btn blue" onclick="openFullframe(this, '绑定证书', '80%', '60%');">绑定证书</a> <i></i>
162 166
                                         {/eq}
163 167
 
164 168
 

+ 874
- 0
application/admin/template/zcdj_position/add.htm View File

@@ -0,0 +1,874 @@
1
+{include file="public/layout" /}
2
+
3
+<body class="bodystyle" style="overflow-y: scroll;">
4
+<div id="toolTipLayer" style="position: absolute; z-index: 9999; display: none; visibility: visible; left: 95px; top: 573px;"></div>
5
+<div id="append_parent"></div>
6
+<div id="ajaxwaitid"></div>
7
+<div class="page min-hg-c-10">
8
+    <form class="form-horizontal" id="post_form" action="{:url('ZcdjPosition/add')}" method="post">
9
+        <div class="ncap-form-default">
10
+            <dl class="row">
11
+                <dt class="tit"> <label for="title"><em>*</em>等级名称</label> </dt>
12
+                <dd class="opt">
13
+                    <input type="text" name="title" id="title" onkeyup="DetectionTitleRepeat(this);" class="input-txt" autocomplete="off">
14
+                    <span class="err"></span>
15
+                    <p class="notic2 red" id="title_tips"></p>
16
+                </dd>
17
+            </dl>
18
+
19
+            <dl class="row" style="display:block;">
20
+                <dt class="tit">
21
+                    <label for="type">选择分类</label>
22
+                </dt>
23
+                <dd class="opt">
24
+
25
+
26
+                    <!--<label class="curpoin"><input type="radio" id="type{$field1.id}" name="type" value="{$field1.id}" onclick="TypeSwitch({$field1.id});">{$field1.name}</label>
27
+                    -->
28
+
29
+                    <?php
30
+                        /*
31
+                         * {eyou:foreach name='$pro_list' item='field1'}
32
+                    <option value="{$field1.id}" {eq name="$Request.param.type" value="$field1.id"}selected{/eq}>{$field1.name}</option>
33
+                    {/eyou:foreach}
34
+
35
+                        <select name="type" class="select" id="selectTest" style="margin:0px 5px;height:30px;">
36
+                        <option value="0">通类</option>
37
+                        <option value="1">计算机科学</option>
38
+                        <option value="2">理学</option>
39
+                        <option value="3">哲学类</option>
40
+                        <option value="4">教育学类</option>
41
+                        <option value="5">医学类</option>
42
+                        <option value="6">中国语言文学类</option>
43
+                        <option value="7">历史学类</option>
44
+                        <option value="8">经济学类</option>
45
+                        <option value="9">法学</option>
46
+                        <option value="10">体育学类</option>
47
+                        <option value="11">工商管理类</option>
48
+                        <option value="12">军事学</option>
49
+                        <option value="13">新闻传播学类</option>
50
+                        <option value="14">公共管理类</option>
51
+                        <option value="15">中医学类</option>
52
+                        <option value="16">药学类</option>
53
+                        <option value="17">政治学类</option>
54
+                        <option value="18">社会学类</option>
55
+                        <option value="19">艺术类</option>
56
+                        <option value="20">生物科学类</option>
57
+                        <option value="21">农学</option>
58
+                        <option value="22">其他</option>
59
+                    </select>
60
+
61
+                         */
62
+                    ?>
63
+
64
+
65
+
66
+                    <select name="type2" class="select" id="selectTest" style="margin:0px 5px;height:30px;">
67
+                        {eyou:foreach name='$pos_list' item='field1'}
68
+                        <option value="{$field1.id}" {eq name="$pid" value="$field1.id"}selected{/eq}>{$field1.name}</option>
69
+                        {/eyou:foreach}
70
+                    </select>
71
+
72
+                    {eyou:notempty name='$pos_list2' /}
73
+                    <select name="type" class="select" id="selectTest2" style="margin:0px 5px;height:30px;">
74
+                        {eyou:foreach name='$pos_list2' item='field1'}
75
+                        <option value="{$field1.id}" {eq name="$pid" value="$field1.id"}selected{/eq}>{$field1.name}</option>
76
+                        {/eyou:foreach}
77
+                    </select>
78
+                    {eyou:else /}
79
+                    <span>请先添加二级分类</span>
80
+                    <input type="hidden" name="type" value="">
81
+                    {/eyou:notempty}
82
+
83
+
84
+                    <script>
85
+                        $(function(){
86
+                            $("#selectTest").change(function(e){
87
+                                console.log($(this).val());
88
+                                var v = $(this).val();
89
+                                if(v == 1){
90
+                                    //$('#citychoose').show();
91
+                                }else{
92
+                                    //$('#citychoose').hide();
93
+                                }
94
+
95
+                                //ajax
96
+                                $.ajax({
97
+                                    type:'POST',
98
+                                    url:"{:url('ZcdjPosition/getType', ['_ajax'=>1])}",
99
+                                    data:{
100
+                                        id: $(this).val()
101
+                                        ,_ajax:1
102
+                                    },
103
+                                    success:function(res){
104
+                                        $('#selectTest2').html(res.data);
105
+                                    }
106
+                                });
107
+
108
+                            });
109
+                        });
110
+                    </script>
111
+
112
+                    <span class="err"></span>
113
+                    <p class="notic"></p>
114
+                </dd>
115
+            </dl>
116
+
117
+            <dl class="row" id="citychoose" style="display: none;">
118
+                <dt class="tit"> <label for="title"><em>*</em>地区选择</label> </dt>
119
+                <dd class="opt">
120
+
121
+                    <!---checked-->
122
+                    {eyou:foreach name='$pro_list' item='field1'}
123
+                    <input type="checkbox" name="map[]" value="{$field1.id}" id="category{$field1.id}"/>{$field1.name}
124
+                    {/eyou:foreach}
125
+
126
+                    <span class="err"></span>
127
+                    <p class="notic2 red" id="title_tips"></p>
128
+                </dd>
129
+            </dl>
130
+
131
+
132
+            <dl class="row 1615775137_dl" style="display: none;" id="1615775137_1">
133
+                <dt class="tit"> <label>主题背景</label> </dt>
134
+                <dd class="opt">
135
+                    <div class="tab-pane" id="tab_imgupload">
136
+                        <table class="table table-bordered">
137
+                            <tbody>
138
+                            <tr>
139
+                                <td >
140
+                                    <div class="sort-list">
141
+                                        <div class="images_upload">
142
+                                        </div>
143
+                                    </div>
144
+                                    <a href="javascript:void(0);" onClick="GetUploadify(30,'','allimg','imgupload_call_back');" class="img-upload b-img-upload mb15" title="点击上传">
145
+                                        <div class="y-line"></div>
146
+                                        <div class="x-line"></div>
147
+                                    </a>
148
+                                </td>
149
+                            </tr>
150
+                            </tbody>
151
+                        </table>
152
+                    </div>
153
+                    <!-- 上传图片显示的样板 start -->
154
+                    <div class="images_upload_tpl none">
155
+                        <div class="images_upload ic">
156
+                            <div class="ic">
157
+                                <div class='upimg' title="拖动修改排序" onmouseover="upimgMouseover(this);" onmouseout="upimgMouseout(this);">
158
+                                    <div class='icaction' style="display: none">
159
+                                        <span class="load_images" onclick="">
160
+                                            <a href="javascript:void(0);" style="color: white">
161
+                                                <i class='fa fa-search-plus'></i>大图
162
+                                            </a>
163
+                                        </span>
164
+                                        <span class="load_images" onclick="">
165
+                                            <i class='fa fa-file-text-o'></i>信息
166
+                                        </span>
167
+                                    </div>
168
+                                    <div class='cover-bg' style="display: none"></div>
169
+                                    <img src="__STATIC__/admin/images/add-button.jpg"/>
170
+                                     <a class="delect" href="javascript:void(0);" title="删除"></a>
171
+                                </div>
172
+
173
+                                <div class="load_input" data-showOrHide="hide">
174
+                                    <input type="hidden"/>
175
+                                    <span class="span_input"> <input type="hidden"/> </span>
176
+                                    <textarea placeholder="请输入标题..." style="height: 28px;"></textarea>
177
+                                    <textarea placeholder="请输入链接网址..." style="height: 28px;"></textarea>
178
+                                    <textarea placeholder="广告注释:支持HTML代码" style="height: 64px;"></textarea>
179
+                                    <div class="operation">
180
+                                        <a href="javascript:void(0)">&nbsp;&nbsp;</a>
181
+                                        <a href="javascript:void(0)">&nbsp;&nbsp;</a>
182
+                                        <a style="width: 32%;" href="javascript:void(0);">&nbsp;&nbsp;</a>
183
+                                    </div>
184
+                                 </div>    
185
+                            </div>
186
+                        </div>
187
+                    </div>
188
+                    <!-- 上传图片显示的样板 end -->
189
+                </dd>
190
+            </dl>
191
+
192
+            <dl class="row 1615775137_dl" style="display: none;" id="1615775137_2">
193
+                <dt class="tit"> <label for="type">广告内容</label> </dt>
194
+                <dd class="opt">
195
+                    <input type="text" name="video_litpic" id="video_litpic" class="input-txt">
196
+                    <input type="file" id="courseware_file" data-type='local' onchange="upload_video_litpic_1615775137(this)" style="display: none;">
197
+                    {eq name="$WeappOpen.qny_open" value="1"}
198
+                    &nbsp;<a href="javascript:void(0);" class="ncap-btn ncap-btn-green" id="upload_video_litpic_qiniu" onclick="$('#courseware_file').attr('data-type', 'qiniu').trigger('click');">七牛云上传</a>
199
+                    {/eq}
200
+                    {eq name="$WeappOpen.oss_open" value="1"}
201
+                    &nbsp;<a href="javascript:void(0);" class="ncap-btn ncap-btn-green" id="upload_video_litpic_oss" onclick="$('#courseware_file').attr('data-type', 'oss').trigger('click');">oss上传</a>
202
+                    {/eq}
203
+                    {eq name="$WeappOpen.cos_open" value="1"}
204
+                    &nbsp;<a href="javascript:void(0);" class="ncap-btn ncap-btn-green" id="upload_video_litpic_cos" onclick="$('#courseware_file').attr('data-type', 'cos').trigger('click');">cos上传</a>
205
+                    {/eq}
206
+                    &nbsp;<a href="javascript:void(0);" class="ncap-btn ncap-btn-green " id="upload_video_litpic_local" onclick="$('#courseware_file').attr('data-type', 'local').trigger('click');">本地上传</a>
207
+                    <input type="hidden" id="OpenPreviewVideoUrl" value="{:url('ZcdjPosition/open_preview_video')}">
208
+                    &nbsp;<a href="javascript:void(0);" class="ncap-btn ncap-btn-green" id="PreviewVideo" onclick="OpenPreviewVideo();">预览</a>
209
+                </dd>
210
+            </dl>
211
+
212
+            <dl class="row 1615775137_dl" style="display: none;" id="1615775137_3">
213
+                <dt class="tit"> <label for="type">广告内容</label> </dt>
214
+                <dd class="opt">
215
+                    <textarea rows="5" cols="60" id="html_intro" name="html_intro" style="height: 200px;"></textarea>
216
+                    <span class="err"></span>
217
+                    <p class="notic"></p>
218
+                </dd>
219
+            </dl>
220
+
221
+            <dl class="row">
222
+                <dt class="tit">
223
+                    <label>备注信息</label>
224
+                </dt>
225
+                <dd class="opt">          
226
+                    <textarea rows="5" cols="60" id="intro" name="intro" style="height:60px;"></textarea>
227
+                    <span class="err"></span>
228
+                    <p class="notic"></p>
229
+                </dd>
230
+            </dl> 
231
+
232
+            <div class="bot"><a href="JavaScript:void(0);" onclick="checkForm();" class="ncap-btn-big ncap-btn-green" id="submitBtn">确认提交</a></div>
233
+        </div>
234
+    </form>
235
+</div>
236
+
237
+<script type="text/javascript">
238
+    var SelectedType = 1;
239
+    $(function() {
240
+        // 新增时,广告类型默认选中图片类型
241
+        $('#type1').prop('checked', 'checked');
242
+        // 新增时,默认显示图片上传
243
+
244
+        //$('#1615775137_1').show();
245
+        
246
+        // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
247
+        VideoLitpicValue('#video_litpic');
248
+    });
249
+
250
+    // 切换广告类型
251
+    function TypeSwitch(typeValue) {
252
+        // 隐藏全部类型内容
253
+        $('.1615775137_dl').hide();
254
+        // 显示指定类型内容
255
+        $('#1615775137_'+typeValue).show();
256
+        // 切换类型后设置为当前切换的类型
257
+        SelectedType = typeValue;
258
+        // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
259
+        VideoLitpicValue('#video_litpic');
260
+    }
261
+
262
+    // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
263
+    function VideoLitpicValue(obj) {
264
+        // 获取广告内容(多媒体为播放链接)
265
+        // var video_litpic = $(obj).val();
266
+        // 判断隐藏/显示预览按钮if (2 == SelectedType && video_litpic)
267
+        if (2 == SelectedType) {
268
+            $('#PreviewVideo').show();
269
+        } else {
270
+            $('#PreviewVideo').hide();
271
+        }
272
+    }
273
+
274
+    // 打开预览视频
275
+    function OpenPreviewVideo() {
276
+        // 获取视频链接
277
+        var video_litpic = $('#video_litpic').val();
278
+        if (video_litpic == '') {
279
+            $('#video_litpic').focus();
280
+            showErrorMsg('请先上传视频');
281
+            return false;
282
+        }
283
+
284
+        /* 视频链接后缀验证处理 */
285
+        var fileExt = video_litpic.substr(video_litpic.lastIndexOf('.')).toLowerCase();
286
+        var fileExt = judgeExt(fileExt);
287
+        if (fileExt == -1) {
288
+            $('#video_litpic').focus();
289
+            showErrorMsg('不支持的视频格式,可在附件设置中修改');
290
+            return false;
291
+        }
292
+        /* END */
293
+
294
+        /* 视频链接是否存在斜杠处理 */
295
+        var fileInfo = video_litpic.lastIndexOf('/');
296
+        if (fileInfo == -1) {
297
+            $('#video_litpic').focus();
298
+            showErrorMsg('视频链接不完整,无法正常预览');
299
+            return false;
300
+        }
301
+        /* END */
302
+
303
+        // 打开视频播放
304
+        $.ajax({
305
+            type : 'post',
306
+            url  : $('#OpenPreviewVideoUrl').val(),
307
+            data : {video_litpic: video_litpic},
308
+            dataType : 'json',
309
+            success : function(res) {
310
+                if (1 == res.code) {
311
+                    var PreviewVideo = "<video style='width:100%; height:100%;' src='"+res.url+"' controls preload='auto' oncontextmenu='return fase' autoplay></video>";
312
+                    layer.open({
313
+                        type: 1,
314
+                        title: false,
315
+                        fixed: true, //不固定
316
+                        shadeClose: false,
317
+                        shade: layer_shade,
318
+                        area: ['80%', '80%'],
319
+                        content: PreviewVideo
320
+                    });
321
+                } else {
322
+                    showErrorMsg(res.msg);
323
+                }
324
+            },
325
+            error: function(e) {
326
+                showErrorAlert(e.responseText);
327
+            }
328
+        });
329
+    }
330
+
331
+    // 上传媒体文件
332
+    function upload_video_litpic_1615775137(e) {
333
+        var data_type = $(e).attr('data-type');
334
+        if ('qiniu' == data_type) {
335
+            // 七牛云上传
336
+            upload_video_litpic_qiniu(e);
337
+        } else if ('oss' == data_type) {
338
+             // OSS上传
339
+            upload_video_litpic_oss(e);
340
+        } else if ('cos' == data_type) {
341
+             // COS上传
342
+            upload_video_litpic_cos(e);
343
+        } else {
344
+            // 本地上传
345
+            upload_video_litpic_local(e);
346
+        }
347
+    }
348
+
349
+    // 七牛云上传
350
+    function upload_video_litpic_qiniu(e) {
351
+        // 获取文件路径名
352
+        var file = $(e)[0].files[0];
353
+
354
+        // 验证上传格式
355
+        var fileName = file.name;
356
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
357
+        var ext = judgeExt(fileExt);
358
+        if (ext == -1) {
359
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
360
+            return false;
361
+        }
362
+
363
+        // 验证上传大小
364
+        var size = "{$upload_max_filesize}";
365
+        if (file.size > size) {
366
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
367
+            return false;
368
+        }
369
+
370
+        // 执行上传
371
+        layer_loading('上传本地');
372
+        $.ajax({
373
+            type: 'POST',
374
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Qiniuyun&a=qiniu_upload',
375
+            data: {_ajax: 1},
376
+            dataType: "JSON",
377
+            success: function(res1) {
378
+                if (1 == res1.code) {
379
+                    var token  = res1.data.token;
380
+                    var formData = new FormData();
381
+                    formData.append('file', file);
382
+                    formData.append('token', token);
383
+
384
+                    fileName = res1.data.filePath + fileExt;
385
+                    formData.append('key', fileName);
386
+                    $.ajax({
387
+                        url: res1.data.uphost,
388
+                        type: 'POST',
389
+                        dataType: 'JSON',
390
+                        data: formData,
391
+                        timeout: 1200000,
392
+                        cache: false,
393
+                        processData: false,
394
+                        contentType: false,
395
+                        xhr: function () {
396
+                            myXhr = $.ajaxSettings.xhr();
397
+                            if (myXhr.upload) {
398
+                                myXhr.upload.addEventListener('progress', function(e){
399
+                                    var curr = e.loaded;
400
+                                    var total = e.total;
401
+                                    process = parseInt(curr / total * 100);
402
+                                    $("#upload_video_litpic_qiniu").text('上传中...'+process+"%");
403
+                                });
404
+                            }
405
+                            return myXhr;
406
+                        },
407
+                        success: function(res2) {
408
+                            layer.closeAll();
409
+                            $("#upload_video_litpic_qiniu").text('上传成功');
410
+                            setTimeout(function() {
411
+                                $('#upload_video_litpic_qiniu').text('七牛云上传');
412
+                            }, 2000);
413
+                            var video_url = res1.data.domain + "/" + res2.key;
414
+                            $("#video_litpic").val(video_url);
415
+                        },
416
+                        error: function(e) {
417
+                            layer.closeAll();
418
+                            showErrorMsg(e.responseText);
419
+                            return false;
420
+                        }
421
+                    });
422
+                } else {
423
+                    layer.closeAll();
424
+                    showErrorMsg(res1.msg);
425
+                }
426
+            },
427
+            error: function(e) {
428
+                layer.closeAll();
429
+                showErrorMsg(e.responseText);
430
+            }
431
+        });
432
+    }
433
+
434
+    // 阿里云OSS上传
435
+    function upload_video_litpic_oss(e) {
436
+        // 获取文件路径名
437
+        var file = $(e)[0].files[0];
438
+
439
+        // 验证上传格式
440
+        var fileName = file.name;
441
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
442
+        var ext = judgeExt(fileExt);
443
+        if (ext == -1) {
444
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
445
+            return false;
446
+        }
447
+
448
+        // 验证上传大小
449
+        var size = "{$upload_max_filesize}";
450
+        if (file.size > size) {
451
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
452
+            return false;
453
+        }
454
+
455
+        // 执行上传
456
+        layer_loading('上传阿里云OSS');
457
+        $.ajax({
458
+            type: 'POST',
459
+            url: '__ROOT_DIR__/index.php?m=plugins&c=AliyunOss&a=oss_upload',
460
+            data: {_ajax: 1},
461
+            dataType: "JSON",
462
+            success: function(res1){
463
+                if (1 == res1.code){
464
+                    fileName = res1.data.filePath + fileExt;
465
+                    //组装发送数据
466
+                    var request = new FormData();
467
+                    request.append("OSSAccessKeyId",res1.data.accessid);
468
+                    request.append("policy",res1.data.policy);
469
+                    request.append("Signature",res1.data.signature);
470
+                    request.append("key",fileName);
471
+                    request.append("success_action_status",201);
472
+                    request.append('file', file);
473
+
474
+                    $.ajax({
475
+                        url : res1.data.host,
476
+                        data : request,
477
+                        processData: false,
478
+                        cache: false,
479
+                        contentType: false,
480
+                        dataType: 'xml',
481
+                        type : 'post',
482
+                        xhr: function () {
483
+                            myXhr = $.ajaxSettings.xhr();
484
+                            if (myXhr.upload) {
485
+                                myXhr.upload.addEventListener('progress', function(e){
486
+                                    var curr = e.loaded;
487
+                                    var total = e.total;
488
+                                    var process = parseInt(curr / total * 100);
489
+                                    $("#upload_video_litpic_oss").text('上传中...'+process+"%");
490
+                                });
491
+                            }
492
+                            return myXhr;
493
+                        },
494
+                        success : function(data) {
495
+                            layer.closeAll();
496
+                            var res = $(data).find('PostResponse');
497
+                            if (res) {
498
+                                var key = res.find('Key').text();
499
+                                $("#upload_video_litpic_oss").text('上传成功');
500
+                                setTimeout(function() {
501
+                                    $('#upload_video_litpic_oss').text('oss上传');
502
+                                }, 2000);
503
+                                var video_url = res1.data.domain + "/" + key;
504
+                                $("#video_litpic").val(video_url);
505
+                            } else {
506
+                                $("#upload_video_litpic_oss").text('上传失败');
507
+                                setTimeout(function() {
508
+                                    $('#upload_video_litpic_oss').text('oss上传');
509
+                                }, 2000);
510
+                            }
511
+                        },
512
+                        error : function(e) {
513
+                            layer.closeAll();
514
+                            console.log(e.responseText);
515
+                        }
516
+                    });
517
+                } else {
518
+                    layer.closeAll();
519
+                    showErrorMsg(res1.msg);
520
+                }
521
+            },
522
+            error: function(e) {
523
+                layer.closeAll();
524
+                showErrorMsg(e.responseText);
525
+            }
526
+        });
527
+    }
528
+
529
+    // 腾讯云COS上传
530
+    function upload_video_litpic_cos(e) {
531
+        // 获取文件路径名
532
+        var file = $(e)[0].files[0];
533
+
534
+        // 验证上传格式
535
+        var fileName = file.name;
536
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
537
+        var ext = judgeExt(fileExt);
538
+        if (ext == -1) {
539
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
540
+            return false;
541
+        }
542
+
543
+        // 验证上传大小
544
+        var size = "{$upload_max_filesize}";
545
+        if (file.size > size) {
546
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
547
+            return false;
548
+        }
549
+
550
+        // 上传参数
551
+        var formData = new FormData();
552
+            formData.append('file', file);
553
+            formData.append('file_ext', fileExt);
554
+
555
+        // 执行上传
556
+        $.ajax({
557
+            type: 'post',
558
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Cos&a=cos_upload&_ajax=1',
559
+            data: formData,
560
+            contentType: false,
561
+            processData: false,
562
+            dataType: 'json',
563
+            xhr: function () {
564
+                myXhr = $.ajaxSettings.xhr();
565
+                if (myXhr.upload) {
566
+                    myXhr.upload.addEventListener('progress', function(e){
567
+                        var curr = e.loaded;
568
+                        var total = e.total;
569
+                        process = parseInt(curr / total * 100);
570
+                        if (100 == process) {
571
+                            process = 99;
572
+                            layer_loading('上传腾讯云');
573
+                        }
574
+                        $("#upload_video_litpic_cos").text('上传中...'+process+"%");
575
+                        
576
+                    });
577
+                }
578
+                return myXhr;
579
+            },
580
+            success: function(res) {
581
+                layer.closeAll();
582
+                if (1 == res.code) {
583
+                    $("#video_litpic").val(res.data.url);
584
+                    $("#upload_video_litpic_cos").text('上传成功');
585
+                } else {
586
+                    $("#upload_video_litpic_cos").text('上传失败');
587
+                }
588
+                setTimeout(function() {
589
+                    $('#upload_video_litpic_cos').text('cos上传');
590
+                }, 2000);
591
+            },
592
+            error: function(e) {
593
+                layer.closeAll();
594
+                showErrorMsg(e.responseText);
595
+            }
596
+        });
597
+    }
598
+
599
+    // 本地上传
600
+    function upload_video_litpic_local(e) {
601
+        // 获取文件路径名
602
+        var file = $(e)[0].files[0];
603
+
604
+        // 验证上传格式
605
+        var fileName = file.name;
606
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
607
+        var ext = judgeExt(fileExt);
608
+        if (ext == -1) {
609
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
610
+            return false;
611
+        }
612
+
613
+        // 验证上传大小
614
+        var size = "{$upload_max_filesize}";
615
+        if (file.size > size) {
616
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
617
+            return false;
618
+        }
619
+
620
+        // 定义上传数据
621
+        var formData = new FormData();
622
+        formData.append('file', file);
623
+
624
+        // 执行上传
625
+        layer_loading('上传本地');
626
+        $.ajax({
627
+            type: 'post',
628
+            url : "{:url('Ueditor/upVideo', ['savepath'=>'media'])}",
629
+            data: formData,
630
+            contentType: false,
631
+            processData: false,
632
+            dataType: 'json',
633
+            xhr: function () {
634
+                myXhr = $.ajaxSettings.xhr();
635
+                if (myXhr.upload) {
636
+                    myXhr.upload.addEventListener('progress', function(e){
637
+                        var curr = e.loaded;
638
+                        var total = e.total;
639
+                        process = parseInt(curr / total * 100);
640
+                        $("#upload_video_litpic_local").html('上传中...'+process+"%");
641
+                    });
642
+                }
643
+                return myXhr;
644
+            },
645
+            success: function (res) {
646
+                layer.closeAll();
647
+                $("#upload_video_litpic_local").html('上传成功');
648
+                setTimeout(function() {
649
+                    $('#upload_video_litpic_local').html('本地上传');
650
+                }, 2000);
651
+                if ("SUCCESS" == res.state) {
652
+                    $("#video_litpic").val(res.url);
653
+                } else {
654
+                    showErrorMsg(res.msg);
655
+                }
656
+            }
657
+        });
658
+    }
659
+
660
+    // 验证格式
661
+    function judgeExt(ext) {
662
+        var type = "{$media_type}";
663
+        var extArr = [];
664
+        extArr = type.split("|");
665
+        var ext = ext.replace(".","");
666
+        return extArr.indexOf(ext);
667
+    }
668
+</script>
669
+
670
+<script type="text/javascript">
671
+	var parentObj = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
672
+    // 勾选新窗口打开链接
673
+    function CheckedTarget(t){
674
+        if ($(t).is(':checked')) {
675
+            $(t).parent().find('input[name="img_target[]"]').val(1);
676
+        }else{
677
+            $(t).parent().find('input[name="img_target[]"]').val(0);
678
+        }
679
+    }
680
+    // 鼠标事件,加载查看大图和更新图片
681
+    function upimgMouseover(obj)
682
+    {
683
+        $(obj).find('div.icaction').show();
684
+        $(obj).find('div.cover-bg').show();
685
+    }
686
+    function upimgMouseout(obj)
687
+    {
688
+        $(obj).find('div.icaction').hide();
689
+        $(obj).find('div.cover-bg').hide();
690
+    }
691
+
692
+    // 检测广告名称是否存在重复
693
+    function DetectionTitleRepeat(obj) {
694
+        // 当前广告ID
695
+        var id = 0;
696
+        // 传入的广告名称
697
+        var title = $(obj).val();
698
+        // 执行检测
699
+        $.ajax({
700
+            type: 'post',
701
+            url : "{:url('ZcdjPosition/detection_title_repeat', ['_ajax'=>1])}",
702
+            data: {id: id, title: title},
703
+            dataType: 'json',
704
+            success: function(res) {
705
+                if (0 == res.code) {
706
+                    $('#title_tips').show().html(res.msg);
707
+                } else {
708
+                    $('#title_tips').hide().html('');
709
+                }
710
+            },
711
+            error: function(e){
712
+                layer.closeAll();
713
+                showErrorAlert(e.responseText);
714
+            }
715
+        });
716
+    }
717
+
718
+    // 判断输入框是否为空
719
+    function checkForm(){
720
+        if($('input[name=title]').val() == ''){
721
+            layer.msg('名称不能为空!', {icon: 2,time: 1000});
722
+            return false;
723
+        }
724
+
725
+        if($('input[name=type]').val() == ''){
726
+            layer.msg('分类不能为空,请添加二级分类!', {icon: 2,time: 1000});
727
+            return false;
728
+        }
729
+
730
+        /*if($('#selectTest').val() == '1'){
731
+            var checkedValues = [];
732
+            $('#post_form input[type=checkbox]:checked').each(function() {
733
+                checkedValues.push($(this).val());
734
+            });
735
+            console.log(checkedValues); // 打印选中的checkbox值
736
+            if(checkedValues.length > 0){
737
+
738
+            }else{
739
+                layer.msg('请选择地区!', {icon: 2,time: 1000});
740
+                return false;
741
+            }
742
+        }*/
743
+
744
+
745
+        //打印
746
+        /*console.log($('#post_form').serialize());
747
+        return false;*/
748
+
749
+
750
+        layer_loading('正在处理');
751
+        $.ajax({
752
+            type : 'post',
753
+            url : "{:url('ZcdjPosition/add', ['_ajax'=>1])}",
754
+            data : $('#post_form').serialize(),
755
+            dataType : 'json',
756
+            success : function(res) {
757
+                layer.closeAll();
758
+                if (1 == res.code) {
759
+                    var _parent = parent;
760
+                    _parent.layer.close(parentObj);
761
+                    _parent.layer.msg(res.msg, {icon: 1, shade: layer_shade, time: 1000}, function() {
762
+                        _parent.window.location.reload();
763
+                    });
764
+                } else {
765
+                    showErrorMsg(res.msg);
766
+                }
767
+            },
768
+            error: function(e) {
769
+                layer.closeAll();
770
+                showErrorAlert(e.responseText);
771
+            }
772
+        });
773
+    }
774
+
775
+    // 显示信息输入框
776
+    function ShowInput(id) {
777
+        var obj = $("#"+id+"_ShowInput");
778
+        var showOrHide = obj.attr('data-showOrHide');
779
+        if ('hide' == showOrHide) {
780
+            obj.show().attr('data-showOrHide', 'show');
781
+        } else {
782
+            obj.hide().attr('data-showOrHide', 'hide');
783
+        }
784
+    }
785
+
786
+    // 隐藏信息输入
787
+    function HideInput(id) {
788
+        $("#"+id+"_ShowInput").hide().attr('data-showOrHide', 'hide');
789
+    }
790
+
791
+    // 上传图集相册回调函数
792
+    function imgupload_call_back(paths){
793
+        var last_div = $(".images_upload_tpl").html();
794
+        var inputs   = $('.span_input input');
795
+        var timestamp = 0;
796
+
797
+        for (var i=0; i<paths.length; i++){
798
+            // 生成新的时间戳
799
+            timestamp = (new Date()).getTime();
800
+            // 插入一个 新图片
801
+            $(".images_upload:eq(0)").before(last_div);
802
+            // 处理他的链接地址
803
+            $(".images_upload:eq(0)").find('span:eq(0)').attr('onclick',"Images('"+paths[i]+"', 900, 600);");
804
+            // 处理信息显示隐藏按钮
805
+            $(".images_upload:eq(0)").find('span:eq(1)').attr('onclick', "ShowInput('"+timestamp+"');");
806
+            // 处理他的图片路径
807
+            $(".images_upload:eq(0)").find('img').attr('src',paths[i]);
808
+            // 处理删除按钮
809
+            $(".images_upload:eq(0)").find('a:eq(1)').attr('onclick', "ClearPicArr(this, '"+paths[i]+"', 0);");
810
+            // 处理图片信息框ID
811
+            $(".images_upload:eq(0)").find('.load_input:eq(0)').attr('id', timestamp+'_ShowInput');
812
+
813
+            // 处理图片路径及隐藏域
814
+            if (inputs.length > '0') {
815
+                // 修改隐藏域,提交ID隐藏域
816
+                $(".images_upload:eq(0)").find('input:eq(0)').attr('name','img_id[]').attr('value',''); 
817
+                // 修改隐藏域,提交图片隐藏域
818
+                $(".span_input:eq(0)").find('input:eq(0)').attr('name','img_litpic[]').attr('value',paths[i]);
819
+                // 提交标题
820
+                $(".images_upload:eq(0)").find('textarea:eq(0)').attr('name','img_title[]');
821
+                // 提交跳转链接
822
+                $(".images_upload:eq(0)").find('textarea:eq(1)').attr('name','img_links[]');
823
+                // 处理内容描述
824
+                $(".images_upload:eq(0)").find('textarea:eq(2)').attr('name','img_intro[]');
825
+                // 提交新窗口选项
826
+                $(".images_upload:eq(0)").find('div.operation a:eq(0)').html("<label><input type='checkbox' title='在新窗口打开' onclick='CheckedTarget(this)'/>新窗口<input type='hidden' name='img_target[]' value='0'></label>");
827
+                // 处理收回按钮
828
+                $(".images_upload:eq(0)").find('div.operation a:eq(2)').attr('onclick', "HideInput('"+timestamp+"');").attr('title', "收回").html('<i style="font-size:16px;" class="fa fa-angle-double-up"></i>');
829
+            }
830
+        }
831
+    }
832
+
833
+    // 上传之后删除组图input
834
+    function ClearPicArr(obj,path)
835
+    {
836
+        $(obj).parent().parent().parent().remove(); // 删除完服务器的, 再删除 html上的图片
837
+        $.ajax({
838
+            type:'POST',
839
+            url:"{:url('Uploadimgnew/delupload')}",
840
+            data:{action:"del", filename:path, _ajax:1},
841
+            success:function(){}
842
+        }); 
843
+    }
844
+
845
+    // 代码调用js
846
+    function copyToClipBoard(id) {
847
+        var adstr = "{eyou:ad aid='" + id + "'}\r\n   <a href='{$"+"field.links}' {$"+"field.target}><img src='{$"+"field.litpic}' alt='{$"+"field.title}' /></a>\r\n{/eyou:ad";
848
+        var contentdiv = '<div class="dialog_content" style="margin: 0px; padding: 0px;"><dl style="padding:10px 30px;line-height:30px"><dd>标签 ad 调用:</dd>'
849
+        contentdiv += '<textarea rows="4" cols="60" style="width:400px;height:80px;">' + adstr + '}</textarea>'
850
+        contentdiv += '<dd style="border-top: dotted 1px #E7E7E7; color: #F60;">请将对应标签代码复制并粘贴到对应模板文件中!</dd></dl></div>'
851
+        layer.open({
852
+            title: '代码调用',
853
+            type: 1,
854
+            shade: layer_shade,
855
+            skin: 'layui-layer-demo',
856
+            area: ['480px', '240px'], //宽高
857
+            content: contentdiv
858
+        });
859
+    }
860
+
861
+    // 图集相册的拖动排序相关 js
862
+    $( ".sort-list" ).sortable({
863
+        start: function( event, ui) {
864
+        
865
+        }
866
+        ,stop: function( event, ui ) {
867
+
868
+        }
869
+    });
870
+    //因为他们要拖动,所以尽量设置他们的文字不能选择。  
871
+    // $( ".sort-list" ).disableSelection();
872
+</script>
873
+
874
+{include file="public/footer" /}

+ 697
- 0
application/admin/template/zcdj_position/addtype.htm View File

@@ -0,0 +1,697 @@
1
+{include file="public/layout" /}
2
+
3
+<body class="bodystyle" style="overflow-y: scroll;">
4
+<div id="toolTipLayer" style="position: absolute; z-index: 9999; display: none; visibility: visible; left: 95px; top: 573px;"></div>
5
+<div id="append_parent"></div>
6
+<div id="ajaxwaitid"></div>
7
+<div class="page min-hg-c-10">
8
+    <form class="form-horizontal" id="post_form" action="{:url('ZcPosition/add')}" method="post">
9
+        <div class="ncap-form-default">
10
+
11
+            <input type="hidden" name="id" value="{$id}"/>
12
+
13
+            <dl class="row">
14
+                <dt class="tit"> <label for="title"><em>*</em>上一级</label> </dt>
15
+                <dd class="opt">
16
+                    <select name="pid" class="select" id="selectTest222" style="margin:0px 5px;height:30px;">
17
+                        <option value="0">顶级分类</option>
18
+                        {eyou:foreach name='$pos_list' item='field1'}
19
+                        <option value="{$field1.id}" {eq name="$Request.param.type" value="$field1.id"}selected{/eq}>{$field1.name}</option>
20
+                        {/eyou:foreach}
21
+                    </select>
22
+
23
+                    <p class="notic2 red" id="title_tips" style="margin-top:10px;">
24
+                    </p>
25
+
26
+                </dd>
27
+            </dl>
28
+
29
+            <dl class="row">
30
+                <dt class="tit"> <label for="title"><em>*</em>分类名称</label> </dt>
31
+                <dd class="opt">
32
+                    <input type="text" name="title" id="title" onkeyup="DetectionTitleRepeat(this);" class="input-txt" autocomplete="off">
33
+                    <span class="err"></span>
34
+                    <p class="notic2 red" id="title_tips"></p>
35
+                </dd>
36
+            </dl>
37
+
38
+
39
+
40
+
41
+            <dl class="row" id="citychoose" style="display: none;">
42
+                <dt class="tit"> <label for="title"><em>*</em>绑定证书</label> </dt>
43
+                <dd class="opt">
44
+
45
+                    <!---checked-->
46
+                    {eyou:foreach name='$pro_list' item='field1'}
47
+                    <hr/>{$pro_list_t[$key]}<br/>
48
+                    {eyou:foreach name='$field1' item='field2'}
49
+                    <span style="margin-right: 10px;"><input type="checkbox" name="map[]" value="{$field2.id}" id="category{$field2.id}" {$field2.is_check} />{$field2.title}</span>
50
+                    {/eyou:foreach}
51
+                    {/eyou:foreach}
52
+
53
+                    <span class="err"></span>
54
+                    <p class="notic2 red" id="title_tips"></p>
55
+                </dd>
56
+            </dl>
57
+
58
+
59
+
60
+            <div class="bot"><a href="JavaScript:void(0);" onclick="checkForm();" class="ncap-btn-big ncap-btn-green" id="submitBtn">确认提交</a></div>
61
+        </div>
62
+    </form>
63
+</div>
64
+
65
+<script type="text/javascript">
66
+    var SelectedType = 1;
67
+    $(function() {
68
+        // 新增时,广告类型默认选中图片类型
69
+        $('#type1').prop('checked', 'checked');
70
+        // 新增时,默认显示图片上传
71
+        $('#1615775137_1').show();
72
+        // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
73
+        VideoLitpicValue('#video_litpic');
74
+    });
75
+
76
+    // 切换广告类型
77
+    function TypeSwitch(typeValue) {
78
+        // 隐藏全部类型内容
79
+        $('.1615775137_dl').hide();
80
+        // 显示指定类型内容
81
+        $('#1615775137_'+typeValue).show();
82
+        // 切换类型后设置为当前切换的类型
83
+        SelectedType = typeValue;
84
+        // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
85
+        VideoLitpicValue('#video_litpic');
86
+    }
87
+
88
+    // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
89
+    function VideoLitpicValue(obj) {
90
+        // 获取广告内容(多媒体为播放链接)
91
+        // var video_litpic = $(obj).val();
92
+        // 判断隐藏/显示预览按钮if (2 == SelectedType && video_litpic)
93
+        if (2 == SelectedType) {
94
+            $('#PreviewVideo').show();
95
+        } else {
96
+            $('#PreviewVideo').hide();
97
+        }
98
+    }
99
+
100
+    // 打开预览视频
101
+    function OpenPreviewVideo() {
102
+        // 获取视频链接
103
+        var video_litpic = $('#video_litpic').val();
104
+        if (video_litpic == '') {
105
+            $('#video_litpic').focus();
106
+            showErrorMsg('请先上传视频');
107
+            return false;
108
+        }
109
+
110
+        /* 视频链接后缀验证处理 */
111
+        var fileExt = video_litpic.substr(video_litpic.lastIndexOf('.')).toLowerCase();
112
+        var fileExt = judgeExt(fileExt);
113
+        if (fileExt == -1) {
114
+            $('#video_litpic').focus();
115
+            showErrorMsg('不支持的视频格式,可在附件设置中修改');
116
+            return false;
117
+        }
118
+        /* END */
119
+
120
+        /* 视频链接是否存在斜杠处理 */
121
+        var fileInfo = video_litpic.lastIndexOf('/');
122
+        if (fileInfo == -1) {
123
+            $('#video_litpic').focus();
124
+            showErrorMsg('视频链接不完整,无法正常预览');
125
+            return false;
126
+        }
127
+        /* END */
128
+
129
+        // 打开视频播放
130
+        $.ajax({
131
+            type : 'post',
132
+            url  : $('#OpenPreviewVideoUrl').val(),
133
+            data : {video_litpic: video_litpic},
134
+            dataType : 'json',
135
+            success : function(res) {
136
+                if (1 == res.code) {
137
+                    var PreviewVideo = "<video style='width:100%; height:100%;' src='"+res.url+"' controls preload='auto' oncontextmenu='return fase' autoplay></video>";
138
+                    layer.open({
139
+                        type: 1,
140
+                        title: false,
141
+                        fixed: true, //不固定
142
+                        shadeClose: false,
143
+                        shade: layer_shade,
144
+                        area: ['80%', '80%'],
145
+                        content: PreviewVideo
146
+                    });
147
+                } else {
148
+                    showErrorMsg(res.msg);
149
+                }
150
+            },
151
+            error: function(e) {
152
+                showErrorAlert(e.responseText);
153
+            }
154
+        });
155
+    }
156
+
157
+    // 上传媒体文件
158
+    function upload_video_litpic_1615775137(e) {
159
+        var data_type = $(e).attr('data-type');
160
+        if ('qiniu' == data_type) {
161
+            // 七牛云上传
162
+            upload_video_litpic_qiniu(e);
163
+        } else if ('oss' == data_type) {
164
+            // OSS上传
165
+            upload_video_litpic_oss(e);
166
+        } else if ('cos' == data_type) {
167
+            // COS上传
168
+            upload_video_litpic_cos(e);
169
+        } else {
170
+            // 本地上传
171
+            upload_video_litpic_local(e);
172
+        }
173
+    }
174
+
175
+    // 七牛云上传
176
+    function upload_video_litpic_qiniu(e) {
177
+        // 获取文件路径名
178
+        var file = $(e)[0].files[0];
179
+
180
+        // 验证上传格式
181
+        var fileName = file.name;
182
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
183
+        var ext = judgeExt(fileExt);
184
+        if (ext == -1) {
185
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
186
+            return false;
187
+        }
188
+
189
+        // 验证上传大小
190
+        var size = "{$upload_max_filesize}";
191
+        if (file.size > size) {
192
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
193
+            return false;
194
+        }
195
+
196
+        // 执行上传
197
+        layer_loading('上传本地');
198
+        $.ajax({
199
+            type: 'POST',
200
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Qiniuyun&a=qiniu_upload',
201
+            data: {_ajax: 1},
202
+            dataType: "JSON",
203
+            success: function(res1) {
204
+                if (1 == res1.code) {
205
+                    var token  = res1.data.token;
206
+                    var formData = new FormData();
207
+                    formData.append('file', file);
208
+                    formData.append('token', token);
209
+
210
+                    fileName = res1.data.filePath + fileExt;
211
+                    formData.append('key', fileName);
212
+                    $.ajax({
213
+                        url: res1.data.uphost,
214
+                        type: 'POST',
215
+                        dataType: 'JSON',
216
+                        data: formData,
217
+                        timeout: 1200000,
218
+                        cache: false,
219
+                        processData: false,
220
+                        contentType: false,
221
+                        xhr: function () {
222
+                            myXhr = $.ajaxSettings.xhr();
223
+                            if (myXhr.upload) {
224
+                                myXhr.upload.addEventListener('progress', function(e){
225
+                                    var curr = e.loaded;
226
+                                    var total = e.total;
227
+                                    process = parseInt(curr / total * 100);
228
+                                    $("#upload_video_litpic_qiniu").text('上传中...'+process+"%");
229
+                                });
230
+                            }
231
+                            return myXhr;
232
+                        },
233
+                        success: function(res2) {
234
+                            layer.closeAll();
235
+                            $("#upload_video_litpic_qiniu").text('上传成功');
236
+                            setTimeout(function() {
237
+                                $('#upload_video_litpic_qiniu').text('七牛云上传');
238
+                            }, 2000);
239
+                            var video_url = res1.data.domain + "/" + res2.key;
240
+                            $("#video_litpic").val(video_url);
241
+                        },
242
+                        error: function(e) {
243
+                            layer.closeAll();
244
+                            showErrorMsg(e.responseText);
245
+                            return false;
246
+                        }
247
+                    });
248
+                } else {
249
+                    layer.closeAll();
250
+                    showErrorMsg(res1.msg);
251
+                }
252
+            },
253
+            error: function(e) {
254
+                layer.closeAll();
255
+                showErrorMsg(e.responseText);
256
+            }
257
+        });
258
+    }
259
+
260
+    // 阿里云OSS上传
261
+    function upload_video_litpic_oss(e) {
262
+        // 获取文件路径名
263
+        var file = $(e)[0].files[0];
264
+
265
+        // 验证上传格式
266
+        var fileName = file.name;
267
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
268
+        var ext = judgeExt(fileExt);
269
+        if (ext == -1) {
270
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
271
+            return false;
272
+        }
273
+
274
+        // 验证上传大小
275
+        var size = "{$upload_max_filesize}";
276
+        if (file.size > size) {
277
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
278
+            return false;
279
+        }
280
+
281
+        // 执行上传
282
+        layer_loading('上传阿里云OSS');
283
+        $.ajax({
284
+            type: 'POST',
285
+            url: '__ROOT_DIR__/index.php?m=plugins&c=AliyunOss&a=oss_upload',
286
+            data: {_ajax: 1},
287
+            dataType: "JSON",
288
+            success: function(res1){
289
+                if (1 == res1.code){
290
+                    fileName = res1.data.filePath + fileExt;
291
+                    //组装发送数据
292
+                    var request = new FormData();
293
+                    request.append("OSSAccessKeyId",res1.data.accessid);
294
+                    request.append("policy",res1.data.policy);
295
+                    request.append("Signature",res1.data.signature);
296
+                    request.append("key",fileName);
297
+                    request.append("success_action_status",201);
298
+                    request.append('file', file);
299
+
300
+                    $.ajax({
301
+                        url : res1.data.host,
302
+                        data : request,
303
+                        processData: false,
304
+                        cache: false,
305
+                        contentType: false,
306
+                        dataType: 'xml',
307
+                        type : 'post',
308
+                        xhr: function () {
309
+                            myXhr = $.ajaxSettings.xhr();
310
+                            if (myXhr.upload) {
311
+                                myXhr.upload.addEventListener('progress', function(e){
312
+                                    var curr = e.loaded;
313
+                                    var total = e.total;
314
+                                    var process = parseInt(curr / total * 100);
315
+                                    $("#upload_video_litpic_oss").text('上传中...'+process+"%");
316
+                                });
317
+                            }
318
+                            return myXhr;
319
+                        },
320
+                        success : function(data) {
321
+                            layer.closeAll();
322
+                            var res = $(data).find('PostResponse');
323
+                            if (res) {
324
+                                var key = res.find('Key').text();
325
+                                $("#upload_video_litpic_oss").text('上传成功');
326
+                                setTimeout(function() {
327
+                                    $('#upload_video_litpic_oss').text('oss上传');
328
+                                }, 2000);
329
+                                var video_url = res1.data.domain + "/" + key;
330
+                                $("#video_litpic").val(video_url);
331
+                            } else {
332
+                                $("#upload_video_litpic_oss").text('上传失败');
333
+                                setTimeout(function() {
334
+                                    $('#upload_video_litpic_oss').text('oss上传');
335
+                                }, 2000);
336
+                            }
337
+                        },
338
+                        error : function(e) {
339
+                            layer.closeAll();
340
+                            console.log(e.responseText);
341
+                        }
342
+                    });
343
+                } else {
344
+                    layer.closeAll();
345
+                    showErrorMsg(res1.msg);
346
+                }
347
+            },
348
+            error: function(e) {
349
+                layer.closeAll();
350
+                showErrorMsg(e.responseText);
351
+            }
352
+        });
353
+    }
354
+
355
+    // 腾讯云COS上传
356
+    function upload_video_litpic_cos(e) {
357
+        // 获取文件路径名
358
+        var file = $(e)[0].files[0];
359
+
360
+        // 验证上传格式
361
+        var fileName = file.name;
362
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
363
+        var ext = judgeExt(fileExt);
364
+        if (ext == -1) {
365
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
366
+            return false;
367
+        }
368
+
369
+        // 验证上传大小
370
+        var size = "{$upload_max_filesize}";
371
+        if (file.size > size) {
372
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
373
+            return false;
374
+        }
375
+
376
+        // 上传参数
377
+        var formData = new FormData();
378
+        formData.append('file', file);
379
+        formData.append('file_ext', fileExt);
380
+
381
+        // 执行上传
382
+        $.ajax({
383
+            type: 'post',
384
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Cos&a=cos_upload&_ajax=1',
385
+            data: formData,
386
+            contentType: false,
387
+            processData: false,
388
+            dataType: 'json',
389
+            xhr: function () {
390
+                myXhr = $.ajaxSettings.xhr();
391
+                if (myXhr.upload) {
392
+                    myXhr.upload.addEventListener('progress', function(e){
393
+                        var curr = e.loaded;
394
+                        var total = e.total;
395
+                        process = parseInt(curr / total * 100);
396
+                        if (100 == process) {
397
+                            process = 99;
398
+                            layer_loading('上传腾讯云');
399
+                        }
400
+                        $("#upload_video_litpic_cos").text('上传中...'+process+"%");
401
+
402
+                    });
403
+                }
404
+                return myXhr;
405
+            },
406
+            success: function(res) {
407
+                layer.closeAll();
408
+                if (1 == res.code) {
409
+                    $("#video_litpic").val(res.data.url);
410
+                    $("#upload_video_litpic_cos").text('上传成功');
411
+                } else {
412
+                    $("#upload_video_litpic_cos").text('上传失败');
413
+                }
414
+                setTimeout(function() {
415
+                    $('#upload_video_litpic_cos').text('cos上传');
416
+                }, 2000);
417
+            },
418
+            error: function(e) {
419
+                layer.closeAll();
420
+                showErrorMsg(e.responseText);
421
+            }
422
+        });
423
+    }
424
+
425
+    // 本地上传
426
+    function upload_video_litpic_local(e) {
427
+        // 获取文件路径名
428
+        var file = $(e)[0].files[0];
429
+
430
+        // 验证上传格式
431
+        var fileName = file.name;
432
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
433
+        var ext = judgeExt(fileExt);
434
+        if (ext == -1) {
435
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
436
+            return false;
437
+        }
438
+
439
+        // 验证上传大小
440
+        var size = "{$upload_max_filesize}";
441
+        if (file.size > size) {
442
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
443
+            return false;
444
+        }
445
+
446
+        // 定义上传数据
447
+        var formData = new FormData();
448
+        formData.append('file', file);
449
+
450
+        // 执行上传
451
+        layer_loading('上传本地');
452
+        $.ajax({
453
+            type: 'post',
454
+            url : "{:url('Ueditor/upVideo', ['savepath'=>'media'])}",
455
+            data: formData,
456
+            contentType: false,
457
+            processData: false,
458
+            dataType: 'json',
459
+            xhr: function () {
460
+                myXhr = $.ajaxSettings.xhr();
461
+                if (myXhr.upload) {
462
+                    myXhr.upload.addEventListener('progress', function(e){
463
+                        var curr = e.loaded;
464
+                        var total = e.total;
465
+                        process = parseInt(curr / total * 100);
466
+                        $("#upload_video_litpic_local").html('上传中...'+process+"%");
467
+                    });
468
+                }
469
+                return myXhr;
470
+            },
471
+            success: function (res) {
472
+                layer.closeAll();
473
+                $("#upload_video_litpic_local").html('上传成功');
474
+                setTimeout(function() {
475
+                    $('#upload_video_litpic_local').html('本地上传');
476
+                }, 2000);
477
+                if ("SUCCESS" == res.state) {
478
+                    $("#video_litpic").val(res.url);
479
+                } else {
480
+                    showErrorMsg(res.msg);
481
+                }
482
+            }
483
+        });
484
+    }
485
+
486
+    // 验证格式
487
+    function judgeExt(ext) {
488
+        var type = "{$media_type}";
489
+        var extArr = [];
490
+        extArr = type.split("|");
491
+        var ext = ext.replace(".","");
492
+        return extArr.indexOf(ext);
493
+    }
494
+</script>
495
+
496
+<script type="text/javascript">
497
+    var parentObj = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
498
+    // 勾选新窗口打开链接
499
+    function CheckedTarget(t){
500
+        if ($(t).is(':checked')) {
501
+            $(t).parent().find('input[name="img_target[]"]').val(1);
502
+        }else{
503
+            $(t).parent().find('input[name="img_target[]"]').val(0);
504
+        }
505
+    }
506
+    // 鼠标事件,加载查看大图和更新图片
507
+    function upimgMouseover(obj)
508
+    {
509
+        $(obj).find('div.icaction').show();
510
+        $(obj).find('div.cover-bg').show();
511
+    }
512
+    function upimgMouseout(obj)
513
+    {
514
+        $(obj).find('div.icaction').hide();
515
+        $(obj).find('div.cover-bg').hide();
516
+    }
517
+
518
+    // 检测广告名称是否存在重复
519
+    function DetectionTitleRepeat(obj) {
520
+        // 当前广告ID
521
+        var id = 0;
522
+        // 传入的广告名称
523
+        var title = $(obj).val();
524
+        // 执行检测
525
+        $.ajax({
526
+            type: 'post',
527
+            url : "{:url('ZcPosition/detection_title_repeat', ['_ajax'=>1])}",
528
+            data: {id: id, title: title},
529
+            dataType: 'json',
530
+            success: function(res) {
531
+                if (0 == res.code) {
532
+                    $('#title_tips').show().html(res.msg);
533
+                } else {
534
+                    $('#title_tips').hide().html('');
535
+                }
536
+            },
537
+            error: function(e){
538
+                layer.closeAll();
539
+                showErrorAlert(e.responseText);
540
+            }
541
+        });
542
+    }
543
+
544
+    // 判断输入框是否为空
545
+    function checkForm(){
546
+        if($('input[name=title]').val() == ''){
547
+            layer.msg('分类名称不能为空!', {icon: 2,time: 1000});
548
+            return false;
549
+        }
550
+
551
+        if($('#selectTest').val() == '1'){
552
+
553
+        }
554
+
555
+        /*var checkedValues = [];
556
+        $('#post_form input[type=checkbox]:checked').each(function() {
557
+            checkedValues.push($(this).val());
558
+        });
559
+        console.log(checkedValues); // 打印选中的checkbox值
560
+        if(checkedValues.length > 0){
561
+
562
+        }else{
563
+            layer.msg('请选择证书!', {icon: 2,time: 1000});
564
+            return false;
565
+        }*/
566
+
567
+
568
+        //打印
569
+        /*console.log($('#post_form').serialize());
570
+        return false;*/
571
+
572
+
573
+        layer_loading('正在处理');
574
+        $.ajax({
575
+            type : 'post',
576
+            url : "{:url('ZcdjPosition/addtypePost', ['_ajax'=>1])}",
577
+            data : $('#post_form').serialize(),
578
+            dataType : 'json',
579
+            success : function(res) {
580
+                layer.closeAll();
581
+                if (1 == res.code) {
582
+                    var _parent = parent;
583
+                    _parent.layer.close(parentObj);
584
+                    _parent.layer.msg(res.msg, {icon: 1, shade: layer_shade, time: 1000}, function() {
585
+                        _parent.window.location.reload();
586
+                    });
587
+                } else {
588
+                    showErrorMsg(res.msg);
589
+                }
590
+            },
591
+            error: function(e) {
592
+                layer.closeAll();
593
+                showErrorAlert(e.responseText);
594
+            }
595
+        });
596
+    }
597
+
598
+    // 显示信息输入框
599
+    function ShowInput(id) {
600
+        var obj = $("#"+id+"_ShowInput");
601
+        var showOrHide = obj.attr('data-showOrHide');
602
+        if ('hide' == showOrHide) {
603
+            obj.show().attr('data-showOrHide', 'show');
604
+        } else {
605
+            obj.hide().attr('data-showOrHide', 'hide');
606
+        }
607
+    }
608
+
609
+    // 隐藏信息输入
610
+    function HideInput(id) {
611
+        $("#"+id+"_ShowInput").hide().attr('data-showOrHide', 'hide');
612
+    }
613
+
614
+    // 上传图集相册回调函数
615
+    function imgupload_call_back(paths){
616
+        var last_div = $(".images_upload_tpl").html();
617
+        var inputs   = $('.span_input input');
618
+        var timestamp = 0;
619
+
620
+        for (var i=0; i<paths.length; i++){
621
+            // 生成新的时间戳
622
+            timestamp = (new Date()).getTime();
623
+            // 插入一个 新图片
624
+            $(".images_upload:eq(0)").before(last_div);
625
+            // 处理他的链接地址
626
+            $(".images_upload:eq(0)").find('span:eq(0)').attr('onclick',"Images('"+paths[i]+"', 900, 600);");
627
+            // 处理信息显示隐藏按钮
628
+            $(".images_upload:eq(0)").find('span:eq(1)').attr('onclick', "ShowInput('"+timestamp+"');");
629
+            // 处理他的图片路径
630
+            $(".images_upload:eq(0)").find('img').attr('src',paths[i]);
631
+            // 处理删除按钮
632
+            $(".images_upload:eq(0)").find('a:eq(1)').attr('onclick', "ClearPicArr(this, '"+paths[i]+"', 0);");
633
+            // 处理图片信息框ID
634
+            $(".images_upload:eq(0)").find('.load_input:eq(0)').attr('id', timestamp+'_ShowInput');
635
+
636
+            // 处理图片路径及隐藏域
637
+            if (inputs.length > '0') {
638
+                // 修改隐藏域,提交ID隐藏域
639
+                $(".images_upload:eq(0)").find('input:eq(0)').attr('name','img_id[]').attr('value','');
640
+                // 修改隐藏域,提交图片隐藏域
641
+                $(".span_input:eq(0)").find('input:eq(0)').attr('name','img_litpic[]').attr('value',paths[i]);
642
+                // 提交标题
643
+                $(".images_upload:eq(0)").find('textarea:eq(0)').attr('name','img_title[]');
644
+                // 提交跳转链接
645
+                $(".images_upload:eq(0)").find('textarea:eq(1)').attr('name','img_links[]');
646
+                // 处理内容描述
647
+                $(".images_upload:eq(0)").find('textarea:eq(2)').attr('name','img_intro[]');
648
+                // 提交新窗口选项
649
+                $(".images_upload:eq(0)").find('div.operation a:eq(0)').html("<label><input type='checkbox' title='在新窗口打开' onclick='CheckedTarget(this)'/>新窗口<input type='hidden' name='img_target[]' value='0'></label>");
650
+                // 处理收回按钮
651
+                $(".images_upload:eq(0)").find('div.operation a:eq(2)').attr('onclick', "HideInput('"+timestamp+"');").attr('title', "收回").html('<i style="font-size:16px;" class="fa fa-angle-double-up"></i>');
652
+            }
653
+        }
654
+    }
655
+
656
+    // 上传之后删除组图input
657
+    function ClearPicArr(obj,path)
658
+    {
659
+        $(obj).parent().parent().parent().remove(); // 删除完服务器的, 再删除 html上的图片
660
+        $.ajax({
661
+            type:'POST',
662
+            url:"{:url('Uploadimgnew/delupload')}",
663
+            data:{action:"del", filename:path, _ajax:1},
664
+            success:function(){}
665
+        });
666
+    }
667
+
668
+    // 代码调用js
669
+    function copyToClipBoard(id) {
670
+        var adstr = "{eyou:ad aid='" + id + "'}\r\n   <a href='{$"+"field.links}' {$"+"field.target}><img src='{$"+"field.litpic}' alt='{$"+"field.title}' /></a>\r\n{/eyou:ad";
671
+        var contentdiv = '<div class="dialog_content" style="margin: 0px; padding: 0px;"><dl style="padding:10px 30px;line-height:30px"><dd>标签 ad 调用:</dd>'
672
+        contentdiv += '<textarea rows="4" cols="60" style="width:400px;height:80px;">' + adstr + '}</textarea>'
673
+        contentdiv += '<dd style="border-top: dotted 1px #E7E7E7; color: #F60;">请将对应标签代码复制并粘贴到对应模板文件中!</dd></dl></div>'
674
+        layer.open({
675
+            title: '代码调用',
676
+            type: 1,
677
+            shade: layer_shade,
678
+            skin: 'layui-layer-demo',
679
+            area: ['480px', '240px'], //宽高
680
+            content: contentdiv
681
+        });
682
+    }
683
+
684
+    // 图集相册的拖动排序相关 js
685
+    $( ".sort-list" ).sortable({
686
+        start: function( event, ui) {
687
+
688
+        }
689
+        ,stop: function( event, ui ) {
690
+
691
+        }
692
+    });
693
+    //因为他们要拖动,所以尽量设置他们的文字不能选择。
694
+    // $( ".sort-list" ).disableSelection();
695
+</script>
696
+
697
+{include file="public/footer" /}

+ 964
- 0
application/admin/template/zcdj_position/edit.htm View File

@@ -0,0 +1,964 @@
1
+{include file="public/layout" /}
2
+
3
+<body class="ad_postion bodystyle" style="overflow-y: scroll;">
4
+<div id="toolTipLayer" style="position: absolute; z-index: 9999; display: none; visibility: visible; left: 95px; top: 573px;"></div>
5
+<div id="append_parent"></div>
6
+<div id="ajaxwaitid"></div>
7
+<div class="page min-hg-c-10">
8
+    <form class="form-horizontal" id="post_form" action="{:url('ZcdjPosition/edit')}" method="post">
9
+        <div class="ncap-form-default">
10
+            <dl class="row">
11
+                <dt class="tit"> <label for="title"><em>*</em>等级名称</label> </dt>
12
+                <dd class="opt">
13
+                    <input type="text" name="title" value="{$field.title}" id="title" onkeyup="DetectionTitleRepeat(this);" class="input-txt" autocomplete="off">
14
+                    <span class="err"></span>
15
+                    <p class="notic2 red" id="title_tips"></p>
16
+                </dd>
17
+            </dl>
18
+
19
+            <dl class="row" style="display: block;">
20
+                <dt class="tit"> <label for="type">选择分类</label> </dt>
21
+                <dd class="opt">
22
+
23
+
24
+                    <?php
25
+                    /*
26
+                     *
27
+                     * <select name="type" class="select" style="margin:0px 5px;height:30px;">
28
+                        <option value="">--选择地区--</option>
29
+
30
+                        {eyou:foreach name='$pro_list' item='field1'}
31
+                        <option value="{$field1.id}" {eq name="$curr_id" value="$field1.id"}selected{/eq}>{$field1.name}</option>
32
+                        {/eyou:foreach}
33
+
34
+                    </select>
35
+
36
+
37
+                     <select name="type" class="select" id="selectTest" style="margin:0px 5px;height:30px;">
38
+                        <option value="0" {eq name="0" value="$field.type"}selected{/eq}>通类</option>
39
+                        <option value="1" {eq name="1" value="$field.type"}selected{/eq}>计算机科学</option>
40
+                        <option value="2" {eq name="2" value="$field.type"}selected{/eq}>理学</option>
41
+                        <option value="3" {eq name="3" value="$field.type"}selected{/eq}>哲学类</option>
42
+                        <option value="4" {eq name="4" value="$field.type"}selected{/eq}>教育学类</option>
43
+                        <option value="5" {eq name="5" value="$field.type"}selected{/eq}>医学类</option>
44
+                        <option value="6" {eq name="6" value="$field.type"}selected{/eq}>中国语言文学类</option>
45
+                        <option value="7" {eq name="7" value="$field.type"}selected{/eq}>历史学类</option>
46
+                        <option value="8" {eq name="8" value="$field.type"}selected{/eq}>经济学类</option>
47
+                        <option value="9" {eq name="9" value="$field.type"}selected{/eq}>法学</option>
48
+                        <option value="10" {eq name="10" value="$field.type"}selected{/eq}>体育学类</option>
49
+                        <option value="11" {eq name="11" value="$field.type"}selected{/eq}>工商管理类</option>
50
+                        <option value="12" {eq name="12" value="$field.type"}selected{/eq}>军事学</option>
51
+                        <option value="13" {eq name="13" value="$field.type"}selected{/eq}>新闻传播学类</option>
52
+                        <option value="14" {eq name="14" value="$field.type"}selected{/eq}>公共管理类</option>
53
+                        <option value="15" {eq name="15" value="$field.type"}selected{/eq}>中医学类</option>
54
+                        <option value="16" {eq name="16" value="$field.type"}selected{/eq}>药学类</option>
55
+                        <option value="17" {eq name="17" value="$field.type"}selected{/eq}>政治学类</option>
56
+                        <option value="18" {eq name="18" value="$field.type"}selected{/eq}>社会学类</option>
57
+                        <option value="19" {eq name="19" value="$field.type"}selected{/eq}>艺术类</option>
58
+                        <option value="20" {eq name="20" value="$field.type"}selected{/eq}>生物科学类</option>
59
+                        <option value="21" {eq name="21" value="$field.type"}selected{/eq}>农学</option>
60
+                        <option value="22" {eq name="22" value="$field.type"}selected{/eq}>其他</option>
61
+                    </select>
62
+                     */
63
+
64
+                    ?>
65
+
66
+                    <select name="type2" class="select" id="selectTest" style="margin:0px 5px;height:30px;">
67
+                        {eyou:foreach name='$pos_list' item='field1'}
68
+                        <option value="{$field1.id}" {eq name="$pid" value="$field1.id"}selected{/eq}>{$field1.name}</option>
69
+                        {/eyou:foreach}
70
+                    </select>
71
+
72
+                    {eyou:notempty name='$pos_list2' /}
73
+                    <select name="type" class="select" id="selectTest2" style="margin:0px 5px;height:30px;">
74
+                        {eyou:foreach name='$pos_list2' item='field1'}
75
+                        <option value="{$field1.id}" {eq name="$field.type" value="$field1.id"}selected{/eq}>{$field1.name}</option>
76
+                        {/eyou:foreach}
77
+                    </select>
78
+                    {eyou:else /}
79
+                    <span>请先添加二级分类</span>
80
+                    <input type="hidden" name="type" value="">
81
+                    {/eyou:notempty}
82
+
83
+
84
+                    <script>
85
+                        $(function(){
86
+                            $("#selectTest").change(function(e){
87
+                                console.log($(this).val());
88
+                                var v = $(this).val();
89
+                                if(v == 1){
90
+                                    //$('#citychoose').show();
91
+                                }else{
92
+                                    //$('#citychoose').hide();
93
+                                }
94
+
95
+                                //ajax
96
+                                $.ajax({
97
+                                    type:'POST',
98
+                                    url:"{:url('ZcdjPosition/getType', ['_ajax'=>1])}",
99
+                                    data:{
100
+                                        id: $(this).val()
101
+                                        ,_ajax:1
102
+                                    },
103
+                                    success:function(res){
104
+                                        $('#selectTest2').html(res.data);
105
+                                    }
106
+                                });
107
+
108
+                            });
109
+                        });
110
+                    </script>
111
+
112
+
113
+                </dd>
114
+            </dl>
115
+
116
+
117
+
118
+            <dl class="row" id="citychoose" style="display: none;" >
119
+                <dt class="tit"> <label for="title"><em>*</em>地区选择</label> </dt>
120
+                <dd class="opt">
121
+
122
+                    <!---checked  $map_list-->
123
+                    {eyou:foreach name='$pro_list' item='field1'}
124
+                    <input type="checkbox" name="map[]" value="{$field1.id}" id="category{$field1.id}"
125
+                           {$field1.is_check}
126
+                    />{$field1.name}
127
+                    {/eyou:foreach}
128
+
129
+                    <span class="err"></span>
130
+                    <p class="notic2 red" id="title_tips"></p>
131
+                </dd>
132
+            </dl>
133
+
134
+
135
+
136
+
137
+            <!--暂时找不到控制显示隐藏的地方-->
138
+            <dl class="row 1615775137_dl" style="display: none;" id="1615775137_1" style="z-index: 2">
139
+                <dt class="tit"> <label>主题背景</label> </dt>
140
+                <dd class="opt">
141
+                    <div class="tab-pane" id="tab_imgupload">
142
+                        <table class="table table-bordered">
143
+                            <tbody>
144
+                            <tr>
145
+                                <td>
146
+                                    <div class="sort-list">
147
+                                        {volist name="ad_data" id="vo" key="k"}
148
+                                            {eq name="$vo.media_type" value="1"}
149
+                                                <div class="images_upload">
150
+                                                    <div class="ic">
151
+                                                        <div class='upimg' title="拖动修改排序" onmouseover="upimgMouseover(this);" onmouseout="upimgMouseout(this);">
152
+                                                            <div class='icaction' style="display: none" >
153
+                                                                <span class="load_images" onclick="Images('{$vo['litpic']}', 900, 600);">
154
+                                                                    <a href="javascript:void(0);" style="color:white">
155
+                                                                        <i class='fa fa-search-plus'></i>大图
156
+                                                                    </a>
157
+                                                                </span>
158
+                                                                <span class="load_images" onclick="LoadImagesId('{$vo['id']}');">
159
+                                                                    <i class='fa fa-photo'></i>更换
160
+                                                                </span>
161
+                                                                <span class="load_images" onclick="ShowInput('{$vo['id']}');">
162
+                                                                    <i class='fa fa-file-text-o'></i>信息
163
+                                                                </span>
164
+                                                            </div>
165
+                                                            <div class='cover-bg' style="display: none" ></div>
166
+                                                            <img id="{$vo['id']}_Id" src="{$vo['litpic']}"/>
167
+                                                            {if condition="$main_lang == $admin_lang || !empty($global['language_split'])"}
168
+                                                                <a class="delect" href="javascript:void(0);" onclick="ClearPicArr(this,'{$vo['litpic']}','{$vo['id']}');" title="删除">
169
+                                                                </a>
170
+                                                            {/if}
171
+                                                        </div>
172
+                                                        
173
+                                                        <div class="load_input" id="{$vo['id']}_ShowInput" data-showOrHide="hide">
174
+                                                            <input type="hidden" name="img_id[]" value="{$vo['id']}"/>
175
+                                                            <span class="span_input">
176
+                                                                <input type="hidden" id="{$vo['id']}_Litpic" name="img_litpic[]" value="{$vo['litpic']}"/>
177
+                                                            </span>
178
+                                                            <textarea name="img_title[]" placeholder="请输入标题..." style="height: 28px;">{$vo.title}</textarea>
179
+                                                            <textarea name="img_links[]" placeholder="请输入链接网址..." style="height: 28px;">{$vo.links}</textarea>
180
+                                                            <textarea name="img_intro[]" placeholder="广告注释:支持HTML代码" style="height: 64px;">{$vo.intro}</textarea>
181
+                                                            <div class="operation">
182
+                                                                <a href="javascript:void(0);">
183
+                                                                    <label>
184
+                                                                        <input type="checkbox" {eq name="$vo['target']" value="1"} checked="checked" {/eq} title="在新窗口打开" onclick="CheckedTarget(this)"/>新窗口
185
+                                                                        <input type="hidden" name="img_target[]" value="{$vo['target']}">
186
+                                                                    </label>
187
+                                                                </a>
188
+                                                                <a href="javascript:void(0);" onclick="copyToClipBoard({$vo['id']});">
189
+                                                                    <i class="fa fa-file-code-o"></i>标签调用
190
+                                                                </a>
191
+                                                                <a onclick="HideInput('{$vo['id']}');" style="width: 32%;" href="javascript:void(0);" title="收回"><i style="font-size:16px;" class="fa fa-angle-double-up"></i></a>
192
+                                                            </div>
193
+                                                        </div>
194
+                                                    </div>
195
+                                                </div>
196
+                                            {/eq}
197
+                                        {/volist}
198
+                                        <div class="images_upload"></div>
199
+                                    </div> 
200
+                                    {if condition="$main_lang == $admin_lang || !empty($global['language_split'])"}
201
+                                        <a href="javascript:void(0);" onClick="GetUploadify(30,'','allimg','imgupload_call_back');" class="img-upload b-img-upload mb15" title="点击上传">
202
+                                            <div class="y-line"></div>
203
+                                            <div class="x-line"></div>
204
+                                        </a>
205
+                                    {/if}
206
+                                    <input type="hidden" id="ImagesId">
207
+                                </td>
208
+                            </tr>
209
+                            </tbody>
210
+                        </table>
211
+                    </div>
212
+                    <!-- 上传图片显示的样板 start -->
213
+                    <div class="images_upload_tpl none">
214
+                        <div class="images_upload ic">
215
+                            <div class="ic">
216
+                                <div class='upimg' title="拖动修改排序" onmouseover="upimgMouseover(this);" onmouseout="upimgMouseout(this);">
217
+                                    <div class='icaction' style="display: none">
218
+                                        <span class="load_images" onclick="">
219
+                                            <a href="javascript:void(0);" style="color: white">
220
+                                                <i class='fa fa-search-plus'></i>大图
221
+                                            </a>
222
+                                        </span>
223
+                                        <span class="load_images" onclick="">
224
+                                            <i class='fa fa-file-text-o'></i>信息
225
+                                        </span>
226
+                                    </div>
227
+                                    <div class='cover-bg' style="display: none"></div>
228
+                                    <img src="__STATIC__/admin/images/add-button.jpg"/>
229
+                                    <a class="delect" href="javascript:void(0);" title="删除"></a>
230
+                                </div>
231
+
232
+                                <div class="load_input" data-showOrHide="hide">
233
+                                    <input type="hidden"/>
234
+                                    <span class="span_input"> <input type="hidden"/> </span>
235
+                                    <textarea placeholder="请输入标题..." style="height: 28px;"></textarea>
236
+                                    <textarea placeholder="请输入链接网址..." style="height: 28px;"></textarea>
237
+                                    <textarea placeholder="广告注释:支持HTML代码" style="height: 64px;"></textarea>
238
+                                    <div class="operation">
239
+                                        <a href="javascript:void(0);">&nbsp;&nbsp;</a>
240
+                                        <a href="javascript:void(0);">&nbsp;&nbsp;</a>
241
+                                        <a style="width: 32%;" href="javascript:void(0);">&nbsp;&nbsp;</a>
242
+                                    </div> 
243
+                                </div>
244
+                            </div>
245
+                        </div>
246
+                    </div>
247
+                    <!-- 上传图片显示的样板 end -->
248
+                </dd>
249
+            </dl>
250
+
251
+            <dl class="row 1615775137_dl" style="display: none;" id="1615775137_2" style="z-index: 2">
252
+                <dt class="tit"> <label for="type">广告内容</label> </dt>
253
+                <dd class="opt">
254
+                    <input type="hidden" name="video_id" {eq name="$ad_data.0.media_type" value="2"} value="{$ad_data.0.id}" {/eq} class="input-txt">
255
+                    <input type="text" name="video_litpic" id="video_litpic" {eq name="$ad_data.0.media_type" value="2"} value="{$ad_data.0.litpic}" {/eq} class="input-txt">
256
+                    <input type="file" id="courseware_file" data-type='local' onchange="upload_video_litpic_1615775137(this)" style="display: none;">
257
+                    {eq name="$WeappOpen.qny_open" value="1"}
258
+                    &nbsp;<a href="javascript:void(0);" class="ncap-btn ncap-btn-green" id="upload_video_litpic_qiniu" onclick="$('#courseware_file').attr('data-type', 'qiniu').trigger('click');">七牛云上传</a>
259
+                    {/eq}
260
+                    {eq name="$WeappOpen.oss_open" value="1"}
261
+                    &nbsp;<a href="javascript:void(0);" class="ncap-btn ncap-btn-green" id="upload_video_litpic_oss" onclick="$('#courseware_file').attr('data-type', 'oss').trigger('click');">oss上传</a>
262
+                    {/eq}
263
+                    {eq name="$WeappOpen.cos_open" value="1"}
264
+                    &nbsp;<a href="javascript:void(0);" class="ncap-btn ncap-btn-green" id="upload_video_litpic_cos" onclick="$('#courseware_file').attr('data-type', 'cos').trigger('click');">cos上传</a>
265
+                    {/eq}
266
+                    &nbsp;<a href="javascript:void(0);" class="ncap-btn ncap-btn-green " id="upload_video_litpic_local" onclick="$('#courseware_file').attr('data-type', 'local').trigger('click');">本地上传</a>
267
+                    <input type="hidden" id="OpenPreviewVideoUrl" value="{:url('ZcdjPosition/open_preview_video')}">
268
+                    &nbsp;<a href="javascript:void(0);" class="ncap-btn ncap-btn-green" id="PreviewVideo" onclick="OpenPreviewVideo();">预览</a>
269
+                </dd>
270
+            </dl>
271
+
272
+            <dl class="row 1615775137_dl" style="display: none;" id="1615775137_3" style="z-index: 2">
273
+                <dt class="tit"> <label for="type">广告内容</label> </dt>
274
+                <dd class="opt">
275
+                    <input type="hidden" name="html_id" {eq name="$ad_data.0.media_type" value="3"} value="{$ad_data.0.id}" {/eq} class="input-txt">
276
+                    <textarea rows="5" cols="60" id="html_intro" name="html_intro" style="height: 200px;">{eq name="$ad_data.0.media_type" value="3"}{$ad_data.0.intro}{/eq}</textarea>
277
+                    <span class="err"></span>
278
+                    <p class="notic"></p>
279
+                </dd>
280
+            </dl>
281
+
282
+            <dl class="row">
283
+                <dt class="tit">
284
+                    <label>备注信息</label>
285
+                </dt>
286
+                <dd class="opt">          
287
+                    <textarea rows="5" cols="60" id="intro" name="intro" style="height:60px;">{$field.intro}</textarea>
288
+                    <span class="err"></span>
289
+                    <p class="notic"></p>
290
+                </dd>
291
+            </dl>
292
+
293
+            <div class="bot">
294
+                <input type="hidden" name="id" id="1615775137_id" value="{$field.id}">
295
+                <a href="JavaScript:void(0);" onclick="checkForm();" class="ncap-btn-big ncap-btn-green" id="submitBtn">确认提交</a>
296
+            </div>
297
+        </div>
298
+    </form>
299
+</div>
300
+
301
+<script type="text/javascript">
302
+    var SelectedType = '{$field.type}';
303
+    $(function() {
304
+        // 新增时,广告类型默认选中图片类型
305
+        // $('#type'+SelectedType).prop('checked', 'checked');
306
+        // 新增时,默认显示图片上传
307
+        //$('#1615775137_'+SelectedType).show();
308
+        // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
309
+        VideoLitpicValue('#video_litpic');
310
+    });
311
+
312
+    // 切换广告类型
313
+    function TypeSwitch(typeValue) {
314
+        // 隐藏全部类型内容
315
+        $('.1615775137_dl').hide();
316
+        // 显示指定类型内容
317
+        $('#1615775137_'+typeValue).show();
318
+        // 切换类型后设置为当前切换的类型
319
+        SelectedType = typeValue;
320
+        
321
+        // var ad_type = '{$field.type}';
322
+        // if (typeValue != ad_type) {
323
+        //     // 切换至不同类型则显示
324
+        //     $('.notic2').show();
325
+        // } else {
326
+        //     // 切换至相同类型则隐藏
327
+        //     $('.notic2').hide();
328
+        // }
329
+    }
330
+
331
+    // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
332
+    function VideoLitpicValue(obj) {
333
+        // 获取广告内容(多媒体为播放链接)
334
+        // var video_litpic = $(obj).val();
335
+        // 判断隐藏显示预览按钮if (2 == SelectedType && video_litpic)
336
+        if (2 == SelectedType) {
337
+            $('#PreviewVideo').show();
338
+        } else {
339
+            $('#PreviewVideo').hide();
340
+        }
341
+    }
342
+
343
+    // 打开预览视频
344
+    function OpenPreviewVideo() {
345
+        // 获取视频链接
346
+        var video_litpic = $('#video_litpic').val();
347
+        if (video_litpic == '') {
348
+            $('#video_litpic').focus();
349
+            showErrorMsg('请先上传视频');
350
+            return false;
351
+        }
352
+
353
+        /* 视频链接后缀验证处理 */
354
+        var fileExt = video_litpic.substr(video_litpic.lastIndexOf('.')).toLowerCase();
355
+        var fileExt = judgeExt(fileExt);
356
+        if (fileExt == -1) {
357
+            $('#video_litpic').focus();
358
+            showErrorMsg('不支持的视频格式,可在附件设置中修改');
359
+            return false;
360
+        }
361
+        /* END */
362
+
363
+        /* 视频链接是否存在斜杠处理 */
364
+        var fileInfo = video_litpic.lastIndexOf('/');
365
+        if (fileInfo == -1) {
366
+            $('#video_litpic').focus();
367
+            showErrorMsg('视频链接不完整,无法正常预览');
368
+            return false;
369
+        }
370
+        /* END */
371
+
372
+        // 打开视频播放
373
+        $.ajax({
374
+            type : 'post',
375
+            url  : $('#OpenPreviewVideoUrl').val(),
376
+            data : {video_litpic: video_litpic},
377
+            dataType : 'json',
378
+            success : function(res) {
379
+                if (1 == res.code) {
380
+                    var PreviewVideo = "<video style='width:100%; height:100%;' src='"+res.url+"' controls preload='auto' oncontextmenu='return fase' autoplay></video>";
381
+                    layer.open({
382
+                        type: 1,
383
+                        title: false,
384
+                        fixed: true, //不固定
385
+                        shadeClose: false,
386
+                        shade: layer_shade,
387
+                        area: ['80%', '80%'],
388
+                        content: PreviewVideo
389
+                    });
390
+                } else {
391
+                    showErrorMsg(res.msg);
392
+                }
393
+            },
394
+            error: function(e) {
395
+                showErrorAlert(e.responseText);
396
+            }
397
+        });
398
+    }
399
+
400
+    // 上传媒体文件
401
+    function upload_video_litpic_1615775137(e) {
402
+        var data_type = $(e).attr('data-type');
403
+        if ('qiniu' == data_type) {
404
+            // 七牛云上传
405
+            upload_video_litpic_qiniu(e);
406
+        } else if ('oss' == data_type) {
407
+             // OSS上传
408
+            upload_video_litpic_oss(e);
409
+        } else if ('cos' == data_type) {
410
+             // COS上传
411
+            upload_video_litpic_cos(e);
412
+        } else {
413
+            // 本地上传
414
+            upload_video_litpic_local(e);
415
+        }
416
+    }
417
+
418
+    // 七牛云上传
419
+    function upload_video_litpic_qiniu(e) {
420
+        // 获取文件路径名
421
+        var file = $(e)[0].files[0];
422
+
423
+        // 验证上传格式
424
+        var fileName = file.name;
425
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
426
+        var ext = judgeExt(fileExt);
427
+        if (ext == -1) {
428
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
429
+            return false;
430
+        }
431
+
432
+        // 验证上传大小
433
+        var size = "{$upload_max_filesize}";
434
+        if (file.size > size) {
435
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
436
+            return false;
437
+        }
438
+
439
+        // 执行上传
440
+        layer_loading('上传七牛云');
441
+        $.ajax({
442
+            type: 'POST',
443
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Qiniuyun&a=qiniu_upload',
444
+            data: {_ajax: 1},
445
+            dataType: "JSON",
446
+            success: function(res1) {
447
+                if (1 == res1.code) {
448
+                    var token  = res1.data.token;
449
+                    var formData = new FormData();
450
+                    formData.append('file', file);
451
+                    formData.append('token', token);
452
+
453
+                    fileName = res1.data.filePath + fileExt;
454
+                    formData.append('key', fileName);
455
+                    $.ajax({
456
+                        url: res1.data.uphost,
457
+                        type: 'POST',
458
+                        dataType: 'JSON',
459
+                        data: formData,
460
+                        timeout: 1200000,
461
+                        cache: false,
462
+                        processData: false,
463
+                        contentType: false,
464
+                        xhr: function () {
465
+                            myXhr = $.ajaxSettings.xhr();
466
+                            if (myXhr.upload) {
467
+                                myXhr.upload.addEventListener('progress', function(e){
468
+                                    var curr = e.loaded;
469
+                                    var total = e.total;
470
+                                    process = parseInt(curr / total * 100);
471
+                                    $("#upload_video_litpic_qiniu").text('上传中...'+process+"%");
472
+                                });
473
+                            }
474
+                            return myXhr;
475
+                        },
476
+                        success: function(res2) {
477
+                            layer.closeAll();
478
+                            $("#upload_video_litpic_qiniu").text('上传成功');
479
+                            setTimeout(function() {
480
+                                $('#upload_video_litpic_qiniu').text('七牛云上传');
481
+                            }, 2000);
482
+                            var video_url = res1.data.domain + "/" + res2.key;
483
+                            $("#video_litpic").empty().val(video_url);
484
+                        },
485
+                        error: function(e) {
486
+                            layer.closeAll();
487
+                            showErrorMsg(e.responseText);
488
+                            return false;
489
+                        }
490
+                    });
491
+                } else {
492
+                    layer.closeAll();
493
+                    showErrorMsg(res1.msg);
494
+                }
495
+            },
496
+            error: function(e) {
497
+                layer.closeAll();
498
+                showErrorMsg(e.responseText);
499
+            }
500
+        });
501
+    }
502
+
503
+    // 阿里云OSS上传
504
+    function upload_video_litpic_oss(e) {
505
+        // 获取文件路径名
506
+        var file = $(e)[0].files[0];
507
+        
508
+        // 验证上传格式
509
+        var fileName = file.name;
510
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
511
+        var ext = judgeExt(fileExt);
512
+        if (ext == -1) {
513
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
514
+            return false;
515
+        }
516
+
517
+        // 验证上传大小
518
+        var size = "{$upload_max_filesize}";
519
+        if (file.size > size) {
520
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
521
+            return false;
522
+        }
523
+
524
+        // 执行上传
525
+        layer_loading('上传阿里云OSS');
526
+        $.ajax({
527
+            type: 'POST',
528
+            url: '__ROOT_DIR__/index.php?m=plugins&c=AliyunOss&a=oss_upload',
529
+            data: {_ajax: 1},
530
+            dataType: "JSON",
531
+            success: function(res1){
532
+                if (1 == res1.code){
533
+                    fileName = res1.data.filePath + fileExt;
534
+                    //组装发送数据
535
+                    var request = new FormData();
536
+                    request.append("OSSAccessKeyId",res1.data.accessid);
537
+                    request.append("policy",res1.data.policy);
538
+                    request.append("Signature",res1.data.signature);
539
+                    request.append("key",fileName);
540
+                    request.append("success_action_status",201);
541
+                    request.append('file', file);
542
+
543
+                    $.ajax({
544
+                        url : res1.data.host,
545
+                        data : request,
546
+                        processData: false,
547
+                        cache: false,
548
+                        contentType: false,
549
+                        dataType: 'xml',
550
+                        type : 'post',
551
+                        xhr: function () {
552
+                            myXhr = $.ajaxSettings.xhr();
553
+                            if (myXhr.upload) {
554
+                                myXhr.upload.addEventListener('progress', function(e){
555
+                                    var curr = e.loaded;
556
+                                    var total = e.total;
557
+                                    var process = parseInt(curr / total * 100);
558
+                                    $("#upload_video_litpic_oss").text('上传中...'+process+"%");
559
+                                });
560
+                            }
561
+                            return myXhr;
562
+                        },
563
+                        success : function(data) {
564
+                            layer.closeAll();
565
+                            var res = $(data).find('PostResponse');
566
+                            if (res) {
567
+                                var key = res.find('Key').text();
568
+                                $("#upload_video_litpic_oss").text('上传成功');
569
+                                setTimeout(function() {
570
+                                    $('#upload_video_litpic_oss').text('oss上传');
571
+                                }, 2000);
572
+                                var video_url = res1.data.domain + "/" + key;
573
+                                $("#video_litpic").val(video_url);
574
+                            } else {
575
+                                $("#upload_video_litpic_oss").text('上传失败');
576
+                                setTimeout(function() {
577
+                                    $('#upload_video_litpic_oss').text('oss上传');
578
+                                }, 2000);
579
+                            }
580
+                        },
581
+                        error : function(e) {
582
+                            layer.closeAll();
583
+                            console.log(e.responseText);
584
+                        }
585
+                    });
586
+                } else {
587
+                    layer.closeAll();
588
+                    showErrorMsg(res1.msg);
589
+                }
590
+            },
591
+            error: function(e) {
592
+                layer.closeAll();
593
+                showErrorMsg(e.responseText);
594
+            }
595
+        });
596
+    }
597
+
598
+    // 腾讯云COS上传
599
+    function upload_video_litpic_cos(e) {
600
+        // 获取文件路径名
601
+        var file = $(e)[0].files[0];
602
+        
603
+        // 验证上传格式
604
+        var fileName = file.name;
605
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
606
+        var ext = judgeExt(fileExt);
607
+        if (ext == -1) {
608
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
609
+            return false;
610
+        }
611
+
612
+        // 验证上传大小
613
+        var size = "{$upload_max_filesize}";
614
+        if (file.size > size) {
615
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
616
+            return false;
617
+        }
618
+
619
+        // 上传参数
620
+        var formData = new FormData();
621
+            formData.append('file', file);
622
+            formData.append('file_ext', fileExt);
623
+
624
+        // 执行上传
625
+        $.ajax({
626
+            type: 'post',
627
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Cos&a=cos_upload&_ajax=1',
628
+            data: formData,
629
+            contentType: false,
630
+            processData: false,
631
+            dataType: 'json',
632
+            xhr: function () {
633
+                myXhr = $.ajaxSettings.xhr();
634
+                if (myXhr.upload) {
635
+                    myXhr.upload.addEventListener('progress', function(e){
636
+                        var curr = e.loaded;
637
+                        var total = e.total;
638
+                        process = parseInt(curr / total * 100);
639
+                        if (100 == process) {
640
+                            process = 99;
641
+                            layer_loading('上传腾讯云COS');
642
+                        }
643
+                        $("#upload_video_litpic_cos").text('上传中...'+process+"%");
644
+                        
645
+                    });
646
+                }
647
+                return myXhr;
648
+            },
649
+            success: function(res) {
650
+                layer.closeAll();
651
+                if (1 == res.code) {
652
+                    $("#video_litpic").val(res.data.url);
653
+                    $("#upload_video_litpic_cos").text('上传成功');
654
+                } else {
655
+                    $("#upload_video_litpic_cos").text('上传失败');
656
+                }
657
+                setTimeout(function() {
658
+                    $('#upload_video_litpic_cos').text('cos上传');
659
+                }, 2000);
660
+            },
661
+            error: function(e) {
662
+                layer.closeAll();
663
+                showErrorMsg(e.responseText);
664
+            }
665
+        });
666
+    }
667
+
668
+    // 本地上传
669
+    function upload_video_litpic_local(e) {
670
+        // 获取文件路径名
671
+        var file = $(e)[0].files[0];
672
+
673
+        // 验证上传格式
674
+        var fileName = file.name;
675
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
676
+        var ext = judgeExt(fileExt);
677
+        if (ext == -1) {
678
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
679
+            return false;
680
+        }
681
+
682
+        // 验证上传大小
683
+        var size = "{$upload_max_filesize}";
684
+        if (file.size > size) {
685
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
686
+            return false;
687
+        }
688
+
689
+        // 定义上传数据
690
+        var formData = new FormData();
691
+        formData.append('file', file);
692
+
693
+        // 执行上传
694
+        layer_loading('上传本地');
695
+        $.ajax({
696
+            type: 'post',
697
+            url : "{:url('Ueditor/upVideo', ['savepath'=>'media'])}",
698
+            data: formData,
699
+            contentType: false,
700
+            processData: false,
701
+            dataType: 'json',
702
+            xhr: function () {
703
+                myXhr = $.ajaxSettings.xhr();
704
+                if (myXhr.upload) {
705
+                    myXhr.upload.addEventListener('progress', function(e){
706
+                        var curr = e.loaded;
707
+                        var total = e.total;
708
+                        process = parseInt(curr / total * 100);
709
+                        $("#upload_video_litpic_local").html('上传中...'+process+"%");
710
+                    });
711
+                }
712
+                return myXhr;
713
+            },
714
+            success: function (res) {
715
+                layer.closeAll();
716
+                $("#upload_video_litpic_local").html('上传成功');
717
+                setTimeout(function() {
718
+                    $('#upload_video_litpic_local').html('本地上传');
719
+                }, 2000);
720
+                if ("SUCCESS" == res.state) {
721
+                    $("#video_litpic").val(res.url);
722
+                } else {
723
+                    showErrorMsg(res.msg);
724
+                }
725
+            }
726
+        });
727
+    }
728
+
729
+    // 验证格式
730
+    function judgeExt(ext) {
731
+        var type = "{$media_type}";
732
+        var extArr = [];
733
+        extArr = type.split("|");
734
+        var ext = ext.replace(".","");
735
+        return extArr.indexOf(ext);
736
+    }
737
+</script>
738
+
739
+<script type="text/javascript">
740
+    // 勾选新窗口打开链接
741
+    function CheckedTarget(t){
742
+        if ($(t).is(':checked')) {
743
+            $(t).parent().find('input[name="img_target[]"]').val(1);
744
+        }else{
745
+            $(t).parent().find('input[name="img_target[]"]').val(0);
746
+        }
747
+    }
748
+    // 鼠标事件,加载查看大图和更新图片
749
+    function upimgMouseover(obj)
750
+    {
751
+        $(obj).find('div.icaction').show();
752
+        $(obj).find('div.cover-bg').show();
753
+    }
754
+    function upimgMouseout(obj)
755
+    {
756
+        $(obj).find('div.icaction').hide();
757
+        $(obj).find('div.cover-bg').hide();
758
+    }
759
+
760
+    // 检测广告名称是否存在重复
761
+    function DetectionTitleRepeat(obj) {
762
+        // 当前广告ID
763
+        var id = $('#1615775137_id').val();
764
+        // 传入的广告名称
765
+        var title = $(obj).val();
766
+        // 执行检测
767
+        $.ajax({
768
+            type: 'post',
769
+            url : "{:url('ZcdjPosition/detection_title_repeat', ['_ajax'=>1])}",
770
+            data: {id: id, title: title},
771
+            dataType: 'json',
772
+            success: function(res) {
773
+                if (0 == res.code) {
774
+                    $('#title_tips').show().html(res.msg);
775
+                } else {
776
+                    $('#title_tips').hide().html('');
777
+                }
778
+            },
779
+            error: function(e){
780
+                layer.closeAll();
781
+                showErrorAlert(e.responseText);
782
+            }
783
+        });
784
+    }
785
+
786
+    // 判断输入框是否为空
787
+    function checkForm(){
788
+        if($('input[name=title]').val() == ''){
789
+            layer.msg('广告位名称不能为空!', {icon: 2,time: 1000});
790
+            return false;
791
+        }
792
+
793
+        if($('input[name=type]').val() == ''){
794
+            layer.msg('分类不能为空,请添加二级分类!', {icon: 2,time: 1000});
795
+            return false;
796
+        }
797
+
798
+        /*if($('#selectTest').val() == '1'){
799
+            var checkedValues = [];
800
+            $('#post_form input[type=checkbox]:checked').each(function() {
801
+                checkedValues.push($(this).val());
802
+            });
803
+            console.log(checkedValues); // 打印选中的checkbox值
804
+            if(checkedValues.length > 0){
805
+
806
+            }else{
807
+                layer.msg('请选择地区!', {icon: 2,time: 1000});
808
+                return false;
809
+            }
810
+        }*/
811
+
812
+        //打印
813
+        /*console.log($('#post_form').serialize());
814
+        return false;*/
815
+
816
+
817
+        layer_loading('正在处理');
818
+        $.ajax({
819
+            type : 'post',
820
+            url : "{:url('ZcdjPosition/edit', ['_ajax'=>1])}",
821
+            data : $('#post_form').serialize(),
822
+            dataType : 'json',
823
+            success : function(res){
824
+                layer.closeAll();
825
+                if (res.code == 1) {
826
+                    layer.msg(res.msg, {icon: 1, shade: layer_shade, time: 1000}, function(){
827
+                        window.location.reload();
828
+                    });
829
+                } else {
830
+                    showErrorMsg(res.msg);
831
+                }
832
+            },
833
+            error: function(e){
834
+                layer.closeAll();
835
+                showErrorAlert(e.responseText);
836
+            }
837
+        });
838
+    }
839
+
840
+    // 获取点击更新图片的ID并加载隐藏域
841
+    function LoadImagesId(id){
842
+        // 加载ID到隐藏域
843
+        $('#ImagesId').val(id);
844
+        // 调用图片上传JS
845
+        GetUploadify(1,'','allimg','UpdataImages');
846
+    }
847
+
848
+    // 更新图片
849
+    function UpdataImages(path){
850
+        // 获取点击的ID
851
+        var id = $('#ImagesId').val();
852
+        // 加载图片到显示层
853
+        $("#"+id+"_Id").attr('src', path);
854
+        // 加载图片到提交的隐藏域
855
+        $("#"+id+"_Litpic").val(path);
856
+    }
857
+
858
+    // 显示信息输入框
859
+    function ShowInput(id) {
860
+        var obj = $("#"+id+"_ShowInput");
861
+        var showOrHide = obj.attr('data-showOrHide');
862
+        if ('hide' == showOrHide) {
863
+            obj.show().attr('data-showOrHide', 'show');
864
+        } else {
865
+            obj.hide().attr('data-showOrHide', 'hide');
866
+        }
867
+    }
868
+
869
+    // 隐藏信息输入
870
+    function HideInput(id) {
871
+        $("#"+id+"_ShowInput").hide().attr('data-showOrHide', 'hide');
872
+    }
873
+
874
+    // 上传图集相册回调函数
875
+    function imgupload_call_back(paths){
876
+        var last_div = $(".images_upload_tpl").html();
877
+        var inputs   = $('.span_input input');
878
+        var timestamp = 0;
879
+
880
+        // 图片数据处理
881
+        for (var i=0; i<paths.length; i++) {
882
+            // 生成新的时间戳
883
+            timestamp = (new Date()).getTime();
884
+            // 插入一个 新图片
885
+            $(".images_upload:eq(0)").before(last_div);
886
+            // 处理他的链接地址
887
+            $(".images_upload:eq(0)").find('span:eq(0)').attr('onclick', "Images('"+paths[i]+"', 900, 600);");
888
+            // 处理信息显示隐藏按钮
889
+            $(".images_upload:eq(0)").find('span:eq(1)').attr('onclick', "ShowInput('"+timestamp+"');");
890
+            // 处理他的图片路径
891
+            $(".images_upload:eq(0)").find('img').attr('src', paths[i]);
892
+            // 处理删除按钮
893
+            $(".images_upload:eq(0)").find('a:eq(1)').attr('onclick', "ClearPicArr(this, '"+paths[i]+"', 0);");
894
+            // 处理图片信息框ID
895
+            $(".images_upload:eq(0)").find('.load_input:eq(0)').attr('id', timestamp+'_ShowInput');
896
+            
897
+            // 处理图片路径及隐藏域
898
+            if (inputs.length > 0) {
899
+                // 修改隐藏域
900
+                $(".images_upload:eq(0)").find('input:eq(0)').attr('name', 'img_id[]').attr('value', '');
901
+                $(".span_input:eq(0)").find('input:eq(0)').attr('name', 'img_litpic[]').attr('value', paths[i]);
902
+                // 处理标题
903
+                $(".images_upload:eq(0)").find('textarea:eq(0)').attr('name', 'img_title[]');
904
+                // 处理跳转链接
905
+                $(".images_upload:eq(0)").find('textarea:eq(1)').attr('name', 'img_links[]');
906
+                // 处理内容描述
907
+                $(".images_upload:eq(0)").find('textarea:eq(2)').attr('name', 'img_intro[]');
908
+                // 处理新窗口选项
909
+                $(".images_upload:eq(0)").find('div.operation a:eq(0)').html("<label><input type='checkbox' title='在新窗口打开' onclick='CheckedTarget(this);'/>新窗口<input type='hidden' name='img_target[]' value='0'></label>");
910
+                // 处理收回按钮
911
+                $(".images_upload:eq(0)").find('div.operation a:eq(2)').attr('onclick', "HideInput('"+timestamp+"');").attr('title', "收回").html('<i style="font-size:16px;" class="fa fa-angle-double-up"></i>');
912
+            }
913
+        }
914
+    }
915
+
916
+    // 上传之后删除组图input
917
+    function ClearPicArr(obj, path, id) {
918
+        // 删除数据库记录
919
+        $.ajax({
920
+            type:'POST',
921
+            url:"{:url('ZcdjPosition/del_imgupload')}",
922
+            data:{del_id:id,_ajax:1},
923
+            success:function(){
924
+                $(obj).parent().parent().parent().remove(); // 删除完服务器的, 再删除 html上的图片
925
+                $.ajax({
926
+                    type:'POST',
927
+                    url:"{:url('Uploadimgnew/delupload')}",
928
+                    data:{action:"del", filename:path,_ajax:1},
929
+                    success:function(){}
930
+                }); 
931
+            }
932
+        });
933
+    }
934
+
935
+    // 代码调用js
936
+    function copyToClipBoard(id) {
937
+        var adstr = "{eyou:ad aid='" + id + "'}\r\n   <a href='{$"+"field.links}' {$"+"field.target}><img src='{$"+"field.litpic}' alt='{$"+"field.title}' /></a>\r\n   广告注释:{$"+"field.intro}\r\n{/eyou:ad";
938
+        var contentdiv = '<div class="dialog_content" style="margin: 0px; padding: 0px;"><dl style="padding:10px 30px;line-height:30px"><dd>标签 ad 调用:</dd>';
939
+        contentdiv += '<textarea rows="4" cols="60" style="width:400px;height:100px;">' + adstr + '}</textarea>';
940
+        contentdiv += '<dd style="border-top: dotted 1px #E7E7E7; color: #F60;">请将对应标签代码复制并粘贴到对应模板文件中!</dd></dl></div>';
941
+        layer.open({
942
+            title: '代码调用',
943
+            type: 1,
944
+            shade: layer_shade,
945
+            skin: 'layui-layer-demo',
946
+            area: ['480px', '260px'], //宽高
947
+            content: contentdiv
948
+        });
949
+    }
950
+
951
+    // 图集相册的拖动排序相关 js
952
+    $( ".sort-list" ).sortable({
953
+        start: function( event, ui) {
954
+        
955
+        }
956
+        ,stop: function( event, ui ) {
957
+
958
+        }
959
+    });
960
+    //因为他们要拖动,所以尽量设置他们的文字不能选择。  
961
+    // $( ".sort-list" ).disableSelection();
962
+</script>
963
+
964
+{include file="public/footer" /}

+ 697
- 0
application/admin/template/zcdj_position/edittype.htm View File

@@ -0,0 +1,697 @@
1
+{include file="public/layout" /}
2
+
3
+<body class="bodystyle" style="overflow-y: scroll;">
4
+<div id="toolTipLayer" style="position: absolute; z-index: 9999; display: none; visibility: visible; left: 95px; top: 573px;"></div>
5
+<div id="append_parent"></div>
6
+<div id="ajaxwaitid"></div>
7
+<div class="page min-hg-c-10">
8
+    <form class="form-horizontal" id="post_form" action="{:url('ZcPosition/add')}" method="post">
9
+        <div class="ncap-form-default">
10
+
11
+            <input type="hidden" name="id" value="{$one.id}"/>
12
+
13
+            <dl class="row">
14
+                <dt class="tit"> <label for="title"><em>*</em>上一级</label> </dt>
15
+                <dd class="opt">
16
+                    <select name="pid" class="select" id="selectTest222" style="margin:0px 5px;height:30px;">
17
+                        <option value="0">顶级分类</option>
18
+                        {eyou:foreach name='$pos_list' item='field1'}
19
+                        <option value="{$field1.id}" {eq name="$pid" value="$field1.id"}selected{/eq}>{$field1.name}</option>
20
+                        {/eyou:foreach}
21
+                    </select>
22
+
23
+                    <p class="notic2 red" id="title_tips" style="margin-top:10px;">
24
+                    </p>
25
+
26
+                </dd>
27
+            </dl>
28
+
29
+            <dl class="row">
30
+                <dt class="tit"> <label for="title"><em>*</em>分类名称</label> </dt>
31
+                <dd class="opt">
32
+                    <input type="text" name="title" id="title" onkeyup="DetectionTitleRepeat(this);" class="input-txt" autocomplete="off" value="{$one.name}">
33
+                    <span class="err"></span>
34
+                    <p class="notic2 red" id="title_tips"></p>
35
+                </dd>
36
+            </dl>
37
+
38
+
39
+
40
+
41
+            <dl class="row" id="citychoose" style="display: none;">
42
+                <dt class="tit"> <label for="title"><em>*</em>绑定证书</label> </dt>
43
+                <dd class="opt">
44
+
45
+                    <!---checked-->
46
+                    {eyou:foreach name='$pro_list' item='field1'}
47
+                    <hr/>{$pro_list_t[$key]}<br/>
48
+                    {eyou:foreach name='$field1' item='field2'}
49
+                    <span style="margin-right: 10px;"><input type="checkbox" name="map[]" value="{$field2.id}" id="category{$field2.id}" {$field2.is_check} />{$field2.title}</span>
50
+                    {/eyou:foreach}
51
+                    {/eyou:foreach}
52
+
53
+                    <span class="err"></span>
54
+                    <p class="notic2 red" id="title_tips"></p>
55
+                </dd>
56
+            </dl>
57
+
58
+
59
+
60
+            <div class="bot"><a href="JavaScript:void(0);" onclick="checkForm();" class="ncap-btn-big ncap-btn-green" id="submitBtn">确认提交</a></div>
61
+        </div>
62
+    </form>
63
+</div>
64
+
65
+<script type="text/javascript">
66
+    var SelectedType = 1;
67
+    $(function() {
68
+        // 新增时,广告类型默认选中图片类型
69
+        $('#type1').prop('checked', 'checked');
70
+        // 新增时,默认显示图片上传
71
+        $('#1615775137_1').show();
72
+        // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
73
+        VideoLitpicValue('#video_litpic');
74
+    });
75
+
76
+    // 切换广告类型
77
+    function TypeSwitch(typeValue) {
78
+        // 隐藏全部类型内容
79
+        $('.1615775137_dl').hide();
80
+        // 显示指定类型内容
81
+        $('#1615775137_'+typeValue).show();
82
+        // 切换类型后设置为当前切换的类型
83
+        SelectedType = typeValue;
84
+        // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
85
+        VideoLitpicValue('#video_litpic');
86
+    }
87
+
88
+    // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
89
+    function VideoLitpicValue(obj) {
90
+        // 获取广告内容(多媒体为播放链接)
91
+        // var video_litpic = $(obj).val();
92
+        // 判断隐藏/显示预览按钮if (2 == SelectedType && video_litpic)
93
+        if (2 == SelectedType) {
94
+            $('#PreviewVideo').show();
95
+        } else {
96
+            $('#PreviewVideo').hide();
97
+        }
98
+    }
99
+
100
+    // 打开预览视频
101
+    function OpenPreviewVideo() {
102
+        // 获取视频链接
103
+        var video_litpic = $('#video_litpic').val();
104
+        if (video_litpic == '') {
105
+            $('#video_litpic').focus();
106
+            showErrorMsg('请先上传视频');
107
+            return false;
108
+        }
109
+
110
+        /* 视频链接后缀验证处理 */
111
+        var fileExt = video_litpic.substr(video_litpic.lastIndexOf('.')).toLowerCase();
112
+        var fileExt = judgeExt(fileExt);
113
+        if (fileExt == -1) {
114
+            $('#video_litpic').focus();
115
+            showErrorMsg('不支持的视频格式,可在附件设置中修改');
116
+            return false;
117
+        }
118
+        /* END */
119
+
120
+        /* 视频链接是否存在斜杠处理 */
121
+        var fileInfo = video_litpic.lastIndexOf('/');
122
+        if (fileInfo == -1) {
123
+            $('#video_litpic').focus();
124
+            showErrorMsg('视频链接不完整,无法正常预览');
125
+            return false;
126
+        }
127
+        /* END */
128
+
129
+        // 打开视频播放
130
+        $.ajax({
131
+            type : 'post',
132
+            url  : $('#OpenPreviewVideoUrl').val(),
133
+            data : {video_litpic: video_litpic},
134
+            dataType : 'json',
135
+            success : function(res) {
136
+                if (1 == res.code) {
137
+                    var PreviewVideo = "<video style='width:100%; height:100%;' src='"+res.url+"' controls preload='auto' oncontextmenu='return fase' autoplay></video>";
138
+                    layer.open({
139
+                        type: 1,
140
+                        title: false,
141
+                        fixed: true, //不固定
142
+                        shadeClose: false,
143
+                        shade: layer_shade,
144
+                        area: ['80%', '80%'],
145
+                        content: PreviewVideo
146
+                    });
147
+                } else {
148
+                    showErrorMsg(res.msg);
149
+                }
150
+            },
151
+            error: function(e) {
152
+                showErrorAlert(e.responseText);
153
+            }
154
+        });
155
+    }
156
+
157
+    // 上传媒体文件
158
+    function upload_video_litpic_1615775137(e) {
159
+        var data_type = $(e).attr('data-type');
160
+        if ('qiniu' == data_type) {
161
+            // 七牛云上传
162
+            upload_video_litpic_qiniu(e);
163
+        } else if ('oss' == data_type) {
164
+            // OSS上传
165
+            upload_video_litpic_oss(e);
166
+        } else if ('cos' == data_type) {
167
+            // COS上传
168
+            upload_video_litpic_cos(e);
169
+        } else {
170
+            // 本地上传
171
+            upload_video_litpic_local(e);
172
+        }
173
+    }
174
+
175
+    // 七牛云上传
176
+    function upload_video_litpic_qiniu(e) {
177
+        // 获取文件路径名
178
+        var file = $(e)[0].files[0];
179
+
180
+        // 验证上传格式
181
+        var fileName = file.name;
182
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
183
+        var ext = judgeExt(fileExt);
184
+        if (ext == -1) {
185
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
186
+            return false;
187
+        }
188
+
189
+        // 验证上传大小
190
+        var size = "{$upload_max_filesize}";
191
+        if (file.size > size) {
192
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
193
+            return false;
194
+        }
195
+
196
+        // 执行上传
197
+        layer_loading('上传本地');
198
+        $.ajax({
199
+            type: 'POST',
200
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Qiniuyun&a=qiniu_upload',
201
+            data: {_ajax: 1},
202
+            dataType: "JSON",
203
+            success: function(res1) {
204
+                if (1 == res1.code) {
205
+                    var token  = res1.data.token;
206
+                    var formData = new FormData();
207
+                    formData.append('file', file);
208
+                    formData.append('token', token);
209
+
210
+                    fileName = res1.data.filePath + fileExt;
211
+                    formData.append('key', fileName);
212
+                    $.ajax({
213
+                        url: res1.data.uphost,
214
+                        type: 'POST',
215
+                        dataType: 'JSON',
216
+                        data: formData,
217
+                        timeout: 1200000,
218
+                        cache: false,
219
+                        processData: false,
220
+                        contentType: false,
221
+                        xhr: function () {
222
+                            myXhr = $.ajaxSettings.xhr();
223
+                            if (myXhr.upload) {
224
+                                myXhr.upload.addEventListener('progress', function(e){
225
+                                    var curr = e.loaded;
226
+                                    var total = e.total;
227
+                                    process = parseInt(curr / total * 100);
228
+                                    $("#upload_video_litpic_qiniu").text('上传中...'+process+"%");
229
+                                });
230
+                            }
231
+                            return myXhr;
232
+                        },
233
+                        success: function(res2) {
234
+                            layer.closeAll();
235
+                            $("#upload_video_litpic_qiniu").text('上传成功');
236
+                            setTimeout(function() {
237
+                                $('#upload_video_litpic_qiniu').text('七牛云上传');
238
+                            }, 2000);
239
+                            var video_url = res1.data.domain + "/" + res2.key;
240
+                            $("#video_litpic").val(video_url);
241
+                        },
242
+                        error: function(e) {
243
+                            layer.closeAll();
244
+                            showErrorMsg(e.responseText);
245
+                            return false;
246
+                        }
247
+                    });
248
+                } else {
249
+                    layer.closeAll();
250
+                    showErrorMsg(res1.msg);
251
+                }
252
+            },
253
+            error: function(e) {
254
+                layer.closeAll();
255
+                showErrorMsg(e.responseText);
256
+            }
257
+        });
258
+    }
259
+
260
+    // 阿里云OSS上传
261
+    function upload_video_litpic_oss(e) {
262
+        // 获取文件路径名
263
+        var file = $(e)[0].files[0];
264
+
265
+        // 验证上传格式
266
+        var fileName = file.name;
267
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
268
+        var ext = judgeExt(fileExt);
269
+        if (ext == -1) {
270
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
271
+            return false;
272
+        }
273
+
274
+        // 验证上传大小
275
+        var size = "{$upload_max_filesize}";
276
+        if (file.size > size) {
277
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
278
+            return false;
279
+        }
280
+
281
+        // 执行上传
282
+        layer_loading('上传阿里云OSS');
283
+        $.ajax({
284
+            type: 'POST',
285
+            url: '__ROOT_DIR__/index.php?m=plugins&c=AliyunOss&a=oss_upload',
286
+            data: {_ajax: 1},
287
+            dataType: "JSON",
288
+            success: function(res1){
289
+                if (1 == res1.code){
290
+                    fileName = res1.data.filePath + fileExt;
291
+                    //组装发送数据
292
+                    var request = new FormData();
293
+                    request.append("OSSAccessKeyId",res1.data.accessid);
294
+                    request.append("policy",res1.data.policy);
295
+                    request.append("Signature",res1.data.signature);
296
+                    request.append("key",fileName);
297
+                    request.append("success_action_status",201);
298
+                    request.append('file', file);
299
+
300
+                    $.ajax({
301
+                        url : res1.data.host,
302
+                        data : request,
303
+                        processData: false,
304
+                        cache: false,
305
+                        contentType: false,
306
+                        dataType: 'xml',
307
+                        type : 'post',
308
+                        xhr: function () {
309
+                            myXhr = $.ajaxSettings.xhr();
310
+                            if (myXhr.upload) {
311
+                                myXhr.upload.addEventListener('progress', function(e){
312
+                                    var curr = e.loaded;
313
+                                    var total = e.total;
314
+                                    var process = parseInt(curr / total * 100);
315
+                                    $("#upload_video_litpic_oss").text('上传中...'+process+"%");
316
+                                });
317
+                            }
318
+                            return myXhr;
319
+                        },
320
+                        success : function(data) {
321
+                            layer.closeAll();
322
+                            var res = $(data).find('PostResponse');
323
+                            if (res) {
324
+                                var key = res.find('Key').text();
325
+                                $("#upload_video_litpic_oss").text('上传成功');
326
+                                setTimeout(function() {
327
+                                    $('#upload_video_litpic_oss').text('oss上传');
328
+                                }, 2000);
329
+                                var video_url = res1.data.domain + "/" + key;
330
+                                $("#video_litpic").val(video_url);
331
+                            } else {
332
+                                $("#upload_video_litpic_oss").text('上传失败');
333
+                                setTimeout(function() {
334
+                                    $('#upload_video_litpic_oss').text('oss上传');
335
+                                }, 2000);
336
+                            }
337
+                        },
338
+                        error : function(e) {
339
+                            layer.closeAll();
340
+                            console.log(e.responseText);
341
+                        }
342
+                    });
343
+                } else {
344
+                    layer.closeAll();
345
+                    showErrorMsg(res1.msg);
346
+                }
347
+            },
348
+            error: function(e) {
349
+                layer.closeAll();
350
+                showErrorMsg(e.responseText);
351
+            }
352
+        });
353
+    }
354
+
355
+    // 腾讯云COS上传
356
+    function upload_video_litpic_cos(e) {
357
+        // 获取文件路径名
358
+        var file = $(e)[0].files[0];
359
+
360
+        // 验证上传格式
361
+        var fileName = file.name;
362
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
363
+        var ext = judgeExt(fileExt);
364
+        if (ext == -1) {
365
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
366
+            return false;
367
+        }
368
+
369
+        // 验证上传大小
370
+        var size = "{$upload_max_filesize}";
371
+        if (file.size > size) {
372
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
373
+            return false;
374
+        }
375
+
376
+        // 上传参数
377
+        var formData = new FormData();
378
+        formData.append('file', file);
379
+        formData.append('file_ext', fileExt);
380
+
381
+        // 执行上传
382
+        $.ajax({
383
+            type: 'post',
384
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Cos&a=cos_upload&_ajax=1',
385
+            data: formData,
386
+            contentType: false,
387
+            processData: false,
388
+            dataType: 'json',
389
+            xhr: function () {
390
+                myXhr = $.ajaxSettings.xhr();
391
+                if (myXhr.upload) {
392
+                    myXhr.upload.addEventListener('progress', function(e){
393
+                        var curr = e.loaded;
394
+                        var total = e.total;
395
+                        process = parseInt(curr / total * 100);
396
+                        if (100 == process) {
397
+                            process = 99;
398
+                            layer_loading('上传腾讯云');
399
+                        }
400
+                        $("#upload_video_litpic_cos").text('上传中...'+process+"%");
401
+
402
+                    });
403
+                }
404
+                return myXhr;
405
+            },
406
+            success: function(res) {
407
+                layer.closeAll();
408
+                if (1 == res.code) {
409
+                    $("#video_litpic").val(res.data.url);
410
+                    $("#upload_video_litpic_cos").text('上传成功');
411
+                } else {
412
+                    $("#upload_video_litpic_cos").text('上传失败');
413
+                }
414
+                setTimeout(function() {
415
+                    $('#upload_video_litpic_cos').text('cos上传');
416
+                }, 2000);
417
+            },
418
+            error: function(e) {
419
+                layer.closeAll();
420
+                showErrorMsg(e.responseText);
421
+            }
422
+        });
423
+    }
424
+
425
+    // 本地上传
426
+    function upload_video_litpic_local(e) {
427
+        // 获取文件路径名
428
+        var file = $(e)[0].files[0];
429
+
430
+        // 验证上传格式
431
+        var fileName = file.name;
432
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
433
+        var ext = judgeExt(fileExt);
434
+        if (ext == -1) {
435
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
436
+            return false;
437
+        }
438
+
439
+        // 验证上传大小
440
+        var size = "{$upload_max_filesize}";
441
+        if (file.size > size) {
442
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
443
+            return false;
444
+        }
445
+
446
+        // 定义上传数据
447
+        var formData = new FormData();
448
+        formData.append('file', file);
449
+
450
+        // 执行上传
451
+        layer_loading('上传本地');
452
+        $.ajax({
453
+            type: 'post',
454
+            url : "{:url('Ueditor/upVideo', ['savepath'=>'media'])}",
455
+            data: formData,
456
+            contentType: false,
457
+            processData: false,
458
+            dataType: 'json',
459
+            xhr: function () {
460
+                myXhr = $.ajaxSettings.xhr();
461
+                if (myXhr.upload) {
462
+                    myXhr.upload.addEventListener('progress', function(e){
463
+                        var curr = e.loaded;
464
+                        var total = e.total;
465
+                        process = parseInt(curr / total * 100);
466
+                        $("#upload_video_litpic_local").html('上传中...'+process+"%");
467
+                    });
468
+                }
469
+                return myXhr;
470
+            },
471
+            success: function (res) {
472
+                layer.closeAll();
473
+                $("#upload_video_litpic_local").html('上传成功');
474
+                setTimeout(function() {
475
+                    $('#upload_video_litpic_local').html('本地上传');
476
+                }, 2000);
477
+                if ("SUCCESS" == res.state) {
478
+                    $("#video_litpic").val(res.url);
479
+                } else {
480
+                    showErrorMsg(res.msg);
481
+                }
482
+            }
483
+        });
484
+    }
485
+
486
+    // 验证格式
487
+    function judgeExt(ext) {
488
+        var type = "{$media_type}";
489
+        var extArr = [];
490
+        extArr = type.split("|");
491
+        var ext = ext.replace(".","");
492
+        return extArr.indexOf(ext);
493
+    }
494
+</script>
495
+
496
+<script type="text/javascript">
497
+    var parentObj = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
498
+    // 勾选新窗口打开链接
499
+    function CheckedTarget(t){
500
+        if ($(t).is(':checked')) {
501
+            $(t).parent().find('input[name="img_target[]"]').val(1);
502
+        }else{
503
+            $(t).parent().find('input[name="img_target[]"]').val(0);
504
+        }
505
+    }
506
+    // 鼠标事件,加载查看大图和更新图片
507
+    function upimgMouseover(obj)
508
+    {
509
+        $(obj).find('div.icaction').show();
510
+        $(obj).find('div.cover-bg').show();
511
+    }
512
+    function upimgMouseout(obj)
513
+    {
514
+        $(obj).find('div.icaction').hide();
515
+        $(obj).find('div.cover-bg').hide();
516
+    }
517
+
518
+    // 检测广告名称是否存在重复
519
+    function DetectionTitleRepeat(obj) {
520
+        // 当前广告ID
521
+        var id = 0;
522
+        // 传入的广告名称
523
+        var title = $(obj).val();
524
+        // 执行检测
525
+        $.ajax({
526
+            type: 'post',
527
+            url : "{:url('ZcPosition/detection_title_repeat', ['_ajax'=>1])}",
528
+            data: {id: id, title: title},
529
+            dataType: 'json',
530
+            success: function(res) {
531
+                if (0 == res.code) {
532
+                    $('#title_tips').show().html(res.msg);
533
+                } else {
534
+                    $('#title_tips').hide().html('');
535
+                }
536
+            },
537
+            error: function(e){
538
+                layer.closeAll();
539
+                showErrorAlert(e.responseText);
540
+            }
541
+        });
542
+    }
543
+
544
+    // 判断输入框是否为空
545
+    function checkForm(){
546
+        if($('input[name=title]').val() == ''){
547
+            layer.msg('分类名称不能为空!', {icon: 2,time: 1000});
548
+            return false;
549
+        }
550
+
551
+        if($('#selectTest').val() == '1'){
552
+
553
+        }
554
+
555
+        /*var checkedValues = [];
556
+        $('#post_form input[type=checkbox]:checked').each(function() {
557
+            checkedValues.push($(this).val());
558
+        });
559
+        console.log(checkedValues); // 打印选中的checkbox值
560
+        if(checkedValues.length > 0){
561
+
562
+        }else{
563
+            layer.msg('请选择证书!', {icon: 2,time: 1000});
564
+            return false;
565
+        }*/
566
+
567
+
568
+        //打印
569
+        /*console.log($('#post_form').serialize());
570
+        return false;*/
571
+
572
+
573
+        layer_loading('正在处理');
574
+        $.ajax({
575
+            type : 'post',
576
+            url : "{:url('ZcdjPosition/edittypePost', ['_ajax'=>1])}",
577
+            data : $('#post_form').serialize(),
578
+            dataType : 'json',
579
+            success : function(res) {
580
+                layer.closeAll();
581
+                if (1 == res.code) {
582
+                    var _parent = parent;
583
+                    _parent.layer.close(parentObj);
584
+                    _parent.layer.msg(res.msg, {icon: 1, shade: layer_shade, time: 1000}, function() {
585
+                        _parent.window.location.reload();
586
+                    });
587
+                } else {
588
+                    showErrorMsg(res.msg);
589
+                }
590
+            },
591
+            error: function(e) {
592
+                layer.closeAll();
593
+                showErrorAlert(e.responseText);
594
+            }
595
+        });
596
+    }
597
+
598
+    // 显示信息输入框
599
+    function ShowInput(id) {
600
+        var obj = $("#"+id+"_ShowInput");
601
+        var showOrHide = obj.attr('data-showOrHide');
602
+        if ('hide' == showOrHide) {
603
+            obj.show().attr('data-showOrHide', 'show');
604
+        } else {
605
+            obj.hide().attr('data-showOrHide', 'hide');
606
+        }
607
+    }
608
+
609
+    // 隐藏信息输入
610
+    function HideInput(id) {
611
+        $("#"+id+"_ShowInput").hide().attr('data-showOrHide', 'hide');
612
+    }
613
+
614
+    // 上传图集相册回调函数
615
+    function imgupload_call_back(paths){
616
+        var last_div = $(".images_upload_tpl").html();
617
+        var inputs   = $('.span_input input');
618
+        var timestamp = 0;
619
+
620
+        for (var i=0; i<paths.length; i++){
621
+            // 生成新的时间戳
622
+            timestamp = (new Date()).getTime();
623
+            // 插入一个 新图片
624
+            $(".images_upload:eq(0)").before(last_div);
625
+            // 处理他的链接地址
626
+            $(".images_upload:eq(0)").find('span:eq(0)').attr('onclick',"Images('"+paths[i]+"', 900, 600);");
627
+            // 处理信息显示隐藏按钮
628
+            $(".images_upload:eq(0)").find('span:eq(1)').attr('onclick', "ShowInput('"+timestamp+"');");
629
+            // 处理他的图片路径
630
+            $(".images_upload:eq(0)").find('img').attr('src',paths[i]);
631
+            // 处理删除按钮
632
+            $(".images_upload:eq(0)").find('a:eq(1)').attr('onclick', "ClearPicArr(this, '"+paths[i]+"', 0);");
633
+            // 处理图片信息框ID
634
+            $(".images_upload:eq(0)").find('.load_input:eq(0)').attr('id', timestamp+'_ShowInput');
635
+
636
+            // 处理图片路径及隐藏域
637
+            if (inputs.length > '0') {
638
+                // 修改隐藏域,提交ID隐藏域
639
+                $(".images_upload:eq(0)").find('input:eq(0)').attr('name','img_id[]').attr('value','');
640
+                // 修改隐藏域,提交图片隐藏域
641
+                $(".span_input:eq(0)").find('input:eq(0)').attr('name','img_litpic[]').attr('value',paths[i]);
642
+                // 提交标题
643
+                $(".images_upload:eq(0)").find('textarea:eq(0)').attr('name','img_title[]');
644
+                // 提交跳转链接
645
+                $(".images_upload:eq(0)").find('textarea:eq(1)').attr('name','img_links[]');
646
+                // 处理内容描述
647
+                $(".images_upload:eq(0)").find('textarea:eq(2)').attr('name','img_intro[]');
648
+                // 提交新窗口选项
649
+                $(".images_upload:eq(0)").find('div.operation a:eq(0)').html("<label><input type='checkbox' title='在新窗口打开' onclick='CheckedTarget(this)'/>新窗口<input type='hidden' name='img_target[]' value='0'></label>");
650
+                // 处理收回按钮
651
+                $(".images_upload:eq(0)").find('div.operation a:eq(2)').attr('onclick', "HideInput('"+timestamp+"');").attr('title', "收回").html('<i style="font-size:16px;" class="fa fa-angle-double-up"></i>');
652
+            }
653
+        }
654
+    }
655
+
656
+    // 上传之后删除组图input
657
+    function ClearPicArr(obj,path)
658
+    {
659
+        $(obj).parent().parent().parent().remove(); // 删除完服务器的, 再删除 html上的图片
660
+        $.ajax({
661
+            type:'POST',
662
+            url:"{:url('Uploadimgnew/delupload')}",
663
+            data:{action:"del", filename:path, _ajax:1},
664
+            success:function(){}
665
+        });
666
+    }
667
+
668
+    // 代码调用js
669
+    function copyToClipBoard(id) {
670
+        var adstr = "{eyou:ad aid='" + id + "'}\r\n   <a href='{$"+"field.links}' {$"+"field.target}><img src='{$"+"field.litpic}' alt='{$"+"field.title}' /></a>\r\n{/eyou:ad";
671
+        var contentdiv = '<div class="dialog_content" style="margin: 0px; padding: 0px;"><dl style="padding:10px 30px;line-height:30px"><dd>标签 ad 调用:</dd>'
672
+        contentdiv += '<textarea rows="4" cols="60" style="width:400px;height:80px;">' + adstr + '}</textarea>'
673
+        contentdiv += '<dd style="border-top: dotted 1px #E7E7E7; color: #F60;">请将对应标签代码复制并粘贴到对应模板文件中!</dd></dl></div>'
674
+        layer.open({
675
+            title: '代码调用',
676
+            type: 1,
677
+            shade: layer_shade,
678
+            skin: 'layui-layer-demo',
679
+            area: ['480px', '240px'], //宽高
680
+            content: contentdiv
681
+        });
682
+    }
683
+
684
+    // 图集相册的拖动排序相关 js
685
+    $( ".sort-list" ).sortable({
686
+        start: function( event, ui) {
687
+
688
+        }
689
+        ,stop: function( event, ui ) {
690
+
691
+        }
692
+    });
693
+    //因为他们要拖动,所以尽量设置他们的文字不能选择。
694
+    // $( ".sort-list" ).disableSelection();
695
+</script>
696
+
697
+{include file="public/footer" /}

+ 341
- 0
application/admin/template/zcdj_position/index.htm View File

@@ -0,0 +1,341 @@
1
+{include file="public/layout" /}
2
+
3
+<body class="bodystyle" style="cursor: default; -moz-user-select: inherit;">
4
+<div id="append_parent"></div>
5
+<div id="ajaxwaitid"></div>
6
+<div class="page min-hg-c-10">
7
+
8
+    {include file="zc_position/admin_bar" /}
9
+
10
+
11
+    <div class="flexigrid">
12
+        <div class="mDiv">
13
+            <div class="ftitle">
14
+				{if condition="$main_lang == $admin_lang || !empty($global['language_split'])"}
15
+				    {eq name="$Think.const.CONTROLLER_NAME.'@add'|is_check_access" value="1"}
16
+        				 <div class="fbutton">
17
+        				     <a href="javascript:void(0);" data-href="{:url('ZcdjPosition/add')}" onclick="openFullframe(this, '新增等级', '100%', '100%');">
18
+        				         <div class="add">
19
+        				             <span><i class="layui-icon layui-icon-addition"></i>新增等级</span>
20
+        				         </div>
21
+        				     </a>
22
+        				 </div>
23
+				    {/eq}
24
+				 {/if}
25
+            </div>
26
+
27
+
28
+            <?php
29
+
30
+            /*
31
+             * <div class="sDiv2">
32
+                        <select name="type" class="select" style="margin:0px 5px;">
33
+                            <option value="">--选择分类--</option>
34
+
35
+                            <option value="0" {eq name="$Request.param.type" value="0"}selected{/eq}>通类</option>
36
+                            <option value="1" {eq name="$Request.param.type" value="1"}selected{/eq}>计算机科学</option>
37
+                            <option value="2" {eq name="$Request.param.type" value="2"}selected{/eq}>理学</option>
38
+                            <option value="3" {eq name="$Request.param.type" value="3"}selected{/eq}>哲学类</option>
39
+                            <option value="4" {eq name="$Request.param.type" value="4"}selected{/eq}>教育学类</option>
40
+                            <option value="5" {eq name="$Request.param.type" value="5"}selected{/eq}>医学类</option>
41
+                            <option value="6" {eq name="$Request.param.type" value="6"}selected{/eq}>中国语言文学类</option>
42
+                            <option value="7" {eq name="$Request.param.type" value="7"}selected{/eq}>历史学类</option>
43
+                            <option value="8" {eq name="$Request.param.type" value="8"}selected{/eq}>经济学类</option>
44
+                            <option value="9" {eq name="$Request.param.type" value="9"}selected{/eq}>法学</option>
45
+                            <option value="10" {eq name="$Request.param.type" value="10"}selected{/eq}>体育学类</option>
46
+                            <option value="11" {eq name="$Request.param.type" value="11"}selected{/eq}>工商管理类</option>
47
+                            <option value="12" {eq name="$Request.param.type" value="12"}selected{/eq}>军事学</option>
48
+                            <option value="13" {eq name="$Request.param.type" value="13"}selected{/eq}>新闻传播学类</option>
49
+                            <option value="14" {eq name="$Request.param.type" value="14"}selected{/eq}>公共管理类</option>
50
+                            <option value="15" {eq name="$Request.param.type" value="15"}selected{/eq}>中医学类</option>
51
+                            <option value="16" {eq name="$Request.param.type" value="16"}selected{/eq}>药学类</option>
52
+                            <option value="17" {eq name="$Request.param.type" value="17"}selected{/eq}>政治学类</option>
53
+                            <option value="18" {eq name="$Request.param.type" value="18"}selected{/eq}>社会学类</option>
54
+                            <option value="19" {eq name="$Request.param.type" value="19"}selected{/eq}>艺术类</option>
55
+                            <option value="20" {eq name="$Request.param.type" value="20"}selected{/eq}>生物科学类</option>
56
+                            <option value="21" {eq name="$Request.param.type" value="21"}selected{/eq}>农学</option>
57
+                            <option value="22" {eq name="$Request.param.type" value="22"}selected{/eq}>其他</option>
58
+
59
+                        </select>
60
+                    </div>
61
+             */
62
+
63
+            ?>
64
+
65
+
66
+
67
+            <form id="searchForm" class="navbar-form form-inline" action="{:url('ZcdjPosition/index')}" method="get" onsubmit="layer_loading('正在处理');">
68
+                {$searchform.hidden|default=''}
69
+                <div class="sDiv">
70
+
71
+                    <div class="sDiv2">
72
+                        <select name="type" class="select" style="margin:0px 5px;">
73
+                            <option value="">--选择一级--</option>
74
+                            {eyou:foreach name='$pos_list' item='field1'}
75
+                            <option value="{$field1.id}" {eq name="$Request.param.type" value="$field1.id"}selected{/eq}>{$field1.name}</option>
76
+                            {/eyou:foreach}
77
+                        </select>
78
+                    </div>
79
+
80
+
81
+                    <div class="sDiv2">
82
+                        <select name="type2" id="type2" class="select" style="margin:0px 5px;">
83
+                            <option value="0">--选择二级--</option>
84
+                            {eyou:foreach name='$pos_list2' item='field1'}
85
+                            <option value="{$field1.id}" {eq name="$Request.param.type2" value="$field1.id"}selected{/eq}>{$field1.name}</option>
86
+                            {/eyou:foreach}
87
+                        </select>
88
+                    </div>
89
+
90
+
91
+
92
+                    <div class="sDiv2">
93
+                        <input type="text" size="30" name="keywords" value="{$Request.param.keywords}" class="qsbox" placeholder="名称搜索...">
94
+                        <input type="submit" class="btn" value="搜索">
95
+						<i class="iconfont e-sousuo"></i>
96
+                    </div>
97
+
98
+                </div>
99
+            </form>
100
+
101
+            <div class="sDiv">
102
+                {eq name="$Think.const.CONTROLLER_NAME.'@addtype'|is_check_access" value="1"}
103
+                <a href="javascript:void(0);" data-href="{:url('ZcdjPosition/addtype',array('id'=>$vo['id']))}" data-closereload="1" class="btn blue" onclick="openFullframe(this, '添加分类', '70%', '80%');">添加分类</a> <i></i>
104
+                {/eq}
105
+
106
+                {eq name="$Think.const.CONTROLLER_NAME.'@edittype'|is_check_access" value="1"}
107
+                <a href="javascript:void(0);" data-href="{:url('ZcdjPosition/edittype',array('type'=>$Request.param.type,'type2'=>$Request.param.type2))}" data-closereload="1" class="btn blue" onclick="openFullframe(this, '编辑分类', '70%', '80%');">编辑分类</a> <i></i>
108
+                {/eq}
109
+
110
+                {eq name="$Think.const.CONTROLLER_NAME.'@deltype'|is_check_access" value="1"}
111
+                <a href="javascript:void(0);" data-href="{:url('ZcdjPosition/deltype',array('type'=>$Request.param.type,'type2'=>$Request.param.type2))}" data-closereload="1" class="btn blue" onclick="openFullframe(this, '删除分类', '70%', '80%');">删除分类</a> <i></i>
112
+                {/eq}
113
+
114
+            </div>
115
+            <!--
116
+            <button id="addType">添加分类</button>-->
117
+            <!--
118
+            <button id="editType">编辑分类</button>-->
119
+
120
+        </div>
121
+
122
+        <div class="hDiv">
123
+            <div class="hDivBox">
124
+                <table cellspacing="0" cellpadding="0" style="width: 100%">
125
+                    <thead>
126
+                        <tr>
127
+                            {if condition="$main_lang == $admin_lang || !empty($global['language_split'])"}
128
+                                <th class="sign w40" axis="col0">
129
+                                    <div class="tc"><input type="checkbox" class="checkAll"></div>
130
+                                </th>
131
+                            {/if}
132
+
133
+                            <th abbr="article_title" axis="col3" class="w60">
134
+                                <div class="tc">ID</div>
135
+                            </th>
136
+
137
+                            <th abbr="article_title" axis="col3">
138
+                                <div class="tl text-l10" style="width: 100%">等级名称</div>
139
+                            </th>
140
+
141
+                            <th abbr="article_title" axis="col3" class="w100">
142
+                                <div class="tc">等级分类</div>
143
+                            </th>
144
+
145
+                            <th abbr="article_title" axis="col3" class="w120">
146
+                                <div class="tc">主题图片</div>
147
+                            </th>
148
+
149
+                            <th abbr="article_time" axis="col6" class="w60">
150
+                                <div class="tc">启用</div>
151
+                            </th>
152
+
153
+                            <th axis="col1" class="w180">
154
+                                <div class="tc">操作</div>
155
+                            </th>
156
+                        </tr>
157
+                    </thead>
158
+                </table>
159
+            </div>
160
+        </div>
161
+
162
+        <div class="bDiv" style="height: auto;">
163
+            <div id="flexigrid" cellpadding="0" cellspacing="0" border="0">
164
+                <table style="width: 100%">
165
+                    <tbody>
166
+                    {empty name="list"}
167
+                        <tr>
168
+                            <td class="no-data" align="center" axis="col0" colspan="50">
169
+                                <div class="no_row">
170
+                                    <div class="no_pic"><img src="__SKIN__/images/null-data.png"></div>
171
+                                </div>
172
+                            </td>
173
+                        </tr>
174
+                    {else/}
175
+                        {foreach name="list" item="vo" key="k" }
176
+                            <tr>
177
+                                {if condition="$main_lang == $admin_lang || !empty($global['language_split'])"}
178
+                                <td class="sign">
179
+                                    <div class="w40 tc"> <input type="checkbox" name="ids[]" value="{$vo.id}"> </div>
180
+                                </td>
181
+                                {/if}
182
+                                <td>
183
+                                    <div class="tc w60">
184
+                                    {eq name='$main_lang' value='$admin_lang'}
185
+                                        {$vo.id}
186
+                                    {else /}
187
+                                        {$main_adv_list[$vo['id']]['id']|default=$vo['id']}
188
+                                    {/eq}
189
+                                    </div>
190
+                                </td>
191
+
192
+                                <td align="left" style="width:100%;">
193
+                                    <div class="tl text-l10">
194
+                                        {eq name="$Think.const.CONTROLLER_NAME.'@edit'|is_check_access" value="1"}
195
+                                            <a href="javascript:void(0);" data-href="{:url('ZcdjPosition/edit',array('id'=>$vo['id']))}" data-closereload="1" onclick="openFullframe(this, '编辑广告', '100%', '100%');">{$vo.title}</a>
196
+                                        {else /}
197
+                                            {$vo.title}
198
+                                        {/eq}
199
+                                    </div>
200
+                                </td>
201
+                                <td>
202
+                                    <div class="tc w100"> {$vo.type_name} </div>
203
+                                </td>
204
+                                <td>
205
+                                    <div class="tc w120">
206
+                                        <ul class="adpic">
207
+                                            {volist name="$vo.ad" id="vs" length="1" }
208
+                                                <li>
209
+                                                    <img src="{$vs.litpic}"> {eq name="$vo.type" value="1"}<span>{$vo.ad_count}</span>{/eq}
210
+                                                </li>
211
+                                            {/volist}
212
+                                        </ul>
213
+                                    </div>
214
+                                </td>
215
+                                <td>
216
+                                    <div class="tc w60">
217
+                                        {if condition="$vo['status'] eq 1"}
218
+                                            <span class="yes" {eq name="$Think.const.CONTROLLER_NAME.'@edit'|is_check_access" value="1"}onClick="changeTableVal('zcdj_position','id','{$vo.id}','status',this);"{/eq} ><i class="fa fa-check-circle"></i>是</span>
219
+                                        {else /}
220
+                                            <span class="no" {eq name="$Think.const.CONTROLLER_NAME.'@edit'|is_check_access" value="1"}onClick="changeTableVal('zcdj_position','id','{$vo.id}','status',this);"{/eq} ><i class="fa fa-ban"></i>否</span>
221
+                                        {/if}
222
+                                    </div>
223
+                                </td>
224
+                                <td class="operation">
225
+                                    <div class="w180 tc">
226
+                                        {eq name="$Think.const.CONTROLLER_NAME.'@edit'|is_check_access" value="1"}
227
+                                            <a href="javascript:void(0);" data-href="{:url('ZcdjPosition/edit',array('id'=>$vo['id']))}" data-closereload="1" class="btn blue" onclick="openFullframe(this, '编辑证书', '100%', '100%');">编辑</a> <i></i>
228
+                                        {/eq}
229
+
230
+                                        {if condition="$main_lang == $admin_lang || !empty($global['language_split'])"}
231
+                                            {eq name="$Think.const.CONTROLLER_NAME.'@del'|is_check_access" value="1"}
232
+                                                <a class="btn red"  href="javascript:void(0);" data-url="{:url('ZcdjPosition/del')}" data-id="{$vo.id}" onClick="delfun(this);">删除</a>
233
+                                            {/eq} <!--<i></i>-->
234
+                                        {/if}
235
+    									
236
+                                       <!-- <a class="btn blue" href="javascript:void(0);" onclick="copyToClipBoard({$main_adv_list[$vo['id']]['id']|default=$vo['id']}, 1, {$vo['type']})">标签调用</a>-->
237
+                                    </div>
238
+                                </td>
239
+                            </tr>
240
+                        {/foreach}
241
+                    {/empty}
242
+                    </tbody>
243
+                </table>
244
+            </div>
245
+            <div class="iDiv" style="display: none;"></div>
246
+        </div>
247
+        {notempty name="list"}
248
+        <div class="tDiv">
249
+            <div class="tDiv2">
250
+                {if condition="$main_lang == $admin_lang || !empty($global['language_split'])"}
251
+                    <div class="fbutton checkboxall"> <input type="checkbox" class="checkAll"> </div>
252
+                    {eq name="$Think.const.CONTROLLER_NAME.'@del'|is_check_access" value="1"}
253
+                        <div class="fbutton">
254
+                            <a onclick="batch_del(this, 'ids');" data-url="{:url('ZcdjPosition/del')}" class="layui-btn layui-btn-primary">批量删除</a>
255
+                        </div>
256
+                    {/eq}
257
+                {/if}
258
+                <!-- 分页 -->
259
+                {include file="public/page" /}
260
+            </div>
261
+            <div style="clear:both"></div>
262
+        </div>
263
+        {/notempty}
264
+    </div>
265
+</div>
266
+
267
+<script type="text/javascript">
268
+    $(function() {
269
+        $('input[name*=ids]').click(function() {
270
+            if ($('input[name*=ids]').length == $('input[name*=ids]:checked').length) {
271
+                $('.checkAll').prop('checked', 'checked');
272
+            } else {
273
+                $('.checkAll').prop('checked', false);
274
+            }
275
+        });
276
+        $('input[type=checkbox].checkAll').click(function() {
277
+            $('input[type=checkbox]').prop('checked', this.checked);
278
+        });
279
+    });
280
+    
281
+    $(document).ready(function() {
282
+        // 表格行点击选中切换
283
+        $('#flexigrid > table>tbody >tr').click(function() {
284
+            $(this).toggleClass('trSelected');
285
+        });
286
+
287
+        // 点击刷新数据
288
+        $('.fa-refresh').click(function() {
289
+            location.href = location.href;
290
+        });
291
+
292
+        $('#searchForm select[name=type]').change(function(){
293
+            if($(this).val() == 0){
294
+                //重置二级分类
295
+                $('#type2').val(0);
296
+            }
297
+            $('#searchForm').submit();
298
+        });
299
+
300
+        $('#searchForm select[name=type2]').change(function(){
301
+            $('#searchForm').submit();
302
+        });
303
+
304
+        $('#searchForm select[name=map]').change(function(){
305
+            $('#searchForm').submit();
306
+        });
307
+
308
+    });
309
+
310
+    /**
311
+     * 代码调用js
312
+     * @param id  id
313
+     * @param limit 条数
314
+     */
315
+    function copyToClipBoard(id, limit, type) {
316
+        var advstr = '';
317
+        if (1 == type) {
318
+            advstr = "{eyou:adv pid='" + id + "'}\r\n   <img src='{$"+"field.litpic}' alt='{$"+"field.title}' />\r\n{/eyou:adv";
319
+        } else if (2 == type) {
320
+            advstr = "{eyou:adv pid='" + id + "'}\r\n   <video src='{$"+"field.litpic}' controls preload='auto' oncontextmenu='return fase'></video>\r\n{/eyou:adv";
321
+        } else if (3 == type) {
322
+            advstr = "{eyou:adv pid='" + id + "'}\r\n   {$"+"field.intro}\r\n{/eyou:adv";
323
+        }
324
+        var contentdiv = '<div class="dialog_content" style="margin: 0px; padding: 0px;"><dl style="padding:10px 30px;line-height:30px"><dd>标签 adv 调用:</dd>';
325
+        contentdiv += '<textarea rows="4" cols="60" style="width:400px;height:60px;">' + advstr + '}</textarea>';
326
+        contentdiv += '<dd>JavaScript:</dd>';
327
+        contentdiv += '<dd><input type="text" style=" width:400px;" value="<script type=&quot;text/javascript&quot; src=&quot;http://' + '{$Think.server.http_host}' + '__ROOT_DIR__/index.php?m=api&amp;c=Other&amp;a=other_show&amp;pid=' + id + '&amp;row='+limit+'&quot;><\/script>"></dd>';
328
+        contentdiv += '<dd style="border-top: dotted 1px #E7E7E7; color: #F60;">请将标签adv或JavaScript代码复制并粘贴到对应模板文件中!</dd></dl></div>';
329
+        layer.open({
330
+            title: '代码调用',
331
+            type: 1,
332
+            shade: layer_shade,
333
+            skin: 'layui-layer-demo',
334
+            area: ['480px', '280px'], //宽高
335
+            content: contentdiv
336
+        });
337
+    }
338
+
339
+</script>
340
+
341
+{include file="public/footer" /}

+ 24
- 2
application/admin/template/zcwd_position/add.htm View File

@@ -63,6 +63,19 @@
63 63
                                         $('#citychoose2').hide();
64 64
                                     }
65 65
                                 });
66
+
67
+                                //请求等级数据
68
+                                $.ajax({
69
+                                    type:'POST',
70
+                                    url:"{:url('ZcwdPosition/getLess', ['_ajax'=>1])}",
71
+                                    data:{
72
+                                        id: $(this).val()
73
+                                        ,_ajax:1
74
+                                    },
75
+                                    success:function(res){
76
+                                        $('#selectTest222').html(res.data);
77
+                                    }
78
+                                });
66 79
                             });
67 80
                         });
68 81
                     </script>
@@ -139,11 +152,12 @@
139 152
                 <dt class="tit"> <label for="title"><em>*</em>申报等级</label> </dt>
140 153
                 <dd class="opt">
141 154
                     <select name="sbdj" class="select" id="selectTest222" style="margin:0px 5px;height:30px;">
142
-                        <option value="0">初级助理工程师</option>
155
+                        <option value="0">请选择</option>
156
+                        <!--<option value="0">初级助理工程师</option>
143 157
                         <option value="1">初级技术员</option>
144 158
                         <option value="2">中级</option>
145 159
                         <option value="3">品牌中级</option>
146
-                        <option value="4">副高级</option>
160
+                        <option value="4">副高级</option>-->
147 161
                     </select>
148 162
 
149 163
                     <p class="notic2 red" id="title_tips" style="margin-top:10px;">
@@ -171,6 +185,7 @@
171 185
 
172 186
             ?>
173 187
 
188
+            <div style="display: none;">
174 189
             <hr/>
175 190
             <b>基本要求设置:</b>
176 191
 
@@ -473,6 +488,7 @@
473 488
             </dl>
474 489
 
475 490
 
491
+
476 492
             <hr/>
477 493
             <b>其他:</b>
478 494
 
@@ -596,6 +612,7 @@
596 612
                 </dd>
597 613
             </dl>
598 614
 
615
+            </div>
599 616
 
600 617
             <div class="bot"><a href="JavaScript:void(0);" onclick="checkForm();" class="ncap-btn-big ncap-btn-green" id="submitBtn">确认提交</a></div>
601 618
         </div>
@@ -1093,6 +1110,11 @@
1093 1110
             return false;
1094 1111
         }
1095 1112
 
1113
+        if($("#selectTest222").val() == '' || $("#selectTest222").val() == 0){
1114
+            layer.msg('请选择申报等级!', {icon: 2,time: 1000});
1115
+            return false;
1116
+        }
1117
+
1096 1118
         //'zyid': $("#selectTest").val(),
1097 1119
         //'sf': $('#selectTest000_1').val(),
1098 1120
         //'cs': $('#selectTest000_2').val(),

+ 30
- 1
application/admin/template/zcwd_position/edit.htm View File

@@ -63,6 +63,19 @@
63 63
                                         $('#citychoose2').hide();
64 64
                                     }
65 65
                                 });
66
+
67
+                                //请求等级数据
68
+                                $.ajax({
69
+                                    type:'POST',
70
+                                    url:"{:url('ZcwdPosition/getLess', ['_ajax'=>1])}",
71
+                                    data:{
72
+                                        id: $(this).val()
73
+                                        ,_ajax:1
74
+                                    },
75
+                                    success:function(res){
76
+                                        $('#selectTest222').html(res.data);
77
+                                    }
78
+                                });
66 79
                             });
67 80
                         });
68 81
                     </script>
@@ -149,11 +162,19 @@
149 162
                 <dt class="tit"> <label for="title"><em>*</em>申报等级</label> </dt>
150 163
                 <dd class="opt">
151 164
                     <select name="sbdj" class="select" id="selectTest222" style="margin:0px 5px;height:30px;">
165
+
166
+                        {eyou:foreach name='$dj_group_list' item='field1'}
167
+                        <option value="{$field1.id}" {eq name="$field.sbdj" value="$field1.id"}selected{/eq}>{$field1.title}</option>
168
+                        {/eyou:foreach}
169
+
170
+                        <!--
152 171
                         <option value="0"  {eq name="$field.sbdj" value="0"}selected{/eq}>初级助理工程师</option>
153 172
                         <option value="1" {eq name="$field.sbdj" value="1"}selected{/eq}>初级技术员</option>
154 173
                         <option value="2" {eq name="$field.sbdj" value="2"}selected{/eq}>中级</option>
155 174
                         <option value="3" {eq name="$field.sbdj" value="3"}selected{/eq}>品牌中级</option>
156 175
                         <option value="4" {eq name="$field.sbdj" value="4"}selected{/eq}>副高级</option>
176
+                        -->
177
+
157 178
                     </select>
158 179
 
159 180
                     <p class="notic2 red" id="title_tips" style="margin-top:10px;">
@@ -163,6 +184,9 @@
163 184
                 </dd>
164 185
             </dl>
165 186
 
187
+
188
+
189
+            <div style="display:none;">
166 190
             <?php
167 191
 
168 192
             /*
@@ -666,7 +690,7 @@
666 690
                     <p class="notic"></p>
667 691
                 </dd>
668 692
             </dl>
669
-
693
+            </div>
670 694
 
671 695
             <div class="bot">
672 696
                 <input type="hidden" name="id" id="1615775137_id" value="{$field.id}">
@@ -1173,6 +1197,11 @@
1173 1197
             return false;
1174 1198
         }
1175 1199
 
1200
+        if($("#selectTest222").val() == '' || $("#selectTest222").val() == 0){
1201
+            layer.msg('请选择申报等级!', {icon: 2,time: 1000});
1202
+            return false;
1203
+        }
1204
+
1176 1205
         //'zyid': $("#selectTest").val(),
1177 1206
         //'sf': $('#selectTest000_1').val(),
1178 1207
         //'cs': $('#selectTest000_2').val(),

+ 23
- 12
application/admin/template/zcwd_position/index.htm View File

@@ -15,9 +15,9 @@
15 15
 				{if condition="$main_lang == $admin_lang || !empty($global['language_split'])"}
16 16
 				    {eq name="$Think.const.CONTROLLER_NAME.'@add'|is_check_access" value="1"}
17 17
         				 <div class="fbutton">
18
-        				     <a href="javascript:void(0);" data-href="{:url('ZcwdPosition/add')}" onclick="openFullframe(this, '新增职称', '100%', '100%');">
18
+        				     <a href="javascript:void(0);" data-href="{:url('ZcwdPosition/add')}" onclick="openFullframe(this, '新增规则', '80%', '70%');">
19 19
         				         <div class="add">
20
-        				             <span><i class="layui-icon layui-icon-addition"></i>新增职称</span>
20
+        				             <span><i class="layui-icon layui-icon-addition"></i>新增规则</span>
21 21
         				         </div>
22 22
         				     </a>
23 23
         				 </div>
@@ -27,7 +27,7 @@
27 27
             <form id="searchForm" class="navbar-form form-inline" action="{:url('ZcwdPosition/index')}" method="get" onsubmit="layer_loading('正在处理');">
28 28
                 {$searchform.hidden|default=''}
29 29
                 <div class="sDiv">
30
-                    <div class="sDiv2">
30
+                    <div class="sDiv2" style="display: none;">
31 31
                         <select name="type" class="select" style="margin:0px 5px;">
32 32
                             <option value="">--选择地区--</option>
33 33
 
@@ -38,7 +38,7 @@
38 38
                         </select>
39 39
                     </div>
40 40
                     <div class="sDiv2">
41
-                        <input type="text" size="30" name="keywords" value="{$Request.param.keywords}" class="qsbox" placeholder="名称搜索...">
41
+                        <input type="text" size="30" name="keywords" value="{$Request.param.keywords}" class="qsbox" placeholder="输入职称名称搜索...">
42 42
                         <input type="submit" class="btn" value="搜索">
43 43
 						<i class="iconfont e-sousuo"></i>
44 44
                     </div>
@@ -61,13 +61,17 @@
61 61
                                 <div class="tc">ID</div>
62 62
                             </th>
63 63
 
64
+                            <th abbr="article_title" axis="col3" class="w250">
65
+                                <div class="tc">规则编号</div>
66
+                            </th>
67
+
64 68
                             <th abbr="article_title" axis="col3">
65
-                                <div class="tl text-l10" style="width: 100%">职称名称</div>
69
+                                <div class="tl text-l10" style="width: 100%">规则名称</div>
66 70
                             </th>
67 71
 
68
-                            <th abbr="article_title" axis="col3" class="w100">
72
+                            <!--<th abbr="article_title" axis="col3" class="w100">
69 73
                                 <div class="tc">职称地区</div>
70
-                            </th>
74
+                            </th>-->
71 75
 
72 76
                             <th abbr="article_title" axis="col3" class="w120">
73 77
                                 <div class="tc">主题图片</div>
@@ -77,7 +81,7 @@
77 81
                                 <div class="tc">启用</div>
78 82
                             </th>
79 83
 
80
-                            <th axis="col1" class="w180">
84
+                            <th axis="col1" class="w280">
81 85
                                 <div class="tc">操作</div>
82 86
                             </th>
83 87
                         </tr>
@@ -116,6 +120,10 @@
116 120
                                     </div>
117 121
                                 </td>
118 122
 
123
+                                <td>
124
+                                    <div class="tc w250"> {$vo.orderno} </div>
125
+                                </td>
126
+
119 127
                                 <td align="left" style="width:100%;">
120 128
                                     <div class="tl text-l10">
121 129
                                         {eq name="$Think.const.CONTROLLER_NAME.'@edit'|is_check_access" value="1"}
@@ -125,9 +133,9 @@
125 133
                                         {/eq}
126 134
                                     </div>
127 135
                                 </td>
128
-                                <td>
136
+<!--                                <td>
129 137
                                     <div class="tc w100"> {$vo.type_name} </div>
130
-                                </td>
138
+                                </td>-->
131 139
                                 <td>
132 140
                                     <div class="tc w120">
133 141
                                         <ul class="adpic">
@@ -149,9 +157,12 @@
149 157
                                     </div>
150 158
                                 </td>
151 159
                                 <td class="operation">
152
-                                    <div class="w180 tc">
160
+                                    <div class="w280 tc">
161
+
162
+                                        <a href="javascript:void(0);" data-href="{:url('ZcwePosition/add',array('id'=>$vo['id']))}" data-closereload="1" class="btn blue" onclick="openFullframe(this, '新增学历要求规则', '80%', '70%');">新增学历要求规则</a> <i></i>
163
+
153 164
                                         {eq name="$Think.const.CONTROLLER_NAME.'@edit'|is_check_access" value="1"}
154
-                                            <a href="javascript:void(0);" data-href="{:url('ZcwdPosition/edit',array('id'=>$vo['id']))}" data-closereload="1" class="btn blue" onclick="openFullframe(this, '编辑职称', '100%', '100%');">编辑</a> <i></i>
165
+                                            <a href="javascript:void(0);" data-href="{:url('ZcwdPosition/edit',array('id'=>$vo['id']))}" data-closereload="1" class="btn blue" onclick="openFullframe(this, '编辑职称', '80%', '70%');">编辑</a> <i></i>
155 166
                                         {/eq}
156 167
 
157 168
                                         {if condition="$main_lang == $admin_lang || !empty($global['language_split'])"}

+ 876
- 0
application/admin/template/zcwe_position/add.htm View File

@@ -0,0 +1,876 @@
1
+{include file="public/layout" /}
2
+
3
+<body class="bodystyle" style="overflow-y: scroll;">
4
+<div id="toolTipLayer" style="position: absolute; z-index: 9999; display: none; visibility: visible; left: 95px; top: 573px;"></div>
5
+<div id="append_parent"></div>
6
+<div id="ajaxwaitid"></div>
7
+<div class="page min-hg-c-10">
8
+    <form class="form-horizontal" id="post_form" action="{:url('ZcwdPosition/add')}" method="post">
9
+        <div class="ncap-form-default">
10
+
11
+
12
+            <dl class="row">
13
+                <dt class="tit">
14
+                    <label for="type">规则详情</label>
15
+                </dt>
16
+                <dd class="opt">
17
+                    <input type="hidden" name="type" value="{$rule_id}" />
18
+                    规则编号: {$detail.orderno} &nbsp;&nbsp;&nbsp;&nbsp; 规则名称: {$detail.title}
19
+                </dd>
20
+            </dl>
21
+
22
+            <dl class="row">
23
+                <dt class="tit"> <label for="title"><em>*</em>学历要求</label> </dt>
24
+                <dd class="opt">
25
+                    <select name="xlyq" class="select" id="selectTest333" style="margin:0px 5px;height:30px;width:130px;">
26
+                        <option value="0">请选择学历</option>
27
+                        <option value="1">中专</option>
28
+                        <option value="2">高技</option>
29
+                        <option value="3">大专</option>
30
+                        <option value="4">本科</option>
31
+                        <option value="5">硕士</option>
32
+                        <option value="6">博士</option>
33
+                    </select>
34
+                </dd>
35
+            </dl>
36
+
37
+
38
+            <?php
39
+
40
+            /*
41
+             * 字段模板
42
+             * <dl class="row">
43
+                <dt class="tit"> <label for="title"><em>*</em>年龄区间:</label> </dt>
44
+                <dd class="opt">
45
+                    <input type="text" name="title" id="title" onkeyup="DetectionTitleRepeat(this);" class="input-txt" autocomplete="off" value="">
46
+                    <span style="">助理工程师,技术员</span>
47
+                    <span class="err"></span>
48
+                    <p class="notic2 red" id="title_tips">
49
+                    </p>
50
+                </dd>
51
+            </dl>
52
+             */
53
+
54
+            ?>
55
+
56
+            <hr/>
57
+            <b>基本要求设置:</b>
58
+
59
+            <dl class="row">
60
+                <dt class="tit"> <label for="title"><em>*</em>年龄区间:</label> </dt>
61
+                <dd class="opt">
62
+
63
+                    <span style="" id="ega-b">
64
+                        <label class="curpoin">
65
+                            <input type="radio"  name="is_ega" value="0" checked>年龄不限制</label>
66
+                        &nbsp;&nbsp;
67
+                        <label class="curpoin">
68
+                            <input type="radio"  name="is_ega" value="1">年龄限制</label>
69
+                    </span>
70
+
71
+
72
+                    <span id="ega_input" style="display:none; margin-left: 15px !important;text-align: center;">
73
+                        <input style="width:50px !important;" type="number" name="ega[]" id="ega333" class="input-txt" autocomplete="off" value="23">
74
+                        &nbsp;&nbsp;-&nbsp;&nbsp;
75
+                        <input style="width:50px !important;" type="number" name="ega[]" id="ega333" class="input-txt" autocomplete="off" value="60">&nbsp;
76
+                        岁
77
+                    </span>
78
+
79
+                    <script>
80
+                        $(function(){
81
+                            $('#ega-b input[name="is_ega"]').change(function (){
82
+                                console.log("fdfd");
83
+
84
+                                if($(this).val() == 1){
85
+                                    $('#ega_input').show();
86
+                                }else{
87
+                                    $('#ega_input').hide();
88
+                                }
89
+                            });
90
+                        });
91
+
92
+                    </script>
93
+
94
+                    <span class="err"></span>
95
+                    <p class="notic2 red" id="title_tips">
96
+                    </p>
97
+                </dd>
98
+            </dl>
99
+
100
+            <dl class="row">
101
+                <dt class="tit">
102
+                    <label for="type">毕业专业</label>
103
+                </dt>
104
+                <dd class="opt">
105
+
106
+
107
+                    <!--<label class="curpoin"><input type="radio" id="type{$field1.id}" name="type" value="{$field1.id}" onclick="TypeSwitch({$field1.id});">{$field1.name}</label>
108
+                    -->
109
+
110
+                    <?php
111
+                    /*
112
+                     * {eyou:foreach name='$pro_list' item='field1'}
113
+                <option value="{$field1.id}" {eq name="$Request.param.type" value="$field1.id"}selected{/eq}>{$field1.name}</option>
114
+                {/eyou:foreach}
115
+                     */
116
+                    ?>
117
+                    <select name="byzy" class="select" id="selectTest777" style="margin:0px 5px;height:30px;width:130px;">
118
+                        <option value="0">不要求</option>
119
+                        <option value="1">指定相关要求</option>
120
+                    </select>
121
+
122
+                    <script>
123
+
124
+                        $(function(){
125
+                            $("#selectTest777").change(function(e){
126
+
127
+                                /*var item = $("#selectTest").val();
128
+                                if(item == '' || item == 0){
129
+                                    layer.msg('请先选择申报专业!', {icon: 2,time: 1000});
130
+                                    $("#selectTest777").val('0');
131
+                                    return false;
132
+                                }
133
+                                console.log(item);
134
+
135
+                                //发送ajax 请求地区数据
136
+                                $.ajax({
137
+                                    type:'POST',
138
+                                    url:"{:url('ZcwdPosition/getZs2', ['_ajax'=>1])}",
139
+                                    data:{
140
+                                        id: item  //获取当前专业
141
+                                        ,_ajax:1
142
+                                    },
143
+                                    success:function(res){
144
+                                        $('#zhengshu2').html(res.data);
145
+                                    }
146
+                                });
147
+*/
148
+                                console.log($(this).val());
149
+                                var v = $(this).val();
150
+                                if(v == 1){
151
+                                    $('#citychoose2').show();
152
+                                }else{
153
+                                    $('#citychoose2').hide();
154
+                                }
155
+                            });
156
+                        });
157
+                    </script>
158
+
159
+                    <span class="err"></span>
160
+                    <p class="notic"></p>
161
+                </dd>
162
+            </dl>
163
+
164
+            <dl class="row" id="citychoose2" style="display: none;">
165
+                <dt class="tit"> <label for="title"><em>*</em>专业选择</label> </dt>
166
+                <dd class="opt">
167
+
168
+                    <!---checked-->
169
+                    <div id="zhengshu2">
170
+                        {$byzy_html}
171
+                    </div>
172
+
173
+                    <span class="err"></span>
174
+                    <p class="notic2 red" id="title_tips"></p>
175
+                </dd>
176
+            </dl>
177
+
178
+
179
+
180
+            <dl class="row">
181
+                <dt class="tit"> <label for="title"><em>*</em>学校类型</label> </dt>
182
+                <dd class="opt">
183
+                    <label class="curpoin">
184
+                        <input type="radio"  name="xxlx" value="0" checked>不限制</label>
185
+                    &nbsp;&nbsp;
186
+                    <label class="curpoin">
187
+                        <input type="radio"  name="xxlx" value="1">全日制</label>
188
+                    &nbsp;&nbsp;
189
+                    <label class="curpoin">
190
+                        <input type="radio"  name="xxlx" value="2">非全日制</label>
191
+                </dd>
192
+            </dl>
193
+
194
+
195
+            <dl class="row">
196
+                <dt class="tit"> <label for="title"><em>*</em>毕业时间:</label> </dt>
197
+                <dd class="opt">
198
+
199
+                    <span style="" id="bysj-b">
200
+                        <label class="curpoin">
201
+                            <input type="radio"  name="bysj" value="0" checked>不限制</label>
202
+                        &nbsp;&nbsp;
203
+                        <label class="curpoin">
204
+                            <input type="radio"  name="bysj" value="1">限制</label>
205
+                    </span>
206
+
207
+
208
+
209
+                    <span id="bysj_input" style="display:none; margin-left: 15px !important;text-align: center;">
210
+                         >=
211
+                        <input style="width:50px !important;" type="number" name="bysj_time" id="bysj333" class="input-txt" autocomplete="off" value="1">
212
+                        &nbsp;年
213
+                    </span>
214
+
215
+                    <script>
216
+                        $(function(){
217
+                            $('#bysj-b input[name="bysj"]').change(function (){
218
+                                console.log("fdfd");
219
+
220
+                                if($(this).val() == 1){
221
+                                    $('#bysj_input').show();
222
+                                }else{
223
+                                    $('#bysj_input').hide();
224
+                                }
225
+                            });
226
+                        });
227
+
228
+                    </script>
229
+
230
+                    <span class="err"></span>
231
+                    <p class="notic2 red" id="title_tips">
232
+                    </p>
233
+                </dd>
234
+            </dl>
235
+
236
+
237
+            <div class="bot"><a href="JavaScript:void(0);" onclick="checkForm();" class="ncap-btn-big ncap-btn-green" id="submitBtn">确认提交</a></div>
238
+        </div>
239
+    </form>
240
+</div>
241
+
242
+<script type="text/javascript">
243
+    var SelectedType = 1;
244
+    $(function() {
245
+        // 新增时,广告类型默认选中图片类型
246
+        $('#type1').prop('checked', 'checked');
247
+        // 新增时,默认显示图片上传
248
+        $('#1615775137_1').show();
249
+        // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
250
+        VideoLitpicValue('#video_litpic');
251
+    });
252
+
253
+    // 切换广告类型
254
+    function TypeSwitch(typeValue) {
255
+        // 隐藏全部类型内容
256
+        $('.1615775137_dl').hide();
257
+        // 显示指定类型内容
258
+        $('#1615775137_'+typeValue).show();
259
+        // 切换类型后设置为当前切换的类型
260
+        SelectedType = typeValue;
261
+        // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
262
+        VideoLitpicValue('#video_litpic');
263
+    }
264
+
265
+    // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
266
+    function VideoLitpicValue(obj) {
267
+        // 获取广告内容(多媒体为播放链接)
268
+        // var video_litpic = $(obj).val();
269
+        // 判断隐藏/显示预览按钮if (2 == SelectedType && video_litpic)
270
+        if (2 == SelectedType) {
271
+            $('#PreviewVideo').show();
272
+        } else {
273
+            $('#PreviewVideo').hide();
274
+        }
275
+    }
276
+
277
+    // 打开预览视频
278
+    function OpenPreviewVideo() {
279
+        // 获取视频链接
280
+        var video_litpic = $('#video_litpic').val();
281
+        if (video_litpic == '') {
282
+            $('#video_litpic').focus();
283
+            showErrorMsg('请先上传视频');
284
+            return false;
285
+        }
286
+
287
+        /* 视频链接后缀验证处理 */
288
+        var fileExt = video_litpic.substr(video_litpic.lastIndexOf('.')).toLowerCase();
289
+        var fileExt = judgeExt(fileExt);
290
+        if (fileExt == -1) {
291
+            $('#video_litpic').focus();
292
+            showErrorMsg('不支持的视频格式,可在附件设置中修改');
293
+            return false;
294
+        }
295
+        /* END */
296
+
297
+        /* 视频链接是否存在斜杠处理 */
298
+        var fileInfo = video_litpic.lastIndexOf('/');
299
+        if (fileInfo == -1) {
300
+            $('#video_litpic').focus();
301
+            showErrorMsg('视频链接不完整,无法正常预览');
302
+            return false;
303
+        }
304
+        /* END */
305
+
306
+        // 打开视频播放
307
+        $.ajax({
308
+            type : 'post',
309
+            url  : $('#OpenPreviewVideoUrl').val(),
310
+            data : {video_litpic: video_litpic},
311
+            dataType : 'json',
312
+            success : function(res) {
313
+                if (1 == res.code) {
314
+                    var PreviewVideo = "<video style='width:100%; height:100%;' src='"+res.url+"' controls preload='auto' oncontextmenu='return fase' autoplay></video>";
315
+                    layer.open({
316
+                        type: 1,
317
+                        title: false,
318
+                        fixed: true, //不固定
319
+                        shadeClose: false,
320
+                        shade: layer_shade,
321
+                        area: ['80%', '80%'],
322
+                        content: PreviewVideo
323
+                    });
324
+                } else {
325
+                    showErrorMsg(res.msg);
326
+                }
327
+            },
328
+            error: function(e) {
329
+                showErrorAlert(e.responseText);
330
+            }
331
+        });
332
+    }
333
+
334
+    // 上传媒体文件
335
+    function upload_video_litpic_1615775137(e) {
336
+        var data_type = $(e).attr('data-type');
337
+        if ('qiniu' == data_type) {
338
+            // 七牛云上传
339
+            upload_video_litpic_qiniu(e);
340
+        } else if ('oss' == data_type) {
341
+             // OSS上传
342
+            upload_video_litpic_oss(e);
343
+        } else if ('cos' == data_type) {
344
+             // COS上传
345
+            upload_video_litpic_cos(e);
346
+        } else {
347
+            // 本地上传
348
+            upload_video_litpic_local(e);
349
+        }
350
+    }
351
+
352
+    // 七牛云上传
353
+    function upload_video_litpic_qiniu(e) {
354
+        // 获取文件路径名
355
+        var file = $(e)[0].files[0];
356
+
357
+        // 验证上传格式
358
+        var fileName = file.name;
359
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
360
+        var ext = judgeExt(fileExt);
361
+        if (ext == -1) {
362
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
363
+            return false;
364
+        }
365
+
366
+        // 验证上传大小
367
+        var size = "{$upload_max_filesize}";
368
+        if (file.size > size) {
369
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
370
+            return false;
371
+        }
372
+
373
+        // 执行上传
374
+        layer_loading('上传本地');
375
+        $.ajax({
376
+            type: 'POST',
377
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Qiniuyun&a=qiniu_upload',
378
+            data: {_ajax: 1},
379
+            dataType: "JSON",
380
+            success: function(res1) {
381
+                if (1 == res1.code) {
382
+                    var token  = res1.data.token;
383
+                    var formData = new FormData();
384
+                    formData.append('file', file);
385
+                    formData.append('token', token);
386
+
387
+                    fileName = res1.data.filePath + fileExt;
388
+                    formData.append('key', fileName);
389
+                    $.ajax({
390
+                        url: res1.data.uphost,
391
+                        type: 'POST',
392
+                        dataType: 'JSON',
393
+                        data: formData,
394
+                        timeout: 1200000,
395
+                        cache: false,
396
+                        processData: false,
397
+                        contentType: false,
398
+                        xhr: function () {
399
+                            myXhr = $.ajaxSettings.xhr();
400
+                            if (myXhr.upload) {
401
+                                myXhr.upload.addEventListener('progress', function(e){
402
+                                    var curr = e.loaded;
403
+                                    var total = e.total;
404
+                                    process = parseInt(curr / total * 100);
405
+                                    $("#upload_video_litpic_qiniu").text('上传中...'+process+"%");
406
+                                });
407
+                            }
408
+                            return myXhr;
409
+                        },
410
+                        success: function(res2) {
411
+                            layer.closeAll();
412
+                            $("#upload_video_litpic_qiniu").text('上传成功');
413
+                            setTimeout(function() {
414
+                                $('#upload_video_litpic_qiniu').text('七牛云上传');
415
+                            }, 2000);
416
+                            var video_url = res1.data.domain + "/" + res2.key;
417
+                            $("#video_litpic").val(video_url);
418
+                        },
419
+                        error: function(e) {
420
+                            layer.closeAll();
421
+                            showErrorMsg(e.responseText);
422
+                            return false;
423
+                        }
424
+                    });
425
+                } else {
426
+                    layer.closeAll();
427
+                    showErrorMsg(res1.msg);
428
+                }
429
+            },
430
+            error: function(e) {
431
+                layer.closeAll();
432
+                showErrorMsg(e.responseText);
433
+            }
434
+        });
435
+    }
436
+
437
+    // 阿里云OSS上传
438
+    function upload_video_litpic_oss(e) {
439
+        // 获取文件路径名
440
+        var file = $(e)[0].files[0];
441
+
442
+        // 验证上传格式
443
+        var fileName = file.name;
444
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
445
+        var ext = judgeExt(fileExt);
446
+        if (ext == -1) {
447
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
448
+            return false;
449
+        }
450
+
451
+        // 验证上传大小
452
+        var size = "{$upload_max_filesize}";
453
+        if (file.size > size) {
454
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
455
+            return false;
456
+        }
457
+
458
+        // 执行上传
459
+        layer_loading('上传阿里云OSS');
460
+        $.ajax({
461
+            type: 'POST',
462
+            url: '__ROOT_DIR__/index.php?m=plugins&c=AliyunOss&a=oss_upload',
463
+            data: {_ajax: 1},
464
+            dataType: "JSON",
465
+            success: function(res1){
466
+                if (1 == res1.code){
467
+                    fileName = res1.data.filePath + fileExt;
468
+                    //组装发送数据
469
+                    var request = new FormData();
470
+                    request.append("OSSAccessKeyId",res1.data.accessid);
471
+                    request.append("policy",res1.data.policy);
472
+                    request.append("Signature",res1.data.signature);
473
+                    request.append("key",fileName);
474
+                    request.append("success_action_status",201);
475
+                    request.append('file', file);
476
+
477
+                    $.ajax({
478
+                        url : res1.data.host,
479
+                        data : request,
480
+                        processData: false,
481
+                        cache: false,
482
+                        contentType: false,
483
+                        dataType: 'xml',
484
+                        type : 'post',
485
+                        xhr: function () {
486
+                            myXhr = $.ajaxSettings.xhr();
487
+                            if (myXhr.upload) {
488
+                                myXhr.upload.addEventListener('progress', function(e){
489
+                                    var curr = e.loaded;
490
+                                    var total = e.total;
491
+                                    var process = parseInt(curr / total * 100);
492
+                                    $("#upload_video_litpic_oss").text('上传中...'+process+"%");
493
+                                });
494
+                            }
495
+                            return myXhr;
496
+                        },
497
+                        success : function(data) {
498
+                            layer.closeAll();
499
+                            var res = $(data).find('PostResponse');
500
+                            if (res) {
501
+                                var key = res.find('Key').text();
502
+                                $("#upload_video_litpic_oss").text('上传成功');
503
+                                setTimeout(function() {
504
+                                    $('#upload_video_litpic_oss').text('oss上传');
505
+                                }, 2000);
506
+                                var video_url = res1.data.domain + "/" + key;
507
+                                $("#video_litpic").val(video_url);
508
+                            } else {
509
+                                $("#upload_video_litpic_oss").text('上传失败');
510
+                                setTimeout(function() {
511
+                                    $('#upload_video_litpic_oss').text('oss上传');
512
+                                }, 2000);
513
+                            }
514
+                        },
515
+                        error : function(e) {
516
+                            layer.closeAll();
517
+                            console.log(e.responseText);
518
+                        }
519
+                    });
520
+                } else {
521
+                    layer.closeAll();
522
+                    showErrorMsg(res1.msg);
523
+                }
524
+            },
525
+            error: function(e) {
526
+                layer.closeAll();
527
+                showErrorMsg(e.responseText);
528
+            }
529
+        });
530
+    }
531
+
532
+    // 腾讯云COS上传
533
+    function upload_video_litpic_cos(e) {
534
+        // 获取文件路径名
535
+        var file = $(e)[0].files[0];
536
+
537
+        // 验证上传格式
538
+        var fileName = file.name;
539
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
540
+        var ext = judgeExt(fileExt);
541
+        if (ext == -1) {
542
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
543
+            return false;
544
+        }
545
+
546
+        // 验证上传大小
547
+        var size = "{$upload_max_filesize}";
548
+        if (file.size > size) {
549
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
550
+            return false;
551
+        }
552
+
553
+        // 上传参数
554
+        var formData = new FormData();
555
+            formData.append('file', file);
556
+            formData.append('file_ext', fileExt);
557
+
558
+        // 执行上传
559
+        $.ajax({
560
+            type: 'post',
561
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Cos&a=cos_upload&_ajax=1',
562
+            data: formData,
563
+            contentType: false,
564
+            processData: false,
565
+            dataType: 'json',
566
+            xhr: function () {
567
+                myXhr = $.ajaxSettings.xhr();
568
+                if (myXhr.upload) {
569
+                    myXhr.upload.addEventListener('progress', function(e){
570
+                        var curr = e.loaded;
571
+                        var total = e.total;
572
+                        process = parseInt(curr / total * 100);
573
+                        if (100 == process) {
574
+                            process = 99;
575
+                            layer_loading('上传腾讯云');
576
+                        }
577
+                        $("#upload_video_litpic_cos").text('上传中...'+process+"%");
578
+                        
579
+                    });
580
+                }
581
+                return myXhr;
582
+            },
583
+            success: function(res) {
584
+                layer.closeAll();
585
+                if (1 == res.code) {
586
+                    $("#video_litpic").val(res.data.url);
587
+                    $("#upload_video_litpic_cos").text('上传成功');
588
+                } else {
589
+                    $("#upload_video_litpic_cos").text('上传失败');
590
+                }
591
+                setTimeout(function() {
592
+                    $('#upload_video_litpic_cos').text('cos上传');
593
+                }, 2000);
594
+            },
595
+            error: function(e) {
596
+                layer.closeAll();
597
+                showErrorMsg(e.responseText);
598
+            }
599
+        });
600
+    }
601
+
602
+    // 本地上传
603
+    function upload_video_litpic_local(e) {
604
+        // 获取文件路径名
605
+        var file = $(e)[0].files[0];
606
+
607
+        // 验证上传格式
608
+        var fileName = file.name;
609
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
610
+        var ext = judgeExt(fileExt);
611
+        if (ext == -1) {
612
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
613
+            return false;
614
+        }
615
+
616
+        // 验证上传大小
617
+        var size = "{$upload_max_filesize}";
618
+        if (file.size > size) {
619
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
620
+            return false;
621
+        }
622
+
623
+        // 定义上传数据
624
+        var formData = new FormData();
625
+        formData.append('file', file);
626
+
627
+        // 执行上传
628
+        layer_loading('上传本地');
629
+        $.ajax({
630
+            type: 'post',
631
+            url : "{:url('Ueditor/upVideo', ['savepath'=>'media'])}",
632
+            data: formData,
633
+            contentType: false,
634
+            processData: false,
635
+            dataType: 'json',
636
+            xhr: function () {
637
+                myXhr = $.ajaxSettings.xhr();
638
+                if (myXhr.upload) {
639
+                    myXhr.upload.addEventListener('progress', function(e){
640
+                        var curr = e.loaded;
641
+                        var total = e.total;
642
+                        process = parseInt(curr / total * 100);
643
+                        $("#upload_video_litpic_local").html('上传中...'+process+"%");
644
+                    });
645
+                }
646
+                return myXhr;
647
+            },
648
+            success: function (res) {
649
+                layer.closeAll();
650
+                $("#upload_video_litpic_local").html('上传成功');
651
+                setTimeout(function() {
652
+                    $('#upload_video_litpic_local').html('本地上传');
653
+                }, 2000);
654
+                if ("SUCCESS" == res.state) {
655
+                    $("#video_litpic").val(res.url);
656
+                } else {
657
+                    showErrorMsg(res.msg);
658
+                }
659
+            }
660
+        });
661
+    }
662
+
663
+    // 验证格式
664
+    function judgeExt(ext) {
665
+        var type = "{$media_type}";
666
+        var extArr = [];
667
+        extArr = type.split("|");
668
+        var ext = ext.replace(".","");
669
+        return extArr.indexOf(ext);
670
+    }
671
+</script>
672
+
673
+<script type="text/javascript">
674
+	var parentObj = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
675
+    // 勾选新窗口打开链接
676
+    function CheckedTarget(t){
677
+        if ($(t).is(':checked')) {
678
+            $(t).parent().find('input[name="img_target[]"]').val(1);
679
+        }else{
680
+            $(t).parent().find('input[name="img_target[]"]').val(0);
681
+        }
682
+    }
683
+    // 鼠标事件,加载查看大图和更新图片
684
+    function upimgMouseover(obj)
685
+    {
686
+        $(obj).find('div.icaction').show();
687
+        $(obj).find('div.cover-bg').show();
688
+    }
689
+    function upimgMouseout(obj)
690
+    {
691
+        $(obj).find('div.icaction').hide();
692
+        $(obj).find('div.cover-bg').hide();
693
+    }
694
+
695
+    // 检测广告名称是否存在重复
696
+    function DetectionTitleRepeat(obj) {
697
+        // 当前广告ID
698
+        var id = 0;
699
+        // 传入的广告名称
700
+        var title = $(obj).val();
701
+        // 执行检测
702
+        $.ajax({
703
+            type: 'post',
704
+            url : "{:url('ZcwdPosition/detection_title_repeat', ['_ajax'=>1])}",
705
+            data: {id: id, title: title},
706
+            dataType: 'json',
707
+            success: function(res) {
708
+                if (0 == res.code) {
709
+                    $('#title_tips').show().html(res.msg);
710
+                } else {
711
+                    $('#title_tips').hide().html('');
712
+                }
713
+            },
714
+            error: function(e){
715
+                layer.closeAll();
716
+                showErrorAlert(e.responseText);
717
+            }
718
+        });
719
+    }
720
+
721
+    // 判断输入框是否为空
722
+    function checkForm(){
723
+     /*   if($('input[name=title]').val() == ''){
724
+            layer.msg('广告位名称不能为空!', {icon: 2,time: 1000});
725
+            return false;
726
+        }*/
727
+
728
+        if($("#selectTest333").val() == '' || $("#selectTest333").val() == 0){
729
+            layer.msg('请选择学历要求!', {icon: 2,time: 1000});
730
+            return false;
731
+        }
732
+
733
+        if($('#selectTest777').val() == '1'){
734
+            var checkedValues = [];
735
+            $('#zhengshu2 input[type=checkbox]:checked').each(function() {
736
+                checkedValues.push($(this).val());
737
+            });
738
+            console.log(checkedValues); // 打印选中的checkbox值
739
+            if(checkedValues.length > 0){
740
+
741
+            }else{
742
+                layer.msg('请选择专业!', {icon: 2,time: 1000});
743
+                return false;
744
+            }
745
+        }
746
+
747
+        //'zyid': $("#selectTest").val(),
748
+        //'sf': $('#selectTest000_1').val(),
749
+        //'cs': $('#selectTest000_2').val(),
750
+        //'sbdj': $('#selectTest000_2').val(),
751
+
752
+        layer_loading('正在处理');
753
+        $.ajax({
754
+            type : 'post',
755
+            url : "{:url('ZcwePosition/add', ['_ajax'=>1])}",
756
+            data : $('#post_form').serialize(),
757
+            dataType : 'json',
758
+            success : function(res) {
759
+                layer.closeAll();
760
+                if (1 == res.code) {
761
+                    var _parent = parent;
762
+                    _parent.layer.close(parentObj);
763
+                    _parent.layer.msg(res.msg, {icon: 1, shade: layer_shade, time: 1000}, function() {
764
+                        _parent.window.location.reload();
765
+                    });
766
+                } else {
767
+                    showErrorMsg(res.msg);
768
+                }
769
+            },
770
+            error: function(e) {
771
+                layer.closeAll();
772
+                showErrorAlert(e.responseText);
773
+            }
774
+        });
775
+    }
776
+
777
+    // 显示信息输入框
778
+    function ShowInput(id) {
779
+        var obj = $("#"+id+"_ShowInput");
780
+        var showOrHide = obj.attr('data-showOrHide');
781
+        if ('hide' == showOrHide) {
782
+            obj.show().attr('data-showOrHide', 'show');
783
+        } else {
784
+            obj.hide().attr('data-showOrHide', 'hide');
785
+        }
786
+    }
787
+
788
+    // 隐藏信息输入
789
+    function HideInput(id) {
790
+        $("#"+id+"_ShowInput").hide().attr('data-showOrHide', 'hide');
791
+    }
792
+
793
+    // 上传图集相册回调函数
794
+    function imgupload_call_back(paths){
795
+        var last_div = $(".images_upload_tpl").html();
796
+        var inputs   = $('.span_input input');
797
+        var timestamp = 0;
798
+
799
+        for (var i=0; i<paths.length; i++){
800
+            // 生成新的时间戳
801
+            timestamp = (new Date()).getTime();
802
+            // 插入一个 新图片
803
+            $(".images_upload:eq(0)").before(last_div);
804
+            // 处理他的链接地址
805
+            $(".images_upload:eq(0)").find('span:eq(0)').attr('onclick',"Images('"+paths[i]+"', 900, 600);");
806
+            // 处理信息显示隐藏按钮
807
+            $(".images_upload:eq(0)").find('span:eq(1)').attr('onclick', "ShowInput('"+timestamp+"');");
808
+            // 处理他的图片路径
809
+            $(".images_upload:eq(0)").find('img').attr('src',paths[i]);
810
+            // 处理删除按钮
811
+            $(".images_upload:eq(0)").find('a:eq(1)').attr('onclick', "ClearPicArr(this, '"+paths[i]+"', 0);");
812
+            // 处理图片信息框ID
813
+            $(".images_upload:eq(0)").find('.load_input:eq(0)').attr('id', timestamp+'_ShowInput');
814
+
815
+            // 处理图片路径及隐藏域
816
+            if (inputs.length > '0') {
817
+                // 修改隐藏域,提交ID隐藏域
818
+                $(".images_upload:eq(0)").find('input:eq(0)').attr('name','img_id[]').attr('value',''); 
819
+                // 修改隐藏域,提交图片隐藏域
820
+                $(".span_input:eq(0)").find('input:eq(0)').attr('name','img_litpic[]').attr('value',paths[i]);
821
+                // 提交标题
822
+                $(".images_upload:eq(0)").find('textarea:eq(0)').attr('name','img_title[]');
823
+                // 提交跳转链接
824
+                $(".images_upload:eq(0)").find('textarea:eq(1)').attr('name','img_links[]');
825
+                // 处理内容描述
826
+                $(".images_upload:eq(0)").find('textarea:eq(2)').attr('name','img_intro[]');
827
+                // 提交新窗口选项
828
+                $(".images_upload:eq(0)").find('div.operation a:eq(0)').html("<label><input type='checkbox' title='在新窗口打开' onclick='CheckedTarget(this)'/>新窗口<input type='hidden' name='img_target[]' value='0'></label>");
829
+                // 处理收回按钮
830
+                $(".images_upload:eq(0)").find('div.operation a:eq(2)').attr('onclick', "HideInput('"+timestamp+"');").attr('title', "收回").html('<i style="font-size:16px;" class="fa fa-angle-double-up"></i>');
831
+            }
832
+        }
833
+    }
834
+
835
+    // 上传之后删除组图input
836
+    function ClearPicArr(obj,path)
837
+    {
838
+        $(obj).parent().parent().parent().remove(); // 删除完服务器的, 再删除 html上的图片
839
+        $.ajax({
840
+            type:'POST',
841
+            url:"{:url('Uploadimgnew/delupload')}",
842
+            data:{action:"del", filename:path, _ajax:1},
843
+            success:function(){}
844
+        }); 
845
+    }
846
+
847
+    // 代码调用js
848
+    function copyToClipBoard(id) {
849
+        var adstr = "{eyou:ad aid='" + id + "'}\r\n   <a href='{$"+"field.links}' {$"+"field.target}><img src='{$"+"field.litpic}' alt='{$"+"field.title}' /></a>\r\n{/eyou:ad";
850
+        var contentdiv = '<div class="dialog_content" style="margin: 0px; padding: 0px;"><dl style="padding:10px 30px;line-height:30px"><dd>标签 ad 调用:</dd>'
851
+        contentdiv += '<textarea rows="4" cols="60" style="width:400px;height:80px;">' + adstr + '}</textarea>'
852
+        contentdiv += '<dd style="border-top: dotted 1px #E7E7E7; color: #F60;">请将对应标签代码复制并粘贴到对应模板文件中!</dd></dl></div>'
853
+        layer.open({
854
+            title: '代码调用',
855
+            type: 1,
856
+            shade: layer_shade,
857
+            skin: 'layui-layer-demo',
858
+            area: ['480px', '240px'], //宽高
859
+            content: contentdiv
860
+        });
861
+    }
862
+
863
+    // 图集相册的拖动排序相关 js
864
+    $( ".sort-list" ).sortable({
865
+        start: function( event, ui) {
866
+        
867
+        }
868
+        ,stop: function( event, ui ) {
869
+
870
+        }
871
+    });
872
+    //因为他们要拖动,所以尽量设置他们的文字不能选择。  
873
+    // $( ".sort-list" ).disableSelection();
874
+</script>
875
+
876
+{include file="public/footer" /}

+ 914
- 0
application/admin/template/zcwe_position/edit.htm View File

@@ -0,0 +1,914 @@
1
+{include file="public/layout" /}
2
+
3
+<body class="ad_postion bodystyle" style="overflow-y: scroll;">
4
+<div id="toolTipLayer" style="position: absolute; z-index: 9999; display: none; visibility: visible; left: 95px; top: 573px;"></div>
5
+<div id="append_parent"></div>
6
+<div id="ajaxwaitid"></div>
7
+<div class="page min-hg-c-10">
8
+    <form class="form-horizontal" id="post_form" action="{:url('ZcwdPosition/edit')}" method="post">
9
+        <div class="ncap-form-default">
10
+
11
+
12
+            <dl class="row">
13
+                <dt class="tit">
14
+                    <label for="type">规则详情</label>
15
+                </dt>
16
+                <dd class="opt">
17
+                    <input type="hidden" name="type" value="{$rule_id}" />
18
+                    规则编号: {$detail.orderno} &nbsp;&nbsp;&nbsp;&nbsp; 规则名称: {$detail.title}
19
+                </dd>
20
+            </dl>
21
+
22
+
23
+            <dl class="row">
24
+                <dt class="tit"> <label for="title"><em>*</em>学历要求</label> </dt>
25
+                <dd class="opt">
26
+                    <select name="xlyq" class="select" id="selectTest333" style="margin:0px 5px;height:30px;width:130px;">
27
+                        <option value="0"  {eq name="$field.xlyq" value="0"}selected{/eq}>不限制</option>
28
+                        <option value="1"  {eq name="$field.xlyq" value="1"}selected{/eq}>中专</option>
29
+                        <option value="2"  {eq name="$field.xlyq" value="2"}selected{/eq}>高技</option>
30
+                        <option value="3"  {eq name="$field.xlyq" value="3"}selected{/eq}>大专</option>
31
+                        <option value="4"  {eq name="$field.xlyq" value="4"}selected{/eq}>本科</option>
32
+                        <option value="5"  {eq name="$field.xlyq" value="5"}selected{/eq}>硕士</option>
33
+                        <option value="6"  {eq name="$field.xlyq" value="6"}selected{/eq}>博士</option>
34
+                    </select>
35
+                </dd>
36
+            </dl>
37
+
38
+
39
+            <?php
40
+
41
+            /*
42
+             * 字段模板
43
+             * <dl class="row">
44
+                <dt class="tit"> <label for="title"><em>*</em>年龄区间:</label> </dt>
45
+                <dd class="opt">
46
+                    <input type="text" name="title" id="title" onkeyup="DetectionTitleRepeat(this);" class="input-txt" autocomplete="off" value="">
47
+                    <span style="">助理工程师,技术员</span>
48
+                    <span class="err"></span>
49
+                    <p class="notic2 red" id="title_tips">
50
+                    </p>
51
+                </dd>
52
+            </dl>
53
+             */
54
+
55
+            ?>
56
+
57
+            <hr/>
58
+            <b>基本要求设置:</b>
59
+
60
+            <dl class="row">
61
+                <dt class="tit"> <label for="title"><em>*</em>年龄区间:</label> </dt>
62
+                <dd class="opt">
63
+
64
+                    <span style="" id="ega-b">
65
+                        <label class="curpoin">
66
+                            <input type="radio"  name="is_ega" {eq name="$field.is_ega" value="0"}checked{/eq} value="0">年龄不限制</label>
67
+                        &nbsp;&nbsp;
68
+                        <label class="curpoin">
69
+                            <input type="radio"  name="is_ega" {eq name="$field.is_ega" value="1"}checked{/eq} value="1">年龄限制</label>
70
+                    </span>
71
+
72
+
73
+                    <span id="ega_input" style="{eyou:if condition='($field.is_ega > 0)'}{eyou:else /}display: none;{/eyou:if} margin-left: 15px !important;text-align: center;">
74
+                        <input style="width:50px !important;" type="number" name="ega[]" id="ega333" class="input-txt" autocomplete="off" value="{$field.ega_0}">
75
+                        &nbsp;&nbsp;-&nbsp;&nbsp;
76
+                        <input style="width:50px !important;" type="number" name="ega[]" id="ega333" class="input-txt" autocomplete="off" value="{$field.ega_1}">&nbsp;
77
+                        岁
78
+                    </span>
79
+
80
+                    <script>
81
+                        $(function(){
82
+                            $('#ega-b input[name="is_ega"]').change(function (){
83
+                                console.log("fdfd");
84
+
85
+                                if($(this).val() == 1){
86
+                                    $('#ega_input').show();
87
+                                }else{
88
+                                    $('#ega_input').hide();
89
+                                }
90
+                            });
91
+                        });
92
+
93
+                    </script>
94
+
95
+                    <span class="err"></span>
96
+                    <p class="notic2 red" id="title_tips">
97
+                    </p>
98
+                </dd>
99
+            </dl>
100
+
101
+            <dl class="row">
102
+                <dt class="tit">
103
+                    <label for="type">毕业专业</label>
104
+                </dt>
105
+                <dd class="opt">
106
+
107
+
108
+                    <!--<label class="curpoin"><input type="radio" id="type{$field1.id}" name="type" value="{$field1.id}" onclick="TypeSwitch({$field1.id});">{$field1.name}</label>
109
+                    -->
110
+
111
+                    <?php
112
+                    /*
113
+                     * {eyou:foreach name='$pro_list' item='field1'}
114
+                <option value="{$field1.id}" {eq name="$Request.param.type" value="$field1.id"}selected{/eq}>{$field1.name}</option>
115
+                {/eyou:foreach}
116
+                     */
117
+                    ?>
118
+                    <select name="byzy" class="select" id="selectTest777" style="margin:0px 5px;height:30px;width:130px;">
119
+                        <option value="0" {eq name="$field.byzy" value="0"}selected{/eq}>不要求</option>
120
+                        <option value="1" {eq name="$field.byzy" value="1"}selected{/eq}>指定相关要求</option>
121
+                    </select>
122
+
123
+                    <script>
124
+                        $(function(){
125
+                            $("#selectTest777").change(function(e){
126
+
127
+
128
+                               /* var item = $("#selectTest").val();
129
+                                if(item == '' || item == 0){
130
+                                    layer.msg('请先选择申报专业!', {icon: 2,time: 1000});
131
+                                    $("#selectTest777").val('0');
132
+                                    return false;
133
+                                }
134
+                                console.log(item);
135
+
136
+                                //发送ajax 请求地区数据
137
+                                $.ajax({
138
+                                    type:'POST',
139
+                                    url:"{:url('ZcwdPosition/getZs2', ['_ajax'=>1])}",
140
+                                    data:{
141
+                                        id: item  //获取当前专业
142
+                                        ,_ajax:1
143
+                                    },
144
+                                    success:function(res){
145
+                                        $('#zhengshu2').html(res.data);
146
+                                    }
147
+                                });*/
148
+
149
+                                console.log($(this).val());
150
+                                var v = $(this).val();
151
+                                if(v == 1){
152
+                                    $('#citychoose2').show();
153
+                                }else{
154
+                                    $('#citychoose2').hide();
155
+                                }
156
+                            });
157
+                        });
158
+                    </script>
159
+
160
+                    <span class="err"></span>
161
+                    <p class="notic"></p>
162
+                </dd>
163
+            </dl>
164
+
165
+            <dl class="row" id="citychoose2" style="{eyou:if condition='($field.byzy > 0)'}{eyou:else /}display: none;{/eyou:if}">
166
+                <dt class="tit"> <label for="title"><em>*</em>专业选择</label> </dt>
167
+                <dd class="opt">
168
+
169
+                    <!---checked-->
170
+                    <div id="zhengshu2">
171
+            {$byzy_html}
172
+                    </div>
173
+
174
+                    <span class="err"></span>
175
+                    <p class="notic2 red" id="title_tips"></p>
176
+                </dd>
177
+            </dl>
178
+
179
+
180
+            <dl class="row">
181
+                <dt class="tit"> <label for="title"><em>*</em>学校类型</label> </dt>
182
+                <dd class="opt">
183
+                    <label class="curpoin">
184
+                        <input type="radio"  name="xxlx" value="0" {eq name="$field.xxlx" value="0"}checked{/eq}>不限制</label>
185
+                    &nbsp;&nbsp;
186
+                    <label class="curpoin">
187
+                        <input type="radio"  name="xxlx" value="1" {eq name="$field.xxlx" value="1"}checked{/eq}>全日制</label>
188
+                    &nbsp;&nbsp;
189
+                    <label class="curpoin">
190
+                        <input type="radio"  name="xxlx" value="2" {eq name="$field.xxlx" value="2"}checked{/eq}>非全日制</label>
191
+                </dd>
192
+            </dl>
193
+
194
+
195
+            <dl class="row">
196
+                <dt class="tit"> <label for="title"><em>*</em>毕业时间:</label> </dt>
197
+                <dd class="opt">
198
+
199
+                    <span style="" id="bysj-b">
200
+                        <label class="curpoin">
201
+                            <input type="radio"  name="bysj" value="0" {eq name="$field.bysj" value="0"}checked{/eq}>不限制</label>
202
+                        &nbsp;&nbsp;
203
+                        <label class="curpoin">
204
+                            <input type="radio"  name="bysj" value="1" {eq name="$field.bysj" value="1"}checked{/eq}>限制</label>
205
+                    </span>
206
+
207
+
208
+
209
+                    <span id="bysj_input" style="{eyou:if condition='($field.bysj > 0)'}{eyou:else /}display: none;{/eyou:if} margin-left: 15px !important;text-align: center;">
210
+                         >=
211
+                        <input style="width:50px !important;" type="number" name="bysj_time" id="bysj333" class="input-txt" autocomplete="off" value="{$field.bysj_time}">
212
+                        &nbsp;年
213
+                    </span>
214
+
215
+                    <script>
216
+                        $(function(){
217
+                            $('#bysj-b input[name="bysj"]').change(function (){
218
+                                console.log("fdfd");
219
+
220
+                                if($(this).val() == 1){
221
+                                    $('#bysj_input').show();
222
+                                }else{
223
+                                    $('#bysj_input').hide();
224
+                                }
225
+                            });
226
+                        });
227
+
228
+                    </script>
229
+
230
+                    <span class="err"></span>
231
+                    <p class="notic2 red" id="title_tips">
232
+                    </p>
233
+                </dd>
234
+            </dl>
235
+
236
+
237
+            <div class="bot">
238
+                <input type="hidden" name="id" id="1615775137_id" value="{$field.id}">
239
+                <a href="JavaScript:void(0);" onclick="checkForm();" class="ncap-btn-big ncap-btn-green" id="submitBtn">确认提交</a>
240
+            </div>
241
+        </div>
242
+    </form>
243
+</div>
244
+
245
+<script type="text/javascript">
246
+    var SelectedType = '{$field.type}';
247
+    $(function() {
248
+        // 新增时,广告类型默认选中图片类型
249
+        // $('#type'+SelectedType).prop('checked', 'checked');
250
+        // 新增时,默认显示图片上传
251
+        $('#1615775137_'+SelectedType).show();
252
+        // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
253
+        VideoLitpicValue('#video_litpic');
254
+    });
255
+
256
+    // 切换广告类型
257
+    function TypeSwitch(typeValue) {
258
+        // 隐藏全部类型内容
259
+        $('.1615775137_dl').hide();
260
+        // 显示指定类型内容
261
+        $('#1615775137_'+typeValue).show();
262
+        // 切换类型后设置为当前切换的类型
263
+        SelectedType = typeValue;
264
+        
265
+        // var ad_type = '{$field.type}';
266
+        // if (typeValue != ad_type) {
267
+        //     // 切换至不同类型则显示
268
+        //     $('.notic2').show();
269
+        // } else {
270
+        //     // 切换至相同类型则隐藏
271
+        //     $('.notic2').hide();
272
+        // }
273
+    }
274
+
275
+    // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
276
+    function VideoLitpicValue(obj) {
277
+        // 获取广告内容(多媒体为播放链接)
278
+        // var video_litpic = $(obj).val();
279
+        // 判断隐藏显示预览按钮if (2 == SelectedType && video_litpic)
280
+        if (2 == SelectedType) {
281
+            $('#PreviewVideo').show();
282
+        } else {
283
+            $('#PreviewVideo').hide();
284
+        }
285
+    }
286
+
287
+    // 打开预览视频
288
+    function OpenPreviewVideo() {
289
+        // 获取视频链接
290
+        var video_litpic = $('#video_litpic').val();
291
+        if (video_litpic == '') {
292
+            $('#video_litpic').focus();
293
+            showErrorMsg('请先上传视频');
294
+            return false;
295
+        }
296
+
297
+        /* 视频链接后缀验证处理 */
298
+        var fileExt = video_litpic.substr(video_litpic.lastIndexOf('.')).toLowerCase();
299
+        var fileExt = judgeExt(fileExt);
300
+        if (fileExt == -1) {
301
+            $('#video_litpic').focus();
302
+            showErrorMsg('不支持的视频格式,可在附件设置中修改');
303
+            return false;
304
+        }
305
+        /* END */
306
+
307
+        /* 视频链接是否存在斜杠处理 */
308
+        var fileInfo = video_litpic.lastIndexOf('/');
309
+        if (fileInfo == -1) {
310
+            $('#video_litpic').focus();
311
+            showErrorMsg('视频链接不完整,无法正常预览');
312
+            return false;
313
+        }
314
+        /* END */
315
+
316
+        // 打开视频播放
317
+        $.ajax({
318
+            type : 'post',
319
+            url  : $('#OpenPreviewVideoUrl').val(),
320
+            data : {video_litpic: video_litpic},
321
+            dataType : 'json',
322
+            success : function(res) {
323
+                if (1 == res.code) {
324
+                    var PreviewVideo = "<video style='width:100%; height:100%;' src='"+res.url+"' controls preload='auto' oncontextmenu='return fase' autoplay></video>";
325
+                    layer.open({
326
+                        type: 1,
327
+                        title: false,
328
+                        fixed: true, //不固定
329
+                        shadeClose: false,
330
+                        shade: layer_shade,
331
+                        area: ['80%', '80%'],
332
+                        content: PreviewVideo
333
+                    });
334
+                } else {
335
+                    showErrorMsg(res.msg);
336
+                }
337
+            },
338
+            error: function(e) {
339
+                showErrorAlert(e.responseText);
340
+            }
341
+        });
342
+    }
343
+
344
+    // 上传媒体文件
345
+    function upload_video_litpic_1615775137(e) {
346
+        var data_type = $(e).attr('data-type');
347
+        if ('qiniu' == data_type) {
348
+            // 七牛云上传
349
+            upload_video_litpic_qiniu(e);
350
+        } else if ('oss' == data_type) {
351
+             // OSS上传
352
+            upload_video_litpic_oss(e);
353
+        } else if ('cos' == data_type) {
354
+             // COS上传
355
+            upload_video_litpic_cos(e);
356
+        } else {
357
+            // 本地上传
358
+            upload_video_litpic_local(e);
359
+        }
360
+    }
361
+
362
+    // 七牛云上传
363
+    function upload_video_litpic_qiniu(e) {
364
+        // 获取文件路径名
365
+        var file = $(e)[0].files[0];
366
+
367
+        // 验证上传格式
368
+        var fileName = file.name;
369
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
370
+        var ext = judgeExt(fileExt);
371
+        if (ext == -1) {
372
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
373
+            return false;
374
+        }
375
+
376
+        // 验证上传大小
377
+        var size = "{$upload_max_filesize}";
378
+        if (file.size > size) {
379
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
380
+            return false;
381
+        }
382
+
383
+        // 执行上传
384
+        layer_loading('上传七牛云');
385
+        $.ajax({
386
+            type: 'POST',
387
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Qiniuyun&a=qiniu_upload',
388
+            data: {_ajax: 1},
389
+            dataType: "JSON",
390
+            success: function(res1) {
391
+                if (1 == res1.code) {
392
+                    var token  = res1.data.token;
393
+                    var formData = new FormData();
394
+                    formData.append('file', file);
395
+                    formData.append('token', token);
396
+
397
+                    fileName = res1.data.filePath + fileExt;
398
+                    formData.append('key', fileName);
399
+                    $.ajax({
400
+                        url: res1.data.uphost,
401
+                        type: 'POST',
402
+                        dataType: 'JSON',
403
+                        data: formData,
404
+                        timeout: 1200000,
405
+                        cache: false,
406
+                        processData: false,
407
+                        contentType: false,
408
+                        xhr: function () {
409
+                            myXhr = $.ajaxSettings.xhr();
410
+                            if (myXhr.upload) {
411
+                                myXhr.upload.addEventListener('progress', function(e){
412
+                                    var curr = e.loaded;
413
+                                    var total = e.total;
414
+                                    process = parseInt(curr / total * 100);
415
+                                    $("#upload_video_litpic_qiniu").text('上传中...'+process+"%");
416
+                                });
417
+                            }
418
+                            return myXhr;
419
+                        },
420
+                        success: function(res2) {
421
+                            layer.closeAll();
422
+                            $("#upload_video_litpic_qiniu").text('上传成功');
423
+                            setTimeout(function() {
424
+                                $('#upload_video_litpic_qiniu').text('七牛云上传');
425
+                            }, 2000);
426
+                            var video_url = res1.data.domain + "/" + res2.key;
427
+                            $("#video_litpic").empty().val(video_url);
428
+                        },
429
+                        error: function(e) {
430
+                            layer.closeAll();
431
+                            showErrorMsg(e.responseText);
432
+                            return false;
433
+                        }
434
+                    });
435
+                } else {
436
+                    layer.closeAll();
437
+                    showErrorMsg(res1.msg);
438
+                }
439
+            },
440
+            error: function(e) {
441
+                layer.closeAll();
442
+                showErrorMsg(e.responseText);
443
+            }
444
+        });
445
+    }
446
+
447
+    // 阿里云OSS上传
448
+    function upload_video_litpic_oss(e) {
449
+        // 获取文件路径名
450
+        var file = $(e)[0].files[0];
451
+        
452
+        // 验证上传格式
453
+        var fileName = file.name;
454
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
455
+        var ext = judgeExt(fileExt);
456
+        if (ext == -1) {
457
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
458
+            return false;
459
+        }
460
+
461
+        // 验证上传大小
462
+        var size = "{$upload_max_filesize}";
463
+        if (file.size > size) {
464
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
465
+            return false;
466
+        }
467
+
468
+        // 执行上传
469
+        layer_loading('上传阿里云OSS');
470
+        $.ajax({
471
+            type: 'POST',
472
+            url: '__ROOT_DIR__/index.php?m=plugins&c=AliyunOss&a=oss_upload',
473
+            data: {_ajax: 1},
474
+            dataType: "JSON",
475
+            success: function(res1){
476
+                if (1 == res1.code){
477
+                    fileName = res1.data.filePath + fileExt;
478
+                    //组装发送数据
479
+                    var request = new FormData();
480
+                    request.append("OSSAccessKeyId",res1.data.accessid);
481
+                    request.append("policy",res1.data.policy);
482
+                    request.append("Signature",res1.data.signature);
483
+                    request.append("key",fileName);
484
+                    request.append("success_action_status",201);
485
+                    request.append('file', file);
486
+
487
+                    $.ajax({
488
+                        url : res1.data.host,
489
+                        data : request,
490
+                        processData: false,
491
+                        cache: false,
492
+                        contentType: false,
493
+                        dataType: 'xml',
494
+                        type : 'post',
495
+                        xhr: function () {
496
+                            myXhr = $.ajaxSettings.xhr();
497
+                            if (myXhr.upload) {
498
+                                myXhr.upload.addEventListener('progress', function(e){
499
+                                    var curr = e.loaded;
500
+                                    var total = e.total;
501
+                                    var process = parseInt(curr / total * 100);
502
+                                    $("#upload_video_litpic_oss").text('上传中...'+process+"%");
503
+                                });
504
+                            }
505
+                            return myXhr;
506
+                        },
507
+                        success : function(data) {
508
+                            layer.closeAll();
509
+                            var res = $(data).find('PostResponse');
510
+                            if (res) {
511
+                                var key = res.find('Key').text();
512
+                                $("#upload_video_litpic_oss").text('上传成功');
513
+                                setTimeout(function() {
514
+                                    $('#upload_video_litpic_oss').text('oss上传');
515
+                                }, 2000);
516
+                                var video_url = res1.data.domain + "/" + key;
517
+                                $("#video_litpic").val(video_url);
518
+                            } else {
519
+                                $("#upload_video_litpic_oss").text('上传失败');
520
+                                setTimeout(function() {
521
+                                    $('#upload_video_litpic_oss').text('oss上传');
522
+                                }, 2000);
523
+                            }
524
+                        },
525
+                        error : function(e) {
526
+                            layer.closeAll();
527
+                            console.log(e.responseText);
528
+                        }
529
+                    });
530
+                } else {
531
+                    layer.closeAll();
532
+                    showErrorMsg(res1.msg);
533
+                }
534
+            },
535
+            error: function(e) {
536
+                layer.closeAll();
537
+                showErrorMsg(e.responseText);
538
+            }
539
+        });
540
+    }
541
+
542
+    // 腾讯云COS上传
543
+    function upload_video_litpic_cos(e) {
544
+        // 获取文件路径名
545
+        var file = $(e)[0].files[0];
546
+        
547
+        // 验证上传格式
548
+        var fileName = file.name;
549
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
550
+        var ext = judgeExt(fileExt);
551
+        if (ext == -1) {
552
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
553
+            return false;
554
+        }
555
+
556
+        // 验证上传大小
557
+        var size = "{$upload_max_filesize}";
558
+        if (file.size > size) {
559
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
560
+            return false;
561
+        }
562
+
563
+        // 上传参数
564
+        var formData = new FormData();
565
+            formData.append('file', file);
566
+            formData.append('file_ext', fileExt);
567
+
568
+        // 执行上传
569
+        $.ajax({
570
+            type: 'post',
571
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Cos&a=cos_upload&_ajax=1',
572
+            data: formData,
573
+            contentType: false,
574
+            processData: false,
575
+            dataType: 'json',
576
+            xhr: function () {
577
+                myXhr = $.ajaxSettings.xhr();
578
+                if (myXhr.upload) {
579
+                    myXhr.upload.addEventListener('progress', function(e){
580
+                        var curr = e.loaded;
581
+                        var total = e.total;
582
+                        process = parseInt(curr / total * 100);
583
+                        if (100 == process) {
584
+                            process = 99;
585
+                            layer_loading('上传腾讯云COS');
586
+                        }
587
+                        $("#upload_video_litpic_cos").text('上传中...'+process+"%");
588
+                        
589
+                    });
590
+                }
591
+                return myXhr;
592
+            },
593
+            success: function(res) {
594
+                layer.closeAll();
595
+                if (1 == res.code) {
596
+                    $("#video_litpic").val(res.data.url);
597
+                    $("#upload_video_litpic_cos").text('上传成功');
598
+                } else {
599
+                    $("#upload_video_litpic_cos").text('上传失败');
600
+                }
601
+                setTimeout(function() {
602
+                    $('#upload_video_litpic_cos').text('cos上传');
603
+                }, 2000);
604
+            },
605
+            error: function(e) {
606
+                layer.closeAll();
607
+                showErrorMsg(e.responseText);
608
+            }
609
+        });
610
+    }
611
+
612
+    // 本地上传
613
+    function upload_video_litpic_local(e) {
614
+        // 获取文件路径名
615
+        var file = $(e)[0].files[0];
616
+
617
+        // 验证上传格式
618
+        var fileName = file.name;
619
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
620
+        var ext = judgeExt(fileExt);
621
+        if (ext == -1) {
622
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
623
+            return false;
624
+        }
625
+
626
+        // 验证上传大小
627
+        var size = "{$upload_max_filesize}";
628
+        if (file.size > size) {
629
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
630
+            return false;
631
+        }
632
+
633
+        // 定义上传数据
634
+        var formData = new FormData();
635
+        formData.append('file', file);
636
+
637
+        // 执行上传
638
+        layer_loading('上传本地');
639
+        $.ajax({
640
+            type: 'post',
641
+            url : "{:url('Ueditor/upVideo', ['savepath'=>'media'])}",
642
+            data: formData,
643
+            contentType: false,
644
+            processData: false,
645
+            dataType: 'json',
646
+            xhr: function () {
647
+                myXhr = $.ajaxSettings.xhr();
648
+                if (myXhr.upload) {
649
+                    myXhr.upload.addEventListener('progress', function(e){
650
+                        var curr = e.loaded;
651
+                        var total = e.total;
652
+                        process = parseInt(curr / total * 100);
653
+                        $("#upload_video_litpic_local").html('上传中...'+process+"%");
654
+                    });
655
+                }
656
+                return myXhr;
657
+            },
658
+            success: function (res) {
659
+                layer.closeAll();
660
+                $("#upload_video_litpic_local").html('上传成功');
661
+                setTimeout(function() {
662
+                    $('#upload_video_litpic_local').html('本地上传');
663
+                }, 2000);
664
+                if ("SUCCESS" == res.state) {
665
+                    $("#video_litpic").val(res.url);
666
+                } else {
667
+                    showErrorMsg(res.msg);
668
+                }
669
+            }
670
+        });
671
+    }
672
+
673
+    // 验证格式
674
+    function judgeExt(ext) {
675
+        var type = "{$media_type}";
676
+        var extArr = [];
677
+        extArr = type.split("|");
678
+        var ext = ext.replace(".","");
679
+        return extArr.indexOf(ext);
680
+    }
681
+</script>
682
+
683
+<script type="text/javascript">
684
+    // 勾选新窗口打开链接
685
+    function CheckedTarget(t){
686
+        if ($(t).is(':checked')) {
687
+            $(t).parent().find('input[name="img_target[]"]').val(1);
688
+        }else{
689
+            $(t).parent().find('input[name="img_target[]"]').val(0);
690
+        }
691
+    }
692
+    // 鼠标事件,加载查看大图和更新图片
693
+    function upimgMouseover(obj)
694
+    {
695
+        $(obj).find('div.icaction').show();
696
+        $(obj).find('div.cover-bg').show();
697
+    }
698
+    function upimgMouseout(obj)
699
+    {
700
+        $(obj).find('div.icaction').hide();
701
+        $(obj).find('div.cover-bg').hide();
702
+    }
703
+
704
+    // 检测广告名称是否存在重复
705
+    function DetectionTitleRepeat(obj) {
706
+        // 当前广告ID
707
+        var id = $('#1615775137_id').val();
708
+        // 传入的广告名称
709
+        var title = $(obj).val();
710
+        // 执行检测
711
+        $.ajax({
712
+            type: 'post',
713
+            url : "{:url('ZcwdPosition/detection_title_repeat', ['_ajax'=>1])}",
714
+            data: {id: id, title: title},
715
+            dataType: 'json',
716
+            success: function(res) {
717
+                if (0 == res.code) {
718
+                    $('#title_tips').show().html(res.msg);
719
+                } else {
720
+                    $('#title_tips').hide().html('');
721
+                }
722
+            },
723
+            error: function(e){
724
+                layer.closeAll();
725
+                showErrorAlert(e.responseText);
726
+            }
727
+        });
728
+    }
729
+
730
+    // 判断输入框是否为空
731
+    function checkForm(){
732
+       /* if($('input[name=title]').val() == ''){
733
+            layer.msg('广告位名称不能为空!', {icon: 2,time: 1000});
734
+            return false;
735
+        }*/
736
+
737
+        /*if($("#selectTest").val() == ''){
738
+            layer.msg('请选择申报专业!', {icon: 2,time: 1000});
739
+            return false;
740
+        }*/
741
+
742
+        if($("#selectTest333").val() == '' || $("#selectTest333").val() == 0){
743
+            layer.msg('请选择学历要求!', {icon: 2,time: 1000});
744
+            return false;
745
+        }
746
+
747
+        if($('#selectTest777').val() == '1'){
748
+            var checkedValues = [];
749
+            $('#zhengshu2 input[type=checkbox]:checked').each(function() {
750
+                checkedValues.push($(this).val());
751
+            });
752
+            console.log(checkedValues); // 打印选中的checkbox值
753
+            if(checkedValues.length > 0){
754
+
755
+            }else{
756
+                layer.msg('请选择专业!', {icon: 2,time: 1000});
757
+                return false;
758
+            }
759
+        }
760
+
761
+        //'zyid': $("#selectTest").val(),
762
+        //'sf': $('#selectTest000_1').val(),
763
+        //'cs': $('#selectTest000_2').val(),
764
+        //'sbdj': $('#selectTest000_2').val(),
765
+
766
+
767
+        layer_loading('正在处理');
768
+        $.ajax({
769
+            type : 'post',
770
+            url : "{:url('ZcwePosition/edit', ['_ajax'=>1])}",
771
+            data : $('#post_form').serialize(),
772
+            dataType : 'json',
773
+            success : function(res){
774
+                layer.closeAll();
775
+                if (res.code == 1) {
776
+                    layer.msg(res.msg, {icon: 1, shade: layer_shade, time: 1000}, function(){
777
+                        window.location.reload();
778
+                    });
779
+                } else {
780
+                    showErrorMsg(res.msg);
781
+                }
782
+            },
783
+            error: function(e){
784
+                layer.closeAll();
785
+                showErrorAlert(e.responseText);
786
+            }
787
+        });
788
+    }
789
+
790
+    // 获取点击更新图片的ID并加载隐藏域
791
+    function LoadImagesId(id){
792
+        // 加载ID到隐藏域
793
+        $('#ImagesId').val(id);
794
+        // 调用图片上传JS
795
+        GetUploadify(1,'','allimg','UpdataImages');
796
+    }
797
+
798
+    // 更新图片
799
+    function UpdataImages(path){
800
+        // 获取点击的ID
801
+        var id = $('#ImagesId').val();
802
+        // 加载图片到显示层
803
+        $("#"+id+"_Id").attr('src', path);
804
+        // 加载图片到提交的隐藏域
805
+        $("#"+id+"_Litpic").val(path);
806
+    }
807
+
808
+    // 显示信息输入框
809
+    function ShowInput(id) {
810
+        var obj = $("#"+id+"_ShowInput");
811
+        var showOrHide = obj.attr('data-showOrHide');
812
+        if ('hide' == showOrHide) {
813
+            obj.show().attr('data-showOrHide', 'show');
814
+        } else {
815
+            obj.hide().attr('data-showOrHide', 'hide');
816
+        }
817
+    }
818
+
819
+    // 隐藏信息输入
820
+    function HideInput(id) {
821
+        $("#"+id+"_ShowInput").hide().attr('data-showOrHide', 'hide');
822
+    }
823
+
824
+    // 上传图集相册回调函数
825
+    function imgupload_call_back(paths){
826
+        var last_div = $(".images_upload_tpl").html();
827
+        var inputs   = $('.span_input input');
828
+        var timestamp = 0;
829
+
830
+        // 图片数据处理
831
+        for (var i=0; i<paths.length; i++) {
832
+            // 生成新的时间戳
833
+            timestamp = (new Date()).getTime();
834
+            // 插入一个 新图片
835
+            $(".images_upload:eq(0)").before(last_div);
836
+            // 处理他的链接地址
837
+            $(".images_upload:eq(0)").find('span:eq(0)').attr('onclick', "Images('"+paths[i]+"', 900, 600);");
838
+            // 处理信息显示隐藏按钮
839
+            $(".images_upload:eq(0)").find('span:eq(1)').attr('onclick', "ShowInput('"+timestamp+"');");
840
+            // 处理他的图片路径
841
+            $(".images_upload:eq(0)").find('img').attr('src', paths[i]);
842
+            // 处理删除按钮
843
+            $(".images_upload:eq(0)").find('a:eq(1)').attr('onclick', "ClearPicArr(this, '"+paths[i]+"', 0);");
844
+            // 处理图片信息框ID
845
+            $(".images_upload:eq(0)").find('.load_input:eq(0)').attr('id', timestamp+'_ShowInput');
846
+            
847
+            // 处理图片路径及隐藏域
848
+            if (inputs.length > 0) {
849
+                // 修改隐藏域
850
+                $(".images_upload:eq(0)").find('input:eq(0)').attr('name', 'img_id[]').attr('value', '');
851
+                $(".span_input:eq(0)").find('input:eq(0)').attr('name', 'img_litpic[]').attr('value', paths[i]);
852
+                // 处理标题
853
+                $(".images_upload:eq(0)").find('textarea:eq(0)').attr('name', 'img_title[]');
854
+                // 处理跳转链接
855
+                $(".images_upload:eq(0)").find('textarea:eq(1)').attr('name', 'img_links[]');
856
+                // 处理内容描述
857
+                $(".images_upload:eq(0)").find('textarea:eq(2)').attr('name', 'img_intro[]');
858
+                // 处理新窗口选项
859
+                $(".images_upload:eq(0)").find('div.operation a:eq(0)').html("<label><input type='checkbox' title='在新窗口打开' onclick='CheckedTarget(this);'/>新窗口<input type='hidden' name='img_target[]' value='0'></label>");
860
+                // 处理收回按钮
861
+                $(".images_upload:eq(0)").find('div.operation a:eq(2)').attr('onclick', "HideInput('"+timestamp+"');").attr('title', "收回").html('<i style="font-size:16px;" class="fa fa-angle-double-up"></i>');
862
+            }
863
+        }
864
+    }
865
+
866
+    // 上传之后删除组图input
867
+    function ClearPicArr(obj, path, id) {
868
+        // 删除数据库记录
869
+        $.ajax({
870
+            type:'POST',
871
+            url:"{:url('ZcwdPosition/del_imgupload')}",
872
+            data:{del_id:id,_ajax:1},
873
+            success:function(){
874
+                $(obj).parent().parent().parent().remove(); // 删除完服务器的, 再删除 html上的图片
875
+                $.ajax({
876
+                    type:'POST',
877
+                    url:"{:url('Uploadimgnew/delupload')}",
878
+                    data:{action:"del", filename:path,_ajax:1},
879
+                    success:function(){}
880
+                }); 
881
+            }
882
+        });
883
+    }
884
+
885
+    // 代码调用js
886
+    function copyToClipBoard(id) {
887
+        var adstr = "{eyou:ad aid='" + id + "'}\r\n   <a href='{$"+"field.links}' {$"+"field.target}><img src='{$"+"field.litpic}' alt='{$"+"field.title}' /></a>\r\n   广告注释:{$"+"field.intro}\r\n{/eyou:ad";
888
+        var contentdiv = '<div class="dialog_content" style="margin: 0px; padding: 0px;"><dl style="padding:10px 30px;line-height:30px"><dd>标签 ad 调用:</dd>';
889
+        contentdiv += '<textarea rows="4" cols="60" style="width:400px;height:100px;">' + adstr + '}</textarea>';
890
+        contentdiv += '<dd style="border-top: dotted 1px #E7E7E7; color: #F60;">请将对应标签代码复制并粘贴到对应模板文件中!</dd></dl></div>';
891
+        layer.open({
892
+            title: '代码调用',
893
+            type: 1,
894
+            shade: layer_shade,
895
+            skin: 'layui-layer-demo',
896
+            area: ['480px', '260px'], //宽高
897
+            content: contentdiv
898
+        });
899
+    }
900
+
901
+    // 图集相册的拖动排序相关 js
902
+    $( ".sort-list" ).sortable({
903
+        start: function( event, ui) {
904
+        
905
+        }
906
+        ,stop: function( event, ui ) {
907
+
908
+        }
909
+    });
910
+    //因为他们要拖动,所以尽量设置他们的文字不能选择。  
911
+    // $( ".sort-list" ).disableSelection();
912
+</script>
913
+
914
+{include file="public/footer" /}

+ 270
- 0
application/admin/template/zcwe_position/index.htm View File

@@ -0,0 +1,270 @@
1
+{include file="public/layout" /}
2
+
3
+<body class="bodystyle" style="cursor: default; -moz-user-select: inherit;">
4
+<div id="append_parent"></div>
5
+<div id="ajaxwaitid"></div>
6
+<div class="page min-hg-c-10">
7
+
8
+
9
+    {include file="zc_position/admin_bar" /}
10
+
11
+
12
+    <div class="flexigrid">
13
+        <div class="mDiv">
14
+            <div class="ftitle">
15
+				{if condition="$main_lang == $admin_lang || !empty($global['language_split'])"}
16
+				    {eq name="$Think.const.CONTROLLER_NAME.'@add'|is_check_access" value="1"}
17
+        				 <div class="fbutton" style="display:none;">
18
+        				     <a href="javascript:void(0);" data-href="{:url('ZcwdPosition/add')}" onclick="openFullframe(this, '新增职称', '80%', '70%');">
19
+        				         <div class="add">
20
+        				             <span><i class="layui-icon layui-icon-addition"></i>新增职称</span>
21
+        				         </div>
22
+        				     </a>
23
+        				 </div>
24
+				    {/eq}
25
+				 {/if}
26
+            </div>
27
+            <form id="searchForm" class="navbar-form form-inline" action="{:url('ZcwdPosition/index')}" method="get" onsubmit="layer_loading('正在处理');">
28
+                {$searchform.hidden|default=''}
29
+                <div class="sDiv">
30
+                    <div class="sDiv2" style="display: none;">
31
+                        <select name="type" class="select" style="margin:0px 5px;">
32
+                            <option value="">--选择地区--</option>
33
+
34
+                            {eyou:foreach name='$pro_list' item='field1'}
35
+                            <option value="{$field1.id}" {eq name="$Request.param.type" value="$field1.id"}selected{/eq}>{$field1.name}</option>
36
+                            {/eyou:foreach}
37
+
38
+                        </select>
39
+                    </div>
40
+                    <div class="sDiv2">
41
+                        <input type="text" size="30" name="keywords" value="{$Request.param.keywords}" class="qsbox" placeholder="名称搜索...">
42
+                        <input type="submit" class="btn" value="搜索">
43
+						<i class="iconfont e-sousuo"></i>
44
+                    </div>
45
+                </div>
46
+            </form>
47
+        </div>
48
+
49
+        <div class="hDiv">
50
+            <div class="hDivBox">
51
+                <table cellspacing="0" cellpadding="0" style="width: 100%">
52
+                    <thead>
53
+                        <tr>
54
+                            {if condition="$main_lang == $admin_lang || !empty($global['language_split'])"}
55
+                                <th class="sign w40" axis="col0">
56
+                                    <div class="tc"><input type="checkbox" class="checkAll"></div>
57
+                                </th>
58
+                            {/if}
59
+
60
+                            <th abbr="article_title" axis="col3" class="w60">
61
+                                <div class="tc">ID</div>
62
+                            </th>
63
+
64
+                            <th abbr="article_title" axis="col3">
65
+                                <div class="tl text-l10" style="width: 100%">职称名称</div>
66
+                            </th>
67
+
68
+                            <th abbr="article_title" axis="col3" class="w100">
69
+                                <div class="tc">触发规则</div>
70
+                            </th>
71
+                         <!--   <th abbr="article_title" axis="col3" class="w100">
72
+                                <div class="tc">职称地区</div>
73
+                            </th>-->
74
+
75
+                            <th abbr="article_title" axis="col3" class="w120">
76
+                                <div class="tc">主题图片</div>
77
+                            </th>
78
+
79
+                            <th abbr="article_time" axis="col6" class="w60">
80
+                                <div class="tc">启用</div>
81
+                            </th>
82
+
83
+                            <th axis="col1" class="w280">
84
+                                <div class="tc">操作</div>
85
+                            </th>
86
+                        </tr>
87
+                    </thead>
88
+                </table>
89
+            </div>
90
+        </div>
91
+
92
+        <div class="bDiv" style="height: auto;">
93
+            <div id="flexigrid" cellpadding="0" cellspacing="0" border="0">
94
+                <table style="width: 100%">
95
+                    <tbody>
96
+                    {empty name="list"}
97
+                        <tr>
98
+                            <td class="no-data" align="center" axis="col0" colspan="50">
99
+                                <div class="no_row">
100
+                                    <div class="no_pic"><img src="__SKIN__/images/null-data.png"></div>
101
+                                </div>
102
+                            </td>
103
+                        </tr>
104
+                    {else/}
105
+                        {foreach name="list" item="vo" key="k" }
106
+                            <tr>
107
+                                {if condition="$main_lang == $admin_lang || !empty($global['language_split'])"}
108
+                                <td class="sign">
109
+                                    <div class="w40 tc"> <input type="checkbox" name="ids[]" value="{$vo.id}"> </div>
110
+                                </td>
111
+                                {/if}
112
+                                <td>
113
+                                    <div class="tc w60">
114
+                                    {eq name='$main_lang' value='$admin_lang'}
115
+                                        {$vo.id}
116
+                                    {else /}
117
+                                        {$main_adv_list[$vo['id']]['id']|default=$vo['id']}
118
+                                    {/eq}
119
+                                    </div>
120
+                                </td>
121
+
122
+                                <td align="left" style="width:100%;">
123
+                                    <div class="tl text-l10">
124
+                                        {eq name="$Think.const.CONTROLLER_NAME.'@edit'|is_check_access" value="1"}
125
+                                            <a href="javascript:void(0);" data-href="{:url('ZcwdPosition/edit',array('id'=>$vo['id']))}" data-closereload="1" onclick="openFullframe(this, '编辑广告', '100%', '100%');">{$vo.title}</a>
126
+                                        {else /}
127
+                                            {$vo.title}
128
+                                        {/eq}
129
+                                    </div>
130
+                                </td>
131
+                                <td>
132
+                                    <div class="tc w100">
133
+
134
+                                        或
135
+
136
+                                    </div>
137
+                                </td>
138
+                                <!--<td>
139
+                                    <div class="tc w100"> {$vo.type_name} </div>
140
+                                </td>-->
141
+                                <td>
142
+                                    <div class="tc w120">
143
+                                        <ul class="adpic">
144
+                                            {volist name="$vo.ad" id="vs" length="1" }
145
+                                                <li>
146
+                                                    <img src="{$vs.litpic}"> {eq name="$vo.type" value="1"}<span>{$vo.ad_count}</span>{/eq}
147
+                                                </li>
148
+                                            {/volist}
149
+                                        </ul>
150
+                                    </div>
151
+                                </td>
152
+                                <td>
153
+                                    <div class="tc w60">
154
+                                        {if condition="$vo['status'] eq 1"}
155
+                                            <span class="yes" {eq name="$Think.const.CONTROLLER_NAME.'@edit'|is_check_access" value="1"}onClick="changeTableVal('zcwd_position','id','{$vo.id}','status',this);"{/eq} ><i class="fa fa-check-circle"></i>是</span>
156
+                                        {else /}
157
+                                            <span class="no" {eq name="$Think.const.CONTROLLER_NAME.'@edit'|is_check_access" value="1"}onClick="changeTableVal('zcwd_position','id','{$vo.id}','status',this);"{/eq} ><i class="fa fa-ban"></i>否</span>
158
+                                        {/if}
159
+                                    </div>
160
+                                </td>
161
+                                <td class="operation">
162
+                                    <div class="w280 tc">
163
+
164
+
165
+                                        <a href="javascript:void(0);" data-href="{:url('ZcwfPosition/add',array('id'=>$vo['id'],'type'=>$vo['type']))}" data-closereload="1" class="btn blue" onclick="openFullframe(this, '新增前置条件规则', '80%', '70%');">新增前置条件规则</a> <i></i>
166
+
167
+
168
+                                        {eq name="$Think.const.CONTROLLER_NAME.'@edit'|is_check_access" value="1"}
169
+                                            <a href="javascript:void(0);" data-href="{:url('ZcwePosition/edit',array('id'=>$vo['id']))}" data-closereload="1" class="btn blue" onclick="openFullframe(this, '编辑学历要求规则', '80%', '70%');">编辑</a> <i></i>
170
+                                        {/eq}
171
+
172
+                                        {if condition="$main_lang == $admin_lang || !empty($global['language_split'])"}
173
+                                            {eq name="$Think.const.CONTROLLER_NAME.'@del'|is_check_access" value="1"}
174
+                                                <a class="btn red"  href="javascript:void(0);" data-url="{:url('ZcwePosition/del')}" data-id="{$vo.id}" onClick="delfun(this);">删除</a>
175
+                                            {/eq} <!--<i></i>-->
176
+                                        {/if}
177
+    									
178
+                                       <!-- <a class="btn blue" href="javascript:void(0);" onclick="copyToClipBoard({$main_adv_list[$vo['id']]['id']|default=$vo['id']}, 1, {$vo['type']})">标签调用</a>-->
179
+                                    </div>
180
+                                </td>
181
+                            </tr>
182
+                        {/foreach}
183
+                    {/empty}
184
+                    </tbody>
185
+                </table>
186
+            </div>
187
+            <div class="iDiv" style="display: none;"></div>
188
+        </div>
189
+        {notempty name="list"}
190
+        <div class="tDiv">
191
+            <div class="tDiv2">
192
+                {if condition="$main_lang == $admin_lang || !empty($global['language_split'])"}
193
+                    <div class="fbutton checkboxall"> <input type="checkbox" class="checkAll"> </div>
194
+                    {eq name="$Think.const.CONTROLLER_NAME.'@del'|is_check_access" value="1"}
195
+                        <div class="fbutton">
196
+                            <a onclick="batch_del(this, 'ids');" data-url="{:url('ZcwdPosition/del')}" class="layui-btn layui-btn-primary">批量删除</a>
197
+                        </div>
198
+                    {/eq}
199
+                {/if}
200
+                <!-- 分页 -->
201
+                {include file="public/page" /}
202
+            </div>
203
+            <div style="clear:both"></div>
204
+        </div>
205
+        {/notempty}
206
+    </div>
207
+</div>
208
+
209
+<script type="text/javascript">
210
+    $(function() {
211
+        $('input[name*=ids]').click(function() {
212
+            if ($('input[name*=ids]').length == $('input[name*=ids]:checked').length) {
213
+                $('.checkAll').prop('checked', 'checked');
214
+            } else {
215
+                $('.checkAll').prop('checked', false);
216
+            }
217
+        });
218
+        $('input[type=checkbox].checkAll').click(function() {
219
+            $('input[type=checkbox]').prop('checked', this.checked);
220
+        });
221
+    });
222
+    
223
+    $(document).ready(function() {
224
+        // 表格行点击选中切换
225
+        $('#flexigrid > table>tbody >tr').click(function() {
226
+            $(this).toggleClass('trSelected');
227
+        });
228
+
229
+        // 点击刷新数据
230
+        $('.fa-refresh').click(function() {
231
+            location.href = location.href;
232
+        });
233
+
234
+        $('#searchForm select[name=type]').change(function(){
235
+            $('#searchForm').submit();
236
+        });
237
+    });
238
+
239
+    /**
240
+     * 代码调用js
241
+     * @param id  id
242
+     * @param limit 条数
243
+     */
244
+    function copyToClipBoard(id, limit, type) {
245
+        var advstr = '';
246
+        if (1 == type) {
247
+            advstr = "{eyou:adv pid='" + id + "'}\r\n   <img src='{$"+"field.litpic}' alt='{$"+"field.title}' />\r\n{/eyou:adv";
248
+        } else if (2 == type) {
249
+            advstr = "{eyou:adv pid='" + id + "'}\r\n   <video src='{$"+"field.litpic}' controls preload='auto' oncontextmenu='return fase'></video>\r\n{/eyou:adv";
250
+        } else if (3 == type) {
251
+            advstr = "{eyou:adv pid='" + id + "'}\r\n   {$"+"field.intro}\r\n{/eyou:adv";
252
+        }
253
+        var contentdiv = '<div class="dialog_content" style="margin: 0px; padding: 0px;"><dl style="padding:10px 30px;line-height:30px"><dd>标签 adv 调用:</dd>';
254
+        contentdiv += '<textarea rows="4" cols="60" style="width:400px;height:60px;">' + advstr + '}</textarea>';
255
+        contentdiv += '<dd>JavaScript:</dd>';
256
+        contentdiv += '<dd><input type="text" style=" width:400px;" value="<script type=&quot;text/javascript&quot; src=&quot;http://' + '{$Think.server.http_host}' + '__ROOT_DIR__/index.php?m=api&amp;c=Other&amp;a=other_show&amp;pid=' + id + '&amp;row='+limit+'&quot;><\/script>"></dd>';
257
+        contentdiv += '<dd style="border-top: dotted 1px #E7E7E7; color: #F60;">请将标签adv或JavaScript代码复制并粘贴到对应模板文件中!</dd></dl></div>';
258
+        layer.open({
259
+            title: '代码调用',
260
+            type: 1,
261
+            shade: layer_shade,
262
+            skin: 'layui-layer-demo',
263
+            area: ['480px', '280px'], //宽高
264
+            content: contentdiv
265
+        });
266
+    }
267
+
268
+</script>
269
+
270
+{include file="public/footer" /}

+ 901
- 0
application/admin/template/zcwf_position/add.htm View File

@@ -0,0 +1,901 @@
1
+{include file="public/layout" /}
2
+
3
+<body class="bodystyle" style="overflow-y: scroll;">
4
+<div id="toolTipLayer" style="position: absolute; z-index: 9999; display: none; visibility: visible; left: 95px; top: 573px;"></div>
5
+<div id="append_parent"></div>
6
+<div id="ajaxwaitid"></div>
7
+<div class="page min-hg-c-10">
8
+    <form class="form-horizontal" id="post_form" action="{:url('ZcwdPosition/add')}" method="post">
9
+        <div class="ncap-form-default">
10
+
11
+
12
+            <dl class="row">
13
+                <dt class="tit">
14
+                    <label for="type">规则详情</label>
15
+                </dt>
16
+                <dd class="opt">
17
+                    <input type="hidden" name="type" value="{$rule_id}" />
18
+                    <input type="hidden" name="type_son" value="{$rule_id_son}" />
19
+                    规则编号: {$detail.orderno} &nbsp;&nbsp;&nbsp;&nbsp; 规则名称: {$detail_son.title} <br/>
20
+                </dd>
21
+            </dl>
22
+
23
+
24
+
25
+            <hr/>
26
+            <b>设置前置条件:</b>
27
+
28
+
29
+            <dl class="row">
30
+                <dt class="tit">
31
+                    <label for="type">是否需要证书</label>
32
+                </dt>
33
+                <dd class="opt">
34
+
35
+
36
+                    <!--<label class="curpoin"><input type="radio" id="type{$field1.id}" name="type" value="{$field1.id}" onclick="TypeSwitch({$field1.id});">{$field1.name}</label>
37
+                    -->
38
+
39
+                    <?php
40
+                    /*
41
+                     * {eyou:foreach name='$pro_list' item='field1'}
42
+                <option value="{$field1.id}" {eq name="$Request.param.type" value="$field1.id"}selected{/eq}>{$field1.name}</option>
43
+                {/eyou:foreach}
44
+                     */
45
+                    ?>
46
+                    <select name="is_zs" class="select" id="selectTest666" style="margin:0px 5px;height:30px;width:130px;">
47
+                        <option value="0">不需要</option>
48
+                        <option value="1">需要</option>
49
+                    </select>
50
+
51
+                    <script>
52
+                        $(function(){
53
+                            $("#selectTest666").change(function(e){
54
+
55
+
56
+                                /*var item = $("#selectTest").val();
57
+                                if(item == '' || item == 0){
58
+                                    layer.msg('请先选择申报专业!', {icon: 2,time: 1000});
59
+                                    $("#selectTest666").val('0');
60
+                                    return false;
61
+                                }
62
+                                console.log(item);
63
+
64
+                                //发送ajax 请求地区数据
65
+                                $.ajax({
66
+                                    type:'POST',
67
+                                    url:"{:url('ZcwdPosition/getZs', ['_ajax'=>1])}",
68
+                                    data:{
69
+                                        id: item  //获取当前专业
70
+                                        ,_ajax:1
71
+                                    },
72
+                                    success:function(res){
73
+                                        $('#zhengshu').html(res.data);
74
+                                    }
75
+                                });*/
76
+
77
+                                console.log($(this).val());
78
+                                var v = $(this).val();
79
+                                if(v == 1){
80
+                                    $('#citychoose').show();
81
+                                }else{
82
+                                    $('#citychoose').hide();
83
+                                }
84
+                            });
85
+                        });
86
+                    </script>
87
+
88
+                    <span class="err"></span>
89
+                    <p class="notic"></p>
90
+                </dd>
91
+            </dl>
92
+
93
+            <dl class="row" id="citychoose" style="display: none;">
94
+                <dt class="tit"> <label for="title"><em>*</em>证书选择</label> </dt>
95
+                <dd class="opt">
96
+
97
+                    <!---checked-->
98
+                    <div id="zhengshu">
99
+                        {$zs_html}
100
+                    </div>
101
+
102
+                    <span class="err"></span>
103
+                    <p class="notic2 red" id="title_tips"></p>
104
+                </dd>
105
+            </dl>
106
+
107
+
108
+            <!--<dl class="row">
109
+                <dt class="tit"> <label for="title"><em>*</em>工作时间年限</label> </dt>
110
+                <dd class="opt">
111
+                    <select name="sjnx[]" class="select" id="selectTest888" style="margin:0px 5px;height:30px;width:130px;">
112
+                        <option value="0" selected>不限制</option>
113
+                        <option value="1">1年</option>
114
+                        <option value="2">2年</option>
115
+                        <option value="3">3年</option>
116
+                        <option value="4">4年</option>
117
+                        <option value="5">5年</option>
118
+                        <option value="6">6年</option>
119
+                        <option value="7">7年</option>
120
+                        <option value="8">8年</option>
121
+                    </select>
122
+                    以上(包括)
123
+                </dd>
124
+            </dl>-->
125
+
126
+            <dl class="row">
127
+                <dt class="tit"> <label for="title"><em>*</em>工作要求:</label> </dt>
128
+                <dd class="opt">
129
+                    {eyou:for start='1' end='10'}
130
+                    {$i}.&nbsp;<input type="text" name="gzyq[]" value="" id="title" class="input-txt" autocomplete="off" style="margin-top: 5px;width: 800px !important;"><br/>
131
+                    {/eyou:for}
132
+                </dd>
133
+            </dl>
134
+
135
+
136
+            <hr/>
137
+            <b>其他:</b>
138
+
139
+            <?php
140
+
141
+            /*
142
+             * <dl class="row 1615775137_dl" style="display: none;" id="1615775137_1">
143
+                <dt class="tit"> <label>主题背景</label> </dt>
144
+                <dd class="opt">
145
+                    <div class="tab-pane" id="tab_imgupload">
146
+                        <table class="table table-bordered">
147
+                            <tbody>
148
+                            <tr>
149
+                                <td >
150
+                                    <div class="sort-list">
151
+                                        <div class="images_upload">
152
+                                        </div>
153
+                                    </div>
154
+                                    <a href="javascript:void(0);" onClick="GetUploadify(30,'','allimg','imgupload_call_back');" class="img-upload b-img-upload mb15" title="点击上传">
155
+                                        <div class="y-line"></div>
156
+                                        <div class="x-line"></div>
157
+                                    </a>
158
+                                </td>
159
+                            </tr>
160
+                            </tbody>
161
+                        </table>
162
+                    </div>
163
+                    <!-- 上传图片显示的样板 start -->
164
+                    <div class="images_upload_tpl none">
165
+                        <div class="images_upload ic">
166
+                            <div class="ic">
167
+                                <div class='upimg' title="拖动修改排序" onmouseover="upimgMouseover(this);" onmouseout="upimgMouseout(this);">
168
+                                    <div class='icaction' style="display: none">
169
+                                        <span class="load_images" onclick="">
170
+                                            <a href="javascript:void(0);" style="color: white">
171
+                                                <i class='fa fa-search-plus'></i>大图
172
+                                            </a>
173
+                                        </span>
174
+                                        <span class="load_images" onclick="">
175
+                                            <i class='fa fa-file-text-o'></i>信息
176
+                                        </span>
177
+                                    </div>
178
+                                    <div class='cover-bg' style="display: none"></div>
179
+                                    <img src="__STATIC__/admin/images/add-button.jpg"/>
180
+                                     <a class="delect" href="javascript:void(0);" title="删除"></a>
181
+                                </div>
182
+
183
+                                <div class="load_input" data-showOrHide="hide">
184
+                                    <input type="hidden"/>
185
+                                    <span class="span_input"> <input type="hidden"/> </span>
186
+                                    <textarea placeholder="请输入标题..." style="height: 28px;"></textarea>
187
+                                    <textarea placeholder="请输入链接网址..." style="height: 28px;"></textarea>
188
+                                    <textarea placeholder="广告注释:支持HTML代码" style="height: 64px;"></textarea>
189
+                                    <div class="operation">
190
+                                        <a href="javascript:void(0)">&nbsp;&nbsp;</a>
191
+                                        <a href="javascript:void(0)">&nbsp;&nbsp;</a>
192
+                                        <a style="width: 32%;" href="javascript:void(0);">&nbsp;&nbsp;</a>
193
+                                    </div>
194
+                                 </div>
195
+                            </div>
196
+                        </div>
197
+                    </div>
198
+                    <!-- 上传图片显示的样板 end -->
199
+                </dd>
200
+            </dl>
201
+             */
202
+
203
+            ?>
204
+
205
+            <dl class="row 1615775137_dl" style="display: none;" id="1615775137_2">
206
+                <dt class="tit"> <label for="type">广告内容</label> </dt>
207
+                <dd class="opt">
208
+                    <input type="text" name="video_litpic" id="video_litpic" class="input-txt">
209
+                    <input type="file" id="courseware_file" data-type='local' onchange="upload_video_litpic_1615775137(this)" style="display: none;">
210
+                    {eq name="$WeappOpen.qny_open" value="1"}
211
+                    &nbsp;<a href="javascript:void(0);" class="ncap-btn ncap-btn-green" id="upload_video_litpic_qiniu" onclick="$('#courseware_file').attr('data-type', 'qiniu').trigger('click');">七牛云上传</a>
212
+                    {/eq}
213
+                    {eq name="$WeappOpen.oss_open" value="1"}
214
+                    &nbsp;<a href="javascript:void(0);" class="ncap-btn ncap-btn-green" id="upload_video_litpic_oss" onclick="$('#courseware_file').attr('data-type', 'oss').trigger('click');">oss上传</a>
215
+                    {/eq}
216
+                    {eq name="$WeappOpen.cos_open" value="1"}
217
+                    &nbsp;<a href="javascript:void(0);" class="ncap-btn ncap-btn-green" id="upload_video_litpic_cos" onclick="$('#courseware_file').attr('data-type', 'cos').trigger('click');">cos上传</a>
218
+                    {/eq}
219
+                    &nbsp;<a href="javascript:void(0);" class="ncap-btn ncap-btn-green " id="upload_video_litpic_local" onclick="$('#courseware_file').attr('data-type', 'local').trigger('click');">本地上传</a>
220
+                    <input type="hidden" id="OpenPreviewVideoUrl" value="{:url('ZcwdPosition/open_preview_video')}">
221
+                    &nbsp;<a href="javascript:void(0);" class="ncap-btn ncap-btn-green" id="PreviewVideo" onclick="OpenPreviewVideo();">预览</a>
222
+                </dd>
223
+            </dl>
224
+
225
+            <dl class="row 1615775137_dl" style="display: none;" id="1615775137_3">
226
+                <dt class="tit"> <label for="type">广告内容</label> </dt>
227
+                <dd class="opt">
228
+                    <textarea rows="5" cols="60" id="html_intro" name="html_intro" style="height: 200px;"></textarea>
229
+                    <span class="err"></span>
230
+                    <p class="notic"></p>
231
+                </dd>
232
+            </dl>
233
+
234
+            <dl class="row">
235
+                <dt class="tit">
236
+                    <label>其他条件</label>
237
+                </dt>
238
+                <dd class="opt">          
239
+                    <textarea rows="5" cols="60" id="intro" name="qttj" style="height:60px;"></textarea>
240
+                    <span class="err"></span>
241
+                    <p class="notic"></p>
242
+                </dd>
243
+            </dl>
244
+
245
+            <dl class="row">
246
+                <dt class="tit">
247
+                    <label>输出结果</label>
248
+                </dt>
249
+                <dd class="opt">
250
+
251
+                    匹配算法: 前端根据选择的申报专业和所选资料,按所设定的规则(多条)进行对比,结果可能符合多个区域(符合省市),生成多个报告;
252
+
253
+
254
+                    <span class="err"></span>
255
+                    <p class="notic"></p>
256
+                </dd>
257
+            </dl>
258
+
259
+
260
+            <div class="bot"><a href="JavaScript:void(0);" onclick="checkForm();" class="ncap-btn-big ncap-btn-green" id="submitBtn">确认提交</a></div>
261
+        </div>
262
+    </form>
263
+</div>
264
+
265
+<script type="text/javascript">
266
+    var SelectedType = 1;
267
+    $(function() {
268
+        // 新增时,广告类型默认选中图片类型
269
+        $('#type1').prop('checked', 'checked');
270
+        // 新增时,默认显示图片上传
271
+        $('#1615775137_1').show();
272
+        // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
273
+        VideoLitpicValue('#video_litpic');
274
+    });
275
+
276
+    // 切换广告类型
277
+    function TypeSwitch(typeValue) {
278
+        // 隐藏全部类型内容
279
+        $('.1615775137_dl').hide();
280
+        // 显示指定类型内容
281
+        $('#1615775137_'+typeValue).show();
282
+        // 切换类型后设置为当前切换的类型
283
+        SelectedType = typeValue;
284
+        // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
285
+        VideoLitpicValue('#video_litpic');
286
+    }
287
+
288
+    // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
289
+    function VideoLitpicValue(obj) {
290
+        // 获取广告内容(多媒体为播放链接)
291
+        // var video_litpic = $(obj).val();
292
+        // 判断隐藏/显示预览按钮if (2 == SelectedType && video_litpic)
293
+        if (2 == SelectedType) {
294
+            $('#PreviewVideo').show();
295
+        } else {
296
+            $('#PreviewVideo').hide();
297
+        }
298
+    }
299
+
300
+    // 打开预览视频
301
+    function OpenPreviewVideo() {
302
+        // 获取视频链接
303
+        var video_litpic = $('#video_litpic').val();
304
+        if (video_litpic == '') {
305
+            $('#video_litpic').focus();
306
+            showErrorMsg('请先上传视频');
307
+            return false;
308
+        }
309
+
310
+        /* 视频链接后缀验证处理 */
311
+        var fileExt = video_litpic.substr(video_litpic.lastIndexOf('.')).toLowerCase();
312
+        var fileExt = judgeExt(fileExt);
313
+        if (fileExt == -1) {
314
+            $('#video_litpic').focus();
315
+            showErrorMsg('不支持的视频格式,可在附件设置中修改');
316
+            return false;
317
+        }
318
+        /* END */
319
+
320
+        /* 视频链接是否存在斜杠处理 */
321
+        var fileInfo = video_litpic.lastIndexOf('/');
322
+        if (fileInfo == -1) {
323
+            $('#video_litpic').focus();
324
+            showErrorMsg('视频链接不完整,无法正常预览');
325
+            return false;
326
+        }
327
+        /* END */
328
+
329
+        // 打开视频播放
330
+        $.ajax({
331
+            type : 'post',
332
+            url  : $('#OpenPreviewVideoUrl').val(),
333
+            data : {video_litpic: video_litpic},
334
+            dataType : 'json',
335
+            success : function(res) {
336
+                if (1 == res.code) {
337
+                    var PreviewVideo = "<video style='width:100%; height:100%;' src='"+res.url+"' controls preload='auto' oncontextmenu='return fase' autoplay></video>";
338
+                    layer.open({
339
+                        type: 1,
340
+                        title: false,
341
+                        fixed: true, //不固定
342
+                        shadeClose: false,
343
+                        shade: layer_shade,
344
+                        area: ['80%', '80%'],
345
+                        content: PreviewVideo
346
+                    });
347
+                } else {
348
+                    showErrorMsg(res.msg);
349
+                }
350
+            },
351
+            error: function(e) {
352
+                showErrorAlert(e.responseText);
353
+            }
354
+        });
355
+    }
356
+
357
+    // 上传媒体文件
358
+    function upload_video_litpic_1615775137(e) {
359
+        var data_type = $(e).attr('data-type');
360
+        if ('qiniu' == data_type) {
361
+            // 七牛云上传
362
+            upload_video_litpic_qiniu(e);
363
+        } else if ('oss' == data_type) {
364
+             // OSS上传
365
+            upload_video_litpic_oss(e);
366
+        } else if ('cos' == data_type) {
367
+             // COS上传
368
+            upload_video_litpic_cos(e);
369
+        } else {
370
+            // 本地上传
371
+            upload_video_litpic_local(e);
372
+        }
373
+    }
374
+
375
+    // 七牛云上传
376
+    function upload_video_litpic_qiniu(e) {
377
+        // 获取文件路径名
378
+        var file = $(e)[0].files[0];
379
+
380
+        // 验证上传格式
381
+        var fileName = file.name;
382
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
383
+        var ext = judgeExt(fileExt);
384
+        if (ext == -1) {
385
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
386
+            return false;
387
+        }
388
+
389
+        // 验证上传大小
390
+        var size = "{$upload_max_filesize}";
391
+        if (file.size > size) {
392
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
393
+            return false;
394
+        }
395
+
396
+        // 执行上传
397
+        layer_loading('上传本地');
398
+        $.ajax({
399
+            type: 'POST',
400
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Qiniuyun&a=qiniu_upload',
401
+            data: {_ajax: 1},
402
+            dataType: "JSON",
403
+            success: function(res1) {
404
+                if (1 == res1.code) {
405
+                    var token  = res1.data.token;
406
+                    var formData = new FormData();
407
+                    formData.append('file', file);
408
+                    formData.append('token', token);
409
+
410
+                    fileName = res1.data.filePath + fileExt;
411
+                    formData.append('key', fileName);
412
+                    $.ajax({
413
+                        url: res1.data.uphost,
414
+                        type: 'POST',
415
+                        dataType: 'JSON',
416
+                        data: formData,
417
+                        timeout: 1200000,
418
+                        cache: false,
419
+                        processData: false,
420
+                        contentType: false,
421
+                        xhr: function () {
422
+                            myXhr = $.ajaxSettings.xhr();
423
+                            if (myXhr.upload) {
424
+                                myXhr.upload.addEventListener('progress', function(e){
425
+                                    var curr = e.loaded;
426
+                                    var total = e.total;
427
+                                    process = parseInt(curr / total * 100);
428
+                                    $("#upload_video_litpic_qiniu").text('上传中...'+process+"%");
429
+                                });
430
+                            }
431
+                            return myXhr;
432
+                        },
433
+                        success: function(res2) {
434
+                            layer.closeAll();
435
+                            $("#upload_video_litpic_qiniu").text('上传成功');
436
+                            setTimeout(function() {
437
+                                $('#upload_video_litpic_qiniu').text('七牛云上传');
438
+                            }, 2000);
439
+                            var video_url = res1.data.domain + "/" + res2.key;
440
+                            $("#video_litpic").val(video_url);
441
+                        },
442
+                        error: function(e) {
443
+                            layer.closeAll();
444
+                            showErrorMsg(e.responseText);
445
+                            return false;
446
+                        }
447
+                    });
448
+                } else {
449
+                    layer.closeAll();
450
+                    showErrorMsg(res1.msg);
451
+                }
452
+            },
453
+            error: function(e) {
454
+                layer.closeAll();
455
+                showErrorMsg(e.responseText);
456
+            }
457
+        });
458
+    }
459
+
460
+    // 阿里云OSS上传
461
+    function upload_video_litpic_oss(e) {
462
+        // 获取文件路径名
463
+        var file = $(e)[0].files[0];
464
+
465
+        // 验证上传格式
466
+        var fileName = file.name;
467
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
468
+        var ext = judgeExt(fileExt);
469
+        if (ext == -1) {
470
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
471
+            return false;
472
+        }
473
+
474
+        // 验证上传大小
475
+        var size = "{$upload_max_filesize}";
476
+        if (file.size > size) {
477
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
478
+            return false;
479
+        }
480
+
481
+        // 执行上传
482
+        layer_loading('上传阿里云OSS');
483
+        $.ajax({
484
+            type: 'POST',
485
+            url: '__ROOT_DIR__/index.php?m=plugins&c=AliyunOss&a=oss_upload',
486
+            data: {_ajax: 1},
487
+            dataType: "JSON",
488
+            success: function(res1){
489
+                if (1 == res1.code){
490
+                    fileName = res1.data.filePath + fileExt;
491
+                    //组装发送数据
492
+                    var request = new FormData();
493
+                    request.append("OSSAccessKeyId",res1.data.accessid);
494
+                    request.append("policy",res1.data.policy);
495
+                    request.append("Signature",res1.data.signature);
496
+                    request.append("key",fileName);
497
+                    request.append("success_action_status",201);
498
+                    request.append('file', file);
499
+
500
+                    $.ajax({
501
+                        url : res1.data.host,
502
+                        data : request,
503
+                        processData: false,
504
+                        cache: false,
505
+                        contentType: false,
506
+                        dataType: 'xml',
507
+                        type : 'post',
508
+                        xhr: function () {
509
+                            myXhr = $.ajaxSettings.xhr();
510
+                            if (myXhr.upload) {
511
+                                myXhr.upload.addEventListener('progress', function(e){
512
+                                    var curr = e.loaded;
513
+                                    var total = e.total;
514
+                                    var process = parseInt(curr / total * 100);
515
+                                    $("#upload_video_litpic_oss").text('上传中...'+process+"%");
516
+                                });
517
+                            }
518
+                            return myXhr;
519
+                        },
520
+                        success : function(data) {
521
+                            layer.closeAll();
522
+                            var res = $(data).find('PostResponse');
523
+                            if (res) {
524
+                                var key = res.find('Key').text();
525
+                                $("#upload_video_litpic_oss").text('上传成功');
526
+                                setTimeout(function() {
527
+                                    $('#upload_video_litpic_oss').text('oss上传');
528
+                                }, 2000);
529
+                                var video_url = res1.data.domain + "/" + key;
530
+                                $("#video_litpic").val(video_url);
531
+                            } else {
532
+                                $("#upload_video_litpic_oss").text('上传失败');
533
+                                setTimeout(function() {
534
+                                    $('#upload_video_litpic_oss').text('oss上传');
535
+                                }, 2000);
536
+                            }
537
+                        },
538
+                        error : function(e) {
539
+                            layer.closeAll();
540
+                            console.log(e.responseText);
541
+                        }
542
+                    });
543
+                } else {
544
+                    layer.closeAll();
545
+                    showErrorMsg(res1.msg);
546
+                }
547
+            },
548
+            error: function(e) {
549
+                layer.closeAll();
550
+                showErrorMsg(e.responseText);
551
+            }
552
+        });
553
+    }
554
+
555
+    // 腾讯云COS上传
556
+    function upload_video_litpic_cos(e) {
557
+        // 获取文件路径名
558
+        var file = $(e)[0].files[0];
559
+
560
+        // 验证上传格式
561
+        var fileName = file.name;
562
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
563
+        var ext = judgeExt(fileExt);
564
+        if (ext == -1) {
565
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
566
+            return false;
567
+        }
568
+
569
+        // 验证上传大小
570
+        var size = "{$upload_max_filesize}";
571
+        if (file.size > size) {
572
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
573
+            return false;
574
+        }
575
+
576
+        // 上传参数
577
+        var formData = new FormData();
578
+            formData.append('file', file);
579
+            formData.append('file_ext', fileExt);
580
+
581
+        // 执行上传
582
+        $.ajax({
583
+            type: 'post',
584
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Cos&a=cos_upload&_ajax=1',
585
+            data: formData,
586
+            contentType: false,
587
+            processData: false,
588
+            dataType: 'json',
589
+            xhr: function () {
590
+                myXhr = $.ajaxSettings.xhr();
591
+                if (myXhr.upload) {
592
+                    myXhr.upload.addEventListener('progress', function(e){
593
+                        var curr = e.loaded;
594
+                        var total = e.total;
595
+                        process = parseInt(curr / total * 100);
596
+                        if (100 == process) {
597
+                            process = 99;
598
+                            layer_loading('上传腾讯云');
599
+                        }
600
+                        $("#upload_video_litpic_cos").text('上传中...'+process+"%");
601
+                        
602
+                    });
603
+                }
604
+                return myXhr;
605
+            },
606
+            success: function(res) {
607
+                layer.closeAll();
608
+                if (1 == res.code) {
609
+                    $("#video_litpic").val(res.data.url);
610
+                    $("#upload_video_litpic_cos").text('上传成功');
611
+                } else {
612
+                    $("#upload_video_litpic_cos").text('上传失败');
613
+                }
614
+                setTimeout(function() {
615
+                    $('#upload_video_litpic_cos').text('cos上传');
616
+                }, 2000);
617
+            },
618
+            error: function(e) {
619
+                layer.closeAll();
620
+                showErrorMsg(e.responseText);
621
+            }
622
+        });
623
+    }
624
+
625
+    // 本地上传
626
+    function upload_video_litpic_local(e) {
627
+        // 获取文件路径名
628
+        var file = $(e)[0].files[0];
629
+
630
+        // 验证上传格式
631
+        var fileName = file.name;
632
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
633
+        var ext = judgeExt(fileExt);
634
+        if (ext == -1) {
635
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
636
+            return false;
637
+        }
638
+
639
+        // 验证上传大小
640
+        var size = "{$upload_max_filesize}";
641
+        if (file.size > size) {
642
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
643
+            return false;
644
+        }
645
+
646
+        // 定义上传数据
647
+        var formData = new FormData();
648
+        formData.append('file', file);
649
+
650
+        // 执行上传
651
+        layer_loading('上传本地');
652
+        $.ajax({
653
+            type: 'post',
654
+            url : "{:url('Ueditor/upVideo', ['savepath'=>'media'])}",
655
+            data: formData,
656
+            contentType: false,
657
+            processData: false,
658
+            dataType: 'json',
659
+            xhr: function () {
660
+                myXhr = $.ajaxSettings.xhr();
661
+                if (myXhr.upload) {
662
+                    myXhr.upload.addEventListener('progress', function(e){
663
+                        var curr = e.loaded;
664
+                        var total = e.total;
665
+                        process = parseInt(curr / total * 100);
666
+                        $("#upload_video_litpic_local").html('上传中...'+process+"%");
667
+                    });
668
+                }
669
+                return myXhr;
670
+            },
671
+            success: function (res) {
672
+                layer.closeAll();
673
+                $("#upload_video_litpic_local").html('上传成功');
674
+                setTimeout(function() {
675
+                    $('#upload_video_litpic_local').html('本地上传');
676
+                }, 2000);
677
+                if ("SUCCESS" == res.state) {
678
+                    $("#video_litpic").val(res.url);
679
+                } else {
680
+                    showErrorMsg(res.msg);
681
+                }
682
+            }
683
+        });
684
+    }
685
+
686
+    // 验证格式
687
+    function judgeExt(ext) {
688
+        var type = "{$media_type}";
689
+        var extArr = [];
690
+        extArr = type.split("|");
691
+        var ext = ext.replace(".","");
692
+        return extArr.indexOf(ext);
693
+    }
694
+</script>
695
+
696
+<script type="text/javascript">
697
+	var parentObj = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
698
+    // 勾选新窗口打开链接
699
+    function CheckedTarget(t){
700
+        if ($(t).is(':checked')) {
701
+            $(t).parent().find('input[name="img_target[]"]').val(1);
702
+        }else{
703
+            $(t).parent().find('input[name="img_target[]"]').val(0);
704
+        }
705
+    }
706
+    // 鼠标事件,加载查看大图和更新图片
707
+    function upimgMouseover(obj)
708
+    {
709
+        $(obj).find('div.icaction').show();
710
+        $(obj).find('div.cover-bg').show();
711
+    }
712
+    function upimgMouseout(obj)
713
+    {
714
+        $(obj).find('div.icaction').hide();
715
+        $(obj).find('div.cover-bg').hide();
716
+    }
717
+
718
+    // 检测广告名称是否存在重复
719
+    function DetectionTitleRepeat(obj) {
720
+        // 当前广告ID
721
+        var id = 0;
722
+        // 传入的广告名称
723
+        var title = $(obj).val();
724
+        // 执行检测
725
+        $.ajax({
726
+            type: 'post',
727
+            url : "{:url('ZcwfPosition/detection_title_repeat', ['_ajax'=>1])}",
728
+            data: {id: id, title: title},
729
+            dataType: 'json',
730
+            success: function(res) {
731
+                if (0 == res.code) {
732
+                    $('#title_tips').show().html(res.msg);
733
+                } else {
734
+                    $('#title_tips').hide().html('');
735
+                }
736
+            },
737
+            error: function(e){
738
+                layer.closeAll();
739
+                showErrorAlert(e.responseText);
740
+            }
741
+        });
742
+    }
743
+
744
+    // 判断输入框是否为空
745
+    function checkForm(){
746
+     /*   if($('input[name=title]').val() == ''){
747
+            layer.msg('广告位名称不能为空!', {icon: 2,time: 1000});
748
+            return false;
749
+        }*/
750
+
751
+        /*if($("#selectTest").val() == ''){
752
+            layer.msg('请选择申报专业!', {icon: 2,time: 1000});
753
+            return false;
754
+        }*/
755
+
756
+        if($('#selectTest666').val() == '1'){
757
+            var checkedValues = [];
758
+            $('#zhengshu input[type=checkbox]:checked').each(function() {
759
+                checkedValues.push($(this).val());
760
+            });
761
+            console.log(checkedValues); // 打印选中的checkbox值
762
+            if(checkedValues.length > 0){
763
+
764
+            }else{
765
+                layer.msg('请选择证书!', {icon: 2,time: 1000});
766
+                return false;
767
+            }
768
+        }
769
+
770
+
771
+
772
+        //'zyid': $("#selectTest").val(),
773
+        //'sf': $('#selectTest000_1').val(),
774
+        //'cs': $('#selectTest000_2').val(),
775
+        //'sbdj': $('#selectTest000_2').val(),
776
+
777
+        layer_loading('正在处理');
778
+        $.ajax({
779
+            type : 'post',
780
+            url : "{:url('ZcwfPosition/add', ['_ajax'=>1])}",
781
+            data : $('#post_form').serialize(),
782
+            dataType : 'json',
783
+            success : function(res) {
784
+                layer.closeAll();
785
+                if (1 == res.code) {
786
+                    var _parent = parent;
787
+                    _parent.layer.close(parentObj);
788
+                    _parent.layer.msg(res.msg, {icon: 1, shade: layer_shade, time: 1000}, function() {
789
+                        _parent.window.location.reload();
790
+                    });
791
+                } else {
792
+                    showErrorMsg(res.msg);
793
+                }
794
+            },
795
+            error: function(e) {
796
+                layer.closeAll();
797
+                showErrorAlert(e.responseText);
798
+            }
799
+        });
800
+    }
801
+
802
+    // 显示信息输入框
803
+    function ShowInput(id) {
804
+        var obj = $("#"+id+"_ShowInput");
805
+        var showOrHide = obj.attr('data-showOrHide');
806
+        if ('hide' == showOrHide) {
807
+            obj.show().attr('data-showOrHide', 'show');
808
+        } else {
809
+            obj.hide().attr('data-showOrHide', 'hide');
810
+        }
811
+    }
812
+
813
+    // 隐藏信息输入
814
+    function HideInput(id) {
815
+        $("#"+id+"_ShowInput").hide().attr('data-showOrHide', 'hide');
816
+    }
817
+
818
+    // 上传图集相册回调函数
819
+    function imgupload_call_back(paths){
820
+        var last_div = $(".images_upload_tpl").html();
821
+        var inputs   = $('.span_input input');
822
+        var timestamp = 0;
823
+
824
+        for (var i=0; i<paths.length; i++){
825
+            // 生成新的时间戳
826
+            timestamp = (new Date()).getTime();
827
+            // 插入一个 新图片
828
+            $(".images_upload:eq(0)").before(last_div);
829
+            // 处理他的链接地址
830
+            $(".images_upload:eq(0)").find('span:eq(0)').attr('onclick',"Images('"+paths[i]+"', 900, 600);");
831
+            // 处理信息显示隐藏按钮
832
+            $(".images_upload:eq(0)").find('span:eq(1)').attr('onclick', "ShowInput('"+timestamp+"');");
833
+            // 处理他的图片路径
834
+            $(".images_upload:eq(0)").find('img').attr('src',paths[i]);
835
+            // 处理删除按钮
836
+            $(".images_upload:eq(0)").find('a:eq(1)').attr('onclick', "ClearPicArr(this, '"+paths[i]+"', 0);");
837
+            // 处理图片信息框ID
838
+            $(".images_upload:eq(0)").find('.load_input:eq(0)').attr('id', timestamp+'_ShowInput');
839
+
840
+            // 处理图片路径及隐藏域
841
+            if (inputs.length > '0') {
842
+                // 修改隐藏域,提交ID隐藏域
843
+                $(".images_upload:eq(0)").find('input:eq(0)').attr('name','img_id[]').attr('value',''); 
844
+                // 修改隐藏域,提交图片隐藏域
845
+                $(".span_input:eq(0)").find('input:eq(0)').attr('name','img_litpic[]').attr('value',paths[i]);
846
+                // 提交标题
847
+                $(".images_upload:eq(0)").find('textarea:eq(0)').attr('name','img_title[]');
848
+                // 提交跳转链接
849
+                $(".images_upload:eq(0)").find('textarea:eq(1)').attr('name','img_links[]');
850
+                // 处理内容描述
851
+                $(".images_upload:eq(0)").find('textarea:eq(2)').attr('name','img_intro[]');
852
+                // 提交新窗口选项
853
+                $(".images_upload:eq(0)").find('div.operation a:eq(0)').html("<label><input type='checkbox' title='在新窗口打开' onclick='CheckedTarget(this)'/>新窗口<input type='hidden' name='img_target[]' value='0'></label>");
854
+                // 处理收回按钮
855
+                $(".images_upload:eq(0)").find('div.operation a:eq(2)').attr('onclick', "HideInput('"+timestamp+"');").attr('title', "收回").html('<i style="font-size:16px;" class="fa fa-angle-double-up"></i>');
856
+            }
857
+        }
858
+    }
859
+
860
+    // 上传之后删除组图input
861
+    function ClearPicArr(obj,path)
862
+    {
863
+        $(obj).parent().parent().parent().remove(); // 删除完服务器的, 再删除 html上的图片
864
+        $.ajax({
865
+            type:'POST',
866
+            url:"{:url('Uploadimgnew/delupload')}",
867
+            data:{action:"del", filename:path, _ajax:1},
868
+            success:function(){}
869
+        }); 
870
+    }
871
+
872
+    // 代码调用js
873
+    function copyToClipBoard(id) {
874
+        var adstr = "{eyou:ad aid='" + id + "'}\r\n   <a href='{$"+"field.links}' {$"+"field.target}><img src='{$"+"field.litpic}' alt='{$"+"field.title}' /></a>\r\n{/eyou:ad";
875
+        var contentdiv = '<div class="dialog_content" style="margin: 0px; padding: 0px;"><dl style="padding:10px 30px;line-height:30px"><dd>标签 ad 调用:</dd>'
876
+        contentdiv += '<textarea rows="4" cols="60" style="width:400px;height:80px;">' + adstr + '}</textarea>'
877
+        contentdiv += '<dd style="border-top: dotted 1px #E7E7E7; color: #F60;">请将对应标签代码复制并粘贴到对应模板文件中!</dd></dl></div>'
878
+        layer.open({
879
+            title: '代码调用',
880
+            type: 1,
881
+            shade: layer_shade,
882
+            skin: 'layui-layer-demo',
883
+            area: ['480px', '240px'], //宽高
884
+            content: contentdiv
885
+        });
886
+    }
887
+
888
+    // 图集相册的拖动排序相关 js
889
+    $( ".sort-list" ).sortable({
890
+        start: function( event, ui) {
891
+        
892
+        }
893
+        ,stop: function( event, ui ) {
894
+
895
+        }
896
+    });
897
+    //因为他们要拖动,所以尽量设置他们的文字不能选择。  
898
+    // $( ".sort-list" ).disableSelection();
899
+</script>
900
+
901
+{include file="public/footer" /}

+ 988
- 0
application/admin/template/zcwf_position/edit.htm View File

@@ -0,0 +1,988 @@
1
+{include file="public/layout" /}
2
+
3
+<body class="ad_postion bodystyle" style="overflow-y: scroll;">
4
+<div id="toolTipLayer" style="position: absolute; z-index: 9999; display: none; visibility: visible; left: 95px; top: 573px;"></div>
5
+<div id="append_parent"></div>
6
+<div id="ajaxwaitid"></div>
7
+<div class="page min-hg-c-10">
8
+    <form class="form-horizontal" id="post_form" action="{:url('ZcwdPosition/edit')}" method="post">
9
+        <div class="ncap-form-default">
10
+
11
+            <dl class="row">
12
+                <dt class="tit">
13
+                    <label for="type">规则详情</label>
14
+                </dt>
15
+                <dd class="opt">
16
+                    <input type="hidden" name="type" value="{$rule_id}" />
17
+                    <input type="hidden" name="type_son" value="{$rule_id_son}" />
18
+                    规则编号: {$detail.orderno} &nbsp;&nbsp;&nbsp;&nbsp; 规则名称: {$detail_son.title} <br/>
19
+                </dd>
20
+            </dl>
21
+
22
+
23
+
24
+            <hr/>
25
+            <b>设置前置条件:</b>
26
+
27
+
28
+            <dl class="row">
29
+                <dt class="tit">
30
+                    <label for="type">是否需要证书</label>
31
+                </dt>
32
+                <dd class="opt">
33
+
34
+
35
+                    <!--<label class="curpoin"><input type="radio" id="type{$field1.id}" name="type" value="{$field1.id}" onclick="TypeSwitch({$field1.id});">{$field1.name}</label>
36
+                    -->
37
+
38
+                    <?php
39
+                    /*
40
+                     * {eyou:foreach name='$pro_list' item='field1'}
41
+                <option value="{$field1.id}" {eq name="$Request.param.type" value="$field1.id"}selected{/eq}>{$field1.name}</option>
42
+                {/eyou:foreach}
43
+                     */
44
+                    ?>
45
+                    <select name="is_zs" class="select" id="selectTest666" style="margin:0px 5px;height:30px;width:130px;">
46
+                        <option value="0"  {eq name="$field.is_zs" value="0"}selected{/eq}>不需要</option>
47
+                        <option value="1"  {eq name="$field.is_zs" value="1"}selected{/eq}>需要</option>
48
+                    </select>
49
+
50
+                    <script>
51
+                        $(function(){
52
+                            $("#selectTest666").change(function(e){
53
+
54
+
55
+                                /*var item = $("#selectTest").val();
56
+                                if(item == '' || item == 0){
57
+                                    layer.msg('请先选择申报专业!', {icon: 2,time: 1000});
58
+                                    $("#selectTest666").val('0');
59
+                                    return false;
60
+                                }
61
+                                console.log(item);
62
+
63
+                                //发送ajax 请求地区数据
64
+                                $.ajax({
65
+                                    type:'POST',
66
+                                    url:"{:url('ZcwdPosition/getZs', ['_ajax'=>1])}",
67
+                                    data:{
68
+                                        id: item  //获取当前专业
69
+                                        ,_ajax:1
70
+                                    },
71
+                                    success:function(res){
72
+                                        $('#zhengshu').html(res.data);
73
+                                    }
74
+                                });*/
75
+
76
+                                console.log($(this).val());
77
+                                var v = $(this).val();
78
+                                if(v == 1){
79
+                                    $('#citychoose').show();
80
+                                }else{
81
+                                    $('#citychoose').hide();
82
+                                }
83
+                            });
84
+                        });
85
+                    </script>
86
+
87
+                    <span class="err"></span>
88
+                    <p class="notic"></p>
89
+                </dd>
90
+            </dl>
91
+
92
+            <dl class="row" id="citychoose" style="{eyou:if condition='($field.is_zs > 0)'}{eyou:else /}display: none;{/eyou:if}">
93
+                <dt class="tit"> <label for="title"><em>*</em>证书选择</label> </dt>
94
+                <dd class="opt">
95
+
96
+                    <!---checked-->
97
+                    <div id="zhengshu">
98
+
99
+{$zs_html}
100
+                    </div>
101
+
102
+                    <span class="err"></span>
103
+                    <p class="notic2 red" id="title_tips"></p>
104
+                </dd>
105
+            </dl>
106
+
107
+
108
+           <!-- <dl class="row">
109
+                <dt class="tit"> <label for="title"><em>*</em>工作时间年限</label> </dt>
110
+                <dd class="opt">
111
+                    <select name="sjnx" class="select" id="selectTest888" style="margin:0px 5px;height:30px;width:130px;">
112
+                        <option value="0" {eq name="$field.sjnx" value="0"}selected{/eq}>不限制</option>
113
+                        <option value="1" {eq name="$field.sjnx" value="1"}selected{/eq}>1年</option>
114
+                        <option value="2" {eq name="$field.sjnx" value="2"}selected{/eq}>2年</option>
115
+                        <option value="3" {eq name="$field.sjnx" value="3"}selected{/eq}>3年</option>
116
+                        <option value="4" {eq name="$field.sjnx" value="4"}selected{/eq}>4年</option>
117
+                        <option value="5" {eq name="$field.sjnx" value="5"}selected{/eq}>5年</option>
118
+                        <option value="6" {eq name="$field.sjnx" value="6"}selected{/eq}>6年</option>
119
+                        <option value="7" {eq name="$field.sjnx" value="7"}selected{/eq}>7年</option>
120
+                        <option value="8" {eq name="$field.sjnx" value="8"}selected{/eq}>8年</option>
121
+                    </select>
122
+                    以上(包括)
123
+                </dd>
124
+            </dl>-->
125
+
126
+            <dl class="row">
127
+                <dt class="tit"> <label for="title"><em>*</em>工作要求:</label> </dt>
128
+                <dd class="opt">
129
+                    {eyou:for start='0' end='9'}
130
+                    {$i+1}.&nbsp;<input type="text" name="gzyq[]" value="{$gzyq[$i]}" id="title" class="input-txt" autocomplete="off" style="margin-top: 5px;width: 800px !important;"><br/>
131
+                    {/eyou:for}
132
+                </dd>
133
+            </dl>
134
+
135
+
136
+            <hr/>
137
+            <b>其他:</b>
138
+
139
+            <?php
140
+            /*
141
+             *
142
+             * <!--暂时找不到控制显示隐藏的地方-->
143
+            <dl class="row 1615775137_dl" style="display: block;" id="1615775137_1" style="z-index: 2">
144
+                <dt class="tit"> <label>主题背景</label> </dt>
145
+                <dd class="opt">
146
+                    <div class="tab-pane" id="tab_imgupload">
147
+                        <table class="table table-bordered">
148
+                            <tbody>
149
+                            <tr>
150
+                                <td>
151
+                                    <div class="sort-list">
152
+                                        {volist name="ad_data" id="vo" key="k"}
153
+                                            {eq name="$vo.media_type" value="1"}
154
+                                                <div class="images_upload">
155
+                                                    <div class="ic">
156
+                                                        <div class='upimg' title="拖动修改排序" onmouseover="upimgMouseover(this);" onmouseout="upimgMouseout(this);">
157
+                                                            <div class='icaction' style="display: none" >
158
+                                                                <span class="load_images" onclick="Images('{$vo['litpic']}', 900, 600);">
159
+                                                                    <a href="javascript:void(0);" style="color:white">
160
+                                                                        <i class='fa fa-search-plus'></i>大图
161
+                                                                    </a>
162
+                                                                </span>
163
+                                                                <span class="load_images" onclick="LoadImagesId('{$vo['id']}');">
164
+                                                                    <i class='fa fa-photo'></i>更换
165
+                                                                </span>
166
+                                                                <span class="load_images" onclick="ShowInput('{$vo['id']}');">
167
+                                                                    <i class='fa fa-file-text-o'></i>信息
168
+                                                                </span>
169
+                                                            </div>
170
+                                                            <div class='cover-bg' style="display: none" ></div>
171
+                                                            <img id="{$vo['id']}_Id" src="{$vo['litpic']}"/>
172
+                                                            {if condition="$main_lang == $admin_lang || !empty($global['language_split'])"}
173
+                                                                <a class="delect" href="javascript:void(0);" onclick="ClearPicArr(this,'{$vo['litpic']}','{$vo['id']}');" title="删除">
174
+                                                                </a>
175
+                                                            {/if}
176
+                                                        </div>
177
+
178
+                                                        <div class="load_input" id="{$vo['id']}_ShowInput" data-showOrHide="hide">
179
+                                                            <input type="hidden" name="img_id[]" value="{$vo['id']}"/>
180
+                                                            <span class="span_input">
181
+                                                                <input type="hidden" id="{$vo['id']}_Litpic" name="img_litpic[]" value="{$vo['litpic']}"/>
182
+                                                            </span>
183
+                                                            <textarea name="img_title[]" placeholder="请输入标题..." style="height: 28px;">{$vo.title}</textarea>
184
+                                                            <textarea name="img_links[]" placeholder="请输入链接网址..." style="height: 28px;">{$vo.links}</textarea>
185
+                                                            <textarea name="img_intro[]" placeholder="广告注释:支持HTML代码" style="height: 64px;">{$vo.intro}</textarea>
186
+                                                            <div class="operation">
187
+                                                                <a href="javascript:void(0);">
188
+                                                                    <label>
189
+                                                                        <input type="checkbox" {eq name="$vo['target']" value="1"} checked="checked" {/eq} title="在新窗口打开" onclick="CheckedTarget(this)"/>新窗口
190
+                                                                        <input type="hidden" name="img_target[]" value="{$vo['target']}">
191
+                                                                    </label>
192
+                                                                </a>
193
+                                                                <a href="javascript:void(0);" onclick="copyToClipBoard({$vo['id']});">
194
+                                                                    <i class="fa fa-file-code-o"></i>标签调用
195
+                                                                </a>
196
+                                                                <a onclick="HideInput('{$vo['id']}');" style="width: 32%;" href="javascript:void(0);" title="收回"><i style="font-size:16px;" class="fa fa-angle-double-up"></i></a>
197
+                                                            </div>
198
+                                                        </div>
199
+                                                    </div>
200
+                                                </div>
201
+                                            {/eq}
202
+                                        {/volist}
203
+                                        <div class="images_upload"></div>
204
+                                    </div>
205
+                                    {if condition="$main_lang == $admin_lang || !empty($global['language_split'])"}
206
+                                        <a href="javascript:void(0);" onClick="GetUploadify(30,'','allimg','imgupload_call_back');" class="img-upload b-img-upload mb15" title="点击上传">
207
+                                            <div class="y-line"></div>
208
+                                            <div class="x-line"></div>
209
+                                        </a>
210
+                                    {/if}
211
+                                    <input type="hidden" id="ImagesId">
212
+                                </td>
213
+                            </tr>
214
+                            </tbody>
215
+                        </table>
216
+                    </div>
217
+                    <!-- 上传图片显示的样板 start -->
218
+                    <div class="images_upload_tpl none">
219
+                        <div class="images_upload ic">
220
+                            <div class="ic">
221
+                                <div class='upimg' title="拖动修改排序" onmouseover="upimgMouseover(this);" onmouseout="upimgMouseout(this);">
222
+                                    <div class='icaction' style="display: none">
223
+                                        <span class="load_images" onclick="">
224
+                                            <a href="javascript:void(0);" style="color: white">
225
+                                                <i class='fa fa-search-plus'></i>大图
226
+                                            </a>
227
+                                        </span>
228
+                                        <span class="load_images" onclick="">
229
+                                            <i class='fa fa-file-text-o'></i>信息
230
+                                        </span>
231
+                                    </div>
232
+                                    <div class='cover-bg' style="display: none"></div>
233
+                                    <img src="__STATIC__/admin/images/add-button.jpg"/>
234
+                                    <a class="delect" href="javascript:void(0);" title="删除"></a>
235
+                                </div>
236
+
237
+                                <div class="load_input" data-showOrHide="hide">
238
+                                    <input type="hidden"/>
239
+                                    <span class="span_input"> <input type="hidden"/> </span>
240
+                                    <textarea placeholder="请输入标题..." style="height: 28px;"></textarea>
241
+                                    <textarea placeholder="请输入链接网址..." style="height: 28px;"></textarea>
242
+                                    <textarea placeholder="广告注释:支持HTML代码" style="height: 64px;"></textarea>
243
+                                    <div class="operation">
244
+                                        <a href="javascript:void(0);">&nbsp;&nbsp;</a>
245
+                                        <a href="javascript:void(0);">&nbsp;&nbsp;</a>
246
+                                        <a style="width: 32%;" href="javascript:void(0);">&nbsp;&nbsp;</a>
247
+                                    </div>
248
+                                </div>
249
+                            </div>
250
+                        </div>
251
+                    </div>
252
+                    <!-- 上传图片显示的样板 end -->
253
+                </dd>
254
+            </dl>
255
+             */
256
+
257
+            ?>
258
+
259
+            <dl class="row 1615775137_dl" style="display: none;" id="1615775137_2" style="z-index: 2">
260
+                <dt class="tit"> <label for="type">广告内容</label> </dt>
261
+                <dd class="opt">
262
+                    <input type="hidden" name="video_id" {eq name="$ad_data.0.media_type" value="2"} value="{$ad_data.0.id}" {/eq} class="input-txt">
263
+                    <input type="text" name="video_litpic" id="video_litpic" {eq name="$ad_data.0.media_type" value="2"} value="{$ad_data.0.litpic}" {/eq} class="input-txt">
264
+                    <input type="file" id="courseware_file" data-type='local' onchange="upload_video_litpic_1615775137(this)" style="display: none;">
265
+                    {eq name="$WeappOpen.qny_open" value="1"}
266
+                    &nbsp;<a href="javascript:void(0);" class="ncap-btn ncap-btn-green" id="upload_video_litpic_qiniu" onclick="$('#courseware_file').attr('data-type', 'qiniu').trigger('click');">七牛云上传</a>
267
+                    {/eq}
268
+                    {eq name="$WeappOpen.oss_open" value="1"}
269
+                    &nbsp;<a href="javascript:void(0);" class="ncap-btn ncap-btn-green" id="upload_video_litpic_oss" onclick="$('#courseware_file').attr('data-type', 'oss').trigger('click');">oss上传</a>
270
+                    {/eq}
271
+                    {eq name="$WeappOpen.cos_open" value="1"}
272
+                    &nbsp;<a href="javascript:void(0);" class="ncap-btn ncap-btn-green" id="upload_video_litpic_cos" onclick="$('#courseware_file').attr('data-type', 'cos').trigger('click');">cos上传</a>
273
+                    {/eq}
274
+                    &nbsp;<a href="javascript:void(0);" class="ncap-btn ncap-btn-green " id="upload_video_litpic_local" onclick="$('#courseware_file').attr('data-type', 'local').trigger('click');">本地上传</a>
275
+                    <input type="hidden" id="OpenPreviewVideoUrl" value="{:url('ZcwdPosition/open_preview_video')}">
276
+                    &nbsp;<a href="javascript:void(0);" class="ncap-btn ncap-btn-green" id="PreviewVideo" onclick="OpenPreviewVideo();">预览</a>
277
+                </dd>
278
+            </dl>
279
+
280
+            <dl class="row 1615775137_dl" style="display: none;" id="1615775137_3" style="z-index: 2">
281
+                <dt class="tit"> <label for="type">广告内容</label> </dt>
282
+                <dd class="opt">
283
+                    <input type="hidden" name="html_id" {eq name="$ad_data.0.media_type" value="3"} value="{$ad_data.0.id}" {/eq} class="input-txt">
284
+                    <textarea rows="5" cols="60" id="html_intro" name="html_intro" style="height: 200px;">{eq name="$ad_data.0.media_type" value="3"}{$ad_data.0.intro}{/eq}</textarea>
285
+                    <span class="err"></span>
286
+                    <p class="notic"></p>
287
+                </dd>
288
+            </dl>
289
+
290
+            <dl class="row">
291
+                <dt class="tit">
292
+                    <label>其他条件</label>
293
+                </dt>
294
+                <dd class="opt">
295
+                    <textarea rows="5" cols="60" id="intro" name="qttj" style="height:60px;">{$field.qttj}</textarea>
296
+                    <span class="err"></span>
297
+                    <p class="notic"></p>
298
+                </dd>
299
+            </dl>
300
+
301
+            <dl class="row">
302
+                <dt class="tit">
303
+                    <label>输出结果</label>
304
+                </dt>
305
+                <dd class="opt">
306
+
307
+                    匹配算法: 前端根据选择的申报专业和所选资料,按所设定的规则(多条)进行对比,结果可能符合多个区域(符合省市),生成多个报告;
308
+
309
+
310
+                    <span class="err"></span>
311
+                    <p class="notic"></p>
312
+                </dd>
313
+            </dl>
314
+
315
+
316
+            <div class="bot">
317
+                <input type="hidden" name="id" id="1615775137_id" value="{$field.id}">
318
+                <a href="JavaScript:void(0);" onclick="checkForm();" class="ncap-btn-big ncap-btn-green" id="submitBtn">确认提交</a>
319
+            </div>
320
+        </div>
321
+    </form>
322
+</div>
323
+
324
+<script type="text/javascript">
325
+    var SelectedType = '{$field.type}';
326
+    $(function() {
327
+        // 新增时,广告类型默认选中图片类型
328
+        // $('#type'+SelectedType).prop('checked', 'checked');
329
+        // 新增时,默认显示图片上传
330
+        $('#1615775137_'+SelectedType).show();
331
+        // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
332
+        VideoLitpicValue('#video_litpic');
333
+    });
334
+
335
+    // 切换广告类型
336
+    function TypeSwitch(typeValue) {
337
+        // 隐藏全部类型内容
338
+        $('.1615775137_dl').hide();
339
+        // 显示指定类型内容
340
+        $('#1615775137_'+typeValue).show();
341
+        // 切换类型后设置为当前切换的类型
342
+        SelectedType = typeValue;
343
+        
344
+        // var ad_type = '{$field.type}';
345
+        // if (typeValue != ad_type) {
346
+        //     // 切换至不同类型则显示
347
+        //     $('.notic2').show();
348
+        // } else {
349
+        //     // 切换至相同类型则隐藏
350
+        //     $('.notic2').hide();
351
+        // }
352
+    }
353
+
354
+    // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
355
+    function VideoLitpicValue(obj) {
356
+        // 获取广告内容(多媒体为播放链接)
357
+        // var video_litpic = $(obj).val();
358
+        // 判断隐藏显示预览按钮if (2 == SelectedType && video_litpic)
359
+        if (2 == SelectedType) {
360
+            $('#PreviewVideo').show();
361
+        } else {
362
+            $('#PreviewVideo').hide();
363
+        }
364
+    }
365
+
366
+    // 打开预览视频
367
+    function OpenPreviewVideo() {
368
+        // 获取视频链接
369
+        var video_litpic = $('#video_litpic').val();
370
+        if (video_litpic == '') {
371
+            $('#video_litpic').focus();
372
+            showErrorMsg('请先上传视频');
373
+            return false;
374
+        }
375
+
376
+        /* 视频链接后缀验证处理 */
377
+        var fileExt = video_litpic.substr(video_litpic.lastIndexOf('.')).toLowerCase();
378
+        var fileExt = judgeExt(fileExt);
379
+        if (fileExt == -1) {
380
+            $('#video_litpic').focus();
381
+            showErrorMsg('不支持的视频格式,可在附件设置中修改');
382
+            return false;
383
+        }
384
+        /* END */
385
+
386
+        /* 视频链接是否存在斜杠处理 */
387
+        var fileInfo = video_litpic.lastIndexOf('/');
388
+        if (fileInfo == -1) {
389
+            $('#video_litpic').focus();
390
+            showErrorMsg('视频链接不完整,无法正常预览');
391
+            return false;
392
+        }
393
+        /* END */
394
+
395
+        // 打开视频播放
396
+        $.ajax({
397
+            type : 'post',
398
+            url  : $('#OpenPreviewVideoUrl').val(),
399
+            data : {video_litpic: video_litpic},
400
+            dataType : 'json',
401
+            success : function(res) {
402
+                if (1 == res.code) {
403
+                    var PreviewVideo = "<video style='width:100%; height:100%;' src='"+res.url+"' controls preload='auto' oncontextmenu='return fase' autoplay></video>";
404
+                    layer.open({
405
+                        type: 1,
406
+                        title: false,
407
+                        fixed: true, //不固定
408
+                        shadeClose: false,
409
+                        shade: layer_shade,
410
+                        area: ['80%', '80%'],
411
+                        content: PreviewVideo
412
+                    });
413
+                } else {
414
+                    showErrorMsg(res.msg);
415
+                }
416
+            },
417
+            error: function(e) {
418
+                showErrorAlert(e.responseText);
419
+            }
420
+        });
421
+    }
422
+
423
+    // 上传媒体文件
424
+    function upload_video_litpic_1615775137(e) {
425
+        var data_type = $(e).attr('data-type');
426
+        if ('qiniu' == data_type) {
427
+            // 七牛云上传
428
+            upload_video_litpic_qiniu(e);
429
+        } else if ('oss' == data_type) {
430
+             // OSS上传
431
+            upload_video_litpic_oss(e);
432
+        } else if ('cos' == data_type) {
433
+             // COS上传
434
+            upload_video_litpic_cos(e);
435
+        } else {
436
+            // 本地上传
437
+            upload_video_litpic_local(e);
438
+        }
439
+    }
440
+
441
+    // 七牛云上传
442
+    function upload_video_litpic_qiniu(e) {
443
+        // 获取文件路径名
444
+        var file = $(e)[0].files[0];
445
+
446
+        // 验证上传格式
447
+        var fileName = file.name;
448
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
449
+        var ext = judgeExt(fileExt);
450
+        if (ext == -1) {
451
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
452
+            return false;
453
+        }
454
+
455
+        // 验证上传大小
456
+        var size = "{$upload_max_filesize}";
457
+        if (file.size > size) {
458
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
459
+            return false;
460
+        }
461
+
462
+        // 执行上传
463
+        layer_loading('上传七牛云');
464
+        $.ajax({
465
+            type: 'POST',
466
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Qiniuyun&a=qiniu_upload',
467
+            data: {_ajax: 1},
468
+            dataType: "JSON",
469
+            success: function(res1) {
470
+                if (1 == res1.code) {
471
+                    var token  = res1.data.token;
472
+                    var formData = new FormData();
473
+                    formData.append('file', file);
474
+                    formData.append('token', token);
475
+
476
+                    fileName = res1.data.filePath + fileExt;
477
+                    formData.append('key', fileName);
478
+                    $.ajax({
479
+                        url: res1.data.uphost,
480
+                        type: 'POST',
481
+                        dataType: 'JSON',
482
+                        data: formData,
483
+                        timeout: 1200000,
484
+                        cache: false,
485
+                        processData: false,
486
+                        contentType: false,
487
+                        xhr: function () {
488
+                            myXhr = $.ajaxSettings.xhr();
489
+                            if (myXhr.upload) {
490
+                                myXhr.upload.addEventListener('progress', function(e){
491
+                                    var curr = e.loaded;
492
+                                    var total = e.total;
493
+                                    process = parseInt(curr / total * 100);
494
+                                    $("#upload_video_litpic_qiniu").text('上传中...'+process+"%");
495
+                                });
496
+                            }
497
+                            return myXhr;
498
+                        },
499
+                        success: function(res2) {
500
+                            layer.closeAll();
501
+                            $("#upload_video_litpic_qiniu").text('上传成功');
502
+                            setTimeout(function() {
503
+                                $('#upload_video_litpic_qiniu').text('七牛云上传');
504
+                            }, 2000);
505
+                            var video_url = res1.data.domain + "/" + res2.key;
506
+                            $("#video_litpic").empty().val(video_url);
507
+                        },
508
+                        error: function(e) {
509
+                            layer.closeAll();
510
+                            showErrorMsg(e.responseText);
511
+                            return false;
512
+                        }
513
+                    });
514
+                } else {
515
+                    layer.closeAll();
516
+                    showErrorMsg(res1.msg);
517
+                }
518
+            },
519
+            error: function(e) {
520
+                layer.closeAll();
521
+                showErrorMsg(e.responseText);
522
+            }
523
+        });
524
+    }
525
+
526
+    // 阿里云OSS上传
527
+    function upload_video_litpic_oss(e) {
528
+        // 获取文件路径名
529
+        var file = $(e)[0].files[0];
530
+        
531
+        // 验证上传格式
532
+        var fileName = file.name;
533
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
534
+        var ext = judgeExt(fileExt);
535
+        if (ext == -1) {
536
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
537
+            return false;
538
+        }
539
+
540
+        // 验证上传大小
541
+        var size = "{$upload_max_filesize}";
542
+        if (file.size > size) {
543
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
544
+            return false;
545
+        }
546
+
547
+        // 执行上传
548
+        layer_loading('上传阿里云OSS');
549
+        $.ajax({
550
+            type: 'POST',
551
+            url: '__ROOT_DIR__/index.php?m=plugins&c=AliyunOss&a=oss_upload',
552
+            data: {_ajax: 1},
553
+            dataType: "JSON",
554
+            success: function(res1){
555
+                if (1 == res1.code){
556
+                    fileName = res1.data.filePath + fileExt;
557
+                    //组装发送数据
558
+                    var request = new FormData();
559
+                    request.append("OSSAccessKeyId",res1.data.accessid);
560
+                    request.append("policy",res1.data.policy);
561
+                    request.append("Signature",res1.data.signature);
562
+                    request.append("key",fileName);
563
+                    request.append("success_action_status",201);
564
+                    request.append('file', file);
565
+
566
+                    $.ajax({
567
+                        url : res1.data.host,
568
+                        data : request,
569
+                        processData: false,
570
+                        cache: false,
571
+                        contentType: false,
572
+                        dataType: 'xml',
573
+                        type : 'post',
574
+                        xhr: function () {
575
+                            myXhr = $.ajaxSettings.xhr();
576
+                            if (myXhr.upload) {
577
+                                myXhr.upload.addEventListener('progress', function(e){
578
+                                    var curr = e.loaded;
579
+                                    var total = e.total;
580
+                                    var process = parseInt(curr / total * 100);
581
+                                    $("#upload_video_litpic_oss").text('上传中...'+process+"%");
582
+                                });
583
+                            }
584
+                            return myXhr;
585
+                        },
586
+                        success : function(data) {
587
+                            layer.closeAll();
588
+                            var res = $(data).find('PostResponse');
589
+                            if (res) {
590
+                                var key = res.find('Key').text();
591
+                                $("#upload_video_litpic_oss").text('上传成功');
592
+                                setTimeout(function() {
593
+                                    $('#upload_video_litpic_oss').text('oss上传');
594
+                                }, 2000);
595
+                                var video_url = res1.data.domain + "/" + key;
596
+                                $("#video_litpic").val(video_url);
597
+                            } else {
598
+                                $("#upload_video_litpic_oss").text('上传失败');
599
+                                setTimeout(function() {
600
+                                    $('#upload_video_litpic_oss').text('oss上传');
601
+                                }, 2000);
602
+                            }
603
+                        },
604
+                        error : function(e) {
605
+                            layer.closeAll();
606
+                            console.log(e.responseText);
607
+                        }
608
+                    });
609
+                } else {
610
+                    layer.closeAll();
611
+                    showErrorMsg(res1.msg);
612
+                }
613
+            },
614
+            error: function(e) {
615
+                layer.closeAll();
616
+                showErrorMsg(e.responseText);
617
+            }
618
+        });
619
+    }
620
+
621
+    // 腾讯云COS上传
622
+    function upload_video_litpic_cos(e) {
623
+        // 获取文件路径名
624
+        var file = $(e)[0].files[0];
625
+        
626
+        // 验证上传格式
627
+        var fileName = file.name;
628
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
629
+        var ext = judgeExt(fileExt);
630
+        if (ext == -1) {
631
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
632
+            return false;
633
+        }
634
+
635
+        // 验证上传大小
636
+        var size = "{$upload_max_filesize}";
637
+        if (file.size > size) {
638
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
639
+            return false;
640
+        }
641
+
642
+        // 上传参数
643
+        var formData = new FormData();
644
+            formData.append('file', file);
645
+            formData.append('file_ext', fileExt);
646
+
647
+        // 执行上传
648
+        $.ajax({
649
+            type: 'post',
650
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Cos&a=cos_upload&_ajax=1',
651
+            data: formData,
652
+            contentType: false,
653
+            processData: false,
654
+            dataType: 'json',
655
+            xhr: function () {
656
+                myXhr = $.ajaxSettings.xhr();
657
+                if (myXhr.upload) {
658
+                    myXhr.upload.addEventListener('progress', function(e){
659
+                        var curr = e.loaded;
660
+                        var total = e.total;
661
+                        process = parseInt(curr / total * 100);
662
+                        if (100 == process) {
663
+                            process = 99;
664
+                            layer_loading('上传腾讯云COS');
665
+                        }
666
+                        $("#upload_video_litpic_cos").text('上传中...'+process+"%");
667
+                        
668
+                    });
669
+                }
670
+                return myXhr;
671
+            },
672
+            success: function(res) {
673
+                layer.closeAll();
674
+                if (1 == res.code) {
675
+                    $("#video_litpic").val(res.data.url);
676
+                    $("#upload_video_litpic_cos").text('上传成功');
677
+                } else {
678
+                    $("#upload_video_litpic_cos").text('上传失败');
679
+                }
680
+                setTimeout(function() {
681
+                    $('#upload_video_litpic_cos').text('cos上传');
682
+                }, 2000);
683
+            },
684
+            error: function(e) {
685
+                layer.closeAll();
686
+                showErrorMsg(e.responseText);
687
+            }
688
+        });
689
+    }
690
+
691
+    // 本地上传
692
+    function upload_video_litpic_local(e) {
693
+        // 获取文件路径名
694
+        var file = $(e)[0].files[0];
695
+
696
+        // 验证上传格式
697
+        var fileName = file.name;
698
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
699
+        var ext = judgeExt(fileExt);
700
+        if (ext == -1) {
701
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
702
+            return false;
703
+        }
704
+
705
+        // 验证上传大小
706
+        var size = "{$upload_max_filesize}";
707
+        if (file.size > size) {
708
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
709
+            return false;
710
+        }
711
+
712
+        // 定义上传数据
713
+        var formData = new FormData();
714
+        formData.append('file', file);
715
+
716
+        // 执行上传
717
+        layer_loading('上传本地');
718
+        $.ajax({
719
+            type: 'post',
720
+            url : "{:url('Ueditor/upVideo', ['savepath'=>'media'])}",
721
+            data: formData,
722
+            contentType: false,
723
+            processData: false,
724
+            dataType: 'json',
725
+            xhr: function () {
726
+                myXhr = $.ajaxSettings.xhr();
727
+                if (myXhr.upload) {
728
+                    myXhr.upload.addEventListener('progress', function(e){
729
+                        var curr = e.loaded;
730
+                        var total = e.total;
731
+                        process = parseInt(curr / total * 100);
732
+                        $("#upload_video_litpic_local").html('上传中...'+process+"%");
733
+                    });
734
+                }
735
+                return myXhr;
736
+            },
737
+            success: function (res) {
738
+                layer.closeAll();
739
+                $("#upload_video_litpic_local").html('上传成功');
740
+                setTimeout(function() {
741
+                    $('#upload_video_litpic_local').html('本地上传');
742
+                }, 2000);
743
+                if ("SUCCESS" == res.state) {
744
+                    $("#video_litpic").val(res.url);
745
+                } else {
746
+                    showErrorMsg(res.msg);
747
+                }
748
+            }
749
+        });
750
+    }
751
+
752
+    // 验证格式
753
+    function judgeExt(ext) {
754
+        var type = "{$media_type}";
755
+        var extArr = [];
756
+        extArr = type.split("|");
757
+        var ext = ext.replace(".","");
758
+        return extArr.indexOf(ext);
759
+    }
760
+</script>
761
+
762
+<script type="text/javascript">
763
+    // 勾选新窗口打开链接
764
+    function CheckedTarget(t){
765
+        if ($(t).is(':checked')) {
766
+            $(t).parent().find('input[name="img_target[]"]').val(1);
767
+        }else{
768
+            $(t).parent().find('input[name="img_target[]"]').val(0);
769
+        }
770
+    }
771
+    // 鼠标事件,加载查看大图和更新图片
772
+    function upimgMouseover(obj)
773
+    {
774
+        $(obj).find('div.icaction').show();
775
+        $(obj).find('div.cover-bg').show();
776
+    }
777
+    function upimgMouseout(obj)
778
+    {
779
+        $(obj).find('div.icaction').hide();
780
+        $(obj).find('div.cover-bg').hide();
781
+    }
782
+
783
+    // 检测广告名称是否存在重复
784
+    function DetectionTitleRepeat(obj) {
785
+        // 当前广告ID
786
+        var id = $('#1615775137_id').val();
787
+        // 传入的广告名称
788
+        var title = $(obj).val();
789
+        // 执行检测
790
+        $.ajax({
791
+            type: 'post',
792
+            url : "{:url('ZcwdPosition/detection_title_repeat', ['_ajax'=>1])}",
793
+            data: {id: id, title: title},
794
+            dataType: 'json',
795
+            success: function(res) {
796
+                if (0 == res.code) {
797
+                    $('#title_tips').show().html(res.msg);
798
+                } else {
799
+                    $('#title_tips').hide().html('');
800
+                }
801
+            },
802
+            error: function(e){
803
+                layer.closeAll();
804
+                showErrorAlert(e.responseText);
805
+            }
806
+        });
807
+    }
808
+
809
+    // 判断输入框是否为空
810
+    function checkForm(){
811
+       /* if($('input[name=title]').val() == ''){
812
+            layer.msg('广告位名称不能为空!', {icon: 2,time: 1000});
813
+            return false;
814
+        }*/
815
+
816
+       /* if($("#selectTest").val() == ''){
817
+            layer.msg('请选择申报专业!', {icon: 2,time: 1000});
818
+            return false;
819
+        }*/
820
+
821
+        if($('#selectTest666').val() == '1'){
822
+            var checkedValues = [];
823
+            $('#zhengshu input[type=checkbox]:checked').each(function() {
824
+                checkedValues.push($(this).val());
825
+            });
826
+            console.log(checkedValues); // 打印选中的checkbox值
827
+            if(checkedValues.length > 0){
828
+
829
+            }else{
830
+                layer.msg('请选择证书!', {icon: 2,time: 1000});
831
+                return false;
832
+            }
833
+        }
834
+
835
+        //'zyid': $("#selectTest").val(),
836
+        //'sf': $('#selectTest000_1').val(),
837
+        //'cs': $('#selectTest000_2').val(),
838
+        //'sbdj': $('#selectTest000_2').val(),
839
+
840
+
841
+        layer_loading('正在处理');
842
+        $.ajax({
843
+            type : 'post',
844
+            url : "{:url('ZcwfPosition/edit', ['_ajax'=>1])}",
845
+            data : $('#post_form').serialize(),
846
+            dataType : 'json',
847
+            success : function(res){
848
+                layer.closeAll();
849
+                if (res.code == 1) {
850
+                    layer.msg(res.msg, {icon: 1, shade: layer_shade, time: 1000}, function(){
851
+                        window.location.reload();
852
+                    });
853
+                } else {
854
+                    showErrorMsg(res.msg);
855
+                }
856
+            },
857
+            error: function(e){
858
+                layer.closeAll();
859
+                showErrorAlert(e.responseText);
860
+            }
861
+        });
862
+    }
863
+
864
+    // 获取点击更新图片的ID并加载隐藏域
865
+    function LoadImagesId(id){
866
+        // 加载ID到隐藏域
867
+        $('#ImagesId').val(id);
868
+        // 调用图片上传JS
869
+        GetUploadify(1,'','allimg','UpdataImages');
870
+    }
871
+
872
+    // 更新图片
873
+    function UpdataImages(path){
874
+        // 获取点击的ID
875
+        var id = $('#ImagesId').val();
876
+        // 加载图片到显示层
877
+        $("#"+id+"_Id").attr('src', path);
878
+        // 加载图片到提交的隐藏域
879
+        $("#"+id+"_Litpic").val(path);
880
+    }
881
+
882
+    // 显示信息输入框
883
+    function ShowInput(id) {
884
+        var obj = $("#"+id+"_ShowInput");
885
+        var showOrHide = obj.attr('data-showOrHide');
886
+        if ('hide' == showOrHide) {
887
+            obj.show().attr('data-showOrHide', 'show');
888
+        } else {
889
+            obj.hide().attr('data-showOrHide', 'hide');
890
+        }
891
+    }
892
+
893
+    // 隐藏信息输入
894
+    function HideInput(id) {
895
+        $("#"+id+"_ShowInput").hide().attr('data-showOrHide', 'hide');
896
+    }
897
+
898
+    // 上传图集相册回调函数
899
+    function imgupload_call_back(paths){
900
+        var last_div = $(".images_upload_tpl").html();
901
+        var inputs   = $('.span_input input');
902
+        var timestamp = 0;
903
+
904
+        // 图片数据处理
905
+        for (var i=0; i<paths.length; i++) {
906
+            // 生成新的时间戳
907
+            timestamp = (new Date()).getTime();
908
+            // 插入一个 新图片
909
+            $(".images_upload:eq(0)").before(last_div);
910
+            // 处理他的链接地址
911
+            $(".images_upload:eq(0)").find('span:eq(0)').attr('onclick', "Images('"+paths[i]+"', 900, 600);");
912
+            // 处理信息显示隐藏按钮
913
+            $(".images_upload:eq(0)").find('span:eq(1)').attr('onclick', "ShowInput('"+timestamp+"');");
914
+            // 处理他的图片路径
915
+            $(".images_upload:eq(0)").find('img').attr('src', paths[i]);
916
+            // 处理删除按钮
917
+            $(".images_upload:eq(0)").find('a:eq(1)').attr('onclick', "ClearPicArr(this, '"+paths[i]+"', 0);");
918
+            // 处理图片信息框ID
919
+            $(".images_upload:eq(0)").find('.load_input:eq(0)').attr('id', timestamp+'_ShowInput');
920
+            
921
+            // 处理图片路径及隐藏域
922
+            if (inputs.length > 0) {
923
+                // 修改隐藏域
924
+                $(".images_upload:eq(0)").find('input:eq(0)').attr('name', 'img_id[]').attr('value', '');
925
+                $(".span_input:eq(0)").find('input:eq(0)').attr('name', 'img_litpic[]').attr('value', paths[i]);
926
+                // 处理标题
927
+                $(".images_upload:eq(0)").find('textarea:eq(0)').attr('name', 'img_title[]');
928
+                // 处理跳转链接
929
+                $(".images_upload:eq(0)").find('textarea:eq(1)').attr('name', 'img_links[]');
930
+                // 处理内容描述
931
+                $(".images_upload:eq(0)").find('textarea:eq(2)').attr('name', 'img_intro[]');
932
+                // 处理新窗口选项
933
+                $(".images_upload:eq(0)").find('div.operation a:eq(0)').html("<label><input type='checkbox' title='在新窗口打开' onclick='CheckedTarget(this);'/>新窗口<input type='hidden' name='img_target[]' value='0'></label>");
934
+                // 处理收回按钮
935
+                $(".images_upload:eq(0)").find('div.operation a:eq(2)').attr('onclick', "HideInput('"+timestamp+"');").attr('title', "收回").html('<i style="font-size:16px;" class="fa fa-angle-double-up"></i>');
936
+            }
937
+        }
938
+    }
939
+
940
+    // 上传之后删除组图input
941
+    function ClearPicArr(obj, path, id) {
942
+        // 删除数据库记录
943
+        $.ajax({
944
+            type:'POST',
945
+            url:"{:url('ZcwdPosition/del_imgupload')}",
946
+            data:{del_id:id,_ajax:1},
947
+            success:function(){
948
+                $(obj).parent().parent().parent().remove(); // 删除完服务器的, 再删除 html上的图片
949
+                $.ajax({
950
+                    type:'POST',
951
+                    url:"{:url('Uploadimgnew/delupload')}",
952
+                    data:{action:"del", filename:path,_ajax:1},
953
+                    success:function(){}
954
+                }); 
955
+            }
956
+        });
957
+    }
958
+
959
+    // 代码调用js
960
+    function copyToClipBoard(id) {
961
+        var adstr = "{eyou:ad aid='" + id + "'}\r\n   <a href='{$"+"field.links}' {$"+"field.target}><img src='{$"+"field.litpic}' alt='{$"+"field.title}' /></a>\r\n   广告注释:{$"+"field.intro}\r\n{/eyou:ad";
962
+        var contentdiv = '<div class="dialog_content" style="margin: 0px; padding: 0px;"><dl style="padding:10px 30px;line-height:30px"><dd>标签 ad 调用:</dd>';
963
+        contentdiv += '<textarea rows="4" cols="60" style="width:400px;height:100px;">' + adstr + '}</textarea>';
964
+        contentdiv += '<dd style="border-top: dotted 1px #E7E7E7; color: #F60;">请将对应标签代码复制并粘贴到对应模板文件中!</dd></dl></div>';
965
+        layer.open({
966
+            title: '代码调用',
967
+            type: 1,
968
+            shade: layer_shade,
969
+            skin: 'layui-layer-demo',
970
+            area: ['480px', '260px'], //宽高
971
+            content: contentdiv
972
+        });
973
+    }
974
+
975
+    // 图集相册的拖动排序相关 js
976
+    $( ".sort-list" ).sortable({
977
+        start: function( event, ui) {
978
+        
979
+        }
980
+        ,stop: function( event, ui ) {
981
+
982
+        }
983
+    });
984
+    //因为他们要拖动,所以尽量设置他们的文字不能选择。  
985
+    // $( ".sort-list" ).disableSelection();
986
+</script>
987
+
988
+{include file="public/footer" /}

+ 277
- 0
application/admin/template/zcwf_position/index.htm View File

@@ -0,0 +1,277 @@
1
+{include file="public/layout" /}
2
+
3
+<body class="bodystyle" style="cursor: default; -moz-user-select: inherit;">
4
+<div id="append_parent"></div>
5
+<div id="ajaxwaitid"></div>
6
+<div class="page min-hg-c-10">
7
+
8
+
9
+    {include file="zc_position/admin_bar" /}
10
+
11
+
12
+    <div class="flexigrid">
13
+        <div class="mDiv">
14
+            <div class="ftitle">
15
+				{if condition="$main_lang == $admin_lang || !empty($global['language_split'])"}
16
+				    {eq name="$Think.const.CONTROLLER_NAME.'@add'|is_check_access" value="1"}
17
+        				 <div class="fbutton" style="display:none;">
18
+        				     <a href="javascript:void(0);" data-href="{:url('ZcwdPosition/add')}" onclick="openFullframe(this, '新增职称', '80%', '70%');">
19
+        				         <div class="add">
20
+        				             <span><i class="layui-icon layui-icon-addition"></i>新增职称</span>
21
+        				         </div>
22
+        				     </a>
23
+        				 </div>
24
+				    {/eq}
25
+				 {/if}
26
+            </div>
27
+            <form id="searchForm" class="navbar-form form-inline" action="{:url('ZcwdPosition/index')}" method="get" onsubmit="layer_loading('正在处理');">
28
+                {$searchform.hidden|default=''}
29
+                <div class="sDiv">
30
+                    <div class="sDiv2" style="display: none;">
31
+                        <select name="type" class="select" style="margin:0px 5px;">
32
+                            <option value="">--选择地区--</option>
33
+
34
+                            {eyou:foreach name='$pro_list' item='field1'}
35
+                            <option value="{$field1.id}" {eq name="$Request.param.type" value="$field1.id"}selected{/eq}>{$field1.name}</option>
36
+                            {/eyou:foreach}
37
+
38
+                        </select>
39
+                    </div>
40
+                    <div class="sDiv2">
41
+                        <input type="text" size="30" name="keywords" value="{$Request.param.keywords}" class="qsbox" placeholder="名称搜索...">
42
+                        <input type="submit" class="btn" value="搜索">
43
+						<i class="iconfont e-sousuo"></i>
44
+                    </div>
45
+                </div>
46
+            </form>
47
+        </div>
48
+
49
+        <div class="hDiv">
50
+            <div class="hDivBox">
51
+                <table cellspacing="0" cellpadding="0" style="width: 100%">
52
+                    <thead>
53
+                        <tr>
54
+                            {if condition="$main_lang == $admin_lang || !empty($global['language_split'])"}
55
+                                <th class="sign w40" axis="col0">
56
+                                    <div class="tc"><input type="checkbox" class="checkAll"></div>
57
+                                </th>
58
+                            {/if}
59
+
60
+                            <th abbr="article_title" axis="col3" class="w60">
61
+                                <div class="tc">ID</div>
62
+                            </th>
63
+
64
+                            <th abbr="article_title" axis="col3">
65
+                                <div class="tl text-l10" style="width: 100%">条件名称</div>
66
+                            </th>
67
+
68
+                            <th abbr="article_title" axis="col3" class="w100">
69
+                                <div class="tc">触发规则</div>
70
+                            </th>
71
+
72
+
73
+                            <th abbr="article_title" axis="col3" class="w100">
74
+                                <div class="tc">是否需要前置证书</div>
75
+                            </th>
76
+
77
+                            <th abbr="article_title" axis="col3" class="w120">
78
+                                <div class="tc">主题图片</div>
79
+                            </th>
80
+
81
+                            <th abbr="article_time" axis="col6" class="w60">
82
+                                <div class="tc">启用</div>
83
+                            </th>
84
+
85
+                            <th axis="col1" class="w180">
86
+                                <div class="tc">操作</div>
87
+                            </th>
88
+                        </tr>
89
+                    </thead>
90
+                </table>
91
+            </div>
92
+        </div>
93
+
94
+        <div class="bDiv" style="height: auto;">
95
+            <div id="flexigrid" cellpadding="0" cellspacing="0" border="0">
96
+                <table style="width: 100%">
97
+                    <tbody>
98
+                    {empty name="list"}
99
+                        <tr>
100
+                            <td class="no-data" align="center" axis="col0" colspan="50">
101
+                                <div class="no_row">
102
+                                    <div class="no_pic"><img src="__SKIN__/images/null-data.png"></div>
103
+                                </div>
104
+                            </td>
105
+                        </tr>
106
+                    {else/}
107
+                        {foreach name="list" item="vo" key="k" }
108
+                            <tr>
109
+                                {if condition="$main_lang == $admin_lang || !empty($global['language_split'])"}
110
+                                <td class="sign">
111
+                                    <div class="w40 tc"> <input type="checkbox" name="ids[]" value="{$vo.id}"> </div>
112
+                                </td>
113
+                                {/if}
114
+                                <td>
115
+                                    <div class="tc w60">
116
+                                    {eq name='$main_lang' value='$admin_lang'}
117
+                                        {$vo.id}
118
+                                    {else /}
119
+                                        {$main_adv_list[$vo['id']]['id']|default=$vo['id']}
120
+                                    {/eq}
121
+                                    </div>
122
+                                </td>
123
+
124
+                                <td align="left" style="width:100%;">
125
+                                    <div class="tl text-l10">
126
+                                        {eq name="$Think.const.CONTROLLER_NAME.'@edit'|is_check_access" value="1"}
127
+                                            <a href="javascript:void(0);" data-href="{:url('ZcwdPosition/edit',array('id'=>$vo['id']))}" data-closereload="1" onclick="openFullframe(this, '编辑广告', '100%', '100%');">{$vo.title}</a>
128
+                                        {else /}
129
+                                            {$vo.title}
130
+                                        {/eq}
131
+                                    </div>
132
+                                </td>
133
+                                <td>
134
+                                    <div class="tc w100">
135
+
136
+                                       或
137
+
138
+                                    </div>
139
+                                </td>
140
+
141
+
142
+                                <td>
143
+                                    <div class="tc w100">
144
+
145
+                                        {eyou:if condition='($vo.is_zs > 0)'}
146
+                                        需要 <?php echo count(json_decode($vo['zhengshu'])); ?>个
147
+                                        {eyou:else /}
148
+                                        不需要
149
+                                        {/eyou:if}
150
+
151
+                                    </div>
152
+                                </td>
153
+                                <td>
154
+                                    <div class="tc w120">
155
+                                        <ul class="adpic">
156
+                                            {volist name="$vo.ad" id="vs" length="1" }
157
+                                                <li>
158
+                                                    <img src="{$vs.litpic}"> {eq name="$vo.type" value="1"}<span>{$vo.ad_count}</span>{/eq}
159
+                                                </li>
160
+                                            {/volist}
161
+                                        </ul>
162
+                                    </div>
163
+                                </td>
164
+                                <td>
165
+                                    <div class="tc w60">
166
+                                        {if condition="$vo['status'] eq 1"}
167
+                                            <span class="yes" {eq name="$Think.const.CONTROLLER_NAME.'@edit'|is_check_access" value="1"}onClick="changeTableVal('zcwd_position','id','{$vo.id}','status',this);"{/eq} ><i class="fa fa-check-circle"></i>是</span>
168
+                                        {else /}
169
+                                            <span class="no" {eq name="$Think.const.CONTROLLER_NAME.'@edit'|is_check_access" value="1"}onClick="changeTableVal('zcwd_position','id','{$vo.id}','status',this);"{/eq} ><i class="fa fa-ban"></i>否</span>
170
+                                        {/if}
171
+                                    </div>
172
+                                </td>
173
+                                <td class="operation">
174
+                                    <div class="w180 tc">
175
+                                        {eq name="$Think.const.CONTROLLER_NAME.'@edit'|is_check_access" value="1"}
176
+                                            <a href="javascript:void(0);" data-href="{:url('ZcwfPosition/edit',array('id'=>$vo['id']))}" data-closereload="1" class="btn blue" onclick="openFullframe(this, '编辑前置条件规则', '80%', '70%');">编辑</a> <i></i>
177
+                                        {/eq}
178
+
179
+                                        {if condition="$main_lang == $admin_lang || !empty($global['language_split'])"}
180
+                                            {eq name="$Think.const.CONTROLLER_NAME.'@del'|is_check_access" value="1"}
181
+                                                <a class="btn red"  href="javascript:void(0);" data-url="{:url('ZcwfPosition/del')}" data-id="{$vo.id}" onClick="delfun(this);">删除</a>
182
+                                            {/eq} <!--<i></i>-->
183
+                                        {/if}
184
+    									
185
+                                       <!-- <a class="btn blue" href="javascript:void(0);" onclick="copyToClipBoard({$main_adv_list[$vo['id']]['id']|default=$vo['id']}, 1, {$vo['type']})">标签调用</a>-->
186
+                                    </div>
187
+                                </td>
188
+                            </tr>
189
+                        {/foreach}
190
+                    {/empty}
191
+                    </tbody>
192
+                </table>
193
+            </div>
194
+            <div class="iDiv" style="display: none;"></div>
195
+        </div>
196
+        {notempty name="list"}
197
+        <div class="tDiv">
198
+            <div class="tDiv2">
199
+                {if condition="$main_lang == $admin_lang || !empty($global['language_split'])"}
200
+                    <div class="fbutton checkboxall"> <input type="checkbox" class="checkAll"> </div>
201
+                    {eq name="$Think.const.CONTROLLER_NAME.'@del'|is_check_access" value="1"}
202
+                        <div class="fbutton">
203
+                            <a onclick="batch_del(this, 'ids');" data-url="{:url('ZcwdPosition/del')}" class="layui-btn layui-btn-primary">批量删除</a>
204
+                        </div>
205
+                    {/eq}
206
+                {/if}
207
+                <!-- 分页 -->
208
+                {include file="public/page" /}
209
+            </div>
210
+            <div style="clear:both"></div>
211
+        </div>
212
+        {/notempty}
213
+    </div>
214
+</div>
215
+
216
+<script type="text/javascript">
217
+    $(function() {
218
+        $('input[name*=ids]').click(function() {
219
+            if ($('input[name*=ids]').length == $('input[name*=ids]:checked').length) {
220
+                $('.checkAll').prop('checked', 'checked');
221
+            } else {
222
+                $('.checkAll').prop('checked', false);
223
+            }
224
+        });
225
+        $('input[type=checkbox].checkAll').click(function() {
226
+            $('input[type=checkbox]').prop('checked', this.checked);
227
+        });
228
+    });
229
+    
230
+    $(document).ready(function() {
231
+        // 表格行点击选中切换
232
+        $('#flexigrid > table>tbody >tr').click(function() {
233
+            $(this).toggleClass('trSelected');
234
+        });
235
+
236
+        // 点击刷新数据
237
+        $('.fa-refresh').click(function() {
238
+            location.href = location.href;
239
+        });
240
+
241
+        $('#searchForm select[name=type]').change(function(){
242
+            $('#searchForm').submit();
243
+        });
244
+    });
245
+
246
+    /**
247
+     * 代码调用js
248
+     * @param id  id
249
+     * @param limit 条数
250
+     */
251
+    function copyToClipBoard(id, limit, type) {
252
+        var advstr = '';
253
+        if (1 == type) {
254
+            advstr = "{eyou:adv pid='" + id + "'}\r\n   <img src='{$"+"field.litpic}' alt='{$"+"field.title}' />\r\n{/eyou:adv";
255
+        } else if (2 == type) {
256
+            advstr = "{eyou:adv pid='" + id + "'}\r\n   <video src='{$"+"field.litpic}' controls preload='auto' oncontextmenu='return fase'></video>\r\n{/eyou:adv";
257
+        } else if (3 == type) {
258
+            advstr = "{eyou:adv pid='" + id + "'}\r\n   {$"+"field.intro}\r\n{/eyou:adv";
259
+        }
260
+        var contentdiv = '<div class="dialog_content" style="margin: 0px; padding: 0px;"><dl style="padding:10px 30px;line-height:30px"><dd>标签 adv 调用:</dd>';
261
+        contentdiv += '<textarea rows="4" cols="60" style="width:400px;height:60px;">' + advstr + '}</textarea>';
262
+        contentdiv += '<dd>JavaScript:</dd>';
263
+        contentdiv += '<dd><input type="text" style=" width:400px;" value="<script type=&quot;text/javascript&quot; src=&quot;http://' + '{$Think.server.http_host}' + '__ROOT_DIR__/index.php?m=api&amp;c=Other&amp;a=other_show&amp;pid=' + id + '&amp;row='+limit+'&quot;><\/script>"></dd>';
264
+        contentdiv += '<dd style="border-top: dotted 1px #E7E7E7; color: #F60;">请将标签adv或JavaScript代码复制并粘贴到对应模板文件中!</dd></dl></div>';
265
+        layer.open({
266
+            title: '代码调用',
267
+            type: 1,
268
+            shade: layer_shade,
269
+            skin: 'layui-layer-demo',
270
+            area: ['480px', '280px'], //宽高
271
+            content: contentdiv
272
+        });
273
+    }
274
+
275
+</script>
276
+
277
+{include file="public/footer" /}

+ 36
- 5
application/admin/template/zczs_position/add.htm View File

@@ -33,12 +33,24 @@
33 33
                     {/eyou:foreach}
34 34
                          */
35 35
                     ?>
36
-                    <select name="type" class="select" id="selectTest" style="margin:0px 5px;height:30px;">
37
-                        <option value="0">初级</option>
38
-                        <option value="1">中级</option>
39
-                        <option value="2">高级</option>
36
+                    <select name="type2" class="select" id="selectTest" style="margin:0px 5px;height:30px;">
37
+                        {eyou:foreach name='$pos_list' item='field1'}
38
+                        <option value="{$field1.id}" {eq name="$pid" value="$field1.id"}selected{/eq}>{$field1.name}</option>
39
+                        {/eyou:foreach}
40 40
                     </select>
41 41
 
42
+                    {eyou:notempty name='$pos_list2' /}
43
+                    <select name="type" class="select" id="selectTest2" style="margin:0px 5px;height:30px;">
44
+                        {eyou:foreach name='$pos_list2' item='field1'}
45
+                        <option value="{$field1.id}" {eq name="$pid" value="$field1.id"}selected{/eq}>{$field1.name}</option>
46
+                        {/eyou:foreach}
47
+                    </select>
48
+                    {eyou:else /}
49
+                    <span>请先添加二级分类</span>
50
+                    <input type="hidden" name="type" value="">
51
+                    {/eyou:notempty}
52
+
53
+
42 54
                     <script>
43 55
                         $(function(){
44 56
                             $("#selectTest").change(function(e){
@@ -49,6 +61,20 @@
49 61
                                 }else{
50 62
                                     //$('#citychoose').hide();
51 63
                                 }
64
+
65
+                                //ajax
66
+                                $.ajax({
67
+                                    type:'POST',
68
+                                    url:"{:url('ZczsPosition/getType', ['_ajax'=>1])}",
69
+                                    data:{
70
+                                        id: $(this).val()
71
+                                        ,_ajax:1
72
+                                    },
73
+                                    success:function(res){
74
+                                        $('#selectTest2').html(res.data);
75
+                                    }
76
+                                });
77
+
52 78
                             });
53 79
                         });
54 80
                     </script>
@@ -662,7 +688,12 @@
662 688
     // 判断输入框是否为空
663 689
     function checkForm(){
664 690
         if($('input[name=title]').val() == ''){
665
-            layer.msg('广告位名称不能为空!', {icon: 2,time: 1000});
691
+            layer.msg('名称不能为空!', {icon: 2,time: 1000});
692
+            return false;
693
+        }
694
+
695
+        if($('input[name=type]').val() == ''){
696
+            layer.msg('分类不能为空,请添加二级分类!', {icon: 2,time: 1000});
666 697
             return false;
667 698
         }
668 699
 

+ 697
- 0
application/admin/template/zczs_position/addtype.htm View File

@@ -0,0 +1,697 @@
1
+{include file="public/layout" /}
2
+
3
+<body class="bodystyle" style="overflow-y: scroll;">
4
+<div id="toolTipLayer" style="position: absolute; z-index: 9999; display: none; visibility: visible; left: 95px; top: 573px;"></div>
5
+<div id="append_parent"></div>
6
+<div id="ajaxwaitid"></div>
7
+<div class="page min-hg-c-10">
8
+    <form class="form-horizontal" id="post_form" action="{:url('ZcPosition/add')}" method="post">
9
+        <div class="ncap-form-default">
10
+
11
+            <input type="hidden" name="id" value="{$id}"/>
12
+
13
+            <dl class="row">
14
+                <dt class="tit"> <label for="title"><em>*</em>上一级</label> </dt>
15
+                <dd class="opt">
16
+                    <select name="pid" class="select" id="selectTest222" style="margin:0px 5px;height:30px;">
17
+                        <option value="0">顶级分类</option>
18
+                        {eyou:foreach name='$pos_list' item='field1'}
19
+                        <option value="{$field1.id}" {eq name="$Request.param.type" value="$field1.id"}selected{/eq}>{$field1.name}</option>
20
+                        {/eyou:foreach}
21
+                    </select>
22
+
23
+                    <p class="notic2 red" id="title_tips" style="margin-top:10px;">
24
+                    </p>
25
+
26
+                </dd>
27
+            </dl>
28
+
29
+            <dl class="row">
30
+                <dt class="tit"> <label for="title"><em>*</em>分类名称</label> </dt>
31
+                <dd class="opt">
32
+                    <input type="text" name="title" id="title" onkeyup="DetectionTitleRepeat(this);" class="input-txt" autocomplete="off">
33
+                    <span class="err"></span>
34
+                    <p class="notic2 red" id="title_tips"></p>
35
+                </dd>
36
+            </dl>
37
+
38
+
39
+
40
+
41
+            <dl class="row" id="citychoose" style="display: none;">
42
+                <dt class="tit"> <label for="title"><em>*</em>绑定证书</label> </dt>
43
+                <dd class="opt">
44
+
45
+                    <!---checked-->
46
+                    {eyou:foreach name='$pro_list' item='field1'}
47
+                    <hr/>{$pro_list_t[$key]}<br/>
48
+                    {eyou:foreach name='$field1' item='field2'}
49
+                    <span style="margin-right: 10px;"><input type="checkbox" name="map[]" value="{$field2.id}" id="category{$field2.id}" {$field2.is_check} />{$field2.title}</span>
50
+                    {/eyou:foreach}
51
+                    {/eyou:foreach}
52
+
53
+                    <span class="err"></span>
54
+                    <p class="notic2 red" id="title_tips"></p>
55
+                </dd>
56
+            </dl>
57
+
58
+
59
+
60
+            <div class="bot"><a href="JavaScript:void(0);" onclick="checkForm();" class="ncap-btn-big ncap-btn-green" id="submitBtn">确认提交</a></div>
61
+        </div>
62
+    </form>
63
+</div>
64
+
65
+<script type="text/javascript">
66
+    var SelectedType = 1;
67
+    $(function() {
68
+        // 新增时,广告类型默认选中图片类型
69
+        $('#type1').prop('checked', 'checked');
70
+        // 新增时,默认显示图片上传
71
+        $('#1615775137_1').show();
72
+        // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
73
+        VideoLitpicValue('#video_litpic');
74
+    });
75
+
76
+    // 切换广告类型
77
+    function TypeSwitch(typeValue) {
78
+        // 隐藏全部类型内容
79
+        $('.1615775137_dl').hide();
80
+        // 显示指定类型内容
81
+        $('#1615775137_'+typeValue).show();
82
+        // 切换类型后设置为当前切换的类型
83
+        SelectedType = typeValue;
84
+        // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
85
+        VideoLitpicValue('#video_litpic');
86
+    }
87
+
88
+    // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
89
+    function VideoLitpicValue(obj) {
90
+        // 获取广告内容(多媒体为播放链接)
91
+        // var video_litpic = $(obj).val();
92
+        // 判断隐藏/显示预览按钮if (2 == SelectedType && video_litpic)
93
+        if (2 == SelectedType) {
94
+            $('#PreviewVideo').show();
95
+        } else {
96
+            $('#PreviewVideo').hide();
97
+        }
98
+    }
99
+
100
+    // 打开预览视频
101
+    function OpenPreviewVideo() {
102
+        // 获取视频链接
103
+        var video_litpic = $('#video_litpic').val();
104
+        if (video_litpic == '') {
105
+            $('#video_litpic').focus();
106
+            showErrorMsg('请先上传视频');
107
+            return false;
108
+        }
109
+
110
+        /* 视频链接后缀验证处理 */
111
+        var fileExt = video_litpic.substr(video_litpic.lastIndexOf('.')).toLowerCase();
112
+        var fileExt = judgeExt(fileExt);
113
+        if (fileExt == -1) {
114
+            $('#video_litpic').focus();
115
+            showErrorMsg('不支持的视频格式,可在附件设置中修改');
116
+            return false;
117
+        }
118
+        /* END */
119
+
120
+        /* 视频链接是否存在斜杠处理 */
121
+        var fileInfo = video_litpic.lastIndexOf('/');
122
+        if (fileInfo == -1) {
123
+            $('#video_litpic').focus();
124
+            showErrorMsg('视频链接不完整,无法正常预览');
125
+            return false;
126
+        }
127
+        /* END */
128
+
129
+        // 打开视频播放
130
+        $.ajax({
131
+            type : 'post',
132
+            url  : $('#OpenPreviewVideoUrl').val(),
133
+            data : {video_litpic: video_litpic},
134
+            dataType : 'json',
135
+            success : function(res) {
136
+                if (1 == res.code) {
137
+                    var PreviewVideo = "<video style='width:100%; height:100%;' src='"+res.url+"' controls preload='auto' oncontextmenu='return fase' autoplay></video>";
138
+                    layer.open({
139
+                        type: 1,
140
+                        title: false,
141
+                        fixed: true, //不固定
142
+                        shadeClose: false,
143
+                        shade: layer_shade,
144
+                        area: ['80%', '80%'],
145
+                        content: PreviewVideo
146
+                    });
147
+                } else {
148
+                    showErrorMsg(res.msg);
149
+                }
150
+            },
151
+            error: function(e) {
152
+                showErrorAlert(e.responseText);
153
+            }
154
+        });
155
+    }
156
+
157
+    // 上传媒体文件
158
+    function upload_video_litpic_1615775137(e) {
159
+        var data_type = $(e).attr('data-type');
160
+        if ('qiniu' == data_type) {
161
+            // 七牛云上传
162
+            upload_video_litpic_qiniu(e);
163
+        } else if ('oss' == data_type) {
164
+            // OSS上传
165
+            upload_video_litpic_oss(e);
166
+        } else if ('cos' == data_type) {
167
+            // COS上传
168
+            upload_video_litpic_cos(e);
169
+        } else {
170
+            // 本地上传
171
+            upload_video_litpic_local(e);
172
+        }
173
+    }
174
+
175
+    // 七牛云上传
176
+    function upload_video_litpic_qiniu(e) {
177
+        // 获取文件路径名
178
+        var file = $(e)[0].files[0];
179
+
180
+        // 验证上传格式
181
+        var fileName = file.name;
182
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
183
+        var ext = judgeExt(fileExt);
184
+        if (ext == -1) {
185
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
186
+            return false;
187
+        }
188
+
189
+        // 验证上传大小
190
+        var size = "{$upload_max_filesize}";
191
+        if (file.size > size) {
192
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
193
+            return false;
194
+        }
195
+
196
+        // 执行上传
197
+        layer_loading('上传本地');
198
+        $.ajax({
199
+            type: 'POST',
200
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Qiniuyun&a=qiniu_upload',
201
+            data: {_ajax: 1},
202
+            dataType: "JSON",
203
+            success: function(res1) {
204
+                if (1 == res1.code) {
205
+                    var token  = res1.data.token;
206
+                    var formData = new FormData();
207
+                    formData.append('file', file);
208
+                    formData.append('token', token);
209
+
210
+                    fileName = res1.data.filePath + fileExt;
211
+                    formData.append('key', fileName);
212
+                    $.ajax({
213
+                        url: res1.data.uphost,
214
+                        type: 'POST',
215
+                        dataType: 'JSON',
216
+                        data: formData,
217
+                        timeout: 1200000,
218
+                        cache: false,
219
+                        processData: false,
220
+                        contentType: false,
221
+                        xhr: function () {
222
+                            myXhr = $.ajaxSettings.xhr();
223
+                            if (myXhr.upload) {
224
+                                myXhr.upload.addEventListener('progress', function(e){
225
+                                    var curr = e.loaded;
226
+                                    var total = e.total;
227
+                                    process = parseInt(curr / total * 100);
228
+                                    $("#upload_video_litpic_qiniu").text('上传中...'+process+"%");
229
+                                });
230
+                            }
231
+                            return myXhr;
232
+                        },
233
+                        success: function(res2) {
234
+                            layer.closeAll();
235
+                            $("#upload_video_litpic_qiniu").text('上传成功');
236
+                            setTimeout(function() {
237
+                                $('#upload_video_litpic_qiniu').text('七牛云上传');
238
+                            }, 2000);
239
+                            var video_url = res1.data.domain + "/" + res2.key;
240
+                            $("#video_litpic").val(video_url);
241
+                        },
242
+                        error: function(e) {
243
+                            layer.closeAll();
244
+                            showErrorMsg(e.responseText);
245
+                            return false;
246
+                        }
247
+                    });
248
+                } else {
249
+                    layer.closeAll();
250
+                    showErrorMsg(res1.msg);
251
+                }
252
+            },
253
+            error: function(e) {
254
+                layer.closeAll();
255
+                showErrorMsg(e.responseText);
256
+            }
257
+        });
258
+    }
259
+
260
+    // 阿里云OSS上传
261
+    function upload_video_litpic_oss(e) {
262
+        // 获取文件路径名
263
+        var file = $(e)[0].files[0];
264
+
265
+        // 验证上传格式
266
+        var fileName = file.name;
267
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
268
+        var ext = judgeExt(fileExt);
269
+        if (ext == -1) {
270
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
271
+            return false;
272
+        }
273
+
274
+        // 验证上传大小
275
+        var size = "{$upload_max_filesize}";
276
+        if (file.size > size) {
277
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
278
+            return false;
279
+        }
280
+
281
+        // 执行上传
282
+        layer_loading('上传阿里云OSS');
283
+        $.ajax({
284
+            type: 'POST',
285
+            url: '__ROOT_DIR__/index.php?m=plugins&c=AliyunOss&a=oss_upload',
286
+            data: {_ajax: 1},
287
+            dataType: "JSON",
288
+            success: function(res1){
289
+                if (1 == res1.code){
290
+                    fileName = res1.data.filePath + fileExt;
291
+                    //组装发送数据
292
+                    var request = new FormData();
293
+                    request.append("OSSAccessKeyId",res1.data.accessid);
294
+                    request.append("policy",res1.data.policy);
295
+                    request.append("Signature",res1.data.signature);
296
+                    request.append("key",fileName);
297
+                    request.append("success_action_status",201);
298
+                    request.append('file', file);
299
+
300
+                    $.ajax({
301
+                        url : res1.data.host,
302
+                        data : request,
303
+                        processData: false,
304
+                        cache: false,
305
+                        contentType: false,
306
+                        dataType: 'xml',
307
+                        type : 'post',
308
+                        xhr: function () {
309
+                            myXhr = $.ajaxSettings.xhr();
310
+                            if (myXhr.upload) {
311
+                                myXhr.upload.addEventListener('progress', function(e){
312
+                                    var curr = e.loaded;
313
+                                    var total = e.total;
314
+                                    var process = parseInt(curr / total * 100);
315
+                                    $("#upload_video_litpic_oss").text('上传中...'+process+"%");
316
+                                });
317
+                            }
318
+                            return myXhr;
319
+                        },
320
+                        success : function(data) {
321
+                            layer.closeAll();
322
+                            var res = $(data).find('PostResponse');
323
+                            if (res) {
324
+                                var key = res.find('Key').text();
325
+                                $("#upload_video_litpic_oss").text('上传成功');
326
+                                setTimeout(function() {
327
+                                    $('#upload_video_litpic_oss').text('oss上传');
328
+                                }, 2000);
329
+                                var video_url = res1.data.domain + "/" + key;
330
+                                $("#video_litpic").val(video_url);
331
+                            } else {
332
+                                $("#upload_video_litpic_oss").text('上传失败');
333
+                                setTimeout(function() {
334
+                                    $('#upload_video_litpic_oss').text('oss上传');
335
+                                }, 2000);
336
+                            }
337
+                        },
338
+                        error : function(e) {
339
+                            layer.closeAll();
340
+                            console.log(e.responseText);
341
+                        }
342
+                    });
343
+                } else {
344
+                    layer.closeAll();
345
+                    showErrorMsg(res1.msg);
346
+                }
347
+            },
348
+            error: function(e) {
349
+                layer.closeAll();
350
+                showErrorMsg(e.responseText);
351
+            }
352
+        });
353
+    }
354
+
355
+    // 腾讯云COS上传
356
+    function upload_video_litpic_cos(e) {
357
+        // 获取文件路径名
358
+        var file = $(e)[0].files[0];
359
+
360
+        // 验证上传格式
361
+        var fileName = file.name;
362
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
363
+        var ext = judgeExt(fileExt);
364
+        if (ext == -1) {
365
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
366
+            return false;
367
+        }
368
+
369
+        // 验证上传大小
370
+        var size = "{$upload_max_filesize}";
371
+        if (file.size > size) {
372
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
373
+            return false;
374
+        }
375
+
376
+        // 上传参数
377
+        var formData = new FormData();
378
+        formData.append('file', file);
379
+        formData.append('file_ext', fileExt);
380
+
381
+        // 执行上传
382
+        $.ajax({
383
+            type: 'post',
384
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Cos&a=cos_upload&_ajax=1',
385
+            data: formData,
386
+            contentType: false,
387
+            processData: false,
388
+            dataType: 'json',
389
+            xhr: function () {
390
+                myXhr = $.ajaxSettings.xhr();
391
+                if (myXhr.upload) {
392
+                    myXhr.upload.addEventListener('progress', function(e){
393
+                        var curr = e.loaded;
394
+                        var total = e.total;
395
+                        process = parseInt(curr / total * 100);
396
+                        if (100 == process) {
397
+                            process = 99;
398
+                            layer_loading('上传腾讯云');
399
+                        }
400
+                        $("#upload_video_litpic_cos").text('上传中...'+process+"%");
401
+
402
+                    });
403
+                }
404
+                return myXhr;
405
+            },
406
+            success: function(res) {
407
+                layer.closeAll();
408
+                if (1 == res.code) {
409
+                    $("#video_litpic").val(res.data.url);
410
+                    $("#upload_video_litpic_cos").text('上传成功');
411
+                } else {
412
+                    $("#upload_video_litpic_cos").text('上传失败');
413
+                }
414
+                setTimeout(function() {
415
+                    $('#upload_video_litpic_cos').text('cos上传');
416
+                }, 2000);
417
+            },
418
+            error: function(e) {
419
+                layer.closeAll();
420
+                showErrorMsg(e.responseText);
421
+            }
422
+        });
423
+    }
424
+
425
+    // 本地上传
426
+    function upload_video_litpic_local(e) {
427
+        // 获取文件路径名
428
+        var file = $(e)[0].files[0];
429
+
430
+        // 验证上传格式
431
+        var fileName = file.name;
432
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
433
+        var ext = judgeExt(fileExt);
434
+        if (ext == -1) {
435
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
436
+            return false;
437
+        }
438
+
439
+        // 验证上传大小
440
+        var size = "{$upload_max_filesize}";
441
+        if (file.size > size) {
442
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
443
+            return false;
444
+        }
445
+
446
+        // 定义上传数据
447
+        var formData = new FormData();
448
+        formData.append('file', file);
449
+
450
+        // 执行上传
451
+        layer_loading('上传本地');
452
+        $.ajax({
453
+            type: 'post',
454
+            url : "{:url('Ueditor/upVideo', ['savepath'=>'media'])}",
455
+            data: formData,
456
+            contentType: false,
457
+            processData: false,
458
+            dataType: 'json',
459
+            xhr: function () {
460
+                myXhr = $.ajaxSettings.xhr();
461
+                if (myXhr.upload) {
462
+                    myXhr.upload.addEventListener('progress', function(e){
463
+                        var curr = e.loaded;
464
+                        var total = e.total;
465
+                        process = parseInt(curr / total * 100);
466
+                        $("#upload_video_litpic_local").html('上传中...'+process+"%");
467
+                    });
468
+                }
469
+                return myXhr;
470
+            },
471
+            success: function (res) {
472
+                layer.closeAll();
473
+                $("#upload_video_litpic_local").html('上传成功');
474
+                setTimeout(function() {
475
+                    $('#upload_video_litpic_local').html('本地上传');
476
+                }, 2000);
477
+                if ("SUCCESS" == res.state) {
478
+                    $("#video_litpic").val(res.url);
479
+                } else {
480
+                    showErrorMsg(res.msg);
481
+                }
482
+            }
483
+        });
484
+    }
485
+
486
+    // 验证格式
487
+    function judgeExt(ext) {
488
+        var type = "{$media_type}";
489
+        var extArr = [];
490
+        extArr = type.split("|");
491
+        var ext = ext.replace(".","");
492
+        return extArr.indexOf(ext);
493
+    }
494
+</script>
495
+
496
+<script type="text/javascript">
497
+    var parentObj = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
498
+    // 勾选新窗口打开链接
499
+    function CheckedTarget(t){
500
+        if ($(t).is(':checked')) {
501
+            $(t).parent().find('input[name="img_target[]"]').val(1);
502
+        }else{
503
+            $(t).parent().find('input[name="img_target[]"]').val(0);
504
+        }
505
+    }
506
+    // 鼠标事件,加载查看大图和更新图片
507
+    function upimgMouseover(obj)
508
+    {
509
+        $(obj).find('div.icaction').show();
510
+        $(obj).find('div.cover-bg').show();
511
+    }
512
+    function upimgMouseout(obj)
513
+    {
514
+        $(obj).find('div.icaction').hide();
515
+        $(obj).find('div.cover-bg').hide();
516
+    }
517
+
518
+    // 检测广告名称是否存在重复
519
+    function DetectionTitleRepeat(obj) {
520
+        // 当前广告ID
521
+        var id = 0;
522
+        // 传入的广告名称
523
+        var title = $(obj).val();
524
+        // 执行检测
525
+        $.ajax({
526
+            type: 'post',
527
+            url : "{:url('ZcPosition/detection_title_repeat', ['_ajax'=>1])}",
528
+            data: {id: id, title: title},
529
+            dataType: 'json',
530
+            success: function(res) {
531
+                if (0 == res.code) {
532
+                    $('#title_tips').show().html(res.msg);
533
+                } else {
534
+                    $('#title_tips').hide().html('');
535
+                }
536
+            },
537
+            error: function(e){
538
+                layer.closeAll();
539
+                showErrorAlert(e.responseText);
540
+            }
541
+        });
542
+    }
543
+
544
+    // 判断输入框是否为空
545
+    function checkForm(){
546
+        if($('input[name=title]').val() == ''){
547
+            layer.msg('分类名称不能为空!', {icon: 2,time: 1000});
548
+            return false;
549
+        }
550
+
551
+        if($('#selectTest').val() == '1'){
552
+
553
+        }
554
+
555
+        /*var checkedValues = [];
556
+        $('#post_form input[type=checkbox]:checked').each(function() {
557
+            checkedValues.push($(this).val());
558
+        });
559
+        console.log(checkedValues); // 打印选中的checkbox值
560
+        if(checkedValues.length > 0){
561
+
562
+        }else{
563
+            layer.msg('请选择证书!', {icon: 2,time: 1000});
564
+            return false;
565
+        }*/
566
+
567
+
568
+        //打印
569
+        /*console.log($('#post_form').serialize());
570
+        return false;*/
571
+
572
+
573
+        layer_loading('正在处理');
574
+        $.ajax({
575
+            type : 'post',
576
+            url : "{:url('ZczsPosition/addtypePost', ['_ajax'=>1])}",
577
+            data : $('#post_form').serialize(),
578
+            dataType : 'json',
579
+            success : function(res) {
580
+                layer.closeAll();
581
+                if (1 == res.code) {
582
+                    var _parent = parent;
583
+                    _parent.layer.close(parentObj);
584
+                    _parent.layer.msg(res.msg, {icon: 1, shade: layer_shade, time: 1000}, function() {
585
+                        _parent.window.location.reload();
586
+                    });
587
+                } else {
588
+                    showErrorMsg(res.msg);
589
+                }
590
+            },
591
+            error: function(e) {
592
+                layer.closeAll();
593
+                showErrorAlert(e.responseText);
594
+            }
595
+        });
596
+    }
597
+
598
+    // 显示信息输入框
599
+    function ShowInput(id) {
600
+        var obj = $("#"+id+"_ShowInput");
601
+        var showOrHide = obj.attr('data-showOrHide');
602
+        if ('hide' == showOrHide) {
603
+            obj.show().attr('data-showOrHide', 'show');
604
+        } else {
605
+            obj.hide().attr('data-showOrHide', 'hide');
606
+        }
607
+    }
608
+
609
+    // 隐藏信息输入
610
+    function HideInput(id) {
611
+        $("#"+id+"_ShowInput").hide().attr('data-showOrHide', 'hide');
612
+    }
613
+
614
+    // 上传图集相册回调函数
615
+    function imgupload_call_back(paths){
616
+        var last_div = $(".images_upload_tpl").html();
617
+        var inputs   = $('.span_input input');
618
+        var timestamp = 0;
619
+
620
+        for (var i=0; i<paths.length; i++){
621
+            // 生成新的时间戳
622
+            timestamp = (new Date()).getTime();
623
+            // 插入一个 新图片
624
+            $(".images_upload:eq(0)").before(last_div);
625
+            // 处理他的链接地址
626
+            $(".images_upload:eq(0)").find('span:eq(0)').attr('onclick',"Images('"+paths[i]+"', 900, 600);");
627
+            // 处理信息显示隐藏按钮
628
+            $(".images_upload:eq(0)").find('span:eq(1)').attr('onclick', "ShowInput('"+timestamp+"');");
629
+            // 处理他的图片路径
630
+            $(".images_upload:eq(0)").find('img').attr('src',paths[i]);
631
+            // 处理删除按钮
632
+            $(".images_upload:eq(0)").find('a:eq(1)').attr('onclick', "ClearPicArr(this, '"+paths[i]+"', 0);");
633
+            // 处理图片信息框ID
634
+            $(".images_upload:eq(0)").find('.load_input:eq(0)').attr('id', timestamp+'_ShowInput');
635
+
636
+            // 处理图片路径及隐藏域
637
+            if (inputs.length > '0') {
638
+                // 修改隐藏域,提交ID隐藏域
639
+                $(".images_upload:eq(0)").find('input:eq(0)').attr('name','img_id[]').attr('value','');
640
+                // 修改隐藏域,提交图片隐藏域
641
+                $(".span_input:eq(0)").find('input:eq(0)').attr('name','img_litpic[]').attr('value',paths[i]);
642
+                // 提交标题
643
+                $(".images_upload:eq(0)").find('textarea:eq(0)').attr('name','img_title[]');
644
+                // 提交跳转链接
645
+                $(".images_upload:eq(0)").find('textarea:eq(1)').attr('name','img_links[]');
646
+                // 处理内容描述
647
+                $(".images_upload:eq(0)").find('textarea:eq(2)').attr('name','img_intro[]');
648
+                // 提交新窗口选项
649
+                $(".images_upload:eq(0)").find('div.operation a:eq(0)').html("<label><input type='checkbox' title='在新窗口打开' onclick='CheckedTarget(this)'/>新窗口<input type='hidden' name='img_target[]' value='0'></label>");
650
+                // 处理收回按钮
651
+                $(".images_upload:eq(0)").find('div.operation a:eq(2)').attr('onclick', "HideInput('"+timestamp+"');").attr('title', "收回").html('<i style="font-size:16px;" class="fa fa-angle-double-up"></i>');
652
+            }
653
+        }
654
+    }
655
+
656
+    // 上传之后删除组图input
657
+    function ClearPicArr(obj,path)
658
+    {
659
+        $(obj).parent().parent().parent().remove(); // 删除完服务器的, 再删除 html上的图片
660
+        $.ajax({
661
+            type:'POST',
662
+            url:"{:url('Uploadimgnew/delupload')}",
663
+            data:{action:"del", filename:path, _ajax:1},
664
+            success:function(){}
665
+        });
666
+    }
667
+
668
+    // 代码调用js
669
+    function copyToClipBoard(id) {
670
+        var adstr = "{eyou:ad aid='" + id + "'}\r\n   <a href='{$"+"field.links}' {$"+"field.target}><img src='{$"+"field.litpic}' alt='{$"+"field.title}' /></a>\r\n{/eyou:ad";
671
+        var contentdiv = '<div class="dialog_content" style="margin: 0px; padding: 0px;"><dl style="padding:10px 30px;line-height:30px"><dd>标签 ad 调用:</dd>'
672
+        contentdiv += '<textarea rows="4" cols="60" style="width:400px;height:80px;">' + adstr + '}</textarea>'
673
+        contentdiv += '<dd style="border-top: dotted 1px #E7E7E7; color: #F60;">请将对应标签代码复制并粘贴到对应模板文件中!</dd></dl></div>'
674
+        layer.open({
675
+            title: '代码调用',
676
+            type: 1,
677
+            shade: layer_shade,
678
+            skin: 'layui-layer-demo',
679
+            area: ['480px', '240px'], //宽高
680
+            content: contentdiv
681
+        });
682
+    }
683
+
684
+    // 图集相册的拖动排序相关 js
685
+    $( ".sort-list" ).sortable({
686
+        start: function( event, ui) {
687
+
688
+        }
689
+        ,stop: function( event, ui ) {
690
+
691
+        }
692
+    });
693
+    //因为他们要拖动,所以尽量设置他们的文字不能选择。
694
+    // $( ".sort-list" ).disableSelection();
695
+</script>
696
+
697
+{include file="public/footer" /}

+ 35
- 4
application/admin/template/zczs_position/edit.htm View File

@@ -37,11 +37,23 @@
37 37
 
38 38
                     ?>
39 39
 
40
-                    <select name="type" class="select" id="selectTest" style="margin:0px 5px;height:30px;">
41
-                        <option value="0" {eq name="0" value="$field.type"}selected{/eq}>初级</option>
42
-                        <option value="1" {eq name="1" value="$field.type"}selected{/eq}>中级</option>
43
-                        <option value="2" {eq name="2" value="$field.type"}selected{/eq}>高级</option>
40
+                    <select name="type2" class="select" id="selectTest" style="margin:0px 5px;height:30px;">
41
+                        {eyou:foreach name='$pos_list' item='field1'}
42
+                        <option value="{$field1.id}" {eq name="$pid" value="$field1.id"}selected{/eq}>{$field1.name}</option>
43
+                        {/eyou:foreach}
44
+                    </select>
45
+
46
+                    {eyou:notempty name='$pos_list2' /}
47
+                    <select name="type" class="select" id="selectTest2" style="margin:0px 5px;height:30px;">
48
+                        {eyou:foreach name='$pos_list2' item='field1'}
49
+                        <option value="{$field1.id}" {eq name="$field.type" value="$field1.id"}selected{/eq}>{$field1.name}</option>
50
+                        {/eyou:foreach}
44 51
                     </select>
52
+                    {eyou:else /}
53
+                    <span>请先添加二级分类</span>
54
+                    <input type="hidden" name="type" value="">
55
+                    {/eyou:notempty}
56
+
45 57
 
46 58
                     <script>
47 59
                         $(function(){
@@ -53,6 +65,20 @@
53 65
                                 }else{
54 66
                                     //$('#citychoose').hide();
55 67
                                 }
68
+
69
+                                //ajax
70
+                                $.ajax({
71
+                                    type:'POST',
72
+                                    url:"{:url('ZczsPosition/getType', ['_ajax'=>1])}",
73
+                                    data:{
74
+                                        id: $(this).val()
75
+                                        ,_ajax:1
76
+                                    },
77
+                                    success:function(res){
78
+                                        $('#selectTest2').html(res.data);
79
+                                    }
80
+                                });
81
+
56 82
                             });
57 83
                         });
58 84
                     </script>
@@ -738,6 +764,11 @@
738 764
             return false;
739 765
         }
740 766
 
767
+        if($('input[name=type]').val() == ''){
768
+            layer.msg('分类不能为空,请添加二级分类!', {icon: 2,time: 1000});
769
+            return false;
770
+        }
771
+
741 772
         /*if($('#selectTest').val() == '1'){
742 773
             var checkedValues = [];
743 774
             $('#post_form input[type=checkbox]:checked').each(function() {

+ 697
- 0
application/admin/template/zczs_position/edittype.htm View File

@@ -0,0 +1,697 @@
1
+{include file="public/layout" /}
2
+
3
+<body class="bodystyle" style="overflow-y: scroll;">
4
+<div id="toolTipLayer" style="position: absolute; z-index: 9999; display: none; visibility: visible; left: 95px; top: 573px;"></div>
5
+<div id="append_parent"></div>
6
+<div id="ajaxwaitid"></div>
7
+<div class="page min-hg-c-10">
8
+    <form class="form-horizontal" id="post_form" action="{:url('ZcPosition/add')}" method="post">
9
+        <div class="ncap-form-default">
10
+
11
+            <input type="hidden" name="id" value="{$one.id}"/>
12
+
13
+            <dl class="row">
14
+                <dt class="tit"> <label for="title"><em>*</em>上一级</label> </dt>
15
+                <dd class="opt">
16
+                    <select name="pid" class="select" id="selectTest222" style="margin:0px 5px;height:30px;">
17
+                        <option value="0">顶级分类</option>
18
+                        {eyou:foreach name='$pos_list' item='field1'}
19
+                        <option value="{$field1.id}" {eq name="$pid" value="$field1.id"}selected{/eq}>{$field1.name}</option>
20
+                        {/eyou:foreach}
21
+                    </select>
22
+
23
+                    <p class="notic2 red" id="title_tips" style="margin-top:10px;">
24
+                    </p>
25
+
26
+                </dd>
27
+            </dl>
28
+
29
+            <dl class="row">
30
+                <dt class="tit"> <label for="title"><em>*</em>分类名称</label> </dt>
31
+                <dd class="opt">
32
+                    <input type="text" name="title" id="title" onkeyup="DetectionTitleRepeat(this);" class="input-txt" autocomplete="off" value="{$one.name}">
33
+                    <span class="err"></span>
34
+                    <p class="notic2 red" id="title_tips"></p>
35
+                </dd>
36
+            </dl>
37
+
38
+
39
+
40
+
41
+            <dl class="row" id="citychoose" style="display: none;">
42
+                <dt class="tit"> <label for="title"><em>*</em>绑定证书</label> </dt>
43
+                <dd class="opt">
44
+
45
+                    <!---checked-->
46
+                    {eyou:foreach name='$pro_list' item='field1'}
47
+                    <hr/>{$pro_list_t[$key]}<br/>
48
+                    {eyou:foreach name='$field1' item='field2'}
49
+                    <span style="margin-right: 10px;"><input type="checkbox" name="map[]" value="{$field2.id}" id="category{$field2.id}" {$field2.is_check} />{$field2.title}</span>
50
+                    {/eyou:foreach}
51
+                    {/eyou:foreach}
52
+
53
+                    <span class="err"></span>
54
+                    <p class="notic2 red" id="title_tips"></p>
55
+                </dd>
56
+            </dl>
57
+
58
+
59
+
60
+            <div class="bot"><a href="JavaScript:void(0);" onclick="checkForm();" class="ncap-btn-big ncap-btn-green" id="submitBtn">确认提交</a></div>
61
+        </div>
62
+    </form>
63
+</div>
64
+
65
+<script type="text/javascript">
66
+    var SelectedType = 1;
67
+    $(function() {
68
+        // 新增时,广告类型默认选中图片类型
69
+        $('#type1').prop('checked', 'checked');
70
+        // 新增时,默认显示图片上传
71
+        $('#1615775137_1').show();
72
+        // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
73
+        VideoLitpicValue('#video_litpic');
74
+    });
75
+
76
+    // 切换广告类型
77
+    function TypeSwitch(typeValue) {
78
+        // 隐藏全部类型内容
79
+        $('.1615775137_dl').hide();
80
+        // 显示指定类型内容
81
+        $('#1615775137_'+typeValue).show();
82
+        // 切换类型后设置为当前切换的类型
83
+        SelectedType = typeValue;
84
+        // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
85
+        VideoLitpicValue('#video_litpic');
86
+    }
87
+
88
+    // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
89
+    function VideoLitpicValue(obj) {
90
+        // 获取广告内容(多媒体为播放链接)
91
+        // var video_litpic = $(obj).val();
92
+        // 判断隐藏/显示预览按钮if (2 == SelectedType && video_litpic)
93
+        if (2 == SelectedType) {
94
+            $('#PreviewVideo').show();
95
+        } else {
96
+            $('#PreviewVideo').hide();
97
+        }
98
+    }
99
+
100
+    // 打开预览视频
101
+    function OpenPreviewVideo() {
102
+        // 获取视频链接
103
+        var video_litpic = $('#video_litpic').val();
104
+        if (video_litpic == '') {
105
+            $('#video_litpic').focus();
106
+            showErrorMsg('请先上传视频');
107
+            return false;
108
+        }
109
+
110
+        /* 视频链接后缀验证处理 */
111
+        var fileExt = video_litpic.substr(video_litpic.lastIndexOf('.')).toLowerCase();
112
+        var fileExt = judgeExt(fileExt);
113
+        if (fileExt == -1) {
114
+            $('#video_litpic').focus();
115
+            showErrorMsg('不支持的视频格式,可在附件设置中修改');
116
+            return false;
117
+        }
118
+        /* END */
119
+
120
+        /* 视频链接是否存在斜杠处理 */
121
+        var fileInfo = video_litpic.lastIndexOf('/');
122
+        if (fileInfo == -1) {
123
+            $('#video_litpic').focus();
124
+            showErrorMsg('视频链接不完整,无法正常预览');
125
+            return false;
126
+        }
127
+        /* END */
128
+
129
+        // 打开视频播放
130
+        $.ajax({
131
+            type : 'post',
132
+            url  : $('#OpenPreviewVideoUrl').val(),
133
+            data : {video_litpic: video_litpic},
134
+            dataType : 'json',
135
+            success : function(res) {
136
+                if (1 == res.code) {
137
+                    var PreviewVideo = "<video style='width:100%; height:100%;' src='"+res.url+"' controls preload='auto' oncontextmenu='return fase' autoplay></video>";
138
+                    layer.open({
139
+                        type: 1,
140
+                        title: false,
141
+                        fixed: true, //不固定
142
+                        shadeClose: false,
143
+                        shade: layer_shade,
144
+                        area: ['80%', '80%'],
145
+                        content: PreviewVideo
146
+                    });
147
+                } else {
148
+                    showErrorMsg(res.msg);
149
+                }
150
+            },
151
+            error: function(e) {
152
+                showErrorAlert(e.responseText);
153
+            }
154
+        });
155
+    }
156
+
157
+    // 上传媒体文件
158
+    function upload_video_litpic_1615775137(e) {
159
+        var data_type = $(e).attr('data-type');
160
+        if ('qiniu' == data_type) {
161
+            // 七牛云上传
162
+            upload_video_litpic_qiniu(e);
163
+        } else if ('oss' == data_type) {
164
+            // OSS上传
165
+            upload_video_litpic_oss(e);
166
+        } else if ('cos' == data_type) {
167
+            // COS上传
168
+            upload_video_litpic_cos(e);
169
+        } else {
170
+            // 本地上传
171
+            upload_video_litpic_local(e);
172
+        }
173
+    }
174
+
175
+    // 七牛云上传
176
+    function upload_video_litpic_qiniu(e) {
177
+        // 获取文件路径名
178
+        var file = $(e)[0].files[0];
179
+
180
+        // 验证上传格式
181
+        var fileName = file.name;
182
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
183
+        var ext = judgeExt(fileExt);
184
+        if (ext == -1) {
185
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
186
+            return false;
187
+        }
188
+
189
+        // 验证上传大小
190
+        var size = "{$upload_max_filesize}";
191
+        if (file.size > size) {
192
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
193
+            return false;
194
+        }
195
+
196
+        // 执行上传
197
+        layer_loading('上传本地');
198
+        $.ajax({
199
+            type: 'POST',
200
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Qiniuyun&a=qiniu_upload',
201
+            data: {_ajax: 1},
202
+            dataType: "JSON",
203
+            success: function(res1) {
204
+                if (1 == res1.code) {
205
+                    var token  = res1.data.token;
206
+                    var formData = new FormData();
207
+                    formData.append('file', file);
208
+                    formData.append('token', token);
209
+
210
+                    fileName = res1.data.filePath + fileExt;
211
+                    formData.append('key', fileName);
212
+                    $.ajax({
213
+                        url: res1.data.uphost,
214
+                        type: 'POST',
215
+                        dataType: 'JSON',
216
+                        data: formData,
217
+                        timeout: 1200000,
218
+                        cache: false,
219
+                        processData: false,
220
+                        contentType: false,
221
+                        xhr: function () {
222
+                            myXhr = $.ajaxSettings.xhr();
223
+                            if (myXhr.upload) {
224
+                                myXhr.upload.addEventListener('progress', function(e){
225
+                                    var curr = e.loaded;
226
+                                    var total = e.total;
227
+                                    process = parseInt(curr / total * 100);
228
+                                    $("#upload_video_litpic_qiniu").text('上传中...'+process+"%");
229
+                                });
230
+                            }
231
+                            return myXhr;
232
+                        },
233
+                        success: function(res2) {
234
+                            layer.closeAll();
235
+                            $("#upload_video_litpic_qiniu").text('上传成功');
236
+                            setTimeout(function() {
237
+                                $('#upload_video_litpic_qiniu').text('七牛云上传');
238
+                            }, 2000);
239
+                            var video_url = res1.data.domain + "/" + res2.key;
240
+                            $("#video_litpic").val(video_url);
241
+                        },
242
+                        error: function(e) {
243
+                            layer.closeAll();
244
+                            showErrorMsg(e.responseText);
245
+                            return false;
246
+                        }
247
+                    });
248
+                } else {
249
+                    layer.closeAll();
250
+                    showErrorMsg(res1.msg);
251
+                }
252
+            },
253
+            error: function(e) {
254
+                layer.closeAll();
255
+                showErrorMsg(e.responseText);
256
+            }
257
+        });
258
+    }
259
+
260
+    // 阿里云OSS上传
261
+    function upload_video_litpic_oss(e) {
262
+        // 获取文件路径名
263
+        var file = $(e)[0].files[0];
264
+
265
+        // 验证上传格式
266
+        var fileName = file.name;
267
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
268
+        var ext = judgeExt(fileExt);
269
+        if (ext == -1) {
270
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
271
+            return false;
272
+        }
273
+
274
+        // 验证上传大小
275
+        var size = "{$upload_max_filesize}";
276
+        if (file.size > size) {
277
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
278
+            return false;
279
+        }
280
+
281
+        // 执行上传
282
+        layer_loading('上传阿里云OSS');
283
+        $.ajax({
284
+            type: 'POST',
285
+            url: '__ROOT_DIR__/index.php?m=plugins&c=AliyunOss&a=oss_upload',
286
+            data: {_ajax: 1},
287
+            dataType: "JSON",
288
+            success: function(res1){
289
+                if (1 == res1.code){
290
+                    fileName = res1.data.filePath + fileExt;
291
+                    //组装发送数据
292
+                    var request = new FormData();
293
+                    request.append("OSSAccessKeyId",res1.data.accessid);
294
+                    request.append("policy",res1.data.policy);
295
+                    request.append("Signature",res1.data.signature);
296
+                    request.append("key",fileName);
297
+                    request.append("success_action_status",201);
298
+                    request.append('file', file);
299
+
300
+                    $.ajax({
301
+                        url : res1.data.host,
302
+                        data : request,
303
+                        processData: false,
304
+                        cache: false,
305
+                        contentType: false,
306
+                        dataType: 'xml',
307
+                        type : 'post',
308
+                        xhr: function () {
309
+                            myXhr = $.ajaxSettings.xhr();
310
+                            if (myXhr.upload) {
311
+                                myXhr.upload.addEventListener('progress', function(e){
312
+                                    var curr = e.loaded;
313
+                                    var total = e.total;
314
+                                    var process = parseInt(curr / total * 100);
315
+                                    $("#upload_video_litpic_oss").text('上传中...'+process+"%");
316
+                                });
317
+                            }
318
+                            return myXhr;
319
+                        },
320
+                        success : function(data) {
321
+                            layer.closeAll();
322
+                            var res = $(data).find('PostResponse');
323
+                            if (res) {
324
+                                var key = res.find('Key').text();
325
+                                $("#upload_video_litpic_oss").text('上传成功');
326
+                                setTimeout(function() {
327
+                                    $('#upload_video_litpic_oss').text('oss上传');
328
+                                }, 2000);
329
+                                var video_url = res1.data.domain + "/" + key;
330
+                                $("#video_litpic").val(video_url);
331
+                            } else {
332
+                                $("#upload_video_litpic_oss").text('上传失败');
333
+                                setTimeout(function() {
334
+                                    $('#upload_video_litpic_oss').text('oss上传');
335
+                                }, 2000);
336
+                            }
337
+                        },
338
+                        error : function(e) {
339
+                            layer.closeAll();
340
+                            console.log(e.responseText);
341
+                        }
342
+                    });
343
+                } else {
344
+                    layer.closeAll();
345
+                    showErrorMsg(res1.msg);
346
+                }
347
+            },
348
+            error: function(e) {
349
+                layer.closeAll();
350
+                showErrorMsg(e.responseText);
351
+            }
352
+        });
353
+    }
354
+
355
+    // 腾讯云COS上传
356
+    function upload_video_litpic_cos(e) {
357
+        // 获取文件路径名
358
+        var file = $(e)[0].files[0];
359
+
360
+        // 验证上传格式
361
+        var fileName = file.name;
362
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
363
+        var ext = judgeExt(fileExt);
364
+        if (ext == -1) {
365
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
366
+            return false;
367
+        }
368
+
369
+        // 验证上传大小
370
+        var size = "{$upload_max_filesize}";
371
+        if (file.size > size) {
372
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
373
+            return false;
374
+        }
375
+
376
+        // 上传参数
377
+        var formData = new FormData();
378
+        formData.append('file', file);
379
+        formData.append('file_ext', fileExt);
380
+
381
+        // 执行上传
382
+        $.ajax({
383
+            type: 'post',
384
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Cos&a=cos_upload&_ajax=1',
385
+            data: formData,
386
+            contentType: false,
387
+            processData: false,
388
+            dataType: 'json',
389
+            xhr: function () {
390
+                myXhr = $.ajaxSettings.xhr();
391
+                if (myXhr.upload) {
392
+                    myXhr.upload.addEventListener('progress', function(e){
393
+                        var curr = e.loaded;
394
+                        var total = e.total;
395
+                        process = parseInt(curr / total * 100);
396
+                        if (100 == process) {
397
+                            process = 99;
398
+                            layer_loading('上传腾讯云');
399
+                        }
400
+                        $("#upload_video_litpic_cos").text('上传中...'+process+"%");
401
+
402
+                    });
403
+                }
404
+                return myXhr;
405
+            },
406
+            success: function(res) {
407
+                layer.closeAll();
408
+                if (1 == res.code) {
409
+                    $("#video_litpic").val(res.data.url);
410
+                    $("#upload_video_litpic_cos").text('上传成功');
411
+                } else {
412
+                    $("#upload_video_litpic_cos").text('上传失败');
413
+                }
414
+                setTimeout(function() {
415
+                    $('#upload_video_litpic_cos').text('cos上传');
416
+                }, 2000);
417
+            },
418
+            error: function(e) {
419
+                layer.closeAll();
420
+                showErrorMsg(e.responseText);
421
+            }
422
+        });
423
+    }
424
+
425
+    // 本地上传
426
+    function upload_video_litpic_local(e) {
427
+        // 获取文件路径名
428
+        var file = $(e)[0].files[0];
429
+
430
+        // 验证上传格式
431
+        var fileName = file.name;
432
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
433
+        var ext = judgeExt(fileExt);
434
+        if (ext == -1) {
435
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
436
+            return false;
437
+        }
438
+
439
+        // 验证上传大小
440
+        var size = "{$upload_max_filesize}";
441
+        if (file.size > size) {
442
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
443
+            return false;
444
+        }
445
+
446
+        // 定义上传数据
447
+        var formData = new FormData();
448
+        formData.append('file', file);
449
+
450
+        // 执行上传
451
+        layer_loading('上传本地');
452
+        $.ajax({
453
+            type: 'post',
454
+            url : "{:url('Ueditor/upVideo', ['savepath'=>'media'])}",
455
+            data: formData,
456
+            contentType: false,
457
+            processData: false,
458
+            dataType: 'json',
459
+            xhr: function () {
460
+                myXhr = $.ajaxSettings.xhr();
461
+                if (myXhr.upload) {
462
+                    myXhr.upload.addEventListener('progress', function(e){
463
+                        var curr = e.loaded;
464
+                        var total = e.total;
465
+                        process = parseInt(curr / total * 100);
466
+                        $("#upload_video_litpic_local").html('上传中...'+process+"%");
467
+                    });
468
+                }
469
+                return myXhr;
470
+            },
471
+            success: function (res) {
472
+                layer.closeAll();
473
+                $("#upload_video_litpic_local").html('上传成功');
474
+                setTimeout(function() {
475
+                    $('#upload_video_litpic_local').html('本地上传');
476
+                }, 2000);
477
+                if ("SUCCESS" == res.state) {
478
+                    $("#video_litpic").val(res.url);
479
+                } else {
480
+                    showErrorMsg(res.msg);
481
+                }
482
+            }
483
+        });
484
+    }
485
+
486
+    // 验证格式
487
+    function judgeExt(ext) {
488
+        var type = "{$media_type}";
489
+        var extArr = [];
490
+        extArr = type.split("|");
491
+        var ext = ext.replace(".","");
492
+        return extArr.indexOf(ext);
493
+    }
494
+</script>
495
+
496
+<script type="text/javascript">
497
+    var parentObj = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
498
+    // 勾选新窗口打开链接
499
+    function CheckedTarget(t){
500
+        if ($(t).is(':checked')) {
501
+            $(t).parent().find('input[name="img_target[]"]').val(1);
502
+        }else{
503
+            $(t).parent().find('input[name="img_target[]"]').val(0);
504
+        }
505
+    }
506
+    // 鼠标事件,加载查看大图和更新图片
507
+    function upimgMouseover(obj)
508
+    {
509
+        $(obj).find('div.icaction').show();
510
+        $(obj).find('div.cover-bg').show();
511
+    }
512
+    function upimgMouseout(obj)
513
+    {
514
+        $(obj).find('div.icaction').hide();
515
+        $(obj).find('div.cover-bg').hide();
516
+    }
517
+
518
+    // 检测广告名称是否存在重复
519
+    function DetectionTitleRepeat(obj) {
520
+        // 当前广告ID
521
+        var id = 0;
522
+        // 传入的广告名称
523
+        var title = $(obj).val();
524
+        // 执行检测
525
+        $.ajax({
526
+            type: 'post',
527
+            url : "{:url('ZcPosition/detection_title_repeat', ['_ajax'=>1])}",
528
+            data: {id: id, title: title},
529
+            dataType: 'json',
530
+            success: function(res) {
531
+                if (0 == res.code) {
532
+                    $('#title_tips').show().html(res.msg);
533
+                } else {
534
+                    $('#title_tips').hide().html('');
535
+                }
536
+            },
537
+            error: function(e){
538
+                layer.closeAll();
539
+                showErrorAlert(e.responseText);
540
+            }
541
+        });
542
+    }
543
+
544
+    // 判断输入框是否为空
545
+    function checkForm(){
546
+        if($('input[name=title]').val() == ''){
547
+            layer.msg('分类名称不能为空!', {icon: 2,time: 1000});
548
+            return false;
549
+        }
550
+
551
+        if($('#selectTest').val() == '1'){
552
+
553
+        }
554
+
555
+        /*var checkedValues = [];
556
+        $('#post_form input[type=checkbox]:checked').each(function() {
557
+            checkedValues.push($(this).val());
558
+        });
559
+        console.log(checkedValues); // 打印选中的checkbox值
560
+        if(checkedValues.length > 0){
561
+
562
+        }else{
563
+            layer.msg('请选择证书!', {icon: 2,time: 1000});
564
+            return false;
565
+        }*/
566
+
567
+
568
+        //打印
569
+        /*console.log($('#post_form').serialize());
570
+        return false;*/
571
+
572
+
573
+        layer_loading('正在处理');
574
+        $.ajax({
575
+            type : 'post',
576
+            url : "{:url('ZczsPosition/edittypePost', ['_ajax'=>1])}",
577
+            data : $('#post_form').serialize(),
578
+            dataType : 'json',
579
+            success : function(res) {
580
+                layer.closeAll();
581
+                if (1 == res.code) {
582
+                    var _parent = parent;
583
+                    _parent.layer.close(parentObj);
584
+                    _parent.layer.msg(res.msg, {icon: 1, shade: layer_shade, time: 1000}, function() {
585
+                        _parent.window.location.reload();
586
+                    });
587
+                } else {
588
+                    showErrorMsg(res.msg);
589
+                }
590
+            },
591
+            error: function(e) {
592
+                layer.closeAll();
593
+                showErrorAlert(e.responseText);
594
+            }
595
+        });
596
+    }
597
+
598
+    // 显示信息输入框
599
+    function ShowInput(id) {
600
+        var obj = $("#"+id+"_ShowInput");
601
+        var showOrHide = obj.attr('data-showOrHide');
602
+        if ('hide' == showOrHide) {
603
+            obj.show().attr('data-showOrHide', 'show');
604
+        } else {
605
+            obj.hide().attr('data-showOrHide', 'hide');
606
+        }
607
+    }
608
+
609
+    // 隐藏信息输入
610
+    function HideInput(id) {
611
+        $("#"+id+"_ShowInput").hide().attr('data-showOrHide', 'hide');
612
+    }
613
+
614
+    // 上传图集相册回调函数
615
+    function imgupload_call_back(paths){
616
+        var last_div = $(".images_upload_tpl").html();
617
+        var inputs   = $('.span_input input');
618
+        var timestamp = 0;
619
+
620
+        for (var i=0; i<paths.length; i++){
621
+            // 生成新的时间戳
622
+            timestamp = (new Date()).getTime();
623
+            // 插入一个 新图片
624
+            $(".images_upload:eq(0)").before(last_div);
625
+            // 处理他的链接地址
626
+            $(".images_upload:eq(0)").find('span:eq(0)').attr('onclick',"Images('"+paths[i]+"', 900, 600);");
627
+            // 处理信息显示隐藏按钮
628
+            $(".images_upload:eq(0)").find('span:eq(1)').attr('onclick', "ShowInput('"+timestamp+"');");
629
+            // 处理他的图片路径
630
+            $(".images_upload:eq(0)").find('img').attr('src',paths[i]);
631
+            // 处理删除按钮
632
+            $(".images_upload:eq(0)").find('a:eq(1)').attr('onclick', "ClearPicArr(this, '"+paths[i]+"', 0);");
633
+            // 处理图片信息框ID
634
+            $(".images_upload:eq(0)").find('.load_input:eq(0)').attr('id', timestamp+'_ShowInput');
635
+
636
+            // 处理图片路径及隐藏域
637
+            if (inputs.length > '0') {
638
+                // 修改隐藏域,提交ID隐藏域
639
+                $(".images_upload:eq(0)").find('input:eq(0)').attr('name','img_id[]').attr('value','');
640
+                // 修改隐藏域,提交图片隐藏域
641
+                $(".span_input:eq(0)").find('input:eq(0)').attr('name','img_litpic[]').attr('value',paths[i]);
642
+                // 提交标题
643
+                $(".images_upload:eq(0)").find('textarea:eq(0)').attr('name','img_title[]');
644
+                // 提交跳转链接
645
+                $(".images_upload:eq(0)").find('textarea:eq(1)').attr('name','img_links[]');
646
+                // 处理内容描述
647
+                $(".images_upload:eq(0)").find('textarea:eq(2)').attr('name','img_intro[]');
648
+                // 提交新窗口选项
649
+                $(".images_upload:eq(0)").find('div.operation a:eq(0)').html("<label><input type='checkbox' title='在新窗口打开' onclick='CheckedTarget(this)'/>新窗口<input type='hidden' name='img_target[]' value='0'></label>");
650
+                // 处理收回按钮
651
+                $(".images_upload:eq(0)").find('div.operation a:eq(2)').attr('onclick', "HideInput('"+timestamp+"');").attr('title', "收回").html('<i style="font-size:16px;" class="fa fa-angle-double-up"></i>');
652
+            }
653
+        }
654
+    }
655
+
656
+    // 上传之后删除组图input
657
+    function ClearPicArr(obj,path)
658
+    {
659
+        $(obj).parent().parent().parent().remove(); // 删除完服务器的, 再删除 html上的图片
660
+        $.ajax({
661
+            type:'POST',
662
+            url:"{:url('Uploadimgnew/delupload')}",
663
+            data:{action:"del", filename:path, _ajax:1},
664
+            success:function(){}
665
+        });
666
+    }
667
+
668
+    // 代码调用js
669
+    function copyToClipBoard(id) {
670
+        var adstr = "{eyou:ad aid='" + id + "'}\r\n   <a href='{$"+"field.links}' {$"+"field.target}><img src='{$"+"field.litpic}' alt='{$"+"field.title}' /></a>\r\n{/eyou:ad";
671
+        var contentdiv = '<div class="dialog_content" style="margin: 0px; padding: 0px;"><dl style="padding:10px 30px;line-height:30px"><dd>标签 ad 调用:</dd>'
672
+        contentdiv += '<textarea rows="4" cols="60" style="width:400px;height:80px;">' + adstr + '}</textarea>'
673
+        contentdiv += '<dd style="border-top: dotted 1px #E7E7E7; color: #F60;">请将对应标签代码复制并粘贴到对应模板文件中!</dd></dl></div>'
674
+        layer.open({
675
+            title: '代码调用',
676
+            type: 1,
677
+            shade: layer_shade,
678
+            skin: 'layui-layer-demo',
679
+            area: ['480px', '240px'], //宽高
680
+            content: contentdiv
681
+        });
682
+    }
683
+
684
+    // 图集相册的拖动排序相关 js
685
+    $( ".sort-list" ).sortable({
686
+        start: function( event, ui) {
687
+
688
+        }
689
+        ,stop: function( event, ui ) {
690
+
691
+        }
692
+    });
693
+    //因为他们要拖动,所以尽量设置他们的文字不能选择。
694
+    // $( ".sort-list" ).disableSelection();
695
+</script>
696
+
697
+{include file="public/footer" /}

+ 48
- 6
application/admin/template/zczs_position/index.htm View File

@@ -14,7 +14,7 @@
14 14
 				{if condition="$main_lang == $admin_lang || !empty($global['language_split'])"}
15 15
 				    {eq name="$Think.const.CONTROLLER_NAME.'@add'|is_check_access" value="1"}
16 16
         				 <div class="fbutton">
17
-        				     <a href="javascript:void(0);" data-href="{:url('ZczsPosition/add')}" onclick="openFullframe(this, '新增证书', '100%', '100%');">
17
+        				     <a href="javascript:void(0);" data-href="{:url('ZczsPosition/add')}" onclick="openFullframe(this, '新增证书', '80%', '70%');">
18 18
         				         <div class="add">
19 19
         				             <span><i class="layui-icon layui-icon-addition"></i>新增证书</span>
20 20
         				         </div>
@@ -23,27 +23,61 @@
23 23
 				    {/eq}
24 24
 				 {/if}
25 25
             </div>
26
+
27
+
28
+
26 29
             <form id="searchForm" class="navbar-form form-inline" action="{:url('ZczsPosition/index')}" method="get" onsubmit="layer_loading('正在处理');">
27 30
                 {$searchform.hidden|default=''}
28 31
                 <div class="sDiv">
29
-
30 32
                     <div class="sDiv2">
31 33
                         <select name="type" class="select" style="margin:0px 5px;">
32
-                            <option value="">--选择级--</option>
33
-                            <option value="0" {eq name="$Request.param.type" value="0"}selected{/eq}>初级</option>
34
-                            <option value="1" {eq name="$Request.param.type" value="1"}selected{/eq}>中级</option>
35
-                            <option value="2" {eq name="$Request.param.type" value="2"}selected{/eq}>高级</option>
34
+                            <option value="">--选择级--</option>
35
+                            {eyou:foreach name='$pos_list' item='field1'}
36
+                            <option value="{$field1.id}" {eq name="$Request.param.type" value="$field1.id"}selected{/eq}>{$field1.name}</option>
37
+                            {/eyou:foreach}
36 38
                         </select>
37 39
                     </div>
38 40
 
39 41
 
42
+                    <div class="sDiv2">
43
+                        <select name="type2" id="type2" class="select" style="margin:0px 5px;">
44
+                            <option value="0">--选择二级--</option>
45
+                            {eyou:foreach name='$pos_list2' item='field1'}
46
+                            <option value="{$field1.id}" {eq name="$Request.param.type2" value="$field1.id"}selected{/eq}>{$field1.name}</option>
47
+                            {/eyou:foreach}
48
+                        </select>
49
+                    </div>
50
+
51
+
52
+
40 53
                     <div class="sDiv2">
41 54
                         <input type="text" size="30" name="keywords" value="{$Request.param.keywords}" class="qsbox" placeholder="名称搜索...">
42 55
                         <input type="submit" class="btn" value="搜索">
43 56
 						<i class="iconfont e-sousuo"></i>
44 57
                     </div>
58
+
45 59
                 </div>
46 60
             </form>
61
+
62
+            <div class="sDiv">
63
+                {eq name="$Think.const.CONTROLLER_NAME.'@addtype'|is_check_access" value="1"}
64
+                <a href="javascript:void(0);" data-href="{:url('ZczsPosition/addtype',array('id'=>$vo['id']))}" data-closereload="1" class="btn blue" onclick="openFullframe(this, '添加分类', '70%', '80%');">添加分类</a> <i></i>
65
+                {/eq}
66
+
67
+                {eq name="$Think.const.CONTROLLER_NAME.'@edittype'|is_check_access" value="1"}
68
+                <a href="javascript:void(0);" data-href="{:url('ZczsPosition/edittype',array('type'=>$Request.param.type,'type2'=>$Request.param.type2))}" data-closereload="1" class="btn blue" onclick="openFullframe(this, '编辑分类', '70%', '80%');">编辑分类</a> <i></i>
69
+                {/eq}
70
+
71
+                {eq name="$Think.const.CONTROLLER_NAME.'@deltype'|is_check_access" value="1"}
72
+                <a href="javascript:void(0);" data-href="{:url('ZczsPosition/deltype',array('type'=>$Request.param.type,'type2'=>$Request.param.type2))}" data-closereload="1" class="btn blue" onclick="openFullframe(this, '删除分类', '70%', '80%');">删除分类</a> <i></i>
73
+                {/eq}
74
+
75
+            </div>
76
+            <!--
77
+            <button id="addType">添加分类</button>-->
78
+            <!--
79
+            <button id="editType">编辑分类</button>-->
80
+
47 81
         </div>
48 82
 
49 83
         <div class="hDiv">
@@ -217,6 +251,14 @@
217 251
         });
218 252
 
219 253
         $('#searchForm select[name=type]').change(function(){
254
+            if($(this).val() == 0){
255
+                //重置二级分类
256
+                $('#type2').val(0);
257
+            }
258
+            $('#searchForm').submit();
259
+        });
260
+
261
+        $('#searchForm select[name=type2]').change(function(){
220 262
             $('#searchForm').submit();
221 263
         });
222 264
 

+ 45
- 4
application/admin/template/zczy_position/add.htm View File

@@ -31,9 +31,8 @@
31 31
                          * {eyou:foreach name='$pro_list' item='field1'}
32 32
                     <option value="{$field1.id}" {eq name="$Request.param.type" value="$field1.id"}selected{/eq}>{$field1.name}</option>
33 33
                     {/eyou:foreach}
34
-                         */
35
-                    ?>
36
-                    <select name="type" class="select" id="selectTest" style="margin:0px 5px;height:30px;">
34
+
35
+                        <select name="type" class="select" id="selectTest" style="margin:0px 5px;height:30px;">
37 36
                         <option value="0">通类</option>
38 37
                         <option value="1">计算机科学</option>
39 38
                         <option value="2">理学</option>
@@ -59,6 +58,29 @@
59 58
                         <option value="22">其他</option>
60 59
                     </select>
61 60
 
61
+                         */
62
+                    ?>
63
+
64
+
65
+
66
+                    <select name="type2" class="select" id="selectTest" style="margin:0px 5px;height:30px;">
67
+                        {eyou:foreach name='$pos_list' item='field1'}
68
+                        <option value="{$field1.id}" {eq name="$pid" value="$field1.id"}selected{/eq}>{$field1.name}</option>
69
+                        {/eyou:foreach}
70
+                    </select>
71
+
72
+                    {eyou:notempty name='$pos_list2' /}
73
+                    <select name="type" class="select" id="selectTest2" style="margin:0px 5px;height:30px;">
74
+                        {eyou:foreach name='$pos_list2' item='field1'}
75
+                        <option value="{$field1.id}" {eq name="$pid" value="$field1.id"}selected{/eq}>{$field1.name}</option>
76
+                        {/eyou:foreach}
77
+                    </select>
78
+                    {eyou:else /}
79
+                    <span>请先添加二级分类</span>
80
+                    <input type="hidden" name="type" value="">
81
+                    {/eyou:notempty}
82
+
83
+
62 84
                     <script>
63 85
                         $(function(){
64 86
                             $("#selectTest").change(function(e){
@@ -69,6 +91,20 @@
69 91
                                 }else{
70 92
                                     //$('#citychoose').hide();
71 93
                                 }
94
+
95
+                                //ajax
96
+                                $.ajax({
97
+                                    type:'POST',
98
+                                    url:"{:url('ZczyPosition/getType', ['_ajax'=>1])}",
99
+                                    data:{
100
+                                        id: $(this).val()
101
+                                        ,_ajax:1
102
+                                    },
103
+                                    success:function(res){
104
+                                        $('#selectTest2').html(res.data);
105
+                                    }
106
+                                });
107
+
72 108
                             });
73 109
                         });
74 110
                     </script>
@@ -682,7 +718,12 @@
682 718
     // 判断输入框是否为空
683 719
     function checkForm(){
684 720
         if($('input[name=title]').val() == ''){
685
-            layer.msg('广告位名称不能为空!', {icon: 2,time: 1000});
721
+            layer.msg('名称不能为空!', {icon: 2,time: 1000});
722
+            return false;
723
+        }
724
+
725
+        if($('input[name=type]').val() == ''){
726
+            layer.msg('分类不能为空,请添加二级分类!', {icon: 2,time: 1000});
686 727
             return false;
687 728
         }
688 729
 

+ 697
- 0
application/admin/template/zczy_position/addtype.htm View File

@@ -0,0 +1,697 @@
1
+{include file="public/layout" /}
2
+
3
+<body class="bodystyle" style="overflow-y: scroll;">
4
+<div id="toolTipLayer" style="position: absolute; z-index: 9999; display: none; visibility: visible; left: 95px; top: 573px;"></div>
5
+<div id="append_parent"></div>
6
+<div id="ajaxwaitid"></div>
7
+<div class="page min-hg-c-10">
8
+    <form class="form-horizontal" id="post_form" action="{:url('ZcPosition/add')}" method="post">
9
+        <div class="ncap-form-default">
10
+
11
+            <input type="hidden" name="id" value="{$id}"/>
12
+
13
+            <dl class="row">
14
+                <dt class="tit"> <label for="title"><em>*</em>上一级</label> </dt>
15
+                <dd class="opt">
16
+                    <select name="pid" class="select" id="selectTest222" style="margin:0px 5px;height:30px;">
17
+                        <option value="0">顶级分类</option>
18
+                        {eyou:foreach name='$pos_list' item='field1'}
19
+                        <option value="{$field1.id}" {eq name="$Request.param.type" value="$field1.id"}selected{/eq}>{$field1.name}</option>
20
+                        {/eyou:foreach}
21
+                    </select>
22
+
23
+                    <p class="notic2 red" id="title_tips" style="margin-top:10px;">
24
+                    </p>
25
+
26
+                </dd>
27
+            </dl>
28
+
29
+            <dl class="row">
30
+                <dt class="tit"> <label for="title"><em>*</em>分类名称</label> </dt>
31
+                <dd class="opt">
32
+                    <input type="text" name="title" id="title" onkeyup="DetectionTitleRepeat(this);" class="input-txt" autocomplete="off">
33
+                    <span class="err"></span>
34
+                    <p class="notic2 red" id="title_tips"></p>
35
+                </dd>
36
+            </dl>
37
+
38
+
39
+
40
+
41
+            <dl class="row" id="citychoose" style="display: none;">
42
+                <dt class="tit"> <label for="title"><em>*</em>绑定证书</label> </dt>
43
+                <dd class="opt">
44
+
45
+                    <!---checked-->
46
+                    {eyou:foreach name='$pro_list' item='field1'}
47
+                    <hr/>{$pro_list_t[$key]}<br/>
48
+                    {eyou:foreach name='$field1' item='field2'}
49
+                    <span style="margin-right: 10px;"><input type="checkbox" name="map[]" value="{$field2.id}" id="category{$field2.id}" {$field2.is_check} />{$field2.title}</span>
50
+                    {/eyou:foreach}
51
+                    {/eyou:foreach}
52
+
53
+                    <span class="err"></span>
54
+                    <p class="notic2 red" id="title_tips"></p>
55
+                </dd>
56
+            </dl>
57
+
58
+
59
+
60
+            <div class="bot"><a href="JavaScript:void(0);" onclick="checkForm();" class="ncap-btn-big ncap-btn-green" id="submitBtn">确认提交</a></div>
61
+        </div>
62
+    </form>
63
+</div>
64
+
65
+<script type="text/javascript">
66
+    var SelectedType = 1;
67
+    $(function() {
68
+        // 新增时,广告类型默认选中图片类型
69
+        $('#type1').prop('checked', 'checked');
70
+        // 新增时,默认显示图片上传
71
+        $('#1615775137_1').show();
72
+        // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
73
+        VideoLitpicValue('#video_litpic');
74
+    });
75
+
76
+    // 切换广告类型
77
+    function TypeSwitch(typeValue) {
78
+        // 隐藏全部类型内容
79
+        $('.1615775137_dl').hide();
80
+        // 显示指定类型内容
81
+        $('#1615775137_'+typeValue).show();
82
+        // 切换类型后设置为当前切换的类型
83
+        SelectedType = typeValue;
84
+        // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
85
+        VideoLitpicValue('#video_litpic');
86
+    }
87
+
88
+    // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
89
+    function VideoLitpicValue(obj) {
90
+        // 获取广告内容(多媒体为播放链接)
91
+        // var video_litpic = $(obj).val();
92
+        // 判断隐藏/显示预览按钮if (2 == SelectedType && video_litpic)
93
+        if (2 == SelectedType) {
94
+            $('#PreviewVideo').show();
95
+        } else {
96
+            $('#PreviewVideo').hide();
97
+        }
98
+    }
99
+
100
+    // 打开预览视频
101
+    function OpenPreviewVideo() {
102
+        // 获取视频链接
103
+        var video_litpic = $('#video_litpic').val();
104
+        if (video_litpic == '') {
105
+            $('#video_litpic').focus();
106
+            showErrorMsg('请先上传视频');
107
+            return false;
108
+        }
109
+
110
+        /* 视频链接后缀验证处理 */
111
+        var fileExt = video_litpic.substr(video_litpic.lastIndexOf('.')).toLowerCase();
112
+        var fileExt = judgeExt(fileExt);
113
+        if (fileExt == -1) {
114
+            $('#video_litpic').focus();
115
+            showErrorMsg('不支持的视频格式,可在附件设置中修改');
116
+            return false;
117
+        }
118
+        /* END */
119
+
120
+        /* 视频链接是否存在斜杠处理 */
121
+        var fileInfo = video_litpic.lastIndexOf('/');
122
+        if (fileInfo == -1) {
123
+            $('#video_litpic').focus();
124
+            showErrorMsg('视频链接不完整,无法正常预览');
125
+            return false;
126
+        }
127
+        /* END */
128
+
129
+        // 打开视频播放
130
+        $.ajax({
131
+            type : 'post',
132
+            url  : $('#OpenPreviewVideoUrl').val(),
133
+            data : {video_litpic: video_litpic},
134
+            dataType : 'json',
135
+            success : function(res) {
136
+                if (1 == res.code) {
137
+                    var PreviewVideo = "<video style='width:100%; height:100%;' src='"+res.url+"' controls preload='auto' oncontextmenu='return fase' autoplay></video>";
138
+                    layer.open({
139
+                        type: 1,
140
+                        title: false,
141
+                        fixed: true, //不固定
142
+                        shadeClose: false,
143
+                        shade: layer_shade,
144
+                        area: ['80%', '80%'],
145
+                        content: PreviewVideo
146
+                    });
147
+                } else {
148
+                    showErrorMsg(res.msg);
149
+                }
150
+            },
151
+            error: function(e) {
152
+                showErrorAlert(e.responseText);
153
+            }
154
+        });
155
+    }
156
+
157
+    // 上传媒体文件
158
+    function upload_video_litpic_1615775137(e) {
159
+        var data_type = $(e).attr('data-type');
160
+        if ('qiniu' == data_type) {
161
+            // 七牛云上传
162
+            upload_video_litpic_qiniu(e);
163
+        } else if ('oss' == data_type) {
164
+            // OSS上传
165
+            upload_video_litpic_oss(e);
166
+        } else if ('cos' == data_type) {
167
+            // COS上传
168
+            upload_video_litpic_cos(e);
169
+        } else {
170
+            // 本地上传
171
+            upload_video_litpic_local(e);
172
+        }
173
+    }
174
+
175
+    // 七牛云上传
176
+    function upload_video_litpic_qiniu(e) {
177
+        // 获取文件路径名
178
+        var file = $(e)[0].files[0];
179
+
180
+        // 验证上传格式
181
+        var fileName = file.name;
182
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
183
+        var ext = judgeExt(fileExt);
184
+        if (ext == -1) {
185
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
186
+            return false;
187
+        }
188
+
189
+        // 验证上传大小
190
+        var size = "{$upload_max_filesize}";
191
+        if (file.size > size) {
192
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
193
+            return false;
194
+        }
195
+
196
+        // 执行上传
197
+        layer_loading('上传本地');
198
+        $.ajax({
199
+            type: 'POST',
200
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Qiniuyun&a=qiniu_upload',
201
+            data: {_ajax: 1},
202
+            dataType: "JSON",
203
+            success: function(res1) {
204
+                if (1 == res1.code) {
205
+                    var token  = res1.data.token;
206
+                    var formData = new FormData();
207
+                    formData.append('file', file);
208
+                    formData.append('token', token);
209
+
210
+                    fileName = res1.data.filePath + fileExt;
211
+                    formData.append('key', fileName);
212
+                    $.ajax({
213
+                        url: res1.data.uphost,
214
+                        type: 'POST',
215
+                        dataType: 'JSON',
216
+                        data: formData,
217
+                        timeout: 1200000,
218
+                        cache: false,
219
+                        processData: false,
220
+                        contentType: false,
221
+                        xhr: function () {
222
+                            myXhr = $.ajaxSettings.xhr();
223
+                            if (myXhr.upload) {
224
+                                myXhr.upload.addEventListener('progress', function(e){
225
+                                    var curr = e.loaded;
226
+                                    var total = e.total;
227
+                                    process = parseInt(curr / total * 100);
228
+                                    $("#upload_video_litpic_qiniu").text('上传中...'+process+"%");
229
+                                });
230
+                            }
231
+                            return myXhr;
232
+                        },
233
+                        success: function(res2) {
234
+                            layer.closeAll();
235
+                            $("#upload_video_litpic_qiniu").text('上传成功');
236
+                            setTimeout(function() {
237
+                                $('#upload_video_litpic_qiniu').text('七牛云上传');
238
+                            }, 2000);
239
+                            var video_url = res1.data.domain + "/" + res2.key;
240
+                            $("#video_litpic").val(video_url);
241
+                        },
242
+                        error: function(e) {
243
+                            layer.closeAll();
244
+                            showErrorMsg(e.responseText);
245
+                            return false;
246
+                        }
247
+                    });
248
+                } else {
249
+                    layer.closeAll();
250
+                    showErrorMsg(res1.msg);
251
+                }
252
+            },
253
+            error: function(e) {
254
+                layer.closeAll();
255
+                showErrorMsg(e.responseText);
256
+            }
257
+        });
258
+    }
259
+
260
+    // 阿里云OSS上传
261
+    function upload_video_litpic_oss(e) {
262
+        // 获取文件路径名
263
+        var file = $(e)[0].files[0];
264
+
265
+        // 验证上传格式
266
+        var fileName = file.name;
267
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
268
+        var ext = judgeExt(fileExt);
269
+        if (ext == -1) {
270
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
271
+            return false;
272
+        }
273
+
274
+        // 验证上传大小
275
+        var size = "{$upload_max_filesize}";
276
+        if (file.size > size) {
277
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
278
+            return false;
279
+        }
280
+
281
+        // 执行上传
282
+        layer_loading('上传阿里云OSS');
283
+        $.ajax({
284
+            type: 'POST',
285
+            url: '__ROOT_DIR__/index.php?m=plugins&c=AliyunOss&a=oss_upload',
286
+            data: {_ajax: 1},
287
+            dataType: "JSON",
288
+            success: function(res1){
289
+                if (1 == res1.code){
290
+                    fileName = res1.data.filePath + fileExt;
291
+                    //组装发送数据
292
+                    var request = new FormData();
293
+                    request.append("OSSAccessKeyId",res1.data.accessid);
294
+                    request.append("policy",res1.data.policy);
295
+                    request.append("Signature",res1.data.signature);
296
+                    request.append("key",fileName);
297
+                    request.append("success_action_status",201);
298
+                    request.append('file', file);
299
+
300
+                    $.ajax({
301
+                        url : res1.data.host,
302
+                        data : request,
303
+                        processData: false,
304
+                        cache: false,
305
+                        contentType: false,
306
+                        dataType: 'xml',
307
+                        type : 'post',
308
+                        xhr: function () {
309
+                            myXhr = $.ajaxSettings.xhr();
310
+                            if (myXhr.upload) {
311
+                                myXhr.upload.addEventListener('progress', function(e){
312
+                                    var curr = e.loaded;
313
+                                    var total = e.total;
314
+                                    var process = parseInt(curr / total * 100);
315
+                                    $("#upload_video_litpic_oss").text('上传中...'+process+"%");
316
+                                });
317
+                            }
318
+                            return myXhr;
319
+                        },
320
+                        success : function(data) {
321
+                            layer.closeAll();
322
+                            var res = $(data).find('PostResponse');
323
+                            if (res) {
324
+                                var key = res.find('Key').text();
325
+                                $("#upload_video_litpic_oss").text('上传成功');
326
+                                setTimeout(function() {
327
+                                    $('#upload_video_litpic_oss').text('oss上传');
328
+                                }, 2000);
329
+                                var video_url = res1.data.domain + "/" + key;
330
+                                $("#video_litpic").val(video_url);
331
+                            } else {
332
+                                $("#upload_video_litpic_oss").text('上传失败');
333
+                                setTimeout(function() {
334
+                                    $('#upload_video_litpic_oss').text('oss上传');
335
+                                }, 2000);
336
+                            }
337
+                        },
338
+                        error : function(e) {
339
+                            layer.closeAll();
340
+                            console.log(e.responseText);
341
+                        }
342
+                    });
343
+                } else {
344
+                    layer.closeAll();
345
+                    showErrorMsg(res1.msg);
346
+                }
347
+            },
348
+            error: function(e) {
349
+                layer.closeAll();
350
+                showErrorMsg(e.responseText);
351
+            }
352
+        });
353
+    }
354
+
355
+    // 腾讯云COS上传
356
+    function upload_video_litpic_cos(e) {
357
+        // 获取文件路径名
358
+        var file = $(e)[0].files[0];
359
+
360
+        // 验证上传格式
361
+        var fileName = file.name;
362
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
363
+        var ext = judgeExt(fileExt);
364
+        if (ext == -1) {
365
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
366
+            return false;
367
+        }
368
+
369
+        // 验证上传大小
370
+        var size = "{$upload_max_filesize}";
371
+        if (file.size > size) {
372
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
373
+            return false;
374
+        }
375
+
376
+        // 上传参数
377
+        var formData = new FormData();
378
+        formData.append('file', file);
379
+        formData.append('file_ext', fileExt);
380
+
381
+        // 执行上传
382
+        $.ajax({
383
+            type: 'post',
384
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Cos&a=cos_upload&_ajax=1',
385
+            data: formData,
386
+            contentType: false,
387
+            processData: false,
388
+            dataType: 'json',
389
+            xhr: function () {
390
+                myXhr = $.ajaxSettings.xhr();
391
+                if (myXhr.upload) {
392
+                    myXhr.upload.addEventListener('progress', function(e){
393
+                        var curr = e.loaded;
394
+                        var total = e.total;
395
+                        process = parseInt(curr / total * 100);
396
+                        if (100 == process) {
397
+                            process = 99;
398
+                            layer_loading('上传腾讯云');
399
+                        }
400
+                        $("#upload_video_litpic_cos").text('上传中...'+process+"%");
401
+
402
+                    });
403
+                }
404
+                return myXhr;
405
+            },
406
+            success: function(res) {
407
+                layer.closeAll();
408
+                if (1 == res.code) {
409
+                    $("#video_litpic").val(res.data.url);
410
+                    $("#upload_video_litpic_cos").text('上传成功');
411
+                } else {
412
+                    $("#upload_video_litpic_cos").text('上传失败');
413
+                }
414
+                setTimeout(function() {
415
+                    $('#upload_video_litpic_cos').text('cos上传');
416
+                }, 2000);
417
+            },
418
+            error: function(e) {
419
+                layer.closeAll();
420
+                showErrorMsg(e.responseText);
421
+            }
422
+        });
423
+    }
424
+
425
+    // 本地上传
426
+    function upload_video_litpic_local(e) {
427
+        // 获取文件路径名
428
+        var file = $(e)[0].files[0];
429
+
430
+        // 验证上传格式
431
+        var fileName = file.name;
432
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
433
+        var ext = judgeExt(fileExt);
434
+        if (ext == -1) {
435
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
436
+            return false;
437
+        }
438
+
439
+        // 验证上传大小
440
+        var size = "{$upload_max_filesize}";
441
+        if (file.size > size) {
442
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
443
+            return false;
444
+        }
445
+
446
+        // 定义上传数据
447
+        var formData = new FormData();
448
+        formData.append('file', file);
449
+
450
+        // 执行上传
451
+        layer_loading('上传本地');
452
+        $.ajax({
453
+            type: 'post',
454
+            url : "{:url('Ueditor/upVideo', ['savepath'=>'media'])}",
455
+            data: formData,
456
+            contentType: false,
457
+            processData: false,
458
+            dataType: 'json',
459
+            xhr: function () {
460
+                myXhr = $.ajaxSettings.xhr();
461
+                if (myXhr.upload) {
462
+                    myXhr.upload.addEventListener('progress', function(e){
463
+                        var curr = e.loaded;
464
+                        var total = e.total;
465
+                        process = parseInt(curr / total * 100);
466
+                        $("#upload_video_litpic_local").html('上传中...'+process+"%");
467
+                    });
468
+                }
469
+                return myXhr;
470
+            },
471
+            success: function (res) {
472
+                layer.closeAll();
473
+                $("#upload_video_litpic_local").html('上传成功');
474
+                setTimeout(function() {
475
+                    $('#upload_video_litpic_local').html('本地上传');
476
+                }, 2000);
477
+                if ("SUCCESS" == res.state) {
478
+                    $("#video_litpic").val(res.url);
479
+                } else {
480
+                    showErrorMsg(res.msg);
481
+                }
482
+            }
483
+        });
484
+    }
485
+
486
+    // 验证格式
487
+    function judgeExt(ext) {
488
+        var type = "{$media_type}";
489
+        var extArr = [];
490
+        extArr = type.split("|");
491
+        var ext = ext.replace(".","");
492
+        return extArr.indexOf(ext);
493
+    }
494
+</script>
495
+
496
+<script type="text/javascript">
497
+    var parentObj = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
498
+    // 勾选新窗口打开链接
499
+    function CheckedTarget(t){
500
+        if ($(t).is(':checked')) {
501
+            $(t).parent().find('input[name="img_target[]"]').val(1);
502
+        }else{
503
+            $(t).parent().find('input[name="img_target[]"]').val(0);
504
+        }
505
+    }
506
+    // 鼠标事件,加载查看大图和更新图片
507
+    function upimgMouseover(obj)
508
+    {
509
+        $(obj).find('div.icaction').show();
510
+        $(obj).find('div.cover-bg').show();
511
+    }
512
+    function upimgMouseout(obj)
513
+    {
514
+        $(obj).find('div.icaction').hide();
515
+        $(obj).find('div.cover-bg').hide();
516
+    }
517
+
518
+    // 检测广告名称是否存在重复
519
+    function DetectionTitleRepeat(obj) {
520
+        // 当前广告ID
521
+        var id = 0;
522
+        // 传入的广告名称
523
+        var title = $(obj).val();
524
+        // 执行检测
525
+        $.ajax({
526
+            type: 'post',
527
+            url : "{:url('ZcPosition/detection_title_repeat', ['_ajax'=>1])}",
528
+            data: {id: id, title: title},
529
+            dataType: 'json',
530
+            success: function(res) {
531
+                if (0 == res.code) {
532
+                    $('#title_tips').show().html(res.msg);
533
+                } else {
534
+                    $('#title_tips').hide().html('');
535
+                }
536
+            },
537
+            error: function(e){
538
+                layer.closeAll();
539
+                showErrorAlert(e.responseText);
540
+            }
541
+        });
542
+    }
543
+
544
+    // 判断输入框是否为空
545
+    function checkForm(){
546
+        if($('input[name=title]').val() == ''){
547
+            layer.msg('分类名称不能为空!', {icon: 2,time: 1000});
548
+            return false;
549
+        }
550
+
551
+        if($('#selectTest').val() == '1'){
552
+
553
+        }
554
+
555
+        /*var checkedValues = [];
556
+        $('#post_form input[type=checkbox]:checked').each(function() {
557
+            checkedValues.push($(this).val());
558
+        });
559
+        console.log(checkedValues); // 打印选中的checkbox值
560
+        if(checkedValues.length > 0){
561
+
562
+        }else{
563
+            layer.msg('请选择证书!', {icon: 2,time: 1000});
564
+            return false;
565
+        }*/
566
+
567
+
568
+        //打印
569
+        /*console.log($('#post_form').serialize());
570
+        return false;*/
571
+
572
+
573
+        layer_loading('正在处理');
574
+        $.ajax({
575
+            type : 'post',
576
+            url : "{:url('ZczyPosition/addtypePost', ['_ajax'=>1])}",
577
+            data : $('#post_form').serialize(),
578
+            dataType : 'json',
579
+            success : function(res) {
580
+                layer.closeAll();
581
+                if (1 == res.code) {
582
+                    var _parent = parent;
583
+                    _parent.layer.close(parentObj);
584
+                    _parent.layer.msg(res.msg, {icon: 1, shade: layer_shade, time: 1000}, function() {
585
+                        _parent.window.location.reload();
586
+                    });
587
+                } else {
588
+                    showErrorMsg(res.msg);
589
+                }
590
+            },
591
+            error: function(e) {
592
+                layer.closeAll();
593
+                showErrorAlert(e.responseText);
594
+            }
595
+        });
596
+    }
597
+
598
+    // 显示信息输入框
599
+    function ShowInput(id) {
600
+        var obj = $("#"+id+"_ShowInput");
601
+        var showOrHide = obj.attr('data-showOrHide');
602
+        if ('hide' == showOrHide) {
603
+            obj.show().attr('data-showOrHide', 'show');
604
+        } else {
605
+            obj.hide().attr('data-showOrHide', 'hide');
606
+        }
607
+    }
608
+
609
+    // 隐藏信息输入
610
+    function HideInput(id) {
611
+        $("#"+id+"_ShowInput").hide().attr('data-showOrHide', 'hide');
612
+    }
613
+
614
+    // 上传图集相册回调函数
615
+    function imgupload_call_back(paths){
616
+        var last_div = $(".images_upload_tpl").html();
617
+        var inputs   = $('.span_input input');
618
+        var timestamp = 0;
619
+
620
+        for (var i=0; i<paths.length; i++){
621
+            // 生成新的时间戳
622
+            timestamp = (new Date()).getTime();
623
+            // 插入一个 新图片
624
+            $(".images_upload:eq(0)").before(last_div);
625
+            // 处理他的链接地址
626
+            $(".images_upload:eq(0)").find('span:eq(0)').attr('onclick',"Images('"+paths[i]+"', 900, 600);");
627
+            // 处理信息显示隐藏按钮
628
+            $(".images_upload:eq(0)").find('span:eq(1)').attr('onclick', "ShowInput('"+timestamp+"');");
629
+            // 处理他的图片路径
630
+            $(".images_upload:eq(0)").find('img').attr('src',paths[i]);
631
+            // 处理删除按钮
632
+            $(".images_upload:eq(0)").find('a:eq(1)').attr('onclick', "ClearPicArr(this, '"+paths[i]+"', 0);");
633
+            // 处理图片信息框ID
634
+            $(".images_upload:eq(0)").find('.load_input:eq(0)').attr('id', timestamp+'_ShowInput');
635
+
636
+            // 处理图片路径及隐藏域
637
+            if (inputs.length > '0') {
638
+                // 修改隐藏域,提交ID隐藏域
639
+                $(".images_upload:eq(0)").find('input:eq(0)').attr('name','img_id[]').attr('value','');
640
+                // 修改隐藏域,提交图片隐藏域
641
+                $(".span_input:eq(0)").find('input:eq(0)').attr('name','img_litpic[]').attr('value',paths[i]);
642
+                // 提交标题
643
+                $(".images_upload:eq(0)").find('textarea:eq(0)').attr('name','img_title[]');
644
+                // 提交跳转链接
645
+                $(".images_upload:eq(0)").find('textarea:eq(1)').attr('name','img_links[]');
646
+                // 处理内容描述
647
+                $(".images_upload:eq(0)").find('textarea:eq(2)').attr('name','img_intro[]');
648
+                // 提交新窗口选项
649
+                $(".images_upload:eq(0)").find('div.operation a:eq(0)').html("<label><input type='checkbox' title='在新窗口打开' onclick='CheckedTarget(this)'/>新窗口<input type='hidden' name='img_target[]' value='0'></label>");
650
+                // 处理收回按钮
651
+                $(".images_upload:eq(0)").find('div.operation a:eq(2)').attr('onclick', "HideInput('"+timestamp+"');").attr('title', "收回").html('<i style="font-size:16px;" class="fa fa-angle-double-up"></i>');
652
+            }
653
+        }
654
+    }
655
+
656
+    // 上传之后删除组图input
657
+    function ClearPicArr(obj,path)
658
+    {
659
+        $(obj).parent().parent().parent().remove(); // 删除完服务器的, 再删除 html上的图片
660
+        $.ajax({
661
+            type:'POST',
662
+            url:"{:url('Uploadimgnew/delupload')}",
663
+            data:{action:"del", filename:path, _ajax:1},
664
+            success:function(){}
665
+        });
666
+    }
667
+
668
+    // 代码调用js
669
+    function copyToClipBoard(id) {
670
+        var adstr = "{eyou:ad aid='" + id + "'}\r\n   <a href='{$"+"field.links}' {$"+"field.target}><img src='{$"+"field.litpic}' alt='{$"+"field.title}' /></a>\r\n{/eyou:ad";
671
+        var contentdiv = '<div class="dialog_content" style="margin: 0px; padding: 0px;"><dl style="padding:10px 30px;line-height:30px"><dd>标签 ad 调用:</dd>'
672
+        contentdiv += '<textarea rows="4" cols="60" style="width:400px;height:80px;">' + adstr + '}</textarea>'
673
+        contentdiv += '<dd style="border-top: dotted 1px #E7E7E7; color: #F60;">请将对应标签代码复制并粘贴到对应模板文件中!</dd></dl></div>'
674
+        layer.open({
675
+            title: '代码调用',
676
+            type: 1,
677
+            shade: layer_shade,
678
+            skin: 'layui-layer-demo',
679
+            area: ['480px', '240px'], //宽高
680
+            content: contentdiv
681
+        });
682
+    }
683
+
684
+    // 图集相册的拖动排序相关 js
685
+    $( ".sort-list" ).sortable({
686
+        start: function( event, ui) {
687
+
688
+        }
689
+        ,stop: function( event, ui ) {
690
+
691
+        }
692
+    });
693
+    //因为他们要拖动,所以尽量设置他们的文字不能选择。
694
+    // $( ".sort-list" ).disableSelection();
695
+</script>
696
+
697
+{include file="public/footer" /}

+ 41
- 4
application/admin/template/zczy_position/edit.htm View File

@@ -33,11 +33,8 @@
33 33
 
34 34
                     </select>
35 35
 
36
-                     */
37
-
38
-                    ?>
39 36
 
40
-                    <select name="type" class="select" id="selectTest" style="margin:0px 5px;height:30px;">
37
+                     <select name="type" class="select" id="selectTest" style="margin:0px 5px;height:30px;">
41 38
                         <option value="0" {eq name="0" value="$field.type"}selected{/eq}>通类</option>
42 39
                         <option value="1" {eq name="1" value="$field.type"}selected{/eq}>计算机科学</option>
43 40
                         <option value="2" {eq name="2" value="$field.type"}selected{/eq}>理学</option>
@@ -62,6 +59,27 @@
62 59
                         <option value="21" {eq name="21" value="$field.type"}selected{/eq}>农学</option>
63 60
                         <option value="22" {eq name="22" value="$field.type"}selected{/eq}>其他</option>
64 61
                     </select>
62
+                     */
63
+
64
+                    ?>
65
+
66
+                    <select name="type2" class="select" id="selectTest" style="margin:0px 5px;height:30px;">
67
+                        {eyou:foreach name='$pos_list' item='field1'}
68
+                        <option value="{$field1.id}" {eq name="$pid" value="$field1.id"}selected{/eq}>{$field1.name}</option>
69
+                        {/eyou:foreach}
70
+                    </select>
71
+
72
+                    {eyou:notempty name='$pos_list2' /}
73
+                    <select name="type" class="select" id="selectTest2" style="margin:0px 5px;height:30px;">
74
+                        {eyou:foreach name='$pos_list2' item='field1'}
75
+                        <option value="{$field1.id}" {eq name="$field.type" value="$field1.id"}selected{/eq}>{$field1.name}</option>
76
+                        {/eyou:foreach}
77
+                    </select>
78
+                    {eyou:else /}
79
+                    <span>请先添加二级分类</span>
80
+                    <input type="hidden" name="type" value="">
81
+                    {/eyou:notempty}
82
+
65 83
 
66 84
                     <script>
67 85
                         $(function(){
@@ -73,6 +91,20 @@
73 91
                                 }else{
74 92
                                     //$('#citychoose').hide();
75 93
                                 }
94
+
95
+                                //ajax
96
+                                $.ajax({
97
+                                    type:'POST',
98
+                                    url:"{:url('ZczyPosition/getType', ['_ajax'=>1])}",
99
+                                    data:{
100
+                                        id: $(this).val()
101
+                                        ,_ajax:1
102
+                                    },
103
+                                    success:function(res){
104
+                                        $('#selectTest2').html(res.data);
105
+                                    }
106
+                                });
107
+
76 108
                             });
77 109
                         });
78 110
                     </script>
@@ -758,6 +790,11 @@
758 790
             return false;
759 791
         }
760 792
 
793
+        if($('input[name=type]').val() == ''){
794
+            layer.msg('分类不能为空,请添加二级分类!', {icon: 2,time: 1000});
795
+            return false;
796
+        }
797
+
761 798
         /*if($('#selectTest').val() == '1'){
762 799
             var checkedValues = [];
763 800
             $('#post_form input[type=checkbox]:checked').each(function() {

+ 697
- 0
application/admin/template/zczy_position/edittype.htm View File

@@ -0,0 +1,697 @@
1
+{include file="public/layout" /}
2
+
3
+<body class="bodystyle" style="overflow-y: scroll;">
4
+<div id="toolTipLayer" style="position: absolute; z-index: 9999; display: none; visibility: visible; left: 95px; top: 573px;"></div>
5
+<div id="append_parent"></div>
6
+<div id="ajaxwaitid"></div>
7
+<div class="page min-hg-c-10">
8
+    <form class="form-horizontal" id="post_form" action="{:url('ZcPosition/add')}" method="post">
9
+        <div class="ncap-form-default">
10
+
11
+            <input type="hidden" name="id" value="{$one.id}"/>
12
+
13
+            <dl class="row">
14
+                <dt class="tit"> <label for="title"><em>*</em>上一级</label> </dt>
15
+                <dd class="opt">
16
+                    <select name="pid" class="select" id="selectTest222" style="margin:0px 5px;height:30px;">
17
+                        <option value="0">顶级分类</option>
18
+                        {eyou:foreach name='$pos_list' item='field1'}
19
+                        <option value="{$field1.id}" {eq name="$pid" value="$field1.id"}selected{/eq}>{$field1.name}</option>
20
+                        {/eyou:foreach}
21
+                    </select>
22
+
23
+                    <p class="notic2 red" id="title_tips" style="margin-top:10px;">
24
+                    </p>
25
+
26
+                </dd>
27
+            </dl>
28
+
29
+            <dl class="row">
30
+                <dt class="tit"> <label for="title"><em>*</em>分类名称</label> </dt>
31
+                <dd class="opt">
32
+                    <input type="text" name="title" id="title" onkeyup="DetectionTitleRepeat(this);" class="input-txt" autocomplete="off" value="{$one.name}">
33
+                    <span class="err"></span>
34
+                    <p class="notic2 red" id="title_tips"></p>
35
+                </dd>
36
+            </dl>
37
+
38
+
39
+
40
+
41
+            <dl class="row" id="citychoose" style="display: none;">
42
+                <dt class="tit"> <label for="title"><em>*</em>绑定证书</label> </dt>
43
+                <dd class="opt">
44
+
45
+                    <!---checked-->
46
+                    {eyou:foreach name='$pro_list' item='field1'}
47
+                    <hr/>{$pro_list_t[$key]}<br/>
48
+                    {eyou:foreach name='$field1' item='field2'}
49
+                    <span style="margin-right: 10px;"><input type="checkbox" name="map[]" value="{$field2.id}" id="category{$field2.id}" {$field2.is_check} />{$field2.title}</span>
50
+                    {/eyou:foreach}
51
+                    {/eyou:foreach}
52
+
53
+                    <span class="err"></span>
54
+                    <p class="notic2 red" id="title_tips"></p>
55
+                </dd>
56
+            </dl>
57
+
58
+
59
+
60
+            <div class="bot"><a href="JavaScript:void(0);" onclick="checkForm();" class="ncap-btn-big ncap-btn-green" id="submitBtn">确认提交</a></div>
61
+        </div>
62
+    </form>
63
+</div>
64
+
65
+<script type="text/javascript">
66
+    var SelectedType = 1;
67
+    $(function() {
68
+        // 新增时,广告类型默认选中图片类型
69
+        $('#type1').prop('checked', 'checked');
70
+        // 新增时,默认显示图片上传
71
+        $('#1615775137_1').show();
72
+        // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
73
+        VideoLitpicValue('#video_litpic');
74
+    });
75
+
76
+    // 切换广告类型
77
+    function TypeSwitch(typeValue) {
78
+        // 隐藏全部类型内容
79
+        $('.1615775137_dl').hide();
80
+        // 显示指定类型内容
81
+        $('#1615775137_'+typeValue).show();
82
+        // 切换类型后设置为当前切换的类型
83
+        SelectedType = typeValue;
84
+        // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
85
+        VideoLitpicValue('#video_litpic');
86
+    }
87
+
88
+    // 多媒体类型 && 广告内容不为空 则执行显示 否则 执行隐藏
89
+    function VideoLitpicValue(obj) {
90
+        // 获取广告内容(多媒体为播放链接)
91
+        // var video_litpic = $(obj).val();
92
+        // 判断隐藏/显示预览按钮if (2 == SelectedType && video_litpic)
93
+        if (2 == SelectedType) {
94
+            $('#PreviewVideo').show();
95
+        } else {
96
+            $('#PreviewVideo').hide();
97
+        }
98
+    }
99
+
100
+    // 打开预览视频
101
+    function OpenPreviewVideo() {
102
+        // 获取视频链接
103
+        var video_litpic = $('#video_litpic').val();
104
+        if (video_litpic == '') {
105
+            $('#video_litpic').focus();
106
+            showErrorMsg('请先上传视频');
107
+            return false;
108
+        }
109
+
110
+        /* 视频链接后缀验证处理 */
111
+        var fileExt = video_litpic.substr(video_litpic.lastIndexOf('.')).toLowerCase();
112
+        var fileExt = judgeExt(fileExt);
113
+        if (fileExt == -1) {
114
+            $('#video_litpic').focus();
115
+            showErrorMsg('不支持的视频格式,可在附件设置中修改');
116
+            return false;
117
+        }
118
+        /* END */
119
+
120
+        /* 视频链接是否存在斜杠处理 */
121
+        var fileInfo = video_litpic.lastIndexOf('/');
122
+        if (fileInfo == -1) {
123
+            $('#video_litpic').focus();
124
+            showErrorMsg('视频链接不完整,无法正常预览');
125
+            return false;
126
+        }
127
+        /* END */
128
+
129
+        // 打开视频播放
130
+        $.ajax({
131
+            type : 'post',
132
+            url  : $('#OpenPreviewVideoUrl').val(),
133
+            data : {video_litpic: video_litpic},
134
+            dataType : 'json',
135
+            success : function(res) {
136
+                if (1 == res.code) {
137
+                    var PreviewVideo = "<video style='width:100%; height:100%;' src='"+res.url+"' controls preload='auto' oncontextmenu='return fase' autoplay></video>";
138
+                    layer.open({
139
+                        type: 1,
140
+                        title: false,
141
+                        fixed: true, //不固定
142
+                        shadeClose: false,
143
+                        shade: layer_shade,
144
+                        area: ['80%', '80%'],
145
+                        content: PreviewVideo
146
+                    });
147
+                } else {
148
+                    showErrorMsg(res.msg);
149
+                }
150
+            },
151
+            error: function(e) {
152
+                showErrorAlert(e.responseText);
153
+            }
154
+        });
155
+    }
156
+
157
+    // 上传媒体文件
158
+    function upload_video_litpic_1615775137(e) {
159
+        var data_type = $(e).attr('data-type');
160
+        if ('qiniu' == data_type) {
161
+            // 七牛云上传
162
+            upload_video_litpic_qiniu(e);
163
+        } else if ('oss' == data_type) {
164
+            // OSS上传
165
+            upload_video_litpic_oss(e);
166
+        } else if ('cos' == data_type) {
167
+            // COS上传
168
+            upload_video_litpic_cos(e);
169
+        } else {
170
+            // 本地上传
171
+            upload_video_litpic_local(e);
172
+        }
173
+    }
174
+
175
+    // 七牛云上传
176
+    function upload_video_litpic_qiniu(e) {
177
+        // 获取文件路径名
178
+        var file = $(e)[0].files[0];
179
+
180
+        // 验证上传格式
181
+        var fileName = file.name;
182
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
183
+        var ext = judgeExt(fileExt);
184
+        if (ext == -1) {
185
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
186
+            return false;
187
+        }
188
+
189
+        // 验证上传大小
190
+        var size = "{$upload_max_filesize}";
191
+        if (file.size > size) {
192
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
193
+            return false;
194
+        }
195
+
196
+        // 执行上传
197
+        layer_loading('上传本地');
198
+        $.ajax({
199
+            type: 'POST',
200
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Qiniuyun&a=qiniu_upload',
201
+            data: {_ajax: 1},
202
+            dataType: "JSON",
203
+            success: function(res1) {
204
+                if (1 == res1.code) {
205
+                    var token  = res1.data.token;
206
+                    var formData = new FormData();
207
+                    formData.append('file', file);
208
+                    formData.append('token', token);
209
+
210
+                    fileName = res1.data.filePath + fileExt;
211
+                    formData.append('key', fileName);
212
+                    $.ajax({
213
+                        url: res1.data.uphost,
214
+                        type: 'POST',
215
+                        dataType: 'JSON',
216
+                        data: formData,
217
+                        timeout: 1200000,
218
+                        cache: false,
219
+                        processData: false,
220
+                        contentType: false,
221
+                        xhr: function () {
222
+                            myXhr = $.ajaxSettings.xhr();
223
+                            if (myXhr.upload) {
224
+                                myXhr.upload.addEventListener('progress', function(e){
225
+                                    var curr = e.loaded;
226
+                                    var total = e.total;
227
+                                    process = parseInt(curr / total * 100);
228
+                                    $("#upload_video_litpic_qiniu").text('上传中...'+process+"%");
229
+                                });
230
+                            }
231
+                            return myXhr;
232
+                        },
233
+                        success: function(res2) {
234
+                            layer.closeAll();
235
+                            $("#upload_video_litpic_qiniu").text('上传成功');
236
+                            setTimeout(function() {
237
+                                $('#upload_video_litpic_qiniu').text('七牛云上传');
238
+                            }, 2000);
239
+                            var video_url = res1.data.domain + "/" + res2.key;
240
+                            $("#video_litpic").val(video_url);
241
+                        },
242
+                        error: function(e) {
243
+                            layer.closeAll();
244
+                            showErrorMsg(e.responseText);
245
+                            return false;
246
+                        }
247
+                    });
248
+                } else {
249
+                    layer.closeAll();
250
+                    showErrorMsg(res1.msg);
251
+                }
252
+            },
253
+            error: function(e) {
254
+                layer.closeAll();
255
+                showErrorMsg(e.responseText);
256
+            }
257
+        });
258
+    }
259
+
260
+    // 阿里云OSS上传
261
+    function upload_video_litpic_oss(e) {
262
+        // 获取文件路径名
263
+        var file = $(e)[0].files[0];
264
+
265
+        // 验证上传格式
266
+        var fileName = file.name;
267
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
268
+        var ext = judgeExt(fileExt);
269
+        if (ext == -1) {
270
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
271
+            return false;
272
+        }
273
+
274
+        // 验证上传大小
275
+        var size = "{$upload_max_filesize}";
276
+        if (file.size > size) {
277
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
278
+            return false;
279
+        }
280
+
281
+        // 执行上传
282
+        layer_loading('上传阿里云OSS');
283
+        $.ajax({
284
+            type: 'POST',
285
+            url: '__ROOT_DIR__/index.php?m=plugins&c=AliyunOss&a=oss_upload',
286
+            data: {_ajax: 1},
287
+            dataType: "JSON",
288
+            success: function(res1){
289
+                if (1 == res1.code){
290
+                    fileName = res1.data.filePath + fileExt;
291
+                    //组装发送数据
292
+                    var request = new FormData();
293
+                    request.append("OSSAccessKeyId",res1.data.accessid);
294
+                    request.append("policy",res1.data.policy);
295
+                    request.append("Signature",res1.data.signature);
296
+                    request.append("key",fileName);
297
+                    request.append("success_action_status",201);
298
+                    request.append('file', file);
299
+
300
+                    $.ajax({
301
+                        url : res1.data.host,
302
+                        data : request,
303
+                        processData: false,
304
+                        cache: false,
305
+                        contentType: false,
306
+                        dataType: 'xml',
307
+                        type : 'post',
308
+                        xhr: function () {
309
+                            myXhr = $.ajaxSettings.xhr();
310
+                            if (myXhr.upload) {
311
+                                myXhr.upload.addEventListener('progress', function(e){
312
+                                    var curr = e.loaded;
313
+                                    var total = e.total;
314
+                                    var process = parseInt(curr / total * 100);
315
+                                    $("#upload_video_litpic_oss").text('上传中...'+process+"%");
316
+                                });
317
+                            }
318
+                            return myXhr;
319
+                        },
320
+                        success : function(data) {
321
+                            layer.closeAll();
322
+                            var res = $(data).find('PostResponse');
323
+                            if (res) {
324
+                                var key = res.find('Key').text();
325
+                                $("#upload_video_litpic_oss").text('上传成功');
326
+                                setTimeout(function() {
327
+                                    $('#upload_video_litpic_oss').text('oss上传');
328
+                                }, 2000);
329
+                                var video_url = res1.data.domain + "/" + key;
330
+                                $("#video_litpic").val(video_url);
331
+                            } else {
332
+                                $("#upload_video_litpic_oss").text('上传失败');
333
+                                setTimeout(function() {
334
+                                    $('#upload_video_litpic_oss').text('oss上传');
335
+                                }, 2000);
336
+                            }
337
+                        },
338
+                        error : function(e) {
339
+                            layer.closeAll();
340
+                            console.log(e.responseText);
341
+                        }
342
+                    });
343
+                } else {
344
+                    layer.closeAll();
345
+                    showErrorMsg(res1.msg);
346
+                }
347
+            },
348
+            error: function(e) {
349
+                layer.closeAll();
350
+                showErrorMsg(e.responseText);
351
+            }
352
+        });
353
+    }
354
+
355
+    // 腾讯云COS上传
356
+    function upload_video_litpic_cos(e) {
357
+        // 获取文件路径名
358
+        var file = $(e)[0].files[0];
359
+
360
+        // 验证上传格式
361
+        var fileName = file.name;
362
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
363
+        var ext = judgeExt(fileExt);
364
+        if (ext == -1) {
365
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
366
+            return false;
367
+        }
368
+
369
+        // 验证上传大小
370
+        var size = "{$upload_max_filesize}";
371
+        if (file.size > size) {
372
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
373
+            return false;
374
+        }
375
+
376
+        // 上传参数
377
+        var formData = new FormData();
378
+        formData.append('file', file);
379
+        formData.append('file_ext', fileExt);
380
+
381
+        // 执行上传
382
+        $.ajax({
383
+            type: 'post',
384
+            url: '__ROOT_DIR__/index.php?m=plugins&c=Cos&a=cos_upload&_ajax=1',
385
+            data: formData,
386
+            contentType: false,
387
+            processData: false,
388
+            dataType: 'json',
389
+            xhr: function () {
390
+                myXhr = $.ajaxSettings.xhr();
391
+                if (myXhr.upload) {
392
+                    myXhr.upload.addEventListener('progress', function(e){
393
+                        var curr = e.loaded;
394
+                        var total = e.total;
395
+                        process = parseInt(curr / total * 100);
396
+                        if (100 == process) {
397
+                            process = 99;
398
+                            layer_loading('上传腾讯云');
399
+                        }
400
+                        $("#upload_video_litpic_cos").text('上传中...'+process+"%");
401
+
402
+                    });
403
+                }
404
+                return myXhr;
405
+            },
406
+            success: function(res) {
407
+                layer.closeAll();
408
+                if (1 == res.code) {
409
+                    $("#video_litpic").val(res.data.url);
410
+                    $("#upload_video_litpic_cos").text('上传成功');
411
+                } else {
412
+                    $("#upload_video_litpic_cos").text('上传失败');
413
+                }
414
+                setTimeout(function() {
415
+                    $('#upload_video_litpic_cos').text('cos上传');
416
+                }, 2000);
417
+            },
418
+            error: function(e) {
419
+                layer.closeAll();
420
+                showErrorMsg(e.responseText);
421
+            }
422
+        });
423
+    }
424
+
425
+    // 本地上传
426
+    function upload_video_litpic_local(e) {
427
+        // 获取文件路径名
428
+        var file = $(e)[0].files[0];
429
+
430
+        // 验证上传格式
431
+        var fileName = file.name;
432
+        var fileExt = fileName.substr(fileName.lastIndexOf('.')).toLowerCase();
433
+        var ext = judgeExt(fileExt);
434
+        if (ext == -1) {
435
+            showErrorMsg('不支持选中的视频格式,可在附件设置中修改');
436
+            return false;
437
+        }
438
+
439
+        // 验证上传大小
440
+        var size = "{$upload_max_filesize}";
441
+        if (file.size > size) {
442
+            showErrorMsg('视频大小超过限制,可在附件设置中修改');
443
+            return false;
444
+        }
445
+
446
+        // 定义上传数据
447
+        var formData = new FormData();
448
+        formData.append('file', file);
449
+
450
+        // 执行上传
451
+        layer_loading('上传本地');
452
+        $.ajax({
453
+            type: 'post',
454
+            url : "{:url('Ueditor/upVideo', ['savepath'=>'media'])}",
455
+            data: formData,
456
+            contentType: false,
457
+            processData: false,
458
+            dataType: 'json',
459
+            xhr: function () {
460
+                myXhr = $.ajaxSettings.xhr();
461
+                if (myXhr.upload) {
462
+                    myXhr.upload.addEventListener('progress', function(e){
463
+                        var curr = e.loaded;
464
+                        var total = e.total;
465
+                        process = parseInt(curr / total * 100);
466
+                        $("#upload_video_litpic_local").html('上传中...'+process+"%");
467
+                    });
468
+                }
469
+                return myXhr;
470
+            },
471
+            success: function (res) {
472
+                layer.closeAll();
473
+                $("#upload_video_litpic_local").html('上传成功');
474
+                setTimeout(function() {
475
+                    $('#upload_video_litpic_local').html('本地上传');
476
+                }, 2000);
477
+                if ("SUCCESS" == res.state) {
478
+                    $("#video_litpic").val(res.url);
479
+                } else {
480
+                    showErrorMsg(res.msg);
481
+                }
482
+            }
483
+        });
484
+    }
485
+
486
+    // 验证格式
487
+    function judgeExt(ext) {
488
+        var type = "{$media_type}";
489
+        var extArr = [];
490
+        extArr = type.split("|");
491
+        var ext = ext.replace(".","");
492
+        return extArr.indexOf(ext);
493
+    }
494
+</script>
495
+
496
+<script type="text/javascript">
497
+    var parentObj = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
498
+    // 勾选新窗口打开链接
499
+    function CheckedTarget(t){
500
+        if ($(t).is(':checked')) {
501
+            $(t).parent().find('input[name="img_target[]"]').val(1);
502
+        }else{
503
+            $(t).parent().find('input[name="img_target[]"]').val(0);
504
+        }
505
+    }
506
+    // 鼠标事件,加载查看大图和更新图片
507
+    function upimgMouseover(obj)
508
+    {
509
+        $(obj).find('div.icaction').show();
510
+        $(obj).find('div.cover-bg').show();
511
+    }
512
+    function upimgMouseout(obj)
513
+    {
514
+        $(obj).find('div.icaction').hide();
515
+        $(obj).find('div.cover-bg').hide();
516
+    }
517
+
518
+    // 检测广告名称是否存在重复
519
+    function DetectionTitleRepeat(obj) {
520
+        // 当前广告ID
521
+        var id = 0;
522
+        // 传入的广告名称
523
+        var title = $(obj).val();
524
+        // 执行检测
525
+        $.ajax({
526
+            type: 'post',
527
+            url : "{:url('ZcPosition/detection_title_repeat', ['_ajax'=>1])}",
528
+            data: {id: id, title: title},
529
+            dataType: 'json',
530
+            success: function(res) {
531
+                if (0 == res.code) {
532
+                    $('#title_tips').show().html(res.msg);
533
+                } else {
534
+                    $('#title_tips').hide().html('');
535
+                }
536
+            },
537
+            error: function(e){
538
+                layer.closeAll();
539
+                showErrorAlert(e.responseText);
540
+            }
541
+        });
542
+    }
543
+
544
+    // 判断输入框是否为空
545
+    function checkForm(){
546
+        if($('input[name=title]').val() == ''){
547
+            layer.msg('分类名称不能为空!', {icon: 2,time: 1000});
548
+            return false;
549
+        }
550
+
551
+        if($('#selectTest').val() == '1'){
552
+
553
+        }
554
+
555
+        /*var checkedValues = [];
556
+        $('#post_form input[type=checkbox]:checked').each(function() {
557
+            checkedValues.push($(this).val());
558
+        });
559
+        console.log(checkedValues); // 打印选中的checkbox值
560
+        if(checkedValues.length > 0){
561
+
562
+        }else{
563
+            layer.msg('请选择证书!', {icon: 2,time: 1000});
564
+            return false;
565
+        }*/
566
+
567
+
568
+        //打印
569
+        /*console.log($('#post_form').serialize());
570
+        return false;*/
571
+
572
+
573
+        layer_loading('正在处理');
574
+        $.ajax({
575
+            type : 'post',
576
+            url : "{:url('ZczyPosition/edittypePost', ['_ajax'=>1])}",
577
+            data : $('#post_form').serialize(),
578
+            dataType : 'json',
579
+            success : function(res) {
580
+                layer.closeAll();
581
+                if (1 == res.code) {
582
+                    var _parent = parent;
583
+                    _parent.layer.close(parentObj);
584
+                    _parent.layer.msg(res.msg, {icon: 1, shade: layer_shade, time: 1000}, function() {
585
+                        _parent.window.location.reload();
586
+                    });
587
+                } else {
588
+                    showErrorMsg(res.msg);
589
+                }
590
+            },
591
+            error: function(e) {
592
+                layer.closeAll();
593
+                showErrorAlert(e.responseText);
594
+            }
595
+        });
596
+    }
597
+
598
+    // 显示信息输入框
599
+    function ShowInput(id) {
600
+        var obj = $("#"+id+"_ShowInput");
601
+        var showOrHide = obj.attr('data-showOrHide');
602
+        if ('hide' == showOrHide) {
603
+            obj.show().attr('data-showOrHide', 'show');
604
+        } else {
605
+            obj.hide().attr('data-showOrHide', 'hide');
606
+        }
607
+    }
608
+
609
+    // 隐藏信息输入
610
+    function HideInput(id) {
611
+        $("#"+id+"_ShowInput").hide().attr('data-showOrHide', 'hide');
612
+    }
613
+
614
+    // 上传图集相册回调函数
615
+    function imgupload_call_back(paths){
616
+        var last_div = $(".images_upload_tpl").html();
617
+        var inputs   = $('.span_input input');
618
+        var timestamp = 0;
619
+
620
+        for (var i=0; i<paths.length; i++){
621
+            // 生成新的时间戳
622
+            timestamp = (new Date()).getTime();
623
+            // 插入一个 新图片
624
+            $(".images_upload:eq(0)").before(last_div);
625
+            // 处理他的链接地址
626
+            $(".images_upload:eq(0)").find('span:eq(0)').attr('onclick',"Images('"+paths[i]+"', 900, 600);");
627
+            // 处理信息显示隐藏按钮
628
+            $(".images_upload:eq(0)").find('span:eq(1)').attr('onclick', "ShowInput('"+timestamp+"');");
629
+            // 处理他的图片路径
630
+            $(".images_upload:eq(0)").find('img').attr('src',paths[i]);
631
+            // 处理删除按钮
632
+            $(".images_upload:eq(0)").find('a:eq(1)').attr('onclick', "ClearPicArr(this, '"+paths[i]+"', 0);");
633
+            // 处理图片信息框ID
634
+            $(".images_upload:eq(0)").find('.load_input:eq(0)').attr('id', timestamp+'_ShowInput');
635
+
636
+            // 处理图片路径及隐藏域
637
+            if (inputs.length > '0') {
638
+                // 修改隐藏域,提交ID隐藏域
639
+                $(".images_upload:eq(0)").find('input:eq(0)').attr('name','img_id[]').attr('value','');
640
+                // 修改隐藏域,提交图片隐藏域
641
+                $(".span_input:eq(0)").find('input:eq(0)').attr('name','img_litpic[]').attr('value',paths[i]);
642
+                // 提交标题
643
+                $(".images_upload:eq(0)").find('textarea:eq(0)').attr('name','img_title[]');
644
+                // 提交跳转链接
645
+                $(".images_upload:eq(0)").find('textarea:eq(1)').attr('name','img_links[]');
646
+                // 处理内容描述
647
+                $(".images_upload:eq(0)").find('textarea:eq(2)').attr('name','img_intro[]');
648
+                // 提交新窗口选项
649
+                $(".images_upload:eq(0)").find('div.operation a:eq(0)').html("<label><input type='checkbox' title='在新窗口打开' onclick='CheckedTarget(this)'/>新窗口<input type='hidden' name='img_target[]' value='0'></label>");
650
+                // 处理收回按钮
651
+                $(".images_upload:eq(0)").find('div.operation a:eq(2)').attr('onclick', "HideInput('"+timestamp+"');").attr('title', "收回").html('<i style="font-size:16px;" class="fa fa-angle-double-up"></i>');
652
+            }
653
+        }
654
+    }
655
+
656
+    // 上传之后删除组图input
657
+    function ClearPicArr(obj,path)
658
+    {
659
+        $(obj).parent().parent().parent().remove(); // 删除完服务器的, 再删除 html上的图片
660
+        $.ajax({
661
+            type:'POST',
662
+            url:"{:url('Uploadimgnew/delupload')}",
663
+            data:{action:"del", filename:path, _ajax:1},
664
+            success:function(){}
665
+        });
666
+    }
667
+
668
+    // 代码调用js
669
+    function copyToClipBoard(id) {
670
+        var adstr = "{eyou:ad aid='" + id + "'}\r\n   <a href='{$"+"field.links}' {$"+"field.target}><img src='{$"+"field.litpic}' alt='{$"+"field.title}' /></a>\r\n{/eyou:ad";
671
+        var contentdiv = '<div class="dialog_content" style="margin: 0px; padding: 0px;"><dl style="padding:10px 30px;line-height:30px"><dd>标签 ad 调用:</dd>'
672
+        contentdiv += '<textarea rows="4" cols="60" style="width:400px;height:80px;">' + adstr + '}</textarea>'
673
+        contentdiv += '<dd style="border-top: dotted 1px #E7E7E7; color: #F60;">请将对应标签代码复制并粘贴到对应模板文件中!</dd></dl></div>'
674
+        layer.open({
675
+            title: '代码调用',
676
+            type: 1,
677
+            shade: layer_shade,
678
+            skin: 'layui-layer-demo',
679
+            area: ['480px', '240px'], //宽高
680
+            content: contentdiv
681
+        });
682
+    }
683
+
684
+    // 图集相册的拖动排序相关 js
685
+    $( ".sort-list" ).sortable({
686
+        start: function( event, ui) {
687
+
688
+        }
689
+        ,stop: function( event, ui ) {
690
+
691
+        }
692
+    });
693
+    //因为他们要拖动,所以尽量设置他们的文字不能选择。
694
+    // $( ".sort-list" ).disableSelection();
695
+</script>
696
+
697
+{include file="public/footer" /}

+ 63
- 4
application/admin/template/zczy_position/index.htm View File

@@ -23,11 +23,12 @@
23 23
 				    {/eq}
24 24
 				 {/if}
25 25
             </div>
26
-            <form id="searchForm" class="navbar-form form-inline" action="{:url('ZczyPosition/index')}" method="get" onsubmit="layer_loading('正在处理');">
27
-                {$searchform.hidden|default=''}
28
-                <div class="sDiv">
29 26
 
30
-                    <div class="sDiv2">
27
+
28
+            <?php
29
+
30
+            /*
31
+             * <div class="sDiv2">
31 32
                         <select name="type" class="select" style="margin:0px 5px;">
32 33
                             <option value="">--选择分类--</option>
33 34
 
@@ -57,6 +58,35 @@
57 58
 
58 59
                         </select>
59 60
                     </div>
61
+             */
62
+
63
+            ?>
64
+
65
+
66
+
67
+            <form id="searchForm" class="navbar-form form-inline" action="{:url('ZczyPosition/index')}" method="get" onsubmit="layer_loading('正在处理');">
68
+                {$searchform.hidden|default=''}
69
+                <div class="sDiv">
70
+
71
+                    <div class="sDiv2">
72
+                        <select name="type" class="select" style="margin:0px 5px;">
73
+                            <option value="">--选择一级--</option>
74
+                            {eyou:foreach name='$pos_list' item='field1'}
75
+                            <option value="{$field1.id}" {eq name="$Request.param.type" value="$field1.id"}selected{/eq}>{$field1.name}</option>
76
+                            {/eyou:foreach}
77
+                        </select>
78
+                    </div>
79
+
80
+
81
+                    <div class="sDiv2">
82
+                        <select name="type2" id="type2" class="select" style="margin:0px 5px;">
83
+                            <option value="0">--选择二级--</option>
84
+                            {eyou:foreach name='$pos_list2' item='field1'}
85
+                            <option value="{$field1.id}" {eq name="$Request.param.type2" value="$field1.id"}selected{/eq}>{$field1.name}</option>
86
+                            {/eyou:foreach}
87
+                        </select>
88
+                    </div>
89
+
60 90
 
61 91
 
62 92
                     <div class="sDiv2">
@@ -64,8 +94,29 @@
64 94
                         <input type="submit" class="btn" value="搜索">
65 95
 						<i class="iconfont e-sousuo"></i>
66 96
                     </div>
97
+
67 98
                 </div>
68 99
             </form>
100
+
101
+            <div class="sDiv">
102
+                {eq name="$Think.const.CONTROLLER_NAME.'@addtype'|is_check_access" value="1"}
103
+                <a href="javascript:void(0);" data-href="{:url('ZczyPosition/addtype',array('id'=>$vo['id']))}" data-closereload="1" class="btn blue" onclick="openFullframe(this, '添加分类', '70%', '80%');">添加分类</a> <i></i>
104
+                {/eq}
105
+
106
+                {eq name="$Think.const.CONTROLLER_NAME.'@edittype'|is_check_access" value="1"}
107
+                <a href="javascript:void(0);" data-href="{:url('ZczyPosition/edittype',array('type'=>$Request.param.type,'type2'=>$Request.param.type2))}" data-closereload="1" class="btn blue" onclick="openFullframe(this, '编辑分类', '70%', '80%');">编辑分类</a> <i></i>
108
+                {/eq}
109
+
110
+                {eq name="$Think.const.CONTROLLER_NAME.'@deltype'|is_check_access" value="1"}
111
+                <a href="javascript:void(0);" data-href="{:url('ZczyPosition/deltype',array('type'=>$Request.param.type,'type2'=>$Request.param.type2))}" data-closereload="1" class="btn blue" onclick="openFullframe(this, '删除分类', '70%', '80%');">删除分类</a> <i></i>
112
+                {/eq}
113
+
114
+            </div>
115
+            <!--
116
+            <button id="addType">添加分类</button>-->
117
+            <!--
118
+            <button id="editType">编辑分类</button>-->
119
+
69 120
         </div>
70 121
 
71 122
         <div class="hDiv">
@@ -239,6 +290,14 @@
239 290
         });
240 291
 
241 292
         $('#searchForm select[name=type]').change(function(){
293
+            if($(this).val() == 0){
294
+                //重置二级分类
295
+                $('#type2').val(0);
296
+            }
297
+            $('#searchForm').submit();
298
+        });
299
+
300
+        $('#searchForm select[name=type2]').change(function(){
242 301
             $('#searchForm').submit();
243 302
         });
244 303
 

Loading…
Cancel
Save