Explorar el Código

Merge branch 'superman' of http://git.shengws.com/zhangbj/xt_vue into superman

柳香萍 hace 6 años
padre
commit
55aa06639b

+ 1 - 7
config/dev.env.js Ver fichero

@@ -6,11 +6,5 @@
6 6
 module.exports = {
7 7
   NODE_ENV: '"development"',
8 8
   ENV_CONFIG: '"dev"',
9
-<<<<<<< .mine
10
-  BASE_API: '"http://localhost:9529"',//'"http://112.74.16.180:9527"', //http://api.xt.test.sgjyun.com
11
-=======
12
-  BASE_API: '"http://localhost:9529"', // '"http://localhost:9529"'//http://api.xt.test.sgjyun.com http://112.74.16.180:9527
13
->>>>>>> .theirs
14
-  // PATIENT_SIT: '"http://test1.sgjyun.com"',
15
-  // MIRCOMALL_SIT: '"http://mall.test.sgjyun.com"'
9
+  BASE_API: '"http://112.74.16.180:9527"', // '"http://localhost:9529"'//http://api.xt.test.sgjyun.com http://112.74.16.180:9527
16 10
 }

+ 59 - 11
src/router/index.js Ver fichero

@@ -125,17 +125,6 @@ export const xt_constantRouterMap = [
125 125
   // ////////////////////////////
126 126
   // 本地开始
127 127
   // /////////////////////////////
128
-  {
129
-    path: '/sign',
130
-    component: Layout,
131
-    redirect: '/sign/index',
132
-    name: 'sign',
133
-    alwaysShow: true,
134
-    meta: { title: 'signWeight', icon: 'table' },
135
-    children: [
136
-      { path: '/sign/index', component: () => import('@/xt_pages/sign/index'), name: 'signWeight', meta: { title: 'signWeight' }}
137
-    ]
138
-  },
139 128
   {
140 129
     path: '/qcd',
141 130
     component: Layout,
@@ -162,6 +151,65 @@ export const xt_constantRouterMap = [
162 151
       { path: '/qcd/pa/person/indicators', hidden: true, is_menu: false, component: () => import('@/xt_pages/qcd/patientAnalysis/person/indicators'), name: 'paPersonIndicators', meta: { title: '指标控制' }}
163 152
     ]
164 153
   },
154
+  {
155
+    path: 'statistics',
156
+    component: Layout,
157
+    redirect: '/statistics/index',
158
+    children: [{
159
+      path: '/statistics',
160
+      component: () => import('@/xt_pages/statistics/index'),
161
+      name: 'statistics',
162
+      meta: { title: 'statistics', icon: 'chart', noCache: true }
163
+    }]
164
+  },
165
+  {
166
+    path: '/sign',
167
+    component: Layout,
168
+    redirct: '/sign/index',
169
+    children: [{
170
+      path: '/sign',
171
+      component: () => import('@/xt_pages/sign/index'),
172
+      name: 'sign',
173
+      meta: { title: 'signWeight', icon: 'table', noCache: true }
174
+    }]
175
+  },
176
+  {
177
+    path: '/qcd',
178
+    component: Layout,
179
+    redirect: '/qcd/dialysistotal',
180
+    name: 'qcd',
181
+    alwaysShow: true,
182
+    meta: { title: '科室质控', icon: 'table' },
183
+    children: [
184
+      { path: '/qcd/dialysistotal', component: () => import('@/xt_pages/qcd/dialysisTotal'), name: 'dialysistotal', meta: { title: '透析总量' }},
185
+      { path: '/qcd/processindicators', component: () => import('@/xt_pages/qcd/processIndicators'), name: 'processIndicators', meta: { title: '过程指标' }},
186
+      {
187
+        path: '/qcd/outcomeIndicators',
188
+        name: 'outcomeIndicators',
189
+        meta: { title: '结果指标' },
190
+        redirect: '/qcd/outcomeIndicators/control',
191
+        component: () => import('@/xt_pages/qcd/outcomeIndicators/parent'), // Parent router-view
192
+        children: [
193
+          { path: '/qcd/outcomeIndicators/control', component: () => import('@/xt_pages/qcd/outcomeIndicators/control'), name: 'outcomeIndicatorsControl', meta: { title: '指标控制' }},
194
+          { path: '/qcd/outcomeIndicators/query', component: () => import('@/xt_pages/qcd/outcomeIndicators/query'), name: 'outcomeIndicatorsQuery', meta: { title: '指标查询' }}
195
+        ]
196
+      },
197
+      {
198
+        path: '/qcd/patientanalysis',
199
+        name: 'patientanalysis',
200
+        meta: { title: '患者分析' },
201
+        redirect: '/qcd/patientanalysis/total',
202
+        component: () => import('@/xt_pages/qcd/patientAnalysis/parent'), // Parent router-view
203
+        children: [
204
+          { path: '/qcd/patientanalysis/total', component: () => import('@/xt_pages/qcd/patientAnalysis/total'), name: 'patientAnalysisTotal', meta: { title: '总量分析' }},
205
+          { path: '/qcd/patientanalysis/weight', component: () => import('@/xt_pages/qcd/patientAnalysis/weight'), name: 'patientAnalysisWeight', meta: { title: '体重分析' }},
206
+          { path: '/qcd/patientanalysis/bloodpressure', component: () => import('@/xt_pages/qcd/patientAnalysis/bloodPressure'), name: 'patientAnalysisBloodPressure', meta: { title: '血压分析' }},
207
+          { path: '/qcd/patientanalysis/dialysisage', component: () => import('@/xt_pages/qcd/patientAnalysis/dialysisAge'), name: 'patientAnalysisDialysisAge', meta: { title: '透析龄分析' }},
208
+          { path: '/qcd/patientanalysis/lapseto', component: () => import('@/xt_pages/qcd/patientAnalysis/lapseto'), name: 'patientAnalysisLapseto', meta: { title: '转归分析' }}
209
+        ]
210
+      }
211
+    ]
212
+  },
165 213
   {
166 214
     path: '/patients',
167 215
     component: Layout,

+ 113 - 121
src/views/layout/components/Navbar.vue Ver fichero

@@ -80,45 +80,45 @@
80 80
 </template>
81 81
 
82 82
 <script>
83
-  import { mapGetters } from 'vuex'
84
-  // import Breadcrumb from "@/components/Breadcrumb";
85
-  // import Hamburger from "@/components/Hamburger";
86
-  import Screenfull from '@/components/Screenfull'
87
-  import ModifyUserInfoDialog from '@/xt_pages/home/modify_user_info_dialog'
83
+import { mapGetters } from "vuex";
84
+// import Breadcrumb from "@/components/Breadcrumb";
85
+// import Hamburger from "@/components/Hamburger";
86
+import Screenfull from "@/components/Screenfull";
87
+import ModifyUserInfoDialog from "@/xt_pages/home/modify_user_info_dialog";
88 88
 
89
-  export default {
90
-    components: {
91
-      // Breadcrumb,
92
-      // Hamburger,
93
-      Screenfull,
94
-      ModifyUserInfoDialog
89
+export default {
90
+  components: {
91
+    // Breadcrumb,
92
+    // Hamburger,
93
+    Screenfull,
94
+    ModifyUserInfoDialog
95
+  },
96
+  computed: {
97
+    ...mapGetters(["sidebar"]),
98
+    avater: function() {
99
+      var avatar = this.$store.getters.xt_user.user.avatar;
100
+      return avatar.length > 0
101
+        ? avatar
102
+        : require("../../../assets/home/userData.png");
103
+    }
104
+  },
105
+  methods: {
106
+    // toggleSideBar() {
107
+    //   this.$store.dispatch("toggleSideBar");
108
+    // },
109
+    logout() {
110
+      this.$store.dispatch("FrontendLogout");
111
+      window.location.href = process.env.BASE_API + "/logout";
95 112
     },
96
-    computed: {
97
-      ...mapGetters(['sidebar']),
98
-      avater: function() {
99
-        var avatar = this.$store.getters.xt_user.user.avatar
100
-        return avatar.length > 0
101
-          ? avatar
102
-          : require('../../../assets/home/userData.png')
103
-      }
113
+    modifyUserInfoAction() {
114
+      this.$refs.modify_user_info_dialog.show();
104 115
     },
105
-    methods: {
106
-      // toggleSideBar() {
107
-      //   this.$store.dispatch("toggleSideBar");
108
-      // },
109
-      logout() {
110
-        this.$store.dispatch('FrontendLogout')
111
-        window.location.href = process.env.BASE_API + '/logout'
112
-      },
113
-      modifyUserInfoAction() {
114
-        this.$refs.modify_user_info_dialog.show()
115
-      },
116
-      myServe() {
117
-        this.$router.push('/service')
118
-        return false
119
-      }
116
+    myServe() {
117
+      this.$router.push("/service");
118
+      return false;
120 119
     }
121 120
   }
121
+};
122 122
 </script>
123 123
 
124 124
 <style rel="stylesheet/scss" lang="scss" scoped>
@@ -140,11 +140,10 @@
140 140
     box-sizing: border-box;
141 141
     float: left;
142 142
 
143
-  img {
144
-    display: inline-block;
145
-    width: 100px;
146
-  }
147
-
143
+    img {
144
+      display: inline-block;
145
+      width: 100px;
146
+    }
148 147
   }
149 148
   .navbar {
150 149
     border-radius: 0px !important;
@@ -157,101 +156,95 @@
157 156
     background: #409eff;
158 157
     float: left;
159 158
 
160
-  .breadcrumb-container {
161
-    float: left;
162
-  }
163
-
164
-  .errLog-container {
165
-    display: inline-block;
166
-    vertical-align: top;
167
-  }
168
-
169
-  .right-menu {
170
-    float: right;
171
-    height: 100%;
172
-
173
-  &
174
-  :focus {
175
-    outline: none;
176
-  }
159
+    .breadcrumb-container {
160
+      float: left;
161
+    }
177 162
 
178
-  .right-menu-item {
179
-    display: inline-block;
180
-    margin: 0 8px;
163
+    .errLog-container {
164
+      display: inline-block;
165
+      vertical-align: top;
166
+    }
181 167
 
182
-  .iconfont {
183
-    font-size: 18px;
184
-  }
168
+    .right-menu {
169
+      float: right;
170
+      height: 100%;
171
+      z-index: 99999;
172
+      &:focus {
173
+        outline: none;
174
+      }
185 175
 
186
-  }
187
-  .screenfull {
188
-    height: 20px;
189
-  }
176
+      .right-menu-item {
177
+        display: inline-block;
178
+        margin: 0 8px;
190 179
 
191
-  .international {
192
-    vertical-align: top;
193
-  }
180
+        .iconfont {
181
+          font-size: 18px;
182
+        }
183
+      }
184
+      .screenfull {
185
+        height: 20px;
186
+      }
194 187
 
195
-  .theme-switch {
196
-    vertical-align: 15px;
197
-  }
188
+      .international {
189
+        vertical-align: top;
190
+      }
198 191
 
199
-  .avatar-container {
200
-    margin-right: 10px;
192
+      .theme-switch {
193
+        vertical-align: 15px;
194
+      }
201 195
 
202
-  .avatar-wrapper {
203
-    cursor: pointer;
204
-    margin-top: 3px;
205
-    display: flex;
206
-    align-items: center;
207
-    justify-content: center;
196
+      .avatar-container {
197
+        margin-right: 10px;
208 198
 
209
-  .user-avatar {
210
-    width: 40px;
211
-    height: 40px;
212
-    border-radius: 50%;
213
-    object-fit: cover;
214
-    object-position: center;
215
-  }
199
+        .avatar-wrapper {
200
+          cursor: pointer;
201
+          margin-top: 3px;
202
+          display: flex;
203
+          align-items: center;
204
+          justify-content: center;
216 205
 
217
-  .user-title {
218
-    margin: 0 8px;
219
-    font-size: 14px;
220
-    color: #fff;
221
-  }
206
+          .user-avatar {
207
+            width: 40px;
208
+            height: 40px;
209
+            border-radius: 50%;
210
+            object-fit: cover;
211
+            object-position: center;
212
+          }
222 213
 
223
-  .el-icon-caret-bottom {
224
-    font-size: 12px;
225
-    color: #fff;
226
-  }
214
+          .user-title {
215
+            margin: 0 8px;
216
+            font-size: 14px;
217
+            color: #fff;
218
+          }
227 219
 
228
-  }
229
-  }
230
-  }
220
+          .el-icon-caret-bottom {
221
+            font-size: 12px;
222
+            color: #fff;
223
+          }
224
+        }
225
+      }
226
+    }
231 227
   }
232 228
   .system-nav {
229
+    .system-nav-menu {
230
+      float: left;
231
+      height: 60px;
232
+      line-height: 60px;
233
+      padding: 0 25px;
233 234
 
234
-  .system-nav-menu {
235
-    float: left;
236
-    height: 60px;
237
-    line-height: 60px;
238
-    padding: 0 25px;
239
-
240
-  a {
241
-    font-size: 15px;
242
-
243
-  .iconfont {
244
-    font-size: 18px;
245
-  }
246
-
247
-  }
248
-  }
249
-  .active {
250
-    background: #3090eb;
251
-    border-left: 1px #5fabf7 solid;
252
-    border-right: 1px #5fabf7 solid;
253
-  }
235
+      a {
236
+        font-size: 15px;
254 237
 
238
+        .iconfont {
239
+          font-size: 18px;
240
+        }
241
+      }
242
+    }
243
+    .active {
244
+      background: #3090eb;
245
+      border-left: 1px #5fabf7 solid;
246
+      border-right: 1px #5fabf7 solid;
247
+    }
255 248
   }
256 249
   .el-menu::after,
257 250
   .el-menu::before {
@@ -261,6 +254,5 @@
261 254
     top: 0;
262 255
     left: 0;
263 256
   }
264
-
265
-  }
257
+}
266 258
 </style>

+ 31 - 16
src/xt_pages/role/admin.vue Ver fichero

@@ -1,24 +1,23 @@
1 1
 <template>
2
-  <div class="app-container">
3
-    <el-row style="margin-bottom: 10px;">
4
-      <el-col :span="24">
2
+<div class="main-contain">
3
+  <div class="position">
4
+    <bread-crumb></bread-crumb>
5 5
         <router-link to="/role/admin/create">
6
-          <el-button type="primary" icon="el-icon-circle-plus">新增用户</el-button>
6
+          <el-button type="primary" size="small" icon="el-icon-circle-plus-outline" style="float:right;">新增</el-button>
7 7
         </router-link>
8
-      </el-col>
9
-    </el-row>
10
-
11
-    <el-table :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}" ref="table" :data="admins" v-loading="is_loading_admins">
12
-      <el-table-column label="用户名" prop="user_name" width="160px"></el-table-column>
13
-      <el-table-column label="最后登录IP" prop="ip" width="100px"></el-table-column>
14
-      <el-table-column label="最后登录时间" prop="last_login_time" width="160px">
8
+  </div>
9
+  <div class="app-container">
10
+    <el-table :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}" style="width:100%;" ref="table" :data="admins" v-loading="is_loading_admins">
11
+      <el-table-column label="用户名" prop="user_name" width="160"></el-table-column>
12
+      <el-table-column label="最后登录IP" prop="ip" width="150"></el-table-column>
13
+      <el-table-column label="最后登录时间" prop="last_login_time" width="170">
15 14
         <template slot-scope="scope">
16 15
           <span>{{ scope.row.last_login_time == 0 ? '' : (_parseTime(scope.row.last_login_time, '{y}-{m}-{d} {h}:{i}'))}}</span>
17 16
         </template>
18 17
       </el-table-column>
19
-      <el-table-column label="角色" prop="role_name" width="160px"></el-table-column>
20
-      <el-table-column label="职称" prop="title_name" width="160px"></el-table-column>
21
-      <el-table-column label="状态" width="100px">
18
+      <el-table-column label="角色" prop="role_name" width="160"></el-table-column>
19
+      <el-table-column label="职称" prop="title_name" width="160"></el-table-column>
20
+      <el-table-column label="状态" width="100">
22 21
         <template slot-scope="scope">
23 22
           <div v-if="scope.row.status == 1" style="color: #67C23A; font-size:20px;">
24 23
             <li class="el-icon-success"></li>
@@ -28,7 +27,7 @@
28 27
           </div>
29 28
         </template>
30 29
       </el-table-column>
31
-      <el-table-column label="操作" width="210px">
30
+      <el-table-column label="操作" >
32 31
         <template slot-scope="scope">
33 32
           <router-link :to="{ path:'/role/admin/edit', query:{ id:scope.row.user_id }}">
34 33
             <el-tooltip class="item" effect="dark" content="编辑" placement="top">
@@ -51,16 +50,19 @@
51 50
       </el-col>
52 51
     </el-row>
53 52
   </div>
53
+</div>
54
+
54 55
 </template>
55 56
 
56 57
 <script>
57 58
 import {adminMainView, getAdmins, setAdminStatus} from '@/api/role/admin'
58 59
 import { parseTime } from '@/utils'
60
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
59 61
 
60 62
 export default {
61 63
   name: 'adminManage',
62 64
   data() {
63
-    return {
65
+    return {  
64 66
       is_loading_admins: true,
65 67
       admins: [], // [{user_id, user_name, role_name, title_name, ip, last_login_time, status}]
66 68
       admin_total_count: 0,
@@ -68,6 +70,10 @@ export default {
68 70
       is_exist_role: false
69 71
     }
70 72
   },
73
+  components:{
74
+    BreadCrumb
75
+    
76
+  },
71 77
   created: function() {
72 78
     adminMainView().then(rs => {
73 79
       this.is_loading_admins = false
@@ -191,3 +197,12 @@ export default {
191 197
   }
192 198
 }
193 199
 </script>
200
+
201
+
202
+<style rel="stylesheet/scss" lang="scss" scoped>
203
+
204
+.el-button+.el-button{
205
+  margin-left:0!important;
206
+}
207
+
208
+</style>

+ 18 - 7
src/xt_pages/role/role.vue Ver fichero

@@ -1,11 +1,10 @@
1 1
 <template>
2
+<div class="main-contain">
3
+  <div class="position">
4
+    <bread-crumb></bread-crumb>
5
+    <el-button type="primary" size="small" icon="el-icon-circle-plus" style="float:right;" @click="addRoleAction">新增</el-button>
6
+  </div>
2 7
   <div class="app-container">
3
-    <el-row style="margin-bottom: 10px;">
4
-      <el-col :span="24">
5
-        <el-button type="primary" icon="el-icon-circle-plus" @click="addRoleAction">新增角色</el-button>
6
-      </el-col>
7
-    </el-row>
8
-
9 8
     <el-table :data="roles" v-loading="loading_roles" :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}">
10 9
       <el-table-column label="角色名称" prop="name" min-width="20%"></el-table-column>
11 10
       <el-table-column label="角色描述" prop="intro" min-width="25%"></el-table-column>
@@ -50,15 +49,18 @@
50 49
 
51 50
     <edit-role ref="edit_role" @did-add-role="didAddRole" @did-edit-role="didModifyRole"></edit-role>
52 51
   </div>
52
+</div>
53 53
 </template>
54 54
 
55 55
 <script>
56 56
 import EditRole from './components/EditRole.vue'
57 57
 import {getRoles, setRoleStatus} from '@/api/role/role'
58
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
58 59
 
59 60
 export default {
60 61
   components: {
61
-    EditRole
62
+    EditRole,
63
+    BreadCrumb
62 64
   },
63 65
   data: function() {
64 66
     return {
@@ -174,4 +176,13 @@ export default {
174 176
   }
175 177
 }
176 178
 </script>
179
+<style rel="stylesheet/scss" lang="scss" scoped>
180
+
181
+.el-button+.el-button{
182
+  margin-left:0!important;
183
+}
184
+
185
+</style>
186
+
187
+
177 188
 

+ 11 - 0
src/xt_pages/role/special_permission.vue Ver fichero

@@ -1,4 +1,9 @@
1 1
 <template>
2
+<div class="main-contain">
3
+  <div class="position">
4
+    <bread-crumb></bread-crumb>
5
+    
6
+  </div>
2 7
     <div class="app-container">
3 8
         <el-row>
4 9
             <el-col :span="24">
@@ -21,10 +26,13 @@
21 26
             </el-col>
22 27
         </el-row>
23 28
     </div>
29
+</div>
30
+
24 31
 </template>
25 32
 
26 33
 <script>
27 34
 import { getSpecialPermissionInitData, submitDialysisRecordPermissionUsers } from '@/api/role/admin'
35
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
28 36
 
29 37
 export default {
30 38
     name: "SpecialPermissionManage",
@@ -36,6 +44,9 @@ export default {
36 44
             selecting_users: [],
37 45
         }
38 46
     },
47
+    components:{
48
+     BreadCrumb
49
+    },
39 50
     mounted() {
40 51
         getSpecialPermissionInitData().then(rs => {
41 52
             var resp = rs.data

+ 0 - 4
src/xt_pages/user/components/PatientForm.vue Ver fichero

@@ -60,11 +60,7 @@
60 60
               <el-col :span="8" >
61 61
                 <el-form-item label="透析号 : " class="is-required" prop="dialysisNo" >
62 62
                     <el-input v-model="form.dialysisNo" placeholder="填写或自动生成" style="width:62%;float:left;margin-right: 2%;" ></el-input> 
63
-<<<<<<< .mine
64
-                    <el-button style="width:36%;padding:10px 0;" :disabled="$store.getters.xt_user.subscibe.state==3||!subscibeFlag?true:false" type="primary" @click="generatedialysisno">自动生成</el-button>   
65
-=======
66 63
                     <el-button style="width:36%;padding:10px 0;" :disabled="$store.getters.xt_user.subscibe.state==3||!subscibeFlag?true:false" type="primary" @click="generatedialysisno">自动生成</el-button>
67
->>>>>>> .theirs
68 64
                 </el-form-item>
69 65
               </el-col>
70 66
             </template>