Browse Source

HIS 系统提交

XMLWAN 4 years ago
parent
commit
6bbcf91fae

+ 73 - 0
src/api/project/project.js View File

@@ -160,4 +160,77 @@ export function saveCharges(data){
160 160
        method:"post",
161 161
        data:data
162 162
     })
163
+}
164
+
165
+
166
+export function getAllProjectList(params){
167
+    return request({
168
+       url:"/api/his/getallprojectlist",
169
+       methods:"get",
170
+       params:params
171
+    })
172
+}
173
+
174
+export function addProjectList(params){
175
+  
176
+    return request({
177
+       url:"/api/his/addprojectlist",
178
+       methods:"get",
179
+       params:params
180
+    })
181
+}
182
+
183
+export function getPatientInformation(id,params){
184
+   
185
+   return request({
186
+     url:"/api/his/getpatientinformation?id="+id,
187
+     methods:"Get",
188
+     params:params
189
+   })
190
+}
191
+
192
+export function DeleteProject(id,params){
193
+   
194
+    return request({
195
+       url:"/api/his/deleteproject?id="+id,
196
+       methods:"Get",
197
+       params:params
198
+    })
199
+}
200
+
201
+
202
+export function getHisProject(params){
203
+  
204
+    return request({
205
+       url:"/api/his/gethisproject",
206
+       methods:"get",
207
+       params:params
208
+    })
209
+}
210
+
211
+export function addProjectTeam(params){
212
+   
213
+  return request({
214
+      url:"/api/his/getprojectteam",
215
+      methods:"Get",
216
+      params:params
217
+  })
218
+}
219
+
220
+export function getAllDoctorList(params){
221
+   
222
+  return request({
223
+      url:"/api/his/getalldoctorlist",
224
+      methods:"Get",
225
+      params:params
226
+  })
227
+} 
228
+
229
+export function saveHisPatient(params){
230
+   
231
+    return request({
232
+        url:"/api/his/savehispatient",
233
+        methods:"get",
234
+        params:params
235
+    })
163 236
 }

+ 134 - 7
src/xt_pages/data/components/addInspection.vue View File

@@ -43,6 +43,60 @@
43 43
                 <el-form-item label="备注 : " prop="name" style="width:100%;">
44 44
                     <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="form.remark"></el-input>
45 45
                 </el-form-item>
46
+  
47
+                 <el-form-item label="组套明细" style="width:50%;">
48
+                    <el-select v-model="form.project_detail" placeholder="请选择">
49
+                        <el-option
50
+                        v-for="item in projectList"
51
+                        :key="item.id"
52
+                        :label="item.project_name"
53
+                        :value="item.id">
54
+                        </el-option>
55
+                    </el-select>
56
+
57
+                    </el-form-item>
58
+                 <el-form-item label="数量" style="width:50%;"> 
59
+                      <div style="display:flex;"> 
60
+                         <el-input v-model="form.number" style="margin-right:10px;"></el-input>
61
+                         <el-button type="primary" @click="addProjectList">添加</el-button>
62
+                      </div>
63
+                  </el-form-item>
64
+            </el-form>
65
+            <el-form>
66
+                <el-table :data="tableData" border  style="100%" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row ref="tab">
67
+                    <el-table-column align="center" prop="name" label="分类" width="120">
68
+                        <template slot-scope="scope">{{getId(scope.row.cost_classify)}}</template>
69
+                    </el-table-column>
70
+                    <el-table-column align="center" prop="name" label="组套明细" width="120">
71
+                        <template slot-scope="scope">{{scope.row.project_name}}</template>
72
+                    </el-table-column>
73
+                     <el-table-column align="center" prop="name" label="数量" width="120">
74
+                        <template slot-scope="scope">{{scope.row.number}}</template>
75
+                    </el-table-column>
76
+                     <el-table-column align="center" prop="name" label="单位" width="120">
77
+                        <template slot-scope="scope">{{scope.row.unit}}</template>
78
+                    </el-table-column>
79
+                    <el-table-column align="center" prop="name" label="单价" width="120">
80
+                        <template slot-scope="scope">{{scope.row.price}}</template>
81
+                    </el-table-column>
82
+                    <el-table-column align="center" prop="name" label="操作">
83
+                        <template slot-scope="scope">
84
+                          <el-tooltip
85
+                            class="item"
86
+                            effect="dark"
87
+                            content="删除"
88
+                            placement="top"
89
+                            >
90
+                            <el-button
91
+                                type="danger"
92
+                                icon="el-icon-delete"
93
+                                size="small"
94
+                                @click="DeleteProject(scope.row.id,scope.$index)"
95
+                            ></el-button>
96
+                            </el-tooltip>
97
+                        </template>
98
+                    </el-table-column>
99
+                </el-table>
46 100
             </el-form>
47 101
         </div>
48 102
 
@@ -56,7 +110,7 @@
56 110
 
57 111
 <script>
58 112
 import { getDictionaryDataConfig,getDataConfig } from "@/utils/data";
