28169 5 månader sedan
förälder
incheckning
ef7027029d

+ 60 - 0
src/api/project/project.js Visa fil

549
     method:"Get",
549
     method:"Get",
550
     params:params
550
     params:params
551
   })
551
   })
552
+}
553
+
554
+
555
+export function saveGoodList(params,data){
556
+  
557
+  return request({
558
+    url:"/api/savegoodlist",
559
+    method:"post",
560
+    params:params,
561
+    data:data,
562
+   
563
+  })
564
+}
565
+
566
+export function getGoodList(params){
567
+ 
568
+  return request({
569
+    url:"/api/getgoodlist",
570
+    method:"get",
571
+    params:params,
572
+  })
573
+}
574
+
575
+
576
+export function getGoodNameDetail(id,params){
577
+  
578
+  return request({
579
+    url:"/api/getgoodnamedetail?id="+id,
580
+    method:"get",
581
+    params:params
582
+  })
583
+}
584
+
585
+export function updateGoodList(params,data){
586
+
587
+  return request({
588
+    url:"/api/updategoodlist",
589
+    method:"post",
590
+    params:params,
591
+    data:data,
592
+   
593
+  })
594
+}
595
+
596
+export function DeleteGoodTeam(id,params){
597
+ 
598
+  return  request({
599
+    url:"/api/deletegoodteam?id="+id,
600
+    method:"Get",
601
+    params:params
602
+  })
603
+}
604
+
605
+export function DeleteGood(id,params){
606
+ 
607
+  return request({
608
+    url:"/api/deletegood?id="+id,
609
+    method:"get",
610
+    params:params
611
+  })
552
 }
612
 }

+ 1 - 0
src/lang/en.js Visa fil

106
     DrugDispensing: 'DrugDispensing',
106
     DrugDispensing: 'DrugDispensing',
107
     DispensingDetails: 'DispensingDetails',
107
     DispensingDetails: 'DispensingDetails',
108
     // ConsumablesManagement:'ConsumablesManagement',
108
     // ConsumablesManagement:'ConsumablesManagement',
109
+    DrugCodeList:'DrugCodeList',
109
     MedicianManagement: 'MedicianManagement',
110
     MedicianManagement: 'MedicianManagement',
110
     patiantDispensing: 'patiantDispensing',
111
     patiantDispensing: 'patiantDispensing',
111
     supplyManage: 'Supply Manage',
112
     supplyManage: 'Supply Manage',

+ 1 - 1
src/lang/zh.js Visa fil

169
     DispensingDetails: '发药明细',
169
     DispensingDetails: '发药明细',
170
     // ConsumablesManagement:'耗材管理',
170
     // ConsumablesManagement:'耗材管理',
171
     MedicianManagement: '药品管理',
171
     MedicianManagement: '药品管理',
172
-
172
+    DrugCodeList:"药品追溯",
173
     otherManagement: '其他管理',
173
     otherManagement: '其他管理',
174
     drugsExpiryDate: '药品有效期预警',
174
     drugsExpiryDate: '药品有效期预警',
175
     drugsSurplus: '药品剩余预警',
175
     drugsSurplus: '药品剩余预警',

+ 2 - 0
src/router/index.js Visa fil

46
 import PatientDispensing from './modules/PatientDispensing'
46
 import PatientDispensing from './modules/PatientDispensing'
47
 import DrugDispensing from './modules/DrugDispensing'
47
 import DrugDispensing from './modules/DrugDispensing'
48
 import DispensingDetails from './modules/DispensingDetails'
48
 import DispensingDetails from './modules/DispensingDetails'
49
+import DrugCodeList  from './modules/DrugCodeList'
49
 // import ConsumablesManagement from './modules/ConsumablesManagement'
50
 // import ConsumablesManagement from './modules/ConsumablesManagement'
50
 import MedicianManagement from './modules/MedicianManagement'
51
 import MedicianManagement from './modules/MedicianManagement'
51
 
52
 
173
   PatientDispensing, // 患者发药模块
174
   PatientDispensing, // 患者发药模块
174
   DrugDispensing, // 药房管理模块
175
   DrugDispensing, // 药房管理模块
175
   DispensingDetails, // 药房管理模块
176
   DispensingDetails, // 药房管理模块
177
+  DrugCodeList,//药品追溯码
176
   //ConsumablesManagement, // 药房管理模块
178
   //ConsumablesManagement, // 药房管理模块
177
   MedicianManagement, // 药房管理模块
179
   MedicianManagement, // 药房管理模块
178
 
180
 

+ 4 - 2
src/router/modules/DispensingDetails.js Visa fil

12
     meta: {
12
     meta: {
13
       title: '发药明细',
13
       title: '发药明细',
14
       noCache: true
14
       noCache: true
15
-    }
16
-  },]
15
+     }
16
+    },
17
+
18
+  ]
17
 }
19
 }

+ 18 - 0
src/router/modules/DrugCodeList.js Visa fil

1
+
2
+import Layout from '@/views/layout/Layout'
3
+
4
+export default {
5
+  path: '/DrugCodeList',
6
+  component: Layout,
7
+  name:'DrugCodeList',
8
+  redirct: 'noredirect',
9
+  children: [{
10
+    path: '/Pharmacy/drugCode',
11
+    component: () => import('@/xt_pages/Pharmacy/drugCode.vue'),
12
+    name: '药房管理',
13
+    meta: {
14
+      title: '药品追溯',
15
+      noCache: true
16
+    }
17
+  },]
18
+}

+ 1 - 1
src/views/layout/Layout.vue Visa fil

139
     let caigou = ['supplyManage','supplyList'];
139
     let caigou = ['supplyManage','supplyList'];
