create_company.vue 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327
  1. <template>
  2. <div class="create-company-container">
  3. <div class="login_logo">
  4. <a href="#" target="_self" title="功道云-积分系统用户登录"><img src="static/images/login-logo.png" /></a>
  5. </div>
  6. <div class="login_box">
  7. <div class="login_ad">
  8. <img src="static/images/login_adpic.png" />
  9. <span>广告语</span>
  10. </div>
  11. <div class="login_choose">
  12. <div class="reg_title" v-if="optionType == 0">
  13. <div class="title">欢迎注册功道云</div>
  14. <span>公司统一开设账号,员工无需注册</span>
  15. </div>
  16. <div class="reg_title" v-if="optionType == 1" style="margin-top: 120px;">
  17. <div class="title">创建新企业</div>
  18. <span>备注</span>
  19. </div>
  20. <div class="option-box">
  21. <el-scrollbar wrap-class="column-wrapper scrollable-items-container" :native="false" style="height: 500px;">
  22. <div class="select_box" v-show="optionType == 0">
  23. <h4 class="select">选择身份</h4>
  24. <div>
  25. <el-radio v-model="role" label="1" border>老板</el-radio>
  26. <el-radio v-model="role" label="2" border>主管</el-radio>
  27. <el-radio v-model="role" label="3" border>经理</el-radio>
  28. <el-radio v-model="role" label="4" border>员工</el-radio>
  29. </div>
  30. <h4 class="select">选择行业</h4>
  31. <div>
  32. <el-radio v-model="industry" label="1" border>教育培训</el-radio>
  33. <el-radio v-model="industry" label="2" border>金融投资</el-radio>
  34. <el-radio v-model="industry" label="3" border>生产制造</el-radio>
  35. <el-radio v-model="industry" label="4" border>酒店服务</el-radio>
  36. <el-radio v-model="industry" label="5" border>广告</el-radio>
  37. <el-radio v-model="industry" label="6" border>互联网</el-radio>
  38. <el-radio v-model="industry" label="7" border>其他</el-radio>
  39. </div>
  40. <div class="btn-box"><el-button type="primary" size="large" @click="loginDemo">立即体验</el-button></div>
  41. <div class="btn-box"><el-button class="border-dis" type="default" size="large" @click="optionType = 1">创建企业</el-button></div>
  42. </div>
  43. <div class="padding20" v-show="optionType == 0 && site_list.length > 0">
  44. <el-card class="box-card">
  45. <div slot="header" class="clearfix"><span>进入已有企业</span></div>
  46. <div v-for="o in site_list" class="companyList" @click="companyLogin(o.site.id)">{{ o.site.name }}</div>
  47. </el-card>
  48. </div>
  49. <div class="set_create_company" v-show="optionType == 1">
  50. <!--<el-button type="defalut" icon="el-icon-arrow-left" @click="optionType=0">返回</el-button>-->
  51. <el-form :model="createCompanyForm" status-icon :rules="rules" label-width="100px" class="createCompanyForm">
  52. <el-form-item prop="name"><el-input type="text" v-model="createCompanyForm.name" placeholder="请填写真实企业名称" clearable></el-input></el-form-item>
  53. <el-form-item prop="scale"><el-input type="text" v-model="createCompanyForm.scale" placeholder="请填写企业员工数量" clearable></el-input></el-form-item>
  54. <!--<el-form-item prop="industry">-->
  55. <!--<el-input type="text" v-model="createCompanyForm.industry" placeholder="请填写真实企业名称" clearable></el-input>-->
  56. <!--</el-form-item>-->
  57. <el-form-item><el-button class="create_button" type="primary" @click="createCompany">进入企业</el-button></el-form-item>
  58. </el-form>
  59. </div>
  60. </el-scrollbar>
  61. </div>
  62. </div>
  63. </div>
  64. </div>
  65. </template>
  66. <script>
  67. import { setToken } from '@/utils/auth';
  68. import request from '@/utils/request-user';
  69. export default {
  70. data() {
  71. return {
  72. login_icon_show: false,
  73. createCompanyForm: {
  74. name: '',
  75. scale: '',
  76. industry: '',
  77. address: 'dfdfdfdfdf',
  78. tel: '',
  79. contacts: '',
  80. logo_url: ''
  81. },
  82. optionType: 0,
  83. role: '1',
  84. industry: '1',
  85. token: localStorage.getItem('user_token_temp'),
  86. site_list: JSON.parse(localStorage.getItem('site_list_temp')),
  87. rules: {
  88. name: [{ required: true, message: '请输入企业名称', trigger: 'blur' }],
  89. scale: [{ required: true, message: '请选择企业规模', trigger: 'blur' }]
  90. }
  91. };
  92. },
  93. methods: {
  94. createCompany() {
  95. request({
  96. url: '/api/site/create',
  97. data: this.createCompanyForm,
  98. method: 'post'
  99. }).then(res => {
  100. this.companyLogin(res.data.data.id);
  101. });
  102. },
  103. companyLogin(site_id) {
  104. let self = this;
  105. request({
  106. url: '/api/employee-login',
  107. method: 'post',
  108. data: { site_id: site_id }
  109. }).then(res => {
  110. if (res.data.code == 1) {
  111. setToken(res.data.data.token);
  112. self.$router.push({ path: '/' });
  113. } else {
  114. self.$message.error(res.data.data.msg);
  115. }
  116. });
  117. },
  118. loginDemo() {
  119. let self = this;
  120. this.$store
  121. .dispatch('loginByDemo')
  122. .then(ret => {
  123. this.loading = false;
  124. if (ret.code == 1) {
  125. this.$router.push({ path: '/' });
  126. }
  127. if (ret.status == 2) {
  128. }
  129. })
  130. .catch(e => {
  131. self.$message({
  132. message: e,
  133. type: 'error'
  134. });
  135. });
  136. }
  137. },
  138. created() {},
  139. destroyed() {}
  140. };
  141. </script>
  142. <style rel="stylesheet/css" lang="css" scoped>
  143. .create-company-container{
  144. position:relative;
  145. width:100vw;
  146. height:100vh;
  147. overflow:auto;
  148. cursor: default;
  149. }
  150. .create-company-container .login_logo{
  151. position:relative;
  152. width:100%;
  153. max-width:1100px;
  154. margin:28px auto 48px;
  155. overflow:hidden;
  156. }
  157. .create-company-container .login_logo img{
  158. width:128px;
  159. height:auto;
  160. }
  161. .create-company-container .login_box{
  162. position:relative;
  163. display:block;
  164. top:0;
  165. width:100%;
  166. height:614px;
  167. max-width:1100px;
  168. margin:0 auto;
  169. box-shadow:0px 4px 22px #efefef;
  170. }
  171. .create-company-container .login_box .login_ad{
  172. position:relative;
  173. display:inline-block;
  174. text-align: center;
  175. width:518px;
  176. height:614px;
  177. float:left;
  178. background:url(static/images/login_bg.jpg) no-repeat;
  179. background-size:cover;
  180. overflow:hidden;
  181. }
  182. .create-company-container .login_box .login_ad img{
  183. width:460px;
  184. margin:108px auto 60px;
  185. height:228px;
  186. }
  187. .create-company-container .login_box .login_ad span{
  188. font-family:"Microsoft YaHei";
  189. display:block;
  190. text-align: center;
  191. font-size:32px;
  192. letter-spacing: 2px;
  193. font-weight:bold;
  194. color:#fff;
  195. }
  196. .create-company-container .login_box .login_choose{
  197. position: relative;
  198. display: inline-block;
  199. text-align: center;
  200. width: 582px;
  201. padding:0 68px;
  202. height: 614px;
  203. float: right;
  204. background: #FFF;
  205. overflow: hidden;
  206. }
  207. .create-company-container .login_box .login_choose .reg_title{
  208. margin:48px auto;
  209. text-align: center;
  210. }
  211. .create-company-container .login_box .login_choose .reg_title .title{
  212. color:#303133;
  213. font-size:24px;
  214. line-height: 38px;
  215. }
  216. .create-company-container .login_box .login_choose .reg_title span{
  217. color:#909399;
  218. font-size:16px;
  219. line-height: 22px;
  220. }
  221. .create-company-container .login_box .login_choose .select_box{
  222. display:block;
  223. text-align: left;
  224. }
  225. .create-company-container .login_box .login_choose .select_box .select{
  226. display: inline-block;
  227. text-align: left;
  228. font-size:18px;
  229. color:#606266;
  230. margin:0 0 16px;
  231. }
  232. .create-company-container .login_box .login_choose .select_box /deep/ .el-radio{
  233. display: inline-block;
  234. text-align: center;
  235. width:23%;
  236. height: 46px;
  237. line-height: 44px;
  238. padding:0;
  239. margin:0 0.5% 16px;
  240. }
  241. .create-company-container .login_box .login_choose .select_box /deep/ .el-radio .el-radio__inner{
  242. width:100%;
  243. color:#909399;
  244. padding:0;
  245. border:none;
  246. }
  247. .create-company-container .login_box .login_choose .select_box /deep/ .el-radio .el-radio__label{
  248. padding-left: 0;
  249. }
  250. .create-company-container .login_box /deep/ .btn-box{
  251. display: inline-block;
  252. width: 100%;
  253. margin:16px auto 0;
  254. text-align: center;
  255. }
  256. .create-company-container .login_box /deep/ .btn-box button {
  257. width:360px;
  258. height: 56px;
  259. border-radius: 8px;
  260. }
  261. .create-company-container .login_box /deep/ .btn-box .border-dis{
  262. border:none;
  263. color:#409EFF;
  264. }
  265. .create-company-container .login_box .login_choose .set_create_company {
  266. display:block;
  267. margin:0px auto 24px;
  268. padding:0 42px;
  269. border:none;
  270. }
  271. .create-company-container .login_box .login_choose .set_create_company /deep/ .el-form-item{
  272. margin-bottom:24px !important;
  273. border-bottom:1px #efefef solid;
  274. }
  275. .create-company-container .login_box .login_choose .set_create_company /deep/ .el-form-item__content{
  276. padding:0;
  277. margin-left: 0 !important;
  278. }
  279. .create-company-container .login_box .login_choose .set_create_company /deep/ .el-form-item .el-input__inner{
  280. text-align: left;
  281. font-size:18px;
  282. color:#909399;
  283. padding:0;
  284. border:none;
  285. }
  286. .create-company-container .login_box .login_choose .set_create_company .create_button{
  287. width:360px;
  288. height:56px;
  289. margin:32px auto 0;
  290. background: #26A2FF;
  291. border-radius:8px;
  292. }
  293. .create-company-container .login_box .login_choose .set_create_company .create_button:hover{
  294. background: #26A2FF;
  295. opacity: 0.8;
  296. }
  297. .create-company-container .login_box .login_choose .set_create_company .create_button:active{
  298. background: #26A2FF;
  299. opacity: 0.8;
  300. }
  301. .create-company-container .login_box .login_choose .set_create_company .create_button span{
  302. font-size:18px;
  303. color:#fff;
  304. line-height: 54px;
  305. }
  306. .create-company-container .login_box .login_choose .set_create_company /deep/ input::-webkit-input-placeholder{
  307. color:#909399;
  308. letter-spacing: 1px;
  309. }
  310. .create-company-container .login_box .login_choose .set_create_company /deep/ input:focus::-webkit-input-placeholder{
  311. color:#409EFF;
  312. }
  313. </style>