Prechádzať zdrojové kódy

Merge branch 'master' into ETA1.9.6

jwyu 9 mesiacov pred
rodič
commit
c3abe7a046

+ 7 - 2
src/api/modules/reportEnApi.js

@@ -142,12 +142,17 @@ export const saveCustomEamil=params=>{
 }
 
 /**
- * 点击量
+ * 点击量 PV
  */
 export const PVDetailList=params=>{
 	return http.get('/english_report/email/pv_list',params)
 }
-
+/**
+ * UV
+ */
+export const UVDetailList=params=>{
+	return http.get('/english_report/email/uv_list',params)
+}
 /**
  * 批量发送邮件
  */

+ 5 - 1
src/lang/modules/ReportManagement/ReportList.js

@@ -14,6 +14,8 @@ export const ReportListEn = {
   designated_personnel: "Designated personnel",
   designated_sender_information: "Designated sender information:",
   please_select_personnel: "Please select personnel",
+  pv_detail:'PV Details',
+  uv_detail:'UV Details',
   click_through_details: "Click through details",
   customer_name: "Customer Name",
   email_address: "e-mail address",
@@ -132,8 +134,10 @@ export const ReportListZh = {
   designated_personnel: "指定人员",
   designated_sender_information: "指定发送人员信息:",
   please_select_personnel: "请选择人员",
+  pv_detail:'PV详情',
+  uv_detail:'UV详情',
   click_through_details: "点击量详情",
-  click_through_details: "客户名称",
+  customer_name:"客户名称",
   email_address: "邮箱地址",
   Last_click_time: "最近点击时间",
   hits_btn: "点击量",

+ 2 - 3
src/views/Home.vue

@@ -43,7 +43,7 @@
                   :style="!isCollapse ? 'text-align:left' : ''"
                   v-if="item.IsLevel === 1&&!item.hidden"
                 >
-                  <span class="el-level-path" v-if="item.path==='etaForum'" @click.prevent="handleGoETAForum">
+                  <div class="el-level-path" v-if="item.path==='etaForum'" @click.prevent="handleGoETAForum">
                     <img
                       :src="getMenuIcon(item)"
                       alt=""
@@ -62,7 +62,7 @@
                       "
                       >{{ $i18nt.locale==='zh'?item.name:item.name_en }}</span
                     >
-                  </span>
+                  </div>
                   <a
                     v-else
                     :href="`/${item.level_path}`"
@@ -92,7 +92,6 @@
                     >
                   </a>
                 </el-menu-item>
-
                 <el-submenu v-else-if="item.IsLevel!==1&&!item.hidden" :index="index" :key="index">
                   <template slot="title">
                     <img

+ 10 - 2
src/views/classify_manage/classifyEnlistV2.vue

@@ -3,11 +3,19 @@
         <div class="top-wrap">
             <div class="type-box">
                 <!-- 中文分类 -->
-                <div class="item" @click="$emit('typeChange','1')">
+                <div class="item" @click="$emit('typeChange','1')"
+                    v-permission="permissionBtn.classifyBtn.classifyList_cnClassify"
+                >
                     {{ $t('ReportManage.CategoryList.chinese_tabs') }}
                 </div>
                 <!-- 英文分类 -->
-                <div class="item active" style="margin-left: 20px;">{{ $t('ReportManage.CategoryList.english_tabs') }}</div>
+                <div class="item active" style="margin-left: 20px;"
+                    v-permission="[
+                        permissionBtn.classifyBtn.classifyList_cnClassify,
+                        permissionBtn.enClassifyBtn.classifyList_enClassify,
+                        'and'
+                    ]"
+                >{{ $t('ReportManage.CategoryList.english_tabs') }}</div>
             </div>
             <div style="display:flex;padding:10px;gap:10px">
                 <!-- 添加分类 -->

+ 5 - 1
src/views/classify_manage/classifylistV2.vue

@@ -4,7 +4,11 @@
             <div class="type-box">
                 <!-- 中文分类 -->
                 <div class="item active" 
-                    v-permission="permissionBtn.classifyBtn.classifyList_cnClassify">
+                    v-permission="[
+                        permissionBtn.classifyBtn.classifyList_cnClassify,
+                        permissionBtn.enClassifyBtn.classifyList_enClassify,
+                        'and'
+                        ]">
                     {{ $t('ReportManage.CategoryList.chinese_tabs') }}
                 </div>
                 <!-- 英文分类 -->