140
     let peizhi = ['system','roleManage','DepartManage', 'bedManagement', 'dictionaryManagement', 'templateManagement','showconfig','printTemplate','integration_config','basicConfig'];
140
     let peizhi = ['system','roleManage','DepartManage', 'bedManagement', 'dictionaryManagement', 'templateManagement','showconfig','printTemplate','integration_config','basicConfig'];
141
     let kuyishopping = ['kuyiShopping'];
141
     let kuyishopping = ['kuyiShopping'];
142
-    let medician = ['PatientDispensing','DrugDispensing','DispensingDetails','stockDrugs']
142
+    let medician = ['PatientDispensing','DrugDispensing','DispensingDetails','stockDrugs','DrugCodeList']
143
     let menzhenArr = [];
143
     let menzhenArr = [];
144
     let bingliArr = [];
144
     let bingliArr = [];
145
     let touxiArr = [];
145
     let touxiArr = [];

+ 1 - 1
src/views/layout/components/Sidebar/index.vue Visa fil

103
             this.$emit('func',a)
103
             this.$emit('func',a)
104
           }
104
           }
105
         }else if(newVal == '药房管理'){
105
         }else if(newVal == '药房管理'){
106
-          let nameArr = ['PatientDispensing','DrugDispensing','DispensingDetails','stockDrugs']
106
+          let nameArr = ['PatientDispensing','DrugDispensing','DispensingDetails','stockDrugs','DrugCodeList']
107
           // console.log('permission_routers',this.permission_routers)
107
           // console.log('permission_routers',this.permission_routers)
108
           let routerArr = [];
108
           let routerArr = [];
109
           this.permission_routers.map(item => {
109
           this.permission_routers.map(item => {

+ 419 - 0
src/xt_pages/Pharmacy/drugCode.vue Visa fil

1
+<template>
2
+    <div>
3
+      <div style="display: flex;justify-content: space-between;margin-bottom:10px;">
4
+        <div class="cell clearfix">
5
+          <span>发药时间:</span>
6
+          <el-date-picker
7
+            size="small"
8
+            v-model="start_time"
9
+            prefix-icon="el-icon-date"
10
+            :editable="false"
11
+            style="width: 196px;"
12
+            type="date"
13
+            placeholder="选择日期时间"
14
+            align="right"
15
+            format="yyyy-MM-dd"
16
+            value-format="yyyy-MM-dd"
17
+            @change="changeStartTime"
18
+          ></el-date-picker>-
19
+          <el-date-picker
20
+           @change="changeEndTime"
21
+            size="small"
22
+            v-model="end_time"
23
+            prefix-icon="el-icon-date"
24
+            :editable="false"
25
+            style="width: 196px;margin-right:10px;"
26
+            type="date"
27
+            placeholder="选择日期时间"
28
+            align="right"
29
+            format="yyyy-MM-dd"
30
+            value-format="yyyy-MM-dd"
31
+          ></el-date-picker>
32
+        </div>
33
+
34
+
35
+        <div>
36
+          <div>上传状态:
37
+            <el-select size="small" v-model="is_sale" placeholder="请选择" style="width:100px;" @change="changeStock">
38
+                <el-option
39
+                  v-for="item,index in items"
40
+                  :key="index"
41
+                  :label="item.name"
42
+                  :value="item.id">
43
+                </el-option>
44
+            </el-select>
45
+         </div>
46
+        </div>
47
+
48
+        <div>
49
+          <el-button type="primary" @click="query()">查询</el-button>
50
+          <el-button type="primary" @click="exportdata()">导出</el-button>
51
+        </div>
52
+      </div>
53
+      <el-table :data="tableData" border :row-style="{ color: '#303133' }" ref="table2"
54
+                :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
55
+                max-height="800"
56
+                @select="selectCostInfo"
57
+                @selection-change="changeCostInfoTableData"
58
+                @select-all="changeAllCostInfoTableData"
59
+                highlight-current-row>
60
+        <el-table-column align="center" prop="name" label="患者姓名">
61
+          <template slot-scope="scope">{{getPatientName(scope.row.patient_id) }}</template>
62
+        </el-table-column>
63
+        <el-table-column align="center" prop="name" label="处方日期">
64
+          <template slot-scope="scope">{{getTime(scope.row.advice_date)}}</template>
65
+        </el-table-column>
66
+        <el-table-column align="center" prop="name" label="药品名称">
67
+          <template slot-scope="scope">{{ scope.row.advice_name }}</template>
68
+        </el-table-column>
69
+        <el-table-column align="center" prop="name" label="规格">
70
+          <template slot-scope="scope">{{getDrugSpec(scope.row.drug_id)}}</template>
71
+        </el-table-column>
72
+        <el-table-column align="center" prop="name" label="开药总量">
73
+          <template slot-scope="scope">{{scope.row.prescribing_number}}{{ scope.row.prescribing_number_unit }}</template>
74
+        </el-table-column>
75
+        <el-table-column align="center" prop="name" label="药品追溯码">
76
+          <template slot-scope="scope">
77
+            <div @click="getDrugCode(scope.row.id,scope.row.DataSources,scope.row.drug_code,scope.$index)"><el-input style="width: 100;" v-model="scope.row.drug_code"></el-input></div>
78
+          </template>
79
+        </el-table-column>
80
+        <el-table-column align="center" prop="name" label="上传状态">
81
+          <template slot-scope="scope">
82
+            <div v-if="scope.row.is_upload == 1">已上传</div>
83
+            <div v-if="scope.row.is_upload == 2 || scope.row.is_upload == 0">未上传</div>
84
+          </template>
85
+        </el-table-column>
86
+
87
+        <el-table-column align="center" prop="name" label="发药状态">
88
+          <template slot-scope="scope">
89
+            <div v-if="scope.row.is_medicine == 1">已发药</div>
90
+            <div v-if="scope.row.is_medicine == 2 || scope.row.is_medicine == 0">未发药</div>
91
+          </template>
92
+        </el-table-column>
93
+
94
+        <el-table-column align="center" prop="name" label="操作" width="200">
95
+          <template slot-scope="scope">
96
+            <div>
97
+             <el-button v-if="scope.row.is_upload == 1" type="primary" @click="sigle_stock(scope.row)">未上传</el-button>
98
+            <el-button type="primary" v-if="scope.row.is_upload == 0 || scope.row.is_upload == 2" @click="toUpload(scope.row)">上传</el-button>
99
+            <el-button v-if="faShow == true" type="primary" @click="toFaYao(scope.row)">发药</el-button>
100
+            </div>
101
+          </template>
102
+        </el-table-column>
103
+
104
+
105
+      </el-table>
106
+      <el-pagination
107
+        @size-change="handleSizeChange"
108
+        @current-change="handleCurrentChange"
109
+        :page-size="5"
110
+        :page-sizes="[10, 20, 50, 100,500,1000,2000]"
111
+        background
112
+        style="margin-top:20px;float: right"
113
+        :total="value"
114
+      ></el-pagination>
115
+
116
+
117
+
118
+
119
+
120
+      <el-dialog
121
+        title="药品追溯码"
122
+        :visible.sync="dialogVisibleOne"
123
+         width="40%">
124
+       <span>
125
+        <el-input
126
+          @keyup.native="changeText"
127
+          type="textarea"
128
+          placeholder="请输入内容"
129
+          v-model="textarea"
130
+          :rows="10"
131
+        >
132
+        </el-input>
133
+      </span>
134
+      <span slot="footer" class="dialog-footer">
135
+        <el-button @click="dialogVisibleOne = false">取 消</el-button>
136
+        <el-button type="primary" @click="saveTextArea()">确 定</el-button>
137
+      </span>
138
+      </el-dialog>
139
+    </div>
140
+
141
+
142
+  </template>
143
+
144
+
145
+  <script>
146
+  import BreadCrumb from '@/xt_pages/components/bread-crumb'
147
+  import { getHisDrugCodeQueryList,createUploadDrugCode,getPatientDrugCode } from '../../api/new_stock/stock'
148
+  import { getDictionaryDataConfig } from "@/utils/data";
149
+  import { uParseTime } from '@/utils/tools'
150
+  import { changeDrugCode } from "@/api/pharmacy";
151
+  import axios from 'axios'
152
+  const moment = require('moment')
153
+  export default {
154
+    components: {
155
+      BreadCrumb
156
+    },
157
+    data() {
158
+      return {
159
+        drugTypeList: [{ id: 0, name: "全部" }],
160
+        start_time: new Date(new Date().getFullYear(), new Date().getMonth(), 1).toLocaleDateString('en-CA'),
161
+        end_time: new Date(new Date().getFullYear(), new Date().getMonth() + 1, 0).toLocaleDateString('en-CA'),
162
+
163
+        tableData: [],
164
+        change_type:"3",
165
+        selection:[],
166
+        page:1,
167
+        limit:10,
168
+        value:0,
169
+        is_sale:"0",
170
+        items: [
171
+          { id: "0", name: '全部' },
172
+          { id: "1", name: '已上传' },
173
+          { id: "2", name: '未上传' },
174
+        ],
175
+        patientList:[],
176
+        drugList:[],
177
+        dialogVisibleOne:false,
178
+        id:0,
179
+        is_source:0,
180
+        drug_code:0,
181
+        currentRow:{},
182
+        currentIndex:0,
183
+        is_drug_open:"2",
184
+        textarea:'',
185
+        total:0,
186
+        faShow:false,
187
+        is_open:false,
188
+      }
189
+    },
190
+    methods: {
191
+        changeText(event){
192
+        // 检查是否为特定的按键,例如回车键,来确认扫码枪输入完成
193
+        if (event.key === 'Enter') {
194
+            var textarea = ""
195
+            textarea += this.textarea + ","
196
+            this.textarea = textarea
197
+        }
198
+       },
199
+       getDrugCode(id,DataSources,DrugCode,index){
200
+            this.id = id
201
+            this.textarea = DrugCode
202
+            this.currentIndex = index
203
+            this.dialogVisibleOne = true
204
+      },
205
+      saveTextArea(){
206
+       var params = {
207
+        id:this.id,
208
+        data_source:1,
209
+        drug_code:this.textarea,
210
+       }
211
+       console.log("paramss",params)
212
+      changeDrugCode(params).then(response=>{
213
+         if(response.data.state == 1){
214
+            this.$message.success("保存成功!")
215
+            for(let i=0;i<this.tableData.length;i++){
216
+             if(this.currentIndex == i){
217
+                this.tableData[i].drug_code = this.textarea
218
+             }
219
+            }
220
+            this.dialogVisibleOne = false
221
+         }
222
+      })
223
+    },
224
+    getPatientName(id){
225
+       var name = ""
226
+       for(let i=0;i<this.patientList.length;i++){
227
+          if(id == this.patientList[i].id){
228
+             name = this.patientList[i].name
229
+          }
230
+       }
231
+       return name
232
+      },
233
+      getTime(val) {
234
+         if(val < 0){
235
+           return ""
236
+         }
237
+         if(val == ""){
238
+          return ""
239
+         }else {
240
+          return uParseTime(val, '{y}-{m}-{d}')
241
+         }
242
+      },
243
+      getDrugName(drug_id){
244
+        var drug_name = ""
245
+        for(let i=0;i<this.drugList.length;i++){
246
+           if(drug_id == this.drugList[i].id){
247
+              drug_name = this.drugList[i].drug_name
248
+           }
249
+        }
250
+        return drug_name
251
+      },
252
+      getDrugSpec(drug_id){
253
+        var specification_name = ""
254
+        for(let i=0;i<this.drugList.length;i++){
255
+          if(drug_id == this.drugList[i].id){
256
+            specification_name = this.drugList[i].specification_name
257
+          }
258
+        }
259
+        return specification_name
260
+      },
261
+      handleSizeChange(val) {
262
+        this.limit = val
263
+        this.getlist()
264
+      },
265
+      handleCurrentChange(val) {
266
+        this.page = val
267
+        this.getlist()
268
+      },
269
+      selectCostInfo(selection, row) {
270
+        this.selection = selection
271
+      },
272
+       changeCostInfoTableData(val) {
273
+        this.selection = val
274
+      }, changeAllCostInfoTableData(selection) {
275
+        this.selection = selection
276
+      },
277
+      delete(){
278
+
279
+
280
+      },
281
+      exportdata(){
282
+        console.log("hahahahh",this.tableData)
283
+        if(this.tableData!=null && this.tableData.length>0){
284
+           for(let i=0;i<this.tableData.length;i++){
285
+             this.tableData[i].patient_name = this.getPatientName(this.tableData[i].patient_id)
286
+             this.tableData[i].advice_date_str = this.getTime(this.tableData[i].advice_date)
287
+             if(this.tableData[i].is_upload == 1){
288
+                this.tableData[i].is_upload_name = "已上传"
289
+             }
290
+             if(this.tableData[i].is_upload == 2 || this.tableData[i].is_upload == 0){
291
+                this.tableData[i].is_upload_name = "未上传"
292
+             }
293
+
294
+             if(this.tableData[i].is_medicine == 1){
295
+                this.tableData[i].is_medicine_name = "已发药"
296
+             }
297
+             if(this.tableData[i].is_medicine == 2 || this.tableData[i].is_medicine == 0){
298
+                this.tableData[i].is_medicine_name = "未发药"
299
+             }
300
+             this.tableData[i].specification_name = this.getDrugSpec(this.tableData[i].drug_id)
301
+           }
302
+        }
303
+
304
+        import('@/vendor/Export2Excel').then(excel => {
305
+          const tHeader = ['患者姓名', '处方日期', '药品名称', '规格', '开药总量', '药品追溯码','上传状态','发药状态']
306
+          const filterVal = ['patient_name', 'advice_date_str', 'advice_name', 'specification_name', 'prescribing_numbers', 'drug_code','is_upload_name','is_medicine_name']
307
+
308
+          const data = this.formatJson(filterVal, this.tableData)
309
+           excel.export_json_to_excel({
310
+           header: tHeader,
311
+           data,
312
+           filename: '药品追溯'
313
+         })
314
+        })
315
+
316
+      },formatJson(filterVal, jsonData) {
317
+        return jsonData.map(v => filterVal.map(j => v[j]))
318
+      },
319
+
320
+      query(){
321
+        this.getlist()
322
+      },
323
+      getDrugType(id) {
324
+        var name = "";
325
+        for (let i = 0; i < this.drugTypeList.length; i++) {
326
+          if (this.drugTypeList[i].id == id) {
327
+            name = this.drugTypeList[i].name;
328
+          }
329
+        }
330
+
331
+        return name;
332
+      },
333
+      getTime(val) {
334
+        if(val == "" || val == undefined){
335
+          return ""
336
+        }else {
337
+          return uParseTime(val, '{y}-{m}-{d}')
338
+        }
339
+      },
340
+      getlist(){
341
+        this.tableData = []
342
+        let params = {
343
+          start_time: this.start_time,
344
+          end_time: this.end_time,
345
+          page:this.page,
346
+          limit:this.limit,
347
+          is_sale:this.is_sale,
348
+
349
+        }
350
+        getHisDrugCodeQueryList(params).then(response => {
351
+          if (response.data.state == 0) {
352
+            this.$message.error(response.data.msg)
353
+            return false
354
+          } else {
355
+             this.tableData = response.data.data.list
356
+             this.total = response.data.data.total
357
+             this.drugList = response.data.data.drug
358
+             this.patientList = response.data.data.patients
359
+             this.is_open = response.data.data.codeConfig.is_open
360
+          }
361
+        })
362
+      },
363
+      changeStock(val){
364
+        this.is_sale = val
365
+        this.getlist()
366
+      },
367
+      changeStartTime(val){
368
+        this.start_time = val
369
+      },
370
+      changeEndTime(val){
371
+        this.end_time = val
372
+      },
373
+      toUpload(row){
374
+        if(row.is_medicine == 0 || row.is_is_medicine == 2){
375
+          this.$message.error("该药品未发药,请先发药")
376
+          this.faShow = true
377
+          return
378
+        }
379
+        var params = {
380
+          drug_id:row.drug_id,
381
+          patient_id:row.patient_id,
382
+         advice_date:row.advice_date,
383
+        }
384
+        createUploadDrugCode(params).then(response=>{
385
+          if(response.data.state == 1){
386
+            this.$message.success("上传成功!")
387
+          }
388
+        })
389
+      },
390
+      toFaYao(row){
391
+
392
+        if(this.is_open == 1){
393
+          if(row.drug_code==''){
394
+             this.$message.error("药品追溯码不能为空!")
395
+             return
396
+          }
397
+        }
398
+          var params= {
399
+            drug_id:row.drug_id,
400
+            patient_id:row.patient_id,
401
+            advice_date:row.advice_date,
402
+          }
403
+        getPatientDrugCode(params).then(response=>{
404
+          if(response.data.state == 1){
405
+             this.$message.success("发药成功!")
406
+             this.getlist()
407
+          }
408
+        })
409
+      }
410
+    },
411
+    created() {
412
+      var drugTypeList = getDictionaryDataConfig("system", "drug_type");
413
+      this.drugTypeList.push(...drugTypeList);
414
+      this.getlist()
415
+    }
416
+  }
417
+  </script>
418
+
419
+

+ 2 - 1
src/xt_pages/dialysis/batch_print/batch_print_order_six.vue Visa fil

3152
                               : "/"
3152
                               : "/"
3153
                           }}
3153
                           }}
3154
                         </div>
3154
                         </div>
3155
-                        ml
3155
+                        <span v-if="org_id!=9675&&org_id!=10447 &&org_id!=10624 && org_id!=10471"> ml</span>
3156
+                        <span v-if="org_id ==9675||org_id==10447 || org_id==10624 || org_id == 10471">L</span>
3156
                       </div>
3157
                       </div>
3157
 
3158
 
3158
                       <div class="inline_block" style="flex: 1" v-if="org_id ==10598 || org_id == 0">
3159
                       <div class="inline_block" style="flex: 1" v-if="org_id ==10598 || org_id == 0">

+ 6 - 6
src/xt_pages/dialysis/details/dialog/dialysisPrescriptionDialog.vue Visa fil

3227
         }
