张保健 5 年前
父节点
当前提交
b31f9e6d60
共有 39 个文件被更改,包括 2348 次插入1374 次删除
  1. 1 1
      .idea/codeStyles/Project.xml
  2. 0 6
      .idea/vcs.xml
  3. 2 1
      build/utils.js
  4. 4 2
      config/dev.env.js
  5. 96 0
      config/index.js
  6. 50 39
      package-lock.json
  7. 1 1
      package.json
  8. 18 0
      src/api/data.js
  9. 1 1
      src/api/signandweigh.js
  10. 二进制
      src/assets/home/1.jpg
  11. 二进制
      src/assets/home/2.jpg
  12. 二进制
      src/assets/home/5.jpg
  13. 1 0
      src/icons/svg/system.svg
  14. 3 0
      src/lang/zh.js
  15. 7 3
      src/router/index.js
  16. 476 476
      src/router/index_路由未分离前.js
  17. 2 1
      src/router/modules/data_dict.js
  18. 109 0
      src/router/modules/systems.js
  19. 1 1
      src/xt_pages/data/druguseTemplate.vue
  20. 144 0
      src/xt_pages/data/printTemplate.vue
  21. 2 2
      src/xt_pages/dialysis/batch_print/batch_print_order_five_one.vue
  22. 26 13
      src/xt_pages/dialysis/bloodPresssWatch.vue
  23. 2 0
      src/xt_pages/dialysis/details/DialysisPrescription.vue
  24. 106 1
      src/xt_pages/dialysis/details/NavIgation.vue
  25. 313 41
      src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue
  26. 59 46
      src/xt_pages/dialysis/details/dialog/monitor_dialog.vue
  27. 0 1
      src/xt_pages/dialysis/details/dialysisMonitoring.vue
  28. 72 3
      src/xt_pages/dialysis/details/index.vue
  29. 429 434
      src/xt_pages/home/modifyOrgInfoDialog.vue
  30. 2 1
      src/xt_pages/role/admin.vue
  31. 178 186
      src/xt_pages/role/components/AdminInfoForm.vue
  32. 66 66
      src/xt_pages/sign/index.vue
  33. 3 3
      src/xt_pages/stock/Dialog/salesReturnDialog.vue
  34. 92 0
      src/xt_pages/stock/config/automaticReduce.vue
  35. 16 0
      src/xt_pages/stock/config/goodType.vue
  36. 5 37
      src/xt_pages/stock/index.vue
  37. 2 0
      src/xt_pages/stock/stockOutOrderAdd.vue
  38. 50 0
      src/xt_pages/stock/stockOutOrderDetail.vue
  39. 9 8
      src/xt_pages/user/patients.vue

+ 1 - 1
.idea/codeStyles/Project.xml 查看文件

1
 <component name="ProjectCodeStyleConfiguration">
1
 <component name="ProjectCodeStyleConfiguration">
2
   <code_scheme name="Project" version="173">
2
   <code_scheme name="Project" version="173">
3
-    <JSCodeStyleSettings version="0">
3
+    <JSCodeStyleSettings>
4
       <option name="USE_SEMICOLON_AFTER_STATEMENT" value="false" />
4
       <option name="USE_SEMICOLON_AFTER_STATEMENT" value="false" />
5
       <option name="FORCE_SEMICOLON_STYLE" value="true" />
5
       <option name="FORCE_SEMICOLON_STYLE" value="true" />
6
       <option name="SPACE_BEFORE_GENERATOR_MULT" value="true" />
6
       <option name="SPACE_BEFORE_GENERATOR_MULT" value="true" />

+ 0 - 6
.idea/vcs.xml 查看文件

1
-<?xml version="1.0" encoding="UTF-8"?>
2
-<project version="4">
3
-  <component name="VcsDirectoryMappings">
4
-    <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
-  </component>
6
-</project>

+ 2 - 1
build/utils.js 查看文件

47
     if (options.extract) {
47
     if (options.extract) {
48
       return ExtractTextPlugin.extract({
48
       return ExtractTextPlugin.extract({
49
         use: loaders,
49
         use: loaders,
50
-        fallback: 'vue-style-loader'
50
+        fallback: 'vue-style-loader',
51
+        publicPath: '../../'
51
       })
52
       })
52
     } else {
53
     } else {
53
       return ['vue-style-loader'].concat(loaders)
54
       return ['vue-style-loader'].concat(loaders)

+ 4 - 2
config/dev.env.js 查看文件

6
 module.exports = {
6
 module.exports = {
7
   NODE_ENV: '"development"',
7
   NODE_ENV: '"development"',
8
   ENV_CONFIG: '"dev"',
8
   ENV_CONFIG: '"dev"',
9
-  BASE_API: '"http://api.xt.test.sgjyun.com"',//'"http://localhost:9529"', // //http://api.xt.test.sgjyun.com http://112.74.16.180:9527
10
-  SSO_HOST: '"https://testsso.sgjyun.com"',
9
+  BASE_API:  '"http://api.xt.test.sgjyun.com"',// //http://api.xt.test.sgjyun.com http://112.74.16.180:9527,////'"http://localhost:9529"',
10
+
11
+  SSO_HOST: '"http://testsso.sgjyun.com"',
11
   SRCM_HOST: '"http://test1.sgjyun.com"',
12
   SRCM_HOST: '"http://test1.sgjyun.com"',
12
   XT_HOST: '"http://xt.test.sgjyun.com"',
13
   XT_HOST: '"http://xt.test.sgjyun.com"',
13
   MIRCO_MALL_HOST: '"http://mall.test.sgjyun.com"',
14
   MIRCO_MALL_HOST: '"http://mall.test.sgjyun.com"',
14
   CDM_HOST: '"http://cdm.test.sgjyun.com"',
15
   CDM_HOST: '"http://cdm.test.sgjyun.com"',
15
 }
16
 }
17
+

+ 96 - 0
config/index.js 查看文件

1
+'use strict'
2
+// Template version: 1.2.6
3
+// see http://vuejs-templates.github.io/webpack for documentation.
4
+
5
+const path = require('path')
6
+
7
+module.exports = {
8
+  dev: {
9
+
10
+    // Paths
11
+    assetsSubDirectory: 'static',
12
+    assetsPublicPath: '/',
13
+    proxyTable: {},
14
+
15
+    // Various Dev Server settings
16
+
17
+    // can be overwritten by process.env.HOST
18
+    // if you want dev by ip, please set host: '0.0.0.0'
19
+
20
+    // host: 'xt.test.sgjyun.com',
21
+    // host: 'xt.kuyicloud.com',
22
+    host: 'xt.test.sgjyun.com',
23
+    port: 9526, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
24
+    autoOpenBrowser: true,
25
+    errorOverlay: true,
26
+    notifyOnErrors: false,
27
+    poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
28
+
29
+    // Use Eslint Loader?
30
+    // If true, your code will be linted during bundling and
31
+    // linting errors and warnings will be shown in the console.
32
+    useEslint: false,
33
+
34
+    // If true, eslint errors and warnings will also be shown in the error overlay
35
+    // in the browser.
36
+    showEslintErrorsInOverlay: false,
37
+
38
+    /**
39
+     * Source Maps
40
+     */
41
+
42
+    // https://webpack.js.org/configuration/devtool/#development
43
+    devtool: '#cheap-source-map',
44
+
45
+    // If you have problems debugging vue-files in devtools,
46
+    // set this to false - it *may* help
47
+    // https://vue-loader.vuejs.org/en/options.html#cachebusting
48
+    cacheBusting: true,
49
+
50
+    // CSS Sourcemaps off by default because relative paths are "buggy"
51
+    // with this option, according to the CSS-Loader README
52
+    // (https://github.com/webpack/css-loader#sourcemaps)
53
+    // In our experience, they generally work as expected,
54
+    // just be aware of this issue when enabling this option.
55
+    cssSourceMap: false,
56
+  },
57
+
58
+  build: {
59
+    // Template for index.html
60
+    index: path.resolve(__dirname, '../dist/index.html'),
61
+
62
+    // Paths
63
+    assetsRoot: path.resolve(__dirname, '../dist'),
64
+    assetsSubDirectory: 'static',
65
+
66
+    /**
67
+     * You can set by youself according to actual condition
68
+     * You will need to set this if you plan to deploy your site under a sub path,
69
+     * for example GitHub pages. If you plan to deploy your site to https://foo.github.io/bar/,
70
+     * then assetsPublicPath should be set to "/bar/".
71
+     * In most cases please use '/' !!!
72
+     */
73
+    // assetsPublicPath: '/vue-element-admin/', // If you are deployed on the root path, please use '/'
74
+    assetsPublicPath: './',
75
+
76
+    /**
77
+     * Source Maps
78
+     */
79
+    productionSourceMap: false,
80
+    // https://webpack.js.org/configuration/devtool/#production
81
+    devtool: '#source-map',
82
+
83
+    // Gzip off by default as many popular static hosts such as
84
+    // Surge or Netlify already gzip all static assets for you.
85
+    // Before setting to `true`, make sure to:
86
+    // npm install --save-dev compression-webpack-plugin
87
+    productionGzip: false,
88
+    productionGzipExtensions: ['js', 'css'],
89
+
90
+    // Run the build command with an extra argument to
91
+    // View the bundle analyzer report after build finishes:
92
+    // `npm run build --report`
93
+    // Set to `true` or `false` to always turn it on or off
94
+    bundleAnalyzerReport: process.env.npm_config_report
95
+  }
96
+}

+ 50 - 39
package-lock.json 查看文件

469
     },
469
     },
470
     "async-validator": {
470
     "async-validator": {
471
       "version": "1.8.5",
471
       "version": "1.8.5",
472
-      "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.8.5.tgz",
473
-      "integrity": "sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==",
472
+      "resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-1.8.5.tgz",
473
+      "integrity": "sha1-3D4I7B/Q3dtn5ghC8CwM0c7G1/A=",
474
       "requires": {
474
       "requires": {
475
         "babel-runtime": "6.x"
475
         "babel-runtime": "6.x"
476
       }
476
       }
3179
     },
3179
     },
3180
     "deepmerge": {
3180
     "deepmerge": {
3181
       "version": "1.5.2",
3181
       "version": "1.5.2",
3182
-      "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz",
3183
-      "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ=="
3182
+      "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.2.tgz",
3183
+      "integrity": "sha1-EEmdhohEza1P7ghC34x/bwyVp1M="
3184
     },
3184
     },
3185
     "define-properties": {
3185
     "define-properties": {
3186
       "version": "1.1.3",
3186
       "version": "1.1.3",
3507
       "dev": true
3507
       "dev": true
3508
     },
3508
     },
3509
     "element-ui": {
3509
     "element-ui": {
3510
-      "version": "2.7.2",
3511
-      "resolved": "https://registry.npmjs.org/element-ui/-/element-ui-2.7.2.tgz",
3512
-      "integrity": "sha512-Exh9QTkm9gwMMPzg1TyaTlBKyr3k4K9XcC5vl0A/mneDvJX//RsURGuOWsCNDVQMdhh5h9e+W5icosh+pKfbCg==",
3510
+      "version": "2.12.0",
3511
+      "resolved": "https://registry.npm.taobao.org/element-ui/download/element-ui-2.12.0.tgz",
3512
+      "integrity": "sha1-qJO8Ea5Pfbt+nVQWBvI+ZD8THuQ=",
3513
       "requires": {
3513
       "requires": {
3514
         "async-validator": "~1.8.1",
3514
         "async-validator": "~1.8.1",
3515
         "babel-helper-vue-jsx-merge-props": "^2.0.0",
3515
         "babel-helper-vue-jsx-merge-props": "^2.0.0",
4731
         },
4731
         },
4732
         "ansi-regex": {
4732
         "ansi-regex": {
4733
           "version": "2.1.1",
4733
           "version": "2.1.1",
4734
-          "resolved": false,
4735
-          "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
4736
-          "dev": true
4734
+          "bundled": true,
4735
+          "dev": true,
4736
+          "optional": true
4737
         },
4737
         },
4738
         "aproba": {
4738
         "aproba": {
4739
           "version": "1.2.0",
4739
           "version": "1.2.0",
4755
         },
4755
         },
4756
         "balanced-match": {
4756
         "balanced-match": {
4757
           "version": "1.0.0",
4757
           "version": "1.0.0",
4758
-          "resolved": false,
4759
-          "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
4760
-          "dev": true
4758
+          "bundled": true,
4759
+          "dev": true,
4760
+          "optional": true
4761
         },
4761
         },
4762
         "brace-expansion": {
4762
         "brace-expansion": {
4763
           "version": "1.1.11",
4763
           "version": "1.1.11",
4764
           "resolved": false,
4764
           "resolved": false,
4765
           "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
4765
           "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
4766
           "dev": true,
4766
           "dev": true,
4767
+          "optional": true,
4767
           "requires": {
4768
           "requires": {
4768
             "balanced-match": "^1.0.0",
4769
             "balanced-match": "^1.0.0",
4769
             "concat-map": "0.0.1"
4770
             "concat-map": "0.0.1"
4778
         },
4779
         },
4779
         "code-point-at": {
4780
         "code-point-at": {
4780
           "version": "1.1.0",
4781
           "version": "1.1.0",
4781
-          "resolved": false,
4782
-          "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
4783
-          "dev": true
4782
+          "bundled": true,
4783
+          "dev": true,
4784
+          "optional": true
4784
         },
4785
         },
4785
         "concat-map": {
4786
         "concat-map": {
4786
           "version": "0.0.1",
4787
           "version": "0.0.1",
4787
           "resolved": false,
4788
           "resolved": false,
4788
           "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
4789
           "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
4789
-          "dev": true
4790
+          "dev": true,
4791
+          "optional": true
4790
         },
4792
         },
4791
         "console-control-strings": {
4793
         "console-control-strings": {
4792
           "version": "1.1.0",
4794
           "version": "1.1.0",
4793
           "resolved": false,
4795
           "resolved": false,
4794
           "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
4796
           "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
4795
-          "dev": true
4797
+          "dev": true,
4798
+          "optional": true
4796
         },
4799
         },
4797
         "core-util-is": {
4800
         "core-util-is": {
4798
           "version": "1.0.2",
4801
           "version": "1.0.2",
4921
         },
4924
         },
4922
         "inherits": {
4925
         "inherits": {
4923
           "version": "2.0.3",
4926
           "version": "2.0.3",
4924
-          "resolved": false,
4925
-          "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
4926
-          "dev": true
4927
+          "bundled": true,
4928
+          "dev": true,
4929
+          "optional": true
4927
         },
4930
         },
4928
         "ini": {
4931
         "ini": {
4929
           "version": "1.3.5",
4932
           "version": "1.3.5",
4937
           "resolved": false,
4940
           "resolved": false,
4938
           "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
4941
           "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
4939
           "dev": true,
4942
           "dev": true,
4943
+          "optional": true,
4940
           "requires": {
4944
           "requires": {
4941
             "number-is-nan": "^1.0.0"
4945
             "number-is-nan": "^1.0.0"
4942
           }
4946
           }
4953
           "resolved": false,
4957
           "resolved": false,
4954
           "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
4958
           "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
4955
           "dev": true,
4959
           "dev": true,
4960
+          "optional": true,
4956
           "requires": {
4961
           "requires": {
4957
             "brace-expansion": "^1.1.7"
4962
             "brace-expansion": "^1.1.7"
4958
           }
4963
           }
4959
         },
4964
         },
4960
         "minimist": {
4965
         "minimist": {
4961
           "version": "0.0.8",
4966
           "version": "0.0.8",
4962
-          "resolved": false,
4963
-          "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
4964
-          "dev": true
4967
+          "bundled": true,
4968
+          "dev": true,
4969
+          "optional": true
4965
         },
4970
         },
4966
         "minipass": {
4971
         "minipass": {
4967
           "version": "2.3.5",
4972
           "version": "2.3.5",
4968
           "resolved": false,
4973
           "resolved": false,
4969
           "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==",
4974
           "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==",
4970
           "dev": true,
4975
           "dev": true,
4976
+          "optional": true,
4971
           "requires": {
4977
           "requires": {
4972
             "safe-buffer": "^5.1.2",
4978
             "safe-buffer": "^5.1.2",
4973
             "yallist": "^3.0.0"
4979
             "yallist": "^3.0.0"
4988
           "resolved": false,
4994
           "resolved": false,
4989
           "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
4995
           "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
4990
           "dev": true,
4996
           "dev": true,
4997
+          "optional": true,
4991
           "requires": {
4998
           "requires": {
4992
             "minimist": "0.0.8"
4999
             "minimist": "0.0.8"
4993
           }
5000
           }
5074
         },
5081
         },
5075
         "number-is-nan": {
5082
         "number-is-nan": {
5076
           "version": "1.0.1",
5083
           "version": "1.0.1",
5077
-          "resolved": false,
5078
-          "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
5079
-          "dev": true
5084
+          "bundled": true,
5085
+          "dev": true,
5086
+          "optional": true
5080
         },
5087
         },
5081
         "object-assign": {
5088
         "object-assign": {
5082
           "version": "4.1.1",
5089
           "version": "4.1.1",
5090
           "resolved": false,
5097
           "resolved": false,
5091
           "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
5098
           "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
5092
           "dev": true,
5099
           "dev": true,
5100
+          "optional": true,
5093
           "requires": {
5101
           "requires": {
5094
             "wrappy": "1"
5102
             "wrappy": "1"
5095
           }
5103
           }
5183
         },
5191
         },
5184
         "safe-buffer": {
5192
         "safe-buffer": {
5185
           "version": "5.1.2",
5193
           "version": "5.1.2",
5186
-          "resolved": false,
5187
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
5188
-          "dev": true
5194
+          "bundled": true,
5195
+          "dev": true,
5196
+          "optional": true
5189
         },
5197
         },
5190
         "safer-buffer": {
5198
         "safer-buffer": {
5191
           "version": "2.1.2",
5199
           "version": "2.1.2",
5227
           "resolved": false,
5235
           "resolved": false,
5228
           "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
5236
           "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
5229
           "dev": true,
5237
           "dev": true,
5238
+          "optional": true,
5230
           "requires": {
5239
           "requires": {
5231
             "code-point-at": "^1.0.0",
5240
             "code-point-at": "^1.0.0",
5232
             "is-fullwidth-code-point": "^1.0.0",
5241
             "is-fullwidth-code-point": "^1.0.0",
5248
           "resolved": false,
5257
           "resolved": false,
5249
           "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
5258
           "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
5250
           "dev": true,
5259
           "dev": true,
5260
+          "optional": true,
5251
           "requires": {
5261
           "requires": {
5252
             "ansi-regex": "^2.0.0"
5262
             "ansi-regex": "^2.0.0"
5253
           }
5263
           }
5294
         },
5304
         },
5295
         "wrappy": {
5305
         "wrappy": {
5296
           "version": "1.0.2",
5306
           "version": "1.0.2",
5297
-          "resolved": false,
5298
-          "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
5299
-          "dev": true
5307
+          "bundled": true,
5308
+          "dev": true,
5309
+          "optional": true
5300
         },
5310
         },
5301
         "yallist": {
5311
         "yallist": {
5302
           "version": "3.0.3",
5312
           "version": "3.0.3",
5303
           "resolved": false,
5313
           "resolved": false,
5304
           "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
5314
           "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
5305
-          "dev": true
5315
+          "dev": true,
5316
+          "optional": true
5306
         }
5317
         }
5307
       }
5318
       }
5308
     },
5319
     },
7928
     },
7939
     },
7929
     "normalize-wheel": {
7940
     "normalize-wheel": {
7930
       "version": "1.0.1",
7941
       "version": "1.0.1",
7931
-      "resolved": "https://registry.npmjs.org/normalize-wheel/-/normalize-wheel-1.0.1.tgz",
7942
+      "resolved": "http://registry.npm.taobao.org/normalize-wheel/download/normalize-wheel-1.0.1.tgz",
7932
       "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU="
7943
       "integrity": "sha1-rsiGr/2wRQcNhWRH32Ls+GFG7EU="
7933
     },
7944
     },
7934
     "normalize.css": {
7945
     "normalize.css": {
11880
     },
11891
     },
11881
     "resize-observer-polyfill": {
11892
     "resize-observer-polyfill": {
11882
       "version": "1.5.1",
11893
       "version": "1.5.1",
11883
-      "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
11884
-      "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
11894
+      "resolved": "http://registry.npm.taobao.org/resize-observer-polyfill/download/resize-observer-polyfill-1.5.1.tgz",
11895
+      "integrity": "sha1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ="
11885
     },
11896
     },
11886
     "resolve": {
11897
     "resolve": {
11887
       "version": "1.10.0",
11898
       "version": "1.10.0",
13536
     },
13547
     },
13537
     "throttle-debounce": {
13548
     "throttle-debounce": {
13538
       "version": "1.1.0",
13549
       "version": "1.1.0",
13539
-      "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-1.1.0.tgz",
13540
-      "integrity": "sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg=="
13550
+      "resolved": "http://registry.npm.taobao.org/throttle-debounce/download/throttle-debounce-1.1.0.tgz",
13551
+      "integrity": "sha1-UYU9o3vmihVctugns1FKPEIuic0="
13541
     },
13552
     },
13542
     "through": {
13553
     "through": {
13543
       "version": "2.3.8",
13554
       "version": "2.3.8",

+ 1 - 1
package.json 查看文件

45
     "driver.js": "0.5.2",
45
     "driver.js": "0.5.2",
46
     "dropzone": "5.2.0",
46
     "dropzone": "5.2.0",
47
     "echarts": "3.8.5",
47
     "echarts": "3.8.5",
48
-    "element-ui": "^2.7.2",
48
+    "element-ui": "^2.12.0",
49
     "file-saver": "1.3.3",
49
     "file-saver": "1.3.3",
50
     "font-awesome": "4.7.0",
50
     "font-awesome": "4.7.0",
51
     "js-cookie": "2.2.0",
51
     "js-cookie": "2.2.0",

+ 18 - 0
src/api/data.js 查看文件

47
     method: 'post',
47
     method: 'post',
48
   })
48
   })
49
 }
49
 }
50
+
51
+
52
+
53
+
54
+
55
+export function postPrintTemplate(params) {
56
+  return request({
57
+    url: '/api/print/template/commit?template_id='+params,
58
+    method: 'post',
59
+  })
60
+}
61
+
62
+export function getPrintTemplate() {
63
+  return request({
64
+    url: '/api/print/template/get',
65
+    method: 'get',
66
+  })
67
+}

+ 1 - 1
src/api/signandweigh.js 查看文件

74
 }
74
 }
75
 
75
 
