From 7e8237190ad914243c6d9c8f07c3c8a462542bb6 Mon Sep 17 00:00:00 2001 From: zengqiyang <492393100@qq.com> Date: Tue, 8 Apr 2025 17:30:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=BF=E6=BA=90=E8=B5=84=E4=BA=A7=E6=A0=87?= =?UTF-8?q?=E7=AD=BE=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pc/.env.development | 4 + pc/.env.production | 4 + pc/src/api/asset/label.js | 59 +- pc/src/api/building.js | 5 +- pc/src/assets/images/tag_01.png | Bin 0 -> 2341 bytes pc/src/assets/images/tag_02.png | Bin 0 -> 2398 bytes pc/src/assets/images/tag_03.png | Bin 0 -> 1080 bytes pc/src/assets/images/tag_04.png | Bin 0 -> 1217 bytes pc/src/utils/request.js | 2 +- pc/src/views/asset/labelPage/index.vue | 538 +++++++----------- pc/src/views/project/building/index.vue | 4 +- .../project/room/components/DetailView.vue | 8 +- .../project/room/components/RoomForm.vue | 341 ++++++----- pc/src/views/project/room/index.vue | 34 +- pc/web (2).zip | Bin 0 -> 708846 bytes pc/web.zip | Bin 0 -> 700532 bytes 16 files changed, 499 insertions(+), 500 deletions(-) create mode 100644 pc/.env.development create mode 100644 pc/.env.production create mode 100644 pc/src/assets/images/tag_01.png create mode 100644 pc/src/assets/images/tag_02.png create mode 100644 pc/src/assets/images/tag_03.png create mode 100644 pc/src/assets/images/tag_04.png create mode 100644 pc/web (2).zip create mode 100644 pc/web.zip diff --git a/pc/.env.development b/pc/.env.development new file mode 100644 index 0000000..3edea7c --- /dev/null +++ b/pc/.env.development @@ -0,0 +1,4 @@ +NODE_ENV = 'development' + +# 开发环境API地址 +VUE_APP_BASE_API = http://192.168.137.3:8080/api \ No newline at end of file diff --git a/pc/.env.production b/pc/.env.production new file mode 100644 index 0000000..6465c6f --- /dev/null +++ b/pc/.env.production @@ -0,0 +1,4 @@ +NODE_ENV = 'production' + +# 生产环境API地址 +VUE_APP_BASE_API = http://192.168.137.3:8080/api \ No newline at end of file diff --git a/pc/src/api/asset/label.js b/pc/src/api/asset/label.js index aded6bc..65fd535 100644 --- a/pc/src/api/asset/label.js +++ b/pc/src/api/asset/label.js @@ -1,10 +1,11 @@ import request from '@/utils/request' -// 查询标签模板列表 -export function listLabelTemplates() { +// 查询资产标签列表 +export function listLabelTemplates(query) { return request({ - url: '/asset/label/template/list', - method: 'get' + url: '/asset/label/list', + method: 'get', + params: query }) } @@ -16,19 +17,19 @@ export function getLabelTemplate(id) { }) } -// 添加标签模板 +// 新增资产标签 export function addLabelTemplate(data) { return request({ - url: '/asset/label/template', + url: '/asset/label', method: 'post', data: data }) } -// 更新标签模板 -export function updateLabelTemplate(data) { +// 修改资产标签 +export function updateLabelTemplate(id, data) { return request({ - url: '/asset/label/template', + url: '/asset/label/' + id, method: 'put', data: data }) @@ -52,10 +53,42 @@ export function setDefaultTemplate(id) { // 获取可用的标签字段 export function getLabelFields() { - return request({ - url: '/asset/label/fields', - method: 'get' - }) + const fieldData = [ + { id: 1, name: '资产名称' }, + { id: 2, name: '资产分类' }, + { id: 3, name: '资产编码' }, + { id: 4, name: '资产位置' }, + { id: 5, name: '品牌' }, + { id: 6, name: '型号' }, + { id: 7, name: '设备序列号' }, + { id: 8, name: '管理员' }, + { id: 9, name: '保养到期时间' }, + { id: 10, name: '保养说明' }, + { id: 11, name: '使用部门' } + ]; + + return Promise.resolve({ + code: '000000', + msg: 'success', + data: fieldData + }); +} + +// 获取字段对应的示例值 +export function getFieldSampleValues() { + return { + '1': 'ThinkPad笔记本', + '2': '电脑/笔记本电脑', + '3': 'ASSET-001', + '4': '研发部-A区', + '5': 'Lenovo', + '6': 'X1 Carbon', + '7': 'SN12345678', + '8': '张三', + '9': '2024-12-31', + '10': '每季度保养一次', + '11': '研发部' + }; } // 打印标签预览 diff --git a/pc/src/api/building.js b/pc/src/api/building.js index 27997f3..a8d86be 100644 --- a/pc/src/api/building.js +++ b/pc/src/api/building.js @@ -84,9 +84,8 @@ export function getBuildingStatistics(id) { // 查询楼层列表 export function getFloorList(query) { return request({ - url: '/room/floor/list', - method: 'get', - params: query + url: `/room/floor/list/${query}`, + method: 'get' }) } diff --git a/pc/src/assets/images/tag_01.png b/pc/src/assets/images/tag_01.png new file mode 100644 index 0000000000000000000000000000000000000000..feeeb61644be6f4b54966930325ef804d6a6e51b GIT binary patch literal 2341 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 LNkvXXu0mjf{WXw0 literal 0 HcmV?d00001 diff --git a/pc/src/assets/images/tag_02.png b/pc/src/assets/images/tag_02.png new file mode 100644 index 0000000000000000000000000000000000000000..01b6dffa81fc03a3a0a3bde4c89ff6908d6505db GIT binary patch literal 2398 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
- +
资产标签设置
@@ -14,8 +14,9 @@ :class="['template-item', selectedTemplateIndex === index ? 'selected' : '']" @click="selectTemplate(index)">
-
-
支持Logo
+
+ 模板预览 +
模板{{ index + 1 }}
{{ getTemplateLimitText(index) }}
@@ -31,7 +32,7 @@
QR Code
-
资产
+
{{ field.name }}{{ index === 1 ? field.name.length > 2 ? '' : ' ' : '' @@ -41,9 +42,7 @@
- - - +
@@ -66,21 +65,8 @@ -
设置Logo
- -
-
- - - - -
建议上传尺寸为720*280像素且不大于2M的jpg或png图片
-
-
- -
打印设置
+
保存 + 重置
@@ -123,8 +106,8 @@