3227
         }
3228
 
3228
 
3229
         if(this.$store.getters.xt_user.template_info.org_id ==10635 || this.$store.getters.xt_user.template_info.org_id ==0){
3229
         if(this.$store.getters.xt_user.template_info.org_id ==10635 || this.$store.getters.xt_user.template_info.org_id ==0){
3230
-          console.log("中国====================",this.dialysisPrescription.target_ultrafiltration)
3231
-          console.log("predialysis",this.predialysis)
3230
+          // console.log("中国====================",this.dialysisPrescription.target_ultrafiltration)
3231
+          // console.log("predialysis",this.predialysis)
3232
           if(this.dialysisPrescription.target_ultrafiltration == 0 || this.dialysisPrescription.target_ultrafiltration=="" || this.dialysisPrescription.target_ultrafiltration == "undefined" || this.dialysisPrescription.target_ultrafiltration == undefined){
3232
           if(this.dialysisPrescription.target_ultrafiltration == 0 || this.dialysisPrescription.target_ultrafiltration=="" || this.dialysisPrescription.target_ultrafiltration == "undefined" || this.dialysisPrescription.target_ultrafiltration == undefined){
3233
-             console.log("进货哈哈好哈哈哈哈")
3233
+            //  console.log("进货哈哈好哈哈哈哈")
3234
              this.dialysisPrescription.target_ultrafiltration = (this.predialysis.weight_before - this.predialysis.dry_weight - this.predialysis.additional_weight).toFixed(2)
3234
              this.dialysisPrescription.target_ultrafiltration = (this.predialysis.weight_before - this.predialysis.dry_weight - this.predialysis.additional_weight).toFixed(2)
3235
-             console.log("日本====================", this.dialysisPrescription.target_ultrafiltration)
3235
+            //  console.log("日本====================", this.dialysisPrescription.target_ultrafiltration)
3236
           }
3236
           }
3237
         }
3237
         }
