wangmengwei hai 4 semanas
pai
achega
8e00c773a4

+ 10 - 0
src/api/zhaoshang/qyxx.js

@@ -8,6 +8,16 @@ export function getXmbh(query) {
     params: query
   })
 }
+// tab数字
+export function tap(query) {
+  return request({
+    url: '/zhaoshangV3/index/tap',
+    method: 'get',
+    params: query
+  })
+}
+
+
 // 查询招商引资_签约信息列表
 export function listQyxx(query) {
   return request({

+ 1 - 0
src/components/FileUploadt/index.vue

@@ -196,6 +196,7 @@ export default {
       this.$modal.msgError("上传文件失败,请重试")
       this.$modal.closeLoading()
     },
+	
     // 上传成功回调
     handleUploadSuccess(res, file) {
       if (res.code === 200) {

+ 13 - 7
src/views/project/list.vue

@@ -53,7 +53,7 @@
               <div slot="label" class="tab flexc">
                 <img class="tabimg" v-if="activeName=='first'" src="@/assets/images/project/taba_.png"/>
                 <img class="tabimg" v-else src="@/assets/images/project/taba.png"/>
-                <span>签约环节(6)
+                <span>签约环节({{numg.qyxxNum}})
                 </span>
               </div>
               <!-- 列表数据 -->
@@ -62,7 +62,7 @@
               <div slot="label" class="tab flexc">
                 <img class="tabimg" v-if="activeName=='second'" src="@/assets/images/project/tabb_.png"/>
                 <img class="tabimg" v-else src="@/assets/images/project/tabb.png"/>
-                <span>开工环节(2)
+                <span>开工环节({{numg.kgxxNum}})
                 </span>
               </div>
             </el-tab-pane>
@@ -70,7 +70,7 @@
               <div slot="label" class="tab flexc">
                 <img class="tabcimg" v-if="activeName=='third'" src="@/assets/images/project/tabc_.png"/>
                 <img class="tabcimg" v-else src="@/assets/images/project/tabc.png"/>
-                <span>建设环节(5)
+                <span>建设环节({{numg.jsxxNum}})
                 </span>
               </div>
               </el-tab-pane>
@@ -78,7 +78,7 @@
               <div slot="label" class="tab flexc">
                 <img class="tabdimg" v-if="activeName=='fourth'" src="@/assets/images/project/tabd_.png"/>
                 <img class="tabdimg" v-else src="@/assets/images/project/tabd.png"/>
-                <span>投产环节(2)
+                <span>投产环节({{numg.tcxxNum}})
                 </span>
               </div>
               </el-tab-pane>
@@ -115,7 +115,7 @@
 
 <script>
 // import { listNotice, getNotice, delNotice, addNotice, updateNotice } from "@/api/system/notice"
-import { listQyxx, getQyxx, delQyxx, addQyxx, updateQyxx } from "@/api/zhaoshang/qyxx" 
+import { listQyxx, getQyxx, delQyxx, addQyxx, updateQyxx,tap } from "@/api/zhaoshang/qyxx" 
 import firstInfoForm from "./firstInfoForm"
 import boxlist from "./boxlist.vue"
 export default {
@@ -180,7 +180,8 @@ export default {
             }],
        activeName:'first',
        info:{},
-	   isgse:false
+	   isgse:false,
+	   numg:{}
     }
   },
   created() {
@@ -208,12 +209,17 @@ export default {
       listQyxx(this.queryParams).then(response => {
         this.noticeList = response.rows
 		this.liesse.noticeList = response.rows
-		console.log(this.liesse)
         this.total = response.total
 		this.isgse = true
         this.loading = false
+		this.getListnum()
       })
     },
+	getListnum() {
+	  tap().then(response => {
+	    this.numg = response.data
+	  })
+	},
     handleClick(){
 	 if(this.activeName == 'first'){
 		 this.queryParams.progress = 1

+ 7 - 9
src/views/zhaoshang/Information/firstInfoForm.vue

@@ -252,12 +252,12 @@
 					       <img class="imgb" src="@/assets/images/project/upb.png"/>
 					     </div>上传
 					   </div> -->
-                     <div class="btna flexc cob" @click="getLook(scope.row['fjUrl'])">
+                     <div class="btna flexc cob" style="cursor: pointer;" @click="getLook(scope.row['fjUrl'])">
                        <div class="imgs">
                          <img class="imgb" src="@/assets/images/project/upb.png"/>
                        </div>预览
                      </div>
-                     <div class="btna flexc coc" @click="handleDownload(scope.row)">
+                     <div style="cursor: pointer;" class="btna flexc coc" @click="handleDownload(scope.row)">
                        <div class="imgs">
                          <img class="imga" src="@/assets/images/project/upc.png"/>
                        </div>下载
@@ -279,6 +279,7 @@
 </template>
 
 <script>
+const defaultSettings = require("@/settings.js");
 export default {
   props: {
     info: {
@@ -316,14 +317,11 @@ export default {
                 label: '双皮奶'
               }],
       tableData:[
-        // {fjlx: '项目可行性研究报告',type:'1',datas:{xmbh:null,bigType:'a',type:'1',fileName:null}},
-        // {fjlx: '项目尽调报告',type:'2',datas:{xmbh:null,bigType:'a',type:'2',fileName:null}},
-        // {fjlx: '营业执照',type:'3',datas:{xmbh:null,bigType:'a',type:'3',fileName:null}},
-        // {fjlx: '发改委立项',type:'4',datas:{xmbh:null,bigType:'a',type:'4',fileName:null}},
-        // {fjlx: '投资合同',type:'5',datas:{xmbh:null,bigType:'a',type:'5',fileName:null}},
+      
       ],
       rules: {
-      }
+      },
+	  defaultSettings:defaultSettings,
     }
   },
   methods:{
@@ -331,7 +329,7 @@ export default {
       return this.selectDictLabela(list, val);
     },
     getLook(url){
-
+		this.$emit('getTreeData',url);
     },
     handleDownload(row){
           var name = row.fjName;

+ 9 - 16
src/views/zhaoshang/Information/fourthInfoForm.vue

@@ -75,12 +75,12 @@
                 <el-table-column align="center" label="操作" width="30%">
                   <template slot-scope="scope">
                    <div class="flexcc">
-                     <div class="btna flexc cob">
+                     <div class="btna flexc cob" style="cursor: pointer;" @click="getLook(scope.row['fjUrl'])">
                        <div class="imgs">
                          <img class="imgb" src="@/assets/images/project/upb.png"/>
                        </div>预览
                      </div>
-                     <div class="btna flexc coc" @click="handleDownload(scope.row)">
+                     <div class="btna flexc coc" style="cursor: pointer;" @click="handleDownload(scope.row)">
                        <div class="imgs">
                          <img class="imga" src="@/assets/images/project/upc.png"/>
                        </div>下载
@@ -102,6 +102,7 @@
 </template>
 
 <script>
+	const defaultSettings = require("@/settings.js");
 export default {
   props: {
     info: {
@@ -149,19 +150,8 @@ export default {
       }],
       tableDataa:[],
       rules: {
-        // tableName: [
-        //   { required: true, message: "请输入表名称", trigger: "blur" }
-        // ],
-        // tableComment: [
-        //   { required: true, message: "请输入表描述", trigger: "blur" }
-        // ],
-        // className: [
-        //   { required: true, message: "请输入实体类名称", trigger: "blur" }
-        // ],
-        // functionAuthor: [
-        //   { required: true, message: "请输入作者", trigger: "blur" }
-        // ]
-      }
+      },
+	  defaultSettings:defaultSettings,
     }
   },
   methods:{
@@ -169,7 +159,10 @@ export default {
           var name = row.fjName;
           var url = row.fjUrl;
           this.$download.resource(url,false)
-    }
+    },
+	getLook(url){
+		this.$emit('getTreeData',url);
+	},
   }
 }
 </script>

+ 120 - 5
src/views/zhaoshang/Information/index.vue

@@ -24,7 +24,7 @@
                   <span>签约环节
                   </span>
                 </div>
-                <first-info-form ref="firstInfo" :info="infoqy" :cylbOptions="cylbOptions" :qybjOptions="qybjOptions"></first-info-form>
+                <first-info-form @getTreeData='testData' ref="firstInfo" :info="infoqy" :cylbOptions="cylbOptions" :qybjOptions="qybjOptions"></first-info-form>
               </el-tab-pane>
               <el-tab-pane  name="second">
                 <div slot="label" class="tab flexc">
@@ -33,7 +33,7 @@
                   <span>开工环节
                   </span>
                 </div>
-                <second-info-form ref="secondInfo" :info="infokg"></second-info-form>
+                <second-info-form @getTreeData='testData' ref="secondInfo" :info="infokg"></second-info-form>
               </el-tab-pane>
               <el-tab-pane  name="third">
                 <div slot="label" class="tab flexc">
@@ -42,7 +42,7 @@
                   <span>建设环节
                   </span>
                 </div>
-                <third-info-form ref="thirdInfo" :info="infojs" :jdqkData="jdqkData"></third-info-form>
+                <third-info-form  @getTreeData='testData' ref="thirdInfo" :info="infojs" :jdqkData="jdqkData"></third-info-form>
                 </el-tab-pane>
               <el-tab-pane  name="fourth">
                 <div slot="label" class="tab flexc">
@@ -51,7 +51,7 @@
                   <span>投产环节
                   </span>
                 </div>
-                <fourth-info-form ref="fourthInfo" :info="infotc" :jsxmjzData="jsxmjzData"></fourth-info-form>
+                <fourth-info-form @getTreeData='testData' ref="fourthInfo" :info="infotc" :jsxmjzData="jsxmjzData"></fourth-info-form>
                 </el-tab-pane>
             </el-tabs>
 
@@ -76,6 +76,7 @@
   import {addTcxx, updateTcxx, delTcxx, getTcxx,getTcxxNum,listTcxx } from "@/api/zhaoshang/tcxx"
   import {listMonth} from "@/api/zhaoshang/month"
   import {listJdqk} from "@/api/zhaoshang/jdqk"
+  const defaultSettings = require("@/settings.js");
   export default{
     components:{
       firstInfoForm,secondInfoForm,thirdInfoForm,fourthInfoForm
@@ -104,6 +105,7 @@
     qybjOptions:[],
     jsxmjzData:[],
     jdqkData:[],//建工进度情况
+	 defaultSettings:defaultSettings,
       }
     },
 	created() {
@@ -194,7 +196,120 @@
         			 rou.shiji = (rou.tdcrzjes - 0) +  (rou.cftrjes - 0) +(rou.sbqds - 0)+(rou.fpjes - 0)+(rou.htjes - 0)
         })
          })
-      }
+      },
+	  testData(url){
+	   let type = this.matchType(url)
+	  if(process.env.VUE_APP_BASE_API == '/dev-api'){
+	  	url = this.defaultSettings.urls + url
+	  }else{
+	  	url = this.defaultSettings.urls+process.env.VUE_APP_BASE_API + url
+	  }
+	   if( type == "image"){
+	       window.open(url )
+	   }
+	   if( type == "word"){
+	     window.open('https://view.officeapps.live.com/op/view.aspx?src=' + url )
+	   }
+	   if( type == "pdf" || type == 'other'  ){
+	       window.open(url )
+	   }
+	   if( type == "excel"){
+	     window.open('https://view.officeapps.live.com/op/view.aspx?src=' + url )
+	   }
+	  },
+	  matchType(fileName) {
+	    // 后缀获取
+	    var suffix = '';
+	    // 获取类型结果
+	    var result = '';
+	    try {
+	      var flieArr = fileName.split('.');
+	      suffix = flieArr[flieArr.length - 1];
+	    } catch (err) {
+	      suffix = '';
+	    }
+	    // fileName无后缀返回 false
+	    if (!suffix) {
+	      result = false;
+	      return result;
+	    }
+	    // 图片格式
+	    var imglist = ['png', 'jpg', 'jpeg', 'bmp', 'gif'];
+	    // 进行图片匹配
+	    result = imglist.some(function(item) {
+	      return item == suffix;
+	    });
+	    if (result) {
+	      result = 'image';
+	      return result;
+	    };
+	    // 匹配txt
+	    var txtlist = ['txt'];
+	    result = txtlist.some(function(item) {
+	      return item == suffix;
+	    });
+	    if (result) {
+	      result = 'txt';
+	      return result;
+	    };
+	    // 匹配 excel
+	    var excelist = ['xls', 'xlsx'];
+	    result = excelist.some(function(item) {
+	      return item == suffix;
+	    });
+	    if (result) {
+	      result = 'excel';
+	      return result;
+	    };
+	    // 匹配 word
+	    var wordlist = ['doc', 'docx','word'];
+	    result = wordlist.some(function(item) {
+	      return item == suffix;
+	    });
+	    if (result) {
+	      result = 'word';
+	      return result;
+	    };
+	    // 匹配 pdf
+	    var pdflist = ['pdf'];
+	    result = pdflist.some(function(item) {
+	      return item == suffix;
+	    });
+	    if (result) {
+	      result = 'pdf';
+	      return result;
+	    };
+	    // 匹配 ppt
+	    var pptlist = ['ppt'];
+	    result = pptlist.some(function(item) {
+	      return item == suffix;
+	    });
+	    if (result) {
+	      result = 'ppt';
+	      return result;
+	    };
+	    // 匹配 视频
+	    var videolist = ['mp4', 'm2v', 'mkv'];
+	    result = videolist.some(function(item) {
+	      return item == suffix;
+	    });
+	    if (result) {
+	      result = 'video';
+	      return result;
+	    };
+	    // 匹配 音频
+	    var radiolist = ['mp3', 'wav', 'wmv'];
+	    result = radiolist.some(function(item) {
+	      return item == suffix;
+	    });
+	    if (result) {
+	      result = 'radio';
+	      return result;
+	    }
+	    // 其他 文件类型
+	    result = 'other';
+	    return result;
+	  },
     }
   }
 </script>

