Browse Source

2022-12-15 11:30

codeMan 2 years ago
parent
commit
45d34bd945

+ 1 - 1
src/HDrpManagement/projectChange/modules/modules/clue/index.vue

@@ -15,7 +15,7 @@
       </el-input>
     </div>
     <div style="margin-top: 15px">
-      <tableLayout :layout="tablecols" :data="list" :opwidth="200"  :custom="true" width="true"  :height="tableHieght" fixedName="operation">
+      <tableLayout :layout="tablecols" :data="list" :opwidth="200"  :custom="true" :width="false"  :height="tableHieght" fixedName="operation">
         <template v-slot:customcol="scope">
           <p v-if="scope.column.columnname == 'leader'">
             <span v-if="scope.column.data[scope.column.columnname]">

+ 22 - 7
src/HDrpManagement/reportcenter/index.vue

@@ -10,9 +10,6 @@
       idName="userid" 
       :apiId="{query:20221213094401,del:20221031141202}"
       :options="options"
-      :detailPath="{
-        path:'/account_details'
-      }"
       @listCreate="listCreate"
       @listData="listData">
       <div slot="custom"></div>
@@ -22,13 +19,13 @@
         </div>
       </template>
       <template v-slot:tbOpreation="scope">
+        <el-button v-if="tool.checkAuth($route.name,'read')" type="text" size="mini" @click="goDetail(scope.data.data)">数 据</el-button>
       </template>
     </basicLayout>
   </div>
 </template>
 
 <script>