3238
-        console.log("---------",this.targetAdvices)
3239
-        console.log("admin_user_+id2332323223332", this.adminRoles)
3238
+        // console.log("---------",this.targetAdvices)
3239
+        // console.log("admin_user_+id2332323223332", this.adminRoles)
3240
       },
3240
       },
3241
       hide() {
3241
       hide() {
3242
         this.isVisibility = false
3242
         this.isVisibility = false

+ 2 - 2
src/xt_pages/dialysis/template/DialysisPrintOrderSix.vue Visa fil

2901
                             : "/"
2901
                             : "/"
2902
                         }}
2902
                         }}
2903
                       </div>
2903
                       </div>
2904
-                      <span v-if="org_id!=9675&&org_id!=10447 &&org_id!=10624"> ml</span>
2905
-                      <span v-if="org_id ==9675||org_id==10447 || org_id==10624">L</span>
2904
+                      <span v-if="org_id!=9675&&org_id!=10447 &&org_id!=10624 && org_id!=10471"> ml</span>
2905
+                      <span v-if="org_id ==9675||org_id==10447 || org_id==10624 || org_id == 10471">L</span>
2906
                     </div>
2906
                     </div>
2907
 
2907
 
2908
                     <div class="inline_block" style="flex: 1" v-if="org_id ==10598 || org_id == 0">