76
 export function updateSignweight(params){
76
 export function updateSignweight(params){
77
-  console.log("好好玩")
77
+ 
78
   console.log(params)
78
   console.log(params)
79
   return request({
79
   return request({
80
      url:'/api/sign/updateSignweight',
80
      url:'/api/sign/updateSignweight',

二进制
src/assets/home/1.jpg 查看文件


二进制
src/assets/home/2.jpg 查看文件


二进制
src/assets/home/5.jpg 查看文件


+ 1 - 0
src/icons/svg/system.svg 查看文件

1
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1569292702427" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4856" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M1017.377674 456.010825c-3.988848-22.373567-25.431206-44.900629-47.617507-49.979298l-16.45067-3.802606c-39.015595-11.780301-73.665767-37.860283-95.66685-75.9416-22.185278-38.356586-27.235294-81.920778-17.633612-121.807207l4.860704-15.611559c6.66991-21.719674-1.994424-51.633984-19.256576-66.345034 0 0-15.643282-13.20986-59.709917-38.699394-44.060495-25.457812-63.191204-32.410154-63.191204-32.410154-21.37789-7.726985-51.54291-0.37146-66.99688 16.32992l-11.594059 12.462846c-29.665647 28.045753-69.645197 45.215808-113.584941 45.215808-44.152593 0-84.258009-17.294898-113.954355-45.526893L385.393999 67.804269c-15.393595-16.669658-45.591361-24.056905-66.967204-16.325827 0 0-19.131733 6.915503-63.290465 32.405037-43.996027 25.490557-59.546188 38.639019-59.546188 38.639019-17.326621 14.71105-26.019607 44.500517-19.289322 66.313312l4.827959 15.769149c9.474792 39.853683 4.364401 83.325777-17.633612 121.653711-22.063505 38.235836-57.056484 64.380286-96.228645 76.030627L51.186288 405.967058c-22.090111 5.050016-43.564191 27.608801-47.553039 49.950645 0 0-3.613294 20.09978-3.613294 71.109548 0 51.012837 3.613294 71.019497 3.613294 71.019497 4.02057 22.434965 25.461905 44.933375 47.553039 50.105165l15.708773 3.492544c39.325657 11.713786 74.411757 37.95238 96.600105 76.343759 22.091134 38.327934 27.14115 81.892125 17.573237 121.779577l-4.767584 15.579837c-6.730285 21.686928 1.962701 51.601238 19.349697 66.309218 0 0 15.551184 13.21293 59.644425 38.702464 44.093241 25.551956 63.164598 32.411177 63.164598 32.411177 21.408589 7.726985 51.509141 0.311085 66.967204-16.269545l11.06194-11.902074c29.697369-28.355815 69.829392-45.617967 114.047476-45.617967 44.189432 0 84.387969 17.386996 114.210181 45.617967l0.027629 0 10.940167 11.902074c15.45397 16.58063 45.493124 23.99653 66.930365 16.269545 0 0 19.071358-6.979972 63.321164-32.411177 44.002167-25.489534 59.579957-38.702464 59.579957-38.702464 17.328667-14.70798 25.928532-44.496423 19.323091-66.309218l-4.860704-16.080234c-9.349949-39.761586-4.239558-83.139535 17.633612-121.279181 22.25077-38.452777 57.277518-64.569598 96.538707-76.343759l0-0.065492 15.705704-3.612271c22.187325-5.051039 43.62866-27.545356 47.615461-49.983391 0 0 3.613294-20.068058 3.613294-71.109548C1020.990968 476.078883 1017.377674 456.010825 1017.377674 456.010825zM510.507508 691.592284c-90.588181 0-164.067706-73.665767-164.067706-164.532287 0-90.741677 73.478502-164.342975 164.067706-164.342975 90.584088 0 163.970492 73.633021 163.970492 164.467819C674.478 618.052384 601.091596 691.592284 510.507508 691.592284z" p-id="4857"></path></svg>

+ 3 - 0
src/lang/zh.js 查看文件

156
 
156
 
157
     showconfig:'显示配置',
157
     showconfig:'显示配置',
158
     user_detail:'使用明细',
158
     user_detail:'使用明细',
159
+    systemManage:'系统管理',
160
+    printTemplate:'打印模版',
161
+
159
 
162
 
160
   },
163
   },
161
   navbar: {
164
   navbar: {

+ 7 - 3
src/router/index.js 查看文件

14
 import workforce from './modules/workforce'
14
 import workforce from './modules/workforce'
15
 import service from './modules/service'
15
 import service from './modules/service'
16
 import org from './modules/org'
16
 import org from './modules/org'
17
+import systems from './modules/systems'
18
+
19
+
17
 
20
 
18
 Vue.use(Router)
21
 Vue.use(Router)
19
 
22
 
92
   dialysis,
95
   dialysis,
93
   stock,
96
   stock,
94
   qcd,
97
   qcd,
95
-  data_dict,
98
+  // data_dict,
96
   device,
99
   device,
97
-  role,
98
-  org
100
+  // role,
101
+  org,
102
+  systems,
99
 ]
103
 ]
100
 
104
 
101
 var is_asy_router = process.env.NODE_ENV === 'production' // true; 设置为 true 强制进行路由验证
105
 var is_asy_router = process.env.NODE_ENV === 'production' // true; 设置为 true 强制进行路由验证

文件差异内容过多而无法显示
+ 476 - 476
src/router/index_路由未分离前.js


+ 2 - 1
src/router/modules/data_dict.js 查看文件

10
     title: 'data_dictionary',
10
     title: 'data_dictionary',
11
     icon: 'excel'
11
     icon: 'excel'
12
   },
12
   },
13
-  children: [{
13
+  children: [
14
+    {
14
     path: '/data/dictionary',
15
     path: '/data/dictionary',
15
     component: () => import('@/xt_pages/data/index'),
16
     component: () => import('@/xt_pages/data/index'),
16
     name: 'dictionary',
17
     name: 'dictionary',

+ 109 - 0
src/router/modules/systems.js 查看文件

1
+import Layout from '@/views/layout/Layout'
2
+
3
+export default {
4
+  path: '/system',
5
+  component: Layout,
6
+  redirect: '/role/admin/manage',
7
+  name: 'system',
8
+  alwaysShow: true,
9
+  meta: {
10
+    title: 'systemManage',
11
+    icon: 'system'
12
+  },
13
+  children: [{
14
+    path: '/role/admin/manage',
15
+    component: () => import('@/xt_pages/role/admin'),
16
+    name: 'adminManage',
17
+    meta: {
18
+      title: 'adminManage'
19
+    }
20
+  },
21
+    {
22
+      path: '/role/manage',
23
+      component: () => import('@/xt_pages/role/role'),
24
+      name: 'roleManage',
25
+      meta: {
26
+        title: 'roleManage'
27
+      }
28
+    },
29
+    {
30
+      path: '/role/admin/create',
31
+      component: () => import('@/xt_pages/role/CreateAdmin'),
32
+      name: 'addAdmin',
33
+      meta: {
34
+        title: 'addAdmin',
35
+        noCache: true
36
+      },
37
+      hidden: true,
38
+      is_menu: false
39
+    },
40
+    {
41
+      path: '/role/admin/edit',
42
+      component: () => import('@/xt_pages/role/EditAdmin'),
43
+      name: 'editAdmin',
44
+      meta: {
45
+        title: 'editAdmin',
46
+        noCache: true
47
+      },
48
+      hidden: true,
49
+      is_menu: false
50
+    },
51
+    {
52
+      path: '/role/perview',
53
+      component: () => import('@/xt_pages/role/EditPerview'),
54
+      name: 'setupPerview',
55
+      meta: {
56
+        title: 'setupPerview',
57
+        noCache: true
58
+      },
59
+      hidden: true,
60
+      is_menu: false
61
+    },
62
+    {
63
+      path: '/role/admin/specialpermission',
64
+      component: () => import('@/xt_pages/role/special_permission'),
65
+      name: 'special_permission_manage',
66
+      meta: {
67
+        title: 'special_permission_manage'
68
+      }
69
+    },
70
+    {
71
+      path: '/data/dictionary',
72
+      component: () => import('@/xt_pages/data/index'),
73
+      name: 'dictionary',
74
+      meta: {
75
+        title: 'data_dictionary'
76
+      }
77
+    },
78
+    {
79
+      path: '/data/template',
80
+      component: () => import('@/xt_pages/data/template'),
81
+      name: 'template',
82
+      meta: {
83
+        title: 'template'
84
+      }
85
+    },
86
+    {
87
+      path: '/data/druguse',
88
+      component: () => import('@/xt_pages/data/druguseTemplate'),
89
+      name: 'druguse',
90
+      meta: {
91
+        title: 'druguse'
92
+      }
93
+    }, {
94
+      path: '/data/showconfig',
95
+      component: () => import('@/xt_pages/data/showConfig'),
96
+      name: 'showconfig',
97
+      meta: {
98
+        title: 'showconfig'
99
+      }
100
+    },{
101
+      path: '/data/print',
102
+      component: () => import('@/xt_pages/data/printTemplate'),
103
+      name: 'printTemplate',
104
+      meta: {
105
+        title: 'printTemplate'
106
+      }
107
+    }
108
+  ]
109
+}

+ 1 - 1
src/xt_pages/data/druguseTemplate.vue 查看文件

549
                 </el-table-column>
549
                 </el-table-column>
550
                 <el-table-column prop="blood_flow_volume" align="center" label="执行频率">
550
                 <el-table-column prop="blood_flow_volume" align="center" label="执行频率">
551
                   <template slot-scope="scope">
551
                   <template slot-scope="scope">
552
-                    <span v-if="scope.row.parent_id == 0">{{scope.row.delivery_way}}</span>
552
+                    <span v-if="scope.row.parent_id == 0">{{scope.row.execution_frequency}}</span>
553
                   </template>
553
                   </template>
554
                 </el-table-column>
554
                 </el-table-column>
555
               </el-table>
555
               </el-table>

+ 144 - 0
src/xt_pages/data/printTemplate.vue 查看文件

1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+    </div>
6
+    <div class="app-container" style="text-align: center">
7
+     <p style="margin-top: 10px;margin-bottom: 30px">请选择你需要打印的血液透析护理记录单样式</p>
8
+      <el-row :gutter="20" type="flex" justify="center">
9
+        <el-col :span="6" style="text-align: center">
10
+          <div>
11
+            <el-tooltip class="item" effect="dark" :hide-after='2000' content="点击查看大图" placement="top-start">
12
+              <el-image
13
+                style="width: 200px; height: 200px"
14
+                :src="require('@/assets/home/1.jpg')"
15
+                :preview-src-list="imgs_one"
16
+              ></el-image>
17
+            </el-tooltip>
18
+
19
+          </div>
20
+          <el-radio v-model="radio" label="1" @change="change">模版一</el-radio>
21
+        </el-col>
22
+        <el-col :span="6" style="margin-left: 100px;margin-right: 100px;text-align: center">
23
+          <div>
24
+            <el-tooltip class="item" effect="dark" content="点击查看大图" placement="top-start" :hide-after='2000'>
25
+
26
+              <el-image
27
+                style="width: 200px; height: 200px"
28
+                :src="require('@/assets/home/2.jpg')"
29
+                :preview-src-list="imgs_two"
30
+              ></el-image>
31
+            </el-tooltip>
32
+
33
+          </div>
34
+          <el-radio v-model="radio" label="2" @change="change">模版二</el-radio>
35
+        </el-col>
36
+        <el-col :span="6" style="text-align: center">
37
+          <div class="demo-image__preview">
38
+            <el-tooltip class="item" effect="dark" content="点击查看大图" placement="top-start" :hide-after='2000'>
39
+
40
+              <el-image
41
+                style="width: 200px; height: 200px"
42
+                :src="require('@/assets/home/5.jpg')"
43
+                :preview-src-list="imgs_five"
44
+              ></el-image>
45
+            </el-tooltip>
46
+
47
+          </div>
48
+          <el-radio v-model="radio" label="5" @change="change">模版三</el-radio>
49
+        </el-col>
50
+      </el-row>
51
+    </div>
52
+  </div>
53
+</template>
54
+
55
+<script>
56
+  import BreadCrumb from '@/xt_pages/components/bread-crumb'
57
+  import { getPrintTemplate, postPrintTemplate } from '@/api/data'
58
+
59
+  export default {
60
+    name: 'printTemplate',
61
+    components: { BreadCrumb },
62
+    data() {
63
+      return {
64
+        crumbs: [
65
+          { path: false, name: '系统管理' },
66
+          { path: 'data/print', name: '打印模版' }
67
+        ],
68
+        imgUrl_One: require('@/assets/home/1.jpg'),
69
+        imgUrl_Two: require('@/assets/home/2.jpg'),
70
+        imgUrl_Five: require('@/assets/home/5.jpg'),
71
+
72
+        url: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
73
+        imgs_one: [
74
+          'https://images.shengws.com/template_one.jpg'
75
+        ],
76
+        imgs_two: [
77
+          'https://images.shengws.com/template_two.jpg'
78
+
79
+        ],
80
+        imgs_five: [
81
+          'https://images.shengws.com/template_five.jpg'
82
+
83
+        ],
84
+        delay:500,
85
+        radio: 0,
86
+        tempRadio: 0
87
+      }
88
+    }, methods: {
89
+      change: function(val) {
90
+
91
+        this.$confirm('是否切换模版', '提示', {
92
+          confirmButtonText: '确定',
93
+          cancelButtonText: '取消',
94
+          type: 'info'
95
+        }).then(() => {
96
+          postPrintTemplate(val).then(response => {
97
+            if (response.data.state == 1) {
98
+              var template_id = response.data.data.template_id
99
+              this.radio = template_id.toString()
100
+              this.tempRadio = template_id.toString()
101
+              //同步
102
+              this.$message({
103
+                type: 'success',
104
+                message: '切换成功'
105
+              })
106
+
107
+            }
108
+          })
109
+        }).catch(() => {
110
+          this.radio = this.tempRadio
111
+        })
112
+
113
+      }
114
+    }, created() {
115
+      getPrintTemplate().then(response => {
116
+        if (response.data.state == 0) {
117
+          this.$message.error(response.data.msg)
118
+          return false
119
+        } else {
120
+          var template = response.data.data.template
121
+          this.radio = template.template_id.toString()
122
+          this.tempRadio = template.template_id.toString()
123
+        }
124
+      })
125
+    }
126
+  }
127
+</script>
128
+
129
+<style scoped>
130
+  .el-row {
131
+    margin-bottom: 20px;
132
+
133
+  &
134
+  :last-child {
135
+    margin-bottom: 0;
136
+  }
137
+
138
+  }
139
+  .el-col {
140
+    border-radius: 4px;
141
+  }
142
+
143
+
144
+</style>

+ 2 - 2
src/xt_pages/dialysis/batch_print/batch_print_order_five_one.vue 查看文件

500
                     </div>
500
                     </div>
501
                     <div class="inline_block" style="margin-left:30px;">
501
                     <div class="inline_block" style="margin-left:30px;">
502
                       透析期间进食:
502
                       透析期间进食:
503
-                      <check-box text="无" :checked="record.assessment_after_dislysis.is_eat == 1?true:false"></check-box>
504
-                      <check-box text="有" :checked="record.assessment_after_dislysis.is_eat == 2?true:false"></check-box>
503
+                      <check-box text="无" :checked="record.assessment_after_dislysis&&record.assessment_after_dislysis.is_eat == 1?true:false"></check-box>
504
+                      <check-box text="有" :checked="record.assessment_after_dislysis&&record.assessment_after_dislysis.is_eat == 2?true:false"></check-box>
505
                     </div>
505
                     </div>
506
                     <!--<div class="inline_block" style="margin-left: 30px;">-->
506
                     <!--<div class="inline_block" style="margin-left: 30px;">-->
507
                     <!--实际超滤量:-->
507
                     <!--实际超滤量:-->

+ 26 - 13
src/xt_pages/dialysis/bloodPresssWatch.vue 查看文件

151
 import { getSchedualPatient, GetAllZone } from "@/api/dialysis";
151
 import { getSchedualPatient, GetAllZone } from "@/api/dialysis";
152
 import { parseTime } from "@/utils";
152
 import { parseTime } from "@/utils";
153
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
153
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
154
+import { getPrintTemplate } from '@/api/data'
154
 
155
 
155
 export default {
156
 export default {
156
   name: "Patient",
157
   name: "Patient",
175
         { value: 2, label: "下午" },
176
         { value: 2, label: "下午" },
176
         { value: 3, label: "晚上" }
177
         { value: 3, label: "晚上" }
177
       ],
178
       ],
178
-      template_id : 1,
179
+      template_id : 0,
179
 
180
 
180
       partitionType: 0,
181
       partitionType: 0,
181
 
182
 
244
     this.listQuery.schedul_time = date.getTime();
245
     this.listQuery.schedul_time = date.getTime();
245
     this.getAllZone();
246
     this.getAllZone();
246
     this.getSchedualPatientList();
247
     this.getSchedualPatientList();
247
-    this.template_id = this.$store.getters.xt_user.template_info.template_id;
248
+    this.getTemplateInfo();
249
+    // this.template_id = this.$store.getters.xt_user.template_info.template_id;
248
   },
250
   },
249
   methods: {
251
   methods: {
252
+    getTemplateInfo(){
253
+      getPrintTemplate().then(response => {
254
+        if (response.data.state == 0) {
255
+          this.$message.error(response.data.msg)
256
+          return false
257
+        } else {
258
+          var template = response.data.data.template
259
+          this.template_id = template.template_id
260
+        }
261
+      })
262
+    },
250
     clickCurrent(val) {
263
     clickCurrent(val) {
251
       console.log(val);
264
       console.log(val);
252
       this.$router.push({
265
       this.$router.push({
404
         sch_ids.push(this.selecting_schs[index].sch_id)
417
         sch_ids.push(this.selecting_schs[index].sch_id)
405
       }
418
       }
406
       this.$store.dispatch("SetBatchPrintDialysisRecordIDs", sch_ids)
419
       this.$store.dispatch("SetBatchPrintDialysisRecordIDs", sch_ids)
407
-      if (this.$store.getters.xt_user.template_info.template_id == 2 ||this.$store.getters.xt_user.template_info.template_id == 0 ){
420
+      if (this.template_id == 2 ||this.template_id == 0 ){
408
         this.$router.push({ path: "/dialysis/print/batch/other" });
421
         this.$router.push({ path: "/dialysis/print/batch/other" });
409
-      }else if(this.$store.getters.xt_user.template_info.template_id == 1) {
422
+      }else if(this.template_id == 1) {
410
         this.$router.push({ path: "/dialysis/print/batch" });
423
         this.$router.push({ path: "/dialysis/print/batch" });
411
       }
424
       }
412
-      else if(this.$store.getters.xt_user.template_info.template_id == 3) {
425
+      else if(this.template_id == 3) {
413
         this.$router.push({ path: "/dialysis/print/batch/three" });
426
         this.$router.push({ path: "/dialysis/print/batch/three" });
414
       }
427
       }
415
-      else if(this.$store.getters.xt_user.template_info.template_id == 4) {
428
+      else if(this.template_id == 4) {
416
         this.$router.push({ path: "/dialysis/print/batch/four" });
429
         this.$router.push({ path: "/dialysis/print/batch/four" });
417
-      } else if (this.$store.getters.xt_user.template_info.template_id == 5  ){
430
+      } else if (this.template_id == 5  ){
418
         this.$router.push({ path: "/dialysis/print/batch/five" });
431
         this.$router.push({ path: "/dialysis/print/batch/five" });
419
       }
432
       }
420
     },
433
     },
424
         sch_ids.push(this.selecting_schs[index].sch_id)
437
         sch_ids.push(this.selecting_schs[index].sch_id)
425
       }
438
       }
426
       this.$store.dispatch("SetBatchPrintDialysisRecordIDs", sch_ids)
439
       this.$store.dispatch("SetBatchPrintDialysisRecordIDs", sch_ids)
427
-      if (this.$store.getters.xt_user.template_info.template_id == 2 ||this.$store.getters.xt_user.template_info.template_id == 0){
440
+      if (this.template_id == 2 ||this.template_id == 0){
428
         this.$router.push({ path: "/dialysis/print/batch/otherone" });
441
         this.$router.push({ path: "/dialysis/print/batch/otherone" });
429
-      }else if(this.$store.getters.xt_user.template_info.template_id == 1) {
442
+      }else if(this.template_id == 1) {
430
         this.$router.push({ path: "/dialysis/print/batch" });
443
         this.$router.push({ path: "/dialysis/print/batch" });
431
-      } else if (this.$store.getters.xt_user.template_info.template_id == 5){
444
+      } else if (this.template_id == 5){
432
         this.$router.push({ path: "/dialysis/print/batch/fiveone" });
445
         this.$router.push({ path: "/dialysis/print/batch/fiveone" });
433
       }
446
       }
434
     },
447
     },
438
         sch_ids.push(this.selecting_schs[index].sch_id)
451
         sch_ids.push(this.selecting_schs[index].sch_id)
439
       }
452
       }
440
       this.$store.dispatch("SetBatchPrintDialysisRecordIDs", sch_ids)
453
       this.$store.dispatch("SetBatchPrintDialysisRecordIDs", sch_ids)
441
-      if (this.$store.getters.xt_user.template_info.template_id == 2 ||this.$store.getters.xt_user.template_info.template_id == 0 ){
454
+      if (this.template_id == 2 ||this.template_id == 0 ){
442
         this.$router.push({ path: "/dialysis/print/batch/othertwo" });
455
         this.$router.push({ path: "/dialysis/print/batch/othertwo" });
443
-      }else if(this.$store.getters.xt_user.template_info.template_id == 1){
456
+      }else if(this.template_id == 1){
444
         this.$router.push({ path: "/dialysis/print/batch" });
457
         this.$router.push({ path: "/dialysis/print/batch" });
445
-      } else if (this.$store.getters.xt_user.template_info.template_id == 5  ){
458
+      } else if (this.template_id == 5  ){
446
         this.$router.push({ path: "/dialysis/print/batch/fivetwo" });
459
         this.$router.push({ path: "/dialysis/print/batch/fivetwo" });
447
       }
460
       }
448
     }
461
     }

+ 2 - 0
src/xt_pages/dialysis/details/DialysisPrescription.vue 查看文件

151
         </li>
151
         </li>
152
       </ul>
152
       </ul>
153
 
153
 
154
+
155
+
154
     </div>
156
     </div>
155
     <div class="note">备注 : <span>{{note}}</span></div>
157
     <div class="note">备注 : <span>{{note}}</span></div>
156
   </div>
158
   </div>

+ 106 - 1
src/xt_pages/dialysis/details/NavIgation.vue 查看文件

53
 
53
 
54
         <div class="middleLine"></div>
54
         <div class="middleLine"></div>
55
 
55
 
56
-        <dialysis-prescription-dialog title="透析处方" ref="prescription" :patient="patient" :prescription="prescription" :solution="solution"></dialysis-prescription-dialog>
56
+        <dialysis-prescription-dialog title="透析处方" ref="prescription" :patient="patient" :prescription="prescription" :solution="solution"
57
+                                      :niprocart_info="niprocart_info" :jms_info="jms_info" :fistula_needle_set_info="fistula_needle_set_info"
58
+        :fistula_needle_set_16_info="fistula_needle_set_16_info"  :hemoperfusion_info="hemoperfusion_info" :dialyser_sterilised_info="dialyser_sterilised_info"
59
+        :filtryzer_info="filtryzer_info" :dialyzers_info="dialyzers_info" :injector_info="injector_info" :bloodlines_info="bloodlines_info"  :tubingHemodialysis_info="tubingHemodialysis_info"
60
+        :safe_package_info="safe_package_info" :aliquid_info="aliquid_info" :config="config"
61
+
62
+        ></dialysis-prescription-dialog>
57
 
