%s

'; $label = function($data) { return array('#text' => $data, '#class' => ['label'], '#style' => ['float:none;min-height: 28px;padding-top: 4px;width:100%;']); }; $form['form_attributes']['enctype'] = 'multipart/form-data'; $form['form_attributes']['js'][] = 'engine/classes/WebAppRaiser/forms/OrderCreateForm.js'; $form['woid'] = array( 'inputs' => array( '#type'=> 'hidden', ), ); $form['object_id'] = array( 'inputs' => array( '#type'=> 'hidden', ), ); /*$form['appraisalCompanyId'] = array( 'inputs' => array( '#type'=> 'hidden', '#required'=> false, ), ); // */ // Информация о заказе $form['markup_zakaz_header'] = array( '#prefix' => '
', 'inputs' => array( '#type' => 'markup', '#value' => sprintf($header, 'Заказ'), ), '#suffix' => '
', ); $form['serviceType'] = array( '#prefix' => '
', 'label'=> $label('Тип заказа'), // Тип услуги оценки 'inputs' => array( '#type'=> 'select', '#required'=> true, '#options' => WebAppRaiserAPI::getDict('APPRAISAL_SERVICE_TYPE'), '#inputs_style' => 'float:none; width:90%', ), ); $form['objectType'] = array( 'label'=> $label('Объект оценки'), // Тип объекта оценки 'inputs' => array( '#type'=> 'select', '#required'=> true, '#options' => WebAppRaiserAPI::getDict('OBJECT_TYPE'), '#inputs_style' => 'float:none; width:90%', ), ); $form['reportUsageType'] = array( 'label'=> $label('Цель оценки'), 'inputs' => array( '#type'=> 'select', '#required'=> true, '#options' => WebAppRaiserAPI::getDict('REPORT_USAGE_TYPE'), '#inputs_style' => 'float:none; width:90%', ), ); $form['address'] = array( 'label'=> $label('Адрес объекта'), // Адрес объекта оценки 'inputs' => array( '#type'=> 'textarea', '#required'=> true, '#inputs_style' => 'float:none; width:90%', ), ); $form['bankId'] = array( 'label'=> $label('Идентификатор банка в Системе'), 'inputs' => array( '#type'=> 'select', '#otions'=> [0 => 'Выберите банк'], '#required'=> false, '#inputs_style' => 'float:none; width:90%', ), '#suffix' => '
', ); // получаем список банков по API global $WebAppRaiserAPI; $banks = $WebAppRaiserAPI->loadBanks(); if(!empty($banks)){ foreach($banks as $bank_id => $bank_name){ $form['bankId']['inputs']['#options'][$bank_id] = $bank_name; } } $form['contractCost'] = array( '#prefix' => '
', 'label'=> $label('Стоимость в договоре'), // Стоимость объекта при покупке 'inputs' => array( '#type'=> 'text', '#required'=> false, '#inputs_style' => 'float:none; width:90%', ), '#suffix' => '
', ); $form['makeAnaliceButton'] = array( '#prefix'=> '
', '#markup'=> 'Расчитать стоимость', '#suffix' => '
', ); $form['managerEmail'] = array( 'label'=> $label('Email менеджера'), 'inputs' => array( '#type'=> 'email', '#required'=> false, '#inputs_style' => 'float:none; width:90%', ), ); $form['managerComment'] = array( 'label'=> $label('Комментарий менеджера'), 'inputs' => array( '#type'=> 'textarea', '#required'=> false, '#rows' => 8, '#inputs_style' => 'float:none; width:90%', ), '#suffix' => '
', ); // Заказчик и менеджер $form['markup_zakazchik_manager_start'] = array( 'inputs' => array( '#type' => 'markup', '#value' => '
', ), ); $form['customerName'] = array( '#prefix' => '
'.sprintf($header, 'Заказчик / заемщик'), 'label'=> $label('ФИО клиента'), 'inputs' => array( '#type'=> 'text', '#required'=> false, '#inputs_style' => 'float:none; width:90%', ), ); $form['customerPhone'] = array( 'label'=> $label('Контактный телефон клиента'), 'inputs' => array( '#type'=> 'text', '#required'=> false, '#inputs_style' => 'float:none; width:90%', ), ); $form['customerEmail'] = array( 'label'=> $label('Email клиента'), 'inputs' => array( '#type'=> 'email', '#required'=> false, '#inputs_style' => 'float:none; width:90%', ), '#suffix' => '
', ); /* $form['customerPassportSerial'] = array( 'label'=> 'Серия паспорта клиента', 'inputs' => array( '#type'=> 'text', '#required'=> false, ), ); $form['customerPassportNumber'] = array( 'label'=> 'Номер паспорта клиента', 'inputs' => array( '#type'=> 'text', '#required'=> false, ), ); $form['customerPassportSub'] = array( 'label'=> 'Код подразделения, выдавшего паспорт клиенту', 'inputs' => array( '#type'=> 'text', '#required'=> false, ), ); $form['customerPassportIssuedBy'] = array( 'label'=> 'Название отделения, кем выдан паспорт клиенту', 'inputs' => array( '#type'=> 'textarea', '#required'=> false, ), ); $form['customerPassportIssueDate'] = array( 'label'=> 'Дата выдачи паспорта', 'inputs' => array( '#type'=> 'date', '#required'=> false, ), ); $form['customerPassportAddress'] = array( 'label'=> 'Адрес регистрации клиента', 'inputs' => array( '#type'=> 'textarea', '#required'=> false, ), ); // */ $form['bankManagerName'] = array( '#prefix' => '
'.sprintf($header, 'Менеджер банка'), 'label'=> $label('ФИО менеджера банка'), 'inputs' => array( '#type'=> 'text', '#required'=> false, '#inputs_style' => 'float:none; width:90%', ), ); $form['bankManagerEmail'] = array( 'label'=> $label('Email менеджера банка'), 'inputs' => array( '#type'=> 'email', '#required'=> false, '#inputs_style' => 'float:none; width:90%', ), '#suffix' => '
', ); $form['markup_zakazchik_manager_end'] = array( 'inputs' => array( '#type' => 'markup', '#value' => '
', ), ); $form['markup_osmotr_dostavka_start'] = array( 'inputs' => array( '#type' => 'markup', '#value' => '
', ), ); $form['inspectionContactName'] = array( '#prefix' => '
'.sprintf($header, 'Осмотр'), 'label'=> $label('ФИО, ответственного за осмотр'), 'inputs' => array( '#type'=> 'text', '#required'=> false, '#inputs_style' => 'float:none; width:90%', ), ); $form['inspectionContactPhone'] = array( 'label'=> $label('Контактный телефон, ответственного за осмотр'), 'inputs' => array( '#type'=> 'text', '#required'=> false, '#inputs_style' => 'float:none; width:90%', ), '#suffix' => '
', ); $form['deliveryRequired'] = array( '#prefix' => '
'.sprintf($header, 'Доставка'), 'label_append'=> ['#text' => 'Требуется доставка', '#class' => ['label'], '#style' => ['float:left;margin-top: 12px;']], 'inputs' => array( '#type'=> 'checkbox', '#required'=> false, '#check_option' => 1, '#inputs_style' => 'float: left;width: 70px;', ), ); $form['deliveryAddress'] = array( 'label'=> $label('Адрес доставки'), 'inputs' => array( '#type'=> 'text', '#required'=> false, '#inputs_style' => 'float:none; width:90%', ), ); $form['deliveryContactName'] = array( 'label'=> $label('Контактное лицо'), 'inputs' => array( '#type'=> 'text', '#required'=> false, '#inputs_style' => 'float:none; width:90%', ), ); $form['deliveryContactPhone'] = array( 'label'=> $label('Номер телефона контакта'), 'inputs' => array( '#type'=> 'text', '#required'=> false, '#inputs_style' => 'float:none; width:90%', ), '#suffix' => '
', ); $form['markup_osmotr_dostavka_end'] = array( 'inputs' => array( '#type' => 'markup', '#value' => '
', ), ); $form['сontactName'] = array( '#prefix' => '
'.sprintf($header, 'Ответственный агент').'
', 'label'=> $label('ФИО контактного лица'), 'inputs' => array( '#type'=> 'text', '#required'=> false, '#inputs_style' => 'float:none; width:90%', ), '#suffix' => '
', ); $form['сontactPhone'] = array( '#prefix' => '
', 'label'=> $label('Номер телефона контактного лица'), 'inputs' => array( '#type'=> 'text', '#required'=> false, '#inputs_style' => 'float:none; width:90%', ), '#suffix' => '
', ); $form['сontactEmail'] = array( '#prefix' => '
', 'label'=> $label('Email контактного лица'), 'inputs' => array( '#type'=> 'text', '#required'=> false, '#inputs_style' => 'float:none; width:90%', ), '#suffix' => '
', ); $form['images'] = array( '#prefix' => '
'.sprintf($header, 'Фотографии').'', 'inputs' => array( '#type' => 'markup', '#value'=> 'картинки', ), '#suffix' => '
', ); $form['submit'] = array( 'inputs' => array( '#type'=> 'submit', '#value'=> 'Сохранить', ), ); return $form; } public function validate() { $status = parent::validate(); return $status; } public function submit($status, &$page, WebAppRaiserAPI $WebAppRaiserAPI) { parent::submit($status, $page, $WebAppRaiserAPI); $page['status'] = $status['code']; $page['msg'] = array_merge($page['msg'], $status['message']); if($status['code'] == 'success'){ if($status['post']['deliveryRequired']){ $status['post']['deliveryRequired'] = true; } if(!empty($status['post']['photolist'])){ $photo_post = array(); $photo_list = trim($status['post']['photolist'], ' ,.'); $photo_ids = explode(',', $photo_list); foreach($photo_ids as $photo_id){ $photo_data = WebAppRaiserDB::select('object_photo', 'id', $photo_id); $photo_url = $photo_data[0]['photo']; $filename = pathinfo($photo_url, PATHINFO_BASENAME); $data = file_get_contents($photo_url); $base64 = base64_encode($data); $photo_post[] = array( 'name' => $filename, 'data' => $base64, ); } } $status['post']['photos'] = $photo_post; $status['post']['allowMessaging'] = true; $result = $WebAppRaiserAPI->createOrder($status['post']); $page['status'] = $result['status']; $page['msg'][] = $result['msg']; } else { // validation fail } parent::redirect($page); } }