wuxw лет назад: 6
Родитель
Сommit
f8b4f3d930

+ 42 - 0
WebService/src/main/java/com/java110/web/components/assetImport/AssetImportComponent.java

@@ -0,0 +1,42 @@
+package com.java110.web.components.assetImport;
+
+import com.java110.core.context.IPageData;
+import com.java110.web.controller.CallComponentController;
+import com.java110.web.smo.app.IAddAppSMO;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Component;
+
+/**
+ * 添加应用组件
+ */
+@Component("assetImport")
+public class AssetImportComponent {
+
+    private final static Logger logger = LoggerFactory.getLogger(CallComponentController.class);
+
+    @Autowired
+    private IAddAppSMO addAppSMOImpl;
+
+    /**
+     * 添加应用数据
+     * @param pd 页面数据封装
+     * @return ResponseEntity 对象
+     */
+    public ResponseEntity<String> importData(IPageData pd){
+
+        logger.debug("请求参数为:%s", pd.getReqData());
+        return new ResponseEntity<String>("成功", HttpStatus.OK);
+    }
+
+    public IAddAppSMO getAddAppSMOImpl() {
+        return addAppSMOImpl;
+    }
+
+    public void setAddAppSMOImpl(IAddAppSMO addAppSMOImpl) {
+        this.addAppSMOImpl = addAppSMOImpl;
+    }
+}

+ 38 - 26
WebService/src/main/resources/components/systemPackage/assetImport/assetImport.html

@@ -1,34 +1,37 @@
-<div class="row">
-    <div class="col-lg-12">
-        <div class="ibox ">
-            <div class="ibox-title">
-                <h5>资产导入</h5>
-                <div class="ibox-tools" style="top:10px;">
-                    <button type="button" class="btn btn-primary btn-sm" v-on:click="_openDownloadHcExcelTemplate()">
-                        <i class="glyphicon glyphicon-download-alt"></i>
-                        模板
-                    </button>
+<div>
+    <div class="row">
+        <div class="col-lg-12">
+            <div class="ibox ">
+                <div class="ibox-title">
+                    <h5>资产导入</h5>
+                    <div class="ibox-tools" style="top:10px;">
+                        <button type="button" class="btn btn-primary btn-sm"
+                                v-on:click="_openDownloadHcExcelTemplate()">
+                            <i class="glyphicon glyphicon-download-alt"></i>
+                            模板
+                        </button>
+                    </div>
                 </div>
-            </div>
-            <div class="ibox-content">
-                <div>
+                <div class="ibox-content">
                     <div>
-                        <div class="form-group row">
-                            <label class="col-sm-2 col-form-label">选择文件</label>
-                            <div class="col-sm-10">
-                                <input ref="excelTemplate" type="file" placeholder="必填,请选择数据文件"
-                                       class="form-control"
-                                       name="excelTemplate"
-                                       v-on:change="getExcelTemplate($event)"
-                                       accept=".xls,.xlsx"
-                                >
+                        <div>
+                            <div class="form-group row">
+                                <label class="col-sm-2 col-form-label">选择文件</label>
+                                <div class="col-sm-10">
+                                    <input ref="excelTemplate" type="file" placeholder="必填,请选择数据文件"
+                                           class="form-control"
+                                           name="excelTemplate"
+                                           v-on:change="getExcelTemplate($event)"
+                                           accept=".xls,.xlsx"
+                                    >
+                                </div>
                             </div>
-                        </div>
-                        <div class="form-group row">
-                            <label class="col-sm-2 col-form-label">备注</label>
-                            <div class="col-sm-10">
+                            <div class="form-group row">
+                                <label class="col-sm-2 col-form-label">备注</label>
+                                <div class="col-sm-10">
                                 <textarea v-model="assetImportInfo.remark" type="text" placeholder="请填写备注信息" rows="3"
                                           class="form-control"></textarea>
+                                </div>
                             </div>
                         </div>
                     </div>
@@ -36,4 +39,13 @@
             </div>
         </div>
     </div>
+
+    <div class="row">
+        <div class="col-md-10"></div>
+        <div class="col-md-2 " style="margin-bottom:10px; text-align:right">
+            <button type="button" class="btn btn-primary"
+                    v-on:click="_importData()">导入
+            </button>
+        </div>
+    </div>
 </div>

+ 71 - 6
WebService/src/main/resources/components/systemPackage/assetImport/assetImport.js

@@ -6,6 +6,7 @@
     vc.extends({
         data:{
             assetImportInfo:{
+                communityId: vc.getCurrentCommunity().communityId,
                 excelTemplate:'',
                 remark:""
             }
@@ -29,21 +30,85 @@
                                     param:"",
                                     errInfo:"文件不能为空"
                                 }
+                            ],
+                            'assetImportInfo.communityId':[
+                                {
+                                    limit:"required",
+                                    param:"",
+                                    errInfo:"还未入驻小区,请先入驻小区"
+                                }
                             ]
                         });
             },
-            saveAssetImportInfo:function(){
-                if(!vc.component.assetImportValidate()){
-                    return ;
-                }
-            },
             _openDownloadHcExcelTemplate:function(){
                 //下载 模板
                 vc.jumpToPage('/import/hc.xlsx')
             },
             getExcelTemplate:function(e){
-                console.log("getExcelTemplate 开始调用")
+                //console.log("getExcelTemplate 开始调用")
                vc.component.assetImportInfo.excelTemplate = e.target.files[0]
+            },
+            _importData:function(){
+
+                if(!vc.component.assetImportValidate()){
+                    return ;
+                }
+                // 导入数据
+                if (!vc.component.checkFileType(tFiles[i].name.split('.')[1])) {
+                    vc.message('不是有效的Excel格式');
+                    return ;
+                }
+                if (!vc.component.checkFileSize(tFiles[i].size)) {
+                    vc.message('Excel文件大小不能超过2M');
+                    return ;
+                }
+                var param = new FormData();
+                param.append("excelTemplate", vc.component.assetImportInfo.excelTemplate);
+                param.append('communityId',vc.component.assetImportInfo.communityId);
+
+
+                vc.http.post(
+                    'assetImport',
+                    'importData',
+                    param,
+                    {
+                        emulateJSON:true,
+                        //添加请求头
+                        headers: {
+                            "Content-Type": "multipart/form-data"
+                        }
+                     },
+                     function(json,res){
+                        //vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
+                        if(res.status == 200){
+                            //关闭model
+                            vc.message("处理成功");
+                            vc.jumpToPage('/flow/ownerFlow')
+                            return ;
+                        }
+                        vc.message(json);
+                     },
+                     function(errInfo,error){
+                        console.log('请求失败处理');
+                        vc.message(errInfo);
+                     });
+            },
+            checkFileType: function (fileType) {
+                const acceptTypes = ['xls', 'xlsx'];
+                for (var i = 0; i < acceptTypes.length; i++) {
+                    if (fileType === acceptTypes[i]) {
+                        return true;
+                    }
+                }
+                return false;
+            },
+            checkFileSize: function (fileSize) {
+                //2M
+                const MAX_SIZE = 2 * 1024 * 1024;
+                if (fileSize > MAX_SIZE) {
+                    return false;
+                }
+                return true;
             }
 
         }

+ 1 - 1
WebService/src/main/resources/views/init_company.html

@@ -18,7 +18,7 @@
 <body class="gray-bg">
 
 <vc:create name="loading"></vc:create>
-<div >
+<div>
     <vc:create name="company"></vc:create>
 
 </div>