2908
                     <div class="inline_block" style="flex: 1" v-if="org_id ==10598 || org_id == 0">

+ 287 - 61
src/xt_pages/stock/config/goodList.vue Visa fil

14
                     {{scope.$index + 1}}
14
                     {{scope.$index + 1}}
15
                 </template>
15
                 </template>
16
             </el-table-column>
16
             </el-table-column>
17
-            <el-table-column prop="date" label="名称" align="center">
17
+            <el-table-column prop="date" label="组套名称" align="center">
18
                 <template slot-scope="scope">
18
                 <template slot-scope="scope">
19
-                    {{scope.row.project_team}}
19
+                    {{scope.row.project_name}}
20
                 </template>
20
                 </template>
21
             </el-table-column>
21
             </el-table-column>
22
-            <el-table-column prop="date" label="拼音助记符" width="140" align="center">
22
+            <el-table-column prop="date" label="排序" width="140" align="center">
23
                 <template slot-scope="scope">
23
                 <template slot-scope="scope">
24
-                    {{scope.row.pinyin}}
25
-                </template>
26
-            </el-table-column>
27
-            <el-table-column prop="date" label="五笔助记符" width="140" align="center">
28
-                <template slot-scope="scope">
29
-                   {{scope.row.wubi}}
30
-                </template>
31
-            </el-table-column>
32
-            <el-table-column label="价格" width="100" align="center">
33
-                <template slot-scope="scope">
34
-                   {{scope.row.price}}
35
-                </template>
36
-            </el-table-column>
37
-            <el-table-column label="排序" width="100" align="center">
38
-                <template slot-scope="scope">
39
-                   {{scope.row.sort}}
40
-                </template>
41
-            </el-table-column>
42
-            <el-table-column prop="date" label="备注" align="center">
43
-                <template slot-scope="scope">
44
-                   {{scope.row.remark}}
24
+                    {{scope.row.sort}}
45
                 </template>