+ 9 - 4
src/views/zhaoshang/Information/secondInfoForm.vue

@@ -67,12 +67,12 @@
                 <el-table-column align="center" label="操作" width="30%">
                   <template slot-scope="scope">
                    <div class="flexcc">
-                     <div class="btna flexc cob">
+                     <div class="btna flexc cob" style="cursor: pointer;" @click="getLook(scope.row['fjUrl'])">
                        <div class="imgs">
                          <img class="imgb" src="@/assets/images/project/upb.png"/>
                        </div>预览
                      </div>
-                     <div class="btna flexc coc" @click="handleDownload(scope.row)">
+                     <div class="btna flexc coc" style="cursor: pointer;" @click="handleDownload(scope.row)">
                        <div class="imgs">
                          <img class="imga" src="@/assets/images/project/upc.png"/>
                        </div>下载
@@ -94,6 +94,7 @@
 </template>
 
 <script>
+	const defaultSettings = require("@/settings.js");
 export default {
   props: {
     info: {
@@ -116,7 +117,8 @@ export default {
       value:'',
       value1:'',
       tableData: [],
-      rules: {}
+      rules: {},
+	  defaultSettings:defaultSettings,
     }
   },
   methods:{
@@ -127,7 +129,10 @@ export default {
           var name = row.fjName;
           var url = row.fjUrl;
           this.$download.resource(url,false)
-    }
+    },
+	getLook(url){
+		this.$emit('getTreeData',url);
+	},
   }
 }
 </script>

