浏览代码

Merge branch 'crm15.2'

Karsa 1 年之前
父节点
当前提交
2fd7a160e3

+ 3 - 0
src/App.vue

@@ -338,4 +338,7 @@ textarea {
 .el-autocomplete-suggestion-data-entry {
     width: auto !important;
 }
+.el-tabs__nav-wrap::after {
+  background: transparent !important;
+}
 </style>

+ 23 - 22
src/views/custom_manage/customList/components/shareListDialog.vue

@@ -4,24 +4,25 @@
         :close-on-click-modal="false"
         :modal-append-to-body="true"
         :append-to-body="true"
-        :title="`${customInfo.CompanyName}——服务记录`"
+        :title="`${customInfo.CompanyName}——沟通记录`"
         class="share-list-dialog"
         @close="closeDia"
     >
         <div class="dialog-cotainer">
             <div class="add-box" v-if="allowEdit">
-                <p class="label">服务描述</p>
+                <p class="label">沟通描述</p>
                 <el-input
                     type="textarea"
-                    placeholder="请输入服务描述"
+                    placeholder="请输入沟通描述"
                     v-model="recordContent"
-                    maxlength="100"
-                    show-word-limit
                     :rows="3"
                 />
+                <div v-if="allowEdit" style="margin-top:10px">
+                    <el-button type="primary" @click="addNewRecord">保存</el-button>
+                </div>
             </div>
             <div class="table-box">
-                <p class="label" >历史服务</p>
+                <p class="label" >历史沟通</p>
                 <el-table 
                     border 
                     :data="recordList"
@@ -38,7 +39,7 @@
                         v-if="allowEdit"
                         label="操作"
                         align="center"
-                        width="160"
+                        width="120"
                     >
                     <template slot-scope="{row,$index}">
                         <el-button type="text" size="small" style="color:#409eff;"
@@ -52,14 +53,8 @@
                 </el-table>
             </div>
         </div>
-        <div class="foot-container">
-            <template v-if="allowEdit">
-                <el-button type="primary" @click="addNewRecord">保存</el-button>
-                <el-button @click="closeDia">取 消</el-button>
-            </template>
-            <template v-else>
-                <el-button type="primary" @click="closeDia">知道了</el-button>
-            </template>
+        <div class="foot-container" v-if="!allowEdit">
+            <el-button type="primary" @click="closeDia">知道了</el-button>
         </div>
     </el-dialog>
 </template>
@@ -84,16 +79,16 @@ export default {
     data() {
         return {
             tableColumns:[{
-                label:'服务描述',
+                label:'沟通描述',
                 key:'Content',
-                minWidth:300
+                minWidth:350
             },{
                 label:'创建人',
                 key:'SysAdminName'
             },{
                 label:'创建时间',
                 key:'CreateTime',
-                minWidth:180
+                minWidth:150
             }],
             recordContent:'',
             recordList:[],
@@ -111,8 +106,12 @@ export default {
     methods: {
         getRecordList(){
             this.tableLoading = true
+            console.log(this.customInfo)
+
+            let CompanyType = this.$route.path==='/overseasCustomList' ? this.customInfo.Source : 2;
             customInterence.getRecordList({
-                CompanyId:this.customInfo.CompanyId
+                CompanyId:this.customInfo.CompanyId,
+                CompanyType
             }).then(res=>{
                 if(res.Ret!==200) return 
                 this.recordList = res.Data
@@ -127,12 +126,14 @@ export default {
         },
         addNewRecord(){
             if(!this.recordContent.length){
-                this.$message.warning('请输入服务描述')
+                this.$message.warning('请输入沟通描述')
                 return
             }
+            let CompanyType = this.$route.path==='/overseasCustomList' ? this.customInfo.Source : 2;
             customInterence.addRecord({
                 CompanyId:this.customInfo.CompanyId,
-                Content:this.recordContent
+                Content:this.recordContent,
+                CompanyType
             }).then(res=>{
                 if(res.Ret!==200) return 
                 this.$message.success('添加成功')
@@ -141,7 +142,7 @@ export default {
             })
         },
         deleteRecord(data){
-            this.$confirm('服务记录删除后不可恢复,确认删除吗?','提示',{
+            this.$confirm('沟通记录删除后不可恢复,确认删除吗?','提示',{
                 confirmButtonText: '确定',
                 cancelButtonText: '取消',
                 type:'warning',

+ 2 - 2
src/views/custom_manage/customList/customList.vue

@@ -1034,7 +1034,7 @@ ShareListDialog},
 				BtnRemarkView: '备注',
 				BtnShare:'设置共享',
 				BtnCancelShare:'取消共享',
-				BtnServiceRecord:'服务记录',
+				BtnServiceRecord:'沟通记录',
 				BtnClose:'关闭',
 				BtnLoss:'转流失'
 			},	// 按钮命令列表
@@ -1590,7 +1590,7 @@ ShareListDialog},
 				this.lookRemarkHandle(query.data)
 			}else if(query.type=='设置共享' || query.type=='取消共享'){
 				this.shareSetting(query.data)
-			}else if(query.type=='服务记录'){
+			}else if(query.type=='沟通记录'){
 				this.handleShowShareRecode(query.data)
 			}else if(query.type=='关闭'){
 				this.openCloseReasonDialog(query.data)

+ 2 - 2
src/views/custom_manage/customList/customShareList.vue

@@ -532,7 +532,7 @@ export default {
 				BtnUpdate: '续约申请',
 				BtnAddAgreement: '补充协议',
 				BtnTryOut: '增开试用',
-				BtnServiceRecord:'服务记录',
+				BtnServiceRecord:'沟通记录',
 				BtnRemarkView:'备注',
 				BtnShare:'设置共享',
 			},	// 按钮命令列表
@@ -632,7 +632,7 @@ export default {
 				this.assignedSellerFun(query.data)
 			}else if(query.type=='查看权限'){
 				this.lookHandle(query.data)
-			}else if(query.type=='服务记录'){
+			}else if(query.type=='沟通记录'){
 				this.handleShowShareRecode(query.data)
 			}else if(query.type=='备注'){
 				this.handleShowRemark(query.data)

+ 14 - 1
src/views/custom_manage/overseasList/overseasCustomList.vue

@@ -133,6 +133,8 @@
                             <el-button type="text" v-if="pageSelect===1&&row.Source===1&&row.OverseasStatus==='试用'" @click="handleSetCustomStatus(row,'change')">转正式</el-button>
                             <!--英文客户且状态为正式且可以重置-->
                             <el-button type="text" v-if="pageSelect===1&&row.Source===1&&row.OverseasStatus==='正式'&&row.ResetBtn===2" @click="handleSetCustomStatus(row,'reset')">重置</el-button>
+                            
+                            <el-button type="text" @click="handleShowShareRecode(row)">沟通记录</el-button>
                         </template>
                     </el-table-column>
                     <template slot="empty">
@@ -175,6 +177,14 @@
             :customData="customData"
             @close="isRoadDetailShow = false"
         />
+
+         <!-- 服务记录弹窗 -->
+        <ShareListDialog
+            :isShareRecodeDialogShow.sync="isShareRecodeDialogShow"
+            :customInfo="customInfo"
+            :allowEdit="allowEdit"
+            @close="()=>{isShareRecodeDialogShow=false;}"
+        />
     </div>
 </template>
 
@@ -184,9 +194,12 @@ import {customInterence } from '@/api/api.js'
 import SelectSaleDialog from './components/selectSaleDialog';
 import TotalClicksDialog from './components/totalClicksDialog';
 import RoadShowsDialog from './components/roadShowsDialog';
+import ShareListDialog from '../customList/components/shareListDialog.vue';
+import mixin from '../customList/mixins/customlistMixin';
 const tryArr = ['','未分类','推进','跟踪','预备']
 export default {
-    components: { SelectSaleDialog, TotalClicksDialog, RoadShowsDialog },
+    mixins: [ mixin ],
+    components: { SelectSaleDialog, TotalClicksDialog, RoadShowsDialog,ShareListDialog },
     data() {
         return {
             pageSelect: 1,

+ 32 - 7
src/views/dataReport_manage/statistic/abnormalRenewal.vue

@@ -1,9 +1,25 @@
 <template>
     <div class="statistic-container" ref="reference">
+        <div style="margin-bottom:20px;">
+
+            <el-radio-group v-model="actFilterDay" @input="val => { actFilterDay=val;getTableData() }">
+                <el-radio-button 
+                    :label="item.value" 
+                    v-for="item in filterDaysOptions" 
+                    :key="item.value"
+                >{{item.label}}</el-radio-button>
+            </el-radio-group>
+        </div>
+
         <div class="frequency-cont" style="position: relative;">
-			<ul class="frequency-ul">
-				<li v-for="tab in staticTabs" :key="tab" :class="{act: tab=== default_tab}" @click="changeTabHandle(tab)">{{ tab }}</li>
-			</ul>
+            <el-tabs v-model="default_tab" @tab-click="item =>{changeTabHandle(item.name)}" style="margin-right:20px">
+                <el-tab-pane 
+                    v-for="tab in staticTabs" 
+                    :key="tab" 
+                    :label="tab" 
+                    :name="tab"
+                />
+            </el-tabs>
 			<date-picker
                 v-model="select_date"
                 type="date" 
@@ -13,9 +29,9 @@
                 @change="dateChange"
                 placeholder="请选择统计时间"
             />
-            <span style="color:#A3A3A3;display:inline-block;margin-left:20px">续约异常:合同到期后两个月内未签约</span>
+            <span style="color:#A3A3A3;display:inline-block;margin-left:20px">续约异常:{{filterDaysOptions.find(_=>_.value===actFilterDay).msg}}</span>
 
-            <div style="color:#409EFF;position: absolute;top:10px;right:10px;cursor: pointer;" @click="showChart=true">
+            <div style="color:#409EFF;position: absolute;top:10px;right:10px;cursor: pointer;" @click="showChart=true" v-if="actFilterDay===1">
                 <img src="~@/assets/img/icons/changeLang.png" alt="">
                 <span style="display:inline-block;position: relative;top:-3px;left:3px">统计图</span>
             </div>
@@ -64,7 +80,7 @@
                                 </span>
                             </td>
                         </tr>
-                        <tr>
+                        <tr v-if="actFilterDay===1">
                             <td>
                                 <span>异常率</span>
                                 <el-tooltip 
@@ -122,6 +138,7 @@ export default {
                 DataType: this.default_tab === '周度统计表' ? 'week' : this.default_tab === '月度统计表' ? 'month' : 'time_interval',
 				StartDate: this.select_date ? this.select_date[0] : '',
 				EndDate: this.select_date ? this.select_date[1] : '',
+                Source: this.actFilterDay
             }).then(res=>{
                 const { Data,Ret } = res;
 				if(Ret !== 200) return
@@ -134,7 +151,8 @@ export default {
         goList({UnusualRenewNum,UnusualRenewIds},index,parent) {
             // if(!value) return
             let column_title = this.getColumnTitle(index);
-            let title=encodeURIComponent(`${column_title}/${parent.SellerName}`);
+            let filterDay = this.filterDaysOptions.find(_=>_.value===this.actFilterDay) ? `${this.filterDaysOptions.find(_=>_.value===this.actFilterDay).label}/` : ''
+            let title=encodeURIComponent(`${filterDay}${column_title}/${parent.SellerName}`);
                     
             sessionStorage.setItem('renewalTab',this.activeTab.tabName)
             const{href}=this.$router.resolve({
@@ -169,4 +187,11 @@ export default {
     height: calc(100vh - 180px);
     position: relative;
 }
+</style>
+<style lang="scss">
+.statistic-container{
+    .el-tabs__header {
+        margin-bottom: 0 !important;
+    }
+}    
 </style>

+ 11 - 1
src/views/dataReport_manage/statistic/mixin.js

@@ -21,6 +21,17 @@ export default {
 			// 	tabSummationName:'ficc总合计',
 			// 	productionId:1, // 1 FICC 2 权益
 			// }
+
+			filterDaysOptions: [
+				{ label:'+60D',value: 1,msg:'合同到期后两个月内未签约' },
+				{ label:'+30D',value: 4,msg:'合同到期后一个月内未签约' },
+				{ label:'到期',value: 5,msg:'合同到期未签约' },
+				{ label:'-30D',value: 6,msg:'合同到期前一个月' },
+				{ label:'-60D',value: 7,msg:'合同到期前两个月' },
+				{ label:'-90D',value: 8,msg:'合同到期前三个月' },
+				{ label:'-120D',value: 9,msg:'合同到期前四个月' },
+			],
+			actFilterDay: 1
 		}
 	},
 	computed: {
@@ -53,7 +64,6 @@ export default {
     },
 		/* 切换顶部tab */
 		changeTabHandle(tab) {
-			if(tab === this.default_tab) return
 			$('.table-body-wrapper')[0].scrollTop = 0;
 			this.default_tab = tab;
 

+ 17 - 1
src/views/dataReport_manage/statistic/newCustomlist.vue

@@ -92,6 +92,11 @@
 					</span> 
 				</template>
 			</el-table-column>
+			<el-table-column label="操作" align="center">
+				<span slot-scope="scope">
+					<el-button type="text" @click="handleShowShareRecode(scope.row,'list')">沟通记录</el-button>
+				</span>
+			</el-table-column>
 			<div slot="empty" style="lineHeight:44px;margin:60px 0;color:#999;">
 				<img src="~@/assets/img/cus_m/nodata.png" alt="" style="display:block;width:160px;height:128px;margin: auto;">
 				<span>暂无数据</span>
@@ -104,16 +109,27 @@
 				@handleCurrentChange="handleCurrentChange"
 			/>
 		</div>
+
+		<!-- 服务记录弹窗 -->
+		<ShareListDialog
+				:isShareRecodeDialogShow.sync="isShareRecodeDialogShow"
+				:customInfo="customInfo"
+				:allowEdit="false"
+				@close="()=>{isShareRecodeDialogShow=false;}"
+		/>
 	</div>
 </template>
 
 <script>
 import { dataMainInterface } from '@/api/api.js';
 import mPage from '@/components/mPage.vue';
+import ShareListDialog from '@/views/custom_manage/customList/components/shareListDialog.vue';
+import customMixin from '@/views/custom_manage/customList/mixins/customlistMixin.js';
 
 export default {
 	name: '',
-	components: { mPage },
+	mixins:[customMixin],
+	components: { mPage,ShareListDialog },
 	data() {
 		return {
 			title: '',