25
                 </template>
46
             </el-table-column>
26
             </el-table-column>
47
             <el-table-column prop="date" label="操作" width="300" align="center">
27
             <el-table-column prop="date" label="操作" width="300" align="center">
48
                 <template slot-scope="scope">
28
                 <template slot-scope="scope">
49
-                    <el-button @click="editProjectTeam(scope.row.id)" type="primary" size="small">编辑</el-button>
50
-                    <el-button type="danger" size="small" @click="DeleteProjectTeam(scope.row.id,scope.$index)">删除</el-button>
29
+                    <el-button @click="editProject(scope.row.id)" type="primary" size="small">编辑</el-button>
30
+                    <el-button type="danger" size="small" @click="DeleteGood(scope.row.id,scope.$index)">删除</el-button>
51
                 </template>
31
                 </template>
52
             </el-table-column>
32
             </el-table-column>
53
         </el-table>
33
         </el-table>
65
         </el-pagination> 
45
         </el-pagination> 
66
 
46
 
67
         <el-dialog
47
         <el-dialog
68
-        title="组套详情"
69
-        :visible.sync="dialogVisible"
70
-        width="50%"
48
+          title="组套详情"
49
+          :visible.sync="dialogVisible"
50
+          width="50%"
71
        >
51
        >
72
         <span>
52
         <span>
73
         <el-form :model="form">
53
         <el-form :model="form">
111
                     v-model="form.project_detail"
91
                     v-model="form.project_detail"
112
                     filterable
92
                     filterable
113
                     placeholder="请选择"
93
                     placeholder="请选择"
114
-                    @change="changeProject"
115
-                    
116
-                >
94
+                    @change="changeProject">
117
                     <el-option
95
                     <el-option
118
                     v-for="item in goodList"
96
                     v-for="item in goodList"
119
                     :key="item.id"
97
                     :key="item.id"
136
             
114
             
137
             <el-form-item>
115
             <el-form-item>
138
               <el-table
116
               <el-table
139
-                :data="tableData"
117
+                :data="tableDataList"
140
                 border
118
                 border
141
                 style="width: 100%">
119
                 style="width: 100%">
142
-                <el-table-column
143
-                prop="date"
144
-                label="耗材名称&规格"
145
-                width="180">
120
+                <el-table-column prop="date" label="耗材名称" width="180" align="center">
121
+                    <template  slot-scope="scope" >
122
+                        {{ scope.row.good_name }}
123
+                    </template>
146
                 </el-table-column>
124
                 </el-table-column>
147
-                <el-table-column
148
-                  prop="name"
149
-                  label="数量"
150
-                  width="180">
125
+                <el-table-column prop="date" label="规格" width="180" align="center">
126
+                    <template  slot-scope="scope">
127
+                        {{ scope.row.specification_name }}
128
+                   </template>
151
                 </el-table-column>
129
                 </el-table-column>
152
-                <el-table-column
153
-                 prop="address"
154
-                  label="操作">
130
+                <el-table-column  prop="name" label="数量" width="180" align="center">
131
+                    <template  slot-scope="scope">
132
+                        {{ scope.row.number }}
133
+                    </template>
134
+                </el-table-column>
135
+                <el-table-column prop="address" label="操作" align="center">
136
+                    <template slot-scope="scope">
137
+                        <el-button type="danger" size="small" @click="DeleteProject(scope.row.id,scope.$index)">删除</el-button>
138
+                    </template>
155
                 </el-table-column>
139
                 </el-table-column>
156
               </el-table>
140
               </el-table>
157
             </el-form-item>
141
             </el-form-item>
160
         </span>
144
         </span>
161
         <span slot="footer" class="dialog-footer">
145
         <span slot="footer" class="dialog-footer">
162
             <el-button @click="dialogVisible = false">取 消</el-button>
146
             <el-button @click="dialogVisible = false">取 消</el-button>
163
-            <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
147
+            <el-button type="primary" @click="saveGoodList">确 定</el-button>
164
         </span>
148
         </span>
