Forráskód Böngészése

Merge branch 'debug' of http://8.136.199.33:3000/hongze/hz_crm_web into debug

ldong 5 hónapja
szülő
commit
c99639430a

+ 4 - 0
src/api/modules/rai/raiApi.js

@@ -1095,6 +1095,10 @@ const raiInterface = {
   industrialSubjectSearch: (params) => {
     return http.get("cygx/industrialSubject/search", params);
   },
+  // 查找标的
+  industrialAndSubjectSearch: (params) => {
+    return http.get("cygx/industrialAndSubject/search", params);
+  },
   // 查找标的 标的详情搜索
   industrialSubjectSearchInfo: (params) => {
     return http.get("/cygx/industrialSubject/searchInfo", params);

+ 23 - 0
src/api/modules/rai/timeLine.js

@@ -22,6 +22,29 @@ const timeLineApi = {
   tacticsTimeLineDelete: (params) => {
     return http.post("/cygx/tacticsTimeLine/delete", params);
   },
+
+  // 固收时间线列表
+  getGushouTimeLineList: (params) => {
+    return http.get("/cygx/gushouTimeLine/list", params);
+  },
+  // 新增固收时间线
+  gushouTimeLinePreserveAndPublish: (params) => {
+    return http.post("/cygx/gushouTimeLine/preserveAndPublish", params);
+  },
+  // 固收一键发布/取消发布报告接口
+  gushouTimeLineAllCancel: (params) => {
+    return http.post("/cygx/gushouTimeLine/all/publishAndcancel", params);
+  },
+  // 固收发布/取消发布报告
+  gushouTimeLineCancel: (params) => {
+    return http.post("/cygx/gushouTimeLine/publishAndcancel", params);
+  },
+  // 固收删除
+  gushouTimeLineDelete: (params) => {
+    return http.post("/cygx/gushouTimeLine/delete", params);
+  },
+
+
   // 新建报告类型
   reportMappingAdd: (params) => {
     return http.post("/cygx/reportMapping/add", params);

+ 6 - 0
src/routes/modules/cygxRoutes.js

@@ -261,6 +261,12 @@ export default [
         name: "策略时间线",
         hidden: false,
       },
+      {
+        path: "fixedIncomeTimeLine",
+        component: () => import("@/views/rai_manage/reportManage/tacticsTimeLine.vue"),
+        name: "固收时间线",
+        hidden: false,
+      },
       {
         path: "internalTesting",
         component: () => import("@/views/rai_manage/reportManage/internalTesting.vue"),

+ 1 - 1
src/views/Home.vue

@@ -62,7 +62,7 @@
                   </template>
                   <el-menu-item
                     v-for="child in item.children"
-                    :index="child.path=='etaForum'?'etaForum':child.path"
+                    :index="child.path=='etaForum'?$route.fullPath:child.path"
                     :path="child.path"
                     :key="child.path"
                     v-show="!child.hidden"

+ 14 - 5
src/views/contract_manage/addContract.vue

@@ -63,7 +63,7 @@
               <span>{{ RoleType === "ficc_seller" ? "FICC" : "权益" }}</span>
             </el-form-item>
           </div>
-          <el-form-item label="合同类型" prop="constractType" class="border-top">
+          <el-form-item label="合同类型" prop="constractType" class="border-top" v-if="!raiCompanyType && !raiCompanyStatus">
             <el-radio-group v-model="formData.constractType">
               <div style="display:flex">
                 <div style="margin-right:10px;">
@@ -106,15 +106,17 @@
           </div>
 
           <div class="flex border-top">
-            <el-form-item label="合同金额" prop="price" style="width: 50%">
-              <el-input v-model="formData.price" @focus="handlePriceBoxFocus('price')" @blur="handlePriceBoxBlur('price')" placeholder="请输入合同金额" style="width: 220px"></el-input>
+            <el-form-item :label="raiCompanyType ? '服务费总报价' : '合同金额'" prop="price" style="width: 50%">
+              <el-input v-model="formData.price" @focus="handlePriceBoxFocus('price')" @blur="handlePriceBoxBlur('price')" :placeholder="raiCompanyType ? '请输入服务费总报价(优惠前)' : '请输入合同金额'" style="width: 220px"></el-input>
             </el-form-item>
             <span style="line-height: 40px">{{ formData.price | digitUppercase }}</span>
           </div>
 
           <div class="flex border-top">
-            <el-form-item label="优惠后金额" prop="price2" style="width: 50%">
-              <el-input v-model="formData.price2" @focus="handlePriceBoxFocus('price2')" @blur="handlePriceBoxBlur('price2')" placeholder="请输入优惠后金额" style="width: 220px"></el-input>
+            <el-form-item  :label="raiCompanyType ? '实际付款金额' : '优惠后金额'"  prop="price2" style="width: 50%">
+              <el-input v-model="formData.price2" @focus="handlePriceBoxFocus('price2')" @blur="handlePriceBoxBlur('price2')" 
+              :placeholder="raiCompanyType ? '请输入实际付款金额(优惠后)' : '请输入优惠后金额'"
+              style="width: 220px"></el-input>
             </el-form-item>
             <span style="line-height: 40px">{{ formData.price2 | digitUppercase }}</span>
           </div>
@@ -368,6 +370,9 @@ export default {
       selectServiceData: [],
       editValue: {}, //修改小套餐的value
       PayChannelOptions:[],//搜索出付款方列表
+
+      raiCompanyType: false,// 是否是权益客户类型
+      raiCompanyStatus: false// 权益客户状态
     };
   },
   created() {
@@ -497,6 +502,10 @@ export default {
         this.formData.customeXYM=res.Data.Item.CreditCode
         this.formData.province=res.Data.Item.Province
         this.formData.city=res.Data.Item.City
+        this.raiCompanyType = res.Data.RaiItem && res.Data.RaiItem.ProductName == '权益'
+        this.raiCompanyStatus = res.Data.RaiItem && res.Data.RaiItem.Status.includes('X类试用')
+        console.log( this.raiCompanyType);
+        
       }
       // 获取以前的合同自动 填充部分信息
       let res4=await contractInterface.getHistoryContract({CompanyId:item.CompanyId})

+ 12 - 9
src/views/custom_manage/customList/applyTurn.vue

@@ -49,7 +49,7 @@
 					ref="formData" 
 					label-width="100px"
 					class="demo-ruleForm">
-						<el-form-item label="合同类型" prop="contract_type" style="width:100%" v-if="formData.contract_type">
+						<el-form-item label="合同类型" prop="contract_type" style="width:100%" v-if="formData.contract_type && !isRaiCompany">
 							<el-radio style="margin-right:5px" v-model="formData.contract_type" :label="formData.contract_type"/>
 							<el-tooltip
 								style="cursor: pointer;"
@@ -96,7 +96,7 @@
 							<i style="color:#f00;fontSize:20px;position:absolute;left:-90px;top:10%;">*</i>
 							<el-input 
 							v-model.number="formData.amount"
-							placeholder="请输入金额"
+							:placeholder="isRaiCompany ? '请输入实际付款金额(优惠后)':'请输入金额'"
 							style="width:400px"
 							clearable></el-input>
 							<span style="color:#666;">元</span>
@@ -200,7 +200,10 @@ export default {
 	computed:{
 		isXClassCustom(){
 			return	this.companyInfo.Status.includes('永续') || this.companyInfo.Status.includes('X类试用')
-		}
+		},
+		isRaiCompany(){
+			return this.companyInfo.CompanyType == '权益' || this.isRoleType== '权益'
+		},
 	},
 	data () {
 		return {
@@ -273,15 +276,15 @@ export default {
 					this.selectedQuarters = res.Data.Item.Quarter.split(',')
 					let newArr = [];
 					/* 处理权限列表 */
-					if((this.companyInfo.CompanyType == '权益' || this.isRoleType== '权益') && !this.isXClassCustom ) {
+					if(this.isRaiCompany && !this.isXClassCustom ) {
 						res.Data.Item.PermissionList[0].Items.map(item => {
 							item.disabled=item.isIndeterminate=false								
 							if(item.ChartPermissionId==22 && (!item.Child)) this.hasNoChild=true
 						})
 						/* 处理数据把复选框 拆分成三个*/
 						res.Data.Item.PermissionList.length&&res.Data.Item.PermissionList.forEach(item => {
-						let arr = item.Items.filter(key=> [22,21,20,19,23,30].includes(key.ChartPermissionId))
-						let ItemsPrivate = item.Items.filter(key=> [29,31,20031,20032,52,53,54,138,62].includes(key.ChartPermissionId))
+						let arr = item.Items.filter(key=> [22,21,20,19,23,30,148,62].includes(key.ChartPermissionId))
+						let ItemsPrivate = item.Items.filter(key=> [29,31,20031,20032,52,53,54].includes(key.ChartPermissionId))
 						let ItemsUp = item.Items.filter(key=> key.PermissionName.includes('升级'))
 						let ItemsBig = item.Items.filter(key=> key.ChartPermissionId==0)
 							let obj = {
@@ -317,15 +320,15 @@ export default {
 			}).then(res => {
 				let newArr = [];
 				if(res.Ret === 200) {
-					if((this.companyInfo.CompanyType == '权益' || this.isRoleType== '权益') && !this.isXClassCustom) {
+					if(this.isRaiCompany && !this.isXClassCustom) {
 						res.Data.List[0].Items.map(item => {
 							item.disabled=item.isIndeterminate=false								
 							if(item.ChartPermissionId==22 && (!item.Child)) this.hasNoChild=true
 						})
 						/* 处理数据把复选框 拆分成三个*/
 						res.Data.List.length&&res.Data.List.forEach(item => {
-						let arr = item.Items.filter(key=> [22,21,20,19,23,30].includes(key.ChartPermissionId))
-						let ItemsPrivate = item.Items.filter(key=> [29,31,20031,20032,52,53,54,138,62].includes(key.ChartPermissionId))
+						let arr = item.Items.filter(key=> [22,21,20,19,23,30,148,62].includes(key.ChartPermissionId))
+						let ItemsPrivate = item.Items.filter(key=> [29,31,20031,20032,52,53,54].includes(key.ChartPermissionId))
 						let ItemsUp = item.Items.filter(key=> key.PermissionName.includes('升级'))
 						let ItemsBig = item.Items.filter(key=> key.ChartPermissionId==0)
 							let obj = {

+ 9 - 7
src/views/custom_manage/customList/components/raiPermissionbox.vue

@@ -11,7 +11,7 @@
       <div class="rai-checkbox-main-container">
         <div class="rai-checkbox-main-row">
           <div class="rai-checkbox-item" v-for="it in data.Items" :key="it.ChartPermissionId" 
-          :style="{'width':it.ChartPermissionId==23?'84px':it.ChartPermissionId==30?'110px':'168px'}">
+          :style="{'width':[23,148,62].includes(it.ChartPermissionId) ?'84px':it.ChartPermissionId==30?'110px':'168px'}">
             <template v-if="it.Child">
               <el-checkbox :label="it.PermissionName" style="margin-right: 8px;" v-model="it.Checked"
               @change="handleItemCheck(it,data)" :indeterminate="it.isIndeterminate" :disabled="it.disabled"></el-checkbox>
@@ -53,7 +53,7 @@
         </el-checkbox-group>
         <div class="rai-checkbox-notice-box" v-if="data.ItemsUp.length>0">
           <span class="rai-checkbox-notice" v-if="formData.qyBigServeCheck">
-            同时包含{{formData.qyBigServeCheck==2?"10":"16"}}次专项调研</span>
+            同时包含{{formData.qyBigServeCheck==2?"12":"16"}}次专项调研</span>
           <p class="rai-checkbox-notice" v-if="equityGroupDisabled(data.CheckList)">同时包含升级行业各5次专项调研</p>
         </div>
       </div>
@@ -113,9 +113,9 @@
         item.ItemsBig.map(itB => itB.isIndeterminate=false)
         if(value){
           // 策略
-          item.CheckList= [...new Set([...item.CheckList,23,30])]
+          item.CheckList= [...new Set([...item.CheckList,23,30,148,62])]
         }else{
-          item.CheckList = item.CheckList.filter(t => ![23,30].includes(t))
+          item.CheckList = item.CheckList.filter(t => ![23,30,148,62].includes(t))
         }
         if(this.hasNoChild){
           // 没有主客观
@@ -175,8 +175,10 @@
           // 默认作用在45万上 原本有状态的话,就作用在有状态的大套餐
           bigServeCheckNum= item.ItemsBig[1].isIndeterminate || item.ItemsBig[1].Checked?1:0
         }
-        // 是否有分主客观
-        let bigServeItems=this.hasNoChild?[22,21,20,19,23,30]:[22,39,21,38,20,37,19,36,23,30]
+        // 正式服 各行业的客观的chartPermissionId和测试服的不一样
+        let allChartPermissionIds=process.env.NODE_ENV === 'production'?[22,39,21,38,20,37,19,36,23,30,148,62]:[22,37,21,36,20,35,19,34,23,30,148,62]
+        
+        let bigServeItems=this.hasNoChild?[22,21,20,19,23,30]:allChartPermissionIds
         if(bigServeItems.every(t => item.CheckList.includes(t))){
           item.ItemsBig[bigServeCheckNum].Checked=true
           this.formData.qyBigServeCheck=this.getQyBigServeCheckNumber(item.ItemsBig[bigServeCheckNum].PermissionName)
@@ -270,7 +272,7 @@
           border-left: none;
 					height: 48px;
 					margin-right: -1px;
-					margin-left: -192px;
+					margin-left: -276px;
 					padding-left: 200px;
 					.rai-checkbox-notice {
 						color: #f00;

+ 4 - 4
src/views/custom_manage/customList/updateServe.vue

@@ -432,8 +432,8 @@ export default {
 						})
 						/* 处理数据把复选框 拆分成三个*/
 						res.Data.Item.PermissionList.length&&res.Data.Item.PermissionList.forEach(item => {
-						let arr = item.Items.filter(key=> [22,21,20,19,23,30].includes(key.ChartPermissionId))
-						let ItemsPrivate = item.Items.filter(key=> [29,31,52,20031,20032,53,54,138,62].includes(key.ChartPermissionId))
+						let arr = item.Items.filter(key=> [22,21,20,19,23,30,148,62].includes(key.ChartPermissionId))
+						let ItemsPrivate = item.Items.filter(key=> [29,31,52,20031,20032,53,54].includes(key.ChartPermissionId))
 						let ItemsUp = item.Items.filter(key=> key.PermissionName.includes('升级'))
 						let ItemsBig = item.Items.filter(key=> key.ChartPermissionId==0)
 							let obj = {
@@ -508,8 +508,8 @@ export default {
 						})
 						/* 处理数据把复选框 拆分成三个*/
 						res.Data.List.length&&res.Data.List.forEach(item => {
-						let arr = item.Items.filter(key=> [22,21,20,19,23,30].includes(key.ChartPermissionId))
-						let ItemsPrivate = item.Items.filter(key=> [29,31,52,20031,20032,53,54,138,62].includes(key.ChartPermissionId))
+						let arr = item.Items.filter(key=> [22,21,20,19,23,30,148,62].includes(key.ChartPermissionId))
+						let ItemsPrivate = item.Items.filter(key=> [29,31,52,20031,20032,53,54].includes(key.ChartPermissionId))
 						let ItemsUp = item.Items.filter(key=> key.PermissionName.includes('升级'))
 						let ItemsBig = item.Items.filter(key=> key.ChartPermissionId==0)
 							let obj = {

+ 63 - 51
src/views/rai_manage/components/addChoiceness.vue

@@ -61,8 +61,8 @@
             <div v-show="industryIndex == index">
               <RichText v-model="item.BodyChartSummary" :ref="'logic' + index" :spareId="'logictest' + index" :isText="contentTextLogic" />
               <draggable :list="item.List" animation="300" class="classification" filter=".addIndustrial" :move="onMove" @update="ificationSortChange">
-                <div v-for="(val, num) in item.List" :key="val.IndustrialSubjectId" class="industrial" @click="ificationIndustrialBtn(val, num)" :class="num == ificationIndustrial ? 'pitch' : ''">
-                  <span style="margin-right: 19px">{{ val.IndustrialSubjectName }}</span>
+                <div v-for="(val, num) in item.List" :key="val.ShowName" class="industrial" @click="ificationIndustrialBtn(val, num)" :class="num == ificationIndustrial ? 'pitch' : ''">
+                  <span style="margin-right: 19px">{{ val.ShowName }}</span>
                   <span v-if="num == ificationIndustrial">
                     <img src="~@/assets/img/icons/edit1.png" style="width: 12px; height: 12px; marginright: 10px" @click="editText(val, num)" />
                     <i class="el-icon-close" @click="deleteClassify(val, num)"></i>
@@ -70,7 +70,7 @@
                 </div>
                 <div class="addIndustrial" @click="addMulti" v-if="industryIndex == index">
                   <i class="el-icon-plus"></i>
-                  <span>添加标的</span>
+                  <span>添加标的/赛道</span>
                 </div>
               </draggable>
               <template v-for="(val, num) in item.List">
@@ -123,7 +123,7 @@
         <span style="font-size: 16px">{{ dialogText }}</span>
       </div>
       <div class="dlg-content">
-        <el-autocomplete class="inline-input" v-model="stateValue" :trigger-on-focus="false" :fetch-suggestions="handleSearchResult" placeholder="请输入标的名称" clearable></el-autocomplete>
+        <el-autocomplete class="inline-input" v-model="stateValue" :trigger-on-focus="false" :fetch-suggestions="handleSearchResult" placeholder="请输入标的或赛道名称" clearable></el-autocomplete>
       </div>
       <span slot="footer" class="dialog-footer">
         <el-button v-if="dialogText == '编辑'" type="primary" @click="editconfirmPerson">确定</el-button>
@@ -337,6 +337,13 @@ export default {
         .then(() => {
           this.industryList[this.industryIndex].List.splice(index, 1);
           this.ificationIndustrial = 0;
+          let itemList = this.industryList[0].List[0];
+          this.industrialSubjectName = itemList.IndustrialManagementName || "";
+          this.overviewList = {
+            ArticleId: itemList.OverviewArticleId,
+            Title: itemList.OverviewArticleTitle,
+            IsShowOverviewArticle: itemList.IsShowOverviewArticle,
+          };
           this.$message({
             type: "success",
             message: "删除成功!",
@@ -351,7 +358,7 @@ export default {
     },
     //添加产业
     addMulti() {
-      this.dialogText = "添加标的";
+      this.dialogText = "添加标的/赛道";
       this.addDialogVisible = true;
     },
     //弹框的取消事件
@@ -362,7 +369,7 @@ export default {
     //弹框的确认事件
     async confirmPerson() {
       if (this.stateValue) {
-        const arr = this.subjectList.find((item) => item.SubjectName === this.stateValue);
+        const arr = this.subjectList.find((item) => item.ShowName === this.stateValue);
         if (!arr) {
           this.$message.error("输入正确的标的");
           return;
@@ -373,34 +380,35 @@ export default {
         });
         if (res.Ret === 200) {
           overviewList = res.Data;
-        }
-        this.industryList.forEach((item) => {
-          if (item.ChartPermissionId == this.chartPermissionId) {
-            if (item.List.length > 0) {
-              var isNext = item.List.some((item) => item.IndustrialSubjectName == arr.SubjectName);
+          this.industryList.forEach((item) => {
+            if (item.ChartPermissionId == this.chartPermissionId) {
+              if (item.List.length > 0) {
+                var isNext = item.List.some((item) => item.IndustrialSubjectName == arr.ShowName);
+              }
+              if (isNext) return this.$message.error("标的重复!");
+              item.List.push({
+                Body: "",
+                ChartPermissionId: this.chartPermissionId,
+                IndustrialManagementId: arr.IndustrialManagementId + "",
+                IndustrialManagementName: arr.IndustryName,
+                IndustrialSubjectId: arr.IndustrialSubjectId + "",
+                IndustrialSubjectName: arr.SubjectName,
+                ShowName: arr.ShowName,
+                CompanyLabel: [{ name: "", value: item.List.length + 1 }],
+                OverviewArticleId: overviewList && overviewList.ArticleId,
+                OverviewArticleTitle: overviewList && overviewList.Title,
+                IsShowOverviewArticle: overviewList && overviewList.IsShowOverviewArticle,
+              });
             }
-            if (isNext) return this.$message.error("标的重复!");
-            item.List.push({
-              Body: "",
-              ChartPermissionId: this.chartPermissionId,
-              IndustrialManagementId: arr.IndustrialManagementId + "",
-              IndustrialManagementName: arr.IndustryName,
-              IndustrialSubjectId: arr.IndustrialSubjectId + "",
-              IndustrialSubjectName: arr.SubjectName,
-              CompanyLabel: [{ name: "", value: item.List.length + 1 }],
-              OverviewArticleId: overviewList.ArticleId,
-              OverviewArticleTitle: overviewList.Title,
-              IsShowOverviewArticle: overviewList.IsShowOverviewArticle,
-            });
-          }
-        });
+          });
+        }
       }
       this.stateValue = "";
       this.addDialogVisible = false;
     },
     async editconfirmPerson() {
       if (this.stateValue) {
-        const arr = this.subjectList.find((item) => item.SubjectName === this.stateValue);
+        const arr = this.subjectList.find((item) => item.ShowName === this.stateValue);
         if (!arr) {
           this.$message.error("输入正确的标的");
           return;
@@ -411,29 +419,32 @@ export default {
         });
         if (res.Ret === 200) {
           overviewList = res.Data;
-        }
-        this.industryList.forEach((item) => {
-          if (item.ChartPermissionId == this.chartPermissionId) {
-            if (item.List.length > 0) {
-              var isNext = item.List.some((item) => item.IndustrialSubjectName == arr.SubjectName);
+          this.overviewList = overviewList;
+          this.industryList.forEach((item) => {
+            if (item.ChartPermissionId == this.chartPermissionId) {
+              if (item.List.length > 0) {
+                var isNext = item.List.some((item) => item.IndustrialSubjectName == arr.SubjectName);
+              }
+              if (isNext) return this.$message.error("标的重复!");
+              const obj = {
+                Body: (this.$refs.twoRich && this.$refs.twoRich.value) || "",
+                ChartPermissionId: this.chartPermissionId,
+                IndustrialManagementId: arr.IndustrialManagementId + "",
+                IndustrialManagementName: arr.IndustryName,
+                IndustrialSubjectId: arr.IndustrialSubjectId + "",
+                IndustrialSubjectName: arr.SubjectName,
+                ShowName: arr.ShowName,
+                CompanyLabel:
+                  item.List[this.editNum].CompanyLabel && item.List[this.editNum].CompanyLabel.length > 0 ? item.List[this.editNum].CompanyLabel : [{ name: "", value: item.List.length + 1 }],
+                OverviewArticleId: overviewList.ArticleId,
+                OverviewArticleTitle: overviewList.Title,
+                IsShowOverviewArticle: overviewList.IsShowOverviewArticle,
+              };
+              item.List.splice(this.editNum, 1, obj);
+              this.industrialSubjectName = arr.IndustryName || "";
             }
-            if (isNext) return this.$message.error("标的重复!");
-            const obj = {
-              Body: this.$refs.twoRich.value || "",
-              ChartPermissionId: this.chartPermissionId,
-              IndustrialManagementId: arr.IndustrialManagementId + "",
-              IndustrialManagementName: arr.IndustryName,
-              IndustrialSubjectId: arr.IndustrialSubjectId + "",
-              IndustrialSubjectName: arr.SubjectName,
-              CompanyLabel:
-                item.List[this.editNum].CompanyLabel && item.List[this.editNum].CompanyLabel.length > 0 ? item.List[this.editNum].CompanyLabel : [{ name: "", value: item.List.length + 1 }],
-              OverviewArticleId: overviewList.ArticleId,
-              OverviewArticleTitle: overviewList.Title,
-              IsShowOverviewArticle: overviewList.IsShowOverviewArticle,
-            };
-            item.List.splice(this.editNum, 1, obj);
-          }
-        });
+          });
+        }
       }
       this.stateValue = "";
       this.addDialogVisible = false;
@@ -442,11 +453,11 @@ export default {
     async handleSearchResult(data, cb) {
       if (data) {
         cb([]);
-        let res = await raiInterface.industrialSubjectSearch({ KeyWord: data, ChartPermissionId: this.chartPermissionId });
+        let res = await raiInterface.industrialAndSubjectSearch({ KeyWord: data, ChartPermissionId: this.chartPermissionId });
         if (res.Ret === 200) {
           if (res.Data.List && res.Data.List.length > 0) {
             let arr = res.Data.List.map((item) => {
-              return { value: item.SubjectName, ...item };
+              return { value: item.ShowName, ...item };
             });
             this.subjectList = arr;
             cb(arr);
@@ -464,6 +475,7 @@ export default {
               key.CompanyLabel && key.CompanyLabel.length > 0 && isText.push(key.CompanyLabel.some((val) => val.name));
             });
           });
+
           if (isText && isText.includes(false)) {
             return this.$message.error("请输入公司标签");
           }

+ 1 - 1
src/views/rai_manage/components/matchingDlg.vue

@@ -55,7 +55,7 @@ export default {
     async remoteMethod(query) {
       if (query !== "") {
         this.dataQueryList = [];
-        const res = await raiInterface.activityMeetMatchingList({ KeyWord: query });
+        const res = await raiInterface.activityMeetMatchingList({ KeyWord: query,ActivityId:this.matchingId });
         if (res.Ret === 200) {
           let obj = {};
           res.Data.List &&

+ 3 - 3
src/views/rai_manage/components/report_preview/choicenessPre.vue

@@ -28,7 +28,7 @@
           <div class="industry-name">{{ item.ChartPermissionName }}</div>
           <div class="industry-subject">
             <div class="subject-item" @click="positionSubject(key)" v-for="key in item.ListSubject" :key="key.IndustrialSubjectId">
-              <a :href="`#miao${key.IndustrialSubjectId}`">{{ key.SubjectName }}</a>
+              <a :href="`#miao${key.IndustrialSubjectId}${key.SubjectName}`">{{ key.ShowName }}</a>
               <img v-if="key.IsNew" class="icon_subject" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/new_subject.png" />
             </div>
           </div>
@@ -50,8 +50,8 @@
               公司综述报告请
               <span @click="goArticle(it.OverviewArticleId)"> 点击查看 </span>
             </div>
-            <div class="company-label" :id="`miao${it.IndustrialSubjectId}`">
-              <span class="item">{{ it.SubjectName }}</span>
+            <div class="company-label" :id="`miao${it.IndustrialSubjectId}${it.SubjectName}`">
+              <span class="item">{{ it.ShowName }}</span>
               <img v-if="it.IsNew" src="https://hzchart.oss-cn-shanghai.aliyuncs.com/cygx/new_report.png" />
               <span class="item item-subject-name" v-for="val in it.CompanyLabel" :key="val"># {{ val }}</span>
             </div>

+ 3 - 3
src/views/rai_manage/cygxManage/components/lableDlg.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="container lable-add-content">
-    <el-dialog :title="visibleTitle" :visible.sync="showRegularDlg" width="600px" v-dialogDrag :close-on-click-modal="false" :modal-append-to-body="false" center @close="handleClose">
+    <el-dialog :title="visibleTitle" :visible.sync="showRegularDlg" width="700px" v-dialogDrag :close-on-click-modal="false" :modal-append-to-body="false" center @close="handleClose">
       <div v-if="dataRegular.TagType == 1">
         <div v-for="(item, index) in addDataList" :key="index" class="add-name-item">
           <el-autocomplete style="width: 90%" v-model="item.name" clearable :fetch-suggestions="querySearchAsync" @select="tableSelectHandel(item)" placeholder="请输入内容"></el-autocomplete>
@@ -58,7 +58,7 @@ export default {
           : this.dataRegular.TagType == 4
           ? "所有问答系列音频"
           : this.dataRegular.TagType == 5
-          ? "医药-趋势观察 ,科技-产业跟踪 ,智造-产业跟踪 ,消费-月度调研"
+          ? "医药-趋势观察 ,科技-产业跟踪 ,智造-产业跟踪 ,消费-月度调研,策略-每日复盘,固收-债市复盘"
           : "";
       return str;
     },
@@ -164,7 +164,7 @@ export default {
 <style scoped lang="scss">
 .lable-add-content {
   .text-content {
-    width: 487px;
+    width: 620px;
     height: 40px;
     line-height: 40px;
     border-radius: 4px;

+ 38 - 28
src/views/rai_manage/reportManage/tacticsTimeLine.vue

@@ -58,25 +58,10 @@
       </el-col>
     </el-card>
     <!-- 弹框部分 -->
-    <el-dialog
-      :visible.sync="addOfEditDialog"
-      :title="addOfEditText"
-      v-dialogDrag
-      :close-on-click-modal="false"
-      :modal-append-to-body="false"
-      center
-      width="661px"
-      @close="handleClose"
-    >
+    <el-dialog :visible.sync="addOfEditDialog" :title="addOfEditText" v-dialogDrag :close-on-click-modal="false" :modal-append-to-body="false" center width="661px" @close="handleClose">
       <el-form :model="dataForm" :rules="dataRules" ref="ruleForm">
         <el-form-item prop="PublishTime">
-          <el-date-picker
-            type="date"
-            value-format="yyyy-MM-dd"
-            placeholder="请选择日期"
-            v-model="dataForm.PublishTime"
-            style="width: 100%"
-          ></el-date-picker>
+          <el-date-picker type="date" value-format="yyyy-MM-dd" placeholder="请选择日期" v-model="dataForm.PublishTime" style="width: 100%"></el-date-picker>
         </el-form-item>
         <el-form-item prop="Content">
           <div class="fr-wrapper">
@@ -151,20 +136,31 @@ export default {
           },
         },
       },
+      routerType: "",
     };
   },
   mounted() {
     this.getDataList();
   },
+  watch: {
+    "$route.path": {
+      handler(newval) {
+        this.routerType = newval == "/fixedIncomeTimeLine" ? "固收" : "策略";
+      },
+      deep: true,
+      immediate: true,
+    },
+  },
   computed: {},
   methods: {
     // 获取数据
     async getDataList() {
-      const res = await raiInterface.getTacticsTimeLineList({
+      let params = {
         PageSize: this.PageSize,
         CurrentIndex: this.page_no,
         Status: this.statusValue === 0 || this.statusValue === 1 ? this.statusValue : 2,
-      });
+      };
+      const res = this.routerType == "固收" ? await raiInterface.getGushouTimeLineList(params) : await raiInterface.getTacticsTimeLineList(params);
       if (res.Ret === 200) {
         this.total = res.Data.Paging.Totals || 0;
         this.dataTableList = res.Data.List;
@@ -203,9 +199,14 @@ export default {
       this.$refs.ruleForm.validate(async (valid) => {
         if (valid) {
           this.dataForm.Content = this.dataForm.Content.replace(/<p data-f-id=\"pbf\".*?<\/p>/g, "");
-          const res = await raiInterface.tacticsTimeLinePreserveAndPublish({
-            ...this.dataForm,
-          });
+          const res =
+            this.routerType == "固收"
+              ? await raiInterface.gushouTimeLinePreserveAndPublish({
+                  ...this.dataForm,
+                })
+              : await raiInterface.tacticsTimeLinePreserveAndPublish({
+                  ...this.dataForm,
+                });
           if (res.Ret === 200) {
             this.$message.success("操作成功");
             this.handleClose();
@@ -216,7 +217,8 @@ export default {
     },
     // 导出pv uv
     exportPvUv(item) {
-      const url = process.env.API_ROOT + "/cygx/tacticsTimeLine/PvExport?TimeLineId=" + item.TimeLineId + "&" + localStorage.getItem("auth") || "";
+      let urlType = this.routerType == "固收" ? "gushou" : "tactics";
+      const url = process.env.API_ROOT + `/cygx/${urlType}TimeLine/PvExport?TimeLineId=` + item.TimeLineId + "&" + localStorage.getItem("auth") || "";
       return url;
     },
     // 删除
@@ -227,7 +229,10 @@ export default {
         type: "warning",
       })
         .then(async () => {
-          const res = await raiInterface.tacticsTimeLineDelete({ TimeLineId: item.TimeLineId });
+          let params = {
+            TimeLineId: item.TimeLineId,
+          };
+          const res = this.routerType == "固收" ? await raiInterface.gushouTimeLineDelete(params) : await raiInterface.tacticsTimeLineDelete(params);
           if (res.Ret === 200) {
             this.$message.success("删除成功!");
             let page_num = Math.ceil((this.total - 1) / this.PageSize);
@@ -256,7 +261,7 @@ export default {
     },
     // 一键发布/取消发布报告接口
     async tacticsTimeLineAllCancel() {
-      const res = await raiInterface.tacticsTimeLineAllCancel();
+      const res = this.routerType == "固收" ? await raiInterface.gushouTimeLineAllCancel() : await raiInterface.tacticsTimeLineAllCancel();
       if (res.Ret === 200) {
         this.$message.success("操作成功");
       }
@@ -264,9 +269,14 @@ export default {
     },
     // 发布/取消发布报告 显示隐藏
     async tacticsTimeLineCancel(item) {
-      const res = await raiInterface.tacticsTimeLineCancel({
-        TimeLineId: item.TimeLineId,
-      });
+      const res =
+        this.routerType == "固收"
+          ? await raiInterface.gushouTimeLineCancel({
+              TimeLineId: item.TimeLineId,
+            })
+          : await raiInterface.tacticsTimeLineCancel({
+              TimeLineId: item.TimeLineId,
+            });
       if (res.Ret === 200) {
         this.$message.success("操作成功");
       }

+ 3 - 0
src/views/roadshow_manage/compononts/addActivityCellDia.vue

@@ -167,6 +167,9 @@
             hide-area
           ></v-distpicker> -->
           <search-dist-picker 
+            :provinceInfo="formData.roadshowCity[0]"
+            :cityInfo="formData.roadshowCity[1]"
+            :areaInfo="formData.District||''"
             :showArea="isRaiRole"
             @selected="onChangeCity($event,'roadshow')"/>
         </el-form-item>

+ 3 - 13
src/views/roadshow_manage/myCalendar.vue

@@ -582,18 +582,6 @@ export default {
     editActivityHandle(row) {
       this.isRaiEditType ='RaiEdit'
       this.raiEditMatterHandle(row)
-      return
-      const { RsCalendarId,RsCalendarResearcherId,RsMattersId,MatterContent,StartDate,StartTime,EndTime,EndDate } = row;
-      //编辑活动
-      if(!RsMattersId) {
-        this.resubmitData = this.editInfoBack(row,2);
-        this.edit_id = RsCalendarId;
-        this.edit_rs_id = RsCalendarResearcherId;
-        this.isActivityBtnDiaShow = true;
-      } else {
-        //编辑事项
-        this.editMatterHandle({ RsMattersId,StartDate,StartTime,EndDate,EndTime,MatterContent });
-      }
     },
 
     // 删除弹窗取消操作
@@ -691,7 +679,7 @@ export default {
       }
     },
 
-    raiEditMatterHandle({ ActivityType,RoadshowType,RoadshowPlatform,City,Province,CompanyId,CompanyName,ResearcherId,RsCalendarResearcherId,Theme,CooperationName,ActivityCategory,StartDate,EndDate,RsCalendarId,RsMattersId,StartTime,EndTime,MatterContent,EnglishCompany}){
+    raiEditMatterHandle({ ActivityType,RoadshowType,RoadshowPlatform,City,Province,CompanyId,CompanyName,ResearcherId,RsCalendarResearcherId,Theme,CooperationName,ActivityCategory,StartDate,EndDate,RsCalendarId,RsMattersId,StartTime,EndTime,MatterContent,EnglishCompany,District=''}){
         this.sonData = {
                   activityType: ActivityType, // 活动类型
                   roadshowType: RoadshowType, // 路演形式
@@ -706,6 +694,8 @@ export default {
                   meetingTheme: Theme, // 会议主题
                   partnersName: CooperationName, // 合作方名称
                   activityClass: ActivityCategory, // 活动类别
+                  District: District || '',
+
                   selectResearchers: [
                     // 选择的研究员
                     {