Bladeren bron

Merge branch '20201109_pc_vue_new_branch' of http://git.shengws.com/csx/Vue_New into 20201109_pc_vue_new_branch

XMLWAN 4 jaren geleden
bovenliggende
commit
6cb48d2aee

+ 6 - 6
src/api/data.js Bestand weergeven

@@ -178,7 +178,7 @@ export function createDrugUnitSafeguard(params) {
178 178
 
179 179
 export function createMZSick(params) {
180 180
   return request({
181
-    url: '/api/stock/dealer/create',
181
+    url: '/api/mz/sick/create',
182 182
     method: 'post',
183 183
     params: params
184 184
   })
@@ -186,7 +186,7 @@ export function createMZSick(params) {
186 186
 
187 187
 export function modifyMZSick(params) {
188 188
   return request({
189
-    url: '/api/stock/dealer/modify',
189
+    url: '/api/mz/sick/modify',
190 190
     method: 'post',
191 191
     params: params
192 192
   })
@@ -194,7 +194,7 @@ export function modifyMZSick(params) {
194 194
 
195 195
 export function getMZSickList(params) {
196 196
   return request({
197
-    url: '/api/stock/dealer/list',
197
+    url: '/api/mz/sick/list',
198 198
     method: 'get',
199 199
     params: params
200 200
   })
@@ -202,15 +202,15 @@ export function getMZSickList(params) {
202 202
 
203 203
 export function deleteMZSick(params) {
204 204
   return request({
205
-    url: '/api/stock/dealer/delete',
205
+    url: '/api/mz/sick/delete',
206 206
     method: 'post',
207 207
     params: params
208 208
   })
209 209
 }
210 210
 
211
-export function GetMZSickr(params) {
211
+export function GetMZSick(params) {
212 212
   return request({
213
-    url: '/api/stock/dealer/get',
213
+    url: '/api/mz/sick/get',
214 214
     method: 'get',
215 215
     params: params
216 216
   })

+ 391 - 0
src/xt_pages/data/components/diagnosis.vue Bestand weergeven

@@ -0,0 +1,391 @@
1
+<template>
2
+  <div class="main-contain">
3
+    <div class=" sign-and-weigh-box" style="background: white">
4
+      <!--<manufacturer-or-dealer-dialog-->
5
+      <!--ref="dialog"-->
6
+      <!--:titles="manufacturerDialog.titles"-->
7
+      <!--:formValue="manufacturerDialog.formValue"-->
8
+      <!--:visibility="manufacturerDialog.isVisibility"-->
9
+      <!--:type="manufacturerDialog.type"-->
10
+      <!--:isCreated="manufacturerDialog.isCreated"-->
11
+      <!--v-on:dialog-comfirm="manufacturerDialogComfirm"-->
12
+      <!--v-on:dialog-cancle="manufacturerDialogCancle"-->
13
+      <!--&gt;</manufacturer-or-dealer-dialog>-->
14
+      <diagnosis-dialog
15
+        ref="dialog"
16
+        :titles="Dialog.titles"
17
+        :formValue="Dialog.formValue"
18
+        :visibility="Dialog.isVisibility"
19
+        :type="Dialog.type"
20
+        :isCreated="Dialog.isCreated"
21
+        v-on:dialog-comfirm="dialogComfirm"
22
+        v-on:dialog-cancle="dialogCancle"
23
+
24
+      ></diagnosis-dialog>
25
+
26
+
27
+      <el-row :gutter="15">
28
+        <el-col>
29
+          <div>
30
+            <el-button
31
+              size="small"
32
+              icon="el-icon-circle-plus-outline"
33
+              style="float: right;margin-bottom: 15px"
34
+              type="primary"
35
+              @click="showDialog"
36
+            >新增
37
+            </el-button>
38
+          </div>
39
+
40
+          <el-table
41
+            :row-style="{ color: '#303133' }"
42
+            :header-cell-style="{
43
+              backgroundColor: 'rgb(245, 247, 250)',
44
+              color: '#606266'
45
+            }"
46
+            :data="manufacturerData"
47
+            style="width: 100%"
48
+            border
49
+            v-loading="loading"
50
+          >
51
+            <el-table-column label="国家编码" align="center">
52
+              <template slot-scope="scope">
53
+                {{ scope.row.country_code }}
54
+              </template>
55
+            </el-table-column>
56
+
57
+            <el-table-column label="目录代码" align="center">
58
+              <template slot-scope="scope">
59
+                {{ scope.row.content_code }}
60
+              </template>
61
+            </el-table-column>
62
+
63
+
64
+            <el-table-column label="大类名称" align="center">
65
+              <template slot-scope="scope">
66
+                {{ scope.row.class_name }}
67
+              </template>
68
+            </el-table-column>
69
+
70
+            <el-table-column label="国家目录名称" align="center">
71
+              <template slot-scope="scope">
72
+                {{ scope.row.country_content_name }}
73
+              </template>
74
+            </el-table-column>
75
+
76
+            <el-table-column label="备注" align="center">
77
+              <template slot-scope="scope">
78
+                {{ scope.row.remark }}
79
+              </template>
80
+            </el-table-column>
81
+
82
+            <el-table-column label="操作" align="center">
83
+              <template slot-scope="scope">
84
+                <el-tooltip
85
+                  class="item"
86
+                  effect="dark"
87
+                  content="编辑"
88
+                  placement="top"
89
+                >
90
+                  <el-button
91
+                    size="small"
92
+                    type="primary"
93
+                    icon="el-icon-edit-outline"
94
+                    @click="handleEdit(scope.$index, scope.row)"
95
+                  >
96
+                  </el-button>
97
+                </el-tooltip>
98
+                <el-tooltip
99
+                  class="item"
100
+                  effect="dark"
101
+                  content="删除"
102
+                  placement="top"
103
+                >
104
+                  <el-button
105
+                    size="small"
106
+                    type="danger"
107
+                    icon="el-icon-delete"
108
+                    @click="handleDelete(scope.$index, scope.row)"
109
+                  >
110
+                  </el-button>
111
+                </el-tooltip>
112
+
113
+              </template>
114
+            </el-table-column>
115
+          </el-table>
116
+
117
+          <el-pagination
118
+            @size-change="handleSizeChange"
119
+            @current-change="handleCurrentChange"
120
+            :page-sizes="[10, 50, 100]"
121
+            :page-size="10"
122
+            background
123
+            align="right"
124
+            style="margin-top:20px;"
125
+            layout="total, sizes, prev, pager, next, jumper"
126
+            :total="total"
127
+          >
128
+          </el-pagination>
129
+        </el-col>
130
+      </el-row>
131
+    </div>
132
+  </div>
133
+</template>
134
+
135
+<script>
136
+  import {
137
+    createMZSick,
138
+    modifyMZSick,
139
+    getMZSickList,
140
+    deleteMZSick,
141
+    GetMZSick
142
+  } from '@/api/data'
143
+  import DiagnosisDialog from './diagnosisDialog'
144
+
145
+  export default {
146
+    components: {
147
+      DiagnosisDialog
148
+    },
149
+    name: 'diagnosis',
150
+    data() {
151
+      return {
152
+        signAndWeighBoxPatients: 'sign-and-weigh-box-patients',
153
+        manufacturerData: [],
154
+        total: 0,
155
+        pageTotal: 0,
156
+        pageSelect: 0,
157
+
158
+        page: 1,
159
+        limit: 10,
160
+        loading: false,
161
+
162
+        manufacturer_code: '',
163
+        editId: '',
164
+        editIndex: '',
165
+        Dialog: {
166
+          titles: '新增',
167
+          isVisibility: false,
168
+          isCreated: 1, //1.创建 2.编辑 3.查看详情
169
+          formValue: {
170
+            class_name: '',
171
+            content_code: '',
172
+            country_code: '',
173
+            country_content_name: '',
174
+            remark: '',
175
+            pinyin: '',
176
+            wubi: ''
177
+
178
+          },
179
+          resetForm: {
180
+            class_name: '',
181
+            content_code: '',
182
+            country_code: '',
183
+            country_content_name: '',
184
+            remark: '',
185
+            pinyin: '',
186
+            wubi: ''
187
+          }
188
+        }
189
+      }
190
+    },
191
+    methods: {
192
+      handleEdit: function(index, row) {
193
+        this.editId = row.id
194
+        this.editIndex = index
195
+        let params = {
196
+          id: row.id
197
+        }
198
+        GetMZSick(params).then(response => {
199
+          if (response.data.state == 0) {
200
+            this.$message.error(response.data.msg)
201
+            return false
202
+          } else {
203
+            this.Dialog.formValue.class_name =
204
+              response.data.data.sick.class_name
205
+            this.Dialog.formValue.content_code =
206
+              response.data.data.sick.content_code
207
+            this.Dialog.formValue.country_code =
208
+              response.data.data.sick.country_code
209
+            this.Dialog.formValue.country_content_name =
210
+              response.data.data.sick.country_content_name
211
+            this.Dialog.formValue.remark =
212
+              response.data.data.sick.remark
213
+            this.Dialog.formValue.pinyin =
214
+              response.data.data.sick.pinyin
215
+            this.Dialog.formValue.wubi =
216
+              response.data.data.sick.wubi
217
+
218
+            this.Dialog.isCreated = 2
219
+            this.$refs.dialog.show()
220
+
221
+          }
222
+        })
223
+      },
224
+      handleDelete: function(index, row) {
225
+        this.$confirm('确认删除这条记录?', '删除记录', {
226
+          confirmButtonText: '确定',
227
+          cancelButtonText: '取消',
228
+          type: 'warning'
229
+        })
230
+          .then(() => {
231
+            let params = {
232
+              id: row.id
233
+            }
234
+            deleteMZSick(params).then(response => {
235
+              if (response.data.state == 0) {
236
+                this.$message.error(response.data.msg)
237
+                return false
238
+              } else {
239
+                this.manufacturerData.splice(index, 1)
240
+                this.$message.success('厂家已经删除')
241
+              }
242
+            })
243
+          })
244
+          .catch(() => {
245
+          })
246
+      },
247
+      showDetails: function(index, row) {
248
+        let params = {
249
+          id: row.id
250
+        }
251
+        GetMZSick(params).then(response => {
252
+          if (response.data.state == 0) {
253
+            this.$message.error(response.data.msg)
254
+            return false
255
+          } else {
256
+            this.Dialog.formValue.class_name =
257
+              response.data.data.sick.class_name
258
+            this.Dialog.formValue.content_code =
259
+              response.data.data.sick.content_code
260
+            this.Dialog.formValue.country_code =
261
+              response.data.data.sick.country_code
262
+            this.Dialog.formValue.country_content_name =
263
+              response.data.data.sick.country_content_name
264
+            this.Dialog.formValue.remark =
265
+              response.data.data.sick.remark
266
+            this.Dialog.formValue.pinyin =
267
+              response.data.data.sick.pinyin
268
+            this.Dialog.formValue.wubi =
269
+              response.data.data.sick.wubi
270
+
271
+            this.Dialog.isCreated = 3
272
+            this.Dialog.isVisibility = true
273
+          }
274
+        })
275
+      },
276
+      dialogComfirm: function(val) {
277
+        // this.manufacturerDialog.isVisibility = false
278
+        this.$refs.dialog.hide()
279
+        if (val.isCreated == 2) {
280
+          //修改
281
+          let params = {
282
+            class_name: val.class_name,
283
+            content_code: val.content_code,
284
+            country_code: val.country_code,
285
+            country_content_name: val.country_content_name,
286
+            remark: val.remark,
287
+            id: this.editId,
288
+            pinyin: val.pinyin,
289
+            wubi: val.wubi
290
+
291
+          }
292
+          modifyMZSick(params).then(response => {
293
+            if (response.data.state == 0) {
294
+              this.$message.error(response.data.msg)
295
+              return false
296
+            } else {
297
+              this.manufacturerData[this.editIndex].class_name =
298
+                response.data.data.sick.class_name
299
+              this.manufacturerData[this.editIndex].content_code =
300
+                response.data.data.sick.content_code
301
+              this.manufacturerData[this.editIndex].country_code =
302
+                response.data.data.sick.country_code
303
+              this.manufacturerData[this.editIndex].country_code =
304
+                response.data.data.sick.country_code
305
+              this.manufacturerData[this.editIndex].country_content_name =
306
+                response.data.data.sick.country_content_name
307
+              this.manufacturerData[this.editIndex].remark =
308
+                response.data.data.sick.remark
309
+              this.manufacturerData[this.editIndex].pinyin =
310
+                response.data.data.sick.pinyin
311
+              this.manufacturerData[this.editIndex].wubi =
312
+                response.data.data.sick.wubi
313
+
314
+              this.$message.success('修改成功')
315
+            }
316
+          })
317
+        } else if (val.isCreated == 1) {
318
+          //新增
319
+          createMZSick(val).then(response => {
320
+            if (response.data.state == 0) {
321
+              this.$message.error(response.data.msg)
322
+              return false
323
+            } else {
324
+              this.manufacturerData.unshift(response.data.data.sick)
325
+
326
+              this.$message.success('新增成功')
327
+            }
328
+          })
329
+        }
330
+      },
331
+      dialogCancle: function() {
332
+        this.$refs.dialog.hide()
333
+      },
334
+      showDialog: function() {
335
+        this.Dialog.formValue = Object.assign(
336
+          {},
337
+          this.Dialog.resetForm
338
+        )
339
+        this.$refs.dialog.show()
340
+        this.Dialog.isCreated = 1
341
+      },
342
+      handleSizeChange(val) {
343
+        this.limit = val
344
+        this.getList()
345
+      },
346
+      handleCurrentChange(val) {
347
+        this.page = val
348
+        this.getList()
349
+      },
350
+      getList() {
351
+        let params = {
352
+          page: this.page,
353
+          limit: this.limit
354
+        }
355
+        this.loading = true
356
+        getMZSickList(params).then(response => {
357
+          if (response.data.state == 0) {
358
+            this.loading = false
359
+            this.$message.error(response.data.msg)
360
+            return false
361
+          } else {
362
+            this.loading = false
363
+            this.total = response.data.data.total
364
+            this.manufacturerData = []
365
+            for (let i = 0; i < response.data.data.sick.length; i++) {
366
+              this.manufacturerData.push(response.data.data.sick[i])
367
+            }
368
+          }
369
+        })
370
+      }
371
+    },
372
+    created() {
373
+      this.getList()
374
+    }
375
+  }
376
+</script>
377
+
378
+<style lang="scss">
379
+  .el-table td,
380
+  .el-table th.is-leaf,
381
+  .el-table--border,
382
+  .el-table--group {
383
+    border-color: #d0d3da;
384
+  }
385
+
386
+  .el-table--border::after,
387
+  .el-table--group::after,
388
+  .el-table::before {
389
+    background-color: #d0d3da;
390
+  }
391
+</style>

+ 161 - 0
src/xt_pages/data/components/diagnosisDialog.vue Bestand weergeven

@@ -0,0 +1,161 @@
1
+<template>
2
+  <el-dialog width="854px" :title="titles" :visible.sync="visibility" :close-on-click-modal="isClose"
3
+             :close-on-press-escape="isClose">
4
+
5
+    <el-form :model="formValue" :rules="rules" ref="formValue" class="demo-form-inline"
6
+             :label-position="labelPosition"
7
+             label-width="100px">
8
+
9
+      <el-row>
10
+        <el-col :span="8">
11
+          <el-form-item label="大类名称" prop="class_name">
12
+            <el-input v-model="formValue.class_name"></el-input>
13
+          </el-form-item>
14
+        </el-col>
15
+
16
+        <el-col :span="8">
17
+          <el-form-item label="拼音" prop="pinyin">
18
+            <el-input v-model="formValue.pinyin"></el-input>
19
+          </el-form-item>
20
+        </el-col>
21
+        <el-col :span="8">
22
+          <el-form-item label="五笔" prop="wubi">
23
+            <el-input v-model="formValue.wubi"></el-input>
24
+          </el-form-item>
25
+        </el-col>
26
+
27
+        <el-col :span="8">
28
+          <el-form-item label="目录代码" prop="content_code">
29
+            <el-input v-model="formValue.content_code"></el-input>
30
+          </el-form-item>
31
+        </el-col>
32
+
33
+        <el-col :span="8">
34
+          <el-form-item label="国家编码" prop="country_code">
35
+            <el-input v-model="formValue.country_code"></el-input>
36
+          </el-form-item>
37
+        </el-col>
38
+
39
+        <el-col :span="8">
40
+          <el-form-item label="国家目录名称" prop="country_content_name">
41
+            <el-input v-model="formValue.country_content_name"></el-input>
42
+          </el-form-item>
43
+        </el-col>
44
+      </el-row>
45
+
46
+      <el-col>
47
+        <el-form-item label="备注">
48
+          <el-input type="textarea" :row="5" v-model="formValue.remark"
49
+                    placeholder="请输入内容">
50
+          </el-input>
51
+        </el-form-item>
52
+      </el-col>
53
+    </el-form>
54
+
55
+    <span slot="footer" class="dialog-footer">
56
+    <el-button v-if="isCreated == 3" @click="cancle('formValue')">取 消</el-button>
57
+    <el-button v-if="isCreated != 3 " @click="cancle('formValue')">取 消</el-button>
58
+    <el-button v-if="isCreated != 3" type="primary" @click="comfirm('formValue')">保 存</el-button>
59
+  </span>
60
+  </el-dialog>
61
+
62
+</template>
63
+
64
+<script>
65
+  export default {
66
+    name: 'diagnosisDialog',
67
+
68
+    data() {
69
+
70
+      return {
71
+        visibility: false,
72
+        labelPosition: 'right',
73
+        isClose: false,
74
+        form: {
75
+          class_name: '',
76
+          content_code: '',
77
+          country_code: '',
78
+          country_content_name: '',
79
+          remark: '',
80
+          pinyin: '',
81
+          wubi: ''
82
+
83
+        },
84
+        resetForm: {
85
+          class_name: '',
86
+          content_code: '',
87
+          country_code: '',
88
+          country_content_name: '',
89
+          remark: '',
90
+          pinyin: '',
91
+          wubi: ''
92
+        },
93
+        rules: {
94
+          class_name: [
95
+            { required: true, message: '请输入大类名称', trigger: 'blur' }
96
+          ],
97
+          content_code: [
98
+            { required: true, message: '请输入目录代码', trigger: 'blur' }
99
+          ]
100
+
101
+        }
102
+      }
103
+    },
104
+    props: {
105
+
106
+      titles: {
107
+        type: String,
108
+        default: ''
109
+      },
110
+      formValue: {
111
+        type: Object
112
+      },
113
+      type: {
114
+        type: Number,
115
+        default: 1
116
+
117
+      },
118
+      isCreated: {
119
+        type: Number,
120
+        default: 1
121
+
122
+      }
123
+    },
124
+    methods: {
125
+      show: function() {
126
+        this.visibility = true
127
+
128
+      }, hide: function() {
129
+        this.visibility = false
130
+      },
131
+      cancle: function(formName) {
132
+        this.$emit('dialog-cancle', this.getValue())
133
+        this.$refs['formValue'].resetFields()
134
+      },
135
+      comfirm: function(formName) {
136
+        this.$refs['formValue'].validate((valid) => {
137
+          if (valid) {
138
+            let value = {}
139
+            value = this.getValue()
140
+            this.$emit('dialog-comfirm', value)
141
+            this.form = Object.assign({}, this.resetForm)
142
+
143
+          }
144
+        })
145
+      },
146
+      getValue: function() {
147
+        let form = {}
148
+        form = this.formValue
149
+        form['title'] = this.titles
150
+        form['type'] = this.type
151
+        form['isCreated'] = this.isCreated
152
+        return form
153
+      }
154
+    }
155
+
156
+  }
157
+</script>
158
+
159
+<style scoped>
160
+
161
+</style>

+ 6 - 4
src/xt_pages/data/specialDictionary.vue Bestand weergeven

@@ -26,11 +26,11 @@
26 26
           <dealer></dealer>
27 27
         </el-tab-pane>
28 28
 
29
-        <el-tab-pane label="门诊大病" name="6">
30
-          <manufacturer></manufacturer>
31
-
29
+        <el-tab-pane label="门诊大病" name="7">
30
+          <!--<manufacturer></manufacturer>-->
31
+          <diagnosis></diagnosis>
32 32
         </el-tab-pane>
33
-        <el-tab-pane label="配置项字典" name="7">
33
+        <el-tab-pane label="配置项字典" name="8">
34 34
           <configure></configure>
35 35
         </el-tab-pane>
36 36
       </el-tabs>
@@ -48,10 +48,12 @@
48 48
   import manufacturer from '../stock/config/manufacturer'
49 49
   import configure from './components/configure'
50 50
   import Dealer from '../stock/config/dealer'
51
+  import Diagnosis from './components/diagnosis'
51 52
 
52 53
   export default {
53 54
     name: 'specialDictionary',
54 55
     components: {
56
+      Diagnosis,
55 57
       Dealer,
56 58
       BreadCrumb,
57 59
       drugs,

+ 20 - 23
src/xt_pages/outpatientCharges/components/prescriptionTable.vue Bestand weergeven

@@ -4,22 +4,24 @@
4 4
               :row-style="{ color: '#303133' }"
5 5
               :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
6 6
       <el-table-column align="center" prop="name" label="名称">
7
-        <template slot-scope="scope">{{ scope.row.drug_name }}</template>
7
+        <template slot-scope="scope"><span :title='scope.row.drug_name'>{{ scope.row.drug_name }}</span></template>
8 8
       </el-table-column>
9 9
 
10
-      <el-table-column align="center" prop="name" width="50" :label="'单次\n用量'">
10
+      <el-table-column align="center" prop="name" width="90" label="单次用量">
11 11
         <template slot-scope="scope">
12
-          <el-input v-model="scope.row.single_dose" readonly></el-input>
13
-          <div> {{scope.row.min_unit}}</div>
12
+          <div style="display:flex;align-items:center;">
13
+            <el-input v-model="scope.row.single_dose" readonly style="width:65%;"></el-input>
14
+            <div> {{scope.row.min_unit}}</div>
15
+          </div>
14 16
         </template>
15 17
       </el-table-column>
16
-      <el-table-column align="center" prop="name" width="50" label="用法">
18
+      <el-table-column align="center" prop="name" width="100" label="用法">
17 19
         <template slot-scope="scope">
18 20
           <el-input v-model="scope.row.delivery_way" readonly></el-input>
19 21
 
20 22
         </template>
21 23
       </el-table-column>
22
-      <el-table-column align="center" prop="name" width="50" label="频率">
24
+      <el-table-column align="center" prop="name" width="100" label="频率">
23 25
         <template slot-scope="scope">
24 26
           <el-input v-model="scope.row.execution_frequency" readonly></el-input>
25 27
         </template>
@@ -27,20 +29,20 @@
27 29
 
28 30
       <el-table-column align="center" prop="name" width="100" label="总量">
29 31
         <template slot-scope="scope">
30
-          <div style="display:flex;">
31
-            <el-input v-model="scope.row.prescribing_number" style="width:50%" readonly placeholder=""></el-input>
32
+          <div style="display:flex;align-items:center;">
33
+            <el-input v-model="scope.row.prescribing_number" style="width:60%" readonly placeholder=""></el-input>
32 34
             <div>{{scope.row.min_unit}}</div>
33 35
           </div>
34 36
         </template>
35 37
       </el-table-column>
36
-      <el-table-column align="center" prop="name" width="50" label="单价">
38
+      <el-table-column align="center" prop="name" width="60" label="单价">
37 39
         <template slot-scope="scope">
38 40
           <el-input v-model="scope.row.retail_price" placeholder="" readonly></el-input>
39 41
         </template>
40 42
       </el-table-column>
41 43
       <el-table-column align="center" prop="name" width="50" label="备注">
42 44
         <template slot-scope="scope">
43
-          <el-input v-model="scope.row.remark" style="width:50%" placeholder="" readonly></el-input>
45
+          <el-input v-model="scope.row.remark" :title="scope.row.remark" placeholder="" readonly></el-input>
44 46
         </template>
45 47
       </el-table-column>
46 48
     </el-table>
@@ -51,35 +53,35 @@
51 53
       <el-table-column align="center" prop="project_name" label="名称">
52 54
         <template slot-scope="scope">{{ scope.row.project_name }}</template>
53 55
       </el-table-column>
54
-      <el-table-column align="center" prop="statistical_classification" width="50" label="组">
56
+      <el-table-column align="center" prop="statistical_classification" width="100" label="组">
55 57
         <template slot-scope="scope">
56 58
           {{getGroup(scope.row.statistical_classification)}}
57 59
         </template>
58 60
       </el-table-column>
59
-      <el-table-column align="center" prop="single_dose" width="130" :label="'单次\n用量'">
61
+      <el-table-column align="center" prop="single_dose" width="80" label="单次用量">
60 62
         <template slot-scope="scope">
61 63
           <el-input v-model="scope.row.single_dose" placeholder="" readonly></el-input>
62 64
         </template>
63 65
       </el-table-column>
64
-      <el-table-column align="center" prop="delivery_way" width="130" label="用法">
66
+      <el-table-column align="center" prop="delivery_way" width="80" label="用法">
65 67
         <template slot-scope="scope">
66 68
           <el-input v-model="scope.row.delivery_way" placeholder="" readonly></el-input>
67 69
         </template>
68 70
       </el-table-column>
69
-      <el-table-column align="center" prop="execution_frequency" width="130" label="频率">
71
+      <el-table-column align="center" prop="execution_frequency" width="80" label="频率">
70 72
         <template slot-scope="scope">
71 73
           <el-input v-model="scope.row.execution_frequency" placeholder="" readonly></el-input>
72 74
         </template>
73 75
       </el-table-column>
74
-      <el-table-column align="center" prop="number_days" width="130" label="天数">
76
+      <el-table-column align="center" prop="number_days" width="50" label="天数">
75 77
         <template slot-scope="scope">
76 78
           <el-input v-model="scope.row.number_days" placeholder="" readonly></el-input>
77 79
         </template>
78 80
       </el-table-column>
79
-      <el-table-column align="center" prop="total" width="100" label="总量">
81
+      <el-table-column align="center" prop="total" width="50" label="总量">
80 82
         <template slot-scope="scope">
81 83
           <div style="display:flex;">
82
-            <el-input v-model="scope.row.total" style="width:50" placeholder="" readonly></el-input>
84
+            <el-input v-model="scope.row.total" placeholder="" readonly></el-input>
83 85
           </div>
84 86
         </template>
85 87
       </el-table-column>
@@ -88,18 +90,13 @@
88 90
           <el-input v-model="scope.row.price" placeholder="" readonly></el-input>
89 91
         </template>
90 92
       </el-table-column>
91
-      <el-table-column align="center" prop="name" width="120" label="备注">
93
+      <el-table-column align="center" prop="name" width="50" label="备注">
92 94
         <template slot-scope="scope">
93 95
           <el-input v-model="scope.row.remark" readonly></el-input>
94 96
         </template>
95 97
       </el-table-column>
96 98
     </el-table>
97 99
   </div>
98
-
99
-
100
-
101
-
102
-
103 100
 </template>
104 101
 
105 102
 <script>

+ 42 - 15
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue Bestand weergeven

@@ -5,32 +5,32 @@
5 5
     </div>
6 6
     <div class="app-container" style="display:flex;flex: 1;padding: 20px 20px 0px 20px;">
7 7
       <div class="mainLeft">
8
-        <!--<div class="mainCell" style="justify-content: space-between;">-->
9
-        <!--<p>未就诊:<span>1</span>人</p>-->
10
-        <!--<p>已就诊:<span>0</span>人</p>-->
11
-        <!--</div>-->
12
-        <!--<div class="mainCell">-->
13
-        <!--<el-radio-group v-model="radio" @change="changeRadio">-->
14
-        <!--<el-radio :label=1>未就诊</el-radio>-->
15
-        <!--<el-radio :label=2>已就诊</el-radio>-->
16
-        <!--<el-radio :label=3>全部</el-radio>-->
17
-        <!--</el-radio-group>-->
18
-        <!--</div>-->
8
+        <div class="mainCell" style="justify-content: space-between;">
9
+        <p>未就诊:<span>1</span>人</p>
10
+        <p>已就诊:<span>0</span>人</p>
11
+        </div>
12
+        <div class="mainCell">
13
+        <el-radio-group v-model="radio" @change="changeRadio">
14
+        <el-radio :label=1>未就诊</el-radio>
15
+        <el-radio :label=2>已就诊</el-radio>
16
+        <el-radio :label=3>全部</el-radio>
17
+        </el-radio-group>
18
+        </div>
19 19
         <div class="mainCell" style="margin-bottom:10px;">
20 20
           <el-input size="small" @keyup.enter.native='searchAction' v-model.trim="search_input" class="filter-item"/>
21 21
           <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary" @click="searchAction">
22 22
             搜索
23 23
           </el-button>
24 24
         </div>
25
-        <div style="flex:1;overflow-y:auto;">
26
-          <el-table :data="patientTableData" border style="width: 100%;" :row-style="{ color: '#303133' }"
25
+        <div>
26
+          <el-table :data="patientTableData" :height="tableHeight" border style="width: 100%;" :row-style="{ color: '#303133' }"
27 27
                     :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
28 28
                     highlight-current-row ref="tab"
29 29
                     @current-change="handleCurrentChange">
30
-            <el-table-column align="center" prop="name" label="患者姓名">
30
+            <el-table-column align="center" prop="name" label="姓名" wdith='89'>
31 31
               <template slot-scope="scope">{{scope.row.patients?scope.row.patients.name:''}}</template>
32 32
             </el-table-column>
33
-            <el-table-column align="center" prop="name" label="就诊号" width="90">
33
+            <el-table-column align="center" prop="name" label="就诊号" width="110">
34 34
               <template slot-scope="scope">{{ scope.row.his_patient ?scope.row.his_patient.number:''}}</template>
35 35
             </el-table-column>
36 36
           </el-table>
@@ -229,6 +229,8 @@
229 229
           { path: false, name: '门诊收费' },
230 230
           { path: false, name: '门诊收费管理' }
231 231
         ],
232
+        tableHeight:'',
233
+        fullHeight: document.documentElement.clientHeight,
232 234
         activeName: 'first',
233 235
         info: {},
234 236
         curPrescriptions: {},
@@ -261,6 +263,8 @@
261 263
       }
262 264
     },
263 265
     created() {
266
+      let tableHeight = document.body.clientHeight - 263
267
+      this.tableHeight = tableHeight
264 268
       var nowDate = new Date()
265 269
       var nowYear = nowDate.getFullYear()
266 270
       var nowMonth = nowDate.getMonth() + 1
@@ -641,6 +645,29 @@
641 645
           }
642 646
         })
643 647
       }
648
+    },
649
+    mounted(){
650
+      const that = this
651
+      window.onresize = () => {
652
+        return (() => {
653
+          window.fullHeight = document.documentElement.clientHeight
654
+          that.fullHeight = window.fullHeight
655
+        })()
656
+      }
657
+    },
658
+    watch: {
659
+      fullHeight (val) {
660
+        if(!this.timer) {
661
+          this.fullHeight = val
662
+          let tableHeight = val - 263
663
+          this.tableHeight = tableHeight
664
+          this.timer = true
665
+          let that = this
666
+          setTimeout(function (){
667
+            that.timer = false
668
+          },400)
669
+        }
670
+      }
644 671
     }
645 672
   }
646 673
 </script>

+ 18 - 7
src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue Bestand weergeven

@@ -135,7 +135,7 @@
135 135
                           @select-all="changeAllGoodInfoTableData"
136 136
                           :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
137 137
                           highlight-current-row>
138
-                  <el-table-column type="selection" width="40"></el-table-column>
138
+                  <el-table-column type="selection" width="40" align="center"></el-table-column>
139 139
                   <el-table-column prop="name" label="名称">
140 140
                     <template slot-scope="scope">{{ scope.row.drug_name }}</template>
141 141
                   </el-table-column>
@@ -164,7 +164,7 @@
164 164
                           :row-style="{ color: '#303133' }"
165 165
                           :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
166 166
                           highlight-current-row>
167
-                  <el-table-column type="selection" width="40"></el-table-column>
167
+                  <el-table-column type="selection" width="40" align="center"></el-table-column>
168 168
                   <el-table-column prop="name" label="名称">
169 169
                     <template slot-scope="scope">{{}}</template>
170 170
                   </el-table-column>
@@ -190,7 +190,7 @@
190 190
                           @select-all="changeAllGoodInfoTableDataTwo"
191 191
                           :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
192 192
                           highlight-current-row>
193
-                  <el-table-column type="selection" width="40"></el-table-column>
193
+                  <el-table-column type="selection" width="40" align="center"></el-table-column>
194 194
                   <el-table-column prop="name" label="名称">
195 195
                     <template slot-scope="scope">{{ scope.row.project_name }}</template>
196 196
                   </el-table-column>
@@ -207,7 +207,7 @@
207 207
                           :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
208 208
                           highlight-current-row
209 209
                           @select='selectTeam'>
210
-                  <el-table-column type="selection" width="40"></el-table-column>
210
+                  <el-table-column type="selection" width="40" align="center"></el-table-column>
211 211
                   <el-table-column prop="name" label="名称">
212 212
                     <template slot-scope="scope">{{scope.row.project_team}}</template>
213 213
                   </el-table-column>
@@ -578,11 +578,18 @@
578 578
           this.$message.error('该处方已经结算或者退费,无法继续添加处方')
579 579
           return
580 580
         }
581
+        if(this.curPrescriptions.advices.length == 0 && this.curPrescriptions.project.length == 0 ){
582
+          this.$message.error('当前处方无数据,新增数据后才能新增处方')
583
+          return
584
+        }
585
+
586
+
581 587
         ++this.tabIndex
582 588
         let newTabName = '处方' + this.tabIndex
583 589
         this.prescriptions.push({
584 590
           id: 0,
585 591
           name: newTabName,
592
+          order_status:0,
586 593
           advices: [],
587 594
           project: []
588 595
 
@@ -592,11 +599,14 @@
592 599
         this.curStatus = 0
593 600
       },
594 601
       removeTab(targetName) {
595
-        if(this.curPrescriptions.order_status >= 2){
596
-          this.$message.error('该处方已经结算或者退费,无法删除')
602
+        if(this.curPrescriptions.order_status == 2){
603
+          this.$message.error('该处方已经结算,无法删除')
604
+          return
605
+        }
606
+        if(targetName == "处方1"){
607
+          this.$message.error('该处方无法删除')
597 608
           return
598 609
         }
599
-
600 610
         this.$confirm('处方删除后不可恢复,是否确认删除', '删除', {
601 611
           confirmButtonText: '确 定',
602 612
           cancelButtonText: '取 消',
@@ -1169,6 +1179,7 @@
1169 1179
     .el-tab-pane{
1170 1180
       display: flex;
1171 1181
       flex-direction: column;
1182
+      height:100%;
1172 1183
     }
1173 1184
   }
1174 1185
   #tab-more {

+ 16 - 15
src/xt_pages/outpatientDoctorStation/components/prescriptionTable.vue Bestand weergeven

@@ -3,13 +3,13 @@
3 3
     <el-table v-if="activeType  == 1" :data="prescription.advices" border style="width: 99%;" :row-style="{ color: '#303133' }"
4 4
               :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
5 5
       <el-table-column align="center" prop="drug_name" label="名称">
6
-        <template slot-scope="scope">{{ scope.row.drug_name }}</template>
6
+        <template slot-scope="scope"><span :title="scope.row.drug_name">{{ scope.row.drug_name }}</span></template>
7 7
       </el-table-column>
8 8
 
9
-      <el-table-column align="center" prop="single_dose" width="80" :label="'单次\n用量'">
9
+      <el-table-column align="center" prop="single_dose" width="90" label="单次用量">
10 10
         <template slot-scope="scope">
11 11
           <div style="display:flex;align-items:center;">
12
-            <el-input v-model="scope.row.single_dose" style="width:60%;"></el-input>
12
+            <el-input v-model="scope.row.single_dose" style="width:65%;"></el-input>
13 13
             <div>{{scope.row.min_unit}}</div>
14 14
           </div>
15 15
         </template>
@@ -54,7 +54,7 @@
54 54
       </el-table-column>
55 55
       <el-table-column align="center" prop="remark" width="50" label="备注">
56 56
         <template slot-scope="scope">
57
-          <el-input v-model="scope.row.remark" placeholder=""></el-input>
57
+          <el-input v-model="scope.row.remark" :title="scope.row.remark" placeholder=""></el-input>
58 58
         </template>
59 59
       </el-table-column>
60 60
       <el-table-column align="center" width="40" prop="name" label="操作">
@@ -68,24 +68,22 @@
68 68
               :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
69 69
       <!-- <el-table-column align="center" type="index" width="40" label="序号"></el-table-column> -->
70 70
       <el-table-column align="center" prop="project_name" label="名称">
71
-        <template slot-scope="scope">{{ scope.row.project_name }}</template>
71
+        <template slot-scope="scope"><span :title="scope.row.project_name">{{ scope.row.project_name }}</span></template>
72 72
       </el-table-column>
73 73
       <el-table-column align="center" prop="statistical_classification" width="100" label="组">
74
-        <template slot-scope="scope">
75
-          {{getGroup(scope.row.statistical_classification)}}
76
-        </template>
74
+        <template slot-scope="scope">{{getGroup(scope.row.statistical_classification)}}</template>
77 75
       </el-table-column>
78
-      <el-table-column align="center" prop="single_dose" width="80" :label="'单次\n用量'">
76
+      <el-table-column align="center" prop="single_dose" width="80" label="单次用量">
79 77
         <template slot-scope="scope">
80 78
           <el-input v-model="scope.row.single_dose" placeholder=""></el-input>
81 79
         </template>
82 80
       </el-table-column>
83
-      <el-table-column align="center" prop="delivery_way" width="50" label="用法">
81
+      <el-table-column align="center" prop="delivery_way" width="80" label="用法">
84 82
         <template slot-scope="scope">
85 83
           <el-input v-model="scope.row.delivery_way" placeholder=""></el-input>
86 84
         </template>
87 85
       </el-table-column>
88
-      <el-table-column align="center" prop="execution_frequency" width="50" label="频率">
86
+      <el-table-column align="center" prop="execution_frequency" width="80" label="频率">
89 87
         <template slot-scope="scope">
90 88
           <el-input v-model="scope.row.execution_frequency" placeholder=""></el-input>
91 89
         </template>
@@ -109,7 +107,7 @@
109 107
       </el-table-column>
110 108
       <el-table-column align="center" prop="name" width="50" label="备注">
111 109
         <template slot-scope="scope">
112
-           <el-input v-model="scope.row.remark"></el-input>
110
+           <el-input v-model="scope.row.remark" :title="scope.row.remark"></el-input>
113 111
         </template>
114 112
       </el-table-column>
115 113
       <el-table-column align="center" width="40" prop="name" label="操作">
@@ -193,7 +191,7 @@
193 191
         })
194 192
 
195 193
       },deleteDrug:function(index, row){
196
-       if(this.curPrescriptions.order_status >= 2){
194
+       if(this.prescription.order_status >= 2){
197 195
          this.$message.error('该处方已经结算或者退费,无法删除')
198 196
          return
199 197
        }
@@ -203,8 +201,8 @@
203 201
          type: "warning"
204 202
        }).then(() => {
205 203
          this.$nextTick(function(){
206
-           // this.prescription.advices.splice(index, 1)
207 204
            if(row.advice_id == 0){
205
+             this.prescription.advices.splice(index, 1)
208 206
            }else{
209 207
              let params = {
210 208
                'id': row.advice_id,
@@ -269,7 +267,7 @@
269 267
          return name
270 268
       },
271 269
       deleteProject(row,i){
272
-        if(this.curPrescriptions.order_status >= 2){
270
+        if(this.prescription.order_status = 2){
273 271
           this.$message.error('该处方已经结算或者退费,无法删除')
274 272
           return
275 273
         }
@@ -311,6 +309,9 @@
311 309
 
312 310
 <style lang="scss">
313 311
   .prescriptionTable {
312
+    .el-input__inner{
313
+      padding: 0 5px;
314
+    }
314 315
     .additionalBox{
315 316
       margin-top: 20px;
316 317
       display: flex;

+ 10 - 12
src/xt_pages/outpatientDoctorStation/doctorDesk.vue Bestand weergeven

@@ -17,7 +17,7 @@
17 17
           </el-radio-group>
18 18
         </div>
19 19
         <div class="mainCell" style="margin-bottom:10px;">
20
-          <el-input size="small" @keyup.enter.native='searchAction' v-model="search_input" class="filter-item"/>
20
+          <el-input size="small" placeholder="请输入姓名或就诊号" @input="searchAction" @keyup.enter.native='searchAction' v-model="search_input" class="filter-item"/>
21 21
           <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary" @click="searchAction">
22 22
             搜索
23 23
           </el-button>
@@ -29,7 +29,7 @@
29 29
                     highlight-current-row
30 30
                     ref="tab"
31 31
           >
32
-            <el-table-column prop="name" label="姓名">
32
+            <el-table-column prop="name" label="姓名" width='89'>
33 33
               <template slot-scope="scope">{{scope.row.patients?scope.row.patients.name:''}}</template>
34 34
             </el-table-column>
35 35
             <el-table-column prop="name" label="就诊号" width="110">
@@ -41,16 +41,16 @@
41 41
       <div class="mainRight">
42 42
         <div class="mainHeader">
43 43
           <el-radio-group class="titleBox" v-model="titleType" @change="changeTab">
44
-            <el-radio-button label="处方"></el-radio-button>
45
-            <el-radio-button label="病历"></el-radio-button>
44
+            <el-radio-button label="电子处方"></el-radio-button>
45
+            <el-radio-button label="电子病历"></el-radio-button>
46 46
           </el-radio-group>
47
-          <div class="mainCell fixedCell" style="float:right" v-if="titleType == '处方'">
47
+          <div class="mainCell fixedCell" style="float:right" v-if="titleType == '电子处方'">
48 48
             <el-button size="small" ref="button_one"   @click="open(1)" type="primary" style="margin-left:10px;">保存</el-button>
49 49
             <el-button size="small" ref="button_two"   @click="open(2)" type="primary">打印</el-button>
50 50
             <el-button size="small" ref="button_three" @click="open(4)" type="primary">选择模板</el-button>
51 51
             <el-button size="small" ref="button_four"  @click="open(5)" type="primary">存模板</el-button>
52 52
           </div>
53
-          <div class="mainCell fixedCell" style="float:right" v-if="titleType == '病历'">
53
+          <div class="mainCell fixedCell" style="float:right" v-if="titleType == '电子病历'">
54 54
             <el-button size="small" @click="opentwo(1)" type="primary" style="margin-left:10px;">保存</el-button>
55 55
             <el-button size="small" @click="opentwo(2)" type="primary">打印</el-button>
56 56
             <el-button size="small" @click="opentwo(3)" type="primary">病历调用</el-button>
@@ -105,13 +105,13 @@
105 105
         search_input: '',
106 106
         cal_one: 0,
107 107
         cal_two: 0,
108
-        radio: 0,
108
+        radio: 1,
109 109
         record_date: '',
110 110
         crumbs: [
111 111
           { path: false, name: '门诊医生站' },
112 112
           { path: false, name: '医生工作台' }
113 113
         ],
114
-        titleType: '处方',
114
+        titleType: '电子处方',
115 115
         patientTableData: [{}],
116 116
         patientTableDataTwo:[{}],
117 117
         patientInfo: {},
@@ -140,13 +140,11 @@
140 140
         }else{
141 141
           let arr = []
142 142
           for (let i = 0; i < this.patientTableData.length; i++){
143
-            if(this.patientTableData[i].patients.name.indexOf(this.search_input) != -1 ){
143
+            if(this.patientTableData[i].patients.name.indexOf(this.search_input) != -1 || this.patientTableData[i].his_patient.number.indexOf(this.search_input) != -1){
144 144
               arr = arr.concat(this.patientTableData[i])
145 145
             }
146 146
           }
147
-          if(arr.length > 0){
148
-            this.patientTableData = arr
149
-          }
147
+          this.patientTableData = arr
150 148
 
151 149
         }
152 150
 

+ 5 - 4
src/xt_pages/outpatientDoctorStation/pastInquiries.vue Bestand weergeven

@@ -13,11 +13,9 @@
13 13
                         :editable="false" :clearable="false" style="width: 196px;margin-right:10px;" type="date"
14 14
                         placeholder="选择日期时间" align="right"></el-date-picker>
15 15
       </div>
16
-      <el-table :data="tableData" border style="width: 100%;" :row-style="{ color: '#303133' }"
16
+      <el-table :data="tableData" border ref="table" style="width: 100%;" :row-style="{ color: '#303133' }"
17 17
                 :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
18
-        <el-table-column align="center" label="序号" width="60" type="index">
19
-          <!--<template slot-scope="scope">{{ scope.$index +1 }}</template>-->
20
-        </el-table-column>
18
+        <el-table-column align="center" label="序号" width="60" type="index"></el-table-column>
21 19
         <el-table-column align="center" prop="name" label="姓名" width="100">
22 20
           <template slot-scope="scope">{{ scope.row.patient.name }}</template>
23 21
         </el-table-column>
@@ -119,6 +117,9 @@
119 117
             return false
120 118
           } else {
121 119
             this.tableData = response.data.data.order
120
+            this.$nextTick(() => {
121
+              this.$refs.table.doLayout(); //解决表格错位
122
+            });
122 123
 
123 124
           }
124 125
         })