+ 9 - 4
src/views/zhaoshang/Information/thirdInfoForm.vue

@@ -129,12 +129,12 @@
                 <el-table-column align="center" label="操作" width="30%">
                   <template slot-scope="scope">
                    <div class="flexcc">
-                     <div class="btna flexc cob" @click="getLook(scope.row['fjUrl'])">
+                     <div class="btna flexc cob" style="cursor: pointer;" @click="getLook(scope.row['fjUrl'])">
                        <div class="imgs">
                          <img class="imgb" src="@/assets/images/project/upb.png"/>
                        </div>预览
                      </div>
-                     <div class="btna flexc coc" @click="handleDownload(scope.row)">
+                     <div class="btna flexc coc" style="cursor: pointer;" @click="handleDownload(scope.row)">
                        <div class="imgs">
                          <img class="imga" src="@/assets/images/project/upc.png"/>
                        </div>下载
@@ -156,6 +156,7 @@
 </template>
 
 <script>
+	const defaultSettings = require("@/settings.js");
 export default {
   props: {
     info: {
@@ -190,7 +191,8 @@ export default {
       tableData: [],
       tableDataa:[],
       rules: {
-      }
+      },
+	  defaultSettings:defaultSettings,
     }
   },
   methods:{
@@ -198,7 +200,10 @@ export default {
           var name = row.fjName;
           var url = row.fjUrl;
           this.$download.resource(url,false)
-    }
+    },
+	getLook(url){
+		this.$emit('getTreeData',url);
+	},
   }
 }
 </script>