diff --git a/hb_client/src/api/equipment.js b/hb_client/src/api/equipment.js
new file mode 100644
index 0000000..6b67c5b
--- /dev/null
+++ b/hb_client/src/api/equipment.js
@@ -0,0 +1,30 @@
+import request from '@/utils/request'
+
+export function getpEquipmentList(query) {
+ return request({
+ url: '/em/equipment/',
+ method: 'get',
+ params: query
+ })
+}
+export function createEquipment(data) {
+ return request({
+ url: '/em/equipment/',
+ method: 'post',
+ data
+ })
+}
+export function updateEquipment(id, data) {
+ return request({
+ url: `/em/equipment/${id}/`,
+ method: 'put',
+ data
+ })
+}
+export function deleteEquipment(id, data) {
+ return request({
+ url: `/em/equipment/${id}/`,
+ method: 'delete',
+ data
+ })
+}
diff --git a/hb_client/src/api/vendor.js b/hb_client/src/api/vendor.js
new file mode 100644
index 0000000..c27d04b
--- /dev/null
+++ b/hb_client/src/api/vendor.js
@@ -0,0 +1,30 @@
+import request from '@/utils/request'
+
+export function getpVendorList(query) {
+ return request({
+ url: '/pum/vendor/',
+ method: 'get',
+ params: query
+ })
+}
+export function createVendor(data) {
+ return request({
+ url: '/pum/vendor/',
+ method: 'post',
+ data
+ })
+}
+export function updateVendor(id, data) {
+ return request({
+ url: `/pum/vendor/${id}/`,
+ method: 'put',
+ data
+ })
+}
+export function deleteVendor(id, data) {
+ return request({
+ url: `/pum/vendor/${id}/`,
+ method: 'delete',
+ data
+ })
+}
diff --git a/hb_client/src/router/index.js b/hb_client/src/router/index.js
index feee85e..3991778 100644
--- a/hb_client/src/router/index.js
+++ b/hb_client/src/router/index.js
@@ -73,11 +73,44 @@ export const constantRoutes = [
]
+
+
/**
* asyncRoutes
* the routes that need to be dynamically loaded based on user perms
*/
export const asyncRoutes = [
+ {
+ path: '/equipment',
+ component: Layout,
+ redirect: '/equipment/index',
+ name: 'equipment',
+ meta: { title: '设备管理', icon: 'example', perms: ['equipment_set'] },
+ children: [
+ {
+ path: 'index',
+ name: 'index',
+ component: () => import('@/views/equipment/index'),
+ meta: { title: '设备台账', icon: 'example', perms: ['index_manage'] }
+ }
+ ]
+ },
+
+ {
+ path: '/procurement',
+ component: Layout,
+ redirect: '/procurement/index',
+ name: 'procurement',
+ meta: { title: '采购管理', icon: 'example', perms: ['procurement_set'] },
+ children: [
+ {
+ path: 'vendor',
+ name: 'vendor',
+ component: () => import('@/views/procurement/vendor'),
+ meta: { title: '供应商', icon: 'example', perms: ['vendor_manage'] }
+ }
+ ]
+ },
{
path: '/system',
component: Layout,
diff --git a/hb_client/src/views/equipment/index.vue b/hb_client/src/views/equipment/index.vue
new file mode 100644
index 0000000..7e73b94
--- /dev/null
+++ b/hb_client/src/views/equipment/index.vue
@@ -0,0 +1,333 @@
+
+
+
+
+
+ 搜索
+ 重置
+
+
+ 新增设备
+
+
+
+
+
+
+ {{ scope.row.name }}
+
+
+
+ {{ scope.row.model }}
+
+
+ {{ scope.row.buy_date }}
+
+
+ {{ scope.row.keeper_.username }}
+
+
+ {{ scope.row.place }}
+
+
+ {{ scope.row.description }}
+
+
+
+
+
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确认
+
+
+
+
+
diff --git a/hb_client/src/views/procurement/vendor.vue b/hb_client/src/views/procurement/vendor.vue
new file mode 100644
index 0000000..7ce21e2
--- /dev/null
+++ b/hb_client/src/views/procurement/vendor.vue
@@ -0,0 +1,268 @@
+
+
+
+
+
+ 搜索
+ 重置
+
+
+ 新增供应商
+
+
+
+
+
+
+ {{ scope.row.name }}
+
+
+
+ {{ scope.row.contact }}
+
+
+ {{ scope.row.contact_phone }}
+
+
+ {{ scope.row.address }}
+
+
+
+ {{ scope.row.description }}
+
+
+
+
+
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+ 确认
+
+
+
+
+
diff --git a/hb_server/apps/em/models.py b/hb_server/apps/em/models.py
index 30ece81..70c558a 100644
--- a/hb_server/apps/em/models.py
+++ b/hb_server/apps/em/models.py
@@ -20,7 +20,7 @@ class Equipment(CommonBModel):
)
name = models.CharField('设备名称', max_length=50)
number = models.CharField('设备编号', max_length=50, unique=True)
- model = models.CharField('规格型号', max_length=10, null=True, blank=True)
+ model = models.CharField('规格型号', max_length=60, null=True, blank=True)
factory = models.CharField('生产厂', max_length=50, null=True, blank=True)
production_date = models.DateField('生产日期', null=True, blank=True)
buy_date = models.DateField('购置日期', null=True, blank=True)