| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 | 
							- <?php
 
- namespace app\admin\controller;
 
- use app\admin\AdminBaseController;
 
- use app\common\model\q\UserFormDataModel;
 
- use app\common\model\q\UserFormItemModel;
 
- use app\common\model\q\UserFormModel;
 
- class Evaluate extends AdminBaseController
 
- {
 
-     /**
 
-      * 项目列表
 
-      */
 
-     public function project()
 
-     {
 
-         return view();
 
-     }
 
-     public function listProject()
 
-     {
 
-         $where = [
 
-             ['user_id', '=', 723],
 
-             ['is_folder', '=', 1],
 
-             ['is_deleted', '=', 0],
 
-         ];
 
-         $list  = UserFormModel::where($where)
 
-             ->order('create_time desc')
 
-             ->limit(input('limit'))
 
-             ->page(input('page'))
 
-             ->select();
 
-         $count = UserFormModel::where($where)->count();
 
-         if ($count == 0) {
 
-             ajax_return(1, '未查询到数据');
 
-         }
 
-         //数据处理
 
-         foreach ($list as $v) {
 
-             $v['sub_count'] = UserFormModel::where('folder_id', $v['id'])->count();
 
-         }
 
-         list_return($list, $count);
 
-     }
 
-     public function exportProject()
 
-     {
 
-         $id = input('id', 0);
 
-         if (empty($id)) {
 
-             return '参数有误';
 
-         }
 
-         $form = UserFormModel::find($id);
 
-         if (empty($form) || $form['is_folder'] != 1) {
 
-             return '参数有误';
 
-         }
 
-         $form_list = UserFormModel::where([
 
-             ['folder_id', '=', $id],
 
-             ['is_deleted', '=', 0],
 
-         ])->select();
 
-         $form_key_list = $form_list->column('form_key');
 
-         if (empty($form_key_list)) {
 
-             return '暂无评价';
 
-         }
 
-         //表单问题
 
-         $form_item          = UserFormItemModel::where('form_key', 'in', $form_key_list)->where('type', 'RADIO')->select();
 
-         $form_key_item_list = [];
 
-         foreach ($form_item as $v) {
 
-             $item                                 = $v->toArray();
 
-             $item['scheme_array']                 = json_decode($item['scheme'], true);
 
-             $item['label']                        = strip_tags($item['label']);
 
-             $form_key_item_list[$v['form_key']][] = $item;
 
-         }
 
-         //具体数据
 
-         $form_data = UserFormDataModel::where('form_key', 'in', $form_key_list)->select();
 
-         if (empty($form_data)) {
 
-             return '暂无评价';
 
-         }
 
-         $form_key_data_list = [];
 
-         foreach ($form_data as $v) {
 
-             $item                                 = $v->toArray();
 
-             $item['original_data_array']          = json_decode($item['original_data'], true);
 
-             $form_key_data_list[$v['form_key']][] = $item;
 
-         }
 
-         //计算百分比
 
-         $res = [];
 
-         foreach ($form_key_item_list as $key => $form_item_list) {
 
-             //每个问题
 
-             $answer_list       = $form_key_data_list[$key];
 
-             $res[$key]['list'] = $this->_dealPercent($answer_list, $form_item_list);
 
-         }
 
-         //组合数据
 
-         foreach ($form_list as $v) {
 
-             $res[$v['form_key']]['title'] = trim(str_replace("\n", '', strip_tags($v['name'])));
 
-         }
 
-         return view('', ['form' => $form, 'list' => $res]);
 
-     }
 
-     public function course()
 
-     {
 
-         $id = input('id',0);
 
-         if (empty($id)) {
 
-             return '参数错误';
 
-         }
 
-         return view('',['id'=>$id]);
 
-     }
 
-     public function listCourse()
 
-     {
 
-         $id = input('id',0);
 
-         if (empty($id)) {
 
-             ajax_return(1, '未查询到数据');
 
-         }
 
-         $where = [
 
-             ['user_id', '=', 723],
 
-             ['folder_id', '=', $id],
 
-             ['is_deleted', '=', 0],
 
-         ];
 
-         $list  = UserFormModel::where($where)
 
-             ->order('create_time desc')
 
-             ->limit(input('limit'))
 
-             ->page(input('page'))
 
-             ->select();
 
-         $count = UserFormModel::where($where)->count();
 
-         if ($count == 0) {
 
-             ajax_return(1, '未查询到数据');
 
-         }
 
-         //数据处理
 
-         foreach ($list as $v) {
 
-             $v['evaluate_count'] = UserFormDataModel::where('form_key', $v['form_key'])->count();
 
-         }
 
-         list_return($list, $count);
 
-     }
 
-     private function _dealPercent($answer_list, $form_item_list)
 
-     {
 
-         /* $res = [
 
-              'form_key' => [
 
-                  'form_item_id' => [
 
-                      'title'=>'标题',
 
-                      'answer'=> [
 
-                          'value' => ['title'=>'非常满意','num'=>'数量'],
 
-                          'value' => ['title'=>'满意','num'=>'数量'],
 
-                      ],
 
-                      'answer_total' => '总数',
 
-                  ],
 
-              ],
 
-          ];*/
 
-         //问题列表
 
-         $problem_list = [];
 
-         foreach ($form_item_list as $k => $v) {
 
-             $options = [];
 
-             if (!empty($v['scheme_array']['config']['options'])) {
 
-                 foreach ($v['scheme_array']['config']['options'] as $option) {
 
-                     $options[$option['value']] = ['title' => $option['label'], 'num' => 0];
 
-                 }
 
-             }
 
-             $problem_list[$v['form_item_id']] = [
 
-                 'title'        => $v['label'],
 
-                 'answer'       => $options,
 
-                 'answer_total' => count($answer_list),
 
-             ];
 
-         }
 
-         //问题答案
 
-         foreach ($answer_list as $answer) {
 
-             foreach ($answer['original_data_array'] as $answer_item_key => $answer_item) {
 
-                 if (!empty($problem_list[$answer_item_key])) {
 
-                     if (!empty($problem_list[$answer_item_key]['answer'][$answer_item])) {
 
-                         $problem_list[$answer_item_key]['answer'][$answer_item]['num']++;
 
-                     }
 
-                 }
 
-             }
 
-         }
 
-         return $problem_list;
 
-     }
 
- }
 
 
  |