Jelajahi Sumber

查询窗口可显示看板视图图标

liuyanpeng 1 tahun lalu
induk
melakukan
fb7c9fd743

+ 23 - 0
packages/common/ImageResource.js

@@ -0,0 +1,23 @@
+import Common from './Common';
+
+export const getSrc = windowNo => {
+  const requestUrl = 'InfoWindowEditResource/imageInfoWindowUrl?infoWindowNo=' + windowNo;
+
+
+  return new Promise((resolve, reject) => {
+    $.ajax({
+      url: Common.getApiURL(requestUrl),
+      type: 'get',
+
+      beforeSend: function (request) {
+        Common.addTokenToRequest(request);
+      },
+      success: function (data) {
+        resolve(data);
+      },
+      error: function (XMLHttpRequest, textStatus, errorThrown) {
+        reject(XMLHttpRequest);
+      },
+    });
+  });
+};

+ 22 - 0
packages/info/src/InfoWindow.vue

@@ -13,6 +13,7 @@
       :model-data="modelData" 
       :multiple="multiple" 
       :window-no="infoWindowNo"
+      :icon-src="iconSrc"
       @data-selected="dataSelected"
       @delete-selected="deleteSelected"
     />
@@ -28,6 +29,8 @@ import CssUtil from '../../common/CssUtil.js';
 import QueryPage from './QueryPage.vue';
 import Loading from '../../loading/src/Loading.vue';
 import ClientOrganization from '../../client-organization/src/ClientOrganization.vue';
+import { getSrc } from '../../common/ImageResource.js';
+import { message } from 'ant-design-vue';
 
 export default defineComponent({
   name: 'InfoWindow',
@@ -91,6 +94,7 @@ export default defineComponent({
       componentName: '',  // 显示部件名称
       loading: false,
       componentLoadedCount: 0, // 异步组件加载成功的数量
+      iconSrc: '',
     };
   },
 
@@ -101,9 +105,11 @@ export default defineComponent({
         let _self = this;
         if (newValue != oldValue) {
           this.$nextTick(function () {
+            this.getViewSrc(newValue);
             _self.loadData();
           });
         }
+
       },
       immediate: true,
     },
@@ -241,6 +247,22 @@ export default defineComponent({
         }
       }
     },
+    // 获取看板视图图片src
+    getViewSrc: function (params) {
+      const _self =this;
+      getSrc(params).then(
+        successData => {
+          if (successData.errorCode === 0) {
+            _self.iconSrc = Common.getRootPath() + successData.data;
+          } else {
+            message.warning(successData.errorMessage);
+          }
+        },
+        errorData => {
+          Common.processException(errorData);
+        },
+      );
+    },
   },
 });
 

+ 7 - 1
packages/info/src/QueryPage.vue

@@ -225,6 +225,11 @@ export default {
       type: String,
       default: null,
     },
+    // icon前缀地址
+    iconSrc: {
+      type: String,
+      default: '',
+    },
 
     /**
      * 是否多选
@@ -892,7 +897,8 @@ export default {
         name: infoWindowDashbaord.name,
         value: componentName,
         payload: {
-          src: 'https://joeschmoe.io/api/v1/random',
+          // src: 'https://joeschmoe.io/api/v1/random',
+          src: _self.iconSrc + infoWindowDashbaord.icon,
           style: {
             backgroundColor: '#f56a00',
           },