Browse Source

仓库管理及部分美化

huangyw 3 years ago
parent
commit
3ce3f93bf1

BIN
src/assets/purchase/ban.png View File


+ 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
+    wareHouseManage:'Ware House Manage',
99
+    inventoryTransfer:'inventoryTransfer',
98 100
     supplyManage: 'Supply Manage',
99 101
     supplyQuery: 'supply query',
100 102
     baseInfo: 'base Info',

+ 4 - 0
src/lang/zh.js View File

@@ -1,4 +1,5 @@
1 1
 export default {
2
+// 须在src/lang中进行国际化配置
2 3
   route: {
3 4
     dashboard: '首页',
4 5
     introduction: '简述',
@@ -172,6 +173,9 @@ export default {
172 173
     selfPreparedMedicineQuery: '自备药查询',
173 174
     selfPreparedMedicineIndex: '自备药管理',
174 175
     selfPreparedMedicine: '自备药管理',
176
+    wareHouseManage:'仓库管理',
177
+    inventoryTransfer:'库存调拨',
178
+
175 179
     consumablesManagement: '耗材管理',
176 180
     warehouseReceipt: '出入库',
177 181
     warehouseReceiptOther: '出入库',

+ 5 - 1
src/router/index.js View File

@@ -22,6 +22,8 @@ import slow from './modules/slow'
22 22
 import scrm from './modules/scrm'
23 23
 import shop from './modules/shop'
24 24
 import selfPreparedMedicine from './modules/selfPreparedMedicine'
25
+import wareHouseManage from './modules/wareHouseManage'
26
+import inventoryTransfer from './modules/inventoryTransfer'
25 27
 import drugs from './modules/drugs'
26 28
 import outpatientRegistration from './modules/outpatientRegistration'
27 29
 import outpatientDoctorStation from './modules/outpatientDoctorStation'
@@ -149,7 +151,9 @@ var _asy_router_map = [
149 151
   dialysis,
150 152
   stock,
151 153
   drugs,
152
-  selfPreparedMedicine,
154
+  selfPreparedMedicine,  //自备药管理模块
155
+  wareHouseManage,  //仓库管理模块
156
+  inventoryTransfer,    //库存调拨模块
153 157
   otherManagement,
154 158
   qcd,
155 159
   device,

+ 17 - 0
src/router/modules/inventoryTransfer.js View File

@@ -0,0 +1,17 @@
1
+import Layout from '@/views/layout/Layout'
2
+
3
+export default {
4
+  path: '/inventoryTransfer',
5
+  component: Layout,
6
+  name:'inventoryTransfer',
7
+  redirct: 'noredirect',
8
+  children: [{
9
+    path: '/stock/inventoryTransfer',
10
+    component: () => import('@/xt_pages/stock/inventoryTransfer/index.vue'),
11
+    name: '库存调拨',
12
+    meta: {
13
+      title: '库存调拨',
14
+      noCache: true
15
+    }
16
+  },]
17
+}

+ 33 - 0
src/router/modules/wareHouseManage.js View File

@@ -0,0 +1,33 @@
1
+import Layout from '@/views/layout/Layout'
2
+
3
+export default {
4
+    path: '/stock/wareHouseManage',
5
+    component: Layout,
6
+    redirect: 'noredirect',
7
+    name: 'wareHouseManage',
8
+    alwaysShow: true,
9
+    meta: {
10
+        title: 'wareHouseManage',
11
+        icon: 'stock',
12
+        isChild: true
13
+    },
14
+    children: [
15
+        {
16
+            path: '/stock/warehousequery',
17
+            component: () => import('@/xt_pages/stock/warehouseManage/query'),
18
+            name: 'warehousequery',
19
+            meta: { title: '仓库信息', noCache: true },
20
+        },
21
+        {
22
+            path: '/stock/waresetting',
23
+            component: () => import('@/xt_pages/stock/warehouseManage/waresetting'),
24
+            name: 'waresetting',
25
+            hidden: true,
26
+            is_menu: false,    
27
+            meta: { title: '仓库设置', noCache: true },
28
+        }
29
+
30
+    ]
31
+
32
+
33
+}

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

@@ -130,7 +130,7 @@ export default {
130 130
     let menzhen = ['hospitalStation',"hospitalRecord","hospitalCharges","hisTool",'outpatientRegistration','outpatientDoctorStation','outpatientCharges','outpatientPharmacy','outpatientRecord'];
131 131
     let bingli = ['User','createPatient'];
132 132
     let touxi = ['home','workforce', 'dialysisrecord', 'dialysis', 'medicalScheduling', 'signIndex', 'qcd', 'device', 'quality_control'];
133
-    let kucun = ['stockManage','stockDrugs','selfPreparedMedicine','otherManagement'];
133
+    let kucun = ['stockManage','stockDrugs','selfPreparedMedicine','inventoryTransfer','wareHouseManage','otherManagement'];
134 134
     let caigou = ['supplyManage','supplyList'];
135 135
     let peizhi = ['system','roleManage','DepartManage', 'bedManagement', 'dictionaryManagement', 'templateManagement','showconfig','printTemplate','integration_config','basicConfig'];
136 136
     let kuyishopping = ['kuyiShopping'];

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

@@ -121,7 +121,7 @@ export default {
121 121
             this.$emit('func',a)
122 122
           }
123 123
         }else if(newVal == '库房管理'){
124
-          let nameArr = ['stockManage','stockDrugs','selfPreparedMedicine','otherManagement'];
124
+          let nameArr = ['stockManage','stockDrugs','selfPreparedMedicine','inventoryTransfer','wareHouseManage','otherManagement'];
125 125
           let routerArr = [];
126 126
           this.permission_routers.map(item => {
127 127
             if(nameArr.indexOf(item.name) > -1){

+ 6 - 22
src/xt_pages/dialysis/template/DialysisPrintOrderFortySeven.vue View File

@@ -155,7 +155,7 @@
155 155
 
156 156
                   </div>
157 157
 
158
-                  <div class="row" style="padding: 2px 0;line-height:20px;">
158
+                  <div class="row" style="padding: 2px 0;line-height:20px;white-space: normal;">
159 159
                     <div class="inline_block">
160 160
                       T:
161 161
                       <div class="under_line" style="width: 50px;text-align: center">
@@ -188,31 +188,14 @@
188 188
                       </div>
189 189
                       mmHg
190 190
                     </div>
191
-                    <div class="inline_block" style="margin-left:10px;flex:1;">
191
+                    <div class="inline_block" style="display: flex;">
192
+                      <div class="inline_block" style="margin-left:4px;flex:1;">
192 193
                       穿刺方式:
193
-                      <!-- <div class="under_line" style="width: 100px;text-align: center" v-if="predialysis.puncture_way == 0">
194
-                        /
195
-                      </div>
196
-                      <div class="under_line" style="width: 100px;text-align: center" v-if="predialysis.puncture_way == 1">
197
-                        绳梯
198
-                      </div>
199
-                      <div class="under_line" style="width: 100px;text-align: center" v-if="predialysis.puncture_way == 2">
200
-                        扣眼
201
-                      </div>
202
-                      <div class="under_line" style="width: 100px;text-align: center" v-if="predialysis.puncture_way == 3">
203
-                        区域
204
-                      </div> -->
205 194
                       <div class="under_line" style="width: 100px;text-align: center" v-if="predialysis.puncture_way == ''">
206 195
                         /
207 196
                       </div>
208
-                      <div class="under_line" style="width: 100px;text-align: center" v-if="predialysis.puncture_way.indexOf('绳梯')>-1">
209
-                        绳梯
210
-                      </div>
211
-                      <div class="under_line" style="width: 100px;text-align: center" v-if="predialysis.puncture_way.indexOf('扣眼')>-1">
212
-                        扣眼
213
-                      </div>
214
-                      <div class="under_line" style="width: 100px;text-align: center" v-if="predialysis.puncture_way.indexOf('区域')>-1">
215
-                        区域
197
+                      <div style="display: inline-block;border-bottom: 1px solid #999;white-space: nowrap;text-align: center;" v-if="predialysis.puncture_way">
198
+                        <p>{{predialysis.puncture_way}}</p>
216 199
                       </div>
217 200
                     </div>
218 201
                     <div class="inline_block" style="margin-left:10px;flex:1;">
@@ -221,6 +204,7 @@
221 204
                         {{ predialysis.puncture_needle ? predialysis.puncture_needle : "/" }}
222 205
                       </div>
223 206
                     </div>
207
+                    </div>
224 208
                   </div>
225 209
 
226 210
                   <div class="row" style="padding: 2px 0;line-height:20px;display:flex;">

+ 0 - 9
src/xt_pages/outpatientCharges/components/prescriptionTable.vue View File

@@ -58,15 +58,6 @@
58 58
       <el-table-column align="center" prop="name" width="80" label="总量">
59 59
         <template slot-scope="scope">{{ scope.row.prescribing_number }}{{scope.row.prescribing_number_unit}}</template>
60 60
       </el-table-column>
61
-      <!-- <el-table-column align="center" prop="name" width="80" label="总量">
62
-        <template slot-scope="scope">
63
-          <div>
64
-            {{ scope.row.prescribing_number }} {{
65
-              scope.row.prescribing_number_unit
66
-            }}
67
-          </div>
68
-        </template>
69
-      </el-table-column> -->
70 61
       <el-table-column align="center" prop="name" width="80" label="单价">
71 62
         <template slot-scope="scope">
72 63
           <div>{{ scope.row.retail_price }}元</div>

+ 224 - 0
src/xt_pages/stock/inventoryTransfer/index.vue View File

@@ -0,0 +1,224 @@
1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+      <div>
6
+        <el-button type="warning" @click="approval">反审核</el-button>
7
+        <el-button type="warning" @click="examine">审核</el-button>
8
+        <el-button type="primary" @click="Add">新增</el-button>
9
+      </div>
10
+    </div>
11
+    <div class="app-container">
12
+      <div
13
+        style="
14
+          justify-content: flex-start;
15
+          margin: 0px 0 12px 0;
16
+          display: flex;
17
+          align-items: center;
18
+        "
19
+      >
20
+        <div>
21
+          <el-input
22
+            size="small"
23
+            style="width: 200px; margin-left: 10px"
24
+            class="filter-item"
25
+            v-model.trim="keywords"
26
+          />
27
+          <el-button
28
+            size="small"
29
+            class="filter-item"
30
+            type="primary"
31
+            icon="el-icon-search"
32
+            @click="search"
33
+            >查看</el-button
34
+          >
35
+        </div>
36
+        <div>
37
+          单据日期:
38
+          <el-date-picker v-model="value1" type="date" placeholder="选择日期">
39
+          </el-date-picker>
40
+          <el-button
41
+            size="small"
42
+            class="filter-item"
43
+            type="primary"
44
+            icon="el-icon-search"
45
+            @click="search"
46
+            >查看</el-button
47
+          >
48
+        </div>
49
+      </div>
50
+      <el-table
51
+        :row-style="changColor"
52
+        :header-cell-style="{
53
+          backgroundColor: 'rgb(245, 247, 250)',
54
+          color: '#606266',
55
+        }"
56
+        :data="tableData"
57
+        :class="signAndWeighBoxPatients"
58
+        border
59
+        @selection-change="handleSelectionChange"
60
+      >
61
+        >
62
+        <el-table-column type="selection" width="55"> </el-table-column>
63
+        <el-table-column label="单据编号" align="center">
64
+          <template slot-scope="scope">
65
+            <span>{{ scope.row.drug_name ? scope.row.drug_name : "" }}</span>
66
+          </template>
67
+        </el-table-column>
68
+        <el-table-column label="单据日期" align="center">
69
+          <template slot-scope="scope">
70
+            <span>{{ scope.row.drug_spec ? scope.row.drug_spec : "" }}</span>
71
+          </template>
72
+        </el-table-column>
73
+        <el-table-column label="商品名称" align="center">
74
+          <template slot-scope="scope">
75
+            <span>{{ scope.row.Count ? scope.row.Count : "" }}</span>
76
+          </template>
77
+        </el-table-column>
78
+        <el-table-column label="调出仓库" align="center">
79
+          <template slot-scope="scope">
80
+            <span>{{ scope.row.Count ? scope.row.Count : "" }}</span>
81
+          </template>
82
+        </el-table-column>
83
+        <el-table-column label="调入仓库" align="center">
84
+          <template slot-scope="scope">
85
+            <span>{{ scope.row.outCount ? scope.row.outCount : "" }}</span>
86
+          </template>
87
+        </el-table-column>
88
+        <el-table-column label="制单人" align="center">
89
+          <template slot-scope="scope">
90
+            <span>{{ scope.row.outCount ? scope.row.outCount : "" }}</span>
91
+          </template>
92
+        </el-table-column>
93
+        <el-table-column label="审核人" align="center">
94
+          <template slot-scope="scope">
95
+            <span>{{ scope.row.outCount ? scope.row.outCount : "" }}</span>
96
+          </template>
97
+        </el-table-column>
98
+        <el-table-column label="审核时间" align="center">
99
+          <template slot-scope="scope">
100
+            <span>{{ scope.row.outCount ? scope.row.outCount : "" }}</span>
101
+          </template>
102
+        </el-table-column>
103
+        <el-table-column label="操作" align="center" width="260px">
104
+          <template slot-scope="scope">
105
+            <el-tooltip class="item" content="编辑" placement="top-start">
106
+              <el-button
107
+                icon="el-icon-edit-outline"
108
+                size="small"
109
+                type="primary"
110
+                @click="toEdit(scope.row)"
111
+              >
112
+              </el-button>
113
+            </el-tooltip>
114
+
115
+            <el-tooltip class="item" content="删除" placement="top-start">
116
+              <el-button
117
+                icon="el-icon-delete"
118
+                size="small"
119
+                type="danger"
120
+                @click="toDelete(scope.row, scope.row.$index)"
121
+              >
122
+              </el-button>
123
+            </el-tooltip>
124
+
125
+            <el-tooltip class="item" content="详情" placement="top-start">
126
+              <el-button
127
+                icon="el-icon-view"
128
+                size="small"
129
+                type="primary"
130
+                @click="toDetails(scope.row, scope.row.$index)"
131
+              >
132
+              </el-button>
133
+            </el-tooltip>
134
+          </template>
135
+        </el-table-column>
136
+      </el-table>
137
+      <el-pagination
138
+        @size-change="handleSizeChange"
139
+        @current-change="handleCurrentChange"
140
+        :page-sizes="[10, 50, 100, 200, 500, 1000]"
141
+        :page-size="10"
142
+        background
143
+        align="right"
144
+        style="margin-top: 20px"
145
+        layout="total, sizes, prev, pager, next, jumper"
146
+        :total="total"
147
+      >
148
+      </el-pagination>
149
+    </div>
150
+  </div>
151
+</template>
152
+
153
+<script>
154
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
155
+export default {
156
+  components: {
157
+    BreadCrumb,
158
+  },
159
+  data() {
160
+    return {
161
+      crumbs: [
162
+        { path: false, name: "库房管理" },
163
+        { path: "/stock/warehousequery", name: "库存调拨" },
164
+      ],
165
+      value1: "",
166
+      total: 0,
167
+      page: 1,
168
+      limit: 10,
169
+      tableData: [{}, {}],
170
+    };
171
+  },
172
+
173
+  methods: {
174
+    // 初始化数据
175
+    init() {},
176
+
177
+    // 反审核
178
+    approval() {},
179
+
180
+    // 审核
181
+    examine() {},
182
+
183
+    // 添加
184
+    Add() {},
185
+
186
+    // 删除
187
+    toDelete() {},
188
+
189
+    // 详情查看
190
+    toDetails() {},
191
+
192
+    // 表单全选
193
+    handleSelectionChange() {},
194
+
195
+    // 页表操作
196
+    handleSizeChange(val) {
197
+      this.limit = val;
198
+      this.init();
199
+    },
200
+    handleCurrentChange(val) {
201
+      this.page = val;
202
+      this.init();
203
+    },
204
+
205
+    // 表格样式
206
+    changColor({ rowIndex }) {
207
+      if (rowIndex % 2 == 1) {
208
+        return {
209
+          backgroundColor: "#C4E1FF",
210
+          color: "#303133",
211
+        };
212
+      } else {
213
+        return {
214
+          backgroundColor: "#ACD6FF",
215
+          color: "#303133",
216
+        };
217
+      }
218
+    },
219
+  },
220
+};
221
+</script>
222
+
223
+<style rel="stylesheet/css" lang="scss" scoped>
224
+</style>

+ 91 - 0
src/xt_pages/stock/warehouseManage/components/AddWareHouse.vue View File

@@ -0,0 +1,91 @@
1
+<template>
2
+  <el-dialog
3
+    title="新增仓库信息"
4
+    :visible.sync="dialogVisible"
5
+    width="30%"
6
+  >
7
+    <div class="main_contain">
8
+      <el-form
9
+        :model="ruleForm"
10
+        :rules="rules"
11
+        :label-position="labelPosition"
12
+        ref="ruleForm"
13
+        label-width="100px"
14
+        class="demo-ruleForm"
15
+      >
16
+        <el-form-item label="活动名称">
17
+          <span>SH-6732</span>
18
+        </el-form-item>
19
+        <el-form-item label="仓库名称" prop="region">
20
+          <el-input v-model="ruleForm.name"></el-input>
21
+        </el-form-item>
22
+        <el-form-item label="仓库地址" prop="desc">
23
+          <el-input type="textarea" v-model="ruleForm.desc"></el-input>
24
+        </el-form-item>
25
+        <el-form-item label="状态" prop="resource">
26
+          <el-radio-group v-model="ruleForm.resource">
27
+            <el-radio label="启用"></el-radio>
28
+            <el-radio label="禁用"></el-radio>
29
+          </el-radio-group>
30
+        </el-form-item>
31
+        <el-form-item label="仓库管理员" prop="region">
32
+          <el-select v-model="ruleForm.region" placeholder="请选择活动区域">
33
+            <el-option label="区域一" value="shanghai"></el-option>
34
+            <el-option label="区域二" value="beijing"></el-option>
35
+          </el-select>
36
+        </el-form-item>
37
+      </el-form>
38
+    </div>
39
+    <span slot="footer" class="dialog-footer">
40
+      <el-button @click="dialogVisible = false">取 消</el-button>
41
+      <el-button type="primary" @click="dialogVisible = false">保存</el-button>
42
+    </span>
43
+  </el-dialog>
44
+</template>
45
+
46
+<script>
47
+export default {
48
+  data() {
49
+    return {
50
+      dialogVisible: false,
51
+      labelPosition:'left',
52
+      ruleForm: {
53
+        name: "",
54
+        region: "",
55
+        date1: "",
56
+        date2: "",
57
+        delivery: false,
58
+        type: [],
59
+        resource: "",
60
+        desc: "",
61
+      },
62
+      rules: {
63
+        region: [{ required: true, message: "请选择活动区域", trigger: "change" }],
64
+        type: [{
65
+            type: "array",
66
+            required: true,
67
+            message: "请至少选择一个活动性质",
68
+            trigger: "change",
69
+          },],
70
+        desc: [{ required: true, message: "请填写活动形式", trigger: "blur" }],
71
+      },
72
+    };
73
+  },
74
+  methods: {
75
+  },
76
+};
77
+</script>
78
+
79
+<style lang="scss" scoped>
80
+.main_contain {
81
+  width: 60%;
82
+  display: flex;
83
+  flex-direction: column;
84
+  margin: 0 auto;
85
+  .main_list {
86
+    height: 30px;
87
+    display: flex;
88
+    line-height: 30px;
89
+  }
90
+}
91
+</style>

+ 336 - 0
src/xt_pages/stock/warehouseManage/query.vue View File

@@ -0,0 +1,336 @@
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
8
+        style="
9
+          justify-content: space-between;
10
+          margin: 0px 0 12px 0;
11
+          display: flex;
12
+          align-items: center;
13
+        "
14
+      >
15
+        <div>
16
+          <el-input
17
+            size="small"
18
+            style="width: 200px; margin-left: 10px"
19
+            class="filter-item"
20
+            v-model.trim="keywords"
21
+            placeholder="药品名称"
22
+          />
23
+          <el-button
24
+            size="small"
25
+            class="filter-item"
26
+            type="primary"
27
+            icon="el-icon-search"
28
+            @click="search"
29
+            >搜索</el-button
30
+          >
31
+        </div>
32
+        <div>
33
+          <el-button size="small" type="primary" @click="AddWareHouse"
34
+            >新增</el-button
35
+          >
36
+          <el-button size="small" type="primary" @click="toPrint"
37
+            >设置</el-button
38
+          >
39
+        </div>
40
+      </div>
41
+
42
+      <el-table
43
+        :row-style="{ color: '#303133' }"
44
+        :header-cell-style="{
45
+          backgroundColor: 'rgb(245, 247, 250)',
46
+          color: '#606266',
47
+        }"
48
+        :data="tableData"
49
+        :class="signAndWeighBoxPatients"
50
+        border
51
+      >
52
+        <el-table-column label="仓库编号" align="center">
53
+          <template slot-scope="scope">
54
+            <span>{{ scope.row.drug_name ? scope.row.drug_name : "" }}</span>
55
+          </template>
56
+        </el-table-column>
57
+        <el-table-column label="仓库名称" align="center">
58
+          <template slot-scope="scope">
59
+            <span>{{ scope.row.drug_spec ? scope.row.drug_spec : "" }}</span>
60
+          </template>
61
+        </el-table-column>
62
+        <el-table-column label="仓库地址" align="center">
63
+          <template slot-scope="scope">
64
+            <span>{{ scope.row.Count ? scope.row.Count : "" }}</span>
65
+          </template>
66
+        </el-table-column>
67
+        <el-table-column label="仓库管理员" align="center">
68
+          <template slot-scope="scope">
69
+            <span>{{ scope.row.Count ? scope.row.Count : "" }}</span>
70
+          </template>
71
+        </el-table-column>
72
+        <el-table-column label="状态" align="center">
73
+          <template slot-scope="scope">
74
+            <span>{{ scope.row.outCount ? scope.row.outCount : "" }}</span>
75
+          </template>
76
+        </el-table-column>
77
+
78
+        <el-table-column label="操作" align="center" width="260px">
79
+          <template slot-scope="scope">
80
+            <el-tooltip class="item" content="编辑" placement="top-start">
81
+              <el-button
82
+                icon="el-icon-edit-outline"
83
+                size="small"
84
+                type="primary"
85
+                @click="toEdit(scope.row)"
86
+              >
87
+              </el-button>
88
+            </el-tooltip>
89
+
90
+            <el-tooltip class="item" content="禁用" placement="top-start">
91
+              <el-button
92
+                size="small"
93
+                type="danger"
94
+                @click="toDelete(scope.row, scope.row.$index)"
95
+                ><img
96
+                  src="../../../assets/purchase/ban.png"
97
+                  alt=""
98
+                  style="width: 12px"
99
+                />
100
+              </el-button>
101
+            </el-tooltip>
102
+
103
+            <el-tooltip class="item" content="删除" placement="top-start">
104
+              <el-button
105
+                icon="el-icon-delete"
106
+                size="small"
107
+                type="danger"
108
+                @click="toDelete(scope.row, scope.row.$index)"
109
+              >
110
+              </el-button>
111
+            </el-tooltip>
112
+          </template>
113
+        </el-table-column>
114
+      </el-table>
115
+      <el-pagination
116
+        @size-change="handleSizeChange"
117
+        @current-change="handleCurrentChange"
118
+        :page-sizes="[10, 50, 100, 200, 500, 1000]"
119
+        :page-size="10"
120
+        background
121
+        align="right"
122
+        style="margin-top: 20px"
123
+        layout="total, sizes, prev, pager, next, jumper"
124
+        :total="total"
125
+      >
126
+      </el-pagination>
127
+    </div>
128
+
129
+    <AddWareHouse ref="AddWareHouse"></AddWareHouse>
130
+  </div>
131
+</template>
132
+
133
+<script>
134
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
135
+import { getDictionaryDataConfig, getDataConfig } from "@/utils/data";
136
+import { getSelfStockQuery } from "@/api/drug/drug";
137
+import AddWareHouse from "./components/AddWareHouse.vue";
138
+export default {
139
+  name: "stockIn",
140
+  created() {
141
+    var types = getDictionaryDataConfig("system", "drug_type");
142
+    console.log("44444", types);
143
+    var arr = [];
144
+    var obj = { id: 0, name: "全部" };
145
+    arr.push(obj);
146
+    arr.push(...types);
147
+    this.drugType = arr;
148
+    console.log("arrr", arr);
149
+    this.getlist();
150
+  },
151
+  components: {
152
+    BreadCrumb,
153
+    AddWareHouse,
154
+  },
155
+  data() {
156
+    return {
157
+      crumbs: [
158
+        { path: false, name: "库房管理" },
159
+        { path: "/stock/warehousequery", name: "仓库管理" },
160
+      ],
161
+      keywords: "",
162
+      total: 0,
163
+      multipleSelection: [],
164
+      signAndWeighBoxPatients: "sign-and-weigh-box-patients",
165
+      start_time: "",
166
+      end_time: "",
167
+      page: 1,
168
+      limit: 10,
169
+      tableData: [],
170
+      drugType: [],
171
+      type_name: 0,
172
+      stockOutData: [],
173
+    };
174
+  },
175
+  methods: {
176
+    getlist() {
177
+      var params = {
178
+        type_name: this.type_name,
179
+        start_time: this.start_time,
180
+        end_time: this.end_time,
181
+        keywords: this.keywords,
182
+        page: this.page,
183
+        limit: this.limit,
184
+      };
185
+      console.log("params", params);
186
+      getSelfStockQuery(params).then((response) => {
187
+        if (response.data.state == 1) {
188
+          var stockQuery = response.data.data.stockQuery;
189
+          console.log("入库", stockQuery);
190
+          this.total = response.data.data.total;
191
+          console.log("total", this.total);
192
+          var stockOutQuery = response.data.data.stockOutQuery;
193
+          console.log("stockOut", stockOutQuery);
194
+          for (let i = 0; i < stockQuery.length; i++) {
195
+            for (let j = 0; j < stockOutQuery.length; j++) {
196
+              if (stockQuery[i].drug_name_id == stockOutQuery[j].drug_name_id) {
197
+                stockQuery[i].outCount = stockOutQuery[j].Count;
198
+                stockQuery[i].total =
199
+                  stockQuery[i].Count - stockOutQuery[j].Count;
200
+              }
201
+            }
202
+          }
203
+          console.log("表格数据", stockQuery);
204
+          this.tableData = stockQuery;
205
+        }
206
+      });
207
+    },
208
+    handleSizeChange(val) {
209
+      this.limit = val;
210
+      this.getlist();
211
+    },
212
+    handleCurrentChange(val) {
213
+      this.page = val;
214
+      this.getlist();
215
+    },
216
+
217
+    startTimeChange: function (val) {
218
+      var time = this.getTimestamp(val) - this.getTimestamp(this.end_time);
219
+
220
+      if (time > 0) {
221
+        this.$message.error("开始时间不能大于结束时间");
222
+        this.start_time = "";
223
+      } else {
224
+        this.getlist();
225
+      }
226
+    },
227
+    endTimeChange: function (val) {
228
+      var time = this.getTimestamp(val) - this.getTimestamp(this.start_time);
229
+      if (time < 0) {
230
+        this.$message.error("结束时间不能小于开始时间");
231
+        this.end_time = "";
232
+      } else {
233
+        this.getlist();
234
+      }
235
+    },
236
+
237
+    search: function () {
238
+      this.getlist();
239
+    },
240
+    // 新增仓库
241
+    AddWareHouse() {
242
+      this.$refs.AddWareHouse.dialogVisible = true;
243
+    },
244
+    // 删除仓库
245
+    toDelete(val, index) {
246
+      this.$confirm("是否确认删除这条仓库信息?", "删除仓库信息", {
247
+        confirmButtonText: "确 定",
248
+        cancelButtonText: "取 消",
249
+        type: "warning",
250
+      })
251
+        .then(() => {
252
+          this.$message.success("删除成功");
253
+        })
254
+        .catch(() => {});
255
+    },
256
+    // 编辑仓库
257
+    toEdit() {
258
+        this.$refs.AddWareHouse.dialogVisible = true;
259
+    },
260
+    formatJson(filterVal, jsonData) {
261
+      return jsonData.map((v) => filterVal.map((j) => v[j]));
262
+    },
263
+    changeTypeName() {
264
+      this.getlist();
265
+    },
266
+
267
+    //路由跳转 ----- 仓库设置
268
+    toPrint() {
269
+      this.$router.push({ path: "/stock/waresetting" });
270
+    },
271
+
272
+    getTimestamp(time) {
273
+      // 把时间日期转成时间戳
274
+      return new Date(time).getTime() / 1000;
275
+    },
276
+    getDictionaryDataConfig(module, filed_name) {
277
+      return getDictionaryDataConfig(module, filed_name);
278
+    },
279
+    getDataConfig(module, filed_name) {
280
+      return getDataConfig(module, filed_name);
281
+    },
282
+  },
283
+};
284
+</script>
285
+
286
+<style rel="stylesheet/css" lang="scss" scoped>
287
+.information {
288
+  border: 1px #dcdfe6 solid;
289
+  padding: 30px 20px 30px 20px;
290
+
291
+  .border {
292
+    border-bottom: 1px #dcdfe6 solid;
293
+    margin: 0px 0 20px 0;
294
+  }
295
+}
296
+
297
+.title {
298
+  background: #409eff;
299
+  height: 44px;
300
+  line-height: 44px;
301
+  padding: 0 0 0 10px;
302
+  color: #fff;
303
+  margin: 0 0 10px 0;
304
+}
305
+
306
+.edit_separater {
307
+  border-top: 1px solid rgb(233, 233, 233);
308
+  margin-top: 15px;
309
+  margin-bottom: 15px;
310
+}
311
+</style>
312
+
313
+<style>
314
+.sign-and-weigh-box .sign-and-weigh-box-patients .cell {
315
+  font-size: 12px;
316
+}
317
+
318
+.sign-and-weigh-box .sign-and-weigh-box-patients .current-row > td {
319
+  background: #6fb5fa;
320
+}
321
+
322
+.count {
323
+  color: #bd2c00;
324
+}
325
+.el-table td,
326
+.el-table th.is-leaf,
327
+.el-table--border,
328
+.el-table--group {
329
+  border-color: #d0d3da;
330
+}
331
+.el-table--border::after,
332
+.el-table--group::after,
333
+.el-table::before {
334
+  background-color: #d0d3da;
335
+}
336
+</style>

+ 119 - 0
src/xt_pages/stock/warehouseManage/waresetting.vue View File

@@ -0,0 +1,119 @@
1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs="crumbs"></bread-crumb>
5
+
6
+      <el-button type="primary" @click="returnTo">返回</el-button>
7
+    </div>
8
+    <div class="app-container">
9
+      <div class="set-contanin">
10
+        <div class="select-list">
11
+          <div style="line-height: 36px; white-space: nowrap">
12
+            请选择耗材自动入库仓库:
13
+          </div>
14
+          <el-select v-model="value" placeholder="请选择">
15
+            <el-option
16
+              v-for="item in options"
17
+              :key="item.value"
18
+              :label="item.label"
19
+              :value="item.value"
20
+            >
21
+            </el-option>
22
+          </el-select>
23
+        </div>
24
+        <div class="select-list">
25
+          <div style="line-height: 36px; white-space: nowrap">
26
+            请选择耗材自动出库仓库:
27
+          </div>
28
+          <el-select v-model="value" placeholder="请选择">
29
+            <el-option
30
+              v-for="item in options"
31
+              :key="item.value"
32
+              :label="item.label"
33
+              :value="item.value"
34
+            >
35
+            </el-option>
36
+          </el-select>
37
+        </div>
38
+        <div class="select-list">
39
+          <div style="line-height: 36px; white-space: nowrap">
40
+            请选择药品自动入库仓库:
41
+          </div>
42
+          <el-select v-model="value" placeholder="请选择">
43
+            <el-option
44
+              v-for="item in options"
45
+              :key="item.value"
46
+              :label="item.label"
47
+              :value="item.value"
48
+            >
49
+            </el-option>
50
+          </el-select>
51
+        </div>
52
+        <div class="select-list">
53
+          <div style="line-height: 36px; white-space: nowrap">
54
+            请选择药品自动出库仓库:
55
+          </div>
56
+          <el-select v-model="value" placeholder="请选择">
57
+            <el-option
58
+              v-for="item in options"
59
+              :key="item.value"
60
+              :label="item.label"
61
+              :value="item.value"
62
+            >
63
+            </el-option>
64
+          </el-select>
65
+        </div>
66
+      </div>
67
+    </div>
68
+  </div>
69
+</template>
70
+
71
+<script>
72
+import BreadCrumb from "@/xt_pages/components/bread-crumb";
73
+export default {
74
+  components: {
75
+    BreadCrumb,
76
+  },
77
+  data() {
78
+    return {
79
+      crumbs: [
80
+        { path: false, name: "库房管理" },
81
+        { path: false, name: "仓库管理" },
82
+        { path: false, name: "仓库设置" },
83
+      ],
84
+      options:[]
85
+    };
86
+  },
87
+
88
+  created(){
89
+
90
+  },
91
+
92
+  methods:{
93
+      returnTo(){
94
+          this.$router.back(-1)
95
+      }
96
+  }
97
+};
98
+</script>
99
+
100
+<style rel="stylesheet/css" lang="scss" scoped>
101
+.set-contanin {
102
+  width: 30%;
103
+  height: 50%;
104
+  position: absolute;
105
+  top: 0;
106
+  left: 0;
107
+  right: 0;
108
+  bottom: 0;
109
+  /* 横竖都居中 */
110
+  margin: auto;
111
+  .select-list {
112
+    display: flex;
113
+    padding: 10px 0;
114
+  }
115
+}
116
+/deep/ .el-input__inner {
117
+  width: 202px;
118
+}
119
+</style>

+ 10 - 4
src/xt_pages/supply/components/addGoodReturn.vue View File

@@ -824,10 +824,18 @@ export default {
824 824
     },
825 825
   getAllPrice() {
826 826
       var total_price = 0;
827
+      console.log(this.recordInfo.tableList,'this.recordInfo.tableList')
827 828
       for (let i = 0; i < this.recordInfo.tableList.length; i++) {
828
-        total_price += this.recordInfo.tableList[i].supply_price *this.recordInfo.tableList[i].supply_count - (this.recordInfo.tableList[i].supply_price*this.recordInfo.tableList[i].supply_count*(this.recordInfo.tableList[i].deposit_rate/100));
829
+        total_price += 
830
+        this.recordInfo.tableList[i].supply_price*
831
+        this.recordInfo.tableList[i].supply_count - 
832
+        (this.recordInfo.tableList[i].supply_price*
833
+        this.recordInfo.tableList[i].supply_count*
834
+        (this.recordInfo.tableList[i].deposit_rate/100));
835
+        console.log(total_price,'this.total_price')
829 836
       }
830 837
       this.total_price = total_price;
838
+      
831 839
       // this.discount_amount = (this.total_price * this.rate_of_concession * 0.01).toFixed(2);
832 840
       if(total_price > 0){
833 841
         return total_price.toFixed(2);
@@ -892,12 +900,12 @@ export default {
892 900
       var ids = this.$route.query.ids;
893 901
       getGoodOrderDetailList(id,ids).then((response) => {
894 902
         if (response.data.state == 1) {
903
+          console.log(response.data.data.list,'oooresponse.data.data.list')
895 904
           var out = response.data.data.out;
896 905
           this.id = out.id;
897 906
           this.supplier_name = out.supplier_id;
898 907
           this.rate_of_concession = out.rate_of_concession;
899 908
           this.discount_amount = out.discount_amount;
900
-
901 909
           this.start_time = this.getTimes(out.document_date);
902 910
           var orderInfo = response.data.data.list;
903 911
           console.log("orderINFO233232232332", orderInfo);
@@ -977,8 +985,6 @@ export default {
977 985
                   orderInfo[i].unitList[0].name = goodList[j].packing_unit;
978 986
                   orderInfo[i].count =  this.getTotalStockCountSix(orderInfo[i].good_warehouse_info,orderInfo[i].warehouse_out_id)
979 987
                 }
980
-
981
-               
982 988
               }
983 989
               orderInfo[i].sum_count = orderInfo[i].count
984 990
               orderInfo[i].min_number = 0