59
-import { saveProjectTeam } from "@/api/project/project"
113
+import { saveProjectTeam,getAllProjectList,addProjectList,DeleteProject } from "@/api/project/project"
60 114
 export default {
61 115
     data(){
62 116
         return{
@@ -70,7 +124,9 @@ export default {
70 124
               wubi:"",
71 125
               tube_color:"",
72 126
               team_type:"",
73
-              remark:""
127
+              remark:"",
128
+              project_detail:"",
129
+              number:""
74 130
             },
75 131
             options: [
76 132
             {value: 1,label: '是'},
@@ -84,7 +140,9 @@ export default {
84 140
               wubi: [{ required: true, message: '请填写五笔' , trigger: 'blur' }],
85 141
               price: [{ required: true, message: '请填写价格', trigger: 'change' }],
86 142
               team_type: [{ required:true,message:'请填写组套类型',trigger:'change' }]
87
-           }
143
+           },
144
+           tableData:[],
145
+           projectList:[]
88 146
         }
89 147
     },
90 148
     methods:{
@@ -110,23 +168,30 @@ export default {
110 168
          this.visible = false
111 169
         },
112 170
         submitAction(formName){
171
+          
113 172
            this.$refs[formName].validate((valid)=>{
114
-               var params = {
173
+                var arr = []
174
+                for(let i=0;i<this.tableData.length;i++){
175
+                    arr.push(this.tableData[i].id)
176
+                }
177
+                console.log("arr",arr)
178
+                var ids = arr.join(",")
179
+                var params = {
115 180
                  project_team:this.form.project_team,
116 181
                  price:this.form.price,
117 182
                  pinyin:this.form.pinyin,
118 183
                  wubi:this.form.wubi,
119 184
                  tube_color:this.form.tube_color,
120 185
                  team_type:this.form.team_type,
121
-                 remark:this.form.remark
186
+                 remark:this.form.remark,
187
+                 ids:ids,
122 188
                }
123 189
                console.log("params",params)
124 190
               saveProjectTeam(params).then(response=>{
125 191
                  if(response.data.state == 1){
126 192
                    var projectTeam = response.data.data.projectTeam
127 193
                    console.log("projectTeam",projectTeam)
128
-                   this.$message.success("保存成功")
129
-                  
194
+                   this.$message.success("保存成功")  
130 195
                    this.visible = false
131 196
                    this.form.project_team = "",
132 197
                    this.form.price = "",
@@ -136,10 +201,72 @@ export default {
136 201
                    this.form.team_type = "",
137 202
                    this.form.remark = ""
138 203
                    this.$parent.getlist()
204
+                 }else{
205
+                    this.$message.error("项目组套名称已存在!")
139 206
                  }
140 207
               }) 
141 208
            })
209
+        },
210
+        getlist(){
211
+          getAllProjectList().then(response=>{
212
+             if(response.data.state == 1){
213
+               var projectList = response.data.data.projectList
214
+               console.log('projectlist33333',projectList)
215
+               this.projectList = projectList
216
+               var hisprojectlist = response.data.data.hisprojectlist
217
+               console.log("hisprojectlist",hisprojectlist)
218
+               this.tableData = hisprojectlist
219
+             }
220
+          })   
221
+        },
222
+        addProjectList(){
223
+            const params = {
224
+              id:this.form.project_detail,
225
+              number:parseInt(this.form.number)
226
+            }
227
+           console.log("params",params)
228
+          addProjectList(params).then(response=>{
229
+             if(response.data.state == 1){
230
+               var projectList = response.data.data.projectList
231
+               this.$message.success("保存成功")
232
+               this.form.project_detail = ""
233
+               this.form.number = ""
234
+               this.getlist()
235
+             }
236
+          })
237
+        },
238
+        getId(id){
239
+          var name = ""
240
+          var statistics_category =  getDictionaryDataConfig('system','statistics_category') 
241
+          console.log("2235",statistics_category)
242
+          for(let i=0;i<statistics_category.length;i++){
243
+             if(id == statistics_category[i].id){
244
+                 name = statistics_category[i].name
245
+             }
246
+          }
247
+          return name
248
+        },
249
+        DeleteProject(id,index){
250
+           this.$confirm("确认删除此项目吗?", "删除", {
251
+            confirmButtonText: "确 定",
252
+            cancelButtonText: "取 消",
253
+            type: "warning"
254
+         }).then(() => {
255
+          DeleteProject(id).then(response => {
256
+            if (response.data.state == 1) {
257
+               this.tableData.splice(index, 1);
258
+            } else {
259
+             
260
+            }
261
+          });
262
+        })
263
+        .catch(() => {});
142 264
         }
265
+    },
266
+    created(){
267
+      //获取所以的项目
268
+      this.getlist()
269
+   
143 270
     }
144 271
 }
145 272
 </script>

+ 2 - 0
src/xt_pages/data/components/addProject.vue View File

@@ -332,6 +332,8 @@ export default {
332 332
                    this.form.sort = ""
333 333
                    this.form.is_advice = ""
334 334
                    this.form.is_default = ""
335
+                 }else {
336
+                    this.$message.error("项目名称已存在!")
335 337
                  }
336 338
               })
337 339
             }

+ 127 - 5
src/xt_pages/data/components/editInspection.vue View File

@@ -43,6 +43,59 @@
43 43
                 <el-form-item label="备注 : " prop="name" style="width:100%;">
44 44
                     <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="form.remark"></el-input>
45 45
                 </el-form-item>
46
+                 <el-form-item label="组套明细" style="width:50%;">
47
+                    <el-select v-model="form.project_detail" placeholder="请选择">
48
+                        <el-option
49
+                        v-for="item in projectList"
50
+                        :key="item.id"
51
+                        :label="item.project_name"
52
+                        :value="item.id">
53
+                        </el-option>
54
+                    </el-select>
55
+
56
+                    </el-form-item>
57
+                 <el-form-item label="数量" style="width:50%;"> 
58
+                      <div style="display:flex;"> 
59
+                         <el-input v-model="form.number" style="margin-right:10px;"></el-input>
60
+                         <el-button type="primary" @click="addProjectList">添加</el-button>
61
+                      </div>
62
+                  </el-form-item>
63
+            </el-form>
64
+            <el-form>
65
+                <el-table :data="tableData" border  style="100%" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row ref="tab">
66
+                    <el-table-column align="center" prop="name" label="分类" width="120">
67
+                        <template slot-scope="scope">{{getId(scope.row.cost_classify)}}</template>
68
+                    </el-table-column>
69
+                    <el-table-column align="center" prop="name" label="组套明细" width="120">
70
+                        <template slot-scope="scope">{{scope.row.project_name}}</template>
71
+                    </el-table-column>
72
+                     <el-table-column align="center" prop="name" label="数量" width="120">
73
+                        <template slot-scope="scope">{{scope.row.number}}</template>
74
+                    </el-table-column>
75
+                     <el-table-column align="center" prop="name" label="单位" width="120">
76
+                        <template slot-scope="scope">{{scope.row.unit}}</template>
77
+                    </el-table-column>
78
+                    <el-table-column align="center" prop="name" label="单价" width="120">
79
+                        <template slot-scope="scope">{{scope.row.price}}</template>
80
+                    </el-table-column>
81
+                    <el-table-column align="center" prop="name" label="操作">
82
+                        <template slot-scope="scope">
83
+                          <el-tooltip
84
+                            class="item"
85
+                            effect="dark"
86
+                            content="删除"
87
+                            placement="top"
88
+                            >
89
+                            <el-button
90
+                                type="danger"
91
+                                icon="el-icon-delete"
92
+                                size="small"
93
+                                @click="DeleteProject(scope.row.id,scope.$index)"
94
+                            ></el-button>
95
+                            </el-tooltip>
96
+                        </template>
97
+                    </el-table-column>
98
+                </el-table>
46 99
             </el-form>
47 100
         </div>
48 101
 
@@ -55,7 +108,7 @@
55 108
 </template>
56 109
 
57 110
 <script>
58
-import { getProjectTeamDetail,updatedProjectTeam } from "@/api/project/project"
111
+import { getProjectTeamDetail,updatedProjectTeam,getAllProjectList,addProjectList,DeleteProject } from "@/api/project/project"
59 112
 import { getDictionaryDataConfig,getDataConfig} from "@/utils/data";
