LoginPage.vue 33 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103
  1. <template>
  2. <div class="x-scol login_back_group" style="overflow-x: hidden">
  3. <TopPage></TopPage>
  4. <el-row :gutter="24" class="x-scol all-height" v-show="registerFlag">
  5. <el-col :span="7">
  6. <div class>
  7. <div class>
  8. <div class="block">&nbsp;</div>
  9. </div>
  10. </div>
  11. </el-col>
  12. <el-col :span="10" v-show="true">
  13. <div>
  14. <el-row :gutter="24" class="bor">
  15. <el-row :gutter="24">
  16. <el-col
  17. :span="24"
  18. class="login-middle-bg"
  19. style="padding-left: 0px; padding-right: 0px"
  20. >
  21. <el-col
  22. :span="24"
  23. style="padding-left: 0px; padding-right: 0px; border-radius: 12px"
  24. >
  25. </el-col>
  26. <el-col :span="24" style="margin-top: 30px">
  27. <el-row :span="24">
  28. <el-col :span="4">&nbsp;</el-col>
  29. <el-col :span="16">
  30. <div class="padding-logo center-logo" style="margin-top: 30px">
  31. <el-select
  32. :popper-append-to-body="false"
  33. class="login_select"
  34. style="width: 100%"
  35. v-model="userType"
  36. placeholder="请选择登录类型"
  37. >
  38. <el-option label="普通用户" value="1"></el-option>
  39. <el-option label="管理员" value="2"></el-option>
  40. </el-select>
  41. </div>
  42. </el-col>
  43. <el-col :span="4">&nbsp;</el-col>
  44. </el-row>
  45. <el-row :span="24" style="margin-top: 30px">
  46. <el-col :span="4">&nbsp;</el-col>
  47. <el-col :span="16">
  48. <div class="padding-logo center-logo">
  49. <el-input
  50. placeholder="请输入编号"
  51. v-model="account"
  52. clearable
  53. ></el-input>
  54. </div>
  55. </el-col>
  56. <el-col :span="4">&nbsp;</el-col>
  57. </el-row>
  58. <el-row :span="24" style="margin-top: 30px">
  59. <el-col :span="4">&nbsp;</el-col>
  60. <el-col :span="16">
  61. <div class="padding-logo center-logo">
  62. <el-input
  63. placeholder="请输入密码"
  64. v-model="password"
  65. show-password
  66. ></el-input>
  67. </div>
  68. </el-col>
  69. <el-col :span="4">&nbsp;</el-col>
  70. </el-row>
  71. <el-row :span="24" style="margin-top: 5px; margin-bottom: 10px">
  72. <el-col :span="4">&nbsp;</el-col>
  73. <el-col :span="16" v-show="userType === '1'">
  74. <div @click="registerFlag = false">
  75. <span class="registerButton">没有账号?点击注册</span>
  76. </div>
  77. </el-col>
  78. <el-col :span="4">&nbsp;</el-col>
  79. </el-row>
  80. <el-row :span="24" style="margin-top: 30px">
  81. <el-col :span="4">&nbsp;</el-col>
  82. <el-col :span="16">
  83. <div
  84. class="padding-logo center-logo login_button"
  85. @click="userLoginV2"
  86. >
  87. <span type="primary" class="loginBu">登录</span>
  88. </div>
  89. </el-col>
  90. <el-col :span="4">&nbsp;</el-col>
  91. </el-row>
  92. </el-col>
  93. </el-col>
  94. <el-col :span="3">&nbsp;</el-col>
  95. </el-row>
  96. </el-row>
  97. </div>
  98. </el-col>
  99. <el-col :span="7">
  100. <div class>
  101. <div class>
  102. <div class="block">&nbsp;</div>
  103. </div>
  104. </div>
  105. </el-col>
  106. <!-- <el-footer class="buttLlo">Copyright© 北京决明科技有限公司</el-footer> -->
  107. <el-footer class="buttLlo">Copyright© 2024</el-footer>
  108. </el-row>
  109. <div class="registerTop" v-show="!registerFlag">
  110. <div class="registerDes">
  111. <div class="registerIcon"></div>
  112. <div class="registerFont">&nbsp;&nbsp;注册账号</div>
  113. </div>
  114. <el-form
  115. :model="ruleForm"
  116. :rules="rules"
  117. ref="ruleForm"
  118. :inline="true"
  119. label-width="100px"
  120. class="demo-ruleForm"
  121. >
  122. <div class="registerContent">
  123. <div class="registerVertical">
  124. <div class="registerTitle">昵称</div>
  125. <el-form-item label="" class="registerInput" prop="name">
  126. <el-input v-model="ruleForm.name" placeholder="请输入昵称"></el-input>
  127. </el-form-item>
  128. </div>
  129. <div class="registerVertical">
  130. <div class="registerTitle">编号</div>
  131. <el-form-item label="" class="registerInput" prop="num">
  132. <el-input v-model="ruleForm.num" placeholder="请输入编号"></el-input>
  133. </el-form-item>
  134. </div>
  135. </div>
  136. <div class="registerContent">
  137. <div class="registerVertical">
  138. <div class="registerTitle">年龄</div>
  139. <el-form-item label="" class="registerInput" prop="age">
  140. <el-input v-model="ruleForm.age" placeholder="请输入年龄"></el-input>
  141. </el-form-item>
  142. </div>
  143. <div class="registerVertical">
  144. <div class="registerTitle">单位</div>
  145. <el-form-item label="" class="registerInput" prop="unit">
  146. <el-input v-model="ruleForm.unit" placeholder="请输入单位"></el-input>
  147. </el-form-item>
  148. </div>
  149. </div>
  150. <div class="registerContent">
  151. <div class="registerVertical">
  152. <div class="registerTitle">性别</div>
  153. <el-form-item label="" class="registerInput" prop="sex">
  154. <el-select style="width: 100%" v-model="ruleForm.sex" placeholder="请选择">
  155. <el-option label="女" value="0"></el-option>
  156. <el-option label="男" value="1"></el-option>
  157. </el-select>
  158. </el-form-item>
  159. <!-- <el-form-item label="" prop="sex">
  160. <el-radio-group v-model="ruleForm.sex">
  161. <el-radio label="男" value="1"></el-radio>
  162. <el-radio label="女" value="0"></el-radio>
  163. </el-radio-group>
  164. </el-form-item> -->
  165. </div>
  166. <div class="registerVertical">
  167. <div class="registerTitle">婚恋情况</div>
  168. <el-form-item label="" prop="marriageSituation">
  169. <el-select
  170. style="width: 100%"
  171. v-model="ruleForm.marriageSituation"
  172. placeholder="请选择"
  173. >
  174. <el-option label="已婚" value="0"></el-option>
  175. <el-option label="未婚" value="1"></el-option>
  176. <el-option label="离异" value="2"></el-option>
  177. </el-select>
  178. </el-form-item>
  179. </div>
  180. </div>
  181. <div class="registerContent">
  182. <div class="registerVertical">
  183. <div class="registerTitle">密码</div>
  184. <el-form-item label="" prop="userPassword">
  185. <el-input
  186. show-password
  187. placeholder="请输入密码"
  188. v-model="ruleForm.userPassword"
  189. type="password"
  190. ></el-input>
  191. </el-form-item>
  192. </div>
  193. <div class="registerVertical">
  194. <div class="registerTitle">确认密码</div>
  195. <el-form-item label="" prop="userRePassword">
  196. <el-input
  197. show-password
  198. placeholder="请输入确认密码"
  199. v-model="ruleForm.userRePassword"
  200. type="password"
  201. ></el-input>
  202. </el-form-item>
  203. </div>
  204. </div>
  205. <div class="registerContent">
  206. <div class="registerRow">
  207. <el-button class="registerLoginCancle" @click="handleClose">取 消</el-button>
  208. <el-button class="registerLoginCancle" @click="resetForm('ruleForm')"
  209. >重 置</el-button
  210. >
  211. </div>
  212. <div class="registerRowLogin">
  213. <el-button
  214. type="primary"
  215. class="registerRowLoginButton"
  216. style="margin-right: 10px"
  217. @click="submitFormV2('ruleForm')"
  218. >确 定</el-button
  219. >
  220. </div>
  221. </div>
  222. </el-form>
  223. </div>
  224. <el-dialog
  225. title="注册账号"
  226. :before-close="handleClose"
  227. :visible.sync="centerDialogVisible"
  228. width="70%"
  229. center
  230. >
  231. <span>
  232. <el-form
  233. :model="ruleForm"
  234. :rules="rules"
  235. ref="ruleForm"
  236. label-width="100px"
  237. class="demo-ruleForm"
  238. >
  239. <el-row>
  240. <el-col :span="12">
  241. <el-form-item label="姓名" prop="name">
  242. <el-input v-model="ruleForm.name"></el-input>
  243. </el-form-item>
  244. </el-col>
  245. <el-col :span="12">
  246. <el-form-item label="编号" prop="num">
  247. <el-input v-model="ruleForm.num"></el-input>
  248. </el-form-item>
  249. </el-col>
  250. <el-col :span="12">
  251. <el-form-item label="年龄" prop="age">
  252. <el-input v-model="ruleForm.age"></el-input>
  253. </el-form-item>
  254. </el-col>
  255. <el-col :span="12">
  256. <el-form-item label="单位" prop="unit">
  257. <el-input v-model="ruleForm.unit"></el-input>
  258. </el-form-item>
  259. </el-col>
  260. <el-col :span="12">
  261. <el-form-item label="性别" prop="sex">
  262. <el-radio-group v-model="ruleForm.sex">
  263. <el-radio label="男" value="1"></el-radio>
  264. <el-radio label="女" value="0"></el-radio>
  265. </el-radio-group>
  266. </el-form-item>
  267. </el-col>
  268. <el-col :span="12">
  269. <el-form-item label="密码" prop="userPassword">
  270. <el-input v-model="ruleForm.userPassword" type="password"></el-input>
  271. </el-form-item>
  272. </el-col>
  273. <el-col :span="12">
  274. <el-form-item label="确认密码" prop="userRePassword">
  275. <el-input v-model="ruleForm.userRePassword" type="password"></el-input>
  276. </el-form-item>
  277. </el-col>
  278. <el-col :span="12" class="login_back_group1">
  279. <el-form-item label="婚恋情况" prop="marriageSituation">
  280. <el-select
  281. style="width: 100%"
  282. v-model="ruleForm.marriageSituation"
  283. placeholder="婚恋情况"
  284. >
  285. <el-option label="已婚" value="0"></el-option>
  286. <el-option label="未婚" value="1"></el-option>
  287. <el-option label="离异" value="2"></el-option>
  288. </el-select>
  289. </el-form-item>
  290. </el-col>
  291. </el-row>
  292. </el-form>
  293. </span>
  294. <span slot="footer" class="dialog-footer">
  295. <el-button @click="handleClose">取 消</el-button>
  296. <el-button @click="resetForm('ruleForm')">重 置</el-button>
  297. <el-button type="primary" @click="submitFormV2('ruleForm')">确 定</el-button>
  298. </span>
  299. </el-dialog>
  300. </div>
  301. </template>
  302. <script>
  303. import sq3 from "sqlite3";
  304. const fs = require("fs");
  305. export default {
  306. data() {
  307. var checkUserRePassword = (rule, value, callback) => {
  308. if (!value) {
  309. return callback(new Error("密码不能为空"));
  310. } else {
  311. if (value.length >= 6 && value.length <= 18) {
  312. if (value == this.ruleForm.userPassword) {
  313. callback();
  314. } else {
  315. return callback(new Error("两次输入密码不同"));
  316. }
  317. } else {
  318. return callback(new Error("长度大于等于6且小于等于18"));
  319. }
  320. }
  321. };
  322. var checkName = (rule, value, callback) => {
  323. if (!value) {
  324. return callback(new Error("不能为空"));
  325. } else {
  326. callback();
  327. }
  328. };
  329. var checkNum = (rule, value, callback) => {
  330. if (!value) {
  331. return callback(new Error("编号不能为空"));
  332. } else if (value.length > 20) {
  333. return callback(new Error("编号不能超过20位"));
  334. } else {
  335. callback();
  336. }
  337. };
  338. var checkUnit = (rule, value, callback) => {
  339. if (!value) {
  340. return callback(new Error("单位不能为空"));
  341. } else {
  342. callback();
  343. }
  344. };
  345. var checkAge = (rule, value, callback) => {
  346. if (!value) {
  347. return callback(new Error("年龄不能为空"));
  348. } else {
  349. callback();
  350. }
  351. };
  352. var checkUserPassword = (rule, value, callback) => {
  353. console.log(!value);
  354. if (!value) {
  355. return callback(new Error("密码不能为空"));
  356. } else {
  357. if (value.length >= 6 && value.length <= 18) {
  358. return callback();
  359. } else {
  360. return callback(new Error("长度大于等于6且小于等于18"));
  361. }
  362. }
  363. };
  364. return {
  365. centerDialogVisible: false,
  366. src: require("../assets/bg.jpg"),
  367. srcLogo: require("../assets/logo1.png"),
  368. //注册页面是否显示
  369. registerFlag: true,
  370. userType: "1",
  371. password: "",
  372. account: "",
  373. dirpath: "",
  374. ruleForm: {
  375. name: "",
  376. num: "",
  377. sex: "男",
  378. type: 1,
  379. createTime: "",
  380. unit: "",
  381. age: "",
  382. userPassword: "",
  383. userRePassword: "",
  384. marriageSituation: "0", //已婚0 未婚 1 离异 2
  385. },
  386. rules: {
  387. name: [
  388. {
  389. validator: checkName,
  390. required: true,
  391. message: "请填写昵称",
  392. trigger: "blur",
  393. },
  394. ],
  395. num: [
  396. {
  397. validator: checkNum,
  398. required: true,
  399. message: "请填写编号",
  400. trigger: "blur",
  401. },
  402. ],
  403. unit: [
  404. {
  405. validator: checkUnit,
  406. required: true,
  407. message: "请填写单位",
  408. trigger: "blur",
  409. },
  410. ],
  411. age: [
  412. {
  413. validator: checkAge,
  414. required: true,
  415. message: "请填写年龄",
  416. trigger: "blur",
  417. },
  418. ],
  419. userPassword: [
  420. {
  421. validator: checkUserPassword,
  422. required: true,
  423. trigger: "blur",
  424. },
  425. ],
  426. userRePassword: [
  427. {
  428. validator: checkUserRePassword,
  429. required: true,
  430. trigger: "blur",
  431. },
  432. ],
  433. marriageSituation: [
  434. { required: true, message: "请填写婚恋情况", trigger: "change" },
  435. ],
  436. },
  437. };
  438. },
  439. mounted() {
  440. this.$root.smartNum = 0;
  441. this.$root.topPageFlag = false;
  442. this.dirpath = "C:\\DataPilot";
  443. // fs.exists(this.dirpath, function (exists) {
  444. // // var that = this;
  445. // if (!exists) {
  446. // fs.mkdirSync("C:\\DataPilot");
  447. // }
  448. // });
  449. // setTimeout(this.creatUserDb, 200);
  450. // 创建数据库文件
  451. // this.creatUserDb();
  452. // 回车事件点击登录
  453. var that = this;
  454. // document.onkeydown = function(e) {
  455. // if (e.code == "Enter") {
  456. // //做点击回车后的事件,回车的键值是enter
  457. // // console.log("点击回车了");
  458. // //调用登录按钮
  459. // that.userLogin();
  460. // }
  461. // };
  462. //---------------------更改global文件
  463. },
  464. methods: {
  465. handleClose() {
  466. this.resetForm("ruleForm");
  467. this.registerFlag = true;
  468. this.centerDialogVisible = false;
  469. },
  470. // 创建用户表
  471. creatUserDb() {
  472. const sqlite3 = sq3.verbose();
  473. const db = new sqlite3.Database("C:\\DataPilot\\DataPilot.sqlite");
  474. db.serialize(() => {
  475. // db.run(
  476. // "CREATE TABLE IF NOT EXISTS userInfo(id integer primary key,name varchar(20))"
  477. // );
  478. db.run(
  479. "CREATE TABLE IF NOT EXISTS userLogin(id integer primary key,account varchar(30),password varchar(30))",
  480. function () {
  481. db.all("select count(*) from userLogin", function (err, res) {
  482. let a = res[0]["count(*)"];
  483. if (a == 0 || a == "0") {
  484. // 插入数据
  485. db.run("insert into userLogin values(NULL,'admin','123456')");
  486. }
  487. });
  488. // db.run("insert into userLogin values(NULL,'admin','123456')");
  489. }
  490. );
  491. // 在执行一个创建表的动作
  492. db.run(
  493. "CREATE TABLE IF NOT EXISTS t_user_record(id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,user_name varchar(100),num varchar(100),sex varchar(4),flag varchar(50),test_date varchar(50),file_name varchar(80),test_result TEXT,type TEXT,name varchar(100),img TEXT,test_record TEXT,test_records TEXT)",
  494. function () {
  495. // db.all("select count(*) from userLogin", function(err, res) {
  496. // let a = res[0]["count(*)"];
  497. // if (a == 0 || a == "0") {
  498. // //插入数据
  499. // db.run("insert into userLogin values(NULL,'admin','123456')");
  500. // }
  501. // });
  502. // db.run("insert into userLogin values(NULL,'admin','123456')");
  503. }
  504. );
  505. //创建一个用户表
  506. db.run(
  507. `CREATE TABLE
  508. IF NOT EXISTS t_user_table (
  509. id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
  510. name varchar (100),
  511. num varchar (100),
  512. sex varchar (4),
  513. type varchar (4),
  514. creatTime varchar (100),
  515. unit varchar (100),
  516. age varchar (10),
  517. userPassword varchar (50),
  518. userRePassword varchar (50),
  519. extone text,
  520. exttwo text,
  521. extthree text
  522. )`,
  523. function (err, res) {
  524. if (err) {
  525. } else {
  526. let sql = `INSERT INTO t_user_table VALUES (1, '管理员', '000000', 1, 2, '2021-12-23', '医院', 22, 123456, 123456, NULL, NULL, NULL);`;
  527. db.run(sql, function (err, res) {
  528. if (err) {
  529. } else {
  530. }
  531. });
  532. }
  533. //表创建成功后进行入库一条数据
  534. }
  535. );
  536. });
  537. },
  538. userLogin() {
  539. // this.$router.push({ path: "/landingPage/ConsolePage" });
  540. var that = this;
  541. const sqlite3 = sq3.verbose();
  542. const db = new sqlite3.Database("C:\\DataPilot\\DataPilot.sqlite");
  543. if (that.account == null || that.account == "") {
  544. that.$message.error("账号不能为空");
  545. return;
  546. }
  547. if (that.password == null || that.password == "") {
  548. that.$message.error("密码不能为空");
  549. return;
  550. }
  551. let sql = `select* from t_user_table where num ='${that.account}' AND userPassword='${that.password}' AND type='${that.userType}'`;
  552. db.all(sql, function (err, res) {
  553. if (err) {
  554. that.$message.error("登陆失败");
  555. } else {
  556. if (res.length > 0) {
  557. //当type等于1时跳转到测试页面
  558. if (that.userType == "1") {
  559. sessionStorage.setItem("num", that.account);
  560. sessionStorage.setItem("pass", this.$md5(that.password));
  561. sessionStorage.setItem("userType", "1");
  562. that.$router.push({
  563. path: "/mainTable",
  564. });
  565. }
  566. //当type等于2时跳转到我的测试页面
  567. if (that.userType == "2") {
  568. // sessionStorage.setItem("num", that.account);
  569. sessionStorage.setItem("num", that.account);
  570. sessionStorage.setItem("pass", this.$md5(that.password));
  571. sessionStorage.setItem("userType", "2");
  572. that.$router.push({ path: "/mainTable" });
  573. }
  574. } else {
  575. that.$message.error("编号或密码错误");
  576. }
  577. }
  578. });
  579. },
  580. submitForm(formName) {
  581. var that = this;
  582. that.$refs[formName].validate((valid) => {
  583. if (valid) {
  584. const sqlite3 = sq3.verbose();
  585. const db = new sqlite3.Database("C:\\DataPilot\\DataPilot.sqlite");
  586. let sqlSelect = `select* from t_user_table where num='${that.ruleForm.num}'`;
  587. db.all(sqlSelect, function (err, res) {
  588. if (err) {
  589. } else {
  590. if (res.length == 0) {
  591. //开始存储数据库
  592. let time = that.creatTi();
  593. let sex = "";
  594. if (that.ruleForm.sex === "男") {
  595. sex = "1";
  596. } else {
  597. sex = "0";
  598. }
  599. db.run(
  600. `insert into t_user_table values(NULL,'${that.ruleForm.name}','${that.ruleForm.num}','${sex}','1',
  601. '${time}','${that.ruleForm.unit}','${that.ruleForm.age}','${that.ruleForm.userPassword}','${that.ruleForm.userRePassword}',NULL,NULL,NULL)`,
  602. function (err, res) {
  603. if (err) {
  604. that.$message.error("注册失败");
  605. } else {
  606. that.$message({
  607. showClose: true,
  608. message: "恭喜你,注册成功",
  609. type: "success",
  610. });
  611. }
  612. }
  613. );
  614. } else {
  615. that.$message.error("编号已重复");
  616. }
  617. }
  618. });
  619. //验证通过的话,先判断当前num是否有重复的
  620. } else {
  621. return false;
  622. }
  623. });
  624. },
  625. //注册和查重接口
  626. submitFormV2(formName) {
  627. var that = this;
  628. that.$refs[formName].validate((valid) => {
  629. if (valid) {
  630. //调用注册接口,先调用编号查询重接口
  631. that.$http.post(
  632. `v1/user/register`,
  633. {
  634. userName: that.ruleForm.name, //用户名
  635. identifier: that.ruleForm.num, //用户编号
  636. age: that.ruleForm.age, //年龄
  637. gender: that.formateSex(that.ruleForm.sex), //性别
  638. password: that.$md5(that.ruleForm.userPassword), //密码
  639. rePassword: that.$md5(that.ruleForm.userRePassword), //确认密码
  640. profession: that.ruleForm.unit, //职业
  641. role: that.userType === "1" ? 0 : 1, //角色
  642. marriageSituation: that.ruleForm.marriageSituation, //是否婚恋
  643. },
  644. (res) => {
  645. if (res.data.code == 200) {
  646. that.centerDialogVisible = false;
  647. that.$message({
  648. message: "注册成功",
  649. type: "success",
  650. duration: 800,
  651. });
  652. that.userRegisterLoginV2(
  653. that.ruleForm.num,
  654. that.ruleForm.userPassword,
  655. that.userType
  656. );
  657. //注册成功后需要调用登录接口
  658. that.resetForm("ruleForm");
  659. // this.$message.success("注册成功");
  660. } else {
  661. this.$message.error("访问服务器失败!");
  662. }
  663. }
  664. );
  665. } else {
  666. return false;
  667. }
  668. });
  669. },
  670. userRegisterLoginV2(account, password, userType) {
  671. let that = this;
  672. that.$http.post(
  673. `v1/user/login`,
  674. {
  675. identifier: account,
  676. password: that.$md5(password),
  677. role: parseInt(userType) - 1,
  678. },
  679. (res) => {
  680. if (res.data.code == 200) {
  681. sessionStorage.setItem("token", res.data.data.token);
  682. if (that.userType == "1") {
  683. sessionStorage.setItem("name", res.data.data.userEntry.userName);
  684. sessionStorage.setItem("num", account);
  685. sessionStorage.setItem("pass", that.$md5(password));
  686. sessionStorage.setItem("userType", "1");
  687. sessionStorage.setItem("isMarried", res.data.data.marriageSituation);
  688. // that.$router.push({
  689. // path: "/mainTable",
  690. // });
  691. that.$router.push({
  692. path: "/menu/animation",
  693. query: { url: "swfk" },
  694. });
  695. }
  696. //当type等于2时跳转到我的测试页面
  697. if (that.userType == "2") {
  698. // sessionStorage.setItem("num", that.account);
  699. sessionStorage.setItem("name", res.data.data.userEntry.userName);
  700. sessionStorage.setItem("num", that.account);
  701. sessionStorage.setItem("pass", that.$md5(that.password));
  702. sessionStorage.setItem("userType", "2");
  703. // that.$router.push({ path: "/mainTable" });
  704. //menu/manageElectrical
  705. that.$router.push({
  706. path: "/menu/manageElectrical",
  707. query: { url: "yhfk" },
  708. });
  709. sessionStorage.setItem("defaultUrl", '/menu/manageElectrical');
  710. }
  711. } else {
  712. this.$message.error("访问服务器失败!");
  713. }
  714. }
  715. );
  716. },
  717. userLoginV2() {
  718. let that = this;
  719. if (that.account === "" || that.account === null) {
  720. this.$message.error("编号不能为空");
  721. return;
  722. }
  723. if (that.password === "" || that.password === null) {
  724. this.$message.error("密码不能为空");
  725. return;
  726. }
  727. that.$http.post(
  728. `v1/user/login`,
  729. {
  730. identifier: that.account,
  731. password: that.$md5(that.password),
  732. role: parseInt(that.userType) - 1,
  733. },
  734. (res) => {
  735. if (res.data.code == 200) {
  736. sessionStorage.setItem("token", res.data.data.token);
  737. if (that.userType == "1") {
  738. sessionStorage.setItem("name", res.data.data.userEntry.userName);
  739. sessionStorage.setItem("num", that.account);
  740. sessionStorage.setItem("pass", that.$md5(that.password));
  741. sessionStorage.setItem("userType", "1");
  742. sessionStorage.setItem("isMarried", res.data.data.marriageSituation);
  743. // that.$router.push({
  744. // path: "/mainTable",
  745. // });
  746. // '/menu/animation', 'swfk'
  747. // path: url, query: { url: val } }
  748. that.$router.push({
  749. path: "/menu/animation",
  750. query: { url: "swfk" },
  751. });
  752. }
  753. //当type等于2时跳转到我的测试页面
  754. if (that.userType == "2") {
  755. // sessionStorage.setItem("num", that.account);
  756. sessionStorage.setItem("name", res.data.data.userEntry.userName);
  757. sessionStorage.setItem("num", that.account);
  758. sessionStorage.setItem("pass", that.$md5(that.password));
  759. sessionStorage.setItem("userType", "2");
  760. // /menu/manageElectrical', 'yhfk
  761. // that.$router.push({ path: "/mainTable" });
  762. that.$router.push({
  763. path: "/menu/manageElectrical",
  764. query: { url: "yhfk" },
  765. });
  766. sessionStorage.setItem("defaultUrl", '/menu/manageElectrical');
  767. }
  768. } else {
  769. this.$message.error("访问服务器失败!");
  770. }
  771. }
  772. );
  773. },
  774. formateSex(val) {
  775. if (val === "男") {
  776. return 1;
  777. } else {
  778. return 0;
  779. }
  780. },
  781. //尝试调用统一接口
  782. logi() {
  783. this.$http.get(
  784. `category/getCognizeCategoryList?institutionNo=${this.institutionNo}&gId=${this.gId}`,
  785. {},
  786. (msg) => {}
  787. );
  788. // this.$http.post(
  789. // `result/${this.scale_flag}`,
  790. // {
  791. // scale_result: this.scale_result,
  792. // testPlanId: this.testPlanId,
  793. // userId: sessionStorage.getItem("b80bb7740288fda1f201890375a60c8f"),
  794. // },
  795. // (res) => {
  796. // this.next_and_last_button = false;
  797. // if (res.code == 200) {
  798. // this.showResult = true;
  799. // this.resultJson = res.data;
  800. // } else {
  801. // this.$message.error("访问服务器失败!");
  802. // }
  803. // }
  804. // );
  805. },
  806. //重置表单
  807. resetForm(formName) {
  808. this.$refs[formName].resetFields();
  809. },
  810. // userTypeFun(){
  811. // },
  812. //创建时间
  813. creatTi() {
  814. let date = new Date();
  815. let year = date.getFullYear();
  816. let month = date.getMonth() + 1;
  817. if (month < 10) {
  818. month = "0" + month;
  819. }
  820. let day = date.getDate();
  821. if (day < 10) {
  822. day = "0" + day;
  823. }
  824. return year + "-" + month + "-" + day;
  825. },
  826. },
  827. };
  828. </script>
  829. <style>
  830. .el-select-dropdown__item.selected {
  831. color: #3f66dd !important;
  832. font-weight: 500 !important;
  833. }
  834. .el-select-dropdown__item {
  835. color: #3f66dd !important;
  836. }
  837. .el-divider--horizontal {
  838. display: block;
  839. height: 0.1px !important;
  840. width: 100%;
  841. margin: 24px 0;
  842. }
  843. .pagin_class {
  844. margin-bottom: 30px;
  845. }
  846. </style>
  847. <style scoped>
  848. .login_back_group >>> .el-select-dropdown {
  849. background-color: #ffffff !important;
  850. border: 0px;
  851. }
  852. .login_back_group >>> .el-select-dropdown__item.hover {
  853. background-color: #ffffff !important;
  854. /* color:#08c8cd !important; */
  855. }
  856. /*
  857. /* 直接调用css,保证隐藏滚动条的同时还可以继续通过滚轮向下翻 */
  858. ::-webkit-scrollbar {
  859. /*隐藏滚轮*/
  860. display: none;
  861. }
  862. .loginBu {
  863. color: #ffffff;
  864. }
  865. .bor {
  866. margin-top: 30%;
  867. }
  868. .lo {
  869. background: #ffffff;
  870. box-shadow: 5px 5px 5px #cccccc;
  871. padding-bottom: 4rem;
  872. padding-top: 2rem;
  873. border-radius: 1rem;
  874. }
  875. .fontLo {
  876. font-size: 2rem;
  877. font-weight: 500;
  878. }
  879. .buttLlo {
  880. color: #ffffff;
  881. text-align: center;
  882. left: 0px;
  883. right: 0px;
  884. font-size: 14px;
  885. bottom: 0px;
  886. position: fixed;
  887. }
  888. .registerButton {
  889. padding-top: 1rem;
  890. cursor: pointer;
  891. color: #ffffff;
  892. display: block;
  893. text-align: right;
  894. font-size: 10px;
  895. border-radius: 0;
  896. }
  897. .login_back_group {
  898. width: 100vw;
  899. height: 100vh;
  900. background: url(../assets/newImage/login_bg.png) no-repeat;
  901. background-size: cover;
  902. }
  903. .login-middle-bg {
  904. /* background: #2f406e; */
  905. border-radius: 12px;
  906. }
  907. .login_middle_title {
  908. color: #ffffff;
  909. font-size: 14px;
  910. }
  911. .login_line_heigth {
  912. line-height: 45px;
  913. }
  914. .login_middle_title_img {
  915. margin-top: 15px;
  916. }
  917. .login_title_title_middle {
  918. background: #405182;
  919. border-top-left-radius: 12px;
  920. border-top-right-radius: 12px;
  921. }
  922. .login_title_title_middle_i {
  923. text-align: right;
  924. }
  925. .login_back_group >>> .login_select {
  926. background: #1d55ff !important;
  927. /* color:#1D55FF ; */
  928. /* border-radius: 4px; */
  929. }
  930. .login_back_group >>> .el-input--suffix .el-input__inner {
  931. padding-right: 0px;
  932. background: #ffffff;
  933. color: #1d55ff;
  934. border-radius: 4px !important;
  935. }
  936. .login_back_group >>> .el-input__inner::placeholder {
  937. padding-right: 0px;
  938. background: #ffffff;
  939. color: #1d55ff;
  940. opacity: 0.5;
  941. }
  942. .login_back_group >>> .el-input__inner {
  943. border: 1px solid #ffffff !important;
  944. border-radius: 0px;
  945. }
  946. .login_back_group1 >>> .el-input--suffix .el-input__inner {
  947. padding-right: 0px;
  948. background: #ffffff;
  949. }
  950. .login_button {
  951. cursor: pointer;
  952. background: #1d55ff;
  953. line-height: 40px;
  954. text-align: center;
  955. border-radius: 4px;
  956. }
  957. .registerTop {
  958. width: 60%;
  959. margin-left: 20%;
  960. margin-top: 13%;
  961. }
  962. .registerIcon {
  963. width: 6px;
  964. height: 28px;
  965. background: #ffffff;
  966. }
  967. .registerFont {
  968. font-size: 28px;
  969. color: #ffffff;
  970. }
  971. .registerDes {
  972. display: flex;
  973. flex-direction: row;
  974. align-items: center;
  975. }
  976. .registerContent {
  977. display: flex;
  978. flex-direction: row;
  979. align-items: center;
  980. justify-content: space-between;
  981. }
  982. .registerVertical {
  983. display: flex;
  984. flex-direction: column;
  985. align-items: left;
  986. }
  987. .registerTitle {
  988. margin-bottom: 6px;
  989. font-size: 16px;
  990. color: #ffffff;
  991. }
  992. .registerVertical >>> .el-input__inner {
  993. width: 320px;
  994. border-radius: 4px;
  995. }
  996. .registerRow {
  997. width: 320px;
  998. display: flex;
  999. flex-direction: row;
  1000. justify-content: space-between;
  1001. }
  1002. .registerRowLogin {
  1003. width: 320px;
  1004. display: flex;
  1005. justify-content: flex-end;
  1006. flex-direction: row;
  1007. }
  1008. .registerRowLoginButton {
  1009. background-color: #1d55ff;
  1010. width: 120px;
  1011. border: 0px;
  1012. border-radius: 4px;
  1013. }
  1014. .registerRowLoginButton:hover {
  1015. background-color: #1d55ff;
  1016. width: 120px;
  1017. border: 0px;
  1018. border-radius: 4px;
  1019. }
  1020. .registerRowLoginButton:active {
  1021. background-color: #1d55ff;
  1022. width: 120px;
  1023. border: 0px;
  1024. border-radius: 4px;
  1025. }
  1026. .registerRowLoginButton:focus {
  1027. background-color: #1d55ff;
  1028. width: 120px;
  1029. border: 0px;
  1030. border-radius: 4px;
  1031. }
  1032. .registerLoginCancle {
  1033. background-color: #ffffff;
  1034. color: #1d55ff;
  1035. width: 120px;
  1036. border: 0px;
  1037. border-radius: 4px;
  1038. width: 120px;
  1039. border: 0px;
  1040. border-radius: 4px;
  1041. }
  1042. .registerLoginCancle:hover {
  1043. background-color: #ffffff;
  1044. color: #1d55ff;
  1045. width: 120px;
  1046. border: 0px;
  1047. border-radius: 4px;
  1048. width: 120px;
  1049. border: 0px;
  1050. border-radius: 4px;
  1051. }
  1052. .registerLoginCancle:active {
  1053. background-color: #ffffff;
  1054. color: #1d55ff;
  1055. width: 120px;
  1056. border: 0px;
  1057. border-radius: 4px;
  1058. width: 120px;
  1059. border: 0px;
  1060. border-radius: 4px;
  1061. }
  1062. .registerLoginCancle:focus {
  1063. background-color: #ffffff;
  1064. color: #1d55ff;
  1065. width: 120px;
  1066. border: 0px;
  1067. border-radius: 4px;
  1068. width: 120px;
  1069. border: 0px;
  1070. border-radius: 4px;
  1071. }
  1072. .registerInput >>> .el-input__inner {
  1073. color: #1d55ff;
  1074. }
  1075. </style>