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 @@