60 113
 export default {
61 114
     data(){
@@ -71,7 +124,9 @@ export default {
71 124
               wubi:"",
72 125
               tube_color:"",
73 126
               team_type:"",
74
-              remark:""
127
+              remark:"",
128
+              project_detail:"",
129
+              number:"",
75 130
             },
76 131
             options: [{
77 132
             value: 1,
@@ -88,7 +143,8 @@ export default {
88 143
               wubi: [{ required: true, message: '请填写五笔' , trigger: 'blur' }],
89 144
               price: [{ required: true, message: '请填写价格', trigger: 'change' }],
90 145
               team_type: [{ required:true,message:'请填写组套类型',trigger:'change' }]
91
-           }
146
+           },
147
+           tableData:[]
92 148
         }
93 149
     },
94 150
     methods:{
@@ -133,7 +189,13 @@ export default {
133 189
         },
134 190
         submitAction(formName){
135 191
            this.$refs[formName].validate((valid)=>{
136
-              if(valid){
192
+               var arr = []
193
+                for(let i=0;i<this.tableData.length;i++){
194
+                    arr.push(this.tableData[i].id)
195
+                }
196
+               console.log("arr",arr)
197
+               var ids = arr.join(",")
198
+               if(valid){
137 199
                 var params = {
138 200
                     id:this.form.id,
139 201
                     project_team:this.form.project_team,
@@ -142,8 +204,10 @@ export default {
142 204
                     wubi:this.form.wubi,
143 205
                     tube_color:this.form.tube_color,
144 206
                     team_type:this.form.team_type,
145
-                    remark:this.form.remark
207
+                    remark:this.form.remark,
208
+                    ids:ids,
146 209
                 }
210
+                console.log("params",params)
147 211
                  updatedProjectTeam(params).then(response=>{
148 212
                    if(response.data.state == 1){
149 213
                      var projectTeam = response.data.data.projectTeam
@@ -155,7 +219,65 @@ export default {
155 219
               }
156 220
            })  
157 221
         
222
+        },
223
+       getlist(){
224
+          getAllProjectList().then(response=>{
225
+             if(response.data.state == 1){
226
+               var projectList = response.data.data.projectList
227
+               console.log('projectlist33333',projectList)
228
+               this.projectList = projectList
229
+               var hisprojectlist = response.data.data.hisprojectlist
230
+               console.log("hisprojectlist",hisprojectlist)
231
+               this.tableData = hisprojectlist
232
+             }
233
+          })   
234
+        },
235
+        getId(id){
236
+          var name = ""
237
+          var statistics_category =  getDictionaryDataConfig('system','statistics_category') 
238
+          console.log("2235",statistics_category)
239
+          for(let i=0;i<statistics_category.length;i++){
240
+             if(id == statistics_category[i].id){
241
+                 name = statistics_category[i].name
242
+             }
243
+          }
244
+          return name
245
+        },
246
+       addProjectList(){
247
+            const params = {
248
+              id:this.form.project_detail,
249
+              number:parseInt(this.form.number)
250
+            }
251
+           console.log("params",params)
252
+          addProjectList(params).then(response=>{
253
+             if(response.data.state == 1){
254
+               var projectList = response.data.data.projectList
255
+               this.$message.success("保存成功")
256
+               this.form.project_detail = ""
257
+               this.form.number = ""
258
+               this.getlist()
259
+             }
260
+          })
261
+        },
262
+        DeleteProject(id,index){
263
+           this.$confirm("确认删除此项目吗?", "删除", {
264
+            confirmButtonText: "确 定",
265
+            cancelButtonText: "取 消",
266
+            type: "warning"
267
+         }).then(() => {
268
+          DeleteProject(id).then(response => {
269
+            if (response.data.state == 1) {
270
+               this.tableData.splice(index, 1);
271
+            } else {
272
+             
273
+            }
274
+          });
275
+        })
276
+        .catch(() => {});
158 277
         }
278
+    },
279
+    created(){
280
+       this.getlist()   
159 281
     }
160 282
 }
161 283
 </script>

+ 2 - 0
src/xt_pages/data/components/editProject.vue View File

@@ -113,6 +113,8 @@
113 113
                         <el-form-item label="备注 : " prop="remark" style="width:100%;">
114 114
                             <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="form.remark"></el-input>
115 115
                         </el-form-item>
116
+
117
+                        
116 118
                     </el-form>
117 119
                 </div>
118 120
             </el-tab-pane>

+ 13 - 4
src/xt_pages/data/components/inspection.vue View File

@@ -4,15 +4,15 @@
4 4
             <div class="cell clearfix" style="margin-bottom:0;">
5 5
                 <el-input style="width: 180px;margin-right:10px;" @keyup.enter.native='searchAction' v-model.trim="search_input" class="filter-item"/>
6 6
                 <el-button style="margin-right:10px;" class="filter-item" type="primary" icon="el-icon-search" @click="searchAction">搜索</el-button>
7
-                <label class="title"><span class="name">是否启用</span> : </label>
8
-                <el-select v-model="value" style="width:140px;margin-right:10px;" placeholder="请选择">
7
+                <!-- <label class="title"><span class="name">是否启用</span> : </label> -->
8
+                <!-- <el-select v-model="value" style="width:140px;margin-right:10px;" placeholder="请选择">
9 9
                     <el-option
10 10
                     v-for="item in options"
11 11
                     :key="item.value"
12 12
                     :label="item.label"
13 13
                     :value="item.value">
14 14
                     </el-option>
15
-                </el-select>
15
+                </el-select> -->
16 16
             </div>
17 17
             <el-button type="primary" @click="openForm(0)">新增</el-button>
18 18
         </div>
@@ -75,6 +75,7 @@
75 75
 <script>
76 76
 import addInspection from './addInspection'
77 77
 import editInspection from './editInspection'
78
+import { getDictionaryDataConfig,getDataConfig } from "@/utils/data";
78 79
 import { getProjectTeamList,DeleteProjectTeam } from "@/api/project/project"
79 80
 export default {
80 81
     components:{
@@ -100,6 +101,12 @@ export default {
100 101
         }
101 102
     },
102 103
     methods:{
104
+       getDataConfig(module, filed_name){
105
+         return getDataConfig(module, filed_name)
106
+       },
107
+        getDictionaryDataConfig(module, filed_name) {
108
+          return getDictionaryDataConfig(module, filed_name)
109
+       },
103 110
       handleSizeChange(val) {
104 111
         this.limit = val
105 112
         this.getlist()
@@ -123,6 +130,7 @@ export default {
123 130
         },
124 131
         getlist(){
125 132
             const params = {
133
+               keyword:this.search_input,
126 134
                limit:this.limit,
127 135
                page:this.page,
128 136
             }
@@ -154,7 +162,8 @@ export default {
154 162
         }
155 163
     },
156 164
     created(){
157
-       this.getlist()  
165
+       this.getlist() 
166
+      
158 167
     }
159 168
 }
160 169
 </script>

+ 24 - 12
src/xt_pages/data/components/project.vue View File

@@ -3,9 +3,9 @@
3 3
         <div style="display:flex;justify-content: space-between;width:100%;margin-bottom:20px;">
4 4
             <div class="cell clearfix" style="margin-bottom:0;">
5 5
                 <el-input style="width: 180px;margin-right:10px;" @keyup.enter.native='searchAction' v-model.trim="search_input" class="filter-item"/>
6
-                <el-button style="margin-right:10px;" class="filter-item" type="primary" icon="el-icon-search" @click="searchAction">搜索</el-button>
6
+                <el-button style="margin-right:10px;" class="filter-item" type="primary" icon="el-icon-search" @click="searchAction" >搜索</el-button>
7 7
                 <label class="title"><span class="name">是否启用</span> : </label>
8
-                <el-select v-model="value" style="width:140px;margin-right:10px;" placeholder="请选择">
8
+                <el-select v-model="is_start" style="width:140px;margin-right:10px;" placeholder="请选择" @change="changeStart">
9 9
                     <el-option
10 10
                     v-for="item in options"
11 11
                     :key="item.value"
@@ -14,9 +14,9 @@
14 14
                     </el-option>
15 15
                 </el-select>
16 16
                 <label class="title"><span class="name">是否收费</span> : </label>
17
-                <el-select v-model="value" style="width:140px;margin-right:10px;" placeholder="请选择">
17
+                <el-select v-model="is_charge" style="width:140px;margin-right:10px;" placeholder="请选择">
18 18
                     <el-option
19
-                    v-for="item in options"
19
+                    v-for="item in optionOne"
20 20
                     :key="item.value"
21 21
                     :label="item.label"
22 22
                     :value="item.value">
@@ -96,21 +96,29 @@ export default {
96 96
     data(){
97 97
         return{
98 98
             search_input:'',
99
-            options: [{
100
-            value: '1',
101
-            label: '是'
102
-            }, {
103
-            value: '2',
104
-            label: '否'
105
-            },],
99
+            options: [
100
+             {value:0,label:'全部'},
101
+             {value:1,label: '停用'},
102
+             {value:2,label: '收费'}
103
+            ],
104
+            optionOne:[
105
+              {value:0,label:'全部'},
106
+              {value:1,label:'是'},
107
+              {value:2,label:'否'}
108
+            ],
106 109
             value: '',
107 110
             limit:20,
108 111
             page:1,
109 112
             total:0,
110
-            tableData: []
113
+            tableData: [],
114
+            is_start:0,
115
+            is_charge:0
111 116
         }
112 117
     },
113 118
     methods:{
119
+        changeStart(id){
120
+          console.log("id",id)
121
+        },
114 122
         handleSizeChange(val) {
115 123
             this.limit = val
116 124
             this.getlist()
@@ -154,9 +162,13 @@ export default {
154 162
       
155 163
         getlist(){
156 164
             var params = {
165
+               keyword:this.search_input,
166
+               is_charge:this.is_charge,
167
+               is_start:this.is_start,
157 168
                limit:this.limit,
158 169
                page:this.page,
159 170
             }
171
+           console.log("222",params)
160 172
           getProjectList(params).then(response=>{
161 173
              if(response.data.state == 1){
162 174
                var projecList = response.data.data.projecList

+ 92 - 87
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue View File

@@ -10,10 +10,10 @@
10 10
                     <p>已就诊:<span>0</span>人</p>
11 11
                 </div>
12 12
                 <div class="mainCell">
13
-                    <el-radio-group v-model="radio">
14
-                        <el-radio :label="1">未就诊</el-radio>
15
-                        <el-radio :label="2">已就诊</el-radio>
16
-                        <el-radio :label="3">全部</el-radio>
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 17
                     </el-radio-group>
18 18
                 </div>
19 19
                 <div class="mainCell" style="margin-bottom:10px;">
@@ -21,12 +21,15 @@
21 21
                     <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary" @click="searchAction">搜索</el-button>
22 22
                 </div>
23 23
                 <div style="flex:1;overflow-y:auto;">
24
-                    <el-table :data="patientTableData" border @row-click='choosePatient' style="width: 100%;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
24
+                    <el-table :data="tableData" border  style="width: 100%;" :row-style="{ color: '#303133' }" 
25
+                    :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" 
26
+                    highlight-current-row ref="tab"
27
+                    @current-change="handleCurrentChange">
25 28
                         <el-table-column align="center" prop="name" label="患者姓名">
26 29
                             <template slot-scope="scope">{{ scope.row.name }}</template>
27 30
                         </el-table-column>
28 31
                         <el-table-column align="center" prop="name" label="就诊号" width="90">
29
-                            <template slot-scope="scope">{{ scope.row.mdtrt_id }}</template>
32
+                            <template slot-scope="scope">3222</template>
30 33
                         </el-table-column>
31 34
                     </el-table>
32 35
                 </div>
@@ -66,11 +69,11 @@
66 69
                     <div class="centerRight">
67 70
                         <p class="centerRightTitle">人员信息</p>
68 71
                         <div style="display:flex;justify-content: space-between;line-height:30px;">
69
-                            <span style="font-size:14px;">人员编码:{{ patientInfo.psn_no }}</span>
70
-                            <span style="font-size:14px;">日期:2020-11-13</span>
72
+                            <span style="font-size:14px;">人员编码:</span>
73
+                            <span style="font-size:14px;">日期:{{start_time}}</span>
71 74
                         </div>
72 75
                         <ul class="basicUl">
73
-                            <li style="width:50%;">姓名:{{ patientInfo.psn_name }}</li>
76
+                            <li style="width:50%;">姓名:{{ patientInfo.name }}</li>
74 77
                             <li style="width:50%;">性别:{{ patientInfo && patientInfo.gend == 1 ? '男' : "女" }}</li>
75 78
                             <li style="width:50%;">年龄:{{ patientInfo.age }}</li>
76 79
                             <li style="width:50%;">身高:</li>
@@ -107,6 +110,8 @@ import charged from './components/charged'
107 110
 import medicalInsuranceRefund from './components/medicalInsuranceRefund'
108 111
 import prescriptionTable from './components/prescriptionTable'
109 112
 import additionalCharges from './components/additionalCharges'
113
+import { getPatientList,getPatientInformation } from "@/api/project/project"
114
+const moment = require('moment')
110 115
 export default {
111 116
     components:{
112 117
         BreadCrumb,
@@ -122,67 +127,7 @@ export default {
122 127
                 { path: false, name: '门诊收费' },
123 128
                 { path: false, name: '门诊收费管理' }
124 129
             ],
125
-            tableData: [{
126
-            date: '2016-05-02',
127
-            name: '王小虎',
128
-            address: '上海市普陀区金沙江路 1518 弄'
129
-            }, {
130
-            date: '2016-05-04',
131
-            name: '王小虎',
132
-            address: '上海市普陀区金沙江路 1517 弄'
133
-            }, {
134
-            date: '2016-05-01',
135
-            name: '王小虎',
136
-            address: '上海市普陀区金沙江路 1519 弄'
137
-            }, {
138
-            date: '2016-05-03',
139
-            name: '王小虎',
140
-            address: '上海市普陀区金沙江路 1516 弄'
141
-            },{
142
-            date: '2016-05-02',
143
-            name: '王小虎',
144
-            address: '上海市普陀区金沙江路 1518 弄'
145
-            }, {
146
-            date: '2016-05-04',
147
-            name: '王小虎',
148
-            address: '上海市普陀区金沙江路 1517 弄'
149
-            }, {
150
-            date: '2016-05-01',
151
-            name: '王小虎',
152
-            address: '上海市普陀区金沙江路 1519 弄'
153
-            }, {
154
-            date: '2016-05-03',
155
-            name: '王小虎',
156
-            address: '上海市普陀区金沙江路 1516 弄'
157
-            },{
158
-            date: '2016-05-02',
159
-            name: '王小虎',
160
-            address: '上海市普陀区金沙江路 1518 弄'
161
-            }, {
162
-            date: '2016-05-04',
163
-            name: '王小虎',
164
-            address: '上海市普陀区金沙江路 1517 弄'
165
-            }, {
166
-            date: '2016-05-01',
167
-            name: '王小虎',
168
-            address: '上海市普陀区金沙江路 1519 弄'
169
-            }, {
170
-            date: '2016-05-03',
171
-            name: '王小虎',
172
-            address: '上海市普陀区金沙江路 1516 弄'
173
-            }, {
174
-            date: '2016-05-04',
175
-            name: '王小虎',
176
-            address: '上海市普陀区金沙江路 1517 弄'
177
-            }, {
178
-            date: '2016-05-01',
179
-            name: '王小虎',
180
-            address: '上海市普陀区金沙江路 1519 弄'
181
-            }, {
182
-            date: '2016-05-03',
183
-            name: '王小虎',
184
-            address: '上海市普陀区金沙江路 1516 弄'
185
-            }],
130
+            tableData: [],
186 131
             editableTabsValue: '1',
187 132
             editableTabs: [{
188 133
             title: '处方1',
@@ -197,11 +142,17 @@ export default {
197 142
             patientInfo:{},
198 143
             doctor:{},
199 144
             total:0,
200
-            state:'未收费'
145
+            state:'未收费',
146
+            radio:1,
147
+            radioStatus:1,
148
+            search_input:"",
149
+            start_time:moment().locale('zh-cn').format('YYYY-MM-DD')
201 150
         }
202 151
     },
203 152
     created(){
204
-        
153
+       
154
+       //获取患者信息
155
+       this.getPatientList()
205 156
     },
206 157
     methods:{
207 158
         moreState(tab, event){
@@ -255,21 +206,75 @@ export default {
255 206
             this.preTableData.map(item => {
256 207
                 this.total += item.unitPrice
257 208
             })
258
-            this.patientInfo = {
259
-                certno:"440221195903290027",
260
-                psn_no:"0221201972",
261
-                gend:"2",
262
-                brdy:"1960-03-29",
263
-                naty:"01",
264
-                psn_cert_type:"01",
265
-                psn_name:"杨美英",
266
-                age:60.7
267
-            }
268
-            this.doctor = {
269
-                name:'刘志刚',
270
-                department:'血透中心',
271
-                total:20,
272
-            }
209
+            // this.patientInfo = {
210
+            //     certno:"440221195903290027",
211
+            //     psn_no:"0221201972",
212
+            //     gend:"2",
213
+            //     brdy:"1960-03-29",
214
+            //     naty:"01",
215
+            //     psn_cert_type:"01",
216
+            //     psn_name:"杨美英",
217
+            //     age:60.7
218
+            // }
219
+            // this.doctor = {
220
+            //     name:'刘志刚',
221
+            //     department:'血透中心',
222
+            //     total:20,
223
+            // }
224
+        },
225
+       changeRadio(id){ 
226
+         console.log(id)
227
+         this.radioStatus = id
228
+         this.getPatientList()
229
+       },
230
+
231
+        //患者列表
232
+        getPatientList(){
233
+           getPatientList().then(response=>{
234
+               if(response.data.state == 1){
235
+                 var hisPatient = response.data.data.hisPatient
236
+                 console.log("his",hisPatient)
237
+                 for(let i=0;i<hisPatient.length;i++){
238
+                    hisPatient[i].id_card_no = hisPatient[i].id_number
239
+                 }
240
+                 var scheduleList = response.data.data.scheduleList
241
+                 hisPatient.push(...scheduleList)
242
+                 console.log("arrr",hisPatient)
243
+                 var tabArr = this.unique(hisPatient)
244
+                 console.log("22222",tabArr)
245
+                 if(this.radioStatus == 1){
246
+                    this.tableData = tabArr
247
+                    this.$refs.tab.setCurrentRow(this.tableData[0])
248
+                 }
249
+                 if(this.radioStatus == 2){
250
+                    var prescription = response.data.data.prescription
251
+                    this.tableData = prescription
252
+                    this.$refs.tab.setCurrentRow(this.tableData[0])
253
+                 }
254
+                
255
+               }  
256
+           })
257
+        },
258
+
259
+        unique(arr) {
260
+            const res = new Map();
261
+            return arr.filter((arr) => !res.has(arr.id_card_no) && res.set(arr.id_card_no, 1))
262
+        },
263
+        handleCurrentChange(val){
264
+          console.log("val",val)
265
+          this.getPatientInformation(val.id)
266
+        },
267
+        
268
+        //获取患者的基本信息
269
+        getPatientInformation(id){
270
+            console.log(id)
271
+            getPatientInformation(id).then(response=>{
272
+               if(response.data.state == 1){
273
+                  var information = response.data.data.information
274
+                  console.log("information",information)
275
+                  this.patientInfo = information
276
+               }
277
+            })
273 278
         }
274 279
     }
275 280
 }

+ 89 - 67
src/xt_pages/outpatientDoctorStation/components/deskPrescription.vue View File

@@ -11,7 +11,7 @@
11 11
         <div class="backColor"></div>
12 12
         <div class="mainCenter">
13 13
             <div class="centerLeft">
14
-                <el-form :model="form" :rules="rules" ref="form" label-width="80px">
14
+                <el-form :model="form" ref="form" label-width="80px">
15 15
                     <el-form-item label="姓名:" prop="name">
16 16
                         <el-input v-model="patientInfo.psn_name" placeholder=""></el-input>
17 17
                     </el-form-item>
@@ -104,7 +104,10 @@
104 104
                     <div style="height:84%;overflow-y: auto;margin-bottom: 60px;">
105 105
                         <el-tabs class="rightTabs" v-model="activeName">
106 106
                             <el-tab-pane label="药品列表" name="1">
107
-                                <el-table :data="drugTableData" border @select='selectDrugs' style="width: 100%;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
107
+                                <el-table :data="drugTableData" border @select='selectDrugs' style="width: 100%;" :row-style="{ color: '#303133' }" 
108
+                                :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row
109
+                                v-show="showOne"
110
+                                >
108 111
                                     <el-table-column align="center" type="selection" width="40"></el-table-column>
109 112
                                     <el-table-column align="center" prop="name" label="名称">
110 113
                                         <template slot-scope="scope">{{ scope.row.name }}</template>
@@ -119,6 +122,24 @@
119 122
                                         <template slot-scope="scope">{{ scope.row.unitPrice }}</template>
120 123
                                     </el-table-column>
121 124
                                 </el-table>
125
+
126
+
127
+                                <el-table :data="tabProject" border @select='selectDrugs' style="width: 100%;" :row-style="{ color: '#303133' }" 
128
+                                :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row
129
+                                 v-show="showTwo"
130
+                                 @select-all="changeTableProjectData"
131
+                                 @selection-change="selectChange">
132
+                                    <el-table-column align="center" type="selection" width="40"></el-table-column>
133
+                                    <el-table-column align="center" prop="name" label="名称">
134
+                                        <template slot-scope="scope">{{ scope.row.project_name }}</template>
135
+                                    </el-table-column>     
136
+                                    <el-table-column align="center" label="单价" width="40">
137
+                                        <template slot-scope="scope">{{ scope.row.price }}</template>
138
+                                    </el-table-column>
139
+                                    <el-table-column align="center" label="备注" width="60">
140
+                                        <template slot-scope="scope">{{ scope.row.remark }}</template>
141
+                                    </el-table-column>
142
+                                </el-table>
122 143
                             </el-tab-pane>
123 144
                             <el-tab-pane label="医嘱模板" name="2">
124 145
                                 <el-table :data="tableData" border style="width: 100%;" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row>
@@ -151,7 +172,8 @@
151 172
                                 </el-option>
152 173
                             </el-select>
153 174
                         </div>
154
-                        <el-button type="primary" size="small" @click="comfirm">确定添加</el-button>
175
+                        <el-button type="primary" size="small" @click="comfirm" v-show="showOne">确定添加</el-button>
176
+                        <el-button type="primary" size="small" @click="addProjectTeam" v-show="showTwo">确定添加22</el-button>
155 177
                     </div>
156 178
                 </template>
157 179
             </div>
@@ -168,6 +190,7 @@ import prescriptionTable from './prescriptionTable'
168 190
 import selectTemplate from './selectTemplate'
169 191
 import saveTemplate from './saveTemplate'
170 192
 import additionalCharges from './additionalCharges'
193
+import { getHisProject,addProjectTeam } from '@/api/project/project'
171 194
 export default {
172 195
     props:{
173 196
         patientInfo:Object
@@ -183,67 +206,7 @@ export default {
183 206
             form:{
184 207
                 name:''
185 208
             },
186
-            tableData: [{
187
-            date: '2016-05-02',
188
-            name: '王小虎',
189
-            address: '上海市普陀区金沙江路 1518 弄'
190
-            }, {
191
-            date: '2016-05-04',
192
-            name: '王小虎',
193
-            address: '上海市普陀区金沙江路 1517 弄'
194
-            }, {
195
-            date: '2016-05-01',
196
-            name: '王小虎',
197
-            address: '上海市普陀区金沙江路 1519 弄'
198
-            }, {
199
-            date: '2016-05-03',
200
-            name: '王小虎',
201
-            address: '上海市普陀区金沙江路 1516 弄'
202
-            },{
203
-            date: '2016-05-02',
204
-            name: '王小虎',
205
-            address: '上海市普陀区金沙江路 1518 弄'
206
-            }, {
207
-            date: '2016-05-04',
208
-            name: '王小虎',
209
-            address: '上海市普陀区金沙江路 1517 弄'
210
-            }, {
211
-            date: '2016-05-01',
212
-            name: '王小虎',
213
-            address: '上海市普陀区金沙江路 1519 弄'
214
-            }, {
215
-            date: '2016-05-03',
216
-            name: '王小虎',
217
-            address: '上海市普陀区金沙江路 1516 弄'
218
-            },{
219
-            date: '2016-05-02',
220
-            name: '王小虎',
221
-            address: '上海市普陀区金沙江路 1518 弄'
222
-            }, {
223
-            date: '2016-05-04',
224
-            name: '王小虎',
225
-            address: '上海市普陀区金沙江路 1517 弄'
226
-            }, {
227
-            date: '2016-05-01',
228
-            name: '王小虎',
229
-            address: '上海市普陀区金沙江路 1519 弄'
230
-            }, {
231
-            date: '2016-05-03',
232
-            name: '王小虎',
233
-            address: '上海市普陀区金沙江路 1516 弄'
234
-            }, {
235
-            date: '2016-05-04',
236
-            name: '王小虎',
237
-            address: '上海市普陀区金沙江路 1517 弄'
238
-            }, {
239
-            date: '2016-05-01',
240
-            name: '王小虎',
241
-            address: '上海市普陀区金沙江路 1519 弄'
242
-            }, {
243
-            date: '2016-05-03',
244
-            name: '王小虎',
245
-            address: '上海市普陀区金沙江路 1516 弄'
246
-            }],
209
+            tableData: [],
247 210
             editableTabsValue: '1',
248 211
             editableTabs: [{
249 212
             title: '处方1',
@@ -320,7 +283,14 @@ export default {
320 283
                 },
321 284
             ],
322 285
             departmentValue:'',
323
-            total:0
286
+            total:0,
287
+            showOne:true,
288
+            showTwo:false,
289
+            state1:"",
290
+            value:"",
291
+            options:[],
292
+            tabProject:[],
293
+            strids:""
324 294
         }
325 295
     },
326 296
     methods:{
@@ -368,12 +338,21 @@ export default {
368 338
             this.editableTabs = tabs.filter(tab => tab.name !== targetName);
369 339
         },
370 340
         clickTab(index){
371
-            this.rightTab = index
341
+          if(index == 1){
342
+             this.showOne = true
343
+             this.showTwo = false
344
+          }
345
+          if(index == 2){
346
+            this.showTwo = true
347
+            this.showOne = false
348
+          }
349
+          this.rightTab = index
372 350
         },
373 351
         addCharges(){
374 352
             this.$refs.additionalCharges.show()
375 353
         },
376 354
         selectDrugs(selection, row){
355
+            console.log("row",row)
377 356
             this.curDrugs = selection
378 357
         },
379 358
         comfirm(){
@@ -382,7 +361,50 @@ export default {
382 361
                 this.total += item.unitPrice
383 362
             })
384 363
             
385
-        }
364
+        },
365
+       getlist(){
366
+         getHisProject().then(response=>{
367
+            if(response.data.state == 1){
368
+              var project = response.data.data.project
369
+              console.log("project",project)
370
+              this.tabProject = project
371
+            }
372
+         })  
373
+       },
374
+       querySearch(){
375
+
376
+       },
377
+       handleSelect(){
378
+
379
+       },
380
+       changeTableProjectData(row){
381
+         console.log("row",row)
382
+       },
383
+       selectChange(row){
384
+         console.log("row222",row)
385
+         var ids = []
386
+         for(let i=0;i<row.length;i++){
387
+           ids.push(row[i].id)
388
+         }
389
+         console.log("ids",ids)
390
+         var strids = ids.join(",")
391
+         this.strids = strids
392
+       },
393
+       addProjectTeam(){
394
+           var params = {
395
+              strids:this.strids
396
+           }
397
+         addProjectTeam(params).then(response=>{
398
+           if(response.data.state == 1){
399
+             var team = response.data.data.team
400
+             console.log("team",team)
401
+           }
402
+         })  
403
+       }
404
+    },
405
+    created(){
406
+      //获取所有项目
407
+      this.getlist()  
386 408
     }
387 409
 }
388 410
 </script>

+ 100 - 35
src/xt_pages/outpatientRegistration/index.vue View File

@@ -6,8 +6,8 @@
6 6
         <div class="app-container">
7 7
             <div class="nameTitle">患者基本信息:</div>
8 8
             <div class="formMain">
9
-                <el-form class="basicForm" ref="form" :model="form" label-width="80px">
10
-                    <el-form-item label="结算类型">
9
+                <el-form class="basicForm"  :rules="rules" ref="form" :model="form" label-width="100px">
10
+                    <el-form-item label="结算类型">
11 11
                         <el-select v-model="form.settlementValue" placeholder="请选择">
12 12
                             <el-option
13 13
                             v-for="item in settlement"
@@ -17,14 +17,14 @@
17 17
                             </el-option>
18 18
                         </el-select>
19 19
                     </el-form-item>
20
-                    <el-form-item class="specialFormItem" label="医保卡号">
20
+                    <el-form-item class="specialFormItem" label="医保卡号">
21 21
                         <el-input v-model="form.medicalInsuranceCard"></el-input>
22 22
                         <el-button type="primary" @click="reading">读卡</el-button>
23 23
                     </el-form-item>
24
-                    <el-form-item label="患者姓名">
24
+                    <el-form-item label="患者姓名">
25 25
                         <el-input v-model="form.name"></el-input>
26 26
                     </el-form-item>
27
-                    <el-form-item label="性别">
27
+                    <el-form-item label="性别">
28 28
                         <el-select v-model="form.sex" placeholder="请选择">
29 29
                             <el-option
30 30
                             v-for="item in sex"
@@ -34,7 +34,7 @@
34 34
                             </el-option>
35 35
                         </el-select>
36 36
                     </el-form-item>
37
-                    <el-form-item label="证件类型">
37
+                    <el-form-item label="证件类型">
38 38
                         <el-select v-model="form.certificates" placeholder="请选择">
39 39
                             <el-option
40 40
                             v-for="item in certificates"
@@ -44,7 +44,7 @@
44 44
                             </el-option>
45 45
                         </el-select>
46 46
                     </el-form-item>
47
-                    <el-form-item label="医疗类别">
47
+                    <el-form-item label="医疗类别">
48 48
                         <el-select v-model="form.medicalCare" placeholder="请选择">
49 49
                             <el-option
50 50
                             v-for="item in medicalCare"
@@ -54,22 +54,22 @@
54 54
                             </el-option>
55 55
                         </el-select>
56 56
                     </el-form-item>
57
-                    <el-form-item label="出生日期">
57
+                    <el-form-item label="出生日期">
58 58
                         <el-date-picker v-model="form.birthday" type="date" @change="getBirthday" placeholder="选择日期"></el-date-picker>
59 59
                     </el-form-item>
60
-                    <el-form-item label="年龄">
61
-                        <el-input v-model="form.age" readonly=""></el-input>
60
+                    <el-form-item label="年龄">
61
+                        <el-input v-model="form.age"></el-input>
62 62
                     </el-form-item>
63
-                    <el-form-item label="证件号码">
63
+                    <el-form-item label="证件号码:" required prop="idCard">
64 64
                         <el-input v-model="form.idCard"></el-input>
65 65
                     </el-form-item>
66 66
                 </el-form>
67 67
             </div>
68 68
             <div class="nameTitle">患者挂号信息:</div>
69 69
             <div class="formMain">
70
-                <el-form class="basicForm" ref="form" :model="form" label-width="80px">
71
-                    <el-form-item label="挂号类型">
72
-                        <el-select v-model="form.register" placeholder="请选择">
70
+                <el-form class="basicForm" ref="form" :model="form" :rules="rules" label-width="100px">
71
+                    <el-form-item label="挂号类型:" required prop="register">
72
+                        <el-select v-model="form.register"  placeholder="请选择">
73 73
                             <el-option
74 74
                             v-for="item in register"
75 75
                             :key="item.value"
@@ -78,46 +78,46 @@
78 78
                             </el-option>
79 79
                         </el-select>
80 80
                     </el-form-item>
81
-                    <el-form-item label="医生">
81
+                    <el-form-item label="医生" required prop="doctor" >
82 82
                         <el-select v-model="form.doctor" placeholder="请选择">
83 83
                             <el-option
84
-                            v-for="item in doctor"
85
-                            :key="item.value"
86
-                            :label="item.label"
87
-                            :value="item.value">
84
+                            v-for="item in doctorList"
85
+                            :key="item.admin_user_id"
86
+                            :label="item.user_name"
87
+                            :value="item.admin_user_id">
88 88
                             </el-option>
89 89
                         </el-select>
90 90
                     </el-form-item>
91
-                    <el-form-item label="科室">
92
-                        <el-select v-model="form.department" placeholder="请选择">
91
+                    <el-form-item label="科室:" required prop="department">
92
+                        <el-select v-model="form.department"  placeholder="请选择">
93 93
                             <el-option
94
-                            v-for="item in department"
95
-                            :key="item.value"
96
-                            :label="item.label"
97
-                            :value="item.value">
94
+                            v-for="item in departmentList"
95
+                            :key="item.id"
96
+                            :label="item.name"
97
+                            :value="item.id">
98 98
                             </el-option>
99 99
                         </el-select>
100 100
                     </el-form-item>
101 101
                     <el-form-item>
102 102
                         <el-checkbox v-model="form.costChecked">是否需要工本费</el-checkbox>
103 103
                     </el-form-item>
104
-                    <el-form-item label="挂号费">
104
+                    <el-form-item label="挂号费">
105 105
                         <el-input v-model.number="form.registrationFee"></el-input>
106 106
                     </el-form-item>
107
-                    <el-form-item label="诊疗费">
107
+                    <el-form-item label="诊疗费">
108 108
                         <el-input v-model.number="form.medicalExpenses"></el-input>
109 109
                     </el-form-item>
110
-                    <el-form-item label="工本费">
110
+                    <el-form-item label="工本费">
111 111
                         <el-input v-model.number="form.cost" :readonly="!form.costChecked"></el-input>
112 112
                     </el-form-item>
113
-                    <el-form-item label="合计">
113
+                    <el-form-item label="合计">
114 114
                         <el-input v-model.number="total" readonly></el-input>
115 115
                     </el-form-item>
116 116
                     <el-form-item>
117 117
                         <!-- <el-input v-model="form.name"></el-input> -->
118 118
                     </el-form-item>
119 119
                 </el-form>
120
-                <el-button style="float:right" @click="getForm" type="primary">挂号</el-button>
120
+                <el-button style="float:right" @click="saveHisPatient('form')" type="primary">挂号</el-button>
121 121
             </div>
122 122
             
123 123
         </div>
@@ -127,6 +127,7 @@
127 127
 <script>
128 128
 import BreadCrumb from '@/xt_pages/components/bread-crumb'
129 129
 import { basename } from 'path'
130
+import { getAllDoctorList,saveHisPatient } from "@/api/project/project"
130 131
 const moment = require('moment')
131 132
 export default {
132 133
     components:{
@@ -155,9 +156,7 @@ export default {
155 156
                 registrationFee:'',
156 157
                 medicalExpenses:'',
157 158
                 cost:'',
158
-                total: ''
159
-
160
-            
159
+                total: '' 
161 160
             },
162 161
             settlement: [{
163 162
                 value: 1,
@@ -241,6 +240,16 @@ export default {
241 240
                 psn_name:"杨美英",
242 241
                 age:60.7
243 242
             },
243
+
244
+            rules: {
245
+              idCard: [{ required: true, message: '请填写证件号码', trigger: 'blur'  }],
246
+              register: [{ required: true, message: '请选择挂号类型' , trigger: 'blur' }],
247
+              doctor: [{ required: true, message: '请选择医生' , trigger: 'blur' }],
248
+              department: [{ required: true, message: '请填写科室', trigger: 'blur' }],
249
+           },
250
+           doctorList:[],
251
+           departmentList:[],
252
+           check:0
244 253
         }
245 254
     },
246 255
     computed:{
@@ -263,6 +272,8 @@ export default {
263 272
         getBirthday(date){
264 273
             console.log(date)
265 274
             let curTime = moment(new Date(date)).format('YYYY-MM-DD')
275
+            console.log("curTime22222",curTime)
276
+           
266 277
             console.log(this.jsGetAge(curTime))
267 278
 
268 279
             this.form.age = this.jsGetAge(curTime)
@@ -306,8 +317,6 @@ export default {
306 317
         },
307 318
         getForm(){
308 319
             this.form.total = this.total
309
-            // console.log(new Date(new Date().toLocaleDateString()).getTime() / 1000)
310
-            // console.log(JSON.parse(localStorage.getItem("temp")))
311 320
             if(localStorage.getItem("temp")){
312 321
                 let a = JSON.parse(localStorage.getItem("temp"))
313 322
                 // let arr = []
@@ -333,6 +342,62 @@ export default {
333 342
             }
334 343
         },
335 344
         
345
+        getAllDoctorList(){
346
+           getAllDoctorList().then(response=>{
347
+             if(response.data.state == 1){
348
+               var doctor =  response.data.data.doctor
349
+               this.doctorList = doctor
350
+               var department = response.data.data.department
351
+               console.log("department",department)
352
+               this.departmentList = department
353
+             }
354
+           })   
355
+        },
356
+        saveHisPatient(formName){
357
+           
358
+            if(this.form.costChecked == true){
359
+               this.check = 1
360
+            }
361
+            if(this.form.costChecked == false){
362
+               this.check = 2
363
+            } 
364
+            var params = {
365
+              settlementValue:this.form.settlementValue,
366
+              medicalInsuranceCard:this.form.medicalInsuranceCard,
367
+              name:this.form.name,
368
+              sex:this.form.sex,
369
+              certificates:this.form.certificates, 
370
+              medicalCare:this.form.medicalCare,
371
+              birthDay:moment(new Date(this.form.birthday)).format('YYYY-MM-DD'),
372
+              age:parseInt(this.form.age),
373
+              idCard:this.form.idCard,
374
+              register:this.form.register,
375
+              doctor:this.form.doctor,
376
+              department:this.form.department,
377
+              costChecked:this.check,
378
+              registrationFee:this.form.registrationFee,
379
+              medicalExpenses:this.form.medicalExpenses,
380
+              cost:this.form.cost,
381
+              total:this.total
382
+            }
383
+            console.log("params",params)
384
+ 
385
+          this.$refs[formName].validate((valid)=>{
386
+             if(valid){
387
+                saveHisPatient(params).then(response=>{
388
+                   if(response.data.state == 1){
389
+                     var patient =  response.data.data.patient
390
+                     console.log("patient",patient)
391
+                     this.$message.success("保存成功")
392
+                   } 
393
+                })
394
+             } 
395
+          })
396
+        }
397
+    },
398
+    created(){
399
+      //获取当前机构有人员信息
400
+      this.getAllDoctorList()   
336 401
     }
337 402
 }
338 403
 </script>