Browse Source

别名维护-导入

liucf 6 years ago
parent
commit
401a5fc9f9
5 changed files with 68 additions and 23 deletions
  1. 1 0
      src/api/config.js
  2. 6 3
      src/api/icss.js
  3. 15 5
      src/components/icss/AddSimilarName.vue
  4. 45 14
      src/components/icss/SimilarName.vue
  5. 1 1
      vue.config.js

+ 1 - 0
src/api/config.js

@@ -100,6 +100,7 @@ export default {
     'similarNameDetl': 'api/icssman/retrieval/getRetrievalsByTag', //别名维护-详情
     'addSimilarName': 'api/icssman/retrieval/addTagRetrieval', //别名维护-添加、修改
     'searchLable': 'api/icssman/questionInfo/index', //标签检索
+    'uploadFile': 'api/icssman/retrieval/retrievalExcelIm', //别名维护-导入
 	},
 	menuIconList: { //菜单对应图标
 		'YH-KZT': 'el-icon-menu',

+ 6 - 3
src/api/icss.js

@@ -48,13 +48,16 @@ export default {
     delSimilarName(param) {//别名维护-删除
         return axios.post(urls.delSimilarName, param)
     },
-    similarNameDetl(param) {//别名维护-删除
+    similarNameDetl(param) {//别名维护-详情
         return axios.post(urls.similarNameDetl, param)
     },
-    addSimilarName(param) {//别名维护-删除
+    addSimilarName(param) {//别名维护-添加、修改
         return axios.post(urls.addSimilarName, param)
     },
-    searchLable(param) {//别名维护-删除
+    searchLable(param) {//别名维护-搜索标签
         return axios.post(urls.searchLable, param)
     },
+    uploadFile(param) {//别名维护-导入
+        return axios.post(urls.uploadFile, param)
+    },
 }

+ 15 - 5
src/components/icss/AddSimilarName.vue

@@ -2,12 +2,12 @@
   <div>
     <crumbs :title="minTitle" linkTo="/admin/LT-YXSJWH-BMWH"></crumbs>
     <div class="contents">
-      <div class="content">
+      <div class="content" @click="close">
         <h3>选择标签</h3>
         <p :class="['ename',{'name':flag}]">{{name}}</p>
         <div v-if="!flag" class="searchBox">
           <input type="text" name="" v-model="searchStr" class="name">
-          <span class="search" @click="search">搜索</span>
+          <span class="search" @click.stop="search">搜索</span>
           <ul v-if="showFlag">
             <li v-for="it in searchDatas" :key="it.id" @click="choose(it)" :title="it.tagName.length>10?it.tagName:''">{{it.tagName}}</li>
           </ul>
@@ -181,9 +181,13 @@
           dataList = selfEmpty.concat(retrievalNames,retrievalEmpty,retrievalSonNames,sonEmpty);
           this.toast = "添加成功";
         }
-        console.log(111,dataList);
+        // 过滤掉空数据
+        let filterData = dataList.filter((item)=>{
+          return item.retrievalName;
+        })
+        console.log(111,dataList,filterData);
         const params = {
-          'itemList':dataList,
+          'itemList':filterData,
           'questionId':this.id,
           'questionName':this.name
         }
@@ -224,6 +228,11 @@
         this.name = item.tagName;
         this.id = item.id;
         this.showFlag = false;
+        this.searchStr = "";
+      },
+      close(){
+        this.showFlag = false;
+        this.searchStr = "";
       }
     },
     watch:{
@@ -305,7 +314,8 @@
       top: 55px;
       border:1px solid #ccc;
       background: #fff;
-      // margin-left: 5px;
+      max-height: 291px;
+      overflow-y: scroll;
       li{
         border:1px solid #fff;
         padding-left: 7px;

+ 45 - 14
src/components/icss/SimilarName.vue

@@ -7,7 +7,8 @@
                 </el-form-item>
                 <el-form-item>
                     <el-button size="mini" @click="filterDatas">确认</el-button>
-                    <el-button size="mini" @click="filterDatas">导入</el-button>
+                    <el-button size="mini" @click="uploadClick">导入</el-button>
+                    <input type="file" name="uploadfile " id="upFile" @change="uploadFile($event)" accept=".csv, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet">
                     <router-link to="/admin/LT-YXSJWH-TJBM" style="margin:0 10px">
                         <el-button size="mini" type="warning">添加别名</el-button>
                     </router-link>
@@ -31,27 +32,23 @@
                 </el-table-column>
                 <el-table-column
                         prop="questionName"
-                        label="标签名称">
+                        label="标签名称"
+                        show-overflow-tooltip>
                 </el-table-column>
                 <el-table-column
                         prop="retrievalSelfName"
-                        label="本体">
+                        label="本体"
+                        show-overflow-tooltip>
                 </el-table-column>
                 <el-table-column
                         prop="retrievalNames"
-                        label="别名">
+                        label="别名"
+                        show-overflow-tooltip>
                 </el-table-column>
                 <el-table-column
                         prop="retrievalSonNames"
-                        label="子项">
-                   <!--  <template slot-scope="scope">
-                      <el-popover trigger="hover" placement="top">
-                        <p>{{ scope.row.retrievalSonNames }}</p>
-                        <div slot="reference" class="name-wrapper">
-                          <el-tag size="medium">{{ scope.row.retrievalSonNames }}</el-tag>
-                        </div>
-                      </el-popover>
-                    </template> -->
+                        label="子项"
+                        show-overflow-tooltip>
                 </el-table-column>
                 <el-table-column
                         prop="operatorName"
@@ -89,7 +86,7 @@
 <script>
   import api from '@api/icss.js';
   import utils from '@api/utils.js';
-
+  import axios from 'axios';
   export default {
     name: 'SimilarName',
     data: function () {
@@ -199,6 +196,37 @@
             this.warning(error);
           })
         });
+      },
+      uploadClick(){
+        let inp = document.getElementById("upFile");
+        inp.click();
+      },
+      uploadFile(e){
+        let fileInfo = e.target.files[0];
+        e.preventDefault();
+        let formData = new FormData();
+        formData.append('uploadfile', fileInfo);
+        console.log(123,fileInfo,formData);
+        const header = {
+          headers:{
+            'Content-Type': 'multipart/form-data'
+          }
+        }
+        api.uploadFile(formData,header).then((res)=>{
+          if(res.data.code==0){
+            this.$message({
+              message: '上传成功',
+              type: 'success',
+            });
+          }else{
+            this.$message.error(res.data.msg);
+          }
+        })
+        this.getDataList();
+        /*//解决上传相同文件不触发change
+        let inp = document.getElementById("upFile");
+        inp.value = "";
+        */
       }
     }
   }
@@ -218,4 +246,7 @@
       overflow: hidden;
       white-space: nowrap;
     }
+    #upFile{
+      display: none;
+    }
 </style>

+ 1 - 1
vue.config.js

@@ -2,7 +2,7 @@ const path = require('path');
 // const proxy_path = 'http://192.168.2.236:80';
 // const proxy_path = 'http://192.168.2.241:88';
 const proxy_path = 'http://192.168.2.236:88';
-// const proxy_path = 'http://192.168.3.100:5050';
+// const proxy_path = 'http://192.168.3.101:5050';
 // const proxy_path = 'http://192.168.3.117:5050';//周铁刚
 // const proxy_path = 'http://192.168.3.115:5050';