From e2703611866f70eaf95d564db56b313191942a4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=8A=B2=E6=9D=BE?= Date: Thu, 12 Mar 2020 12:13:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20model/asset=E4=B8=ADvendor=E5=92=8Ctype?= =?UTF-8?q?=E7=9A=84=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1.model中vendor和type的修改 2.asset新增model后model列表刷新 --- nezha-fronted/src/assets/stylus/main.scss | 16 +- .../src/components/common/header.vue | 2 +- .../components/common/rightBox/assetBox.vue | 71 +++++-- .../components/common/rightBox/modelBox.vue | 183 ++++++++++++++++-- .../src/components/page/asset/asset.vue | 2 + nezha-fronted/src/main.js | 2 +- 6 files changed, 240 insertions(+), 36 deletions(-) diff --git a/nezha-fronted/src/assets/stylus/main.scss b/nezha-fronted/src/assets/stylus/main.scss index e87ddacc6..33a79bc36 100644 --- a/nezha-fronted/src/assets/stylus/main.scss +++ b/nezha-fronted/src/assets/stylus/main.scss @@ -829,7 +829,7 @@ li{ .el-scrollbar__thumb { background-color: #aaa; } -.el-autocomplete-suggestion__wrap.el-scrollbar__wrap { +.el-autocomplete-suggestion__wrap.el-scrollbar__wrap, .el-cascader-menu__wrap.el-scrollbar__wrap { margin-bottom: 0 !important; } .el-scrollbar__thumb:hover { @@ -1241,3 +1241,17 @@ li{ .el-table__fixed-body-wrapper { height: calc(100% - 42px) !important; } + +/*model侧滑中下拉框*/ +.autocomplete-dropdown { + display: flex; + align-items : center; + justify-content: space-between; +} +.autocomplete-dropdown .dropdown-btn-edit>i { + font-size: 14px; +} +.autocomplete-dropdown .dropdown-btn-delete>i { + color: #ee6723; + margin-right: 4px; +} diff --git a/nezha-fronted/src/components/common/header.vue b/nezha-fronted/src/components/common/header.vue index cfe8130ac..cac39708a 100644 --- a/nezha-fronted/src/components/common/header.vue +++ b/nezha-fronted/src/components/common/header.vue @@ -262,7 +262,6 @@ } }); this.activeIndex = data - }, createBox(item) { @@ -290,6 +289,7 @@ this.$refs.alertConfigBox.show(true, true); } else if (item.type == 4) { this.addUnitShow = true; + this.$refs.assetAddUnit.show(); this.$refs.assetAddUnit.resetAsset(); } }, diff --git a/nezha-fronted/src/components/common/rightBox/assetBox.vue b/nezha-fronted/src/components/common/rightBox/assetBox.vue index b6b2e80f0..c1ac2d08d 100644 --- a/nezha-fronted/src/components/common/rightBox/assetBox.vue +++ b/nezha-fronted/src/components/common/rightBox/assetBox.vue @@ -172,8 +172,8 @@ class="right-box-row-with-btn" > -
- + + <!–标题–>
{{$t('asset.createAssetTab.vendorTab.vendor')}}
- + <!–表单内容–>
{{$t('asset.createAssetTab.vendorTab.vendorName')}}
@@ -278,7 +278,7 @@
- + --> {{assetViewData.vendor}} {{assetViewData.model}} @@ -408,6 +408,7 @@ + @@ -512,6 +513,16 @@ principal: '', tel: '' }, + model: { + id: '', + name: '', + vendor: {id: '', value: '', code: '', type: ''}, + type: {id: '', value: '', code: '', type: ''}, + assetStat: {total: '', inStock: '', outStock: ''}, + remark: '', + vendorCode: '', + typeCode: '' + }, addIdcData: { id: '', name: '', @@ -614,11 +625,15 @@ } },*/ watch: { - allModelUlData(newVal) { - if (newVal) { - this.getConnectData(); - if (this.pageObj.id != '') { - this.assetData.modelId = [this.obj.model.vendor.code, this.obj.model.id] + allModelUlData: { + deep: true, + immediate: true, + handler(newVal) { + if (newVal) { + this.getConnectData(); + if (this.pageObj.id != '') { + this.assetData.modelId = [this.obj.model.vendor.code, this.obj.model.id] + } } } }, @@ -678,6 +693,11 @@ this.modelCount = ''; } }, + show() { + this.getIDCOptionData(); + this.getVendorOptionData(); + this.getAssetTypeOptionData(); + }, editQuit() { for (let i of this.assetTypeOptionData) { if (i.isEdit === true) { @@ -796,8 +816,8 @@ getVendorOptionData() { this.$get('sys/dict/all?type=vendor').then(response => { if (response.code === 200) { - this.vendorUlData = response.data - this.markOptionData(this.vendorUlData) + this.vendorUlData = response.data; + this.markOptionData(this.vendorUlData); } }) }, @@ -805,7 +825,7 @@ this.$get('model?typeCode=' + assetType + '&vendorCode=' + vendorCode).then(response => { if (response.code === 200) { this.modelUlData = response.data.list; - this.markOptionData(this.modelUlData) + this.markOptionData(this.modelUlData); } }) }, @@ -817,6 +837,29 @@ } }) }, + addVendor() { + this.model = { + id: '', + name: '', + vendor: {id: '', value: '', code: '', type: ''}, + type: {id: '', value: '', code: '', type: ''}, + assetStat: {total: '', inStock: '', outStock: ''}, + remark: '', + vendorCode: '', + typeCode: '' + }; + if (this.assetType) { + //model侧滑弹出时,自动选好assetType + for (let i = 0; i < this.assetTypeOptionData.length; i++) { + if (this.assetTypeOptionData[i].code == this.assetType) { + this.model.type.code = this.assetType; + this.model.type.value = this.assetTypeOptionData[i].value; + break; + } + } + } + this.$refs.modelBox.show(true, true); + }, resetAsset() { this.pageObj.id = ''; this.assetData = { @@ -1063,7 +1106,7 @@ this.$post('sys/dict/save', this.assetTypeData).then(res => { const h = this.$createElement; if (res.code === 200) { - this.getAssetTypeOptionData() + this.getAssetTypeOptionData(); this.$message({duration: 2000, type: 'success', message: this.$t("tip.saveSuccess")}); } else { this.$message.error(res.msg); diff --git a/nezha-fronted/src/components/common/rightBox/modelBox.vue b/nezha-fronted/src/components/common/rightBox/modelBox.vue index d08768da3..d4012eae3 100644 --- a/nezha-fronted/src/components/common/rightBox/modelBox.vue +++ b/nezha-fronted/src/components/common/rightBox/modelBox.vue @@ -1,6 +1,6 @@