165
-    </el-dialog>
149
+        </el-dialog>
150
+
151
+         
152
+        <el-dialog
153
+          title="组套详情"
154
+          :visible.sync="editDialogVisible"
155
+          width="50%"
156
+       >
157
+        <span>
158
+        <el-form :model="form">
159
+          <el-row>
160
+            <el-col :span="24">
161
+                <el-form-item
162
+                    label="组套名称 : "
163
+                    prop="project_team"
164
+                    style="width: 100%"
165
+                    >
166
+                    <el-input
167
+                        style="width:200px"
168
+                        v-model="form.project_name"
169
+                        placeholder=""
170
+                        maxlength="30"
171
+                    ></el-input>
172
+              </el-form-item>
173
+            </el-col>
174
+
175
+          </el-row> 
176
+          <el-row>
177
+             <el-col :span="24">
178
+                <el-form-item
179
+                    label="排序 : "
180
+                    prop="project_team"
181
+                    style="width: 100%"
182
+                    >
183
+                    <el-input
184
+                        style="width:200px"
185
+                        v-model="form.sort"
186
+                        placeholder=""
187
+                        maxlength="30"
188
+                    ></el-input>
189
+                </el-form-item>
190
+             </el-col>
191
+          </el-row>
192
+        
193
+     
194
+            <el-form-item label="组套明细:" style="width: 50%">
195
+                <el-select
196
+                    v-model="form.project_detail"
197
+                    filterable
198
+                    placeholder="请选择"
199
+                    @change="changeProject">
200
+                    <el-option
201
+                    v-for="item in goodList"
202
+                    :key="item.id"
203
+                    :label="item.good_str"
204
+                    :value="item.id"
205
+                    >
206
+                    </el-option>
207
+                </el-select>
208
+            </el-form-item>
209
+
210
+            <el-form-item label="数量" style="width: 50%">
211
+                    <div style="display: flex">
212
+                        <el-input
213
+                        v-model="form.number"
214
+                        style="margin-right: 10px"
215
+                        ></el-input>
216
+                        <el-button type="primary" @click="addProjectList">添加</el-button>
217
+                    </div>
218
+            </el-form-item>
219
+            
220
+            <el-form-item>
221
+              <el-table
222
+                :data="tableDataList"
223
+                border
224
+                style="width: 100%">
225
+                <el-table-column prop="date" label="耗材名称" width="180" align="center">
226
+                    <template  slot-scope="scope" >
227
+                        {{ scope.row.good_name }}
228
+                    </template>
229
+                </el-table-column>
230
+                <el-table-column prop="date" label="规格" width="180" align="center">
231
+                    <template  slot-scope="scope">
232
+                        {{ scope.row.specification_name }}
233
+                   </template>
234
+                </el-table-column>
235
+                <el-table-column  prop="name" label="数量" width="180" align="center">
236
+                    <template  slot-scope="scope">
237
+                        {{ scope.row.number }}
238
+                    </template>
239
+                </el-table-column>
240
+                <el-table-column prop="address" label="操作" align="center">
241
+                    <template slot-scope="scope">
242
+                        <el-button type="danger" size="small" @click="DeleteGoodTeam(scope.row.id,scope.$index)">删除</el-button>
243
+                    </template>
244
+                </el-table-column>
245
+              </el-table>
246
+            </el-form-item>
247
+
248
+        </el-form>
249
+        </span>
250
+        <span slot="footer" class="dialog-footer">
251
+            <el-button @click="editDialogVisible = false">取 消</el-button>
252
+            <el-button type="primary" @click="updateGoodList">确 定</el-button>
253
+        </span>
254
+        </el-dialog>
255
+     
166
     </div>
256
     </div>
167
     
257
     
168
   </div>
258
   </div>
169
 </template>
259
 </template>
170
 
260
 
171
 <script>
261
 <script>
172
-import { getDictionaryDataConfig,getDataConfig } from "@/utils/data";
173
-import { getAllGoodInfoList,DeleteProjectTeam } from "@/api/project/project"
262
+import { getAllGoodInfoList,saveGoodList,getGoodList,getGoodNameDetail,updateGoodList,DeleteGoodTeam,DeleteGood } from "@/api/project/project"
174
 export default {
263
 export default {
175
    
264
    
176
     data(){
265
     data(){
189
             page:1,
278
             page:1,
190
             total:0,
279
             total:0,
191
             dialogVisible:false,
280
             dialogVisible:false,
281
+            editDialogVisible:false,
192
             form:{
282
             form:{
193
                 project_name:"",
283
                 project_name:"",
194
                 sort:"", 
284
                 sort:"", 
196
                 project_detail:""
286
                 project_detail:""
197
             },
287
             },
198
             projectList:[],
288
             projectList:[],
199
-            goodList:[]
289
+            goodList:[],
290
+            good_id:0,
291
+            ids:[],
292
+            tableDataList:[],
293
+            goodNameDetail:{}
200
         }
294
         }
201
     },
295
     },
