|
@@ -0,0 +1,214 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+namespace backend\controllers;
|
|
|
+
|
|
|
+use common\models\SurveyNew;
|
|
|
+use Yii;
|
|
|
+use yii\data\ActiveDataProvider;
|
|
|
+use yii\filters\VerbFilter;
|
|
|
+use yii\web\Controller;
|
|
|
+use yii\web\NotFoundHttpException;
|
|
|
+use common\modules\config\models\Config;
|
|
|
+
|
|
|
+
|
|
|
+ * SurveyController implements the CRUD actions for SurveyNew model.
|
|
|
+ */
|
|
|
+class SurveyNewController extends Controller
|
|
|
+{
|
|
|
+ public function behaviors()
|
|
|
+ {
|
|
|
+ return [
|
|
|
+ 'verbs' => [
|
|
|
+ 'class' => VerbFilter::className(),
|
|
|
+ 'actions' => [
|
|
|
+ 'delete' => ['post'],
|
|
|
+ ],
|
|
|
+ ],
|
|
|
+ ];
|
|
|
+ }
|
|
|
+
|
|
|
+ * Lists all SurveyNew models.
|
|
|
+ *
|
|
|
+ * @return mixed
|
|
|
+ */
|
|
|
+ public function actionIndex()
|
|
|
+ {
|
|
|
+ $dataProvider = new ActiveDataProvider([
|
|
|
+ 'query' => SurveyNew::find(),
|
|
|
+ ]);
|
|
|
+
|
|
|
+ return $this->render('index', [
|
|
|
+ 'dataProvider' => $dataProvider,
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * Displays a single SurveyNew model.
|
|
|
+ *
|
|
|
+ * @param int $id
|
|
|
+ *
|
|
|
+ * @return mixed
|
|
|
+ */
|
|
|
+ public function actionView($id)
|
|
|
+ {
|
|
|
+ return $this->render('view', [
|
|
|
+ 'model' => $this->findModel($id),
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ * Creates a new SurveyNew model.
|
|
|
+ * If creation is successful, the browser will be redirected to the 'view' SurveyNew.
|
|
|
+ *
|
|
|
+ * @return mixed
|
|
|
+ */
|
|
|
+ public function actionCreate()
|
|
|
+ {
|
|
|
+ $model = new SurveyNew();
|
|
|
+ $editor = request('editor') ? : config('page_editor_type');
|
|
|
+ $model->markdown = $editor == 'markdown' ? 1 : 0;
|
|
|
+ $type = Yii::$app->request->get('type','industry');
|
|
|
+ $type = empty($type) ? 'industry' : $type;
|
|
|
+ $model->type = $type;
|
|
|
+
|
|
|
+ $typeDesc = '';
|
|
|
+ switch ($type) {
|
|
|
+ case 'industry':
|
|
|
+ $typeDesc = '现代产业';
|
|
|
+ break;
|
|
|
+ case 'education':
|
|
|
+ $typeDesc = '高等教育';
|
|
|
+ break;
|
|
|
+ case 'medical':
|
|
|
+ $typeDesc = '医疗卫生';
|
|
|
+ break;
|
|
|
+ case 'circuit':
|
|
|
+ $typeDesc = '集成电路';
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ $configModels = Config::find()->select(['name','value','extra','description','type'])->where(['group' => $type])->all();
|
|
|
+
|
|
|
+ $cengciModels = Config::find()->select(['name','value','extra','description','type'])->where(['group' => 'policy', 'name' => 'cengci'])->all();
|
|
|
+
|
|
|
+ if (Yii::$app->request->isPost) {
|
|
|
+ $data = Yii::$app->request->post();
|
|
|
+
|
|
|
+ $arr = [];
|
|
|
+ foreach ($data as $key=>$value) {
|
|
|
+ if($key == '_csrfBackend' || $key == 'SurveyNew'){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ $arr[$key] = $value;
|
|
|
+ }
|
|
|
+
|
|
|
+ $data['SurveyNew']['filter'] = json_encode($arr,JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
|
|
|
+ $data['SurveyNew']['type'] = $type;
|
|
|
+
|
|
|
+ $model->load($data);
|
|
|
+ $model->save();
|
|
|
+ return $this->redirect(['index']);
|
|
|
+ }
|
|
|
+
|
|
|
+ return $this->render('create', [
|
|
|
+ 'model' => $model,
|
|
|
+ 'type'=>$typeDesc,
|
|
|
+ 'configModels' => $configModels,
|
|
|
+ 'cengciModels' => $cengciModels,
|
|
|
+ ]);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * Updates an existing SurveyNew model.
|
|
|
+ * If update is successful, the browser will be redirected to the 'view' SurveyNew.
|
|
|
+ *
|
|
|
+ * @param int $id
|
|
|
+ *
|
|
|
+ * @return mixed
|
|
|
+ */
|
|
|
+ public function actionUpdate($id)
|
|
|
+ {
|
|
|
+ $model = $this->findModel($id);
|
|
|
+
|
|
|
+ $typeDesc = '';
|
|
|
+ switch ($model['type']) {
|
|
|
+ case 'industry':
|
|
|
+ $typeDesc = '现代产业';
|
|
|
+ break;
|
|
|
+ case 'education':
|
|
|
+ $typeDesc = '高等教育';
|
|
|
+ break;
|
|
|
+ case 'medical':
|
|
|
+ $typeDesc = '医疗卫生';
|
|
|
+ break;
|
|
|
+ case 'circuit':
|
|
|
+ $typeDesc = '集成电路';
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ $configModels = Config::find()->select(['name','value','extra','description','type'])->where(['group' => $model['type']])->all();
|
|
|
+
|
|
|
+ if (Yii::$app->request->isPost) {
|
|
|
+ $data = Yii::$app->request->post();
|
|
|
+
|
|
|
+ $arr = [];
|
|
|
+ foreach ($data as $key=>$value) {
|
|
|
+ if($key == '_csrfBackend' || $key == 'SurveyNew'){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ $arr[$key] = $value;
|
|
|
+ }
|
|
|
+
|
|
|
+ $data['SurveyNew']['filter'] = json_encode($arr,JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
|
|
|
+
|
|
|
+ $model->load($data);
|
|
|
+ $model->save();
|
|
|
+ return $this->redirect(['index']);
|
|
|
+ }
|
|
|
+
|
|
|
+ $model->filter = json_decode($model->filter,true);
|
|
|
+ return $this->render('update', [
|
|
|
+ 'model' => $model,
|
|
|
+ 'type'=>$typeDesc,
|
|
|
+ 'configModels' => $configModels,
|
|
|
+ ]);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * Deletes an existing SurveyNew model.
|
|
|
+ * If deletion is successful, the browser will be redirected to the 'index' SurveyNew.
|
|
|
+ *
|
|
|
+ * @param int $id
|
|
|
+ *
|
|
|
+ * @return mixed
|
|
|
+ */
|
|
|
+ public function actionDelete($id)
|
|
|
+ {
|
|
|
+ $this->findModel($id)->delete();
|
|
|
+
|
|
|
+ return $this->redirect(['index']);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * Finds the SurveyNew model based on its primary key value.
|
|
|
+ * If the model is not found, a 404 HTTP exception will be thrown.
|
|
|
+ *
|
|
|
+ * @param int $id
|
|
|
+ *
|
|
|
+ * @return SurveyNew the loaded model
|
|
|
+ *
|
|
|
+ * @throws NotFoundHttpException if the model cannot be found
|
|
|
+ */
|
|
|
+ protected function findModel($id)
|
|
|
+ {
|
|
|
+ if (($model = SurveyNew::findOne($id)) !== null) {
|
|
|
+
|
|
|
+ return $model;
|
|
|
+ } else {
|
|
|
+ throw new NotFoundHttpException('The requested page does not exist.');
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|