From a5f85f5f051a59ab0d018820ab622f6d24d514c8 Mon Sep 17 00:00:00 2001 From: wuxw <928255095@qq.com> Date: Fri, 29 Aug 2025 09:44:08 +0800 Subject: [PATCH] =?UTF-8?q?v1.9=20=E4=BF=AE=E5=A4=8D=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=B8=9A=E4=B8=BB=EF=BC=8C=E4=BF=AE=E6=94=B9=E9=97=A8=E7=A6=81?= =?UTF-8?q?=E9=92=A5=E5=8C=99=E5=87=BA=E7=8E=B0=E5=A4=9A=E4=B8=AA=E7=9A=84?= =?UTF-8?q?bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/owner/editOwner.vue | 110 ++++++++++++++++++++++++++--- src/views/owner/listOwner.vue | 2 +- 2 files changed, 100 insertions(+), 12 deletions(-) diff --git a/src/components/owner/editOwner.vue b/src/components/owner/editOwner.vue index 85a244e86..587e0ef0d 100644 --- a/src/components/owner/editOwner.vue +++ b/src/components/owner/editOwner.vue @@ -81,22 +81,39 @@ - - - - + + - - - - + + @@ -196,6 +213,7 @@ export default { if (this.form.ownerAttrDtos) { const attrDto = this.form.ownerAttrDtos.find(dto => dto.specCd === attr.specCd) attr.value = attrDto ? attrDto.value : '' + attr.attrId = attrDto ? attrDto.attrId : '' } } } catch (error) { @@ -235,6 +253,7 @@ export default { const params = { ...this.form, attrs: this.attrs.map(attr => ({ + attrId: attr.attrId, specCd: attr.specCd, value: attr.value })) @@ -281,4 +300,73 @@ export default { .mt-10 { margin-top: 10px; } + +/* 自定义输入框样式,模拟 el-input */ +.custom-input { + width: 100%; + height: 32px; + line-height: 32px; + padding: 0 12px; + border: 1px solid #dcdfe6; + border-radius: 4px; + font-size: 14px; + color: #606266; + background-color: #fff; + transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); + box-sizing: border-box; +} + +.custom-input:focus { + outline: none; + border-color: #409eff; +} + +.custom-input:hover { + border-color: #c0c4cc; +} + +.custom-input::placeholder { + color: #c0c4cc; +} + +/* 自定义选择框样式,模拟 el-select */ +.custom-select { + width: 100%; + height: 32px; + line-height: 32px; + padding: 0 12px; + border: 1px solid #dcdfe6; + border-radius: 4px; + font-size: 14px; + color: #606266; + background-color: #fff; + transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1); + box-sizing: border-box; + cursor: pointer; + appearance: none; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e"); + background-position: right 8px center; + background-repeat: no-repeat; + background-size: 16px; + padding-right: 32px; +} + +.custom-select:focus { + outline: none; + border-color: #409eff; +} + +.custom-select:hover { + border-color: #c0c4cc; +} + +.custom-select option { + padding: 8px 12px; + background-color: #fff; + color: #606266; +} + +.custom-select option:hover { + background-color: #f5f7fa; +} \ No newline at end of file diff --git a/src/views/owner/listOwner.vue b/src/views/owner/listOwner.vue index 9d08f63b4..57283a7fe 100644 --- a/src/views/owner/listOwner.vue +++ b/src/views/owner/listOwner.vue @@ -274,7 +274,7 @@ export default { async getColumns() { try { - const {data} = await getAttrSpecList({ + const { data } = await getAttrSpecList({ page: 1, row: 100, tableName: 'building_owner_attr'