202
     methods:{
296
     methods:{
203
-        changeProject(){
204
-            
297
+        editProject(id){
298
+         getGoodNameDetail(id).then(response=>{
299
+           if(response.data.state == 1){
300
+             var goodNameDetail = response.data.data.goodNameDetail
301
+             console.log("goodNameDetail",goodNameDetail)
302
+             this.form.project_name = goodNameDetail.project_name
303
+             this.form.sort = goodNameDetail.sort
304
+             this.form.id = goodNameDetail.id
305
+             this.goodList = []
306
+             this.goodList =  response.data.data.goodList
307
+             this.goodNameDetail = goodNameDetail
308
+             this.editDialogVisible = true
309
+             if(goodNameDetail!=null){
310
+               for(let i=0;i<goodNameDetail.xt_good_team_list.length;i++){
311
+                  goodNameDetail.xt_good_team_list[i].id = goodNameDetail.xt_good_team_list[i].id
312
+                  goodNameDetail.xt_good_team_list[i].good_name = this.getGoodName(goodNameDetail.xt_good_team_list[i].good_id)
313
+                  goodNameDetail.xt_good_team_list[i].specification_name = this.getGoodSpecicalName(goodNameDetail.xt_good_team_list[i].good_id)
314
+                  goodNameDetail.xt_good_team_list[i].number = goodNameDetail.xt_good_team_list[i].count
315
+               }
316
+             }
317
+             this.tableDataList = goodNameDetail.xt_good_team_list
318
+             
319
+           }
320
+         })
205
         },
321
         },
206
-        getlist(){
207
-
322
+        changeProject(val){
323
+          this.good_id = val
208
         },
324
         },
209
-        handleCurrentChange(){
210
-
325
+        getGoodList(){
326
+            var params = {
327
+               limit:this.limit,
328
+               page:this.page,
329
+               keyword:this.search_input
330
+            }
331
+          getGoodList(params).then(response=>{
332
+            if(response.data.state == 1){
333
+              var list = response.data.data.list
334
+              this.tableData = list
335
+              var total = response.data.data.total
336
+              this.total = total
337
+             
338
+            }
339
+          })
211
         },
340
         },
212
-        handleSizeChange(){
213
-
341
+        handleCurrentChange(val){
342
+           this.page = val;
343
+           this.getGoodList()
344
+        },
345
+        handleSizeChange(val){
346
+          this.limit = val
347
+          this.getGoodList()
214
         },
348
         },
215
         searchAction(){
349
         searchAction(){
216
-
350
+          this.getGoodList()
217
         },
351
         },
218
         addProjectList(){
352
         addProjectList(){
219
-            
353
+           if(this.form.number == ""){
354
+             this.$message.error("请输入数量!")
355
+             return
356
+           }
357
+           var obj= {id:0,good_id:"",good_name:"",specification_name:"",number:0}  
358
+           for(let i=0;i<this.goodList.length;i++){
359
+            if(this.good_id == this.goodList[i].id){
360
+               obj.id = 0
361
+               obj.good_id = this.goodList[i].id
362
+               obj.good_name = this.goodList[i].good_name
363
+               obj.specification_name = this.goodList[i].specification_name
364
+               obj.number = parseInt(this.form.number) 
365
+            }
366
+           }
367
+           this.tableDataList.push(obj)
220
         },
368
         },
221
         openForm(){
369
         openForm(){
222
          getAllGoodInfoList().then(response=>{
370
          getAllGoodInfoList().then(response=>{
232
             }
380
             }
233
          })
381
          })
234
          
382
          
383
+        },
384
+        DeleteProjectTeam(id,index){
385
+
386
+        },
387
+        DeleteProject(id,index){
388
+         this.ids.push(id)
389
+         this.tableData.splice(index,1)
390
+        },
391
+        saveGoodList(){
392
+           var params = {
393
+            project_name:this.form.project_name,
394
+            sort:parseInt(this.form.sort),
395
+            number:parseInt(this.form.number),
396
+           } 
397
+           var data = {
398
+            info:this.tableDataList
399
+           }
400
+         saveGoodList(params,data).then(response=>{
401
+            if(response.data.state ==1){
402
+              var lastGoodTeam = response.data.data.lastGoodTeam
403
+              this.$message.success("保存成功")
404
+              this.dialogVisible = false
405
+            }
406
+         })  
407
+        },
408
+        getGoodName(id){
409
+          var good_name = ""
410
+          for(let i=0;i<this.goodList.length;i++){
411
+             if(id == this.goodList[i].id){
412
+                good_name = this.goodList[i].good_name
413
+             }
414
+          }
415
+          return good_name
416
+        },
417
+        getGoodSpecicalName(id){
418
+          var specification_name = ""
419
+          for(let i=0;i<this.goodList.length;i++){
420
+            if(id == this.goodList[i].id){
421
+              specification_name = this.goodList[i].specification_name
422
+            }
423
+          }
424
+          return specification_name
425
+        },
426
+        updateGoodList(){
427
+            var params = {
428
+            id:this.id,
429
+            project_name:this.form.project_name,
430
+            sort:parseInt(this.form.sort),
431
+            number:parseInt(this.form.number),
432
+           } 
433
+           var data = {
434
+            info:this.tableDataList
435
+           }
436
+          updateGoodList(params,data).then(response=>{
437
+             if(response.data.state == 1){
438
+               var lastGoodTeam = response.data.data.lastGoodTeam
439
+               this.$message.success("保存成功!")
440
+               this.editDialogVisible = true
441
+             }
442
+          })  
443
+        },
444
+        DeleteGoodTeam(id,index){
445
+          DeleteGoodTeam(id,index).then(response=>{
446
+            if(response.data.state == 1){
447
+              var team = response.data.data.team
448
+              this.tableDataList.splice(index,1)
449
+              this.$message.success("删除成功!")
450
+            }
451
+         })
452
+        },
453
+        DeleteGood(id,index){
454
+         DeleteGood(id,index).then(response=>{
455
+           if(response.data.state == 1){
456
+             var good = response.data.data.good
457
+             this.tableData.splice(index,1)
458
+             this.$message.success("删除成功!")
459
+           }
460
+         })
235
         }
461
         }
236
     },
462
     },
237
     created(){
463
     created(){
238
-     
239
-       this.getlist() 
464
+       
465
+       this.getGoodList() 
240
       
466
       
241
     }
467
     }
242
 }
468
 }

+ 1 - 1
src/xt_pages/stock/index.vue Visa fil

23
             <automatic-reduce></automatic-reduce>
23
             <automatic-reduce></automatic-reduce>
24
           </el-tab-pane>
24
           </el-tab-pane>
25
 
25
 
26
-          <!-- <el-tab-pane label="耗材套装">
26
+         <!-- <el-tab-pane label="耗材套装">
27
             <good-list></good-list>
27
             <good-list></good-list>
28
           </el-tab-pane> -->
28
           </el-tab-pane> -->
29
 
29