UserController.php 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2017/7/31
  6. * Time: 11:43
  7. */
  8. namespace company\modules\manage\controllers;
  9. use yii\base\Controller;
  10. use company\modules\manage\controllers\LoginverifyController;
  11. use yii\filters\AccessControl;
  12. use common\models\UserCompany;
  13. use Yii;
  14. use common\library\LMUploadFile;
  15. use yii\web\UploadedFile;
  16. use common\models\Designer;
  17. use common\models\Manager;
  18. use common\models\ImageSource;
  19. use yii\data\Pagination;
  20. use common\models\User;
  21. use company\controllers\UserController as companyuser;
  22. class UserController extends LoginverifyController{
  23. public $layout = 'iframe';
  24. const PAGESIZE =10;
  25. public function behaviors()
  26. {
  27. return [
  28. 'access' => [
  29. 'class' => AccessControl::className(),
  30. 'rules' => [
  31. [
  32. 'actions' => [],
  33. 'allow' => true,
  34. 'roles' => ['@'],
  35. ],
  36. ],
  37. ],
  38. ];
  39. }
  40. public function actionIndex(){
  41. $model = UserCompany::find()->where('uid=:uid',[':uid'=>Yii::$app->user->id])->one();
  42. $conduct = Yii::$app->request->post('conduct');
  43. $id = Yii::$app->request->post('id');
  44. $picture_form = new LMUploadFile();
  45. switch($conduct){
  46. case "add":
  47. return companyuser::add_company();
  48. break;
  49. case "update":
  50. return companyuser::update_company($id);
  51. break;
  52. case "verify":
  53. return companyuser::verify_company();
  54. break;
  55. default:
  56. return $this->render('index',['model'=>$model,'picture_form'=>$picture_form]);
  57. break;
  58. }
  59. }
  60. /**
  61. * logo图片
  62. * @return string
  63. */
  64. public function actionLogoimgurl()
  65. {
  66. if (Yii::$app->request->isPost) {
  67. $type = Yii::$app->request->post('type_image');
  68. $picture_form = new LMUploadFile();
  69. $picture_form->imageFile = UploadedFile::getInstance($picture_form, 'imageFile');
  70. if ($picture_form->upload('product_picture',false,160,160)) {
  71. return "<script language='JavaScript'>window.parent.callback('上传成功!',1,'" . $picture_form->filepath . "','" . $type . "');</script>";
  72. } else {
  73. if(isset($picture_form->getErrors()['imageFile'][0])){
  74. $error = $picture_form->getErrors()['imageFile'][0];
  75. }else{
  76. $error = '图片上传失败';
  77. }
  78. return "<script language='JavaScript'>window.parent.callback('上传失败!',0,'" . $error . "');</script>";
  79. }
  80. }
  81. }
  82. //设计师
  83. public function actionDesigner(){
  84. $models = Designer::find()->where('company=:company and status=:status',[':company'=>Yii::$app->user->id,':status'=>Designer::STATUS_YES])->orderBy('created_at DESC');
  85. $pages=new Pagination(["totalCount"=>$models->count(),"pageSize"=>self::PAGESIZE]);
  86. $models=$models->offset($pages->offset)->limit($pages->limit)->orderBy('created_at desc')->all();
  87. $conduct = Yii::$app->request->get('conduct');
  88. $id = Yii::$app->request->get('id');
  89. switch($conduct){
  90. case "add":
  91. return companyuser::add_designer();
  92. break;
  93. case "update":
  94. return companyuser::update_designer($id);
  95. break;
  96. case "delete":
  97. return companyuser::delede_designer($id);
  98. default:
  99. return $this->render('designer',['models'=>$models,'pages'=>$pages]);
  100. break;
  101. }
  102. }
  103. //添加设计师
  104. public function actionAdddesigner(){
  105. $picture_form = new LMUploadFile();
  106. return $this->render('add_designer',['picture_form'=>$picture_form]);
  107. }
  108. //更新设计师
  109. public function actionUpdatedesigner(){
  110. $id = Yii::$app->request->get('id');
  111. $picture_form = new LMUploadFile();
  112. $model = Designer::find()->where('id=:id and status=:status',[':id'=>$id,':status'=>Designer::STATUS_YES])->one();
  113. return $this->render('add_designer',['model'=>$model,'id'=>$id,'picture_form'=>$picture_form]);
  114. }
  115. //项目经理
  116. public function actionManager(){
  117. $models = Manager::find()->where('company=:company and status=:status',[':company'=>Yii::$app->user->id,':status'=>Designer::STATUS_YES])->orderBy('created_at DESC');
  118. $pages=new Pagination(["totalCount"=>$models->count(),"pageSize"=>self::PAGESIZE]);
  119. $models=$models->offset($pages->offset)->limit($pages->limit)->orderBy('created_at desc')->all();
  120. $conduct = Yii::$app->request->get('conduct');
  121. $id = Yii::$app->request->get('id');
  122. switch($conduct){
  123. case "add":
  124. return companyuser::add_manager();
  125. break;
  126. case "update":
  127. return companyuser::update_manager($id);
  128. break;
  129. case "delete":
  130. return companyuser::delede_manager($id);
  131. default:
  132. return $this->render('manager',['models'=>$models,'pages'=>$pages]);
  133. break;
  134. }
  135. }
  136. //添加项目经理
  137. public function actionAddmanager(){
  138. $picture_form = new LMUploadFile();
  139. return $this->render('add_manager',['picture_form'=>$picture_form]);
  140. }
  141. //更新项目经理
  142. public function actionUpdatemanager(){
  143. $id = Yii::$app->request->get('id');
  144. $picture_form = new LMUploadFile();
  145. $model = Manager::find()->where('id=:id and status=:status',[':id'=>$id,':status'=>Manager::STATUS_YES])->one();
  146. return $this->render('add_manager',['model'=>$model,'id'=>$id,'picture_form'=>$picture_form]);
  147. }
  148. //头像
  149. public function actionImgurl()
  150. {
  151. if (Yii::$app->request->isPost) {
  152. $picture_form = new LMUploadFile();
  153. $picture_form->imageFile = UploadedFile::getInstance($picture_form, 'imageFile');
  154. if ($picture_form->upload('product_picture',true,160,160)) {
  155. return "<script language='JavaScript'>window.parent.callback('上传成功!',1,'" . $picture_form->filepath . "','" . $picture_form->fileabbrepath . "');</script>";
  156. } else {
  157. if(isset($picture_form->getErrors()['imageFile'][0])){
  158. $error = $picture_form->getErrors()['imageFile'][0];
  159. }else{
  160. $error = '图片上传失败';
  161. }
  162. return "<script language='JavaScript'>window.parent.callback('上传失败!',0,'" . $error . "');</script>";
  163. }
  164. }
  165. }
  166. //用户图片显示
  167. public static function logourl(){
  168. if(!empty(Yii::$app->user->id)){
  169. $model = UserCompany::find()->where('uid=:uid',[':uid'=>Yii::$app->user->id])->one();
  170. if(!empty($model)){
  171. $url = $model->logo;
  172. return $url;
  173. }
  174. return "没有logo";
  175. }
  176. return "未登录";
  177. }
  178. public function actionUppassword(){
  179. return $this->render('uppassword');
  180. }
  181. public function actionEdit_pwd(){
  182. $old_pwd = Yii::$app->request->post('old_pwd');
  183. $new_pwd = Yii::$app->request->post('new_pwd');
  184. $pwd_again = Yii::$app->request->post('pwd_again');
  185. if($new_pwd != $pwd_again){
  186. $result=['sign'=>4000,'msg'=>'修改密码不一致'];
  187. }else if($old_pwd ==$new_pwd){
  188. $result=['sign'=>4000,'msg'=>'新密码和原密码不能一样'];
  189. }else{
  190. $user = User::find()->where('id=:id and status=:status',[':id'=>Yii::$app->user->id,':status'=>User::USER_STATE_THROUGH])->one();
  191. if(!empty($user)){
  192. if(Yii::$app->getSecurity()->validatePassword($old_pwd,$user->password_hash)){
  193. $user->password_hash = Yii::$app->security->generatePasswordHash($new_pwd);
  194. $user->updated_at = time();
  195. if($user->validate()&&$user->save()){
  196. $result=['sign'=>1,'msg'=>"修改成功"];
  197. }else{
  198. $result=['sign'=>4000,'msg'=>"修改失败"];
  199. }
  200. }else{
  201. $result=['sign'=>4000,'msg'=>"密码错误"];
  202. }
  203. }else{
  204. $result=['sign'=>4000,'msg'=>"用户不存在"];
  205. }
  206. }
  207. return json_encode($result);
  208. }
  209. }