You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

540 lines
21 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. <template>
  2. <div>
  3. <el-container style="background: ">
  4. <el-header style="background-color: #ccc; line-height: 50px">
  5. <div class="navs">
  6. <!-- <div class="maintitle">神豚医疗信息系统</div> -->
  7. <div style="">
  8. <el-dropdown @command="handleCommand">
  9. <span class="el-dropdown-link"> 用户权限管理 </span>
  10. <el-dropdown-menu slot="dropdown">
  11. <el-dropdown-item command="organization-units">组织架构</el-dropdown-item>
  12. <el-dropdown-item command="role">角色管理</el-dropdown-item>
  13. <el-dropdown-item command="user-list">用户管理</el-dropdown-item>
  14. <el-dropdown-item command="audit-log">安全日志</el-dropdown-item>
  15. </el-dropdown-menu>
  16. </el-dropdown>
  17. </div>
  18. <!-- 基础字典 -->
  19. <div style="margin-left: 15px" class="basicdictionany">
  20. <el-dropdown @command="handleCommand">
  21. <span class="el-dropdown-link"> 基础字典 </span>
  22. <el-dropdown-menu slot="dropdown">
  23. <el-dropdown-item command="guide-type">导引类别</el-dropdown-item>
  24. <el-dropdown-item command="medical-report-type">体检报告类别</el-dropdown-item>
  25. <el-dropdown-item command="sex">性别</el-dropdown-item>
  26. <el-dropdown-item command="marital-status">婚姻状况</el-dropdown-item>
  27. <el-dropdown-item command="nation">民族</el-dropdown-item>
  28. <el-dropdown-item command="birth-place">籍贯</el-dropdown-item>
  29. <el-dropdown-item command="result-status">结果状态</el-dropdown-item>
  30. <el-dropdown-item command="medical-type">体检类别</el-dropdown-item>
  31. <el-dropdown-item command="personnel-type">人员类别</el-dropdown-item>
  32. <el-dropdown-item command="device-type">仪器类别</el-dropdown-item>
  33. <el-dropdown-item command="sample-type">标本类型</el-dropdown-item>
  34. <el-dropdown-item command="unit">计量单位</el-dropdown-item>
  35. <el-dropdown-item command="diagnosis-postfix">诊断后缀</el-dropdown-item>
  36. <el-dropdown-item command="medical-conclusion-type">体检结论类别</el-dropdown-item>
  37. <el-dropdown-item command="medical-conclusion">体检结论</el-dropdown-item>
  38. <el-dropdown-item command="sample-container">标本容器</el-dropdown-item>
  39. <el-dropdown-item command="common-char-type">常用字符类别</el-dropdown-item>
  40. <el-dropdown-item command="common-char">常用字符</el-dropdown-item>
  41. <el-dropdown-item command="customer-org-type">客户单位类别</el-dropdown-item>
  42. <el-dropdown-item command="item-default-result">项目默认结果</el-dropdown-item>
  43. <el-dropdown-item command="diagnosis-level">诊断级别</el-dropdown-item>
  44. </el-dropdown-menu>
  45. </el-dropdown>
  46. </div>
  47. <!-- 收费设置 -->
  48. <div class="feesettings" style="margin-left: 20px">
  49. <el-dropdown @command="handleCommand">
  50. <span class="el-dropdown-link"> 收费设置 </span>
  51. <el-dropdown-menu slot="dropdown">
  52. <el-dropdown-item command="invoice-item-type">发票项目类别</el-dropdown-item>
  53. <el-dropdown-item command="pay-mode">支付方式</el-dropdown-item>
  54. <el-dropdown-item command="cardType">会员卡类别</el-dropdown-item>
  55. <el-dropdown-item command="cardRegister">会员卡登记</el-dropdown-item>
  56. <el-dropdown-item command="cardBill">会员卡记账</el-dropdown-item>
  57. </el-dropdown-menu>
  58. </el-dropdown>
  59. </div>
  60. <!--常用设置 -->
  61. <div class="commonsettings" style="margin-left: 20px">
  62. <el-dropdown @command="handleCommand">
  63. <span class="el-dropdown-link"> 常用设置 </span>
  64. <el-dropdown-menu slot="dropdown">
  65. <el-dropdown-item command="item-type">项目类别</el-dropdown-item>
  66. <el-dropdown-item command="item">项目设置</el-dropdown-item>
  67. <el-dropdown-item command="asbitem">组合项目</el-dropdown-item>
  68. <el-dropdown-item command="sample-group">条码分组</el-dropdown-item>
  69. <!-- <el-dropdown-item
  70. @click.native="$router.push({ path: '/reference-range' })"
  71. >参考范围</el-dropdown-item
  72. > -->
  73. <!-- <el-dropdown-item
  74. @click.native="
  75. $router.push({ path: '/sex-hormone-reference-range' })
  76. "
  77. >性激素参考范围</el-dropdown-item
  78. > -->
  79. <el-dropdown-item command="diagnosis">诊断</el-dropdown-item>
  80. <el-dropdown-item command="diagnosis-template">诊断模板</el-dropdown-item>
  81. <el-dropdown-item command="item-result-template">项目结果模板</el-dropdown-item>
  82. <el-dropdown-item command="item-result-match">项目结果匹配</el-dropdown-item>
  83. <el-dropdown-item command="item-template">项目模板</el-dropdown-item>
  84. <el-dropdown-item command="medical-package">套餐</el-dropdown-item>
  85. <el-dropdown-item command="sys-parm-type">系统参数</el-dropdown-item>
  86. </el-dropdown-menu>
  87. </el-dropdown>
  88. </div>
  89. <!-- 体检登记 -->
  90. <div class="examinationregistration" style="margin-left: 15px">
  91. <el-dropdown @command="handleCommand">
  92. <span class="el-dropdown-link"> 体检登记 </span>
  93. <el-dropdown-menu slot="dropdown">
  94. <el-dropdown-item command="customerOrg">体检单位设置</el-dropdown-item>
  95. <el-dropdown-item command="customerOrgGroup">单位分组设置</el-dropdown-item>
  96. <el-dropdown-item command="patientRegister">体检人员登记</el-dropdown-item>
  97. <el-dropdown-item command="personnelBatch">人员批量登记</el-dropdown-item>
  98. <el-dropdown-item command="patientRegisterSign">体检人员签到</el-dropdown-item>
  99. <el-dropdown-item command="patientRegisterRecover">体检表回收</el-dropdown-item>
  100. <el-dropdown-item command="patientRegisterRefuse">弃检登记</el-dropdown-item>
  101. <el-dropdown-item command="charge">体检收费</el-dropdown-item>
  102. </el-dropdown-menu>
  103. </el-dropdown>
  104. </div>
  105. <!-- 体检 -->
  106. <div class="physicalexamination" style="margin-left: 15px">
  107. <el-dropdown @command="handleCommand">
  108. <span class="el-dropdown-link"> 体检 </span>
  109. <el-dropdown-menu slot="dropdown">
  110. <el-dropdown-item command="doctorCheck">体检医生诊台</el-dropdown-item>
  111. <el-dropdown-item command="sumDoctorCheck">总检医生诊台</el-dropdown-item>
  112. </el-dropdown-menu>
  113. </el-dropdown>
  114. </div>
  115. <div class="btn">
  116. 当前用户{{ user }}
  117. <!-- <i class="el-icon-arrow-down el-icon--right"></i> -->
  118. <el-dropdown>
  119. <span class="el-dropdown-link">
  120. 操作 <i class="el-icon-arrow-down el-icon--right"></i>
  121. </span>
  122. <el-dropdown-menu slot="dropdown">
  123. <el-dropdown-item @click.native="logout">退出登录</el-dropdown-item>
  124. <el-dropdown-item @click.native="editpassword">修改密码</el-dropdown-item>
  125. </el-dropdown-menu>
  126. </el-dropdown>
  127. </div>
  128. </div>
  129. </el-header>
  130. <!-- 修改密码弹框 -->
  131. <el-dialog title="修改密码" :visible.sync="dialogVisible" width="30%" :close-on-click-modal="false">
  132. <el-form :model="form" :rules="rules" ref="ruleForm" label-width="100px">
  133. <el-form-item label="旧密码" prop="oldPassWord">
  134. <el-input v-model="form.oldPassWord" autocomplete="new-password" show-password></el-input>
  135. </el-form-item>
  136. <el-form-item label="新密码" prop="newPassWord">
  137. <el-input v-model="form.newPassWord" autocomplete="new-password" show-password></el-input>
  138. </el-form-item>
  139. <el-form-item label="确认密码" prop="newPassWord">
  140. <el-input v-model="confirmpassword" type="password" autocomplete="new-password" show-password></el-input>
  141. </el-form-item>
  142. </el-form>
  143. <span slot="footer" class="dialog-footer">
  144. <el-button @click="dialogVisible = false"> </el-button>
  145. <el-button type="primary" @click="determine"> </el-button>
  146. </span>
  147. </el-dialog>
  148. <el-container>
  149. <!-- <el-aside :width="isCollapse ? '64px' : '220px'">
  150. <el-menu
  151. style="height: 100%"
  152. default-active="2"
  153. class="el-menu-vertical-demo"
  154. background-color="#545c64"
  155. router
  156. active-text-color="#fff"
  157. :unique-opened="true"
  158. text-color="#000"
  159. @select="aa"
  160. :collapse="isCollapse"
  161. :collapse-transition="false"
  162. >
  163. <div class="collapseandunfoled" @click="isCollapse = !isCollapse">
  164. <i class="el-icon-s-operation"></i>
  165. </div>
  166. <el-submenu index="1">
  167. <template slot="title">
  168. <i class="el-icon-document"></i>
  169. <span>用户权限管理</span>
  170. </template>
  171. <el-menu-item index="role">
  172. <i class="el-icon-menu"></i> <span slot="title">角色管理</span>
  173. </el-menu-item>
  174. <el-menu-item index="user-list">
  175. <i class="el-icon-menu"></i> <span slot="title">用户管理</span>
  176. </el-menu-item>
  177. <el-menu-item index="organization-units"
  178. ><i class="el-icon-menu"></i><span slot="title">组织架构</span>
  179. </el-menu-item>
  180. <el-menu-item index="audit-log">
  181. <i class="el-icon-menu"></i> <span slot="title">安全日志</span>
  182. </el-menu-item>
  183. </el-submenu>
  184. <el-submenu index="2">
  185. <template slot="title">
  186. <i class="el-icon-s-tools"></i>
  187. <span>基础字典</span>
  188. </template>
  189. <el-menu-item index="guide-type"
  190. ><i class="el-icon-menu"></i>导引类别</el-menu-item
  191. >
  192. <el-menu-item index="medical-report-type"
  193. ><i class="el-icon-menu"></i>体检报告类别</el-menu-item
  194. >
  195. <el-menu-item index="sex"
  196. ><i class="el-icon-menu"></i>性别</el-menu-item
  197. >
  198. <el-menu-item index="marital-status"
  199. ><i class="el-icon-menu"></i>婚姻状况</el-menu-item
  200. >
  201. <el-menu-item index="nation"
  202. ><i class="el-icon-menu"></i>民族</el-menu-item
  203. >
  204. <el-menu-item index="birth-place"
  205. ><i class="el-icon-menu"></i>籍贯</el-menu-item
  206. >
  207. <el-menu-item index="result-status"
  208. ><i class="el-icon-menu"></i>结果状态</el-menu-item
  209. >
  210. <el-menu-item index="medical-type"
  211. ><i class="el-icon-menu"></i>体检类别</el-menu-item
  212. >
  213. <el-menu-item index="personnel-type"
  214. ><i class="el-icon-menu"></i>人员类别</el-menu-item
  215. >
  216. <el-menu-item index="device-type"
  217. ><i class="el-icon-menu"></i>仪器类别</el-menu-item
  218. >
  219. <el-menu-item index="sample-type"
  220. ><i class="el-icon-menu"></i>标本类型</el-menu-item
  221. >
  222. <el-menu-item index="unit"
  223. ><i class="el-icon-menu"></i>单位</el-menu-item
  224. >
  225. <el-menu-item index="diagnosis-postfix"
  226. ><i class="el-icon-menu"></i>诊断后缀</el-menu-item
  227. >
  228. <el-menu-item index="medical-conclusion-type"
  229. ><i class="el-icon-menu"></i>体检结论类别</el-menu-item
  230. >
  231. <el-menu-item index="medical-conclusion"
  232. ><i class="el-icon-menu"></i>体检结论</el-menu-item
  233. >
  234. <el-menu-item index="sample-container"
  235. ><i class="el-icon-menu"></i>标本容器</el-menu-item
  236. >
  237. <el-menu-item index="common-char-type"
  238. ><i class="el-icon-menu"></i>常用字符类别</el-menu-item
  239. >
  240. <el-menu-item index="common-char"
  241. ><i class="el-icon-menu"></i>常用字符</el-menu-item
  242. >
  243. <el-menu-item index="customer-org-type"
  244. ><i class="el-icon-menu"></i>客户单位类别</el-menu-item
  245. >
  246. <el-menu-item index="item-default-result"
  247. ><i class="el-icon-menu"></i>项目默认结果</el-menu-item
  248. >
  249. <el-menu-item index="diagnosis-level"
  250. ><i class="el-icon-menu"></i>诊断级别</el-menu-item
  251. >
  252. </el-submenu>
  253. <el-submenu index="3">
  254. <template slot="title">
  255. <i class="el-icon-s-tools"></i>
  256. <span>收费设置</span>
  257. </template>
  258. <el-menu-item index="invoice-item-type"
  259. ><i class="el-icon-menu"></i>发票项目类别</el-menu-item
  260. >
  261. <el-menu-item index="pay-mode"
  262. ><i class="el-icon-menu"></i>支付方式</el-menu-item
  263. >
  264. </el-submenu>
  265. <el-submenu index="4">
  266. <template slot="title">
  267. <i class="el-icon-s-tools"></i>
  268. <span>常用设置</span>
  269. </template>
  270. <el-menu-item index="item-type"
  271. ><i class="el-icon-menu"></i>项目类别</el-menu-item
  272. >
  273. <el-menu-item index="sample-group"
  274. ><i class="el-icon-menu"></i>条码分组</el-menu-item
  275. >
  276. <el-menu-item index="asbitem"
  277. ><i class="el-icon-menu"></i>组和项目</el-menu-item
  278. >
  279. <el-menu-item index="item"
  280. ><i class="el-icon-menu"></i>项目</el-menu-item
  281. >
  282. <el-menu-item index="reference-range"
  283. ><i class="el-icon-menu"></i>参考范围</el-menu-item
  284. >
  285. <el-menu-item index="sex-hormone-reference-range"
  286. ><i class="el-icon-menu"></i>性激素参考范围</el-menu-item
  287. >
  288. <el-menu-item index="diagnosis"
  289. ><i class="el-icon-menu"></i>诊断</el-menu-item
  290. >
  291. <el-menu-item index="diagnosis-template"
  292. ><i class="el-icon-menu"></i>诊断模板</el-menu-item
  293. >
  294. <el-menu-item index="item-result-template"
  295. ><i class="el-icon-menu"></i>项目结果模板</el-menu-item
  296. >
  297. <el-menu-item index="item-result-match"
  298. ><i class="el-icon-menu"></i>项目结果匹配</el-menu-item
  299. >
  300. <el-menu-item index="item-template"
  301. ><i class="el-icon-menu"></i>项目模板</el-menu-item
  302. >
  303. <el-menu-item index="medical-package"
  304. ><i class="el-icon-menu"></i>套餐</el-menu-item
  305. >
  306. <el-menu-item index="sys-parm-type"
  307. ><i class="el-icon-menu"></i>系统参数</el-menu-item
  308. >
  309. </el-submenu>
  310. <el-submenu index="5">
  311. <template slot="title">
  312. <i class="el-icon-document"></i>
  313. <span>体检登记</span>
  314. </template>
  315. <el-menu-item index="customerOrg">
  316. <i class="el-icon-menu"></i>
  317. <span slot="title">体检单位设置</span>
  318. </el-menu-item>
  319. <el-menu-item index="customerOrgGroup">
  320. <i class="el-icon-menu"></i>
  321. <span slot="title">单位分组设置</span>
  322. </el-menu-item>
  323. <el-menu-item index="patientRegister">
  324. <i class="el-icon-menu"></i>
  325. <span slot="title">体检人员登记</span>
  326. </el-menu-item>
  327. <el-menu-item index="patientRegisterSign">
  328. <i class="el-icon-menu"></i>
  329. <span slot="title">体检人员签到</span>
  330. </el-menu-item>
  331. <el-menu-item index="patientRegisterRecover">
  332. <i class="el-icon-menu"></i>
  333. <span slot="title">体检表回收</span>
  334. </el-menu-item>
  335. <el-menu-item index="patientRegisterRefuse">
  336. <i class="el-icon-menu"></i> <span slot="title">弃检登记</span>
  337. </el-menu-item>
  338. </el-submenu>
  339. <el-submenu index="6">
  340. <template slot="title">
  341. <i class="el-icon-document"></i>
  342. <span>体检</span>
  343. </template>
  344. <el-menu-item index="doctorCheck">
  345. <i class="el-icon-menu"></i>
  346. <span slot="title">体检医生诊台</span>
  347. </el-menu-item>
  348. <el-menu-item index="sumDoctorCheck">
  349. <i class="el-icon-menu"></i>
  350. <span slot="title">总检医生诊台</span>
  351. </el-menu-item>
  352. </el-submenu>
  353. </el-menu>
  354. </el-aside> -->
  355. <el-main>
  356. <router-view></router-view>
  357. </el-main>
  358. </el-container>
  359. </el-container>
  360. </div>
  361. </template>
  362. <script>
  363. ///api/app/item/in-filter
  364. import router from "@/router";
  365. import { postapi } from "@/api/api";
  366. import { mapState } from "vuex";
  367. export default {
  368. data() {
  369. return {
  370. index: 1,
  371. isCollapse: false,
  372. user: "",
  373. dialogVisible: false,
  374. password: "",
  375. form: {
  376. oldPassWord: "",
  377. newPassWord: "",
  378. },
  379. confirmpassword: "",
  380. rules: {
  381. oldPassWord: [
  382. { required: true, message: "请输入旧密码", trigger: "blur" },
  383. ],
  384. newPassWord: [
  385. { required: true, message: "请输入新密码", trigger: "blur" },
  386. ],
  387. },
  388. };
  389. },
  390. computed: {
  391. ...mapState(["changepassword", "router"]),
  392. },
  393. created() {
  394. this.password = this.changepassword;
  395. console.log(this.password);
  396. console.log(this.$store.state.changepassword, "ssssssssssss");
  397. this.user = localStorage.getItem("user");
  398. },
  399. methods: {
  400. handleCommand(command) {
  401. if (this.router.path != command) {
  402. this.router.path = command;
  403. this.$router.push({ path: command }).catch(() => { })
  404. }
  405. },
  406. //确定修改密码按钮
  407. determine() {
  408. this.$refs.ruleForm.validate((valid) => {
  409. if (valid) {
  410. if (this.form.oldPassWord != this.password) {
  411. this.$message.warning("旧密码输入错误");
  412. } else if (this.confirmpassword != this.form.newPassWord) {
  413. this.$message.warning("二次输入的密码不一致");
  414. } else {
  415. postapi("/api/identity/users/updatepassword", this.form).then(
  416. (res) => {
  417. this.$message.success("修改成功");
  418. this.dialogVisible = false;
  419. }
  420. );
  421. }
  422. }
  423. });
  424. },
  425. //修改密码
  426. editpassword() {
  427. this.dialogVisible = true;
  428. console.log(this.password);
  429. },
  430. //退出登录
  431. logout() {
  432. // localStorage.removeItem("tokentype");
  433. // localStorage.removeItem("token");
  434. // localStorage.removeItem(['expires_in','tokentype','refresh_token','user','token'])
  435. localStorage.clear();
  436. this.$router.push({ path: "/login" });
  437. },
  438. aa(aa) {
  439. console.log(aa);
  440. },
  441. },
  442. components: { router },
  443. };
  444. </script>
  445. <style scoped>
  446. .el-dropdown-item {
  447. text-align: center;
  448. }
  449. .el-dropdown-menu {
  450. text-align: center;
  451. overflow: scroll;
  452. max-height: 500px;
  453. width: 150px;
  454. overflow-x: hidden;
  455. /* margin-left: 5%; */
  456. }
  457. .el-header {
  458. position: fixed;
  459. /* top:0;
  460. left: 0; */
  461. width: 100%;
  462. overflow: hidden;
  463. overflow: auto;
  464. z-index: 999;
  465. }
  466. .el-container {
  467. /* position: fixed; */
  468. width: 100%;
  469. }
  470. .el-dropdown-link {
  471. width: 100%;
  472. display: block;
  473. position: relative;
  474. }
  475. .el-menu {
  476. border-right: none;
  477. }
  478. .expandend {
  479. text-align: center;
  480. margin-right: 5%;
  481. }
  482. .navs {
  483. display: flex;
  484. align-items: center;
  485. /* justify-content: space-between; */
  486. flex-flow: 1;
  487. }
  488. .maintitle {
  489. font-size: 20px;
  490. font-weight: 700;
  491. }
  492. .el-header {
  493. height: 70px;
  494. }
  495. .el-aside {
  496. /* height: calc(100vh, -70px); */
  497. height: calc(100vh - 0px);
  498. /* height: 100%; */
  499. height: 91.5vh;
  500. /* height: 100%; */
  501. /* height: calc(100vh, -0px); */
  502. }
  503. .el-main {
  504. margin-top: 60px;
  505. height: calc(100vh, -70px);
  506. }
  507. .el-menu-vertical-demo .el-menu {
  508. /* min-height: 100vh; */
  509. height: calc(100vh, -70px);
  510. }
  511. .btn {
  512. /* margin-left: 60%; */
  513. /* position: relative;
  514. right: -70%; */
  515. margin-left: auto;
  516. }
  517. .collapseandunfoled {
  518. text-align: center;
  519. line-height: 40px;
  520. display: block;
  521. font-size: 18px;
  522. font-weight: 700;
  523. color: #fff;
  524. }
  525. </style>