diff --git a/klp-ui/src/api/wms/purchasePlan.js b/klp-ui/src/api/wms/purchasePlan.js
new file mode 100644
index 00000000..8b6322de
--- /dev/null
+++ b/klp-ui/src/api/wms/purchasePlan.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询采购计划主列表
+export function listPurchasePlan(query) {
+ return request({
+ url: '/wms/purchasePlan/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询采购计划主详细
+export function getPurchasePlan(planId) {
+ return request({
+ url: '/wms/purchasePlan/' + planId,
+ method: 'get'
+ })
+}
+
+// 新增采购计划主
+export function addPurchasePlan(data) {
+ return request({
+ url: '/wms/purchasePlan',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改采购计划主
+export function updatePurchasePlan(data) {
+ return request({
+ url: '/wms/purchasePlan',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除采购计划主
+export function delPurchasePlan(planId) {
+ return request({
+ url: '/wms/purchasePlan/' + planId,
+ method: 'delete'
+ })
+}
diff --git a/klp-ui/src/api/wms/purchasePlanDetail.js b/klp-ui/src/api/wms/purchasePlanDetail.js
new file mode 100644
index 00000000..99ccf24d
--- /dev/null
+++ b/klp-ui/src/api/wms/purchasePlanDetail.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询采购计划明细列表
+export function listPurchasePlanDetail(query) {
+ return request({
+ url: '/wms/purchasePlanDetail/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询采购计划明细详细
+export function getPurchasePlanDetail(detailId) {
+ return request({
+ url: '/wms/purchasePlanDetail/' + detailId,
+ method: 'get'
+ })
+}
+
+// 新增采购计划明细
+export function addPurchasePlanDetail(data) {
+ return request({
+ url: '/wms/purchasePlanDetail',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改采购计划明细
+export function updatePurchasePlanDetail(data) {
+ return request({
+ url: '/wms/purchasePlanDetail',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除采购计划明细
+export function delPurchasePlanDetail(detailId) {
+ return request({
+ url: '/wms/purchasePlanDetail/' + detailId,
+ method: 'delete'
+ })
+}
diff --git a/klp-ui/src/components/KLPService/RawMaterialSelect/index.vue b/klp-ui/src/components/KLPService/RawMaterialSelect/index.vue
new file mode 100644
index 00000000..291f1d74
--- /dev/null
+++ b/klp-ui/src/components/KLPService/RawMaterialSelect/index.vue
@@ -0,0 +1,57 @@
+
+