63
 
58
         <double-check-dialog title="双人核对" ref="doubleCheck" :patient="patient" :double_check="double_check" :admin_users="admin_users" ></double-check-dialog>
64
         <double-check-dialog title="双人核对" ref="doubleCheck" :patient="patient" :double_check="double_check" :admin_users="admin_users" ></double-check-dialog>
59
 
65
 
198
         }
204
         }
199
       },
205
       },
200
 
206
 
207
+
208
+      niprocart_info: {
209
+        type: Array,
210
+        default: () => {
211
+          return []
212
+        }
213
+      },
214
+
215
+      jms_info: {
216
+        type: Array,
217
+        default: () => {
218
+          return []
219
+        }
220
+      },
221
+
222
+
223
+      fistula_needle_set_info: {
224
+        type: Array,
225
+        default: () => {
226
+          return []
227
+        }
228
+      },
229
+
230
+
231
+      fistula_needle_set_16_info: {
232
+        type: Array,
233
+        default: () => {
234
+          return []
235
+        }
236
+      },
237
+
238
+
239
+      hemoperfusion_info: {
240
+        type: Array,
241
+        default: () => {
242
+          return []
243
+        }
244
+      },
245
+
246
+      dialyser_sterilised_info: {
247
+        type: Array,
248
+        default: () => {
249
+          return []
250
+        }
251
+      },
252
+
253
+      filtryzer_info: {
254
+        type: Array,
255
+        default: () => {
256
+          return []
257
+        }
258
+      },
259
+
260
+      dialyzers_info: {
261
+        type: Array,
262
+        default: () => {
263
+          return []
264
+        }
265
+      },
266
+      injector_info: {
267
+        type: Array,
268
+        default: () => {
269
+          return []
270
+        }
271
+      },
272
+      bloodlines_info: {
273
+        type: Array,
274
+        default: () => {
275
+          return []
276
+        }
277
+      },
278
+      tubingHemodialysis_info: {
279
+        type: Array,
280
+        default: () => {
281
+          return []
282
+        }
283
+      },
284
+      safe_package_info: {
285
+        type: Array,
286
+        default: () => {
287
+          return []
288
+        }
289
+      },
290
+      aliquid_info: {
291
+        type: Array,
292
+        default: () => {
293
+          return []
294
+        }
295
+      },
296
+      config: {
297
+        type: Object,
298
+        default: () => {
299
+          return {id: 0}
300
+        }
301
+      },
302
+
303
+
304
+
305
+
201
       admin_user_map: { // {user_id: admin_user object}
306
       admin_user_map: { // {user_id: admin_user object}
202
         type: Object,
307
         type: Object,
203
         default: () => {
308
         default: () => {

+ 313 - 41
src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue 查看文件

9
     <el-form ref="dialysisPrescription" :model="dialysisPrescription" label-width="148px">
9
     <el-form ref="dialysisPrescription" :model="dialysisPrescription" label-width="148px">
10
       <!-- <el-row :gutter="20"> -->
10
       <!-- <el-row :gutter="20"> -->
11
       <el-row :gutter="24">
11
       <el-row :gutter="24">
12
-        <el-col :span="8"  v-if="isShows('透析模式')">
12
+        <el-col :span="8" v-if="isShows('透析模式')">
13
           <el-form-item label="透析模式: ">
13
           <el-form-item label="透析模式: ">
14
             <el-select v-model="dialysisPrescription.mode_id">
14
             <el-select v-model="dialysisPrescription.mode_id">
15
               <el-option :key="0" label="请选择" :value="0"></el-option>
15
               <el-option :key="0" label="请选择" :value="0"></el-option>
18
           </el-form-item>
18
           </el-form-item>
19
         </el-col>
19
         </el-col>
20
         <el-col :span="8" v-if="isShows('透析时长')">
20
         <el-col :span="8" v-if="isShows('透析时长')">
21
-          <el-form-item label="透析时长(h): " >
21
+          <el-form-item label="透析时长(h): ">
22
             <el-input type="number" v-model="dialysisPrescription.dialysis_duration_hour"></el-input>
22
             <el-input type="number" v-model="dialysisPrescription.dialysis_duration_hour"></el-input>
23
           </el-form-item>
23
           </el-form-item>
24
         </el-col>
24
         </el-col>
25
         <el-col :span="8" v-if="isShows('透析时长')">
25
         <el-col :span="8" v-if="isShows('透析时长')">
26
-          <el-form-item label="透析时长(min): " >
26
+          <el-form-item label="透析时长(min): ">
27
             <el-input type="number" v-model="dialysisPrescription.dialysis_duration_minute"></el-input>
27
             <el-input type="number" v-model="dialysisPrescription.dialysis_duration_minute"></el-input>
28
           </el-form-item>
28
           </el-form-item>
29
         </el-col>
29
         </el-col>
30
-      <!-- </el-row>
30
+        <!-- </el-row>
31
 
31
 
32
-      <el-row :gutter="20"> -->
32
+        <el-row :gutter="20"> -->
33
         <el-col :span="8" v-if="isShows('血流量')">
33
         <el-col :span="8" v-if="isShows('血流量')">
34
-          <el-form-item label="血流量(ml/min):" >
34
+          <el-form-item label="血流量(ml/min):">
35
             <el-input type="number" v-model="dialysisPrescription.blood_flow_volume"></el-input>
35
             <el-input type="number" v-model="dialysisPrescription.blood_flow_volume"></el-input>
36
           </el-form-item>
36
           </el-form-item>
37
         </el-col>
37
         </el-col>
38
 
38
 
39
 
39
 
40
         <el-col :span="8" v-if="isShows('目标超滤量')">
40
         <el-col :span="8" v-if="isShows('目标超滤量')">
41
-          <el-form-item label="目标超滤量(L):" >
41
+          <el-form-item label="目标超滤量(L):">
42
             <el-input type="number" v-model="dialysisPrescription.target_ultrafiltration"></el-input>
42
             <el-input type="number" v-model="dialysisPrescription.target_ultrafiltration"></el-input>
43
           </el-form-item>
43
           </el-form-item>
44
         </el-col>
44
         </el-col>
45
 
45
 
46
         <el-col :span="8" v-if="isShows('透析液配方')">
46
         <el-col :span="8" v-if="isShows('透析液配方')">
47
-          <el-form-item label="透析液配方:" >
47
+          <el-form-item label="透析液配方:">
48
             <!-- <el-input type="number" v-model="dialysisPrescription.dialysate_formulation"></el-input> -->
48
             <!-- <el-input type="number" v-model="dialysisPrescription.dialysate_formulation"></el-input> -->
49
             <el-select v-model="dialysisPrescription.dialysate_formulation" placeholder="请选择">
49
             <el-select v-model="dialysisPrescription.dialysate_formulation" placeholder="请选择">
50
               <el-option :key="0" label="请选择" :value="0"></el-option>
50
               <el-option :key="0" label="请选择" :value="0"></el-option>
55
         </el-col>
55
         </el-col>
56
 
56
 
57
 
57
 
58
-      <!-- </el-row>
58
+        <!-- </el-row>
59
 
59
 
60
-      <el-row :gutter="20"> -->
60
+        <el-row :gutter="20"> -->
61
         <el-col :span="8" v-if="isShows('透析液温度')">
61
         <el-col :span="8" v-if="isShows('透析液温度')">
62
-          <el-form-item label="透析液温度(°C):" >
62
+          <el-form-item label="透析液温度(°C):">
63
             <el-input type="number" v-model="dialysisPrescription.dialysate_temperature"></el-input>
63
             <el-input type="number" v-model="dialysisPrescription.dialysate_temperature"></el-input>
64
           </el-form-item>
64
           </el-form-item>
65
         </el-col>
65
         </el-col>
66
 
66
 
67
 
67
 
68
         <el-col :span="8" v-if="isShows('置换量')">
68
         <el-col :span="8" v-if="isShows('置换量')">
69
-          <el-form-item label="置换量(L):" >
69
+          <el-form-item label="置换量(L):">
70
             <el-input type="number" v-model="dialysisPrescription.replacement_total"></el-input>
70
             <el-input type="number" v-model="dialysisPrescription.replacement_total"></el-input>
71
           </el-form-item>
71
           </el-form-item>
72
         </el-col>
72
         </el-col>
73
 
73
 
74
         <el-col :span="8" v-if="isShows('抗凝剂')">
74
         <el-col :span="8" v-if="isShows('抗凝剂')">
75
-          <el-form-item label="抗凝剂:" >
75
+          <el-form-item label="抗凝剂:">
76
             <el-select v-model="dialysisPrescription.anticoagulant" placeholder="请选择" style="width:100%;"
76
             <el-select v-model="dialysisPrescription.anticoagulant" placeholder="请选择" style="width:100%;"
77
                        @change="changeThisAnticoagulant">
77
                        @change="changeThisAnticoagulant">
78
               <el-option :key="0" label="请选择" :value="0"></el-option>
78
               <el-option :key="0" label="请选择" :value="0"></el-option>
82
             </el-select>
82
             </el-select>
83
           </el-form-item>
83
           </el-form-item>
84
         </el-col>
84
         </el-col>
85
-      <!-- </el-row>
85
+        <!-- </el-row>
86
 
86
 
87
-      <el-row :gutter="20"> -->
87
+        <el-row :gutter="20"> -->
88
 
88
 
89
         <el-col :span="8" v-if="anticoagulant.shouji != -1&&isShows('首剂')">
89
         <el-col :span="8" v-if="anticoagulant.shouji != -1&&isShows('首剂')">
90
           <el-form-item :label="'首剂('+anticoagulant.shouji_unit+') : '">
90
           <el-form-item :label="'首剂('+anticoagulant.shouji_unit+') : '">
120
         </el-col>
120
         </el-col>
121
 
121
 
122
 
122
 
123
-      <!-- </el-row>
123
+        <!-- </el-row>
124
 
124
 
125
 
125
 
126
-      <el-row :gutter="20"> -->
126
+        <el-row :gutter="20"> -->
127
 
127
 
128
         <el-col :span="8" v-if="isShows('钾')">
128
         <el-col :span="8" v-if="isShows('钾')">
129
-          <el-form-item label="钾(mmol/L): " >
129
+          <el-form-item label="钾(mmol/L): ">
130
             <el-input type="number" v-model="dialysisPrescription.kalium"></el-input>
130
             <el-input type="number" v-model="dialysisPrescription.kalium"></el-input>
131
           </el-form-item>
131
           </el-form-item>
132
         </el-col>
132
         </el-col>
145
         </el-col>
145
         </el-col>
146
 
146
 
147
 
147
 
148
-      <!-- </el-row>
148
+        <!-- </el-row>
149
 
149
 
150
-      <el-row :gutter="20"> -->
150
+        <el-row :gutter="20"> -->
151
 
151
 
152
         <el-col :span="8" v-if="isShows('透析器/灌流器')">
152
         <el-col :span="8" v-if="isShows('透析器/灌流器')">
153
           <el-form-item label="透析器/灌流器:">
153
           <el-form-item label="透析器/灌流器:">
162
         </el-col>
162
         </el-col>
163
 
163
 
164
         <el-col :span="8" v-if="isShows('葡萄糖')">
164
         <el-col :span="8" v-if="isShows('葡萄糖')">
165
-          <el-form-item label="葡萄糖(mmol/L):" >
165
+          <el-form-item label="葡萄糖(mmol/L):">
166
             <el-input type="number" v-model="dialysisPrescription.glucose"></el-input>
166
             <el-input type="number" v-model="dialysisPrescription.glucose"></el-input>
167
           </el-form-item>
167
           </el-form-item>
168
         </el-col>
168
         </el-col>
169
-      <!-- </el-row>
169
+        <!-- </el-row>
170
 
170
 
171
-      <el-row :gutter="20"> -->
171
+        <el-row :gutter="20"> -->
172
         <el-col :span="8" v-if="isShows('透析液流量')">
172
         <el-col :span="8" v-if="isShows('透析液流量')">
173
           <el-form-item label="透析液流量(ml/min):">
173
           <el-form-item label="透析液流量(ml/min):">
174
             <el-input type="number" v-model="dialysisPrescription.dialysate_flow"></el-input>
174
             <el-input type="number" v-model="dialysisPrescription.dialysate_flow"></el-input>
182
         <el-col :span="8" v-if="isShows('体液过多症状')">
182
         <el-col :span="8" v-if="isShows('体液过多症状')">
183
           <el-form-item label="体液过多症状:">
183
           <el-form-item label="体液过多症状:">
184
             <el-select v-model="dialysisPrescription.body_fluid" placeholder="请选择" style="width:100%;"
184
             <el-select v-model="dialysisPrescription.body_fluid" placeholder="请选择" style="width:100%;"
185
-                       >
185
+            >
186
               <el-option :key="0" label="请选择" :value="0"></el-option>
186
               <el-option :key="0" label="请选择" :value="0"></el-option>
187
 
187
 
188
               <el-option v-for="item in body_fluid_option" :label="item.name" :key="item.id"
188
               <el-option v-for="item in body_fluid_option" :label="item.name" :key="item.id"
192
         </el-col>
192
         </el-col>
193
 
193
 
194
 
194
 
195
-      <!-- </el-row>
195
+        <!-- </el-row>
196
 
196
 
197
 
197
 
198
-      <el-row :gutter="20" > -->
198
+        <el-row :gutter="20" > -->
199
 
199
 
200
         <el-col :span="8" v-if="isShows('体液过多其他症状')">
200
         <el-col :span="8" v-if="isShows('体液过多其他症状')">
201
           <el-form-item label="其他体液过多症状">
201
           <el-form-item label="其他体液过多症状">
217
         </el-col>
217
         </el-col>
218
 
218
 
219
 
219
 
220
-
221
         <el-col :span="8" v-if="isShows('透析前使用其他特殊药物')">
220
         <el-col :span="8" v-if="isShows('透析前使用其他特殊药物')">
222
           <el-form-item label="使用其他特殊药物">
221
           <el-form-item label="使用其他特殊药物">
223
             <el-input v-model="dialysisPrescription.special_medicine_other"></el-input>
222
             <el-input v-model="dialysisPrescription.special_medicine_other"></el-input>
224
           </el-form-item>
223
           </el-form-item>
225
         </el-col>
224
         </el-col>
226
 
225
 
227
-      <!-- </el-row>
226
+        <!-- </el-row>
228
 
227
 
229
-      <el-row :gutter="20" > -->
228
+        <el-row :gutter="20" > -->
230
         <el-col :span="8">
229
         <el-col :span="8">
231
           <el-form-item label="置换液:" v-if="isShows('置换液')">
230
           <el-form-item label="置换液:" v-if="isShows('置换液')">
232
 
231
 
257
           </el-form-item>
256
           </el-form-item>
258
         </el-col>
257
         </el-col>
259
 
258
 
260
-      <!-- </el-row>
261
-      <el-row :gutter="20" > -->
262
-          <el-col :span="8" v-if="isShows('实际超滤量')">
263
-            <el-form-item label="实际超滤量(L)">
264
-              <el-input v-model="dialysisPrescription.ultrafiltration"></el-input>
265
-            </el-form-item>
266
-          </el-col>
259
+        <!-- </el-row>
260
+        <el-row :gutter="20" > -->
261
+        <el-col :span="8" v-if="isShows('实际超滤量')">
262
+          <el-form-item label="实际超滤量(L)">
263
+            <el-input v-model="dialysisPrescription.ultrafiltration"></el-input>
264
+          </el-form-item>
265
+        </el-col>
267
 
266
 
268
 
267
 
269
         <el-col :span="8" v-if="isShows('目标KT/V')">
268
         <el-col :span="8" v-if="isShows('目标KT/V')">
271
             <el-input v-model="dialysisPrescription.target_ktv"></el-input>
270
             <el-input v-model="dialysisPrescription.target_ktv"></el-input>
272
           </el-form-item>
271
           </el-form-item>
273
         </el-col>
272
         </el-col>
273
+
274
+
275
+        <!--&lt;!&ndash;透析耗材&ndash;&gt;-->
276
+        <!--<el-col :span="8" v-if="isShows('血液透析干粉')&&config.is_open == 1">-->
277
+          <!--<el-form-item label="血液透析干粉:">-->
278
+            <!--<el-select v-model="dialysisPrescription.niprocart" placeholder="请选择">-->
279
+              <!--<el-option :key="0" label="请选择" :value="0"></el-option>-->
280
+              <!--<el-option v-for="(option, index) in niprocart_info" :key="index"-->
281
+                         <!--:label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>-->
282
+            <!--</el-select>-->
283
+          <!--</el-form-item>-->
284
+        <!--</el-col>-->
285
+
286
+
287
+        <!--<el-col :span="8" v-if="isShows('一次性使用动静脉穿刺针')&&config.is_open == 1">-->
288
+          <!--<el-form-item label="一次性使用动静脉穿刺针:">-->
289
+            <!--<el-select v-model="dialysisPrescription.jms" placeholder="请选择">-->
290
+              <!--<el-option :key="0" label="请选择" :value="0"></el-option>-->
291
+
292
+              <!--<el-option v-for="(option, index) in jms_info" :key="index"-->
293
+                         <!--:label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>-->
294
+            <!--</el-select>-->
295
+          <!--</el-form-item>-->
296
+        <!--</el-col>-->
297
+
298
+
299
+        <!--<el-col :span="8" v-if="isShows('内瘘管翼状针')&&config.is_open == 1">-->
300
+          <!--<el-form-item label="内瘘管翼状针:">-->
301
+            <!--<el-select v-model="dialysisPrescription.fistula_needle_set" placeholder="请选择">-->
302
+              <!--<el-option :key="0" label="请选择" :value="0"></el-option>-->
303
+
304
+              <!--<el-option v-for="(option, index) in fistula_needle_set_info" :key="index"-->
305
+                         <!--:label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>-->
306
+            <!--</el-select>-->
307
+          <!--</el-form-item>-->
308
+        <!--</el-col>-->
309
+
310
+
311
+        <!--<el-col :span="8" v-if="isShows('内瘘管翼状针16G')&&config.is_open == 1">-->
312
+          <!--<el-form-item label="内瘘管翼状针16G:">-->
313
+            <!--<el-select v-model="dialysisPrescription.fistula_needle_set_16" placeholder="请选择">-->
314
+              <!--<el-option :key="0" label="请选择" :value="0"></el-option>-->
315
+
316
+              <!--<el-option v-for="(option, index) in fistula_needle_set_16_info" :key="index"-->
317
+                         <!--:label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>-->
318
+            <!--</el-select>-->
319
+          <!--</el-form-item>-->
320
+        <!--</el-col>-->
321
+
322
+
323
+        <!--<el-col :span="8" v-if="isShows('一次性使用血液灌流器')&&config.is_open == 1">-->
324
+          <!--<el-form-item label="一次性使用血液灌流器:">-->
325
+            <!--<el-select v-model="dialysisPrescription.hemoperfusion" placeholder="请选择">-->
326
+              <!--<el-option :key="0" label="请选择" :value="0"></el-option>-->
327
+
328
+              <!--<el-option v-for="(option, index) in hemoperfusion_info" :key="index"-->
329
+                         <!--:label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>-->
330
+            <!--</el-select>-->
331
+          <!--</el-form-item>-->
332
+        <!--</el-col>-->
333
+
334
+
335
+        <!--<el-col :span="8" v-if="isShows('空心纤维血液透析器')&&config.is_open == 1">-->
336
+          <!--<el-form-item label="空心纤维血液透析器:">-->
337
+            <!--<el-select v-model="dialysisPrescription.dialyser_sterilised" placeholder="请选择">-->
338
+              <!--<el-option :key="0" label="请选择" :value="0"></el-option>-->
339
+
340
+              <!--<el-option v-for="(option, index) in dialyser_sterilised_info" :key="index"-->
341
+                         <!--:label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>-->
342
+            <!--</el-select>-->
343
+          <!--</el-form-item>-->
344
+        <!--</el-col>-->
345
+
346
+
347
+        <!--<el-col :span="8" v-if="isShows('中空纤维透析器')&&config.is_open == 1">-->
348
+          <!--<el-form-item label="中空纤维透析器:">-->
349
+            <!--<el-select v-model="dialysisPrescription.filtryzer" placeholder="请选择">-->
350
+              <!--<el-option :key="0" label="请选择" :value="0"></el-option>-->
351
+
352
+              <!--<el-option v-for="(option, index) in filtryzer_info" :key="index"-->
353
+                         <!--:label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>-->
354
+            <!--</el-select>-->
355
+          <!--</el-form-item>-->
356
+        <!--</el-col>-->
357
+
358
+
359
+        <!--<el-col :span="8" v-if="isShows('透析器')&&config.is_open == 1">-->
360
+          <!--<el-form-item label="透析器:">-->
361
+            <!--<el-select v-model="dialysisPrescription.dialyzers" placeholder="请选择">-->
362
+              <!--<el-option :key="0" label="请选择" :value="0"></el-option>-->
363
+
364
+              <!--<el-option v-for="(option, index) in dialyzers_info" :key="index"-->
365
+                         <!--:label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>-->
366
+            <!--</el-select>-->
367
+          <!--</el-form-item>-->
368
+        <!--</el-col>-->
369
+
370
+
371
+
372
+        <!--<el-col :span="8" v-if="isShows('注射器')&&config.is_open == 1">-->
373
+          <!--<el-form-item label="注射器:">-->
374
+            <!--<el-select v-model="dialysisPrescription.injector" placeholder="请选择">-->
375
+              <!--<el-option :key="0" label="请选择" :value="0"></el-option>-->
376
+
377
+              <!--<el-option v-for="(option, index) in injector_info" :key="index"-->
378
+                         <!--:label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>-->
379
+            <!--</el-select>-->
380
+          <!--</el-form-item>-->
381
+        <!--</el-col>-->
382
+
383
+
384
+
385
+        <!--<el-col :span="8" v-if="isShows('体外循环血路管')&&config.is_open == 1">-->
386
+          <!--<el-form-item label="体外循环血路管:">-->
387
+            <!--<el-select v-model="dialysisPrescription.bloodlines" placeholder="请选择">-->
388
+              <!--<el-option :key="0" label="请选择" :value="0"></el-option>-->
389
+
390
+              <!--<el-option v-for="(option, index) in bloodlines_info" :key="index"-->
391
+                         <!--:label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>-->
392
+            <!--</el-select>-->
393
+          <!--</el-form-item>-->
394
+        <!--</el-col>-->
395
+
396
+
397
+
398
+        <!--<el-col :span="8" v-if="isShows('血液净化补液管路(置换管)')&&config.is_open == 1">-->
399
+          <!--<el-form-item label="血液净化补液管路(置换管):">-->
400
+            <!--<el-select v-model="dialysisPrescription.tubing_hemodialysis" placeholder="请选择">-->
401
+              <!--<el-option :key="0" label="请选择" :value="0"></el-option>-->
402
+
403
+              <!--<el-option v-for="(option, index) in tubingHemodialysis_info" :key="index"-->
404
+                         <!--:label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>-->
405
+            <!--</el-select>-->
406
+          <!--</el-form-item>-->
407
+        <!--</el-col>-->
408
+
409
+
410
+        <!--<el-col :span="8" v-if="isShows('护理包')&&config.is_open == 1">-->
411
+          <!--<el-form-item label="护理包:">-->
412
+            <!--<el-select v-model="dialysisPrescription.package" placeholder="请选择">-->
413
+              <!--<el-option :key="0" label="请选择" :value="0"></el-option>-->
414
+
415
+              <!--<el-option v-for="(option, index) in safe_package_info" :key="index"-->
416
+                         <!--:label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>-->
417
+            <!--</el-select>-->
418
+          <!--</el-form-item>-->
419
+        <!--</el-col>-->
420
+
421
+
422
+        <!--<el-col :span="8" v-if="isShows('A液')&&config.is_open == 1">-->
423
+          <!--<el-form-item label="A液:">-->
424
+            <!--<el-select v-model="dialysisPrescription.a_liquid" placeholder="请选择">-->
425
+              <!--<el-option :key="0" label="请选择" :value="0"></el-option>-->
426
+
427
+              <!--<el-option v-for="(option, index) in aliquid_info" :key="index"-->
428
+                         <!--:label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>-->
429
+            <!--</el-select>-->
430
+          <!--</el-form-item>-->
431
+        <!--</el-col>-->
432
+
433
+
434
+
435
+
436
+
274
       </el-row>
437
       </el-row>
275
 
438
 
276
 
439
 
297
   import { postPrescription, postSoulution } from '@/api/dialysis'
460
   import { postPrescription, postSoulution } from '@/api/dialysis'
298
   import { getDataConfig } from '@/utils/data'
461
   import { getDataConfig } from '@/utils/data'
299
   import { uParseTime } from '@/utils/tools'
462
   import { uParseTime } from '@/utils/tools'
300
-  import store from "@/store";
463
+  import store from '@/store'
301
 
464
 
302
   export default {
465
   export default {
303
     name: 'dialysisPrescriptionDialog',
466
     name: 'dialysisPrescriptionDialog',
304
     props: {
467
     props: {
305
 
468
 
469
+      niprocart_info: {
470
+        type: Array,
471
+        default: () => {
472
+          return []
473
+        }
474
+      },
475
+
476
+      jms_info: {
477
+        type: Array,
478
+        default: () => {
479
+          return []
480
+        }
481
+      },
482
+
483
+
484
+      fistula_needle_set_info: {
485
+        type: Array,
486
+        default: () => {
487
+          return []
488
+        }
489
+      },
490
+
491
+
492
+      fistula_needle_set_16_info: {
493
+        type: Array,
494
+        default: () => {
495
+          return []
496
+        }
497
+      },
498
+
499
+
500
+      hemoperfusion_info: {
501
+        type: Array,
502
+        default: () => {
503
+          return []
504
+        }
505
+      },
506
+
507
+      dialyser_sterilised_info: {
508
+        type: Array,
509
+        default: () => {
510
+          return []
511
+        }
512
+      },
513
+
514
+      filtryzer_info: {
515
+        type: Array,
516
+        default: () => {
517
+          return []
518
+        }
519
+      },
520
+
521
+      dialyzers_info: {
522
+        type: Array,
523
+        default: () => {
524
+          return []
525
+        }
526
+      },
527
+      injector_info: {
528
+        type: Array,
529
+        default: () => {
530
+          return []
531
+        }
532
+      },
533
+      bloodlines_info: {
534
+        type: Array,
535
+        default: () => {
536
+          return []
537
+        }
538
+      },
539
+      tubingHemodialysis_info: {
540
+        type: Array,
541
+        default: () => {
542
+          return []
543
+        }
544
+      },
545
+      safe_package_info: {
546
+        type: Array,
547
+        default: () => {
548
+          return []
549
+        }
550
+      },
551
+      aliquid_info: {
552
+        type: Array,
553
+        default: () => {
554
+          return []
555
+        }
556
+      },
557
+      config: {
558
+        type: Object,
559
+        default: () => {
560
+          return {id: 0}
561
+        }
562
+      },
563
+
306
       prescription: { // 透析处方
564
       prescription: { // 透析处方
307
         type: Object,
565
         type: Object,
308
         default: () => {
566
         default: () => {
399
           displace_liqui_value: '',
657
           displace_liqui_value: '',
400
           ultrafiltration: '',
658
           ultrafiltration: '',
401
           blood_access: '',
659
           blood_access: '',
660
+
661
+          niprocart:'',
662
+          jms:'',
663
+          fistula_needle_set:'',
664
+          fistula_needle_set_16:'',
665
+          hemoperfusion:'',
666
+          dialyser_sterilised:'',
667
+          filtryzer:'',
402
           target_ktv:'',
668
           target_ktv:'',
669
+          dialyzers:'',
670
+          injector:'',
671
+          bloodlines:'',
672
+          tubing_hemodialysis:'',
673
+          package:'',
674
+          a_liquid:'',
403
         },
675
         },
404
 
676
 
405
         anticoagulant: {
677
         anticoagulant: {
506
             this.hide()
778
             this.hide()
507
           }
779
           }
508
         })
780
         })
509
-      }, isShows(name){
781
+      }, isShows(name) {
510
         var filedList = store.getters.xt_user.fileds
782
         var filedList = store.getters.xt_user.fileds
511
-        for (let i = 0; i < filedList.length; i++){
512
-          if(filedList[i].module == 1 && filedList[i].filed_name_cn == name && filedList[i].is_show == 1){
783
+        for (let i = 0; i < filedList.length; i++) {
784
+          if (filedList[i].module == 1 && filedList[i].filed_name_cn == name && filedList[i].is_show == 1) {
513
             return true
785
             return true
514
           }
786
           }
515
         }
787
         }
516
         return false
788
         return false
517
-      },
789
+      }
518
     },
790
     },
519
     created() {
791
     created() {
520
       this.treatment_mode = this.$store.getters.treatment_mode
792
       this.treatment_mode = this.$store.getters.treatment_mode

+ 59 - 46
src/xt_pages/dialysis/details/dialog/monitor_dialog.vue 查看文件

10
         </div>
10
         </div>
11
         <el-table :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}" ref="table" :data="monitors" border highlight-current-row
11
         <el-table :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}" ref="table" :data="monitors" border highlight-current-row
12
                   @current-change="tableCurrentRowChange" style="width: 100%" :class="current_row_class">
12
                   @current-change="tableCurrentRowChange" style="width: 100%" :class="current_row_class">
13
-          <el-table-column label="时间" align="center" width="144">
13
+          <el-table-column label="监测时间" align="center" width="144" v-if="isShow('监测时间')">
14
             <template slot-scope="scope">
14
             <template slot-scope="scope">
15
               {{ getMonitorDate(scope.row) }}
15
               {{ getMonitorDate(scope.row) }}
16
             </template>
16
             </template>
17
           </el-table-column>
17
           </el-table-column>
18
-          <el-table-column align="center" label="血压(mmhg)" width="110">
18
+          <el-table-column prop="temperature" align="center" width="100" label="体温(℃)" v-if="isShow('体温')">
19
             <template slot-scope="scope">
19
             <template slot-scope="scope">
20
-              {{scope.row.systolic_blood_pressure?scope.row.systolic_blood_pressure:''}}/{{scope.row.diastolic_blood_pressure?scope.row.diastolic_blood_pressure:''}}
20
+              {{scope.row.temperature?scope.row.temperature:''}}
21
             </template>
21
             </template>
22
           </el-table-column>
22
           </el-table-column>
23
-          <el-table-column prop="pulse_frequency" align="center" width="100" label="脉率(次/分)">
23
+          <el-table-column align="center" label="血压(mmhg)" width="110" v-if="isShow('血压')">
24
             <template slot-scope="scope">
24
             <template slot-scope="scope">
25
-              {{scope.row.pulse_frequency?scope.row.pulse_frequency:''}}
25
+              {{scope.row.systolic_blood_pressure?scope.row.systolic_blood_pressure:''}}/{{scope.row.diastolic_blood_pressure?scope.row.diastolic_blood_pressure:''}}
26
             </template>
26
             </template>
27
           </el-table-column>
27
           </el-table-column>
28
-          <el-table-column prop="temperature" align="center" width="100" label="体温(℃)">
28
+
29
+          <el-table-column prop="pulse_frequency" align="center" width="100" label="脉搏(次/分)" v-if="isShow('脉搏')">
29
             <template slot-scope="scope">
30
             <template slot-scope="scope">
30
-              {{scope.row.temperature?scope.row.temperature:''}}
31
+              {{scope.row.pulse_frequency?scope.row.pulse_frequency:''}}
31
             </template>
32
             </template>
32
           </el-table-column>
33
           </el-table-column>
33
-          <el-table-column prop="breathing_rate" align="center" label="呼吸(次/分)" width="100">
34
+
35
+
36
+          <el-table-column prop="breathing_rate" align="center" label="呼吸频率(次/分)" width="100" v-if="isShow('呼吸频率')">
34
             <template slot-scope="scope">
37
             <template slot-scope="scope">
35
               {{scope.row.breathing_rate?scope.row.breathing_rate:''}}
38
               {{scope.row.breathing_rate?scope.row.breathing_rate:''}}
36
             </template>
39
             </template>
37
           </el-table-column>
40
           </el-table-column>
38
-          <el-table-column prop="blood_flow_volume" align="center" label="血流量(ml/min)" width="120">
41
+
42
+          <el-table-column prop="venous_pressure" align="center" label="静脉压/动脉压(mmhg)" width="120" >
39
             <template slot-scope="scope">
43
             <template slot-scope="scope">
40
-              {{scope.row.blood_flow_volume?scope.row.blood_flow_volume:''}}
44
+              <span>{{scope.row.venous_pressure?scope.row.venous_pressure:''}}/ {{scope.row.arterial_pressure?scope.row.arterial_pressure:''}}</span>
41
             </template>
45
             </template>
42
           </el-table-column>
46
           </el-table-column>
43
-          <el-table-column prop="venous_pressure" align="center" label="静脉压/动脉压(mmhg)" width="120">
47
+
48
+          <el-table-column prop="blood_flow_volume" align="center" label="血流量(ml/min)" width="120" v-if="isShow('血流量')">
44
             <template slot-scope="scope">
49
             <template slot-scope="scope">
45
-              <span>{{scope.row.venous_pressure?scope.row.venous_pressure:''}}/ {{scope.row.arterial_pressure?scope.row.arterial_pressure:''}}</span>
50
+              {{scope.row.blood_flow_volume?scope.row.blood_flow_volume:''}}
46
             </template>
51
             </template>
47
           </el-table-column>
52
           </el-table-column>
48
-          <el-table-column prop="transmembrane_pressure" align="center" label="跨膜压(mmhg)" width="120">
53
+
54
+          <el-table-column prop="transmembrane_pressure" align="center" label="跨膜压(mmhg)" width="120" v-if="isShow('跨膜压')">
49
             <template slot-scope="scope">
55
             <template slot-scope="scope">
50
               {{scope.row.transmembrane_pressure?scope.row.transmembrane_pressure:''}}
56
               {{scope.row.transmembrane_pressure?scope.row.transmembrane_pressure:''}}
51
             </template>
57
             </template>
52
           </el-table-column>
58
           </el-table-column>
53
-          <el-table-column prop="ultrafiltration_volume" align="center" label="超滤量(L)" width="110">
59
+
60
+
61
+
62
+          <el-table-column prop="ultrafiltration_volume" align="center" label="超滤量(L)" width="110" v-if="isShow('超滤量')">
54
             <template slot-scope="scope">
63
             <template slot-scope="scope">
55
               {{scope.row.ultrafiltration_volume?scope.row.ultrafiltration_volume:''}}
64
               {{scope.row.ultrafiltration_volume?scope.row.ultrafiltration_volume:''}}
56
             </template>
65
             </template>
57
           </el-table-column>
66
           </el-table-column>
58
-          <el-table-column prop="sodium_concentration" align="center" label="钠浓度(mmol/L)" width="126">
67
+          <el-table-column prop="sodium_concentration" align="center" label="钠浓度(mmol/L)" width="126" v-if="isShow('钠浓度')">
59
             <template slot-scope="scope">
68
             <template slot-scope="scope">
60
               {{scope.row.sodium_concentration?scope.row.sodium_concentration:''}}
69
               {{scope.row.sodium_concentration?scope.row.sodium_concentration:''}}
61
             </template>
70
             </template>
62
           </el-table-column>
71
           </el-table-column>
63
-          <el-table-column prop="dialysate_temperature" align="center" label="透析液温度(℃)" width="120">
72
+          <el-table-column prop="dialysate_temperature" align="center" label="透析液温度(℃)" width="120" v-if="isShow('透析液温度')">
64
             <template slot-scope="scope">
73
             <template slot-scope="scope">
65
               {{scope.row.dialysate_temperature?scope.row.dialysate_temperature:''}}
74
               {{scope.row.dialysate_temperature?scope.row.dialysate_temperature:''}}
66
             </template>
75
             </template>
67
           </el-table-column>
76
           </el-table-column>
68
-          <el-table-column prop="replacement_rate" align="center" label="置换率(L/h)" width="120">
77
+          <el-table-column prop="replacement_rate" align="center" label="置换率(L/h)" width="120" v-if="isShow('置换率')">
69
             <template slot-scope="scope">
78
             <template slot-scope="scope">
70
               {{scope.row.replacement_rate?scope.row.replacement_rate:''}}
79
               {{scope.row.replacement_rate?scope.row.replacement_rate:''}}
71
             </template>
80
             </template>
72
           </el-table-column>
81
           </el-table-column>
73
-          <el-table-column prop="displacement_quantity" align="center" label="置换量(L)" width="100">
82
+          <el-table-column prop="displacement_quantity" align="center" label="置换量(L)" width="100" v-if="isShow('置换量')">
74
             <template slot-scope="scope">
83
             <template slot-scope="scope">
75
               {{scope.row.displacement_quantity?scope.row.displacement_quantity:''}}
84
               {{scope.row.displacement_quantity?scope.row.displacement_quantity:''}}
76
             </template>
85
             </template>
77
           </el-table-column>
86
           </el-table-column>
78
-          <el-table-column prop="displacement_flow_quantity" align="center" label="电导度(mS/m)" width="100">
87
+          <el-table-column prop="displacement_flow_quantity" align="center" label="电导度(mS/m)" width="100" v-if="isShow('电导度')">
79
             <template slot-scope="scope">
88
             <template slot-scope="scope">
80
-              {{scope.row.displacement_flow_quantity?scope.row.displacement_flow_quantity:''}}
89
+              {{scope.row.conductivity?scope.row.conductivity:''}}
81
             </template>
90
             </template>
82
           </el-table-column>
91
           </el-table-column>
83
-          <el-table-column prop="displacement_flow_quantity" align="center" label="置换液流量(ml/h)" width="100">
92
+          <el-table-column prop="displacement_flow_quantity" align="center" label="置换液流量(ml/h)" width="100" v-if="isShow('置换液流量')">
84
             <template slot-scope="scope">
93
             <template slot-scope="scope">
85
               {{scope.row.displacement_flow_quantity?scope.row.displacement_flow_quantity:''}}
94
               {{scope.row.displacement_flow_quantity?scope.row.displacement_flow_quantity:''}}
86
             </template>
95
             </template>
87
           </el-table-column>
96
           </el-table-column>
88
-          <el-table-column prop="symptom" align="center" label="病情变化" width="130">
97
+          <el-table-column prop="symptom" align="center" label="病情变化" width="130" v-if="isShow('病情变化')">
89
           </el-table-column>
98
           </el-table-column>
90
-          <el-table-column prop="dispose" align="center" label="处理" width="130">
99
+          <el-table-column prop="dispose" align="center" label="处理" width="130" v-if="isShow('处理')">
91
           </el-table-column>
100
           </el-table-column>
92
-          <el-table-column prop="result" align="center" label="结果" width="130">
101
+          <el-table-column prop="result" align="center" label="结果" width="130" v-if="isShow('结果')">
93
           </el-table-column>
102
           </el-table-column>
94
         </el-table>
103
         </el-table>
95
       </div>
104
       </div>
106
                                 format="yyyy-MM-dd HH:mm" value-format="timestamp"></el-date-picker>
115
                                 format="yyyy-MM-dd HH:mm" value-format="timestamp"></el-date-picker>
107
               </el-form-item>
116
               </el-form-item>
108
             </el-col>
117
             </el-col>
118
+            <el-col :span="8" v-if="isShow('体温')" >
119
+              <el-form-item label="体温(℃):" >
120
+                <el-input v-model="form.temperature"></el-input>
121
+              </el-form-item>
122
+            </el-col>
123
+
109
             <el-col :span="8" v-if="isShow('收缩压')">
124
             <el-col :span="8" v-if="isShow('收缩压')">
110
               <el-form-item label="收缩压(mmhg):">
125
               <el-form-item label="收缩压(mmhg):">
111
                 <el-input v-model="form.systolic_bp"></el-input>
126
                 <el-input v-model="form.systolic_bp"></el-input>
122
                 <el-input v-model="form.pulse_frequency"></el-input>
137
                 <el-input v-model="form.pulse_frequency"></el-input>
123
               </el-form-item>
138
               </el-form-item>
124
             </el-col>
139
             </el-col>
125
-          <!-- </el-row>
126
-
127
-          <el-row :gutter="20"> -->
128
-
129
-            <el-col :span="8" v-if="isShow('体温')" >
130
-              <el-form-item label="体温(℃):" >
131
-                <el-input v-model="form.temperature"></el-input>
132
-              </el-form-item>
133
-            </el-col>
134
-
135
             <el-col :span="8" v-if="isShow('呼吸频率')">
140
             <el-col :span="8" v-if="isShow('呼吸频率')">
136
               <el-form-item label="呼吸频率(次/分):">
141
               <el-form-item label="呼吸频率(次/分):">
137
                 <el-input v-model="form.breathing_rated"></el-input>
142
                 <el-input v-model="form.breathing_rated"></el-input>
138
               </el-form-item>
143
               </el-form-item>
139
             </el-col>
144
             </el-col>
145
+            <el-col :span="8"  v-if="isShow('静脉压')">
146
+              <el-form-item label="静脉压(mmHg):">
147
+                <el-input v-model="form.venous_pressure"></el-input>
148
+              </el-form-item>
149
+            </el-col>
150
+            <el-col :span="8" v-if="isShow('动脉压')">
151
+              <el-form-item label="动脉压(mmHg):">
152
+                <el-input v-model="form.arterial_pressure"></el-input>
153
+              </el-form-item>
154
+            </el-col>
155
+
140
             <el-col :span="8" v-if="isShow('血流量')">
156
             <el-col :span="8" v-if="isShow('血流量')">
141
               <el-form-item label="血流量(ml/min):">
157
               <el-form-item label="血流量(ml/min):">
142
                 <el-input v-model="form.blood_flow_volume"></el-input>
158
                 <el-input v-model="form.blood_flow_volume"></el-input>
145
           <!-- </el-row>
161
           <!-- </el-row>
146
 
162
 
147
           <el-row :gutter="20"> -->
163
           <el-row :gutter="20"> -->
148
-            <el-col :span="8"  v-if="isShow('静脉压')">
149
-              <el-form-item label="静脉压(mmHg):">
150
-                <el-input v-model="form.venous_pressure"></el-input>
151
-              </el-form-item>
152
-            </el-col>
164
+
165
+
166
+
167
+
168
+          <!-- </el-row>
169
+
170
+          <el-row :gutter="20"> -->
171
+
153
             <el-col :span="8" v-if="isShow('跨膜压')">
172
             <el-col :span="8" v-if="isShow('跨膜压')">
154
               <el-form-item label="跨膜压(mmHg):">
173
               <el-form-item label="跨膜压(mmHg):">
155
                 <el-input v-model="form.transmembrane_pressure"></el-input>
174
                 <el-input v-model="form.transmembrane_pressure"></el-input>
156
               </el-form-item>
175
               </el-form-item>
157
             </el-col>
176
             </el-col>
158
-            <el-col :span="8" v-if="isShow('动脉压')">
159
-              <el-form-item label="动脉压(mmHg):">
160
-                <el-input v-model="form.arterial_pressure"></el-input>
161
-              </el-form-item>
162
-            </el-col>
163
 
177
 
164
-          <!-- </el-row>
165
 
178
 
166
-          <el-row :gutter="20"> -->
179
+
167
             <el-col :span="8" v-if="isShow('超滤率')">
180
             <el-col :span="8" v-if="isShow('超滤率')">
168
               <el-form-item label="超滤率(ml/h)">
181
               <el-form-item label="超滤率(ml/h)">
169
                 <el-input v-model="form.ultrafiltration_rate"></el-input>
182
                 <el-input v-model="form.ultrafiltration_rate"></el-input>

+ 0 - 1
src/xt_pages/dialysis/details/dialysisMonitoring.vue 查看文件

19
         <th v-if="isShow('置换量')" width="92px">置换量(L)</th>
19
         <th v-if="isShow('置换量')" width="92px">置换量(L)</th>
20
         <th v-if="isShow('电导度')" width="92px">电导度(mS/m)</th>
20
         <th v-if="isShow('电导度')" width="92px">电导度(mS/m)</th>
21
         <th v-if="isShow('置换液流量')"  width="92px">置换液流量(ml/h)</th>
21
         <th v-if="isShow('置换液流量')"  width="92px">置换液流量(ml/h)</th>
22
-
23
         <th v-if="isShow('病情变化')" width="92px">病情变化</th>
22
         <th v-if="isShow('病情变化')" width="92px">病情变化</th>
24
         <th v-if="isShow('处理')"  width="92px">处理</th>
23
         <th v-if="isShow('处理')"  width="92px">处理</th>
25
         <th v-if="isShow('结果')" width="92px">结果</th>
24
         <th v-if="isShow('结果')" width="92px">结果</th>

+ 72 - 3
src/xt_pages/dialysis/details/index.vue 查看文件

28
         :device_numbers="device_numbers"
28
         :device_numbers="device_numbers"
29
         :admin_user_map="admin_user_map"
29
         :admin_user_map="admin_user_map"
30
         :device_map="device_map"
30
         :device_map="device_map"
31
-        :device_number_map="device_number_map">
31
+        :device_number_map="device_number_map"
32
+        :niprocart_info="niprocart_info"
33
+        :jms_info="jms_info"
34
+        :fistula_needle_set_info="fistula_needle_set_info"
35
+        :fistula_needle_set_16_info="fistula_needle_set_16_info"
36
+        :hemoperfusion_info="hemoperfusion_info"
37
+        :dialyser_sterilised_info="dialyser_sterilised_info"
38
+        :filtryzer_info="filtryzer_info"
39
+        :dialyzers_info="dialyzers_info"
40
+        :injector_info="injector_info"
41
+        :bloodlines_info="bloodlines_info"
42
+        :tubingHemodialysis_info="tubingHemodialysis_info"
43
+        :safe_package_info="safe_package_info"
44
+        :aliquid_info="aliquid_info"
45
+        :config = "config"
46
+
47
+
48
+
49
+      >
32
       </nav-igation>
50
       </nav-igation>
33
 
51
 
34
       <basic-infor :patient="patient" :device_number="schedual.id == 0 ? '' : schedual.device_number.number"
52
       <basic-infor :patient="patient" :device_number="schedual.id == 0 ? '' : schedual.device_number.number"
285
 
303
 
286
         admin_user_map: {}, // {user_id: admin_user object}
304
         admin_user_map: {}, // {user_id: admin_user object}
287
         device_map: {}, // {device_id: device}
305
         device_map: {}, // {device_id: device}
288
-        device_number_map: {} // {device_number_id: device_number}
306
+        device_number_map: {}, // {device_number_id: device_number}
307
+
308
+        niprocart_info:[],
309
+        jms_info:[],
310
+        fistula_needle_set_info:[],
311
+        fistula_needle_set_16_info:[],
312
+        hemoperfusion_info:[],
313
+        dialyser_sterilised_info:[],
314
+        filtryzer_info:[],
315
+        dialyzers_info:[],
316
+        injector_info:[],
317
+        bloodlines_info:[],
318
+        tubingHemodialysis_info:[],
319
+        safe_package_info:[],
320
+        aliquid_info:[],
321
+        config:{},
289
       }
322
       }
