Browse Source

11月14日 库存扣减更新

XMLWAN 3 years ago
parent
commit
7c14108ae0

+ 8 - 0
src/api/schedule.js View File

@@ -229,3 +229,11 @@ export function getNextWeekPanels(params) {
229 229
     params: params
230 230
   })
231 231
 }
232
+
233
+export function synchroSchedule(params) {
234
+  return request({
235
+    url: '/api/schedule/synchroschedule',
236
+    method: 'get',
237
+    params: params
238
+  })
239
+}

+ 2 - 1
src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue View File

@@ -1694,7 +1694,7 @@
1694 1694
 
1695 1695
                 ParamsQuery['patient'] = this.patient.id
1696 1696
                 ParamsQuery['record_date'] = this.record_date
1697
-
1697
+                 ParamsQuery['patient_id'] = this.$route.query.patient_id
1698 1698
                 if (this.prescription.creater <= 0) {
1699 1699
                   ParamsQuery['mode'] = '1'
1700 1700
                 } else {
@@ -2203,6 +2203,7 @@
2203 2203
               const ParamsQuery = arr
2204 2204
               // console.log('night', ParamsQuery)
2205 2205
               ParamsQuery['patient'] = this.patient.id
2206
+             
2206 2207
               ParamsQuery['record_date'] = this.record_date
2207 2208
               ParamsQuery['mode'] = '1'
2208 2209
               ParamsQuery['patient_id'] = this.patient.id

+ 4 - 4
src/xt_pages/user/components/PatientSidebar.vue View File

@@ -106,10 +106,10 @@ export default {
106 106
               name: '1-9',
107 107
               label: '阶段小结'
108 108
             },
109
-            // {
110
-            //   name: '1-10',
111
-            //   label: '住院小结'
112
-            // },
109
+            {
110
+              name: '1-10',
111
+              label: '住院小结'
112
+            },
113 113
             {
114 114
               name: '1-3',
115 115
               label: '检验检查'

+ 60 - 13
src/xt_pages/user/hospitalSummary.vue View File

@@ -247,7 +247,7 @@
247 247
                 <div class="textarea_panel">
248 248
                     <keep-alive>
249 249
                       <editor ref="editorTwo"
250
-                              id="editorsTwo"
250
+                              id="editorTwo"
251 251
                               style="width: 800px"
252 252
                               v-bind:r_content="form.diagnosis_admission">
253 253
                       </editor>
@@ -284,7 +284,7 @@
284 284
                <div class="textarea_panel">
285 285
                     <keep-alive>
286 286
                       <editor ref="editorFive"
287
-                              id="editorsFive"
287
+                              id="editorFive"
288 288
                               style="width: 800px"
289 289
                               v-bind:r_content="form.illness_discharge">
290 290
                       </editor>
@@ -302,7 +302,7 @@
302 302
                 <div class="textarea_panel">
303 303
                     <keep-alive>
304 304
                       <editor ref="editorSix"
305
-                              id="editorsSix"
305
+                              id="editorSix"
306 306
                               style="width: 800px"
307 307
                               v-bind:r_content="form.discharge_advice">
308 308
                       </editor>
@@ -910,9 +910,11 @@
910 910
              this.form.admitting_diagnosis_id = detail.admitting_diagnosis_id
911 911
              this.form.admitting_diagnosis = detail.admitting_diagnosis
912 912
              this.form.discharge_diagnosis = detail.discharge_diagnosis
913
+             console.log("出院争端233232",detail.discharge_diagnosis_id)
913 914
              this.form.discharge_diagnosis_id = detail.discharge_diagnosis_id
914 915
              this.form.diagnosis_admission_id = detail.diagnosis_admission_id
915 916
              this.form.diagnosis_admission = detail.diagnosis_admission
917
+             console.log("详情233232232323",this.form.diagnosis_admission)
916 918
              this.form.treatment_id = detail.treatment_id
917 919
              this.form.treatment = detail.treatment
918 920
              this.form.illness_discharge_id = detail.illness_discharge_id
@@ -947,6 +949,7 @@
947 949
           }
948 950
          }
949 951
         
952
+        
950 953
          if(this.templatesOne!=undefined){
951 954
           for(let i=0;i<this.templatesOne.length;i++){
952 955
            if(this.form.discharge_diagnosis_id == this.templatesOne[i].content){
@@ -954,7 +957,9 @@
954 957
             }
955 958
           }
956 959
          }