-import { log } from '@antv/g2plot/lib/utils';
 export default {
   data () {
     return {
@@ -38,8 +35,6 @@ export default {
   },
   methods:{
     listCreate (params) {
-      console.log(params,JSON.parse(sessionStorage.getItem('activeApp')).systemappid,'create');
-      
       params.content.systemappid = JSON.parse(sessionStorage.getItem('activeApp')).systemappid
       console.log(params);
       
@@ -47,8 +42,28 @@ export default {
     listData (data) {
       console.log(data);
       
+    },
+    async goDetail (data) {
+      
+      let res = await this.$api.requested({
+        "id":20221213094501,
+        "content": {
+          sys_reportid:data.sys_reportid,
+          dataid:0
+        }
+      })
+      console.log(res);
+      this.tool.showMessage(res,() => {
+        window.open(this.$baseUrl + res.data)  
+      })
+      
     }
-  }
+  },
+  // created () {
+  //   setTimeout(() => {
+      
+  //   },2000)
+  // }
 }
 
 </script>

+ 1 - 1
src/HManagement/clueManage/clue_private/modules/recall.vue

@@ -3,7 +3,7 @@
     <el-popconfirm
       title="确定撤回当前线索吗?"
       @confirm="revoke()">
-      <el-button slot="reference" size="mini">撤 回</el-button>
+      <el-button slot="reference" type="primary" size="mini">撤 回</el-button>
     </el-popconfirm>
     
   </div>

+ 5 - 6
src/SManagement/orderclue/components/edit.vue

@@ -50,6 +50,7 @@
 
 <script>
 import selectActivity from '@/SManagement/orderclue/components/selectActivity/selectActivity'
+import { log } from '@antv/g2plot/lib/utils'
 export default {
   components: {selectActivity},
   data () {
@@ -108,8 +109,8 @@ export default {
   watch: {
    data(val) {
      let is 
-      if(this.data.leader.length <= 0 ) return
-      if(JSON.parse(window.sessionStorage.getItem('userInfo')).userid == this.data.leader[0].userid) {
+      if (!Object.keys(this.data).length) return
+      if(this.data.leader.length > 0 && JSON.parse(window.sessionStorage.getItem('userInfo')).userid == this.data.leader[0].userid) {
         is = true
         if(this.data.status == '待跟进' || this.data.status == '跟进中') {
           is = true
@@ -126,10 +127,8 @@ export default {
   methods: {
     isHandleFun () {
       let is 
-      console.log(this.data);
-      
-      if(this.data.leader.length <= 0 ) return
-      if(JSON.parse(window.sessionStorage.getItem('userInfo')).userid == this.data.leader[0].userid) {
+      if (!Object.keys(this.data).length) return
+      if(this.data.leader.length > 0 && JSON.parse(window.sessionStorage.getItem('userInfo')).userid == this.data.leader[0].userid) {
         is = true
         if(this.data.status == '待跟进' || this.data.status == '跟进中') {
           is = true

+ 37 - 1
src/components/normal-basic-layout/index.vue

@@ -51,6 +51,13 @@
            
             <template v-slot:opreation="scope">
               <drawerTemp class="inline-16" v-if="detailPath" :data="scope.data" :detailPath="detailPath" :idName="idName" @onSuccess="listData"></drawerTemp>
+
+              <reportCenter class="inline-16" :data="reportCenterLsit" v-if="reportCenterLsit.length > 0">
+                <template v-slot:print="scope2">
+                  <el-button @click="printBtn(scope.data,scope2.data)" type="text" size="mini">打 印</el-button>
+                </template>
+              </reportCenter>
+
               <slot :data="scope" name="tbOpreation"></slot>
             </template>
           </tableTemp>
@@ -74,6 +81,7 @@
 
 <script>
 import {mapGetters} from 'vuex'
+import { log } from '@antv/g2plot/lib/utils'
 export default {
   componentName:'normalTable',
   props:['tableName','idName','tableData','apiId','formPath','oldFormPath','options','autoQuery','detailPath','customTitle','hidePagination'],
@@ -87,6 +95,7 @@ export default {
     excel:() =>  import('@/components/export_excel/index.vue'),
     cardTemp:() => import('./modules/cardList.vue'),
     drawer:() =>  import('./drawerDetail/drawer'),
+    reportCenter:() =>  import('./reportCenter/index'),
 
   },
   computed:{
@@ -122,7 +131,9 @@ export default {
       currentPage:0,
       refreshTable:true,
       title:'',
-      name:''
+      name:'',
+      systemappid:JSON.parse(sessionStorage.getItem('activeApp')).systemappid,
+      reportCenterLsit:[]
     }
   },
   methods:{
@@ -230,6 +241,29 @@ export default {
       this.param.content.pageNumber = 1
       this.param.content.where.tablefilter[key] = val
       this.listData()
+    },
+    /* 获取是否有报表数据 */
+    async getSystemAppid () {
+      let res = await this.$api.requested({
+        "id":20221213094401,
+        "content": {
+          "systemappid":this.systemappid,
+        }
+      })
+      this.reportCenterLsit = res.data
+      console.log(res,'报表数据');
+    },
+    async printBtn (data,data2) {
+      let res = await this.$api.requested({
+        "id":20221213094501,
+        "content": {
+          sys_reportid:data2.sys_reportid,
+          dataid:data[this.idName]
+        }
+      })
+      this.tool.showMessage(res,() => {
+        window.open(this.$baseUrl + res.data)  
+      })
     }
   },
   watch:{
@@ -242,6 +276,8 @@ export default {
     this.layout = this.tool.tabelCol(this.$route.name)[this.tableName].tablecols
     this.tableLayout = this.layout
     this.$emit('listCreate',this.param)
+
+    this.getSystemAppid()
   }
 }
 

+ 57 - 0
src/components/normal-basic-layout/reportCenter/index.vue

@@ -0,0 +1,57 @@
+<template>
+  <div>
+    <el-button type="text" size="mini" @click="drawer=true">报 表</el-button>
+    <el-drawer
+    :visible.sync="drawer"
+    :with-header="false"
+    direction="rtl"
+    size="50%"
+    append-to-body>
+    <div class="detail__panel container">
+      <p class="normal-title" style="margin-bottom:16px">报表数据</p>
+      <el-table
+        :data="data"
+        height="250"
+        border
+        style="width: 100%">
+        <el-table-column
+          prop="name"
+          label="报表名称">
+        </el-table-column>
+        <el-table-column
+          prop="operation"
+          label="操作"
+          width="150px">
+          <template slot-scope="scope">
+            <slot name="print" :data="scope.row"></slot>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+  </el-drawer>
+  </div>
+</template>
+
+<script>
+export default {
+  props:['data'],
+  name: '',
+  data() {
+    return {
+      drawer:false,
+    };
+  },
+  created () {
+
+  },
+  computed:{
+  },
+  watch:{
+  },
+  methods: {},
+};
+</script>
+
+<style scoped>
+
+</style>

+ 2 - 0
src/main.js

@@ -30,6 +30,8 @@ import {hiPrintPlugin} from './index'
 Vue.use(hiPrintPlugin)
 Vue.prototype.$api = api
 
+Vue.prototype.$baseUrl = 'http://61.164.207.46:8000'
+
 Vue.prototype.$upload = upload
 
 Vue.prototype.tool = tool