290
     },
323
     },
291
     created() {
324
     created() {
331
         var mrl = this.monitor_records.length
364
         var mrl = this.monitor_records.length
332
         for (let index = 0; index < mrl; index++) {
365
         for (let index = 0; index < mrl; index++) {
333
           if (this.monitor_records[index].id == record_id) {
366
           if (this.monitor_records[index].id == record_id) {
334
-            console.log('11111')
367
+
335
             this.monitor_records.splice(index, 1)
368
             this.monitor_records.splice(index, 1)
336
             break
369
             break
337
           }
370
           }
356
             var monitor_records = resp.data.monitor_records // 透析监测
389
             var monitor_records = resp.data.monitor_records // 透析监测
357
             var dialysis_order = resp.data.dialysis_order // 透析记录
390
             var dialysis_order = resp.data.dialysis_order // 透析记录
358
 
391
 
392
+
393
+            var niprocart_info = resp.data.niprocart_info
394
+            var jms_info = resp.data.jms_info
395
+            var fistula_needle_set_info = resp.data.fistula_needle_set_info
396
+            var fistula_needle_set_16_info = resp.data.fistula_needle_set_16_info
397
+            var hemoperfusion_info = resp.data.hemoperfusion_info
398
+            var dialyser_sterilised_info = resp.data.dialyser_sterilised_info
399
+            var filtryzer_info = resp.data.filtryzer_info
400
+            var dialyzers_info = resp.data.dialyzers_info
401
+            var injector_info = resp.data.injector_info
402
+            var bloodlines_info = resp.data.bloodlines_info
403
+            var tubingHemodialysis_info = resp.data.tubingHemodialysis_info
404
+            var safe_package_info = resp.data.safe_package_info
405
+            var aliquid_info = resp.data.aliquid_info
406
+
407
+            var config = resp.data.config
408
+
409
+
410
+
411
+            this.niprocart_info = niprocart_info
412
+            this.jms_info = jms_info
413
+            this.fistula_needle_set_info = fistula_needle_set_info
414
+            this.fistula_needle_set_16_info = fistula_needle_set_16_info
415
+            this.hemoperfusion_info = hemoperfusion_info
416
+            this.dialyser_sterilised_info = dialyser_sterilised_info
417
+            this.filtryzer_info = filtryzer_info
418
+            this.dialyzers_info = dialyzers_info
419
+            this.injector_info = injector_info
420
+            this.bloodlines_info = bloodlines_info
421
+            this.tubingHemodialysis_info = tubingHemodialysis_info
422
+            this.safe_package_info = safe_package_info
423
+            this.aliquid_info = aliquid_info
424
+            this.config = config
425
+
426
+
427
+
359
             this.patient = patient
428
             this.patient = patient
360
             this.schedual = schedual == null ? { id: 0 } : schedual
429
             this.schedual = schedual == null ? { id: 0 } : schedual
361
             this.prescription = prescription == null ? { id: 0 } : prescription
430
             this.prescription = prescription == null ? { id: 0 } : prescription

+ 429 - 434
src/xt_pages/home/modifyOrgInfoDialog.vue 查看文件

11
                 <el-form-item label="机构介绍:" prop="org_introduction">
11
                 <el-form-item label="机构介绍:" prop="org_introduction">
12
                     <!-- <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4}" placeholder="机构介绍" v-model="form.org_introduction">  </el-input> -->
12
                     <!-- <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4}" placeholder="机构介绍" v-model="form.org_introduction">  </el-input> -->
13
                     <keep-alive>
13
                     <keep-alive>
14
-                    <neditor ref="neditor" 
15
-                        id="editor" 
14
+                    <neditor ref="neditor"
15
+                        id="editor"
16
                         v-bind:r_content="form.org_introduction">
16
                         v-bind:r_content="form.org_introduction">
17
                     </neditor>
17
                     </neditor>
18
                 </keep-alive>
18
                 </keep-alive>
28
                         :on-error="handleAvatarError"
28
                         :on-error="handleAvatarError"
29
                         :on-success="handleAvatarSuccess"
29
                         :on-success="handleAvatarSuccess"
30
                         :before-upload="beforeAvatarUpload">
30
                         :before-upload="beforeAvatarUpload">
31
-                        <img v-if="form.org_logo" :src="form.org_logo" class="avatar">
31
+                        <img v-if="imageUrl" :src="imageUrl" class="avatar">
32
                         <i v-else class="el-icon-plus avatar-uploader-icon"></i>
32
                         <i v-else class="el-icon-plus avatar-uploader-icon"></i>
33
                     </el-upload>
33
                     </el-upload>
34
                 </el-form-item>
34
                 </el-form-item>
88
                     </el-radio-group>
88
                     </el-radio-group>
89
                 </el-form-item>
89
                 </el-form-item>
90
                 <el-form-item label="营业时间:" prop="business_time">
90
                 <el-form-item label="营业时间:" prop="business_time">
91
-                    <el-input v-model="form.business_week" placeholder="营业时间" style="width:48%"></el-input> 
91
+                    <el-input v-model="form.business_week" placeholder="营业时间" style="width:48%"></el-input>
92
                     <el-input v-model="form.business_time" placeholder="营业时间" style="width:48%"></el-input>
92
                     <el-input v-model="form.business_time" placeholder="营业时间" style="width:48%"></el-input>
93
                 </el-form-item>
93
                 </el-form-item>
94
                 <el-form-item label="" prop="business_time">
94
                 <el-form-item label="" prop="business_time">
96
                         <el-checkbox v-for="(item, index) in weekOptions" :label="item" :key="index" :value="item" >{{item}}</el-checkbox>
96
                         <el-checkbox v-for="(item, index) in weekOptions" :label="item" :key="index" :value="item" >{{item}}</el-checkbox>
97
                     </el-checkbox-group>
97
                     </el-checkbox-group>
98
                 </el-form-item>
98
                 </el-form-item>
99
-                
99
+
100
                 <el-form-item label="上午:" prop="business_time">
100
                 <el-form-item label="上午:" prop="business_time">
101
                     <el-radio-group v-model="form.business_time_shange" @change="handleChangeTime">
101
                     <el-radio-group v-model="form.business_time_shange" @change="handleChangeTime">
102
                         <el-radio v-for="(item, index)  in shangOptions" :key="index" :label="item" :value="item" >{{item}}</el-radio>
102
                         <el-radio v-for="(item, index)  in shangOptions" :key="index" :label="item" :value="item" >{{item}}</el-radio>
103
                     </el-radio-group>
103
                     </el-radio-group>
104
                 </el-form-item>
104
                 </el-form-item>
105
-                
105
+
106
                 <el-form-item label="下午:" prop="business_time_xia">
106
                 <el-form-item label="下午:" prop="business_time_xia">
107
                     <el-radio-group v-model="form.business_time_xia" @change="handleChangeTime">
107
                     <el-radio-group v-model="form.business_time_xia" @change="handleChangeTime">
108
                         <el-radio v-for="(item, index)  in xiaOptions" :key="index" :label="item" :value="item" >{{item}}</el-radio>
108
                         <el-radio v-for="(item, index)  in xiaOptions" :key="index" :label="item" :value="item" >{{item}}</el-radio>
141
 </template>
141
 </template>
142
 <script>
142
 <script>
143
 import { getToken } from '@/api/qiniu'
143
 import { getToken } from '@/api/qiniu'
144
-import {GetOrgInfo,SaveOrgGallery,DeleteOrgGallery,EditOrgInfo} from '@/api/org/orginfo';
145
-import {GetDistrictsByUpid} from '@/api/district';
146
-import { getFileExtension} from '@/utils/tools'
144
+import { GetOrgInfo, SaveOrgGallery, DeleteOrgGallery, EditOrgInfo } from '@/api/org/orginfo'
145
+import { GetDistrictsByUpid } from '@/api/district'
146
+import { getFileExtension } from '@/utils/tools'
147
 import Neditor from '@/components/Neditor'
147
 import Neditor from '@/components/Neditor'
148
 export default {
148
 export default {
149
-    name: "ModifyOrgInfoDialog",
150
-    components:{
151
-        Neditor,
149
+  name: 'ModifyOrgInfoDialog',
150
+  components: {
151
+    Neditor
152
+  },
153
+  data() {
154
+    return {
155
+      qiniuDomain: 'https://images.shengws.com/',
156
+      visible: false,
157
+      formloading: false,
158
+      uploading: false,
159
+      guploading: false,
160
+      formsubmit: false,
161
+      loadingText: '',
162
+      illnessList: [],
163
+      fileList: [],
164
+      provinces: [],
165
+      citys: [],
166
+      districts: [],
167
+      orgtypes: [],
168
+      orgtypesMap: {},
169
+      childtypes: [],
170
+      uploadData: { token: '', key: '' },
171
+      operatingStateOptions: [{ value: 1, label: '正常营业' }, { value: 2, label: '暂未营业' }],
172
+      weekOptions: ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期天'],
173
+      shangOptions: ['1:00', '2:00', '3:00', '4:00', '5:00', '6:00', '7:00', '8:00', '9:00', '10:00', '11:00', '12:00'],
174
+      xiaOptions: ['13:00', '14:00', '15:00', '16:00', '17:00', '18:00', '19:00', '20:00', '21:00', '22:00', '23:00', '24:00'],
175
+      illnessOptions: [],
176
+      form: {
177
+        org_name: '',
178
+        org_short_name: '',
179
+        org_introduction: '',
180
+        org_logo: '',
181
+        province: '',
182
+        city: '',
183
+        district: '',
184
+        address: '',
185
+        parent_type: '',
186
+        child_type: '',
187
+        org_type: '',
188
+        telephone: '',
189
+        operating_state: '',
190
+        business_week: '',
191
+        business_week_select: [],
192
+        business_time_shange: '',
193
+        business_time_xia: '',
194
+        business_time: '',
195
+        illness: '',
196
+        illness_list: [],
197
+        org_gallery: []
198
+      },
199
+      myConfig: {
200
+        // 如果需要上传功能,找后端小伙伴要服务器接口地址
201
+        serverUrl: '/api/web/upload/ueditor',
202
+        // 你的UEditor资源存放的路径,相对于打包后的index.html
203
+        UEDITOR_HOME_URL: '/NEditor/',
204
+        // 编辑器不自动被内容撑高
205
+        autoHeightEnabled: false,
206
+        // 初始容器高度
207
+        initialFrameHeight: 240,
208
+        // 初始容器宽度
209
+        initialFrameWidth: '100%',
210
+        // 关闭自动保存
211
+        enableAutoSave: false
212
+      },
213
+      dialogImageUrl: '',
214
+      dialogVisible: false
215
+    }
216
+  },
217
+  created() {
218
+  },
219
+  methods: {
220
+    _close: function(done) {
221
+      this.clear()
222
+      done()
152
     },
223
     },
153
-    data(){
154
-        return {
155
-            qiniuDomain: 'https://images.shengws.com/',
156
-            visible:false,
157
-            formloading:false,
158
-            uploading:false,
159
-            guploading:false,
160
-            formsubmit:false,
161
-            loadingText:'',
162
-            illnessList:[],
163
-            fileList:[],
164
-            provinces:[],
165
-            citys:[],
166
-            districts:[],
167
-            orgtypes:[],
168
-            orgtypesMap:{},
169
-            childtypes:[],
170
-            uploadData: { token: '', key: '' },
171
-            operatingStateOptions: [{ value: 1, label: '正常营业' }, { value: 2, label: '暂未营业' }],
172
-            weekOptions:["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期天"],
173
-            shangOptions:['1:00','2:00','3:00','4:00','5:00','6:00','7:00','8:00','9:00','10:00','11:00','12:00'],
174
-            xiaOptions:['13:00','14:00','15:00','16:00','17:00','18:00','19:00','20:00','21:00','22:00','23:00','24:00'],
175
-            illnessOptions:[],
176
-            form:{
177
-                org_name:'',
178
-                org_short_name:'',
179
-                org_introduction:'',
180
-                org_logo:'',
181
-                province:'',
182
-                city:'',
183
-                district:'',
184
-                address:'',
185
-                parent_type:'',
186
-                child_type:'',
187
-                org_type:'',
188
-                telephone:'',
189
-                operating_state:'',
190
-                business_week:'',
191
-                business_week_select:[],
192
-                business_time_shange:'',
193
-                business_time_xia:'',
194
-                business_time:'',
195
-                illness:'',
196
-                illness_list:[],
197
-                org_gallery:[],
198
-            },
199
-             myConfig: {
200
-                // 如果需要上传功能,找后端小伙伴要服务器接口地址
201
-                serverUrl: '/api/web/upload/ueditor',
202
-                // 你的UEditor资源存放的路径,相对于打包后的index.html
203
-                UEDITOR_HOME_URL: '/NEditor/',
204
-                // 编辑器不自动被内容撑高
205
-                autoHeightEnabled: false,
206
-                // 初始容器高度
207
-                initialFrameHeight: 240,
208
-                // 初始容器宽度
209
-                initialFrameWidth: '100%',
210
-                // 关闭自动保存
211
-                enableAutoSave: false
212
-            },
213
-            dialogImageUrl: '',
214
-            dialogVisible: false
215
-        }
216
-
224
+    clear: function() {
225
+      this.form = {
226
+        org_name: '',
227
+        org_short_name: '',
228
+        org_introduction: '',
229
+        org_logo: '',
230
+        province: '',
231
+        city: '',
232
+        district: '',
233
+        address: '',
234
+        parent_type: '',
235
+        child_type: '',
236
+        org_type: '',
237
+        telephone: '',
238
+        operating_state: '',
239
+        business_week: '',
240
+        business_week_select: [],
241
+        business_time_shange: '',
242
+        business_time_xia: '',
243
+        business_time: '',
244
+        illness: '',
245
+        illness_list: [],
246
+        org_gallery: []
247
+      }
217
     },
248
     },
218
-    created(){
249
+    show() {
250
+      this.clear()
251
+      this.visible = true
252
+      this.GetOrgInfo()
219
     },
253
     },
220
-    methods:{
221
-        _close: function(done) {
222
-            this.clear()
223
-            done()
224
-        },
225
-        clear: function() {
226
-            this.form = {
227
-                org_name:'',
228
-                org_short_name:'',
229
-                org_introduction:'',
230
-                org_logo:'',
231
-                province:'',
232
-                city:'',
233
-                district:'',
234
-                address:'',
235
-                parent_type:'',
236
-                child_type:'',
237
-                org_type:'',
238
-                telephone:'',
239
-                operating_state:'',
240
-                business_week:'',
241
-                business_week_select:[],
242
-                business_time_shange:'',
243
-                business_time_xia:'',
244
-                business_time:'',
245
-                illness:'',
246
-                illness_list:[],
247
-                org_gallery:[],
248
-            };
249
-        },
250
-        show() {
251
-            this.clear()
252
-            this.visible = true
253
-            this.GetOrgInfo();
254
-        },
255
-        hide() {
256
-            this.clear()
257
-            this.visible = false
258
-        },
259
-        handleChangeIllness(values){
260
-            this.form.illness = values.join(',');
261
-        },
262
-        handleChangeWeek(values) {
263
-            var selectweek = [];
264
-            for (const index in values) {
265
-                var item = {id:this.weekOptions.indexOf(values[index]), name:values[index]};
266
-                selectweek.push(item);
267
-            }
268
-            
269
-            if(selectweek.length==0) {
270
-                this.form.business_week = '';
271
-            }else if(selectweek.length==1) {
272
-                this.form.business_week = selectweek[0];
273
-            }else {
274
-                selectweek = selectweek.sort(function (a,b) {
275
-                    return a.id-b.id;
276
-                });
277
-                var blen = selectweek.length;
278
-                if (blen == (selectweek[blen-1].id - selectweek[0].id + 1)) {
279
-                    this.form.business_week = selectweek[0]["name"] + ' — ' + selectweek[blen-1]["name"];
280
-                }else {
281
-                    var tem = [];
282
-                    for (const index in selectweek) {
283
-                        tem.push(selectweek[index].name);
284
-                    }
285
-                    this.form.business_week = tem.join("、")
286
-                }
287
-               
288
-            }
289
-        },
290
-        handleChangeTime(t){
291
-            if(this.form.business_time_shange.length>0 && this.form.business_time_xia.length>0) {
292
-                this.form.business_time = '上午'+this.form.business_time_shange+"—下午"+this.form.business_time_xia;
293
-            }else if (this.form.business_time_shange.length>0) {
294
-                this.form.business_time = '上午'+this.form.business_time_shange;
295
-            }else if (this.form.business_time_xia.length>0) {
296
-                this.form.business_time = "下午"+this.form.business_time_xia;
297
-            }else {
298
-                this.form.business_time = '';
299
-            }
300
-        },
301
-        handleAvatarError(err, file, fileList) {
302
-            this.$message.error(err);
303
-            this.uploading = false;
304
-            return false
305
-        },
306
-        handleAvatarSuccess(res, file) {
307
-            this.form.org_logo = this.qiniuDomain + res.url;
308
-            this.uploading = false;
309
-        },
310
-        beforeAvatarUpload(file) {
311
-            var fileType = file.type
312
-            const isJPG = fileType.indexOf('image') > -1
313
-            const isLt2M = file.size / 1024 / 1024 < 2
314
-
315
-            if (!isJPG) {
316
-                this.$message.error('只能上传图片')
317
-                return false
318
-            }
319
-            if (!isLt2M) {
320
-                this.$message.error('上传头像图片大小不能超过 2MB!')
321
-                return false
322
-            }
254
+    hide() {
255
+      this.clear()
256
+      this.visible = false
257
+    },
258
+    handleChangeIllness(values) {
259
+      this.form.illness = values.join(',')
260
+    },
261
+    handleChangeWeek(values) {
262
+      var selectweek = []
263
+      for (const index in values) {
264
+        var item = { id: this.weekOptions.indexOf(values[index]), name: values[index] }
265
+        selectweek.push(item)
266
+      }
323
 
267
 
324
-            var date = new Date()
325
-            var ext = getFileExtension(file.name)
326
-            var key = date.getFullYear() + (date.getMonth() + 1) + date.getDate() + date.getHours()  + date.getMinutes()  + date.getSeconds()  +'_o_' + file.uid + '.' + ext;
327
-            this.uploading = true;
328
-            this.loadingText = '机构头像上传中'
268
+      if (selectweek.length == 0) {
269
+        this.form.business_week = ''
270
+      } else if (selectweek.length == 1) {
271
+        this.form.business_week = selectweek[0]
272
+      } else {
273
+        selectweek = selectweek.sort(function(a, b) {
274
+          return a.id - b.id
275
+        })
276
+        var blen = selectweek.length
277
+        if (blen == (selectweek[blen - 1].id - selectweek[0].id + 1)) {
278
+          this.form.business_week = selectweek[0]['name'] + ' — ' + selectweek[blen - 1]['name']
279
+        } else {
280
+          var tem = []
281
+          for (const index in selectweek) {
282
+            tem.push(selectweek[index].name)
283
+          }
284
+          this.form.business_week = tem.join('、')
285
+        }
286
+      }
287
+    },
288
+    handleChangeTime(t) {
289
+      if (this.form.business_time_shange.length > 0 && this.form.business_time_xia.length > 0) {
290
+        this.form.business_time = '上午' + this.form.business_time_shange + '—下午' + this.form.business_time_xia
291
+      } else if (this.form.business_time_shange.length > 0) {
292
+        this.form.business_time = '上午' + this.form.business_time_shange
293
+      } else if (this.form.business_time_xia.length > 0) {
294
+        this.form.business_time = '下午' + this.form.business_time_xia
295
+      } else {
296
+        this.form.business_time = ''
297
+      }
298
+    },
299
+    handleAvatarError(err, file, fileList) {
300
+      this.$message.error(err)
301
+      this.uploading = false
302
+      return false
303
+    },
304
+    handleAvatarSuccess(res, file) {
305
+      this.form.org_logo = this.qiniuDomain + res.url
306
+      this.uploading = false
307
+    },
308
+    beforeAvatarUpload(file) {
309
+      var fileType = file.type
310
+      const isJPG = fileType.indexOf('image') > -1
311
+      const isLt2M = file.size / 1024 / 1024 < 2
329
 
312
 
330
-            const _self = this
331
-            return new Promise((resolve, reject) => {
332
-                getToken().then(response => {
333
-                    const token = response.data.data.uptoken
334
-                    _self._data.uploadData.token = token
335
-                    _self._data.uploadData.key = key
336
-                    resolve(true)
337
-                }).catch(err => {
338
-                    reject(false)
339
-                    this.uploading = false;
340
-                })
341
-            })
342
-        },
343
-        handleGalleryError(err, file, fileList) {
344
-            this.$message.error(err);
345
-            this.guploading = false;
346
-            return false
347
-        },
348
-        handleGallerySuccess(res, file) {
349
-            var data = {type:1, url: this.qiniuDomain + res.url};
350
-            SaveOrgGallery(data).then(response=>{
351
-                var res = response.data;
352
-                if (res.state==1) {
353
-                    this.$message.success('上传成功');
354
-                }else {
355
-                    this.$message.error('上传失败');
356
-                }
357
-            }).catch(e=>{});
358
-            this.guploading = false;
359
-        },
360
-        beforeGalleryUpload(file) {
361
-            var fileType = file.type
362
-            const isJPG = fileType.indexOf('image') > -1
363
-            const isLt100M = file.size / 1024 / 1024 < 100
313
+      if (!isJPG) {
314
+        this.$message.error('只能上传图片')
315
+        return false
316
+      }
317
+      if (!isLt2M) {
318
+        this.$message.error('上传头像图片大小不能超过 2MB!')
319
+        return false
320
+      }
364
 
321
 
365
-            if (!isJPG) {
366
-                this.$message.error('只能上传图片')
367
-                return false
368
-            }
369
-            if (!isLt100M) {
370
-                this.$message.error('上传图片大小不能超过 100MB!')
371
-                return false
372
-            }
322
+      var date = new Date()
323
+      var ext = getFileExtension(file.name)
324
+      var key = date.getFullYear() + (date.getMonth() + 1) + date.getDate() + date.getHours() + date.getMinutes() + date.getSeconds() + '_o_' + file.uid + '.' + ext
325
+      this.uploading = true
326
+      this.loadingText = '机构头像上传中'
373
 
327
 
374
-            var date = new Date()
375
-            var ext = getFileExtension(file.name)
376
-            var key = date.getFullYear() + (date.getMonth() + 1) + date.getDate() + date.getHours()  + date.getMinutes()  + date.getSeconds()  +'_g_' + file.uid + '.' + ext;
377
-            this.guploading = true;
378
-            this.loadingText = '机构图册上传中'
328
+      const _self = this
329
+      return new Promise((resolve, reject) => {
330
+        getToken().then(response => {
331
+          const token = response.data.data.uptoken
332
+          _self._data.uploadData.token = token
333
+          _self._data.uploadData.key = key
334
+          resolve(true)
335
+        }).catch(err => {
336
+          reject(false)
337
+          this.uploading = false
338
+        })
339
+      })
340
+    },
341
+    handleGalleryError(err, file, fileList) {
342
+      this.$message.error(err)
343
+      this.guploading = false
344
+      return false
345
+    },
346
+    handleGallerySuccess(res, file) {
347
+      var data = { type: 1, url: this.qiniuDomain + res.url }
348
+      SaveOrgGallery(data).then(response => {
349
+        var res = response.data
350
+        if (res.state == 1) {
351
+          this.$message.success('上传成功')
352
+        } else {
353
+          this.$message.error('上传失败')
354
+        }
355
+      }).catch(e => {})
356
+      this.guploading = false
357
+    },
358
+    beforeGalleryUpload(file) {
359
+      var fileType = file.type
360
+      const isJPG = fileType.indexOf('image') > -1
361
+      const isLt100M = file.size / 1024 / 1024 < 100
379
 
362
 
380
-            const _self = this
381
-            return new Promise((resolve, reject) => {
382
-                getToken().then(response => {
383
-                    const token = response.data.data.uptoken
384
-                    _self._data.uploadData.token = token
385
-                    _self._data.uploadData.key = key
386
-                    resolve(true)
387
-                }).catch(err => {
388
-                    reject(false)
389
-                    this.guploading = false;
390
-                })
391
-            })
392
-        },
363
+      if (!isJPG) {
364
+        this.$message.error('只能上传图片')
365
+        return false
366
+      }
367
+      if (!isLt100M) {
368
+        this.$message.error('上传图片大小不能超过 100MB!')
369
+        return false
370
+      }
393
 
371
 
394
-        handleRemove(file, fileList) {
395
-            DeleteOrgGallery(file.id).then(response=>{
396
-                var res = response.data;
397
-                if(res.state==1) {
398
-                    this.$message.success('删除成功');
399
-                }else {
400
-                    this.$message.error('删除失败');
401
-                }
402
-            }).catch(e=>{});
403
-            console.log("handleRemove",file, fileList);
404
-        },
405
-        GetOrgInfo(){
406
-            GetOrgInfo().then(response=>{
407
-                var res = response.data;
408
-                if (res.state === 1) {
409
-                    this.form.org_name = res.data.orginfo.org_name;
410
-                    this.form.org_short_name = res.data.orginfo.org_short_name;
411
-                    this.form.org_introduction = res.data.orginfo.org_introduction;
412
-                    this.form.org_logo = res.data.orginfo.org_logo;
413
-                    this.form.province = res.data.orginfo.province;
414
-                    this.form.city = res.data.orginfo.city;
415
-                    this.form.district = res.data.orginfo.district;
416
-                    this.form.address = res.data.orginfo.address;
417
-                    this.form.org_type = res.data.orginfo.org_type;
418
-                    this.form.telephone = res.data.orginfo.telephone;
419
-                    this.form.operating_state = res.data.orginfo.operating_state;
420
-                    this.form.business_week = res.data.orginfo.business_week;
421
-                    this.form.business_week_select = [];
422
-                    this.form.business_time = res.data.orginfo.business_time;
423
-                    this.form.business_time_shange = '';
424
-                    this.form.business_time_xia = '';
425
-                    this.form.illness = res.data.orginfo.illness;
426
-                    this.form.illness_list = [];
427
-                    this.form.org_gallery = res.data.orginfo.org_gallery;
428
-                    this.fileList = [];
429
-                    for (const index in this.form.org_gallery) {
430
-                        var image = {id:this.form.org_gallery[index].id, name:this.form.org_gallery[index].id, url: this.form.org_gallery[index].type==1?this.form.org_gallery[index].url:this.form.org_gallery[index].url+'?vframe/jpg/offset/0/w/100/h/100'};
431
-                        this.fileList.push(image);
432
-                    }
372
+      var date = new Date()
373
+      var ext = getFileExtension(file.name)
374
+      var key = date.getFullYear() + (date.getMonth() + 1) + date.getDate() + date.getHours() + date.getMinutes() + date.getSeconds() + '_g_' + file.uid + '.' + ext
375
+      this.guploading = true
376
+      this.loadingText = '机构图册上传中'
433
 
377
 
434
-                    var illness = res.data.orginfo.illness.split(',');
435
-                    for (const index in illness) {
436
-                        var iid = parseInt(illness[index]);
437
-                        if (isNaN(iid) || iid<=0) {
438
-                            continue;
439
-                        }
440
-                        this.form.illness_list.push(iid);
441
-                    }
442
-                    var business_week = this.form.business_week;
443
-                    var business_week_tem = business_week.split(" — ");
444
-                    if(business_week_tem.length==2) {
445
-                        var fromIndex = this.weekOptions.indexOf(business_week_tem[0]);
446
-                        var toIndex = this.weekOptions.indexOf(business_week_tem[1]);
447
-                        if(fromIndex>=0 && toIndex>=0) {
448
-                            for (const index in this.weekOptions) {
449
-                                if(index>=fromIndex && index <= toIndex) {
450
-                                    this.form.business_week_select.push(this.weekOptions[index]);
451
-                                }
452
-                            }
453
-                        }
454
-                    }else {
455
-                        business_week_tem = business_week.split("、");
456
-                        for (const index in business_week_tem) {
457
-                            if(business_week_tem[index].length>0) {
458
-                                this.form.business_week_select.push(business_week_tem[index]);
459
-                            }
460
-                        }
461
-                    }
462
-                    var business_time = this.form.business_time;
463
-                    var business_time_tem = business_time.split("—");
464
-                    if(business_time_tem.length==2) {
465
-                        this.form.business_time_shange = business_time_tem[0].substring(2);
466
-                        this.form.business_time_xia = business_time_tem[1].substring(2);
467
-                    }else {
468
-                        var selectTime = business_time_tem[0].substring(2);
469
-                        if(this.shangOptions.indexOf(selectTime)>-1) {
470
-                            this.form.business_time_shange = selectTime;
471
-                        }else if(this.xiaOptions.indexOf(selectTime)>-1) {
472
-                            this.form.business_time_xia = selectTime;
473
-                        }
474
-                    }
475
-
476
-                    this.provinces = res.data.provinces;
477
-                    this.citys = res.data.citys?res.data.citys:[];
478
-                    this.districts = res.data.districts?res.data.districts:[];
378
+      const _self = this
379
+      return new Promise((resolve, reject) => {
380
+        getToken().then(response => {
381
+          const token = response.data.data.uptoken
382
+          _self._data.uploadData.token = token
383
+          _self._data.uploadData.key = key
384
+          resolve(true)
385
+        }).catch(err => {
386
+          reject(false)
387
+          this.guploading = false
388
+        })
389
+      })
390
+    },
479
 
391
 
480
-                    this.orgtypes = [];
481
-                    this.orgtypesMap ={},
482
-                    this.childtypes = [];
483
-                    var orgtypes = res.data.orgtypes;
484
-                    for (const index in orgtypes) {
485
-                        if(orgtypes[index].pid>0) {
486
-                            if(!(orgtypes[index].pid in this.orgtypesMap)) {
487
-                                this.orgtypesMap[orgtypes[index].pid] = [];
488
-                            }
489
-                            this.orgtypesMap[orgtypes[index].pid].push(orgtypes[index]);
490
-                            if(orgtypes[index].id == this.form.org_type) {
491
-                                this.form.child_type = orgtypes[index].id;
492
-                                this.form.parent_type = orgtypes[index].pid;
493
-                            }
494
-                        }else {
495
-                            this.orgtypes.push(orgtypes[index]);
496
-                            if(orgtypes[index].id == this.form.org_type) {
497
-                                this.form.parent_type = orgtypes[index].id;
498
-                            }
499
-                        }
500
-                    }
501
-                    if (this.form.parent_type in this.orgtypesMap) {
502
-                        this.childtypes = this.orgtypesMap[this.form.parent_type];
503
-                    }else {
504
-                        this.childtypes = [];
505
-                    }
506
-                    this.illnessOptions = res.data.illness?res.data.illness:[];
507
-                        
508
-                } else {
509
-                    this.$message.error(resp.msg)
510
-                }
511
-            }).catch(e=>{
392
+    handleRemove(file, fileList) {
393
+      DeleteOrgGallery(file.id).then(response => {
394
+        var res = response.data
395
+        if (res.state == 1) {
396
+          this.$message.success('删除成功')
397
+        } else {
398
+          this.$message.error('删除失败')
399
+        }
400
+      }).catch(e => {})
401
+      console.log('handleRemove', file, fileList)
402
+    },
403
+    GetOrgInfo() {
404
+      GetOrgInfo().then(response => {
405
+        var res = response.data
406
+        if (res.state === 1) {
407
+          this.form.org_name = res.data.orginfo.org_name
408
+          this.form.org_short_name = res.data.orginfo.org_short_name
409
+          this.form.org_introduction = res.data.orginfo.org_introduction
410
+          this.form.org_logo = res.data.orginfo.org_logo
411
+          this.form.province = res.data.orginfo.province
412
+          this.form.city = res.data.orginfo.city
413
+          this.form.district = res.data.orginfo.district
414
+          this.form.address = res.data.orginfo.address
415
+          this.form.org_type = res.data.orginfo.org_type
416
+          this.form.telephone = res.data.orginfo.telephone
417
+          this.form.operating_state = res.data.orginfo.operating_state
418
+          this.form.business_week = res.data.orginfo.business_week
419
+          this.form.business_week_select = []
420
+          this.form.business_time = res.data.orginfo.business_time
421
+          this.form.business_time_shange = ''
422
+          this.form.business_time_xia = ''
423
+          this.form.illness = res.data.orginfo.illness
424
+          this.form.illness_list = []
425
+          this.form.org_gallery = res.data.orginfo.org_gallery
426
+          this.fileList = []
427
+          for (const index in this.form.org_gallery) {
428
+            var image = { id: this.form.org_gallery[index].id, name: this.form.org_gallery[index].id, url: this.form.org_gallery[index].type == 1 ? this.form.org_gallery[index].url : this.form.org_gallery[index].url + '?vframe/jpg/offset/0/w/100/h/100' }
429
+            this.fileList.push(image)
430
+          }
512
 
431
 
513
-            })
514
-        },
515
-         myTrim(x) {
516
-            return x.replace(/^\s+|\s+$/gm,'');
517
-        },
518
-        changeProvince(id) {
519
-            this.citys = [];
520
-            this.districts = [];
521
-            this.form.city = '';
522
-            this.form.district = '';
523
-            var upid = parseInt(id);
524
-            if (isNaN(upid) || upid<=0) {
525
-                return false;
432
+          var illness = res.data.orginfo.illness.split(',')
433
+          for (const index in illness) {
434
+            var iid = parseInt(illness[index])
435
+            if (isNaN(iid) || iid <= 0) {
436
+              continue
526
             }
437
             }
527
-            GetDistrictsByUpid({id:upid}).then(response=>{
528
-                var res = response.data;
529
-                if(res.state===1) {
530
-                    this.citys = res.data.citys?res.data.citys:[];
438
+            this.form.illness_list.push(iid)
439
+          }
440
+          var business_week = this.form.business_week
441
+          var business_week_tem = business_week.split(' — ')
442
+          if (business_week_tem.length == 2) {
443
+            var fromIndex = this.weekOptions.indexOf(business_week_tem[0])
444
+            var toIndex = this.weekOptions.indexOf(business_week_tem[1])
445
+            if (fromIndex >= 0 && toIndex >= 0) {
446
+              for (const index in this.weekOptions) {
447
+                if (index >= fromIndex && index <= toIndex) {
448
+                  this.form.business_week_select.push(this.weekOptions[index])
531
                 }
449
                 }
532
-            }).catch(e=>{
533
-
534
-            })
535
-        },
536
-        changeCity(id) {
537
-            this.districts = [];
538
-            this.form.district = '';
539
-            var upid = parseInt(id);
540
-            if (isNaN(upid) || upid<=0) {
541
-                return false;
450
+              }
542
             }
451
             }
543
-            GetDistrictsByUpid({id:upid}).then(response=>{
544
-                var res = response.data;
545
-                if(res.state===1) {
546
-                    this.districts = res.data.citys?res.data.citys:[];
547
-                }
548
-            }).catch(e=>{
452
+          } else {
453
+            business_week_tem = business_week.split('、')
454
+            for (const index in business_week_tem) {
455
+              if (business_week_tem[index].length > 0) {
456
+                this.form.business_week_select.push(business_week_tem[index])
457
+              }
458
+            }
459
+          }
460
+          var business_time = this.form.business_time
461
+          var business_time_tem = business_time.split('—')
462
+          if (business_time_tem.length == 2) {
463
+            this.form.business_time_shange = business_time_tem[0].substring(2)
464
+            this.form.business_time_xia = business_time_tem[1].substring(2)
465
+          } else {
466
+            var selectTime = business_time_tem[0].substring(2)
467
+            if (this.shangOptions.indexOf(selectTime) > -1) {
468
+              this.form.business_time_shange = selectTime
469
+            } else if (this.xiaOptions.indexOf(selectTime) > -1) {
470
+              this.form.business_time_xia = selectTime
471
+            }
472
+          }
549
 
473
 
550
-            })
551
-        },
552
-        changeParentType(id) {
553
-            id = parseInt(id);
554
-            this.childtypes = [];
555
-            this.form.child_type = '';
556
-            this.form.org_type = 0;
474
+          this.provinces = res.data.provinces
475
+          this.citys = res.data.citys ? res.data.citys : []
476
+          this.districts = res.data.districts ? res.data.districts : []
557
 
477
 
558
-            if (isNaN(id) || id<=0) {
559
-                return false;
560
-            }
561
-            if(id in this.orgtypesMap) {
562
-                this.childtypes = this.orgtypesMap[id];
563
-            }else{
564
-                this.childtypes = [];
478
+          this.orgtypes = []
479
+          this.orgtypesMap = {},
480
+          this.childtypes = []
481
+          var orgtypes = res.data.orgtypes
482
+          for (const index in orgtypes) {
483
+            if (orgtypes[index].pid > 0) {
484
+              if (!(orgtypes[index].pid in this.orgtypesMap)) {
485
+                this.orgtypesMap[orgtypes[index].pid] = []
486
+              }
487
+              this.orgtypesMap[orgtypes[index].pid].push(orgtypes[index])
488
+              if (orgtypes[index].id == this.form.org_type) {
489
+                this.form.child_type = orgtypes[index].id
490
+                this.form.parent_type = orgtypes[index].pid
491
+              }
492
+            } else {
493
+              this.orgtypes.push(orgtypes[index])
494
+              if (orgtypes[index].id == this.form.org_type) {
495
+                this.form.parent_type = orgtypes[index].id
496
+              }
565
             }
497
             }
566
-            
567
-            this.form.org_type = id;
498
+          }
499
+          if (this.form.parent_type in this.orgtypesMap) {
500
+            this.childtypes = this.orgtypesMap[this.form.parent_type]
501
+          } else {
502
+            this.childtypes = []
503
+          }
504
+          this.illnessOptions = res.data.illness ? res.data.illness : []
505
+        } else {
506
+          this.$message.error(resp.msg)
507
+        }
508
+      }).catch(e => {
568
 
509
 
569
-        },
570
-        changeChildType(id) {
571
-            this.form.org_type = id;
572
-        },
573
-        submitForm(){
574
-            this.form.org_introduction = this.$refs.neditor.content;
575
-            this.formloading = true;
576
-            this.formsubmit = true;
577
-            EditOrgInfo(this.form).then(response=>{
578
-                var res = response.data;
579
-                if(res.state==1) {
580
-                    this.$message.success("修改成功");
581
-                }else {
582
-                    this.$message.error(res.msg);
583
-                }
584
-                
585
-                this.formloading = false;
586
-                this.formsubmit = false;
587
-            }).catch(e=>{
510
+      })
511
+    },
512
+    myTrim(x) {
513
+      return x.replace(/^\s+|\s+$/gm, '')
514
+    },
515
+    changeProvince(id) {
516
+      this.citys = []
517
+      this.districts = []
518
+      this.form.city = ''
519
+      this.form.district = ''
520
+      var upid = parseInt(id)
521
+      if (isNaN(upid) || upid <= 0) {
522
+        return false
523
+      }
524
+      GetDistrictsByUpid({ id: upid }).then(response => {
525
+        var res = response.data
526
+        if (res.state === 1) {
527
+          this.citys = res.data.citys ? res.data.citys : []
528
+        }
529
+      }).catch(e => {
530
+
531
+      })
532
+    },
533
+    changeCity(id) {
534
+      this.districts = []
535
+      this.form.district = ''
536
+      var upid = parseInt(id)
537
+      if (isNaN(upid) || upid <= 0) {
538
+        return false
539
+      }
540
+      GetDistrictsByUpid({ id: upid }).then(response => {
541
+        var res = response.data
542
+        if (res.state === 1) {
543
+          this.districts = res.data.citys ? res.data.citys : []
544
+        }
545
+      }).catch(e => {
546
+
547
+      })
548
+    },
549
+    changeParentType(id) {
550
+      id = parseInt(id)
551
+      this.childtypes = []
552
+      this.form.child_type = ''
553
+      this.form.org_type = 0
588
 
554
 
589
-                this.formloading = false;
590
-                this.formsubmit = false;
591
-            })
592
-        },
555
+      if (isNaN(id) || id <= 0) {
556
+        return false
557
+      }
558
+      if (id in this.orgtypesMap) {
559
+        this.childtypes = this.orgtypesMap[id]
560
+      } else {
561
+        this.childtypes = []
562
+      }
563
+
564
+      this.form.org_type = id
565
+    },
566
+    changeChildType(id) {
567
+      this.form.org_type = id
568
+    },
569
+    submitForm() {
570
+      this.form.org_introduction = this.$refs.neditor.content
571
+      this.formloading = true
572
+      this.formsubmit = true
573
+      EditOrgInfo(this.form).then(response => {
574
+        var res = response.data
575
+        if (res.state == 1) {
576
+          this.$message.success('修改成功')
577
+        } else {
578
+          this.$message.error(res.msg)
579
+        }
580
+
581
+        this.formloading = false
582
+        this.formsubmit = false
583
+      }).catch(e => {
584
+        this.formloading = false
585
+        this.formsubmit = false
586
+      })
593
     }
587
     }
588
+  }
594
 }
589
 }
595
 </script>
590
 </script>
596
 
591
 
618
     height: 178px;
613
     height: 178px;
619
     display: block;
614
     display: block;
620
   }
615
   }
