diff --git a/src/api/warehouse/warehouse-info.js b/src/api/warehouse/warehouse-info.js
new file mode 100644
index 00000000..8ac37edf
--- /dev/null
+++ b/src/api/warehouse/warehouse-info.js
@@ -0,0 +1,75 @@
+/*
+ * @Author: zwq
+ * @Date: 2023-11-02 14:21:18
+ * @LastEditors: zwq
+ * @LastEditTime: 2023-11-02 14:34:29
+ * @Description:
+ */
+import request from '@/utils/request'
+
+// 创建仓库
+export function createWarehouse(data) {
+ return request({
+ url: '/extend/warehouse/create',
+ method: 'post',
+ data: data
+ })
+}
+
+// 更新仓库
+export function updateWarehouse(data) {
+ return request({
+ url: '/extend/warehouse/update',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除仓库
+export function deleteWarehouse(id) {
+ return request({
+ url: '/extend/warehouse/delete?id=' + id,
+ method: 'delete'
+ })
+}
+
+// 获得仓库
+export function getWarehouse(id) {
+ return request({
+ url: '/extend/warehouse/get?id=' + id,
+ method: 'get'
+ })
+}
+
+// 获得仓库列表
+export function getWarehouseList() {
+ return request({
+ url: '/extend/warehouse/listAll',
+ method: 'get'
+ })
+}
+// 获得仓库code
+export function getCode() {
+ return request({
+ url: '/extend/warehouse/getCode',
+ method: 'get'
+ })
+}
+// 获得仓库分页
+export function getWarehousePage(query) {
+ return request({
+ url: '/extend/warehouse/page',
+ method: 'get',
+ params: query
+ })
+}
+
+// 导出仓库 Excel
+export function exportWarehouseExcel(query) {
+ return request({
+ url: '/extend/warehouse/export-excel',
+ method: 'get',
+ params: query,
+ responseType: 'blob'
+ })
+}
diff --git a/src/api/warehouse/warehouseGoods.js b/src/api/warehouse/warehouseGoods.js
new file mode 100644
index 00000000..1eaae6a7
--- /dev/null
+++ b/src/api/warehouse/warehouseGoods.js
@@ -0,0 +1,76 @@
+/*
+ * @Author: zwq
+ * @Date: 2023-11-02 16:20:15
+ * @LastEditors: zwq
+ * @LastEditTime: 2023-11-03 15:26:05
+ * @Description:
+ */
+import request from '@/utils/request'
+
+// 创建物品
+export function createWarehouseGoods(data) {
+ return request({
+ url: '/extend/warehouse-goods/create',
+ method: 'post',
+ data: data
+ })
+}
+
+// 更新物品
+export function updateWarehouseGoods(data) {
+ return request({
+ url: '/extend/warehouse-goods/update',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除物品
+export function deleteWarehouseGoods(id) {
+ return request({
+ url: '/extend/warehouse-goods/delete?id=' + id,
+ method: 'delete'
+ })
+}
+
+// 获得物品
+export function getWarehouseGoods(id) {
+ return request({
+ url: '/extend/warehouse-goods/get?id=' + id,
+ method: 'get'
+ })
+}
+
+// 获得物品列表
+export function getListByType(id) {
+ return request({
+ url: '/extend/warehouse-goods/getListByType?type=' + id,
+ method: 'get'
+ })
+}
+
+// 获得物品分页
+export function getWarehouseGoodsPage(data) {
+ return request({
+ url: '/extend/warehouse-goods/page',
+ method: 'POST',
+ data: data
+ })
+}
+
+// 获得code
+export function getCode() {
+ return request({
+ url: '/extend/warehouse-goods/getCode',
+ method: 'get'
+ })
+}
+// 导出物品 Excel
+export function exportWarehouseGoodsExcel(query) {
+ return request({
+ url: '/extend/warehouse-goods/export-excel',
+ method: 'get',
+ params: query,
+ responseType: 'blob'
+ })
+}
diff --git a/src/api/warehouse/warehouseLocation.js b/src/api/warehouse/warehouseLocation.js
new file mode 100644
index 00000000..f1b41f6c
--- /dev/null
+++ b/src/api/warehouse/warehouseLocation.js
@@ -0,0 +1,97 @@
+/*
+ * @Author: zwq
+ * @Date: 2023-11-02 14:31:42
+ * @LastEditors: zwq
+ * @LastEditTime: 2023-11-04 14:56:10
+ * @Description:
+ */
+import request from '@/utils/request'
+
+// 创建库位
+export function createWarehouseLocation(data) {
+ return request({
+ url: '/extend/warehouse-location/create',
+ method: 'post',
+ data: data
+ })
+}
+
+// 更新库位
+export function updateWarehouseLocation(data) {
+ return request({
+ url: '/extend/warehouse-location/update',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除库位
+export function deleteWarehouseLocation(id) {
+ return request({
+ url: '/extend/warehouse-location/delete?id=' + id,
+ method: 'delete'
+ })
+}
+
+// 获得库位
+export function getWarehouseLocation(id) {
+ return request({
+ url: '/extend/warehouse-location/get?id=' + id,
+ method: 'get'
+ })
+}
+// 获得库位列表(通过仓库id)
+export function listByWarehouse(id) {
+ return request({
+ url: '/extend/warehouse-location/listByWarehouse?warehouseId=' + id,
+ method: 'get'
+ })
+}
+// 获得库位列表(All)
+export function listAll() {
+ return request({
+ url: '/extend/warehouse-location/listAll',
+ method: 'get'
+ })
+}
+// 获得库位code
+export function getCode() {
+ return request({
+ url: '/extend/warehouse-location/getCode',
+ method: 'get'
+ })
+}
+// 获得库位分页
+export function getWarehouseLocationPage(data) {
+ return request({
+ url: '/extend/warehouse-location/page',
+ method: 'POST',
+ data: data
+ })
+}
+// 获得库存总览数据
+export function getOverview(data) {
+ return request({
+ url: '/extend/warehouse-monitoring/getOverview',
+ method: 'POST',
+ data: data
+ })
+}
+// 获得库位占用率数据
+export function getRate(data) {
+ return request({
+ url: '/extend/warehouse-monitoring/getRate',
+ method: 'POST',
+ data: data
+ })
+}
+
+// 导出库位 Excel
+export function exportWarehouseLocationExcel(query) {
+ return request({
+ url: '/extend/warehouse-location/export-excel',
+ method: 'get',
+ params: query,
+ responseType: 'blob'
+ })
+}
diff --git a/src/api/warehouse/warehouseRealtime.js b/src/api/warehouse/warehouseRealtime.js
new file mode 100644
index 00000000..4ce73e64
--- /dev/null
+++ b/src/api/warehouse/warehouseRealtime.js
@@ -0,0 +1,83 @@
+import request from '@/utils/request'
+
+// 创建出入库-无库位-入库
+export function createWarehouseRealtime(data) {
+ return request({
+ url: '/extend/warehouse-realtime/create',
+ method: 'post',
+ data: data
+ })
+}
+// 创建出入库-无库位-出库
+export function outWarehouseRealtime(data) {
+ return request({
+ url: '/extend/warehouse-realtime/out',
+ method: 'post',
+ data: data
+ })
+}
+// 更新出入库-无库位
+export function updateWarehouseRealtime(data) {
+ return request({
+ url: '/extend/warehouse-realtime/update',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除出入库-无库位
+export function deleteWarehouseRealtime(id) {
+ return request({
+ url: '/extend/warehouse-realtime/delete?id=' + id,
+ method: 'delete'
+ })
+}
+
+// 获得出入库-无库位
+export function getWarehouseRealtime(id) {
+ return request({
+ url: '/extend/warehouse-realtime/get?id=' + id,
+ method: 'get'
+ })
+}
+// 获得出入库-无库位-展开详情
+export function getWarehouseRealtimeDet(id) {
+ return request({
+ url: '/extend/warehouse-realtime/getDet?id=' + id,
+ method: 'get'
+ })
+}
+// 获得出入库-无库位-批次列表
+export function getBatchList(id) {
+ return request({
+ url: '/extend/warehouse-realtime/getBatchList?id=' + id,
+ method: 'get'
+ })
+}
+// 获得出入库-无库位分页
+export function getWarehouseRealtimePage(data) {
+ return request({
+ url: '/extend/warehouse-realtime/page',
+ method: 'post',
+ data: data
+ })
+}
+
+// 获得出入库-无库位-历史分页
+export function getWarehouseRealtimeHisPage(data) {
+ return request({
+ url: '/extend/warehouse-his/page',
+ method: 'post',
+ data: data
+ })
+}
+
+// 导出出入库-无库位 Excel
+export function exportWarehouseRealtimeExcel(query) {
+ return request({
+ url: '/extend/warehouse-realtime/export-excel',
+ method: 'get',
+ params: query,
+ responseType: 'blob'
+ })
+}
diff --git a/src/api/warehouse/warehouseRealtimeLocation.js b/src/api/warehouse/warehouseRealtimeLocation.js
new file mode 100644
index 00000000..af525c30
--- /dev/null
+++ b/src/api/warehouse/warehouseRealtimeLocation.js
@@ -0,0 +1,85 @@
+import request from '@/utils/request'
+
+// 创建出入库-有库位
+export function createWarehouseRealtimeLocation(data) {
+ return request({
+ url: '/extend/warehouse-realtime-location/create',
+ method: 'post',
+ data: data
+ })
+}
+
+// 更新出入库-有库位
+export function updateWarehouseRealtimeLocation(data) {
+ return request({
+ url: '/extend/warehouse-realtime-location/update',
+ method: 'put',
+ data: data
+ })
+}
+// 出入库-有库位 > 出库操作
+export function outWarehouseRealtimeLocation(data) {
+ return request({
+ url: '/extend/warehouse-realtime-location/out',
+ method: 'post',
+ data: data
+ })
+}
+
+// 出入库-有库位 > 入库操作
+export function inWarehouseRealtimeLocation(data) {
+ return request({
+ url: '/extend/warehouse-realtime-location/in',
+ method: 'post',
+ data: data
+ })
+}
+
+// 删除出入库-有库位
+export function deleteWarehouseRealtimeLocation(id) {
+ return request({
+ url: '/extend/warehouse-realtime-location/delete?id=' + id,
+ method: 'delete'
+ })
+}
+
+// 获得出入库-有库位
+export function getWarehouseRealtimeLocation(id) {
+ return request({
+ url: '/extend/warehouse-realtime-location/get?id=' + id,
+ method: 'get'
+ })
+}
+// 获得出入库历史-有库位详情列表
+export function getWarehouseLocationHisDet(id) {
+ return request({
+ url: '/extend/warehouse-location-his-det/list?hisId=' + id,
+ method: 'get'
+ })
+}
+// 获得出入库-有库位分页
+export function getWarehouseRealtimeLocationPage(data) {
+ return request({
+ url: '/extend/warehouse-realtime-location/page',
+ method: 'post',
+ data: data
+ })
+}
+// 获得出入库历史-有库位分页
+export function getWarehouseLocationHisPage(data) {
+ return request({
+ url: '/extend/warehouse-location-his/page',
+ method: 'post',
+ data: data
+ })
+}
+
+// 导出出入库-有库位 Excel
+export function exportWarehouseRealtimeLocationExcel(query) {
+ return request({
+ url: '/extend/warehouse-realtime-location/export-excel',
+ method: 'get',
+ params: query,
+ responseType: 'blob'
+ })
+}
diff --git a/src/views/warehouse/chart/BarChart.vue b/src/views/warehouse/chart/BarChart.vue
new file mode 100644
index 00000000..f3e66592
--- /dev/null
+++ b/src/views/warehouse/chart/BarChart.vue
@@ -0,0 +1,196 @@
+
+
+
+
+
diff --git a/src/views/warehouse/chart/PieChart.vue b/src/views/warehouse/chart/PieChart.vue
new file mode 100644
index 00000000..28526e0c
--- /dev/null
+++ b/src/views/warehouse/chart/PieChart.vue
@@ -0,0 +1,173 @@
+
+
+
+
+
diff --git a/src/views/warehouse/end-material/InventoryOverview/index.vue b/src/views/warehouse/end-material/InventoryOverview/index.vue
new file mode 100644
index 00000000..5d34cee9
--- /dev/null
+++ b/src/views/warehouse/end-material/InventoryOverview/index.vue
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/end-material/warehouseGoods/add-or-updata.vue b/src/views/warehouse/end-material/warehouseGoods/add-or-updata.vue
new file mode 100644
index 00000000..1087257d
--- /dev/null
+++ b/src/views/warehouse/end-material/warehouseGoods/add-or-updata.vue
@@ -0,0 +1,156 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/end-material/warehouseGoods/index.vue b/src/views/warehouse/end-material/warehouseGoods/index.vue
new file mode 100644
index 00000000..26c67256
--- /dev/null
+++ b/src/views/warehouse/end-material/warehouseGoods/index.vue
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/end-material/warehouseHis/index.vue b/src/views/warehouse/end-material/warehouseHis/index.vue
new file mode 100644
index 00000000..09469314
--- /dev/null
+++ b/src/views/warehouse/end-material/warehouseHis/index.vue
@@ -0,0 +1,192 @@
+
+
+
+
+
+
diff --git a/src/views/warehouse/end-material/warehouseLocationHis/add-or-updata.vue b/src/views/warehouse/end-material/warehouseLocationHis/add-or-updata.vue
new file mode 100644
index 00000000..33b3db33
--- /dev/null
+++ b/src/views/warehouse/end-material/warehouseLocationHis/add-or-updata.vue
@@ -0,0 +1,82 @@
+
+
+
+
+
+
diff --git a/src/views/warehouse/end-material/warehouseLocationHis/index.vue b/src/views/warehouse/end-material/warehouseLocationHis/index.vue
new file mode 100644
index 00000000..cae9ad5f
--- /dev/null
+++ b/src/views/warehouse/end-material/warehouseLocationHis/index.vue
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/end-material/warehouseLocationMonitoring/index.vue b/src/views/warehouse/end-material/warehouseLocationMonitoring/index.vue
new file mode 100644
index 00000000..0de9b949
--- /dev/null
+++ b/src/views/warehouse/end-material/warehouseLocationMonitoring/index.vue
@@ -0,0 +1,221 @@
+
+
+
+
+
+ 缓存
+ 活动
+ 其它
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/end-material/warehouseRealtime/add-or-updata.vue b/src/views/warehouse/end-material/warehouseRealtime/add-or-updata.vue
new file mode 100644
index 00000000..e7112471
--- /dev/null
+++ b/src/views/warehouse/end-material/warehouseRealtime/add-or-updata.vue
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/end-material/warehouseRealtime/index.vue b/src/views/warehouse/end-material/warehouseRealtime/index.vue
new file mode 100644
index 00000000..9549f2b7
--- /dev/null
+++ b/src/views/warehouse/end-material/warehouseRealtime/index.vue
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.latestInTime) }}
+
+
+
+
+ {{ parseTime(scope.row.latestOutTime) }}
+
+
+
+
+
+ 出库
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/end-material/warehouseRealtime/product-mini.vue b/src/views/warehouse/end-material/warehouseRealtime/product-mini.vue
new file mode 100644
index 00000000..17f086c0
--- /dev/null
+++ b/src/views/warehouse/end-material/warehouseRealtime/product-mini.vue
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/end-material/warehouseRealtimeLocation/SmallTitle.vue b/src/views/warehouse/end-material/warehouseRealtimeLocation/SmallTitle.vue
new file mode 100644
index 00000000..93b4a18f
--- /dev/null
+++ b/src/views/warehouse/end-material/warehouseRealtimeLocation/SmallTitle.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/end-material/warehouseRealtimeLocation/add-or-updata.vue b/src/views/warehouse/end-material/warehouseRealtimeLocation/add-or-updata.vue
new file mode 100644
index 00000000..8f86afdb
--- /dev/null
+++ b/src/views/warehouse/end-material/warehouseRealtimeLocation/add-or-updata.vue
@@ -0,0 +1,93 @@
+
+
+
+
+
+
diff --git a/src/views/warehouse/end-material/warehouseRealtimeLocation/attr-add.vue b/src/views/warehouse/end-material/warehouseRealtimeLocation/attr-add.vue
new file mode 100644
index 00000000..272a3538
--- /dev/null
+++ b/src/views/warehouse/end-material/warehouseRealtimeLocation/attr-add.vue
@@ -0,0 +1,122 @@
+
+
+
+
+
+ 新增产品
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/end-material/warehouseRealtimeLocation/drawer.vue b/src/views/warehouse/end-material/warehouseRealtimeLocation/drawer.vue
new file mode 100644
index 00000000..1c97c5ce
--- /dev/null
+++ b/src/views/warehouse/end-material/warehouseRealtimeLocation/drawer.vue
@@ -0,0 +1,317 @@
+
+
+ 库位信息
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 产品信息
+
+
+
+
+
+
+
+
+
+
+
+
+ 返回
+
+ 入库
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/end-material/warehouseRealtimeLocation/index.vue b/src/views/warehouse/end-material/warehouseRealtimeLocation/index.vue
new file mode 100644
index 00000000..b8c25086
--- /dev/null
+++ b/src/views/warehouse/end-material/warehouseRealtimeLocation/index.vue
@@ -0,0 +1,279 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/mixins/basic-add.js b/src/views/warehouse/mixins/basic-add.js
new file mode 100644
index 00000000..7538902f
--- /dev/null
+++ b/src/views/warehouse/mixins/basic-add.js
@@ -0,0 +1,121 @@
+/*
+ * @Author: zwq
+ * @Date: 2022-08-24 11:19:43
+ * @LastEditors: zwq
+ * @LastEditTime: 2023-11-02 15:33:39
+ * @Description:
+ */
+import { listData } from "@/api/system/dict/data";
+export default {
+ data() {
+ /* eslint-disable */
+ return {
+ urlOptions: {
+ createURL: '',
+ updateURL: '',
+ infoURL: '',
+ codeURL: '',
+ getOption: false, //是否加载获取下拉框方法
+ isGetCode: false, //是否加载获取code方法
+ getDictList: false, //是否加载获取数据字典方法
+ optionArrUrl: [], //需要获取下拉框的方法数组
+ optionArr: {}, //需要获取下拉框的方法数组的返回结果
+ dictList: {}, //需要获取数据字典的方法数组的返回结果
+ },
+ visible: false,
+ setData: false
+ }
+ },
+ created() {
+ },
+ activated() {
+ },
+ methods: {
+ init(id) {
+ this.dataForm.id = id || "";
+ this.visible = true;
+ if (this.urlOptions.getOption) {
+ this.getArr()
+ }
+ if (this.urlOptions.getDictList) {
+ this.getDict()
+ }
+ this.$nextTick(() => {
+ this.$refs["dataForm"].resetFields();
+ if (this.dataForm.id) {
+ this.urlOptions.infoURL(id).then(response => {
+ this.dataForm = response.data;
+ if (this.setData) {
+ this.setDataForm()
+ }
+ });
+ } else {
+ if (this.urlOptions.isGetCode) {
+ this.getCode()
+ }
+ }
+ });
+ },
+ getCode() {
+ this.urlOptions.codeURL()
+ .then(({ data: res }) => {
+ this.dataForm.code = res;
+ })
+ .catch(() => {});
+ },
+ getArr() {
+ const params = {
+ pageSize: 100,
+ pageNo: 1,
+ }
+ this.urlOptions.optionArrUrl.forEach((item, index) => {
+ item(params).then(({ data: res }) => {
+ this.$set(this.urlOptions.optionArr, `arr${index}`, res.list)
+ })
+ .catch(() => {
+ });
+ });
+ },
+ /** 查询字典数据列表 */
+ getDict() {
+ this.nameList.forEach((item,index)=>{
+ const queryParams = {
+ pageNo: 1,
+ pageSize: 99,
+ dictType: item,
+ }
+ listData(queryParams).then(response => {
+ this.$set(this.urlOptions.dictList, `dict${index}`, response.data.list)
+ });
+ })
+ },
+ // 表单提交
+ dataFormSubmit() {
+ this.$refs["dataForm"].validate((valid) => {
+ if (!valid) {
+ return false;
+ }
+ // 修改的提交
+ if (this.dataForm.id) {
+ this.urlOptions.updateURL(this.dataForm).then(response => {
+ this.$modal.msgSuccess("修改成功");
+ this.visible = false;
+ this.$emit("refreshDataList");
+ });
+ return;
+ }
+ // 添加的提交
+ this.urlOptions.createURL(this.dataForm).then(response => {
+ this.$modal.msgSuccess("新增成功");
+ this.visible = false;
+ this.$emit("refreshDataList");
+ });
+ });
+ },
+ formClear() {
+ if (this.$refs.dataForm!==undefined) {
+ this.$refs.dataForm.resetFields();
+ }
+ }
+ }
+}
diff --git a/src/views/warehouse/mixins/basic-page.js b/src/views/warehouse/mixins/basic-page.js
new file mode 100644
index 00000000..86d05471
--- /dev/null
+++ b/src/views/warehouse/mixins/basic-page.js
@@ -0,0 +1,170 @@
+/*
+ * @Author: zwq
+ * @Date: 2022-08-24 11:19:43
+ * @LastEditors: zwq
+ * @LastEditTime: 2023-11-03 16:06:21
+ * @Description:
+ */
+export default {
+ data() {
+ /* eslint-disable */
+ return {
+ urlOptions: {
+ getDataListURL: '',
+ deleteURL: '',
+ statusUrl: '',
+ exportURL: ''
+ },
+ tableData: [],
+ listQuery: {
+ pageSize: 10,
+ pageNo: 1,
+ total: 1,
+ },
+ exportLoading: false,
+ dataListLoading: false,
+ addOrEditTitle: '',
+ addOrUpdateVisible: false,
+ addOrUpdate:'addOrUpdate'
+ }
+ },
+ created() {
+ },
+ mounted() {
+ this.getDataList()
+ },
+ methods: {
+ // 获取数据列表
+ getDataList() {
+ this.dataListLoading = true;
+ this.urlOptions.getDataListURL(this.listQuery).then(response => {
+ this.tableData = response.data.list;
+ this.listQuery.total = response.data.total;
+ this.dataListLoading = false;
+ });
+ },
+ // 每页数
+ sizeChangeHandle(val) {
+ this.listQuery.pageSize = val;
+ this.listQuery.pageNo = 1;
+ this.getDataList();
+ },
+ // 当前页
+ currentChangeHandle(val) {
+ this.listQuery.pageNo = val;
+ this.getDataList();
+ },
+ // 新增 / 修改
+ addOrUpdateHandle(id) {
+ this.addOrUpdateVisible = true;
+ this.$nextTick(() => {
+ this.$refs.addOrUpdate.init(id);
+ });
+ },
+ cancel(id) {
+ this.$refs["popover-" + id].showPopper = false;
+ },
+ //改变状态
+ changeStatus(id) {
+ this.$http
+ .post(this.urlOptions.statusUrl, { id })
+ .then(({ data: res }) => {
+ if (res.code !== 0) {
+ return this.$message.error(res.msg);
+ }
+ this.$refs["popover-" + id].showPopper = false;
+ this.$message({
+ message: this.$t("prompt.success"),
+ type: "success",
+ duration: 500,
+ onClose: () => {
+ this.getDataList();
+ },
+ });
+ })
+ .catch(() => { });
+ },
+ //tableBtn点击
+ handleClick(val) {
+ if (val.type === "edit") {
+ this.addOrUpdateVisible = true;
+ this.addOrEditTitle = "编辑";
+ this.$nextTick(() => {
+ this.$refs.addOrUpdate.init(val.data.id);
+ });
+ } else if (val.type === "delete") {
+ this.deleteHandle(val.data.id, val.data.name, val.data._pageIndex)
+ } else if (val.type === "change") {
+ this.changeStatus(val.data.id)
+ } else {
+ this.otherMethods(val)
+ }
+ },
+ // 删除
+ deleteHandle(id, name, index) {
+ this.$confirm(`确定对${name ? '[名称=' + name + ']' : '[序号=' + index + ']'}进行删除操作?`, "提示", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ this.urlOptions.deleteURL(id).then(({ data }) => {
+ this.$message({
+ message: "操作成功",
+ type: "success",
+ duration: 1500,
+ onClose: () => {
+ this.getDataList();
+ },
+ });
+ });
+ })
+ .catch(() => { });
+ },
+ //search-bar点击
+ buttonClick(val) {
+ switch (val.btnName) {
+ case "search":
+ this.listQuery.xm1 = val.xm1;
+ this.listQuery.xm2 = val.xm2;
+ this.listQuery.pageNo = 1;
+ this.getDataList();
+ break;
+ case "add":
+ this.addOrEditTitle = '新增'
+ this.addOrUpdateVisible = true;
+ this.addOrUpdateHandle()
+ break;
+ default:
+ console.log(val)
+ }
+ },
+ handleCancel() {
+ this.$refs[this.addOrUpdate].formClear()
+ this.addOrUpdateVisible = false
+ this.addOrEditTitle = ''
+ this.addOrUpdate = 'addOrUpdate'
+ },
+ handleConfirm() {
+ this.$refs[this.addOrUpdate].dataFormSubmit()
+ },
+ successSubmit() {
+ this.handleCancel()
+ this.getDataList()
+ },
+ /** 导出按钮操作 */
+ handleExport() {
+ // 处理查询参数
+ let params = { ...this.queryParams };
+ params.pageNo = undefined;
+ params.pageSize = undefined;
+ this.$modal.confirm('是否确认导出所有数据项?').then(() => {
+ this.exportLoading = true;
+ return this.urlOptions.exportURL(params);
+ }).then(response => {
+ this.$download.excel(response, '报表.xls');
+ this.exportLoading = false;
+ }).catch(() => { });
+ }
+ }
+}
diff --git a/src/views/warehouse/mixins/code-filter.js b/src/views/warehouse/mixins/code-filter.js
new file mode 100644
index 00000000..cce619ee
--- /dev/null
+++ b/src/views/warehouse/mixins/code-filter.js
@@ -0,0 +1,73 @@
+
+/*
+ * @Date: 2020-12-29 16:49:28
+ * @LastEditors: zwq
+ * @LastEditTime: 2023-10-24 16:30:25
+ * @FilePath: \basic-admin\src\filters\basicData\index.js
+ * @Description:
+ */
+
+const table = {
+ lineStatus: {
+ 1: '生产中',
+ 2: '停止',
+ 3: '未知',
+ },
+ deactivate: {
+ 1: '启用',
+ 0: '停用',
+ },
+ wareType: {
+ 1: '缓存',
+ 2: '活动',
+ 3: '其它',
+ },
+}
+
+// 日期格式化
+export function parseTime(time, pattern) {
+ if (arguments.length === 0 || !time) {
+ return null
+ }
+ const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}'
+ let date
+ if (typeof time === 'object') {
+ date = time
+ } else {
+ if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
+ time = parseInt(time)
+ } else if (typeof time === 'string') {
+ time = time.replace(new RegExp(/-/gm), '/').replace('T', ' ').replace(new RegExp(/\.\d{3}/gm),'');
+ }
+ if ((typeof time === 'number') && (time.toString().length === 10)) {
+ time = time * 1000
+ }
+ date = new Date(time)
+ }
+ const formatObj = {
+ y: date.getFullYear(),
+ m: date.getMonth() + 1,
+ d: date.getDate(),
+ h: date.getHours(),
+ i: date.getMinutes(),
+ s: date.getSeconds(),
+ a: date.getDay()
+ }
+ const time_str = format.replace(/{([ymdhisa])+}/g, (result, key) => {
+ let value = formatObj[key]
+ // Note: getDay() returns 0 on Sunday
+ if (key === 'a') {
+ return ['日', '一', '二', '三', '四', '五', '六'][value]
+ }
+ if (result.length > 0 && value < 10) {
+ value = '0' + value
+ }
+ return value || 0
+ })
+ return time_str
+}
+export default function (dictTable) {
+ return function (val) {
+ return table?.[dictTable]?.[val]
+ }
+}
diff --git a/src/views/warehouse/mixins/inputArea.vue b/src/views/warehouse/mixins/inputArea.vue
new file mode 100644
index 00000000..9ede1bea
--- /dev/null
+++ b/src/views/warehouse/mixins/inputArea.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/mixins/selectQuality.vue b/src/views/warehouse/mixins/selectQuality.vue
new file mode 100644
index 00000000..ec415d19
--- /dev/null
+++ b/src/views/warehouse/mixins/selectQuality.vue
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/out-material/InventoryOverview/index.vue b/src/views/warehouse/out-material/InventoryOverview/index.vue
new file mode 100644
index 00000000..e79fcec2
--- /dev/null
+++ b/src/views/warehouse/out-material/InventoryOverview/index.vue
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/out-material/warehouseGoods/add-or-updata.vue b/src/views/warehouse/out-material/warehouseGoods/add-or-updata.vue
new file mode 100644
index 00000000..1087257d
--- /dev/null
+++ b/src/views/warehouse/out-material/warehouseGoods/add-or-updata.vue
@@ -0,0 +1,156 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/out-material/warehouseGoods/index.vue b/src/views/warehouse/out-material/warehouseGoods/index.vue
new file mode 100644
index 00000000..eff5eb31
--- /dev/null
+++ b/src/views/warehouse/out-material/warehouseGoods/index.vue
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/out-material/warehouseHis/index.vue b/src/views/warehouse/out-material/warehouseHis/index.vue
new file mode 100644
index 00000000..514989cd
--- /dev/null
+++ b/src/views/warehouse/out-material/warehouseHis/index.vue
@@ -0,0 +1,192 @@
+
+
+
+
+
+
diff --git a/src/views/warehouse/out-material/warehouseLocationHis/add-or-updata.vue b/src/views/warehouse/out-material/warehouseLocationHis/add-or-updata.vue
new file mode 100644
index 00000000..33b3db33
--- /dev/null
+++ b/src/views/warehouse/out-material/warehouseLocationHis/add-or-updata.vue
@@ -0,0 +1,82 @@
+
+
+
+
+
+
diff --git a/src/views/warehouse/out-material/warehouseLocationHis/index.vue b/src/views/warehouse/out-material/warehouseLocationHis/index.vue
new file mode 100644
index 00000000..26393d0f
--- /dev/null
+++ b/src/views/warehouse/out-material/warehouseLocationHis/index.vue
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/out-material/warehouseLocationMonitoring/index.vue b/src/views/warehouse/out-material/warehouseLocationMonitoring/index.vue
new file mode 100644
index 00000000..0de9b949
--- /dev/null
+++ b/src/views/warehouse/out-material/warehouseLocationMonitoring/index.vue
@@ -0,0 +1,221 @@
+
+
+
+
+
+ 缓存
+ 活动
+ 其它
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/out-material/warehouseRealtime/add-or-updata.vue b/src/views/warehouse/out-material/warehouseRealtime/add-or-updata.vue
new file mode 100644
index 00000000..1d5ac276
--- /dev/null
+++ b/src/views/warehouse/out-material/warehouseRealtime/add-or-updata.vue
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/out-material/warehouseRealtime/index.vue b/src/views/warehouse/out-material/warehouseRealtime/index.vue
new file mode 100644
index 00000000..e5ddc46f
--- /dev/null
+++ b/src/views/warehouse/out-material/warehouseRealtime/index.vue
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.latestInTime) }}
+
+
+
+
+ {{ parseTime(scope.row.latestOutTime) }}
+
+
+
+
+
+ 出库
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/out-material/warehouseRealtime/product-mini.vue b/src/views/warehouse/out-material/warehouseRealtime/product-mini.vue
new file mode 100644
index 00000000..17f086c0
--- /dev/null
+++ b/src/views/warehouse/out-material/warehouseRealtime/product-mini.vue
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/out-material/warehouseRealtimeLocation/SmallTitle.vue b/src/views/warehouse/out-material/warehouseRealtimeLocation/SmallTitle.vue
new file mode 100644
index 00000000..93b4a18f
--- /dev/null
+++ b/src/views/warehouse/out-material/warehouseRealtimeLocation/SmallTitle.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/out-material/warehouseRealtimeLocation/add-or-updata.vue b/src/views/warehouse/out-material/warehouseRealtimeLocation/add-or-updata.vue
new file mode 100644
index 00000000..8f86afdb
--- /dev/null
+++ b/src/views/warehouse/out-material/warehouseRealtimeLocation/add-or-updata.vue
@@ -0,0 +1,93 @@
+
+
+
+
+
+
diff --git a/src/views/warehouse/out-material/warehouseRealtimeLocation/attr-add.vue b/src/views/warehouse/out-material/warehouseRealtimeLocation/attr-add.vue
new file mode 100644
index 00000000..632164df
--- /dev/null
+++ b/src/views/warehouse/out-material/warehouseRealtimeLocation/attr-add.vue
@@ -0,0 +1,122 @@
+
+
+
+
+
+ 新增产品
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/out-material/warehouseRealtimeLocation/drawer.vue b/src/views/warehouse/out-material/warehouseRealtimeLocation/drawer.vue
new file mode 100644
index 00000000..1c97c5ce
--- /dev/null
+++ b/src/views/warehouse/out-material/warehouseRealtimeLocation/drawer.vue
@@ -0,0 +1,317 @@
+
+
+ 库位信息
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 产品信息
+
+
+
+
+
+
+
+
+
+
+
+
+ 返回
+
+ 入库
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/out-material/warehouseRealtimeLocation/index.vue b/src/views/warehouse/out-material/warehouseRealtimeLocation/index.vue
new file mode 100644
index 00000000..3767feaa
--- /dev/null
+++ b/src/views/warehouse/out-material/warehouseRealtimeLocation/index.vue
@@ -0,0 +1,279 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/package-material/InventoryOverview/index.vue b/src/views/warehouse/package-material/InventoryOverview/index.vue
new file mode 100644
index 00000000..b9ab67ff
--- /dev/null
+++ b/src/views/warehouse/package-material/InventoryOverview/index.vue
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/package-material/warehouseGoods/add-or-updata.vue b/src/views/warehouse/package-material/warehouseGoods/add-or-updata.vue
new file mode 100644
index 00000000..1087257d
--- /dev/null
+++ b/src/views/warehouse/package-material/warehouseGoods/add-or-updata.vue
@@ -0,0 +1,156 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/package-material/warehouseGoods/index.vue b/src/views/warehouse/package-material/warehouseGoods/index.vue
new file mode 100644
index 00000000..a9e29277
--- /dev/null
+++ b/src/views/warehouse/package-material/warehouseGoods/index.vue
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/package-material/warehouseHis/index.vue b/src/views/warehouse/package-material/warehouseHis/index.vue
new file mode 100644
index 00000000..bec27691
--- /dev/null
+++ b/src/views/warehouse/package-material/warehouseHis/index.vue
@@ -0,0 +1,192 @@
+
+
+
+
+
+
diff --git a/src/views/warehouse/package-material/warehouseLocationHis/add-or-updata.vue b/src/views/warehouse/package-material/warehouseLocationHis/add-or-updata.vue
new file mode 100644
index 00000000..33b3db33
--- /dev/null
+++ b/src/views/warehouse/package-material/warehouseLocationHis/add-or-updata.vue
@@ -0,0 +1,82 @@
+
+
+
+
+
+
diff --git a/src/views/warehouse/package-material/warehouseLocationHis/index.vue b/src/views/warehouse/package-material/warehouseLocationHis/index.vue
new file mode 100644
index 00000000..0ee669da
--- /dev/null
+++ b/src/views/warehouse/package-material/warehouseLocationHis/index.vue
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/package-material/warehouseLocationMonitoring/index.vue b/src/views/warehouse/package-material/warehouseLocationMonitoring/index.vue
new file mode 100644
index 00000000..0de9b949
--- /dev/null
+++ b/src/views/warehouse/package-material/warehouseLocationMonitoring/index.vue
@@ -0,0 +1,221 @@
+
+
+
+
+
+ 缓存
+ 活动
+ 其它
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/package-material/warehouseRealtime/add-or-updata.vue b/src/views/warehouse/package-material/warehouseRealtime/add-or-updata.vue
new file mode 100644
index 00000000..c9e942c5
--- /dev/null
+++ b/src/views/warehouse/package-material/warehouseRealtime/add-or-updata.vue
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/package-material/warehouseRealtime/index.vue b/src/views/warehouse/package-material/warehouseRealtime/index.vue
new file mode 100644
index 00000000..835b5920
--- /dev/null
+++ b/src/views/warehouse/package-material/warehouseRealtime/index.vue
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.latestInTime) }}
+
+
+
+
+ {{ parseTime(scope.row.latestOutTime) }}
+
+
+
+
+
+ 出库
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/package-material/warehouseRealtime/product-mini.vue b/src/views/warehouse/package-material/warehouseRealtime/product-mini.vue
new file mode 100644
index 00000000..17f086c0
--- /dev/null
+++ b/src/views/warehouse/package-material/warehouseRealtime/product-mini.vue
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/package-material/warehouseRealtimeLocation/SmallTitle.vue b/src/views/warehouse/package-material/warehouseRealtimeLocation/SmallTitle.vue
new file mode 100644
index 00000000..93b4a18f
--- /dev/null
+++ b/src/views/warehouse/package-material/warehouseRealtimeLocation/SmallTitle.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/package-material/warehouseRealtimeLocation/add-or-updata.vue b/src/views/warehouse/package-material/warehouseRealtimeLocation/add-or-updata.vue
new file mode 100644
index 00000000..8f86afdb
--- /dev/null
+++ b/src/views/warehouse/package-material/warehouseRealtimeLocation/add-or-updata.vue
@@ -0,0 +1,93 @@
+
+
+
+
+
+
diff --git a/src/views/warehouse/package-material/warehouseRealtimeLocation/attr-add.vue b/src/views/warehouse/package-material/warehouseRealtimeLocation/attr-add.vue
new file mode 100644
index 00000000..3527641c
--- /dev/null
+++ b/src/views/warehouse/package-material/warehouseRealtimeLocation/attr-add.vue
@@ -0,0 +1,122 @@
+
+
+
+
+
+ 新增产品
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/package-material/warehouseRealtimeLocation/drawer.vue b/src/views/warehouse/package-material/warehouseRealtimeLocation/drawer.vue
new file mode 100644
index 00000000..1c97c5ce
--- /dev/null
+++ b/src/views/warehouse/package-material/warehouseRealtimeLocation/drawer.vue
@@ -0,0 +1,317 @@
+
+
+ 库位信息
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 产品信息
+
+
+
+
+
+
+
+
+
+
+
+
+ 返回
+
+ 入库
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/package-material/warehouseRealtimeLocation/index.vue b/src/views/warehouse/package-material/warehouseRealtimeLocation/index.vue
new file mode 100644
index 00000000..f7889025
--- /dev/null
+++ b/src/views/warehouse/package-material/warehouseRealtimeLocation/index.vue
@@ -0,0 +1,279 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/part-material/InventoryOverview/index.vue b/src/views/warehouse/part-material/InventoryOverview/index.vue
new file mode 100644
index 00000000..ec1c54ab
--- /dev/null
+++ b/src/views/warehouse/part-material/InventoryOverview/index.vue
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/part-material/warehouseGoods/add-or-updata.vue b/src/views/warehouse/part-material/warehouseGoods/add-or-updata.vue
new file mode 100644
index 00000000..1087257d
--- /dev/null
+++ b/src/views/warehouse/part-material/warehouseGoods/add-or-updata.vue
@@ -0,0 +1,156 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/part-material/warehouseGoods/index.vue b/src/views/warehouse/part-material/warehouseGoods/index.vue
new file mode 100644
index 00000000..742f9577
--- /dev/null
+++ b/src/views/warehouse/part-material/warehouseGoods/index.vue
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/part-material/warehouseHis/index.vue b/src/views/warehouse/part-material/warehouseHis/index.vue
new file mode 100644
index 00000000..515b5549
--- /dev/null
+++ b/src/views/warehouse/part-material/warehouseHis/index.vue
@@ -0,0 +1,192 @@
+
+
+
+
+
+
diff --git a/src/views/warehouse/part-material/warehouseLocationHis/add-or-updata.vue b/src/views/warehouse/part-material/warehouseLocationHis/add-or-updata.vue
new file mode 100644
index 00000000..33b3db33
--- /dev/null
+++ b/src/views/warehouse/part-material/warehouseLocationHis/add-or-updata.vue
@@ -0,0 +1,82 @@
+
+
+
+
+
+
diff --git a/src/views/warehouse/part-material/warehouseLocationHis/index.vue b/src/views/warehouse/part-material/warehouseLocationHis/index.vue
new file mode 100644
index 00000000..a6109207
--- /dev/null
+++ b/src/views/warehouse/part-material/warehouseLocationHis/index.vue
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/part-material/warehouseLocationMonitoring/index.vue b/src/views/warehouse/part-material/warehouseLocationMonitoring/index.vue
new file mode 100644
index 00000000..0de9b949
--- /dev/null
+++ b/src/views/warehouse/part-material/warehouseLocationMonitoring/index.vue
@@ -0,0 +1,221 @@
+
+
+
+
+
+ 缓存
+ 活动
+ 其它
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/part-material/warehouseRealtime/add-or-updata.vue b/src/views/warehouse/part-material/warehouseRealtime/add-or-updata.vue
new file mode 100644
index 00000000..e09d89fa
--- /dev/null
+++ b/src/views/warehouse/part-material/warehouseRealtime/add-or-updata.vue
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/part-material/warehouseRealtime/index.vue b/src/views/warehouse/part-material/warehouseRealtime/index.vue
new file mode 100644
index 00000000..a68f7ff1
--- /dev/null
+++ b/src/views/warehouse/part-material/warehouseRealtime/index.vue
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.latestInTime) }}
+
+
+
+
+ {{ parseTime(scope.row.latestOutTime) }}
+
+
+
+
+
+ 出库
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/part-material/warehouseRealtime/product-mini.vue b/src/views/warehouse/part-material/warehouseRealtime/product-mini.vue
new file mode 100644
index 00000000..17f086c0
--- /dev/null
+++ b/src/views/warehouse/part-material/warehouseRealtime/product-mini.vue
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/part-material/warehouseRealtimeLocation/SmallTitle.vue b/src/views/warehouse/part-material/warehouseRealtimeLocation/SmallTitle.vue
new file mode 100644
index 00000000..93b4a18f
--- /dev/null
+++ b/src/views/warehouse/part-material/warehouseRealtimeLocation/SmallTitle.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/part-material/warehouseRealtimeLocation/add-or-updata.vue b/src/views/warehouse/part-material/warehouseRealtimeLocation/add-or-updata.vue
new file mode 100644
index 00000000..8f86afdb
--- /dev/null
+++ b/src/views/warehouse/part-material/warehouseRealtimeLocation/add-or-updata.vue
@@ -0,0 +1,93 @@
+
+
+
+
+
+
diff --git a/src/views/warehouse/part-material/warehouseRealtimeLocation/attr-add.vue b/src/views/warehouse/part-material/warehouseRealtimeLocation/attr-add.vue
new file mode 100644
index 00000000..52be28bc
--- /dev/null
+++ b/src/views/warehouse/part-material/warehouseRealtimeLocation/attr-add.vue
@@ -0,0 +1,122 @@
+
+
+
+
+
+ 新增产品
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/part-material/warehouseRealtimeLocation/drawer.vue b/src/views/warehouse/part-material/warehouseRealtimeLocation/drawer.vue
new file mode 100644
index 00000000..1c97c5ce
--- /dev/null
+++ b/src/views/warehouse/part-material/warehouseRealtimeLocation/drawer.vue
@@ -0,0 +1,317 @@
+
+
+ 库位信息
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 产品信息
+
+
+
+
+
+
+
+
+
+
+
+
+ 返回
+
+ 入库
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/part-material/warehouseRealtimeLocation/index.vue b/src/views/warehouse/part-material/warehouseRealtimeLocation/index.vue
new file mode 100644
index 00000000..03e7c121
--- /dev/null
+++ b/src/views/warehouse/part-material/warehouseRealtimeLocation/index.vue
@@ -0,0 +1,279 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/raw-material/InventoryOverview/index.vue b/src/views/warehouse/raw-material/InventoryOverview/index.vue
new file mode 100644
index 00000000..abe24074
--- /dev/null
+++ b/src/views/warehouse/raw-material/InventoryOverview/index.vue
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/raw-material/warehouseGoods/add-or-updata.vue b/src/views/warehouse/raw-material/warehouseGoods/add-or-updata.vue
new file mode 100644
index 00000000..1087257d
--- /dev/null
+++ b/src/views/warehouse/raw-material/warehouseGoods/add-or-updata.vue
@@ -0,0 +1,156 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/raw-material/warehouseGoods/index.vue b/src/views/warehouse/raw-material/warehouseGoods/index.vue
new file mode 100644
index 00000000..e2fddd20
--- /dev/null
+++ b/src/views/warehouse/raw-material/warehouseGoods/index.vue
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/raw-material/warehouseHis/index.vue b/src/views/warehouse/raw-material/warehouseHis/index.vue
new file mode 100644
index 00000000..3246c664
--- /dev/null
+++ b/src/views/warehouse/raw-material/warehouseHis/index.vue
@@ -0,0 +1,192 @@
+
+
+
+
+
+
diff --git a/src/views/warehouse/raw-material/warehouseLocationHis/add-or-updata.vue b/src/views/warehouse/raw-material/warehouseLocationHis/add-or-updata.vue
new file mode 100644
index 00000000..33b3db33
--- /dev/null
+++ b/src/views/warehouse/raw-material/warehouseLocationHis/add-or-updata.vue
@@ -0,0 +1,82 @@
+
+
+
+
+
+
diff --git a/src/views/warehouse/raw-material/warehouseLocationHis/index.vue b/src/views/warehouse/raw-material/warehouseLocationHis/index.vue
new file mode 100644
index 00000000..f3e792ad
--- /dev/null
+++ b/src/views/warehouse/raw-material/warehouseLocationHis/index.vue
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/raw-material/warehouseLocationMonitoring/index.vue b/src/views/warehouse/raw-material/warehouseLocationMonitoring/index.vue
new file mode 100644
index 00000000..0de9b949
--- /dev/null
+++ b/src/views/warehouse/raw-material/warehouseLocationMonitoring/index.vue
@@ -0,0 +1,221 @@
+
+
+
+
+
+ 缓存
+ 活动
+ 其它
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/raw-material/warehouseRealtime/add-or-updata.vue b/src/views/warehouse/raw-material/warehouseRealtime/add-or-updata.vue
new file mode 100644
index 00000000..4d51b982
--- /dev/null
+++ b/src/views/warehouse/raw-material/warehouseRealtime/add-or-updata.vue
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/raw-material/warehouseRealtime/index.vue b/src/views/warehouse/raw-material/warehouseRealtime/index.vue
new file mode 100644
index 00000000..a82458bd
--- /dev/null
+++ b/src/views/warehouse/raw-material/warehouseRealtime/index.vue
@@ -0,0 +1,193 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.latestInTime) }}
+
+
+
+
+ {{ parseTime(scope.row.latestOutTime) }}
+
+
+
+
+
+ 出库
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/raw-material/warehouseRealtime/product-mini.vue b/src/views/warehouse/raw-material/warehouseRealtime/product-mini.vue
new file mode 100644
index 00000000..17f086c0
--- /dev/null
+++ b/src/views/warehouse/raw-material/warehouseRealtime/product-mini.vue
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/raw-material/warehouseRealtimeLocation/SmallTitle.vue b/src/views/warehouse/raw-material/warehouseRealtimeLocation/SmallTitle.vue
new file mode 100644
index 00000000..93b4a18f
--- /dev/null
+++ b/src/views/warehouse/raw-material/warehouseRealtimeLocation/SmallTitle.vue
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/raw-material/warehouseRealtimeLocation/add-or-updata.vue b/src/views/warehouse/raw-material/warehouseRealtimeLocation/add-or-updata.vue
new file mode 100644
index 00000000..8f86afdb
--- /dev/null
+++ b/src/views/warehouse/raw-material/warehouseRealtimeLocation/add-or-updata.vue
@@ -0,0 +1,93 @@
+
+
+
+
+
+
diff --git a/src/views/warehouse/raw-material/warehouseRealtimeLocation/attr-add.vue b/src/views/warehouse/raw-material/warehouseRealtimeLocation/attr-add.vue
new file mode 100644
index 00000000..aed740e3
--- /dev/null
+++ b/src/views/warehouse/raw-material/warehouseRealtimeLocation/attr-add.vue
@@ -0,0 +1,122 @@
+
+
+
+
+
+ 新增产品
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/raw-material/warehouseRealtimeLocation/drawer.vue b/src/views/warehouse/raw-material/warehouseRealtimeLocation/drawer.vue
new file mode 100644
index 00000000..1c97c5ce
--- /dev/null
+++ b/src/views/warehouse/raw-material/warehouseRealtimeLocation/drawer.vue
@@ -0,0 +1,317 @@
+
+
+ 库位信息
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 产品信息
+
+
+
+
+
+
+
+
+
+
+
+
+ 返回
+
+ 入库
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/raw-material/warehouseRealtimeLocation/index.vue b/src/views/warehouse/raw-material/warehouseRealtimeLocation/index.vue
new file mode 100644
index 00000000..2403fcd0
--- /dev/null
+++ b/src/views/warehouse/raw-material/warehouseRealtimeLocation/index.vue
@@ -0,0 +1,279 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/shengchen/warehouse/index.vue b/src/views/warehouse/shengchen/warehouse/index.vue
new file mode 100644
index 00000000..a2d4c604
--- /dev/null
+++ b/src/views/warehouse/shengchen/warehouse/index.vue
@@ -0,0 +1,272 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.createTime) }}
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/shengchen/warehouse/warehouse.js b/src/views/warehouse/shengchen/warehouse/warehouse.js
new file mode 100644
index 00000000..df972c79
--- /dev/null
+++ b/src/views/warehouse/shengchen/warehouse/warehouse.js
@@ -0,0 +1,54 @@
+import request from '@/utils/request'
+
+// 创建仓库
+export function createWarehouse(data) {
+ return request({
+ url: '/extend/warehouse/create',
+ method: 'post',
+ data: data
+ })
+}
+
+// 更新仓库
+export function updateWarehouse(data) {
+ return request({
+ url: '/extend/warehouse/update',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除仓库
+export function deleteWarehouse(id) {
+ return request({
+ url: '/extend/warehouse/delete?id=' + id,
+ method: 'delete'
+ })
+}
+
+// 获得仓库
+export function getWarehouse(id) {
+ return request({
+ url: '/extend/warehouse/get?id=' + id,
+ method: 'get'
+ })
+}
+
+// 获得仓库分页
+export function getWarehousePage(query) {
+ return request({
+ url: '/extend/warehouse/page',
+ method: 'get',
+ params: query
+ })
+}
+
+// 导出仓库 Excel
+export function exportWarehouseExcel(query) {
+ return request({
+ url: '/extend/warehouse/export-excel',
+ method: 'get',
+ params: query,
+ responseType: 'blob'
+ })
+}
diff --git a/src/views/warehouse/shengchen/warehouseGoods/index.vue b/src/views/warehouse/shengchen/warehouseGoods/index.vue
new file mode 100644
index 00000000..988e228b
--- /dev/null
+++ b/src/views/warehouse/shengchen/warehouseGoods/index.vue
@@ -0,0 +1,297 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.createTime) }}
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/shengchen/warehouseGoods/warehouseGoods.js b/src/views/warehouse/shengchen/warehouseGoods/warehouseGoods.js
new file mode 100644
index 00000000..ae818ba9
--- /dev/null
+++ b/src/views/warehouse/shengchen/warehouseGoods/warehouseGoods.js
@@ -0,0 +1,54 @@
+import request from '@/utils/request'
+
+// 创建物品
+export function createWarehouseGoods(data) {
+ return request({
+ url: '/extend/warehouse-goods/create',
+ method: 'post',
+ data: data
+ })
+}
+
+// 更新物品
+export function updateWarehouseGoods(data) {
+ return request({
+ url: '/extend/warehouse-goods/update',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除物品
+export function deleteWarehouseGoods(id) {
+ return request({
+ url: '/extend/warehouse-goods/delete?id=' + id,
+ method: 'delete'
+ })
+}
+
+// 获得物品
+export function getWarehouseGoods(id) {
+ return request({
+ url: '/extend/warehouse-goods/get?id=' + id,
+ method: 'get'
+ })
+}
+
+// 获得物品分页
+export function getWarehouseGoodsPage(query) {
+ return request({
+ url: '/extend/warehouse-goods/page',
+ method: 'get',
+ params: query
+ })
+}
+
+// 导出物品 Excel
+export function exportWarehouseGoodsExcel(query) {
+ return request({
+ url: '/extend/warehouse-goods/export-excel',
+ method: 'get',
+ params: query,
+ responseType: 'blob'
+ })
+}
diff --git a/src/views/warehouse/shengchen/warehouseHis/index.vue b/src/views/warehouse/shengchen/warehouseHis/index.vue
new file mode 100644
index 00000000..9dcbcd50
--- /dev/null
+++ b/src/views/warehouse/shengchen/warehouseHis/index.vue
@@ -0,0 +1,310 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.createTime) }}
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 请选择字典生成
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/shengchen/warehouseHis/warehouseHis.js b/src/views/warehouse/shengchen/warehouseHis/warehouseHis.js
new file mode 100644
index 00000000..0673267a
--- /dev/null
+++ b/src/views/warehouse/shengchen/warehouseHis/warehouseHis.js
@@ -0,0 +1,54 @@
+import request from '@/utils/request'
+
+// 创建出入库历史(无库位)
+export function createWarehouseHis(data) {
+ return request({
+ url: '/extend/warehouse-his/create',
+ method: 'post',
+ data: data
+ })
+}
+
+// 更新出入库历史(无库位)
+export function updateWarehouseHis(data) {
+ return request({
+ url: '/extend/warehouse-his/update',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除出入库历史(无库位)
+export function deleteWarehouseHis(id) {
+ return request({
+ url: '/extend/warehouse-his/delete?id=' + id,
+ method: 'delete'
+ })
+}
+
+// 获得出入库历史(无库位)
+export function getWarehouseHis(id) {
+ return request({
+ url: '/extend/warehouse-his/get?id=' + id,
+ method: 'get'
+ })
+}
+
+// 获得出入库历史(无库位)分页
+export function getWarehouseHisPage(query) {
+ return request({
+ url: '/extend/warehouse-his/page',
+ method: 'get',
+ params: query
+ })
+}
+
+// 导出出入库历史(无库位) Excel
+export function exportWarehouseHisExcel(query) {
+ return request({
+ url: '/extend/warehouse-his/export-excel',
+ method: 'get',
+ params: query,
+ responseType: 'blob'
+ })
+}
diff --git a/src/views/warehouse/shengchen/warehouseLocation/index.vue b/src/views/warehouse/shengchen/warehouseLocation/index.vue
new file mode 100644
index 00000000..ab532720
--- /dev/null
+++ b/src/views/warehouse/shengchen/warehouseLocation/index.vue
@@ -0,0 +1,309 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.createTime) }}
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 请选择字典生成
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/shengchen/warehouseLocation/warehouseLocation.js b/src/views/warehouse/shengchen/warehouseLocation/warehouseLocation.js
new file mode 100644
index 00000000..828842f8
--- /dev/null
+++ b/src/views/warehouse/shengchen/warehouseLocation/warehouseLocation.js
@@ -0,0 +1,54 @@
+import request from '@/utils/request'
+
+// 创建库位
+export function createWarehouseLocation(data) {
+ return request({
+ url: '/extend/warehouse-location/create',
+ method: 'post',
+ data: data
+ })
+}
+
+// 更新库位
+export function updateWarehouseLocation(data) {
+ return request({
+ url: '/extend/warehouse-location/update',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除库位
+export function deleteWarehouseLocation(id) {
+ return request({
+ url: '/extend/warehouse-location/delete?id=' + id,
+ method: 'delete'
+ })
+}
+
+// 获得库位
+export function getWarehouseLocation(id) {
+ return request({
+ url: '/extend/warehouse-location/get?id=' + id,
+ method: 'get'
+ })
+}
+
+// 获得库位分页
+export function getWarehouseLocationPage(query) {
+ return request({
+ url: '/extend/warehouse-location/page',
+ method: 'get',
+ params: query
+ })
+}
+
+// 导出库位 Excel
+export function exportWarehouseLocationExcel(query) {
+ return request({
+ url: '/extend/warehouse-location/export-excel',
+ method: 'get',
+ params: query,
+ responseType: 'blob'
+ })
+}
diff --git a/src/views/warehouse/shengchen/warehouseLocationHis/index.vue b/src/views/warehouse/shengchen/warehouseLocationHis/index.vue
new file mode 100644
index 00000000..b2c5cdf7
--- /dev/null
+++ b/src/views/warehouse/shengchen/warehouseLocationHis/index.vue
@@ -0,0 +1,260 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.createTime) }}
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 请选择字典生成
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/shengchen/warehouseLocationHis/warehouseLocationHis.js b/src/views/warehouse/shengchen/warehouseLocationHis/warehouseLocationHis.js
new file mode 100644
index 00000000..76818dc1
--- /dev/null
+++ b/src/views/warehouse/shengchen/warehouseLocationHis/warehouseLocationHis.js
@@ -0,0 +1,54 @@
+import request from '@/utils/request'
+
+// 创建出入库历史(有库位)
+export function createWarehouseLocationHis(data) {
+ return request({
+ url: '/extend/warehouse-location-his/create',
+ method: 'post',
+ data: data
+ })
+}
+
+// 更新出入库历史(有库位)
+export function updateWarehouseLocationHis(data) {
+ return request({
+ url: '/extend/warehouse-location-his/update',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除出入库历史(有库位)
+export function deleteWarehouseLocationHis(id) {
+ return request({
+ url: '/extend/warehouse-location-his/delete?id=' + id,
+ method: 'delete'
+ })
+}
+
+// 获得出入库历史(有库位)
+export function getWarehouseLocationHis(id) {
+ return request({
+ url: '/extend/warehouse-location-his/get?id=' + id,
+ method: 'get'
+ })
+}
+
+// 获得出入库历史(有库位)分页
+export function getWarehouseLocationHisPage(query) {
+ return request({
+ url: '/extend/warehouse-location-his/page',
+ method: 'get',
+ params: query
+ })
+}
+
+// 导出出入库历史(有库位) Excel
+export function exportWarehouseLocationHisExcel(query) {
+ return request({
+ url: '/extend/warehouse-location-his/export-excel',
+ method: 'get',
+ params: query,
+ responseType: 'blob'
+ })
+}
diff --git a/src/views/warehouse/shengchen/warehouseLocationHisDet/index.vue b/src/views/warehouse/shengchen/warehouseLocationHisDet/index.vue
new file mode 100644
index 00000000..9ac5c413
--- /dev/null
+++ b/src/views/warehouse/shengchen/warehouseLocationHisDet/index.vue
@@ -0,0 +1,255 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.createTime) }}
+
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/shengchen/warehouseLocationHisDet/warehouseLocationHisDet.js b/src/views/warehouse/shengchen/warehouseLocationHisDet/warehouseLocationHisDet.js
new file mode 100644
index 00000000..9879e152
--- /dev/null
+++ b/src/views/warehouse/shengchen/warehouseLocationHisDet/warehouseLocationHisDet.js
@@ -0,0 +1,54 @@
+import request from '@/utils/request'
+
+// 创建出入库历史(有库位)详情
+export function createWarehouseLocationHisDet(data) {
+ return request({
+ url: '/extend/warehouse-location-his-det/create',
+ method: 'post',
+ data: data
+ })
+}
+
+// 更新出入库历史(有库位)详情
+export function updateWarehouseLocationHisDet(data) {
+ return request({
+ url: '/extend/warehouse-location-his-det/update',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除出入库历史(有库位)详情
+export function deleteWarehouseLocationHisDet(id) {
+ return request({
+ url: '/extend/warehouse-location-his-det/delete?id=' + id,
+ method: 'delete'
+ })
+}
+
+// 获得出入库历史(有库位)详情
+export function getWarehouseLocationHisDet(id) {
+ return request({
+ url: '/extend/warehouse-location-his-det/get?id=' + id,
+ method: 'get'
+ })
+}
+
+// 获得出入库历史(有库位)详情分页
+export function getWarehouseLocationHisDetPage(query) {
+ return request({
+ url: '/extend/warehouse-location-his-det/page',
+ method: 'get',
+ params: query
+ })
+}
+
+// 导出出入库历史(有库位)详情 Excel
+export function exportWarehouseLocationHisDetExcel(query) {
+ return request({
+ url: '/extend/warehouse-location-his-det/export-excel',
+ method: 'get',
+ params: query,
+ responseType: 'blob'
+ })
+}
diff --git a/src/views/warehouse/shengchen/warehouseRealtime/index.vue b/src/views/warehouse/shengchen/warehouseRealtime/index.vue
new file mode 100644
index 00000000..4fc2f1ea
--- /dev/null
+++ b/src/views/warehouse/shengchen/warehouseRealtime/index.vue
@@ -0,0 +1,297 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.latestInTime) }}
+
+
+
+
+ {{ parseTime(scope.row.latestOutTime) }}
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.createTime) }}
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/shengchen/warehouseRealtime/warehouseRealtime.js b/src/views/warehouse/shengchen/warehouseRealtime/warehouseRealtime.js
new file mode 100644
index 00000000..656b9da6
--- /dev/null
+++ b/src/views/warehouse/shengchen/warehouseRealtime/warehouseRealtime.js
@@ -0,0 +1,54 @@
+import request from '@/utils/request'
+
+// 创建出入库-无库位
+export function createWarehouseRealtime(data) {
+ return request({
+ url: '/extend/warehouse-realtime/create',
+ method: 'post',
+ data: data
+ })
+}
+
+// 更新出入库-无库位
+export function updateWarehouseRealtime(data) {
+ return request({
+ url: '/extend/warehouse-realtime/update',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除出入库-无库位
+export function deleteWarehouseRealtime(id) {
+ return request({
+ url: '/extend/warehouse-realtime/delete?id=' + id,
+ method: 'delete'
+ })
+}
+
+// 获得出入库-无库位
+export function getWarehouseRealtime(id) {
+ return request({
+ url: '/extend/warehouse-realtime/get?id=' + id,
+ method: 'get'
+ })
+}
+
+// 获得出入库-无库位分页
+export function getWarehouseRealtimePage(query) {
+ return request({
+ url: '/extend/warehouse-realtime/page',
+ method: 'get',
+ params: query
+ })
+}
+
+// 导出出入库-无库位 Excel
+export function exportWarehouseRealtimeExcel(query) {
+ return request({
+ url: '/extend/warehouse-realtime/export-excel',
+ method: 'get',
+ params: query,
+ responseType: 'blob'
+ })
+}
diff --git a/src/views/warehouse/shengchen/warehouseRealtimeDet/index.vue b/src/views/warehouse/shengchen/warehouseRealtimeDet/index.vue
new file mode 100644
index 00000000..a0e976fa
--- /dev/null
+++ b/src/views/warehouse/shengchen/warehouseRealtimeDet/index.vue
@@ -0,0 +1,256 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.createTime) }}
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/shengchen/warehouseRealtimeDet/warehouseRealtimeDet.js b/src/views/warehouse/shengchen/warehouseRealtimeDet/warehouseRealtimeDet.js
new file mode 100644
index 00000000..10e9aedc
--- /dev/null
+++ b/src/views/warehouse/shengchen/warehouseRealtimeDet/warehouseRealtimeDet.js
@@ -0,0 +1,54 @@
+import request from '@/utils/request'
+
+// 创建出入库(无库位)详情
+export function createWarehouseRealtimeDet(data) {
+ return request({
+ url: '/extend/warehouse-realtime-det/create',
+ method: 'post',
+ data: data
+ })
+}
+
+// 更新出入库(无库位)详情
+export function updateWarehouseRealtimeDet(data) {
+ return request({
+ url: '/extend/warehouse-realtime-det/update',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除出入库(无库位)详情
+export function deleteWarehouseRealtimeDet(id) {
+ return request({
+ url: '/extend/warehouse-realtime-det/delete?id=' + id,
+ method: 'delete'
+ })
+}
+
+// 获得出入库(无库位)详情
+export function getWarehouseRealtimeDet(id) {
+ return request({
+ url: '/extend/warehouse-realtime-det/get?id=' + id,
+ method: 'get'
+ })
+}
+
+// 获得出入库(无库位)详情分页
+export function getWarehouseRealtimeDetPage(query) {
+ return request({
+ url: '/extend/warehouse-realtime-det/page',
+ method: 'get',
+ params: query
+ })
+}
+
+// 导出出入库(无库位)详情 Excel
+export function exportWarehouseRealtimeDetExcel(query) {
+ return request({
+ url: '/extend/warehouse-realtime-det/export-excel',
+ method: 'get',
+ params: query,
+ responseType: 'blob'
+ })
+}
diff --git a/src/views/warehouse/shengchen/warehouseRealtimeLocation/index.vue b/src/views/warehouse/shengchen/warehouseRealtimeLocation/index.vue
new file mode 100644
index 00000000..e6504aa1
--- /dev/null
+++ b/src/views/warehouse/shengchen/warehouseRealtimeLocation/index.vue
@@ -0,0 +1,274 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.inTime) }}
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.createTime) }}
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/shengchen/warehouseRealtimeLocation/warehouseRealtimeLocation.js b/src/views/warehouse/shengchen/warehouseRealtimeLocation/warehouseRealtimeLocation.js
new file mode 100644
index 00000000..922b704c
--- /dev/null
+++ b/src/views/warehouse/shengchen/warehouseRealtimeLocation/warehouseRealtimeLocation.js
@@ -0,0 +1,54 @@
+import request from '@/utils/request'
+
+// 创建出入库-有库位
+export function createWarehouseRealtimeLocation(data) {
+ return request({
+ url: '/extend/warehouse-realtime-location/create',
+ method: 'post',
+ data: data
+ })
+}
+
+// 更新出入库-有库位
+export function updateWarehouseRealtimeLocation(data) {
+ return request({
+ url: '/extend/warehouse-realtime-location/update',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除出入库-有库位
+export function deleteWarehouseRealtimeLocation(id) {
+ return request({
+ url: '/extend/warehouse-realtime-location/delete?id=' + id,
+ method: 'delete'
+ })
+}
+
+// 获得出入库-有库位
+export function getWarehouseRealtimeLocation(id) {
+ return request({
+ url: '/extend/warehouse-realtime-location/get?id=' + id,
+ method: 'get'
+ })
+}
+
+// 获得出入库-有库位分页
+export function getWarehouseRealtimeLocationPage(query) {
+ return request({
+ url: '/extend/warehouse-realtime-location/page',
+ method: 'get',
+ params: query
+ })
+}
+
+// 导出出入库-有库位 Excel
+export function exportWarehouseRealtimeLocationExcel(query) {
+ return request({
+ url: '/extend/warehouse-realtime-location/export-excel',
+ method: 'get',
+ params: query,
+ responseType: 'blob'
+ })
+}
diff --git a/src/views/warehouse/shengchen/warehouseRealtimeLocationDet/index.vue b/src/views/warehouse/shengchen/warehouseRealtimeLocationDet/index.vue
new file mode 100644
index 00000000..e747ca55
--- /dev/null
+++ b/src/views/warehouse/shengchen/warehouseRealtimeLocationDet/index.vue
@@ -0,0 +1,274 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+ 新增
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.createTime) }}
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/shengchen/warehouseRealtimeLocationDet/warehouseRealtimeLocationDet.js b/src/views/warehouse/shengchen/warehouseRealtimeLocationDet/warehouseRealtimeLocationDet.js
new file mode 100644
index 00000000..823c0685
--- /dev/null
+++ b/src/views/warehouse/shengchen/warehouseRealtimeLocationDet/warehouseRealtimeLocationDet.js
@@ -0,0 +1,54 @@
+import request from '@/utils/request'
+
+// 创建出入库(有库位)详情
+export function createWarehouseRealtimeLocationDet(data) {
+ return request({
+ url: '/extend/warehouse-realtime-location-det/create',
+ method: 'post',
+ data: data
+ })
+}
+
+// 更新出入库(有库位)详情
+export function updateWarehouseRealtimeLocationDet(data) {
+ return request({
+ url: '/extend/warehouse-realtime-location-det/update',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除出入库(有库位)详情
+export function deleteWarehouseRealtimeLocationDet(id) {
+ return request({
+ url: '/extend/warehouse-realtime-location-det/delete?id=' + id,
+ method: 'delete'
+ })
+}
+
+// 获得出入库(有库位)详情
+export function getWarehouseRealtimeLocationDet(id) {
+ return request({
+ url: '/extend/warehouse-realtime-location-det/get?id=' + id,
+ method: 'get'
+ })
+}
+
+// 获得出入库(有库位)详情分页
+export function getWarehouseRealtimeLocationDetPage(query) {
+ return request({
+ url: '/extend/warehouse-realtime-location-det/page',
+ method: 'get',
+ params: query
+ })
+}
+
+// 导出出入库(有库位)详情 Excel
+export function exportWarehouseRealtimeLocationDetExcel(query) {
+ return request({
+ url: '/extend/warehouse-realtime-location-det/export-excel',
+ method: 'get',
+ params: query,
+ responseType: 'blob'
+ })
+}
diff --git a/src/views/warehouse/warehouse-info/add-or-updata.vue b/src/views/warehouse/warehouse-info/add-or-updata.vue
new file mode 100644
index 00000000..b4625772
--- /dev/null
+++ b/src/views/warehouse/warehouse-info/add-or-updata.vue
@@ -0,0 +1,199 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/warehouse-info/add-or-updata1.vue b/src/views/warehouse/warehouse-info/add-or-updata1.vue
new file mode 100644
index 00000000..6e55353d
--- /dev/null
+++ b/src/views/warehouse/warehouse-info/add-or-updata1.vue
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/warehouse/warehouse-info/index.vue b/src/views/warehouse/warehouse-info/index.vue
new file mode 100644
index 00000000..b6746774
--- /dev/null
+++ b/src/views/warehouse/warehouse-info/index.vue
@@ -0,0 +1,407 @@
+
+
+
+
+
+ 新增仓库
+
+ 仓库列表
+
+ {{ item.name }}
+
+
+
+
+
+
+ 编辑
+
+
+ 详情
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+