Browse Source

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

see999 3 years ago
parent
commit
deef19f4eb

+ 1 - 1
index.html View File

@@ -18,7 +18,7 @@
18 18
   </head>
19 19
 
20 20
   <body>
21
-    <script src="https://cdn.bootcdn.net/ajax/libs/reconnecting-websocket/1.0.0/reconnecting-websocket.min.js"></script>
21
+    <script src="https://images.shengws.com/reconnecting-websocket.min.js"></script>
22 22
     <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
23 23
     <script src="<%= htmlWebpackPlugin.options.path %>/tinymce4.7.5/tinymce.min.js"></script>
24 24
     <script src="<%= htmlWebpackPlugin.options.path %>/neditor/neditor.config.js"></script>

+ 10 - 0
src/api/supply.js View File

@@ -0,0 +1,10 @@
1
+import request from '@/utils/request'
2
+
3
+export function getInitOrder(params) {
4
+  return request({
5
+    url: '/api/supply/getinitorder',
6
+    method: 'get',
7
+    params: params
8
+  })
9
+}
10
+

+ 2 - 0
src/lang/en.js View File

@@ -95,6 +95,8 @@ export default {
95 95
     deviceZoneManage: 'Device Zone Manage',
96 96
     deviceGroupManage: 'Device Group Manage',
97 97
     stockManage: 'Stock Manage',
98
+    supplyManage: 'Supply Manage',
99
+    supplyQuery: 'supply query',
98 100
     baseInfo: 'base Info',
99 101
     stockIn: 'stock in',
100 102
     stockOut: 'stock out',

+ 6 - 1
src/lang/zh.js View File

@@ -120,6 +120,8 @@ export default {
120 120
     orderRecord: '订单详情',
121 121
     recordList: '订单记录',
122 122
     stockManage: '耗材管理',
123
+    supplyManage: '采购管理',
124
+    supplyList: '供应商管理',
123 125
     goodType: '商品类型',
124 126
     stockIn: '入库管理',
125 127
     stockOut: '出库管理',
@@ -134,6 +136,9 @@ export default {
134 136
     stockOutRecord: '出库记录',
135 137
     addStockIn: '入库',
136 138
     stockQuery: '库存查询',
139
+    supplyQuery: '供应商管理',
140
+    purchaseOrderQuery: '购货订单',
141
+    addPurchaseOrder: '新增购货订单',
137 142
     workforce_template: '排班模板设置',
138 143
     statistics: '统计分析',
139 144
     statisticalConfig: '统计配置',
@@ -262,7 +267,7 @@ export default {
262 267
     summary_tool: '项目消费明细汇总',
263 268
     labelPrint: '标签打印',
264 269
     faPiao: '发票设置',
265
-    chargeDetailManagement:'收费明细'
270
+    chargeDetailManagement: '收费明细'
266 271
   },
267 272
   navbar: {
268 273
     logOut: '退出登录',

+ 12 - 16
src/router/index.js View File

@@ -31,10 +31,7 @@ import hospitalRecord from './modules/hospitalRecord'
31 31
 import hospitalStation from './modules/hospitalStation'
32 32
 import hospitalCharges from './modules/hospitalCharges'
33 33
 import hisTool from './modules/hisTool'
34
-
35
-
36
-
37
-
34
+import supply from './modules/supply'
38 35
 
39 36
 // import outpatientRecord from './modules/outpatientRecord'
40 37
 import kuyiShopping from './modules/kuyiShopping'
@@ -55,9 +52,7 @@ import templateManagement from './modules/templateManagement'
55 52
 import DepartManage from './modules/DepartManage'
56 53
 import basicConfig from './modules/basicConfig'
57 54
 
58
-
59
-
60
-Vue.use(Router);
55
+Vue.use(Router)
61 56
 
62 57
 /** note: submenu only apppear when children.length>=1
63 58
  *   detail see  https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html
@@ -103,7 +98,7 @@ var _constant_router_map = [{
103 98
   path: '',
104 99
   component: Layout,
105 100
   redirect: '/home',
106
-  name:'home',
101
+  name: 'home',
107 102
   children: [{
108 103
     path: '/home',
109 104
     component: () => import('@/xt_pages/home/index'),
@@ -118,7 +113,7 @@ var _constant_router_map = [{
118 113
 {
119 114
   path: '/kuyiShopping',
120 115
   component: Layout,
121
-  name:'kuyiShopping',
116
+  name: 'kuyiShopping',
122 117
   redirct: '/kuyiShopping/index',
123 118
   children: [{
124 119
     path: '/kuyiShopping/index',
@@ -142,7 +137,7 @@ service
142 137
   // device,
143 138
   // role,
144 139
   // org
145
-];
140
+]
146 141
 
147 142
 var _asy_router_map = [
148 143
   patient,
@@ -185,19 +180,20 @@ var _asy_router_map = [
185 180
   hospitalCharges,
186 181
   hisTool,
187 182
   integration,
188
-  basicConfig
189
-];
183
+  basicConfig,
184
+  supply
185
+]
190 186
 
191
-var is_asy_router = process.env.NODE_ENV === 'production'; // true; 设置为 true 强制进行路由验证
187
+var is_asy_router = process.env.NODE_ENV === 'production' // true; 设置为 true 强制进行路由验证
192 188
 if (!is_asy_router) {
193
-  _constant_router_map = _constant_router_map.concat(_asy_router_map);
189
+  _constant_router_map = _constant_router_map.concat(_asy_router_map)
194 190
   _asy_router_map = []
195 191
 } else {
196 192
 
197 193
 }
198 194
 
199
-export const xt_constantRouterMap = _constant_router_map;
200
-export const xt_asyncRouterMap = _asy_router_map;
195
+export const xt_constantRouterMap = _constant_router_map
196
+export const xt_asyncRouterMap = _asy_router_map
201 197
 
202 198
 export default new Router({
203 199
   // mode: 'history', // require service support

+ 43 - 0
src/router/modules/supply.js View File

@@ -0,0 +1,43 @@
1
+import Layout from '@/views/layout/Layout'
2
+
3
+export default {
4
+  path: '/supply',
5
+  component: Layout,
6
+  redirect: 'noredirect',
7
+  name: 'supplyManage',
8
+  alwaysShow: true,
9
+  meta: {
10
+    title: 'supplyManage',
11
+    icon: 'supply',
12
+    isChild: true
13
+  },
14
+  children: [
15
+    {
16
+      path: '/supply/query',
17
+      component: () => import('@/xt_pages/supply/supplyQuery'),
18
+      name: 'supplyQuery',
19
+      meta: { title: 'supplyQuery', noCache: true }
20
+    },
21
+    {
22
+      path: '/supply/add',
23
+      component: () => import('@/xt_pages/supply/components/addSupply'),
24
+      name: 'addSupply',
25
+      hidden: true,
26
+      is_menu: false,
27
+      meta: { title: 'addSupply', noCache: true },
28
+      isChild: true
29
+    },
30
+    {
31
+      path: 'purchase/order/query',
32
+      component: () => import('@/xt_pages/supply/purchaseOrderQuery'),
33
+      name: 'purchaseOrderQuery',
34
+      meta: { title: 'purchaseOrderQuery', noCache: true }
35
+    },
36
+    {
37
+      path: '/purchase/order/add',
38
+      component: () => import('@/xt_pages/supply/components/addPurchaseOrder'),
39
+      name: 'addPurchaseOrder',
40
+      meta: { title: 'addPurchaseOrder', noCache: true }
41
+    }
42
+  ]
43
+}

+ 12 - 1
src/views/layout/Layout.vue View File

@@ -16,6 +16,10 @@
16 16
           <i class="iconfont icon-computer_fill navIcon"></i>
17 17
           <p>透析管理</p>
18 18
         </div>
19
+        <!-- <div v-if="caigouShow" :class="index == 5 ? 'navOne navActive' : 'navOne'" @click="clickActive(5,'采购管理')">
20
+          <i class="iconfont icon-kccx navIcon"></i>
21
+          <p>采购管理</p>
22
+        </div> -->
19 23
         <div v-if="kucunShow" :class="index == 3 ? 'navOne navActive' : 'navOne'" @click="clickActive(3,'库房管理')">
20 24
           <i class="iconfont icon-kccx navIcon"></i>
21 25
           <p>库房管理</p>
@@ -119,14 +123,15 @@ export default {
119 123
       kucunShow:true,
120 124
       peizhiShow:true,
121 125
       kuyishoppingShow:true,
126
+      caigouShow:true,
122 127
     }
123 128
   },
124 129
   created(){
125
-    console.log('permission_routers',this.permission_routers);
126 130
     let menzhen = ['hospitalStation',"hospitalRecord","hospitalCharges","hisTool",'outpatientRegistration','outpatientDoctorStation','outpatientCharges','outpatientPharmacy','outpatientRecord'];
127 131
     let bingli = ['User','createPatient'];
128 132
     let touxi = ['home','workforce', 'dialysisrecord', 'dialysis', 'medicalScheduling', 'signIndex', 'qcd', 'device', 'quality_control'];
129 133
     let kucun = ['stockManage','stockDrugs','selfPreparedMedicine','otherManagement'];
134
+    let caigou = ['supplyManage','supplyList'];
130 135
     let peizhi = ['system','roleManage','DepartManage', 'bedManagement', 'dictionaryManagement', 'templateManagement','showconfig','printTemplate','integration_config','basicConfig'];
131 136
     let kuyishopping = ['kuyiShopping'];
132 137
     let menzhenArr = [];
@@ -135,6 +140,7 @@ export default {
135 140
     let kucunArr = [];
136 141
     let peizhiArr = [];
137 142
     let kuyishoppingArr = [];
143
+    let caigouArr =[]
138 144
     this.permission_routers.map(item => {
139 145
       if(menzhen.indexOf(item.name) > -1){
140 146
         menzhenArr.push(item)
@@ -148,6 +154,8 @@ export default {
148 154
         peizhiArr.push(item)
149 155
       }else if(kuyishopping.indexOf(item.name) > -1){
150 156
         kuyishoppingArr.push(item)
157
+      }else if(caigou.indexOf(item.name)>-1){
158
+         caigouArr.push(item)
151 159
       }
152 160
     });
153 161
     // console.log('menzhenArr.length',menzhenArr.length)
@@ -156,6 +164,7 @@ export default {
156 164
     // console.log('kucunArr.length',kucunArr.length)
157 165
     // console.log('peizhiArr.length',peizhiArr.length)
158 166
     // console.log('kuyishoppingArr.length',kuyishoppingArr.length)
167
+    console.log("cagouArr23323322323",caigouArr.length)
159 168
     if(menzhenArr.length == 0){
160 169
       this.menzhenShow = false
161 170
     }else if(bingliArr.length == 0){
@@ -168,6 +177,8 @@ export default {
168 177
       this.peizhiShow = false
169 178
     }else if(kuyishoppingArr.length == 0){
170 179
       this.kuyishoppingShow = false
180
+    }else if(caigouArr.length == 0){
181
+      this.caigouShow = false
171 182
     }
172 183
   },
173 184
   computed: {

+ 16 - 1
src/views/layout/components/Sidebar/index.vue View File

@@ -122,7 +122,22 @@ export default {
122 122
           }
123 123
         }else if(newVal == '库房管理'){
124 124
           let nameArr = ['stockManage','stockDrugs','selfPreparedMedicine','otherManagement'];
125
-          // console.log('permission_routers',this.permission_routers)
125
+          let routerArr = [];
126
+          this.permission_routers.map(item => {
127
+            if(nameArr.indexOf(item.name) > -1){
128
+              routerArr.push(item)
129
+            }
130
+          });
131
+          this.arr = routerArr;
132
+          if(this.arr.length > 0){
133
+            let a = true;
134
+            this.$emit('func',a)
135
+          }else{
136
+            let a = false;
137
+            this.$emit('func',a)
138
+          }
139
+        }else if(newVal == "采购管理"){
140
+          let nameArr = ['supplyManage','supplyList'];
126 141
           let routerArr = [];
127 142
           this.permission_routers.map(item => {
128 143
             if(nameArr.indexOf(item.name) > -1){

+ 93 - 28
src/xt_pages/outpatientCharges/outpatientChargesManagement.vue View File

@@ -75,7 +75,10 @@
75 75
                        type="primary">挂号
76 76
             </el-button>
77 77
 
78
-
78
+            <el-button v-loading="loadingone" size="small"
79
+                       @click="open(20)"
80
+                       type="primary">查询备案信息
81
+            </el-button>
79 82
             <el-button size="small" @click="open(5)" type="primary"
80 83
                        v-if="this.radio == 2  && this.hisPatientInfo.id > 0 && this.order.id > 0 &&  this.order.order_status == 2">
81 84
               退费
@@ -170,16 +173,26 @@
170 173
                             items.curPrescriptions.order.medfee_sumamt ? items.curPrescriptions.order.medfee_sumamt.toFixed(2) : getTotalFour(items.prescriptions) ? getTotalFour(items.prescriptions) : ''
171 174
                           }}元</span></span>
172 175
                         <span>基金支付金额:<span
173
-                            style="color:red;">{{ items.curPrescriptions.order.hifp_pay ? items.curPrescriptions.order.hifp_pay.toFixed(2) : '' }}元</span></span>
176
+                            style="color:red;">{{
177
+                            items.curPrescriptions.order.hifp_pay ? items.curPrescriptions.order.hifp_pay.toFixed(2) : ''
178
+                          }}元</span></span>
174 179
                         <span>个人账户支付金额:<span
175
-                            style="color:red;">{{ items.curPrescriptions.order.acct_pay ? items.curPrescriptions.order.acct_pay.toFixed(2) : '' }}元</span></span>
180
+                            style="color:red;">{{
181
+                            items.curPrescriptions.order.acct_pay ? items.curPrescriptions.order.acct_pay.toFixed(2) : ''
182
+                          }}元</span></span>
176 183
                         <span v-if="hisPatientInfo.balance_accounts_type != 2">个人支付金额:<span
177
-                            style="color:red;">{{ items.curPrescriptions.order.psn_cash_pay ? items.curPrescriptions.order.psn_cash_pay.toFixed(2) : '' }}元</span></span>
184
+                            style="color:red;">{{
185
+                            items.curPrescriptions.order.psn_cash_pay ? items.curPrescriptions.order.psn_cash_pay.toFixed(2) : ''
186
+                          }}元</span></span>
178 187
                         <span v-if="hisPatientInfo.balance_accounts_type == 2">个人支付金额:<span
179
-                            style="color:red;">{{ items.curPrescriptions.order.medfee_sumamt.toFixed(2) }}元</span></span>
188
+                            style="color:red;">{{
189
+                            items.curPrescriptions.order.medfee_sumamt.toFixed(2)
190
+                          }}元</span></span>
180 191
 
181 192
                         <span>个人账户金额:<span
182
-                            style="color:red;">{{ items.curPrescriptions.order.balc ? items.curPrescriptions.order.balc.toFixed(2) : '' }}元</span></span>
193
+                            style="color:red;">{{
194
+                            items.curPrescriptions.order.balc ? items.curPrescriptions.order.balc.toFixed(2) : ''
195
+                          }}元</span></span>
183 196
 
184 197
                         <span v-if="items.curPrescriptions.order_status  == 1">待结算</span>
185 198
                         <span v-if="items.curPrescriptions.order_status  == 2">已结算</span>
@@ -356,19 +369,27 @@
356 369
                             items.curMonthPrescriptions.order.medfee_sumamt ? items.curMonthPrescriptions.order.medfee_sumamt.toFixed(2) : getTotalFour(items.month_prescriptions) ? getTotalFour(items.month_prescriptions) : ''
357 370
                           }}元</span></span>
358 371
                         <span>基金支付金额:<span
359
-                            style="color:red;">{{ items.curMonthPrescriptions.order.hifp_pay ? items.curMonthPrescriptions.order.hifp_pay.toFixed(2) : '' }}元</span></span>
372
+                            style="color:red;">{{
373
+                            items.curMonthPrescriptions.order.hifp_pay ? items.curMonthPrescriptions.order.hifp_pay.toFixed(2) : ''
374
+                          }}元</span></span>
360 375
                         <span>个人账户支付金额:<span
361
-                            style="color:red;">{{ items.curMonthPrescriptions.order.acct_pay ? items.curMonthPrescriptions.order.acct_pay.toFixed(2) : '' }}元</span></span>
376
+                            style="color:red;">{{
377
+                            items.curMonthPrescriptions.order.acct_pay ? items.curMonthPrescriptions.order.acct_pay.toFixed(2) : ''
378
+                          }}元</span></span>
362 379
                         <!--<span>个人支付金额:<span style="color:red;">{{ items.curMonthPrescriptions.order.psn_cash_pay?items.curMonthPrescriptions.order.psn_cash_pay:''}}元</span></span>-->
363 380
 
364 381
                         <span v-if="hisPatientInfo.balance_accounts_type != 2">个人支付金额:<span
365
-                            style="color:red;">{{ items.curMonthPrescriptions.order.psn_cash_pay ? items.curMonthPrescriptions.order.psn_cash_pay.toFixed(2) : '' }}元</span></span>
382
+                            style="color:red;">{{
383
+                            items.curMonthPrescriptions.order.psn_cash_pay ? items.curMonthPrescriptions.order.psn_cash_pay.toFixed(2) : ''
384
+                          }}元</span></span>
366 385
                         <span v-if="hisPatientInfo.balance_accounts_type == 2">个人支付金额:<span
367 386
                             style="color:red;">{{ items.curMonthPrescriptions.order.medfee_sumamt.toFixed(2) }}元</span></span>
368 387
 
369 388
 
370 389
                         <span>个人账户金额:<span
371
-                            style="color:red;">{{ items.curMonthPrescriptions.order.account_price ? items.curMonthPrescriptions.order.account_price.toFixed(2) : '' }}元</span></span>
390
+                            style="color:red;">{{
391
+                            items.curMonthPrescriptions.order.account_price ? items.curMonthPrescriptions.order.account_price.toFixed(2) : ''
392
+                          }}元</span></span>
372 393
 
373 394
                       </div>
374 395
 
@@ -468,7 +489,18 @@
468 489
         width="30%"
469 490
     >
470 491
       <span>是否修改医疗类型</span>
471
-      <el-select style="width:50%;" v-model="temp_med_type" placeholder="医疗类型" @change="changevalue">
492
+      <el-select v-if="this.$store.getters.xt_user.org_id == 10188" style="width:50%;" v-model="temp_med_type"
493
+                 placeholder="医疗类型" @change="changevalue">
494
+        <el-option
495
+            v-for="(item,index) in registerThree"
496
+            :key="index"
497
+            :label="item.label"
498
+            :value="item.value">
499
+        </el-option>
500
+      </el-select>
501
+
502
+      <el-select v-if="this.$store.getters.xt_user.org_id != 10188" style="width:50%;" v-model="temp_med_type"
503
+                 placeholder="医疗类型" @change="changevalue">
472 504
         <el-option
473 505
             v-for="(item,index) in register"
474 506
             :key="index"
@@ -598,7 +630,7 @@ export default {
598 630
         sick_type: '',
599 631
         diagnosis: [],
600 632
         medical_care: '',
601
-        diagnosis_time: "",
633
+        diagnosis_time: ''
602 634
       },
603 635
       current_med_type: '',
604 636
       rules: {
@@ -633,27 +665,29 @@ export default {
633 665
       //   { value: '91', label: '新冠肺炎门诊' },
634 666
 
635 667
       // ],
636
-
637 668
       register: [
638 669
         { value: 11, label: '普通门诊' },
639
-        // { value: 12, label: '门诊挂号' },
640
-        // { value: 13, label: '急诊' },
641 670
         { value: 14, label: '门诊特殊病' },
642 671
         { value: '1111', label: '精一' },
643 672
         { value: '1112', label: '精二' }
644
-        // { value: 15, label: '门诊统筹' },
645
-        // { value: 16, label: '门诊慢性病' },
646
-        // { value: 21, label: '普通住院' }
673
+      ],
674
+
675
+      registerThree: [
676
+        { value: 11, label: '普通门诊' },
677
+        { value: 14, label: '门诊特殊病' },
678
+        { value: '1111', label: '精一' },
679
+        { value: '1112', label: '精二' },
680
+        { value: '9933', label: '门诊特殊病(9933)' },
681
+        { value: '990602', label: '门诊特殊病(990602)' },
682
+        { value: '1402', label: '门诊特殊病(1402)' }
647 683
 
648 684
       ],
649 685
       register_two: [
650 686
         { value: '11', label: '普通门诊' },
651
-        // { value: '12', label: '门诊挂号' },
652
-        // { value: '13', label: '急诊' },
653
-        { value: '14', label: '门诊特殊病' }
654
-        // { value: '15', label: '门诊统筹' },
655
-        // { value: '16', label: '门诊慢性病' },
656
-        // { value: '21', label: '普通住院' }
687
+        { value: '14', label: '门诊特殊病' },
688
+        { value: '9933', label: '门诊特殊病(9933)' },
689
+        { value: '990602', label: '门诊特殊病(990602)' },
690
+        { value: '1402', label: '门诊特殊病(1402)' }
657 691
 
658 692
       ],
659 693
       loading: false,
@@ -756,7 +790,6 @@ export default {
756 790
     var nowMinutes = nowDate.getMinutes()
757 791
     var nowSeconds = nowDate.getSeconds()
758 792
 
759
-
760 793
     this.record_date =
761 794
         nowYear +
762 795
         '-' +
@@ -764,13 +797,13 @@ export default {
764 797
         '-' +
765 798
         (nowDay < 10 ? '0' + nowDay : nowDay)
766 799
 
767
-    this.form.diagnosis_time =  nowYear +
800
+    this.form.diagnosis_time = nowYear +
768 801
         '-' +
769 802
         (nowMonth < 10 ? '0' + nowMonth : nowMonth) +
770 803
         '-' +
771
-        (nowDay < 10 ? '0' + nowDay : nowDay) +" " + (nowHours < 10 ? '0' + nowHours : nowHours) +
804
+        (nowDay < 10 ? '0' + nowDay : nowDay) + ' ' + (nowHours < 10 ? '0' + nowHours : nowHours) +
772 805
         ':' +
773
-        (nowMinutes < 10 ? '0' + nowMinutes : nowMinutes) +":"+ (nowSeconds < 10 ? '0' + nowSeconds : nowSeconds)
806
+        (nowMinutes < 10 ? '0' + nowMinutes : nowMinutes) + ':' + (nowSeconds < 10 ? '0' + nowSeconds : nowSeconds)
774 807
 
775 808
     this.getInitData()
776 809
     //获取患者信息
@@ -2400,6 +2433,32 @@ export default {
2400 2433
             })
2401 2434
             .catch(function(error) {
2402 2435
             })
2436
+      } else if (index == 20) {
2437
+        var that = this
2438
+        let params = {
2439
+          'patient_id': this.patientInfo.id,
2440
+          'admin_user_id': this.$store.getters.xt_user.user.id
2441
+        }
2442
+        axios.get('http://127.0.0.1:9532/api/psn/info', {
2443
+          params: params
2444
+        })
2445
+            .then(function(response) {
2446
+              if (response.data.state == 0) {
2447
+                that.$message.error(response.data.msg)
2448
+                return false
2449
+              } else {
2450
+                that.$confirm(response.data.data.result, '备案信息', {
2451
+                  confirmButtonText: '确 定',
2452
+                  type: 'warning'
2453
+                }).then(() => {
2454
+
2455
+                }).catch(() => {
2456
+                })
2457
+              }
2458
+            })
2459
+            .catch(function(error) {
2460
+            })
2461
+
2403 2462
       }
2404 2463
     },
2405 2464
     choosePatient() {
@@ -3352,6 +3411,12 @@ export default {
3352 3411
           break
3353 3412
         case 1112:
3354 3413
           return '精二' + '处方' + index
3414
+        case 9933:
3415
+          return '门诊特殊病(9933)' + '处方' + index
3416
+        case 990602:
3417
+          return '门诊特殊病(990602)' + '处方' + index
3418
+        case 1402:
3419
+          return '门诊特殊病(1402)' + '处方' + index
3355 3420
           break
3356 3421
       }
3357 3422
     }, unique_four(array) {

+ 31 - 23
src/xt_pages/stock/detail/cancelStockDetail.vue View File

@@ -344,27 +344,35 @@ export default {
344 344
       return name;
345 345
     },
346 346
     search: function() {
347
-      const Params = {
348
-        page: this.page,
349
-        limit: this.limit,
350
-        start_time: this.start_time,
351
-        end_time: this.end_time,
352
-        type: this.type,
353
-        keywords: this.searchKey
354
-      };
355
-     
356
-      this.cancelStockDate = [];
357
-      getStockDetail(Params).then(response => {
358
-        if (response.data.state == 0) {
359
-          this.$message.error(response.data.msg);
360
-          return false;
361
-        } else {
362
-          this.total = response.data.data.total;
363
-          for (let i = 0; i < response.data.data.list.length; i++) {
364
-            this.cancelStockDate.push(response.data.data.list[i]);
365
-          }
366
-        }
367
-      });
347
+      this.GetCancelStock()
348
+      // const Params = {
349
+      //   page: this.page,
350
+      //   limit: this.limit,
351
+      //   start_time: this.start_time,
352
+      //   end_time: this.end_time,
353
+      //   type: this.type,
354
+      //   keywords: this.searchKey
355
+      // };
356
+      // console.log("param2332233223",Params)
357
+      // this.cancelStockDate = [];
358
+      // getStockDetail(Params).then(response => {
359
+      //   if (response.data.state == 0) {
360
+      //     this.$message.error(response.data.msg);
361
+      //     return false;
362
+      //   } else {
363
+      //     this.total = response.data.data.total;
364
+      //     console.log("list322232232",response.data.data.list)
365
+      //     for (let i = 0; i < response.data.data.list.length; i++) {
366
+      //       var obj = response.data.data.list[i];
367
+      //       response.data.data.list[i].total = (response.data.data.list[i].price * response.data.data.list[i].count).toFixed(2)
368
+      //       total += response.data.data.list[i].price * response.data.data.list[i].count
369
+      //       obj["is_total"] = 0;
370
+      //       this.cancelStockDate.push(obj);
371
+      //       this.cancelStockDate.push(response.data.data.list[i])
372
+      //     }
373
+         
374
+      //   }
375
+      // });
368 376
     },
369 377
     AddNewOrder: function() {
370 378
       this.$router.push({
@@ -384,7 +392,7 @@ export default {
384 392
         dealer: this.dealer_id,
385 393
         keywords: this.searchKey
386 394
       };
387
-      console.log("Params23232233223232332",Params)
395
+      // console.log("Params23232233223232332",Params)
388 396
       this.cancelStockDate = [];
389 397
       getStockDetail(Params).then(response => {
390 398
         if (response.data.state == 0) {
@@ -392,7 +400,7 @@ export default {
392 400
           return false;
393 401
         } else {
394 402
           this.total = response.data.data.total;
395
-          console.log("数据源头",response.data.data.list)
403
+          // console.log("数据源头",response.data.data.list)
396 404
           var total = 0
397 405
           for (let i = 0; i < response.data.data.list.length; i++) {
398 406
             

+ 2 - 1
src/xt_pages/stock/drugs/drugStockInOrderAdd.vue View File

@@ -588,6 +588,7 @@
588 588
         tempObj['dealer'] = ''
589 589
         tempObj['manufacturer'] = ''
590 590
         tempObj['min_unit'] = ''
591
+        tempObj['max_unit'] = ''
591 592
         tempObj["drug_type"] = ''
592 593
         tempObj['batch_number'] = ''
593 594
         tempObj['dose']= ''
@@ -846,7 +847,7 @@
846 847
         this.currentIndex = val
847 848
       },
848 849
       handleSelect(val){
849
-         console.log("val233232323223",val)
850
+         
850 851
          for(let i=0;i<this.recordInfo.recordData.length;i++){
851 852
            if(i == this.currentIndex){
852 853
              this.recordInfo.recordData[i].drug_id  = val.id

+ 1 - 0
src/xt_pages/stock/drugs/drugStockInOrderEdit.vue View File

@@ -156,6 +156,7 @@
156 156
                     v-model="scope.row.warehousing_count"
157 157
                     style="width:80px"
158 158
                   ></el-input>
159
+                   <!-- {{scope.row.max_unit}} -->
159 160
                    <el-select v-model="scope.row.max_unit" filterable placeholder="请选择单位" style="width:80px">
160 161
                     <el-option
161 162
                       v-for="(option, index) in unitList"

+ 10 - 6
src/xt_pages/stock/drugs/drugStockOutOrder.vue View File

@@ -906,6 +906,7 @@ export default {
906 906
          id:id,
907 907
          start_time:start_time,
908 908
        }
909
+      console.log("is_sys22222",is_sys) 
909 910
      getSinleOrderDetail(params).then(response=>{
910 911
         if(response.data.state == 1){
911 912
           this.tableShow = true
@@ -928,15 +929,17 @@ export default {
928 929
             this.drugFlowList = drugFlowList
929 930
          }
930 931
          if(is_sys == 0){
931
-            for(let i=0;i<list.length;i++){
932
-              if(list[i].count_unit == list[i].max_unit){
933
-                  list[i].count = list[i].count * list[i].min_number
932
+            var flowlist = response.data.data.flowlist
933
+            this.drugFlowList = []
934
+            for(let i=0;i<flowlist.length;i++){
935
+              if(flowlist[i].count_unit == flowlist[i].max_unit){
936
+                  flowlist[i].count = flowlist[i].count * list[i].min_number
934 937
               }
935
-              if(list[i].count_unit == list[i].min_unit){
936
-                  list[i].count = list[i].count 
938
+              if(flowlist[i].count_unit == flowlist[i].min_unit){
939
+                  flowlist[i].count = flowlist[i].count 
937 940
               }
938 941
             }
939
-            this.drugFlowList = list
942
+            this.drugFlowList = flowlist
940 943
          }
941 944
 
942 945
          for(let i=0;i<list.length;i++){
@@ -1070,6 +1073,7 @@ export default {
1070 1073
          return str + min_str
1071 1074
       },
1072 1075
       getTotalCountOne(id,min_number,max_unit,min_unit){
1076
+        console.log("hhhahdhhff",this.drugFlowList)
1073 1077
         var arr = []
1074 1078
         for(let i=0;i<this.drugFlowList.length;i++){
1075 1079
           if(id == this.drugFlowList[i].drug_id){

+ 2 - 0
src/xt_pages/stock/drugs/drugStockOutOrderAdd.vue View File

@@ -422,6 +422,8 @@ export default {
422 422
       tempObj["batch_number"] = ""
423 423
       tempObj["max_unit"] = ""
424 424
       tempObj["warehouse_info_id"] = 0
425
+      tempObj["dealer"] = ""
426
+      tempObj['manufacturer'] = ''
425 427
       this.recordInfo.recordData.push(tempObj);
426 428
     },
427 429
     handleDelete: function(index, row) {

+ 2 - 1
src/xt_pages/stock/stockInOrderAdd.vue View File

@@ -494,7 +494,8 @@
494 494
           }
495 495
         }
496 496
         return name
497
-      }, handleEdit: function(index, row) {
497
+      }, 
498
+      handleEdit: function(index, row) {
498 499
         const tempObj = {}
499 500
         tempObj['good_type_id'] = 0
500 501
         tempObj['good_id'] = 0

+ 0 - 3
src/xt_pages/stock/stockQuery.vue View File

@@ -109,9 +109,6 @@
109 109
        <el-table-column label="出库数量" align="center" v-if="showOne">
110 110
          <template slot-scope="scope">
111 111
           <span v-if="org_id == 9671 || org_id == 10138 || org_id == 10028 || org_id == 9675 || org_id == 4 || org_id == 3877 || org_id == 10243 || org_id == 10088 || org_id== 10245 || org_id == 9779 || org_id == 10106 || org_id == 9504 || org_id ==  10215 || org_id ==  10088 || org_id == 10191 || org_id == 9919 || org_id == 10265 || org_id == 10164 || org_id ==10290 ">
112
-            <!-- <span>
113
-              {{getWareInfo(scope.row.xt_warehouse_info) - getOverFlushInfo(scope.row.xt_warehouse_info) + getCancelSotckInfo(scope.row.cancel_stock_info) }}
114
-            </span> -->
115 112
              <span>
116 113
               {{getWareInfo(scope.row.xt_warehouse_info) - getOverFlushInfo(scope.row.xt_warehouse_info)}}
117 114
             </span>

+ 484 - 0
src/xt_pages/supply/components/addPurchaseOrder.vue View File

@@ -0,0 +1,484 @@
1
+<template>
2
+<div class="main-contain">
3
+<div class="position">
4
+    <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+</div>
6
+<div class="app-container ">
7
+    <div style="justify-content: space-between;margin: 0px 0 12px 0;display: flex;align-items: center;">
8
+    <div>
9
+        <el-select v-model="supplier_name" style="width:140px;margin-right:10px;" placeholder="请选择"
10
+        @change="changeTypeName">
11
+        <el-option
12
+            v-for="item in supplyList"
13
+            :key="item.id"
14
+            :label="item.supplier_name"
15
+            :value="item.id">
16
+        </el-option>
17
+        </el-select>
18
+        <el-date-picker
19
+        size="small"
20
+        v-model="start_time"
21
+        prefix-icon="el-icon-date"
22
+        :editable="false"
23
+        style="width: 196px;"
24
+        type="date"
25
+        placeholder="选择日期时间"
26
+        align="right"
27
+        format="yyyy-MM-dd"
28
+        value-format="yyyy-MM-dd"
29
+        @change="startTimeChange"
30
+        ></el-date-picker>-
31
+        <el-date-picker
32
+            size="small"
33
+            v-model="end_time"
34
+            prefix-icon="el-icon-date"
35
+            :editable="false"
36
+            style="width: 196px;"
37
+            type="date"
38
+            placeholder="选择日期时间"
39
+            align="right"
40
+            format="yyyy-MM-dd"
41
+            value-format="yyyy-MM-dd"
42
+            @change="endTimeChange"
43
+        ></el-date-picker>
44
+        <el-input
45
+        size="small"
46
+        style="width: 200px;margin-left:10px;"
47
+        class="filter-item"
48
+        v-model.trim="keywords"
49
+        placeholder="耗材名称"
50
+        />
51
+        <el-button
52
+        size="small"
53
+        class="filter-item"
54
+        type="primary"
55
+        icon="el-icon-search"
56
+        @click="search"
57
+        >搜索</el-button
58
+        >
59
+    </div>
60
+    <div>
61
+        <el-button size="small" type="primary" @click="savePurchaseOrder">保存</el-button>
62
+    </div>
63
+    </div>
64
+
65
+
66
+    <el-table
67
+    :row-style="{ color: '#303133' }"
68
+    :header-cell-style="{
69
+        backgroundColor: 'rgb(245, 247, 250)',
70
+        color: '#606266'
71
+    }"
72
+    :data="tableList"
73
+    :class="signAndWeighBoxPatients"
74
+    border
75
+    style="width: 100%"
76
+    max-height="450"
77
+    >
78
+    <el-table-column label="商品" align="center" width="200px">
79
+        <template slot-scope="scope">
80
+            <el-select v-model="scope.row.name" style="width:160px;" filterable placeholder="请选择" @change="changeName"   @input="changeGoodName(scope.$index)">
81
+            <el-option
82
+                v-for="(item,index) in tabList"
83
+                :key="index"
84
+                :label="item.supply_name"
85
+                :value="item">
86
+            </el-option>
87
+            </el-select>
88
+        </template>
89
+    </el-table-column>
90
+    <el-table-column label="商品类别" align="center" width="150px">
91
+        <template slot-scope="scope">
92
+            <el-input v-model="scope.row.supply_type" style="width:120px" :disabled="true"></el-input>
93
+        </template>
94
+    </el-table-column>
95
+    <el-table-column label="规格&单位" align="center" width="200px">
96
+        <template slot-scope="scope">
97
+            <el-input v-model="scope.row.supply_specification_name" style="width:150px" :disabled="true"></el-input>
98
+        </template>
99
+        </el-table-column>
100
+    <el-table-column label="可用库存" align="center" width="130px">
101
+        <template slot-scope="scope">
102
+            <el-input v-model="scope.row.supply_total" style="width:100px" :disabled="true"></el-input>
103
+        </template>
104
+    </el-table-column>
105
+    <el-table-column label="数量" align="center" width="120px">
106
+        <template slot-scope="scope">
107
+        <el-input v-model="scope.row.supply_count" style="width:80px"></el-input>
108
+        </template>
109
+    </el-table-column>
110
+
111
+    <el-table-column label="购货单价" align="center" width="120px">
112
+        <template slot-scope="scope">
113
+        <el-input v-model="scope.row.supply_price" style="width:80px"></el-input>
114
+        </template>
115
+    </el-table-column>
116
+
117
+    <el-table-column label="购货金额" align="center" width="120px">
118
+        <template slot-scope="scope">
119
+          {{calculate(scope.row.supply_count * scope.row.supply_price)}}
120
+        </template>
121
+    </el-table-column>
122
+    
123
+    <el-table-column label="生产厂商" align="center" width="200px">
124
+        <template slot-scope="scope">
125
+        <el-input v-model="scope.row.supply_manufacturer" style="width:160px" :disabled="true"></el-input>
126
+        </template>
127
+    </el-table-column>
128
+    
129
+
130
+    <el-table-column label="批准文号" align="center" width="200px">
131
+        <template slot-scope="scope">
132
+        <el-input v-model="scope.row.supply_license_number" style="width:160px"></el-input>
133
+        </template>
134
+    </el-table-column>
135
+
136
+    <el-table-column label="备注" align="center" width="200px">
137
+        <template slot-scope="scope">
138
+        <el-input v-model="scope.row.supply_remake" style="width:160px"></el-input>
139
+        </template>
140
+    </el-table-column>
141
+
142
+    <el-table-column label="操作" align="center" width="150px" fixed="right" >
143
+        <template slot-scope="scope">
144
+        <el-tooltip class="item" effect="dark" content="新增" placement="top" >
145
+            <el-button
146
+                size="mini"
147
+                type="primary"
148
+                icon="el-icon-circle-plus-outline"
149
+                @click="handleEdit(scope.$index, scope.row)">
150
+            </el-button>
151
+       </el-tooltip>
152
+       <el-tooltip class="item" effect="dark" content="删除" placement="top">
153
+            <el-button
154
+                size="mini"
155
+                type="danger"
156
+                icon="el-icon-delete"
157
+                @click="handleDelete(scope.$index, scope.row)">
158
+            </el-button>
159
+        </el-tooltip>
160
+
161
+        </template>
162
+    </el-table-column>
163
+  </el-table>
164
+    
165
+</div>
166
+</div>
167
+</template>
168
+
169
+<script>
170
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
171
+
172
+import {getInitOrder} from "@/api/supply"
173
+export default {
174
+name: "addPurchaseOrder",
175
+created() {
176
+this.org_id =  this.$store.getters.xt_user.org_id
177
+
178
+var start_time =  window.sessionStorage.getItem('start_time')
179
+var end_time =  window.sessionStorage.getItem('end_time')
180
+
181
+if(start_time !=null){
182
+    this.start_time = start_time
183
+}
184
+if(end_time!=null){
185
+    this.end_time = end_time
186
+}
187
+window.sessionStorage.removeItem('start_time')
188
+window.sessionStorage.removeItem('end_time')
189
+},
190
+components: {
191
+BreadCrumb
192
+},
193
+data() {
194
+return {
195
+    crumbs: [
196
+    { path: false, name: "购货订单" },
197
+    { path: "/spply/query", name: "新增购货订单" }
198
+    ],
199
+    keywords: "",
200
+    total: 0,
201
+    multipleSelection: [],
202
+    signAndWeighBoxPatients: "sign-and-weigh-box-patients",
203
+    start_time: "",
204
+    end_time: "",
205
+    page: 1,
206
+    limit: 10,
207
+    goodType: [],
208
+    goodInfo: [],
209
+    org_id:0,
210
+    types:[],
211
+    tableList:[],
212
+    tyep_name:"",
213
+    form:{
214
+    manufacturer_id:"",
215
+    },
216
+    tabList:[],
217
+    manufactuerList:[],
218
+    currentIndex: 0,
219
+    goodTypeList:[],
220
+    drugTypeList:[],
221
+    supplier_name:"",
222
+    supplyList:[],
223
+};
224
+},
225
+methods:{
226
+getInitOrder(){
227
+    getInitOrder().then(response=>{
228
+    if(response.data.state == 1){
229
+        var drugList = response.data.data.drugList
230
+        this.manufactuerList = response.data.data.manufactuerList
231
+        this.goodTypeList = response.data.data.goodTypeList
232
+        this.drugTypeList = response.data.data.drugTypeList
233
+        this.supplyList = response.data.data.supplyList
234
+       for(let i=0;i<drugList.length;i++){
235
+          for(let z=0;z<drugList[i].drug_warehouse_info.length;z++){
236
+            drugList[i].drug_warehouse_info[z].stock_max_number = drugList[i].drug_warehouse_info[z].stock_max_number * drugList[i].min_number
237
+          }   
238
+        for(let j=0;j<this.manufactuerList.length;j++){
239
+            if(drugList[i].manufacturer == this.manufactuerList[j].id){
240
+                drugList[i].manufacturer = this.manufactuerList[j].manufacturer_name
241
+            }
242
+        }  
243
+        for(let y=0;y<this.drugTypeList.length;y++){
244
+            if(drugList[i].drug_type == this.drugTypeList[y].value){
245
+            drugList[i].drug_type = this.drugTypeList[y].name
246
+            }
247
+        }
248
+        drugList[i].supply_name =  drugList[i].drug_name + " " + drugList[i].dose +drugList[i].dose_unit+"*"+drugList[i].min_number+ drugList[i].min_unit+"/"+drugList[i].max_unit + " " + drugList[i].manufacturer
249
+        drugList[i].supply_type = drugList[i].drug_type
250
+        drugList[i].supply_specification_name = drugList[i].dose +drugList[i].dose_unit+"*"+drugList[i].min_number+ drugList[i].min_unit+"/"+drugList[i].max_unit
251
+        drugList[i].supply_total = this.getWarehoseInfo(drugList[i].drug_warehouse_info,drugList[i].max_unit,drugList[i].min_unit,drugList[i].min_number)
252
+        drugList[i].supply_count = ""
253
+        drugList[i].supply_total_price = ""
254
+        drugList[i].supply_manufacturer=  drugList[i].manufacturer
255
+        drugList[i].supply_license_number= drugList[i].number
256
+        drugList[i].supply_remake = ""
257
+        drugList[i].type = 1
258
+        drugList[i].supply_price = ""
259
+        drugList[i].name = drugList[i].drug_name
260
+
261
+        this.tabList.push(drugList[i])
262
+        }
263
+        
264
+        var goodList =  response.data.data.goodList
265
+        for(let i=0;i<goodList.length;i++){
266
+        for(let j=0;j<this.manufactuerList.length;j++){
267
+            if(goodList[i].manufacturer == this.manufactuerList[j].id){
268
+                goodList[i].manufacturer = this.manufactuerList[j].manufacturer_name
269
+            }
270
+        }   
271
+        for(let y=0;y<this.goodTypeList.length;y++){
272
+            if(goodList[i].good_type_id == this.goodTypeList[y].id){
273
+                goodList[i].good_type_id = this.goodTypeList[y].type_name
274
+            }
275
+        } 
276
+        goodList[i].supply_name = goodList[i].good_name + " " + goodList[i].specification_name + " " +goodList[i].manufacturer
277
+        goodList[i].supply_type = goodList[i].good_type_id
278
+        goodList[i].supply_specification_name =goodList[i].specification_name
279
+        goodList[i].supply_price = ""
280
+        goodList[i].supply_total = this.getTotalStockCount(goodList[i].good_warehouse_info)
281
+        goodList[i].supply_count = ""
282
+        goodList[i].supply_total_price = ""
283
+        goodList[i].supply_manufacturer = goodList[i].manufacturer
284
+        goodList[i].supply_license_number = ""
285
+        goodList[i].supply_remake = ""
286
+        goodList[i].type = 2   
287
+        goodList[i].name = goodList[i].good_name
288
+
289
+        this.tabList.push(goodList[i]) 
290
+        }
291
+    }
292
+    })  
293
+},
294
+changeGoodName(val){
295
+    console.log("9媚23323232",val)  
296
+    this.currentIndex = val
297
+},
298
+changeName(val){
299
+    console.log("val23322323",val)
300
+    
301
+    for(let i=0;i<this.tableList.length;i++){
302
+    if(this.currentIndex == i){
303
+        this.tableList[i].id = val.id
304
+        this.tableList[i].type = val.type
305
+        this.tableList[i].name = val.name
306
+        this.tableList[i].supply_name = val.supply_name
307
+        this.tableList[i].supply_type = val.supply_type
308
+        this.tableList[i].supply_specification_name = val.supply_specification_name
309
+        this.tableList[i].supply_total = val.supply_total
310
+        this.tableList[i].supply_count = val.supply_count
311
+        this.tableList[i].supply_price = val.supply_price
312
+        this.tableList[i].supply_total_price = val.supply_total_price
313
+        this.tableList[i].supply_manufacturer = val.supply_manufacturer
314
+        this.tableList[i].supply_license_number = val.supply_license_number
315
+        this.tableList[i].supply_remake = val.supply_remake
316
+    }
317
+    }
318
+    console.log("表哥332322332232323",this.tableList)
319
+},
320
+handleEdit(){
321
+    const tempObj = {}
322
+    tempObj["id"] = ""
323
+    tempObj["name"] = ""
324
+    tempObj['supply_name'] = ""
325
+    tempObj['supply_type'] = ""
326
+    tempObj['supply_specification_name'] = ''
327
+    tempObj['supply_total'] = ''
328
+    tempObj['supply_count'] = ''
329
+    tempObj['supply_price'] = ''
330
+    tempObj['supply_total_price'] = ''
331
+    tempObj['supply_manufacturer'] = ''
332
+    tempObj['supply_license_number'] = ''
333
+    tempObj['supply_remake'] = ''
334
+    tempObj['type'] = 0
335
+    this.tableList.push(tempObj)  
336
+},
337
+handleDelete: function(index, row) {
338
+  if (this.tableList.length <= 1) {
339
+        this.$message.error('只有一条记录的时候无法删除')
340
+        return
341
+   } else {
342
+        this.tableList.splice(index, 1)
343
+   }
344
+},
345
+savePurchaseOrder(){
346
+    console.log("param323322332",this.tableList)
347
+    savePurchaseOrder().then(response=>{
348
+
349
+    })  
350
+},
351
+
352
+changeTypeName(){
353
+
354
+},
355
+startTimeChange(){
356
+
357
+},
358
+endTimeChange(){
359
+
360
+},
361
+search(){
362
+    
363
+},
364
+
365
+getWarehoseInfo(arr,max_unit,min_unit,min_number){
366
+    var total = 0
367
+    var max_str=  ""
368
+    var min_str = ""
369
+    if (arr.length > 0) {
370
+      for(let i=0;i<arr.length;i++){
371
+        total += parseInt(arr[i].stock_max_number)
372
+      }
373
+    }
374
+    if (total < min_number){
375
+        min_str = total + min_unit
376
+    }
377
+    if (total == 0) {
378
+        min_str = ""
379
+        max_str = ""
380
+    }
381
+   if (total >=min_number) {
382
+    if(parseInt(total/min_number)!=0){
383
+        max_str = parseInt(total/min_number) + max_unit
384
+    }
385
+    if(total%min_number!=0){
386
+       min_str = total%min_number + min_unit
387
+    }
388
+  }
389
+ return max_str + min_str
390
+ }, 
391
+getTotalStockCount(arr){
392
+  var total_count = 0
393
+  for(let i=0;i<arr.length;i++){
394
+    total_count += arr[i].stock_count
395
+  }
396
+  return total_count
397
+},
398
+calculate: function(val) {
399
+    if (isNaN(val)) {
400
+        return "";
401
+    }
402
+    if (val == 0) {
403
+        return "";
404
+    }
405
+    return Math.round(parseFloat(val) * 100) / 100;
406
+  },
407
+},
408
+created(){
409
+    const tempObj = {}
410
+    tempObj["id"] = ""
411
+    tempObj["name"] = ""
412
+    tempObj['supply_name'] = ""
413
+    tempObj['supply_type'] = ""
414
+    tempObj['supply_specification_name'] = ''
415
+    tempObj['supply_total'] = ''
416
+    tempObj['supply_count'] = ''
417
+    tempObj['supply_price'] = ''
418
+    tempObj['supply_total_price'] = ''
419
+    tempObj['supply_manufacturer'] = ''
420
+    tempObj['supply_license_number'] = ''
421
+    tempObj['supply_remake'] = ''
422
+    tempObj['type'] = 0
423
+    this.tableList.push(tempObj)  
424
+    this.getInitOrder()  
425
+}
426
+};
427
+</script>
428
+
429
+<style rel="stylesheet/css" lang="scss" scoped>
430
+.information {
431
+border: 1px #dcdfe6 solid;
432
+padding: 30px 20px 30px 20px;
433
+
434
+.border {
435
+border-bottom: 1px #dcdfe6 solid;
436
+margin: 0px 0 20px 0;
437
+}
438
+}
439
+
440
+.title {
441
+background: #409eff;
442
+height: 44px;
443
+line-height: 44px;
444
+padding: 0 0 0 10px;
445
+color: #fff;
446
+margin: 0 0 10px 0;
447
+}
448
+
449
+.edit_separater {
450
+border-top: 1px solid rgb(233, 233, 233);
451
+margin-top: 15px;
452
+margin-bottom: 15px;
453
+}
454
+</style>
455
+
456
+<style>
457
+.sign-and-weigh-box .sign-and-weigh-box-patients .cell {
458
+font-size: 12px;
459
+}
460
+
461
+.sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
462
+background: #6fb5fa;
463
+}
464
+
465
+.count {
466
+color: #bd2c00;
467
+}
468
+.el-table td,
469
+.el-table th.is-leaf,
470
+.el-table--border,
471
+.el-table--group {
472
+border-color: #d0d3da;
473
+}
474
+.el-table--border::after,
475
+.el-table--group::after,
476
+.el-table::before {
477
+background-color: #d0d3da;
478
+}
479
+.el-table__fixed-right{
480
+  width:150px;
481
+  bottom: 20px; 
482
+  height: 200px; 
483
+}
484
+</style>

+ 32 - 0
src/xt_pages/supply/components/addSupply.vue View File

@@ -0,0 +1,32 @@
1
+<template>
2
+    <el-dialog
3
+    title="提示"
4
+    :visible.sync="dialogVisible"
5
+    width="30%"
6
+    :before-close="handleClose">
7
+    <span>这是一段信息</span>
8
+    <span slot="footer" class="dialog-footer">
9
+        <el-button @click="dialogVisible = false">取 消</el-button>
10
+        <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
11
+    </span>
12
+    </el-dialog>
13
+</template>
14
+
15
+<script>
16
+export default {
17
+    
18
+    data(){
19
+        return{
20
+           dialogVisible:false, 
21
+        }
22
+    },
23
+    methods:{
24
+      show(){
25
+        this.dialogVisible = true  
26
+      }
27
+    },
28
+    created(){
29
+
30
+    }
31
+}
32
+</script>

+ 0 - 0
src/xt_pages/supply/components/editSupply.vue View File


+ 277 - 0
src/xt_pages/supply/purchaseOrderQuery.vue View File

@@ -0,0 +1,277 @@
1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+    </div>
6
+    <div class="app-container ">
7
+      <div style="justify-content: space-between;margin: 0px 0 12px 0;display: flex;align-items: center;">
8
+        <div>
9
+          <el-select v-model="type_name" style="width:140px;margin-right:10px;" placeholder="请选择"
10
+          @change="changeTypeName">
11
+            <el-option
12
+              v-for="item in types"
13
+              :key="item.id"
14
+              :label="item.type_name"
15
+              :value="item.id">
16
+            </el-option>
17
+          </el-select>
18
+          <el-date-picker
19
+            size="small"
20
+            v-model="start_time"
21
+            prefix-icon="el-icon-date"
22
+            :editable="false"
23
+            style="width: 196px;"
24
+            type="date"
25
+            placeholder="选择日期时间"
26
+            align="right"
27
+            format="yyyy-MM-dd"
28
+            value-format="yyyy-MM-dd"
29
+            @change="startTimeChange"
30
+           ></el-date-picker>-
31
+            <el-date-picker
32
+              size="small"
33
+              v-model="end_time"
34
+              prefix-icon="el-icon-date"
35
+              :editable="false"
36
+              style="width: 196px;"
37
+              type="date"
38
+              placeholder="选择日期时间"
39
+              align="right"
40
+              format="yyyy-MM-dd"
41
+              value-format="yyyy-MM-dd"
42
+              @change="endTimeChange"
43
+          ></el-date-picker>
44
+          <el-input
45
+            size="small"
46
+            style="width: 200px;margin-left:10px;"
47
+            class="filter-item"
48
+            v-model.trim="keywords"
49
+            placeholder="耗材名称"
50
+          />
51
+          <el-button
52
+            size="small"
53
+            class="filter-item"
54
+            type="primary"
55
+            icon="el-icon-search"
56
+            @click="search"
57
+            >搜索</el-button
58
+          >
59
+        </div>
60
+        <div>
61
+          <el-button size="small" type="primary" @click="toAdd">新增</el-button>
62
+        </div>
63
+      </div>
64
+
65
+
66
+       <el-table
67
+        :row-style="{ color: '#303133' }"
68
+        :header-cell-style="{
69
+          backgroundColor: 'rgb(245, 247, 250)',
70
+          color: '#606266'
71
+        }"
72
+        :data="tableList"
73
+        :class="signAndWeighBoxPatients"
74
+        border
75
+      >
76
+        <el-table-column label="订单日期" align="center">
77
+          <template slot-scope="scope">
78
+            <span></span>
79
+         </template>
80
+        </el-table-column>
81
+        <el-table-column label="订单编号" align="center">
82
+          <template slot-scope="scope">
83
+          
84
+          </template>
85
+        </el-table-column>
86
+        <el-table-column label="供应商" align="center">
87
+            <template slot-scope="scope">
88
+              <span></span>
89
+            </template>
90
+         </el-table-column>
91
+        <el-table-column label="关联购货订单" align="center">
92
+          <template slot-scope="scope">
93
+            
94
+          </template>
95
+        </el-table-column>
96
+        <el-table-column label="购物金额" align="center">
97
+          <template slot-scope="scope">
98
+           
99
+          </template>
100
+        </el-table-column>
101
+
102
+       <el-table-column label="数量" align="center">
103
+         <template slot-scope="scope">
104
+           
105
+         </template>
106
+       </el-table-column>
107
+
108
+       <el-table-column label="订单状态" align="center">
109
+         <template slot-scope="scope">
110
+         
111
+        
112
+         </template>
113
+       </el-table-column>
114
+      
115
+        <el-table-column label="交货日期" align="center">
116
+         <template slot-scope="scope">
117
+         
118
+         </template>
119
+       </el-table-column>
120
+        
121
+    
122
+      <el-table-column label="制单人" align="center">
123
+         <template slot-scope="scope">
124
+       
125
+         </template>
126
+       </el-table-column>
127
+
128
+      <el-table-column label="审核人" align="center">
129
+         <template slot-scope="scope">
130
+       
131
+         </template>
132
+       </el-table-column>
133
+
134
+       <el-table-column label="操作" align="center" width="260px">
135
+          <template slot-scope="scope">
136
+              <el-button
137
+                size="small"
138
+                type="primary"
139
+                @click="toClick(scope.row)"
140
+              >库存流水
141
+              </el-button>
142
+              <el-button
143
+                size="small"
144
+                type="primary"
145
+                @click="toClickOne(scope.row)"
146
+              >批次
147
+              </el-button>
148
+          </template>
149
+        </el-table-column>
150
+      </el-table>
151
+      <el-pagination
152
+        @size-change="handleSizeChange"
153
+        @current-change="handleCurrentChange"
154
+        :page-sizes="[10, 50, 100,200,500,1000]"
155
+        :page-size="10"
156
+        background
157
+        align="right"
158
+        style="margin-top:20px;"
159
+        layout="total, sizes, prev, pager, next, jumper"
160
+        :total="total"
161
+      >
162
+      </el-pagination>
163
+
164
+       <add-supply ref="addSupply"></add-supply>
165
+    </div>
166
+  </div>
167
+</template>
168
+
169
+<script>
170
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
171
+import addSupply from "./components/addSupply.vue"
172
+
173
+export default {
174
+  name: "stockIn",
175
+   components: {
176
+     addSupply
177
+   },
178
+  created() {
179
+    this.org_id =  this.$store.getters.xt_user.org_id
180
+
181
+    var start_time =  window.sessionStorage.getItem('start_time')
182
+    var end_time =  window.sessionStorage.getItem('end_time')
183
+
184
+    if(start_time !=null){
185
+      this.start_time = start_time
186
+    }
187
+    if(end_time!=null){
188
+      this.end_time = end_time
189
+    }
190
+    window.sessionStorage.removeItem('start_time')
191
+    window.sessionStorage.removeItem('end_time')
192
+  },
193
+  components: {
194
+    BreadCrumb
195
+  },
196
+  data() {
197
+    return {
198
+      crumbs: [
199
+        { path: false, name: "采购管理" },
200
+        { path: "/spply/query", name: "供应商管理" }
201
+      ],
202
+      keywords: "",
203
+      total: 0,
204
+      multipleSelection: [],
205
+      signAndWeighBoxPatients: "sign-and-weigh-box-patients",
206
+      start_time: "",
207
+      end_time: "",
208
+      page: 1,
209
+      limit: 10,
210
+      goodType: [],
211
+      goodInfo: [],
212
+      org_id:0,
213
+      types:[],
214
+      tableList:[],
215
+      tyep_name:"",
216
+    };
217
+  },
218
+  methods:{
219
+     toAdd(){
220
+       console.log("res32323232323223",this.$refs)  
221
+       this.$refs.addSupply.show()  
222
+     } 
223
+  }
224
+};
225
+</script>
226
+
227
+<style rel="stylesheet/css" lang="scss" scoped>
228
+.information {
229
+  border: 1px #dcdfe6 solid;
230
+  padding: 30px 20px 30px 20px;
231
+
232
+  .border {
233
+    border-bottom: 1px #dcdfe6 solid;
234
+    margin: 0px 0 20px 0;
235
+  }
236
+}
237
+
238
+.title {
239
+  background: #409eff;
240
+  height: 44px;
241
+  line-height: 44px;
242
+  padding: 0 0 0 10px;
243
+  color: #fff;
244
+  margin: 0 0 10px 0;
245
+}
246
+
247
+.edit_separater {
248
+  border-top: 1px solid rgb(233, 233, 233);
249
+  margin-top: 15px;
250
+  margin-bottom: 15px;
251
+}
252
+</style>
253
+
254
+<style>
255
+.sign-and-weigh-box .sign-and-weigh-box-patients .cell {
256
+  font-size: 12px;
257
+}
258
+
259
+.sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
260
+  background: #6fb5fa;
261
+}
262
+
263
+.count {
264
+  color: #bd2c00;
265
+}
266
+.el-table td,
267
+.el-table th.is-leaf,
268
+.el-table--border,
269
+.el-table--group {
270
+  border-color: #d0d3da;
271
+}
272
+.el-table--border::after,
273
+.el-table--group::after,
274
+.el-table::before {
275
+  background-color: #d0d3da;
276
+}
277
+</style>

+ 272 - 0
src/xt_pages/supply/supplyQuery.vue View File

@@ -0,0 +1,272 @@
1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+    </div>
6
+    <div class="app-container ">
7
+      <div style="justify-content: space-between;margin: 0px 0 12px 0;display: flex;align-items: center;">
8
+        <div>
9
+          <el-select v-model="type_name" style="width:140px;margin-right:10px;" placeholder="请选择"
10
+          @change="changeTypeName">
11
+            <el-option
12
+              v-for="item in types"
13
+              :key="item.id"
14
+              :label="item.type_name"
15
+              :value="item.id">
16
+            </el-option>
17
+          </el-select>
18
+          <el-date-picker
19
+            size="small"
20
+            v-model="start_time"
21
+            prefix-icon="el-icon-date"
22
+            :editable="false"
23
+            style="width: 196px;"
24
+            type="date"
25
+            placeholder="选择日期时间"
26
+            align="right"
27
+            format="yyyy-MM-dd"
28
+            value-format="yyyy-MM-dd"
29
+            @change="startTimeChange"
30
+           ></el-date-picker>-
31
+            <el-date-picker
32
+              size="small"
33
+              v-model="end_time"
34
+              prefix-icon="el-icon-date"
35
+              :editable="false"
36
+              style="width: 196px;"
37
+              type="date"
38
+              placeholder="选择日期时间"
39
+              align="right"
40
+              format="yyyy-MM-dd"
41
+              value-format="yyyy-MM-dd"
42
+              @change="endTimeChange"
43
+          ></el-date-picker>
44
+          <el-input
45
+            size="small"
46
+            style="width: 200px;margin-left:10px;"
47
+            class="filter-item"
48
+            v-model.trim="keywords"
49
+            placeholder="耗材名称"
50
+          />
51
+          <el-button
52
+            size="small"
53
+            class="filter-item"
54
+            type="primary"
55
+            icon="el-icon-search"
56
+            @click="search"
57
+            >搜索</el-button
58
+          >
59
+        </div>
60
+        <div>
61
+          <el-button size="small" type="primary" @click="toAdd">新增</el-button>
62
+        </div>
63
+      </div>
64
+
65
+
66
+       <el-table
67
+        :row-style="{ color: '#303133' }"
68
+        :header-cell-style="{
69
+          backgroundColor: 'rgb(245, 247, 250)',
70
+          color: '#606266'
71
+        }"
72
+        :data="tableList"
73
+        :class="signAndWeighBoxPatients"
74
+        border
75
+      >
76
+        <el-table-column label="供应商类别" align="center">
77
+          <template slot-scope="scope">
78
+            <span></span>
79
+         </template>
80
+        </el-table-column>
81
+        <el-table-column label="供应商编码" align="center">
82
+          <template slot-scope="scope">
83
+          
84
+          </template>
85
+        </el-table-column>
86
+        <el-table-column label="供应商名称" align="center">
87
+            <template slot-scope="scope">
88
+              <span></span>
89
+            </template>
90
+         </el-table-column>
91
+        <el-table-column label="首要联系人" align="center">
92
+          <template slot-scope="scope">
93
+            
94
+          </template>
95
+        </el-table-column>
96
+        <el-table-column label="增值税税率(%)" align="center">
97
+          <template slot-scope="scope">
98
+           
99
+          </template>
100
+        </el-table-column>
101
+       <el-table-column label="银行账号" align="center">
102
+         <template slot-scope="scope">
103
+           
104
+         </template>
105
+       </el-table-column>
106
+       <el-table-column label="开户银行" align="center" v-if="showOne">
107
+         <template slot-scope="scope">
108
+         
109
+          </span>
110
+        
111
+         </template>
112
+       </el-table-column>
113
+      
114
+        <el-table-column label="纳税人识别号" align="center" v-if="showThree">
115
+         <template slot-scope="scope">
116
+         
117
+         </template>
118
+       </el-table-column>
119
+        
120
+    
121
+      <el-table-column label="手机" align="center" v-if="showFour">
122
+         <template slot-scope="scope">
123
+       
124
+         </template>
125
+       </el-table-column>
126
+
127
+    
128
+
129
+       <el-table-column label="操作" align="center" width="260px">
130
+          <template slot-scope="scope">
131
+              <el-button
132
+                size="small"
133
+                type="primary"
134
+                @click="toClick(scope.row)"
135
+              >库存流水
136
+              </el-button>
137
+              <el-button
138
+                size="small"
139
+                type="primary"
140
+                @click="toClickOne(scope.row)"
141
+              >批次
142
+              </el-button>
143
+          </template>
144
+        </el-table-column>
145
+      </el-table>
146
+      <el-pagination
147
+        @size-change="handleSizeChange"
148
+        @current-change="handleCurrentChange"
149
+        :page-sizes="[10, 50, 100,200,500,1000]"
150
+        :page-size="10"
151
+        background
152
+        align="right"
153
+        style="margin-top:20px;"
154
+        layout="total, sizes, prev, pager, next, jumper"
155
+        :total="total"
156
+      >
157
+      </el-pagination>
158
+
159
+       <add-supply ref="addSupply"></add-supply>
160
+    </div>
161
+  </div>
162
+</template>
163
+
164
+<script>
165
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
166
+import addSupply from "./components/addSupply.vue"
167
+
168
+export default {
169
+  name: "stockIn",
170
+   components: {
171
+     addSupply
172
+   },
173
+  created() {
174
+    this.org_id =  this.$store.getters.xt_user.org_id
175
+
176
+    var start_time =  window.sessionStorage.getItem('start_time')
177
+    var end_time =  window.sessionStorage.getItem('end_time')
178
+
179
+    if(start_time !=null){
180
+      this.start_time = start_time
181
+    }
182
+    if(end_time!=null){
183
+      this.end_time = end_time
184
+    }
185
+    window.sessionStorage.removeItem('start_time')
186
+    window.sessionStorage.removeItem('end_time')
187
+  },
188
+  components: {
189
+    BreadCrumb
190
+  },
191
+  data() {
192
+    return {
193
+      crumbs: [
194
+        { path: false, name: "采购管理" },
195
+        { path: "/spply/query", name: "供应商管理" }
196
+      ],
197
+      keywords: "",
198
+      total: 0,
199
+      multipleSelection: [],
200
+      signAndWeighBoxPatients: "sign-and-weigh-box-patients",
201
+      start_time: "",
202
+      end_time: "",
203
+      page: 1,
204
+      limit: 10,
205
+      goodType: [],
206
+      goodInfo: [],
207
+      org_id:0,
208
+      types:[],
209
+      tableList:[],
210
+      tyep_name:"",
211
+    };
212
+  },
213
+  methods:{
214
+     toAdd(){
215
+       console.log("res32323232323223",this.$refs)  
216
+       this.$refs.addSupply.show()  
217
+     } 
218
+  }
219
+};
220
+</script>
221
+
222
+<style rel="stylesheet/css" lang="scss" scoped>
223
+.information {
224
+  border: 1px #dcdfe6 solid;
225
+  padding: 30px 20px 30px 20px;
226
+
227
+  .border {
228
+    border-bottom: 1px #dcdfe6 solid;
229
+    margin: 0px 0 20px 0;
230
+  }
231
+}
232
+
233
+.title {
234
+  background: #409eff;
235
+  height: 44px;
236
+  line-height: 44px;
237
+  padding: 0 0 0 10px;
238
+  color: #fff;
239
+  margin: 0 0 10px 0;
240
+}
241
+
242
+.edit_separater {
243
+  border-top: 1px solid rgb(233, 233, 233);
244
+  margin-top: 15px;
245
+  margin-bottom: 15px;
246
+}
247
+</style>
248
+
249
+<style>
250
+.sign-and-weigh-box .sign-and-weigh-box-patients .cell {
251
+  font-size: 12px;
252
+}
253
+
254
+.sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
255
+  background: #6fb5fa;
256
+}
257
+
258
+.count {
259
+  color: #bd2c00;
260
+}
261
+.el-table td,
262
+.el-table th.is-leaf,
263
+.el-table--border,
264
+.el-table--group {
265
+  border-color: #d0d3da;
266
+}
267
+.el-table--border::after,
268
+.el-table--group::after,
269
+.el-table::before {
270
+  background-color: #d0d3da;
271
+}
272
+</style>

+ 11 - 3
src/xt_pages/workforce/components/tableData.vue View File

@@ -619,7 +619,7 @@
619 619
 <script>
620 620
 import { uParseTime } from "@/utils/tools";
621 621
 import print from 'print-js'
622
-
622
+const moment = require('moment')
623 623
 import {
624 624
   CancelSchedule,
625 625
   ChangeSchedule,
@@ -695,6 +695,7 @@ export default {
695 695
       partitions: [],
696 696
       jihaos: [],
697 697
       weekTitle: ["", "", "", "", "", "", ""],
698
+      weekList: ["", "", "", "", "", "", ""],
698 699
       weekDays: ["", "", "", "", "", "", ""],
699 700
       currentData: {
700 701
         id: 0,
@@ -1165,6 +1166,7 @@ export default {
1165 1166
       getSchedulesOne(params).then(response => {
1166 1167
         if (response.data.state == 1) {
1167 1168
           this.weekTitle = response.data.data.weekTitle;
1169
+
1168 1170
           this.weekDays = response.data.data.days;
1169 1171
           this.toDay = response.data.data.today;
1170 1172
           var theSchedules = response.data.data.schdules;
@@ -2110,6 +2112,9 @@ export default {
2110 2112
     },
2111 2113
     search: function() {
2112 2114
       let week_type = 0
2115
+      var weeklist = moment().format('E');//计算今天是这周第几天
2116
+      var first_monday = moment().subtract(weeklist-1, 'days').format('YYYY-MM-DD');//周一日期
2117
+      var end_monday = moment().add(7-weeklist, 'days').format('YYYY-MM-DD')
2113 2118
       if (this.weekTime == 'thisWeek'){
2114 2119
         week_type = 1
2115 2120
       }else if(this.weekTime == 'nextWeek'){
@@ -2117,12 +2122,14 @@ export default {
2117 2122
       }else if(this.weekTime == 'nextTwoWeek'){
2118 2123
         week_type = 3
2119 2124
       }
2120
-
2121
-
2125
+     
2122 2126
       const params = {
2123 2127
         keywords: this.keywords,
2124 2128
         week_type: week_type,
2129
+        start_sch:first_monday,
2130
+        end_sch:end_monday,
2125 2131
       };
2132
+      console.log("params",params)
2126 2133
       getSearchResult(params).then(response => {
2127 2134
         if (response.data.state == 1) {
2128 2135
           this.schedulePatients = response.data.data.schdules;
@@ -2300,6 +2307,7 @@ export default {
2300 2307
   //    this.tableContainHeight = window.innerHeight - this.$refs.table.$el.offsetTop - 160
2301 2308
   // },
2302 2309
   created() {
2310
+    
2303 2311
     this.getAllZones()
2304 2312
  
2305 2313
     this.changeScheduleType(1)