621
-</style>
616
+</style>

+ 2 - 1
src/xt_pages/role/admin.vue 查看文件

136
     disableAdminAction: function(row) {
136
     disableAdminAction: function(row) {
137
       this.$msgbox({
137
       this.$msgbox({
138
         title: '提示',
138
         title: '提示',
139
-        message: '是否确定要移除该管理员',
139
+        message: '是否确定要移除该用户',
140
         showCancelButton: true,
140
         showCancelButton: true,
141
         confirmButtonText: '确定',
141
         confirmButtonText: '确定',
142
         cancelButtonText: '取消',
142
         cancelButtonText: '取消',
171
       })
171
       })
172
     },
172
     },
173
     recoverAdminAction: function(row) {
173
     recoverAdminAction: function(row) {
174
+    
174
       const loading = this.$loading({
175
       const loading = this.$loading({
175
         lock: true,
176
         lock: true,
176
         text: '正在恢复管理员...',
177
         text: '正在恢复管理员...',

+ 178 - 186
src/xt_pages/role/components/AdminInfoForm.vue 查看文件

39
 
39
 
40
 <script>
40
 <script>
41
 import Tinymce from '@/components/Tinymce'
41
 import Tinymce from '@/components/Tinymce'
42
-import {getAddAdminInitData, addAdmin, getModifyAdminInitData, modifyAdmin} from '@/api/role/admin'
42
+import { getAddAdminInitData, addAdmin, getModifyAdminInitData, modifyAdmin } from '@/api/role/admin'
43
 export default {
43
 export default {
44
-    name:"AdminInfoForm",
45
-    components: {
46
-        Tinymce
47
-    },
48
-    // props: {
49
-    //     admin_id: {
50
-    //         type: Number,
51
-    //         require: true
52
-    //     }
53
-    // },
54
-    data() {
55
-        var checkMobile = (rule, value, callback) => {
56
-            if (!value || value.length == 0) {
57
-                return callback(new Error('手机号不能为空'))
58
-            }
59
-            if (/^1\d{10}$/.test(value) == false) {
60
-                return callback(new Error('手机号格式错误'))
61
-            } else {
62
-                callback()
63
-            }
64
-        }
65
-        var checkName = (rule, value, callback) => {
66
-            if (!value || value.length == 0) {
67
-                return callback(new Error('姓名不能为空'))
68
-            } else {
69
-                callback()
70
-            }
71
-        }
72
-        return {
73
-            admin_id:0,
74
-            dialogFormVisible:false,
75
-            user_types: [
76
-                { index: 2, name: '医生' },
77
-                { index: 3, name: '护士' },
78
-            ],
79
-            user_titles: [
80
-                { index: 1, name: '医士' },
81
-                { index: 2, name: '医师' },
82
-                { index: 3, name: '住院医师' },
83
-                { index: 4, name: '主治医师' },
84
-                { index: 5, name: '副主任医师' },
85
-                { index: 6, name: '主任医师' },
86
-                { index: 7, name: '护士' },
87
-                { index: 8, name: '护师' },
88
-                { index: 9, name: '主管护师' },
89
-                { index: 10, name: '副主任护师' },
90
-                { index: 11, name: '主任护师' },
91
-                { index: 12, name: '运营专员' },
92
-                { index: 13, name: '运营主管' },
93
-            ],
94
-            roles: [], // [{id, name, intro, status}]
95
-            loading: true,
96
-            qntoken: '',
97
-            formTitle:'',
98
-            form: {
99
-                id: 0,
100
-                mobile: '',
101
-                name: '',
102
-                user_type: '',
103
-                user_title: '',
104
-                role: '', // 其实应该是 int 类型
105
-                intro: '',
106
-            },
107
-            rules: {
108
-                mobile: [
109
-                    {validator: checkMobile, trigger: 'blur'}
110
-                ],
111
-                name: [
112
-                    {validator: checkName, trigger: 'blur'}
113
-                ]
114
-            }
115
-        }
116
-    },
117
-    methods: {
118
-        open:function(adminId){
119
-            this.admin_id = adminId;
120
-            if (this.admin_id < 0) {
121
-                this.$message.error("参数错误")
122
-                this.loading = false
123
-                return
124
-            }
44
+  name: 'AdminInfoForm',
45
+  components: {
46
+    Tinymce
47
+  },
48
+  // props: {
49
+  //     admin_id: {
50
+  //         type: Number,
51
+  //         require: true
52
+  //     }
53
+  // },
54
+  data() {
55
+    var checkMobile = (rule, value, callback) => {
56
+      if (!value || value.length == 0) {
57
+        return callback(new Error('手机号不能为空'))
58
+      }
59
+      if (/^1\d{10}$/.test(value) == false) {
60
+        return callback(new Error('手机号格式错误'))
61
+      } else {
62
+        callback()
63
+      }
64
+    }
65
+    var checkName = (rule, value, callback) => {
66
+      if (!value || value.length == 0) {
67
+        return callback(new Error('姓名不能为空'))
68
+      } else {
69
+        callback()
70
+      }
71
+    }
72
+    return {
73
+      admin_id: 0,
74
+      dialogFormVisible: false,
125
 
75
 
126
-            this.form.id = this.admin_id
127
-            if (this.admin_id === 0) {
128
-                this.formTitle = '新增用户';
129
-                this.form.user_type = this.user_types[0].index
130
-                this.form.user_title = this.user_titles[0].index
131
-                getAddAdminInitData().then(rs => {
132
-                    this.loading = false
133
-                    var resp = rs.data
134
-                    if (resp.state === 1) {
135
-                        this.roles.push(...resp.data.roles)
136
-                        this.qntoken = resp.data.qntoken
137
-                        if (this.roles.length > 0) {
138
-                            this.form.role = this.roles[0].id
139
-                        }
76
+      user_types: [
77
+        { index: 2, name: '医生' },
78
+        { index: 3, name: '护士' }
79
+      ],
80
+      user_titles: [
81
+        { index: 1, name: '医士' },
82
+        { index: 2, name: '医师' },
83
+        { index: 3, name: '住院医师' },
84
+        { index: 4, name: '主治医师' },
85
+        { index: 5, name: '副主任医师' },
86
+        { index: 6, name: '主任医师' },
87
+        { index: 7, name: '护士' },
88
+        { index: 8, name: '护师' },
89
+        { index: 9, name: '主管护师' },
90
+        { index: 10, name: '副主任护师' },
91
+        { index: 11, name: '主任护师' },
92
+        { index: 12, name: '运营专员' },
93
+        { index: 13, name: '运营主管' }
94
+      ],
95
+      roles: [], // [{id, name, intro, status}]
96
+      loading: true,
97
+      qntoken: '',
98
+      formTitle: '',
99
+      form: {
100
+        id: 0,
101
+        mobile: '',
102
+        name: '',
103
+        user_type: '',
104
+        user_title: '',
105
+        role: '', // 其实应该是 int 类型
106
+        intro: ''
107
+      },
108
+      rules: {
109
+        mobile: [
110
+          { validator: checkMobile, trigger: 'blur' }
111
+        ],
112
+        name: [
113
+          { validator: checkName, trigger: 'blur' }
114
+        ]
115
+      }
116
+    }
117
+  },
118
+  methods: {
119
+    open: function(adminId) {
120
+      this.admin_id = adminId
121
+      if (this.admin_id < 0) {
122
+        this.$message.error('参数错误')
123
+        this.loading = false
124
+        return
125
+      }
140
 
126
 
141
-                    } else {
142
-                        this.$message.error(resp.msg)
143
-                    }
127
+      this.form.id = this.admin_id
128
+      if (this.admin_id === 0) {
129
+        this.formTitle = '新增用户'
130
+        this.form.user_type = this.user_types[0].index
131
+        this.form.user_title = this.user_titles[0].index
132
+        getAddAdminInitData().then(rs => {
133
+          this.loading = false
134
+          var resp = rs.data
135
+          if (resp.state === 1) {
136
+            // this.roles.push(...resp.data.roles)
137
+            this.roles =  resp.data.roles
138
+            this.qntoken = resp.data.qntoken
139
+            // if (this.roles.length > 0) {
140
+            //   this.form.role = this.roles[0].id;
141
+            //   console.log("国庆快乐",this.form.role)
142
+            // }
143
+          } else {
144
+            this.$message.error(resp.msg)
145
+          }
146
+        }).catch(err => {
147
+          this.loading = false
148
+          this.$message.error(err)
149
+        })
150
+      } else {
151
+        this.formTitle = '编辑用户'
152
+        getModifyAdminInitData(this.form.id).then(rs => {
153
+          this.loading = false
154
+          var resp = rs.data
155
+          if (resp.state === 1) {
156
+            this.roles.push(...resp.data.roles)
157
+            this.qntoken = resp.data.qntoken
144
 
158
 
145
-                }).catch(err => {
146
-                    this.loading = false
147
-                    this.$message.error(err)
148
-                })
149
-                
150
-            } else {
151
-                this.formTitle = '编辑用户';
152
-                getModifyAdminInitData(this.form.id).then(rs => {
153
-                    this.loading = false
154
-                    var resp = rs.data
155
-                    if (resp.state === 1) {
156
-                        this.roles.push(...resp.data.roles)
157
-                        this.qntoken = resp.data.qntoken
158
-                        
159
-                        var admin = resp.data.admin
160
-                        this.form.name = admin.user_name
161
-                        this.form.mobile = admin.mobile
162
-                        this.form.user_type = admin.user_type
163
-                        this.form.user_title = admin.user_title
164
-                        this.form.role = admin.role_id
165
-                        this.form.intro = admin.intro
166
-                        
167
-                    } else {
168
-                        this.$message.error(resp.msg)
169
-                    }
159
+            var admin = resp.data.admin
160
+            this.form.name = admin.user_name
161
+            this.form.mobile = admin.mobile
162
+            this.form.user_type = admin.user_type
163
+            this.form.user_title = admin.user_title
164
+            this.form.role = admin.role_id
165
+            this.form.intro = admin.intro
166
+          } else {
167
+            this.$message.error("该用户不存在")
168
+          }
169
+        }).catch(err => {
170
+          this.loading = false
171
+          this.$message.error("该用户不存在")
172
+        })
173
+      }
170
 
174
 
171
-                }).catch(err => {
172
-                    this.loading = false
173
-                    this.$message.error(err)
174
-                })
175
-            }
176
-            
177
-            this.dialogFormVisible = true;
178
-        },
179
-        submitAction: function() {
180
-            if (this.admin_id < 0) {
181
-                return
182
-            }
183
-            this.$refs.form.validate((valid) => {
184
-                if (valid) {
185
-                    this.loading = true
186
-                    if (this.form.id === 0) {
187
-                        addAdmin(this.form.mobile, this.form.name, this.form.user_type, this.form.user_title, this.form.role, this.form.intro).then(rs => {
188
-                            this.loading = false
189
-                            var resp = rs.data
190
-                            if (resp.state === 1) {
191
-                                this.$store.dispatch('DidChangeAdmins')
192
-                                var _this = this
193
-                                setTimeout(() => {
194
-                                    _this.$store.dispatch('RecoverAdminsChangeState')
195
-                                }, 500)
196
-                                this.dialogFormVisible = false;
197
-                                
198
-                            } else {
199
-                                this.$message.error(resp.msg)
200
-                            }
201
-
202
-                        }).catch(err => {
203
-                            this.loading = false
204
-                            this.$message.error(err)
205
-                        })
206
-                        
207
-                    } else {
208
-                        modifyAdmin(this.form.id, this.form.name, this.form.user_type, this.form.user_title, this.form.role, this.form.intro).then(rs => {
209
-                            this.loading = false
210
-                            var resp = rs.data
211
-                            if (resp.state === 1) {
212
-                                this.$store.dispatch('DidChangeAdmins')
213
-                                var _this = this
214
-                                setTimeout(() => {
215
-                                    _this.$store.dispatch('RecoverAdminsChangeState')
216
-                                }, 500)
217
-
218
-                                this.dialogFormVisible = false;
219
-                                
220
-                            } else {
221
-                                this.$message.error(resp.msg)
222
-                            }
175
+      this.dialogFormVisible = true
176
+    },
177
+    submitAction: function() {
178
+      if (this.admin_id < 0) {
179
+        return
180
+      }
181
+      this.$refs.form.validate((valid) => {
182
+        if (valid) {
183
+          this.loading = true
184
+          if (this.form.id === 0) {
185
+            addAdmin(this.form.mobile, this.form.name, this.form.user_type, this.form.user_title, this.form.role, this.form.intro).then(rs => {
186
+              this.loading = false
187
+              var resp = rs.data
188
+              if (resp.state === 1) {
189
+                this.$store.dispatch('DidChangeAdmins')
190
+                var _this = this
191
+                setTimeout(() => {
192
+                  _this.$store.dispatch('RecoverAdminsChangeState')
193
+                }, 500)
194
+                this.dialogFormVisible = false
195
+              } else {
196
+                this.$message.error(resp.msg)
197
+              }
198
+            }).catch(err => {
199
+              this.loading = false
200
+              this.$message.error(err)
201
+            })
202
+          } else {
203
+            modifyAdmin(this.form.id, this.form.name, this.form.user_type, this.form.user_title, this.form.role, this.form.intro).then(rs => {
204
+              this.loading = false
205
+              var resp = rs.data
206
+              if (resp.state === 1) {
207
+                this.$store.dispatch('DidChangeAdmins')
208
+                var _this = this
209
+                setTimeout(() => {
210
+                  _this.$store.dispatch('RecoverAdminsChangeState')
211
+                }, 500)
223
 
212
 
224
-                        }).catch(err => {
225
-                            this.loading = false
226
-                            this.$message.error(err)
227
-                        })
228
-                    }
229
-                    
230
-                } else {
231
-                    return false
232
-                }
213
+                this.dialogFormVisible = false
214
+              } else {
215
+                this.$message.error(resp.msg)
216
+              }
217
+            }).catch(err => {
218
+              this.loading = false
219
+              this.$message.error(err)
233
             })
220
             })
221
+          }
222
+        } else {
223
+          return false
234
         }
224
         }
235
-    },
225
+      })
226
+    }
227
+  }
236
 
228
 
237
 }
229
 }
238
 </script>
230
 </script>

+ 66 - 66
src/xt_pages/sign/index.vue 查看文件

93
 </template>
93
 </template>
94
 
94
 
95
 <script>
95
 <script>
96
-import { fetchSignPatients, getPatientSign, SignWeigh, getDialysisInforInfomation, getDialysisAfterInfomation, createdata, updateSignweight,sighdata} from '@/api/signandweigh'
96
+import { fetchSignPatients, getPatientSign, getDialysisInforInfomation, getDialysisAfterInfomation, updateSignweight, sighdata } from '@/api/signandweigh'
97
 import BreadCrumb from '../components/bread-crumb'
97
 import BreadCrumb from '../components/bread-crumb'
98
 export default {
98
 export default {
99
   name: 'sign',
99
   name: 'sign',
142
 
142
 
143
       },
143
       },
144
       weigh_list: {
144
       weigh_list: {
145
-        id:'',
145
+        id: '',
146
         weight_before: '', // 透前体重
146
         weight_before: '', // 透前体重
147
         temperature: '', // 体温
147
         temperature: '', // 体温
148
         pulse_frequency: '', // 脉搏
148
         pulse_frequency: '', // 脉搏
201
         if (response.data.state === 1) {
201
         if (response.data.state === 1) {
202
           this.patients = response.data.data.patients
202
           this.patients = response.data.data.patients
203
           // console.log('病人信息', this.patients[0].schedule)
203
           // console.log('病人信息', this.patients[0].schedule)
204
-          console.log("病人信息:",this.patients)
204
+          console.log('病人信息:', this.patients)
205
           // 将没有排班的信息排除
205
           // 将没有排班的信息排除
206
           for (let i = this.patients.length - 1; i >= 0; i--) {
206
           for (let i = this.patients.length - 1; i >= 0; i--) {
207
-            if (this.patients[i].schedule.id == 0) {
207
+            if (this.patients[i].schedule.id === 0) {
208
               this.patients.splice(i, 1)
208
               this.patients.splice(i, 1)
209
             }
209
             }
210
           }
210
           }
228
         }
228
         }
229
       })
229
       })
230
     },
230
     },
231
-    //  getPatientSign(){
232
-    //      getPatientSign(this.querySignParams).then(response=>{
233
-    //          if (response.data.state==1) {
234
-    //             if (response.data.data.sign != null) {
235
-    //                  var sign = response.data.data.sign;
236
-    //                  this.weigh_form.dry_weight = sign.dry_weight;
237
-    //                 this.weigh_form.clothes_weight = sign.clothes_weight;
238
-    //                   // 透前
239
-    //                  this.weigh_form.weigh_before = sign.weigh_before;
240
-    //                  this.weigh_form.dehydrated_weight = sign.dehydrated_weight;
241
-    //                  this.weigh_form.dehydrated_percent = sign.dehydrated_percent;
242
-    //                  this.weigh_form.weight_before = sign.weight_before;
243
-    //                  this.weigh_form.temperature_before = sign.temperature_before;
244
-    //                 this.weigh_form.pulse_rate_before = sign.pulse_rate_before;  // P 脉率
245
-    //                  this.weigh_form.respiratory_rate_before = sign.respiratory_rate_before; // R 呼吸频率
246
-    //                  this.weigh_form.DBP_before = sign.DBP_before; // 舒张压
247
-    //                  this.weigh_form.SBP_before = sign.SBP_before // 收缩压
248
-    //                    // 透后
249
-    //                  this.weigh_form.weigh_after = sign.weigh_after;
250
-    //                  this.weigh_form.weight_reduce_after = sign.weight_reduce_after;
251
-    //                  this.weigh_form.weight_after = sign.weight_after
252
-    //                  this.weigh_form.temperature_after = sign.temperature_after;
253
-    //                  this.weigh_form.pulse_rate_after = sign.pulse_rate_after; // P 脉率
254
-    //                  this.weigh_form.respiratory_rate_after = sign.respiratory_rate_after; // R 呼吸频率
255
-    //                  this.weigh_form.DBP_after = sign.DBP_after; // 舒张压
256
-    //                  this.weigh_form.SBP_after = sign.SBP_after; // 收缩压
257
-    //                 this.weigh_form.id=sign.id;
258
-    //              }
259
-    //          }
260
-    //      });
261
-    // },
231
+    getPatientSign() {
232
+      getPatientSign(this.querySignParams).then(response => {
233
+        if (response.data.state == 1) {
234
+          if (response.data.data.sign != null) {
235
+            var sign = response.data.data.sign
236
+            this.weigh_form.dry_weight = sign.dry_weight
237
+            this.weigh_form.clothes_weight = sign.clothes_weight
238
+            // 透前
239
+            this.weigh_form.weigh_before = sign.weigh_before
240
+            this.weigh_form.dehydrated_weight = sign.dehydrated_weight
241
+            this.weigh_form.dehydrated_percent = sign.dehydrated_percent
242
+            this.weigh_form.weight_before = sign.weight_before
243
+            this.weigh_form.temperature_before = sign.temperature_before
244
+            this.weigh_form.pulse_rate_before = sign.pulse_rate_before // P 脉率
245
+            this.weigh_form.respiratory_rate_before = sign.respiratory_rate_before // R 呼吸频率
246
+            this.weigh_form.DBP_before = sign.DBP_before // 舒张压
247
+            this.weigh_form.SBP_before = sign.SBP_before // 收缩压
248
+            // 透后
249
+            this.weigh_form.weigh_after = sign.weigh_after
250
+            this.weigh_form.weight_reduce_after = sign.weight_reduce_after
251
+            this.weigh_form.weight_after = sign.weight_after
252
+            this.weigh_form.temperature_after = sign.temperature_after
253
+            this.weigh_form.pulse_rate_after = sign.pulse_rate_after // P 脉率
254
+            this.weigh_form.respiratory_rate_after = sign.respiratory_rate_after // R 呼吸频率
255
+            this.weigh_form.DBP_after = sign.DBP_after // 舒张压
256
+            this.weigh_form.SBP_after = sign.SBP_after // 收缩压
257
+            this.weigh_form.id = sign.id
258
+          }
259
+        }
260
+      })
261
+    },
262
     changeSearch() {
262
     changeSearch() {
263
       this.queryParams.need_schedule_type = 0
263
       this.queryParams.need_schedule_type = 0
264
       this.fetchSignPatients()
264
       this.fetchSignPatients()
272
       this.weigh_form.patient_id = row.id
272
       this.weigh_form.patient_id = row.id
273
       this.querySignParams.patient_id = row.id
273
       this.querySignParams.patient_id = row.id
274
       this.dialysis_stege = row.dialysis_order.stage
274
       this.dialysis_stege = row.dialysis_order.stage
275
-      console.log("呵呵呵",this.dialysis_stege)
275
+      console.log('呵呵呵', this.dialysis_stege)
276
       this.getDialysisInforInfomation(row.id)
276
       this.getDialysisInforInfomation(row.id)
277
       this.getDialysisAfterInfomation(row.id)
277
       this.getDialysisAfterInfomation(row.id)
278
-      this.weigh_list.id=row.signin.id
279
-      //console.log("是否有数据",this.weigh_list.id)
278
+      this.weigh_list.id = row.signin.id
279
+      // console.log("是否有数据",this.weigh_list.id)
280
       // this.getsignweigh(row.id)
280
       // this.getsignweigh(row.id)
281
     },
281
     },
282
     getDialysisInforInfomation(id) {
282
     getDialysisInforInfomation(id) {
283
       getDialysisInforInfomation(id).then(response => {
283
       getDialysisInforInfomation(id).then(response => {
284
         if (response.data.data.patientlist != null) {
284
         if (response.data.data.patientlist != null) {
285
           var patientlist = response.data.data.patientlist
285
           var patientlist = response.data.data.patientlist
286
-          console.log("patientlist是什么?",patientlist)
286
+          console.log('patientlist是什么?', patientlist)
287
           this.weigh_list.id = patientlist.id
287
           this.weigh_list.id = patientlist.id
288
           console.log(this.weigh_list.id)
288
           console.log(this.weigh_list.id)
289
           this.weigh_list.dry_weight = patientlist.dry_weight
289
           this.weigh_list.dry_weight = patientlist.dry_weight
290
           console.log('干体重:' + this.weigh_list.dry_weight)
290
           console.log('干体重:' + this.weigh_list.dry_weight)
291
-          if (this.weigh_list.dry_weight == 0) {
291
+          if (this.weigh_list.dry_weight === 0) {
292
             this.weigh_list.dry_weight = ''
292
             this.weigh_list.dry_weight = ''
293
           }
293
           }
294
           this.weigh_list.weight_before = patientlist.weight_before
294
           this.weigh_list.weight_before = patientlist.weight_before
295
-          if (this.weigh_list.weight_before == 0) {
295
+          if (this.weigh_list.weight_before === 0) {
296
             this.weigh_list.weight_before = ''
296
             this.weigh_list.weight_before = ''
297
           }
297
           }
298
           this.weigh_list.temperature = patientlist.temperature
298
           this.weigh_list.temperature = patientlist.temperature
299
-          if (this.weigh_list.temperature == 0) {
299
+          if (this.weigh_list.temperature === 0) {
300
             this.weigh_list.temperature = ''
300
             this.weigh_list.temperature = ''
301
           }
301
           }
302
           this.weigh_list.pulse_frequency = patientlist.pulse_frequency
302
           this.weigh_list.pulse_frequency = patientlist.pulse_frequency
303
-          if (this.weigh_list.pulse_frequency == 0) {
303
+          if (this.weigh_list.pulse_frequency === 0) {
304
             this.weigh_list.pulse_frequency = ''
304
             this.weigh_list.pulse_frequency = ''
305
           }
305
           }
306
           this.weigh_list.breathing_rate = patientlist.breathing_rate
306
           this.weigh_list.breathing_rate = patientlist.breathing_rate
307
-          if (this.weigh_list.breathing_rate == 0) {
307
+          if (this.weigh_list.breathing_rate === 0) {
308
             this.weigh_list.breathing_rate = ''
308
             this.weigh_list.breathing_rate = ''
309
           }
309
           }
310
           this.weigh_list.systolic_blood_pressure = patientlist.systolic_blood_pressure
310
           this.weigh_list.systolic_blood_pressure = patientlist.systolic_blood_pressure
311
-          if (this.weigh_list.systolic_blood_pressure == 0) {
311
+          if (this.weigh_list.systolic_blood_pressure === 0) {
312
             this.weigh_list.systolic_blood_pressure = ''
312
             this.weigh_list.systolic_blood_pressure = ''
313
           }
313
           }
314
           this.weigh_list.diastolic_blood_pressure = patientlist.diastolic_blood_pressure
314
           this.weigh_list.diastolic_blood_pressure = patientlist.diastolic_blood_pressure
315
-          if (this.weigh_list.diastolic_blood_pressure == 0) {
315
+          if (this.weigh_list.diastolic_blood_pressure === 0) {
316
             this.weigh_list.diastolic_blood_pressure = ''
316
             this.weigh_list.diastolic_blood_pressure = ''
317
           }
317
           }
318
         }
318
         }
325
           var patientinfor = response.data.data.patientinfor
325
           var patientinfor = response.data.data.patientinfor
326
           console.log(patientinfor)
326
           console.log(patientinfor)
327
           this.weigh_infor.dry_weight = patientinfor.dry_weight
327
           this.weigh_infor.dry_weight = patientinfor.dry_weight
328
-          if (this.weigh_infor.dry_weight == 0) {
328
+          if (this.weigh_infor.dry_weight === 0) {
329
             this.weigh_infor.dry_weight = ''
329
             this.weigh_infor.dry_weight = ''
330
           }
330
           }
331
 
331
 
332
           this.weigh_infor.weight_after = patientinfor.weight_after
332
           this.weigh_infor.weight_after = patientinfor.weight_after
333
-          if (this.weigh_infor.weight_after == 0) {
333
+          if (this.weigh_infor.weight_after === 0) {
334
             this.weigh_infor.weight_after = ''
334
             this.weigh_infor.weight_after = ''
335
           }
335
           }
336
 
336
 
337
           this.weigh_infor.temperature = patientinfor.temperature
337
           this.weigh_infor.temperature = patientinfor.temperature
338
-          if (this.weigh_infor.temperature == 0) {
338
+          if (this.weigh_infor.temperature === 0) {
339
             this.weigh_infor.temperature = ''
339
             this.weigh_infor.temperature = ''
340
           }
340
           }
341
           this.weigh_infor.pulse_frequency = patientinfor.pulse_frequency
341
           this.weigh_infor.pulse_frequency = patientinfor.pulse_frequency
342
-          if (this.weigh_infor.pulse_frequency == 0) {
342
+          if (this.weigh_infor.pulse_frequency === 0) {
343
             this.weigh_infor.pulse_frequency = ''
343
             this.weigh_infor.pulse_frequency = ''
344
           }
344
           }
345
           this.weigh_infor.breathing_rate = patientinfor.breathing_rate
345
           this.weigh_infor.breathing_rate = patientinfor.breathing_rate
346
-          if (this.weigh_infor.breathing_rate == 0) {
346
+          if (this.weigh_infor.breathing_rate === 0) {
347
             this.weigh_infor.breathing_rate = ''
347
             this.weigh_infor.breathing_rate = ''
348
           }
348
           }
349
           this.weigh_infor.systolic_blood_pressure = patientinfor.systolic_blood_pressure
349
           this.weigh_infor.systolic_blood_pressure = patientinfor.systolic_blood_pressure
350
-          if (this.weigh_infor.systolic_blood_pressure == 0) {
350
+          if (this.weigh_infor.systolic_blood_pressure === 0) {
351
             this.weigh_infor.systolic_blood_pressure = ''
351
             this.weigh_infor.systolic_blood_pressure = ''
352
           }
352
           }
353
 
353
 
354
           this.weigh_infor.diastolic_blood_pressure = patientinfor.diastolic_blood_pressure
354
           this.weigh_infor.diastolic_blood_pressure = patientinfor.diastolic_blood_pressure
355
-          if (this.weigh_infor.diastolic_blood_pressure == 0) {
355
+          if (this.weigh_infor.diastolic_blood_pressure === 0) {
356
             this.weigh_infor.diastolic_blood_pressure = ''
356
             this.weigh_infor.diastolic_blood_pressure = ''
357
           }
357
           }
358
         }
358
         }
381
       params.pulse_frequencyafter = this.weigh_infor.pulse_frequency
381
       params.pulse_frequencyafter = this.weigh_infor.pulse_frequency
382
       params.systolic_blood_pressureafter = this.weigh_infor.systolic_blood_pressure
382
       params.systolic_blood_pressureafter = this.weigh_infor.systolic_blood_pressure
383
       params.diastolic_blood_pressureafter = this.weigh_infor.diastolic_blood_pressure
383
       params.diastolic_blood_pressureafter = this.weigh_infor.diastolic_blood_pressure
384
-      console.log("干体重:"+ params.dry_weight)
385
-      updateSignweight(params).then(response =>{
386
-         if(response.data.state ===1){
387
-            this.$message({
384
+
385
+      updateSignweight(params).then(response => {
386
+        if (response.data.state === 1) {
387
+          this.$message({
388
             type: 'success',
388
             type: 'success',
389
             message: '成功!'
389
             message: '成功!'
390
-           })
391
-         }
390
+          })
391
+        }
392
       })
392
       })
393
-       console.log("params数据",params)
393
+      console.log('params数据', params)
394
     },
394
     },
395
     hide() {
395
     hide() {
396
       this.show = false
396
       this.show = false
397
     },
397
     },
398
-  
398
+
399
     sighdata() {
399
     sighdata() {
400
       // 透前数据
400
       // 透前数据
401
       var params = new Object()
401
       var params = new Object()
419
       console.log('params是什么?', params)
419
       console.log('params是什么?', params)
420
       sighdata(params).then(response => {
420
       sighdata(params).then(response => {
421
         var signs = response.data.data.signs
421
         var signs = response.data.data.signs
422
-        console.log("signs是什么?",signs)
422
+        console.log('signs是什么?', signs)
423
         if (response.data.state === 1) {
423
         if (response.data.state === 1) {
424
           this.$message({
424
           this.$message({
425
             type: 'success',
425
             type: 'success',
428
           var tlen = this.patients.length
428
           var tlen = this.patients.length
429
 
429
 
430
           for (let index = 0; index < tlen; index++) {
430
           for (let index = 0; index < tlen; index++) {
431
-            if (this.patients[index].id == params.patient_id) {
431
+            if (this.patients[index].id === params.patient_id) {
432
               var signin = this.patients[index].signin
432
               var signin = this.patients[index].signin
433
               this.patients[index].signin = response.data.data.signs
433
               this.patients[index].signin = response.data.data.signs
434
 
434
 
435
               if (this.patients[index].schedule.id > 0 && (this.patients[index].schedule.schedule_type >= 1 || this.patients[index].schedule.schedule_type <= 3)) {
435
               if (this.patients[index].schedule.id > 0 && (this.patients[index].schedule.schedule_type >= 1 || this.patients[index].schedule.schedule_type <= 3)) {
436
                 var sl = this.schedules.length
436
                 var sl = this.schedules.length
437
                 for (let j = 0; j < sl; j++) {
437
                 for (let j = 0; j < sl; j++) {
438
-                  if (this.schedules[j].type == this.patients[index].schedule.schedule_type) {
439
-                    if ((signin.weigh_before_time == 0 && response.data.data.signs.weigh_before_time > 0) || (signin.weigh_time === 0 && response.data.data.signs.weigh_time > 0)) {
438
+                  if (this.schedules[j].type === this.patients[index].schedule.schedule_type) {
439
+                    if ((signin.weigh_before_time === 0 && response.data.data.signs.weigh_before_time > 0) || (signin.weigh_time === 0 && response.data.data.signs.weigh_time > 0)) {
440
                       this.schedules[j].sign++
440
                       this.schedules[j].sign++
441
                     }
441
                     }
442
                     if (signin.weigh_before_time === 0 && response.data.data.signs.weigh_before_time > 0) {
442
                     if (signin.weigh_before_time === 0 && response.data.data.signs.weigh_before_time > 0) {
443
                       this.schedules[j].before++
443
                       this.schedules[j].before++
444
                     }
444
                     }
445
-                    if (signin.weigh_time == 0 && response.data.data.signs.weigh_time > 0) {
445
+                    if (signin.weigh_time === 0 && response.data.data.signs.weigh_time > 0) {
446
                       this.schedules[j].after++
446
                       this.schedules[j].after++
447
                     }
447
                     }
448
                   }
448
                   }

+ 3 - 3
src/xt_pages/stock/Dialog/salesReturnDialog.vue 查看文件

10
     <el-row :gutter="20">
10
     <el-row :gutter="20">
11
       <el-col :span="8">
11
       <el-col :span="8">
12
         <el-table
12
         <el-table
13
-          :data="propForm.goodType"
13
+          :data="propForm.goods"
14
           ref="table"
14
           ref="table"
15
           border
15
           border
16
           highlight-current-row
16
           highlight-current-row
24
             align="center"
24
             align="center"
25
             label="商品类型">
25
             label="商品类型">
26
             <template slot-scope="scope">
26
             <template slot-scope="scope">
27
-              <span>{{scope.row.type_name}}</span>
27
+              <span>{{getGoodTypeName(scope.row)}}</span>
28
             </template>
28
             </template>
29
           </el-table-column>
29
           </el-table-column>
30
         </el-table>
30
         </el-table>
137
             keyName = key
137
             keyName = key
138
           }
138
           }
139
         }
139
         }
140
+        console.log(keyName)
140
         this.goodInfoTableData = []
141
         this.goodInfoTableData = []
141
         this.goodInfo = []
142
         this.goodInfo = []
142
         if (keyName.length > 0) {
143
         if (keyName.length > 0) {
287
         }
288
         }
288
 
289
 
289
       }, getGoodTypeName: function(val) {
290
       }, getGoodTypeName: function(val) {
290
-        console.log(val)
291
         let keyName = ''
291
         let keyName = ''
292
         for (var key in val) {
292
         for (var key in val) {
293
           if (key != 'index') {
293
           if (key != 'index') {

+ 92 - 0
src/xt_pages/stock/config/automaticReduce.vue 查看文件

1
+<template>
2
+  <div class=" sign-and-weigh-box" style="background: white">
3
+    <div style="text-align: center;margin-top: 150px">
4
+      <el-button type="primary"   v-if="!is_open" @click="changeOpen(1)">启用自动扣减</el-button>
5
+      <el-button type="danger"   v-if="is_open"  @click="changeOpen(2)">关闭自动扣减</el-button>
6
+      <div style="margin-top: 40px;" ><p style="color:#909399;text-align: center;">开启后,系统设定的固定商品类型,在pad端中透析记录-透析处方-透析耗材中设置好(pc端暂不支持),患者执行上机之后,将会自动产生出库单;<br/>系统设定之外的商品类型则需要手动新增出库单。</p></div>
7
+    </div>
8
+  </div>
9
+</template>
10
+
11
+<script>
12
+  import { createStockAutomaticReduceConfig, getAutomaticReduceConfig } from '@/api/config'
13
+
14
+  export default {
15
+    name: 'automaticReduce',
16
+    data() {
17
+      return {
18
+        is_open: false
19
+      }
20
+    },
21
+    methods: {
22
+      changeOpen(val){
23
+        var message = ''
24
+        if(val == 1){
25
+          message = '启用库存自动扣减功能'
26
+        }else{
27
+          message = '关闭库存自动扣减功能'
28
+        }
29
+
30
+        this.$confirm(message , '提示', {
31
+          confirmButtonText: '确定',
32
+          cancelButtonText: '取消',
33
+          type: 'info'
34
+        }).then(() => {
35
+          createStockAutomaticReduceConfig(val).then(response => {
36
+            if (response.data.state == 0) {
37
+              this.$message.error(response.data.msg)
38
+              return false
39
+            } else {
40
+              if (response.data.data.is_open == 1){
41
+                this.is_open = true
42
+                this.$message({
43
+                  type: 'success',
44
+                  message: '已启用'
45
+                });
46
+              }else{
47
+                this.is_open = false
48
+                this.$message({
49
+                  type: 'success',
50
+                  message: '已关闭'
51
+                });
52
+              }
53
+            }
54
+          })
55
+        }).catch(() => {
56
+
57
+        });
58
+
59
+      },
60
+      getConfig() {
61
+        getAutomaticReduceConfig().then(response => {
62
+          if (response.data.state == 0) {
63
+            this.$message.error(response.data.msg)
64
+            return false
65
+          } else {
66
+            var config = response.data.data.config
67
+            if (config.is_open == 1) {
68
+              this.is_open = true
69
+            } else {
70
+              this.is_open = false
71
+            }
72
+          }
73
+        })
74
+      }
75
+    },
76
+    created() {
77
+      this.getConfig()
78
+    }
79
+  }
80
+</script>
81
+
82
+
83
+<style>
84
+  .sign-and-weigh-box .sign-and-weigh-box-patients .cell {
85
+    font-size: 12px;
86
+  }
87
+
88
+  .sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
89
+    background: #6fb5fa;
90
+  }
91
+
92
+</style>

+ 16 - 0
src/xt_pages/stock/config/goodType.vue 查看文件

47
             <template slot-scope="scope">
47
             <template slot-scope="scope">
48
               <el-tooltip class="item" effect="dark" content="编辑" placement="top">
48
               <el-tooltip class="item" effect="dark" content="编辑" placement="top">
49
                 <el-button
49
                 <el-button
50
+                  v-if="scope.row.type == 0"
50
                   size="small"
51
                   size="small"
51
                   type="primary"
52
                   type="primary"
52
                   icon="el-icon-edit-outline"
53
                   icon="el-icon-edit-outline"
53
                   @click="handleEdit(scope.$index, scope.row)">
54
                   @click="handleEdit(scope.$index, scope.row)">
54
                 </el-button>
55
                 </el-button>
56
+                <el-button
57
+                  v-if="scope.row.type == 1"
58
+                  size="small"
59
+                  type="info" plain
60
+                  icon="el-icon-edit-outline"
61
+                  @click="handleEdit(scope.$index, scope.row)">
62
+                </el-button>
55
               </el-tooltip>
63
               </el-tooltip>
56
               <el-tooltip class="item" effect="dark" content="删除" placement="top">
64
               <el-tooltip class="item" effect="dark" content="删除" placement="top">
57
                 <el-button
65
                 <el-button
66
+                  v-if="scope.row.type == 0"
58
                   size="small"
67
                   size="small"
59
                   type="danger"
68
                   type="danger"
60
                   icon="el-icon-delete"
69
                   icon="el-icon-delete"
61
                   @click="handleDelete(scope.$index, scope.row)">
70
                   @click="handleDelete(scope.$index, scope.row)">
62
                 </el-button>
71
                 </el-button>
72
+                <el-button
73
+                  v-if="scope.row.type == 1"
74
+                  size="small"
75
+                  type="info" plain
76
+                  icon="el-icon-delete"
77
+                  @click="handleDelete(scope.$index, scope.row)">
78
+                </el-button>
63
               </el-tooltip>
79
               </el-tooltip>
64
             </template>
80
             </template>
65
           </el-table-column>
81
           </el-table-column>

+ 5 - 37
src/xt_pages/stock/index.vue 查看文件

19
           <el-tab-pane label="商品信息">
19
           <el-tab-pane label="商品信息">
20
             <good-info></good-info>
20
             <good-info></good-info>
21
           </el-tab-pane>
21
           </el-tab-pane>
22
+          <el-tab-pane label="自动扣减">
23
+            <automatic-reduce></automatic-reduce>
24
+          </el-tab-pane>
22
 
25
 
23
         </el-tabs>
26
         </el-tabs>
24
 
27
 
33
   import GoodInfo from './config/goodInfo'
36
   import GoodInfo from './config/goodInfo'
34
   import GoodType from './config/goodType'
37
   import GoodType from './config/goodType'
35
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
38
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
36
-  import {
37
-    createStockAutomaticReduceConfig,
38
-    getAutomaticReduceConfig
39
-  } from '@/api/config'
39
+  import AutomaticReduce from './config/automaticReduce'
40
   export default {
40
   export default {
41
     name: 'service',
41
     name: 'service',
42
     components: {
42
     components: {
43
+      AutomaticReduce,
43
       GoodType,
44
       GoodType,
44
       GoodInfo,
45
       GoodInfo,
45
       Manufacturer,
46
       Manufacturer,
60
     methods: {
61
     methods: {
61
       handleClick(tab, event) {
62
       handleClick(tab, event) {
62
         console.log(tab, event, this.activeName)
63
         console.log(tab, event, this.activeName)
63
-      },changeOpen(val){
64
-        var isOpen = 0
65
-
66
-        if(val){
67
-          isOpen = 1
68
-        }else{
69
-          isOpen = 2
70
-        }
71
-        createStockAutomaticReduceConfig(isOpen).then(response => {
72
-          if (response.data.state == 0) {
73
-            this.$message.error(response.data.msg)
74
-            return false
75
-          } else {
76
-            // this.$message.success("已启动")
77
-
78
-          }
79
-        })
80
-      },getConfig(){
81
-        getAutomaticReduceConfig().then(response => {
82
-          if (response.data.state == 0) {
83
-            this.$message.error(response.data.msg)
84
-            return false
85
-          } else {
86
-            var config = response.data.data.config
87
-
88
-            if (config.is_open == 1){
89
-              this.is_open = true
90
-            }else{
91
-              this.is_open = false
92
-            }
93
-          }
94
-        })
95
       }
64
       }
96
     },created(){
65
     },created(){
97
-      this.getConfig()
98
 
66
 
99
     }
67
     }
100
   }
68
   }

+ 2 - 0
src/xt_pages/stock/stockOutOrderAdd.vue 查看文件

479
           }, []) // 设置cur默认类型为数组,并且初始值为空的数组
479
           }, []) // 设置cur默认类型为数组,并且初始值为空的数组
480
 
480
 
481
           this.$set(goodObj, this.propForm.goodType[i].id, goodInfo)
481
           this.$set(goodObj, this.propForm.goodType[i].id, goodInfo)
482
+          console.log(goodObj)
482
           this.propForm.goods.push(goodObj)
483
           this.propForm.goods.push(goodObj)
484
+          console.log(this.propForm.goods)
483
 
485
 
484
         }
486
         }
485
 
487
 

+ 50 - 0
src/xt_pages/stock/stockOutOrderDetail.vue 查看文件

30
       <el-row :gutter="12" style="margin-top: 10px">
30
       <el-row :gutter="12" style="margin-top: 10px">
31
         <el-table :data="warehousingOutInfo.warehousingOutData" :class="signAndWeighBoxPatients" style="width: 100%"
31
         <el-table :data="warehousingOutInfo.warehousingOutData" :class="signAndWeighBoxPatients" style="width: 100%"
32
                   border :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}"
32
                   border :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}"
33
+                  :span-method="merge"
33
         >
34
         >
34
           <el-table-column min-width="35" align="center">
35
           <el-table-column min-width="35" align="center">
35
             <template slot="header" slot-scope="scope">
36
             <template slot="header" slot-scope="scope">
115
     },
116
     },
116
     data() {
117
     data() {
117
       return {
118
       return {
119
+        tempArr: [],
120
+        sameRowArr: [],
118
         crumbs: [
121
         crumbs: [
119
           { path: false, name: '库存管理' },
122
           { path: false, name: '库存管理' },
120
           { path: false, name: '耗材出库单' },
123
           { path: false, name: '耗材出库单' },
199
               this.warehousingOutInfo.warehousingOutData.push(response.data.data.list[i])
202
               this.warehousingOutInfo.warehousingOutData.push(response.data.data.list[i])
200
             }
203
             }
201
             this.warehousingOutInfo.info = response.data.data.info
204
             this.warehousingOutInfo.info = response.data.data.info
205
+            this.handleSpanTempArr()
202
           }
206
           }
203
         })
207
         })
204
       }, deleteRecord: function() {
208
       }, deleteRecord: function() {
239
           name: 'user_detail',
243
           name: 'user_detail',
240
           query: { id: row.id }
244
           query: { id: row.id }
241
         })
245
         })
246
+      },merge({ row, column, rowIndex, columnIndex }) {
247
+        if (columnIndex === 0) {
248
+          const _row = this.tempArr[rowIndex]
249
+          const _col = _row > 0 ? 1 : 0
250
+          return {
251
+            rowspan: _row,
252
+            colspan: _col
253
+          }
254
+        }
255
+      },handleSpanTempArr(){
256
+        this.tempArr = []
257
+
258
+        for (let i = 0; i < this.warehousingOutInfo.warehousingOutData.length; i++) {
259
+          if (i === 0) {
260
+            this.tempArr.push(1)
261
+            this.pos = 0
262
+          } else {
263
+            // 判断当前元素与上一个元素是否相同
264
+            if (this.warehousingOutInfo.warehousingOutData[i].good_type_id === this.warehousingOutInfo.warehousingOutData[i - 1].good_type_id) {
265
+              this.tempArr[this.pos] += 1
266
+              this.tempArr.push(0)
267
+            } else {
268
+              this.tempArr.push(1)
269
+              this.pos = i
270
+            }
271
+          }
272
+        }
273
+
274
+        let sameRowArr = [], sIdx = 0
275
+        this.warehousingOutInfo.warehousingOutData.forEach((item, index) => {
276
+          item.index = index
277
+          if (index === 0) {
278
+            sameRowArr.push([index])
279
+          } else {
280
+            if (item.good_type_id === this.warehousingOutInfo.warehousingOutData[index - 1].good_type_id) {
281
+              sameRowArr[sIdx].push(index)
282
+            } else {
283
+              sIdx = sIdx + 1
284
+              sameRowArr.push([index])
285
+            }
286
+          }
287
+        })
288
+        this.sameRowArr = sameRowArr
289
+
290
+
291
+
242
       }
292
       }
243
     }
293
     }
244
   }
294
   }

+ 9 - 8
src/xt_pages/user/patients.vue 查看文件

247
   import { fetchList, EditLapseto, OpenView, code } from '@/api/patient'
247
   import { fetchList, EditLapseto, OpenView, code } from '@/api/patient'
248
   import QRCode from 'qrcodejs2'
248
   import QRCode from 'qrcodejs2'
249
   import Vue from 'vue'
249
   import Vue from 'vue'
250
-  import  print from 'print-js'
250
+  import print from 'print-js'
251
   import { Base64 } from 'js-base64'
251
   import { Base64 } from 'js-base64'
252
-  import { uParseTime} from '@/utils/tools'
252
+  import { uParseTime } from '@/utils/tools'
253
   import { log } from 'util'
253
   import { log } from 'util'
254
-  import BreadCrumb from "@/xt_pages/components/bread-crumb";
255
-  export default {
254
+  import BreadCrumb from '@/xt_pages/components/bread-crumb'
255
+export default {
256
     name: 'Patient',
256
     name: 'Patient',
257
-    components:{
257
+    components: {
258
       BreadCrumb
258
       BreadCrumb
259
     },
259
     },
260
     data() {
260
     data() {
261
       return {
261
       return {
262
         crumbs: [
262
         crumbs: [
263
           { path: false, name: '病人管理' },
263
           { path: false, name: '病人管理' },
264
-          { path: '/patients/patients', name: '病人管理' },
264
+          { path: '/patients/patients', name: '病人管理' }
265
         ],
265
         ],
266
         lapsetoRules: {
266
         lapsetoRules: {
267
           lapseto_type: [
267
           lapseto_type: [
385
 
385
 
386
     methods: {
386
     methods: {
387
       EditLapseto() {
387
       EditLapseto() {
388
-        if (this.lapsetoForm.lapseto_time == ''){
389
-          this.$message.error("请选择时间")
388
+        if (this.lapsetoForm.lapseto_time == '') {
389
+          this.$message.error('请选择时间')
390
           return
390
           return
391
         }
391
         }
392
         EditLapseto(this.lapsetoForm.patient_id, this.lapsetoForm).then(response => {
392
         EditLapseto(this.lapsetoForm.patient_id, this.lapsetoForm).then(response => {
506
             return false
506
             return false
507
           } else {
507
           } else {
508
             var patient = response.data.data.patient
508
             var patient = response.data.data.patient
509
+            console.log('二维码病人信息', patient)
509
             this.id = patient.id
510
             this.id = patient.id
510
             this.name = patient.name
511
             this.name = patient.name
511
             this.gender = patient.gender
512
             this.gender = patient.gender