diff --git a/package.json b/package.json index 6c27fe3..515ab0c 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "fuse.js": "6.6.2", "js-cookie": "3.0.1", "jsencrypt": "3.3.1", + "lodash-es": "^4.17.21", "nprogress": "0.2.0", "pinia": "2.0.22", "vue": "3.2.45", diff --git a/src/api/product/product.js b/src/api/product/product.js new file mode 100644 index 0000000..3398132 --- /dev/null +++ b/src/api/product/product.js @@ -0,0 +1,56 @@ +import request from "@/utils/request"; + +// 查询产品列表 +export function listProduct(query) { + return request({ + url: "/product/product/list", + method: "get", + params: query + }); +} + +// 查询产品详细 +export function getProduct(productId) { + return request({ + url: "/product/product/" + productId, + method: "get" + }); +} + +// 新增产品 +export function addProduct(data) { + return request({ + url: "/product/product", + method: "post", + data: data + }); +} + +// 修改产品 +export function updateProduct(data) { + return request({ + url: "/product/product", + method: "put", + data: data + }); +} + +// 删除产品 +export function delProduct(productId) { + return request({ + url: "/product/product/" + productId, + method: "delete" + }); +} + +/** + * 检查产品SN是否唯一 + * @param productSn + * @return {*} + */ +export function checkProductSn(productSn) { + return request({ + url: `/product/product/check/${productSn}` + , method: "get" + }); +} \ No newline at end of file diff --git a/src/assets/images/product.jpg b/src/assets/images/product.jpg new file mode 100644 index 0000000..263203a Binary files /dev/null and b/src/assets/images/product.jpg differ diff --git a/src/components/ImageUpload/index.vue b/src/components/ImageUpload/index.vue index d1976b8..79c1644 100644 --- a/src/components/ImageUpload/index.vue +++ b/src/components/ImageUpload/index.vue @@ -152,7 +152,7 @@ function handleExceed() { // 上传成功回调 function handleUploadSuccess(res, file) { if (res.code === 200) { - uploadList.value.push({ name: res.fileName, url: res.fileName }); + uploadList.value.push({ name: res.fileName, url: res.url }); uploadedSuccessfully(); } else { number.value--; diff --git a/src/constant/dict.js b/src/constant/dict.js index 529a0ce..73e7646 100644 --- a/src/constant/dict.js +++ b/src/constant/dict.js @@ -1,4 +1,34 @@ export const statusMap = new Map([ ["0", "正常"], - ["1", "禁用"], + ["1", "禁用"] ]); + +export const deviceTypeMap = new Map([ + [1, "直连设备"], + [2, "网关子设备"], + [3, "网关子设备"] +]); +export const vertificateMethodOptions = [ + { + label: "简单认证", + value: 1 + }, { + label: "加密认证", + value: 2 + }, { + label: "简单+加密", + value: 3 + } +]; + +export const isTopMap = new Map([ + [0, "是"], + [1, "否"] +]); + +export const isMonitor = new Map([ + [0, "是"], + [1, "否"] +]); + + diff --git a/src/views/login.vue b/src/views/login.vue index c303dbd..cadf3d6 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -11,127 +11,133 @@ - -
- - - - - - - - - - - - - - - - - 记住密码 - -
-
- - - - - - - - - - - - - - - - - - -
+ +
+ + + + + + + + + + + + + + + + + 记住密码 + +
+
+ +
+ + + + + + + + + + + + + + + + + + +
+
diff --git a/src/views/product/category/index.vue b/src/views/product/category/index.vue index db66c2c..a530087 100644 --- a/src/views/product/category/index.vue +++ b/src/views/product/category/index.vue @@ -177,7 +177,7 @@ children: categoryList, }, ]" - :default-expanded-keys="[0]" + :default-expanded-keys="[form.parentId]" node-key="categoryId" :props="{ value: 'categoryId', @@ -185,7 +185,6 @@ children: 'children', }" check-strictly - clearable placeholder="选择上级分类" value-key="categoryId" /> diff --git a/src/views/product/product/components/edit.vue b/src/views/product/product/components/edit.vue new file mode 100644 index 0000000..bc50f6f --- /dev/null +++ b/src/views/product/product/components/edit.vue @@ -0,0 +1,248 @@ + + + + + diff --git a/src/views/product/product/components/model.vue b/src/views/product/product/components/model.vue new file mode 100644 index 0000000..4769457 --- /dev/null +++ b/src/views/product/product/components/model.vue @@ -0,0 +1,139 @@ + + + + + diff --git a/src/views/product/product/index.vue b/src/views/product/product/index.vue new file mode 100644 index 0000000..3618652 --- /dev/null +++ b/src/views/product/product/index.vue @@ -0,0 +1,435 @@ + + + +