957
-
960
+        console.log("6666666",this.form.diagnosis_admission_id)
961
+        console.log("777777777",this.templatesTwo)
962
+        console.log("8888888",this.$refs.editorSixty.content)
958 963
          if(this.templatesTwo!=undefined){
959 964
           for(let i=0;i<this.templatesTwo.length;i++){
960 965
             if(this.form.diagnosis_admission_id == this.templatesTwo[i].content){
@@ -970,7 +975,9 @@
970 975
             }
971 976
          }
972 977
         }
973
-      
978
+         console.log("99999999",this.templatesFour)
979
+         console.log("88888888",this.form.illness_discharge_id)
980
+         console.log("ffffffff",this.$refs.editorThirty.content)
974 981
         if(this.templatesFour!=undefined){
975 982
             for(let i=0;i<this.templatesFour.length;i++){
976 983
            if(this.form.illness_discharge_id == this.templatesFour[i].content){
@@ -986,7 +993,7 @@
986 993
             }
987 994
          }
988 995
        }
989
-       
996
+    
990 997
 
991 998
       
992 999
         if(this.form.doctor == ""){
@@ -995,6 +1002,46 @@
995 1002
          if(this.form.dean == ""){
996 1003
            this.form.dean = 0
997 1004
          }
1005
+        var admitting_diagnosis = ""
1006
+        var discharge_diagnosis = ""
1007
+        var diagnosis_admission = ""
1008
+        var discharge_advice = ""
1009
+        var treatment = ""
1010
+        var illness_discharge = ""
1011
+        if(this.$refs.editorTen.content == ""){
1012
+            admitting_diagnosis = this.form.admitting_diagnosis
1013
+         }else{
1014
+            admitting_diagnosis = this.$refs.editorTen.content
1015
+         }
1016
+         if(this.$refs.editorSeven.content== ""){
1017
+            discharge_diagnosis = this.form.discharge_diagnosis
1018
+         }else{
1019
+           discharge_diagnosis = this.$refs.editorSeven.content
1020
+         }
1021
+
1022
+         if(this.$refs.editorSixty.content == ""){
1023
+            diagnosis_admission = this.form.diagnosis_admission
1024
+         }else{
1025
+           diagnosis_admission = this.$refs.editorSixty.content 
1026
+         }
1027
+         
1028
+         if(this.$refs.editorThirty.content == ""){
1029
+            illness_discharge = this.form.illness_discharge
1030
+         }else{
1031
+           illness_discharge = this.$refs.editorThirty.content
1032
+         }
1033
+
1034
+         if(this.$refs.editorTwelve.content == ""){
1035
+            discharge_advice = this.form.discharge_advice
1036
+         }else{
1037
+            discharge_advice = this.$refs.editorTwelve.content
1038
+         }
1039
+
1040
+         if(this.$refs.editorNight.content == ""){
1041
+            treatment = this.form.treatment
1042
+         }else{
1043
+            treatment = this.$refs.editorNight.content
1044
+         }
998 1045
          var params = {
999 1046
           id:this.form.id,
1000 1047
           patient_id:parseInt(this.patient_id),
@@ -1004,17 +1051,17 @@
1004 1051
           sick_personnel:this.form.sick_personnel,
1005 1052
           xray:this.form.xray,
1006 1053
           admitting_diagnosis_id:admitting_diagnosis_id,
1007
-          admitting_diagnosis:this.$refs.editorTen.content,
1008
-          discharge_diagnosis:this.$refs.editorSeven.content,
1054
+          admitting_diagnosis:admitting_diagnosis,
1055
+          discharge_diagnosis:discharge_diagnosis,
1009 1056
           discharge_diagnosis_id:discharge_diagnosis_id,
1010 1057
           diagnosis_admission_id:diagnosis_admission_id,
1011
-          diagnosis_admission:this.$refs.editorSixty.content,
1012
-          illness_discharge:this.$refs.editorThirty.content,
1058
+          diagnosis_admission:diagnosis_admission,
1059
+          illness_discharge:illness_discharge,
1013 1060
           illness_discharge_id:illness_discharge_id,
1014 1061
           discharge_advice_id:discharge_advice_id,
1015
-          discharge_advice:this.$refs.editorTwelve.content,
1062
+          discharge_advice:discharge_advice,
1016 1063
           treatment_id:treatment_id,
1017
-          treatment:this.$refs.editorNight.content,
1064
+          treatment:treatment,
1018 1065
           dean:this.form.dean,
1019 1066
           doctor:this.form.doctor,
1020 1067
           record_date:this.getTime(this.form.record_date),
@@ -1025,7 +1072,7 @@
1025 1072
           record_date:this.form.record_date,
1026 1073
          }
1027 1074
         console.log("比你强2332322323232",params)
1028
-        
1075
+   
1029 1076
         updateHospitalSummary(params).then(response=>{
1030 1077
           if(response.data.state == 1){
1031 1078
             var detail = response.data.data.detail

+ 16 - 11
src/xt_pages/workforce/components/template_table.vue View File

@@ -301,6 +301,7 @@
301 301
     },
302 302
     watch: {
303 303
       'device_numbers': function() {
304
+        console.log("中国人民2333232333323322332",this.device_numbers)
304 305
         this.opera_device_numbers = this.makeDeviceNumbers(this.device_numbers)
305 306
         this.origin_device_numbers = this.makeDeviceNumbers(this.device_numbers)
306 307
       },
@@ -461,23 +462,27 @@
461 462
       //     }
462 463
       // },
463 464
       makeDeviceNumbers: function(device_numbers) {
465
+        
464 466
         var maked_device_numbers = []
465 467
         var weekdays = [1, 2, 3, 4, 5, 6, 7] // 周一-周日
466 468
         var time_types = [1, 2, 3] // 上下晚
467 469
         for (let index = 0; index < device_numbers.length; index++) {
468 470
           const device_number = device_numbers[index]
469
-          var zone = {
470
-            id: device_number.zone.id,
471
-            name: device_number.zone.name,
472
-            type: device_number.zone.type
473
-          }
474
-          var device = {
475
-            id: device_number.id,
476
-            number: device_number.number,
477
-            group_id: device_number.group_id,
478
-            zone_id: device_number.zone_id,
479
-            zone: zone
471
+          if(device_number.zone!=null){
472
+            var zone = {
473
+              id: device_number.zone.id,
474
+              name: device_number.zone.name,
475
+              type: device_number.zone.type
476
+            }
477
+            var device = {
478
+              id: device_number.id,
479
+              number: device_number.number,
480
+              group_id: device_number.group_id,
481
+              zone_id: device_number.zone_id,
482
+              zone: zone
483
+            }
480 484
           }
485
+         
481 486
 
482 487
           // 以 weekday_timetype 为 key,{pid: 0, name: "", treat_mode_id: 0, treat_mode: ""} 为 value,加入到 maked_device_numbers 中
483 488
           for (let w_i = 0; w_i < weekdays.length; w_i++) {

+ 176 - 9
src/xt_pages/workforce/template.vue View File

@@ -103,6 +103,7 @@
103 103
 
104 104
 
105 105
         <el-button size="small" icon="el-icon-setting" type="primary" @click="setScheduleTemplateAction">设置模板</el-button>
106
+        <!-- <el-button size="small" icon="el-icon-setting" type="primary" @click="setData">同步数据</el-button> -->
106 107
       </div>
107 108
       <!-- </el-col> -->
108 109
     </div>
@@ -131,6 +132,30 @@
131 132
       <set-up-template-dialog ref="setup_dialog" :template_mode="template_mode" :origin_mode="origin_mode"
132 133
                               @chenge_mode="didChangeTemplateMode"></set-up-template-dialog>
133 134
     </div>
135
+
136
+     <el-dialog title="同步排班" width="600px" :visible.sync="newVisible">
137
+            <el-form :model="form"  ref="form" label-width="90px" :rules="rules">
138
+                <el-form-item label="同步周次:">
139
+                   <el-radio v-model="form.firstWeek" label="1">第一周</el-radio>
140
+                   <el-radio v-model="form.firstWeek" label="2">第二周</el-radio>
141
+                </el-form-item>
142
+                <el-form-item label="同步到 :">
143
+                  <el-select v-model="form.copyWeek" placeholder="请选择" required  prop="copyWeek">
144
+                      <el-option
145
+                      v-for="item in typeOptions"
146
+                      :key="item.value"
147
+                      :label="item.label"
148
+                      :value="item.value">
149
+                      </el-option>
150
+                  </el-select>
151
+                </el-form-item>
152
+
153
+            </el-form>
154
+            <div slot="footer" class="dialog-footer">
155
+                <el-button @click="newVisible=false">取 消</el-button>
156
+                <el-button type="primary" @click="submitAction('form')">保 存</el-button>
157
+            </div>
158
+      </el-dialog>
134 159
   </div>
135 160
 </template>
136 161
 
@@ -139,7 +164,7 @@
139 164
   import TemplateTable from './components/template_table'
140 165
   import { getTemplateInitData } from '@/api/schedule_template/patient'
141 166
   import BreadCrumb from '@/xt_pages/components/bread-crumb'
142
-  import { exportScheduleTemplate, getWeekPanels,initDate } from '@/api/schedule'
167
+  import { exportScheduleTemplate, getWeekPanels,initDate,synchroSchedule } from '@/api/schedule'
143 168
   import ScheduleTemplateUploadExcel from './components/scheduleTemplateUploadExcel/index'
144 169
   import { generateLog } from '@/api/config'
145 170
 
@@ -192,11 +217,62 @@
192 217
         },
193 218
         firstWeekData:[],
194 219
         secondWeekData:[],
195
-        tableList:[]
220
+        tableList:[],
221
+        newVisible:false,
222
+        weekList: [],
223
+        currentFirstDate1: '',
224
+        rules: {
225
+           copyWeek: [{ required: true, message: "请选择复制时间段", trigger: "blur" }],
226
+         },
227
+        weekNum:'',
228
+        weekDayArr:[],
229
+        todayDate:'',
230
+        clen:7,
231
+        nowYear: new Date().getFullYear(),
232
+        schedule_week:0,
233
+        newDay:[],
234
+        typeOptions:[],
235
+        timeOptions:[],
236
+        form:{
237
+         firstWeek:"1",
238
+         secondWeek:"",
239
+         copyWeek:''
240
+         
241
+        },
242
+        rules: {
243
+          copyWeek: [{ required: true, message: "请选择同步时间段", trigger: "blur" }],
244
+        }
196 245
       }
197 246
     },
198 247
     created() {
248
+      let year = new Date().getFullYear()
249
+     let month = new Date().getMonth() + 1
250
+     let date = new Date().getDate()
251
+     this.weekNum = this.getYearWeek(year,month,date)
252
+     this.todayDate=this.formatDate(new Date())
253
+     this.setDate(new Date())
254
+
255
+     for (var i = 0; i <= 9; i++) {
256
+       this.setDate1(this.addDate(this.currentDate, 7))
257
+     }
258
+     let newNum = 0
259
+     for(let i = 0; i < this.weekList.length; i++){
260
+         if(this.weekNum + i + 1 <= 53){
261
+             let num = this.weekNum + i 
262
+            let str = this.weekList[i][0] + '~' + this.weekList[i][6] + '(' + num + ')'
263
+             this.typeOptions.push({value:i,label:str})
264
+            let stt = this.weekList[i][0] +"~"+this.weekList[i][6]
265
+            this.timeOptions.push({value:i,label:stt})
266
+        }else{
267
+
268
+            newNum++
269
+            let str = this.weekList[i][0] + '~' + this.weekList[i][6] + '(' + newNum + ')'
270
+            this.typeOptions.push({value:i,label:str})
271
+            let stt = this.weekList[i][0] +"~"+this.weekList[i][6]
272
+            this.timeOptions.push({value:i,label:stt})
273
+          }
199 274
 
275
+      }
200 276
       this.getWeekPanels()
201 277
       this.getInitDate()
202 278
       getTemplateInitData().then(rs => {
@@ -217,7 +293,7 @@
217 293
           this.template_mode = mode
218 294
           this.origin_mode = mode.mode
219 295
           this.device_numbers = device_numbers
220
-     
296
+         
221 297
           this.patients = patients
222 298
          
223 299
           this.first_template = templates[0]
@@ -248,7 +324,68 @@
248 324
       })
249 325
     },
250 326
     methods: {
251
-      refresh(){
327
+      getYearWeek(year,month,date){
328
+      /*
329
+          dateNow是当前日期
330
+          dateFirst是当年第一天
331
+          dataNumber是当前日期是今年第多少天
332
+          用dataNumber + 当前年的第一天的周差距的和在除以7就是本年第几周
333
+      */
334
+      let dateNow = new Date(year, parseInt(month) - 1, date);
335
+      let dateFirst = new Date(year, 0, 1);
336
+      let dataNumber = Math.round((dateNow.valueOf() - dateFirst.valueOf()) / 86400000);
337
+     
338
+      return Math.ceil((dataNumber + ((dateFirst.getDay() + 1) - 1)) / 7);
339
+      },
340
+      getTimestamp(time) { //把时间日期转成时间戳
341
+      return (new Date(time)).getTime() / 1000
342
+    },
343
+
344
+      formatDate(date){
345
+          var year = date.getFullYear()+'.'
346
+          var month = (date.getMonth()+1)+'.';
347
+          var day = date.getDate();
348
+          return year+month+day
349
+      },
350
+      formatDateTwo(date){
351
+          var year = date.getFullYear()+'.'
352
+          var month = (date.getMonth()+1)+'.';
353
+          var day = date.getDate();
354
+          return year+month+day
355
+      },
356
+      addDate(date,n){
357
+          date.setDate(date.getDate()+n);
358
+          return date;
359
+      },
360
+          //
361
+      setDate(date){
362
+          var week = date.getDay()-1;
363
+          date = this.addDate(date,week*-1);
364
+          this.currentFirstDate = new Date(date);
365
+          this.currentDate = new Date(date)
366
+          for(var i = 0;i<this.clen; i++){
367
+              this.weekDayArr.push(this.formatDate(i==0 ? date : this.addDate(date,1)))
368
+          }
369
+      },
370
+      setDate1 (date) {
371
+          var week = date.getDay() - 1
372
+        
373
+          date = this.addDate(date, week * -1)
374
+         
375
+          this.currentDate = new Date(date)
376
+          let arr1 = []
377
+          for (var i = 0; i < this.clen; i++) {
378
+              arr1.push(this.formatDate(i == 0 ? date : this.addDate(date, 1)))
379
+          }
380
+          this.weekList.push(arr1)
381
+          
382
+          let num = this.weekNum
383
+          this.currentFirstDate1 = num + 1
384
+      },
385
+      getTimestamp(time) { //把时间日期转成时间戳
386
+        return (new Date(time)).getTime() / 1000
387
+      },
388
+    refresh(){
252 389
         getTemplateInitData().then(rs => {
253 390
           var resp = rs.data
254 391
           if (resp.state == 1) {
@@ -573,11 +710,6 @@
573 710
           return
574 711
         }
575 712
 
576
-
577
-
578
-
579
-
580
-
581 713
         let is_system_zone = true
582 714
         let is_device_number = true
583 715
         let zones = []
@@ -2601,6 +2733,41 @@
2601 2733
           this.downloadLoading = false
2602 2734
         })
2603 2735
 
2736
+      },
2737
+      setData(){
2738
+       this.newVisible = true
2739
+      },
2740
+      submitAction(){
2741
+          var template_id = 0
2742
+           if(this.form.firstWeek == 1){
2743
+             template_id  = this.first_template
2744
+           }
2745
+           if(this.form.firstWeek == 2){
2746
+             template_id = this.second_template
2747
+           }
2748
+           var label = ""
2749
+           for(let i=0;i<this.timeOptions.length;i++){
2750
+               if(this.form.copyWeek == this.timeOptions[i].value){
2751
+                 label = this.timeOptions[i].label
2752
+               }
2753
+            }
2754
+           var start = label.split('~')
2755
+           var copy_startime = this.getTimestamp(start[0])
2756
+           var copy_endtime = this.getTimestamp(start[1])
2757
+           var params = {
2758
+             template_id:template_id.id,
2759
+             copy_startime:copy_startime,
2760
+             copy_endtime:copy_endtime,
2761
+           }
2762
+          console.log("param232323223",params)
2763
+        synchroSchedule(params).then(response=>{
2764
+          if(response.data.state == 1){
2765
+            var msg = response.data.data.msg
2766
+            this.$message.success("同步成功!")
2767
+            this.newVisible = false
2768
+          }
2769
+        })
2770
+ 
2604 2771
       }
2605 2772
     }
2606 2773
   }