+ 1 - 1
src/views/dataEntry_manage/mixins/chartPublic.js

@@ -1099,7 +1099,7 @@ export const chartSetMixin = {
       /* 主题样式*/
       const chartTheme =  this.chartInfo.ChartThemeStyle ? JSON.parse(this.chartInfo.ChartThemeStyle) : null;
       // 跟颜色对应
-      chartTheme.lineOptionList=chartTheme.lineOptionList.reverse().slice(-chartDataHandle.length)
+      chartTheme && (chartTheme.lineOptionList=chartTheme.lineOptionList.reverse().slice(-chartDataHandle.length))
       let seasonYdata = [],
         seasonData = [];
 

+ 4 - 2
src/views/datasheet_manage/sheetList.vue

@@ -582,7 +582,10 @@ export default {
     },
     /* 表格id */
     select_id(newval,oldVlue) {
-      newval && this.getDetailHandle();
+      if(newval){
+        this.sheetDetailInfo = {}
+        this.getDetailHandle()
+      }
       this.markFinishStatus(oldVlue)
     },
 
@@ -753,7 +756,6 @@ export default {
       this.select_classify = !ExcelInfoId ? ExcelClassifyId : 0;
       if (this.select_id !== ExcelInfoId) {
         this.select_id = ExcelInfoId || 0;
-        this.sheetDetailInfo = {};
       }
       this.resetNodeStyle(node);
       this.dynamicNode = node;

+ 1 - 1
src/views/ppt_manage/mixins/mixins.js

@@ -450,7 +450,7 @@ export default {
       temChartDataList
 
       // 跟颜色对应
-      chartTheme.lineOptionList=chartTheme.lineOptionList.reverse().slice(-chartDataHandle.length)
+      chartTheme && (chartTheme.lineOptionList=chartTheme.lineOptionList.reverse().slice(-chartDataHandle.length))
 
       let seasonYdata = [],
         seasonData = []

+ 4 - 2
src/views/ppt_manage/mixins/pptMixins.js

@@ -855,11 +855,13 @@ export default {
                 })
             let  parser = new DOMParser();
             let svgDoc = parser.parseFromString(svgData, 'image/svg+xml');
-
+            //console.log('plotBackgroundColor',plotBackgroundColor)
             // 查找class为'background'的rect元素并修改fill属性
             let rectElement = svgDoc.querySelector('rect.highcharts-plot-background');
             if (rectElement) {
-                rectElement.setAttribute('fill', plotBackgroundColor);
+                //transparent(生成的图表背景会变黑) -> rgba(255, 255, 255, 0)
+                let currentColor = plotBackgroundColor==='transparent'?'rgba(255, 255, 255, 0)':plotBackgroundColor
+                rectElement.setAttribute('fill', currentColor);
             }
             // 将修改后的SVG文档转换回字符串
             let serializer = new XMLSerializer();

+ 35 - 15
src/views/report_manage/reportEn/reportlist.vue

@@ -153,8 +153,13 @@
 				>
           <template #header>
             <span v-if="item.key==='Pv'">
-              PV
-              <el-tooltip class="item" effect="dark" :content="`pv:${$t('ReportManage.number_tooltip_pv_show')}`" placement="top-start">
+              {{ item.label }}
+              <el-tooltip class="item" effect="dark" 
+              placement="top-start">
+                <div slot="content" style="width:420px;">
+                  <p style="padding:5px 0;">pv:{{$t('ReportManage.number_tooltip_pv_show')}}</p>
+                  <p style="padding:5px 0;">uv:{{$t('ReportManage.tooltip_uv_show')}}</p>
+                </div>
                 <i class="el-icon-warning"/>
               </el-tooltip>
             </span>
@@ -184,10 +189,13 @@
                 <!-- 第{{row.Stage}}期 -->
                 {{ $t('ReportManage.smart_issue_bumber_text',{num:row.Stage}) }}
               </span>
-              <span v-else-if="item.key==='Pv'" style="cursor:pointer; color:#4099ef;" >
-                <span @click="reportHandle(row,'PV')" v-if="row.PvEmail">{{row.PvEmail}}</span>
-                <span v-if="row.PvEmail&&row.Pv" style="color:#333">/</span>
-                <span v-if="row.Pv" style="color:#333">{{row.Pv}}</span>
+              <span v-else-if="item.key==='Pv'" >
+                <span v-if="!row.PvEmail && row.Pv" style="color:#333">{{row.Pv || 0}}</span>
+                <span @click="reportHandle(row,'PV')" v-else
+                :style="row.PvEmail?'cursor:pointer; color:#4099ef;':'color:#333'" >{{row.PvEmail||0}}</span>
+                <span style="color:#333">/</span>
+                <span  :style="row.UvEmail?'cursor:pointer; color:#4099ef;':'color:#333'" 
+                @click="reportHandle(row,'UV')">{{row.UvEmail||0}}</span>
               </span>
               <span v-else-if="item.key==='PublishTime'">
                 <template v-if="[1,2].includes(row.State)">
@@ -443,14 +451,14 @@
       :append-to-body="true" 
       :visible.sync="PVData.show" 
       width="900px" 
-      :title="$t('ReportManage.ReportList.click_through_details')"
+      :title="PVData.PvDetailTitle"
     >
       <div class="pv-static-wrap" style="padding-bottom:70px">
         <el-table :data="PVData.list" border height="600">
-          <el-table-column align="center" prop="Name" :label="$t('ReportManage.ReportList.click_through_details')"></el-table-column>
+          <el-table-column align="center" prop="Name" :label="$t('ReportManage.ReportList.customer_name')"></el-table-column>
           <el-table-column align="center" prop="Email" :label="$t('ReportManage.ReportList.email_address')"></el-table-column>
           <el-table-column align="center" prop="RecentClickTime" :label="$t('ReportManage.ReportList.Last_click_time')"></el-table-column>
-          <el-table-column align="center" prop="ClickNum" :label="$t('ReportManage.ReportList.hits_btn')"></el-table-column>   
+          <el-table-column align="center" prop="ClickNum" :label="$t('ReportManage.ReportList.hits_btn')" v-if="PVData.key == 'PV'"></el-table-column>   
         </el-table>
         <el-pagination 
           layout="total,prev,pager,next,jumper" 
@@ -557,9 +565,10 @@ export default {
         page:1,
         pageSize:15,
         total:0,
-        reportId:0
+        reportId:0,
+        PvDetailTitle:'',
+        key:''
       },
-
       showEdit:false,//显示编辑策略报告弹窗
       editId:0,//编辑策略报告id
 
@@ -644,6 +653,7 @@ export default {
         {
             label: 'PV / UV',
             key: 'Pv',
+            widthsty: 140
         },
         {
             label:this.$t('Table.column_operations') || '操作',
@@ -730,6 +740,7 @@ export default {
         copylink: this.copyReportlink,
         sendEmail:this.sendEmail,
         PV:this.showPVDetail,
+        UV:this.showUVDetail,
         'view-log': this.goSendlog
       }
 
@@ -954,14 +965,22 @@ export default {
     handleDelSelectCompany(item,index){
         this.popData.customValue.splice(index,1)
     },
-    showPVDetail(item){
+    showPVDetail(item,key='PV'){
+      if(!item.PvEmail) return 
+      this.PVData.key = key
+      this.PVData.PvDetailTitle = this.PVData.key == 'PV' ?this.$t('ReportManage.ReportList.pv_detail'):this.PVData.PvDetailTitle
       this.PVData.reportId=item.Id
+      this.PVData.page = 1
       this.getPVDetail()
-      this.PVData.show=true
     },
-
+    showUVDetail(item){
+      if(!item.UvEmail) return 
+      this.PVData.PvDetailTitle = this.$t('ReportManage.ReportList.uv_detail')
+      this.showPVDetail(item,'UV')
+    },
     async getPVDetail(){
-      const res=await reportEnInterface.PVDetailList({
+      let apiName = this.PVData.key=='PV'?"PVDetailList":"UVDetailList"
+      const res=await reportEnInterface[apiName]({
         CurrentIndex:this.PVData.page,
         PageSize:this.PVData.pageSize,
         ReportId:this.PVData.reportId
@@ -969,6 +988,7 @@ export default {
       if(res.Ret===200){
         this.PVData.list=res.Data.List||[]
         this.PVData.total=res.Data.Paging.Totals
+        this.PVData.show=true
       }
     },
     handlePVPageChange(e){

+ 1 - 1
src/views/system_manage/dataRefreshSetting.vue

@@ -210,7 +210,7 @@ export default {
                 },
                 {
                 value: "半年度",
-                label: /* '半年度' */ this.$t("Edb.FreAll.month"),
+                label: /* '半年度' */ this.$t("Edb.FreAll.half_year"),
                 },
                 {
                 value: "年度",